Jump to content

shadowsocks-libev как настроить


Recommended Posts

камрады, приветствую )

ставлю Shadowsocks на 2410

столкнулся с пустым файлом /opt/etc/init.d/S22shadowsocks ручками вбил все до "PATH" - не уверен, что на скрине в инструкции путь полностью указан, поделитесь пожалуйста содержимым своего файла  /opt/etc/init.d/S22shadowsocks

заранее спасибо )

Link to comment
Share on other sites

Только что, Sergey Artamonov сказал:

камрады, приветствую )

ставляю Shadowsocks на 2410 по инструкции

Установка Shadowsocks с обходом блокировок на Keenetic / Хабр (habr.com)

столкнулся с пустым файлом /opt/etc/init.d/S22shadowsocks ручками вбил все до "PATH" - не уверен, что на скрине в инструкции путь полностью указан, поделитесь пожалуйста содержимым своего файла  /opt/etc/init.d/S22shadowsocks

заранее спасибо )

сам себе отвечу, нашелся ... https://forum.keenetic.com/topic/3078-обсуждаем-реализацию-на-роутере-goodbyedpi/?do=findComment&comment=76453

Link to comment
Share on other sites

поставил, перегрузился - пропал интернет 😳 

не весь, явно отвалились DNS ... убрал из strartup config строчку про dns override - все ожило, но явно без  Shadowsocks ... как понять, где накосячил ?

Link to comment
Share on other sites

5 часов назад, Sergey Artamonov сказал:

поделитесь пожалуйста содержимым своего файла  /opt/etc/init.d/S22shadowsocks

cat /opt/etc/init.d/S22shadowsocks

#!/bin/sh

ENABLED=yes
PROCS=ss-redir
ARGS="-c /opt/etc/shadowsocks.json"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

[ -z "$(which $PROCS)" ] && exit 0

. /opt/etc/init.d/rc.func

 

Link to comment
Share on other sites

  • 5 months later...
On 2/19/2023 at 3:42 PM, Пихал Метрович said:

 Разобрался, как говориться: "сам себе не поможешь - никто не поможет".

1. Если сервер shadowsocks-прокси "поднят" на сервере VDS и вы хотите использовать свой собственный DNS-сервер на VDS (например, AdGuard Home - в этом случае в настройках DHCP беспроводной и/или проводной сети веб-морды роутера должен быть указан "белый" IP сервера VDS) для обработки запросов DNS, исходящих как от самого роутера (например, если вы скачиваете торренты на внешний жесткий диск, подключенный к роутеру, и хотите зашифровать DNS-запросы до трекера, чтобы они были скрыты от провайдера (очень актуально для любых мобильных ОПСОСов)) - в этом случае ошибка "Could not connect to tracker" (не могу соединиться с трекером) не будет появляться - https://help.keenetic.com/hc/ru/articles/360010482519), так и от всех клиентов локальной сети роутера, необходимо на сервере VDS применить следующие правила iptables, касающиеся пропуска трафика udp, приходящего на 53 порт:

iptables -A INPUT -s 127.0.0.1/32 -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -s "белый"_IP_сервера_VDS/32 -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 53 -j DROP

Этими правилами мы разрешаем роутеру и всем клиентам его локальной сети доступ к DNS-серверу, "поднятому" на VDS и "слушающему" 53 udp-порт - все DNS-запросы (как отправляемые/получаемые самим роутером, так и всеми клиентами его локальной сети) будут отправляться/получаться через прокси, поднятом на роутере - соответственно, при правильной настройке правил iptables на роутере (см. п. 7), такие запросы/ответы будут зашифрованы. Несмотря на то, что сервер DNS, поднятый на VDS, "торчит" наружу глобальной сети, он не общедоступен - последнее правило iptables отбрасывает любой другой udp-трафик, приходящий на 53 udp-порт, кроме трафика, исходящего как от самого роутера, так и от клиентов его локальной сети (такой трафик все равно проходит через роутер).

2. Если вы используете сторонний, рабочий клиентский конфиг shadowsocks-прокси на роутере, настройки которого выдернуты из ссылки вида ss:// (или свой клиентский конфиг shadowsocks-прокси, а собственного DNS-сервера на VDS у вас нет) - укажите в настройках DHCP беспроводной и/или проводной сети веб-морды роутера любой внешний, общедоступный DNS-сервер, например 8.8.8.8 или 1.1.1.1.

3. Далее ставим opkg на роутер и при помощи opkg устанавливаем следующие пакеты:

opkg install nano ipset iptables shadowsocks-libev-ss-redir wget-ssl simple-obfs lscpu curl

4. Корректируем конфиг shadowsocks-прокси (у меня на сервере VDS и на роутере установлен обфусцирующий (запутывающий) tcp-трафик плагин simple-obfs - этот плагин уже не поддерживается сообществом, но прекрасно работает):

nano /opt/etc/shadowsocks.json
{
    "server":"xx.xxx.xx.xx",
    "server_port":443,
    "local_address":"0.0.0.0",
    "local_port":1080,
    "password":"пароль",
    "mode":"tcp_and_udp",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305",
    "no_delay":true,
    "reuse_port":true,
    "workers":число_ядер_процессора_роутера,
    "plugin":"/opt/bin/obfs-local",
    "plugin_opts":"obfs=tls;obfs-host=yandex.ru"
}


Вместо xx.xxx.xx.xx необходимо вписать "белый" IP сервера VDS; число ядер процессора роутера можно определить командой:

lscpu


5. Если вы используете сторонний, рабочий клиентский конфиг shadowsocks-прокси (вытащив параметры сервера из ссылки вида ss:// на сайте по расшифровке кода формата base64), то в большинстве случаев плагин обфускации в таком конфиге не используется:

{
    "server":"xx.xxx.xx.xx",
    "server_port":PORT,
    "local_address":"0.0.0.0",
    "local_port":1080,
    "password":"пароль",
    "mode":"tcp_and_udp",
    "timeout":86400,
    "method":"METHOD",
    "no_delay":true,
    "reuse_port":true,
    "workers":число_ядер_роутера
}

Вместо xx.xxx.xx.xx необходимо вписать IP сервера shadowsocks-прокси, выдернутый из ссылки ss://.
6. Если вместо плагина simple-obfs вы захотите использовать к примеру, плагин v2ray (естественно, он должен быть скачан на ваш сервер VDS и в серверном конфиге shadowsocks-прокси прописаны его опции), то необходимо, предварительно определив архитектуру процессора, скачать его на роутер и отредактировать конфиг shadowsocks-прокси:

lscpu


в выводе данной команды будет указана архитектура процессора, например, в моем случае - mipsle (le - сокращенно от Little Endian).
6.1. Качаем архив под нашу архитектуру:

wget --no-check-certificate https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.2/v2ray-plugin-linux-mips-v1.3.2.tar.gz


6.2. Смотрим, какие файлы присутствуют в архиве:

tar -ztf v2ray-plugin-linux-mips-v1.3.2.tar.gz


6.3. Разархивируем архив (извлекаем только нужный файл плагина):

tar -xvzf v2ray-plugin-linux-mips-v1.3.2.tar.gz v2ray-plugin_linux_mipsle


6.4. Удаляем архив, чтобы он не занимал место во внутренней памяти роутера/на флешке (жестком диске):

rm v2ray-plugin-linux-mips-v1.3.2.tar.gz


6.5. Корректируем конфиг shadowsocks-прокси:

{
    "server":"xx.xxx.xx.xx",
    "server_port":443,
    "local_address":"0.0.0.0",
    "local_port":1080,
    "password":"пароль",
    "mode":"tcp_and_udp",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305",
    "no_delay":true,
    "reuse_port":true,
    "workers":число_ядер_процессора_роутера,
    "plugin":"/opt/root/v2ray-plugin_linux_mipsle"
}


7. Далее создаем файл /opt/etc/ndm/netfilter.d/shadow в одном из 4-х вариантов:
7.1. Заворот всего tcp-трафика на порт локального прокси (поможет при скачивании торрентов встроенной в прошивку роутера торрентокачалкой transmission на внешний жесткий диск/флешку (если ваш провайдер блокирует трафик по протоколу BitTorrent); особенно актуально, если вы используете модем (с сим-картой), вставленный в USB-порт роутера для выхода в интернет), поднятого на роутере, а также DNS-запросов (udp-трафик), исходящих как от клиентов локальной сети роутера, так и от него самого (данный вариант использования приемлем в случае личного сервера shadowsocks-прокси, поднятого на своем VDS; я категорически не рекомендую использовать его для подключения к стороннему серверу по ссылке ss://, ибо неизвестно, что владелец сервера будет делать с вашим трафиком):

nano /opt/etc/ndm/netfilter.d/shadow
#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_TCP-CLIENT)" ]; then
iptables -w -t nat -N SS-REDIR_TCP-CLIENT
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d xx.xxx.xx.xx -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 192.168.1.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 192.168.8.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -p tcp -s 192.168.1.0/24 -j REDIRECT --to-ports 1080
iptables -w -t nat -A PREROUTING -p tcp -j SS-REDIR_TCP-CLIENT
iptables -w -t nat -N SS-REDIR_TCP-ROUTER
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -d xx.xxx.xx.xx -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -d 127.0.0.1 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -p tcp -j REDIRECT --to-ports 1080
iptables -w -t nat -A OUTPUT -p tcp -j SS-REDIR_TCP-ROUTER
fi
if [ -z "$(ip route list table 100)" ]; then
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
fi
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_UDP)" ]; then
insmod /lib/modules/$(uname -r)/xt_TPROXY.ko
iptables -w -t mangle -N SS-REDIR_UDP
iptables -w -t mangle -A SS-REDIR_UDP -p udp --dport 53 -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01
iptables -w -t mangle -A PREROUTING -p udp -j SS-REDIR_UDP
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -u -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0

Внимание, очень важно! Если ваша локальная сеть роутера не 192.168.1.0/24 (а сеть модема, если вы его используете - не 192.168.8.0/24), исправьте адресацию в соответствующих правилах iptables, в противном случае вы потеряете доступ к роутеру/модему! Перезагружаем роутер (возможно, после перезагрузки придется немного подождать, т.к. механизм TPROXY роутера не сразу срабатывает) и проверяем себя на http://2ip.ru - ваш внешний IP должен измениться. Удостовериться, что IP сменился на самом роутере можно командой:

curl ifconfig.me

Проверить, что DNS-запросы шифруются можно на сервере VDS, открыв веб-морду AdGuard Home - DNS-запросы в журнале (в столбце "Клиент") должны исходить только от 127.0.0.1 (сам роутер и его сервисы) и от "белого" IP VDS (клиенты локальной сети роутера).
Если при данном варианте использования у вас не открываются (или открываются, но не дают просматривать контент) некоторые российские ресурсы (типа кинопоиска, авито, десктопные версии сайтов банков и т.п., которые блокируют доступ с подсетей зарубежных (и многих российских) IP VDS), необходимо определить, на какие IP обращается клиент роутера, вводя в строке браузера доменное имя сайта (это можно сделать, например, установив на роутер DNS-сервер AdGuard Home и в журнале просмотреть DNS-запросы конкретного клиента роутера - CIDR, вводя IP ресурса, можно определить, например, здесь - https://2ip.ru/whois/ или посмотреть в журнал AdGuard Home, поднятом на VDS) и пустить трафик до таких подсетей в обход прокси. В этом случае файл shadow будет выглядеть так (пример для кинопоиска и авито):

#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_TCP-CLIENT)" ]; then
iptables -w -t nat -N SS-REDIR_TCP-CLIENT
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d xx.xxx.xx.xx -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 192.168.1.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 192.168.8.0/24 -j RETURN
#kinopoisk
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 213.180.199.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 77.88.21.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 87.250.250.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 87.250.247.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 213.180.204.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 93.158.134.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 87.250.251.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 178.154.131.0/24 -j RETURN
#avito
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 185.89.12.0/23 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 146.158.48.0/21 -j RETURN
#
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -p tcp -s 192.168.1.0/24 -j REDIRECT --to-ports 1080
iptables -w -t nat -A PREROUTING -p tcp -j SS-REDIR_TCP-CLIENT
iptables -w -t nat -N SS-REDIR_TCP-ROUTER
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -d xx.xxx.xx.xx -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -d 127.0.0.1 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -p tcp -j REDIRECT --to-ports 1080
iptables -w -t nat -A OUTPUT -p tcp -j SS-REDIR_TCP-ROUTER
fi
if [ -z "$(ip route list table 100)" ]; then
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
fi
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_UDP)" ]; then
insmod /lib/modules/$(uname -r)/xt_TPROXY.ko
iptables -w -t mangle -N SS-REDIR_UDP
iptables -w -t mangle -A SS-REDIR_UDP -p udp --dport 53 -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01
iptables -w -t mangle -A PREROUTING -p udp -j SS-REDIR_UDP
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -u -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0


7.2. Вариант по п. 7.1, но tcp-трафик самого роутера будет идти напрямую, минуя прокси:

nano /opt/etc/ndm/netfilter.d/shadow
#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_TCP-CLIENT)" ]; then
iptables -w -t nat -N SS-REDIR_TCP-CLIENT
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d xx.xxx.xx.xx -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 192.168.1.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -d 192.168.8.0/24 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-CLIENT -p tcp -s 192.168.1.0/24 -j REDIRECT --to-ports 1080
iptables -w -t nat -A PREROUTING -p tcp -j SS-REDIR_TCP-CLIENT
fi
if [ -z "$(ip route list table 100)" ]; then
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
fi
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_UDP)" ]; then
insmod /lib/modules/$(uname -r)/xt_TPROXY.ko
iptables -w -t mangle -N SS-REDIR_UDP
iptables -w -t mangle -A SS-REDIR_UDP -p udp --dport 53 -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01
iptables -w -t mangle -A PREROUTING -p udp -j SS-REDIR_UDP
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -u -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0


