diff --git a/gn/Makefile b/gn/Makefile index c2c5e7b8..fccd226f 100644 --- a/gn/Makefile +++ b/gn/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gn -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git -PKG_SOURCE_DATE:=2023-02-17 -PKG_SOURCE_VERSION:=b25a2f8c2d33f02082f0f258350f5e22c0973108 +PKG_SOURCE_DATE:=2023-04-05 +PKG_SOURCE_VERSION:=28b7b6c507eb808567e3aea446cd259f7691fddc PKG_MIRROR_HASH:=skip PKG_LICENSE:=BSD 3-Clause diff --git a/gn/src/out/last_commit_position.h b/gn/src/out/last_commit_position.h index 81cdd628..28b7516e 100644 --- a/gn/src/out/last_commit_position.h +++ b/gn/src/out/last_commit_position.h @@ -3,7 +3,7 @@ #ifndef OUT_LAST_COMMIT_POSITION_H_ #define OUT_LAST_COMMIT_POSITION_H_ -#define LAST_COMMIT_POSITION_NUM 2081 -#define LAST_COMMIT_POSITION "2081 (b25a2f8c2d33)" +#define LAST_COMMIT_POSITION_NUM 2085 +#define LAST_COMMIT_POSITION "2085 (28b7b6c507eb)" #endif // OUT_LAST_COMMIT_POSITION_H_ diff --git a/luci-app-advanced/README.md b/luci-app-advanced/README.md index 991b31b0..7f0931a0 100644 --- a/luci-app-advanced/README.md +++ b/luci-app-advanced/README.md @@ -7,24 +7,38 @@ luci-app-advanced 高级设置,包括smartdns,openclash,防火墙,DHCP ![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明2.jpg) + + +## 使用与授权相关说明 + +- 本人开源的所有源码,任何引用需注明本处出处,如需修改二次发布必告之本人,未经许可不得做于任何商用用途。 + + # My other project -网络速度测试 :https://github.com/sirpdboy/NetSpeedTest +- 网络速度测试 :https://github.com/sirpdboy/NetSpeedTest -定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset +- 定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset -关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice +- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice -opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd +- opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd -opentoks 主题: https://github.com/sirpdboy/luci-theme-opentoks [仿KOOLSAHRE主题] +- kucat 主题: https://github.com/sirpdboy/luci-theme-kucat -btmob 主题: https://github.com/sirpdboy/luci-theme-btmob +- 家长控制: https://github.com/sirpdboy/luci-theme-parentcontrol -系统高级设置 : https://github.com/sirpdboy/luci-app-advanced +- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced -ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go +- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go +- 进阶设置(系统高级设置+主题设置kucat/agron/opentopd): https://github.com/sirpdboy/luci-app-advancedplus + +- 设置向导: https://github.com/sirpdboy/luci-app-wizard + +- 分区扩容: https://github.com/sirpdboy/luci-app-partexp + +- lukcy大吉: https://github.com/sirpdboy/luci-app-lukcy ## 捐助 @@ -37,4 +51,3 @@ ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go 图飞了😂 - diff --git a/luci-app-advanced/luasrc/model/cbi/advanced.lua b/luci-app-advanced/luasrc/model/cbi/advanced.lua index 3007ad7f..0cc14c67 100644 --- a/luci-app-advanced/luasrc/model/cbi/advanced.lua +++ b/luci-app-advanced/luasrc/model/cbi/advanced.lua @@ -6,38 +6,6 @@ m.apply_on_parse=true s=m:section(TypedSection,"advanced") s.anonymous=true -if nixio.fs.access("/bin/nuc")then - s:tab("mode",translate("模式设置"),translate("
可以在这里切换旁路由和正常模式,重置你的网络设置。
点击后会立即重启设备,没有确认过程,请谨慎操作!
")) - o=s:taboption("mode",Button,"nucmode",translate("切换为旁路由模式"),translate("本模式适合于单口和多网口主机,自动将网口全桥接好!
默认gateway是:192.168.1.1,ipaddr是192.168.1.2。用本机接口LAN接上级LAN当旁路由,主路由关闭DHCP服务。应用生效会重启软路由!

