diff --git a/package/jsda/clash/Makefile b/package/jsda/clash/Makefile index 7748a926d5..d77691da9f 100644 --- a/package/jsda/clash/Makefile +++ b/package/jsda/clash/Makefile @@ -1,15 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=clash -PKG_VERSION:=0.15.1 -PKG_RELEASE:=1 +PKG_VERSION:=0.15.5 PKG_MAINTAINER:=frainzy1477 ifeq ($(ARCH),mipsel) PKG_ARCH:=mipsle endif ifeq ($(ARCH),mips) - PKG_ARCH:=mips64 + PKG_ARCH:=mips endif ifeq ($(ARCH),i386) PKG_ARCH:=386 @@ -18,13 +17,13 @@ ifeq ($(ARCH),x86_64) PKG_ARCH:=amd64 endif ifeq ($(ARCH),arm) -PKG_ARCH:=armv6 - ifneq ($(BOARD),bcm53xx) - PKG_ARCH:=armv7 - endif - ifeq ($(BOARD),kirkwood) - PKG_ARCH:=armv5 - endif + PKG_ARCH:=armv6 + ifneq ($(BOARD),bcm53xx) + PKG_ARCH:=armv7 + endif + ifeq ($(BOARD),kirkwood) + PKG_ARCH:=armv5 + endif endif ifeq ($(ARCH),aarch64) PKG_ARCH:=armv8 @@ -58,7 +57,10 @@ endef define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/clash + $(INSTALL_DIR) $(1)/usr/share/clash + $(INSTALL_BIN) $(PKG_BUILD_DIR)/clash-linux-$(PKG_ARCH) $(1)/etc/clash/clash + $(INSTALL_BIN) ./file/core_version $(1)/usr/share/clash/ endef diff --git a/package/jsda/clash/file/core_version b/package/jsda/clash/file/core_version new file mode 100644 index 0000000000..1282fff53b --- /dev/null +++ b/package/jsda/clash/file/core_version @@ -0,0 +1 @@ +0.15.5 diff --git a/package/jsda/luci-app-clash/Makefile b/package/jsda/luci-app-clash/Makefile index f0f4952e7e..5a911325a4 100644 --- a/package/jsda/luci-app-clash/Makefile +++ b/package/jsda/luci-app-clash/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-clash -PKG_VERSION:=1.0.0 -PKG_RELEASE:=1 +PKG_VERSION:=1.1.7 +PKG_RELEASE:=2 PKG_MAINTAINER:=frainzy1477 @@ -13,23 +13,20 @@ define Package/luci-app-clash CATEGORY:=LuCI SUBMENU:=3. Applications TITLE:=LuCI app for clash - DEPENDS:=+bash +coreutils-nohup +wget + DEPENDS:=+luci +luci-base +wget +iptables +coreutils +coreutils-nohup +bash +ipset +libustream-openssl +libopenssl +openssl-util PKGARCH:=all MAINTAINER:=frainzy1477 endef define Package/luci-app-clash/description - LuCI configuration for clash. + Luci Interface for clash. endef -define Package/$(PKG_NAME)/postinst -#!/bin/sh -rm -rf /tmp/luci* -endef define Build/Prepare chmod 777 -R ${CURDIR}/tools/po2lmo ${CURDIR}/tools/po2lmo/src/po2lmo ${CURDIR}/po/zh-cn/clash.po ${CURDIR}/po/zh-cn/clash.zh-cn.lmo + endef define Build/Configure @@ -38,6 +35,74 @@ endef define Build/Compile endef +define Package/$(PKG_NAME)/preinst +#!/bin/sh +if [ -f "/tmp/dnsmasq.d/custom_list.conf" ]; then + rm -rf /tmp/dnsmasq.d/custom_list.conf +fi + +if [ -d "/tmp/dnsmasq.clash" ]; then + rm -rf /tmp/dnsmasq.clash +fi + +if [ -f "/etc/config/clash" ]; then + mv /etc/config/clash /etc/config/clash.bak +fi + +if [ -d "/usr/lib/lua/luci/model/cbi/clash" ]; then + rm -rf /usr/lib/lua/luci/model/cbi/clash +fi + +if [ -d "/usr/lib/lua/luci/view/clash" ]; then + rm -rf /usr/lib/lua/luci/view/clash +fi + +if [ -f /usr/share/clash/new_core_version ]; then + rm -rf /usr/share/clash/new_core_version +fi + +if [ -f /usr/share/clash/new_luci_version ]; then + rm -rf /usr/share/clash/new_luci_version +fi + +if [ -d /usr/share/clash/web ]; then + rm -rf /usr/share/clash/web +fi + +if [ -f /usr/share/clash/config/sub/config.yaml ] && [ "$(ls -l /usr/share/clash/config/sub/config.yaml | awk '{print int($5/1024)}')" -ne 0 ];then + mv /usr/share/clash/config/sub/config.yaml /usr/share/clash/config/sub/config.bak +fi + +if [ -f /usr/share/clash/config/upload/config.yaml ] && [ "$(ls -l /usr/share/clash/config/upload/config.yaml | awk '{print int($5/1024)}')" -ne 0 ];then + mv /usr/share/clash/config/upload/config.yaml /usr/share/clash/config/upload/config.bak +fi + +if [ -f /usr/share/clash/config/custom/config.yaml ] && [ "$(ls -l /usr/share/clash/config/custom/config.yaml | awk '{print int($5/1024)}')" -ne 0 ];then + mv /usr/share/clash/config/custom/config.yaml /usr/share/clash/config/custom/config.bak +fi +endef + +define Package/$(PKG_NAME)/postinst +#!/bin/sh +rm -rf /tmp/luci* + +if [ -f "/etc/config/clash.bak" ]; then + mv /etc/config/clash.bak /etc/config/clash +fi + +if [ -f /usr/share/clash/config/sub/config.bak ];then + mv /usr/share/clash/config/sub/config.bak /usr/share/clash/config/sub/config.yaml +fi + +if [ -f /usr/share/clash/config/upload/config.bak ];then + mv /usr/share/clash/config/upload/config.bak /usr/share/clash/config/upload/config.yaml +fi + +if [ -f /usr/share/clash/config/custom/config.bak ];then + mv /usr/share/clash/config/custom/config.bak /usr/share/clash/config/custom/config.yaml +fi +endef + define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/clash @@ -46,13 +111,22 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_DIR) $(1)/etc/config $(INSTALL_DIR) $(1)/etc/clash - $(INSTALL_DIR) $(1)/www $(INSTALL_DIR) $(1)/usr/lib/lua/luci + $(INSTALL_DIR) $(1)/usr/share/ $(INSTALL_DIR) $(1)/usr/share/clash - $(INSTALL_DIR) $(1)/usr/share/clash/web + $(INSTALL_DIR) $(1)/usr/share/clash/yac $(INSTALL_DIR) $(1)/usr/share/clash/dashboard $(INSTALL_DIR) $(1)/usr/share/clash/dashboard/img $(INSTALL_DIR) $(1)/usr/share/clash/dashboard/js + + $(INSTALL_DIR) $(1)/usr/share/clash/config + $(INSTALL_DIR) $(1)/usr/share/clash/config/sub + $(INSTALL_DIR) $(1)/usr/share/clash/config/upload + $(INSTALL_DIR) $(1)/usr/share/clash/config/custom + + $(INSTALL_BIN) ./root/usr/share/clash/config/upload/config.yaml $(1)/usr/share/clash/config/upload/ + $(INSTALL_BIN) ./root/usr/share/clash/config/custom/config.yaml $(1)/usr/share/clash/config/custom/ + $(INSTALL_BIN) ./root/usr/share/clash/config/sub/config.yaml $(1)/usr/share/clash/config/sub/ $(INSTALL_BIN) ./root/etc/init.d/clash $(1)/etc/init.d/clash $(INSTALL_CONF) ./root/etc/config/clash $(1)/etc/config/clash @@ -61,23 +135,26 @@ define Package/$(PKG_NAME)/install $(INSTALL_BIN) ./root/usr/share/clash/clash-watchdog.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/clash.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/ipdb.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/get_proxy.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/proxy.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/dns.yaml $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/rule.yaml $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/custom_rule.yaml $(1)/usr/share/clash/ - $(INSTALL_BIN) ./root/usr/share/clash/clash_version $(1)/usr/share/clash/ - $(INSTALL_BIN) ./root/usr/share/clash/check_version.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/luci_version $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/check_luci_version.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/check_core_version.sh $(1)/usr/share/clash/ - $(INSTALL_BIN) ./root/usr/share/clash/installed_core.sh $(1)/usr/share/clash/ - $(INSTALL_BIN) ./root/usr/share/clash/proxy.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/yum_change.sh $(1)/usr/share/clash/ - - $(INSTALL_BIN) ./root/usr/share/clash/web/* $(1)/usr/share/clash/web + $(INSTALL_BIN) ./root/usr/share/clash/groups.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/rule.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/list.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/server.list $(1)/usr/share/clash/ + + $(INSTALL_BIN) ./root/usr/share/clash/yac/* $(1)/usr/share/clash/yac/ $(INSTALL_BIN) ./root/usr/share/clash/dashboard/index.html $(1)/usr/share/clash/dashboard/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/main.71cb9fd91422722c5ceb.css $(1)/usr/share/clash/dashboard/ + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/main.557c7e0375c2286ea607.css $(1)/usr/share/clash/dashboard/ $(INSTALL_BIN) ./root/usr/share/clash/dashboard/img/33343e6117c37aaef8886179007ba6b5.png $(1)/usr/share/clash/dashboard/img/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/img/logo.png $(1)/www/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/1.bundle.71cb9fd91422722c5ceb.min.js $(1)/usr/share/clash/dashboard/js/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/bundle.71cb9fd91422722c5ceb.min.js $(1)/usr/share/clash/dashboard/js/ + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/1.bundle.557c7e0375c2286ea607.min.js $(1)/usr/share/clash/dashboard/js/ + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/bundle.557c7e0375c2286ea607.min.js $(1)/usr/share/clash/dashboard/js/ $(INSTALL_DATA) ./luasrc/clash.lua $(1)/usr/lib/lua/luci/ $(INSTALL_DATA) ./luasrc/controller/*.lua $(1)/usr/lib/lua/luci/controller/ @@ -87,4 +164,6 @@ define Package/$(PKG_NAME)/install endef + + $(eval $(call BuildPackage,luci-app-clash)) diff --git a/package/jsda/luci-app-clash/luasrc/controller/clash.lua b/package/jsda/luci-app-clash/luasrc/controller/clash.lua index 2adad8dce5..38b065c68c 100644 --- a/package/jsda/luci-app-clash/luasrc/controller/clash.lua +++ b/package/jsda/luci-app-clash/luasrc/controller/clash.lua @@ -6,19 +6,30 @@ function index() return end - entry({"admin", "services", "clash"},alias("admin", "services", "clash", "overview"), _("Clash"), 60).dependent = false + entry({"admin", "services", "clash"},alias("admin", "services", "clash", "overview"), _("Clash"), 10).dependent = false entry({"admin", "services", "clash", "overview"},cbi("clash/overview"),_("Overview"), 10).leaf = true entry({"admin", "services", "clash", "client"},cbi("clash/client"),_("Client"), 20).leaf = true - entry({"admin", "services", "clash", "settings"}, firstchild(),_("Settings"), 100) - entry({"admin", "services", "clash", "settings", "port"},cbi("clash/port"),_("Proxy Ports"), 100).leaf = true - entry({"admin", "services", "clash", "settings", "dns"},cbi("clash/dns"),_("DNS Settings"), 120).leaf = true - entry({"admin", "services", "clash", "settings", "access"},cbi("clash/access"),_("Access Control"), 130).leaf = true - entry({"admin", "services", "clash", "servers"}, arcombine(cbi("clash/servers"),cbi("clash/servers-config")),_("Servers"), 140).leaf = true - entry({"admin", "services", "clash", "config"},cbi("clash/config"),_("Config"), 150).leaf = true + entry({"admin", "services", "clash", "servers"},cbi("clash/servers"),_("Servers"), 30).leaf = true + entry({"admin", "services", "clash", "servers-config"},cbi("clash/servers-config"), nil).leaf = true + entry({"admin", "services", "clash", "groups"},cbi("clash/groups"), nil).leaf = true + + entry({"admin", "services", "clash", "settings"}, firstchild(),_("Settings"), 40) + entry({"admin", "services", "clash", "settings", "port"},cbi("clash/port"),_("Proxy Ports"), 40).leaf = true + entry({"admin", "services", "clash", "settings", "dns"},cbi("clash/dns"),_("DNS Settings"), 50).leaf = true + entry({"admin", "services", "clash", "settings", "list"},cbi("clash/list"),_("Custom List"), 60).leaf = true + entry({"admin", "services", "clash", "settings", "access"},cbi("clash/access"),_("Access Control"), 70).leaf = true + + entry({"admin", "services", "clash", "config"},firstchild(),_("Config"), 80) + entry({"admin", "services", "clash", "config", "actconfig"},cbi("clash/actconfig"),_("Config In Use"), 90).leaf = true + entry({"admin", "services", "clash", "config", "subconfig"},cbi("clash/subconfig"),_("Subscribe Config"), 100).leaf = true + entry({"admin", "services", "clash", "config", "upconfig"},cbi("clash/upconfig"),_("Uploaded Config"), 110).leaf = true + entry({"admin", "services", "clash", "config", "cusconfig"},cbi("clash/cusconfig"),_("Custom Config"), 120).leaf = true + entry({"admin","services","clash","status"},call("action_status")).leaf=true - entry({"admin", "services", "clash", "log"},cbi("clash/log"),_("Logs"), 160).leaf = true - entry({"admin", "services", "clash", "update"},cbi("clash/update"),_("Update"), 170).leaf = true + entry({"admin", "services", "clash", "log"},cbi("clash/log"),_("Log"), 130).leaf = true + entry({"admin", "services", "clash", "update"},cbi("clash/update"),_("Update"), 140).leaf = true entry({"admin","services","clash","check_status"},call("check_status")).leaf=true + entry({"admin", "services", "clash", "ping"}, call("act_ping")).leaf=true end @@ -43,7 +54,7 @@ local function localip() end local function check_version() - return luci.sys.exec("sh /usr/share/clash/check_version.sh") + return luci.sys.exec("sh /usr/share/clash/check_luci_version.sh") end local function check_core() @@ -51,11 +62,11 @@ local function check_core() end local function current_version() - return luci.sys.exec("sed -n 1p /usr/share/clash/clash_version") + return luci.sys.exec("sed -n 1p /usr/share/clash/luci_version") end local function new_version() - return luci.sys.exec("sed -n 1p /usr/share/clash/new_version") + return luci.sys.exec("sed -n 1p /usr/share/clash/new_luci_version") end local function new_core_version() @@ -63,11 +74,16 @@ local function new_core_version() end local function e_mode() - return luci.sys.exec("grep enhanced-mode: /etc/clash/config.yaml |awk -F ':' '{print $2}'") + return luci.sys.exec("egrep '^ {0,}enhanced-mode' /etc/clash/config.yaml |grep enhanced-mode: |awk -F ': ' '{print $2}'") end + local function clash_core() - return luci.sys.exec("sh /usr/share/clash/installed_core.sh && sed -n 1p /usr/share/clash/installed_core") + if nixio.fs.access("/usr/share/clash/core_version") then + return luci.sys.exec("sed -n 1p /usr/share/clash/core_version") + else + return "0" + end end function check_status() @@ -78,8 +94,8 @@ function check_status() current_version = current_version(), new_version = new_version(), clash_core = clash_core(), - new_core_version = new_core_version(), - e_mode = e_mode() + new_core_version = new_core_version() + }) end @@ -91,12 +107,19 @@ function action_status() localip = localip(), dash_port = dash_port(), current_version = current_version(), - new_version = new_version(), - dash_pass = dash_pass(), clash_core = clash_core(), - new_core_version = new_core_version(), + dash_pass = dash_pass(), e_mode = e_mode() }) end +function act_ping() + local e={} + e.index=luci.http.formvalue("index") + e.ping=luci.sys.exec("ping -c 1 -W 1 %q 2>&1 | grep -o 'time=[0-9]*.[0-9]' | awk -F '=' '{print$2}'"%luci.http.formvalue("domain")) + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + + diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/access.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/access.lua index 52d683abf8..622a6423e9 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/access.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/access.lua @@ -4,16 +4,20 @@ local SYS = require "luci.sys" local HTTP = require "luci.http" local DISP = require "luci.dispatcher" local UTIL = require "luci.util" +local fs = require "luci.clash" +local uci = require "luci.model.uci".cursor() + m = Map("clash") s = m:section(TypedSection, "clash") +--m.pageaction = false s.anonymous = true s.addremove=false md = s:option(Flag, "proxylan", translate("Proxy Lan IP")) md.default = 1 md.rmempty = false -md.description = translate("Only selected IPs will be proxied if enabled") +md.description = translate("Only selected IPs will be proxied if enabled. fake-ip mode not supported") md:depends("rejectlan", 0) @@ -28,6 +32,7 @@ end) o:depends("proxylan", 1) + update_time = SYS.exec("ls -l --full-time /etc/clash/Country.mmdb|awk '{print $6,$7;}'") o = s:option(Button,"update",translate("Update GEOIP Database")) o.title = translate("GEOIP Database") @@ -45,7 +50,7 @@ end md = s:option(Flag, "rejectlan", translate("Bypass Lan IP")) md.default = 1 md.rmempty = false -md.description = translate("Selected IPs will not be proxied if enabled") +md.description = translate("Selected IPs will not be proxied if enabled. fake-ip mode not supported") md:depends("proxylan", 0) @@ -61,5 +66,12 @@ o:depends("rejectlan", 1) +local apply = luci.http.formvalue("cbi.apply") +if apply then + uci:commit("clash") + if luci.sys.call("pidof clash >/dev/null") == 0 then + SYS.call("/etc/init.d/clash restart >/dev/null 2>&1 &") + end +end return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/actconfig.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/actconfig.lua new file mode 100644 index 0000000000..e9ebfbb58f --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/actconfig.lua @@ -0,0 +1,69 @@ + +local NXFS = require "nixio.fs" +local SYS = require "luci.sys" +local HTTP = require "luci.http" +local DISP = require "luci.dispatcher" +local UTIL = require "luci.util" +local uci = require("luci.model.uci").cursor() +local fs = require "luci.clash" +local http = luci.http + + + + +m = Map("clash") +s = m:section(TypedSection, "clash") +m.pageaction = false +s.anonymous = true +s.addremove=false + + +local conf = "/etc/clash/config.yaml" +sev = s:option(TextValue, "conf") +sev.readonly=true +sev.rows = 20 +sev.wrap = "off" +sev.cfgvalue = function(self, section) + return NXFS.readfile(conf) or "" +end +sev.write = function(self, section, value) +end + + +o = s:option(Button,"configrm") +o.inputtitle = translate("Delete Config") +o.write = function() + os.execute("rm -rf /etc/clash/config.yaml 2>&1 &") +end + +o = s:option(Button, "Download") +o.inputtitle = translate("Download Config") +o.inputstyle = "apply" +o.write = function () + local sPath, sFile, fd, block + sPath = "/etc/clash/config.yaml" + sFile = NXFS.basename(sPath) + if fs.isdirectory(sPath) then + fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") + sFile = sFile .. ".tar.gz" + else + fd = nixio.open(sPath, "r") + end + if not fd then + return + end + HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) + HTTP.prepare_content("application/octet-stream") + while true do + block = fd:read(nixio.const.buffersize) + if (not block) or (#block ==0) then + break + else + HTTP.write(block) + end + end + fd:close() + HTTP.close() +end + +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua index 6bfd27712f..1cd85b2145 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua @@ -4,84 +4,34 @@ local HTTP = require "luci.http" local DISP = require "luci.dispatcher" local UTIL = require "luci.util" local uci = require("luci.model.uci").cursor() +local fs = require "luci.clash" +local clash = "clash" -ful = Form("upload", nil) -ful.reset = false -ful.submit = false m = Map("clash") s = m:section(TypedSection, "clash") s.anonymous = true - -o = s:option(Flag, "auto_update", translate("Auto Update")) +o = s:option(Flag, "enable", translate("Enable")) +o.default = 0 o.rmempty = false -o.description = translate("Auto Update Server subscription") +o.description = translate("Enable") -o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) -for t = 0,23 do -o:value(t, t..":00") -end -o.default=0 -o.rmempty = false -o.description = translate("Daily Server subscription update time") +o = s:option(ListValue, "config_type", translate("Config Type")) +o.default = "sub" +o:value("sub", translate("Subscription Config")) +o:value("upl", translate("Uploaded Config")) +o:value("cus", translate("Custom Config")) +o.description = translate("Select Configuration type") -o = s:option(ListValue, "subcri", translate("Subcription Type")) -o.default = clash -o:value("clash", translate("clash")) -o:value("v2rayn2clash", translate("v2rayn2clash")) -o:value("surge2clash", translate("surge2clash")) -o.description = translate("Select Subcription Type, enter only your subcription url without https://tgbot.lbyczf.com/*?") -md = s:option(Flag, "cusrule", translate("Enabled Custom Rule")) -md.default = 1 -md.rmempty = false -md.description = translate("Enabled Custom Rule") -md:depends("subcri", 'v2rayn2clash') -o = s:option(Value, "subscribe_url") -o.title = translate("Subcription Url") -o.description = translate("Server Subscription Address") -o.rmempty = true - -o = s:option(Button,"update") -o.title = translate("Update Subcription") -o.inputtitle = translate("Update") -o.description = translate("Update Config") -o.inputstyle = "reload" -o.write = function() - os.execute("sed -i '/enable/d' /etc/config/clash") - uci:commit("clash") - os.execute("mv /etc/clash/config.yaml /etc/clash/config.bak") - os.execute("rm -rf /tmp/clash.log") - SYS.call("sh /usr/share/clash/clash.sh >>/tmp/clash.log 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "clash", "client")) +local apply = luci.http.formvalue("cbi.apply") +if apply then + uci:commit("clash") + os.execute("/etc/init.d/clash restart >/dev/null 2>&1 &") end - -o = s:option(Button,"enable") -o.title = translate("Start Client") -o.inputtitle = translate("Start Client") -o.description = translate("Enable/Start/Restart Client") -o.inputstyle = "apply" -o.write = function() - uci:set("clash", "config", "enable", 1) - uci:commit("clash") - SYS.call("/etc/init.d/clash restart >/dev/null 2>&1 &") -end - - -o = s:option(Button,"disable") -o.title = translate("Stop Client") -o.inputtitle = translate("Stop Client") -o.description = translate("Disable/Stop Client") -o.inputstyle = "reset" -o.write = function() - uci:set("clash", "config", "enable", 0) - uci:commit("clash") - SYS.call("/etc/init.d/clash stop >/dev/null 2>&1 &") -end - -return m, ful +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua deleted file mode 100644 index bb85b499d1..0000000000 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua +++ /dev/null @@ -1,121 +0,0 @@ - -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local uci = require("luci.model.uci").cursor() -local fs = require "luci.clash" -local http = luci.http - -ful = Form("upload", nil) -ful.reset = false -ful.submit = false - -sul =ful:section(SimpleSection, "", translate("")) -o = sul:option(FileUpload, "") -o.title = translate("Upload Config") -o.template = "clash/clash_upload" -o.description = translate("NB: Only upload file with name config.yml or config.yaml") -um = sul:option(DummyValue, "", nil) -um.template = "clash/clash_dvalue" - -local dir, fd -dir = "/etc/clash/" -http.setfilehandler( - function(meta, chunk, eof) - if not fd then - if not meta then return end - - if meta and chunk then fd = nixio.open(dir .. meta.file, "w") end - - if not fd then - um.value = translate("upload file error.") - return - end - end - if chunk and fd then - fd:write(chunk) - end - if eof and fd then - fd:close() - fd = nil - local clash_conf = "/etc/clash/config.yml" - if NXFS.access(clash_conf) then - os.execute("mv /etc/clash/config.yml /etc/clash/config.yaml") - os.execute("rm -rf /etc/clash/config.yml") - end - um.value = translate("File saved to") .. ' "/etc/clash/config.yaml"' - os.execute("/etc/init.d/clash restart >/dev/null 2>&1 &") - end - end -) - -if luci.http.formvalue("upload") then - - - local f = luci.http.formvalue("ulfile") - if #f <= 0 then - um.value = translate("No specify upload file.") - end -end - - -m = Map("clash") -s = m:section(TypedSection, "clash") -s.anonymous = true -s.addremove=false - - -local conf = "/etc/clash/config.yaml" -sev = s:option(TextValue, "conf") -sev.readonly=true ---update_time = SYS.exec("ls -l --full-time /etc/clash/config.yaml|awk '{print $6,$7;}'") ---sev.description = update_time ---sev.description = translate("Changes to config file must be made from source") -sev.rows = 20 -sev.wrap = "off" -sev.cfgvalue = function(self, section) - return NXFS.readfile(conf) or "" -end -sev.write = function(self, section, value) -end - - -o = s:option(Button,"configrm") -o.inputtitle = translate("Delete Config") -o.write = function() - os.execute("rm -rf /etc/clash/config.yaml") -end - -o = s:option(Button, "Download") -o.inputtitle = translate("Download Config") -o.inputstyle = "apply" -o.write = function () - local sPath, sFile, fd, block - sPath = "/etc/clash/config.yaml" - sFile = NXFS.basename(sPath) - if fs.isdirectory(sPath) then - fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") - sFile = sFile .. ".tar.gz" - else - fd = nixio.open(sPath, "r") - end - if not fd then - return - end - HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) - HTTP.prepare_content("application/octet-stream") - while true do - block = fd:read(nixio.const.buffersize) - if (not block) or (#block ==0) then - break - else - HTTP.write(block) - end - end - fd:close() - HTTP.close() -end - -return ful , m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/cusconfig.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/cusconfig.lua new file mode 100644 index 0000000000..1e81c3bb28 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/cusconfig.lua @@ -0,0 +1,68 @@ + +local NXFS = require "nixio.fs" +local SYS = require "luci.sys" +local HTTP = require "luci.http" +local DISP = require "luci.dispatcher" +local UTIL = require "luci.util" +local uci = require("luci.model.uci").cursor() +local fs = require "luci.clash" +local http = luci.http + + + +m = Map("clash") +s = m:section(TypedSection, "clash") +m.pageaction = false +s.anonymous = true +s.addremove=false + + +local conf = "/usr/share/clash/config/custom/config.yaml" +sev = s:option(TextValue, "conf") +sev.readonly=true +sev.rows = 20 +sev.wrap = "off" +sev.cfgvalue = function(self, section) + return NXFS.readfile(conf) or "" +end +sev.write = function(self, section, value) +end + + +o = s:option(Button,"configrm") +o.inputtitle = translate("Delete Config") +o.write = function() + SYS.call("rm -rf /usr/share/clash/config/custom/config.yaml 2>&1 &") +end + +o = s:option(Button, "Download") +o.inputtitle = translate("Download Config") +o.inputstyle = "apply" +o.write = function () + local sPath, sFile, fd, block + sPath = "/usr/share/clash/config/custom/config.yaml" + sFile = NXFS.basename(sPath) + if fs.isdirectory(sPath) then + fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") + sFile = sFile .. ".tar.gz" + else + fd = nixio.open(sPath, "r") + end + if not fd then + return + end + HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) + HTTP.prepare_content("application/octet-stream") + while true do + block = fd:read(nixio.const.buffersize) + if (not block) or (#block ==0) then + break + else + HTTP.write(block) + end + end + fd:close() + HTTP.close() +end + +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua index a9120c384b..9f5880ee89 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua @@ -8,6 +8,7 @@ local uci = require("luci.model.uci").cursor() m = Map("clash") s = m:section(TypedSection, "clash") +--m.pageaction = false s.anonymous = true s.addremove=false @@ -39,15 +40,20 @@ end o.description = translate("NB: press ENTER to create a blank line at the end of input.") o:depends("mode", 1) + local clash_conf = "/etc/clash/config.yaml" -if NXFS.access(clash_conf) then local apply = luci.http.formvalue("cbi.apply") if apply then +if NXFS.access(clash_conf) then + uci:commit("clash") SYS.call("sh /usr/share/clash/yum_change.sh 2>&1 &") + if luci.sys.call("pidof clash >/dev/null") == 0 then SYS.call("/etc/init.d/clash restart >/dev/null 2>&1 &") + end end end + return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/groups.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/groups.lua new file mode 100644 index 0000000000..5d2ce5b344 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/groups.lua @@ -0,0 +1,68 @@ + +local m, s, o +local clash = "clash" +local uci = luci.model.uci.cursor() +local fs = require "nixio.fs" +local sys = require "luci.sys" +local sid = arg[1] + + +m = Map(clash, translate("Edit Group")) +--m.pageaction = false +m.redirect = luci.dispatcher.build_url("admin/services/clash/servers") +if m.uci:get(clash, sid) ~= "groups" then + luci.http.redirect(m.redirect) + return +end + +-- [[ Groups Setting ]]-- +s = m:section(NamedSection, sid, "groups") +s.anonymous = true +s.addremove = false + +o = s:option(ListValue, "type", translate("Group Type")) +o.rmempty = true +o.description = translate("Choose The Operation Mode") +o:value("select", translate("Select")) +o:value("url-test", translate("URL-Test")) +o:value("fallback", translate("Fallback")) +o:value("load-balance", translate("Load-Balance")) + +o = s:option(Value, "name", translate("Group Name")) +o.rmempty = false + +o = s:option(Value, "test_url", translate("Test URL")) +o.default = "http://www.gstatic.com/generate_204" +o.rmempty = true +o:depends("type", "url-test") +o:depends("type", "fallback") +o:depends("type", "load-balance") + +o = s:option(Value, "test_interval", translate("Test Interval(s)")) +o.default = "300" +o.rmempty = true +o:depends("type", "url-test") +o:depends("type", "fallback") +o:depends("type", "load-balance") + +o = s:option(DynamicList, "other_group", translate("Other Group")) +o.description = translate("Proxy Groups Must Exist In Rule") +uci:foreach("clash", "groups", + function(s) + if s.name ~= "" and s.name ~= nil and s.name ~= m.uci:get(clash, sid, "name") then + o:value(s.name) + end + end) +o:value("DIRECT") +o:value("REJECT") +o:depends("type", "select") +o.rmempty = true + + +local apply = luci.http.formvalue("cbi.apply") +if apply then + uci:commit(clash, sid) + sys.call("/usr/share/clash/groups.sh start") +end + +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/list.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/list.lua new file mode 100644 index 0000000000..f309a709dd --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/list.lua @@ -0,0 +1,57 @@ +local NXFS = require "nixio.fs" +local SYS = require "luci.sys" +local HTTP = require "luci.http" +local DISP = require "luci.dispatcher" +local UTIL = require "luci.util" +local uci = require("luci.model.uci").cursor() +local fs = require "luci.clash" +local clash = "clash" + + +m = Map("clash") +s = m:section(TypedSection, "clash") +--m.pageaction = false +s.anonymous = true + + +y = s:option(ListValue, "cus_list", translate("Status")) +y.default = 0 +y:value("0", translate("disabled")) +y:value("1", translate("enabled")) + + + +o = s:option(Value, "custom_dns", translate("Custom List DNS")) +o:value("114.114.114.114", "114.114.114.114") +o:value("114.114.115.115", "114.114.115.115") +o:value("119.29.29.29", "119.29.29.29") +o:value("4.2.2.1", "4.2.2.1") +o:value("4.2.2.2", "4.2.2.2") +o:value("4.2.2.3", "4.2.2.3") +o:value("4.2.2.4", "4.2.2.4") +o:depends("cus_list", "1") + + + +local conffile = "/usr/share/clash/server.list" +sev = s:option(TextValue, "conffile") +sev.rows = 20 +sev.wrap = "off" +sev.cfgvalue = function(self, section) + return NXFS.readfile(conffile) or "" +end +sev.write = function(self, section, value) + NXFS.writefile(conffile, value:gsub("\r\n", "\n")) +end + + + +local apply = luci.http.formvalue("cbi.apply") +if apply then + uci:commit("clash") + if luci.sys.call("pidof clash >/dev/null") == 0 then + SYS.call("/etc/init.d/clash restart >/dev/null 2>&1 &") + end +end + +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/log.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/log.lua index a9514f5e47..072b8c6130 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/log.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/log.lua @@ -6,13 +6,10 @@ local DISP = require "luci.dispatcher" local UTIL = require "luci.util" local uci = require("luci.model.uci").cursor() -ful = Form("upload", nil) -ful.reset = false -ful.submit = false - m = Map("clash") s = m:section(TypedSection, "clash") +m.pageaction = false s.anonymous = true s.addremove=false @@ -26,14 +23,13 @@ log.cfgvalue = function(self, section) return NXFS.readfile(clog) or "" end log.write = function(self, section, value) - NXFS.writefile(clog, value:gsub("\r\n", "\n")) end o = s:option(Button,"log") o.inputtitle = translate("Clear Logs") o.write = function() - SYS.call('echo "" > /tmp/clash.log') + SYS.call('echo "" > /tmp/clash.log 2>&1 &') HTTP.redirect(DISP.build_url("admin", "services", "clash", "log")) end -return m, ful +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/overview.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/overview.lua index 5b71f6f95b..8d62bae181 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/overview.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/overview.lua @@ -3,14 +3,11 @@ local m local sys = require "luci.sys" local uci = luci.model.uci.cursor() -ful = Form("upload", nil) -ful.reset = false -ful.submit = false m = Map("clash") m:section(SimpleSection).template = "clash/status" +m.pageaction = false - -return m, ful +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/port.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/port.lua index 75aea7fd40..a97e861449 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/port.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/port.lua @@ -7,6 +7,7 @@ local uci = require("luci.model.uci").cursor() m = Map("clash") s = m:section(TypedSection, "clash") +--m.pageaction = false s.anonymous = true o = s:option(Value, "http_port") @@ -30,6 +31,34 @@ o.datatype = "port" o.rmempty = false o.description = translate("Redir Port") + +o = s:option(ListValue, "allow_lan") +o.title = translate("Allow Lan") +o.default = true +o.rmempty = false +o:value("true", "true") +o:value("false", "false") +o.description = translate("Allow Lan") + + +o = s:option(Value, "bind_addr") +o.title = translate("Bind Address") +o:value("*", translate("Bind All IP Addresses")) +luci.ip.neighbors({ family = 4 }, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) +luci.ip.neighbors({ family = 6 }, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) +o.description = translate("Bind Address") +o:depends("allow_lan", "true") + + + o = s:option(Value, "dash_port") o.title = translate("Dashboard Port") o.default = 9191 @@ -52,11 +81,14 @@ o:value("error", "error") o:value("debug", "debug") local clash_conf = "/etc/clash/config.yaml" -if NXFS.access(clash_conf) then local apply = luci.http.formvalue("cbi.apply") if apply then +if NXFS.access(clash_conf) then + uci:commit("clash") SYS.call("sh /usr/share/clash/yum_change.sh 2>&1 &") + if luci.sys.call("pidof clash >/dev/null") == 0 then SYS.call("/etc/init.d/clash restart >/dev/null 2>&1 &") + end end end diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua index 2b38b59818..1496537319 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua @@ -1,5 +1,3 @@ --- Copyright (C) 2017 yushi studio github.com/ywb94 --- Licensed to the public under the GNU General Public License v3. local m, s, o local clash = "clash" @@ -14,13 +12,7 @@ local uuid = luci.sys.exec("cat /proc/sys/kernel/random/uuid") local server_table = {} local encrypt_methods_ss = { - -- aead - "AEAD_AES_128_GCM", - "AEAD_AES_192_GCM", - "AEAD_AES_256_GCM", - "AEAD_CHACHA20_POLY1305", - - -- stream + "rc4-md5", "aes-128-cfb", "aes-192-cfb", @@ -33,6 +25,7 @@ local encrypt_methods_ss = { "aes-256-gcm", "chacha20", "chacha20-ietf", + "xchacha20", "chacha20-ietf-poly1305", "xchacha20-ietf-poly1305", } @@ -93,7 +86,6 @@ o:depends("type", "vmess") o = s:option(ListValue, "obfs", translate("obfs-mode")) -o.rmempty = false o.default = " " o:value(" ", translate("none")) o:value("tls") @@ -102,7 +94,6 @@ o:value("websocket", translate("websocket (ws)")) o:depends("type", "ss") o = s:option(ListValue, "obfs_vmess", translate("obfs-mode")) -o.rmempty = false o.default = "none" o:value("none") o:value("websocket", translate("websocket (ws)")) @@ -115,14 +106,11 @@ o:depends("obfs", "tls") o:depends("obfs", "http") o = s:option(ListValue, "udp", translate("udp")) -o.rmempty = false -o.default = "false" o:value("true") o:value("false") o:depends("type", "ss") o = s:option(ListValue, "tls_custom", translate("tls")) -o.rmempty = false o.default = "false" o:value("true") o:value("false") @@ -142,6 +130,11 @@ o.rmempty = true o:depends("obfs", "websocket") o:depends("obfs_vmess", "websocket") +o = s:option(ListValue, "mux", translate("Mux")) +o.default = "false" +o:value("true") +o:value("false") +o:depends("obfs", "websocket") o = s:option(Value, "custom", translate("headers")) o.rmempty = true diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers.lua index 574a87f932..78f466e5c5 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/servers.lua @@ -3,16 +3,35 @@ local SYS = require "luci.sys" local HTTP = require "luci.http" local DISP = require "luci.dispatcher" local UTIL = require "luci.util" -local uci = require("luci.model.uci").cursor() local fs = require "luci.clash" - +local uci = require "luci.model.uci".cursor() +local m, s, o, k local clash = "clash" +local http = luci.http + m = Map("clash") -s = m:section(TypedSection, "clash") +s = m:section(TypedSection, "clash" , translate("Rule")) s.anonymous = true s.addremove=false + +o = s:option(Value, "rule_url") +o.title = translate("Custom Rule Url") +o.description = translate("Insert your custom rule Url and click download") +o.rmempty = true + +o = s:option(Button,"rule_update") +o.title = translate("Download Rule") +o.inputtitle = translate("Download Rule") +o.description = translate("Download Rule") +o.inputstyle = "reload" +o.write = function() + uci:commit("clash") + SYS.call("sh /usr/share/clash/rule.sh >>/tmp/clash.log 2>&1 &") + HTTP.redirect(DISP.build_url("admin", "services", "clash", "servers")) +end + local rule = "/usr/share/clash/custom_rule.yaml" sev = s:option(TextValue, "rule") sev.description = translate("NB: Attention to Proxy Group and Rule when making changes to this section") @@ -25,51 +44,177 @@ sev.write = function(self, section, value) NXFS.writefile(rule, value:gsub("\r\n", "\n")) end +o = s:option(Button,"del_rule") +o.inputtitle = translate("Delete Rule") +o.write = function() + SYS.call("rm -rf /usr/share/clash/custom_rule.yaml >/dev/null 2>&1 &") +end + + + + +kr = Map(clash) +s = kr:section(TypedSection, "clash", translate("Subscription Config")) +s.anonymous = true + +y = s:option(Flag, "cus_servers", translate("Status")) +y.description = translate("enabled to create custom configuration") +y.default = 0 +y.rmempty = false + +o = s:option(ListValue, "loadservers", translate("Load Config From")) +o.default = sub +o:value("sub", translate("Subscription Config")) +o:value("upl", translate("Upload Config")) +o.description = translate("Select from which configuration custom server should be loaded from") + + +o = s:option(Flag, "auto_update", translate("Auto Update")) +o.description = translate("Auto Update Server subscription") + +o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) +for t = 0,23 do +o:value(t, t..":00") +end +o.default=0 +o.description = translate("Daily Server subscription update time") + + + +o = s:option(ListValue, "subcri", translate("Subcription Type")) +o.default = clash +o:value("clash", translate("clash")) +o:value("v2rayn2clash", translate("v2rayn2clash")) +--o:value("surge2clash", translate("surge2clash")) +o.description = translate("Select Subcription Type, enter only your subcription url without https://tgbot.lbyczf.com/*?") + + + +md = s:option(Flag, "cusrule", translate("Enabled Custom Rule")) +md.default = 1 +md.description = translate("Enabled Custom Rule") +md:depends("subcri", 'v2rayn2clash') + + +o = s:option(Value, "subscribe_url") +o.title = translate("Subcription Url") +o.description = translate("Server Subscription Address") +o.rmempty = true + +o = s:option(Button,"update") +o.title = translate("Update Subcription") +o.inputtitle = translate("Update") +o.description = translate("Update Config") +o.inputstyle = "reload" +o.write = function() + --os.execute("sed -i '/enable/d' /etc/config/clash") + --SYS.call("rm -rf /tmp/clash.log >/dev/null 2>&1 &") + SYS.call("sh /usr/share/clash/clash.sh >>/tmp/clash.log 2>&1 &") + HTTP.redirect(DISP.build_url("admin", "services", "clash", "servers")) +end + + + k = Map(clash) ---k.pageaction = false -s = k:section(TypedSection, "clash") -s.anonymous = true +k.reset = false +k.submit = false +sul =k:section(TypedSection, "clash", translate("Upload Config")) +sul.anonymous = true +sul.addremove=false +o = sul:option(FileUpload, "") +o.title = translate(" ") +o.template = "clash/clash_upload" +um = sul:option(DummyValue, "", nil) +um.template = "clash/clash_dvalue" -y = s:option(ListValue, "enable_servers", translate("Enable Create Config")) -y.default = 0 -y:value("0", translate("disabled")) -y:value("1", translate("enabled")) -y.description = translate("Enable to create custom config.yaml. Note that this will overide any configuration you already have") +local dir, fd +dir = "/usr/share/clash/config/upload/" +http.setfilehandler( + function(meta, chunk, eof) + if not fd then + if not meta then return end + if meta and chunk then fd = nixio.open(dir .. meta.file, "w") end -o = s:option(Button,"Delete_Severs") -o.title = translate("Delete Severs") -o.inputtitle = translate("Delete Severs") -o.description = translate("Perform this action to delete all servers") -o.inputstyle = "reset" -o.write = function() - uci:delete_all("clash", "servers", function(s) return true end) - luci.sys.call("uci commit clash") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "clash", "servers")) + if not fd then + um.value = translate("upload file error.") + return + end + end + if chunk and fd then + fd:write(chunk) + end + if eof and fd then + fd:close() + fd = nil + local clash_conf = "/usr/share/clash/config/upload/config.yml" + if NXFS.access(clash_conf) then + SYS.call("mv /usr/share/clash/config/upload/config.yml /usr/share/clash/config/upload/config.yaml >/dev/null 2>&1 &") + end + + um.value = translate("File saved to") .. ' "/usr/share/clash/config/upload/"' + + end + end +) + +if luci.http.formvalue("upload") then + local f = luci.http.formvalue("ulfile") + if #f <= 0 then + um.value = translate("No specify upload file.") + end end -o = s:option(Button,"Create_Severs") -o.title = translate("Create Config") -o.inputtitle = translate("Create Config") -o.description = translate("Perform this action to generate new configuration") -o:depends("enable_servers", "1") + + + + + + + +local t = { + {Load_Config, Delete_Severs, Delete_Groups} +} +b = k:section(Table, t) + +o = b:option(Button,"Load_Config") +o.inputtitle = translate("Load Servers") o.inputstyle = "apply" o.write = function() - uci:set("clash", "enable_servers", "enable", 1) - luci.sys.call("uci commit clash") - SYS.call("sh /usr/share/clash/proxy.sh 2>&1 &") + k.uci:delete_all("clash", "servers", function(s) return true end) + k.uci:commit("clash") + luci.sys.call("sh /usr/share/clash/get_proxy.sh 2>/dev/null &") + SYS.call("sleep 2") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "clash", "servers")) +end + +o = b:option(Button,"Delete_Severs") +o.inputtitle = translate("Delete Severs") +o.inputstyle = "reset" +o.write = function() + k.uci:delete_all("clash", "servers", function(s) return true end) + k.uci:commit("clash") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "clash", "servers")) +end + +o = b:option(Button,"Delete_Groups") +o.inputtitle = translate("Delete Groups") +o.inputstyle = "reset" +o.write = function() + k.uci:delete_all("clash", "groups", function(s) return true end) + k.uci:commit("clash") luci.http.redirect(luci.dispatcher.build_url("admin", "services", "clash", "servers")) end -s = k:section(TypedSection, "servers") +s = k:section(TypedSection, "servers", translate("Proxies")) s.anonymous = true s.addremove = true -s.sortable = false +s.sortable = true s.template = "cbi/tblsection" -s.extedit = luci.dispatcher.build_url("admin/services/clash/servers/%s") +s.extedit = luci.dispatcher.build_url("admin/services/clash/servers-config/%s") function s.create(...) local sid = TypedSection.create(...) if sid then @@ -78,6 +223,7 @@ function s.create(...) end end + o = s:option(DummyValue, "type", translate("Type")) function o.cfgvalue(...) return Value.cfgvalue(...) or translate("None") @@ -98,8 +244,43 @@ function o.cfgvalue(...) return Value.cfgvalue(...) or translate("None") end +o = s:option(DummyValue, "server" ,translate("Latency")) +o.template="clash/ping" +o.width="10%" + +r = k:section(TypedSection, "groups", translate("Policy Groups")) +r.anonymous = true +r.addremove = true +r.sortable = true +r.template = "clash/tblsection" +r.extedit = luci.dispatcher.build_url("admin/services/clash/groups/%s") +function r.create(...) + local sid = TypedSection.create(...) + if sid then + luci.http.redirect(r.extedit % sid) + return + end +end + +o = r:option(DummyValue, "type", translate("Group Type")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("None") +end +o = r:option(DummyValue, "name", translate("Group Name")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("None") +end -return k, m +k:append(Template("clash/list")) + +local apply = luci.http.formvalue("cbi.apply") +if apply then + uci:commit("clash") + SYS.call("sleep 1") + SYS.call("sh /usr/share/clash/proxy.sh >/dev/null 2>&1 &") +end + +return kr, k, m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/subconfig.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/subconfig.lua new file mode 100644 index 0000000000..da32bd2b69 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/subconfig.lua @@ -0,0 +1,70 @@ + +local NXFS = require "nixio.fs" +local SYS = require "luci.sys" +local HTTP = require "luci.http" +local DISP = require "luci.dispatcher" +local UTIL = require "luci.util" +local uci = require("luci.model.uci").cursor() +local fs = require "luci.clash" +local http = luci.http + + +m = Map("clash") +s = m:section(TypedSection, "clash") +m.pageaction = false +s.anonymous = true +s.addremove=false + + +local conf = "/usr/share/clash/config/sub/config.yaml" +sev = s:option(TextValue, "conf") +sev.readonly=true +sev.rows = 20 +sev.wrap = "off" +sev.cfgvalue = function(self, section) + return NXFS.readfile(conf) or "" +end +sev.write = function(self, section, value) +end + + + +o = s:option(Button,"configrm") +o.inputtitle = translate("Delete Config") +o.write = function() + SYS.call("rm -rf /usr/share/clash/config/sub/config.yaml 2>&1 &") +end + + + +o = s:option(Button, "Download") +o.inputtitle = translate("Download Config") +o.inputstyle = "apply" +o.write = function () + local sPath, sFile, fd, block + sPath = "/usr/share/clash/config/sub/config.yaml" + sFile = NXFS.basename(sPath) + if fs.isdirectory(sPath) then + fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") + sFile = sFile .. ".tar.gz" + else + fd = nixio.open(sPath, "r") + end + if not fd then + return + end + HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) + HTTP.prepare_content("application/octet-stream") + while true do + block = fd:read(nixio.const.buffersize) + if (not block) or (#block ==0) then + break + else + HTTP.write(block) + end + end + fd:close() + HTTP.close() +end + +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/upconfig.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/upconfig.lua new file mode 100644 index 0000000000..7a91313580 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/upconfig.lua @@ -0,0 +1,36 @@ + +local NXFS = require "nixio.fs" +local SYS = require "luci.sys" +local HTTP = require "luci.http" +local DISP = require "luci.dispatcher" +local UTIL = require "luci.util" +local uci = require("luci.model.uci").cursor() +local fs = require "luci.clash" +local http = luci.http + + +m = Map("clash") +s = m:section(TypedSection, "clash") +m.pageaction = false +s.anonymous = true +s.addremove=false + + +local conf = "/usr/share/clash/config/upload/config.yaml" +sev = s:option(TextValue, "conf") +sev.readonly=true +sev.rows = 20 +sev.wrap = "off" +sev.cfgvalue = function(self, section) + return NXFS.readfile(conf) or "" +end +sev.write = function(self, section, value) +end + +o = s:option(Button,"configrm") +o.inputtitle = translate("Delete Config") +o.write = function() + SYS.call("rm -rf /usr/share/clash/config/upload/config.yaml >/dev/null 2>&1 &") +end + +return m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua index 4d96538643..073ba727cc 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua @@ -1,16 +1,16 @@ - +local NXFS = require "nixio.fs" +local SYS = require "luci.sys" +local HTTP = require "luci.http" +local DISP = require "luci.dispatcher" +local UTIL = require "luci.util" +local uci = require("luci.model.uci").cursor() local m -local sys = require "luci.sys" -local uci = luci.model.uci.cursor() - -ful = Form("upload", nil) -ful.reset = false -ful.submit = false m = Map("clash") m:section(SimpleSection).template = "clash/update" +m.pageaction = false -return m, ful +return m diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/clash_dvalue.htm b/package/jsda/luci-app-clash/luasrc/view/clash/clash_dvalue.htm index 296c61e4d6..f024d8983c 100644 --- a/package/jsda/luci-app-clash/luasrc/view/clash/clash_dvalue.htm +++ b/package/jsda/luci-app-clash/luasrc/view/clash/clash_dvalue.htm @@ -6,3 +6,4 @@ %> <%+cbi/valuefooter%> + \ No newline at end of file diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/clash_upload.htm b/package/jsda/luci-app-clash/luasrc/view/clash/clash_upload.htm index 789ce3a731..485a6f1403 100644 --- a/package/jsda/luci-app-clash/luasrc/view/clash/clash_upload.htm +++ b/package/jsda/luci-app-clash/luasrc/view/clash/clash_upload.htm @@ -3,3 +3,4 @@ <%+cbi/valuefooter%> + \ No newline at end of file diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/list.htm b/package/jsda/luci-app-clash/luasrc/view/clash/list.htm new file mode 100644 index 0000000000..3ab215a886 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/view/clash/list.htm @@ -0,0 +1,31 @@ +<% +local dsp = require "luci.dispatcher" +-%> + + + diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/ping.htm b/package/jsda/luci-app-clash/luasrc/view/clash/ping.htm new file mode 100644 index 0000000000..72e174fc96 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/view/clash/ping.htm @@ -0,0 +1,5 @@ +<%+cbi/valueheader%> +-- ms +<%+cbi/valuefooter%> + + \ No newline at end of file diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/status.htm b/package/jsda/luci-app-clash/luasrc/view/clash/status.htm index 6575ae8f5f..f375adaa71 100644 --- a/package/jsda/luci-app-clash/luasrc/view/clash/status.htm +++ b/package/jsda/luci-app-clash/luasrc/view/clash/status.htm @@ -1,6 +1,6 @@
- +

