avn Posted March 21, 2021 Share Posted March 21, 2021 (edited) Обновленные версии скриптов backup-UnblockVPN.tar.gz + Добавлена диагностика результата добавления маршрута с выводом в системный лог Edited March 21, 2021 by avn 1 3 Quote Link to comment Share on other sites More sharing options...
comono Posted August 13, 2021 Share Posted August 13, 2021 Предложение по улучшению скрипта. Сейчас разрешение доменных имен происходит так: dig A +short $line @localhost -p 53 Т.е., если у вас не принято никаких дополнительных мер, адрес в конце концов будет определяться через днс провайдера, что нехорошо. У меня на роутере настроены DoT и DoH, и вроде все должно быть нормально. Но я обратил внимание, что если запустить скрипт несколько раз подряд, каждый раз количество адресов в списке разное. Вряд ли адреса сайтов меняются несколько раз в течение минуты, т.е. проблема именно в процессе разрешения имен. Обнаружил, что dig v9.17.13 из entware поддерживает dot,doh, и даже dnssec. В итоге изменил строку в скрипте на эту: dig +short +https $line @8.8.8.8 Теперь скрипт работает стабильно + провайдер точно не вмешается. 1 1 Quote Link to comment Share on other sites More sharing options...
avn Posted August 15, 2021 Share Posted August 15, 2021 (edited) В 13.08.2021 в 12:17, comono сказал: Предложение по улучшению скрипта. Сейчас разрешение доменных имен происходит так: dig A +short $line @localhost -p 53 Т.е., если у вас не принято никаких дополнительных мер, адрес в конце концов будет определяться через днс провайдера, что нехорошо. У меня на роутере настроены DoT и DoH, и вроде все должно быть нормально. Но я обратил внимание, что если запустить скрипт несколько раз подряд, каждый раз количество адресов в списке разное. Вряд ли адреса сайтов меняются несколько раз в течение минуты, т.е. проблема именно в процессе разрешения имен. Обнаружил, что dig v9.17.13 из entware поддерживает dot,doh, и даже dnssec. В итоге изменил строку в скрипте на эту: dig +short +https $line @8.8.8.8 Теперь скрипт работает стабильно + провайдер точно не вмешается. Достаточно посмотреть файлик /tmp/ndnproxymain.stat (show dns-proxy) и поменять порт 53 на 40500-40507 для TLS и 40508-40515 для HTTPS Edited August 15, 2021 by avn 1 Quote Link to comment Share on other sites More sharing options...
keva Posted August 31, 2021 Share Posted August 31, 2021 Пытаюсь использовать последнюю версию скриптов от Ув. avn. Результат такой - из списка в 4 адреса добавляется 1 или 2 всего. Причём с этими добавленными заблоченные страницы открываются. Использую WG. Что я делаю не так? Quote Link to comment Share on other sites More sharing options...
comono Posted September 1, 2021 Share Posted September 1, 2021 9 часов назад, keva сказал: Результат такой - из списка в 4 адреса добавляется 1 или 2 всего. Если у вас используется dns-over-tls или dns-over-https, обратите внимание на предыдущий вашему пост 1 Quote Link to comment Share on other sites More sharing options...
keva Posted September 1, 2021 Share Posted September 1, 2021 3 часа назад, comono сказал: Если у вас используется dns-over-tls или dns-over-https, обратите внимание на предыдущий вашему пост Спасибо большое,что так оперативно откликнулись. dns-over-tls или dns-over-https не использую. Попробовал Вашу корректировку. Стало по лучше в том смысле, что оригинальный скрипт подзависал на, порядка, 45 секунд при запуске на списке из ... аж 4-х адресов. После корректировки - пара секунд, не более. Но беда такая - в списке остаётся ТОЛЬКО последняя строчка. Просто для некоторых выводиться 2 - 3 IP-шника... Т. е. самую малость подисправить - да не знаю, как... Кстати - если в конце списка ввести пустую строку - список пустой. Т. е. точно сохраняет только последнюю. И ещё - не подскажите - как у Вас dns-over-tls или dns-over-https настроен? Quote Link to comment Share on other sites More sharing options...
comono Posted September 2, 2021 Share Posted September 2, 2021 21 час назад, keva сказал: Но беда такая - в списке остаётся ТОЛЬКО последняя строчка. Просто для некоторых выводиться 2 - 3 IP-шника... Т. е. самую малость подисправить - да не знаю, как... Кстати - если в конце списка ввести пустую строку - список пустой. Т. е. точно сохраняет только последнюю. Итак, у вас есть файл со списком заблокированный сайтов. Вы запускаете скрипт, смотрите таблицу маршрутизации и видите только маршруты для последнего сайта из файла. Я правильно понял ситуацию? Посмотрел еще раз исходный скрипт. На мой дилетантский взгляд, должно все работать. Могу только предположить, что вы вносили и другие изменения в скрипт. Например, строчка ip route flush table 1000 у вас точно вне цикла while? Если она вдруг оказалась внутри цикла, результат будет таким, как вы описали. По поводу настроек dns-over-tls или dns-over-https, я не смогу рассказать лучше, чем в help Кинетика 1 Quote Link to comment Share on other sites More sharing options...
keva Posted September 2, 2021 Share Posted September 2, 2021 (edited) 5 часов назад, comono сказал: Итак, у вас есть файл со списком заблокированный сайтов. Вы запускаете скрипт, смотрите таблицу маршрутизации и видите только маршруты для последнего сайта из файла. Я правильно понял ситуацию? Да так и происходит. 5 часов назад, comono сказал: Например, строчка ip route flush table 1000 у вас точно вне цикла while? Если она вдруг оказалась внутри цикла, результат будет таким, как вы описали. В самом скрипте кроме IP и Вайгуардовского интерфейса вообще ничего не менял. А, ну да, Вашу правку из поста выше внёс. Но без неё вообще подзависал скрипт, как описывал. Скрипт, который на роутере прилагаю... 5 часов назад, comono сказал: По поводу настроек dns-over-tls или dns-over-https Хелп Кинетиковский читал, конечно. Просто Спросил про конкретную реализацию у Вас. Ну типа отдельный кэширующий сервер DNS на Кинетике, типа Unbound... , Pi-hole на VPS... Или ещё какие особенности... unblock_vpn.rar Edited September 2, 2021 by keva Quote Link to comment Share on other sites More sharing options...
comono Posted September 3, 2021 Share Posted September 3, 2021 15 часов назад, keva сказал: Ну типа отдельный кэширующий сервер DNS на Кинетике, типа Unbound... , Pi-hole на VPS... Или ещё какие особенности... Нет, использую стандартные возможности кинетика, к чему плодить сущности? По поводу вашего скрипта. С ним все нормально, я даже запустил его для уверенности (правда, не на роутере, а на линуксовой машине, но не суть). Даже не знаю, к чему еще прицепиться. Какие записи появляются в логе кинетика после запуска скрипта? И еще, а файл со списком сайтов вы создавали в редакторе под Windows? Если да, то возможно в этом причина вашей проблемы. Установите на роутер текстовый редактор, например, nano, и создайте файл в нем. Или используйте редактор под windows, который умеет текстовые файлы в unix-формате 2 Quote Link to comment Share on other sites More sharing options...
keva Posted September 3, 2021 Share Posted September 3, 2021 4 часа назад, comono сказал: Нет, использую стандартные возможности кинетика, к чему плодить сущности? По поводу вашего скрипта. С ним все нормально, я даже запустил его для уверенности (правда, не на роутере, а на линуксовой машине, но не суть). Даже не знаю, к чему еще прицепиться. Какие записи появляются в логе кинетика после запуска скрипта? И еще, а файл со списком сайтов вы создавали в редакторе под Windows? Если да, то возможно в этом причина вашей проблемы. Установите на роутер текстовый редактор, например, nano, и создайте файл в нем. Или используйте редактор под windows, который умеет текстовые файлы в unix-формате Да, дело оказалось именно в UNIX EOL. Это я жестоко протормозил. Спасибо Вам БОЛЬШОЕ, что так настойчиво наставили на путь истинный! Quote Link to comment Share on other sites More sharing options...
mystique_man Posted September 17, 2021 Share Posted September 17, 2021 Приветствую. Я бы хотел попросить оказать содействие в доработке скрипта - условно говоря настроить резервирование; если сдох один wg, чтобы переключался на другой. p.s. и вопрос на засыпку: keenetic же не сможет иметь 2 одинаковых ip адреса в wg туннелях? (wg серверы на однотипных vps) Quote Link to comment Share on other sites More sharing options...
mystique_man Posted September 24, 2021 Share Posted September 24, 2021 В 22.03.2021 в 01:22, avn сказал: Обновленные версии скриптов В вашем случае vpn клиенты роутера работают через данный обход? С древними версиями скриптов работало всё, после переустановки entware никак завести не могу. Записи добавляются, трасировка на роутера идёт нормально. А вот впн клиенты по прежнему идут "по старинке". Исходя из предыдущих сообщений (забылось уже как эта поправка родилась) ставил: ip rule add iif br0 table 1000 priority 1776 вместо 1777. Не помогло( Quote Link to comment Share on other sites More sharing options...
avn Posted September 24, 2021 Share Posted September 24, 2021 (edited) ip rule add from all table 1000 Edited September 24, 2021 by avn Quote Link to comment Share on other sites More sharing options...
Zeight Posted September 25, 2021 Share Posted September 25, 2021 Всем привет! Подскажите, пожалуйста, а есть ли подобное решение для ipv6-адресов? Т.е. вносим /opt/root/vpnsitelist.txt, скрипт резолвит его ipv6 адрес и создает маршрут до vpn. Quote Link to comment Share on other sites More sharing options...
avn Posted September 25, 2021 Share Posted September 25, 2021 (edited) 6 часов назад, Zeight сказал: Всем привет! Подскажите, пожалуйста, а есть ли подобное решение для ipv6-адресов? Т.е. вносим /opt/root/vpnsitelist.txt, скрипт резолвит его ipv6 адрес и создает маршрут до vpn. Думаю, по аналогии можно сделать: unblock_vpn.sh Проверить не могу,- Wireguard не поддерживает ipv6. @Le ecureuil Когда уже будет поддерживать? Edited September 25, 2021 by avn Quote Link to comment Share on other sites More sharing options...
avn Posted September 27, 2021 Share Posted September 27, 2021 Остановился на таком варианте, доделал обработку ошибок. unblock_vpn.sh 1 Quote Link to comment Share on other sites More sharing options...
torquemada163 Posted December 6, 2021 Share Posted December 6, 2021 (edited) Всем привет! А как вы установили ndmq в систему? У меня в Peak его нет. opkg install ndmq не находит такой пакет... Edited December 6, 2021 by torquemada163 Quote Link to comment Share on other sites More sharing options...
vasek00 Posted December 6, 2021 Share Posted December 6, 2021 1 час назад, torquemada163 сказал: Всем привет! А как вы установили ndmq в систему? У меня в Peak его нет. opkg install ndmq не находит такой пакет... bin.entware.net/aarch64-k3.10/keenetic/archive/ndmq_1.0.2-7_aarch64-3.10_kn.ipk хорошо видно что он пока лежит в /keenetic/archive/ Quote Link to comment Share on other sites More sharing options...
torquemada163 Posted December 6, 2021 Share Posted December 6, 2021 13 минуты назад, vasek00 сказал: хорошо видно что он пока лежит в /keenetic/archive/ А его можно оттуда поставить как-то? Или пока он в релиз не выйдет - никак? Quote Link to comment Share on other sites More sharing options...
krass Posted December 6, 2021 Share Posted December 6, 2021 1 час назад, torquemada163 сказал: А его можно оттуда поставить как-то? Или пока он в релиз не выйдет - никак? Предположу, archive - в данном случае означает, что выпуска не будет... 1 Quote Link to comment Share on other sites More sharing options...
torquemada163 Posted December 6, 2021 Share Posted December 6, 2021 3 минуты назад, krass сказал: Предположу, archive - в данном случае означает, что выпуска не будет... Хм.... А есть какой-то способ узнать id интерфейса без ndmq? Я, конечно, был уверен, что единственный интерфейс WireGuard будет называться Wireguard0 и это захардкодил... Но так себе решение для гибкости, хотелось бы программно его получать. Quote Link to comment Share on other sites More sharing options...
krass Posted December 6, 2021 Share Posted December 6, 2021 Только что, torquemada163 сказал: Хм.... А есть какой-то способ узнать id интерфейса без ndmq? Я, конечно, был уверен, что единственный интерфейс WireGuard будет называться Wireguard0 и это захардкодил... Но так себе решение для гибкости, хотелось бы программно его получать. Вот тут ,к сожалению, не подскажу ( очень слабые познания в entware) . Остается ждать ответа от более опытных... 1 Quote Link to comment Share on other sites More sharing options...
vasek00 Posted December 6, 2021 Share Posted December 6, 2021 20 минут назад, torquemada163 сказал: Хм.... А есть какой-то способ узнать id интерфейса без ndmq? Не поможет http://192.168.1.1/rci/interface?name=Wireguard0 http://192.168.1.1/rci/interface http://192.168.1.1/rci/show/interface http://192.168.1.1/rci/show/ip/hotspot/host 1 Quote Link to comment Share on other sites More sharing options...
vasek00 Posted December 6, 2021 Share Posted December 6, 2021 (edited) или Edited December 6, 2021 by vasek00 1 Quote Link to comment Share on other sites More sharing options...
torquemada163 Posted December 6, 2021 Share Posted December 6, 2021 15 минут назад, vasek00 сказал: Не поможет http://192.168.1.1/rci/interface?name=Wireguard0 http://192.168.1.1/rci/interface http://192.168.1.1/rci/show/interface http://192.168.1.1/rci/show/ip/hotspot/host До этого я уже дошел..... wget -qO - localhost:79/rci/show/interface Вполне работает. Только выводит чертову прорву инфы по всем интерфейсам. Пытаюсь понять, как сделать запрос на вывод только интерфейса с типом { "type": "Wireguard" } Кто-то может меня ткнуть в документацию по API и запросам к нему? Quote Link to comment Share on other sites More sharing options...
krass Posted December 6, 2021 Share Posted December 6, 2021 (edited) 13 минуты назад, torquemada163 сказал: Кто-то может меня ткнуть в документацию по API и запросам к нему? https://www.manualslib.com/manual/1509090/Keenetic-Extra-Kn-1710.html?page=335 А это не оно? правда под другой кинетик... http://docs.help.keenetic.com/cli/3.1/en/cli_manual_kn-2510.pdf // страница 643 P.S. Пока ,по неизвестной мне причине, данная документация есть только в англоязычных мануалах. Edited December 6, 2021 by krass 1 Quote Link to comment Share on other sites More sharing options...
torquemada163 Posted December 6, 2021 Share Posted December 6, 2021 5 минут назад, krass сказал: https://www.manualslib.com/manual/1509090/Keenetic-Extra-Kn-1710.html?page=335 А это не оно? правда под другой кинетик... В общем, то, что можно сделать по API, можно сделать и из CLI. Поэтому можно смотреть документацию по CLI, в принципе. Там я не нашел именно параметров фильтрации при листинге интерфейсов. Полагаю, что придется городить скрипт на Питоне для выборки нужного из всей портянки, что вываливается при команде на показ всех интерфейсов ((( Quote Link to comment Share on other sites More sharing options...
krass Posted December 6, 2021 Share Posted December 6, 2021 Только что, torquemada163 сказал: В общем, то, что можно сделать по API, можно сделать и из CLI. Поэтому можно смотреть документацию по CLI, в принципе. Там я не нашел именно параметров фильтрации при листинге интерфейсов. Полагаю, что придется городить скрипт на Питоне для выборки нужного из всей портянки, что вываливается при команде на показ всех интерфейсов ((( Вроде как, в англоязычных мануалах и по cli больше инфы, почему так -- непонятно... 1 Quote Link to comment Share on other sites More sharing options...
torquemada163 Posted December 6, 2021 Share Posted December 6, 2021 Все оказалось просто! Во всяком случае, для одного интерфейса WireGuard )))))) Устанавливаем jq: opkg install jq Парсим вывод с API: wget -qO - localhost:79/rci/show/interface | jq '.[] | select(.type=="Wireguard")' | jq -r '.id' 1 2 Quote Link to comment Share on other sites More sharing options...
aleeko Posted January 13, 2022 Share Posted January 13, 2022 (edited) Форумчане, подскажите, а у вас работает данный метод обхода блокировки в комплексе с работающим. Adguard home? Именно с AGHome У меня таблица строится, маршруты списком наполняются а ничего не открывается из списка. И если не затруднит, можно ссылку на последний коммент с рабочей версией скрипта? Edited January 13, 2022 by aleeko Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.