diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/Makefile b/package/ctcgfw/luci-app-ssr-plus-Jo/Makefile index 0f4924be94..d4e9df2f3b 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/Makefile +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus-Jo -PKG_VERSION:=1.46 +PKG_VERSION:=1.47 PKG_RELEASE:=8 PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/controller/shadowsocksr.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/controller/shadowsocksr.lua index 3eb8a231e1..fd8a9484f9 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/controller/shadowsocksr.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/controller/shadowsocksr.lua @@ -7,19 +7,17 @@ function index() return end if nixio.fs.access("/usr/bin/ssr-redir") then - entry({"admin", "vpn"}, firstchild(), "VPN", 45).dependent = false + entry({"admin", "vpn"}, firstchild(), "VPN", 45).dependent = false entry({"admin", "vpn", "shadowsocksr"},alias("admin", "vpn", "shadowsocksr", "client"), _("ShadowSocksR Plus+"),10).dependent = true entry({"admin", "vpn", "shadowsocksr", "client"},cbi("shadowsocksr/client"),_("SSR Client"),10).leaf = true - entry({"admin", "vpn", "shadowsocksr", "servers"}, cbi("shadowsocksr/servers"), _("Severs Nodes"), 11).leaf = true - entry({"admin", "vpn", "shadowsocksr", "servers"},arcombine(cbi("shadowsocksr/servers"), cbi("shadowsocksr/client-config")),_("Severs Nodes"), 11).leaf = true + entry({"admin", "vpn", "shadowsocksr", "servers"}, cbi("shadowsocksr/servers"), _("Node List"), 11).leaf = true + entry({"admin", "vpn", "shadowsocksr", "servers"},arcombine(cbi("shadowsocksr/servers"), cbi("shadowsocksr/client-config")),_("Node List"), 11).leaf = true - entry({"admin", "vpn", "shadowsocksr", "subscription"},cbi("shadowsocksr/subscription"), _("Subscription Managenent"),12).leaf = true + entry({"admin", "vpn", "shadowsocksr", "subscription"},cbi("shadowsocksr/subscription"), _("Subscription"),12).leaf = true entry({"admin", "vpn", "shadowsocksr", "control"},cbi("shadowsocksr/control"),_("Access Control"),13).leaf = true - - entry({"admin", "vpn", "shadowsocksr", "list"},cbi("shadowsocksr/list"),_("GFW List"),15).leaf = true + entry({"admin", "vpn", "shadowsocksr", "servers-list"}, cbi("shadowsocksr/servers-list"), _("Severs Nodes"), 14).leaf = true entry({"admin", "vpn", "shadowsocksr", "appointlist"},form("shadowsocksr/appointlist"),_("Appointlist List"), 17).leaf = true - - entry({"admin", "vpn", "shadowsocksr", "automatic"},cbi("shadowsocksr/automatic"), _("Automatic Switching"),20).leaf = true + entry({"admin", "vpn", "shadowsocksr", "udp2raw"},cbi("shadowsocksr/udp2raw"),_("udp2raw tunnel"),16).leaf = true entry({"admin", "vpn", "shadowsocksr", "advanced"},cbi("shadowsocksr/advanced"), _("Advanced Settings"),21).leaf = true elseif nixio.fs.access("/usr/bin/ssr-server") then entry({"admin", "vpn", "shadowsocksr"},alias("admin", "vpn", "shadowsocksr", "server"), _("ShadowSocksR"),10).dependent = true @@ -38,9 +36,77 @@ entry({"admin", "vpn", "shadowsocksr", "appointlist"},form("shadowsocksr/appoint entry({"admin", "vpn", "shadowsocksr", "run"}, call("act_status")) entry({"admin", "vpn", "shadowsocksr", "change"}, call("change_node")) entry({"admin", "vpn", "shadowsocksr", "allserver"}, call("get_servers")) + entry({"admin", "vpn", "shadowsocksr", "subscribe"}, call("get_subscribe")) entry({"admin", "vpn", "shadowsocksr", "ping"}, call("act_ping")).leaf=true end +function get_subscribe() + local cjson = require "cjson" + local e = {} + local uci = luci.model.uci.cursor() + local auto_update = luci.http.formvalue("auto_update") + local auto_update_time = luci.http.formvalue("auto_update_time") + local proxy = luci.http.formvalue("proxy") + local subscribe_url = luci.http.formvalue("subscribe_url") + if subscribe_url ~= "[]" then + local cmd1 = 'uci set shadowsocksr.@server_subscribe[0].auto_update="' .. + auto_update .. '"' + local cmd2 = 'uci set shadowsocksr.@server_subscribe[0].auto_update_time="' .. + auto_update_time .. '"' + local cmd3 = 'uci set shadowsocksr.@server_subscribe[0].proxy="' .. proxy .. '"' + luci.sys.call('uci delete shadowsocksr.@server_subscribe[0].subscribe_url ') + luci.sys.call(cmd1) + luci.sys.call(cmd2) + luci.sys.call(cmd3) + for k, v in ipairs(cjson.decode(subscribe_url)) do + luci.sys.call( + 'uci add_list shadowsocksr.@server_subscribe[0].subscribe_url="' .. v .. + '"') + end + luci.sys.call('uci commit shadowsocksr') + luci.sys.call( + "nohup /usr/share/shadowsocksr/subscribe.sh >/www/check_update.htm 2>/dev/null &") + + e.error = 0 + else + e.error = 1 + end + + luci.http.prepare_content("application/json") + luci.http.write_json(e) + +end +-- 获取所有节点 +function get_servers() + local uci = luci.model.uci.cursor() + local server_table = {} + uci:foreach("shadowsocksr", "servers", function(s) + s["name"] = s[".name"] + table.insert(server_table,s) + end) + luci.http.prepare_content("application/json") + luci.http.write_json(server_table) +end + +-- 切换节点 +function change_node() + local e={} + local uci = luci.model.uci.cursor() + local sid = luci.http.formvalue("set") + local name = "" + uci:foreach("shadowsocksr", "global", function(s) + name = s[".name"] + end) + e.status = false + e.sid = sid + if sid ~= "" then + uci:set("shadowsocksr", name, "global_server" , sid) + luci.sys.call("uci commit shadowsocksr && /etc/init.d/shadowsocksr restart") + e.status = true + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end -- 检测全局服务器状态 function act_status() @@ -278,3 +344,33 @@ function check_ports() end +-- 检测单个节点状态并返回连接速度 +function check_port() + local sockets = require "socket" + local set = luci.http.formvalue("host") + local port = luci.http.formvalue("port") + local retstring = "" + local iret = 1 + iret = luci.sys.call(" ipset add ss_spec_wan_ac " .. set .. " 2>/dev/null") + socket = nixio.socket("inet", "stream") + socket:setopt("socket", "rcvtimeo", 3) + socket:setopt("socket", "sndtimeo", 3) + local t0 = sockets.gettime() + ret = socket:connect(set, port) + if tostring(ret) == "true" then + socket:close() + retstring = "1" + else + retstring = "0" + end + if iret == 0 then + luci.sys.call(" ipset del ss_spec_wan_ac " .. set) + end + local t1 = sockets.gettime() + local tt =t1 -t0 + luci.http.prepare_content("application/json") + luci.http.write_json({ret = retstring , used = math.floor(tt*1000 + 0.5)}) +end + + + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/advanced.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/advanced.lua index 79bc3fcf7c..5c579bf558 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/advanced.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/advanced.lua @@ -98,26 +98,34 @@ table.sort(key_table) m = Map(shadowsocksr) - - --- [[ haProxy ]]-- - -s = m:section(TypedSection, "global_haproxy", translate("haProxy settings")) +-- [[ global ]]-- +s = m:section(TypedSection, "global", translate("Server failsafe auto swith settings")) s.anonymous = true -o = s:option(Flag, "admin_enable", translate("Enabling the Management Console")) +o = s:option(Flag, "monitor_enable", translate("Enable Process Deamon")) o.rmempty = false -o.default = 1 +o.default = "1" -o = s:option(Value, "admin_port", translate("Service Port")) +o = s:option(Flag, "enable_switch", translate("Enable Auto Switch")) +o.rmempty = false +o.default = "1" + +o = s:option(Value, "switch_time", translate("Switch check cycly(second)")) o.datatype = "uinteger" -o.default = 1111 +o:depends("enable_switch", "1") +o.default = 667 + +o = s:option(Value, "switch_timeout", translate("Check timout(second)")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 5 + +o = s:option(Value, "switch_try_count", translate("Check Try Count")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 3 -o = s:option(Value, "admin_user", translate("User name")) -o.default = "admin" -o = s:option(Value, "admin_password", translate("Password")) -o.default = "root" -- [[ SOCKS5 Proxy ]]-- if nixio.fs.access("/usr/bin/ssr-local") then @@ -147,109 +155,38 @@ o.rmempty = false end end - - - --- [[ udp2raw ]]-- -if nixio.fs.access("/usr/bin/udp2raw") then - -s = m:section(TypedSection, "udp2raw", translate("udp2raw tunnel")) +-- [[ adblock ]]-- +s = m:section(TypedSection, "global", translate("adblock settings")) s.anonymous = true -o = s:option(Flag, "udp2raw_enable", translate("Enable udp2raw")) -o.default = 0 +o = s:option(Flag, "adblock", translate("Enable adblock")) o.rmempty = false -o = s:option(Value, "server", translate("Server Address")) -o.datatype = "host" -o.rmempty = false +o = s:option(Value, "adblock_url", translate("adblock_url")) +o.default = "https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt" -o = s:option(Value, "server_port", translate("Server Port")) -o.datatype = "port" -o.rmempty = false +-- [[ haProxy ]]-- -o = s:option(Value, "local_port", translate("Local Port")) -o.datatype = "port" -o.rmempty = false - -o = s:option(Value, "key", translate("Password")) -o.password = true -o.rmempty = false - -o = s:option(ListValue, "raw_mode", translate("Raw Mode")) -for _, v in ipairs(raw_mode) do o:value(v) end -o.default = "faketcp" -o.rmempty = false - -o = s:option(ListValue, "seq_mode", translate("Seq Mode")) -for _, v in ipairs(seq_mode) do o:value(v) end -o.default = "3" -o.rmempty = false - -o = s:option(ListValue, "cipher_mode", translate("Cipher Mode")) -for _, v in ipairs(cipher_mode) do o:value(v) end -o.default = "xor" -o.rmempty = false - -o = s:option(ListValue, "auth_mode", translate("Auth Mode")) -for _, v in ipairs(auth_mode) do o:value(v) end -o.default = "simple" -o.rmempty = false - -end - --- [[ udpspeeder ]]-- -if nixio.fs.access("/usr/bin/udpspeeder") then - -s = m:section(TypedSection, "udpspeeder", translate("UDPspeeder")) +s = m:section(TypedSection, "global_haproxy", translate("haProxy settings")) s.anonymous = true -o = s:option(Flag, "udpspeeder_enable", translate("Enable UDPspeeder")) -o.default = 0 +o = s:option(Flag, "admin_enable", translate("Enabling the Management Console")) o.rmempty = false +o.default = 1 -o = s:option(Value, "server", translate("Server Address")) -o.datatype = "host" -o.rmempty = false - -o = s:option(Value, "server_port", translate("Server Port")) -o.datatype = "port" -o.rmempty = false - -o = s:option(Value, "local_port", translate("Local Port")) -o.datatype = "port" -o.rmempty = false - -o = s:option(Value, "key", translate("Password")) -o.password = true -o.rmempty = false - -o = s:option(ListValue, "speeder_mode", translate("Speeder Mode")) -for _, v in ipairs(speeder_mode) do o:value(v) end -o.default = "0" -o.rmempty = false - -o = s:option(Value, "fec", translate("Fec")) -o.default = "20:10" -o.rmempty = false - -o = s:option(Value, "mtu", translate("Mtu")) +o = s:option(Value, "admin_port", translate("Service Port")) o.datatype = "uinteger" -o.default = 1250 -o.rmempty = false +o.default = 1111 -o = s:option(Value, "queue_len", translate("Queue Len")) -o.datatype = "uinteger" -o.default = 200 -o.rmempty = false +o = s:option(Value, "admin_user", translate("User name")) +o.default = "admin" -o = s:option(Value, "timeout", translate("Fec Timeout")) -o.datatype = "uinteger" -o.default = 8 -o.rmempty = false +o = s:option(Value, "admin_password", translate("Password")) +o.default = "root" -end return m + + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/automatic.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/automatic.lua index 75575d83c7..c8ab721e7d 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/automatic.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/automatic.lua @@ -39,7 +39,11 @@ o.datatype = "uinteger" o:depends("enable_switch", "1") o.default = 5 - +o = s:option(Value, "switch_try_count", translate("Check Try Count")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 3 return m + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client-config.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client-config.lua index d7edf99cfc..286999429c 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client-config.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -136,7 +136,9 @@ o:value("ss", translate("Shadowsocks")) end o.description = translate("Using incorrect encryption mothod may causes service fail to start") - +upload_conf = s:option(FileUpload, "") +upload_conf.template = "cbi/other_upload2" +upload_conf:depends("use_conf_file", 1) o = s:option(Value, "alias", translate("Alias(optional)")) @@ -227,13 +229,13 @@ o.rmempty = true o.default = uuid o:depends("type", "v2ray") --- 加密方式 +-- 鍔犲瘑鏂瑰紡 o = s:option(ListValue, "security", translate("Encrypt Method")) for _, v in ipairs(securitys) do o:value(v, v:upper()) end o.rmempty = true o:depends("type", "v2ray") --- 传输协议 +-- 浼犺緭鍗忚 o = s:option(ListValue, "transport", translate("Transport")) o:value("tcp", "TCP") o:value("kcp", "mKCP") @@ -243,50 +245,50 @@ o:value("quic", "QUIC") o.rmempty = true o:depends("type", "v2ray") --- [[ TCP部分 ]]-- +-- [[ TCP閮ㄥ垎 ]]-- --- TCP伪装 +-- TCP浼 o = s:option(ListValue, "tcp_guise", translate("Camouflage Type")) o:depends("transport", "tcp") o:value("none", translate("None")) o:value("http", "HTTP") o.rmempty = true --- HTTP域名 +-- HTTP鍩熷悕 o = s:option(DynamicList, "http_host", translate("HTTP Host")) o:depends("tcp_guise", "http") o.rmempty = true --- HTTP路径 +-- HTTP璺緞 o = s:option(DynamicList, "http_path", translate("HTTP Path")) o:depends("tcp_guise", "http") o.rmempty = true --- [[ WS部分 ]]-- +-- [[ WS閮ㄥ垎 ]]-- --- WS域名 +-- WS鍩熷悕 o = s:option(Value, "ws_host", translate("WebSocket Host")) o:depends("transport", "ws") o.rmempty = true --- WS路径 +-- WS璺緞 o = s:option(Value, "ws_path", translate("WebSocket Path")) o:depends("transport", "ws") o.rmempty = true --- [[ H2部分 ]]-- +-- [[ H2閮ㄥ垎 ]]-- --- H2域名 +-- H2鍩熷悕 o = s:option(DynamicList, "h2_host", translate("HTTP/2 Host")) o:depends("transport", "h2") o.rmempty = true --- H2路径 +-- H2璺緞 o = s:option(Value, "h2_path", translate("HTTP/2 Path")) o:depends("transport", "h2") o.rmempty = true --- [[ QUIC部分 ]]-- +-- [[ QUIC閮ㄥ垎 ]]-- o = s:option(ListValue, "quic_security", translate("QUIC Security")) o:depends("transport", "quic") @@ -309,7 +311,7 @@ o:value("wechat-video", translate("WechatVideo")) o:value("dtls", "DTLS 1.2") o:value("wireguard", "WireGuard") --- [[ mKCP部分 ]]-- +-- [[ mKCP閮ㄥ垎 ]]-- o = s:option(ListValue, "kcp_guise", translate("Camouflage Type")) o:depends("transport", "kcp") @@ -442,3 +444,4 @@ o:depends("type", "ss") end return m + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client.lua index 4f4779d8b5..2d84149afd 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/client.lua @@ -127,6 +127,12 @@ o:value("1", translate("1 Thread")) o:value("2", translate("2 Threads")) o:value("4", translate("4 Threads")) o:value("8", translate("8 Threads")) +o:value("16", translate("16 Threads")) +o:value("32", translate("32 Threads")) +o:value("64", translate("64 Threads")) +o:value("128", translate("128 Threads")) +o:value("256", translate("256 Threads")) +o:value("512", translate("512 Threads")) o.default = "0" o.rmempty = false diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/control.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/control.lua index e75b31b655..91cf55d756 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/control.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/control.lua @@ -15,44 +15,49 @@ o.datatype = "ip4addr" o = s:taboption("wan_ac", DynamicList, "wan_fw_ips", translate("WAN Force Proxy IP")) o.datatype = "ip4addr" -o = s:taboption("wan_ac", DynamicList, "wan_fk_ips", translate("WAN Fk Proxy IP")) -o.datatype = "ip4addr" - -- Part of LAN s:tab("lan_ac", translate("LAN IP AC")) -o = s:taboption("lan_ac", DynamicList, "lan_ac_ips", translate("LAN Bypassed Host List")) +o = s:taboption("lan_ac", ListValue, "lan_ac_mode", translate("LAN Access Control")) +o:value("0", translate("Disable")) +o:value("w", translate("Allow listed only")) +o:value("b", translate("Allow all except listed")) +o.rmempty = false + +o = s:taboption("lan_ac", DynamicList, "lan_ac_ips", translate("LAN Host List")) o.datatype = "ipaddr" luci.ip.neighbors({ family = 4 }, function(entry) - if entry.reachable then - o:value(entry.dest:string()) - end + if entry.reachable then + o:value(entry.dest:string()) + end +end) +o:depends("lan_ac_mode", "w") +o:depends("lan_ac_mode", "b") + +o = s:taboption("lan_ac", DynamicList, "lan_bp_ips", translate("LAN Bypassed Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({ family = 4 }, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end end) o = s:taboption("lan_ac", DynamicList, "lan_fp_ips", translate("LAN Force Proxy Host List")) o.datatype = "ipaddr" luci.ip.neighbors({ family = 4 }, function(entry) - if entry.reachable then - o:value(entry.dest:string()) - end + if entry.reachable then + o:value(entry.dest:string()) + end end) o = s:taboption("lan_ac", DynamicList, "lan_gm_ips", translate("Game Mode Host List")) o.datatype = "ipaddr" luci.ip.neighbors({ family = 4 }, function(entry) - if entry.reachable then - o:value(entry.dest:string()) - end + if entry.reachable then + o:value(entry.dest:string()) + end end) --- s = m:section(TypedSection, "domain_white_list", translate("Domain White List")) --- s.template = "cbi/tblsection" --- s.anonymous = true --- s.addremove = true --- s.sortable = true - --- o = s:option(Value, "domain_names", translate("Domain name (keyword only)")) - -- Part of Self -- s:tab("self_ac", translate("Router Self AC")) -- o = s:taboption("self_ac",ListValue, "router_proxy", translate("Router Self Proxy")) @@ -96,5 +101,4 @@ o.remove = function(self, section, value) NXFS.writefile(blockconf, "") end -m:section(SimpleSection).template = "shadowsocksr/myip" return m diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/log.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/log.lua index ad60e95829..05b4162fc4 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/log.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/log.lua @@ -12,5 +12,4 @@ function t.cfgvalue() end t.readonly="readonly" - -return f +return f \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/oversealist.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/oversealist.lua new file mode 100644 index 0000000000..112587e889 --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/oversealist.lua @@ -0,0 +1,23 @@ +local fs = require "nixio.fs" +local conffile = "/etc/dnsmasq.oversea/base_list.conf" + +f = SimpleForm("custom", translate("Oversea Custom List")) + +t = f:field(TextValue, "conf") +t.rmempty = true +t.rows = 13 +function t.cfgvalue() + return fs.readfile(conffile) or "" +end + +function f.handle(self, state, data) + if state == FORM_VALID then + if data.conf then + fs.writefile(conffile, data.conf:gsub("\r\n", "\n")) + luci.sys.call("/etc/init.d/dnsmasq restart") + end + end + return true +end + +return f \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server-config.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server-config.lua index c1b4032843..1353bf285f 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server-config.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server-config.lua @@ -377,3 +377,4 @@ o:depends("type", "ssr") return m + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server.lua index d9d9380898..49614309e8 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/server.lua @@ -113,3 +113,4 @@ o.width="10%" m:append(Template("shadowsocksr/server_list")) return m + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers-list.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers-list.lua new file mode 100644 index 0000000000..2785b34ba0 --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers-list.lua @@ -0,0 +1,80 @@ +-- Licensed to the public under the GNU General Public License v3. + +local m, s, o +local shadowsocksr = "shadowsocksr" + +local uci = luci.model.uci.cursor() +local server_count = 0 +uci:foreach("shadowsocksr", "servers", function(s) + server_count = server_count + 1 +end) + +local fs = require "nixio.fs" +local sys = require "luci.sys" + +m = Map(shadowsocksr) +m:section(SimpleSection).template = "shadowsocksr/status" + + +-- [[ Servers Manage ]]-- +s = m:section(TypedSection, "servers") +s.anonymous = true +s.addremove = true +s.description = string.format(translate("Server Count") .. ": %d", server_count) +s.sortable = true +s.template = "cbi/tblsection" +s.extedit = luci.dispatcher.build_url("admin/vpn/shadowsocksr/servers/%s") +function s.create(...) + local sid = TypedSection.create(...) + if sid then + luci.http.redirect(s.extedit % sid) + return + end +end + +o = s:option(DummyValue, "type", translate("Type")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("") +end + +o = s:option(DummyValue, "alias", translate("Alias")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("None") +end + +o = s:option(DummyValue, "server", translate("Server Address")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + +o = s:option(DummyValue, "server_port", translate("Server Port")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + +o = s:option(DummyValue, "encrypt_method", translate("Encrypt Method")) +o.width="10%" + +o = s:option(DummyValue, "protocol", translate("Protocol")) +o.width="10%" + +o = s:option(DummyValue, "obfs", translate("Obfs")) +o.width="10%" +o = s:option(Flag, "switch_enable", translate("Enable Auto Switch")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end +if nixio.fs.access("/usr/bin/kcptun-client") then + +o = s:option(Flag, "kcp_enable", translate("KcpTun")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end +end +o = s:option(DummyValue,"server",translate("Ping Latency")) +o.template="shadowsocksr/ping" +o.width="10%" + +m:append(Template("shadowsocksr/server_list")) + +return m diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers.lua index 8e8a8feb89..abecf94ddf 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/servers.lua @@ -1,80 +1,62 @@ -- Licensed to the public under the GNU General Public License v3. -local d = require "luci.dispatcher" -local fs = require "nixio.fs" -local sys = require "luci.sys" -local uci = require "luci.model.uci".cursor() + local m, s, o local shadowsocksr = "shadowsocksr" + + local uci = luci.model.uci.cursor() local server_count = 0 +local server_table = {} uci:foreach("shadowsocksr", "servers", function(s) - server_count = server_count + 1 + server_count = server_count + 1 + s["name"] = s[".name"] + table.insert(server_table, s) end) +local name = "" +uci:foreach("shadowsocksr", "global", function(s) name = s[".name"] end) + m = Map(shadowsocksr) -m:section(SimpleSection).template = "shadowsocksr/status" --- [[ Servers Manage ]]-- + +m:section(SimpleSection).template = "shadowsocksr/status" + +-- [[ Servers List ]]-- s = m:section(TypedSection, "servers") s.anonymous = true -s.description = string.format(translate("Server Count") .. ": %d", server_count) s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" +s.sortable = false + +s.des = server_count +s.current = uci:get("shadowsocksr", name, "global_server") +s.template = "cbi/add" s.extedit = luci.dispatcher.build_url("admin/vpn/shadowsocksr/servers/%s") function s.create(...) local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end + if sid then + luci.http.redirect(s.extedit % sid) + return + end end + o = s:option(DummyValue, "type", translate("Type")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("") -end +function o.cfgvalue(...) return Value.cfgvalue(...) or translate("") end o = s:option(DummyValue, "alias", translate("Alias")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end +function o.cfgvalue(...) return Value.cfgvalue(...) or translate("None") end o = s:option(DummyValue, "server", translate("Server Address")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or "?" -end +function o.cfgvalue(...) return Value.cfgvalue(...) or "?" end o = s:option(DummyValue, "server_port", translate("Server Port")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or "?" -end -o = s:option(DummyValue, "encrypt_method", translate("Encrypt Method")) -o.width="10%" - -o = s:option(DummyValue, "protocol", translate("Protocol")) -o.width="10%" - -o = s:option(DummyValue, "obfs", translate("Obfs")) -o.width="10%" - -o = s:option(Flag, "switch_enable", translate("Enable Auto Switch")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or "?" -end - +function o.cfgvalue(...) return Value.cfgvalue(...) or "?" end if nixio.fs.access("/usr/bin/kcptun-client") then -o = s:option(Flag, "kcp_enable", translate("KcpTun")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or "?" -end - + o = s:option(DummyValue, "kcp_enable", translate("KcpTun")) + function o.cfgvalue(...) return Value.cfgvalue(...) or "?" end end -o = s:option(DummyValue,"server",translate("Ping Latency")) -o.template="shadowsocksr/ping" -o.width="10%" -m:append(Template("shadowsocksr/server_list")) + return m diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/subscription.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/subscription.lua index 80b2213198..dca0d7de53 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/subscription.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/subscription.lua @@ -1,73 +1,74 @@ --- Licensed to the public under the GNU General Public License v3. - -local m, s, o -local shadowsocksr = "shadowsocksr" - +local shadowsocksr= "shadowsocksr" local uci = luci.model.uci.cursor() -local server_count = 0 -uci:foreach("shadowsocksr", "servers", function(s) - server_count = server_count + 1 -end) +local server_table = {} +local gfwmode=0 +local gfw_count=0 +local ip_count=0 + +if nixio.fs.access("/etc/dnsmasq.ssr/gfw_list.conf") then +gfwmode=1 +end -local fs = require "nixio.fs" local sys = require "luci.sys" + +if gfwmode==1 then + gfw_count = tonumber(sys.exec("cat /etc/dnsmasq.ssr/gfw_list.conf | wc -l"))/2 + +end + + m = Map(shadowsocksr) m:section(SimpleSection).template = "shadowsocksr/status" +-- [[ 节点订阅 ]]-- - -s = m:section(TypedSection, "server_subscribe", translate("Node Subscribe")) +s = m:section(TypedSection, "server_subscribe", translate("Subscription")) s.anonymous = true o = s:option(Flag, "auto_update", translate("Auto Update")) o.rmempty = false o.description = translate("Auto Update Server subscription, GFW list and CHN route") -o = s:option(ListValue, "edition", translate("V2 Edition")) -o:value(" 4.21.3 ", " 4.21.3 ") -o:value("4.20.0", "4.20.0") -o:value("4.19.1", "4.19.1") -o:value("4.18.2", "4.18.2") -o:value("4.18.1", "4.18.1") -o:value("4.18.0", "4.18.0") -o.rmempty = false o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) for t = 0,23 do -o:value(t, t..":00") + o:value(t, t..":00") end o.default=2 o.rmempty = false -o = s:option(DynamicList, "subscribe_url", translate("Subscribe URL")) +o = s:option(DynamicList, "subscribe_url", translate("Subscribe URL"), + translate("Before subscribing please click below to delete all servers in the subscription")) o.rmempty = true o = s:option(Flag, "proxy", translate("Through proxy update")) o.rmempty = false o.description = translate("Through proxy update list, Not Recommended ") -o = s:option(Button,"update",translate("Update All Subscribe Severs")) -o.inputstyle = "apply" -o.write = function() - luci.sys.exec("bash /usr/share/shadowsocksr/subscribe.sh >>/tmp/ssrplus.log 2>&1") - luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "shadowsocksr", "servers")) -end -o = s:option(Button,"update_v2ray",translate("Upgrade V2ray")) -o.inputstyle = "reload" -o.write = function() - luci.sys.call("bash /usr/share/shadowsocksr/v2ray_update1.sh >>/tmp/ssrplus.log 2>&1") -end +o = s:option(DummyValue, "", "") +o.rawhtml = true +o.template = "shadowsocksr/update_subscribe" + + o = s:option(Button,"delete",translate("Delete all severs")) o.inputstyle = "reset" -o.description = string.format(translate("Server Count") .. ": %d", server_count) + + o.write = function() - uci:delete_all("shadowsocksr", "servers", function(s) return true end) - uci:save("shadowsocksr") - luci.sys.call("uci commit shadowsocksr && /etc/init.d/shadowsocksr stop") - luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "shadowsocksr", "servers")) - return + uci:delete_all("vssr", "servers", function(s) return true end) + uci:commit("vssr") + luci.sys.call("uci commit vssrsr && /etc/init.d/vssr stop") + + luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "vssr", "servers")) + return end + + return m + + + + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/udp2raw.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/udp2raw.lua new file mode 100644 index 0000000000..ec1194207a --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/model/cbi/shadowsocksr/udp2raw.lua @@ -0,0 +1,197 @@ +-- Copyright (C) 2017 yushi studio github.com/ywb94 +-- Copyright (C) 2018 lean github.com/coolsnowwolf +-- Licensed to the public under the GNU General Public License v3. + +local m, s, sec, o, kcp_enable +local shadowsocksr = "shadowsocksr" + + +m = Map(shadowsocksr) + +local server_table = {} +local encrypt_methods = { + "none", + "table", + "rc4", + "rc4-md5-6", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf", +} + +local protocol = { + "origin", + "verify_deflate", + "auth_sha1_v4", + "auth_aes128_sha1", + "auth_aes128_md5", + "auth_chain_a", + "auth_chain_b", + "auth_chain_c", + "auth_chain_d", + "auth_chain_e", + "auth_chain_f", +} + +obfs = { + "plain", + "http_simple", + "http_post", + "random_head", + "tls1.2_ticket_auth", +} + +local raw_mode = { + "faketcp", + "udp", + "icmp", +} + +local seq_mode = { + "0", + "1", + "2", + "3", + "4", +} + +local cipher_mode = { + "none", + "xor", + "aes128cbc", +} + +local auth_mode = { + "none", + "simple", + "md5", + "crc32", +} + +local speeder_mode = { + "0", + "1", +} + + + + +-- [[ udp2raw ]]-- +if nixio.fs.access("/usr/bin/udp2raw") then + +s = m:section(TypedSection, "udp2raw", translate(" UDP2raw ")) +s.anonymous = true + +o = s:option(Flag, "udp2raw_enable", translate("Enable udp2raw")) +o.default = 0 +o.rmempty = false + +o = s:option(Value, "server", translate("Server Address")) +o.datatype = "host" +o.rmempty = false + +o = s:option(Value, "server_port", translate("Server Port")) +o.datatype = "port" +o.rmempty = false + +o = s:option(Value, "local_port", translate("Local Port")) +o.datatype = "port" +o.rmempty = false + +o = s:option(Value, "key", translate("Password")) +o.password = true +o.rmempty = false + +o = s:option(ListValue, "raw_mode", translate("Raw Mode")) +for _, v in ipairs(raw_mode) do o:value(v) end +o.default = "faketcp" +o.rmempty = false + +o = s:option(ListValue, "seq_mode", translate("Seq Mode")) +for _, v in ipairs(seq_mode) do o:value(v) end +o.default = "3" +o.rmempty = false + +o = s:option(ListValue, "cipher_mode", translate("Cipher Mode")) +for _, v in ipairs(cipher_mode) do o:value(v) end +o.default = "xor" +o.rmempty = false + +o = s:option(ListValue, "auth_mode", translate("Auth Mode")) +for _, v in ipairs(auth_mode) do o:value(v) end +o.default = "simple" +o.rmempty = false + +end + +-- [[ udpspeeder ]]-- +if nixio.fs.access("/usr/bin/udpspeeder") then + +s = m:section(TypedSection, "udpspeeder", translate("UDPspeeder")) +s.anonymous = true + +o = s:option(Flag, "udpspeeder_enable", translate("Enable UDPspeeder")) +o.default = 0 +o.rmempty = false + +o = s:option(Value, "server", translate("Server Address")) +o.datatype = "host" +o.rmempty = false + +o = s:option(Value, "server_port", translate("Server Port")) +o.datatype = "port" +o.rmempty = false + +o = s:option(Value, "local_port", translate("Local Port")) +o.datatype = "port" +o.rmempty = false + +o = s:option(Value, "key", translate("Password")) +o.password = true +o.rmempty = false + +o = s:option(ListValue, "speeder_mode", translate("Speeder Mode")) +for _, v in ipairs(speeder_mode) do o:value(v) end +o.default = "0" +o.rmempty = false + +o = s:option(Value, "fec", translate("Fec")) +o.default = "20:10" +o.rmempty = false + +o = s:option(Value, "mtu", translate("Mtu")) +o.datatype = "uinteger" +o.default = 1250 +o.rmempty = false + +o = s:option(Value, "queue_len", translate("Queue Len")) +o.datatype = "uinteger" +o.default = 200 +o.rmempty = false + +o = s:option(Value, "timeout", translate("Fec Timeout")) +o.datatype = "uinteger" +o.default = 8 +o.rmempty = false + +end + + + +return m diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/cbi/add.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/cbi/add.htm new file mode 100644 index 0000000000..12ad10f34d --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/cbi/add.htm @@ -0,0 +1,409 @@ + + + + +
+ 服务器列表 (总计 <%- print(self.des)-%>个节点) +
+ <%- local count = 0 -%> +
+ + <%- local isempty = true + for i, k in ipairs(self:cfgsections()) do + section = k + isempty = false + scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" } + -%> + +
+
+ +
+ +
+
+
+
+ <%- if self.extedit or self.addremove then -%> + + <%- end -%> +
+
+ <%- end -%> + + <%- if isempty then -%> +
+

<%:This section contains no values yet%>
+
+ <%- end -%> +
+ + <% if self.error then %> +
+
    <% for _, c in pairs(self.error) do for _, e in ipairs(c) do -%> +
  • <%=pcdata(e):gsub("\n","
    ")%>
  • + <%- end end %>
+
+ <% end %> + + <%- if self.addremove then -%> + <% if self.template_addremove then include(self.template_addremove) else -%> +
+ <% if self.anonymous then %> + + <% else %> + <% if self.invalid_cts then -%>
<% end %> + + + <% if self.invalid_cts then -%> +
<%:Invalid%>
+ <%- end %> + <% end %> +
+ <%- end %> + <%- end -%> +
+
+ + + + + + \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/cbi/other_upload2.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/cbi/other_upload2.htm new file mode 100644 index 0000000000..322616d71a --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/cbi/other_upload2.htm @@ -0,0 +1,6 @@ +<%+cbi/valueheader%> + + + + +<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/check.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/check.htm index e747afa1fd..629e43ef53 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/check.htm +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/check.htm @@ -1,6 +1,7 @@ <%+cbi/valueheader%> diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/checkport.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/checkport.htm index 1db2c79c74..dcaf22e0b1 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/checkport.htm +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/checkport.htm @@ -1,6 +1,7 @@ <%+cbi/valueheader%> diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/myip.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/myip.htm index 0b3d5c8e8b..b3f8c58d85 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/myip.htm +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/myip.htm @@ -1,3 +1,4 @@ + @@ -73,6 +74,7 @@ text-overflow: ellipsis; transform:translateY(10%); } + .sk-text-success { color: #32b643; font-size:15px; @@ -85,6 +87,7 @@ text-align: left; transform:translateY(10%); } + .sk-text-error { color: #e85600; font-size:15px; @@ -97,16 +100,20 @@ text-align: left; transform:translateY(10%); } + h3 { margin: 5px 0 6px; } + p { margin: 10px 0; } + a { text-decoration: none; color: #666; } +
@@ -163,7 +170,7 @@ url2='https://ip.skk.moe'; window.open(url2); } - const $$ = document; + const $$ = document; $$.getElementById('ip-webrtc').innerHTML = '查询中...'; $$.getElementById('ip-pcol').innerHTML = '查询中...'; $$.getElementById('ip-ipify').innerHTML = '查询中...'; @@ -194,7 +201,8 @@ throw error; }), parseIPIpip: (ip, elID) => { - IP.get(`https://api.skk.moe/network/parseIp/ipip/v3/${ip}`, 'json') + + IP.get(`https://api.skk.moe/network/parseIp/ipip/v3/${ip}`, 'json') .then(resp => { let x = ''; for (let i of resp.data) { @@ -293,8 +301,8 @@ $$.getElementById('ip-pcol-ipip').innerHTML = `${data.pro} ${data.city} ${data.region} ${pcisp[1]}`; }; function getIpsbIP(data){ - $$.getElementById('ip-ipsb').innerHTML = data.ip; - IP.parseIPIpip(data.ip, 'ip-ipsb-geo'); + $$.getElementById('ip-ipsb').innerHTML = data.address; + $$.getElementById('ip-ipsb-geo').innerHTML = `${data.country} ${data.province} ${data.city} ${data.isp.name}` }; window.onload=myip_Load(); @@ -310,7 +318,7 @@ var sbip = document.getElementsByTagName('HEAD').item(0); var sbipScript= document.createElement("script"); sbipScript.defer = "defer"; - sbipScript.src='https://api-ipv4.ip.sb/jsonip?callback=getIpsbIP'; + sbipScript.src='https://ip.sb/addrinfo?callback=getIpsbIP'; sbip.appendChild(sbipScript); const $$ = document; @@ -326,8 +334,8 @@ $$.getElementById('ip-pcol-ipip').innerHTML = `${data.pro} ${data.city} ${data.region} ${pcisp[1]}`; }; function getIpsbIP(data){ - $$.getElementById('ip-ipsb').innerHTML = data.ip; - IP.parseIPIpip(data.ip, 'ip-ipsb-geo'); + $$.getElementById('ip-ipsb').innerHTML = data.address; + $$.getElementById('ip-ipsb-geo').innerHTML = `${data.country} ${data.province} ${data.city} ${data.isp.name}` }; setTimeout("myip_Load()",1000*10); @@ -335,6 +343,8 @@ - + + + diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status.htm index e5b8a9b4e6..5e5062844e 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status.htm +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status.htm @@ -1,15 +1,9 @@ - -
-

ShadowSocksR Plus+

-

一个运行在OpenWrt上的科学上网客户端,兼容ShadowsocksShadowsocksRTrojanVmess 等协议的游戏加速工具。 -

- - -
- - <%:Running Status%> - -
-
-
-
-
- + + + + +
+
+
+
+

<%:Client%>
<%:Not Running%>

+
+
+
+
-
-
-

科学上网
未运行✘

-
-
-
-
-
-
-
- -
-
-
-

国外网站
无法访问✘

-
-
-
-
-
-
-
- -
-
-
-

国内网站
无法访问✘

-
-
-
-
-
-
-
- -
-
-
-

游戏模式
未运行✘

-
-
-
-
-
-
-
- -
-
-
-

𝙎𝙊𝘾𝙆𝙎⑤
未运行✘

-
-
-
-
-
-
-
- +
+
+
+
+
+
+ +

国内网站
无法访问✘

+
+
+
+ +
+
+
+
+
+
+
+

国外网站
无法访问✘

+
+
+
+ +
+
+
+
+ +
+
+
+

<%:Game Mode%>
<%:Not Running%>

+
+
+
+ +
+
+
+
+
+
+
+

𝐂𝐡𝐢𝐧𝐚𝐃𝐍𝐒
<%:Not Running%>

+
+
+
+
-
-
-

𝐂𝐡𝐢𝐧𝐚𝐃𝐍𝐒
未运行✘

-
-
+
+
+
+ +
+
+
+

𝙎𝙊𝘾𝙆𝙎5
<%:Not Running%>

+
+
+
+ +
+
+
+
-
+
+ diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status2.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status2.htm index 6dbfd972f0..fa169de58d 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status2.htm +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/status2.htm @@ -1,4 +1,4 @@ - +

SS/SSR/V2RAY 服务端

@@ -18,14 +18,13 @@ min-width: inherit; overflow-x: auto; overflow-y: hidden; - border: 1px solid rgba(0,0,0,.05); + border: 1px solid rgba(0,0,0,.20); border-radius: .375rem; background-color: #4 ; box-shadow: 0 0 2rem 0 rgba(136,152,170,.15); } .img-con{ margin: 1rem; - } .green{ color: #2dce89; @@ -40,26 +39,21 @@ .pure-u-5-8{ display:flex; align-items:center; - } - .block h4{ font-size: 1.3rem; font-weight: bold; margin: 0.75rem 0; - line-height: 1.8em; } @media screen and (max-width: 1920px) { .block h4{ font-size: 1.2rem; - } } @media screen and (max-width: 1690px) { .block h4{ font-size: 1rem; - } } @media screen and (max-width: 1290px) { @@ -71,21 +65,16 @@ } } @media screen and (max-width: 700px) { - .pure-u-1-6{ width:50%; } .img-con{ margin: 0.5rem; - } .block h4{ font-size: 0.81rem; - } } - -
@@ -93,8 +82,8 @@
- -
+ +

科学上网
未运行✘

@@ -203,7 +192,6 @@ } else { tb5.innerHTML = 'V2服务器
未运行✘'; - } } } diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/update_subscribe.htm b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/update_subscribe.htm new file mode 100644 index 0000000000..5844465e21 --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/luasrc/view/shadowsocksr/update_subscribe.htm @@ -0,0 +1,123 @@ +<%+cbi/valueheader%> + + +
+ "> +
+ + + +<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/po/zh_Hans/ssr-plus.zh-cn.lmo b/package/ctcgfw/luci-app-ssr-plus-Jo/po/zh_Hans/ssr-plus.zh-cn.lmo index dfc4e6b406..1fec22dade 100644 Binary files a/package/ctcgfw/luci-app-ssr-plus-Jo/po/zh_Hans/ssr-plus.zh-cn.lmo and b/package/ctcgfw/luci-app-ssr-plus-Jo/po/zh_Hans/ssr-plus.zh-cn.lmo differ diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/china_ssr.txt b/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/china_ssr.txt index 3485b4c373..b182fc7615 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/china_ssr.txt +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/china_ssr.txt @@ -119,6 +119,7 @@ 27.116.44.0/22 27.121.72.0/21 27.121.120.0/21 +27.123.232.0/22 27.128.0.0/15 27.131.220.0/22 27.144.0.0/16 @@ -424,6 +425,7 @@ 43.228.148.0/22 43.228.152.0/22 43.228.188.0/22 +43.229.16.0/22 43.229.40.0/22 43.229.48.0/22 43.229.56.0/22 @@ -705,7 +707,6 @@ 43.240.128.0/22 43.240.132.0/22 43.240.136.0/22 -43.240.144.0/22 43.240.156.0/22 43.240.160.0/22 43.240.164.0/22 @@ -2052,6 +2053,7 @@ 103.12.184.0/22 103.12.232.0/22 103.13.12.0/22 +103.13.72.0/23 103.13.124.0/22 103.13.144.0/22 103.13.196.0/22 @@ -2717,6 +2719,7 @@ 103.47.136.0/22 103.47.140.0/22 103.47.212.0/22 +103.48.20.0/22 103.48.52.0/22 103.48.92.0/22 103.48.144.0/22 @@ -3172,6 +3175,7 @@ 103.76.72.0/22 103.76.84.0/22 103.76.92.0/22 +103.76.104.0/22 103.76.216.0/22 103.76.220.0/22 103.76.224.0/22 @@ -3824,20 +3828,6 @@ 103.124.216.0/22 103.125.20.0/22 103.125.44.0/22 -103.125.132.0/22 -103.125.164.0/22 -103.125.196.0/22 -103.125.236.0/22 -103.125.248.0/22 -103.126.0.0/22 -103.126.16.0/22 -103.126.44.0/22 -103.126.100.0/22 -103.126.124.0/22 -103.126.128.0/22 -103.126.132.0/22 -103.126.208.0/22 -103.126.241.0/24 103.129.52.0/22 103.129.148.0/22 103.130.132.0/22 @@ -3852,67 +3842,6 @@ 103.131.224.0/22 103.131.228.0/22 103.131.240.0/22 -103.132.60.0/22 -103.132.64.0/22 -103.132.68.0/22 -103.132.72.0/22 -103.132.76.0/22 -103.132.80.0/22 -103.132.104.0/22 -103.132.108.0/22 -103.132.112.0/22 -103.132.116.0/22 -103.132.120.0/22 -103.132.160.0/22 -103.132.164.0/22 -103.132.188.0/22 -103.132.208.0/22 -103.132.212.0/22 -103.132.234.0/23 -103.133.12.0/22 -103.133.40.0/22 -103.133.128.0/22 -103.133.136.0/22 -103.133.176.0/22 -103.133.232.0/22 -103.134.12.0/24 -103.134.196.0/22 -103.135.80.0/22 -103.135.124.0/22 -103.135.148.0/22 -103.135.156.0/22 -103.135.160.0/22 -103.135.164.0/22 -103.135.176.0/22 -103.135.184.0/22 -103.135.192.0/22 -103.135.196.0/22 -103.135.236.0/22 -103.136.128.0/22 -103.136.232.0/22 -103.137.57.0/24 -103.137.58.0/23 -103.137.60.0/24 -103.137.76.0/22 -103.137.136.0/23 -103.137.149.0/24 -103.137.180.0/22 -103.137.236.0/22 -103.138.2.0/23 -103.138.12.0/23 -103.138.80.0/22 -103.138.134.0/23 -103.138.156.0/23 -103.138.208.0/23 -103.138.220.0/23 -103.138.246.0/23 -103.138.248.0/23 -103.139.0.0/23 -103.139.2.0/23 -103.139.22.0/23 -103.139.113.0/24 -103.139.134.0/23 -103.139.136.0/23 103.192.0.0/22 103.192.4.0/22 103.192.8.0/22 @@ -5275,11 +5204,9 @@ 116.204.132.0/22 116.204.168.0/22 116.204.216.0/22 -116.204.232.0/22 -116.204.236.0/22 -116.204.244.0/22 116.205.0.0/16 116.206.92.0/22 +116.206.100.0/22 116.206.176.0/22 116.207.0.0/16 116.208.0.0/14 @@ -5700,7 +5627,6 @@ 123.242.196.0/22 123.244.0.0/14 123.249.0.0/16 -123.253.108.0/22 123.254.96.0/22 123.254.100.0/22 124.6.64.0/18 @@ -6197,7 +6123,6 @@ 183.184.0.0/13 183.192.0.0/10 188.131.128.0/17 -192.51.188.0/24 192.55.46.0/24 192.55.68.0/22 192.102.204.0/23 @@ -6221,15 +6146,12 @@ 192.140.208.0/22 192.140.212.0/22 192.144.128.0/17 -192.197.113.0/24 193.112.0.0/16 198.175.100.0/22 -199.212.57.0/24 202.0.100.0/23 202.0.122.0/23 202.0.176.0/22 202.3.128.0/23 -202.3.134.0/24 202.4.128.0/19 202.4.252.0/22 202.5.208.0/22 @@ -6252,7 +6174,6 @@ 202.8.12.0/24 202.8.24.0/24 202.8.77.0/24 -202.8.120.0/22 202.8.128.0/19 202.8.192.0/20 202.9.32.0/24 @@ -6438,7 +6359,6 @@ 202.52.34.0/24 202.52.47.0/24 202.52.143.0/24 -202.52.144.0/24 202.53.140.0/24 202.53.143.0/24 202.57.192.0/22 @@ -6449,7 +6369,6 @@ 202.57.216.0/22 202.57.240.0/20 202.58.0.0/24 -202.58.101.0/24 202.58.104.0/22 202.58.112.0/22 202.59.0.0/24 @@ -6574,7 +6493,6 @@ 202.92.252.0/22 202.93.0.0/22 202.93.252.0/22 -202.94.68.0/24 202.94.74.0/24 202.94.81.0/24 202.94.92.0/22 @@ -7036,6 +6954,7 @@ 203.8.0.0/24 203.8.8.0/24 203.8.23.0/24 +203.8.24.0/21 203.8.70.0/24 203.8.82.0/24 203.8.86.0/23 @@ -7099,6 +7018,7 @@ 203.12.66.0/24 203.12.70.0/23 203.12.87.0/24 +203.12.88.0/21 203.12.100.0/23 203.12.103.0/24 203.12.114.0/24 @@ -7106,6 +7026,7 @@ 203.12.130.0/24 203.12.137.0/24 203.12.196.0/22 +203.12.200.0/21 203.12.211.0/24 203.12.219.0/24 203.12.226.0/24 @@ -7113,6 +7034,7 @@ 203.13.18.0/24 203.13.24.0/24 203.13.44.0/23 +203.13.80.0/21 203.13.88.0/23 203.13.92.0/22 203.13.173.0/24 @@ -7128,6 +7050,7 @@ 203.14.114.0/23 203.14.118.0/24 203.14.162.0/24 +203.14.184.0/21 203.14.192.0/24 203.14.194.0/23 203.14.214.0/24 @@ -7753,7 +7676,6 @@ 203.86.250.0/24 203.86.254.0/23 203.88.32.0/19 -203.88.100.0/22 203.88.192.0/19 203.89.0.0/22 203.89.8.0/21 @@ -7943,7 +7865,6 @@ 203.222.192.0/20 203.223.0.0/20 203.223.16.0/21 -204.52.191.0/24 210.2.0.0/20 210.2.16.0/20 210.5.0.0/19 @@ -8071,6 +7992,7 @@ 211.164.0.0/14 212.64.0.0/17 212.129.128.0/17 +216.250.108.0/22 218.0.0.0/16 218.1.0.0/16 218.2.0.0/15 diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/dnsmasq.ssr/ad.conf b/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/dnsmasq.ssr/ad.conf index b4a57aa73b..6a2ce39cb6 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/dnsmasq.ssr/ad.conf +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/dnsmasq.ssr/ad.conf @@ -1,9 +1,9 @@ -address=/qgjapp.com/127.0.0.1 -address=/wxs666.cn/127.0.0.1 +address=/pufenchuanmu.com/127.0.0.1 address=/0024aaaa.com/127.0.0.1 address=/00880808.com/127.0.0.1 address=/008844.cc/127.0.0.1 address=/0133hao.net/127.0.0.1 +address=/01fen.com/127.0.0.1 address=/02123s.com/127.0.0.1 address=/022aifang.com/127.0.0.1 address=/023hysj.com/127.0.0.1 @@ -277,6 +277,8 @@ address=/9dtiny.cn/127.0.0.1 address=/9h6qq.cn/127.0.0.1 address=/9kff.com/127.0.0.1 address=/9nwg9sib9e.com/127.0.0.1 +address=/9uys.co/127.0.0.1 +address=/9wlm.com/127.0.0.1 address=/9wotuan.com/127.0.0.1 address=/9xiazaiqi.com/127.0.0.1 address=/a.youdao.com/127.0.0.1 @@ -443,6 +445,7 @@ address=/caliyuna.cn/127.0.0.1 address=/cangnews.com/127.0.0.1 address=/caob5.info/127.0.0.1 address=/caolvch.com/127.0.0.1 +address=/caredaily.me/127.0.0.1 address=/carpenterrprp.com/127.0.0.1 address=/cayanfang.com/127.0.0.1 address=/cb.baidu.com/127.0.0.1 @@ -881,6 +884,7 @@ address=/hzxma.com/127.0.0.1 address=/i.zhuoyaju.com/127.0.0.1 address=/i3818.com/127.0.0.1 address=/i92xue.com/127.0.0.1 +address=/icemf.com/127.0.0.1 address=/id528.com/127.0.0.1 address=/idasai.com/127.0.0.1 address=/idasui.cn/127.0.0.1 @@ -961,6 +965,7 @@ address=/jktopia.com/127.0.0.1 address=/jl027.com/127.0.0.1 address=/jlssbz.com/127.0.0.1 address=/jlwljym.com/127.0.0.1 +address=/jnxz88.cn/127.0.0.1 address=/jnyngg.cn/127.0.0.1 address=/johtzj.com/127.0.0.1 address=/josipr.com/127.0.0.1 @@ -998,6 +1003,7 @@ address=/jxxiangchu.com/127.0.0.1 address=/jystea.com/127.0.0.1 address=/k12shequ.com/127.0.0.1 address=/k1815.com/127.0.0.1 +address=/k8yy.tv/127.0.0.1 address=/ka12138.top/127.0.0.1 address=/kan8.xyz/127.0.0.1 address=/kawa11.space/127.0.0.1 @@ -1060,6 +1066,7 @@ address=/laobei.top/127.0.0.1 address=/laolinow.com/127.0.0.1 address=/lashou1000.com/127.0.0.1 address=/lc1b2.cn/127.0.0.1 +address=/lc442.com/127.0.0.1 address=/ldgjhd.net/127.0.0.1 address=/le4le.com/127.0.0.1 address=/leamain.net/127.0.0.1 @@ -1075,7 +1082,9 @@ address=/lhafy.com/127.0.0.1 address=/lhengilin.com/127.0.0.1 address=/lhusy.com/127.0.0.1 address=/liangziweixg.com/127.0.0.1 +address=/liaoren85.com/127.0.0.1 address=/librarymanagement.cn/127.0.0.1 +address=/lievr.cc/127.0.0.1 address=/lifu11.com/127.0.0.1 address=/liliwoin.top/127.0.0.1 address=/linjiajia.cn/127.0.0.1 @@ -1095,6 +1104,7 @@ address=/lnctc.net/127.0.0.1 address=/lnfund.org.cn/127.0.0.1 address=/loandatec.com/127.0.0.1 address=/log.interest.mix.sina.com.cn/127.0.0.1 +address=/lolmp4.com/127.0.0.1 address=/long88.app/127.0.0.1 address=/loveconer.com/127.0.0.1 address=/lovestyl.com/127.0.0.1 @@ -1141,6 +1151,7 @@ address=/meilides.com/127.0.0.1 address=/meimeidaren.com/127.0.0.1 address=/meimeiha.com/127.0.0.1 address=/meiti1.net/127.0.0.1 +address=/mengbingyuan.com/127.0.0.1 address=/mengheyu.com/127.0.0.1 address=/menghuanzs.com/127.0.0.1 address=/mengmengdas.com/127.0.0.1 @@ -1171,12 +1182,14 @@ address=/mr087.cn/127.0.0.1 address=/mrksys.com/127.0.0.1 address=/ms758.com/127.0.0.1 address=/mscimg.com/127.0.0.1 +address=/mskjf.com/127.0.0.1 address=/msltzer.cn/127.0.0.1 address=/mstzym.com/127.0.0.1 address=/msujd.cn/127.0.0.1 address=/mtqys.com/127.0.0.1 address=/mu722.com/127.0.0.1 address=/mushan.xin/127.0.0.1 +address=/mxdregs.com/127.0.0.1 address=/mxmrt.com/127.0.0.1 address=/mygeneclub.com/127.0.0.1 address=/mytzdhz.cn/127.0.0.1 @@ -1295,7 +1308,9 @@ address=/qclcdn.cn/127.0.0.1 address=/qcupup.com/127.0.0.1 address=/qdchunyu.com/127.0.0.1 address=/qdsfzz.cn/127.0.0.1 +address=/qevcxo.cn/127.0.0.1 address=/qfs365.com/127.0.0.1 +address=/qgjapp.com/127.0.0.1 address=/qgss8.com/127.0.0.1 address=/qhaif.com/127.0.0.1 address=/qi-duo.com/127.0.0.1 @@ -1316,6 +1331,7 @@ address=/qmname.com/127.0.0.1 address=/qnvih8.cn/127.0.0.1 address=/qo26.com/127.0.0.1 address=/qoiusky.com/127.0.0.1 +address=/qpokok.com/127.0.0.1 address=/qqm98.com/127.0.0.1 address=/qqtx.me/127.0.0.1 address=/qs01.cn/127.0.0.1 @@ -1378,6 +1394,7 @@ address=/sadobo.com/127.0.0.1 address=/saf588.com/127.0.0.1 address=/safe524.xyz/127.0.0.1 address=/saferwet.com/127.0.0.1 +address=/saitef.cn/127.0.0.1 address=/sangxi.top/127.0.0.1 address=/sanjinma.com/127.0.0.1 address=/sboite.cn/127.0.0.1 @@ -1401,7 +1418,6 @@ address=/sfloushi.com/127.0.0.1 address=/sfxl.com.cn/127.0.0.1 address=/sfz023.com/127.0.0.1 address=/sgbfjs.info/127.0.0.1 -address=/sgftrrs.com/127.0.0.1 address=/shama5.com/127.0.0.1 address=/shandongkuntuo.com/127.0.0.1 address=/shanglinli.com/127.0.0.1 @@ -1413,7 +1429,6 @@ address=/shenglonghg.net/127.0.0.1 address=/shentupk85.com/127.0.0.1 address=/shenyian.net/127.0.0.1 address=/shiftrro.com/127.0.0.1 -address=/shillivee.pro/127.0.0.1 address=/shkywh.com/127.0.0.1 address=/shouwangba.cn/127.0.0.1 address=/shouyouyou.com/127.0.0.1 @@ -1425,7 +1440,6 @@ address=/shxinjie.cn/127.0.0.1 address=/shypqc.com/127.0.0.1 address=/si9377.com/127.0.0.1 address=/sicentlife.com/127.0.0.1 -address=/sifakaoshi360.com/127.0.0.1 address=/sigbusa.com/127.0.0.1 address=/sigo99.com/127.0.0.1 address=/sina-img.club/127.0.0.1 @@ -1494,6 +1508,7 @@ address=/szrk3.com/127.0.0.1 address=/sztbjs.com/127.0.0.1 address=/szxiuchang.com/127.0.0.1 address=/szxpsg.com/127.0.0.1 +address=/szxzytech.com/127.0.0.1 address=/t415n.cn/127.0.0.1 address=/t58b.com/127.0.0.1 address=/t70123.com/127.0.0.1 @@ -1504,6 +1519,7 @@ address=/taobaly.cn/127.0.0.1 address=/taobaoaliyun.cn/127.0.0.1 address=/taobaojx.com/127.0.0.1 address=/taobayun.cn/127.0.0.1 +address=/taoguanda.com/127.0.0.1 address=/taohanpai.com/127.0.0.1 address=/taoyuay.top/127.0.0.1 address=/tbaocdn.com/127.0.0.1 @@ -1670,6 +1686,7 @@ address=/wuyekanba.com/127.0.0.1 address=/wvstatic.cn/127.0.0.1 address=/wwlolbs.com/127.0.0.1 address=/wxbdfm.com/127.0.0.1 +address=/wxs666.cn/127.0.0.1 address=/wxstatic.cn/127.0.0.1 address=/wxxfqc.com/127.0.0.1 address=/wyhzzy.com/127.0.0.1 @@ -1912,6 +1929,7 @@ address=/zitanmushu.com/127.0.0.1 address=/ziyuantx.com/127.0.0.1 address=/zjhim.com/127.0.0.1 address=/zjhoudao.com/127.0.0.1 +address=/zjrtuhds.top/127.0.0.1 address=/zl588.com/127.0.0.1 address=/zmgod.com/127.0.0.1 address=/zmlled.cn/127.0.0.1 @@ -2127,7 +2145,6 @@ address=/imgadsame.liba.com/127.0.0.1 address=/inte.sogou.com/127.0.0.1 address=/ivy.pconline.com.cn/127.0.0.1 address=/iwanad.baidu.com/127.0.0.1 -address=/j.6avz.com/127.0.0.1 address=/j.avz4.com/127.0.0.1 address=/jmsyzj.com/127.0.0.1 address=/js.45bubu.com/127.0.0.1 @@ -2755,6 +2772,7 @@ address=/lraa.xiaoniutui.com/127.0.0.1 address=/luoshenbest.cn/127.0.0.1 address=/lv.myapks.com/127.0.0.1 address=/lyz.radio366.com/127.0.0.1 +address=/m1.100how.com/127.0.0.1 address=/m1.27com.com/127.0.0.1 address=/m1.51kaowang.com/127.0.0.1 address=/m1.81312.com/127.0.0.1 @@ -2804,6 +2822,7 @@ address=/pingshu365.xyz/127.0.0.1 address=/pkk1.zuimeiniwo.com/127.0.0.1 address=/pp.wayqq.com/127.0.0.1 address=/ppt.tianya999.com/127.0.0.1 +address=/pss.meizhejie.com/127.0.0.1 address=/psywed.com/127.0.0.1 address=/ptw.la/127.0.0.1 address=/q1.yyxwzx.com/127.0.0.1 @@ -2822,6 +2841,7 @@ address=/rdbd.xsread.com/127.0.0.1 address=/rmcxw.cn/127.0.0.1 address=/rmcxw.net/127.0.0.1 address=/ruan88.com/127.0.0.1 +address=/s.yaozui.com/127.0.0.1 address=/s.zixuntop.com/127.0.0.1 address=/s1.dapenti.com/127.0.0.1 address=/s1.dugoogle.com/127.0.0.1 @@ -2870,6 +2890,7 @@ address=/undm.qibulo.com/127.0.0.1 address=/union1.cnbetacdn.com/127.0.0.1 address=/uniondm.cz88.net/127.0.0.1 address=/usejj.wangkl.com/127.0.0.1 +address=/uu1.3gu.com/127.0.0.1 address=/uuu.pctowap.com/127.0.0.1 address=/v1.kwpewga.cn/127.0.0.1 address=/v1.phb123.com/127.0.0.1 @@ -3063,6 +3084,7 @@ address=/runkao.net/127.0.0.1 address=/stunninglover.com/127.0.0.1 address=/cryptaloot.pro/127.0.0.1 address=/01w47q.cn/127.0.0.1 +address=/0217qpineuxbcdhopswkvf.xyz/127.0.0.1 address=/0234408.cn/127.0.0.1 address=/02m5j.cn/127.0.0.1 address=/03196688.com/127.0.0.1 @@ -3086,6 +3108,7 @@ address=/118ex.cn/127.0.0.1 address=/119cgpt.com/127.0.0.1 address=/12381236.com/127.0.0.1 address=/12jf3.cn/127.0.0.1 +address=/12rge.xyz/127.0.0.1 address=/12rng.cn/127.0.0.1 address=/1314sss.top/127.0.0.1 address=/1494.top/127.0.0.1 @@ -3167,6 +3190,7 @@ address=/609623.com/127.0.0.1 address=/63xs.com:8016/127.0.0.1 address=/64si.com/127.0.0.1 address=/678sky.com/127.0.0.1 +address=/688ct.com/127.0.0.1 address=/6945k6.cn/127.0.0.1 address=/69u0t.cn/127.0.0.1 address=/69yll.cn/127.0.0.1 @@ -3297,6 +3321,7 @@ address=/baiyangzs.com/127.0.0.1 address=/baolutongwuye.cn/127.0.0.1 address=/bapkt.com/127.0.0.1 address=/barnfps.com/127.0.0.1 +address=/bbbr8.com/127.0.0.1 address=/bbbx.xyz/127.0.0.1 address=/bbeyay41026.cn/127.0.0.1 address=/bbvjs.com/127.0.0.1 @@ -3514,6 +3539,7 @@ address=/dkmnn.top/127.0.0.1 address=/dldsrs.com/127.0.0.1 address=/dlouf.com/127.0.0.1 address=/dlvnxf.cn/127.0.0.1 +address=/dmouy.cn/127.0.0.1 address=/dmpsj.cn/127.0.0.1 address=/dn189.com/127.0.0.1 address=/dnfeu.com/127.0.0.1 @@ -3919,6 +3945,7 @@ address=/jlvskg.cn/127.0.0.1 address=/jlxzt.com/127.0.0.1 address=/jmxlaser.com/127.0.0.1 address=/jndczg.com/127.0.0.1 +address=/jnmqym4.cn/127.0.0.1 address=/jnsdkjzs.com/127.0.0.1 address=/jollyspring.com/127.0.0.1 address=/jotrening.com/127.0.0.1 @@ -3975,6 +4002,7 @@ address=/kjfhe.com/127.0.0.1 address=/kjhfy.com/127.0.0.1 address=/kl6636.net/127.0.0.1 address=/klgzzs.cn/127.0.0.1 +address=/klorn.cn/127.0.0.1 address=/klsadm.com/127.0.0.1 address=/kltent.cn/127.0.0.1 address=/kmfnkj.com/127.0.0.1 @@ -4297,6 +4325,7 @@ address=/qlaot.com/127.0.0.1 address=/qldua.cn/127.0.0.1 address=/qloer.com/127.0.0.1 address=/qlonglong.com/127.0.0.1 +address=/qlssbq.cn/127.0.0.1 address=/qneit.com/127.0.0.1 address=/qq0au.cn/127.0.0.1 address=/qqdashabi.top/127.0.0.1 @@ -4355,6 +4384,7 @@ address=/sczhilong.cn/127.0.0.1 address=/sdabfw.cn/127.0.0.1 address=/sdahxz.xyz/127.0.0.1 address=/sdaiv.com/127.0.0.1 +address=/sdakxz.xyz/127.0.0.1 address=/sdgdtz.cn/127.0.0.1 address=/sdkdm.com/127.0.0.1 address=/sdsqyyc.com/127.0.0.1 @@ -4393,6 +4423,7 @@ address=/smdhek58726.cn/127.0.0.1 address=/smpdth.cn/127.0.0.1 address=/smvip8.cn/127.0.0.1 address=/smxay.com/127.0.0.1 +address=/sokoyo-fq.com/127.0.0.1 address=/sonomoyo.com/127.0.0.1 address=/sonsang.cn/127.0.0.1 address=/sosjyx.com/127.0.0.1 @@ -4692,6 +4723,7 @@ address=/yajiuwz.xyz/127.0.0.1 address=/yanbenji.cn/127.0.0.1 address=/yangzhenpeng.top/127.0.0.1 address=/yanjunbo.com/127.0.0.1 +address=/yantairuide.com/127.0.0.1 address=/ybaih.com/127.0.0.1 address=/ybaiu.com/127.0.0.1 address=/ybanj.com/127.0.0.1 @@ -4716,6 +4748,7 @@ address=/yicixingjinkou.com/127.0.0.1 address=/yicuntian.cn/127.0.0.1 address=/yierheng.top/127.0.0.1 address=/yijieweizf.com/127.0.0.1 +address=/yijuxie.com/127.0.0.1 address=/yikuaiqian.com.cn/127.0.0.1 address=/yimai51.cn/127.0.0.1 address=/yimeize.cn/127.0.0.1 @@ -4797,6 +4830,7 @@ address=/zhamm.cn/127.0.0.1 address=/zhfyws.com/127.0.0.1 address=/zhivalley.cn/127.0.0.1 address=/zhiyaowan.cn/127.0.0.1 +address=/zhongchengzp.com/127.0.0.1 address=/zhongfujiaoyu.cn/127.0.0.1 address=/zhongwangmy.cn/127.0.0.1 address=/zhouqin520.top/127.0.0.1 @@ -4882,173 +4916,357 @@ address=/qhdbfjx.com/127.0.0.1 address=/sohu999.com/127.0.0.1 address=/tcmdz.com/127.0.0.1 address=/withad.cn/127.0.0.1 +address=/1getbestf1le3.xyz/127.0.0.1 +address=/4t6u1amm3t3n.com/127.0.0.1 +address=/9t5.me/127.0.0.1 address=/abgligarchan.com/127.0.0.1 +address=/acmsg.online/127.0.0.1 address=/acticgreasonsc.info/127.0.0.1 +address=/adfrastingathles.info/127.0.0.1 +address=/adsrv.me/127.0.0.1 +address=/adziondin.club/127.0.0.1 address=/aggravedgaree.info/127.0.0.1 address=/agrammemarg.info/127.0.0.1 +address=/agreenikeru.site/127.0.0.1 address=/aickeeho.com/127.0.0.1 +address=/ailaskarc.club/127.0.0.1 +address=/ailwayssteverin.info/127.0.0.1 +address=/aimassare.club/127.0.0.1 +address=/aimrawwas.site/127.0.0.1 address=/airsanguages.info/127.0.0.1 address=/airstossiplarge.info/127.0.0.1 address=/albalbant.com/127.0.0.1 +address=/alealebag.site/127.0.0.1 address=/aleapeact.club/127.0.0.1 +address=/alhistoriousg.info/127.0.0.1 address=/aliticalpassister.info/127.0.0.1 address=/alldeveldefinite.info/127.0.0.1 address=/allycollegedstrie.info/127.0.0.1 +address=/ampallall.site/127.0.0.1 +address=/aniashboy.club/127.0.0.1 +address=/anybagant.club/127.0.0.1 address=/anycadark.site/127.0.0.1 +address=/armashair.site/127.0.0.1 address=/artantash.club/127.0.0.1 address=/arthwhilearthu.info/127.0.0.1 address=/artneesrparkete.info/127.0.0.1 address=/ashaidart.site/127.0.0.1 +address=/ashamparm.site/127.0.0.1 +address=/askaspalb.online/127.0.0.1 address=/atelovesinothic.info/127.0.0.1 address=/atesbrothereso.info/127.0.0.1 address=/atoultou.com/127.0.0.1 address=/augnuxun.net/127.0.0.1 address=/aujaujoa.net/127.0.0.1 address=/aurdeert.net/127.0.0.1 +address=/authornernsa.pro/127.0.0.1 +address=/auxml.com/127.0.0.1 +address=/avwincall.info/127.0.0.1 +address=/awehobrasp.live/127.0.0.1 +address=/aweinkbum.com/127.0.0.1 address=/awhootoa.net/127.0.0.1 +address=/awhoufob.com/127.0.0.1 +address=/ayrovalcontain.info/127.0.0.1 address=/bathibsa.com/127.0.0.1 +address=/bauthair.net/127.0.0.1 address=/bebreloomr.com/127.0.0.1 address=/beewanuk.net/127.0.0.1 +address=/beiven.pw/127.0.0.1 address=/bestvideo2019.xyz/127.0.0.1 +address=/bidiology.com/127.0.0.1 +address=/binsatbee.club/127.0.0.1 +address=/bityah-sym.com/127.0.0.1 +address=/bloglife24.com/127.0.0.1 address=/boratestfishke.info/127.0.0.1 +address=/boubeeth.com/127.0.0.1 address=/boursnormaticm.info/127.0.0.1 address=/bupserge.com/127.0.0.1 +address=/cadslimz.com/127.0.0.1 address=/camantasp.club/127.0.0.1 +address=/canonch.pro/127.0.0.1 +address=/casinohacksforyou.com/127.0.0.1 +address=/cauthuny.net/127.0.0.1 +address=/cdnads.com/127.0.0.1 address=/ceincreatedaughtcha.info/127.0.0.1 +address=/ceparateauab.info/127.0.0.1 +address=/certakesime.site/127.0.0.1 address=/cespousseluniv.info/127.0.0.1 +address=/changement.pro/127.0.0.1 +address=/chengaib.net/127.0.0.1 address=/choorgiw.net/127.0.0.1 +address=/chugagre.com/127.0.0.1 +address=/ckardwithinktab.info/127.0.0.1 +address=/clickathere.com/127.0.0.1 +address=/clickcdn.co/127.0.0.1 address=/collectpush.com/127.0.0.1 +address=/compensions.pro/127.0.0.1 address=/counevan.pro/127.0.0.1 +address=/countertrck.com/127.0.0.1 +address=/cpalabtracking.com/127.0.0.1 +address=/cpcmart.com/127.0.0.1 address=/criminglynuk.pro/127.0.0.1 +address=/cryartarm.online/127.0.0.1 address=/cssimplicanab.info/127.0.0.1 +address=/ctsjackupspete.info/127.0.0.1 address=/culreelt.com/127.0.0.1 +address=/cupallask.site/127.0.0.1 +address=/cutopportings.info/127.0.0.1 +address=/cyneburg-yam.com/127.0.0.1 address=/dacoloment.pro/127.0.0.1 address=/dainaith.net/127.0.0.1 address=/dardwebertoha.info/127.0.0.1 +address=/dating2cloud.org/127.0.0.1 address=/dcontonalscho.info/127.0.0.1 address=/dddomainccc.com/127.0.0.1 +address=/decisionediv.site/127.0.0.1 +address=/delainlygoverhe.info/127.0.0.1 +address=/denotatorum.site/127.0.0.1 +address=/desigactinific.pro/127.0.0.1 address=/dgafgadsgkjg.top/127.0.0.1 +address=/diantcummiere.info/127.0.0.1 +address=/dimessing-parker.com/127.0.0.1 address=/dingsincernett.info/127.0.0.1 +address=/discoverapp.xyz/127.0.0.1 +address=/ditookry.com/127.0.0.1 address=/dmastescaugh.info/127.0.0.1 +address=/dolsoste.com/127.0.0.1 +address=/domisesvivin.info/127.0.0.1 +address=/dooptoug.net/127.0.0.1 address=/dorthuredwardles.info/127.0.0.1 +address=/dortoolr.com/127.0.0.1 +address=/duchoono.com/127.0.0.1 +address=/duhochid.net/127.0.0.1 address=/duxumpou.com/127.0.0.1 +address=/e2ertt.com/127.0.0.1 +address=/echoazou.com/127.0.0.1 +address=/edcritessuspi.info/127.0.0.1 address=/edencourtbrita.info/127.0.0.1 +address=/edoutoam.net/127.0.0.1 address=/edvforeveretest.info/127.0.0.1 address=/eeltaung.com/127.0.0.1 address=/eengaums.com/127.0.0.1 address=/eergurty.net/127.0.0.1 address=/eforeantheirma.info/127.0.0.1 address=/egroacho.com/127.0.0.1 +address=/elastinabuker.site/127.0.0.1 +address=/eleasuredfas.info/127.0.0.1 address=/ememoricane.info/127.0.0.1 address=/encountryf.pro/127.0.0.1 +address=/enormitteen.pro/127.0.0.1 address=/enseptedsome.info/127.0.0.1 address=/entstronicsform.info/127.0.0.1 +address=/entualagreetsd.info/127.0.0.1 address=/epresententifi.info/127.0.0.1 +address=/eralsstroying.info/127.0.0.1 address=/eraltradiansid.info/127.0.0.1 address=/erkhxw.com/127.0.0.1 address=/erversarycompa.info/127.0.0.1 +address=/esauwoan.com/127.0.0.1 address=/estionexperime.info/127.0.0.1 address=/eunformeranothe.info/127.0.0.1 +address=/eyhempsedinte.info/127.0.0.1 address=/fadsans.com/127.0.0.1 +address=/fadsanz.com/127.0.0.1 +address=/fadsecs.com/127.0.0.1 address=/fadsims.com/127.0.0.1 +address=/fadsips.com/127.0.0.1 address=/fadslims.com/127.0.0.1 address=/fadsoks.com/127.0.0.1 address=/fadspmz.com/127.0.0.1 address=/fagmomqua.site/127.0.0.1 address=/fazoumee.net/127.0.0.1 +address=/feed.r-tb.com/127.0.0.1 +address=/feed777.me/127.0.0.1 address=/feelineweatyeng.info/127.0.0.1 +address=/ffortyimagist.info/127.0.0.1 address=/fishkekcamp.info/127.0.0.1 +address=/fixsirrod.site/127.0.0.1 +address=/flowwiththetide.xyz/127.0.0.1 address=/fufoatch.com/127.0.0.1 address=/fuyuap.xyz/127.0.0.1 +address=/g2afse.com/127.0.0.1 address=/gadsans.com/127.0.0.1 +address=/gadsanz.com/127.0.0.1 +address=/gadsats.com/127.0.0.1 address=/gadsecz.com/127.0.0.1 address=/gadsimz.com/127.0.0.1 address=/gadsipz.com/127.0.0.1 +address=/gadskis.com/127.0.0.1 +address=/gadsokz.com/127.0.0.1 +address=/gapsfartrely.best/127.0.0.1 +address=/gardoult.com/127.0.0.1 +address=/gdmconvtrck.com/127.0.0.1 +address=/gebralefukim.site/127.0.0.1 address=/gedspecificano.info/127.0.0.1 +address=/gleergie.net/127.0.0.1 +address=/global-surveys.co/127.0.0.1 +address=/globwo.online/127.0.0.1 address=/glomseci.com/127.0.0.1 address=/gludraus.com/127.0.0.1 address=/go2.global/127.0.0.1 +address=/gobovoul.net/127.0.0.1 +address=/gongeeta.net/127.0.0.1 +address=/gragliapastri.info/127.0.0.1 +address=/grampouz.net/127.0.0.1 address=/graunada.com/127.0.0.1 +address=/grementessenti.info/127.0.0.1 address=/grexoacu.com/127.0.0.1 address=/groackam.com/127.0.0.1 +address=/grubsoan.com/127.0.0.1 +address=/h3btqpy2abc3.com/127.0.0.1 +address=/haftobso.net/127.0.0.1 address=/hamadotax.site/127.0.0.1 +address=/haypaydig.club/127.0.0.1 +address=/heckagny.com/127.0.0.1 +address=/himselvepostly.site/127.0.0.1 address=/hoosorie.com/127.0.0.1 +address=/hounicuy.com/127.0.0.1 +address=/housandady.site/127.0.0.1 address=/housopsi.net/127.0.0.1 address=/huckauhy.com/127.0.0.1 address=/hwhiffonprotect.info/127.0.0.1 +address=/ideliv.net/127.0.0.1 +address=/iglaique.net/127.0.0.1 +address=/imounsos.com/127.0.0.1 address=/ingdaughtexam.info/127.0.0.1 address=/ingprographyt.info/127.0.0.1 +address=/inpagepush.com/127.0.0.1 +address=/instantresp.com/127.0.0.1 +address=/inwig3aqg9xq.com/127.0.0.1 +address=/ionrefreshotsev.info/127.0.0.1 +address=/ipsoorel.com/127.0.0.1 +address=/iulianus-mon.com/127.0.0.1 address=/jahediretictho.info/127.0.0.1 +address=/jamestop.xyz/127.0.0.1 +address=/jaugloup.com/127.0.0.1 +address=/jechesmacaltont.info/127.0.0.1 +address=/jicmutse.com/127.0.0.1 address=/jinsoopt.net/127.0.0.1 +address=/joawapti.net/127.0.0.1 address=/justookr.net/127.0.0.1 address=/katerigordas.pro/127.0.0.1 address=/kaukoany.net/127.0.0.1 address=/kcampairsang.info/127.0.0.1 address=/keepaira.net/127.0.0.1 +address=/kegpoihat.club/127.0.0.1 address=/ketstheralinver.info/127.0.0.1 +address=/kitferdog.site/127.0.0.1 address=/knottishhuntilc.info/127.0.0.1 address=/koocaucy.com/127.0.0.1 address=/koutobey.net/127.0.0.1 +address=/kudzuphloemgunk.tech/127.0.0.1 address=/kumanaun.net/127.0.0.1 +address=/labortiontrifee.info/127.0.0.1 address=/ladsdown.com/127.0.0.1 address=/laichaim.net/127.0.0.1 address=/lassistslegisten.info/127.0.0.1 address=/ldevillaechildren.info/127.0.0.1 +address=/leathtexactlycin.info/127.0.0.1 +address=/lebkeresxa.ml/127.0.0.1 +address=/leontius-eli.com/127.0.0.1 address=/lessite.pro/127.0.0.1 +address=/linkev.com/127.0.0.1 +address=/loaphour.com/127.0.0.1 address=/locothet.com/127.0.0.1 address=/loobusir.com/127.0.0.1 address=/lutachechu.pro/127.0.0.1 +address=/lynormationpas.info/127.0.0.1 address=/lyzenoti.pro/127.0.0.1 +address=/madplypie.club/127.0.0.1 +address=/madsans.com/127.0.0.1 +address=/maihaimo.com/127.0.0.1 address=/maipoted.com/127.0.0.1 +address=/mauzobou.net/127.0.0.1 address=/mbethnarrowe.info/127.0.0.1 address=/mbledeparatea.info/127.0.0.1 +address=/meehaina.net/127.0.0.1 +address=/megmobpoi.club/127.0.0.1 +address=/melo.space/127.0.0.1 +address=/metricfast.com/127.0.0.1 address=/mewnetwag.site/127.0.0.1 address=/mibsooks.net/127.0.0.1 +address=/mikrairs.com/127.0.0.1 +address=/mirafaren.pw/127.0.0.1 address=/moapteeg.net/127.0.0.1 +address=/mob1ledev1ces.com/127.0.0.1 +address=/moderningvigil.pro/127.0.0.1 +address=/monadplug.com/127.0.0.1 +address=/mopushy.com/127.0.0.1 +address=/mozgvya.com/127.0.0.1 +address=/mprisedluxemb.info/127.0.0.1 address=/mptedcazdep.info/127.0.0.1 address=/nadjustifygas.info/127.0.0.1 address=/nailowhe.net/127.0.0.1 +address=/nbasicalbuffere.info/127.0.0.1 +address=/nbf9b5aurl.com/127.0.0.1 +address=/ncefoundanges.info/127.0.0.1 address=/ncylegiatede.info/127.0.0.1 address=/nelsdecademi.info/127.0.0.1 address=/neltoole.net/127.0.0.1 address=/nesoaghu.net/127.0.0.1 address=/nessendencec.info/127.0.0.1 address=/netcatx.com/127.0.0.1 +address=/netpatas.com/127.0.0.1 +address=/newvideos.xyz/127.0.0.1 address=/nfarmerlycompa.info/127.0.0.1 address=/ngholishingsm.info/127.0.0.1 address=/niebrundveepursuede.info/127.0.0.1 address=/nishathlessharr.info/127.0.0.1 address=/nishfarmerlypas.info/127.0.0.1 +address=/nlzz7a3md4sx.com/127.0.0.1 +address=/noagloot.net/127.0.0.1 +address=/noaloheb.com/127.0.0.1 +address=/noclef.com/127.0.0.1 address=/noglolra.com/127.0.0.1 +address=/norakseemlyntr.info/127.0.0.1 +address=/notification-centar.com/127.0.0.1 +address=/notifysrv.com/127.0.0.1 address=/noutstancerewe.info/127.0.0.1 address=/ntsartingaccura.info/127.0.0.1 +address=/ntsimprovide.info/127.0.0.1 address=/oajujirg.net/127.0.0.1 address=/obaukads.com/127.0.0.1 address=/obefjbb4mykw.com/127.0.0.1 +address=/od0gddq27wkk.com/127.0.0.1 address=/officultpolicit.pro/127.0.0.1 +address=/ohmchoicechi.online/127.0.0.1 +address=/olicyconsendsi.info/127.0.0.1 address=/ommodatesjoin.info/127.0.0.1 address=/omoaxaus.net/127.0.0.1 +address=/onalentressionw.info/127.0.0.1 +address=/onindexicowillio.info/127.0.0.1 address=/onscribedpastrong.info/127.0.0.1 address=/ooxoatse.com/127.0.0.1 address=/ophoahik.net/127.0.0.1 +address=/optvx.com/127.0.0.1 +address=/oratedencourse.info/127.0.0.1 address=/oratorsresente.info/127.0.0.1 +address=/orcjagpox.com/127.0.0.1 address=/ortantchangem.info/127.0.0.1 address=/oselyprepartie.info/127.0.0.1 address=/osmondards.pro/127.0.0.1 address=/otsurvedchange.info/127.0.0.1 address=/oughgoalityabo.info/127.0.0.1 +address=/ountapaveralle.info/127.0.0.1 address=/ouzoadru.net/127.0.0.1 address=/overribleintena.info/127.0.0.1 +address=/oweverycanvas.info/127.0.0.1 address=/padsabz.com/127.0.0.1 +address=/padsatz.com/127.0.0.1 address=/padsecs.com/127.0.0.1 address=/pagiwp.com/127.0.0.1 address=/pagnookr.net/127.0.0.1 address=/parketbedde.info/127.0.0.1 address=/pasaigul.com/127.0.0.1 +address=/paula-secundinus.com/127.0.0.1 +address=/paveralleycoun.info/127.0.0.1 address=/peethobo.com/127.0.0.1 +address=/performanceonclick.com/127.0.0.1 +address=/petchesa.net/127.0.0.1 address=/pgradualirelev.info/127.0.0.1 address=/phabsoun.net/127.0.0.1 address=/pharougn.com/127.0.0.1 +address=/pheekrie.com/127.0.0.1 address=/pheevoug.com/127.0.0.1 address=/phookree.com/127.0.0.1 address=/plyvitablesagree.info/127.0.0.1 @@ -5056,85 +5274,164 @@ address=/poleonaryprac.info/127.0.0.1 address=/portedlysarcatc.info/127.0.0.1 address=/possipationd.info/127.0.0.1 address=/poubotem.com/127.0.0.1 +address=/poudeeri.com/127.0.0.1 +address=/powerapp.download/127.0.0.1 address=/poxeemso.com/127.0.0.1 address=/prevealhealth.info/127.0.0.1 address=/productorbash.info/127.0.0.1 address=/productorsy.pro/127.0.0.1 +address=/provisituske.site/127.0.0.1 +address=/pryrhoohs.site/127.0.0.1 address=/psoaksoo.com/127.0.0.1 address=/psoanouy.net/127.0.0.1 address=/ptaivain.net/127.0.0.1 address=/ptiftoud.com/127.0.0.1 address=/ptogheeb.net/127.0.0.1 address=/ptoulsey.com/127.0.0.1 +address=/puntoenun.site/127.0.0.1 +address=/push.house/127.0.0.1 +address=/pushpush.net/127.0.0.1 +address=/pushworldtool.com/127.0.0.1 +address=/rdsb2.club/127.0.0.1 +address=/realsrv.com/127.0.0.1 +address=/realtime-bid.com/127.0.0.1 address=/reasonalattracke.info/127.0.0.1 +address=/redads.biz/127.0.0.1 address=/redappeneticfr.info/127.0.0.1 +address=/redewdit.pro/127.0.0.1 +address=/redirect2719.ws/127.0.0.1 address=/refunsiy.net/127.0.0.1 address=/replentcautiful.info/127.0.0.1 +address=/resbargarettybe.info/127.0.0.1 +address=/returnessety.site/127.0.0.1 address=/revolutelyplan.info/127.0.0.1 +address=/rexadvert.xyz/127.0.0.1 address=/rgvqcsxqge.com/127.0.0.1 address=/rheaddelainlyco.info/127.0.0.1 +address=/riahungardedig.info/127.0.0.1 address=/ridgelorridorsag.info/127.0.0.1 address=/rinedcountilconsiden.info/127.0.0.1 address=/rintellsfundrew.info/127.0.0.1 address=/ripslifestassoci.info/127.0.0.1 address=/riptukri.net/127.0.0.1 address=/rizeintellingente.info/127.0.0.1 +address=/robjamguy.club/127.0.0.1 address=/ronoutom.net/127.0.0.1 address=/roustast.net/127.0.0.1 +address=/routeme.one/127.0.0.1 +address=/routeserve.info/127.0.0.1 address=/rsleaderingmu.info/127.0.0.1 address=/runmeethoomes.info/127.0.0.1 address=/rydresa.info/127.0.0.1 +address=/sadorsagreeng.info/127.0.0.1 address=/sadsecz.com/127.0.0.1 +address=/santrateduk.site/127.0.0.1 address=/sapsixysho.pro/127.0.0.1 +address=/searchmulty.com/127.0.0.1 +address=/securecloud-dt.com/127.0.0.1 address=/seepsocu.net/127.0.0.1 +address=/sexagogal.site/127.0.0.1 address=/sgftrrs.com/127.0.0.1 address=/shenouth.com/127.0.0.1 +address=/shiptoud.com/127.0.0.1 +address=/shoawhom.com/127.0.0.1 address=/silsfrastinggove.info/127.0.0.1 address=/singthouthappi.info/127.0.0.1 +address=/sisewepod.com/127.0.0.1 address=/sisterncoalitical.info/127.0.0.1 address=/smenqskfmpfxnb.bid/127.0.0.1 address=/soagrist.net/127.0.0.1 +address=/soofeest.net/127.0.0.1 address=/sousaira.com/127.0.0.1 address=/spentalwithinga.info/127.0.0.1 address=/ssqualismother.info/127.0.0.1 address=/stargoug.com/127.0.0.1 address=/stoassod.com/127.0.0.1 +address=/stonseeb.net/127.0.0.1 +address=/streamclub.best/127.0.0.1 +address=/streamclub.fun/127.0.0.1 +address=/styheremo.site/127.0.0.1 +address=/supertrackingz.com/127.0.0.1 address=/surfacecharo.info/127.0.0.1 address=/taifouwo.com/127.0.0.1 +address=/tamechangekn.info/127.0.0.1 +address=/tarawerap.com/127.0.0.1 +address=/tartoals.net/127.0.0.1 address=/taryarguestio.info/127.0.0.1 +address=/televeniesuc.pro/127.0.0.1 address=/tentdinationgab.info/127.0.0.1 address=/terialnevitiesini.info/127.0.0.1 address=/thamsais.com/127.0.0.1 +address=/theeburs.com/127.0.0.1 address=/thefastpush.com/127.0.0.1 +address=/thefuncoolstuff.com/127.0.0.1 +address=/themselvebu.site/127.0.0.1 +address=/thigeeph.com/127.0.0.1 address=/thighiny.com/127.0.0.1 +address=/thimoaph.net/127.0.0.1 +address=/thitegnu.net/127.0.0.1 address=/thodsserentlya.info/127.0.0.1 +address=/thomagejut.site/127.0.0.1 +address=/tifybecausingp.info/127.0.0.1 address=/tionpronomyim.info/127.0.0.1 address=/tiveacquisitsprett.info/127.0.0.1 address=/toapsira.net/127.0.0.1 address=/tonewithough.info/127.0.0.1 +address=/totogetica.com/127.0.0.1 +address=/trackingzen.com/127.0.0.1 +address=/trackspeeder.com/127.0.0.1 +address=/trkunited.com/127.0.0.1 address=/tujestimater.pro/127.0.0.1 address=/uagesspecifica.info/127.0.0.1 address=/ufoukolt.com/127.0.0.1 address=/ugoupams.com/127.0.0.1 +address=/uinelypresse.info/127.0.0.1 +address=/ukcomparends.pro/127.0.0.1 +address=/ummerciseha.info/127.0.0.1 +address=/untridrisa.cf/127.0.0.1 +address=/upush.co/127.0.0.1 address=/uremechangec.info/127.0.0.1 address=/urgwritishimpos.info/127.0.0.1 +address=/ushooque.net/127.0.0.1 address=/uthworkreaseu.info/127.0.0.1 address=/utpenedwritted.info/127.0.0.1 address=/utstancecaricit.info/127.0.0.1 address=/veewakim.net/127.0.0.1 +address=/veremund-hon.com/127.0.0.1 +address=/viatepigan.com/127.0.0.1 +address=/viebitgreasy.email/127.0.0.1 +address=/vimdiebid.club/127.0.0.1 +address=/virashux.net/127.0.0.1 +address=/vixirtab.com/127.0.0.1 address=/vknrfwwxhxaxupqp.pro/127.0.0.1 +address=/voluumtracker.com/127.0.0.1 address=/wacucmiy.net/127.0.0.1 address=/wadsotch.com/127.0.0.1 address=/wagoapse.com/127.0.0.1 +address=/wahamtou.net/127.0.0.1 +address=/waitingpresen.info/127.0.0.1 +address=/warsalsintrol.site/127.0.0.1 address=/watchingssui.info/127.0.0.1 +address=/waugeboa.net/127.0.0.1 address=/weegebul.net/127.0.0.1 address=/weethery.com/127.0.0.1 address=/whadaupo.net/127.0.0.1 +address=/whaustou.net/127.0.0.1 +address=/wheessoo.com/127.0.0.1 address=/whoshood.com/127.0.0.1 address=/wimsocou.com/127.0.0.1 +address=/wizwarsum.site/127.0.0.1 address=/woogoust.com/127.0.0.1 address=/woovooza.net/127.0.0.1 +address=/wrongerababan.info/127.0.0.1 +address=/xmlppcbuzz.com/127.0.0.1 +address=/yeprimlax.club/127.0.0.1 +address=/yinsterkneeline.info/127.0.0.1 +address=/z501lpfg9x8v.com/127.0.0.1 +address=/zaivikuk.com/127.0.0.1 address=/zaugroaw.net/127.0.0.1 +address=/zaushegi.net/127.0.0.1 +address=/zrnedsainsteady.info/127.0.0.1 address=/zudrurta.com/127.0.0.1 address=/46.165.197.153/127.0.0.1 address=/46.165.197.231/127.0.0.1 @@ -5146,6 +5443,7 @@ address=/burporess.pro/127.0.0.1 address=/clearadnetwork.com/127.0.0.1 address=/clkrev.com/127.0.0.1 address=/shillivee.pro/127.0.0.1 +address=/steepto.com/127.0.0.1 address=/adminpromotion.com/127.0.0.1 address=/adsalesforce.com/127.0.0.1 address=/amazingfunnvideos.com/127.0.0.1 @@ -5424,7 +5722,6 @@ address=/adbidgo.com/127.0.0.1 address=/adplexo.com/127.0.0.1 address=/adservi.com/127.0.0.1 address=/aebadu.com/127.0.0.1 -address=/aoredi.com/127.0.0.1 address=/bebadu.com/127.0.0.1 address=/billionpops.com/127.0.0.1 address=/cebadu.com/127.0.0.1 @@ -5441,7 +5738,6 @@ address=/doublelimpup.com/127.0.0.1 address=/dsp.wtf/127.0.0.1 address=/earnbigo.com/127.0.0.1 address=/eoredi.com/127.0.0.1 -address=/fabrkrup.com/127.0.0.1 address=/fastpopclick.com/127.0.0.1 address=/fastpopunder.com/127.0.0.1 address=/febadu.com/127.0.0.1 @@ -5604,7 +5900,6 @@ address=/d1ebha2k07asm5.cloudfront.net/127.0.0.1 address=/d1grtyyel8f1mh.cloudfront.net/127.0.0.1 address=/d1i9kr6k34lyp.cloudfront.net/127.0.0.1 address=/d1il9t8pu4dsoj.cloudfront.net/127.0.0.1 -address=/d1ks8roequxbwa.cloudfront.net/127.0.0.1 address=/d1mbgf0ge24riu.cloudfront.net/127.0.0.1 address=/d1n3tk65esqc4k.cloudfront.net/127.0.0.1 address=/d1nmxiiewlx627.cloudfront.net/127.0.0.1 @@ -5681,7 +5976,6 @@ address=/dasfdasfasdf.no-ip.info/127.0.0.1 address=/data.neuroxmedia.com/127.0.0.1 address=/dbam.dashbida.com/127.0.0.1 address=/dbcdqp72lzmvj.cloudfront.net/127.0.0.1 -address=/dc5k8fg5ioc8s.cloudfront.net/127.0.0.1 address=/ddvfoj5yrl2oi.cloudfront.net/127.0.0.1 address=/deacon.ghfkk.com/127.0.0.1 address=/delivery-dev.thebloggernetwork.com/127.0.0.1 @@ -5689,7 +5983,6 @@ address=/delivery.thebloggernetwork.com/127.0.0.1 address=/dew9ckzjyt2gn.cloudfront.net/127.0.0.1 address=/display.digitalriver.com/127.0.0.1 address=/djr4k68f8n55o.cloudfront.net/127.0.0.1 -address=/djv99sxoqpv11.cloudfront.net/127.0.0.1 address=/djz9es32qen64.cloudfront.net/127.0.0.1 address=/dm0acvguygm9h.cloudfront.net/127.0.0.1 address=/dmkdtkad2jyb9.cloudfront.net/127.0.0.1 @@ -5804,9 +6097,32 @@ address=/yeas.yahoo.co.jp/127.0.0.1 address=/yield-op-idsync.live.streamtheworld.com/127.0.0.1 address=/zapads.zapak.com/127.0.0.1 address=/d141wsrw9m4as6.cloudfront.net/127.0.0.1 +address=/d1bxkgbbc428vi.cloudfront.net/127.0.0.1 +address=/d1ilwohzbe4ao6.cloudfront.net/127.0.0.1 +address=/d1jnvfp2m6fzvq.cloudfront.net/127.0.0.1 +address=/d1ks8roequxbwa.cloudfront.net/127.0.0.1 +address=/d1n1ppeppre6d4.cloudfront.net/127.0.0.1 +address=/d1nkvehlw5hmj4.cloudfront.net/127.0.0.1 +address=/d1rjzrtsxlzawf.cloudfront.net/127.0.0.1 +address=/d1w24oanovvxvg.cloudfront.net/127.0.0.1 +address=/d22z575k8abudv.cloudfront.net/127.0.0.1 +address=/d2e30rravz97d4.cloudfront.net/127.0.0.1 +address=/d2glav2919q4cw.cloudfront.net/127.0.0.1 +address=/d31mxuhvwrofft.cloudfront.net/127.0.0.1 +address=/d347nuc6bd1dvs.cloudfront.net/127.0.0.1 address=/d3a49eam5ump99.cloudfront.net/127.0.0.1 +address=/d3b2hhehkqd158.cloudfront.net/127.0.0.1 +address=/d3hj4iyx6t1waz.cloudfront.net/127.0.0.1 +address=/d3kpkrgd3aj4o7.cloudfront.net/127.0.0.1 +address=/d3qu0b872n4q3x.cloudfront.net/127.0.0.1 +address=/d3t3lxfqz2g5hs.cloudfront.net/127.0.0.1 +address=/d3vnm1492fpnm2.cloudfront.net/127.0.0.1 +address=/dc5k8fg5ioc8s.cloudfront.net/127.0.0.1 address=/dn3uy6cx65ujf.cloudfront.net/127.0.0.1 address=/dpd9yiocsyy6p.cloudfront.net/127.0.0.1 +address=/du01z5hhojprz.cloudfront.net/127.0.0.1 +address=/dw9uc6c6b8nwx.cloudfront.net/127.0.0.1 +address=/dxkkb5tytkivf.cloudfront.net/127.0.0.1 address=/iadc.qwapi.com/127.0.0.1 address=/d3jgr4uve1d188.cloudfront.net/127.0.0.1 address=/d3ujids68p6xmq.cloudfront.net/127.0.0.1 @@ -5880,6 +6196,7 @@ address=/djv99sxoqpv11.cloudfront.net/127.0.0.1 address=/dkm6b5q0h53z4.cloudfront.net/127.0.0.1 address=/fontent.streamp1ay.me/127.0.0.1 address=/fun.wormania.io/127.0.0.1 +address=/fun1.arcadeprehacks.com/127.0.0.1 address=/gen.etherscan.io/127.0.0.1 address=/hawk.pcgamer.com/127.0.0.1 address=/imgcache.sythe.org/127.0.0.1 @@ -5898,6 +6215,8 @@ address=/web.tmearn.com/127.0.0.1 address=/ww2.gestyy.com/127.0.0.1 address=/x.castanet.net/127.0.0.1 address=/gontent.steamplay.me/127.0.0.1 +address=/hontent.steamplay.me/127.0.0.1 +address=/vontent.powvideo.net/127.0.0.1 address=/wontent.powvideo.net/127.0.0.1 address=/yontent.powvideo.net/127.0.0.1 address=/meta.streamcloud.eu/127.0.0.1 diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/init.d/shadowsocksr b/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/init.d/shadowsocksr index cef880ee66..09f82f7740 100755 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/init.d/shadowsocksr +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/root/etc/init.d/shadowsocksr @@ -676,7 +676,9 @@ start_redir() { done echo "$(date "+%Y-%m-%d %H:%M:%S") Shadowsocks/ShadowsocksR $threads Threads Started!" >> /tmp/ssrplus.log elif [ "$stype" == "trojan" ] ;then + for i in $(seq 1 $threads); do $sscmd --config /var/etc/trojan-ssr-retcp.json >/dev/null 2>&1 & + done echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd --version 2>&1 | head -1) Started!" >> /tmp/ssrplus.log elif [ "$stype" == "v2ray" ] ;then diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/root/usr/share/shadowsocksr/gentrojanconfig.lua b/package/ctcgfw/luci-app-ssr-plus-Jo/root/usr/share/shadowsocksr/gentrojanconfig.lua index ad14769fc6..73f28d5b29 100644 --- a/package/ctcgfw/luci-app-ssr-plus-Jo/root/usr/share/shadowsocksr/gentrojanconfig.lua +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/root/usr/share/shadowsocksr/gentrojanconfig.lua @@ -30,6 +30,7 @@ local trojan = { tcp = { no_delay = true, keep_alive = true, + reuse_port = true, fast_open = (server.fast_open == "1") and true or false, fast_open_qlen = 20 } diff --git a/package/ctcgfw/luci-app-ssr-plus-Jo/root/www/luci-static/shadowsocksr/css/shadowsocksr.css b/package/ctcgfw/luci-app-ssr-plus-Jo/root/www/luci-static/shadowsocksr/css/shadowsocksr.css new file mode 100644 index 0000000000..d686f06b6f --- /dev/null +++ b/package/ctcgfw/luci-app-ssr-plus-Jo/root/www/luci-static/shadowsocksr/css/shadowsocksr.css @@ -0,0 +1,704 @@ +@import url("flag-icon.min.css"); + +/*! +Pure v1.0.1 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/pure-css/pure/blob/master/LICENSE.md +*/ + + +.pure-g { + letter-spacing: -.31em; + text-rendering: optimizespeed; + font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-align-content: flex-start; + -ms-flex-line-pack: start; + align-content: flex-start +} + +@media all and (-ms-high-contrast:none), +(-ms-high-contrast:active) { + table .pure-g { + display: block + } +} + +.opera-only :-o-prefocus, +.pure-g { + word-spacing: -.43em +} + +.pure-u { + display: inline-block; + zoom: 1; + letter-spacing: normal; + word-spacing: normal; + vertical-align: top; + text-rendering: auto +} + +.pure-g [class*=pure-u] { + font-family: sans-serif +} + +.pure-u-1, +.pure-u-1-1, +.pure-u-1-12, +.pure-u-1-2, +.pure-u-1-24, +.pure-u-1-3, +.pure-u-1-4, +.pure-u-1-5, +.pure-u-1-6, +.pure-u-1-8, +.pure-u-10-24, +.pure-u-11-12, +.pure-u-11-24, +.pure-u-12-24, +.pure-u-13-24, +.pure-u-14-24, +.pure-u-15-24, +.pure-u-16-24, +.pure-u-17-24, +.pure-u-18-24, +.pure-u-19-24, +.pure-u-2-24, +.pure-u-2-3, +.pure-u-2-5, +.pure-u-20-24, +.pure-u-21-24, +.pure-u-22-24, +.pure-u-23-24, +.pure-u-24-24, +.pure-u-3-24, +.pure-u-3-4, +.pure-u-3-5, +.pure-u-3-8, +.pure-u-4-24, +.pure-u-4-5, +.pure-u-5-12, +.pure-u-5-24, +.pure-u-5-5, +.pure-u-5-6, +.pure-u-5-8, +.pure-u-6-24, +.pure-u-7-12, +.pure-u-7-24, +.pure-u-7-8, +.pure-u-8-24, +.pure-u-9-24 { + display: inline-block; + zoom: 1; + letter-spacing: normal; + word-spacing: normal; + vertical-align: top; + text-rendering: auto +} + +.pure-u-1-24 { + width: 4.1667% +} + +.pure-u-1-12, +.pure-u-2-24 { + width: 8.3333% +} + +.pure-u-1-8, +.pure-u-3-24 { + width: 12.5% +} + +.pure-u-1-6, +.pure-u-4-24 { + width: 16.6667% +} + +.pure-u-1-5 { + width: 20% +} + +.pure-u-5-24 { + width: 20.8333% +} + +.pure-u-1-4, +.pure-u-6-24 { + width: 25% +} + +.pure-u-7-24 { + width: 29.1667% +} + +.pure-u-1-3, +.pure-u-8-24 { + width: 33.3333% +} + +.pure-u-3-8, +.pure-u-9-24 { + width: 37.5% +} + +.pure-u-2-5 { + width: 40% +} + +.pure-u-10-24, +.pure-u-5-12 { + width: 41.6667% +} + +.pure-u-11-24 { + width: 45.8333% +} + +.pure-u-1-2, +.pure-u-12-24 { + width: 50% +} + +.pure-u-13-24 { + width: 54.1667% +} + +.pure-u-14-24, +.pure-u-7-12 { + width: 58.3333% +} + +.pure-u-3-5 { + width: 60% +} + +.pure-u-15-24, +.pure-u-5-8 { + width: 62.5% +} + +.pure-u-16-24, +.pure-u-2-3 { + width: 66.6667% +} + +.pure-u-17-24 { + width: 70.8333% +} + +.pure-u-18-24, +.pure-u-3-4 { + width: 75% +} + +.pure-u-19-24 { + width: 79.1667% +} + +.pure-u-4-5 { + width: 80% +} + +.pure-u-20-24, +.pure-u-5-6 { + width: 83.3333% +} + +.pure-u-21-24, +.pure-u-7-8 { + width: 87.5% +} + +.pure-u-11-12, +.pure-u-22-24 { + width: 91.6667% +} + +.pure-u-23-24 { + width: 95.8333% +} + +.pure-u-1, +.pure-u-1-1, +.pure-u-24-24, +.pure-u-5-5 { + width: 100% +} + +.status { + margin: 1rem -0.5rem 1rem -0.5rem; +} + +.block { + margin: 0.5rem 0.5rem; + padding: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + border: 1px solid rgba(0, 0, 0, .05); + border-radius: .500rem; + background-color: #f4; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); +} + +.img-con { + margin: 1rem; + +} +.pure-img{ + max-height: 100%; + width: auto; +} +.green { + font-size: 1.25rem; + color: #2dce89; +} + +.red { + font-size: 1.25rem; + color: #fb6340; +} + +.sk-text-success { + color: #2dce89; +} + +.sk-text-error { + color: #fb6340; +} + +.gap { + margin-right: 0.5rem; +} + +.block img { + width: 48px; + height: auto; + float: right; +} + +.pure-u-5-8 { + display: flex; + align-items: center; + +} + +.block h4 { + font-size: .8125rem; + font-weight: 600; + margin: 1rem; + color: #8898aa !important; + line-height: 1.8em; +} +.p-in5{ + padding: 8px; +} + + .cbi-section-table-row { + position: relative; + background: #f4; + margin: 10px; + padding: 8px 15px 10px 70px; + box-shadow: 0 0 1rem 0 rgba(136,152,170,.75); + border-radius: .5rem; + border: 0; + color: #fff; + text-align: left; + line-height: 1.7em; + white-space: nowrap; +     text-overflow: ellipsis; + overflow: hidden; + transition: all 0.3s; + +} +.cbi-section-table-row:hover{ + background: #fff; + +} + +.cbi-section-table-row.fast{ + background: #5e72e4; + color: #fff; +} + +.cbi-section-table-row.fast .ssr-button{ + color: #fff; +} +.cbi-section-table-row.fast .ssr-button:hover, +.cbi-section-table-row.fast .ssr-button:focus, +.cbi-section-table-row.fast .ssr-button:active { + color: #fff; + outline: 0; + text-decoration: none; + box-shadow: none; +} + +.host_con.fast { + color: #6f9a37; +} + +.host_con.nopass { + color: #dc3545; +} + +.host_con.middle { + color: #fbc658; +} + +.host_con.slow { + color: #fb6340; +} + +.loadings { + position: absolute; + width: 100%; + height: 100%; + background: rgba(255, 255, 255, 0.7); + border-radius: .5rem; + left: 0; + top: 0; + z-index: 10; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + justify-content: center; + align-items: center; + font-size: 30px; + transition: all 0.3s; +} + +.loadings.hide { + opacity: 0; + visibility: hidden; + pointer-events: none; +} + +.loadings span { + animation: anim-rotate 2s infinite linear; + height: 30px; +} + + +.alias{ + margin-bottom:1px; +} +.incon:nth-child(2) { + position: absolute; + left: 0; + top: 0; + width: 61px; + height: 100%; + border: 0; + border-right: #d1dfed 1px solid; + background-position: top; + +} +.incon:nth-child(2) .tp{ + position: absolute; + left: 0; + bottom: 0; + height: 25%; + width: 100%; + text-align: center; + font-size: 12px; + line-height: 15px; + color: #fff; + background: #525f7f; +} + +.incon:nth-child(3) { + padding-left: 0px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.incon:nth-child(5), +.incon:nth-child(6) { + display: none; +} + +.cbi-section-table-cell { + text-align: right; +} + +.ssr-button { + background: none; + color: #525f7f; + padding: 0 0 0 6px; + height: auto; + line-height: 1.5em; +} + +.ssr-button:hover, +.ssr-button:focus, +.ssr-button:active { + color: #525f7f; + outline: 0; + text-decoration: none; + box-shadow: none; +} + +.cbi-section h3 { + margin-left: 10px; + margin-top: 1rem; +} + + + .cbi-button-check { + color: #fff !important; + background-color: #336633 !important; + border-color: #2e6da4 !important; + font-size:12px; + padding:0.5rem 0.8rem; + float:right; + margin-right:10px; + margin-top:0rem; + +} + +.cbi-section-table-cell { + position: relative; +} + +.host_con { + position: absolute; + left: 0; + width: 50px; + text-align: left; + height: 22px; + font-weight: bold; +} + +.host_ok { + color: #fff; + background: #2dce89; + padding: 0.1rem 0.5rem; + border-radius: 0.2rem; +} + +.host_error { + color: #fff; + background: #f5365c; + padding: 0.1rem 0.5rem; + border-radius: 0.2rem; +} +footer.mobile-hide{ + display: block; +} +.cbi-button-add{ + position:fixed; + padding: 0.3rem 0.5rem; + z-index:1000; + width:70px !important; + height:70px; + bottom:90px; + right:55px; + font-size:20px; + border-radius:50%; + display:block; + background-color: #336633!important; + border-color: #CC6699 !important; + box-shadow: 0 0 1rem 0 rgba(136,152,170,.75); + } + + +.mar-10 {margin-left: 50px; margin-right: 10px;} + +.status-bar{ + position: fixed; + bottom: 0; + right: 0; + box-shadow: 0 0 2rem 0 rgba(136,152,170,.3); + color: #525f7f; + background: #fff; + z-index: 5; + box-sizing: border-box; +} + +.status-bar .inner{ + margin: 1em; +} + +.status-bar .inner .flag{ + height: 3em; + display: block; + float: left; + margin-right: 1em; +} +.status-bar .icon-con{ + height: 3em; + text-align: right; +} + + + +@media screen and (max-width: 1900px) { + .pure-u-1-5 { + width: 25%; + } +} + +@media screen and (max-width: 1600px) { + .pure-u-1-5 { + width: 33.33333333%; + } +} + +@media screen and (max-width: 1200px) { + .pure-u-1-5 { + width: 50%; + } + + .status .pure-u-1-5 { + width: 33.333%; + } +} + +@media screen and (max-width: 700px) { + .pure-u-1-4 { + width: 50%; + } + + .pure-u-1-2 { + width: 100%; + } + + .pure-u-1-5 { + width: 100%; + font-size: 14px; + } + + .status .pure-u-1-5 { + width: 50%; + } + + .cbi-button-add { + position: fixed; + padding: 0.3rem 0.5rem; + z-index: 1000; + width: 50px !important; + height: 50px; + bottom: 90px; + right: 5px; + font-size: 16px; + border-radius: 50%; + display: block; + background-color: #fb6340!important; + border-color: #fb6340 !important; + box-shadow: 0 0 1rem 0 rgba(136, 152, 170, .75); + } +} + +.modals-bg { + position: fixed; + z-index: 999; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(255, 255, 255, 0.8); + display: none; +} + +.modals { + position: fixed; + z-index: 100; + width: 60%; + height: 500px; + background: #172b4d; + left: 20%; + top: 15%; + color: #fff; + border-radius: 10px; + padding: 20px; + + box-sizing: border-box; + -moz-box-sizing: border-box; + /* Firefox */ + -webkit-box-sizing: border-box; + /* Safari */ +} + +.modals h2 { + padding: 0 !important; +} + +.modals h3 { + font-size: 14px; + color: #f5365c !important; + background: transparent; + margin: 0; + padding: 0; +} + +#log_content3 { + border: 0; + width: 99%; + height: calc(100% - 4rem); + font-family: 'Lucida Console'; + font-size: 11px; + background: transparent; + color: #FFFFFF; + outline: none; + padding-left: 3px; + padding-right: 22px; + overflow: hidden +} + +@media screen and (max-width: 1024px) { + .modals { + position: fixed; + z-index: 100; + width: 80%; + height: 500px; + background: #172b4d; + left: 10%; + top: 15%; + color: #fff; + border-radius: 10px; + padding: 20px; + } +} + +@media screen and (max-width: 700px) { + .modals-bg { + position: fixed; + z-index: 100000; + + } + + .modals { + width: 100%; + height: 100%; + left: 0; + top: 0; + } + .status-bar .pure-u-1-2{ + width: 50%; + } + .status-bar .inner .flag{ + height: 3em; + display: block; + float: left; + margin-right: 1em; + } + .status-bar .icon-con{ + height: 2.5em; + text-align: right; + } +}