Обход блокировок на OpenWRT с помощью HomeProxy (sing-box)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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).

Источник: https://habr.com/ru/articles/760622/


Интересные статьи

Интересные статьи

О себеПривет, Хабр! Я Тимлид/Архитектор в компании Монитор Софт. В прошлом C++ разработчик, сейчас все еще удается иногда выходить в поля)). Хочу поделиться нашим опытом использования Conan. С момента...
Обычное использование httr2 — это создание обёртки над каким нибудь API и предоставление его в виде R пакета, в котором каждая конечная точка API (то есть URL-адрес с параметрами) становится функцией....
Вы, наверное, подумаете — ну вот еще один тренд дизайна? Разве они у нас не каждый год появляются или около того?В прошлом году мы познакомились с нейморфизмом, который д...
В прошлой статье я описал алгоритм, позволяющий строить более интересные (в противовес более коротким, как делают всякие яндексы-гуглы) пешеходные маршруты между двумя точками. Алгоритм загружал ...
10 апреля 2019 года GitHub без объявления войны удалил репозиторий популярной утилиты GoodByeDPI, предназначенной для обхода государственных блокировок (цензуры) сайтов в Интернете. Что т...