Updated

gSpot
2023-08-24 19:42:29 +03:00
parent fbc704dd96
commit f8534c572f
@@ -0,0 +1,81 @@
Сервис [Outline](https://outline.network) даёт возможность использовать бесплатные прокси-серверы Shadowsocks. В OpenWrt можно настроить обход блокировок с помощью shadowsocks-libev и ruantiblock (в конфигурации прозрачного прокси). Это неплохой вариант в ситуации когда необходим обход блокировок, но нет возможности (или желания) оплачивать подписку на VPN-сервис или поднимать собственный сервер на зарубежном хостинге. Также, это хорошая альтернатива использованию Tor в качестве прокси. Представленная далее инструкция предлагает применение утилиты [ss_checker](https://github.com/gSpotx2f/ss_checker) для декодирования параметров сервера из URL-ключа, а также для проверки доступности самого прокси-сервера Shadowsocks.
**1. Установка shadowsocks-libev:**
opkg install shadowsocks-libev-ss-local shadowsocks-libev-ss-redir shadowsocks-libev-ss-rules shadowsocks-libev-ss-tunnel shadowsocks-libev-config
**2. Установка приложения для web-интерфейса luci-app-shadowsocks-libev:**
opkg install luci-app-shadowsocks-libev
**3. Установка ss_checker:**
opkg update
wget --no-check-certificate -O /tmp/ss_checker_1.0-0_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/ss_checker_1.0-0_all.ipk
opkg install /tmp/ss_checker_1.0-0_all.ipk
rm /tmp/ss_checker_1.0-0_all.ipk
**4. Выбор сервера Outline:**
На странице [https://outline.network/servers/](https://outline.network/servers/) нужно выбрать страну, далее выбрать сервер (Access key). На странице сервера скопировать URL-ключ (Outline Access key) вида `ss://...`.
**5. Автоматическая настройка shadowsocks-libev с помощью скрипта ss_set_server.sh:**
Даже если на сайте Outline сервер помечен как стабильный (stable), в реальности он может быть недоступен. Поэтому его необходимо проверить. Для этого удобно использовать ss_checker, передав аргументом URL-ключ Shadowsocks сервера (`ss://...`) (в кавычках ""!):
ss_checker "ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpDb2VhZzVGcmlobXhCVWwxVVo0aG0x@ak1834.www.outline.network.fr8678825324247b8176d59f83c30bd94d23d2e3ac5cd4a743bkwqeikvdyufr.cyou:443#www.outline.network%20(NL)"
В выводе утилиты будет информация о проверке доступности сервера (OK или FAILED), а также декодированные параметры сервера для клиента Shadowsocks. Их нужно использовать при создании нового удалённого сервера на странице службы Shadowsocks-libev в веб-интерфейсе LuCI, либо при настройке через UCI (в консоли).
Для автоматизации настройки в пакете ss_checker есть скрипт `ss_set_server.sh`, который выполнит настройку shadowsocks-libev для указанного вами сервера. Скрипт сначала вызывает ss_checker для проверки сервера, и если он доступен, выполняет настройку через UCI и после перезапускает службу shadowsocks-libev. Запуск:
ss_set_server.sh "ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpDb2VhZzVGcmlobXhCVWwxVVo0aG0x@ak1834.www.outline.network.fr8678825324247b8176d59f83c30bd94d23d2e3ac5cd4a743bkwqeikvdyufr.cyou:443#www.outline.network%20(NL)"
**6. Настройка ruantiblock, конфигурация прозрачного прокси:**
uci set ruantiblock.config.proxy_mode="3"
uci set ruantiblock.config.t_proxy_port_tcp="1100"
uci commit ruantiblock
/etc/init.d/ruantiblock restart
## Дополнительно. Ручная настройка shadowsocks-libev через UCI:
**1.1 Добавление сервера вручную (с известными заранее параметрами):**
uci set shadowsocks-libev.current="server"
uci set shadowsocks-libev.current.server="<server>"
uci set shadowsocks-libev.current.server_port="<server_port>"
uci set shadowsocks-libev.current.method="<method>"
uci set shadowsocks-libev.current.password="<password>"
где значения в `<...>` необходимо заменить параметрами вашего Shadowsocks сервера.
**1.2 Добавление сервера с помощью ss_checker (из URL-ключа с декодированием параметров и проверкой доступности сервера):**
eval `ss_checker "ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpDb2VhZzVGcmlobXhCVWwxVVo0aG0x@ak1834.www.outline.network.fr8678825324247b8176d59f83c30bd94d23d2e3ac5cd4a743bkwqeikvdyufr.cyou:443#www.outline.network%20(NL)" | awk -F ":\t*" '{if(NR < 3) next; printf $1 "=\"" $2 "\";"}'`
uci batch << EOI
set shadowsocks-libev.current="server"
set shadowsocks-libev.current.server="$server"
set shadowsocks-libev.current.server_port="$server_port"
set shadowsocks-libev.current.method="$method"
set shadowsocks-libev.current.password="$password"
EOI
где URL-ключ (`ss://...`), передаваемый аргументом ss_checker, нужно заменить на свой.
**2. Привязка сервера к ss-redir (к экземпляру ss_redir.hi):**
uci batch << EOI
set shadowsocks-libev.hi.local_address="0.0.0.0"
set shadowsocks-libev.hi.local_port="1100"
set shadowsocks-libev.hi.server="current"
set shadowsocks-libev.hi.disabled="0"
EOI
**3. Применение конфигурации и перезапуск shadowsocks-libev:**
uci set shadowsocks-libev.ss_rules.disabled="1"
uci commit shadowsocks-libev
/etc/init.d/shadowsocks-libev restart
/etc/init.d/shadowsocks-libev enable