Coder Social home page Coder Social logo

Comments (13)

bol-van avatar bol-van commented on May 17, 2024 1

ebkjiud, можно попробовать комбинацию методов через tpws. Они почти все могут быть применены одновременно. Если не работает ничего, то тогда действительно придется проксировать.
Глянь https.txt.
У меня протестированы и работают 2 метода : через соксификатор и через vpn с policy routing.

Главное чтобы на openwrt было как минимум 8 мб flash или extroot. Если 4 мб и нет USB, то можно даже не думать. Ничего не влезет. А на 32 мб памяти вполне успешно у меня работают и tpws, и соксификатор, и openssh. Если все сделать аккуратно - будет норм

from zapret.

bol-van avatar bol-van commented on May 17, 2024

В ридмях же все написано.
Вручную запустить nfqws. Он выдает сообщения по факту произведенной замены.
Может быть ipset zapret пустой.

from zapret.

fedya avatar fedya commented on May 17, 2024

root@OpenWrt:~# /etc/init.d/zapret start
Creating ipset
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip.txt
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip-user.txt
Adding to ipset ipban : /opt/zapret/ipset/zapret-ip-user-ipban.txt
Starting /opt/zapret/nfq/nfqws

дальше вижу такое

opening library handle
unbinding existing nf_queue handler for AF_INET (if any)
binding nfnetlink_queue as nf_queue handler for AF_INET
binding this socket to queue '200'
setting copy_packet mode

Пытаюсь открыть rutracker.org
и вижу страницу заглушку
http://blackhole.beeline.ru

В логе ничего нет.

from zapret.

fedya avatar fedya commented on May 17, 2024

UPD

Получилось.
почему-то правила файрволла юзеркие не применились при старте.

packet: id=1 len=60
packet: id=2 len=60
packet: id=3 len=60
packet: id=4 len=40
packet: id=5 len=40
packet: id=6 len=40
packet: id=7 len=435
modifying Host: => HOST:
packet: id=8 len=40
packet: id=9 len=706
modifying Host: => HOST:
packet: id=10 len=40

from zapret.

bol-van avatar bol-van commented on May 17, 2024

Init скрипт не занимается применением iptables.
Это делает фаервол fw3.
Init скрипт меняет только настройку в /etc/config/firewall чтобы /etc/firewall.user запускалось не
только при fw3 restart, но и при fw3 reload.
Если в firewall.user рекомендованное содержимое из firewall.user.beeline, то должно срабатывать. Там нет ничего, что могло бы вызвать ошибку. Разве что очень старая версия iptables, где нет ключа "-C".

from zapret.

bol-van avatar bol-van commented on May 17, 2024

А нет, может быть один момент с ошибкой.
Он случается если фаервол применяется до старта /etc/init.d/zapret, который создает ipset.
Если ipset-а еще нет , то будет ошибка.
Поэтому я сделал в zapret START=18, когда как у firewall START=19.
Но кто знает, может они выполняются асинхронно ? Вроде не должны, иначе зачем START sequence number. Да и у себя таких проблем никогда не встречал ни на 1 роутере.

/etc/init.d/zapret enable
было сделано ?
это включает автостарт. если автостарта нет, то при загрузке фаервол не приментся из-за ошибки ipset

from zapret.

ebkjiud avatar ebkjiud commented on May 17, 2024

Решил попробовать все возможные способы на себе. Провайдер westcall СПБ (север города). Ряд ip полностью блокируются. DPI обход с точкой в конце оказался единственным рабочим для меня описанным трюком (найденный мною). При этом ряд заблокированных ресурсов возвращают 403 ошибку (в частности pornhub - протестирован). Еще не мало удивительное наблюдение: обнаружился ресурс, который блокировался - моим провайдером, трюк с точкой позволяет обойти, но далее трафик улетал на прозрачный squid ТТК. Который я честно уже не знаю как обойти (drop первого пакета по строке совпадения, drop RST пакетов приводят к долгому SYN и RST с моей стороны, не более). Как результат всех испытаний, имеется ряд сайтов которые обходить возможно через точку, остальное необходимо пропускать через VPN и PROXY. Буду благодарен, если кто подскажет, как автоматизировать - чтобы заблокированные ресурсы по ip шли через VPN/PROXY и сайты приводящие к squid ТТК, так же шли по VPN/PROXY. (Железка не мощная openwrt 15 400Mhz 32mb Hynix).