7.3. Направляем tcp-трафик клиентов локальной сети роутера на порт локального прокси только до заблокированных роскомнадзором сайтов (сами сайты прописываем в файле /opt/root/sites) - остальной tcp-трафик идет напрямую, минуя прокси; шифруем запросы DNS, отправляя их на порт локального прокси:

nano /opt/root/sites
rutracker.org
flibusta.is
nano /opt/etc/ndm/netfilter.d/shadow
#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep unblock)" ]; then
ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 1080
fi
if [ -z "$(ip route list table 100)" ]; then
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
fi
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_UDP)" ]; then
insmod /lib/modules/$(uname -r)/xt_TPROXY.ko
iptables -w -t mangle -N SS-REDIR_UDP
iptables -w -t mangle -A SS-REDIR_UDP -p udp --dport 53 -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01
iptables -w -t mangle -A PREROUTING -p udp -j SS-REDIR_UDP
until ping -c1 dns.google >/dev/null 2>&1; do :; done
for i in `cat /opt/root/sites`; do
for j in `nslookup $i | grep -v 127.0.0.1 | awk '/Addr/ {print $3}' | grep -v ":"`; do
ipset -exist add unblock $j
done
done
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -u -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0


7.4. Вариант по п. 7.3, но tcp-трафик самого роутера будет направлен на порт локльного прокси (к примеру, для скачивания торрентов встроенной в прошивку роутера торрентокачалкой transmission):

