Reeker
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Reeker
-
-
Страдал месяц с тем, что многие сайты открывались через VPN
Хотя указан был community.lst - размер bird4-base-vpn.list не изменялся даже при указании других источников
Оказалось, что подтягиваются данные из /root/Bird4Static/lists/antifilter.list
Возможно проблема в том, что при первоначальной установке выбрал дефолтный источник и оно закешировалось - но мне разбираться лень. Многократные переустановки/обновления через install.sh и update.sh не помогали.Починилось комментированием одной строки (67) в /root/Bird4Static/scripts/func.sh и принудительным curl'ом. Да, вероятно костыль - но это максимум на что я способен в линуксе)
#CURL FUNCTION curl_funk() { for var in $@; do if [ $(echo "$var" | grep -cE '^(ht|f)t(p|ps)://') != 0 ]; then cur_url=$(echo "$cur_url $var"); else last=$var; fi done curl -sk $cur_url | sort #if [ "$(curl -sk $cur_url | grep -E '([0-9]{1,3}.){3}[0-9]{1,3}')" ]; then curl -sk $cur_url | sort ; else cat $last; fi }
PS у меня обновление списков стоит раз в месяц - как отразится это на производительности при обновлении раз в час - не знаю.
PS2 вернул обратно код - все еще работает корректно, вероятно, было бы достаточно удалить antifilter.list
bird4
in Вопросы по сборке и настройке Opkg
Posted · Edited by Reeker
@DennoN Все оказалось куда примитивнее, community.lst отдает домены, а в коде func.sh - grep ищет айпи адрес, соответственно файл не обновлялся и отдавался закешированный. Если я верно понимаю эту строку
grep -E '([0-9]{1,3}.){3}[0-9]{1,3}')
С таким кривоватым grep работает ок:
curl_funk() { for var in $@; do if [ $(echo "$var" | grep -cE '^(ht|f)t(p|ps)://') != 0 ]; then cur_url=$(echo "$cur_url $var"); else last=$var; fi done if [ "$(curl -sk $cur_url | grep -E '(([0-9]{1,3}.){3}[0-9]{1,3})|(([a-zA-Z\-_.]){1,20}\.[a-z]{1,5})')" ]; then curl -sk $cur_url | sort ; else cat $last; fi }