nnm Posted October 19, 2022 Share Posted October 19, 2022 (edited) для bird4static добавил управление в ext-ui после установки ext-ui добавить файл /opt/share/www/ext-ui/addons/editlist.php со следующим содержимым: Скрытый текст <?php // configuration $url = 'http://ip.of.your.router:88/ext-ui/addons/editlist.php'; $uservpn = '/opt/root/Bird4Static/lists/user-vpn.list'; $uservpn1 = '/opt/root/Bird4Static/lists/user-vpn1.list'; $uservpn2 = '/opt/root/Bird4Static/lists/user-vpn2.list'; $userisp = '/opt/root/Bird4Static/lists/user-isp.list'; // check if form has been submitted if (isset($_POST['vpn-text'])) { // save the text contents file_put_contents($uservpn, $_POST['vpn-text']); // redirect to form again header(sprintf('Location: %s', $url)); printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); exit(); } if (isset($_POST['vpn-text1'])) { // save the text contents file_put_contents($uservpn1, $_POST['vpn-text1']); // redirect to form again header(sprintf('Location: %s', $url)); printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); exit(); } if (isset($_POST['vpn-text2'])) { // save the text contents file_put_contents($uservpn2, $_POST['vpn-text2']); // redirect to form again header(sprintf('Location: %s', $url)); printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); exit(); } if (isset($_POST['isp-text'])) { // save the text contents file_put_contents($userisp, $_POST['isp-text']); // redirect to form again header(sprintf('Location: %s', $url)); printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); exit(); } // read the textfile $text = file_get_contents($uservpn); $text1 = file_get_contents($uservpn1); $text2 = file_get_contents($uservpn2); $textisp = file_get_contents($userisp); ?> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- HTML form0 --> <form id="selector" action="" method="post"> <input type="button" id="vpn" name="vpn" onclick="document.getElementById('uservpn').style.display='block'; document.getElementById('uservpn1').style.display='none'; document.getElementById('uservpn2').style.display='none'; document.getElementById('userisp').style.display='none'; return false;" value="user-vpn.list"/> <input type="button" id="vpn1" name="vpn1" onclick="document.getElementById('uservpn1').style.display='block'; document.getElementById('uservpn').style.display='none'; document.getElementById('uservpn2').style.display='none'; document.getElementById('userisp').style.display='none'; return false;" value="user-vpn1.list"/> <input type="button" id="vpn2" name="vpn2" onclick="document.getElementById('uservpn2').style.display='block'; document.getElementById('uservpn').style.display='none'; document.getElementById('uservpn1').style.display='none'; document.getElementById('userisp').style.display='none'; return false;" value="user-vpn2.list"/> <input type="button" id="second" name="second" onclick="document.getElementById('userisp').style.display='block'; document.getElementById('uservpn').style.display='none'; document.getElementById('uservpn1').style.display='none'; document.getElementById('uservpn2').style.display='none'; return false;" value="user-isp.list"/> </form> <!-- HTML form1 --> <div id="uservpn" style="display:none;"> <form id="vpn" action="" method="post" onsubmit="document.getElementById('uservpn').style.display='none'; return true;"> <legend>VPN list</legend> <textarea name="vpn-text" style="width:100%; height:30%;"><?php echo htmlspecialchars($text); ?></textarea> <input type="submit" value="Save&close"/> <input type="reset" value="Reset changes"/> </form> </div> <!-- HTML form1 --> <div id="uservpn1" style="display:none;"> <form id="vpn1" action="" method="post" onsubmit="document.getElementById('uservpn1').style.display='none'; return true;"> <legend>VPN1 list</legend> <textarea name="vpn-text1" style="width:100%; height:30%;"><?php echo htmlspecialchars($text1); ?></textarea> <input type="submit" value="Save&close"/> <input type="reset" value="Reset changes"/> </form> </div> <div id="uservpn2" style="display:none;"> <form id="vpn2" action="" method="post" onsubmit="document.getElementById('uservpn2').style.display='none'; return true;"> <legend>VPN2 list</legend> <textarea name="vpn-text2" style="width:100%; height:30%;"><?php echo htmlspecialchars($text2); ?></textarea> <input type="submit" value="Save&close"/> <input type="reset" value="Reset changes"/> </form> </div> <div id="userisp" style="display:none;"> <form id="isp" action="" method="post" onsubmit="document.getElementById('userisp').style.display='none'; return true;"> <legend>ISP list</legend> <textarea name="isp-text" style="width:100%; height:30%;"><?php echo htmlspecialchars($textisp); ?></textarea> <input type="submit" value="Save&close"/> <input type="reset" value="Reset changes"/> </form> </div> <form action="runbird4static.php"> <input type="submit" value="Restart service"> </form> и этот, для кнопки перезапуска сервиса /opt/share/www/ext-ui/addons/runbird4static.php * для работы кнопки перезапуска сервиса нужно выдать права 777 на файл /opt/root/Bird4Static/scripts/add-bird4_routes.sh Скрытый текст <?php shell_exec("/opt/root/Bird4Static/scripts/add-bird4_routes.sh"); header('Location: http://192.168.33.1:88/ext-ui/addons/editlist.php'); ?> файл /opt/share/www/ext-ui/index.html отредактировать, добавив после строки <meta charset="utf-8" /> свою строку обеспечивающую адаптивное отображение на мобильных устройствах: <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/> а перед этой строкой: <a href="addons/info/index.php" target="myframe" title="System Health and Information"><img src="addons/img/btn/linfo.png"></a> вставить свою строку с дополнительной кнопкой: <a href="addons/editlist.php" target="myframe" title="Edit vpn list"><img src="addons/img/btn/vpn.png"></a> ну или в любое удобное место в том же списке. кроме этого нужно положить какую-нибудь иконку размером 48х48 по адресу /opt/share/www/ext-ui/addons/img/btn/vpn.png например такую: на выходе получается такая страница: нажатие на кнопку в верхнем ряду открывает соответствующий лист нажатие на кнопку Save&close сохраняет лист и скрывает его с глаз долой. Кнопка Restart service перезапускает сервис bird4static p.s. я ненастоящий сварщик, я маску на стройке нашёл, так что замечания или улучшения горячо приветствуются. Edited September 15, 2023 by nnm 3 Quote Link to comment Share on other sites More sharing options...
alexunderboots Posted October 21, 2022 Share Posted October 21, 2022 Периодически отваливается www.themoviedb.org , уходит на 127.0.0.1, при этом themoviedb.org нормальный Quote Link to comment Share on other sites More sharing options...
zyxmon Posted October 21, 2022 Share Posted October 21, 2022 2 часа назад, alexunderboots сказал: Периодически отваливается www.themoviedb.org , уходит на 127.0.0.1, при этом themoviedb.org нормальный Это проблема DNS - я решаю с помощью AdGuard Home - для themoviedb следует использовать dns сервер quad9, остальные общеизвестные возвращают 127.0.0.1. К топику все это не относится! Quote Link to comment Share on other sites More sharing options...
alexunderboots Posted October 22, 2022 Share Posted October 22, 2022 9 часов назад, zyxmon сказал: Это проблема DNS - я решаю с помощью AdGuard Home - для themoviedb следует использовать dns сервер quad9, остальные общеизвестные возвращают 127.0.0.1. К топику все это не относится! отправил www. на 9.9 через интернет-фильтр в wg-туннель - вроде работает Quote Link to comment Share on other sites More sharing options...
alexunderboots Posted October 30, 2022 Share Posted October 30, 2022 https://www.ozon.ru/ уходит на vpn, добавил в список isp Quote Link to comment Share on other sites More sharing options...
alexunderboots Posted November 2, 2022 Share Posted November 2, 2022 инста на некоторых провайдерах не работает, не уходит в туннель 10.66.66.1 starting traceroute to instagram.com... traceroute to instagram.com (31.13.81.174), 30 hops maximum, 84 byte packets. 1 ---------------.ertelecom.ru (188.186.75.252) 0.845 ms 0.851 ms 0.771 ms 2 lag-2-435.bgw01.tmn.ertelecom.ru (109.194.168.18) 3.136 ms 2.737 ms 2.700 ms 3 ertelekom-ic-335559-mow-b4.ip.twelve99-cust.net (62.115.12.110) 25.797 ms 26.277 ms 27.224 ms 4 mow-b4-link.ip.twelve99.net (62.115.12.109) 32.073 ms 30.463 ms 30.440 ms 5 mow-b8-link.ip.twelve99.net (62.115.135.107) 25.191 ms 26.886 ms 26.761 ms 6 mow-b6-link.ip.twelve99.net (62.115.135.95) 26.440 ms 26.599 ms 25.743 ms 7 s-bb1-link.ip.twelve99.net (62.115.143.24) 43.388 ms 43.934 ms 43.374 ms 8 hbg-bb3-link.ip.twelve99.net (62.115.134.94) 62.344 ms 62.315 ms 62.225 ms 9 62.115.120.69 (62.115.120.69) 73.534 ms 72.151 ms 72.307 ms 10 facebook-ic339271-war-b3.ip.twelve99-cust.net (213.248.75.71) 56.666 ms 56.636 ms 57.606 ms 11 * * * 12 * * * 13 157.240.38.181 (157.240.38.181) 61.258 ms 62.922 ms 60.832 ms 14 31.13.81.174 (31.13.81.174) 60.734 ms 60.613 ms 60.935 ms Quote Link to comment Share on other sites More sharing options...
DennoN Posted November 17, 2022 Author Share Posted November 17, 2022 (edited) Думаю сделать что бы скрипт парсил в списках от пользователя номера автономок (AS*), узнавал адреса, и добавлял в маршруты Но есть вопрос, как часто эти AS могут изменяться? допустим я получаю вывод командой whois -h whois.radb.net -- "-i origin AS32934" | grep ^route: | awk "{print \$2}" нужно ли накручивать логику, что результат этой команды пишем в отдельный файл и потом уже при следующем запуске скрипта запрашиваем в файле инфу о данной автономке и если она там есть, то выводим из файла, а если нет, то выполняем команду выше? данная логика усложнит скрипт, но ускорит наполение списков, если вносим туда AS. Так же в случае, если данные по AS поменялись, то скрипт об этом не узнает - нужно будет ручное удаление из определенного файла и тогда скрипт не найдя инфы о автономке запросит данные снова. Стоит заморачиваться или сделать просто логику типа: видим AS - всегда спрашиваем через whois о ней Edited November 17, 2022 by DennoN 1 Quote Link to comment Share on other sites More sharing options...
Максим_ Posted November 17, 2022 Share Posted November 17, 2022 9 минут назад, DennoN сказал: Стоит заморачиваться или сделать просто логику типа: видим AS - всегда спрашиваем через whois о ней Думаю можно пойти по простому пути. Quote Link to comment Share on other sites More sharing options...
DennoN Posted November 18, 2022 Author Share Posted November 18, 2022 Обновление! Версия 3.3 Переделана команда в скрипте установки, которая выводит список интерфейсов и их адресов. Теперь стала более универсальной Добавлен скрипт для удаления. Добавлена поддержка AS номеров в пользовательских списках Указывать AS нужно в виде AS13414, регистр важен(!), AS должно быть большими буквами. Одна строка - один номер AS(!). Поддерживаются комментарии после номера через пробел, скрипт на них ругаться не будет. Запросы идут через сторонний сервер, который может долго отвечать, так что если будет указано много AS в списках, то скрипт может отрабатывать сильно дольше git clone -b v3.3 https://github.com/DennoN-RUS/Bird4Static.git 3 1 Quote Link to comment Share on other sites More sharing options...
DennoN Posted November 18, 2022 Author Share Posted November 18, 2022 (edited) В 07.09.2022 в 22:20, mobile2004 сказал: а не лучше ли списки грузить в RAM по пути /tmp/ всё-таки не все же разворачивают OPKG на USB а зачем? bird будет ругаться, после перезагрузки роутера на отсуствующие конфиги. + у меня при скачивании списков и их наполнения сравниваются 2 результата (прошлый и текущий) и в файл вносятся только изменения, а не перезатирается весь файл целиком). Только если места мало, но вроде списки не так много едят (все 7 файлов весят чуть меньше 700кбайт) Edited November 18, 2022 by DennoN Quote Link to comment Share on other sites More sharing options...
Yevgen16 Posted November 26, 2022 Share Posted November 26, 2022 Подскажите, пожалуйста, а как правильно обновится? Пользуюсь уже давно, с начала марта. Запустил по новой "git clone", но в ответ выдает "fatal: destination path 'Bird4Static' already exists and is not an empty directory" Quote Link to comment Share on other sites More sharing options...
MihaBor Posted November 28, 2022 Share Posted November 28, 2022 Попробуйте просто команду git pull Quote Link to comment Share on other sites More sharing options...
inolant Posted November 30, 2022 Share Posted November 30, 2022 При выполнении скрипта выдает такую ошибку: Скрытый текст Installing iprange (1.0.4-1) to root... Installing whois (5.5.10-1) to root... Configuring bird1-ipv4. Configuring libatomic. Configuring cron. Configuring libnghttp2. Configuring curl. Configuring libuv. Configuring bind-libs. Configuring bind-dig. Collected errors: * verify_pkg_installable: Only have 0kb available on filesystem /opt, pkg iprange needs 29 * opkg_install_cmd: Cannot install package iprange. * verify_pkg_installable: Only have 0kb available on filesystem /opt, pkg whois needs 29 * opkg_install_cmd: Cannot install package whois. Ставлю во внутреннюю память. Из 27 Мбайт занято всего 19. В чем может быть проблема? Quote Link to comment Share on other sites More sharing options...
DennoN Posted December 1, 2022 Author Share Posted December 1, 2022 @inolant df -h в командной строке надо посмотреть сколько у тебя сейчас места в /opt Quote Link to comment Share on other sites More sharing options...
PASPARTU Posted December 2, 2022 Share Posted December 2, 2022 ISP list не отрабатывает , хосты которые там не доступны , как лечить? Quote Link to comment Share on other sites More sharing options...
DennoN Posted December 2, 2022 Author Share Posted December 2, 2022 @PASPARTU в гите описан наиболее вероятный вариант решения Скрытый текст 1 Quote Link to comment Share on other sites More sharing options...
PASPARTU Posted December 2, 2022 Share Posted December 2, 2022 (edited) 3 минуты назад, DennoN сказал: @PASPARTU в гите описан наиболее вероятный вариант решения Скрыть содержимое Даа нашел, поправил и вроде заработало,узнать на какой домен кинетик ломиться ибо ошибка Cloud::Agent: can not connect to the cloud server. Edited December 2, 2022 by PASPARTU Quote Link to comment Share on other sites More sharing options...
PASPARTU Posted December 2, 2022 Share Posted December 2, 2022 13 минуты назад, DennoN сказал: @PASPARTU в гите описан наиболее вероятный вариант решения Показать содержимое ISP list по умолчанию должен содержать такой список, добавьте пожалуйста. keenetic.com docs.keenetic.com 88.198.177.100 167.233.7.36 167.233.6.242 167.233.7.36 88.198.177.100 167.233.6.242 ndss.keenetic.ndmsystems.com Quote Link to comment Share on other sites More sharing options...
DennoN Posted December 2, 2022 Author Share Posted December 2, 2022 (edited) keenetic.com docs.keenetic.com отдают одинаковые адреса 167.233.7.36 167.233.6.242 88.198.177.100 так что добавить нужно только keenetic.com как вариант, и он уже добавлен ndss.keenetic.ndmsystems.com отдает адреса 88.198.177.100 тот же, что и в keenetic.com 91.142.81.244 в списках через впн он не участвует 92.63.195.7 в списках через впн он не участвует 167.233.7.36 тот же, что и в keenetic.com Да и пользовательские списки сделаны как пример, что бы люди сами добавляли что-то свое. Тут наоборот просили давно keenetic.com исключить. Edited December 2, 2022 by DennoN Quote Link to comment Share on other sites More sharing options...
PASPARTU Posted December 2, 2022 Share Posted December 2, 2022 2 часа назад, DennoN сказал: keenetic.com docs.keenetic.com отдают одинаковые адреса 167.233.7.36 167.233.6.242 88.198.177.100 так что добавить нужно только keenetic.com как вариант, и он уже добавлен ndss.keenetic.ndmsystems.com отдает адреса 88.198.177.100 тот же, что и в keenetic.com 91.142.81.244 в списках через впн он не участвует 92.63.195.7 в списках через впн он не участвует 167.233.7.36 тот же, что и в keenetic.com Да и пользовательские списки сделаны как пример, что бы люди сами добавляли что-то свое. Тут наоборот просили давно keenetic.com исключить. у меня docs.keenetic.com не открывался пока не внес его в список. Quote Link to comment Share on other sites More sharing options...
inolant Posted December 2, 2022 Share Posted December 2, 2022 В 01.12.2022 в 13:11, DennoN сказал: @inolant df -h в командной строке надо посмотреть сколько у тебя сейчас места в /opt Действительно не было свободной памяти. Не стал разбираться в причинах, поставил все заново на USB flash. Вроде все работает. Еще один дилетантский вопрос: Как сделать, чтобы speedtest и сервисы по определению ip не заворачивались в VPN. Как я понял, 2ip по умолчанию открывается через VPN, но у меня все подобные сервисы грузятся через VPN. Quote Link to comment Share on other sites More sharing options...
usan Posted December 12, 2022 Share Posted December 12, 2022 Добрый день. Возможно ли добавлять в сформированные списки bird4-*.list комментарий из какой строки user-*.list получился маршрут? Возникла ситуация, в оба файла bird4-force-isp.list и bird4-force-vpn1.list попал один и тот же ip, хотелось понять из каких доменов. Quote Link to comment Share on other sites More sharing options...
DennoN Posted December 14, 2022 Author Share Posted December 14, 2022 @usan за резолв доменов отвечает утилита iprange. Работает по типу - скармливаем ей файл, на выходе получаем список ip адресов. добавлять в виде коммента какой домен оно так распарсило - не умеет https://manpages.org/iprange Quote Link to comment Share on other sites More sharing options...
Oleg Ivanov Posted December 14, 2022 Share Posted December 14, 2022 Здравствуйте, Не открывает ozon приложение на телефоне, пробывал добавлять 162.159.128.64 и 162.159.129.64 в user-isp.list список, все равно не заходит. С закоментированной URL0=https://antifilter.download/list/allyouneed.lst все работает. Тоесть antifilter у меня имеет приоритет перед user-isp.list Quote Link to comment Share on other sites More sharing options...
Daniil413 Posted December 14, 2022 Share Posted December 14, 2022 2 часа назад, Oleg Ivanov сказал: Здравствуйте, Не открывает ozon приложение на телефоне, пробывал добавлять 162.159.128.64 и 162.159.129.64 в user-isp.list список, все равно не заходит. С закоментированной URL0=https://antifilter.download/list/allyouneed.lst все работает. Тоесть antifilter у меня имеет приоритет перед user-isp.list Здравствуйте! Попробуйте в user-isp.list добавить следующие домены, может поможет: www.ozon.ru cdn-qa.ozonru.me cdn1.ozone.ru cdn2.ozone.ru p.ozon.ru api.ozon.ru s.ozone.ru cdn1.ozonusercontent.com xapi.ozon.ru Quote Link to comment Share on other sites More sharing options...
Oleg Ivanov Posted December 14, 2022 Share Posted December 14, 2022 3 часа назад, Daniil413 сказал: Здравствуйте! Попробуйте в user-isp.list добавить следующие домены, может поможет: www.ozon.ru cdn-qa.ozonru.me cdn1.ozone.ru cdn2.ozone.ru p.ozon.ru api.ozon.ru s.ozone.ru cdn1.ozonusercontent.com xapi.ozon.ru спасибо! все заработало. Подскажите как нашли эти адреса? Quote Link to comment Share on other sites More sharing options...
Daniil413 Posted December 15, 2022 Share Posted December 15, 2022 7 часов назад, Oleg Ivanov сказал: спасибо! все заработало. Подскажите как нашли эти адреса? Рад, что это помогло. Домены нашёл достаточно просто. У меня запущен свой собственный DNS-сервер (AdGuard Home), все устройства домашней сети резолвят домены именно через этот DNS. После запуска приложения Ozon на телефоне, я просто посмотрел в логах DNS-сервера, к каким доменам обращался смартфон за это время, те и добавил в user-isp.list. 1 Quote Link to comment Share on other sites More sharing options...
PASPARTU Posted December 15, 2022 Share Posted December 15, 2022 7 часов назад, Oleg Ivanov сказал: спасибо! все заработало. Подскажите как нашли эти адреса? Можно на любой странице , нажать F12 откроется консоль разработчика , там нажать на сеть и вы увидите все домены связанные с этой страницей Quote Link to comment Share on other sites More sharing options...
Oleg Ivanov Posted December 16, 2022 Share Posted December 16, 2022 Спасибо за ответы. П одскажите как VPN на маршрутизаторе перенаправить на bird4? телефон-> VPN на роутере -> bird4 -> интернет. Quote Link to comment Share on other sites More sharing options...
timur1337 Posted December 16, 2022 Share Posted December 16, 2022 Привет! Появилась необходимость отправлять весь трафик через впн на роутере. Я бы мог сделать это силами кинетика, но у меня подключение идет сначала к локалке провайдера, потом получаю от него статику через L2TP, соответственно если я поставлю в качестве первого приоритета впн подключение, то интернет работать не будет. Как можно завернуть весь трафик к впн силами этого приложения? 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.