diff --git a/autoinstall/autoinstall.sh b/autoinstall/autoinstall.sh index bd5f913..4d37442 100755 --- a/autoinstall/autoinstall.sh +++ b/autoinstall/autoinstall.sh @@ -9,9 +9,9 @@ LUA_MODULE=0 LUCI_APP=1 OWRT_VERSION="current" -RUAB_VERSION="0.9.6-0" -RUAB_MOD_LUA_VERSION="0.9.6-0" -RUAB_LUCI_APP_VERSION="0.9.6-0" +RUAB_VERSION="0.9.7-0" +RUAB_MOD_LUA_VERSION="0.9.7-0" +RUAB_LUCI_APP_VERSION="0.9.7-0" BASE_URL="https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master" PKG_DIR="/tmp" diff --git a/luci-app-ruantiblock/Makefile b/luci-app-ruantiblock/Makefile index bd70704..056d374 100644 --- a/luci-app-ruantiblock/Makefile +++ b/luci-app-ruantiblock/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=0.9.6-0 +PKG_VERSION:=0.9.7-0 LUCI_TITLE:=LuCI support for ruantiblock LUCI_DEPENDS:=+ruantiblock LUCI_PKGARCH:=all diff --git a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/settings.js b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/settings.js index efd2dce..eb3a54e 100644 --- a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/settings.js +++ b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/settings.js @@ -263,12 +263,25 @@ return view.extend({ s.tab('parser_settings_tab', _('Module settings')); + // BLLIST_MIN_ENTRIES + o = s.taboption('parser_settings_tab', form.Value, 'bllist_min_entries', + _("Minimum allowed number of entries")); + o.description = _('If less than the specified number of entries are received from the source, then the lists are not updated'); + o.rmempty = false; + o.datatype = 'uinteger'; + // BLLIST_FQDN_FILTER o = s.taboption('parser_settings_tab', form.Flag, 'bllist_fqdn_filter', _("Enable FQDN filter")); - o.description = _('Exclude domains from blacklist by FQDN filter patterns'); + o.description = _('Pick domains from blacklist by FQDN filter patterns'); o.rmempty = false; + // BLLIST_FQDN_FILTER_TYPE + o = s.taboption('parser_settings_tab', form.ListValue, 'bllist_fqdn_filter_type', + _('FQDN filter type')); + o.value('0', _('All entries except matching expressions')); + o.value('1', _('Only entries matching expressions')); + // BLLIST_FQDN_FILTER_FILE edit dialog o = s.taboption('parser_settings_tab', form.Button, '_fqdn_filter_btn', _("FQDN filter")); @@ -309,9 +322,15 @@ return view.extend({ // BLLIST_IP_FILTER o = s.taboption('parser_settings_tab', form.Flag, 'bllist_ip_filter', _("Enable IP filter")); - o.description = _('Exclude IP addresses from blacklist by IP filter patterns'); + o.description = _('Pick IP addresses from blacklist by IP filter patterns'); o.rmempty = false; + // BLLIST_IP_FILTER_TYPE + o = s.taboption('parser_settings_tab', form.ListValue, 'bllist_ip_filter_type', + _('IP filter type')); + o.value('0', _('All entries except matching expressions')); + o.value('1', _('Only entries matching expressions')); + // BLLIST_IP_FILTER_FILE edit dialog o = s.taboption('parser_settings_tab', form.Button, '_ip_filter_btn', _("IP filter")); diff --git a/luci-app-ruantiblock/po/ru/ruantiblock.po b/luci-app-ruantiblock/po/ru/ruantiblock.po index 2d98e1f..ec89bb1 100644 --- a/luci-app-ruantiblock/po/ru/ruantiblock.po +++ b/luci-app-ruantiblock/po/ru/ruantiblock.po @@ -25,6 +25,9 @@ msgstr "Тревога" msgid "All" msgstr "Все" +msgid "All entries except matching expressions" +msgstr "Все записи, кроме соответствующих выражениям" + msgid "All hosts except listed" msgstr "Все хосты, кроме перечисленных" @@ -114,10 +117,10 @@ msgid "Enable" msgstr "Включить" msgid "Enable FQDN filter" -msgstr "Включить фильтр FQDN" +msgstr "Включить FQDN фильтр" msgid "Enable IP filter" -msgstr "Включить фильтр IP" +msgstr "Включить IP фильтр" msgid "Enabled" msgstr "Включено" @@ -128,18 +131,15 @@ msgstr "Записи" msgid "Error" msgstr "Ошибка" -msgid "Exclude IP addresses from blacklist by IP filter patterns" -msgstr "Исключение IP адресов из блэклиста по шаблонам фильтра IP" - -msgid "Exclude domains from blacklist by FQDN filter patterns" -msgstr "Исключение доменов из блэклиста по шаблонам фильтра FQDN" - msgid "Expecting:" msgstr "Ожидается:" msgid "FQDN filter" msgstr "Фильтр FQDN" +msgid "FQDN filter type" +msgstr "Тип FQDN фильтра" + msgid "Facility" msgstr "Категория" @@ -158,6 +158,9 @@ msgstr "Фильтр хостов" msgid "Hour" msgstr "Час" +msgid "If less than the specified number of entries are received from the source, then the lists are not updated" +msgstr "Если от источника получено меньше указанного количества записей, то списки не обновляются" + msgid "IP address" msgstr "IP-адрес" @@ -167,6 +170,9 @@ msgstr "IP-адреса хостов" msgid "IP filter" msgstr "Фильтр IP" +msgid "IP filter type" +msgstr "Тип IP фильтра" + msgid "IP limit" msgstr "Лимит IP адресов" @@ -224,6 +230,9 @@ msgstr "Сообщение" msgid "Message filter" msgstr "Фильтр сообщений" +msgid "Minimum allowed number of entries" +msgstr "Минимально возможное количество записей" + msgid "Minute" msgstr "Минута" @@ -264,6 +273,9 @@ msgstr "" msgid "One of the following:" msgstr "Одно из следующих значений:" +msgid "Only entries matching expressions" +msgstr "Только записи, соответствующие выражениям" + msgid "Only listed hosts" msgstr "Только перечисленные хосты" @@ -291,6 +303,12 @@ msgstr "" "отдельной строке, символ # в первой позиции строки - " "комментирует строку.
Примеры:" +msgid "Pick IP addresses from blacklist by IP filter patterns" +msgstr "Отбор IP адресов из блэклиста по шаблонам фильтра IP" + +msgid "Pick domains from blacklist by FQDN filter patterns" +msgstr "Отбор доменов из блэклиста по шаблонам фильтра FQDN" + msgid "Proxy mode" msgstr "Режим прокси" diff --git a/luci-app-ruantiblock/po/templates/ruantiblock.pot b/luci-app-ruantiblock/po/templates/ruantiblock.pot index bd71ac8..a85fae8 100644 --- a/luci-app-ruantiblock/po/templates/ruantiblock.pot +++ b/luci-app-ruantiblock/po/templates/ruantiblock.pot @@ -13,6 +13,9 @@ msgstr "" msgid "All" msgstr "" +msgid "All entries except matching expressions" +msgstr "" + msgid "All hosts except listed" msgstr "" @@ -111,18 +114,15 @@ msgstr "" msgid "Error" msgstr "" -msgid "Exclude IP addresses from blacklist by IP filter patterns" -msgstr "" - -msgid "Exclude domains from blacklist by FQDN filter patterns" -msgstr "" - msgid "Expecting:" msgstr "" msgid "FQDN filter" msgstr "" +msgid "FQDN filter type" +msgstr "" + msgid "Facility" msgstr "" @@ -141,6 +141,9 @@ msgstr "" msgid "Hour" msgstr "" +msgid "If less than the specified number of entries are received from the source, then the lists are not updated" +msgstr "" + msgid "IP address" msgstr "" @@ -150,6 +153,9 @@ msgstr "" msgid "IP filter" msgstr "" +msgid "IP filter type" +msgstr "" + msgid "IP limit" msgstr "" @@ -204,6 +210,9 @@ msgstr "" msgid "Message filter" msgstr "" +msgid "Minimum allowed number of entries" +msgstr "" + msgid "Minute" msgstr "" @@ -241,6 +250,9 @@ msgstr "" msgid "One of the following:" msgstr "" +msgid "Only entries matching expressions" +msgstr "" + msgid "Only listed hosts" msgstr "" @@ -262,6 +274,12 @@ msgid "" "on the line.
Examples:" msgstr "" +msgid "Pick IP addresses from blacklist by IP filter patterns" +msgstr "" + +msgid "Pick domains from blacklist by FQDN filter patterns" +msgstr "" + msgid "Proxy mode" msgstr "" diff --git a/ruantiblock-mod-lua/Makefile b/ruantiblock-mod-lua/Makefile index e2bc51f..376f96a 100644 --- a/ruantiblock-mod-lua/Makefile +++ b/ruantiblock-mod-lua/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock-mod-lua -PKG_VERSION:=0.9.6 +PKG_VERSION:=0.9.7 PKG_RELEASE:=0 PKG_MAINTAINER:=gSpot diff --git a/ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua b/ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua index fc13084..c8b7d4b 100755 --- a/ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua +++ b/ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua @@ -43,8 +43,10 @@ local Config = Class(nil, { ["BLLIST_GR_EXCLUDED_SLD"] = true, ["BLLIST_GR_EXCLUDED_MASKS"] = true, ["BLLIST_FQDN_FILTER"] = true, + ["BLLIST_FQDN_FILTER_TYPE"] = true, ["BLLIST_FQDN_FILTER_FILE"] = true, ["BLLIST_IP_FILTER"] = true, + ["BLLIST_IP_FILTER_TYPE"] = true, ["BLLIST_IP_FILTER_FILE"] = true, ["BLLIST_SD_LIMIT"] = true, ["BLLIST_IP_LIMIT"] = true, @@ -130,6 +132,8 @@ end Config.BLLIST_ALT_NSLOOKUP = remap_bool(Config.BLLIST_ALT_NSLOOKUP) Config.BLLIST_ENABLE_IDN = remap_bool(Config.BLLIST_ENABLE_IDN) +Config.BLLIST_FQDN_FILTER_TYPE = remap_bool(Config.BLLIST_FQDN_FILTER_TYPE) +Config.BLLIST_IP_FILTER_TYPE = remap_bool(Config.BLLIST_IP_FILTER_TYPE) Config.BLLIST_STRIP_WWW = remap_bool(Config.BLLIST_STRIP_WWW) Config.BLLIST_FQDN_FILTER = remap_bool(Config.BLLIST_FQDN_FILTER) Config.BLLIST_IP_FILTER = remap_bool(Config.BLLIST_IP_FILTER) @@ -257,15 +261,15 @@ function BlackListParser:convert_to_punycode(input) return input and (idn.encode(input)) end -function BlackListParser:check_filter(str, filter_patterns) +function BlackListParser:check_filter(str, filter_patterns, reverse) if filter_patterns and str then for pattern in pairs(filter_patterns) do if str:match(pattern) then - return true + return not reverse end end end - return false + return reverse end function BlackListParser:get_subnet(ip) @@ -275,7 +279,7 @@ end function BlackListParser:fill_ip_tables(val) if val and val ~= "" then for ip_entry in val:gmatch(self.ip_pattern .. "/?%d?%d?") do - if not self.BLLIST_IP_FILTER or (self.BLLIST_IP_FILTER and not self:check_filter(ip_entry, self.BLLIST_IP_FILTER_PATTERNS)) then + if not self.BLLIST_IP_FILTER or (self.BLLIST_IP_FILTER and not self:check_filter(ip_entry, self.BLLIST_IP_FILTER_PATTERNS, self.BLLIST_IP_FILTER_TYPE)) then if ip_entry:match("^" .. self.ip_pattern .. "$") and not self.ip_table[ip_entry] then local subnet = self:get_subnet(ip_entry) if subnet and (self.BLLIST_GR_EXCLUDED_NETS[subnet] or ((not self.BLLIST_IP_LIMIT or self.BLLIST_IP_LIMIT == 0) or (not self.ip_subnet_table[subnet] or self.ip_subnet_table[subnet] <= self.BLLIST_IP_LIMIT))) then @@ -301,7 +305,7 @@ function BlackListParser:fill_domain_tables(val) if self.BLLIST_STRIP_WWW then val = val:gsub("^www[0-9]?%.", "") end - if not self.BLLIST_FQDN_FILTER or (self.BLLIST_FQDN_FILTER and not self:check_filter(val, self.BLLIST_FQDN_FILTER_PATTERNS)) then + if not self.BLLIST_FQDN_FILTER or (self.BLLIST_FQDN_FILTER and not self:check_filter(val, self.BLLIST_FQDN_FILTER_PATTERNS, self.BLLIST_FQDN_FILTER_TYPE)) then if val:match("^" .. self.fqdn_pattern .. "+$") then elseif self.BLLIST_ENABLE_IDN and val:match("^[^\\/&%?]-[^\\/&%?%.]+%.[^\\/&%?%.]+%.?$") then val = self:convert_to_punycode(val) @@ -461,7 +465,7 @@ end function BlackListParser:run() local return_code = 0 if self:get_http_data(self.url) then - if (self.fqdn_count + self.ip_count + self.cidr_count) > self.BLLIST_MIN_ENTRIES then + if (self.fqdn_count + self.ip_count + self.cidr_count) >= self.BLLIST_MIN_ENTRIES then self:optimize_fqdn_table() self:optimize_ip_table() if self.BLLIST_SUMMARIZE_IP then @@ -576,7 +580,6 @@ local AfIp = Class(Af, { url = Config.AF_IP_URL, ip_string_pattern = "(.-)\n", sink = ip_sink, - BLLIST_MIN_ENTRIES = 100, }) -- ruantiblock diff --git a/ruantiblock-mod-py/Makefile b/ruantiblock-mod-py/Makefile index 18026c3..338ce48 100644 --- a/ruantiblock-mod-py/Makefile +++ b/ruantiblock-mod-py/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock-mod-py -PKG_VERSION:=0.9.6 +PKG_VERSION:=0.9.7 PKG_RELEASE:=0 PKG_MAINTAINER:=gSpot diff --git a/ruantiblock-mod-py/files/usr/libexec/ruantiblock/ruab_parser.py b/ruantiblock-mod-py/files/usr/libexec/ruantiblock/ruab_parser.py index a695362..b818762 100755 --- a/ruantiblock-mod-py/files/usr/libexec/ruantiblock/ruab_parser.py +++ b/ruantiblock-mod-py/files/usr/libexec/ruantiblock/ruab_parser.py @@ -27,8 +27,10 @@ class Config: "BLLIST_GR_EXCLUDED_SLD", "BLLIST_GR_EXCLUDED_MASKS", "BLLIST_FQDN_FILTER", + "BLLIST_FQDN_FILTER_TYPE", "BLLIST_FQDN_FILTER_FILE", "BLLIST_IP_FILTER", + "BLLIST_IP_FILTER_TYPE", "BLLIST_IP_FILTER_FILE", "BLLIST_SD_LIMIT", "BLLIST_IP_LIMIT", @@ -234,12 +236,12 @@ class BlackListParser(Config): pass @staticmethod - def _check_filter(string, filter_patterns): + def _check_filter(string, filter_patterns, reverse=False): if filter_patterns and string: for pattern in filter_patterns: if pattern and pattern.search(string): - return True - return False + return not reverse + return reverse def _get_subnet(self, ip_addr): regexp_obj = self.ip_pattern.fullmatch(ip_addr) @@ -247,7 +249,8 @@ class BlackListParser(Config): def ip_field_processing(self, string): for i in string.split(self.ips_separator): - if self.BLLIST_IP_FILTER and self._check_filter(i, self.BLLIST_IP_FILTER_PATTERNS): + if self.BLLIST_IP_FILTER and self._check_filter( + i, self.BLLIST_IP_FILTER_PATTERNS, self.BLLIST_IP_FILTER_TYPE): continue if self.ip_pattern.fullmatch(i) and i not in self.ip_set: subnet = self._get_subnet(i) @@ -284,7 +287,8 @@ class BlackListParser(Config): if self.BLLIST_STRIP_WWW: string = self.www_pattern.sub("", string) if not self.BLLIST_FQDN_FILTER or ( - self.BLLIST_FQDN_FILTER and not self._check_filter(string, self.BLLIST_FQDN_FILTER_PATTERNS) + self.BLLIST_FQDN_FILTER and not self._check_filter( + string, self.BLLIST_FQDN_FILTER_PATTERNS, self.BLLIST_FQDN_FILTER_TYPE) ): if self.fqdn_pattern.fullmatch(string): string = self._convert_to_punycode(string) @@ -447,7 +451,6 @@ class AfIp(BlackListParser): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.url = self.AF_IP_URL - self.BLLIST_MIN_ENTRIES = 100 def parser_func(self): for entry in self._split_entries(): diff --git a/ruantiblock/Makefile b/ruantiblock/Makefile index 8b443a0..df606ae 100644 --- a/ruantiblock/Makefile +++ b/ruantiblock/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock -PKG_VERSION:=0.9.6 +PKG_VERSION:=0.9.7 PKG_RELEASE:=0 PKG_MAINTAINER:=gSpot diff --git a/ruantiblock/files/etc/config/ruantiblock b/ruantiblock/files/etc/config/ruantiblock index f33239f..e86c3b2 100644 --- a/ruantiblock/files/etc/config/ruantiblock +++ b/ruantiblock/files/etc/config/ruantiblock @@ -13,10 +13,12 @@ config main 'config' option t_proxy_allow_udp '0' option add_user_entries '0' option enable_logging '1' + option bllist_min_entries '3000' option bllist_ip_limit '0' option bllist_summarize_ip '1' option bllist_summarize_cidr '1' 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' @@ -31,6 +33,7 @@ config main 'config' list bllist_gr_excluded_sld 'co.uk' list bllist_gr_excluded_sld 'amazonaws.com' option bllist_fqdn_filter '1' + option bllist_fqdn_filter_type '0' option bllist_enable_idn '0' option bllist_alt_nslookup '0' option bllist_alt_dns_addr '8.8.8.8' diff --git a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf index ef3027d..1093ecd 100644 --- a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf +++ b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf @@ -69,7 +69,7 @@ BLLIST_MODULE="" ### Режим обхода блокировок: ruantiblock-ip, ruantiblock-fqdn, zapret-info-ip, zapret-info-fqdn, rublacklist-ip, rublacklist-fqdn, antifilter-ip BLLIST_PRESET="" ### В случае если из источника получено менее указанного кол-ва записей, то обновления списков не происходит -BLLIST_MIN_ENTRIES=30000 +BLLIST_MIN_ENTRIES=3000 ### Лимит ip адресов. При достижении, в конфиг ipset будет добавлена вся подсеть /24 вместо множества ip-адресов пренадлежащих этой сети (0 - off) BLLIST_IP_LIMIT=0 ### Подсети класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр.). Прим.: "68.183.221. 149.154.162." @@ -80,6 +80,8 @@ BLLIST_SUMMARIZE_IP=0 BLLIST_SUMMARIZE_CIDR=0 ### Фильтрация записей блэклиста по шаблонам из файла BLLIST_IP_FILTER_FILE. Записи (IP, CIDR) попадающие под шаблоны исключаются из кофига ipset (0 - off, 1 - on) BLLIST_IP_FILTER=0 +### Тип фильтра IP (0 - все записи, кроме совпадающих с выражениями; 1 - только записи, совпадающие с выражениями) +BLLIST_IP_FILTER_TYPE=0 ### Файл с шаблонами ip для опции BLLIST_IP_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку) BLLIST_IP_FILTER_FILE="/etc/ruantiblock/ip_filter" ### Лимит субдоменов для группировки. При достижении, в конфиг dnsmasq будет добавлен весь домен 2-го ур-ня вместо множества субдоменов (0 - off) @@ -90,6 +92,8 @@ BLLIST_GR_EXCLUDED_SLD="livejournal.com facebook.com vk.com blog.jp msk.ru net.r BLLIST_GR_EXCLUDED_MASKS="" ### Фильтрация записей блэклиста по шаблонам из файла ENTRIES_FILTER_FILE. Записи (FQDN) попадающие под шаблоны исключаются из кофига dnsmasq (0 - off, 1 - on) export BLLIST_FQDN_FILTER=0 +### Тип фильтра FQDN (0 - все записи, кроме совпадающих с выражениями; 1 - только записи, совпадающие с выражениями) +BLLIST_FQDN_FILTER_TYPE=0 ### Файл с шаблонами FQDN для опции BLLIST_FQDN_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку) export BLLIST_FQDN_FILTER_FILE="/etc/ruantiblock/fqdn_filter" ### Обрезка www[0-9]. в FQDN (0 - off, 1 - on) diff --git a/ruantiblock/files/etc/ruantiblock/scripts/config_script b/ruantiblock/files/etc/ruantiblock/scripts/config_script index 98f02ef..53bff54 100644 --- a/ruantiblock/files/etc/ruantiblock/scripts/config_script +++ b/ruantiblock/files/etc/ruantiblock/scripts/config_script @@ -1,6 +1,6 @@ AWK_CMD="awk" UCI_SECTION="ruantiblock.config" -UCI_VARS="proxy_mode proxy_local_clients ipset_clear_sets allowed_hosts_mode allowed_hosts_list if_vpn tor_trans_port tor_allow_udp onion_dns_addr t_proxy_port_tcp t_proxy_port_udp t_proxy_allow_udp add_user_entries user_entries_dns enable_logging bllist_module bllist_preset bllist_ip_limit bllist_gr_excluded_nets bllist_summarize_ip bllist_summarize_cidr bllist_ip_filter bllist_sd_limit bllist_gr_excluded_sld bllist_fqdn_filter bllist_enable_idn bllist_alt_nslookup bllist_alt_dns_addr update_at_startup" +UCI_VARS="proxy_mode proxy_local_clients ipset_clear_sets allowed_hosts_mode allowed_hosts_list if_vpn tor_trans_port tor_allow_udp onion_dns_addr t_proxy_port_tcp t_proxy_port_udp t_proxy_allow_udp add_user_entries user_entries_dns 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" eval `uci show "$UCI_SECTION" | $AWK_CMD -F "=" -v UCI_VARS="$UCI_VARS" ' BEGIN { diff --git a/ruantiblock/files/usr/bin/ruantiblock b/ruantiblock/files/usr/bin/ruantiblock index 7e1d20a..c5ddee6 100755 --- a/ruantiblock/files/usr/bin/ruantiblock +++ b/ruantiblock/files/usr/bin/ruantiblock @@ -83,7 +83,7 @@ export BLLIST_MODULE="" ### Режим обхода блокировок: ruantiblock-fqdn, ruantiblock-ip, zapret-info-fqdn, zapret-info-ip, rublacklist-fqdn, rublacklist-ip, antifilter-ip export BLLIST_PRESET="" ### В случае если из источника получено менее указанного кол-ва записей, то обновления списков не происходит -export BLLIST_MIN_ENTRIES=30000 +export BLLIST_MIN_ENTRIES=3000 ### Лимит IP адресов. При достижении, в конфиг ipset будет добавлена вся подсеть /24 вместо множества IP адресов пренадлежащих этой сети (0 - off) export BLLIST_IP_LIMIT=0 ### Подсети класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр.). Прим.: "68.183.221. 149.154.162." @@ -94,6 +94,8 @@ export BLLIST_SUMMARIZE_IP=0 export BLLIST_SUMMARIZE_CIDR=0 ### Фильтрация записей блэклиста по шаблонам из файла BLLIST_IP_FILTER_FILE. Записи (IP, CIDR) попадающие под шаблоны исключаются из кофига ipset (0 - off, 1 - on) export BLLIST_IP_FILTER=0 +### Тип фильтра IP (0 - все записи, кроме совпадающих с выражениями; 1 - только записи, совпадающие с выражениями) +export BLLIST_IP_FILTER_TYPE=0 ### Файл с шаблонами IP для опции BLLIST_IP_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку) export BLLIST_IP_FILTER_FILE="${CONFIG_DIR}/ip_filter" ### Лимит субдоменов для группировки. При достижении, в конфиг dnsmasq будет добавлен весь домен 2-го ур-ня вместо множества субдоменов (0 - off) @@ -104,6 +106,8 @@ export BLLIST_GR_EXCLUDED_SLD="livejournal.com facebook.com vk.com blog.jp msk.r export BLLIST_GR_EXCLUDED_MASKS="" ### Фильтрация записей блэклиста по шаблонам из файла ENTRIES_FILTER_FILE. Записи (FQDN) попадающие под шаблоны исключаются из кофига dnsmasq (0 - off, 1 - on) 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" ### Обрезка www[0-9]. в FQDN (0 - off, 1 - on) diff --git a/screenshots/04.jpg b/screenshots/04.jpg index f4345d2..2aca8d7 100644 Binary files a/screenshots/04.jpg and b/screenshots/04.jpg differ