Add using hotplug, init.d and procd OpenWrt system. Do not more need …#2
Add using hotplug, init.d and procd OpenWrt system. Do not more need …#2ilya-fedin wants to merge 48 commits intoTTLMaster:masterfrom
Conversation
…cron and usbreset, using reconnect! And also, autoupdate ban list on reconnect!
echo -e "login\npassword\nreboot" | nc 192.168.8.1 23Так пробовал? |
etc/hotplug.d/iface/99-yotaban
Outdated
|
|
||
| /etc/init.d/yotaban enabled && { | ||
| [ -f /tmp/yotaban ] && { | ||
| # remove old records |
There was a problem hiding this comment.
Если список изменился, старые записи таким методом не удалятся.
Чтобы избежать этой проблемы в TTLMaster для Android я создавал отдельную новую цепочку со всеми правилами дропа. И когда нужно, польностью её обнулял.
There was a problem hiding this comment.
There was a problem hiding this comment.
Тем не менее, у меня это работает. Но у меня удален из прошивки фарйволл, потому более ничего iptables не трогает.
There was a problem hiding this comment.
Ну да, работать-то будет, проблема не в этом. Проблема в том, что мы удалим одну запись из списка, обновим его и перезапустим этот скрипт -- удаленная запись останется в правилах.
There was a problem hiding this comment.
Попробовал ваш способ для записи в telnet - нет, не работает
There was a problem hiding this comment.
Может быть так?
(echo root; echo root; echo reboot) | while read s; do echo "$s"; sleep 1; done | nc 192.168.1.1 23There was a problem hiding this comment.
Работает, несколько упростил:
echo reboot | busybox nc -w 1 -i 1 192.168.8.1 23
Но в OpenWrt как всегда по дефолту не добавлены эти ключи, пришлось городить костыль:
(echo reboot; sleep 1) | nc 192.168.8.1 23 & (sleep 1; kill `pidof $(ps | grep 'nc 192.168.8.1 23' | grep -v 'grep')`)
Кстати, я сделал пакеты и конфиг написал, сейчас дополнил телнетом.
| content=$(wget captive.apple.com -q -O -) | ||
| if [ `echo $content | grep -c "tethering.svg" ` -gt 0 ] | ||
| then | ||
| usbreset "HUAWEI Mobile" |
There was a problem hiding this comment.
Может быть использовать конфиг-файл для определения метода перезагрузки? Тогда можно было бы скрипты полностью уже собранным opkg-пакетом дистрибьютить.
There was a problem hiding this comment.
Я пока конфиг-файлы не писал. Посмотрю, идея хорошая.
There was a problem hiding this comment.
ОК. Помогу по мере возможности, спрашивай, если что: баш знаю хорошо, но к openwrt у меня сейчас доступа нет.
| adbport="`uci -q get yota.@yotareboot[0].adbport`" | ||
| ttydevice="`uci -q get yota.@yotareboot[0].ttydevice`" | ||
| usbreset="`uci -q get yota.@yotareboot[0].usbreset`" | ||
| method="`uci -q get yota.@reboot[0].method`" |
There was a problem hiding this comment.
Какая-то задница. Так лучше не делать.
method=$(uci -q get yota.@reboot[0].method)
There was a problem hiding this comment.
Почему? Они же индентичны...
|
Бинарники, да еще и зазипованные, в гите -- bad practice, тем более, со скриптами, которые лежат в репе :( По-хорошему -- все это нужно в github-релизы выкладывать. @kolyanok дадим ему доступ к репе? В целом все выглядит хорошо В идеале -- могу билд-ферму поднять, чтобы после каждого коммита собирало скрипты в zip и openwrt-пакеты |
|
А, чорт, уже приглашен. Тогда поднимаю билдферму и мержу |
|
@ilya-fedin подскажи только, как собственно собирать пакеты |
|
@derlaft нужно брать OpenWrt Buildroot (который у меня уже есть, т. к. я собираю прошивки), добавлять папку со скриптами в package (в соответствующую подпапку, в нашем случае package/network/utils), для сборки - |
…cron and usbreset, using reconnect! And also, autoupdate ban list on reconnect!