From 341761b5096e2eae66e943bce4e03a17fc02e0ac Mon Sep 17 00:00:00 2001 From: suyuan168 <175338101@qq.com> Date: Thu, 14 Apr 2022 19:02:43 +0800 Subject: [PATCH] rm -rf ndpi-netfilter bypass --- luci-app-omr-bypass/Makefile | 16 - .../resources/view/services/omr-bypass.js | 231 ----- luci-app-omr-bypass/po/de/omr-bypass.po | 162 ---- luci-app-omr-bypass/po/de/omr-bypass.po~ | 165 ---- luci-app-omr-bypass/po/fr/omr-bypass.po | 214 ----- luci-app-omr-bypass/po/it/omr-bypass.po | 141 --- luci-app-omr-bypass/po/it/omr-bypass.po~ | 142 --- luci-app-omr-bypass/po/oc/omr-bypass.po | 137 --- luci-app-omr-bypass/po/oc/omr-bypass.po~ | 138 --- luci-app-omr-bypass/po/ru/omr-bypass.po | 139 --- .../po/templates/omr-bypass.pot | 127 --- luci-app-omr-bypass/po/zh_Hans/omr-bypass.po | 136 --- .../root/etc/config/omr-bypass | 2 - .../root/etc/firewall.omr-bypass | 2 - .../root/etc/init.d/omr-bypass | 842 ------------------ .../root/etc/uci-defaults/41_omr-bypass | 125 --- .../luci/menu.d/luci-app-omr-bypass.json | 13 - .../share/rpcd/acl.d/luci-app-omr-bypass.json | 18 - ndpi-netfilter2/Makefile | 88 -- 19 files changed, 2838 deletions(-) delete mode 100755 luci-app-omr-bypass/Makefile delete mode 100755 luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js delete mode 100755 luci-app-omr-bypass/po/de/omr-bypass.po delete mode 100755 luci-app-omr-bypass/po/de/omr-bypass.po~ delete mode 100755 luci-app-omr-bypass/po/fr/omr-bypass.po delete mode 100755 luci-app-omr-bypass/po/it/omr-bypass.po delete mode 100755 luci-app-omr-bypass/po/it/omr-bypass.po~ delete mode 100755 luci-app-omr-bypass/po/oc/omr-bypass.po delete mode 100755 luci-app-omr-bypass/po/oc/omr-bypass.po~ delete mode 100755 luci-app-omr-bypass/po/ru/omr-bypass.po delete mode 100755 luci-app-omr-bypass/po/templates/omr-bypass.pot delete mode 100755 luci-app-omr-bypass/po/zh_Hans/omr-bypass.po delete mode 100755 luci-app-omr-bypass/root/etc/config/omr-bypass delete mode 100755 luci-app-omr-bypass/root/etc/firewall.omr-bypass delete mode 100755 luci-app-omr-bypass/root/etc/init.d/omr-bypass delete mode 100755 luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass delete mode 100755 luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json delete mode 100755 luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json delete mode 100755 ndpi-netfilter2/Makefile diff --git a/luci-app-omr-bypass/Makefile b/luci-app-omr-bypass/Makefile deleted file mode 100755 index cbce20358..000000000 --- a/luci-app-omr-bypass/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) -# -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Interface to bypass domains -LUCI_DEPENDS:=+dnsmasq-full +shadowsocks-libev-ss-rules +iptables-mod-ndpi +iptables-mod-extra +kmod-ipt-ndpi +iptables - -PKG_LICENSE:=GPLv3 - -#include ../luci/luci.mk -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js deleted file mode 100755 index 361d203db..000000000 --- a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js +++ /dev/null @@ -1,231 +0,0 @@ -'use strict'; -'require rpc'; -'require form'; -'require fs'; -'require uci'; -'require tools.widgets as widgets'; - -var callHostHints; - -return L.view.extend({ - callHostHints: rpc.declare({ - object: 'luci-rpc', - method: 'getHostHints', - expect: { '': {} } - }), - - load: function() { - return this.callHostHints(); - }, - - render: function(hosts) { - var m, s, o; - - m = new form.Map('omr-bypass', _('OMR-Bypass'),_('OpenMPTCProuter IP must be used as DNS.')); - - s = m.section(form.GridSection, 'domains', _('Domains')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'name', _('Domain')); - o.rmempty = false; - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'ips', _('IPs and Networks')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'ip', _('IP')); - o.rmempty = false; - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'dest_port', _('Ports destination')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'dport', _('port')); - o.rmempty = false; - - o = s.option(form.ListValue, 'proto', _('protocol')); - o.default = 'tcp'; - o.rmempty = false; - o.value('tcp'); - o.value('udp'); - o.value('icmp'); - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'src_port', _('Ports source')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'sport', _('port')); - o.rmempty = false; - - o = s.option(form.ListValue, 'proto', _('protocol')); - o.default = 'tcp'; - o.rmempty = false; - o.value('tcp'); - o.value('udp'); - o.value('icmp'); - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'macs', _('MAC-Address')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'mac', _('source MAC-Address')); - o.datatype = 'list(unique(macaddr))'; - o.rmempty = false; - Object.keys(hosts).forEach(function(mac) { - var hint = hosts[mac].name || hosts[mac].ipv4; - o.value(mac, hint ? '%s (%s)'.format(mac, hint) : mac); - }); - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'lan_ip', _('Source lan IP address or network')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'ip', _('IP Address')); - o.datatype = 'or(ip4addr,ip6addr)'; - o.rmempty = false; - Object.keys(hosts).forEach(function(mac) { - if (hosts[mac].ipv4) { - var hint = hosts[mac].name; - o.value(hosts[mac].ipv4, hint ? '%s (%s)'.format(hosts[mac].ipv4, hint) : hosts[mac].ipv4); - } - }); - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'asns', _('ASN')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.Value, 'asn', _('ASN')); - o.rmempty = false; - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - s = m.section(form.GridSection, 'dpis', _('Protocols and services')); - s.addremove = true; - s.anonymous = true; - s.nodescriptions = true; - - o = s.option(form.Flag, 'enabled', _('Enabled')); - o.default = o.enabled; - - o = s.option(form.ListValue, 'proto', _('Protocol/Service')); - o.rmempty = false; - o.load = function(section_id) { - return Promise.all([ - fs.read_direct('/proc/net/xt_ndpi/proto'), - fs.read_direct('/proc/net/xt_ndpi/host_proto') - ]).then(L.bind(function(filesi) { - var proto = filesi[0].split(/\n/), - host = filesi[1].split(/\n/), - name = []; - for (var i = 0; i < proto.length; i++) { - var m = proto[i].split(/\s+/); - if (m && m[0] != "#id" && m[1] != "disabled") - name.push(m[2]); - } - for (var i = 0; i < host.length; i++) { - var m = host[i].split(/:/); - if (m && m[0] != "#Proto") - name.push(m[0].toLowerCase()); - } - name = Array.from(new Set(name)).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase())}).reduce(function(a, b){ if (a.slice(-1)[0] !== b) a.push(b);return a;},[]); - for (var i = 0; i < name.length; i++) { - this.value(name[i]); - } - return this.super('load', [section_id]); - },this)); - }; - - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used (or an other interface if master is down).')); - o.noaliases = true; - o.noinactive = true; - o.nocreate = true; - - o = s.option(form.Value, 'note', _('Note')); - o.rmempty = true; - - return m.render(); - } -}); diff --git a/luci-app-omr-bypass/po/de/omr-bypass.po b/luci-app-omr-bypass/po/de/omr-bypass.po deleted file mode 100755 index ae3c0f8dd..000000000 --- a/luci-app-omr-bypass/po/de/omr-bypass.po +++ /dev/null @@ -1,162 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-05 12:39+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: German \n" -"Language: de\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0.4\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Domain" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domains" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "IP Adresse" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IPs und Netzwerke" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Schnittstelle" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -#, fuzzy -msgid "MAC-Address" -msgstr "Quell-MAC-Adresse" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Bemerkung" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Ausnahmeregel" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Ziel-Port" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protokoll/Dienst" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protokolle und Dienste" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "LAN-IP oder CIDR-Netzwerk der Quelleadresse" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "Port" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -#, fuzzy -msgid "protocol" -msgstr "Protokoll" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -#, fuzzy -msgid "source MAC-Address" -msgstr "Quell-MAC-Adresse" - -#~ msgid "MAC-Address" -#~ msgstr "MAC-Addresse" - -#~ msgid "ASN" -#~ msgstr "ASN" - -#~ msgid "ALL" -#~ msgstr "ALLE" - -#~ msgid "Bypass" -#~ msgstr "Ausnahmeregel" - -#~ msgid "Default" -#~ msgstr "Voreinstellung" - -#~ msgid "" -#~ "Here you can bypass ShadowSocks and VPN. If you set Interface to Default " -#~ "this use any working interface." -#~ msgstr "" -#~ "Her können Ausnahmen für ShadowSocks und VPN eingetragen werden. Wird als " -#~ "Schnittstelle 'Voreinstellung' gewählt, wird eine beliebige gerade " -#~ "funktionsfähige gewählt (Load Balancing)." diff --git a/luci-app-omr-bypass/po/de/omr-bypass.po~ b/luci-app-omr-bypass/po/de/omr-bypass.po~ deleted file mode 100755 index 188cfb056..000000000 --- a/luci-app-omr-bypass/po/de/omr-bypass.po~ +++ /dev/null @@ -1,165 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-05 12:39+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: German \n" -"Language: de\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0.4\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Domain" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domains" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "IP Adresse" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IPs und Netzwerke" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Schnittstelle" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -#, fuzzy -#| msgid "Source MAC-Address" -msgid "MAC-Address" -msgstr "Quell-MAC-Adresse" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Bemerkung" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Ausnahmeregel" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Ziel-Port" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protokoll/Dienst" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protokolle und Dienste" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "LAN-IP oder CIDR-Netzwerk der Quelleadresse" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "Port" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -#, fuzzy -#| msgid "Protocol" -msgid "protocol" -msgstr "Protokoll" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -#, fuzzy -#| msgid "Source MAC-Address" -msgid "source MAC-Address" -msgstr "Quell-MAC-Adresse" - -#~ msgid "MAC-Address" -#~ msgstr "MAC-Addresse" - -#~ msgid "ASN" -#~ msgstr "ASN" - -#~ msgid "ALL" -#~ msgstr "ALLE" - -#~ msgid "Bypass" -#~ msgstr "Ausnahmeregel" - -#~ msgid "Default" -#~ msgstr "Voreinstellung" - -#~ msgid "" -#~ "Here you can bypass ShadowSocks and VPN. If you set Interface to Default " -#~ "this use any working interface." -#~ msgstr "" -#~ "Her können Ausnahmen für ShadowSocks und VPN eingetragen werden. Wird als " -#~ "Schnittstelle 'Voreinstellung' gewählt, wird eine beliebige gerade " -#~ "funktionsfähige gewählt (Load Balancing)." diff --git a/luci-app-omr-bypass/po/fr/omr-bypass.po b/luci-app-omr-bypass/po/fr/omr-bypass.po deleted file mode 100755 index 0e9543bdf..000000000 --- a/luci-app-omr-bypass/po/fr/omr-bypass.po +++ /dev/null @@ -1,214 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2022-02-19 07:53+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: French \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.6.1\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Domaine" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domaines" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "Activer" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "Accorder l'accès aux ressources ndpi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "Adresse IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IPs et réseaux" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Interface" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "Adresse MAC" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Note" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Bypass" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "L'IP d'OpenMPTCProuter doit être utilisée comme DNS." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Ports de destination" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "Ports source" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protocole/Service" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protocoles et services" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "Adresse IP source ou réseau" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" -"Lorsqu'aucune interface est sélectionnée, l'interface maître MPTCP est " -"utilisée (ou une autre interface si le maître est arrêté)." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "" -"Lorsqu'aucune interface est sélectionnée, l'interface maître MPTCP est " -"utilisée." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "port" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "protocole" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "Adresse MAC source" - -#~ msgid "MAC-Address" -#~ msgstr "Adresse MAC" - -#~ msgid "ASN" -#~ msgstr "ASN" - -#~ msgid "ALL" -#~ msgstr "TOUT" - -#~ msgid "Bypass" -#~ msgstr "Contourne" - -#~ msgid "Default" -#~ msgstr "Défaut" - -#~ msgid "" -#~ "Here you can bypass ShadowSocks and VPN. If you set Interface to Default " -#~ "this use any working interface." -#~ msgstr "" -#~ "Ici vous pouvez contouner Shadowsocks et le VPN. Si vous mettez " -#~ "l'interface à défaut, ça utilisera n'importe qu'elle interface " -#~ "fonctionnant." - -#~ msgid "Add" -#~ msgstr "Ajouter" - -#~ msgid "All" -#~ msgstr "Tout" - -#~ msgid "Domain, IP or network" -#~ msgstr "Domaine, IP ou réseau" - -#~ msgid "Domains, ips or networks" -#~ msgstr "Domaines, IPs et réseaux" - -#~ msgid "Output interface" -#~ msgstr "Interface de sortie" - -#~ msgid "Protocols" -#~ msgstr "Protocoles" - -#~ msgid "" -#~ "If empty, multipath master interface is used if up else any other up " -#~ "interface." -#~ msgstr "" -#~ "Si vide, l'interface définie en tant que maître multipath est utilisée si " -#~ "elle fonctionne, sinon une autre interface sera utilisée." - -#~ msgid "Set domains name, ips or networks you want to bypass." -#~ msgstr "" -#~ "Configurer les domaines, adresses IPs ou réseaux que vous voulez " -#~ "contourner." - -#~ msgid "Set interface you want to use for bypassed traffic." -#~ msgstr "" -#~ "Configurer l'interface que vous souhaitez utiliser pour le trafic à " -#~ "contourner." - -#~ msgid "Set protocols you want to bypass." -#~ msgstr "Configurer les protocoles que vous voulez contourner." - -#~ msgid "" -#~ "You need to use OpenMPTCProuter as DNS server when you want to bypass a " -#~ "domain" -#~ msgstr "" -#~ "Vous devez utiliser OpenMPTCProuter en tant que serveur DNS quand vous " -#~ "souhaitez contourner un domaine" - -#~ msgid "Set domains name you want to bypass." -#~ msgstr "Configurer les domaines que vous voulez contourner." diff --git a/luci-app-omr-bypass/po/it/omr-bypass.po b/luci-app-omr-bypass/po/it/omr-bypass.po deleted file mode 100755 index df50f91d0..000000000 --- a/luci-app-omr-bypass/po/it/omr-bypass.po +++ /dev/null @@ -1,141 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-02 08:44+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: Italian \n" -"Language: it\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0.4\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Dominio" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domini" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "Concedi l'accesso alle risorse ndpi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "Indirizzo IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IP e reti" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Interfaccia" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "Indirizzo MAC" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Nota" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Bypass" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "L'IP di OpenMPTCProuter deve essere utilizzato come DNS." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Destinazione dei porti" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "Origine delle porte" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protocollo / servizio" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protocolli e servizi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "Indirizzo IP lan di origine o rete" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -#, fuzzy -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" -"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " -"MPTCP." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "" -"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " -"MPTCP." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "Porta" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "Protocollo" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "indirizzo MAC di origine" diff --git a/luci-app-omr-bypass/po/it/omr-bypass.po~ b/luci-app-omr-bypass/po/it/omr-bypass.po~ deleted file mode 100755 index c7e10446a..000000000 --- a/luci-app-omr-bypass/po/it/omr-bypass.po~ +++ /dev/null @@ -1,142 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-02 08:44+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: Italian \n" -"Language: it\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0.4\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Dominio" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domini" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "Concedi l'accesso alle risorse ndpi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "Indirizzo IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IP e reti" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Interfaccia" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "Indirizzo MAC" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Nota" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Bypass" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "L'IP di OpenMPTCProuter deve essere utilizzato come DNS." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Destinazione dei porti" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "Origine delle porte" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protocollo / servizio" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protocolli e servizi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "Indirizzo IP lan di origine o rete" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -#, fuzzy -#| msgid "When none selected, MPTCP master interface is used." -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" -"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " -"MPTCP." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "" -"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " -"MPTCP." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "Porta" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "Protocollo" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "indirizzo MAC di origine" diff --git a/luci-app-omr-bypass/po/oc/omr-bypass.po b/luci-app-omr-bypass/po/oc/omr-bypass.po deleted file mode 100755 index d2583d441..000000000 --- a/luci-app-omr-bypass/po/oc/omr-bypass.po +++ /dev/null @@ -1,137 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-08-18 18:16+0000\n" -"Last-Translator: Quentin PAGÈS \n" -"Language-Team: Occitan \n" -"Language: oc\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.0.4\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Domeni" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domenis" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "Acordar l'accès a las ressorsas ndpi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "Adreça IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IPs e rets" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Interfàcia" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "Adreça MAC" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Nòta" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Bypass" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "L'IP d'OpznMPTCProuter deu èsser coma lo DNS." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Pòrts de destinacion" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "Pòrts fonts" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protocòl/Servici" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protocòls e servicis" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "Adreça IP font o rer" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -#, fuzzy -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "pòrt" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "protocòl" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "Adreça MAC font" diff --git a/luci-app-omr-bypass/po/oc/omr-bypass.po~ b/luci-app-omr-bypass/po/oc/omr-bypass.po~ deleted file mode 100755 index 27f06969c..000000000 --- a/luci-app-omr-bypass/po/oc/omr-bypass.po~ +++ /dev/null @@ -1,138 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-08-18 18:16+0000\n" -"Last-Translator: Quentin PAGÈS \n" -"Language-Team: Occitan \n" -"Language: oc\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.0.4\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Domeni" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Domenis" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "Acordar l'accès a las ressorsas ndpi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "Adreça IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IPs e rets" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Interfàcia" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "Adreça MAC" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Nòta" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR-Bypass" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "L'IP d'OpznMPTCProuter deu èsser coma lo DNS." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Pòrts de destinacion" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "Pòrts fonts" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Protocòl/Servici" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Protocòls e servicis" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "Adreça IP font o rer" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -#, fuzzy -#| msgid "When none selected, MPTCP master interface is used." -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "pòrt" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "protocòl" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "Adreça MAC font" diff --git a/luci-app-omr-bypass/po/ru/omr-bypass.po b/luci-app-omr-bypass/po/ru/omr-bypass.po deleted file mode 100755 index 7b6f43c6f..000000000 --- a/luci-app-omr-bypass/po/ru/omr-bypass.po +++ /dev/null @@ -1,139 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2021-06-16 10:51+0000\n" -"Last-Translator: Dmitry Galenko \n" -"Language-Team: Russian \n" -"Language: ru\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.6.1\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "Домен" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "Домены" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "Установлено" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "Полный доступ к ресурсам ndpi" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "IP-адрес" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IP-адреса и сети" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "Интерфейс" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "MAC-адрес" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "Примечание" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "OMR байпас" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "IP OpenMPTCProuter должен использоваться в качестве DNS." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "Порты назначения" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "Порты источника" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "Протокол / Сервис" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "Протоколы и сервисы" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "Исходный IP-адрес LAN или сеть" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" -"Если ничего не выбрано, используется главный интерфейс MPTCP (или другой " -"интерфейс, если мастер не работает)." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "Если ничего не выбрано, используется главный интерфейс MPTCP." - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "Порт" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "протокол" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "MAC-адрес источника" diff --git a/luci-app-omr-bypass/po/templates/omr-bypass.pot b/luci-app-omr-bypass/po/templates/omr-bypass.pot deleted file mode 100755 index be4fd1dec..000000000 --- a/luci-app-omr-bypass/po/templates/omr-bypass.pot +++ /dev/null @@ -1,127 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "" diff --git a/luci-app-omr-bypass/po/zh_Hans/omr-bypass.po b/luci-app-omr-bypass/po/zh_Hans/omr-bypass.po deleted file mode 100755 index 66a55bb21..000000000 --- a/luci-app-omr-bypass/po/zh_Hans/omr-bypass.po +++ /dev/null @@ -1,136 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2021-05-05 11:40+0000\n" -"Last-Translator: niergouge <1150108426@qq.com>\n" -"Language-Team: Chinese (Simplified) \n" -"Language: zh_Hans\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.6.1\n" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 -msgid "ASN" -msgstr "ASN" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 -msgid "Domain" -msgstr "域" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 -msgid "Domains" -msgstr "域名" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 -msgid "Enabled" -msgstr "启用" - -#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 -msgid "Grant access to ndpi resources" -msgstr "授予对ndpi资源的访问权限" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 -msgid "IP" -msgstr "IP" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 -msgid "IP Address" -msgstr "IP地址" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 -msgid "IPs and Networks" -msgstr "IP和网络" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "Interface" -msgstr "接口" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 -msgid "MAC-Address" -msgstr "MAC地址" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 -msgid "Note" -msgstr "请注意" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 -msgid "OMR-Bypass" -msgstr "绕过聚合路由" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 -msgid "OpenMPTCProuter IP must be used as DNS." -msgstr "OpenMPTCProuter IP必须作为DNS。" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 -msgid "Ports destination" -msgstr "目的端口" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 -msgid "Ports source" -msgstr "源端口" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 -msgid "Protocol/Service" -msgstr "协议/服务" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 -msgid "Protocols and services" -msgstr "协议和服务" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 -msgid "Source lan IP address or network" -msgstr "源局域网IP地址或网络" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 -msgid "" -"When none selected, MPTCP master interface is used (or an other interface if " -"master is down)." -msgstr "当未选中时,使用MPTCP主接口(如果主接口下线,则使用其他接口)。" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 -msgid "When none selected, MPTCP master interface is used." -msgstr "当不选中时,使用MPTCP主接口。" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 -msgid "port" -msgstr "端口" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 -msgid "protocol" -msgstr "协议" - -#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 -msgid "source MAC-Address" -msgstr "源MAC地址" diff --git a/luci-app-omr-bypass/root/etc/config/omr-bypass b/luci-app-omr-bypass/root/etc/config/omr-bypass deleted file mode 100755 index c6f3e90a5..000000000 --- a/luci-app-omr-bypass/root/etc/config/omr-bypass +++ /dev/null @@ -1,2 +0,0 @@ -config interface 'all' - diff --git a/luci-app-omr-bypass/root/etc/firewall.omr-bypass b/luci-app-omr-bypass/root/etc/firewall.omr-bypass deleted file mode 100755 index fe65adb2f..000000000 --- a/luci-app-omr-bypass/root/etc/firewall.omr-bypass +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -/etc/init.d/omr-bypass reload_rules diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass deleted file mode 100755 index 87878277b..000000000 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ /dev/null @@ -1,842 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) - -START=98 -STOP=10 -USE_PROCD=1 -EXTRA_COMMANDS="reload_rules bypass_asn" - -. /usr/lib/unbound/iptools.sh - -_add_proto() { - protoname=$1 - [ -z "$protoname" ] && return - if [ "$(dd if=/proc/net/xt_ndpi/proto bs=4096 2> /dev/null | grep $protoname)" = "" ]; then - echo "add_custom $protoname" >/proc/net/xt_ndpi/proto - fi - allurls="$(dd if=/proc/net/xt_ndpi/host_proto bs=4096 2> /dev/null)" - hosts="$( uci -q get omr-bypass.$protoname.url )" - for url in $hosts; do - if [ "$(echo "$allurls" | grep -i ^${protoname}: | grep $url)" = "" ]; then - echo "$protoname:$url" >/proc/net/xt_ndpi/host_proto - fi - done - ip="$( uci -q get omr-bypass.$protoname.ip )" - for ip in $ips; do - if [ "$(echo "$allurls" | grep -i ^${protoname}: | grep $ip)" = "" ]; then - echo "$protoname:$ip" >/proc/net/xt_ndpi/ip_proto - fi - done -} - -_bypass_ip() { - local ip=$1 - local type=$2 - [ -z "$type" ] && type="all" - valid_ip4=$( valid_subnet4 $ip) - valid_ip6=$( valid_subnet6 $ip) - if [ "$valid_ip4" = "ok" ]; then - ipset -q add omr_dst_bypass_$type $ip - elif [ "$valid_ip6" = "ok" ]; then - ipset -q add omr6_dst_bypass_$type $ip - fi -} - -_bypass_domains() { - local domain - local intf - local enabled - config_get domain $1 name - config_get intf $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - [ -z "$domain" ] && return - if [ "$(echo $domain | grep '\.$')" != "" ] || [ "$(echo $domain | grep '\.\*$')" != "" ]; then - tlds=`curl --max-time 4 -s -k https://data.iana.org/TLD/tlds-alpha-by-domain.txt` - domain="$(echo '"$domain"' | sed 's:*::')" - domainlist="" - # construct list of domains to query - i=0 - for tld in $tlds; do - i=$((i+1)) - # trim off header - if [ "$i" -lt "12" ] || [ "$i" -gt "50" ]; then - continue - fi - # add to command - domainlist="${domainlist} ${domain}${tld}" - done - domainlist="$(echo $domainlist `# Get the list of valid domains, pass it to awk` \ - | awk '{print tolower($0)}' `# awk lowercases the whole string and passes it to ` \ - | xargs -n8 -P12 `# xargs sends 8 arguments at a time to` \ - dig a +timeout=1 +tries=1 +retry=1 +nocmd +noall +answer `# dig, which passes results (if any) to` \ - | awk '{print $1}' `# awk, which outputs queried domain to` \ - | sed -e 's/.$//' `# sed, which trims off the trailing dot (google.com. -> google.com)` to \ - | grep $domain `# grep, only keep wanted domain` \ - | awk '{for (i=1;i<=NF;i++) if (!a[$i]++) printf("%s%s",$i,FS)}{printf("\n")}')" # deduplicate - for validdomain in $domainlist; do - _bypass_domain $validdomain $intf - done - else - _bypass_domain $domain $intf - fi -} - -_bypass_domain() { - local domain=$1 - local intf=$2 - intf=$(echo $intf | sed -e 's/\./_/') - [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return - [ -z "$intf" ] && intf="all" - if [ -n "$domain" ]; then - domain=$(echo $domain | sed 's:^\.::') - #logger -t "omr-bypass" "Get IPs of $domain..." - if [ -z $RELOAD ]; then - resolve=$(dig a +timeout=1 +tries=1 +nocmd +noall +answer $domain | grep -v CNAME | awk '{print $5}') - for ip in $resolve; do - _bypass_ip $ip $intf - done - if [ "$disableipv6" = "0" ]; then - resolve=$(dig aaaa +timeout=1 +tries=1 +nocmd +noall +answer $domain | grep AAAA | awk '{print $5}') - for ip in $resolve; do - _bypass_ip $ip $intf - done - fi - fi - if [ "$(uci -q get dhcp.@dnsmasq[0].ipset | grep /$domain/)" = "" ]; then - uci -q add_list dhcp.@dnsmasq[0].ipset="/$domain/omr_dst_bypass_$intf,omr6_dst_bypass_$intf" - add_domains="true" - else - dnsmasqipset=$(uci -q get dhcp.@dnsmasq[0].ipset | sed 's/ /\n/g') - for dnsipset in $dnsmasqipset; do - if [ "$(echo $dnsipset | cut -d/ -f2)" = "$domain" ]; then - uci -q del_list dhcp.@dnsmasq[0].ipset=$dnsipset - uci -q add_list dhcp.@dnsmasq[0].ipset="$dnsipset,omr_dst_bypass_$intf,omr6_dst_bypass_$intf" - add_domains="true" - fi - done - fi - #logger -t "omr-bypass" "Get IPs of $domain... Done" - fi -} - -_bypass_mac() { - local mac - local intf - local enabled - config_get mac $1 mac - config_get intf $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - intf=$(echo $intf | sed -e 's/\./_/') - [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$mac" ] && return - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -m mac --mac-source $mac -j MARK --set-mark 0x539 - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m mac --mac-source $mac -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -m mac --mac-source $mac -j MARK --set-mark 0x539$intfid - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m mac --mac-source $mac -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - fi -} - -_bypass_lan_ip() { - local ip - local intf - local enabled - config_get ip $1 ip - config_get intf $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - intf=$(echo $intf | sed -e 's/\./_/') - [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$ip" ] && return - valid_ip4=$(valid_subnet4 $ip) - valid_ip6=$(valid_subnet6 $ip) - if [ "$intf" = "all" ]; then - if [ "$valid_ip4" = "ok" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -s $ip -j MARK --set-mark 0x539 - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local -s $ip -j MARK --set-mark 0x539 - COMMIT - EOF - elif [ "$valid_ip6" = "ok" ] && [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -s $ip -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - else - if [ "$valid_ip4" = "ok" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -s $ip -j MARK --set-mark 0x539$intfid - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local -s $ip -j MARK --set-mark 0x539$intfid - COMMIT - EOF - elif [ "$valid_ip6" = "ok" ] && [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -s $ip -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - fi -} - -_bypass_dest_port() { - local intf - local enabled - local dport - local proto - config_get dport $1 dport - config_get proto $1 proto - config_get intf $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - intf=$(echo $intf | sed -e 's/\./_/') - [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$dport" ] && return - dport="$(echo $dport | sed 's/-/:/')" - [ -z "$proto" ] && return - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass --protocol $proto --destination-port $dport -j MARK --set-mark 0x539 - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local --protocol $proto --destination-port $dport -j MARK --set-mark 0x539 - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 --protocol $proto --destination-port $dport -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass --protocol $proto --destination-port $dport -j MARK --set-mark 0x539$intfid - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local --protocol $proto --destination-port $dport -j MARK --set-mark 0x539$intfid - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 --protocol $proto --destination-port $dport -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - fi -} - -_bypass_src_port() { - local intf - local enabled - local sport - local proto - config_get sport $1 sport - config_get proto $1 proto - config_get intf $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - intf=$(echo $intf | sed -e 's/\./_/') - [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$sport" ] && return - sport="$(echo $sport | sed 's/-/:/')" - [ -z "$proto" ] && return - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass --protocol $proto --source-port $sport -j MARK --set-mark 0x539 - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local --protocol $proto --source-port $sport -j MARK --set-mark 0x539 - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 --protocol $proto --source-port $sport -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass --protocol $proto --source-port $sport -j MARK --set-mark 0x539$intfid - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local --protocol $proto --source-port $sport -j MARK --set-mark 0x539$intfid - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 --protocol $proto --source-port $sport -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - fi -} - -_bypass_proto() { - local proto - local intf - local enabled - config_get proto $1 proto - config_get intf $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - intf=$(echo $intf | sed -e 's/\./_/') - [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$proto" ] && return - if [ "$(uci -q get openmptcprouter.settings.ndpi)" != "0" ]; then - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-dpi -m ndpi --proto $proto -j MARK --set-mark 0x539 - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6-dpi -m ndpi --proto $proto -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-dpi -m ndpi --proto $proto -j MARK --set-mark 0x539$intfid - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6-dpi -m ndpi --proto $proto -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - fi - fi - # Use dnsmasq ipset to bypass domains of the proto - local domains - domains="$(cat /proc/net/xt_ndpi/host_proto | grep -i $proto: | sed -e "s/$proto://i" -e 's/*//' -e 's/,/ /g')" - if [ -n "$domains" ]; then - tlds=`curl --max-time 4 -s -k https://data.iana.org/TLD/tlds-alpha-by-domain.txt` - for domain in $domains; do - if [ -n "$domain" ]; then - domain="$(echo $domain | sed 's/^\.//')" - if [ "$(echo $domain | grep '\.$')" != "" ]; then - domainlist="" - # construct list of domains to query - i=0 - for tld in $tlds; do - i=$((i+1)) - # trim off header - if [ "$i" -lt "12" ] || [ "$i" -gt "50" ]; then - continue - fi - # add to command - domainlist="${domainlist} ${domain}${tld}" - done - domainlist="$(echo $domainlist `# Get the list of valid domains, pass it to awk` \ - | awk '{print tolower($0)}' `# awk lowercases the whole string and passes it to ` \ - | xargs -n8 -P12 `# xargs sends 8 arguments at a time to` \ - dig a +timeout=1 +tries=1 +retry=1 +nocmd +noall +answer `# dig, which passes results (if any) to` \ - | awk '{print $1}' `# awk, which outputs queried domain to` \ - | sed -e 's/.$//' `# sed, which trims off the trailing dot (google.com. -> google.com)` to \ - | grep $domain `# grep, only keep wanted domain` \ - | awk '{for (i=1;i<=NF;i++) if (!a[$i]++) printf("%s%s",$i,FS)}{printf("\n")}')" # deduplicate - for validdomain in $domainlist; do - _bypass_domain $validdomain $intf - done - else - _bypass_domain $domain $intf - fi - fi - done - fi -} - -_intf_rule_ss_rules() { - rule_name=$1 - [ "$rule_name" = "ss_rules" ] && rule_name="def" - if [ "$(iptables --wait=40 -t nat -L -n | grep ssr_${rule_name}_dst)" != "" ] && [ "$(iptables-save | grep ssr_${rule_name}_dst | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ssr_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I ssr_${rule_name}_dst 2 -m mark --mark 0x539$count -j RETURN - COMMIT - EOF - fi - if [ "$(iptables --wait=40 -t nat -L -n | grep ssr_${rule_name}_local_out)" != "" ] && [ "$(iptables-save | grep ssr_${rule_name}_local_out | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ssr_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I ssr_${rule_name}_local_out 2 -m mark --mark 0x539$count -j RETURN - COMMIT - EOF - fi - if [ "$(iptables --wait=40 -t nat -L -n | grep ssr_${rule_name}_pre_src)" != "" ] && [ "$(iptables-save | grep ssr_${rule_name}_pre_src | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ssr_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I ssr_${rule_name}_pre_src 2 -m mark --mark 0x539$count -j RETURN - COMMIT - EOF - fi - if [ "$disableipv6" = "0" ]; then - if [ "$(ip6tables --wait=40 -t mangle -L -n | grep omr6_dst_bypass_$intf)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -I omr-bypass6 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t nat -L -n | grep ssr6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables-save | grep ssr6 | grep omr6_dst_bypass_$intf)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ssr6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I ssr6_${rule_name}_dst 2 -m mark --mark 0x6539$count -j RETURN - -I ssr6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I ssr6_${rule_name}_local_out 2 -m mark --mark 0x6539$count -j RETURN - -I ssr6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I ssr6_${rule_name}_pre_src 2 -m mark --mark 0x6539$count -j RETURN - COMMIT - EOF - fi - fi -} - -_intf_rule_v2ray_rules() { - #rule_name=$1 - #[ "$rule_name" = "ss_rules" ] && rule_name="def" - rule_name="def" - if [ "$(iptables --wait=40 -t nat -L -n | grep v2r_${rule_name}_pre_src)" != "" ] && [ "$(iptables-save | grep v2r | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I v2r_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I v2r_${rule_name}_dst 2 -m mark --mark 0x539$count -j RETURN - -I v2r_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I v2r_${rule_name}_local_out 2 -m mark --mark 0x539$count -j RETURN - -I v2r_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I v2r_${rule_name}_pre_src 2 -m mark --mark 0x539$count -j RETURN - COMMIT - EOF - fi - if [ "$disableipv6" = "0" ]; then - if [ "$(ip6tables-save | grep omr-bypass6 | grep omr6_dst_bypass_$intf)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -I omr-bypass6 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t nat -L -n | grep v2r6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables-save | grep v2r6 | grep omr6_dst_bypass_$intf)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *nat - -I v2r6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I v2r6_${rule_name}_dst 2 -m mark --mark 0x6539$count -j RETURN - -I v2r6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I v2r6_${rule_name}_local_out 2 -m mark --mark 0x6539$count -j RETURN - -I v2r6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I v2r6_${rule_name}_pre_src 2 -m mark --mark 0x6539$count -j RETURN - COMMIT - EOF - fi - fi -} - -_intf_rule() { - local intf - intf=$(ifstatus "$1" | jsonfilter -q -e '@["l3_device"]') - [ -n "$(echo $intf | grep '@')" ] && intf=$(ifstatus "$1" | jsonfilter -q -e '@["device"]') - [ -z "$intf" ] && config_get intf $1 device - [ -n "$(echo $intf | grep '/') " ] && return - #count=$((count+1)) - config_get count $1 metric - local mode - #config_get mode $1 multipath "off" - #[ "$mode" = "off" ] && return - [ -z "$count" ] && return - [ -z "$intf" ] && return - intf=$(echo $intf | sed -e 's/\./_/') - [ "$(echo $1 | grep _dev)" != "" ] && return - [ -z "$RELOAD" ] || [ "$(ipset --list | grep omr_dst_bypass_$intf)" = "" ] && { - unset RELOAD - ipset -q flush omr_dst_bypass_$intf > /dev/null 2>&1 - ipset -q flush omr6_dst_bypass_$intf > /dev/null 2>&1 - ipset -q --exist restore <<-EOF - create omr_dst_bypass_$intf hash:net hashsize 64 - create omr6_dst_bypass_$intf hash:net family inet6 hashsize 64 - EOF - if [ "$(uci -q get openmptcprouter.settings.uci_rules)" = "1" ]; then - uci -q batch <<-EOF >/dev/null - delete network.${1}_fw_rule=rule - set network.${1}_fw_rule=rule - set network.${1}_fw_rule.priority=1 - set network.${1}_fw_rule.mark=0x539${count} - set network.${1}_fw_rule.lookup=${count} - delete network.${1}_fw_rule6=rule6 - set network.${1}_fw_rule6=rule6 - set network.${1}_fw_rule6.priority=1 - set network.${1}_fw_rule6.mark=0x6539${count} - set network.${1}_fw_rule6.lookup=${count} - commit network - EOF - else - ip rule add prio 1 fwmark 0x539$count lookup $count pref 1 > /dev/null 2>&1 - ip -6 rule add prio 1 fwmark 0x6539$count lookup 6$count pref 1 > /dev/null 2>&1 - fi - } - if [ "$(iptables-save | grep omr-bypass | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -I omr-bypass 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I omr-bypass-local 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - COMMIT - EOF - fi - config_load shadowsocks-libev - config_foreach _intf_rule_ss_rules ss_rules - _intf_rule_v2ray_rules - - uci -q set omr-bypass.$intf=interface - uci -q set omr-bypass.$intf.id=$count -} - -_bypass_ip_set() { - local ip - local interface - local enabled - config_get ip $1 ip - config_get interface $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - _bypass_ip $ip $interface -} - -_bypass_asn() { - local asn - local interface - local enabled - config_get asn $1 asn - config_get interface $1 interface - config_get enabled $1 enabled - [ "$enabled" = "0" ] && return - local asnips - asnips=`curl --max-time 4 -s -k https://stat.ripe.net/data/announced-prefixes/data.json?resource=${asn} | jsonfilter -q -e '@.data.prefixes.*.prefix'` - for ip in $asnips; do - _bypass_ip $ip $interface - done - -} - -bypass_asn() { - config_load omr-bypass - config_foreach _bypass_asn asns -} - -_bypass_omr_server() { - local ip - config_get ip $1 ip - _bypass_ip $ip -} - - -_ss_rules_config() { - rule_name=$1 - [ "$rule_name" = "ss_rules" ] && rule_name="def" - if [ "$(iptables --wait=40 -t nat -L -n | grep ssr_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_all)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ssr_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I ssr_${rule_name}_dst 1 -m mark --mark 0x539 -j RETURN - -I ssr_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I ssr_${rule_name}_local_out 2 -m mark --mark 0x539 -j RETURN - -I ssr_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I ssr_${rule_name}_pre_src 2 -m mark --mark 0x539 -j RETURN - COMMIT - EOF - fi - if [ "$disableipv6" = "0" ]; then - if [ "$(ip6tables --wait=40 -t mangle -L -n | grep 'match-set omr6_dst_bypass_all dst MARK set')" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t nat -L -n | grep ssr6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L -n | grep omr6_dst_bypass_all)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ssr6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I ssr6_${rule_name}_dst 1 -m mark --mark 0x6539 -j RETURN - -I ssr6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I ssr6_${rule_name}_local_out 2 -m mark --mark 0x6539 -j RETURN - -I ssr6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I ssr6_${rule_name}_pre_src 2 -m mark --mark 0x6539 -j RETURN - COMMIT - EOF - fi - fi -} - -_v2ray_rules_config() { - #rule_name=$1 - #[ "$rule_name" = "ss_rules" ] && rule_name="def" - rule_name="def" - if [ "$(iptables --wait=40 -t nat -L -n | grep v2r_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_all)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I v2r_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I v2r_${rule_name}_dst 1 -m mark --mark 0x539 -j RETURN - -I v2r_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I v2r_${rule_name}_local_out 2 -m mark --mark 0x539 -j RETURN - -I v2r_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I v2r_${rule_name}_pre_src 2 -m mark --mark 0x539 -j RETURN - COMMIT - EOF - fi - if [ "$disableipv6" = "0" ]; then - if [ "$(ip6tables --wait=40 -t mangle -L -n | grep 'match-set omr6_dst_bypass_all dst MARK set')" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t nat -L -n | grep v2r6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L -n | grep omr6_dst_bypass_all)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *nat - -I v2r6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I v2r6_${rule_name}_dst 1 -m mark --mark 0x6539 -j RETURN - -I v2r6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I v2r6_${rule_name}_local_out 2 -m mark --mark 0x6539 -j RETURN - -I v2r6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I v2r6_${rule_name}_pre_src 2 -m mark --mark 0x6539 -j RETURN - COMMIT - EOF - fi - fi -} - -boot() { - BOOT=1 - start "$@" -} - -start_service() { - #local count - logger -t "omr-bypass" "Starting OMR-ByPass..." - add_domains="false" - config_load omr-bypass - config_foreach _add_proto proto - disableipv6="$(uci -q get openmptcprouter.settings.disable_ipv6)" - - [ -n "$RELOAD" ] && [ "$(ipset --list | grep omr_dst_bypass_all)" = "" ] && { - unset RELOAD - } - [ -z "$RELOAD" ] && { - ipset -q flush omr_dst_bypass_all > /dev/null 2>&1 - ipset -q flush omr6_dst_bypass_all > /dev/null 2>&1 - ipset -q --exist restore <<-EOF - create omr_dst_bypass_all hash:net hashsize 64 - create omr6_dst_bypass_all hash:net family inet6 hashsize 64 - EOF - } - iptables-save --counters | grep -v omr-bypass | iptables-restore -w --counters - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass - - -I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass-local - - -I OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-local - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-save --counters | grep -v omr-bypass6 | ip6tables-restore -w --counters - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass6 - - -I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6 - COMMIT - EOF - fi - - config_load network - config_foreach _intf_rule interface - local ndpi_rules="" - if [ "$(uci -q get openmptcprouter.settings.bypass_servers)" = "1" ]; then - config_load openmptcprouter - config_foreach _bypass_omr_server server - fi - config_load omr-bypass - config_foreach _bypass_ip_set ips - config_foreach _bypass_mac macs - config_foreach _bypass_lan_ip lan_ip - config_foreach _bypass_dest_port dest_port - config_foreach _bypass_src_port src_port - config_foreach _bypass_asn asns - dnsmasqipset=$(uci -q get dhcp.@dnsmasq[0].ipset | sed 's/ /\n/g' | grep -v dst_bypass) - uci -q delete dhcp.@dnsmasq[0].ipset - if [ -n "$dnsmasqipset" ]; then - for dnsipset in $dnsmasqipset; do - ipsets="" - allipsets=$(echo $dnsipset | cut -d/ -f3 | sed 's/,/\n/g') - for ipset in $allipsets; do - [ "$(echo $ipset | grep -v dst_bypass)" != "" ] && { - [ "$ipsets" != "" ] && ipsets="$ipsets,$ipset" - [ "$ipsets" = "" ] && ipsets="$ipset" - } - done - if [ "$ipsets" != "" ]; then - resultipset="/$(echo $dnsipset | cut -d/ -f2)/$ipsets" - [ -n "$resultipset" ] && uci -q add_list dhcp.@dnsmasq[0].ipset=$resultipset - fi - done - fi - config_foreach _bypass_domains domains - uci -q commit dhcp - - ip rule add prio 1 fwmark 0x539 lookup 991337 > /dev/null 2>&1 - ip -6 rule add prio 1 fwmark 0x6539 lookup 6991337 > /dev/null 2>&1 - - if [ "$(iptables --wait=40 -t mangle -L -n | grep 'match-set omr_dst_bypass_all dst MARK set')" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - COMMIT - EOF - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-local -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - COMMIT - EOF - fi - - config_load shadowsocks-libev - config_foreach _ss_rules_config - _v2ray_rules_config - - iptables-save --counters | grep -v omr-bypass-dpi | iptables-restore -w --counters - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass-dpi - - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi - -A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi - -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass-dpi - COMMIT - EOF - if [ "$disableipv6" = "0" ]; then - ip6tables-save --counters | grep -v omr-bypass6-dpi | ip6tables-restore -w --counters - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass6-dpi - - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi - -A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi - -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass6-dpi - COMMIT - EOF - fi - config_load omr-bypass - config_foreach _bypass_proto dpis - uci -q commit omr-bypass - - [ -z "$RELOAD" ] && [ "$add_domains" = "true" ] && { - logger -t "omr-bypass" "Restart dnsmasq..." - /etc/init.d/dnsmasq restart - } - [ -n "$RELOAD" ] && [ "$add_domains" = "true" ] && { - logger -t "omr-bypass" "Reload dnsmasq..." - /etc/init.d/dnsmasq reload - } - logger -t "omr-bypass" "OMR-ByPass is running" -} - -stop_service() { - iptables-save --counters | grep -v omr-bypass | iptables-restore -w --counters - iptables-save --counters | grep -v omr_dst | iptables-restore -w --counters - ip6tables-save --counters | grep -v omr-bypass6 | ip6tables-restore -w --counters - ip6tables-save --counters | grep -v omr6_dst | ip6tables-restore -w --counters - for setname in $(ipset -n list | grep "omr_"); do - ipset -q destroy "$setname" 2>/dev/null || true - done -} - -service_triggers() { - procd_add_reload_trigger omr-bypass network firewall -} - -reload_service() { - start -} - -reload_rules() { - [ "$( ipset -n list | grep omr_ )" = "" ] && return 0 - RELOAD=1 - start -} diff --git a/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass b/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass deleted file mode 100755 index 9ced39f93..000000000 --- a/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@omr-bypass[-1] - add ucitrack omr-bypass - set ucitrack.@omr-bypass[-1].init=omr-bypass - commit ucitrack -EOF - -if [ -n "$(uci -q get omr-bypass.dpi)" ]; then - proto=$(uci -q get omr-bypass.dpi.proto) - [ -n "$proto" ] && { - for pro in $proto; do - uci -q batch <<-EOF >/dev/null - set omr-bypass.dpi[-1]=dpi - set omr-bypass.dpi[-1].proto=$pro - set omr-bypass.dpi[-1].interface=all - EOF - done - uci -q commit omr-bypass - } -fi - -if [ -n "$(uci -q get omr-bypass.ips)" ]; then - ips=$(uci -q get omr-bypass.ips.ip) - [ -n "$ips" ] && { - for ip in $ips; do - uci -q batch <<-EOF >/dev/null - set omr-bypass.ips[-1]=ips - set omr-bypass.ips[-1].ip=$ip - set omr-bypass.ips[-1].interface=all - EOF - done - uci -q commit omr-bypass - } -fi - -if [ -n "$(uci -q get dhcp.dnsmasq[0].ipset)" ]; then - domains="$(uci -q get dhcp.dnsmasq[0].ipset | sed -e 's:/::' -e 's:/ss_rules_dst_bypass_all::' -e 's:/: :g')" - [ -n "$domains" ] && { - for domain in $domains; do - uci -q batch <<-EOF >/dev/null - set omr-bypass.domains[-1]=domains - set omr-bypass.domains[-1].name=$domain - set omr-bypass.domains[-1].interface=all - EOF - done - uci -q commit omr-bypass - } -fi - -if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects | grep omr-bypass)" != "" ]; then - uci -q batch <<-EOF >/dev/null - del_list ucitrack.@shadowsocks-libev[-1].affects=omr-bypass - commit ucitrack - EOF -fi - -if [ "$(uci -q get firewall.omr_bypass)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set firewall.omr_bypass=include - set firewall.omr_bypass.path=/etc/firewall.omr-bypass - set firewall.omr_bypass.reload=0 - commit firewall - EOF -fi - -if [ "$(uci -q get omr-bypass.m6replay)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.m6replay=proto - add_list omr-bypass.m6replay.url='m6web.fr' - add_list omr-bypass.m6replay.url='6play.fr' - add_list omr-bypass.m6replay.url='6cloud.fr' - commit omr-bypass - EOF -fi -if [ "$(uci -q get omr-bypass.mycanal)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.mycanal=proto - add_list omr-bypass.mycanal.url='mycanal.fr' - add_list omr-bypass.mycanal.url='canal-plus.com' - add_list omr-bypass.mycanal.url='canalplus.com' - add_list omr-bypass.mycanal.url='canalplus-cdn.net' - add_list omr-bypass.mycanal.url='canalplus.pro' - add_list omr-bypass.mycanal.url='canal-plus.net' - commit omr-bypass - EOF -fi -if [ "$(uci -q get omr-bypass.minecraft)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.minecraft=proto - add_list omr-bypass.minecraft.url='authserver.mojang.com' - commit omr-bypass - EOF -fi -if [ "$(uci -q get omr-bypass.lesnumeriques)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.lesnumeriques=proto - add_list omr-bypass.lesnumeriques.url='lesnumeriques.com' - add_list omr-bypass.lesnumeriques.url='botscorner.com' - add_list omr-bypass.lesnumeriques.url='app.botscorner.com' - commit omr-bypass - EOF -fi -if [ "$(uci -q get omr-bypass.disneyplus)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.disneyplus=proto - add_list omr-bypass.disneyplus.url='bamgrid.com' - add_list omr-bypass.disneyplus.url='disney-plus.net' - commit omr-bypass - EOF -fi -if [ "$(uci -q get omr-bypass.amazonvideo)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.amazonvideo=proto - add_list omr-bypass.amazonvideo.url='cloudfront.net' - add_list omr-bypass.amazonvideo.url='llnw.net' - commit omr-bypass - EOF -fi -if [ ! -f /etc/crontabs/root ] || [ "$(cat /etc/crontabs/root | grep bypass)" = "" ]; then - echo "0 2 * * * /etc/init.d/omr-bypass bypass_asn" >> /etc/crontabs/root -fi -rm -f /tmp/luci-indexcache -exit 0 diff --git a/luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json b/luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json deleted file mode 100755 index 24cc23af3..000000000 --- a/luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/services/omr-bypass": { - "title": "OMR-Bypass", - "order": 60, - "action": { - "type": "view", - "path": "services/omr-bypass" - }, - "depends": { - "acl": [ "luci-app-omr-bypass" ] - } - } -} diff --git a/luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json b/luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json deleted file mode 100755 index 3281f4fca..000000000 --- a/luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "luci-app-omr-bypass": { - "description": "Grant access to ndpi resources", - "read": { - "file": { - "/proc/net/xt_ndpi/proto": [ "read" ], - "/proc/net/xt_ndpi/host_proto": [ "read" ] - }, - "ubus": { - "luci-rpc": [ "getHostHints" ] - }, - "uci": [ "omr-bypass" ] - }, - "write": { - "uci": [ "omr-bypass" ] - } - } -} \ No newline at end of file diff --git a/ndpi-netfilter2/Makefile b/ndpi-netfilter2/Makefile deleted file mode 100755 index 2c0377aa8..000000000 --- a/ndpi-netfilter2/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# -# Based on package from https://github.com/openwrt-develop/ndpi-netfilter/ -# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) for OpenMPTCProuter -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=ndpi-netfilter2 -PKG_RELEASE:=3 -PKG_REV:=59f295ba86110f2642f76eb967b041c4108fedd5 -PKG_VERSION:=4-$(PKG_REV) - -PKG_SOURCE_PROTO:=git -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_URL:=https://github.com/vel21ripn/nDPI.git -PKG_SOURCE_VERSION:=$(PKG_REV) - -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) - -include $(INCLUDE_DIR)/package.mk - -define Package/iptables-mod-ndpi - SUBMENU:=Firewall - SECTION:=net - CATEGORY:=Network - TITLE:=ndpi successor of OpenDPI - URL:=http://www.ntop.org/products/ndpi/ -# DEPENDS:=+iptables +iptables-mod-conntrack-extra +kmod-ipt-ndpi +libpcap - DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap - MAINTAINER:=Ycarus (Yannick Chabanois) -endef - -define Package/iptables-mod-ndpi/description - nDPI is a ntop-maintained superset of the popular OpenDPI library -endef - -#CONFIGURE_CMD = ./autogen.sh -#CONFIGURE_ARGS += --with-pic -MAKE_PATH := ndpi-netfilter - -MAKE_FLAGS += \ - KERNEL_DIR="$(LINUX_DIR)" \ - MODULES_DIR="$(TARGET_MODULES_DIR)" \ - ARCH="$(LINUX_KARCH)" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - NDPI_PATH=$(PKG_BUILD_DIR)/ndpi-netfilter - -define Build/Configure - cd $(PKG_BUILD_DIR) && \ - CC="" ./autogen.sh \ - --host="$(GNU_TARGET_NAME)" -# --with-pic \ -# CFLAGS="$(TARGET_CFLAGS)" \ -# HOST_CFLAGS="$(BUILD_CFLAGS)" \ -# BUILD_CPPFLAGS="$(TARGET_CPPLAGS)" \ -# BUILD_CFLAGS="$(TARGET_CFLAGS)" \ -# BUILD_LDFLAGS="$(TARGET_LDFLAGS)" -endef - -define Build/Compile - (cd $(PKG_BUILD_DIR)/src/lib &&\ - gcc -g -O2 -fPIC -DPIC -DNDPI_LIB_COMPILATION -I../../src/include/ -I../../src/lib/third_party/include/ ndpi_network_list_compile.c -o ndpi_network_list_compile &&\ - ./ndpi_network_list_compile -o ndpi_network_list.c.inc ndpi_network_list_std.yaml ndpi_network_list_tor.yaml) - $(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR)/ndpi-netfilter -endef - -define Package/iptables-mod-ndpi/install - $(INSTALL_DIR) $(1)/usr/lib/iptables - $(INSTALL_BIN) $(PKG_BUILD_DIR)/ndpi-netfilter/ipt/libxt_ndpi.so $(1)/usr/lib/iptables -endef - -define KernelPackage/ipt-ndpi - SUBMENU:=Netfilter Extensions - TITLE:= nDPI net netfilter module - DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap - KCONFIG:=CONFIG_NF_CONNTRACK_LABELS=y \ - CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y - FILES:= $(PKG_BUILD_DIR)/ndpi-netfilter/src/xt_ndpi.ko - AUTOLOAD:=$(call AutoProbe,xt_ndpi) -endef - -$(eval $(call BuildPackage,iptables-mod-ndpi)) -$(eval $(call KernelPackage,ipt-ndpi))