nano /opt/root/sites
rutracker.org
flibusta.is
nano /opt/etc/ndm/netfilter.d/shadow
#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep unblock)" ]; then
ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 1080
iptables -w -t nat -N SS-REDIR_TCP-ROUTER
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -d xx.xxx.xx.xx -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -d 127.0.0.1 -j RETURN
iptables -w -t nat -A SS-REDIR_TCP-ROUTER -p tcp -j REDIRECT --to-ports 1080
iptables -w -t nat -I OUTPUT -p tcp -j SS-REDIR_TCP-ROUTER
fi
if [ -z "$(ip route list table 100)" ]; then
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
fi
if [ -z "$(iptables-save 2>/dev/null | grep SS-REDIR_UDP)" ]; then
insmod /lib/modules/$(uname -r)/xt_TPROXY.ko
iptables -w -t mangle -N SS-REDIR_UDP
iptables -w -t mangle -A SS-REDIR_UDP -p udp --dport 53 -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01
iptables -w -t mangle -A PREROUTING -p udp -j SS-REDIR_UDP
until ping -c1 dns.google >/dev/null 2>&1; do :; done
for i in `cat /opt/root/sites`; do
for j in `nslookup $i | grep -v 127.0.0.1 | awk '/Addr/ {print $3}' | grep -v ":"`; do
ipset -exist add unblock $j
done
done
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -u -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0

P.S. Отключать FastNAT (hwnat) не нужно, правила iptables для заворота DNS-трафика на порт локального прокси роутера через механизм TPROXY ядра работают без отключения. 