<%:Rule-based Custom Proxy Client%>

@@ -10,7 +10,7 @@ <%:Clash Client%><%:Collecting data...%> <%:Clash Mode%><%:Collecting data...%> <%:Clash Dashboard%> <%:Collecting data...%> - <%:Yacd Dashboard%> <%:Collecting data...%> + <%:Yac Dashboard%> <%:Collecting data...%> @@ -26,10 +26,9 @@
- - - -
<%:Global IP%>  : <%:Checking...%> <%:Google%> : <%:Collecting data...%><%:Youtube%>  : <%:Collecting data...%>
<%:Domestic IP%>  : <%:Checking...%> <%:Baidu%> : <%:Collecting data...%> <%:Taobao%>  : <%:Collecting data...%>
+ <%:Global IP%>  : <%:Checking...%> <%:Google%> : <%:Collecting data...%><%:Youtube%>  : <%:Collecting data...%><%:Github%>  : <%:Collecting data...%> + <%:Domestic IP%>  : <%:Checking...%> <%:Baidu%> : <%:Collecting data...%> <%:Music.163%>  : <%:Collecting data...%><%:Taobao%>  : <%:Collecting data...%> +
@@ -88,12 +87,20 @@ let IP = { .then(ip => { IP.parseIPIpip(ip, 'ip-ipify-ipip'); }) - } + }, + + /* IPSB: (data) => { + document.getElementById('ip-gb').innerHTML = data.address; + if ( "${data.province}" == " " || "${data.city}" == " " ){ + document.getElementById('ip-geo').innerHTML = `${data.country} ${data.isp.name}` + }else{ + document.getElementById('ip-geo').innerHTML = `${data.country} ${data.province} ${data.city} ${data.isp.name}` + } + },*/ } - var HTTP = { checker: (domain, cbElID) => { @@ -109,7 +116,7 @@ var HTTP = { } img.onload = () => { clearTimeout(timeout); - document.getElementById(cbElID).innerHTML = '<%:CONNECT OK%>' + document.getElementById(cbElID).innerHTML = '<%:NORMAL%>' } img.src = `https://${domain}/favicon.ico?${+(new Date)}` } @@ -130,35 +137,38 @@ var HTTP = { sbipScript.src='https://api.skk.moe/network/parseIp/ipip'; sbip.appendChild( sbipScript); + + const $$ = document; random = parseInt(Math.random() * 100000000); - IP.getIpifyIP(); - IP.getIpipnetIP(); - setTimeout("Load()",1000*8); + setTimeout("Load()",1000*8); } var web = document.getElementById('_web'); - var webb = document.getElementById('_webb'); var clash = document.getElementById('_clash'); var ip = document.getElementById('_ip'); var port = document.getElementById('_port'); var secret = document.getElementById('_secret'); var emode = document.getElementById('_emode'); var version = document.getElementById('_version'); + var yac = document.getElementById('_yac'); var logo = document.getElementById('_logo'); XHR.poll(1, '<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { if ( x && x.status == 200 ) { web.innerHTML = status.web ? '<%:OPEN DASHBOARD%>' : '<%:NOT RUNNING%>'; - webb.innerHTML = status.web ? '<%:OPEN DASHBOARD%>' : '<%:NOT RUNNING%>'; + yac.innerHTML = status.web ? '<%:OPEN DASHBOARD%>' : '<%:NOT RUNNING%>';clash.innerHTML = status.clash ? '<%:RUNNING%> ' : '<%:NOT RUNNING%>'; clash.innerHTML = status.clash ? '<%:RUNNING%> ' : '<%:NOT RUNNING%>'; ip.innerHTML = status.localip ? ''+status.localip+' ' : '<%:NOT SET%>'; - logo.innerHTML = status.localip ? '' : '<%:NOT SET%>'; port.innerHTML = status.dash_port ? ''+status.dash_port+' ' : '<%:NOT SET%>'; secret.innerHTML = status.dash_pass ? ''+status.dash_pass+' ' : '<%:NOT SET%>'; - emode.innerHTML = status.e_mode ? ''+status.e_mode+' ' : '<%:NO CONFIG%>'; + emode.innerHTML = status.e_mode ? ''+status.e_mode+' ' : '<%:NOT SET%>'; + IP.getIpifyIP(); + IP.getIpipnetIP(); HTTP.checker('www.baidu.com', '_baidu'); HTTP.checker('www.google.com', '_google'); HTTP.checker('www.youtube.com', '_youtube'); HTTP.checker('www.taobao.com', '_taobao'); + HTTP.checker('github.com', '_github'); + HTTP.checker('s1.music.126.net/style', '_http-163'); @@ -166,14 +176,14 @@ var HTTP = { } }); - - XHR.poll(1, '<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { - if ( x && x.status == 200 ) { - IP.getIpifyIP(); - IP.getIpipnetIP(); - //getip(); - } - }); + IP.getIpifyIP(); + IP.getIpipnetIP(); + HTTP.checker('www.baidu.com', '_baidu'); + HTTP.checker('www.google.com', '_google'); + HTTP.checker('www.youtube.com', '_youtube'); + HTTP.checker('www.taobao.com', '_taobao'); + HTTP.checker('github.com', '_github'); + HTTP.checker('s1.music.126.net/style', '_http-163'); XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { if ( x && x.status == 200 ) { diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/tblsection.htm b/package/jsda/luci-app-clash/luasrc/view/clash/tblsection.htm new file mode 100644 index 0000000000..437a158ef9 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/view/clash/tblsection.htm @@ -0,0 +1,142 @@ +<%- +local rowcnt = 1 +function rowstyle() + rowcnt = rowcnt + 1 + return (rowcnt % 2) + 1 +end + +function width(o) + if o.width then + if type(o.width) == 'number' then + return ' style="width:%dpx"' % o.width + end + return ' style="width:%s"' % o.width + end + return '' +end +-%> + + +
+ <% if self.title and #self.title > 0 then -%> + <%=self.title%> + <%- end %> + +
<%=self.description%>
+
+ <%- local count = 0 -%> + + + + + <%- if not self.anonymous then -%> + <%- if self.sectionhead then -%> + + <%- else -%> + + <%- end -%> + <%- count = count +1; end -%> + <%- for i, k in pairs(self.children) do if not k.optional then -%> + + <%- count = count + 1; end; end; if self.sortable then -%> + + <%- count = count + 1; end; if self.extedit or self.addremove then -%> + + <%- count = count + 1; end -%> + + + + + <%- if not self.anonymous then -%> + <%- if self.sectiondesc then -%> + + <%- else -%> + + <%- end -%> + <%- end -%> + <%- for i, k in pairs(self.children) do if not k.optional then -%> + + <%- end; end; if self.sortable then -%> + + <%- end; if self.extedit or self.addremove then -%> + + <%- end -%> + + <%- 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 not self.anonymous then -%> + + <%- end %> + + + <%- + for k, node in ipairs(self.children) do + if not node.optional then + node:render(section, scope or {}) + end + end + -%> + + + + <%- if self.extedit or self.addremove then -%> + + <%- end -%> + + <%- end -%> + + <%- if isempty then -%> + + + + <%- end -%> +
<%=self.sectionhead%> > + <%- if k.titleref then -%><%- end -%> + <%-=k.title-%> + <%- if k.titleref then -%><%- end -%> +  
<%=self.sectiondesc%>><%=k.description%>

<%=(type(self.sectiontitle) == "function") and self:sectiontitle(section) or k%>

+ <%- if self.extedit then -%> + onclick="location.href='<%=self.extedit:format(section)%>'" + <%- elseif type(self.extedit) == "function" then + %> onclick="location.href='<%=self:extedit(section)%>'" + <%- end + %> alt="<%:Edit%>" title="<%:Edit%>" /> + <%- end; if self.addremove then %> + + <%- end -%> +

<%:This section contains no values yet%>
+ + <% 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 -%> +
+
+ diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/tvalue.htm b/package/jsda/luci-app-clash/luasrc/view/clash/tvalue.htm index d70c8b0028..dc3c4194d7 100644 --- a/package/jsda/luci-app-clash/luasrc/view/clash/tvalue.htm +++ b/package/jsda/luci-app-clash/luasrc/view/clash/tvalue.htm @@ -3,3 +3,4 @@ <%-=pcdata(self:cfgvalue(section))-%> <%+cbi/valuefooter%> + \ No newline at end of file diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/update.htm b/package/jsda/luci-app-clash/luasrc/view/clash/update.htm index 76aeb2810a..86e7d10b14 100644 --- a/package/jsda/luci-app-clash/luasrc/view/clash/update.htm +++ b/package/jsda/luci-app-clash/luasrc/view/clash/update.htm @@ -4,17 +4,17 @@ <%:App Name%> <%:Version%> - <%:Check Update%> + <%:Check Update%> - Clash <%:Collecting data...%> + clash <%:Collecting data...%> - Luci-app-clash <%:Collecting data...%> + luci-app-clash <%:Collecting data...%> @@ -36,27 +36,21 @@ if ( x && x.status == 200 ) { core_butt.innerHTML = status.current_version ? '
' : ''; version_butt.innerHTML = status.current_version ? '
' : ''; - - } - }); - - XHR.poll(1, '<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { - if ( x && x.status == 200 ) { if(status.clash_core==0){ core.innerHTML = status.clash_core ? '<%:Not Installed%> ' : '<%:Checking...%>'; } else { core.innerHTML = status.clash_core ? ''+status.clash_core+' ' : '<%:Checking...%>'; - } - - + } version.innerHTML = status.current_version ? ''+status.current_version+' ' : '<%:Checking...%>'; - + } }); + + function version_check(btn) { btn.disabled = true; @@ -69,7 +63,7 @@ function version_check(btn) else if(status.new_version==0) { - version_butt.innerHTML ='
'; + version_butt.innerHTML ='
'; } else if(status.current_version >= status.new_version) @@ -110,7 +104,7 @@ function download_update(btn) XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "check_status")%>', null, function(x, status) { btn.disabled = true; btn.value = '<%:Download%>'; - url='https://github.com/frainzy1477/luci-app-clash/releases/download/v'+status.new_version+'/luci-app-clash_'+status.new_version+'-1_all.ipk'; + url='https://github.com/frainzy1477/luci-app-clash/releases/download/v'+status.new_version+'/luci-app-clash_'+status.new_version+'-2_all.ipk'; window.open(url); btn.disabled = false; return false; diff --git a/package/jsda/luci-app-clash/po/zh-cn/clash.po b/package/jsda/luci-app-clash/po/zh-cn/clash.po index 28478a2c79..1ba0942e31 100644 --- a/package/jsda/luci-app-clash/po/zh-cn/clash.po +++ b/package/jsda/luci-app-clash/po/zh-cn/clash.po @@ -1,6 +1,39 @@ +msgid "Custom List DNS" +msgstr "自定义列表DNS" + +msgid "Apply Custom List" +msgstr "应用自定义列表" + +msgid "Custom List" +msgstr "自定义列表" + +msgid "Allow Lan" +msgstr "允许局域网" + +msgid "Bind All IP Addresses" +msgstr "绑定所有IP地址" + +msgid "Bind Address" +msgstr "绑定地址" + +msgid "enabled to create custom configuration" +msgstr "已启用以创建自定义配置" + +msgid "Status" +msgstr "状态" + +msgid "Click to create custom server configuration" +msgstr "单击以创建自定义服务器配置" + +msgid "Log" +msgstr "日志" + msgid "Update Config" msgstr "更新配置" +msgid "NOT RUNNING" +msgstr "末运行" + msgid "Enabled Custom Rule" msgstr "启用自定义规则" @@ -109,8 +142,8 @@ msgstr "在DHCP和DNS设置自定义DNS转发" msgid "Proxy Lan IP" msgstr "走代理的局域网IP" -msgid "Only selected IPs will be proxied if enabled" -msgstr "如果启用,仅选择IP只走代理" +msgid "Only selected IPs will be proxied if enabled. fake-ip mode not supported" +msgstr "如果启用,仅选择IP只走代理,不支持fake-ip模式" msgid "Proxy Lan List" msgstr "走代理的IP列表" @@ -121,8 +154,8 @@ msgstr "选择IP只走代理" msgid "Bypass Lan IP" msgstr "不走代理的局域网IP" -msgid "Selected IPs will not be proxied if enabled" -msgstr "如果启用,仅选择IP只不走代理" +msgid "Selected IPs will not be proxied if enabled. fake-ip mode not supported" +msgstr "如果启用,仅选择IP只不走代理,不支持fake-ip模式" msgid "Bypass Lan List" msgstr "不走代理的IP列表" @@ -149,19 +182,25 @@ msgid "Google" msgstr "谷歌网" msgid "Youtube" -msgstr "Youtube网" +msgstr "Youtube" msgid "Baidu" msgstr "百度网" +msgid "Github" +msgstr "Github" + +msgid "Music.163" +msgstr "网易云音乐" + msgid "Taobao" msgstr "淘宝网" -msgid "CONNECT OK" -msgstr "连接正常" +msgid "NORMAL" +msgstr "正常" msgid "TIMEOUT" -msgstr "连接超时" +msgstr "超时" msgid "NOT SET" msgstr "未设置" @@ -184,7 +223,7 @@ msgstr "打开外部控制" msgid "Clash Dashboard" msgstr "Clash外部控制" -msgid "Yacd Dashboard" +msgid "Yac Dashboard" msgstr "Yacd外部控制" msgid "Client" @@ -205,9 +244,6 @@ msgstr "自定义DNS" msgid "Modify yaml DNS" msgstr "修改 DNS" -msgid "Logs" -msgstr "日志" - msgid "Enable" msgstr "启用" @@ -262,6 +298,9 @@ msgstr "更新" msgid "Enable Client" msgstr "启用客户端" +msgid "Config In Use" +msgstr "使用中的配置" + msgid "Server Subscription Address" msgstr "服务器订阅地址" @@ -292,6 +331,9 @@ msgstr "执行此操作以生成新配置" msgid "Delete Severs" msgstr "清空节点" +msgid "Load Servers" +msgstr "读取节点" + msgid "Type" msgstr "节点类型" @@ -341,4 +383,121 @@ msgid "None" msgstr "未配置" msgid "NB: Attention to Proxy Group and Rule when making changes to this section" -msgstr "注意:更改时,请注意代理组和规则" \ No newline at end of file +msgstr "注意:更改时,请注意代理组和规则" + +msgid "Subscription Config" +msgstr "订阅配置" + +msgid "Subscribe Config" +msgstr "订阅配置" + +msgid "Uploaded Config" +msgstr "上传的配置" + +msgid "Custom Config" +msgstr "自定义配置" + +msgid "Custom" +msgstr "自定义" + +msgid "Config Type" +msgstr "配置类型" + +msgid "Select Configuration type" +msgstr "选择配置类型”" + +msgid "Create Config" +msgstr "一键生成配置文件" + +msgid "Create Config By One-Click Only Need Proxys" +msgstr "一键生成配置文件功能只需要配置服务器节点信息" + +msgid "Proxy Groups(No Need Set when Config Create)" +msgstr "策略组配置(使用一键生成配置文件功能时无需设置)" + +msgid "Proxies" +msgstr "代理" + +msgid "Edit Group" +msgstr "编辑策略组配置" + +msgid "Group Type" +msgstr "策略组类型" + +msgid "Choose The Operation Mode" +msgstr "设置策略组挑选服务器节点的工作方式" + +msgid "Group Name" +msgstr "策略组别名(请勿重名)" + +msgid "Test URL" +msgstr "检测地址(URL)" + +msgid "Test Interval(s)" +msgstr "检测频率(秒)" + +msgid "Select" +msgstr "手动选择" + +msgid "URL-Test" +msgstr "最低延迟" + +msgid "Fallback" +msgstr "故障切换" + +msgid "Load-Balance" +msgstr "负载均衡" + +msgid "Other Group" +msgstr "包含其他策略组" + +msgid "Proxy Groups Must Exist In Rule" +msgstr "添加的策略组必须存在规则创建" + +msgid "Policy Groups" +msgstr "添加到策略组" + +msgid "Rule" +msgstr "规则" + +msgid "Custom Rule Url" +msgstr "自定义规则URL" + +msgid "Download Rule" +msgstr "下载规则" + +msgid "Insert your custom rule Url and click download" +msgstr "输入自定义规则URL并单击下载" + +msgid "Delete Rule" +msgstr "删除规则" + +msgid "Latency" +msgstr "延迟" + +msgid "Delete Groups" +msgstr "删除策略组" + +msgid "Perform this action to delete all policy groups" +msgstr "执行此操作以删除所有策略组" + +msgid "Upload Config" +msgstr "上传配置文件" + +msgid "Upload" +msgstr "上传" + +msgid "File saved to" +msgstr "文件已成功上传到" + +msgid "upload file error." +msgstr "文件上传失败" + +msgid "Load Config From" +msgstr "从哪读取自定义节点" + +msgid "Select from which configuration custom server should be loaded from" +msgstr "选择从哪个配置文件读取自定义节点" + +msgid "Servers" +msgstr "服务器" diff --git a/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb b/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb index c20c05a77c..ec9a981dbb 100644 Binary files a/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb and b/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb differ diff --git a/package/jsda/luci-app-clash/root/etc/config/clash b/package/jsda/luci-app-clash/root/etc/config/clash index ed270f8d45..d4dde5d853 100644 --- a/package/jsda/luci-app-clash/root/etc/config/clash +++ b/package/jsda/luci-app-clash/root/etc/config/clash @@ -10,10 +10,60 @@ config clash 'config' option auto_update_time '0' option level 'info' option proxylan '0' + option allow_lan 'true' + option bind_addr '*' option rejectlan '0' option dnsforwader '0' option subcri 'clash' + option cus_list '1' + option custom_dns '114.114.114.114' option v2ray 'https://tgbot.lbyczf.com/v2rayn2clash?url=' option surge 'https://tgbot.lbyczf.com/surge2clash?url=' option cusrule '0' - option enable_servers '0' + option cus_servers '1' + option config_type 'sub' + option loadservers 'sub' + + +config groups + option old_name '❌AdBlock' + option old_name_cfg '❌AdBlock' + option type 'select' + list other_group 'REJECT' + option name '❌AdBlock' + +config groups + option old_name '🖥️AsianTV' + option old_name_cfg '🖥️AsianTV' + option type 'select' + option name '🖥️AsianTV' + list other_group 'DIRECT' + list other_group '🔑Proxy' + +config groups + option old_name '📺GlobalTV' + option old_name_cfg '📺GlobalTV' + option type 'select' + option name '📺GlobalTV' + list other_group '🔑Proxy' + list other_group 'DIRECT' + +config groups + option type 'select' + option name '🔑Proxy' + list other_group '⚙️LoadBalance' + list other_group '✈️UrlTest' + +config groups + option old_name '✈️UrlTest' + option old_name_cfg '✈️UrlTest' + option test_url 'http://www.gstatic.com/generate_204' + option type 'url-test' + option test_interval '600' + option name '✈️UrlTest' + +config groups + option type 'load-balance' + option test_url 'http://www.gstatic.com/generate_204' + option test_interval '300' + option name '⚙️LoadBalance' diff --git a/package/jsda/luci-app-clash/root/etc/init.d/clash b/package/jsda/luci-app-clash/root/etc/init.d/clash index edcda47f72..e0150ebddc 100755 --- a/package/jsda/luci-app-clash/root/etc/init.d/clash +++ b/package/jsda/luci-app-clash/root/etc/init.d/clash @@ -10,6 +10,11 @@ CRON_FILE="/etc/crontabs/root" CONFIG_YAML="/etc/clash/config.yaml" CONFIG_YAML_OLD="/etc/clash/config.yml" +CONFIG_YAML_SUB="/usr/share/clash/config/sub/config.yaml" +CONFIG_YAML_UPL="/usr/share/clash/config/upload/config.yaml" +CONFIG_YAML_CUS="/usr/share/clash/config/custom/config.yaml" + + revert_dns() { #=========================================================================================================================== @@ -24,14 +29,17 @@ revert_dns() { } add_cron(){ +config_type=$(uci get clash.config.config_type 2>/dev/null) #=========================================================================================================================== sed -i '/clash.log/d' $CRON_FILE echo '0 0 * * 0 echo "" > /tmp/clash.log' >> $CRON_FILE + if [ $config_type == "sub" ];then [ -n "$(grep -w "/usr/share/clash/clash.sh" $CRON_FILE)" ] && sed -i '/\/usr\/share\/clash\/clash.sh/d' $CRON_FILE auto=$(uci get clash.config.auto_update 2>/dev/null) if [ $auto -eq 1 ]; then [ -z "$(grep -w "/usr/share/clash/clash.sh" $CRON_FILE)" ] && echo "0 $(uci get clash.config.auto_update_time 2>/dev/null) * * * /usr/share/clash/clash.sh" >> $CRON_FILE fi + fi crontab $CRON_FILE #=========================================================================================================================== } @@ -45,29 +53,54 @@ del_cron(){ } -yml_change() { - sh /usr/share/clash/yum_change.sh >/dev/null 2>&1 +select_config(){ +#=========================================================================================================================== +config_type=$(uci get clash.config.config_type 2>/dev/null) + + +if [ $config_type == "sub" ];then +if [ -f $CONFIG_YAML_SUB ] && [ "$(ls -l $CONFIG_YAML_SUB|awk '{print int($5/1024)}')" -ne 0 ];then + cp $CONFIG_YAML_SUB $CONFIG_YAML +fi +elif [ $config_type == "upl" ];then +if [ -f $CONFIG_YAML_UPL ] && [ "$(ls -l $CONFIG_YAML_UPL|awk '{print int($5/1024)}')" -ne 0 ];then + cp $CONFIG_YAML_UPL $CONFIG_YAML +fi +elif [ $config_type == "cus" ];then +if [ -f $CONFIG_YAML_CUS ] && [ "$(ls -l $CONFIG_YAML_CUS|awk '{print int($5/1024)}')" -ne 0 ];then + cp $CONFIG_YAML_CUS $CONFIG_YAML +fi +fi + +#=========================================================================================================================== } +yml_change() { +#=========================================================================================================================== + sh /usr/share/clash/yum_change.sh >/dev/null 2>&1 +#=========================================================================================================================== +} + + yml_dns_change(){ #=========================================================================================================================== - dns_port=$(grep listen: $CONFIG_YAML |awk -F ':' '{print $3}' |tr -cd "[0-9]") + dns_port=$(grep "^ \{0,\}listen:" $CONFIG_YAML |awk -F ':' '{print $3}' 2>/dev/null) dnsforwader=$(uci get clash.config.dnsforwader 2>/dev/null) + if [ $dns_port -eq 53 ]; then - sed -i '/listen:/ d' $CONFIG_YAML - sed -i "/nameserver:/i\ listen: 0.0.0.0:5300" $CONFIG_YAML + sed -i 's/0.0.0.0:53/0.0.0.0:5300/g' $CONFIG_YAML fi - if [ $dnsforwader -eq 1 ]; then + if [ $dnsforwader -ne 0 ]; then if [ $dns_port -eq 53 ]; then dns_serve1=$(uci get dhcp.@dnsmasq[0].server 2>/dev/null) if [ $dns_serve1 ]; then uci del dhcp.@dnsmasq[-1].server - fi + fi uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#5300 >/dev/null 2>&1 uci delete dhcp.@dnsmasq[0].resolvfile uci set dhcp.@dnsmasq[0].noresolv=1 @@ -76,8 +109,8 @@ yml_dns_change(){ dns_serve1=$(uci get dhcp.@dnsmasq[0].server 2>/dev/null) if [ $dns_serve1 ]; then uci del dhcp.@dnsmasq[-1].server - fi - uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#$dns_port >/dev/null 2>&1 + fi + uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#$dns_port >/dev/null 2>&1 uci delete dhcp.@dnsmasq[0].resolvfile uci set dhcp.@dnsmasq[0].noresolv=1 uci commit dhcp @@ -148,7 +181,7 @@ rules(){ iptables -t nat -A PREROUTING -p tcp -j clash_tcp - iptables -t nat -A OUTPUT -p tcp -d 198.18.0.1/24 -j REDIRECT --to-ports $redir_port + iptables -t nat -A OUTPUT -p tcp -d 198.18.0.1/24 -j REDIRECT --to-ports $redir_port @@ -157,32 +190,66 @@ rules(){ yml_yaml(){ #=========================================================================================================================== -subscribe_url=$(uci get clash.config.subscribe_url 2>/dev/null) -size=$(ls -l $CONFIG_YAML|awk '{print int($5/1024)}') -if [ -f $CONFIG_YAML_OLD ] && [ ! -f $CONFIG_YAML ] || [ -f $CONFIG_YAML_OLD ] && [ -f $CONFIG_YAML ] && [ $size -eq 0 ];then + +if [ -f $CONFIG_YAML_OLD ] && [ ! -f $CONFIG_YAML ];then + mv $CONFIG_YAML_OLD $CONFIG_YAML + +elif [ -f $CONFIG_YAML_OLD ] && [ -f $CONFIG_YAML ] && [ "$(ls -l $CONFIG_YAML_OLD|awk '{print int($5/1024)}')" -ne 0 ];then mv $CONFIG_YAML_OLD $CONFIG_YAML -elif [ ! -f $CONFIG_YAML ] && [ $subscribe_url ];then - sh /usr/share/clash/clash.sh >>/tmp/clash.log >/dev/null 2>&1 fi #=========================================================================================================================== } + + +yml_sub(){ +#=========================================================================================================================== +subscribe_url=$(uci get clash.config.subscribe_url 2>/dev/null) +config_type=$(uci get clash.config.config_type 2>/dev/null) +if [ $config_type == "sub" ];then +if [ ! -f $CONFIG_YAML_SUB ] && [ $subscribe_url ];then + rm -rf /tmp/clash.log + sh /usr/share/clash/clash.sh >>/tmp/clash.log +elif [ -f $CONFIG_YAML_SUB ] && [ "$(ls -l $CONFIG_YAML_SUB | awk '{print int($5/1024)}')" -eq 0 ] && [ $subscribe_url ];then + rm -rf /tmp/clash.log + sh /usr/share/clash/clash.sh >>/tmp/clash.log +fi +fi +#=========================================================================================================================== +} + +custom_list() { + (/usr/share/clash/list.sh && sleep 2 >/dev/null 2>&1) & +} + + start(){ +lang=$(uci get luci.main.lang 2>/dev/null) #=========================================================================================================================== if pidof clash >/dev/null; then kill $(pidof clash) >/dev/null 2>&1 || kill -9 $(ps | grep clash | grep -v grep | awk '{print $1}') >/dev/null 2>&1 fi + enable=$(uci get clash.config.enable 2>/dev/null) + yml_yaml -size=$(ls -l $CONFIG_YAML|awk '{print int($5/1024)}') + +yml_sub + +select_config + lan=$(uci get clash.config.proxylan 2>/dev/null) lanac=$(uci get clash.config.rejectlan 2>/dev/null) if [ $enable -eq 1 ]; then if [ ! -f /etc/clash/clash ]; then - echo "===============================$(date "+%Y-%m-%d %H:%M:%S") /etc/clash/clash not found, download and install clash ipk =====================================" >> /tmp/clash.log + if [ $lang == "en" ];then + echo "$(date "+%Y-%m-%d %H:%M:%S") - /etc/clash/clash not found, from "https://github.com/frainzy1477/clash/releases" , download and install clash ipk " >> /tmp/clash.log + elif [ $lang == "zh_cn" ];then + echo "$(date "+%Y-%m-%d %H:%M:%S") - 找不到 /etc/clash/clash 请,从"https://github.com/frainzy1477/clash/releases" , 下载然后安装Clash ipk" >> /tmp/clash.log + fi else -if [ $size -ne 0 ] && [ -f /etc/clash/clash ]; then +if [ -f $CONFIG_YAML ] && [ "$(ls -l $CONFIG_YAML|awk '{print int($5/1024)}')" -ne 0 ] && [ -f /etc/clash/clash ]; then if [ $lan ]; then @@ -197,11 +264,10 @@ if [ $size -ne 0 ] && [ -f /etc/clash/clash ]; then yml_dns_change - nohup $CLASH -d "$CLASH_CONFIG" > /tmp/clash.log 2>&1 & - - ln -s /usr/share/clash/web /www/clash - - uci set firewall.@defaults[0].flow_offloading=1 + nohup $CLASH -d "$CLASH_CONFIG" > /tmp/clash.log 2>&1 & + + ln -s /usr/share/clash/yac /www/clash + uci commit firewall /etc/init.d/firewall restart >/dev/null 2>&1 @@ -209,8 +275,9 @@ if [ $size -ne 0 ] && [ -f /etc/clash/clash ]; then killall -1 dnsmasq + custom_list + /etc/init.d/dnsmasq restart >/dev/null 2>&1 - if pidof clash >/dev/null; then add_cron @@ -218,8 +285,12 @@ if [ $size -ne 0 ] && [ -f /etc/clash/clash ]; then fi else - echo "===============================$(date "+%Y-%m-%d %H:%M:%S") problem with config.yaml, config.yaml is either empty or not found =====================================" >> /tmp/clash.log - + if [ $lang == "en" ];then + echo "$(date "+%Y-%m-%d %H:%M:%S") - problem with config.yaml, config.yaml is either empty or not found " >> /tmp/clash.log + elif [ $lang == "zh_cn" ];then + echo "$(date "+%Y-%m-%d %H:%M:%S") - 你的config.yaml有问题还是为了空 0kb " >> /tmp/clash.log + fi + fi fi @@ -233,6 +304,7 @@ fi stop(){ +lang=$(uci get luci.main.lang 2>/dev/null) #=========================================================================================================================== iptables -t nat -F clash_tcp >/dev/null 2>&1 iptables -t nat -X clash_tcp >/dev/null 2>&1 @@ -240,6 +312,7 @@ stop(){ iptables -t nat -X clash_udp >/dev/null 2>&1 iptables -t nat -D PREROUTING -p tcp -j clash_tcp >/dev/null 2>&1 iptables -t nat -D PREROUTING -p udp -j clash_udp >/dev/null 2>&1 + ipset -! flush clash_lan_ac >/dev/null 2>&1 ipset -! flush clash_lan >/dev/null 2>&1 @@ -250,19 +323,23 @@ stop(){ revert_dns - uci set firewall.@defaults[0].flow_offloading=1 uci commit firewall /etc/init.d/firewall restart >/dev/null 2>&1 /etc/init.d/dnsmasq restart >/dev/null 2>&1 - rm -rf /www/clash 2> /dev/null - del_cron + rm -rf /www/clash 2> /dev/null + rm -rf /tmp/clash.log - - echo "===============================$(date "+%Y-%m-%d %H:%M:%S") CLIENT IS DISABLED =====================================" >> /tmp/clash.log + + if [ $lang == "en" ];then + echo "$(date "+%Y-%m-%d %H:%M:%S") - CLIENT IS DISABLED " >> /tmp/clash.log + elif [ $lang == "zh_cn" ];then + echo "$(date "+%Y-%m-%d %H:%M:%S") - 客户端被禁用 " >> /tmp/clash.log + fi + #=========================================================================================================================== } @@ -275,10 +352,8 @@ restart(){ stop start else - start + start fi #=========================================================================================================================== } - - diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh b/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh index 9005820ec2..bcc3ef31ec 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh @@ -8,3 +8,4 @@ echo $new_core_version > /usr/share/clash/new_core_version 2>&1 & >/dev/null elif [ $new_core_version =="" ]; then echo 0 > /usr/share/clash/new_core_version 2>&1 & >/dev/null fi + \ No newline at end of file diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/check_version.sh b/package/jsda/luci-app-clash/root/usr/share/clash/check_luci_version.sh similarity index 53% rename from package/jsda/luci-app-clash/root/usr/share/clash/check_version.sh rename to package/jsda/luci-app-clash/root/usr/share/clash/check_luci_version.sh index 935755d628..0f8ecf7781 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/check_version.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/check_luci_version.sh @@ -1,10 +1,11 @@ #!/bin/sh -if [ -f /usr/share/clash/new_version ];then -rm -rf /usr/share/clash/new_version +if [ -f /usr/share/clash/new_luci_version ];then +rm -rf /usr/share/clash/new_luci_version fi new_version=`wget -qO- "https://github.com/frainzy1477/luci-app-clash/tags"| grep "/frainzy1477/luci-app-clash/releases/tag/"| head -n 1| awk -F "/tag/v" '{print $2}'| sed 's/\">//'` if [ $new_version ]; then -echo $new_version > /usr/share/clash/new_version 2>&1 & >/dev/null +echo $new_version > /usr/share/clash/new_luci_version 2>&1 & >/dev/null elif [ $new_version =="" ]; then -echo 0 > /usr/share/clash/new_version 2>&1 & >/dev/null +echo 0 > /usr/share/clash/new__luci_version 2>&1 & >/dev/null fi + \ No newline at end of file diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/clash-watchdog.sh b/package/jsda/luci-app-clash/root/usr/share/clash/clash-watchdog.sh index ac96725456..5511835db7 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/clash-watchdog.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/clash-watchdog.sh @@ -1,5 +1,5 @@ #!/bin/sh - + sleeptime=300 logfile="/tmp/clash.log" CLASH="/etc/clash/clash" diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh b/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh index 50b7153dd6..f2a5a2f30e 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh @@ -4,48 +4,53 @@ subtype=$(uci get clash.config.subcri 2>/dev/null) urlv2ray=$(uci get clash.config.v2ray 2>/dev/null) urlsurge=$(uci get clash.config.surge 2>/dev/null) cusrule=$(uci get clash.config.cusrule 2>/dev/null) -CONFIG_YAML="/etc/clash/config.yaml" +config_type=$(uci get clash.config.config_type 2>/dev/null) + + +CONFIG_YAML="/usr/share/clash/config/sub/config.yaml" CONFIG_YAML_TEMP="/etc/clash/server.yaml" CONFIG_YAML_RULE="/usr/share/clash/rule.yaml" -if pidof clash >/dev/null; then -/etc/init.d/clash stop 2>/dev/null -rm -rf /etc/clash/config.bak 2> /dev/null -if [ $subtype == "clash" ];then -wget-ssl --no-check-certificate --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla/OpenWRT" $subscribe_url -O 2>&1 >1 $CONFIG_YAML -elif [ $subtype == "v2rayn2clash" ];then -if [ $cusrule == 1 ];then -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP -if [ -f $CONFIG_YAML_TEMP ];then -sed -i '/Rule:/,$d' $CONFIG_YAML_TEMP -cat $CONFIG_YAML_TEMP $CONFIG_YAML_RULE > $CONFIG_YAML -fi -else -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML -fi -elif [ $subtype == "surge2clash" ];then -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML -fi -rm -rf $CONFIG_YAML_TEMP 2> /dev/null -uci set clash.config.enable=1 2> /dev/null -uci commit clash 2> /dev/null -/etc/init.d/clash restart 2>/dev/null -else -rm -rf /etc/clash/config.bak 2> /dev/null -if [ $subtype == "clash" ];then -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $subscribe_url -O 2>&1 >1 $CONFIG_YAML -elif [ $subtype == "v2rayn2clash" ];then -if [ $cusrule == 1 ];then -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP -if [ -f $CONFIG_YAML_TEMP ];then -sed -i '/Rule:/,$d' $CONFIG_YAML_TEMP -cat $CONFIG_YAML_TEMP $CONFIG_YAML_RULE > $CONFIG_YAML -fi -else -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML -fi -elif [ $subtype == "surge2clash" ];then -wget-ssl --no-check-certificate --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla/OpenWRT" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML -fi -rm -rf $CONFIG_YAML_TEMP 2> /dev/null -fi + + + + if pidof clash >/dev/null; then + if [ $subtype == "clash" ];then + wget --no-check-certificate --user-agent="Clash/OpenWRT" $subscribe_url -O 2>&1 >1 $CONFIG_YAML + elif [ $subtype == "v2rayn2clash" ];then + if [ $cusrule == 1 ];then + wget --no-check-certificate --user-agent="Clash/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP + if [ -f $CONFIG_YAML_TEMP ];then + sed -i '/Rule:/,$d' $CONFIG_YAML_TEMP + cat $CONFIG_YAML_TEMP $CONFIG_YAML_RULE > $CONFIG_YAML + fi + else + wget --no-check-certificate --user-agent="Clash/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML + fi + elif [ $subtype == "surge2clash" ];then + wget --no-check-certificate --user-agent="Clash/OpenWRT" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML + fi + rm -rf $CONFIG_YAML_TEMP 2>/dev/null + if [ $config_type == "sub" ];then + /etc/init.d/clash restart 2>/dev/null + fi + else + if [ $subtype == "clash" ];then + wget --no-check-certificate --user-agent="Clash/OpenWRT" $subscribe_url -O 2>&1 >1 $CONFIG_YAML + elif [ $subtype == "v2rayn2clash" ];then + if [ $cusrule == 1 ];then + wget --no-check-certificate --user-agent="Clash/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP + if [ -f $CONFIG_YAML_TEMP ];then + sed -i '/Rule:/,$d' $CONFIG_YAML_TEMP + cat $CONFIG_YAML_TEMP $CONFIG_YAML_RULE > $CONFIG_YAML + fi + else + wget --no-check-certificate --user-agent="Clash-/OpenWRT" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML + fi + elif [ $subtype == "surge2clash" ];then + wget --no-check-certificate --user-agent="Clash/OpenWRT" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML + fi + rm -rf $CONFIG_YAML_TEMP 2>/dev/null + fi + + diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/clash_version b/package/jsda/luci-app-clash/root/usr/share/clash/clash_version deleted file mode 100644 index 9b1bb85123..0000000000 --- a/package/jsda/luci-app-clash/root/usr/share/clash/clash_version +++ /dev/null @@ -1 +0,0 @@ -0.37.1 diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/config/custom/config.yaml b/package/jsda/luci-app-clash/root/usr/share/clash/config/custom/config.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/config/sub/config.yaml b/package/jsda/luci-app-clash/root/usr/share/clash/config/sub/config.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/config/upload/config.yaml b/package/jsda/luci-app-clash/root/usr/share/clash/config/upload/config.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/custom_rule.yaml b/package/jsda/luci-app-clash/root/usr/share/clash/custom_rule.yaml index 87be1afcc5..793c8cf11e 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/custom_rule.yaml +++ b/package/jsda/luci-app-clash/root/usr/share/clash/custom_rule.yaml @@ -1,1218 +1,820 @@ - - name: "GlobalTV" - type: select - proxies: - - "Proxy" - - "DIRECT" - - name: AsianTV - type: select - proxies: - - "DIRECT" - - "Proxy" - - name: AdBlock - type: select - proxies: - - "REJECT" + Rule: -- DOMAIN,gs.apple.com,Proxy -- DOMAIN-SUFFIX,mzstatic.com,DIRECT -- DOMAIN-SUFFIX,akadns.net,DIRECT -- DOMAIN-SUFFIX,aaplimg.com,DIRECT -- DOMAIN-SUFFIX,cdn-apple.com,DIRECT -- DOMAIN-SUFFIX,hbo.com,Proxy -- DOMAIN-SUFFIX,hbogo.com,Proxy -- DOMAIN-SUFFIX,hboasia.com,Proxy -- DOMAIN-SUFFIX,hbogo.com,Proxy -- DOMAIN-SUFFIX,hbogoasia.hk,Proxy -- DOMAIN,itunes.apple.com, DIRECT -- DOMAIN,beta.itunes.apple.com, DIRECT -- DOMAIN-SUFFIX,apple.com, DIRECT -- DOMAIN-SUFFIX,icloud.com,DIRECT -- DOMAIN-SUFFIX,icloud-content.com,DIRECT -- DOMAIN,e.crashlytics.com,REJECT -- DOMAIN-KEYWORD,bilibili,DIRECT -- DOMAIN-SUFFIX,acgvideo.com,DIRECT -- DOMAIN-SUFFIX,hdslb.com,DIRECT -- DOMAIN-KEYWORD,qiyi,DIRECT -- DOMAIN-SUFFIX,qy.net,DIRECT -- IP-CIDR,101.227.0.0/16,DIRECT -- IP-CIDR,101.224.0.0/13,DIRECT -- IP-CIDR,119.176.0.0/12,DIRECT -- DOMAIN-SUFFIX,api.mob.app.letv.com,DIRECT -- DOMAIN-KEYWORD,nowtv100,DIRECT -- DOMAIN-KEYWORD,rthklive,DIRECT -- DOMAIN-SUFFIX,mytvsuper.com,DIRECT -- DOMAIN-SUFFIX,tvb.com,DIRECT +# (GlobalTV) +# > ABC +- DOMAIN-SUFFIX,edgedatg.com,📺GlobalTV +- DOMAIN-SUFFIX,go.com,📺GlobalTV + +# > AbemaTV +- DOMAIN,linear-abematv.akamaized.net,📺GlobalTV +- DOMAIN-SUFFIX,abema.io,📺GlobalTV +- DOMAIN-SUFFIX,abema.tv,📺GlobalTV +- DOMAIN-SUFFIX,akamaized.net,📺GlobalTV +- DOMAIN-SUFFIX,ameba.jp,📺GlobalTV +- DOMAIN-SUFFIX,hayabusa.io,📺GlobalTV + +# > Amazon Prime Video +- DOMAIN-SUFFIX,aiv-cdn.net,📺GlobalTV +- DOMAIN-SUFFIX,amazonaws.com,📺GlobalTV +- DOMAIN-SUFFIX,amazonvideo.com,📺GlobalTV +- DOMAIN-SUFFIX,llnwd.net,📺GlobalTV + +# > Bahamut +- DOMAIN-SUFFIX,bahamut.com.tw,📺GlobalTV +- DOMAIN-SUFFIX,gamer.com.tw,📺GlobalTV +- DOMAIN-SUFFIX,hinet.net,📺GlobalTV + +# > BBC +- DOMAIN-KEYWORD,bbcfmt,📺GlobalTV +- DOMAIN-KEYWORD,co.uk,📺GlobalTV +- DOMAIN-KEYWORD,uk-live,📺GlobalTV +- DOMAIN-SUFFIX,bbc.co,📺GlobalTV +- DOMAIN-SUFFIX,bbc.co.uk,📺GlobalTV +- DOMAIN-SUFFIX,bbc.com,📺GlobalTV +- DOMAIN-SUFFIX,bbci.co,📺GlobalTV +- DOMAIN-SUFFIX,bbci.co.uk,📺GlobalTV + +# > CHOCO TV +- DOMAIN-SUFFIX,chocotv.com.tw,📺GlobalTV + +# > Epicgames +- DOMAIN-KEYWORD,epicgames,📺GlobalTV +- DOMAIN-SUFFIX,helpshift.com,📺GlobalTV + +# > Fox+ +- DOMAIN-KEYWORD,foxplus,📺GlobalTV +- DOMAIN-SUFFIX,config.fox.com,📺GlobalTV +- DOMAIN-SUFFIX,emome.net,📺GlobalTV +- DOMAIN-SUFFIX,fox.com,📺GlobalTV +- DOMAIN-SUFFIX,foxdcg.com,📺GlobalTV +- DOMAIN-SUFFIX,foxnow.com,📺GlobalTV +- DOMAIN-SUFFIX,foxplus.com,📺GlobalTV +- DOMAIN-SUFFIX,foxplay.com,📺GlobalTV +- DOMAIN-SUFFIX,ipinfo.io,📺GlobalTV +- DOMAIN-SUFFIX,mstage.io,📺GlobalTV +- DOMAIN-SUFFIX,now.com,📺GlobalTV +- DOMAIN-SUFFIX,theplatform.com,📺GlobalTV +- DOMAIN-SUFFIX,urlload.net,📺GlobalTV + +# > HBO && HBO Go +- DOMAIN-SUFFIX,execute-api.ap-southeast-1.amazonaws.com,📺GlobalTV +- DOMAIN-SUFFIX,hbo.com,📺GlobalTV +- DOMAIN-SUFFIX,hboasia.com,📺GlobalTV +- DOMAIN-SUFFIX,hbogo.com,📺GlobalTV +- DOMAIN-SUFFIX,hbogoasia.hk,📺GlobalTV + +# > Hulu +- DOMAIN-SUFFIX,happyon.jp,📺GlobalTV +- DOMAIN-SUFFIX,hulu.com,📺GlobalTV +- DOMAIN-SUFFIX,huluim.com,📺GlobalTV +- DOMAIN-SUFFIX,hulustream.com,📺GlobalTV + +# > Imkan +- DOMAIN-SUFFIX,imkan.tv,📺GlobalTV + +# > JOOX +- DOMAIN-SUFFIX,joox.com,📺GlobalTV + +# > MytvSUPER +- DOMAIN-KEYWORD,nowtv100,📺GlobalTV +- DOMAIN-KEYWORD,rthklive,📺GlobalTV +- DOMAIN-SUFFIX,mytvsuper.com,📺GlobalTV +- DOMAIN-SUFFIX,tvb.com,📺GlobalTV + +# > Netflix +- DOMAIN-SUFFIX,netflix.com,📺GlobalTV +- DOMAIN-SUFFIX,netflix.net,📺GlobalTV +- DOMAIN-SUFFIX,nflxext.com,📺GlobalTV +- DOMAIN-SUFFIX,nflximg.com,📺GlobalTV +- DOMAIN-SUFFIX,nflximg.net,📺GlobalTV +- DOMAIN-SUFFIX,nflxso.net,📺GlobalTV +- DOMAIN-SUFFIX,nflxvideo.net,📺GlobalTV + +# > Pandora +- DOMAIN-SUFFIX,pandora.com,📺GlobalTV + +# > Sky GO +- DOMAIN-SUFFIX,sky.com,📺GlobalTV +- DOMAIN-SUFFIX,skygo.co.nz,📺GlobalTV + +# > Spotify +- DOMAIN-KEYWORD,spotify,📺GlobalTV +- DOMAIN-SUFFIX,scdn.co,📺GlobalTV +- DOMAIN-SUFFIX,spoti.fi,📺GlobalTV + +# > viuTV +- DOMAIN-SUFFIX,viu.tv,📺GlobalTV + +# > Youtube +- DOMAIN-KEYWORD,youtube,📺GlobalTV +- DOMAIN-SUFFIX,googlevideo.com,📺GlobalTV +- DOMAIN-SUFFIX,gvt2.com,📺GlobalTV +- DOMAIN-SUFFIX,youtu.be,📺GlobalTV + +# (🖥️AsianTV) +# > Bilibili +- DOMAIN-KEYWORD,bilibili,🖥️AsianTV +- DOMAIN-SUFFIX,acg.tv,🖥️AsianTV +- DOMAIN-SUFFIX,acgvideo.com,🖥️AsianTV +- DOMAIN-SUFFIX,b23.tv,🖥️AsianTV +- DOMAIN-SUFFIX,biliapi.com,🖥️AsianTV +- DOMAIN-SUFFIX,biliapi.net,🖥️AsianTV +- DOMAIN-SUFFIX,bilibili.com,🖥️AsianTV +- DOMAIN-SUFFIX,biligame.com,🖥️AsianTV +- DOMAIN-SUFFIX,biligame.net,🖥️AsianTV +- DOMAIN-SUFFIX,hdslb.com,🖥️AsianTV +- DOMAIN-SUFFIX,im9.com,🖥️AsianTV + +# > IQIYI +- DOMAIN-KEYWORD,qiyi,🖥️AsianTV +- DOMAIN-SUFFIX,qy.net,🖥️AsianTV + +# > letv +- DOMAIN-SUFFIX,api.mob.app.letv.com,🖥️AsianTV + +# > NeteaseMusic +- DOMAIN-SUFFIX,163yun.com,DIRECT - DOMAIN-SUFFIX,music.126.net,DIRECT - DOMAIN-SUFFIX,music.163.com,DIRECT -- DOMAIN-SUFFIX,vv.video.qq.com,DIRECT -- IP-CIDR,106.11.0.0/16,DIRECT -- DOMAIN-SUFFIX,edgedatg.com,Proxy -- DOMAIN-SUFFIX,go.com,Proxy -- DOMAIN,linear-abematv.akamaized.net,Proxy -- DOMAIN-SUFFIX,abema.io,Proxy -- DOMAIN-SUFFIX,abema.tv,Proxy -- DOMAIN-SUFFIX,akamaized.net,Proxy -- DOMAIN-SUFFIX,ameba.jp,Proxy -- DOMAIN-SUFFIX,hayabusa.io,Proxy -- DOMAIN-SUFFIX,amazonaws.com,Proxy -- DOMAIN-SUFFIX,bahamut.com.tw,Proxy -- DOMAIN-SUFFIX,gamer.com.tw,Proxy -- DOMAIN-SUFFIX,hinet.net,Proxy -- DOMAIN-KEYWORD,bbcfmt,Proxy -- DOMAIN-KEYWORD,co.uk,Proxy -- DOMAIN-KEYWORD,uk-live,Proxy -- DOMAIN-SUFFIX,bbc.co,Proxy -- DOMAIN-SUFFIX,bbc.co.uk,Proxy -- DOMAIN-SUFFIX,bbc.com,Proxy -- DOMAIN-SUFFIX,bbci.co,Proxy -- DOMAIN-SUFFIX,bbci.co.uk,Proxy -- DOMAIN-SUFFIX,chocotv.com.tw,Proxy -- DOMAIN-KEYWORD,epicgames,Proxy -- DOMAIN-SUFFIX,helpshift.com,Proxy -- DOMAIN-KEYWORD,foxplus,Proxy -- DOMAIN-SUFFIX,config.fox.com,Proxy -- DOMAIN-SUFFIX,emome.net,Proxy -- DOMAIN-SUFFIX,fox.com,Proxy -- DOMAIN-SUFFIX,foxdcg.com,Proxy -- DOMAIN-SUFFIX,foxnow.com,Proxy -- DOMAIN-SUFFIX,foxplus.com,Proxy -- DOMAIN-SUFFIX,foxplay.com,Proxy -- DOMAIN-SUFFIX,ipinfo.io,Proxy -- DOMAIN-SUFFIX,mstage.io,Proxy -- DOMAIN-SUFFIX,now.com,Proxy -- DOMAIN-SUFFIX,theplatform.com,Proxy -- DOMAIN-SUFFIX,hbo.com,Proxy -- DOMAIN-SUFFIX,hbogo.com,Proxy -- DOMAIN-SUFFIX,hbogoasia.hk,Proxy -- DOMAIN-SUFFIX,happyon.jp,Proxy -- DOMAIN-SUFFIX,hulu.com,Proxy -- DOMAIN-SUFFIX,huluim.com,Proxy -- DOMAIN-SUFFIX,imkan.tv,Proxy -- DOMAIN-SUFFIX,joox.com,Proxy -- DOMAIN-SUFFIX,netflix.com,Proxy -- DOMAIN-SUFFIX,netflix.net,Proxy -- DOMAIN-SUFFIX,nflxext.com,Proxy -- DOMAIN-SUFFIX,nflximg.com,Proxy -- DOMAIN-SUFFIX,nflximg.net,Proxy -- DOMAIN-SUFFIX,nflxso.net,Proxy -- DOMAIN-SUFFIX,nflxvideo.net,Proxy -- DOMAIN-KEYWORD,spotify,Proxy -- DOMAIN-SUFFIX,scdn.co,Proxy -- DOMAIN-SUFFIX,spoti.fi,Proxy -- DOMAIN-SUFFIX,viu.tv,Proxy -- DOMAIN-KEYWORD,youtube,Proxy -- DOMAIN-SUFFIX,googlevideo.com,Proxy -- DOMAIN-SUFFIX,gvt2.com,Proxy -- DOMAIN-SUFFIX,youtu.be,Proxy -- DOMAIN-SUFFIX,cn,DIRECT -- DOMAIN-SUFFIX,126.com,DIRECT -- DOMAIN-SUFFIX,126.net,DIRECT -- DOMAIN-SUFFIX,127.net,DIRECT -- DOMAIN-SUFFIX,163.com,DIRECT -- DOMAIN-SUFFIX,360buyimg.com,DIRECT -- DOMAIN-SUFFIX,36kr.com,DIRECT -- DOMAIN-SUFFIX,acfun.tv,DIRECT -- DOMAIN-SUFFIX,air-matters.com,DIRECT -- DOMAIN-SUFFIX,aixifan.com,DIRECT -- DOMAIN-SUFFIX,akamaized.net,DIRECT -- DOMAIN-KEYWORD,alicdn,DIRECT -- DOMAIN-KEYWORD,alipay,DIRECT -- DOMAIN-KEYWORD,taobao,DIRECT -- DOMAIN-SUFFIX,amap.com,DIRECT -- DOMAIN-SUFFIX,autonavi.com,DIRECT -- DOMAIN-KEYWORD,baidu,DIRECT -- DOMAIN-SUFFIX,bdimg.com,DIRECT -- DOMAIN-SUFFIX,bdstatic.com,DIRECT -- DOMAIN-SUFFIX,bilibili.com,DIRECT -- DOMAIN-SUFFIX,caiyunapp.com,DIRECT -- DOMAIN-SUFFIX,clouddn.com,DIRECT -- DOMAIN-SUFFIX,cnbeta.com,DIRECT -- DOMAIN-SUFFIX,cnbetacdn.com,DIRECT -- DOMAIN-SUFFIX,cootekservice.com,DIRECT -- DOMAIN-SUFFIX,csdn.net,DIRECT -- DOMAIN-SUFFIX,ctrip.com,DIRECT -- DOMAIN-SUFFIX,dgtle.com,DIRECT -- DOMAIN-SUFFIX,dianping.com,DIRECT -- DOMAIN-SUFFIX,douban.com,DIRECT -- DOMAIN-SUFFIX,doubanio.com,DIRECT -- DOMAIN-SUFFIX,duokan.com,DIRECT -- DOMAIN-SUFFIX,easou.com,DIRECT -- DOMAIN-SUFFIX,ele.me,DIRECT -- DOMAIN-SUFFIX,feng.com,DIRECT -- DOMAIN-SUFFIX,fir.im,DIRECT -- DOMAIN-SUFFIX,frdic.com,DIRECT -- DOMAIN-SUFFIX,g-cores.com,DIRECT -- DOMAIN-SUFFIX,godic.net,DIRECT -- DOMAIN-SUFFIX,gtimg.com,DIRECT -- DOMAIN,cdn.hockeyapp.net,DIRECT -- DOMAIN-SUFFIX,hongxiu.com,DIRECT -- DOMAIN-SUFFIX,hxcdn.net,DIRECT -- DOMAIN-SUFFIX,iciba.com,DIRECT -- DOMAIN-SUFFIX,ifeng.com,DIRECT -- DOMAIN-SUFFIX,ifengimg.com,DIRECT -- DOMAIN-SUFFIX,ipip.net,DIRECT -- DOMAIN-SUFFIX,iqiyi.com,DIRECT -- DOMAIN-SUFFIX,jd.com,DIRECT -- DOMAIN-SUFFIX,jianshu.com,DIRECT -- DOMAIN-SUFFIX,knewone.com,DIRECT -- DOMAIN-SUFFIX,le.com,DIRECT -- DOMAIN-SUFFIX,lecloud.com,DIRECT -- DOMAIN-SUFFIX,lemicp.com,DIRECT -- DOMAIN-SUFFIX,luoo.net,DIRECT -- DOMAIN-SUFFIX,meituan.com,DIRECT -- DOMAIN-SUFFIX,meituan.net,DIRECT -- DOMAIN-SUFFIX,mi.com,DIRECT -- DOMAIN-SUFFIX,miaopai.com,DIRECT -- DOMAIN-SUFFIX,microsoft.com,DIRECT -- DOMAIN-SUFFIX,microsoftonline.com,DIRECT -- DOMAIN-SUFFIX,miui.com,DIRECT -- DOMAIN-SUFFIX,miwifi.com,DIRECT -- DOMAIN-SUFFIX,mob.com,DIRECT -- DOMAIN-SUFFIX,netease.com,DIRECT -- DOMAIN-KEYWORD,officecdn,DIRECT -- DOMAIN-SUFFIX,oschina.net,DIRECT -- DOMAIN-SUFFIX,ppsimg.com,DIRECT -- DOMAIN-SUFFIX,pstatp.com,DIRECT -- DOMAIN-SUFFIX,qcloud.com,DIRECT -- DOMAIN-SUFFIX,qdaily.com,DIRECT -- DOMAIN-SUFFIX,qdmm.com,DIRECT -- DOMAIN-SUFFIX,qhimg.com,DIRECT -- DOMAIN-SUFFIX,qidian.com,DIRECT -- DOMAIN-SUFFIX,qihucdn.com,DIRECT -- DOMAIN-SUFFIX,qiniu.com,DIRECT -- DOMAIN-SUFFIX,qiniucdn.com,DIRECT -- DOMAIN-SUFFIX,qiyipic.com,DIRECT -- DOMAIN-SUFFIX,qq.com,DIRECT -- DOMAIN-SUFFIX,qqurl.com,DIRECT -- DOMAIN-SUFFIX,rarbg.to,DIRECT -- DOMAIN-SUFFIX,rr.tv,DIRECT -- DOMAIN-SUFFIX,ruguoapp.com,DIRECT -- DOMAIN-SUFFIX,segmentfault.com,DIRECT -- DOMAIN-SUFFIX,sinaapp.com,DIRECT -- DOMAIN-SUFFIX,sogou.com,DIRECT -- DOMAIN-SUFFIX,sogoucdn.com,DIRECT -- DOMAIN-SUFFIX,sohu.com,DIRECT -- DOMAIN-SUFFIX,soku.com,DIRECT -- DOMAIN-SUFFIX,speedtest.net,DIRECT -- DOMAIN-SUFFIX,sspai.com,DIRECT -- DOMAIN-SUFFIX,suning.com,DIRECT -- DOMAIN-SUFFIX,taobao.com,DIRECT -- DOMAIN-SUFFIX,tenpay.com,DIRECT -- DOMAIN-SUFFIX,tmall.com,DIRECT -- DOMAIN-SUFFIX,tudou.com,DIRECT -- DOMAIN-SUFFIX,umetrip.com,DIRECT -- DOMAIN-SUFFIX,upaiyun.com,DIRECT -- DOMAIN-SUFFIX,upyun.com,DIRECT -- DOMAIN-SUFFIX,v2ex.com,DIRECT -- DOMAIN-SUFFIX,veryzhun.com,DIRECT -- DOMAIN-SUFFIX,weather.com,DIRECT -- DOMAIN-SUFFIX,weibo.com,DIRECT -- DOMAIN-SUFFIX,xiami.com,DIRECT -- DOMAIN-SUFFIX,xiami.net,DIRECT -- DOMAIN-SUFFIX,xiaomicp.com,DIRECT -- DOMAIN-SUFFIX,ximalaya.com,DIRECT -- DOMAIN-SUFFIX,xmcdn.com,DIRECT -- DOMAIN-SUFFIX,xunlei.com,DIRECT -- DOMAIN-SUFFIX,yhd.com,DIRECT -- DOMAIN-SUFFIX,yihaodianimg.com,DIRECT -- DOMAIN-SUFFIX,yinxiang.com,DIRECT -- DOMAIN-SUFFIX,ykimg.com,DIRECT -- DOMAIN-SUFFIX,youdao.com,DIRECT -- DOMAIN-SUFFIX,youku.com,DIRECT -- DOMAIN-SUFFIX,zealer.com,DIRECT -- DOMAIN-SUFFIX,zhihu.com,DIRECT -- DOMAIN-SUFFIX,zhimg.com,DIRECT -- DOMAIN-KEYWORD,amazon,Proxy -- DOMAIN-KEYWORD,google,Proxy -- DOMAIN-KEYWORD,gmail,Proxy -- DOMAIN-KEYWORD,youtube,Proxy -- DOMAIN-KEYWORD,facebook,Proxy -- DOMAIN-SUFFIX,fb.me,Proxy -- DOMAIN-SUFFIX,fbcdn.net,Proxy -- DOMAIN-KEYWORD,twitter,Proxy -- DOMAIN-KEYWORD,instagram,Proxy -- DOMAIN-KEYWORD,dropbox,Proxy -- DOMAIN-SUFFIX,twimg.com,Proxy -- DOMAIN-KEYWORD,blogspot,Proxy -- DOMAIN-SUFFIX,youtu.be,Proxy -- DOMAIN-KEYWORD,whatsapp,Proxy -- DOMAIN-SUFFIX,9to5mac.com,Proxy -- DOMAIN-SUFFIX,abpchina.org,Proxy -- DOMAIN-SUFFIX,adblockplus.org,Proxy -- DOMAIN-SUFFIX,adobe.com,Proxy -- DOMAIN-SUFFIX,alfredapp.com,Proxy -- DOMAIN-SUFFIX,amplitude.com,Proxy -- DOMAIN-SUFFIX,ampproject.org,Proxy -- DOMAIN-SUFFIX,android.com,Proxy -- DOMAIN-SUFFIX,angularjs.org,Proxy -- DOMAIN-SUFFIX,aolcdn.com,Proxy -- DOMAIN-SUFFIX,apkpure.com,Proxy -- DOMAIN-SUFFIX,appledaily.com,Proxy -- DOMAIN-SUFFIX,appshopper.com,Proxy -- DOMAIN-SUFFIX,appspot.com,Proxy -- DOMAIN-SUFFIX,arcgis.com,Proxy -- DOMAIN-SUFFIX,archive.org,Proxy -- DOMAIN-SUFFIX,armorgames.com,Proxy -- DOMAIN-SUFFIX,aspnetcdn.com,Proxy -- DOMAIN-SUFFIX,att.com,Proxy -- DOMAIN-SUFFIX,awsstatic.com,Proxy -- DOMAIN-SUFFIX,azureedge.net,Proxy -- DOMAIN-SUFFIX,azurewebsites.net,Proxy -- DOMAIN-SUFFIX,bing.com,Proxy -- DOMAIN-SUFFIX,bintray.com,Proxy -- DOMAIN-SUFFIX,bit.com,Proxy -- DOMAIN-SUFFIX,bit.ly,Proxy -- DOMAIN-SUFFIX,bitbucket.org,Proxy -- DOMAIN-SUFFIX,bjango.com,Proxy -- DOMAIN-SUFFIX,bkrtx.com,Proxy -- DOMAIN-SUFFIX,blog.com,Proxy -- DOMAIN-SUFFIX,blogcdn.com,Proxy -- DOMAIN-SUFFIX,blogger.com,Proxy -- DOMAIN-SUFFIX,blogsmithmedia.com,Proxy -- DOMAIN-SUFFIX,blogspot.com,Proxy -- DOMAIN-SUFFIX,blogspot.hk,Proxy -- DOMAIN-SUFFIX,bloomberg.com,Proxy -- DOMAIN-SUFFIX,box.com,Proxy -- DOMAIN-SUFFIX,box.net,Proxy -- DOMAIN-SUFFIX,cachefly.net,Proxy -- DOMAIN-SUFFIX,chromium.org,Proxy -- DOMAIN-SUFFIX,cl.ly,Proxy -- DOMAIN-SUFFIX,cloudflare.com,Proxy -- DOMAIN-SUFFIX,cloudfront.net,Proxy -- DOMAIN-SUFFIX,cloudmagic.com,Proxy -- DOMAIN-SUFFIX,cmail19.com,Proxy -- DOMAIN-SUFFIX,cnet.com,Proxy -- DOMAIN-SUFFIX,cocoapods.org,Proxy -- DOMAIN-SUFFIX,comodoca.com,Proxy -- DOMAIN-SUFFIX,content.office.net,Proxy -- DOMAIN-SUFFIX,crashlytics.com,Proxy -- DOMAIN-SUFFIX,culturedcode.com,Proxy -- DOMAIN-SUFFIX,d.pr,Proxy -- DOMAIN-SUFFIX,danilo.to,Proxy -- DOMAIN-SUFFIX,dayone.me,Proxy -- DOMAIN-SUFFIX,db.tt,Proxy -- DOMAIN-SUFFIX,deskconnect.com,Proxy -- DOMAIN-SUFFIX,digicert.com,Proxy -- DOMAIN-SUFFIX,disq.us,Proxy -- DOMAIN-SUFFIX,disqus.com,Proxy -- DOMAIN-SUFFIX,disquscdn.com,Proxy -- DOMAIN-SUFFIX,dlercloud.com,Proxy -- DOMAIN-SUFFIX,dnsimple.com,Proxy -- DOMAIN-SUFFIX,docker.com,Proxy -- DOMAIN-SUFFIX,dribbble.com,Proxy -- DOMAIN-SUFFIX,droplr.com,Proxy -- DOMAIN-SUFFIX,duckduckgo.com,Proxy -- DOMAIN-SUFFIX,dueapp.com,Proxy -- DOMAIN-SUFFIX,dytt8.net,Proxy -- DOMAIN-SUFFIX,edgecastcdn.net,Proxy -- DOMAIN-SUFFIX,edgekey.net,Proxy -- DOMAIN-SUFFIX,edgesuite.net,Proxy -- DOMAIN-SUFFIX,engadget.com,Proxy -- DOMAIN-SUFFIX,entrust.net,Proxy -- DOMAIN-SUFFIX,eurekavpt.com,Proxy -- DOMAIN-SUFFIX,evernote.com,Proxy -- DOMAIN-SUFFIX,fabric.io,Proxy -- DOMAIN-SUFFIX,fast.com,Proxy -- DOMAIN-SUFFIX,fastly.net,Proxy -- DOMAIN-SUFFIX,fc2.com,Proxy -- DOMAIN-SUFFIX,feedburner.com,Proxy -- DOMAIN-SUFFIX,feedly.com,Proxy -- DOMAIN-SUFFIX,feedsportal.com,Proxy -- DOMAIN-SUFFIX,fiftythree.com,Proxy -- DOMAIN-SUFFIX,firebaseio.com,Proxy -- DOMAIN-SUFFIX,flexibits.com,Proxy -- DOMAIN-SUFFIX,flickr.com,Proxy -- DOMAIN-SUFFIX,flipboard.com,Proxy -- DOMAIN-SUFFIX,g.co,Proxy -- DOMAIN-SUFFIX,gabia.net,Proxy -- DOMAIN-SUFFIX,geni.us,Proxy -- DOMAIN-SUFFIX,gfx.ms,Proxy -- DOMAIN-SUFFIX,ggpht.com,Proxy -- DOMAIN-SUFFIX,ghostnoteapp.com,Proxy -- DOMAIN-SUFFIX,git.io,Proxy -- DOMAIN-KEYWORD,github,Proxy -- DOMAIN-SUFFIX,globalsign.com,Proxy -- DOMAIN-SUFFIX,gmodules.com,Proxy -- DOMAIN-SUFFIX,godaddy.com,Proxy -- DOMAIN-SUFFIX,golang.org,Proxy -- DOMAIN-SUFFIX,gongm.in,Proxy -- DOMAIN-SUFFIX,goo.gl,Proxy -- DOMAIN-SUFFIX,goodreaders.com,Proxy -- DOMAIN-SUFFIX,goodreads.com,Proxy -- DOMAIN-SUFFIX,gravatar.com,Proxy -- DOMAIN-SUFFIX,gstatic.com,Proxy -- DOMAIN-SUFFIX,gvt0.com,Proxy -- DOMAIN-SUFFIX,hockeyapp.net,Proxy -- DOMAIN-SUFFIX,hotmail.com,Proxy -- DOMAIN-SUFFIX,icons8.com,Proxy -- DOMAIN-SUFFIX,ift.tt,Proxy -- DOMAIN-SUFFIX,ifttt.com,Proxy -- DOMAIN-SUFFIX,iherb.com,Proxy -- DOMAIN-SUFFIX,imageshack.us,Proxy -- DOMAIN-SUFFIX,img.ly,Proxy -- DOMAIN-SUFFIX,imgur.com,Proxy -- DOMAIN-SUFFIX,imore.com,Proxy -- DOMAIN-SUFFIX,instapaper.com,Proxy -- DOMAIN-SUFFIX,ipn.li,Proxy -- DOMAIN-SUFFIX,is.gd,Proxy -- DOMAIN-SUFFIX,issuu.com,Proxy -- DOMAIN-SUFFIX,itgonglun.com,Proxy -- DOMAIN-SUFFIX,itun.es,Proxy -- DOMAIN-SUFFIX,ixquick.com,Proxy -- DOMAIN-SUFFIX,j.mp,Proxy -- DOMAIN-SUFFIX,js.revsci.net,Proxy -- DOMAIN-SUFFIX,jshint.com,Proxy -- DOMAIN-SUFFIX,jtvnw.net,Proxy -- DOMAIN-SUFFIX,justgetflux.com,Proxy -- DOMAIN-SUFFIX,kat.cr,Proxy -- DOMAIN-SUFFIX,klip.me,Proxy -- DOMAIN-SUFFIX,libsyn.com,Proxy -- DOMAIN-SUFFIX,licdn.com,Proxy -- DOMAIN-SUFFIX,linkedin.com,Proxy -- DOMAIN-SUFFIX,linode.com,Proxy -- DOMAIN-SUFFIX,lithium.com,Proxy -- DOMAIN-SUFFIX,littlehj.com,Proxy -- DOMAIN-SUFFIX,live.com,Proxy -- DOMAIN-SUFFIX,live.net,Proxy -- DOMAIN-SUFFIX,livefilestore.com,Proxy -- DOMAIN-SUFFIX,llnwd.net,Proxy -- DOMAIN-SUFFIX,macid.co,Proxy -- DOMAIN-SUFFIX,macromedia.com,Proxy -- DOMAIN-SUFFIX,macrumors.com,Proxy -- DOMAIN-SUFFIX,mashable.com,Proxy -- DOMAIN-SUFFIX,mathjax.org,Proxy -- DOMAIN-SUFFIX,medium.com,Proxy -- DOMAIN-SUFFIX,mega.co.nz,Proxy -- DOMAIN-SUFFIX,mega.nz,Proxy -- DOMAIN-SUFFIX,megaupload.com,Proxy -- DOMAIN-SUFFIX,microsofttranslator.com,Proxy -- DOMAIN-SUFFIX,mindnode.com,Proxy -- DOMAIN-SUFFIX,mobile01.com,Proxy -- DOMAIN-SUFFIX,modmyi.com,Proxy -- DOMAIN-SUFFIX,msedge.net,Proxy -- DOMAIN-SUFFIX,myfontastic.com,Proxy -- DOMAIN-SUFFIX,name.com,Proxy -- DOMAIN-SUFFIX,nextmedia.com,Proxy -- DOMAIN-SUFFIX,nsstatic.net,Proxy -- DOMAIN-SUFFIX,nssurge.com,Proxy -- DOMAIN-SUFFIX,nyt.com,Proxy -- DOMAIN-SUFFIX,nytimes.com,Proxy -- DOMAIN-SUFFIX,office365.com,Proxy -- DOMAIN-SUFFIX,omnigroup.com,Proxy -- DOMAIN-SUFFIX,onedrive.com,Proxy -- DOMAIN-SUFFIX,onenote.com,Proxy -- DOMAIN-SUFFIX,ooyala.com,Proxy -- DOMAIN-SUFFIX,openvpn.net,Proxy -- DOMAIN-SUFFIX,openwrt.org,Proxy -- DOMAIN-SUFFIX,orkut.com,Proxy -- DOMAIN-SUFFIX,osxdaily.com,Proxy -- DOMAIN-SUFFIX,outlook.com,Proxy -- DOMAIN-SUFFIX,ow.ly,Proxy -- DOMAIN-SUFFIX,paddleapi.com,Proxy -- DOMAIN-SUFFIX,parallels.com,Proxy -- DOMAIN-SUFFIX,parse.com,Proxy -- DOMAIN-SUFFIX,pdfexpert.com,Proxy -- DOMAIN-SUFFIX,periscope.tv,Proxy -- DOMAIN-SUFFIX,pinboard.in,Proxy -- DOMAIN-SUFFIX,pinterest.com,Proxy -- DOMAIN-SUFFIX,pixelmator.com,Proxy -- DOMAIN-SUFFIX,pixiv.net,Proxy -- DOMAIN-SUFFIX,playpcesor.com,Proxy -- DOMAIN-SUFFIX,playstation.com,Proxy -- DOMAIN-SUFFIX,playstation.com.hk,Proxy -- DOMAIN-SUFFIX,playstation.net,Proxy -- DOMAIN-SUFFIX,playstationnetwork.com,Proxy -- DOMAIN-SUFFIX,pushwoosh.com,Proxy -- DOMAIN-SUFFIX,rime.im,Proxy -- DOMAIN-SUFFIX,servebom.com,Proxy -- DOMAIN-SUFFIX,sfx.ms,Proxy -- DOMAIN-SUFFIX,shadowsocks.org,Proxy -- DOMAIN-SUFFIX,sharethis.com,Proxy -- DOMAIN-SUFFIX,shazam.com,Proxy -- DOMAIN-SUFFIX,skype.com,Proxy -- DOMAIN-SUFFIX,smartdnsProxy.com,Proxy -- DOMAIN-SUFFIX,smartmailcloud.com,Proxy -- DOMAIN-SUFFIX,sndcdn.com,Proxy -- DOMAIN-SUFFIX,sony.com,Proxy -- DOMAIN-SUFFIX,soundcloud.com,Proxy -- DOMAIN-SUFFIX,sourceforge.net,Proxy -- DOMAIN-SUFFIX,spotify.com,Proxy -- DOMAIN-SUFFIX,squarespace.com,Proxy -- DOMAIN-SUFFIX,sstatic.net,Proxy -- DOMAIN-SUFFIX,st.luluku.pw,Proxy -- DOMAIN-SUFFIX,stackoverflow.com,Proxy -- DOMAIN-SUFFIX,startpage.com,Proxy -- DOMAIN-SUFFIX,staticflickr.com,Proxy -- DOMAIN-SUFFIX,steamcommunity.com,Proxy -- DOMAIN-SUFFIX,symauth.com,Proxy -- DOMAIN-SUFFIX,symcb.com,Proxy -- DOMAIN-SUFFIX,symcd.com,Proxy -- DOMAIN-SUFFIX,tapbots.com,Proxy -- DOMAIN-SUFFIX,tapbots.net,Proxy -- DOMAIN-SUFFIX,tdesktop.com,Proxy -- DOMAIN-SUFFIX,techcrunch.com,Proxy -- DOMAIN-SUFFIX,techsmith.com,Proxy -- DOMAIN-SUFFIX,thepiratebay.org,Proxy -- DOMAIN-SUFFIX,theverge.com,Proxy -- DOMAIN-SUFFIX,time.com,Proxy -- DOMAIN-SUFFIX,timeinc.net,Proxy -- DOMAIN-SUFFIX,tiny.cc,Proxy -- DOMAIN-SUFFIX,tinypic.com,Proxy -- DOMAIN-SUFFIX,tmblr.co,Proxy -- DOMAIN-SUFFIX,todoist.com,Proxy -- DOMAIN-SUFFIX,trello.com,Proxy -- DOMAIN-SUFFIX,trustasiassl.com,Proxy -- DOMAIN-SUFFIX,tumblr.co,Proxy -- DOMAIN-SUFFIX,tumblr.com,Proxy -- DOMAIN-SUFFIX,tweetdeck.com,Proxy -- DOMAIN-SUFFIX,tweetmarker.net,Proxy -- DOMAIN-SUFFIX,twitch.tv,Proxy -- DOMAIN-SUFFIX,txmblr.com,Proxy -- DOMAIN-SUFFIX,typekit.net,Proxy -- DOMAIN-SUFFIX,ubertags.com,Proxy -- DOMAIN-SUFFIX,ublock.org,Proxy -- DOMAIN-SUFFIX,ubnt.com,Proxy -- DOMAIN-SUFFIX,ulyssesapp.com,Proxy -- DOMAIN-SUFFIX,urchin.com,Proxy -- DOMAIN-SUFFIX,usertrust.com,Proxy -- DOMAIN-SUFFIX,v.gd,Proxy -- DOMAIN-SUFFIX,vimeo.com,Proxy -- DOMAIN-SUFFIX,vimeocdn.com,Proxy -- DOMAIN-SUFFIX,vine.co,Proxy -- DOMAIN-SUFFIX,vivaldi.com,Proxy -- DOMAIN-SUFFIX,vox-cdn.com,Proxy -- DOMAIN-SUFFIX,vsco.co,Proxy -- DOMAIN-SUFFIX,vultr.com,Proxy -- DOMAIN-SUFFIX,w.org,Proxy -- DOMAIN-SUFFIX,w3schools.com,Proxy -- DOMAIN-SUFFIX,webtype.com,Proxy -- DOMAIN-SUFFIX,wikiwand.com,Proxy -- DOMAIN-SUFFIX,wikileaks.org,Proxy -- DOMAIN-SUFFIX,wikimedia.org,Proxy -- DOMAIN-SUFFIX,wikipedia.com,Proxy -- DOMAIN-SUFFIX,wikipedia.org,Proxy -- DOMAIN-SUFFIX,windows.com,Proxy -- DOMAIN-SUFFIX,windows.net,Proxy -- DOMAIN-SUFFIX,wire.com,Proxy -- DOMAIN-SUFFIX,wordpress.com,Proxy -- DOMAIN-SUFFIX,workflowy.com,Proxy -- DOMAIN-SUFFIX,wp.com,Proxy -- DOMAIN-SUFFIX,wsj.com,Proxy -- DOMAIN-SUFFIX,wsj.net,Proxy -- DOMAIN-SUFFIX,xda-developers.com,Proxy -- DOMAIN-SUFFIX,xeeno.com,Proxy -- DOMAIN-SUFFIX,xiti.com,Proxy -- DOMAIN-SUFFIX,yahoo.com,Proxy -- DOMAIN-SUFFIX,yimg.com,Proxy -- DOMAIN-SUFFIX,ying.com,Proxy -- DOMAIN-SUFFIX,yoyo.org,Proxy -- DOMAIN-SUFFIX,ytimg.com,Proxy -- DOMAIN-SUFFIX,telegra.ph,Proxy -- DOMAIN-SUFFIX,telegram.org,Proxy -- IP-CIDR,91.108.56.0/22,Proxy -- IP-CIDR,91.108.4.0/22,Proxy -- IP-CIDR,91.108.8.0/22,Proxy -- IP-CIDR,109.239.140.0/24,Proxy -- IP-CIDR,149.154.160.0/20,Proxy -- IP-CIDR,149.154.164.0/22,Proxy -- DOMAIN-SUFFIX,local,DIRECT -- IP-CIDR,127.0.0.0/8,DIRECT -- IP-CIDR,172.16.0.0/12,DIRECT -- IP-CIDR,192.168.0.0/16,DIRECT -- IP-CIDR,10.0.0.0/8,DIRECT -- IP-CIDR,17.0.0.0/8,DIRECT -- IP-CIDR,100.64.0.0/10,DIRECT -- DOMAIN-KEYWORD,announce,DIRECT -- DOMAIN-KEYWORD,torrent,DIRECT -- DOMAIN-KEYWORD,tracker,DIRECT -- DOMAIN-SUFFIX,smtp,DIRECT -- DOMAIN-SUFFIX,edgedatg.com,GlobalTV -- DOMAIN-SUFFIX,go.com,GlobalTV -- DOMAIN,linear-abematv.akamaized.net,GlobalTV -- DOMAIN-SUFFIX,abema.io,GlobalTV -- DOMAIN-SUFFIX,abema.tv,GlobalTV -- DOMAIN-SUFFIX,akamaized.net,GlobalTV -- DOMAIN-SUFFIX,ameba.jp,GlobalTV -- DOMAIN-SUFFIX,hayabusa.io,GlobalTV -- DOMAIN-SUFFIX,aiv-cdn.net,GlobalTV -- DOMAIN-SUFFIX,amazonaws.com,GlobalTV -- DOMAIN-SUFFIX,amazonvideo.com,GlobalTV -- DOMAIN-SUFFIX,llnwd.net,GlobalTV -- DOMAIN-SUFFIX,bahamut.com.tw,GlobalTV -- DOMAIN-SUFFIX,gamer.com.tw,GlobalTV -- DOMAIN-SUFFIX,hinet.net,GlobalTV -- DOMAIN-KEYWORD,bbcfmt,GlobalTV -- DOMAIN-KEYWORD,co.uk,GlobalTV -- DOMAIN-KEYWORD,uk-live,GlobalTV -- DOMAIN-SUFFIX,bbc.co,GlobalTV -- DOMAIN-SUFFIX,bbc.co.uk,GlobalTV -- DOMAIN-SUFFIX,bbc.com,GlobalTV -- DOMAIN-SUFFIX,bbci.co,GlobalTV -- DOMAIN-SUFFIX,bbci.co.uk,GlobalTV -- DOMAIN-SUFFIX,chocotv.com.tw,GlobalTV -- DOMAIN-KEYWORD,epicgames,GlobalTV -- DOMAIN-SUFFIX,helpshift.com,GlobalTV -- DOMAIN-KEYWORD,foxplus,GlobalTV -- DOMAIN-SUFFIX,config.fox.com,GlobalTV -- DOMAIN-SUFFIX,emome.net,GlobalTV -- DOMAIN-SUFFIX,fox.com,GlobalTV -- DOMAIN-SUFFIX,foxdcg.com,GlobalTV -- DOMAIN-SUFFIX,foxnow.com,GlobalTV -- DOMAIN-SUFFIX,foxplus.com,GlobalTV -- DOMAIN-SUFFIX,foxplay.com,GlobalTV -- DOMAIN-SUFFIX,ipinfo.io,GlobalTV -- DOMAIN-SUFFIX,mstage.io,GlobalTV -- DOMAIN-SUFFIX,now.com,GlobalTV -- DOMAIN-SUFFIX,theplatform.com,GlobalTV -- DOMAIN-SUFFIX,urlload.net,GlobalTV -- DOMAIN-SUFFIX,execute-api.ap-southeast-1.amazonaws.com,GlobalTV -- DOMAIN-SUFFIX,hbo.com,GlobalTV -- DOMAIN-SUFFIX,hboasia.com,GlobalTV -- DOMAIN-SUFFIX,hbogo.com,GlobalTV -- DOMAIN-SUFFIX,hbogoasia.hk,GlobalTV -- DOMAIN-SUFFIX,happyon.jp,GlobalTV -- DOMAIN-SUFFIX,hulu.com,GlobalTV -- DOMAIN-SUFFIX,huluim.com,GlobalTV -- DOMAIN-SUFFIX,hulustream.com,GlobalTV -- DOMAIN-SUFFIX,imkan.tv,GlobalTV -- DOMAIN-SUFFIX,joox.com,GlobalTV -- DOMAIN-KEYWORD,nowtv100,GlobalTV -- DOMAIN-KEYWORD,rthklive,GlobalTV -- DOMAIN-SUFFIX,mytvsuper.com,GlobalTV -- DOMAIN-SUFFIX,tvb.com,GlobalTV -- DOMAIN-SUFFIX,netflix.com,Proxy -- DOMAIN-SUFFIX,netflix.net,Proxy -- DOMAIN-SUFFIX,nflxext.com,Proxy -- DOMAIN-SUFFIX,nflximg.com,Proxy -- DOMAIN-SUFFIX,nflximg.net,Proxy -- DOMAIN-SUFFIX,nflxso.net,Proxy -- DOMAIN-SUFFIX,nflxvideo.net,Proxy -- DOMAIN-SUFFIX,pandora.com,GlobalTV -- DOMAIN-SUFFIX,sky.com,GlobalTV -- DOMAIN-SUFFIX,skygo.co.nz,GlobalTV -- DOMAIN-KEYWORD,spotify,GlobalTV -- DOMAIN-SUFFIX,scdn.co,GlobalTV -- DOMAIN-SUFFIX,spoti.fi,GlobalTV -- DOMAIN-SUFFIX,viu.tv,GlobalTV -- DOMAIN-KEYWORD,youtube,GlobalTV -- DOMAIN-SUFFIX,googlevideo.com,GlobalTV -- DOMAIN-SUFFIX,gvt2.com,GlobalTV -- DOMAIN-SUFFIX,youtu.be,GlobalTV -- DOMAIN-KEYWORD,bilibili,AsianTV -- DOMAIN-SUFFIX,acg.tv,AsianTV -- DOMAIN-SUFFIX,acgvideo.com,AsianTV -- DOMAIN-SUFFIX,b23.tv,AsianTV -- DOMAIN-SUFFIX,biliapi.com,AsianTV -- DOMAIN-SUFFIX,biliapi.net,AsianTV -- DOMAIN-SUFFIX,bilibili.com,AsianTV -- DOMAIN-SUFFIX,biligame.com,AsianTV -- DOMAIN-SUFFIX,biligame.net,AsianTV -- DOMAIN-SUFFIX,hdslb.com,AsianTV -- DOMAIN-SUFFIX,im9.com,AsianTV -- DOMAIN-KEYWORD,qiyi,AsianTV -- DOMAIN-SUFFIX,qy.net,AsianTV -- DOMAIN-SUFFIX,api.mob.app.letv.com,AsianTV -- DOMAIN-SUFFIX,163yun.com,AsianTV -- DOMAIN-SUFFIX,music.126.net,AsianTV -- DOMAIN-SUFFIX,music.163.com,AsianTV -- DOMAIN-SUFFIX,vv.video.qq.com,AsianTV -- DOMAIN,analytics.google.com,Proxy -- DOMAIN,analyticsinsights-pa.googleapis.com,Proxy -- DOMAIN,analyticsreporting.googleapis.com,Proxy + +# > Tencent Video +- DOMAIN-SUFFIX,vv.video.qq.com,🖥️AsianTV + +# ❌AdBlock Block +# > Exclusions +- DOMAIN,analytics.google.com,🔑Proxy +- DOMAIN,analyticsinsights-pa.googleapis.com,🔑Proxy +- DOMAIN,analyticsreporting.googleapis.com,🔑Proxy - DOMAIN-SUFFIX,vd.l.qq.com,DIRECT -- DOMAIN-KEYWORD,adservice,AdBlock -- DOMAIN-KEYWORD,analytics,AdBlock -- DOMAIN-KEYWORD,analysis,AdBlock -- DOMAIN-SUFFIX,3lift.com,AdBlock -- DOMAIN-SUFFIX,4006825178.com,AdBlock -- DOMAIN-SUFFIX,51.la,AdBlock -- DOMAIN-SUFFIX,550tg.com,AdBlock -- DOMAIN-SUFFIX,56txs4.com,AdBlock -- DOMAIN-SUFFIX,ad373.com,AdBlock -- DOMAIN-SUFFIX,ad4screen.com,AdBlock -- DOMAIN-SUFFIX,ad-brix.com,AdBlock -- DOMAIN-SUFFIX,adcolony.com,AdBlock -- DOMAIN-SUFFIX,adform.net,AdBlock -- DOMAIN-SUFFIX,adinall.com,AdBlock -- DOMAIN-SUFFIX,adinfuse.com,AdBlock -- DOMAIN-SUFFIX,adjust.com,AdBlock -- DOMAIN-SUFFIX,adjust.io,AdBlock -- DOMAIN-SUFFIX,adkmob.com,AdBlock -- DOMAIN-SUFFIX,adlefee.com,AdBlock -- DOMAIN-SUFFIX,admantx.com,AdBlock -- DOMAIN-SUFFIX,admarketplace.net,AdBlock -- DOMAIN-SUFFIX,admarvel.com,AdBlock -- DOMAIN-SUFFIX,admaster.com.cn,AdBlock -- DOMAIN-SUFFIX,admob.com,AdBlock -- DOMAIN-SUFFIX,adnow.com,AdBlock -- DOMAIN-SUFFIX,adnxs.com,AdBlock -- DOMAIN-SUFFIX,adsafeprotected.com,AdBlock -- DOMAIN-SUFFIX,adsota.com,AdBlock -- DOMAIN-SUFFIX,ads-pixiv.net,AdBlock -- DOMAIN-SUFFIX,adsrvr.org,AdBlock -- DOMAIN-SUFFIX,ads-twitter.com,AdBlock -- DOMAIN-SUFFIX,adswizz.com,AdBlock -- DOMAIN-SUFFIX,adsymptotic.com,AdBlock -- DOMAIN-SUFFIX,adtechus.com,AdBlock -- DOMAIN-SUFFIX,adtilt.com,AdBlock -- DOMAIN-SUFFIX,adtrue.com,AdBlock -- DOMAIN-SUFFIX,AdBlock.com,AdBlock -- DOMAIN-SUFFIX,advertnative.com,AdBlock -- DOMAIN-SUFFIX,adview.cn,AdBlock -- DOMAIN-SUFFIX,adxpansion.com,AdBlock -- DOMAIN-SUFFIX,adxvip.com,AdBlock -- DOMAIN-SUFFIX,aerserv.com,AdBlock -- DOMAIN-SUFFIX,agkn.com,AdBlock -- DOMAIN-SUFFIX,alipaylog.com,AdBlock -- DOMAIN-SUFFIX,amazon-adsystem.com,AdBlock -- DOMAIN-SUFFIX,analysys.cn,AdBlock -- DOMAIN-SUFFIX,app-adforce.jp,AdBlock -- DOMAIN-SUFFIX,appads.com,AdBlock -- DOMAIN-SUFFIX,appboy.com,AdBlock -- DOMAIN-SUFFIX,appier.net,AdBlock -- DOMAIN-SUFFIX,applift.com,AdBlock -- DOMAIN-SUFFIX,applovin.com,AdBlock -- DOMAIN-SUFFIX,appnext.com,AdBlock -- DOMAIN-SUFFIX,appodealx.com,AdBlock -- DOMAIN-SUFFIX,appsee.com,AdBlock -- DOMAIN-SUFFIX,appsflyer.com,AdBlock -- DOMAIN-SUFFIX,apptentive.com,AdBlock -- DOMAIN-SUFFIX,apptornado.com,AdBlock -- DOMAIN-SUFFIX,atdmt.com,AdBlock -- DOMAIN-SUFFIX,atwola.com,AdBlock -- DOMAIN-SUFFIX,betrad.com,AdBlock -- DOMAIN-SUFFIX,bidswitch.com,AdBlock -- DOMAIN-SUFFIX,bjytgw.com,AdBlock -- DOMAIN-SUFFIX,bttrack.com,AdBlock -- DOMAIN-SUFFIX,bxmns.com,AdBlock -- DOMAIN-SUFFIX,cappumedia.com,AdBlock -- DOMAIN-SUFFIX,celtra.com,AdBlock -- DOMAIN-SUFFIX,cferw.com,AdBlock -- DOMAIN-SUFFIX,chartbeat.net,AdBlock -- DOMAIN-SUFFIX,chartboost.com,AdBlock -- DOMAIN-SUFFIX,chitika.com,AdBlock -- DOMAIN-SUFFIX,clickhubs.com,AdBlock -- DOMAIN-SUFFIX,clickintext.com,AdBlock -- DOMAIN-SUFFIX,clickintext.net,AdBlock -- DOMAIN-SUFFIX,cloudmobi.net,AdBlock -- DOMAIN-SUFFIX,cnadnet.com,AdBlock -- DOMAIN-SUFFIX,cnzz.com,AdBlock -- DOMAIN-SUFFIX,cocounion.com,AdBlock -- DOMAIN-SUFFIX,conversantmedia.com,AdBlock -- DOMAIN-SUFFIX,conviva.com,AdBlock -- DOMAIN-SUFFIX,criteo.com,AdBlock -- DOMAIN-SUFFIX,crwdcntrl.net,AdBlock -- DOMAIN-SUFFIX,ctrmi.com,AdBlock -- DOMAIN-SUFFIX,demdex.net,AdBlock -- DOMAIN-SUFFIX,dianomi.com,AdBlock -- DOMAIN-SUFFIX,digitru.st,AdBlock -- DOMAIN-SUFFIX,dtscout.com,AdBlock -- DOMAIN-SUFFIX,duapps.com,AdBlock -- DOMAIN-SUFFIX,effectivemeasure.net,AdBlock -- DOMAIN-SUFFIX,endpo.in,AdBlock -- DOMAIN-SUFFIX,eum-appdynamics.com,AdBlock -- DOMAIN-SUFFIX,exoclick.com,AdBlock -- DOMAIN-SUFFIX,exosrv.com,AdBlock -- DOMAIN-SUFFIX,exponential.com,AdBlock -- DOMAIN-SUFFIX,exposebox.com,AdBlock -- DOMAIN-SUFFIX,eyeota.net,AdBlock -- DOMAIN-SUFFIX,eyeviewads.com,AdBlock -- DOMAIN-SUFFIX,flurry.com,AdBlock -- DOMAIN-SUFFIX,fwmrm.net,AdBlock -- DOMAIN-SUFFIX,getrockerbox.com,AdBlock -- DOMAIN-SUFFIX,go2cloud.org,AdBlock -- DOMAIN-SUFFIX,go-mpulse.net,AdBlock -- DOMAIN-SUFFIX,gowadogo.com,AdBlock -- DOMAIN-SUFFIX,growingio.com,AdBlock -- DOMAIN-SUFFIX,gwallet.com,AdBlock -- DOMAIN-SUFFIX,i2000.xyz,AdBlock -- DOMAIN-SUFFIX,igexin.com,AdBlock -- DOMAIN-SUFFIX,i-mobile.co.jp,AdBlock -- DOMAIN-SUFFIX,imrworldwide.com,AdBlock -- DOMAIN-SUFFIX,indexww.com,AdBlock -- DOMAIN-SUFFIX,inmobi.cn,AdBlock -- DOMAIN-SUFFIX,inmobi.com,AdBlock -- DOMAIN-SUFFIX,instabug.com,AdBlock -- DOMAIN-SUFFIX,irs01.com,AdBlock -- DOMAIN-SUFFIX,juicyads.com,AdBlock -- DOMAIN-SUFFIX,kejet.net,AdBlock -- DOMAIN-SUFFIX,knlob.com,AdBlock -- DOMAIN-SUFFIX,kochava.com,AdBlock -- DOMAIN-SUFFIX,koolmediaoffers.com,AdBlock -- DOMAIN-SUFFIX,krxd.net,AdBlock -- DOMAIN-SUFFIX,leadzu.com,AdBlock -- DOMAIN-SUFFIX,leanplum.com,AdBlock -- DOMAIN-SUFFIX,lenzmx.com,AdBlock -- DOMAIN-SUFFIX,lifestreet.com,AdBlock -- DOMAIN-SUFFIX,lifestreetmedia.com,AdBlock -- DOMAIN-SUFFIX,ligatus.com,AdBlock -- DOMAIN-SUFFIX,lnk0.com,AdBlock -- DOMAIN-SUFFIX,luomi.com,AdBlock -- DOMAIN-SUFFIX,madserving.com,AdBlock -- DOMAIN-SUFFIX,mathtag.com,AdBlock -- DOMAIN-SUFFIX,media.net,AdBlock -- DOMAIN-SUFFIX,medialytics.com,AdBlock -- DOMAIN-SUFFIX,metalex.io,AdBlock -- DOMAIN-SUFFIX,mfadsrvr.com,AdBlock -- DOMAIN-SUFFIX,mgid.com,AdBlock -- DOMAIN-SUFFIX,miaozhen.com,AdBlock -- DOMAIN-SUFFIX,moatads.com,AdBlock -- DOMAIN-SUFFIX,mobileapptracking.com,AdBlock -- DOMAIN-SUFFIX,mobiw.com,AdBlock -- DOMAIN-SUFFIX,mojiva.com,AdBlock -- DOMAIN-SUFFIX,mopub.com,AdBlock -- DOMAIN-SUFFIX,mparticle.com,AdBlock -- DOMAIN-SUFFIX,mxpnl.com,AdBlock -- DOMAIN-SUFFIX,mybest.app,AdBlock -- DOMAIN-SUFFIX,mydas.mobi,AdBlock -- DOMAIN-SUFFIX,nexage.com,AdBlock -- DOMAIN-SUFFIX,nr-data.net,AdBlock -- DOMAIN-SUFFIX,offerstrack.net,AdBlock -- DOMAIN-SUFFIX,omtrdc.net,AdBlock -- DOMAIN-SUFFIX,outbrain.com,AdBlock -- DOMAIN-SUFFIX,parsely.com,AdBlock -- DOMAIN-SUFFIX,peak-adx.com,AdBlock -- DOMAIN-SUFFIX,personaly.click,AdBlock -- DOMAIN-SUFFIX,popads.com,AdBlock -- DOMAIN-SUFFIX,popads.net,AdBlock -- DOMAIN-SUFFIX,propellerads.com,AdBlock -- DOMAIN-SUFFIX,pubnative.net,AdBlock -- DOMAIN-SUFFIX,qchannel01.cn,AdBlock -- DOMAIN-SUFFIX,qualtrics.com,AdBlock -- DOMAIN-SUFFIX,quantserve.com,AdBlock -- DOMAIN-SUFFIX,quixdtrk.com,AdBlock -- DOMAIN-SUFFIX,rayjump.com,AdBlock -- DOMAIN-SUFFIX,rubiconproject.com,AdBlock -- DOMAIN-SUFFIX,scorecardresearch.com,AdBlock -- DOMAIN-SUFFIX,serving-sys.com,AdBlock -- DOMAIN-SUFFIX,simplepath.com,AdBlock -- DOMAIN-SUFFIX,skimresources.com,AdBlock -- DOMAIN-SUFFIX,smardroid.com,AdBlock -- DOMAIN-SUFFIX,smartadserver.com,AdBlock -- DOMAIN-SUFFIX,snnd.co,AdBlock -- DOMAIN-SUFFIX,sonobi.com,AdBlock -- DOMAIN-SUFFIX,starmobs.com,AdBlock -- DOMAIN-SUFFIX,startappexchange.com,AdBlock -- DOMAIN-SUFFIX,startappservice.com,AdBlock -- DOMAIN-SUFFIX,storygize.net,AdBlock -- DOMAIN-SUFFIX,summerhamster.com,AdBlock -- DOMAIN-SUFFIX,supersonicads.com,AdBlock -- DOMAIN-SUFFIX,taboola.com,AdBlock -- DOMAIN-SUFFIX,tagtic.cn,AdBlock -- DOMAIN-SUFFIX,talkingdata.com,AdBlock -- DOMAIN-SUFFIX,tango-deg.com,AdBlock -- DOMAIN-SUFFIX,tanv.com,AdBlock -- DOMAIN-SUFFIX,tanx.com,AdBlock -- DOMAIN-SUFFIX,tapad.com,AdBlock -- DOMAIN-SUFFIX,taplytics.com,AdBlock -- DOMAIN-SUFFIX,taptica.com,AdBlock -- DOMAIN-SUFFIX,testplus.cn,AdBlock -- DOMAIN-SUFFIX,trackclickers.com,AdBlock -- DOMAIN-SUFFIX,trafficjunky.net,AdBlock -- DOMAIN-SUFFIX,trustx.org,AdBlock -- DOMAIN-SUFFIX,tuanxue360.net,AdBlock -- DOMAIN-SUFFIX,turn.com,AdBlock -- DOMAIN-SUFFIX,uberads.com,AdBlock -- DOMAIN-SUFFIX,udrig.com,AdBlock -- DOMAIN-SUFFIX,upcpi.com,AdBlock -- DOMAIN-SUFFIX,urbanairship.com,AdBlock -- DOMAIN-SUFFIX,usebutton.com,AdBlock -- DOMAIN-SUFFIX,voiceads.cn,AdBlock -- DOMAIN-SUFFIX,vrtcal.com,AdBlock -- DOMAIN-SUFFIX,vserv.mobi,AdBlock -- DOMAIN-SUFFIX,vungle.com,AdBlock -- DOMAIN-SUFFIX,webspectator.com,AdBlock -- DOMAIN-SUFFIX,xadchina.cn,AdBlock -- DOMAIN-SUFFIX,xdrig.com,AdBlock -- DOMAIN-SUFFIX,yldbt.com,AdBlock -- DOMAIN-SUFFIX,yllix.com,AdBlock -- DOMAIN-SUFFIX,ymtracking.com,AdBlock -- DOMAIN-SUFFIX,ad.daum.net,AdBlock -- DOMAIN-SUFFIX,track.xiachufang.com,AdBlock -- DOMAIN,log.umsns.com,AdBlock -- DOMAIN,log.snssdk.com,AdBlock -- DOMAIN,toblog.snssdk.com,AdBlock -- DOMAIN,wgo.mmstat.com,AdBlock -- DOMAIN,report.jpush.cn,AdBlock -- DOMAIN,static.jpush.cn,AdBlock -- DOMAIN,stats.jpush.cn,AdBlock -- DOMAIN,stats.umsns.com,AdBlock -- DOMAIN,s0.2mdn.net,AdBlock -- DOMAIN,appnext.hs.llnwd.net,AdBlock -- DOMAIN,appnext-a.akamaihd.net,AdBlock -- DOMAIN,abema-adx.ameba.jp,AdBlock -- DOMAIN,ad.12306.cn,AdBlock -- DOMAIN,ad.caiyunapp.com,AdBlock -- DOMAIN,ad.huajiao.com,AdBlock -- DOMAIN,ad.hzyoka.com,AdBlock -- DOMAIN,ad.jiemian.com,AdBlock -- DOMAIN,ad.qingting.fm,AdBlock -- DOMAIN,ad-cn.jovcloud.com,AdBlock -- DOMAIN,adsapi.manhuaren.com,AdBlock -- DOMAIN,adclick.g.doubleclick.net,AdBlock -- DOMAIN,googleads.g.doubleclick.net,AdBlock -- DOMAIN,www.googleadservices.com,AdBlock -- DOMAIN,googleadservices.com,AdBlock -- DOMAIN,googleads.g.doubleclick.net,AdBlock -- DOMAIN,adsdk.dmzj.com,AdBlock -- DOMAIN,ads.daydaycook.com.cn,AdBlock -- DOMAIN,adui.tg.meitu.com,AdBlock -- DOMAIN,adx.hupu.com,AdBlock -- DOMAIN,adxserver.ad.cmvideo.cn,AdBlock -- DOMAIN,app-ad.variflight.com,AdBlock -- DOMAIN,applog.mobike.com,AdBlock -- DOMAIN,ggs.myzaker.com,AdBlock -- DOMAIN,ja.chushou.tv,AdBlock -- DOMAIN,log.b612kaji.com,AdBlock -- DOMAIN,log.star.ele.me,AdBlock -- DOMAIN,log.voicecloud.cn,AdBlock -- DOMAIN,log.ys7.com,AdBlock -- DOMAIN,logs.chelaile.net.cn,AdBlock -- DOMAIN,mopnativeadv.037201.com,AdBlock -- DOMAIN,nativeadv.dftoutiao.com,AdBlock -- DOMAIN,optimus-ads.amap.com,AdBlock -- DOMAIN,static.vuevideo.net,AdBlock -- DOMAIN,sugar.zhihu.com,AdBlock -- DOMAIN,track.tiara.daum.net,AdBlock -- DOMAIN,track.tiara.kakao.com,AdBlock -- DOMAIN,trackapp.guahao.cn,AdBlock -- DOMAIN,traffic.mogujie.com,AdBlock -- DOMAIN,wmlog.meituan.com,AdBlock -- DOMAIN,adshow.58.com,AdBlock -- DOMAIN,track.58.com,AdBlock -- DOMAIN,tracklog.58.com,AdBlock -- DOMAIN-SUFFIX,iadsdk.apple.com,AdBlock -- DOMAIN-SUFFIX,ads.internal.unity3d.com,AdBlock -- DOMAIN-SUFFIX,ads.prd.ie.internal.unity3d.com,AdBlock -- DOMAIN-SUFFIX,unityads.unity3d.com,AdBlock -- DOMAIN,acs4baichuan.m.taobao.com,AdBlock -- DOMAIN,adash.m.taobao.com,AdBlock -- DOMAIN,adash.man.aliyuncs.com,AdBlock -- DOMAIN,adashbc.ut.taobao.com,AdBlock -- DOMAIN,adash-c.ut.taobao.com,AdBlock -- DOMAIN,adashxgc.ut.taobao.com,AdBlock -- DOMAIN,adashx4yt.m.taobao.com,AdBlock -- DOMAIN,amdc.m.taobao.com,AdBlock -- DOMAIN,apoll.m.taobao.com,AdBlock -- DOMAIN,nbsdk-baichuan.alicdn.com,AdBlock -- DOMAIN,tunion-api.m.taobao.com,AdBlock -- DOMAIN,adProxy.autohome.com.cn,AdBlock -- DOMAIN,rd.autohome.com.cn,AdBlock -- DOMAIN,al.autohome.com.cn,AdBlock -- DOMAIN,applogapi.autohome.com.cn,AdBlock -- DOMAIN-SUFFIX,baidustatic.com,AdBlock -- DOMAIN,afd.baidu.com,AdBlock -- DOMAIN,duclick.baidu.com,AdBlock -- DOMAIN,hm.baidu.com,AdBlock -- DOMAIN,hmma.baidu.com,AdBlock -- DOMAIN,mobads.baidu.com,AdBlock -- DOMAIN,mobads-logs.baidu.com,AdBlock -- DOMAIN,nsclick.baidu.com,AdBlock -- DOMAIN,wn.pos.baidu.com,AdBlock -- DOMAIN,applog.musical.ly,AdBlock -- DOMAIN,track.toutiao.com,AdBlock -- DOMAIN,xlog.snssdk.com,AdBlock -- DOMAIN,xlog-va.byteoversea.com,AdBlock -- DOMAIN,adx.yiche.com,AdBlock -- DOMAIN,log.ycapp.yiche.com,AdBlock -- DOMAIN,advertise.baicizhan.org,AdBlock -- DOMAIN,advertise.baicizhan.com,AdBlock -- DOMAIN,galaxy.bjcathay.com,AdBlock -- DOMAIN,mdrecv.app.cntvwb.cn,AdBlock -- DOMAIN,sdapprecv.app.cntvwb.cn,AdBlock -- DOMAIN,vdapprecv.app.cntvwb.cn,AdBlock -- DOMAIN,admarket.21cn.com,AdBlock -- DOMAIN,adshows.21cn.com,AdBlock -- DOMAIN-SUFFIX,doubleclick.net,AdBlock -- DOMAIN-SUFFIX,googleadservices.com,AdBlock -- DOMAIN-SUFFIX,googleadsserving.cn,AdBlock -- DOMAIN-SUFFIX,googlesyndication.com,AdBlock -- DOMAIN-SUFFIX,googletagmanager.com,AdBlock -- DOMAIN-SUFFIX,googletagservices.com,AdBlock -- DOMAIN-SUFFIX,google-analytics.com,AdBlock -- DOMAIN-SUFFIX,da.mgtv.com,AdBlock -- DOMAIN-SUFFIX,da.hunantv.com,AdBlock -- DOMAIN-SUFFIX,log.hunantv.com,AdBlock -- DOMAIN,log.v2.hunantv.com,AdBlock -- DOMAIN,v2.log.hunantv.com,AdBlock -- DOMAIN,ifacelog.iqiyi.com,AdBlock -- DOMAIN,mbdlog.iqiyi.com,AdBlock -- DOMAIN,msg.71.am,AdBlock -- DOMAIN,msg.qy.net,AdBlock -- DOMAIN,t7z.cupid.iqiyi.com,AdBlock -- DOMAIN,adserviceretry.kugou.com,AdBlock -- DOMAIN,ads.service.kugou.com,AdBlock -- DOMAIN,adsfile.bssdlbig.kugou.com,AdBlock -- DOMAIN,log.stat.kugou.com,AdBlock -- DOMAIN,log.web.kugou.com,AdBlock -- DOMAIN,kgmobilestat.kugou.com,AdBlock -- DOMAIN,kgmobilestatbak.kugou.com,AdBlock -- DOMAIN,mobilelog.kugou.com,AdBlock -- DOMAIN,mobilead.kuwo.cn,AdBlock -- DOMAIN,rich.kuwo.cn,AdBlock -- DOMAIN,ad-stat.ksosoft.com,AdBlock -- DOMAIN,img.auction-ads.wpscdn.cn,AdBlock -- DOMAIN-SUFFIX,webp2p.letv.com,AdBlock -- DOMAIN,ark.letv.com,AdBlock -- DOMAIN,emma-414870e223.huodonghezi.com,AdBlock -- DOMAIN,g3.letv.com,AdBlock -- DOMAIN,n.mark.letv.com,AdBlock -- DOMAIN-SUFFIX,ad.xiaomi.com,AdBlock -- DOMAIN-SUFFIX,admob.xiaomi.com,AdBlock -- DOMAIN-SUFFIX,ad.intl.xiaomi.com,AdBlock -- DOMAIN-SUFFIX,data.mistat.xiaomi.com,AdBlock -- DOMAIN-SUFFIX,tracking.miui.com,AdBlock -- DOMAIN,adv.sec.miui.com,AdBlock -- DOMAIN,adv.sec.intl.miui.com,AdBlock -- DOMAIN,o2o.api.xiaomi.com,AdBlock -- DOMAIN,ad.api.moji.com,AdBlock -- DOMAIN,adlaunch.moji.com,AdBlock -- DOMAIN,ads.mojicdn.com,AdBlock -- DOMAIN,v1.log.moji.com,AdBlock -- DOMAIN,minfo.wps.cn,AdBlock -- DOMAIN,ad.bn.netease.com,AdBlock -- DOMAIN,ad.yixin.im,AdBlock -- DOMAIN,admusicpic.music.126.net,AdBlock -- DOMAIN,iadmat.nosdn.127.net,AdBlock -- DOMAIN,iadmusicmat.music.126.net,AdBlock -- DOMAIN,iadmusicmatvideo.music.126.net,AdBlock -- DOMAIN,impservice.dictapp.youdao.com,AdBlock -- DOMAIN,impservice.youdao.com,AdBlock -- DOMAIN,log.yex.youdao.com,AdBlock -- DOMAIN,log-yex.youdao.com,AdBlock -- DOMAIN,n.3g.163.com,AdBlock -- DOMAIN,nex.163.com,AdBlock -- DOMAIN,yt-adp.nosdn.127.net,AdBlock -- DOMAIN,ads.aplus.pptv.com,AdBlock -- DOMAIN,asimgs.pplive.cn,AdBlock -- DOMAIN,de.as.pptv.com,AdBlock -- DOMAIN,regist.fotoable.com,AdBlock -- DOMAIN,cdn.adapi.fotoable.com,AdBlock -- DOMAIN,adnew.wifi8.com,AdBlock -- DOMAIN,adfile.wifi8.com,AdBlock -- DOMAIN,u1.img.mobile.sina.cn,AdBlock -- DOMAIN,sax.sina.com.cn,AdBlock -- DOMAIN,saxs.sina.com.cn,AdBlock -- DOMAIN,saxn.sina.com.cn,AdBlock -- DOMAIN-SUFFIX,ads.sohu.com,AdBlock -- DOMAIN-SUFFIX,aty.sohu.com,AdBlock -- DOMAIN,imp.optaim.com,AdBlock -- DOMAIN,v2.reachmax.cn,AdBlock -- DOMAIN,track.sohu.com,AdBlock -- DOMAIN,hui.sohu.com,AdBlock -- DOMAIN-SUFFIX,e.qq.com,AdBlock -- DOMAIN-SUFFIX,gdt.qq.com,AdBlock -- DOMAIN-SUFFIX,rqd.qq.com,AdBlock -- DOMAIN,btrace.qq.com,AdBlock -- DOMAIN,mtrace.qq.com,AdBlock -- DOMAIN,oth.eve.mdt.qq.com,AdBlock -- DOMAIN,pingma.qq.com,AdBlock -- DOMAIN,pingtcss.qq.com,AdBlock -- DOMAIN,splashqqlive.gtimg.com,AdBlock -- DOMAIN,tajs.qq.com,AdBlock -- DOMAIN,imgadpai.thepaper.cn,AdBlock -- DOMAIN,admonitor.thepaper.cn,AdBlock -- DOMAIN,adsp.xunlei.com,AdBlock -- DOMAIN,etl.xlmc.sandai.net,AdBlock -- DOMAIN,adm.10jqka.com.cn,AdBlock -- DOMAIN,stat.10jqka.com.cn,AdBlock -- DOMAIN,ad-analysis.pconline.com.cn,AdBlock -- DOMAIN,iad0ssl.pcauto.com.cn,AdBlock -- DOMAIN,iad0ssl.pconline.com.cn,AdBlock -- DOMAIN,imgad0.pcauto.com.cn,AdBlock -- DOMAIN,imgad0.pconline.com.cn,AdBlock -- DOMAIN,ivy.pchouse.com.cn,AdBlock -- DOMAIN,adtrack.ucweb.com,AdBlock -- DOMAIN,applogios.uc.cn,AdBlock -- DOMAIN,track.uc.cn,AdBlock -- DOMAIN,a.wkanx.com,AdBlock -- DOMAIN,cwx.lianwangtech.com,AdBlock -- DOMAIN,c1wx.lianwangtech.com,AdBlock -- DOMAIN,ad.ximalaya.com,AdBlock -- DOMAIN,adse.ximalaya.com,AdBlock -- DOMAIN,t-ads.xiaohongshu.com,AdBlock -- DOMAIN,apm-track.xiaohongshu.com,AdBlock -- DOMAIN-SUFFIX,atm.youku.com,AdBlock -- DOMAIN,ad.mobile.youku.com,AdBlock -- DOMAIN,iyes.youku.com,AdBlock -- DOMAIN,apppv.zol.com.cn,AdBlock -- DOMAIN,pvnapp.zol.com.cn,AdBlock -- DOMAIN-SUFFIX,17gouwuba.com,AdBlock -- DOMAIN-SUFFIX,189zj.cn,AdBlock -- DOMAIN-SUFFIX,285680.com,AdBlock -- DOMAIN-SUFFIX,3721zh.com,AdBlock -- DOMAIN-SUFFIX,4336wang.cn,AdBlock -- DOMAIN-SUFFIX,51chumoping.com,AdBlock -- DOMAIN-SUFFIX,58mingri.cn,AdBlock -- DOMAIN-SUFFIX,58mingtian.cn,AdBlock -- DOMAIN-SUFFIX,6d63d3.com,AdBlock -- DOMAIN-SUFFIX,91veg.com,AdBlock -- DOMAIN-SUFFIX,9s6q.cn,AdBlock -- DOMAIN-SUFFIX,adsame.com,AdBlock -- DOMAIN-SUFFIX,aiclk.com,AdBlock -- DOMAIN-SUFFIX,akuai.top,AdBlock -- DOMAIN-SUFFIX,atplay.cn,AdBlock -- DOMAIN-SUFFIX,baiwanchuangyi.com,AdBlock -- DOMAIN-SUFFIX,bayimob.com,AdBlock -- DOMAIN-SUFFIX,beerto.cn,AdBlock -- DOMAIN-SUFFIX,beilamusi.com,AdBlock -- DOMAIN-SUFFIX,benshiw.net,AdBlock -- DOMAIN-SUFFIX,bianxianmao.com,AdBlock -- DOMAIN-SUFFIX,bryonypie.com,AdBlock -- DOMAIN-SUFFIX,cishantao.com,AdBlock -- DOMAIN-SUFFIX,cszlks.com,AdBlock -- DOMAIN-SUFFIX,cudaojia.com,AdBlock -- DOMAIN-SUFFIX,dafapromo.com,AdBlock -- DOMAIN-SUFFIX,daitdai.com,AdBlock -- DOMAIN-SUFFIX,dsaeerf.com,AdBlock -- DOMAIN-SUFFIX,dugesheying.com,AdBlock -- DOMAIN-SUFFIX,dv8c1t.cn,AdBlock -- DOMAIN-SUFFIX,erdoscs.com,AdBlock -- DOMAIN-SUFFIX,fan-yong.com,AdBlock -- DOMAIN-SUFFIX,feih.com.cn,AdBlock -- DOMAIN-SUFFIX,fjlqqc.com,AdBlock -- DOMAIN-SUFFIX,fkku194.com,AdBlock -- DOMAIN-SUFFIX,freedrive.cn,AdBlock -- DOMAIN-SUFFIX,gclick.cn,AdBlock -- DOMAIN-SUFFIX,goufanli100.com,AdBlock -- DOMAIN-SUFFIX,gouwubang.com,AdBlock -- DOMAIN-SUFFIX,haoshengtoys.com,AdBlock -- DOMAIN-SUFFIX,ichaosheng.com,AdBlock -- DOMAIN-SUFFIX,ishop789.com,AdBlock -- DOMAIN-SUFFIX,jdkic.com,AdBlock -- DOMAIN-SUFFIX,jiubuhua.com,AdBlock -- DOMAIN-SUFFIX,jwg365.cn,AdBlock -- DOMAIN-SUFFIX,kumihua.com,AdBlock -- DOMAIN-SUFFIX,linktech.cn,AdBlock -- DOMAIN-SUFFIX,ltheanine.cn,AdBlock -- DOMAIN-SUFFIX,maipinshangmao.com,AdBlock -- DOMAIN-SUFFIX,minisplat.cn,AdBlock -- DOMAIN-SUFFIX,mkitgfs.com,AdBlock -- DOMAIN-SUFFIX,mlnbike.com,AdBlock -- DOMAIN-SUFFIX,newapi.com,AdBlock -- DOMAIN-SUFFIX,pinzhitmall.com,AdBlock -- DOMAIN-SUFFIX,poppyta.com,AdBlock -- DOMAIN-SUFFIX,qichexin.com,AdBlock -- DOMAIN-SUFFIX,qinchugudao.com,AdBlock -- DOMAIN-SUFFIX,quanliyouxi.cn,AdBlock -- DOMAIN-SUFFIX,qutaobi.com,AdBlock -- DOMAIN-SUFFIX,ry51w.cn,AdBlock -- DOMAIN-SUFFIX,sg536.cn,AdBlock -- DOMAIN-SUFFIX,sifubo.cn,AdBlock -- DOMAIN-SUFFIX,sifuce.cn,AdBlock -- DOMAIN-SUFFIX,sifuda.cn,AdBlock -- DOMAIN-SUFFIX,sifufu.cn,AdBlock -- DOMAIN-SUFFIX,sifuge.cn,AdBlock -- DOMAIN-SUFFIX,sifugu.cn,AdBlock -- DOMAIN-SUFFIX,sifuhe.cn,AdBlock -- DOMAIN-SUFFIX,sifuhu.cn,AdBlock -- DOMAIN-SUFFIX,sifuji.cn,AdBlock -- DOMAIN-SUFFIX,sifuka.cn,AdBlock -- DOMAIN-SUFFIX,smgru.net,AdBlock -- DOMAIN-SUFFIX,taoggou.com,AdBlock -- DOMAIN-SUFFIX,tcxshop.com,AdBlock -- DOMAIN-SUFFIX,tjqonline.cn,AdBlock -- DOMAIN-SUFFIX,topitme.com,AdBlock -- DOMAIN-SUFFIX,tuia.cn,AdBlock -- DOMAIN-SUFFIX,tuipenguin.com,AdBlock -- DOMAIN-SUFFIX,tuitiger.com,AdBlock -- DOMAIN-SUFFIX,wx16999.com,AdBlock -- DOMAIN-SUFFIX,xiaohuau.xyz,AdBlock -- DOMAIN-SUFFIX,yinmong.com,AdBlock -- DOMAIN-SUFFIX,yiqifa.com,AdBlock -- DOMAIN-SUFFIX,yitaopt.com,AdBlock -- DOMAIN-SUFFIX,yukhj.com,AdBlock -- DOMAIN-SUFFIX,zhaozecheng.cn,AdBlock -- DOMAIN-SUFFIX,zhenxinet.com,AdBlock -- DOMAIN-SUFFIX,zunmi.cn,AdBlock -- DOMAIN-SUFFIX,zzd6.com,AdBlock -- DOMAIN-SUFFIX,kuaizip.com,AdBlock -- DOMAIN-SUFFIX,mackeeper.com,AdBlock -- DOMAIN-SUFFIX,4009997658.com,AdBlock -- DOMAIN-SUFFIX,abbyychina.com,AdBlock -- DOMAIN-SUFFIX,bartender.cc,AdBlock -- DOMAIN-SUFFIX,betterzip.net,AdBlock -- DOMAIN-SUFFIX,beyondcompare.cc,AdBlock -- DOMAIN-SUFFIX,bingdianhuanyuan.cn,AdBlock -- DOMAIN-SUFFIX,chemdraw.com.cn,AdBlock -- DOMAIN-SUFFIX,cjmakeding.com,AdBlock -- DOMAIN-SUFFIX,cjmkt.com,AdBlock -- DOMAIN-SUFFIX,codesoftchina.com,AdBlock -- DOMAIN-SUFFIX,coreldrawchina.com,AdBlock -- DOMAIN-SUFFIX,crossoverchina.com,AdBlock -- DOMAIN-SUFFIX,easyrecoverychina.com,AdBlock -- DOMAIN-SUFFIX,ediuschina.com,AdBlock -- DOMAIN-SUFFIX,flstudiochina.com,AdBlock -- DOMAIN-SUFFIX,formysql.com,AdBlock -- DOMAIN-SUFFIX,guitarpro.cc,AdBlock -- DOMAIN-SUFFIX,huishenghuiying.com.cn,AdBlock -- DOMAIN-SUFFIX,hypersnap.net,AdBlock -- DOMAIN-SUFFIX,iconworkshop.cn,AdBlock -- DOMAIN-SUFFIX,imindmap.cc,AdBlock -- DOMAIN-SUFFIX,jihehuaban.com.cn,AdBlock -- DOMAIN-SUFFIX,keyshot.cc,AdBlock -- DOMAIN-SUFFIX,kingdeecn.cn,AdBlock -- DOMAIN-SUFFIX,logoshejishi.com,AdBlock -- DOMAIN-SUFFIX,mairuan.cn,AdBlock -- DOMAIN-SUFFIX,mairuan.com,AdBlock -- DOMAIN-SUFFIX,mairuan.com.cn,AdBlock -- DOMAIN-SUFFIX,mairuan.net,AdBlock -- DOMAIN-SUFFIX,mairuanwang.com,AdBlock -- DOMAIN-SUFFIX,makeding.com,AdBlock -- DOMAIN-SUFFIX,mathtype.cn,AdBlock -- DOMAIN-SUFFIX,mindmanager.cc,AdBlock -- DOMAIN-SUFFIX,mindmapper.cc,AdBlock -- DOMAIN-SUFFIX,mycleanmymac.com,AdBlock -- DOMAIN-SUFFIX,nicelabel.cc,AdBlock -- DOMAIN-SUFFIX,ntfsformac.cc,AdBlock -- DOMAIN-SUFFIX,ntfsformac.cn,AdBlock -- DOMAIN-SUFFIX,overturechina.com,AdBlock -- DOMAIN-SUFFIX,passwordrecovery.cn,AdBlock -- DOMAIN-SUFFIX,pdfexpert.cc,AdBlock -- DOMAIN-SUFFIX,shankejingling.com,AdBlock -- DOMAIN-SUFFIX,ultraiso.net,AdBlock -- DOMAIN-SUFFIX,vegaschina.cn,AdBlock -- DOMAIN-SUFFIX,xmindchina.net,AdBlock -- DOMAIN-SUFFIX,xshellcn.com,AdBlock -- DOMAIN-SUFFIX,yihuifu.cn,AdBlock -- DOMAIN-SUFFIX,yuanchengxiezuo.com,AdBlock -- DOMAIN-SUFFIX,zbrushcn.com,AdBlock -- DOMAIN-SUFFIX,zhzzx.com,AdBlock -- DOMAIN-SUFFIX,itunes.apple.com,Proxy -- DOMAIN,aod.itunes.apple.com,Proxy -- DOMAIN,audio.itunes.apple.com,Proxy -- DOMAIN,audio-ssl.itunes.apple.com,Proxy -- DOMAIN,streamingaudio.itunes.apple.com,Proxy -- DOMAIN,ocvideo.apple.com,Proxy -- DOMAIN,gspe1-ssl.ls.apple.com,Proxy -- DOMAIN-SUFFIX,aaplimg.com,Proxy +# > General +- DOMAIN-KEYWORD,adservice,❌AdBlock +- DOMAIN-KEYWORD,analytics,❌AdBlock +- DOMAIN-KEYWORD,analysis,❌AdBlock + +- DOMAIN-SUFFIX,3lift.com,❌AdBlock +- DOMAIN-SUFFIX,4006825178.com,❌AdBlock +- DOMAIN-SUFFIX,51.la,❌AdBlock +- DOMAIN-SUFFIX,550tg.com,❌AdBlock +- DOMAIN-SUFFIX,56txs4.com,❌AdBlock +- DOMAIN-SUFFIX,ad373.com,❌AdBlock +- DOMAIN-SUFFIX,ad4screen.com,❌AdBlock +- DOMAIN-SUFFIX,ad-brix.com,❌AdBlock +- DOMAIN-SUFFIX,adcolony.com,❌AdBlock +- DOMAIN-SUFFIX,adform.net,❌AdBlock +- DOMAIN-SUFFIX,adinall.com,❌AdBlock +- DOMAIN-SUFFIX,adinfuse.com,❌AdBlock +- DOMAIN-SUFFIX,adjust.com,❌AdBlock +- DOMAIN-SUFFIX,adjust.io,❌AdBlock +- DOMAIN-SUFFIX,adkmob.com,❌AdBlock +- DOMAIN-SUFFIX,adlefee.com,❌AdBlock +- DOMAIN-SUFFIX,admantx.com,❌AdBlock +- DOMAIN-SUFFIX,admarketplace.net,❌AdBlock +- DOMAIN-SUFFIX,admarvel.com,❌AdBlock +- DOMAIN-SUFFIX,admaster.com.cn,❌AdBlock +- DOMAIN-SUFFIX,admob.com,❌AdBlock +- DOMAIN-SUFFIX,adnow.com,❌AdBlock +- DOMAIN-SUFFIX,adnxs.com,❌AdBlock +- DOMAIN-SUFFIX,adsafeprotected.com,❌AdBlock +- DOMAIN-SUFFIX,adsota.com,❌AdBlock +- DOMAIN-SUFFIX,ads-pixiv.net,❌AdBlock +- DOMAIN-SUFFIX,adsrvr.org,❌AdBlock +- DOMAIN-SUFFIX,ads-twitter.com,❌AdBlock +- DOMAIN-SUFFIX,adswizz.com,❌AdBlock +- DOMAIN-SUFFIX,adsymptotic.com,❌AdBlock +- DOMAIN-SUFFIX,adtechus.com,❌AdBlock +- DOMAIN-SUFFIX,adtilt.com,❌AdBlock +- DOMAIN-SUFFIX,adtrue.com,❌AdBlock +- DOMAIN-SUFFIX,❌AdBlock.com,❌AdBlock +- DOMAIN-SUFFIX,advertnative.com,❌AdBlock +- DOMAIN-SUFFIX,adview.cn,❌AdBlock +- DOMAIN-SUFFIX,adxpansion.com,❌AdBlock +- DOMAIN-SUFFIX,adxvip.com,❌AdBlock +- DOMAIN-SUFFIX,aerserv.com,❌AdBlock +- DOMAIN-SUFFIX,agkn.com,❌AdBlock +- DOMAIN-SUFFIX,alipaylog.com,❌AdBlock +- DOMAIN-SUFFIX,amazon-adsystem.com,❌AdBlock +- DOMAIN-SUFFIX,analysys.cn,❌AdBlock +- DOMAIN-SUFFIX,app-adforce.jp,❌AdBlock +- DOMAIN-SUFFIX,appads.com,❌AdBlock +- DOMAIN-SUFFIX,appboy.com,❌AdBlock +- DOMAIN-SUFFIX,appier.net,❌AdBlock +- DOMAIN-SUFFIX,applift.com,❌AdBlock +- DOMAIN-SUFFIX,applovin.com,❌AdBlock +- DOMAIN-SUFFIX,appnext.com,❌AdBlock +- DOMAIN-SUFFIX,appodealx.com,❌AdBlock +- DOMAIN-SUFFIX,appsee.com,❌AdBlock +- DOMAIN-SUFFIX,appsflyer.com,❌AdBlock +- DOMAIN-SUFFIX,apptentive.com,❌AdBlock +- DOMAIN-SUFFIX,apptornado.com,❌AdBlock +- DOMAIN-SUFFIX,atdmt.com,❌AdBlock +- DOMAIN-SUFFIX,atwola.com,❌AdBlock +- DOMAIN-SUFFIX,betrad.com,❌AdBlock +- DOMAIN-SUFFIX,bidswitch.com,❌AdBlock +- DOMAIN-SUFFIX,bjytgw.com,❌AdBlock +- DOMAIN-SUFFIX,bttrack.com,❌AdBlock +- DOMAIN-SUFFIX,bxmns.com,❌AdBlock +- DOMAIN-SUFFIX,cappumedia.com,❌AdBlock +- DOMAIN-SUFFIX,celtra.com,❌AdBlock +- DOMAIN-SUFFIX,cferw.com,❌AdBlock +- DOMAIN-SUFFIX,chartbeat.net,❌AdBlock +- DOMAIN-SUFFIX,chartboost.com,❌AdBlock +- DOMAIN-SUFFIX,chitika.com,❌AdBlock +- DOMAIN-SUFFIX,clickhubs.com,❌AdBlock +- DOMAIN-SUFFIX,clickintext.com,❌AdBlock +- DOMAIN-SUFFIX,clickintext.net,❌AdBlock +- DOMAIN-SUFFIX,cloudmobi.net,❌AdBlock +- DOMAIN-SUFFIX,cnadnet.com,❌AdBlock +- DOMAIN-SUFFIX,cnzz.com,❌AdBlock +- DOMAIN-SUFFIX,cocounion.com,❌AdBlock +- DOMAIN-SUFFIX,conversantmedia.com,❌AdBlock +- DOMAIN-SUFFIX,conviva.com,❌AdBlock +- DOMAIN-SUFFIX,criteo.com,❌AdBlock +- DOMAIN-SUFFIX,crwdcntrl.net,❌AdBlock +- DOMAIN-SUFFIX,ctrmi.com,❌AdBlock +- DOMAIN-SUFFIX,demdex.net,❌AdBlock +- DOMAIN-SUFFIX,dianomi.com,❌AdBlock +- DOMAIN-SUFFIX,digitru.st,❌AdBlock +- DOMAIN-SUFFIX,dtscout.com,❌AdBlock +- DOMAIN-SUFFIX,duapps.com,❌AdBlock +- DOMAIN-SUFFIX,effectivemeasure.net,❌AdBlock +- DOMAIN-SUFFIX,endpo.in,❌AdBlock +- DOMAIN-SUFFIX,eum-appdynamics.com,❌AdBlock +- DOMAIN-SUFFIX,exoclick.com,❌AdBlock +- DOMAIN-SUFFIX,exosrv.com,❌AdBlock +- DOMAIN-SUFFIX,exponential.com,❌AdBlock +- DOMAIN-SUFFIX,exposebox.com,❌AdBlock +- DOMAIN-SUFFIX,eyeota.net,❌AdBlock +- DOMAIN-SUFFIX,eyeviewads.com,❌AdBlock +- DOMAIN-SUFFIX,flurry.com,❌AdBlock +- DOMAIN-SUFFIX,fwmrm.net,❌AdBlock +- DOMAIN-SUFFIX,getrockerbox.com,❌AdBlock +- DOMAIN-SUFFIX,go2cloud.org,❌AdBlock +- DOMAIN-SUFFIX,go-mpulse.net,❌AdBlock +- DOMAIN-SUFFIX,gowadogo.com,❌AdBlock +- DOMAIN-SUFFIX,growingio.com,❌AdBlock +- DOMAIN-SUFFIX,gwallet.com,❌AdBlock +- DOMAIN-SUFFIX,i2000.xyz,❌AdBlock +- DOMAIN-SUFFIX,igexin.com,❌AdBlock +- DOMAIN-SUFFIX,i-mobile.co.jp,❌AdBlock +- DOMAIN-SUFFIX,imrworldwide.com,❌AdBlock +- DOMAIN-SUFFIX,indexww.com,❌AdBlock +- DOMAIN-SUFFIX,inmobi.cn,❌AdBlock +- DOMAIN-SUFFIX,inmobi.com,❌AdBlock +- DOMAIN-SUFFIX,instabug.com,❌AdBlock +- DOMAIN-SUFFIX,irs01.com,❌AdBlock +- DOMAIN-SUFFIX,juicyads.com,❌AdBlock +- DOMAIN-SUFFIX,kejet.net,❌AdBlock +- DOMAIN-SUFFIX,knlob.com,❌AdBlock +- DOMAIN-SUFFIX,kochava.com,❌AdBlock +- DOMAIN-SUFFIX,koolmediaoffers.com,❌AdBlock +- DOMAIN-SUFFIX,krxd.net,❌AdBlock +- DOMAIN-SUFFIX,leadzu.com,❌AdBlock +- DOMAIN-SUFFIX,leanplum.com,❌AdBlock +- DOMAIN-SUFFIX,lenzmx.com,❌AdBlock +- DOMAIN-SUFFIX,lifestreet.com,❌AdBlock +- DOMAIN-SUFFIX,lifestreetmedia.com,❌AdBlock +- DOMAIN-SUFFIX,ligatus.com,❌AdBlock +- DOMAIN-SUFFIX,lnk0.com,❌AdBlock +- DOMAIN-SUFFIX,luomi.com,❌AdBlock +- DOMAIN-SUFFIX,madserving.com,❌AdBlock +- DOMAIN-SUFFIX,mathtag.com,❌AdBlock +- DOMAIN-SUFFIX,media.net,❌AdBlock +- DOMAIN-SUFFIX,medialytics.com,❌AdBlock +- DOMAIN-SUFFIX,metalex.io,❌AdBlock +- DOMAIN-SUFFIX,mfadsrvr.com,❌AdBlock +- DOMAIN-SUFFIX,mgid.com,❌AdBlock +- DOMAIN-SUFFIX,miaozhen.com,❌AdBlock +- DOMAIN-SUFFIX,moatads.com,❌AdBlock +- DOMAIN-SUFFIX,mobileapptracking.com,❌AdBlock +- DOMAIN-SUFFIX,mobiw.com,❌AdBlock +- DOMAIN-SUFFIX,mojiva.com,❌AdBlock +- DOMAIN-SUFFIX,mopub.com,❌AdBlock +- DOMAIN-SUFFIX,mparticle.com,❌AdBlock +- DOMAIN-SUFFIX,mxpnl.com,❌AdBlock +- DOMAIN-SUFFIX,mybest.app,❌AdBlock +- DOMAIN-SUFFIX,mydas.mobi,❌AdBlock +- DOMAIN-SUFFIX,nexage.com,❌AdBlock +- DOMAIN-SUFFIX,nr-data.net,❌AdBlock +- DOMAIN-SUFFIX,offerstrack.net,❌AdBlock +- DOMAIN-SUFFIX,omtrdc.net,❌AdBlock +- DOMAIN-SUFFIX,outbrain.com,❌AdBlock +- DOMAIN-SUFFIX,parsely.com,❌AdBlock +- DOMAIN-SUFFIX,peak-adx.com,❌AdBlock +- DOMAIN-SUFFIX,personaly.click,❌AdBlock +- DOMAIN-SUFFIX,popads.com,❌AdBlock +- DOMAIN-SUFFIX,popads.net,❌AdBlock +- DOMAIN-SUFFIX,propellerads.com,❌AdBlock +- DOMAIN-SUFFIX,pubnative.net,❌AdBlock +- DOMAIN-SUFFIX,qchannel01.cn,❌AdBlock +- DOMAIN-SUFFIX,qualtrics.com,❌AdBlock +- DOMAIN-SUFFIX,quantserve.com,❌AdBlock +- DOMAIN-SUFFIX,quixdtrk.com,❌AdBlock +- DOMAIN-SUFFIX,rayjump.com,❌AdBlock +- DOMAIN-SUFFIX,rubiconproject.com,❌AdBlock +- DOMAIN-SUFFIX,scorecardresearch.com,❌AdBlock +- DOMAIN-SUFFIX,serving-sys.com,❌AdBlock +- DOMAIN-SUFFIX,simplepath.com,❌AdBlock +- DOMAIN-SUFFIX,skimresources.com,❌AdBlock +- DOMAIN-SUFFIX,smardroid.com,❌AdBlock +- DOMAIN-SUFFIX,smartadserver.com,❌AdBlock +- DOMAIN-SUFFIX,snnd.co,❌AdBlock +- DOMAIN-SUFFIX,sonobi.com,❌AdBlock +- DOMAIN-SUFFIX,starmobs.com,❌AdBlock +- DOMAIN-SUFFIX,startappexchange.com,❌AdBlock +- DOMAIN-SUFFIX,startappservice.com,❌AdBlock +- DOMAIN-SUFFIX,storygize.net,❌AdBlock +- DOMAIN-SUFFIX,summerhamster.com,❌AdBlock +- DOMAIN-SUFFIX,supersonicads.com,❌AdBlock +- DOMAIN-SUFFIX,taboola.com,❌AdBlock +- DOMAIN-SUFFIX,tagtic.cn,❌AdBlock +- DOMAIN-SUFFIX,talkingdata.com,❌AdBlock +- DOMAIN-SUFFIX,tango-deg.com,❌AdBlock +- DOMAIN-SUFFIX,tanv.com,❌AdBlock +- DOMAIN-SUFFIX,tanx.com,❌AdBlock +- DOMAIN-SUFFIX,tapad.com,❌AdBlock +- DOMAIN-SUFFIX,taplytics.com,❌AdBlock +- DOMAIN-SUFFIX,taptica.com,❌AdBlock +- DOMAIN-SUFFIX,testplus.cn,❌AdBlock +- DOMAIN-SUFFIX,trackclickers.com,❌AdBlock +- DOMAIN-SUFFIX,trafficjunky.net,❌AdBlock +- DOMAIN-SUFFIX,trustx.org,❌AdBlock +- DOMAIN-SUFFIX,tuanxue360.net,❌AdBlock +- DOMAIN-SUFFIX,turn.com,❌AdBlock +- DOMAIN-SUFFIX,uberads.com,❌AdBlock +- DOMAIN-SUFFIX,udrig.com,❌AdBlock +- DOMAIN-SUFFIX,upcpi.com,❌AdBlock +- DOMAIN-SUFFIX,urbanairship.com,❌AdBlock +- DOMAIN-SUFFIX,usebutton.com,❌AdBlock +- DOMAIN-SUFFIX,voiceads.cn,❌AdBlock +- DOMAIN-SUFFIX,vrtcal.com,❌AdBlock +- DOMAIN-SUFFIX,vserv.mobi,❌AdBlock +- DOMAIN-SUFFIX,vungle.com,❌AdBlock +- DOMAIN-SUFFIX,webspectator.com,❌AdBlock +- DOMAIN-SUFFIX,xadchina.cn,❌AdBlock +- DOMAIN-SUFFIX,xdrig.com,❌AdBlock +- DOMAIN-SUFFIX,yldbt.com,❌AdBlock +- DOMAIN-SUFFIX,yllix.com,❌AdBlock +- DOMAIN-SUFFIX,ymtracking.com,❌AdBlock + +- DOMAIN-SUFFIX,ad.daum.net,❌AdBlock +- DOMAIN-SUFFIX,track.xiachufang.com,❌AdBlock +- DOMAIN,log.umsns.com,❌AdBlock +- DOMAIN,log.snssdk.com,❌AdBlock +- DOMAIN,toblog.snssdk.com,❌AdBlock +- DOMAIN,wgo.mmstat.com,❌AdBlock +- DOMAIN,report.jpush.cn,❌AdBlock +- DOMAIN,static.jpush.cn,❌AdBlock +- DOMAIN,stats.jpush.cn,❌AdBlock +- DOMAIN,stats.umsns.com,❌AdBlock +- DOMAIN,s0.2mdn.net,❌AdBlock +- DOMAIN,appnext.hs.llnwd.net,❌AdBlock +- DOMAIN,appnext-a.akamaihd.net,❌AdBlock + +- DOMAIN,abema-adx.ameba.jp,❌AdBlock +- DOMAIN,ad.12306.cn,❌AdBlock +- DOMAIN,ad.caiyunapp.com,❌AdBlock +- DOMAIN,ad.huajiao.com,❌AdBlock +- DOMAIN,ad.hzyoka.com,❌AdBlock +- DOMAIN,ad.jiemian.com,❌AdBlock +- DOMAIN,ad.qingting.fm,❌AdBlock +- DOMAIN,ad-cn.jovcloud.com,❌AdBlock +- DOMAIN,adsapi.manhuaren.com,❌AdBlock +- DOMAIN,adsdk.dmzj.com,❌AdBlock +- DOMAIN,ads.daydaycook.com.cn,❌AdBlock +- DOMAIN,adui.tg.meitu.com,❌AdBlock +- DOMAIN,adx.hupu.com,❌AdBlock +- DOMAIN,adxserver.ad.cmvideo.cn,❌AdBlock +- DOMAIN,app-ad.variflight.com,❌AdBlock +- DOMAIN,applog.mobike.com,❌AdBlock +- DOMAIN,ggs.myzaker.com,❌AdBlock +- DOMAIN,ja.chushou.tv,❌AdBlock +- DOMAIN,log.b612kaji.com,❌AdBlock +- DOMAIN,log.star.ele.me,❌AdBlock +- DOMAIN,log.voicecloud.cn,❌AdBlock +- DOMAIN,log.ys7.com,❌AdBlock +- DOMAIN,logs.chelaile.net.cn,❌AdBlock +- DOMAIN,mopnativeadv.037201.com,❌AdBlock +- DOMAIN,nativeadv.dftoutiao.com,❌AdBlock +- DOMAIN,optimus-ads.amap.com,❌AdBlock +- DOMAIN,static.vuevideo.net,❌AdBlock +- DOMAIN,sugar.zhihu.com,❌AdBlock +- DOMAIN,track.tiara.daum.net,❌AdBlock +- DOMAIN,track.tiara.kakao.com,❌AdBlock +- DOMAIN,trackapp.guahao.cn,❌AdBlock +- DOMAIN,traffic.mogujie.com,❌AdBlock +- DOMAIN,wmlog.meituan.com,❌AdBlock + +# (0~9) +# > 58 +- DOMAIN,adshow.58.com,❌AdBlock +- DOMAIN,track.58.com,❌AdBlock +- DOMAIN,tracklog.58.com,❌AdBlock +# (A) +# > Apple +- DOMAIN-SUFFIX,iadsdk.apple.com,❌AdBlock +- DOMAIN-SUFFIX,ads.internal.unity3d.com,❌AdBlock +- DOMAIN-SUFFIX,ads.prd.ie.internal.unity3d.com,❌AdBlock +- DOMAIN-SUFFIX,unityads.unity3d.com,❌AdBlock +# > Alibaba +- DOMAIN,acs4baichuan.m.taobao.com,❌AdBlock +- DOMAIN,adash.m.taobao.com,❌AdBlock +- DOMAIN,adash.man.aliyuncs.com,❌AdBlock +- DOMAIN,adashbc.ut.taobao.com,❌AdBlock +- DOMAIN,adash-c.ut.taobao.com,❌AdBlock +- DOMAIN,adashxgc.ut.taobao.com,❌AdBlock +- DOMAIN,adashx4yt.m.taobao.com,❌AdBlock +- DOMAIN,amdc.m.taobao.com,❌AdBlock +- DOMAIN,apoll.m.taobao.com,❌AdBlock +- DOMAIN,nbsdk-baichuan.alicdn.com,❌AdBlock +- DOMAIN,tunion-api.m.taobao.com,❌AdBlock +# > AutoHome +- DOMAIN,adProxy.autohome.com.cn,❌AdBlock +- DOMAIN,rd.autohome.com.cn,❌AdBlock +- DOMAIN,al.autohome.com.cn,❌AdBlock +- DOMAIN,applogapi.autohome.com.cn,❌AdBlock +# (B) +# > Baidu +- DOMAIN-SUFFIX,baidustatic.com,❌AdBlock +- DOMAIN,afd.baidu.com,❌AdBlock +- DOMAIN,duclick.baidu.com,❌AdBlock +- DOMAIN,hm.baidu.com,❌AdBlock +- DOMAIN,hmma.baidu.com,❌AdBlock +- DOMAIN,mobads.baidu.com,❌AdBlock +- DOMAIN,mobads-logs.baidu.com,❌AdBlock +- DOMAIN,nsclick.baidu.com,❌AdBlock +- DOMAIN,wn.pos.baidu.com,❌AdBlock +# > ByteDance +- DOMAIN,applog.musical.ly,❌AdBlock +- DOMAIN,track.toutiao.com,❌AdBlock +- DOMAIN,xlog.snssdk.com,❌AdBlock +- DOMAIN,xlog-va.byteoversea.com,❌AdBlock +# > BitAuto +- DOMAIN,adx.yiche.com,❌AdBlock +- DOMAIN,log.ycapp.yiche.com,❌AdBlock +# > Baicizhan +- DOMAIN,advertise.baicizhan.org,❌AdBlock +- DOMAIN,advertise.baicizhan.com,❌AdBlock +# (C) +# > CNTV +- DOMAIN,galaxy.bjcathay.com,❌AdBlock +- DOMAIN,mdrecv.app.cntvwb.cn,❌AdBlock +- DOMAIN,sdapprecv.app.cntvwb.cn,❌AdBlock +- DOMAIN,vdapprecv.app.cntvwb.cn,❌AdBlock +# > ChinaNet +- DOMAIN,admarket.21cn.com,❌AdBlock +- DOMAIN,adshows.21cn.com,❌AdBlock +# (G) +# > Google +- DOMAIN-SUFFIX,doubleclick.net,❌AdBlock +- DOMAIN-SUFFIX,googleadservices.com,❌AdBlock +- DOMAIN-SUFFIX,googleadsserving.cn,❌AdBlock +- DOMAIN-SUFFIX,googlesyndication.com,❌AdBlock +- DOMAIN-SUFFIX,googletagmanager.com,❌AdBlock +- DOMAIN-SUFFIX,googletagservices.com,❌AdBlock +- DOMAIN-SUFFIX,google-analytics.com,❌AdBlock +# (H) +# > HunanTV +- DOMAIN-SUFFIX,da.mgtv.com,❌AdBlock +- DOMAIN-SUFFIX,da.hunantv.com,❌AdBlock +- DOMAIN-SUFFIX,log.hunantv.com,❌AdBlock +- DOMAIN,log.v2.hunantv.com,❌AdBlock +- DOMAIN,v2.log.hunantv.com,❌AdBlock +# (I) +# > iQiyi +- DOMAIN,ifacelog.iqiyi.com,❌AdBlock +- DOMAIN,mbdlog.iqiyi.com,❌AdBlock +- DOMAIN,msg.71.am,❌AdBlock +- DOMAIN,msg.qy.net,❌AdBlock +- DOMAIN,t7z.cupid.iqiyi.com,❌AdBlock + +# (K) +# > KuGou and Kuwo +- DOMAIN,adserviceretry.kugou.com,❌AdBlock +- DOMAIN,ads.service.kugou.com,❌AdBlock +- DOMAIN,adsfile.bssdlbig.kugou.com,❌AdBlock +- DOMAIN,log.stat.kugou.com,❌AdBlock +- DOMAIN,log.web.kugou.com,❌AdBlock +- DOMAIN,kgmobilestat.kugou.com,❌AdBlock +- DOMAIN,kgmobilestatbak.kugou.com,❌AdBlock +- DOMAIN,mobilelog.kugou.com,❌AdBlock +- DOMAIN,mobilead.kuwo.cn,❌AdBlock +- DOMAIN,rich.kuwo.cn,❌AdBlock +# > Kingsoft +- DOMAIN,ad-stat.ksosoft.com,❌AdBlock +- DOMAIN,img.auction-ads.wpscdn.cn,❌AdBlock +# (L) +# > Le +- DOMAIN-SUFFIX,webp2p.letv.com,❌AdBlock +- DOMAIN,ark.letv.com,❌AdBlock +- DOMAIN,emma-414870e223.huodonghezi.com,❌AdBlock +- DOMAIN,g3.letv.com,❌AdBlock +- DOMAIN,n.mark.letv.com,❌AdBlock +# (M) +# > MI +- DOMAIN-SUFFIX,ad.xiaomi.com,❌AdBlock +- DOMAIN-SUFFIX,admob.xiaomi.com,❌AdBlock +- DOMAIN-SUFFIX,ad.intl.xiaomi.com,❌AdBlock +- DOMAIN-SUFFIX,data.mistat.xiaomi.com,❌AdBlock +- DOMAIN-SUFFIX,tracking.miui.com,❌AdBlock +- DOMAIN,adv.sec.miui.com,❌AdBlock +- DOMAIN,adv.sec.intl.miui.com,❌AdBlock +- DOMAIN,o2o.api.xiaomi.com,❌AdBlock +# > Moji +- DOMAIN,ad.api.moji.com,❌AdBlock +- DOMAIN,adlaunch.moji.com,❌AdBlock +- DOMAIN,ads.mojicdn.com,❌AdBlock +- DOMAIN,v1.log.moji.com,❌AdBlock +- DOMAIN,minfo.wps.cn,❌AdBlock +# (N) +# > NetEase +- DOMAIN,ad.bn.netease.com,❌AdBlock +- DOMAIN,ad.yixin.im,❌AdBlock +- DOMAIN,admusicpic.music.126.net,❌AdBlock +- DOMAIN,iadmat.nosdn.127.net,❌AdBlock +- DOMAIN,iadmusicmat.music.126.net,❌AdBlock +- DOMAIN,iadmusicmatvideo.music.126.net,❌AdBlock +- DOMAIN,impservice.dictapp.youdao.com,❌AdBlock +- DOMAIN,impservice.youdao.com,❌AdBlock +- DOMAIN,log.yex.youdao.com,❌AdBlock +- DOMAIN,log-yex.youdao.com,❌AdBlock +- DOMAIN,n.3g.163.com,❌AdBlock +- DOMAIN,nex.163.com,❌AdBlock +- DOMAIN,yt-adp.nosdn.127.net,❌AdBlock +# (P) +# > PPTV +- DOMAIN,ads.aplus.pptv.com,❌AdBlock +- DOMAIN,asimgs.pplive.cn,❌AdBlock +- DOMAIN,de.as.pptv.com,❌AdBlock +# > Photoable +- DOMAIN,regist.fotoable.com,❌AdBlock +- DOMAIN,cdn.adapi.fotoable.com,❌AdBlock +# > PeanutWiFiMpass +- DOMAIN,adnew.wifi8.com,❌AdBlock +- DOMAIN,adfile.wifi8.com,❌AdBlock +# (S) +# > Sina +- DOMAIN,u1.img.mobile.sina.cn,❌AdBlock +- DOMAIN,sax.sina.com.cn,❌AdBlock +- DOMAIN,saxs.sina.com.cn,❌AdBlock +- DOMAIN,saxn.sina.com.cn,❌AdBlock +# > Sohu +- DOMAIN-SUFFIX,ads.sohu.com,❌AdBlock +- DOMAIN-SUFFIX,aty.sohu.com,❌AdBlock +- DOMAIN,imp.optaim.com,❌AdBlock +- DOMAIN,v2.reachmax.cn,❌AdBlock +- DOMAIN,track.sohu.com,❌AdBlock +- DOMAIN,hui.sohu.com,❌AdBlock +# (T) +# > Tencent +- DOMAIN-SUFFIX,e.qq.com,❌AdBlock +- DOMAIN-SUFFIX,gdt.qq.com,❌AdBlock +- DOMAIN-SUFFIX,rqd.qq.com,❌AdBlock +- DOMAIN,btrace.qq.com,❌AdBlock +- DOMAIN,mtrace.qq.com,❌AdBlock +- DOMAIN,oth.eve.mdt.qq.com,❌AdBlock +- DOMAIN,pingma.qq.com,❌AdBlock +- DOMAIN,pingtcss.qq.com,❌AdBlock +- DOMAIN,splashqqlive.gtimg.com,❌AdBlock +- DOMAIN,tajs.qq.com,❌AdBlock +# > The Paper +- DOMAIN,imgadpai.thepaper.cn,❌AdBlock +- DOMAIN,admonitor.thepaper.cn,❌AdBlock +# > Thunder +- DOMAIN,adsp.xunlei.com,❌AdBlock +- DOMAIN,etl.xlmc.sandai.net,❌AdBlock +# > Tonghuashun +- DOMAIN,adm.10jqka.com.cn,❌AdBlock +- DOMAIN,stat.10jqka.com.cn,❌AdBlock +# > Taipingyang +- DOMAIN,ad-analysis.pconline.com.cn,❌AdBlock +- DOMAIN,iad0ssl.pcauto.com.cn,❌AdBlock +- DOMAIN,iad0ssl.pconline.com.cn,❌AdBlock +- DOMAIN,imgad0.pcauto.com.cn,❌AdBlock +- DOMAIN,imgad0.pconline.com.cn,❌AdBlock +- DOMAIN,ivy.pchouse.com.cn,❌AdBlock +# (U) +# > UC +- DOMAIN,adtrack.ucweb.com,❌AdBlock +- DOMAIN,applogios.uc.cn,❌AdBlock +- DOMAIN,track.uc.cn,❌AdBlock +# (W) +# > WiFi Key +- DOMAIN,a.wkanx.com,❌AdBlock +- DOMAIN,cwx.lianwangtech.com,❌AdBlock +- DOMAIN,c1wx.lianwangtech.com,❌AdBlock +# (X) +# > Ximalaya +- DOMAIN,ad.ximalaya.com,❌AdBlock +- DOMAIN,adse.ximalaya.com,❌AdBlock +# > Xiaohongshu +- DOMAIN,t-ads.xiaohongshu.com,❌AdBlock +- DOMAIN,apm-track.xiaohongshu.com,❌AdBlock +# (Y) +# > Youku +- DOMAIN-SUFFIX,atm.youku.com,❌AdBlock +- DOMAIN,ad.mobile.youku.com,❌AdBlock +- DOMAIN,iyes.youku.com,❌AdBlock +# (Z) +# > ZOL +- DOMAIN,apppv.zol.com.cn,❌AdBlock +- DOMAIN,pvnapp.zol.com.cn,❌AdBlock + +# Internet Service Provider ❌AdBlock Protection +- DOMAIN-SUFFIX,17gouwuba.com,❌AdBlock +- DOMAIN-SUFFIX,189zj.cn,❌AdBlock +- DOMAIN-SUFFIX,285680.com,❌AdBlock +- DOMAIN-SUFFIX,3721zh.com,❌AdBlock +- DOMAIN-SUFFIX,4336wang.cn,❌AdBlock +- DOMAIN-SUFFIX,51chumoping.com,❌AdBlock +- DOMAIN-SUFFIX,58mingri.cn,❌AdBlock +- DOMAIN-SUFFIX,58mingtian.cn,❌AdBlock +- DOMAIN-SUFFIX,6d63d3.com,❌AdBlock +- DOMAIN-SUFFIX,91veg.com,❌AdBlock +- DOMAIN-SUFFIX,9s6q.cn,❌AdBlock +- DOMAIN-SUFFIX,adsame.com,❌AdBlock +- DOMAIN-SUFFIX,aiclk.com,❌AdBlock +- DOMAIN-SUFFIX,akuai.top,❌AdBlock +- DOMAIN-SUFFIX,atplay.cn,❌AdBlock +- DOMAIN-SUFFIX,baiwanchuangyi.com,❌AdBlock +- DOMAIN-SUFFIX,bayimob.com,❌AdBlock +- DOMAIN-SUFFIX,beerto.cn,❌AdBlock +- DOMAIN-SUFFIX,beilamusi.com,❌AdBlock +- DOMAIN-SUFFIX,benshiw.net,❌AdBlock +- DOMAIN-SUFFIX,bianxianmao.com,❌AdBlock +- DOMAIN-SUFFIX,bryonypie.com,❌AdBlock +- DOMAIN-SUFFIX,cishantao.com,❌AdBlock +- DOMAIN-SUFFIX,cszlks.com,❌AdBlock +- DOMAIN-SUFFIX,cudaojia.com,❌AdBlock +- DOMAIN-SUFFIX,dafapromo.com,❌AdBlock +- DOMAIN-SUFFIX,daitdai.com,❌AdBlock +- DOMAIN-SUFFIX,dsaeerf.com,❌AdBlock +- DOMAIN-SUFFIX,dugesheying.com,❌AdBlock +- DOMAIN-SUFFIX,dv8c1t.cn,❌AdBlock +- DOMAIN-SUFFIX,erdoscs.com,❌AdBlock +- DOMAIN-SUFFIX,fan-yong.com,❌AdBlock +- DOMAIN-SUFFIX,feih.com.cn,❌AdBlock +- DOMAIN-SUFFIX,fjlqqc.com,❌AdBlock +- DOMAIN-SUFFIX,fkku194.com,❌AdBlock +- DOMAIN-SUFFIX,freedrive.cn,❌AdBlock +- DOMAIN-SUFFIX,gclick.cn,❌AdBlock +- DOMAIN-SUFFIX,goufanli100.com,❌AdBlock +- DOMAIN-SUFFIX,gouwubang.com,❌AdBlock +- DOMAIN-SUFFIX,haoshengtoys.com,❌AdBlock +- DOMAIN-SUFFIX,ichaosheng.com,❌AdBlock +- DOMAIN-SUFFIX,ishop789.com,❌AdBlock +- DOMAIN-SUFFIX,jdkic.com,❌AdBlock +- DOMAIN-SUFFIX,jiubuhua.com,❌AdBlock +- DOMAIN-SUFFIX,jwg365.cn,❌AdBlock +- DOMAIN-SUFFIX,kumihua.com,❌AdBlock +- DOMAIN-SUFFIX,linktech.cn,❌AdBlock +- DOMAIN-SUFFIX,ltheanine.cn,❌AdBlock +- DOMAIN-SUFFIX,maipinshangmao.com,❌AdBlock +- DOMAIN-SUFFIX,minisplat.cn,❌AdBlock +- DOMAIN-SUFFIX,mkitgfs.com,❌AdBlock +- DOMAIN-SUFFIX,mlnbike.com,❌AdBlock +- DOMAIN-SUFFIX,newapi.com,❌AdBlock +- DOMAIN-SUFFIX,pinzhitmall.com,❌AdBlock +- DOMAIN-SUFFIX,poppyta.com,❌AdBlock +- DOMAIN-SUFFIX,qichexin.com,❌AdBlock +- DOMAIN-SUFFIX,qinchugudao.com,❌AdBlock +- DOMAIN-SUFFIX,quanliyouxi.cn,❌AdBlock +- DOMAIN-SUFFIX,qutaobi.com,❌AdBlock +- DOMAIN-SUFFIX,ry51w.cn,❌AdBlock +- DOMAIN-SUFFIX,sg536.cn,❌AdBlock +- DOMAIN-SUFFIX,sifubo.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuce.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuda.cn,❌AdBlock +- DOMAIN-SUFFIX,sifufu.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuge.cn,❌AdBlock +- DOMAIN-SUFFIX,sifugu.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuhe.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuhu.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuji.cn,❌AdBlock +- DOMAIN-SUFFIX,sifuka.cn,❌AdBlock +- DOMAIN-SUFFIX,smgru.net,❌AdBlock +- DOMAIN-SUFFIX,taoggou.com,❌AdBlock +- DOMAIN-SUFFIX,tcxshop.com,❌AdBlock +- DOMAIN-SUFFIX,tjqonline.cn,❌AdBlock +- DOMAIN-SUFFIX,topitme.com,❌AdBlock +- DOMAIN-SUFFIX,tuia.cn,❌AdBlock +- DOMAIN-SUFFIX,tuipenguin.com,❌AdBlock +- DOMAIN-SUFFIX,tuitiger.com,❌AdBlock +- DOMAIN-SUFFIX,wx16999.com,❌AdBlock +- DOMAIN-SUFFIX,xiaohuau.xyz,❌AdBlock +- DOMAIN-SUFFIX,yinmong.com,❌AdBlock +- DOMAIN-SUFFIX,yiqifa.com,❌AdBlock +- DOMAIN-SUFFIX,yitaopt.com,❌AdBlock +- DOMAIN-SUFFIX,yukhj.com,❌AdBlock +- DOMAIN-SUFFIX,zhaozecheng.cn,❌AdBlock +- DOMAIN-SUFFIX,zhenxinet.com,❌AdBlock +- DOMAIN-SUFFIX,zunmi.cn,❌AdBlock +- DOMAIN-SUFFIX,zzd6.com,❌AdBlock + +# Blocklist +- DOMAIN-SUFFIX,kuaizip.com,❌AdBlock +- DOMAIN-SUFFIX,mackeeper.com,❌AdBlock +# > CJ Marketing +- DOMAIN-SUFFIX,4009997658.com,❌AdBlock +- DOMAIN-SUFFIX,abbyychina.com,❌AdBlock +- DOMAIN-SUFFIX,bartender.cc,❌AdBlock +- DOMAIN-SUFFIX,betterzip.net,❌AdBlock +- DOMAIN-SUFFIX,beyondcompare.cc,❌AdBlock +- DOMAIN-SUFFIX,bingdianhuanyuan.cn,❌AdBlock +- DOMAIN-SUFFIX,chemdraw.com.cn,❌AdBlock +- DOMAIN-SUFFIX,cjmakeding.com,❌AdBlock +- DOMAIN-SUFFIX,cjmkt.com,❌AdBlock +- DOMAIN-SUFFIX,codesoftchina.com,❌AdBlock +- DOMAIN-SUFFIX,coreldrawchina.com,❌AdBlock +- DOMAIN-SUFFIX,crossoverchina.com,❌AdBlock +- DOMAIN-SUFFIX,easyrecoverychina.com,❌AdBlock +- DOMAIN-SUFFIX,ediuschina.com,❌AdBlock +- DOMAIN-SUFFIX,flstudiochina.com,❌AdBlock +- DOMAIN-SUFFIX,formysql.com,❌AdBlock +- DOMAIN-SUFFIX,guitarpro.cc,❌AdBlock +- DOMAIN-SUFFIX,huishenghuiying.com.cn,❌AdBlock +- DOMAIN-SUFFIX,hypersnap.net,❌AdBlock +- DOMAIN-SUFFIX,iconworkshop.cn,❌AdBlock +- DOMAIN-SUFFIX,imindmap.cc,❌AdBlock +- DOMAIN-SUFFIX,jihehuaban.com.cn,❌AdBlock +- DOMAIN-SUFFIX,keyshot.cc,❌AdBlock +- DOMAIN-SUFFIX,kingdeecn.cn,❌AdBlock +- DOMAIN-SUFFIX,logoshejishi.com,❌AdBlock +- DOMAIN-SUFFIX,mairuan.cn,❌AdBlock +- DOMAIN-SUFFIX,mairuan.com,❌AdBlock +- DOMAIN-SUFFIX,mairuan.com.cn,❌AdBlock +- DOMAIN-SUFFIX,mairuan.net,❌AdBlock +- DOMAIN-SUFFIX,mairuanwang.com,❌AdBlock +- DOMAIN-SUFFIX,makeding.com,❌AdBlock +- DOMAIN-SUFFIX,mathtype.cn,❌AdBlock +- DOMAIN-SUFFIX,mindmanager.cc,❌AdBlock +- DOMAIN-SUFFIX,mindmapper.cc,❌AdBlock +- DOMAIN-SUFFIX,mycleanmymac.com,❌AdBlock +- DOMAIN-SUFFIX,nicelabel.cc,❌AdBlock +- DOMAIN-SUFFIX,ntfsformac.cc,❌AdBlock +- DOMAIN-SUFFIX,ntfsformac.cn,❌AdBlock +- DOMAIN-SUFFIX,overturechina.com,❌AdBlock +- DOMAIN-SUFFIX,passwordrecovery.cn,❌AdBlock +- DOMAIN-SUFFIX,pdfexpert.cc,❌AdBlock +- DOMAIN-SUFFIX,shankejingling.com,❌AdBlock +- DOMAIN-SUFFIX,ultraiso.net,❌AdBlock +- DOMAIN-SUFFIX,vegaschina.cn,❌AdBlock +- DOMAIN-SUFFIX,xmindchina.net,❌AdBlock +- DOMAIN-SUFFIX,xshellcn.com,❌AdBlock +- DOMAIN-SUFFIX,yihuifu.cn,❌AdBlock +- DOMAIN-SUFFIX,yuanchengxiezuo.com,❌AdBlock +- DOMAIN-SUFFIX,zbrushcn.com,❌AdBlock +- DOMAIN-SUFFIX,zhzzx.com,❌AdBlock + +# China Area Network +# > App Store Download || iBooks Sample +- DOMAIN-SUFFIX,itunes.apple.com,🔑Proxy +# > Apple Music +- DOMAIN,aod.itunes.apple.com,🔑Proxy +- DOMAIN,audio.itunes.apple.com,🔑Proxy +- DOMAIN,audio-ssl.itunes.apple.com,🔑Proxy +- DOMAIN,streamingaudio.itunes.apple.com,🔑Proxy +# > Apple TV +- DOMAIN,ocvideo.apple.com,🔑Proxy +# > Apple News and Apple Map TOMTOM Version +- DOMAIN,gspe1-ssl.ls.apple.com,🔑Proxy +#PROCESS-NAME,News,🔑Proxy +#USER-AGENT,AppleNews*,🔑Proxy +# > Apple +- DOMAIN-SUFFIX,aaplimg.com,🔑Proxy - DOMAIN-SUFFIX,apple.co,DIRECT - DOMAIN-SUFFIX,apple.com,DIRECT - DOMAIN-SUFFIX,appstore.com,DIRECT -- DOMAIN-SUFFIX,cdn-apple.com,Proxy +- DOMAIN-SUFFIX,cdn-apple.com,🔑Proxy - DOMAIN-SUFFIX,crashlytics.com,DIRECT - DOMAIN-SUFFIX,icloud.com,DIRECT -- DOMAIN-SUFFIX,icloud-content.com,Proxy +- DOMAIN-SUFFIX,icloud-content.com,🔑Proxy - DOMAIN-SUFFIX,me.com,DIRECT - DOMAIN-SUFFIX,mzstatic.com,DIRECT +# > Microsoft - DOMAIN-SUFFIX,microsoft.com,DIRECT - DOMAIN-SUFFIX,windows.net,DIRECT - DOMAIN-SUFFIX,sfx.ms,DIRECT - DOMAIN-SUFFIX,sharepoint.com,DIRECT - DOMAIN-KEYWORD,officecdn,DIRECT +# > Blizzard - DOMAIN-SUFFIX,blizzard.com,DIRECT - DOMAIN-SUFFIX,battle.net,DIRECT - DOMAIN,blzddist1-a.akamaihd.net,DIRECT +# > Steam - DOMAIN-SUFFIX,steampowered.com,DIRECT - DOMAIN-SUFFIX,steam-chat.com,DIRECT - DOMAIN-KEYWORD,steamcdn,DIRECT - DOMAIN-KEYWORD,steamstore,DIRECT - DOMAIN-KEYWORD,steamuserimages,DIRECT - DOMAIN-KEYWORD,steambroadcast,DIRECT +# > Tencent +#USER-AGENT,MicroMessenger%20Client,DIRECT +#USER-AGENT,WeChat*,DIRECT - DOMAIN-SUFFIX,qq.com,DIRECT - DOMAIN-SUFFIX,qpic.cn,DIRECT - DOMAIN-SUFFIX,tencent.com,DIRECT +# > Alibaba - DOMAIN-SUFFIX,alibaba.com,DIRECT - DOMAIN-SUFFIX,alicdn.com,DIRECT - DOMAIN-SUFFIX,amap.com,DIRECT @@ -1223,57 +825,80 @@ Rule: - DOMAIN-SUFFIX,youku.com,DIRECT - DOMAIN-SUFFIX,xiami.com,DIRECT - DOMAIN-SUFFIX,xiami.net,DIRECT +# > NetEase - DOMAIN-SUFFIX,163.com,DIRECT - DOMAIN-SUFFIX,126.net,DIRECT - DOMAIN-SUFFIX,163yun.com,DIRECT +# > Sohu - DOMAIN-SUFFIX,sohu.com.cn,DIRECT - DOMAIN-SUFFIX,itc.cn,DIRECT - DOMAIN-SUFFIX,sohu.com,DIRECT - DOMAIN-SUFFIX,v-56.com,DIRECT +# > Sina - DOMAIN-SUFFIX,weibo.com,DIRECT - DOMAIN-SUFFIX,weibo.cn,DIRECT +# > JD - DOMAIN-SUFFIX,jd.com,DIRECT - DOMAIN-SUFFIX,jd.hk,DIRECT - DOMAIN-SUFFIX,360buyimg.com,DIRECT +# > MI - DOMAIN-SUFFIX,duokan.com,DIRECT - DOMAIN-SUFFIX,mi-img.com,DIRECT - DOMAIN-SUFFIX,mifile.cn,DIRECT - DOMAIN-SUFFIX,xiaomi.com,DIRECT +# > bilibili - DOMAIN-SUFFIX,acgvideo.com,DIRECT - DOMAIN-SUFFIX,bilibili.com,DIRECT - DOMAIN-SUFFIX,hdslb.com,DIRECT +# > iQiyi - DOMAIN-SUFFIX,iqiyi.com,DIRECT - DOMAIN-SUFFIX,iqiyipic.com,DIRECT - DOMAIN-SUFFIX,71.am.com,DIRECT +# > HunanTV - DOMAIN-SUFFIX,hitv.com,DIRECT - DOMAIN-SUFFIX,mgtv.com,DIRECT +# > Meitu - DOMAIN-SUFFIX,meitu.com,DIRECT - DOMAIN-SUFFIX,meitudata.com,DIRECT - DOMAIN-SUFFIX,meipai.com,DIRECT +# > YYeTs - DOMAIN-SUFFIX,zmzapi.com,DIRECT - DOMAIN-SUFFIX,zimuzu.tv,DIRECT - DOMAIN-SUFFIX,zmzfile.com,DIRECT - DOMAIN-SUFFIX,zmzapi.net,DIRECT +# > 蛋蛋赞 - DOMAIN-SUFFIX,baduziyuan.com,DIRECT - DOMAIN-SUFFIX,com-hs-hkdy.com,DIRECT - DOMAIN-SUFFIX,czybjz.com,DIRECT - DOMAIN-SUFFIX,dandanzan.com,DIRECT -- DOMAIN-SUFFIX,zjhu.edu.cn,DIRECT - DOMAIN-SUFFIX,fjhps.com,DIRECT - DOMAIN-SUFFIX,kuyunbo.club,DIRECT +# > Baidu - DOMAIN-SUFFIX,baidu.com,DIRECT - DOMAIN-SUFFIX,baidubcr.com,DIRECT - DOMAIN-SUFFIX,bdstatic.com,DIRECT +# > ChinaNet - DOMAIN-SUFFIX,189.cn,DIRECT - DOMAIN-SUFFIX,21cn.com,DIRECT +# > ByteDance - DOMAIN-SUFFIX,bytecdn.cn,DIRECT - DOMAIN-SUFFIX,pstatp.com,DIRECT - DOMAIN-SUFFIX,snssdk.com,DIRECT - DOMAIN-SUFFIX,toutiao.com,DIRECT +# > Content Delivery Network +# > Akamai - DOMAIN-SUFFIX,akadns.net,DIRECT +# - DOMAIN-SUFFIX,akamai.net,DIRECT +# - DOMAIN-SUFFIX,akamaiedge.net,DIRECT +# - DOMAIN-SUFFIX,akamaihd.net,DIRECT +# - DOMAIN-SUFFIX,akamaistream.net,DIRECT +# - DOMAIN-SUFFIX,akamaized.net,DIRECT +# > ChinaNetCenter - DOMAIN-SUFFIX,chinanetcenter.com,DIRECT - DOMAIN-SUFFIX,wangsu.com,DIRECT +# > CloudFlare - DOMAIN-SUFFIX,cloudflare.com,DIRECT +# > IP Query - DOMAIN-SUFFIX,ipip.net,DIRECT - DOMAIN-SUFFIX,ip.cn,DIRECT - DOMAIN-SUFFIX,ip.la,DIRECT @@ -1282,6 +907,7 @@ Rule: - DOMAIN-SUFFIX,test-ipv6.com,DIRECT - DOMAIN-SUFFIX,whatismyip.com,DIRECT - DOMAIN,ip.bjango.com,DIRECT +# > Other - DOMAIN-SUFFIX,40017.cn,DIRECT - DOMAIN-SUFFIX,cailianpress.com,DIRECT - DOMAIN-SUFFIX,chdbits.co,DIRECT @@ -1308,8 +934,8 @@ Rule: - DOMAIN-SUFFIX,myzaker.com,DIRECT - DOMAIN-SUFFIX,ourbits.club,DIRECT - DOMAIN-SUFFIX,passthepopcorn.me,DIRECT -- DOMAIN-SUFFIX,paypal.com,Proxy -- DOMAIN-SUFFIX,paypalobjects.com,Proxy +- DOMAIN-SUFFIX,paypal.com,DIRECT +- DOMAIN-SUFFIX,paypalobjects.com,DIRECT - DOMAIN-SUFFIX,privatehd.to,DIRECT - DOMAIN-SUFFIX,redacted.ch,DIRECT - DOMAIN-SUFFIX,ruguoapp.com,DIRECT @@ -1323,404 +949,434 @@ Rule: - DOMAIN-SUFFIX,yangkeduo.com,DIRECT - DOMAIN-SUFFIX,zhihu.com,DIRECT - DOMAIN-SUFFIX,zhimg.com,DIRECT -- DOMAIN-SUFFIX,appspot.com,Proxy -- DOMAIN-SUFFIX,blogger.com,Proxy -- DOMAIN-SUFFIX,getoutline.org,Proxy -- DOMAIN-SUFFIX,gvt0.com,Proxy -- DOMAIN-SUFFIX,gvt1.com,Proxy -- DOMAIN-SUFFIX,gvt3.com,Proxy -- DOMAIN-SUFFIX,xn--ngstr-lra8j.com,Proxy -- DOMAIN-KEYWORD,google,Proxy -- DOMAIN-KEYWORD,blogspot,Proxy -- DOMAIN-SUFFIX,cdninstagram.com,Proxy -- DOMAIN-SUFFIX,fb.com,Proxy -- DOMAIN-SUFFIX,fb.me,Proxy -- DOMAIN-SUFFIX,fbaddins.com,Proxy -- DOMAIN-SUFFIX,fbcdn.net,Proxy -- DOMAIN-SUFFIX,fbsbx.com,Proxy -- DOMAIN-SUFFIX,fbworkmail.com,Proxy -- DOMAIN-SUFFIX,instagram.com,Proxy -- DOMAIN-SUFFIX,m.me,Proxy -- DOMAIN-SUFFIX,messenger.com,Proxy -- DOMAIN-SUFFIX,oculus.com,Proxy -- DOMAIN-SUFFIX,oculuscdn.com,Proxy -- DOMAIN-SUFFIX,rocksdb.org,Proxy -- DOMAIN-SUFFIX,whatsapp.com,Proxy -- DOMAIN-SUFFIX,whatsapp.net,Proxy -- DOMAIN-KEYWORD,facebook,Proxy -- DOMAIN-SUFFIX,pscp.tv,Proxy -- DOMAIN-SUFFIX,periscope.tv,Proxy -- DOMAIN-SUFFIX,t.co,Proxy -- DOMAIN-SUFFIX,twimg.co,Proxy -- DOMAIN-SUFFIX,twimg.com,Proxy -- DOMAIN-SUFFIX,twitpic.com,Proxy -- DOMAIN-SUFFIX,vine.co,Proxy -- DOMAIN-KEYWORD,twitter,Proxy -- DOMAIN-SUFFIX,t.me,Proxy -- DOMAIN-SUFFIX,tdesktop.com,Proxy -- DOMAIN-SUFFIX,telegra.ph,Proxy -- DOMAIN-SUFFIX,telegram.me,Proxy -- DOMAIN-SUFFIX,telegram.org,Proxy -- DOMAIN-SUFFIX,line.me,Proxy -- DOMAIN-SUFFIX,line-apps.com,Proxy -- DOMAIN-SUFFIX,line-scdn.net,Proxy -- DOMAIN-SUFFIX,naver.jp,Proxy -- DOMAIN-SUFFIX,4shared.com,Proxy -- DOMAIN-SUFFIX,881903.com,Proxy -- DOMAIN-SUFFIX,abc.net.au,Proxy -- DOMAIN-SUFFIX,abebooks.com,Proxy -- DOMAIN-SUFFIX,amazon.co.jp,Proxy -- DOMAIN-SUFFIX,apigee.com,Proxy -- DOMAIN-SUFFIX,apk-dl.com,Proxy -- DOMAIN-SUFFIX,apkmirror.com,Proxy -- DOMAIN-SUFFIX,apkmonk.com,Proxy -- DOMAIN-SUFFIX,apkpure.com,Proxy -- DOMAIN-SUFFIX,aptoide.com,Proxy -- DOMAIN-SUFFIX,archive.is,Proxy -- DOMAIN-SUFFIX,archive.org,Proxy -- DOMAIN-SUFFIX,arte.tv,Proxy -- DOMAIN-SUFFIX,ask.com,Proxy -- DOMAIN-SUFFIX,avgle.com,Proxy -- DOMAIN-SUFFIX,badoo.com,Proxy -- DOMAIN-SUFFIX,bandwagonhost.com,Proxy -- DOMAIN-SUFFIX,bbc.com,Proxy -- DOMAIN-SUFFIX,behance.net,Proxy -- DOMAIN-SUFFIX,bibox.com,Proxy -- DOMAIN-SUFFIX,biggo.com.tw,Proxy -- DOMAIN-SUFFIX,binance.com,Proxy -- DOMAIN-SUFFIX,bitcointalk.org,Proxy -- DOMAIN-SUFFIX,bitfinex.com,Proxy -- DOMAIN-SUFFIX,bitmex.com,Proxy -- DOMAIN-SUFFIX,bit-z.com,Proxy -- DOMAIN-SUFFIX,bloglovin.com,Proxy -- DOMAIN-SUFFIX,bloomberg.cn,Proxy -- DOMAIN-SUFFIX,bloomberg.com,Proxy -- DOMAIN-SUFFIX,book.com.tw,Proxy -- DOMAIN-SUFFIX,booklive.jp,Proxy -- DOMAIN-SUFFIX,books.com.tw,Proxy -- DOMAIN-SUFFIX,box.com,Proxy -- DOMAIN-SUFFIX,brookings.edu,Proxy -- DOMAIN-SUFFIX,businessinsider.com,Proxy -- DOMAIN-SUFFIX,bwh1.net,Proxy -- DOMAIN-SUFFIX,castbox.fm,Proxy -- DOMAIN-SUFFIX,cbc.ca,Proxy -- DOMAIN-SUFFIX,cdw.com,Proxy -- DOMAIN-SUFFIX,change.org,Proxy -- DOMAIN-SUFFIX,ck101.com,Proxy -- DOMAIN-SUFFIX,clarionproject.org,Proxy -- DOMAIN-SUFFIX,clyp.it,Proxy -- DOMAIN-SUFFIX,cna.com.tw,Proxy -- DOMAIN-SUFFIX,comparitech.com,Proxy -- DOMAIN-SUFFIX,conoha.jp,Proxy -- DOMAIN-SUFFIX,crucial.com,Proxy -- DOMAIN-SUFFIX,cts.com.tw,Proxy -- DOMAIN-SUFFIX,cw.com.tw,Proxy -- DOMAIN-SUFFIX,cyberctm.com,Proxy -- DOMAIN-SUFFIX,dailymotion.com,Proxy -- DOMAIN-SUFFIX,dailyview.tw,Proxy -- DOMAIN-SUFFIX,daum.net,Proxy -- DOMAIN-SUFFIX,daumcdn.net,Proxy -- DOMAIN-SUFFIX,dcard.tw,Proxy -- DOMAIN-SUFFIX,deepdiscount.com,Proxy -- DOMAIN-SUFFIX,deezer.com,Proxy -- DOMAIN-SUFFIX,depositphotos.com,Proxy -- DOMAIN-SUFFIX,disconnect.me,Proxy -- DOMAIN-SUFFIX,discordapp.com,Proxy -- DOMAIN-SUFFIX,discordapp.net,Proxy -- DOMAIN-SUFFIX,disqus.com,Proxy -- DOMAIN-SUFFIX,dns2go.com,Proxy -- DOMAIN-SUFFIX,dropbox.com,Proxy -- DOMAIN-SUFFIX,dropboxusercontent.com,Proxy -- DOMAIN-SUFFIX,duckduckgo.com,Proxy -- DOMAIN-SUFFIX,dw.com,Proxy -- DOMAIN-SUFFIX,dynu.com,Proxy -- DOMAIN-SUFFIX,earthcam.com,Proxy -- DOMAIN-SUFFIX,ebookservice.tw,Proxy -- DOMAIN-SUFFIX,economist.com,Proxy -- DOMAIN-SUFFIX,edgecastcdn.net,Proxy -- DOMAIN-SUFFIX,edu,Proxy -- DOMAIN-SUFFIX,elpais.com,Proxy -- DOMAIN-SUFFIX,enanyang.my,Proxy -- DOMAIN-SUFFIX,euronews.com,Proxy -- DOMAIN-SUFFIX,feedly.com,Proxy -- DOMAIN-SUFFIX,files.wordpress.com,Proxy -- DOMAIN-SUFFIX,flickr.com,Proxy -- DOMAIN-SUFFIX,flitto.com,Proxy -- DOMAIN-SUFFIX,foreignpolicy.com,Proxy -- DOMAIN-SUFFIX,friday.tw,Proxy -- DOMAIN-SUFFIX,gate.io,Proxy -- DOMAIN-SUFFIX,getlantern.org,Proxy -- DOMAIN-SUFFIX,getsync.com,Proxy -- DOMAIN-SUFFIX,globalvoices.org,Proxy -- DOMAIN-SUFFIX,goo.ne.jp,Proxy -- DOMAIN-SUFFIX,goodreads.com,Proxy -- DOMAIN-SUFFIX,gov.tw,Proxy -- DOMAIN-SUFFIX,gumroad.com,Proxy -- DOMAIN-SUFFIX,hbg.com,Proxy -- DOMAIN-SUFFIX,hightail.com,Proxy -- DOMAIN-SUFFIX,hk01.com,Proxy -- DOMAIN-SUFFIX,hkbf.org,Proxy -- DOMAIN-SUFFIX,hkbookcity.com,Proxy -- DOMAIN-SUFFIX,hkej.com,Proxy -- DOMAIN-SUFFIX,hket.com,Proxy -- DOMAIN-SUFFIX,hkgolden.com,Proxy -- DOMAIN-SUFFIX,hootsuite.com,Proxy -- DOMAIN-SUFFIX,hudson.org,Proxy -- DOMAIN-SUFFIX,huobi.pro,Proxy -- DOMAIN-SUFFIX,initiummall.com,Proxy -- DOMAIN-SUFFIX,ipfs.io,Proxy -- DOMAIN-SUFFIX,issuu.com,Proxy -- DOMAIN-SUFFIX,japantimes.co.jp,Proxy -- DOMAIN-SUFFIX,jiji.com,Proxy -- DOMAIN-SUFFIX,jinx.com,Proxy -- DOMAIN-SUFFIX,jkforum.net,Proxy -- DOMAIN-SUFFIX,joinmastodon.org,Proxy -- DOMAIN-SUFFIX,kakao.com,Proxy -- DOMAIN-SUFFIX,lihkg.com,Proxy -- DOMAIN-SUFFIX,live.com,Proxy -- DOMAIN-SUFFIX,mail.ru,Proxy -- DOMAIN-SUFFIX,matters.news,Proxy -- DOMAIN-SUFFIX,medium.com,Proxy -- DOMAIN-SUFFIX,mega.nz,Proxy -- DOMAIN-SUFFIX,mil,Proxy -- DOMAIN-SUFFIX,mobile01.com,Proxy -- DOMAIN-SUFFIX,naver.com,Proxy -- DOMAIN-SUFFIX,nikkei.com,Proxy -- DOMAIN-SUFFIX,nofile.io,Proxy -- DOMAIN-SUFFIX,now.com,Proxy -- DOMAIN-SUFFIX,nyt.com,Proxy -- DOMAIN-SUFFIX,nytchina.com,Proxy -- DOMAIN-SUFFIX,nytcn.me,Proxy -- DOMAIN-SUFFIX,nytco.com,Proxy -- DOMAIN-SUFFIX,nytimes.com,Proxy -- DOMAIN-SUFFIX,nytimg.com,Proxy -- DOMAIN-SUFFIX,nytlog.com,Proxy -- DOMAIN-SUFFIX,nytstyle.com,Proxy -- DOMAIN-SUFFIX,ok.ru,Proxy -- DOMAIN-SUFFIX,okex.com,Proxy -- DOMAIN-SUFFIX,pcloud.com,Proxy -- DOMAIN-SUFFIX,pinimg.com,Proxy -- DOMAIN-SUFFIX,pixiv.net,Proxy -- DOMAIN-SUFFIX,pornhub.com,Proxy -- DOMAIN-SUFFIX,pureapk.com,Proxy -- DOMAIN-SUFFIX,quora.com,Proxy -- DOMAIN-SUFFIX,quoracdn.net,Proxy -- DOMAIN-SUFFIX,rakuten.co.jp,Proxy -- DOMAIN-SUFFIX,reddit.com,Proxy -- DOMAIN-SUFFIX,redditmedia.com,Proxy -- DOMAIN-SUFFIX,resilio.com,Proxy -- DOMAIN-SUFFIX,reuters.com,Proxy -- DOMAIN-SUFFIX,scmp.com,Proxy -- DOMAIN-SUFFIX,scribd.com,Proxy -- DOMAIN-SUFFIX,seatguru.com,Proxy -- DOMAIN-SUFFIX,shadowsocks.org,Proxy -- DOMAIN-SUFFIX,slideshare.net,Proxy -- DOMAIN-SUFFIX,soundcloud.com,Proxy -- DOMAIN-SUFFIX,startpage.com,Proxy -- DOMAIN-SUFFIX,steamcommunity.com,Proxy -- DOMAIN-SUFFIX,steemit.com,Proxy -- DOMAIN-SUFFIX,t66y.com,Proxy -- DOMAIN-SUFFIX,teco-hk.org,Proxy -- DOMAIN-SUFFIX,teco-mo.org,Proxy -- DOMAIN-SUFFIX,teddysun.com,Proxy -- DOMAIN-SUFFIX,theinitium.com,Proxy -- DOMAIN-SUFFIX,tineye.com,Proxy -- DOMAIN-SUFFIX,torproject.org,Proxy -- DOMAIN-SUFFIX,tumblr.com,Proxy -- DOMAIN-SUFFIX,turbobit.net,Proxy -- DOMAIN-SUFFIX,twitch.tv,Proxy -- DOMAIN-SUFFIX,udn.com,Proxy -- DOMAIN-SUFFIX,unseen.is,Proxy -- DOMAIN-SUFFIX,upmedia.mg,Proxy -- DOMAIN-SUFFIX,uptodown.com,Proxy -- DOMAIN-SUFFIX,ustream.tv,Proxy -- DOMAIN-SUFFIX,uwants.com,Proxy -- DOMAIN-SUFFIX,v2ray.com,Proxy -- DOMAIN-SUFFIX,viber.com,Proxy -- DOMAIN-SUFFIX,videopress.com,Proxy -- DOMAIN-SUFFIX,vimeo.com,Proxy -- DOMAIN-SUFFIX,voxer.com,Proxy -- DOMAIN-SUFFIX,vzw.com,Proxy -- DOMAIN-SUFFIX,w3schools.com,Proxy -- DOMAIN-SUFFIX,wattpad.com,Proxy -- DOMAIN-SUFFIX,whoer.net,Proxy -- DOMAIN-SUFFIX,wikimapia.org,Proxy -- DOMAIN-SUFFIX,wikipedia.org,Proxy -- DOMAIN-SUFFIX,wire.com,Proxy -- DOMAIN-SUFFIX,worldcat.org,Proxy -- DOMAIN-SUFFIX,wsj.com,Proxy -- DOMAIN-SUFFIX,wsj.net,Proxy -- DOMAIN-SUFFIX,xboxlive.com,Proxy -- DOMAIN-SUFFIX,xvideos.com,Proxy -- DOMAIN-SUFFIX,yahoo.com,Proxy -- DOMAIN-SUFFIX,yesasia.com,Proxy -- DOMAIN-SUFFIX,yes-news.com,Proxy -- DOMAIN-SUFFIX,yomiuri.co.jp,Proxy -- DOMAIN-SUFFIX,you-get.org,Proxy -- DOMAIN-SUFFIX,zb.com,Proxy -- DOMAIN-SUFFIX,zello.com,Proxy -- DOMAIN-SUFFIX,zeronet.io,Proxy -- DOMAIN,cdn-images.mailchimp.com,Proxy -- DOMAIN,id.heroku.com,Proxy -- DOMAIN-KEYWORD,github,Proxy -- DOMAIN-KEYWORD,jav,Proxy -- DOMAIN-KEYWORD,pinterest,Proxy -- DOMAIN-KEYWORD,porn,Proxy -- DOMAIN-KEYWORD,wikileaks,Proxy -- DOMAIN-SUFFIX,apartmentratings.com,Proxy -- DOMAIN-SUFFIX,apartments.com,Proxy -- DOMAIN-SUFFIX,bankmobilevibe.com,Proxy -- DOMAIN-SUFFIX,bing.com,Proxy -- DOMAIN-SUFFIX,booktopia.com.au,Proxy -- DOMAIN-SUFFIX,centauro.com.br,Proxy -- DOMAIN-SUFFIX,clearsurance.com,Proxy -- DOMAIN-SUFFIX,costco.com,Proxy -- DOMAIN-SUFFIX,crackle.com,Proxy -- DOMAIN-SUFFIX,depositphotos.cn,Proxy -- DOMAIN-SUFFIX,dish.com,Proxy -- DOMAIN-SUFFIX,dmm.co.jp,Proxy -- DOMAIN-SUFFIX,dmm.com,Proxy -- DOMAIN-SUFFIX,dnvod.tv,Proxy -- DOMAIN-SUFFIX,esurance.com,Proxy -- DOMAIN-SUFFIX,extmatrix.com,Proxy -- DOMAIN-SUFFIX,fastpic.ru,Proxy -- DOMAIN-SUFFIX,flipboard.com,Proxy -- DOMAIN-SUFFIX,fnac.be,Proxy -- DOMAIN-SUFFIX,fnac.com,Proxy -- DOMAIN-SUFFIX,funkyimg.com,Proxy -- DOMAIN-SUFFIX,fxnetworks.com,Proxy -- DOMAIN-SUFFIX,gettyimages.com,Proxy -- DOMAIN-SUFFIX,jcpenney.com,Proxy -- DOMAIN-SUFFIX,kknews.cc,Proxy -- DOMAIN-SUFFIX,nationwide.com,Proxy -- DOMAIN-SUFFIX,nbc.com,Proxy -- DOMAIN-SUFFIX,nordstrom.com,Proxy -- DOMAIN-SUFFIX,nordstromimage.com,Proxy -- DOMAIN-SUFFIX,nordstromrack.com,Proxy -- DOMAIN-SUFFIX,read01.com,Proxy -- DOMAIN-SUFFIX,superpages.com,Proxy -- DOMAIN-SUFFIX,target.com,Proxy -- DOMAIN-SUFFIX,thinkgeek.com,Proxy -- DOMAIN-SUFFIX,tracfone.com,Proxy -- DOMAIN-SUFFIX,uploader.jp,Proxy -- DOMAIN-SUFFIX,vevo.com,Proxy -- DOMAIN-SUFFIX,viu.tv,Proxy -- DOMAIN-SUFFIX,vk.com,Proxy -- DOMAIN-SUFFIX,vsco.co,Proxy -- DOMAIN-SUFFIX,xfinity.com,Proxy -- DOMAIN-SUFFIX,zattoo.com,Proxy -- DOMAIN,abc.com,Proxy -- DOMAIN,abc.go.com,Proxy -- DOMAIN,abc.net.au,Proxy -- DOMAIN,wego.here.com,Proxy -- DOMAIN-SUFFIX,appsto.re,Proxy -- DOMAIN,beta.itunes.apple.com,Proxy -- DOMAIN,books.itunes.apple.com,Proxy -- DOMAIN,hls.itunes.apple.com,Proxy -- DOMAIN,itunes.apple.com,Proxy -- DOMAIN,api-glb-sea.smoot.apple.com,Proxy -- DOMAIN,lookup-api.apple.com,Proxy -- DOMAIN-SUFFIX,abc.xyz,Proxy -- DOMAIN-SUFFIX,android.com,Proxy -- DOMAIN-SUFFIX,androidify.com,Proxy -- DOMAIN-SUFFIX,dialogflow.com,Proxy -- DOMAIN-SUFFIX,autodraw.com,Proxy -- DOMAIN-SUFFIX,capitalg.com,Proxy -- DOMAIN-SUFFIX,certificate-transparency.org,Proxy -- DOMAIN-SUFFIX,chrome.com,Proxy -- DOMAIN-SUFFIX,chromeexperiments.com,Proxy -- DOMAIN-SUFFIX,chromestatus.com,Proxy -- DOMAIN-SUFFIX,chromium.org,Proxy -- DOMAIN-SUFFIX,creativelab5.com,Proxy -- DOMAIN-SUFFIX,debug.com,Proxy -- DOMAIN-SUFFIX,deepmind.com,Proxy -- DOMAIN-SUFFIX,firebaseio.com,Proxy -- DOMAIN-SUFFIX,getmdl.io,Proxy -- DOMAIN-SUFFIX,ggpht.com,Proxy -- DOMAIN-SUFFIX,gmail.com,Proxy -- DOMAIN-SUFFIX,gmodules.com,Proxy -- DOMAIN-SUFFIX,godoc.org,Proxy -- DOMAIN-SUFFIX,golang.org,Proxy -- DOMAIN-SUFFIX,gstatic.com,Proxy -- DOMAIN-SUFFIX,gv.com,Proxy -- DOMAIN-SUFFIX,gwtproject.org,Proxy -- DOMAIN-SUFFIX,itasoftware.com,Proxy -- DOMAIN-SUFFIX,madewithcode.com,Proxy -- DOMAIN-SUFFIX,material.io,Proxy -- DOMAIN-SUFFIX,polymer-project.org,Proxy -- DOMAIN-SUFFIX,admin.recaptcha.net,Proxy -- DOMAIN-SUFFIX,recaptcha.net,Proxy -- DOMAIN-SUFFIX,shattered.io,Proxy -- DOMAIN-SUFFIX,synergyse.com,Proxy -- DOMAIN-SUFFIX,tensorflow.org,Proxy -- DOMAIN-SUFFIX,tiltbrush.com,Proxy -- DOMAIN-SUFFIX,waveprotocol.org,Proxy -- DOMAIN-SUFFIX,waymo.com,Proxy -- DOMAIN-SUFFIX,webmproject.org,Proxy -- DOMAIN-SUFFIX,webrtc.org,Proxy -- DOMAIN-SUFFIX,whatbrowser.org,Proxy -- DOMAIN-SUFFIX,widevine.com,Proxy -- DOMAIN-SUFFIX,x.company,Proxy -- DOMAIN-SUFFIX,youtu.be,Proxy -- DOMAIN-SUFFIX,yt.be,Proxy -- DOMAIN-SUFFIX,ytimg.com,Proxy -- DOMAIN,media.steampowered.com,Proxy -- DOMAIN,store.steampowered.com,Proxy -- DOMAIN-SUFFIX,0rz.tw,Proxy -- DOMAIN-SUFFIX,4bluestones.biz,Proxy -- DOMAIN-SUFFIX,9bis.net,Proxy -- DOMAIN-SUFFIX,allconnected.co,Proxy -- DOMAIN-SUFFIX,amazonaws.com,Proxy -- DOMAIN-SUFFIX,aol.com,Proxy -- DOMAIN-SUFFIX,bcc.com.tw,Proxy -- DOMAIN-SUFFIX,bit.ly,Proxy -- DOMAIN-SUFFIX,bitshare.com,Proxy -- DOMAIN-SUFFIX,blog.jp,Proxy -- DOMAIN-SUFFIX,blogimg.jp,Proxy -- DOMAIN-SUFFIX,blogtd.org,Proxy -- DOMAIN-SUFFIX,broadcast.co.nz,Proxy -- DOMAIN-SUFFIX,camfrog.com,Proxy -- DOMAIN-SUFFIX,cfos.de,Proxy -- DOMAIN-SUFFIX,citypopulation.de,Proxy -- DOMAIN-SUFFIX,cloudfront.net,Proxy -- DOMAIN-SUFFIX,ctitv.com.tw,Proxy -- DOMAIN-SUFFIX,cuhk.edu.hk,Proxy -- DOMAIN-SUFFIX,cusu.hk,Proxy -- DOMAIN-SUFFIX,discuss.com.hk,Proxy -- DOMAIN-SUFFIX,dropboxapi.com,Proxy -- DOMAIN-SUFFIX,edditstatic.com,Proxy -- DOMAIN-SUFFIX,flickriver.com,Proxy -- DOMAIN-SUFFIX,focustaiwan.tw,Proxy -- DOMAIN-SUFFIX,free.fr,Proxy -- DOMAIN-SUFFIX,ftchinese.com,Proxy -- DOMAIN-SUFFIX,gigacircle.com,Proxy -- DOMAIN-SUFFIX,gov,Proxy -- DOMAIN-SUFFIX,hk-pub.com,Proxy -- DOMAIN-SUFFIX,hosting.co.uk,Proxy -- DOMAIN-SUFFIX,hwcdn.net,Proxy -- DOMAIN-SUFFIX,jtvnw.net,Proxy -- DOMAIN-SUFFIX,linksalpha.com,Proxy -- DOMAIN-SUFFIX,manyvids.com,Proxy -- DOMAIN-SUFFIX,myactimes.com,Proxy -- DOMAIN-SUFFIX,newsblur.com,Proxy -- DOMAIN-SUFFIX,now.im,Proxy -- DOMAIN-SUFFIX,redditlist.com,Proxy -- DOMAIN-SUFFIX,signal.org,Proxy -- DOMAIN-SUFFIX,sparknotes.com,Proxy -- DOMAIN-SUFFIX,streetvoice.com,Proxy -- DOMAIN-SUFFIX,ttvnw.net,Proxy -- DOMAIN-SUFFIX,tv.com,Proxy -- DOMAIN-SUFFIX,twitchcdn.net,Proxy -- DOMAIN-SUFFIX,typepad.com,Proxy -- DOMAIN-SUFFIX,udnbkk.com,Proxy -- DOMAIN-SUFFIX,whispersystems.org,Proxy -- DOMAIN-SUFFIX,wikia.com,Proxy -- DOMAIN-SUFFIX,wn.com,Proxy -- DOMAIN-SUFFIX,wolframalpha.com,Proxy -- DOMAIN-SUFFIX,x-art.com,Proxy -- DOMAIN-SUFFIX,yimg.com,Proxy -- DOMAIN-KEYWORD,dlercloud,Proxy -- DOMAIN-SUFFIX,dler.cloud,Proxy +#USER-AGENT,NeteaseMusic*,DIRECT +#USER-AGENT,%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90*,DIRECT + +# (DNS Cache Pollution Protection) +# > Google +- DOMAIN-SUFFIX,appspot.com,🔑Proxy +- DOMAIN-SUFFIX,blogger.com,🔑Proxy +- DOMAIN-SUFFIX,getoutline.org,🔑Proxy +- DOMAIN-SUFFIX,gvt0.com,🔑Proxy +- DOMAIN-SUFFIX,gvt1.com,🔑Proxy +- DOMAIN-SUFFIX,gvt3.com,🔑Proxy +- DOMAIN-SUFFIX,xn--ngstr-lra8j.com,🔑Proxy +- DOMAIN-KEYWORD,google,🔑Proxy +- DOMAIN-KEYWORD,blogspot,🔑Proxy +# > Facebook +- DOMAIN-SUFFIX,cdninstagram.com,🔑Proxy +- DOMAIN-SUFFIX,fb.com,🔑Proxy +- DOMAIN-SUFFIX,fb.me,🔑Proxy +- DOMAIN-SUFFIX,fbaddins.com,🔑Proxy +- DOMAIN-SUFFIX,fbcdn.net,🔑Proxy +- DOMAIN-SUFFIX,fbsbx.com,🔑Proxy +- DOMAIN-SUFFIX,fbworkmail.com,🔑Proxy +- DOMAIN-SUFFIX,instagram.com,🔑Proxy +- DOMAIN-SUFFIX,m.me,🔑Proxy +- DOMAIN-SUFFIX,messenger.com,🔑Proxy +- DOMAIN-SUFFIX,oculus.com,🔑Proxy +- DOMAIN-SUFFIX,oculuscdn.com,🔑Proxy +- DOMAIN-SUFFIX,rocksdb.org,🔑Proxy +- DOMAIN-SUFFIX,whatsapp.com,🔑Proxy +- DOMAIN-SUFFIX,whatsapp.net,🔑Proxy +- DOMAIN-KEYWORD,facebook,🔑Proxy +# > Twitter +- DOMAIN-SUFFIX,pscp.tv,🔑Proxy +- DOMAIN-SUFFIX,periscope.tv,🔑Proxy +- DOMAIN-SUFFIX,t.co,🔑Proxy +- DOMAIN-SUFFIX,twimg.co,🔑Proxy +- DOMAIN-SUFFIX,twimg.com,🔑Proxy +- DOMAIN-SUFFIX,twitpic.com,🔑Proxy +- DOMAIN-SUFFIX,vine.co,🔑Proxy +- DOMAIN-KEYWORD,twitter,🔑Proxy +# > Telegram +- DOMAIN-SUFFIX,t.me,🔑Proxy +- DOMAIN-SUFFIX,tdesktop.com,🔑Proxy +- DOMAIN-SUFFIX,telegra.ph,🔑Proxy +- DOMAIN-SUFFIX,telegram.me,🔑Proxy +- DOMAIN-SUFFIX,telegram.org,🔑Proxy +# > Line +- DOMAIN-SUFFIX,line.me,🔑Proxy +- DOMAIN-SUFFIX,line-apps.com,🔑Proxy +- DOMAIN-SUFFIX,line-scdn.net,🔑Proxy +- DOMAIN-SUFFIX,naver.jp,🔑Proxy +# > Other +- DOMAIN-SUFFIX,4shared.com,🔑Proxy +- DOMAIN-SUFFIX,881903.com,🔑Proxy +- DOMAIN-SUFFIX,abc.net.au,🔑Proxy +- DOMAIN-SUFFIX,abebooks.com,🔑Proxy +- DOMAIN-SUFFIX,amazon.co.jp,🔑Proxy +- DOMAIN-SUFFIX,apigee.com,🔑Proxy +- DOMAIN-SUFFIX,apk-dl.com,🔑Proxy +- DOMAIN-SUFFIX,apkmirror.com,🔑Proxy +- DOMAIN-SUFFIX,apkmonk.com,🔑Proxy +- DOMAIN-SUFFIX,apkpure.com,🔑Proxy +- DOMAIN-SUFFIX,aptoide.com,🔑Proxy +- DOMAIN-SUFFIX,archive.is,🔑Proxy +- DOMAIN-SUFFIX,archive.org,🔑Proxy +- DOMAIN-SUFFIX,arte.tv,🔑Proxy +- DOMAIN-SUFFIX,ask.com,🔑Proxy +- DOMAIN-SUFFIX,avgle.com,🔑Proxy +- DOMAIN-SUFFIX,badoo.com,🔑Proxy +- DOMAIN-SUFFIX,bandwagonhost.com,🔑Proxy +- DOMAIN-SUFFIX,bbc.com,🔑Proxy +- DOMAIN-SUFFIX,behance.net,🔑Proxy +- DOMAIN-SUFFIX,bibox.com,🔑Proxy +- DOMAIN-SUFFIX,biggo.com.tw,🔑Proxy +- DOMAIN-SUFFIX,binance.com,🔑Proxy +- DOMAIN-SUFFIX,bitcointalk.org,🔑Proxy +- DOMAIN-SUFFIX,bitfinex.com,🔑Proxy +- DOMAIN-SUFFIX,bitmex.com,🔑Proxy +- DOMAIN-SUFFIX,bit-z.com,🔑Proxy +- DOMAIN-SUFFIX,bloglovin.com,🔑Proxy +- DOMAIN-SUFFIX,bloomberg.cn,🔑Proxy +- DOMAIN-SUFFIX,bloomberg.com,🔑Proxy +- DOMAIN-SUFFIX,book.com.tw,🔑Proxy +- DOMAIN-SUFFIX,booklive.jp,🔑Proxy +- DOMAIN-SUFFIX,books.com.tw,🔑Proxy +- DOMAIN-SUFFIX,box.com,🔑Proxy +- DOMAIN-SUFFIX,brookings.edu,🔑Proxy +- DOMAIN-SUFFIX,businessinsider.com,🔑Proxy +- DOMAIN-SUFFIX,bwh1.net,🔑Proxy +- DOMAIN-SUFFIX,castbox.fm,🔑Proxy +- DOMAIN-SUFFIX,cbc.ca,🔑Proxy +- DOMAIN-SUFFIX,cdw.com,🔑Proxy +- DOMAIN-SUFFIX,change.org,🔑Proxy +- DOMAIN-SUFFIX,ck101.com,🔑Proxy +- DOMAIN-SUFFIX,clarionproject.org,🔑Proxy +- DOMAIN-SUFFIX,clyp.it,🔑Proxy +- DOMAIN-SUFFIX,cna.com.tw,🔑Proxy +- DOMAIN-SUFFIX,comparitech.com,🔑Proxy +- DOMAIN-SUFFIX,conoha.jp,🔑Proxy +- DOMAIN-SUFFIX,crucial.com,🔑Proxy +- DOMAIN-SUFFIX,cts.com.tw,🔑Proxy +- DOMAIN-SUFFIX,cw.com.tw,🔑Proxy +- DOMAIN-SUFFIX,cyberctm.com,🔑Proxy +- DOMAIN-SUFFIX,dailymotion.com,🔑Proxy +- DOMAIN-SUFFIX,dailyview.tw,🔑Proxy +- DOMAIN-SUFFIX,daum.net,🔑Proxy +- DOMAIN-SUFFIX,daumcdn.net,🔑Proxy +- DOMAIN-SUFFIX,dcard.tw,🔑Proxy +- DOMAIN-SUFFIX,deepdiscount.com,🔑Proxy +- DOMAIN-SUFFIX,deezer.com,🔑Proxy +- DOMAIN-SUFFIX,depositphotos.com,🔑Proxy +- DOMAIN-SUFFIX,disconnect.me,🔑Proxy +- DOMAIN-SUFFIX,discordapp.com,🔑Proxy +- DOMAIN-SUFFIX,discordapp.net,🔑Proxy +- DOMAIN-SUFFIX,disqus.com,🔑Proxy +- DOMAIN-SUFFIX,dns2go.com,🔑Proxy +- DOMAIN-SUFFIX,dropbox.com,🔑Proxy +- DOMAIN-SUFFIX,dropboxusercontent.com,🔑Proxy +- DOMAIN-SUFFIX,duckduckgo.com,🔑Proxy +- DOMAIN-SUFFIX,dw.com,🔑Proxy +- DOMAIN-SUFFIX,dynu.com,🔑Proxy +- DOMAIN-SUFFIX,earthcam.com,🔑Proxy +- DOMAIN-SUFFIX,ebookservice.tw,🔑Proxy +- DOMAIN-SUFFIX,economist.com,🔑Proxy +- DOMAIN-SUFFIX,edgecastcdn.net,🔑Proxy +- DOMAIN-SUFFIX,edu,🔑Proxy +- DOMAIN-SUFFIX,elpais.com,🔑Proxy +- DOMAIN-SUFFIX,enanyang.my,🔑Proxy +- DOMAIN-SUFFIX,euronews.com,🔑Proxy +- DOMAIN-SUFFIX,feedly.com,🔑Proxy +- DOMAIN-SUFFIX,files.wordpress.com,🔑Proxy +- DOMAIN-SUFFIX,flickr.com,🔑Proxy +- DOMAIN-SUFFIX,flitto.com,🔑Proxy +- DOMAIN-SUFFIX,foreignpolicy.com,🔑Proxy +- DOMAIN-SUFFIX,friday.tw,🔑Proxy +- DOMAIN-SUFFIX,gate.io,🔑Proxy +- DOMAIN-SUFFIX,getlantern.org,🔑Proxy +- DOMAIN-SUFFIX,getsync.com,🔑Proxy +- DOMAIN-SUFFIX,globalvoices.org,🔑Proxy +- DOMAIN-SUFFIX,goo.ne.jp,🔑Proxy +- DOMAIN-SUFFIX,goodreads.com,🔑Proxy +- DOMAIN-SUFFIX,gov.tw,🔑Proxy +- DOMAIN-SUFFIX,gumroad.com,🔑Proxy +- DOMAIN-SUFFIX,hbg.com,🔑Proxy +- DOMAIN-SUFFIX,hightail.com,🔑Proxy +- DOMAIN-SUFFIX,hk01.com,🔑Proxy +- DOMAIN-SUFFIX,hkbf.org,🔑Proxy +- DOMAIN-SUFFIX,hkbookcity.com,🔑Proxy +- DOMAIN-SUFFIX,hkej.com,🔑Proxy +- DOMAIN-SUFFIX,hket.com,🔑Proxy +- DOMAIN-SUFFIX,hkgolden.com,🔑Proxy +- DOMAIN-SUFFIX,hootsuite.com,🔑Proxy +- DOMAIN-SUFFIX,hudson.org,🔑Proxy +- DOMAIN-SUFFIX,huobi.pro,🔑Proxy +- DOMAIN-SUFFIX,initiummall.com,🔑Proxy +- DOMAIN-SUFFIX,ipfs.io,🔑Proxy +- DOMAIN-SUFFIX,issuu.com,🔑Proxy +- DOMAIN-SUFFIX,japantimes.co.jp,🔑Proxy +- DOMAIN-SUFFIX,jiji.com,🔑Proxy +- DOMAIN-SUFFIX,jinx.com,🔑Proxy +- DOMAIN-SUFFIX,jkforum.net,🔑Proxy +- DOMAIN-SUFFIX,joinmastodon.org,🔑Proxy +- DOMAIN-SUFFIX,kakao.com,🔑Proxy +- DOMAIN-SUFFIX,lihkg.com,🔑Proxy +- DOMAIN-SUFFIX,live.com,🔑Proxy +- DOMAIN-SUFFIX,mail.ru,🔑Proxy +- DOMAIN-SUFFIX,matters.news,🔑Proxy +- DOMAIN-SUFFIX,medium.com,🔑Proxy +- DOMAIN-SUFFIX,mega.nz,🔑Proxy +- DOMAIN-SUFFIX,mil,🔑Proxy +- DOMAIN-SUFFIX,mobile01.com,🔑Proxy +- DOMAIN-SUFFIX,naver.com,🔑Proxy +- DOMAIN-SUFFIX,nikkei.com,🔑Proxy +- DOMAIN-SUFFIX,nofile.io,🔑Proxy +- DOMAIN-SUFFIX,now.com,🔑Proxy +- DOMAIN-SUFFIX,nyt.com,🔑Proxy +- DOMAIN-SUFFIX,nytchina.com,🔑Proxy +- DOMAIN-SUFFIX,nytcn.me,🔑Proxy +- DOMAIN-SUFFIX,nytco.com,🔑Proxy +- DOMAIN-SUFFIX,nytimes.com,🔑Proxy +- DOMAIN-SUFFIX,nytimg.com,🔑Proxy +- DOMAIN-SUFFIX,nytlog.com,🔑Proxy +- DOMAIN-SUFFIX,nytstyle.com,🔑Proxy +- DOMAIN-SUFFIX,ok.ru,🔑Proxy +- DOMAIN-SUFFIX,okex.com,🔑Proxy +- DOMAIN-SUFFIX,pcloud.com,🔑Proxy +- DOMAIN-SUFFIX,pinimg.com,🔑Proxy +- DOMAIN-SUFFIX,pixiv.net,🔑Proxy +- DOMAIN-SUFFIX,pornhub.com,🔑Proxy +- DOMAIN-SUFFIX,pureapk.com,🔑Proxy +- DOMAIN-SUFFIX,quora.com,🔑Proxy +- DOMAIN-SUFFIX,quoracdn.net,🔑Proxy +- DOMAIN-SUFFIX,rakuten.co.jp,🔑Proxy +- DOMAIN-SUFFIX,reddit.com,🔑Proxy +- DOMAIN-SUFFIX,redditmedia.com,🔑Proxy +- DOMAIN-SUFFIX,resilio.com,🔑Proxy +- DOMAIN-SUFFIX,reuters.com,🔑Proxy +- DOMAIN-SUFFIX,scmp.com,🔑Proxy +- DOMAIN-SUFFIX,scribd.com,🔑Proxy +- DOMAIN-SUFFIX,seatguru.com,🔑Proxy +- DOMAIN-SUFFIX,shadowsocks.org,🔑Proxy +- DOMAIN-SUFFIX,slideshare.net,🔑Proxy +- DOMAIN-SUFFIX,soundcloud.com,🔑Proxy +- DOMAIN-SUFFIX,startpage.com,🔑Proxy +- DOMAIN-SUFFIX,steamcommunity.com,🔑Proxy +- DOMAIN-SUFFIX,steemit.com,🔑Proxy +- DOMAIN-SUFFIX,t66y.com,🔑Proxy +- DOMAIN-SUFFIX,teco-hk.org,🔑Proxy +- DOMAIN-SUFFIX,teco-mo.org,🔑Proxy +- DOMAIN-SUFFIX,teddysun.com,🔑Proxy +- DOMAIN-SUFFIX,theinitium.com,🔑Proxy +- DOMAIN-SUFFIX,tineye.com,🔑Proxy +- DOMAIN-SUFFIX,torproject.org,🔑Proxy +- DOMAIN-SUFFIX,tumblr.com,🔑Proxy +- DOMAIN-SUFFIX,turbobit.net,🔑Proxy +- DOMAIN-SUFFIX,twitch.tv,🔑Proxy +- DOMAIN-SUFFIX,udn.com,🔑Proxy +- DOMAIN-SUFFIX,unseen.is,🔑Proxy +- DOMAIN-SUFFIX,upmedia.mg,🔑Proxy +- DOMAIN-SUFFIX,uptodown.com,🔑Proxy +- DOMAIN-SUFFIX,ustream.tv,🔑Proxy +- DOMAIN-SUFFIX,uwants.com,🔑Proxy +- DOMAIN-SUFFIX,v2ray.com,🔑Proxy +- DOMAIN-SUFFIX,viber.com,🔑Proxy +- DOMAIN-SUFFIX,videopress.com,🔑Proxy +- DOMAIN-SUFFIX,vimeo.com,🔑Proxy +- DOMAIN-SUFFIX,voxer.com,🔑Proxy +- DOMAIN-SUFFIX,vzw.com,🔑Proxy +- DOMAIN-SUFFIX,w3schools.com,🔑Proxy +- DOMAIN-SUFFIX,wattpad.com,🔑Proxy +- DOMAIN-SUFFIX,whoer.net,🔑Proxy +- DOMAIN-SUFFIX,wikimapia.org,🔑Proxy +- DOMAIN-SUFFIX,wikipedia.org,🔑Proxy +- DOMAIN-SUFFIX,wire.com,🔑Proxy +- DOMAIN-SUFFIX,worldcat.org,🔑Proxy +- DOMAIN-SUFFIX,wsj.com,🔑Proxy +- DOMAIN-SUFFIX,wsj.net,🔑Proxy +- DOMAIN-SUFFIX,xboxlive.com,🔑Proxy +- DOMAIN-SUFFIX,xvideos.com,🔑Proxy +- DOMAIN-SUFFIX,yahoo.com,🔑Proxy +- DOMAIN-SUFFIX,yesasia.com,🔑Proxy +- DOMAIN-SUFFIX,yes-news.com,🔑Proxy +- DOMAIN-SUFFIX,yomiuri.co.jp,🔑Proxy +- DOMAIN-SUFFIX,you-get.org,🔑Proxy +- DOMAIN-SUFFIX,zb.com,🔑Proxy +- DOMAIN-SUFFIX,zello.com,🔑Proxy +- DOMAIN-SUFFIX,zeronet.io,🔑Proxy +- DOMAIN,cdn-images.mailchimp.com,🔑Proxy +- DOMAIN,id.heroku.com,🔑Proxy +- DOMAIN-KEYWORD,github,🔑Proxy +- DOMAIN-KEYWORD,jav,🔑Proxy +- DOMAIN-KEYWORD,pinterest,🔑Proxy +- DOMAIN-KEYWORD,porn,🔑Proxy +- DOMAIN-KEYWORD,wikileaks,🔑Proxy + +# (Region-Restricted Access Denied) +- DOMAIN-SUFFIX,apartmentratings.com,🔑Proxy +- DOMAIN-SUFFIX,apartments.com,🔑Proxy +- DOMAIN-SUFFIX,bankmobilevibe.com,🔑Proxy +- DOMAIN-SUFFIX,bing.com,🔑Proxy +- DOMAIN-SUFFIX,booktopia.com.au,🔑Proxy +- DOMAIN-SUFFIX,centauro.com.br,🔑Proxy +- DOMAIN-SUFFIX,clearsurance.com,🔑Proxy +- DOMAIN-SUFFIX,costco.com,🔑Proxy +- DOMAIN-SUFFIX,crackle.com,🔑Proxy +- DOMAIN-SUFFIX,depositphotos.cn,🔑Proxy +- DOMAIN-SUFFIX,dish.com,🔑Proxy +- DOMAIN-SUFFIX,dmm.co.jp,🔑Proxy +- DOMAIN-SUFFIX,dmm.com,🔑Proxy +- DOMAIN-SUFFIX,dnvod.tv,🔑Proxy +- DOMAIN-SUFFIX,esurance.com,🔑Proxy +- DOMAIN-SUFFIX,extmatrix.com,🔑Proxy +- DOMAIN-SUFFIX,fastpic.ru,🔑Proxy +- DOMAIN-SUFFIX,flipboard.com,🔑Proxy +- DOMAIN-SUFFIX,fnac.be,🔑Proxy +- DOMAIN-SUFFIX,fnac.com,🔑Proxy +- DOMAIN-SUFFIX,funkyimg.com,🔑Proxy +- DOMAIN-SUFFIX,fxnetworks.com,🔑Proxy +- DOMAIN-SUFFIX,gettyimages.com,🔑Proxy +- DOMAIN-SUFFIX,jcpenney.com,🔑Proxy +- DOMAIN-SUFFIX,kknews.cc,🔑Proxy +- DOMAIN-SUFFIX,nationwide.com,🔑Proxy +- DOMAIN-SUFFIX,nbc.com,🔑Proxy +- DOMAIN-SUFFIX,nordstrom.com,🔑Proxy +- DOMAIN-SUFFIX,nordstromimage.com,🔑Proxy +- DOMAIN-SUFFIX,nordstromrack.com,🔑Proxy +- DOMAIN-SUFFIX,read01.com,🔑Proxy +- DOMAIN-SUFFIX,superpages.com,🔑Proxy +- DOMAIN-SUFFIX,target.com,🔑Proxy +- DOMAIN-SUFFIX,thinkgeek.com,🔑Proxy +- DOMAIN-SUFFIX,tracfone.com,🔑Proxy +- DOMAIN-SUFFIX,uploader.jp,🔑Proxy +- DOMAIN-SUFFIX,vevo.com,🔑Proxy +- DOMAIN-SUFFIX,viu.tv,🔑Proxy +- DOMAIN-SUFFIX,vk.com,🔑Proxy +- DOMAIN-SUFFIX,vsco.co,🔑Proxy +- DOMAIN-SUFFIX,xfinity.com,🔑Proxy +- DOMAIN-SUFFIX,zattoo.com,🔑Proxy +- DOMAIN,abc.com,🔑Proxy +- DOMAIN,abc.go.com,🔑Proxy +- DOMAIN,abc.net.au,🔑Proxy +- DOMAIN,wego.here.com,🔑Proxy +#USER-AGENT,Roam*,🔑Proxy + +# (The Most Popular Sites) +# > Apple +# > Apple URL Shortener +- DOMAIN-SUFFIX,appsto.re,🔑Proxy +# > TestFlight +- DOMAIN,beta.itunes.apple.com,🔑Proxy +# > iBooks Store download +- DOMAIN,books.itunes.apple.com,🔑Proxy +# > iTunes Store Moveis Trailers +- DOMAIN,hls.itunes.apple.com,🔑Proxy +# App Store Preview +- DOMAIN,itunes.apple.com,🔑Proxy +# > Spotlight +- DOMAIN,api-glb-sea.smoot.apple.com,🔑Proxy +# > Dictionary +- DOMAIN,lookup-api.apple.com,🔑Proxy +#PROCESS-NAME,LookupViewService,🔑Proxy +# > Google +- DOMAIN-SUFFIX,abc.xyz,🔑Proxy +- DOMAIN-SUFFIX,android.com,🔑Proxy +- DOMAIN-SUFFIX,androidify.com,🔑Proxy +- DOMAIN-SUFFIX,dialogflow.com,🔑Proxy +- DOMAIN-SUFFIX,autodraw.com,🔑Proxy +- DOMAIN-SUFFIX,capitalg.com,🔑Proxy +- DOMAIN-SUFFIX,certificate-transparency.org,🔑Proxy +- DOMAIN-SUFFIX,chrome.com,🔑Proxy +- DOMAIN-SUFFIX,chromeexperiments.com,🔑Proxy +- DOMAIN-SUFFIX,chromestatus.com,🔑Proxy +- DOMAIN-SUFFIX,chromium.org,🔑Proxy +- DOMAIN-SUFFIX,creativelab5.com,🔑Proxy +- DOMAIN-SUFFIX,debug.com,🔑Proxy +- DOMAIN-SUFFIX,deepmind.com,🔑Proxy +- DOMAIN-SUFFIX,firebaseio.com,🔑Proxy +- DOMAIN-SUFFIX,getmdl.io,🔑Proxy +- DOMAIN-SUFFIX,ggpht.com,🔑Proxy +- DOMAIN-SUFFIX,gmail.com,🔑Proxy +- DOMAIN-SUFFIX,gmodules.com,🔑Proxy +- DOMAIN-SUFFIX,godoc.org,🔑Proxy +- DOMAIN-SUFFIX,golang.org,🔑Proxy +- DOMAIN-SUFFIX,gstatic.com,🔑Proxy +- DOMAIN-SUFFIX,gv.com,🔑Proxy +- DOMAIN-SUFFIX,gwtproject.org,🔑Proxy +- DOMAIN-SUFFIX,itasoftware.com,🔑Proxy +- DOMAIN-SUFFIX,madewithcode.com,🔑Proxy +- DOMAIN-SUFFIX,material.io,🔑Proxy +- DOMAIN-SUFFIX,polymer-project.org,🔑Proxy +- DOMAIN-SUFFIX,admin.recaptcha.net,🔑Proxy +- DOMAIN-SUFFIX,recaptcha.net,🔑Proxy +- DOMAIN-SUFFIX,shattered.io,🔑Proxy +- DOMAIN-SUFFIX,synergyse.com,🔑Proxy +- DOMAIN-SUFFIX,tensorflow.org,🔑Proxy +- DOMAIN-SUFFIX,tiltbrush.com,🔑Proxy +- DOMAIN-SUFFIX,waveprotocol.org,🔑Proxy +- DOMAIN-SUFFIX,waymo.com,🔑Proxy +- DOMAIN-SUFFIX,webmproject.org,🔑Proxy +- DOMAIN-SUFFIX,webrtc.org,🔑Proxy +- DOMAIN-SUFFIX,whatbrowser.org,🔑Proxy +- DOMAIN-SUFFIX,widevine.com,🔑Proxy +- DOMAIN-SUFFIX,x.company,🔑Proxy +- DOMAIN-SUFFIX,youtu.be,🔑Proxy +- DOMAIN-SUFFIX,yt.be,🔑Proxy +- DOMAIN-SUFFIX,ytimg.com,🔑Proxy +# > Steam +- DOMAIN,media.steampowered.com,🔑Proxy +- DOMAIN,store.steampowered.com,🔑Proxy +# > Other +- DOMAIN-SUFFIX,0rz.tw,🔑Proxy +- DOMAIN-SUFFIX,4bluestones.biz,🔑Proxy +- DOMAIN-SUFFIX,9bis.net,🔑Proxy +- DOMAIN-SUFFIX,allconnected.co,🔑Proxy +- DOMAIN-SUFFIX,amazonaws.com,🔑Proxy +- DOMAIN-SUFFIX,aol.com,🔑Proxy +- DOMAIN-SUFFIX,bcc.com.tw,🔑Proxy +- DOMAIN-SUFFIX,bit.ly,🔑Proxy +- DOMAIN-SUFFIX,bitshare.com,🔑Proxy +- DOMAIN-SUFFIX,blog.jp,🔑Proxy +- DOMAIN-SUFFIX,blogimg.jp,🔑Proxy +- DOMAIN-SUFFIX,blogtd.org,🔑Proxy +- DOMAIN-SUFFIX,broadcast.co.nz,🔑Proxy +- DOMAIN-SUFFIX,camfrog.com,🔑Proxy +- DOMAIN-SUFFIX,cfos.de,🔑Proxy +- DOMAIN-SUFFIX,citypopulation.de,🔑Proxy +- DOMAIN-SUFFIX,cloudfront.net,🔑Proxy +- DOMAIN-SUFFIX,ctitv.com.tw,🔑Proxy +- DOMAIN-SUFFIX,cuhk.edu.hk,🔑Proxy +- DOMAIN-SUFFIX,cusu.hk,🔑Proxy +- DOMAIN-SUFFIX,discuss.com.hk,🔑Proxy +- DOMAIN-SUFFIX,dropboxapi.com,🔑Proxy +- DOMAIN-SUFFIX,edditstatic.com,🔑Proxy +- DOMAIN-SUFFIX,flickriver.com,🔑Proxy +- DOMAIN-SUFFIX,focustaiwan.tw,🔑Proxy +- DOMAIN-SUFFIX,free.fr,🔑Proxy +- DOMAIN-SUFFIX,ftchinese.com,🔑Proxy +- DOMAIN-SUFFIX,gigacircle.com,🔑Proxy +- DOMAIN-SUFFIX,gov,🔑Proxy +- DOMAIN-SUFFIX,hk-pub.com,🔑Proxy +- DOMAIN-SUFFIX,hosting.co.uk,🔑Proxy +- DOMAIN-SUFFIX,hwcdn.net,🔑Proxy +- DOMAIN-SUFFIX,jtvnw.net,🔑Proxy +- DOMAIN-SUFFIX,linksalpha.com,🔑Proxy +- DOMAIN-SUFFIX,manyvids.com,🔑Proxy +- DOMAIN-SUFFIX,myactimes.com,🔑Proxy +- DOMAIN-SUFFIX,newsblur.com,🔑Proxy +- DOMAIN-SUFFIX,now.im,🔑Proxy +- DOMAIN-SUFFIX,redditlist.com,🔑Proxy +- DOMAIN-SUFFIX,signal.org,🔑Proxy +- DOMAIN-SUFFIX,sparknotes.com,🔑Proxy +- DOMAIN-SUFFIX,streetvoice.com,🔑Proxy +- DOMAIN-SUFFIX,ttvnw.net,🔑Proxy +- DOMAIN-SUFFIX,tv.com,🔑Proxy +- DOMAIN-SUFFIX,twitchcdn.net,🔑Proxy +- DOMAIN-SUFFIX,typepad.com,🔑Proxy +- DOMAIN-SUFFIX,udnbkk.com,🔑Proxy +- DOMAIN-SUFFIX,whispersystems.org,🔑Proxy +- DOMAIN-SUFFIX,wikia.com,🔑Proxy +- DOMAIN-SUFFIX,wn.com,🔑Proxy +- DOMAIN-SUFFIX,wolframalpha.com,🔑Proxy +- DOMAIN-SUFFIX,x-art.com,🔑Proxy +- DOMAIN-SUFFIX,yimg.com,🔑Proxy + +- DOMAIN-KEYWORD,dlercloud,🔑Proxy +- DOMAIN-SUFFIX,dler.cloud,🔑Proxy + +# Local Area Network - DOMAIN-KEYWORD,announce,DIRECT - DOMAIN-KEYWORD,torrent,DIRECT - DOMAIN-KEYWORD,tracker,DIRECT @@ -1731,93 +1387,131 @@ Rule: - IP-CIDR,172.16.0.0/12,DIRECT - IP-CIDR,127.0.0.0/8,DIRECT - IP-CIDR,100.64.0.0/10,DIRECT -- IP-CIDR,101.227.0.0/16,AsianTV -- IP-CIDR,101.224.0.0/13,AsianTV -- IP-CIDR,119.176.0.0/12,AsianTV -- IP-CIDR,106.11.0.0/16,AsianTV -- IP-CIDR,101.227.97.240/32,AdBlock -- IP-CIDR,101.227.200.11/32,AdBlock -- IP-CIDR,101.227.200.28/32,AdBlock -- IP-CIDR,124.192.153.42/32,AdBlock -- IP-CIDR,39.107.15.115/32,AdBlock -- IP-CIDR,47.89.59.182/32,AdBlock -- IP-CIDR,103.49.209.27/32,AdBlock -- IP-CIDR,123.56.152.96/32,AdBlock -- IP-CIDR,61.160.200.223/32,AdBlock -- IP-CIDR,61.160.200.242/32,AdBlock -- IP-CIDR,61.160.200.252/32,AdBlock -- IP-CIDR,61.174.50.214/32,AdBlock -- IP-CIDR,111.175.220.163/32,AdBlock -- IP-CIDR,111.175.220.164/32,AdBlock -- IP-CIDR,124.232.160.178/32,AdBlock -- IP-CIDR,175.6.223.15/32,AdBlock -- IP-CIDR,183.59.53.237/32,AdBlock -- IP-CIDR,218.93.127.37/32,AdBlock -- IP-CIDR,221.228.17.152/32,AdBlock -- IP-CIDR,221.231.6.79/32,AdBlock -- IP-CIDR,222.186.61.91/32,AdBlock -- IP-CIDR,222.186.61.95/32,AdBlock -- IP-CIDR,222.186.61.96/32,AdBlock -- IP-CIDR,222.186.61.97/32,AdBlock -- IP-CIDR,106.75.231.48/32,AdBlock -- IP-CIDR,119.4.249.166/32,AdBlock -- IP-CIDR,220.196.52.141/32,AdBlock -- IP-CIDR,221.6.4.148/32,AdBlock -- IP-CIDR,114.247.28.96/32,AdBlock -- IP-CIDR,221.179.131.72/32,AdBlock -- IP-CIDR,221.179.140.145/32,AdBlock -- IP-CIDR,10.72.25.0/24,AdBlock -- IP-CIDR,115.182.16.79/32,AdBlock -- IP-CIDR,118.144.88.126/32,AdBlock -- IP-CIDR,118.144.88.215/32,AdBlock -- IP-CIDR,120.76.189.132/32,AdBlock -- IP-CIDR,124.14.21.147/32,AdBlock -- IP-CIDR,124.14.21.151/32,AdBlock -- IP-CIDR,180.166.52.24/32,AdBlock -- IP-CIDR,211.161.101.106/32,AdBlock -- IP-CIDR,220.115.251.25/32,AdBlock -- IP-CIDR,222.73.156.235/32,AdBlock -- IP-CIDR,91.108.4.0/22,Proxy -- IP-CIDR,91.108.8.0/22,Proxy -- IP-CIDR,91.108.12.0/22,Proxy -- IP-CIDR,91.108.16.0/22,Proxy -- IP-CIDR,91.108.56.0/22,Proxy -- IP-CIDR,149.154.160.0/20,Proxy -- IP-CIDR,35.190.247.0/24,Proxy -- IP-CIDR,64.233.160.0/19,Proxy -- IP-CIDR,66.102.0.0/20,Proxy -- IP-CIDR,66.249.80.0/20,Proxy -- IP-CIDR,72.14.192.0/18,Proxy -- IP-CIDR,74.125.0.0/16,Proxy -- IP-CIDR,108.177.8.0/21,Proxy -- IP-CIDR,172.217.0.0/16,Proxy -- IP-CIDR,173.194.0.0/16,Proxy -- IP-CIDR,209.85.128.0/17,Proxy -- IP-CIDR,216.58.192.0/19,Proxy -- IP-CIDR,216.239.32.0/19,Proxy -- IP-CIDR,31.13.24.0/21,Proxy -- IP-CIDR,31.13.64.0/18,Proxy -- IP-CIDR,45.64.40.0/22,Proxy -- IP-CIDR,66.220.144.0/20,Proxy -- IP-CIDR,69.63.176.0/20,Proxy -- IP-CIDR,69.171.224.0/19,Proxy -- IP-CIDR,74.119.76.0/22,Proxy -- IP-CIDR,103.4.96.0/22,Proxy -- IP-CIDR,129.134.0.0/17,Proxy -- IP-CIDR,157.240.0.0/17,Proxy -- IP-CIDR,173.252.64.0/19,Proxy -- IP-CIDR,173.252.96.0/19,Proxy -- IP-CIDR,179.60.192.0/22,Proxy -- IP-CIDR,185.60.216.0/22,Proxy -- IP-CIDR,204.15.20.0/22,Proxy -- IP-CIDR,69.195.160.0/19,Proxy -- IP-CIDR,104.244.42.0/21,Proxy -- IP-CIDR,192.133.76.0/22,Proxy -- IP-CIDR,199.16.156.0/22,Proxy -- IP-CIDR,199.59.148.0/22,Proxy -- IP-CIDR,199.96.56.0/21,Proxy -- IP-CIDR,202.160.128.0/22,Proxy -- IP-CIDR,209.237.192.0/19,Proxy -- GEOIP,CN,DIRECT -- MATCH,Proxy +# (🖥️AsianTV) +# > Bilibili +- DOMAIN-KEYWORD,bilibili,🖥️AsianTV +- DOMAIN-SUFFIX,acg.tv,🖥️AsianTV +- DOMAIN-SUFFIX,acgvideo.com,🖥️AsianTV +- DOMAIN-SUFFIX,b23.tv,🖥️AsianTV +- DOMAIN-SUFFIX,biliapi.com,🖥️AsianTV +- DOMAIN-SUFFIX,biliapi.net,🖥️AsianTV +- DOMAIN-SUFFIX,bilibili.com,🖥️AsianTV +- DOMAIN-SUFFIX,biligame.com,🖥️AsianTV +- DOMAIN-SUFFIX,biligame.net,🖥️AsianTV +- DOMAIN-SUFFIX,hdslb.com,🖥️AsianTV +- DOMAIN-SUFFIX,im9.com,🖥️AsianTV + +# > IQIYI +- IP-CIDR,101.227.0.0/16,🖥️AsianTV +- IP-CIDR,101.224.0.0/13,🖥️AsianTV +- IP-CIDR,119.176.0.0/12,🖥️AsianTV + +# > Youku +- IP-CIDR,106.11.0.0/16,🖥️AsianTV + +# > iQiyi +- IP-CIDR,101.227.97.240/32,❌AdBlock +- IP-CIDR,101.227.200.11/32,❌AdBlock +- IP-CIDR,101.227.200.28/32,❌AdBlock +- IP-CIDR,124.192.153.42/32,❌AdBlock + +# Internet Service Provider ❌AdBlock Protection +- IP-CIDR,39.107.15.115/32,❌AdBlock +- IP-CIDR,47.89.59.182/32,❌AdBlock +- IP-CIDR,103.49.209.27/32,❌AdBlock +- IP-CIDR,123.56.152.96/32,❌AdBlock +# > ChinaNet +- IP-CIDR,61.160.200.223/32,❌AdBlock +- IP-CIDR,61.160.200.242/32,❌AdBlock +- IP-CIDR,61.160.200.252/32,❌AdBlock +- IP-CIDR,61.174.50.214/32,❌AdBlock +- IP-CIDR,111.175.220.163/32,❌AdBlock +- IP-CIDR,111.175.220.164/32,❌AdBlock +- IP-CIDR,124.232.160.178/32,❌AdBlock +- IP-CIDR,175.6.223.15/32,❌AdBlock +- IP-CIDR,183.59.53.237/32,❌AdBlock +- IP-CIDR,218.93.127.37/32,❌AdBlock +- IP-CIDR,221.228.17.152/32,❌AdBlock +- IP-CIDR,221.231.6.79/32,❌AdBlock +- IP-CIDR,222.186.61.91/32,❌AdBlock +- IP-CIDR,222.186.61.95/32,❌AdBlock +- IP-CIDR,222.186.61.96/32,❌AdBlock +- IP-CIDR,222.186.61.97/32,❌AdBlock +# > ChinaUnicom +- IP-CIDR,106.75.231.48/32,❌AdBlock +- IP-CIDR,119.4.249.166/32,❌AdBlock +- IP-CIDR,220.196.52.141/32,❌AdBlock +- IP-CIDR,221.6.4.148/32,❌AdBlock +# > ChinaMobile +- IP-CIDR,114.247.28.96/32,❌AdBlock +- IP-CIDR,221.179.131.72/32,❌AdBlock +- IP-CIDR,221.179.140.145/32,❌AdBlock +# > Dr.Peng +- IP-CIDR,10.72.25.0/24,❌AdBlock +- IP-CIDR,115.182.16.79/32,❌AdBlock +- IP-CIDR,118.144.88.126/32,❌AdBlock +- IP-CIDR,118.144.88.215/32,❌AdBlock +- IP-CIDR,120.76.189.132/32,❌AdBlock +- IP-CIDR,124.14.21.147/32,❌AdBlock +- IP-CIDR,124.14.21.151/32,❌AdBlock +- IP-CIDR,180.166.52.24/32,❌AdBlock +- IP-CIDR,211.161.101.106/32,❌AdBlock +- IP-CIDR,220.115.251.25/32,❌AdBlock +- IP-CIDR,222.73.156.235/32,❌AdBlock + +# > Telegram +- IP-CIDR,91.108.4.0/22,🔑Proxy +- IP-CIDR,91.108.8.0/22,🔑Proxy +- IP-CIDR,91.108.12.0/22,🔑Proxy +- IP-CIDR,91.108.16.0/22,🔑Proxy +- IP-CIDR,91.108.56.0/22,🔑Proxy +- IP-CIDR,149.154.160.0/20,🔑Proxy + +# (Extra IP-CIRD) +# > Google +- IP-CIDR,35.190.247.0/24,🔑Proxy +- IP-CIDR,64.233.160.0/19,🔑Proxy +- IP-CIDR,66.102.0.0/20,🔑Proxy +- IP-CIDR,66.249.80.0/20,🔑Proxy +- IP-CIDR,72.14.192.0/18,🔑Proxy +- IP-CIDR,74.125.0.0/16,🔑Proxy +- IP-CIDR,108.177.8.0/21,🔑Proxy +- IP-CIDR,172.217.0.0/16,🔑Proxy +- IP-CIDR,173.194.0.0/16,🔑Proxy +- IP-CIDR,209.85.128.0/17,🔑Proxy +- IP-CIDR,216.58.192.0/19,🔑Proxy +- IP-CIDR,216.239.32.0/19,🔑Proxy +# > Facebook +- IP-CIDR,31.13.24.0/21,🔑Proxy +- IP-CIDR,31.13.64.0/18,🔑Proxy +- IP-CIDR,45.64.40.0/22,🔑Proxy +- IP-CIDR,66.220.144.0/20,🔑Proxy +- IP-CIDR,69.63.176.0/20,🔑Proxy +- IP-CIDR,69.171.224.0/19,🔑Proxy +- IP-CIDR,74.119.76.0/22,🔑Proxy +- IP-CIDR,103.4.96.0/22,🔑Proxy +- IP-CIDR,129.134.0.0/17,🔑Proxy +- IP-CIDR,157.240.0.0/17,🔑Proxy +- IP-CIDR,173.252.64.0/19,🔑Proxy +- IP-CIDR,173.252.96.0/19,🔑Proxy +- IP-CIDR,179.60.192.0/22,🔑Proxy +- IP-CIDR,185.60.216.0/22,🔑Proxy +- IP-CIDR,204.15.20.0/22,🔑Proxy +# > Twitter +- IP-CIDR,69.195.160.0/19,🔑Proxy +- IP-CIDR,104.244.42.0/21,🔑Proxy +- IP-CIDR,192.133.76.0/22,🔑Proxy +- IP-CIDR,199.16.156.0/22,🔑Proxy +- IP-CIDR,199.59.148.0/22,🔑Proxy +- IP-CIDR,199.96.56.0/21,🔑Proxy +- IP-CIDR,202.160.128.0/22,🔑Proxy +- IP-CIDR,209.237.192.0/19,🔑Proxy + + +#- DST-PORT,80,DIRECT +#- DST-PORT,443,DIRECT +# GeoIP China +- GEOIP,CN,DIRECT + +- MATCH,🔑Proxy \ No newline at end of file diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/img/logo.png b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/img/logo.png deleted file mode 100644 index c624b94d23..0000000000 Binary files a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/img/logo.png and /dev/null differ diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html index 0151591406..bf7e940c61 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html +++ b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html @@ -3,9 +3,10 @@ + Clash Dashboard - +
- + diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.557c7e0375c2286ea607.min.js b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.557c7e0375c2286ea607.min.js new file mode 100644 index 0000000000..691aae3666 --- /dev/null +++ b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.557c7e0375c2286ea607.min.js @@ -0,0 +1,2 @@ +/*! For license information please see 1.bundle.557c7e0375c2286ea607.min.js.LICENSE */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[function(e,t,n){"use strict";e.exports=n(47)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}n.d(t,"a",(function(){return r}))},,,function(e,t,n){e.exports=n(51)()},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n(48)},function(e,t,n){var r=n(40)(Object,"create");e.exports=r},function(e,t,n){var r=n(105);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(111);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},,function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},,function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(39),o=n(84),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){var r=n(22).Symbol;e.exports=r},function(e,t,n){var r=n(81),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t,n){"use strict";n.r(t);var r=n(3),o=n(0),i=n.n(o),a=n(24),l=n.n(a),u=n(11),s=n.n(u),c=n(43),f=n.n(c),d=1073741823;var p=i.a.createContext||function(e,t){var n,r,i="__create-react-context-"+f()()+"__",a=function(e){function n(){var t,n,r;return(t=e.apply(this,arguments)||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}l()(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((i=r)===(a=o)?0!==i||1/i==1/a:i!=i&&a!=a)?n=0:(n="function"==typeof t?t(r,o):d,0!==(n|=0)&&this.emitter.set(e.value,n))}var i,a},r.render=function(){return this.props.children},n}(o.Component);a.childContextTypes=((n={})[i]=s.a.object.isRequired,n);var u=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}l()(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?d:t},r.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?d:e},r.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},r.getValue=function(){return this.context[i]?this.context[i].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return u.contextTypes=((r={})[i]=s.a.object,r),{Provider:a,Consumer:u}},h=n(1);function m(e){return"/"===e.charAt(0)}function v(e,t){for(var n=t,r=n+1,o=e.length;r1&&void 0!==arguments[1]?arguments[1]:"",n=e&&e.split("/")||[],r=t&&t.split("/")||[],o=e&&m(e),i=t&&m(t),a=o||i;if(e&&m(e)?r=n:n.length&&(r.pop(),r=r.concat(n)),!r.length)return"/";var l=void 0;if(r.length){var u=r[r.length-1];l="."===u||".."===u||""===u}else l=!1;for(var s=0,c=r.length;c>=0;c--){var f=r[c];"."===f?v(r,c):".."===f?(v(r,c),s++):s&&(v(r,c),s--)}if(!a)for(;s--;s)r.unshift("..");!a||""===r[0]||r[0]&&m(r[0])||r.unshift("");var d=r.join("/");return l&&"/"!==d.substr(-1)&&(d+="/"),d},g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var b=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));var r=void 0===t?"undefined":g(t);if(r!==(void 0===n?"undefined":g(n)))return!1;if("object"===r){var o=t.valueOf(),i=n.valueOf();if(o!==t||i!==n)return e(o,i);var a=Object.keys(t),l=Object.keys(n);return a.length===l.length&&a.every((function(r){return e(t[r],n[r])}))}return!1},w=!0,x="Invariant failed";var _=function(e,t){if(!e)throw w?new Error(x):new Error(x+": "+(t||""))};function S(e){return"/"===e.charAt(0)?e:"/"+e}function E(e){return"/"===e.charAt(0)?e.substr(1):e}function k(e,t){return function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)}(e,t)?e.substr(t.length):e}function C(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function T(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function P(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(h.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=y(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function O(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&b(e.state,t.state)}function M(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r=0?t:0)+"#"+e)}function $(e){void 0===e&&(e={}),R||_(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,o=void 0===r?z:r,i=n.hashType,a=void 0===i?"slash":i,l=e.basename?C(S(e.basename)):"",u=D[a],s=u.encodePath,c=u.decodePath;function f(){var e=c(F());return l&&(e=k(e,l)),P(e)}var d=M();function p(e){Object(h.a)(j,e),j.length=t.length,d.notifyListeners(j.location,j.action)}var m=!1,v=null;function y(){var e=F(),t=s(e);if(e!==t)U(t);else{var n=f(),r=j.location;if(!m&&O(r,n))return;if(v===T(n))return;v=null,function(e){if(m)m=!1,p();else{d.confirmTransitionTo(e,"POP",o,(function(t){t?p({action:"POP",location:e}):function(e){var t=j.location,n=x.lastIndexOf(T(t));-1===n&&(n=0);var r=x.lastIndexOf(T(e));-1===r&&(r=0);var o=n-r;o&&(m=!0,E(o))}(e)}))}}(n)}}var g=F(),b=s(g);g!==b&&U(b);var w=f(),x=[T(w)];function E(e){t.go(e)}var I=0;function N(e){1===(I+=e)&&1===e?window.addEventListener(L,y):0===I&&window.removeEventListener(L,y)}var A=!1;var j={length:t.length,action:"POP",location:w,createHref:function(e){return"#"+s(l+T(e))},push:function(e,t){var n=P(e,void 0,void 0,j.location);d.confirmTransitionTo(n,"PUSH",o,(function(e){if(e){var t=T(n),r=s(l+t);if(F()!==r){v=t,function(e){window.location.hash=e}(r);var o=x.lastIndexOf(T(j.location)),i=x.slice(0,-1===o?0:o+1);i.push(t),x=i,p({action:"PUSH",location:n})}else p()}}))},replace:function(e,t){var n=P(e,void 0,void 0,j.location);d.confirmTransitionTo(n,"REPLACE",o,(function(e){if(e){var t=T(n),r=s(l+t);F()!==r&&(v=t,U(r));var o=x.indexOf(T(j.location));-1!==o&&(x[o]=t),p({action:"REPLACE",location:n})}}))},go:E,goBack:function(){E(-1)},goForward:function(){E(1)},block:function(e){void 0===e&&(e=!1);var t=d.setPrompt(e);return A||(N(1),A=!0),function(){return A&&(A=!1,N(-1)),t()}},listen:function(e){var t=d.appendListener(e);return N(1),function(){N(-1),t()}}};return j}function W(e,t,n){return Math.min(Math.max(e,t),n)}var H=n(25),B=n.n(H),V=(n(28),n(8)),q=n(44),Q=n.n(q),K=function(e){var t=p();return t.displayName=e,t}("Router"),Y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(K.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(i.a.Component);var X=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;ot?n.splice(t,n.length-t,r):n.push(r),c({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=P(e,t,f(),y.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(y.entries[y.index]=r,c({action:"REPLACE",location:r}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=y.index+e;return t>=0&&t=0;t--){var n=e[t][i];n.modified||(Array.isArray(n.base)?M(n)&&E(n):O(n)&&E(n))}}function O(e){for(var t=e.base,n=e.draft,r=Object.keys(n),o=r.length-1;o>=0;o--){var a=r[o],l=t[a];if(void 0===l&&!p(t,a))return!0;var u=n[a],s=u&&u[i];if(s?s.base!==l:!h(u,l))return!0}return r.length!==Object.keys(t).length}function M(e){var t=e.draft;if(t.length!==e.base.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!n||n.get)}var R=Object.freeze({willFinalize:function(e,t,n){e.drafts.forEach((function(e){e[i].finalizing=!0})),n?a(t)&&t[i].scope===e&&P(e.drafts):(e.patches&&function e(t){if(!t||"object"!=typeof t)return;var n=t[i];if(!n)return;var r=n.base;var o=n.draft;var a=n.assigned;if(Array.isArray(t)){if(M(n)){if(E(n),a.length=!0,o.lengthc&&a[f-1]===l[f+s-1];)--f;for(var d=c;d=f;--m){var v=t.concat([m]);n[h+m-f]={op:"add",path:v,value:l[m]},r.push({op:"remove",path:v})}}(e,t,n,r):function(e,t,n,r){var o=e.base,i=e.copy;f(e.assigned,(function(e,a){var l=o[e],u=i[e],s=a?e in o?"replace":"add":"remove";if(l!==u||"replace"!==s){var c=t.concat(e);n.push("remove"===s?{op:s,path:c}:{op:s,path:c,value:u}),r.push("add"===s?{op:"remove",path:c}:"remove"===s?{op:"add",path:c,value:l}:{op:"replace",path:c,value:l})}}))}(e,t,n,r)}var U=function(e,t){for(var n=0,r=t;n0;)r[o]=arguments[o+1];return u.produce(e,(function(e){return t.call.apply(t,[n,e].concat(r))}))}}if("function"!=typeof t)throw new Error("The first or second argument to `produce` must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("The third argument to `produce` must be a function or undefined");if(l(e)){var s=y.enter(),c=this.createProxy(e),f=!0;try{o=t(c),f=!1}finally{f?s.revoke():s.leave()}return o instanceof Promise?o.then((function(e){return s.usePatches(n),i.processResult(e,s)}),(function(e){throw s.revoke(),e})):(s.usePatches(n),this.processResult(o,s))}if((o=t(e))!==r)return void 0===o&&(o=e),this.maybeFreeze(o,!0),o},W.prototype.produceWithPatches=function(e,t,n){var r,o,i=this;if("function"==typeof e)return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return i.produceWithPatches(t,(function(t){return e.apply(void 0,[t].concat(n))}))};if(n)throw new Error("A patch listener cannot be passed to produceWithPatches");return[this.produce(e,t,(function(e,t){r=e,o=t})),r,o]},W.prototype.createDraft=function(e){if(!l(e))throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object");var t=y.enter(),n=this.createProxy(e);return n[i].isManual=!0,t.leave(),n},W.prototype.finishDraft=function(e,t){var n=e&&e[i];if(!n||!n.isManual)throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`");if(n.finalized)throw new Error("The given draft is already finalized");var r=n.scope;return r.usePatches(t),this.processResult(void 0,r)},W.prototype.setAutoFreeze=function(e){this.autoFreeze=e},W.prototype.setUseProxies=function(e){this.useProxies=e,u(this,e?D:R)},W.prototype.applyPatches=function(e,t){var n;for(n=t.length-1;n>=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}return a(e)?U(e,t):this.produce(e,(function(e){return U(e,t.slice(n+1))}))},W.prototype.processResult=function(e,t){var n=t.drafts[0],o=void 0!==e&&e!==n;if(this.willFinalize(t,e,o),o){if(n[i].modified)throw t.revoke(),new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.");l(e)&&(e=this.finalize(e,null,t),this.maybeFreeze(e)),t.patches&&(t.patches.push({op:"replace",path:[],value:e}),t.inversePatches.push({op:"replace",path:[],value:n[i].base}))}else e=this.finalize(n,[],t);return t.revoke(),t.patches&&t.patchListener(t.patches,t.inversePatches),e!==r?e:void 0},W.prototype.finalize=function(e,t,n){var r=this,o=e[i];if(!o)return Object.isFrozen(e)?e:this.finalizeTree(e,null,n);if(o.scope!==n)return e;if(!o.modified)return this.maybeFreeze(o.base,!0),o.base;if(!o.finalized){if(o.finalized=!0,this.finalizeTree(o.draft,t,n),this.onDelete)if(this.useProxies){var a=o.assigned;for(var l in a)a[l]||this.onDelete(o,l)}else{var u=o.base,s=o.copy;f(u,(function(e){p(s,e)||r.onDelete(o,e)}))}this.onCopy&&this.onCopy(o),this.autoFreeze&&n.canAutoFreeze&&Object.freeze(o.copy),t&&n.patches&&F(o,t,n.patches,n.inversePatches)}return o.copy},W.prototype.finalizeTree=function(e,t,n){var r=this,o=e[i];o&&(this.useProxies||(o.copy=c(o.draft,!0)),e=o.copy);var u=!!t&&!!n.patches,s=function(i,c,p){if(c===p)throw Error("Immer forbids circular references");var m=!!o&&p===e;if(a(c)){var v=m&&u&&!o.assigned[i]?t.concat(i):null;if(a(c=r.finalize(c,v,n))&&(n.canAutoFreeze=!1),Array.isArray(p)||d(p,i)?p[i]=c:Object.defineProperty(p,i,{value:c}),m&&c===o.base[i])return}else{if(m&&h(c,o.base[i]))return;l(c)&&!Object.isFrozen(c)&&(f(c,s),r.maybeFreeze(c))}m&&r.onAssign&&r.onAssign(o,i,c)};return f(e,s),e},W.prototype.maybeFreeze=function(e,t){void 0===t&&(t=!1),this.autoFreeze&&!a(e)&&(t?v(e):Object.freeze(e))};var H=new W,B=H.produce;H.produceWithPatches.bind(H),H.setAutoFreeze.bind(H),H.setUseProxies.bind(H),H.applyPatches.bind(H),H.createDraft.bind(H),H.finishDraft.bind(H);t.a=B}).call(this,n(33))},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var n,l,u=a(e),s=1;s=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(i)})),e.exports=u}).call(this,n(33))},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,s=[],c=!1,f=-1;function d(){c&&u&&(c=!1,u.length?s=u.concat(s):f=-1,s.length&&p())}function p(){if(!c){var e=l(d);c=!0;for(var t=s.length;t;){for(u=s,s=[];++f1)for(var n=1;nI.length&&I.push(e)}function j(e,t,n){return null==e?0:function e(t,n,r,o){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var u=!1;if(null===t)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(o,t,""===n?"."+L(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;sthis.eventPool.length&&this.eventPool.push(e)}function de(e){e.eventPool=[],e.getPooled=ce,e.release=fe}o(se.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=le)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=le)},persist:function(){this.isPersistent=le},isPersistent:ue,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=ue,this._dispatchInstances=this._dispatchListeners=null}}),se.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},se.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,de(n),n},de(se);var pe=se.extend({data:null}),he=se.extend({data:null}),me=[9,13,27,32],ve=q&&"CompositionEvent"in window,ye=null;q&&"documentMode"in document&&(ye=document.documentMode);var ge=q&&"TextEvent"in window&&!ye,be=q&&(!ve||ye&&8=ye),we=String.fromCharCode(32),xe={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},_e=!1;function Se(e,t){switch(e){case"keyup":return-1!==me.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Ee(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ke=!1;var Ce={eventTypes:xe,extractEvents:function(e,t,n,r){var o=void 0,i=void 0;if(ve)e:{switch(e){case"compositionstart":o=xe.compositionStart;break e;case"compositionend":o=xe.compositionEnd;break e;case"compositionupdate":o=xe.compositionUpdate;break e}o=void 0}else ke?Se(e,n)&&(o=xe.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=xe.compositionStart);return o?(be&&"ko"!==n.locale&&(ke||o!==xe.compositionStart?o===xe.compositionEnd&&ke&&(i=ae()):(oe="value"in(re=r)?re.value:re.textContent,ke=!0)),o=pe.getPooled(o,t,n,r),i?o.data=i:null!==(i=Ee(n))&&(o.data=i),V(o),i=o):i=null,(e=ge?function(e,t){switch(e){case"compositionend":return Ee(t);case"keypress":return 32!==t.which?null:(_e=!0,we);case"textInput":return(e=t.data)===we&&_e?null:e;default:return null}}(e,n):function(e,t){if(ke)return"compositionend"===e||!ve&&Se(e,t)?(e=ae(),ie=oe=re=null,ke=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1