Zeleza
-
Posts
757 -
Joined
-
Days Won
79
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Zeleza
-
-
Чуть модернизировал скрипт - преобразовал в функцию (все "в одном флаконе").
Однако при работе с включёнными уже vpn интерфейсами (у которых долгое время соединения, например openvpn), приходится ставить на паузу минимум в 2 секунды. Может кто из опыта подскажет, как побороть данный недуг?HOOK_INFACE_FILE=/opt/etc/ndm/ifstatechanged.d/100-get-entware-inface INFACE_NAMES_FILE=/opt/etc/inface_equals URL_REQUEST='localhost:79/rci/interface' # ------------------------------------------------------------------------------------------ # # Получаем список соотвествия имен интерфейсов CLI keenetic = Entware # Список забираем из /opt/etc/inface_equals в формате: # <ID интерфейса в CLI>|<ID интерфейса в entware>|<Описание интерфейса в CLI> # # ------------------------------------------------------------------------------------------ get_interface_name_list(){ # если нет файла по отлавливанию хука if ! [ -f "${HOOK_INFACE_FILE}" ]; then # создаем файл cat <<EOF > "${HOOK_INFACE_FILE}" #!/bin/sh ! [ -f "${INFACE_NAMES_FILE}" ] && touch "${INFACE_NAMES_FILE}" [ -z "\$(grep "\${id}" "${INFACE_NAMES_FILE}")" ] && echo "\${id}|\${system_name}" >> "${INFACE_NAMES_FILE}" exit 0 EOF chmod +x "${HOOK_INFACE_FILE}" fi # обозначаем список типов обрабатываемых интерфейсов types_inface="openvpn|wireguard|ike|sstp|pppoe|l2tp|cdcethernet" # получаем список ID интерфейсов в наличии на роутере через пробел inface_list=$(curl -s "${URL_REQUEST}" \ | grep '"id"' \ | grep -Ei "${types_inface}" \ | cut -d':' -f2 \ | tr -d ' ",' \ | tr '\n' ' '\ ) # проходимся по каждому интерфейсу for inface_entware in ${inface_list}; do # получаем текущее состояние инф-са для возвращения его к исходному состоянию state=$(curl -s "${URL_REQUEST}" \ | grep -i "${inface_entware}" -A7 \ | grep -Ei 'state' \ | cut -d: -f2 | tr -d ' ",'\ ) # в зависимости от состояния - включаем и выключаем или выключаем и включаем интерфейс # для того, чтобы сработал наш хук в файле /opt/etc/ndm/ifstatechanged.d/100-save-inface_entware if [ "${state}" = 'up' ]; then curl -s -d '{"down":"true"}' "${URL_REQUEST}/${inface_entware}" &>/dev/null else curl -s -d '{"up":"true"}' "${URL_REQUEST}/${inface_entware}" &>/dev/null fi # Пауза мин. в 2 сек. для получения результата в соединениях, которые не сразу подключаются (как пример OpenVPN) sleep 2 curl -s -d "{\"${state}\":\"true\"}" "${URL_REQUEST}/${inface_entware}" &>/dev/null # получаем описание интерфейса description=$(curl -s "${URL_REQUEST}" \ | grep '"id"' -A7 \ | grep -i "${inface_entware}" -A4 \ | grep -Ei 'description' \ | cut -d: -f2 | tr -d ' ",' \ | sed 's|\/|\\/|g'\ ) # вставляем описание в файл /opt/etc/infaces_names sed -i 's/\('"${inface_entware}"'.*\)/\1|'"${description}"'/' "${INFACE_NAMES_FILE}" done rm -f "${HOOK_INFACE_FILE}" cat "${INFACE_NAMES_FILE}" }
-
Доброго дня
В 10.06.2022 в 08:24, i81 сказал:Осталось понять facebook, попробовать попользовать чаще. Сложилось впечатление, что блокировка обходит только часть заблокированных ресурсов.
Новости Минцфиры:
Цитата«Был один или два прецедента по отключению российских операторов от международных точек обмена трафиком. Но мы видим, что сейчас на европейском направлении точки обмена трафиком для нас действуют. У нас есть план, в случае полного отключения российских операторов от международных точек обмена трафиком в Европе, — направить трафик через Азию».
Возможно проблема связана именно с этим фактом.
-
9 часов назад, kilia сказал:
Как я понял kvas работает только для основного профиля? возможно ли сделать чтобы работало на всех?
Доброго утра,
Нет опыта в этом направлении, но полагаю, что если эта возможность реализуема в скриптах, то проблем нет.
У Вас есть ссылка на вариант реализации или на сам алгоритм реализации этого функционала? -
Нашел "костыль", нужно просто перегрузить роутер, и все соединения срабатывают и получаем список
Скрытый текстWireguard0|nwg0
OpenVPN0|ovpn_br0
GigabitEthernet0|eth2
GigabitEthernet1/0|eth3
WifiMaster0|ra0
WifiMaster1|rai0
CdcEthernet0|cdc_br0
UsbLte0|lte_br0
Bridge0|br0
GigabitEthernet0/Vlan2|eth2.2
Bridge1|br1
GigabitEthernet0/0|eth2
GigabitEthernet0/1|eth2
GigabitEthernet0/Vlan3|eth2.3
Bridge2|br2
IKE0|nikecli0
IKE1|nikecli1
Wireguard1|nwg1
Wireguard2|nwg2
GigabitEthernet0/Vlan1|eth2.1
WifiMaster0/AccessPoint2|ra2
WifiMaster0/AccessPoint0|ra0
WifiMaster1/AccessPoint0|rai0С другой стороны так же нашел вариант включения хука:
curl -s -d '{"up":"true"}' "localhost:79/rci/interface/OpenVPN0"
Сам скрипт для получения соответствия интерфейсов через обработку "хука":
~ # cat /opt/etc/ndm/ifstatechanged.d/100-save-inface#!/bin/sh # если файла с именами нет - создаем if ! [ -f /opt/etc/infaces_names ]; then touch /opt/etc/infaces_names; fi # если интефейса еще нет в списке, то добавляем его if [ -z "$(grep "${id}" /opt/etc/infaces_names)" ]; then echo "${id}|${system_name}" >> /opt/etc/infaces_names # пишем в лог, по необходимости logger "${id} -> ${system_name}" fi exit 0
помним про права:
chmod +x /opt/etc/ndm/ifstatechanged.d/100-save-inface
S.P.
Памяти ради, публикую скрипт для получения соответствия интерфейсов без перезагрузки роутера. Он работает в купе со скриптом по обработке "хука" выше:#!/bin/sh # очищаем файл с именами интерфейсов rm /opt/etc/infaces_names # обозначаем список типов обрабатываемых интерфейсов types_inface="openvpn|wireguard|ike|sstp|pppoe|l2tp|cdcethernet" # получаем список ID интерфейсов в наличии на роутере через пробел inface_list=$(curl -s localhost:79/rci/show/interface | grep '"id"' | grep -Ei "${types_inface}" | cut -d':' -f2 | tr -d ' ",' | tr '\n' ' ') # проходимся по каждому интерфейсу for inface in ${inface_list}; do # получаем текущее состояние инф-са для возвращения его к исходному состоянию state=$(curl -s localhost:79/rci/show/interface | grep -i "${inface}" -A7| grep -Ei 'state' | cut -d: -f2 | tr -d ' ",') # в зависимости от состояния - включем и выключаем или выключаем и включаем интерфейс # для того, чтобы сработал наш хук в файле /opt/etc/ndm/ifstatechanged.d/100-save-inface if [ "${state}" = 'up' ]; then curl -s -d '{"down":"true"}' "localhost:79/rci/interface/${inface}" &>/dev/null else curl -s -d '{"up":"true"}' "localhost:79/rci/interface/${inface}" &>/dev/null fi curl -s -d "{\"${state}\":\"true\"}" "localhost:79/rci/interface/${inface}" &>/dev/null # получаем описание интерфейса description=$(curl -s localhost:79/rci/show/interface | grep -i "${inface}" -A3 | grep -Ei 'description' | cut -d: -f2 | tr -d ' ",' | sed 's|\/|\//|g') # вставляем описание в файл /opt/etc/infaces_names sed -i 's/\('"${inface}"'.*\)/\1|'"${description}"'/' /opt/etc/infaces_names done cat /opt/etc/infaces_names
На выходе получаем файл /opt/etc/infaces_names в формате: <ID интерфейса в CLI>|<ID интерфейса в entware>|<Описание интерфейса в CLI>
Скрытый текстCdcEthernet0|cdc_br0|My Yota
IKE0|nikecli0|L2TP/IPsec
IKE1|nikecli1|ikev2_main
OpenVPN0|ovpn_br0|My OVPN
Wireguard0|nwg0|My Wireguard-1
Wireguard1|nwg1|My Wireguard-2
Wireguard2|nwg2|My Gate -
10 часов назад, Александр Рыжов сказал:
Может будет достаточно инфы из хук-скриптов. Вместе имена интерфейсов вместе только там.
Доброго утра,
Благодарю Вас, почти то, что нужно)Скрытый текстWireguard0|nwg0
Wireguard1|nwg1
Wireguard2|nwg2
IKE1|nikecli1
IKE0|nikecli0
OpenVPN0|ovpn_br0Остается придумать, как в процессе установки пакета запустить сами хуки для включения интерфейсов или смены их IP, или только вручную?
P.S.
Пробую curl -s "localhost:79/rci/interface/connect/via/OpenVPN0" - не поднимается и хук не срабатывает.
Пробую curl -s "localhost:79/rci/interface/openvpn/connect/via/OpenVPN0" - тоже самое.Как запустить?
-
6 часов назад, Andrey Che сказал:
Кто-нибудь знает, есть ли способ на кинетике запустить ShadowSocks с плагином v2ray?
Доброго утра,
Не пробывал, но возможно поможет эта информация и вот здесь. -
16 минут назад, r13 сказал:
wireguard L3 интерфейс, у него нет mac
Простите, не понял, как Ваш комментарии может помочь в решении вопроса по теме?
10 часов назад, Zeleza сказал:Как сопоставить названия интерфейсов?
Например, как определить автоматически, что название tunl0 соответствует OpenVPN0 и т.п.? -
34 минуты назад, Serafim сказал:
ndmc -c show interface
Доброго дня,
Благодарю Вас, только не совсем Вас понял.
Если речь идет о том, чтобы сопоставить mac адреса в обоих вариантах, то это возможно только для openvpn, а как быть с wireguard например? -
1 час назад, i81 сказал:
1. Какая конфигурация DNS у клиента должна быть для полноценной работы обходчика? Можно указывать сторонний DNS сервер у клиента?
2. У меня сейчас есть два сегмента сети, а обход работает только на первом сегменте. Как сделать, что бы обход блокировки работал на всех сегментах.
3. Пытаюсь добавить в обход nnmclub.to, в "списке разблокировки" он появляется, в таблице ipset IP (179.43.141.93) тоже есть, но браузер не открывает сайт, при этом 2ip.ru идёт через туннель SS. Что я делаю не так?
Доброго дня
- Указать конечно можно, но теряется смысл установки dnscrypt-proxy2. Конфигурацию можно посмотреть в /opt/etc/dnscrypt-proxy.toml.
- Тут не совсем понял вопроса по поводу сегментов - прошу уточните пожалуйста, какие именно сегменты и из чего состоят.
- Попробовал у себя этот же сайт - все добавилось, проблем не наблюдаю, в kvas debug все штатно. Попробуйте запустить обновление еще раз - unblock_update
-
22 часа назад, Zeleza сказал:
Изменен порядок добавления доменных имен, сейчас, если Вы хотите добавить доменное имя и все его имена выше третьего уровня, то при добавлении ставим звездочку впереди (без точки) :
kvas add *domen.com, в этом случае включается режим работы с регулярными выражениями, если добавить, как раньше
kvas add domen.com, то режим wildcard не включится.Доброго всем дня
Вышла накладка и был опубликован пакет без реализации выше-указанного изменения. Исправляюсь.
Прошу всех обновить пакет по той же ссылке для кого это изменение стоит в приоритете.Прошу прощения за недоразумение.
-
Всем доброго дня,
Прошу людей умудренных опытом подсказать как связать соответствие данных по имеющимся интерфейсам в системе.Для получения данных о текущих VPN (и не только) интерфейсах используем API от keenetic:
curl -s "localhost:79/rci/show/interface"
Где можем получить данные по ID, типу интерфейса и его названию и пр.
Скрытый текст"OpenVPN0": {
"id": "OpenVPN0",
"index": 0,
"type": "OpenVPN",
"description": "OVPN",
"interface-name": "OpenVPN0",
"link": "down",
"connected": "no",
"state": "down",
"role": [
"misc"
],
--
"Wireguard0": {
"id": "Wireguard0",
"index": 0,
"type": "Wireguard",
"description": "WireguardZ",
"interface-name": "Wireguard0",
"link": "down",
"connected": "no",
"state": "down",В entware получить информацию о текущих интерфейсах можно
ip a ifconfig
Скрытый текст1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1
link/sit 0.0.0.0 brd 0.0.0.0
4: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop qlen 1000
link/ether ba:9b:92:aw:sb:cd brd ff:ff:ff:ff:ff:ff
5: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop qlen 1
link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
6: ezcfg0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
link/ether ea:ef:06:35:55:15 brd ff:ff:ff:ff:ff:ff
inet 38.47.115.120/32 brd 38.255.255.255 scope global ezcfg0
valid_lft forever preferred_lft forever
Так вот вопрос возник следующий - как связать эти данные? Как сопоставить названия интерфейсов?
Например, как определить автоматически, что название tunl0 соответствует OpenVPN0 и т.п.? -
- Popular Post
- Popular Post
Доброго всем утра,
В 05.06.2022 в 16:17, Игорь Александрович Кривенко сказал:можно ли прикрутить к данному пакету управление скажем через веб страничку "в локалке", а не телеграмм бота?
В таком случае, предлагаю проголосовать за данное предложение.
Прошу ставить "лайки" данному сообщению, в случае поддержки предложения по созданию страницы в WUI для настроек КВАСА.- 1
- 24
-
Пробуем kvas_0.9-10_all.ipk:
- Вышли из беты - убрали ряд недочетов в коде, связанных с формой подачи информации.
-
Изменен порядок добавления доменных имен, сейчас, если Вы хотите добавить доменное имя и все его имена выше третьего уровня, то при добавлении ставим звездочку впереди (без точки) :
kvas add *domen.com, в этом случае включается режим работы с регулярными выражениями, если добавить, как раньше
kvas add domen.com, то режим wildcard не включится. - Исправление недочетов с импортом и экспортом доменных имен.
- 7
-
1 минуту назад, i81 сказал:
Что я делаю не так?
kvas debug "в личку"
-
5 часов назад, Игорь Александрович Кривенко сказал:
установку начало но потом выдало что якобы не хватает места. места не так много на самом деле 55МБ, + были уставлены netdata и minicom
Доброго дня,
Судя по всему мы с Вами о разной памяти ведем речь.
Как я понял, Вы устанавливали opkg на встроенную память, а не на флешку?
И как понимаю у Вас нет USB хаба? -
3 часа назад, i81 сказал:
Интересный момент, в Giga (KN-1011) на той-же версии прошивки 3.8 Beta 2 нет ничего связанного с NetFilter.
Доброго дня,
Не имею опыта работы с 3.8 Бета, работаю только на стабильной ветке.
А какие возникли проблемы с работой пакета, кроме выше указанной на 3.8? -
55 минут назад, Игорь Александрович Кривенко сказал:
Я думаю что надо, пробовал поставить проект жезл что с ботом для телеграмм, не влезло в память роутера,
Доброго утра,
Вы устанавливали на Giga и не поместилось в память? В чем это проявилось?
Вы ничего не путаете?
-
4 минуты назад, Игорь Александрович Кривенко сказал:
можно ли прикрутить к данному пакету управление скажем через веб страничку "в локалке", а не телеграмм бота?
Доброго дня
Конечно можно, все достижимо.
Надо ли? -
Доброго утра всем,
13 минуты назад, Art-9 сказал:Не использую wildcard, да и проверить "КВАС" я не могу - перешел на OpenWrt.
Тогда полагаю, что отказываться от dnsmasq пока рано.)
-
1 час назад, Art-9 сказал:
Благодарю, проверил - работает.
C wildcard тоже работает?
-
35 минут назад, avn сказал:
Почитал исходники. ADH поддерживает ipset. DNSMasq - можно выкинуть из цепочки вообще. Я не пробовал.
Дорого дня
В продолжении темы, нашел немного о связке ADH + ipset (ниже перевод робота)
Если кто реализует подобную связку дайте знать пожалуйста.
Был бы признателен за детали. -
23 часа назад, TheBB сказал:
grep "arch" /opt/etc/entware_release | cut -f2 -d"="`.
Доброго дня
Варианты dnsmasq зашил жестко без ссылок. Архитектуру определял по opkg, но Ваш вариант более эффективный.
Благодарю. -
3 часа назад, Art-9 сказал:
Что мешает направить DNS запросы так: LAN клиенты > AdGuard Home > dnsmasq
Доброго вечера,
Благодарю за мысль добрую - так не пробывал еще.
У Вас получилать подобная связка? Все работает? -
1 час назад, i81 сказал:
Подскажите пожалуйста, в КВАСе можно сделать так, что бы трафик с самого роутера тоже шол согласно списка обхода, а не только трафик br0?
Доброго вечера,
Я тружусь в основном над обвязкой (или интерфейсом командной строки) для работы с белым списком.
Это больше вопрос к @avn и другим мудрым людям. В Квасе использованы скрипты на основе их наработок.
Пробуем КВАС
in Каталог готовых решений Opkg
Posted
Доброго утра,
kvas debug "в личку"