Не рабочая инструкция. Видимо работает только со своим vpn сервером, и проблема в том что в инструкции типа варианты указаны как со своим впн так и со сторонним, а в итоге не работает.

Link to comment
Share on other sites

On 6/17/2022 at 7:08 AM, uneasy said:

Мой вариант настройки shadowsocks на кинетике:

opkg install nano ipset iptables shadowsocks-libev-ss-redir

nano /opt/etc/shadowsocks.json

{
    "server":"SERVER",
    "server_port":PORT,
    "password":"PASSWORD",
    "method":"METHOD",
    "mode":"tcp_and_udp",
    "local_address":"0.0.0.0",
    "local_port":1080,
    "timeout":600
}

nano /opt/etc/ndm/netfilter.d/shadow

#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep unblock)" ]; then
ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 1080
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblock dst -j REDIRECT --to-port 1080
until ping -c1 dns.google >/dev/null 2>&1; do :; done
for i in `cat /opt/root/sites`; do
for j in `nslookup $i | grep -v 127.0.0.1 | awk '/Addr/ {print $3}' | grep -v ":"`; do
ipset -exist add unblock $j
done
done
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0

nano /opt/root/sites

rutracker.org
flibusta.is
tjournal.ru

 

После перезагрузки должно заработать. Получить пароль и метод из ссылки ss:// можно на сайте base64decode.org или с помощью команды:

echo "ss://URL" | grep -oP "(?<=ss://).*?(?=@)" | base64 -d; echo

 

Спасибо! вариант рабочий, с первого раза все завелось!

Link to comment
Share on other sites

  • 4 weeks later...
В 01.04.2023 в 04:54, uneasy сказал:

Обновленный вариант настройки shadowsocks, с использованием списка заблокированных IP.

Устанавливаем необходимые пакеты:

opkg update; opkg upgrade; opkg install nano cron ipset iptables wget-ssl ca-bundle shadowsocks-libev-ss-redir

Редактируем нужные файлы:

nano /opt/etc/init.d/S52unblock

#!/bin/sh
ipset -exist create unblock hash:net
for i in `cat /opt/root/allyouneed.lst`; do ipset -exist add unblock $i; done
for i in `cat /opt/root/community.lst`; do ipset -exist add unblock $i; done
for i in `grep -v ^# /opt/root/exceptions`; do ipset del unblock $i; done
for i in `grep -v ^# /opt/root/sites`; do
for j in `nslookup $i | grep -v 127.0.0.1 | awk '/Addr/ {print $3}' | grep -v :`; do ipset -exist add unblock $j; done
done

nano /opt/etc/cron.daily/unblock_daily

#!/bin/sh
wget -O /opt/root/allyouneed.lst https://antifilter.download/list/allyouneed.lst
wget -O /opt/root/community.lst https://community.antifilter.download/list/community.lst
ipset flush unblock
/opt/etc/init.d/S52unblock

nano /opt/etc/ndm/netfilter.d/unblock_netfilter

#!/bin/sh
if [ -z "$(iptables-save | grep unblock)" ]; then
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 1080
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -s SERVER -p PORT -k PASSWORD -m METHOD -b 0.0.0.0 -l 1080 -t 600 -f /opt/var/run/ss-redir.pid
fi

Тут SERVER, PORT, PASSWORD и METHOD нужно поменять на свои.

Также можно добавить сайты, которых нет в списке antifilter:

nano /opt/root/sites

# comments
spotify.com

Также, в случае проблем, можно добавить какую-либо подсеть в исключения, чтобы соединение шло напрямую, минуя shadowsocks. Ниже я добавляю таким образом подсеть сайта iptvin.ru, которая попала в список antifilter, но у меня отказывается работать через мой сервер shadowsocks:

nano /opt/root/exceptions

# iptvin.ru
92.125.33.0/24

Даем файлам права на запуск:

chmod +x /opt/etc/init.d/S52unblock
chmod +x /opt/etc/cron.daily/unblock_daily
chmod +x /opt/etc/ndm/netfilter.d/unblock_netfilter

Один раз вручную скачиваем списки IP, чтобы они были при запуске роутера:

wget -O /opt/root/allyouneed.lst https://antifilter.download/list/allyouneed.lst
wget -O /opt/root/community.lst https://community.antifilter.download/list/community.lst