")) - o.inputtitle = translate("Apply") - o.inputstyle = "reset" - o.write = function() - luci.sys.exec("/bin/nuc &> /dev/null &") - end - o=s:taboption("mode",Button,"normalmode",translate("切换成路由模式"),translate("本模式适合于有两个网口或以上的设备使用,如多网口软路由或者虚拟了两个以上网口的虚拟机使用!应用生效会重启软路由!。
")) - o.inputtitle = translate("Apply") - o.inputstyle = "reset" - o.write = function() - luci.sys.exec("/bin/normalmode &> /dev/null &") - end - - o=s:taboption("mode",Button,"ipmode6",translate("设置为IPV6网络"),translate("点击应用切换到IPV6模式!保存应用后即刻有效!
")) - - o.inputtitle = translate("Apply") - o.inputstyle = "add" - o.write = function(self, section) - luci.sys.exec("ipmode6 &> /dev/null &") - end - - o=s:taboption("mode",Button,"ipmode4",translate("设置为IPV4网络"),translate("点击应用切换到IPV4模式!保存应用后即刻有效!
")) - - o.inputtitle = translate("Apply") - o.inputstyle = "add" - o.write = function(self, section) - luci.sys.exec("ipmode4 &> /dev/null &") - end - -end if nixio.fs.access("/etc/dnsmasq.conf")then s:tab("dnsmasqconf",translate("dnsmasq"),translate("本页是配置/etc/dnsmasq.conf的文档内容。应用保存后自动重启生效")) @@ -127,6 +95,7 @@ e.remove("/tmp/hosts.tmp") end end end + if nixio.fs.access("/etc/config/arpbind")then s:tab("arpbindconf",translate("ARP绑定"),translate("本页是配置/etc/config/arpbind包含APR绑定MAC地址文档内容。应用保存后自动重启生效")) conf=s:taboption("arpbindconf",Value,"arpbindconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) @@ -148,6 +117,7 @@ e.remove("/tmp/arpbind") end end end + if nixio.fs.access("/etc/config/firewall")then s:tab("firewallconf",translate("防火墙"),translate("本页是配置/etc/config/firewall包含防火墙协议设置文档内容。应用保存后自动重启生效")) conf=s:taboption("firewallconf",Value,"firewallconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) @@ -169,6 +139,7 @@ e.remove("/tmp/firewall") end end end + if nixio.fs.access("/etc/config/mwan3")then s:tab("mwan3conf",translate("负载均衡"),translate("本页是配置/etc/config/mwan3包含负载均衡设置文档内容。应用保存后自动重启生效")) conf=s:taboption("mwan3conf",Value,"mwan3conf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) @@ -211,6 +182,7 @@ e.remove("/tmp/dhcp") end end end + if nixio.fs.access("/etc/config/ddns")then s:tab("ddnsconf",translate("DDNS"),translate("本页是配置/etc/config/ddns包含动态域名设置文档内容。应用保存后自动重启生效")) conf=s:taboption("ddnsconf",Value,"ddnsconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) @@ -233,48 +205,50 @@ end end end -if nixio.fs.access("/etc/config/timecontrol")then -s:tab("timecontrolconf",translate("时间控制"),translate("本页是配置/etc/config/timecontrol包含上网时间控制配置文档内容。应用保存后自动重启生效")) -conf=s:taboption("timecontrolconf",Value,"timecontrolconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +if nixio.fs.access("/etc/config/parentcontrol")then +s:tab("parentcontrolconf",translate("家长控制"),translate("本页是配置/etc/config/parentcontrol包含家长控制配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("parentcontrolconf",Value,"parentcontrolconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) conf.template="cbi/tvalue" conf.rows=20 conf.wrap="off" conf.cfgvalue=function(t,t) -return e.readfile("/etc/config/timecontrol")or"" +return e.readfile("/etc/config/parentcontrol")or"" end conf.write=function(a,a,t) if t then t=t:gsub("\r\n?","\n") -e.writefile("/tmp/timecontrol",t) -if(luci.sys.call("cmp -s /tmp/timecontrol /etc/config/timecontrol")==1)then -e.writefile("/etc/config/timecontrol",t) -luci.sys.call("/etc/init.d/timecontrol restart >/dev/null") +e.writefile("/tmp/parentcontrol",t) +if(luci.sys.call("cmp -s /tmp/parentcontrol /etc/config/parentcontrol")==1)then +e.writefile("/etc/config/parentcontrol",t) +luci.sys.call("/etc/init.d/parentcontrol restart >/dev/null") end -e.remove("/tmp/timecontrol") +e.remove("/tmp/parentcontrol") end end end -if nixio.fs.access("/etc/config/rebootschedule")then -s:tab("rebootscheduleconf",translate("定时设置"),translate("本页是配置/etc/config/rebootschedule包含定时设置任务配置文档内容。应用保存后自动重启生效")) -conf=s:taboption("rebootscheduleconf",Value,"rebootscheduleconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) + +if nixio.fs.access("/etc/config/autotimeset")then +s:tab("autotimesetconf",translate("定时设置"),translate("本页是配置/etc/config/autotimeset包含定时设置任务配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("autotimesetconf",Value,"autotimesetconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) conf.template="cbi/tvalue" conf.rows=20 conf.wrap="off" conf.cfgvalue=function(t,t) -return e.readfile("/etc/config/rebootschedule")or"" +return e.readfile("/etc/config/autotimeset")or"" end conf.write=function(a,a,t) if t then t=t:gsub("\r\n?","\n") -e.writefile("/tmp/rebootschedule",t) -if(luci.sys.call("cmp -s /tmp/rebootschedule /etc/config/rebootschedule")==1)then -e.writefile("/etc/config/rebootschedule",t) -luci.sys.call("/etc/init.d/rebootschedule restart >/dev/null") +e.writefile("/tmp/autotimeset",t) +if(luci.sys.call("cmp -s /tmp/autotimeset /etc/config/autotimeset")==1)then +e.writefile("/etc/config/autotimeset",t) +luci.sys.call("/etc/init.d/autotimeset restart >/dev/null") end -e.remove("/tmp/rebootschedule") +e.remove("/tmp/autotimeset") end end end + if nixio.fs.access("/etc/config/wolplus")then s:tab("wolplusconf",translate("网络唤醒"),translate("本页是配置/etc/config/wolplus包含网络唤醒配置文档内容。应用保存后自动重启生效")) conf=s:taboption("wolplusconf",Value,"wolplusconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) @@ -318,6 +292,29 @@ e.remove("/tmp/smartdns") end end end + +if nixio.fs.access("/etc/config/bypass")then +s:tab("bypassconf",translate("BYPASS"),translate("本页是配置/etc/config/bypass包含bypass配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("bypassconf",Value,"bypassconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/bypass")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/bypass",t) +if(luci.sys.call("cmp -s /tmp/bypass /etc/config/bypass")==1)then +e.writefile("/etc/config/bypass",t) +luci.sys.call("/etc/init.d/bypass restart >/dev/null") +end +e.remove("/tmp/bypass") +end +end +end + if nixio.fs.access("/etc/config/openclash")then s:tab("openclashconf",translate("openclash"),translate("本页是配置/etc/config/openclash的文档内容。应用保存后自动重启生效")) conf=s:taboption("openclashconf",Value,"openclashconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) @@ -340,5 +337,4 @@ end end end - return m diff --git a/luci-app-lucky/README.md b/luci-app-lucky/README.md index ddcf60a3..8770f8f8 100644 --- a/luci-app-lucky/README.md +++ b/luci-app-lucky/README.md @@ -126,31 +126,42 @@ luci-app-lucky 动态域名ddns-go服务,替代socat主要用于公网IPv6 tcp/u ![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/lucky3.jpg) + + +## 使用与授权相关说明 + +- 本人开源的所有源码,任何引用需注明本处出处,如需修改二次发布必告之本人,未经许可不得做于任何商用用途。 + + # My other project -网络速度测试 :https://github.com/sirpdboy/NetSpeedTest +- 网络速度测试 :https://github.com/sirpdboy/NetSpeedTest -定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset +- 定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset -关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice +- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice -opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd +- opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd -opentoks 主题: https://github.com/sirpdboy/luci-theme-opentoks [仿KOOLSAHRE主题] +- kucat 主题: https://github.com/sirpdboy/luci-theme-kucat -btmob 主题: https://github.com/sirpdboy/luci-theme-btmob +- 家长控制: https://github.com/sirpdboy/luci-theme-parentcontrol -系统高级设置 : https://github.com/sirpdboy/luci-app-advanced +- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced -DDNS-GO动态域名: https://github.com/sirpdboy/luci-app-DDNS-GO +- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go -Lucky(大吉): https://github.com/sirpdboy/luci-app-lucky +- 进阶设置(系统高级设置+主题设置kucat/agron/opentopd): https://github.com/sirpdboy/luci-app-advancedplus +- 设置向导: https://github.com/sirpdboy/luci-app-wizard + +- 分区扩容: https://github.com/sirpdboy/luci-app-partexp + +- lukcy大吉: https://github.com/sirpdboy/luci-app-lukcy ## 捐助 --如果你觉得此项目对你有帮助,请捐助我们,以使项目能持续发展,更加完善。··请作者喝杯咖啡~~~** --你们的支持就是我的动力!** +![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明3.jpg) | 图飞了😂 | 图飞了😂 | | :-----------------: | :-------------: | @@ -159,4 +170,3 @@ Lucky(大吉): https://github.com/sirpdboy/luci-app-lucky 图飞了😂 - diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile index 43aec591..b53418e8 100644 --- a/luci-app-passwall/Makefile +++ b/luci-app-passwall/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall -PKG_VERSION:=4.64-3 +PKG_VERSION:=4.64-5 PKG_RELEASE:= PKG_CONFIG_DEPENDS:= \ diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua index 97fd8997..0fde5ea8 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua @@ -85,28 +85,31 @@ o = s:taboption("Main", Flag, "enabled", translate("Main switch")) o.rmempty = false local auto_switch_tip -local auto_switch_flag +local shunt_remark local current_tcp_node = luci.sys.exec(string.format("[ -f '/tmp/etc/%s/id/TCP' ] && echo -n $(cat /tmp/etc/%s/id/TCP)", appname, appname)) if current_tcp_node and current_tcp_node ~= "" and current_tcp_node ~= "nil" then local n = uci:get_all(appname, current_tcp_node) if n then if tonumber(m:get("@auto_switch[0]", "enable") or 0) == 1 then - auto_switch_flag = "" if n.protocol == "_shunt" then local shunt_logic = tonumber(m:get("@auto_switch[0]", "shunt_logic")) - if shunt_logic == 1 then - auto_switch_flag = "default" - elseif shunt_logic == 2 then - auto_switch_flag = "main" - end - current_tcp_node = luci.sys.exec(string.format("[ -f '/tmp/etc/%s/id/TCP_%s' ] && echo -n $(cat /tmp/etc/%s/id/TCP_%s)", appname, auto_switch_flag, appname, auto_switch_flag)) - if current_tcp_node and current_tcp_node ~= "" and current_tcp_node ~= "nil" then - n = uci:get_all(appname, current_tcp_node) + if shunt_logic == 1 or shunt_logic == 2 then + if shunt_logic == 1 then + shunt_remark = "default" + elseif shunt_logic == 2 then + shunt_remark = "main" + end + current_tcp_node = luci.sys.exec(string.format("[ -f '/tmp/etc/%s/id/TCP_%s' ] && echo -n $(cat /tmp/etc/%s/id/TCP_%s)", appname, shunt_remark, appname, shunt_remark)) + if current_tcp_node and current_tcp_node ~= "" and current_tcp_node ~= "nil" then + n = uci:get_all(appname, current_tcp_node) + end end end - local remarks = api.get_node_remarks(n) - local url = api.url("node_config", n[".name"]) - auto_switch_tip = translatef("Current node: %s", string.format('%s', url, remarks)) .. "
" + if n then + local remarks = api.get_node_remarks(n) + local url = api.url("node_config", n[".name"]) + auto_switch_tip = translatef("Current node: %s", string.format('%s', url, remarks)) .. "
" + end end end end @@ -114,7 +117,7 @@ end ---- TCP Node tcp_node = s:taboption("Main", ListValue, "tcp_node", "" .. translate("TCP Node") .. "") tcp_node:value("nil", translate("Close")) -if auto_switch_flag == "" and auto_switch_tip then +if not shunt_remark and auto_switch_tip then tcp_node.description = auto_switch_tip end @@ -171,7 +174,7 @@ if (has_v2ray or has_xray) and #nodes_table > 0 then o.cfgvalue = get_cfgvalue(v.id, "preproxy_enabled") o.write = get_write(v.id, "preproxy_enabled") - o = s:taboption("Main", ListValue, vid .. "-main_node", string.format('%s', translate("Preproxy Node")), translate("Set the node to be used as a pre-proxy. Each rule (including Default) has a separate switch that controls whether this rule uses the pre-proxy or not.")) + o = s:taboption("Main", Value, vid .. "-main_node", string.format('%s', translate("Preproxy Node")), translate("Set the node to be used as a pre-proxy. Each rule (including Default) has a separate switch that controls whether this rule uses the pre-proxy or not.")) o:depends(vid .. "-preproxy_enabled", "1") for k1, v1 in pairs(balancing_list) do o:value(v1.id, v1.remark) @@ -181,7 +184,7 @@ if (has_v2ray or has_xray) and #nodes_table > 0 then end o.cfgvalue = get_cfgvalue(v.id, "main_node") o.write = get_write(v.id, "main_node") - if auto_switch_flag == "main" and auto_switch_tip then + if shunt_remark == "main" and auto_switch_tip then o.description = auto_switch_tip end @@ -195,7 +198,7 @@ if (has_v2ray or has_xray) and #nodes_table > 0 then local id = e[".name"] local node_option = vid .. "-" .. id .. "_node" if id and e.remarks then - o = s:taboption("Main", ListValue, node_option, string.format('* %s', api.url("shunt_rules", id), e.remarks)) + o = s:taboption("Main", Value, node_option, string.format('* %s', api.url("shunt_rules", id), e.remarks)) o.cfgvalue = get_cfgvalue(v.id, id) o.write = get_write(v.id, id) o:depends("tcp_node", v.id) @@ -221,7 +224,7 @@ if (has_v2ray or has_xray) and #nodes_table > 0 then end) local id = "default_node" - o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* %s', translate("Default"))) + o = s:taboption("Main", Value, vid .. "-" .. id, string.format('* %s', translate("Default"))) o.cfgvalue = get_cfgvalue(v.id, id) o.write = get_write(v.id, id) o:depends("tcp_node", v.id) @@ -233,7 +236,7 @@ if (has_v2ray or has_xray) and #nodes_table > 0 then for k1, v1 in pairs(normal_list) do o:value(v1.id, v1.remark) end - if auto_switch_flag == "default" and auto_switch_tip then + if shunt_remark == "default" and auto_switch_tip then o.description = auto_switch_tip end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua index 192421e6..34083d65 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua @@ -175,7 +175,7 @@ probeInterval.description = translate("The interval between initiating probes. E if #nodes_table > 0 then o = s:option(Flag, "preproxy_enabled", translate("Preproxy")) o:depends("protocol", "_shunt") - o = s:option(ListValue, "main_node", string.format('%s', translate("Preproxy Node")), translate("Set the node to be used as a pre-proxy. Each rule (including Default) has a separate switch that controls whether this rule uses the pre-proxy or not.")) + o = s:option(Value, "main_node", string.format('%s', translate("Preproxy Node")), translate("Set the node to be used as a pre-proxy. Each rule (including Default) has a separate switch that controls whether this rule uses the pre-proxy or not.")) o:depends("preproxy_enabled", "1") for k, v in pairs(balancers_table) do o:value(v.id, v.remarks) @@ -187,7 +187,7 @@ if #nodes_table > 0 then end uci:foreach(appname, "shunt_rules", function(e) if e[".name"] and e.remarks then - o = s:option(ListValue, e[".name"], string.format('* %s', api.url("shunt_rules", e[".name"]), e.remarks)) + o = s:option(Value, e[".name"], string.format('* %s', api.url("shunt_rules", e[".name"]), e.remarks)) o:value("nil", translate("Close")) o:value("_default", translate("Default")) o:value("_direct", translate("Direct Connection")) @@ -217,7 +217,7 @@ shunt_tips.cfgvalue = function(t, n) end shunt_tips:depends("protocol", "_shunt") -local default_node = s:option(ListValue, "default_node", string.format('* %s', translate("Default"))) +local default_node = s:option(Value, "default_node", string.format('* %s', translate("Default"))) default_node:depends("protocol", "_shunt") default_node:value("_direct", translate("Direct Connection")) default_node:value("_blackhole", translate("Blackhole")) diff --git a/luci-app-passwall/luasrc/passwall/api.lua b/luci-app-passwall/luasrc/passwall/api.lua index a7d197e2..d34fe074 100644 --- a/luci-app-passwall/luasrc/passwall/api.lua +++ b/luci-app-passwall/luasrc/passwall/api.lua @@ -611,6 +611,44 @@ local function auto_get_arch() return util.trim(arch) end +function parseURL(url) + if not url or url == "" then + return nil + end + local pattern = "^(%w+)://" + local protocol = url:match(pattern) + + if not protocol then + --error("Invalid URL: " .. url) + return nil + end + + local auth_host_port = url:sub(#protocol + 4) + local auth_pattern = "^([^@]+)@" + local auth = auth_host_port:match(auth_pattern) + local username, password + + if auth then + username, password = auth:match("^([^:]+):([^:]+)$") + auth_host_port = auth_host_port:sub(#auth + 2) + end + + local host, port = auth_host_port:match("^([^:]+):(%d+)$") + + if not host or not port then + --error("Invalid URL: " .. url) + return nil + end + + return { + protocol = protocol, + username = username, + password = password, + host = host, + port = tonumber(port) + } +end + local default_file_tree = { x86_64 = "amd64", x86 = "386", diff --git a/luci-app-passwall/luasrc/passwall/util_xray.lua b/luci-app-passwall/luasrc/passwall/util_xray.lua index c2da7c4e..9cf130e4 100644 --- a/luci-app-passwall/luasrc/passwall/util_xray.lua +++ b/luci-app-passwall/luasrc/passwall/util_xray.lua @@ -674,7 +674,26 @@ function gen_config(var) local preproxy_node_id = node["main_node"] local preproxy_node = preproxy_enabled and preproxy_node_id and uci:get_all(appname, preproxy_node_id) or nil local preproxy_is_balancer - if preproxy_node and api.is_normal_node(preproxy_node) then + + if not preproxy_node and preproxy_node_id and api.parseURL(preproxy_node_id) then + local parsed1 = api.parseURL(preproxy_node_id) + local _node = { + type = "Xray", + protocol = parsed1.protocol, + username = parsed1.username, + password = parsed1.password, + address = parsed1.host, + port = parsed1.port, + transport = "tcp", + stream_security = "none" + } + local preproxy_outbound = gen_outbound(flag, _node, preproxy_tag) + if preproxy_outbound then + table.insert(outbounds, preproxy_outbound) + else + preproxy_enabled = false + end + elseif preproxy_node and api.is_normal_node(preproxy_node) then local preproxy_outbound = gen_outbound(flag, preproxy_node, preproxy_tag) if preproxy_outbound then table.insert(outbounds, preproxy_outbound) @@ -703,6 +722,23 @@ function gen_config(var) rule_outboundTag = "blackhole" elseif _node_id == "_default" and rule_name ~= "default" then rule_outboundTag = "default" + elseif api.parseURL(_node_id) then + local parsed1 = api.parseURL(_node_id) + local _node = { + type = "Xray", + protocol = parsed1.protocol, + username = parsed1.username, + password = parsed1.password, + address = parsed1.host, + port = parsed1.port, + transport = "tcp", + stream_security = "none" + } + local _outbound = gen_outbound(flag, _node, rule_name) + if _outbound then + table.insert(outbounds, _outbound) + rule_outboundTag = rule_name + end elseif _node_id ~= "nil" then local _node = uci:get_all(appname, _node_id) if not _node then return nil, nil end diff --git a/luci-app-passwall/root/usr/share/passwall/app.sh b/luci-app-passwall/root/usr/share/passwall/app.sh index 76fbb894..4d01fed9 100755 --- a/luci-app-passwall/root/usr/share/passwall/app.sh +++ b/luci-app-passwall/root/usr/share/passwall/app.sh @@ -1519,8 +1519,8 @@ start() { elif [ "$use_nft" == 1 ] && [ -n "$(dnsmasq --version | grep 'Compile time options:.* nftset')" ]; then USE_TABLES="nftables" nftflag=1 - elif [ -z "$(command -v iptables-legacy || command -v iptables)" ] || [ -z "$(command -v ipset)" ]; then - echolog "系统未安装iptables或ipset,无法透明代理!" + elif [ -z "$(command -v iptables-legacy || command -v iptables)" ] || [ -z "$(command -v ipset)" ] || [ -z "$(dnsmasq --version | grep 'Compile time options:.* ipset')" ]; then + echolog "系统未安装iptables或ipset或Dnsmasq没有开启ipset支持,无法透明代理!" else USE_TABLES="iptables" fi diff --git a/luci-app-passwall/root/usr/share/passwall/iptables.sh b/luci-app-passwall/root/usr/share/passwall/iptables.sh index 707515d3..65f85123 100755 --- a/luci-app-passwall/root/usr/share/passwall/iptables.sh +++ b/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -285,6 +285,8 @@ load_acl() { [ -s "${TMP_ACL_PATH}/${sid}/var_udp_node" ] && udp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_node) [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_port" ] && tcp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_port) [ -s "${TMP_ACL_PATH}/${sid}/var_udp_port" ] && udp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_port) + + [ "$udp_node" == "default" ] && [ "$UDP_NODE" = "nil" ] && [ "$TCP_UDP" = "1" ] && udp_node=$TCP_NODE [ -n "$tcp_node" ] && [ "$tcp_node" != "default" ] && tcp_node_remark=$(config_n_get $tcp_node remarks) [ -n "$udp_node" ] && [ "$udp_node" != "default" ] && udp_node_remark=$(config_n_get $udp_node remarks) diff --git a/luci-app-passwall/root/usr/share/passwall/nftables.sh b/luci-app-passwall/root/usr/share/passwall/nftables.sh index 072954dc..53ba6e72 100755 --- a/luci-app-passwall/root/usr/share/passwall/nftables.sh +++ b/luci-app-passwall/root/usr/share/passwall/nftables.sh @@ -296,6 +296,8 @@ load_acl() { [ -s "${TMP_ACL_PATH}/${sid}/var_udp_node" ] && udp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_node) [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_port" ] && tcp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_port) [ -s "${TMP_ACL_PATH}/${sid}/var_udp_port" ] && udp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_port) + + [ "$udp_node" == "default" ] && [ "$UDP_NODE" = "nil" ] && [ "$TCP_UDP" = "1" ] && udp_node=$TCP_NODE [ -n "$tcp_node" ] && [ "$tcp_node" != "default" ] && tcp_node_remark=$(config_n_get $tcp_node remarks) [ -n "$udp_node" ] && [ "$udp_node" != "default" ] && udp_node_remark=$(config_n_get $udp_node remarks) diff --git a/luci-app-passwall/root/usr/share/passwall/rules/chnlist b/luci-app-passwall/root/usr/share/passwall/rules/chnlist index 0c85384a..b18f63c7 100644 --- a/luci-app-passwall/root/usr/share/passwall/rules/chnlist +++ b/luci-app-passwall/root/usr/share/passwall/rules/chnlist @@ -6,7 +6,6 @@ 00042.com 00058.com 0006266.com -0007.net 000714.xyz 000dn.com 000e.com @@ -121,6 +120,7 @@ 021dianyuan.com 021dzjx.com 021east.com +021fenglei.com 021fx.com 021gjhb.com 021ja.com @@ -261,7 +261,6 @@ 0371wang.com 037201.com 037398.com -0375art.com 0376news.com 0378zz.com 0379home.com @@ -317,6 +316,7 @@ 0523zp.com 0523zz.com 05273.com +0527ys.com 0527zz.com 052yx.com 0531.com @@ -416,7 +416,6 @@ 06peng.com 07.la 0701news.com -0704tv.com 07073.com 07073h5.com 07073sy.com @@ -571,7 +570,6 @@ 0914cn.com 0915home.com 091601.com -0916auto.com 0917.com 0917e.com 0919123.com @@ -608,6 +606,7 @@ 0kee.com 0qda82zu.com 0rl.cc +0s52.com 0s8s.com 0sm.com 0x0.biz @@ -1047,7 +1046,6 @@ 12580.com 12580.net 12580.tv -12580jnh.com 12580study.com 125a.net 125edu.com @@ -1074,6 +1072,7 @@ 128456.com 1288.tv 128qd.com +128sy.com 128uu.com 12988.net 12edu.com @@ -1099,7 +1098,6 @@ 1314zf.com 1317w.com 131cc.com -131vip1.com 131w.tv 1322.com 132lawyer.com @@ -1127,7 +1125,6 @@ 135edu.com 135fa.com 135plat.com -135top.com 135yuedu.com 136.com 1360.com @@ -1153,6 +1150,7 @@ 139135.com 1392189.com 13937180868.com +139592.com 13973.com 139cm.com 139down.com @@ -1232,7 +1230,6 @@ 15w.com 15wz.com 15xdd.com -15yan.com 15yc.com 15yl.com 160.com @@ -1921,7 +1918,6 @@ 2144.com 2144gy.com 214yx.com -21511fff.com 2155.com 216tt.com 217.net @@ -2042,7 +2038,6 @@ 2265.com 226500.com 226531.com -226y.com 2280.com 2281wa.ren 2288.org @@ -2115,9 +2110,7 @@ 23673.com 236z.com 237y.com -238.com 2380.in -23900341.com 239334.cc 23bei.com 23book.com @@ -2225,7 +2218,6 @@ 263y.com 263zw.com 264006.com -265.com 26595.com 265g.com 265o.com @@ -2311,6 +2303,7 @@ 2baxb.me 2bkw.com 2broear.com +2bulu.com 2caipiao.com 2ccc.com 2chcn.com @@ -2361,8 +2354,6 @@ 2loveyou.com 2m2j.com 2ma2.com -2mdn-cn.net -2mdn.net 2mjob.com 2mould.com 2muslim.org @@ -2389,7 +2380,6 @@ 2yuanyy.com 2yun.com 2yup.com -2zfzly.com 2zhk.com 2zimu.com 2zzzzzz.com @@ -2454,7 +2444,6 @@ 315online.com 315sc.org 315tech.com -315wangdai.com 315z.net 315zw.com 31609.com @@ -2637,7 +2626,6 @@ 3499.co 34job.com 34wl.com -34xiaoshuo.com 35.com 350.com 350.net @@ -2683,6 +2671,7 @@ 360-bo.tv 360-g.net 360-game.net +360-jr.com 360.com 360.net 3600.com @@ -2694,7 +2683,6 @@ 360510.com 36099.com 360abc.com -360aiyi.com 360anyu.com 360bifen.net 360biji.com @@ -3295,7 +3283,6 @@ 425yx.com 42651.com 426g.com -42824.com 429006.com 42927bj.com 42927gz.com @@ -3535,7 +3522,6 @@ 5118.com 5118img.com 5119.net -511god.net 511mv.com 511wan.com 511yj.com @@ -3659,7 +3645,6 @@ 51chang.com 51changdu.com 51changdu.xyz -51changmi.com 51changxie.com 51chaoban.com 51chongdian.net @@ -3727,7 +3712,6 @@ 51feibao.com 51findshop.com 51flrc.com -51fmzg.com 51fpg.com 51fubei.com 51fucai.com @@ -4438,7 +4422,6 @@ 54op.com 54pictu.com 54qs.com -54tf.com 54traveler.com 54tusi.com 54up.net @@ -4767,7 +4750,6 @@ 5fun.com 5fwan.com 5gcg.com -5ggm.com 5glianc.com 5goto.com 5gseo.net @@ -4817,7 +4799,6 @@ 5ip9.com 5ipatent.com 5ipkwan.com -5ips.net 5iqiqu.com 5isanguo.com 5isohu.com @@ -5171,11 +5152,12 @@ 678ie.com 678pdf.com 678py.com +67gu.com 67joy.com -67lm.com 67mo.com 67wanwan.com 67yes.com +68.com 680.com 68120120.com 6816.com @@ -5271,6 +5253,7 @@ 6kw.com 6laohu.com 6lk.net +6ll.com 6m5m.com 6mao.com 6mh7.com @@ -5293,6 +5276,7 @@ 6thhosp.com 6tiantian.com 6tie.com +6tofsu.com 6v.com 6v6.work 6vps.net @@ -5368,6 +5352,7 @@ 71wl.com 71xe.com 71zs.com +72.com 720582.com 720pmovie.com 720static.com @@ -5424,7 +5409,6 @@ 73card.com 73zw.com 74.com -7412557.com 7428.net 744zy.com 7474.com @@ -5472,7 +5456,6 @@ 76dongdong.com 76ju.com 76wu.com -76xh.com 76y.com 76zu.com 770921.com @@ -5541,7 +5524,6 @@ 782yx.com 78302.com 78360.net -7849.com 7878hk.com 7881.com 788511.com @@ -5604,7 +5586,6 @@ 7cname.com 7cxk.com 7dah8.com -7dapei.com 7didc.com 7do.net 7down.net @@ -5653,7 +5634,6 @@ 7mah2.com 7mo.cc 7modifier.com -7moe.com 7moor-fs1.com 7moor-fs2.com 7moor.com @@ -6018,7 +5998,6 @@ 88520.cc 885210.net 8855.org -885533.com 885741.com 88582.com 8858a.com @@ -6144,7 +6123,6 @@ 8miu.com 8miu.net 8ms.xyz -8mu8.com 8n2.com 8n6n.com 8njy.com @@ -6192,7 +6170,6 @@ 90432.net 90576.com 906you.com -90880.com 90907.com 90bola.cc 90bola.me @@ -6441,6 +6418,7 @@ 927jx.com 928vbi.com 92913.com +929825.com 92987.com 9299.net 92aliyun.com @@ -6591,7 +6569,6 @@ 95en.com 95epay.com 95fenapp.com -95google.com 95gq.com 95k.com 95links.com @@ -6611,7 +6588,6 @@ 96189.com 9618968.com 962.net -96211.com 962121.net 962168.com 962222.net @@ -6628,6 +6604,7 @@ 96520.com 96533.com 965373.com +96590.net 9665.com 966599.com 9666sr.com @@ -6782,7 +6759,6 @@ 99988866.xyz 99997aaa.com 99998aaa.com -99999net.net 999ask.com 999bj.com 999brain.com @@ -6854,7 +6830,6 @@ 99wuxian.com 99xr.com 99xyx.com -99yoo.com 99youmeng.com 99ys.com 99zhizhu.com @@ -7135,9 +7110,6 @@ acconsys.com accopower.com account.cdnetworks.com account.samsung.com -accounts.googlers.com -accounts.xn--9trs65b.com -accounts.xn--ggle-55da.com accsh.org accu.cc accurate-china.com @@ -7185,7 +7157,6 @@ acgz1.com acgzc.com acgzyj.com achiming.com -achsd.com aci-wh.com acing.com acingame.com @@ -7312,7 +7283,6 @@ adminportal.cdnetworks.com adminso.com admintony.com adminxy.com -admob-cn.com admqr.com adnineplus.com adnyg.com @@ -7331,7 +7301,6 @@ adsage.com adsame.com adscover.com adsctl.com -adservice.google.com adsjdy.com adslr.com adsmogo.com @@ -7557,7 +7526,6 @@ ai-rtc.com ai-start.com ai-thinker.com ai.cc -ai.ytimg.com ai012.com ai2hao.com ai7.com @@ -7586,7 +7554,6 @@ aicesu.com aichaicp.com aichaoxing.com aichat.net -aichawu.com aichunjing.com aiclicash.com aiclk.com @@ -7662,7 +7629,6 @@ aihala.com aihanfu.com aihanfu.net aihangtian.com -aihao.cc aihao.org aihecong.com aihehuo.com @@ -7674,6 +7640,7 @@ aihuau.com aihuishou.com aihuo.cc aii-alliance.org +aiibii.com aiijournal.com aiimg.com aiimooc.com @@ -8521,7 +8488,6 @@ anzerclub.com anzext.com anzhen.org anzhi.com -anzhibao.com anzhitan.com anzhixun.com anzhuoapk.com @@ -8679,8 +8645,6 @@ apowo.com apowogame.com apoyl.com app-123.com -app-measurement-cn.com -app-measurement.com app-router.com app-sage.com app-site-association.cdn-apple.com @@ -8755,7 +8719,6 @@ apps.apple.com apps.mzstatic.com apps.samsung.com apps121.com -apps5.oingo.com appscan.io appsflower.com appshike.com @@ -9160,7 +9123,6 @@ av199.com av2.me av269.com av380.net -avail.googleflights.net avalon.pw avalon233.com avanpa.com @@ -9622,7 +9584,6 @@ banbaise.com banbaowang.com banciyuan.me bandaoapp.com -bandari.net bandcevent.com bandenghui.com bandengw.com @@ -9661,6 +9622,7 @@ bangxuetang.com bangyike.com bangzechem.com bangzhufu.com +banjia1680.com banjiajia.com banjiamao.com banjixiaoguanjia.com @@ -9911,7 +9873,6 @@ bbcss.com bbctop.com bbdservice.com bbdup.com -bbercn.com bbfoxgame.com bbfstore.com bbgsite.com @@ -10061,10 +10022,6 @@ bdysite.com bdyxzx.com be-xx.com be90.com -beacons.gcp.gvt2.com -beacons.gvt2.com -beacons2.gvt2.com -beacons3.gvt2.com beadwallet.com bear20.com bearad.com @@ -10188,7 +10145,6 @@ beiwaiqingshao.com beiwangshan.com beiweigroup.com beiwo.com -beiwo.tv beiww.com beixingmh.com beiying.online @@ -10203,7 +10159,6 @@ bejoin.net bejson.com belfone.com belle8.com -belmeng.com beltandroadforum.org beltxman.com bemanicn.com @@ -10213,6 +10168,7 @@ benbenq.com benber-tech.com benber.com benbun.com +bendi5.com bendibao.com bendiw.cc benellimotor.com @@ -10238,6 +10194,7 @@ benniux.com bensedl.com benseshijue.com benshouji.com +bensiea.com benyh.com benyouhui.com benzhb.com @@ -10675,7 +10632,6 @@ biqugewx.com biqugex.com biqugexs.com biqugexs.la -biqugexsw.com biqugexsw8.com biqugexx.com biquguan.com @@ -10686,7 +10642,6 @@ biquku.la biqukun.la biqulou.net biquluo.com -biqumo.com biqupai.com biququ.com biqusa.com @@ -10750,6 +10705,7 @@ bitscn.net bitsde.com bitse.com bitsqa.com +bittopmall.com bitu360.com bitvh.com biubiu.tv @@ -10846,7 +10802,6 @@ bjcec.com bjceis.com bjcfzx.com bjcgtrain.com -bjcifco.net bjckkj.com bjcls.net bjcma.com @@ -11061,6 +11016,7 @@ bjzs114.com bjzwzx.com bjzxcp.com bjzyrxgs.com +bk-cdn.com bk41.net bk5u.com bkbyxa.com @@ -11068,6 +11024,7 @@ bkclouds.cc bkdou.com bkill.net bkjk-inc.com +bkjk.com bkjpress.com bkn.cc bkpcn.com @@ -11394,7 +11351,6 @@ boqiicdn.com boquxinxi.com boraid.org borderlessbd.com -borgmon.adz.google.com borlonclan.com borninsummer.com bornlead.com @@ -11480,7 +11436,6 @@ bqpoint.com bqq8.com bqrdh.com bqteng.com -bqzhh.com bragood.com braincf.com brand4x4.com @@ -11743,7 +11698,6 @@ bwie.net bwjf.com bwlc.net bwmelon.com -bwptl.com bwpx.com bwsm.org bwsoft.net @@ -11864,6 +11818,7 @@ bytemastatic.com byteoc.com byteorg.com byteorge.com +byteox.com bytescm.com bytesfield.com bytesmanager.com @@ -11917,18 +11872,16 @@ c-canyin.com c-cnc.com c-cpp.com c-ctrip.com -c-e-m.com c-estbon.com c-fol.net c-lodop.com +c-nin.com c-ps.net c-rst.com c-sky.com c-sz.com c-t.work c-yl.com -c.admob.com -c.android.clients.google.com c.citic c.team c1042.com @@ -11989,8 +11942,6 @@ cablingteam.com cabplink.com cacfo.com cacg.cc -cache-management-prod.google.com -cache.pack.google.com cachedataby.com cachekit.com cackui.com @@ -12057,12 +12008,14 @@ caihongbashi.net caihongqi.com caihongtang.com caihongto.com +caihongx.com caihuaw.com caij100.com caijing365.com caijingcaipiao22270.com caijingche.com caijingmobile.com +caijingwa.com caijingwu.com caijinyuan.com caijixia.com @@ -12078,6 +12031,7 @@ cailiaoren.com cailutong.com caimai.cc caimei365.com +caimitech.com caimogu.cc caimogu.net caimomo.com @@ -12216,7 +12170,6 @@ canyouchina.com canyuanzs.com caobao.com caogen.com -caogen88.com caohaifeng.com caohejing.com caohejing.org @@ -12321,7 +12274,6 @@ cav-ad.com cavca.org cawae.net caxa.com -caylor.cc cazpw.com cbca.net cbcie.com @@ -12407,7 +12359,6 @@ ccdby.com ccddvr.com ccdol.com ccea.pro -cceai.com cceato.com ccedisp.com ccedpw.com @@ -12585,7 +12536,6 @@ ccv160.com ccv168.com ccv5.com ccview.net -ccvnn.com ccwcw.com ccwcyw.com ccwonline.com @@ -12730,6 +12680,7 @@ cdndo.com cdnet110.com cdnetdns.net cdnff.com +cdngogo2.cc cdngslb.com cdngslb8.com cdngtm.com @@ -12767,7 +12718,6 @@ cdnvpn.net cdnvue.com cdnyoyun.com cdnyt69.com -cdnyzdjj.com cdooc.com cdqcnt.com cdqcp.com @@ -13081,7 +13031,6 @@ cgwell.com cgwenjian.com cgwic.com cgws.com -cgxc.cc cgxia.com cgxm.net cgylke.com @@ -13327,7 +13276,6 @@ checar.mobi checheboke.com chechong.com check.cc -checkin.gstatic.com checkip.pw checkoo.com checkpass.net @@ -13464,6 +13412,7 @@ chenyuanjian.com chenyudong.com chenzao.com chenzhicheng.com +chenzhilong.chat chenzhongkj.com chenzhongtech.com cheonhyeong.com @@ -13688,7 +13637,6 @@ chinaairer.com chinaamc.com chinaamuse.com chinaanonymous.com -chinaar.com chinaartificialstone.com chinaasc.org chinaaseanenv.org @@ -14083,6 +14031,7 @@ chinasosuo.cc chinasou.com chinasoushang.com chinaspringtown.com +chinasrif.com chinassl.com chinassl.net chinasspp.com @@ -14716,6 +14665,7 @@ cjhxfund.com cjienc.com cjiit.com cjjd04.com +cjjd05.com cjjd06.com cjjd07.com cjjd08.com @@ -14815,15 +14765,11 @@ cli.im click-v.com click369.com clicksdiy.com -clickserve.cc-dt.com -clickserve.dartsearch.net -clickserver.googleads.com clicksun.net clickwifi.net client51.com clientflow.apple.com clientflow.apple.com.akadns.net -clientservices.googleapis.com cliffordtrading.com cliim.com cliim.net @@ -14887,7 +14833,6 @@ cloudinward.com cloudiplc.com cloudkirin.com cloudleft.com -cloudlet.info cloudmes.io cloudminds.com cloudmob.vip @@ -14946,6 +14891,7 @@ cmbchina.biz cmbchina.com cmbchina.net cmbimg.com +cmbs-soft.com cmbwinglungbank.com cmbyc.com cmcc-ecs.com @@ -15047,7 +14993,6 @@ cn.msi.com cn.net cn.pandora.net cn.vc -cn.widevine.com cn.windowssearch.com cn0-6.com cn00.com @@ -15101,7 +15046,6 @@ cname123.net cnamegslb.com cnanzhi.com cnaomeng.com -cnappinstall.googleadapis.com cnappsoft.xyz cnautofinance.com cnautonews.com @@ -15521,7 +15465,6 @@ cnstock.com cnsun.cc cnsun.net cnsuning.com -cnsunp.com cnsuv.com cnswy.net cnsynews.com @@ -15717,7 +15660,6 @@ codingdao.com codingke.com codinglabs.org codingpy.com -codingserf.com codingsky.com codingwhy.com codingyang.com @@ -15828,14 +15770,12 @@ congrongfund.com congyicn.com congzao.com congzhi.com -connectivitycheck.gstatic.com connector-systems.com conoha.vip conpak.com.hk conshow.com console-integration.cdnetworks.com console.cdnetworks.com -content.googleadapis.com contentchina.com contentchina.net contiez.com @@ -15928,8 +15868,6 @@ coralsec.com corebai.com coreesports.net coreldrawchina.com -corp.google.com -corp.googleapis.com corpautohome.com corpease.net corpize.com @@ -15995,7 +15933,6 @@ cpicsz.com cpihualai.com cpitsh.org cpjltx.com -cpk01.com cplchain.com cpo.xyz cpo2o.com @@ -16058,7 +15995,6 @@ cqcqcq.com cqcsic.com cqcsrc.com cqcy.com -cqcyls.com cqdadi.com cqdai.com cqdailynews.com @@ -16135,9 +16071,9 @@ cqqiyi.com cqqnb.net cqqp.com cqqsyy.com -cqqzgrh.com cqrc.net cqrcb.com +cqsckj02.com cqscmy.net cqshenou.com cqslib.org @@ -16197,7 +16133,6 @@ crabchina.com crackersta.com craftcontact.com crandom.com -crashlyticsreports-pa.googleapis.com crazepony.com crazyenglish.org crazyflasher.com @@ -16244,7 +16179,6 @@ crispstata.com crjfw.com crl.globalsign.net crl.kaspersky.com -crl.pki.goog crlf0710.com crlg.com crm.cc @@ -16317,7 +16251,6 @@ csdiy.wiki csdn.com csdn.net csdnxiazai.xyz -csdxcw.com csdyx.com csea767.com csebank.com @@ -16339,7 +16272,6 @@ cshufanyi.com cshxdc.com cshyqx.com cshzw.com -csi.gstatic.com csic-711.com csic-ljtech.com csic612.com @@ -16772,6 +16704,7 @@ czbtv.com czbx18.com czcarbon.com czchuanlin.com +czchyz.com czcid.com czcqly.com czctech.com @@ -16924,7 +16857,6 @@ dafaji.com dafang24.com dafangya.com dafanshu.com -dafayu.com dafork.com dafy.com dagangcheng.com @@ -17216,7 +17148,6 @@ darongcheng.com darryring.com dartchina.com dartou.com -dartsearch-cn.net daruan.com darwinlearns.com dasctf.com @@ -17625,11 +17556,11 @@ demage.com demaxiya.com demix.cc demixc.com +demizhongbao.com demlution.com demo8.com demodashi.com demogic.com -demohour.com demon.tw demonlee.tech demoso.net @@ -17729,7 +17660,6 @@ deyiso.com deyoulife.com deyun.fun deyurumen.com -dezhi.com dezhong365.com dezhongmobi.com dezhoudaily.com @@ -17788,7 +17718,6 @@ dfzystt.com dg-360lhx.com dg-hanxin.com dg-mall.com -dg-meta.video.google.com dg11185.com dg114.com dg121.com @@ -17860,7 +17789,6 @@ dhkq120.com dhkqmz.com dhkqyy.com dhmeri.com -dhq898.com dhqtech.com dhrcbank.com dhrest.com @@ -17887,7 +17815,6 @@ dian123.com dian234.com dian321.com dian5.com -diananjia.com dianapp.com dianbo.org dianbobao.com @@ -18182,9 +18109,6 @@ disneybox.com dispnt.com distantmeaning.com distinctclinic.com -distribution.qatp1.net -distribution.qcpp1.net -distribution.qpdp1.net ditan360.com ditan369.com dithub.com @@ -18295,8 +18219,6 @@ dl-origin.ubnt.com dl-rc.com dl.delivery.mp.microsoft.com dl.djicdn.com -dl.google.com -dl.l.google.com dl.ubnt.com dl0728.com dl158.net @@ -18478,6 +18400,7 @@ dnspood.net dnsppdd.com dnsrw.com dnss.vip +dnsserverhe.com dnssina.com dnsurl.net dnsv1.com @@ -18710,11 +18633,8 @@ douban.com douban.fm doubanio.com doubean.com -doubi.ren doubilm.com doubimeizhi.com -doubleclick-cn.net -doubleclick.net douboshi.net douc.cc doucang.com @@ -18817,11 +18737,6 @@ downkuai.com download-x.com download.developer.apple.com download.microsoft.com -download.mlcc.google.com -download.qatp1.net -download.qcpp1.net -download.qpdp1.net -download.tensorflow.google.com download.visualstudio.microsoft.com download.windowsupdate.com downloadcenter.samsung.com @@ -18852,7 +18767,6 @@ dpcafc.com dpcq1.net dpcyjt.com dper.com -dpevmh.com dpfile.com dplayerjsvideo.com dplayersvideostatic.com @@ -19029,7 +18943,6 @@ du7.com du8.com dualaid.com duan.red -duanjn.com duanlonggang.com duanmale.com duanmeiwen.com @@ -19101,7 +19014,6 @@ dunjiaodu.com dunkhome.com dunwang.com duobei.com -duobeiyun.com duobeiyun.net duobiji.com duocaitou.com @@ -19376,7 +19288,6 @@ dz1982.com dz31hao.com dz746.com dz88.com -dz88.la dzbake.com dzbarcode.com dzbchina.com @@ -19701,7 +19612,6 @@ ecamzone.cc ecaray.com ecare365.com ecartoon.net -ecasesoft.com ecbcamp.com ecboo.com eccang.com @@ -19995,7 +19905,6 @@ efwh.com efy-tech.com egainnews.com egcmedia.com -egfcare.com egg-born.org egg.htcsense.com eggjs.org @@ -20115,6 +20024,7 @@ ekclubinternational.com ekesoo.com eketong.com ekuaibao.com +ekwangs.com ekweixin.com elabinfo.com elane.com @@ -20215,7 +20125,6 @@ emilhk.com emjob.com emlinix.com emlog.net -emmapplecodevice.googleapis.com emojimobile.com emojiwiz.com emrl0z.com @@ -20654,6 +20563,7 @@ ewebsoft.com ewecha.com ewei.com eweiqi.com +ewen.co ewenyan.com ewerew.com ewide.net @@ -20732,7 +20642,6 @@ expreview.com expsky.com exsvc.net ext2fsd.com -extfans.com exthin.net extmail.org extron-tech.com @@ -20774,7 +20683,6 @@ eyoodns.com eyou.com eyou.net eyoucms.com -eyoujj.com eyourbusiness.com eyrefree.org eyu2017.xyz @@ -20783,7 +20691,6 @@ eyuconnect.com eyugame.com eyunidc.com eyunker.com -eyunsou.com eyunzhu.com eyurumen.com eyuyan.com @@ -20958,6 +20865,7 @@ fang-zhou.com fang.com fang33.com fang668.com +fang91.com fang99.cc fang99.com fangbaoqiang.net @@ -21146,6 +21054,7 @@ fastadx.com fastbestbetergoodcdn.com fastcdn.com fastdo.cc +fastgit.org fastgz.com fastidea.cc fastliii.com @@ -21453,6 +21362,7 @@ fengyan.cc fengyitong.name fengyu.moe fengyuansufen.com +fengyuncad.com fengyuncx.com fengyunpdf.com fengyushan.com @@ -21460,7 +21370,6 @@ fengyx.com fengzhangame.net fengzixbs.com fenha.net -fenhao.me fenking.club fenlei168.com fenlei265.com @@ -21641,7 +21550,6 @@ fir.vip firadio.net fire233.com fire2333.com -firebase-settings.crashlytics.com firebirdprint.com fireemblem.net fireemulator.com @@ -21904,12 +21812,7 @@ fonsview.com font.im font5.com font6.com -fontfiles.googleadapis.com -fontfiles.googleapis.com fontke.com -fonts.googleadapis.com -fonts.googleapis.com -fonts.gstatic.com foodbk.com foodjx.com foodmate.net @@ -22081,6 +21984,7 @@ freemindworld.com freemoban.com freemudgame.com freeoa.net +freeok.vip freeqingnovel.com freericheyes.com freeshoppingchina.com @@ -22179,7 +22083,6 @@ ftfast.com fthformal.com ftium4.com ftnormal00ab.com -ftnormal00ak.com ftnormal01as.com ftqq.com ftsafe.com @@ -22481,8 +22384,6 @@ fzzyky.com g-emall.com g-photography.net g-var.com -g0.gstatic.com -g1.gstatic.com g12345.com g12e.com g168.net @@ -22490,14 +22391,12 @@ g188.net g1c5.com g1d.net g1f5.com -g2.gstatic.com g2.link g207.com g2g1.com g2h3.com g2us.com g2work.com -g3.gstatic.com g312.com g32365.com g3d.org @@ -22511,6 +22410,7 @@ g80mx.com g88885555.com g88886666.com g8f8.com +g9y.net ga001.com ga25.com gaapqcloud.com @@ -22826,7 +22726,6 @@ gcloudsdk.com gcmc.cc gcoreinc.com gcores.com -gcpnode.com gcstorage.com gcsz.net gctd.xyz @@ -22903,7 +22802,6 @@ gdlalian.com gdlins.com gdls114.com gdlsgz.com -gdmappress.com gdmingshizx.com gdmm.com gdmoa.org @@ -22954,7 +22852,6 @@ gdyjs.com gdysdz.com gdyunyin.net gdyxc.com -gdzhbxg.com gdzhongshan.com gdzp.org gdzrlj.com @@ -23414,7 +23311,6 @@ gloryview.com glorze.com glosku.com glowapp.fun -glp.com glqh.com glshimg.com gltjk.com @@ -23437,10 +23333,8 @@ gmanhua.com gmcc.net gmcchina.net gmdun.com -gmecity.com gmed.cc gmem.cc -gmem.site gmfintl.com gmgc.info gmgdc.com @@ -23508,7 +23402,6 @@ gocea.net goceshi.com gochego.com gocn.vip -god51.com godaily.org godasai.com godbiao.com @@ -23623,7 +23516,6 @@ gongkongbpo.com gongkongedu.com gongkongke.com gongkongmall.com -gonglchuangl.net gonglin91.com gongmutang.com gongnou.com @@ -23641,7 +23533,6 @@ gongye360.com gongyeku.com gongyelian.com gongyeyun.com -gongyichuangyi.net gongyicn.org gongyingshi.com gongyishibao.com @@ -23688,28 +23579,8 @@ goodtea.cc goodtp.com goodzuji.com goofish.com -google-analytics-cn.com -google-analytics.com -googleadservices-cn.com -googleadservices.com -googleanalytics.com -googleapis-cn.com -googleapps-cn.com googlebridge.com -googleflights-cn.net googlenav.com -googleoptimize-cn.com -googleoptimize.com -googleplex.com -googlesyndication-cn.com -googlesyndication.com -googletagmanager-cn.com -googletagmanager.com -googletagservices-cn.com -googletagservices.com -googletraveladservices-cn.com -googletraveladservices.com -googlevads-cn.com googlevip8.com googlevoice.org googleyixia.com @@ -23746,7 +23617,6 @@ gosuncdn.com gosuncdn.net gosunm.com goten.com -goto.google.com goto2jump.com gotocdn.com gotodn.com @@ -23823,7 +23693,6 @@ gpautobid.com gpbctv.com gpbeta.com gpcqjy.com -gpcxw.com gpd.hk gpdi.com gper.club @@ -23988,8 +23857,6 @@ gssfgk.com gst-china.net gst.prod.dl.playstation.net gstarcad.com -gstatic-cn.com -gstaticadssl.l.google.com gstdt.com gstonegames.com gsxb.net @@ -24051,9 +23918,9 @@ gtm-i1d6.com gtm-i1d7.com gtm-i1d8.com gtm-i1d9.com +gtm-i2d4.com gtm-i2d8.com gtm-i2d9.com -gtm.oasisfeng.com gtmlufax.com gtn9.com gtobal.com @@ -24175,7 +24042,6 @@ gudi.cc guduodata.com guestops.com gufengmh9.com -guge.tw gugeanzhuangqi.com gugeapps.net gugong.net @@ -24366,8 +24232,6 @@ guzzoni.apple.com gvacdn.com gvi-tech.com gvlocalization.com -gvt1-cn.com -gvt2-cn.com gw-ec.com gw.craft.moe gw2sc.com @@ -24619,7 +24483,6 @@ gzrishun.com gzrmw.com gzrobot.com gzrobots.com -gzrsa.com gzshandi.com gzshangshan.net gzshuimh.com @@ -24701,6 +24564,7 @@ h0758.net h1bz.com h231.com h2ex.com +h2o-china.com h2os.com h2vm.com h3c.com @@ -24770,7 +24634,6 @@ hackdig.com hackerav.com hackernews.cc hackertalk.net -hackerzhou.me hackhome.com hackhp.com hackhw.com @@ -24783,7 +24646,6 @@ hackpascal.net hackrf.net hackroad.com hacori.com -hacpai.com haczjob.com hadax.com hadobi.com @@ -24957,7 +24819,6 @@ haiyue.info haiyuhe.com haiyun.me haiyunx.com -haiyusoft.com haizhangs.com haizhanweb.com haizhixing.net @@ -25849,7 +25710,6 @@ heiyan.la heiyan.org heiyange.com heiyanimg.com -heiyanwang.com heiying.cc heiyuewan.com heiyunxitong.com @@ -26094,7 +25954,6 @@ hftogo.com hfx.link hfx.net hfyestar.com -hfyjgg.com hfykd.com hfyouqi.com hfyt365.com @@ -26739,7 +26598,6 @@ homylogistics.com honda-sundiro.com hong-lawfirm.com hong-shun.com -hong.ren hongbao.show hongbeibang.com hongbeicn.com @@ -26908,7 +26766,6 @@ houdunwang.com houge.biz houjt.com houkai.com -houpuwang.com houqinbao.com houqun.net houquner.com @@ -27043,6 +26900,7 @@ hrmarket.net hroot.co hroot.com hrpackage.com +hrrsj.com hrrukou.com hrs100.com hrsalon.org @@ -27358,7 +27216,6 @@ huanmusic.com huanpingge.com huanqiu.com huanqiuauto.com -huanqiuhuamu.com huanqiukexue.com huanqiumil.com huanqiuw.com @@ -28019,7 +27876,6 @@ hxytea.com hxytw.com hxyxsj.com hxzq.net -hxzs31.com hy-la.com hy-zr.com hy01888.com @@ -28052,7 +27908,6 @@ hygy361.com hyhcdn.com hyhjbh.com hyhl66.com -hyhq168.com hyhro.com hyhuo.com hyhygame.com @@ -28134,6 +27989,8 @@ hzdx.com hzecsemir.com hzeg.com hzfc.cc +hzfeiyao.com +hzfolo.com hzfucai.net hzgh.org hzgjj.com @@ -28187,6 +28044,7 @@ hzqiuxue.com hzqlpt.com hzqx.com hzr1.com +hzranqu.com hzrc.com hzredream.com hzrobam.com @@ -28316,7 +28174,6 @@ iaeac.org iaikx.com ialicdn.com ialloc.com -ialloc.org iambanban.com iambocai.com iameduwork.com @@ -28566,7 +28423,6 @@ icom5g.com iconfans.com iconfans.org iconntech.com -icoolen.com icoou.com icoremail.net icos8.com @@ -28639,7 +28495,6 @@ idc4.com idc400.com idc45.com idc789.com -idc886.com idc917.com idc96.net idcay.com @@ -28826,6 +28681,7 @@ ifenglian.com ifengniao.net ifengo.com ifengpai.com +ifengqun.com ifenguo.com ifengweekly.com ifengwoo.com @@ -28853,7 +28709,6 @@ iflytektstd.com ifma-china.org ifmicro.com ifmtech.com -ifmx.cc ifnews.com ifonelab.net iforce-media.com @@ -28962,7 +28817,6 @@ ihr360.com ihref.com ihrscloud.com ihuaben.com -ihuajian.net ihuan.me ihuanling.com ihuanque.com @@ -29172,7 +29026,6 @@ im323.com im520.com im577.com im5i.com -im87.net imaccn.com imaegoo.com imageaccelerate.com @@ -29204,7 +29057,6 @@ imanhuaw.net imaojiang.com imarketchina.com imaschina.com -imasdk.googleapis.com imatchic.com imatlas.com imayitxt.com @@ -29314,7 +29166,6 @@ imomoe.ai imomoe.com imomoe.in imomoe.io -imomoe.jp imooc.com imoocc.com imoonfm.com @@ -29552,6 +29403,7 @@ internetworld.cloud interotc.net intertid.com interval.im +intimerent.com intio.org intl-hzc.com intlgame.com @@ -29581,6 +29433,7 @@ invoee.com inwaishe.com inwatch.cc inxedu.com +inxni.com inyuapp.com inzone-auto.com inzotek.com @@ -29812,7 +29665,6 @@ is4.mzstatic.com is5-ssl.mzstatic.com is5.mzstatic.com isamanhua.com -isaonian.com isay365.com isbdai.org iscrv.com @@ -29918,6 +29770,7 @@ isuzhou.me isvee.com isvjcloud.com isvjd.com +isvup.com iswifting.com isyour.love it-api.com @@ -30293,7 +30146,6 @@ iyocloud.com iyong.com iyongpdf.com iyooread.com -iyoowi.com iyoucai.com iyoudui.com iyouhun.com @@ -30661,7 +30513,6 @@ jewellworld.com jewelryseeds.com jexus.org jeyi.com -jf2688.com jf9p.com jfapv.net jfbcb.com @@ -30722,7 +30573,6 @@ jhcms.com jhctbank.com jhdqz.com jhdxjk.com -jhfgg.com jhfl.com jhforever.com jhgtgb.com @@ -30751,6 +30601,7 @@ ji36.net ji7.com jia-he-jia.com jia.com +jia12.com jia360.com jia400.com jiaads.com @@ -30787,8 +30638,6 @@ jiajiao114.com jiajiaoban.com jiaju.cc jiaju.com -jiaju100.com -jiajucj.com jiajuketang.com jiajumi.com jiajuol.com @@ -30947,11 +30796,13 @@ jianzhu2008.com jiao4.com jiaoben.net jiaobuser.com +jiaochengji.com jiaochengzhijia.com jiaodian.pub jiaodong.net jiaofei123.com jiaohuilian.com +jiaohusheji.net jiaoliuqu.com jiaomai.com jiaoman.cc @@ -30961,7 +30812,6 @@ jiaoping.com jiaoran.net jiaoshouhuayuan.com jiaoshouwang.com -jiaotongshigu.org jiaotou.org jiaoyimao.com jiaoyin.com @@ -30979,7 +30829,6 @@ jiarenvip.com jiasale.com jiashuangkuaizi.com jiashule.com -jiaston.com jiasuba.com jiasubook.com jiasudu666.com @@ -31209,7 +31058,6 @@ jinfengpaint.com jinfengwine.com jinfuzi.com jing-xian.com -jingbei.li jingbo.net jingbotech.com jingc.com @@ -31472,7 +31320,6 @@ jisupdf.com jisupdfeditor.com jisupdftoword.com jisupe.com -jisuqianbao.com jisutodo.com jisutp.com jisutui.vip @@ -31510,7 +31357,6 @@ jiufawang.com jiugang.com jiugangbid.com jiuhuang.com -jiuhuar.com jiuhuashan.cc jiuishizanjin.com jiujiange.com @@ -31600,7 +31446,6 @@ jiyoujia.com jiyouwang.com jiyuncn.com jizhan.com -jizhangapp.com jizhangzhuce.com jizhiba.com jizhidsp.com @@ -31664,6 +31509,7 @@ jjkk.org jjkucunxie.com jjldbk.com jjldxz.com +jjlvu.com jjmatch.com jjmh.com jjmkids.com @@ -31750,6 +31596,7 @@ jlq.com jlr360.com jlsdzgckcy.com jlsemi.com +jlsjsxxw.com jlspr.com jltyjxzz.com jlwlyx.com @@ -32304,7 +32151,6 @@ juji.tv jujiangkk.com jujiaobaby.com jujiaonet.com -jujiaonet1.com jujias.com jujienet.com jujin8.com @@ -32524,6 +32370,7 @@ jx3tong.com jxage.com jxal.net jxbhwl.com +jxbqmt.com jxc4.com jxcaipu.com jxcb.net @@ -32666,7 +32513,6 @@ jz08.com jz100.com jz177.com jz182.com -jz2005.com jz5u.com jz6.com jz6868.com @@ -32740,11 +32586,9 @@ k2os.com k345.cc k366.com k369.com -k3887.com k38s0.xyz k4nz.com k518.com -k5k1.com k5n.com k6271.com k666.com @@ -32797,7 +32641,6 @@ kaifamei.com kaifangkecheng.com kaifapiao.com kaifaxueyuan.com -kaifenghenan.com kaifu.com kaifuzq.com kaige68.com @@ -32805,7 +32648,6 @@ kaihei.co kaihu51.com kaihuia.com kaijia.com -kaijia.me kaikeba.com kailincheng.com kailing.pub @@ -32989,6 +32831,7 @@ kaoshidian.com kaoshishenqi.net kaoshizixun.com kaotipai.com +kaotop.com kaowana.com kaowang.com kaoyan.com @@ -33064,9 +32907,9 @@ kd185.com kd21xs.com kd9000.com kdatacenter.com -kdbbx.com kdd.cc kdfax.com +kdhlw.com kdige.com kdniao.com kdpt.net @@ -33128,7 +32971,6 @@ keji100.net kejiabj.com kejian.design kejianyi.com -kejietextile.com kejihai.com kejihub.com kejijie.net @@ -33452,7 +33294,6 @@ kkidc.com kkikan.com kkj2.com kkjiaofei.com -kkjk.com kkk5.com kkkd.com kkkwww.com @@ -33872,6 +33713,7 @@ kuailexs.com kuailezu.com kuailiyu.com kuailiyu.net +kuailvzaixian.com kuaimi.com kuaimi.net kuaipandata.com @@ -34026,6 +33868,7 @@ kunmingkanghui.com kunpo.cc kuntaihotel.com kunyueyun.com +kunyun8.com kuo-yi.com kuodie.com kuoo8.com @@ -34392,6 +34235,7 @@ lanmao.com lanmaokeji.com lanmaos.com lanmit.com +lanmon.net lanou3g.com lanpanpan.com lanqb.com @@ -34471,6 +34315,7 @@ laodongfa.com laoduo.net laofu.online laofuxi.com +laoge.xyz laogongshuo.com laogu.cc laogu.com @@ -34523,7 +34368,6 @@ laozongyi.com laozu.com laozuo.org lapin365.com -laqiangu.com laravel-admin.org laravel-china.org laravelacademy.org @@ -34541,6 +34385,7 @@ lashou.com lastdream.net lasy.site lategege.com +latepost.com latexstudio.net latin100.com lativ.com @@ -34807,7 +34652,6 @@ leining-shield.com leiouxiong.com leipengkai.com leiphone.com -leirenw.com leirsw.com leishen-lidar.com leishouwin.cc @@ -34848,7 +34692,6 @@ lelepyq.com leleren.com leletv.com leletv.net -lelevod.com lelewl.com lemai.com lemaker.com @@ -35335,6 +35178,7 @@ lilvb.com lily-collection.com lilysamericandiner.com lilysgame.com +limaoqiu.com limax.com limboy.com limei.com @@ -35355,6 +35199,7 @@ linecg.com linecg.net linekong.com linelayout.com +linemore.com linewell.com linewow.com linezing.com @@ -35364,6 +35209,7 @@ ling-shi.com lingaoren.com lingb.net lingbao-e.com +lingchusw.xyz lingd.cc lingd.com lingdai.name @@ -35466,7 +35312,6 @@ linkpro.tech linkrall-trk.com linkresearcher.com linkscue.com -linksfin.com linksgood.com linkshop.com linksoon.net @@ -35556,7 +35401,6 @@ lionaka.com lionelliu.com lionmobo.com lionmobo.net -lipai365.com lipian.com lipiji.com lipilianghang.com @@ -35699,7 +35543,6 @@ liuyangfcw.com liuyanzhao.com liuyifei.cc liuzaoqi.com -liuzhichao.com liuzhixiang.com liuzongyang.com liuzuo.com @@ -35712,6 +35555,7 @@ livechina.com livecourse.com liveinau.com liveincy.com +livejournal.com liveme.com livemediav.com livemook.com @@ -35934,7 +35778,6 @@ lofficielchina.net loftcn.com lofter.com loftshine.com -log4d.com logacg.com logclub.com logdu.com @@ -36499,6 +36342,7 @@ lv74.com lv96.com lvanol.com lvbad.com +lvbeijingtour.com lvbenma.com lvbuo.com lvchanghuanbao.com @@ -36572,7 +36416,6 @@ lwcj.com lwd3699.com lwdjc.com lweasy.com -lwedu.com lwfengji.net lwfjmj.com lwgsw.com @@ -36687,6 +36530,7 @@ lytmgd.com lytning.xyz lytoufang.com lytpw.com +lytuchuang10.com lytuchuang2.com lytuchuang3.com lytuchuang4.com @@ -36953,7 +36797,6 @@ maixiaba.com maixuewen.com maiya91.com maiyaole.com -maiymai.com maizhi.com maiziedu.com maizim.com @@ -37060,6 +36903,7 @@ mangxuewang.com mangzitian.com manhua1.com manhua101.com +manhua166.com manhua188.com manhua365.com manhua456.com @@ -37272,7 +37116,6 @@ maydeal.com mayi.com mayiangel.com mayicms.com -mayidui.net mayihr.com mayijieqian.com mayima.net @@ -37528,6 +37371,7 @@ meiku123.com meilecui.com meili-inc.com meilibaobao.com +meilidongnanya.com meilijia.com meiling.com meiling360.com @@ -37981,7 +37825,6 @@ mihoyogift.com mihtool.com mihua.net mihuashi.com -mihuguan.com mihui365.com mihuwa.com miicp.com @@ -38110,7 +37953,6 @@ mingsoft.net mingstar.net mingtaokeji.com mingtian.com -mingtian6.com mingtrip.com mingxiaodai.com mingxing.com @@ -38307,6 +38149,7 @@ mlocso.com mlog.club mlogcn.com mlrzsj.com +mlsbmw.com mlsub.net mlt01.com mlwanwan.com @@ -38380,7 +38223,6 @@ mmyfilm.com mmzh.com mn-soft.com mnancheng.com -mnbkw.com mnbvtgv.com mng0303.com mnihyc.com @@ -38596,9 +38438,6 @@ moneygz.com moneyslow.com monhun.fun monidai.com -monitoring.qatp1.net -monitoring.qcpp1.net -monitoring.qpdp1.net monknow.com monph.com monseng.com @@ -38617,6 +38456,7 @@ moodoon.com moogos.com moojing.com moojnn.com +moolsun.com moomoo.com moonbasa.com moonbook.com @@ -38682,6 +38522,7 @@ mosgcj.com mosheng520.com moshike.com moshou.com +moshua.net moshuanghua.com moshuqiqiu.com mosifel.com @@ -39371,7 +39212,6 @@ nagagame.net nagain.com nagcloudcs.com nagekuai.com -nahan.org nahuayuan.com nahuo.com nahuo9.com @@ -39397,7 +39237,6 @@ nalanxi.com nalichi.com name1688.com name2012.com -name5566.com nameidi.com namepre.com namesilopro.com @@ -40047,7 +39886,6 @@ njdapaidang.com njdewo.com njdfwb.com njgb.com -njgep.com njgjj.com njhaiwai.com njhengyou.com @@ -40158,7 +39996,6 @@ nnzsxblaw.com noahedu.com noahsnail.com noahteck.com -nobanus.com nobmoo.com nocang.com nocare.com @@ -40327,7 +40164,6 @@ ntcfy.com ntdvf.com ntechw.com ntefyxq.com -ntejiazheng.com ntes53.com ntfabu.com ntflk.com @@ -40545,7 +40381,6 @@ ocsjs.com ocsp-lb.apple.com.akadns.net ocsp.apple.com ocsp.globalsign.com -ocsp.pki.goog ocsp.us.cdnetworks.com ocsp2.apple.com ocsp2.globalsign.com @@ -40643,6 +40478,7 @@ oilhr.com oilmooc.com oinva5yl.com oiuwe.com +oje26fnevfdg.com ok-meeting.com ok06.com ok1616.com @@ -40751,6 +40587,7 @@ omlzz.com ommoo.com omni-pharma.com omnibeautylux.com +omobi.cc omooo.net omos88.com omowork.com @@ -40798,6 +40635,7 @@ ones.ai onescorpion.com oneshao.com onesight.com +onething.net onethingcloud.com onethingpcs.com onetog.com @@ -40938,7 +40776,6 @@ ops.ci opsapp.com opskb.com opskumu.com -opslinux.com opsnote.com opstool.com optaim.com @@ -41267,7 +41104,6 @@ padasuo.net paddlepaddle.org paddlewaver.com pafwl.com -pagead-googlehosted.l.google.com pageadmin.net pagechoice.com pagechoice.net @@ -41325,6 +41161,7 @@ pan131.com pan58.com pan8.net panabit.com +panasonicmall.com pancake.apple.com pancake.cdn-apple.com.akadns.net panchuang.net @@ -41354,6 +41191,7 @@ pangdo.com panggugu.com panghuasheng.com pangku.com +pangku01.com pangmao56.com pangmaovc.com pangoing.com @@ -41406,7 +41244,6 @@ paopaoche.net paopaohd.com paopaoshipin.com paopaox.com -paoshuba.cc paoxq.com paoxue.com papa21.com @@ -41503,7 +41340,6 @@ pbcan.com pblie.com pbsidc.com pbsvpn.com -pbtdl.com pbtxt.com pc-daily.com pc120.com @@ -41512,6 +41348,7 @@ pc34.com pc51.com pc521.net pc5210.com +pc55.com pc6.com pc6a.com pc811.com @@ -41700,7 +41537,6 @@ pepresource.com perfect-input.com perfect99.com perfectdiary.com -performanceparameters.googleapis.com peropero.net peroperogames.com personpsy.org @@ -41742,7 +41578,6 @@ pgl-world.com pglstatp-toutiao-b.com pglstatp-toutiao.com pgsql.tech -pgsqldb.org pgyer.com pgyidc.com pgzs.com @@ -41831,6 +41666,7 @@ phpxs.com phpyun.com phys.net physicalchina.vip +physoe.com phyt88.com phyy.com pi7.com @@ -42073,7 +41909,6 @@ pkbigdata.com pkbkok.com pkdyplayer.com pkfj.xyz -pki-goog.l.google.com pkm360.com pkmmo.com pko123.com @@ -42109,7 +41944,6 @@ platenogroup.com platinum-traveller.com platinumchina.com play-analytics.com -play.1ucrs.com play.craft.moe play68.com play700.com @@ -42460,10 +42294,7 @@ pro6e.com procar.cc processon.com procreate.love -prod-controlbe.floonet.goog -prod-databe.floonet.goog prod-support.apple-support.akadns.net -prod.databe.floonet.goog product1.djicdn.com productivity.wiki proginn.com @@ -42472,7 +42303,6 @@ programmer.group programmer.ink programschool.com progressingeography.com -prohui.com project-oa.com projectaker.com projector-window.com @@ -42506,11 +42336,9 @@ psdiv.com pse-meti.com psgui.com psing.tech -psjay.com psjxty.com psnine.com psoneart.com -pssclub.com pstatp.com pstips.net pstxg.com @@ -42724,9 +42552,6 @@ q6haqi.com q6u.com q77777777.com qacn.net -qagpublic.qatp1.net -qagpublic.qcpp1.net -qagpublic.qpdp1.net qalex.com qapi.cc qaqgame.com @@ -42749,7 +42574,6 @@ qbj8.com qbjrxs.com qbox.me qbox.net -qbtlk.com qbview.com qbxz.com qc-dds.net @@ -42909,9 +42733,6 @@ qftouch.com qfun.com qg.net qg108.com -qgadmin.qatp1.net -qgadmin.qcpp1.net -qgadmin.qpdp1.net qgbnzb.com qgbtd.com qgbzyzl.com @@ -42926,7 +42747,6 @@ qgtql.com qguiyang.com qgvps.com qgw.tm -qgwsp.com qgxl.org qgysj.org qgyyzs.net @@ -43029,7 +42849,6 @@ qiangchezu.com qiangchuan.com qiangdun.com qianggen.com -qianggongzhang.com qianggou5.com qiangidc.vip qiangka.com @@ -43438,12 +43257,12 @@ qirexiaoshuo.com qirui.com qisaoba.com qisbook.com -qishenga.com qishixitong.com qishixunmei.com qishu.cc qishu.co qishu.tw +qishu.vip qishunbao.com qishuta.net qisool.com @@ -43502,7 +43321,6 @@ qixin007.com qixin18.com qixincha.com qixing123.com -qixing318.com qixingcdn.com qixingcr.com qixingquan.com @@ -43679,7 +43497,6 @@ qpgame.com qplus.com qpoc.com qpstar.com -qpx.googleflights.net qpxiaoshuo.com qpzq.net qq-xmail.com @@ -43739,7 +43556,6 @@ qqkqw.com qqkrmotors.com qqku.com qqkuyou.com -qqkw.net qqleju.com qqlin.net qqma.com @@ -43896,12 +43712,6 @@ qu02.com qu247.com qua.com qualisports.cc -qualysapi.qatp1.net -qualysapi.qcpp1.net -qualysapi.qpdp1.net -qualysguard.qatp1.net -qualysguard.qcpp1.net -qualysguard.qpdp1.net quan.mx quan007.com quan365.com @@ -44173,7 +43983,6 @@ qvip.net qvkanwen.com qvlz.com qvpublish.com -qvxo.com qwdacy.com qweather.com qweather.net @@ -44189,7 +43998,6 @@ qwq.ren qwqk.net qwqoffice.com qwsy.com -qwupoq.com qwxcs.com qwxsw.com qwzhe.com @@ -44245,7 +44053,6 @@ qyjpzx.com qykh2009.com qykodo.com qyle1.com -qyled.xyz qymgc.com qyous.com qypiayer.xyz @@ -44490,7 +44297,6 @@ readpaper.com readpaul.com readten.net readu.net -readwise.com readwithu.com ready4go.com reaer.com @@ -44512,7 +44318,6 @@ reasonclub.com rebatesme.com rebo5566.com rebooo.com -recaptcha.net recgo.com rechaos.com recolighting.com @@ -44538,19 +44343,6 @@ redianzixun.com rediao.com redicecn.com redidc.com -redirector.bdn.dev -redirector.c.chat.google.com -redirector.c.docs.google.com -redirector.c.drive.google.com -redirector.c.mail.google.com -redirector.c.pack.google.com -redirector.c.play.google.com -redirector.c.youtubeeducation.com -redirector.gcpcdn.gvt1.com -redirector.gvt1.com -redirector.offline-maps.gvt1.com -redirector.snap.gvt1.com -redirector.xn--ngstr-lra8j.com redisbook.com redisdoc.com redisfans.com @@ -44586,7 +44378,6 @@ refineidea.com reformdata.org refractorywin.com reg007.com -regioninfo-pa.googleapis.com reglogo.net regtm.com rehtt.com @@ -44696,7 +44487,6 @@ retalltech.com retey.net retiehe.com retouchpics.com -retow.com return.net returnc.com reverselove.com @@ -45050,7 +44840,6 @@ rrmm2.com rrppt.com rrr.me rrrdai.com -rrrmj.com rrrrdaimao.com rrrxz.com rrs.com @@ -45161,6 +44950,7 @@ ruijiery.com ruijinginfo.com ruijinintl.com ruikesearch.com +ruimao.xyz ruiqicanyin.com ruiruigeblog.com ruiscz.com @@ -45181,11 +44971,11 @@ rujiazg.com ruketang.com rulejianzhan.com rulesofsurvivalgame.com -rum8.perf.linkedin.com rumt-sg.com rumt-zh.com runcmd.com runcome.com +rundamedical.com runde666.net rundejy.com rundongex.com @@ -45319,7 +45109,6 @@ s8x1.com s8xs.com s936.com s9523.com -s955s.com s95r.com s98s2.com s9yun.com @@ -45337,7 +45126,6 @@ sact-digital.com sae-china.org saebbs.com saen.com -safebrowsing.googleapis.com safecenter.com safehoo.com safejmp.com @@ -45565,9 +45353,6 @@ sc946.com scacm.com scaffi.com scala.cool -scanservice1.qatp1.net -scanservice1.qcpp1.net -scanservice1.qpdp1.net scanv.com scarbbs.com scarclinic-cn.com @@ -46072,12 +45857,10 @@ seopre.com seosiguan.com seosn.com seosrx.net -seosteven.com seotcs.com seowhy.com seoxiaosai.com seoxuetang.com -seoyu.net sepact.com sepri.com septinn.com @@ -46088,7 +45871,6 @@ sequoiadb.com serholiu.com servasoft.com serverless.ink -service.urchin.com servicemesher.com servicewechat.com servingcdn.com @@ -46098,7 +45880,6 @@ sesier.com sesubox.com setbbts.cyou seteuid0.com -settings.xn--9trs65b.com seuic.com sevdot.com seven7777.eu @@ -46222,6 +46003,7 @@ sh7.com sh85gk.com sh8y.com sh9130.com +sh9156.com sh9yuan.com sha-cun.com sha-steel.com @@ -46341,6 +46123,7 @@ shangshaban.com shangshangke.me shangshi360.com shangshici.com +shangshiwl.com shangshu.cc shangshuyixue.com shangtao.net @@ -46493,7 +46276,6 @@ sheencity.com sheepmats.com sheetgit.com sheinet.com -sheizhiwo.com sheji.com shejibao.com shejiben.com @@ -46545,6 +46327,7 @@ shenghan.org shenghefilms.com shengheplastic.com shenghui56.com +shenghuo365.com shenghuojia.com shenghuorili.com shenghuowo.com @@ -46561,7 +46344,6 @@ shengqianlianmeng.net shengqugames.com shengren.work shengsci.com -shengshaonv.xyz shengtaireli.com shengtian.com shengtongedu.com @@ -46583,6 +46365,7 @@ shenhongmao.com shenhua.cc shenhuagushi.net shenjian.io +shenjiballs.com shenkexin.com shenkong.net shenlanbao.com @@ -46613,6 +46396,7 @@ shenshu.info shenshuo.net shenshuw.com shensuantang.com +shensuokeji.com shentongdata.com shenweimicro.com shenweisupport.com @@ -47009,6 +46793,7 @@ shqingzao.com shqlty.com shqmxx.com shqswlgs.com +shqyg.com shrail.com shrca.org shrcb.com @@ -47241,7 +47026,6 @@ shuttle.co shuwangxing.com shuwenxianyun.com shuwulou.com -shuxiao.wang shuxinyi.net shuyang.tv shuyangba.com @@ -47596,7 +47380,9 @@ situdata.com sivan.in sivps.com siwaman.com +siwapay.com siwazywcdn2.com +siwazywcdn3.com siwazywimg.com siwei.me siweidaotu.com @@ -47630,7 +47416,6 @@ sj3w.com sj88.com sj998.com sjawards.com -sjbzx.com sjcomic.com sjdzp.com sjdzp.net @@ -48014,7 +47799,6 @@ snxfcw.com snxw.com snyu.com snzfj.net -snzgy.com snzhz.com so-love.com so-naver.com @@ -48285,7 +48069,6 @@ souidc.org soukecheng.net soukf.com soukuyou.com -soulady.net soulapp.me souldee.com soulgame.mobi @@ -48406,7 +48189,6 @@ speiyou.com spfmc.com spforum.net spgnux.com -sphinxrating.com spibj.com spiiker.com spin-view.com @@ -48537,10 +48319,7 @@ ssish.com ssjjss.com ssjjtt.com ssjlicai.com -ssjzw.com ssky123.com -ssl-google-analytics.l.google.com -ssl.gstatic.com sslaaa.com sslceshi.com sslchaoshi.com @@ -48596,10 +48375,6 @@ stackoverflow.club stackoverflow.wiki stage1st.com stage3rd.com -staging-controlbe.floonet.goog -staging-databe.floonet.goog -staging-regioninfo-pa.googleapis.com -staging.databe.floonet.goog stajy.com standardshop.net star1024.com @@ -49068,7 +48843,6 @@ supor.com suporpe.com support-china.apple-support.akadns.net support-cn.samsung.com -support.1ucrs.com support.apple.com support.globalsign.com support.lenovo.com @@ -49168,7 +48942,6 @@ swiftlet.net swiftmi.com swiftstar.net swijoy.com -switchvip.com switchxiazai.com swjoy.com swkong.com @@ -49192,6 +48965,7 @@ swsm.net swsmu.com swstsg.com swt0.com +swtuchuang4.com swupdl.adobe.com swwlotus.com swwy.com @@ -49236,7 +49010,6 @@ sxjagc.com sxjh88.com sxjhzsgc.com sxjzxww.com -sxkid.com sxkzxt.com sxlcdn.com sxldns.com @@ -49526,11 +49299,11 @@ szjinhuanyu.com szjlwul.com szjunfei.com szjuquan.com +szjys1888.com szjytx.com szkegao.net szkingdom.com szkoa.com -szlan.com szlande.com szlangwei.com szlc9.com @@ -49669,7 +49442,6 @@ szzunbao.com szzxks.net szzyqc.net szzyqy.com -t-bb.net t-cha.com t-cheshi.com t-chs.com @@ -49678,7 +49450,6 @@ t-firefly.com t-gafa.com t-io.org t-ji.net -t-jiaju.com t-jiu.com t-nan.com t-v.com @@ -49713,7 +49484,6 @@ t8tcdn.com ta26.com taaas.org tabalt.net -tac.googleapis.com tachangxing.com tacool.com tactan.net @@ -49907,7 +49677,6 @@ tao30.com tao616.com tao800.com tao8090.com -taoad.com taobao-img.com taobao.com taobao.cz @@ -50012,7 +49781,6 @@ taoxv.com taoyeyou.com taoyi-support.com taoyizhu.com -taoyuantravel.com taozaisheng.com taozhanyun.com taozhuo.com @@ -50223,6 +49991,7 @@ technode.com techoke.com techonegame.com techqianmo.com +techshidai.com techsir.com techtmt.com techuangyi.com @@ -50320,7 +50089,6 @@ tengxiao.wang tengxunmail.com tengxunqiye.com tengxunqiyeyou.com -tengxunyu.com tengy.com tengyuejz.com tengzhihh.com @@ -50330,7 +50098,6 @@ tenhot.net tenlonstudio.com tenlywu.com tenmh.com -tennisworld.mobi tennoo.com tenpay.com tenqent.com @@ -50365,8 +50132,6 @@ teshenqi.com tesolsh.com tesoon.com test-edu.net -test.bugs-qa.chromium.org -test.gbugs-qa.chromium.org test404.com testbird.com testcoo.com @@ -50977,8 +50742,8 @@ tljob8001.com tlkzs.com tlqwine.com tlrcbk.com +tlryjg.com tlsj-hd.com -tlstwy.com tlte.com tltesoft.com tltuan.net @@ -50998,7 +50763,6 @@ tmdm.com tmeiju.com tmeissheng.com tmgwdz.vip -tmhhost.com tmhong.com tmhvps.com tmiep.org @@ -51177,8 +50941,6 @@ toolfk.com toolmall.com toolmao.com toolnb.com -tools.google.com -tools.l.google.com tooming.com toomoss.com toon.mobi @@ -51578,6 +51340,7 @@ tswuby.com tsxcx.xyz tsybsmz.com tsyqb.com +tsyvps.com tsyzm.com tsz.com tszckj.com @@ -51927,7 +51690,6 @@ tuyou.me tuyoujp.com tuyoumi.com tuyouxinxi.net -tuyuantech.com tuzhan.com tuzhan.net tuzhanai.com @@ -51946,7 +51708,6 @@ tv5box.com tvandnet.com tvapk.com tvapk.net -tvb1.cc tvbbj.com tvblack.com tvbwind.com @@ -52197,7 +51958,6 @@ u5wan.com u69cn.com u6u.com u77.com -u78.com u7u9.com u8376.com u8sy.com @@ -52274,9 +52034,6 @@ uchuanbo.com uchuhimo.me ucicq.com ucjoy.com -uclmad.com -uclmimg.com -uclmjs.com ucloudgda.com ucloudnaming.info uclouds3.com @@ -52329,7 +52086,6 @@ uelike.com uemo.net uepei.com ueren.com -uerlqe.com uestcedu.com uestcguoji.com ueuz.com @@ -52439,7 +52195,6 @@ ukonline2000.com ukoo.net ukpass.org ukpathway.com -ukraine-beauty.com ukubang.com ukui.org ukulelecn.com @@ -52505,7 +52260,6 @@ unclenoway.com unclenoway.net unclenowayapi.com unclicks.com -undefined.ltd underfill.cc uneed.com unfish.net @@ -52606,8 +52360,6 @@ uoschina.com uoser.org uouo123.com uovz.com -up.corp.goog -up.gcp.googlers.com up360.com up4dev.com up71.com @@ -52626,8 +52378,6 @@ upchina.com upchinapro.com upchinaproduct.com upd.kaspersky.com -update.crashlytics.com -update.googleapis.com updates-http.cdn-apple.com updates-http.cdn-apple.com.akadns.net updates.cdn-apple.com @@ -53746,6 +53496,7 @@ wanfangdata.com wanfangqikan.com wanfangs.com wanfangtech.com +wanfangtech.net wanfantian.com wanfumei.net wanfuqianqiu.com @@ -53918,6 +53669,7 @@ wansf.com wanshahao.com wanshanshuju.com wanshifu.com +wanshiruyi.net wanshitong.com wanshouyou.net wanshuyun.com @@ -54065,7 +53817,6 @@ wddream.com wdfangyi.com wdfxw.net wdghy.com -wdinter.com wdiyi.com wdjimg.com wdjky.com @@ -54108,7 +53859,6 @@ weand.com weaoo.com weapp.com weapp.me -wear.googleapis.com wearemanner.com weareqy.com weartrends.com @@ -54153,7 +53903,6 @@ webkaka.com webkdcdn.com webkf.net webkv.com -webmagic.io webmeng.net webmulu.com webnovel.com @@ -54284,7 +54033,6 @@ weifenpay.com weifrom.com weigang.com weigongju.org -weigongxue.com weihai.tv weihaicollege.com weihaipoly.com @@ -54506,6 +54254,7 @@ welqua.com wemdsm.com wemediacn.com wemomo.com +wemorefun.com wemunc.org wemvp.com wenancehua.com @@ -54950,7 +54699,6 @@ whsy.org whsyy.net whtbq.com whtcm.com -whtcm.net whtdcb.com whtdsc.com whtfzy.com @@ -55308,7 +55056,6 @@ wl.dlservice.microsoft.com wl369.com wlanadmin.com wlanbanlv.com -wlanwifi.net wlcbnews.com wlcbw.com wlcxx.com @@ -55368,6 +55115,7 @@ wmphp.com wmpic.me wmpvp.com wmpyol.com +wmqfey.com wms100.com wmsjyun.com wmssedu.com @@ -55390,6 +55138,7 @@ wnark.com wnbsq.com wndhw.com wndlkj.com +wndroid.com wnform.com wnhuifu.com wniecm.com @@ -55486,6 +55235,7 @@ wolf.cc wolfcstech.com wolfgo.com wolfogre.com +wolianw.com wolife.com wolighting.com woliuda.com @@ -55658,7 +55408,6 @@ wp-h.com wp10.cc wpan123.com wpceo.com -wpchina.org wpcio.com wpcnzz.com wpdaxue.com @@ -55771,6 +55520,7 @@ wshttpdns.com wsisp.com wsisp.net wsjx.net +wskam.com wslcode.com wsljf.xyz wslmf.com @@ -55813,7 +55563,6 @@ wtd56.com wtdex.com wtdms.com wting.info -wtmmn.com wtn5.com wtobag.com wtoip.com @@ -55894,7 +55643,6 @@ wuhanpe.com wuhanpep.com wuhanport.com wuhanrt.com -wuhansailingclub.com wuhantest.com wuhantianqi114.com wuhantskj.com @@ -56060,8 +55808,6 @@ www-123490.com www-175345.com www-4620.com www-63608.com -www-google-analytics.l.google.com -www-googletagmanager.l.google.com www.adobe.com www.agoda.com www.akamai.com @@ -56077,21 +55823,17 @@ www.cg www.com.my www.dell-brand.com www.dell.com -www.destinationurl.com www.dji.com www.djivideos.com www.epsonconnect.com www.globalsign.com -www.googleadapis.com www.gov.mo -www.gstatic.com www.htc.com www.htcsense.com www.linkedin.com www.microsoft.com www.nike.com www.pandora.net -www.pxcc.com www.redhat.com www.samsung.com www.st.com @@ -56167,7 +55909,6 @@ wxkol.com wxlagame.com wxlongre.com wxmama.com -wxmcgz.com wxmetro.net wxmolegames.com wxmovie.com @@ -56203,7 +55944,6 @@ wy213.com wyaoqing.com wybbao.com wybgs.com -wycanyin.com wycntv.com wydbw.com wydfghjjh.live @@ -56211,6 +55951,7 @@ wydljx.com wydns.com wyduihua.com wyh138.com +wyhos.fun wyins.net wykefu.com wyktwx.com @@ -56289,6 +56030,7 @@ wzyun.net wzz180809.net wzz1809.com wzznft.com +wzzp.com wzzww.com x-bows.com x-cti.org @@ -56833,6 +56575,7 @@ xiangyujiankang.com xiangyukj.com xiangyun.so xiangyunseo.com +xiangyuqimo.com xiangzhan.com xiangzhiren.com xiangzhuyuan.com @@ -56956,6 +56699,7 @@ xiaoheima.com xiaohongchun.com xiaohongdian.wang xiaohongshu.com +xiaohongshu.net xiaohongshulvyou.com xiaohuabaichu.com xiaohuabuluo.com @@ -57006,6 +56750,7 @@ xiaolin.in xiaolinsi.com xiaolinwl.com xiaolinyuan.com +xiaoliqing.net xiaolizhuli.com xiaolu123.com xiaoluboke.com @@ -57630,6 +57375,7 @@ xinyifu.net xinyisemi.com xinyitt.com xinyo100.com +xinyong.net xinyongbuy.com xinyou.com xinyour.com @@ -57833,7 +57579,6 @@ xjishu.com xjisme.com xjiyou.com xjjnjp.org -xjltp.com xjlxw.com xjlz365.com xjmty.com @@ -57912,7 +57657,6 @@ xlobo.com xlpai.com xlpan.com xlqzh.com -xlrocket.com xlsemi.com xlshou.com xltrip.com @@ -58025,7 +57769,6 @@ xn--2krw29cdqai43k.com xn--6rt008ee0k3ua.com xn--6rt008ee0k3ua.net xn--7hv285el2dtof.com -xn--9kr7l.com xn--dkr447bejn.com xn--dkr447bejn.net xn--e9qp53aepg.xn--ses554g @@ -58033,7 +57776,6 @@ xn--ebr05n.com xn--eqrt2g.xn--vuq861b xn--fiq8ituh5mn9d1qbc28lu5dusc.xn--vuq861b xn--fiqz7g67bsydx1ed00d.com -xn--flw351e.com xn--glr604k.com xn--it-1r3f.com xn--ntsp37j.net @@ -58097,7 +57839,6 @@ xp85.com xp868.com xp933.com xp9365.com -xpagn.com xpaper.com xpaper.net xpaper.vip @@ -58197,7 +57938,6 @@ xsool.com xsp0311.com xspcf.com xspic.com -xspliter.com xsrtvu.com xsshuku.com xsslyjt.com @@ -58326,7 +58066,6 @@ xuegongkong.com xueguoedu.net xuehai.net xuehaibjb.com -xuehaoba.com xuehuacdn.com xuehuahua.cc xuehuahua.net @@ -58344,7 +58083,6 @@ xueleku.com xuelema.com xueleyun.com xueli9.com -xuelu.org xueming.li xuenb.com xuepaijie.com @@ -58394,6 +58132,7 @@ xuexin365.com xuexiniu.com xuexitong.com xuexivip.net +xuexiwa.com xueyanshe.com xueyiyun.com xueyou.org @@ -58548,6 +58287,7 @@ xxcmw.com xxdao.com xxfzl.com xxgd888.com +xxggg.net xxghh.biz xxgj47.com xxgzmlt.com @@ -58557,7 +58297,6 @@ xxhkt.com xxhyzd.com xxingclub.com xxjcy.com -xxjr.com xxjrjxc.com xxjrqc.com xxka.com @@ -58619,6 +58358,7 @@ xy1212.com xy1758.com xy178.com xy1989.com +xy2401.com xy3000.com xy58.net xy599.com @@ -58645,6 +58385,7 @@ xyffsb.com xyfw.org xygmed.com xyh001.com +xyh2021.com xyhc.com xyhis.com xyhlcd.com @@ -58784,7 +58525,6 @@ ya247.com yaahe.com yabo.com yabolive.com -yabovip2029.com yac8.com yac8.net yadashi.com @@ -58918,11 +58658,13 @@ yanjunbo.com yankanshu.net yankay.com yanliu.org +yanlutong.com yanmbjiage.com yannaisi.com yannv.com yanoda.com yanpk.com +yanpwy.com yanqiao.com yanqingzhan.net yansedaquan.com @@ -59009,6 +58751,7 @@ yatiku.com yatiwang.com yatsenglobal.com yatsoft.com +yaucxrt.com yawancaiwu.com yaxi.net yaxige.com @@ -59257,6 +59000,7 @@ yesoulchina.com yespearl.com yestar.com yestar1992.com +yestarcorp.com yestarm.com yestarvip.com yeston.net @@ -59360,7 +59104,6 @@ yhdns.net yhdtns.com yhees.com yhetent.com -yhfx.info yhgfb-cn-static.com yhgo.wang yhgo8.com @@ -59396,7 +59139,6 @@ yhyf.cc yhz2000.com yhz365.com yhz66.com -yhzdt.com yhzky.net yhzky1.net yhzm.cc @@ -59590,6 +59332,7 @@ yimeng.com yimengmusic.com yimenonline.com yimenyun.net +yimian.xyz yimianmian.com yimiaozhongdemeng.com yimidida.com @@ -59622,6 +59365,7 @@ yinduzx.com yineitong.com yinfeiy.com ying-ji.com +yingbar.com yingbei365.com yingbishufa.com yingcankeji.com @@ -59752,6 +59496,7 @@ yipingmi.vip yipinhr.com yipinread.com yipinsucai.com +yipintemian.com yipuping.com yiqi.com yiqianbao.com @@ -59829,7 +59574,6 @@ yisojuan.com yisou.com yisouti.com yisouyifa.com -yiss.com yisu.com yisusoft.com yit.com @@ -59987,7 +59731,6 @@ yjvps.com yjwlo.com yjwujian.com yjxsoft.com -yjyghb.com yjz9.com yjzb.app yjzb.tv @@ -60063,6 +59806,7 @@ ym1998.com ym23.com ym68.cc ym75168.com +ymadly.com ymailcampaign.com ymall.com ymanz.com @@ -60114,7 +59858,6 @@ yn-tobacco.com yn12396.com yn58.com ynairport.com -ynaquatic-foods.com ynb2dca.com ynbit.com ynbojie.com @@ -60126,6 +59869,7 @@ yneg-ev.com yneit.com ynet.com ynfabu.com +ynfxw.com yngd016.com ynggzy.com yngp.com @@ -60404,7 +60148,6 @@ youmenr.com youmew.com youmi.net youmiad.com -youmingdot.com youminonline.com youmobi.com youmodou.com @@ -60751,7 +60494,6 @@ ysxs8.com ysyycv.com yszx99.com yszyun.com -yszyz.com yszzlt.com yt1998.com yt1a.icu @@ -60915,7 +60657,6 @@ yuejiewangluo.com yuejuanbao.com yuekenet.com yuekeyun.com -yuelong.info yueloo.com yuelu.net yuelun.com @@ -60992,7 +60733,6 @@ yule114.com yule116.com yule263.com yuledaily.com -yulefm.com yulehezi.com yuleie.com yulejiaodian.com @@ -61001,7 +60741,6 @@ yuleredian.com yuleres.com yuli.be yulicdn.com -yuliechina.com yulinapp.com yulingtianxia.com yulongjun.com @@ -61019,7 +60758,6 @@ yumi.com yumimobi.com yuming.com yumingguwen.com -yumingjoy.com yumixitong.com yumstone.com yun-gu.com @@ -61373,7 +61111,6 @@ ywsoftware.com ywtd.xyz ywtrzm.com ywtuchuang1.com -ywtx.cc ywxue.com ywxzz.com ywyanxing.com @@ -61432,6 +61169,7 @@ yxjedu02.com yxjia.com yxkfw.com yxkjlcd.com +yxlaba.com yxlady.com yxlady.net yxle.net @@ -61443,6 +61181,7 @@ yxn.fun yxool.com yxou.com yxpk.net +yxpms.com yxptfs.com yxqiche.com yxrank.com @@ -61457,6 +61196,7 @@ yxt.com yxt521.com yxtapp.com yxttzb.com +yxtun.com yxtvg.com yxwoo.com yxxgame.com @@ -61505,7 +61245,6 @@ yygold.com yygrammar.com yygzs.com yyh.la -yyh2.com yyhao.com yyhh.com yyhhaa.com @@ -61521,6 +61260,7 @@ yylm.org yymedias.com yyming2.com yymoban.com +yynetwk.com yyouren.com yypm.com yypt.com @@ -61619,6 +61359,7 @@ yzzs.cc yzzsoft.com yzzzn.com z-bank.com +z-dd.net z-index.cc z-inn.com z-zhuji.com @@ -62154,7 +61895,6 @@ zhaiiker.com zhaikexueyuan.com zhaimansky.com zhainanba.net -zhainanbaw.com zhainanfulishe.com zhainanhuayuan.com zhaiqianfeng.com @@ -62352,6 +62092,7 @@ zhe4000.com zhe800.com zhebei.com zhefengle.com +zhejianglab.com zhejiangmuseum.com zhejiangqinghe.com zhejing.tech @@ -62454,13 +62195,10 @@ zhgjm.com zhgl.com zhgnj.com zhgqt.com -zhgsw.com zhguoguo.com zhhainiao.com -zhhbqg.com zhhrm.com zhhs-china.com -zhhtxt.com zhhuahui.com zhhy-oa.com zhi-bo.net @@ -62568,7 +62306,6 @@ zhilianfm.com zhiliangren.com zhiliaoke.com zhiliaomj.com -zhilii.com zhilingshidai.com zhilong.me zhilongtech.com @@ -62600,6 +62337,7 @@ zhipin.com zhipingke.com zhiqiang.org zhiqiapp.com +zhiqihuo.com zhiquanxia.com zhiquapp.com zhiquyuan.com @@ -62612,6 +62350,7 @@ zhiru.com zhirui-inv.com zhiruyi.com zhisanzhao.com +zhishangsoft.com zhisheji.com zhishi.life zhishibo.com @@ -62794,7 +62533,6 @@ zhongruihuacheng.com zhongruitech.com zhongshang114.com zhongshanpark.com -zhongshanyinyuetang.org zhongshengdai.com zhongshucan.com zhongso.com @@ -62824,6 +62562,7 @@ zhongyoo.com zhongyouex.com zhongyougc.com zhongyoumedia.com +zhongyulian.com zhongyunjy.com zhongzhao.com zhongzhide.com @@ -62893,7 +62632,6 @@ zhuangyi.com zhuangzhuang.net zhuanhuanqi.com zhuaniao.com -zhuanile.com zhuankeba.org zhuanlichaxun.net zhuanliqiao.com @@ -62915,7 +62653,6 @@ zhuanzhi.ai zhuanzhi.net zhuanzhuan.com zhuanzhuantui.com -zhuashouru.com zhuatang.com zhuaxia.com zhuayou.com @@ -63031,7 +62768,6 @@ zhuoyouba.net zhuoyoutech.com zhuoyuanxinfang.com zhuoyue.wang -zhuoyuebbs.com zhuoyuechenxing.com zhuozhengsoft.com zhuozhoufangchan.com @@ -63191,7 +62927,6 @@ zishuogif.com zishuovideo.com zisia.org zisuo.com -ziti.so ziti163.com zitiao.org zitiaonc.com @@ -63294,7 +63029,6 @@ zjfdc.net zjft.com zjgas.net zjgjj.com -zjgmdf.com zjgqt.org zjgrrb.com zjgslb.com @@ -63341,7 +63075,6 @@ zjkgjj.com zjkings.com zjknews.com zjks.com -zjkssw.com zjlcwg.com zjldrcb.com zjlottery.com @@ -63449,6 +63182,7 @@ zking.com zkl2333.com zkoffcn.com zkpk.org +zkrdlab.com zkread.com zkroom.com zksoftwaresz.com @@ -63545,7 +63279,6 @@ zmnrz.com zmobuy.com zmonster.me zmpal.com -zmqlh.com zmren.com zmrenwu.com zmrgame.com @@ -63719,7 +63452,6 @@ zqvip8.cc zqwzc.com zqxsc.com zqygame.com -zqzj.org zqzyxx.com zrahh.com zrblog.net @@ -63915,6 +63647,7 @@ zuimeia.com zuimeiqidai.com zuimeitianqi.com zuimeix.com +zuimh.com zuiqiangyingyu.net zuirede.com zuishidai.com @@ -63960,6 +63693,7 @@ zuojiaju.com zuojiawang.com zuojing.com zuojj.com +zuokesteak.com zuolinyouli.vip zuoqu.com zuoqudashi.net @@ -64131,7 +63865,6 @@ zybuluo.com zyc918.com zyccc.com zycits.com -zyclps.com zycmfw.com zycsc.com zyctd.com @@ -64196,12 +63929,12 @@ zyz119.com zyzaojiao.com zyzhan.com zyzhyl.com +zyzimg.com zyzj.org zyzjmz.org zyzkb.net zyzw.com zyzxs.com -zz-qq.com zz-zigzag.com zz21.com zz314.com @@ -64251,13 +63984,11 @@ zzkiss000.com zzliot.com zzllq.com zzloop.com -zzlz.net zzm8.com zzmama.net zzmscg.com zzmyt.com zznah001.com -zznn7.xyz zzobokj.com zzpd8.com zzpuke.com diff --git a/luci-app-passwall/root/usr/share/passwall/rules/chnroute b/luci-app-passwall/root/usr/share/passwall/rules/chnroute index f398b323..f4d12904 100644 --- a/luci-app-passwall/root/usr/share/passwall/rules/chnroute +++ b/luci-app-passwall/root/usr/share/passwall/rules/chnroute @@ -467,6 +467,7 @@ 103.130.152.0/24 103.130.160.0/22 103.130.228.0/22 +103.131.138.0/23 103.131.152.0/22 103.131.168.0/22 103.131.176.0/22 @@ -485,6 +486,7 @@ 103.132.188.0/22 103.132.208.0/22 103.132.212.0/22 +103.132.22.0/23 103.132.234.0/23 103.132.60.0/22 103.132.64.0/22 @@ -1894,6 +1896,7 @@ 103.247.168.0/22 103.247.172.0/22 103.247.176.0/22 +103.247.191.0/24 103.247.200.0/22 103.247.212.0/22 103.248.0.0/23 diff --git a/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 b/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 index e7401301..0450e0f9 100644 --- a/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 +++ b/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 @@ -394,6 +394,8 @@ 2400:ef40::/32 2400:f480::/32 2400:f5c0::/32 +2400:f6e0::/32 +2400:f720::/32 2400:f7c0::/32 2400:f840::/32 2400:f980::/32 diff --git a/luci-theme-design/Makefile b/luci-theme-design/Makefile index dc921525..2a5622ae 100644 --- a/luci-theme-design/Makefile +++ b/luci-theme-design/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Design Theme LUCI_DEPENDS:= -PKG_VERSION:=5.7.4-20230417 +PKG_VERSION:=5.7.5-20230418 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-theme-design/dev/style.css b/luci-theme-design/dev/style.css index c3eaa87c..aaf48512 100644 --- a/luci-theme-design/dev/style.css +++ b/luci-theme-design/dev/style.css @@ -2707,7 +2707,7 @@ header > .container > .pull-right > * { border-bottom: var(--sectionBorder); border-left: var(--sectionBorder); border-right: var(--sectionBorder); - /* background-color: var(--sectionbgColor); */ + background-color: var(--sectionbgColor); border-radius: 10px; } diff --git a/luci-theme-design/htdocs/luci-static/design/css/style.css b/luci-theme-design/htdocs/luci-static/design/css/style.css index eb78a2d8..f88917ff 100644 --- a/luci-theme-design/htdocs/luci-static/design/css/style.css +++ b/luci-theme-design/htdocs/luci-static/design/css/style.css @@ -1,2 +1,2 @@ :root{--commonRadius0: 8px;--commonRadius1: 5px - }[data-theme=light]{--bg: #f1f4f5;--mainbg: #fff;--bgwhite: #fff;--activeColor: #5ea69b;--activeBottom: #5ea69b 2px solid;--textColor: rgb(132,119,116);--borderColor: rgba(0,0,0,.15);--navbgColor: rgba(255, 255, 255, .7);--navBorder: 1px solid #f2f2f2;--sectionbgColor: #fff;--sectionbgColor2: #fff;--sectionShaddow: 3px 3px 3px rgba(0,0,0,.05);--sectionBorder: none;--sectiontabBorder: none;--tabmenuBorderLR: none;--tabmenubgColor: none;--tabmenuBottom: #e4eaec 1px solid;--tabmenuRadius: 6px 6px 0 0;--sectionnodeBorder: #f7f7f7 1px solid;--cbilineColor: #f7f7f7 1px solid;--tabbgColor: #fff;--inputbgColor: #f8f8f8;--inputtextColor: #76838f;--inputBorder: 1px solid #e4eaec;--mainleftbgColor: rgb(255,255,255);--bttextColor: #fff;--badgebgColor: #f7f7f7;--badgeBorder: #e4eaec 1px solid;--progressbarColor: #c8c8c8;--progressbar: #5ea69b;--progressbartxtColor: #fff;--logo_color: #222b36;--alertColor: #000000;--alertBackground: rgb(230 230 230);--scrollbarColor:#c5c5c5;--ifaceboxBorderColor: #b8b8b8bd;--ifaceboxFontColor: #404040;--liSelectedColor: #c5c5c5;--vssrStatusColor: #525f7f;--vssrBoxShadow: 0 0 2rem 0 rgb(136 152 170 / 30%)}[data-theme=dark]{--bg: #000;--bgwhite: #000;--textColor: #fefefe;--activeColor: #5ea69b;--activeBottom: #5ea69b 2px solid;--borderColor: #2C2C3A;--navbgColor: hsla(0, 0%, 7%, .8);--navBorder: 1px solid #1c1c1e;--sectionbgColor: #1c1c1e;--sectionbgColor2: #1c1c1e;--sectionShaddow: 3px 3px 3px rgba(0,0,0,.05);--sectionBorder: none;--sectiontabBorder: none;--sectionnodeBorder: #3d3d41 1px solid;--cbilineColor: #2d2d2d 1px solid;--tabbgColor: #1c1c1e;--tabmenuBorderLR: none;--tabmenubgColor: none;--tabmenuBottom: #2d2d2d 1px solid;--tabmenuRadius: 6px 6px 0 0;--inputbgColor: #2f2f2f;--inputtextColor: #fefefe;--inputBorder: 1px solid #4d4d4d;--mainleftbgColor: #000;--bttextColor: #fefefe;--badgebgColor: #fefefe;--badgeBorder: #3d3d40 1px solid;--progressbarColor: #6d6d6d;--progressbar: #5ea69b;--progressbartxtColor: #fefefe;--logo_color: #fefefe;--alertColor: #ffffff;--alertBackground: rgb(30 30 30);--scrollbarColor:#2f2f2f;--ifaceboxBorderColor: #636363bd;--ifaceboxFontColor: #404040;--liSelectedColor: #2f2f2f;--vssrStatusColor: rgb(204, 204, 204);--vssrBoxShadow: 0 0 1rem 0 rgb(0 0 0 / 30%)}@font-face{font-family:icomoon;src:url(../fonts/font.eot);src:url(../fonts/font.eot) format('embedded-opentype'),url(../fonts/font.ttf) format('truetype'),url(../fonts/font.woff) format('woff'),url(../fonts/font.svg) format('svg');font-weight:400;font-style:normal}@font-face{font-family:design;src:url('');src:url(?#iefix) format('embedded-opentype'),url(../fonts/iconfont-Regular.woff2) format('woff2'),url(../fonts/iconfont-Regular.woff) format('woff'),url(../fonts/iconfont-Regular.ttf) format('truetype'),url(#iconfont) format('svg')}@font-face{font-family:genjyuugothic-medium;src:url(../fonts/GenJyuuGothic-Medium.otf) format('opentype')}*::-webkit-scrollbar{width:5px;height:5px}*::-webkit-scrollbar-thumb{background:var(--scrollbarColor);border-radius:2px}div{font-family:hyk2gj}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,microsoft yahei!important;font-size:.92rem;line-height:150%;background-color:var(--bg);color:var(--textColor)}body div{line-height:150%}a{color:var(--textColor);text-decoration:none}em{font-style:normal!important;line-height:1.5;padding-left:10px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}select{overflow:hidden!important;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:0 25px 0 10px!important;background-size:24px 16px;background-repeat:no-repeat;background-position:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABGCAYAAAA6hjFpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LmRhYmFjYmIsIDIwMjEvMDQvMTQtMDA6Mzk6NDQgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDNzA0QUE0NjE2QTExRUNCMjJFQkQyRkIyNURDNjE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDNzA0QUEzNjE2QTExRUNCMjJFQkQyRkIyNURDNjE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMi41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzNBNTYzNTY2MTUxMTFFQ0IyMkVCRDJGQjI1REM2MTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzNBNTYzNTc2MTUxMTFFQ0IyMkVCRDJGQjI1REM2MTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6YjzxlAAACsklEQVR42uyaXUsVURSG51T0U/obfUvhhYF0U0HQhZQVIWVJCAkiSUXfRRcaBFbXQVBBRCASFCJBpQQipw+RREkpCa9aG95gs0DMOp6Z7TwvvAxnzczaa6/nzDnzVTndfSVDxdE6WgAQBBCAIIAABAEEIAggAEEAQQABCAIIQBBAAIIAAhAEEAQQgCCAAAStGSAbzA/N+wvSiwPmB6or16bkoY2afLN5r+q4l2MfDpr7zetV2z7zYpmOkAHByNSE0IxDOdUSxr2rOjLVNVC2n6z77hsYmtFnbqlzHS0aN+7DouorFZBH+ibGUCrmO+YjdaqhVeNVHIxm1Ve6P/XH5ibzLwfllvn4Ko8d8t90MEIde1RXaU97n6oJCw7KNXPbKo3ZpvwxjAXV8YTrkCx7piPFQ7lsbq/xWO3K62E0qQ4uDKXn5kbzTxe/YO6o0Rgdypc5GI0anyt1p5fm3eYfLn7e3PmfuTuVJ1YYZ5fG5Up9CQ2qSfMu3m3u+secXdo/1rzGGeTWyfIaUrPmXPycuWeFuXq0X6w55R8q4NwLe3PxlXmn+buLnzX3/mWOXm0fK+RrUP4MICvTG/MO86yLnzFfWmbfi9ou1qzyvS7wnAt/+31YTZxx8ZPmq+709c/pcoifcvEZ5Rku+HyTeB4yYt5unnbxE+YbEZSwvK54rGntP5LAXJN5QPXWvNX8zcWPmm9rHmF5zK0P22/T/hlAaqv35i3mKRc/bB7VMtaUIL5LaI7JPcIdVZMnXXyT+zyp7T4kNr8kn6mPqdlfllj/VevHEpxbsi85fNTP1ycX/2zerPUZQOqrcUGp6nNVMMYTnlPyrwFNCMILLScSn0++r7zUSFVdZ6wJ8aIcQBBAAIIAAhAEEIAggAAEAQQBBCAIIABBAAEIAghAEEAQQJLQbwEGAK/reX2gh5gQAAAAAElFTkSuQmCC)}select,input{color:var(--inputtextColor);padding:5px 10px;font-size:.92rem;font-family:-apple-system,microsoft yahei,sans-serif,Helvetica,Arial,sans-serif;border:var(--inputBorder);background-color:var(--inputbgColor);transition:color 100ms ease,border-color 100ms ease,opacity 100ms ease;-webkit-transition:color 100ms ease,border-color 100ms ease,opacity 100ms ease;outline-style:none;vertical-align:middle;border-radius:var(--commonRadius0);margin:3px 3px 3px 0;height:2.8rem;line-height:2.8rem;max-width:550px}select:not([multiple=multiple]):focus,input:focus{border-color:#948fe1;box-shadow:0 0 6px #948fe1;-webkit-box-shadow:0 0 6px #948fe1;-moz-box-shadow:0 0 6px #948fe1}input[type=file]{border:none;background:0 0;height:auto;line-height:1rem}input[type=checkbox]{height:1.2rem;width:1.2rem}input[type=radio]{height:1.2rem;width:1.2rem;box-shadow:var(--bg)}select[multiple=multiple]{height:auto}.node-docker-images input[type=text]{width:auto!important}input[type=text],input[type=password]{width:100%}code{color:#09c}abbr{text-decoration:underline;cursor:help}br{display:block;margin-bottom:.2px;content:''}hr{margin:1rem 0;border-color:#eee;opacity:.1}header,.main{width:100%;position:absolute}header{background-color:var(--bgwhite);box-shadow:18rem 2px 4px rgba(0,0,0,.08);transition:box-shadow .1s;height:55px;float:left;position:fixed;z-index:101}footer{text-align:right;padding:1rem;color:#aaa;font-size:11px;height:80px;visibility:hidden}footer>a{color:#9a258f;text-decoration:none}text,line{font-family:Verdana!important}.cbi-button-up,.cbi-button-down,.cbi-value-helpicon,.showSide,.main>.loading>span{font-family:icomoon!important;font-size:10px;speak:none;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.node-services-passwall2 #cbi-passwall2{text-align:center}.node-services-passwall2 input.cbi-button.cbi-button{max-width:unset}.node-services-passwall #set_node_div,.node-services-passwall2 #set_node_div,.node-services-passwall #add_link_div,.node-services-passwall2 #add_link_div{background:var(--sectionbgColor);border-radius:var(--commonRadius0)}.node-services-passwall #add_link_div #nodes_link,.node-services-passwall2 #add_link_div #nodes_link{width:100%!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:-apple-system,microsoft yahei;font-weight:600;line-height:1.1;color:inherit;clear:both;text-transform:capitalize}label.zonebadge.zonebadge-empty{background-color:#03abe8!important}label.zonebadge{border-radius:var(--commonRadius1);padding:2px 5px!important;display:inline-block;cursor:pointer;color:#666}.zonebadge{border-radius:6px;padding:5px}.zonebadge em{padding:3px}svg{background-color:var(--sectionbgColor)}.cbi-section .cbi-section{margin:10px}.node-services-vssr .status-bar{bottom:calc(var(--vssrBottom) + constant(safe-area-inset-bottom));bottom:calc(var(--vssrBottom) + env(safe-area-inset-bottom));background-color:var(--navbgColor);box-shadow:var(--vssrBoxShadow)!important;color:var(--vssrStatusColor)!important}.node-services-vssr .container{padding-bottom:calc(var(--vssrBottom) + constant(safe-area-inset-bottom));padding-bottom:calc(var(--vssrBottom) + env(safe-area-inset-bottom))}.node-services-vssr .ssr-button{min-width:30px}.node-services-vssr #cbi-vssr .panel-title{padding:10px 0 10px 10px!important;letter-spacing:0!important}.node-services-vssr .status .block{border-radius:10px!important;box-shadow:none!important;background-color:var(--sectionbgColor)!important}.node-services-vssr button{border-radius:10px!important}#cbi-vssr-servers .cbi-section-table-row{position:relative;margin:10px!important;padding:8px 15px 8px 70px;box-shadow:none!important;border-radius:10px!important;border:0;color:var(--textColor)!important;text-align:left;line-height:1.7em;overflow:hidden;letter-spacing:normal;background-color:var(--inputbgColor)!important}.cbi-section-table-row.fast{background-color:#add8e6!important}.incon .tp{text-transform:uppercase;color:var(--bg)!important}::file-selector-button{transition:all .1s ease-in-out;border-radius:var(--commonRadius1);border:3px solid #337ab7!important;color:#fff!important;background-color:#337ab7!important;box-sizing:border-box;cursor:pointer}::file-selector-button:hover,::file-selector-button:focus,::file-selector-button:active{color:#fff!important;background-color:#6a65d6!important;border-color:#6a65d6!important}img[src*="/luci-static/resources/icons/port_up.png"]{background-image:url(../images/port_up.png);background-size:32px 32px;height:32px;padding:0 0 0 32px;width:0}img[src*="/luci-static/resources/icons/port_down.png"]{background-image:url(../images/port_down.png);background-size:32px 32px;height:32px;padding:0 0 0 32px;width:0}#wan4_i img[src*="/luci-static/resources/icons/ethernet.png"],#wan6_i img[src*="/luci-static/resources/icons/ethernet.png"],img[src*="/luci-static/resources/icons/ethernet.png"]{background-image:url(../images/ethernet.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/ethernet.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/ethernet.png"],.ifacebadge img[src*="/luci-static/resources/icons/ethernet.png"],li img[src*="/luci-static/resources/icons/ethernet.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/ethernet.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/ethernet_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/ethernet_disabled.png"],img[src*="/luci-static/resources/icons/ethernet_disabled.png"]{background-image:url(../images/ethernet_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/ethernet_disabled.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/ethernet_disabled.png"],.ifacebadge img[src*="/luci-static/resources/icons/ethernet_disabled.png"],li img[src*="/luci-static/resources/icons/ethernet_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/ethernet_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/switch.png"],#wan6_i img[src*="/luci-static/resources/icons/switch.png"],img[src*="/luci-static/resources/icons/switch.png"]{background-image:url(../images/switch.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/switch.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/switch.png"],.ifacebadge img[src*="/luci-static/resources/icons/switch.png"],li img[src*="/luci-static/resources/icons/switch.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/switch.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/switch_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/switch_disabled.png"],img[src*="/luci-static/resources/icons/switch_disabled.png"]{background-image:url(../images/switch_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/switch_disabled.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/switch_disabled.png"],.ifacebadge img[src*="/luci-static/resources/icons/switch_disabled.png"],li img[src*="/luci-static/resources/icons/switch_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/switch_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/wifi.png"],#wan6_i img[src*="/luci-static/resources/icons/wifi.png"],img[src*="/luci-static/resources/icons/wifi.png"]{background-image:url(../images/wifi.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/wifi.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/wifi.png"],.ifacebadge img[src*="/luci-static/resources/icons/wifi.png"],li img[src*="/luci-static/resources/icons/wifi.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/wifi.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/wifi_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/wifi_disabled.png"],img[src*="/luci-static/resources/icons/wifi_disabled.png"]{background-image:url(../images/wifi_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/wifi_disabled.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/wifi_disabled.png"],.ifacebadge img[src*="/luci-static/resources/icons/wifi_disabled.png"],li img[src*="/luci-static/resources/icons/wifi_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/wifi_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/vlan.png"],#wan6_i img[src*="/luci-static/resources/icons/vlan.png"],img[src*="/luci-static/resources/icons/vlan.png"]{background-image:url(../images/vlan.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/vlan.png"],li img[src*="/luci-static/resources/icons/vlan.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/vlan.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/vlan_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/vlan_disabled.png"],img[src*="/luci-static/resources/icons/vlan_disabled.png"]{background-image:url(../images/vlan_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/vlan_disabled.png"],li img[src*="/luci-static/resources/icons/vlan_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/vlan_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/bridge.png"],#wan6_i img[src*="/luci-static/resources/icons/bridge.png"],img[src*="/luci-static/resources/icons/bridge.png"]{background-image:url(../images/bridge.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/bridge.png"],li img[src*="/luci-static/resources/icons/bridge.png"]{background-image:url(../images/bridge.png);background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px;width:0}#__status-ifc-signal img[src*="/luci-static/resources/icons/bridge.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/bridge_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/bridge_disabled.png"],img[src*="/luci-static/resources/icons/bridge_disabled.png"]{background-image:url(../images/bridge_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/bridge_disabled.png"],li img[src*="/luci-static/resources/icons/bridge_disabled.png"]{background-image:url(../images/bridge_disabled.png);background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px;width:0}#__status-ifc-signal img[src*="/luci-static/resources/icons/bridge_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/tunnel.png"],#wan6_i img[src*="/luci-static/resources/icons/tunnel.png"],img[src*="/luci-static/resources/icons/tunnel.png"]{background-image:url(../images/tunnel.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/tunnel.png"],li img[src*="/luci-static/resources/icons/tunnel.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/tunnel.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/tunnel_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/tunnel_disabled.png"],img[src*="/luci-static/resources/icons/tunnel_disabled.png"]{background-image:url(../images/tunnel_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/tunnel_disabled.png"],li img[src*="/luci-static/resources/icons/tunnel_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/tunnel_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}img[src*="/luci-static/resources/icons/wifi_big.png"]{background-image:url(../images/wifi_big.png);background-size:64px 64px;height:64px;padding:0 0 0 64px;width:0}img[src*="/luci-static/resources/icons/wifi_big_disabled.png"]{background-image:url(../images/wifi_big_disabled.png);background-size:64px 64px;height:64px;padding:0 0 0 64px;width:0}img[src*="/luci-static/resources/icons/loading.gif"]{background-image:url(../images/loading.gif);background-size:20px 20px;height:20px;width:20px;padding:0 0 0 20px;width:0}.ifacebox-body img{background-size:20px 20px;width:20px!important;height:20px!important;padding:0 0 0 20px!important}.ifacebox-head{border-radius:4px 4px 0 0}img[src*="/luci-static/resources/cbi/add.gif"]{background-image:url(../images/add.png);background-size:20px 20px;height:20px;padding:0 0 0 20px;width:0;z-index:2}img[src*="/luci-static/resources/cbi/remove.gif"]{background-image:url(../images/remove.png);background-size:20px 20px;height:20px;padding:0 0 0 20px;width:0;z-index:2}img[src*="/luci-static/resources/cbi/reload.gif"]{background-image:url(../images/reload.png);background-size:20px 20px;height:20px;padding:0 0 0 20px;width:0;z-index:2}img[src*="/luci-static/resources/icons/signal-75-100.png"]{background-image:url(../images/signal-75-100.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-50-75.png"]{background-image:url(../images/signal-50-75.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-25-50.png"]{background-image:url(../images/signal-25-50.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-0-25.png"]{background-image:url(../images/signal-0-25.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-0.png"]{background-image:url(../images/signal-0.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-none.png"]{background-image:url(../images/signal-none.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}.myIcon{font-family:design!important;font-style:normal!important;font-variant:normal!important;text-transform:none!important}.myIcon-logout:after{content:"\e005"}.myIcon-reboot:after{content:"\e02a"}.myIcon-wifi:after{content:"\e00c"}.main{top:50px;bottom:0;position:relative;height:100%;height:calc(100% - 4rem)}.main>.loading{position:fixed;width:100%;height:100%;z-index:1000;display:block;background-color:#f0f0f0;top:0}.main>.loading>span{display:block;text-align:center;margin-top:2rem;color:#888;font-size:1rem}.main>.loading>span>.loading-img:before{content:"\e603"}.main>.loading>span>.loading-img{animation:anim-rotate 2s infinite linear;margin-right:.2rem;display:inline-block}.node-main-login{text-align:center;background-color:var(--bgwhite)!important}.node-main-login .cbi-section-node>.cbi-value:nth-of-type(2n){background:0 0}.node-main-login h2{font-size:1.5rem}.node-main-login header{display:none}.node-main-login>.main>.main-left{display:none}.node-main-login>.main>.main-right{width:100%}.node-main-login>.main fieldset{padding:0!important;margin-bottom:1rem;display:inline;background:0 0;border:none;box-shadow:none;overflow:hidden}.node-main-login>.main fieldset .cbi-value-title{display:none!important}.node-main-login>.main .cbi-section{margin-top:10px!important}.node-main-login>.main .cbi-map{}.node-main-login>.main fieldset .cbi-value{}.node-main-login>.main fieldset .cbi-value-title{padding:10px 0 10px 5px!important}.node-main-login>.main .cbi-value{border:none}.node-main-login>.main .cbi-value-title{width:7rem}.node-main-login>.main #maincontent{display:flex;height:100%;text-align:center;align-items:center;align-content:center;justify-content:center}.node-main-login>.main form>div:nth-last-child(1){}.node-main-login>.main .cbi-value>*{display:inline-block!important}.node-main-login>.main .cbi-input-user,.node-main-login>.main .cbi-input-password{appearance:none;outline:0;padding:0 0 0 35px;background-repeat:no-repeat;background-position:10px 10px;background-size:18px 18px;min-width:15rem}.node-main-login>.main .cbi-input-user{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjNjI3Mzg2IiBkPSJNMTIgNGE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMS00IDQgNCA0IDAgMCAxLTQtNCA0IDQgMCAwIDEgNC00bTAgMTBjNC40Mi4wIDggMS43OSA4IDR2Mkg0di0yYzAtMi4yMSAzLjU4LTQgOC00eiIvPjwvc3ZnPg==)}.node-main-login>.main .cbi-input-password{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjNjI3Mzg2IiBkPSJNMTIgMTdhMiAyIDAgMCAwIDItMiAyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDIgMiAyIDAgMCAwIDIgMm02LTlhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yaDFWNmE1IDUgMCAwIDEgNS01IDUgNSAwIDAgMSA1IDV2MmgxbS02LTVhMyAzIDAgMCAwLTMgM3YyaDZWNmEzIDMgMCAwIDAtMy0zeiIvPjwvc3ZnPg==)}.node-main-login footer{bottom:0;position:absolute;width:100%}.navbar{overflow:hidden;position:fixed;bottom:0;width:100%;border-top:var(--navBorder);text-align:center;height:calc(50px + constant(safe-area-inset-bottom));height:calc(50px + env(safe-area-inset-bottom));background-color:var(--navbgColor);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar a{float:left;text-align:center;padding:8px 0;width:20%;text-decoration:none;max-width:100px}.cbi-map{margin-top:10px}#cbi-shadowsocksr .cbi-map-descr{display:none}.navbar a img{width:28px}@keyframes anim-rotate{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.main-left{float:left;width:18rem;background-color:var(--mainleftbgColor);overflow-x:auto;height:calc(100% - 3.5rem);position:fixed;padding-top:15px;box-shadow:0 0 4px transparent;transition:visibility 100ms,width 100ms}.main-right{width:85%;width:calc(100% - 18rem);float:right;height:100%;border-left:var(--sectionBorder)}.main-right>#maincontent{}.pull-right{position:absolute;top:-2px;right:30px;cursor:pointer}.pull-left{float:left}header>.container{margin:0;padding:0}header>.container>.brand{font-size:25px;font-family:genjyuugothic-medium;line-height:60px;color:var(--logo_color);cursor:default;display:block;width:18rem;height:60px;text-align:center;float:left;font-weight:900;letter-spacing:1px;padding:0 4.5rem;transition:.1s ease-in-out}header>.container>a[class=brand]:after{content:"";font-size:14px;font-family:Tahoma;position:absolute;top:-10px;font-weight:400!important}header>.container>.brand-hostname{font-size:14px;line-height:60px;color:#555;cursor:default;display:block;width:18rem;padding-right:10px;height:60px;text-align:left;float:left;margin-top:7px;font-weight:300;margin-left:-15px}.warning{background-color:#ff7d60!important;color:#fff}.errorbox,.alert-message{margin:0 0 10px;padding:20px;line-height:1.5;font-family:inherit;min-width:inherit;overflow:auto;border-radius:10px;color:var(--alertColor);background-color:var(--alertBackground)}.errorbox{color:#fff;background-color:#ff6767;border-radius:10px}.error{color:red}p#shadowsocksr_status{padding:3px}#maincontent>.container>div:nth-child(1).alert-message.warning>a{font:inherit;overflow:visible;text-transform:none;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;min-width:6rem;padding:.5rem 1rem;font-size:14px;line-height:1.42857143;color:#fff;background-color:#5bc0de;border-color:#46b8da;margin-top:2rem;text-decoration:inherit}.main>.main-left>.nav{overflow-y:visible!important;font-size:1rem;width:90%;margin:auto;margin-bottom:90px}.main>.main-left>.nav>li a{color:var(--activeColor);display:block;border-radius:6px;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .1s}.main>.main-left>.nav>li{cursor:pointer;padding-top:6px}.main>.main-left>.nav>.slide{padding:0;padding-top:8px}.main>.main-left>.nav>.slide>a:before{display:inline-block;left:-10px;top:1px;position:relative;font-family:design!important;font-weight:700!important;text-transform:none!important;speak:none;font-size:1.2rem!important;-webkit-font-smoothing:antialiased}.main>.main-left>.nav>.slide>.menu::after{right:.5rem;top:.8rem;font-family:design!important;font-style:normal!important;font-variant:normal!important;content:"\eb03";float:right;padding-right:5px;line-height:1.6;-moz-osx-font-smoothing:grayscale;transition:all .1s ease;text-rendering:auto;-webkit-font-smoothing:antialiased}.main .main-left .nav li.slide .menu.active::after{transform:rotate(90deg)}.main>.main-left>.nav>.slide>a[data-title=QuickStart]:before{content:"\e67e"}.main>.main-left>.nav>.slide>a[data-title=Status]:before{content:"\e6b8"}.main>.main-left>.nav>.slide>a[data-title=System]:before{content:"\e645"}.main>.main-left>.nav>.slide>a[data-title=Services]:before{content:"\e6cb"}.main>.main-left>.nav>.slide>a[data-title=Docker]:before{content:"\44"}.main>.main-left>.nav>.slide>a[data-title=NAS]:before{content:"\eb04"}.main>.main-left>.nav>.slide>a[data-title=VPN]:before{content:"\56"}.main>.main-left>.nav>.slide>a[data-title=Network]:before{content:"\72"}.main>.main-left>.nav>.slide>a[data-title="Bandwidth Monitor"]:before{content:"\e764"}.main .main-left .nav li.slide .menu[data-title=Statistics]:before{content:"\e604"}.main .main-left .nav li.slide .menu[data-title=Control]:before{content:"\e67a"}.main .main-left .nav li.slide .menu[data-title=Asterisk]:before{content:"\e7dd"}.main>.main-left>.nav>li>a[data-title="Inital Setup"]:before,.main>.main-left>.nav>li>a[data-title=NetworkGuide]:before,.main>.main-left>.nav>li>a[href="/cgi-bin/luci//admin/wizard"]:before{content:"\e719"}.main>.main-left>.nav>li>a[data-title=iStore]:before{content:"\e676"}.main>.main-left>.nav>li>a[data-title=Logout]{padding:.675rem 0 .675rem 2.5rem}.main>.main-left>.nav>li>a[data-title=Logout]:before{content:"\e641"}.main>.main-left>.nav>li>a[data-title=Reboot]{padding:6px 25px}.main>.main-left>.nav>li>a[data-title=Reboot]:before{content:"\e004"}.main>.main-left>.nav>.slide>ul{display:none;list-style:dotted}.main>.main-left>.nav>.slide>.menu{display:block;padding:.675rem 0 .675rem 2.5rem;text-decoration:none;cursor:pointer}.main>.main-left>.nav>.slide>.menu2{display:block;padding:.675rem 0 .675rem 2.5rem;text-decoration:none;cursor:pointer}.main>.main-left>.nav>li:hover,.main>.main-left>.nav>.slide>.menu:hover{background:var(--activeColor);color:#fff}.main>.main-left>.nav>.slide>.menu2:hover{background:var(--activeColor);color:#fff}.main>.main-left>.nav>.slide:hover{background:0 0}.slide-menu{overflow:hidden}.main>.main-left>.nav>.slide>.slide-menu>li{margin-top:8px;border-radius:6px}.main>.main-left>.nav>.slide>.slide-menu>.active{background-color:var(--activeColor)}.main>.main-left>.nav>.slide>.slide-menu>li>a{position:relative;display:block;color:var(--textColor);vertical-align:middle;background:0 0!important;border:none!important;text-transform:capitalize;font-size:1rem;margin:.1rem .5rem;padding:.675rem 0 .675rem 3.2rem}.main .main-left .nav li.slide .slide-menu .active a{color:#000}.main>.main-left>.nav>.slide>.slide-menu>li>a:hover{color:#fff}.main>.main-left>.nav>.slide>.slide-menu>.active>a{color:#fff}.main>.main-left>.nav>.slide>.slide-menu>li:hover{background:var(--activeColor);color:#fff!important;transition:all .1s}.main>.main-left>.nav>.slide>.slide-menu>.active:hover{background-color:var(--activeColor);cursor:pointer}.cbi-tab-descr{padding:10px}li{list-style-type:none}#maincontent>.container{margin:30px 30px 50px}h1{color:var(--activeColor);font-size:20px;padding-bottom:10px;border-bottom:1px solid #eee}h2{color:var(--activeColor);padding:0 12px 6px;text-transform:capitalize}h3{font-size:1.2rem;color:var(--activeColor);font-weight:700;padding:0 12px 10px}h4{}label{display:inline-block;vertical-align:middle}fieldset{padding:10px;border:1px;font-weight:400;font-style:normal;line-height:1;font-family:inherit;text-align:left;min-width:inherit;overflow-x:auto;overflow-y:hidden;background-color:var(--sectionbgColor);-webkit-overflow-scrolling:touch}fieldset>legend{display:none!important}fieldset>fieldset{padding:0}.panel-title{width:100%;display:block;padding:10px;font-weight:700;font-size:1rem}table{border-spacing:0;border-collapse:collapse;width:100%;border:0 solid #eee!important;margin:0!important}strong{font-weight:700;padding:2px}#lb_load01_cur,#lb_load01_peak,#lb_load05_cur,#lb_load15_cur{text-align:right!important}#lb_load01_peak{text-align:left!important}#lb_load01_cur{}table>tbody>tr>td,table>tbody>tr>th,table>tfoot>tr>td,table>tfoot>tr>th,table>thead>tr>td,table>thead>tr>th{padding:12px;white-space:nowrap;line-height:1.5;vertical-align:middle!important}.node-services-appfilter table>tbody>tr>th,.node-services-appfilter table>tbody>tr>td,.node-nlbw-usage table>tbody>tr>th,.node-nlbw-usage table>tbody>tr>td{text-align:center}table>tbody>tr{border-bottom:var(--cbilineColor)!important}table>tbody>tr:last-child{border-bottom:none!important}.cbi-section-table-cell{text-align:center}.cbi-section-table-row{text-align:center}.cbi-section-remove{margin-bottom:2px}.cbi-section-remove>input{background-color:#c06}fieldset>table>tbody>tr:nth-of-type(odd){background-color:var(--sectionbgColor2)}#lease6_status_table>tbody>.cbi-section-table-row.cbi-rowstyle-1 div,#lease6_status_table>tbody>.cbi-section-table-row.cbi-rowstyle-2 div{min-width:100%}.node-status-overview>.main fieldset:nth-child(6) td:nth-child(2),.node-status-overview table[id=wifi_status_table]>tbody>tr>td{white-space:normal}#swaptotal>div,#swapfree>div,#swapcache>div,#memfree>div,#membuff>div,#conns>div,#memcache>div,#memtotal>div{width:100%!important;border-color:var(--progressbarColor)!important;background-color:var(--progressbarColor)!important;border-radius:3px}#swaptotal>div>div,#swapfree>div>div,#swapcache>div>div,#memfree>div>div,#membuff>div>div,#conns>div>div,#memcache>div>div,#memtotal>div>div{background-color:var(--progressbar)!important;color:var(--progressbartxtColor)!important;border-radius:3px}#swaptotal div div,#swapfree div div,#swapcache div div,#memfree div div,#membuff div div,#conns div div,#memcache div div,#memtotal div div{align-items:center;align-content:center;justify-content:center;display:flex}#swaptotal div div small,#swapfree div div small,#swapcache div div small,#memfree div div small,#membuff div div small,#conns div div small,#memcache div div small,#memtotal div div small{font-size:.75rem!important;line-height:130%;color:var(--progressbartxtColor)!important}.cbi-value-field{width:65%}.node-system-admin .cbi-value-field li div{padding:0!important}.node-system-admin em{padding:0!important}.node-nlbw-display hr{display:none}.node-nlbw-display p{line-height:1.5;padding:0 10px 5px}#cbi-network .cbi-value-field ul,#cbi-wireless .cbi-value-field ul,#cbi-firewall .cbi-value-field ul{overflow-x:auto;white-space:nowrap}#cbi-network .cbi-value-field ul input[type=text],#cbi-wireless .cbi-value-field ul input[type=text],#cbi-firewall .cbi-value-field ul input[type=text]{max-width:10rem;width:100%!important}div [id*=cbi-network-] [id*=-__status] table,div [id*=cbi-wireless] [id*=-__status] table{width:auto}div [id*=cbi-network-] [id*=-__status] table td,div [id*=cbi-wireless] [id*=-__status] table td{width:auto;padding:0!important}div [id*=cbi-network-] [id*=-__status] table td small,div [id*=cbi-wireless] [id*=-__status] table td small{width:auto}.node-network-wifi .cbi-section-table tr .cbi-value-field,.node-network-wireless .cbi-section-table tr .cbi-value-field{width:unset!important;text-align:right}.node-network-wireless #iw-assoclist .cbi-section-table-row td[colspan="6"],.node-network-wireless .cbi-section-table .cbi-section-table-row td[colspan="6"],.node-network-wifi .cbi-section-table .cbi-section-table-row td[colspan="8"]{text-align:center!important}.node-network-wireless #iw-assoclist .cbi-section-table-row td div{max-width:unset!important}.node-network-wifi table,td,th{border-top:unset!important}.node-network-wifi .cbi-section-table td[colspan="2"]{padding-left:unset!important}.node-status-routes .cbi-section-node{max-height:500px;overflow-y:auto;overflow-x:auto}table table{border:none}.cbi-value-field table{border:none}.cbi-value-field label{padding:0}td>table>tbody>tr>td{border:none}.cbi-value-field>table>tbody>tr>td{border:none}#container\.nlbw\.traffic th,#container\.nlbw\.traffic td,#container\.nlbw\.layer7 th,#container\.nlbw\.layer7 td,#container\.nlbw\.ipv6 th,#container\.nlbw\.ipv6 td,#container\.nlbw\.export th,#container\.nlbw\.export td{padding:12px!important;border-top:none;border:unset;text-align:center}#container\.nlbw\.traffic tr td:nth-child(4),#container\.nlbw\.layer7 tr td:nth-child(3),#container\.nlbw\.ipv6 tr td:nth-child(4),#container\.nlbw\.export tr td:nth-child(4),#container\.nlbw\.traffic tr td:nth-child(6),#container\.nlbw\.layer7 tr td:nth-child(5),#container\.nlbw\.ipv6 tr td:nth-child(6),#container\.nlbw\.export tr td:nth-child(6){text-align:right!important}#container\.nlbw\.traffic tr td:nth-child(5),#container\.nlbw\.layer7 tr td:nth-child(4),#container\.nlbw\.ipv6 tr td:nth-child(5),#container\.nlbw\.export tr td:nth-child(5),#container\.nlbw\.traffic tr td:nth-child(7),#container\.nlbw\.layer7 tr td:nth-child(6),#container\.nlbw\.ipv6 tr td:nth-child(7),#container\.nlbw\.export tr td:nth-child(7){text-align:left!important}td#__status-ifc-signal{width:60px!important}.cbi-button{-webkit-appearance:none;text-transform:uppercase;color:#fff;background-color:#337ab7;transition:all .1s ease-in-out;display:inline-block;border:none;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto!important;min-width:80px;padding:0 8px;border-radius:var(--commonRadius0);height:35px;line-height:35px}.cbi-button:hover,.cbi-button:focus,.cbi-button:active{color:#fff;outline:0;text-decoration:none;background-color:#6a65d6}.cbi-button:hover,.cbi-button:focus{box-shadow:0 1px 1px rgba(0,0,0,.05)}.cbi-button:active{box-shadow:0 1px 1px rgba(0,0,0,.05)}.cbi-button:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}form.inline+form.inline,.cbi-button+.cbi-button{}.cbi-button-reset,.cbi-input-remove{color:#fff!important;background-color:#617486!important}.cbi-button-reset:hover,.cbi-input-remove:hover,.cbi-button-remove:hover{color:#fff!important;background-color:#536473!important}.cbi-button-link,.cbi-input-find,.cbi-input-save,.cbi-button-add,.cbi-button-save,.cbi-button-find,.cbi-input-reload,.cbi-button-reload{color:var(--bttextColor);background-color:#337ab7!important;border-color:#337ab7!important}.cbi-button-link:hover,.cbi-input-find:hover,.cbi-input-save:hover,.cbi-button-add:hover,.cbi-button-save:hover,.cbi-button-find:hover,.cbi-input-reload:hover,.cbi-button-reload:hover{color:#fff!important;background-color:#6a82ae!important;border-color:#6a82ae!important}.cbi-input-apply,.cbi-button-apply,.cbi-button-edit{color:#fff!important;background-color:var(--activeColor)}.cbi-input-reset,.cbi-button-remove{color:#fff!important;background:#617486}.a-to-btn{text-decoration:none}.tabs{margin:15px 0;overflow-x:auto}.cbi-tabmenu>li,.tabs>li{display:table-cell}.cbi-tabmenu>li{border-radius:var(--tabmenuRadius)}.tabs>li>a{text-decoration:none;padding:0 6px;float:left;display:block;white-space:nowrap;height:2.5rem;line-height:2.5rem;font-size:.92rem}.cbi-tabmenu>li>a{text-decoration:none;float:left;display:block;white-space:nowrap;height:2.5rem;line-height:2.5rem;font-size:.92rem;margin:0 10px}.tabs>li[class~=active],.tabs>li:hover{cursor:pointer}.tabs>li[class~=active]>a{color:var(--activeColor)!important;padding-bottom:8px;border-bottom:var(--activeColor) 2px solid}.tabs>li:hover{}.cbi-tabmenu{border-top:var(--sectiontabBorder);border-left:var(--tabmenuBorderLR);border-right:var(--tabmenuBorderLR);border-bottom:var(--tabmenuBottom);background-color:var(--tabmenubgColor);width:100%;overflow-x:auto;margin-top:5px;margin-bottom:10px}.cbi-tabmenu>li:hover{background-color:none}.cbi-tabmenu>li[class~=cbi-tab]{background-color:none}.cbi-tabmenu>li[class~=cbi-tab] a{color:var(--activeColor)!important;border-bottom:2px solid var(--activeColor)!important}.cbi-section-node-tabbed{margin-top:0;border-bottom:var(--sectiontabBorder);border-left:var(--sectiontabBorder);border-right:var(--sectiontabBorder);border-radius:0 0}.cbi-tabcontainer{clear:both}.cbi-tabcontainer>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor2)}.cbi-section-node>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor2)}div>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor2)}.cbi-value-field,.cbi-value-description{display:table-cell}.cbi-value-field{}.cbi-value-helpicon>img{display:none}.cbi-value-helpicon:before{content:"\f059"}.cbi-value-description{opacity:.6;padding-left:4px}.cbi-value-title{word-wrap:break-word;display:table-cell;width:35%;float:left;padding:13px 10px 5px 3px}.cbi-value{display:flex;width:100%;align-items:center;align-content:center;justify-content:flex-start;min-height:40px;padding:8px 10px;flex-flow:row wrap;border-bottom:var(--cbilineColor)}.cbi-value:last-child{border-bottom:none}.cbi-value strong{font-weight:400}.cbi-section-table-descr>.cbi-section-table-cell,.cbi-section-table-titles>.cbi-section-table-cell{border:none}.cbi-rowstyle-2{background-color:var(--sectionbgColor2)}.cbi-rowstyle-2 .cbi-button-up,.cbi-rowstyle-2 .cbi-button-down{}.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell{width:auto!important}.cbi-section-table tr .cbi-value-field{text-align:center;width:20%!important;padding:10px!important}.cbi-section-table tr .cbi-value-field input{width:auto}.cbi-section-table tr .cbi-value-field .ifacebox{margin:auto;width:fit-content;min-width:60px}.cbi-section-descr{padding:3px 10px}.cbi-map-descr{padding:5px 5px 5px 12px}.cbi-map-descr h3{font-size:.92rem;font-weight:400;color:#666}#cbi-vsftpd .cbi-map-descr{color:var(--activeColor);padding:0 12px 0;font-size:1.2rem;font-weight:700}.hidden{display:none}.left{text-align:left!important}.right{text-align:right!important}.right .cbi-button{height:20px;line-height:20px;min-width:60px;margin:0}.inline{display:inline}.cbi-page-actions{text-align:center}.cbi-value input[type=password],.cbi-value input[type=text]{}.ifacebadge{display:inline-flex;padding:5px;background-color:var(--badgebgColor);align-content:center;align-items:center;border-radius:var(--commonRadius1);border:var(--badgeBorder);color:#666}#content_syslog{padding:5px;margin-top:10px;border-radius:10px;background-color:var(--sectionbgColor);box-shadow:3px 3px 3px transparent}.ifacebadge>img{float:right;margin-left:.3rem}img.cbi-image-button{vertical-align:middle}fieldset.cbi-section{border:var(--sectionBorder);margin-bottom:20px;border-radius:10px;margin-top:5px}.cbi-input-textarea,textarea{color:var(--inputtextColor);padding:10px;line-height:normal;border:var(--sectionBorder);background-color:var(--inputbgColor);transition:color 150ms ease,border-color 150ms ease,opacity 150ms ease;-webkit-transition:color 150ms ease,border-color 150ms ease,opacity 150ms ease;outline-style:none;vertical-align:baseline;border-radius:10px;font-family:Menlo,Mono;font-size:.9rem;white-space:pre;margin-bottom:5px}#syslog{width:100%;min-height:15rem;padding:10px;margin-bottom:20px;border-radius:0;background-color:var(--sectionbgColor);border:none}#wan4_i,#wan6_i{width:50px!important}.uci-change-list{font-family:monospace}.uci-change-list *:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.uci-change-list *:nth-last-child(2){border-bottom-left-radius:5px;border-bottom-right-radius:5px}.uci-change-list ins,.uci-change-legend-label ins{text-decoration:none;border:1px solid #0f0;background-color:#cfc;display:block;padding:2px;color:#000;overflow-x:auto}.uci-change-legend .uci-change-legend-label ins{overflow-x:unset;border-radius:var(--commonRadius1)}.uci-change-list del,.uci-change-legend-label del{text-decoration:none;border:1px solid red;background-color:#fcc;display:block;font-style:normal;padding:2px;color:#000;overflow-x:auto}.uci-change-legend .uci-change-legend-label del{overflow-x:unset;border-radius:var(--commonRadius1)}.uci-change-list var,.uci-change-legend-label var{text-decoration:none;border:1px solid #ccc;background-color:#eee;display:block;font-style:normal;padding:2px;color:#000;overflow-x:auto}.uci-change-legend .uci-change-legend-label var{overflow-x:unset;border-radius:var(--commonRadius1)}.uci-change-list var ins,.uci-change-list var del{border:none;white-space:pre;font-style:normal;padding:0;color:#000;overflow-x:auto}.uci-change-legend{padding:5px}.uci-change-legend-label{width:150px;float:left;display:flex;align-items:center}.uci-change-legend-label>ins,.uci-change-legend-label>del,.uci-change-legend-label>var{float:left;margin-right:4px;width:10px;height:10px;display:block}.uci-change-legend-label var ins,.uci-change-legend-label var del{border:none;height:10px;width:10px}.uci-change-list var,.uci-change-list del,.uci-change-list ins{padding:.5rem}#iwsvg,#iwsvg2,#bwsvg{border:var(--sectionBorder)!important;font-family:-apple-system;background:0 0!important}.ifacebox{border:var(--ifaceboxBorderColor) 1px solid;border-radius:var(--commonRadius1);font-size:.92rem;font-weight:400}.ifacebox-head{color:#fff}.ifacebox-body small{font-size:.8rem!important;padding:5px}.ifacebox-body strong{color:#f7f7f7;font-size:0!important}.cbi-image-button{}.zonebadge>.ifacebadge{padding:3px 5px;margin:5px}.zonebadge>input[type=text]{padding:.16rem 1rem;min-width:10rem;margin-top:.3rem}.cbi-value-field .cbi-input-checkbox,.cbi-value-field .cbi-input-radio{vertical-align:middle}.cbi-section-table-row>.cbi-value-field .cbi-input-select{min-width:7rem}.cbi-section-create{padding:0 10px}.cbi-section-create>.cbi-button-add{margin:10px 0}div.cbi-value var,td.cbi-value-field var{font-style:italic;color:#0069d6}small{font-size:small;font-weight:400!important;white-space:normal}.cbi-button-up,.cbi-button-down{display:inline-block;min-width:0;font-size:.9rem}.cbi-optionals{padding:1rem 1rem 0;border-top:1px solid #ccc}#diag-rc-output>pre{display:block;padding:10px;line-height:1.5rem;-moz-border-radius:3px;white-space:pre-wrap;word-wrap:break-word;color:#76838f}input[name=ping],input[name=traceroute],input[name=nslookup]{width:80%}table.cbi-section-table select{width:auto!important}header>.container>.pull-right>*{}#xhr_poll_status>.label.success{padding:.7rem 0;border-radius:20px}#xhr_poll_status_off{padding:.7rem 0;border-radius:20px}.label{padding:0 3px;white-space:nowrap;border-radius:3px;position:absolute;right:5px;top:15px;line-height:150%}.notice{color:var(--activeColor);font-size:.8rem;padding-right:.5rem;border-radius:10px;z-index:10;font-size:1.8rem;font-family:design}#refresh_on,#refresh_off{font-size:1.5rem;font-family:design}#refresh_on{color:var(--activeColor)}#refresh_off{color:var(--progressbarColor)}.darkMask{width:100%;height:100%;position:fixed;background-color:rgba(0,0,0,.56);content:"";z-index:99;display:none}.node-services-shadowsocksr .cbi-input-textarea,.node-nlbw-config .cbi-input-textarea{}.node-services-shadowsocksr #cbi-logview .cbi-section{padding:0}.node-network-diagnostics .cbi-section{border-radius:10px}.node-status-processes>.main table tr td:nth-child(3){white-space:normal}.cbi-map fieldset h3{}.cbi-map fieldset ul li{margin-right:0!important}.node-system-reboot>.main>.main-right p,.node-system-reboot>.main>.main-right h3{margin-left:12px}.node-system-reboot #maincontent{}.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title{margin-bottom:1rem}.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-field{display:list-item}.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-description{padding-top:1rem;line-height:150%}.node-system-packages>.main table tr td:nth-child(1){width:auto!important}.node-system-packages .cbi-section-node .cbi-value-last{}.node-system-packages .cbi-section-node .cbi-value-last>div{border:none!important;border-radius:3px}.node-system-packages .cbi-section-node .cbi-value-last>div>div{border:none!important;border-radius:3px}.node-system-packages .cbi-section-node .cbi-value-last:nth-last-child(1){padding:auto}.node-system-packages>.main table tr td:nth-last-child(1){white-space:normal;font-size:small;color:#76838f}.node-system-packages>.main .cbi-value>pre{padding:10px;overflow:auto;border-radius:10px}.node-system-packages #cbi-distfeedconf .cbi-section,.node-system-packages #cbi-customfeedconf .cbi-section{border-radius:10px}.node-system-packages .cbi-value-field{width:58%}#container\.nlbw\.traffic,#container\.nlbw\.layer7,#container\.nlbw\.ipv6,#container\.nlbw\.export{margin-top:0;margin-top:0;padding:10px;text-align:center;border-bottom:var(--sectionBorder);border-left:var(--sectionBorder);border-right:var(--sectionBorder);border-radius:10px}#container\.nlbw\.export ul li{padding:5px;width:150px;margin:10px;border-radius:var(--commonRadius1);border:#ccc 1px solid}.cbi-tabmenu+.cbi-section ul{text-align:left}.node-network-firewall>.main .cbi-section-table-row>.cbi-value-field .cbi-input-select{min-width:4rem}.node-status-iptables>.main div>.cbi-map>form{position:static!important;margin:10px 0 20px;padding:12px;border:0;font-weight:400;font-style:normal;line-height:1;font-family:inherit;min-width:inherit;overflow-x:auto;overflow-y:hidden;box-shadow:3px 3px 3px transparent;border-radius:10px;background-color:var(--bgwhite);-webkit-overflow-scrolling:touch}.node-system-flashops fieldset fieldset{border:none}.node-system-flashops br{display:none}.node-system-flashops .cbi-section{}.node-system-flashops .cbi-section-descr{padding:12px;line-height:1.5;border-radius:6px}.node-status-iptables .cbi-tabmenu,.node-system-packages .cbi-tabmenu,.node-system-flashops .cbi-tabmenu{}#cbi-firewall-redirect .cbi-section-table-titles .cbi-section-table-cell{text-align:left}#cbi-firewall-redirect table *,#cbi-network-switch_vlan table *,#cbi-firewall-zone table *{font-size:small}#cbi-firewall-redirect table input[type=text],#cbi-network-switch_vlan table input[type=text],#cbi-firewall-zone table input[type=text]{width:5rem}#cbi-firewall-redirect table select,#cbi-network-switch_vlan table select,#cbi-firewall-zone table select{min-width:3.5rem}.node-status-realtime table>tbody>tr>td{text-align:left!important;padding:10px 3px}.node-status-realtime table[id=connections]>tbody>tr>td{padding:10px 3px;text-align:center!important}.node-status-realtime table{table-layout:auto!important}.node-status-realtime fieldset[id=cbi-table-table]{background-color:unset!important}.node-status-realtime fieldset[id=cbi-table-table]>table>tbody>tr:nth-of-type(odd),.node-status-realtime fieldset[id=cbi-table-table] table[id=connections] tr.cbi-section-table-row.cbi-rowstyle-2{background-color:unset}.node-services-appfilter .cbi-section.cbi-tblsection,.node-nas-fileassistant #list-content,.node-status-realtime fieldset[id=cbi-table-table] .cbi-section-node{overflow:auto}select#cbi\.combobox\.cbid\.shadowsocksr\.cfg013fd6\.tunnel_forward{overflow:hidden}body.lang_pl.node-main-login .cbi-value-title{width:12rem}#detail-bubble{width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:19rem!important;width:calc(100vw - 21.25rem)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}@media screen and (max-width:1280px){header{}header>.container{}.main{height:calc(100% - 3.5rem)}.main-left{width:calc(0% + 18rem);top:50px}.main-right{width:calc(100% - 18rem)}table{font-size:.9rem!important;width:100%!important}.main>.main-left>.nav>li,.main>.main-left>.nav>li a,.main>.main-left>.nav>.slide>.menu{font-size:1.1rem}.main>.main-left>.nav>.slide>.slide-menu>li>a{font-size:1rem;text-transform:capitalize}img[src*="/luci-static/resources/cbi/add.gif"]{right:55px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/remove.gif"]{right:55px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/reload.gif"]{right:55px;display:block;position:absolute;margin-top:-34px}#detail-bubble{width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:19rem!important;width:calc(100vw - 21.25rem)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}.node-nlbw-usage table{display:block;overflow:auto}#container\.nlbw\.traffic table,#container\.nlbw\.layer7 table,#container\.nlbw\.ipv6 table,#container\.nlbw\.export table{display:block;overflow:auto}}@media screen and (max-width:992px){.main-left{width:0;position:fixed;z-index:100}.main-right{width:100%}.showSide{margin:0;padding:0;display:inline-block;position:absolute;width:300px;height:50px;padding:1.15rem 2rem}.showSide:before{content:"\e20e";font-size:1.7rem}#maincontent>.container{margin:20px}.node-main-login .showSide{display:none!important}.cbi-value-title{width:35%}.node-network-diagnostics>.main .cbi-map fieldset>div *{width:100%!important}.node-network-diagnostics>.main .cbi-map fieldset>div input[type=text]{}.node-network-diagnostics>.main .cbi-map fieldset>div:nth-child(4) input[type=text]{margin:0!important}.node-network-diagnostics>.main .cbi-map fieldset>div select,.node-network-diagnostics>.main .cbi-map fieldset>div input[type=button]{margin:1rem 0 0}.node-network-diagnostics>.main .cbi-map fieldset>div{width:100%!important}.node-main-login>.main .cbi-value-title{text-align:left}img[src*="/luci-static/resources/cbi/add.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/remove.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/reload.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}header{box-shadow:0 2px 4px rgba(0,0,0,.08)}}@media screen and (max-width:700px){#cbi-vssr-servers .cbi-button-add{position:static!important;width:auto!important;height:2rem!important;line-height:2rem!important;color:#fff;display:block;padding:0!important;font-size:.92rem;border-radius:10px!important;box-shadow:none;background-image:none}#cbi-vssr-servers .cbi-section-table-row{margin:10px 0!important}#cbi-vssr-servers .p-in5{padding-bottom:10px!important;margin:0!important}#cbi-vssr-servers .cbi-page-actions{padding-bottom:10px!important}#maincontent>.container{margin:20px}#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}}@media screen and (max-width:470px){#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:block;overflow:auto}.main-right>#maincontent{overflow:auto}div [id*=cbi-network-] [id*=-__status] table td,div [id*=cbi-wireless] [id*=-__status] table td{white-space:normal}.node-system-leds .cbi-section em,.node-network-network #cbi-network .cbi-map .cbi-section-table cbi-section-table-row,.node-network-network #cbi-network .cbi-map .cbi-section-table td{display:block}.node-network-network #cbi-network .cbi-map .cbi-section-table td{width:100%!important;text-align:center!important;white-space:normal}.node-network-network #cbi-network .cbi-map .cbi-button{min-width:60px!important}.node-network-network .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell{flex:1!important}.node-network-network .cbi-section-table .cbi-section-table-titles th:nth-child(2){text-align:center!important}.node-network-network .cbi-section-table .cbi-section-table-titles{display:flex}.node-network-wireless fieldset:nth-child(1) table>tbody>tr>td,.node-network-wireless fieldset:nth-child(2) table>tbody>tr>td{white-space:normal}}@media screen and (max-width:370px){fieldset{}select{width:100%}header{height:55px}h3{padding:0 10px 10px}.showSide{height:45px}#maincontent>.container{margin:20px}.main{top:45px}.main-left{top:45px}.main>.main-left>.nav>.slide>.menu{}.main>.main-left>.nav>.slide>.slide-menu>li>a{}.cbi-value{margin-bottom:20px;display:table;padding:0;border-bottom:none}.cbi-value-title{width:100%;font-weight:700;float:left;padding:0;margin:0;margin-bottom:.25rem}.cbi-section-node{padding:10px!important}.cbi-value-description{width:100%;display:block}.cbi-value>.cbi-value-field{display:block;float:left;width:100%}img[src*="/luci-static/resources/cbi/add.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/remove.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/reload.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}.cbi-section-node>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor)}.cbi-tabcontainer>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor)}div>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor)}.node-main-login>.main .cbi-value{padding:0}.node-main-login>.main form>div:nth-last-child(1){margin-top:2rem}.node-main-login>.main fieldset{margin:0;padding:.5rem}#container\.network\.lan\.physical .cbi-value-title,#cbi-network-1-_ifname .cbi-value-title{width:35%}#cbi-network-1-_ifname .cbi-value-field{width:65%}h2{font-size:1.2rem;text-transform:capitalize}select,input{}input[type=checkbox]{height:1.2rem!important;width:1.2rem!important}#swaptotal div div small,#swapfree div div small,#swapcache div div small,#memfree div div small,#membuff div div small,#conns div div small,#memcache div div small,#memtotal div div small{}#swaptotal div div,#swapfree div div,#swapcache div div,#memfree div div,#membuff div div,#conns div div,#memcache div div,#memtotal div div{}.node-status-iptables>.main div>.cbi-map>form input[type=submit]{margin:0}#cbi-samba-cfg010f89-_tmpl .cbi-value-title{width:15%}#cbi-samba-cfg010f89-_tmpl .cbi-value-field{width:95%}#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:block;overflow:auto}}@media screen and (max-width:315px){.label{position:absolute;right:5px;top:-70px}}#intervalSelect{height:40px!important}.commandbox div{position:unset!important}#cbi-netspeedtest-homebox-{display:unset!important}.node-status-realtime .container{overflow:auto}.node-network-network div[onclick*="document.getElementById('cbid.network."],#cbi-network div[onclick*="document.getElementById('cbid.network."]{background-color:unset!important}form[action="/cgi-bin/luci/admin/network/wireless"] input[class="cbi-button cbi-button-reset"],form[action="/cgi-bin/luci/admin/network/wireless_join"] input[class="cbi-button cbi-input-find"]{height:25px;min-width:80px}.node-services-aliyundrive-webdav #mask-box{background:transparent}.node-services-ddns #cbi-ddns-service input{width:unset}.node-services-ddns .cbi-value input[type=password],.node-services-ddns .cbi-value input[type=text]{width:100%!important}.fb-container .cbi-button{border-radius:var(--commonRadius0);margin:3px 3px 3px 0;height:unset!important}.node-system-commands h3{text-transform:unset}.node-system-commands .commandbox{width:auto;display:inline-block;float:none}.node-system-commands .commandbox p{word-break:keep-all;white-space:nowrap}.node-system-commands div.cbi-map fieldset.cbi-section{align-items:center;text-align:center}.node-system-commands #cbi-luci.cbi-map fieldset.cbi-section{align-items:unset;text-align:unset}.node-network-network .ifacebox strong{color:var(--ifaceboxFontColor);padding:5px}.node-network-firewall .zonebadge strong,.node-network-firewall label strong{color:var(--ifaceboxFontColor)}.node-services-openclash ul li.selected{background-color:var(--liSelectedColor)!important}.node-services-openclash .cbi-button-reset,.node-services-openclash .cbi-input-remove{max-width:unset!important}.node-services-openclash #tab-header ul li.selected,.node-services-openclash #tab-header ul li{color:#000!important;background-color:unset!important}.node-nas-qbittorrent p#qBittorrent_status input{line-height:unset}.node-system-diskman.dialog-format-active #dialog_format .dialog_box{background:var(--alertBackground);border-radius:var(--commonRadius1)}.node-services-watchcat-plus select[id*="cbi.opt.watchcat"]{width:auto}.node-nas-fileassistant .fb-container .cbi-value-owner,.node-nas-fileassistant .fb-container .cbi-value-perm{display:table-cell}.node-services-adguardhome input[onclick*="window.open('http://'+window.location.hostname+':"]{line-height:0} + }[data-theme=light]{--bg: #f1f4f5;--mainbg: #fff;--bgwhite: #fff;--activeColor: #5ea69b;--activeBottom: #5ea69b 2px solid;--textColor: rgb(132,119,116);--borderColor: rgba(0,0,0,.15);--navbgColor: rgba(255, 255, 255, .7);--navBorder: 1px solid #f2f2f2;--sectionbgColor: #fff;--sectionbgColor2: #fff;--sectionShaddow: 3px 3px 3px rgba(0,0,0,.05);--sectionBorder: none;--sectiontabBorder: none;--tabmenuBorderLR: none;--tabmenubgColor: none;--tabmenuBottom: #e4eaec 1px solid;--tabmenuRadius: 6px 6px 0 0;--sectionnodeBorder: #f7f7f7 1px solid;--cbilineColor: #f7f7f7 1px solid;--tabbgColor: #fff;--inputbgColor: #f8f8f8;--inputtextColor: #76838f;--inputBorder: 1px solid #e4eaec;--mainleftbgColor: rgb(255,255,255);--bttextColor: #fff;--badgebgColor: #f7f7f7;--badgeBorder: #e4eaec 1px solid;--progressbarColor: #c8c8c8;--progressbar: #5ea69b;--progressbartxtColor: #fff;--logo_color: #222b36;--alertColor: #000000;--alertBackground: rgb(230 230 230);--scrollbarColor:#c5c5c5;--ifaceboxBorderColor: #b8b8b8bd;--ifaceboxFontColor: #404040;--liSelectedColor: #c5c5c5;--vssrStatusColor: #525f7f;--vssrBoxShadow: 0 0 2rem 0 rgb(136 152 170 / 30%)}[data-theme=dark]{--bg: #000;--bgwhite: #000;--textColor: #fefefe;--activeColor: #5ea69b;--activeBottom: #5ea69b 2px solid;--borderColor: #2C2C3A;--navbgColor: hsla(0, 0%, 7%, .8);--navBorder: 1px solid #1c1c1e;--sectionbgColor: #1c1c1e;--sectionbgColor2: #1c1c1e;--sectionShaddow: 3px 3px 3px rgba(0,0,0,.05);--sectionBorder: none;--sectiontabBorder: none;--sectionnodeBorder: #3d3d41 1px solid;--cbilineColor: #2d2d2d 1px solid;--tabbgColor: #1c1c1e;--tabmenuBorderLR: none;--tabmenubgColor: none;--tabmenuBottom: #2d2d2d 1px solid;--tabmenuRadius: 6px 6px 0 0;--inputbgColor: #2f2f2f;--inputtextColor: #fefefe;--inputBorder: 1px solid #4d4d4d;--mainleftbgColor: #000;--bttextColor: #fefefe;--badgebgColor: #fefefe;--badgeBorder: #3d3d40 1px solid;--progressbarColor: #6d6d6d;--progressbar: #5ea69b;--progressbartxtColor: #fefefe;--logo_color: #fefefe;--alertColor: #ffffff;--alertBackground: rgb(30 30 30);--scrollbarColor:#2f2f2f;--ifaceboxBorderColor: #636363bd;--ifaceboxFontColor: #404040;--liSelectedColor: #2f2f2f;--vssrStatusColor: rgb(204, 204, 204);--vssrBoxShadow: 0 0 1rem 0 rgb(0 0 0 / 30%)}@font-face{font-family:icomoon;src:url(../fonts/font.eot);src:url(../fonts/font.eot) format('embedded-opentype'),url(../fonts/font.ttf) format('truetype'),url(../fonts/font.woff) format('woff'),url(../fonts/font.svg) format('svg');font-weight:400;font-style:normal}@font-face{font-family:design;src:url('');src:url(?#iefix) format('embedded-opentype'),url(../fonts/iconfont-Regular.woff2) format('woff2'),url(../fonts/iconfont-Regular.woff) format('woff'),url(../fonts/iconfont-Regular.ttf) format('truetype'),url(#iconfont) format('svg')}@font-face{font-family:genjyuugothic-medium;src:url(../fonts/GenJyuuGothic-Medium.otf) format('opentype')}*::-webkit-scrollbar{width:5px;height:5px}*::-webkit-scrollbar-thumb{background:var(--scrollbarColor);border-radius:2px}div{font-family:hyk2gj}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,microsoft yahei!important;font-size:.92rem;line-height:150%;background-color:var(--bg);color:var(--textColor)}body div{line-height:150%}a{color:var(--textColor);text-decoration:none}em{font-style:normal!important;line-height:1.5;padding-left:10px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}select{overflow:hidden!important;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:0 25px 0 10px!important;background-size:24px 16px;background-repeat:no-repeat;background-position:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABGCAYAAAA6hjFpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LmRhYmFjYmIsIDIwMjEvMDQvMTQtMDA6Mzk6NDQgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDNzA0QUE0NjE2QTExRUNCMjJFQkQyRkIyNURDNjE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDNzA0QUEzNjE2QTExRUNCMjJFQkQyRkIyNURDNjE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMi41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzNBNTYzNTY2MTUxMTFFQ0IyMkVCRDJGQjI1REM2MTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzNBNTYzNTc2MTUxMTFFQ0IyMkVCRDJGQjI1REM2MTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6YjzxlAAACsklEQVR42uyaXUsVURSG51T0U/obfUvhhYF0U0HQhZQVIWVJCAkiSUXfRRcaBFbXQVBBRCASFCJBpQQipw+RREkpCa9aG95gs0DMOp6Z7TwvvAxnzczaa6/nzDnzVTndfSVDxdE6WgAQBBCAIIAABAEEIAggAEEAQQABCAIIQBBAAIIAAhAEEAQQgCCAAAStGSAbzA/N+wvSiwPmB6or16bkoY2afLN5r+q4l2MfDpr7zetV2z7zYpmOkAHByNSE0IxDOdUSxr2rOjLVNVC2n6z77hsYmtFnbqlzHS0aN+7DouorFZBH+ibGUCrmO+YjdaqhVeNVHIxm1Ve6P/XH5ibzLwfllvn4Ko8d8t90MEIde1RXaU97n6oJCw7KNXPbKo3ZpvwxjAXV8YTrkCx7piPFQ7lsbq/xWO3K62E0qQ4uDKXn5kbzTxe/YO6o0Rgdypc5GI0anyt1p5fm3eYfLn7e3PmfuTuVJ1YYZ5fG5Up9CQ2qSfMu3m3u+secXdo/1rzGGeTWyfIaUrPmXPycuWeFuXq0X6w55R8q4NwLe3PxlXmn+buLnzX3/mWOXm0fK+RrUP4MICvTG/MO86yLnzFfWmbfi9ou1qzyvS7wnAt/+31YTZxx8ZPmq+709c/pcoifcvEZ5Rku+HyTeB4yYt5unnbxE+YbEZSwvK54rGntP5LAXJN5QPXWvNX8zcWPmm9rHmF5zK0P22/T/hlAaqv35i3mKRc/bB7VMtaUIL5LaI7JPcIdVZMnXXyT+zyp7T4kNr8kn6mPqdlfllj/VevHEpxbsi85fNTP1ycX/2zerPUZQOqrcUGp6nNVMMYTnlPyrwFNCMILLScSn0++r7zUSFVdZ6wJ8aIcQBBAAIIAAhAEEIAggAAEAQQBBCAIIABBAAEIAghAEEAQQJLQbwEGAK/reX2gh5gQAAAAAElFTkSuQmCC)}select,input{color:var(--inputtextColor);padding:5px 10px;font-size:.92rem;font-family:-apple-system,microsoft yahei,sans-serif,Helvetica,Arial,sans-serif;border:var(--inputBorder);background-color:var(--inputbgColor);transition:color 100ms ease,border-color 100ms ease,opacity 100ms ease;-webkit-transition:color 100ms ease,border-color 100ms ease,opacity 100ms ease;outline-style:none;vertical-align:middle;border-radius:var(--commonRadius0);margin:3px 3px 3px 0;height:2.8rem;line-height:2.8rem;max-width:550px}select:not([multiple=multiple]):focus,input:focus{border-color:#948fe1;box-shadow:0 0 6px #948fe1;-webkit-box-shadow:0 0 6px #948fe1;-moz-box-shadow:0 0 6px #948fe1}input[type=file]{border:none;background:0 0;height:auto;line-height:1rem}input[type=checkbox]{height:1.2rem;width:1.2rem}input[type=radio]{height:1.2rem;width:1.2rem;box-shadow:var(--bg)}select[multiple=multiple]{height:auto}.node-docker-images input[type=text]{width:auto!important}input[type=text],input[type=password]{width:100%}code{color:#09c}abbr{text-decoration:underline;cursor:help}br{display:block;margin-bottom:.2px;content:''}hr{margin:1rem 0;border-color:#eee;opacity:.1}header,.main{width:100%;position:absolute}header{background-color:var(--bgwhite);box-shadow:18rem 2px 4px rgba(0,0,0,.08);transition:box-shadow .1s;height:55px;float:left;position:fixed;z-index:101}footer{text-align:right;padding:1rem;color:#aaa;font-size:11px;height:80px;visibility:hidden}footer>a{color:#9a258f;text-decoration:none}text,line{font-family:Verdana!important}.cbi-button-up,.cbi-button-down,.cbi-value-helpicon,.showSide,.main>.loading>span{font-family:icomoon!important;font-size:10px;speak:none;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.node-services-passwall2 #cbi-passwall2{text-align:center}.node-services-passwall2 input.cbi-button.cbi-button{max-width:unset}.node-services-passwall #set_node_div,.node-services-passwall2 #set_node_div,.node-services-passwall #add_link_div,.node-services-passwall2 #add_link_div{background:var(--sectionbgColor);border-radius:var(--commonRadius0)}.node-services-passwall #add_link_div #nodes_link,.node-services-passwall2 #add_link_div #nodes_link{width:100%!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:-apple-system,microsoft yahei;font-weight:600;line-height:1.1;color:inherit;clear:both;text-transform:capitalize}label.zonebadge.zonebadge-empty{background-color:#03abe8!important}label.zonebadge{border-radius:var(--commonRadius1);padding:2px 5px!important;display:inline-block;cursor:pointer;color:#666}.zonebadge{border-radius:6px;padding:5px}.zonebadge em{padding:3px}svg{background-color:var(--sectionbgColor)}.cbi-section .cbi-section{margin:10px}.node-services-vssr .status-bar{bottom:calc(var(--vssrBottom) + constant(safe-area-inset-bottom));bottom:calc(var(--vssrBottom) + env(safe-area-inset-bottom));background-color:var(--navbgColor);box-shadow:var(--vssrBoxShadow)!important;color:var(--vssrStatusColor)!important}.node-services-vssr .container{padding-bottom:calc(var(--vssrBottom) + constant(safe-area-inset-bottom));padding-bottom:calc(var(--vssrBottom) + env(safe-area-inset-bottom))}.node-services-vssr .ssr-button{min-width:30px}.node-services-vssr #cbi-vssr .panel-title{padding:10px 0 10px 10px!important;letter-spacing:0!important}.node-services-vssr .status .block{border-radius:10px!important;box-shadow:none!important;background-color:var(--sectionbgColor)!important}.node-services-vssr button{border-radius:10px!important}#cbi-vssr-servers .cbi-section-table-row{position:relative;margin:10px!important;padding:8px 15px 8px 70px;box-shadow:none!important;border-radius:10px!important;border:0;color:var(--textColor)!important;text-align:left;line-height:1.7em;overflow:hidden;letter-spacing:normal;background-color:var(--inputbgColor)!important}.cbi-section-table-row.fast{background-color:#add8e6!important}.incon .tp{text-transform:uppercase;color:var(--bg)!important}::file-selector-button{transition:all .1s ease-in-out;border-radius:var(--commonRadius1);border:3px solid #337ab7!important;color:#fff!important;background-color:#337ab7!important;box-sizing:border-box;cursor:pointer}::file-selector-button:hover,::file-selector-button:focus,::file-selector-button:active{color:#fff!important;background-color:#6a65d6!important;border-color:#6a65d6!important}img[src*="/luci-static/resources/icons/port_up.png"]{background-image:url(../images/port_up.png);background-size:32px 32px;height:32px;padding:0 0 0 32px;width:0}img[src*="/luci-static/resources/icons/port_down.png"]{background-image:url(../images/port_down.png);background-size:32px 32px;height:32px;padding:0 0 0 32px;width:0}#wan4_i img[src*="/luci-static/resources/icons/ethernet.png"],#wan6_i img[src*="/luci-static/resources/icons/ethernet.png"],img[src*="/luci-static/resources/icons/ethernet.png"]{background-image:url(../images/ethernet.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/ethernet.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/ethernet.png"],.ifacebadge img[src*="/luci-static/resources/icons/ethernet.png"],li img[src*="/luci-static/resources/icons/ethernet.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/ethernet.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/ethernet_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/ethernet_disabled.png"],img[src*="/luci-static/resources/icons/ethernet_disabled.png"]{background-image:url(../images/ethernet_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/ethernet_disabled.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/ethernet_disabled.png"],.ifacebadge img[src*="/luci-static/resources/icons/ethernet_disabled.png"],li img[src*="/luci-static/resources/icons/ethernet_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/ethernet_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/switch.png"],#wan6_i img[src*="/luci-static/resources/icons/switch.png"],img[src*="/luci-static/resources/icons/switch.png"]{background-image:url(../images/switch.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/switch.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/switch.png"],.ifacebadge img[src*="/luci-static/resources/icons/switch.png"],li img[src*="/luci-static/resources/icons/switch.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/switch.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/switch_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/switch_disabled.png"],img[src*="/luci-static/resources/icons/switch_disabled.png"]{background-image:url(../images/switch_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/switch_disabled.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/switch_disabled.png"],.ifacebadge img[src*="/luci-static/resources/icons/switch_disabled.png"],li img[src*="/luci-static/resources/icons/switch_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/switch_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/wifi.png"],#wan6_i img[src*="/luci-static/resources/icons/wifi.png"],img[src*="/luci-static/resources/icons/wifi.png"]{background-image:url(../images/wifi.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/wifi.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/wifi.png"],.ifacebadge img[src*="/luci-static/resources/icons/wifi.png"],li img[src*="/luci-static/resources/icons/wifi.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/wifi.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/wifi_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/wifi_disabled.png"],img[src*="/luci-static/resources/icons/wifi_disabled.png"]{background-image:url(../images/wifi_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}#cbi-network-lan-ifname_multi img[src*="/luci-static/resources/icons/wifi_disabled.png"],#cbi-network-1-_ifname img[src*="/luci-static/resources/icons/wifi_disabled.png"],.ifacebadge img[src*="/luci-static/resources/icons/wifi_disabled.png"],li img[src*="/luci-static/resources/icons/wifi_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/wifi_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/vlan.png"],#wan6_i img[src*="/luci-static/resources/icons/vlan.png"],img[src*="/luci-static/resources/icons/vlan.png"]{background-image:url(../images/vlan.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/vlan.png"],li img[src*="/luci-static/resources/icons/vlan.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/vlan.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/vlan_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/vlan_disabled.png"],img[src*="/luci-static/resources/icons/vlan_disabled.png"]{background-image:url(../images/vlan_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/vlan_disabled.png"],li img[src*="/luci-static/resources/icons/vlan_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/vlan_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/bridge.png"],#wan6_i img[src*="/luci-static/resources/icons/bridge.png"],img[src*="/luci-static/resources/icons/bridge.png"]{background-image:url(../images/bridge.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/bridge.png"],li img[src*="/luci-static/resources/icons/bridge.png"]{background-image:url(../images/bridge.png);background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px;width:0}#__status-ifc-signal img[src*="/luci-static/resources/icons/bridge.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/bridge_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/bridge_disabled.png"],img[src*="/luci-static/resources/icons/bridge_disabled.png"]{background-image:url(../images/bridge_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/bridge_disabled.png"],li img[src*="/luci-static/resources/icons/bridge_disabled.png"]{background-image:url(../images/bridge_disabled.png);background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px;width:0}#__status-ifc-signal img[src*="/luci-static/resources/icons/bridge_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/tunnel.png"],#wan6_i img[src*="/luci-static/resources/icons/tunnel.png"],img[src*="/luci-static/resources/icons/tunnel.png"]{background-image:url(../images/tunnel.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/tunnel.png"],li img[src*="/luci-static/resources/icons/tunnel.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/tunnel.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}#wan4_i img[src*="/luci-static/resources/icons/tunnel_disabled.png"],#wan6_i img[src*="/luci-static/resources/icons/tunnel_disabled.png"],img[src*="/luci-static/resources/icons/tunnel_disabled.png"]{background-image:url(../images/tunnel_disabled.png);background-size:32px 32px;height:32px;width:32px;padding:0 0 0 32px;width:0}.ifacebadge img[src*="/luci-static/resources/icons/tunnel_disabled.png"],li img[src*="/luci-static/resources/icons/tunnel_disabled.png"]{background-size:16px 16px;height:16px;width:16px;padding:0 0 0 16px}#__status-ifc-signal img[src*="/luci-static/resources/icons/tunnel_disabled.png"]{background-size:32px 32px!important;height:32px!important;width:32px!important;padding:0 0 0 32px!important;width:0}img[src*="/luci-static/resources/icons/wifi_big.png"]{background-image:url(../images/wifi_big.png);background-size:64px 64px;height:64px;padding:0 0 0 64px;width:0}img[src*="/luci-static/resources/icons/wifi_big_disabled.png"]{background-image:url(../images/wifi_big_disabled.png);background-size:64px 64px;height:64px;padding:0 0 0 64px;width:0}img[src*="/luci-static/resources/icons/loading.gif"]{background-image:url(../images/loading.gif);background-size:20px 20px;height:20px;width:20px;padding:0 0 0 20px;width:0}.ifacebox-body img{background-size:20px 20px;width:20px!important;height:20px!important;padding:0 0 0 20px!important}.ifacebox-head{border-radius:4px 4px 0 0}img[src*="/luci-static/resources/cbi/add.gif"]{background-image:url(../images/add.png);background-size:20px 20px;height:20px;padding:0 0 0 20px;width:0;z-index:2}img[src*="/luci-static/resources/cbi/remove.gif"]{background-image:url(../images/remove.png);background-size:20px 20px;height:20px;padding:0 0 0 20px;width:0;z-index:2}img[src*="/luci-static/resources/cbi/reload.gif"]{background-image:url(../images/reload.png);background-size:20px 20px;height:20px;padding:0 0 0 20px;width:0;z-index:2}img[src*="/luci-static/resources/icons/signal-75-100.png"]{background-image:url(../images/signal-75-100.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-50-75.png"]{background-image:url(../images/signal-50-75.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-25-50.png"]{background-image:url(../images/signal-25-50.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-0-25.png"]{background-image:url(../images/signal-0-25.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-0.png"]{background-image:url(../images/signal-0.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}img[src*="/luci-static/resources/icons/signal-none.png"]{background-image:url(../images/signal-none.png);image-rendering:pixelated;background-size:24px 24px;height:24px;width:24px;padding:0 0 0 24px;z-index:2}.myIcon{font-family:design!important;font-style:normal!important;font-variant:normal!important;text-transform:none!important}.myIcon-logout:after{content:"\e005"}.myIcon-reboot:after{content:"\e02a"}.myIcon-wifi:after{content:"\e00c"}.main{top:50px;bottom:0;position:relative;height:100%;height:calc(100% - 4rem)}.main>.loading{position:fixed;width:100%;height:100%;z-index:1000;display:block;background-color:#f0f0f0;top:0}.main>.loading>span{display:block;text-align:center;margin-top:2rem;color:#888;font-size:1rem}.main>.loading>span>.loading-img:before{content:"\e603"}.main>.loading>span>.loading-img{animation:anim-rotate 2s infinite linear;margin-right:.2rem;display:inline-block}.node-main-login{text-align:center;background-color:var(--bgwhite)!important}.node-main-login .cbi-section-node>.cbi-value:nth-of-type(2n){background:0 0}.node-main-login h2{font-size:1.5rem}.node-main-login header{display:none}.node-main-login>.main>.main-left{display:none}.node-main-login>.main>.main-right{width:100%}.node-main-login>.main fieldset{padding:0!important;margin-bottom:1rem;display:inline;background:0 0;border:none;box-shadow:none;overflow:hidden}.node-main-login>.main fieldset .cbi-value-title{display:none!important}.node-main-login>.main .cbi-section{margin-top:10px!important}.node-main-login>.main .cbi-map{}.node-main-login>.main fieldset .cbi-value{}.node-main-login>.main fieldset .cbi-value-title{padding:10px 0 10px 5px!important}.node-main-login>.main .cbi-value{border:none}.node-main-login>.main .cbi-value-title{width:7rem}.node-main-login>.main #maincontent{display:flex;height:100%;text-align:center;align-items:center;align-content:center;justify-content:center}.node-main-login>.main form>div:nth-last-child(1){}.node-main-login>.main .cbi-value>*{display:inline-block!important}.node-main-login>.main .cbi-input-user,.node-main-login>.main .cbi-input-password{appearance:none;outline:0;padding:0 0 0 35px;background-repeat:no-repeat;background-position:10px 10px;background-size:18px 18px;min-width:15rem}.node-main-login>.main .cbi-input-user{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjNjI3Mzg2IiBkPSJNMTIgNGE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMS00IDQgNCA0IDAgMCAxLTQtNCA0IDQgMCAwIDEgNC00bTAgMTBjNC40Mi4wIDggMS43OSA4IDR2Mkg0di0yYzAtMi4yMSAzLjU4LTQgOC00eiIvPjwvc3ZnPg==)}.node-main-login>.main .cbi-input-password{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjNjI3Mzg2IiBkPSJNMTIgMTdhMiAyIDAgMCAwIDItMiAyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDIgMiAyIDAgMCAwIDIgMm02LTlhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yaDFWNmE1IDUgMCAwIDEgNS01IDUgNSAwIDAgMSA1IDV2MmgxbS02LTVhMyAzIDAgMCAwLTMgM3YyaDZWNmEzIDMgMCAwIDAtMy0zeiIvPjwvc3ZnPg==)}.node-main-login footer{bottom:0;position:absolute;width:100%}.navbar{overflow:hidden;position:fixed;bottom:0;width:100%;border-top:var(--navBorder);text-align:center;height:calc(50px + constant(safe-area-inset-bottom));height:calc(50px + env(safe-area-inset-bottom));background-color:var(--navbgColor);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar a{float:left;text-align:center;padding:8px 0;width:20%;text-decoration:none;max-width:100px}.cbi-map{margin-top:10px}#cbi-shadowsocksr .cbi-map-descr{display:none}.navbar a img{width:28px}@keyframes anim-rotate{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.main-left{float:left;width:18rem;background-color:var(--mainleftbgColor);overflow-x:auto;height:calc(100% - 3.5rem);position:fixed;padding-top:15px;box-shadow:0 0 4px transparent;transition:visibility 100ms,width 100ms}.main-right{width:85%;width:calc(100% - 18rem);float:right;height:100%;border-left:var(--sectionBorder)}.main-right>#maincontent{}.pull-right{position:absolute;top:-2px;right:30px;cursor:pointer}.pull-left{float:left}header>.container{margin:0;padding:0}header>.container>.brand{font-size:25px;font-family:genjyuugothic-medium;line-height:60px;color:var(--logo_color);cursor:default;display:block;width:18rem;height:60px;text-align:center;float:left;font-weight:900;letter-spacing:1px;padding:0 4.5rem;transition:.1s ease-in-out}header>.container>a[class=brand]:after{content:"";font-size:14px;font-family:Tahoma;position:absolute;top:-10px;font-weight:400!important}header>.container>.brand-hostname{font-size:14px;line-height:60px;color:#555;cursor:default;display:block;width:18rem;padding-right:10px;height:60px;text-align:left;float:left;margin-top:7px;font-weight:300;margin-left:-15px}.warning{background-color:#ff7d60!important;color:#fff}.errorbox,.alert-message{margin:0 0 10px;padding:20px;line-height:1.5;font-family:inherit;min-width:inherit;overflow:auto;border-radius:10px;color:var(--alertColor);background-color:var(--alertBackground)}.errorbox{color:#fff;background-color:#ff6767;border-radius:10px}.error{color:red}p#shadowsocksr_status{padding:3px}#maincontent>.container>div:nth-child(1).alert-message.warning>a{font:inherit;overflow:visible;text-transform:none;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;min-width:6rem;padding:.5rem 1rem;font-size:14px;line-height:1.42857143;color:#fff;background-color:#5bc0de;border-color:#46b8da;margin-top:2rem;text-decoration:inherit}.main>.main-left>.nav{overflow-y:visible!important;font-size:1rem;width:90%;margin:auto;margin-bottom:90px}.main>.main-left>.nav>li a{color:var(--activeColor);display:block;border-radius:6px;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .1s}.main>.main-left>.nav>li{cursor:pointer;padding-top:6px}.main>.main-left>.nav>.slide{padding:0;padding-top:8px}.main>.main-left>.nav>.slide>a:before{display:inline-block;left:-10px;top:1px;position:relative;font-family:design!important;font-weight:700!important;text-transform:none!important;speak:none;font-size:1.2rem!important;-webkit-font-smoothing:antialiased}.main>.main-left>.nav>.slide>.menu::after{right:.5rem;top:.8rem;font-family:design!important;font-style:normal!important;font-variant:normal!important;content:"\eb03";float:right;padding-right:5px;line-height:1.6;-moz-osx-font-smoothing:grayscale;transition:all .1s ease;text-rendering:auto;-webkit-font-smoothing:antialiased}.main .main-left .nav li.slide .menu.active::after{transform:rotate(90deg)}.main>.main-left>.nav>.slide>a[data-title=QuickStart]:before{content:"\e67e"}.main>.main-left>.nav>.slide>a[data-title=Status]:before{content:"\e6b8"}.main>.main-left>.nav>.slide>a[data-title=System]:before{content:"\e645"}.main>.main-left>.nav>.slide>a[data-title=Services]:before{content:"\e6cb"}.main>.main-left>.nav>.slide>a[data-title=Docker]:before{content:"\44"}.main>.main-left>.nav>.slide>a[data-title=NAS]:before{content:"\eb04"}.main>.main-left>.nav>.slide>a[data-title=VPN]:before{content:"\56"}.main>.main-left>.nav>.slide>a[data-title=Network]:before{content:"\72"}.main>.main-left>.nav>.slide>a[data-title="Bandwidth Monitor"]:before{content:"\e764"}.main .main-left .nav li.slide .menu[data-title=Statistics]:before{content:"\e604"}.main .main-left .nav li.slide .menu[data-title=Control]:before{content:"\e67a"}.main .main-left .nav li.slide .menu[data-title=Asterisk]:before{content:"\e7dd"}.main>.main-left>.nav>li>a[data-title="Inital Setup"]:before,.main>.main-left>.nav>li>a[data-title=NetworkGuide]:before,.main>.main-left>.nav>li>a[href="/cgi-bin/luci//admin/wizard"]:before{content:"\e719"}.main>.main-left>.nav>li>a[data-title=iStore]:before{content:"\e676"}.main>.main-left>.nav>li>a[data-title=Logout]{padding:.675rem 0 .675rem 2.5rem}.main>.main-left>.nav>li>a[data-title=Logout]:before{content:"\e641"}.main>.main-left>.nav>li>a[data-title=Reboot]{padding:6px 25px}.main>.main-left>.nav>li>a[data-title=Reboot]:before{content:"\e004"}.main>.main-left>.nav>.slide>ul{display:none;list-style:dotted}.main>.main-left>.nav>.slide>.menu{display:block;padding:.675rem 0 .675rem 2.5rem;text-decoration:none;cursor:pointer}.main>.main-left>.nav>.slide>.menu2{display:block;padding:.675rem 0 .675rem 2.5rem;text-decoration:none;cursor:pointer}.main>.main-left>.nav>li:hover,.main>.main-left>.nav>.slide>.menu:hover{background:var(--activeColor);color:#fff}.main>.main-left>.nav>.slide>.menu2:hover{background:var(--activeColor);color:#fff}.main>.main-left>.nav>.slide:hover{background:0 0}.slide-menu{overflow:hidden}.main>.main-left>.nav>.slide>.slide-menu>li{margin-top:8px;border-radius:6px}.main>.main-left>.nav>.slide>.slide-menu>.active{background-color:var(--activeColor)}.main>.main-left>.nav>.slide>.slide-menu>li>a{position:relative;display:block;color:var(--textColor);vertical-align:middle;background:0 0!important;border:none!important;text-transform:capitalize;font-size:1rem;margin:.1rem .5rem;padding:.675rem 0 .675rem 3.2rem}.main .main-left .nav li.slide .slide-menu .active a{color:#000}.main>.main-left>.nav>.slide>.slide-menu>li>a:hover{color:#fff}.main>.main-left>.nav>.slide>.slide-menu>.active>a{color:#fff}.main>.main-left>.nav>.slide>.slide-menu>li:hover{background:var(--activeColor);color:#fff!important;transition:all .1s}.main>.main-left>.nav>.slide>.slide-menu>.active:hover{background-color:var(--activeColor);cursor:pointer}.cbi-tab-descr{padding:10px}li{list-style-type:none}#maincontent>.container{margin:30px 30px 50px}h1{color:var(--activeColor);font-size:20px;padding-bottom:10px;border-bottom:1px solid #eee}h2{color:var(--activeColor);padding:0 12px 6px;text-transform:capitalize}h3{font-size:1.2rem;color:var(--activeColor);font-weight:700;padding:0 12px 10px}h4{}label{display:inline-block;vertical-align:middle}fieldset{padding:10px;border:1px;font-weight:400;font-style:normal;line-height:1;font-family:inherit;text-align:left;min-width:inherit;overflow-x:auto;overflow-y:hidden;background-color:var(--sectionbgColor);-webkit-overflow-scrolling:touch}fieldset>legend{display:none!important}fieldset>fieldset{padding:0}.panel-title{width:100%;display:block;padding:10px;font-weight:700;font-size:1rem}table{border-spacing:0;border-collapse:collapse;width:100%;border:0 solid #eee!important;margin:0!important}strong{font-weight:700;padding:2px}#lb_load01_cur,#lb_load01_peak,#lb_load05_cur,#lb_load15_cur{text-align:right!important}#lb_load01_peak{text-align:left!important}#lb_load01_cur{}table>tbody>tr>td,table>tbody>tr>th,table>tfoot>tr>td,table>tfoot>tr>th,table>thead>tr>td,table>thead>tr>th{padding:12px;white-space:nowrap;line-height:1.5;vertical-align:middle!important}.node-services-appfilter table>tbody>tr>th,.node-services-appfilter table>tbody>tr>td,.node-nlbw-usage table>tbody>tr>th,.node-nlbw-usage table>tbody>tr>td{text-align:center}table>tbody>tr{border-bottom:var(--cbilineColor)!important}table>tbody>tr:last-child{border-bottom:none!important}.cbi-section-table-cell{text-align:center}.cbi-section-table-row{text-align:center}.cbi-section-remove{margin-bottom:2px}.cbi-section-remove>input{background-color:#c06}fieldset>table>tbody>tr:nth-of-type(odd){background-color:var(--sectionbgColor2)}#lease6_status_table>tbody>.cbi-section-table-row.cbi-rowstyle-1 div,#lease6_status_table>tbody>.cbi-section-table-row.cbi-rowstyle-2 div{min-width:100%}.node-status-overview>.main fieldset:nth-child(6) td:nth-child(2),.node-status-overview table[id=wifi_status_table]>tbody>tr>td{white-space:normal}#swaptotal>div,#swapfree>div,#swapcache>div,#memfree>div,#membuff>div,#conns>div,#memcache>div,#memtotal>div{width:100%!important;border-color:var(--progressbarColor)!important;background-color:var(--progressbarColor)!important;border-radius:3px}#swaptotal>div>div,#swapfree>div>div,#swapcache>div>div,#memfree>div>div,#membuff>div>div,#conns>div>div,#memcache>div>div,#memtotal>div>div{background-color:var(--progressbar)!important;color:var(--progressbartxtColor)!important;border-radius:3px}#swaptotal div div,#swapfree div div,#swapcache div div,#memfree div div,#membuff div div,#conns div div,#memcache div div,#memtotal div div{align-items:center;align-content:center;justify-content:center;display:flex}#swaptotal div div small,#swapfree div div small,#swapcache div div small,#memfree div div small,#membuff div div small,#conns div div small,#memcache div div small,#memtotal div div small{font-size:.75rem!important;line-height:130%;color:var(--progressbartxtColor)!important}.cbi-value-field{width:65%}.node-system-admin .cbi-value-field li div{padding:0!important}.node-system-admin em{padding:0!important}.node-nlbw-display hr{display:none}.node-nlbw-display p{line-height:1.5;padding:0 10px 5px}#cbi-network .cbi-value-field ul,#cbi-wireless .cbi-value-field ul,#cbi-firewall .cbi-value-field ul{overflow-x:auto;white-space:nowrap}#cbi-network .cbi-value-field ul input[type=text],#cbi-wireless .cbi-value-field ul input[type=text],#cbi-firewall .cbi-value-field ul input[type=text]{max-width:10rem;width:100%!important}div [id*=cbi-network-] [id*=-__status] table,div [id*=cbi-wireless] [id*=-__status] table{width:auto}div [id*=cbi-network-] [id*=-__status] table td,div [id*=cbi-wireless] [id*=-__status] table td{width:auto;padding:0!important}div [id*=cbi-network-] [id*=-__status] table td small,div [id*=cbi-wireless] [id*=-__status] table td small{width:auto}.node-network-wifi .cbi-section-table tr .cbi-value-field,.node-network-wireless .cbi-section-table tr .cbi-value-field{width:unset!important;text-align:right}.node-network-wireless #iw-assoclist .cbi-section-table-row td[colspan="6"],.node-network-wireless .cbi-section-table .cbi-section-table-row td[colspan="6"],.node-network-wifi .cbi-section-table .cbi-section-table-row td[colspan="8"]{text-align:center!important}.node-network-wireless #iw-assoclist .cbi-section-table-row td div{max-width:unset!important}.node-network-wifi table,td,th{border-top:unset!important}.node-network-wifi .cbi-section-table td[colspan="2"]{padding-left:unset!important}.node-status-routes .cbi-section-node{max-height:500px;overflow-y:auto;overflow-x:auto}table table{border:none}.cbi-value-field table{border:none}.cbi-value-field label{padding:0}td>table>tbody>tr>td{border:none}.cbi-value-field>table>tbody>tr>td{border:none}#container\.nlbw\.traffic th,#container\.nlbw\.traffic td,#container\.nlbw\.layer7 th,#container\.nlbw\.layer7 td,#container\.nlbw\.ipv6 th,#container\.nlbw\.ipv6 td,#container\.nlbw\.export th,#container\.nlbw\.export td{padding:12px!important;border-top:none;border:unset;text-align:center}#container\.nlbw\.traffic tr td:nth-child(4),#container\.nlbw\.layer7 tr td:nth-child(3),#container\.nlbw\.ipv6 tr td:nth-child(4),#container\.nlbw\.export tr td:nth-child(4),#container\.nlbw\.traffic tr td:nth-child(6),#container\.nlbw\.layer7 tr td:nth-child(5),#container\.nlbw\.ipv6 tr td:nth-child(6),#container\.nlbw\.export tr td:nth-child(6){text-align:right!important}#container\.nlbw\.traffic tr td:nth-child(5),#container\.nlbw\.layer7 tr td:nth-child(4),#container\.nlbw\.ipv6 tr td:nth-child(5),#container\.nlbw\.export tr td:nth-child(5),#container\.nlbw\.traffic tr td:nth-child(7),#container\.nlbw\.layer7 tr td:nth-child(6),#container\.nlbw\.ipv6 tr td:nth-child(7),#container\.nlbw\.export tr td:nth-child(7){text-align:left!important}td#__status-ifc-signal{width:60px!important}.cbi-button{-webkit-appearance:none;text-transform:uppercase;color:#fff;background-color:#337ab7;transition:all .1s ease-in-out;display:inline-block;border:none;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto!important;min-width:80px;padding:0 8px;border-radius:var(--commonRadius0);height:35px;line-height:35px}.cbi-button:hover,.cbi-button:focus,.cbi-button:active{color:#fff;outline:0;text-decoration:none;background-color:#6a65d6}.cbi-button:hover,.cbi-button:focus{box-shadow:0 1px 1px rgba(0,0,0,.05)}.cbi-button:active{box-shadow:0 1px 1px rgba(0,0,0,.05)}.cbi-button:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}form.inline+form.inline,.cbi-button+.cbi-button{}.cbi-button-reset,.cbi-input-remove{color:#fff!important;background-color:#617486!important}.cbi-button-reset:hover,.cbi-input-remove:hover,.cbi-button-remove:hover{color:#fff!important;background-color:#536473!important}.cbi-button-link,.cbi-input-find,.cbi-input-save,.cbi-button-add,.cbi-button-save,.cbi-button-find,.cbi-input-reload,.cbi-button-reload{color:var(--bttextColor);background-color:#337ab7!important;border-color:#337ab7!important}.cbi-button-link:hover,.cbi-input-find:hover,.cbi-input-save:hover,.cbi-button-add:hover,.cbi-button-save:hover,.cbi-button-find:hover,.cbi-input-reload:hover,.cbi-button-reload:hover{color:#fff!important;background-color:#6a82ae!important;border-color:#6a82ae!important}.cbi-input-apply,.cbi-button-apply,.cbi-button-edit{color:#fff!important;background-color:var(--activeColor)}.cbi-input-reset,.cbi-button-remove{color:#fff!important;background:#617486}.a-to-btn{text-decoration:none}.tabs{margin:15px 0;overflow-x:auto}.cbi-tabmenu>li,.tabs>li{display:table-cell}.cbi-tabmenu>li{border-radius:var(--tabmenuRadius)}.tabs>li>a{text-decoration:none;padding:0 6px;float:left;display:block;white-space:nowrap;height:2.5rem;line-height:2.5rem;font-size:.92rem}.cbi-tabmenu>li>a{text-decoration:none;float:left;display:block;white-space:nowrap;height:2.5rem;line-height:2.5rem;font-size:.92rem;margin:0 10px}.tabs>li[class~=active],.tabs>li:hover{cursor:pointer}.tabs>li[class~=active]>a{color:var(--activeColor)!important;padding-bottom:8px;border-bottom:var(--activeColor) 2px solid}.tabs>li:hover{}.cbi-tabmenu{border-top:var(--sectiontabBorder);border-left:var(--tabmenuBorderLR);border-right:var(--tabmenuBorderLR);border-bottom:var(--tabmenuBottom);background-color:var(--tabmenubgColor);width:100%;overflow-x:auto;margin-top:5px;margin-bottom:10px}.cbi-tabmenu>li:hover{background-color:none}.cbi-tabmenu>li[class~=cbi-tab]{background-color:none}.cbi-tabmenu>li[class~=cbi-tab] a{color:var(--activeColor)!important;border-bottom:2px solid var(--activeColor)!important}.cbi-section-node-tabbed{margin-top:0;border-bottom:var(--sectiontabBorder);border-left:var(--sectiontabBorder);border-right:var(--sectiontabBorder);border-radius:0 0}.cbi-tabcontainer{clear:both}.cbi-tabcontainer>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor2)}.cbi-section-node>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor2)}div>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor2)}.cbi-value-field,.cbi-value-description{display:table-cell}.cbi-value-field{}.cbi-value-helpicon>img{display:none}.cbi-value-helpicon:before{content:"\f059"}.cbi-value-description{opacity:.6;padding-left:4px}.cbi-value-title{word-wrap:break-word;display:table-cell;width:35%;float:left;padding:13px 10px 5px 3px}.cbi-value{display:flex;width:100%;align-items:center;align-content:center;justify-content:flex-start;min-height:40px;padding:8px 10px;flex-flow:row wrap;border-bottom:var(--cbilineColor)}.cbi-value:last-child{border-bottom:none}.cbi-value strong{font-weight:400}.cbi-section-table-descr>.cbi-section-table-cell,.cbi-section-table-titles>.cbi-section-table-cell{border:none}.cbi-rowstyle-2{background-color:var(--sectionbgColor2)}.cbi-rowstyle-2 .cbi-button-up,.cbi-rowstyle-2 .cbi-button-down{}.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell{width:auto!important}.cbi-section-table tr .cbi-value-field{text-align:center;width:20%!important;padding:10px!important}.cbi-section-table tr .cbi-value-field input{width:auto}.cbi-section-table tr .cbi-value-field .ifacebox{margin:auto;width:fit-content;min-width:60px}.cbi-section-descr{padding:3px 10px}.cbi-map-descr{padding:5px 5px 5px 12px}.cbi-map-descr h3{font-size:.92rem;font-weight:400;color:#666}#cbi-vsftpd .cbi-map-descr{color:var(--activeColor);padding:0 12px 0;font-size:1.2rem;font-weight:700}.hidden{display:none}.left{text-align:left!important}.right{text-align:right!important}.right .cbi-button{height:20px;line-height:20px;min-width:60px;margin:0}.inline{display:inline}.cbi-page-actions{text-align:center}.cbi-value input[type=password],.cbi-value input[type=text]{}.ifacebadge{display:inline-flex;padding:5px;background-color:var(--badgebgColor);align-content:center;align-items:center;border-radius:var(--commonRadius1);border:var(--badgeBorder);color:#666}#content_syslog{padding:5px;margin-top:10px;border-radius:10px;background-color:var(--sectionbgColor);box-shadow:3px 3px 3px transparent}.ifacebadge>img{float:right;margin-left:.3rem}img.cbi-image-button{vertical-align:middle}fieldset.cbi-section{border:var(--sectionBorder);margin-bottom:20px;border-radius:10px;margin-top:5px}.cbi-input-textarea,textarea{color:var(--inputtextColor);padding:10px;line-height:normal;border:var(--sectionBorder);background-color:var(--inputbgColor);transition:color 150ms ease,border-color 150ms ease,opacity 150ms ease;-webkit-transition:color 150ms ease,border-color 150ms ease,opacity 150ms ease;outline-style:none;vertical-align:baseline;border-radius:10px;font-family:Menlo,Mono;font-size:.9rem;white-space:pre;margin-bottom:5px}#syslog{width:100%;min-height:15rem;padding:10px;margin-bottom:20px;border-radius:0;background-color:var(--sectionbgColor);border:none}#wan4_i,#wan6_i{width:50px!important}.uci-change-list{font-family:monospace}.uci-change-list *:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.uci-change-list *:nth-last-child(2){border-bottom-left-radius:5px;border-bottom-right-radius:5px}.uci-change-list ins,.uci-change-legend-label ins{text-decoration:none;border:1px solid #0f0;background-color:#cfc;display:block;padding:2px;color:#000;overflow-x:auto}.uci-change-legend .uci-change-legend-label ins{overflow-x:unset;border-radius:var(--commonRadius1)}.uci-change-list del,.uci-change-legend-label del{text-decoration:none;border:1px solid red;background-color:#fcc;display:block;font-style:normal;padding:2px;color:#000;overflow-x:auto}.uci-change-legend .uci-change-legend-label del{overflow-x:unset;border-radius:var(--commonRadius1)}.uci-change-list var,.uci-change-legend-label var{text-decoration:none;border:1px solid #ccc;background-color:#eee;display:block;font-style:normal;padding:2px;color:#000;overflow-x:auto}.uci-change-legend .uci-change-legend-label var{overflow-x:unset;border-radius:var(--commonRadius1)}.uci-change-list var ins,.uci-change-list var del{border:none;white-space:pre;font-style:normal;padding:0;color:#000;overflow-x:auto}.uci-change-legend{padding:5px}.uci-change-legend-label{width:150px;float:left;display:flex;align-items:center}.uci-change-legend-label>ins,.uci-change-legend-label>del,.uci-change-legend-label>var{float:left;margin-right:4px;width:10px;height:10px;display:block}.uci-change-legend-label var ins,.uci-change-legend-label var del{border:none;height:10px;width:10px}.uci-change-list var,.uci-change-list del,.uci-change-list ins{padding:.5rem}#iwsvg,#iwsvg2,#bwsvg{border:var(--sectionBorder)!important;font-family:-apple-system;background:0 0!important}.ifacebox{border:var(--ifaceboxBorderColor) 1px solid;border-radius:var(--commonRadius1);font-size:.92rem;font-weight:400}.ifacebox-head{color:#fff}.ifacebox-body small{font-size:.8rem!important;padding:5px}.ifacebox-body strong{color:#f7f7f7;font-size:0!important}.cbi-image-button{}.zonebadge>.ifacebadge{padding:3px 5px;margin:5px}.zonebadge>input[type=text]{padding:.16rem 1rem;min-width:10rem;margin-top:.3rem}.cbi-value-field .cbi-input-checkbox,.cbi-value-field .cbi-input-radio{vertical-align:middle}.cbi-section-table-row>.cbi-value-field .cbi-input-select{min-width:7rem}.cbi-section-create{padding:0 10px}.cbi-section-create>.cbi-button-add{margin:10px 0}div.cbi-value var,td.cbi-value-field var{font-style:italic;color:#0069d6}small{font-size:small;font-weight:400!important;white-space:normal}.cbi-button-up,.cbi-button-down{display:inline-block;min-width:0;font-size:.9rem}.cbi-optionals{padding:1rem 1rem 0;border-top:1px solid #ccc}#diag-rc-output>pre{display:block;padding:10px;line-height:1.5rem;-moz-border-radius:3px;white-space:pre-wrap;word-wrap:break-word;color:#76838f}input[name=ping],input[name=traceroute],input[name=nslookup]{width:80%}table.cbi-section-table select{width:auto!important}header>.container>.pull-right>*{}#xhr_poll_status>.label.success{padding:.7rem 0;border-radius:20px}#xhr_poll_status_off{padding:.7rem 0;border-radius:20px}.label{padding:0 3px;white-space:nowrap;border-radius:3px;position:absolute;right:5px;top:15px;line-height:150%}.notice{color:var(--activeColor);font-size:.8rem;padding-right:.5rem;border-radius:10px;z-index:10;font-size:1.8rem;font-family:design}#refresh_on,#refresh_off{font-size:1.5rem;font-family:design}#refresh_on{color:var(--activeColor)}#refresh_off{color:var(--progressbarColor)}.darkMask{width:100%;height:100%;position:fixed;background-color:rgba(0,0,0,.56);content:"";z-index:99;display:none}.node-services-shadowsocksr .cbi-input-textarea,.node-nlbw-config .cbi-input-textarea{}.node-services-shadowsocksr #cbi-logview .cbi-section{padding:0}.node-network-diagnostics .cbi-section{border-radius:10px}.node-status-processes>.main table tr td:nth-child(3){white-space:normal}.cbi-map fieldset h3{}.cbi-map fieldset ul li{margin-right:0!important}.node-system-reboot>.main>.main-right p,.node-system-reboot>.main>.main-right h3{margin-left:12px}.node-system-reboot #maincontent{}.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title{margin-bottom:1rem}.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-field{display:list-item}.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-description{padding-top:1rem;line-height:150%}.node-system-packages>.main table tr td:nth-child(1){width:auto!important}.node-system-packages .cbi-section-node .cbi-value-last{}.node-system-packages .cbi-section-node .cbi-value-last>div{border:none!important;border-radius:3px}.node-system-packages .cbi-section-node .cbi-value-last>div>div{border:none!important;border-radius:3px}.node-system-packages .cbi-section-node .cbi-value-last:nth-last-child(1){padding:auto}.node-system-packages>.main table tr td:nth-last-child(1){white-space:normal;font-size:small;color:#76838f}.node-system-packages>.main .cbi-value>pre{padding:10px;overflow:auto;border-radius:10px}.node-system-packages #cbi-distfeedconf .cbi-section,.node-system-packages #cbi-customfeedconf .cbi-section{border-radius:10px}.node-system-packages .cbi-value-field{width:58%}#container\.nlbw\.traffic,#container\.nlbw\.layer7,#container\.nlbw\.ipv6,#container\.nlbw\.export{margin-top:0;margin-top:0;padding:10px;text-align:center;border-bottom:var(--sectionBorder);border-left:var(--sectionBorder);border-right:var(--sectionBorder);background-color:var(--sectionbgColor);border-radius:10px}#container\.nlbw\.export ul li{padding:5px;width:150px;margin:10px;border-radius:var(--commonRadius1);border:#ccc 1px solid}.cbi-tabmenu+.cbi-section ul{text-align:left}.node-network-firewall>.main .cbi-section-table-row>.cbi-value-field .cbi-input-select{min-width:4rem}.node-status-iptables>.main div>.cbi-map>form{position:static!important;margin:10px 0 20px;padding:12px;border:0;font-weight:400;font-style:normal;line-height:1;font-family:inherit;min-width:inherit;overflow-x:auto;overflow-y:hidden;box-shadow:3px 3px 3px transparent;border-radius:10px;background-color:var(--bgwhite);-webkit-overflow-scrolling:touch}.node-system-flashops fieldset fieldset{border:none}.node-system-flashops br{display:none}.node-system-flashops .cbi-section{}.node-system-flashops .cbi-section-descr{padding:12px;line-height:1.5;border-radius:6px}.node-status-iptables .cbi-tabmenu,.node-system-packages .cbi-tabmenu,.node-system-flashops .cbi-tabmenu{}#cbi-firewall-redirect .cbi-section-table-titles .cbi-section-table-cell{text-align:left}#cbi-firewall-redirect table *,#cbi-network-switch_vlan table *,#cbi-firewall-zone table *{font-size:small}#cbi-firewall-redirect table input[type=text],#cbi-network-switch_vlan table input[type=text],#cbi-firewall-zone table input[type=text]{width:5rem}#cbi-firewall-redirect table select,#cbi-network-switch_vlan table select,#cbi-firewall-zone table select{min-width:3.5rem}.node-status-realtime table>tbody>tr>td{text-align:left!important;padding:10px 3px}.node-status-realtime table[id=connections]>tbody>tr>td{padding:10px 3px;text-align:center!important}.node-status-realtime table{table-layout:auto!important}.node-status-realtime fieldset[id=cbi-table-table]{background-color:unset!important}.node-status-realtime fieldset[id=cbi-table-table]>table>tbody>tr:nth-of-type(odd),.node-status-realtime fieldset[id=cbi-table-table] table[id=connections] tr.cbi-section-table-row.cbi-rowstyle-2{background-color:unset}.node-services-appfilter .cbi-section.cbi-tblsection,.node-nas-fileassistant #list-content,.node-status-realtime fieldset[id=cbi-table-table] .cbi-section-node{overflow:auto}select#cbi\.combobox\.cbid\.shadowsocksr\.cfg013fd6\.tunnel_forward{overflow:hidden}body.lang_pl.node-main-login .cbi-value-title{width:12rem}#detail-bubble{width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:19rem!important;width:calc(100vw - 21.25rem)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}@media screen and (max-width:1280px){header{}header>.container{}.main{height:calc(100% - 3.5rem)}.main-left{width:calc(0% + 18rem);top:50px}.main-right{width:calc(100% - 18rem)}table{font-size:.9rem!important;width:100%!important}.main>.main-left>.nav>li,.main>.main-left>.nav>li a,.main>.main-left>.nav>.slide>.menu{font-size:1.1rem}.main>.main-left>.nav>.slide>.slide-menu>li>a{font-size:1rem;text-transform:capitalize}img[src*="/luci-static/resources/cbi/add.gif"]{right:55px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/remove.gif"]{right:55px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/reload.gif"]{right:55px;display:block;position:absolute;margin-top:-34px}#detail-bubble{width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:19rem!important;width:calc(100vw - 21.25rem)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}.node-nlbw-usage table{display:block;overflow:auto}#container\.nlbw\.traffic table,#container\.nlbw\.layer7 table,#container\.nlbw\.ipv6 table,#container\.nlbw\.export table{display:block;overflow:auto}}@media screen and (max-width:992px){.main-left{width:0;position:fixed;z-index:100}.main-right{width:100%}.showSide{margin:0;padding:0;display:inline-block;position:absolute;width:300px;height:50px;padding:1.15rem 2rem}.showSide:before{content:"\e20e";font-size:1.7rem}#maincontent>.container{margin:20px}.node-main-login .showSide{display:none!important}.cbi-value-title{width:35%}.node-network-diagnostics>.main .cbi-map fieldset>div *{width:100%!important}.node-network-diagnostics>.main .cbi-map fieldset>div input[type=text]{}.node-network-diagnostics>.main .cbi-map fieldset>div:nth-child(4) input[type=text]{margin:0!important}.node-network-diagnostics>.main .cbi-map fieldset>div select,.node-network-diagnostics>.main .cbi-map fieldset>div input[type=button]{margin:1rem 0 0}.node-network-diagnostics>.main .cbi-map fieldset>div{width:100%!important}.node-main-login>.main .cbi-value-title{text-align:left}img[src*="/luci-static/resources/cbi/add.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/remove.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/reload.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}header{box-shadow:0 2px 4px rgba(0,0,0,.08)}}@media screen and (max-width:700px){#cbi-vssr-servers .cbi-button-add{position:static!important;width:auto!important;height:2rem!important;line-height:2rem!important;color:#fff;display:block;padding:0!important;font-size:.92rem;border-radius:10px!important;box-shadow:none;background-image:none}#cbi-vssr-servers .cbi-section-table-row{margin:10px 0!important}#cbi-vssr-servers .p-in5{padding-bottom:10px!important;margin:0!important}#cbi-vssr-servers .cbi-page-actions{padding-bottom:10px!important}#maincontent>.container{margin:20px}#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:inline-table;overflow:auto}}@media screen and (max-width:470px){#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:block;overflow:auto}.main-right>#maincontent{overflow:auto}div [id*=cbi-network-] [id*=-__status] table td,div [id*=cbi-wireless] [id*=-__status] table td{white-space:normal}.node-system-leds .cbi-section em,.node-network-network #cbi-network .cbi-map .cbi-section-table cbi-section-table-row,.node-network-network #cbi-network .cbi-map .cbi-section-table td{display:block}.node-network-network #cbi-network .cbi-map .cbi-section-table td{width:100%!important;text-align:center!important;white-space:normal}.node-network-network #cbi-network .cbi-map .cbi-button{min-width:60px!important}.node-network-network .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell{flex:1!important}.node-network-network .cbi-section-table .cbi-section-table-titles th:nth-child(2){text-align:center!important}.node-network-network .cbi-section-table .cbi-section-table-titles{display:flex}.node-network-wireless fieldset:nth-child(1) table>tbody>tr>td,.node-network-wireless fieldset:nth-child(2) table>tbody>tr>td{white-space:normal}}@media screen and (max-width:370px){fieldset{}select{width:100%}header{height:55px}h3{padding:0 10px 10px}.showSide{height:45px}#maincontent>.container{margin:20px}.main{top:45px}.main-left{top:45px}.main>.main-left>.nav>.slide>.menu{}.main>.main-left>.nav>.slide>.slide-menu>li>a{}.cbi-value{margin-bottom:20px;display:table;padding:0;border-bottom:none}.cbi-value-title{width:100%;font-weight:700;float:left;padding:0;margin:0;margin-bottom:.25rem}.cbi-section-node{padding:10px!important}.cbi-value-description{width:100%;display:block}.cbi-value>.cbi-value-field{display:block;float:left;width:100%}img[src*="/luci-static/resources/cbi/add.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/remove.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}img[src*="/luci-static/resources/cbi/reload.gif"]{right:45px;display:block;position:absolute;margin-top:-34px}.cbi-section-node>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor)}.cbi-tabcontainer>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor)}div>.cbi-value:nth-of-type(2n){background-color:var(--sectionbgColor)}.node-main-login>.main .cbi-value{padding:0}.node-main-login>.main form>div:nth-last-child(1){margin-top:2rem}.node-main-login>.main fieldset{margin:0;padding:.5rem}#container\.network\.lan\.physical .cbi-value-title,#cbi-network-1-_ifname .cbi-value-title{width:35%}#cbi-network-1-_ifname .cbi-value-field{width:65%}h2{font-size:1.2rem;text-transform:capitalize}select,input{}input[type=checkbox]{height:1.2rem!important;width:1.2rem!important}#swaptotal div div small,#swapfree div div small,#swapcache div div small,#memfree div div small,#membuff div div small,#conns div div small,#memcache div div small,#memtotal div div small{}#swaptotal div div,#swapfree div div,#swapcache div div,#memfree div div,#membuff div div,#conns div div,#memcache div div,#memtotal div div{}.node-status-iptables>.main div>.cbi-map>form input[type=submit]{margin:0}#cbi-samba-cfg010f89-_tmpl .cbi-value-title{width:15%}#cbi-samba-cfg010f89-_tmpl .cbi-value-field{width:95%}#detail-bubble{left:unset!important;width:unset!important}#detail-bubble.in{color:#000;padding-bottom:calc(60px + env(safe-area-inset-bottom));left:unset!important;width:calc(100vw)!important}#detail-bubble .head{display:block;overflow:auto}#detail-bubble #bubble-table{display:block;overflow:auto}}@media screen and (max-width:315px){.label{position:absolute;right:5px;top:-70px}}#intervalSelect{height:40px!important}.commandbox div{position:unset!important}#cbi-netspeedtest-homebox-{display:unset!important}.node-status-realtime .container{overflow:auto}.node-network-network div[onclick*="document.getElementById('cbid.network."],#cbi-network div[onclick*="document.getElementById('cbid.network."]{background-color:unset!important}form[action="/cgi-bin/luci/admin/network/wireless"] input[class="cbi-button cbi-button-reset"],form[action="/cgi-bin/luci/admin/network/wireless_join"] input[class="cbi-button cbi-input-find"]{height:25px;min-width:80px}.node-services-aliyundrive-webdav #mask-box{background:transparent}.node-services-ddns #cbi-ddns-service input{width:unset}.node-services-ddns .cbi-value input[type=password],.node-services-ddns .cbi-value input[type=text]{width:100%!important}.fb-container .cbi-button{border-radius:var(--commonRadius0);margin:3px 3px 3px 0;height:unset!important}.node-system-commands h3{text-transform:unset}.node-system-commands .commandbox{width:auto;display:inline-block;float:none}.node-system-commands .commandbox p{word-break:keep-all;white-space:nowrap}.node-system-commands div.cbi-map fieldset.cbi-section{align-items:center;text-align:center}.node-system-commands #cbi-luci.cbi-map fieldset.cbi-section{align-items:unset;text-align:unset}.node-network-network .ifacebox strong{color:var(--ifaceboxFontColor);padding:5px}.node-network-firewall .zonebadge strong,.node-network-firewall label strong{color:var(--ifaceboxFontColor)}.node-services-openclash ul li.selected{background-color:var(--liSelectedColor)!important}.node-services-openclash .cbi-button-reset,.node-services-openclash .cbi-input-remove{max-width:unset!important}.node-services-openclash #tab-header ul li.selected,.node-services-openclash #tab-header ul li{color:#000!important;background-color:unset!important}.node-nas-qbittorrent p#qBittorrent_status input{line-height:unset}.node-system-diskman.dialog-format-active #dialog_format .dialog_box{background:var(--alertBackground);border-radius:var(--commonRadius1)}.node-services-watchcat-plus select[id*="cbi.opt.watchcat"]{width:auto}.node-nas-fileassistant .fb-container .cbi-value-owner,.node-nas-fileassistant .fb-container .cbi-value-perm{display:table-cell}.node-services-adguardhome input[onclick*="window.open('http://'+window.location.hostname+':"]{line-height:0} diff --git a/luci-theme-opentopd/README.md b/luci-theme-opentopd/README.md index 13590e06..a5ae1733 100644 --- a/luci-theme-opentopd/README.md +++ b/luci-theme-opentopd/README.md @@ -143,24 +143,38 @@ opentopd是一款基于luci-theme-material构建,使用HTML5、CSS3编写的Luci ### 你可以随意使用其中的源码,但请注明出处。 + + +## 使用与授权相关说明 + +- 本人开源的所有源码,任何引用需注明本处出处,如需修改二次发布必告之本人,未经许可不得做于任何商用用途。 + + # My other project -网络速度测试 :https://github.com/sirpdboy/NetSpeedTest +- 网络速度测试 :https://github.com/sirpdboy/NetSpeedTest -定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset +- 定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset -关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice +- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice -opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd +- opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd -opentoks 主题: https://github.com/sirpdboy/luci-theme-opentoks [仿KOOLSAHRE主题] +- kucat 主题: https://github.com/sirpdboy/luci-theme-kucat -btmob 主题: https://github.com/sirpdboy/luci-theme-btmob +- 家长控制: https://github.com/sirpdboy/luci-theme-parentcontrol -系统高级设置 : https://github.com/sirpdboy/luci-app-advanced +- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced -ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go +- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go +- 进阶设置(系统高级设置+主题设置kucat/agron/opentopd): https://github.com/sirpdboy/luci-app-advancedplus + +- 设置向导: https://github.com/sirpdboy/luci-app-wizard + +- 分区扩容: https://github.com/sirpdboy/luci-app-partexp + +- lukcy大吉: https://github.com/sirpdboy/luci-app-lukcy ## 捐助 @@ -173,4 +187,3 @@ ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go 图飞了😂 -