v1.6. Refactoring. Some improvements.

This commit is contained in:
gSpot
2024-09-23 00:52:58 +03:00
parent fd2dd3d165
commit 8184a68fe8
21 changed files with 432 additions and 303 deletions
-15
View File
@@ -25,21 +25,6 @@ config main 'config'
option bllist_ip_filter '0'
option bllist_ip_filter_type '0'
option bllist_sd_limit '16'
list bllist_gr_excluded_sld 'livejournal.com'
list bllist_gr_excluded_sld 'facebook.com'
list bllist_gr_excluded_sld 'vk.com'
list bllist_gr_excluded_sld 'blog.jp'
list bllist_gr_excluded_sld 'msk.ru'
list bllist_gr_excluded_sld 'net.ru'
list bllist_gr_excluded_sld 'org.ru'
list bllist_gr_excluded_sld 'net.ua'
list bllist_gr_excluded_sld 'com.ua'
list bllist_gr_excluded_sld 'org.ua'
list bllist_gr_excluded_sld 'co.uk'
list bllist_gr_excluded_sld 'amazonaws.com'
list bllist_gr_excluded_sld 'spb.ru'
list bllist_gr_excluded_sld 'appspot.com'
list bllist_gr_excluded_sld 'googleusercontent.com'
option bllist_fqdn_filter '1'
option bllist_fqdn_filter_type '0'
option bllist_enable_idn '0'
+38 -5
View File
@@ -5,8 +5,8 @@ paripartners
marathon
pm[-][0-9]
fbmetrix
[ck]?a[sz]+ino?
[vw]ul[ck]an
[ck]?a[sz]+[iy]no?
[vw][ouy]l[ck]an
slots?
nar[ck]
st[au]f
@@ -15,7 +15,7 @@ al[ck]o
bets?
igr[ova]+
olimp
poker
p[o0]ker
leon
jackpot
spin
@@ -41,12 +41,45 @@ apteka
drop
rasta
smok
semen
sem[ey]a?n
seed
steroid
diplom
medic
prostitutk
prostitut
individualk
dosug
putan
intim
escort
feya
^1[-]?win
vegas
gamble
fishka
vavada
gold
avtomat
[.]win
pin[-]?up
stav[ko]
luck
xn[-][-]p1ai
prava
propiska
udostov
spra[vw]
cheki
[.]trade
invest
capital
profit
bank
broker
money
drag
birds
forex
kraken
zerkalo
#lord
@@ -0,0 +1,15 @@
livejournal.com
facebook.com
vk.com
blog.jp
msk.ru
net.ru
org.ru
net.ua
com.ua
org.ua
co.uk
amazonaws.com
spb.ru
appspot.com
googleusercontent.com
@@ -121,8 +121,8 @@ BLLIST_PRESET=""
BLLIST_MIN_ENTRIES=3000
### Лимит ip адресов. При достижении, в конфиг ipset будет добавлена вся подсеть /24 вместо множества ip-адресов пренадлежащих этой сети (0 - выкл)
BLLIST_IP_LIMIT=0
### Подсети класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр.). Прим.: "68.183.221. 149.154.162."
BLLIST_GR_EXCLUDED_NETS=""
### Файл с подсетями класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр. Одна запись на строку)
BLLIST_GR_EXCLUDED_NETS_FILE="/etc/ruantiblock/gr_excluded_nets"
### Группировать идущие подряд IP адреса в подсетях /24 в диапазоны CIDR
BLLIST_SUMMARIZE_IP=0
### Группировать идущие подряд подсети /24 в диапазоны CIDR
@@ -133,18 +133,26 @@ BLLIST_IP_FILTER=0
BLLIST_IP_FILTER_TYPE=0
### Файл с шаблонами ip для опции BLLIST_IP_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
BLLIST_IP_FILTER_FILE="/etc/ruantiblock/ip_filter"
### Включение опции исключения IP/CIDR из блэклиста
BLLIST_IP_EXCLUDED_ENABLE=0
### Файл с записями IP/CIDR для опции BLLIST_IP_EXCLUDED_ENABLE
BLLIST_IP_EXCLUDED_FILE="/etc/ruantiblock/ip_excluded"
### Лимит субдоменов для группировки. При достижении, в конфиг dnsmasq будет добавлен весь домен 2-го ур-ня вместо множества субдоменов (0 - выкл)
BLLIST_SD_LIMIT=16
### SLD не подлежащие группировке при оптимизации (через пробел)
BLLIST_GR_EXCLUDED_SLD="livejournal.com facebook.com vk.com blog.jp msk.ru net.ru org.ru net.ua com.ua org.ua co.uk amazonaws.com spb.ru appspot.com googleusercontent.com"
### Не группировать SLD попадающие под выражения (через пробел)
BLLIST_GR_EXCLUDED_MASKS=""
### Файл с SLD не подлежащими группировке при оптимизации (одна запись на строку)
BLLIST_GR_EXCLUDED_SLD_FILE="/etc/ruantiblock/gr_excluded_sld"
### Файл с масками SLD не подлежащими группировке при оптимизации (одна запись на строку)
BLLIST_GR_EXCLUDED_SLD_MASKS_FILE="/etc/ruantiblock/gr_excluded_sld_mask"
### Фильтрация записей блэклиста по шаблонам из файла ENTRIES_FILTER_FILE. Записи (FQDN) попадающие под шаблоны исключаются из кофига dnsmasq (0 - выкл, 1 - вкл)
BLLIST_FQDN_FILTER=0
### Тип фильтра FQDN (0 - все записи, кроме совпадающих с шаблонами; 1 - только записи, совпадающие с шаблонами)
BLLIST_FQDN_FILTER_TYPE=0
### Файл с шаблонами FQDN для опции BLLIST_FQDN_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
BLLIST_FQDN_FILTER_FILE="/etc/ruantiblock/fqdn_filter"
### Включение опции исключения FQDN из блэклиста
BLLIST_FQDN_EXCLUDED_ENABLE=0
### Файл с записями FQDN для опции BLLIST_FQDN_EXCLUDED_ENABLE
BLLIST_FQDN_EXCLUDED_FILE="/etc/ruantiblock/fqdn_excluded"
### Обрезка www[0-9]. в FQDN (0 - выкл, 1 - вкл)
BLLIST_STRIP_WWW=1
### Преобразование кириллических доменов в punycode (0 - выкл, 1 - вкл)
@@ -153,24 +161,3 @@ BLLIST_ENABLE_IDN=0
BLLIST_ALT_NSLOOKUP=0
### Альтернативный DNS-сервер
BLLIST_ALT_DNS_ADDR="8.8.8.8"
### Источники блэклиста
RBL_ALL_URL="https://reestr.rublacklist.net/api/v3/snapshot/"
RBL_IP_URL="https://reestr.rublacklist.net/api/v3/ips/"
RBL_DPI_URL="https://reestr.rublacklist.net/api/v3/dpi/"
ZI_ALL_URL="https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv"
#ZI_ALL_URL="https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw"
AF_IP_URL="https://antifilter.download/list/allyouneed.lst"
AF_FQDN_URL="https://antifilter.download/list/domains.lst"
FZ_URL="https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.00 https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.01 https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.02"
RA_IP_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/ruantiblock.ip"
RA_IP_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/ruantiblock.dnsmasq"
RA_IP_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/update_status"
RA_FQDN_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/ruantiblock.ip"
RA_FQDN_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/ruantiblock.dnsmasq"
RA_FQDN_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/update_status"
RBL_ENCODING=""
ZI_ENCODING="CP1251"
AF_ENCODING=""
FZ_ENCODING="CP1251"
RA_ENCODING=""
+34 -107
View File
@@ -138,8 +138,8 @@ export BLLIST_PRESET=""
export BLLIST_MIN_ENTRIES=3000
### Лимит IP адресов. При достижении, в конфиг ipset будет добавлена вся подсеть /24 вместо множества IP адресов пренадлежащих этой сети (0 - выкл)
export BLLIST_IP_LIMIT=0
### Подсети класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр.). Прим.: "68.183.221. 149.154.162."
export BLLIST_GR_EXCLUDED_NETS=""
### Файл с подсетями класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр. Одна запись на строку)
export BLLIST_GR_EXCLUDED_NETS_FILE="${CONFIG_DIR}/gr_excluded_nets"
### Группировать идущие подряд IP адреса в подсетях /24 в диапазоны CIDR
export BLLIST_SUMMARIZE_IP=0
### Группировать идущие подряд подсети /24 в диапазоны CIDR
@@ -150,18 +150,26 @@ export BLLIST_IP_FILTER=0
export BLLIST_IP_FILTER_TYPE=0
### Файл с шаблонами IP для опции BLLIST_IP_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
export BLLIST_IP_FILTER_FILE="${CONFIG_DIR}/ip_filter"
### Включение опции исключения IP/CIDR из блэклиста
export BLLIST_IP_EXCLUDED_ENABLE=0
### Файл с записями IP/CIDR для опции BLLIST_IP_EXCLUDED_ENABLE
export BLLIST_IP_EXCLUDED_FILE="${CONFIG_DIR}/ip_excluded"
### Лимит субдоменов для группировки. При достижении, в конфиг dnsmasq будет добавлен весь домен 2-го ур-ня вместо множества субдоменов (0 - выкл)
export BLLIST_SD_LIMIT=0
### SLD не подлежащие группировке при оптимизации (через пробел)
export BLLIST_GR_EXCLUDED_SLD=""
### Не группировать SLD попадающие под выражения (через пробел)
export BLLIST_GR_EXCLUDED_MASKS=""
### Файл с SLD не подлежащими группировке при оптимизации (одна запись на строку)
export BLLIST_GR_EXCLUDED_SLD_FILE="${CONFIG_DIR}/gr_excluded_sld"
### Файл с масками SLD не подлежащими группировке при оптимизации (одна запись на строку)
export BLLIST_GR_EXCLUDED_SLD_MASKS_FILE="${CONFIG_DIR}/gr_excluded_sld_mask"
### Фильтрация записей блэклиста по шаблонам из файла ENTRIES_FILTER_FILE. Записи (FQDN) попадающие под шаблоны исключаются из кофига dnsmasq (0 - выкл, 1 - вкл)
export BLLIST_FQDN_FILTER=0
### Тип фильтра FQDN (0 - все записи, кроме совпадающих с шаблонами; 1 - только записи, совпадающие с шаблонами)
export BLLIST_FQDN_FILTER_TYPE=0
### Файл с шаблонами FQDN для опции BLLIST_FQDN_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
export BLLIST_FQDN_FILTER_FILE="${CONFIG_DIR}/fqdn_filter"
### Включение опции исключения FQDN из блэклиста
export BLLIST_FQDN_EXCLUDED_ENABLE=0
### Файл с записями FQDN для опции BLLIST_FQDN_EXCLUDED_ENABLE
export BLLIST_FQDN_EXCLUDED_FILE="${CONFIG_DIR}/fqdn_excluded"
### Обрезка www[0-9]. в FQDN (0 - выкл, 1 - вкл)
export BLLIST_STRIP_WWW=1
### Преобразование кириллических доменов в punycode (0 - выкл, 1 - вкл)
@@ -171,27 +179,6 @@ export BLLIST_ALT_NSLOOKUP=0
### Альтернативный DNS-сервер
export BLLIST_ALT_DNS_ADDR="8.8.8.8"
### Источники блэклиста
export RBL_ALL_URL="https://reestr.rublacklist.net/api/v3/snapshot/"
export RBL_IP_URL="https://reestr.rublacklist.net/api/v3/ips/"
export RBL_DPI_URL="https://reestr.rublacklist.net/api/v3/dpi/"
export ZI_ALL_URL="https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv"
#export ZI_ALL_URL="https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw"
export AF_IP_URL="https://antifilter.download/list/allyouneed.lst"
export AF_FQDN_URL="https://antifilter.download/list/domains.lst"
export FZ_URL="https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.00 https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.01 https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.02"
export RA_IP_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/ruantiblock.ip"
export RA_IP_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/ruantiblock.dnsmasq"
export RA_IP_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/update_status"
export RA_FQDN_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/ruantiblock.ip"
export RA_FQDN_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/ruantiblock.dnsmasq"
export RA_FQDN_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/update_status"
export RBL_ENCODING=""
export ZI_ENCODING="CP1251"
export AF_ENCODING=""
export FZ_ENCODING="CP1251"
export RA_ENCODING=""
############################ Configuration #############################
### External config
@@ -200,6 +187,7 @@ export RA_ENCODING=""
CONFIG_SCRIPT="${SCRIPTS_DIR}/config_script"
START_SCRIPT="${SCRIPTS_DIR}/start_script"
STOP_SCRIPT="${SCRIPTS_DIR}/stop_script"
BLLIST_SOURCES_SCRIPT="${SCRIPTS_DIR}/blacklist_sources"
### Config script
[ -f "$CONFIG_SCRIPT" ] && . "$CONFIG_SCRIPT"
@@ -271,6 +259,9 @@ export IP_DATA_FILE_TMP="${IP_DATA_FILE}.tmp"
export DNSMASQ_DATA_FILE_TMP="${DNSMASQ_DATA_FILE}.tmp"
export UPDATE_STATUS_FILE_TMP="${UPDATE_STATUS_FILE}.tmp"
export USER_ENTRIES_STATUS_FILE_TMP="${USER_ENTRIES_STATUS_FILE}.tmp"
DL_IPSET_URL=""
DL_DMASK_URL=""
DL_STAT_URL=""
######################### External functions ###########################
@@ -330,7 +321,7 @@ Download() {
fi
}
DownloadRuabBlacklist() {
DownloadNativeBlacklist() {
local _ip_data_file _dnsmasq_data_file _update_status_file _return_code=0
if [ "$ENABLE_TMP_DOWNLOADS" = "1" ]; then
_ip_data_file="$IP_DATA_FILE_TMP"
@@ -342,45 +333,26 @@ DownloadRuabBlacklist() {
_dnsmasq_data_file="$DNSMASQ_DATA_FILE"
_update_status_file="$UPDATE_STATUS_FILE"
fi
case "$1" in
"ip")
Download "$_ip_data_file" "$RA_IP_IPSET_URL"
if [ -n "$DL_IPSET_URL" -a -n "$DL_DMASK_URL" -a -n "$DL_STAT_URL" ]; then
Download "$_ip_data_file" "$DL_IPSET_URL"
if [ $? -ne 0 ]; then
_return_code=1
else
Download "$_dnsmasq_data_file" "$DL_DMASK_URL"
if [ $? -ne 0 ]; then
_return_code=1
else
Download "$_dnsmasq_data_file" "$RA_IP_DMASK_URL"
Download "$_update_status_file" "$DL_STAT_URL"
if [ $? -ne 0 ]; then
_return_code=1
else
Download "$_update_status_file" "$RA_IP_STAT_URL"
if [ $? -ne 0 ]; then
_return_code=1
fi
fi
fi
;;
"fqdn")
Download "$_dnsmasq_data_file" "$RA_FQDN_DMASK_URL"
if [ $? -ne 0 ]; then
_return_code=1
else
Download "$_ip_data_file" "$RA_FQDN_IPSET_URL"
if [ $? -ne 0 ]; then
_return_code=1
else
Download "$_update_status_file" "$RA_FQDN_STAT_URL"
if [ $? -ne 0 ]; then
_return_code=1
fi
fi
fi
;;
*)
echo " Blacklist configuration error (${1})" >&2
MakeLogRecord "err" "Blacklist configuration error (${1})"
exit 1
;;
esac
fi
else
echo " Native blacklist configuration error (${1})" >&2
MakeLogRecord "err" "Native blacklist configuration error (${1})"
exit 1
fi
if [ "$ENABLE_TMP_DOWNLOADS" = "1" ]; then
if [ $_return_code -eq 0 ]; then
mv -f "$_ip_data_file" "$IP_DATA_FILE"
@@ -961,53 +933,8 @@ StatusOutput() {
############################ Main section ##############################
### Blacklist source and mode
case "$BLLIST_PRESET" in
zapret-info-ip)
### Источник для обновления списка блокировок (zapret-info, rublacklist, antifilter, fz, ruantiblock)
export BLLIST_SOURCE="zapret-info"
### Режим обхода блокировок: ip, fqdn
export BLLIST_MODE="ip"
;;
zapret-info-fqdn)
export BLLIST_SOURCE="zapret-info"
export BLLIST_MODE="fqdn"
;;
rublacklist-ip)
export BLLIST_SOURCE="rublacklist"
export BLLIST_MODE="ip"
;;
rublacklist-fqdn)
export BLLIST_SOURCE="rublacklist"
export BLLIST_MODE="fqdn"
;;
antifilter-ip)
export BLLIST_SOURCE="antifilter"
export BLLIST_MODE="ip"
;;
fz-ip)
export BLLIST_SOURCE="fz"
export BLLIST_MODE="ip"
;;
fz-fqdn)
export BLLIST_SOURCE="fz"
export BLLIST_MODE="fqdn"
;;
ruantiblock-ip)
export BLLIST_SOURCE="ruantiblock"
export BLLIST_MODE="ip"
BLLIST_MODULE="DownloadRuabBlacklist $BLLIST_MODE"
;;
ruantiblock-fqdn)
export BLLIST_SOURCE="ruantiblock"
export BLLIST_MODE="fqdn"
BLLIST_MODULE="DownloadRuabBlacklist $BLLIST_MODE"
;;
*)
export BLLIST_SOURCE=""
export BLLIST_MODE=""
;;
esac
### Blacklist sources
. "$BLLIST_SOURCES_SCRIPT"
return_code=1
case "$1" in
@@ -0,0 +1,73 @@
### Blacklist sources
## rublacklist
export RBL_ALL_URL="https://reestr.rublacklist.net/api/v3/snapshot/"
export RBL_IP_URL="https://reestr.rublacklist.net/api/v3/ips/"
export RBL_DPI_URL="https://reestr.rublacklist.net/api/v3/dpi/"
export RBL_ENCODING=""
## zapret-info
export ZI_ALL_URL="https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv"
#export ZI_ALL_URL="https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw"
export ZI_ENCODING="CP1251"
## antifilter
export AF_IP_URL="https://antifilter.download/list/allyouneed.lst"
export AF_FQDN_URL="https://antifilter.download/list/domains.lst"
export AF_ENCODING=""
## fz
export FZ_URL="https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.00 https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.01 https://raw.githubusercontent.com/fz139/vigruzki/main/dump.xml.02"
export FZ_ENCODING="CP1251"
### Blacklist presets
case "$BLLIST_PRESET" in
zapret-info-ip)
### Источник для обновления списка блокировок (zapret-info, rublacklist, antifilter, fz, ruantiblock)
export BLLIST_SOURCE="zapret-info"
### Режим обхода блокировок: ip, fqdn
export BLLIST_MODE="ip"
;;
zapret-info-fqdn)
export BLLIST_SOURCE="zapret-info"
export BLLIST_MODE="fqdn"
;;
rublacklist-ip)
export BLLIST_SOURCE="rublacklist"
export BLLIST_MODE="ip"
;;
rublacklist-fqdn)
export BLLIST_SOURCE="rublacklist"
export BLLIST_MODE="fqdn"
;;
antifilter-ip)
export BLLIST_SOURCE="antifilter"
export BLLIST_MODE="ip"
;;
fz-ip)
export BLLIST_SOURCE="fz"
export BLLIST_MODE="ip"
;;
fz-fqdn)
export BLLIST_SOURCE="fz"
export BLLIST_MODE="fqdn"
;;
ruantiblock-ip)
export BLLIST_SOURCE="ruantiblock"
export BLLIST_MODE="ip"
BLLIST_MODULE="DownloadNativeBlacklist"
# github
DL_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/ruantiblock.ip"
DL_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/ruantiblock.dnsmasq"
DL_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/ip/update_status"
;;
ruantiblock-fqdn)
export BLLIST_SOURCE="ruantiblock"
export BLLIST_MODE="fqdn"
BLLIST_MODULE="DownloadNativeBlacklist"
# github
DL_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/ruantiblock.ip"
DL_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/ruantiblock.dnsmasq"
DL_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist-1.1/fqdn/update_status"
;;
*)
export BLLIST_SOURCE=""
export BLLIST_MODE=""
;;
esac
@@ -1,6 +1,5 @@
UCI_SECTION="ruantiblock.config"
UCI_VARS="proxy_mode proxy_local_clients nftset_clear_sets allowed_hosts_mode allowed_hosts_list bypass_mode bypass_entries_dns enable_fproxy fproxy_list enable_bllist_proxy if_vpn vpn_gw_ip vpn_route_check tor_trans_port onion_dns_addr t_proxy_port_tcp t_proxy_port_udp t_proxy_allow_udp add_user_entries user_entries_dns user_entries_remote enable_logging bllist_min_entries bllist_module bllist_preset bllist_ip_limit bllist_gr_excluded_nets bllist_summarize_ip bllist_summarize_cidr bllist_ip_filter bllist_ip_filter_type bllist_sd_limit bllist_gr_excluded_sld bllist_fqdn_filter bllist_fqdn_filter_type bllist_enable_idn bllist_alt_nslookup bllist_alt_dns_addr update_at_startup enable_tmp_downloads"
UCI_VARS="proxy_mode proxy_local_clients nftset_clear_sets allowed_hosts_mode allowed_hosts_list bypass_mode bypass_entries_dns enable_fproxy fproxy_list enable_bllist_proxy if_vpn vpn_gw_ip vpn_route_check tor_trans_port onion_dns_addr t_proxy_port_tcp t_proxy_port_udp t_proxy_allow_udp add_user_entries user_entries_dns user_entries_remote enable_logging bllist_min_entries bllist_module bllist_preset bllist_ip_limit bllist_summarize_ip bllist_summarize_cidr bllist_ip_filter bllist_ip_filter_type bllist_sd_limit bllist_fqdn_filter bllist_fqdn_filter_type bllist_enable_idn bllist_alt_nslookup bllist_alt_dns_addr update_at_startup enable_tmp_downloads"
UCI_CMD=`which uci`
if [ $? -ne 0 ]; then
echo " Error! UCI doesn't exists" >&2