Перезагружаем роутер. Все должно заработать через пару минут после перезагрузки (ipset строится какое-то время, в списке много IP).

Дополнительно, на случай подмены провайдером IP адресов заблокированных сайтов, очень желательно настроить на роутере шифрование DNS запросов:

https://help.keenetic.com/hc/ru/articles/360007687159

Ламерский вопрос, так как настроил первый раз. А список добавленных сайтов очищается или копится постоянно? Вот к примеру я полностью отключил community.lst, уберутся ли из ipset эти сайты? или он составляет список каждую перезагрузку роутера заново?

Link to comment
Share on other sites

15 часов назад, mcmag сказал:

Ламерский вопрос, так как настроил первый раз. А список добавленных сайтов очищается или копится постоянно? Вот к примеру я полностью отключил community.lst, уберутся ли из ipset эти сайты? или он составляет список каждую перезагрузку роутера заново?

Каждую перезагрузку создается по новой и при выполнении ежедневного задания из крона после скачивания свежих версий списки unblock удаляются и создаются заново на основе свежескаченных данных.

  • Thanks 1
Link to comment
Share on other sites

21 hours ago, mcmag said:

Ламерский вопрос, так как настроил первый раз. А список добавленных сайтов очищается или копится постоянно? Вот к примеру я полностью отключил community.lst, уберутся ли из ipset эти сайты? или он составляет список каждую перезагрузку роутера заново?

Команда ipset flush unblock из unblock_daily очищает список ежедневно ночью, после чего он заново пересоздается с уже новыми настройками. Если вы убрали все упоминания community.lst, то этих айпишников больше в списке не будет. Ну и перезагрузка тоже чистит ipset.

Edited by uneasy
  • Thanks 1
Link to comment
Share on other sites

В 01.04.2023 в 20:28, Пихал Метрович сказал:

Кстати, shadowsocks-rust, собранный под архитектуру mips, нормально работает на сабже (запускал вместе с плагином обфускации трафика simle-tls, собранного также под mips-архитектуру; архивы бинарников можно скачать на гитхабе). Команда на запуск transparent proxy (редирект tcp и udp-трафика (DNS-запросы)):

Дайте плз направление как найти shadowsocks-rust на нашу платформу, поискал, не получается. Нашел только что mips удалили из релиза..

PS: Нашелся shadowsocks-rust в v1.17.1 а потом в более свежих уже нету...

Edited by Jabber
Link to comment
Share on other sites

  • 3 weeks later...

Сегодня, после обновления кинетика до версии 4.1.2 все перестало работать, пробовал по новой все сделать, результат нулевой

Link to comment
Share on other sites

В 17.06.2022 в 00:08, uneasy сказал:

Мой вариант настройки shadowsocks на кинетике:

opkg install nano ipset iptables shadowsocks-libev-ss-redir

nano /opt/etc/shadowsocks.json

{
    "server":"SERVER",
    "server_port":PORT,
    "password":"PASSWORD",
    "method":"METHOD",
    "mode":"tcp_and_udp",
    "local_address":"0.0.0.0",
    "local_port":1080,
    "timeout":600
}

nano /opt/etc/ndm/netfilter.d/shadow

#!/bin/sh
if [ -z "$(iptables-save 2>/dev/null | grep unblock)" ]; then
ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 1080
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblock dst -j REDIRECT --to-port 1080
until ping -c1 dns.google >/dev/null 2>&1; do :; done
for i in `cat /opt/root/sites`; do
for j in `nslookup $i | grep -v 127.0.0.1 | awk '/Addr/ {print $3}' | grep -v ":"`; do
ipset -exist add unblock $j
done
done
fi
if [ -z "$(ps | grep -v grep | grep ss-redir)" ]; then
ss-redir -c /opt/etc/shadowsocks.json -f /opt/var/run/ss-redir.pid
fi
exit 0

nano /opt/root/sites

rutracker.org
flibusta.is
tjournal.ru

 

После перезагрузки должно заработать. Получить пароль и метод из ссылки ss:// можно на сайте base64decode.org или с помощью команды:

echo "ss://URL" | grep -oP "(?<=ss://).*?(?=@)" | base64 -d; echo

 

Удивительно лаконичный рабочий вариант. Я далёк от этой сферы, но гармоничные рабочие решения завёрнутые в краткий гайд приводят в восторг.

