From 0cc02a7dddd146f772e079115cc929b7a322a803 Mon Sep 17 00:00:00 2001 From: gSpot Date: Wed, 6 Nov 2024 15:30:03 +0300 Subject: [PATCH] v2.1. Refactoring, fixes & improvements. --- autoinstall/2.x/autoinstall.sh | 6 +- luci-app-ruantiblock/Makefile | 2 +- .../resources/view/ruantiblock/info.js | 259 +++++++----------- .../resources/view/ruantiblock/settings.js | 30 +- .../resources/view/ruantiblock/tools.js | 59 ++-- luci-app-ruantiblock/po/ru/ruantiblock.po | 17 +- .../po/templates/ruantiblock.pot | 15 +- ruantiblock-mod-lua/Makefile | 2 +- ruantiblock-mod-py/Makefile | 2 +- ruantiblock/Makefile | 2 +- ruantiblock/files/etc/config/ruantiblock | 5 - .../files/etc/hotplug.d/iface/40-ruantiblock | 2 +- .../files/etc/ruantiblock/ruantiblock.conf | 8 +- ruantiblock/files/usr/bin/ruantiblock | 156 +++-------- .../ruantiblock/config_script_user_instances | 4 +- .../files/usr/share/ruantiblock/info_output | 20 +- .../files/usr/share/ruantiblock/nft_functions | 170 ++++-------- screenshots/07.jpg | Bin 191931 -> 207696 bytes 18 files changed, 282 insertions(+), 477 deletions(-) diff --git a/autoinstall/2.x/autoinstall.sh b/autoinstall/2.x/autoinstall.sh index 78812df..f9cb56e 100755 --- a/autoinstall/2.x/autoinstall.sh +++ b/autoinstall/2.x/autoinstall.sh @@ -10,9 +10,9 @@ LUCI_APP=1 HTTPS_DNS_PROXY=1 OWRT_VERSION="current" -RUAB_VERSION="2.0.0-r1" -RUAB_MOD_LUA_VERSION="2.0.0-r1" -RUAB_LUCI_APP_VERSION="2.0.0-1" +RUAB_VERSION="2.1.0-r1" +RUAB_MOD_LUA_VERSION="2.1.0-r1" +RUAB_LUCI_APP_VERSION="2.1.0-1" 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 cad0f56..9a42bad 100644 --- a/luci-app-ruantiblock/Makefile +++ b/luci-app-ruantiblock/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ruantiblock -PKG_VERSION:=2.0.0 +PKG_VERSION:=2.1.0 PKG_RELEASE:=1 LUCI_TITLE:=LuCI support for ruantiblock LUCI_DEPENDS:=+ruantiblock diff --git a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/info.js b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/info.js index c3ab9e7..d898a7f 100644 --- a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/info.js +++ b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/info.js @@ -43,97 +43,61 @@ return view.extend({ }, formatNftJson(data) { - let output = { 'sink': [] }; - if(data.sink.nftables && data.sink.nftables.length > 1) { - let rules = []; - - for(let i of data.sink.nftables) { - if(i.rule) { - let instance = (i.rule.comment === ' ') ? '-main-' : i.rule.comment; - let proto, bytes; - i.rule.expr.forEach(e => { - if(e.match && e.match.left && e.match.left.meta && e.match.left.meta.key && e.match.left.meta.key == "l4proto") { - proto = e.match.right; - } - else if(e.counter) { - bytes = e.counter.bytes; - }; - }); - rules.push([ instance, proto, bytes ]); - } else { - continue; - }; - }; - - if(rules.length > 0) { - output.sink = rules; - }; - }; - - if(data.sink_local && data.sink_local.nftables && data.sink_local.nftables.length > 1) { - output.sink_local = []; - let rules = []; - - for(let i of data.sink_local.nftables) { - if(i.rule) { - let instance = (i.rule.comment === ' ') ? '-main-' : i.rule.comment; - let proto, bytes; - i.rule.expr.forEach(e => { - if(e.match && e.match.left && e.match.left.meta && e.match.left.meta.key && e.match.left.meta.key == "l4proto") { - proto = e.match.right; - } - else if(e.counter) { - bytes = e.counter.bytes; - }; - }); - rules.push([ instance, proto, bytes ]); - } else { - continue; - }; - }; - - if(rules.length > 0) { - output.sink_local = rules; - }; - }; - - function parseDnsmasqData(set) { - let sArray = []; - if(set.nftables && set.nftables.length > 1) { - set.nftables.forEach(e => { - if(e.set && e.set.elem) { - e.set.elem.forEach(i => { - if(i.elem) { - sArray.push([ i.elem.val, i.elem.expires ]); - }; - }); + let output = { 'rules': [] }; + if(data.rules.nftables && data.rules.nftables.length > 1) { + for(let i of data.rules.nftables) { + if(!i.rule) continue; + let set, bytes; + i.rule.expr.forEach(e => { + if(e.match && e.match.left && e.match.left.payload) { + set = e.match.right.replace('@', ''); + } + else if(e.counter) { + bytes = e.counter.bytes; }; }); + output.rules.push([ set, bytes ]); }; - return sArray; - }; - if(data.dnsmasq) { - output.dnsmasq = parseDnsmasqData(data.dnsmasq); - }; - if(data.dnsmasq_bypass) { - output.dnsmasq_bypass = parseDnsmasqData(data.dnsmasq_bypass); - }; - if(data.dnsmasq_user_instances) { - output.dnsmasq_user_instances = []; - if(data.dnsmasq_user_instances && data.dnsmasq_user_instances.length > 1) { - for(let i of data.dnsmasq_user_instances) { - if(i.nftables) { - let name; - i.nftables.forEach(e => { - if(e.set) { - name = e.set.name; - }; - }); - output.dnsmasq_user_instances.push([ name, parseDnsmasqData(i) ]); + function parseDnsmasqData(set) { + let sArray = []; + if(set.nftables && set.nftables.length > 1) { + set.nftables.forEach(e => { + if(e.set && e.set.elem) { + e.set.elem.forEach(i => { + if(i.elem) { + sArray.push([ i.elem.val, i.elem.expires ]); + }; + }); + }; + }); + }; + return sArray; + }; + + if(data.dnsmasq) { + output.dnsmasq = parseDnsmasqData(data.dnsmasq); + }; + if(data.dnsmasq_bypass) { + output.dnsmasq_bypass = parseDnsmasqData(data.dnsmasq_bypass); + }; + if(data.dnsmasq_user_instances) { + output.dnsmasq_user_instances = []; + if(data.dnsmasq_user_instances && data.dnsmasq_user_instances.length > 1) { + for(let i of data.dnsmasq_user_instances) { + if(i.nftables) { + let name; + i.nftables.forEach(e => { + if(e.set) { + name = e.set.name; + }; + }); + output.dnsmasq_user_instances.push([ name, parseDnsmasqData(i) ]); + }; }; }; }; + }; return output; }, @@ -228,20 +192,11 @@ return view.extend({ let nft_data = this.formatNftJson(data); - if(nft_data.sink.length > 0) { - for(let i of nft_data.sink) { - let elem = document.getElementById('sink.' + i[0] + '.' + (i[1] || 'all')); + if(nft_data.rules.length > 0) { + for(let [set, bytes] of nft_data.rules) { + let elem = document.getElementById('rules.' + set); if(elem) { - elem.textContent = i[2]; - }; - }; - }; - - if(nft_data.sink_local && nft_data.sink_local.length > 0) { - for(let i of nft_data.sink_local) { - let elem = document.getElementById('sink_local.' + i[0] + '.' + (i[1] || 'all')); - if(elem) { - elem.textContent = i[2]; + elem.textContent = bytes; }; }; }; @@ -267,6 +222,14 @@ return view.extend({ }); }, + formatRuleDescription(s) { + return (s.length >= 1) ? ( + s.replace(/^c\.?(.*)/, '$1 CIDR').replace(/^i\.?(.*)/, '$1 IP') + .replace(/^d\.?(.*)/, '$1 dnsmasq').replace(/^onion\.?(.*)/, '$1 onion') + .replace(/^bi/, 'bypass IP').replace(/^bd/, 'bypass dnsmasq') + ) : ''; + }, + load() { return fs.exec_direct(tools.execPath, [ 'html-info' ], 'json').catch(e => { ui.addNotification(null, E('p', _('Unable to execute or read contents') @@ -286,10 +249,10 @@ return view.extend({ let update_status = null, user_entries = null, - sink = null, - sink_local = null, + rules = null, dnsmasq = null, - dnsmasqUserInstances = null; + dnsmasqUserInstances = null, + dnsmasqBypass = null; if(data) { if(data.status === 'enabled') { @@ -350,87 +313,42 @@ return view.extend({ let nft_data = this.formatNftJson(data); - if(nft_data.sink) { - let table = E('table', { 'class': 'table' }, [ + if(nft_data.rules) { + let table_rules = E('table', { 'class': 'table' }, [ E('tr', { 'class': 'tr table-titles' }, [ E('th', { 'class': 'th left', 'style': 'min-width:33%' }, - _('Instance')), - E('th', { 'class': 'th left' }, _('Protocol')), + _('Match-set')), + E('th', { 'class': 'th left' }, _('Description')), E('th', { 'class': 'th left' }, _('Bytes')), ]), ]); - for(let i of nft_data.sink) { - let instance = i[0]; - let proto = (i[1] === undefined) ? _('all') : i[1]; - let bytes = i[2]; - if(!instance) { + for(let [set, bytes] of nft_data.rules) { + if(!set) { continue; }; - table.append( + table_rules.append( E('tr', { 'class': 'tr' }, [ + E('td',{ + 'class' : 'td left', + 'data-title': _('Match-set'), + }, set), E('td', { 'class' : 'td left', - 'data-title': _('Instance'), - }, instance), + 'data-title': _('Description'), + }, this.formatRuleDescription(set)), E('td', { 'class' : 'td left', - 'data-title': _('Protocol'), - }, proto), - E('td', { - 'class' : 'td left', - 'id' : 'sink.' + instance + '.' + (i[1] || 'all'), + 'id' : 'rules.' + set, 'data-title': _('Bytes'), }, bytes), ]) ); - }; - sink = E([ - E('h3', {}, _('Transit traffic')), - table, - ]); - }; - if(nft_data.sink_local) { - let table = E('table', { 'class': 'table' }, [ - E('tr', { 'class': 'tr table-titles' }, [ - E('th', { 'class': 'th left', 'style': 'min-width:33%' }, - _('Instance')), - E('th', { 'class': 'th left' }, _('Protocol')), - E('th', { 'class': 'th left' }, _('Bytes')), - ]), - ]); - for(let i of nft_data.sink_local) { - let instance = i[0]; - let proto = (i[1] === undefined) ? _('all') : i[1]; - let bytes = i[2]; - - if(!instance) { - continue; - }; - table.append( - E('tr', { 'class': 'tr' }, [ - E('td', { - 'class' : 'td left', - 'data-title': _('Instance'), - }, instance), - E('td', { - 'class' : 'td left', - 'data-title': _('Protocol'), - }, proto), - E('td', { - 'class' : 'td left', - 'id' : 'sink_local.' + instance + '.' + (i[1] || 'all'), - 'data-title': _('Bytes'), - }, bytes), - ]) - ); - - }; - sink_local = E([ - E('h3', {}, _('Local traffic')), - table, + rules = E([ + E('h3', {}, _('Nftables rules')), + table_rules, ]); }; @@ -462,6 +380,17 @@ return view.extend({ }; }; + if(nft_data.dnsmasq_bypass) { + let rdbTableWrapper = E('div', { + 'id' : 'rdbTableWrapper', + 'style': 'width:100%' + }, this.makeDnsmasqTable(nft_data.dnsmasq_bypass, _('Dnsmasq bypass'))); + + dnsmasqBypass = E([ + rdbTableWrapper, + ]); + }; + poll.add(L.bind(this.pollInfo, this), this.pollInterval); } else { update_status = E('em', {}, _('Status') + ' : ' + _('disabled')); @@ -477,7 +406,7 @@ return view.extend({ E('div', { 'class': 'cbi-section-node' }, update_status) ), E('div', { 'class': 'cbi-section fade-in' }, - E('div', { 'class': 'cbi-section-node' }, sink) + E('div', { 'class': 'cbi-section-node' }, rules) ), ]; @@ -490,10 +419,10 @@ return view.extend({ ); } - if(sink_local) { + if(dnsmasqBypass) { layout.splice(5, 0, E('div', { 'class': 'cbi-section fade-in' }, - E('div', { 'class': 'cbi-section-node' }, sink_local) + E('div', { 'class': 'cbi-section-node' }, dnsmasqBypass) ) ); }; 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 1f0147c..ae6a893 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 @@ -248,12 +248,14 @@ return view.extend({ o = s.taboption('tor_tab', form.Value, 'tor_trans_port', _('Transparent proxy port')); o.rmempty = false; + o.default = tools.defaultConfig.tor_trans_port; o.datatype = 'port'; // ONION_DNS_ADDR o = s.taboption('tor_tab', form.Value, 'onion_dns_addr', _("Optional DNS resolver for '.onion' zone"), 'ipaddress#port'); o.rmempty = false; + o.default = tools.defaultConfig.onion_dns_addr; o.validate = this.validateIpPort; // Torrc edit dialog @@ -274,7 +276,7 @@ return view.extend({ o.multiple = false; o.noaliases = true; o.rmempty = false; - o.default = 'tun0'; + o.default = tools.defaultConfig.if_vpn; // VPN_GW_IP o = s.taboption('vpn_tab', form.Value, 'vpn_gw_ip', @@ -307,17 +309,20 @@ return view.extend({ o = s.taboption('tproxy_tab', form.Value, 't_proxy_port_tcp', _('Transparent proxy TCP port')); o.rmempty = false; + o.default = tools.defaultConfig.t_proxy_port_tcp; o.datatype = 'port'; // T_PROXY_ALLOW_UDP o = s.taboption('tproxy_tab', form.Flag, 't_proxy_allow_udp', _('Send UDP traffic to transparent proxy')); o.rmempty = false; + o.default = 0; // T_PROXY_PORT_UDP o = s.taboption('tproxy_tab', form.Value, 't_proxy_port_udp', _('Transparent proxy UDP port')); o.rmempty = false; + o.default = tools.defaultConfig.t_proxy_port_udp; o.datatype = 'port'; @@ -331,6 +336,7 @@ return view.extend({ o.value('1', 'Tor'); o.value('2', 'VPN'); o.value('3', _('Transparent proxy')); + o.default = tools.defaultConfig.proxy_mode; // BLLIST_PRESET let bllist_preset = s.taboption('blacklist_tab', form.ListValue, @@ -375,6 +381,7 @@ return view.extend({ _('Enable full proxy mode')); o.description = _('All traffic of the specified hosts passes through the proxy, without a blacklist'); o.rmempty = false; + o.default = 0; // FPROXY_LIST o = s.taboption('blacklist_tab', form.DynamicList, 'fproxy_list', @@ -531,7 +538,7 @@ return view.extend({ _('Enabled'), ); o.rmempty = false; - o.default = '1'; + o.default = 1; o.editable = true; o.modalonly = false; @@ -547,14 +554,7 @@ return view.extend({ o.value('1', 'Tor'); o.value('2', 'VPN'); o.value('3', _('Transparent proxy')); - o.default = '2'; - o.modalonly = true; - - // U_SKIP_MARKED_PACKETS - o = ss.taboption('u_main_tab', form.Flag, 'u_skip_marked_packets', - _('Lowest priority')); - o.description = _('This proxy will receive traffic last, even after the main blacklist'); - o.rmempty = false; + o.default = tools.defaultConfig.proxy_mode; o.modalonly = true; // U_ENABLE_FPROXY @@ -562,6 +562,7 @@ return view.extend({ _('Enable full proxy mode')); o.description = _('All traffic of the specified hosts passes through the proxy, without a blacklist'); o.rmempty = false; + o.default = 0; o.modalonly = true; // U_FPROXY_LIST @@ -579,6 +580,7 @@ return view.extend({ o = ss.taboption('u_tor_tab', form.Value, 'u_tor_trans_port', _('Transparent proxy port')); o.rmempty = false; + o.default = tools.defaultConfig.tor_trans_port; o.datatype = 'port'; o.modalonly = true; @@ -586,6 +588,7 @@ return view.extend({ o = ss.taboption('u_tor_tab', form.Value, 'u_onion_dns_addr', _("Optional DNS resolver for '.onion' zone"), 'ipaddress#port'); o.rmempty = false; + o.default = tools.defaultConfig.onion_dns_addr; o.validate = this.validateIpPort; o.modalonly = true; @@ -599,7 +602,7 @@ return view.extend({ o.multiple = false; o.noaliases = true; o.rmempty = false; - o.default = 'tun0'; + o.default = tools.defaultConfig.if_vpn; o.modalonly = true; // U_VPN_GW_IP @@ -625,19 +628,22 @@ return view.extend({ o = ss.taboption('u_tproxy_tab', form.Value, 'u_t_proxy_port_tcp', _('Transparent proxy TCP port')); o.rmempty = false; + o.default = tools.defaultConfig.t_proxy_port_tcp; o.datatype = 'port'; o.modalonly = true; // U_T_PROXY_ALLOW_UDP o = ss.taboption('u_tproxy_tab', form.Flag, 'u_t_proxy_allow_udp', _('Send UDP traffic to transparent proxy')); - o.rmempty = false; + o.rmempty = false; + o.default = 0; o.modalonly = true; // U_T_PROXY_PORT_UDP o = ss.taboption('u_tproxy_tab', form.Value, 'u_t_proxy_port_udp', _('Transparent proxy UDP port')); o.rmempty = false; + o.default = tools.defaultConfig.t_proxy_port_udp; o.datatype = 'port'; o.modalonly = true; diff --git a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js index 8bd97a8..499b43e 100644 --- a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js +++ b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js @@ -34,25 +34,25 @@ document.head.append(E('style', {'type': 'text/css'}, `)); return baseclass.extend({ - appName : 'ruantiblock', - execPath : '/usr/bin/ruantiblock', - tokenFile : '/var/run/ruantiblock.token', - parsersDir : '/usr/libexec/ruantiblock', - dnsmasqCfgDirsRoot: '/tmp', - torrcFile : '/etc/tor/torrc', - userEntriesFile : '/etc/ruantiblock/user_entries', - userListsDir : '/etc/ruantiblock/user_lists', - bypassEntriesFile : '/etc/ruantiblock/bypass_entries', - fqdnFilterFile : '/etc/ruantiblock/fqdn_filter', - ipFilterFile : '/etc/ruantiblock/ip_filter', - grExcludedNetsFile: '/etc/ruantiblock/gr_excluded_nets', - grExcludedSldFile : '/etc/ruantiblock/gr_excluded_sld', - crontabFile : '/etc/crontabs/root', - infoLabelStarting : '' + _('Starting') + '', - infoLabelRunning : '' + _('Enabled') + '', - infoLabelUpdating : '' + _('Updating') + '', - infoLabelStopped : '' + _('Disabled') + '', - infoLabelError : '' + _('Error') + '', + appName : 'ruantiblock', + execPath : '/usr/bin/ruantiblock', + tokenFile : '/var/run/ruantiblock.token', + parsersDir : '/usr/libexec/ruantiblock', + dnsmasqCfgDirsRoot : '/tmp', + torrcFile : '/etc/tor/torrc', + userEntriesFile : '/etc/ruantiblock/user_entries', + userListsDir : '/etc/ruantiblock/user_lists', + bypassEntriesFile : '/etc/ruantiblock/bypass_entries', + fqdnFilterFile : '/etc/ruantiblock/fqdn_filter', + ipFilterFile : '/etc/ruantiblock/ip_filter', + grExcludedNetsFile : '/etc/ruantiblock/gr_excluded_nets', + grExcludedSldFile : '/etc/ruantiblock/gr_excluded_sld', + crontabFile : '/etc/crontabs/root', + infoLabelStarting : '' + _('Starting') + '', + infoLabelRunning : '' + _('Enabled') + '', + infoLabelUpdating : '' + _('Updating') + '', + infoLabelStopped : '' + _('Disabled') + '', + infoLabelError : '' + _('Error') + '', blacklistPresets: { 'ruantiblock-fqdn': [ 'ruantiblock', 'fqdn', 'https://github.com/gSpotx2f/ruantiblock_blacklist' ], @@ -64,6 +64,15 @@ return baseclass.extend({ 'antifilter-ip' : [ '*antifilter', 'ip', 'https://antifilter.download' ], }, + defaultConfig: { + 'proxy_mode' : '2', + 'tor_trans_port' : '9040', + 'onion_dns_addr' : '127.0.0.1#9053', + 'if_vpn' : 'tun0', + 't_proxy_port_tcp': '1100', + 't_proxy_port_udp': '1100', + }, + callInitStatus: rpc.declare({ object: 'luci', method: 'getInitList', @@ -107,11 +116,11 @@ return baseclass.extend({ return (v && typeof(v) === 'string') ? v.trim().replace(/\r?\n/g, '') : v; }, - makeStatusString: function( - app_status_code, - bllist_preset, - bllist_module, - vpn_route_status_code) { + makeStatusString( + app_status_code, + bllist_preset, + bllist_module, + vpn_route_status_code) { let app_status_label; let spinning = ''; @@ -226,7 +235,7 @@ return baseclass.extend({ let textarea = document.getElementById('widget.modal_content'); let value = textarea.value.trim().replace(/\r\n/g, '\n') + '\n'; - return fs.write(this.file, value).then(async rc => { + return fs.write(this.file, value).then(rc => { textarea.value = value; ui.addNotification(null, E('p', _('Contents have been saved.')), 'info'); diff --git a/luci-app-ruantiblock/po/ru/ruantiblock.po b/luci-app-ruantiblock/po/ru/ruantiblock.po index 13097f9..49f969c 100644 --- a/luci-app-ruantiblock/po/ru/ruantiblock.po +++ b/luci-app-ruantiblock/po/ru/ruantiblock.po @@ -272,9 +272,6 @@ msgstr "Список хостов, которые исключаются из о msgid "Loading" msgstr "Загрузка" -msgid "Local traffic" -msgstr "Локальный трафик" - msgid "Log" msgstr "Лог" @@ -287,14 +284,11 @@ msgstr "Уровни логирования" msgid "Logread not found" msgstr "Logread не найден" -msgid "Lowest priority" -msgstr "Самый низкий приоритет" - msgid "Main settings" msgstr "Основные настройки" msgid "Match-set" -msgstr "Правило" +msgstr "Сет" msgid "Message" msgstr "Сообщение" @@ -314,6 +308,9 @@ msgstr "Настройки модуля" msgid "Name" msgstr "Имя" +msgid "Nftables rules" +msgstr "Правила Nftables" + msgid "No Sсhedule" msgstr "Нет расписания" @@ -502,9 +499,6 @@ msgid "" msgstr "" "Служба будет выключена и все данные блэклиста будут удалены. Продолжить?" -msgid "This proxy will receive traffic last, even after the main blacklist" -msgstr "В этот прокси трафик будет попадать в последнюю очередь, даже после основного блэклиста" - msgid "Time" msgstr "Время" @@ -523,9 +517,6 @@ msgstr "Конфигурационный файл Tor" msgid "Tor mode" msgstr "Режим Tor" -msgid "Transit traffic" -msgstr "Транзитный трафик" - msgid "Transparent proxy" msgstr "Прозрачный прокси" diff --git a/luci-app-ruantiblock/po/templates/ruantiblock.pot b/luci-app-ruantiblock/po/templates/ruantiblock.pot index 89473c7..bf117fd 100644 --- a/luci-app-ruantiblock/po/templates/ruantiblock.pot +++ b/luci-app-ruantiblock/po/templates/ruantiblock.pot @@ -253,9 +253,6 @@ msgstr "" msgid "Loading" msgstr "" -msgid "Local traffic" -msgstr "" - msgid "Log" msgstr "" @@ -268,9 +265,6 @@ msgstr "" msgid "Logread not found" msgstr "" -msgid "Lowest priority" -msgstr "" - msgid "Main settings" msgstr "" @@ -295,6 +289,9 @@ msgstr "" msgid "Name" msgstr "" +msgid "Nftables rules" +msgstr "" + msgid "No Sсhedule" msgstr "" @@ -457,9 +454,6 @@ msgid "" "Continue?" msgstr "" -msgid "This proxy will receive traffic last, even after the main blacklist" -msgstr "" - msgid "Time" msgstr "" @@ -478,9 +472,6 @@ msgstr "" msgid "Tor mode" msgstr "" -msgid "Transit traffic" -msgstr "" - msgid "Transparent proxy" msgstr "" diff --git a/ruantiblock-mod-lua/Makefile b/ruantiblock-mod-lua/Makefile index 366ecd7..c1115fd 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:=2.0.0 +PKG_VERSION:=2.1.0 PKG_RELEASE:=1 PKG_MAINTAINER:=gSpot diff --git a/ruantiblock-mod-py/Makefile b/ruantiblock-mod-py/Makefile index 74af266..d5cb4c4 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:=2.0.0 +PKG_VERSION:=2.1.0 PKG_RELEASE:=1 PKG_MAINTAINER:=gSpot diff --git a/ruantiblock/Makefile b/ruantiblock/Makefile index db35aa1..249dd19 100644 --- a/ruantiblock/Makefile +++ b/ruantiblock/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock -PKG_VERSION:=2.0.0 +PKG_VERSION:=2.1.0 PKG_RELEASE:=1 PKG_MAINTAINER:=gSpot diff --git a/ruantiblock/files/etc/config/ruantiblock b/ruantiblock/files/etc/config/ruantiblock index 412ffaf..4cb8b19 100644 --- a/ruantiblock/files/etc/config/ruantiblock +++ b/ruantiblock/files/etc/config/ruantiblock @@ -44,7 +44,6 @@ config user_instance 'list1' option u_enable_entries_remote_proxy '0' option u_entries_dns '' option u_enable_fproxy '0' - option u_skip_marked_packets '0' config user_instance 'list2' option u_enabled '0' @@ -59,7 +58,6 @@ config user_instance 'list2' option u_enable_entries_remote_proxy '0' option u_entries_dns '' option u_enable_fproxy '0' - option u_skip_marked_packets '0' config user_instance 'list3' option u_enabled '0' @@ -74,7 +72,6 @@ config user_instance 'list3' option u_enable_entries_remote_proxy '0' option u_entries_dns '' option u_enable_fproxy '0' - option u_skip_marked_packets '0' config user_instance 'list4' option u_enabled '0' @@ -89,7 +86,6 @@ config user_instance 'list4' option u_enable_entries_remote_proxy '0' option u_entries_dns '' option u_enable_fproxy '0' - option u_skip_marked_packets '0' config user_instance 'list5' option u_enabled '0' @@ -104,4 +100,3 @@ config user_instance 'list5' option u_enable_entries_remote_proxy '0' option u_entries_dns '' option u_enable_fproxy '0' - option u_skip_marked_packets '0' diff --git a/ruantiblock/files/etc/hotplug.d/iface/40-ruantiblock b/ruantiblock/files/etc/hotplug.d/iface/40-ruantiblock index f354656..28c431d 100755 --- a/ruantiblock/files/etc/hotplug.d/iface/40-ruantiblock +++ b/ruantiblock/files/etc/hotplug.d/iface/40-ruantiblock @@ -7,7 +7,7 @@ if [ "$ACTION" = "ifup" ]; then USER_INSTANCES_COMMON="/usr/share/ruantiblock/user_instances_common" CONFIG_SCRIPT_USER_INSTANCES="/usr/share/ruantiblock/config_script_user_instances" USER_INSTANCES_DIR="/etc/ruantiblock/user_instances" - USER_INSTANCE_VARS="U_ENABLED U_NAME U_PROXY_MODE U_TOR_TRANS_PORT U_ONION_DNS_ADDR U_IF_VPN U_VPN_GW_IP U_T_PROXY_TYPE U_T_PROXY_PORT_TCP U_T_PROXY_PORT_UDP U_T_PROXY_ALLOW_UDP U_USER_ENTRIES_DNS U_USER_ENTRIES_REMOTE U_ENABLE_ENTRIES_REMOTE_PROXY U_ENABLE_FPROXY U_FPROXY_LIST U_SKIP_MARKED_PACKETS" + USER_INSTANCE_VARS="U_ENABLED U_NAME U_PROXY_MODE U_TOR_TRANS_PORT U_ONION_DNS_ADDR U_IF_VPN U_VPN_GW_IP U_T_PROXY_TYPE U_T_PROXY_PORT_TCP U_T_PROXY_PORT_UDP U_T_PROXY_ALLOW_UDP U_USER_ENTRIES_DNS U_USER_ENTRIES_REMOTE U_ENABLE_ENTRIES_REMOTE_PROXY U_ENABLE_FPROXY U_FPROXY_LIST" USER_INSTANCES_MAX=10 DEBUG=0 IF_VPN_CURRENT="" diff --git a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf index 4eacf1b..6006743 100644 --- a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf +++ b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf @@ -2,13 +2,13 @@ ### Настройки ruantiblock ### ### Директория данных (генерируемые конфиги dnsmasq, nftset и пр.) -DATA_DIR="/tmp/ruantiblock" +DATA_DIR="/var/ruantiblock" ### Директория модулей MODULES_DIR="/usr/libexec/ruantiblock" ### Директория PID-файлов и файлов статуса -RUN_FILES_DIR="/tmp/run" +RUN_FILES_DIR="/var/run" ### Директория доп. конфигов dnsmasq -DNSMASQ_CFG_DIR="/tmp/dnsmasq.d" +DNSMASQ_CFG_DIR="/var/dnsmasq.d" ### Команда для перезапуска dnsmasq DNSMASQ_RESTART_CMD="/etc/init.d/dnsmasq restart" ### Директория для html-страницы статуса (не используется в OpenWrt) @@ -70,8 +70,6 @@ USER_ENTRIES_REMOTE_DOWNLOAD_ATTEMPTS=3 USER_ENTRIES_REMOTE_DOWNLOAD_TIMEOUT=60 ### Кол-во экземпляров записей пользователя (не более 50!) USER_INSTANCES_MAX=5 -### Пропускать мимо фильтра пакеты уже помеченные в записях пользователя (0 - выкл, 1 - вкл) -SKIP_MARKED_PACKETS=0 ### Режим списка записей, исключаемых из обхода блокировок (0 - выкл, 1 - вкл) BYPASS_MODE=0 ### DNS-сервер для исключаемых записей (пустая строка - без DNS-сервера). Можно с портом: 8.8.8.8#53. Если в записи указан свой DNS-сервер - он имеет приоритет diff --git a/ruantiblock/files/usr/bin/ruantiblock b/ruantiblock/files/usr/bin/ruantiblock index e9dc6be..e01dad9 100755 --- a/ruantiblock/files/usr/bin/ruantiblock +++ b/ruantiblock/files/usr/bin/ruantiblock @@ -88,14 +88,10 @@ export NFTSET_POLICY_DNSMASQ="performance" export NFTSET_DNSMASQ_TIMEOUT="150m" ### Динамическое обновление таймаута записей в сете $NFTSET_DNSMASQ (0 - выкл, 1 - вкл) export NFTSET_DNSMASQ_TIMEOUT_UPDATE=1 -### Приоритет правила отбора пакетов nftables для конфигупации Tor или прозрачного прокси -export NFT_PRIO_NAT=-140 # dstnat - 10 (-110) -### Приоритет правила отбора пакетов nftables для трафика локальных клиентов в конфигупации Tor или прозрачного прокси -export NFT_PRIO_NAT_LOCAL=-140 # dstnat - 10 (-110) -### Приоритет правила отбора пакетов nftables для VPN-конфигурации -export NFT_PRIO_ROUTE=-140 # mangle + 10 -### Приоритет правила отбора пакетов nftables для трафика локальных клиентов в VPN-конфигурации -export NFT_PRIO_ROUTE_LOCAL=-140 # mangle + 10 +### Приоритет правил отбора пакетов nftables +export NFT_PRIO=-140 +### Приоритет правил отбора пакетов nftables для трафика локальных клиентов +export NFT_PRIO_LOCAL=-140 ### Кол-во попыток скачивания удаленного файла записей пользователя (в случае неудачи) export USER_ENTRIES_REMOTE_DOWNLOAD_ATTEMPTS=3 ### Таймаут между попытками скачивания @@ -105,11 +101,9 @@ export USER_INSTANCES_DIR="${CONFIG_DIR}/user_instances" ### Директория списков записей пользователя export USER_LISTS_DIR="${CONFIG_DIR}/user_lists" ### Переменные экземпляров записей пользователя -export USER_INSTANCE_VARS="U_ENABLED U_NAME U_PROXY_MODE U_TOR_TRANS_PORT U_ONION_DNS_ADDR U_IF_VPN U_VPN_GW_IP U_T_PROXY_TYPE U_T_PROXY_PORT_TCP U_T_PROXY_PORT_UDP U_T_PROXY_ALLOW_UDP U_USER_ENTRIES_DNS U_USER_ENTRIES_REMOTE U_ENABLE_ENTRIES_REMOTE_PROXY U_ENABLE_FPROXY U_FPROXY_LIST U_SKIP_MARKED_PACKETS" +export USER_INSTANCE_VARS="U_ENABLED U_NAME U_PROXY_MODE U_TOR_TRANS_PORT U_ONION_DNS_ADDR U_IF_VPN U_VPN_GW_IP U_T_PROXY_TYPE U_T_PROXY_PORT_TCP U_T_PROXY_PORT_UDP U_T_PROXY_ALLOW_UDP U_USER_ENTRIES_DNS U_USER_ENTRIES_REMOTE U_ENABLE_ENTRIES_REMOTE_PROXY U_ENABLE_FPROXY U_FPROXY_LIST" ### Кол-во экземпляров записей пользователя (не более 50!) export USER_INSTANCES_MAX=5 -### Пропускать мимо фильтра пакеты уже помеченные в записях пользователя (0 - выкл, 1 - вкл) -export SKIP_MARKED_PACKETS=0 ### Режим списка IP адресов исключаемых из обхода блокировок (0 - выкл, 1 - вкл) export BYPASS_MODE=0 ### DNS-сервер для исключаемых записей (пустая строка - без DNS-сервера). Можно с портом: 8.8.8.8#53. Если в записи указан свой DNS-сервер - он имеет приоритет @@ -250,7 +244,6 @@ export NFTSET_ONION="onion" export NFTSET_CIDR="c" export NFTSET_IP="i" export NFTSET_DNSMASQ="d" -export NFTSET_MARK_SET="mark_set" export NFTSET_ALLOWED_HOSTS_TYPE="ipv4_addr" export NFTSET_BYPASS_IP_TYPE="ipv4_addr" export NFTSET_BYPASS_FQDN_TYPE="ipv4_addr" @@ -260,7 +253,6 @@ export NFTSET_BLLIST_PROXY_TYPE="ipv4_addr" export NFTSET_CIDR_TYPE="ipv4_addr" export NFTSET_IP_TYPE="ipv4_addr" export NFTSET_DNSMASQ_TYPE="ipv4_addr" -export NFTSET_MARK_SET_TYPE="mark" export NFTSET_CIDR_PATTERN="set %s {type ${NFTSET_CIDR_TYPE};size ${NFTSET_MAXELEM_CIDR};policy ${NFTSET_POLICY_CIDR};flags interval;auto-merge;" export NFTSET_IP_PATTERN="set %s {type ${NFTSET_IP_TYPE};size ${NFTSET_MAXELEM_IP};policy ${NFTSET_POLICY_IP};flags dynamic;" export NFTSET_CIDR_STRING_MAIN=`printf "$NFTSET_CIDR_PATTERN" "${NFTSET_CIDR}"` @@ -318,7 +310,7 @@ cat << EOF reload : Renew nftables configuration update : Update blacklist force-update : Force update blacklist - blacklist-files : Create ${IP_DATA_FILE}, ${DNSMASQ_DATA_FILE}, ${DNSMASQ_DATA_FILE_BYPASS} (without network functions) + blacklist-files : Create ${IP_DATA_FILE}, ${IP_DATA_FILE_USER_INSTANCES}, ${DNSMASQ_DATA_FILE}, ${DNSMASQ_DATA_FILE_USER_INSTANCES}, ${IP_DATA_FILE_BYPASS}, ${DNSMASQ_DATA_FILE_BYPASS} (without network functions) status : Status & some info raw-status : Return code: 0 - enabled, 1 - error, 2 - disabled, 3 - starting, 4 - updating html-info : Return the html-info output @@ -422,7 +414,7 @@ FlushInstancesNftSets() { if [ "$_name" = " " ]; then _name="" else - _name="-${_name}" + _name=".${_name}" fi case "$_arg" in fqdn) @@ -456,7 +448,6 @@ AddBaseNftSets() { if [ -n "$_fproxy_private" ]; then $NFT_CMD add element $NFT_TABLE "$NFTSET_FPROXY_PRIVATE" { "$_fproxy_private" } fi - $NFT_CMD add set $NFT_TABLE "$NFTSET_MARK_SET" { type "$NFTSET_MARK_SET_TYPE"\; } } MakeInstanceNftSets() { @@ -464,7 +455,7 @@ MakeInstanceNftSets() { if [ "$_name" = " " ]; then _name="" else - _name="-${_name}" + _name=".${_name}" fi $NFT_CMD add set $NFT_TABLE "${NFTSET_CIDR}${_name}" { type "$NFTSET_CIDR_TYPE"\; size $NFTSET_MAXELEM_CIDR\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; } $NFT_CMD add set $NFT_TABLE "${NFTSET_IP}${_name}" { type "$NFTSET_IP_TYPE"\; size $NFTSET_MAXELEM_IP\; policy "$NFTSET_POLICY_IP"\; flags dynamic\; } @@ -494,7 +485,7 @@ UpdateBllistProxySet() { if [ "$_name" = " " ]; then _name="" else - _name="-${_name}" + _name=".${_name}" fi FlushNftSets "${NFTSET_BLLIST_PROXY}${_name}" for _host in `echo "$_urls" | $AWK_CMD ' @@ -564,21 +555,16 @@ AddUserInstancesNftRules() { do IncludeUserInstanceVars "$_inst" if [ "$U_PROXY_MODE" = "2" ]; then - _chain_prio_first=$(($NFT_PRIO_ROUTE + $USER_INSTANCES_MAX + $_prio_offset)) - _chain_prio_local=$(($NFT_PRIO_ROUTE_LOCAL + $USER_INSTANCES_MAX + $_prio_offset)) _vpn_route_table_id=$(($_vpn_route_table_id + 1)) _route_table_id=$_vpn_route_table_id else - _chain_prio_first=$(($NFT_PRIO_NAT + $USER_INSTANCES_MAX + $_prio_offset)) - _chain_prio_local=$(($NFT_PRIO_NAT_LOCAL + $USER_INSTANCES_MAX + $_prio_offset)) if [ "$U_PROXY_MODE" = "3" -a "$U_T_PROXY_TYPE" = "1" ]; then _tproxy_route_table_id=$(($_tproxy_route_table_id + 1)) fi _route_table_id=$_tproxy_route_table_id fi _pkts_mark=$(($_pkts_mark + 1)) - NftInstanceAdd "\"$U_NAME\"" $_pkts_mark $_chain_prio_first $_chain_prio_local $U_PROXY_MODE $U_TOR_TRANS_PORT $_route_table_id "\"$U_IF_VPN\"" $U_T_PROXY_TYPE $U_T_PROXY_PORT_TCP $U_T_PROXY_PORT_UDP $U_T_PROXY_ALLOW_UDP $U_ENABLE_ENTRIES_REMOTE_PROXY $U_ENABLE_FPROXY $U_SKIP_MARKED_PACKETS "\"$U_VPN_GW_IP\"" - $NFT_CMD add element $NFT_TABLE "$NFTSET_MARK_SET" { $_pkts_mark } + NftInstanceAdd "\"$U_NAME\"" $_pkts_mark $U_PROXY_MODE $U_TOR_TRANS_PORT $_route_table_id "\"$U_IF_VPN\"" $U_T_PROXY_TYPE $U_T_PROXY_PORT_TCP $U_T_PROXY_PORT_UDP $U_T_PROXY_ALLOW_UDP $U_ENABLE_ENTRIES_REMOTE_PROXY $U_ENABLE_FPROXY "\"$U_VPN_GW_IP\"" ClearUserInstanceVars _prio_offset=$(($_prio_offset - 1)) done @@ -602,32 +588,26 @@ DeleteUserInstancesNftRules() { } AddNftRules() { - local _chain_prio_first _chain_prio_local _route_table_id - if [ "$PROXY_MODE" = "2" ]; then - _chain_prio_first=$NFT_PRIO_ROUTE - _chain_prio_local=$NFT_PRIO_ROUTE_LOCAL - _chain_prio_sink=$(($NFT_PRIO_ROUTE + $USER_INSTANCES_MAX + 1)) - _chain_prio_action=$(($NFT_PRIO_ROUTE + $USER_INSTANCES_MAX + 2)) - _route_table_id=$VPN_ROUTE_TABLE_ID_START - else - _chain_prio_first=$NFT_PRIO_NAT - _chain_prio_local=$NFT_PRIO_NAT_LOCAL - _chain_prio_sink=$(($NFT_PRIO_NAT + $USER_INSTANCES_MAX + 1)) - _chain_prio_action=$(($NFT_PRIO_NAT + $USER_INSTANCES_MAX + 2)) - _route_table_id=$TPROXY_ROUTE_TABLE_ID_START - fi + local _chain_prio_first _chain_prio_local _chain_prio_fproxy _chain_prio_action _route_table_id + _chain_prio_first=$NFT_PRIO + _chain_prio_local=$NFT_PRIO_LOCAL + _chain_prio_fproxy=$(($NFT_PRIO + 1)) + _chain_prio_action=$(($NFT_PRIO + 2)) + _route_table_id=$VPN_ROUTE_TABLE_ID_START + NftAddBaseChains $_chain_prio_first $_chain_prio_local $_chain_prio_fproxy NftAddActionChains $_chain_prio_action - NftAddSinkChains $_chain_prio_sink AddUserInstancesNftRules - NftInstanceAdd "\" \"" $PKTS_MARK_START $_chain_prio_first $_chain_prio_local $PROXY_MODE $TOR_TRANS_PORT $_route_table_id "\"$IF_VPN\"" $T_PROXY_TYPE $T_PROXY_PORT_TCP $T_PROXY_PORT_UDP $T_PROXY_ALLOW_UDP $ENABLE_BLLIST_PROXY $ENABLE_FPROXY $SKIP_MARKED_PACKETS "\"$VPN_GW_IP\"" - $NFT_CMD add element $NFT_TABLE "$NFTSET_MARK_SET" { $PKTS_MARK_START } + NftInstanceAdd "\" \"" $PKTS_MARK_START $PROXY_MODE $TOR_TRANS_PORT $_route_table_id "\"$IF_VPN\"" $T_PROXY_TYPE $T_PROXY_PORT_TCP $T_PROXY_PORT_UDP $T_PROXY_ALLOW_UDP $ENABLE_BLLIST_PROXY $ENABLE_FPROXY "\"$VPN_GW_IP\"" + if [ "$PROXY_LOCAL_CLIENTS" = "1" ]; then + NftAddLocalClientsRule + fi } DeleteNftRules() { NftInstanceDelete " " DeleteUserInstancesNftRules - NftDeleteSinkChains NftDeleteActionChains + NftDeleteBaseChains if [ "$PROXY_MODE" = "2" ]; then NftRouteDelete $VPN_ROUTE_TABLE_ID_START 2> /dev/null elif [ "$PROXY_MODE" = "3" -a "$T_PROXY_TYPE" = "1" ]; then @@ -645,7 +625,7 @@ SetNetConfig() { DropNetConfig() { DeleteNftRules FlushInstancesNftSets - FlushNftSets "$NFTSET_ALLOWED_HOSTS" "$NFTSET_FPROXY_PRIVATE" "$NFTSET_BLLIST_PROXY" "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN" "$NFTSET_MARK_SET" + FlushNftSets "$NFTSET_ALLOWED_HOSTS" "$NFTSET_FPROXY_PRIVATE" "$NFTSET_BLLIST_PROXY" "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN" } DestroyNetConfig() { @@ -654,7 +634,7 @@ DestroyNetConfig() { } CheckStatus() { - NftReturnInstanceStatus " " + NftReturnStatus return $? } @@ -675,22 +655,6 @@ GetVpnRouteStatus() { return $_ret_val } -GetBllistChains() { - local _inst - for _inst in $USER_INSTANCES_ALL " " - do - NftListBllistChain "$_inst" - done -} - -GetBllistChainsJson() { - local _inst - for _inst in $USER_INSTANCES_ALL " " - do - NftListBllistChainJson "$_inst" - done -} - ClearDataFiles() { local _arg="$1" if [ -d "$DATA_DIR" ]; then @@ -781,8 +745,8 @@ AddBypassEntries() { ParseUserEntries() { $AWK_CMD -v NFTSET_IP_STRING="$1" -v NFTSET_CIDR_STRING="$2" -v NFTSET_DNSMASQ="$3" \ - -v IP_DATA_FILE="$4" -v DNSMASQ_DATA_FILE="$5" -v USER_ENTRIES_STATUS_FILE="$6" \ - -v ID="$7" -v USER_ENTRIES_DNS="$8" ' + -v IP_DATA_FILE="$4" -v DNSMASQ_DATA_FILE="$5" -v USER_ENTRIES_STATUS_FILE="$6" \ + -v ID="$7" -v USER_ENTRIES_DNS="$8" ' BEGIN { null = ""; ip_array[0] = null; @@ -880,14 +844,14 @@ AddUserEntries() { MakeLogRecord "debug" "ruantiblock.AddUserEntries._instance_entries_file=${_instance_entries_file}" fi - printf "flush set %s %s\nflush set %s %s\n" "$NFT_TABLE" "${NFTSET_CIDR}-${_inst}" "$NFT_TABLE" "${NFTSET_IP}-${_inst}" >> "$_ip_data_file_user_instances" + printf "flush set %s %s\nflush set %s %s\n" "$NFT_TABLE" "${NFTSET_CIDR}.${_inst}" "$NFT_TABLE" "${NFTSET_IP}.${_inst}" >> "$_ip_data_file_user_instances" if [ "$U_PROXY_MODE" != "2" -a "$U_PROXY_MODE" != "3" ]; then ### Запись для .onion - printf "server=/onion/%s\nnftset=/onion/%s#%s\n" "$U_ONION_DNS_ADDR" "$NFT_TABLE_DNSMASQ" "${NFTSET_ONION}-${_inst}" >> "$_dnsmasq_data_file_user_instances" + printf "server=/onion/%s\nnftset=/onion/%s#%s\n" "$U_ONION_DNS_ADDR" "$NFT_TABLE_DNSMASQ" "${NFTSET_ONION}.${_inst}" >> "$_dnsmasq_data_file_user_instances" fi if [ -f "$_instance_entries_file" ]; then - { cat "$_instance_entries_file"; printf "\n0\n"; } | ParseUserEntries "`printf "$NFTSET_IP_PATTERN" "${NFTSET_IP}-${_inst}"`" "`printf "$NFTSET_CIDR_PATTERN" "${NFTSET_CIDR}-${_inst}"`" "${NFTSET_DNSMASQ}-${_inst}" "$_ip_data_file_user_instances" "$_dnsmasq_data_file_user_instances" "$_user_entries_status_file" "${_inst}:local" "$U_ENTRIES_DNS" + { cat "$_instance_entries_file"; printf "\n0\n"; } | ParseUserEntries "`printf "$NFTSET_IP_PATTERN" "${NFTSET_IP}.${_inst}"`" "`printf "$NFTSET_CIDR_PATTERN" "${NFTSET_CIDR}.${_inst}"`" "${NFTSET_DNSMASQ}.${_inst}" "$_ip_data_file_user_instances" "$_dnsmasq_data_file_user_instances" "$_user_entries_status_file" "${_inst}:local" "$U_ENTRIES_DNS" fi if [ -n "$U_ENTRIES_REMOTE" ]; then for _url in $U_ENTRIES_REMOTE @@ -899,7 +863,7 @@ AddUserEntries() { if [ "$U_ENABLE_ENTRIES_REMOTE_PROXY" = "1" ]; then UpdateBllistProxySet "$_inst" "$_url" fi - { Download - "$_url"; printf "\n$?\n"; } | ParseUserEntries "`printf "$NFTSET_IP_PATTERN" "${NFTSET_IP}-${_inst}"`" "`printf "$NFTSET_CIDR_PATTERN" "${NFTSET_CIDR}-${_inst}"`" "${NFTSET_DNSMASQ}-${_inst}" "$_ip_data_file_user_instances" "$_dnsmasq_data_file_user_instances" "$_user_entries_status_file" "${_inst}:${_url}" "$U_ENTRIES_DNS" + { Download - "$_url"; printf "\n$?\n"; } | ParseUserEntries "`printf "$NFTSET_IP_PATTERN" "${NFTSET_IP}.${_inst}"`" "`printf "$NFTSET_CIDR_PATTERN" "${NFTSET_CIDR}.${_inst}"`" "${NFTSET_DNSMASQ}.${_inst}" "$_ip_data_file_user_instances" "$_dnsmasq_data_file_user_instances" "$_user_entries_status_file" "${_inst}:${_url}" "$U_ENTRIES_DNS" if [ $? -eq 0 ]; then _instance_return_code=0 break @@ -921,7 +885,7 @@ AddUserEntries() { fi done if [ "$U_ENABLE_ENTRIES_REMOTE_PROXY" = "1" ]; then - FlushNftSets "${NFTSET_BLLIST_PROXY}-${_inst}" + FlushNftSets "${NFTSET_BLLIST_PROXY}.${_inst}" fi fi ClearUserInstanceVars @@ -1193,7 +1157,7 @@ Reload() { } Status() { - local _inst _update_status _user_entries_status _vpn_error + local _update_status _user_entries_status _vpn_error if [ -f "$UPDATE_STATUS_FILE" ]; then _update_status=`$AWK_CMD '{ update_string=(NF < 4) ? "No data" : $4" (CIDR: "$1" | IP: "$2" | FQDN: "$3")"; @@ -1214,29 +1178,27 @@ Status() { if ! GetVpnRouteStatus; then _vpn_error="\033[1;31mVPN ROUTING ERROR! (NEED THE RESTART)\033[m" fi - NftListSinkChain 2> /dev/null | $AWK_CMD -v UPDATE_STATUS="$_update_status" -v USER_ENTRIES_STATUS="$_user_entries_status" -v VPN_ERROR="$_vpn_error" ' + NftListBllistChain 2> /dev/null | $AWK_CMD -v UPDATE_STATUS="$_update_status" -v USER_ENTRIES_STATUS="$_user_entries_status" -v VPN_ERROR="$_vpn_error" ' BEGIN { - rules_str = ""; + rules_str = ""; + nftset = ""; + bytes = ""; } - { - if($0 ~ /(table|chain|type|return|\{|\})/) { - next; + /@/ { + if(match($0, /@[^ ]+/) != 0) { + nftset = substr($0, RSTART+1, RLENGTH-1); + if(match($0, /bytes [^ ]+/) != 0) { + bytes = substr($0, RSTART+6, RLENGTH-6); + }; + rules_str = rules_str " Match-set: " nftset "\n Bytes: " bytes "\n\n"; }; - instance = $NF; - if(instance == "\"") { - instance = "-main-"; - }; - gsub("\"", "", instance); - proto = ($3 ~ /(tcp|udp)/) ? $3 : "all"; - bytes = (match($0, /bytes [^ ]+/) != 0) ? substr($0, RSTART+6, RLENGTH-6) : ""; - rules_str = rules_str " Instance:\t" instance "\n Protocol:\t" proto "\n Bytes:\t" bytes "\n\n"; } END { if(NR == 0) { printf "\n \033[1m" ENVIRON["NAME"] " status\033[m: \033[1mDisabled\033[m\n\n"; exit 2; }; - printf "\n \033[1m" ENVIRON["NAME"] " status\033[m: \033[1;32mEnabled\033[m\n\n DNSMASQ_CFG_DIR: " ENVIRON["DNSMASQ_CFG_DIR"] "\n\n PROXY_LOCAL_CLIENTS: " ENVIRON["PROXY_LOCAL_CLIENTS"] "\n\n Main Instance: \n PROXY_MODE: " ENVIRON["PROXY_MODE"] "\n BLLIST_PRESET: " ENVIRON["BLLIST_PRESET"] "\n BLLIST_MODULE: " ENVIRON["BLLIST_MODULE"] "\n"; + printf "\n \033[1m" ENVIRON["NAME"] " status\033[m: \033[1;32mEnabled\033[m\n\n PROXY_MODE: " ENVIRON["PROXY_MODE"] "\n PROXY_LOCAL_CLIENTS: " ENVIRON["PROXY_LOCAL_CLIENTS"] "\n BLLIST_PRESET: " ENVIRON["BLLIST_PRESET"] "\n BLLIST_MODULE: " ENVIRON["BLLIST_MODULE"] "\n"; printf "\n "UPDATE_STATUS"\n"; if(length(USER_ENTRIES_STATUS) > 0) { printf "\n"USER_ENTRIES_STATUS"\n"; @@ -1244,37 +1206,9 @@ Status() { if(length(VPN_ERROR) > 0) { printf "\n "VPN_ERROR"\n"; }; - printf "\n Transit traffic:\n\n"; + printf "\n \033[4mNftables rules\033[m:\n\n"; printf rules_str; }' - if [ $? -eq 0 -a "$PROXY_LOCAL_CLIENTS" = "1" ]; then - NftListSinkLocalChain 2> /dev/null | $AWK_CMD -v UPDATE_STATUS="$_update_status" -v USER_ENTRIES_STATUS="$_user_entries_status" ' - BEGIN { - rules_str = ""; - } - { - if($0 ~ /(table|chain|type|return|\{|\})/) { - next; - }; - instance = $NF; - if(instance == "\"") { - instance = "-main-"; - }; - gsub("\"", "", instance); - proto = ($3 ~ /(tcp|udp)/) ? $3 : "all"; - bytes = (match($0, /bytes [^ ]+/) != 0) ? substr($0, RSTART+6, RLENGTH-6) : ""; - rules_str = rules_str " Instance:\t" instance "\n Protocol:\t" proto "\n Bytes:\t" bytes "\n\n"; - } - END { - if(NR == 0) { - exit 2; - }; - printf " Local traffic:\n\n"; - printf rules_str; - }' - else - return 2 - fi } StatusOutput() { diff --git a/ruantiblock/files/usr/share/ruantiblock/config_script_user_instances b/ruantiblock/files/usr/share/ruantiblock/config_script_user_instances index 6f8ed91..6e92d2f 100644 --- a/ruantiblock/files/usr/share/ruantiblock/config_script_user_instances +++ b/ruantiblock/files/usr/share/ruantiblock/config_script_user_instances @@ -1,4 +1,4 @@ -UCI_VARS="u_enabled u_proxy_mode u_tor_trans_port u_onion_dns_addr u_if_vpn u_vpn_gw_ip u_t_proxy_type u_t_proxy_port_tcp u_t_proxy_port_udp u_t_proxy_allow_udp u_entries_dns u_entries_remote u_enable_entries_remote_proxy u_enable_fproxy u_fproxy_list u_skip_marked_packets" +UCI_VARS="u_enabled u_proxy_mode u_tor_trans_port u_onion_dns_addr u_if_vpn u_vpn_gw_ip u_t_proxy_type u_t_proxy_port_tcp u_t_proxy_port_udp u_t_proxy_allow_udp u_entries_dns u_entries_remote u_enable_entries_remote_proxy u_enable_fproxy u_fproxy_list" UCI_CMD=`which uci` if [ $? -ne 0 ]; then echo " Error! UCI doesn't exists" >&2 @@ -7,7 +7,7 @@ fi AWK_CMD="awk" ListUserInstances() { - $UCI_CMD export "$NAME" | $AWK_CMD -v TYPE="user_instance" ' + $UCI_CMD -n export "$NAME" | $AWK_CMD -v TYPE="user_instance" ' BEGIN { instances=""; } diff --git a/ruantiblock/files/usr/share/ruantiblock/info_output b/ruantiblock/files/usr/share/ruantiblock/info_output index 50c77d9..f673c98 100644 --- a/ruantiblock/files/usr/share/ruantiblock/info_output +++ b/ruantiblock/files/usr/share/ruantiblock/info_output @@ -33,30 +33,36 @@ Info() { else _user_entries_status="[]" fi - NftListSinkChainJson 2> /dev/null | $AWK_CMD -v UPDATE_STATUS="$_update_status" -v USER_ENTRIES_STATUS="$_user_entries_status" ' + NftListBllistChainJson 2> /dev/null | $AWK_CMD -v UPDATE_STATUS="$_update_status" -v USER_ENTRIES_STATUS="$_user_entries_status" ' + BEGIN { + rules_str = ""; + } + { + rules_str = rules_str $0; + } END { if(NR == 0) { printf "{\"status\": \"disabled\"}"; exit 1; } else { - printf "{\"status\": \"enabled\",\"last_blacklist_update\": %s,\"user_entries\" :%s,\"sink\": %s", UPDATE_STATUS, USER_ENTRIES_STATUS, $0; + printf "{\"status\":\"enabled\",\"last_blacklist_update\":%s,\"user_entries\":%s,\"rules\":%s", UPDATE_STATUS, USER_ENTRIES_STATUS, rules_str; exit 0; }; }' if [ $? -eq 0 ]; then - if [ "$PROXY_LOCAL_CLIENTS" = "1" ]; then - printf ",\"sink_local\":" - NftListSinkLocalChainJson 2> /dev/null - fi printf ",\"dnsmasq\":" $NFT_CMD -j list set $NFT_TABLE "$NFTSET_DNSMASQ" 2> /dev/null printf ",\"dnsmasq_user_instances\":[" for _inst in $USER_INSTANCES_ALL do - $NFT_CMD -j list set $NFT_TABLE "${NFTSET_DNSMASQ}-${_inst}" 2> /dev/null + $NFT_CMD -j list set $NFT_TABLE "${NFTSET_DNSMASQ}.${_inst}" 2> /dev/null printf "," done printf "{\"dummy\": {}}]" + if [ "$BYPASS_MODE" = "1" ]; then + printf ",\"dnsmasq_bypass\":" + $NFT_CMD -j list set $NFT_TABLE "$NFTSET_BYPASS_FQDN" 2> /dev/null + fi printf "}" fi } diff --git a/ruantiblock/files/usr/share/ruantiblock/nft_functions b/ruantiblock/files/usr/share/ruantiblock/nft_functions index 8c48b7c..7ac7e15 100644 --- a/ruantiblock/files/usr/share/ruantiblock/nft_functions +++ b/ruantiblock/files/usr/share/ruantiblock/nft_functions @@ -1,24 +1,22 @@ NFT_ALLOWED_HOSTS_CHAIN="allowed_hosts" NFT_BLLIST_CHAIN="blacklist" -NFT_FPROXY_FILTER="fproxy_filter" NFT_DNSMASQ_TIMEOUT_UPDATE_CHAIN="dnsmasq_timeout_update" NFT_MARK_CHAIN="mark_chain" NFT_LOCAL_CLIENTS_CHAIN="local_clients" -NFT_SINK_CHAIN="sink" -NFT_SINK_LOCAL_CHAIN="sink_local" +NFT_FPROXY_CHAIN="fproxy_chain" NFT_ACTION_FILTER_CHAIN="action_filter" NFT_ACTION_NAT_CHAIN="action_nat" NFT_ACTION_NAT_LOCAL_CHAIN="action_nat_local" case "$ALLOWED_HOSTS_MODE" in "1") - NFT_ALLOWED_HOSTS_PATTERN="ip saddr @${NFTSET_ALLOWED_HOSTS} jump ${NFT_BLLIST_CHAIN}%s" + NFT_ALLOWED_HOSTS_PATTERN="ip saddr @${NFTSET_ALLOWED_HOSTS} jump ${NFT_BLLIST_CHAIN}" ;; "2") - NFT_ALLOWED_HOSTS_PATTERN="ip saddr != @${NFTSET_ALLOWED_HOSTS} jump ${NFT_BLLIST_CHAIN}%s" + NFT_ALLOWED_HOSTS_PATTERN="ip saddr != @${NFTSET_ALLOWED_HOSTS} jump ${NFT_BLLIST_CHAIN}" ;; *) - NFT_ALLOWED_HOSTS_PATTERN="jump ${NFT_BLLIST_CHAIN}%s" + NFT_ALLOWED_HOSTS_PATTERN="jump ${NFT_BLLIST_CHAIN}" ;; esac @@ -86,35 +84,52 @@ NftRouteStatus() { return 1 } -NftAddSinkChains() { - local _chain_prio_sink=$1 - $NFT_CMD add chain $NFT_TABLE "${NFT_SINK_CHAIN}" { type filter hook prerouting priority ${_chain_prio_sink}\; policy accept\; } - $NFT_CMD add chain $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" { type route hook output priority ${_chain_prio_sink}\; policy accept\; } - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_CHAIN}" meta iif lo return +NftAddBaseChains() { + local _chain_prio_first=$1 _chain_prio_local=$2 _chain_prio_fproxy=$3 + $NFT_CMD add chain $NFT_TABLE "$NFT_LOCAL_CLIENTS_CHAIN" { type route hook output priority ${_chain_prio_local}\; policy accept\; } + $NFT_CMD add chain $NFT_TABLE "$NFT_BLLIST_CHAIN" + $NFT_CMD add chain $NFT_TABLE "$NFT_FPROXY_CHAIN" { type filter hook prerouting priority ${_chain_prio_fproxy}\; policy accept\; } + $NFT_CMD add chain $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" { type filter hook prerouting priority ${_chain_prio_first}\; policy accept\; } + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" meta iif lo return + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" ip daddr "@${NFTSET_FPROXY_PRIVATE}" return + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" meta iif lo return + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" "$NFT_ALLOWED_HOSTS_PATTERN" + if [ "$BYPASS_MODE" = "1" ]; then + for _set in "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN" + do + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_BLLIST_CHAIN" ip daddr "@${_set}" counter accept + done + fi } -NftDeleteSinkChains() { - $NFT_CMD delete chain $NFT_TABLE "${NFT_SINK_CHAIN}" - $NFT_CMD delete chain $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" +NftAddLocalClientsRule() { + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_LOCAL_CLIENTS_CHAIN" jump "$NFT_BLLIST_CHAIN" +} + +NftDeleteBaseChains() { + $NFT_CMD delete chain $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" + $NFT_CMD delete chain $NFT_TABLE "$NFT_LOCAL_CLIENTS_CHAIN" + $NFT_CMD delete chain $NFT_TABLE "$NFT_BLLIST_CHAIN" + $NFT_CMD delete chain $NFT_TABLE "$NFT_FPROXY_CHAIN" } NftAddActionChains() { local _chain_prio_action=$1 - $NFT_CMD add chain $NFT_TABLE "${NFT_ACTION_FILTER_CHAIN}" { type filter hook prerouting priority ${_chain_prio_action}\; policy accept\; } - $NFT_CMD add chain $NFT_TABLE "${NFT_ACTION_NAT_CHAIN}" { type nat hook prerouting priority ${_chain_prio_action}\; policy accept\; } - $NFT_CMD add chain $NFT_TABLE "${NFT_ACTION_NAT_LOCAL_CHAIN}" { type nat hook output priority ${_chain_prio_action}\; policy accept\; } + $NFT_CMD add chain $NFT_TABLE "$NFT_ACTION_FILTER_CHAIN" { type filter hook prerouting priority ${_chain_prio_action}\; policy accept\; } + $NFT_CMD add chain $NFT_TABLE "$NFT_ACTION_NAT_CHAIN" { type nat hook prerouting priority ${_chain_prio_action}\; policy accept\; } + $NFT_CMD add chain $NFT_TABLE "$NFT_ACTION_NAT_LOCAL_CHAIN" { type nat hook output priority ${_chain_prio_action}\; policy accept\; } } NftDeleteActionChains() { - $NFT_CMD delete chain $NFT_TABLE "${NFT_ACTION_FILTER_CHAIN}" - $NFT_CMD delete chain $NFT_TABLE "${NFT_ACTION_NAT_CHAIN}" - $NFT_CMD delete chain $NFT_TABLE "${NFT_ACTION_NAT_LOCAL_CHAIN}" + $NFT_CMD delete chain $NFT_TABLE "$NFT_ACTION_FILTER_CHAIN" + $NFT_CMD delete chain $NFT_TABLE "$NFT_ACTION_NAT_CHAIN" + $NFT_CMD delete chain $NFT_TABLE "$NFT_ACTION_NAT_LOCAL_CHAIN" } NftInstanceAdd() { local _i _inst _first_chain_type _t_proxy_statement _chain_action_type _set - for _i in "_name" "_pkts_mark" "_chain_prio_first" "_chain_prio_local" "_proxy_mode" "_tor_trans_port" "_route_table_id" "_if_vpn" "_t_proxy_type" "_t_proxy_port_tcp" "_t_proxy_port_udp" "_t_proxy_allow_udp" "_enable_bllist_proxy" "_enable_fproxy" "_skip_marked_packets" "_vpn_gw_ip" + for _i in "_name" "_pkts_mark" "_proxy_mode" "_tor_trans_port" "_route_table_id" "_if_vpn" "_t_proxy_type" "_t_proxy_port_tcp" "_t_proxy_port_udp" "_t_proxy_allow_udp" "_enable_bllist_proxy" "_enable_fproxy" "_vpn_gw_ip" do eval "local $_i=$1" shift @@ -124,12 +139,12 @@ NftInstanceAdd() { if [ "$_name" = " " ]; then _name="" else - _name="-${_name}" + _name=".${_name}" fi if [ $DEBUG -ge 1 ]; then - echo " nft_functions.NftInstanceAdd.args: _name=${_name} _pkts_mark=${_pkts_mark} _chain_prio_first=${_chain_prio_first} _chain_prio_local=${_chain_prio_local} _proxy_mode=${_proxy_mode} _tor_trans_port=${_tor_trans_port} _route_table_id=${_route_table_id} _if_vpn=${_if_vpn} _t_proxy_type=${_t_proxy_type} _t_proxy_port_tcp=${_t_proxy_port_tcp} _t_proxy_port_udp=${_t_proxy_port_udp} _t_proxy_allow_udp=${_t_proxy_allow_udp} _enable_bllist_proxy=${_enable_bllist_proxy} _enable_fproxy=${_enable_fproxy} _skip_marked_packets=${_skip_marked_packets} _vpn_gw_ip=${_vpn_gw_ip}" >&2 - MakeLogRecord "debug" "nft_functions.NftInstanceAdd.args: _name=${_name} _pkts_mark=${_pkts_mark} _chain_prio_first=${_chain_prio_first} _chain_prio_local=${_chain_prio_local} _proxy_mode=${_proxy_mode} _tor_trans_port=${_tor_trans_port} _route_table_id=${_route_table_id} _if_vpn=${_if_vpn} _t_proxy_type=${_t_proxy_type} _t_proxy_port_tcp=${_t_proxy_port_tcp} _t_proxy_port_udp=${_t_proxy_port_udp} _t_proxy_allow_udp=${_t_proxy_allow_udp} _enable_bllist_proxy=${_enable_bllist_proxy} _enable_fproxy=${_enable_fproxy} _skip_marked_packets=${_skip_marked_packets} _vpn_gw_ip=${_vpn_gw_ip}" + echo " nft_functions.NftInstanceAdd.args: _name=${_name} _pkts_mark=${_pkts_mark} _proxy_mode=${_proxy_mode} _tor_trans_port=${_tor_trans_port} _route_table_id=${_route_table_id} _if_vpn=${_if_vpn} _t_proxy_type=${_t_proxy_type} _t_proxy_port_tcp=${_t_proxy_port_tcp} _t_proxy_port_udp=${_t_proxy_port_udp} _t_proxy_allow_udp=${_t_proxy_allow_udp} _enable_bllist_proxy=${_enable_bllist_proxy} _enable_fproxy=${_enable_fproxy} _vpn_gw_ip=${_vpn_gw_ip}" >&2 + MakeLogRecord "debug" "nft_functions.NftInstanceAdd.args: _name=${_name} _pkts_mark=${_pkts_mark} _proxy_mode=${_proxy_mode} _tor_trans_port=${_tor_trans_port} _route_table_id=${_route_table_id} _if_vpn=${_if_vpn} _t_proxy_type=${_t_proxy_type} _t_proxy_port_tcp=${_t_proxy_port_tcp} _t_proxy_port_udp=${_t_proxy_port_udp} _t_proxy_allow_udp=${_t_proxy_allow_udp} _enable_bllist_proxy=${_enable_bllist_proxy} _enable_fproxy=${_enable_fproxy} _vpn_gw_ip=${_vpn_gw_ip}" fi if [ "$NFTSET_DNSMASQ_TIMEOUT_UPDATE" = "1" ]; then @@ -138,71 +153,43 @@ NftInstanceAdd() { _nft_dnsmasq_rule_target="${NFT_MARK_CHAIN}${_name}" fi - $NFT_CMD add chain $NFT_TABLE "${NFT_LOCAL_CLIENTS_CHAIN}${_name}" { type route hook output priority ${_chain_prio_local}\; policy accept\; } $NFT_CMD add chain $NFT_TABLE "${NFT_MARK_CHAIN}${_name}" - $NFT_CMD add chain $NFT_TABLE "${NFT_FPROXY_FILTER}${_name}" $NFT_CMD add chain $NFT_TABLE "${NFT_DNSMASQ_TIMEOUT_UPDATE_CHAIN}${_name}" - $NFT_CMD add chain $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" - $NFT_CMD add chain $NFT_TABLE "${NFT_ALLOWED_HOSTS_CHAIN}${_name}" { type filter hook prerouting priority ${_chain_prio_first}\; policy accept\; } - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_FPROXY_FILTER}${_name}" ip daddr "@${NFTSET_FPROXY_PRIVATE}" return - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_FPROXY_FILTER}${_name}" jump "${NFT_MARK_CHAIN}${_name}" NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_DNSMASQ_TIMEOUT_UPDATE_CHAIN}${_name}" ct state new set update ip daddr "@${NFTSET_DNSMASQ}${_name}" NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_DNSMASQ_TIMEOUT_UPDATE_CHAIN}${_name}" jump "${NFT_MARK_CHAIN}${_name}" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ALLOWED_HOSTS_CHAIN}${_name}" "`printf "$NFT_ALLOWED_HOSTS_PATTERN" "$_name"`" - if [ "$_proxy_mode" = "2" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_CHAIN}" meta mark $_pkts_mark counter comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" meta mark $_pkts_mark counter comment \""$_inst"\" - elif [ "$_proxy_mode" = "3" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_CHAIN}" meta l4proto tcp meta mark $_pkts_mark counter comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" meta l4proto tcp meta mark $_pkts_mark counter comment \""$_inst"\" + if [ "$_proxy_mode" = "3" ]; then if [ "$_t_proxy_type" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_FILTER_CHAIN}" meta l4proto tcp meta mark $_pkts_mark tproxy to ":${_t_proxy_port_tcp}" comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_FILTER_CHAIN" meta l4proto tcp meta mark $_pkts_mark tproxy to ":${_t_proxy_port_tcp}" comment \""$_inst"\" if [ "$_t_proxy_allow_udp" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_FILTER_CHAIN}" meta l4proto udp meta mark $_pkts_mark tproxy to ":${_t_proxy_port_udp}" comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_CHAIN}" meta l4proto udp meta mark $_pkts_mark counter comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" meta l4proto udp meta mark $_pkts_mark counter comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_FILTER_CHAIN" meta l4proto udp meta mark $_pkts_mark tproxy to ":${_t_proxy_port_udp}" comment \""$_inst"\" fi else - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_NAT_CHAIN}" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_t_proxy_port_tcp}" comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_NAT_LOCAL_CHAIN}" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_t_proxy_port_tcp}" comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_NAT_CHAIN" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_t_proxy_port_tcp}" comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_NAT_LOCAL_CHAIN" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_t_proxy_port_tcp}" comment \""$_inst"\" if [ "$_t_proxy_allow_udp" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_NAT_CHAIN}" meta l4proto udp meta mark $_pkts_mark redirect to ":${_t_proxy_port_udp}" comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_NAT_LOCAL_CHAIN}" meta l4proto udp meta mark $_pkts_mark redirect to ":${_t_proxy_port_udp}" comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_CHAIN}" meta l4proto udp meta mark $_pkts_mark counter comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" meta l4proto udp meta mark $_pkts_mark counter comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_NAT_CHAIN" meta l4proto udp meta mark $_pkts_mark redirect to ":${_t_proxy_port_udp}" comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_NAT_LOCAL_CHAIN" meta l4proto udp meta mark $_pkts_mark redirect to ":${_t_proxy_port_udp}" comment \""$_inst"\" fi fi elif [ "$_proxy_mode" != "2" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_NAT_CHAIN}" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_tor_trans_port}" comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_ACTION_NAT_LOCAL_CHAIN}" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_tor_trans_port}" comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_CHAIN}" meta l4proto tcp meta mark $_pkts_mark counter comment \""$_inst"\" - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_SINK_LOCAL_CHAIN}" meta l4proto tcp meta mark $_pkts_mark counter comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_NAT_CHAIN" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_tor_trans_port}" comment \""$_inst"\" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ACTION_NAT_LOCAL_CHAIN" meta l4proto tcp meta mark $_pkts_mark redirect to ":${_tor_trans_port}" comment \""$_inst"\" fi NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_MARK_CHAIN}${_name}" mark set $_pkts_mark if [ "$_proxy_mode" != "2" -a "$_proxy_mode" != "3" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" ip daddr "@${NFTSET_ONION}${_name}" counter goto "${NFT_MARK_CHAIN}${_name}" - fi - if [ "$_skip_marked_packets" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" meta mark "@${NFTSET_MARK_SET}" return + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_BLLIST_CHAIN" ip daddr "@${NFTSET_ONION}${_name}" counter goto "${NFT_MARK_CHAIN}${_name}" comment \""$_inst"\" fi if [ "$_enable_fproxy" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" ip saddr "@${NFTSET_FPROXY}${_name}" goto "${NFT_FPROXY_FILTER}${_name}" - fi - - if [ "$BYPASS_MODE" = "1" ]; then - for _set in "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN" - do - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" ip daddr "@${_set}" accept - done + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" ip saddr "@${NFTSET_FPROXY}${_name}" goto "${NFT_MARK_CHAIN}${_name}" comment \""$_inst"\" fi for _set in "${NFTSET_CIDR}${_name}" "${NFTSET_IP}${_name}" do - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" ip daddr "@${_set}" counter goto "${NFT_MARK_CHAIN}${_name}" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_BLLIST_CHAIN" ip daddr "@${_set}" counter goto "${NFT_MARK_CHAIN}${_name}" comment \""$_inst"\" done - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" ip daddr "@${NFTSET_DNSMASQ}${_name}" counter goto "$_nft_dnsmasq_rule_target" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_BLLIST_CHAIN" ip daddr "@${NFTSET_DNSMASQ}${_name}" counter goto "$_nft_dnsmasq_rule_target" comment \""$_inst"\" if [ "$_proxy_mode" = "2" ]; then NftRouteAdd vpn $_route_table_id $_pkts_mark "$_if_vpn" "$_vpn_gw_ip" @@ -211,10 +198,7 @@ NftInstanceAdd() { fi if [ "$_enable_bllist_proxy" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_LOCAL_CLIENTS_CHAIN}${_name}" ip daddr "@${NFTSET_BLLIST_PROXY}${_name}" counter goto "${NFT_MARK_CHAIN}${_name}" - fi - if [ "$PROXY_LOCAL_CLIENTS" = "1" ]; then - NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "${NFT_LOCAL_CLIENTS_CHAIN}${_name}" jump "${NFT_BLLIST_CHAIN}${_name}" + NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_LOCAL_CLIENTS_CHAIN" ip daddr "@${NFTSET_BLLIST_PROXY}${_name}" counter goto "${NFT_MARK_CHAIN}${_name}" comment \""$_inst"\" fi } @@ -223,59 +207,21 @@ NftInstanceDelete() { if [ -z "$_name" -o "$_name" = " " ]; then _name="" else - _name="-${_name}" + _name=".${_name}" fi - $NFT_CMD delete chain $NFT_TABLE "${NFT_ALLOWED_HOSTS_CHAIN}${_name}" - $NFT_CMD delete chain $NFT_TABLE "${NFT_LOCAL_CLIENTS_CHAIN}${_name}" - $NFT_CMD delete chain $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" $NFT_CMD delete chain $NFT_TABLE "${NFT_DNSMASQ_TIMEOUT_UPDATE_CHAIN}${_name}" - $NFT_CMD delete chain $NFT_TABLE "${NFT_FPROXY_FILTER}${_name}" $NFT_CMD delete chain $NFT_TABLE "${NFT_MARK_CHAIN}${_name}" } NftListBllistChain() { - local _name="$1" - if [ -z "$_name" -o "$_name" = " " ]; then - _name="" - else - _name="-${_name}" - fi - $NFT_CMD -t list chain $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" + $NFT_CMD -t list chain $NFT_TABLE "$NFT_BLLIST_CHAIN" } NftListBllistChainJson() { - local _name="$1" - if [ -z "$_name" -o "$_name" = " " ]; then - _name="" - else - _name="-${_name}" - fi - $NFT_CMD -t -j list chain $NFT_TABLE "${NFT_BLLIST_CHAIN}${_name}" + $NFT_CMD -t -j list chain $NFT_TABLE "$NFT_BLLIST_CHAIN" } -NftListSinkChain() { - $NFT_CMD -t list chain $NFT_TABLE "$NFT_SINK_CHAIN" -} - -NftListSinkChainJson() { - $NFT_CMD -t -j list chain $NFT_TABLE "$NFT_SINK_CHAIN" -} - -NftListSinkLocalChain() { - $NFT_CMD -t list chain $NFT_TABLE "$NFT_SINK_LOCAL_CHAIN" -} - -NftListSinkLocalChainJson() { - $NFT_CMD -t -j list chain $NFT_TABLE "$NFT_SINK_LOCAL_CHAIN" -} - -NftReturnInstanceStatus() { - local _name="$1" - if [ -z "$_name" -o "$_name" = " " ]; then - _name="" - else - _name="-${_name}" - fi - $NFT_CMD -c add rule $NFT_TABLE "${NFT_ALLOWED_HOSTS_CHAIN}${_name}" continue &> /dev/null +NftReturnStatus() { + $NFT_CMD -c add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" continue &> /dev/null return $? } diff --git a/screenshots/07.jpg b/screenshots/07.jpg index 385008e1d86b064165048df4d3ee6c9c2ccac710..33693c62d91e05c58ff9b09da417e5208d21e192 100644 GIT binary patch literal 207696 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 a<;bOJPrD|zjxO(}=g9ofT;b06|0V#0DrcSm literal 191931 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 E0AQ)Py8r+H