from zapret.

ebkjiud avatar ebkjiud commented on May 17, 2024

bol-van, да я совмещал все возможные твики для обхода DPI (только "точка" мой провайдер позволяет обходит, а второй тот что после в squid прозрачный кидает - никак обойти не удалось) - то есть часть трафика к некоторым ресурсам мой провайдер пропускает через прозрачный squid другого провайдера. OpenWRT TP-Link TL-WR1043N/ND v1, swap на флэшке и extroot (USB2.0). Хотелось бы бесплатное решение позволяющее автоматически определить блокировку по IP и блокировку вторым провайдером (squid). Пока особо не могу придумать в голове другие мысли. (Самое простое приходит на ум сделать скриптик из доменов собирать список ip адресов, ручками пополнять их ряды и пропускать их правилом iptables выше вашего решения [с обходом через точку]).

from zapret.

bol-van avatar bol-van commented on May 17, 2024

squid это значит, что соединения из списка заблокированных IP заворачиваются на прокси. Совершенно логично, что от этого не помогают никакие методы, связанные с фрагментацией, да и трюки скуид наверняка распознает надежно в отличие от на коленке составленых regexp для DPI.
Поэтому раз используется там список IP, то и мы должны его использовать.
В моем решении применяется ipset. Вот по нему и надо прозрачно заворачивать соединения куда-нибудь. ipset подтягивается по крону, можно своими ручными правилами дополнить. Все же написано.

from zapret.

ebkjiud avatar ebkjiud commented on May 17, 2024

bol-van, да за ваши методы спасибо, я ими пользуюсь. Получается у моего провайдера, срабатывает солянка, часть ресурсов обхожу через "точку" имея к ним полноценный вход, а часть заворачивается на сквид или блокируется весь ip. Я подумываю через curl прогонять весь список скриптом раз в неделю, ночью. То что по таймауту будет и то что отдает заглушку второго провайдера запихивать в отдельную ipset группу и пропускать через прокси. Но боюсь будет проблема со скриптом в плане оперативы. Плюс пока не знаю curl ли использовать. И еще есть сайты, которые возможно плохо понимают запросы с "точкой" (в частности я уже писал про pornhub.com - 403 ошибка) такое я готов и руками добавлять, т.к. непредсказуемо, что ответит другая сторона и как ее фильтровать...

from zapret.

bol-van avatar bol-van commented on May 17, 2024

С оперативой от курла проблема вряд ли будет. Раз есть USB, то можно сделать swap на всякий случай, чтобы внезапно не случился OOM.
Курлить десятки тысяч адресов - это очень плохая идея. займет вечность
Но можно и не заморачиваться так. Можно сделать фиксированный список адресов, на которых squid, и зачислять их в ipset для проксирования. Ведь реально не нужен доступ ко всяким там курилкам и игралкам, нужен только к определенным сайтам, а если понадобится к чему-то еще - всегда можно добавить ручками. Все примеры как ресолвить домены из списка и заносить в ipset есть

from zapret.

ebkjiud avatar ebkjiud commented on May 17, 2024

@bol-van swap имеется, место свободного 6,5gb. Фиксированный не хотелось бы, буду придумывать скрипт, потом если что опишу результат. Конечно без ручного списка никуда, но большую часть хотелось бы автоматом. Спасибо еще раз за проект, за ваше мнение и подсказки.

from zapret.

bol-van avatar bol-van commented on May 17, 2024

Можно, конечно, дописать код на C в tpws, который будет анализировать ответ от веб сервера, и при обнаружении заглушки что-то делать. Например, заносить такие хосты в файл. Но это потребует программирования под частный сценарий.

from zapret.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.