Однако, не смог победить инстаграм - какие адреса не добавлял в sites, всё равно что-то упускаешь и не работает. Хочу спросить у разбирающихся в теме - есть какой-то софт, который мог бы собирать IP, CIDR или диапазоны по той же инсте, чтобы добавить их для обхода? Находил ссылку с антифильтра.нетворк на список адресов компании мета (https://github.com/SecOps-Institute/FacebookIPLists), но при добавлении в sites рабочего результата не получилось.

Попробовал вариант мануала 2.0 со списками с антифильтра.даунлоад, всё отлично работает, но лупят по огромному количеству сайтов. А учитывая что работа из дома и через vpn, от варианта отказался из-за возможных конфликтов.

Link to comment
Share on other sites

5 hours ago, fcss said:

Удивительно лаконичный рабочий вариант. Я далёк от этой сферы, но гармоничные рабочие решения завёрнутые в краткий гайд приводят в восторг.

Однако, не смог победить инстаграм - какие адреса не добавлял в sites, всё равно что-то упускаешь и не работает. Хочу спросить у разбирающихся в теме - есть какой-то софт, который мог бы собирать IP, CIDR или диапазоны по той же инсте, чтобы добавить их для обхода? Находил ссылку с антифильтра.нетворк на список адресов компании мета (https://github.com/SecOps-Institute/FacebookIPLists), но при добавлении в sites рабочего результата не получилось.

Попробовал вариант мануала 2.0 со списками с антифильтра.даунлоад, всё отлично работает, но лупят по огромному количеству сайтов. А учитывая что работа из дома и через vpn, от варианта отказался из-за возможных конфликтов.

Да, я тоже люблю лаконичные решения, иногда даже чересчур увлекаюсь, и режу даже то, что не стоит :) А с инстаграмом вы замучаетесь. Я твиттер так и не смог победить - облазил весь интернет в поисках правильного списка адресов, но так и не заработало на 100% - то видео через неделю отвалится, то еще что-нибудь. Поэтому то antifilter и лупят по площадям, сразу подсетями (и добавляют даже то, что и не заблокировано). На самом деле даже c antifilter иногда сталкиваешься с проблемами, поскольку нужный адрес не успели даже в community добавить. Несколько месяцев назад у меня фейсбук перестал нормально открываться. Обновил вне расписания список community - заработало. В будущем есть у меня идея разобраться с V2Ray / XRay, там есть база geoip / geosite, которую можно использовать для выборочного обхода блокировок. В конфигурационном файле просто прописывается что-то типа "geosite:instagram", и все должно работать. Теоретически, наверно эту базу можно и к моему скрипту прикрутить, но пока лень :)

Edited by uneasy
Link to comment
Share on other sites

Кстати, хотел еще добавить, что "ковровый" обход блокировок с использованием antifilter чреват еще одной проблемой: теоретически можно выхватить бан за попытку обхода региональных ограничений от сервисов, еще работающих в России. Так например, я заметил, что у меня стал медленно грузиться и выдавать странные сообщения Steam, из чего я сделал вывод, что какие-то из IP адресов, используемых Стимом, попали в список antifilter. Это меня напрягло, поскольку баны за попытку обхода домашнего региона там не редкость. Решил я проблему для себя следующим образом: модифицировал свой скрипт на использование WARP, который предоставляет пользователю российский IP. Тормоза и странные сообщения в Стиме пропали. Совпадение? Не думаю! :) Хотя, может и совпадение. Но, по хорошему, при использовании сервера, находящегося за границей, более гибкая настройка обхода необходима.

Link to comment
Share on other sites

  • 3 weeks later...

А ткните пожалуйста, если таковой имеется, в метод как поднять ss и завернуть в него целиком трафик для выбранных устройств. Ну то есть по типу обычного wg.

Link to comment
Share on other sites

  • 2 weeks later...
В 22.03.2024 в 19:58, uneasy сказал:

Так например, я заметил, что у меня стал медленно грузиться и выдавать странные сообщения Steam, из чего я сделал вывод, что какие-то из IP адресов, используемых Стимом, попали в список antifilter

у меня таких проблем нет, хотя опять же я использую только списки subnet и ipsum, их вполне хватает и нет таких проблем с ошибочными сайтами

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...