HomeProxy или luci-app-homeproxy это часть проекта ImmortalWRT, графическая надстройка для sing-box позволяющая настроить подключение к shadowsocks, xray, vless, vmess, trojan.

В данной статье будет рассматриваться установка luci-app-homeproxy на OpenWRT 23.05.0-rc3 (поддерживаются версии 23.05.0 или SNAPSHOT).

Можно использовать как чистую версию OpenWRT так и от проекта ImmortalWRT.

Потребуется роутер со свободными 30 Мб памяти и минимум 256 Мб ОЗУ (Работающий HomeProxy занимает от 70Мб ОЗУ).

Оглавление:

  • 1. Установка luci-app-homeproxy

  • 2. Настройка homeproxy

1. Установка luci-app-homeproxy

Для установки сначала необходимо добавить дополнительные репозитории от проекта ImmortalWRT (если вы используете сборку от ImmortalWRT этот шаг пропускаем)

VERSION_ID=$(grep "VERSION_ID" /etc/os-release | awk -F '"' '{print $2}')
ARCH=$(grep "OPENWRT_ARCH" /etc/os-release | awk -F '"' '{print $2}')
sed -i 's/option check_signature/# option check_signature/g' /etc/opkg.conf
echo "src/gz immortalwrt_routing https://downloads.immortalwrt.org/releases/$VERSION_ID/packages/$ARCH/routing" >> /etc/opkg/customfeeds.conf
echo "src/gz immortalwrt_packages https://downloads.immortalwrt.org/releases/$VERSION_ID/packages/$ARCH/packages" >> /etc/opkg/customfeeds.conf
echo "src/gz immortalwrt_luci https://downloads.immortalwrt.org/releases/$VERSION_ID/packages/$ARCH/luci" >> /etc/opkg/customfeeds.conf
echo "src/gz immortalwrt_base https://downloads.immortalwrt.org/releases/$VERSION_ID/packages/$ARCH/base" >> /etc/opkg/customfeeds.conf

После чего обновляем список пакетов и устанавливаем luci-app-homeproxy

opkg update
opkg install luci-app-homeproxy

Если установка прошла успешно, переходим к настройке.

2. Настройка Homeproxy

Переходим в раздел Службы - Homeproxy

Сперва нужно добавить сервер, для этого переходим во вкладку Node Settings

Нажимаем Import share links и добавляем конфигурацию shadowsocks (outline), vless, trojan или иную.

После добавления нажимаем Импорт

Применяем изменения.

В качестве Main Node выбираем добавленный сервер.

DNS сервер на ваше усмотрение.

Routing Mode — Global (работу обхода блокировок в РФ по GFWList не проверял, теоретически это список большинства заблокированных в Китае и теперь в РФ ресурсов).

Routing Ports — All Ports, если хотите перенаправлять все порты в Main Node или Common ports only (порты до 1024, всё что выше будет идти через шлюз по умолчанию).

Proxy Mode — Redirect TCP (перенаправление только TCP трафика, согласно правилам Homeproxy, а не основного firewall).

Redirect TCP + TProxy UDP тоже самое + проксирование UDP трафика через прокси.

Redirect TCP + Tun UDP как Redirect TCP + TProxy UDP, но UDP трафик идёт через интерфейс singtun и регулируется основными правилами firewall.

Tun TCP/UDP — весь трафик регулируется правилами firewall, этот вариант выбирал я, чтобы использовать его с BGP.

Поддержка IPv6 — по умолчанию выключена, при включении могут быть сложности с обходом блокировок, т.к. списки BGP и Access List в первую очередь ориентированы на IPv4, поэтому включайте на своё усмотрение.

ВПри выборе Tun TCP/UDP появится пункт Main UDP Node — UDP трафик можно направлять в тот же нод (Same as main node), в другой из списка или направлять в шлюз по умолчанию (Отключить).

Если вы выбрали что‑то кроме Tun TCP/UDP тогда нужно настроить Access Control, переходим туда.

Здесь настраивается входной и выходной интерфейс, по умолчанию остаётся пустым и определяется автоматически

Proxy filter mode — имеет опции:

Proxy listed only — проксирует трафик только для IP/MAC из списка.

Proxy all except listed — проксирует трафик для всех, кроме IP/MAC из списка.

Gaming mode IPv4/MAC — не проксирует UDP трафик для выбранных устройств.

Global Proxy IPv4/MAC — проксирует весь трафик для выбранных устройств.

Диапазоны адресов для WAN для проксирования (Proxy IPv4 IP-s) / направления в шлюз по умолчанию (Direct IPv4 IP-s).

В Proxy Domain List и Direct Domain List можно скопировать списки адресов для проксирования (Proxy IPv4 IP‑s) / направления в шлюз по умолчанию (Direct IPv4 IP‑s).

Сохраняем, Применяем изменения.

Статус HomeProxy должен измениться на RUNNING

Проверить статус работы и логи, а также подключение к Baidu и Google можно во вкладке Статус Службы.

Если вы выбрали Tun TCP/UDP необходимо перейти в раздел Сеть - Межсетевой Экран -

Добавить новый интерфейс.

Выбрать Протокол неуправляемый, из списка устройств singtun0, присвоить название, например Proxy и Создать интерфейс.

После чего перейти в настройки интерфейса singtun0 (Изменить)

Настройки межсетевого экрана — wan (или нужный вам вариант).

На этом основная настройка окончена.

Для настройки BGP рекомендую материал Точечный обход блокировок на роутере OpenWrt c помощью BGP / Хабр (habr.com) С помощью BGP (bird2).

Комментарии (3)


  1. NutsUnderline
    14.09.2023 07:46

    Очередная сборка WRT с ... и ... Например с встроенным намертво GFWList 


    1. Andrevich Автор
      14.09.2023 07:46

      А вы бы какое решение посоветовали?


      1. NutsUnderline
        14.09.2023 07:46
        +1

        Я на на самом деле с интересом загуглил сайт проекта посмотреть че такое и чем отличается от. Там не написано, но декларативно заявлено "для решения наших целей", патчей - множество. с одной стороны - любопытно, с дургой стороны - почему в основную ветку не приняли. Ну и China гвоздями прибит в интерфейс, т.е нет просто списков а есть китайские списки..