-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ограниченное пространство в размере 88КБ #402
Comments
ООО, поздравляю вас с устройством, у которого 4 мегабайта флешка. В своё время, мне туда даже PHP не получилось установить. Ладно, не будем умничать. Места там реально очень мало. Официально написано, что последняя версия OpenWRT 15... https://openwrt.org/ru/toh/tp-link/tl-wr841nd Если ищете маршрутизатор, сейчас появились Archer A6 - это точная копия Archer C6 V2. Стоят не очень дорого. Новые C6 стали V4 и это полный шлак. |
Но что же попробую, то что вы предложили. Благодарю за совет |
Могу еще посоветовать роутер xiaomi mi 4c, стоит копейки. Там 9мб свободного пространства. После установки zapret остается около 5,5мб. |
Напишите скрипт, который скачивает nfqws/tpws (что вам нужно) в /tmp при каждом запуске, и всё. |
на 16 метрах ОЗУ... Фантастика...
на 16 метрах ОЗУ... Фантастика... |
Я можно сказать в безвыходной ситуации и 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
The text was updated successfully, but these errors were encountered: