garypang13 5 years ago
parent
commit
03a13e9003

+ 1 - 6
devices/common/files/etc/rc.d/S99opkg

@@ -2,12 +2,7 @@
 ([ ! "$(pgrep nginx)" ] && {
 	/etc/init.d/nginx restart
 }
-[[ ! "$(netstat -tunlp | grep 5333)" && "$(uci get turboacc.config.dns_caching)" == 1 ]] && {
-	/etc/init.d/turboacc restart
-}
-[[ ! "$(pgrep smartdns)" && "$(uci get smartdns.@smartdns[0].enabled)" == 1 ]] && {
-	/etc/init.d/smartdns start
-}
+
 if [ $(uci get network.wan.ipv6) == 0 ]; then
 	sysctl -w net.ipv6.conf.all.disable_ipv6=1
 	sysctl -w net.ipv6.conf.lo.disable_ipv6=1

+ 308 - 0
devices/common/patches/turboacc.patch

@@ -0,0 +1,308 @@
+--- a/package/feeds/custom/luci-app-turboacc/luasrc/model/cbi/turboacc.lua
++++ b/package/feeds/custom/luci-app-turboacc/luasrc/model/cbi/turboacc.lua
+@@ -59,33 +59,4 @@ 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("Only PDNSD and DNSForwarder is supported now"))
+-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
+-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
+
+--- a/package/feeds/custom/luci-app-turboacc/Makefile
++++ b/package/feeds/custom/luci-app-turboacc/Makefile
+@@ -12,11 +12,9 @@ PKG_RELEASE:=1
+ PKG_LICENSE:=GPLv3.0+
+ 
+ LUCI_TITLE:=LuCI support for Flow Offload / Shortcut-FE
+-LUCI_DEPENDS:=+pdnsd-alt \
+-              +PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe:kmod-fast-classifier \
++LUCI_DEPENDS:=+PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe:kmod-fast-classifier \
+               +PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload:kmod-ipt-offload \
+               +PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca:kmod-tcp-bbr \
+-              +PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder:dnsforwarder
+ LUCI_PKGARCH:=all
+ 
+ define Package/$(PKG_NAME)/config
+@@ -32,17 +30,12 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe
+ config PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca
+ 	bool "Include BBR CCA"
+ 	default y
+-
+-config PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder
+-	bool "Include DNSForwarder"
+-	default n
+ endef
+ 
+ PKG_CONFIG_DEPENDS:= \
+ 	CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe \
+ 	CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload \
+ 	CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca \
+-	CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder
+ 
+ include $(TOPDIR)/feeds/luci/luci.mk
+ 
+
+--- a/package/feeds/custom/luci-app-turboacc/root/etc/init.d/turboacc
++++ b/package/feeds/custom/luci-app-turboacc/root/etc/init.d/turboacc
+@@ -15,194 +15,6 @@ inital_conf(){
+ 	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"
+-}
+-
+-start_pdnsd() {
+-	[ -d "/var/etc" ] || mkdir -p "/var/etc"
+-	cat > "/var/etc/dnscache.conf" <<EOF
+-global {
+-    perm_cache=1024;        # dns缓存大小,单位KB,建议不要写的太大
+-    cache_dir="/var/dnscache";     # 缓存文件的位置
+-    pid_file = /var/run/dnscache.pid;
+-    server_ip = 127.0.0.1;        # pdnsd监听的网卡,0.0.0.0是全部网卡
+-    server_port=5333;           # pdnsd监听的端口,不要和别的服务冲突即可
+-    status_ctl = on;
+-    paranoid=on;                  # 二次请求模式,如果请求主DNS服务器返回的是垃圾地址,就向备用服务器请求
+-    query_method=udp_only;      
+-    neg_domain_pol = off;  
+-    par_queries = 400;          # 最多同时请求数
+-    min_ttl = 1h;               # DNS结果最短缓存时间
+-    max_ttl = 1w;               # DNS结果最长缓存时间
+-    timeout = 10;               # DNS请求超时时间,单位秒
+-}
+-
+-server {  
+-    label = "routine";         
+-    ip = ${dns_caching_v4_dns};     # 这里为主要上级 dns 的 ip 地址,建议填写一个当地最快的DNS地址  
+-    timeout = 5;              # DNS请求超时时间
+-    reject = 74.125.127.102,  # 以下是脏IP,也就是DNS污染一般会返回的结果,如果收到如下DNS结果会触发二次请求(TCP协议一般不会碰到脏IP)
+-        74.125.155.102,  
+-        74.125.39.102,  
+-        74.125.39.113,  
+-        209.85.229.138,  
+-        128.121.126.139,  
+-        159.106.121.75,  
+-        169.132.13.103,  
+-        192.67.198.6,  
+-        202.106.1.2,  
+-        202.181.7.85,  
+-        203.161.230.171,  
+-        203.98.7.65,  
+-        207.12.88.98,  
+-        208.56.31.43,  
+-        209.145.54.50,  
+-        209.220.30.174,  
+-        209.36.73.33,  
+-        211.94.66.147,  
+-        213.169.251.35,  
+-        216.221.188.182,  
+-        216.234.179.13,  
+-        243.185.187.39,  
+-        37.61.54.158,  
+-        4.36.66.178,  
+-        46.82.174.68,  
+-        59.24.3.173,  
+-        64.33.88.161,  
+-        64.33.99.47,  
+-        64.66.163.251,  
+-        65.104.202.252,  
+-        65.160.219.113,  
+-        66.45.252.237,  
+-        69.55.52.253,  
+-        72.14.205.104,  
+-        72.14.205.99,  
+-        78.16.49.15,  
+-        8.7.198.45,  
+-        93.46.8.89,  
+-        37.61.54.158,  
+-        243.185.187.39,  
+-        190.93.247.4,  
+-        190.93.246.4,  
+-        190.93.245.4,  
+-        190.93.244.4,  
+-        65.49.2.178,  
+-        189.163.17.5,  
+-        23.89.5.60,  
+-        49.2.123.56,  
+-        54.76.135.1,  
+-        77.4.7.92,  
+-        118.5.49.6,  
+-        159.24.3.173,  
+-        188.5.4.96,  
+-        197.4.4.12,  
+-        220.250.64.24,  
+-        243.185.187.30,  
+-        249.129.46.48,  
+-        253.157.14.165;  
+-    reject_policy = fail;  
+-}
+-
+-server {  
+-    label = "special";                  # 这个随便写  
+-    ip = 117.50.10.10,52.80.52.52,119.29.29.29; # 这里为备用DNS服务器的 ip 地址  
+-    port = 5353;                        # 推荐使用53以外的端口(DNS服务器必须支持) 
+-    proxy_only = on;
+-    timeout = 5;  
+-}  
+-
+-source {
+-	owner=localhost;
+-//	serve_aliases=on;
+-	file="/etc/hosts";
+-}
+-
+-rr {
+-	name=localhost;
+-	reverse=on;
+-	a=127.0.0.1;
+-	owner=localhost;
+-	soa=localhost,root.localhost,42,86400,900,86400,86400;
+-}
+-EOF
+-
+-	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
+-
+-	[ -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() {
+-	mkdir -p "/var/run/dnscache"
+-	cat > "/var/run/dnscache/dnscache.conf" <<EOF
+-LogOn false
+-LogFileThresholdLength 102400
+-LogFileFolder /var/run/dnscache
+-UDPLocal 127.0.0.1:5333
+-UDPGroup ${dns_caching_v4_dns},${dns_caching_v6_dns} * on
+-GroupFile
+-BlockIP 243.185.187.39,46.82.174.68,37.61.54.158,93.46.8.89,59.24.3.173,203.98.7.65,8.7.198.45,78.16.49.15,159.106.121.75,69.63.187.12,31.13.76.8,31.13.64.49
+-IPSubstituting
+-BlockNegativeResponse false
+-Hosts
+-HostsUpdateInterval 18000
+-HostsDownloadPath
+-HostsScript
+-HostsRetryInterval 30
+-AppendHosts
+-BlockIpv6WhenIpv4Exists false
+-UseCache true
+-CacheSize 1048576
+-MemoryCache true
+-CacheFile
+-IgnoreTTL false
+-OverrideTTL -1
+-MultipleTTL 1
+-ReloadCache false
+-OverwriteCache false
+-DisabledType
+-DisabledDomain
+-DisabledList
+-DomainStatistic false
+-DomainStatisticTempletFile
+-StatisticUpdateInterval 29
+-EOF
+-
+-	[ -d "/var/sbin" ] || mkdir -p "/var/sbin" && cp -a "/usr/bin/dnsforwarder" "/var/sbin/dnscache"
+-	/var/sbin/dnscache -f "/var/run/dnscache/dnscache.conf" &
+-	echo "DnsForwarder: Start DNS Caching"
+-
+-}
+-
+-stop_dnscache() {
+-	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 -q delete dhcp.@dnsmasq[0].server
+-	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 -q del_list dhcp.@dnsmasq[0].server="127.0.0.1#5333"
+-	uci set dhcp.@dnsmasq[0].resolvfile="/tmp/resolv.conf.d/resolv.conf.auto"
+-	uci set dhcp.@dnsmasq[0].noresolv="0"
+-	uci commit dhcp
+ }
+ 
+ start(){
+@@ -229,27 +41,6 @@ start(){
+ 		sysctl -w net.ipv4.tcp_congestion_control="cubic"
+ 	fi	
+ 
+-	[ "${dns_acc}" -eq "1" ] && {
+-	mkdir -p "/tmp/dnsmasq.d"
+-	wget-ssl -q -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"
+-		if [ "${dns_caching_mode}" = "1" ];  then
+-			start_pdnsd
+-		elif [ "${dns_caching_mode}" = "2" ];  then
+-			start_dnsforwarder
+-		fi
+-		change_dns
+-		nohup "/usr/share/dnscache/dnscache-while.sh" > "/var/log/dnscache.file" 2>&1 &
+-	else
+-		stop_dnscache
+-		revert_dns
+-	fi
+-
+ 	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
+@@ -270,11 +61,6 @@ stop(){
+ 		rmmod "fast_classifier" 2>"/dev/null"
+ }
+ 
+-	[ "${dns_acc}" -eq "0" ] && rm -f "/tmp/dnsmasq.d/dnsmasq-googlehosts.conf"
+-
+-	stop_dnscache
+-	revert_dns
+-
+ 	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

+ 2 - 1
devices/nanopi-r2s/default-settings

@@ -1,5 +1,6 @@
 
-	uci set turboacc.config.sw_flow='0'
+	uci del turboacc.config.sw_flow
+	uci set turboacc.config.sfe_ipv6='1'
 	uci commit turboacc
 
 	uci set system.@system[0].zram_size_mb='100'

+ 3 - 2
devices/phicomm-N1/default-settings

@@ -1,6 +1,7 @@
 
-uci set turboacc.config.sw_flow='0'
-uci commit turboacc
+	uci del turboacc.config.sw_flow
+	uci set turboacc.config.sfe_ipv6='1'
+	uci commit turboacc
 
 	uci set system.@system[0].zram_size_mb='100'
 	uci set system.@system[0].zram_comp_algo='lz4'

+ 2 - 1
devices/x86_64/default-settings

@@ -1,5 +1,6 @@
 
-	uci set turboacc.config.sw_flow='0'
+	uci del turboacc.config.sw_flow
+	uci set turboacc.config.sfe_ipv6='1'
 	uci commit turboacc
 	uci set system.@system[0].zram_size_mb='100'
 	uci set system.@system[0].zram_comp_algo='lz4'