diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua b/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua index 96da08a953..daba814e6a 100644 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua +++ b/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua @@ -18,7 +18,7 @@ end function get_template_config() local b local d="" - for cnt in io.lines("/tmp/resolv.conf.auto") do + for cnt in io.lines("/tmp/resolv.conf.d/resolv.conf.auto") do b=string.match (cnt,"^[^#]*nameserver%s+([^%s]+)$") if (b~=nil) then d=d.." - "..b.."\n" diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua b/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua index 72a2ebffde..9e2f996b20 100644 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua +++ b/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua @@ -8,7 +8,7 @@ require("table") function gen_template_config() local b local d="" - for cnt in io.lines("/tmp/resolv.conf.auto") do + for cnt in io.lines("/tmp/resolv.conf.d/resolv.conf.auto") do b=string.match (cnt,"^[^#]*nameserver%s+([^%s]+)$") if (b~=nil) then d=d.." - "..b.."\n" @@ -94,4 +94,4 @@ function m.on_commit(map) fs.writefile("/var/run/AdGlucitest","") end end -return m \ No newline at end of file +return m diff --git a/package/ctcgfw/luci-app-adguardhome/root/etc/init.d/AdGuardHome b/package/ctcgfw/luci-app-adguardhome/root/etc/init.d/AdGuardHome index 5018a85d74..5a66043248 100755 --- a/package/ctcgfw/luci-app-adguardhome/root/etc/init.d/AdGuardHome +++ b/package/ctcgfw/luci-app-adguardhome/root/etc/init.d/AdGuardHome @@ -49,7 +49,7 @@ stop_forward_dnsmasq() uci del_list dhcp.@dnsmasq[0].server=$addr 2>/dev/null addrlist="`uci get dhcp.@dnsmasq[0].server 2>/dev/null`" if [ -z "$addrlist" ] ; then - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto 2>/dev/null + uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto 2>/dev/null uci delete dhcp.@dnsmasq[0].noresolv 2>/dev/null fi uci commit dhcp diff --git a/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan b/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan index fda34a6fd2..6a38464d73 100755 --- a/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan +++ b/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan @@ -470,7 +470,7 @@ function rand_geturl(){ uci delete network.wan.mtu uci commit network uci set dhcp.@dnsmasq[0].port='53' - uci set dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto' + uci set dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.d/resolv.conf.auto' uci delete dhcp.@dnsmasq[0].server uci delete dhcp.@dnsmasq[0].noresolv uci commit dhcp diff --git a/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder b/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder index 4b105ba302..4af8971985 100755 --- a/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder +++ b/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder @@ -202,7 +202,7 @@ stop() local addr=$(uci get dnsforwarder.@arguments[0].addr 2>/dev/null) addr=${addr/:/#} uci del_list dhcp.@dnsmasq[0].server=$addr 2>/dev/null - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto 2>/dev/null + uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto 2>/dev/null uci delete dhcp.@dnsmasq[0].noresolv 2>/dev/null uci delete dhcp.@dnsmasq[0].serversfile 2>/dev/null uci commit dhcp diff --git a/package/lean/luci-app-flowoffload/Makefile b/package/lean/luci-app-flowoffload/Makefile deleted file mode 100644 index a65cfc034d..0000000000 --- a/package/lean/luci-app-flowoffload/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for Flow Offload -LUCI_DEPENDS:=+kmod-ipt-offload +pdnsd-alt +kmod-tcp-bbr -LUCI_PKGARCH:=all -PKG_VERSION:=1.0 -PKG_RELEASE:=15 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/lean/luci-app-flowoffload/luasrc/controller/flowoffload.lua b/package/lean/luci-app-flowoffload/luasrc/controller/flowoffload.lua deleted file mode 100644 index 08314df9ce..0000000000 --- a/package/lean/luci-app-flowoffload/luasrc/controller/flowoffload.lua +++ /dev/null @@ -1,46 +0,0 @@ -module("luci.controller.flowoffload", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/flowoffload") then - return - end - local page - page = entry({"admin", "network", "flowoffload"}, cbi("flowoffload"), _("Turbo ACC Center"), 101) - page.i18n = "flowoffload" - page.dependent = true - - entry({"admin", "network", "flowoffload", "status"}, call("action_status")) -end - -local function is_running() - return luci.sys.call("[ `cat /sys/module/xt_FLOWOFFLOAD/refcnt 2>/dev/null` -gt 0 ] 2>/dev/null") == 0 -end - -local function is_bbr() - return luci.sys.call("[ `cat /proc/sys/net/ipv4/tcp_congestion_control 2>/dev/null` = bbr ] 2>/dev/null") == 0 -end - -local function is_fullcone() - return luci.sys.call("[ `cat /sys/module/xt_FULLCONENAT/refcnt 2>/dev/null` -gt 0 ] 2>/dev/null") == 0 -end - -local function is_dns() - return luci.sys.call("[ x$(uci get flowoffload.@flow[0].dnscache_enable 2>/dev/null) != x3 ] && pgrep dnscache >/dev/null || pgrep AdGuardHome >/dev/null") == 0 -end - -local function is_ad() - return luci.sys.call("pgrep AdGuardHome >/dev/null") == 0 -end - -function action_status() - luci.http.prepare_content("application/json") - luci.http.write_json({ - run_state = is_running(), - down_state = is_bbr(), - up_state = is_fullcone(), - dns_state = is_dns(), - ad_state = is_ad() - }) -end - - diff --git a/package/lean/luci-app-flowoffload/luasrc/model/cbi/flowoffload.lua b/package/lean/luci-app-flowoffload/luasrc/model/cbi/flowoffload.lua deleted file mode 100644 index 50739560ce..0000000000 --- a/package/lean/luci-app-flowoffload/luasrc/model/cbi/flowoffload.lua +++ /dev/null @@ -1,50 +0,0 @@ -local m,s,o -local SYS = require "luci.sys" -local trport = 3001 -local button = "" -if luci.sys.call("pidof AdGuardHome >/dev/null") == 0 then - button = "      " -end - -m = Map("flowoffload") -m.title = translate("Turbo ACC Acceleration Settings") -m.description = translate("Opensource Linux Flow Offload driver (Fast Path or HWNAT)") -m:append(Template("flow/status")) - -s = m:section(TypedSection, "flow") -s.addremove = false -s.anonymous = true - -bbr = s:option(Flag, "bbr", translate("Enable BBR")) -bbr.default = 0 -bbr.rmempty = false -bbr.description = translate("Bottleneck Bandwidth and Round-trip propagation time (BBR)") - -dns = s:option(Flag, "dns", translate("DNS Acceleration")) -dns.default = 0 -dns.rmempty = false -dns.description = translate("Enable DNS Cache Acceleration and anti ISP DNS pollution") - -o = s:option(ListValue, "dnscache_enable", translate("Resolve Dns Mode"), translate("AdGuardHome's login username/passwd: AdGuardHome, web console addr: IP:3001") .. button) -o:value("1", translate("Use Pdnsd query and cache")) -if nixio.fs.access("/usr/bin/dnsforwarder") then -o:value("2", translate("Use dnsforwarder query and cache")) -end -if nixio.fs.access("/usr/bin/AdGuardHome") then -o:value("3", translate("Use AdGuardHome query and cache")) -end -o.default = 1 -o:depends("dns", 1) - -o = s:option(Value, "dns_server", translate("Upsteam DNS Server")) -o.default = "114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" -o.description = translate("Muitiple DNS server can saperate with ','") -o:depends("dnscache_enable", 1) -o:depends("dnscache_enable", 2) - -o = s:option(Value, "ipv6dns_server", translate("Upsteam IPV6 DNS Server")) -o.default = "2001:4860:4860::8888,2001:4860:4860::8844,2001:2001::1111,2001:2001::1001,2400:da00::6666,240C::6666,240C::6644" -o.description = translate("Muitiple IPV6 DNS server can saperate with ','") -o:depends("dnscache_enable", 2) - -return m diff --git a/package/lean/luci-app-flowoffload/luasrc/view/flow/status.htm b/package/lean/luci-app-flowoffload/luasrc/view/flow/status.htm deleted file mode 100644 index 58373ef01b..0000000000 --- a/package/lean/luci-app-flowoffload/luasrc/view/flow/status.htm +++ /dev/null @@ -1,27 +0,0 @@ -
- <%:Running Status%> - - - - - - -
FLOW 加速状态<%:Collecting data...%>
TCP拥塞控制算法<%:Collecting data...%>
FULLCONE NAT加速<%:Collecting data...%>
DNS 加速<%:Collecting data...%>
AdGuardHome 去广告<%:Collecting data...%>
-
- - diff --git a/package/lean/luci-app-flowoffload/po/zh_Hans/flowoffload.po b/package/lean/luci-app-flowoffload/po/zh_Hans/flowoffload.po deleted file mode 100644 index bbaca03d85..0000000000 --- a/package/lean/luci-app-flowoffload/po/zh_Hans/flowoffload.po +++ /dev/null @@ -1,57 +0,0 @@ -msgid "Flow Offload ACC" -msgstr "Flow Offload 转发加速" - -msgid "Turbo ACC Center" -msgstr "Turbo ACC 网络加速" - -msgid "Turbo ACC Acceleration Settings" -msgstr "Turbo ACC 网络加速设置" - -msgid "Linux Flow Offload Forwarding Engine Settings" -msgstr "Linux Flow Offload Forwarding 转发加速引擎设置" - -msgid "Opensource Linux Flow Offload driver (Fast Path or HWNAT)" -msgstr "开源 Linux Flow Offload 驱动 (支持 Fast Path 或者 HWNAT)" - -msgid "Enable" -msgstr "启用" - -msgid "Enable BBR" -msgstr "启用 BBR" - -msgid "Bottleneck Bandwidth and Round-trip propagation time (BBR)" -msgstr "使用BBR拥塞控制算法可以加强TCP应用表现" - -msgid "DNS Acceleration" -msgstr "DNS 加速" - -msgid "Enable DNS Cache Acceleration and anti ISP DNS pollution" -msgstr "启用DNS多线程查询、缓存,并防止ISP的DNS广告和域名劫持" - -msgid "Resolve Dns Mode" -msgstr "DNS解析方式" - -msgid "Use Pdnsd query and cache" -msgstr "使用pdnsd解析" - -msgid "Use dnsforwarder query and cache" -msgstr "使用dnsforwarder解析" - -msgid "Use AdGuardHome query and cache" -msgstr "使用AdGuardHome解析去广告" - -msgid "Upsteam DNS Server" -msgstr "上游 DNS 服务器(国内)" - -msgid "Upsteam IPV6 DNS Server" -msgstr "上游 IPV6 DNS 服务器" - -msgid "Muitiple DNS server can saperate with ','" -msgstr "支持多个上游DNS服务器,用','分隔(注意用英文逗号).请填写您最快的DNS服务器" - -msgid "Muitiple IPV6 DNS server can saperate with ','" -msgstr "支持dnsforwarder解析多个上游IPV6 DNS服务器,用','分隔(注意用英文逗号).请填写您最快的DNS服务器" - -msgid "AdGuardHome's login username/passwd: AdGuardHome, web console addr: IP:3001" -msgstr "AdGuardHome 网页控制台地址:IP:3001 登录账号/密码:AdGuardHome" - diff --git a/package/lean/luci-app-flowoffload/root/etc/config/flowoffload b/package/lean/luci-app-flowoffload/root/etc/config/flowoffload deleted file mode 100644 index 330aa60d5d..0000000000 --- a/package/lean/luci-app-flowoffload/root/etc/config/flowoffload +++ /dev/null @@ -1,9 +0,0 @@ - -config flow - option bbr '0' - option dns '0' - option dnscache_enable '1' - option dns_server '114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8' - option ipv6dns_server '240c::6666,240c::6644,2001:da8::666,2001:da8:202:10::36,2001:da8:8000:1:202:120:2:100' - - diff --git a/package/lean/luci-app-flowoffload/root/etc/uci-defaults/flowoffload b/package/lean/luci-app-flowoffload/root/etc/uci-defaults/flowoffload deleted file mode 100755 index 246bccfec5..0000000000 --- a/package/lean/luci-app-flowoffload/root/etc/uci-defaults/flowoffload +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -uci set firewall.@defaults[0].flow_offloading=1 -uci commit firewall - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@flowoffload[-1] - add ucitrack flowoffload - set ucitrack.@flowoffload[-1].init=flowoffload - commit ucitrack -EOF - -exit 0 diff --git a/package/lean/luci-app-flowoffload/root/usr/share/dnscache/dnscache-while.sh b/package/lean/luci-app-flowoffload/root/usr/share/dnscache/dnscache-while.sh deleted file mode 100755 index 37e012983f..0000000000 --- a/package/lean/luci-app-flowoffload/root/usr/share/dnscache/dnscache-while.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -sleeptime=60 -logfile="/var/log/dnscache.file" -adg_logfile="/etc/AdGuardHome/data/querylog.json" -dns_enable=$(uci get flowoffload.@flow[0].dns 2>/dev/null) -dnscache_enable=$(uci get flowoffload.@flow[0].dnscache_enable 2>/dev/null) - -clean_log(){ -logrow=$(grep -c "" ${logfile}) -if [ $logrow -ge 500 ];then - cat /dev/null > ${logfile} - echo "$curtime Log条数超限,清空处理!" >> ${logfile} -fi -if [ $dnscache_enable = "3" ];then - adg_logrow=$(grep -c "" ${adg_logfile}) - if [ $adg_logrow -ge 500 ];then - cat /dev/null > ${adg_logfile} - echo "$curtime Log条数超限,清空处理!" >> ${adg_logfile} - fi -fi -} - -while [ $dns_enable -eq 1 ]; -do -curtime=`date "+%H:%M:%S"` -echo "$curtime online! " -if [ $dns_enable -eq 1 ]; then - if [ $dnscache_enable = "3" ];then - if ! pidof AdGuardHome>/dev/null;then - AdGuardHome -c /etc/AdGuardHome/AdGuardHome.yaml -w /etc/AdGuardHome & - echo "$curtime 重启服务!" >> ${logfile} - fi - else - if ! pidof dnscache>/dev/null; then - if [ $dnscache_enable = "1" ];then - /usr/sbin/dnscache -c /var/etc/dnscache.conf & - elif [ $dnscache_enable = "2" ];then - dnscache -f /var/run/dnscache/dnscache.conf & - fi - echo "$curtime 重启服务!" >> ${logfile} - fi - fi -fi - -clean_log -sleep ${sleeptime} -continue -done - diff --git a/package/lean/luci-app-flowoffload/root/usr/share/rpcd/acl.d/luci-app-flowoffload.json b/package/lean/luci-app-flowoffload/root/usr/share/rpcd/acl.d/luci-app-flowoffload.json deleted file mode 100644 index 70e23a86c1..0000000000 --- a/package/lean/luci-app-flowoffload/root/usr/share/rpcd/acl.d/luci-app-flowoffload.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-flowoffload": { - "description": "Grant UCI access for luci-app-flowoffload", - "read": { - "uci": [ "flowoffload" ] - }, - "write": { - "uci": [ "flowoffload" ] - } - } -} diff --git a/package/lean/luci-app-sfe/Makefile b/package/lean/luci-app-sfe/Makefile deleted file mode 100644 index 7320a83664..0000000000 --- a/package/lean/luci-app-sfe/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for Turbo ACC (SFE) -LUCI_DEPENDS:=+kmod-fast-classifier +pdnsd-alt +kmod-tcp-bbr -LUCI_PKGARCH:=all -PKG_VERSION:=1.0 -PKG_RELEASE:=13 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/lean/luci-app-sfe/luasrc/controller/sfe.lua b/package/lean/luci-app-sfe/luasrc/controller/sfe.lua deleted file mode 100644 index 20fb299aa4..0000000000 --- a/package/lean/luci-app-sfe/luasrc/controller/sfe.lua +++ /dev/null @@ -1,44 +0,0 @@ -module("luci.controller.sfe", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/sfe") then - return - end - local page - page = entry({"admin", "network", "sfe"}, cbi("sfe"), _("Turbo ACC Center"), 100) - page.i18n = "sfe" - page.dependent = true - - entry({"admin", "network", "sfe", "status"}, call("action_status")) -end - -local function is_running() - return luci.sys.call("lsmod | grep fast_classifier >/dev/null") == 0 -end - -local function is_bbr() - return luci.sys.call("sysctl net.ipv4.tcp_congestion_control | grep bbr >/dev/null") == 0 -end - -local function is_fullcone() - return luci.sys.call("iptables -t nat -L -n --line-numbers | grep FULLCONENAT >/dev/null") == 0 -end - -local function is_dns() - return luci.sys.call("[ x$(uci get sfe.config.dnscache_enable 2>/dev/null) != x3 ] && pgrep dnscache >/dev/null || pgrep AdGuardHome >/dev/null") == 0 -end - -local function is_ad() - return luci.sys.call("pgrep AdGuardHome >/dev/null") == 0 -end - -function action_status() - luci.http.prepare_content("application/json") - luci.http.write_json({ - run_state = is_running(), - down_state = is_bbr(), - up_state = is_fullcone(), - dns_state = is_dns(), - ad_state = is_ad() - }) -end diff --git a/package/lean/luci-app-sfe/luasrc/model/cbi/sfe.lua b/package/lean/luci-app-sfe/luasrc/model/cbi/sfe.lua deleted file mode 100644 index 7ebdc4749e..0000000000 --- a/package/lean/luci-app-sfe/luasrc/model/cbi/sfe.lua +++ /dev/null @@ -1,67 +0,0 @@ -local trport = 3001 -local button = "" -if luci.sys.call("pidof AdGuardHome >/dev/null") == 0 then - button = "      " -end - -m = Map("sfe") -m.title = translate("Turbo ACC Acceleration Settings") -m.description = translate("Opensource Qualcomm Shortcut FE driver (Fast Path)") - -m:append(Template("sfe/status")) - -s = m:section(TypedSection, "sfe", "") -s.addremove = false -s.anonymous = true - - -enable = s:option(Flag, "enabled", translate("Enable SFE Fast Path")) -enable.default = 0 -enable.rmempty = false -enable.description = translate("Enable Fast Path offloading for connections. (decrease cpu load / increase routing throughput)") - -wifi = s:option(Flag, "wifi", translate("Bridge Acceleration")) -wifi.default = 0 -wifi.rmempty = false -wifi.description = translate("Enable Bridge Acceleration (may be functional conflict with bridge-mode VPN Server)") -wifi:depends("enabled", 1) - -ipv6 = s:option(Flag, "ipv6", translate("IPv6 Acceleration")) -ipv6.default = 0 -ipv6.rmempty = false -ipv6.description = translate("Enable IPv6 Acceleration") -ipv6:depends("enabled", 1) - -bbr = s:option(Flag, "bbr", translate("Enable BBR")) -bbr.default = 0 -bbr.rmempty = false -bbr.description = translate("Bottleneck Bandwidth and Round-trip propagation time (BBR)") - -dns = s:option(Flag, "dns", translate("DNS Acceleration")) -dns.default = 0 -dns.rmempty = false -dns.description = translate("Enable DNS Cache Acceleration and anti ISP DNS pollution") - -o = s:option(ListValue, "dnscache_enable", translate("Resolve Dns Mode"), translate("AdGuardHome's login username/passwd: AdGuardHome, web console addr: IP:3001") .. button) -o:value("1", translate("Use Pdnsd query and cache")) -if nixio.fs.access("/usr/bin/dnsforwarder") then -o:value("2", translate("Use dnsforwarder query and cache")) -end -if nixio.fs.access("/usr/bin/AdGuardHome") then -o:value("3", translate("Use AdGuardHome query and cache")) -end -o.default = 1 -o:depends("dns", 1) - -o = s:option(Value, "dns_server", translate("Upsteam DNS Server")) -o.default = "114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" -o.description = translate("Muitiple DNS server can saperate with ','") -o:depends("dnscache_enable", 1) -o:depends("dnscache_enable", 2) - -o = s:option(Value, "ipv6dns_server", translate("Upsteam IPV6 DNS Server")) -o.default = "2001:4860:4860::8888,2001:4860:4860::8844,2001:2001::1111,2001:2001::1001,2400:da00::6666,240C::6666,240C::6644" -o.description = translate("Muitiple IPV6 DNS server can saperate with ','") -o:depends("dnscache_enable", 2) - -return m diff --git a/package/lean/luci-app-sfe/luasrc/view/sfe/status.htm b/package/lean/luci-app-sfe/luasrc/view/sfe/status.htm deleted file mode 100644 index e38724c8e7..0000000000 --- a/package/lean/luci-app-sfe/luasrc/view/sfe/status.htm +++ /dev/null @@ -1,27 +0,0 @@ -
- <%:Running Status%> - - - - - - -
SFE 加速状态<%:Collecting data...%>
BBR 加速<%:Collecting data...%>
FULLCONE NAT加速<%:Collecting data...%>
DNS 加速<%:Collecting data...%>
AdGuardHome 去广告<%:Collecting data...%>
-
- - diff --git a/package/lean/luci-app-sfe/po/zh_Hans/sfe.po b/package/lean/luci-app-sfe/po/zh_Hans/sfe.po deleted file mode 100644 index 4b985b47c6..0000000000 --- a/package/lean/luci-app-sfe/po/zh_Hans/sfe.po +++ /dev/null @@ -1,81 +0,0 @@ -msgid "SFE Acceleration" -msgstr "SFE 转发加速" - -msgid "Turbo ACC Center" -msgstr "Turbo ACC 网络加速" - -msgid "Turbo ACC Acceleration Settings" -msgstr "Turbo ACC 网络加速设置" - -msgid "Shortcut Forwarding Engine Acceleration Settings" -msgstr "SFE 转发加速引擎设置" - -msgid "Opensource Qualcomm Shortcut FE driver (Fast Path)" -msgstr "来自高通开源的 Shortcut FE 转发加速引擎 (Fast Path)" - -msgid "Enable" -msgstr "启用" - -msgid "Enable SFE Fast Path" -msgstr "启用 SFE Fast Path 加速" - -msgid "Enable Fast Path offloading for connections. (decrease cpu load / increase routing throughput)" -msgstr "开启 Fast Path 转发加速. (降低CPU占用 / 增强路由转发性能,和多WAN或者QOS功能可能会冲突)" - -msgid "Bridge Acceleration" -msgstr "桥接加速" - -msgid "Enable Bridge Acceleration (may be functional conflict with bridge-mode VPN Server)" -msgstr "启用桥接加速 (可能会和路由器上桥接模式的VPN服务器冲突)" - -msgid "IPv6 Acceleration" -msgstr "IPv6 加速" - -msgid "Enable IPv6 Acceleration" -msgstr "开启IPv6加速" - -msgid "Enable BBR" -msgstr "启用 BBR" - -msgid "Bottleneck Bandwidth and Round-trip propagation time (BBR)" -msgstr "BBR拥塞控制算法可以加强TCP应用表现" - -msgid "DNS Acceleration" -msgstr "DNS 加速" - -msgid "Enable DNS Cache Acceleration and anti ISP DNS pollution" -msgstr "启用DNS多线程查询、缓存,并防止ISP的DNS广告和域名劫持" - -msgid "Resolve Dns Mode" -msgstr "DNS解析方式" - -msgid "Enable dnsmasq killqqad" -msgstr "启用dnsmasq去广告" - -msgid "dnsmasq killqqad" -msgstr "dnsmasq去广告" - -msgid "Use Pdnsd query and cache" -msgstr "使用pdnsd解析" - -msgid "Use dnsforwarder query and cache" -msgstr "使用dnsforwarder解析" - -msgid "Use AdGuardHome query and cache" -msgstr "使用AdGuardHome解析去广告" - -msgid "Upsteam DNS Server" -msgstr "上游 DNS 服务器(国内)" - -msgid "Upsteam IPV6 DNS Server" -msgstr "上游 IPV6 DNS 服务器" - -msgid "Muitiple DNS server can saperate with ','" -msgstr "支持多个上游DNS服务器,用','分隔(注意用英文逗号).请填写您最快的DNS服务器" - -msgid "Muitiple IPV6 DNS server can saperate with ','" -msgstr "支持dnsforwarder解析多个上游IPV6 DNS服务器,用','分隔(注意用英文逗号).请填写您最快的DNS服务器" - -msgid "AdGuardHome's login username/passwd: AdGuardHome, web console addr: IP:3001" -msgstr "AdGuardHome 网页控制台地址:IP:3001 登录账号/密码:AdGuardHome" - diff --git a/package/lean/luci-app-sfe/root/etc/config/sfe b/package/lean/luci-app-sfe/root/etc/config/sfe deleted file mode 100644 index 0ca91221d8..0000000000 --- a/package/lean/luci-app-sfe/root/etc/config/sfe +++ /dev/null @@ -1,11 +0,0 @@ - -config sfe 'config' - option enabled '1' - option ipv6 '0' - option wifi '0' - option bbr '0' - option dns '0' - option dnscache_enable '1' - option dns_server '114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8' - option ipv6dns_server '240c::6666,240c::6644,2001:da8::666,2001:da8:202:10::36,2001:da8:8000:1:202:120:2:100' - diff --git a/package/lean/luci-app-sfe/root/etc/init.d/sfe b/package/lean/luci-app-sfe/root/etc/init.d/sfe deleted file mode 100755 index 955321ee55..0000000000 --- a/package/lean/luci-app-sfe/root/etc/init.d/sfe +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2007-2012 OpenWrt.org - -START=90 - -USE_PROCD=1 - - -DNSMASQ_RESTART=N -DNS_SERVER="114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" -IPV6DNS_SERVER="240c::6666,240c::6644,2001:da8::666,2001:da8:202:10::36,2001:da8:8000:1:202:120:2:100" - -lan_addr=$(uci get network.lan.ipaddr) - -start_pdnsd() { - DNS_SERVER=$(uci get sfe.config.dns_server 2>/dev/null) - cp -a /usr/sbin/pdnsd /usr/sbin/dnscache - sleep 1 - [ -d /var/etc ] || mkdir -p /var/etc - - if [ ! -f /var/dnscache/pdnsd.cache ]; then - mkdir -p /var/dnscache - echo -ne "pd13\000\000\000\000" > /var/dnscache/pdnsd.cache - chown -R nobody.nogroup /var/dnscache - fi - - cat > /var/etc/dnscache.conf </dev/null) - IPV6DNS_SERVER=$(uci get sfe.config.ipv6dns_server 2>/dev/null) - dnscache_enable=$(uci get sfe.config.dnscache_enable 2>/dev/null) - if [ $dnscache_enable = "2" ]; then - localserver=0.0.0.0:5333 - elif [ $dnscache_enable = "3" ]; then - localserver=0.0.0.0:5383 - fi - cp -a /usr/bin/dnsforwarder /usr/sbin/dnscache - sleep 1 - DNSCACHE_CONF=/var/run/dnscache/dnscache.conf - PID_PATH=/var/run/dnscache - PID_FILE=dns.pid - mkdir -p $PID_PATH - pid=`ps | awk '$5 ~ /\[dnscache\]/ {print $1}'` - - cat > /var/run/dnscache/dnscache.conf </dev/null 2>&1 || kill -9 $(ps | grep AdGuardHome | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - kill $(pidof dnscache) >/dev/null 2>&1 || kill -9 $(ps | grep dnscache | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - rm -rf /var/run/dnscache - rm -rf /var/dnscache - echo "Stop DNS Cache" - -} - -change_dns() { - uci delete dhcp.@dnsmasq[0].server >/dev/null 2>&1 - uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#5333 - uci set dhcp.@dnsmasq[0].noresolv=1 - uci commit dhcp - -} - -revert_dns() { - uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#5333 >/dev/null 2>&1 - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto - uci set dhcp.@dnsmasq[0].noresolv=0 - uci commit dhcp - -} - -start_service() { - enable=$(uci get sfe.config.enabled 2>/dev/null) - wifi=$(uci get sfe.config.wifi) - ipv6=$(uci get sfe.config.ipv6) - dns=$(uci get sfe.config.dns 2>/dev/null) - dnscache_enable=$(uci get sfe.config.dnscache_enable 2>/dev/null) - bbr=$(uci get sfe.config.bbr 2>/dev/null) - - if [ $enable -eq 1 ]; then - ! (lsmod | grep fast_classifier >/dev/null) && (modprobe fast_classifier) - if [ $wifi -eq 1 ] ; then - echo 1 > /sys/fast_classifier/skip_to_bridge_ingress - else - echo 0 > /sys/fast_classifier/skip_to_bridge_ingress - fi - - if [ $ipv6 -eq 1 ]; then - sfe_ipv6=$(cat /sys/sfe_ipv6/debug_dev) - [ ! -f /dev/sfe_ipv6 ] && mknod /dev/sfe_ipv6 c $sfe_ipv6 0 - else - rm -f /dev/sfe_ipv6 - fi - else - rmmod fast_classifier >/dev/null 2>&1 - fi - - if [ $dns -eq 1 ]; then - kill -9 $(ps | grep dnscache-while.sh | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - stop_dnscache - sleep 1 - rm -f /var/log/dnscache.file - rm -f /etc/AdGuardHome/data/querylog.json* - if [ $dnscache_enable = "1" ]; then - start_pdnsd - elif [ $dnscache_enable = "2" ]; then - start_dnsforwarder - elif [ $dnscache_enable = "3" ]; then - AdGuardHome -c /etc/AdGuardHome/AdGuardHome.yaml -w /etc/AdGuardHome -h ${lan_addr} -p 3001 --no-check-update & - fi - change_dns - nohup /usr/share/dnscache/dnscache-while.sh > /var/log/dnscache.file 2>&1 & - else - stop_dnscache - revert_dns - kill -9 $(ps | grep dnscache-while.sh | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - fi - - if [ $bbr -eq 1 ]; then - sysctl -w net.ipv4.tcp_congestion_control=bbr - else - sysctl -w net.ipv4.tcp_congestion_control=cubic - fi - - if [ "$DNSMASQ_RESTART" = N ]; then - /etc/init.d/dnsmasq restart - fi -} - -stop_service(){ - enable=$(uci get sfe.config.enabled 2>/dev/null) - [ $enable -ne 1 ] && rmmod fast_classifier >/dev/null 2>&1 - stop_dnscache - revert_dns - kill -9 $(ps | grep dnscache-while.sh | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - if [ "$DNSMASQ_RESTART" = N ]; then - /etc/init.d/dnsmasq restart - fi -} - -reload_service(){ - DNSMASQ_RESTART=Y - stop - start - /etc/init.d/dnsmasq restart && echo "DNSMASQ restart" -} - -service_triggers() -{ - procd_add_reload_trigger "sfe" -} diff --git a/package/lean/luci-app-sfe/root/etc/uci-defaults/sfe b/package/lean/luci-app-sfe/root/etc/uci-defaults/sfe deleted file mode 100755 index 50adb160fd..0000000000 --- a/package/lean/luci-app-sfe/root/etc/uci-defaults/sfe +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@sfe[-1] - add ucitrack sfe - set ucitrack.@sfe[-1].init=sfe - commit ucitrack -EOF - -[ ! -f /usr/sbin/dnscache ] && ln /usr/sbin/pdnsd /usr/sbin/dnscache -/etc/init.d/sfe enable - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/lean/luci-app-sfe/root/usr/share/dnscache/dnscache-while.sh b/package/lean/luci-app-sfe/root/usr/share/dnscache/dnscache-while.sh deleted file mode 100755 index 317e83ed34..0000000000 --- a/package/lean/luci-app-sfe/root/usr/share/dnscache/dnscache-while.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -sleeptime=30 -logfile="/var/log/dnscache.file" -adg_logfile="/etc/AdGuardHome/data/querylog.json" -dns_enable=$(uci get sfe.config.dns 2>/dev/null) -dnscache_enable=$(uci get sfe.config.dnscache_enable 2>/dev/null) -lan_addr=$(uci get network.lan.ipaddr) - -clean_log(){ -logrow=$(grep -c "" ${logfile}) -if [ $logrow -ge 500 ];then - cat /dev/null > ${logfile} - echo "$curtime Log条数超限,清空处理!" >> ${logfile} -fi -if [ $dnscache_enable = "3" ];then - adg_logrow=$(grep -c "" ${adg_logfile}) - if [ $adg_logrow -ge 500 ];then - cat /dev/null > ${adg_logfile} - echo "$curtime Log条数超限,清空处理!" >> ${adg_logfile} - fi -fi - -} - -while [ $dns_enable -eq 1 ]; -do -curtime=`date "+%H:%M:%S"` -echo "$curtime online! " -if [ $dns_enable -eq 1 ]; then - if [ $dnscache_enable = "3" ]; then - if ! pidof AdGuardHome>/dev/null; then - AdGuardHome -c /etc/AdGuardHome/AdGuardHome.yaml -w /etc/AdGuardHome -h ${lan_addr} -p 3001 --no-check-update & - echo "$curtime 重启服务!" >> ${logfile} - fi - else - if ! pidof dnscache>/dev/null; then - if [ $dnscache_enable = "1" ]; then - /usr/sbin/dnscache -c /var/etc/dnscache.conf & - elif [ $dnscache_enable = "2" ]; then - dnscache -f /var/run/dnscache/dnscache.conf & - fi - echo "$curtime 重启服务!" >> ${logfile} - fi - fi -fi - -sleep ${sleeptime} -continue -done diff --git a/package/lean/luci-app-sfe/root/usr/share/rpcd/acl.d/luci-app-sfe.json b/package/lean/luci-app-sfe/root/usr/share/rpcd/acl.d/luci-app-sfe.json deleted file mode 100644 index 25412e01a9..0000000000 --- a/package/lean/luci-app-sfe/root/usr/share/rpcd/acl.d/luci-app-sfe.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-sfe": { - "description": "Grant UCI access for luci-app-sfe", - "read": { - "uci": [ "sfe" ] - }, - "write": { - "uci": [ "sfe" ] - } - } -} diff --git a/package/lean/luci-app-turboacc/Makefile b/package/lean/luci-app-turboacc/Makefile new file mode 100644 index 0000000000..e94cd1fa5c --- /dev/null +++ b/package/lean/luci-app-turboacc/Makefile @@ -0,0 +1,50 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for Flow Offload / Shortcut-FE +LUCI_DEPENDS:=+pdnsd-alt \ + +PACKAGE_luci-app-turboacc_INCLUDE_shortcut-fe:kmod-fast-classifier \ + +PACKAGE_luci-app-turboacc_INCLUDE_flow-offload:kmod-ipt-offload \ + +PACKAGE_luci-app-turboacc_INCLUDE_bbr:kmod-tcp-bbr \ + +PACKAGE_luci-app-turboacc_INCLUDE_adguardhome:AdGuardHome \ + +PACKAGE_luci-app-turboacc_INCLUDE_dnsforwarder:dnsforwarder +LUCI_PKGARCH:=all + +PKG_NAME:=luci-app-turboacc +PKG_VERSION:=1.0 +PKG_RELEASE:=1 + +PKG_LICENSE:=GPLv3.0+ + +define Package/luci-app-turboacc/config +config PACKAGE_luci-app-turboacc_INCLUDE_shortcut-fe + bool "Include Shortcut-FE" + depends on PACKAGE_luci-app-turboacc_INCLUDE_flow-offload=n + default y if LINUX_4_9 + default n + +config PACKAGE_luci-app-turboacc_INCLUDE_flow-offload + bool "Include Flow Offload" + depends on !LINUX_4_9 + default y + +config PACKAGE_luci-app-turboacc_INCLUDE_bbr + bool "Include BBR" + default n if LINUX_4_9 + default y + +config PACKAGE_luci-app-turboacc_INCLUDE_adguardhome + bool "Include AdGuardHome" + default n + +config PACKAGE_luci-app-turboacc_INCLUDE_dnsforwarder + bool "Include DnsForwarder" + default n +endef +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/package/lean/luci-app-turboacc/luasrc/controller/turboacc.lua b/package/lean/luci-app-turboacc/luasrc/controller/turboacc.lua new file mode 100644 index 0000000000..3c67b15674 --- /dev/null +++ b/package/lean/luci-app-turboacc/luasrc/controller/turboacc.lua @@ -0,0 +1,44 @@ +module("luci.controller.turboacc", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/turboacc") then + return + end + local page + page = entry({"admin", "network", "turboacc"}, cbi("turboacc"), _("Turbo ACC Center"), 101) + page.i18n = "turboacc" + page.dependent = true + + entry({"admin", "network", "turboacc", "status"}, call("action_status")) +end + +local function fastpath_status() + return luci.sys.call("[ x$(cat /sys/module/xt_FLOWOFFLOAD/refcnt 2>/dev/null) != x0 ] || lsmod | grep -q fast_classifier") == 0 +end + +local function bbr_status() + return luci.sys.call("[ x$(cat /proc/sys/net/ipv4/tcp_congestion_control 2>/dev/null) = xbbr ]") == 0 +end + +local function fullconebat_status() + return luci.sys.call("[ x$(cat /sys/module/xt_FULLCONENAT/refcnt 2>/dev/null) != x0 ]") == 0 +end + +local function dnscaching_status() + return luci.sys.call("[ x$(uci -q get turboacc.config.dns_caching_mode) != x3 ] && pgrep dnscache >/dev/null || pgrep AdGuardHome >/dev/null") == 0 +end + +local function adguardhome_status() + return luci.sys.call("pgrep AdGuardHome >/dev/null") == 0 +end + +function action_status() + luci.http.prepare_content("application/json") + luci.http.write_json({ + fastpath_state = fastpath_status(), + bbr_state = bbr_status(), + fullconenat_state = fullconebat_status(), + dnscaching_state = dnscaching_status(), + adguardhome_state = adguardhome_status() + }) +end \ No newline at end of file diff --git a/package/lean/luci-app-turboacc/luasrc/model/cbi/turboacc.lua b/package/lean/luci-app-turboacc/luasrc/model/cbi/turboacc.lua new file mode 100644 index 0000000000..1ab6e66363 --- /dev/null +++ b/package/lean/luci-app-turboacc/luasrc/model/cbi/turboacc.lua @@ -0,0 +1,92 @@ +local ipkg = require('luci.model.ipkg') + +local kernel_version = luci.sys.exec("echo -n $(uname -r)") + +m = Map("turboacc") +m.title = translate("Turbo ACC Acceleration Settings") +m.description = translate("Opensource Flow Offloading driver (Fast Path or Hardware NAT)") + +m:append(Template("turboacc/status")) + +s = m:section(TypedSection, "turboacc", "") +s.addremove = false +s.anonymous = true + +if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FLOWOFFLOAD.ko") then +sw_flow = s:option(Flag, "sw_flow", translate("Software flow offloading")) +sw_flow.default = 0 +sw_flow.description = translate("Software based offloading for routing/NAT") +sw_flow:depends("sfe_flow", 0) +end + +hw_flow = s:option(Flag, "hw_flow", translate("Hardware flow offloading")) +hw_flow.default = 0 +hw_flow.description = translate("Requires hardware NAT support. Implemented at least for mt7621") +hw_flow:depends("sw_flow", 1) + +if nixio.fs.access("/lib/modules/" .. kernel_version .. "/fast-classifier.ko") then +sfe_flow = s:option(Flag, "sfe_flow", translate("Shortcut-FE flow offloading")) +sfe_flow.default = 0 +sfe_flow.description = translate("Shortcut-FE based offloading for routing/NAT") +sfe_flow:depends("sw_flow", 0) +end + +sfe_bridge = s:option(Flag, "sfe_bridge", translate("Bridge Acceleration")) +sfe_bridge.default = 0 +sfe_bridge.description = translate("Enable Bridge Acceleration (may be functional conflict with bridge-mode VPN server)") +sfe_bridge:depends("sfe_flow", 1) + +if ipkg.installed("ip6tables") then +sfe_ipv6 = s:option(Flag, "sfe_ipv6", translate("IPv6 Acceleration")) +sfe_ipv6.default = 0 +sfe_ipv6.description = translate("Enable IPv6 Acceleration") +sfe_ipv6:depends("sfe_flow", 1) +end + +if nixio.fs.access("/lib/modules/" .. kernel_version .. "/tcp_bbr.ko") then +bbr_cca = s:option(Flag, "bbr_cca", translate("Enable BBR CCA")) +bbr_cca.default = 0 +bbr_cca.rmempty = false +bbr_cca.description = translate("Using BBR CCA can improve TCP network performance effectively") +end + +if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FULLCONENAT.ko") then +fullcone_nat = s:option(Flag, "fullcone_nat", translate("Enable FullCone NAT")) +fullcone_nat.default = 0 +fullcone_nat.rmempty = false +fullcone_nat.description = translate("Using FullCone NAT can improve gaming performance effectively") +end + +dns_acc = s:option(Flag, "dns_acc", translate("DNS Acceleration")) +dns_acc.default = 0 +dns_acc.rmempty = false +dns_acc.description = translate("Using optimized DNS records for GoogleHosts (Don't use under Clash Fake-IP mode)") + +dns_caching = s:option(Flag, "dns_caching", translate("DNS Caching")) +dns_caching.default = 0 +dns_caching.rmempty = false +dns_caching.description = translate("Enable DNS Caching and anti ISP DNS pollution") + +dns_caching_mode = s:option(ListValue, "dns_caching_mode", translate("Resolve Dns Mode"), translate("AdGuardHome login username/password: AdGuardHome/AdGuardHome")) +dns_caching_mode:value("1", translate("Using PDNSD to query and cache")) +if nixio.fs.access("/usr/bin/dnsforwarder") then +dns_caching_mode:value("2", translate("Using DNSForwarder to query and cache")) +end +if nixio.fs.access("/usr/bin/AdGuardHome") then +dns_caching_mode:value("3", translate("Using AdGuardHome to query and cache")) +end +dns_caching_mode.default = 1 +dns_caching_mode:depends("dns_caching", 1) + +dns_caching_v4_dns = s:option(Value, "dns_caching_v4_dns", translate("Upsteam IPv4 DNS Server")) +dns_caching_v4_dns.default = "114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" +dns_caching_v4_dns.description = translate("Muitiple IPv4 DNS server can saperate with ','") +dns_caching_v4_dns:depends("dns_caching_mode", 1) +dns_caching_v4_dns:depends("dns_caching_mode", 2) + +dns_caching_v6_dns = s:option(Value, "dns_caching_v6_dns", translate("Upsteam IPv6 DNS Server")) +dns_caching_v6_dns.default = "2001:4860:4860::8888,2001:4860:4860::8844,2001:2001::1111,2001:2001::1001,2400:da00::6666,240C::6666,240C::6644" +dns_caching_v6_dns.description = translate("Muitiple IPv6 DNS server can saperate with ','") +dns_caching_v6_dns:depends("dns_caching_mode", 2) + +return m diff --git a/package/lean/luci-app-turboacc/luasrc/view/turboacc/status.htm b/package/lean/luci-app-turboacc/luasrc/view/turboacc/status.htm new file mode 100644 index 0000000000..225805c837 --- /dev/null +++ b/package/lean/luci-app-turboacc/luasrc/view/turboacc/status.htm @@ -0,0 +1,33 @@ +
+ <%:Running Status%> + + + + + + +
<%:Flow Offloading%><%:Collecting data...%>
<%:BBR CCA%><%:Collecting data...%>
<%:FullCone NAT%><%:Collecting data...%>
<%:DNS Caching%><%:Collecting data...%>
<%:AdGuardHome Anti-AD%><%:Collecting data...%>
+
+ + diff --git a/package/lean/luci-app-turboacc/po/zh_Hans/turboacc.po b/package/lean/luci-app-turboacc/po/zh_Hans/turboacc.po new file mode 100644 index 0000000000..7727448e8f --- /dev/null +++ b/package/lean/luci-app-turboacc/po/zh_Hans/turboacc.po @@ -0,0 +1,110 @@ +msgid "Turbo ACC Center" +msgstr "Turbo ACC 网络加速" + +msgid "Turbo ACC Acceleration Settings" +msgstr "Turbo ACC 网络加速设置" + +msgid "Linux Flow Offload Forwarding Engine Settings" +msgstr "Linux Flow Offload Forwarding 转发加速引擎设置" + +msgid "Opensource Flow Offloading driver (Fast Path or Hardware NAT)" +msgstr "开源流量分载驱动 (支持 Fast Path 或者 硬件 NAT)" + +msgid "Software flow offloading" +msgstr "软件流量分载" + +msgid "Software based offloading for routing/NAT" +msgstr "基于软件的 Routing/NAT 分载" + +msgid "Hardware flow offloading" +msgstr "硬件流量分载" + +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "需要硬件 NAT 支持。目前 mt7621 已实现" + +msgid "Shortcut-FE flow offloading" +msgstr "Shortcut-FE 流量分载" + +msgid "Shortcut-FE based offloading for routing/NAT" +msgstr "基于 Shortcut-FE 的 Routing/NAT 分载" + +msgid "Bridge Acceleration" +msgstr "桥接加速" + +msgid "Enable Bridge Acceleration (may be functional conflict with bridge-mode VPN server)" +msgstr "启用桥接加速 (可能会和路由器上桥接模式的VPN服务器冲突)" + +msgid "IPv6 Acceleration" +msgstr "IPv6 加速" + +msgid "Enable IPv6 Acceleration" +msgstr "启用 IPv6 加速" + +msgid "Enable BBR CCA" +msgstr "启用 BBR 拥塞控制算法" + +msgid "Using BBR CCA can improve TCP network performance effectively" +msgstr "使用 BBR 拥塞控制算法可以有效提升 TCP 网络性能" + +msgid "Enable FullCone NAT" +msgstr "启用全锥形 NAT" + +msgid "Using FullCone NAT can improve gaming performance effectively" +msgstr "使用全锥形 NAT 可以有效提升游戏体验" + +msgid "DNS Acceleration" +msgstr "DNS 加速" + +msgid "Using optimized DNS records for GoogleHosts (Don't use under Clash Fake-IP mode)" +msgstr "使用来自 GoogleHosts 的优质 DNS 记录(请勿在 Clash Fake-IP 模式下使用)" + +msgid "DNS Caching" +msgstr "DNS 缓存" + +msgid "Enable DNS Caching and anti ISP DNS pollution" +msgstr "启用 DNS 多线程查询、缓存,并防止 ISP 的 DNS 广告和域名劫持" + +msgid "Resolve Dns Mode" +msgstr "DNS 解析方式" + +msgid "Using PDNSD to query and cache" +msgstr "使用 PDNSD 解析" + +msgid "Using DNSForwarder to query and cache" +msgstr "使用 DNSForwarder 解析" + +msgid "Using AdGuardHome to query and cache" +msgstr "使用 AdGuardHome 解析" + +msgid "Upsteam IPv4 DNS Server" +msgstr "上游 IPv4 DNS 服务器" + +msgid "Muitiple IPv4 DNS server can saperate with ','" +msgstr "多个上游 IPv4 DNS 服务器请用 ',' 分隔(注意用英文逗号)" + +msgid "Upsteam IPv6 DNS Server" +msgstr "上游 IPv6 DNS 服务器" + +msgid "Muitiple IPv6 DNS server can saperate with ','" +msgstr "多个上游 IPv6 DNS 服务器请用 ',' 分隔(注意用英文逗号)" + +msgid "AdGuardHome login username/password: AdGuardHome/AdGuardHome" +msgstr "AdGuardHome 登录账号/密码:AdGuardHome/AdGuardHome" + +msgid "Flow Offloading" +msgstr "流量分载" + +msgid "BBR CCA" +msgstr "BBR 拥塞控制算法" + +msgid "FullCone NAT" +msgstr "全锥型 NAT" + +msgid "DNS Caching" +msgstr "DNS 缓存" + +msgid "AdGuardHome Anti-AD" +msgstr "AdGuardHome 去广告" + +msgid "Open Web Interface" +msgstr "打开 Web 界面" \ No newline at end of file diff --git a/package/lean/luci-app-turboacc/root/etc/config/turboacc b/package/lean/luci-app-turboacc/root/etc/config/turboacc new file mode 100644 index 0000000000..689253eb13 --- /dev/null +++ b/package/lean/luci-app-turboacc/root/etc/config/turboacc @@ -0,0 +1,14 @@ + +config turboacc 'config' + option sw_flow '1' + option hw_flow '0' + option sfe_flow '1' + option sfe_bridge '1' + option sfe_ipv6 '0' + option bbr_cca '1' + option fullcone_nat '1' + option dns_acc '0' + option dns_caching '0' + option dns_caching_mode '1' + option dns_caching_v4_dns '114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8' + option dns_caching_v6_dns '240c::6666,240c::6644,2001:da8::666,2001:da8:202:10::36,2001:da8:8000:1:202:120:2:100' diff --git a/package/lean/luci-app-flowoffload/root/etc/init.d/flowoffload b/package/lean/luci-app-turboacc/root/etc/init.d/turboacc similarity index 50% rename from package/lean/luci-app-flowoffload/root/etc/init.d/flowoffload rename to package/lean/luci-app-turboacc/root/etc/init.d/turboacc index 75ed715b79..f47cba5095 100755 --- a/package/lean/luci-app-flowoffload/root/etc/init.d/flowoffload +++ b/package/lean/luci-app-turboacc/root/etc/init.d/turboacc @@ -2,24 +2,32 @@ # Copyright (c) 2011-2015 OpenWrt.org START=90 -STOP=15 +STOP=10 -DNSMASQ_RESTART=N -DNS_SERVER="114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" -IPV6DNS_SERVER="240c::6666,240c::6644,2001:da8::666,2001:da8:202:10::36,2001:da8:8000:1:202:120:2:100" +restart_utils="true" + +inital_conf(){ + config_load "turboacc" + config_get "sw_flow" "config" "sw_flow" "0" + config_get "hw_flow" "config" "hw_flow" "0" + config_get "sfe_flow" "config" "sfe_flow" "0" + config_get "sfe_bridge" "config" "sfe_bridge" "0" + config_get "sfe_ipv6" "config" "sfe_ipv6" "0" + config_get "bbr_cca" "config" "bbr_cca" "0" + config_get "fullcone_nat" "config" "fullcone_nat" "0" + config_get "dns_acc" "config" "dns_acc" "0" + config_get "dns_caching" "config" "dns_caching" "0" + config_get "dns_caching_mode" "config" "dns_caching_mode" "0" + config_get "dns_caching_v4_dns" "config" "dns_caching_v4_dns" + config_get "dns_caching_v6_dns" "config" "dns_caching_v6_dns" + + config_load "network" + config_get "lan_addr" "lan" "ipaddr" "192.168.1.1" +} start_pdnsd() { - DNS_SERVER=$(uci get flowoffload.@flow[0].dns_server 2>/dev/null) - cp -a /usr/sbin/pdnsd /usr/sbin/dnscache - [ -d /var/etc ] || mkdir -p /var/etc - - if [ ! -f /var/dnscache/pdnsd.cache ]; then - mkdir -p /var/dnscache - echo -ne "pd13\000\000\000\000" > /var/dnscache/pdnsd.cache - chown -R nobody.nogroup /var/dnscache - fi - - cat > /var/etc/dnscache.conf < "/var/etc/dnscache.conf" < "/var/dnscache/pdnsd.cache" + chown -R nobody.nogroup "/var/dnscache" + fi + + [ -d "/var/sbin" ] || mkdir -p "/var/sbin" && cp -a "/usr/sbin/pdnsd" "/var/sbin/dnscache" + /var/sbin/dnscache -c "/var/etc/dnscache.conf" & + echo "PDNSD: Start DNS Caching" } start_dnsforwarder() { - DNS_SERVER=$(uci get flowoffload.@flow[0].dns_server 2>/dev/null) - IPV6DNS_SERVER=$(uci get flowoffload.@flow[0].ipv6dns_server 2>/dev/null) - dnscache_enable=$(uci get flowoffload.@flow[0].dnscache_enable 2>/dev/null) - if [ $dnscache_enable = "2" ]; then - localserver=$(echo -e "127.0.0.1:5333") - elif [ $dnscache_enable = "3" ]; then - localserver=$(echo -e "127.0.0.1:5383") - fi - - cp -a /usr/bin/dnsforwarder /usr/sbin/dnscache - sleep 1 - DNSCACHE_CONF=/var/run/dnscache/dnscache.conf - PID_PATH=/var/run/dnscache - PID_FILE=dns.pid - mkdir -p $PID_PATH - pid=`ps | awk '$5 ~ /\[dnscache\]/ {print $1}'` - + mkdir -p "/var/run/dnscache" cat > /var/run/dnscache/dnscache.conf </dev/null 2>&1 || kill -9 $(ps | grep AdGuardHome | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - kill $(pidof dnscache) >/dev/null 2>&1 || kill -9 $(ps | grep dnscache | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - kill -9 $(ps | grep dnscache-while.sh | grep -v "grep" | awk '{print $1}') >/dev/null 2>&1 - rm -rf /var/run/dnscache - rm -rf /var/dnscache - echo "Stop DNS Cache" - + killall -9 "AdGuardHome" 2>/dev/null + killall -9 "dnscache" 2>/dev/null + kill -9 $(ps | grep dnscache-while.sh | grep -v "grep" | awk '{print $1}') 2>/dev/null + rm -rf "/var/dnscache" "/var/run/dnscache" + echo "Stop DNS Caching" } change_dns() { - uci delete dhcp.@dnsmasq[0].server >/dev/null 2>&1 - uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#5333 - uci set dhcp.@dnsmasq[0].noresolv=1 + uci delete dhcp.@dnsmasq[0].server 2>/dev/null + uci add_list dhcp.@dnsmasq[0].server="127.0.0.1#5333" + uci set dhcp.@dnsmasq[0].noresolv="1" uci commit dhcp } revert_dns() { - uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#5333 >/dev/null 2>&1 - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto - uci set dhcp.@dnsmasq[0].noresolv=0 + uci del_list dhcp.@dnsmasq[0].server="127.0.0.1#5333" 2>/dev/null + uci set dhcp.@dnsmasq[0].resolvfile="/tmp/resolv.conf.d/resolv.conf.auto" + uci set dhcp.@dnsmasq[0].noresolv="0" uci commit dhcp - } start(){ - dns=$(uci get flowoffload.@flow[0].dns 2>/dev/null) - dnscache_enable=$(uci get flowoffload.@flow[0].dnscache_enable 2>/dev/null) - bbr=$(uci get flowoffload.@flow[0].bbr 2>/dev/null) + inital_conf - if [ $dns -eq 1 ]; then + uci set firewall.@defaults[0].flow_offloading="${sw_flow}" + uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}" + uci set firewall.@defaults[0].fullcone="${fullcone_nat}" + uci commit firewall + + [ "${sfe_flow}" -eq "1" ] && { + lsmod | grep -q fast_classifier || modprobe fast_classifier 2>/dev/null + echo "${sfe_bridge}" > "/sys/fast_classifier/skip_to_bridge_ingress" + if [ "${sfe_ipv6}" -eq "1" ]; then + [ ! -f "/dev/sfe_ipv6" ] && mknod "/dev/sfe_ipv6" "c" "$(cat /sys/sfe_ipv6/debug_dev)" "0" + else + rm -f "/dev/sfe_ipv6" + fi +} + + if [ "${bbr_cca}" -eq "1" ]; then + sysctl -w net.ipv4.tcp_congestion_control="bbr" + else + sysctl -w net.ipv4.tcp_congestion_control="cubic" + fi + + [ "${dns_acc}" -eq "1" ] && { + mkdir -p "/tmp/dnsmasq.d" + wget-ssl -t "20" -T "5" "https://cdn.jsdelivr.net/gh/googlehosts/hosts@master/hosts-files/dnsmasq.conf" -O "/tmp/dnsmasq.d/dnsmasq-googlehosts.conf" & +} + + if [ "${dns_caching}" -eq "1" ]; then stop_dnscache sleep 1 - rm -f /var/log/dnscache.file - rm -f /etc/AdGuardHome/data/querylog.json* - if [ $dnscache_enable = "1" ]; then + rm -f "/var/log/dnscache.file" + rm -f "/etc/AdGuardHome/data/querylog.json*" + if [ "${dns_caching_mode}" = "1" ]; then start_pdnsd - elif [ $dnscache_enable = "2" ]; then + elif [ "${dns_caching_mode}" = "2" ]; then start_dnsforwarder - elif [ $dnscache_enable = "3" ]; then - lan_addr=$(uci get network.lan.ipaddr) - AdGuardHome -c /etc/AdGuardHome/AdGuardHome.yaml -w /etc/AdGuardHome -h ${lan_addr} -p 3001 --no-check-update & + elif [ "${dns_caching_mode}" = "3" ]; then + mkdir -p "/etc/AdGuardHome" + AdGuardHome -c "/etc/AdGuardHome/AdGuardHome.yaml" -w "/etc/AdGuardHome" -h "${lan_addr}" -p "3001" --no-check-update & fi change_dns - nohup /usr/share/dnscache/dnscache-while.sh > /var/log/dnscache.file 2>&1 & + nohup "/usr/share/dnscache/dnscache-while.sh" > "/var/log/dnscache.file" 2>&1 & else stop_dnscache revert_dns fi - if [ $bbr -eq 1 ]; then - sysctl -w net.ipv4.tcp_congestion_control=bbr - else - sysctl -w net.ipv4.tcp_congestion_control=cubic - fi - - if [ "$DNSMASQ_RESTART" = N ]; then - /etc/init.d/dnsmasq restart && echo "DNSMASQ change" + if [ "${restart_utils}" = "true" ]; then + /etc/init.d/dnsmasq restart >/dev/null 2>&1 && echo "DNSMASQ change" /etc/init.d/firewall restart >/dev/null 2>&1 fi } stop(){ - dns=$(uci get firewall.@defaults[0].dns 2>/dev/null) + inital_conf + + uci set firewall.@defaults[0].flow_offloading="${sw_flow}" + uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}" + uci set firewall.@defaults[0].fullcone="${fullcone_nat}" + uci commit firewall + + [ "${sfe_flow}" -eq "0" ] && { + echo "0" > "/sys/fast_classifier/skip_to_bridge_ingress" + rm -f "/dev/sfe_ipv6" + rmmod "fast_classifier" 2>/dev/null +} + + [ "${dns_acc}" -eq "0" ] && rm -f "/tmp/dnsmasq.d/dnsmasq-googlehosts.conf" + stop_dnscache revert_dns - uci commit firewall - if [ "$DNSMASQ_RESTART" = N ]; then - /etc/init.d/dnsmasq restart && echo "DNSMASQ revert" + + if [ "${restart_utils}" = "true" ]; then + /etc/init.d/dnsmasq restart >/dev/null 2>&1 && echo "DNSMASQ revert" /etc/init.d/firewall restart >/dev/null 2>&1 fi } restart(){ - DNSMASQ_RESTART=Y + restart_utils="false" stop start - /etc/init.d/dnsmasq restart && echo "DNSMASQ restart" + /etc/init.d/dnsmasq restart >/dev/null 2>&1 && echo "DNSMASQ restart" /etc/init.d/firewall restart >/dev/null 2>&1 } diff --git a/package/lean/luci-app-turboacc/root/etc/uci-defaults/turboacc b/package/lean/luci-app-turboacc/root/etc/uci-defaults/turboacc new file mode 100755 index 0000000000..37a556f42f --- /dev/null +++ b/package/lean/luci-app-turboacc/root/etc/uci-defaults/turboacc @@ -0,0 +1,10 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@turboacc[-1] + add ucitrack turboacc + set ucitrack.@turboacc[-1].init=turboacc + commit ucitrack +EOF + +exit 0 diff --git a/package/lean/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh b/package/lean/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh new file mode 100755 index 0000000000..11f3b12e65 --- /dev/null +++ b/package/lean/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +sleeptime=60 +logfile="/var/log/dnscache.file" +adg_logfile="/etc/AdGuardHome/data/querylog.json" +dns_caching="$(uci -q get turboacc.config.dns_caching)" +dns_caching_mode="$(uci -q get turboacc.config.dns_caching_mode 2>/dev/null)" +lan_addr="$(uci get network.lan.ipaddr)" + +clean_log(){ +logrow="$(grep -c "" "${logfile}")" +if [ "${logrow}" -ge "500" ];then + echo "${curtime} Log条数超限,清空处理!" > "${logfile}" +fi +if [ "${dns_caching_mode}" = "3" ]; then + adg_logrow="$(grep -c "" "${adg_logfile}")" + if [ "${adg_logrow}" -ge "500" ];then + echo "${curtime} Log条数超限,清空处理!" > "${adg_logfile}" + fi +fi +} + +while [ "${dns_caching}" -eq "1" ]; +do + curtime="$(date "+%H:%M:%S")" + echo "${curtime} online!" + if [ "${dns_caching_mode}" = "3" ]; then + pidof AdGuardHome>/dev/null || { + AdGuardHome -c "/etc/AdGuardHome/AdGuardHome.yaml" -w "/etc/AdGuardHome" -h "${lan_addr}" -p "3001" --no-check-update & + echo "${curtime} 重启服务!" >> ${logfile} +} + else + pidof dnscache>/dev/null || { + if [ "${dns_caching_mode}" = "1" ]; then + /var/sbin/dnscache -c "/var/etc/dnscache.conf" & + elif [ "${dns_caching_mode}" = "2" ]; then + /var/sbin/dnscache -f "/var/run/dnscache/dnscache.conf" & + fi + echo "${curtime} 重启服务!" >> ${logfile} +} + fi + + clean_log + sleep "${sleeptime}" + continue +done \ No newline at end of file diff --git a/package/lean/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json b/package/lean/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json new file mode 100644 index 0000000000..5b2e313a95 --- /dev/null +++ b/package/lean/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json @@ -0,0 +1,11 @@ +{ + "luci-app-turboacc": { + "description": "Grant UCI access for luci-app-turboacc", + "read": { + "uci": [ "turboacc" ] + }, + "write": { + "uci": [ "turboacc" ] + } + } +}