bol-van / zapret

DPI bypass multi platform
5.97k stars 516 forks source link

Ограниченное пространство в размере 88КБ #402

Open dwnmf opened 4 days ago

dwnmf commented 4 days ago

Я можно сказать в безвыходной ситуации и zapret на wr841nd ver9.2 не уместится Скажите вот этот кусок букв сможет ли заменить какой-либо функционал? Благодарю за любые комментарии.

!/bin/ash

Функция для обработки DNS-запросов

handle_dns() { while read -r req; do echo "$req" | od -t x1 -A n | tr -d ' \n' | \ xxd -r -p | nc -u 1.1.1.1 53 | od -t x1 -A n | tr -d ' \n' | \ xxd -r -p done < /dev/udp/5353 > /dev/udp/5353 }

Функция для модификации TLS Client Hello

modify_tls() { while read p; do if echo "$p" | grep -q "^\x16\3\1"; then echo "$p" | dd bs=1 count=51 2>/dev/null dd if=/dev/urandom bs=1 count=32 2>/dev/null echo "$p" | dd bs=1 skip=83 2>/dev/null else echo "$p" fi done }

Функция для модификации HTTP-заголовков

modify_http() { while IFS= read -r line; do if echo "$line" | grep -qi "^server:"; then echo "Server: Apache" elif echo "$line" | grep -qi "^user-agent:"; then echo "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" else echo "$line" fi done }

Настройка iptables

setup_iptables() {

Очистка существующих правил

iptables -F iptables -t nat -F iptables -t mangle -F

Настройка PREROUTING

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 5353 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

Настройка POSTROUTING

iptables -t mangle -A POSTROUTING -p tcp -j TCPMSS --set-mss 1300 iptables -t mangle -A POSTROUTING -j TTL --ttl-set $(od -An -N2 -i /dev/urandom) }

Основная функция

main() {

Настройка iptables

setup_iptables

Запуск обработчиков

handle_dns & nc -l -p 8080 | modify_http | nc 127.0.0.1 80 & nc -l -p 8443 | modify_tls | nc 127.0.0.1 443 &

Ожидание завершения (которое не должно произойти)

wait }

Запуск основной функции

main

Инструкции по установке:

1. Сохраните этот скрипт как /root/dpi_bypass.sh на вашем роутере с OpenWRT.

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

opkg update

opkg install iptables-mod-nfqueue

3. Сделайте скрипт исполняемым:

chmod +x /root/dpi_bypass.sh

4. Добавьте скрипт в автозагрузку, добавив следующую строку в /etc/rc.local перед "exit 0":

/root/dpi_bypass.sh &

5. Перезагрузите роутер или запустите скрипт вручную:

/root/dpi_bypass.sh

ptipti23 commented 4 days ago

ООО, поздравляю вас с устройством, у которого 4 мегабайта флешка. В своё время, мне туда даже PHP не получилось установить. Ладно, не будем умничать. Места там реально очень мало. Официально написано, что последняя версия OpenWRT 15... https://openwrt.org/ru/toh/tp-link/tl-wr841nd Реально последняя версия, которое поддерживает 32/4 - 19. Но надо смотреть и собирать самому. Почитайте про Image Builder и минимальный набор нужных пакетов. Но там будет только "чёрное". И максимум 700 Кб. Наверное, даже просто nfqws не встанет. Лично мне с него удалось добиться 1.1 мегабайта свободного места, но там нет вообще ничего, он только является точкой доступа Wi-Fi даже без DHCP.

Если ищете маршрутизатор, сейчас появились Archer A6 - это точная копия Archer C6 V2. Стоят не очень дорого. Новые C6 стали V4 и это полный шлак.

dwnmf commented 4 days ago

Но что же попробую, то что вы предложили. Благодарю за совет

JasperRus commented 3 days ago

Но что же это за эксперимент, то, что вы предложили. Благодарю за совет

Могу еще посоветовать роутер xiaomi mi 4c, стоит копейки. Там 9мб свободного пространства. После установки zapret остается около 5,5мб.

ValdikSS commented 3 days ago

Напишите скрипт, который скачивает nfqws/tpws (что вам нужно) в /tmp при каждом запуске, и всё.

ptipti23 commented 3 days ago

на 16 метрах ОЗУ... Фантастика...

Напишите скрипт, который скачивает nfqws/tpws (что вам нужно) в /tmp при каждом запуске, и всё.

на 16 метрах ОЗУ... Фантастика...

NewUse commented 1 day ago

недавно собирал twps под аналогичный деваис(741nd v1 и v4) на 17 ой версии, сделал пакет, с конфигурацией через uci, постараюсь допилить web-модуль для luci, пока наработки с автозапуском и конфигурацией фаерволл в PR: https://github.com/bol-van/zapret/pull/413