diff --git a/aliyundrive-fuse/Makefile b/aliyundrive-fuse/Makefile new file mode 100644 index 00000000..b79faf20 --- /dev/null +++ b/aliyundrive-fuse/Makefile @@ -0,0 +1,77 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=aliyundrive-fuse +PKG_VERSION:=0.1.8 +PKG_RELEASE:=$(AUTORELEASE) + +PKG_LICENSE:=MIT +PKG_MAINTAINER:=messense + +PKG_LIBC:=musl +ifeq ($(ARCH),arm) + PKG_LIBC:=musleabi + + ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE)))) + ifneq ($(filter $(ARM_CPU_FEATURES),vfp vfpv2),) + PKG_LIBC:=musleabihf + endif +endif + +PKG_ARCH=$(ARCH) +ifeq ($(ARCH),i386) + PKG_ARCH:=i686 +endif + +PKG_SOURCE:=aliyundrive-fuse-v$(PKG_VERSION).$(PKG_ARCH)-unknown-linux-$(PKG_LIBC).tar.gz +PKG_SOURCE_URL:=https://github.com/messense/aliyundrive-fuse/releases/download/v$(PKG_VERSION)/ +PKG_HASH:=skip + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=multimedia + CATEGORY:=Multimedia + DEPENDS:=+fuse-utils + TITLE:=FUSE for AliyunDrive + URL:=https://github.com/messense/aliyundrive-fuse +endef + +define Package/$(PKG_NAME)/description + FUSE for AliyunDrive. +endef + +define Package/$(PKG_NAME)/conffiles +/etc/config/aliyundrive-fuse +endef + +define Download/sha256sum + FILE:=$(PKG_SOURCE).sha256 + URL_FILE:=$(FILE) + URL:=$(PKG_SOURCE_URL) + HASH:=skip +endef +$(eval $(call Download,sha256sum)) + +define Build/Prepare + mv $(DL_DIR)/$(PKG_SOURCE).sha256 . + cp $(DL_DIR)/$(PKG_SOURCE) . + shasum -a 256 -c $(PKG_SOURCE).sha256 + rm $(PKG_SOURCE).sha256 $(PKG_SOURCE) + + tar -C $(PKG_BUILD_DIR)/ -zxf $(DL_DIR)/$(PKG_SOURCE) +endef + +define Build/Compile + echo "$(PKG_NAME) using precompiled binary." +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/aliyundrive-fuse $(1)/usr/bin/aliyundrive-fuse + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/aliyundrive-fuse.init $(1)/etc/init.d/aliyundrive-fuse + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/aliyundrive-fuse.config $(1)/etc/config/aliyundrive-fuse +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/aliyundrive-fuse/files/aliyundrive-fuse.config b/aliyundrive-fuse/files/aliyundrive-fuse.config new file mode 100644 index 00000000..7be486f3 --- /dev/null +++ b/aliyundrive-fuse/files/aliyundrive-fuse.config @@ -0,0 +1,7 @@ +config default + option enable '0' + option debug '0' + option refresh_token '' + option domain_id '' + option mount_point '/mnt/aliyundrive' + option read_buffer_size '10485760' diff --git a/aliyundrive-fuse/files/aliyundrive-fuse.init b/aliyundrive-fuse/files/aliyundrive-fuse.init new file mode 100755 index 00000000..c923b726 --- /dev/null +++ b/aliyundrive-fuse/files/aliyundrive-fuse.init @@ -0,0 +1,48 @@ +#!/bin/sh /etc/rc.common + +USE_PROCD=1 + +START=99 +STOP=15 + +NAME=aliyundrive-fuse + +uci_get_by_type() { + local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) + echo ${ret:=$3} +} + +start_service() { + local enable=$(uci_get_by_type default enable) + case "$enable" in + 1|on|true|yes|enabled) + local refresh_token=$(uci_get_by_type default refresh_token) + local domain_id=$(uci_get_by_type default domain_id) + local mount_point=$(uci_get_by_type default mount_point) + local read_buf_size=$(uci_get_by_type default read_buffer_size 10485760) + + local extra_options="" + + if [[ ! -z "$domain_id" ]]; then + extra_options="$extra_options --domain-id $domain_id" + fi + + mkdir -p "$mount_point" + procd_open_instance + procd_set_param command /bin/sh -c "/usr/bin/$NAME $extra_options -S $read_buf_size --workdir /var/run/$NAME $mount_point >>/var/log/$NAME.log 2>&1" + procd_set_param pidfile /var/run/$NAME.pid + procd_set_param env REFRESH_TOKEN="$refresh_token" + case $(uci_get_by_type default debug) in + 1|on|true|yes|enabled) + procd_append_param env RUST_LOG="aliyundrive_fuse=debug" ;; + *) ;; + esac + procd_close_instance ;; + *) + stop_service ;; + esac +} + +service_triggers() { + procd_add_reload_trigger "aliyundrive-fuse" +} diff --git a/chinadns-ng/Makefile b/chinadns-ng/Makefile new file mode 100644 index 00000000..8158b4d7 --- /dev/null +++ b/chinadns-ng/Makefile @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-3.0-only +# +# Copyright (C) 2021 ImmortalWrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=chinadns-ng +PKG_VERSION:=1.0-beta.25 +PKG_RELEASE:=$(AUTORELEASE) + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/zfl9/chinadns-ng.git +PKG_SOURCE_DATE:=2021-05-08 +PKG_SOURCE_VERSION:=14cc6348d67b09cae37d9bce554c89c2c0e0b265 +PKG_MIRROR_HASH:=3b66fc0888d9488e3b8e39df3016d51fae1b43325d292381e94aa3c7d2318282 + +PKG_LICENSE:=AGPL-3.0-only +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=pexcn + +PKG_BUILD_PARALLEL:=1 +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/chinadns-ng + SECTION:=net + CATEGORY:=Network + SUBMENU:=IP Addresses and Names + TITLE:=ChinaDNS next generation, refactoring with epoll and ipset. + URL:=https://github.com/zfl9/chinadns-ng + DEPENDS:=+ipset +endef + +define Package/chinadns-ng/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/chinadns-ng $(1)/usr/bin +endef + +$(eval $(call BuildPackage,chinadns-ng)) diff --git a/dns2socks/Makefile b/dns2socks/Makefile new file mode 100644 index 00000000..47662fa0 --- /dev/null +++ b/dns2socks/Makefile @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: GPL-3.0-only +# +# Copyright (C) 2021 ImmortalWrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=dns2socks +PKG_VERSION:=2.1 +PKG_RELEASE:=2 + +PKG_SOURCE:=SourceCode.zip +PKG_SOURCE_URL:=@SF/dns2socks +PKG_SOURCE_DATE:=2020-02-18 +PKG_HASH:=406b5003523577d39da66767adfe54f7af9b701374363729386f32f6a3a995f4 + +PKG_MAINTAINER:=ghostmaker +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILE:=LICENSE + +include $(INCLUDE_DIR)/package.mk + +UNZIP_CMD:=unzip -q -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE) + +define Package/dns2socks + SECTION:=net + CATEGORY:=Network + SUBMENU:=IP Addresses and Names + TITLE:=DNS to SOCKS or HTTP proxy + URL:=http://dns2socks.sourceforge.net/ + DEPENDS:=+libpthread +endef + +define Package/dns2socks/description + This is a command line utility to resolve DNS requests via + a SOCKS tunnel like Tor or a HTTP proxy. +endef + +define Build/Compile + $(TARGET_CC) \ + $(TARGET_CFLAGS) \ + $(TARGET_CPPFLAGS) \ + $(FPIC) \ + -o $(PKG_BUILD_DIR)/DNS2SOCKS/dns2socks \ + $(PKG_BUILD_DIR)/DNS2SOCKS/DNS2SOCKS.c \ + $(TARGET_LDFLAGS) -pthread +endef + +define Package/dns2socks/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/DNS2SOCKS/dns2socks $(1)/usr/bin/dns2socks +endef + +$(eval $(call BuildPackage,dns2socks)) diff --git a/hysteria/Makefile b/hysteria/Makefile new file mode 100644 index 00000000..0c6e1ad8 --- /dev/null +++ b/hysteria/Makefile @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: GPL-3.0-only +# +# Copyright (C) 2021 ImmortalWrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=hysteria +PKG_VERSION:=1.0.1 +PKG_RELEASE:=$(AUTORELEASE) + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/HyNetwork/hysteria/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=de3a1dbc4a28bcddda2b1e918b0b309d822ab9eaad764564dfc064c2c0d0e667 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILE:=LICENSE +PKG_MAINTAINER:=Tianling Shen + +PKG_CONFIG_DEPENDS:= \ + CONFIG_HYSTERIA_COMPRESS_GOPROXY \ + CONFIG_HYSTERIA_COMPRESS_UPX + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_USE_MIPS16:=0 + +GO_PKG:=github.com/tobyxdd/hysteria +GO_PKG_BUILD_PKG:=github.com/tobyxdd/hysteria/cmd +GO_PKG_LDFLAGS:=-s -w +GO_PKG_LDFLAGS_X:=main.appVersion=$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk +include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk + +define Package/hysteria + SECTION:=net + CATEGORY:=Network + TITLE:=A feature-packed network utility optimized for networks of poor quality + URL:=https://github.com/tobyxdd/hysteria + DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +endef + +define Package/hysteria/description + Hysteria is a feature-packed network utility optimized for networks + of poor quality (e.g. satellite connections, congested public Wi-Fi, + connecting from China to servers abroad) powered by a custom version + of QUIC protocol. +endef + +define Package/hysteria/config +config HYSTERIA_COMPRESS_GOPROXY + bool "Compiling with GOPROXY proxy" + default n + +config HYSTERIA_COMPRESS_UPX + bool "Compress executable files with UPX" + depends on !mips64 + default n +endef + +ifeq ($(CONFIG_HYSTERIA_COMPRESS_GOPROXY),y) + export GO111MODULE=on + export GOPROXY=https://goproxy.bj.bcebos.com +endif + +define Build/Compile + $(call GoPackage/Build/Compile) +ifeq ($(CONFIG_HYSTERIA_COMPRESS_UPX),y) + $(STAGING_DIR_HOST)/bin/upx --lzma --best $(GO_PKG_BUILD_BIN_DIR)/cmd +endif +endef + +define Package/hysteria/install + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cmd $(1)/usr/bin/hysteria +endef + +$(eval $(call GoBinPackage,hysteria)) +$(eval $(call BuildPackage,hysteria)) diff --git a/ipt2socks/Makefile b/ipt2socks/Makefile new file mode 100644 index 00000000..75ee8564 --- /dev/null +++ b/ipt2socks/Makefile @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: GPL-3.0-only +# +# Copyright (C) 2021 ImmortalWrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ipt2socks +PKG_VERSION:=1.1.3 +PKG_RELEASE:=2 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/zfl9/ipt2socks/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=73a2498dc95934c225d358707e7f7d060b5ce81aa45260ada09cbd15207d27d1 + +PKG_BUILD_PARALLEL:=1 +PKG_INSTALL:=1 + +PKG_LICENSE:=AGPL-3.0 +PKG_LICENSE_FILE:=LICENSE + +include $(INCLUDE_DIR)/package.mk + +define Package/ipt2socks + SECTION:=net + CATEGORY:=Network + TITLE:=Convert iptables to socks5 + URL:=https://github.com/zfl9/ipt2socks + DEPENDS:=+libpthread +libuv +endef + +define Package/ipt2socks/description + Utility for converting iptables (redirect/tproxy) to socks5. +endef + +TARGET_CFLAGS += $(FPIC) -flto +TARGET_LDFLAGS += -flto + +define Package/ipt2socks/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/ipt2socks $(1)/usr/bin +endef + +$(eval $(call BuildPackage,ipt2socks)) diff --git a/luci-app-advanced/Makefile b/luci-app-advanced/Makefile new file mode 100644 index 00000000..b1083638 --- /dev/null +++ b/luci-app-advanced/Makefile @@ -0,0 +1,43 @@ +# Copyright (C) 2019 sirpdboy +# +# +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/package.mk + +PKG_NAME:=luci-app-advanced +PKG_VERSION:=1.20 +PKG_RELEASE:=20220218 +define Package/$(PKG_NAME) + SECTION:=luci + CATEGORY:=LuCI + SUBMENU:=3. Applications + DEPENDS:= + TITLE:=LuCI Support for advanced and filebrowser + PKGARCH:=all +endef + +define Build/Compile +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/lib/lua/luci + $(CP) ./luasrc/* $(1)/usr/lib/lua/luci + + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./root/etc/config/advanced $(1)/etc/config/ + + $(INSTALL_DIR) $(1)/www + cp -pR ./htdocs/* $(1)/www/ + + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./root/etc/uci-defaults/* $(1)/etc/uci-defaults/ + + $(INSTALL_DIR) $(1)/bin + $(INSTALL_BIN) ./root/bin/* $(1)/bin/ +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/luci-app-advanced/README.md b/luci-app-advanced/README.md new file mode 100644 index 00000000..b79edc11 --- /dev/null +++ b/luci-app-advanced/README.md @@ -0,0 +1,2 @@ +# luci-app-advanced +luci-app-advanced 高级设置,包括smartdns,openclash,防火墙,DHCP等。 diff --git a/luci-app-advanced/htdocs/luci-static/resources/fileassistant/fb.css b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/fb.css new file mode 100644 index 00000000..75a30f40 --- /dev/null +++ b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/fb.css @@ -0,0 +1,68 @@ +.fb-container { + margin-top: 1rem; +} +.fb-container .cbi-button { + height: 2.6rem; +} +.fb-container .cbi-input-text { + margin-bottom: 1rem; + width: 100%; +} +.fb-container .panel-title { + padding-bottom: 0; + width: 50%; + border-bottom: none; +} +.fb-container .panel-container { + display: flex; + align-items: center; + justify-content: space-between; + padding-bottom: 1rem; + border-bottom: 1px solid #aaa; +} +.fb-container .upload-container { + display: none; + margin: 1rem 0; +} +.fb-container .upload-file { + margin-right: 2rem; +} +.fb-container .cbi-value-field { + text-align: left; +} +.fb-container .parent-icon strong { + margin-left: 1rem; +} +.fb-container td[class$="-icon"] { + cursor: pointer; +} +.fb-container .file-icon, .fb-container .folder-icon, .fb-container .link-icon { + position: relative; +} +.fb-container .file-icon:before, .fb-container .folder-icon:before, .fb-container .link-icon:before { + display: inline-block; + width: 1.5rem; + height: 1.5rem; + content: ''; + background-size: contain; + margin: 0 0.5rem 0 1rem; + vertical-align: middle; +} +.fb-container .file-icon:before { + background-image: url(file-icon.png); +} +.fb-container .folder-icon:before { + background-image: url(folder-icon.png); +} +.fb-container .link-icon:before { + background-image: url(link-icon.png); +} +@media screen and (max-width: 480px) { + .fb-container .upload-file { + width: 14.6rem; + } + .fb-container .cbi-value-owner, + .fb-container .cbi-value-perm { + display: none; + } +} diff --git a/luci-app-advanced/htdocs/luci-static/resources/fileassistant/fb.js b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/fb.js new file mode 100644 index 00000000..eb97f09f --- /dev/null +++ b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/fb.js @@ -0,0 +1,288 @@ +String.prototype.replaceAll = function(search, replacement) { + var target = this; + return target.replace(new RegExp(search, 'g'), replacement); +}; +(function () { + var iwxhr = new XHR(); + var listElem = document.getElementById("list-content"); + listElem.onclick = handleClick; + var currentPath; + var pathElem = document.getElementById("current-path"); + pathElem.onblur = function () { + update_list(this.value.trim()); + }; + pathElem.onkeyup = function (evt) { + if (evt.keyCode == 13) { + this.blur(); + } + }; + function removePath(filename, isdir) { + var c = confirm('你确定要删除 ' + filename + ' 吗?'); + if (c) { + iwxhr.get('/cgi-bin/luci/admin/system/fileassistant/delete', + { + path: concatPath(currentPath, filename), + isdir: isdir + }, + function (x, res) { + if (res.ec === 0) { + refresh_list(res.data, currentPath); + } + }); + } + } + + function installPath(filename, isdir) { + if (isdir === "1") { + alert('这是一个目录,请选择 ipk 文件进行安装!'); + return; + } + var isipk = isIPK(filename); + if (isipk === 0) { + alert('只允许安装 ipk 格式的文件!'); + return; + } + var c = confirm('你确定要安装 ' + filename + ' 吗?'); + if (c) { + iwxhr.get('/cgi-bin/luci/admin/system/fileassistant/install', + { + filepath: concatPath(currentPath, filename), + isdir: isdir + }, + function (x, res) { + if (res.ec === 0) { + location.reload(); + alert('安装成功!'); + } else { + alert('安装失败,请检查文件格式!'); + } + }); + } + } + + function isIPK(filename) { + var index= filename.lastIndexOf("."); + var ext = filename.substr(index+1); + if (ext === 'ipk') { + return 1; + } else { + return 0; + } + } + + function renamePath(filename) { + var newname = prompt('请输入新的文件名:', filename); + if (newname) { + newname = newname.trim(); + if (newname != filename) { + var newpath = concatPath(currentPath, newname); + iwxhr.get('/cgi-bin/luci/admin/system/fileassistant/rename', + { + filepath: concatPath(currentPath, filename), + newpath: newpath + }, + function (x, res) { + if (res.ec === 0) { + refresh_list(res.data, currentPath); + } + } + ); + } + } + } + + function openpath(filename, dirname) { + dirname = dirname || currentPath; + window.open('/cgi-bin/luci/admin/system/fileassistant/open?path=' + + encodeURIComponent(dirname) + '&filename=' + + encodeURIComponent(filename)); + } + + function getFileElem(elem) { + if (elem.className.indexOf('-icon') > -1) { + return elem; + } + else if (elem.parentNode.className.indexOf('-icon') > -1) { + return elem.parentNode; + } + } + + function concatPath(path, filename) { + if (path === '/') { + return path + filename; + } + else { + return path.replace(/\/$/, '') + '/' + filename; + } + } + + function handleClick(evt) { + var targetElem = evt.target; + var infoElem; + if (targetElem.className.indexOf('cbi-button-remove') > -1) { + infoElem = targetElem.parentNode.parentNode; + removePath(infoElem.dataset['filename'] , infoElem.dataset['isdir']) + } + else if (targetElem.className.indexOf('cbi-button-install') > -1) { + infoElem = targetElem.parentNode.parentNode; + installPath(infoElem.dataset['filename'] , infoElem.dataset['isdir']) + } + else if (targetElem.className.indexOf('cbi-button-edit') > -1) { + renamePath(targetElem.parentNode.parentNode.dataset['filename']); + } + else if (targetElem = getFileElem(targetElem)) { + if (targetElem.className.indexOf('parent-icon') > -1) { + update_list(currentPath.replace(/\/[^/]+($|\/$)/, '')); + } + else if (targetElem.className.indexOf('file-icon') > -1) { + openpath(targetElem.parentNode.dataset['filename']); + } + else if (targetElem.className.indexOf('link-icon') > -1) { + infoElem = targetElem.parentNode; + var filepath = infoElem.dataset['linktarget']; + if (filepath) { + if (infoElem.dataset['isdir'] === "1") { + update_list(filepath); + } + else { + var lastSlash = filepath.lastIndexOf('/'); + openpath(filepath.substring(lastSlash + 1), filepath.substring(0, lastSlash)); + } + } + } + else if (targetElem.className.indexOf('folder-icon') > -1) { + update_list(concatPath(currentPath, targetElem.parentNode.dataset['filename'])) + } + } + } + function refresh_list(filenames, path) { + var listHtml = ''; + if (path !== '/') { + listHtml += ''; + } + if (filenames) { + for (var i = 0; i < filenames.length; i++) { + var line = filenames[i]; + if (line) { + var f = line.match(/(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+([\S\s]+)/); + var isLink = f[1][0] === 'z' || f[1][0] === 'l' || f[1][0] === 'x'; + var o = { + displayname: f[9], + filename: isLink ? f[9].split(' -> ')[0] : f[9], + perms: f[1], + date: f[7] + ' ' + f[6] + ' ' + f[8], + size: f[5], + owner: f[3], + icon: (f[1][0] === 'd') ? "folder-icon" : (isLink ? "link-icon" : "file-icon") + }; + + var install_btn = ' '; + var index= o.filename.lastIndexOf("."); + var ext = o.filename.substr(index+1); + if (ext === 'ipk') { + install_btn = ' '; + } + + listHtml += '' + + '' + + + '' + + '' + + '' + + '' + + ''; + } + } + } + listHtml += "
..返回上级目录
' + + '' + o.displayname + '' + + ''+o.date+''+o.size+''+o.perms+'\ + \ + ' + + install_btn + + '
"; + listElem.innerHTML = listHtml; + } + function update_list(path, opt) { + opt = opt || {}; + path = concatPath(path, ''); + if (currentPath != path) { + iwxhr.get('/cgi-bin/luci/admin/system/fileassistant/list', + {path: path}, + function (x, res) { + if (res.ec === 0) { + refresh_list(res.data, path); + } + else { + refresh_list([], path); + } + } + ); + if (!opt.popState) { + history.pushState({path: path}, null, '?path=' + path); + } + currentPath = path; + pathElem.value = currentPath; + } + }; + + var uploadToggle = document.getElementById('upload-toggle'); + var uploadContainer = document.getElementById('upload-container'); + var isUploadHide = true; + uploadToggle.onclick = function() { + if (isUploadHide) { + uploadContainer.style.display = 'inline-flex'; + } + else { + uploadContainer.style.display = 'none'; + } + isUploadHide = !isUploadHide; + }; + var uploadBtn = uploadContainer.getElementsByClassName('cbi-input-apply')[0]; + uploadBtn.onclick = function (evt) { + var uploadinput = document.getElementById('upload-file'); + var fullPath = uploadinput.value; + if (!fullPath) { + evt.preventDefault(); + } + else { + var formData = new FormData(); + var startIndex = (fullPath.indexOf('\\') >= 0 ? fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/')); + formData.append('upload-filename', fullPath.substring(startIndex + 1)); + formData.append('upload-dir', concatPath(currentPath, '')); + formData.append('upload-file', uploadinput.files[0]); + var xhr = new XMLHttpRequest(); + xhr.open("POST", "/cgi-bin/luci/admin/system/fileassistant/upload", true); + xhr.onload = function() { + if (xhr.status == 200) { + var res = JSON.parse(xhr.responseText); + refresh_list(res.data, currentPath); + uploadinput.value = ''; + } + else { + alert('上传失败,请稍后再试...'); + } + }; + xhr.send(formData); + } + }; + + document.addEventListener('DOMContentLoaded', function(evt) { + var initPath = '/'; + if (/path=([/\w]+)/.test(location.search)) { + initPath = RegExp.$1; + } + update_list(initPath, {popState: true}); + }); + window.addEventListener('popstate', function (evt) { + var path = '/'; + if (evt.state && evt.state.path) { + path = evt.state.path; + } + update_list(path, {popState: true}); + }); + +})(); diff --git a/luci-app-advanced/htdocs/luci-static/resources/fileassistant/file-icon.png b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/file-icon.png new file mode 100644 index 00000000..f156dc1c Binary files /dev/null and b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/file-icon.png differ diff --git a/luci-app-advanced/htdocs/luci-static/resources/fileassistant/folder-icon.png b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/folder-icon.png new file mode 100644 index 00000000..1370df3a Binary files /dev/null and b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/folder-icon.png differ diff --git a/luci-app-advanced/htdocs/luci-static/resources/fileassistant/link-icon.png b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/link-icon.png new file mode 100644 index 00000000..03cc82cd Binary files /dev/null and b/luci-app-advanced/htdocs/luci-static/resources/fileassistant/link-icon.png differ diff --git a/luci-app-advanced/luasrc/controller/advanced.lua b/luci-app-advanced/luasrc/controller/advanced.lua new file mode 100644 index 00000000..4764dabd --- /dev/null +++ b/luci-app-advanced/luasrc/controller/advanced.lua @@ -0,0 +1,9 @@ +module("luci.controller.advanced",package.seeall) +function index() +if not nixio.fs.access("/etc/config/advanced")then +return +end +local e +e=entry({"admin","system","advanced"},cbi("advanced"),_("高级设置"),60) +e.dependent=true +end diff --git a/luci-app-advanced/luasrc/controller/fileassistant.lua b/luci-app-advanced/luasrc/controller/fileassistant.lua new file mode 100644 index 00000000..69c1b8bb --- /dev/null +++ b/luci-app-advanced/luasrc/controller/fileassistant.lua @@ -0,0 +1,228 @@ +module("luci.controller.fileassistant", package.seeall) + +function index() + + local page + page = entry({"admin", "system", "fileassistant"}, template("fileassistant"), _("文件管理"), 84) + page.i18n = "base" + page.dependent = true + + page = entry({"admin", "system", "fileassistant", "list"}, call("fileassistant_list"), nil) + page.leaf = true + + page = entry({"admin", "system", "fileassistant", "open"}, call("fileassistant_open"), nil) + page.leaf = true + + page = entry({"admin", "system", "fileassistant", "delete"}, call("fileassistant_delete"), nil) + page.leaf = true + + page = entry({"admin", "system", "fileassistant", "rename"}, call("fileassistant_rename"), nil) + page.leaf = true + + page = entry({"admin", "system", "fileassistant", "upload"}, call("fileassistant_upload"), nil) + page.leaf = true + + page = entry({"admin", "system", "fileassistant", "install"}, call("fileassistant_install"), nil) + page.leaf = true + +end + +function list_response(path, success) + luci.http.prepare_content("application/json") + local result + if success then + local rv = scandir(path) + result = { + ec = 0, + data = rv + } + else + result = { + ec = 1 + } + end + luci.http.write_json(result) +end + +function fileassistant_list() + local path = luci.http.formvalue("path") + list_response(path, true) +end + +function fileassistant_open() + local path = luci.http.formvalue("path") + local filename = luci.http.formvalue("filename") + local io = require "io" + local mime = to_mime(filename) + + file = path..filename + + local download_fpi = io.open(file, "r") + luci.http.header('Content-Disposition', 'inline; filename="'..filename..'"' ) + luci.http.prepare_content(mime) + luci.ltn12.pump.all(luci.ltn12.source.file(download_fpi), luci.http.write) +end + +function fileassistant_delete() + local path = luci.http.formvalue("path") + local isdir = luci.http.formvalue("isdir") + path = path:gsub("<>", "/") + path = path:gsub(" ", "\ ") + local success + if isdir then + success = os.execute('rm -r "'..path..'"') + else + success = os.remove(path) + end + list_response(nixio.fs.dirname(path), success) +end + +function fileassistant_rename() + local filepath = luci.http.formvalue("filepath") + local newpath = luci.http.formvalue("newpath") + local success = os.execute('mv "'..filepath..'" "'..newpath..'"') + list_response(nixio.fs.dirname(filepath), success) +end + +function fileassistant_install() + local filepath = luci.http.formvalue("filepath") + local isdir = luci.http.formvalue("isdir") + local ext = filepath:match(".+%.(%w+)$") + filepath = filepath:gsub("<>", "/") + filepath = filepath:gsub(" ", "\ ") + local success + if isdir == "1" then + success = false + elseif ext == "ipk" then + success = installIPK(filepath) + else + success = false + end + list_response(nixio.fs.dirname(filepath), success) +end + +function installIPK(filepath) + luci.sys.exec('opkg --force-depends install "'..filepath..'"') + luci.sys.exec('rm -rf /tmp/luci-*') + return true; +end + +function fileassistant_upload() + local filecontent = luci.http.formvalue("upload-file") + local filename = luci.http.formvalue("upload-filename") + local uploaddir = luci.http.formvalue("upload-dir") + local filepath = uploaddir..filename + + local fp + luci.http.setfilehandler( + function(meta, chunk, eof) + if not fp and meta and meta.name == "upload-file" then + fp = io.open(filepath, "w") + end + if fp and chunk then + fp:write(chunk) + end + if fp and eof then + fp:close() + end + end + ) + + list_response(uploaddir, true) +end + +function scandir(directory) + local i, t, popen = 0, {}, io.popen + + local pfile = popen("ls -lh \""..directory.."\" | egrep '^d' ; ls -lh \""..directory.."\" | egrep -v '^d|^l'") + for fileinfo in pfile:lines() do + i = i + 1 + t[i] = fileinfo + end + pfile:close() + pfile = popen("ls -lh \""..directory.."\" | egrep '^l' ;") + for fileinfo in pfile:lines() do + i = i + 1 + linkindex, _, linkpath = string.find(fileinfo, "->%s+(.+)$") + local finalpath; + if string.sub(linkpath, 1, 1) == "/" then + finalpath = linkpath + else + finalpath = nixio.fs.realpath(directory..linkpath) + end + local linktype; + if not finalpath then + finalpath = linkpath; + linktype = 'x' + elseif nixio.fs.stat(finalpath, "type") == "dir" then + linktype = 'z' + else + linktype = 'l' + end + fileinfo = string.sub(fileinfo, 2, linkindex - 1) + fileinfo = linktype..fileinfo.."-> "..finalpath + t[i] = fileinfo + end + pfile:close() + return t +end + +MIME_TYPES = { + ["txt"] = "text/plain"; + ["conf"] = "text/plain"; + ["ovpn"] = "text/plain"; + ["log"] = "text/plain"; + ["js"] = "text/javascript"; + ["json"] = "application/json"; + ["css"] = "text/css"; + ["htm"] = "text/html"; + ["html"] = "text/html"; + ["patch"] = "text/x-patch"; + ["c"] = "text/x-csrc"; + ["h"] = "text/x-chdr"; + ["o"] = "text/x-object"; + ["ko"] = "text/x-object"; + + ["bmp"] = "image/bmp"; + ["gif"] = "image/gif"; + ["png"] = "image/png"; + ["jpg"] = "image/jpeg"; + ["jpeg"] = "image/jpeg"; + ["svg"] = "image/svg+xml"; + + ["zip"] = "application/zip"; + ["pdf"] = "application/pdf"; + ["xml"] = "application/xml"; + ["xsl"] = "application/xml"; + ["doc"] = "application/msword"; + ["ppt"] = "application/vnd.ms-powerpoint"; + ["xls"] = "application/vnd.ms-excel"; + ["odt"] = "application/vnd.oasis.opendocument.text"; + ["odp"] = "application/vnd.oasis.opendocument.presentation"; + ["pl"] = "application/x-perl"; + ["sh"] = "application/x-shellscript"; + ["php"] = "application/x-php"; + ["deb"] = "application/x-deb"; + ["iso"] = "application/x-cd-image"; + ["tgz"] = "application/x-compressed-tar"; + + ["mp3"] = "audio/mpeg"; + ["ogg"] = "audio/x-vorbis+ogg"; + ["wav"] = "audio/x-wav"; + + ["mpg"] = "video/mpeg"; + ["mpeg"] = "video/mpeg"; + ["avi"] = "video/x-msvideo"; +} + +function to_mime(filename) + if type(filename) == "string" then + local ext = filename:match("[^%.]+$") + + if ext and MIME_TYPES[ext:lower()] then + return MIME_TYPES[ext:lower()] + end + end + + return "application/octet-stream" +end diff --git a/luci-app-advanced/luasrc/model/cbi/advanced.lua b/luci-app-advanced/luasrc/model/cbi/advanced.lua new file mode 100644 index 00000000..3007ad7f --- /dev/null +++ b/luci-app-advanced/luasrc/model/cbi/advanced.lua @@ -0,0 +1,344 @@ +local e=require"nixio.fs" +local t=require"luci.sys" +local t=luci.model.uci.cursor() +m=Map("advanced",translate("高级进阶设置"),translate("配置文档是直接编辑的除非你知道自己在干什么,否则请不要轻易修改这些配置文档。配置不正确可能会导致不能开机等错误。
")) +m.apply_on_parse=true +s=m:section(TypedSection,"advanced") +s.anonymous=true + +if nixio.fs.access("/bin/nuc")then + s:tab("mode",translate("模式设置"),translate("
可以在这里切换旁路由和正常模式,重置你的网络设置。
点击后会立即重启设备,没有确认过程,请谨慎操作!
")) + o=s:taboption("mode",Button,"nucmode",translate("切换为旁路由模式"),translate("本模式适合于单口和多网口主机,自动将网口全桥接好!
默认gateway是:192.168.1.1,ipaddr是192.168.1.2。用本机接口LAN接上级LAN当旁路由,主路由关闭DHCP服务。应用生效会重启软路由!

")) + o.inputtitle = translate("Apply") + o.inputstyle = "reset" + o.write = function() + luci.sys.exec("/bin/nuc &> /dev/null &") + end + o=s:taboption("mode",Button,"normalmode",translate("切换成路由模式"),translate("本模式适合于有两个网口或以上的设备使用,如多网口软路由或者虚拟了两个以上网口的虚拟机使用!应用生效会重启软路由!。
")) + o.inputtitle = translate("Apply") + o.inputstyle = "reset" + o.write = function() + luci.sys.exec("/bin/normalmode &> /dev/null &") + end + + o=s:taboption("mode",Button,"ipmode6",translate("设置为IPV6网络"),translate("点击应用切换到IPV6模式!保存应用后即刻有效!
")) + + o.inputtitle = translate("Apply") + o.inputstyle = "add" + o.write = function(self, section) + luci.sys.exec("ipmode6 &> /dev/null &") + end + + o=s:taboption("mode",Button,"ipmode4",translate("设置为IPV4网络"),translate("点击应用切换到IPV4模式!保存应用后即刻有效!
")) + + o.inputtitle = translate("Apply") + o.inputstyle = "add" + o.write = function(self, section) + luci.sys.exec("ipmode4 &> /dev/null &") + end + +end +if nixio.fs.access("/etc/dnsmasq.conf")then + +s:tab("dnsmasqconf",translate("dnsmasq"),translate("本页是配置/etc/dnsmasq.conf的文档内容。应用保存后自动重启生效")) + +conf=s:taboption("dnsmasqconf",Value,"dnsmasqconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/dnsmasq.conf")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/dnsmasq.conf",t) +if(luci.sys.call("cmp -s /tmp/dnsmasq.conf /etc/dnsmasq.conf")==1)then +e.writefile("/etc/dnsmasq.conf",t) +luci.sys.call("/etc/init.d/dnsmasq restart >/dev/null") +end +e.remove("/tmp/dnsmasq.conf") +end +end +end +if nixio.fs.access("/etc/config/network")then +s:tab("netwrokconf",translate("网络"),translate("本页是配置/etc/config/network包含网络配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("netwrokconf",Value,"netwrokconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/network")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/network",t) +if(luci.sys.call("cmp -s /tmp/network /etc/config/network")==1)then +e.writefile("/etc/config/network",t) +luci.sys.call("/etc/init.d/network restart >/dev/null") +end +e.remove("/tmp/network") +end +end +end +if nixio.fs.access("/etc/config/wireless")then +s:tab("wirelessconf",translate("无线"), translate("本页是/etc/config/wireless的配置文件内容,应用保存后自动重启生效.")) + +conf=s:taboption("wirelessconf",Value,"wirelessconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/wireless")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/etc/config/wireless.tmp",t) +if(luci.sys.call("cmp -s /etc/config/wireless.tmp /etc/config/wireless")==1)then +e.writefile("/etc/config/wireless",t) +luci.sys.call("wifi reload >/dev/null &") +end +e.remove("/tmp//tmp/wireless.tmp") +end +end +end + +if nixio.fs.access("/etc/hosts")then +s:tab("hostsconf",translate("hosts"),translate("本页是配置/etc/hosts的文档内容。应用保存后自动重启生效")) + +conf=s:taboption("hostsconf",Value,"hostsconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/hosts")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/hosts.tmp",t) +if(luci.sys.call("cmp -s /tmp/hosts.tmp /etc/hosts")==1)then +e.writefile("/etc/hosts",t) +luci.sys.call("/etc/init.d/dnsmasq restart >/dev/null") +end +e.remove("/tmp/hosts.tmp") +end +end +end +if nixio.fs.access("/etc/config/arpbind")then +s:tab("arpbindconf",translate("ARP绑定"),translate("本页是配置/etc/config/arpbind包含APR绑定MAC地址文档内容。应用保存后自动重启生效")) +conf=s:taboption("arpbindconf",Value,"arpbindconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/arpbind")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/arpbind",t) +if(luci.sys.call("cmp -s /tmp/arpbind /etc/config/arpbind")==1)then +e.writefile("/etc/config/arpbind",t) +luci.sys.call("/etc/init.d/arpbind restart >/dev/null") +end +e.remove("/tmp/arpbind") +end +end +end +if nixio.fs.access("/etc/config/firewall")then +s:tab("firewallconf",translate("防火墙"),translate("本页是配置/etc/config/firewall包含防火墙协议设置文档内容。应用保存后自动重启生效")) +conf=s:taboption("firewallconf",Value,"firewallconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/firewall")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/firewall",t) +if(luci.sys.call("cmp -s /tmp/firewall /etc/config/firewall")==1)then +e.writefile("/etc/config/firewall",t) +luci.sys.call("/etc/init.d/firewall restart >/dev/null") +end +e.remove("/tmp/firewall") +end +end +end +if nixio.fs.access("/etc/config/mwan3")then +s:tab("mwan3conf",translate("负载均衡"),translate("本页是配置/etc/config/mwan3包含负载均衡设置文档内容。应用保存后自动重启生效")) +conf=s:taboption("mwan3conf",Value,"mwan3conf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/mwan3")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/mwan3",t) +if(luci.sys.call("cmp -s /tmp/mwan3 /etc/config/mwan3")==1)then +e.writefile("/etc/config/mwan3",t) +luci.sys.call("/etc/init.d/mwan3 restart >/dev/null") +end +e.remove("/tmp/mwan3") +end +end +end +if nixio.fs.access("/etc/config/dhcp")then +s:tab("dhcpconf",translate("DHCP"),translate("本页是配置/etc/config/DHCP包含机器名等设置文档内容。应用保存后自动重启生效")) +conf=s:taboption("dhcpconf",Value,"dhcpconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/dhcp")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/dhcp",t) +if(luci.sys.call("cmp -s /tmp/dhcp /etc/config/dhcp")==1)then +e.writefile("/etc/config/dhcp",t) +luci.sys.call("/etc/init.d/network restart >/dev/null") +end +e.remove("/tmp/dhcp") +end +end +end +if nixio.fs.access("/etc/config/ddns")then +s:tab("ddnsconf",translate("DDNS"),translate("本页是配置/etc/config/ddns包含动态域名设置文档内容。应用保存后自动重启生效")) +conf=s:taboption("ddnsconf",Value,"ddnsconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/ddns")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/ddns",t) +if(luci.sys.call("cmp -s /tmp/ddns /etc/config/ddns")==1)then +e.writefile("/etc/config/ddns",t) +luci.sys.call("/etc/init.d/ddns restart >/dev/null") +end +e.remove("/tmp/ddns") +end +end +end + +if nixio.fs.access("/etc/config/timecontrol")then +s:tab("timecontrolconf",translate("时间控制"),translate("本页是配置/etc/config/timecontrol包含上网时间控制配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("timecontrolconf",Value,"timecontrolconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/timecontrol")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/timecontrol",t) +if(luci.sys.call("cmp -s /tmp/timecontrol /etc/config/timecontrol")==1)then +e.writefile("/etc/config/timecontrol",t) +luci.sys.call("/etc/init.d/timecontrol restart >/dev/null") +end +e.remove("/tmp/timecontrol") +end +end +end +if nixio.fs.access("/etc/config/rebootschedule")then +s:tab("rebootscheduleconf",translate("定时设置"),translate("本页是配置/etc/config/rebootschedule包含定时设置任务配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("rebootscheduleconf",Value,"rebootscheduleconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/rebootschedule")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/rebootschedule",t) +if(luci.sys.call("cmp -s /tmp/rebootschedule /etc/config/rebootschedule")==1)then +e.writefile("/etc/config/rebootschedule",t) +luci.sys.call("/etc/init.d/rebootschedule restart >/dev/null") +end +e.remove("/tmp/rebootschedule") +end +end +end +if nixio.fs.access("/etc/config/wolplus")then +s:tab("wolplusconf",translate("网络唤醒"),translate("本页是配置/etc/config/wolplus包含网络唤醒配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("wolplusconf",Value,"wolplusconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/wolplus")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/wolplus",t) +if(luci.sys.call("cmp -s /tmp/wolplus /etc/config/wolplus")==1)then +e.writefile("/etc/config/wolplus",t) +luci.sys.call("/etc/init.d/wolplus restart >/dev/null") +end +e.remove("/tmp/wolplus") +end +end +end + +if nixio.fs.access("/etc/config/smartdns")then +s:tab("smartdnsconf",translate("SMARTDNS"),translate("本页是配置/etc/config/smartdns包含smartdns配置文档内容。应用保存后自动重启生效")) +conf=s:taboption("smartdnsconf",Value,"smartdnsconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/smartdns")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/smartdns",t) +if(luci.sys.call("cmp -s /tmp/smartdns /etc/config/smartdns")==1)then +e.writefile("/etc/config/smartdns",t) +luci.sys.call("/etc/init.d/smartdns restart >/dev/null") +end +e.remove("/tmp/smartdns") +end +end +end +if nixio.fs.access("/etc/config/openclash")then +s:tab("openclashconf",translate("openclash"),translate("本页是配置/etc/config/openclash的文档内容。应用保存后自动重启生效")) +conf=s:taboption("openclashconf",Value,"openclashconf",nil,translate("开头的数字符号(#)或分号的每一行(;)被视为注释;删除(;)启用指定选项。")) +conf.template="cbi/tvalue" +conf.rows=20 +conf.wrap="off" +conf.cfgvalue=function(t,t) +return e.readfile("/etc/config/openclash")or"" +end +conf.write=function(a,a,t) +if t then +t=t:gsub("\r\n?","\n") +e.writefile("/tmp/openclash",t) +if(luci.sys.call("cmp -s /tmp/openclash /etc/config/openclash")==1)then +e.writefile("/etc/config/openclash",t) +luci.sys.call("/etc/init.d/openclash restart >/dev/null") +end +e.remove("/tmp/openclash") +end +end +end + + +return m diff --git a/luci-app-advanced/luasrc/view/fileassistant.htm b/luci-app-advanced/luasrc/view/fileassistant.htm new file mode 100644 index 00000000..09430418 --- /dev/null +++ b/luci-app-advanced/luasrc/view/fileassistant.htm @@ -0,0 +1,20 @@ +<%+header%> + + +

文件管理【集成上传删除及安装,非专业人员请谨慎操作】

+
+ +
+
文件列表
+ +
+
+ + +
+
+
+ + + +<%+footer%> diff --git a/luci-app-advanced/luasrc/view/filebrowser.htm b/luci-app-advanced/luasrc/view/filebrowser.htm new file mode 100644 index 00000000..d11028b4 --- /dev/null +++ b/luci-app-advanced/luasrc/view/filebrowser.htm @@ -0,0 +1,20 @@ +<%+header%> + + +

文件管理

+
+ +
+
文件列表:
+ +
+
+ + +
+
+
+ + + +<%+footer%> diff --git a/luci-app-advanced/root/bin/ipmode4 b/luci-app-advanced/root/bin/ipmode4 new file mode 100644 index 00000000..de44affb --- /dev/null +++ b/luci-app-advanced/root/bin/ipmode4 @@ -0,0 +1,26 @@ +#!/bin/sh +uci set network.@globals[0].ula_prefix='' +uci set network.lan.delegate='0' +uci set network.wan.mtu=1460 +uci set network.wan.metric='41' +uci set network.wan.delegate='0' +uci set network.wan.ipv6='0' +uci commit network +uci set dhcp.@dnsmasq[0].cachesize='15000' +uci set dhcp.@dnsmasq[0].min_ttl='3600' +uci set dhcp.@dnsmasq[0].filter_aaaa='1' +uci set dhcp.@dnsmasq[0].localservice='0' +uci set dhcp.@dnsmasq[0].nonwildcard='0' +uci set dhcp.@dnsmasq[0].rebind_protection='0' +uci set dhcp.@dnsmasq[0].noresolv='0' +uci set dhcp.lan.ra='' +uci set dhcp.lan.ndp='' +uci set dhcp.lan.dhcpv6='' +uci set dhcp.lan.ignore='0' +uci set dhcp.lan.ra_management='1' +uci set dhcp.lan.ra_default='1' +uci set dhcp.lan.force='1' +uci commit dhcp +sed -i "/list server/d" /etc/config/dhcp +/etc/init.d/network restart +/etc/init.d/dnsmasq restart diff --git a/luci-app-advanced/root/bin/ipmode6 b/luci-app-advanced/root/bin/ipmode6 new file mode 100644 index 00000000..1c4e5a68 --- /dev/null +++ b/luci-app-advanced/root/bin/ipmode6 @@ -0,0 +1,27 @@ +#!/bin/sh + +uci set dhcp.@dnsmasq[0].cachesize='15000' +uci set dhcp.@dnsmasq[0].min_ttl='3600' +uci set dhcp.@dnsmasq[0].filter_aaaa='0' +uci set dhcp.@dnsmasq[0].localservice='0' +uci set dhcp.@dnsmasq[0].nonwildcard='0' +uci set dhcp.@dnsmasq[0].rebind_protection='0' +uci set dhcp.@dnsmasq[0].noresolv='1' +uci set dhcp.lan.ra='server' +uci set dhcp.lan.ndp='' +uci set dhcp.lan.dhcpv6='' +uci set dhcp.lan.ignore='0' +uci set dhcp.lan.ra_management='1' +uci set dhcp.lan.ra_default='1' +uci set dhcp.lan.force='1' +uci commit dhcp +uci set network.@globals[0].ula_prefix='' +uci set network.lan.delegate='0' +uci set network.wan.mtu=1460 +uci set network.wan.metric='41' +uci set network.wan.delegate='0' +uci set network.wan.ipv6='auto' +uci commit network +sed -i "/list server/d" /etc/config/dhcp +/etc/init.d/network restart +/etc/init.d/dnsmasq restart diff --git a/luci-app-advanced/root/bin/normalmode b/luci-app-advanced/root/bin/normalmode new file mode 100644 index 00000000..8d714670 --- /dev/null +++ b/luci-app-advanced/root/bin/normalmode @@ -0,0 +1,30 @@ +#!/bin/sh + +uci set system.@system[0].hostname="Openwrt" +uci commit + +cat > /etc/config/network <> /etc/firewall.user +echo "iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53" >> /etc/firewall.user +reboot diff --git a/luci-app-advanced/root/bin/nuc b/luci-app-advanced/root/bin/nuc new file mode 100644 index 00000000..587e4ae5 --- /dev/null +++ b/luci-app-advanced/root/bin/nuc @@ -0,0 +1,80 @@ +#!/bin/sh +ip=/usr/sbin/ip +vconfig=/sbin/vconfig +ifconfig=/sbin/ifconfig + +uci set system.@system[0].hostname="Openwrt" +uci commit +cat > /etc/config/network <> /etc/firewall.user +reboot \ No newline at end of file diff --git a/luci-app-advanced/root/etc/config/advanced b/luci-app-advanced/root/etc/config/advanced new file mode 100644 index 00000000..2ed8a3c1 --- /dev/null +++ b/luci-app-advanced/root/etc/config/advanced @@ -0,0 +1,2 @@ +config advanced + option enabled '1' diff --git a/luci-app-advanced/root/etc/uci-defaults/40_luci-fb b/luci-app-advanced/root/etc/uci-defaults/40_luci-fb new file mode 100644 index 00000000..ee5f1336 --- /dev/null +++ b/luci-app-advanced/root/etc/uci-defaults/40_luci-fb @@ -0,0 +1,7 @@ +#!/bin/sh + +ver=$(date +%s) +sed -i "s/@ver/$ver/g" /usr/lib/lua/luci/view/filebrowser.htm + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-advanced/root/usr/share/rpcd/acl.d/luci-app-advanced.json b/luci-app-advanced/root/usr/share/rpcd/acl.d/luci-app-advanced.json new file mode 100644 index 00000000..8cb0ef85 --- /dev/null +++ b/luci-app-advanced/root/usr/share/rpcd/acl.d/luci-app-advanced.json @@ -0,0 +1,11 @@ +{ + "luci-app-advanced": { + "description": "Grant UCI access for luci-app-advanced", + "read": { + "uci": [ "advanced" ] + }, + "write": { + "uci": [ "advanced" ] + } + } +} diff --git a/luci-app-aliyundrive-fuse/Makefile b/luci-app-aliyundrive-fuse/Makefile new file mode 100644 index 00000000..e252856c --- /dev/null +++ b/luci-app-aliyundrive-fuse/Makefile @@ -0,0 +1,17 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-aliyundrive-fuse +PKG_VERSION:=0.1.8 +PKG_RELEASE:=1 +PKG_PO_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + +PKG_LICENSE:=MIT +PKG_MAINTAINER:=messense + +LUCI_TITLE:=LuCI Support for aliyundrive-fuse +LUCI_PKGARCH:=all +LUCI_DEPENDS:=+aliyundrive-fuse +lua +libuci-lua + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-aliyundrive-fuse/luasrc/controller/aliyundrive-fuse.lua b/luci-app-aliyundrive-fuse/luasrc/controller/aliyundrive-fuse.lua new file mode 100644 index 00000000..d3fd4187 --- /dev/null +++ b/luci-app-aliyundrive-fuse/luasrc/controller/aliyundrive-fuse.lua @@ -0,0 +1,35 @@ +module("luci.controller.aliyundrive-fuse", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/aliyundrive-fuse") then + return + end + entry({"admin", "services", "aliyundrive-fuse"}, alias("admin", "services", "aliyundrive-fuse", "client"),_("AliyunDrive FUSE"), 10).dependent = true -- 首页 + entry({"admin", "services", "aliyundrive-fuse", "client"}, cbi("aliyundrive-fuse/client"),_("Settings"), 10).leaf = true -- 客户端配置 + entry({"admin", "services", "aliyundrive-fuse", "log"}, form("aliyundrive-fuse/log"),_("Log"), 30).leaf = true -- 日志页面 + + entry({"admin", "services", "aliyundrive-fuse", "status"}, call("action_status")).leaf = true + entry({"admin", "services", "aliyundrive-fuse", "logtail"}, call("action_logtail")).leaf = true +end + +function action_status() + local e = {} + e.running = luci.sys.call("pidof aliyundrive-fuse >/dev/null") == 0 + e.application = luci.sys.exec("aliyundrive-fuse --version") + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function action_logtail() + local fs = require "nixio.fs" + local log_path = "/var/log/aliyundrive-fuse.log" + local e = {} + e.running = luci.sys.call("pidof aliyundrive-fuse >/dev/null") == 0 + if fs.access(log_path) then + e.log = luci.sys.exec("tail -n 100 %s | sed 's/\\x1b\\[[0-9;]*m//g'" % log_path) + else + e.log = "" + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/luci-app-aliyundrive-fuse/luasrc/model/cbi/aliyundrive-fuse/client.lua b/luci-app-aliyundrive-fuse/luasrc/model/cbi/aliyundrive-fuse/client.lua new file mode 100644 index 00000000..ef3bfea4 --- /dev/null +++ b/luci-app-aliyundrive-fuse/luasrc/model/cbi/aliyundrive-fuse/client.lua @@ -0,0 +1,32 @@ +local uci = luci.model.uci.cursor() +local m, e + +m = Map("aliyundrive-fuse") +m.title = translate("AliyunDrive FUSE") +m.description = translate("Project GitHub URL") + +m:section(SimpleSection).template = "aliyundrive-fuse/aliyundrive-fuse_status" + +e = m:section(TypedSection, "default") +e.anonymous = true + +enable = e:option(Flag, "enable", translate("Enable")) +enable.rmempty = false + +refresh_token = e:option(Value, "refresh_token", translate("Refresh Token")) +refresh_token.description = translate("How to get refresh token") + +mount_point = e:option(Value, "mount_point", translate("Mount Point")) +mount_point.default = "/mnt/aliyundrive" + +read_buffer_size = e:option(Value, "read_buffer_size", translate("Read Buffer Size")) +read_buffer_size.default = "10485760" +read_buffer_size.datatype = "uinteger" + +domain_id = e:option(Value, "domain_id", translate("Domain ID")) +domain_id.description = translate("Input domain_id option will use Aliyun PDS instead of AliyunDrive") + +debug = e:option(Flag, "debug", translate("Debug Mode")) +debug.rmempty = false + +return m diff --git a/luci-app-aliyundrive-fuse/luasrc/model/cbi/aliyundrive-fuse/log.lua b/luci-app-aliyundrive-fuse/luasrc/model/cbi/aliyundrive-fuse/log.lua new file mode 100644 index 00000000..7a5acab6 --- /dev/null +++ b/luci-app-aliyundrive-fuse/luasrc/model/cbi/aliyundrive-fuse/log.lua @@ -0,0 +1,9 @@ +log = SimpleForm("logview") +log.submit = false +log.reset = false + +t = log:field(DummyValue, '', '') +t.rawhtml = true +t.template = 'aliyundrive-fuse/aliyundrive-fuse_log' + +return log diff --git a/luci-app-aliyundrive-fuse/luasrc/view/aliyundrive-fuse/aliyundrive-fuse_log.htm b/luci-app-aliyundrive-fuse/luasrc/view/aliyundrive-fuse/aliyundrive-fuse_log.htm new file mode 100644 index 00000000..04851ba1 --- /dev/null +++ b/luci-app-aliyundrive-fuse/luasrc/view/aliyundrive-fuse/aliyundrive-fuse_log.htm @@ -0,0 +1,15 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-aliyundrive-fuse/luasrc/view/aliyundrive-fuse/aliyundrive-fuse_status.htm b/luci-app-aliyundrive-fuse/luasrc/view/aliyundrive-fuse/aliyundrive-fuse_status.htm new file mode 100644 index 00000000..22f19d0e --- /dev/null +++ b/luci-app-aliyundrive-fuse/luasrc/view/aliyundrive-fuse/aliyundrive-fuse_status.htm @@ -0,0 +1,21 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/luci-app-aliyundrive-fuse/po/zh-cn/aliyundrive-fuse.po b/luci-app-aliyundrive-fuse/po/zh-cn/aliyundrive-fuse.po new file mode 100644 index 00000000..54938889 --- /dev/null +++ b/luci-app-aliyundrive-fuse/po/zh-cn/aliyundrive-fuse.po @@ -0,0 +1,50 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "AliyunDrive" +msgstr "阿里云盘" + +msgid "AliyunDrive FUSE" +msgstr "阿里云盘 FUSE" + +msgid "Enable" +msgstr "启用" + +msgid "Refresh Token" +msgstr "Refresh Token" + +msgid "Mount Point" +msgstr "挂载点" + +msgid "Read Buffer Size" +msgstr "下载缓冲大小(bytes)" + +msgid "Collecting data..." +msgstr "获取数据中..." + +msgid "RUNNING" +msgstr "运行中" + +msgid "NOT RUNNING" +msgstr "未运行" + +msgid "Settings" +msgstr "设置" + +msgid "Log" +msgstr "日志" + +msgid "Debug Mode" +msgstr "调试模式" + +msgid "Project GitHub URL" +msgstr "GitHub 项目地址" + +msgid "How to get refresh token" +msgstr "查看获取 refresh token 的方法" + +msgid "Domain ID" +msgstr "阿里云相册与云盘服务 domainId" + +msgid "Input domain_id option will use Aliyun PDS instead of AliyunDrive" +msgstr "填写此选项将使用阿里云相册与网盘服务而不是阿里云盘" diff --git a/luci-app-aliyundrive-fuse/po/zh_Hans b/luci-app-aliyundrive-fuse/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-aliyundrive-fuse/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-aliyundrive-fuse/root/etc/uci-defaults/luci-aliyundrive-fuse b/luci-app-aliyundrive-fuse/root/etc/uci-defaults/luci-aliyundrive-fuse new file mode 100755 index 00000000..f368ea27 --- /dev/null +++ b/luci-app-aliyundrive-fuse/root/etc/uci-defaults/luci-aliyundrive-fuse @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@aliyundrive-fuse[-1] + add ucitrack aliyundrive-fuse + set ucitrack.@aliyundrive-fuse[-1].init=aliyundrive-fuse + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-aliyundrive-webdav/Makefile b/luci-app-aliyundrive-webdav/Makefile new file mode 100644 index 00000000..36817b2e --- /dev/null +++ b/luci-app-aliyundrive-webdav/Makefile @@ -0,0 +1,17 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-aliyundrive-webdav +PKG_VERSION:=1.2.6 +PKG_RELEASE:=1 +PKG_PO_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + +PKG_LICENSE:=MIT +PKG_MAINTAINER:=messense + +LUCI_TITLE:=LuCI Support for aliyundrive-webdav +LUCI_PKGARCH:=all +LUCI_DEPENDS:=+aliyundrive-webdav + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-aliyundrive-webdav/luasrc/controller/aliyundrive-webdav.lua b/luci-app-aliyundrive-webdav/luasrc/controller/aliyundrive-webdav.lua new file mode 100644 index 00000000..0426e384 --- /dev/null +++ b/luci-app-aliyundrive-webdav/luasrc/controller/aliyundrive-webdav.lua @@ -0,0 +1,40 @@ +module("luci.controller.aliyundrive-webdav", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/aliyundrive-webdav") then + return + end + + local page + page = entry({"admin", "services", "aliyundrive-webdav"}, alias("admin", "services", "aliyundrive-webdav", "client"), _("AliyunDrive WebDAV"), 10) -- 首页 + page.dependent = true + page.acl_depends = { "luci-app-aliyundrive-webdav" } + + entry({"admin", "services", "aliyundrive-webdav", "client"}, cbi("aliyundrive-webdav/client"), _("Settings"), 10).leaf = true -- 客户端配置 + entry({"admin", "services", "aliyundrive-webdav", "log"}, form("aliyundrive-webdav/log"), _("Log"), 30).leaf = true -- 日志页面 + + entry({"admin", "services", "aliyundrive-webdav", "status"}, call("action_status")).leaf = true -- 运行状态 + entry({"admin", "services", "aliyundrive-webdav", "logtail"}, call("action_logtail")).leaf = true -- 日志采集 +end + +function action_status() + local e = {} + e.running = luci.sys.call("pidof aliyundrive-webdav >/dev/null") == 0 + e.application = luci.sys.exec("aliyundrive-webdav --version") + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function action_logtail() + local fs = require "nixio.fs" + local log_path = "/var/log/aliyundrive-webdav.log" + local e = {} + e.running = luci.sys.call("pidof aliyundrive-webdav >/dev/null") == 0 + if fs.access(log_path) then + e.log = luci.sys.exec("tail -n 100 %s | sed 's/\\x1b\\[[0-9;]*m//g'" % log_path) + else + e.log = "" + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/luci-app-aliyundrive-webdav/luasrc/model/cbi/aliyundrive-webdav/client.lua b/luci-app-aliyundrive-webdav/luasrc/model/cbi/aliyundrive-webdav/client.lua new file mode 100644 index 00000000..3e72e2d5 --- /dev/null +++ b/luci-app-aliyundrive-webdav/luasrc/model/cbi/aliyundrive-webdav/client.lua @@ -0,0 +1,60 @@ +m = Map("aliyundrive-webdav") +m.title = translate("AliyunDrive WebDAV") +m.description = translate("Project GitHub URL") + +m:section(SimpleSection).template = "aliyundrive-webdav/aliyundrive-webdav_status" + +e = m:section(TypedSection, "server") +e.anonymous = true + +enable = e:option(Flag, "enable", translate("Enable")) +enable.rmempty = false + +refresh_token = e:option(Value, "refresh_token", translate("Refresh Token")) +refresh_token.description = translate("How to get refresh token") + +root = e:option(Value, "root", translate("Root Directory")) +root.description = translate("Restrict access to a folder of aliyundrive, defaults to / which means no restrictions") +root.default = "/" + +host = e:option(Value, "host", translate("Host")) +host.default = "0.0.0.0" +host.datatype = "ipaddr" + +port = e:option(Value, "port", translate("Port")) +port.default = "8080" +port.datatype = "port" + +tls_cert = e:option(Value, "tls_cert", translate("TLS certificate file path")) +tls_key = e:option(Value, "tls_key", translate("TLS private key file path")) + +auth_user = e:option(Value, "auth_user", translate("Username")) +auth_password = e:option(Value, "auth_password", translate("Password")) +auth_password.password = true + +read_buffer_size = e:option(Value, "read_buffer_size", translate("Read Buffer Size")) +read_buffer_size.default = "10485760" +read_buffer_size.datatype = "uinteger" + +cache_size = e:option(Value, "cache_size", translate("Cache Size")) +cache_size.default = "1000" +cache_size.datatype = "uinteger" + +cache_ttl = e:option(Value, "cache_ttl", translate("Cache Expiration Time (seconds)")) +cache_ttl.default = "600" +cache_ttl.datatype = "uinteger" + +no_trash = e:option(Flag, "no_trash", translate("Delete file permanently instead of trashing")) +no_trash.rmempty = false + +read_only = e:option(Flag, "read_only", translate("Enable read only mode")) +read_only.description = translate("Disallow upload, modify and delete file operations") +read_only.rmempty = false + +domain_id = e:option(Value, "domain_id", translate("Domain ID")) +domain_id.description = translate("Input domain_id option will use Aliyun PDS instead of AliyunDrive") + +debug = e:option(Flag, "debug", translate("Debug Mode")) +debug.rmempty = false + +return m diff --git a/luci-app-aliyundrive-webdav/luasrc/model/cbi/aliyundrive-webdav/log.lua b/luci-app-aliyundrive-webdav/luasrc/model/cbi/aliyundrive-webdav/log.lua new file mode 100644 index 00000000..200cb192 --- /dev/null +++ b/luci-app-aliyundrive-webdav/luasrc/model/cbi/aliyundrive-webdav/log.lua @@ -0,0 +1,9 @@ +log = SimpleForm("logview") +log.submit = false +log.reset = false + +t = log:field(DummyValue, '', '') +t.rawhtml = true +t.template = 'aliyundrive-webdav/aliyundrive-webdav_log' + +return log diff --git a/luci-app-aliyundrive-webdav/luasrc/view/aliyundrive-webdav/aliyundrive-webdav_log.htm b/luci-app-aliyundrive-webdav/luasrc/view/aliyundrive-webdav/aliyundrive-webdav_log.htm new file mode 100644 index 00000000..fd125856 --- /dev/null +++ b/luci-app-aliyundrive-webdav/luasrc/view/aliyundrive-webdav/aliyundrive-webdav_log.htm @@ -0,0 +1,15 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-aliyundrive-webdav/luasrc/view/aliyundrive-webdav/aliyundrive-webdav_status.htm b/luci-app-aliyundrive-webdav/luasrc/view/aliyundrive-webdav/aliyundrive-webdav_status.htm new file mode 100644 index 00000000..cd52d7ba --- /dev/null +++ b/luci-app-aliyundrive-webdav/luasrc/view/aliyundrive-webdav/aliyundrive-webdav_status.htm @@ -0,0 +1,21 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/luci-app-aliyundrive-webdav/po/zh-cn/aliyundrive-webdav.po b/luci-app-aliyundrive-webdav/po/zh-cn/aliyundrive-webdav.po new file mode 100644 index 00000000..8c93882a --- /dev/null +++ b/luci-app-aliyundrive-webdav/po/zh-cn/aliyundrive-webdav.po @@ -0,0 +1,86 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "AliyunDrive" +msgstr "阿里云盘" + +msgid "AliyunDrive WebDAV" +msgstr "阿里云盘 WebDAV" + +msgid "Enable" +msgstr "启用" + +msgid "Refresh Token" +msgstr "Refresh Token" + +msgid "Root Directory" +msgstr "云盘根目录" + +msgid "Host" +msgstr "监听主机" + +msgid "Port" +msgstr "监听端口" + +msgid "TLS certificate file path" +msgstr "TLS 证书文件路径" + +msgid "TLS private key file path" +msgstr "TLS 私钥文件路径" + +msgid "Username" +msgstr "用户名" + +msgid "Password" +msgstr "密码" + +msgid "Read Buffer Size" +msgstr "下载缓冲大小(bytes)" + +msgid "Cache Size" +msgstr "目录缓存大小" + +msgid "Cache Expiration Time (seconds)" +msgstr "目录缓存过期时间(单位为秒)" + +msgid "Collecting data..." +msgstr "获取数据中..." + +msgid "RUNNING" +msgstr "运行中" + +msgid "NOT RUNNING" +msgstr "未运行" + +msgid "Settings" +msgstr "设置" + +msgid "Log" +msgstr "日志" + +msgid "Debug Mode" +msgstr "调试模式" + +msgid "Project GitHub URL" +msgstr "GitHub 项目地址" + +msgid "How to get refresh token" +msgstr "查看获取 refresh token 的方法" + +msgid "Restrict access to a folder of aliyundrive, defaults to / which means no restrictions" +msgstr "限制只能访问该云盘目录,默认为 / 表示不限制,注意这个参数不是本地磁盘路径" + +msgid "Delete file permanently instead of trashing" +msgstr "删除文件不放入回收站" + +msgid "Enable read only mode" +msgstr "启用只读模式" + +msgid "Disallow upload, modify and delete file operations" +msgstr "禁止上传、修改和删除文件操作" + +msgid "Domain ID" +msgstr "阿里云相册与云盘服务 domainId" + +msgid "Input domain_id option will use Aliyun PDS instead of AliyunDrive" +msgstr "填写此选项将使用阿里云相册与网盘服务而不是阿里云盘" diff --git a/luci-app-aliyundrive-webdav/po/zh_Hans b/luci-app-aliyundrive-webdav/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-aliyundrive-webdav/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-aliyundrive-webdav/root/etc/uci-defaults/luci-aliyundrive-webdav b/luci-app-aliyundrive-webdav/root/etc/uci-defaults/luci-aliyundrive-webdav new file mode 100755 index 00000000..69c5433c --- /dev/null +++ b/luci-app-aliyundrive-webdav/root/etc/uci-defaults/luci-aliyundrive-webdav @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@aliyundrive-webdav[-1] + add ucitrack aliyundrive-webdav + set ucitrack.@aliyundrive-webdav[-1].init=aliyundrive-webdav + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-aliyundrive-webdav/root/usr/share/rpcd/acl.d/luci-app-aliyundrive-webdav.json b/luci-app-aliyundrive-webdav/root/usr/share/rpcd/acl.d/luci-app-aliyundrive-webdav.json new file mode 100644 index 00000000..31dec7f6 --- /dev/null +++ b/luci-app-aliyundrive-webdav/root/usr/share/rpcd/acl.d/luci-app-aliyundrive-webdav.json @@ -0,0 +1,11 @@ +{ + "luci-app-aliyundrive-webdav": { + "description": "Grant UCI access for luci-app-aliyundrive-webdav", + "read": { + "uci": [ "aliyundrive-webdav" ] + }, + "write": { + "uci": [ "aliyundrive-webdav" ] + } + } +} diff --git a/luci-app-argon-config/Makefile b/luci-app-argon-config/Makefile new file mode 100644 index 00000000..618a1111 --- /dev/null +++ b/luci-app-argon-config/Makefile @@ -0,0 +1,19 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-argon-config +PKG_VERSION:=0.9 +PKG_RELEASE:=20210904 + +PKG_MAINTAINER:=jerrykuku + +LUCI_TITLE:=LuCI page for Argon Config +LUCI_PKGARCH:=all +LUCI_DEPENDS:=+luci-compat + +define Package/$(PKG_NAME)/conffiles +/etc/config/argon +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-argon-config/README.md b/luci-app-argon-config/README.md new file mode 100644 index 00000000..59212036 --- /dev/null +++ b/luci-app-argon-config/README.md @@ -0,0 +1,4 @@ +# luci-app-argon-config +Argon Theme Config Plugin + +You can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos. \ No newline at end of file diff --git a/luci-app-argon-config/luasrc/controller/argon-config.lua b/luci-app-argon-config/luasrc/controller/argon-config.lua new file mode 100644 index 00000000..68bff286 --- /dev/null +++ b/luci-app-argon-config/luasrc/controller/argon-config.lua @@ -0,0 +1,13 @@ +--[[ +luci-app-argon-config +]]-- + +module("luci.controller.argon-config", package.seeall) + +function index() + if not nixio.fs.access('/www/luci-static/argon/css/cascade.css') then + return + end + + entry({"admin", "system", "argon-config"}, form("argon-config"), _("Argon Config"), 90) +end diff --git a/luci-app-argon-config/luasrc/model/cbi/argon-config.lua b/luci-app-argon-config/luasrc/model/cbi/argon-config.lua new file mode 100644 index 00000000..f1f0ec7f --- /dev/null +++ b/luci-app-argon-config/luasrc/model/cbi/argon-config.lua @@ -0,0 +1,223 @@ +local nxfs = require 'nixio.fs' +local wa = require 'luci.tools.webadmin' +local opkg = require 'luci.model.ipkg' +local sys = require 'luci.sys' +local http = require 'luci.http' +local nutil = require 'nixio.util' +local name = 'argon' +local uci = require 'luci.model.uci'.cursor() + +local fstat = nxfs.statvfs(opkg.overlay_root()) +local space_total = fstat and fstat.blocks or 0 +local space_free = fstat and fstat.bfree or 0 +local space_used = space_total - space_free + +local free_byte = space_free * fstat.frsize + +local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity, mode +if nxfs.access('/etc/config/argon') then + primary = uci:get_first('argon', 'global', 'primary') + dark_primary = uci:get_first('argon', 'global', 'dark_primary') + blur_radius = uci:get_first('argon', 'global', 'blur') + blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') + blur_opacity = uci:get_first('argon', 'global', 'transparency') + blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') + mode = uci:get_first('argon', 'global', 'mode') + bing_background = uci:get_first('argon', 'global', 'bing_background') +end + +function glob(...) + local iter, code, msg = nxfs.glob(...) + if iter then + return nutil.consume(iter) + else + return nil, code, msg + end +end + +local transparency_sets = { + 0, + 0.1, + 0.2, + 0.3, + 0.4, + 0.5, + 0.6, + 0.7, + 0.8, + 0.9, + 1 +} + +-- [[ 模糊设置 ]]-- +br = SimpleForm('config', translate('Argon Config'), translate('Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos.[Chrome is recommended]')) +br.reset = false +br.submit = false +s = br:section(SimpleSection) + +o = s:option(ListValue, 'bing_background', translate('Wallpaper Source')) +o:value('0', translate('Built-in')) +o:value('1', translate('Bing Wallpapers')) +o.default = bing_background +o.rmempty = false + +o = s:option(ListValue, 'mode', translate('Theme mode')) +o:value('normal', translate('Follow System')) +o:value('light', translate('Force Light')) +o:value('dark', translate('Force Dark')) +o.default = mode +o.rmempty = false +o.description = translate('You can choose Theme color mode here') + +o = s:option(Value, 'primary', translate('[Light mode] Primary Color'), translate('A HEX Color ; ( Default: #5e72e4 )')) +o.default = primary +o.datatype = ufloat +o.rmempty = false + + + +o = s:option(ListValue, 'transparency', translate('[Light mode] Transparency'), translate('0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )')) +for _, v in ipairs(transparency_sets) do + o:value(v) +end +o.default = blur_opacity +o.datatype = ufloat +o.rmempty = false + +o = s:option(Value, 'blur', translate('[Light mode] Frosted Glass Radius'), translate('Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )')) +o.default = blur_radius +o.datatype = ufloat +o.rmempty = false + +o = s:option(Value, 'dark_primary', translate('[Dark mode] Primary Color'), translate('A HEX Color ; ( Default: #483d8b )')) +o.default = dark_primary +o.datatype = ufloat +o.rmempty = false + +o = s:option(ListValue, 'transparency_dark', translate('[Dark mode] Transparency'), translate('0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )')) +for _, v in ipairs(transparency_sets) do + o:value(v) +end +o.default = blur_opacity_dark +o.datatype = ufloat +o.rmempty = false + +o = s:option(Value, 'blur_dark', translate('[Dark mode] Frosted Glass Radius'), translate('Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )')) +o.default = blur_radius_dark +o.datatype = ufloat +o.rmempty = false + +o = s:option(Button, 'save', translate('Save Changes')) +o.inputstyle = 'reload' + +function br.handle(self, state, data) + if (state == FORM_VALID and data.blur ~= nil and data.blur_dark ~= nil and data.transparency ~= nil and data.transparency_dark ~= nil and data.mode ~= nil) then + nxfs.writefile('/tmp/aaa', data) + for key, value in pairs(data) do + uci:set('argon','@global[0]',key,value) + end + uci:commit('argon') + end + return true +end + +ful = SimpleForm('upload', translate('Upload (Free: ') .. wa.byte_format(free_byte) .. ')', translate("You can upload files such as jpg,png,gif,mp4 files, To change the login page background.")) +ful.reset = false +ful.submit = false + +sul = ful:section(SimpleSection, '', translate("Upload file to '/www/luci-static/argon/background/'")) +fu = sul:option(FileUpload, '') +fu.template = 'argon-config/other_upload' +um = sul:option(DummyValue, '', nil) +um.template = 'argon-config/other_dvalue' + +local dir, fd +dir = '/www/luci-static/argon/background/' +nxfs.mkdir(dir) +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('Create upload file error.') + return + end + end + if chunk and fd then + fd:write(chunk) + end + if eof and fd then + fd:close() + fd = nil + um.value = translate('File saved to') .. ' "/www/luci-static/argon/background/' .. meta.file .. '"' + end + end +) + +if http.formvalue('upload') then + local f = http.formvalue('ulfile') + if #f <= 0 then + um.value = translate('No specify upload file.') + end +end + +local function getSizeStr(size) + local i = 0 + local byteUnits = {' kB', ' MB', ' GB', ' TB'} + repeat + size = size / 1024 + i = i + 1 + until (size <= 1024) + return string.format('%.1f', size) .. byteUnits[i] +end + +local inits, attr = {} +for i, f in ipairs(glob(dir .. '*')) do + attr = nxfs.stat(f) + if attr then + inits[i] = {} + inits[i].name = nxfs.basename(f) + inits[i].mtime = os.date('%Y-%m-%d %H:%M:%S', attr.mtime) + inits[i].modestr = attr.modestr + inits[i].size = getSizeStr(attr.size) + inits[i].remove = 0 + inits[i].install = false + end +end + +form = SimpleForm('filelist', translate('Background file list'), nil) +form.reset = false +form.submit = false + +tb = form:section(Table, inits) +nm = tb:option(DummyValue, 'name', translate('File name')) +mt = tb:option(DummyValue, 'mtime', translate('Modify time')) +sz = tb:option(DummyValue, 'size', translate('Size')) +btnrm = tb:option(Button, 'remove', translate('Remove')) +btnrm.render = function(self, section, scope) + self.inputstyle = 'remove' + Button.render(self, section, scope) +end + +btnrm.write = function(self, section) + local v = nxfs.unlink(dir .. nxfs.basename(inits[section].name)) + if v then + table.remove(inits, section) + end + return v +end + +function IsIpkFile(name) + name = name or '' + local ext = string.lower(string.sub(name, -4, -1)) + return ext == '.ipk' +end + +return br, ful, form diff --git a/luci-app-argon-config/luasrc/view/argon-config/other_button.htm b/luci-app-argon-config/luasrc/view/argon-config/other_button.htm new file mode 100644 index 00000000..1c391ad9 --- /dev/null +++ b/luci-app-argon-config/luasrc/view/argon-config/other_button.htm @@ -0,0 +1,7 @@ +<%+cbi/valueheader%> + <% if self:cfgvalue(section) ~= false then %> + " style="display: <%= display %>" type="submit"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self.inputtitle or self.title)%> /> + <% else %> + - + <% end %> +<%+cbi/valuefooter%> diff --git a/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm b/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm new file mode 100644 index 00000000..296c61e4 --- /dev/null +++ b/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm @@ -0,0 +1,8 @@ +<%+cbi/valueheader%> + +<% + local val = self:cfgvalue(section) or self.default or "" + write(pcdata(val)) +%> + +<%+cbi/valuefooter%> diff --git a/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm b/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm new file mode 100644 index 00000000..d853aa24 --- /dev/null +++ b/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm @@ -0,0 +1,5 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-argon-config/po/es/argon-config.po b/luci-app-argon-config/po/es/argon-config.po new file mode 100644 index 00000000..d5c178a8 --- /dev/null +++ b/luci-app-argon-config/po/es/argon-config.po @@ -0,0 +1,176 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: 2021-03-15 21:25-0300\n" +"PO-Revision-Date: 2021-03-15 21:58-0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: Franco Castillo \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 +msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +msgstr "" +"0 transparente - 1 opaco; (Sugerencia: negro translúcido preestablecido: 0.5)" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +msgid "" +"0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: " +"0.5 )" +msgstr "" +"0 transparente - 1 opaco; (Sugerencia: transparente: 0 o translúcido " +"preestablecido: 0.5)" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 +msgid "A HEX Color ; ( Default: #483d8b )" +msgstr "Un color HEX; (Predeterminado: #483d8b)" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 +msgid "A HEX Color ; ( Default: #5e72e4 )" +msgstr "Un color HEX; (Predeterminado: #5e72e4)" + +#: applications/luci-app-argon-config/luasrc/controller/argon-config.lua:11 +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +msgid "Argon Config" +msgstr "Configuración de Argon" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:195 +msgid "Background file list" +msgstr "Lista de archivos de fondo" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:60 +msgid "Bing Wallpapers" +msgstr "Fondos de Bing" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:59 +msgid "Built-in" +msgstr "Integrado" + +#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:2 +msgid "Choose local file:" +msgstr "Elija un archivo local:" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:149 +msgid "Create upload file error." +msgstr "Crear archivo de error de carga." + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:200 +msgid "File name" +msgstr "Nombre del archivo" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:159 +msgid "File saved to" +msgstr "Archivo guardado en" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:65 +msgid "Follow System" +msgstr "Seguir el sistema" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:67 +msgid "Force Dark" +msgstr "Fuerza oscuro" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:66 +msgid "Force Light" +msgstr "Forzar claro" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos.[Chrome is recommended]" +msgstr "" +"Aquí puede configurar el desenfoque y la transparencia de la página de " +"inicio de sesión del tema argon y administrar las imágenes de fondo y los " +"videos. [Se recomienda Chrome]" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 +msgid "" +"Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +msgstr "" +"El valor más grande se verá más borroso; (Sugerencia: claro: 1 o desenfoque " +"predeterminado: 10)" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Luci Argon theme config" +msgstr "Configuración del tema Luci Argon" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:201 +msgid "Modify time" +msgstr "Modificar la hora" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:167 +msgid "No specify upload file." +msgstr "No especificar archivo de carga." + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:203 +msgid "Remove" +msgstr "Eliminar" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:110 +msgid "Save Changes" +msgstr "Guardar cambios" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:202 +msgid "Size" +msgstr "Tamaño" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:64 +msgid "Theme mode" +msgstr "Modo del tema" + +#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:4 +msgid "Upload" +msgstr "Cargar" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 +msgid "Upload (Free:" +msgstr "Cargar (Libre:" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:128 +msgid "Upload file to '/www/luci-static/argon/background/'" +msgstr "Subir archivo a '/www/luci-static/argon/background/'" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:58 +msgid "Wallpaper Source" +msgstr "Fuente del fondo de pantalla" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:70 +msgid "You can choose Theme color mode here" +msgstr "Puede elegir el modo de color del tema aquí" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 +msgid "" +"You can upload files such as jpg,png,gif,mp4 files, To change the login page " +"background." +msgstr "" +"Puede cargar archivos como jpg, png, gif, mp4, para cambiar el fondo de la " +"página de inicio de sesión." + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "[Modo oscuro] Radio de vidrio esmerilado" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 +msgid "[Dark mode] Primary Color" +msgstr "[Modo oscuro] Color primario" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 +msgid "[Dark mode] Transparency" +msgstr "[Modo oscuro] Transparencia" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 +msgid "[Light mode] Frosted Glass Radius" +msgstr "[Modo claro] Radio de vidrio esmerilado" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 +msgid "[Light mode] Primary Color" +msgstr "[Modo claro] Color primario" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +msgid "[Light mode] Transparency" +msgstr "[Modo claro] Transparencia" diff --git a/luci-app-argon-config/po/templates/argon-config.pot b/luci-app-argon-config/po/templates/argon-config.pot new file mode 100644 index 00000000..c74c18f3 --- /dev/null +++ b/luci-app-argon-config/po/templates/argon-config.pot @@ -0,0 +1,155 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 +msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +msgid "" +"0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: " +"0.5 )" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 +msgid "A HEX Color ; ( Default: #483d8b )" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 +msgid "A HEX Color ; ( Default: #5e72e4 )" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/controller/argon-config.lua:11 +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +msgid "Argon Config" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:195 +msgid "Background file list" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:60 +msgid "Bing Wallpapers" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:59 +msgid "Built-in" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:2 +msgid "Choose local file:" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:149 +msgid "Create upload file error." +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:200 +msgid "File name" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:159 +msgid "File saved to" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:65 +msgid "Follow System" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:67 +msgid "Force Dark" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:66 +msgid "Force Light" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos.[Chrome is recommended]" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 +msgid "" +"Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Luci Argon theme config" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:201 +msgid "Modify time" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:167 +msgid "No specify upload file." +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:203 +msgid "Remove" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:110 +msgid "Save Changes" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:202 +msgid "Size" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:64 +msgid "Theme mode" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:4 +msgid "Upload" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 +msgid "Upload (Free:" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:128 +msgid "Upload file to '/www/luci-static/argon/background/'" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:58 +msgid "Wallpaper Source" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:70 +msgid "You can choose Theme color mode here" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 +msgid "" +"You can upload files such as jpg,png,gif,mp4 files, To change the login page " +"background." +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 +msgid "[Dark mode] Primary Color" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 +msgid "[Dark mode] Transparency" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 +msgid "[Light mode] Frosted Glass Radius" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 +msgid "[Light mode] Primary Color" +msgstr "" + +#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +msgid "[Light mode] Transparency" +msgstr "" diff --git a/luci-app-argon-config/po/zh-cn/argon-config.po b/luci-app-argon-config/po/zh-cn/argon-config.po new file mode 100644 index 00000000..1d25348e --- /dev/null +++ b/luci-app-argon-config/po/zh-cn/argon-config.po @@ -0,0 +1,133 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: dingpengyu \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"X-Generator: Poedit 2.3.1\n" + +msgid "Argon Config" +msgstr "Argon 主题设置" + +msgid "Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos.[Chrome is recommended]" +msgstr "在这里你可以设置argon 主题的登录页面的模糊和透明度,并管理背景图片与视频。[建议使用 Chrome]" + +msgid "Wallpaper Source" +msgstr "壁纸来源" + +msgid "Built-in" +msgstr "内建" + +msgid "Bing Wallpapers" +msgstr "Bing 壁纸" + +msgid "Theme mode" +msgstr "主题模式" + +msgid "Follow System" +msgstr "跟随系统" + +msgid "Force Light" +msgstr "强制亮色" + +msgid "Force Dark" +msgstr "强制暗色" + +msgid "You can choose Theme color mode here" +msgstr "你可以选择喜欢的主题模式" + +msgid "[Light mode] Primary Color" +msgstr "[亮色模式] 主色调" + +msgid "[Dark mode] Primary Color" +msgstr "[暗色模式] 主色调" + +msgid "A HEX Color ; ( Default: #5e72e4 )" +msgstr "十六进制颜色值 ( 预设为:#5e72e4 )" + +msgid "A HEX Color ; ( Default: #483d8b )" +msgstr "十六进制颜色值 ( 预设为:#483d8b )" + +msgid "[Light mode] Transparency" +msgstr "[亮色模式] 透明度" + +msgid "[Light mode] Transparency" +msgstr "[亮色模式] 透明度" + +msgid "[Dark mode] Transparency" +msgstr "[暗色模式] 透明度" + +msgid "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )" +msgstr "0最透明 - 1不透明 ; ( 建议: 透明 0 或 半透明预设 0.5 )" + +msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +msgstr "0最透明 - 1不透明 ; ( 建议: 黑色半透明 0.5 )" + +msgid "[Light mode] Frosted Glass Radius" +msgstr "[亮色模式] 毛玻璃模糊半径" + +msgid "[Dark mode] Frosted Glass Radius" +msgstr "[暗色模式] 毛玻璃模糊半径" + +msgid "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +msgstr "值越大越模糊; ( 建议: 清透 1 或 模糊预设 10 )" + +msgid "You can upload files such as jpg,png,gif,mp4 files, To change the login page background." +msgstr "你可以上传jpg、png、gif或mp4文件,以创建自己喜欢的登录界面" + +msgid "Save Changes" +msgstr "保存更改" + +msgid "Choose local file:" +msgstr "选择本地文件:" + +msgid "Couldn't open file:" +msgstr "无法打开文件:" + +msgid "Create upload file error." +msgstr "创建上传文件失败。" + + +msgid "File name" +msgstr "文件名" + +msgid "File saved to" +msgstr "文件保存到" + +msgid "FileTransfer" +msgstr "文件传输" + +msgid "Install" +msgstr "安装" + +msgid "Attributes" +msgstr "属性" + +msgid "Modify time" +msgstr "修改时间" + +msgid "No specify upload file." +msgstr "未指定上传文件。" + +msgid "Path on Route:" +msgstr "路由根目录:" + +msgid "Remove" +msgstr "移除" + +msgid "Size" +msgstr "大小" + +msgid "Upload (Free:" +msgstr "上传 (剩余空间:" + +msgid "Background file list" +msgstr "背景文件列表" + +msgid "Upload file to '/www/luci-static/argon/background/'" +msgstr "文件将上传到'/www/luci-static/argon/background/'" diff --git a/luci-app-argon-config/po/zh_Hans b/luci-app-argon-config/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-argon-config/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-argon-config/root/etc/config/argon b/luci-app-argon-config/root/etc/config/argon new file mode 100644 index 00000000..c5d63134 --- /dev/null +++ b/luci-app-argon-config/root/etc/config/argon @@ -0,0 +1,9 @@ +config global + option primary '#5e72e4' + option dark_primary '#483d8b' + option blur '10' + option blur_dark '10' + option transparency '0.5' + option transparency_dark '0.5' + option mode 'normal' + option bing_background '0' \ No newline at end of file diff --git a/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config b/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config new file mode 100755 index 00000000..935d7c8b --- /dev/null +++ b/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config @@ -0,0 +1,6 @@ +#!/bin/sh + +sed -i 's/cbi.submit\"] = true/cbi.submit\"] = \"1\"/g' /usr/lib/lua/luci/dispatcher.lua + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json b/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json new file mode 100644 index 00000000..b237aff7 --- /dev/null +++ b/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json @@ -0,0 +1,11 @@ +{ + "luci-argon-config": { + "description": "Luci Argon theme config ", + "read": { + "uci": [ "argon" ] + }, + "write": { + "uci": [ "argon" ] + } + } +} \ No newline at end of file diff --git a/luci-app-autotimeset/LICENSE b/luci-app-autotimeset/LICENSE new file mode 100644 index 00000000..02a5512a --- /dev/null +++ b/luci-app-autotimeset/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019-2020 johnrosen1 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/luci-app-autotimeset/Makefile b/luci-app-autotimeset/Makefile new file mode 100644 index 00000000..f9e45095 --- /dev/null +++ b/luci-app-autotimeset/Makefile @@ -0,0 +1,50 @@ +# Copyright (C) 2019-2021 sirpdboy https://github.com/sirpdboy/luci-app-autotimeset +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-autotimeset +PKG_VERSION:=1.4 +PKG_RELEASE:=20210320 + +define Package/$(PKG_NAME) + SECTION:=LuCI + CATEGORY:=LuCI + SUBMENU:=3. Applications + TITLE:=luci-app-autotimeset + DEPENDS:=+luci + DESCRIPTION:=LuCI support for Scheduled Time setting + PKGARCH:=all +endef +define Package/$(PKG_NAME)/description + Luci Support for autotimeset. +endef + +define Build/Prepare + $(foreach po,$(wildcard ${CURDIR}/po/zh-cn/*.po), \ + po2lmo $(po) $(PKG_BUILD_DIR)/$(patsubst %.po,%.lmo,$(notdir $(po)));) +endef + +define Build/Compile +endef + +define Package/$(PKG_NAME)/conffiles +/etc/config/autotimeset +/etc/autotimeset/ +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/lib/lua/luci + cp -pR ./luasrc/* $(1)/usr/lib/lua/luci + $(INSTALL_DIR) $(1)/ + cp -pR ./root/* $(1)/ + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n + $(INSTALL_DATA) $(PKG_BUILD_DIR)/autotimeset.lmo $(1)/usr/lib/lua/luci/i18n/ +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + diff --git a/luci-app-autotimeset/README.md b/luci-app-autotimeset/README.md new file mode 100644 index 00000000..0e582322 --- /dev/null +++ b/luci-app-autotimeset/README.md @@ -0,0 +1,96 @@ +[![若部分图片无法正常显示,请挂上机场浏览或点这里到末尾看修复教程](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)](#解决-github-网页上图片显示失败的问题) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) + +[autotimeset 定时设置插件](https://github.com/sirpdboy/luci-app-autotimeset) +====================== +请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。 + +## 功能说明: + +### 定时设置1.4版 +#### 2021.2.7 新增功能定时重启网络。现包括:定时重启、定时关机、定时重启网络,各功能可一起使用。 + +### 定时设置1.3版 +#### 2020.10.6 原来重定关机正式改名为定时设置,实现定时重启和定时关机功能二合一。 + +### 定时关机1.1版 +#### 2020.7.19 定时关机功能,彻底解决需要保存二次才生效的问题。 + +### 定时关机1.0版 +#### 2019.2.24 定时关机功能借鉴前辈们的开源代码首发。 + +## 编译使用方法 [![](https://img.shields.io/badge/-编译使用方法-F5F5F5.svg)](#编译使用方法-) + +将luci-app-autotimeset添加至 LEDE/OpenWRT 源码的方法。 + +### 下载源码方法一: +编辑源码文件夹根目录feeds.conf.default并加入如下内容: + +```Brach + # feeds获取源码: + src-git autotimeset https://github.com/sirpdboy/luci-app-autotimeset + ``` + ```Brach + # 更新feeds,并安装主题: + scripts/feeds update autotimeset + scripts/feeds install luci-app-autotimeset + ``` + +### 下载源码方法二: + ```Brach + # 下载源码 + git clone https://github.com/sirpdboy/luci-app-autotimeset package/luci-app-autotimeset + make menuconfig + ``` +### 配置菜单 + ```Brach + make menuconfig + # 找到 LuCI -> Applications, 选择 luci-app-autotimeset, 保存后退出。 + ``` +### 编译 + ```Brach + # 编译固件 + make package/luci-app-autotimeset/compile V=s + ``` + +## 说明 [![](https://img.shields.io/badge/-说明-F5F5F5.svg)](#说明-) + +源码来源:https://github.com/sirpdboy/luci-app-autotimeset + +你可以随意使用其中的源码,但请注明出处。 +============================ + +# My other project +网络速度测试 :https://github.com/sirpdboy/NetSpeedTest + +定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset + +关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice + +opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd + +opentoks 主题: https://github.com/sirpdboy/luci-theme-opentoks [仿KOOLSAHRE主题] + +btmob 主题: https://github.com/sirpdboy/luci-theme-btmob + +系统高级设置 : https://github.com/sirpdboy/luci-app-advanced + +## 捐助 [![](https://img.shields.io/badge/-捐助-F5F5F5.svg)](#捐助-) + +**如果你觉得此项目对你有帮助,请捐助我们,以使项目能持续发展,更加完善。··请作者喝杯咖啡~~~** + +**你们的支持就是我的动力!** + +### 捐助方式 + +| 图飞了😂 | 图飞了😂 | +| :-----------------: | :-------------: | +|图飞了😂|图飞了😂| + + + 图飞了😂 + + +###### [解决 Github 网页上图片显示失败的问题](https://blog.csdn.net/qq_38232598/article/details/91346392) + +[![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) + diff --git a/luci-app-autotimeset/luasrc/controller/autotimeset.lua b/luci-app-autotimeset/luasrc/controller/autotimeset.lua new file mode 100644 index 00000000..f0841d92 --- /dev/null +++ b/luci-app-autotimeset/luasrc/controller/autotimeset.lua @@ -0,0 +1,9 @@ +module("luci.controller.autotimeset",package.seeall) +function index() + if not nixio.fs.access("/etc/config/autotimeset") then + return + end + local page + page = entry({"admin","system","autotimeset"},cbi("autotimeset"),_("Scheduled Setting"),88) + page.dependent = true +end diff --git a/luci-app-autotimeset/luasrc/model/cbi/autotimeset.lua b/luci-app-autotimeset/luasrc/model/cbi/autotimeset.lua new file mode 100644 index 00000000..dd8d57b0 --- /dev/null +++ b/luci-app-autotimeset/luasrc/model/cbi/autotimeset.lua @@ -0,0 +1,47 @@ +local o=require"luci.dispatcher" +local e=require("luci.model.ipkg") +local s=require"nixio.fs" +local e=luci.model.uci.cursor() +local m,s,e + +m=Map("autotimeset",translate("Scheduled Setting"),translate("Timing settings include: timing restart, timing shutdown, timing restart network, all functions can be used together.")) + +s=m:section(TypedSection,"login","") +s.addremove=false +s.anonymous=true + +e=s:option(Flag,"enable",translate("Enable")) +e.rmempty = false +e.default=0 + +e=s:option(ListValue,"stype",translate("Scheduled Type"), translate("Set the type of timing")) +e:value(1,translate("Scheduled Reboot")) +e:value(2,translate("Scheduled Poweroff")) +e:value(3,translate("Scheduled ReNetwork")) +e.default=2 + +e=s:option(ListValue,"week",translate("Week Day"), translate("The start-up cycle is weekly or daily")) +e:value(7,translate("Everyday")) +e:value(1,translate("Monday")) +e:value(2,translate("Tuesday")) +e:value(3,translate("Wednesday")) +e:value(4,translate("Thursday")) +e:value(5,translate("Friday")) +e:value(6,translate("Saturday")) +e:value(0,translate("Sunday")) +e.default=7 + +e=s:option(Value,"hour",translate("Hour"), translate("Set an hour")) +e.datatype = "range(0,23)" +e.rmempty = false + +e=s:option(Value,"minute",translate("Minute"), translate("Set a minute")) +e.datatype = "range(0,59)" +e.rmempty = false + +local e=luci.http.formvalue("cbi.apply") +if e then + io.popen("/etc/init.d/autotimeset restart") +end + +return m diff --git a/luci-app-autotimeset/po/zh-cn/autotimeset.po b/luci-app-autotimeset/po/zh-cn/autotimeset.po new file mode 100644 index 00000000..2e4413d4 --- /dev/null +++ b/luci-app-autotimeset/po/zh-cn/autotimeset.po @@ -0,0 +1,43 @@ +msgid "Scheduled Setting" +msgstr "定时设置" + +msgid "Timing settings include: timing restart, timing shutdown, timing restart network, all functions can be used together." +msgstr "定时设置包括:定时重启、定时关机、定时重启网络." + +msgid "Scheduled Type" +msgstr "定时类型" + +msgid "Scheduled Reboot" +msgstr "定时重启机器" + +msgid "Scheduled Poweroff" +msgstr "定时关闭机器" + +msgid "Scheduled ReNetwork" +msgstr "定时重启网络" + +msgid "Week Day" +msgstr "设定星期" + +msgid "Everyday" +msgstr "每天" + +msgid "Hour" +msgstr "设定小时" + +msgid "Minute" +msgstr "设定分钟" + +msgid "Set the type of timing" +msgstr "设定定时的类型" + +msgid "The start-up cycle is weekly or daily" +msgstr "设置周期按星期或者每天执行" + +msgid "Set an hour" +msgstr "设置某一个小时" + +msgid "Set a minute" +msgstr "设置某一分钟" + +Set the type of timing \ No newline at end of file diff --git a/luci-app-autotimeset/po/zh_Hans b/luci-app-autotimeset/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-autotimeset/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-autotimeset/root/etc/config/autotimeset b/luci-app-autotimeset/root/etc/config/autotimeset new file mode 100644 index 00000000..0c50d9ba --- /dev/null +++ b/luci-app-autotimeset/root/etc/config/autotimeset @@ -0,0 +1,6 @@ +config login + option minute '1' + option hour '1' + option week '1' + option enable '0' + option stype '2' \ No newline at end of file diff --git a/luci-app-autotimeset/root/etc/init.d/autotimeset b/luci-app-autotimeset/root/etc/init.d/autotimeset new file mode 100644 index 00000000..d5630433 --- /dev/null +++ b/luci-app-autotimeset/root/etc/init.d/autotimeset @@ -0,0 +1,117 @@ +#!/bin/sh /etc/rc.common +#copyright by sirpdboy + +START=95 +STOP=10 + +run_autotimeset() +{ + config_get_bool enable $1 enable + if [ $enable = 1 ] ; then + config_get stype $1 stype + config_get week $1 week + config_get minute $1 minute + config_get hour $1 hour + [ "$minute" -eq 0 ] && minute="00" + [ "$week" -eq 7 ] && week="*" + + if [ $stype = 1 ] ; then + local cmd="$minute $hour * * $week sleep 5 && touch /etc/banner && reboot" + if [ ! -f "/etc/crontabs/root" ] || [ $(cat /etc/crontabs/root | grep "$cmd" | wc -l) -eq 0 ]; then + sed -i '/reboot/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$cmd" >> /etc/crontabs/root + + fi + echo "Auto REBOOT has started.." + + fi + if [ $stype = 2 ] ; then + local cmd="$minute $hour * * $week sleep 5 && touch /etc/banner && poweroff" + if [ ! -f "/etc/crontabs/root" ] || [ $(cat /etc/crontabs/root | grep "$cmd" | wc -l) -eq 0 ]; then + sed -i '/poweroff/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$cmd" >> /etc/crontabs/root + + fi + echo "Auto poweroff has started.." + fi + if [ $stype = 3 ] ; then + local cmd="$minute $hour * * $week sleep 5 && touch /etc/banner && /etc/init.d/network restart" + if [ ! -f "/etc/crontabs/root" ] || [ $(cat /etc/crontabs/root | grep "$cmd" | wc -l) -eq 0 ]; then + sed -i '/network restart/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$cmd" >> /etc/crontabs/root + + fi + echo "Auto network restart has started." + fi + else + del_cru + fi +} + + +add_cru() +{ + local enable=$(uci get autotimeset.@login[0].enable) + if [ $enable = 1 ] ; then + local stype=$(uci get autotimeset.@login[0].stype) + local week=$(uci get autotimeset.@login[0].week) + local minute=$(uci get autotimeset.@login[0].minute) + local hour=$(uci get autotimeset.@login[0].hour) + if [ $stype = 1 ] ; then + local cmd="$minute $hour * * $week sleep 5 && touch /etc/banner && reboot" + if [ ! -f "/etc/crontabs/root" ] || [ $(cat /etc/crontabs/root | grep "$cmd" | wc -l) -eq 0 ]; then + sed -i '/reboot/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$cmd" >> /etc/crontabs/root + + fi + echo "Auto REBOOT has started." + fi + if [ $stype = 2 ] ; then + local cmd="$minute $hour * * $week sleep 5 && touch /etc/banner && poweroff" + if [ ! -f "/etc/crontabs/root" ] || [ $(cat /etc/crontabs/root | grep "$cmd" | wc -l) -eq 0 ]; then + sed -i '/poweroff/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$cmd" >> /etc/crontabs/root + + fi + echo "Auto poweroff has started." + fi + if [ $stype = 3 ] ; then + local cmd="$minute $hour * * $week sleep 5 && touch /etc/banner && /etc/init.d/network restart" + if [ ! -f "/etc/crontabs/root" ] || [ $(cat /etc/crontabs/root | grep "$cmd" | wc -l) -eq 0 ]; then + sed -i '/network/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$cmd" >> /etc/crontabs/root + + fi + echo "Auto network restart has started." + fi + else + del_cru + fi +} + +start() +{ + config_load autotimeset + config_foreach run_autotimeset login + add_cru +} + +stop() +{ + del_cru + echo "Auto set has stop." +} + +del_cru() +{ + if [ -f "/etc/crontabs/root" ] && [ $(cat /etc/crontabs/root | grep reboot | wc -l) -ne 0 ]; then + sed -i '/reboot/d' /etc/crontabs/root >/dev/null 2>&1 + fi + if [ -f "/etc/crontabs/root" ] && [ $(cat /etc/crontabs/root | grep poweroff | wc -l) -ne 0 ]; then + sed -i '/poweroff/d' /etc/crontabs/root >/dev/null 2>&1 + fi + if [ -f "/etc/crontabs/root" ] && [ $(cat /etc/crontabs/root | grep network | wc -l) -ne 0 ]; then + sed -i '/network/d' /etc/crontabs/root >/dev/null 2>&1 + fi +} + diff --git a/luci-app-autotimeset/root/uci-defaults/40_luci-app-netspeedtest b/luci-app-autotimeset/root/uci-defaults/40_luci-app-netspeedtest new file mode 100644 index 00000000..6c0bc25a --- /dev/null +++ b/luci-app-autotimeset/root/uci-defaults/40_luci-app-netspeedtest @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@autotimeset[-1] + add ucitrack autotimeset + set ucitrack.@autotimeset[-1].init=autotimeset + commit ucitrack +EOF +chmod 755 /etc/init.d/autotimeset >/dev/null 2>&1 +rm -rf /tmp/luci-modulecache /tmp/luci-indexcache* +exit 0 diff --git a/luci-app-autotimeset/root/usr/share/rpcd/acl.d/luci-app-autotimeset.json b/luci-app-autotimeset/root/usr/share/rpcd/acl.d/luci-app-autotimeset.json new file mode 100644 index 00000000..0e858925 --- /dev/null +++ b/luci-app-autotimeset/root/usr/share/rpcd/acl.d/luci-app-autotimeset.json @@ -0,0 +1,11 @@ +{ + "luci-app-autotimeset": { + "description": "Grant UCI access for luci-app-autotimeset", + "read": { + "uci": [ "autotimeset" ] + }, + "write": { + "uci": [ "autotimeset" ] + } + } +} diff --git a/luci-app-autoupdate/LICENSE b/luci-app-autoupdate/LICENSE new file mode 100755 index 00000000..f288702d --- /dev/null +++ b/luci-app-autoupdate/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/luci-app-autoupdate/Makefile b/luci-app-autoupdate/Makefile new file mode 100755 index 00000000..f50f92d1 --- /dev/null +++ b/luci-app-autoupdate/Makefile @@ -0,0 +1,11 @@ +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI Support for AutoBuild Firmware/AutoUpdate.sh +LUCI_DEPENDS:=+curl +wget +bash +LUCI_PKGARCH:=all +PKG_VERSION:=1 +PKG_RELEASE:=20210221 + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-autoupdate/README.md b/luci-app-autoupdate/README.md new file mode 100755 index 00000000..d48d6983 --- /dev/null +++ b/luci-app-autoupdate/README.md @@ -0,0 +1,3 @@ +# luci-app-autoupdate + +此项目需要搭配 [build-actions](https://github.com/281677160/build-actions) 使用 diff --git a/luci-app-autoupdate/luasrc/controller/autoupdate.lua b/luci-app-autoupdate/luasrc/controller/autoupdate.lua new file mode 100755 index 00000000..54dc70e6 --- /dev/null +++ b/luci-app-autoupdate/luasrc/controller/autoupdate.lua @@ -0,0 +1,5 @@ +module("luci.controller.autoupdate",package.seeall) + +function index() + entry({"admin","system","autoupdate"},cbi("autoupdate"),_("AutoUpdate"),99) +end diff --git a/luci-app-autoupdate/luasrc/model/cbi/autoupdate.lua b/luci-app-autoupdate/luasrc/model/cbi/autoupdate.lua new file mode 100755 index 00000000..972b12cc --- /dev/null +++ b/luci-app-autoupdate/luasrc/model/cbi/autoupdate.lua @@ -0,0 +1,56 @@ +require("luci.sys") + +m=Map("autoupdate",translate("AutoUpdate"),translate("AutoUpdate LUCI supports one-click firmware upgrade and scheduled upgrade")) + +s=m:section(TypedSection,"login","") +s.addremove=false +s.anonymous=true + +o = s:option(Flag, "enable", translate("Enable AutoUpdate"),translate("Automatically update firmware during the specified time")) +o.default = 0 +o.optional = false + +week=s:option(ListValue,"week",translate("xWeek Day")) +week:value(7,translate("Everyday")) +week:value(1,translate("Monday")) +week:value(2,translate("Tuesday")) +week:value(3,translate("Wednesday")) +week:value(4,translate("Thursday")) +week:value(5,translate("Friday")) +week:value(6,translate("Saturday")) +week:value(0,translate("Sunday")) +week.default=0 + +hour=s:option(Value,"hour",translate("xHour")) +hour.datatype = "range(0,23)" +hour.rmempty = false + +pass=s:option(Value,"minute",translate("xMinute")) +pass.datatype = "range(0,59)" +pass.rmempty = false + +local github_url = luci.sys.exec("grep Github= /bin/openwrt_info | cut -c8-100") +o=s:option(Value,"github",translate("Github Url")) +o.default=github_url + +luci.sys.call ( "/usr/share/autoupdate/Check_Update.sh > /dev/null") +local cloud_version = luci.sys.exec("cat /tmp/cloud_version") +local current_version = luci.sys.exec("grep LOCAL_Firmware= /etc/openwrt_upgrade | cut -c16-100") +local current_model = luci.sys.exec("jsonfilter -e '@.model.id' < /etc/board.json | tr ',' '_'") +local MODEL_type = luci.sys.exec("grep MODEL_type= /etc/openwrt_upgrade | cut -c12-100") +local KERNEL_type = luci.sys.exec("grep KERNEL_type= /etc/openwrt_upgrade | cut -c13-100") + +button_upgrade_firmware = s:option (Button, "_button_upgrade_firmware", translate("Upgrade to Latested Version"), +translatef("若有更新可点击上方 手动更新 后请耐心等待至路由器重启.") .. "

当前固件版本: " .. current_version .. "
云端固件版本: " .. cloud_version.. "

设备名称: " .. current_model .. "
内核版本: " .. KERNEL_type .. "
固件类型: " .. MODEL_type) +button_upgrade_firmware.inputtitle = translate ("Do Upgrade") +button_upgrade_firmware.write = function() + luci.sys.call ("bash /bin/AutoUpdate.sh -u > /dev/null") +end + +local e=luci.http.formvalue("cbi.apply") +if e then + io.popen("/etc/init.d/autoupdate restart") +end + +return m + diff --git a/luci-app-autoupdate/po/zh-cn/autoupdate.po b/luci-app-autoupdate/po/zh-cn/autoupdate.po new file mode 100755 index 00000000..e9b5fd63 --- /dev/null +++ b/luci-app-autoupdate/po/zh-cn/autoupdate.po @@ -0,0 +1,41 @@ +msgid "AutoUpdate" +msgstr "定时更新" + +msgid "xWeek Day" +msgstr "更新时间" + +msgid "Everyday" +msgstr "每天" + +msgid "Day" +msgstr "天" + +msgid "xHour" +msgstr "时 [0~23]" + +msgid "xMinute" +msgstr "分 [0~59]" + +msgid "Check Update" +msgstr "检查更新" + +msgid "Enable AutoUpdate" +msgstr "启用定时更新" + +msgid "AutoUpdate LUCI supports one-click firmware upgrade and scheduled upgrade" +msgstr "定时更新 LUCI 支持手动更新以及定时更新固件" + +msgid "Do Upgrade" +msgstr "手动更新" + +msgid "Upgrade to Latested Version" +msgstr "更新固件" + +msgid "Automatically update firmware during the specified time" +msgstr "在指定时间段自动检测云端版本,若有新版本自动更新固件" + +msgid "Github Url" +msgstr "Github 地址" + +msgid "Please wait patiently after clicking Do Upgrade button" +msgstr "点击手动更新按钮后请耐心等待至路由器重启" diff --git a/luci-app-autoupdate/po/zh_Hans b/luci-app-autoupdate/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-autoupdate/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-autoupdate/root/etc/config/autoupdate b/luci-app-autoupdate/root/etc/config/autoupdate new file mode 100755 index 00000000..304ff347 --- /dev/null +++ b/luci-app-autoupdate/root/etc/config/autoupdate @@ -0,0 +1,7 @@ +config login + option enable '0' + option forceupdate '0' + option week '7' + option hour '23' + option minute '0' + diff --git a/luci-app-autoupdate/root/etc/init.d/autoupdate b/luci-app-autoupdate/root/etc/init.d/autoupdate new file mode 100755 index 00000000..1ad2c3ff --- /dev/null +++ b/luci-app-autoupdate/root/etc/init.d/autoupdate @@ -0,0 +1,50 @@ +#!/bin/bash /etc/rc.common +START=99 + +run_autoupdate() +{ + local enable + config_get_bool enable $1 enable + if [ $enable == "1" ]; then + local minute + local hour + config_get week $1 week + config_get minute $1 minute + config_get hour $1 hour + [ "$week" == 7 ] && week="*" + sed -i '/AutoUpdate/d' /etc/crontabs/root >/dev/null 2>&1 + echo "$minute $hour * * $week bash /bin/AutoUpdate.sh -u" >> /etc/crontabs/root + else + sed -i '/AutoUpdate/d' /etc/crontabs/root >/dev/null 2>&1 + fi + if [ -f /bin/AutoUpdate.sh ] && [ -f /bin/openwrt_info ];then + cus_url="$(uci get autoupdate.@login[0].github)" + ApAuthor="${cus_url%.git}" + custom_github_url="${ApAuthor##*com/}" + current_github_url="$(grep Warehouse= /bin/openwrt_info | cut -d "=" -f2)" + [[ -n "${custom_github_url}" ]] && { + [[ "${custom_github_url}" != "${current_github_url}" ]] && { + sed -i "s?${current_github_url}?${custom_github_url}?g" /bin/openwrt_info + } + } + fi + /etc/init.d/cron restart +} + + +start() +{ + config_load autoupdate + config_foreach run_autoupdate login +} + +stop() +{ + sed -i '/AutoUpdate/d' /etc/crontabs/root >/dev/null 2>&1 +} + +restart() +{ + stop + start +} diff --git a/luci-app-autoupdate/root/etc/uci-defaults/autoupdate b/luci-app-autoupdate/root/etc/uci-defaults/autoupdate new file mode 100755 index 00000000..38e88985 --- /dev/null +++ b/luci-app-autoupdate/root/etc/uci-defaults/autoupdate @@ -0,0 +1,10 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@autoupdate[-1] + add ucitrack autoupdate + set ucitrack.@autoupdate[-1].init=autoupdate + commit ucitrack +EOF + +exit 0 diff --git a/luci-app-autoupdate/root/usr/share/autoupdate/Check_Update.sh b/luci-app-autoupdate/root/usr/share/autoupdate/Check_Update.sh new file mode 100755 index 00000000..b576a2b8 --- /dev/null +++ b/luci-app-autoupdate/root/usr/share/autoupdate/Check_Update.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# https://github.com/Hyy2001X/AutoBuild-Actions +# AutoBuild Module by Hyy2001 + + +[[ -f /tmp/cloud_version ]] && rm -f /tmp/cloud_version +[[ -f /tmp/Version_Tags ]] && rm -f /tmp/Version_Tags +[[ -f /tmp/baidu.html ]] && rm -rf /tmp/baidu.html + +wget -q -p /tmp http://www.baidu.com/ -O /tmp/baidu.html +if [[ -f /tmp/baidu.html ]] && [[ `grep -c "百度一下" /tmp/baidu.html` -ge '1' ]]; then + rm -rf /tmp/baidu.html +else + echo "您可能没进行联网,请检查网络!" > /tmp/cloud_version + exit 1 +fi + +if [[ -f /bin/openwrt_info ]]; then + chmod +x /bin/openwrt_info + source /bin/openwrt_info + if [[ $? -ne 0 ]];then + echo "openwrt_info数据有误运行失败,请检查openwrt_info文件!" > /tmp/cloud_version + exit 1 + fi + chmod +x /bin/AutoUpdate.sh + bash /bin/AutoUpdate.sh -w + if [[ $? -ne 0 ]];then + echo "AutoUpdate.sh数据有误运行失败,请检查AutoUpdate.sh文件!" > /tmp/cloud_version + exit 1 + fi +else + echo "未检测到openwrt_info文件,无法运行更新程序!" > /tmp/cloud_version + exit 1 +fi + +[[ ! -f /tmp/Version_Tags ]] && echo "未检测到云端版本,或您的仓库为私库,或您修改的Github地址有错误,或发布已被删除!" > /tmp/cloud_version && exit 1 +chmod +x /tmp/Version_Tags && source /tmp/Version_Tags +if [[ -n "${CLOUD_Firmware}" ]]; then + if [[ "${LOCAL_Firmware}" -eq "${CLOUD_Firmware}" ]]; then + Checked_Type="已是最新" + echo "${CLOUD_Firmware} [${Checked_Type}]" > /tmp/cloud_version + elif [[ "${LOCAL_Firmware}" -gt "${CLOUD_Firmware}" ]]; then + Checked_Type="发现更高版本固件可更新" + echo "${CLOUD_Firmware} [${Checked_Type}]" > /tmp/cloud_version + elif [[ "${LOCAL_Firmware}" -lt "${CLOUD_Firmware}" ]]; then + Checked_Type="云端最高版本固件,低于您现在所安装的版本" + echo "${CLOUD_Firmware} [${Checked_Type}]" > /tmp/cloud_version + fi +else + echo "没检测到云端固件,您可能把云端固件删除了,或格式不对称,比如很多虚拟机安装UEIF格式都会变成Legacy引导!" > /tmp/cloud_version +fi +exit 0 diff --git a/luci-app-autoupdate/root/usr/share/rpcd/acl.d/luci-app-autoupdate.json b/luci-app-autoupdate/root/usr/share/rpcd/acl.d/luci-app-autoupdate.json new file mode 100644 index 00000000..86d43bdd --- /dev/null +++ b/luci-app-autoupdate/root/usr/share/rpcd/acl.d/luci-app-autoupdate.json @@ -0,0 +1,11 @@ +{ + "luci-app-autoupdate": { + "description": "Grant UCI access for luci-app-autoupdate", + "read": { + "uci": [ "autoupdate" ] + }, + "write": { + "uci": [ "autoupdate" ] + } + } +} diff --git a/luci-app-beardropper/.gitattributes b/luci-app-beardropper/.gitattributes new file mode 100644 index 00000000..dfe07704 --- /dev/null +++ b/luci-app-beardropper/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/luci-app-beardropper/.gitignore b/luci-app-beardropper/.gitignore new file mode 100644 index 00000000..9bea4330 --- /dev/null +++ b/luci-app-beardropper/.gitignore @@ -0,0 +1,2 @@ + +.DS_Store diff --git a/luci-app-beardropper/LICENSE b/luci-app-beardropper/LICENSE new file mode 100644 index 00000000..e963df82 --- /dev/null +++ b/luci-app-beardropper/LICENSE @@ -0,0 +1,622 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + diff --git a/luci-app-beardropper/Makefile b/luci-app-beardropper/Makefile new file mode 100644 index 00000000..bbdbdcc0 --- /dev/null +++ b/luci-app-beardropper/Makefile @@ -0,0 +1,22 @@ +# +# Copyright (C) 2020 Nate Ding +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +LUCI_Title:=LuCI Support for BearDropper +LUCI_PKGARCH=all + +PKG_VERSION:=1.1 +PKG_RELEASE:=20200522 + +PKG_MAINTANINER:=Nate Ding +PKG_LICENSE:=GLPv3 +PKG_LICENSE_FILES:=LICENSE + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-beardropper/README.md b/luci-app-beardropper/README.md new file mode 100644 index 00000000..efb0e223 --- /dev/null +++ b/luci-app-beardropper/README.md @@ -0,0 +1,59 @@ +luci-app-beardropper +=== + +[Preview][preview] +--- +luci-app-beardropper, a log examination script w/ iptables firewall rule generation response. + + This is the LuCI app built for the elegant firewall rule generation on-the-fly script [bearDropper][bearDropper], only a few modifications were made to work with Luci. + + + +Targets/Devices +--- +Written in shell scripts, so it shall work all good on all devices. + + +Config +--- +The config file path is: `/etc/config/beardropper` and this is the uci configuration format. + + + +Compile +--- +RECOMMENDED!!!! (推荐使用右边的feeds---->)You can use [natelol feeds][feeds] + + +OR + + +0. Go under `openwrt/` + +1. Make your own local feeds, say a folder `mkdir yourfeeds` + +2. Clone master under feeds to have `git clone https://github.com/natelol/luci-app-beardropper yourefeeds/luci-app-beardropper` + +3. Append `src-link yourfeeds /path/to/openwrt/yourfeeds` in the file `openwrt/feeds.conf(.default)` + +4. Run following scripts under `openwrt`: + +```bash +# Update feeds +./scripts/feeds update -a +./scripts/feeds install -a + +# M select luci-app-beardropper in LuCI -> 3. Applications also 2. Modules->Translations if you want translations together +make menuconfig +# compile +make package/feeds/luci-app-beardropper/compile V=99 +``` + +Logs +--- +`2020-05-21` Added a new tab listing the blocked IPs. + + + [preview]: https://github.com/natelol/luci-app-beardropper/tree/master/preview + [bearDropper]: https://github.com/robzr/bearDropper + [feeds]: https://github.com/natelol/natelol \ No newline at end of file diff --git a/luci-app-beardropper/luasrc/controller/beardropper.lua b/luci-app-beardropper/luasrc/controller/beardropper.lua new file mode 100755 index 00000000..c28f0b34 --- /dev/null +++ b/luci-app-beardropper/luasrc/controller/beardropper.lua @@ -0,0 +1,19 @@ +module("luci.controller.beardropper", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/beardropper") then + return + end + entry({"admin", "services", "beardropper"}, alias("admin", "services", "beardropper", "setting"),_("BearDropper"), 20).dependent = true + entry({"admin", "services", "beardropper", "status"}, call("act_status")) + entry({"admin", "services", "beardropper", "setting"}, cbi("beardropper/setting"), _("Setting"), 30).leaf= true + entry({"admin", "services", "beardropper", "log"}, form("beardropper/log"),_("Log"),40).leaf= true + --entry: +end + +function act_status() + local e={} + e.running = luci.sys.call("pgrep -f /usr/sbin/beardropper >/dev/null")==0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end \ No newline at end of file diff --git a/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua b/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua new file mode 100644 index 00000000..c725bcdf --- /dev/null +++ b/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua @@ -0,0 +1,17 @@ +f = SimpleForm("logview") +f.reset = false +f.submit = false +t = f:field(TextValue, "conf") +t.rmempty = true +t.rows = 20 +function t.cfgvalue() +local logs = luci.util.execi("logread | grep authpriv | grep beardropper") +local s = "" +for line in logs do +s = line .. "\n" .. s +end +return s +end +t.readonly="readonly" + +return f diff --git a/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua b/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua new file mode 100755 index 00000000..2735200b --- /dev/null +++ b/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua @@ -0,0 +1,54 @@ + +m = Map("beardropper", translate("BearDropper"), +translate("luci-app-beardropper, the LuCI app built with the elegant firewall rule generation on-the-fly script bearDropper.

Should you have any questions, please refer to the repo: ")..[[luci-app-beardropper]] +) +m:chain("luci") + +m:section(SimpleSection).template="beardropper/status" + +s = m:section(TypedSection, "beardropper", translate("")) +s.anonymous = true +s.addremove = false + +-- TABS +s:tab("options", translate("Options")) +s:tab("blocked", translate("Blocked IP")) + +o = s:taboption("options", Flag, "enabled",translate("Enabled")) +o.default = 0 + +-- OPTIONS +o = s:taboption("options", ListValue, "defaultMode", translate("Running Mode")) +o.default = "follow" +o:value("follow", translate("Follow")) +o:value("entire", translate("Entire")) +o:value("today", translate("Today")) +o:value("wipe", translate("Wipe")) + + +o = s:taboption("options", Value, "attemptCount", translate("Attempt Tolerance"), translate("failure attempts from a given IP required to trigger a ban")) + +o = s:taboption("options", Value, "attemptPeriod", translate("Attempt Cycle"), translate("time period during which attemptCount must be exceeded in order to trigger a ban
Format: 1w2d3h4m5s represents 1week 2days 3hours 4minutes 5 seconds")) + +o = s:taboption("options", Value, "banLength", translate("Ban Period"), translate("how long a ban exist once the attempt threshold is exceeded")) + +o = s:taboption("options", ListValue, "logLevel", translate("Log Level")) +o.default = "1" +o:value("0", translate("Silent")) +o:value("1", translate("Default")) +o:value("2", translate("Verbose")) +o:value("3", translate("Debug")) + + +o = s:taboption("blocked", Value, "blocked", translate("Blocked IP List")) +o.template="cbi/tvalue" +o.rows=40 +o.wrap="off" +o.readonly="true" +function o.cfgvalue(e, e) + return luci.sys.exec("cat /tmp/beardropper.bddb | awk /'=1/'| awk -F '=' '{print $1}' | awk '{print substr($0,6)}' | awk 'gsub(/_/,\":\",$0)'") +end + + + +return m diff --git a/luci-app-beardropper/luasrc/view/beardropper/status.htm b/luci-app-beardropper/luasrc/view/beardropper/status.htm new file mode 100755 index 00000000..808b3a00 --- /dev/null +++ b/luci-app-beardropper/luasrc/view/beardropper/status.htm @@ -0,0 +1,22 @@ + + +
+

+ <%:Collecting data...%> +

+
\ No newline at end of file diff --git a/luci-app-beardropper/po/zh-cn b/luci-app-beardropper/po/zh-cn new file mode 120000 index 00000000..8d69574d --- /dev/null +++ b/luci-app-beardropper/po/zh-cn @@ -0,0 +1 @@ +zh_Hans \ No newline at end of file diff --git a/luci-app-beardropper/po/zh_Hans/beardropper.po b/luci-app-beardropper/po/zh_Hans/beardropper.po new file mode 100755 index 00000000..bcffc107 --- /dev/null +++ b/luci-app-beardropper/po/zh_Hans/beardropper.po @@ -0,0 +1,115 @@ +bearDropper#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 +msgid "Attempt Cycle" +msgstr "尝试登录时间段" + + +msgid "Setting" +msgstr "设置" + +msgid "Log" +msgstr "日志" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 +msgid "Attempt Tolerance" +msgstr "最大尝试登录次数" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 +msgid "Ban Period" +msgstr "封禁IP时长" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/controller/bearDropper.lua:7 +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:7 +msgid "BearDropper" +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:20 +msgid "Blocked IP" +msgstr "屏蔽列表" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:52 +msgid "Blocked IP List" +msgstr "已屏蔽IP列表" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:20 +msgid "Collecting data..." +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:45 +msgid "Debug" +msgstr "调试" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:43 +msgid "Default" +msgstr "默认" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:22 +msgid "Enabled" +msgstr "启用" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:29 +msgid "Entire" +msgstr "已有记录" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:28 +msgid "Follow" +msgstr "后台监控" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:40 +msgid "Log Level" +msgstr "日志等级" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:10 +msgid "NOT RUNNING" +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:19 +msgid "Options" +msgstr "选项" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:7 +msgid "RUNNING" +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:26 +msgid "Running Mode" +msgstr "运行模式" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:42 +msgid "Silent" +msgstr "安静" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:30 +msgid "Today" +msgstr "仅今日" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:44 +msgid "Verbose" +msgstr "详细" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:31 +msgid "Wipe" +msgstr "清除所有" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 +msgid "failure attempts from a given IP required to trigger a ban" +msgstr "尝试登录超过设定值次数的IP将被封禁" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 +msgid "how long a ban exist once the attempt threshold is exceeded" +msgstr "IP将被封禁设定的时间" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:8 +msgid "" +"luci-app-beardropper, the LuCI app built with the elegant firewall rule " +"generation on-the-fly script bearDropper.

Should you have any " +"questions, please refer to the repo:" +msgstr "" +"luci-app-beardropper, 是一款能够在开启公网访问之后对潜在的ssh attack进行防御" +"的脚本.

如果你在使用中有任何问题,请到项目中提问: " + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 +msgid "" +"time period during which attemptCount must be exceeded in order to trigger a " +"ban
Format: 1w2d3h4m5s represents 1week 2days 3hours 4minutes 5 seconds" +msgstr "" +"在设定的时间段内连续尝试失败
格式:1w2d3h4m5s代表1周2天3小时4分5秒" diff --git a/luci-app-beardropper/po/zh_Hant/beardropper.po b/luci-app-beardropper/po/zh_Hant/beardropper.po new file mode 100644 index 00000000..00c1da72 --- /dev/null +++ b/luci-app-beardropper/po/zh_Hant/beardropper.po @@ -0,0 +1,115 @@ +bearDropper#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 +msgid "Attempt Cycle" +msgstr "嘗試登錄時間段" + + +msgid "Setting" +msgstr "設置" + +msgid "Log" +msgstr "日誌" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 +msgid "Attempt Tolerance" +msgstr "最大嘗試登錄次數" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 +msgid "Ban Period" +msgstr "封禁IP時長" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/controller/bearDropper.lua:7 +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:7 +msgid "BearDropper" +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:20 +msgid "Blocked IP" +msgstr "屏蔽列表" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:52 +msgid "Blocked IP List" +msgstr "已屏蔽IP列表" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:20 +msgid "Collecting data..." +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:45 +msgid "Debug" +msgstr "調試" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:43 +msgid "Default" +msgstr "默認" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:22 +msgid "Enabled" +msgstr "啟用" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:29 +msgid "Entire" +msgstr "已有記錄" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:28 +msgid "Follow" +msgstr "後臺監控" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:40 +msgid "Log Level" +msgstr "日誌等級" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:10 +msgid "NOT RUNNING" +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:19 +msgid "Options" +msgstr "選項" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:7 +msgid "RUNNING" +msgstr "" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:26 +msgid "Running Mode" +msgstr "運行模式" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:42 +msgid "Silent" +msgstr "安靜" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:30 +msgid "Today" +msgstr "僅今日" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:44 +msgid "Verbose" +msgstr "詳細" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:31 +msgid "Wipe" +msgstr "清除所有" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 +msgid "failure attempts from a given IP required to trigger a ban" +msgstr "嘗試登錄超過設定值次數的IP將被封禁" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 +msgid "how long a ban exist once the attempt threshold is exceeded" +msgstr "IP將被封禁設定的時間" + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:8 +msgid "" +"luci-app-beardropper, the LuCI app built with the elegant firewall rule " +"generation on-the-fly script bearDropper.

Should you have any " +"questions, please refer to the repo:" +msgstr "" +"luci-app-beardropper, 是壹款能夠在開啟公網訪問之後對潛在的ssh attack進行防禦" +"的腳本.

如果妳在使用中有任何問題,請到項目中提問: " + +#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 +msgid "" +"time period during which attemptCount must be exceeded in order to trigger a " +"ban
Format: 1w2d3h4m5s represents 1week 2days 3hours 4minutes 5 seconds" +msgstr "" +"在設定的時間段內連續嘗試失敗
格式:1w2d3h4m5s代表1周2天3小時4分5秒" diff --git a/luci-app-beardropper/preview/1_setting.png b/luci-app-beardropper/preview/1_setting.png new file mode 100644 index 00000000..6cd9b92c Binary files /dev/null and b/luci-app-beardropper/preview/1_setting.png differ diff --git a/luci-app-beardropper/preview/2_blockedlist.png b/luci-app-beardropper/preview/2_blockedlist.png new file mode 100644 index 00000000..cfee88d3 Binary files /dev/null and b/luci-app-beardropper/preview/2_blockedlist.png differ diff --git a/luci-app-beardropper/root/etc/config/beardropper b/luci-app-beardropper/root/etc/config/beardropper new file mode 100644 index 00000000..ec5d0d4e --- /dev/null +++ b/luci-app-beardropper/root/etc/config/beardropper @@ -0,0 +1,18 @@ +config beardropper + option attemptCount '5' + option attemptPeriod '12h' + option banLength '1w' + option logFacility 'authpriv.notice' + option fileStateType 'bddb' + option fileStateTempPrefix '/tmp/beardropper' + option fileStatePersistPrefix '/etc/beardropper' + list firewallHookChain 'input_wan_rule:1' + list firewallHookChain 'forwarding_wan_rule:1' + option firewallTarget 'DROP' + list logRegex 's/[`$"\'\'']//g' + list logRegex '/has invalid shell, rejected$/d' + list logRegex '/^[A-Za-z ]+[0-9: ]+authpriv.warn dropbear\[.+([0-9]+\.){3}[0-9]+/p' + list logRegex '/^[A-Za-z ]+[0-9: ]+authpriv.info dropbear\[.+:\ Exit before auth:.*/p' + option defaultMode 'follow' + option enabled '1' + option logLevel '2' diff --git a/luci-app-beardropper/root/etc/init.d/beardropper b/luci-app-beardropper/root/etc/init.d/beardropper new file mode 100755 index 00000000..a7c1c98d --- /dev/null +++ b/luci-app-beardropper/root/etc/init.d/beardropper @@ -0,0 +1,46 @@ +#!/bin/sh /etc/rc.common +START=98 + +PROG=/usr/sbin/beardropper +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + +getKids() { + egrep "^PPid: *$1$" /proc/[0-9]*/s*s 2>/dev/null | cut -f3 -d/ | xargs echo +} + +start() { + service_start ${PROG} -m follow + echo "beardropper started!" +} + +stop() { + #PID=`cat /var/run/bearDropper.pid` + #kill `getKids $PID` + kill -9 `pgrep -f /usr/sbin/beardropper` + sleep 1 + service_stop ${PROG} + echo "beardropper exit...." +} + +restart() { + enabled=$(uci get beardropper.@beardropper[0].enabled) + pgrep -f ${PROG} >/dev/null + if [ $? -eq 0 ];then #running + if [ $enabled -eq 1 ]; then + stop + sleep 1 + echo "beardropper is restarting..." + start + else + stop + fi + else + if [ $enabled -eq 1 ]; then + start + else + exit 0 + fi + fi + +} diff --git a/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper b/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper new file mode 100644 index 00000000..0565aa65 --- /dev/null +++ b/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@beardropper[-1] + add ucitrack beardropper + set ucitrack.@beardropper[-1].init=beardropper + commit ucitrack +EOF + +rm -rf /tmp/luci-* +exit 0 diff --git a/luci-app-beardropper/root/usr/sbin/beardropper b/luci-app-beardropper/root/usr/sbin/beardropper new file mode 100755 index 00000000..d3015491 --- /dev/null +++ b/luci-app-beardropper/root/usr/sbin/beardropper @@ -0,0 +1,517 @@ +#!/bin/ash +# +# beardropper - dropbear log parsing ban agent for OpenWRT (Chaos Calmer rewrite of dropBrute.sh) +# http://github.com/robzr/bearDropper -- Rob Zwissler 11/2015 +# +# - lightweight, no dependencies, busybox ash + native OpenWRT commands +# - uses uci for configuration, overrideable via command line arguments +# - runs continuously in background (via init script) or periodically (via cron) +# - uses BIND time shorthand, ex: 1w5d3h1m8s is 1 week, 5 days, 3 hours, 1 minute, 8 seconds +# - Whitelist IP or CIDR entries (TBD) in uci config file +# - Records state file to tmpfs and intelligently syncs to persistent storage (can disable) +# - Persistent sync routines are optimized to avoid excessive writes (persistentStateWritePeriod) +# - Every run occurs in one of the following modes. If not specified, interval mode (24 hours) is +# the default when not specified (the init script specifies follow mode via command line) +# +# "follow" mode follows syslog to process entries as they happen; generally launched via init +# script. Responds the fastest, runs the most efficiently, but is always in memory. +# "interval" mode only processes entries going back the specified interval; requires +# more processing than today mode, but responds more accurately. Use with cron. +# "today" mode looks at log entries from the day it is being run, simple and lightweight, +# generally run from cron periodically (same simplistic behavior as dropBrute.sh) +# "entire" mode runs through entire contents of the syslog ring buffer +# "wipe" mode tears down the firewall rules and removes the state files + +# Load UCI config variable, or use default if not set +# Args: $1 = variable name (also uci option name), $2 = default_value +uciSection='beardropper.@[0]' +uciLoadVar () { + local getUci + getUci=`uci -q get ${uciSection}."$1"` || getUci="$2" + eval $1=\'$getUci\'; +} +uciLoad() { + local tFile=`mktemp` delim=" +" + [ "$1" = -d ] && { delim="$2"; shift 2; } + uci -q -d"$delim" get "$uciSection.$1" 2>/dev/null >$tFile + if [ $? = 0 ] ; then + sed -e s/^\'// -e s/\'$// <$tFile + else + while [ -n "$2" ]; do echo $2; shift; done + fi + rm -f $tFile +} + +# Common config variables - edit these in /etc/config/beardropper +# or they can be overridden at runtime with command line options +# +uciLoadVar defaultMode entire +uciLoadVar enabled 0 +uciLoadVar attemptCount 10 +uciLoadVar attemptPeriod 12h +uciLoadVar banLength 1w +uciLoadVar logLevel 1 +uciLoadVar logFacility authpriv.notice +uciLoadVar persistentStateWritePeriod -1 +uciLoadVar fileStateType bddb +uciLoadVar fileStateTempPrefix /tmp/beardropper +uciLoadVar fileStatePersistPrefix /etc/beardropper +firewallHookChains="`uciLoad -d \ firewallHookChain input_wan_rule:1 forwarding_wan_rule:1`" +uciLoadVar firewallTarget DROP + +# Not commonly changed, but changeable via uci or cmdline (primarily +# to enable multiple parallel runs with different parameters) +uciLoadVar firewallChain beardropper + +# Advanced variables, changeable via uci only (no cmdline), it is +# unlikely that these will need to be changed, but just in case... +# +uciLoadVar syslogTag "beardropper[$$]" +# how often to attempt to expire bans when in follow mode +uciLoadVar followModeCheckInterval 30m +uciLoadVar cmdLogread 'logread' # for tuning, ex: "logread -l250" +uciLoadVar cmdLogreadEba 'logread' # for "Exit before auth:" backscanning +uciLoadVar formatLogDate '%b %e %H:%M:%S %Y' # used to convert syslog dates +uciLoadVar formatTodayLogDateRegex '^%a %b %e ..:..:.. %Y' # filter for today mode + +# Begin functions +# +# Clear bddb entries from environment +bddbClear () { + local bddbVar + for bddbVar in `set | egrep '^bddb_[0-9_]*=' | cut -f1 -d= | xargs echo -n` ; do eval unset $bddbVar ; done + bddbStateChange=1 +} + +# Returns count of unique IP entries in environment +bddbCount () { set | egrep '^bddb_[0-9_]*=' | wc -l ; } + +# Loads existing bddb file into environment +# Arg: $1 = file, $2 = type (bddb/bddbz), $3 = +bddbLoad () { + local loadFile="$1.$2" fileType="$2" + if [ "$fileType" = bddb -a -f "$loadFile" ] ; then + . "$loadFile" + elif [ "$fileType" = bddbz -a -f "$loadFile" ] ; then + local tmpFile="`mktemp`" + zcat $loadFile > "$tmpFile" + . "$tmpFile" + rm -f "$tmpFile" + fi + bddbStateChange=0 +} + +# Saves environment bddb entries to file, Arg: $1 = file to save in +bddbSave () { + local saveFile="$1.$2" fileType="$2" + if [ "$fileType" = bddb ] ; then + set | egrep '^bddb_[0-9_]*=' | sed s/\'//g > "$saveFile" + elif [ "$fileType" = bddbz ] ; then + set | egrep '^bddb_[0-9_]*=' | sed s/\'//g | gzip -c > "$saveFile" + fi + bddbStateChange=0 +} + +# Set bddb record status=1, update ban time flag with newest +# Args: $1=IP Address $2=timeFlag +bddbEnableStatus () { + local record=`echo $1 | sed -e 's/\./_/g' -e 's/^/bddb_/'` + local newestTime=`bddbGetTimes $1 | sed 's/.* //' | xargs echo $2 | tr \ '\n' | sort -n | tail -1 ` + eval $record="1,$newestTime" + bddbStateChange=1 +} + +# Args: $1=IP Address +bddbGetStatus () { + bddbGetRecord $1 | cut -d, -f1 +} + +# Args: $1=IP Address +bddbGetTimes () { + bddbGetRecord $1 | cut -d, -f2- +} + +# Args: $1 = IP address, $2 [$3 ...] = timestamp (seconds since epoch) +bddbAddRecord () { + local ip="`echo "$1" | tr . _`" ; shift + local newEpochList="$@" status="`eval echo \\\$bddb_$ip | cut -f1 -d,`" + local oldEpochList="`eval echo \\\$bddb_$ip | cut -f2- -d, | tr , \ `" + local epochList=`echo $oldEpochList $newEpochList | xargs -n 1 echo | sort -un | xargs echo -n | tr \ ,` + [ -z "$status" ] && status=0 + eval "bddb_$ip"\=\"$status,$epochList\" + bddbStateChange=1 +} + +# Args: $1 = IP address +bddbRemoveRecord () { + local ip="`echo "$1" | tr . _`" + eval unset bddb_$ip + bddbStateChange=1 +} + +# Returns all IPs (not CIDR) present in records +bddbGetAllIPs () { + local ipRaw record + set | egrep '^bddb_[0-9_]*=' | tr \' \ | while read record ; do + ipRaw=`echo $record | cut -f1 -d= | sed 's/^bddb_//'` + if [ `echo $ipRaw | tr _ \ | wc -w` -eq 4 ] ; then + echo $ipRaw | tr _ . + fi + done +} + +# retrieve single IP record, Args: $1=IP +bddbGetRecord () { + local record + record=`echo $1 | sed -e 's/\./_/g' -e 's/^/bddb_/'` + eval echo \$$record +} + +isValidBindTime () { echo "$1" | egrep -q '^[0-9]+$|^([0-9]+[wdhms]?)+$' ; } + +# expands Bind time syntax into seconds (ex: 3w6d23h59m59s), Arg: $1=time string +expandBindTime () { + isValidBindTime "$1" || { logLine 0 "Error: Invalid time specified ($1)" >&2 ; exit 254 ; } + echo $((`echo "$1" | sed -e 's/w+*/*7d+/g' -e 's/d+*/*24h+/g' -e 's/h+*/*60m+/g' -e 's/m+*/*60+/g' \ + -e s/s//g -e s/+\$//`)) +} + +# Args: $1 = loglevel, $2 = info to log +logLine () { + [ $1 -gt $logLevel ] && return + shift + if [ "$logFacility" = "stdout" ] ; then echo "$@" + elif [ "$logFacility" = "stderr" ] ; then echo "$@" >&2 + else logger -t "$syslogTag" -p "$logFacility" "$@" + fi +} + +# extra validation, fails safe. Args: $1=log line +getLogTime () { + local logDateString=`echo "$1" | sed -n \ + 's/^[A-Z][a-z]* \([A-Z][a-z]* *[0-9][0-9]* *[0-9][0-9]*:[0-9][0-9]:[0-9][0-9] [0-9][0-9]*\) .*$/\1/p'` + date -d"$logDateString" -D"$formatLogDate" +%s || logLine 1 \ + "Error: logDateString($logDateString) malformed line ($1)" +} + +# extra validation, fails safe. Args: $1=log line +getLogIP () { + local logLine="$1" + local ebaPID=`echo "$logLine" | sed -n 's/^.*authpriv.info \(dropbear\[[0-9]*\]:\) Exit before auth:.*/\1/p'` + [ -n "$ebaPID" ] && logLine=`$cmdLogreadEba | fgrep "${ebaPID} Child connection from "` + echo "$logLine" | sed -n 's/^.*[^0-9]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p' +} + +# Args: $1=IP +unBanIP () { + if iptables -C $firewallChain -s $ip -j "$firewallTarget" 2>/dev/null ; then + logLine 1 "Removing ban rule for IP $ip from iptables" + iptables -D $firewallChain -s $ip -j "$firewallTarget" + else + logLine 3 "unBanIP() Ban rule for $ip not present in iptables" + fi +} + +# Args: $1=IP +banIP () { + local ip="$1" x chain position + if ! iptables -nL $firewallChain >/dev/null 2>/dev/null ; then + logLine 1 "Creating iptables chain $firewallChain" + iptables -N $firewallChain + fi + for x in $firewallHookChains ; do + chain="${x%:*}" ; position="${x#*:}" + if [ $position -ge 0 ] && ! iptables -C $chain -j $firewallChain 2>/dev/null ; then + logLine 1 "Inserting hook into iptables chain $chain" + if [ $position = 0 ] ; then + iptables -A $chain -j $firewallChain + else + iptables -I $chain $position -j $firewallChain + fi ; fi + done + if ! iptables -C $firewallChain -s $ip -j "$firewallTarget" 2>/dev/null ; then + logLine 1 "Inserting ban rule for IP $ip into iptables chain $firewallChain" + iptables -A $firewallChain -s $ip -j "$firewallTarget" + else + logLine 3 "banIP() rule for $ip already present in iptables chain" + fi +} + +wipeFirewall () { + local x chain position + for x in $firewallHookChains ; do + chain="${x%:*}" ; position="${x#*:}" + if [ $position -ge 0 ] ; then + if iptables -C $chain -j $firewallChain 2>/dev/null ; then + logLine 1 "Removing hook from iptables chain $chain" + iptables -D $chain -j $firewallChain + fi ; fi + done + if iptables -nL $firewallChain >/dev/null 2>/dev/null ; then + logLine 1 "Flushing and removing iptables chain $firewallChain" + iptables -F $firewallChain 2>/dev/null + iptables -X $firewallChain 2>/dev/null + fi +} + +# review state file for expired records - we could add the bantime to +# the rule via --comment but I can't think of a reason why that would +# be necessary unless there is a bug in the expiration logic. The +# state db should be more resiliant than the firewall in practice. +# +bddbCheckStatusAll () { + local now=`date +%s` + bddbGetAllIPs | while read ip ; do + if [ `bddbGetStatus $ip` -eq 1 ] ; then + logLine 3 "bddbCheckStatusAll($ip) testing banLength:$banLength + bddbGetTimes:`bddbGetTimes $ip` vs. now:$now" + if [ $((banLength + `bddbGetTimes $ip`)) -lt $now ] ; then + logLine 1 "Ban expired for $ip, removing from iptables" + unBanIP $ip + bddbRemoveRecord $ip + else + logLine 3 "bddbCheckStatusAll($ip) not expired yet" + banIP $ip + fi + elif [ `bddbGetStatus $ip` -eq 0 ] ; then + local times=`bddbGetTimes $ip | tr , \ ` + local timeCount=`echo $times | wc -w` + local lastTime=`echo $times | cut -d\ -f$timeCount` + if [ $((lastTime + attemptPeriod)) -lt $now ] ; then + bddbRemoveRecord $ip + fi ; fi + saveState + done + loadState +} + +# Only used when status is already 0 and possibly going to 1, Args: $1=IP +bddbEvaluateRecord () { + local ip=$1 firstTime lastTime + local times=`bddbGetRecord $1 | cut -d, -f2- | tr , \ ` + local timeCount=`echo $times | wc -w` + local didBan=0 + + # 1: not enough attempts => do nothing and exit + # 2: attempts exceed threshold in time period => ban + # 3: attempts exceed threshold but time period is too long => trim oldest time, recalculate + while [ $timeCount -ge $attemptCount ] ; do + firstTime=`echo $times | cut -d\ -f1` + lastTime=`echo $times | cut -d\ -f$timeCount` + timeDiff=$((lastTime - firstTime)) + logLine 3 "bddbEvaluateRecord($ip) count=$timeCount timeDiff=$timeDiff/$attemptPeriod" + if [ $timeDiff -le $attemptPeriod ] ; then + bddbEnableStatus $ip $lastTime + logLine 2 "bddbEvaluateRecord($ip) exceeded ban threshold, adding to iptables" + banIP $ip + didBan=1 + fi + times=`echo $times | cut -d\ -f2-` + timeCount=`echo $times | wc -w` + done + [ $didBan = 0 ] && logLine 2 "bddbEvaluateRecord($ip) does not exceed threshhold, skipping" +} + +# Reads filtered log line and evaluates for action Args: $1=log line +processLogLine () { + local time=`getLogTime "$1"` + local ip=`getLogIP "$1"` + local status="`bddbGetStatus $ip`" + + if [ "$status" = -1 ] ; then + logLine 2 "processLogLine($ip,$time) IP is whitelisted" + elif [ "$status" = 1 ] ; then + if [ "`bddbGetTimes $ip`" -ge $time ] ; then + logLine 2 "processLogLine($ip,$time) already banned, ban timestamp already equal or newer" + else + logLine 2 "processLogLine($ip,$time) already banned, updating ban timestamp" + bddbEnableStatus $ip $time + fi + banIP $ip + elif [ -n "$ip" -a -n "$time" ] ; then + bddbAddRecord $ip $time + logLine 2 "processLogLine($ip,$time) Added record, comparing" + bddbEvaluateRecord $ip + else + logLine 1 "processLogLine($ip,$time) malformed line ($1)" + fi +} + +# Args, $1=-f to force a persistent write (unless lastPersistentStateWrite=-1) +saveState () { + local forcePersistent=0 + [ "$1" = "-f" ] && forcePersistent=1 + + if [ $bddbStateChange -gt 0 ] ; then + logLine 3 "saveState() saving to temp state file" + bddbSave "$fileStateTempPrefix" "$fileStateType" + logLine 3 "saveState() now=`date +%s` lPSW=$lastPersistentStateWrite pSWP=$persistentStateWritePeriod fP=$forcePersistent" + fi + if [ $persistentStateWritePeriod -gt 1 ] || [ $persistentStateWritePeriod -eq 0 -a $forcePersistent -eq 1 ] ; then + if [ $((`date +%s` - lastPersistentStateWrite)) -ge $persistentStateWritePeriod ] || [ $forcePersistent -eq 1 ] ; then + if [ ! -f "$fileStatePersist" ] || ! cmp -s "$fileStateTemp" "$fileStatePersist" ; then + logLine 2 "saveState() writing to persistent state file" + bddbSave "$fileStatePersistPrefix" "$fileStateType" + lastPersistentStateWrite="`date +%s`" + fi ; fi ; fi +} + +loadState () { + bddbClear + bddbLoad "$fileStatePersistPrefix" "$fileStateType" + bddbLoad "$fileStateTempPrefix" "$fileStateType" + logLine 2 "loadState() loaded `bddbCount` entries" +} + +printUsage () { + cat <<-_EOF_ + Usage: beardropper [-m mode] [-a #] [-b #] [-c ...] [-C ...] [-f ...] [-l #] [-j ...] [-p #] [-P #] [-s ...] + + Running Modes (-m) (def: $defaultMode) + follow constantly monitors log + entire processes entire log contents + today processes log entries from same day only + # interval mode, specify time string or seconds + wipe wipe state files, unhook and remove firewall chain + + Options + -a # attempt count before banning (def: $attemptCount) + -b # ban length once attempts hit threshold (def: $banLength) + -c ... firewall chain to record bans (def: $firewallChain) + -C ... firewall chains/positions to hook into (def: $firewallHookChains) + -f ... log facility (syslog facility or stdout/stderr) (def: $logFacility) + -j ... firewall target (def: $firewallTarget) + -l # log level - 0=off, 1=standard, 2=verbose (def: $logLevel) + -p # attempt period which attempt counts must happen in (def: $attemptPeriod) + -P # persistent state file write period (def: $persistentStateWritePeriod) + -s ... persistent state file prefix (def: $fileStatePersistPrefix) + -t ... temporary state file prefix (def: $fileStateTempPrefix) + + All time strings can be specified in seconds, or using BIND style + time strings, ex: 1w2d3h5m30s is 1 week, 2 days, 3 hours, etc... + + _EOF_ +} + +# Begin main logic +# +unset logMode +while getopts a:b:c:C:f:hj:l:m:p:P:s:t: arg ; do + case "$arg" in + a) attemptCount="$OPTARG" ;; + b) banLength="$OPTARG" ;; + c) firewallChain="$OPTARG" ;; + C) firewallHookChains="$OPTARG" ;; + f) logFacility="$OPTARG" ;; + j) firewallTarget="$OPTARG" ;; + l) logLevel="$OPTARG" ;; + m) logMode="$OPTARG" ;; + p) attemptPeriod="$OPTARG" ;; + P) persistentStateWritePeriod="$OPTARG" ;; + s) fileStatePersistPrefix="$OPTARG" ;; + s) fileStatePersistPrefix="$OPTARG" ;; + *) printUsage + exit 254 + esac + shift `expr $OPTIND - 1` +done +[ -z $logMode ] && logMode="$defaultMode" + +fileStateTemp="$fileStateTempPrefix.$fileStateType" +fileStatePersist="$fileStatePersistPrefix.$fileStateType" + +attemptPeriod=`expandBindTime $attemptPeriod` +banLength=`expandBindTime $banLength` +[ $persistentStateWritePeriod != -1 ] && persistentStateWritePeriod=`expandBindTime $persistentStateWritePeriod` +followModeCheckInterval=`expandBindTime $followModeCheckInterval` +exitStatus=0 + +# Here we convert the logRegex list into a sed -f file +fileRegex="/tmp/beardropper.$$.regex" +uciLoad logRegex 's/[`$"'\\\'']//g' '/has invalid shell, rejected$/d' \ + '/^[A-Za-z ]+[0-9: ]+authpriv.warn dropbear\[.+([0-9]+\.){3}[0-9]+/p' \ + '/^[A-Za-z ]+[0-9: ]+authpriv.info dropbear\[.+:\ Exit before auth:.*/p' > "$fileRegex" +lastPersistentStateWrite="`date +%s`" +loadState +bddbCheckStatusAll + +# main event loops + +if [ "$logMode" = follow ] ; then + logLine 1 "Running in follow mode" + readsSinceSave=0 lastCheckAll=0 worstCaseReads=1 tmpFile="/tmp/beardropper.$$.1" +# Verify if these do any good - try saving to a temp. Scope may make saveState useless. + trap "rm -f "$tmpFile" "$fileRegex" ; exit " SIGINT + [ $persistentStateWritePeriod -gt 1 ] && worstCaseReads=$((persistentStateWritePeriod / followModeCheckInterval)) + firstRun=1 + $cmdLogread -f | while read -t $followModeCheckInterval line || true ; do + if [ $firstRun -eq 1 ] ; then + trap "saveState -f" SIGHUP + trap "saveState -f; exit" SIGINT + firstRun=0 + fi + sed -nEf "$fileRegex" > "$tmpFile" <<-_EOF_ + $line + _EOF_ + line="`cat $tmpFile`" + [ -n "$line" ] && processLogLine "$line" + logLine 3 "ReadComp:$readsSinceSave/$worstCaseReads" + if [ $((++readsSinceSave)) -ge $worstCaseReads ] ; then + now="`date +%s`" + if [ $((now - lastCheckAll)) -ge $followModeCheckInterval ] ; then + bddbCheckStatusAll + lastCheckAll="$now" + saveState + readsSinceSave=0 + fi + fi + done +elif [ "$logMode" = entire ] ; then + logLine 1 "Running in entire mode" + $cmdLogread | sed -nEf "$fileRegex" | while read line ; do + processLogLine "$line" + saveState + done + loadState + bddbCheckStatusAll + saveState -f +elif [ "$logMode" = today ] ; then + logLine 1 "Running in today mode" + # merge the egrep into sed with -e /^$formatTodayLogDateRegex/!d + $cmdLogread | egrep "`date +\'$formatTodayLogDateRegex\'`" | sed -nEf "$fileRegex" | while read line ; do + processLogLine "$line" + saveState + done + loadState + bddbCheckStatusAll + saveState -f +elif isValidBindTime "$logMode" ; then + logInterval=`expandBindTime $logMode` + logLine 1 "Running in interval mode (reviewing $logInterval seconds of log entries)..." + timeStart=$((`date +%s` - logInterval)) + $cmdLogread | sed -nEf "$fileRegex" | while read line ; do + timeWhen=`getLogTime "$line"` + [ $timeWhen -ge $timeStart ] && processLogLine "$line" + saveState + done + loadState + bddbCheckStatusAll + saveState -f +elif [ "$logMode" = wipe ] ; then + logLine 2 "Wiping state files, unhooking and removing iptables chains" + wipeFirewall + if [ -f "$fileStateTemp" ] ; then + logLine 1 "Removing non-persistent statefile ($fileStateTemp)" + rm -f "$fileStateTemp" + fi + if [ -f "$fileStatePersist" ] ; then + logLine 1 "Removing persistent statefile ($fileStatePersist)" + rm -f "$fileStatePersist" + fi +else + logLine 0 "Error: invalid log mode ($logMode)" + exitStatus=254 +fi + +rm -f "$fileRegex" +exit $exitStatus diff --git a/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json b/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json new file mode 100644 index 00000000..65451ae8 --- /dev/null +++ b/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json @@ -0,0 +1,11 @@ +{ + "luci-app-beardropper": { + "description": "Grant UCI access for luci-app-beardropper", + "read": { + "uci": [ "beardropper" ] + }, + "write": { + "uci": [ "beardropper" ] + } + } +} \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/Makefile b/luci-app-cloudflarespeedtest/Makefile new file mode 100644 index 00000000..ae338d5c --- /dev/null +++ b/luci-app-cloudflarespeedtest/Makefile @@ -0,0 +1,21 @@ +# Author: mingxiaoyu (fengying0347@163.com) +# +# Licensed to the public under the GNU General Public License v3. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-cloudflarespeedtest + +LUCI_TITLE:=LuCI support for Cloudflares Speed Test +LUCI_DEPENDS:=+cdnspeedtest +openssl-util +curl +LUCI_PKGARCH:=all +PKG_VERSION:=1.4.2 +PKG_RELEASE:=0 +PKG_LICENSE:=AGPL-3.0 +PKG_MAINTAINER:=mingxiaoyu + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + diff --git a/luci-app-cloudflarespeedtest/luasrc/controller/cloudflarespeedtest.lua b/luci-app-cloudflarespeedtest/luasrc/controller/cloudflarespeedtest.lua new file mode 100644 index 00000000..90a94ced --- /dev/null +++ b/luci-app-cloudflarespeedtest/luasrc/controller/cloudflarespeedtest.lua @@ -0,0 +1,50 @@ +-- Copyright (C) 2020 mingxiaoyu +-- Licensed to the public under the GNU General Public License v3. +module("luci.controller.cloudflarespeedtest",package.seeall) + +function index() + + if not nixio.fs.access('/etc/config/cloudflarespeedtest') then + return + end + + local page + page = entry({"admin", "services", "cloudflarespeedtest"}, firstchild(), _("Cloudflare Speed Test"), 99) + page.dependent = false + page.acl_depends = { "luci-app-cloudflarespeedtest" } + + entry({"admin", "services", "cloudflarespeedtest", "general"}, cbi("cloudflarespeedtest/cloudflarespeedtest"), _("Base Setting"), 1) + entry({"admin", "services", "cloudflarespeedtest", "logread"}, form("cloudflarespeedtest/logread"), _("Logs"), 2) + + entry({"admin", "services", "cloudflarespeedtest", "status"}, call("act_status")).leaf = true + entry({"admin", "services", "cloudflarespeedtest", "stop"}, call("act_stop")) + entry({"admin", "services", "cloudflarespeedtest", "start"}, call("act_start")) + entry({"admin", "services", "cloudflarespeedtest", "getlog"}, call("get_log")) +end + +function act_status() + local e = {} + e.running = luci.sys.call("busybox ps -w | grep cdnspeedtest | grep -v grep >/dev/null") == 0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function act_stop() + luci.sys.call("busybox ps -w | grep cdnspeedtest | grep -v grep | xargs kill -9 >/dev/null") + luci.http.write('') +end + +function act_start() + act_stop() + luci.sys.call("/usr/bin/cloudflarespeedtest/cloudflarespeedtest.sh start") + luci.http.write('') +end + +function get_log() + local fs = require "nixio.fs" + local e = {} + e.running = luci.sys.call("busybox ps -w | grep cdnspeedtest | grep -v grep >/dev/null") == 0 + e.log= fs.readfile("/var/log/cloudflarespeedtest.log") or "" + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/luci-app-cloudflarespeedtest/luasrc/model/cbi/cloudflarespeedtest/cloudflarespeedtest.lua b/luci-app-cloudflarespeedtest/luasrc/model/cbi/cloudflarespeedtest/cloudflarespeedtest.lua new file mode 100644 index 00000000..02a2f276 --- /dev/null +++ b/luci-app-cloudflarespeedtest/luasrc/model/cbi/cloudflarespeedtest/cloudflarespeedtest.lua @@ -0,0 +1,229 @@ +require("luci.sys") + +local uci = luci.model.uci.cursor() + +m = Map('cloudflarespeedtest') +m.title = translate('Cloudflare Speed Test') +m.description = 'GitHub' + +-- [[ 基本设置 ]]-- + +s = m:section(NamedSection, 'global') +s.addremove = false +s.anonymous = true + +o=s:option(Flag,"enabled",translate("Enabled")) +o.description = translate("Enabled scheduled task test Cloudflare IP") +o.rmempty=false +o.default = 0 + +o=s:option(Flag,"ipv6_enabled",translate("IPv6 Enabled")) +o.description = translate("Provides only one method, if IPv6 is enabled, IPv4 will not be tested") +o.default = 0 +o.rmempty=false + +o=s:option(Value,"speed",translate("Broadband speed")) +o.description =translate("100M broadband download speed is about 12M/s. It is not recommended to fill in an excessively large value, and it may run all the time."); +o.datatype ="uinteger" +o.rmempty=false + +o=s:option(Value,"custome_url",translate("Custome Url")) +o.description = translate("How to create") +o.rmempty=false + +o=s:option(Flag,"custome_cors_enabled",translate("Custome Cron Enabled")) +o.default = 0 +o.rmempty=false + +o = s:option(Value, "custome_cron", translate("Custome Cron")) +o:depends("custome_cors_enabled", 1) + +hour = s:option(Value, "hour", translate("Hour")) +hour.datatype = "range(0,23)" +hour:depends("custome_cors_enabled", 0) + +minute = s:option(Value, "minute", translate("Minute")) +minute.datatype = "range(0,59)" +minute:depends("custome_cors_enabled", 0) + +o = s:option(ListValue, "proxy_mode", translate("Proxy Mode")) +o:value("nil", translate("HOLD")) +o.description = translate("during the speed testing, swith to which mode") +o:value("gfw", translate("GFW List")) +o:value("close", translate("CLOSE")) +o.default = "gfw" + +o=s:option(Flag,"advanced",translate("Advanced")) +o.description = translate("Not recommended") +o.default = 0 +o.rmempty=false + +o = s:option(Value, "threads", translate("Thread")) +o.datatype ="uinteger" +o.default = 200 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Value, "tl", translate("Average Latency Cap")) +o.datatype ="uinteger" +o.default = 200 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Value, "tll", translate("Average Latency Lower Bound")) +o.datatype ="uinteger" +o.default = 40 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Value, "t", translate("Delayed speed measurement time")) +o.datatype ="uinteger" +o.default = 4 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Value, "dt", translate("Download speed test time")) +o.datatype ="uinteger" +o.default = 10 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Value, "dn", translate("Number of download speed tests")) +o.datatype ="uinteger" +o.default = 2 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Flag, "dd", translate("Disable download speed test")) +o.default = 0 +o.rmempty=true +o:depends("advanced", 1) + +o = s:option(Value, "tp", translate("Port")) +o.rmempty=true +o.default = 443 +o.datatype ="port" +o:depends("advanced", 1) + +o = s:option(DummyValue, '', '') +o.rawhtml = true +o.template = "cloudflarespeedtest/actions" + +s = m:section(NamedSection, "servers", "section", translate("Third party applications settings")) + +if nixio.fs.access("/etc/config/shadowsocksr") then + s:tab("ssr", translate("Shadowsocksr Plus+")) + + o=s:taboption("ssr", Flag, "ssr_enabled",translate("Shadowsocksr Plus+ Enabled")) + o.rmempty=true + + local ssr_server_table = {} + uci:foreach("shadowsocksr", "servers", function(s) + if s.alias then + ssr_server_table[s[".name"]] = "[%s]:%s" % {string.upper(s.v2ray_protocol or s.type), s.alias} + elseif s.server and s.server_port then + ssr_server_table[s[".name"]] = "[%s]:%s:%s" % {string.upper(s.v2ray_protocol or s.type), s.server, s.server_port} + end + end) + + local ssr_key_table = {} + for key, _ in pairs(ssr_server_table) do + table.insert(ssr_key_table, key) + end + + table.sort(ssr_key_table) + + o = s:taboption("ssr", DynamicList, "ssr_services", + translate("Shadowsocksr Servers"), + translate("Please select a service")) + + for _, key in pairs(ssr_key_table) do + o:value(key, ssr_server_table[key]) + end + o:depends("ssr_enabled", 1) + o.forcewrite = true + +end + + +if nixio.fs.access("/etc/config/passwall") then + s:tab("passwalltab", translate("passwall")) + + o=s:taboption("passwalltab", Flag, "passwall_enabled",translate("Passwall Enabled")) + o.rmempty=true + + local passwall_server_table = {} + uci:foreach("passwall", "nodes", function(s) + if s.remarks then + passwall_server_table[s[".name"]] = "[%s]:%s" % {string.upper(s.protocol or s.type), s.remarks} + end + end) + + local passwall_key_table = {} + for key, _ in pairs(passwall_server_table) do + table.insert(passwall_key_table, key) + end + + table.sort(passwall_key_table) + + o = s:taboption("passwalltab", DynamicList, "passwall_services", + translate("Passwall Servers"), + translate("Please select a service")) + + for _, key in pairs(passwall_key_table) do + o:value(key, passwall_server_table[key]) + end + o:depends("passwall_enabled", 1) + o.forcewrite = true + +end + +s:tab("dnstab", translate("DNS")) + +o=s:taboption("dnstab", Flag, "DNS_enabled",translate("DNS Enabled")) + +o=s:taboption("dnstab", ListValue, "DNS_type", translate("DNS Type")) +o:value("aliyu", translate("AliyuDNS")) +o:depends("DNS_enabled", 1) + +o=s:taboption("dnstab", Value,"app_key",translate("Access Key ID")) +o.rmempty=false +o:depends("DNS_enabled", 1) +o=s:taboption("dnstab", Value,"app_secret",translate("Access Key Secret")) +o.rmempty=false +o:depends("DNS_enabled", 1) + +o=s:taboption("dnstab", Value,"main_domain",translate("Main Domain"),translate("For example: test.github.com -> github.com")) +o.rmempty=false +o:depends("DNS_enabled", 1) +o=s:taboption("dnstab", Value,"sub_domain",translate("Sub Domain"),translate("For example: test.github.com -> test")) +o.rmempty=false +o:depends("DNS_enabled", 1) + +o=s:taboption("dnstab", ListValue, "line", translate("Lines")) +o:value("default", translate("default")) +o:value("telecom", translate("telecom")) +o:value("unicom", translate("unicom")) +o:value("mobile", translate("mobile")) +o:depends("DNS_enabled", 1) +o.default ="telecom" + +e=m:section(TypedSection,"global",translate("Best IP")) +e.anonymous=true +local a="/usr/share/cloudflarespeedtestresult.txt" +tvIPs=e:option(TextValue,"syipstext") +tvIPs.rows=8 +tvIPs.readonly="readonly" +tvIPs.wrap="off" + +function tvIPs.cfgvalue(e,e) + sylogtext="" + if a and nixio.fs.access(a) then + sylogtext=luci.sys.exec("tail -n 100 %s"%a) + end + return sylogtext +end +tvIPs.write=function(e,e,e) +end + +return m diff --git a/luci-app-cloudflarespeedtest/luasrc/model/cbi/cloudflarespeedtest/logread.lua b/luci-app-cloudflarespeedtest/luasrc/model/cbi/cloudflarespeedtest/logread.lua new file mode 100644 index 00000000..1af7b661 --- /dev/null +++ b/luci-app-cloudflarespeedtest/luasrc/model/cbi/cloudflarespeedtest/logread.lua @@ -0,0 +1,9 @@ +log = SimpleForm("logview") +log.submit = false +log.reset = false + +t = log:field(DummyValue, '', '') +t.rawhtml = true +t.template = 'cloudflarespeedtest/logread' + +return log diff --git a/luci-app-cloudflarespeedtest/luasrc/view/cloudflarespeedtest/actions.htm b/luci-app-cloudflarespeedtest/luasrc/view/cloudflarespeedtest/actions.htm new file mode 100644 index 00000000..cd117f88 --- /dev/null +++ b/luci-app-cloudflarespeedtest/luasrc/view/cloudflarespeedtest/actions.htm @@ -0,0 +1,56 @@ +<%+cbi/valueheader%> + + +
+

<%:Collecting data...%>

+
+ + +
+ + +
+ +<%+cbi/valuefooter%> \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/luasrc/view/cloudflarespeedtest/logread.htm b/luci-app-cloudflarespeedtest/luasrc/view/cloudflarespeedtest/logread.htm new file mode 100644 index 00000000..c118d57d --- /dev/null +++ b/luci-app-cloudflarespeedtest/luasrc/view/cloudflarespeedtest/logread.htm @@ -0,0 +1,23 @@ +<%+cbi/valueheader%> +<%:Auto refresh%> + + + +<%+cbi/valuefooter%> \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/po/zh-cn b/luci-app-cloudflarespeedtest/po/zh-cn new file mode 120000 index 00000000..8d69574d --- /dev/null +++ b/luci-app-cloudflarespeedtest/po/zh-cn @@ -0,0 +1 @@ +zh_Hans \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/po/zh_Hans/cloudflarespeedtest.po b/luci-app-cloudflarespeedtest/po/zh_Hans/cloudflarespeedtest.po new file mode 100644 index 00000000..6a69b319 --- /dev/null +++ b/luci-app-cloudflarespeedtest/po/zh_Hans/cloudflarespeedtest.po @@ -0,0 +1,198 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2022-02-10 20:44+0000\n" +"Last-Translator: mingxiaoyu \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.8-dev\n" + +msgid "GitHub" +msgstr "GitHub项目地址" + +msgid "Cloudflare Speed Test" +msgstr "Cloudflare速度测试" + +msgid "Base Setting" +msgstr "基本设置" + +msgid "Logs" +msgstr "日志" + +msgid "Enabled" +msgstr "启用" + +msgid "Enabled scheduled task test Cloudflare IP" +msgstr "启用计划任务测试 Cloudflare IP" + +msgid "Broadband speed" +msgstr "宽带速度" + +msgid "Custome Url Enabled" +msgstr "启用自定义地址" + +msgid "Custome Url" +msgstr "自定义地址" + +msgid "Custome Cron Enabled" +msgstr "启用自定义Cron" + +msgid "Custome Cron" +msgstr "自定义Cron" + +msgid "Hour" +msgstr "小时" + +msgid "Minute" +msgstr "分钟" + +msgid "100M broadband download speed is about 12M/s. It is not recommended to fill in an excessively large value, and it may run all the time." +msgstr "100M的宽带下载大概为速度12M/s。不推荐填过大的值,可能出现一直运行。" + +msgid "Shadowsocksr Plus+ Enabled" +msgstr "启用ShadowSocksR Plus+" + +msgid "Passwall Enabled" +msgstr "启用Passwall" + +msgid "Shadowsocksr Servers" +msgstr "ShadowSocksR Plus+服务" + +msgid "Passwall Servers" +msgstr "Passwall服务" + +msgid "Please select a service" +msgstr "请选择一项服务" + +msgid "Speed Test" +msgstr "速度测试" + +msgid "Best IP" +msgstr "最佳IP" + +msgid "TEST AND APPLY" +msgstr "测试并应用" + +msgid "STOP" +msgstr "停止" + +msgid "Advanced" +msgstr "高级模式" + +msgid "Thread" +msgid "线程数" + +msgid "Average Latency Cap" +msgstr "平均延迟上限" + +msgid "Average Latency Lower Bound" +msgstr "平均延迟下限" + +msgid "IPv6 Enabled" +msgstr "启用IPv6" + +msgid "Delayed speed measurement time" +msgstr "延迟测速次数" + +msgid "Download speed test time" +msgstr "下载测速时间" + +msgid "Number of download speed tests" +msgstr "下载测速数量" + +msgid "Disable download speed test" +msgstr "禁用下载测速" + +msgid "Port" +msgstr "端口" + +msgid "Not recommended" +msgstr "不推荐" + +msgid "Provides only one method, if IPv6 is enabled, IPv4 will not be tested" +msgstr "IPv4和IPv6只能选一个!!!!!!" + +msgid "How to create" +msgstr "如何创建" + +msgid "RUNNING" +msgstr "运行中" + +msgid "NOT RUNNING" +msgstr "未运行" + +msgid "Collecting data..." +msgstr "收集数据中..." + +msgid "Third party applications settings" +msgstr "第三方应用设置" + +msgid "Auto refresh" +msgstr "自动刷新" + +msgid "Status" +msgstr "状态" + +msgid "Proxy Mode" +msgstr "代理模式" + +msgid "HOLD" +msgstr "保持" + +msgid "GFW List" +msgid "GFW列表" + +msgid "CLOSE" +msgstr "关闭" + +msgid "during the speed testing, swith to which mode" +msgstr "在速度测试期间,切换到哪种模式" + +msgid "DNS" +msgstr "DNS" + +msgid "DNS Enabled" +msgstr "启用DNS" + +msgid "DNS Type" +msgstr "DNS类型" + +msgid "AliyuDNS" +msgstr "阿里云DNS" + +msgid "Access Key ID" +msgstr "Access Key ID" + +msgid "Access Key Secret" +msgstr "Access Key Secret" + +msgid "Main Domain" +msgstr "主域名" + +msgid "Sub Domain" +msgstr "子域名" + +msgid "For example: test.github.com -> github.com" +msgstr "例如: test.github.com 则填: github.com" + +msgid "For example: test.github.com -> test" +msgstr "例如: test.github.com, 则填: test" + +msgid "Lines" +msgstr "解析线路" + +msgid "default" +msgstr "默认" + +msgid "telecom" +msgstr "电信" + +msgid "unicom" +msgstr "联通" + +msgid "mobile" +msgstr "移动" \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/root/etc/config/cloudflarespeedtest b/luci-app-cloudflarespeedtest/root/etc/config/cloudflarespeedtest new file mode 100644 index 00000000..d5fcfafa --- /dev/null +++ b/luci-app-cloudflarespeedtest/root/etc/config/cloudflarespeedtest @@ -0,0 +1,17 @@ + +config global 'global' + option hour '5' + option minute '0' + option enabled '0' + option ipv6_enabled '0' + option advanced '0' + option tl '200' + option tll '40' + option custome_url 'https://speed.cloudflare.com/__down?bytes=300000000' + option threads '200' + option speed '100' + +config servers 'servers' + option ssr_enabled '0' + option passwall_enabled '0' + diff --git a/luci-app-cloudflarespeedtest/root/etc/init.d/cloudflarespeedtest b/luci-app-cloudflarespeedtest/root/etc/init.d/cloudflarespeedtest new file mode 100755 index 00000000..c0b6320a --- /dev/null +++ b/luci-app-cloudflarespeedtest/root/etc/init.d/cloudflarespeedtest @@ -0,0 +1,59 @@ +#!/bin/sh /etc/rc.common + +START=99 + +USE_PROCD=1 + +CRON_FILE=/etc/crontabs/root + +service_triggers() { + procd_add_reload_trigger "cloudflarespeedtest" +} + +add_cron(){ + local enabled + config_get_bool enabled $1 enabled + + del_cron + + if [ $enabled = 1 ] ; then + local minute + local hour + local custome_cors_enabled + local custome_cron + + config_get minute $1 minute + config_get hour $1 hour + config_get_bool custome_cors_enabled $1 custome_cors_enabled + config_get custome_cron $1 custome_cron + + if [ $custome_cors_enabled = 1 ] ; then + echo "$custome_cron /usr/bin/cloudflarespeedtest/cloudflarespeedtest.sh start" >> $CRON_FILE + else + echo "$minute $hour * * * /usr/bin/cloudflarespeedtest/cloudflarespeedtest.sh start" >> $CRON_FILE + fi + crontab $CRON_FILE + fi +} + +del_cron(){ + sed -i '/cloudflarespeedtest/d' $CRON_FILE + /etc/init.d/cron restart +} + +stop_instance(){ + del_cron +} + +stop_service() { + config_load cloudflarespeedtest + config_foreach stop_instance global +} +start_service() { + config_load cloudflarespeedtest + config_foreach add_cron global +} +reload_service() { + stop + start +} \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/root/usr/bin/cloudflarespeedtest/aliddns.sh b/luci-app-cloudflarespeedtest/root/usr/bin/cloudflarespeedtest/aliddns.sh new file mode 100755 index 00000000..250f4796 --- /dev/null +++ b/luci-app-cloudflarespeedtest/root/usr/bin/cloudflarespeedtest/aliddns.sh @@ -0,0 +1,81 @@ +#!/bin/sh +LOG_FILE='/var/log/cloudflarespeedtest.log' + +echolog() { + local d="$(date "+%Y-%m-%d %H:%M:%S")" + echo -e "$d: $*" >>$LOG_FILE +} + +urlencode() { + # urlencode url + out='' + for c in $(echo -n $1 | sed 's/[^\n]/&\n/g'); do + case $c in + [a-zA-Z0-9._-]) out="$out$c" ;; + *) out="$out$(printf '%%%02X' "'$c")" ;; + esac + done + echo -n $out +} + +send_request() { + # send_request action args + local args="AccessKeyId=$ak_id&Action=$1&Format=json&$2&Version=2015-01-09" + local hash=$(urlencode $(echo -n "GET&%2F&$(urlencode $args)" | openssl dgst -sha1 -hmac "$ak_sec&" -binary | openssl base64)) + curl -sSL --connect-timeout 5 "http://alidns.aliyuncs.com/?$args&Signature=$hash" +} + +get_recordid() { + sed 's/RR/\n/g' | sed -n 's/.*RecordId[^0-9]*\([0-9]*\).*/\1\n/p' | sort -ru | sed /^$/d +} + +query_recordid() { + send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$sub_dm.$main_dm&Timestamp=$timestamp&Type=A" +} + +update_record() { + send_request "UpdateDomainRecord" "Line=$line&RR=$sub_dm&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&Timestamp=$timestamp&Type=$type&Value=$ip" +} + +add_record() { + send_request "AddDomainRecord&DomainName=$main_dm" "Line=$line&RR=$sub_dm&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&Timestamp=$timestamp&Type=$type&Value=$ip" +} + +del_record() { + send_request "DeleteDomainRecord" "RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&Timestamp=$timestamp" +} + +aliddns() { + ak_id=$1 + ak_sec=$2 + main_dm=$3 + sub_dm=$4 + line=$5 + isIpv6=$6 + ip=$7 + type=A + + if [ $isIpv6 -eq "1" ] ;then + type=AAAA + fi +echo $ip +echo $type + rrid=`query_recordid | get_recordid` + + if [ -z "$rrid" ]; then + rrid=`add_record | get_recordid` + echolog "ADD record $rrid" + else + update_record $rrid + echolog "UPDATE record $rrid" + fi + if [ -z "$rrid" ]; then + # failed + echolog "# ERROR, Please Check Config/Time" + fi +} + + +timestamp=$(date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ") + +aliddns "$@" diff --git a/luci-app-cloudflarespeedtest/root/usr/bin/cloudflarespeedtest/cloudflarespeedtest.sh b/luci-app-cloudflarespeedtest/root/usr/bin/cloudflarespeedtest/cloudflarespeedtest.sh new file mode 100755 index 00000000..7f4c7266 --- /dev/null +++ b/luci-app-cloudflarespeedtest/root/usr/bin/cloudflarespeedtest/cloudflarespeedtest.sh @@ -0,0 +1,170 @@ +#!/bin/sh + +LOG_FILE='/var/log/cloudflarespeedtest.log' +IP_FILE='/usr/share/cloudflarespeedtestresult.txt' +IPV4_TXT='/usr/share/CloudflareSpeedTest/ip.txt' +IPV6_TXT='/usr/share/CloudflareSpeedTest/ipv6.txt' + +function get_global_config(){ + while [[ "$*" != "" ]]; do + eval ${1}='`uci get cloudflarespeedtest.global.$1`' 2>/dev/null + shift + done +} + +function get_servers_config(){ + while [[ "$*" != "" ]]; do + eval ${1}='`uci get cloudflarespeedtest.servers.$1`' 2>/dev/null + shift + done +} + +echolog() { + local d="$(date "+%Y-%m-%d %H:%M:%S")" + echo -e "$d: $*" >>$LOG_FILE +} + +function read_config(){ + get_global_config "enabled" "speed" "custome_url" "threads" "custome_cors_enabled" "custome_cron" "t" "tp" "dt" "dn" "dd" "tl" "tll" "ipv6_enabled" "advanced" "proxy_mode" + get_servers_config "ssr_services" "ssr_enabled" "passwall_enabled" "passwall_services" "DNS_enabled" +} + +function speed_test(){ + + rm -rf $LOG_FILE + + command="/usr/bin/cdnspeedtest -sl $((speed*125/1000)) -url ${custome_url} -o ${IP_FILE}" + + if [ $ipv6_enabled -eq "1" ] ;then + command="${command} -f ${IPV6_TXT} -ipv6" + else + command="${command} -f ${IPV4_TXT}" + fi + + if [ $advanced -eq "1" ] ; then + command="${command} -tl ${tl} -tll ${tll} -n ${threads} -t ${t} -dt ${dt} -dn ${dn}" + if [ $dd -eq "1" ] ; then + command="${command} -dd" + fi + if [ $tp -ne "443" ] ; then + command="${command} -tp ${tp}" + fi + else + command="${command} -tl 200 -tll 40 -n 200 -t 4 -dt 10 -dn 2" + fi + + ssr_original_server=$(uci get shadowsocksr.@global[0].global_server 2>/dev/null) + ssr_original_run_mode=$(uci get shadowsocksr.@global[0].run_mode 2>/dev/null) + if [ $ssr_original_server != "nil" ] ;then + if [ $proxy_mode == "close" ] ;then + uci set shadowsocksr.@global[0].global_server="nil" + elif [ $proxy_mode == "gfw" ] ;then + uci set shadowsocksr.@global[0].run_mode="gfw" + fi + uci commit shadowsocksr + /etc/init.d/shadowsocksr restart + fi + + passwall_server_enabled=$(uci get passwall.@global[0].enabled 2>/dev/null) + passwall_original_run_mode=$(uci get passwall.@global[0].tcp_proxy_mode 2>/dev/null) + if [ $passwall_server_enabled -eq "1" ] ;then + if [ $proxy_mode == "close" ] ;then + uci set passwall.@global[0].enabled="0" + elif [ $proxy_mode == "gfw" ] ;then + uci set passwall.@global[0].tcp_proxy_mode="gfwlist" + fi + uci commit passwall + /etc/init.d/passwall restart 2>/dev/null + fi + + echo $command >> $LOG_FILE 2>&1 + echolog "-----------start----------" + $command >> $LOG_FILE 2>&1 + echolog "-----------end------------" +} + +function ip_replace(){ + + # 获取最快 IP(从 result.csv 结果文件中获取第一个 IP) + bestip=$(sed -n "2,1p" $IP_FILE | awk -F, '{print $1}') + [[ -z "${bestip}" ]] && echo "CloudflareST 测速结果 IP 数量为 0,跳过下面步骤..." && exit 0 + + alidns_ip + + ssr_best_ip + + passwall_best_ip + +} + +function passwall_best_ip(){ + if [ $passwall_server_enabled -eq '1' ] ; then + echolog "设置passwall代理模式" + if [ $proxy_mode == "close" ] ;then + uci set passwall.@global[0].enabled="${passwall_server_enabled}" + elif [ $proxy_mode == "gfw" ] ;then + uci set passwall.@global[0].tcp_proxy_mode="${passwall_original_run_mode}" + fi + uci commit passwall + fi + + if [ $passwall_enabled -eq "1" ] ;then + echolog "设置passwall IP" + for ssrname in $passwall_services + do + echo $ssrname + uci set passwall.$ssrname.address="${bestip}" + done + uci commit passwall + if [ $passwall_server_enabled -eq "1" ] ;then + /etc/init.d/passwall restart 2>/dev/null + echolog "passwall重启完成" + fi + fi +} + +function ssr_best_ip(){ + + if [ $ssr_enabled -eq "1" ] ;then + echolog "设置ssr IP" + for ssrname in $ssr_services + do + echo $ssrname + uci set shadowsocksr.$ssrname.server="${bestip}" + uci set shadowsocksr.$ssrname.ip="${bestip}" + done + uci commit shadowsocksr + + fi + + if [ $ssr_original_server != 'nil' ] ; then + echolog "设置ssr代理模式" + if [ $proxy_mode == "close" ] ;then + uci set shadowsocksr.@global[0].global_server="${ssr_original_server}" + elif [ $proxy_mode == "gfw" ] ;then + uci set shadowsocksr.@global[0].run_mode="${ssr_original_run_mode}" + fi + /etc/init.d/shadowsocksr restart 2 >/dev/null + echolog "ssr重启完成" + fi +} + +function alidns_ip(){ + if [ $DNS_enabled -eq "1" ] ;then + get_servers_config "DNS_type" "app_key" "app_secret" "main_domain" "sub_domain" "line" + if [ $DNS_type == "aliyu" ] ;then + /usr/bin/cloudflarespeedtest/aliddns.sh $app_key $app_secret $main_domain $sub_domain $line $ipv6_enabled $bestip + echolog "更新阿里云DNS完成" + fi + fi +} + +read_config + +# 启动参数 +if [ "$1" ] ;then + [ $1 == "start" ] && speed_test && ip_replace + [ $1 == "test" ] && speed_test + [ $1 == "replace" ] && ip_replace + exit +fi \ No newline at end of file diff --git a/luci-app-cloudflarespeedtest/root/usr/share/rpcd/acl.d/luci-app-cloudflarespeedtest.json b/luci-app-cloudflarespeedtest/root/usr/share/rpcd/acl.d/luci-app-cloudflarespeedtest.json new file mode 100644 index 00000000..b4940aba --- /dev/null +++ b/luci-app-cloudflarespeedtest/root/usr/share/rpcd/acl.d/luci-app-cloudflarespeedtest.json @@ -0,0 +1,11 @@ +{ + "luci-app-cloudflarespeedtest": { + "description": "Grant UCI access for luci-app-cloudflarespeedtest", + "read": { + "uci": [ "cloudflarespeedtest" ] + }, + "write": { + "uci": [ "cloudflarespeedtest" ] + } + } +} diff --git a/luci-app-netspeedtest/Makefile b/luci-app-netspeedtest/Makefile new file mode 100644 index 00000000..245e3abb --- /dev/null +++ b/luci-app-netspeedtest/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2020-2021 sirpdboy +# The LuCI Network diagnosis and speed test +# This is free software, licensed under the GNU General Public License v3. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-netspeedtest +PKG_VERSION:=1.7 +PKG_RELEASE:=20220322 +PKG_LICENSE:=GPLv2 +PKG_MAINTAINER:=sirpdboy + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=luci + CATEGORY:=LuCI + SUBMENU:=3. Applications + TITLE:=LuCI Support for netspeedtest + DEPENDS:=+python3 +iperf3 + PKGARCH:=all +endef + + +define Build/Compile +endef + +define Package/$(PKG_NAME)/conffiles +/etc/config/netspeedtest +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/lib/lua/luci + cp -pR ./luasrc/* $(1)/usr/lib/lua/luci + $(INSTALL_DIR) $(1)/ + cp -pR ./root/* $(1)/ + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n + po2lmo ./po/zh-cn/netspeedtest.po $(1)/usr/lib/lua/luci/i18n/netspeedtest.zh-cn.lmo +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) + diff --git a/luci-app-netspeedtest/README.md b/luci-app-netspeedtest/README.md new file mode 100644 index 00000000..911286a0 --- /dev/null +++ b/luci-app-netspeedtest/README.md @@ -0,0 +1,121 @@ +[![若部分图片无法正常显示,请挂上机场浏览或点这里到末尾看修复教程](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)](#解决-github-网页上图片显示失败的问题) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) + + 图飞了😂 + + +欢迎来到sirpdboy的源码仓库! += +Welcome to sirpdboy's git source of packages +- +[luci-app-NetSpeedTest — 网络速度测试1.7完整版](https://github.com/sirpdboy/NetSpeedTest) +====================== + +[![](https://img.shields.io/badge/-目录:-696969.svg)](#readme) [![](https://img.shields.io/badge/-写在前面-F5F5F5.svg)](#写在前面-) [![](https://img.shields.io/badge/-编译说明-F5F5F5.svg)](#编译说明-) [![](https://img.shields.io/badge/-说明-F5F5F5.svg)](#说明-) [![](https://img.shields.io/badge/-捐助-F5F5F5.svg)](#捐助-) + +请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。 + +a new NetSpeedTest luci app bese luci-app-NetSpeedTest +- + +## 写在前面:[![](https://img.shields.io/badge/-写在前面-F5F5F5.svg)](#写在前面-) + + 一直在找OPENWRT上测试速度的插件,苦寻不到,于是有了它! +此插件可进行内外和外网网络速度测试。 + +1.内网测速基于iperf3 插件,服务端路由器如果没有安装请先安装此ipk插件。 + +2.测速的终端使用机器必须和测速服务器在同一个局域网络中! + +3.客户端使用步骤: + 启动测速服务器端-->下载测试客户端-->运行测速客户端-->输入服务端IP地址-->查看结果。 + +5.客户端运行,国内端下载中有“iperf3测速客户端”,运行它输入服务器IP即可。 + 国外原版,需要手动进入 CMD命令模式,再输入命令:iperf3.exe -c 服务器IP + +6.网络测速iperf3客户端下载地址:https://sipdboy.lanzoui.com/b01c3esih 密码:cpd6 + +8.外网测速使用speedtest.net测速内核,需要依赖speedtest,另外感谢superspeed和user1121114685因为借用了你们的灵感! + +9.外网测速最后测试阶段感谢佐大:佐须之男 测试查问题! + +10.新插件难免有bug 请不要大惊小怪。欢迎提交bug。 + +## 编译说明 [![](https://img.shields.io/badge/-编译说明-F5F5F5.svg)](#编译说明-) + +将NetSpeedTest 主题添加至 LEDE/OpenWRT 源码的方法。 + +## 下载源码方法一: +编辑源码文件夹根目录feeds.conf.default并加入如下内容: + +```Brach + # feeds获取源码: + src-git NetSpeedTest https://github.com/sirpdboy/NetSpeedTest + ``` + ```Brach + # 更新feeds,并安装主题: + scripts/feeds update NetSpeedTest + scripts/feeds install luci-app-NetSpeedTest + ``` + +## 下载源码方法二: + ```Brach + # 下载源码 + + git clone https://github.com/sirpdboy/NetSpeedTest package/NetSpeedTest + + make menuconfig + ``` +## 配置菜单 + ```Brach + make menuconfig + # 找到 LuCI -> Applications, 选择 luci-app-NetSpeedTest, 保存后退出。 + ``` +## 编译 + ```Brach + # 编译固件 + make package/NetSpeedTest/luci-app-NetSpeedTest/{clean,compile} V=s +``` + +## 说明 [![](https://img.shields.io/badge/-说明-F5F5F5.svg)](#说明-) + +源码来源:https://github.com/sirpdboy/NetSpeedTest/luci-app-NetSpeedTest + + +你可以随意使用其中的源码,但请注明出处。 +============================ + +# My other project +网络速度测试 :https://github.com/sirpdboy/NetSpeedTest + +定时关机重启 : https://github.com/sirpdboy/luci-app-autopoweroff + +关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice + +opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd + +opentoks 主题: https://github.com/sirpdboy/luci-theme-opentoks [仿KOOLSAHRE主题] + +btmob 主题: https://github.com/sirpdboy/luci-theme-btmob + +系统高级设置 : https://github.com/sirpdboy/luci-app-advanced + +## 捐助 [![](https://img.shields.io/badge/-捐助-F5F5F5.svg)](#捐助-) + +**如果你觉得此项目对你有帮助,请捐助我们,以使项目能持续发展,更加完善。··请作者喝杯咖啡~~~** + +**你们的支持就是我的动力!** + +### 捐助方式 + +| 图飞了😂 | 图飞了😂 | +| :-----------------: | :-------------: | +|图飞了😂|图飞了😂| + + + 图飞了😂 + + +###### [解决 Github 网页上图片显示失败的问题](https://blog.csdn.net/qq_38232598/article/details/91346392) + +[![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) + diff --git a/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua b/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua new file mode 100644 index 00000000..1cd26640 --- /dev/null +++ b/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua @@ -0,0 +1,76 @@ + +module("luci.controller.netspeedtest", package.seeall) + +function index() + + entry({"admin","network","netspeedtest"},cbi("netspeedtest/netspeedtest", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Netspeedtest"),90).dependent=true + + entry({"admin", "network", "netspeedtest", "status"}, call("act_status")).leaf = true + entry({"admin", "network","test_iperf0"}, post("test_iperf0"), nil).leaf = true + + entry({"admin", "network","test_iperf1"}, post("test_iperf1"), nil).leaf = true + + entry({"admin","network","netspeedtest", "run"}, call("run")) + + entry({"admin", "network", "netspeedtest", "realtime_log"}, call("get_log")) + +end + + +function act_status() + local e={} + e.status=luci.sys.call("pgrep iperf3 >/dev/null")==0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + + +function testlan(cmd, addr) + luci.http.prepare_content("text/plain") + local util = io.popen(cmd) + if util then + while true do + local ln = util:read("*l") + if not ln then break end + luci.http.write(ln) + luci.http.write("\n") + end + util:close() + end + +end + +function testwan(cmd) + local util = io.popen(cmd) + util:close() +end + +function test_iperf0(addr) + local netease + netease= luci.sys.call("ps |grep unblockneteasemusic |grep app.js |grep -v grep >/dev/null") == 0 + if netease then + luci.sys.call("/etc/init.d/unblockneteasemusic stop ") + luci.sys.call("/etc/init.d/unblockmusic stop ") + end + testlan("iperf3 -s ", addr) +end + +function test_iperf1(addr) + luci.sys.call("killall iperf3") + luci.sys.call("/etc/init.d/unblockneteasemusic restart ") + luci.sys.call("/etc/init.d/unblockmusic restart ") +end + +function get_log() + local fs = require "nixio.fs" + local e = {} + e.running = luci.sys.call("busybox ps -w | grep netspeedtest | grep -v grep >/dev/null") == 0 + e.log = fs.readfile("/var/log/netspeedtest.log") or "" + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function run() + testwan("/etc/init.d/netspeedtest nstest ") + luci.http.redirect(luci.dispatcher.build_url("admin","network","netspeedtest")) +end diff --git a/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/netspeedtest.lua b/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/netspeedtest.lua new file mode 100644 index 00000000..64bfea0b --- /dev/null +++ b/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/netspeedtest.lua @@ -0,0 +1,32 @@ +-- Copyright 2018 sirpdboy (herboy2008@gmail.com) +require("luci.util") +local o,t,e + +if luci.sys.call("pidof iperf3 >/dev/null") == 0 then + status = translate("iperf3 服务端运行中") +else + status = translate("iperf3 服务端未启动") +end + +o = Map("netspeedtest", "" .. translate("Netspeedtest") .."",translate( "Network speed diagnosis test (including intranet and extranet)
For specific usage, see:") ..translate("GitHub @netspeedtest/luci-app-netspeedtest") ) + +t = o:section(TypedSection, "netspeedtest", translate('iperf3 lanspeedtest')) +t.anonymous = true +t.description = translate(string.format("%s
", status)) + +e = t:option(DummyValue, '', '') +e.rawhtml = true +e.template ='netspeedtest/netspeedtest' + + +t=o:section(TypedSection,"netspeedtest",translate("wanspeedtest")) +t.anonymous=true +e = t:option(DummyValue, '', '') +e.rawhtml = true +e.template ='netspeedtest/speedtest' + +e =t:option(DummyValue, '', '') +e.rawhtml = true +e.template = 'netspeedtest/log' + +return o diff --git a/luci-app-netspeedtest/luasrc/view/netspeedtest/log.htm b/luci-app-netspeedtest/luasrc/view/netspeedtest/log.htm new file mode 100644 index 00000000..7d297215 --- /dev/null +++ b/luci-app-netspeedtest/luasrc/view/netspeedtest/log.htm @@ -0,0 +1,16 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-netspeedtest/luasrc/view/netspeedtest/netspeedtest.htm b/luci-app-netspeedtest/luasrc/view/netspeedtest/netspeedtest.htm new file mode 100644 index 00000000..e3e26947 --- /dev/null +++ b/luci-app-netspeedtest/luasrc/view/netspeedtest/netspeedtest.htm @@ -0,0 +1,84 @@ + +<% +local fs = require "nixio.fs" + +%> + + + + +
+
+ + + + + + + + + + + + + +
+ +
<%:iperf3 instructions%><%:The speed measurement terminal must be in the same LAN as the router that starts the speed measurement%>
<%:Operation steps: start router speed measurement service download test client run speed measurement client input IP address of router speed measurement service%>
<%:Iperf3 speed measurement software download%> + +
+ + + +
+
diff --git a/luci-app-netspeedtest/luasrc/view/netspeedtest/speedtest.htm b/luci-app-netspeedtest/luasrc/view/netspeedtest/speedtest.htm new file mode 100644 index 00000000..f7822bd6 --- /dev/null +++ b/luci-app-netspeedtest/luasrc/view/netspeedtest/speedtest.htm @@ -0,0 +1,31 @@ +<%+cbi/valueheader%> + +
+ +
+ + + +<%+cbi/valuefooter%> diff --git a/luci-app-netspeedtest/po/zh-cn/netspeedtest.po b/luci-app-netspeedtest/po/zh-cn/netspeedtest.po new file mode 100644 index 00000000..e5eac259 --- /dev/null +++ b/luci-app-netspeedtest/po/zh-cn/netspeedtest.po @@ -0,0 +1,70 @@ +# +# Copyright (C) 2020-2021 sirpdboy herboy2008@gmail.com +# This is free software, licensed under the GNU General Public License v3. +# +msgid "" +msgstr "" +"Project-Id-Version: LuCi Chinese Translation\n" +"Report-Msgid-Bugs-To: \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Pootle 2.0.6\n" + +msgid "Netspeedtest" +msgstr "网速测试" + +msgid "Network speed diagnosis test (including intranet and extranet)" +msgstr "网络速度诊断测试(包括内网和外网)" + +msgid "iperf3 lanspeedtest" +msgstr "iperf3 内网测速" + +msgid "Network speed diagnosis test (including intranet and extranet)
For specific usage, see:" +msgstr "网络速度诊断测试(包括内网和外网)
具体使用参见:" + + +msgid "iperfstart" +msgstr "iperf服务启动" + +msgid "iperfstop" +msgstr "iperf服务停止" + +msgid "Perform operation" +msgstr "执行操作" + +msgid "iperf3 instructions" +msgstr "iperf3 使用说明" + +msgid "Test speed service started" +msgstr "测试速度服务已经启动" + +msgid "The speed measurement terminal must be in the same LAN as the router that starts the speed measurement" +msgstr "测速终端机必须与启动测速的路由器在同一局域网内" + +msgid "Operation steps: start router speed measurement service download test client run speed measurement client input IP address of router speed measurement service" +msgstr "使用步骤:A.启动路由器测速服务 B.下载测试客户端 C.运行测速客户端 D.输入路由器测速服务IP地址。 " + +msgid "Domestic download password:" +msgstr "国内下密码:" + +msgid "Iperf3 speed measurement software download" +msgstr "iperf3测速软件下载" + +msgid "wanspeedtest" +msgstr "宽带速率测试" + +msgid "Perform wanspeedtest" +msgstr "执行宽带测速" + +msgid "Operation execution complete" +msgstr "操作执行完毕" + +msgid "Network speed test, please wait for 1 minutes" +msgstr "网速测试中,请稍等1分钟" + +msgid "Download from foreign official websites" +msgstr "国外官网" + diff --git a/luci-app-netspeedtest/po/zh_Hans b/luci-app-netspeedtest/po/zh_Hans new file mode 100644 index 00000000..41451e4a --- /dev/null +++ b/luci-app-netspeedtest/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-netspeedtest/root/etc/config/netspeedtest b/luci-app-netspeedtest/root/etc/config/netspeedtest new file mode 100644 index 00000000..7b431c83 --- /dev/null +++ b/luci-app-netspeedtest/root/etc/config/netspeedtest @@ -0,0 +1,8 @@ + +config netspeedtest + option enabled '0' + + +config wanspeedtest + option enabled '0' + diff --git a/luci-app-netspeedtest/root/etc/init.d/netspeedtest b/luci-app-netspeedtest/root/etc/init.d/netspeedtest new file mode 100644 index 00000000..c446aa6a --- /dev/null +++ b/luci-app-netspeedtest/root/etc/init.d/netspeedtest @@ -0,0 +1,55 @@ +#!/bin/sh /etc/rc.common +# Copyright 2020 -2021 sirpdboy (herboy2008@gmail.com) + +START=95 +STOP=10 + +. /lib/functions.sh +EXTRA_COMMANDS="nstest" +EXTRA_HELP=" netspeedtest" +NS_FILE=/usr/share/netspeedtest/netspeedtest.txt +TMP_T=/tmp/netspeedtest +LOG="/var/log/netspeedtest.log" + +limit_log() { + local logf=$1 + [ ! -f "$logf" ] && return + local sc=100 + [ -n "$2" ] && sc=$2 + local count=$(grep -c "" $logf) + if [ $count -gt $sc ];then + let count=count-$sc + sed -i "1,$count d" $logf + fi +} + +init_env() { + [ ! -f "$LOG" ] && echo "netspeedtest by sirpdboy" > $LOG + echo 1 > $NS_FILE + +} + +nstest() { + init_env + [ -f "$TMP_T" ] && return + echo 1 > $TMP_T + echo -ne "\n ————————————————————————————" | tee -a $LOG + /etc/init.d/speedtest | tee -a $NS_FILE + ns_server=`cat $NS_FILE | grep 'Hosted by' | cut -c10-` + ns_down=`cat $NS_FILE | grep 'Download:' |awk -F: '{printf $2}' ` + ns_up=`cat $NS_FILE | grep 'Upload:' |awk -F: '{printf $2}' ` + echo -ne "\n 测服信息:${ns_server} " | tee -a $LOG + echo -ne "\n 下行速率:${ns_down} ---- 上行速率:${ns_up} " | tee -a $LOG + echo -ne "\n 测试时间: " | tee -a $LOG + echo $(date +%Y-%m-%d" "%H:%M:%S) | tee -a $LOG + rm -rf $TMP_T +} + +reload(){ + start +} + +start() { + limit_log $LOG 200 + nstest +} diff --git a/luci-app-netspeedtest/root/etc/init.d/speedtest b/luci-app-netspeedtest/root/etc/init.d/speedtest new file mode 100644 index 00000000..a33296d3 --- /dev/null +++ b/luci-app-netspeedtest/root/etc/init.d/speedtest @@ -0,0 +1,2004 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright 2012 Matt Martz +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import os +import re +import csv +import sys +import math +import errno +import signal +import socket +import timeit +import datetime +import platform +import threading +import xml.parsers.expat + +try: + import gzip + GZIP_BASE = gzip.GzipFile +except ImportError: + gzip = None + GZIP_BASE = object + +__version__ = '2.1.3' + + +class FakeShutdownEvent(object): + """Class to fake a threading.Event.isSet so that users of this module + are not required to register their own threading.Event() + """ + + @staticmethod + def isSet(): + "Dummy method to always return false""" + return False + + +# Some global variables we use +DEBUG = False +_GLOBAL_DEFAULT_TIMEOUT = object() +PY25PLUS = sys.version_info[:2] >= (2, 5) +PY26PLUS = sys.version_info[:2] >= (2, 6) +PY32PLUS = sys.version_info[:2] >= (3, 2) + +# Begin import game to handle Python 2 and Python 3 +try: + import json +except ImportError: + try: + import simplejson as json + except ImportError: + json = None + +try: + import xml.etree.ElementTree as ET + try: + from xml.etree.ElementTree import _Element as ET_Element + except ImportError: + pass +except ImportError: + from xml.dom import minidom as DOM + from xml.parsers.expat import ExpatError + ET = None + +try: + from urllib2 import (urlopen, Request, HTTPError, URLError, + AbstractHTTPHandler, ProxyHandler, + HTTPDefaultErrorHandler, HTTPRedirectHandler, + HTTPErrorProcessor, OpenerDirector) +except ImportError: + from urllib.request import (urlopen, Request, HTTPError, URLError, + AbstractHTTPHandler, ProxyHandler, + HTTPDefaultErrorHandler, HTTPRedirectHandler, + HTTPErrorProcessor, OpenerDirector) + +try: + from httplib import HTTPConnection, BadStatusLine +except ImportError: + from http.client import HTTPConnection, BadStatusLine + +try: + from httplib import HTTPSConnection +except ImportError: + try: + from http.client import HTTPSConnection + except ImportError: + HTTPSConnection = None + +try: + from httplib import FakeSocket +except ImportError: + FakeSocket = None + +try: + from Queue import Queue +except ImportError: + from queue import Queue + +try: + from urlparse import urlparse +except ImportError: + from urllib.parse import urlparse + +try: + from urlparse import parse_qs +except ImportError: + try: + from urllib.parse import parse_qs + except ImportError: + from cgi import parse_qs + +try: + from hashlib import md5 +except ImportError: + from md5 import md5 + +try: + from argparse import ArgumentParser as ArgParser + from argparse import SUPPRESS as ARG_SUPPRESS + PARSER_TYPE_INT = int + PARSER_TYPE_STR = str + PARSER_TYPE_FLOAT = float +except ImportError: + from optparse import OptionParser as ArgParser + from optparse import SUPPRESS_HELP as ARG_SUPPRESS + PARSER_TYPE_INT = 'int' + PARSER_TYPE_STR = 'string' + PARSER_TYPE_FLOAT = 'float' + +try: + from cStringIO import StringIO + BytesIO = None +except ImportError: + try: + from StringIO import StringIO + BytesIO = None + except ImportError: + from io import StringIO, BytesIO + +try: + import __builtin__ +except ImportError: + import builtins + from io import TextIOWrapper, FileIO + + class _Py3Utf8Output(TextIOWrapper): + """UTF-8 encoded wrapper around stdout for py3, to override + ASCII stdout + """ + def __init__(self, f, **kwargs): + buf = FileIO(f.fileno(), 'w') + super(_Py3Utf8Output, self).__init__( + buf, + encoding='utf8', + errors='strict' + ) + + def write(self, s): + super(_Py3Utf8Output, self).write(s) + self.flush() + + _py3_print = getattr(builtins, 'print') + try: + _py3_utf8_stdout = _Py3Utf8Output(sys.stdout) + _py3_utf8_stderr = _Py3Utf8Output(sys.stderr) + except OSError: + # sys.stdout/sys.stderr is not a compatible stdout/stderr object + # just use it and hope things go ok + _py3_utf8_stdout = sys.stdout + _py3_utf8_stderr = sys.stderr + + def to_utf8(v): + """No-op encode to utf-8 for py3""" + return v + + def print_(*args, **kwargs): + """Wrapper function for py3 to print, with a utf-8 encoded stdout""" + if kwargs.get('file') == sys.stderr: + kwargs['file'] = _py3_utf8_stderr + else: + kwargs['file'] = kwargs.get('file', _py3_utf8_stdout) + _py3_print(*args, **kwargs) +else: + del __builtin__ + + def to_utf8(v): + """Encode value to utf-8 if possible for py2""" + try: + return v.encode('utf8', 'strict') + except AttributeError: + return v + + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5. + + Taken from https://pypi.python.org/pypi/six/ + + Modified to set encoding to UTF-8 always, and to flush after write + """ + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + encoding = 'utf8' # Always trust UTF-8 for output + if (isinstance(fp, file) and + isinstance(data, unicode) and + encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(encoding, errors) + fp.write(data) + fp.flush() + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) + +if PY32PLUS: + etree_iter = ET.Element.iter +elif PY25PLUS: + etree_iter = ET_Element.getiterator + +if PY26PLUS: + thread_is_alive = threading.Thread.is_alive +else: + thread_is_alive = threading.Thread.isAlive + + +# Exception "constants" to support Python 2 through Python 3 +try: + import ssl + try: + CERT_ERROR = (ssl.CertificateError,) + except AttributeError: + CERT_ERROR = tuple() + + HTTP_ERRORS = ( + (HTTPError, URLError, socket.error, ssl.SSLError, BadStatusLine) + + CERT_ERROR + ) +except ImportError: + ssl = None + HTTP_ERRORS = (HTTPError, URLError, socket.error, BadStatusLine) + + +class SpeedtestException(Exception): + """Base exception for this module""" + + +class SpeedtestCLIError(SpeedtestException): + """Generic exception for raising errors during CLI operation""" + + +class SpeedtestHTTPError(SpeedtestException): + """Base HTTP exception for this module""" + + +class SpeedtestConfigError(SpeedtestException): + """Configuration XML is invalid""" + + +class SpeedtestServersError(SpeedtestException): + """Servers XML is invalid""" + + +class ConfigRetrievalError(SpeedtestHTTPError): + """Could not retrieve config.php""" + + +class ServersRetrievalError(SpeedtestHTTPError): + """Could not retrieve speedtest-servers.php""" + + +class InvalidServerIDType(SpeedtestException): + """Server ID used for filtering was not an integer""" + + +class NoMatchedServers(SpeedtestException): + """No servers matched when filtering""" + + +class SpeedtestMiniConnectFailure(SpeedtestException): + """Could not connect to the provided speedtest mini server""" + + +class InvalidSpeedtestMiniServer(SpeedtestException): + """Server provided as a speedtest mini server does not actually appear + to be a speedtest mini server + """ + + +class ShareResultsConnectFailure(SpeedtestException): + """Could not connect to speedtest.net API to POST results""" + + +class ShareResultsSubmitFailure(SpeedtestException): + """Unable to successfully POST results to speedtest.net API after + connection + """ + + +class SpeedtestUploadTimeout(SpeedtestException): + """testlength configuration reached during upload + Used to ensure the upload halts when no additional data should be sent + """ + + +class SpeedtestBestServerFailure(SpeedtestException): + """Unable to determine best server""" + + +class SpeedtestMissingBestServer(SpeedtestException): + """get_best_server not called or not able to determine best server""" + + +def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, + source_address=None): + """Connect to *address* and return the socket object. + + Convenience function. Connect to *address* (a 2-tuple ``(host, + port)``) and return the socket object. Passing the optional + *timeout* parameter will set the timeout on the socket instance + before attempting to connect. If no *timeout* is supplied, the + global default timeout setting returned by :func:`getdefaulttimeout` + is used. If *source_address* is set it must be a tuple of (host, port) + for the socket to bind as a source address before making the connection. + An host of '' or port 0 tells the OS to use the default. + + Largely vendored from Python 2.7, modified to work with Python 2.4 + """ + + host, port = address + err = None + for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): + af, socktype, proto, canonname, sa = res + sock = None + try: + sock = socket.socket(af, socktype, proto) + if timeout is not _GLOBAL_DEFAULT_TIMEOUT: + sock.settimeout(float(timeout)) + if source_address: + sock.bind(source_address) + sock.connect(sa) + return sock + + except socket.error: + err = get_exception() + if sock is not None: + sock.close() + + if err is not None: + raise err + else: + raise socket.error("getaddrinfo returns an empty list") + + +class SpeedtestHTTPConnection(HTTPConnection): + """Custom HTTPConnection to support source_address across + Python 2.4 - Python 3 + """ + def __init__(self, *args, **kwargs): + source_address = kwargs.pop('source_address', None) + timeout = kwargs.pop('timeout', 10) + + self._tunnel_host = None + + HTTPConnection.__init__(self, *args, **kwargs) + + self.source_address = source_address + self.timeout = timeout + + def connect(self): + """Connect to the host and port specified in __init__.""" + try: + self.sock = socket.create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + except (AttributeError, TypeError): + self.sock = create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + + if self._tunnel_host: + self._tunnel() + + +if HTTPSConnection: + class SpeedtestHTTPSConnection(HTTPSConnection): + """Custom HTTPSConnection to support source_address across + Python 2.4 - Python 3 + """ + default_port = 443 + + def __init__(self, *args, **kwargs): + source_address = kwargs.pop('source_address', None) + timeout = kwargs.pop('timeout', 10) + + self._tunnel_host = None + + HTTPSConnection.__init__(self, *args, **kwargs) + + self.timeout = timeout + self.source_address = source_address + + def connect(self): + "Connect to a host on a given (SSL) port." + try: + self.sock = socket.create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + except (AttributeError, TypeError): + self.sock = create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + + if self._tunnel_host: + self._tunnel() + + if ssl: + try: + kwargs = {} + if hasattr(ssl, 'SSLContext'): + if self._tunnel_host: + kwargs['server_hostname'] = self._tunnel_host + else: + kwargs['server_hostname'] = self.host + self.sock = self._context.wrap_socket(self.sock, **kwargs) + except AttributeError: + self.sock = ssl.wrap_socket(self.sock) + try: + self.sock.server_hostname = self.host + except AttributeError: + pass + elif FakeSocket: + # Python 2.4/2.5 support + try: + self.sock = FakeSocket(self.sock, socket.ssl(self.sock)) + except AttributeError: + raise SpeedtestException( + 'This version of Python does not support HTTPS/SSL ' + 'functionality' + ) + else: + raise SpeedtestException( + 'This version of Python does not support HTTPS/SSL ' + 'functionality' + ) + + +def _build_connection(connection, source_address, timeout, context=None): + """Cross Python 2.4 - Python 3 callable to build an ``HTTPConnection`` or + ``HTTPSConnection`` with the args we need + + Called from ``http(s)_open`` methods of ``SpeedtestHTTPHandler`` or + ``SpeedtestHTTPSHandler`` + """ + def inner(host, **kwargs): + kwargs.update({ + 'source_address': source_address, + 'timeout': timeout + }) + if context: + kwargs['context'] = context + return connection(host, **kwargs) + return inner + + +class SpeedtestHTTPHandler(AbstractHTTPHandler): + """Custom ``HTTPHandler`` that can build a ``HTTPConnection`` with the + args we need for ``source_address`` and ``timeout`` + """ + def __init__(self, debuglevel=0, source_address=None, timeout=10): + AbstractHTTPHandler.__init__(self, debuglevel) + self.source_address = source_address + self.timeout = timeout + + def http_open(self, req): + return self.do_open( + _build_connection( + SpeedtestHTTPConnection, + self.source_address, + self.timeout + ), + req + ) + + http_request = AbstractHTTPHandler.do_request_ + + +class SpeedtestHTTPSHandler(AbstractHTTPHandler): + """Custom ``HTTPSHandler`` that can build a ``HTTPSConnection`` with the + args we need for ``source_address`` and ``timeout`` + """ + def __init__(self, debuglevel=0, context=None, source_address=None, + timeout=10): + AbstractHTTPHandler.__init__(self, debuglevel) + self._context = context + self.source_address = source_address + self.timeout = timeout + + def https_open(self, req): + return self.do_open( + _build_connection( + SpeedtestHTTPSConnection, + self.source_address, + self.timeout, + context=self._context, + ), + req + ) + + https_request = AbstractHTTPHandler.do_request_ + + +def build_opener(source_address=None, timeout=10): + """Function similar to ``urllib2.build_opener`` that will build + an ``OpenerDirector`` with the explicit handlers we want, + ``source_address`` for binding, ``timeout`` and our custom + `User-Agent` + """ + + printer('Timeout set to %d' % timeout, debug=True) + + if source_address: + source_address_tuple = (source_address, 0) + printer('Binding to source address: %r' % (source_address_tuple,), + debug=True) + else: + source_address_tuple = None + + handlers = [ + ProxyHandler(), + SpeedtestHTTPHandler(source_address=source_address_tuple, + timeout=timeout), + SpeedtestHTTPSHandler(source_address=source_address_tuple, + timeout=timeout), + HTTPDefaultErrorHandler(), + HTTPRedirectHandler(), + HTTPErrorProcessor() + ] + + opener = OpenerDirector() + opener.addheaders = [('User-agent', build_user_agent())] + + for handler in handlers: + opener.add_handler(handler) + + return opener + + +class GzipDecodedResponse(GZIP_BASE): + """A file-like object to decode a response encoded with the gzip + method, as described in RFC 1952. + + Largely copied from ``xmlrpclib``/``xmlrpc.client`` and modified + to work for py2.4-py3 + """ + def __init__(self, response): + # response doesn't support tell() and read(), required by + # GzipFile + if not gzip: + raise SpeedtestHTTPError('HTTP response body is gzip encoded, ' + 'but gzip support is not available') + IO = BytesIO or StringIO + self.io = IO() + while 1: + chunk = response.read(1024) + if len(chunk) == 0: + break + self.io.write(chunk) + self.io.seek(0) + gzip.GzipFile.__init__(self, mode='rb', fileobj=self.io) + + def close(self): + try: + gzip.GzipFile.close(self) + finally: + self.io.close() + + +def get_exception(): + """Helper function to work with py2.4-py3 for getting the current + exception in a try/except block + """ + return sys.exc_info()[1] + + +def distance(origin, destination): + """Determine distance between 2 sets of [lat,lon] in km""" + + lat1, lon1 = origin + lat2, lon2 = destination + radius = 6371 # km + + dlat = math.radians(lat2 - lat1) + dlon = math.radians(lon2 - lon1) + a = (math.sin(dlat / 2) * math.sin(dlat / 2) + + math.cos(math.radians(lat1)) * + math.cos(math.radians(lat2)) * math.sin(dlon / 2) * + math.sin(dlon / 2)) + c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a)) + d = radius * c + + return d + + +def build_user_agent(): + """Build a Mozilla/5.0 compatible User-Agent string""" + + ua_tuple = ( + 'Mozilla/5.0', + '(%s; U; %s; en-us)' % (platform.platform(), + platform.architecture()[0]), + 'Python/%s' % platform.python_version(), + '(KHTML, like Gecko)', + 'speedtest-cli/%s' % __version__ + ) + user_agent = ' '.join(ua_tuple) + printer('User-Agent: %s' % user_agent, debug=True) + return user_agent + + +def build_request(url, data=None, headers=None, bump='0', secure=False): + """Build a urllib2 request object + + This function automatically adds a User-Agent header to all requests + + """ + + if not headers: + headers = {} + + if url[0] == ':': + scheme = ('http', 'https')[bool(secure)] + schemed_url = '%s%s' % (scheme, url) + else: + schemed_url = url + + if '?' in url: + delim = '&' + else: + delim = '?' + + # WHO YOU GONNA CALL? CACHE BUSTERS! + final_url = '%s%sx=%s.%s' % (schemed_url, delim, + int(timeit.time.time() * 1000), + bump) + + headers.update({ + 'Cache-Control': 'no-cache', + }) + + printer('%s %s' % (('GET', 'POST')[bool(data)], final_url), + debug=True) + + return Request(final_url, data=data, headers=headers) + + +def catch_request(request, opener=None): + """Helper function to catch common exceptions encountered when + establishing a connection with a HTTP/HTTPS request + + """ + + if opener: + _open = opener.open + else: + _open = urlopen + + try: + uh = _open(request) + if request.get_full_url() != uh.geturl(): + printer('Redirected to %s' % uh.geturl(), debug=True) + return uh, False + except HTTP_ERRORS: + e = get_exception() + return None, e + + +def get_response_stream(response): + """Helper function to return either a Gzip reader if + ``Content-Encoding`` is ``gzip`` otherwise the response itself + + """ + + try: + getheader = response.headers.getheader + except AttributeError: + getheader = response.getheader + + if getheader('content-encoding') == 'gzip': + return GzipDecodedResponse(response) + + return response + + +def get_attributes_by_tag_name(dom, tag_name): + """Retrieve an attribute from an XML document and return it in a + consistent format + + Only used with xml.dom.minidom, which is likely only to be used + with python versions older than 2.5 + """ + elem = dom.getElementsByTagName(tag_name)[0] + return dict(list(elem.attributes.items())) + + +def print_dots(shutdown_event): + """Built in callback function used by Thread classes for printing + status + """ + def inner(current, total, start=False, end=False): + if shutdown_event.isSet(): + return + + sys.stdout.write('.') + if current + 1 == total and end is True: + sys.stdout.write('\n') + sys.stdout.flush() + return inner + + +def do_nothing(*args, **kwargs): + pass + + +class HTTPDownloader(threading.Thread): + """Thread class for retrieving a URL""" + + def __init__(self, i, request, start, timeout, opener=None, + shutdown_event=None): + threading.Thread.__init__(self) + self.request = request + self.result = [0] + self.starttime = start + self.timeout = timeout + self.i = i + if opener: + self._opener = opener.open + else: + self._opener = urlopen + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + def run(self): + try: + if (timeit.default_timer() - self.starttime) <= self.timeout: + f = self._opener(self.request) + while (not self._shutdown_event.isSet() and + (timeit.default_timer() - self.starttime) <= + self.timeout): + self.result.append(len(f.read(10240))) + if self.result[-1] == 0: + break + f.close() + except IOError: + pass + except HTTP_ERRORS: + pass + + +class HTTPUploaderData(object): + """File like object to improve cutting off the upload once the timeout + has been reached + """ + + def __init__(self, length, start, timeout, shutdown_event=None): + self.length = length + self.start = start + self.timeout = timeout + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + self._data = None + + self.total = [0] + + def pre_allocate(self): + chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' + multiplier = int(round(int(self.length) / 36.0)) + IO = BytesIO or StringIO + try: + self._data = IO( + ('content1=%s' % + (chars * multiplier)[0:int(self.length) - 9] + ).encode() + ) + except MemoryError: + raise SpeedtestCLIError( + 'Insufficient memory to pre-allocate upload data. Please ' + 'use --no-pre-allocate' + ) + + @property + def data(self): + if not self._data: + self.pre_allocate() + return self._data + + def read(self, n=10240): + if ((timeit.default_timer() - self.start) <= self.timeout and + not self._shutdown_event.isSet()): + chunk = self.data.read(n) + self.total.append(len(chunk)) + return chunk + else: + raise SpeedtestUploadTimeout() + + def __len__(self): + return self.length + + +class HTTPUploader(threading.Thread): + """Thread class for putting a URL""" + + def __init__(self, i, request, start, size, timeout, opener=None, + shutdown_event=None): + threading.Thread.__init__(self) + self.request = request + self.request.data.start = self.starttime = start + self.size = size + self.result = 0 + self.timeout = timeout + self.i = i + + if opener: + self._opener = opener.open + else: + self._opener = urlopen + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + def run(self): + request = self.request + try: + if ((timeit.default_timer() - self.starttime) <= self.timeout and + not self._shutdown_event.isSet()): + try: + f = self._opener(request) + except TypeError: + # PY24 expects a string or buffer + # This also causes issues with Ctrl-C, but we will concede + # for the moment that Ctrl-C on PY24 isn't immediate + request = build_request(self.request.get_full_url(), + data=request.data.read(self.size)) + f = self._opener(request) + f.read(11) + f.close() + self.result = sum(self.request.data.total) + else: + self.result = 0 + except (IOError, SpeedtestUploadTimeout): + self.result = sum(self.request.data.total) + except HTTP_ERRORS: + self.result = 0 + + +class SpeedtestResults(object): + """Class for holding the results of a speedtest, including: + + Download speed + Upload speed + Ping/Latency to test server + Data about server that the test was run against + + Additionally this class can return a result data as a dictionary or CSV, + as well as submit a POST of the result data to the speedtest.net API + to get a share results image link. + """ + + def __init__(self, download=0, upload=0, ping=0, server=None, client=None, + opener=None, secure=False): + self.download = download + self.upload = upload + self.ping = ping + if server is None: + self.server = {} + else: + self.server = server + self.client = client or {} + + self._share = None + self.timestamp = '%sZ' % datetime.datetime.utcnow().isoformat() + self.bytes_received = 0 + self.bytes_sent = 0 + + if opener: + self._opener = opener + else: + self._opener = build_opener() + + self._secure = secure + + def __repr__(self): + return repr(self.dict()) + + def share(self): + """POST data to the speedtest.net API to obtain a share results + link + """ + + if self._share: + return self._share + + download = int(round(self.download / 1000.0, 0)) + ping = int(round(self.ping, 0)) + upload = int(round(self.upload / 1000.0, 0)) + + # Build the request to send results back to speedtest.net + # We use a list instead of a dict because the API expects parameters + # in a certain order + api_data = [ + 'recommendedserverid=%s' % self.server['id'], + 'ping=%s' % ping, + 'screenresolution=', + 'promo=', + 'download=%s' % download, + 'screendpi=', + 'upload=%s' % upload, + 'testmethod=http', + 'hash=%s' % md5(('%s-%s-%s-%s' % + (ping, upload, download, '297aae72')) + .encode()).hexdigest(), + 'touchscreen=none', + 'startmode=pingselect', + 'accuracy=1', + 'bytesreceived=%s' % self.bytes_received, + 'bytessent=%s' % self.bytes_sent, + 'serverid=%s' % self.server['id'], + ] + + headers = {'Referer': 'http://c.speedtest.net/flash/speedtest.swf'} + request = build_request('://www.speedtest.net/api/api.php', + data='&'.join(api_data).encode(), + headers=headers, secure=self._secure) + f, e = catch_request(request, opener=self._opener) + if e: + raise ShareResultsConnectFailure(e) + + response = f.read() + code = f.code + f.close() + + if int(code) != 200: + raise ShareResultsSubmitFailure('Could not submit results to ' + 'speedtest.net') + + qsargs = parse_qs(response.decode()) + resultid = qsargs.get('resultid') + if not resultid or len(resultid) != 1: + raise ShareResultsSubmitFailure('Could not submit results to ' + 'speedtest.net') + + self._share = 'http://www.speedtest.net/result/%s.png' % resultid[0] + + return self._share + + def dict(self): + """Return dictionary of result data""" + + return { + 'download': self.download, + 'upload': self.upload, + 'ping': self.ping, + 'server': self.server, + 'timestamp': self.timestamp, + 'bytes_sent': self.bytes_sent, + 'bytes_received': self.bytes_received, + 'share': self._share, + 'client': self.client, + } + + @staticmethod + def csv_header(delimiter=','): + """Return CSV Headers""" + + row = ['Server ID', 'Sponsor', 'Server Name', 'Timestamp', 'Distance', + 'Ping', 'Download', 'Upload', 'Share', 'IP Address'] + out = StringIO() + writer = csv.writer(out, delimiter=delimiter, lineterminator='') + writer.writerow([to_utf8(v) for v in row]) + return out.getvalue() + + def csv(self, delimiter=','): + """Return data in CSV format""" + + data = self.dict() + out = StringIO() + writer = csv.writer(out, delimiter=delimiter, lineterminator='') + row = [data['server']['id'], data['server']['sponsor'], + data['server']['name'], data['timestamp'], + data['server']['d'], data['ping'], data['download'], + data['upload'], self._share or '', self.client['ip']] + writer.writerow([to_utf8(v) for v in row]) + return out.getvalue() + + def json(self, pretty=False): + """Return data in JSON format""" + + kwargs = {} + if pretty: + kwargs.update({ + 'indent': 4, + 'sort_keys': True + }) + return json.dumps(self.dict(), **kwargs) + + +class Speedtest(object): + """Class for performing standard speedtest.net testing operations""" + + def __init__(self, config=None, source_address=None, timeout=10, + secure=False, shutdown_event=None): + self.config = {} + + self._source_address = source_address + self._timeout = timeout + self._opener = build_opener(source_address, timeout) + + self._secure = secure + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + self.get_config() + if config is not None: + self.config.update(config) + + self.servers = {} + self.closest = [] + self._best = {} + + self.results = SpeedtestResults( + client=self.config['client'], + opener=self._opener, + secure=secure, + ) + + @property + def best(self): + if not self._best: + self.get_best_server() + return self._best + + def get_config(self): + """Download the speedtest.net configuration and return only the data + we are interested in + """ + + headers = {} + if gzip: + headers['Accept-Encoding'] = 'gzip' + request = build_request('://www.speedtest.net/speedtest-config.php', + headers=headers, secure=self._secure) + uh, e = catch_request(request, opener=self._opener) + if e: + raise ConfigRetrievalError(e) + configxml_list = [] + + stream = get_response_stream(uh) + + while 1: + try: + configxml_list.append(stream.read(1024)) + except (OSError, EOFError): + raise ConfigRetrievalError(get_exception()) + if len(configxml_list[-1]) == 0: + break + stream.close() + uh.close() + + if int(uh.code) != 200: + return None + + configxml = ''.encode().join(configxml_list) + + printer('Config XML:\n%s' % configxml, debug=True) + + try: + try: + root = ET.fromstring(configxml) + except ET.ParseError: + e = get_exception() + raise SpeedtestConfigError( + 'Malformed speedtest.net configuration: %s' % e + ) + server_config = root.find('server-config').attrib + download = root.find('download').attrib + upload = root.find('upload').attrib + # times = root.find('times').attrib + client = root.find('client').attrib + + except AttributeError: + try: + root = DOM.parseString(configxml) + except ExpatError: + e = get_exception() + raise SpeedtestConfigError( + 'Malformed speedtest.net configuration: %s' % e + ) + server_config = get_attributes_by_tag_name(root, 'server-config') + download = get_attributes_by_tag_name(root, 'download') + upload = get_attributes_by_tag_name(root, 'upload') + # times = get_attributes_by_tag_name(root, 'times') + client = get_attributes_by_tag_name(root, 'client') + + ignore_servers = [ + int(i) for i in server_config['ignoreids'].split(',') if i + ] + + ratio = int(upload['ratio']) + upload_max = int(upload['maxchunkcount']) + up_sizes = [32768, 65536, 131072, 262144, 524288, 1048576, 7340032] + sizes = { + 'upload': up_sizes[ratio - 1:], + 'download': [350, 500, 750, 1000, 1500, 2000, 2500, + 3000, 3500, 4000] + } + + size_count = len(sizes['upload']) + + upload_count = int(math.ceil(upload_max / size_count)) + + counts = { + 'upload': upload_count, + 'download': int(download['threadsperurl']) + } + + threads = { + 'upload': int(upload['threads']), + 'download': int(server_config['threadcount']) * 2 + } + + length = { + 'upload': int(upload['testlength']), + 'download': int(download['testlength']) + } + + self.config.update({ + 'client': client, + 'ignore_servers': ignore_servers, + 'sizes': sizes, + 'counts': counts, + 'threads': threads, + 'length': length, + 'upload_max': upload_count * size_count + }) + + try: + self.lat_lon = (float(client['lat']), float(client['lon'])) + except ValueError: + raise SpeedtestConfigError( + 'Unknown location: lat=%r lon=%r' % + (client.get('lat'), client.get('lon')) + ) + + printer('Config:\n%r' % self.config, debug=True) + + return self.config + + def get_servers(self, servers=None, exclude=None): + """Retrieve a the list of speedtest.net servers, optionally filtered + to servers matching those specified in the ``servers`` argument + """ + if servers is None: + servers = [] + + if exclude is None: + exclude = [] + + self.servers.clear() + + for server_list in (servers, exclude): + for i, s in enumerate(server_list): + try: + server_list[i] = int(s) + except ValueError: + raise InvalidServerIDType( + '%s is an invalid server type, must be int' % s + ) + + urls = [ + '://www.speedtest.net/speedtest-servers-static.php', + 'http://c.speedtest.net/speedtest-servers-static.php', + '://www.speedtest.net/speedtest-servers.php', + 'http://c.speedtest.net/speedtest-servers.php', + ] + + headers = {} + if gzip: + headers['Accept-Encoding'] = 'gzip' + + errors = [] + for url in urls: + try: + request = build_request( + '%s?threads=%s' % (url, + self.config['threads']['download']), + headers=headers, + secure=self._secure + ) + uh, e = catch_request(request, opener=self._opener) + if e: + errors.append('%s' % e) + raise ServersRetrievalError() + + stream = get_response_stream(uh) + + serversxml_list = [] + while 1: + try: + serversxml_list.append(stream.read(1024)) + except (OSError, EOFError): + raise ServersRetrievalError(get_exception()) + if len(serversxml_list[-1]) == 0: + break + + stream.close() + uh.close() + + if int(uh.code) != 200: + raise ServersRetrievalError() + + serversxml = ''.encode().join(serversxml_list) + + printer('Servers XML:\n%s' % serversxml, debug=True) + + try: + try: + try: + root = ET.fromstring(serversxml) + except ET.ParseError: + e = get_exception() + raise SpeedtestServersError( + 'Malformed speedtest.net server list: %s' % e + ) + elements = etree_iter(root, 'server') + except AttributeError: + try: + root = DOM.parseString(serversxml) + except ExpatError: + e = get_exception() + raise SpeedtestServersError( + 'Malformed speedtest.net server list: %s' % e + ) + elements = root.getElementsByTagName('server') + except (SyntaxError, xml.parsers.expat.ExpatError): + raise ServersRetrievalError() + + for server in elements: + try: + attrib = server.attrib + except AttributeError: + attrib = dict(list(server.attributes.items())) + + if servers and int(attrib.get('id')) not in servers: + continue + + if (int(attrib.get('id')) in self.config['ignore_servers'] + or int(attrib.get('id')) in exclude): + continue + + try: + d = distance(self.lat_lon, + (float(attrib.get('lat')), + float(attrib.get('lon')))) + except Exception: + continue + + attrib['d'] = d + + try: + self.servers[d].append(attrib) + except KeyError: + self.servers[d] = [attrib] + + break + + except ServersRetrievalError: + continue + + if (servers or exclude) and not self.servers: + raise NoMatchedServers() + + return self.servers + + def set_mini_server(self, server): + """Instead of querying for a list of servers, set a link to a + speedtest mini server + """ + + urlparts = urlparse(server) + + name, ext = os.path.splitext(urlparts[2]) + if ext: + url = os.path.dirname(server) + else: + url = server + + request = build_request(url) + uh, e = catch_request(request, opener=self._opener) + if e: + raise SpeedtestMiniConnectFailure('Failed to connect to %s' % + server) + else: + text = uh.read() + uh.close() + + extension = re.findall('upload_?[Ee]xtension: "([^"]+)"', + text.decode()) + if not extension: + for ext in ['php', 'asp', 'aspx', 'jsp']: + try: + f = self._opener.open( + '%s/speedtest/upload.%s' % (url, ext) + ) + except Exception: + pass + else: + data = f.read().strip().decode() + if (f.code == 200 and + len(data.splitlines()) == 1 and + re.match('size=[0-9]', data)): + extension = [ext] + break + if not urlparts or not extension: + raise InvalidSpeedtestMiniServer('Invalid Speedtest Mini Server: ' + '%s' % server) + + self.servers = [{ + 'sponsor': 'Speedtest Mini', + 'name': urlparts[1], + 'd': 0, + 'url': '%s/speedtest/upload.%s' % (url.rstrip('/'), extension[0]), + 'latency': 0, + 'id': 0 + }] + + return self.servers + + def get_closest_servers(self, limit=5): + """Limit servers to the closest speedtest.net servers based on + geographic distance + """ + + if not self.servers: + self.get_servers() + + for d in sorted(self.servers.keys()): + for s in self.servers[d]: + self.closest.append(s) + if len(self.closest) == limit: + break + else: + continue + break + + printer('Closest Servers:\n%r' % self.closest, debug=True) + return self.closest + + def get_best_server(self, servers=None): + """Perform a speedtest.net "ping" to determine which speedtest.net + server has the lowest latency + """ + + if not servers: + if not self.closest: + servers = self.get_closest_servers() + servers = self.closest + + if self._source_address: + source_address_tuple = (self._source_address, 0) + else: + source_address_tuple = None + + user_agent = build_user_agent() + + results = {} + for server in servers: + cum = [] + url = os.path.dirname(server['url']) + stamp = int(timeit.time.time() * 1000) + latency_url = '%s/latency.txt?x=%s' % (url, stamp) + for i in range(0, 3): + this_latency_url = '%s.%s' % (latency_url, i) + printer('%s %s' % ('GET', this_latency_url), + debug=True) + urlparts = urlparse(latency_url) + try: + if urlparts[0] == 'https': + h = SpeedtestHTTPSConnection( + urlparts[1], + source_address=source_address_tuple + ) + else: + h = SpeedtestHTTPConnection( + urlparts[1], + source_address=source_address_tuple + ) + headers = {'User-Agent': user_agent} + path = '%s?%s' % (urlparts[2], urlparts[4]) + start = timeit.default_timer() + h.request("GET", path, headers=headers) + r = h.getresponse() + total = (timeit.default_timer() - start) + except HTTP_ERRORS: + e = get_exception() + printer('ERROR: %r' % e, debug=True) + cum.append(3600) + continue + + text = r.read(9) + if int(r.status) == 200 and text == 'test=test'.encode(): + cum.append(total) + else: + cum.append(3600) + h.close() + + avg = round((sum(cum) / 6) * 1000.0, 3) + results[avg] = server + + try: + fastest = sorted(results.keys())[0] + except IndexError: + raise SpeedtestBestServerFailure('Unable to connect to servers to ' + 'test latency.') + best = results[fastest] + best['latency'] = fastest + + self.results.ping = fastest + self.results.server = best + + self._best.update(best) + printer('Best Server:\n%r' % best, debug=True) + return best + + def download(self, callback=do_nothing, threads=None): + """Test download speed against speedtest.net + + A ``threads`` value of ``None`` will fall back to those dictated + by the speedtest.net configuration + """ + + urls = [] + for size in self.config['sizes']['download']: + for _ in range(0, self.config['counts']['download']): + urls.append('%s/random%sx%s.jpg' % + (os.path.dirname(self.best['url']), size, size)) + + request_count = len(urls) + requests = [] + for i, url in enumerate(urls): + requests.append( + build_request(url, bump=i, secure=self._secure) + ) + + max_threads = threads or self.config['threads']['download'] + in_flight = {'threads': 0} + + def producer(q, requests, request_count): + for i, request in enumerate(requests): + thread = HTTPDownloader( + i, + request, + start, + self.config['length']['download'], + opener=self._opener, + shutdown_event=self._shutdown_event + ) + while in_flight['threads'] >= max_threads: + timeit.time.sleep(0.001) + thread.start() + q.put(thread, True) + in_flight['threads'] += 1 + callback(i, request_count, start=True) + + finished = [] + + def consumer(q, request_count): + _is_alive = thread_is_alive + while len(finished) < request_count: + thread = q.get(True) + while _is_alive(thread): + thread.join(timeout=0.001) + in_flight['threads'] -= 1 + finished.append(sum(thread.result)) + callback(thread.i, request_count, end=True) + + q = Queue(max_threads) + prod_thread = threading.Thread(target=producer, + args=(q, requests, request_count)) + cons_thread = threading.Thread(target=consumer, + args=(q, request_count)) + start = timeit.default_timer() + prod_thread.start() + cons_thread.start() + _is_alive = thread_is_alive + while _is_alive(prod_thread): + prod_thread.join(timeout=0.001) + while _is_alive(cons_thread): + cons_thread.join(timeout=0.001) + + stop = timeit.default_timer() + self.results.bytes_received = sum(finished) + self.results.download = ( + (self.results.bytes_received / (stop - start)) * 8.0 + ) + if self.results.download > 100000: + self.config['threads']['upload'] = 8 + return self.results.download + + def upload(self, callback=do_nothing, pre_allocate=True, threads=None): + """Test upload speed against speedtest.net + + A ``threads`` value of ``None`` will fall back to those dictated + by the speedtest.net configuration + """ + + sizes = [] + + for size in self.config['sizes']['upload']: + for _ in range(0, self.config['counts']['upload']): + sizes.append(size) + + # request_count = len(sizes) + request_count = self.config['upload_max'] + + requests = [] + for i, size in enumerate(sizes): + # We set ``0`` for ``start`` and handle setting the actual + # ``start`` in ``HTTPUploader`` to get better measurements + data = HTTPUploaderData( + size, + 0, + self.config['length']['upload'], + shutdown_event=self._shutdown_event + ) + if pre_allocate: + data.pre_allocate() + + headers = {'Content-length': size} + requests.append( + ( + build_request(self.best['url'], data, secure=self._secure, + headers=headers), + size + ) + ) + + max_threads = threads or self.config['threads']['upload'] + in_flight = {'threads': 0} + + def producer(q, requests, request_count): + for i, request in enumerate(requests[:request_count]): + thread = HTTPUploader( + i, + request[0], + start, + request[1], + self.config['length']['upload'], + opener=self._opener, + shutdown_event=self._shutdown_event + ) + while in_flight['threads'] >= max_threads: + timeit.time.sleep(0.001) + thread.start() + q.put(thread, True) + in_flight['threads'] += 1 + callback(i, request_count, start=True) + + finished = [] + + def consumer(q, request_count): + _is_alive = thread_is_alive + while len(finished) < request_count: + thread = q.get(True) + while _is_alive(thread): + thread.join(timeout=0.001) + in_flight['threads'] -= 1 + finished.append(thread.result) + callback(thread.i, request_count, end=True) + + q = Queue(threads or self.config['threads']['upload']) + prod_thread = threading.Thread(target=producer, + args=(q, requests, request_count)) + cons_thread = threading.Thread(target=consumer, + args=(q, request_count)) + start = timeit.default_timer() + prod_thread.start() + cons_thread.start() + _is_alive = thread_is_alive + while _is_alive(prod_thread): + prod_thread.join(timeout=0.1) + while _is_alive(cons_thread): + cons_thread.join(timeout=0.1) + + stop = timeit.default_timer() + self.results.bytes_sent = sum(finished) + self.results.upload = ( + (self.results.bytes_sent / (stop - start)) * 8.0 + ) + return self.results.upload + + +def ctrl_c(shutdown_event): + """Catch Ctrl-C key sequence and set a SHUTDOWN_EVENT for our threaded + operations + """ + def inner(signum, frame): + shutdown_event.set() + printer('\nCancelling...', error=True) + sys.exit(0) + return inner + + +def version(): + """Print the version""" + + printer('speedtest-cli %s' % __version__) + printer('Python %s' % sys.version.replace('\n', '')) + sys.exit(0) + + +def csv_header(delimiter=','): + """Print the CSV Headers""" + + printer(SpeedtestResults.csv_header(delimiter=delimiter)) + sys.exit(0) + + +def parse_args(): + """Function to handle building and parsing of command line arguments""" + description = ( + 'Command line interface for testing internet bandwidth using ' + 'speedtest.net.\n' + '------------------------------------------------------------' + '--------------\n' + 'https://github.com/sivel/speedtest-cli') + + parser = ArgParser(description=description) + # Give optparse.OptionParser an `add_argument` method for + # compatibility with argparse.ArgumentParser + try: + parser.add_argument = parser.add_option + except AttributeError: + pass + parser.add_argument('--no-download', dest='download', default=True, + action='store_const', const=False, + help='Do not perform download test') + parser.add_argument('--no-upload', dest='upload', default=True, + action='store_const', const=False, + help='Do not perform upload test') + parser.add_argument('--single', default=False, action='store_true', + help='Only use a single connection instead of ' + 'multiple. This simulates a typical file ' + 'transfer.') + parser.add_argument('--bytes', dest='units', action='store_const', + const=('byte', 8), default=('bit', 1), + help='Display values in bytes instead of bits. Does ' + 'not affect the image generated by --share, nor ' + 'output from --json or --csv') + parser.add_argument('--share', action='store_true', + help='Generate and provide a URL to the speedtest.net ' + 'share results image, not displayed with --csv') + parser.add_argument('--simple', action='store_true', default=False, + help='Suppress verbose output, only show basic ' + 'information') + parser.add_argument('--csv', action='store_true', default=False, + help='Suppress verbose output, only show basic ' + 'information in CSV format. Speeds listed in ' + 'bit/s and not affected by --bytes') + parser.add_argument('--csv-delimiter', default=',', type=PARSER_TYPE_STR, + help='Single character delimiter to use in CSV ' + 'output. Default ","') + parser.add_argument('--csv-header', action='store_true', default=False, + help='Print CSV headers') + parser.add_argument('--json', action='store_true', default=False, + help='Suppress verbose output, only show basic ' + 'information in JSON format. Speeds listed in ' + 'bit/s and not affected by --bytes') + parser.add_argument('--list', action='store_true', + help='Display a list of speedtest.net servers ' + 'sorted by distance') + parser.add_argument('--server', type=PARSER_TYPE_INT, action='append', + help='Specify a server ID to test against. Can be ' + 'supplied multiple times') + parser.add_argument('--exclude', type=PARSER_TYPE_INT, action='append', + help='Exclude a server from selection. Can be ' + 'supplied multiple times') + parser.add_argument('--mini', help='URL of the Speedtest Mini server') + parser.add_argument('--source', help='Source IP address to bind to') + parser.add_argument('--timeout', default=10, type=PARSER_TYPE_FLOAT, + help='HTTP timeout in seconds. Default 10') + parser.add_argument('--secure', action='store_true', + help='Use HTTPS instead of HTTP when communicating ' + 'with speedtest.net operated servers') + parser.add_argument('--no-pre-allocate', dest='pre_allocate', + action='store_const', default=True, const=False, + help='Do not pre allocate upload data. Pre allocation ' + 'is enabled by default to improve upload ' + 'performance. To support systems with ' + 'insufficient memory, use this option to avoid a ' + 'MemoryError') + parser.add_argument('--version', action='store_true', + help='Show the version number and exit') + parser.add_argument('--debug', action='store_true', + help=ARG_SUPPRESS, default=ARG_SUPPRESS) + + options = parser.parse_args() + if isinstance(options, tuple): + args = options[0] + else: + args = options + return args + + +def validate_optional_args(args): + """Check if an argument was provided that depends on a module that may + not be part of the Python standard library. + + If such an argument is supplied, and the module does not exist, exit + with an error stating which module is missing. + """ + optional_args = { + 'json': ('json/simplejson python module', json), + 'secure': ('SSL support', HTTPSConnection), + } + + for arg, info in optional_args.items(): + if getattr(args, arg, False) and info[1] is None: + raise SystemExit('%s is not installed. --%s is ' + 'unavailable' % (info[0], arg)) + + +def printer(string, quiet=False, debug=False, error=False, **kwargs): + """Helper function print a string with various features""" + + if debug and not DEBUG: + return + + if debug: + if sys.stdout.isatty(): + out = '\033[1;30mDEBUG: %s\033[0m' % string + else: + out = 'DEBUG: %s' % string + else: + out = string + + if error: + kwargs['file'] = sys.stderr + + if not quiet: + print_(out, **kwargs) + + +def shell(): + """Run the full speedtest.net test""" + + global DEBUG + shutdown_event = threading.Event() + + signal.signal(signal.SIGINT, ctrl_c(shutdown_event)) + + args = parse_args() + + # Print the version and exit + if args.version: + version() + + if not args.download and not args.upload: + raise SpeedtestCLIError('Cannot supply both --no-download and ' + '--no-upload') + + if len(args.csv_delimiter) != 1: + raise SpeedtestCLIError('--csv-delimiter must be a single character') + + if args.csv_header: + csv_header(args.csv_delimiter) + + validate_optional_args(args) + + debug = getattr(args, 'debug', False) + if debug == 'SUPPRESSHELP': + debug = False + if debug: + DEBUG = True + + if args.simple or args.csv or args.json: + quiet = True + else: + quiet = False + + if args.csv or args.json: + machine_format = True + else: + machine_format = False + + # Don't set a callback if we are running quietly + if quiet or debug: + callback = do_nothing + else: + callback = print_dots(shutdown_event) + + printer('Retrieving speedtest.net configuration...', quiet) + try: + speedtest = Speedtest( + source_address=args.source, + timeout=args.timeout, + secure=args.secure + ) + except (ConfigRetrievalError,) + HTTP_ERRORS: + printer('Cannot retrieve speedtest configuration', error=True) + raise SpeedtestCLIError(get_exception()) + + if args.list: + try: + speedtest.get_servers() + except (ServersRetrievalError,) + HTTP_ERRORS: + printer('Cannot retrieve speedtest server list', error=True) + raise SpeedtestCLIError(get_exception()) + + for _, servers in sorted(speedtest.servers.items()): + for server in servers: + line = ('%(id)5s) %(sponsor)s (%(name)s, %(country)s) ' + '[%(d)0.2f km]' % server) + try: + printer(line) + except IOError: + e = get_exception() + if e.errno != errno.EPIPE: + raise + sys.exit(0) + + printer('Testing from %(isp)s (%(ip)s)...' % speedtest.config['client'], + quiet) + + if not args.mini: + printer('Retrieving speedtest.net server list...', quiet) + try: + speedtest.get_servers(servers=args.server, exclude=args.exclude) + except NoMatchedServers: + raise SpeedtestCLIError( + 'No matched servers: %s' % + ', '.join('%s' % s for s in args.server) + ) + except (ServersRetrievalError,) + HTTP_ERRORS: + printer('Cannot retrieve speedtest server list', error=True) + raise SpeedtestCLIError(get_exception()) + except InvalidServerIDType: + raise SpeedtestCLIError( + '%s is an invalid server type, must ' + 'be an int' % ', '.join('%s' % s for s in args.server) + ) + + if args.server and len(args.server) == 1: + printer('Retrieving information for the selected server...', quiet) + else: + printer('Selecting best server based on ping...', quiet) + speedtest.get_best_server() + elif args.mini: + speedtest.get_best_server(speedtest.set_mini_server(args.mini)) + + results = speedtest.results + + printer('Hosted by %(sponsor)s (%(name)s) [%(d)0.2f km]: ' + '%(latency)s ms' % results.server, quiet) + + if args.download: + printer('Testing download speed', quiet, + end=('', '\n')[bool(debug)]) + speedtest.download( + callback=callback, + threads=(None, 1)[args.single] + ) + printer('Download: %0.2f M%s/s' % + ((results.download / 1000.0 / 1000.0) / args.units[1], + args.units[0]), + quiet) + else: + printer('Skipping download test', quiet) + + if args.upload: + printer('Testing upload speed', quiet, + end=('', '\n')[bool(debug)]) + speedtest.upload( + callback=callback, + pre_allocate=args.pre_allocate, + threads=(None, 1)[args.single] + ) + printer('Upload: %0.2f M%s/s' % + ((results.upload / 1000.0 / 1000.0) / args.units[1], + args.units[0]), + quiet) + else: + printer('Skipping upload test', quiet) + + printer('Results:\n%r' % results.dict(), debug=True) + + if not args.simple and args.share: + results.share() + + if args.simple: + printer('Ping: %s ms\nDownload: %0.2f M%s/s\nUpload: %0.2f M%s/s' % + (results.ping, + (results.download / 1000.0 / 1000.0) / args.units[1], + args.units[0], + (results.upload / 1000.0 / 1000.0) / args.units[1], + args.units[0])) + elif args.csv: + printer(results.csv(delimiter=args.csv_delimiter)) + elif args.json: + printer(results.json()) + + if args.share and not machine_format: + printer('Share results: %s' % results.share()) + + +def main(): + try: + shell() + except KeyboardInterrupt: + printer('\nCancelling...', error=True) + except (SpeedtestException, SystemExit): + e = get_exception() + # Ignore a successful exit, or argparse exit + if getattr(e, 'code', 1) not in (0, 2): + msg = '%s' % e + if not msg: + msg = '%r' % e + raise SystemExit('ERROR: %s' % msg) + + +if __name__ == '__main__': + main() diff --git a/luci-app-netspeedtest/root/etc/uci-defaults/40_luci-app-netspeedtest b/luci-app-netspeedtest/root/etc/uci-defaults/40_luci-app-netspeedtest new file mode 100644 index 00000000..a5b82d09 --- /dev/null +++ b/luci-app-netspeedtest/root/etc/uci-defaults/40_luci-app-netspeedtest @@ -0,0 +1,5 @@ +#!/bin/sh +chmod 755 /etc/init.d/netspeedtest /etc/init.d/speedtest >/dev/null 2>&1 + +rm -rf /tmp/luci-modulecache /tmp/luci-indexcache* +exit 0 diff --git a/luci-app-netspeedtest/root/usr/share/netspeedtest/netspeedtest.txt b/luci-app-netspeedtest/root/usr/share/netspeedtest/netspeedtest.txt new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/luci-app-netspeedtest/root/usr/share/netspeedtest/netspeedtest.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/luci-app-netspeedtest/root/usr/share/rpcd/acl.d/luci-app-netspeedtest.json b/luci-app-netspeedtest/root/usr/share/rpcd/acl.d/luci-app-netspeedtest.json new file mode 100644 index 00000000..3e1fcab6 --- /dev/null +++ b/luci-app-netspeedtest/root/usr/share/rpcd/acl.d/luci-app-netspeedtest.json @@ -0,0 +1,11 @@ +{ + "luci-app-netspeedtest": { + "description": "Grant UCI access for luci-app-netspeedtest", + "read": { + "uci": [ "netspeedtest" ] + }, + "write": { + "uci": [ "netspeedtest" ] + } + } +} diff --git a/luci-app-nginx-manager/Makefile b/luci-app-nginx-manager/Makefile new file mode 100644 index 00000000..08c66e41 --- /dev/null +++ b/luci-app-nginx-manager/Makefile @@ -0,0 +1,15 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for NginxManager +LUCI_DEPENDS:=+luci-nginx +luci-ssl-nginx +luci-ssl-openssl +LUCI_PKGARCH:=all +PKG_VERSION:=1.0 +PKG_RELEASE:=20220222 +PKG_MAINTAINER:=Nginx + +include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-nginx-manager/luasrc/controller/nginx-manager.lua b/luci-app-nginx-manager/luasrc/controller/nginx-manager.lua new file mode 100644 index 00000000..e03c6fbf --- /dev/null +++ b/luci-app-nginx-manager/luasrc/controller/nginx-manager.lua @@ -0,0 +1,39 @@ +module("luci.controller.nginx-manager", package.seeall) + +function index() + nixio.fs.rename ("/etc/nginx/uci.conf", "/etc/nginx/ucibak.conf") + if not nixio.fs.access("/etc/nginx/nginx.conf") then + nixio.fs.copyr("/var/lib/nginx/uci.conf", "/etc/nginx/nginx.conf") + luci.sys.call("/etc/init.d/nginx restart") + end + file=nixio.fs.readfile("/etc/uwsgi/vassals/luci-webui.ini") + if tonumber(file:match("limit%pas[%p%s]+(%d+)")) < 5000 then + file=file:gsub("limit%pas[%p%s]+(%d+)","limit-as = 5000") + nixio.fs.writefile("/etc/uwsgi/vassals/luci-webui.ini", file) + luci.sys.call("/etc/init.d/uwsgi restart") + end + nixio.fs.writefile("/etc/config/nginx-manager", "") + x = luci.model.uci.cursor() + x:set("nginx-manager", "main", "nginx") + x:set("nginx-manager", "main", "name", "main") + x:set("nginx-manager", "main", "filepath", "/etc/nginx/nginx.conf") + for path in nixio.fs.dir("/etc/nginx/conf.d") do + if path:find(".conf$") ~= nil then + name = path:gsub(".conf", "") + x:set("nginx-manager", name, "nginx") + x:set("nginx-manager", name, "name", name) + x:set("nginx-manager", name, "filepath", "/etc/nginx/conf.d/" .. path) + end + end + x:commit("nginx-manager") + entry({"admin", "services", "nginx-manager"}, cbi("nginx-manager"), _("Nginx Manager"), 95).dependent = true + entry({"admin", "services", "nginx-manager", "setstatus"}, call("setstatus")).leaf = true +end + +function setstatus() + local e = {} + local mode = luci.http.formvalue('mode') + e.code=luci.sys.call("/etc/init.d/nginx " .. mode) + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end \ No newline at end of file diff --git a/luci-app-nginx-manager/luasrc/model/cbi/nginx-manager.lua b/luci-app-nginx-manager/luasrc/model/cbi/nginx-manager.lua new file mode 100644 index 00000000..af9bd1f4 --- /dev/null +++ b/luci-app-nginx-manager/luasrc/model/cbi/nginx-manager.lua @@ -0,0 +1,43 @@ +local fs = require "nixio.fs" +local m = Map("nginx-manager",translate("Nginx Manager"), translate("A simple Nginx manager")) +s = m:section(TypedSection, "nginx", translate("Web site list")) +s.template = "nginx-manager/index" +s.addremove = true +s.anonymous = false +s:tab("general", translate("General Info")) +s:tab("server", translate("Configuration File")) +s:taboption("general", DummyValue, "name", translate("name")) +s:taboption("general", DummyValue, "filepath", translate("File Path")) +file=s:taboption("server", TextValue, "") +file.template = "cbi/tvalue" +file.rows = 25 +file.wrap = "off" +file.rmempty = true + +function s.create(self,section) + path="/etc/nginx/conf.d/" .. section .. ".conf" + fs.copyr("/etc/nginx/conf.d/templates", path) + TypedSection.create(self,section) + self.map:set(section, "name", section) + self.map:set(section, "filepath", path) + return true +end +function s.remove(self,section) + path="/etc/nginx/conf.d/" .. section .. ".conf" + fs.remove(path) + TypedSection.remove(self,section) +end +function sync_value_to_file(value, file) + value = value:gsub("\r\n?", "\n") + local old_value = fs.readfile(file) + if value ~= old_value then + fs.writefile(file, value) + end +end +function file.cfgvalue(self,section) + return fs.readfile(self.map:get(section, "filepath")) or "" +end +function file.write(self, section, value) + sync_value_to_file(value, self.map:get(section, "filepath")) +end +return m diff --git a/luci-app-nginx-manager/luasrc/view/nginx-manager/index.htm b/luci-app-nginx-manager/luasrc/view/nginx-manager/index.htm new file mode 100644 index 00000000..66b14114 --- /dev/null +++ b/luci-app-nginx-manager/luasrc/view/nginx-manager/index.htm @@ -0,0 +1,65 @@ +
+ <% if self.title and #self.title > 0 then -%> + <%=self.title%> + <%- end %> + <% if self.description and #self.description > 0 then -%> +
<%=self.description%>
+ <%- end %> +
+ +
+ +
+ +
+ +
+
+ <% local isempty = true for i, k in ipairs(self:cfgsections()) do -%> + <%- section = k; isempty = false -%> + + <% if not self.anonymous then -%> +
+ <%=section:upper()%> + +
+ <%- end %> + + <%+cbi/tabmenu%> + +
+ <%+cbi/ucisection%> +
+ <%- end %> + + <% if isempty then -%> + <%:This section contains no values yet%>

+ <%- end %> + + <% if self.addremove then -%> + <% if self.template_addremove then include(self.template_addremove) else -%> +
+ <% if self.anonymous then -%> + + <%- else -%> + <% if self.invalid_cts then -%>
<% end %> + + + <% if self.invalid_cts then -%> +
<%:Invalid%>
+ <%- end %> + <%- end %> +
+ <%- end %> + <%- end %> +
+ + \ No newline at end of file diff --git a/luci-app-nginx-manager/po/zh-cn/nginx-manager.po b/luci-app-nginx-manager/po/zh-cn/nginx-manager.po new file mode 100644 index 00000000..e7751481 --- /dev/null +++ b/luci-app-nginx-manager/po/zh-cn/nginx-manager.po @@ -0,0 +1,26 @@ +msgid "Nginx Manager" +msgstr "Nginx管理器" + +msgid "A simple Nginx manager" +msgstr "一个简易的Nginx管理器" + +msgid "Web site list" +msgstr "网站列表" + +msgid "Restart the nginx" +msgstr "重新启动Nginx" + +msgid "Reload the nginx" +msgstr "重新加载Nginx" + +msgid "Reload" +msgstr "重新加载" + +msgid "Configuration File" +msgstr "配置文件" + +msgid "General Info" +msgstr "基础信息" + +msgid "File Path" +msgstr "文件路径" \ No newline at end of file diff --git a/luci-app-nginx-manager/po/zh_Hans b/luci-app-nginx-manager/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-nginx-manager/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-nginx-manager/root/etc/nginx/conf.d/templates b/luci-app-nginx-manager/root/etc/nginx/conf.d/templates new file mode 100644 index 00000000..aa1155ec --- /dev/null +++ b/luci-app-nginx-manager/root/etc/nginx/conf.d/templates @@ -0,0 +1,17 @@ +server { + listen 8080; #bind prot 绑定的端口 + root /www; #directory 网站路径 + ssl_session_timeout 5m; + gzip on; + gzip_types text/plain application/json application/javascript application/x-javascript text/css application/xml text/javascript; + gzip_proxied any; + gzip_vary on; + gzip_comp_level 6; + gzip_buffers 16 8k; + gzip_http_version 1.0; + + location / { + index index.html index.htm; #默认文件 + try_files $uri $uri/ /index.html; + } +} diff --git a/luci-app-nginx-manager/root/etc/uci-defaults/luci-app-nginx-manager b/luci-app-nginx-manager/root/etc/uci-defaults/luci-app-nginx-manager new file mode 100644 index 00000000..1db677c6 --- /dev/null +++ b/luci-app-nginx-manager/root/etc/uci-defaults/luci-app-nginx-manager @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@nginx-manager[-1] + add ucitrack nginx-manager + set ucitrack.@nginx-manage[-1].init=nginx + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-nginx-manager/root/usr/share/rpcd/acl.d/luci-app-nginx-manager.json b/luci-app-nginx-manager/root/usr/share/rpcd/acl.d/luci-app-nginx-manager.json new file mode 100644 index 00000000..35339440 --- /dev/null +++ b/luci-app-nginx-manager/root/usr/share/rpcd/acl.d/luci-app-nginx-manager.json @@ -0,0 +1,11 @@ +{ + "luci-app-nginx-manager": { + "description": "Grant UCI access for luci-app-nginx-manager", + "read": { + "uci": [ "nginx-manager" ] + }, + "write": { + "uci": [ "nginx-manager" ] + } + } +} diff --git a/luci-app-onliner/.gitattributes b/luci-app-onliner/.gitattributes new file mode 100644 index 00000000..dfe07704 --- /dev/null +++ b/luci-app-onliner/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/luci-app-onliner/.gitignore b/luci-app-onliner/.gitignore new file mode 100644 index 00000000..5b9bd874 --- /dev/null +++ b/luci-app-onliner/.gitignore @@ -0,0 +1,2 @@ + +*.bak diff --git a/luci-app-onliner/Makefile b/luci-app-onliner/Makefile new file mode 100644 index 00000000..e6c975ed --- /dev/null +++ b/luci-app-onliner/Makefile @@ -0,0 +1,32 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support arp online +LUCI_DEPENDS:= +LUCI_PKGARCH:=all +PKG_NAME:=luci-app-onliner +PKG_VERSION:=1.1 +PKG_RELEASE:=5 + +define Package/luci-app-onliner/install + $(INSTALL_DIR) $(1)/usr/lib/lua/luci + cp -pR ./luasrc/* $(1)/usr/lib/lua/luci + $(INSTALL_DIR) $(1)/ + cp -pR ./root/* $(1)/ +endef + +define Package/luci-app-onliner/postinst +#!/bin/sh + rm -f /tmp/luci-indexcache + rm -f /tmp/luci-modulecache/* + chmod -R 755 /usr/share/onliner/* +exit 0 +endef +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + diff --git a/luci-app-onliner/luasrc/controller/onliner.lua b/luci-app-onliner/luasrc/controller/onliner.lua new file mode 100644 index 00000000..33267bfd --- /dev/null +++ b/luci-app-onliner/luasrc/controller/onliner.lua @@ -0,0 +1,17 @@ +module("luci.controller.onliner",package.seeall) +nixio=require"nixio" +function index() +entry({"admin","status","onliner"},alias("admin","status","onliner","onliner"),_("Online User")) +entry({"admin","status","onliner","onliner"},template("onliner/onliner"),_("Online User"),1) +entry({"admin", "status","onliner","speed"}, template("onliner/display"), _("speed"), 2) +entry({"admin", "status","onliner","setnlbw"}, call("set_nlbw")) +end +function set_nlbw() + if nixio.fs.access("/var/run/onsetnlbw") then + nixio.fs.writefile("/var/run/onsetnlbw","1"); + else + io.popen("/usr/share/onliner/setnlbw.sh &") + end + luci.http.prepare_content("application/json") + luci.http.write('') +end \ No newline at end of file diff --git a/luci-app-onliner/luasrc/view/onliner/display.htm b/luci-app-onliner/luasrc/view/onliner/display.htm new file mode 100644 index 00000000..5c047757 --- /dev/null +++ b/luci-app-onliner/luasrc/view/onliner/display.htm @@ -0,0 +1,921 @@ +<%# + Copyright 2017 Jo-Philipp Wich + Licensed to the public under the Apache License 2.0. +-%> + +<% css = [[ + + #chartjs-tooltip { + opacity: 0; + position: absolute; + background: rgba(0, 0, 0, .7); + color: white; + padding: 3px; + border-radius: 3px; + -webkit-transition: all .1s ease; + transition: all .1s ease; + pointer-events: none; + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); + z-index: 200; + } + + #chartjs-tooltip.above { + -webkit-transform: translate(-50%, -100%); + transform: translate(-50%, -100%); + } + + #chartjs-tooltip.above:before { + border: solid; + border-color: #111 transparent; + border-color: rgba(0, 0, 0, .8) transparent; + border-width: 8px 8px 0 8px; + bottom: 1em; + content: ""; + display: block; + left: 50%; + top: 100%; + position: absolute; + z-index: 99; + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); + } + + table { + border: 1px solid #999; + border-collapse: collapse; + margin: 0 0 2px !important; + } + + th, td, table table td { + border: 1px solid #999; + text-align: right; + padding: 1px 3px !important; + white-space: nowrap; + } + + tbody td { + border-bottom-color: #ccc; + } + tbody td:nth-last-child(4) { + width: 10%; + } + tbody td:nth-last-child(3) { + width: 10%; + } + tbody td:nth-last-child(2) { + width: 10%; + } + tbody td:nth-last-child(1) { + width: 10%; + } + tbody td[rowspan] { + border-bottom-color: #999; + } + + tbody tr:last-child td { + border-bottom-color: #999; + } + + .kpi { + display: inline-block; + vertical-align: top; + } + + .kpi ul { + list-style: none; + } + + .kpi li { + margin: 10px; + display: none; + } + + .kpi big { + font-weight: bold; + } + + #detail-bubble { + position: absolute; + opacity: 0; + visibility: hidden; + } + + #detail-bubble.in { + opacity: 1; + visibility: visible; + transition: opacity 0.5s; + } + + #detail-bubble > div { + border: 1px solid #ccc; + border-radius: 2px; + padding: 5px; + background: #fcfcfc; + } + + #detail-bubble .head { + text-align: center; + white-space: nowrap; + position: relative; + } + + #detail-bubble .head .dismiss { + top: 0; + right: 0; + width: 20px; + line-height: 20px; + text-align: center; + text-decoration: none; + font-weight: bold; + color: #000; + position: absolute; + font-size: 20px; + } + #detail-bubble .kpi { + margin: 40px 5px 5px; + font-size: smaller; + text-align: left; + } + + #detail-bubble .kpi ul { + margin: 0; + } + + #bubble-arrow { + border: 1px solid #ccc; + border-width: 1px 0 0 1px; + background: #fcfcfc; + width: 15px; + height: 15px; + position: absolute; + left: 0; + top: -8px; + transform: rotate(45deg); + margin: 0 0 0 -8px; + } + + tr.active > td { + border-bottom: 2px solid red; + } + + tr.active > td.active { + border: 2px solid red; + border-bottom: none; + } + + td.detail { + border: 2px solid red; + border-top: none; + opacity: 0; + transition: opacity 0.5s; + } + + td.detail.in { + opacity: 1; + } + + th.hostname, + td.hostname { + text-align: left; + } + +]] -%> + +<%+header%> + + + + + +

<%:Netlink Bandwidth Monitor%>

+ +
+ +
+
+ × +
+
    +
  • <%_Hostname: example.org%>
  • +
  • <%_Vendor: Example Corp.%>
  • +
+
+
+
+
+
+ + + +
+
+
+
    +
  • <%_0 hosts%>
  • +
  • <%_0 download%>
  • +
  • <%_0 upload%>
  • +
  • <%_0 connections%>
  • +
+
+
+ + + + + + + + +
<%:Host%><%:MAC%><%:Connections%><%:Download (Bytes / Packets)%><%:Upload (Bytes / Packets)%>
+
+ + + + + + + +<%+footer%> diff --git a/luci-app-onliner/luasrc/view/onliner/onliner.htm b/luci-app-onliner/luasrc/view/onliner/onliner.htm new file mode 100644 index 00000000..0f1a9e97 --- /dev/null +++ b/luci-app-onliner/luasrc/view/onliner/onliner.htm @@ -0,0 +1,99 @@ +<%# + Copyright 2008 Steven Barth + Copyright 2008-2011 Jo-Philipp Wich + Licensed to the public under the Apache License 2.0. +-%> + +<% +local util = require "luci.util" +local function online_data() + local rv = { } + local fd = util.execi('/usr/bin/awk \'BEGIN{while ((getline < "/tmp/dhcp.leases") > 0){a[$2]=$4;}while ((getline < "/proc/net/arp") > 0){if (!a[$4]){a[$4]="\?";}if (match($3,"0x[26]")){"ping -q -c 1 "$1" &";if (b[$4]){b[$4]=b[$4]"/"$1;}else{b[$4]=$1;}c[$4]=$6;}}while (("ip -6 neighbor show | grep -v fe80" | getline) > 0){if (b[$5]) {"ping -q -c 1 "$1" &";b[$5]=b[$5]"/"$1;}}for (mac in b){print(a[mac],b[mac],mac,c[mac]);}}\' ') + while true do + local ln = fd() + if ln == nil then break end + local name,ip,mac,dev = ln:match("^(%S+) (%S+) (%S+) (%S+)") + if mac and ip and name and dev then + rv[#rv+1] = { + hostname = name, + device = dev, + macaddr = mac, + ipaddr = ip + } + end + end + return rv +end + + +if luci.http.formvalue("status") == "1" then + local rv = { + onlines = online_data() + } + luci.http.prepare_content("application/json") + luci.http.write_json(rv) + return +end +-%> + +<%+header%> + + + + +

<%:Status%>

+ +
+ <%:user online%> + + + + + + + + + + + +
<%:Hostname%><%:IPv4-Address%><%:MAC-Address%><%:Interface%>

<%:Collecting data...%>
+
+ +<%+footer%> \ No newline at end of file diff --git a/luci-app-onliner/readme.md b/luci-app-onliner/readme.md new file mode 100644 index 00000000..3e4db61e --- /dev/null +++ b/luci-app-onliner/readme.md @@ -0,0 +1,6 @@ +### 通过arp实现的在线人员查看的luci界面,统计误差为arp老化时间 ### +### 通过nlbwmon实现的实时网速查看每两秒更新 需要luci-app-nlbwmon ### + +![图片](https://user-images.githubusercontent.com/22387141/70726447-0c01b000-1d39-11ea-914c-f539cf4943a0.png) + +![图片](https://user-images.githubusercontent.com/22387141/70726285-d2c94000-1d38-11ea-8ee6-10fc083533d3.png) diff --git a/luci-app-onliner/root/usr/share/onliner/setnlbw.sh b/luci-app-onliner/root/usr/share/onliner/setnlbw.sh new file mode 100644 index 00000000..1f36adf0 --- /dev/null +++ b/luci-app-onliner/root/usr/share/onliner/setnlbw.sh @@ -0,0 +1,20 @@ +#!/bin/sh +PATH="/usr/sbin:/usr/bin:/sbin:/bin" +echo "1">/var/run/onsetnlbw +interval=$(uci get nlbwmon.@nlbwmon[0].refresh_interval) +uci set nlbwmon.@nlbwmon[0].refresh_interval="2s" +/etc/init.d/nlbwmon reload +while true +do + sleep 12 + watchdog=$(cat /var/run/onsetnlbw) + if [ "$watchdog"x == "0"x ]; then + uci set nlbwmon.@nlbwmon[0].refresh_interval=$interval + uci commit nlbwmon + /etc/init.d/nlbwmon reload + rm -f /var/run/onsetnlbw + exit 0 + else + echo "0">/var/run/onsetnlbw + fi +done \ No newline at end of file diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile new file mode 100644 index 00000000..5adbce9a --- /dev/null +++ b/luci-app-passwall/Makefile @@ -0,0 +1,176 @@ +# Copyright (C) 2018-2020 L-WRT Team +# Copyright (C) 2021-2022 xiaorouji +# +# This is free software, licensed under the GNU General Public License v3. + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-passwall +PKG_VERSION:=4.51 +PKG_RELEASE:=7 + +PKG_CONFIG_DEPENDS:= \ + CONFIG_PACKAGE_$(PKG_NAME)_Transparent_Proxy \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Brook \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Haproxy \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_IPv6_Nat \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_PDNSD \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_GO \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_Plus \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray_Plugin + +LUCI_TITLE:=LuCI support for PassWall +LUCI_PKGARCH:=all +LUCI_DEPENDS:=+coreutils +coreutils-base64 +coreutils-nohup +curl \ + +dns2socks +ip-full +libuci-lua +lua +luci-compat +luci-lib-jsonc \ + +microsocks +resolveip +tcping +unzip \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Brook:brook \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG:chinadns-ng \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Haproxy:haproxy \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria:hysteria \ + +PACKAGE_$(PKG_NAME)_INCLUDE_IPv6_Nat:ip6tables-mod-nat \ + +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \ + +PACKAGE_$(PKG_NAME)_INCLUDE_PDNSD:pdnsd-alt \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-local \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-redir \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server:shadowsocks-libev-ss-server \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client:shadowsocks-rust-sslocal \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-local \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-redir \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server:shadowsocksr-libev-ssr-server \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs:simple-obfs \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_GO:trojan-go \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_Plus:trojan-plus \ + +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray-core \ + +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin:v2ray-plugin \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Xray_Plugin:xray-plugin + +define Package/$(PKG_NAME)/config +menu "Configuration" + +config PACKAGE_$(PKG_NAME)_Transparent_Proxy + bool "Transparent Proxy" + select PACKAGE_dnsmasq-full + select PACKAGE_ipset + select PACKAGE_ipt2socks + select PACKAGE_iptables + select PACKAGE_iptables-legacy + select PACKAGE_iptables-mod-iprange + select PACKAGE_iptables-mod-socket + select PACKAGE_iptables-mod-tproxy + select PACKAGE_kmod-ipt-nat + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_Brook + bool "Include Brook" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG + bool "Include ChinaDNS-NG" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_Haproxy + bool "Include Haproxy" + default y if aarch64||arm||i386||x86_64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria + bool "Include Hysteria" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_IPv6_Nat + depends on PACKAGE_ip6tables + bool "Include IPv6 Nat" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy + bool "Include NaiveProxy" + depends on !(arc||(arm&&TARGET_gemini)||armeb||mips||mips64||powerpc) + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_PDNSD + bool "Include PDNSD" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client + bool "Include Shadowsocks Libev Client" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server + bool "Include Shadowsocks Libev Server" + default y if aarch64||arm||i386||x86_64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client + bool "Include Shadowsocks Rust Client" + depends on aarch64||arm||i386||mips||mipsel||x86_64 + default y if aarch64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client + bool "Include ShadowsocksR Libev Client" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server + bool "Include ShadowsocksR Libev Server" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs + bool "Include Simple-Obfs (Shadowsocks Plugin)" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_GO + bool "Include Trojan-GO" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_Plus + bool "Include Trojan-Plus" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray + bool "Include V2ray" + default y if aarch64||arm||i386||x86_64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin + bool "Include V2ray-Plugin (Shadowsocks Plugin)" + default y if aarch64||arm||i386||x86_64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_Xray + bool "Include Xray" + default y if aarch64||arm||i386||x86_64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_Xray_Plugin + bool "Include Xray-Plugin (Shadowsocks Plugin)" + default n + +endmenu +endef + +define Package/$(PKG_NAME)/conffiles +/etc/config/passwall +/etc/config/passwall_server +/usr/share/passwall/rules/direct_host +/usr/share/passwall/rules/direct_ip +/usr/share/passwall/rules/proxy_host +/usr/share/passwall/rules/proxy_ip +/usr/share/passwall/rules/block_host +/usr/share/passwall/rules/block_ip +/usr/share/passwall/rules/lanlist_ipv4 +/usr/share/passwall/rules/lanlist_ipv6 +/usr/share/passwall/rules/domains_excluded +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-passwall/luasrc/controller/passwall.lua b/luci-app-passwall/luasrc/controller/passwall.lua new file mode 100644 index 00000000..7b52dbca --- /dev/null +++ b/luci-app-passwall/luasrc/controller/passwall.lua @@ -0,0 +1,491 @@ +-- Copyright (C) 2018-2020 L-WRT Team +-- Copyright (C) 2021-2022 xiaorouji + +module("luci.controller.passwall", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local ucic = luci.model.uci.cursor() +local http = require "luci.http" +local util = require "luci.util" +local i18n = require "luci.i18n" +local brook = require("luci.model.cbi." .. appname ..".api.brook") +local v2ray = require("luci.model.cbi." .. appname ..".api.v2ray") +local xray = require("luci.model.cbi." .. appname ..".api.xray") +local trojan_go = require("luci.model.cbi." .. appname ..".api.trojan_go") +local hysteria = require("luci.model.cbi." .. appname ..".api.hysteria") + +function index() + appname = require "luci.model.cbi.passwall.api.api".appname + entry({"admin", "services", appname}).dependent = true + entry({"admin", "services", appname, "reset_config"}, call("reset_config")).leaf = true + entry({"admin", "services", appname, "show"}, call("show_menu")).leaf = true + entry({"admin", "services", appname, "hide"}, call("hide_menu")).leaf = true + if not nixio.fs.access("/etc/config/passwall") then return end + if nixio.fs.access("/etc/config/passwall_show") then + e = entry({"admin", "services", appname}, alias("admin", "services", appname, "settings"), _("Pass Wall"), -1) + e.dependent = true + e.acl_depends = { "luci-app-passwall" } + end + --[[ Client ]] + entry({"admin", "services", appname, "settings"}, cbi(appname .. "/client/global"), _("Basic Settings"), 1).dependent = true + entry({"admin", "services", appname, "node_list"}, cbi(appname .. "/client/node_list"), _("Node List"), 2).dependent = true + entry({"admin", "services", appname, "node_subscribe"}, cbi(appname .. "/client/node_subscribe"), _("Node Subscribe"), 3).dependent = true + entry({"admin", "services", appname, "auto_switch"}, cbi(appname .. "/client/auto_switch"), _("Auto Switch"), 4).leaf = true + entry({"admin", "services", appname, "other"}, cbi(appname .. "/client/other", {autoapply = true}), _("Other Settings"), 92).leaf = true + if nixio.fs.access("/usr/sbin/haproxy") then + entry({"admin", "services", appname, "haproxy"}, cbi(appname .. "/client/haproxy"), _("Load Balancing"), 93).leaf = true + end + entry({"admin", "services", appname, "app_update"}, cbi(appname .. "/client/app_update"), _("App Update"), 95).leaf = true + entry({"admin", "services", appname, "rule"}, cbi(appname .. "/client/rule"), _("Rule Manage"), 96).leaf = true + entry({"admin", "services", appname, "rule_list"}, cbi(appname .. "/client/rule_list"), _("Rule List"), 97).leaf = true + entry({"admin", "services", appname, "node_subscribe_config"}, cbi(appname .. "/client/node_subscribe_config")).leaf = true + entry({"admin", "services", appname, "node_config"}, cbi(appname .. "/client/node_config")).leaf = true + entry({"admin", "services", appname, "shunt_rules"}, cbi(appname .. "/client/shunt_rules")).leaf = true + entry({"admin", "services", appname, "acl"}, cbi(appname .. "/client/acl"), _("Access control"), 98).leaf = true + entry({"admin", "services", appname, "acl_config"}, cbi(appname .. "/client/acl_config")).leaf = true + entry({"admin", "services", appname, "log"}, form(appname .. "/client/log"), _("Watch Logs"), 999).leaf = true + + --[[ Server ]] + entry({"admin", "services", appname, "server"}, cbi(appname .. "/server/index"), _("Server-Side"), 99).leaf = true + entry({"admin", "services", appname, "server_user"}, cbi(appname .. "/server/user")).leaf = true + + --[[ API ]] + entry({"admin", "services", appname, "server_user_status"}, call("server_user_status")).leaf = true + entry({"admin", "services", appname, "server_user_log"}, call("server_user_log")).leaf = true + entry({"admin", "services", appname, "server_get_log"}, call("server_get_log")).leaf = true + entry({"admin", "services", appname, "server_clear_log"}, call("server_clear_log")).leaf = true + entry({"admin", "services", appname, "link_add_node"}, call("link_add_node")).leaf = true + entry({"admin", "services", appname, "autoswitch_add_node"}, call("autoswitch_add_node")).leaf = true + entry({"admin", "services", appname, "autoswitch_remove_node"}, call("autoswitch_remove_node")).leaf = true + entry({"admin", "services", appname, "get_now_use_node"}, call("get_now_use_node")).leaf = true + entry({"admin", "services", appname, "get_redir_log"}, call("get_redir_log")).leaf = true + entry({"admin", "services", appname, "get_log"}, call("get_log")).leaf = true + entry({"admin", "services", appname, "clear_log"}, call("clear_log")).leaf = true + entry({"admin", "services", appname, "status"}, call("status")).leaf = true + entry({"admin", "services", appname, "haproxy_status"}, call("haproxy_status")).leaf = true + entry({"admin", "services", appname, "socks_status"}, call("socks_status")).leaf = true + entry({"admin", "services", appname, "connect_status"}, call("connect_status")).leaf = true + entry({"admin", "services", appname, "ping_node"}, call("ping_node")).leaf = true + entry({"admin", "services", appname, "urltest_node"}, call("urltest_node")).leaf = true + entry({"admin", "services", appname, "set_node"}, call("set_node")).leaf = true + entry({"admin", "services", appname, "copy_node"}, call("copy_node")).leaf = true + entry({"admin", "services", appname, "clear_all_nodes"}, call("clear_all_nodes")).leaf = true + entry({"admin", "services", appname, "delete_select_nodes"}, call("delete_select_nodes")).leaf = true + entry({"admin", "services", appname, "update_rules"}, call("update_rules")).leaf = true + entry({"admin", "services", appname, "brook_check"}, call("brook_check")).leaf = true + entry({"admin", "services", appname, "brook_update"}, call("brook_update")).leaf = true + entry({"admin", "services", appname, "v2ray_check"}, call("v2ray_check")).leaf = true + entry({"admin", "services", appname, "v2ray_update"}, call("v2ray_update")).leaf = true + entry({"admin", "services", appname, "xray_check"}, call("xray_check")).leaf = true + entry({"admin", "services", appname, "xray_update"}, call("xray_update")).leaf = true + entry({"admin", "services", appname, "trojan_go_check"}, call("trojan_go_check")).leaf = true + entry({"admin", "services", appname, "trojan_go_update"}, call("trojan_go_update")).leaf = true + entry({"admin", "services", appname, "hysteria_check"}, call("hysteria_check")).leaf = true + entry({"admin", "services", appname, "hysteria_update"}, call("hysteria_update")).leaf = true +end + +local function http_write_json(content) + http.prepare_content("application/json") + http.write_json(content or {code = 1}) +end + +function reset_config() + luci.sys.call('/etc/init.d/passwall stop') + luci.sys.call('[ -f "/usr/share/passwall/0_default_config" ] && cp -f /usr/share/passwall/0_default_config /etc/config/passwall') + luci.http.redirect(api.url()) +end + +function show_menu() + luci.sys.call("touch /etc/config/passwall_show") + luci.sys.call("rm -rf /tmp/luci-*") + luci.sys.call("/etc/init.d/rpcd restart >/dev/null") + luci.http.redirect(api.url()) +end + +function hide_menu() + luci.sys.call("rm -rf /etc/config/passwall_show") + luci.sys.call("rm -rf /tmp/luci-*") + luci.sys.call("/etc/init.d/rpcd restart >/dev/null") + luci.http.redirect(luci.dispatcher.build_url("admin", "status", "overview")) +end + +function link_add_node() + local lfile = "/tmp/links.conf" + local link = luci.http.formvalue("link") + luci.sys.call('echo \'' .. link .. '\' > ' .. lfile) + luci.sys.call("lua /usr/share/passwall/subscribe.lua add log") +end + +function autoswitch_add_node() + local key = luci.http.formvalue("key") + if key and key ~= "" then + for k, e in ipairs(api.get_valid_nodes()) do + if e.node_type == "normal" and e["remark"]:find(key) then + luci.sys.call(string.format("uci -q del_list passwall.@auto_switch[0].tcp_node='%s' && uci -q add_list passwall.@auto_switch[0].tcp_node='%s'", e.id, e.id)) + end + end + end + luci.http.redirect(api.url("auto_switch")) +end + +function autoswitch_remove_node() + local key = luci.http.formvalue("key") + if key and key ~= "" then + for k, e in ipairs(ucic:get(appname, "@auto_switch[0]", "tcp_node") or {}) do + if e and (ucic:get(appname, e, "remarks") or ""):find(key) then + luci.sys.call(string.format("uci -q del_list passwall.@auto_switch[0].tcp_node='%s'", e)) + end + end + end + luci.http.redirect(api.url("auto_switch")) +end + +function get_now_use_node() + local e = {} + local data, code, msg = nixio.fs.readfile("/tmp/etc/passwall/id/TCP") + if data then + e["TCP"] = util.trim(data) + end + local data, code, msg = nixio.fs.readfile("/tmp/etc/passwall/id/UDP") + if data then + e["UDP"] = util.trim(data) + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function get_redir_log() + local proto = luci.http.formvalue("proto") + proto = proto:upper() + if proto == "UDP" and (ucic:get(appname, "@global[0]", "udp_node") or "nil") == "tcp" and not nixio.fs.access("/tmp/etc/passwall/" .. proto .. ".log") then + proto = "TCP" + end + if nixio.fs.access("/tmp/etc/passwall/" .. proto .. ".log") then + local content = luci.sys.exec("cat /tmp/etc/passwall/" .. proto .. ".log") + content = content:gsub("\n", "
") + luci.http.write(content) + else + luci.http.write(string.format("", i18n.translate("Not enabled log"))) + end +end + +function get_log() + -- luci.sys.exec("[ -f /tmp/log/passwall.log ] && sed '1!G;h;$!d' /tmp/log/passwall.log > /tmp/log/passwall_show.log") + luci.http.write(luci.sys.exec("[ -f '/tmp/log/passwall.log' ] && cat /tmp/log/passwall.log")) +end + +function clear_log() + luci.sys.call("echo '' > /tmp/log/passwall.log") +end + +function status() + -- local dns_mode = ucic:get(appname, "@global[0]", "dns_mode") + local e = {} + e.dns_mode_status = luci.sys.call("netstat -apn | grep ':7913 ' >/dev/null") == 0 + e.haproxy_status = luci.sys.call(string.format("top -bn1 | grep -v grep | grep '%s/bin/' | grep haproxy >/dev/null", appname)) == 0 + e["tcp_node_status"] = luci.sys.call(string.format("top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep -i 'TCP' >/dev/null", appname)) == 0 + + if (ucic:get(appname, "@global[0]", "udp_node") or "nil") == "tcp" then + e["udp_node_status"] = e["tcp_node_status"] + else + e["udp_node_status"] = luci.sys.call(string.format("top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep -i 'UDP' >/dev/null", appname)) == 0 + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function haproxy_status() + local e = luci.sys.call(string.format("top -bn1 | grep -v grep | grep '%s/bin/' | grep haproxy >/dev/null", appname)) == 0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function socks_status() + local e = {} + local index = luci.http.formvalue("index") + local id = luci.http.formvalue("id") + e.index = index + e.socks_status = luci.sys.call(string.format("top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '%s' | grep 'SOCKS_' > /dev/null", appname, id)) == 0 + local use_http = ucic:get(appname, id, "http_port") or 0 + e.use_http = 0 + if tonumber(use_http) > 0 then + e.use_http = 1 + e.http_status = luci.sys.call(string.format("top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '%s' | grep -E 'HTTP_|HTTP2SOCKS' > /dev/null", appname, id)) == 0 + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function connect_status() + local e = {} + e.use_time = "" + local url = luci.http.formvalue("url") + local result = luci.sys.exec('curl --connect-timeout 3 -o /dev/null -I -skL -w "%{http_code}:%{time_starttransfer}" ' .. url) + local code = tonumber(luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $1}'") or "0") + if code ~= 0 then + local use_time = luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $2}'") + if use_time:find("%.") then + e.use_time = string.format("%.2f", use_time * 1000) + else + e.use_time = string.format("%.2f", use_time / 1000) + end + e.ping_type = "curl" + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function ping_node() + local index = luci.http.formvalue("index") + local address = luci.http.formvalue("address") + local port = luci.http.formvalue("port") + local e = {} + e.index = index + local nodes_ping = ucic:get(appname, "@global_other[0]", "nodes_ping") or "" + if nodes_ping:find("tcping") and luci.sys.exec("echo -n $(command -v tcping)") ~= "" then + if api.is_ipv6(address) then + address = api.get_ipv6_only(address) + end + e.ping = luci.sys.exec(string.format("echo -n $(tcping -q -c 1 -i 1 -t 2 -p %s %s 2>&1 | grep -o 'time=[0-9]*' | awk -F '=' '{print $2}') 2>/dev/null", port, address)) + end + if e.ping == nil or tonumber(e.ping) == 0 then + e.ping = luci.sys.exec("echo -n $(ping -c 1 -W 1 %q 2>&1 | grep -o 'time=[0-9]*' | awk -F '=' '{print $2}') 2>/dev/null" % address) + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function urltest_node() + local index = luci.http.formvalue("index") + local id = luci.http.formvalue("id") + local e = {} + e.index = index + local result = luci.sys.exec(string.format("/usr/share/passwall/test.sh url_test_node %s %s", id, "urltest_node")) + local code = tonumber(luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $1}'") or "0") + if code ~= 0 then + local use_time = luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $2}'") + if use_time:find("%.") then + e.use_time = string.format("%.2f", use_time * 1000) + else + e.use_time = string.format("%.2f", use_time / 1000) + end + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function set_node() + local protocol = luci.http.formvalue("protocol") + local section = luci.http.formvalue("section") + ucic:set(appname, "@global[0]", protocol .. "_node", section) + ucic:commit(appname) + luci.sys.call("/etc/init.d/passwall restart > /dev/null 2>&1 &") + luci.http.redirect(api.url("log")) +end + +function copy_node() + local section = luci.http.formvalue("section") + local uuid = api.gen_uuid() + ucic:section(appname, "nodes", uuid) + for k, v in pairs(ucic:get_all(appname, section)) do + local filter = k:find("%.") + if filter and filter == 1 then + else + xpcall(function() + ucic:set(appname, uuid, k, v) + end, + function(e) + end) + end + end + ucic:delete(appname, uuid, "add_from") + ucic:set(appname, uuid, "add_mode", 1) + ucic:commit(appname) + luci.http.redirect(api.url("node_config", uuid)) +end + +function clear_all_nodes() + ucic:set(appname, '@global[0]', "enabled", "0") + ucic:set(appname, '@global[0]', "tcp_node", "nil") + ucic:set(appname, '@global[0]', "udp_node", "nil") + ucic:set_list(appname, "@auto_switch[0]", "tcp_node", {}) + ucic:foreach(appname, "socks", function(t) + ucic:delete(appname, t[".name"]) + end) + ucic:foreach(appname, "haproxy_config", function(t) + ucic:delete(appname, t[".name"]) + end) + ucic:foreach(appname, "acl_rule", function(t) + ucic:set(appname, t[".name"], "tcp_node", "default") + ucic:set(appname, t[".name"], "udp_node", "default") + end) + ucic:foreach(appname, "nodes", function(node) + ucic:delete(appname, node['.name']) + end) + + ucic:commit(appname) + luci.sys.call("/etc/init.d/" .. appname .. " stop") +end + +function delete_select_nodes() + local ids = luci.http.formvalue("ids") + local auto_switch_tcp_node_list = ucic:get(appname, "@auto_switch[0]", "tcp_node") or {} + string.gsub(ids, '[^' .. "," .. ']+', function(w) + for k, v in ipairs(auto_switch_tcp_node_list) do + if v == w then + luci.sys.call(string.format("uci -q del_list passwall.@auto_switch[0].tcp_node='%s'", w)) + end + end + if (ucic:get(appname, "@global[0]", "tcp_node") or "nil") == w then + ucic:set(appname, '@global[0]', "tcp_node", "nil") + end + if (ucic:get(appname, "@global[0]", "udp_node") or "nil") == w then + ucic:set(appname, '@global[0]', "udp_node", "nil") + end + ucic:foreach(appname, "socks", function(t) + if t["node"] == w then + ucic:delete(appname, t[".name"]) + end + end) + ucic:foreach(appname, "haproxy_config", function(t) + if t["lbss"] == w then + ucic:delete(appname, t[".name"]) + end + end) + ucic:foreach(appname, "acl_rule", function(t) + if t["tcp_node"] == w then + ucic:set(appname, t[".name"], "tcp_node", "default") + end + if t["udp_node"] == w then + ucic:set(appname, t[".name"], "udp_node", "default") + end + end) + ucic:delete(appname, w) + end) + ucic:commit(appname) + luci.sys.call("/etc/init.d/" .. appname .. " restart > /dev/null 2>&1 &") +end + +function update_rules() + local update = luci.http.formvalue("update") + luci.sys.call("lua /usr/share/passwall/rule_update.lua log '" .. update .. "' > /dev/null 2>&1 &") + http_write_json() +end + +function server_user_status() + local e = {} + e.index = luci.http.formvalue("index") + e.status = luci.sys.call(string.format("top -bn1 | grep -v 'grep' | grep '%s/bin/' | grep -i '%s' >/dev/null", appname .. "_server", luci.http.formvalue("id"))) == 0 + http_write_json(e) +end + +function server_user_log() + local id = luci.http.formvalue("id") + if nixio.fs.access("/tmp/etc/passwall_server/" .. id .. ".log") then + local content = luci.sys.exec("cat /tmp/etc/passwall_server/" .. id .. ".log") + content = content:gsub("\n", "
") + luci.http.write(content) + else + luci.http.write(string.format("", i18n.translate("Not enabled log"))) + end +end + +function server_get_log() + luci.http.write(luci.sys.exec("[ -f '/tmp/log/passwall_server.log' ] && cat /tmp/log/passwall_server.log")) +end + +function server_clear_log() + luci.sys.call("echo '' > /tmp/log/passwall_server.log") +end + +function brook_check() + local json = brook.to_check("") + http_write_json(json) +end + +function brook_update() + local json = nil + local task = http.formvalue("task") + if task == "move" then + json = brook.to_move(http.formvalue("file")) + else + json = brook.to_download(http.formvalue("url"), http.formvalue("size")) + end + + http_write_json(json) +end + +function v2ray_check() + local json = v2ray.to_check("") + http_write_json(json) +end + +function v2ray_update() + local json = nil + local task = http.formvalue("task") + if task == "extract" then + json = v2ray.to_extract(http.formvalue("file"), http.formvalue("subfix")) + elseif task == "move" then + json = v2ray.to_move(http.formvalue("file")) + else + json = v2ray.to_download(http.formvalue("url"), http.formvalue("size")) + end + + http_write_json(json) +end + +function xray_check() + local json = xray.to_check("") + http_write_json(json) +end + +function xray_update() + local json = nil + local task = http.formvalue("task") + if task == "extract" then + json = xray.to_extract(http.formvalue("file"), http.formvalue("subfix")) + elseif task == "move" then + json = xray.to_move(http.formvalue("file")) + else + json = xray.to_download(http.formvalue("url"), http.formvalue("size")) + end + + http_write_json(json) +end + +function trojan_go_check() + local json = trojan_go.to_check("") + http_write_json(json) +end + +function trojan_go_update() + local json = nil + local task = http.formvalue("task") + if task == "extract" then + json = trojan_go.to_extract(http.formvalue("file"), http.formvalue("subfix")) + elseif task == "move" then + json = trojan_go.to_move(http.formvalue("file")) + else + json = trojan_go.to_download(http.formvalue("url"), http.formvalue("size")) + end + + http_write_json(json) +end + +function hysteria_check() + local json = hysteria.to_check("") + http_write_json(json) +end + +function hysteria_update() + local json = nil + local task = http.formvalue("task") + if task == "move" then + json = hysteria.to_move(http.formvalue("file")) + else + json = hysteria.to_download(http.formvalue("url"), http.formvalue("size")) + end + + http_write_json(json) +end + diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/api.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/api.lua new file mode 100755 index 00000000..50d3e989 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/api.lua @@ -0,0 +1,617 @@ +module("luci.model.cbi.passwall.api.api", package.seeall) +fs = require "nixio.fs" +sys = require "luci.sys" +uci = require"luci.model.uci".cursor() +util = require "luci.util" +datatypes = require "luci.cbi.datatypes" +jsonc = require "luci.jsonc" +i18n = require "luci.i18n" + +appname = "passwall" +curl = "/usr/bin/curl" +curl_args = {"-skfL", "--connect-timeout 3", "--retry 3", "-m 60"} +command_timeout = 300 +LEDE_BOARD = nil +DISTRIB_TARGET = nil + +function base64Decode(text) + local raw = text + if not text then return '' end + text = text:gsub("%z", "") + text = text:gsub("%c", "") + text = text:gsub("_", "/") + text = text:gsub("-", "+") + local mod4 = #text % 4 + text = text .. string.sub('====', mod4 + 1) + local result = nixio.bin.b64decode(text) + if result then + return result:gsub("%z", "") + else + return raw + end +end + +function url(...) + local url = string.format("admin/services/%s", appname) + local args = { ... } + for i, v in pairs(args) do + if v ~= "" then + url = url .. "/" .. v + end + end + return require "luci.dispatcher".build_url(url) +end + +function trim(s) + return (s:gsub("^%s*(.-)%s*$", "%1")) +end + +function is_exist(table, value) + for index, k in ipairs(table) do + if k == value then + return true + end + end + return false +end + +function repeat_exist(table, value) + local count = 0 + for index, k in ipairs(table) do + if k:find("-") and k == value then + count = count + 1 + end + end + if count > 1 then + return true + end + return false +end + +function get_args(arg) + local var = {} + for i, arg_k in pairs(arg) do + if i > 0 then + local v = arg[i + 1] + if v then + if repeat_exist(arg, v) == false then + var[arg_k] = v + end + end + end + end + return var +end + +function strToTable(str) + if str == nil or type(str) ~= "string" then + return {} + end + + return loadstring("return " .. str)() +end + +function is_normal_node(e) + if e and e.type and e.protocol and (e.protocol == "_balancing" or e.protocol == "_shunt") then + return false + end + return true +end + +function is_special_node(e) + return is_normal_node(e) == false +end + +function is_ip(val) + if is_ipv6(val) then + val = get_ipv6_only(val) + end + return datatypes.ipaddr(val) +end + +function is_ipv6(val) + local str = val + local address = val:match('%[(.*)%]') + if address then + str = address + end + if datatypes.ip6addr(str) then + return true + end + return false +end + +function is_ipv6addrport(val) + if is_ipv6(val) then + local address, port = val:match('%[(.*)%]:([^:]+)$') + if port then + return datatypes.port(port) + end + end + return false +end + +function get_ipv6_only(val) + local result = "" + if is_ipv6(val) then + result = val + if val:match('%[(.*)%]') then + result = val:match('%[(.*)%]') + end + end + return result +end + +function get_ipv6_full(val) + local result = "" + if is_ipv6(val) then + result = val + if not val:match('%[(.*)%]') then + result = "[" .. result .. "]" + end + end + return result +end + +function get_ip_type(val) + if is_ipv6(val) then + return "6" + elseif datatypes.ip4addr(val) then + return "4" + end + return "" +end + +function is_mac(val) + return datatypes.macaddr(val) +end + +function ip_or_mac(val) + if val then + if get_ip_type(val) == "4" then + return "ip" + end + if is_mac(val) then + return "mac" + end + end + return "" +end + +function iprange(val) + if val then + local ipStart, ipEnd = val:match("^([^/]+)-([^/]+)$") + if (ipStart and datatypes.ip4addr(ipStart)) and (ipEnd and datatypes.ip4addr(ipEnd)) then + return true + end + end + return false +end + +function get_valid_nodes() + local nodes_ping = uci_get_type("global_other", "nodes_ping") or "" + local nodes = {} + uci:foreach(appname, "nodes", function(e) + e.id = e[".name"] + if e.type and e.remarks then + if e.protocol and (e.protocol == "_balancing" or e.protocol == "_shunt") then + e["remark"] = "%s:[%s] " % {i18n.translatef(e.type .. e.protocol), e.remarks} + e["node_type"] = "special" + nodes[#nodes + 1] = e + end + if e.port and e.address then + local address = e.address + if is_ip(address) or datatypes.hostname(address) then + local type = e.type + if (type == "V2ray" or type == "Xray") and e.protocol then + local protocol = e.protocol + if protocol == "vmess" then + protocol = "VMess" + elseif protocol == "vless" then + protocol = "VLESS" + else + protocol = protocol:gsub("^%l",string.upper) + end + type = type .. " " .. protocol + end + if is_ipv6(address) then address = get_ipv6_full(address) end + e["remark"] = "%s:[%s]" % {type, e.remarks} + if nodes_ping:find("info") then + e["remark"] = "%s:[%s] %s:%s" % {type, e.remarks, address, e.port} + end + e.node_type = "normal" + nodes[#nodes + 1] = e + end + end + end + end) + return nodes +end + +function get_full_node_remarks(n) + local remarks = "" + if n then + if n.protocol and (n.protocol == "_balancing" or n.protocol == "_shunt") then + remarks = "%s:[%s] " % {i18n.translatef(n.type .. n.protocol), n.remarks} + else + local type2 = n.type + if (n.type == "V2ray" or n.type == "Xray") and n.protocol then + local protocol = n.protocol + if protocol == "vmess" then + protocol = "VMess" + elseif protocol == "vless" then + protocol = "VLESS" + else + protocol = protocol:gsub("^%l",string.upper) + end + type2 = type2 .. " " .. protocol + end + remarks = "%s:[%s] %s:%s" % {type2, n.remarks, n.address, n.port} + end + end + return remarks +end + +function gen_uuid(format) + local uuid = sys.exec("echo -n $(cat /proc/sys/kernel/random/uuid)") + if format == nil then + uuid = string.gsub(uuid, "-", "") + end + return uuid +end + +function uci_get_type(type, config, default) + local value = uci:get_first(appname, type, config, default) or sys.exec("echo -n $(uci -q get " .. appname .. ".@" .. type .."[0]." .. config .. ")") + if (value == nil or value == "") and (default and default ~= "") then + value = default + end + return value +end + +function uci_get_type_id(id, config, default) + local value = uci:get(appname, id, config, default) or sys.exec("echo -n $(uci -q get " .. appname .. "." .. id .. "." .. config .. ")") + if (value == nil or value == "") and (default and default ~= "") then + value = default + end + return value +end + +function chmod_755(file) + if file and file ~= "" then + if not fs.access(file, "rwx", "rx", "rx") then + fs.chmod(file, 755) + end + end +end + +function get_customed_path(e) + return uci_get_type("global_app", e .. "_file") +end + +function is_finded(e) + return luci.sys.exec('type -t -p "/bin/%s" -p "%s" "%s"' % {e, get_customed_path(e), e}) ~= "" and true or false +end + + +function clone(org) + local function copy(org, res) + for k,v in pairs(org) do + if type(v) ~= "table" then + res[k] = v; + else + res[k] = {}; + copy(v, res[k]) + end + end + end + + local res = {} + copy(org, res) + return res +end + +function get_bin_version_cache(file, cmd) + sys.call("mkdir -p /tmp/etc/passwall_tmp") + if fs.access(file) then + chmod_755(file) + local md5 = sys.exec("echo -n $(md5sum " .. file .. " | awk '{print $1}')") + if fs.access("/tmp/etc/passwall_tmp/" .. md5) then + return sys.exec("echo -n $(cat /tmp/etc/passwall_tmp/%s)" % md5) + else + local version = sys.exec(string.format("echo -n $(%s %s)", file, cmd)) + sys.call("echo '" .. version .. "' > " .. "/tmp/etc/passwall_tmp/" .. md5) + return version + end + end + return "" +end + +function get_v2ray_path() + local path = uci_get_type("global_app", "v2ray_file") + return path +end + +function get_v2ray_version(file) + if file == nil then file = get_v2ray_path() end + local cmd = "-version | awk '{print $2}' | sed -n 1P" + return get_bin_version_cache(file, cmd) +end + +function get_xray_path() + local path = uci_get_type("global_app", "xray_file") + return path +end + +function get_xray_version(file) + if file == nil then file = get_xray_path() end + local cmd = "-version | awk '{print $2}' | sed -n 1P" + return get_bin_version_cache(file, cmd) +end + +function get_trojan_go_path() + local path = uci_get_type("global_app", "trojan_go_file") + return path +end + +function get_trojan_go_version(file) + if file == nil then file = get_trojan_go_path() end + local cmd = "-version | awk '{print $2}' | sed -n 1P" + return get_bin_version_cache(file, cmd) +end + +function get_brook_path() + local path = uci_get_type("global_app", "brook_file") + return path +end + +function get_brook_version(file) + if file == nil then file = get_brook_path() end + local cmd = "-v | awk '{print $3}'" + return get_bin_version_cache(file, cmd) +end + +function get_hysteria_path() + local path = uci_get_type("global_app", "hysteria_file") + return path +end + +function get_hysteria_version(file) + if file == nil then file = get_hysteria_path() end + local cmd = "-v | awk '{print $3}'" + return get_bin_version_cache(file, cmd) +end + +function is_file(path) + if path and #path > 1 then + if sys.exec('[ -f "%s" ] && echo -n 1' % path) == "1" then + return true + end + end + return nil +end + +function is_dir(path) + if path and #path > 1 then + if sys.exec('[ -d "%s" ] && echo -n 1' % path) == "1" then + return true + end + end + return nil +end + +function get_final_dir(path) + if is_dir(path) then + return path + else + return get_final_dir(fs.dirname(path)) + end +end + +function get_free_space(dir) + if dir == nil then dir = "/" end + if sys.call("df -k " .. dir .. " >/dev/null 2>&1") == 0 then + return tonumber(sys.exec("echo -n $(df -k " .. dir .. " | awk 'NR>1' | awk '{print $4}')")) + end + return 0 +end + +function get_file_space(file) + if file == nil then return 0 end + if fs.access(file) then + return tonumber(sys.exec("echo -n $(du -k " .. file .. " | awk '{print $1}')")) + end + return 0 +end + +function _unpack(t, i) + i = i or 1 + if t[i] ~= nil then return t[i], _unpack(t, i + 1) end +end + +function exec(cmd, args, writer, timeout) + local os = require "os" + local nixio = require "nixio" + + local fdi, fdo = nixio.pipe() + local pid = nixio.fork() + + if pid > 0 then + fdo:close() + + if writer or timeout then + local starttime = os.time() + while true do + if timeout and os.difftime(os.time(), starttime) >= timeout then + nixio.kill(pid, nixio.const.SIGTERM) + return 1 + end + + if writer then + local buffer = fdi:read(2048) + if buffer and #buffer > 0 then + writer(buffer) + end + end + + local wpid, stat, code = nixio.waitpid(pid, "nohang") + + if wpid and stat == "exited" then return code end + + if not writer and timeout then nixio.nanosleep(1) end + end + else + local wpid, stat, code = nixio.waitpid(pid) + return wpid and stat == "exited" and code + end + elseif pid == 0 then + nixio.dup(fdo, nixio.stdout) + fdi:close() + fdo:close() + nixio.exece(cmd, args, nil) + nixio.stdout:close() + os.exit(1) + end +end + +function compare_versions(ver1, comp, ver2) + local table = table + + if not ver1 then ver1 = "" end + if not ver2 then ver2 = "" end + + local av1 = util.split(ver1, "[%.%-]", nil, true) + local av2 = util.split(ver2, "[%.%-]", nil, true) + + local max = table.getn(av1) + local n2 = table.getn(av2) + if (max < n2) then max = n2 end + + for i = 1, max, 1 do + local s1 = tonumber(av1[i] or 0) or 0 + local s2 = tonumber(av2[i] or 0) or 0 + + if comp == "~=" and (s1 ~= s2) then return true end + if (comp == "<" or comp == "<=") and (s1 < s2) then return true end + if (comp == ">" or comp == ">=") and (s1 > s2) then return true end + if (s1 ~= s2) then return false end + end + + return not (comp == "<" or comp == ">") +end + +function auto_get_arch() + local arch = nixio.uname().machine or "" + if fs.access("/usr/lib/os-release") then + LEDE_BOARD = sys.exec("echo -n $(grep 'LEDE_BOARD' /usr/lib/os-release | awk -F '[\\042\\047]' '{print $2}')") + end + if fs.access("/etc/openwrt_release") then + DISTRIB_TARGET = sys.exec("echo -n $(grep 'DISTRIB_TARGET' /etc/openwrt_release | awk -F '[\\042\\047]' '{print $2}')") + end + + if arch == "mips" then + if LEDE_BOARD and LEDE_BOARD ~= "" then + if string.match(LEDE_BOARD, "ramips") == "ramips" then + arch = "ramips" + else + arch = sys.exec("echo '" .. LEDE_BOARD .. "' | grep -oE 'ramips|ar71xx'") + end + elseif DISTRIB_TARGET and DISTRIB_TARGET ~= "" then + if string.match(DISTRIB_TARGET, "ramips") == "ramips" then + arch = "ramips" + else + arch = sys.exec("echo '" .. DISTRIB_TARGET .. "' | grep -oE 'ramips|ar71xx'") + end + end + end + + return util.trim(arch) +end + +function get_file_info(arch) + local file_tree = "" + local sub_version = "" + + if arch == "x86_64" then + file_tree = "amd64" + elseif arch == "aarch64" then + file_tree = "arm64" + elseif arch == "ramips" then + file_tree = "mipsle" + elseif arch == "ar71xx" then + file_tree = "mips" + elseif arch:match("^i[%d]86$") then + file_tree = "386" + elseif arch:match("^armv[5-8]") then + file_tree = "arm" + sub_version = arch:match("[5-8]") + if LEDE_BOARD and string.match(LEDE_BOARD, "bcm53xx") == "bcm53xx" then + sub_version = "5" + elseif DISTRIB_TARGET and string.match(DISTRIB_TARGET, "bcm53xx") == + "bcm53xx" then + sub_version = "5" + end + sub_version = "5" + end + + return file_tree, sub_version +end + +function get_api_json(url) + local jsonc = require "luci.jsonc" + local json_content = luci.sys.exec(curl .. " " .. _unpack(curl_args) .. " " .. url) + if json_content == "" then return {} end + return jsonc.parse(json_content) or {} +end + +function common_to_check(api_url, local_version, match_file_name) + local json = get_api_json(api_url) + + if #json > 0 then + json = json[1] + end + + if json.tag_name == nil then + return { + code = 1, + error = i18n.translate("Get remote version info failed.") + } + end + + local remote_version = json.tag_name + local has_update = compare_versions(local_version:match("[^v]+"), "<", remote_version:match("[^v]+")) + + if not has_update then + return { + code = 0, + local_version = local_version, + remote_version = remote_version + } + end + + local asset = {} + for _, v in ipairs(json.assets) do + if v.name and v.name:match(match_file_name) then + asset = v + break + end + end + if not asset.browser_download_url then + return { + code = 1, + local_version = local_version, + remote_version = remote_version, + html_url = json.html_url, + data = asset, + error = i18n.translate("New version found, but failed to get new version download url.") + } + end + + return { + code = 0, + has_update = true, + local_version = local_version, + remote_version = remote_version, + html_url = json.html_url, + data = asset + } +end \ No newline at end of file diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/brook.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/brook.lua new file mode 100644 index 00000000..8941b663 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/brook.lua @@ -0,0 +1,134 @@ +module("luci.model.cbi.passwall.api.brook", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" +local fs = api.fs +local sys = api.sys +local util = api.util +local i18n = api.i18n + +local pre_release_url = "https://api.github.com/repos/txthinking/brook/releases?per_page=1" +local release_url = "https://api.github.com/repos/txthinking/brook/releases/latest" +local api_url = release_url +local app_path = api.get_brook_path() or "" + +function check_path() + if app_path == "" then + return { + code = 1, + error = i18n.translatef("You did not fill in the %s path. Please save and apply then update manually.", "Brook") + } + end + return { + code = 0 + } +end + +function to_check(arch) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not arch or arch == "" then arch = api.auto_get_arch() end + + local file_tree, sub_version = api.get_file_info(arch) + + if file_tree == "" then + return { + code = 1, + error = i18n.translate("Can't determine ARCH, or ARCH not supported.") + } + end + + return api.common_to_check(api_url, api.get_brook_version(), "linux_" .. file_tree .. sub_version) +end + +function to_download(url, size) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not url or url == "" then + return {code = 1, error = i18n.translate("Download url is required.")} + end + + sys.call("/bin/rm -f /tmp/brook_download.*") + + local tmp_file = util.trim(util.exec("mktemp -u -t brook_download.XXXXXX")) + + if size then + local kb1 = api.get_free_space("/tmp") + if tonumber(size) > tonumber(kb1) then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + end + + result = api.exec(api.curl, {api._unpack(api.curl_args), "-o", tmp_file, url}, nil, api.command_timeout) == 0 + + if not result then + api.exec("/bin/rm", {"-f", tmp_file}) + return { + code = 1, + error = i18n.translatef("File download failed or timed out: %s", url) + } + end + + return {code = 0, file = tmp_file} +end + +function to_move(file) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" or not fs.access(file) then + sys.call("/bin/rm -rf /tmp/brook_download.*") + return {code = 1, error = i18n.translate("Client file is required.")} + end + + local new_version = api.get_brook_version(file) + if new_version == "" then + sys.call("/bin/rm -rf /tmp/brook_download.*") + return { + code = 1, + error = i18n.translate("The client file is not suitable for current device.") + } + end + + local flag = sys.call('pgrep -af "passwall/.*brook" >/dev/null') + if flag == 0 then + sys.call("/etc/init.d/passwall stop") + end + + local old_app_size = 0 + if fs.access(app_path) then + old_app_size = api.get_file_space(app_path) + end + local new_app_size = api.get_file_space(file) + local final_dir = api.get_final_dir(app_path) + local final_dir_free_size = api.get_free_space(final_dir) + if final_dir_free_size > 0 then + final_dir_free_size = final_dir_free_size + old_app_size + if new_app_size > final_dir_free_size then + sys.call("/bin/rm -rf /tmp/brook_download.*") + return {code = 1, error = i18n.translatef("%s not enough space.", final_dir)} + end + end + + result = api.exec("/bin/mv", {"-f", file, app_path}, nil, api.command_timeout) == 0 + + sys.call("/bin/rm -rf /tmp/brook_download.*") + if flag == 0 then + sys.call("/etc/init.d/passwall restart >/dev/null 2>&1 &") + end + + if not result or not fs.access(app_path) then + return { + code = 1, + error = i18n.translatef("Can't move new file to path: %s", app_path) + } + end + + return {code = 0} +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_hysteria.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_hysteria.lua new file mode 100644 index 00000000..b203e301 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_hysteria.lua @@ -0,0 +1,68 @@ +local api = require "luci.model.cbi.passwall.api.api" +local uci = api.uci +local jsonc = api.jsonc + +local var = api.get_args(arg) +local node_id = var["-node"] +if not node_id then + print("-node 不能为空") + return +end +local node = uci:get_all("passwall", node_id) +local local_tcp_redir_port = var["-local_tcp_redir_port"] +local local_udp_redir_port = var["-local_udp_redir_port"] +local local_socks_address = var["-local_socks_address"] or "0.0.0.0" +local local_socks_port = var["-local_socks_port"] +local local_socks_username = var["-local_socks_username"] +local local_socks_password = var["-local_socks_password"] +local local_http_address = var["-local_http_address"] or "0.0.0.0" +local local_http_port = var["-local_http_port"] +local local_http_username = var["-local_http_username"] +local local_http_password = var["-local_http_password"] +local server_host = var["-server_host"] or node.address +local server_port = var["-server_port"] or node.port + +if api.is_ipv6(server_host) then + server_host = api.get_ipv6_full(server_host) +end +local server = server_host .. ":" .. server_port + +local config = { + server = server, + protocol = node.protocol or "udp", + obfs = node.hysteria_obfs, + auth = (node.hysteria_auth_type == "base64") and node.hysteria_auth_password or nil, + auth_str = (node.hysteria_auth_type == "string") and node.hysteria_auth_password or nil, + alpn = node.hysteria_alpn or nil, + server_name = node.tls_serverName, + insecure = (node.tls_allowInsecure == "1") and true or false, + up_mbps = tonumber(node.hysteria_up_mbps) or 10, + down_mbps = tonumber(node.hysteria_down_mbps) or 50, + recv_window_conn = (node.hysteria_recv_window_conn) and tonumber(node.hysteria_recv_window_conn) or nil, + recv_window = (node.hysteria_recv_window) and tonumber(node.hysteria_recv_window) or nil, + disable_mtu_discovery = (node.hysteria_disable_mtu_discovery) and true or false, + socks5 = (local_socks_address and local_socks_port) and { + listen = local_socks_address .. ":" .. local_socks_port, + timeout = 300, + disable_udp = false, + user = (local_socks_username and local_socks_password) and local_socks_username, + password = (local_socks_username and local_socks_password) and local_socks_password, + } or nil, + http = (local_http_address and local_http_port) and { + listen = local_http_address .. ":" .. local_http_port, + timeout = 300, + disable_udp = false, + user = (local_http_username and local_http_password) and local_http_username, + password = (local_http_username and local_http_password) and local_http_password, + } or nil, + tproxy_tcp = (local_tcp_redir_port) and { + listen = "0.0.0.0:" .. local_tcp_redir_port, + timeout = 300 + } or nil, + tproxy_udp = (local_udp_redir_port) and { + listen = "0.0.0.0:" .. local_udp_redir_port, + timeout = 60 + } or nil +} + +print(jsonc.stringify(config, 1)) diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_naiveproxy.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_naiveproxy.lua new file mode 100644 index 00000000..054941fc --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_naiveproxy.lua @@ -0,0 +1,28 @@ +local api = require "luci.model.cbi.passwall.api.api" +local uci = api.uci +local jsonc = api.jsonc + +local var = api.get_args(arg) +local node_id = var["-node"] +if not node_id then + print("-node 不能为空") + return +end +local node = uci:get_all("passwall", node_id) +local run_type = var["-run_type"] +local local_addr = var["-local_addr"] +local local_port = var["-local_port"] +local server_host = var["-server_host"] or node.address +local server_port = var["-server_port"] or node.port + +if api.is_ipv6(server_host) then + server_host = api.get_ipv6_full(server_host) +end +local server = server_host .. ":" .. server_port + +local config = { + listen = run_type .. "://" .. local_addr .. ":" .. local_port, + proxy = node.protocol .. "://" .. node.username .. ":" .. node.password .. "@" .. server +} + +print(jsonc.stringify(config, 1)) diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_shadowsocks.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_shadowsocks.lua new file mode 100644 index 00000000..8e2f179b --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_shadowsocks.lua @@ -0,0 +1,108 @@ +local api = require "luci.model.cbi.passwall.api.api" +local uci = api.uci +local jsonc = api.jsonc + +local var = api.get_args(arg) +local node_id = var["-node"] +if not node_id then + print("-node 不能为空") + return +end +local node = uci:get_all("passwall", node_id) +local server_host = var["-server_host"] or node.address +local server_port = var["-server_port"] or node.port +local local_addr = var["-local_addr"] +local local_port = var["-local_port"] +local mode = var["-mode"] +local local_socks_address = var["-local_socks_address"] or "0.0.0.0" +local local_socks_port = var["-local_socks_port"] +local local_socks_username = var["-local_socks_username"] +local local_socks_password = var["-local_socks_password"] +local local_http_address = var["-local_http_address"] or "0.0.0.0" +local local_http_port = var["-local_http_port"] +local local_http_username = var["-local_http_username"] +local local_http_password = var["-local_http_password"] +local local_tcp_redir_port = var["-local_tcp_redir_port"] +local local_tcp_redir_address = var["-local_tcp_redir_address"] or "0.0.0.0" +local local_udp_redir_port = var["-local_udp_redir_port"] +local local_udp_redir_address = var["-local_udp_redir_address"] or "0.0.0.0" + +if api.is_ipv6(server_host) then + server_host = api.get_ipv6_only(server_host) +end +local server = server_host + +local config = { + server = server, + server_port = tonumber(server_port), + local_address = local_addr, + local_port = tonumber(local_port), + password = node.password, + method = node.method, + timeout = tonumber(node.timeout), + fast_open = (node.tcp_fast_open and node.tcp_fast_open == "true") and true or false, + reuse_port = true, + tcp_tproxy = var["-tcp_tproxy"] and true or nil +} + +if node.type == "SS" then + if node.plugin and node.plugin ~= "none" then + config.plugin = node.plugin + config.plugin_opts = node.plugin_opts or nil + end + config.mode = mode +elseif node.type == "SSR" then + config.protocol = node.protocol + config.protocol_param = node.protocol_param + config.obfs = node.obfs + config.obfs_param = node.obfs_param +elseif node.type == "SS-Rust" then + config = { + servers = { + { + address = server, + port = tonumber(server_port), + method = node.method, + password = node.password, + timeout = tonumber(node.timeout), + plugin = (node.plugin and node.plugin ~= "none") and node.plugin or nil, + plugin_opts = (node.plugin and node.plugin ~= "none") and node.plugin_opts or nil + } + }, + locals = {}, + fast_open = (node.tcp_fast_open and node.tcp_fast_open == "true") and true or false + } + if local_socks_address and local_socks_port then + table.insert(config.locals, { + local_address = local_socks_address, + local_port = tonumber(local_socks_port), + mode = "tcp_and_udp" + }) + end + if local_http_address and local_http_port then + table.insert(config.locals, { + protocol = "http", + local_address = local_http_address, + local_port = tonumber(local_http_port) + }) + end + if local_tcp_redir_address and local_tcp_redir_port then + table.insert(config.locals, { + protocol = "redir", + mode = "tcp_only", + tcp_redir = var["-tcp_tproxy"] and "tproxy" or nil, + local_address = local_tcp_redir_address, + local_port = tonumber(local_tcp_redir_port) + }) + end + if local_udp_redir_address and local_udp_redir_port then + table.insert(config.locals, { + protocol = "redir", + mode = "udp_only", + local_address = local_udp_redir_address, + local_port = tonumber(local_udp_redir_port) + }) + end +end + +print(jsonc.stringify(config, 1)) diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua new file mode 100644 index 00000000..844f5032 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua @@ -0,0 +1,86 @@ +local api = require "luci.model.cbi.passwall.api.api" +local uci = api.uci +local json = api.jsonc + +local var = api.get_args(arg) +local node_id = var["-node"] +if not node_id then + print("-node 不能为空") + return +end +local node = uci:get_all("passwall", node_id) +local run_type = var["-run_type"] +local local_addr = var["-local_addr"] +local local_port = var["-local_port"] +local server_host = var["-server_host"] or node.address +local server_port = var["-server_port"] or node.port +local loglevel = var["-loglevel"] or 2 +local cipher = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA" +local cipher13 = "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384" + +if api.is_ipv6(server_host) then + server_host = api.get_ipv6_only(server_host) +end +local server = server_host + +local trojan = { + run_type = run_type, + local_addr = local_addr, + local_port = tonumber(local_port), + remote_addr = server, + remote_port = tonumber(server_port), + password = {node.password}, + log_level = tonumber(loglevel), + ssl = { + verify = (node.tls_allowInsecure ~= "1") and true or false, + verify_hostname = true, + cert = nil, + cipher = cipher, + cipher_tls13 = cipher13, + sni = node.tls_serverName or server, + alpn = {"h2", "http/1.1"}, + reuse_session = true, + session_ticket = (node.tls_sessionTicket and node.tls_sessionTicket == "1") and true or false, + curves = "" + }, + udp_timeout = 60, + tcp = { + use_tproxy = (node.type == "Trojan-Plus" and var["-use_tproxy"]) and true or nil, + no_delay = true, + keep_alive = true, + reuse_port = true, + fast_open = (node.tcp_fast_open == "true") and true or false, + fast_open_qlen = 20 + } +} +if node.type == "Trojan-Go" then + trojan.ssl.cipher = nil + trojan.ssl.cipher_tls13 = nil + trojan.ssl.fingerprint = (node.fingerprint ~= "disable") and node.fingerprint or "" + trojan.ssl.alpn = (node.trojan_transport == 'ws') and {} or {"h2", "http/1.1"} + if node.tls ~= "1" and node.trojan_transport == "original" then trojan.ssl = nil end + trojan.transport_plugin = ((not node.tls or node.tls ~= "1") and node.trojan_transport == "original") and { + enabled = node.plugin_type ~= nil, + type = node.plugin_type or "plaintext", + command = node.plugin_type ~= "plaintext" and node.plugin_cmd or nil, + option = node.plugin_type ~= "plaintext" and node.plugin_option or nil, + arg = node.plugin_type ~= "plaintext" and { node.plugin_arg } or nil, + env = {} + } or nil + trojan.websocket = (node.trojan_transport == 'ws') and { + enabled = true, + path = node.ws_path or "/", + host = node.ws_host or (node.tls_serverName or server) + } or nil + trojan.shadowsocks = (node.ss_aead == "1") and { + enabled = true, + method = node.ss_aead_method or "aes_128_gcm", + password = node.ss_aead_pwd or "" + } or nil + trojan.mux = (node.smux == "1") and { + enabled = true, + concurrency = tonumber(node.mux_concurrency), + idle_timeout = tonumber(node.smux_idle_timeout) + } or nil +end +print(json.stringify(trojan, 1)) diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua new file mode 100644 index 00000000..fe142119 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua @@ -0,0 +1,709 @@ +module("luci.model.cbi.passwall.api.gen_v2ray", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" + +local var = api.get_args(arg) +local flag = var["-flag"] +local node_id = var["-node"] +local tcp_proxy_way = var["-tcp_proxy_way"] or "redirect" +local tcp_redir_port = var["-tcp_redir_port"] +local udp_redir_port = var["-udp_redir_port"] +local sniffing = var["-sniffing"] +local route_only = var["-route_only"] +local local_socks_address = var["-local_socks_address"] or "0.0.0.0" +local local_socks_port = var["-local_socks_port"] +local local_socks_username = var["-local_socks_username"] +local local_socks_password = var["-local_socks_password"] +local local_http_address = var["-local_http_address"] or "0.0.0.0" +local local_http_port = var["-local_http_port"] +local local_http_username = var["-local_http_username"] +local local_http_password = var["-local_http_password"] +local dns_listen_port = var["-dns_listen_port"] +local dns_server = var["-dns_server"] +local dns_tcp_server = var["-dns_tcp_server"] +local dns_cache = var["-dns_cache"] +local doh_url = var["-doh_url"] +local doh_host = var["-doh_host"] +local dns_client_ip = var["-dns_client_ip"] +local dns_query_strategy = var["-dns_query_strategy"] +local dns_socks_address = var["-dns_socks_address"] +local dns_socks_port = var["-dns_socks_port"] +local dns_fakedns = var["-dns_fakedns"] +local loglevel = var["-loglevel"] or "warning" +local new_port + +local uci = api.uci +local sys = api.sys +local jsonc = api.jsonc +local appname = api.appname +local fs = api.fs +local dns = nil +local fakedns = nil +local inbounds = {} +local outbounds = {} +local routing = nil + +local function get_new_port() + if new_port then + new_port = tonumber(sys.exec(string.format("echo -n $(/usr/share/%s/app.sh get_new_port %s tcp)", appname, new_port + 1))) + else + new_port = tonumber(sys.exec(string.format("echo -n $(/usr/share/%s/app.sh get_new_port auto tcp)", appname))) + end + return new_port +end + +local function get_domain_excluded() + local path = string.format("/usr/share/%s/rules/domains_excluded", appname) + local content = fs.readfile(path) + if not content then return nil end + local hosts = {} + string.gsub(content, '[^' .. "\n" .. ']+', function(w) + local s = w:gsub("^%s*(.-)%s*$", "%1") -- Trim + if s == "" then return end + if s:find("#") and s:find("#") == 1 then return end + if not s:find("#") or s:find("#") ~= 1 then table.insert(hosts, s) end + end) + if #hosts == 0 then hosts = nil end + return hosts +end + +function gen_outbound(node, tag, proxy_table) + local proxy = 0 + local proxy_tag = "nil" + if proxy_table ~= nil and type(proxy_table) == "table" then + proxy = proxy_table.proxy or 0 + proxy_tag = proxy_table.tag or "nil" + end + local result = nil + if node and node ~= "nil" then + local node_id = node[".name"] + if tag == nil then + tag = node_id + end + + if node.type == "V2ray" or node.type == "Xray" then + proxy = 0 + if proxy_tag ~= "nil" then + node.proxySettings = { + tag = proxy_tag, + transportLayer = true + } + end + end + + if node.type ~= "V2ray" and node.type ~= "Xray" then + if node.type == "Socks" then + node.protocol = "socks" + node.transport = "tcp" + else + local relay_port = node.port + new_port = get_new_port() + sys.call(string.format('/usr/share/%s/app.sh run_socks "%s"> /dev/null', + appname, + string.format("flag=%s node=%s bind=%s socks_port=%s config_file=%s relay_port=%s", + new_port, --flag + node_id, --node + "127.0.0.1", --bind + new_port, --socks port + string.format("%s_%s_%s_%s.json", flag, tag, node_id, new_port), --config file + (proxy == 1 and proxy_tag ~= "nil" and relay_port) and tostring(relay_port) or "" --relay port + ) + ) + ) + node = {} + node.protocol = "socks" + node.transport = "tcp" + node.address = "127.0.0.1" + node.port = new_port + end + node.stream_security = "none" + else + if node.tls and node.tls == "1" then + node.stream_security = "tls" + if node.type == "Xray" and node.xtls and node.xtls == "1" then + node.stream_security = "xtls" + end + end + end + + result = { + _flag_tag = node_id, + _flag_proxy = proxy, + _flag_proxy_tag = proxy_tag, + tag = tag, + proxySettings = node.proxySettings or nil, + protocol = node.protocol, + mux = (node.stream_security ~= "xtls") and { + enabled = (node.mux == "1") and true or false, + concurrency = (node.mux_concurrency) and tonumber(node.mux_concurrency) or 8 + } or nil, + -- 底层传输配置 + streamSettings = (node.protocol == "vmess" or node.protocol == "vless" or node.protocol == "socks" or node.protocol == "shadowsocks" or node.protocol == "trojan") and { + network = node.transport, + security = node.stream_security, + xtlsSettings = (node.stream_security == "xtls") and { + serverName = node.tls_serverName, + allowInsecure = (node.tls_allowInsecure == "1") and true or false + } or nil, + tlsSettings = (node.stream_security == "tls") and { + serverName = node.tls_serverName, + allowInsecure = (node.tls_allowInsecure == "1") and true or false, + fingerprint = (node.type == "Xray" and node.fingerprint and node.fingerprint ~= "disable") and node.fingerprint or nil + } or nil, + tcpSettings = (node.transport == "tcp" and node.protocol ~= "socks") and { + header = { + type = node.tcp_guise or "none", + request = (node.tcp_guise == "http") and { + path = node.tcp_guise_http_path or {"/"}, + headers = { + Host = node.tcp_guise_http_host or {} + } + } or nil + } + } or nil, + kcpSettings = (node.transport == "mkcp") and { + mtu = tonumber(node.mkcp_mtu), + tti = tonumber(node.mkcp_tti), + uplinkCapacity = tonumber(node.mkcp_uplinkCapacity), + downlinkCapacity = tonumber(node.mkcp_downlinkCapacity), + congestion = (node.mkcp_congestion == "1") and true or false, + readBufferSize = tonumber(node.mkcp_readBufferSize), + writeBufferSize = tonumber(node.mkcp_writeBufferSize), + seed = (node.mkcp_seed and node.mkcp_seed ~= "") and node.mkcp_seed or nil, + header = {type = node.mkcp_guise} + } or nil, + wsSettings = (node.transport == "ws") and { + path = node.ws_path or "", + headers = (node.ws_host ~= nil) and + {Host = node.ws_host} or nil, + maxEarlyData = tonumber(node.ws_maxEarlyData) or nil + } or nil, + httpSettings = (node.transport == "h2") and { + path = node.h2_path, + host = node.h2_host, + read_idle_timeout = tonumber(node.h2_read_idle_timeout) or nil, + health_check_timeout = tonumber(node.h2_health_check_timeout) or nil + } or nil, + dsSettings = (node.transport == "ds") and + {path = node.ds_path} or nil, + quicSettings = (node.transport == "quic") and { + security = node.quic_security, + key = node.quic_key, + header = {type = node.quic_guise} + } or nil, + grpcSettings = (node.transport == "grpc") and { + serviceName = node.grpc_serviceName, + multiMode = (node.grpc_mode == "multi") and true or nil, + idle_timeout = tonumber(node.grpc_idle_timeout) or nil, + health_check_timeout = tonumber(node.grpc_health_check_timeout) or nil, + permit_without_stream = (node.grpc_permit_without_stream == "1") and true or nil, + initial_windows_size = tonumber(node.grpc_initial_windows_size) or nil + } or nil + } or nil, + settings = { + vnext = (node.protocol == "vmess" or node.protocol == "vless") and { + { + address = node.address, + port = tonumber(node.port), + users = { + { + id = node.uuid, + level = 0, + security = (node.protocol == "vmess") and node.security or nil, + encryption = node.encryption or "none", + flow = node.flow or nil + } + } + } + } or nil, + servers = (node.protocol == "socks" or node.protocol == "http" or node.protocol == "shadowsocks" or node.protocol == "trojan") and { + { + address = node.address, + port = tonumber(node.port), + method = node.method or nil, + flow = node.flow or nil, + ivCheck = (node.protocol == "shadowsocks") and node.iv_check == "1" or nil, + password = node.password or "", + users = (node.username and node.password) and { + { + user = node.username, + pass = node.password + } + } or nil + } + } or nil + } + } + local alpn = {} + if node.alpn and node.alpn ~= "default" then + string.gsub(node.alpn, '[^' .. "," .. ']+', function(w) + table.insert(alpn, w) + end) + end + if alpn and #alpn > 0 then + if result.streamSettings.tlsSettings then + result.streamSettings.tlsSettings.alpn = alpn + end + if result.streamSettings.xtlsSettings then + result.streamSettings.xtlsSettings.alpn = alpn + end + end + end + return result +end + +if node_id then + local node = uci:get_all(appname, node_id) + if local_socks_port then + local inbound = { + listen = local_socks_address, + port = tonumber(local_socks_port), + protocol = "socks", + settings = {auth = "noauth", udp = true}, + sniffing = {enabled = true, destOverride = {"http", "tls"}} + } + if local_socks_username and local_socks_password and local_socks_username ~= "" and local_socks_password ~= "" then + inbound.settings.auth = "password" + inbound.settings.accounts = { + { + user = local_socks_username, + pass = local_socks_password + } + } + end + table.insert(inbounds, inbound) + end + if local_http_port then + local inbound = { + listen = local_http_address, + port = tonumber(local_http_port), + protocol = "http", + settings = {allowTransparent = false} + } + if local_http_username and local_http_password and local_http_username ~= "" and local_http_password ~= "" then + inbound.settings.accounts = { + { + user = local_http_username, + pass = local_http_password + } + } + end + table.insert(inbounds, inbound) + end + + if tcp_redir_port then + table.insert(inbounds, { + port = tonumber(tcp_redir_port), + protocol = "dokodemo-door", + settings = {network = "tcp", followRedirect = true}, + streamSettings = {sockopt = {tproxy = tcp_proxy_way}}, + sniffing = {enabled = sniffing and true or false, destOverride = {"http", "tls", (dns_fakedns) and "fakedns"}, metadataOnly = false, routeOnly = route_only and true or nil, domainsExcluded = (sniffing and not route_only) and get_domain_excluded() or nil} + }) + end + + if udp_redir_port then + table.insert(inbounds, { + port = tonumber(udp_redir_port), + protocol = "dokodemo-door", + settings = {network = "udp", followRedirect = true}, + streamSettings = {sockopt = {tproxy = "tproxy"}}, + sniffing = {enabled = sniffing and true or false, destOverride = {"http", "tls", (dns_fakedns) and "fakedns"}, metadataOnly = false, routeOnly = route_only and true or nil, domainsExcluded = (sniffing and not route_only) and get_domain_excluded() or nil} + }) + end + + local up_trust_doh = uci:get(appname, "@global[0]", "up_trust_doh") + if up_trust_doh then + local t = {} + string.gsub(up_trust_doh, '[^' .. "," .. ']+', function (w) + table.insert(t, w) + end) + if #t > 1 then + local host = sys.exec("echo -n $(echo " .. t[1] .. " | sed 's/https:\\/\\///g' | awk -F ':' '{print $1}' | awk -F '/' '{print $1}')") + dns = { + hosts = { + [host] = t[2] + } + } + end + end + + if node.protocol == "_shunt" then + table.insert(outbounds, { + protocol = "freedom", + tag = "direct", + settings = { + domainStrategy = "UseIPv4" + }, + streamSettings = { + sockopt = { + mark = 255 + } + } + }) + table.insert(outbounds, { + protocol = "blackhole", + tag = "blackhole" + }) + local rules = {} + + local default_node_id = node.default_node or "_direct" + local default_outboundTag + if default_node_id == "_direct" then + default_outboundTag = "direct" + elseif default_node_id == "_blackhole" then + default_outboundTag = "blackhole" + else + local default_node = uci:get_all(appname, default_node_id) + local main_node_id = node.main_node or "nil" + local proxy = 0 + local proxy_tag + if main_node_id ~= "nil" then + local main_node = uci:get_all(appname, main_node_id) + if main_node and api.is_normal_node(main_node) and main_node_id ~= default_node_id then + local main_node_outbound = gen_outbound(main_node, "main") + if main_node_outbound then + table.insert(outbounds, main_node_outbound) + proxy = 1 + proxy_tag = "main" + if default_node.type ~= "V2ray" and default_node.type ~= "Xray" then + proxy_tag = nil + new_port = get_new_port() + table.insert(inbounds, { + tag = "proxy_default", + listen = "127.0.0.1", + port = new_port, + protocol = "dokodemo-door", + settings = {network = "tcp,udp", address = default_node.address, port = tonumber(default_node.port)} + }) + if default_node.tls_serverName == nil then + default_node.tls_serverName = default_node.address + end + default_node.address = "127.0.0.1" + default_node.port = new_port + table.insert(rules, 1, { + type = "field", + inboundTag = {"proxy_default"}, + outboundTag = "main" + }) + end + end + end + end + if default_node and api.is_normal_node(default_node) then + local default_outbound = gen_outbound(default_node, "default", { proxy = proxy, tag = proxy_tag }) + if default_outbound then + table.insert(outbounds, default_outbound) + default_outboundTag = "default" + end + end + end + + uci:foreach(appname, "shunt_rules", function(e) + local name = e[".name"] + if name and e.remarks then + local _node_id = node[name] or "nil" + local proxy_tag = node[name .. "_proxy_tag"] or "nil" + local outboundTag + if _node_id == "_direct" then + outboundTag = "direct" + elseif _node_id == "_blackhole" then + outboundTag = "blackhole" + elseif _node_id == "_default" then + outboundTag = "default" + else + if _node_id ~= "nil" then + local _node = uci:get_all(appname, _node_id) + if _node and api.is_normal_node(_node) then + local new_outbound + for index, value in ipairs(outbounds) do + if value["_flag_tag"] == _node_id and value["_flag_proxy_tag"] == proxy_tag then + new_outbound = api.clone(value) + break + end + end + if new_outbound then + new_outbound["tag"] = name + table.insert(outbounds, new_outbound) + outboundTag = name + else + if _node.type ~= "V2ray" and _node.type ~= "Xray" then + if proxy_tag ~= "nil" then + new_port = get_new_port() + table.insert(inbounds, { + tag = "proxy_" .. name, + listen = "127.0.0.1", + port = new_port, + protocol = "dokodemo-door", + settings = {network = "tcp,udp", address = _node.address, port = tonumber(_node.port)} + }) + if _node.tls_serverName == nil then + _node.tls_serverName = _node.address + end + _node.address = "127.0.0.1" + _node.port = new_port + table.insert(rules, 1, { + type = "field", + inboundTag = {"proxy_" .. name}, + outboundTag = proxy_tag + }) + end + end + local _outbound = gen_outbound(_node, name, { proxy = (proxy_tag ~= "nil") and 1 or 0, tag = (proxy_tag ~= "nil") and proxy_tag or nil }) + if _outbound then + table.insert(outbounds, _outbound) + outboundTag = name + end + end + end + end + end + if outboundTag then + if outboundTag == "default" then + outboundTag = default_outboundTag + end + local protocols = nil + if e["protocol"] and e["protocol"] ~= "" then + protocols = {} + string.gsub(e["protocol"], '[^' .. " " .. ']+', function(w) + table.insert(protocols, w) + end) + end + if e.domain_list then + local _domain = {} + string.gsub(e.domain_list, '[^' .. "\r\n" .. ']+', function(w) + table.insert(_domain, w) + end) + table.insert(rules, { + type = "field", + outboundTag = outboundTag, + domain = _domain, + protocol = protocols + }) + end + if e.ip_list then + local _ip = {} + string.gsub(e.ip_list, '[^' .. "\r\n" .. ']+', function(w) + table.insert(_ip, w) + end) + table.insert(rules, { + type = "field", + outboundTag = outboundTag, + ip = _ip, + protocol = protocols + }) + end + if not e.domain_list and not e.ip_list and protocols then + table.insert(rules, { + type = "field", + outboundTag = outboundTag, + protocol = protocols + }) + end + end + end + end) + + if default_outboundTag then + table.insert(rules, { + type = "field", + outboundTag = default_outboundTag, + network = "tcp,udp" + }) + end + + routing = { + domainStrategy = node.domainStrategy or "AsIs", + domainMatcher = node.domainMatcher or "hybrid", + rules = rules + } + elseif node.protocol == "_balancing" then + if node.balancing_node then + local nodes = node.balancing_node + local length = #nodes + for i = 1, length do + local node = uci:get_all(appname, nodes[i]) + local outbound = gen_outbound(node) + if outbound then table.insert(outbounds, outbound) end + end + routing = { + domainStrategy = node.domainStrategy or "AsIs", + domainMatcher = node.domainMatcher or "hybrid", + balancers = {{tag = "balancer", selector = nodes}}, + rules = { + {type = "field", network = "tcp,udp", balancerTag = "balancer"} + } + } + end + else + local outbound = gen_outbound(node) + if outbound then table.insert(outbounds, outbound) end + routing = { + domainStrategy = "AsIs", + domainMatcher = "hybrid", + rules = {} + } + end +end + +if dns_server or dns_fakedns then + table.insert(outbounds, { + protocol = "dns", + tag = "dns-out" + }) + local rules = {} + + dns = { + tag = "dns-in1", + disableCache = (dns_cache and dns_cache == "0") and true or false, + servers = { + dns_server + }, + clientIp = (dns_client_ip and dns_client_ip ~= "") and dns_client_ip or nil, + queryStrategy = (dns_query_strategy and dns_query_strategy ~= "") and dns_query_strategy or nil + } + if doh_url and doh_host then + dns.hosts = { + [doh_host] = dns_server + } + if not tcp_redir_port and not dns_socks_port then + doh_url = doh_url:gsub("https://", "https+local://") + end + dns.servers = { + doh_url + } + end + + if dns_tcp_server then + if not tcp_redir_port and not dns_socks_port then + dns_tcp_server = dns_tcp_server:gsub("tcp://", "tcp+local://") + end + dns.servers = { + dns_tcp_server + } + end + + if dns_fakedns then + fakedns = {} + fakedns[#fakedns + 1] = { + ipPool = "198.18.0.0/16", + poolSize = 65535 + } + dns_server = "1.1.1.1" + dns.servers = { + "fakedns" + } + end + + if dns_listen_port then + table.insert(inbounds, { + listen = "127.0.0.1", + port = tonumber(dns_listen_port), + protocol = "dokodemo-door", + tag = "dns-in", + settings = { + address = dns_server, + port = 53, + network = "tcp,udp" + } + }) + end + + table.insert(rules, { + type = "field", + inboundTag = { + "dns-in" + }, + outboundTag = "dns-out" + }) + + if dns_socks_address and dns_socks_port then + table.insert(outbounds, 1, { + tag = "out", + protocol = "socks", + streamSettings = { + network = "tcp", + security = "none" + }, + settings = { + servers = { + { + address = dns_socks_address, + port = tonumber(dns_socks_port) + } + } + } + }) + local outboundTag = "out" + table.insert(rules, { + type = "field", + inboundTag = { + "dns-in1" + }, + outboundTag = outboundTag + }) + end + + if node_id and tcp_redir_port and not dns_fakedns then + local outboundTag = node_id + local node = uci:get_all(appname, node_id) + if node.protocol == "_shunt" then + outboundTag = "default" + end + table.insert(rules, { + type = "field", + inboundTag = { + "dns-in1" + }, + outboundTag = outboundTag + }) + end + + if not routing then + routing = { + domainStrategy = "IPOnDemand", + rules = rules + } + else + for index, value in ipairs(rules) do + table.insert(routing.rules, 1, value) + end + end +end + +if inbounds or outbounds then + local config = { + log = { + -- error = string.format("/tmp/etc/%s/%s.log", appname, node[".name"]), + loglevel = loglevel + }, + -- DNS + dns = dns, + fakedns = fakedns, + -- 传入连接 + inbounds = inbounds, + -- 传出连接 + outbounds = outbounds, + -- 路由 + routing = routing, + -- 本地策略 + --[[ + policy = { + levels = { + [0] = { + handshake = 4, + connIdle = 300, + uplinkOnly = 2, + downlinkOnly = 5, + bufferSize = 10240, + statsUserUplink = false, + statsUserDownlink = false + } + }, + system = { + statsInboundUplink = false, + statsInboundDownlink = false + } + } + ]]-- + } + print(jsonc.stringify(config, 1)) +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray_proto.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray_proto.lua new file mode 100644 index 00000000..54c383f0 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray_proto.lua @@ -0,0 +1,111 @@ +local api = require "luci.model.cbi.passwall.api.api" +local jsonc = api.jsonc +local inbounds = {} +local outbounds = {} +local routing = nil + +local var = api.get_args(arg) +local local_socks_address = var["-local_socks_address"] or "0.0.0.0" +local local_socks_port = var["-local_socks_port"] +local local_socks_username = var["-local_socks_username"] +local local_socks_password = var["-local_socks_password"] +local local_http_address = var["-local_http_address"] or "0.0.0.0" +local local_http_port = var["-local_http_port"] +local local_http_username = var["-local_http_username"] +local local_http_password = var["-local_http_password"] +local server_proto = var["-server_proto"] +local server_address = var["-server_address"] +local server_port = var["-server_port"] +local server_username = var["-server_username"] +local server_password = var["-server_password"] + +function gen_outbound(proto, address, port, username, password) + local result = { + protocol = proto, + streamSettings = { + network = "tcp", + security = "none" + }, + settings = { + servers = { + { + address = address, + port = tonumber(port), + users = (username and password) and { + { + user = username, + pass = password + } + } or nil + } + } + } + } + return result +end + +if local_socks_address and local_socks_port then + local inbound = { + listen = local_socks_address, + port = tonumber(local_socks_port), + protocol = "socks", + settings = { + udp = true, + auth = "noauth" + } + } + if local_socks_username and local_socks_password and local_socks_username ~= "" and local_socks_password ~= "" then + inbound.settings.auth = "password" + inbound.settings.accounts = { + { + user = local_socks_username, + pass = local_socks_password + } + } + end + table.insert(inbounds, inbound) +end + +if local_http_address and local_http_port then + local inbound = { + listen = local_http_address, + port = tonumber(local_http_port), + protocol = "http", + settings = { + allowTransparent = false + } + } + if local_http_username and local_http_password and local_http_username ~= "" and local_http_password ~= "" then + inbound.settings.accounts = { + { + user = local_http_username, + pass = local_http_password + } + } + end + table.insert(inbounds, inbound) +end + +if server_proto ~= "nil" and server_address ~= "nil" and server_port ~= "nil" then + local outbound = gen_outbound(server_proto, server_address, server_port, server_username, server_password) + if outbound then table.insert(outbounds, outbound) end +end + +-- 额外传出连接 +table.insert(outbounds, { + protocol = "freedom", tag = "direct", settings = {keep = ""} +}) + +local config = { + log = { + -- error = string.format("/tmp/etc/passwall/%s.log", node[".name"]), + loglevel = "warning" + }, + -- 传入连接 + inbounds = inbounds, + -- 传出连接 + outbounds = outbounds, + -- 路由 + routing = routing +} +print(jsonc.stringify(config, 1)) diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/hysteria.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/hysteria.lua new file mode 100644 index 00000000..2d2e3612 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/hysteria.lua @@ -0,0 +1,134 @@ +module("luci.model.cbi.passwall.api.hysteria", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" +local fs = api.fs +local sys = api.sys +local util = api.util +local i18n = api.i18n + +local pre_release_url = "https://api.github.com/repos/HyNetwork/hysteria/releases?per_page=1" +local release_url = "https://api.github.com/repos/HyNetwork/hysteria/releases/latest" +local api_url = release_url +local app_path = api.get_hysteria_path() or "" + +function check_path() + if app_path == "" then + return { + code = 1, + error = i18n.translatef("You did not fill in the %s path. Please save and apply then update manually.", "hysteria") + } + end + return { + code = 0 + } +end + +function to_check(arch) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not arch or arch == "" then arch = api.auto_get_arch() end + + local file_tree, sub_version = api.get_file_info(arch) + + if file_tree == "" then + return { + code = 1, + error = i18n.translate("Can't determine ARCH, or ARCH not supported.") + } + end + + return api.common_to_check(api_url, api.get_hysteria_version(), "linux%-" .. file_tree .. sub_version) +end + +function to_download(url, size) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not url or url == "" then + return {code = 1, error = i18n.translate("Download url is required.")} + end + + sys.call("/bin/rm -f /tmp/hysteria_download.*") + + local tmp_file = util.trim(util.exec("mktemp -u -t hysteria_download.XXXXXX")) + + if size then + local kb1 = api.get_free_space("/tmp") + if tonumber(size) > tonumber(kb1) then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + end + + result = api.exec(api.curl, {api._unpack(api.curl_args), "-o", tmp_file, url}, nil, api.command_timeout) == 0 + + if not result then + api.exec("/bin/rm", {"-f", tmp_file}) + return { + code = 1, + error = i18n.translatef("File download failed or timed out: %s", url) + } + end + + return {code = 0, file = tmp_file} +end + +function to_move(file) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" or not fs.access(file) then + sys.call("/bin/rm -rf /tmp/hysteria_download.*") + return {code = 1, error = i18n.translate("Client file is required.")} + end + + local new_version = api.get_hysteria_version(file) + if new_version == "" then + sys.call("/bin/rm -rf /tmp/hysteria_download.*") + return { + code = 1, + error = i18n.translate("The client file is not suitable for current device.") + } + end + + local flag = sys.call('pgrep -af "passwall/.*hysteria" >/dev/null') + if flag == 0 then + sys.call("/etc/init.d/passwall stop") + end + + local old_app_size = 0 + if fs.access(app_path) then + old_app_size = api.get_file_space(app_path) + end + local new_app_size = api.get_file_space(file) + local final_dir = api.get_final_dir(app_path) + local final_dir_free_size = api.get_free_space(final_dir) + if final_dir_free_size > 0 then + final_dir_free_size = final_dir_free_size + old_app_size + if new_app_size > final_dir_free_size then + sys.call("/bin/rm -rf /tmp/hysteria_download.*") + return {code = 1, error = i18n.translatef("%s not enough space.", final_dir)} + end + end + + result = api.exec("/bin/mv", {"-f", file, app_path}, nil, api.command_timeout) == 0 + + sys.call("/bin/rm -rf /tmp/hysteria_download.*") + if flag == 0 then + sys.call("/etc/init.d/passwall restart >/dev/null 2>&1 &") + end + + if not result or not fs.access(app_path) then + return { + code = 1, + error = i18n.translatef("Can't move new file to path: %s", app_path) + } + end + + return {code = 0} +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/trojan_go.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/trojan_go.lua new file mode 100644 index 00000000..4f8b4849 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/trojan_go.lua @@ -0,0 +1,183 @@ +module("luci.model.cbi.passwall.api.trojan_go", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" +local fs = api.fs +local sys = api.sys +local util = api.util +local i18n = api.i18n + +local pre_release_url = "https://api.github.com/repos/p4gefau1t/trojan-go/releases?per_page=1" +local release_url = "https://api.github.com/repos/p4gefau1t/trojan-go/releases/latest" +local api_url = release_url +local app_path = api.get_trojan_go_path() or "" + +function check_path() + if app_path == "" then + return { + code = 1, + error = i18n.translatef("You did not fill in the %s path. Please save and apply then update manually.", "Trojan-GO") + } + end + return { + code = 0 + } +end + +function to_check(arch) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not arch or arch == "" then arch = api.auto_get_arch() end + + local file_tree, sub_version = api.get_file_info(arch) + + if file_tree == "" then + return { + code = 1, + error = i18n.translate("Can't determine ARCH, or ARCH not supported.") + } + end + + if file_tree == "mips" then file_tree = "mips%-hardfloat" end + if file_tree == "mipsle" then file_tree = "mipsle%-hardfloat" end + if file_tree == "arm64" then + file_tree = "armv8" + else + if sub_version and sub_version:match("^[5-8]$") then file_tree = file_tree .. "v" .. sub_version end + end + + return api.common_to_check(api_url, api.get_trojan_go_version(), "linux%-" .. file_tree .. "%.zip") +end + +function to_download(url, size) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not url or url == "" then + return {code = 1, error = i18n.translate("Download url is required.")} + end + + sys.call("/bin/rm -f /tmp/trojan-go_download.*") + + local tmp_file = util.trim(util.exec("mktemp -u -t trojan-go_download.XXXXXX")) + + if size then + local kb1 = api.get_free_space("/tmp") + if tonumber(size) > tonumber(kb1) then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + end + + result = api.exec(api.curl, {api._unpack(api.curl_args), "-o", tmp_file, url}, nil, api.command_timeout) == 0 + + if not result then + api.exec("/bin/rm", {"-f", tmp_file}) + return { + code = 1, + error = i18n.translatef("File download failed or timed out: %s", url) + } + end + + return {code = 0, file = tmp_file} +end + +function to_extract(file, subfix) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" or not fs.access(file) then + return {code = 1, error = i18n.translate("File path required.")} + end + + if sys.exec("echo -n $(opkg list-installed | grep -c unzip)") ~= "1" then + api.exec("/bin/rm", {"-f", file}) + return { + code = 1, + error = i18n.translate("Not installed unzip, Can't unzip!") + } + end + + sys.call("/bin/rm -rf /tmp/trojan-go_extract.*") + + local new_file_size = api.get_file_space(file) + local tmp_free_size = api.get_free_space("/tmp") + if tmp_free_size <= 0 or tmp_free_size <= new_file_size then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + + local tmp_dir = util.trim(util.exec("mktemp -d -t trojan-go_extract.XXXXXX")) + + local output = {} + api.exec("/usr/bin/unzip", {"-o", file, "-d", tmp_dir}, + function(chunk) output[#output + 1] = chunk end) + + local files = util.split(table.concat(output)) + + api.exec("/bin/rm", {"-f", file}) + + return {code = 0, file = tmp_dir} +end + +function to_move(file) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" then + sys.call("/bin/rm -rf /tmp/trojan-go_extract.*") + return {code = 1, error = i18n.translate("Client file is required.")} + end + + local bin_path = file .. "/trojan-go" + + local new_version = api.get_trojan_go_version(bin_path) + if new_version == "" then + sys.call("/bin/rm -rf /tmp/trojan-go_extract.*") + return { + code = 1, + error = i18n.translate("The client file is not suitable for current device.") + } + end + + local flag = sys.call('pgrep -af "passwall/.*trojan-go" >/dev/null') + if flag == 0 then + sys.call("/etc/init.d/passwall stop") + end + + local old_app_size = 0 + if fs.access(app_path) then + old_app_size = api.get_file_space(app_path) + end + local new_app_size = api.get_file_space(bin_path) + local final_dir = api.get_final_dir(app_path) + local final_dir_free_size = api.get_free_space(final_dir) + if final_dir_free_size > 0 then + final_dir_free_size = final_dir_free_size + old_app_size + if new_app_size > final_dir_free_size then + sys.call("/bin/rm -rf /tmp/trojan-go_extract.*") + return {code = 1, error = i18n.translatef("%s not enough space.", final_dir)} + end + end + + result = api.exec("/bin/mv", { "-f", bin_path, app_path }, nil, api.command_timeout) == 0 + + sys.call("/bin/rm -rf /tmp/trojan-go_extract.*") + if flag == 0 then + sys.call("/etc/init.d/passwall restart >/dev/null 2>&1 &") + end + + if not result or not fs.access(app_path) then + return { + code = 1, + error = i18n.translatef("Can't move new file to path: %s", app_path) + } + end + + return {code = 0} +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/v2ray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/v2ray.lua new file mode 100644 index 00000000..c00bf146 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/v2ray.lua @@ -0,0 +1,181 @@ +module("luci.model.cbi.passwall.api.v2ray", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" +local fs = api.fs +local sys = api.sys +local util = api.util +local i18n = api.i18n + +local pre_release_url = "https://api.github.com/repos/v2fly/v2ray-core/releases?per_page=1" +local release_url = "https://api.github.com/repos/v2fly/v2ray-core/releases/latest" +local api_url = release_url +local app_path = api.get_v2ray_path() or "" + +function check_path() + if app_path == "" then + return { + code = 1, + error = i18n.translatef("You did not fill in the %s path. Please save and apply then update manually.", "V2ray") + } + end + return { + code = 0 + } +end + +function to_check(arch) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not arch or arch == "" then arch = api.auto_get_arch() end + + local file_tree, sub_version = api.get_file_info(arch) + + if file_tree == "" then + return { + code = 1, + error = i18n.translate("Can't determine ARCH, or ARCH not supported.") + } + end + + if file_tree == "amd64" then file_tree = "64" end + if file_tree == "386" then file_tree = "32" end + if file_tree == "mipsle" then file_tree = "mips32le" end + if file_tree == "mips" then file_tree = "mips32" end + if file_tree == "arm" then file_tree = "arm32" end + + return api.common_to_check(api_url, api.get_v2ray_version(), "linux%-" .. file_tree .. (sub_version ~= "" and ".+" .. sub_version or "")) +end + +function to_download(url, size) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not url or url == "" then + return {code = 1, error = i18n.translate("Download url is required.")} + end + + sys.call("/bin/rm -f /tmp/v2ray_download.*") + + local tmp_file = util.trim(util.exec("mktemp -u -t v2ray_download.XXXXXX")) + + if size then + local kb1 = api.get_free_space("/tmp") + if tonumber(size) > tonumber(kb1) then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + end + + result = api.exec(api.curl, {api._unpack(api.curl_args), "-o", tmp_file, url}, nil, api.command_timeout) == 0 + + if not result then + api.exec("/bin/rm", {"-f", tmp_file}) + return { + code = 1, + error = i18n.translatef("File download failed or timed out: %s", url) + } + end + + return {code = 0, file = tmp_file} +end + +function to_extract(file, subfix) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" or not fs.access(file) then + return {code = 1, error = i18n.translate("File path required.")} + end + + if sys.exec("echo -n $(opkg list-installed | grep -c unzip)") ~= "1" then + api.exec("/bin/rm", {"-f", file}) + return { + code = 1, + error = i18n.translate("Not installed unzip, Can't unzip!") + } + end + + sys.call("/bin/rm -rf /tmp/v2ray_extract.*") + + local new_file_size = api.get_file_space(file) + local tmp_free_size = api.get_free_space("/tmp") + if tmp_free_size <= 0 or tmp_free_size <= new_file_size then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + + local tmp_dir = util.trim(util.exec("mktemp -d -t v2ray_extract.XXXXXX")) + + local output = {} + api.exec("/usr/bin/unzip", {"-o", file, "v2ray", "-d", tmp_dir}, + function(chunk) output[#output + 1] = chunk end) + + local files = util.split(table.concat(output)) + + api.exec("/bin/rm", {"-f", file}) + + return {code = 0, file = tmp_dir} +end + +function to_move(file) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" then + sys.call("/bin/rm -rf /tmp/v2ray_extract.*") + return {code = 1, error = i18n.translate("Client file is required.")} + end + + local bin_path = file .. "/v2ray" + + local new_version = api.get_v2ray_version(bin_path) + if new_version == "" then + sys.call("/bin/rm -rf /tmp/v2ray_extract.*") + return { + code = 1, + error = i18n.translate("The client file is not suitable for current device.") + } + end + + local flag = sys.call('pgrep -af "passwall/.*v2ray" >/dev/null') + if flag == 0 then + sys.call("/etc/init.d/passwall stop") + end + + local old_app_size = 0 + if fs.access(app_path) then + old_app_size = api.get_file_space(app_path) + end + local new_app_size = api.get_file_space(bin_path) + local final_dir = api.get_final_dir(app_path) + local final_dir_free_size = api.get_free_space(final_dir) + if final_dir_free_size > 0 then + final_dir_free_size = final_dir_free_size + old_app_size + if new_app_size > final_dir_free_size then + sys.call("/bin/rm -rf /tmp/v2ray_extract.*") + return {code = 1, error = i18n.translatef("%s not enough space.", final_dir)} + end + end + + result = api.exec("/bin/mv", { "-f", bin_path, app_path }, nil, api.command_timeout) == 0 + + sys.call("/bin/rm -rf /tmp/v2ray_extract.*") + if flag == 0 then + sys.call("/etc/init.d/passwall restart >/dev/null 2>&1 &") + end + + if not result or not fs.access(app_path) then + return { + code = 1, + error = i18n.translatef("Can't move new file to path: %s", app_path) + } + end + + return {code = 0} +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/xray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/xray.lua new file mode 100644 index 00000000..d56ab29f --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/xray.lua @@ -0,0 +1,181 @@ +module("luci.model.cbi.passwall.api.xray", package.seeall) +local api = require "luci.model.cbi.passwall.api.api" +local fs = api.fs +local sys = api.sys +local util = api.util +local i18n = api.i18n + +local pre_release_url = "https://api.github.com/repos/XTLS/Xray-core/releases?per_page=1" +local release_url = "https://api.github.com/repos/XTLS/Xray-core/releases/latest" +local api_url = release_url +local app_path = api.get_xray_path() or "" + +function check_path() + if app_path == "" then + return { + code = 1, + error = i18n.translatef("You did not fill in the %s path. Please save and apply then update manually.", "Xray") + } + end + return { + code = 0 + } +end + +function to_check(arch) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not arch or arch == "" then arch = api.auto_get_arch() end + + local file_tree, sub_version = api.get_file_info(arch) + + if file_tree == "" then + return { + code = 1, + error = i18n.translate("Can't determine ARCH, or ARCH not supported.") + } + end + + if file_tree == "amd64" then file_tree = "64" end + if file_tree == "386" then file_tree = "32" end + if file_tree == "mipsle" then file_tree = "mips32le" end + if file_tree == "mips" then file_tree = "mips32" end + if file_tree == "arm" then file_tree = "arm32" end + + return api.common_to_check(api_url, api.get_xray_version(), "linux%-" .. file_tree .. (sub_version ~= "" and ".+" .. sub_version or "")) +end + +function to_download(url, size) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not url or url == "" then + return {code = 1, error = i18n.translate("Download url is required.")} + end + + sys.call("/bin/rm -f /tmp/xray_download.*") + + local tmp_file = util.trim(util.exec("mktemp -u -t xray_download.XXXXXX")) + + if size then + local kb1 = api.get_free_space("/tmp") + if tonumber(size) > tonumber(kb1) then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + end + + result = api.exec(api.curl, {api._unpack(api.curl_args), "-o", tmp_file, url}, nil, api.command_timeout) == 0 + + if not result then + api.exec("/bin/rm", {"-f", tmp_file}) + return { + code = 1, + error = i18n.translatef("File download failed or timed out: %s", url) + } + end + + return {code = 0, file = tmp_file} +end + +function to_extract(file, subfix) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" or not fs.access(file) then + return {code = 1, error = i18n.translate("File path required.")} + end + + if sys.exec("echo -n $(opkg list-installed | grep -c unzip)") ~= "1" then + api.exec("/bin/rm", {"-f", file}) + return { + code = 1, + error = i18n.translate("Not installed unzip, Can't unzip!") + } + end + + sys.call("/bin/rm -rf /tmp/xray_extract.*") + + local new_file_size = api.get_file_space(file) + local tmp_free_size = api.get_free_space("/tmp") + if tmp_free_size <= 0 or tmp_free_size <= new_file_size then + return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} + end + + local tmp_dir = util.trim(util.exec("mktemp -d -t xray_extract.XXXXXX")) + + local output = {} + api.exec("/usr/bin/unzip", {"-o", file, "xray", "-d", tmp_dir}, + function(chunk) output[#output + 1] = chunk end) + + local files = util.split(table.concat(output)) + + api.exec("/bin/rm", {"-f", file}) + + return {code = 0, file = tmp_dir} +end + +function to_move(file) + local result = check_path() + if result.code ~= 0 then + return result + end + + if not file or file == "" then + sys.call("/bin/rm -rf /tmp/xray_extract.*") + return {code = 1, error = i18n.translate("Client file is required.")} + end + + local bin_path = file .. "/xray" + + local new_version = api.get_xray_version(bin_path) + if new_version == "" then + sys.call("/bin/rm -rf /tmp/xray_extract.*") + return { + code = 1, + error = i18n.translate("The client file is not suitable for current device.") + } + end + + local flag = sys.call('pgrep -af "passwall/.*xray" >/dev/null') + if flag == 0 then + sys.call("/etc/init.d/passwall stop") + end + + local old_app_size = 0 + if fs.access(app_path) then + old_app_size = api.get_file_space(app_path) + end + local new_app_size = api.get_file_space(bin_path) + local final_dir = api.get_final_dir(app_path) + local final_dir_free_size = api.get_free_space(final_dir) + if final_dir_free_size > 0 then + final_dir_free_size = final_dir_free_size + old_app_size + if new_app_size > final_dir_free_size then + sys.call("/bin/rm -rf /tmp/xray_extract.*") + return {code = 1, error = i18n.translatef("%s not enough space.", final_dir)} + end + end + + result = api.exec("/bin/mv", { "-f", bin_path, app_path }, nil, api.command_timeout) == 0 + + sys.call("/bin/rm -rf /tmp/xray_extract.*") + if flag == 0 then + sys.call("/etc/init.d/passwall restart >/dev/null 2>&1 &") + end + + if not result or not fs.access(app_path) then + return { + code = 1, + error = i18n.translatef("Can't move new file to path: %s", app_path) + } + end + + return {code = 0} +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua new file mode 100644 index 00000000..4a9dd675 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua @@ -0,0 +1,119 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local sys = api.sys +local has_chnlist = api.fs.access("/usr/share/passwall/rules/chnlist") + +m = Map(appname) + +local global_proxy_mode = (m:get("@global[0]", "tcp_proxy_mode") or "") .. (m:get("@global[0]", "udp_proxy_mode") or "") + +-- [[ ACLs Settings ]]-- +s = m:section(TypedSection, "acl_rule", translate("ACLs"), "" .. translate("ACLs is a tools which used to designate specific IP proxy mode.") .. "") +s.template = "cbi/tblsection" +s.sortable = true +s.anonymous = true +s.addremove = true +s.extedit = api.url("acl_config", "%s") +function s.create(e, t) + t = TypedSection.create(e, t) + luci.http.redirect(e.extedit:format(t)) +end + +---- Enable +o = s:option(Flag, "enabled", translate("Enable")) +o.default = 1 +o.rmempty = false + +---- Remarks +o = s:option(Value, "remarks", translate("Remarks")) +o.rmempty = true + +local mac_t = {} +sys.net.mac_hints(function(e, t) + mac_t[e] = { + ip = t, + mac = e + } +end) + +o = s:option(DummyValue, "sources", translate("Source")) +o.rawhtml = true +o.cfgvalue = function(t, n) + local e = '' + local v = Value.cfgvalue(t, n) or '' + string.gsub(v, '[^' .. " " .. ']+', function(w) + local a = w + if mac_t[w] then + a = a .. ' (' .. mac_t[w].ip .. ')' + end + if #e > 0 then + e = e .. "
" + end + e = e .. a + end) + return e +end + +---- TCP Proxy Mode +tcp_proxy_mode = s:option(ListValue, "tcp_proxy_mode", translatef("%s Proxy Mode", "TCP")) +tcp_proxy_mode.default = "default" +tcp_proxy_mode.rmempty = false +tcp_proxy_mode:value("default", translate("Default")) +tcp_proxy_mode:value("disable", translate("No Proxy")) +tcp_proxy_mode:value("global", translate("Global Proxy")) +if has_chnlist and global_proxy_mode:find("returnhome") then + tcp_proxy_mode:value("returnhome", translate("China List")) +else + tcp_proxy_mode:value("gfwlist", translate("GFW List")) + tcp_proxy_mode:value("chnroute", translate("Not China List")) +end +tcp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) + +---- UDP Proxy Mode +udp_proxy_mode = s:option(ListValue, "udp_proxy_mode", translatef("%s Proxy Mode", "UDP")) +udp_proxy_mode.default = "default" +udp_proxy_mode.rmempty = false +udp_proxy_mode:value("default", translate("Default")) +udp_proxy_mode:value("disable", translate("No Proxy")) +udp_proxy_mode:value("global", translate("Global Proxy")) +if has_chnlist and global_proxy_mode:find("returnhome") then + udp_proxy_mode:value("returnhome", translate("China List")) +else + udp_proxy_mode:value("gfwlist", translate("GFW List")) + udp_proxy_mode:value("chnroute", translate("Not China List")) +end +udp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) + +--[[ +---- TCP No Redir Ports +o = s:option(Value, "tcp_no_redir_ports", translate("TCP No Redir Ports")) +o.default = "default" +o:value("disable", translate("No patterns are used")) +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) + +---- UDP No Redir Ports +o = s:option(Value, "udp_no_redir_ports", translate("UDP No Redir Ports")) +o.default = "default" +o:value("disable", translate("No patterns are used")) +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) + +---- TCP Redir Ports +o = s:option(Value, "tcp_redir_ports", translate("TCP Redir Ports")) +o.default = "default" +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) +o:value("80,443", "80,443") +o:value("80:65535", "80 " .. translate("or more")) +o:value("1:443", "443 " .. translate("or less")) + +---- UDP Redir Ports +o = s:option(Value, "udp_redir_ports", translate("UDP Redir Ports")) +o.default = "default" +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) +o:value("53", "53") +]]-- + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua new file mode 100644 index 00000000..52a1de48 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua @@ -0,0 +1,296 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local sys = api.sys +local has_v2ray = api.is_finded("v2ray") +local has_xray = api.is_finded("xray") +local has_chnlist = api.fs.access("/usr/share/passwall/rules/chnlist") + +m = Map(appname) + +local nodes_table = {} +for k, e in ipairs(api.get_valid_nodes()) do + nodes_table[#nodes_table + 1] = e +end + +local global_proxy_mode = (m:get("@global[0]", "tcp_proxy_mode") or "") .. (m:get("@global[0]", "udp_proxy_mode") or "") + +local dynamicList_write = function(self, section, value) + local t = {} + local t2 = {} + if type(value) == "table" then + local x + for _, x in ipairs(value) do + if x and #x > 0 then + if not t2[x] then + t2[x] = x + t[#t+1] = x + end + end + end + else + t = { value } + end + t = table.concat(t, " ") + return DynamicList.write(self, section, t) +end + +-- [[ ACLs Settings ]]-- +s = m:section(NamedSection, arg[1], translate("ACLs"), translate("ACLs")) +s.addremove = false +s.dynamic = false + +---- Enable +o = s:option(Flag, "enabled", translate("Enable")) +o.default = 1 +o.rmempty = false + +---- Remarks +o = s:option(Value, "remarks", translate("Remarks")) +o.default = arg[1] +o.rmempty = true + +local mac_t = {} +sys.net.mac_hints(function(e, t) + mac_t[#mac_t + 1] = { + ip = t, + mac = e + } +end) +table.sort(mac_t, function(a,b) + if #a.ip < #b.ip then + return true + elseif #a.ip == #b.ip then + if a.ip < b.ip then + return true + else + return #a.ip < #b.ip + end + end + return false +end) + +---- Source +sources = s:option(DynamicList, "sources", translate("Source")) +sources.description = "
  • " .. translate("Example:") +.. "
  • " .. translate("MAC") .. ": 00:00:00:FF:FF:FF" +.. "
  • " .. translate("IP") .. ": 192.168.1.100" +.. "
  • " .. translate("IP CIDR") .. ": 192.168.1.0/24" +.. "
  • " .. translate("IP range") .. ": 192.168.1.100-192.168.1.200" +.. "
  • " .. translate("IPSet") .. ": ipset:lanlist" +.. "
" +sources.cast = "string" +for _, key in pairs(mac_t) do + sources:value(key.mac, "%s (%s)" % {key.mac, key.ip}) +end +sources.cfgvalue = function(self, section) + local value + if self.tag_error[section] then + value = self:formvalue(section) + else + value = self.map:get(section, self.option) + if type(value) == "string" then + local value2 = {} + string.gsub(value, '[^' .. " " .. ']+', function(w) table.insert(value2, w) end) + value = value2 + end + end + return value +end +sources.validate = function(self, value, t) + local err = {} + for _, v in ipairs(value) do + local flag = false + if v:find("ipset:") and v:find("ipset:") == 1 then + local ipset = v:gsub("ipset:", "") + if ipset and ipset ~= "" then + flag = true + end + end + + if flag == false and datatypes.macaddr(v) then + flag = true + end + + if flag == false and datatypes.ip4addr(v) then + flag = true + end + + if flag == false and api.iprange(v) then + flag = true + end + + if flag == false then + err[#err + 1] = v + end + end + + if #err > 0 then + self:add_error(t, "invalid", translate("Not true format, please re-enter!")) + for _, v in ipairs(err) do + self:add_error(t, "invalid", v) + end + end + + return value +end +sources.write = dynamicList_write + +---- TCP Proxy Mode +tcp_proxy_mode = s:option(ListValue, "tcp_proxy_mode", translatef("%s Proxy Mode", "TCP")) +tcp_proxy_mode.default = "default" +tcp_proxy_mode.rmempty = false +tcp_proxy_mode:value("default", translate("Default")) +tcp_proxy_mode:value("disable", translate("No Proxy")) +tcp_proxy_mode:value("global", translate("Global Proxy")) +if has_chnlist and global_proxy_mode:find("returnhome") then + tcp_proxy_mode:value("returnhome", translate("China List")) +else + tcp_proxy_mode:value("gfwlist", translate("GFW List")) + tcp_proxy_mode:value("chnroute", translate("Not China List")) +end +tcp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) + +---- UDP Proxy Mode +udp_proxy_mode = s:option(ListValue, "udp_proxy_mode", translatef("%s Proxy Mode", "UDP")) +udp_proxy_mode.default = "default" +udp_proxy_mode.rmempty = false +udp_proxy_mode:value("default", translate("Default")) +udp_proxy_mode:value("disable", translate("No Proxy")) +udp_proxy_mode:value("global", translate("Global Proxy")) +if has_chnlist and global_proxy_mode:find("returnhome") then + udp_proxy_mode:value("returnhome", translate("China List")) +else + udp_proxy_mode:value("gfwlist", translate("GFW List")) + udp_proxy_mode:value("chnroute", translate("Not China List")) +end +udp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) + +---- TCP No Redir Ports +o = s:option(Value, "tcp_no_redir_ports", translate("TCP No Redir Ports")) +o.default = "default" +o:value("disable", translate("No patterns are used")) +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) + +---- UDP No Redir Ports +o = s:option(Value, "udp_no_redir_ports", translate("UDP No Redir Ports")) +o.default = "default" +o:value("disable", translate("No patterns are used")) +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) + +---- TCP Proxy Drop Ports +o = s:option(Value, "tcp_proxy_drop_ports", translate("TCP Proxy Drop Ports")) +o.default = "default" +o:value("disable", translate("No patterns are used")) +o:value("default", translate("Default")) + +---- UDP Proxy Drop Ports +o = s:option(Value, "udp_proxy_drop_ports", translate("UDP Proxy Drop Ports")) +o.default = "default" +o:value("disable", translate("No patterns are used")) +o:value("default", translate("Default")) +o:value("80,443", translate("QUIC")) + +---- TCP Redir Ports +o = s:option(Value, "tcp_redir_ports", translate("TCP Redir Ports")) +o.default = "default" +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) +o:value("80,443", "80,443") +o:value("80:65535", "80 " .. translate("or more")) +o:value("1:443", "443 " .. translate("or less")) + +---- UDP Redir Ports +o = s:option(Value, "udp_redir_ports", translate("UDP Redir Ports")) +o.default = "default" +o:value("default", translate("Default")) +o:value("1:65535", translate("All")) +o:value("53", "53") + +tcp_node = s:option(ListValue, "tcp_node", "" .. translate("TCP Node") .. "") +tcp_node.default = "default" +tcp_node:value("default", translate("Default")) + +udp_node = s:option(ListValue, "udp_node", "" .. translate("UDP Node") .. "") +udp_node.default = "default" +udp_node:value("default", translate("Default")) +udp_node:value("tcp", translate("Same as the tcp node")) + +for k, v in pairs(nodes_table) do + tcp_node:value(v.id, v["remark"]) + udp_node:value(v.id, v["remark"]) +end + +---- DNS Forward Mode +o = s:option(ListValue, "dns_mode", translate("Filter Mode")) +o:depends({ tcp_node = "default", ['!reverse'] = true }) +if api.is_finded("dns2socks") then + o:value("dns2socks", "dns2socks") +end +if has_v2ray then + o:value("v2ray", "V2ray") +end +if has_xray then + o:value("xray", "Xray") +end + +o = s:option(ListValue, "v2ray_dns_mode", " ") +o:value("tcp", "TCP") +o:value("doh", "DoH") +o:depends("dns_mode", "v2ray") +o:depends("dns_mode", "xray") + +---- DNS Forward +o = s:option(Value, "dns_forward", translate("Remote DNS")) +o.default = "1.1.1.1" +o:value("1.1.1.1", "1.1.1.1 (CloudFlare DNS)") +o:value("1.1.1.2", "1.1.1.2 (CloudFlare DNS)") +o:value("8.8.8.8", "8.8.8.8 (Google DNS)") +o:value("8.8.4.4", "8.8.4.4 (Google DNS)") +o:value("208.67.222.222", "208.67.222.222 (Open DNS)") +o:value("208.67.220.220", "208.67.220.220 (Open DNS)") +o:depends("dns_mode", "dns2socks") +o:depends("v2ray_dns_mode", "tcp") + +if has_v2ray or has_xray then +---- DoH +o = s:option(Value, "dns_doh", translate("DoH request address")) +o:value("https://cloudflare-dns.com/dns-query,1.1.1.1", "CloudFlare") +o:value("https://security.cloudflare-dns.com/dns-query,1.1.1.2", "CloudFlare-Security") +o:value("https://doh.opendns.com/dns-query,208.67.222.222", "OpenDNS") +o:value("https://dns.google/dns-query,8.8.8.8", "Google") +o:value("https://doh.libredns.gr/dns-query,116.202.176.26", "LibreDNS") +o:value("https://doh.libredns.gr/ads,116.202.176.26", "LibreDNS (No Ads)") +o:value("https://dns.quad9.net/dns-query,9.9.9.9", "Quad9-Recommended") +o:value("https://dns.adguard.com/dns-query,176.103.130.130", "AdGuard") +o.default = "https://cloudflare-dns.com/dns-query,1.1.1.1" +o.validate = function(self, value, t) + if value ~= "" then + local flag = 0 + local util = require "luci.util" + local val = util.split(value, ",") + local url = val[1] + val[1] = nil + for i = 1, #val do + local v = val[i] + if v then + if not api.datatypes.ipmask4(v) then + flag = 1 + end + end + end + if flag == 0 then + return value + end + end + return nil, translate("DoH request address") .. " " .. translate("Format must be:") .. " URL,IP" +end +o:depends("v2ray_dns_mode", "doh") +end + +o = s:option(Value, "dns_client_ip", translate("EDNS Client Subnet")) +o.datatype = "ipaddr" +o:depends("v2ray_dns_mode", "doh") + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua new file mode 100644 index 00000000..13289a97 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua @@ -0,0 +1,44 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname + +m = Map(appname) + +-- [[ App Settings ]]-- +s = m:section(TypedSection, "global_app", translate("App Update"), + "" .. + translate("Please confirm that your firmware supports FPU.") .. + "") +s.anonymous = true +s:append(Template(appname .. "/app_update/v2ray_version")) +s:append(Template(appname .. "/app_update/xray_version")) +s:append(Template(appname .. "/app_update/trojan_go_version")) +s:append(Template(appname .. "/app_update/brook_version")) +s:append(Template(appname .. "/app_update/hysteria_version")) + +o = s:option(Value, "v2ray_file", translatef("%s App Path", "V2ray")) +o.default = "/usr/bin/v2ray" +o.rmempty = false + +o = s:option(Value, "xray_file", translatef("%s App Path", "Xray")) +o.default = "/usr/bin/xray" +o.rmempty = false + +o = s:option(Value, "trojan_go_file", translatef("%s App Path", "Trojan-Go")) +o.default = "/usr/bin/trojan-go" +o.rmempty = false + +o = s:option(Value, "brook_file", translatef("%s App Path", "Brook")) +o.default = "/usr/bin/brook" +o.rmempty = false + +o = s:option(Value, "hysteria_file", translatef("%s App Path", "Hysteria")) +o.default = "/usr/bin/hysteria" +o.rmempty = false + +o = s:option(DummyValue, "tips", " ") +o.rawhtml = true +o.cfgvalue = function(t, n) + return string.format('%s', translate("if you want to run from memory, change the path, /tmp beginning then save the application and update it manually.")) +end + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/auto_switch.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/auto_switch.lua new file mode 100644 index 00000000..221de291 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/auto_switch.lua @@ -0,0 +1,66 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname + +local nodes_table = {} +for k, e in ipairs(api.get_valid_nodes()) do + nodes_table[#nodes_table + 1] = e +end + +m = Map(appname) + +-- [[ Auto Switch Settings ]]-- +s = m:section(TypedSection, "auto_switch") +s.anonymous = true + +---- Enable +o = s:option(Flag, "enable", translate("Enable")) +o.default = 0 +o.rmempty = false + +o = s:option(Value, "testing_time", translate("How often to test"), translate("Units:minutes")) +o.datatype = "uinteger" +o.default = 1 + +o = s:option(Value, "connect_timeout", translate("Timeout seconds"), translate("Units:seconds")) +o.datatype = "uinteger" +o.default = 3 + +o = s:option(Value, "retry_num", translate("Timeout retry num")) +o.datatype = "uinteger" +o.default = 3 + +o = s:option(DynamicList, "tcp_node", "TCP " .. translate("List of backup nodes")) +for k, v in pairs(nodes_table) do + if v.node_type == "normal" then + o:value(v.id, v["remark"]) + end +end +function o.write(self, section, value) + local t = {} + local t2 = {} + if type(value) == "table" then + local x + for _, x in ipairs(value) do + if x and #x > 0 then + if not t2[x] then + t2[x] = x + t[#t+1] = x + end + end + end + else + t = { value } + end + return DynamicList.write(self, section, t) +end + +o = s:option(Flag, "restore_switch", "TCP " .. translate("Restore Switch"), translate("When detects main node is available, switch back to the main node.")) + +o = s:option(ListValue, "shunt_logic", "TCP " .. translate("If the main node is V2ray/Xray shunt")) +o:value("0", translate("Switch it")) +o:value("1", translate("Applying to the default node")) +o:value("2", translate("Applying to the default preproxy node")) + +m:append(Template(appname .. "/auto_switch/footer")) + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua new file mode 100644 index 00000000..8c43dc47 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua @@ -0,0 +1,451 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local uci = api.uci +local datatypes = api.datatypes +local has_v2ray = api.is_finded("v2ray") +local has_xray = api.is_finded("xray") +local has_chnlist = api.fs.access("/usr/share/passwall/rules/chnlist") + +m = Map(appname) + +local nodes_table = {} +for k, e in ipairs(api.get_valid_nodes()) do + nodes_table[#nodes_table + 1] = e +end + +local socks_table = {} +uci:foreach(appname, "socks", function(s) + if s.enabled == "1" and s.node then + local id, remarks + local same, i = s.node:match("^(tcp)") + if same then + remarks = translatef("Same as the tcp node") + else + for k, n in pairs(nodes_table) do + if (s.node == n.id) then + remarks = n["remark"]; break + end + end + end + id = "127.0.0.1" .. ":" .. s.port + socks_table[#socks_table + 1] = { + id = id, + remarks = id .. " - " .. (remarks or translate("Misconfigured")) + } + end +end) + +local doh_validate = function(self, value, t) + if value ~= "" then + local flag = 0 + local util = require "luci.util" + local val = util.split(value, ",") + local url = val[1] + val[1] = nil + for i = 1, #val do + local v = val[i] + if v then + if not datatypes.ipmask4(v) then + flag = 1 + end + end + end + if flag == 0 then + return value + end + end + return nil, translate("DoH request address") .. " " .. translate("Format must be:") .. " URL,IP" +end + +local redir_mode_validate = function(self, value, t) + local tcp_proxy_mode_v = tcp_proxy_mode:formvalue(t) or "" + local udp_proxy_mode_v = udp_proxy_mode:formvalue(t) or "" + local localhost_tcp_proxy_mode_v = localhost_tcp_proxy_mode:formvalue(t) or "" + local localhost_udp_proxy_mode_v = localhost_udp_proxy_mode:formvalue(t) or "" + local s = tcp_proxy_mode_v .. udp_proxy_mode_v .. localhost_tcp_proxy_mode_v .. localhost_udp_proxy_mode_v + if s:find("returnhome") then + if s:find("chnroute") or s:find("gfwlist") then + return nil, translate("China list or gfwlist cannot be used together with outside China list!") + end + end + return value +end + +m:append(Template(appname .. "/global/status")) + +s = m:section(TypedSection, "global") +s.anonymous = true +s.addremove = false + +s:tab("Main", translate("Main")) + +-- [[ Global Settings ]]-- +o = s:taboption("Main", Flag, "enabled", translate("Main switch")) +o.rmempty = false + +---- TCP Node +tcp_node = s:taboption("Main", ListValue, "tcp_node", "" .. translate("TCP Node") .. "") +tcp_node.description = "" +--tcp_node.description = translate("For proxy specific list.") +--tcp_node.description = o.description .. "
" +local current_node = luci.sys.exec(string.format("[ -f '/tmp/etc/%s/id/TCP' ] && echo -n $(cat /tmp/etc/%s/id/TCP)", appname, appname)) +if current_node and current_node ~= "" and current_node ~= "nil" then + local n = uci:get_all(appname, current_node) + if n then + if tonumber(m:get("@auto_switch[0]", "enable") or 0) == 1 then + local remarks = api.get_full_node_remarks(n) + local url = api.url("node_config", current_node) + tcp_node.description = tcp_node.description .. translatef("Current node: %s", string.format('%s', url, remarks)) .. "
" + end + end +end +tcp_node:value("nil", translate("Close")) + +-- 分流 +if (has_v2ray or has_xray) and #nodes_table > 0 then + local normal_list = {} + local shunt_list = {} + for k, v in pairs(nodes_table) do + if v.node_type == "normal" then + normal_list[#normal_list + 1] = v + end + if v.protocol and v.protocol == "_shunt" then + shunt_list[#shunt_list + 1] = v + end + end + for k, v in pairs(shunt_list) do + uci:foreach(appname, "shunt_rules", function(e) + local id = e[".name"] + if id and e.remarks then + o = s:taboption("Main", ListValue, v.id .. "." .. id .. "_node", string.format('* %s', api.url("shunt_rules", id), e.remarks)) + o:depends("tcp_node", v.id) + o:value("nil", translate("Close")) + o:value("_default", translate("Default")) + o:value("_direct", translate("Direct Connection")) + o:value("_blackhole", translate("Blackhole")) + for k1, v1 in pairs(normal_list) do + o:value(v1.id, v1["remark"]) + end + o.cfgvalue = function(self, section) + return m:get(v.id, id) or "nil" + end + o.write = function(self, section, value) + m:set(v.id, id, value) + end + end + end) + + local id = "default_node" + o = s:taboption("Main", ListValue, v.id .. "." .. id, string.format('* %s', translate("Default"))) + o:depends("tcp_node", v.id) + o:value("_direct", translate("Direct Connection")) + o:value("_blackhole", translate("Blackhole")) + for k1, v1 in pairs(normal_list) do + o:value(v1.id, v1["remark"]) + end + o.cfgvalue = function(self, section) + return m:get(v.id, id) or "nil" + end + o.write = function(self, section, value) + m:set(v.id, id, value) + end + + local id = "main_node" + o = s:taboption("Main", ListValue, v.id .. "." .. id, string.format('* %s', translate("Default Preproxy")), translate("When using, localhost will connect this node first and then use this node to connect the default node.")) + o:depends("tcp_node", v.id) + o:value("nil", translate("Close")) + for k1, v1 in pairs(normal_list) do + o:value(v1.id, v1["remark"]) + end + o.cfgvalue = function(self, section) + return m:get(v.id, id) or "nil" + end + o.write = function(self, section, value) + m:set(v.id, id, value) + end + end +end + +udp_node = s:taboption("Main", ListValue, "udp_node", "" .. translate("UDP Node") .. "") +udp_node:value("nil", translate("Close")) +--udp_node.description = translate("For proxy game network.") +udp_node:value("tcp", translate("Same as the tcp node")) + +s:tab("DNS", translate("DNS")) + +if api.is_finded("smartdns") then + dns_shunt = s:taboption("DNS", ListValue, "dns_shunt", translate("DNS Shunt")) + dns_shunt:value("dnsmasq", "Dnsmasq") + dns_shunt:value("smartdns", "SmartDNS") + + group_domestic = s:taboption("DNS", Value, "group_domestic", translate("Domestic group name")) + group_domestic.placeholder = "local" + group_domestic:depends("dns_shunt", "smartdns") + group_domestic.description = translate("You only need to configure domestic DNS packets in SmartDNS and set it redirect or as Dnsmasq upstream, and fill in the domestic DNS group name here.") +end + +o = s:taboption("DNS", Flag, "filter_proxy_ipv6", translate("Filter Proxy Host IPv6"), translate("Experimental feature.")) +o.default = "0" + +---- DNS Forward Mode +dns_mode = s:taboption("DNS", ListValue, "dns_mode", translate("Filter Mode")) +dns_mode.rmempty = false +dns_mode:reset_values() +if api.is_finded("pdnsd") then + dns_mode:value("pdnsd", "pdnsd " .. translatef("Requery DNS By %s", translate("TCP Node"))) +end +if api.is_finded("dns2socks") then + dns_mode:value("dns2socks", "dns2socks") +end +if has_v2ray then + dns_mode:value("v2ray", "V2ray") +end +if has_xray then + dns_mode:value("xray", "Xray") +end +dns_mode:value("udp", translatef("Requery DNS By %s", "UDP")) + +o = s:taboption("DNS", ListValue, "v2ray_dns_mode", " ") +o:value("tcp", "TCP") +o:value("doh", "DoH") +o:value("fakedns", "FakeDNS") +o:depends("dns_mode", "v2ray") +o:depends("dns_mode", "xray") +o.validate = function(self, value, t) + if value == "fakedns" then + local _dns_mode = dns_mode:formvalue(t) + local _tcp_node = tcp_node:formvalue(t) + if m:get(_tcp_node, "type"):lower() ~= _dns_mode then + return nil, translatef("TCP node must be '%s' type to use FakeDNS.", _dns_mode) + end + end + return value +end + +o = s:taboption("DNS", Value, "socks_server", translate("Socks Server"), translate("Make sure socks service is available on this address.")) +for k, v in pairs(socks_table) do o:value(v.id, v.remarks) end +o.validate = function(self, value, t) + if not datatypes.ipaddrport(value) then + return nil, translate("Socks Server") .. " " .. translate("Not valid IP format, please re-enter!") + end + return value +end +o:depends({dns_mode = "dns2socks"}) + +---- DoH +o = s:taboption("DNS", Value, "up_trust_doh", translate("DoH request address")) +o:value("https://cloudflare-dns.com/dns-query,1.1.1.1", "CloudFlare") +o:value("https://security.cloudflare-dns.com/dns-query,1.1.1.2", "CloudFlare-Security") +o:value("https://doh.opendns.com/dns-query,208.67.222.222", "OpenDNS") +o:value("https://dns.google/dns-query,8.8.8.8", "Google") +o:value("https://doh.libredns.gr/dns-query,116.202.176.26", "LibreDNS") +o:value("https://doh.libredns.gr/ads,116.202.176.26", "LibreDNS (No Ads)") +o:value("https://dns.quad9.net/dns-query,9.9.9.9", "Quad9-Recommended") +o:value("https://dns.adguard.com/dns-query,176.103.130.130", "AdGuard") +o.default = "https://cloudflare-dns.com/dns-query,1.1.1.1" +o.validate = doh_validate +o:depends("v2ray_dns_mode", "doh") + +---- DNS Forward +o = s:taboption("DNS", Value, "dns_forward", translate("Remote DNS")) +--o.description = translate("IP:Port mode acceptable, multi value split with english comma.") .. " " .. translate("If you use dns2socks, only the first one is valid.") +o.datatype = "or(ipaddr,ipaddrport)" +o.default = "1.1.1.1" +o:value("1.1.1.1", "1.1.1.1 (CloudFlare DNS)") +o:value("1.1.1.2", "1.1.1.2 (CloudFlare DNS)") +o:value("8.8.8.8", "8.8.8.8 (Google DNS)") +o:value("8.8.4.4", "8.8.4.4 (Google DNS)") +o:value("208.67.222.222", "208.67.222.222 (Open DNS)") +o:value("208.67.220.220", "208.67.220.220 (Open DNS)") +o:depends({dns_mode = "dns2socks"}) +o:depends({dns_mode = "pdnsd"}) +o:depends({dns_mode = "udp"}) +o:depends({v2ray_dns_mode = "tcp"}) + +o = s:taboption("DNS", Value, "dns_client_ip", translate("EDNS Client Subnet")) +o.description = translate("Notify the DNS server when the DNS query is notified, the location of the client (cannot be a private IP address).") .. "
" .. + translate("This feature requires the DNS server to support the Edns Client Subnet (RFC7871).") +o.datatype = "ipaddr" +o:depends("v2ray_dns_mode", "tcp") +o:depends("v2ray_dns_mode", "doh") + +o = s:taboption("DNS", Flag, "dns_cache", translate("Cache Resolved")) +o.default = "1" +o:depends({dns_mode = "dns2socks"}) +o:depends({dns_mode = "pdnsd"}) +o:depends({dns_mode = "v2ray", v2ray_dns_mode = "tcp"}) +o:depends({dns_mode = "v2ray", v2ray_dns_mode = "doh"}) +o:depends({dns_mode = "xray", v2ray_dns_mode = "tcp"}) +o:depends({dns_mode = "xray", v2ray_dns_mode = "doh"}) +o.rmempty = false + +if has_chnlist and api.is_finded("chinadns-ng") then + o = s:taboption("DNS", Flag, "chinadns_ng", translate("ChinaDNS-NG"), translate("The effect is better, but will increase the memory.")) + o.default = "0" + o:depends({dns_mode = "dns2socks"}) + o:depends({dns_mode = "pdnsd"}) + o:depends({dns_mode = "v2ray", v2ray_dns_mode = "tcp"}) + o:depends({dns_mode = "v2ray", v2ray_dns_mode = "doh"}) + o:depends({dns_mode = "xray", v2ray_dns_mode = "tcp"}) + o:depends({dns_mode = "xray", v2ray_dns_mode = "doh"}) + o:depends({dns_mode = "udp"}) +end + +o = s:taboption("DNS", Button, "clear_ipset", translate("Clear IPSET"), translate("Try this feature if the rule modification does not take effect.")) +o.inputstyle = "remove" +function o.write(e, e) + luci.sys.call("/usr/share/" .. appname .. "/iptables.sh flush_ipset > /dev/null 2>&1 &") + luci.http.redirect(api.url("log")) +end + +s:tab("Proxy", translate("Mode")) + +---- TCP Default Proxy Mode +tcp_proxy_mode = s:taboption("Proxy", ListValue, "tcp_proxy_mode", "TCP " .. translate("Default") .. translate("Proxy Mode")) +-- o.description = translate("If not available, try clearing the cache.") +tcp_proxy_mode:value("disable", translate("No Proxy")) +tcp_proxy_mode:value("global", translate("Global Proxy")) +tcp_proxy_mode:value("gfwlist", translate("GFW List")) +tcp_proxy_mode:value("chnroute", translate("Not China List")) +if has_chnlist then + tcp_proxy_mode:value("returnhome", translate("China List")) +end +tcp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) +tcp_proxy_mode.default = "chnroute" +--tcp_proxy_mode.validate = redir_mode_validate + +---- UDP Default Proxy Mode +udp_proxy_mode = s:taboption("Proxy", ListValue, "udp_proxy_mode", "UDP " .. translate("Default") .. translate("Proxy Mode")) +udp_proxy_mode:value("disable", translate("No Proxy")) +udp_proxy_mode:value("global", translate("Global Proxy")) +udp_proxy_mode:value("gfwlist", translate("GFW List")) +udp_proxy_mode:value("chnroute", translate("Not China List")) +if has_chnlist then + udp_proxy_mode:value("returnhome", translate("China List")) +end +udp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) +udp_proxy_mode.default = "chnroute" +--udp_proxy_mode.validate = redir_mode_validate + +---- Localhost TCP Proxy Mode +localhost_tcp_proxy_mode = s:taboption("Proxy", ListValue, "localhost_tcp_proxy_mode", translate("Router Localhost") .. " TCP " .. translate("Proxy Mode")) +-- o.description = translate("The server client can also use this rule to scientifically surf the Internet.") +localhost_tcp_proxy_mode:value("default", translatef("Same as the %s default proxy mode", "TCP")) +localhost_tcp_proxy_mode:value("global", translate("Global Proxy")) +localhost_tcp_proxy_mode:value("gfwlist", translate("GFW List")) +localhost_tcp_proxy_mode:value("chnroute", translate("Not China List")) +if has_chnlist then + localhost_tcp_proxy_mode:value("returnhome", translate("China List")) +end +localhost_tcp_proxy_mode:value("disable", translate("No Proxy")) +localhost_tcp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) +localhost_tcp_proxy_mode.default = "default" +--localhost_tcp_proxy_mode.validate = redir_mode_validate + +---- Localhost UDP Proxy Mode +localhost_udp_proxy_mode = s:taboption("Proxy", ListValue, "localhost_udp_proxy_mode", translate("Router Localhost") .. " UDP " .. translate("Proxy Mode")) +localhost_udp_proxy_mode:value("default", translatef("Same as the %s default proxy mode", "UDP")) +localhost_udp_proxy_mode:value("global", translate("Global Proxy")) +localhost_udp_proxy_mode:value("gfwlist", translate("GFW List")) +localhost_udp_proxy_mode:value("chnroute", translate("Not China List")) +if has_chnlist then + localhost_udp_proxy_mode:value("returnhome", translate("China List")) +end +localhost_udp_proxy_mode:value("disable", translate("No Proxy")) +localhost_udp_proxy_mode:value("direct/proxy", translate("Only use direct/proxy list")) +localhost_udp_proxy_mode.default = "default" +localhost_udp_proxy_mode.validate = redir_mode_validate + +tips = s:taboption("Proxy", DummyValue, "tips", " ") +tips.rawhtml = true +tips.cfgvalue = function(t, n) + return string.format('%s', api.url("acl"), translate("Want different devices to use different proxy modes/ports/nodes? Please use access control.")) +end + +s:tab("log", translate("Log")) +o = s:taboption("log", Flag, "close_log_tcp", translatef("%s Node Log Close", "TCP")) +o.rmempty = false + +o = s:taboption("log", Flag, "close_log_udp", translatef("%s Node Log Close", "UDP")) +o.rmempty = false + +loglevel = s:taboption("log", ListValue, "loglevel", "V2ray/Xray" .. translate("Log Level")) +loglevel.default = "warning" +loglevel:value("debug") +loglevel:value("info") +loglevel:value("warning") +loglevel:value("error") + +trojan_loglevel = s:taboption("log", ListValue, "trojan_loglevel", "Trojan" .. translate("Log Level")) +trojan_loglevel.default = "2" +trojan_loglevel:value("0", "all") +trojan_loglevel:value("1", "info") +trojan_loglevel:value("2", "warn") +trojan_loglevel:value("3", "error") +trojan_loglevel:value("4", "fatal") + +s:tab("faq", "FAQ") + +o = s:taboption("faq", DummyValue, "") +o.template = appname .. "/global/faq" + +-- [[ Socks Server ]]-- +o = s:taboption("Main", Flag, "socks_enabled", "Socks " .. translate("Main switch")) +o.rmempty = false + +s = m:section(TypedSection, "socks", translate("Socks Config")) +s.anonymous = true +s.addremove = true +s.template = "cbi/tblsection" +function s.create(e, t) + TypedSection.create(e, api.gen_uuid()) +end + +o = s:option(DummyValue, "status", translate("Status")) +o.rawhtml = true +o.cfgvalue = function(t, n) + return string.format('
', n) +end + +---- Enable +o = s:option(Flag, "enabled", translate("Enable")) +o.default = 1 +o.rmempty = false + +socks_node = s:option(ListValue, "node", translate("Socks Node")) +socks_node:value("tcp", translate("Same as the tcp node")) + +local n = 0 +uci:foreach(appname, "socks", function(s) + if s[".name"] == section then + return false + end + n = n + 1 +end) + +o = s:option(Value, "port", "Socks " .. translate("Listen Port")) +o.default = n + 1080 +o.datatype = "port" +o.rmempty = false + +if has_v2ray or has_xray then + o = s:option(Value, "http_port", "HTTP " .. translate("Listen Port") .. " " .. translate("0 is not use")) + o.default = 0 + o.datatype = "port" +end + +for k, v in pairs(nodes_table) do + tcp_node:value(v.id, v["remark"]) + udp_node:value(v.id, v["remark"]) + if v.type == "Socks" then + if has_v2ray or has_xray then + socks_node:value(v.id, v["remark"]) + end + else + socks_node:value(v.id, v["remark"]) + end +end + +m:append(Template(appname .. "/global/footer")) + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua new file mode 100644 index 00000000..a1270087 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua @@ -0,0 +1,121 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local sys = api.sys +local net = require "luci.model.network".init() +local datatypes = api.datatypes + +local nodes_table = {} +for k, e in ipairs(api.get_valid_nodes()) do + if e.node_type == "normal" then + nodes_table[#nodes_table + 1] = { + id = e[".name"], + obj = e, + remarks = e["remark"] + } + end +end + +m = Map(appname) + +-- [[ Haproxy Settings ]]-- +s = m:section(TypedSection, "global_haproxy") +s.anonymous = true + +s:append(Template(appname .. "/haproxy/status")) + +---- Balancing Enable +o = s:option(Flag, "balancing_enable", translate("Enable Load Balancing")) +o.rmempty = false +o.default = false + +---- Console Username +o = s:option(Value, "console_user", translate("Console Username")) +o.default = "" +o:depends("balancing_enable", true) + +---- Console Password +o = s:option(Value, "console_password", translate("Console Password")) +o.password = true +o.default = "" +o:depends("balancing_enable", true) + +---- Console Port +o = s:option(Value, "console_port", translate("Console Port"), translate( + "In the browser input routing IP plus port access, such as:192.168.1.1:1188")) +o.default = "1188" +o:depends("balancing_enable", true) + +-- [[ Balancing Settings ]]-- +s = m:section(TypedSection, "haproxy_config", "", + "" .. + translate("Add a node, Export Of Multi WAN Only support Multi Wan. Load specific gravity range 1-256. Multiple primary servers can be load balanced, standby will only be enabled when the primary server is offline! Multiple groups can be set, Haproxy port same one for each group.") .. + "\n" .. translate("Note that the node configuration parameters for load balancing must be consistent, otherwise problems can arise!") .. + "") +s.template = "cbi/tblsection" +s.sortable = true +s.anonymous = true +s.addremove = true + +s.create = function(e, t) + TypedSection.create(e, api.gen_uuid()) +end + +s.remove = function(self, section) + for k, v in pairs(self.children) do + v.rmempty = true + v.validate = nil + end + TypedSection.remove(self, section) +end + +---- Enable +o = s:option(Flag, "enabled", translate("Enable")) +o.default = 1 +o.rmempty = false + +---- Node Address +o = s:option(Value, "lbss", translate("Node Address")) +for k, v in pairs(nodes_table) do o:value(v.id, v.remarks) end +o.rmempty = false +o.validate = function(self, value) + if not value then return nil end + local t = m:get(value) or nil + if t and t[".type"] == "nodes" then + return value + end + if datatypes.hostport(value) or datatypes.ip4addrport(value) then + return value + end + if api.is_ipv6addrport(value) then + return value + end + return nil, value +end + +---- Haproxy Port +o = s:option(Value, "haproxy_port", translate("Haproxy Port")) +o.datatype = "port" +o.default = 1181 +o.rmempty = false + +---- Node Weight +o = s:option(Value, "lbweight", translate("Node Weight")) +o.datatype = "uinteger" +o.default = 5 +o.rmempty = false + +---- Export +o = s:option(ListValue, "export", translate("Export Of Multi WAN")) +o:value(0, translate("Auto")) +local wa = require "luci.tools.webadmin" +wa.cbi_add_networks(o) +o.default = 0 +o.rmempty = false + +---- Mode +o = s:option(ListValue, "backup", translate("Mode")) +o:value(0, translate("Primary")) +o:value(1, translate("Standby")) +o.rmempty = false + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua new file mode 100644 index 00000000..5580e17a --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua @@ -0,0 +1,8 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname + +f = SimpleForm(appname) +f.reset = false +f.submit = false +f:append(Template(appname .. "/log/log")) +return f diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua new file mode 100644 index 00000000..ac68967e --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua @@ -0,0 +1,863 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local uci = api.uci + +if not arg[1] or not uci:get(appname, arg[1]) then + luci.http.redirect(api.url("node_list")) +end + +local ss_encrypt_method_list = { + "rc4-md5", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "aes-128-ctr", + "aes-192-ctr", "aes-256-ctr", "bf-cfb", "salsa20", "chacha20", "chacha20-ietf", + "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305" +} + +local ss_rust_encrypt_method_list = { + "plain", "none", + "aes-128-gcm", "aes-256-gcm", "chacha20-ietf-poly1305" +} + +local ssr_encrypt_method_list = { + "none", "table", "rc2-cfb", "rc4", "rc4-md5", "rc4-md5-6", "aes-128-cfb", + "aes-192-cfb", "aes-256-cfb", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", + "bf-cfb", "camellia-128-cfb", "camellia-192-cfb", "camellia-256-cfb", + "cast5-cfb", "des-cfb", "idea-cfb", "seed-cfb", "salsa20", "chacha20", + "chacha20-ietf" +} + +local ssr_protocol_list = { + "origin", "verify_simple", "verify_deflate", "verify_sha1", "auth_simple", + "auth_sha1", "auth_sha1_v2", "auth_sha1_v4", "auth_aes128_md5", + "auth_aes128_sha1", "auth_chain_a", "auth_chain_b", "auth_chain_c", + "auth_chain_d", "auth_chain_e", "auth_chain_f" +} +local ssr_obfs_list = { + "plain", "http_simple", "http_post", "random_head", "tls_simple", + "tls1.0_session_auth", "tls1.2_ticket_auth" +} + +local v_ss_encrypt_method_list = { + "aes-128-gcm", "aes-256-gcm", "chacha20-poly1305" +} + +local x_ss_encrypt_method_list = { + "aes-128-gcm", "aes-256-gcm", "chacha20-poly1305", "xchacha20-poly1305" +} + +local security_list = {"none", "auto", "aes-128-gcm", "chacha20-poly1305", "zero"} + +local header_type_list = { + "none", "srtp", "utp", "wechat-video", "dtls", "wireguard" +} +local encrypt_methods_ss_aead = { + "chacha20-ietf-poly1305", + "aes-128-gcm", + "aes-256-gcm", +} + +m = Map(appname, translate("Node Config")) +m.redirect = api.url() + +s = m:section(NamedSection, arg[1], "nodes", "") +s.addremove = false +s.dynamic = false + +share = s:option(DummyValue, "passwall", " ") +share.rawhtml = true +share.template = "passwall/node_list/link_share_man" +share.value = arg[1] + +remarks = s:option(Value, "remarks", translate("Node Remarks")) +remarks.default = translate("Remarks") +remarks.rmempty = false + +type = s:option(ListValue, "type", translate("Type")) +if api.is_finded("ipt2socks") then + type:value("Socks", translate("Socks")) +end +if api.is_finded("ss-redir") then + type:value("SS", translate("Shadowsocks Libev")) +end +if api.is_finded("sslocal") then + type:value("SS-Rust", translate("Shadowsocks Rust")) +end +if api.is_finded("ssr-redir") then + type:value("SSR", translate("ShadowsocksR Libev")) +end +if api.is_finded("v2ray") then + type:value("V2ray", translate("V2ray")) +end +if api.is_finded("xray") then + type:value("Xray", translate("Xray")) +end +if api.is_finded("brook") then + type:value("Brook", translate("Brook")) +end +--[[ +if api.is_finded("trojan-plus") or api.is_finded("trojan") then + type:value("Trojan", translate("Trojan")) +end +]]-- +if api.is_finded("trojan-plus") then + type:value("Trojan-Plus", translate("Trojan-Plus")) +end +if api.is_finded("trojan-go") then + type:value("Trojan-Go", translate("Trojan-Go")) +end +if api.is_finded("naive") then + type:value("Naiveproxy", translate("NaiveProxy")) +end +if api.is_finded("hysteria") then + type:value("Hysteria", translate("Hysteria")) +end + +protocol = s:option(ListValue, "protocol", translate("Protocol")) +protocol:value("vmess", translate("Vmess")) +protocol:value("vless", translate("VLESS")) +protocol:value("http", translate("HTTP")) +protocol:value("socks", translate("Socks")) +protocol:value("shadowsocks", translate("Shadowsocks")) +protocol:value("trojan", translate("Trojan")) +protocol:value("_balancing", translate("Balancing")) +protocol:value("_shunt", translate("Shunt")) +protocol:depends("type", "V2ray") +protocol:depends("type", "Xray") + +local nodes_table = {} +for k, e in ipairs(api.get_valid_nodes()) do + if e.node_type == "normal" then + nodes_table[#nodes_table + 1] = { + id = e[".name"], + remarks = e["remark"] + } + end +end + +-- 负载均衡列表 +balancing_node = s:option(DynamicList, "balancing_node", translate("Load balancing node list"), translate("Load balancing node list, document")) +for k, v in pairs(nodes_table) do balancing_node:value(v.id, v.remarks) end +balancing_node:depends("protocol", "_balancing") + +-- 分流 +uci:foreach(appname, "shunt_rules", function(e) + if e[".name"] and e.remarks then + o = s:option(ListValue, e[".name"], string.format('* %s', api.url("shunt_rules", e[".name"]), e.remarks)) + o:value("nil", translate("Close")) + o:value("_default", translate("Default")) + o:value("_direct", translate("Direct Connection")) + o:value("_blackhole", translate("Blackhole")) + o:depends("protocol", "_shunt") + + if #nodes_table > 0 then + _proxy_tag = s:option(ListValue, e[".name"] .. "_proxy_tag", string.format('* %s', e.remarks .. " " .. translate("Preproxy"))) + _proxy_tag:value("nil", translate("Close")) + _proxy_tag:value("default", translate("Default")) + _proxy_tag:value("main", translate("Default Preproxy")) + _proxy_tag.default = "nil" + + for k, v in pairs(nodes_table) do + o:value(v.id, v.remarks) + _proxy_tag:depends(e[".name"], v.id) + end + end + end +end) + +shunt_tips = s:option(DummyValue, "shunt_tips", " ") +shunt_tips.rawhtml = true +shunt_tips.cfgvalue = function(t, n) + return string.format('%s', translate("No shunt rules? Click me to go to add.")) +end +shunt_tips:depends("protocol", "_shunt") + +default_node = s:option(ListValue, "default_node", string.format('* %s', translate("Default"))) +default_node:value("_direct", translate("Direct Connection")) +default_node:value("_blackhole", translate("Blackhole")) +for k, v in pairs(nodes_table) do default_node:value(v.id, v.remarks) end +default_node:depends("protocol", "_shunt") + +if #nodes_table > 0 then + o = s:option(ListValue, "main_node", string.format('* %s', translate("Default Preproxy")), translate("When using, localhost will connect this node first and then use this node to connect the default node.")) + o:value("nil", translate("Close")) + for k, v in pairs(nodes_table) do + o:value(v.id, v.remarks) + o:depends("default_node", v.id) + end +end + +domainStrategy = s:option(ListValue, "domainStrategy", translate("Domain Strategy")) +domainStrategy:value("AsIs") +domainStrategy:value("IPIfNonMatch") +domainStrategy:value("IPOnDemand") +domainStrategy.default = "IPOnDemand" +domainStrategy.description = "
  • " .. translate("'AsIs': Only use domain for routing. Default value.") +.. "
  • " .. translate("'IPIfNonMatch': When no rule matches current domain, resolves it into IP addresses (A or AAAA records) and try all rules again.") +.. "
  • " .. translate("'IPOnDemand': As long as there is a IP-based rule, resolves the domain into IP immediately.") +.. "
" +domainStrategy:depends("protocol", "_balancing") +domainStrategy:depends("protocol", "_shunt") + +domainMatcher = s:option(ListValue, "domainMatcher", translate("Domain matcher")) +domainMatcher:value("hybrid") +domainMatcher:value("linear") +domainMatcher:depends("protocol", "_balancing") +domainMatcher:depends("protocol", "_shunt") + + +-- Brook协议 +brook_protocol = s:option(ListValue, "brook_protocol", translate("Protocol")) +brook_protocol:value("client", translate("Brook")) +brook_protocol:value("wsclient", translate("WebSocket")) +brook_protocol:depends("type", "Brook") +function brook_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function brook_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +brook_tls = s:option(Flag, "brook_tls", translate("Use TLS")) +brook_tls:depends("brook_protocol", "wsclient") + +-- Naiveproxy协议 +naiveproxy_protocol = s:option(ListValue, "naiveproxy_protocol", translate("Protocol")) +naiveproxy_protocol:value("https", translate("HTTPS")) +naiveproxy_protocol:value("quic", translate("QUIC")) +naiveproxy_protocol:depends("type", "Naiveproxy") +function naiveproxy_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function naiveproxy_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +address = s:option(Value, "address", translate("Address (Support Domain Name)")) +address.rmempty = false +address:depends("type", "Socks") +address:depends("type", "SS") +address:depends("type", "SS-Rust") +address:depends("type", "SSR") +address:depends("type", "Brook") +address:depends("type", "Trojan") +address:depends("type", "Trojan-Plus") +address:depends("type", "Trojan-Go") +address:depends("type", "Naiveproxy") +address:depends("type", "Hysteria") +address:depends({ type = "V2ray", protocol = "vmess" }) +address:depends({ type = "V2ray", protocol = "vless" }) +address:depends({ type = "V2ray", protocol = "http" }) +address:depends({ type = "V2ray", protocol = "socks" }) +address:depends({ type = "V2ray", protocol = "shadowsocks" }) +address:depends({ type = "V2ray", protocol = "trojan" }) +address:depends({ type = "Xray", protocol = "vmess" }) +address:depends({ type = "Xray", protocol = "vless" }) +address:depends({ type = "Xray", protocol = "http" }) +address:depends({ type = "Xray", protocol = "socks" }) +address:depends({ type = "Xray", protocol = "shadowsocks" }) +address:depends({ type = "Xray", protocol = "trojan" }) + +--[[ +use_ipv6 = s:option(Flag, "use_ipv6", translate("Use IPv6")) +use_ipv6.default = 0 +use_ipv6:depends("type", "Socks") +use_ipv6:depends("type", "SS") +use_ipv6:depends("type", "SS-Rust") +use_ipv6:depends("type", "SSR") +use_ipv6:depends("type", "Brook") +use_ipv6:depends("type", "Trojan") +use_ipv6:depends("type", "Trojan-Plus") +use_ipv6:depends("type", "Trojan-Go") +use_ipv6:depends("type", "Hysteria") +use_ipv6:depends({ type = "V2ray", protocol = "vmess" }) +use_ipv6:depends({ type = "V2ray", protocol = "vless" }) +use_ipv6:depends({ type = "V2ray", protocol = "http" }) +use_ipv6:depends({ type = "V2ray", protocol = "socks" }) +use_ipv6:depends({ type = "V2ray", protocol = "shadowsocks" }) +use_ipv6:depends({ type = "V2ray", protocol = "trojan" }) +use_ipv6:depends({ type = "Xray", protocol = "vmess" }) +use_ipv6:depends({ type = "Xray", protocol = "vless" }) +use_ipv6:depends({ type = "Xray", protocol = "http" }) +use_ipv6:depends({ type = "Xray", protocol = "socks" }) +use_ipv6:depends({ type = "Xray", protocol = "shadowsocks" }) +use_ipv6:depends({ type = "Xray", protocol = "trojan" }) +--]] + +port = s:option(Value, "port", translate("Port")) +port.datatype = "port" +port.rmempty = false +port:depends("type", "Socks") +port:depends("type", "SS") +port:depends("type", "SS-Rust") +port:depends("type", "SSR") +port:depends("type", "Brook") +port:depends("type", "Trojan") +port:depends("type", "Trojan-Plus") +port:depends("type", "Trojan-Go") +port:depends("type", "Naiveproxy") +port:depends("type", "Hysteria") +port:depends({ type = "V2ray", protocol = "vmess" }) +port:depends({ type = "V2ray", protocol = "vless" }) +port:depends({ type = "V2ray", protocol = "http" }) +port:depends({ type = "V2ray", protocol = "socks" }) +port:depends({ type = "V2ray", protocol = "shadowsocks" }) +port:depends({ type = "V2ray", protocol = "trojan" }) +port:depends({ type = "Xray", protocol = "vmess" }) +port:depends({ type = "Xray", protocol = "vless" }) +port:depends({ type = "Xray", protocol = "http" }) +port:depends({ type = "Xray", protocol = "socks" }) +port:depends({ type = "Xray", protocol = "shadowsocks" }) +port:depends({ type = "Xray", protocol = "trojan" }) + +username = s:option(Value, "username", translate("Username")) +username:depends("type", "Socks") +username:depends("type", "Naiveproxy") +username:depends({ type = "V2ray", protocol = "http" }) +username:depends({ type = "V2ray", protocol = "socks" }) +username:depends({ type = "Xray", protocol = "http" }) +username:depends({ type = "Xray", protocol = "socks" }) + +password = s:option(Value, "password", translate("Password")) +password.password = true +password:depends("type", "Socks") +password:depends("type", "SS") +password:depends("type", "SS-Rust") +password:depends("type", "SSR") +password:depends("type", "Brook") +password:depends("type", "Trojan") +password:depends("type", "Trojan-Plus") +password:depends("type", "Trojan-Go") +password:depends("type", "Naiveproxy") +password:depends({ type = "V2ray", protocol = "http" }) +password:depends({ type = "V2ray", protocol = "socks" }) +password:depends({ type = "V2ray", protocol = "shadowsocks" }) +password:depends({ type = "V2ray", protocol = "trojan" }) +password:depends({ type = "Xray", protocol = "http" }) +password:depends({ type = "Xray", protocol = "socks" }) +password:depends({ type = "Xray", protocol = "shadowsocks" }) +password:depends({ type = "Xray", protocol = "trojan" }) + +hysteria_protocol = s:option(ListValue, "hysteria_protocol", translate("Protocol")) +hysteria_protocol:value("udp", "UDP") +hysteria_protocol:value("faketcp", "faketcp") +hysteria_protocol:value("wechat-video", "wechat-video") +hysteria_protocol:depends("type", "Hysteria") +function hysteria_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function hysteria_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +hysteria_obfs = s:option(Value, "hysteria_obfs", translate("Obfs Password")) +hysteria_obfs:depends("type", "Hysteria") + +hysteria_auth_type = s:option(ListValue, "hysteria_auth_type", translate("Auth Type")) +hysteria_auth_type:value("disable", translate("Disable")) +hysteria_auth_type:value("string", translate("STRING")) +hysteria_auth_type:value("base64", translate("BASE64")) +hysteria_auth_type:depends("type", "Hysteria") + +hysteria_auth_password = s:option(Value, "hysteria_auth_password", translate("Auth Password")) +hysteria_auth_password.password = true +hysteria_auth_password:depends("hysteria_auth_type", "string") +hysteria_auth_password:depends("hysteria_auth_type", "base64") + +hysteria_alpn = s:option(Value, "hysteria_alpn", translate("QUIC TLS ALPN")) +hysteria_alpn:depends("type", "Hysteria") + +ss_encrypt_method = s:option(Value, "ss_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(ss_encrypt_method_list) do ss_encrypt_method:value(t) end +ss_encrypt_method:depends("type", "SS") +function ss_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function ss_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +ss_rust_encrypt_method = s:option(Value, "ss_rust_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(ss_rust_encrypt_method_list) do ss_rust_encrypt_method:value(t) end +ss_rust_encrypt_method:depends("type", "SS-Rust") +function ss_rust_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function ss_rust_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +ssr_encrypt_method = s:option(Value, "ssr_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(ssr_encrypt_method_list) do ssr_encrypt_method:value(t) end +ssr_encrypt_method:depends("type", "SSR") +function ssr_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function ssr_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +security = s:option(ListValue, "security", translate("Encrypt Method")) +for a, t in ipairs(security_list) do security:value(t) end +security:depends({ type = "V2ray", protocol = "vmess" }) +security:depends({ type = "Xray", protocol = "vmess" }) + +encryption = s:option(Value, "encryption", translate("Encrypt Method")) +encryption.default = "none" +encryption:value("none") +encryption:depends({ type = "V2ray", protocol = "vless" }) +encryption:depends({ type = "Xray", protocol = "vless" }) + +v_ss_encrypt_method = s:option(ListValue, "v_ss_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(v_ss_encrypt_method_list) do v_ss_encrypt_method:value(t) end +v_ss_encrypt_method:depends({ type = "V2ray", protocol = "shadowsocks" }) +function v_ss_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function v_ss_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +x_ss_encrypt_method = s:option(ListValue, "x_ss_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(x_ss_encrypt_method_list) do x_ss_encrypt_method:value(t) end +x_ss_encrypt_method:depends({ type = "Xray", protocol = "shadowsocks" }) +function x_ss_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function x_ss_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +iv_check = s:option(Flag, "iv_check", translate("IV Check")) +iv_check:depends({ type = "V2ray", protocol = "shadowsocks" }) +iv_check:depends({ type = "Xray", protocol = "shadowsocks" }) + +ssr_protocol = s:option(Value, "ssr_protocol", translate("Protocol")) +for a, t in ipairs(ssr_protocol_list) do ssr_protocol:value(t) end +ssr_protocol:depends("type", "SSR") +function ssr_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function ssr_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +protocol_param = s:option(Value, "protocol_param", translate("Protocol_param")) +protocol_param:depends("type", "SSR") + +obfs = s:option(Value, "obfs", translate("Obfs")) +for a, t in ipairs(ssr_obfs_list) do obfs:value(t) end +obfs:depends("type", "SSR") + +obfs_param = s:option(Value, "obfs_param", translate("Obfs_param")) +obfs_param:depends("type", "SSR") + +timeout = s:option(Value, "timeout", translate("Connection Timeout")) +timeout.datatype = "uinteger" +timeout.default = 300 +timeout:depends("type", "SS") +timeout:depends("type", "SS-Rust") +timeout:depends("type", "SSR") + +tcp_fast_open = s:option(ListValue, "tcp_fast_open", translate("TCP Fast Open"), translate("Need node support required")) +tcp_fast_open:value("false") +tcp_fast_open:value("true") +tcp_fast_open:depends("type", "SS") +tcp_fast_open:depends("type", "SS-Rust") +tcp_fast_open:depends("type", "SSR") +tcp_fast_open:depends("type", "Trojan") +tcp_fast_open:depends("type", "Trojan-Plus") +tcp_fast_open:depends("type", "Trojan-Go") + +ss_plugin = s:option(ListValue, "ss_plugin", translate("plugin")) +ss_plugin:value("none", translate("none")) +if api.is_finded("xray-plugin") then ss_plugin:value("xray-plugin") end +if api.is_finded("v2ray-plugin") then ss_plugin:value("v2ray-plugin") end +if api.is_finded("obfs-local") then ss_plugin:value("obfs-local") end +ss_plugin:depends("type", "SS") +ss_plugin:depends("type", "SS-Rust") +function ss_plugin.cfgvalue(self, section) + return m:get(section, "plugin") +end +function ss_plugin.write(self, section, value) + m:set(section, "plugin", value) +end + +ss_plugin_opts = s:option(Value, "ss_plugin_opts", translate("opts")) +ss_plugin_opts:depends("ss_plugin", "xray-plugin") +ss_plugin_opts:depends("ss_plugin", "v2ray-plugin") +ss_plugin_opts:depends("ss_plugin", "obfs-local") +function ss_plugin_opts.cfgvalue(self, section) + return m:get(section, "plugin_opts") +end +function ss_plugin_opts.write(self, section, value) + m:set(section, "plugin_opts", value) +end + +uuid = s:option(Value, "uuid", translate("ID")) +uuid.password = true +uuid:depends({ type = "V2ray", protocol = "vmess" }) +uuid:depends({ type = "V2ray", protocol = "vless" }) +uuid:depends({ type = "Xray", protocol = "vmess" }) +uuid:depends({ type = "Xray", protocol = "vless" }) + +tls = s:option(Flag, "tls", translate("TLS")) +tls.default = 0 +tls.validate = function(self, value, t) + if value then + local type = type:formvalue(t) or "" + if value == "0" and (type == "Trojan" or type == "Trojan-Plus") then + return nil, translate("Original Trojan only supported 'tls', please choose 'tls'.") + end + return value + end +end +tls:depends({ type = "V2ray", protocol = "vmess" }) +tls:depends({ type = "V2ray", protocol = "vless" }) +tls:depends({ type = "V2ray", protocol = "socks" }) +tls:depends({ type = "V2ray", protocol = "trojan" }) +tls:depends({ type = "V2ray", protocol = "shadowsocks" }) +tls:depends({ type = "Xray", protocol = "vmess" }) +tls:depends({ type = "Xray", protocol = "vless" }) +tls:depends({ type = "Xray", protocol = "socks" }) +tls:depends({ type = "Xray", protocol = "trojan" }) +tls:depends({ type = "Xray", protocol = "shadowsocks" }) +tls:depends("type", "Trojan") +tls:depends("type", "Trojan-Plus") +tls:depends("type", "Trojan-Go") + +xtls = s:option(Flag, "xtls", translate("XTLS")) +xtls.default = 0 +xtls:depends({ type = "Xray", protocol = "vless", tls = true }) +xtls:depends({ type = "Xray", protocol = "trojan", tls = true }) + +flow = s:option(Value, "flow", translate("flow")) +flow.default = "xtls-rprx-direct" +flow:value("xtls-rprx-origin") +flow:value("xtls-rprx-origin-udp443") +flow:value("xtls-rprx-direct") +flow:value("xtls-rprx-direct-udp443") +flow:value("xtls-rprx-splice") +flow:value("xtls-rprx-splice-udp443") +flow:depends("xtls", true) + +alpn = s:option(ListValue, "alpn", translate("alpn")) +alpn.default = "default" +alpn:value("default", translate("Default")) +alpn:value("h2,http/1.1") +alpn:value("h2") +alpn:value("http/1.1") +alpn:depends({ type = "V2ray", tls = true }) +alpn:depends({ type = "Xray", tls = true }) + +-- [[ TLS部分 ]] -- +tls_sessionTicket = s:option(Flag, "tls_sessionTicket", translate("Session Ticket")) +tls_sessionTicket.default = "0" +tls_sessionTicket:depends({ type = "Trojan", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Plus", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Go", tls = true }) + +trojan_go_fingerprint = s:option(ListValue, "trojan_go_fingerprint", translate("Finger Print")) +trojan_go_fingerprint:value("disable", translate("Disable")) +trojan_go_fingerprint:value("firefox") +trojan_go_fingerprint:value("chrome") +trojan_go_fingerprint:value("ios") +trojan_go_fingerprint.default = "disable" +trojan_go_fingerprint:depends({ type = "Trojan-Go", tls = true }) +function trojan_go_fingerprint.cfgvalue(self, section) + return m:get(section, "fingerprint") +end +function trojan_go_fingerprint.write(self, section, value) + m:set(section, "fingerprint", value) +end + +tls_serverName = s:option(Value, "tls_serverName", translate("Domain")) +tls_serverName:depends("tls", true) +tls_serverName:depends("type", "Hysteria") + +tls_allowInsecure = s:option(Flag, "tls_allowInsecure", translate("allowInsecure"), translate("Whether unsafe connections are allowed. When checked, Certificate validation will be skipped.")) +tls_allowInsecure.default = "0" +tls_allowInsecure:depends("tls", true) +tls_allowInsecure:depends("type", "Hysteria") + +xray_fingerprint = s:option(ListValue, "xray_fingerprint", translate("Finger Print")) +xray_fingerprint:value("disable", translate("Disable")) +xray_fingerprint:value("chrome") +xray_fingerprint:value("firefox") +xray_fingerprint:value("safari") +xray_fingerprint:value("randomized") +xray_fingerprint.default = "disable" +xray_fingerprint:depends({ type = "Xray", tls = true, xtls = false }) +function xray_fingerprint.cfgvalue(self, section) + return m:get(section, "fingerprint") +end +function xray_fingerprint.write(self, section, value) + m:set(section, "fingerprint", value) +end + +trojan_transport = s:option(ListValue, "trojan_transport", translate("Transport")) +trojan_transport:value("original", translate("Original")) +trojan_transport:value("ws", "WebSocket") +trojan_transport.default = "original" +trojan_transport:depends("type", "Trojan-Go") + +trojan_plugin = s:option(ListValue, "plugin_type", translate("Transport Plugin")) +trojan_plugin:value("plaintext", "Plain Text") +trojan_plugin:value("shadowsocks", "ShadowSocks") +trojan_plugin:value("other", "Other") +trojan_plugin.default = "plaintext" +trojan_plugin:depends({ tls = false, trojan_transport = "original" }) + +trojan_plugin_cmd = s:option(Value, "plugin_cmd", translate("Plugin Binary")) +trojan_plugin_cmd.placeholder = "eg: /usr/bin/v2ray-plugin" +trojan_plugin_cmd:depends({ plugin_type = "shadowsocks" }) +trojan_plugin_cmd:depends({ plugin_type = "other" }) + +trojan_plugin_op = s:option(Value, "plugin_option", translate("Plugin Option")) +trojan_plugin_op.placeholder = "eg: obfs=http;obfs-host=www.baidu.com" +trojan_plugin_op:depends({ plugin_type = "shadowsocks" }) +trojan_plugin_op:depends({ plugin_type = "other" }) + +trojan_plugin_arg = s:option(DynamicList, "plugin_arg", translate("Plugin Option Args")) +trojan_plugin_arg.placeholder = "eg: [\"-config\", \"test.json\"]" +trojan_plugin_arg:depends({ plugin_type = "shadowsocks" }) +trojan_plugin_arg:depends({ plugin_type = "other" }) + +transport = s:option(ListValue, "transport", translate("Transport")) +transport:value("tcp", "TCP") +transport:value("mkcp", "mKCP") +transport:value("ws", "WebSocket") +transport:value("h2", "HTTP/2") +transport:value("ds", "DomainSocket") +transport:value("quic", "QUIC") +transport:value("grpc", "gRPC") +transport:depends({ type = "V2ray", protocol = "vmess" }) +transport:depends({ type = "V2ray", protocol = "vless" }) +transport:depends({ type = "V2ray", protocol = "socks" }) +transport:depends({ type = "V2ray", protocol = "shadowsocks" }) +transport:depends({ type = "V2ray", protocol = "trojan" }) +transport:depends({ type = "Xray", protocol = "vmess" }) +transport:depends({ type = "Xray", protocol = "vless" }) +transport:depends({ type = "Xray", protocol = "socks" }) +transport:depends({ type = "Xray", protocol = "shadowsocks" }) +transport:depends({ type = "Xray", protocol = "trojan" }) + +--[[ +ss_transport = s:option(ListValue, "ss_transport", translate("Transport")) +ss_transport:value("ws", "WebSocket") +ss_transport:value("h2", "HTTP/2") +ss_transport:value("h2+ws", "HTTP/2 & WebSocket") +ss_transport:depends({ type = "V2ray", protocol = "shadowsocks" }) +ss_transport:depends({ type = "Xray", protocol = "shadowsocks" }) +]]-- + +-- [[ TCP部分 ]]-- + +-- TCP伪装 +tcp_guise = s:option(ListValue, "tcp_guise", translate("Camouflage Type")) +tcp_guise:value("none", "none") +tcp_guise:value("http", "http") +tcp_guise:depends("transport", "tcp") + +-- HTTP域名 +tcp_guise_http_host = s:option(DynamicList, "tcp_guise_http_host", translate("HTTP Host")) +tcp_guise_http_host:depends("tcp_guise", "http") + +-- HTTP路径 +tcp_guise_http_path = s:option(DynamicList, "tcp_guise_http_path", translate("HTTP Path")) +tcp_guise_http_path:depends("tcp_guise", "http") + +-- [[ mKCP部分 ]]-- + +mkcp_guise = s:option(ListValue, "mkcp_guise", translate("Camouflage Type"), translate('
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)')) +for a, t in ipairs(header_type_list) do mkcp_guise:value(t) end +mkcp_guise:depends("transport", "mkcp") + +mkcp_mtu = s:option(Value, "mkcp_mtu", translate("KCP MTU")) +mkcp_mtu.default = "1350" +mkcp_mtu:depends("transport", "mkcp") + +mkcp_tti = s:option(Value, "mkcp_tti", translate("KCP TTI")) +mkcp_tti.default = "20" +mkcp_tti:depends("transport", "mkcp") + +mkcp_uplinkCapacity = s:option(Value, "mkcp_uplinkCapacity", translate("KCP uplinkCapacity")) +mkcp_uplinkCapacity.default = "5" +mkcp_uplinkCapacity:depends("transport", "mkcp") + +mkcp_downlinkCapacity = s:option(Value, "mkcp_downlinkCapacity", translate("KCP downlinkCapacity")) +mkcp_downlinkCapacity.default = "20" +mkcp_downlinkCapacity:depends("transport", "mkcp") + +mkcp_congestion = s:option(Flag, "mkcp_congestion", translate("KCP Congestion")) +mkcp_congestion:depends("transport", "mkcp") + +mkcp_readBufferSize = s:option(Value, "mkcp_readBufferSize", translate("KCP readBufferSize")) +mkcp_readBufferSize.default = "1" +mkcp_readBufferSize:depends("transport", "mkcp") + +mkcp_writeBufferSize = s:option(Value, "mkcp_writeBufferSize", translate("KCP writeBufferSize")) +mkcp_writeBufferSize.default = "1" +mkcp_writeBufferSize:depends("transport", "mkcp") + +mkcp_seed = s:option(Value, "mkcp_seed", translate("KCP Seed")) +mkcp_seed:depends("transport", "mkcp") + +-- [[ WebSocket部分 ]]-- +ws_host = s:option(Value, "ws_host", translate("WebSocket Host")) +ws_host:depends("transport", "ws") +ws_host:depends("ss_transport", "ws") +ws_host:depends("trojan_transport", "ws") + +ws_path = s:option(Value, "ws_path", translate("WebSocket Path")) +ws_path:depends("transport", "ws") +ws_path:depends("ss_transport", "ws") +ws_path:depends("trojan_transport", "ws") +ws_path:depends({ type = "Brook", brook_protocol = "wsclient" }) + +ws_enableEarlyData = s:option(Flag, "ws_enableEarlyData", translate("Enable early data")) +ws_enableEarlyData:depends("transport", "ws") + +ws_maxEarlyData = s:option(Value, "ws_maxEarlyData", translate("Early data length")) +ws_maxEarlyData.default = "1024" +ws_maxEarlyData:depends("ws_enableEarlyData", true) +function ws_maxEarlyData.cfgvalue(self, section) + return m:get(section, "ws_maxEarlyData") +end +function ws_maxEarlyData.write(self, section, value) + m:set(section, "ws_maxEarlyData", value) +end + +-- [[ HTTP/2部分 ]]-- +h2_host = s:option(Value, "h2_host", translate("HTTP/2 Host")) +h2_host:depends("transport", "h2") +h2_host:depends("ss_transport", "h2") + +h2_path = s:option(Value, "h2_path", translate("HTTP/2 Path")) +h2_path:depends("transport", "h2") +h2_path:depends("ss_transport", "h2") + +h2_health_check = s:option(Flag, "h2_health_check", translate("Health check")) +h2_health_check:depends({ type = "Xray", transport = "h2"}) + +h2_read_idle_timeout = s:option(Value, "h2_read_idle_timeout", translate("Idle timeout")) +h2_read_idle_timeout.default = "10" +h2_read_idle_timeout:depends("h2_health_check", true) + +h2_health_check_timeout = s:option(Value, "h2_health_check_timeout", translate("Health check timeout")) +h2_health_check_timeout.default = "15" +h2_health_check_timeout:depends("h2_health_check", true) + +-- [[ DomainSocket部分 ]]-- +ds_path = s:option(Value, "ds_path", "Path", translate("A legal file path. This file must not exist before running.")) +ds_path:depends("transport", "ds") + +-- [[ QUIC部分 ]]-- +quic_security = s:option(ListValue, "quic_security", translate("Encrypt Method")) +quic_security:value("none") +quic_security:value("aes-128-gcm") +quic_security:value("chacha20-poly1305") +quic_security:depends("transport", "quic") + +quic_key = s:option(Value, "quic_key", translate("Encrypt Method") .. translate("Key")) +quic_key:depends("transport", "quic") + +quic_guise = s:option(ListValue, "quic_guise", translate("Camouflage Type")) +for a, t in ipairs(header_type_list) do quic_guise:value(t) end +quic_guise:depends("transport", "quic") + +-- [[ gRPC部分 ]]-- +grpc_serviceName = s:option(Value, "grpc_serviceName", "ServiceName") +grpc_serviceName:depends("transport", "grpc") + +grpc_mode = s:option(ListValue, "grpc_mode", "gRPC " .. translate("Transfer mode")) +grpc_mode:value("gun") +grpc_mode:value("multi") +grpc_mode:depends({ type = "Xray", transport = "grpc"}) + +grpc_health_check = s:option(Flag, "grpc_health_check", translate("Health check")) +grpc_health_check:depends({ type = "Xray", transport = "grpc"}) + +grpc_idle_timeout = s:option(Value, "grpc_idle_timeout", translate("Idle timeout")) +grpc_idle_timeout.default = "10" +grpc_idle_timeout:depends("grpc_health_check", true) + +grpc_health_check_timeout = s:option(Value, "grpc_health_check_timeout", translate("Health check timeout")) +grpc_health_check_timeout.default = "20" +grpc_health_check_timeout:depends("grpc_health_check", true) + +grpc_permit_without_stream = s:option(Flag, "grpc_permit_without_stream", translate("Permit without stream")) +grpc_permit_without_stream.default = "0" +grpc_permit_without_stream:depends("grpc_health_check", true) + +grpc_initial_windows_size = s:option(Value, "grpc_initial_windows_size", translate("Initial Windows Size")) +grpc_initial_windows_size.default = "0" +grpc_initial_windows_size:depends({ type = "Xray", transport = "grpc"}) + +-- [[ Trojan-Go Shadowsocks2 ]] -- +ss_aead = s:option(Flag, "ss_aead", translate("Shadowsocks secondary encryption")) +ss_aead:depends("type", "Trojan-Go") +ss_aead.default = "0" + +ss_aead_method = s:option(ListValue, "ss_aead_method", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods_ss_aead) do ss_aead_method:value(v, v) end +ss_aead_method.default = "aes-128-gcm" +ss_aead_method:depends("ss_aead", "1") + +ss_aead_pwd = s:option(Value, "ss_aead_pwd", translate("Password")) +ss_aead_pwd.password = true +ss_aead_pwd:depends("ss_aead", "1") + +-- [[ Trojan-Go Mux ]]-- +mux = s:option(Flag, "smux", translate("Smux")) +mux:depends("type", "Trojan-Go") + +-- [[ Mux ]]-- +mux = s:option(Flag, "mux", translate("Mux")) +mux:depends({ type = "V2ray", protocol = "vmess" }) +mux:depends({ type = "V2ray", protocol = "vless", xtls = false }) +mux:depends({ type = "V2ray", protocol = "http" }) +mux:depends({ type = "V2ray", protocol = "socks" }) +mux:depends({ type = "V2ray", protocol = "shadowsocks" }) +mux:depends({ type = "V2ray", protocol = "trojan" }) +mux:depends({ type = "Xray", protocol = "vmess" }) +mux:depends({ type = "Xray", protocol = "vless", xtls = false }) +mux:depends({ type = "Xray", protocol = "http" }) +mux:depends({ type = "Xray", protocol = "socks" }) +mux:depends({ type = "Xray", protocol = "shadowsocks" }) +mux:depends({ type = "Xray", protocol = "trojan" }) + +mux_concurrency = s:option(Value, "mux_concurrency", translate("Mux concurrency")) +mux_concurrency.default = 8 +mux_concurrency:depends("mux", true) +mux_concurrency:depends("smux", true) + +smux_idle_timeout = s:option(Value, "smux_idle_timeout", translate("Mux idle timeout")) +smux_idle_timeout.default = 60 +smux_idle_timeout:depends("smux", true) + +hysteria_up_mbps = s:option(Value, "hysteria_up_mbps", translate("Max upload Mbps")) +hysteria_up_mbps.default = "10" +hysteria_up_mbps:depends("type", "Hysteria") + +hysteria_down_mbps = s:option(Value, "hysteria_down_mbps", translate("Max download Mbps")) +hysteria_down_mbps.default = "50" +hysteria_down_mbps:depends("type", "Hysteria") + +hysteria_recv_window_conn = s:option(Value, "hysteria_recv_window_conn", translate("QUIC stream receive window")) +hysteria_recv_window_conn:depends("type", "Hysteria") + +hysteria_recv_window = s:option(Value, "hysteria_recv_window", translate("QUIC connection receive window")) +hysteria_recv_window:depends("type", "Hysteria") + +hysteria_disable_mtu_discovery = s:option(Flag, "hysteria_disable_mtu_discovery", translate("Disable MTU detection")) +hysteria_disable_mtu_discovery:depends("type", "Hysteria") + +protocol.validate = function(self, value) + if value == "_shunt" or value == "_balancing" then + address.rmempty = true + port.rmempty = true + end + return value +end + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua new file mode 100644 index 00000000..d0f505e4 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua @@ -0,0 +1,151 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local sys = api.sys +local datatypes = api.datatypes + +m = Map(appname) + +-- [[ Other Settings ]]-- +s = m:section(TypedSection, "global_other") +s.anonymous = true + +o = s:option(MultiValue, "nodes_ping", " ") +o:value("auto_ping", translate("Auto Ping"), translate("This will automatically ping the node for latency")) +o:value("tcping", translate("Tcping"), translate("This will use tcping replace ping detection of node")) +o:value("info", translate("Show server address and port"), translate("Show server address and port")) + +-- [[ Add the node via the link ]]-- +s:append(Template(appname .. "/node_list/link_add_node")) + +local nodes_ping = m:get("@global_other[0]", "nodes_ping") or "" + +-- [[ Node List ]]-- +s = m:section(TypedSection, "nodes") +s.anonymous = true +s.addremove = true +s.template = "cbi/tblsection" +s.extedit = api.url("node_config", "%s") +function s.create(e, t) + local uuid = api.gen_uuid() + t = uuid + TypedSection.create(e, t) + luci.http.redirect(e.extedit:format(t)) +end + +function s.remove(e, t) + m.uci:foreach(appname, "socks", function(s) + if s["node"] == t then + m:del(s[".name"]) + end + end) + m.uci:foreach(appname, "haproxy_config", function(s) + if s["lbss"] and s["lbss"] == t then + m:del(s[".name"]) + end + end) + m.uci:foreach(appname, "acl_rule", function(s) + if s["tcp_node"] and s["tcp_node"] == t then + m:set(s[".name"], "tcp_node", "default") + end + if s["udp_node"] and s["udp_node"] == t then + m:set(s[".name"], "udp_node", "default") + end + end) + for k, v in ipairs(m:get("@auto_switch[0]", "tcp_node") or {}) do + if v and v == t then + sys.call(string.format("uci -q del_list %s.@auto_switch[0].tcp_node='%s'", appname, v)) + end + end + TypedSection.remove(e, t) + local new_node = "nil" + local node0 = m:get("@nodes[0]") or nil + if node0 then + new_node = node0[".name"] + end + if (m:get("@global[0]", "tcp_node") or "nil") == t then + m:set('@global[0]', "tcp_node", new_node) + end + if (m:get("@global[0]", "udp_node") or "nil") == t then + m:set('@global[0]', "udp_node", new_node) + end +end + +s.sortable = true +-- 简洁模式 +o = s:option(DummyValue, "add_from", "") +o.cfgvalue = function(t, n) + local v = Value.cfgvalue(t, n) + if v and v ~= '' then + local group = m:get(n, "group") or "" + if group ~= "" then + v = v .. " " .. group + end + return v + else + return '' + end +end +o = s:option(DummyValue, "remarks", translate("Remarks")) +o.rawhtml = true +o.cfgvalue = function(t, n) + local str = "" + local is_sub = m:get(n, "is_sub") or "" + local group = m:get(n, "group") or "" + local remarks = m:get(n, "remarks") or "" + local type = m:get(n, "type") or "" + str = str .. string.format("", appname, n, type) + if type == "V2ray" or type == "Xray" then + local protocol = m:get(n, "protocol") + if protocol == "_balancing" then + protocol = translate("Balancing") + elseif protocol == "_shunt" then + protocol = translate("Shunt") + elseif protocol == "vmess" then + protocol = "VMess" + elseif protocol == "vless" then + protocol = "VLESS" + else + protocol = protocol:gsub("^%l",string.upper) + end + type = type .. " " .. protocol + end + local address = m:get(n, "address") or "" + local port = m:get(n, "port") or "" + str = str .. translate(type) .. ":" .. remarks + if address ~= "" and port ~= "" then + if nodes_ping:find("info") then + if datatypes.ip6addr(address) then + str = str .. string.format("([%s]:%s)", address, port) + else + str = str .. string.format("(%s:%s)", address, port) + end + end + str = str .. string.format("", appname, n, address) + str = str .. string.format("", appname, n, port) + end + return str +end + +---- Ping +o = s:option(DummyValue, "ping") +o.width = "8%" +o.rawhtml = true +o.cfgvalue = function(t, n) + local result = "---" + if not nodes_ping:find("auto_ping") then + result = string.format('Ping', n) + else + result = string.format('---', n) + end + return result +end + +o = s:option(DummyValue, "_url_test") +o.rawhtml = true +o.cfgvalue = function(t, n) + return string.format(' 0 then + o = s:option(ListValue, "ss_aead_type", translate("SS AEAD Node Use Type")) + for key, value in pairs(ss_aead_type) do + o:value(value, translate(value:gsub("^%l",string.upper))) + end +end + +if #trojan_type > 0 then + o = s:option(ListValue, "trojan_type", translate("Trojan Node Use Type")) + for key, value in pairs(trojan_type) do + o:value(value, translate(value:gsub("^%l",string.upper))) + end +end + +---- Subscribe Delete All +o = s:option(Button, "_stop", translate("Delete All Subscribe Node")) +o.inputstyle = "remove" +function o.write(e, e) + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate > /dev/null 2>&1") +end + +o = s:option(Button, "_update", translate("Manual subscription All")) +o.inputstyle = "apply" +function o.write(t, n) + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start > /dev/null 2>&1 &") + luci.http.redirect(api.url("log")) +end + +s = m:section(TypedSection, "subscribe_list", "", "" .. translate("Please input the subscription url first, save and submit before manual subscription.") .. "") +s.addremove = true +s.anonymous = true +s.sortable = true +s.template = "cbi/tblsection" +s.extedit = api.url("node_subscribe_config", "%s") +function s.create(e, t) + local id = TypedSection.create(e, t) + luci.http.redirect(e.extedit:format(id)) +end + +o = s:option(Value, "remark", translate("Remarks")) +o.width = "auto" +o.rmempty = false +o.validate = function(self, value, t) + if value then + local count = 0 + m.uci:foreach(appname, "subscribe_list", function(e) + if e[".name"] ~= t and e["remark"] == value then + count = count + 1 + end + end) + if count > 0 then + return nil, translate("This remark already exists, please change a new remark.") + end + return value + end +end + +o = s:option(DummyValue, "_node_count") +o.rawhtml = true +o.cfgvalue = function(t, n) + local remark = m:get(n, "remark") or "" + local num = 0 + m.uci:foreach(appname, "nodes", function(s) + if s["add_from"] ~= "" and s["add_from"] == remark then + num = num + 1 + end + end) + return string.format("%s", remark .. " " .. translate("Node num") .. ": " .. num, num) +end + +o = s:option(Value, "url", translate("Subscribe URL")) +o.width = "auto" +o.rmempty = false + +o = s:option(Button, "_remove", translate("Delete the subscribed node")) +o.inputstyle = "remove" +function o.write(t, n) + local remark = m:get(n, "remark") or "" + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate " .. remark .. " > /dev/null 2>&1") +end + +o = s:option(Button, "_update", translate("Manual subscription")) +o.inputstyle = "apply" +function o.write(t, n) + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. n .. " > /dev/null 2>&1 &") + luci.http.redirect(api.url("log")) +end + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua new file mode 100644 index 00000000..402ba48e --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua @@ -0,0 +1,110 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local sys = api.sys +local has_ss = api.is_finded("ss-redir") +local has_ss_rust = api.is_finded("sslocal") +local has_trojan_plus = api.is_finded("trojan-plus") +local has_v2ray = api.is_finded("v2ray") +local has_xray = api.is_finded("xray") +local has_trojan_go = api.is_finded("trojan-go") +local ss_aead_type = {} +local trojan_type = {} +if has_ss then + ss_aead_type[#ss_aead_type + 1] = "shadowsocks-libev" +end +if has_ss_rust then + ss_aead_type[#ss_aead_type + 1] = "shadowsocks-rust" +end +if has_trojan_plus then + trojan_type[#trojan_type + 1] = "trojan-plus" +end +if has_v2ray then + trojan_type[#trojan_type + 1] = "v2ray" + ss_aead_type[#ss_aead_type + 1] = "v2ray" +end +if has_xray then + trojan_type[#trojan_type + 1] = "xray" + ss_aead_type[#ss_aead_type + 1] = "xray" +end +if has_trojan_go then + trojan_type[#trojan_type + 1] = "trojan-go" +end + +m = Map(appname) +m.redirect = api.url("node_subscribe") + +s = m:section(NamedSection, arg[1]) +s.addremove = false +s.dynamic = false + +o = s:option(Value, "remark", translate("Subscribe Remark")) +o.rmempty = false + +o = s:option(TextValue, "url", translate("Subscribe URL")) +o.rows = 5 +o.rmempty = false + +o = s:option(Flag, "allowInsecure", translate("allowInsecure"), translate("Whether unsafe connections are allowed. When checked, Certificate validation will be skipped.")) +o.default = "1" +o.rmempty = false + +o = s:option(ListValue, "filter_keyword_mode", translate("Filter keyword Mode")) +o.default = "5" +o:value("0", translate("Close")) +o:value("1", translate("Discard List")) +o:value("2", translate("Keep List")) +o:value("3", translate("Discard List,But Keep List First")) +o:value("4", translate("Keep List,But Discard List First")) +o:value("5", translate("Use global config")) + +o = s:option(DynamicList, "filter_discard_list", translate("Discard List")) +o:depends("filter_keyword_mode", "1") +o:depends("filter_keyword_mode", "3") +o:depends("filter_keyword_mode", "4") + +o = s:option(DynamicList, "filter_keep_list", translate("Keep List")) +o:depends("filter_keyword_mode", "2") +o:depends("filter_keyword_mode", "3") +o:depends("filter_keyword_mode", "4") + +if #ss_aead_type > 0 then + o = s:option(ListValue, "ss_aead_type", translate("SS AEAD Node Use Type")) + o.default = "global" + o:value("global", translate("Use global config")) + for key, value in pairs(ss_aead_type) do + o:value(value, translate(value:gsub("^%l",string.upper))) + end +end + +if #trojan_type > 0 then + o = s:option(ListValue, "trojan_type", translate("Trojan Node Use Type")) + o.default = "global" + o:value("global", translate("Use global config")) + for key, value in pairs(trojan_type) do + o:value(value, translate(value:gsub("^%l",string.upper))) + end +end + +---- Enable auto update subscribe +o = s:option(Flag, "auto_update", translate("Enable auto update subscribe")) +o.default = 0 +o.rmempty = false + +---- Week update rules +o = s:option(ListValue, "week_update", translate("Week update rules")) +o:value(7, translate("Every day")) +for e = 1, 6 do o:value(e, translate("Week") .. e) end +o:value(0, translate("Week") .. translate("day")) +o.default = 0 +o:depends("auto_update", true) + +---- Day update rules +o = s:option(ListValue, "time_update", translate("Day update rules")) +for e = 0, 23 do o:value(e, e .. translate("oclock")) end +o.default = 0 +o:depends("auto_update", true) + +o = s:option(Value, "user_agent", translate("User-Agent")) +o.default = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36" + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua new file mode 100644 index 00000000..1436cbbe --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua @@ -0,0 +1,148 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local fs = api.fs + +m = Map(appname) + +-- [[ Delay Settings ]]-- +s = m:section(TypedSection, "global_delay", translate("Delay Settings")) +s.anonymous = true +s.addremove = false + +---- Delay Start +o = s:option(Value, "start_delay", translate("Delay Start"), + translate("Units:seconds")) +o.default = "1" +o.rmempty = true + +---- Open and close Daemon +o = s:option(Flag, "start_daemon", translate("Open and close Daemon")) +o.default = 1 +o.rmempty = false + +--[[ +---- Open and close automatically +o = s:option(Flag, "auto_on", translate("Open and close automatically")) +o.default = 0 +o.rmempty = false + +---- Automatically turn off time +o = s:option(ListValue, "time_off", translate("Automatically turn off time")) +o.default = nil +o:depends("auto_on", true) +o:value(nil, translate("Disable")) +for e = 0, 23 do o:value(e, e .. translate("oclock")) end + +---- Automatically turn on time +o = s:option(ListValue, "time_on", translate("Automatically turn on time")) +o.default = nil +o:depends("auto_on", true) +o:value(nil, translate("Disable")) +for e = 0, 23 do o:value(e, e .. translate("oclock")) end + +---- Automatically restart time +o = s:option(ListValue, "time_restart", translate("Automatically restart time")) +o.default = nil +o:depends("auto_on", true) +o:value(nil, translate("Disable")) +for e = 0, 23 do o:value(e, e .. translate("oclock")) end +--]] + +-- [[ Forwarding Settings ]]-- +s = m:section(TypedSection, "global_forwarding", + translate("Forwarding Settings")) +s.anonymous = true +s.addremove = false + +---- TCP No Redir Ports +o = s:option(Value, "tcp_no_redir_ports", translate("TCP No Redir Ports")) +o.default = "disable" +o:value("disable", translate("No patterns are used")) +o:value("1:65535", translate("All")) + +---- UDP No Redir Ports +o = s:option(Value, "udp_no_redir_ports", translate("UDP No Redir Ports"), + "" .. translate( + "Fill in the ports you don't want to be forwarded by the agent, with the highest priority.") .. + "") +o.default = "disable" +o:value("disable", translate("No patterns are used")) +o:value("1:65535", translate("All")) + +---- TCP Proxy Drop Ports +o = s:option(Value, "tcp_proxy_drop_ports", translate("TCP Proxy Drop Ports")) +o.default = "disable" +o:value("disable", translate("No patterns are used")) + +---- UDP Proxy Drop Ports +o = s:option(Value, "udp_proxy_drop_ports", translate("UDP Proxy Drop Ports")) +o.default = "80,443" +o:value("disable", translate("No patterns are used")) +o:value("80,443", translate("QUIC")) + +---- TCP Redir Ports +o = s:option(Value, "tcp_redir_ports", translate("TCP Redir Ports")) +o.default = "22,25,53,143,465,587,853,993,995,80,443" +o:value("1:65535", translate("All")) +o:value("22,25,53,143,465,587,853,993,995,80,443", translate("Common Use")) +o:value("80,443", translate("Only Web")) +o:value("80:65535", "80 " .. translate("or more")) +o:value("1:443", "443 " .. translate("or less")) + +---- UDP Redir Ports +o = s:option(Value, "udp_redir_ports", translate("UDP Redir Ports")) +o.default = "1:65535" +o:value("1:65535", translate("All")) +o:value("53", "DNS") + +if os.execute("lsmod | grep -i REDIRECT >/dev/null") == 0 and os.execute("lsmod | grep -i TPROXY >/dev/null") == 0 then + o = s:option(ListValue, "tcp_proxy_way", translate("TCP Proxy Way")) + o.default = "redirect" + o:value("redirect", "REDIRECT") + o:value("tproxy", "TPROXY") + o:depends("ipv6_tproxy", false) + + o = s:option(ListValue, "_tcp_proxy_way", translate("TCP Proxy Way")) + o.default = "tproxy" + o:value("tproxy", "TPROXY") + o:depends("ipv6_tproxy", true) + o.write = function(self, section, value) + return self.map:set(section, "tcp_proxy_way", value) + end + + if os.execute("lsmod | grep -i ip6table_mangle >/dev/null") == 0 then + ---- IPv6 TProxy + o = s:option(Flag, "ipv6_tproxy", translate("IPv6 TProxy"), + "" .. translate( + "Experimental feature. Make sure that your node supports IPv6.") .. + "") + o.default = 0 + o.rmempty = false + end +end + +o = s:option(Flag, "accept_icmp", translate("Hijacking ICMP (PING)")) +o.default = 0 + +o = s:option(Flag, "accept_icmpv6", translate("Hijacking ICMPv6 (IPv6 PING)")) +o:depends("ipv6_tproxy", true) +o.default = 0 + +o = s:option(Flag, "sniffing", translate("Sniffing (V2Ray/Xray)"), translate("When using the V2ray/Xray shunt, must be enabled, otherwise the shunt will invalid.")) +o.default = 1 +o.rmempty = false + +o = s:option(Flag, "route_only", translate("Sniffing Route Only (Xray)"), translate("When enabled, the server not will resolve the domain name again.")) +o.default = 0 +o:depends("sniffing", true) + +local domains_excluded = string.format("/usr/share/%s/rules/domains_excluded", appname) +o = s:option(TextValue, "no_sniffing_hosts", translate("No Sniffing Lists"), translate("Hosts added into No Sniffing Lists will not resolve again on server (Xray only).")) +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(domains_excluded) or "" end +o.write = function(self, section, value) fs.writefile(domains_excluded, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(domains_excluded, "") end +o:depends({sniffing = true, route_only = false}) + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua new file mode 100644 index 00000000..1303ce6f --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua @@ -0,0 +1,91 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local has_v2ray = api.is_finded("v2ray") +local has_xray = api.is_finded("xray") + +m = Map(appname) +-- [[ Rule Settings ]]-- +s = m:section(TypedSection, "global_rules", translate("Rule status")) +s.anonymous = true + +--[[ +o = s:option(Flag, "adblock", translate("Enable adblock")) +o.rmempty = false +]]-- + +---- gfwlist URL +o = s:option(DynamicList, "gfwlist_url", translate("GFW domains(gfwlist) Update URL")) +o:value("https://cdn.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt", translate("v2fly/domain-list-community")) +o:value("https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt", translate("Loyalsoldier/v2ray-rules-dat")) +o:value("https://cdn.jsdelivr.net/gh/Loukky/gfwlist-by-loukky/gfwlist.txt", translate("Loukky/gfwlist-by-loukky")) +o:value("https://cdn.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt", translate("gfwlist/gfwlist")) +o.default = "https://cdn.jsdelivr.net/gh/Loukky/gfwlist-by-loukky/gfwlist.txt" + +----chnroute URL +o = s:option(DynamicList, "chnroute_url", translate("China IPs(chnroute) Update URL")) +o:value("https://ispip.clang.cn/all_cn.txt", translate("Clang.CN")) +o:value("https://ispip.clang.cn/all_cn_cidr.txt", translate("Clang.CN.CIDR")) +o:value("https://cdn.jsdelivr.net/gh/soffchen/GeoIP2-CN@release/CN-ip-cidr.txt", translate("soffchen/GeoIP2-CN")) +o:value("https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/CN-ip-cidr.txt", translate("Hackl0us/GeoIP2-CN")) +o.default = "https://ispip.clang.cn/all_cn.txt" + +----chnroute6 URL +o = s:option(DynamicList, "chnroute6_url", translate("China IPv6s(chnroute6) Update URL")) +o:value("https://ispip.clang.cn/all_cn_ipv6.txt", translate("Clang.CN.IPv6")) +o.default = "https://ispip.clang.cn/all_cn_ipv6.txt" + +----chnlist URL +o = s:option(DynamicList, "chnlist_url", translate("China List(Chnlist) Update URL")) +o:value("https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/accelerated-domains.china.conf", translate("felixonmars/domains.china")) +o:value("https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/apple.china.conf", translate("felixonmars/apple.china")) +o:value("https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/google.china.conf", translate("felixonmars/google.china")) + +s:append(Template(appname .. "/rule/rule_version")) + +---- Auto Update +o = s:option(Flag, "auto_update", translate("Enable auto update rules")) +o.default = 0 +o.rmempty = false + +---- Week Update +o = s:option(ListValue, "week_update", translate("Week update rules")) +o:value(7, translate("Every day")) +for e = 1, 6 do o:value(e, translate("Week") .. e) end +o:value(0, translate("Week") .. translate("day")) +o.default = 0 +o:depends("auto_update", true) + +---- Time Update +o = s:option(ListValue, "time_update", translate("Day update rules")) +for e = 0, 23 do o:value(e, e .. translate("oclock")) end +o.default = 0 +o:depends("auto_update", true) + +if has_v2ray or has_xray then + o = s:option(Value, "v2ray_location_asset", translate("Location of V2ray/Xray asset"), translate("This variable specifies a directory where geoip.dat and geosite.dat files are.")) + o.default = "/usr/share/v2ray/" + o.rmempty = false + + s = m:section(TypedSection, "shunt_rules", "V2ray/Xray " .. translate("Shunt Rule"), "" .. translate("Please note attention to the priority, the higher the order, the higher the priority.") .. "") + s.template = "cbi/tblsection" + s.anonymous = false + s.addremove = true + s.sortable = true + s.extedit = api.url("shunt_rules", "%s") + function s.create(e, t) + TypedSection.create(e, t) + luci.http.redirect(e.extedit:format(t)) + end + function s.remove(e, t) + m.uci:foreach(appname, "nodes", function(s) + if s["protocol"] and s["protocol"] == "_shunt" then + m:del(s[".name"], t) + end + end) + TypedSection.remove(e, t) + end + + o = s:option(DummyValue, "remarks", translate("Remarks")) +end + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua new file mode 100644 index 00000000..b2bfdf7e --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua @@ -0,0 +1,205 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local fs = api.fs +local datatypes = api.datatypes +local path = string.format("/usr/share/%s/rules/", appname) +local route_hosts_path = "/etc/" + +m = Map(appname) + +-- [[ Rule List Settings ]]-- +s = m:section(TypedSection, "global_rules") +s.anonymous = true + +s:tab("direct_list", translate("Direct List")) +s:tab("proxy_list", translate("Proxy List")) +s:tab("block_list", translate("Block List")) +s:tab("lan_ip_list", translate("Lan IP List")) +s:tab("route_hosts", translate("Route Hosts")) + +---- Direct Hosts +local direct_host = path .. "direct_host" +o = s:taboption("direct_list", TextValue, "direct_host", "", "" .. translate("Join the direct hosts list of domain names will not proxy.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(direct_host) or "" end +o.write = function(self, section, value) fs.writefile(direct_host, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(direct_host, "") end +o.validate = function(self, value) + local hosts= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(hosts, w) end) + for index, host in ipairs(hosts) do + if host:find("#") and host:find("#") == 1 then + return value + end + if not datatypes.hostname(host) then + return nil, host .. " " .. translate("Not valid domain name, please re-enter!") + end + end + return value +end + +---- Direct IP +local direct_ip = path .. "direct_ip" +o = s:taboption("direct_list", TextValue, "direct_ip", "", "" .. translate("These had been joined ip addresses will not proxy. Please input the ip address or ip address segment,every line can input only one ip address. For example: 192.168.0.0/24 or 223.5.5.5.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(direct_ip) or "" end +o.write = function(self, section, value) fs.writefile(direct_ip, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(direct_ip, "") end +o.validate = function(self, value) + local ipmasks= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end) + for index, ipmask in ipairs(ipmasks) do + if ipmask:find("#") and ipmask:find("#") == 1 then + return value + end + if not ( datatypes.ipmask4(ipmask) or datatypes.ipmask6(ipmask) ) then + return nil, ipmask .. " " .. translate("Not valid IP format, please re-enter!") + end + end + return value +end + +---- Proxy Hosts +local proxy_host = path .. "proxy_host" +o = s:taboption("proxy_list", TextValue, "proxy_host", "", "" .. translate("These had been joined websites will use proxy. Please input the domain names of websites, every line can input only one website domain. For example: google.com.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(proxy_host) or "" end +o.write = function(self, section, value) fs.writefile(proxy_host, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(proxy_host, "") end +o.validate = function(self, value) + local hosts= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(hosts, w) end) + for index, host in ipairs(hosts) do + if host:find("#") and host:find("#") == 1 then + return value + end + if not datatypes.hostname(host) then + return nil, host .. " " .. translate("Not valid domain name, please re-enter!") + end + end + return value +end + +---- Proxy IP +local proxy_ip = path .. "proxy_ip" +o = s:taboption("proxy_list", TextValue, "proxy_ip", "", "" .. translate("These had been joined ip addresses will use proxy. Please input the ip address or ip address segment, every line can input only one ip address. For example: 35.24.0.0/24 or 8.8.4.4.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(proxy_ip) or "" end +o.write = function(self, section, value) fs.writefile(proxy_ip, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(proxy_ip, "") end +o.validate = function(self, value) + local ipmasks= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end) + for index, ipmask in ipairs(ipmasks) do + if ipmask:find("#") and ipmask:find("#") == 1 then + return value + end + if not ( datatypes.ipmask4(ipmask) or datatypes.ipmask6(ipmask) ) then + return nil, ipmask .. " " .. translate("Not valid IP format, please re-enter!") + end + end + return value +end + +---- Block Hosts +local block_host = path .. "block_host" +o = s:taboption("block_list", TextValue, "block_host", "", "" .. translate("These had been joined websites will be block. Please input the domain names of websites, every line can input only one website domain. For example: twitter.com.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(block_host) or "" end +o.write = function(self, section, value) fs.writefile(block_host, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(block_host, "") end +o.validate = function(self, value) + local hosts= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(hosts, w) end) + for index, host in ipairs(hosts) do + if host:find("#") and host:find("#") == 1 then + return value + end + if not datatypes.hostname(host) then + return nil, host .. " " .. translate("Not valid domain name, please re-enter!") + end + end + return value +end + +---- Block IP +local block_ip = path .. "block_ip" +o = s:taboption("block_list", TextValue, "block_ip", "", "" .. translate("These had been joined ip addresses will be block. Please input the ip address or ip address segment, every line can input only one ip address.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(block_ip) or "" end +o.write = function(self, section, value) fs.writefile(block_ip, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(block_ip, "") end +o.validate = function(self, value) + local ipmasks= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end) + for index, ipmask in ipairs(ipmasks) do + if ipmask:find("#") and ipmask:find("#") == 1 then + return value + end + if not ( datatypes.ipmask4(ipmask) or datatypes.ipmask6(ipmask) ) then + return nil, ipmask .. " " .. translate("Not valid IP format, please re-enter!") + end + end + return value +end + +---- Lan IPv4 +local lanlist_ipv4 = path .. "lanlist_ipv4" +o = s:taboption("lan_ip_list", TextValue, "lanlist_ipv4", "", "" .. translate("The list is the IPv4 LAN IP list, which represents the direct connection IP of the LAN. If you need the LAN IP in the proxy list, please clear it from the list. Do not modify this list by default.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(lanlist_ipv4) or "" end +o.write = function(self, section, value) fs.writefile(lanlist_ipv4, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(lanlist_ipv4, "") end +o.validate = function(self, value) + local ipmasks= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end) + for index, ipmask in ipairs(ipmasks) do + if ipmask:find("#") and ipmask:find("#") == 1 then + return value + end + if not datatypes.ipmask4(ipmask) then + return nil, ipmask .. " " .. translate("Not valid IPv4 format, please re-enter!") + end + end + return value +end + +---- Lan IPv6 +local lanlist_ipv6 = path .. "lanlist_ipv6" +o = s:taboption("lan_ip_list", TextValue, "lanlist_ipv6", "", "" .. translate("The list is the IPv6 LAN IP list, which represents the direct connection IP of the LAN. If you need the LAN IP in the proxy list, please clear it from the list. Do not modify this list by default.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(lanlist_ipv6) or "" end +o.write = function(self, section, value) fs.writefile(lanlist_ipv6, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(lanlist_ipv6, "") end +o.validate = function(self, value) + local ipmasks= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end) + for index, ipmask in ipairs(ipmasks) do + if ipmask:find("#") and ipmask:find("#") == 1 then + return value + end + if not datatypes.ipmask6(ipmask) then + return nil, ipmask .. " " .. translate("Not valid IPv6 format, please re-enter!") + end + end + return value +end + +---- Route Hosts +local hosts = route_hosts_path .. "hosts" +o = s:taboption("route_hosts", TextValue, "hosts", "", "" .. translate("Configure routing etc/hosts file, if you don't know what you are doing, please don't change the content.") .. "") +o.rows = 15 +o.wrap = "off" +o.cfgvalue = function(self, section) return fs.readfile(hosts) or "" end +o.write = function(self, section, value) fs.writefile(hosts, value:gsub("\r\n", "\n")) end +o.remove = function(self, section, value) fs.writefile(hosts, "") end + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua new file mode 100644 index 00000000..b2e9a8fa --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua @@ -0,0 +1,79 @@ +local api = require "luci.model.cbi.passwall.api.api" +local appname = api.appname +local datatypes = api.datatypes + +m = Map(appname, "V2ray/Xray " .. translate("Shunt Rule")) +m.redirect = api.url() + +s = m:section(NamedSection, arg[1], "shunt_rules", "") +s.addremove = false +s.dynamic = false + +remarks = s:option(Value, "remarks", translate("Remarks")) +remarks.default = arg[1] +remarks.rmempty = false + +protocol = s:option(MultiValue, "protocol", translate("Protocol")) +protocol:value("http") +protocol:value("tls") +protocol:value("bittorrent") + +domain_list = s:option(TextValue, "domain_list", translate("Domain")) +domain_list.rows = 10 +domain_list.wrap = "off" +domain_list.validate = function(self, value) + local hosts= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(hosts, w) end) + for index, host in ipairs(hosts) do + local flag = 1 + local tmp_host = host + if host:find("regexp:") and host:find("regexp:") == 1 then + flag = 0 + elseif host:find("domain:.") and host:find("domain:.") == 1 then + tmp_host = host:gsub("domain:", "") + elseif host:find("full:.") and host:find("full:.") == 1 then + tmp_host = host:gsub("full:", "") + elseif host:find("geosite:") and host:find("geosite:") == 1 then + flag = 0 + elseif host:find("ext:") and host:find("ext:") == 1 then + flag = 0 + end + if flag == 1 then + if not datatypes.hostname(tmp_host) then + return nil, tmp_host .. " " .. translate("Not valid domain name, please re-enter!") + end + end + end + return value +end +domain_list.description = "
  • " .. translate("Plaintext: If this string matches any part of the targeting domain, this rule takes effet. Example: rule 'sina.com' matches targeting domain 'sina.com', 'sina.com.cn' and 'www.sina.com', but not 'sina.cn'.") +.. "
  • " .. translate("Regular expression: Begining with 'regexp:', the rest is a regular expression. When the regexp matches targeting domain, this rule takes effect. Example: rule 'regexp:\\.goo.*\\.com$' matches 'www.google.com' and 'fonts.googleapis.com', but not 'google.com'.") +.. "
  • " .. translate("Subdomain (recommended): Begining with 'domain:' and the rest is a domain. When the targeting domain is exactly the value, or is a subdomain of the value, this rule takes effect. Example: rule 'domain:v2ray.com' matches 'www.v2ray.com', 'v2ray.com', but not 'xv2ray.com'.") +.. "
  • " .. translate("Full domain: Begining with 'full:' and the rest is a domain. When the targeting domain is exactly the value, the rule takes effect. Example: rule 'domain:v2ray.com' matches 'v2ray.com', but not 'www.v2ray.com'.") +.. "
  • " .. translate("Pre-defined domain list: Begining with 'geosite:' and the rest is a name, such as geosite:google or geosite:cn.") +.. "
  • " .. translate("Domains from file: Such as 'ext:file:tag'. The value must begin with ext: (lowercase), and followed by filename and tag. The file is placed in resource directory, and has the same format of geosite.dat. The tag must exist in the file.") +.. "
" +ip_list = s:option(TextValue, "ip_list", "IP") +ip_list.rows = 10 +ip_list.wrap = "off" +ip_list.validate = function(self, value) + local ipmasks= {} + string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end) + for index, ipmask in ipairs(ipmasks) do + if ipmask:find("geoip:") and ipmask:find("geoip:") == 1 then + elseif ipmask:find("ext:") and ipmask:find("ext:") == 1 then + else + if not (datatypes.ipmask4(ipmask) or datatypes.ipmask6(ipmask)) then + return nil, ipmask .. " " .. translate("Not valid IP format, please re-enter!") + end + end + end + return value +end +ip_list.description = "
  • " .. translate("IP: such as '127.0.0.1'.") +.. "
  • " .. translate("CIDR: such as '127.0.0.0/8'.") +.. "
  • " .. translate("GeoIP: such as 'geoip:cn'. It begins with geoip: (lower case) and followed by two letter of country code.") +.. "
  • " .. translate("IPs from file: Such as 'ext:file:tag'. The value must begin with ext: (lowercase), and followed by filename and tag. The file is placed in resource directory, and has the same format of geoip.dat. The tag must exist in the file.") +.. "
" + +return m diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/api/app.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/app.lua new file mode 100755 index 00000000..a61412fb --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/app.lua @@ -0,0 +1,197 @@ +#!/usr/bin/lua + +local action = arg[1] +local api = require "luci.model.cbi.passwall.api.api" +local sys = api.sys +local uci = api.uci +local jsonc = api.jsonc + +local CONFIG = "passwall_server" +local CONFIG_PATH = "/tmp/etc/" .. CONFIG +local LOG_APP_FILE = "/tmp/log/" .. CONFIG .. ".log" +local TMP_BIN_PATH = CONFIG_PATH .. "/bin" +local require_dir = "luci.model.cbi.passwall.server.api." + +local ipt_bin = sys.exec("echo -n $(/usr/share/passwall/iptables.sh get_ipt_bin)") +local ip6t_bin = sys.exec("echo -n $(/usr/share/passwall/iptables.sh get_ip6t_bin)") + +local function log(...) + local f, err = io.open(LOG_APP_FILE, "a") + if f and err == nil then + local str = os.date("%Y-%m-%d %H:%M:%S: ") .. table.concat({...}, " ") + f:write(str .. "\n") + f:close() + end +end + +local function cmd(cmd) + sys.call(cmd) +end + +local function ipt(arg) + cmd(ipt_bin .. " -w " .. arg) +end + +local function ip6t(arg) + cmd(ip6t_bin .. " -w " .. arg) +end + +local function ln_run(s, d, command, output) + if not output then + output = "/dev/null" + end + d = TMP_BIN_PATH .. "/" .. d + cmd(string.format('[ ! -f "%s" ] && ln -s %s %s 2>/dev/null', d, s, d)) + return string.format("%s >%s 2>&1 &", d .. " " ..command, output) +end + +local function gen_include() + cmd(string.format("echo '#!/bin/sh' > /tmp/etc/%s.include", CONFIG)) + local function extract_rules(n, a) + local _ipt = ipt_bin + if n == "6" then + _ipt = ip6t_bin + end + local result = "*" .. a + result = result .. "\n" .. sys.exec(_ipt .. '-save -t ' .. a .. ' | grep "PSW-SERVER" | sed -e "s/^-A \\(INPUT\\)/-I \\1 1/"') + result = result .. "COMMIT" + return result + end + local f, err = io.open("/tmp/etc/" .. CONFIG .. ".include", "a") + if f and err == nil then + f:write(ipt_bin .. '-save -c | grep -v "PSW-SERVER" | ' .. ipt_bin .. '-restore -c' .. "\n") + f:write(ipt_bin .. '-restore -n <<-EOT' .. "\n") + f:write(extract_rules("4", "filter") .. "\n") + f:write("EOT" .. "\n") + f:write(ip6t_bin .. '-save -c | grep -v "PSW-SERVER" | ' .. ip6t_bin .. '-restore -c' .. "\n") + f:write(ip6t_bin .. '-restore -n <<-EOT' .. "\n") + f:write(extract_rules("6", "filter") .. "\n") + f:write("EOT" .. "\n") + f:close() + end +end + +local function start() + local enabled = tonumber(uci:get(CONFIG, "@global[0]", "enable") or 0) + if enabled == nil or enabled == 0 then + return + end + cmd(string.format("mkdir -p %s %s", CONFIG_PATH, TMP_BIN_PATH)) + cmd(string.format("touch %s", LOG_APP_FILE)) + ipt("-N PSW-SERVER") + ipt("-I INPUT -j PSW-SERVER") + ip6t("-N PSW-SERVER") + ip6t("-I INPUT -j PSW-SERVER") + uci:foreach(CONFIG, "user", function(user) + local id = user[".name"] + local enable = user.enable + if enable and tonumber(enable) == 1 then + local enable_log = user.log + local log_path = nil + if enable_log and enable_log == "1" then + log_path = CONFIG_PATH .. "/" .. id .. ".log" + else + log_path = nil + end + local remarks = user.remarks + local port = tonumber(user.port) + local bin + local config = {} + local config_file = CONFIG_PATH .. "/" .. id .. ".json" + local udp_forward = 1 + local type = user.type or "" + if type == "Socks" then + local auth = "" + if user.auth and user.auth == "1" then + local username = user.username or "" + local password = user.password or "" + if username ~= "" and password ~= "" then + username = "-u " .. username + password = "-P " .. password + auth = username .. " " .. password + end + end + bin = ln_run("/usr/bin/microsocks", "microsocks_" .. id, string.format("-i :: -p %s %s", port, auth), log_path) + elseif type == "SS" or type == "SSR" then + config = require(require_dir .. "shadowsocks").gen_config(user) + local udp_param = "" + udp_forward = tonumber(user.udp_forward) or 1 + if udp_forward == 1 then + udp_param = "-u" + end + type = type:lower() + bin = ln_run("/usr/bin/" .. type .. "-server", type .. "-server", "-c " .. config_file .. " " .. udp_param, log_path) + elseif type == "V2ray" then + config = require(require_dir .. "v2ray").gen_config(user) + bin = ln_run(api.get_v2ray_path(), "v2ray", "-config=" .. config_file, log_path) + elseif type == "Xray" then + config = require(require_dir .. "v2ray").gen_config(user) + bin = ln_run(api.get_xray_path(), "xray", "-config=" .. config_file, log_path) + elseif type == "Trojan" then + config = require(require_dir .. "trojan").gen_config(user) + bin = ln_run("/usr/sbin/trojan", "trojan", "-c " .. config_file, log_path) + elseif type == "Trojan-Plus" then + config = require(require_dir .. "trojan").gen_config(user) + bin = ln_run("/usr/sbin/trojan-plus", "trojan-plus", "-c " .. config_file, log_path) + elseif type == "Trojan-Go" then + config = require(require_dir .. "trojan").gen_config(user) + bin = ln_run(api.get_trojan_go_path(), "trojan-go", "-config " .. config_file, log_path) + elseif type == "Brook" then + local brook_protocol = user.protocol + local brook_password = user.password + local brook_path = user.ws_path or "/ws" + local brook_path_arg = "" + if brook_protocol == "wsserver" and brook_path then + brook_path_arg = " --path " .. brook_path + end + bin = ln_run(api.get_brook_path(), "brook_" .. id, string.format("--debug %s -l :%s -p %s%s", brook_protocol, port, brook_password, brook_path_arg), log_path) + elseif type == "Hysteria" then + config = require(require_dir .. "hysteria").gen_config(user) + bin = ln_run(api.get_hysteria_path(), "hysteria", "-c " .. config_file .. " server", log_path) + end + + if next(config) then + local f, err = io.open(config_file, "w") + if f and err == nil then + f:write(jsonc.stringify(config, 1)) + f:close() + end + log(string.format("%s %s 生成配置文件并运行 - %s", remarks, port, config_file)) + end + + if bin then + cmd(bin) + end + + local bind_local = user.bind_local or 0 + if bind_local and tonumber(bind_local) ~= 1 then + ipt(string.format('-A PSW-SERVER -p tcp --dport %s -m comment --comment "%s" -j ACCEPT', port, remarks)) + ip6t(string.format('-A PSW-SERVER -p tcp --dport %s -m comment --comment "%s" -j ACCEPT', port, remarks)) + if udp_forward == 1 then + ipt(string.format('-A PSW-SERVER -p udp --dport %s -m comment --comment "%s" -j ACCEPT', port, remarks)) + ip6t(string.format('-A PSW-SERVER -p udp --dport %s -m comment --comment "%s" -j ACCEPT', port, remarks)) + end + end + end + end) + gen_include() +end + +local function stop() + cmd(string.format("top -bn1 | grep -v 'grep' | grep '%s/' | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1", CONFIG_PATH)) + ipt("-D INPUT -j PSW-SERVER 2>/dev/null") + ipt("-F PSW-SERVER 2>/dev/null") + ipt("-X PSW-SERVER 2>/dev/null") + ip6t("-D INPUT -j PSW-SERVER 2>/dev/null") + ip6t("-F PSW-SERVER 2>/dev/null") + ip6t("-X PSW-SERVER 2>/dev/null") + cmd(string.format("rm -rf %s %s /tmp/etc/%s.include", CONFIG_PATH, LOG_APP_FILE, CONFIG)) +end + +if action then + if action == "start" then + start() + elseif action == "stop" then + stop() + end +end \ No newline at end of file diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/api/hysteria.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/hysteria.lua new file mode 100644 index 00000000..0fdf8939 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/hysteria.lua @@ -0,0 +1,24 @@ +module("luci.model.cbi.passwall.server.api.hysteria", package.seeall) +function gen_config(user) + local config = { + listen = ":" .. user.port, + protocol = user.protocol or "udp", + obfs = user.hysteria_obfs, + cert = user.tls_certificateFile, + key = user.tls_keyFile, + auth = (user.hysteria_auth_type == "string") and { + mode = "password", + config = { + password = user.hysteria_auth_password + } + } or nil, + disable_udp = (user.hysteria_udp == "0") and true or false, + alpn = user.hysteria_alpn or nil, + up_mbps = tonumber(user.hysteria_up_mbps) or 10, + down_mbps = tonumber(user.hysteria_down_mbps) or 50, + recv_window_conn = (user.hysteria_recv_window_conn) and tonumber(user.hysteria_recv_window_conn) or nil, + recv_window = (user.hysteria_recv_window) and tonumber(user.hysteria_recv_window) or nil, + disable_mtu_discovery = (user.hysteria_disable_mtu_discovery) and true or false + } + return config +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/api/shadowsocks.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/shadowsocks.lua new file mode 100644 index 00000000..fdd18e0e --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/shadowsocks.lua @@ -0,0 +1,19 @@ +module("luci.model.cbi.passwall.server.api.shadowsocks", package.seeall) +function gen_config(user) + local config = {} + config.server = {"[::0]", "0.0.0.0"} + config.server_port = tonumber(user.port) + config.password = user.password + config.timeout = tonumber(user.timeout) + config.fast_open = (user.tcp_fast_open and user.tcp_fast_open == "1") and true or false + config.method = user.method + + if user.type == "SSR" then + config.protocol = user.protocol + config.protocol_param = user.protocol_param + config.obfs = user.obfs + config.obfs_param = user.obfs_param + end + + return config +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua new file mode 100644 index 00000000..466d1204 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua @@ -0,0 +1,61 @@ +module("luci.model.cbi.passwall.server.api.trojan", package.seeall) +function gen_config(user) + local cipher = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA" + local cipher13 = "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384" + local config = { + run_type = "server", + local_addr = "::", + local_port = tonumber(user.port), + remote_addr = (user.remote_enable == "1" and user.remote_address) and user.remote_address or nil, + remote_port = (user.remote_enable == "1" and user.remote_port) and tonumber(user.remote_port) or nil, + password = user.uuid, + log_level = (user.log and user.log == "1") and tonumber(user.loglevel) or 5, + ssl = { + cert = user.tls_certificateFile, + key = user.tls_keyFile, + key_password = "", + cipher = cipher, + cipher_tls13 = cipher13, + prefer_server_cipher = true, + reuse_session = true, + session_ticket = (user.tls_sessionTicket == "1") and true or false, + session_timeout = 600, + plain_http_response = "", + curves = "", + dhparam = "" + }, + tcp = { + prefer_ipv4 = false, + no_delay = true, + keep_alive = true, + reuse_port = false, + fast_open = (user.tcp_fast_open and user.tcp_fast_open == "1") and true or false, + fast_open_qlen = 20 + } + } + if user.type == "Trojan-Go" then + config.ssl.cipher = nil + config.ssl.cipher_tls13 = nil + config.udp_timeout = 60 + config.disable_http_check = true + config.transport_plugin = ((user.tls == nil or user.tls ~= "1") and user.trojan_transport == "original") and { + enabled = user.plugin_type ~= nil, + type = user.plugin_type or "plaintext", + command = user.plugin_type ~= "plaintext" and user.plugin_cmd or nil, + option = user.plugin_type ~= "plaintext" and user.plugin_option or nil, + arg = user.plugin_type ~= "plaintext" and { user.plugin_arg } or nil, + env = {} + } or nil + config.websocket = (user.trojan_transport == 'ws') and { + enabled = true, + path = user.ws_path or "/", + host = user.ws_host or "" + } or nil + config.shadowsocks = (user.ss_aead == "1") and { + enabled = true, + method = user.ss_aead_method or "aes_128_gcm", + password = user.ss_aead_pwd or "" + } or nil + end + return config +end \ No newline at end of file diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/api/v2ray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/v2ray.lua new file mode 100644 index 00000000..729d9f20 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/api/v2ray.lua @@ -0,0 +1,246 @@ +module("luci.model.cbi.passwall.server.api.v2ray", package.seeall) +local uci = require"luci.model.uci".cursor() + +function gen_config(user) + local settings = nil + local routing = nil + local outbounds = { + {protocol = "freedom", tag = "direct"}, {protocol = "blackhole", tag = "blocked"} + } + + if user.protocol == "vmess" or user.protocol == "vless" then + if user.uuid then + local clients = {} + for i = 1, #user.uuid do + clients[i] = { + id = user.uuid[i], + flow = ("1" == user.xtls) and user.flow or nil + } + end + settings = { + clients = clients, + decryption = user.decryption or "none" + } + end + elseif user.protocol == "socks" then + settings = { + udp = ("1" == user.udp_forward) and true or false, + auth = ("1" == user.auth) and "password" or "noauth", + accounts = ("1" == user.auth) and { + { + user = user.username, + pass = user.password + } + } or nil + } + elseif user.protocol == "http" then + settings = { + allowTransparent = false, + accounts = ("1" == user.auth) and { + { + user = user.username, + pass = user.password + } + } or nil + } + user.transport = "tcp" + user.tcp_guise = "none" + elseif user.protocol == "shadowsocks" then + settings = { + method = user.method, + password = user.password, + ivCheck = ("1" == user.iv_check) and true or false, + network = user.ss_network or "TCP,UDP" + } + elseif user.protocol == "trojan" then + if user.uuid then + local clients = {} + for i = 1, #user.uuid do + clients[i] = { + flow = ("1" == user.xtls) and user.flow or nil, + password = user.uuid[i], + } + end + settings = { + clients = clients + } + end + elseif user.protocol == "mtproto" then + settings = { + users = { + { + secret = (user.password == nil) and "" or user.password + } + } + } + elseif user.protocol == "dokodemo-door" then + settings = { + network = user.d_protocol, + address = user.d_address, + port = tonumber(user.d_port) + } + end + + if user.fallback and user.fallback == "1" then + local fallbacks = {} + for i = 1, #user.fallback_list do + local fallbackStr = user.fallback_list[i] + if fallbackStr then + local tmp = {} + string.gsub(fallbackStr, '[^' .. "," .. ']+', function(w) + table.insert(tmp, w) + end) + local dest = tmp[1] or "" + local path = tmp[2] + if dest:find("%.") then + else + dest = tonumber(dest) + end + fallbacks[i] = { + path = path, + dest = dest, + xver = 1 + } + end + end + settings.fallbacks = fallbacks + end + + routing = { + domainStrategy = "IPOnDemand", + rules = { + { + type = "field", + ip = {"10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"}, + outboundTag = (user.accept_lan == nil or user.accept_lan == "0") and "blocked" or "direct" + } + } + } + + if user.transit_node and user.transit_node ~= "nil" then + local transit_node_t = uci:get_all("passwall", user.transit_node) + if user.transit_node == "_socks" or user.transit_node == "_http" then + transit_node_t = { + type = user.type, + protocol = user.transit_node:gsub("_", ""), + transport = "tcp", + address = user.transit_node_address, + port = user.transit_node_port, + username = (user.transit_node_username and user.transit_node_username ~= "") and user.transit_node_username or nil, + password = (user.transit_node_password and user.transit_node_password ~= "") and user.transit_node_password or nil, + } + end + local outbound = require("luci.model.cbi.passwall.api.gen_v2ray").gen_outbound(transit_node_t, "transit") + if outbound then + table.insert(outbounds, 1, outbound) + end + end + + local config = { + log = { + -- error = "/tmp/etc/passwall_server/log/" .. user[".name"] .. ".log", + loglevel = ("1" == user.log) and user.loglevel or "none" + }, + -- 传入连接 + inbounds = { + { + listen = (user.bind_local == "1") and "127.0.0.1" or nil, + port = tonumber(user.port), + protocol = user.protocol, + settings = settings, + streamSettings = { + network = user.transport, + security = "none", + xtlsSettings = ("1" == user.tls and "1" == user.xtls) and { + disableSystemRoot = false, + certificates = { + { + certificateFile = user.tls_certificateFile, + keyFile = user.tls_keyFile + } + } + } or nil, + tlsSettings = ("1" == user.tls) and { + disableSystemRoot = false, + certificates = { + { + certificateFile = user.tls_certificateFile, + keyFile = user.tls_keyFile + } + } + } or nil, + tcpSettings = (user.transport == "tcp") and { + acceptProxyProtocol = (user.acceptProxyProtocol and user.acceptProxyProtocol == "1") and true or false, + header = { + type = user.tcp_guise, + request = (user.tcp_guise == "http") and { + path = user.tcp_guise_http_path or {"/"}, + headers = { + Host = user.tcp_guise_http_host or {} + } + } or nil + } + } or nil, + kcpSettings = (user.transport == "mkcp") and { + mtu = tonumber(user.mkcp_mtu), + tti = tonumber(user.mkcp_tti), + uplinkCapacity = tonumber(user.mkcp_uplinkCapacity), + downlinkCapacity = tonumber(user.mkcp_downlinkCapacity), + congestion = (user.mkcp_congestion == "1") and true or false, + readBufferSize = tonumber(user.mkcp_readBufferSize), + writeBufferSize = tonumber(user.mkcp_writeBufferSize), + seed = (user.mkcp_seed and user.mkcp_seed ~= "") and user.mkcp_seed or nil, + header = {type = user.mkcp_guise} + } or nil, + wsSettings = (user.transport == "ws") and { + acceptProxyProtocol = (user.acceptProxyProtocol and user.acceptProxyProtocol == "1") and true or false, + headers = (user.ws_host) and {Host = user.ws_host} or nil, + path = user.ws_path + } or nil, + httpSettings = (user.transport == "h2") and { + path = user.h2_path, host = user.h2_host + } or nil, + dsSettings = (user.transport == "ds") and { + path = user.ds_path + } or nil, + quicSettings = (user.transport == "quic") and { + security = user.quic_security, + key = user.quic_key, + header = {type = user.quic_guise} + } or nil, + grpcSettings = (user.transport == "grpc") and { + serviceName = user.grpc_serviceName + } or nil + } + } + }, + -- 传出连接 + outbounds = outbounds, + routing = routing + } + + local alpn = {} + if user.alpn then + string.gsub(user.alpn, '[^' .. "," .. ']+', function(w) + table.insert(alpn, w) + end) + end + if alpn and #alpn > 0 then + if config.inbounds[1].streamSettings.tlsSettings then + config.inbounds[1].streamSettings.tlsSettings.alpn = alpn + end + if config.inbounds[1].streamSettings.xtlsSettings then + config.inbounds[1].streamSettings.xtlsSettings.alpn = alpn + end + end + + if "1" == user.tls then + config.inbounds[1].streamSettings.security = "tls" + if user.type == "Xray" and user.xtls and user.xtls == "1" then + config.inbounds[1].streamSettings.security = "xtls" + config.inbounds[1].streamSettings.tlsSettings = nil + end + end + + return config +end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua new file mode 100644 index 00000000..042ff093 --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua @@ -0,0 +1,73 @@ +local api = require "luci.model.cbi.passwall.api.api" + +m = Map("passwall_server", translate("Server-Side")) + +t = m:section(NamedSection, "global", "global") +t.anonymous = true +t.addremove = false + +e = t:option(Flag, "enable", translate("Enable")) +e.rmempty = false + +t = m:section(TypedSection, "user", translate("Users Manager")) +t.anonymous = true +t.addremove = true +t.sortable = true +t.template = "cbi/tblsection" +t.extedit = api.url("server_user", "%s") +function t.create(e, t) + local uuid = api.gen_uuid() + t = uuid + TypedSection.create(e, t) + luci.http.redirect(e.extedit:format(t)) +end +function t.remove(e, t) + e.map.proceed = true + e.map:del(t) + luci.http.redirect(api.url("server")) +end + +e = t:option(Flag, "enable", translate("Enable")) +e.width = "5%" +e.rmempty = false + +e = t:option(DummyValue, "status", translate("Status")) +e.rawhtml = true +e.cfgvalue = function(t, n) + return string.format('%s', translate("Collecting data...")) +end + +e = t:option(DummyValue, "remarks", translate("Remarks")) +e.width = "15%" + +---- Type +e = t:option(DummyValue, "type", translate("Type")) +e.cfgvalue = function(t, n) + local v = Value.cfgvalue(t, n) + if v then + if v == "V2ray" or v == "Xray" then + local protocol = m:get(n, "protocol") + if protocol == "vmess" then + protocol = "VMess" + elseif protocol == "vless" then + protocol = "VLESS" + else + protocol = protocol:gsub("^%l",string.upper) + end + return v .. " -> " .. protocol + end + return v + end +end + +e = t:option(DummyValue, "port", translate("Port")) + +e = t:option(Flag, "log", translate("Log")) +e.default = "1" +e.rmempty = false + +m:append(Template("passwall/server/log")) + +m:append(Template("passwall/server/users_list_status")) +return m + diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua new file mode 100644 index 00000000..8b0a5f2b --- /dev/null +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua @@ -0,0 +1,728 @@ +local api = require "luci.model.cbi.passwall.api.api" + +local ss_encrypt_method_list = { + "rc4-md5", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "aes-128-ctr", + "aes-192-ctr", "aes-256-ctr", "bf-cfb", "camellia-128-cfb", + "camellia-192-cfb", "camellia-256-cfb", "salsa20", "chacha20", + "chacha20-ietf", -- aead + "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305" +} + +local ssr_encrypt_method_list = { + "none", "table", "rc2-cfb", "rc4", "rc4-md5", "rc4-md5-6", "aes-128-cfb", + "aes-192-cfb", "aes-256-cfb", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", + "bf-cfb", "camellia-128-cfb", "camellia-192-cfb", "camellia-256-cfb", + "cast5-cfb", "des-cfb", "idea-cfb", "seed-cfb", "salsa20", "chacha20", + "chacha20-ietf" +} + +local ssr_protocol_list = { + "origin", "verify_simple", "verify_deflate", "verify_sha1", "auth_simple", + "auth_sha1", "auth_sha1_v2", "auth_sha1_v4", "auth_aes128_md5", + "auth_aes128_sha1", "auth_chain_a", "auth_chain_b", "auth_chain_c", + "auth_chain_d", "auth_chain_e", "auth_chain_f" +} +local ssr_obfs_list = { + "plain", "http_simple", "http_post", "random_head", "tls_simple", + "tls1.0_session_auth", "tls1.2_ticket_auth" +} + +local v_ss_encrypt_method_list = { + "aes-128-gcm", "aes-256-gcm", "chacha20-poly1305" +} + +local x_ss_encrypt_method_list = { + "aes-128-gcm", "aes-256-gcm", "chacha20-poly1305", "xchacha20-poly1305" +} + +local header_type_list = { + "none", "srtp", "utp", "wechat-video", "dtls", "wireguard" +} + +local encrypt_methods_ss_aead = { + "chacha20-ietf-poly1305", + "aes-128-gcm", + "aes-256-gcm", +} + +m = Map("passwall_server", translate("Server Config")) +m.redirect = api.url("server") + +s = m:section(NamedSection, arg[1], "user", "") +s.addremove = false +s.dynamic = false + +enable = s:option(Flag, "enable", translate("Enable")) +enable.default = "1" +enable.rmempty = false + +remarks = s:option(Value, "remarks", translate("Remarks")) +remarks.default = translate("Remarks") +remarks.rmempty = false + +type = s:option(ListValue, "type", translate("Type")) +if api.is_finded("microsocks") then + type:value("Socks", translate("Socks")) +end +if api.is_finded("ss-server") then + type:value("SS", translate("Shadowsocks")) +end +if api.is_finded("ssr-server") then + type:value("SSR", translate("ShadowsocksR")) +end +if api.is_finded("v2ray") then + type:value("V2ray", translate("V2ray")) +end +if api.is_finded("xray") then + type:value("Xray", translate("Xray")) +end +if api.is_finded("brook") then + type:value("Brook", translate("Brook")) +end +--[[ +if api.is_finded("trojan-plus") or api.is_finded("trojan") then + type:value("Trojan", translate("Trojan")) +end +]]-- +if api.is_finded("trojan-plus") then + type:value("Trojan-Plus", translate("Trojan-Plus")) +end +if api.is_finded("trojan-go") then + type:value("Trojan-Go", translate("Trojan-Go")) +end +if api.is_finded("hysteria") then + type:value("Hysteria", translate("Hysteria")) +end + +protocol = s:option(ListValue, "protocol", translate("Protocol")) +protocol:value("vmess", "Vmess") +protocol:value("vless", "VLESS") +protocol:value("http", "HTTP") +protocol:value("socks", "Socks") +protocol:value("shadowsocks", "Shadowsocks") +protocol:value("trojan", "Trojan") +protocol:value("mtproto", "MTProto") +protocol:value("dokodemo-door", "dokodemo-door") +protocol:depends("type", "V2ray") +protocol:depends("type", "Xray") + +-- Brook协议 +brook_protocol = s:option(ListValue, "brook_protocol", translate("Protocol")) +brook_protocol:value("server", "Brook") +brook_protocol:value("wsserver", "WebSocket") +brook_protocol:depends("type", "Brook") +function brook_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function brook_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +--brook_tls = s:option(Flag, "brook_tls", translate("Use TLS")) +--brook_tls:depends("brook_protocol", "wsserver") + +port = s:option(Value, "port", translate("Listen Port")) +port.datatype = "port" +port.rmempty = false + +auth = s:option(Flag, "auth", translate("Auth")) +auth.validate = function(self, value, t) + if value and value == "1" then + local user_v = username:formvalue(t) or "" + local pass_v = password:formvalue(t) or "" + if user_v == "" or pass_v == "" then + return nil, translate("Username and Password must be used together!") + end + end + return value +end +auth:depends("type", "Socks") +auth:depends({ type = "V2ray", protocol = "socks" }) +auth:depends({ type = "V2ray", protocol = "http" }) +auth:depends({ type = "Xray", protocol = "socks" }) +auth:depends({ type = "Xray", protocol = "http" }) + +username = s:option(Value, "username", translate("Username")) +username:depends("auth", true) + +password = s:option(Value, "password", translate("Password")) +password.password = true +password:depends("auth", true) +password:depends("type", "SS") +password:depends("type", "SSR") +password:depends("type", "Brook") +password:depends({ type = "V2ray", protocol = "shadowsocks" }) +password:depends({ type = "Xray", protocol = "shadowsocks" }) + +mtproto_password = s:option(Value, "mtproto_password", translate("Password"), translate("The MTProto protocol must be 32 characters and can only contain characters from 0 to 9 and a to f.")) +mtproto_password:depends({ type = "V2ray", protocol = "mtproto" }) +mtproto_password:depends({ type = "Xray", protocol = "mtproto" }) +mtproto_password.default = arg[1] +function mtproto_password.cfgvalue(self, section) + return m:get(section, "password") +end +function mtproto_password.write(self, section, value) + m:set(section, "password", value) +end + +d_protocol = s:option(ListValue, "d_protocol", translate("Destination protocol")) +d_protocol:value("tcp", "TCP") +d_protocol:value("udp", "UDP") +d_protocol:value("tcp,udp", "TCP,UDP") +d_protocol:depends({ type = "V2ray", protocol = "dokodemo-door" }) +d_protocol:depends({ type = "Xray", protocol = "dokodemo-door" }) + +d_address = s:option(Value, "d_address", translate("Destination address")) +d_address:depends({ type = "V2ray", protocol = "dokodemo-door" }) +d_address:depends({ type = "Xray", protocol = "dokodemo-door" }) + +d_port = s:option(Value, "d_port", translate("Destination port")) +d_port.datatype = "port" +d_port:depends({ type = "V2ray", protocol = "dokodemo-door" }) +d_port:depends({ type = "Xray", protocol = "dokodemo-door" }) + +decryption = s:option(Value, "decryption", translate("Encrypt Method")) +decryption.default = "none" +decryption:depends({ type = "V2ray", protocol = "vless" }) +decryption:depends({ type = "Xray", protocol = "vless" }) + +hysteria_protocol = s:option(ListValue, "hysteria_protocol", translate("Protocol")) +hysteria_protocol:value("udp", "UDP") +hysteria_protocol:value("faketcp", "faketcp") +hysteria_protocol:value("wechat-video", "wechat-video") +hysteria_protocol:depends("type", "Hysteria") +function hysteria_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function hysteria_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +hysteria_obfs = s:option(Value, "hysteria_obfs", translate("Obfs Password")) +hysteria_obfs:depends("type", "Hysteria") + +hysteria_auth_type = s:option(ListValue, "hysteria_auth_type", translate("Auth Type")) +hysteria_auth_type:value("disable", translate("Disable")) +hysteria_auth_type:value("string", translate("STRING")) +hysteria_auth_type:depends("type", "Hysteria") + +hysteria_auth_password = s:option(Value, "hysteria_auth_password", translate("Auth Password")) +hysteria_auth_password.password = true +hysteria_auth_password:depends("hysteria_auth_type", "string") + +hysteria_alpn = s:option(Value, "hysteria_alpn", translate("QUIC TLS ALPN")) +hysteria_alpn:depends("type", "Hysteria") + +hysteria_udp = s:option(Flag, "hysteria_udp", translate("UDP")) +hysteria_udp.default = "1" +hysteria_udp:depends("type", "Hysteria") + +hysteria_up_mbps = s:option(Value, "hysteria_up_mbps", translate("Max upload Mbps")) +hysteria_up_mbps.default = "10" +hysteria_up_mbps:depends("type", "Hysteria") + +hysteria_down_mbps = s:option(Value, "hysteria_down_mbps", translate("Max download Mbps")) +hysteria_down_mbps.default = "50" +hysteria_down_mbps:depends("type", "Hysteria") + +hysteria_recv_window_conn = s:option(Value, "hysteria_recv_window_conn", translate("QUIC stream receive window")) +hysteria_recv_window_conn:depends("type", "Hysteria") + +hysteria_recv_window = s:option(Value, "hysteria_recv_window", translate("QUIC connection receive window")) +hysteria_recv_window:depends("type", "Hysteria") + +hysteria_disable_mtu_discovery = s:option(Flag, "hysteria_disable_mtu_discovery", translate("Disable MTU detection")) +hysteria_disable_mtu_discovery:depends("type", "Hysteria") + +ss_encrypt_method = s:option(ListValue, "ss_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(ss_encrypt_method_list) do ss_encrypt_method:value(t) end +ss_encrypt_method:depends("type", "SS") +function ss_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function ss_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +ssr_encrypt_method = s:option(ListValue, "ssr_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(ssr_encrypt_method_list) do ssr_encrypt_method:value(t) end +ssr_encrypt_method:depends("type", "SSR") +function ssr_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function ssr_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +v_ss_encrypt_method = s:option(ListValue, "v_ss_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(v_ss_encrypt_method_list) do v_ss_encrypt_method:value(t) end +v_ss_encrypt_method:depends({ type = "V2ray", protocol = "shadowsocks" }) +function v_ss_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function v_ss_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +x_ss_encrypt_method = s:option(ListValue, "x_ss_encrypt_method", translate("Encrypt Method")) +for a, t in ipairs(x_ss_encrypt_method_list) do x_ss_encrypt_method:value(t) end +x_ss_encrypt_method:depends({ type = "Xray", protocol = "shadowsocks" }) +function x_ss_encrypt_method.cfgvalue(self, section) + return m:get(section, "method") +end +function x_ss_encrypt_method.write(self, section, value) + m:set(section, "method", value) +end + +iv_check = s:option(Flag, "iv_check", translate("IV Check")) +iv_check:depends({ type = "V2ray", protocol = "shadowsocks" }) +iv_check:depends({ type = "Xray", protocol = "shadowsocks" }) + +ss_network = s:option(ListValue, "ss_network", translate("Transport")) +ss_network.default = "tcp,udp" +ss_network:value("tcp", "TCP") +ss_network:value("udp", "UDP") +ss_network:value("tcp,udp", "TCP,UDP") +ss_network:depends({ type = "V2ray", protocol = "shadowsocks" }) +ss_network:depends({ type = "Xray", protocol = "shadowsocks" }) + +ssr_protocol = s:option(ListValue, "ssr_protocol", translate("Protocol")) +for a, t in ipairs(ssr_protocol_list) do ssr_protocol:value(t) end +ssr_protocol:depends("type", "SSR") +function ssr_protocol.cfgvalue(self, section) + return m:get(section, "protocol") +end +function ssr_protocol.write(self, section, value) + m:set(section, "protocol", value) +end + +protocol_param = s:option(Value, "protocol_param", translate("Protocol_param")) +protocol_param:depends("type", "SSR") + +obfs = s:option(ListValue, "obfs", translate("Obfs")) +for a, t in ipairs(ssr_obfs_list) do obfs:value(t) end +obfs:depends("type", "SSR") + +obfs_param = s:option(Value, "obfs_param", translate("Obfs_param")) +obfs_param:depends("type", "SSR") + +timeout = s:option(Value, "timeout", translate("Connection Timeout")) +timeout.datatype = "uinteger" +timeout.default = 300 +timeout:depends("type", "SS") +timeout:depends("type", "SSR") + +udp_forward = s:option(Flag, "udp_forward", translate("UDP Forward")) +udp_forward.default = "1" +udp_forward.rmempty = false +udp_forward:depends("type", "SSR") +udp_forward:depends({ type = "V2ray", protocol = "socks" }) +udp_forward:depends({ type = "Xray", protocol = "socks" }) + +uuid = s:option(DynamicList, "uuid", translate("ID") .. "/" .. translate("Password")) +for i = 1, 3 do + uuid:value(api.gen_uuid(1)) +end +uuid:depends({ type = "V2ray", protocol = "vmess" }) +uuid:depends({ type = "V2ray", protocol = "vless" }) +uuid:depends({ type = "V2ray", protocol = "trojan" }) +uuid:depends({ type = "Xray", protocol = "vmess" }) +uuid:depends({ type = "Xray", protocol = "vless" }) +uuid:depends({ type = "Xray", protocol = "trojan" }) +uuid:depends("type", "Trojan") +uuid:depends("type", "Trojan-Go") +uuid:depends("type", "Trojan-Plus") + +tls = s:option(Flag, "tls", translate("TLS")) +tls.default = 0 +tls.validate = function(self, value, t) + if value then + local type = type:formvalue(t) or "" + if value == "0" and (type == "Trojan" or type == "Trojan-Plus") then + return nil, translate("Original Trojan only supported 'tls', please choose 'tls'.") + end + if value == "1" then + local ca = tls_certificateFile:formvalue(t) or "" + local key = tls_keyFile:formvalue(t) or "" + if ca == "" or key == "" then + return nil, translate("Public key and Private key path can not be empty!") + end + end + return value + end +end +tls:depends({ type = "V2ray", protocol = "vmess" }) +tls:depends({ type = "V2ray", protocol = "vless" }) +tls:depends({ type = "V2ray", protocol = "socks" }) +tls:depends({ type = "V2ray", protocol = "shadowsocks" }) +tls:depends({ type = "V2ray", protocol = "trojan" }) +tls:depends({ type = "Xray", protocol = "vmess" }) +tls:depends({ type = "Xray", protocol = "vless" }) +tls:depends({ type = "Xray", protocol = "socks" }) +tls:depends({ type = "Xray", protocol = "shadowsocks" }) +tls:depends({ type = "Xray", protocol = "trojan" }) +tls:depends("type", "Trojan") +tls:depends("type", "Trojan-Plus") +tls:depends("type", "Trojan-Go") + +xtls = s:option(Flag, "xtls", translate("XTLS")) +xtls.default = 0 +xtls:depends({ type = "Xray", protocol = "vless", tls = true }) +xtls:depends({ type = "Xray", protocol = "trojan", tls = true }) + +flow = s:option(Value, "flow", translate("flow")) +flow.default = "xtls-rprx-direct" +flow:value("xtls-rprx-origin") +flow:value("xtls-rprx-direct") +flow:depends("xtls", true) + +alpn = s:option(ListValue, "alpn", translate("alpn")) +alpn.default = "h2,http/1.1" +alpn:value("h2,http/1.1") +alpn:value("h2") +alpn:value("http/1.1") +alpn:depends({ type = "V2ray", tls = true }) +alpn:depends({ type = "Xray", tls = true }) + +-- [[ TLS部分 ]] -- + +tls_certificateFile = s:option(FileUpload, "tls_certificateFile", translate("Public key absolute path"), translate("as:") .. "/etc/ssl/fullchain.pem") +tls_certificateFile.validate = function(self, value, t) + if value and value ~= "" then + if not nixio.fs.access(value) then + return nil, translate("Can't find this file!") + else + return value + end + end + return nil +end +tls_certificateFile.default = "/etc/config/ssl/" .. arg[1] .. ".pem" +tls_certificateFile:depends("tls", true) +tls_certificateFile:depends("type", "Hysteria") + +tls_keyFile = s:option(FileUpload, "tls_keyFile", translate("Private key absolute path"), translate("as:") .. "/etc/ssl/private.key") +tls_keyFile.validate = function(self, value, t) + if value and value ~= "" then + if not nixio.fs.access(value) then + return nil, translate("Can't find this file!") + else + return value + end + end + return nil +end +tls_keyFile.default = "/etc/config/ssl/" .. arg[1] .. ".key" +tls_keyFile:depends("tls", true) +tls_keyFile:depends("type", "Hysteria") + +tls_sessionTicket = s:option(Flag, "tls_sessionTicket", translate("Session Ticket")) +tls_sessionTicket.default = "0" +tls_sessionTicket:depends({ type = "Trojan", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Plus", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Go", tls = true }) + +transport = s:option(ListValue, "transport", translate("Transport")) +transport:value("tcp", "TCP") +transport:value("mkcp", "mKCP") +transport:value("ws", "WebSocket") +transport:value("h2", "HTTP/2") +transport:value("ds", "DomainSocket") +transport:value("quic", "QUIC") +transport:value("grpc", "gRPC") +transport:depends({ type = "V2ray", protocol = "vmess" }) +transport:depends({ type = "V2ray", protocol = "vless" }) +transport:depends({ type = "V2ray", protocol = "socks" }) +transport:depends({ type = "V2ray", protocol = "shadowsocks" }) +transport:depends({ type = "V2ray", protocol = "trojan" }) +transport:depends({ type = "Xray", protocol = "vmess" }) +transport:depends({ type = "Xray", protocol = "vless" }) +transport:depends({ type = "Xray", protocol = "socks" }) +transport:depends({ type = "Xray", protocol = "shadowsocks" }) +transport:depends({ type = "Xray", protocol = "trojan" }) + +trojan_transport = s:option(ListValue, "trojan_transport", translate("Transport")) +trojan_transport:value("original", translate("Original")) +trojan_transport:value("ws", "WebSocket") +trojan_transport.default = "original" +trojan_transport:depends("type", "Trojan-Go") + +trojan_plugin = s:option(ListValue, "plugin_type", translate("Transport Plugin")) +trojan_plugin:value("plaintext", "Plain Text") +trojan_plugin:value("shadowsocks", "ShadowSocks") +trojan_plugin:value("other", "Other") +trojan_plugin.default = "plaintext" +trojan_plugin:depends({ tls = false, trojan_transport = "original" }) + +trojan_plugin_cmd = s:option(Value, "plugin_cmd", translate("Plugin Binary")) +trojan_plugin_cmd.placeholder = "eg: /usr/bin/v2ray-plugin" +trojan_plugin_cmd:depends({ plugin_type = "shadowsocks" }) +trojan_plugin_cmd:depends({ plugin_type = "other" }) + +trojan_plugin_op = s:option(Value, "plugin_option", translate("Plugin Option")) +trojan_plugin_op.placeholder = "eg: obfs=http;obfs-host=www.baidu.com" +trojan_plugin_op:depends({ plugin_type = "shadowsocks" }) +trojan_plugin_op:depends({ plugin_type = "other" }) + +trojan_plugin_arg = s:option(DynamicList, "plugin_arg", translate("Plugin Option Args")) +trojan_plugin_arg.placeholder = "eg: [\"-config\", \"test.json\"]" +trojan_plugin_arg:depends({ plugin_type = "shadowsocks" }) +trojan_plugin_arg:depends({ plugin_type = "other" }) + +-- [[ WebSocket部分 ]]-- + +ws_host = s:option(Value, "ws_host", translate("WebSocket Host")) +ws_host:depends("transport", "ws") +ws_host:depends("ss_transport", "ws") +ws_host:depends("trojan_transport", "ws") + +ws_path = s:option(Value, "ws_path", translate("WebSocket Path")) +ws_path:depends("transport", "ws") +ws_path:depends("ss_transport", "ws") +ws_path:depends("trojan_transport", "ws") +ws_path:depends({ type = "Brook", brook_protocol = "wsserver" }) + +-- [[ HTTP/2部分 ]]-- + +h2_host = s:option(Value, "h2_host", translate("HTTP/2 Host")) +h2_host:depends("transport", "h2") +h2_host:depends("ss_transport", "h2") +h2_host:depends("trojan_transport", "h2") + +h2_path = s:option(Value, "h2_path", translate("HTTP/2 Path")) +h2_path:depends("transport", "h2") +h2_path:depends("ss_transport", "h2") +h2_path:depends("trojan_transport", "h2") + +-- [[ TCP部分 ]]-- + +-- TCP伪装 +tcp_guise = s:option(ListValue, "tcp_guise", translate("Camouflage Type")) +tcp_guise:value("none", "none") +tcp_guise:value("http", "http") +tcp_guise:depends("transport", "tcp") + +-- HTTP域名 +tcp_guise_http_host = s:option(DynamicList, "tcp_guise_http_host", translate("HTTP Host")) +tcp_guise_http_host:depends("tcp_guise", "http") + +-- HTTP路径 +tcp_guise_http_path = s:option(DynamicList, "tcp_guise_http_path", translate("HTTP Path")) +tcp_guise_http_path:depends("tcp_guise", "http") + +-- [[ mKCP部分 ]]-- + +mkcp_guise = s:option(ListValue, "mkcp_guise", translate("Camouflage Type"), translate('
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)')) +for a, t in ipairs(header_type_list) do mkcp_guise:value(t) end +mkcp_guise:depends("transport", "mkcp") + +mkcp_mtu = s:option(Value, "mkcp_mtu", translate("KCP MTU")) +mkcp_mtu.default = "1350" +mkcp_mtu:depends("transport", "mkcp") + +mkcp_tti = s:option(Value, "mkcp_tti", translate("KCP TTI")) +mkcp_tti.default = "20" +mkcp_tti:depends("transport", "mkcp") + +mkcp_uplinkCapacity = s:option(Value, "mkcp_uplinkCapacity", translate("KCP uplinkCapacity")) +mkcp_uplinkCapacity.default = "5" +mkcp_uplinkCapacity:depends("transport", "mkcp") + +mkcp_downlinkCapacity = s:option(Value, "mkcp_downlinkCapacity", translate("KCP downlinkCapacity")) +mkcp_downlinkCapacity.default = "20" +mkcp_downlinkCapacity:depends("transport", "mkcp") + +mkcp_congestion = s:option(Flag, "mkcp_congestion", translate("KCP Congestion")) +mkcp_congestion:depends("transport", "mkcp") + +mkcp_readBufferSize = s:option(Value, "mkcp_readBufferSize", translate("KCP readBufferSize")) +mkcp_readBufferSize.default = "1" +mkcp_readBufferSize:depends("transport", "mkcp") + +mkcp_writeBufferSize = s:option(Value, "mkcp_writeBufferSize", translate("KCP writeBufferSize")) +mkcp_writeBufferSize.default = "1" +mkcp_writeBufferSize:depends("transport", "mkcp") + +mkcp_seed = s:option(Value, "mkcp_seed", translate("KCP Seed")) +mkcp_seed:depends("transport", "mkcp") + +-- [[ DomainSocket部分 ]]-- + +ds_path = s:option(Value, "ds_path", "Path", translate("A legal file path. This file must not exist before running.")) +ds_path:depends("transport", "ds") + +-- [[ QUIC部分 ]]-- +quic_security = s:option(ListValue, "quic_security", translate("Encrypt Method")) +quic_security:value("none") +quic_security:value("aes-128-gcm") +quic_security:value("chacha20-poly1305") +quic_security:depends("transport", "quic") + +quic_key = s:option(Value, "quic_key", translate("Encrypt Method") .. translate("Key")) +quic_key:depends("transport", "quic") + +quic_guise = s:option(ListValue, "quic_guise", translate("Camouflage Type")) +for a, t in ipairs(header_type_list) do quic_guise:value(t) end +quic_guise:depends("transport", "quic") + +-- [[ gRPC部分 ]]-- +grpc_serviceName = s:option(Value, "grpc_serviceName", "ServiceName") +grpc_serviceName:depends("transport", "grpc") + +acceptProxyProtocol = s:option(Flag, "acceptProxyProtocol", translate("acceptProxyProtocol"), translate("Whether to receive PROXY protocol, when this node want to be fallback or forwarded by proxy, it must be enable, otherwise it cannot be used.")) +acceptProxyProtocol:depends({ type = "V2ray", transport = "tcp" }) +acceptProxyProtocol:depends({ type = "V2ray", transport = "ws" }) +acceptProxyProtocol:depends({ type = "Xray", transport = "tcp" }) +acceptProxyProtocol:depends({ type = "Xray", transport = "ws" }) + +-- [[ Fallback部分 ]]-- +fallback = s:option(Flag, "fallback", translate("Fallback")) +fallback:depends({ type = "V2ray", protocol = "vless", transport = "tcp" }) +fallback:depends({ type = "V2ray", protocol = "trojan", transport = "tcp" }) +fallback:depends({ type = "Xray", protocol = "vless", transport = "tcp" }) +fallback:depends({ type = "Xray", protocol = "trojan", transport = "tcp" }) + +--[[ +fallback_alpn = s:option(Value, "fallback_alpn", "Fallback alpn") +fallback_alpn:depends("fallback", true) + +fallback_path = s:option(Value, "fallback_path", "Fallback path") +fallback_path:depends("fallback", true) + +fallback_dest = s:option(Value, "fallback_dest", "Fallback dest") +fallback_dest:depends("fallback", true) + +fallback_xver = s:option(Value, "fallback_xver", "Fallback xver") +fallback_xver.default = 0 +fallback_xver:depends("fallback", true) +]]-- + +fallback_list = s:option(DynamicList, "fallback_list", "Fallback", translate("dest,path")) +fallback_list:depends("fallback", true) + +ss_aead = s:option(Flag, "ss_aead", translate("Shadowsocks secondary encryption")) +ss_aead:depends("type", "Trojan-Go") +ss_aead.default = "0" + +ss_aead_method = s:option(ListValue, "ss_aead_method", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods_ss_aead) do ss_aead_method:value(v, v) end +ss_aead_method.default = "aes-128-gcm" +ss_aead_method:depends("ss_aead", true) + +ss_aead_pwd = s:option(Value, "ss_aead_pwd", translate("Password")) +ss_aead_pwd.password = true +ss_aead_pwd:depends("ss_aead", true) + +tcp_fast_open = s:option(Flag, "tcp_fast_open", translate("TCP Fast Open")) +tcp_fast_open.default = "0" +tcp_fast_open:depends("type", "SS") +tcp_fast_open:depends("type", "SSR") +tcp_fast_open:depends("type", "Trojan") +tcp_fast_open:depends("type", "Trojan-Plus") +tcp_fast_open:depends("type", "Trojan-Go") + +remote_enable = s:option(Flag, "remote_enable", translate("Enable Remote"), translate("You can forward to Nginx/Caddy/V2ray/Xray WebSocket and more.")) +remote_enable.default = "1" +remote_enable.rmempty = false +remote_enable:depends("type", "Trojan") +remote_enable:depends("type", "Trojan-Plus") +remote_enable:depends("type", "Trojan-Go") + +remote_address = s:option(Value, "remote_address", translate("Remote Address")) +remote_address.default = "127.0.0.1" +remote_address:depends("remote_enable", 1) + +remote_port = s:option(Value, "remote_port", translate("Remote Port")) +remote_port.datatype = "port" +remote_port.default = "80" +remote_port:depends("remote_enable", 1) + +bind_local = s:option(Flag, "bind_local", translate("Bind Local"), translate("When selected, it can only be accessed locally, It is recommended to turn on when using reverse proxies or be fallback.")) +bind_local.default = "0" +bind_local:depends("type", "V2ray") +bind_local:depends("type", "Xray") + +accept_lan = s:option(Flag, "accept_lan", translate("Accept LAN Access"), translate("When selected, it can accessed lan , this will not be safe!")) +accept_lan.default = "0" +accept_lan:depends({ type = "V2ray", protocol = "vmess" }) +accept_lan:depends({ type = "V2ray", protocol = "vless" }) +accept_lan:depends({ type = "V2ray", protocol = "http" }) +accept_lan:depends({ type = "V2ray", protocol = "socks" }) +accept_lan:depends({ type = "V2ray", protocol = "shadowsocks" }) +accept_lan:depends({ type = "V2ray", protocol = "trojan" }) +accept_lan:depends({ type = "Xray", protocol = "vmess" }) +accept_lan:depends({ type = "Xray", protocol = "vless" }) +accept_lan:depends({ type = "Xray", protocol = "http" }) +accept_lan:depends({ type = "Xray", protocol = "socks" }) +accept_lan:depends({ type = "Xray", protocol = "shadowsocks" }) +accept_lan:depends({ type = "Xray", protocol = "trojan" }) + +local nodes_table = {} +for k, e in ipairs(api.get_valid_nodes()) do + if e.node_type == "normal" and (e.type == "V2ray" or e.type == "Xray") then + nodes_table[#nodes_table + 1] = { + id = e[".name"], + remarks = e["remark"] + } + end +end + +transit_node = s:option(ListValue, "transit_node", translate("transit node")) +transit_node:value("nil", translate("Close")) +transit_node:value("_socks", translate("Custom Socks")) +transit_node:value("_http", translate("Custom HTTP")) +for k, v in pairs(nodes_table) do transit_node:value(v.id, v.remarks) end +transit_node.default = "nil" +transit_node:depends("type", "V2ray") +transit_node:depends("type", "Xray") + +transit_node_address = s:option(Value, "transit_node_address", translate("Address (Support Domain Name)")) +transit_node_address:depends("transit_node", "_socks") +transit_node_address:depends("transit_node", "_http") + +transit_node_port = s:option(Value, "transit_node_port", translate("Port")) +transit_node_port.datatype = "port" +transit_node_port:depends("transit_node", "_socks") +transit_node_port:depends("transit_node", "_http") + +transit_node_username = s:option(Value, "transit_node_username", translate("Username")) +transit_node_username:depends("transit_node", "_socks") +transit_node_username:depends("transit_node", "_http") + +transit_node_password = s:option(Value, "transit_node_password", translate("Password")) +transit_node_password.password = true +transit_node_password:depends("transit_node", "_socks") +transit_node_password:depends("transit_node", "_http") + +log = s:option(Flag, "log", translate("Log")) +log.default = "1" +log.rmempty = false + +loglevel = s:option(ListValue, "loglevel", translate("Log Level")) +loglevel.default = "warning" +loglevel:value("debug") +loglevel:value("info") +loglevel:value("warning") +loglevel:value("error") +loglevel:depends({ type = "V2ray", log = true }) +loglevel:depends({ type = "Xray", log = true }) + +trojan_loglevel = s:option(ListValue, "trojan_loglevel", translate("Log Level")) +trojan_loglevel.default = "2" +trojan_loglevel:value("0", "all") +trojan_loglevel:value("1", "info") +trojan_loglevel:value("2", "warn") +trojan_loglevel:value("3", "error") +trojan_loglevel:value("4", "fatal") +function trojan_loglevel.cfgvalue(self, section) + return m:get(section, "loglevel") +end +function trojan_loglevel.write(self, section, value) + m:set(section, "loglevel", value) +end +trojan_loglevel:depends({ type = "Trojan", log = true }) +trojan_loglevel:depends({ type = "Trojan-Plus", log = true }) +trojan_loglevel:depends({ type = "Trojan-Go", log = true }) + +return m diff --git a/luci-app-passwall/luasrc/view/passwall/app_update/brook_version.htm b/luci-app-passwall/luasrc/view/passwall/app_update/brook_version.htm new file mode 100644 index 00000000..9a728809 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/app_update/brook_version.htm @@ -0,0 +1,159 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local brook_version = api.get_brook_version() +-%> + + + +
+ +
+
+ 【 <%=brook_version ~="" and brook_version or translate("Null") %> 】 + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/app_update/hysteria_version.htm b/luci-app-passwall/luasrc/view/passwall/app_update/hysteria_version.htm new file mode 100644 index 00000000..7201994c --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/app_update/hysteria_version.htm @@ -0,0 +1,159 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local hysteria_version = api.get_hysteria_version() +-%> + + + +
+ +
+
+ 【 <%=hysteria_version ~="" and hysteria_version or translate("Null") %> 】 + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/app_update/trojan_go_version.htm b/luci-app-passwall/luasrc/view/passwall/app_update/trojan_go_version.htm new file mode 100644 index 00000000..b7b181c3 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/app_update/trojan_go_version.htm @@ -0,0 +1,175 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local trojan_go_version = api.get_trojan_go_version() +-%> + + + +
+ +
+
+ 【 <%=trojan_go_version ~="" and trojan_go_version or translate("Null") %> 】 + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/app_update/v2ray_version.htm b/luci-app-passwall/luasrc/view/passwall/app_update/v2ray_version.htm new file mode 100644 index 00000000..ef46b9e5 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/app_update/v2ray_version.htm @@ -0,0 +1,175 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local v2ray_version = api.get_v2ray_version() +-%> + + + +
+ +
+
+ 【 <%=v2ray_version ~="" and v2ray_version or translate("Null") %> 】 + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/app_update/xray_version.htm b/luci-app-passwall/luasrc/view/passwall/app_update/xray_version.htm new file mode 100644 index 00000000..06d706c5 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/app_update/xray_version.htm @@ -0,0 +1,175 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local xray_version = api.get_xray_version() +-%> + + + +
+ +
+
+ 【 <%=xray_version ~="" and xray_version or translate("Null") %> 】 + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/auto_switch/footer.htm b/luci-app-passwall/luasrc/view/passwall/auto_switch/footer.htm new file mode 100644 index 00000000..cf672e22 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/auto_switch/footer.htm @@ -0,0 +1,22 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + + + + \ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/global/faq.htm b/luci-app-passwall/luasrc/view/passwall/global/faq.htm new file mode 100644 index 00000000..14a19339 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/global/faq.htm @@ -0,0 +1,43 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> +
+
+
    <%:About DNS issues:%> +
  • 1. <%:Some browsers may have built-in DNS, be sure to close. Example: Chrome. Settings - Security and Privacy - Security - Use secure DNS disabled.%>
  • +
  • 2. <%:Sometimes after restart, you can not internet, especially the GFW mode. At this time, close all browsers (important), Windows Client, please `ipconfig / flushdns`. Please close the WiFi on the phone, cut the flight mode and then cut back.%>
  • +
  • 3. <%:The client DNS and the default gateway must point to this router.%>
  • +
  • 4. <%:If you have a wrong DNS process, the consequences are at your own risk!%>
  • +
+
+
+
+ + \ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/global/footer.htm b/luci-app-passwall/luasrc/view/passwall/global/footer.htm new file mode 100644 index 00000000..c0f88c20 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/global/footer.htm @@ -0,0 +1,143 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local auto_switch = api.uci_get_type("auto_switch", "enable", 0) +-%> + \ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/global/status.htm b/luci-app-passwall/luasrc/view/passwall/global/status.htm new file mode 100644 index 00000000..7b9d5212 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/global/status.htm @@ -0,0 +1,278 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + + + +
+ + <%:Running Status%> + +
+
+
+
+
+ +
+
+
+

TCP
<%:NOT RUNNING%>

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

UDP
<%:NOT RUNNING%>

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

DNS
<%:NOT RUNNING%>

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

<%:Load Balancing%>
<%:NOT RUNNING%>

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

<%:Baidu Connection%>
<%:Touch Check%>

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

<%:Google Connection%>
<%:Touch Check%>

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

<%:GitHub Connection%>
<%:Touch Check%>

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

<%:Instagram Connection%>
<%:Touch Check%>

+
+
+
+
+ +
diff --git a/luci-app-passwall/luasrc/view/passwall/haproxy/status.htm b/luci-app-passwall/luasrc/view/passwall/haproxy/status.htm new file mode 100644 index 00000000..91fcf1e2 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/haproxy/status.htm @@ -0,0 +1,26 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +local console_port = api.uci_get_type("global_haproxy", "console_port", "") +-%> +

+ + diff --git a/luci-app-passwall/luasrc/view/passwall/log/log.htm b/luci-app-passwall/luasrc/view/passwall/log/log.htm new file mode 100644 index 00000000..fcf81669 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/log/log.htm @@ -0,0 +1,30 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + +
+ + +
diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm new file mode 100644 index 00000000..1d504cd9 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm @@ -0,0 +1,108 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + + + + + + + +
+ +
+ + + + + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm new file mode 100644 index 00000000..c1db7a0e --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm @@ -0,0 +1,960 @@ +<%+cbi/valueheader%> +<% +local api = require "luci.model.cbi.passwall.api.api" +local has_v2ray = api.is_finded("v2ray") +local has_xray = api.is_finded("xray") +-%> + + + + +<%+cbi/valuefooter%> diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/node_list.htm b/luci-app-passwall/luasrc/view/passwall/node_list/node_list.htm new file mode 100644 index 00000000..a0abe6f0 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/node_list/node_list.htm @@ -0,0 +1,475 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + + + + + +
+
+
<%:You choose node is:%>
+
+ + + +
+
+
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm b/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm new file mode 100644 index 00000000..c0256c71 --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm @@ -0,0 +1,76 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" + +local gfwlist_update = api.uci_get_type("global_rules", "gfwlist_update", "1") == "1" and "checked='checked'" or "" +local chnroute_update = api.uci_get_type("global_rules", "chnroute_update", "1") == "1" and "checked='checked'" or "" +local chnroute6_update = api.uci_get_type("global_rules", "chnroute6_update", "1") == "1" and "checked='checked'" or "" +local chnlist_update = api.uci_get_type("global_rules", "chnlist_update", "1") == "1" and "checked='checked'" or "" +local geoip_update = api.uci_get_type("global_rules", "geoip_update", "1") == "1" and "checked='checked'" or "" +local geosite_update = api.uci_get_type("global_rules", "geosite_update", "1") == "1" and "checked='checked'" or "" +-%> + + +
+ +
+
+ + + + + + + +
+
+
diff --git a/luci-app-passwall/luasrc/view/passwall/server/log.htm b/luci-app-passwall/luasrc/view/passwall/server/log.htm new file mode 100644 index 00000000..0164f81d --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/server/log.htm @@ -0,0 +1,34 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + +
+ + <%:Logs%> + + + +
\ No newline at end of file diff --git a/luci-app-passwall/luasrc/view/passwall/server/users_list_status.htm b/luci-app-passwall/luasrc/view/passwall/server/users_list_status.htm new file mode 100644 index 00000000..d6dbddef --- /dev/null +++ b/luci-app-passwall/luasrc/view/passwall/server/users_list_status.htm @@ -0,0 +1,38 @@ +<% +local api = require "luci.model.cbi.passwall.api.api" +-%> + \ No newline at end of file diff --git a/luci-app-passwall/po/zh-cn/passwall.po b/luci-app-passwall/po/zh-cn/passwall.po new file mode 100644 index 00000000..01c52001 --- /dev/null +++ b/luci-app-passwall/po/zh-cn/passwall.po @@ -0,0 +1,1379 @@ +msgid "Pass Wall" +msgstr "PassWall" + +msgid "Auto" +msgstr "自动" + +msgid "RUNNING" +msgstr "运行中" + +msgid "NOT RUNNING" +msgstr "未运行" + +msgid "Working..." +msgstr "连接正常" + +msgid "Problem detected!" +msgstr "连接失败" + +msgid "Very Fast" +msgstr "非常快" + +msgid "Fast" +msgstr "很快" + +msgid "General" +msgstr "一般般" + +msgid "Slow" +msgstr "很慢" + +msgid "Very Slow" +msgstr "非常慢" + +msgid "Touch Check" +msgstr "点我检测" + +msgid "Kernel Unsupported" +msgstr "内核不支持" + +msgid "Use IPv6" +msgstr "使用IPv6" + +msgid "Parsing IP" +msgstr "域名解析IP" + +msgid "TCP Server" +msgstr "TCP服务器" + +msgid "UDP Server" +msgstr "UDP服务器" + +msgid "Main Settings" +msgstr "节点选择" + +msgid "Basic Settings" +msgstr "基本设置" + +msgid "Node List" +msgstr "节点列表" + +msgid "Other Settings" +msgstr "高级设置" + +msgid "Load Balancing" +msgstr "负载均衡" + +msgid "Enter interface" +msgstr "进入界面" + +msgid "Rule Manage" +msgstr "规则管理" + +msgid "Rule List" +msgstr "规则列表" + +msgid "Access control" +msgstr "访问控制" + +msgid "Watch Logs" +msgstr "查看日志" + +msgid "Node Config" +msgstr "节点配置" + +msgid "Running Status" +msgstr "运行状态" + +msgid "Baidu Connection" +msgstr "百度连接" + +msgid "Google Connection" +msgstr "谷歌连接" + +msgid "GitHub Connection" +msgstr "GitHub连接" + +msgid "Instagram Connection" +msgstr "Instagram连接" + +msgid "Node Check" +msgstr "节点检测" + +msgid "Check..." +msgstr "检测中..." + +msgid "Clear" +msgstr "清除" + +msgid "Main switch" +msgstr "主开关" + +msgid "TCP Node" +msgstr "TCP节点" + +msgid "UDP Node" +msgstr "UDP节点" + +msgid "Edit Current Node" +msgstr "编辑当前节点" + +msgid "Socks Config" +msgstr "Socks配置" + +msgid "Socks Node" +msgstr "Socks节点" + +msgid "Listen Port" +msgstr "监听端口" + +msgid "0 is not use" +msgstr "0为不使用" + +msgid "Same as the tcp node" +msgstr "与TCP节点相同" + +msgid "Current node: %s" +msgstr "当前节点:%s" + +msgid "For proxy specific list." +msgstr "用于代理特定的列表。" + +msgid "For proxy game network." +msgstr "用于代理游戏等。" + +msgid "DNS Shunt" +msgstr "DNS分流" + +msgid "Domestic group name" +msgstr "国内分组名" + +msgid "You only need to configure domestic DNS packets in SmartDNS and set it redirect or as Dnsmasq upstream, and fill in the domestic DNS group name here." +msgstr "你只需要在SmartDNS配置好国内DNS分组,并设置重定向或作为Dnsmasq上游,此处填入国内DNS分组名。" + +msgid "Filter Mode" +msgstr "过滤模式" + +msgid "TCP node must be '%s' type to use FakeDNS." +msgstr "TCP节点必须是 '%s' 类型才能使用 FakeDNS。" + +msgid "Remote DNS" +msgstr "远程DNS" + +msgid "IP:Port mode acceptable, multi value split with english comma." +msgstr "接受 IP:Port 形式的输入,多个以英文逗号分隔。" + +msgid "If you use dns2socks, only the first one is valid." +msgstr "如果使用dns2socks,只有第一个生效。" + +msgid "Ali" +msgstr "阿里" + +msgid "Baidu" +msgstr "百度" + +msgid "Resolver For The List Proxied" +msgstr "解析被代理的域名列表" + +msgid "Requery DNS By %s" +msgstr "通过%s请求DNS" + +msgid "Socks Server" +msgstr "Socks服务器" + +msgid "Misconfigured" +msgstr "配置不当" + +msgid "Make sure socks service is available on this address." +msgstr "请确保此Socks服务可用。" + +msgid "Format must be:" +msgstr "格式必须为:" + +msgid "DoH request address" +msgstr "DoH 请求地址" + +msgid "China list or gfwlist cannot be used together with outside China list!" +msgstr "中国列表不能和中国列表外或防火墙表一起使用!" + +msgid "Cache Resolved" +msgstr "缓存解析结果" + +msgid "Notify the DNS server when the DNS query is notified, the location of the client (cannot be a private IP address)." +msgstr "用于 DNS 查询时通知 DNS 服务器,客户端所在的地理位置(不能是私有 IP 地址)。" + +msgid "This feature requires the DNS server to support the Edns Client Subnet (RFC7871)." +msgstr "此功能需要 DNS 服务器支持 EDNS Client Subnet(RFC7871)。" + +msgid "When the accessed domain name does not exist in the rule list, the default DNS used." +msgstr "当访问的域名不存在规则列表中,使用的默认DNS。" + +msgid "The effect is better, but will increase the memory." +msgstr "效果更好,但会增加内存使用。" + +msgid "Filter Proxy Host IPv6" +msgstr "过滤代理域名 IPv6" + +msgid "Experimental feature." +msgstr "实验性功能。" + +msgid "Clear IPSET" +msgstr "清空 IPSET" + +msgid "Try this feature if the rule modification does not take effect." +msgstr "如果修改规则后没有生效,请尝试此功能。" + +msgid "The server client can also use this rule to scientifically surf the Internet." +msgstr "本机服务器的客户端也可以使用这个代理模式上网。" + +msgid "About DNS issues:" +msgstr "关于DNS问题:" + +msgid "Some browsers may have built-in DNS, be sure to close. Example: Chrome. Settings - Security and Privacy - Security - Use secure DNS disabled." +msgstr "部分浏览器可能有内置的DNS,请务必关闭。如:chrome。 设置 - 安全和隐私设置 - 使用安全 DNS 关闭。" + +msgid "Sometimes after restart, you can not internet, especially the GFW mode. At this time, close all browsers (important), Windows Client, please `ipconfig / flushdns`. Please close the WiFi on the phone, cut the flight mode and then cut back." +msgstr "有时候重启后,上不了,尤其是GFW模式。这时请先关闭所有浏览器(重要),Windows客户端请`ipconfig/flushdns`。手机端请关闭WIFI,切一下飞行模式再切回来。" + +msgid "The client DNS and the default gateway must point to this router." +msgstr "客户端DNS和默认网关必须指向本路由器。" + +msgid "If you have a wrong DNS process, the consequences are at your own risk!" +msgstr "如果你自行配置了错误的DNS流程,后果自负!" + +msgid "You can use load balancing for failover." +msgstr "可以使用负载均衡实现故障切换功能。" + +msgid "Restore the default configuration method. Input example in the address bar:" +msgstr "恢复默认配置方法,地址栏输入例:" + +msgid "Hide menu method, input example in the address bar:" +msgstr "隐藏菜单方法,地址栏输入例:" + +msgid "After the hidden to the display, input example in the address bar:" +msgstr "当你隐藏后想再次显示,地址栏输入例:" + +msgid "Are you sure to reset?" +msgstr "你确定要恢复吗?" + +msgid "Are you sure to hide?" +msgstr "你确定要隐藏吗?" + +msgid "DNS Export Of Multi WAN" +msgstr "国内DNS指定解析出口" + +msgid "Node Export Of Multi WAN" +msgstr "节点指定出口" + +msgid "Only support Multi Wan." +msgstr "只有多线接入才有效。" + +msgid "Not Specify" +msgstr "不指定" + +msgid "custom" +msgstr "自定义" + +msgid "Process" +msgstr "进程" + +msgid "1 Process" +msgstr "单进程" + +msgid "Proxy Mode" +msgstr "代理模式" + +msgid "%s Proxy Mode" +msgstr "%s 代理模式" + +msgid "If not available, try clearing the cache." +msgstr "如果无法使用,请尝试清除缓存。" + +msgid "No Proxy" +msgstr "不代理" + +msgid "Global Proxy" +msgstr "全局代理" + +msgid "GFW List" +msgstr "GFW列表" + +msgid "Not China List" +msgstr "中国列表以外" + +msgid "Game Mode" +msgstr "游戏模式" + +msgid "China List" +msgstr "中国列表" + +msgid "Only use direct/proxy list" +msgstr "仅使用直连/代理列表" + +msgid "Localhost" +msgstr "本机" + +msgid "Router Localhost" +msgstr "路由器自身" + +msgid "Danger" +msgstr "危险" + +msgid "Same as the %s default proxy mode" +msgstr "与 %s 默认代理模式相同" + +msgid "Want different devices to use different proxy modes/ports/nodes? Please use access control." +msgstr "希望不同设备使用不同的代理模式/端口/节点?请使用访问控制。" + +msgid "Operation" +msgstr "操作" + +msgid "Add Node" +msgstr "添加节点" + +msgid "Add the node via the link" +msgstr "通过链接添加节点" + +msgid "SS/SSR/Vmess/VLESS/Trojan/Hysteria Link" +msgstr "SS/SSR/Vmess/VLESS/Trojan/Hysteria 链接" + +msgid "Please enter the correct link." +msgstr "请输入正确的链接。" + +msgid "Clear all nodes" +msgstr "清空所有节点" + +msgid "Are you sure to clear all nodes?" +msgstr "你确定要清空所有节点吗?" + +msgid "Error" +msgstr "错误" + +msgid "Delete select nodes" +msgstr "删除选择的节点" + +msgid "To Top" +msgstr "置顶" + +msgid "Select" +msgstr "选择" + +msgid "DeSelect" +msgstr "反选" + +msgid "Select all" +msgstr "全选" + +msgid "DeSelect all" +msgstr "全不选" + +msgid "Are you sure to delete select nodes?" +msgstr "你确定要删除选择的节点吗?" + +msgid "You no select nodes !" +msgstr "你没有选择任何节点!" + +msgid "Are you sure set to" +msgstr "你确定要设为" + +msgid "the server?" +msgstr "服务器吗?" + +msgid "You choose node is:" +msgstr "你选择的节点是:" + +msgid "Timeout" +msgstr "超时" + +msgid "Node Remarks" +msgstr "节点备注" + +msgid "Add Mode" +msgstr "添加方式" + +msgid "Type" +msgstr "类型" + +msgid "Balancing" +msgstr "负载均衡" + +msgid "Xray_balancing" +msgstr "Xray 负载均衡" + +msgid "V2ray_balancing" +msgstr "V2ray 负载均衡" + +msgid "Shunt" +msgstr "分流" + +msgid "Xray_shunt" +msgstr "Xray 分流" + +msgid "V2ray_shunt" +msgstr "V2ray 分流" + +msgid "Preproxy" +msgstr "前置代理" + +msgid "Direct Connection" +msgstr "直连" + +msgid "Blackhole" +msgstr "黑洞" + +msgid "Default Preproxy" +msgstr "默认前置代理" + +msgid "No shunt rules? Click me to go to add." +msgstr "没有分流规则?点我前往去添加。" + +msgid "When using, localhost will connect this node first and then use this node to connect the default node." +msgstr "当使用时,本机将首先连接到此节点,然后再使用此节点连接到默认节点落地。" + +msgid "Domain Strategy" +msgstr "域名解析策略" + +msgid "Domain matcher" +msgstr "域名匹配算法" + +msgid "'AsIs': Only use domain for routing. Default value." +msgstr "AsIs:只使用域名进行路由选择。默认值。" + +msgid "'IPIfNonMatch': When no rule matches current domain, resolves it into IP addresses (A or AAAA records) and try all rules again." +msgstr "IPIfNonMatch:当域名没有匹配任何规则时,将域名解析成 IP(A 记录或 AAAA 记录)再次进行匹配。" + +msgid "'IPOnDemand': As long as there is a IP-based rule, resolves the domain into IP immediately." +msgstr "IPOnDemand:当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配。" + +msgid "Load balancing node list" +msgstr "负载均衡节点列表" + +msgid "Load balancing node list, document" +msgstr "负载均衡节点列表,文档原理" + +msgid "From Share URL" +msgstr "导入分享URL" + +msgid "Build Share URL" +msgstr "导出分享URL" + +msgid "Import Finished" +msgstr "导入完成:" + +msgid "Not a supported scheme:" +msgstr "不支持这种样式的:" + +msgid "Invalid Share URL Format" +msgstr "无效的分享URL信息" + +msgid "Paste Share URL Here" +msgstr "在此处粘贴分享信息" + +msgid "Share URL to clipboard unable." +msgstr "无法分享URL到剪贴板。" + +msgid "Share URL to clipboard successfully." +msgstr "成功复制分享URL到剪贴板。" + +msgid "Faltal on get option, please help in debug:" +msgstr "代码错误,请协助捉虫:" + +msgid "Faltal on set option, please help in debug:" +msgstr "代码错误,请协助捉虫:" + +msgid "Address" +msgstr "地址" + +msgid "Address (Support Domain Name)" +msgstr "地址(支持域名)" + +msgid "Trojan Verify Cert" +msgstr "验证证书" + +msgid "Trojan Cert Path" +msgstr "证书路径" + +msgid "Finger Print" +msgstr "指纹伪造" + +msgid "Original" +msgstr "原版" + +msgid "Transport Plugin" +msgstr "传输层插件" + +msgid "Shadowsocks secondary encryption" +msgstr "Shadowsocks 二次加密" + +msgid "Obfs Password" +msgstr "混淆密码" + +msgid "Auth Type" +msgstr "认证类型" + +msgid "Auth Password" +msgstr "认证密码" + +msgid "Max upload Mbps" +msgstr "最大上行(Mbps)" + +msgid "Max download Mbps" +msgstr "最大下行(Mbps)" + +msgid "QUIC stream receive window" +msgstr "QUIC 流接收窗口" + +msgid "QUIC connection receive window" +msgstr "QUIC 连接接收窗口" + +msgid "Disable MTU detection" +msgstr "禁用 MTU 检测" + +msgid "Encrypt Method" +msgstr "加密" + +msgid "Latency" +msgstr "延迟" + +msgid "Show Add Mode" +msgstr "显示添加方式" + +msgid "Show Group" +msgstr "显示组" + +msgid "Group" +msgstr "组" + +msgid "Auto Ping" +msgstr "自动Ping" + +msgid "This will automatically ping the node for latency" +msgstr "选中后保存应用后即自动Ping节点" + +msgid "Use TCP Detection delay" +msgstr "使用TCP检测延迟" + +msgid "This will use tcping replace ping detection of node" +msgstr "选中后保存应用后即使用tcping替换ping检测节点" + +msgid "Concise display nodes" +msgstr "简洁显示节点" + +msgid "Show server address and port" +msgstr "显示服务器地址和端口" + +msgid "Availability test" +msgstr "可用性测试" + +msgid "Node num" +msgstr "节点数量" + +msgid "Self add" +msgstr "自添" + +msgid "Apply" +msgstr "应用" + +msgid "Use" +msgstr "使用" + +msgid "Copy" +msgstr "复制" + +msgid "Delay Settings" +msgstr "定时配置" + +msgid "Open and close Daemon" +msgstr "启动守护进程" + +msgid "Delay Start" +msgstr "开机时延时启动" + +msgid "Units:seconds" +msgstr "单位:秒" + +msgid "Units:minutes" +msgstr "单位:分钟" + +msgid "Open and close automatically" +msgstr "定时自动开关" + +msgid "Automatically turn off time" +msgstr "自动关闭时间" + +msgid "Automatically turn on time" +msgstr "自动开启时间" + +msgid "Automatically restart time" +msgstr "自动重启时间" + +msgid "Forwarding Settings" +msgstr "转发配置" + +msgid "TCP No Redir Ports" +msgstr "TCP不转发端口" + +msgid "UDP No Redir Ports" +msgstr "UDP不转发端口" + +msgid "Fill in the ports you don't want to be forwarded by the agent, with the highest priority." +msgstr "填写你不希望被代理转发的端口,优先级最高。" + +msgid "TCP Proxy Drop Ports" +msgstr "TCP转发屏蔽端口" + +msgid "UDP Proxy Drop Ports" +msgstr "UDP转发屏蔽端口" + +msgid "TCP Redir Ports" +msgstr "TCP转发端口" + +msgid "UDP Redir Ports" +msgstr "UDP转发端口" + +msgid "No patterns are used" +msgstr "不使用" + +msgid "All" +msgstr "所有" + +msgid "Common Use" +msgstr "常用的" + +msgid "Only Web" +msgstr "仅网页" + +msgid "or more" +msgstr "及以上" + +msgid "or less" +msgstr "及以下" + +msgid "Default" +msgstr "默认" + +msgid "Close" +msgstr "关闭" + +msgid "Hijacking ICMP (PING)" +msgstr "劫持ICMP (PING)" + +msgid "Hijacking ICMPv6 (IPv6 PING)" +msgstr "劫持ICMPv6 (IPv6 PING)" + +msgid "Sniffing (V2Ray/Xray)" +msgstr "流量嗅探 (V2ray/Xray)" + +msgid "When using the V2ray/Xray shunt, must be enabled, otherwise the shunt will invalid." +msgstr "使用 V2Ray/Xray 分流时,必须启用,否则分流将无效。" + +msgid "Sniffing Route Only (Xray)" +msgstr "流量嗅探只供路由使用 (Xray)" + +msgid "When enabled, the server not will resolve the domain name again." +msgstr "启用后,服务器不会再次解析域名。" + +msgid "TCP Proxy Way" +msgstr "TCP代理方式" + +msgid "Proxy Settings" +msgstr "代理配置" + +msgid "TCP Redir Port" +msgstr "TCP透明代理端口" + +msgid "UDP Redir Port" +msgstr "UDP透明代理端口" + +msgid "Custom Dnsmasq" +msgstr "自定义Dnsmasq设置" + +msgid "Setting a parameter error will cause dnsmasq fail to start." +msgstr "参数设置错误将会导致Dnsmasq无法启动。" + +msgid "Auto Switch" +msgstr "自动切换" + +msgid "When there is no server, an automatic reconnect scheme is used" +msgstr "当没有服务器时,则使用自动重连方案" + +msgid "How often to test" +msgstr "多久检测一次" + +msgid "Timeout seconds" +msgstr "超时秒数" + +msgid "Timeout retry num" +msgstr "超时重试次数" + +msgid "Automatic switching cannot be used when this option is checked" +msgstr "当勾选此选项时,不能使用自动切换" + +msgid "Main node" +msgstr "主节点" + +msgid "List of backup nodes" +msgstr "备用节点的列表" + +msgid "Restore Switch" +msgstr "恢复切换" + +msgid "When detects main node is available, switch back to the main node." +msgstr "当检测到主节点可用时,切换回主节点。" + +msgid "If the main node is V2ray/Xray shunt" +msgstr "如果主节点是V2ray/Xray分流" + +msgid "Switch it" +msgstr "切掉它" + +msgid "Applying to the default node" +msgstr "应用于默认节点" + +msgid "Applying to the default preproxy node" +msgstr "应用于默认前置节点" + +msgid "Add nodes to the standby node list by keywords" +msgstr "通过关键字添加节点到备用节点列表" + +msgid "Delete nodes in the standby node list by keywords" +msgstr "通过关键字删除备用节点列表的节点" + +msgid "Please enter the node keyword, pay attention to distinguish between spaces, uppercase and lowercase." +msgstr "请输入节点关键字,注意区分空格、大写和小写。" + +msgid "Configure this node with 127.0.0.1: this port" +msgstr "使用127.0.0.1和此端口配置节点" + +msgid "Enable Load Balancing" +msgstr "开启负载均衡" + +msgid "Console Username" +msgstr "控制台账号" + +msgid "Console Password" +msgstr "控制台密码" + +msgid "Console Port" +msgstr "控制台端口" + +msgid "In the browser input routing IP plus port access, such as:192.168.1.1:1188" +msgstr "在浏览器输入路由IP加端口访问,如:192.168.1.1:1188" + +msgid "Haproxy Port" +msgstr "负载均衡端口" + +msgid "Add a node, Export Of Multi WAN Only support Multi Wan. Load specific gravity range 1-256. Multiple primary servers can be load balanced, standby will only be enabled when the primary server is offline! Multiple groups can be set, Haproxy port same one for each group." +msgstr "添加节点,指定出口功能是为多WAN用户准备的。负载比重范围1-256。多个主服务器可以负载均衡,备用只有在主服务器离线时才会启用!可以设置多个组,负载均衡端口相同则为一组。" + +msgid "Note that the node configuration parameters for load balancing must be consistent, otherwise problems can arise!" +msgstr "注意,负载均衡的节点配置参数必须一致,否则会出问题!" + +msgid "Node" +msgstr "节点" + +msgid "Node Address" +msgstr "节点地址" + +msgid "Node Port" +msgstr "节点端口" + +msgid "Node Weight" +msgstr "负载比重" + +msgid "Export Of Multi WAN" +msgstr "多WAN指定出口" + +msgid "Main" +msgstr "主要" + +msgid "Mode" +msgstr "模式" + +msgid "Primary" +msgstr "主要" + +msgid "Standby" +msgstr "备用" + +msgid "Manually update" +msgstr "手动更新" + +msgid "Enable custom URL" +msgstr "启用自定义规则地址" + +msgid "GFW domains(gfwlist) Update URL" +msgstr "防火墙域名列表(gfwlist)更新URL" + +msgid "China IPs(chnroute) Update URL" +msgstr "中国IP段(chnroute)更新URL" + +msgid "China IPv6s(chnroute6) Update URL" +msgstr "中国IPv6段(chnroute6)更新URL" + +msgid "China List(Chnlist) Update URL" +msgstr "中国域名列表(Chnlist)更新URL" + +msgid "Rule status" +msgstr "规则版本" + +msgid "Enable auto update rules" +msgstr "开启自动更新规则" + +msgid "Week update rules" +msgstr "更新时间星期" + +msgid "Day update rules" +msgstr "更新时间小时" + +msgid "Every day" +msgstr "每天" + +msgid "day" +msgstr "日" + +msgid "Week" +msgstr "周" + +msgid "oclock" +msgstr "点" + +msgid "Location of V2ray/Xray asset" +msgstr "V2ray/Xray 资源文件目录" + +msgid "This variable specifies a directory where geoip.dat and geosite.dat files are." +msgstr "此变量指定geoip.dat和geosite.dat文件所在的目录。" + +msgid "Shunt Rule" +msgstr "分流规则" + +msgid "Please note attention to the priority, the higher the order, the higher the priority." +msgstr "请注意优先级问题,排序越上面优先级越高。" + +msgid "Update..." +msgstr "更新中" + +msgid "It is the latest version" +msgstr "已是最新版本" + +msgid "Update successful" +msgstr "更新成功" + +msgid "Click to update" +msgstr "点击更新" + +msgid "Updating..." +msgstr "更新中" + +msgid "Unexpected error" +msgstr "意外错误" + +msgid "Updating, are you sure to close?" +msgstr "正在更新,你确认要关闭吗?" + +msgid "Downloading..." +msgstr "下载中" + +msgid "Unpacking..." +msgstr "解压中" + +msgid "Moving..." +msgstr "移动中" + +msgid "App Update" +msgstr "组件更新" + +msgid "Please confirm that your firmware supports FPU." +msgstr "请确认你的固件支持FPU。" + +msgid "if you want to run from memory, change the path, /tmp beginning then save the application and update it manually." +msgstr "如果你希望从内存中运行,请更改路径,/tmp 开头,然后保存应用后,再手动更新。" + +msgid "Make sure there is enough space to install %s" +msgstr "确保有足够的空间安装 %s" + +msgid "App Path" +msgstr "程序路径" + +msgid "%s App Path" +msgstr "%s 程序路径" + +msgid "%s Client App Path" +msgstr "%s 客户端程序路径" + +msgid "Trojan-Go Version API" +msgstr "Trojan-Go 版本 API" + +msgid "alternate API URL for version checking" +msgstr "用于版本检查的 API URL" + +msgid "Node Subscribe" +msgstr "节点订阅" + +msgid "Subscribe Remark" +msgstr "订阅备注(机场)" + +msgid "Subscribe URL" +msgstr "订阅网址" + +msgid "Please input the subscription url first, save and submit before manual subscription." +msgstr "请输入订阅网址保存应用后再手动订阅。" + +msgid "Subscribe via proxy" +msgstr "通过代理订阅" + +msgid "Enable auto update subscribe" +msgstr "开启自动更新订阅" + +msgid "Manual subscription" +msgstr "手动订阅" + +msgid "Delete All Subscribe Node" +msgstr "删除所有订阅节点" + +msgid "Delete the subscribed node" +msgstr "删除已订阅的节点" + +msgid "Manual subscription All" +msgstr "手动订阅全部" + +msgid "This remark already exists, please change a new remark." +msgstr "此备注已存在,请改一个新的备注。" + +msgid "Filter keyword Mode" +msgstr "过滤关键字模式" + +msgid "Discard List" +msgstr "丢弃列表" + +msgid "Keep List" +msgstr "保留列表" + +msgid "Discard List,But Keep List First" +msgstr "丢弃列表,但保留列表优先" + +msgid "Keep List,But Discard List First" +msgstr "保留列表,但丢弃列表优先" + +msgid "Use global config" +msgstr "使用全局配置" + +msgid "User-Agent" +msgstr "用户代理(User-Agent)" + +msgid "Add" +msgstr "添加" + +msgid "ACLs" +msgstr "访问控制" + +msgid "ACLs is a tools which used to designate specific IP proxy mode." +msgstr "访问控制列表是用于指定特殊IP代理模式的工具。" + +msgid "Example:" +msgstr "例:" + +msgid "IP range" +msgstr "IP 范围" + +msgid "Remarks" +msgstr "备注" + +msgid "Direct List" +msgstr "直连列表" + +msgid "Proxy List" +msgstr "代理列表" + +msgid "Block List" +msgstr "屏蔽列表" + +msgid "Lan IP List" +msgstr "局域网IP列表" + +msgid "Route Hosts" +msgstr "路由Hosts文件" + +msgid "Join the direct hosts list of domain names will not proxy." +msgstr "加入的域名不走代理,对所有模式有效。且优先级最高。" + +msgid "These had been joined ip addresses will not proxy. Please input the ip address or ip address segment,every line can input only one ip address. For example: 192.168.0.0/24 or 223.5.5.5." +msgstr "加入的IP段不走代理,对所有模式有效。且优先级最高。可输入IP地址或地址段,如:192.168.0.0/24或223.5.5.5,每个地址段一行。" + +msgid "These had been joined websites will use proxy. Please input the domain names of websites, every line can input only one website domain. For example: google.com." +msgstr "加入的域名将走代理。输入网站域名,如:google.com,每个地址段一行。" + +msgid "These had been joined ip addresses will use proxy. Please input the ip address or ip address segment, every line can input only one ip address. For example: 35.24.0.0/24 or 8.8.4.4." +msgstr "加入的IP段将走代理。可输入IP地址或地址段,如:35.24.0.0/24或8.8.4.4,每个地址段一行。" + +msgid "These had been joined websites will be block. Please input the domain names of websites, every line can input only one website domain. For example: twitter.com." +msgstr "加入的域名将屏蔽。输入网站域名,如:twitter.com,每个地址段一行。" + +msgid "The list is the IPv4 LAN IP list, which represents the direct connection IP of the LAN. If you need the LAN IP in the proxy list, please clear it from the list. Do not modify this list by default." +msgstr "列表中为IPv4的局域网IP列表,代表局域网直连IP。如果需要代理列表中的局域网IP,请将其在该列表中清除,并将其添加到代理列表中。默认情况下不要修改这个列表。" + +msgid "The list is the IPv6 LAN IP list, which represents the direct connection IP of the LAN. If you need the LAN IP in the proxy list, please clear it from the list. Do not modify this list by default." +msgstr "列表中为IPv6的局域网IP列表,代表局域网直连IP。如果需要代理列表中的局域网IP,请将其在该列表中清除,并将其添加到代理列表中。默认情况下不要修改这个列表。" + +msgid "Configure routing etc/hosts file, if you don't know what you are doing, please don't change the content." +msgstr "配置路由etc/hosts文件,如果你不知道自己在做什么,请不要改动内容。" + +msgid "These had been joined ip addresses will be block. Please input the ip address or ip address segment, every line can input only one ip address." +msgstr "加入的IP段将屏蔽。可输入IP地址或地址段,每个地址段一行。" + +msgid "Not valid domain name, please re-enter!" +msgstr "不是有效域名,请重新输入!" + +msgid "Not valid IP format, please re-enter!" +msgstr "不是有效IP格式,请重新输入!" + +msgid "Not valid IPv4 format, please re-enter!" +msgstr "不是有效IPv4格式,请重新输入!" + +msgid "Not valid IPv6 format, please re-enter!" +msgstr "不是有效IPv6格式,请重新输入!" + +msgid "Not true format, please re-enter!" +msgstr "不是正确的格式,请重新输入!" + +msgid "Plaintext: If this string matches any part of the targeting domain, this rule takes effet. Example: rule 'sina.com' matches targeting domain 'sina.com', 'sina.com.cn' and 'www.sina.com', but not 'sina.cn'." +msgstr "纯字符串: 当此字符串匹配目标域名中任意部分,该规则生效。比如'sina.com'可以匹配'sina.com'、'sina.com.cn'和'www.sina.com',但不匹配'sina.cn'。" + +msgid "Regular expression: Begining with 'regexp:', the rest is a regular expression. When the regexp matches targeting domain, this rule takes effect. Example: rule 'regexp:\\.goo.*\\.com$' matches 'www.google.com' and 'fonts.googleapis.com', but not 'google.com'." +msgstr "正则表达式: 由'regexp:'开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如'regexp:\\.goo.*\\.com$'匹配'www.google.com'、'fonts.googleapis.com',但不匹配'google.com'。" + +msgid "Subdomain (recommended): Begining with 'domain:' and the rest is a domain. When the targeting domain is exactly the value, or is a subdomain of the value, this rule takes effect. Example: rule 'domain:v2ray.com' matches 'www.v2ray.com', 'v2ray.com', but not 'xv2ray.com'." +msgstr "子域名 (推荐): 由'domain:'开始,余下部分是一个域名。当此域名是目标域名或其子域名时,该规则生效。例如'domain:v2ray.com'匹配'www.v2ray.com'、'v2ray.com',但不匹配'xv2ray.com'。" + +msgid "Full domain: Begining with 'full:' and the rest is a domain. When the targeting domain is exactly the value, the rule takes effect. Example: rule 'domain:v2ray.com' matches 'v2ray.com', but not 'www.v2ray.com'." +msgstr "完整匹配: 由'full:'开始,余下部分是一个域名。当此域名完整匹配目标域名时,该规则生效。例如'full:v2ray.com'匹配'v2ray.com'但不匹配'www.v2ray.com'。" + +msgid "Pre-defined domain list: Begining with 'geosite:' and the rest is a name, such as geosite:google or geosite:cn." +msgstr "预定义域名列表:由'geosite:'开头,余下部分是一个名称,如geosite:google或者geosite:cn。" + +msgid "Domains from file: Such as 'ext:file:tag'. The value must begin with ext: (lowercase), and followed by filename and tag. The file is placed in resource directory, and has the same format of geosite.dat. The tag must exist in the file." +msgstr "从文件中加载域名: 形如'ext:file:tag',必须以ext:(小写)开头,后面跟文件名和标签,文件存放在资源目录中,文件格式与geosite.dat相同,标签必须在文件中存在。" + +msgid "IP: such as '127.0.0.1'." +msgstr "IP: 形如'127.0.0.1'。" + +msgid "CIDR: such as '127.0.0.0/8'." +msgstr "CIDR: 形如'10.0.0.0/8'." + +msgid "GeoIP: such as 'geoip:cn'. It begins with geoip: (lower case) and followed by two letter of country code." +msgstr "GeoIP: 形如'geoip:cn',必须以geoip:(小写)开头,后面跟双字符国家代码,支持几乎所有可以上网的国家。" + +msgid "IPs from file: Such as 'ext:file:tag'. The value must begin with ext: (lowercase), and followed by filename and tag. The file is placed in resource directory, and has the same format of geoip.dat. The tag must exist in the file." +msgstr "从文件中加载 IP: 形如'ext:file:tag',必须以ext:(小写)开头,后面跟文件名和标签,文件存放在资源目录中,文件格式与geoip.dat相同标签必须在文件中存在。" + +msgid "Clear logs" +msgstr "清空日志" + +msgid "Need node support required" +msgstr "需要节点支持" + +msgid "Password" +msgstr "密码" + +msgid "IV Check" +msgstr "IV 检查" + +msgid "Connection Timeout" +msgstr "连接超时时间" + +msgid "Local Port" +msgstr "本地端口" + +msgid "TCP Fast Open" +msgstr "TCP快速打开" + +msgid "Need node support required" +msgstr "需要节点支持" + +msgid "plugin" +msgstr "插件" + +msgid "opts" +msgstr "插件选项" + +msgid "Protocol" +msgstr "协议名称" + +msgid "Protocol_param" +msgstr "协议参数" + +msgid "Obfs" +msgstr "混淆" + +msgid "Obfs_param" +msgstr "混淆参数" + +msgid "Plugin Name" +msgstr "插件名称" + +msgid "Plugin Arguments" +msgstr "插件参数" + +msgid "Brook Protocol" +msgstr "Brook协议" + +msgid "Use TLS" +msgstr "使用TLS" + +msgid "Naiveproxy Protocol" +msgstr "Naiveproxy协议" + +msgid "V2ray Protocol" +msgstr "V2ray协议" + +msgid "User Level" +msgstr "用户等级(level)" + +msgid "Transport" +msgstr "传输方式" + +msgid "Camouflage Type" +msgstr "伪装类型" + +msgid "Transport Layer Encryption" +msgstr "传输层加密" + +msgid "Whether or not transport layer encryption is enabled, \"none\" for unencrypted, \"tls\" for using TLS, \"xtls\" for using XTLS." +msgstr "是否启入传输层加密,支持的选项有 \"none\" 表示不加密,\"tls\" 表示使用 TLS,\"xtls\" 表示使用 XTLS。" + +msgid "Original Trojan only supported 'tls', please choose 'tls'." +msgstr "原版Trojan只支持'tls',请选择'tls'。" + +msgid "Transfer mode" +msgstr "传输模式" + +msgid "Domain" +msgstr "域名" + +msgid "allowInsecure" +msgstr "允许不安全连接" + +msgid "Whether unsafe connections are allowed. When checked, Certificate validation will be skipped." +msgstr "是否允许不安全连接。当勾选时,将跳过证书验证。" + +msgid "SS AEAD Node Use Type" +msgstr "SS AEAD节点使用类型" + +msgid "Trojan Node Use Type" +msgstr "Trojan节点使用类型" + +msgid "
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)" +msgstr "
none:默认值,不进行伪装,发送的数据是没有特征的数据包。
srtp:伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)。
utp:伪装成 uTP 数据包,会被识别为 BT 下载数据。
wechat-video:伪装成微信视频通话的数据包。
dtls:伪装成 DTLS 1.2 数据包。
wireguard:伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" + +msgid "A legal file path. This file must not exist before running." +msgstr "一个合法的文件路径。在运行之前,这个文件必须不存在。" + +msgid "Auth" +msgstr "身份认证" + +msgid "Socks for authentication" +msgstr "Socks认证方式" + +msgid "Socks protocol authentication, support anonymous and password." +msgstr "Socks 协议的认证方式,支持匿名方式和账号密码方式。" + +msgid "anonymous" +msgstr "匿名" + +msgid "User Password" +msgstr "账号密码" + +msgid "Username and Password must be used together!" +msgstr "账号和密码必须同时使用!" + +msgid "Node Number" +msgstr "节点数量" + +msgid "You can only set up a maximum of %s nodes for the time being, Used for access control." +msgstr "目前最多只能设置%s个节点,用于给访问控制使用。" + +msgid "IPv6 TProxy" +msgstr "IPv6透明代理(TProxy)" + +msgid "Experimental feature. Make sure that your node supports IPv6." +msgstr "实验特性,请确保你的节点支持IPv6" + +msgid "Status info" +msgstr "状态信息" + +msgid "Big icon" +msgstr "大图标" + +msgid "Show node check" +msgstr "显示节点检测" + +msgid "Show Show IP111" +msgstr "显示IP111" + +msgid "The MTProto protocol must be 32 characters and can only contain characters from 0 to 9 and a to f." +msgstr "MTProto 协议必须为 32 个字符,仅可包含 0 到 9 和 a 到 f 之间的字符。" + +msgid "Destination protocol" +msgstr "目标协议" + +msgid "Destination address" +msgstr "目标地址" + +msgid "Destination port" +msgstr "目标端口" + +msgid "Whether to receive PROXY protocol, when this node want to be fallback or forwarded by proxy, it must be enable, otherwise it cannot be used." +msgstr "是否接收 PROXY protocol,当该节点要被回落或被代理转发时,必须启用,否则不能使用。" + +msgid "transit node" +msgstr "中转到此节点" + +msgid "Custom Socks" +msgstr "自定义 Socks" + +msgid "Custom HTTP" +msgstr "自定义 HTTP" + +msgid "Bind Local" +msgstr "本机监听" + +msgid "When selected, it can only be accessed locally, It is recommended to turn on when using reverse proxies or be fallback." +msgstr "当勾选时,只能由本机访问此端口,当想被反向代理或被回落时建议勾选此项。" + +msgid "Accept LAN Access" +msgstr "接受局域网访问" + +msgid "When selected, it can accessed lan , this will not be safe!" +msgstr "当勾选时,可以直接访问局域网,这将不安全!(非特殊情况不建议开启)" + +msgid "Enable Remote" +msgstr "启用转发" + +msgid "You can forward to Nginx/Caddy/V2ray/Xray WebSocket and more." +msgstr "您可以转发到Nginx/Caddy/V2ray/Xray WebSocket等。" + +msgid "Remote Address" +msgstr "远程地址" + +msgid "Remote Port" +msgstr "远程端口" + +msgid "as:" +msgstr "如:" + +msgid "Public key absolute path" +msgstr "公钥文件绝对路径" + +msgid "Private key absolute path" +msgstr "私钥文件绝对路径" + +msgid "Can't find this file!" +msgstr "找不到这个文件!" + +msgid "Public key and Private key path can not be empty!" +msgstr "公钥和私钥文件路径不能为空!" + +msgid "Server-Side" +msgstr "服务器端" + +msgid "Server Config" +msgstr "服务器配置" + +msgid "Users Manager" +msgstr "用户管理" + +msgid "Logs" +msgstr "日志" + +msgid "Log" +msgstr "日志" + +msgid "%s Node Log Close" +msgstr "%s 节点日志关闭" + +msgid "Log Level" +msgstr "日志等级" + +msgid "Not enabled log" +msgstr "未启用日志" + +msgid "UDP Forward" +msgstr "UDP转发" + +msgid "DNS Settings" +msgstr "DNS设置" + +msgid "Null" +msgstr "无" + +msgid "You did not fill in the %s path. Please save and apply then update manually." +msgstr "您没有填写 %s 路径。请保存应用后再手动更新。" + +msgid "Not installed unzip, Can't unzip!" +msgstr "未安装unzip,无法解压。" + +msgid "Can't determine ARCH, or ARCH not supported." +msgstr "无法确认ARCH架构,或是不支持。" + +msgid "Get remote version info failed." +msgstr "获取远程版本信息失败。" + +msgid "New version found, but failed to get new version download url." +msgstr "发现新版本,但未能获得新版本的下载地址。" + +msgid "Download url is required." +msgstr "请指定下载地址。" + +msgid "File download failed or timed out: %s" +msgstr "文件下载失败或超时:%s" + +msgid "File path required." +msgstr "请指定文件路径。" + +msgid "%s not enough space." +msgstr "%s 空间不足。" + +msgid "Can't find client in file: %s" +msgstr "无法在文件中找到客户端:%s" + +msgid "Client file is required." +msgstr "请指定客户端文件。" + +msgid "The client file is not suitable for current device." +msgstr "客户端文件不适合当前设备。" + +msgid "Can't move new file to path: %s" +msgstr "无法移动新文件到:%s" + +msgid "Mux concurrency" +msgstr "最大并发连接数" + +msgid "Mux idle timeout" +msgstr "最大闲置时间" + +msgid "Enable early data" +msgstr "启用前置数据" + +msgid "Early data length" +msgstr "前置数据最大长度" + +msgid "Health check" +msgstr "健康检查" + +msgid "Idle timeout" +msgstr "闲置时间" + +msgid "Health check timeout" +msgstr "检查超时时间" + +msgid "Permit without stream" +msgstr "无子连接时的健康检查" + +msgid "Initial Windows Size" +msgstr "初始窗口大小" + +msgid "No Sniffing Lists" +msgstr "不进行流量嗅探的域名列表" + +msgid "Hosts added into No Sniffing Lists will not resolve again on server (Xray only)." +msgstr "加入的域名不会再次在服务器解析(仅适用于Xray)。" diff --git a/luci-app-passwall/po/zh_Hans b/luci-app-passwall/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-passwall/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-passwall/root/etc/config/passwall_server b/luci-app-passwall/root/etc/config/passwall_server new file mode 100644 index 00000000..c9526cb2 --- /dev/null +++ b/luci-app-passwall/root/etc/config/passwall_server @@ -0,0 +1,4 @@ + +config global 'global' + option enable '0' + diff --git a/luci-app-passwall/root/etc/init.d/passwall b/luci-app-passwall/root/etc/init.d/passwall new file mode 100755 index 00000000..0767a502 --- /dev/null +++ b/luci-app-passwall/root/etc/init.d/passwall @@ -0,0 +1,80 @@ +#!/bin/sh /etc/rc.common + +START=99 +STOP=15 + +CONFIG=passwall +APP_FILE=/usr/share/${CONFIG}/app.sh +LOCK_FILE_DIR=/var/lock +LOCK_FILE=${LOCK_FILE_DIR}/${CONFIG}.lock + +set_lock() { + [ ! -d "$LOCK_FILE_DIR" ] && mkdir -p $LOCK_FILE_DIR + exec 999>"$LOCK_FILE" + flock -xn 999 +} + +unset_lock() { + flock -u 999 + rm -rf "$LOCK_FILE" +} + +unlock() { + failcount=1 + while [ "$failcount" -le 10 ]; do + if [ -f "$LOCK_FILE" ]; then + let "failcount++" + sleep 1s + [ "$failcount" -ge 10 ] && unset_lock + else + break + fi + done +} + +boot() { + $APP_FILE boot +} + +start() { + set_lock + [ $? == 1 ] && $APP_FILE echolog "脚本已经在运行,不重复运行,退出." && exit 0 + $APP_FILE start + unset_lock +} + +stop() { + unlock + set_lock + [ $? == 1 ] && $APP_FILE echolog "停止脚本等待超时,不重复运行,退出." && exit 0 + $APP_FILE stop + unset_lock +} + +restart() { + set_lock + [ $? == 1 ] && $APP_FILE echolog "脚本已经在运行,不重复运行,退出." && exit 0 + $APP_FILE stop + $APP_FILE start + unset_lock +} + +disable() { + rm -f "$IPKG_INSTROOT"/etc/rc.d/S??zzz_${CONFIG} + rm -f "$IPKG_INSTROOT"/etc/rc.d/K??zzz_${CONFIG} +} + +enable() { + err=1 + [ "$START" ] && \ + ln -sf "../init.d/${CONFIG}" "$IPKG_INSTROOT/etc/rc.d/S${START}zzz_${CONFIG}" && \ + err=0 + [ "$STOP" ] && \ + ln -sf "../init.d/${CONFIG}" "$IPKG_INSTROOT/etc/rc.d/K${STOP}zzz_${CONFIG}" && \ + err=0 + return $err +} + +enabled() { + [ -x "$IPKG_INSTROOT/etc/rc.d/S${START}zzz_${CONFIG}" ] +} diff --git a/luci-app-passwall/root/etc/init.d/passwall_server b/luci-app-passwall/root/etc/init.d/passwall_server new file mode 100755 index 00000000..08bc7646 --- /dev/null +++ b/luci-app-passwall/root/etc/init.d/passwall_server @@ -0,0 +1,16 @@ +#!/bin/sh /etc/rc.common + +START=99 + +start() { + lua /usr/lib/lua/luci/model/cbi/passwall/server/api/app.lua start +} + +stop() { + lua /usr/lib/lua/luci/model/cbi/passwall/server/api/app.lua stop +} + +restart() { + stop + start +} \ No newline at end of file diff --git a/luci-app-passwall/root/etc/uci-defaults/luci-passwall b/luci-app-passwall/root/etc/uci-defaults/luci-passwall new file mode 100755 index 00000000..cc39c00a --- /dev/null +++ b/luci-app-passwall/root/etc/uci-defaults/luci-passwall @@ -0,0 +1,35 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + set dhcp.@dnsmasq[0].localuse=1 + commit dhcp + delete ucitrack.@passwall[-1] + add ucitrack passwall + set ucitrack.@passwall[-1].init=passwall + commit ucitrack + delete firewall.passwall + set firewall.passwall=include + set firewall.passwall.type=script + set firewall.passwall.path=/var/etc/passwall.include + set firewall.passwall.reload=1 + commit firewall + delete ucitrack.@passwall_server[-1] + add ucitrack passwall_server + set ucitrack.@passwall_server[-1].init=passwall_server + commit ucitrack + delete firewall.passwall_server + set firewall.passwall_server=include + set firewall.passwall_server.type=script + set firewall.passwall_server.path=/var/etc/passwall_server.include + set firewall.passwall_server.reload=1 + commit firewall + set uhttpd.main.max_requests=50 + commit uhttpd +EOF + +[ ! -s "/etc/config/passwall" ] && cp -f /usr/share/passwall/0_default_config /etc/config/passwall +touch /etc/config/passwall_show >/dev/null 2>&1 +rm -f /tmp/luci-indexcache +rm -rf /tmp/luci-modulecache/ +killall -HUP rpcd 2>/dev/null +exit 0 diff --git a/luci-app-passwall/root/usr/share/passwall/0_default_config b/luci-app-passwall/root/usr/share/passwall/0_default_config new file mode 100644 index 00000000..c3f3a25b --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/0_default_config @@ -0,0 +1,132 @@ + +config global + option enabled '0' + option socks_enabled '0' + option tcp_node 'nil' + option udp_node 'nil' + option dns_mode 'pdnsd' + option dns_forward '1.1.1.1' + option filter_proxy_ipv6 '0' + option tcp_proxy_mode 'chnroute' + option udp_proxy_mode 'chnroute' + option localhost_tcp_proxy_mode 'default' + option localhost_udp_proxy_mode 'default' + option close_log_tcp '0' + option close_log_udp '0' + option loglevel 'error' + option trojan_loglevel '4' + +config global_haproxy + option balancing_enable '0' + +config global_delay + option auto_on '0' + option start_daemon '1' + option start_delay '1' + +config global_forwarding + option process '0' + option tcp_no_redir_ports 'disable' + option udp_no_redir_ports '53' + option tcp_proxy_drop_ports 'disable' + option udp_proxy_drop_ports '80,443' + option tcp_redir_ports '22,25,53,143,465,587,853,993,995,80,443' + option udp_redir_ports '1:65535' + option accept_icmp '0' + option tcp_proxy_way 'redirect' + option ipv6_tproxy '0' + option sniffing '1' + option route_only '0' + +config global_other + option nodes_ping 'auto_ping tcping' + +config global_rules + option auto_update '0' + option chnlist_update '1' + option chnroute_update '1' + option chnroute6_update '1' + option gfwlist_update '1' + option geosite_update '0' + option geoip_update '0' + list gfwlist_url 'https://cdn.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt' + list chnroute_url 'https://ispip.clang.cn/all_cn.txt' + list chnroute6_url 'https://ispip.clang.cn/all_cn_ipv6.txt' + list chnlist_url 'https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/accelerated-domains.china.conf' + list chnlist_url 'https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/apple.china.conf' + list chnlist_url 'https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/google.china.conf' + option v2ray_location_asset '/usr/share/v2ray/' + +config global_app + option v2ray_file '/usr/bin/v2ray' + option xray_file '/usr/bin/xray' + option trojan_go_file '/usr/bin/trojan-go' + option brook_file '/usr/bin/brook' + option hysteria_file '/usr/bin/hysteria' + +config global_subscribe + option subscribe_proxy '0' + option filter_keyword_mode '1' + list filter_discard_list '过期时间' + list filter_discard_list '剩余流量' + list filter_discard_list 'QQ群' + list filter_discard_list '官网' + +config auto_switch + option enable '0' + option testing_time '1' + option connect_timeout '3' + option retry_num '3' + option shunt_logic '1' + +config nodes 'myshunt' + option remarks '分流总节点' + option type 'Xray' + option protocol '_shunt' + option AD 'nil' + option BT '_direct' + option Netflix 'nil' + option TVB 'nil' + option China 'nil' + option default_node 'nil' + option domainStrategy 'IPOnDemand' + +config shunt_rules 'AD' + option remarks 'AD' + option domain_list 'geosite:category-ads' + +config shunt_rules 'BT' + option remarks 'BT' + option protocol 'bittorrent' + +config shunt_rules 'Netflix' + option remarks 'Netflix' + option domain_list 'fast.com +netflix +netflix.com +netflix.net +nflxso.net +nflxext.com +nflximg.com +nflximg.net +nflxvideo.net +netflixdnstest0.com +netflixdnstest1.com +netflixdnstest2.com +netflixdnstest3.com +netflixdnstest4.com +netflixdnstest5.com +netflixdnstest6.com +netflixdnstest7.com +netflixdnstest8.com +netflixdnstest9.com' + +config shunt_rules 'TVB' + option remarks 'TVB' + option domain_list 'tvb.com +mytvsuper.com' + +config shunt_rules 'China' + option remarks 'China' + option domain_list 'geosite:cn' + option ip_list 'geoip:cn' diff --git a/luci-app-passwall/root/usr/share/passwall/app.sh b/luci-app-passwall/root/usr/share/passwall/app.sh new file mode 100755 index 00000000..a0d6713f --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/app.sh @@ -0,0 +1,1529 @@ +#!/bin/sh +# Copyright (C) 2018-2020 L-WRT Team +# Copyright (C) 2021-2022 xiaorouji + +. $IPKG_INSTROOT/lib/functions.sh +. $IPKG_INSTROOT/lib/functions/service.sh + +CONFIG=passwall +TMP_PATH=/tmp/etc/$CONFIG +TMP_BIN_PATH=$TMP_PATH/bin +TMP_SCRIPT_FUNC_PATH=$TMP_PATH/script_func +TMP_ID_PATH=$TMP_PATH/id +TMP_PORT_PATH=$TMP_PATH/port +TMP_ROUTE_PATH=$TMP_PATH/route +TMP_ACL_PATH=$TMP_PATH/acl +TMP_PATH2=/tmp/etc/${CONFIG}_tmp +DNSMASQ_PATH=/etc/dnsmasq.d +TMP_DNSMASQ_PATH=/tmp/dnsmasq.d/passwall +LOG_FILE=/tmp/log/$CONFIG.log +APP_PATH=/usr/share/$CONFIG +RULES_PATH=/usr/share/${CONFIG}/rules +DNS_N=dnsmasq +DNS_PORT=7913 +TUN_DNS="127.0.0.1#${DNS_PORT}" +LOCAL_DNS=119.29.29.29 +DEFAULT_DNS= +NO_PROXY=0 +PROXY_IPV6=0 +PROXY_IPV6_UDP=0 +resolve_dns=0 +use_tcp_node_resolve_dns=0 +use_udp_node_resolve_dns=0 +LUA_API_PATH=/usr/lib/lua/luci/model/cbi/$CONFIG/api +API_GEN_SS=$LUA_API_PATH/gen_shadowsocks.lua +API_GEN_V2RAY=$LUA_API_PATH/gen_v2ray.lua +API_GEN_V2RAY_PROTO=$LUA_API_PATH/gen_v2ray_proto.lua +API_GEN_TROJAN=$LUA_API_PATH/gen_trojan.lua +API_GEN_NAIVE=$LUA_API_PATH/gen_naiveproxy.lua +API_GEN_HYSTERIA=$LUA_API_PATH/gen_hysteria.lua + +echolog() { + local d="$(date "+%Y-%m-%d %H:%M:%S")" + echo -e "$d: $*" >>$LOG_FILE +} + +config_get_type() { + local ret=$(uci -q get "${CONFIG}.${1}" 2>/dev/null) + echo "${ret:=$2}" +} + +config_n_get() { + local ret=$(uci -q get "${CONFIG}.${1}.${2}" 2>/dev/null) + echo "${ret:=$3}" +} + +config_t_get() { + local index=${4:-0} + local ret=$(uci -q get "${CONFIG}.@${1}[${index}].${2}" 2>/dev/null) + echo "${ret:=${3}}" +} + +get_enabled_anonymous_secs() { + uci -q show "${CONFIG}" | grep "${1}\[.*\.enabled='1'" | cut -d '.' -sf2 +} + +get_host_ip() { + local host=$2 + local count=$3 + [ -z "$count" ] && count=3 + local isip="" + local ip=$host + if [ "$1" == "ipv6" ]; then + isip=$(echo $host | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}") + if [ -n "$isip" ]; then + isip=$(echo $host | cut -d '[' -f2 | cut -d ']' -f1) + else + isip=$(echo $host | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}") + fi + else + isip=$(echo $host | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}") + fi + [ -z "$isip" ] && { + local t=4 + [ "$1" == "ipv6" ] && t=6 + local vpsrip=$(resolveip -$t -t $count $host | awk 'NR==1{print}') + ip=$vpsrip + } + echo $ip +} + +get_node_host_ip() { + local ip + local address=$(config_n_get $1 address) + [ -n "$address" ] && { + local use_ipv6=$(config_n_get $1 use_ipv6) + local network_type="ipv4" + [ "$use_ipv6" == "1" ] && network_type="ipv6" + ip=$(get_host_ip $network_type $address) + } + echo $ip +} + +get_ip_port_from() { + local __host=${1}; shift 1 + local __ipv=${1}; shift 1 + local __portv=${1}; shift 1 + local __ucipriority=${1}; shift 1 + + local val1 val2 + if [ -n "${__ucipriority}" ]; then + val2=$(config_n_get ${__host} port $(echo $__host | sed -n 's/^.*[:#]\([0-9]*\)$/\1/p')) + val1=$(config_n_get ${__host} address "${__host%%${val2:+[:#]${val2}*}}") + else + val2=$(echo $__host | sed -n 's/^.*[:#]\([0-9]*\)$/\1/p') + val1="${__host%%${val2:+[:#]${val2}*}}" + fi + eval "${__ipv}=\"$val1\"; ${__portv}=\"$val2\"" +} + +host_from_url(){ + local f=${1} + + ## Remove protocol part of url ## + f="${f##http://}" + f="${f##https://}" + f="${f##ftp://}" + f="${f##sftp://}" + + ## Remove username and/or username:password part of URL ## + f="${f##*:*@}" + f="${f##*@}" + + ## Remove rest of urls ## + f="${f%%/*}" + echo "${f%%:*}" +} + +hosts_foreach() { + local __hosts + eval "__hosts=\$${1}"; shift 1 + local __func=${1}; shift 1 + local __default_port=${1}; shift 1 + local __ret=1 + + [ -z "${__hosts}" ] && return 0 + local __ip __port + for __host in $(echo $__hosts | sed 's/[ ,]/\n/g'); do + get_ip_port_from "$__host" "__ip" "__port" + eval "$__func \"${__host}\" \"\${__ip}\" \"\${__port:-${__default_port}}\" \"$@\"" + __ret=$? + [ ${__ret} -ge ${ERROR_NO_CATCH:-1} ] && return ${__ret} + done +} + +check_host() { + local f=${1} + a=$(echo $f | grep "\/") + [ -n "$a" ] && return 1 + # 判断是否包含汉字~ + local tmp=$(echo -n $f | awk '{print gensub(/[!-~]/,"","g",$0)}') + [ -n "$tmp" ] && return 1 + return 0 +} + +get_first_dns() { + local __hosts_val=${1}; shift 1 + __first() { + [ -z "${2}" ] && return 0 + echo "${2}#${3}" + return 1 + } + eval "hosts_foreach \"${__hosts_val}\" __first \"$@\"" +} + +get_last_dns() { + local __hosts_val=${1}; shift 1 + local __first __last + __every() { + [ -z "${2}" ] && return 0 + __last="${2}#${3}" + __first=${__first:-${__last}} + } + eval "hosts_foreach \"${__hosts_val}\" __every \"$@\"" + [ "${__first}" == "${__last}" ] || echo "${__last}" +} + +check_port_exists() { + port=$1 + protocol=$2 + [ -n "$protocol" ] || protocol="tcp,udp" + result= + if [ "$protocol" = "tcp" ]; then + result=$(netstat -tln | grep -c ":$port ") + elif [ "$protocol" = "udp" ]; then + result=$(netstat -uln | grep -c ":$port ") + elif [ "$protocol" = "tcp,udp" ]; then + result=$(netstat -tuln | grep -c ":$port ") + fi + echo "${result}" +} + +get_new_port() { + port=$1 + [ "$port" == "auto" ] && port=2082 + protocol=$(echo $2 | tr 'A-Z' 'a-z') + result=$(check_port_exists $port $protocol) + if [ "$result" != 0 ]; then + temp= + if [ "$port" -lt 65535 ]; then + temp=$(expr $port + 1) + elif [ "$port" -gt 1 ]; then + temp=$(expr $port - 1) + fi + get_new_port $temp $protocol + else + echo $port + fi +} + +first_type() { + local path_name=${1} + type -t -p "/bin/${path_name}" -p "${TMP_BIN_PATH}/${path_name}" -p "${path_name}" "$@" | head -n1 +} + +eval_set_val() { + for i in $@; do + for j in $i; do + eval $j + done + done +} + +eval_unset_val() { + for i in $@; do + for j in $i; do + eval unset j + done + done +} + +ln_run() { + local file_func=${1} + local ln_name=${2} + local output=${3} + + shift 3; + if [ "${file_func%%/*}" != "${file_func}" ]; then + [ ! -L "${file_func}" ] && { + ln -s "${file_func}" "${TMP_BIN_PATH}/${ln_name}" >/dev/null 2>&1 + file_func="${TMP_BIN_PATH}/${ln_name}" + } + [ -x "${file_func}" ] || echolog " - $(readlink ${file_func}) 没有执行权限,无法启动:${file_func} $*" + fi + #echo "${file_func} $*" >&2 + [ -n "${file_func}" ] || echolog " - 找不到 ${ln_name},无法启动..." + ${file_func:-echolog " - ${ln_name}"} "$@" >${output} 2>&1 & + process_count=$(ls $TMP_SCRIPT_FUNC_PATH | wc -l) + process_count=$((process_count + 1)) + echo "${file_func:-echolog " - ${ln_name}"} $@ >${output}" > $TMP_SCRIPT_FUNC_PATH/$process_count +} + +lua_api() { + local func=${1} + [ -z "${func}" ] && { + echo "nil" + return + } + echo $(lua -e "local api = require 'luci.model.cbi.passwall.api.api' print(api.${func})") +} + +run_ipt2socks() { + local flag proto tcp_tproxy local_port socks_address socks_port socks_username socks_password log_file + local _extra_param="" + eval_set_val $@ + [ -n "$log_file" ] || log_file="/dev/null" + socks_address=$(get_host_ip "ipv4" ${socks_address}) + [ -n "$socks_username" ] && [ -n "$socks_password" ] && _extra_param="${_extra_param} -a $socks_username -k $socks_password" + [ -n "$tcp_tproxy" ] || _extra_param="${_extra_param} -R" + case "$proto" in + UDP) + flag="${flag}_UDP" + _extra_param="${_extra_param} -U" + ;; + TCP) + flag="${flag}_TCP" + _extra_param="${_extra_param} -T" + ;; + esac + _extra_param="${_extra_param} -v" + ln_run "$(first_type ipt2socks)" "ipt2socks_${flag}" $log_file -l $local_port -b 0.0.0.0 -s $socks_address -p $socks_port ${_extra_param} +} + +run_v2ray() { + local flag type node tcp_redir_port udp_redir_port socks_address socks_port socks_username socks_password http_address http_port http_username http_password dns_socks_address dns_socks_port dns_listen_port dns_proto dns_tcp_server doh dns_client_ip dns_query_strategy dns_cache loglevel log_file config_file + local _extra_param="" + eval_set_val $@ + [ -z "$type" ] && { + local type=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z') + if [ "$type" != "v2ray" ] && [ "$type" != "xray" ]; then + local bin=$(first_type $(config_t_get global_app v2ray_file) v2ray) + if [ -n "$bin" ]; then + type="v2ray" + else + bin=$(first_type $(config_t_get global_app xray_file) xray) + [ -n "$bin" ] && type="xray" + fi + fi + } + [ -z "$type" ] && return 1 + [ -n "$log_file" ] || local log_file="/dev/null" + [ -z "$loglevel" ] && local loglevel=$(config_t_get global loglevel "warning") + [ -n "$flag" ] && _extra_param="${_extra_param} -flag $flag" + [ -n "$node" ] && _extra_param="${_extra_param} -node $node" + [ -n "$tcp_redir_port" ] && _extra_param="${_extra_param} -tcp_redir_port $tcp_redir_port" + [ -n "$udp_redir_port" ] && _extra_param="${_extra_param} -udp_redir_port $udp_redir_port" + [ -n "$socks_address" ] && _extra_param="${_extra_param} -local_socks_address $socks_address" + [ -n "$socks_port" ] && _extra_param="${_extra_param} -local_socks_port $socks_port" + [ -n "$socks_username" ] && [ -n "$socks_password" ] && _extra_param="${_extra_param} -local_socks_username $socks_username -local_socks_password $socks_password" + [ -n "$http_address" ] && _extra_param="${_extra_param} -local_http_address $http_address" + [ -n "$http_port" ] && _extra_param="${_extra_param} -local_http_port $http_port" + [ -n "$http_username" ] && [ -n "$http_password" ] && _extra_param="${_extra_param} -local_http_username $http_username -local_http_password $http_password" + [ -n "$dns_socks_address" ] && [ -n "$dns_socks_port" ] && _extra_param="${_extra_param} -dns_socks_address ${dns_socks_address} -dns_socks_port ${dns_socks_port}" + [ -n "$dns_listen_port" ] && _extra_param="${_extra_param} -dns_listen_port ${dns_listen_port}" + [ -n "$dns_query_strategy" ] && _extra_param="${_extra_param} -dns_query_strategy ${dns_query_strategy}" + [ -n "$dns_client_ip" ] && _extra_param="${_extra_param} -dns_client_ip ${dns_client_ip}" + [ -n "$dns_cache" ] && _extra_param="${_extra_param} -dns_cache ${dns_cache}" + local sniffing=$(config_t_get global_forwarding sniffing 1) + [ "${sniffing}" = "1" ] && { + _extra_param="${_extra_param} -sniffing 1" + local route_only=$(config_t_get global_forwarding route_only 0) + [ "${route_only}" = "1" ] && _extra_param="${_extra_param} -route_only 1" + } + case "$dns_proto" in + tcp) + local _dns_forward=$(get_first_dns dns_tcp_server 53 | sed 's/#/:/g') + local _dns_address=$(echo ${_dns_forward} | awk -F ':' '{print $1}') + _extra_param="${_extra_param} -dns_server ${_dns_address} -dns_tcp_server tcp://${_dns_forward}" + ;; + doh) + local _doh_url=$(echo $doh | awk -F ',' '{print $1}') + local _doh_host_port=$(echo $_doh_url | sed "s/https:\/\///g" | awk -F '/' '{print $1}') + local _doh_host=$(echo $_doh_host_port | awk -F ':' '{print $1}') + local _doh_port=$(echo $_doh_host_port | awk -F ':' '{print $2}') + local _doh_bootstrap=$(echo $doh | cut -d ',' -sf 2-) + _extra_param="${_extra_param} -dns_server ${_doh_bootstrap} -doh_url ${_doh_url} -doh_host ${_doh_host}" + ;; + fakedns) + _extra_param="${_extra_param} -dns_fakedns 1" + ;; + esac + _extra_param="${_extra_param} -tcp_proxy_way $tcp_proxy_way" + _extra_param="${_extra_param} -loglevel $loglevel" + lua $API_GEN_V2RAY ${_extra_param} > $config_file + ln_run "$(first_type $(config_t_get global_app ${type}_file) ${type})" ${type} $log_file -config="$config_file" +} + +run_dns2socks() { + local flag socks socks_address socks_port socks_username socks_password listen_address listen_port dns cache log_file + local _extra_param="" + eval_set_val $@ + [ -n "$flag" ] && flag="_${flag}" + [ -n "$log_file" ] || log_file="/dev/null" + dns=$(get_first_dns dns 53 | sed 's/#/:/g') + [ -n "$socks" ] && { + socks=$(echo $socks | sed "s/#/:/g") + socks_address=$(echo $socks | awk -F ':' '{print $1}') + socks_port=$(echo $socks | awk -F ':' '{print $2}') + } + [ -n "$socks_username" ] && [ -n "$socks_password" ] && _extra_param="${_extra_param} /u $socks_username /p $socks_password" + [ -z "$cache" ] && cache=1 + [ "$cache" = "0" ] && _extra_param="${_extra_param} /d" + ln_run "$(first_type dns2socks)" "dns2socks${flag}" $log_file ${_extra_param} "${socks_address}:${socks_port}" "${dns}" "${listen_address}:${listen_port}" +} + +run_socks() { + local flag node bind socks_port config_file http_port http_config_file relay_port log_file + eval_set_val $@ + [ -n "$config_file" ] && [ -z "$(echo ${config_file} | grep $TMP_PATH)" ] && config_file=$TMP_PATH/$config_file + [ -n "$http_port" ] || http_port=0 + [ -n "$http_config_file" ] && [ -z "$(echo ${http_config_file} | grep $TMP_PATH)" ] && http_config_file=$TMP_PATH/$http_config_file + if [ -n "$log_file" ] && [ -z "$(echo ${log_file} | grep $TMP_PATH)" ]; then + log_file=$TMP_PATH/$log_file + else + log_file="/dev/null" + fi + local type=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z') + local remarks=$(config_n_get $node remarks) + local server_host=$(config_n_get $node address) + local port=$(config_n_get $node port) + [ -n "$relay_port" ] && { + server_host="127.0.0.1" + port=$relay_port + } + local error_msg tmp + + if [ -n "$server_host" ] && [ -n "$port" ]; then + check_host $server_host + [ $? != 0 ] && { + echolog " - Socks节点:[$remarks]${server_host} 是非法的服务器地址,无法启动!" + return 1 + } + tmp="${server_host}:${port}" + else + error_msg="某种原因,此 Socks 服务的相关配置已失联,启动中止!" + fi + + if ([ "$type" == "v2ray" ] || [ "$type" == "xray" ]) && ([ -n "$(config_n_get $node balancing_node)" ] || [ "$(config_n_get $node default_node)" != "_direct" -a "$(config_n_get $node default_node)" != "_blackhole" ]); then + unset error_msg + fi + + [ -n "${error_msg}" ] && { + [ "$bind" != "127.0.0.1" ] && echolog " - Socks节点:[$remarks]${tmp},启动中止 ${bind}:${socks_port} ${error_msg}" + return 1 + } + [ "$bind" != "127.0.0.1" ] && echolog " - Socks节点:[$remarks]${tmp},启动 ${bind}:${socks_port}" + + case "$type" in + socks) + local bin=$(first_type $(config_t_get global_app v2ray_file) v2ray) + if [ -n "$bin" ]; then + type="v2ray" + else + bin=$(first_type $(config_t_get global_app xray_file) xray) + [ -n "$bin" ] && type="xray" + fi + [ -z "$type" ] && return 1 + local _socks_address=$(config_n_get $node address) + local _socks_port=$(config_n_get $node port) + local _socks_username=$(config_n_get $node username) + local _socks_password=$(config_n_get $node password) + [ "$http_port" != "0" ] && { + http_flag=1 + config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + local _extra_param="-local_http_port $http_port" + } + lua $API_GEN_V2RAY_PROTO -local_socks_port $socks_port ${_extra_param} -server_proto socks -server_address ${_socks_address} -server_port ${_socks_port} -server_username ${_socks_username} -server_password ${_socks_password} > $config_file + ln_run "$bin" $type $log_file -config="$config_file" + ;; + v2ray|\ + xray) + [ "$http_port" != "0" ] && { + http_flag=1 + config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + local _v2ray_args="http_port=$http_port" + } + run_v2ray flag=$flag node=$node socks_port=$socks_port config_file=$config_file log_file=$log_file ${_v2ray_args} + ;; + trojan-go) + lua $API_GEN_TROJAN -node $node -run_type client -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $port > $config_file + ln_run "$(first_type $(config_t_get global_app trojan_go_file) trojan-go)" trojan-go $log_file -config "$config_file" + ;; + trojan*) + lua $API_GEN_TROJAN -node $node -run_type client -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $port > $config_file + ln_run "$(first_type ${type})" "${type}" $log_file -c "$config_file" + ;; + naiveproxy) + lua $API_GEN_NAIVE -node $node -run_type socks -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $port > $config_file + ln_run "$(first_type naive)" naive $log_file "$config_file" + ;; + brook) + local protocol=$(config_n_get $node protocol client) + local prefix="" + [ "$protocol" == "wsclient" ] && { + prefix="ws://" + local brook_tls=$(config_n_get $node brook_tls 0) + [ "$brook_tls" == "1" ] && { + prefix="wss://" + protocol="wssclient" + } + local ws_path=$(config_n_get $node ws_path "/ws") + } + server_host=${prefix}${server_host} + ln_run "$(first_type $(config_t_get global_app brook_file) brook)" "brook_SOCKS_${flag}" $log_file "$protocol" --socks5 "$bind:$socks_port" -s "${server_host}:${port}${ws_path}" -p "$(config_n_get $node password)" + ;; + ssr) + lua $API_GEN_SS -node $node -local_addr "0.0.0.0" -local_port $socks_port -server_host $server_host -server_port $port > $config_file + ln_run "$(first_type ssr-local)" "ssr-local" $log_file -c "$config_file" -v -u + ;; + ss) + lua $API_GEN_SS -node $node -local_addr "0.0.0.0" -local_port $socks_port -server_host $server_host -server_port $port -mode tcp_and_udp > $config_file + ln_run "$(first_type ss-local)" "ss-local" $log_file -c "$config_file" -v + ;; + ss-rust) + [ "$http_port" != "0" ] && { + http_flag=1 + config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + local _extra_param="-local_http_port $http_port" + } + lua $API_GEN_SS -node $node -local_socks_port $socks_port -server_host $server_host -server_port $port ${_extra_param} > $config_file + ln_run "$(first_type sslocal)" "sslocal" $log_file -c "$config_file" -v + ;; + hysteria) + [ "$http_port" != "0" ] && { + http_flag=1 + config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + local _extra_param="-local_http_port $http_port" + } + lua $API_GEN_HYSTERIA -node $node -local_socks_port $socks_port -server_host $server_host -server_port $port ${_extra_param} > $config_file + ln_run "$(first_type $(config_t_get global_app hysteria_file))" "hysteria" $log_file -c "$config_file" client + ;; + esac + + # http to socks + [ -z "$http_flag" ] && [ "$http_port" != "0" ] && [ -n "$http_config_file" ] && [ "$type" != "v2ray" ] && [ "$type" != "xray" ] && [ "$type" != "socks" ] && { + local bin=$(first_type $(config_t_get global_app v2ray_file) v2ray) + if [ -n "$bin" ]; then + type="v2ray" + else + bin=$(first_type $(config_t_get global_app xray_file) xray) + [ -n "$bin" ] && type="xray" + fi + [ -z "$type" ] && return 1 + lua $API_GEN_V2RAY_PROTO -local_http_port $http_port -server_proto socks -server_address "127.0.0.1" -server_port $socks_port -server_username $_username -server_password $_password > $http_config_file + ln_run "$bin" ${type} /dev/null -config="$http_config_file" + } +} + +run_redir() { + local node proto bind local_port config_file log_file + eval_set_val $@ + local tcp_node_socks_flag tcp_node_http_flag + [ -n "$config_file" ] && [ -z "$(echo ${config_file} | grep $TMP_PATH)" ] && config_file=$TMP_PATH/$config_file + if [ -n "$log_file" ] && [ -z "$(echo ${log_file} | grep $TMP_PATH)" ]; then + log_file=$TMP_PATH/$log_file + else + log_file="/dev/null" + fi + local proto=$(echo $proto | tr 'A-Z' 'a-z') + local PROTO=$(echo $proto | tr 'a-z' 'A-Z') + local type=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z') + local close_log=$(config_t_get global close_log_${proto} 1) + [ "$close_log" = "1" ] && log_file="/dev/null" + local remarks=$(config_n_get $node remarks) + local server_host=$(config_n_get $node address) + local port=$(config_n_get $node port) + [ -n "$server_host" ] && [ -n "$port" ] && { + check_host $server_host + [ $? != 0 ] && { + echolog "${PROTO}节点:[$remarks]${server_host} 是非法的服务器地址,无法启动!" + return 1 + } + [ "$bind" != "127.0.0.1" ] && echolog "${PROTO}节点:[$remarks]${server_host}:${port},监听端口:$local_port" + } + eval ${PROTO}_NODE_PORT=$port + + case "$PROTO" in + UDP) + case "$type" in + socks) + local _socks_address=$(config_n_get $node address) + _socks_address=$(get_host_ip "ipv4" ${_socks_address}) + local _socks_port=$(config_n_get $node port) + local _socks_username=$(config_n_get $node username) + local _socks_password=$(config_n_get $node password) + [ -n "${_socks_username}" ] && [ -n "${_socks_password}" ] && local _extra_param="-a ${_socks_username} -k ${_socks_password}" + ln_run "$(first_type ipt2socks)" "ipt2socks_UDP" $log_file -l $local_port -b 0.0.0.0 -s ${_socks_address} -p ${_socks_port} ${_extra_param} -U -v + ;; + v2ray|\ + xray) + run_v2ray flag=UDP node=$node udp_redir_port=$local_port config_file=$config_file log_file=$log_file + ;; + trojan-go) + local loglevel=$(config_t_get global trojan_loglevel "2") + lua $API_GEN_TROJAN -node $node -run_type nat -local_addr "0.0.0.0" -local_port $local_port -loglevel $loglevel > $config_file + ln_run "$(first_type $(config_t_get global_app trojan_go_file) trojan-go)" trojan-go $log_file -config "$config_file" + ;; + trojan*) + local loglevel=$(config_t_get global trojan_loglevel "2") + lua $API_GEN_TROJAN -node $node -run_type nat -local_addr "0.0.0.0" -local_port $local_port -loglevel $loglevel > $config_file + ln_run "$(first_type ${type})" "${type}" $log_file -c "$config_file" + ;; + naiveproxy) + echolog "Naiveproxy不支持UDP转发!" + ;; + brook) + local protocol=$(config_n_get $node protocol client) + if [ "$protocol" == "wsclient" ]; then + echolog "Brook的WebSocket不支持UDP转发!" + else + ln_run "$(first_type $(config_t_get global_app brook_file) brook)" "brook_UDP" $log_file tproxy -l ":$local_port" -s "$server_host:$port" -p "$(config_n_get $node password)" --doNotRunScripts + fi + ;; + ssr) + lua $API_GEN_SS -node $node -local_addr "0.0.0.0" -local_port $local_port > $config_file + ln_run "$(first_type ssr-redir)" "ssr-redir" $log_file -c "$config_file" -v -U + ;; + ss) + lua $API_GEN_SS -node $node -local_addr "0.0.0.0" -local_port $local_port -mode udp_only > $config_file + ln_run "$(first_type ss-redir)" "ss-redir" $log_file -c "$config_file" -v + ;; + ss-rust) + lua $API_GEN_SS -node $node -local_udp_redir_port $local_port > $config_file + ln_run "$(first_type sslocal)" "sslocal" $log_file -c "$config_file" -v + ;; + hysteria) + lua $API_GEN_HYSTERIA -node $node -local_udp_redir_port $local_port > $config_file + ln_run "$(first_type $(config_t_get global_app hysteria_file))" "hysteria" $log_file -c "$config_file" client + ;; + esac + ;; + TCP) + if [ $PROXY_IPV6 == "1" ]; then + echolog "开启实验性IPv6透明代理(TProxy),请确认您的节点及类型支持IPv6!" + if [ $type != "v2ray" ]; then + PROXY_IPV6_UDP=1 + else + echolog "节点类型:$type暂未支持IPv6 UDP代理!" + fi + fi + + if [ "$tcp_proxy_way" = "redirect" ]; then + can_ipt=$(echo "$REDIRECT_LIST" | grep "$type") + elif [ "$tcp_proxy_way" = "tproxy" ]; then + can_ipt=$(echo "$TPROXY_LIST" | grep "$type") + fi + [ -z "$can_ipt" ] && type="socks" + + case "$type" in + socks) + _socks_flag=1 + _socks_address=$(config_n_get $node address) + _socks_address=$(get_host_ip "ipv4" ${_socks_address}) + _socks_port=$(config_n_get $node port) + _socks_username=$(config_n_get $node username) + _socks_password=$(config_n_get $node password) + [ -z "$can_ipt" ] && { + local _config_file=$config_file + _config_file="TCP_SOCKS_${node}.json" + local _port=$(get_new_port 2080) + run_socks flag="TCP" node=$node bind=127.0.0.1 socks_port=${_port} config_file=${_config_file} + _socks_address=127.0.0.1 + _socks_port=${_port} + unset _socks_username + unset _socks_password + } + ;; + v2ray|\ + xray) + local _flag="TCP" + local _v2ray_args="" + [ "$tcp_node_socks" = "1" ] && { + tcp_node_socks_flag=1 + _v2ray_args="${_v2ray_args} socks_port=${tcp_node_socks_port}" + config_file=$(echo $config_file | sed "s/TCP/TCP_SOCKS_$tcp_node_socks_id/g") + } + [ "$tcp_node_http" = "1" ] && { + tcp_node_http_flag=1 + _v2ray_args="${_v2ray_args} http_port=${tcp_node_http_port}" + config_file=$(echo $config_file | sed "s/TCP/TCP_HTTP_$tcp_node_http_id/g") + } + [ "$TCP_UDP" = "1" ] && { + UDP_REDIR_PORT=$local_port + UDP_NODE="nil" + _flag="TCP_UDP" + _v2ray_args="${_v2ray_args} udp_redir_port=${UDP_REDIR_PORT}" + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + } + [ "${DNS_MODE}" = "v2ray" -o "${DNS_MODE}" = "xray" ] && { + resolve_dns=1 + config_file=$(echo $config_file | sed "s/.json/_DNS.json/g") + _v2ray_args="${_v2ray_args} dns_query_strategy=${DNS_QUERY_STRATEGY}" + local _dns_client_ip=$(config_t_get global dns_client_ip) + [ -n "${_dns_client_ip}" ] && _v2ray_args="${_v2ray_args} dns_client_ip=${_dns_client_ip}" + [ "${DNS_CACHE}" == "0" ] && _v2ray_args="${_v2ray_args} dns_cache=0" + local v2ray_dns_mode=$(config_t_get global v2ray_dns_mode tcp) + _v2ray_args="${_v2ray_args} dns_proto=${v2ray_dns_mode}" + _v2ray_args="${_v2ray_args} dns_listen_port=${dns_listen_port}" + case "$v2ray_dns_mode" in + tcp) + _v2ray_args="${_v2ray_args} dns_tcp_server=${DNS_FORWARD}" + echolog " - 域名解析 DNS Over TCP..." + ;; + doh) + up_trust_doh=$(config_t_get global up_trust_doh "https://cloudflare-dns.com/dns-query,1.1.1.1") + _v2ray_args="${_v2ray_args} doh=${up_trust_doh}" + echolog " - 域名解析 DNS Over HTTPS..." + ;; + fakedns) + fakedns=1 + CHINADNS_NG=0 + _v2ray_args="${_v2ray_args} dns_fakedns=1" + echolog " - 域名解析 Fake DNS..." + ;; + esac + } + run_v2ray flag=$_flag node=$node tcp_redir_port=$local_port config_file=$config_file log_file=$log_file ${_v2ray_args} + ;; + trojan-go) + [ "$TCP_UDP" = "1" ] && { + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + } + local loglevel=$(config_t_get global trojan_loglevel "2") + lua $API_GEN_TROJAN -node $node -run_type nat -local_addr "0.0.0.0" -local_port $local_port -loglevel $loglevel > $config_file + ln_run "$(first_type $(config_t_get global_app trojan_go_file) trojan-go)" trojan-go $log_file -config "$config_file" + ;; + trojan*) + [ "$tcp_proxy_way" = "tproxy" ] && lua_tproxy_arg="-use_tproxy true" + [ "$TCP_UDP" = "1" ] && { + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + } + local loglevel=$(config_t_get global trojan_loglevel "2") + lua $API_GEN_TROJAN -node $node -run_type nat -local_addr "0.0.0.0" -local_port $local_port -loglevel $loglevel $lua_tproxy_arg > $config_file + ln_run "$(first_type ${type})" "${type}" $log_file -c "$config_file" + ;; + naiveproxy) + lua $API_GEN_NAIVE -node $node -run_type redir -local_addr "0.0.0.0" -local_port $local_port > $config_file + ln_run "$(first_type naive)" naive $log_file "$config_file" + ;; + brook) + local server_ip=$server_host + local protocol=$(config_n_get $node protocol client) + local prefix="" + [ "$protocol" == "wsclient" ] && { + prefix="ws://" + local brook_tls=$(config_n_get $node brook_tls 0) + [ "$brook_tls" == "1" ] && prefix="wss://" + local ws_path=$(config_n_get $node ws_path "/ws") + } + server_ip=${prefix}${server_ip} + ln_run "$(first_type $(config_t_get global_app brook_file) brook)" "brook_TCP" $log_file tproxy -l ":$local_port" -s "${server_ip}:${port}${ws_path}" -p "$(config_n_get $node password)" --doNotRunScripts + ;; + ssr) + [ "$tcp_proxy_way" = "tproxy" ] && lua_tproxy_arg="-tcp_tproxy true" + [ "$TCP_UDP" = "1" ] && { + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + _extra_param="-u" + } + lua $API_GEN_SS -node $node -local_addr "0.0.0.0" -local_port $local_port $lua_tproxy_arg > $config_file + ln_run "$(first_type ssr-redir)" "ssr-redir" $log_file -c "$config_file" -v ${_extra_param} + ;; + ss) + [ "$tcp_proxy_way" = "tproxy" ] && lua_tproxy_arg="-tcp_tproxy true" + lua_mode_arg="-mode tcp_only" + [ "$TCP_UDP" = "1" ] && { + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + lua_mode_arg="-mode tcp_and_udp" + } + lua $API_GEN_SS -node $node -local_addr "0.0.0.0" -local_port $local_port $lua_mode_arg $lua_tproxy_arg > $config_file + ln_run "$(first_type ss-redir)" "ss-redir" $log_file -c "$config_file" -v + ;; + ss-rust) + local _extra_param="-local_tcp_redir_port $local_port" + [ "$tcp_proxy_way" = "tproxy" ] && _extra_param="${_extra_param} -tcp_tproxy true" + [ "$tcp_node_socks" = "1" ] && { + tcp_node_socks_flag=1 + config_file=$(echo $config_file | sed "s/TCP/TCP_SOCKS_$tcp_node_socks_id/g") + _extra_param="${_extra_param} -local_socks_port ${tcp_node_socks_port}" + } + [ "$tcp_node_http" = "1" ] && { + tcp_node_http_flag=1 + config_file=$(echo $config_file | sed "s/TCP/TCP_HTTP_$tcp_node_http_id/g") + _extra_param="${_extra_param} -local_http_port ${tcp_node_http_port}" + } + [ "$TCP_UDP" = "1" ] && { + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + _extra_param="${_extra_param} -local_udp_redir_port $local_port" + } + lua $API_GEN_SS -node $node ${_extra_param} > $config_file + ln_run "$(first_type sslocal)" "sslocal" $log_file -c "$config_file" -v + ;; + hysteria) + local _extra_param="-local_tcp_redir_port $local_port" + [ "$tcp_node_socks" = "1" ] && { + tcp_node_socks_flag=1 + config_file=$(echo $config_file | sed "s/TCP/TCP_SOCKS_$tcp_node_socks_id/g") + _extra_param="${_extra_param} -local_socks_port ${tcp_node_socks_port}" + } + [ "$tcp_node_http" = "1" ] && { + tcp_node_http_flag=1 + config_file=$(echo $config_file | sed "s/TCP/TCP_HTTP_$tcp_node_http_id/g") + _extra_param="${_extra_param} -local_http_port ${tcp_node_http_port}" + } + [ "$TCP_UDP" = "1" ] && { + config_file=$(echo $config_file | sed "s/TCP/TCP_UDP/g") + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + _extra_param="${_extra_param} -local_udp_redir_port $local_port" + } + lua $API_GEN_HYSTERIA -node $node ${_extra_param} > $config_file + ln_run "$(first_type $(config_t_get global_app hysteria_file))" "hysteria" $log_file -c "$config_file" client + ;; + esac + if [ -n "${_socks_flag}" ]; then + local _flag="TCP" + local _extra_param="-T" + [ "$TCP_UDP" = "1" ] && { + _flag="TCP_UDP" + _extra_param="" + UDP_REDIR_PORT=$TCP_REDIR_PORT + UDP_NODE="nil" + } + local _socks_tproxy="-R" + [ "$tcp_proxy_way" = "tproxy" ] && _socks_tproxy="" + _extra_param="${_extra_param} ${_socks_tproxy}" + [ -n "${_socks_username}" ] && [ -n "${_socks_password}" ] && _extra_param="-a ${_socks_username} -k ${_socks_password} ${_extra_param}" + ln_run "$(first_type ipt2socks)" "ipt2socks_${_flag}" $log_file -l $local_port -b 0.0.0.0 -s ${_socks_address} -p ${_socks_port} ${_extra_param} -v + fi + + [ -z "$tcp_node_socks_flag" ] && { + [ "$tcp_node_socks" = "1" ] && { + local port=$tcp_node_socks_port + local config_file="SOCKS_$tcp_node_socks_id.json" + local log_file="SOCKS_$tcp_node_socks_id.log" + local http_port=0 + local http_config_file="HTTP2SOCKS_$tcp_node_http_id.json" + [ "$tcp_node_http" = "1" ] && [ -z "$tcp_node_http_flag" ] && { + http_port=$tcp_node_http_port + } + run_socks flag=$tcp_node_socks_id node=$node bind=0.0.0.0 socks_port=$port config_file=$config_file http_port=$http_port http_config_file=$http_config_file + } + } + ;; + esac + unset tcp_node_socks_flag tcp_node_http_flag + return 0 +} + +node_switch() { + local flag new_node shunt_logic log_output + eval_set_val $@ + [ -n "$flag" ] && [ -n "$new_node" ] && { + flag=$(echo $flag | tr 'A-Z' 'a-z') + FLAG=$(echo $flag | tr 'a-z' 'A-Z') + [ -n "$log_output" ] || LOG_FILE="/dev/null" + local node=$2 + pgrep -af "${TMP_PATH}" | awk -v P1="${FLAG}" 'BEGIN{IGNORECASE=1}$0~P1 && !/acl\/|acl_/{print $1}' | xargs kill -9 >/dev/null 2>&1 + rm -rf $TMP_PATH/${FLAG}* + local config_file="${FLAG}.json" + local log_file="${FLAG}.log" + local port=$(cat $TMP_PORT_PATH/${FLAG}) + + [ "$SOCKS_ENABLED" = "1" ] && { + local ids=$(uci show $CONFIG | grep "=socks" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}') + for id in $ids; do + [ "$(config_n_get $id enabled 0)" = "0" ] && continue + [ "$(config_n_get $id node nil)" != "tcp" ] && continue + local socks_port=$(config_n_get $id port) + local http_port=$(config_n_get $id http_port 0) + pgrep -af "${TMP_PATH}.*${id}" | awk 'BEGIN{IGNORECASE=1}/SOCKS/{print $1}' | xargs kill -9 >/dev/null 2>&1 + tcp_node_socks=1 + tcp_node_socks_port=$socks_port + tcp_node_socks_id=$id + [ "$http_port" != "0" ] && { + tcp_node_http=1 + tcp_node_http_port=$http_port + tcp_node_http_id=$id + } + break + done + } + + [ "$shunt_logic" != "0" ] && { + local node=$(config_t_get global ${flag}_node nil) + [ "$(config_n_get $node protocol nil)" = "_shunt" ] && { + if [ "$shunt_logic" = "1" ]; then + uci set $CONFIG.$node.default_node="$new_node" + elif [ "$shunt_logic" = "2" ]; then + uci set $CONFIG.$node.main_node="$new_node" + fi + uci commit $CONFIG + } + new_node=$node + } + + run_redir node=$new_node proto=$FLAG bind=0.0.0.0 local_port=$port config_file=$config_file log_file=$log_file + echo $new_node > $TMP_ID_PATH/${FLAG} + + [ "$shunt_logic" != "0" ] && [ "$(config_n_get $new_node protocol nil)" = "_shunt" ] && { + echo $(config_n_get $new_node default_node nil) > $TMP_ID_PATH/${1}_default + echo $(config_n_get $new_node main_node nil) > $TMP_ID_PATH/${1}_main + uci commit $CONFIG + } + + [ "$flag" = "tcp" ] && { + [ "$(config_t_get global udp_node nil)" = "tcp" ] && [ "$UDP_REDIR_PORT" != "$TCP_REDIR_PORT" ] && { + pgrep -af "$TMP_PATH" | awk 'BEGIN{IGNORECASE=1}/UDP/ && !/acl\/|acl_/{print $1}' | xargs kill -9 >/dev/null 2>&1 + UDP_NODE=$new_node + start_redir UDP + } + } + + #uci set $CONFIG.@global[0].${flag}_node=$new_node + #uci commit $CONFIG + source $APP_PATH/helper_${DNS_N}.sh logic_restart no_log=1 + } +} + +start_redir() { + local proto=${1} + eval node=\$${proto}_NODE + if [ "$node" != "nil" ]; then + TYPE=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z') + local config_file="${proto}.json" + local log_file="${proto}.log" + eval current_port=\$${proto}_REDIR_PORT + local port=$(echo $(get_new_port $current_port $proto)) + eval ${proto}_REDIR=$port + run_redir node=$node proto=${proto} bind=0.0.0.0 local_port=$port config_file=$config_file log_file=$log_file + #eval ip=\$${proto}_NODE_IP + echo $port > $TMP_PORT_PATH/${proto} + echo $node > $TMP_ID_PATH/${proto} + [ "$(config_n_get $node protocol nil)" = "_shunt" ] && { + local default_node=$(config_n_get $node default_node nil) + local main_node=$(config_n_get $node main_node nil) + echo $default_node > $TMP_ID_PATH/${proto}_default + echo $main_node > $TMP_ID_PATH/${proto}_main + } + else + [ "${proto}" = "UDP" ] && [ "$TCP_UDP" = "1" ] && return + echolog "${proto}节点没有选择或为空,不代理${proto}。" + fi +} + +start_socks() { + [ "$SOCKS_ENABLED" = "1" ] && { + local ids=$(uci show $CONFIG | grep "=socks" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}') + [ -n "$ids" ] && { + echolog "分析 Socks 服务的节点配置..." + for id in $ids; do + local enabled=$(config_n_get $id enabled 0) + [ "$enabled" == "0" ] && continue + local node=$(config_n_get $id node nil) + [ "$node" == "nil" ] && continue + local port=$(config_n_get $id port) + local config_file="SOCKS_${id}.json" + local log_file="SOCKS_${id}.log" + local http_port=$(config_n_get $id http_port 0) + local http_config_file="HTTP2SOCKS_${id}.json" + [ "$node" == "tcp" ] && { + tcp_node_socks=1 + tcp_node_socks_port=$port + tcp_node_socks_id=$id + [ "$http_port" != "0" ] && { + tcp_node_http=1 + tcp_node_http_port=$http_port + tcp_node_http_id=$id + } + continue + } + run_socks flag=$id node=$node bind=0.0.0.0 socks_port=$port config_file=$config_file http_port=$http_port http_config_file=$http_config_file + echo $node > $TMP_ID_PATH/SOCKS_${id} + done + } + } +} + +clean_log() { + logsnum=$(cat $LOG_FILE 2>/dev/null | wc -l) + [ "$logsnum" -gt 1000 ] && { + echo "" > $LOG_FILE + echolog "日志文件过长,清空处理!" + } +} + +clean_crontab() { + touch /etc/crontabs/root + #sed -i "/${CONFIG}/d" /etc/crontabs/root >/dev/null 2>&1 + sed -i "/$(echo "/etc/init.d/${CONFIG}" | sed 's#\/#\\\/#g')/d" /etc/crontabs/root >/dev/null 2>&1 + sed -i "/$(echo "lua ${APP_PATH}/rule_update.lua log" | sed 's#\/#\\\/#g')/d" /etc/crontabs/root >/dev/null 2>&1 + sed -i "/$(echo "lua ${APP_PATH}/subscribe.lua start" | sed 's#\/#\\\/#g')/d" /etc/crontabs/root >/dev/null 2>&1 +} + +start_crontab() { + clean_crontab + [ "$ENABLED" != 1 ] && { + /etc/init.d/cron restart + return + } + auto_on=$(config_t_get global_delay auto_on 0) + if [ "$auto_on" = "1" ]; then + time_off=$(config_t_get global_delay time_off) + time_on=$(config_t_get global_delay time_on) + time_restart=$(config_t_get global_delay time_restart) + [ -z "$time_off" -o "$time_off" != "nil" ] && { + echo "0 $time_off * * * /etc/init.d/$CONFIG stop" >>/etc/crontabs/root + echolog "配置定时任务:每天 $time_off 点关闭服务。" + } + [ -z "$time_on" -o "$time_on" != "nil" ] && { + echo "0 $time_on * * * /etc/init.d/$CONFIG start" >>/etc/crontabs/root + echolog "配置定时任务:每天 $time_on 点开启服务。" + } + [ -z "$time_restart" -o "$time_restart" != "nil" ] && { + echo "0 $time_restart * * * /etc/init.d/$CONFIG restart" >>/etc/crontabs/root + echolog "配置定时任务:每天 $time_restart 点重启服务。" + } + fi + + autoupdate=$(config_t_get global_rules auto_update) + weekupdate=$(config_t_get global_rules week_update) + dayupdate=$(config_t_get global_rules time_update) + if [ "$autoupdate" = "1" ]; then + local t="0 $dayupdate * * $weekupdate" + [ "$weekupdate" = "7" ] && t="0 $dayupdate * * *" + echo "$t lua $APP_PATH/rule_update.lua log > /dev/null 2>&1 &" >>/etc/crontabs/root + echolog "配置定时任务:自动更新规则。" + fi + + TMP_SUB_PATH=$TMP_PATH/sub_crontabs + mkdir -p $TMP_SUB_PATH + for item in $(uci show ${CONFIG} | grep "=subscribe_list" | cut -d '.' -sf 2 | cut -d '=' -sf 1); do + if [ "$(config_n_get $item auto_update 0)" = "1" ]; then + cfgid=$(uci show ${CONFIG}.$item | head -n 1 | cut -d '.' -sf 2 | cut -d '=' -sf 1) + remark=$(config_n_get $item remark) + week_update=$(config_n_get $item week_update) + time_update=$(config_n_get $item time_update) + echo "$cfgid" >> $TMP_SUB_PATH/${week_update}_${time_update} + echolog "配置定时任务:自动更新【$remark】订阅。" + fi + done + + [ -d "${TMP_SUB_PATH}" ] && { + for name in $(ls ${TMP_SUB_PATH}); do + week_update=$(echo $name | awk -F '_' '{print $1}') + time_update=$(echo $name | awk -F '_' '{print $2}') + local t="0 $time_update * * $week_update" + [ "$week_update" = "7" ] && t="0 $time_update * * *" + cfgids=$(echo -n $(cat ${TMP_SUB_PATH}/${name}) | sed 's# #,#g') + echo "$t lua $APP_PATH/subscribe.lua start $cfgids > /dev/null 2>&1 &" >>/etc/crontabs/root + done + rm -rf $TMP_SUB_PATH + } + + if [ "$NO_PROXY" == 0 ]; then + start_daemon=$(config_t_get global_delay start_daemon 0) + [ "$start_daemon" = "1" ] && $APP_PATH/monitor.sh > /dev/null 2>&1 & + + AUTO_SWITCH_ENABLE=$(config_t_get auto_switch enable 0) + [ "$AUTO_SWITCH_ENABLE" = "1" ] && $APP_PATH/test.sh > /dev/null 2>&1 & + else + echolog "运行于非代理模式,仅允许服务启停的定时任务。" + fi + + /etc/init.d/cron restart +} + +stop_crontab() { + clean_crontab + /etc/init.d/cron restart + #echolog "清除定时执行命令。" +} + +start_dns() { + TUN_DNS="127.0.0.1#${dns_listen_port}" + + echolog "过滤服务配置:准备接管域名解析..." + local items=$(uci show ${CONFIG} | grep "=acl_rule" | cut -d '.' -sf 2 | cut -d '=' -sf 1) + [ -n "$items" ] && { + for item in $items; do + [ "$(config_n_get $item enabled)" = "1" ] || continue + [ "$(config_n_get $item tcp_node)" = "default" -o "$(config_n_get $item udp_node)" = "default" ] && { + local item_tcp_proxy_mode=$(config_n_get $item tcp_proxy_mode default) + local item_udp_proxy_mode=$(config_n_get $item udp_proxy_mode default) + [ "$item_tcp_proxy_mode" = "default" ] && item_tcp_proxy_mode=$TCP_PROXY_MODE + [ "$item_udp_proxy_mode" = "default" ] && item_udp_proxy_mode=$UDP_PROXY_MODE + global=$(echo "${global}${item_tcp_proxy_mode}${item_udp_proxy_mode}" | grep "global") + returnhome=$(echo "${returnhome}${item_tcp_proxy_mode}${item_udp_proxy_mode}" | grep "returnhome") + chnlist=$(echo "${chnlist}${item_tcp_proxy_mode}${item_udp_proxy_mode}" | grep "chnroute") + gfwlist=$(echo "${gfwlist}${item_tcp_proxy_mode}${item_udp_proxy_mode}" | grep "gfwlist") + ACL_TCP_PROXY_MODE=${ACL_TCP_PROXY_MODE}${item_tcp_proxy_mode} + ACL_UDP_PROXY_MODE=${ACL_UDP_PROXY_MODE}${item_udp_proxy_mode} + } + done + } + + case "$DNS_MODE" in + dns2socks) + local dns2socks_socks_server=$(echo $(config_t_get global socks_server 127.0.0.1:1080) | sed "s/#/:/g") + local dns2socks_forward=$(get_first_dns DNS_FORWARD 53 | sed 's/#/:/g') + run_dns2socks socks=$dns2socks_socks_server listen_address=127.0.0.1 listen_port=${dns_listen_port} dns=$dns2socks_forward cache=$DNS_CACHE + echolog " - 域名解析:dns2socks(127.0.0.1:${dns_listen_port}),${dns2socks_socks_server} -> ${dns2socks_forward}" + ;; + v2ray|\ + xray) + [ "${resolve_dns}" == "0" ] && { + local config_file=$TMP_PATH/DNS.json + local log_file=$TMP_PATH/DNS.log + local log_file=/dev/null + local _v2ray_args="config_file=$config_file log_file=$log_file" + [ "${DNS_CACHE}" == "0" ] && _v2ray_args="${_v2ray_args} dns_cache=0" + _v2ray_args="${_v2ray_args} dns_query_strategy=${DNS_QUERY_STRATEGY}" + local _dns_client_ip=$(config_t_get global dns_client_ip) + [ -n "${_dns_client_ip}" ] && _v2ray_args="${_v2ray_args} dns_client_ip=${_dns_client_ip}" + use_tcp_node_resolve_dns=1 + local v2ray_dns_mode=$(config_t_get global v2ray_dns_mode tcp) + _v2ray_args="${_v2ray_args} dns_listen_port=${dns_listen_port}" + _v2ray_args="${_v2ray_args} dns_proto=${v2ray_dns_mode}" + case "$v2ray_dns_mode" in + tcp) + _v2ray_args="${_v2ray_args} dns_tcp_server=${DNS_FORWARD}" + echolog " - 域名解析 DNS Over TCP..." + ;; + doh) + up_trust_doh=$(config_t_get global up_trust_doh "https://cloudflare-dns.com/dns-query,1.1.1.1") + _v2ray_args="${_v2ray_args} doh=${up_trust_doh}" + + _doh_url=$(echo $up_trust_doh | awk -F ',' '{print $1}') + _doh_host_port=$(echo $_doh_url | sed "s/https:\/\///g" | awk -F '/' '{print $1}') + _doh_host=$(echo $_doh_host_port | awk -F ':' '{print $1}') + _doh_port=$(echo $_doh_host_port | awk -F ':' '{print $2}') + _doh_bootstrap=$(echo $up_trust_doh | cut -d ',' -sf 2-) + + DNS_FORWARD="" + _doh_bootstrap_dns=$(echo $_doh_bootstrap | sed "s/,/ /g") + for _dns in $_doh_bootstrap_dns; do + _dns=$(echo $_dns | awk -F ':' '{print $1}'):${_doh_port:-443} + [ -n "$DNS_FORWARD" ] && DNS_FORWARD=${DNS_FORWARD},${_dns} || DNS_FORWARD=${_dns} + done + unset _dns _doh_bootstrap_dns + unset _doh_url _doh_port _doh_bootstrap + echolog " - 域名解析 DNS Over HTTPS..." + ;; + esac + run_v2ray ${_v2ray_args} + } + ;; + pdnsd) + use_tcp_node_resolve_dns=1 + gen_pdnsd_config "${dns_listen_port}" "${DNS_FORWARD}" "${DNS_CACHE}" + ln_run "$(first_type pdnsd)" pdnsd "/dev/null" --daemon -c "${TMP_PATH}/pdnsd/pdnsd.conf" -d + echolog " - 域名解析:pdnsd + 使用(TCP节点)解析域名..." + ;; + udp) + use_udp_node_resolve_dns=1 + TUN_DNS="$(echo ${DNS_FORWARD} | sed 's/#/:/g' | sed -E 's/\:([^:]+)$/#\1/g')" + echolog " - 域名解析:使用UDP协议请求DNS($TUN_DNS)..." + ;; + esac + + [ "${use_tcp_node_resolve_dns}" = "1" ] && echolog " * 请确认上游 DNS 支持 TCP 查询,如非直连地址,确保 TCP 代理打开,并且已经正确转发!" + [ "${use_udp_node_resolve_dns}" = "1" ] && echolog " * 要求代理 DNS 请求,如上游 DNS 非直连地址,确保 UDP 代理打开,并且已经正确转发!" + + case "$DNS_SHUNT" in + smartdns) + local group_domestic=$(config_t_get global group_domestic) + CHINADNS_NG=0 + source $APP_PATH/helper_smartdns.sh add DNS_MODE=$DNS_MODE SMARTDNS_CONF=/tmp/etc/smartdns/$CONFIG.conf REMOTE_FAKEDNS=$fakedns DEFAULT_DNS=$DEFAULT_DNS LOCAL_GROUP=$group_domestic TUN_DNS=$TUN_DNS TCP_NODE=$TCP_NODE PROXY_MODE=${TCP_PROXY_MODE}${LOCALHOST_TCP_PROXY_MODE}${ACL_TCP_PROXY_MODE} NO_PROXY_IPV6=${filter_proxy_ipv6} + source $APP_PATH/helper_smartdns.sh restart + echolog " - 域名解析:使用SmartDNS,请确保配置正常。" + ;; + esac + + [ -n "$chnlist" ] && [ "$CHINADNS_NG" = "1" ] && [ -n "$(first_type chinadns-ng)" ] && [ -s "${RULES_PATH}/chnlist" ] && { + china_ng_listen_port=$(expr $dns_listen_port + 1) + china_ng_listen="127.0.0.1#${china_ng_listen_port}" + china_ng_chn=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n2) | tr " " ",") + china_ng_gfw="${TUN_DNS}" + echolog " | - (chinadns-ng) 最高支持4级域名过滤..." + + local gfwlist_param="${TMP_PATH}/chinadns_gfwlist" + [ -s "${RULES_PATH}/gfwlist" ] && cp -a "${RULES_PATH}/gfwlist" "${gfwlist_param}" + local chnlist_param="${TMP_PATH}/chinadns_chnlist" + [ -s "${RULES_PATH}/chnlist" ] && cp -a "${RULES_PATH}/chnlist" "${chnlist_param}" + + [ -s "${RULES_PATH}/proxy_host" ] && { + cat "${RULES_PATH}/proxy_host" | tr -s '\n' | grep -v "^#" | sort -u >> "${gfwlist_param}" + echolog " | - [$?](chinadns-ng) 代理域名表合并到防火墙域名表" + } + [ -s "${RULES_PATH}/direct_host" ] && { + cat "${RULES_PATH}/direct_host" | tr -s '\n' | grep -v "^#" | sort -u >> "${chnlist_param}" + echolog " | - [$?](chinadns-ng) 域名白名单合并到中国域名表" + } + chnlist_param=${chnlist_param:+-m "${chnlist_param}" -M} + local log_path="${TMP_PATH}/chinadns-ng.log" + log_path="/dev/null" + ln_run "$(first_type chinadns-ng)" chinadns-ng "$log_path" -v -b 0.0.0.0 -l "${china_ng_listen_port}" ${china_ng_chn:+-c "${china_ng_chn}"} ${chnlist_param} ${china_ng_gfw:+-t "${china_ng_gfw}"} ${gfwlist_param:+-g "${gfwlist_param}"} -f + echolog " + 过滤服务:ChinaDNS-NG(:${china_ng_listen_port}):国内DNS:${china_ng_chn},可信DNS:${china_ng_gfw}" + } + + [ "$DNS_SHUNT" = "dnsmasq" ] && { + source $APP_PATH/helper_dnsmasq.sh stretch + source $APP_PATH/helper_dnsmasq.sh add DNS_MODE=$DNS_MODE TMP_DNSMASQ_PATH=$TMP_DNSMASQ_PATH DNSMASQ_CONF_FILE=/tmp/dnsmasq.d/dnsmasq-passwall.conf REMOTE_FAKEDNS=$fakedns DEFAULT_DNS=$DEFAULT_DNS LOCAL_DNS=$LOCAL_DNS TUN_DNS=$TUN_DNS CHINADNS_DNS=$china_ng_listen TCP_NODE=$TCP_NODE PROXY_MODE=${TCP_PROXY_MODE}${LOCALHOST_TCP_PROXY_MODE}${ACL_TCP_PROXY_MODE} NO_PROXY_IPV6=${filter_proxy_ipv6} + } +} + +gen_pdnsd_config() { + local listen_port=${1} + local up_dns=${2} + local cache=${3} + local pdnsd_dir=${TMP_PATH}/pdnsd + local perm_cache=2048 + local _cache="on" + local query_method="tcp_only" + local reject_ipv6_dns= + [ "${cache}" = "0" ] && _cache="off" && perm_cache=0 + + mkdir -p "${pdnsd_dir}" + touch "${pdnsd_dir}/pdnsd.cache" + chown -R root.nogroup "${pdnsd_dir}" + if [ $PROXY_IPV6 == "0" ]; then + reject_ipv6_dns=$(cat <<- 'EOF' + + reject = ::/0; + reject_policy = negate; + EOF + ) + fi + cat > "${pdnsd_dir}/pdnsd.conf" <<-EOF + global { + perm_cache = $perm_cache; + cache_dir = "$pdnsd_dir"; + run_as = "root"; + server_ip = 127.0.0.1; + server_port = ${listen_port}; + status_ctl = on; + query_method = ${query_method}; + min_ttl = 1h; + max_ttl = 1w; + timeout = 10; + par_queries = 2; + neg_domain_pol = off; + udpbufsize = 1024; + proc_limit = 2; + procq_limit = 8; + } + + EOF + echolog " + [$?]Pdnsd (127.0.0.1:${listen_port})..." + + append_pdnsd_updns() { + [ -z "${2}" ] && echolog " | - 略过错误 : ${1}" && return 0 + cat >> $pdnsd_dir/pdnsd.conf <<-EOF + server { + label = "node-${2}_${3}"; + ip = ${2}; + edns_query = on; + port = ${3}; + timeout = 4; + interval = 10m; + uptest = none; + purge_cache = off; + proxy_only = on; + caching = $_cache;${reject_ipv6_dns} + } + EOF + echolog " | - [$?]上游DNS:${2}:${3}" + } + hosts_foreach up_dns append_pdnsd_updns 53 +} + +add_ip2route() { + local ip=$(get_host_ip "ipv4" $1) + [ -z "$ip" ] && { + echolog " - 无法解析[${1}],路由表添加失败!" + return 1 + } + local remarks="${1}" + [ "$remarks" != "$ip" ] && remarks="${1}(${ip})" + + . /lib/functions/network.sh + local gateway device + network_get_gateway gateway "$2" + network_get_device device "$2" + [ -z "${device}" ] && device="$2" + + if [ -n "${gateway}" ]; then + route add -host ${ip} gw ${gateway} dev ${device} >/dev/null 2>&1 + echo "$ip" >> $TMP_ROUTE_PATH/${device} + echolog " - [${remarks}]添加到接口[${device}]路由表成功!" + else + echolog " - [${remarks}]添加到接口[${device}]路由表失功!原因是找不到[${device}]网关。" + fi +} + +delete_ip2route() { + [ -d "${TMP_ROUTE_PATH}" ] && { + for interface in $(ls ${TMP_ROUTE_PATH}); do + for ip in $(cat ${TMP_ROUTE_PATH}/${interface}); do + route del -host ${ip} dev ${interface} >/dev/null 2>&1 + done + done + } +} + +start_haproxy() { + local haproxy_path haproxy_file item items lport sort_items + + [ "$(config_t_get global_haproxy balancing_enable 0)" != "1" ] && return + echolog "HAPROXY 负载均衡..." + + haproxy_path=${TMP_PATH}/haproxy + mkdir -p "${haproxy_path}" + haproxy_file=${haproxy_path}/config.cfg + cat <<-EOF > "${haproxy_file}" + global + log 127.0.0.1 local2 + chroot ${haproxy_path} + maxconn 60000 + stats socket ${haproxy_path}/haproxy.sock + daemon + + defaults + mode tcp + log global + option tcplog + option dontlognull + option http-server-close + #option forwardfor except 127.0.0.0/8 + option redispatch + retries 2 + timeout http-request 10s + timeout queue 1m + timeout connect 10s + timeout client 1m + timeout server 1m + timeout http-keep-alive 10s + timeout check 10s + maxconn 3000 + + EOF + + items=$(uci show ${CONFIG} | grep "=haproxy_config" | cut -d '.' -sf 2 | cut -d '=' -sf 1) + for item in $items; do + lport=$(config_n_get ${item} haproxy_port 0) + [ "${lport}" = "0" ] && echolog " - 丢弃1个明显无效的节点" && continue + sort_items="${sort_items}${IFS}${lport} ${item}" + done + + items=$(echo "${sort_items}" | sort -n | cut -d ' ' -sf 2) + + unset lport + local haproxy_port lbss lbweight export backup remark + local msg bip bport hasvalid bbackup failcount interface + for item in ${items}; do + unset haproxy_port bbackup + + eval $(uci -q show "${CONFIG}.${item}" | cut -d '.' -sf 3-) + [ "$enabled" = "1" ] || continue + get_ip_port_from "$lbss" bip bport 1 + + [ -z "$haproxy_port" ] || [ -z "$bip" ] && echolog " - 丢弃1个明显无效的节点" && continue + [ "$backup" = "1" ] && bbackup="backup" + remark=$(echo $bip | sed "s/\[//g" | sed "s/\]//g") + + [ "$lport" = "${haproxy_port}" ] || { + hasvalid="1" + lport=${haproxy_port} + echolog " + 入口 0.0.0.0:${lport}..." + cat <<-EOF >> "${haproxy_file}" + listen $lport + mode tcp + bind 0.0.0.0:$lport + EOF + } + + cat <<-EOF >> "${haproxy_file}" + server $remark:$bport $bip:$bport weight $lbweight check inter 1500 rise 1 fall 3 $bbackup + EOF + + if [ "$export" != "0" ]; then + add_ip2route ${bip} ${export} > /dev/null 2>&1 & + fi + + haproxy_items="${haproxy_items}${IFS}${bip}:${bport}" + echolog " | - 出口节点:${bip}:${bport},权重:${lbweight}" + done + + # 控制台配置 + local console_port=$(config_t_get global_haproxy console_port) + local console_user=$(config_t_get global_haproxy console_user) + local console_password=$(config_t_get global_haproxy console_password) + local auth="" + [ -n "$console_user" ] && [ -n "$console_password" ] && auth="stats auth $console_user:$console_password" + cat <<-EOF >> "${haproxy_file}" + + listen console + bind 0.0.0.0:$console_port + mode http + stats refresh 30s + stats uri / + stats admin if TRUE + $auth + EOF + + [ "${hasvalid}" != "1" ] && echolog " - 没有发现任何有效节点信息,不启动。" && return 0 + ln_run "$(first_type haproxy)" haproxy "/dev/null" -f "${haproxy_file}" + echolog " * 控制台端口:${console_port}/,${auth:-公开}" +} + +kill_all() { + kill -9 $(pidof "$@") >/dev/null 2>&1 +} + +boot() { + [ "$ENABLED" == 1 ] && { + local delay=$(config_t_get global_delay start_delay 1) + if [ "$delay" -gt 0 ]; then + echolog "执行启动延时 $delay 秒后再启动!" + sleep $delay && start >/dev/null 2>&1 & + else + start + fi + } + return 0 +} + +start() { + ulimit -n 65535 + start_haproxy + start_socks + + [ "$NO_PROXY" == 1 ] || { + if [ -z "$(command -v iptables-legacy || command -v iptables)" ] || [ -z "$(command -v ipset)" ]; then + echolog "系统未安装iptables或ipset,无法透明代理!" + else + start_redir TCP + start_redir UDP + start_dns + source $APP_PATH/iptables.sh start + source $APP_PATH/helper_${DNS_N}.sh logic_restart + fi + } + start_crontab + echolog "运行完成!\n" +} + +stop() { + clean_log + source $APP_PATH/iptables.sh stop + delete_ip2route + kill_all v2ray-plugin obfs-local + pgrep -f "sleep.*(6s|9s|58s)" | xargs kill -9 >/dev/null 2>&1 + pgrep -af "${CONFIG}/" | awk '! /app\.sh|subscribe\.lua|rule_update\.lua/{print $1}' | xargs kill -9 >/dev/null 2>&1 + unset V2RAY_LOCATION_ASSET + unset XRAY_LOCATION_ASSET + stop_crontab + source $APP_PATH/helper_smartdns.sh del + source $APP_PATH/helper_smartdns.sh restart no_log=1 + source $APP_PATH/helper_dnsmasq.sh del + source $APP_PATH/helper_dnsmasq.sh restart no_log=1 + rm -rf ${TMP_PATH} + rm -rf /tmp/lock/${CONFIG}_script.lock + echolog "清空并关闭相关程序和缓存完成。" + exit 0 +} + +ENABLED=$(config_t_get global enabled 0) +SOCKS_ENABLED=$(config_t_get global socks_enabled 0) +TCP_REDIR_PORT=1041 +TCP_NODE=$(config_t_get global tcp_node nil) +UDP_REDIR_PORT=1051 +UDP_NODE=$(config_t_get global udp_node nil) +TCP_UDP=0 +[ "$UDP_NODE" == "tcp" ] && { + UDP_NODE=$TCP_NODE + TCP_UDP=1 +} +[ "$ENABLED" != 1 ] && NO_PROXY=1 +[ "$TCP_NODE" == "nil" -a "$UDP_NODE" == "nil" ] && NO_PROXY=1 +[ "$(config_get_type $TCP_NODE nil)" == "nil" -a "$(config_get_type $UDP_NODE nil)" == "nil" ] && NO_PROXY=1 +tcp_proxy_way=$(config_t_get global_forwarding tcp_proxy_way redirect) +REDIRECT_LIST="socks ss ss-rust ssr v2ray xray trojan-plus trojan-go naiveproxy" +TPROXY_LIST="socks ss ss-rust ssr v2ray xray trojan-plus brook trojan-go hysteria" +RESOLVFILE=/tmp/resolv.conf.d/resolv.conf.auto +[ -f "${RESOLVFILE}" ] && [ -s "${RESOLVFILE}" ] || RESOLVFILE=/tmp/resolv.conf.auto +TCP_REDIR_PORTS=$(config_t_get global_forwarding tcp_redir_ports '80,443') +UDP_REDIR_PORTS=$(config_t_get global_forwarding udp_redir_ports '1:65535') +TCP_NO_REDIR_PORTS=$(config_t_get global_forwarding tcp_no_redir_ports 'disable') +UDP_NO_REDIR_PORTS=$(config_t_get global_forwarding udp_no_redir_ports 'disable') +TCP_PROXY_DROP_PORTS=$(config_t_get global_forwarding tcp_proxy_drop_ports 'disable') +UDP_PROXY_DROP_PORTS=$(config_t_get global_forwarding udp_proxy_drop_ports '80,443') +TCP_PROXY_MODE=$(config_t_get global tcp_proxy_mode chnroute) +UDP_PROXY_MODE=$(config_t_get global udp_proxy_mode chnroute) +LOCALHOST_TCP_PROXY_MODE=$(config_t_get global localhost_tcp_proxy_mode default) +LOCALHOST_UDP_PROXY_MODE=$(config_t_get global localhost_udp_proxy_mode default) +[ "$LOCALHOST_TCP_PROXY_MODE" == "default" ] && LOCALHOST_TCP_PROXY_MODE=$TCP_PROXY_MODE +[ "$LOCALHOST_UDP_PROXY_MODE" == "default" ] && LOCALHOST_UDP_PROXY_MODE=$UDP_PROXY_MODE +global=$(echo "${TCP_PROXY_MODE}${LOCALHOST_TCP_PROXY_MODE}${UDP_PROXY_MODE}${LOCALHOST_UDP_PROXY_MODE}" | grep "global") +returnhome=$(echo "${TCP_PROXY_MODE}${LOCALHOST_TCP_PROXY_MODE}${UDP_PROXY_MODE}${LOCALHOST_UDP_PROXY_MODE}" | grep "returnhome") +chnlist=$(echo "${TCP_PROXY_MODE}${LOCALHOST_TCP_PROXY_MODE}${UDP_PROXY_MODE}${LOCALHOST_UDP_PROXY_MODE}" | grep "chnroute") +gfwlist=$(echo "${TCP_PROXY_MODE}${LOCALHOST_TCP_PROXY_MODE}${UDP_PROXY_MODE}${LOCALHOST_UDP_PROXY_MODE}" | grep "gfwlist") +DNS_SHUNT=$(config_t_get global dns_shunt dnsmasq) +[ -z "$(first_type $DNS_SHUNT)" ] && DNS_SHUNT="dnsmasq" +DNS_MODE=$(config_t_get global dns_mode pdnsd) +DNS_FORWARD=$(config_t_get global dns_forward 1.1.1.1:53 | sed 's/#/:/g' | sed -E 's/\:([^:]+)$/#\1/g') +DNS_CACHE=$(config_t_get global dns_cache 0) +CHINADNS_NG=$(config_t_get global chinadns_ng 0) +filter_proxy_ipv6=$(config_t_get global filter_proxy_ipv6 0) +dns_listen_port=${DNS_PORT} + +DEFAULT_DNS=$(uci show dhcp | grep "@dnsmasq" | grep "\.server=" | awk -F '=' '{print $2}' | sed "s/'//g" | tr ' ' '\n' | grep -v "\/" | head -2 | sed ':label;N;s/\n/,/;b label') +[ -z "${DEFAULT_DNS}" ] && DEFAULT_DNS=$(echo -n $(sed -n 's/^nameserver[ \t]*\([^ ]*\)$/\1/p' "${RESOLVFILE}" | grep -v -E "0.0.0.0|127.0.0.1|::" | head -2) | tr ' ' ',') +LOCAL_DNS="${DEFAULT_DNS:-119.29.29.29}" + +PROXY_IPV6=$(config_t_get global_forwarding ipv6_tproxy 0) +DNS_QUERY_STRATEGY="UseIPv4" +[ "$PROXY_IPV6" = "1" ] && DNS_QUERY_STRATEGY="UseIP" + +export V2RAY_LOCATION_ASSET=$(config_t_get global_rules v2ray_location_asset "/usr/share/v2ray/") +export XRAY_LOCATION_ASSET=$V2RAY_LOCATION_ASSET +mkdir -p /tmp/etc $TMP_PATH $TMP_BIN_PATH $TMP_SCRIPT_FUNC_PATH $TMP_ID_PATH $TMP_PORT_PATH $TMP_ROUTE_PATH $TMP_ACL_PATH $TMP_PATH2 + +arg1=$1 +shift +case $arg1 in +get_new_port) + get_new_port $@ + ;; +run_socks) + run_socks $@ + ;; +run_redir) + run_redir $@ + ;; +node_switch) + node_switch $@ + ;; +echolog) + echolog $@ + ;; +stop) + stop + ;; +start) + start + ;; +boot) + boot + ;; +esac diff --git a/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.sh b/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.sh new file mode 100755 index 00000000..255b7faa --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.sh @@ -0,0 +1,322 @@ +#!/bin/sh + +stretch() { + #zhenduiluanshezhiDNSderen + local dnsmasq_server=$(uci -q get dhcp.@dnsmasq[0].server) + local dnsmasq_noresolv=$(uci -q get dhcp.@dnsmasq[0].noresolv) + local _flag + for server in $dnsmasq_server; do + [ -z "$(echo $server | grep '\/')" ] && _flag=1 + done + [ -z "$_flag" ] && [ "$dnsmasq_noresolv" = "1" ] && { + uci -q delete dhcp.@dnsmasq[0].noresolv + uci -q set dhcp.@dnsmasq[0].resolvfile="$RESOLVFILE" + uci commit dhcp + } +} + +backup_servers() { + DNSMASQ_DNS=$(uci show dhcp | grep "@dnsmasq" | grep ".server=" | awk -F '=' '{print $2}' | sed "s/'//g" | tr ' ' ',') + if [ -n "${DNSMASQ_DNS}" ]; then + uci -q set $CONFIG.@global[0].dnsmasq_servers="${DNSMASQ_DNS}" + uci commit $CONFIG + fi +} + +restore_servers() { + OLD_SERVER=$(uci -q get $CONFIG.@global[0].dnsmasq_servers | tr "," " ") + for server in $OLD_SERVER; do + uci -q del_list dhcp.@dnsmasq[0].server=$server + uci -q add_list dhcp.@dnsmasq[0].server=$server + done + uci commit dhcp + uci -q delete $CONFIG.@global[0].dnsmasq_servers + uci commit $CONFIG +} + +logic_restart() { + local no_log + eval_set_val $@ + _LOG_FILE=$LOG_FILE + [ -n "$no_log" ] && LOG_FILE="/dev/null" + if [ -f "$TMP_PATH/default_DNS" ]; then + backup_servers + #sed -i "/list server/d" /etc/config/dhcp >/dev/null 2>&1 + for server in $(uci -q get dhcp.@dnsmasq[0].server); do + [ -n "$(echo $server | grep '\/')" ] || uci -q del_list dhcp.@dnsmasq[0].server="$server" + done + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + restore_servers + else + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + fi + echolog "重启 dnsmasq 服务" + LOG_FILE=${_LOG_FILE} +} + +restart() { + local no_log + eval_set_val $@ + _LOG_FILE=$LOG_FILE + [ -n "$no_log" ] && LOG_FILE="/dev/null" + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + echolog "重启 dnsmasq 服务" + LOG_FILE=${_LOG_FILE} +} + +gen_items() { + local ipsets dnss outf ipsetoutf + eval_set_val $@ + + awk -v ipsets="${ipsets}" -v dnss="${dnss}" -v outf="${outf}" -v ipsetoutf="${ipsetoutf}" ' + BEGIN { + if(outf == "") outf="/dev/stdout"; + if(ipsetoutf == "") ipsetoutf=outf; + split(dnss, dns, ","); setdns=length(dns)>0; setlist=length(ipsets)>0; + if(setdns) for(i in dns) if(length(dns[i])==0) delete dns[i]; + fail=1; + } + ! /^$/&&!/^#/ { + fail=0 + if(setdns) for(i in dns) printf("server=/.%s/%s\n", $0, dns[i]) >>outf; + if(setlist) printf("ipset=/.%s/%s\n", $0, ipsets) >>ipsetoutf; + } + END {fflush(outf); close(outf); fflush(ipsetoutf); close(ipsetoutf); exit(fail);} + ' +} + +gen_address_items() { + local address outf + eval_set_val $@ + + awk -v address="${address}" -v outf="${outf}" ' + BEGIN { + if(outf == "") outf="/dev/stdout"; + if(address == "") address="0.0.0.0,::"; + split(address, ad, ","); setad=length(ad)>0; + if(setad) for(i in ad) if(length(ad[i])==0) delete ad[i]; + fail=1; + } + ! /^$/&&!/^#/ { + fail=0 + if(setad) for(i in ad) printf("address=/.%s/%s\n", $0, ad[i]) >>outf; + } + END {fflush(outf); close(outf); exit(fail);} + ' +} + +ipset_merge() { + awk '{gsub(/ipset=\//,""); gsub(/\//," ");key=$1;value=$2;if (sum[key] != "") {sum[key]=sum[key]","value} else {sum[key]=sum[key]value}} END{for(i in sum) print "ipset=/"i"/"sum[i]}' "${1}/ipset.conf" > "${1}/ipset.conf2" + mv -f "${1}/ipset.conf2" "${1}/ipset.conf" +} + +add() { + local fwd_dns item servers msg + local DNS_MODE TMP_DNSMASQ_PATH DNSMASQ_CONF_FILE DEFAULT_DNS LOCAL_DNS TUN_DNS REMOTE_FAKEDNS CHINADNS_DNS TCP_NODE PROXY_MODE NO_LOGIC_LOG NO_PROXY_IPV6 + eval_set_val $@ + _LOG_FILE=$LOG_FILE + [ -n "$NO_LOGIC_LOG" ] && LOG_FILE="/dev/null" + global=$(echo "${PROXY_MODE}" | grep "global") + returnhome=$(echo "${PROXY_MODE}" | grep "returnhome") + chnlist=$(echo "${PROXY_MODE}" | grep "chnroute") + gfwlist=$(echo "${PROXY_MODE}" | grep "gfwlist") + mkdir -p "${TMP_DNSMASQ_PATH}" "${DNSMASQ_PATH}" "/tmp/dnsmasq.d" + count_hosts_str="!" + + [ -n "$CHINADNS_DNS" ] && dnsmasq_default_dns="${CHINADNS_DNS}" + [ -n "$global" ] && [ -z "$returnhome" ] && [ -z "$chnlist" ] && [ -z "$gfwlist" ] && only_global=1 && dnsmasq_default_dns="${TUN_DNS}" + + #屏蔽列表 + [ -s "${RULES_PATH}/block_host" ] && { + cat "${RULES_PATH}/block_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_address_items address="0.0.0.0" outf="${TMP_DNSMASQ_PATH}/00-block_host.conf" + } + + #始终用国内DNS解析节点域名 + fwd_dns="${LOCAL_DNS}" + servers=$(uci show "${CONFIG}" | grep ".address=" | cut -d "'" -f 2) + hosts_foreach "servers" host_from_url | grep '[a-zA-Z]$' | sort -u | gen_items ipsets="vpsiplist,vpsiplist6" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/10-vpsiplist_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]节点列表中的域名(vpsiplist):${fwd_dns:-默认}" + + #始终用国内DNS解析直连(白名单)列表 + [ -s "${RULES_PATH}/direct_host" ] && { + fwd_dns="${LOCAL_DNS}" + #[ -n "$CHINADNS_DNS" ] && unset fwd_dns + cat "${RULES_PATH}/direct_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_items ipsets="whitelist,whitelist6" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/11-direct_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]域名白名单(whitelist):${fwd_dns:-默认}" + } + + subscribe_list="" + for item in $(get_enabled_anonymous_secs "@subscribe_list"); do + host=$(host_from_url "$(config_n_get ${item} url)") + subscribe_list="${subscribe_list}\n${host}" + done + [ -n "$subscribe_list" ] && { + if [ "$(config_t_get global_subscribe subscribe_proxy 0)" = "0" ]; then + #如果没有开启通过代理订阅 + fwd_dns="${LOCAL_DNS}" + echo -e "$subscribe_list" | sort -u | gen_items ipsets="whitelist,whitelist6" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/12-subscribe.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]节点订阅域名(whitelist):${fwd_dns:-默认}" + else + #如果开启了通过代理订阅 + local ipset_flag="blacklist,blacklist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="blacklist" + echo -e "$subscribe_list" | sort -u | gen_address_items address="::" outf="${TMP_DNSMASQ_PATH}/91-subscribe-noipv6.conf" + fi + [ -z "${only_global}" ] && { + fwd_dns="${TUN_DNS}" + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + echo -e "$subscribe_list" | sort -u | gen_items ipsets="${ipset_flag}" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/91-subscribe.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]节点订阅域名(blacklist):${fwd_dns:-默认}" + } + fi + } + + #始终使用远程DNS解析代理(黑名单)列表 + [ -s "${RULES_PATH}/proxy_host" ] && { + local ipset_flag="blacklist,blacklist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="blacklist" + cat "${RULES_PATH}/proxy_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_address_items address="::" outf="${TMP_DNSMASQ_PATH}/97-proxy_host-noipv6.conf" + fi + [ -z "${only_global}" ] && { + fwd_dns="${TUN_DNS}" + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + cat "${RULES_PATH}/proxy_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_items ipsets="${ipset_flag}" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/97-proxy_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]代理域名表(blacklist):${fwd_dns:-默认}" + } + } + + #分流规则 + [ "$(config_n_get $TCP_NODE protocol)" = "_shunt" ] && { + local default_node_id=$(config_n_get $TCP_NODE default_node _direct) + local shunt_ids=$(uci show $CONFIG | grep "=shunt_rules" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}') + for shunt_id in $shunt_ids; do + local shunt_node_id=$(config_n_get $TCP_NODE ${shunt_id} nil) + [ "$shunt_node_id" = "nil" ] && continue + [ "$shunt_node_id" = "_default" ] && shunt_node_id=$default_node_id + [ "$shunt_node_id" = "_blackhole" ] && continue + local str=$(echo -n $(config_n_get $shunt_id domain_list | grep -v 'regexp:\|geosite:\|ext:' | sed 's/domain:\|full:\|//g' | tr -s "\r\n" "\n" | sort -u) | sed "s/ /|/g") + [ -n "$str" ] && count_hosts_str="${count_hosts_str}|${str}" + fwd_dns="${LOCAL_DNS}" + [ "$shunt_node_id" = "_direct" ] && { + [ -n "$str" ] && echo $str | sed "s/|/\n/g" | gen_items ipsets="whitelist,whitelist6" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/13-shunt_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + continue + } + local shunt_node=$(config_n_get $shunt_node_id address nil) + [ "$shunt_node" = "nil" ] && continue + + [ -n "$str" ] && { + local ipset_flag="shuntlist,shuntlist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="shuntlist" + echo $str | sed "s/|/\n/g" | gen_address_items address="::" outf="${TMP_DNSMASQ_PATH}/98-shunt_host-noipv6.conf" + fi + [ -z "${only_global}" ] && { + fwd_dns="${TUN_DNS}" + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + echo $str | sed "s/|/\n/g" | gen_items ipsets="${ipset_flag}" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/98-shunt_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + } + } + done + echolog " - [$?]V2ray/Xray分流规则(shuntlist):${fwd_dns:-默认}" + } + + [ -s "${RULES_PATH}/direct_host" ] && direct_hosts_str="$(echo -n $(cat ${RULES_PATH}/direct_host | tr -s '\n' | grep -v "^#" | sort -u) | sed "s/ /|/g")" + [ -s "${RULES_PATH}/proxy_host" ] && proxy_hosts_str="$(echo -n $(cat ${RULES_PATH}/proxy_host | tr -s '\n' | grep -v "^#" | sort -u) | sed "s/ /|/g")" + [ -n "$direct_hosts_str" ] && count_hosts_str="${count_hosts_str}|${direct_hosts_str}" + [ -n "$proxy_hosts_str" ] && count_hosts_str="${count_hosts_str}|${proxy_hosts_str}" + + #如果没有使用回国模式 + if [ -z "${returnhome}" ]; then + # GFW 模式 + [ -s "${RULES_PATH}/gfwlist" ] && { + grep -v -E "$count_hosts_str" "${RULES_PATH}/gfwlist" > "${TMP_PATH}/gfwlist" + + local ipset_flag="gfwlist,gfwlist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="gfwlist" + sort -u "${TMP_PATH}/gfwlist" | gen_address_items address="::" outf="${TMP_DNSMASQ_PATH}/99-gfwlist-noipv6.conf" + fi + [ -z "${only_global}" ] && { + fwd_dns="${TUN_DNS}" + [ -n "$CHINADNS_DNS" ] && unset fwd_dns + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + sort -u "${TMP_PATH}/gfwlist" | gen_items ipsets="${ipset_flag}" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/99-gfwlist.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]防火墙域名表(gfwlist):${fwd_dns:-默认}" + } + rm -f "${TMP_PATH}/gfwlist" + } + + # 中国列表以外 模式 + [ -n "${CHINADNS_DNS}" ] && { + fwd_dns="${LOCAL_DNS}" + [ -n "$CHINADNS_DNS" ] && unset fwd_dns + [ -s "${RULES_PATH}/chnlist" ] && { + grep -v -E "$count_hosts_str" "${RULES_PATH}/chnlist" | gen_items ipsets="chnroute,chnroute6" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/19-chinalist_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]中国域名表(chnroute):${fwd_dns:-默认}" + } + } + else + #回国模式 + [ -s "${RULES_PATH}/chnlist" ] && { + grep -v -E "$count_hosts_str" "${RULES_PATH}/chnlist" > "${TMP_PATH}/chnlist" + + local ipset_flag="chnroute,chnroute6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="chnroute" + sort -u "${TMP_PATH}/chnlist" | gen_address_items address="::" outf="${TMP_DNSMASQ_PATH}/99-chinalist_host-noipv6.conf" + fi + [ -z "${only_global}" ] && { + fwd_dns="${TUN_DNS}" + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + sort -u "${TMP_PATH}/chnlist" | gen_items ipsets="${ipset_flag}" dnss="${fwd_dns}" outf="${TMP_DNSMASQ_PATH}/99-chinalist_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf" + echolog " - [$?]中国域名表(chnroute):${fwd_dns:-默认}" + } + rm -f "${TMP_PATH}/chnlist" + } + fi + + ipset_merge ${TMP_DNSMASQ_PATH} + + echo "conf-dir=${TMP_DNSMASQ_PATH}" > $DNSMASQ_CONF_FILE + [ -n "${dnsmasq_default_dns}" ] && { + echo "${DEFAULT_DNS}" > $TMP_PATH/default_DNS + cat <<-EOF >> $DNSMASQ_CONF_FILE + server=${dnsmasq_default_dns} + all-servers + no-poll + no-resolv + EOF + echolog " - [$?]以上所列以外及默认:${dnsmasq_default_dns}" + } + echolog " - PassWall必须依赖于Dnsmasq,如果你自行配置了错误的DNS流程,将会导致域名(直连/代理域名)分流失效!!!" + LOG_FILE=${_LOG_FILE} +} + +del() { + rm -rf /tmp/dnsmasq.d/dnsmasq-$CONFIG.conf + rm -rf $DNSMASQ_PATH/dnsmasq-$CONFIG.conf + rm -rf $TMP_DNSMASQ_PATH +} + +arg1=$1 +shift +case $arg1 in +stretch) + stretch $@ + ;; +add) + add $@ + ;; +del) + del $@ + ;; +restart) + restart $@ + ;; +logic_restart) + logic_restart $@ + ;; +*) ;; +esac diff --git a/luci-app-passwall/root/usr/share/passwall/helper_smartdns.sh b/luci-app-passwall/root/usr/share/passwall/helper_smartdns.sh new file mode 100755 index 00000000..ba51c04d --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/helper_smartdns.sh @@ -0,0 +1,225 @@ +#!/bin/sh + +restart() { + local no_log + eval_set_val $@ + _LOG_FILE=$LOG_FILE + [ -n "$no_log" ] && LOG_FILE="/dev/null" + rm -rf /tmp/smartdns.cache + /etc/init.d/smartdns reload >/dev/null 2>&1 + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + LOG_FILE=${_LOG_FILE} +} + +gen_items() { + local ipsets group address speed_check_mode outf + eval_set_val $@ + + awk -v ipsets="${ipsets}" -v group="${group}" -v speed_check_mode="${speed_check_mode}" -v address="${address}" -v outf="${outf}" ' + BEGIN { + if(outf == "") outf="/dev/stdout"; + if(group != "") group=" -n " group; + if(ipsets != "") ipsets=" -p " ipsets; + if(speed_check_mode != "") speed_check_mode=" -c " speed_check_mode; + if(address != "") address=" -a " address; + fail=1; + } + ! /^$/&&!/^#/ { + fail=0 + printf("domain-rules /%s/ %s%s%s%s\n", $0, group, ipsets, address, speed_check_mode) >>outf; + } + END {fflush(outf); close(outf); exit(fail);} + ' +} + +gen_address_items() { + local address outf + eval_set_val $@ + + awk -v address="${address}" -v outf="${outf}" ' + BEGIN { + if(outf == "") outf="/dev/stdout"; + setaddress=length(address)>0; + fail=1; + } + ! /^$/&&!/^#/ { + fail=0 + if(setaddress) printf("address /%s/%s\n", $0, address) >>outf; + } + END {fflush(outf); close(outf); exit(fail);} + ' +} + +add() { + local fwd_dns fwd_group item servers msg + local DNS_MODE SMARTDNS_CONF DNSMASQ_CONF_FILE DEFAULT_DNS LOCAL_GROUP REMOTE_GROUP REMOTE_FAKEDNS TUN_DNS TCP_NODE PROXY_MODE NO_LOGIC_LOG NO_PROXY_IPV6 + eval_set_val $@ + _LOG_FILE=$LOG_FILE + [ -n "$NO_LOGIC_LOG" ] && LOG_FILE="/dev/null" + global=$(echo "${PROXY_MODE}" | grep "global") + returnhome=$(echo "${PROXY_MODE}" | grep "returnhome") + chnlist=$(echo "${PROXY_MODE}" | grep "chnroute") + gfwlist=$(echo "${PROXY_MODE}" | grep "gfwlist") + touch ${SMARTDNS_CONF} + count_hosts_str="!" + [ -z "${REMOTE_GROUP}" ] && { + REMOTE_GROUP="${CONFIG}_proxy" + [ -n "${TUN_DNS}" ] && TUN_DNS="$(echo ${TUN_DNS} | sed 's/#/:/g')" + sed -i "/passwall/d" /etc/smartdns/custom.conf >/dev/null 2>&1 + echo "server ${TUN_DNS} -group ${REMOTE_GROUP} -exclude-default-group" >> ${SMARTDNS_CONF} + } + + #屏蔽列表 + [ -s "${RULES_PATH}/block_host" ] && { + cat "${RULES_PATH}/block_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_address_items address="-" outf="${SMARTDNS_CONF}" + } + + #始终用国内DNS解析节点域名 + servers=$(uci show "${CONFIG}" | grep ".address=" | cut -d "'" -f 2) + hosts_foreach "servers" host_from_url | grep '[a-zA-Z]$' | sort -u | gen_items ipsets="#4:vpsiplist,#6:vpsiplist6" group="${LOCAL_GROUP}" outf="${SMARTDNS_CONF}" + echolog " - [$?]节点列表中的域名(vpsiplist)使用分组:${LOCAL_GROUP:-默认}" + + #始终用国内DNS解析直连(白名单)列表 + [ -s "${RULES_PATH}/direct_host" ] && { + cat "${RULES_PATH}/direct_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_items ipsets="#4:whitelist,#6:whitelist6" group="${LOCAL_GROUP}" outf="${SMARTDNS_CONF}" + echolog " - [$?]域名白名单(whitelist)使用分组:${LOCAL_GROUP:-默认}" + } + + subscribe_list="" + for item in $(get_enabled_anonymous_secs "@subscribe_list"); do + host=$(host_from_url "$(config_n_get ${item} url)") + subscribe_list="${subscribe_list}\n${host}" + done + [ -n "$subscribe_list" ] && { + if [ "$(config_t_get global_subscribe subscribe_proxy 0)" = "0" ]; then + #如果没有开启通过代理订阅 + echo -e "$subscribe_list" | sort -u | gen_items ipsets="#4:whitelist,#6:whitelist6" group="${LOCAL_GROUP}" outf="${SMARTDNS_CONF}" + echolog " - [$?]节点订阅域名(whitelist)使用分组:${LOCAL_GROUP:-默认}" + else + #如果开启了通过代理订阅 + local ipset_flag="#4:blacklist,#6:blacklist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="#4:blacklist" + address="#6" + fi + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + echo -e "$subscribe_list" | sort -u | gen_items ipsets="${ipset_flag}" group="${REMOTE_GROUP}" address="${address}" speed_check_mode="none" outf="${SMARTDNS_CONF}" + echolog " - [$?]节点订阅域名(blacklist)使用分组:${REMOTE_GROUP}" + fi + } + + #始终使用远程DNS解析代理(黑名单)列表 + [ -s "${RULES_PATH}/proxy_host" ] && { + local ipset_flag="#4:blacklist,#6:blacklist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="#4:blacklist" + address="#6" + fi + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + cat "${RULES_PATH}/proxy_host" | tr -s '\n' | grep -v "^#" | sort -u | gen_items ipsets="${ipset_flag}" group="${REMOTE_GROUP}" address="${address}" speed_check_mode="none" outf="${SMARTDNS_CONF}" + echolog " - [$?]代理域名表(blacklist)使用分组:${REMOTE_GROUP}" + } + + #分流规则 + [ "$(config_n_get $TCP_NODE protocol)" = "_shunt" ] && { + local default_node_id=$(config_n_get $TCP_NODE default_node _direct) + local shunt_ids=$(uci show $CONFIG | grep "=shunt_rules" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}') + for shunt_id in $shunt_ids; do + local shunt_node_id=$(config_n_get $TCP_NODE ${shunt_id} nil) + [ "$shunt_node_id" = "nil" ] && continue + [ "$shunt_node_id" = "_default" ] && shunt_node_id=$default_node_id + [ "$shunt_node_id" = "_blackhole" ] && continue + local str=$(echo -n $(config_n_get $shunt_id domain_list | grep -v 'regexp:\|geosite:\|ext:' | sed 's/domain:\|full:\|//g' | tr -s "\r\n" "\n" | sort -u) | sed "s/ /|/g") + [ -n "$str" ] && count_hosts_str="${count_hosts_str}|${str}" + [ "$shunt_node_id" = "_direct" ] && { + [ -n "$str" ] && echo $str | sed "s/|/\n/g" | gen_items ipsets="#4:whitelist,#6:whitelist6" group="${LOCAL_GROUP}" outf="${SMARTDNS_CONF}" + msg_dns="${LOCAL_GROUP}" + continue + } + local shunt_node=$(config_n_get $shunt_node_id address nil) + [ "$shunt_node" = "nil" ] && continue + + [ -n "$str" ] && { + local ipset_flag="#4:shuntlist,#6:shuntlist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="#4:shuntlist" + address="#6" + fi + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + echo $str | sed "s/|/\n/g" | gen_items ipsets="${ipset_flag}" group="${REMOTE_GROUP}" address="${address}" speed_check_mode="none" outf="${SMARTDNS_CONF}" + msg_dns="${REMOTE_GROUP}" + } + done + echolog " - [$?]V2ray/Xray分流规则(shuntlist):${msg_dns:-默认}" + } + + [ -s "${RULES_PATH}/direct_host" ] && direct_hosts_str="$(echo -n $(cat ${RULES_PATH}/direct_host | tr -s '\n' | grep -v "^#" | sort -u) | sed "s/ /|/g")" + [ -s "${RULES_PATH}/proxy_host" ] && proxy_hosts_str="$(echo -n $(cat ${RULES_PATH}/proxy_host | tr -s '\n' | grep -v "^#" | sort -u) | sed "s/ /|/g")" + [ -n "$direct_hosts_str" ] && count_hosts_str="${count_hosts_str}|${direct_hosts_str}" + [ -n "$proxy_hosts_str" ] && count_hosts_str="${count_hosts_str}|${proxy_hosts_str}" + + #如果没有使用回国模式 + if [ -z "${returnhome}" ]; then + # GFW 模式 + [ -s "${RULES_PATH}/gfwlist" ] && { + grep -v -E "$count_hosts_str" "${RULES_PATH}/gfwlist" > "${TMP_PATH}/gfwlist" + + local ipset_flag="#4:gfwlist,#6:gfwlist6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="#4:gfwlist" + address="#6" + fi + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + sort -u "${TMP_PATH}/gfwlist" | gen_items ipsets="${ipset_flag}" group="${REMOTE_GROUP}" address="${address}" speed_check_mode="none" outf="${SMARTDNS_CONF}" + echolog " - [$?]防火墙域名表(gfwlist)使用分组:${REMOTE_GROUP}" + rm -f "${TMP_PATH}/gfwlist" + } + + # 中国列表以外 模式 + [ -s "${RULES_PATH}/chnlist" ] && [ -n "${chnlist}" ] && { + grep -v -E "$count_hosts_str" "${RULES_PATH}/chnlist" | gen_items ipsets="#4:chnroute,#6:chnroute6" group="${LOCAL_GROUP}" outf="${SMARTDNS_CONF}" + echolog " - [$?]中国域名表(chnroute)使用分组:${LOCAL_GROUP:-默认}" + } + else + #回国模式 + [ -s "${RULES_PATH}/chnlist" ] && { + grep -v -E "$count_hosts_str" "${RULES_PATH}/chnlist" > "${TMP_PATH}/chnlist" + + local ipset_flag="#4:chnroute,#6:chnroute6" + if [ "${NO_PROXY_IPV6}" = "1" ]; then + ipset_flag="#4:chnroute" + address="#6" + fi + [ -n "${REMOTE_FAKEDNS}" ] && unset ipset_flag + sort -u "${TMP_PATH}/chnlist" | gen_items ipsets="${ipset_flag}" group="${REMOTE_GROUP}" address="${address}" speed_check_mode="none" outf="${SMARTDNS_CONF}" + echolog " - [$?]中国域名表(chnroute)使用分组:${REMOTE_GROUP}" + rm -f "${TMP_PATH}/chnlist" + } + fi + + echo "conf-file ${SMARTDNS_CONF}" >> /etc/smartdns/custom.conf + echolog " - 请让SmartDNS作为Dnsmasq的上游或重定向!" + LOG_FILE=${_LOG_FILE} +} + +del() { + rm -rf /tmp/etc/smartdns/passwall.conf + sed -i "/passwall/d" /etc/smartdns/custom.conf >/dev/null 2>&1 + rm -rf /tmp/smartdns.cache + /etc/init.d/smartdns reload >/dev/null 2>&1 +} + +arg1=$1 +shift +case $arg1 in +add) + add $@ + ;; +del) + del $@ + ;; +restart) + restart $@ + ;; +*) ;; +esac diff --git a/luci-app-passwall/root/usr/share/passwall/iptables.sh b/luci-app-passwall/root/usr/share/passwall/iptables.sh new file mode 100755 index 00000000..c95ef0a2 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -0,0 +1,1312 @@ +#!/bin/sh + +DIR="$(cd "$(dirname "$0")" && pwd)" +MY_PATH=$DIR/iptables.sh +IPSET_LANIPLIST="laniplist" +IPSET_VPSIPLIST="vpsiplist" +IPSET_SHUNTLIST="shuntlist" +IPSET_GFW="gfwlist" +IPSET_CHN="chnroute" +IPSET_BLACKLIST="blacklist" +IPSET_WHITELIST="whitelist" +IPSET_BLOCKLIST="blocklist" + +IPSET_LANIPLIST6="laniplist6" +IPSET_VPSIPLIST6="vpsiplist6" +IPSET_SHUNTLIST6="shuntlist6" +IPSET_GFW6="gfwlist6" +IPSET_CHN6="chnroute6" +IPSET_BLACKLIST6="blacklist6" +IPSET_WHITELIST6="whitelist6" +IPSET_BLOCKLIST6="blocklist6" + +FORCE_INDEX=2 + +. /lib/functions/network.sh + +ipt=$(command -v iptables-legacy || command -v iptables) +ip6t=$(command -v ip6tables-legacy || command -v ip6tables) + +ipt_n="$ipt -t nat -w" +ipt_m="$ipt -t mangle -w" +ip6t_n="$ip6t -t nat -w" +ip6t_m="$ip6t -t mangle -w" +[ -z "$ip6t" -o -z "$(lsmod | grep 'ip6table_nat')" ] && ip6t_n="eval #$ip6t_n" +[ -z "$ip6t" -o -z "$(lsmod | grep 'ip6table_mangle')" ] && ip6t_m="eval #$ip6t_m" +FWI=$(uci -q get firewall.passwall.path 2>/dev/null) +FAKE_IP="198.18.0.0/16" + +factor() { + if [ -z "$1" ] || [ -z "$2" ]; then + echo "" + elif [ "$1" == "1:65535" ]; then + echo "" + else + echo "$2 $1" + fi +} + +dst() { + echo "-m set $2 --match-set $1 dst" +} + +comment() { + local name=$(echo $1 | sed 's/ /_/g') + echo "-m comment --comment '$name'" +} + +destroy_ipset() { + for i in "$@"; do + ipset -q -F $i + ipset -q -X $i + done +} + +insert_rule_before() { + [ $# -ge 3 ] || { + return 1 + } + local ipt_tmp="${1}"; shift + local chain="${1}"; shift + local keyword="${1}"; shift + local rule="${1}"; shift + local _index=$($ipt_tmp -n -L $chain --line-numbers 2>/dev/null | grep "$keyword" | head -n 1 | awk '{print $1}') + $ipt_tmp -I $chain $_index $rule +} + +insert_rule_after() { + [ $# -ge 3 ] || { + return 1 + } + local ipt_tmp="${1}"; shift + local chain="${1}"; shift + local keyword="${1}"; shift + local rule="${1}"; shift + local _index=$($ipt_tmp -n -L $chain --line-numbers 2>/dev/null | grep "$keyword" | awk 'END {print}' | awk '{print $1}') + _index=${_index:-0} + _index=$((_index + 1)) + $ipt_tmp -I $chain $_index $rule +} + +RULE_LAST_INDEX() { + [ $# -ge 3 ] || { + echolog "索引列举方式不正确(iptables),终止执行!" + return 1 + } + local ipt_tmp="${1}"; shift + local chain="${1}"; shift + local list="${1}"; shift + local default="${1:-0}"; shift + local _index=$($ipt_tmp -n -L $chain --line-numbers 2>/dev/null | grep "$list" | head -n 1 | awk '{print $1}') + echo "${_index:-${default}}" +} + +REDIRECT() { + local s="-j REDIRECT" + [ -n "$1" ] && { + local s="$s --to-ports $1" + [ "$2" == "TPROXY" ] && s="-j TPROXY --tproxy-mark 0x1/0x1 --on-port $1" + [ "$2" == "MARK" ] && s="-j MARK --set-mark $1" + } + echo $s +} + +get_ipset_ipt() { + case "$1" in + gfwlist) + echo "$(dst $IPSET_GFW)" + ;; + chnroute) + echo "$(dst $IPSET_CHN !)" + ;; + returnhome) + echo "$(dst $IPSET_CHN)" + ;; + esac +} + +get_redirect_ipt() { + case "$1" in + disable) + echo "-j RETURN" + ;; + global) + echo "$(REDIRECT $2 $3)" + ;; + gfwlist) + echo "$(dst $IPSET_GFW) $(REDIRECT $2 $3)" + ;; + chnroute) + echo "$(dst $IPSET_CHN !) $(REDIRECT $2 $3)" + ;; + returnhome) + echo "$(dst $IPSET_CHN) $(REDIRECT $2 $3)" + ;; + direct/proxy) + echo "-j RETURN" + ;; + esac +} + +get_redirect_ip6t() { + case "$1" in + disable) + echo "-j RETURN" + ;; + global) + echo "$(REDIRECT $2 $3)" + ;; + gfwlist) + echo "$(dst $IPSET_GFW6) $(REDIRECT $2 $3)" + ;; + chnroute) + echo "$(dst $IPSET_CHN6 !) $(REDIRECT $2 $3)" + ;; + returnhome) + echo "$(dst $IPSET_CHN6) $(REDIRECT $2 $3)" + ;; + direct/proxy) + echo "-j RETURN" + ;; + esac +} + +get_action_chain_name() { + case "$1" in + disable) + echo "不代理" + ;; + global) + echo "全局代理" + ;; + gfwlist) + echo "防火墙列表" + ;; + chnroute) + echo "中国列表以外" + ;; + returnhome) + echo "中国列表" + ;; + direct/proxy) + echo "仅使用直连/代理列表" + ;; + esac +} + +gen_laniplist() { + cat $RULES_PATH/lanlist_ipv4 | tr -s '\n' | grep -v "^#" +} + +gen_laniplist_6() { + cat $RULES_PATH/lanlist_ipv6 | tr -s '\n' | grep -v "^#" +} + +get_wan_ip() { + local NET_IF + local NET_ADDR + + network_flush_cache + network_find_wan NET_IF + network_get_ipaddr NET_ADDR "${NET_IF}" + + echo $NET_ADDR +} + +get_wan6_ip() { + local NET_IF + local NET_ADDR + + network_flush_cache + network_find_wan6 NET_IF + network_get_ipaddr6 NET_ADDR "${NET_IF}" + + echo $NET_ADDR +} + +load_acl() { + local items=$(uci show ${CONFIG} | grep "=acl_rule" | cut -d '.' -sf 2 | cut -d '=' -sf 1) + [ -n "$items" ] && { + local item + local socks_port redir_port dns_port dnsmasq_port + local ipt_tmp msg msg2 + socks_port=11100 + redir_port=11200 + dns_port=11300 + dnsmasq_port=11400 + echolog "访问控制:" + for item in $items; do + local enabled sid remarks sources tcp_proxy_mode udp_proxy_mode tcp_no_redir_ports udp_no_redir_ports tcp_proxy_drop_ports udp_proxy_drop_ports tcp_redir_ports udp_redir_ports tcp_node udp_node dns_mode dns_forward v2ray_dns_mode dns_doh dns_client_ip + local _ip _mac _iprange _ipset _ip_or_mac rule_list tcp_port udp_port tcp_node_remark udp_node_remark config_file _extra_param + sid=$(uci -q show "${CONFIG}.${item}" | grep "=acl_rule" | awk -F '=' '{print $1}' | awk -F '.' '{print $2}') + eval $(uci -q show "${CONFIG}.${item}" | cut -d'.' -sf 3-) + [ "$enabled" = "1" ] || continue + + [ -z "${sources}" ] && continue + for s in $sources; do + is_iprange=$(lua_api "iprange(\"${s}\")") + if [ "${is_iprange}" = "true" ]; then + rule_list="${rule_list}\niprange:${s}" + elif [ -n "$(echo ${s} | grep '^ipset:')" ]; then + rule_list="${rule_list}\nipset:${s}" + else + _ip_or_mac=$(lua_api "ip_or_mac(\"${s}\")") + if [ "${_ip_or_mac}" = "ip" ]; then + rule_list="${rule_list}\nip:${s}" + elif [ "${_ip_or_mac}" = "mac" ]; then + rule_list="${rule_list}\nmac:${s}" + fi + fi + done + [ -z "${rule_list}" ] && continue + + tcp_proxy_mode=${tcp_proxy_mode:-default} + udp_proxy_mode=${udp_proxy_mode:-default} + tcp_no_redir_ports=${tcp_no_redir_ports:-default} + udp_no_redir_ports=${udp_no_redir_ports:-default} + tcp_proxy_drop_ports=${tcp_proxy_drop_ports:-default} + udp_proxy_drop_ports=${udp_proxy_drop_ports:-default} + tcp_redir_ports=${tcp_redir_ports:-default} + udp_redir_ports=${udp_redir_ports:-default} + tcp_node=${tcp_node:-default} + udp_node=${udp_node:-default} + dns_mode=${dns_mode:-dns2socks} + dns_forward=${dns_forward:-1.1.1.1} + [ "$dns_mode" = "v2ray" -o "$dns_mode" = "xray" ] && { + [ "$v2ray_dns_mode" = "doh" ] && dns_forward=${dns_doh:-https://cloudflare-dns.com/dns-query,1.1.1.1} + } + [ "$tcp_proxy_mode" = "default" ] && tcp_proxy_mode=$TCP_PROXY_MODE + [ "$udp_proxy_mode" = "default" ] && udp_proxy_mode=$UDP_PROXY_MODE + [ "$tcp_no_redir_ports" = "default" ] && tcp_no_redir_ports=$TCP_NO_REDIR_PORTS + [ "$udp_no_redir_ports" = "default" ] && udp_no_redir_ports=$UDP_NO_REDIR_PORTS + [ "$tcp_proxy_drop_ports" = "default" ] && tcp_proxy_drop_ports=$TCP_PROXY_DROP_PORTS + [ "$udp_proxy_drop_ports" = "default" ] && udp_proxy_drop_ports=$UDP_PROXY_DROP_PORTS + [ "$tcp_redir_ports" = "default" ] && tcp_redir_ports=$TCP_REDIR_PORTS + [ "$udp_redir_ports" = "default" ] && udp_redir_ports=$UDP_REDIR_PORTS + [ "$tcp_node" != "nil" ] && { + if [ "$tcp_node" = "default" ]; then + tcp_node=$TCP_NODE + tcp_port=$TCP_REDIR_PORT + else + [ "$(config_get_type $tcp_node nil)" = "nodes" ] && { + run_dns() { + local _dns_port + [ -n $1 ] && _dns_port=$1 + [ -z ${_dns_port} ] && { + dns_port=$(get_new_port $(expr $dns_port + 1)) + _dns_port=$dns_port + if [ "$dns_mode" = "dns2socks" ]; then + run_dns2socks flag=acl_${sid} socks_address=127.0.0.1 socks_port=$socks_port listen_address=0.0.0.0 listen_port=${_dns_port} dns=$dns_forward cache=1 + elif [ "$dns_mode" = "v2ray" -o "$dns_mode" = "xray" ]; then + config_file=$TMP_ACL_PATH/${tcp_node}_SOCKS_${socks_port}_DNS.json + run_v2ray flag=acl_${sid} type=$dns_mode dns_socks_address=127.0.0.1 dns_socks_port=$socks_port dns_listen_port=${_dns_port} dns_proto=${v2ray_dns_mode} dns_tcp_server=${dns_forward} doh="${dns_forward}" dns_client_ip=${dns_client_ip} dns_query_strategy=${DNS_QUERY_STRATEGY} config_file=$config_file + fi + eval node_${tcp_node}_$(echo -n "${dns_forward}" | md5sum | cut -d " " -f1)=${_dns_port} + } + + dnsmasq_port=$(get_new_port $(expr $dnsmasq_port + 1)) + redirect_dns_port=$dnsmasq_port + mkdir -p $TMP_ACL_PATH/$sid + echo "port=${dnsmasq_port}" >> $TMP_ACL_PATH/$sid/dnsmasq.conf + echo "conf-dir=${TMP_ACL_PATH}/${sid}/dnsmasq.d" >> $TMP_ACL_PATH/$sid/dnsmasq.conf + d_server=127.0.0.1 + [ "$tcp_proxy_mode" = "global" ] && d_server=${d_server}#${_dns_port} + echo "server=${d_server}" >> $TMP_ACL_PATH/$sid/dnsmasq.conf + source $APP_PATH/helper_${DNS_N}.sh add DNS_MODE=$dns_mode TMP_DNSMASQ_PATH=$TMP_ACL_PATH/$sid/dnsmasq.d DNSMASQ_CONF_FILE=/dev/null LOCAL_DNS=$LOCAL_DNS TUN_DNS=127.0.0.1#${_dns_port} TCP_NODE=$tcp_node PROXY_MODE=${tcp_proxy_mode} NO_LOGIC_LOG=1 NO_PROXY_IPV6=${filter_proxy_ipv6} + ln_run "$(first_type dnsmasq)" "dnsmasq_${sid}" "/dev/null" -C $TMP_ACL_PATH/$sid/dnsmasq.conf -x $TMP_ACL_PATH/$sid/dnsmasq.pid + eval node_${tcp_node}_$(echo -n "${tcp_proxy_mode}${dns_forward}" | md5sum | cut -d " " -f1)=${dnsmasq_port} + } + if [ "$tcp_node" = "$TCP_NODE" ]; then + tcp_port=$TCP_REDIR_PORT + else + _redir_port=$(eval echo \${node_${tcp_node}_redir_port}) + _socks_port=$(eval echo \${node_${tcp_node}_socks_port}) + if [ -n "${_socks_port}" ] && [ -n "${_redir_port}" ]; then + socks_port=${_socks_port} + tcp_port=${_redir_port} + _dnsmasq_port=$(eval echo \${node_${tcp_node}_$(echo -n "${tcp_proxy_mode}${dns_forward}" | md5sum | cut -d " " -f1)}) + if [ -z "${_dnsmasq_port}" ]; then + _dns_port=$(eval echo \${node_${tcp_node}_$(echo -n "${dns_forward}" | md5sum | cut -d " " -f1)}) + run_dns ${_dns_port} + else + redirect_dns_port=${_dnsmasq_port} + fi + else + socks_port=$(get_new_port $(expr $socks_port + 1)) + eval node_${tcp_node}_socks_port=$socks_port + redir_port=$(get_new_port $(expr $redir_port + 1)) + eval node_${tcp_node}_redir_port=$redir_port + tcp_port=$redir_port + config_file="acl/${tcp_node}_SOCKS_${socks_port}.json" + + local type=$(echo $(config_n_get $tcp_node type) | tr 'A-Z' 'a-z') + if [ -n "${type}" ] && ([ "${type}" = "v2ray" ] || [ "${type}" = "xray" ]); then + config_file=$(echo $config_file | sed "s/SOCKS/TCP_UDP_SOCKS/g") + _extra_param="socks_address=127.0.0.1 socks_port=$socks_port" + if [ "$dns_mode" = "v2ray" -o "$dns_mode" = "xray" ]; then + config_file=$(echo $config_file | sed "s/SOCKS_${socks_port}/DNS/g") + dns_port=$(get_new_port $(expr $dns_port + 1)) + _dns_port=$dns_port + _extra_param="dns_listen_port=${_dns_port} dns_proto=${v2ray_dns_mode} dns_tcp_server=${dns_forward} doh=${dns_forward} dns_client_ip=${dns_client_ip} dns_query_strategy=${DNS_QUERY_STRATEGY}" + fi + config_file="$TMP_PATH/$config_file" + run_v2ray flag=$tcp_node node=$tcp_node tcp_redir_port=$redir_port ${_extra_param} config_file=$config_file + else + run_socks flag=$tcp_node node=$tcp_node bind=127.0.0.1 socks_port=$socks_port config_file=$config_file + local log_file=$TMP_ACL_PATH/ipt2socks_${tcp_node}_${redir_port}.log + log_file="/dev/null" + run_ipt2socks flag=acl_${tcp_node} tcp_tproxy=${is_tproxy} local_port=$redir_port socks_address=127.0.0.1 socks_port=$socks_port log_file=$log_file + fi + run_dns ${_dns_port} + fi + filter_node $tcp_node TCP > /dev/null 2>&1 & + filter_node $tcp_node UDP > /dev/null 2>&1 & + fi + } + fi + tcp_node_remark=$(config_n_get $tcp_node remarks) + } + [ "$udp_node" != "nil" ] && { + [ "$udp_node" = "tcp" ] && udp_node=$tcp_node + if [ "$udp_node" = "default" ]; then + udp_node=$UDP_NODE + [ "$TCP_UDP" = "1" ] && [ "$udp_node" = "nil" ] && udp_node=$TCP_NODE + udp_port=$UDP_REDIR_PORT + else + [ "$(config_get_type $udp_node nil)" = "nodes" ] && { + if [ "$udp_node" = "$UDP_NODE" ]; then + udp_port=$UDP_REDIR_PORT + else + _redir_port=$(eval echo \${node_${udp_node}_redir_port}) + _socks_port=$(eval echo \${node_${udp_node}_socks_port}) + if [ -n "${_socks_port}" ] && [ -n "${_redir_port}" ]; then + socks_port=${_socks_port} + udp_port=${_redir_port} + else + socks_port=$(get_new_port $(expr $socks_port + 1)) + eval node_${udp_node}_socks_port=$socks_port + redir_port=$(get_new_port $(expr $redir_port + 1)) + eval node_${udp_node}_redir_port=$redir_port + udp_port=$redir_port + config_file="acl/${udp_node}_SOCKS_${socks_port}.json" + + local type=$(echo $(config_n_get $udp_node type) | tr 'A-Z' 'a-z') + if [ -n "${type}" ] && ([ "${type}" = "v2ray" ] || [ "${type}" = "xray" ]); then + config_file=$(echo $config_file | sed "s/SOCKS/TCP_UDP_SOCKS/g") + config_file="$TMP_PATH/$config_file" + run_v2ray flag=$udp_node node=$udp_node udp_redir_port=$redir_port config_file=$config_file + else + run_socks flag=$udp_node node=$udp_node bind=127.0.0.1 socks_port=$socks_port config_file=$config_file + local log_file=$TMP_ACL_PATH/ipt2socks_${udp_node}_${redir_port}.log + log_file="/dev/null" + run_ipt2socks flag=acl_${udp_node} local_port=$redir_port socks_address=127.0.0.1 socks_port=$socks_port log_file=$log_file + fi + fi + filter_node $udp_node TCP > /dev/null 2>&1 & + filter_node $udp_node UDP > /dev/null 2>&1 & + fi + } + fi + udp_node_remark=$(config_n_get $udp_node remarks) + } + + for i in $(echo -e ${rule_list}); do + if [ -n "$(echo ${i} | grep '^iprange:')" ]; then + _iprange=$(echo ${i} | sed 's#iprange:##g') + _ipt_source=$(factor ${_iprange} "-m iprange --src-range") + msg="备注【$remarks】,IP range【${_iprange}】," + elif [ -n "$(echo ${i} | grep '^ipset:')" ]; then + _ipset=$(echo ${i} | sed 's#ipset:##g') + _ipt_source="-m set --match-set ${_ipset} src" + msg="备注【$remarks】,IPset【${_ipset}】," + elif [ -n "$(echo ${i} | grep '^ip:')" ]; then + _ip=$(echo ${i} | sed 's#ip:##g') + _ipt_source=$(factor ${_ip} "-s") + msg="备注【$remarks】,IP【${_ip}】," + elif [ -n "$(echo ${i} | grep '^mac:')" ]; then + _mac=$(echo ${i} | sed 's#mac:##g') + _ipt_source=$(factor ${_mac} "-m mac --mac-source") + msg="备注【$remarks】,MAC【${_mac}】," + else + continue + fi + + ipt_tmp=$ipt_n + [ -n "${is_tproxy}" ] && ipt_tmp=$ipt_m + + [ -n "$tcp_port" ] && { + if [ "$tcp_proxy_mode" != "disable" ]; then + [ -n "$redirect_dns_port" ] && $ipt_n -A PSW_REDIRECT $(comment "$remarks") -p udp ${_ipt_source} --dport 53 -j REDIRECT --to-ports $redirect_dns_port + msg2="${msg}使用TCP节点[$tcp_node_remark] [$(get_action_chain_name $tcp_proxy_mode)]" + if [ -n "${is_tproxy}" ]; then + msg2="${msg2}(TPROXY:${tcp_port})代理" + ipt_tmp=$ipt_m + else + msg2="${msg2}(REDIRECT:${tcp_port})代理" + fi + + [ "$tcp_no_redir_ports" != "disable" ] && { + $ipt_tmp -A PSW $(comment "$remarks") ${_ipt_source} -p tcp -m multiport --dport $tcp_no_redir_ports -j RETURN + $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} -p tcp -m multiport --dport $tcp_no_redir_ports -j RETURN 2>/dev/null + msg2="${msg2}[$?]除${tcp_no_redir_ports}外的" + } + msg2="${msg2}所有端口" + + [ "$tcp_proxy_drop_ports" != "disable" ] && { + $ipt_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_proxy_drop_ports "-m multiport --dport") -d $FAKE_IP -j DROP + $ipt_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_proxy_drop_ports "-m multiport --dport") $(dst $IPSET_SHUNTLIST) -j DROP + $ipt_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_proxy_drop_ports "-m multiport --dport") $(dst $IPSET_BLACKLIST) -j DROP + [ "$tcp_proxy_mode" != "direct/proxy" ] && $ipt_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_proxy_drop_ports "-m multiport --dport") $(get_ipset_ipt $tcp_proxy_mode) -j DROP + msg2="${msg2}[$?],屏蔽代理TCP 端口:${tcp_proxy_drop_ports}" + } + + $ipt_tmp -A PSW $(comment "$remarks") -p tcp ${_ipt_source} -d $FAKE_IP $(REDIRECT $tcp_port $is_tproxy) + $ipt_tmp -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_redir_ports "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT $tcp_port $is_tproxy) + $ipt_tmp -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_redir_ports "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT $tcp_port $is_tproxy) + $ipt_tmp -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_redir_ports "-m multiport --dport") $(get_redirect_ipt $tcp_proxy_mode $tcp_port $is_tproxy) + + [ "$accept_icmp" = "1" ] && { + $ipt_n -A PSW $(comment "$remarks") -p icmp ${_ipt_source} -d $FAKE_IP $(REDIRECT) + $ipt_n -A PSW $(comment "$remarks") -p icmp ${_ipt_source} $(dst $IPSET_SHUNTLIST) $(REDIRECT) + $ipt_n -A PSW $(comment "$remarks") -p icmp ${_ipt_source} $(dst $IPSET_BLACKLIST) $(REDIRECT) + $ipt_n -A PSW $(comment "$remarks") -p icmp ${_ipt_source} $(get_redirect_ipt $tcp_proxy_mode) + } + + if [ "$PROXY_IPV6" == "1" ]; then + $ip6t_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_redir_ports "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT $tcp_port TPROXY) 2>/dev/null + $ip6t_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_redir_ports "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT $tcp_port TPROXY) 2>/dev/null + $ip6t_m -A PSW $(comment "$remarks") -p tcp ${_ipt_source} $(factor $tcp_redir_ports "-m multiport --dport") $(get_redirect_ip6t $tcp_proxy_mode $tcp_port TPROXY) 2>/dev/null + [ "$accept_icmpv6" = "1" ] && { + $ip6t_n -A PSW $(comment "$remarks") -p ipv6-icmp ${_ipt_source} $(dst $IPSET_SHUNTLIST6) $(REDIRECT) 2>/dev/null + $ip6t_n -A PSW $(comment "$remarks") -p ipv6-icmp ${_ipt_source} $(dst $IPSET_BLACKLIST6) $(REDIRECT) 2>/dev/null + $ip6t_n -A PSW $(comment "$remarks") -p ipv6-icmp ${_ipt_source} $(get_redirect_ip6t $tcp_proxy_mode) 2>/dev/null + } + fi + else + msg2="${msg}不代理TCP" + fi + echolog " - ${msg2}" + } + + $ipt_tmp -A PSW $(comment "$remarks") ${_ipt_source} -p tcp -j RETURN + $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} -p tcp -j RETURN 2>/dev/null + + [ "$udp_proxy_drop_ports" != "disable" ] && { + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_proxy_drop_ports "-m multiport --dport") -d $FAKE_IP -j DROP + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_proxy_drop_ports "-m multiport --dport") $(dst $IPSET_SHUNTLIST) -j DROP + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_proxy_drop_ports "-m multiport --dport") $(dst $IPSET_BLACKLIST) -j DROP + [ "$udp_proxy_mode" != "direct/proxy" ] && $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_proxy_drop_ports "-m multiport --dport") $(get_ipset_ipt $udp_proxy_mode) -j DROP + msg2="${msg2}[$?],屏蔽代理UDP 端口:${udp_proxy_drop_ports}" + } + + [ -n "$udp_port" ] && { + if [ "$udp_proxy_mode" != "disable" ]; then + msg2="${msg}使用UDP节点[$udp_node_remark] [$(get_action_chain_name $udp_proxy_mode)]" + msg2="${msg2}(TPROXY:${udp_port})代理" + [ "$udp_no_redir_ports" != "disable" ] && { + $ipt_m -A PSW $(comment "$remarks") ${_ipt_source} -p udp -m multiport --dport $udp_no_redir_ports -j RETURN + $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} -p udp -m multiport --dport $udp_no_redir_ports -j RETURN 2>/dev/null + msg2="${msg2}[$?]除${udp_no_redir_ports}外的" + } + msg2="${msg2}所有端口" + + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} -d $FAKE_IP $(REDIRECT $udp_port TPROXY) + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_redir_ports "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT $udp_port TPROXY) + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_redir_ports "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT $udp_port TPROXY) + $ipt_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_redir_ports "-m multiport --dport") $(get_redirect_ipt $udp_proxy_mode $udp_port TPROXY) + + if [ "$PROXY_IPV6_UDP" == "1" ]; then + $ip6t_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_redir_ports "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT $udp_port TPROXY) 2>/dev/null + $ip6t_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_redir_ports "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT $udp_port TPROXY) 2>/dev/null + $ip6t_m -A PSW $(comment "$remarks") -p udp ${_ipt_source} $(factor $udp_redir_ports "-m multiport --dport") $(get_redirect_ip6t $udp_proxy_mode $udp_port TPROXY) 2>/dev/null + fi + else + msg2="${msg}不代理UDP" + fi + echolog " - ${msg2}" + } + $ipt_m -A PSW $(comment "$remarks") ${_ipt_source} -p udp -j RETURN + $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} -p udp -j RETURN 2>/dev/null + done + unset enabled sid remarks sources tcp_proxy_mode udp_proxy_mode tcp_no_redir_ports udp_no_redir_ports tcp_proxy_drop_ports udp_proxy_drop_ports tcp_redir_ports udp_redir_ports tcp_node udp_node dns_mode dns_forward v2ray_dns_mode dns_doh dns_client_ip + unset _ip _mac _iprange _ipset _ip_or_mac rule_list tcp_port udp_port tcp_node_remark udp_node_remark config_file _extra_param + unset ipt_tmp msg msg2 + unset redirect_dns_port + done + unset socks_port redir_port dns_port dnsmasq_port + unset ipt_tmp msg msg2 + } + + # 加载TCP默认代理模式 + [ "$TCP_PROXY_DROP_PORTS" != "disable" ] && { + $ipt_m -A PSW $(comment "默认") -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") -d $FAKE_IP -j DROP + $ipt_m -A PSW $(comment "默认") -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) -j DROP + $ipt_m -A PSW $(comment "默认") -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) -j DROP + [ "$TCP_PROXY_MODE" != "direct/proxy" ] && $ipt_m -A PSW $(comment "默认") -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") $(get_ipset_ipt $TCP_PROXY_MODE) -j DROP + } + local ipt_tmp=$ipt_n + if [ "$TCP_PROXY_MODE" != "disable" ]; then + [ "$TCP_NO_REDIR_PORTS" != "disable" ] && { + $ipt_tmp -A PSW $(comment "默认") -p tcp -m multiport --dport $TCP_NO_REDIR_PORTS -j RETURN + $ip6t_m -A PSW $(comment "默认") -p tcp -m multiport --dport $TCP_NO_REDIR_PORTS -j RETURN + } + + ipt_tmp=$ipt_n + [ "$TCP_NODE" != "nil" ] && { + msg="TCP默认代理:使用TCP节点[$(config_n_get $TCP_NODE remarks)] [$(get_action_chain_name $TCP_PROXY_MODE)]" + if [ -n "${is_tproxy}" ]; then + ipt_tmp=$ipt_m + msg="${msg}(TPROXY:${TCP_REDIR_PORT})代理" + else + msg="${msg}(REDIRECT:${TCP_REDIR_PORT})代理" + fi + + [ "$TCP_NO_REDIR_PORTS" != "disable" ] && msg="${msg}除${TCP_NO_REDIR_PORTS}外的" + msg="${msg}所有端口" + + $ipt_tmp -A PSW $(comment "默认") -p tcp -d $FAKE_IP $(REDIRECT $TCP_REDIR_PORT $is_tproxy) + $ipt_tmp -A PSW $(comment "默认") -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT $TCP_REDIR_PORT $is_tproxy) + $ipt_tmp -A PSW $(comment "默认") -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT $TCP_REDIR_PORT $is_tproxy) + $ipt_tmp -A PSW $(comment "默认") -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ipt $TCP_PROXY_MODE $TCP_REDIR_PORT $is_tproxy) + + [ "$accept_icmp" = "1" ] && { + $ipt_n -A PSW $(comment "默认") -p icmp -d $FAKE_IP $(REDIRECT) + $ipt_n -A PSW $(comment "默认") -p icmp $(dst $IPSET_SHUNTLIST) $(REDIRECT) + $ipt_n -A PSW $(comment "默认") -p icmp $(dst $IPSET_BLACKLIST) $(REDIRECT) + $ipt_n -A PSW $(comment "默认") -p icmp $(get_redirect_ipt $TCP_PROXY_MODE) + } + + if [ "$PROXY_IPV6" == "1" ]; then + $ip6t_m -A PSW $(comment "默认") -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "默认") -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "默认") -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ip6t $TCP_PROXY_MODE $TCP_REDIR_PORT TPROXY) + [ "$accept_icmpv6" = "1" ] && { + $ip6t_n -A PSW $(comment "默认") -p ipv6-icmp $(dst $IPSET_SHUNTLIST6) $(REDIRECT) + $ip6t_n -A PSW $(comment "默认") -p ipv6-icmp $(dst $IPSET_BLACKLIST6) $(REDIRECT) + $ip6t_n -A PSW $(comment "默认") -p ipv6-icmp $(get_redirect_ip6t $TCP_PROXY_MODE) + } + fi + + echolog "${msg}" + } + fi + $ipt_n -A PSW $(comment "默认") -p tcp -j RETURN + $ipt_m -A PSW $(comment "默认") -p tcp -j RETURN + $ip6t_m -A PSW $(comment "默认") -p tcp -j RETURN + + # 加载UDP默认代理模式 + [ "$UDP_PROXY_DROP_PORTS" != "disable" ] && { + $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") -d $FAKE_IP -j DROP + $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) -j DROP + $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) -j DROP + [ "$UDP_PROXY_MODE" != "direct/proxy" ] && $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") $(get_ipset_ipt $UDP_PROXY_MODE) -j DROP + } + if [ "$UDP_PROXY_MODE" != "disable" ]; then + [ "$UDP_NO_REDIR_PORTS" != "disable" ] && { + $ipt_m -A PSW $(comment "默认") -p udp -m multiport --dport $UDP_NO_REDIR_PORTS -j RETURN + $ip6t_m -A PSW $(comment "默认") -p udp -m multiport --dport $UDP_NO_REDIR_PORTS -j RETURN + } + + [ "$UDP_NODE" != "nil" -o "$TCP_UDP" = "1" ] && { + [ "$TCP_UDP" = "1" ] && [ "$UDP_NODE" = "nil" ] && UDP_NODE=$TCP_NODE + msg="UDP默认代理:使用UDP节点[$(config_n_get $UDP_NODE remarks)] [$(get_action_chain_name $UDP_PROXY_MODE)](TPROXY:${UDP_REDIR_PORT})代理" + + [ "$UDP_NO_REDIR_PORTS" != "disable" ] && msg="${msg}除${UDP_NO_REDIR_PORTS}外的" + msg="${msg}所有端口" + + $ipt_m -A PSW $(comment "默认") -p udp -d $FAKE_IP $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "默认") -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ipt $UDP_PROXY_MODE $UDP_REDIR_PORT TPROXY) + + if [ "$PROXY_IPV6_UDP" == "1" ]; then + $ip6t_m -A PSW $(comment "默认") -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "默认") -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "默认") -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ip6t $UDP_PROXY_MODE $UDP_REDIR_PORT TPROXY) + fi + + echolog "${msg}" + } + fi + $ipt_m -A PSW $(comment "默认") -p udp -j RETURN + $ip6t_m -A PSW $(comment "默认") -p udp -j RETURN +} + +filter_haproxy() { + for item in ${haproxy_items}; do + local ip=$(get_host_ip ipv4 $(echo $item | awk -F ":" '{print $1}') 1) + ipset -q add $IPSET_VPSIPLIST $ip + done + echolog "加入负载均衡的节点到ipset[$IPSET_VPSIPLIST]直连完成" +} + +filter_vpsip() { + uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSIPLIST &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R + uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSIPLIST6 &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R + echolog "加入所有节点到ipset[$IPSET_VPSIPLIST]直连完成" +} + +filter_node() { + local proxy_node=${1} + local stream=$(echo ${2} | tr 'A-Z' 'a-z') + local proxy_port=${3} + + filter_rules() { + local node=${1} + local stream=${2} + local _proxy=${3} + local _port=${4} + local _is_tproxy ipt_tmp msg msg2 + + if [ -n "$node" ] && [ "$node" != "nil" ]; then + local type=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z') + local address=$(config_n_get $node address) + local port=$(config_n_get $node port) + ipt_tmp=$ipt_n + _is_tproxy=${is_tproxy} + [ "$stream" == "udp" ] && _is_tproxy="TPROXY" + if [ -n "${_is_tproxy}" ]; then + ipt_tmp=$ipt_m + msg="TPROXY" + else + msg="REDIRECT" + fi + else + echolog " - 节点配置不正常,略过" + return 0 + fi + + local ADD_INDEX=$FORCE_INDEX + for _ipt in 4 6; do + [ "$_ipt" == "4" ] && _ipt=$ipt_tmp + [ "$_ipt" == "6" ] && _ipt=$ip6t_m + $_ipt -n -L PSW_OUTPUT | grep -q "${address}:${port}" + if [ $? -ne 0 ]; then + unset dst_rule + local dst_rule=$(REDIRECT 1 MARK) + msg2="按规则路由(${msg})" + [ "$_ipt" == "$ipt_m" -o "$_ipt" == "$ip6t_m" ] || { + dst_rule=$(REDIRECT $_port) + msg2="套娃使用(${msg}:${port} -> ${_port})" + } + [ -n "$_proxy" ] && [ "$_proxy" == "1" ] && [ -n "$_port" ] || { + ADD_INDEX=$(RULE_LAST_INDEX "$_ipt" PSW_OUT_PUT "$IPSET_VPSIPLIST" $FORCE_INDEX) + dst_rule=" -j RETURN" + msg2="直连代理" + } + $_ipt -I PSW_OUTPUT $ADD_INDEX $(comment "${address}:${port}") -p $stream -d $address --dport $port $dst_rule 2>/dev/null + else + msg2="已配置过的节点," + fi + done + msg="[$?]$(echo ${2} | tr 'a-z' 'A-Z')${msg2}使用链${ADD_INDEX},节点(${type}):${address}:${port}" + #echolog " - ${msg}" + } + + local proxy_protocol=$(config_n_get $proxy_node protocol) + local proxy_type=$(echo $(config_n_get $proxy_node type nil) | tr 'A-Z' 'a-z') + [ "$proxy_type" == "nil" ] && echolog " - 节点配置不正常,略过!:${proxy_node}" && return 0 + if [ "$proxy_protocol" == "_balancing" ]; then + #echolog " - 多节点负载均衡(${proxy_type})..." + proxy_node=$(config_n_get $proxy_node balancing_node) + for _node in $proxy_node; do + filter_rules "$_node" "$stream" + done + elif [ "$proxy_protocol" == "_shunt" ]; then + #echolog " - 按请求目的地址分流(${proxy_type})..." + local default_node=$(config_n_get $proxy_node default_node _direct) + local main_node=$(config_n_get $proxy_node main_node nil) + if [ "$main_node" != "nil" ]; then + filter_rules $main_node $stream + else + if [ "$default_node" != "_direct" ] && [ "$default_node" != "_blackhole" ]; then + filter_rules $default_node $stream + fi + fi +:</dev/null | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | sort -u | grep -v 0.0.0.0 | grep -v 127.0.0.1) + [ -n "$ISP_DNS" ] && { + #echolog "处理 ISP DNS 例外..." + for ispip in $ISP_DNS; do + ipset -! add $IPSET_WHITELIST $ispip >/dev/null 2>&1 & + #echolog " - 追加到白名单:${ispip}" + done + } + + local ISP_DNS6=$(cat $RESOLVFILE 2>/dev/null | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}" | awk -F % '{print $1}' | awk -F " " '{print $2}'| sort -u | grep -v -Fx ::1 | grep -v -Fx ::) + [ -n "$ISP_DNS" ] && { + #echolog "处理 ISP IPv6 DNS 例外..." + for ispip6 in $ISP_DNS; do + ipset -! add $IPSET_WHITELIST6 $ispip6 >/dev/null 2>&1 & + #echolog " - 追加到白名单:${ispip6}" + done + } + + # 过滤所有节点IP + filter_vpsip > /dev/null 2>&1 & + filter_haproxy > /dev/null 2>&1 & + + accept_icmp=$(config_t_get global_forwarding accept_icmp 0) + accept_icmpv6=$(config_t_get global_forwarding accept_icmpv6 0) + + local tcp_proxy_way=$(config_t_get global_forwarding tcp_proxy_way redirect) + if [ "$tcp_proxy_way" = "redirect" ]; then + unset is_tproxy + elif [ "$tcp_proxy_way" = "tproxy" ]; then + is_tproxy="TPROXY" + fi + + $ipt_n -N PSW + $ipt_n -A PSW $(dst $IPSET_LANIPLIST) -j RETURN + $ipt_n -A PSW $(dst $IPSET_VPSIPLIST) -j RETURN + $ipt_n -A PSW $(dst $IPSET_WHITELIST) -j RETURN + $ipt_n -A PSW -m mark --mark 0xff -j RETURN + + WAN_IP=$(get_wan_ip) + [ ! -z "${WAN_IP}" ] && $ipt_n -A PSW $(comment "WAN_IP_RETURN") -d "${WAN_IP}" -j RETURN + + [ "$accept_icmp" = "1" ] && insert_rule_after "$ipt_n" "PREROUTING" "prerouting_rule" "-p icmp -j PSW" + [ -z "${is_tproxy}" ] && insert_rule_after "$ipt_n" "PREROUTING" "prerouting_rule" "-p tcp -j PSW" + + $ipt_n -N PSW_OUTPUT + $ipt_n -A PSW_OUTPUT $(dst $IPSET_LANIPLIST) -j RETURN + $ipt_n -A PSW_OUTPUT $(dst $IPSET_VPSIPLIST) -j RETURN + $ipt_n -A PSW_OUTPUT $(dst $IPSET_WHITELIST) -j RETURN + $ipt_n -A PSW_OUTPUT -m mark --mark 0xff -j RETURN + + $ipt_n -N PSW_REDIRECT + $ipt_n -I PREROUTING 1 -j PSW_REDIRECT + + $ipt_m -N PSW_DIVERT + $ipt_m -A PSW_DIVERT -j MARK --set-mark 1 + $ipt_m -A PSW_DIVERT -j ACCEPT + + $ipt_m -N PSW + $ipt_m -A PSW $(dst $IPSET_LANIPLIST) -j RETURN + $ipt_m -A PSW $(dst $IPSET_VPSIPLIST) -j RETURN + $ipt_m -A PSW $(dst $IPSET_WHITELIST) -j RETURN + $ipt_m -A PSW -m mark --mark 0xff -j RETURN + $ipt_m -A PSW $(dst $IPSET_BLOCKLIST) -j DROP + + [ ! -z "${WAN_IP}" ] && $ipt_m -A PSW $(comment "WAN_IP_RETURN") -d "${WAN_IP}" -j RETURN + unset WAN_IP + + insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW" + insert_rule_before "$ipt_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT" + + $ipt_m -N PSW_OUTPUT + $ipt_m -A PSW_OUTPUT $(dst $IPSET_LANIPLIST) -j RETURN + $ipt_m -A PSW_OUTPUT $(dst $IPSET_VPSIPLIST) -j RETURN + $ipt_m -A PSW_OUTPUT $(dst $IPSET_WHITELIST) -j RETURN + $ipt_m -A PSW_OUTPUT -m mark --mark 0xff -j RETURN + $ipt_m -A PSW_OUTPUT $(dst $IPSET_BLOCKLIST) -j DROP + $ipt_m -A OUTPUT -j PSW_OUTPUT + + ip rule add fwmark 1 lookup 100 + ip route add local 0.0.0.0/0 dev lo table 100 + + [ "$accept_icmpv6" = "1" ] && { + $ip6t_n -N PSW + $ip6t_n -A PSW $(dst $IPSET_LANIPLIST6) -j RETURN + $ip6t_n -A PSW $(dst $IPSET_VPSIPLIST6) -j RETURN + $ip6t_n -A PSW $(dst $IPSET_WHITELIST6) -j RETURN + $ip6t_n -A PSW -m mark --mark 0xff -j RETURN + $ip6t_n -A PREROUTING -p ipv6-icmp -j PSW + + $ip6t_n -N PSW_OUTPUT + $ip6t_n -A PSW_OUTPUT $(dst $IPSET_LANIPLIST6) -j RETURN + $ip6t_n -A PSW_OUTPUT $(dst $IPSET_VPSIPLIST6) -j RETURN + $ip6t_n -A PSW_OUTPUT $(dst $IPSET_WHITELIST6) -j RETURN + $ip6t_n -A PSW_OUTPUT -m mark --mark 0xff -j RETURN + } + + $ip6t_m -N PSW_DIVERT + $ip6t_m -A PSW_DIVERT -j MARK --set-mark 1 + $ip6t_m -A PSW_DIVERT -j ACCEPT + + $ip6t_m -N PSW + $ip6t_m -A PSW $(dst $IPSET_LANIPLIST6) -j RETURN + $ip6t_m -A PSW $(dst $IPSET_VPSIPLIST6) -j RETURN + $ip6t_m -A PSW $(dst $IPSET_WHITELIST6) -j RETURN + $ip6t_m -A PSW -m mark --mark 0xff -j RETURN + $ip6t_m -A PSW $(dst $IPSET_BLOCKLIST6) -j DROP + + WAN6_IP=$(get_wan6_ip) + [ ! -z "${WAN6_IP}" ] && $ip6t_m -A PSW $(comment "WAN6_IP_RETURN") -d ${WAN6_IP} -j RETURN + unset WAN6_IP + + insert_rule_before "$ip6t_m" "PREROUTING" "mwan3" "-j PSW" + insert_rule_before "$ip6t_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT" + + $ip6t_m -N PSW_OUTPUT + $ip6t_m -A PSW_OUTPUT $(dst $IPSET_LANIPLIST6) -j RETURN + $ip6t_m -A PSW_OUTPUT $(dst $IPSET_VPSIPLIST6) -j RETURN + $ip6t_m -A PSW_OUTPUT $(dst $IPSET_WHITELIST6) -j RETURN + $ip6t_m -A PSW_OUTPUT -m mark --mark 0xff -j RETURN + $ip6t_m -A PSW_OUTPUT $(dst $IPSET_BLOCKLIST6) -j DROP + $ip6t_m -A OUTPUT -j PSW_OUTPUT + + ip -6 rule add fwmark 1 table 100 + ip -6 route add local ::/0 dev lo table 100 + + # 加载路由器自身代理 TCP + if [ "$TCP_NODE" != "nil" ]; then + local ipt_tmp=$ipt_n + local blist_r=$(REDIRECT $TCP_REDIR_PORT) + local p_r=$(get_redirect_ipt $LOCALHOST_TCP_PROXY_MODE $TCP_REDIR_PORT) + echolog "加载路由器自身 TCP 代理..." + + if [ -n "${is_tproxy}" ]; then + echolog " - 启用 TPROXY 模式" + ipt_tmp=$ipt_m + blist_r=$(REDIRECT 1 MARK) + p_r=$(get_redirect_ipt $LOCALHOST_TCP_PROXY_MODE 1 MARK) + else + $ipt_n -A OUTPUT -p tcp -j PSW_OUTPUT + fi + + [ "$accept_icmp" = "1" ] && { + $ipt_n -A OUTPUT -p icmp -j PSW_OUTPUT + $ipt_n -A PSW_OUTPUT -p icmp -d $FAKE_IP $(REDIRECT) + $ipt_n -A PSW_OUTPUT -p icmp $(dst $IPSET_SHUNTLIST) $(REDIRECT) + $ipt_n -A PSW_OUTPUT -p icmp $(dst $IPSET_BLACKLIST) $(REDIRECT) + $ipt_n -A PSW_OUTPUT -p icmp $(get_redirect_ipt $TCP_PROXY_MODE ) + } + + [ "$accept_icmpv6" = "1" ] && { + $ip6t_n -A OUTPUT -p ipv6-icmp -j PSW_OUTPUT + $ip6t_n -A PSW_OUTPUT -p ipv6-icmp $(dst $IPSET_SHUNTLIST6) $(REDIRECT) + $ip6t_n -A PSW_OUTPUT -p ipv6-icmp $(dst $IPSET_BLACKLIST6) $(REDIRECT) + $ip6t_n -A PSW_OUTPUT -p ipv6-icmp $(get_redirect_ip6t $TCP_PROXY_MODE) + } + + _proxy_tcp_access() { + [ -n "${2}" ] || return 0 + ipset -q test $IPSET_LANIPLIST ${2} + [ $? -eq 0 ] && { + echolog " - 上游 DNS 服务器 ${2} 已在直接访问的列表中,不强制向 TCP 代理转发对该服务器 TCP/${3} 端口的访问" + return 0 + } + if [ -n "${is_tproxy}" ]; then + $ipt_m -I PSW_OUTPUT -p tcp -d ${2} --dport ${3} $(REDIRECT 1 MARK) + $ipt_m -I PSW $(comment "本机") -p tcp -i lo -d ${2} --dport ${3} $(REDIRECT $TCP_REDIR_PORT TPROXY) + else + $ipt_n -I PSW_OUTPUT -p tcp -d ${2} --dport ${3} $(REDIRECT $TCP_REDIR_PORT) + fi + echolog " - [$?]将上游 DNS 服务器 ${2}:${3} 加入到路由器自身代理的 TCP 转发链" + } + + [ "$use_tcp_node_resolve_dns" == 1 ] && hosts_foreach DNS_FORWARD _proxy_tcp_access 53 + [ "$TCP_NO_REDIR_PORTS" != "disable" ] && { + $ipt_tmp -A PSW_OUTPUT -p tcp -m multiport --dport $TCP_NO_REDIR_PORTS -j RETURN + $ipt_tmp -A PSW_OUTPUT -p tcp -m multiport --sport $TCP_NO_REDIR_PORTS -j RETURN + $ip6t_m -A PSW_OUTPUT -p tcp -m multiport --dport $TCP_NO_REDIR_PORTS -j RETURN + $ip6t_m -A PSW_OUTPUT -p tcp -m multiport --sport $TCP_NO_REDIR_PORTS -j RETURN + echolog " - [$?]不代理TCP 端口:$TCP_NO_REDIR_PORTS" + } + [ "$TCP_PROXY_DROP_PORTS" != "disable" ] && { + $ipt_m -A PSW_OUTPUT -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") -d $FAKE_IP -j DROP + $ipt_m -A PSW_OUTPUT -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) -j DROP + $ipt_m -A PSW_OUTPUT -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) -j DROP + [ "$LOCALHOST_TCP_PROXY_MODE" != "direct/proxy" ] && $ipt_m -A PSW_OUTPUT -p tcp $(factor $TCP_PROXY_DROP_PORTS "-m multiport --dport") $(get_ipset_ipt $LOCALHOST_TCP_PROXY_MODE) -j DROP + echolog " - [$?],屏蔽代理TCP 端口:$TCP_PROXY_DROP_PORTS" + } + + $ipt_tmp -A PSW_OUTPUT -p tcp -d $FAKE_IP $blist_r + $ipt_tmp -A PSW_OUTPUT -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $blist_r + $ipt_tmp -A PSW_OUTPUT -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) $blist_r + $ipt_tmp -A PSW_OUTPUT -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $p_r + + if [ -n "${is_tproxy}" ]; then + $ipt_m -A PSW $(comment "本机") -p tcp -i lo -d $FAKE_IP $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p tcp -i lo $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p tcp -i lo $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p tcp -i lo $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ipt $LOCALHOST_TCP_PROXY_MODE $TCP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p tcp -i lo -j RETURN + fi + + if [ "$PROXY_IPV6" == "1" ]; then + $ip6t_m -A PSW_OUTPUT -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT 1 MARK) + $ip6t_m -A PSW_OUTPUT -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT 1 MARK) + $ip6t_m -A PSW_OUTPUT -p tcp $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ip6t $LOCALHOST_TCP_PROXY_MODE 1 MARK) + + $ip6t_m -A PSW $(comment "本机") -p tcp -i lo $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "本机") -p tcp -i lo $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT $TCP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "本机") -p tcp -i lo $(factor $TCP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ip6t $LOCALHOST_TCP_PROXY_MODE $TCP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "本机") -p tcp -i lo -j RETURN + fi + fi + + # 过滤Socks节点 + [ "$SOCKS_ENABLED" = "1" ] && { + local ids=$(uci show $CONFIG | grep "=socks" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}') + #echolog "分析 Socks 服务所使用节点..." + local id enabled node port msg num + for id in $ids; do + enabled=$(config_n_get $id enabled 0) + [ "$enabled" == "1" ] || continue + node=$(config_n_get $id node nil) + port=$(config_n_get $id port 0) + msg="Socks 服务 [:${port}]" + if [ "$node" == "nil" ] || [ "$port" == "0" ]; then + msg="${msg} 未配置完全,略过" + elif [ "$(echo $node | grep ^tcp)" ]; then + #eval "node=\${TCP_NODE}" + #msg="${msg} 使用与 TCP 代理自动切换${num} 相同的节点,延后处理" + continue + else + filter_node $node TCP > /dev/null 2>&1 & + filter_node $node UDP > /dev/null 2>&1 & + fi + #echolog " - ${msg}" + done + } + + # 处理轮换节点的分流或套娃 + local node port stream switch + for stream in TCP UDP; do + eval "node=\${${stream}_NODE}" + eval "port=\${${stream}_REDIR_PORT}" + #echolog "分析 $stream 代理自动切换..." + [ "$node" == "tcp" ] && [ "$stream" == "UDP" ] && { + eval "node=\${TCP_NODE}" + eval "port=\${TCP_REDIR_PORT}" + } + if [ "$node" != "nil" ]; then + filter_node $node $stream $port > /dev/null 2>&1 & + fi + done + + # 加载路由器自身代理 UDP + [ "$UDP_PROXY_DROP_PORTS" != "disable" ] && { + $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") -d $FAKE_IP -j DROP + $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) -j DROP + $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) -j DROP + [ "$LOCALHOST_UDP_PROXY_MODE" != "direct/proxy" ] && $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_PROXY_DROP_PORTS "-m multiport --dport") $(get_ipset_ipt $LOCALHOST_UDP_PROXY_MODE) -j DROP + echolog " - [$?],屏蔽代理UDP 端口:$UDP_PROXY_DROP_PORTS" + } + if [ "$UDP_NODE" != "nil" -o "$TCP_UDP" = "1" ]; then + echolog "加载路由器自身 UDP 代理..." + _proxy_udp_access() { + [ -n "${2}" ] || return 0 + ipset -q test $IPSET_LANIPLIST ${2} + [ $? == 0 ] && { + echolog " - 上游 DNS 服务器 ${2} 已在直接访问的列表中,不强制向 UDP 代理转发对该服务器 UDP/${3} 端口的访问" + return 0 + } + $ipt_m -I PSW_OUTPUT -p udp -d ${2} --dport ${3} $(REDIRECT 1 MARK) + $ipt_m -I PSW $(comment "本机") -p udp -i lo -d ${2} --dport ${3} $(REDIRECT $UDP_REDIR_PORT TPROXY) + echolog " - [$?]将上游 DNS 服务器 ${2}:${3} 加入到路由器自身代理的 UDP 转发链" + } + [ "$use_udp_node_resolve_dns" == 1 ] && hosts_foreach DNS_FORWARD _proxy_udp_access 53 + [ "$UDP_NO_REDIR_PORTS" != "disable" ] && { + $ipt_m -A PSW_OUTPUT -p udp -m multiport --dport $UDP_NO_REDIR_PORTS -j RETURN + $ipt_m -A PSW_OUTPUT -p udp -m multiport --sport $UDP_NO_REDIR_PORTS -j RETURN + $ip6t_m -A PSW_OUTPUT -p udp -m multiport --dport $UDP_NO_REDIR_PORTS -j RETURN + $ip6t_m -A PSW_OUTPUT -p udp -m multiport --sport $UDP_NO_REDIR_PORTS -j RETURN + echolog " - [$?]不代理 UDP 端口:$UDP_NO_REDIR_PORTS" + } + + $ipt_m -A PSW_OUTPUT -p udp -d $FAKE_IP $(REDIRECT 1 MARK) + $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT 1 MARK) + $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT 1 MARK) + $ipt_m -A PSW_OUTPUT -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ipt $LOCALHOST_UDP_PROXY_MODE 1 MARK) + + $ipt_m -A PSW $(comment "本机") -p udp -i lo -d $FAKE_IP $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p udp -i lo $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p udp -i lo $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p udp -i lo $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ipt $LOCALHOST_UDP_PROXY_MODE $UDP_REDIR_PORT TPROXY) + $ipt_m -A PSW $(comment "本机") -p udp -i lo -j RETURN + + if [ "$PROXY_IPV6_UDP" == "1" ]; then + $ip6t_m -A PSW_OUTPUT -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT 1 MARK) + $ip6t_m -A PSW_OUTPUT -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT 1 MARK) + $ip6t_m -A PSW_OUTPUT -p udp $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ip6t $LOCALHOST_UDP_PROXY_MODE 1 MARK) + + $ip6t_m -A PSW $(comment "本机") -p udp -i lo $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_SHUNTLIST6) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "本机") -p udp -i lo $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(dst $IPSET_BLACKLIST6) $(REDIRECT $UDP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "本机") -p udp -i lo $(factor $UDP_REDIR_PORTS "-m multiport --dport") $(get_redirect_ip6t $LOCALHOST_UDP_PROXY_MODE $UDP_REDIR_PORT TPROXY) + $ip6t_m -A PSW $(comment "本机") -p udp -i lo -j RETURN + fi + fi + + # 加载ACLS + load_acl + + # dns_hijack "force" + + echolog "防火墙规则加载完成!" +} + +del_firewall_rule() { + for ipt in "$ipt_n" "$ipt_m" "$ip6t_n" "$ip6t_m"; do + for chain in "PREROUTING" "OUTPUT"; do + for i in $(seq 1 $($ipt -nL $chain | grep -c PSW)); do + local index=$($ipt --line-number -nL $chain | grep PSW | head -1 | awk '{print $1}') + $ipt -D $chain $index 2>/dev/null + done + done + for chain in "PSW" "PSW_OUTPUT" "PSW_DIVERT" "PSW_REDIRECT"; do + $ipt -F $chain 2>/dev/null + $ipt -X $chain 2>/dev/null + done + done + + ip rule del fwmark 1 lookup 100 2>/dev/null + ip route del local 0.0.0.0/0 dev lo table 100 2>/dev/null + + ip -6 rule del fwmark 1 table 100 2>/dev/null + ip -6 route del local ::/0 dev lo table 100 2>/dev/null + + destroy_ipset $IPSET_LANIPLIST + destroy_ipset $IPSET_VPSIPLIST + #destroy_ipset $IPSET_SHUNTLIST + #destroy_ipset $IPSET_GFW + #destroy_ipset $IPSET_CHN + #destroy_ipset $IPSET_BLACKLIST + destroy_ipset $IPSET_BLOCKLIST + destroy_ipset $IPSET_WHITELIST + + destroy_ipset $IPSET_LANIPLIST6 + destroy_ipset $IPSET_VPSIPLIST6 + #destroy_ipset $IPSET_SHUNTLIST6 + #destroy_ipset $IPSET_GFW6 + #destroy_ipset $IPSET_CHN6 + #destroy_ipset $IPSET_BLACKLIST6 + destroy_ipset $IPSET_BLOCKLIST6 + destroy_ipset $IPSET_WHITELIST6 + + echolog "删除相关防火墙规则完成。" +} + +flush_ipset() { + del_firewall_rule + destroy_ipset $IPSET_VPSIPLIST $IPSET_SHUNTLIST $IPSET_GFW $IPSET_CHN $IPSET_BLACKLIST $IPSET_BLOCKLIST $IPSET_WHITELIST $IPSET_LANIPLIST + destroy_ipset $IPSET_VPSIPLIST6 $IPSET_SHUNTLIST6 $IPSET_GFW6 $IPSET_CHN6 $IPSET_BLACKLIST6 $IPSET_BLOCKLIST6 $IPSET_WHITELIST6 $IPSET_LANIPLIST6 + /etc/init.d/passwall reload +} + +flush_include() { + echo '#!/bin/sh' >$FWI +} + +gen_include() { + flush_include + extract_rules() { + local _ipt="${ipt}" + [ "$1" == "6" ] && _ipt="${ip6t}" + [ -z "${_ipt}" ] && return + + echo "*$2" + ${_ipt}-save -t $2 | grep "PSW" | grep -v "\-j PSW$" | grep -v "socket \-j PSW_DIVERT$" | sed -e "s/^-A \(OUTPUT\|PREROUTING\)/-I \1 1/" + echo 'COMMIT' + } + local __ipt="" + [ -n "${ipt}" ] && { + __ipt=$(cat <<- EOF + $ipt-save -c | grep -v "PSW" | $ipt-restore -c + $ipt-restore -n <<-EOT + $(extract_rules 4 nat) + $(extract_rules 4 mangle) + EOT + + [ "$accept_icmp" = "1" ] && \$(${MY_PATH} insert_rule_after "$ipt_n" "PREROUTING" "prerouting_rule" "-p icmp -j PSW") + [ -z "${is_tproxy}" ] && \$(${MY_PATH} insert_rule_after "$ipt_n" "PREROUTING" "prerouting_rule" "-p tcp -j PSW") + + \$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW") + \$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT") + + WAN_IP=\$(${MY_PATH} get_wan_ip) + + PR_INDEX=\$(${MY_PATH} RULE_LAST_INDEX "$ipt_n" PSW WAN_IP_RETURN -1) + if [ \$PR_INDEX -ge 0 ]; then + [ ! -z "\${WAN_IP}" ] && $ipt_n -R PSW \$PR_INDEX $(comment "WAN_IP_RETURN") -d "\${WAN_IP}" -j RETURN + fi + + PR_INDEX=\$(${MY_PATH} RULE_LAST_INDEX "$ipt_m" PSW WAN_IP_RETURN -1) + if [ \$PR_INDEX -ge 0 ]; then + [ ! -z "\${WAN_IP}" ] && $ipt_m -R PSW \$PR_INDEX $(comment "WAN_IP_RETURN") -d "\${WAN_IP}" -j RETURN + fi + EOF + ) + } + local __ip6t="" + [ -n "${ip6t}" ] && { + __ip6t=$(cat <<- EOF + $ip6t-save -c | grep -v "PSW" | $ip6t-restore -c + $ip6t-restore -n <<-EOT + $(extract_rules 6 nat) + $(extract_rules 6 mangle) + EOT + + [ "$accept_icmpv6" = "1" ] && $ip6t_n -A PREROUTING -p ipv6-icmp -j PSW + + \$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "mwan3" "-j PSW") + \$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT") + + PR_INDEX=\$(${MY_PATH} RULE_LAST_INDEX "$ip6t_m" PSW WAN6_IP_RETURN -1) + if [ \$PR_INDEX -ge 0 ]; then + WAN6_IP=\$(${MY_PATH} get_wan6_ip) + [ ! -z "\${WAN6_IP}" ] && $ip6t_m -R PSW \$PR_INDEX $(comment "WAN6_IP_RETURN") -d "\${WAN6_IP}" -j RETURN + fi + EOF + ) + } + cat <<-EOF >> $FWI + ${__ipt} + + ${__ip6t} + EOF + return 0 +} + +get_ipt_bin() { + echo $ipt +} + +get_ip6t_bin() { + echo $ip6t +} + +start() { + add_firewall_rule + gen_include +} + +stop() { + del_firewall_rule + flush_include +} + +arg1=$1 +shift +case $arg1 in +RULE_LAST_INDEX) + RULE_LAST_INDEX "$@" + ;; +insert_rule_before) + insert_rule_before "$@" + ;; +insert_rule_after) + insert_rule_after "$@" + ;; +flush_ipset) + flush_ipset + ;; +get_ipt_bin) + get_ipt_bin + ;; +get_ip6t_bin) + get_ip6t_bin + ;; +get_wan_ip) + get_wan_ip + ;; +get_wan6_ip) + get_wan6_ip + ;; +stop) + stop + ;; +start) + start + ;; +*) ;; +esac diff --git a/luci-app-passwall/root/usr/share/passwall/monitor.sh b/luci-app-passwall/root/usr/share/passwall/monitor.sh new file mode 100755 index 00000000..7d693bcd --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/monitor.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +CONFIG=passwall +TMP_PATH=/tmp/etc/$CONFIG +TMP_BIN_PATH=$TMP_PATH/bin +TMP_SCRIPT_FUNC_PATH=$TMP_PATH/script_func +TMP_ID_PATH=$TMP_PATH/id +LOCK_FILE_DIR=/tmp/lock +LOCK_FILE=${LOCK_FILE_DIR}/${CONFIG}_script.lock + +config_n_get() { + local ret=$(uci -q get $CONFIG.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +config_t_get() { + local index=0 + [ -n "$4" ] && index=$4 + local ret=$(uci -q get $CONFIG.@$1[$index].$2 2>/dev/null) + echo ${ret:=$3} +} + +ENABLED=$(config_t_get global enabled 0) +[ "$ENABLED" != 1 ] && return 1 +ENABLED=$(config_t_get global_delay start_daemon 0) +[ "$ENABLED" != 1 ] && return 1 +sleep 58s +while [ "$ENABLED" -eq 1 ]; do + [ -f "$LOCK_FILE" ] && { + sleep 6s + continue + } + touch $LOCK_FILE + + for filename in $(ls ${TMP_SCRIPT_FUNC_PATH}); do + cmd=$(cat ${TMP_SCRIPT_FUNC_PATH}/${filename}) + cmd_check=$(echo $cmd | awk -F '>' '{print $1}') + [ -n "$(echo $cmd_check | grep "dns2socks")" ] && cmd_check=$(echo $cmd_check | sed "s#:# #g") + icount=$(pgrep -f "$(echo $cmd_check)" | wc -l) + if [ $icount = 0 ]; then + #echo "${cmd} 进程挂掉,重启" >> /tmp/log/passwall.log + eval $(echo "nohup ${cmd} 2>&1 &") >/dev/null 2>&1 & + fi + done + + rm -f $LOCK_FILE + sleep 58s +done diff --git a/luci-app-passwall/root/usr/share/passwall/rule_update.lua b/luci-app-passwall/root/usr/share/passwall/rule_update.lua new file mode 100755 index 00000000..40ee6660 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rule_update.lua @@ -0,0 +1,401 @@ +#!/usr/bin/lua + +require 'nixio' +require 'luci.sys' +local luci = luci +local ucic = luci.model.uci.cursor() +local jsonc = require "luci.jsonc" +local name = 'passwall' +local api = require ("luci.model.cbi." .. name .. ".api.api") +local arg1 = arg[1] + +local rule_path = "/usr/share/" .. name .. "/rules" +local reboot = 0 +local gfwlist_update = 0 +local chnroute_update = 0 +local chnroute6_update = 0 +local chnlist_update = 0 +local geoip_update = 0 +local geosite_update = 0 + +-- match comments/title/whitelist/ip address/excluded_domain +local comment_pattern = "^[!\\[@]+" +local ip_pattern = "^%d+%.%d+%.%d+%.%d+" +local ip4_ipset_pattern = "^%d+%.%d+%.%d+%.%d+[%/][%d]+$" +local ip6_ipset_pattern = ":-[%x]+%:+[%x]-[%/][%d]+$" +local domain_pattern = "([%w%-%_]+%.[%w%.%-%_]+)[%/%*]*" +local excluded_domain = {"apple.com","sina.cn","sina.com.cn","baidu.com","byr.cn","jlike.com","weibo.com","zhongsou.com","youdao.com","sogou.com","so.com","soso.com","aliyun.com","taobao.com","jd.com","qq.com","bing.com"} + +local gfwlist_url = ucic:get(name, "@global_rules[0]", "gfwlist_url") or {"https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt"} +local chnroute_url = ucic:get(name, "@global_rules[0]", "chnroute_url") or {"https://ispip.clang.cn/all_cn.txt"} +local chnroute6_url = ucic:get(name, "@global_rules[0]", "chnroute6_url") or {"https://ispip.clang.cn/all_cn_ipv6.txt"} +local chnlist_url = ucic:get(name, "@global_rules[0]", "chnlist_url") or {"https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/accelerated-domains.china.conf","https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/apple.china.conf","https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/google.china.conf"} +local geoip_api = "https://api.github.com/repos/Loyalsoldier/v2ray-rules-dat/releases/latest" +local geosite_api = "https://api.github.com/repos/Loyalsoldier/v2ray-rules-dat/releases/latest" +local v2ray_asset_location = ucic:get_first(name, 'global_rules', "v2ray_location_asset", "/usr/share/v2ray/") + +local log = function(...) + if arg1 then + local result = os.date("%Y-%m-%d %H:%M:%S: ") .. table.concat({...}, " ") + if arg1 == "log" then + local f, err = io.open("/tmp/log/passwall.log", "a") + if f and err == nil then + f:write(result .. "\n") + f:close() + end + elseif arg1 == "print" then + print(result) + end + end +end + +-- trim +local function trim(text) + if not text or text == "" then return "" end + return (string.gsub(text, "^%s*(.-)%s*$", "%1")) +end + +-- curl +local function curl(url, file) + local cmd = "curl -skL -w %{http_code} --retry 3 --connect-timeout 3 '" .. url .. "'" + if file then + cmd = cmd .. " -o " .. file + end + local stdout = luci.sys.exec(cmd) + + if file then + return tonumber(trim(stdout)) + else + return trim(stdout) + end +end + +--check excluded domain +local function check_excluded_domain(value) + for k,v in ipairs(excluded_domain) do + if value:find(v) then + return true + end + end +end + +local function line_count(file_path) + local num = 0 + for _ in io.lines(file_path) do + num = num + 1 + end + return num; +end + +--fetch rule +local function fetch_rule(rule_name,rule_type,url,exclude_domain) + local sret = 200 + local sret_tmp = 0 + local domains = {} + local file_tmp = "/tmp/" ..rule_name.. "_tmp" + local download_file_tmp = "/tmp/" ..rule_name.. "_dl" + local unsort_file_tmp = "/tmp/" ..rule_name.. "_unsort" + + log(rule_name.. " 开始更新...") + for k,v in ipairs(url) do + sret_tmp = curl(v, download_file_tmp..k) + if sret_tmp == 200 then + if rule_name == "gfwlist" then + local domains = {} + local gfwlist = io.open(download_file_tmp..k, "r") + local decode = api.base64Decode(gfwlist:read("*all")) + gfwlist:close() + + gfwlist = io.open(download_file_tmp..k, "w") + gfwlist:write(decode) + gfwlist:close() + end + + if rule_type == "domain" and exclude_domain == true then + for line in io.lines(download_file_tmp..k) do + if not (string.find(line, comment_pattern) or string.find(line, ip_pattern) or check_excluded_domain(line)) then + local start, finish, match = string.find(line, domain_pattern) + if (start) then + domains[match] = true + end + end + end + + elseif rule_type == "domain" then + for line in io.lines(download_file_tmp..k) do + if not (string.find(line, comment_pattern) or string.find(line, ip_pattern)) then + local start, finish, match = string.find(line, domain_pattern) + if (start) then + domains[match] = true + end + end + end + + elseif rule_type == "ip4" then + local out = io.open(unsort_file_tmp, "a") + for line in io.lines(download_file_tmp..k) do + local start, finish, match = string.find(line, ip4_ipset_pattern) + if (start) then + out:write(string.format("%s\n", line)) + end + end + out:close() + + elseif rule_type == "ip6" then + local out = io.open(unsort_file_tmp, "a") + for line in io.lines(download_file_tmp..k) do + local start, finish, match = string.find(line, ip6_ipset_pattern) + if (start) then + out:write(string.format("%s\n", line)) + end + end + out:close() + + end + os.remove(download_file_tmp..k) + else + sret = 0 + log(rule_name.. " 第" ..k.. "条规则:" ..v.. "下载失败!") + end + end + + if sret == 200 then + if rule_type == "domain" then + local out = io.open(unsort_file_tmp, "w") + for k,v in pairs(domains) do + out:write(string.format("%s\n", k)) + end + out:close() + end + luci.sys.call("cat " ..unsort_file_tmp.. " | sort -u > "..file_tmp) + os.remove(unsort_file_tmp) + end + + if sret == 200 then + local old_md5 = luci.sys.exec("echo -n $(md5sum " .. rule_path .. "/" ..rule_name.. " | awk '{print $1}')") + local new_md5 = luci.sys.exec("echo -n $([ -f '" ..file_tmp.. "' ] && md5sum " ..file_tmp.." | awk '{print $1}')") + if old_md5 ~= new_md5 then + local count = line_count(file_tmp) + luci.sys.exec("mv -f "..file_tmp .. " " ..rule_path .. "/" ..rule_name) + reboot = 1 + log(rule_name.. " 更新成功,总规则数 " ..count.. " 条。") + else + log(rule_name.. " 版本一致,无需更新。") + end + else + log(rule_name.. " 文件下载失败!") + end + os.remove(file_tmp) + return 0 +end + +local function fetch_gfwlist() + fetch_rule("gfwlist","domain",gfwlist_url,true) +end + +local function fetch_chnroute() + fetch_rule("chnroute","ip4",chnroute_url,false) +end + +local function fetch_chnroute6() + fetch_rule("chnroute6","ip6",chnroute6_url,false) +end + +local function fetch_chnlist() + fetch_rule("chnlist","domain",chnlist_url,false) +end + +--获取geoip +local function fetch_geoip() + --请求geoip + xpcall(function() + local json_str = curl(geoip_api) + local json = jsonc.parse(json_str) + if json.tag_name and json.assets then + for _, v in ipairs(json.assets) do + if v.name and v.name == "geoip.dat.sha256sum" then + local sret = curl(v.browser_download_url, "/tmp/geoip.dat.sha256sum") + if sret == 200 then + local f = io.open("/tmp/geoip.dat.sha256sum", "r") + local content = f:read() + f:close() + f = io.open("/tmp/geoip.dat.sha256sum", "w") + f:write(content:gsub("geoip.dat", "/tmp/geoip.dat"), "") + f:close() + + if nixio.fs.access(v2ray_asset_location .. "geoip.dat") then + luci.sys.call(string.format("cp -f %s %s", v2ray_asset_location .. "geoip.dat", "/tmp/geoip.dat")) + if luci.sys.call('sha256sum -c /tmp/geoip.dat.sha256sum > /dev/null 2>&1') == 0 then + log("geoip 版本一致,无需更新。") + return 1 + end + end + for _2, v2 in ipairs(json.assets) do + if v2.name and v2.name == "geoip.dat" then + sret = curl(v2.browser_download_url, "/tmp/geoip.dat") + if luci.sys.call('sha256sum -c /tmp/geoip.dat.sha256sum > /dev/null 2>&1') == 0 then + luci.sys.call(string.format("mkdir -p %s && cp -f %s %s", v2ray_asset_location, "/tmp/geoip.dat", v2ray_asset_location .. "geoip.dat")) + reboot = 1 + log("geoip 更新成功。") + return 1 + else + log("geoip 更新失败,请稍后再试。") + end + break + end + end + end + break + end + end + end + end, + function(e) + end) + + return 0 +end + +--获取geosite +local function fetch_geosite() + --请求geosite + xpcall(function() + local json_str = curl(geosite_api) + local json = jsonc.parse(json_str) + if json.tag_name and json.assets then + for _, v in ipairs(json.assets) do + if v.name and v.name == "geosite.dat.sha256sum" then + local sret = curl(v.browser_download_url, "/tmp/geosite.dat.sha256sum") + if sret == 200 then + local f = io.open("/tmp/geosite.dat.sha256sum", "r") + local content = f:read() + f:close() + f = io.open("/tmp/geosite.dat.sha256sum", "w") + f:write(content:gsub("geosite.dat", "/tmp/geosite.dat"), "") + f:close() + + if nixio.fs.access(v2ray_asset_location .. "geosite.dat") then + luci.sys.call(string.format("cp -f %s %s", v2ray_asset_location .. "geosite.dat", "/tmp/geosite.dat")) + if luci.sys.call('sha256sum -c /tmp/geosite.dat.sha256sum > /dev/null 2>&1') == 0 then + log("geosite 版本一致,无需更新。") + return 1 + end + end + for _2, v2 in ipairs(json.assets) do + if v2.name and v2.name == "geosite.dat" then + sret = curl(v2.browser_download_url, "/tmp/geosite.dat") + if luci.sys.call('sha256sum -c /tmp/geosite.dat.sha256sum > /dev/null 2>&1') == 0 then + luci.sys.call(string.format("mkdir -p %s && cp -f %s %s", v2ray_asset_location, "/tmp/geosite.dat", v2ray_asset_location .. "geosite.dat")) + reboot = 1 + log("geosite 更新成功。") + return 1 + else + log("geosite 更新失败,请稍后再试。") + end + break + end + end + end + break + end + end + end + end, + function(e) + end) + + return 0 +end + +if arg[2] then + if arg[2]:find("gfwlist") then + gfwlist_update = 1 + end + if arg[2]:find("chnroute") then + chnroute_update = 1 + end + if arg[2]:find("chnroute6") then + chnroute6_update = 1 + end + if arg[2]:find("chnlist") then + chnlist_update = 1 + end + if arg[2]:find("geoip") then + geoip_update = 1 + end + if arg[2]:find("geosite") then + geosite_update = 1 + end +else + gfwlist_update = ucic:get_first(name, 'global_rules', "gfwlist_update", 1) + chnroute_update = ucic:get_first(name, 'global_rules', "chnroute_update", 1) + chnroute6_update = ucic:get_first(name, 'global_rules', "chnroute6_update", 1) + chnlist_update = ucic:get_first(name, 'global_rules', "chnlist_update", 1) + geoip_update = ucic:get_first(name, 'global_rules', "geoip_update", 1) + geosite_update = ucic:get_first(name, 'global_rules', "geosite_update", 1) +end +if gfwlist_update == 0 and chnroute_update == 0 and chnroute6_update == 0 and chnlist_update == 0 and geoip_update == 0 and geosite_update == 0 then + os.exit(0) +end + +log("开始更新规则...") +if tonumber(gfwlist_update) == 1 then + xpcall(fetch_gfwlist,function(e) + log(e) + log(debug.traceback()) + log('更新gfwlist发生错误...') + end) +end + +if tonumber(chnroute_update) == 1 then + xpcall(fetch_chnroute,function(e) + log(e) + log(debug.traceback()) + log('更新chnroute发生错误...') + end) +end + +if tonumber(chnroute6_update) == 1 then + xpcall(fetch_chnroute6,function(e) + log(e) + log(debug.traceback()) + log('更新chnroute6发生错误...') + end) +end + +if tonumber(chnlist_update) == 1 then + xpcall(fetch_chnlist,function(e) + log(e) + log(debug.traceback()) + log('更新chnlist发生错误...') + end) +end + +if tonumber(geoip_update) == 1 then + log("geoip 开始更新...") + local status = fetch_geoip() + os.remove("/tmp/geoip.dat") + os.remove("/tmp/geoip.dat.sha256sum") +end + +if tonumber(geosite_update) == 1 then + log("geosite 开始更新...") + local status = fetch_geosite() + os.remove("/tmp/geosite.dat") + os.remove("/tmp/geosite.dat.sha256sum") +end + +ucic:set(name, ucic:get_first(name, 'global_rules'), "gfwlist_update", gfwlist_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "chnroute_update", chnroute_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "chnroute6_update", chnroute6_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "chnlist_update", chnlist_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "geoip_update", geoip_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "geosite_update", geosite_update) +ucic:save(name) +luci.sys.call("uci commit " .. name) + +if reboot == 1 then + log("重启服务,应用新的规则。") + luci.sys.call("/usr/share/" .. name .. "/iptables.sh flush_ipset > /dev/null 2>&1 &") +end +log("规则更新完毕...") diff --git a/luci-app-passwall/root/usr/share/passwall/rules/block_host b/luci-app-passwall/root/usr/share/passwall/rules/block_host new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-passwall/root/usr/share/passwall/rules/block_ip b/luci-app-passwall/root/usr/share/passwall/rules/block_ip new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-passwall/root/usr/share/passwall/rules/chnlist b/luci-app-passwall/root/usr/share/passwall/rules/chnlist new file mode 100644 index 00000000..ed268fa3 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/chnlist @@ -0,0 +1,67559 @@ +0-100.com +0-6.com +00.net +000.link +00000.host +00042.com +00058.com +0006266.com +0007.net +000714.xyz +000dn.com +000e.com +000wx.com +001.com +001133.app +0012482.com +001cndc.com +001daima.com +001en.com +001jm.com +001job.com +001kd.com +001pp.com +001tech.com +001town.com +00290777.com +002lzj.com +0033.com +0037wan.com +00394.net +003store.com +004218.com +004678.com +00544.com +0056.cc +0061.com.au +00615.net +00791.com +007hd.com +007manhua.com +007qu.com +007shoes.com +007swz.com +007yx.com +008008008.cc +008008789.com +00817.com +0082tv.com +0082tv.net +008321.com +00852wm.com +00853.la +0086crane.com +0086l.com +0086org.com +0088-0880.com +0088dns.com +008gj.com +009.com +0098118.com +00991901.com +0099524.com +009y.com +00bx.com +00cdn.com +00cdn.xyz +00cf.com +00cha.com +00cha.net +00ic.com +00it.net +00ksw.net +00lewen.com +00red.com +00tera.com +00txt.com +00wv.com +01-123.com +01-cf.com +010123456.com +010155.net +0101shop.com +01095113.com +010bianhu.com +010bjzs.com +010byyy.com +010cns.com +010dsmzyy.com +010hetongls.com +010jianzhan.com +010lf.com +0110m.com +0119.com +0123401234.com +0123456789.biz +0123456789.com +0135135.com +01368.com +01368u.com +013767.com +0138.com +014.cc +014999k.com +016272.com +016sf.com +01bz.wang +01caijing.com +01faxing.com +01happy.com +01home.com +01hour.com +01hr.com +01hrheibei.com +01isp.com +01isp.net +01jzw.com +01ke.com +01ki.com +01p.com +01retail.com +01rv.com +01tao.com +01teacher.com +01tingshu.com +01ue.com +01w.com +01water.com +01wb.com +01wed.com +01yo.com +01yun.com +01zhuanche.com +020.com +020.net +0208.com +020banjia.net +020h.com +020job.com +020ym.com +020zp.net +021-atp.com +021-cz.com +021-tp.com +021-zszx.com +021.com +021.net +0214.com +0214vip.com +02156506666.net +02163.com +021bolang.com +021clean.com +021dianyuan.com +021dzjx.com +021east.com +021fx.com +021gjhb.com +021hly.org +021ja.com +021jingwei.com +021jingwu.com +021js.com +021lawfirm.com +021networks.com +021phone.com +021ren.com +021sports.com +021tk.com +021yongzhuo.com +021zu.com +022003.com +0221155.com +0222z6.com +022china.com +022ee.com +022meishu.com +022s.com +022shui.com +022sunny.com +022v.com +023086.com +02345678.com +023buy.com +023che.com +023cq.cc +023dir.com +023dns.com +023gayss.com +023gaywz.com +023gmdk.com +023lvyou.com +023sm.com +023up.com +023wg.com +023yts.com +023zp.com +0243811.com +0243855.com +0245.cc +0245.org +024888.net +02489.com +024anfang.com +024bj.com +024bxkj.com +024eps.com +024feida.com +024frde.com +024fuchan.com +024fuwu.com +024fzy.com +024grc.com +024heyi.com +024hh.com +024hp.com +024hpg.com +024huada.com +024zihai.com +024zol.com +024zxw.com +02516.com +025ct.com +025ebaidu.com +025kaiyi.com +025nj.com +025sc.com +025xl.com +025zp.com +026idc.com +0270.cc +02712122.com +02727.com +02766667777.com +027accp.com +027aige.com +027art.com +027cgb.com +027chuxun.com +027cloud.com +027down.com +027eat.com +027fcyy.com +027hcss.com +027hhl.com +027hpedu.com +027hpit.com +027htxt.com +027hxj.com +027hxzy.com +027hy.com +027idc.com +027jsxh.com +027jz.cc +027one.com +027qyy.com +027tc.net +027tianle.com +027tianlong.com +027tytpf.com +027wcbyy.com +027xf.com +027yunwei.com +027yx.com +027zhan.com +027zpw.com +0283home.com +028brother.com +028hema.com +028hr.org +028ip.com +028kuaidai.com +028office.com +028pxw.com +029558.com +029900.com +029jiuda.com +029judao.com +029k.com +029lintong.com +029rencai.com +029shw.com +029weichen.com +029wsw.com +029yjy.com +029yljj.com +029yuezi.com +029zp.com +029zx.net +02edu.com +02kdid.com +02lu.com +02o.pw +02shu.cc +02shu.com +02wan.com +02wq.com +030303.com +030mall.com +0310cn.com +0310it.com +0311wifi.com +0314.online +0316.cc +031v.com +0328.com +033033.com +0335e.com +0335wl.com +03412.com +03414.com +034666.com +0349.info +035110000.com +0351data.com +0351fdc.com +0352fang.com +0352g.com +0355fk.com +0356f.com +0357hz.com +0368.com +036yx.com +0371wang.com +037201.com +037398.com +0375art.com +0376news.com +0377cw.com +0378zz.com +0379home.com +0379pfw.com +03964.com +03dq.com +03k.org +03nq.com +0411.com +041188888.com +0411e.com +0411hd.com +041234b.com +0417gou.com +0421wcbzk.com +0427.com +0430.com +0431cn.com +0437.com +044045.com +04486.com +0452e.com +0453.com +0455zd.com +0460.com +0470a.com +0470fcw.com +0471fcw.com +0472.com +0479xx.com +05087.com +051058.com +0510syedu.com +0511w.com +0512118114.com +0512fangchan.com +0512pearl.com +0512s.com +0512xiangcheng.com +0512zp.com +0513.net +0513.org +0513011.com +0513syedu.com +0513zs.com +0514.com +0514rj.com +051591.com +0515auto.com +0515syedu.com +0515yc.tv +0516k.com +0517.net +0517999.com +0517cw.com +0517w.com +0519114.net +051jk.com +05236.com +0523tx.net +0523zp.com +0523zz.com +05273.com +0527zz.com +052yx.com +0531.com +053135.com +0531jb.com +0531soso.com +0531welt.com +0531wt.com +0532.com +0533.com +0535-0411.com +0536qz.com +0537yz.com +0539fc.com +053c.com +054057.com +0543hr.com +0546dsw.com +0546fdc.com +0550.com +055110.com +055178.com +0551fangchan.com +0551hfhybdf.com +0551wl.com +0552jie.com +05532.com +0553fang.com +0553zsw.com +0554news.com +0554zp.com +0555dsw.com +0555fc.com +0558.la +0558zp.com +0559fc.com +0561house.com +0563job.com +0566cn.net +0566fc.com +0566job.com +057.com +0570fc.com +0570zs.com +057191.com +0571dns.com +0571ok.com +0573fang.com +0573ren.com +0574bbs.com +0574nbjg.com +05752008.com +0575bbs.com +0575dsw.com +0575life.com +0575xf.com +0576dsw.com +0577-it.com +0577cnw.com +0577home.net +0577hr.com +0577job.com +0577qiche.com +0578rencai.com +0578zhaopin.com +0579com.com +0579fw.com +058lm.com +0591job.com +05927.com +0592dsw.com +0592jj.com +0592xl.com +05935.com +0593666.com +0594.com +0595job.com +0595rc.com +0596fc.com +0597kk.com +0597ok.com +0597seo.com +0597zp.com +0598777.com +0598job.com +0598rc.com +0599yx.com +05bk.com +05bq.com +05cg.com +05eg.com +05info.com +05vm.com +05wan.com +062616.com +063108.com +0632idc.com +0634.com +06362.com +065201.com +0660hf.com +0663.net +0663job.com +0668.com +068632.com +06abc.com +06climate.com +06dns.com +06game.com +06jm.com +06peng.com +07.la +0701news.com +070210.com +0704tv.com +07073.com +07073h5.com +07073sy.com +07073vr.com +0712fang.com +0712zpw.com +071333.com +0713fang.com +0714news.com +0715fc.com +0715rc.com +0715zp.com +0716fw.com +0716mr.com +07177.com +0717ad.com +0718.cc +071811.cc +0719house.com +0722fc.com +0722zs.com +0724c.com +0728f.com +0730188.com +0730news.com +073122.com +0731a.com +0731cfw.com +0731fdc.com +0731i.com +0731jiaju.com +0731job.com +0731pgy.com +0731rj.com +0731tg.com +0731wan.com +0731zcgs.com +0733news.com +0734zpw.com +0735.com +07358.com +0735jz.com +0735zx.com +0735zz.com +0736fdc.com +0736zz.com +0737rencai.com +0738.cc +0738rc.com +0738www.com +0739tt.com +073img.com +07430743.com +0744tv.com +0745tuan.com +0746news.com +0750rc.com +075238.com +0752qc.com +0755400.com +075577777.com +0755888.com +0755bdqn.com +0755caibao.com +0755car.com +0755haoyu.com +0755hz.com +0755pr.com +0755rc.com +0755si.com +0755ws.com +0755zb.com +0756hhr.com +0756home.com +0756idc.com +0756seo.com +0756tong.com +0757fc.com +0757p.com +0757rc.com +0758net.com +0759job.com +0759k.com +0759yc.com +0760.com +0760bw.com +0760rc.com +076299.com +0762uu.com +0763f.com +0763home.com +0763zuche.com +076650.com +0768.gd +0769che.com +0769net.com +0769sun.com +0769sx.com +0769yp.com +0771.tel +0771bc.com +0771rc.com +0772fang.com +0772job.com +0775fcw.com +0775jzw.com +07890.com +0791look.com +0791quanquan.com +0792jj.net +0792u.com +079768.com +0797rs.com +079y.com +07cn.com +07ren.com +07swz.com +07yue.com +0813fs.com +08172.hk +0817tv.com +0817xm.com +0818tuan.com +0826j.com +082808.com +0832h.com +0832mh.com +083332.com +0835.com +0835meiya.com +0838.com +0838che.com +085.com +0852diaoyu.com +0852job.com +0853rc.com +0854job.com +0855job.com +0856job.com +0857job.com +0859job.com +086580.com +086jx.com +086kd.com +086mai.com +0871gc.com +0890.com +08946.com +0898.net +0898100.com +089858.com +0898888.com +0898cc.com +0898cfw.com +0898hq.com +0898mmf.com +0898xbfc.com +089u.com +08an.com +08c6.com +08cdn.com +08cms.com +08g.cc +08ky.com +08px.com +090expo.com +0912app.com +0914cn.com +0915home.com +091601.com +0916auto.com +0916jzw.com +0917.com +0917e.com +0919123.com +093.com +093.tv +0937js.com +0938net.com +093nd9.com +09418.com +09451.com +094j35.com +095196555.com +0951job.com +09635.com +0967ll.com +09685.com +096hg.com +0991dj.com +0991net.com +0992.cc +09ge.com +09rw.com +09shijue.com +09t55.com +0bug.org +0car0.com +0ctrl.com +0d.work +0daily.com +0dayhack.net +0dayku.com +0dj.net +0duxs.com +0easy.com +0fenbei.com +0fw.net +0g1s.com +0gouche.com +0ju.cc +0kee.com +0rg.pw +0rl.cc +0s8s.com +0sm.com +0x0.biz +0x0.ooo +0x100.club +0x3.me +0x5.me +0x6.me +0x7.me +0x9.me +0xaa55.com +0xff000000.com +0xffffff.org +0xsky.com +0xue.com +0y856.com +1-111-1.com +1-123.com +1-b.tc +1-cs.net +1-du.net +1-yuan.net +1.cc +1.cm +1.cms.s81c.com +1.www.s81c.com +100-tong.com +100.com +100.me +1000.com +10000.com +10000.sh +10000idc.net +10000ja.net +10000job.com +10000link.com +10000shequ.com +10000tc.com +10000yao.com +10001wan.com +1000360.com +10006.info +1000ci.net +1000eb.net +1000fr.net +1000fun.com +1000phone.com +1000phone.net +1000plan.org +1000thinktank.com +1000tm.net +1000tuan.com +1000uc.com +1000xuexi.com +1000zhu.com +10010.com +10010400.net +10010hb.net +10010js.com +10010ll.com +10010nm.com +10010vip.cloud +1001g.com +1001hw.com +1001p.com +100580.com +100669.com +1008011.com +1008120.com +10086.win +1008610086.com +10086web.com +100allin.com +100alpha.com +100ask.net +100ask.org +100audio.com +100ayrc.com +100b.cc +100bt.com +100chou.com +100chui.com +100cjc.com +100credit.com +100cup.com +100cyrc.com +100data.com +100du.com +100e.com +100ehui.com +100eshu.com +100exam.com +100fang.com +100font.com +100ftv.com +100hdy.com +100how.com +100huts.com +100ip.net +100jiapu.com +100jm.net +100ksw.com +100legend.com +100loujia.com +100lw.com +100market.net +100md.com +100mian.com +100msh.net +100niangudu.com +100njz.com +100nkrc.com +100pd.cc +100pd.com +100ppi.com +100rjrc.com +100run.com +100shop.com +100skin.com +100stone.com +100sucai.com +100szy.com +100t.com +100tal.com +100tmt.com +100toutiao.com +100try.com +100txt.com +100txy.com +100ulife.com +100wa.com +100web.store +100weidu.com +100wen.cc +100wen.com +100wsanguo.com +100x100w.com +100xfrc.com +100xhs.com +100xiao.com +100xin.com +100xuexi.com +100ye.net +100yigui.com +100yingcai.com +100yiyao.com +100yue.com +100zhuang.com +100zp.com +101.com +10100000.com +10101111.com +10101111cdn.com +101055.com +1010jiajiao.com +1010jz.com +1010pic.com +1010school.com +1010sh.com +101505.com +10155.com +1015600.com +10185.com +101hr.com +101jiajiao.com +101jm.net +101weiqi.com +1020m.com +1024.com +1024.ink +1024g.com +1024ie.com +1024nic.com +1024sj.com +1024sou.com +1024ss.com +1024tools.com +10260.com +102cw.com +102no.com +102pay.com +103153.com +1032.com +10333.com +1035.mobi +1040jy.com +10419.net +105a.com +105mr.com +105zx.com +106.com +10639888.com +1065m.com +106666.cc +1066888.com +106903.com +1073.com +107788.com +1078899.com +107room.com +1080prmvb.com +108101.xyz +108105.xyz +108198.com +10852.com +10852a.com +10865.com +108cun.com +108pk.com +108qi.com +108sq.com +108tian.com +109.com +10909.com +1090ys.com +109863.com +109876543210.com +10bests.com +10besty.com +10danteng.com +10fang.com +10gt.com +10hghg.com +10huan.com +10idc.com +10isp.com +10min.club +10moons.com +10pinping.com +10pkpk.com +10qianwan.com +10s1.com +10sea.com +10soo.com +10tiao.com +10uv.net +10vps.com +10yan.com +10yougame.com +10zk.com +110.com +11000011.com +1109.com +110hack.com +110tm.com +110zhibo.com +1111.buzz +1111.com +111111111.com +11111s.info +111155268.com +1111biao.com +1113.cc +11160066.com +111com.net +111g.com +111qqz.com +111tt.icu +111yao.com +112112.com +1122.com +11222.com +1122dh.com +1124.cc +1128.org +112812.com +1128job.com +112seo.com +112wan.com +1131.cc +11315.com +1133.cc +113989.com +113dh.com +113ya.com +114-91.com +114.114.114.114 +1140086.com +114160.com +11467.com +114best.com +114cb.com +114cbd.com +114chn.com +114desk.com +114dev.com +114dg.com +114dhc.com +114dns.com +114dns.net +114god.com +114hrb.com +114huoche.com +114hzw.com +114ic.com +114ic.net +114jc.com +114jcw.com +114jia.net +114la.com +114mall.com +114menhu.com +114mo.com +114my.net +114oc.com +114park.com +114photo.com +114piaowu.com +114pinpai.com +114px.com +114qy.com +114s.com +114sf.com +114shouji.com +114study.com +114work.com +114yygh.com +114zhibo.com +114zpw.com +114zw.la +114zw.org +115.com +11544.com +1155.com +1155871.com +1156dns.com +115800.com +1158pk.com +115cdn.net +115img.com +115jk.com +115z.com +1163.com +1166.com +11665.com +11684.com +116cd.com +116kj.com +116yx.com +11773.com +117play.com +117show.com +118114.net +1188.com +1189.tv +118cy.com +118jm.com +118pan.com +118qikan.com +118study.com +118wa.com +119.cc +119120.org +119958.com +119hn.com +119tx.com +119you.com +11chuangye.com +11dns.com +11dream.net +11fldxn.com +11flow.com +11g.com +11gai.com +11h5.com +11job.com +11k.cc +11kf.net +11lx.com +11p88.com +11pdf.com +11player.com +11qp94.com +11space.com +11sun.com +11wyx.com +11xotn7p.com +11ziyun.com +120-job.com +120.net +12011.org +120185.com +120444.com +120ask.com +120askimages.com +120bjgcyy.org +120btc.com +120dxb.com +120fd.com +120gz.com +120hpyy.com +120kaoshi.com +120kid.com +120kq.com +120top.com +120x.net +121121.net +12114job.com +12114rc.com +1212.com +12120.net +1213.me +121314.com +121ask.com +121mu.com +121xia.com +12225.com +12226.com +12227.com +122park.com +123-789.com +123-biyezheng.org +123.cc +123.com +12306.com +12306bypass.com +12308.com +123123.net +12317.com +12317wan.com +1231818.com +12333.com +12333ask.com +12333si.com +1234.cx +1234001.com +1234365r.com +123456.la +123456789.tv +123456img.com +12345good.com +12345good.net +12345szzx.com +12348.net +12349.net +1234biao.com +1234i.com +1234n.com +1234wu.com +1234wu.net +1234ye.com +1234yes.com +12354.com +12355.net +1236.com +12365auto.com +12366.com +12366.net +12366ca.com +12366cn.com +12366ns.com +123ad.com +123admin.com +123aoe.com +123baofeng.com +123bo.com +123buyu.com +123buyu.net +123cha.com +123du.cc +123ems.com +123fc.com +123haitao.com +123hala.com +123hao.com +123hdp.com +123huodong.com +123lihun.com +123meiyan.com +123menpiao.com +123nice.net +123novel.com +123qibu.com +123qy.com +123slg.com +123ths.com +123u.com +123wangsu.com +123webgame.com +123xun.com +123xyq.com +125.la +12530.com +12540.org +12580.com +12580.net +12580.tv +12580emall.com +12580jnh.com +12580study.com +12581258.com +125a.net +125edu.com +125job.com +125mx.com +125p.com +125uu.com +125visa.com +125y.com +126.am +126.com +126.fm +126.la +126.net +126blog.com +126doc.com +126g.com +126qiye.com +126ts.com +126x.com +126z.net +126ziyuan.com +127.net +1278721.com +12799.com +127tv.com +127xx.com +128456.com +1288.tv +128ic.com +128qd.com +128uu.com +12988.net +129w.com +12edu.com +12gang.com +12h5.com +12jn.com +12ky.com +12pk.com +12sporting.com +12tiku.com +12tv.net +12yao.com +12ym.com +12ystar.com +13.gs +130158.com +131.com +13112.com +1314520sz.com +131458.com +1314mylove.com +1314study.com +1314wallet.com +1314zf.com +131cc.com +1322.com +1325.com +132lawyer.com +1332vp.com +13377608388.com +133998.com +133china.com +13400.com +13482896776.com +135-139.com +135019.com +135031.com +1351.com +135309.com +135650.com +1356789.com +1356net.com +135958.com +135995.com +135bianjiqi.com +135box.com +135editor.com +135edu.com +135fa.com +135plat.com +135top.com +135yuedu.com +136.com +1360.com +136136.com +13636.com +136fc.com +136hr.com +13707.net +13720.com +1374.com +1377.com +137home.com +13800.net +138gzs.com +138top.com +138txt.com +138vps.com +139.com +139000.com +139018.com +1391.com +13910.com +139130.com +139135.com +1392189.com +13937180868.com +13973.com +139cai.com +139cm.com +139down.com +139life.com +139shop.com +139site.com +139talk.com +139w.com +139wanke.com +139y.com +139zhuti.com +13cg.com +13cr.com +13ejob.com +13fuwu.com +13gm.com +13hangpifa.com +13mobi.com +13ww.net +13xiaoshuoa.com +13yx.com +140414.com +140ed8.com +1415926.com +1415926.mobi +1415926pi.com +14294.com +14498.com +144n.com +144yd.com +1451cn.com +14583.com +147xiaoshuo.com +147xs.com +147xs.org +147xz.com +148-law.com +14866.com +1488.com +148com.com +148la.com +14hj.com +14xd.com +150072.com +150075.com +1502828.com +150cn.com +151.hk +15111223344.com +15153.com +15166.com +151733.com +1518.com +151rs.com +151top.com +151web.com +15211223344.com +152500.com +1529.org +15311223344.com +153g.net +1545ts.com +155.com +155175.com +155idc.com +15666.com +156zy.com +157120.com +15803.com +1586f.com +1588.tv +15880.com +158c.com +158jixie.com +159.com +15cdn.com +15daili.com +15gg.com +15gift.com +15hr.com +15in.com +15lu.com +15ms.com +15pb.cc +15shu.net +15solo.com +15str.com +15tianqi.com +15w.com +15wz.com +15xdd.com +15yan.com +15yc.com +15yl.com +160.com +160.me +160edu.net +160yx.com +161580.com +1616.net +16163.com +1616dh.com +1616n.com +1618.com +161gg.com +162.com +1626.com +163.cm +163.com +163.fm +163.gg +163.lu +163.net +1633.com +1633d.com +163663.com +163686.com +1637.com +163cdn.com +163cp.com +163cs.com +163data.net +163fen.com +163jiasu.com +163k.cc +163k.com +163lady.com +163mu.com +163ns.com +163pinglun.com +163py.com +163ren.com +163wh.com +163yu.com +163yun.com +164580.com +16466.com +165123.com +16587.com +16595.com +166.com +166.net +166161.com +1666.com +1668.net +1669la.com +166cai.com +166ks.net +166sh.com +166xs.cc +166zw.com +16768.com +16789.net +16816.com +16838.com +1684.cc +1684sm.com +1688.com +16885.com +16886000.com +16888.com +1688988.com +1688cdn.com +1688eric.com +1688la.com +1688na.com +1688s.com +1688yinhua.com +1688zhuce.com +16899168.com +168cb.com +168chaogu.com +168dc.com +168dns.com +168f.info +168hs.com +168job.com +168kk.com +168kn.com +168lyq.com +168pd.com +168rcw.com +168tcw.com +168tea.com +168tex.com +168tochina.com +168w.cc +168yyzj.com +168zcw.com +169.com +169163.com +169369.com +1696.com +16999.com +169gold.net +169it.com +169kang.com +169qk.com +169t.com +16boke.com +16fan.com +16game.net +16hyt.com +16ker.com +16kxsw.com +16lao.com +16lo.com +16manhua.com +16p.com +16pic.com +16rd.com +16sucai.com +16tree.com +16tz.com +16wl.cc +16xcw.com +16xx8.com +16xz.com +17.com +170.com +17025.org +170hi.com +170mv.com +170tao.com +17167.com +1716dy.com +17173.com +17173cdn.com +17173ie.com +17173v.com +17173yx.com +1717518.com +1717kf.com +1717pk.com +1717zy.com +1718001.com +1718china.com +1718world.com +171tax.com +171win.net +171zz.com +17207.com +172222.com +17284.net +172tt.com +173.com +1732.com +1732.net +17348.com +17350.com +17351.com +17369.com +173daxue.com +173eg.com +173fc.com +173funny.com +173iot.com +173kan.com +173kw.com +173on.com +173sy.com +173um.com +173uu.com +173zy.com +17446.com +17558.net +17566.com +1758.com +175club.com +175game.com +175ha.com +175kh.com +175pt.com +175pt.net +175wan.com +175wx.com +17611.com +176616.com +17666.mobi +17673.com +1768.com +176878.com +176quan.com +1773.com +1778.com +177817.com +178-go.com +178.com +178198.com +178448.com +178517.com +1787.ink +178800.cc +17888.com +178bird.com +178bit.com +178du.com +178hui.com +178linux.com +178online.com +178pt.com +178rw.com +179.com +179179.com +17937.net +1794game.com +1797wan.com +17986.net +17989.com +17admob.com +17ai.me +17avr.com +17b.net +17bang.ren +17bdc.com +17bianji.com +17byh.com +17cai.com +17caifu.com +17ce.com +17chacn.com +17chuang.cc +17coding.info +17cx.com +17daili.com +17dao.com +17dap.com +17dawan.com +17dm.com +17doubao.com +17dp.com +17emarketing.com +17fanwen.com +17fee.com +17fengguo.com +17fengyou.com +17fifa.com +17firefox.com +17font.com +17forex.com +17g.com +17game.com +17gaoda.com +17getfun.com +17gwx.com +17haibao.com +17heli.com +17house.com +17hpl.com +17huang.com +17itou.com +17ivr.com +17jita.com +17k.com +17kf.cc +17kgk.com +17kgl.com +17kjs.com +17koko.com +17kouyu.com +17kshu.net +17kuxun.com +17kxgame.com +17kxs8.com +17lewan.net +17liuxue.com +17ll.com +17luyouqi.com +17m3.com +17maimaimai.com +17meiwen.com +17mf.com +17miyou.com +17mqw.com +17mr.org +17ms.com +17neo.com +17oh.com +17ok.com +17oko.com +17palyba.com +17pr.com +17python.com +17qcc.com +17qread.com +17rd.com +17rd.net +17read.com +17sct.com +17shouhui.com +17sucai.com +17syi.com +17sysj.com +17tanwan.com +17taotaoa.com +17taotaob.com +17taotaoba.com +17taotaoc.com +17tcw.com +17tigan.com +17track.net +17tui.cc +17tx.com +17u.com +17u.net +17u1u.com +17u7.com +17ugo.com +17uhui.com +17uhui.net +17ukulele.com +17uoo.com +17usoft.com +17usoft.net +17uxi.com +17v5.com +17vsell.com +17wan7.com +17wanba.com +17wanxiao.com +17wclass.com +17weike.com +17weixing.com +17wendao.com +17win.com +17ww.cc +17xie.com +17xlm.com +17xsj.com +17xueba.com +17xxl.com +17ya.com +17yaoqu.com +17yc.com +17ym.org +17you.com +17yucai.com +17yund.com +17yy.com +17yyba.com +17zhaogong.com +17zhidao.com +17zhiliao.com +17zhuangxiu.com +17ziti.com +17zixue.com +17zub.com +17zuoye.com +17zuoye.net +17zwd.com +18.cm +180102.com +180268900.com +18095.com +180qt.com +181230.com +18183.com +181839.com +1818hm.com +181ps.com +181ue.com +182208.com +183me.com +183post.com +183read.com +18488.com +185185.com +186078.com +1866.tv +18665348887.com +186688.com +187801.com +188.com +188158.com +1884933.com +18856.com +188628.com +1886zuche.com +1888.com.mo +188app.xyz +188bifen.com +188cf.net +188diaoche.com +188doc.com +188hi.com +188lanxi.com +188mb.com +188naicha.com +188soft.com +188wan.com +188yd.com +1892139.com +1895m.com +189cha.com +189cube.com +189ebuy.com +189jxt.com +189key.com +189qas.com +189read.com +189read.net +189sec.com +189smarthome.com +189store.com +189works.com +189yo.com +189young.com +18caijing.com +18chonglou.com +18cp.vip +18dao.com +18dao.org +18daxue.com +18dx.com +18guanjia.com +18kf.net +18ladys.com +18link.com +18lipin.com +18o8.com +18ph.com +18qiang.com +18shuwu.com +18shuwu.net +18touch.com +18vps.com +18wk.com +18xs.org +18yangzhi.com +18yl.com +18zg.com +18zhuanqian.com +18zw.com +1903it.com +1905.com +1905kk.com +190757.com +191.com +19196.com +1919game.net +192ly.com +1931.com +1937cn.com +193839.com +193sa.com +1947.cc +1949idc.com +195155.com +195855.com +19687.com +197946.com +197c.com +198254.com +19831110.com +198358.com +198424.com +198503.xyz +198526.com +198526.net +1985cd.com +1985t.com +1987.name +1988.tv +19888.tv +1988wp.com +1988zp.com +198game.com +198game.net +198w.net +199508.com +1997sty.com +1998mall.com +1999019.com +1999dns.com +1999year.com +199it.com +199u2.com +199yt.com +199zw.com +19kan.com +19lou.com +19lou.tw +19mi.net +19ued.com +19where.com +19xsf.com +19yxw.com +19zhan.com +1an.com +1ang.com +1aq.com +1b23.com +1biaozhun.com +1biqu.com +1bus.net +1cae.com +1caifu.com +1caitong.com +1checker.com +1cloudsp.com +1cnmedia.com +1cno.com +1cnw.com +1d1d100.com +1d9z.com +1dao99.com +1dfa.com +1diaocha.com +1diary.me +1domedia.com +1drj.com +1drv.ws +1dufish.com +1dume.com +1dusou.com +1dutm.com +1f11.com +1fenda.com +1foo.com +1fqw.com +1g1g.com +1g31.com +1gbru.com +1gesem.com +1ggame.com +1gjh.com +1haigtm.com +1hangye.com +1hcang.com +1hhd.com +1hkt.com +1hshop.com +1huamu.com +1i580.com +1iptv.com +1j1x.net +1jduan.com +1jiaa.com +1jiajie.com +1jian.fun +1juzi.com +1k2k.com +1ka123.com +1kapp.com +1ke.net +1kejian.com +1kg.org +1kj.com +1kj.tv +1kkk.com +1kmxc.com +1kongzhifa.com +1ksz.com +1kuang.com +1kx.me +1kxun.com +1ky.biz +1lan.tv +1lewen.com +1look.tv +1lou.com +1lzs.com +1m.net +1m3d.com +1m6.cc +1m85.com +1mall.com +1mao.cc +1mayi.com +1meiyiliao.com +1mfg.com +1miba.com +1mifudao.com +1mingpian.com +1mishu.com +1mit.com +1mm8.com +1mod.org +1more.com +1mpi.com +1mtime.com +1mushroom.com +1mxian.com +1n11.com +1nami.com +1news.cc +1nongjing.com +1nsou.com +1nyz.com +1o26.com +1p1g.com +1peixun.com +1pm2.com +1ppt.com +1q2q.com +1qa.link +1qfa.com +1qianbao.com +1qwe3r.com +1qyl.com +1r1g.com +1rtb.com +1safety.cc +1sapp.com +1shang.com +1shangbiao.com +1sheng.com +1shoucang.com +1sj.tv +1sohu.com +1stacks.net +1stchip.com +1stjc.com +1t1t.com +1tai.com +1tdw.com +1techan.com +1textile.com +1thx.com +1tieba.com +1ting.com +1tjob.com +1tong.com +1tu-design.com +1tu.com +1tu1.com +1uke.com +1uuc.com +1v1offcn.com +1vp.me +1wandian.com +1wang.com +1wii.com +1x3x.com +1xiezuo.com +1xz.com +1y.com +1y0g.com +1y2y.com +1yabc.com +1yaoda.com +1yb.co +1yd.me +1yee.com +1ykh.com +1yltao.com +1yun.cc +1yyg.com +1zhangdan.com +1zhao.org +1zhe.com +1zhengji.com +1ziyou.com +1zjob.com +1zr.com +1zu.com +1zw.com +2-01-5830-0005.cdx.cedexis.net +2-class.com +2-mm.net +2.gy +20.com +200.net +2000200.com +2000888.com +2000dns.com +2000new.com +2000y.net +2002000.xyz +200218.com +2003dns.com +20063365.com +2006q.com +2008php.com +2008red.com +2008zjj.com +2009.name +200call.com +200wan.com +200y.com +201061.com +201201.com +20130123.com +2013xp.com +2014.mobi +2014w7.com +201551.com +2016ruanwen.com +2016win10.com +20174555.com +20176699.com +2017taoke.com +2018jsybh.com +2018zjjly.com +2019cdac.com +2019zjj.com +2020071703.com +202030.com +2020zjj.com +2021.com +2029.cc +202m.com +202wan.com +2048sj.com +204u.com +205.com +206dy.com +2080ly.com +2088062.com +2088063.com +208xs.com +2095114.com +20biquge.com +20ju.com +20qu.com +20xs.cc +20xue.com +20z.com +21-mars.com +21-rent.com +21-sun.com +2100xs.com +210166.com +210997.com +210z.com +2115.com +211600.com +211ic.com +211lx.com +211zph.com +212300.com +2125.com +21263.net +2128.net +2133.com +21373.com +2144.com +2144gy.com +214yx.com +21511fff.com +2155.com +217.net +217play.com +217wo.com +218257.com +218318.com +218573.com +218574.com +218953.com +218996.com +2197079.com +21bcr.com +21bowu.com +21cake.com +21cbr.com +21ccnn.com +21cd.com +21ce.cc +21cn.com +21cn.net +21cnev.com +21cnimg.com +21cnjy.com +21cnjy.net +21cnlunwen.com +21cos.com +21cp.cc +21cp.com +21ctest.com +21dagong.com +21datasheet.com +21dianyuan.com +21edu8.com +21ejob.com +21eline.com +21epub.com +21fid.com +21food.com +21hh.com +21hubei.com +21hubei.net +21hulian.com +21ic.com +21icsearch.com +21ido.com +21jingji.com +21jrr.com +21js.com +21kan.com +21ks.net +21kunpeng.com +21ld.com +21maoyi.com +21mcu.com +21mingshi.com +21mmo.com +21momo.com +21na.com +21nowart.com +21ou.com +21our.com +21qa.net +21qphr.com +21rcw.com +21rv.com +21shhr.com +21shipin.com +21shte.net +21smov.com +21so.com +21softs.com +21spv.com +21sq.org +21tb.com +21tea.com +21tjsports.com +21tx.com +21tyn.com +21uv.com +21vbluecloud.com +21viacloud.com +21vianet.com +21voa.com +21wecan.com +21wenju.com +21wmd.com +21ww.cc +21xc.com +21xianhua.com +21xl.info +21xuema.com +21yod.com +21yq.com +21ytv.com +21yunwei.com +21zbs.com +21zixun.com +21znw.com +22-dns.com +22.com +221234.xyz +2213.com +221316.com +221400job.com +22145.com +2217.com +221700.com +222.com +222255268.com +222bz.com +222i.net +223.com +223.so +22332008.com +2239.com +224.com +22442400.com +2247.com +224700.com +224922.com +225721.com +2258.com +22588888.com +2264125.com +2264197.com +2265.com +226500.com +226531.com +226y.com +2280.com +2281wa.ren +2288.org +2295.com +2298.com +22baobei.com +22dm.com +22doc.com +22edu.com +22eez.com +22evil.com +22ff.com +22hd.com +22hyk.com +22ja.com +22k9.com +22lianmeng.com +22lrc.com +22m6.com +22mt.in +22n.com +22net.com +22plc.com +22shop.com +22tianbo.com +22vd.com +22zryx.com +22zw.com +22zy.net +2300sjz.com +230596.com +230book.com +230tm.com +231122.com +231327.com +2323u.com +2323wan.com +232485.com +232929.com +233.com +233000.com +2333u.com +23356.com +233863.com +2339.com +233d.net +233i.me +233lyly.com +233o.net +233py.com +233wo.com +233ww.net +233xiao.com +233xyx.com +234.com +2344.com +2345.cc +2345.com +2345.gd +2345.net +23456v.com +2345a.com +2345ac.com +2345cdn.net +2345daohang.com +2345download.com +2345ff.com +2345licai.com +2345mbrowser.com +2345soso.com +234du.com +234f.com +2356.com +236400.com +236501.xyz +2366.com +2366app.com +23673.com +236z.com +237y.com +238.com +2380.in +2380.ml +239900.com +23bei.com +23book.com +23class.com +23code.com +23cpc.com +23do.com +23du.com +23ee.net +23hh.net +23job.net +23kmm.com +23ks.com +23lvxing.com +23qb.com +23qb.net +23sk.com +23txt.com +23us.cc +23us.la +23us.so +23us.tv +23us23us.com +23wow.com +23wx.cc +23wx.io +23wx.la +23wxw.com +23xs.cc +23xs.tv +23xsba.cc +23xsw.cc +23yy.com +240yx.com +243ty.com +244101.cc +246546.com +2478.com +248.com +2481e.com +248xyx.com +249m.com +24beta.com +24haowan.com +24hmb.com +24hxf.net +24jz.com +24k99.com +24ker.com +24kplus.com +24kwx.com +24maker.com +24money.com +24om.com +24pay.net +24timemap.com +24u7tos.com +2500.tv +25000li.com +2500city.com +2500fang.com +2500sz.com +250sy.cc +251633.com +2529.com +2529212.com +253.com +253952.com +253u.com +2541.com +254game.com +255616.com +2556r.com +25591.com +2566u8.com +256app.com +256game.com +25752.com +258.com +258288.com +25838yn.com +25847.com +25863.com +2588.tv +25892.com +258ch.com +258fuwu.com +258jituan.com +258sd.com +258zw.com +25992.com +259go.com +25az.com +25dx.com +25game.com +25ku.com +25mao.com +25nc.com +25pp.com +25pyg.com +25un.com +25vi.com +25wy.com +25xm.com +25xt.com +25yi.com +25yz.com +26-degree.com +260.net +263.com +263.net +263em.com +263fc.com +263idc.com +263idc.net +263vps.com +263xmail.com +263y.com +263ytx.com +263zw.com +264006.com +265.com +2656000.com +26595.com +265g.com +265o.com +265ps.com +265tv.com +266.la +266555c.com +266wan.com +2678.com +267gg.com +268275.com +26830.com +268363.com +268593.com +2686.com +268612.com +268616.com +2688.com +268888.net +268v.com +269.net +26923.com +26abc.com +26ef.com +26host.com +26joy.com +26ksw.com +26lady.com +26tc.com +26wp.com +26youxi.com +26yx.com +270top.com +27270.com +2727u.com +273u.com +275st.com +277sy.com +279.com +2799web.com +279wo.com +27aichi.com +27dt.com +27dy.com +27dyy.com +27k.cc +27l.com +27lmfq.com +27lvpai.com +27tj.com +27ws.com +27yx.com +28.com +2800.so +280xs.com +281010.com +28123.com +2827.com +28493.com +285868.com +2858999.com +285u.com +288288dy.com +288966.com +288idc.com +289.com +2898.com +28beiduo.com +28hotel.com +28ka.com +28kai.cc +28khy.com +28rv.com +28sn.com +28tui.com +28u.org +28weixinqun.com +28xg.com +28xl.com +28y.com +28y3.com +28yj.com +2918.com +29293.com +2929gou.com +293.net +29365.bet +2952.cc +29663.com +296u.com +29797.com +298.name +2980.com +2981.com +298app1.com +2990.com +299906.com +29dnue.com +29gl.com +29xf.com +29yx.com +2abc8.com +2av7.com +2baxb.me +2bkw.com +2broear.com +2brui.com +2btu.com +2caipiao.com +2ccc.com +2chcn.com +2cloo.com +2cname.com +2cor9.com +2cp.com +2cq.com +2cto.com +2cycd.com +2cyxw.com +2cyzx.com +2d3d5d.net +2dan.cc +2danji.com +2df.me +2dfire.com +2dfire.info +2di.cc +2dianying.net +2du.net +2dyou.com +2f.com +2fc5.com +2fz1.com +2gei.com +2gxw.com +2hanju.com +2hanjutv.com +2haohr.com +2heng.xin +2hua.com +2i0vw.com +2ibook.com +2ic.cc +2ita.com +2j88.com +2jianli.com +2k2k.com +2kandy.com +2ktq.com +2ktvb.com +2kxs.org +2kz.net +2liang.net +2lieqi.com +2loveyou.com +2m2j.com +2mdn.net +2mjob.com +2mould.com +2or3m.com +2p.com +2pcdn.com +2pmob.com +2q10.com +2q1q.com +2qbb.com +2r3r.com +2rich.net +2shihui.net +2shoujie.com +2shu8.cc +2sitebbs.com +2smtc.com +2sx.net +2tianxin.com +2tx.com +2uxs.com +2v8d.com +2vc00.com +2w.cm +2weima.com +2xiazai.com +2y9y.com +2yuanma.com +2yuanyy.com +2yun.com +2yup.com +2zfzly.com +2zhk.com +2zimu.com +2zzzzzz.com +30.com +30.net +3000.com +300011facai.xyz +300033.info +3000api.com +3000idc.com +3000soft.net +3000test.com +3000xs.com +3001.net +300113.com +300400.net +300624.com +300avs.com +300hu.com +300p.com +300ppt.com +300zi.com +301688.com +301773.com +301mba.com +301nn.com +301tz.cc +301zhuanfa.com +30200t.com +30200x.com +3023.com +3033c.com +306t.com +308308.com +309yy.com +30c.org +30cgy.com +30cn.net +30dj.com +30ka.com +30nl.net +30play.com +30px.com +30tqyb.com +30w.net +30xz.com +31.com +310game.com +310s-2520.com +310tv.com +310win.com +311100.com +311wan.com +312168.com +312green.com +312yy.com +313.com +3131tyc.com +313515.com +31365y.com +3145.com +314pay.com +3150315.com +315034.com +3158.com +315banzhao.com +315che.com +315fangwei.com +315hyw.com +315i.com +315online.com +315sc.org +315tech.com +315wangdai.com +315weishi.com +315z.net +315zqgl.com +315zw.com +315zww.com +31609.com +317608.com +317hu.com +3188.la +318ek.com +31966.net +3198.com +3199.com +319n.com +31alu.com +31bear.com +31bxg.com +31byq.com +31bzjx.com +31cg.com +31expo.com +31fabu.com +31food.com +31games.com +31gcjx.com +31gear.com +31huiyi.com +31jc.com +31jf.com +31jgj.com +31jiaju.com +31jmw.com +31jxw.com +31knit.com +31mada.com +31martech.com +31meijia.com +31mold.com +31myhome.com +31pump.com +31rzp.com +31seal.com +31sjjx.com +31spjx.com +31taoci.com +31wj.com +31xj.com +31xjd.com +31xs.com +31xs.net +31xs.org +31yarn.com +31yj.com +31zscl.com +320106.com +3207.com +3208.net +320921.com +321200.com +321274.com +321ba.com +321cad.com +321cy.com +321dai.com +321fenx.com +321go.com +321kaishi.com +321key.com +321mh.com +321zou.com +322wl.com +3230.com +3234.com +323507.com +324.com +3250mh.com +3259.com +32800.com +3289.com +328f.com +32bh.com +32ka.com +32r.com +32wan.com +32yx.com +33.com +330123456.com +3304399.com +3304399.net +33105.com +331234.xyz +3312345.com +331ka.com +3320.net +3321.com +3322.cc +3322.net +3322.org +3323.com +3323399.com +332831.com +333-555.com +3331909.com +3332025.com +3332219.com +3332235.com +3332358.com +3332600.com +33331.com +333333.com +3335665.com +33360.com +3336637.com +3336639.com +3336653.com +3336657.com +333666999.club +3336672.com +3336673.com +3336683.com +3336691.com +3337726.com +3337729.com +3337736.com +3337739.com +3337751.com +3337756.com +3337765.com +3337780.com +3337781.com +3337782.com +3337783.com +3337785.com +3338613.com +3338635.com +3338637.com +3338651.com +3338653.com +3338656.com +3338659.com +3338675.com +3338808.com +3338863.com +3339auto.com +333ck.com +333cn.com +333job.com +333ku.com +333lh.cc +333racing.com +333y3.com +334433.xyz +3344u.com +33519.com +3361.com +3366.com +3366.net +336655.com +3366722.com +336688.net +3366img.com +3367.com +337000.com +337y.com +338336.com +3387.com +3389dh.com +3393.com +33app.net +33bus.com +33cp.com +33hei.com +33ip.com +33iq.com +33jianzhi.com +33jzw.com +33ly.com +33map.com +33map.net +33oncall.com +33or.com +33sp.com +33trip.com +33xs.com +33yq.com +34.com +341666666.com +3456.com +3456.tv +34580.com +345fk.com +345k.com +345kam.com +3464.com +3499.co +34dm.com +34ey.cc +34job.com +34l.com +34wl.com +34xiaoshuo.com +35.com +350.com +350.net +3500.com +350200.com +350abc.net +350bbs.net +3511.net +352.com +3520.net +352200.com +3525.com +35321.com +3533.com +3551.com +355xx.com +356123.com +35666c.com +35667.com +356688.com +3566t.com +357.com +357global.com +358.com +35941.com +3595.com +35ba.com +35dalu.com +35dxs.com +35free.net +35go.net +35hw.com +35inter.com +35kds.com +35mei.com +35nic.com +35pic.com +35q.com +35rc.com +35vvv.com +35zww.com +36.la +360-bo.tv +360-g.net +360-game.net +360.cm +360.com +360.net +3600.com +3600.net +3600d.com +3600du.com +360114.com +360118.com +36099.com +360abc.com +360aiyi.com +360anyu.com +360bifen.net +360biji.com +360bike.net +360buy.com +360buyimg.com +360byd.com +360bzl.com +360caifu.com +360cdn.com +360changshi.com +360che.com +360chezhan.com +360cloudwaf.com +360daikuan.com +360dao.com +360ddj.com +360doc.com +360doc1.net +360doc2.net +360doc26.net +360doc28.net +360doc31.net +360doc33.net +360doc35.net +360doc7.net +360docs.net +360doo.com +360down.com +360drift.com +360drm.com +360edu.com +360eet.com +360eol.com +360fdc.com +360gann.com +360gogreen.com +360gtm.com +360guanai.com +360gyc.com +360haoyao.com +360hapi.com +360hitao.com +360hqb.com +360huzhubao.com +360hx.com +360hy.com +360hyzj.com +360ibm.com +360ic.com +360img.cc +360insurancemall.com +360ito.com +360jbw.com +360jk.com +360jq.com +360jrkt.com +360js.com +360jzhm.com +360kad.com +360kan.com +360kb.com +360kuai.com +360kuaixue.com +360kxr.com +360lj.com +360log.com +360longyan.com +360lvyouwang.com +360midi.com +360mkt.com +360os.com +360panyun.com +360powder.com +360qc.com +360qd.com +360qhcdn.com +360qikan.com +360qikan.net +360qws.com +360safe.com +360safedns.com +360sdn.com +360shipu.com +360shouji.com +360shouzhuan.com +360shuashua.com +360sides.com +360sok.com +360stamp.com +360tong.net +360top.com +360totalsecurity.com +360tpcdn.com +360u9.com +360uu.com +360vcloud.com +360vipshop.com +360vps.com +360vrzy.com +360wbl.com +360webcache.com +360weizhan.com +360wscdn.com +360wxw.com +360wyw.com +360wzb.com +360wzws.com +360xh.com +360xiaos.com +360xiehui.com +360xixi.com +360xkw.com +360yfw.com +360youtu.com +360yun.org +360zhai.com +360zhuizhu.com +360zhyx.com +360zimeiti.com +361.cm +361757.com +3618med.com +361a.com +361dai.com +361games.com +361mogame.com +361ser.com +361sport.com +361tuan.com +361way.com +362.cc +363.com +363322014.com +363lm.com +363u.com +364000.com +365128.com +365135.com +36543.com +365500.com +365708.com +36578.com +365960.com +365art.com +365auto.com +365autogo.com +365azw.com +365bj.com +365book.net +365care.com +365cgw.com +365chanlun.com +365che.net +365cyd.net +365daan.com +365dhw.com +365diandao.com +365digitalonline.com +365ditu.com +365dmp.com +365dxlw.com +365editor.com +365eme.com +365essay.com +365exam.com +365f.com +365gangqin.com +365haoshu.com +365heart.com +365htk.com +365huaer.com +365huifu.com +365huo.com +365ibank.com +365icl.com +365ime.com +365inews.com +365j.com +365jcw.com +365jia.com +365jiating.com +365jilin.com +365jq.com +365jw.com +365jz.com +365kan.tv +365kandian.com +365key.com +365master.com +365mini.com +365pcbuy.com +365pk.com +365pp.com +365pr.net +365pub.com +365rili.com +365sec.com +365shequ.com +365sky.com +365ta.com +365tex.com +365ttcz.com +365webcall.com +365wenku.com +365world.com +365xiaoyanzi.com +365xiazai.com +365xuet.com +365xxy.com +365yg.com +365you.com +365yyd.com +365zn.com +365zzd.com +3663.com +366300.com +366ec.com +366translation.com +36706.com +3673.com +367783.net +368mall.com +368tea.com +369110.xyz +3694c.com +369785.com +3699.cc +36992.com +3699wan.com +369beauty.com +369wenku.com +369xxw.com +36dianping.com +36dj.com +36hjob.com +36jr.com +36kr.com +36kr.net +36krcdn.com +36krcnd.com +36mh.com +36nu.com +36sfw.com +36tr.com +36ve.net +36w.co +36yc.com +36yh.com +37.com +370fd.com +370fd.net +371.com +3710167.com +371414.com +37163.com +37168.com +371fangte.com +371house.com +371love.com +371site.com +371zhongyi.com +37201.com +3721cha.com +3721ps.com +3722.com +3727.cc +37274.com +373.com +373135.com +373258.com +373294.com +3733.com +373391.com +3737.com +3737g.com +3737k.com +3737tyc.com +373820.com +373978.com +373best.com +373f.com +373house.com +373net.com +373yx.com +375263.com +375buy.com +375vip.com +37770559.com +378699.com +37937.com +3798.com +37bjw.com +37cos.com +37cs.com +37cu.com +37cy.com +37dh.com +37game2.com +37gogo.com +37gowan.com +37hr.com +37k.com +37live.com +37med.com +37pps.com +37see.com +37tang.com +37wan.com +37wan.net +37wanimg.com +37women.com +37www.com +37yue.com +37yzy.com +37zone.com +3800.cx +380852.com +380871.com +3817.com +381pk.com +38238r.com +3829.com +3837.cc +3839.com +3839app.com +3839app.net +3839img.com +3839pic.com +3839vc.com +3839video.com +383yun.com +3843zz.com +387a.com +3887.com +388kam.com +3892222.com +3895566.com +3899.net +38blog.com +38ejed.com +38fan.com +38hack.com +38hot.net +38hp.com +38hzt.com +38mhw.com +38shishang.com +38xf.com +38xinbo.com +38zj.com +39.net +391065.com +3911.com +391k.com +3937.com +3964.com +39655.com +3975.com +3975ad.com +3975ad.xyz +3975app.com +3975cdn.com +3977s.com +39ask.net +39clean.com +39cs.com +39dg.com +39ej7e.com +39fei.com +39fengliao.com +39h83s.com +39health.com +39hp.com +39jks.com +39kf.com +39kx.com +39meitu.com +39mo.com +39shubao.com +39sk.com +39txt.com +39ws.com +39yst.com +3a4.net +3a4b5c.com +3aok.com +3avox.com +3b2o.com +3bu.com +3bwx.com +3c2p.com +3chongmen.com +3cjob.com +3conline.com +3cpp.org +3cvrc.com +3cwork.com +3cwu.com +3d-stereovision.com +3d2000.com +3d2013.com +3d2s.com +3d56.net +3d66.com +3daima.com +3dbuyu.com +3dbuyu.net +3ddayin.net +3ddl.net +3ddl.org +3deazer.com +3demoo.com +3dfc.com +3dfrom.com +3dgenomics.org +3dhao.com +3dhat.com +3dhoo.com +3dinlife.com +3dinnet.com +3dkezhan.com +3dkk.com +3dkunshan.com +3dllc.cc +3dly.com +3dmax8.com +3dmaxvip.com +3dmgame.com +3dmgame.hk +3dmgame.net +3dmo.com +3dmomoda.com +3dmumu.com +3dnew.com +3doe.com +3dsc.com +3dsjw.com +3dsnail.com +3dtank.com +3dtvbits.org +3dwebyx.com +3dwwwgame.com +3dxia.com +3dxt.com +3dxuan.com +3dxy.com +3dzyw.com +3e.net +3eyes.org +3fang.com +3fantizi.com +3g-edu.org +3g210.com +3g2win.com +3g3h.org +3g567.com +3g899.net +3gcomet.com +3gdisk.com +3glasses.com +3gmimo.com +3gods.com +3gogogo.com +3gosc.com +3gpda.net +3gpk.net +3gsou.com +3gu.com +3gus.com +3h3.com +3haow.com +3hbox.com +3hgui.com +3j4.com +3jdh.com +3jidi.com +3jke.com +3jrx.com +3k.com +3k3cn.com +3ke.cc +3kid.com +3kk.com +3kmq.com +3ko.com +3kongjian.com +3kr.com +3laohu.com +3laz.com +3lbrand.com +3lian.com +3lii.com +3lsoft.com +3mbang.com +3mh0yvx.com +3miao.net +3miii.com +3mtw.com +3n110.com +3nian.com +3png.com +3poo.com +3q2008.com +3qhouse.com +3qwe.com +3qzone.com +3r66.com +3renhe.net +3rkr.com +3rxing.org +3s.work +3s001.com +3s3w.com +3s78.com +3sbase.com +3scard.com +3shuwu.com +3snews.net +3songshu.com +3stl.com +3tilabs.com +3u.com +3uol.com +3us.com +3uww.cc +3v.do +3vjia.com +3vjuyuan.com +3vkj.net +3vlm.net +3vsheji.com +3wads.com +3wap.cc +3wcoffee.com +3wfocus.com +3wht.com +3wmm.com +3wnb.com +3wsw.com +3wzhaopin.com +3x88.net +3xgd.com +3xiazai.com +3y7h.com +3yoqu.com +3yx.com +3zhijk.com +3zmuseum.com +3zxsw.com +4-xiang.com +4.cm +400-lighting.com +400.com +4000278400.com +4000500521.com +4000600534.com +4000690600.com +4000730138.com +4000892990.com +4001006.com +4001006666.com +4001113900.com +4001581581.com +4001890001.com +4001961200.com +400301.com +400516.com +4006024680.com +4006026717.com +4006055885.com +4006216888.com +4006287387.com +4006339177.com +4006620996.com +4006666688.com +4006695539.com +4006906600.com +4007108885.net +4007112366.com +4007hao.com +4008000000.com +4008005216.com +4008060066.com +4008075595.com +4008103103.com +4008107107.com +4008109886.com +4008117117.com +4008123123.com +4008600011.com +4008800016.com +4008863456.com +4008885166.com +4008885818.com +4009515151.com +4009870870.com +4009991000.com +4009998797.com +400cx.com +400gb.com +400iu.com +400jk.com +400jz.com +400lyw.com +400num.com +400qikan.com +400vv.com +400web.com +402333b.com +40279.com +4040001.com +40407.com +404600.com +404forest.com +404mzk.com +404v.com +404wan.com +405400.com +406yx.com +407wan.com +4080dyy.com +40fenzhong.com +40manhua.com +40ya.com +41188.com +411au.com +4124.com +414.com +4143.cc +41443.com +41717.net +4177.com +418999.com +41fa6.icu +41fa8.icu +41fa9.icu +41game.com +41gw.com +41huiyi.com +41ms.com +41tp.com +41wan.com +41xt.com +42069.com +421.co +42144.com +423down.com +4243.net +425300.co +425yx.com +42651.com +426g.com +429006.com +42927bj.com +42927gz.com +42927xz.com +42hq.com +42trip.com +42xz.com +4311.com +4321.com +432520.com +43321.cc +43423manhua.com +435000.com +435200.com +435214.com +4355.com +4366.com +436675.com +4377.com +4377info.com +437zhifu.com +439.cc +4399-xyx.com +4399.com +4399.net +43999yx.com +4399api.com +4399api.net +4399biule.com +4399data.com +4399dmw.com +4399doc.com +4399er.com +4399hhh.com +4399i.net +4399j.com +4399pk.com +4399sj.com +4399swf.com +4399sy.com +4399wanju.com +4399youpai.com +43c55.com +43img.com +43ns.com +43zhubao.com +444333.xyz +444475.com +44485.com +4449992.com +4480.cc +44800.cc +4492.com +4493.com +44971.com +44api.com +44dt.com +44england.com +44hyk.com +44pd.com +44pq.cc +44pq.co +44te.com +44vs.com +453600.net +455261.com +45575.com +456.net +4567.tv +4567w.com +456ss.com +457.com +457920.com +458hospital.com +458kq.com +459.org +45app.com +45eee.com +45fan.com +45io.com +45ns.com +45r.com +45win.com +45xie.com +45zw.cc +462546.com +46412.com +4647.org +4658.net +466.com +4662000.com +46644.com +4671580.net +46771313.com +467835.com +4699a.com +46design.com +46kavp.com +46mlsv.com +46z5j5.xyz +47365.com +4738.com +47473.com +474b.com +4765.com +4779.com +47819.com +47gs.com +47jh.com +47ks.com +47zu.com +48.com +4823bbb.com +4846.com +48575.com +485ka.com +4864678.com +4869.cc +48855268.com +48905.com +48hao.net +49321.com +49358.com +49363.com +4948.com +4949567.com +49644913.com +496601.com +497-img.com +497.com +498.net +499-img.com +499youxi.com +49app.com +49pic.com +49wanwan.com +49you.com +49yu.com +4a40.com +4apx.com +4aqq.com +4async.com +4bvf.com +4c8t.com +4ci.cc +4cnzz.com +4cun.com +4d4c.com +4dai.com +4db.com +4dtime.com +4everdns.com +4f89.com +4fang.net +4fcom.net +4gfy.com +4ggogo.com +4gh6.com +4glte.org +4gqp.com +4gtoefl.com +4h6s.com +4hgame.com +4hou.com +4hpy.com +4inlook.com +4jplus.com +4k123.com +4kbizhi.com +4khi.com +4kmov.cc +4kong.com +4kya.com +4kyy.com +4l.hk +4lzr.com +4lzx.com +4paradigm.com +4px.com +4pyun.com +4q5q.com +4qx.net +4sjob.com +4sscrm.com +4thetooth.com +4u4v.net +4w8.net +4wad.com +4xiazai.com +4xseo.com +4y4.net +4ye.cc +4yt.net +4yx.com +5-link.com +5.hn +50-jia.com +500.com +5000.com +50004.com +5000yan.com +50018.com +500boss.com +500cache.com +500d.me +500doc.com +500gm.com +500px.me +500sucai.com +500talk.com +500tb.com +500wan.com +500wancache.com +500zhongcai.com +5011.net +501wan.com +50215.com +503118.com +50331.net +503error.com +504pk.com +5054399.com +5054399.net +505gg.com +505uu.com +5066.net +5068.com +5068yx.com +506fhq.com +507777.cc +508843.com +50970.com +50bangzh.com +50fff.net +50pk.com +50pkpk.com +50sht.com +50tu.com +50union.com +50vm.com +50yc.com +50yin.com +50zera.com +50zw.co +50zw.com +50zw.la +50zww.net +51-cf.com +51-jia.com +51-n.com +51.am +51.com +51.design +51.la +51.net +5100.net +51008.com +510560.com +510ka.com +510yh.cc +511.la +511023.com +51110.com +51119.com +51168.tv +5117.com +511718.com +5117tools.com +5118.com +5118img.com +511god.net +511mv.com +511wan.com +511yj.com +5120.com +5120bb.com +51240.com +51269017.com +512play.com +512wx.com +5132.com +513523.com +5137.cc +51386.com +513c51.com +513hjs.com +514193.com +514200.com +51508.com +5151.com +51511.com +515158.com +5151doc.com +5151sc.com +5153.com +51555.net +51569.com +5156edu.com +5156rcw.com +515app.com +515car.com +515fa.com +515ha.com +515ppt.com +51658042.com +51661182.com +51663.net +5166ys.com +516a.com +516edu.com +516ly.com +516tx.com +5173.com +5173cdn.com +517best.com +517dv.com +517ee.com +517hotel.com +517huizhou.com +517huwai.com +517idc.com +517japan.com +517kk.cc +517lppz.com +517ming.com +517mr.com +517rcw.com +517sc.com +517tez.com +517w.com +517xc.com +517zp.com +5184.com +51845.com +5184edu.com +5184pass.com +5185.cc +51864.com +5187g.com +5188.com +5188ab.com +518ad.com +519.best +519397.com +51969.com +51985.net +5199.cc +5199.com +5199658.com +519rv.com +51ade.com +51ads.com +51adxfly.com +51aimei.com +51aistar.com +51aiwan.com +51anidea.com +51ape.com +51app.com +51ask.org +51asm.com +51aspx.com +51auto.com +51autogo.com +51autoimg.com +51awifi.com +51babybuy.com +51baigong.com +51banban.com +51banhui.com +51baoku.com +51baoshui.com +51baoxiu.com +51baozhanggui.com +51bbo.com +51bdtime.com +51besttea.com +51bi.com +51biaoqing.com +51biz.com +51bjrc.com +51bmb.com +51bonli.com +51bos.com +51bras.com +51btceth.com +51btv.com +51bushou.com +51businessview.com +51buy.com +51bxg.com +51bzi.com +51cacg.com +51callcenter.com +51callu.net +51camel.com +51ccdn.com +51cdcs.com +51cdn.com +51chang.com +51changdu.com +51changdu.xyz +51changmi.com +51changshi.com +51changxie.com +51chaoban.com +51checai.com +51chongdian.net +51chost.com +51chuguo.org +51chuli.com +51cir.com +51cjyy.com +51cma.org +51code.com +51cok.com +51comp.com +51coolpad.com +51cpm.com +51credit.com +51csr.com +51css.com +51cto.com +51cube.com +51cunzheng.com +51cxd.com +51daao.com +51dai.com +51daifu.com +51daima.com +51dangpu.com +51daquan.com +51daxueedu.com +51dc.com +51devapp.com +51diangu.com +51din.com +51dingxiao.com +51ditu.com +51dmq.com +51dns.com +51dojoy.com +51dongshi.com +51down.vip +51dpub.com +51drv.com +51dtv.com +51dugou.com +51dumo.com +51dzrc.com +51dzt.com +51dzw.com +51ean.com +51ebo.com +51ebooks.com +51edu.com +51eduline.com +51eim.com +51ejz.com +51ekt.com +51ele.net +51emo.com +51en.com +51epei.com +51eshop.com +51etong.com +51eway.com +51eyun.com +51f.com +51facai.com +51fangan.com +51fankui.com +51fanli.com +51fanli.net +51fdc.com +51feels.com +51feibao.com +51findshop.com +51flrc.com +51fmzg.com +51fpg.com +51fubei.com +51fucai.com +51fund.com +51fxkj.com +51fxzq.com +51fytx.com +51g3.com +51g3.net +51g4.com +51gaifang.com +51gcw.com +51geeks.com +51gfl.com +51gfw.com +51ggd.com +51ggwu.com +51gh.net +51gif.com +51give.org +51gjie.com +51gjj.com +51gme.com +51golife.com +51gongjijin.com +51gouke.com +51goupiao.com +51gowan.com +51gran.com +51great.org +51growup.com +51gsl.com +51guanhuai.com +51guoji.com +51h5.com +51hanghai.com +51hangkong.com +51hanhua.com +51haofu.com +51haojob.com +51hcb.com +51hchc.com +51hcw.com +51hei.com +51hejia.com +51hika.com +51hjgt.com +51hjk.com +51hlife.net +51hosting.com +51hostonline.com +51hsw.com +51huanhuan.com +51huaxin.net +51huaya.com +51hunningtu.com +51hvac.com +51hwzy.com +51ias.com +51ibm.com +51idc.com +51ielts.com +51ifind.com +51ifonts.com +51img1.com +51img2.com +51img3.com +51img5.com +51img6.com +51img7.com +51imo.com +51ios.net +51itapp.com +51itstudy.com +51iwifi.com +51ixuejiao.com +51jam.com +51jiabo.com +51jiameng.com +51jianxie.com +51jiaxiao.com +51jiecai.com +51jiemeng.com +51jingke.com +51jingying.com +51jinhuan.com +51jishu.com +51jiuhuo.com +51job.com +51jobcdn.com +51jobdns.com +51joyfish.com +51js.com +51jt.com +51jucaimi.com +51julebu.com +51junshi.com +51jyrc.com +51jyzs.com +51kahui.com +51kaiye.com +51kanong.com +51kaowang.com +51kaxun.com +51kehui.com +51kids.com +51kik.com +51kt.com +51ktbyte.com +51kupai.com +51kupin.com +51kywang.com +51la.net +51labour.com +51laizhe.com +51langtu.com +51ldb.com +51ldzx.com +51lexing.com +51lg.com +51lifes.com +51lingji.com +51liucheng.com +51ljms.com +51lucy.com +51lunwenwang.com +51luying.com +51lvh.com +51lyrc.com +51mag.com +51maimiao.com +51maiquan.com +51marryyou.com +51mdq.com +51meigu.com +51meiliao.com +51meishu.com +51microshop.com +51miit.com +51mike.com +51minbingtuan.net +51miz.com +51mkf.com +51mockup.com +51modo.cc +51mokao.com +51mole.com +51moot.net +51mrp.com +51mta.com +51mtw.com +51nac.com +51nazhun.pub +51nb.com +51nicelearn.com +51niux.com +51nod.com +51nuoqi.com +51nwt.com +51ofc.com +51offer.com +51okf.com +51onb.com +51oneone.com +51onion.com +51only.com +51open.net +51opone.com +51ops.com +51osos.com +51pao.net +51papers.com +51pbnet.com +51pec.com +51peptide.com +51pgzs.com +51php.com +51piaozi.com +51pibu.com +51pigai.com +51ping.com +51pintan.com +51pinwei.com +51pjys.com +51pla.com +51pocket.com +51pocket.net +51pos.com +51pot.com +51pptmoban.com +51psj.com +51puer.com +51qc.com +51qc.net +51qianduan.com +51qianguo.com +51qianvisa.com +51qicheng.com +51qilv.com +51qingjiao.com +51qinxue.com +51qqt.com +51qtg.com +51qub.com +51qudao888.com +51qudong.net +51qufx.com +51qumi.com +51qupu.com +51quzhe.com +51rc.com +51rcsl.com +51read.site +51reboot.com +51rencai.com +51render.com +51renpin.com +51renxing.com +51report.com +51rong.com +51rp.com +51rry.com +51rz.com +51rz.org +51sai.com +51sanhu.com +51scb.com +51sdjob.com +51search.net +51seer.com +51self.com +51serive.com +51sgg.cc +51share.net +51shebao.com +51shebao.org +51sheyuan.com +51shiping.com +51shop.ink +51shoubei.com +51shoufei.net +51shoushi.com +51shubiao.com +51shuobo.com +51shyc.com +51signing.com +51simple.com +51sjk.com +51sky.net +51sole.com +51songguo.com +51speeds.com +51spjx.com +51suitui.com +51sxue.com +51syoo.com +51talk.com +51talkenglish.com +51tanbao.com +51tao.com +51taonan.com +51taoshi.com +51taowei.com +51taoyang.com +51tb.me +51test.net +51testing.com +51testing.net +51testing.org +51tfb.com +51tiangou.com +51tie.com +51tietu.net +51tijian.com +51ting.com +51tingyi.com +51toefl.com +51tonglu.com +51tools.info +51toro.com +51touch.com +51toufang.com +51tour.com +51touxiang.com +51tra.com +51tracking.com +51ttxue.com +51tuiyi.com +51tunhuo.com +51tuodao.com +51tuz.com +51tv.com +51tv.net +51tvbao.com +51tvrom.com +51tyty.com +51tz.com +51uc.com +51ukf.com +51uyi.com +51uyun.com +51vhost.net +51vimeo.com +51vip.biz +51vs.com +51vv.com +51wan.com +51wangdai.com +51wanquan.com +51wcity.com +51web.com +51websec.com +51weihu.com +51wendang.com +51wf.com +51wincai.com +51windows.net +51wj.com +51wjrc.com +51wnl-cq.com +51wnl.com +51wofang.com +51world.win +51wp.com +51wtp.com +51wxjz.com +51wydj.com +51wyfl.com +51wyrc.com +51wzg.com +51wzxz.com +51xbl.com +51xbx.com +51xcrc.com +51xgjd.com +51xiancheng.com +51xianwan.com +51xiaohua.com +51xiaolu.com +51xie.com +51xingjy.com +51xpj.com +51xue8.com +51xuetang.com +51xuewen.com +51xuexiaoyi.com +51xumei.com +51xxs.com +51xxziyuan.com +51y5.com +51y5.net +51yabei.com +51yala.com +51yam.com +51yangsheng.com +51yanwang.com +51yasai.com +51yes.com +51yey.com +51yhdai.com +51yilu.com +51yip.com +51yjsteel.com +51ykb.com +51yonggao.com +51you.com +51youcai.com +51youdian.com +51yougo.com +51youth.com +51youz.com +51ys.com +51ysrc.com +51yuansu.com +51yue.net +51yuepin.com +51yueqian.com +51yuexin.com +51yund.com +51yundong.me +51yunli.com +51yuu.com +51zan.com +51zbz.com +51zbz.net +51zd.net +51zhangdan.com +51zhantai.com +51zhaobizhi.com +51zheduoduo.com +51zhengxin.com +51zhi.com +51zhishang.com +51zhiyuan.net +51zhizhao.com +51zhucai.com +51zhujia.com +51zishentang.com +51zixuewang.com +51zjxm.com +51zmt.net +51zpyc.com +51zr.com +51zsjc.com +51ztzj.com +51zupu.com +51zx.com +51zxw.net +51zyrc.com +51zyzy.com +51zzl.com +52-ic.com +520.com +520.net +5200.net +5200cc.com +5200e.com +5200wx.com +520101.com +520520520520520.com +520520bo.com +520730.com +5207758.com +52088.cc +52091w.com +520990.com +520apk.com +520cai.net +520cc.com +520cfc.com +520discount.com +520fx.com +520hhht.com +520im.com +520it.com +520jiabo.com +520jita.com +520lbl.com +520ldf.com +520link.com +520love520.com +520meirenyu.com +520meirong.com +520mingmei.com +520mojing.com +520mwx.com +520sz.com +520wawa.com +520way.com +520wenshen.com +520xbw.com +520xiazai.com +520xp.com +520xst.com +520yidui.com +520z-2.com +520zg.net +520zuowens.com +52112.com +52114.org +52115211.com +5211game.com +52177.com +521che.com +521logo.com +521qw.com +521rmb.com +521ro.com +521szlx.com +521tieba.com +521up.com +52237377.com +522g.com +523333.com +5234444.com +52372.com +523touzi.com +523us.com +525.life +5251.net +5251yx.com +5252e.com +5253.com +5254.com +5257.com +5258.net +5258da.com +525jmall.com +5262.com +52676.com +526net.com +527578.com +5277.com +527meeting.com +527pk.com +527u.com +5281.com +52841819.com +528500.com +528529.com +52892.com +528day.com +5293.com +5299shop.com +529c31.com +52ae.cc +52ai.com +52ali88.com +52analysis.com +52article.com +52as.com +52asus.com +52asy.xyz +52audio.com +52ayw.com +52bar.com +52bendi.com +52biquge.com +52bji.com +52bjy.com +52blackberry.com +52bookshop.com +52bqg.com +52bss.com +52bus.com +52by.com +52cake.net +52ch.net +52che.com +52cik.com +52ckd.com +52click.net +52codes.net +52da.com +52daohang.com +52debug.net +52design.com +52dfg.com +52dgs.net +52digua.com +52dmtp.com +52dns.com +52doc.com +52dr.net +52dtv.com +52dyy.com +52dzc.com +52dzxy.com +52ebook.com +52edy.com +52enku.com +52fangzi.com +52flac.com +52fuqing.com +52fuqu.com +52game.org +52gg.com +52ggd.com +52ghai.com +52grz.com +52guixi.com +52gvim.com +52hardware.com +52hejia.com +52help.net +52hibuy.com +52hotel.net +52hrtt.com +52hrttpic.com +52hxw.com +52ig.net +52ij.com +52im.net +52investing.com +52inwet.com +52itstyle.com +52itstyle.vip +52jbh.com +52jbj.com +52jdyy.com +52jialejia.com +52jiaoshi.com +52jingsai.com +52jisu.com +52jrjy.com +52js8.com +52jscn.com +52jt.net +52jubensha.com +52jxt.com +52jying.com +52kanxiaoshuo.com +52kb365.com +52kfly.com +52khs.com +52liaoshen.com +52life.cc +52linglong.com +52linux.tech +52lion.com +52lishi.com +52lvyou.com +52mac.com +52maicong.com +52mba.com +52mengdong.com +52mhw.com +52miji.com +52miniapps.com +52ml.net +52mtc.com +52muyou.com +52njl.com +52njl.net +52opencourse.com +52pachong.com +52pcfree.com +52ph.com +52pi.com +52pi.net +52pictu.com +52pjb.net +52pk.com +52pk.net +52pkvr.com +52playpc.com +52podcast.com +52pojie.com +52ppt.com +52print.com +52qixiang.com +52qj.com +52qmct.com +52qqba.com +52qudao.com +52queji.com +52qumao.com +52ra3.com +52rd.com +52rd.net +52rental.com +52samsung.com +52shangou.com +52shici.com +52shijing.com +52shipping.com +52shouyu.com +52shufa.net +52shuw.cc +52shuxue.com +52sichou.com +52solution.com +52souji.net +52souluo.com +52soutu.com +52survey.com +52svip.cc +52svn.com +52sykb.com +52t1.com +52tc.co +52tc.info +52tech.tech +52tgfc.com +52tian.net +52tiny.com +52toys.com +52tps.com +52tq.net +52tql.com +52tt.com +52udl.com +52ugame.xyz +52unicode.com +52uyn.com +52vr.com +52vrdy.com +52waha.com +52wana.com +52wanh5.cc +52wendang.com +52wlw.com +52wmb.com +52wubi.com +52xiaomian.com +52xiaoshuowang.com +52xiaoyuan.net +52xie.com +52xinmiao.com +52xintaidu.com +52xinyou.com +52xitong.com +52xiuxian.com +52xiyou.com +52xpp.com +52xtxs.com +52xyz.com +52yawa.com +52yesu.com +52yh.com +52yifei.com +52ykjob.com +52youju.com +52youpiao.com +52youtu.com +52ywan.com +52yww.com +52yxyx.com +52z.com +52zhaopin.com +52zhizuo.com +52zhushan.com +52zixue.com +52zuji.net +52zwxs.com +52zx.cc +52zx.net +52zxw.com +52zy.com +52zzl.com +53.net +531314.com +5317wan.com +5321vip.com +533.com +533.net +5334.com +5336.com +5338.org +533y.com +53431.com +53471.com +535300.net +53531dcg.com +535o.com +5360jx.com +53617686.com +5366.com +53666.org +5367.com +536wx.com +537.com +5379yx.com +537a.com +538618.com +5395.com +5399.com +53chewu.com +53dns.org +53info.com +53iq.com +53kf.com +53kjw.com +53miji.com +53nic.com +53r.com +53shop.com +53shubiao.com +53tct.com +53xjd.com +53yao.com +53yu.com +53zw.net +54.com +54114.com +5433.com +545c.com +5460.net +5499.com +54benniao.com +54bk.com +54bt.com +54doctor.net +54doctors.net +54hcz.com +54heb.com +54hei.com +54im.com +54jj.com +54jkw.com +54job.com +54kefu.net +54lol.com +54manong.com +54md.com +54op.com +54pictu.com +54tf.com +54traveler.com +54tusi.com +54up.net +54yt.net +54yuqing.com +54zm.com +55.cc +55.la +55015.com +550400.com +5504ll.com +5507p.com +551335.net +55178.com +55188.com +551house.com +552283.com +5523.com +55332147.com +55344.com +5548.net +555000d3.com +5551557.com +5551650.com +5551933.com +5552009.com +55555tao.com +555dy.fun +555yst.com +555zw.com +5566.net +5567.cc +5567.me +557.net +5577.com +55779.xyz +5588.tv +5599.com +55cc.cc +55dai.com +55dian.com +55doc.com +55duanzi.com +55dushu.com +55dx.com +55e5.com +55haitao.com +55hl.com +55hl.net +55home.com +55hyk.com +55i8.com +55idc.com +55jisu.com +55jj.com +55la.com +55lady.net +55lewen.com +55shantao.com +55tuan.com +55tuanimg.com +55wz.com +55xiazai.com +55y5.com +55you.com +55zm.com +56-7.com +56.com +560.im +56015.com +560la.com +560xs.com +5611.com +56135.com +5617.com +5628l.com +5629.com +5636.com +56360.com +564.cc +5648.cc +56506666.com +5654.com +565880.com +566.com +566855.com +5669.com +566job.com +5676.com +5678la.com +567idc.com +567j.xyz +567w.xyz +5684.com +569.com +5694.com +56a.com +56ads.com +56beijing.org +56ca.com +56care.com +56china.com +56clte.org +56da.com +56dagong.com +56dichan.com +56dr.com +56en.com +56ggb.com +56gk.com +56golf.com +56img.com +56img.net +56imgs.com +56kad.com +56laile.com +56md.com +56ml.com +56mp.com +56pan.com +56php.com +56qq.com +56show.com +56shuba.cc +56shuku.org +56steel.com +56tchr.com +56tj.com +56uu.com +56wen.com +56ye.net +56zzx.com +57.net +57023.com +571400.net +571free.com +571xz.com +5721.net +5755.com +576.com +57608.com +57616.com +57665.com +5768.com +576tv.com +57821.com +579609.com +57ac.com +57auto.com +57dj.com +57dp.com +57ee.net +57fx.com +57gif.com +57go.com +57lai.com +57px.com +57qy.com +57sc.com +57tibet.com +57tuan.com +57us.com +57uu.com +57wo.com +57yy.site +57zhe.com +58.com +5800.com +580114.com +580168.com +580590.com +580ban.com +580eda.net +580jz.net +580k.com +580tequan.com +58199.com +582582.com +582hr.com +583go.com +5858.com +58611.net +5866.com +587c51.com +58801hn.com +5884.com +5887.com +5888.tv +588991.com +588art.com +588ku.com +58921.com +5898yun.com +58abb.com +58bangmang.com +58baogao.com +58bo.com +58buy.com +58che.com +58cloud.com +58coin.com +58corp.com +58cyjm.com +58czt.com +58dadi.com +58daojia.com +58display.com +58dm.com +58fangdai.com +58fenlei.com +58food.com +58game.com +58gameup.com +58ganji.com +58gush.com +58house.com +58huoban.com +58hzb.com +58img.com +58insure.com +58iwan.com +58jb.com +58jixie.com +58jurenqi.com +58kad.com +58kaifa.com +58kanshu.cc +58kasch.com +58kuaipai.com +58kuku.com +58meizhuo.com +58moneys.com +58moto.com +58net.com +58pic.com +58picc.com +58q8.com +58qz.com +58supin.com +58trz.com +58tyh.com +58ubk.com +58wan.com +58wangwei.com +58wanwan.com +58wzb.com +58xinrui.com +58xs.com +58xs.la +58xs.tw +58xuexi.com +58yiji.com +58yuefu.com +58yuesao.com +58zhuiju.com +58zpw.com +59008gg.com +5906333.com +590m.com +59120.com +591234x.com +591522.com +59168.net +59178.com +5918dyw.com +5918s.com +591918.com +591change.com +591cto.com +591hx.com +591lh.com +591master.com +591moto.com +591vr.com +591wed.com +591wsh.com +591wy.com +591yhw.com +5923d.com +5925car.com +592zn.com +59313313.com +593555b.com +59370.com +593yx.com +5947.net +59490.com +5956pp.com +595818.com +595led.com +596fc.com +597.com +59706.com +597rcw.com +59881.com +598991.com +598g.com +598rc.com +599.com +5999.tv +599ku.com +59b2b.com +59di.com +59dun.com +59edu.com +59hs.com +59iedu.com +59na.com +59pk.net +59store.com +59w.net +59wj.com +59yx.com +5a3q.com +5a49.com +5a8.org +5aaa.com +5acbd.com +5adanhao.com +5ag.net +5agk.com +5ailiwu.com +5aivideo.com +5aiyoo.com +5ajob.com +5alw.com +5any.com +5atxt.com +5axxw.com +5azy.com +5bite.com +5biying.com +5bug.wang +5caicloud.com +5ce.com +5ceimg.com +5cgo.com +5cocoi.com +5cpod.com +5d2ede2.com +5d6d.com +5d6d.net +5dashi.com +5dfp.com +5dfsd2.com +5ding.com +5djbb.com +5djiaren.com +5djpg.com +5dmail.net +5down.net +5dplay.net +5ds.com +5duo.com +5eplay.com +5etv.com +5ewin.com +5fen.com +5fun.com +5fwan.com +5gcg.com +5ggm.com +5goto.com +5gwan.com +5gy.com +5h.com +5ha.net +5hanjutv.com +5hb.org +5helpyou.com +5hrc.com +5hte21mz.com +5i-training.net +5i.com +5i5aj.com +5i5j.com +5i5t.com +5i9u.com +5iag.com +5iag.net +5iape.com +5ibc.net +5ibear.com +5icaipu.com +5icbs.com +5ichecker.com +5ichong.com +5icomment.com +5icool.com +5idc.com +5idev.com +5idhl.com +5idream.net +5iec.com +5ifapiao.com +5ifit.com +5iflying.com +5ifund.com +5ifxw.com +5igen.com +5igupiao.com +5ihome.net +5ikang.com +5iln.com +5ilog.com +5imeishi.com +5imoban.net +5imomo.com +5imx.com +5imxbbs.com +5iok.com +5iops.com +5ip9.com +5ipatent.com +5ipkwan.com +5ips.net +5iqiqu.com +5isanguo.com +5isohu.com +5its.com +5iucn.com +5ixs.net +5ixuexiwang.com +5iyq.com +5iyxw.net +5j.com +5jin.org +5jjc.net +5jjdw.com +5jli.com +5joys.com +5jwl.com +5jzw.com +5k5m.com +5kbox.com +5kcrm.com +5kcrm.net +5kda.com +5khouse.com +5lanren.com +5lbw.com +5lejob.com +5lux.com +5m5m5m.com +5m68.com +5mapk.com +5minsgold.com +5mrk.com +5nd.com +5ndy.com +5ooq.com +5pao.com +5pb.net +5plus1.net +5pop.com +5ppt.net +5pub.com +5q.com +5qmall.com +5qwan.com +5qzone.net +5r1.net +5read.com +5ritt.com +5rs.me +5s4f.com +5sai.com +5sdy.cc +5sdy.com +5se34.com +5see.com +5seestar.com +5sem.com +5sha.com +5sharing.com +5snow.com +5stmt.com +5sw.com +5tangs.com +5teacher.com +5thhospital.com +5thspace.net +5thspace.org +5tps.com +5tps.vip +5txl.com +5u18.com +5u3d.com +5u588.com +5u5u5u5u.com +5ugaizhuang.com +5uks.com +5upm.com +5usport.com +5uu.us +5uu6.com +5uu8.com +5v55.com +5w.com +5w123.com +5w52.com +5w5w.com +5wanpk.com +5wanq.com +5weinisi.com +5wx.org +5xcg.com +5xiaobo.com +5xini.com +5xml.com +5xts.com +5xue.com +5xuni.com +5y100.com +5y51.com +5y6s.com +5y89.com +5ydj.com +5yhua.org +5yi.com +5ykj.com +5you.com +5youchou.com +5yun.org +5zai.com +5zg.com +5zhibo.com +5zzu.com +6-china.com +6.gy +60.cm +600052.com +60012.com +600525.net +600895.com +600zi.com +601601.com +602.com +602img.com +603ee.com +6046.net +605-zy.com +605dns.com +605zy.co +6070.tv +6071.com +607777.cc +6080d.com +6080j.com +6080k.com +6088.xyz +6090b.com +60dj.com +60eee.net +60malaysia.com +60mil.com +60nm.com +60tui.com +61.com +61.life +610115.com +610213.net +612.com +6120aa.com +6122.net +612345.com +612459.com +6137.net +615c.com +61611.net +616114.com +6164.com +61658.com +6168511.com +616pic.com +616wan.com +618296.com +618344.com +618351.com +6186.com +6187wo.com +618cj.com +618day.com +618hr.com +618ky.com +61916.com +619k.com +61baobao.com +61bb.com +61bbw.com +61co.com +61diy.com +61draw.com +61ertong.com +61gequ.com +61haodian.com +61hr.com +61ic.com +61info.com +61k.com +61kezhan.com +61mami.com +61mc.com +61sheji.com +61sou.com +61tg.com +61vps.com +61xiangce.com +62.com +6210k.com +623k.com +626688.com +62669.com +626china.org +626x.com +62730.com +628.com +629600.com +62a.net +62game.com +630book.com +630shu.net +63243.com +6328.net +632news.com +6383.com +639311.com +6399868.com +63diy.com +63pe.com +63pic.com +63qingyou.com +63tl.com +63ys.com +63yx.com +641.com +6417000.com +642online.com +64365.com +64518.com +6453.net +64538.net +645w.com +646000.com +6463.com +64644444.com +648sy.com +64ba.com +64dns.com +64ds.com +64gua.com +64ma.com +64mv.com +64pay.com +64w.cc +651700.com +6528.com +6533.org +654.com +654320.com +6543210.com +654321wan.com +654h.com +655a.com +655u.com +655yx.com +656463.com +65688qp.com +65875.com +659595.com +65house.com +65mhxy.com +65singapore.com +65wan.com +65xs.net +6600.org +660pp.com +660x.com +66123123.com +66152.com +66163.com +66168.net +66173yx.com +661832.com +662city.com +662p.com +6631.com +663395.net +66378.com +66460.com +6655.la +6656pk.com +6660333.com +6661666.net +6665.com +6665890.com +6666519.net +666666.so +6669667.com +666baicai.com +666gps.com +666idc.com +666pic.com +666shuwu.com +666wan.com +666wan.net +666xinxin.com +6673p.com +6677000.com +667744.com +6677493.com +6678net.com +66825.com +668559.com +66868.com +6686x1.com +6688.com +66889.net +668895.com +6688pay.com +668app.com +668lw.com +668map.com +668news.com +6695.com +6699.jp +669pic.com +669play.com +669ye.com +66beian.com +66call.com +66cn.com +66diqiu.com +66ds.net +66dt.com +66house.com +66ip.com +66jiedai.com +66liu.com +66mh2.cc +66mobi.com +66money.com +66mz8.com +66nao.com +66nh.com +66perfect.com +66php.com +66play.com +66rou.com +66rpg.com +66ruian.com +66shouyou.com +66sj.com +66sy.com +66team.com +66test.com +66to.net +66tv.tv +66u.com +66ui.com +66vod.net +66wc.com +66weiyou.com +66wz.com +66xh.com +66xue.com +66you.com +66zhang.com +66zhizu.com +66zhuang.com +66zw.com +67.com +67017.com +6711.com +6711img.com +676.com +676z.com +6787.com +67876.com +67883.com +67888.com +6789.com +6789.net +678922c.com +6789che.com +6789go.com +678edu.net +678hyw.com +678ie.com +678pdf.com +678py.com +67cdn.com +67danji.com +67gu.com +67joy.com +67lm.com +67mb.com +67mo.com +67wanwan.com +67yes.com +680.com +68120120.com +6816.com +682.com +68211.com +6822.com +6844.com +6868.com +6868shop.com +686fw.com +688799a.com +688n.com +6899wan.com +68eg.com +68gainian.com +68ge.com +68h5.com +68hanchen.com +68hr.com +68jt.com +68pk10.com +68play.com +68team.com +68web.net +68websoft.com +68youhui.com +69005a.com +6903.com +69260.com +6934.net +693836.com +693975.com +6949.com +695157.com +695175.com +695275.com +695828.com +695ljg.com +698wan.com +69916666.com +699g.com +699h5.com +699pic.com +699xs.com +69cy.net +69fenxiang.com +69hr.com +69jianzhi.com +69ps.com +69shu.org +69xiu.com +69yc.com +69ys.com +6a.com +6aas.com +6abc.net +6acm.com +6an8.com +6api.net +6apt.com +6b3b.com +6c6c.com +6cang.com +6ccn.com +6cit.com +6cnzz.com +6d4d5.com +6d4g.com +6dad.com +6dafu.com +6dan.com +6diy.com +6ds.me +6du.in +6duoyu.com +6dvip.com +6eat.com +6edigital.com +6eys.com +6fanyi.com +6fcsj.com +6fok.com +6g5fd1a.com +6gh4.com +6ght.com +6hgame.com +6hwan.com +6ih6.vip +6iit.com +6jianshi.com +6jworld.com +6k6g.com +6k9k.com +6kw.com +6laohu.com +6lk.net +6m5m.com +6mao.com +6mh7.com +6miii.com +6miu.com +6miu.net +6miv.com +6mxs.com +6pifa.net +6plat.org +6pmcn.com +6puppy.xyz +6renyou.com +6rooms.com +6s4qki.com +6s54.com +6say.com +6sfg.com +6sq.net +6stmmo.com +6t12.com +6tennis.com +6thhosp.com +6tiantian.com +6tie.com +6v.com +6v68.com +6vps.net +6wan.com +6wtx.com +6xd.com +6xigema.com +6xw.com +6yoo.com +6yu6.com +6yuexi.com +6yxk.com +6yyy7.com +6zu.com +7-hotel.com +7-vk.com +7-wx.com +700bike.com +700so.com +700static.com +700store.com +701.com +7017k.com +701sou.com +703804.com +705112.com +7068.cc +70689.com +7080edu.com +7082.com +708990.com +70dh.com +70dir.com +70god.com +70mao.com +70ppt.com +70qn.com +70soft.com +70wei.com +70wx.com +70ym.com +70yx.com +71.com +71.net +710071.net +71133.com +7116dns.com +711pr.com +712.com +7120.com +712100.com +71360.com +7139.com +714.hk +715083.com +7152223.com +715300.com +71668.net +71714.com +7172737.com +7176.com +7190.cc +71908.com +7192.com +71acg.com +71acg.net +71baomu.com +71baomu.net +71dm.com +71du.com +71e.com +71edge.com +71k.com +71lady.com +71lady.net +71one.net +71p.net +71study.com +71txt.com +71wl.com +71xe.com +71zs.com +72.com +720582.com +720pmovie.com +720static.com +720think.com +720ui.com +720yes.com +720yun.com +720yuntu.com +720zh.com +7211.com +72177.com +724001.com +7255.com +726033.com +726p.com +7273.com +7280.com +7298.com +72bn.com +72book.com +72byte.com +72bz.com +72ce.com +72crm.com +72crm.net +72crm.org +72dj.com +72dns.com +72dns.net +72dy.com +72e.net +72en.com +72g.com +72la.com +72laodian.com +72link.com +72sc.com +72xf.com +72xit.com +72xuan.com +72yun.com +72zx.com +731yz.com +73232yx.com +732732.com +734969.com +7360.cc +737.com +73789.com +7384tv.com +7399t.com +73bc.com +73bt.com +73card.com +73zw.com +74.com +7412557.com +741978.com +7428.net +744zy.com +7474.com +7477.com +747wan.com +749997.com +74cms.com +74hy.com +74ig.com +74ir.com +75111.net +75184.com +75271.com +75367.com +75510010.com +75614.com +756u.com +7574.com +75757.com +757dy.com +7580.ltd +75n474.com +75team.com +75xyx.com +7618.com +761a.com +761w.com +762rc.com +764100.com +7654.com +7659.com +765i.com +765q.com +766.com +7663.com +76676.com +766z.com +7676.com +767stock.com +76868.com +76963.com +769car.com +76al.com +76baobao.com +76dongdong.com +76e.org +76jie.com +76ju.com +76wu.com +76xh.com +76xs.com +76y.com +76zu.com +7708zf02.com +770921.com +7711.com +77119159.com +771633.com +77169.com +77169.net +7717wan.com +7723.com +7724.com +77248a.com +7724yx.com +7725.com +7729.com +77313.com +77348k.com +7735.net +773buy.com +77495.com +77521.com +7756.org +7759.com +7766.info +7766.org +77745.com +777524.com +7775367.com +777684a.com +777lala.com +777moban.com +777n.com +778669.com +7788.com +7788js.com +7788sky.com +7788tools.com +7788xj.com +7789.com +778buy.cc +778buy.com +7794.com +77991.com +7799520.com +77acg.com +77bx.com +77ds.com +77ebooks.com +77hei.com +77l.com +77music.com +77mv.com +77nt.com +77piano.com +77tianqi.com +77vcd.com +77xmd.com +77xsw.la +77y4.com +77ys.com +77zn.com +78.com +780.com +78114422.com +78187.com +782yx.com +78300.com +78302.com +78360.net +7849.com +785959.vip +7878hk.com +7881.com +788511.com +788899.com +788v.com +78901.net +789294.cc +789314.cc +789gg.com +789hi.com +789msw.com +789zy.cc +78bar.com +78books.com +78dian.com +78diy.com +78dm.net +78ee.com +78fz.com +78gk.com +78hr.com +78oa.com +78pan.com +78te.com +78tp.com +79.com +793360.com +7937.com +7940.com +79432.com +794579.com +7958.net +7964b.com +7979u.com +797sun.com +797xj.com +7988wan.com +798com.com +798edu.com +798ydh.com +798youxi.com +799.net +799281.com +7999.com +7999.tv +799job.com +79cha.com +79da.com +79tao.com +79tui.com +79yougame.com +79yx.com +79yx.net +7a31jmf.com +7a8k.com +7acg.com +7ahr.com +7analytics.com +7b2.com +7c.com +7caiyun.com +7capp.com +7ccj.com +7cen.com +7chacha.com +7cloud.shop +7cmz.com +7cname.com +7colorblog.com +7cxk.com +7dah8.com +7dapei.com +7dianw.com +7didc.com +7do.net +7down.com +7down.net +7dsp.com +7dsw.com +7dtest.com +7dtime.com +7dugo.com +7e.hk +7east.com +7edown.com +7fei.com +7fgame.com +7flowers.com +7forz.com +7fresh.com +7fun.org +7gz.com +7hcn.com +7help.net +7ho.com +7hon.com +7huang.org +7hxsxs.com +7i2.com +7iaoshou.com +7icp.com +7ipr.com +7jia.com +7jia2.com +7jiaqi.com +7jjjj.com +7jk.com +7jubao.com +7junshi.com +7k35.com +7k7k.com +7ka.co +7kk.com +7kla.com +7kww.net +7kxs.com +7kzw.com +7littlemen.com +7liwu.com +7lk.com +7lw.com +7mah2.com +7mgame.com +7mo.cc +7modifier.com +7moe.com +7moor-fs1.com +7moor-fs2.com +7moor.com +7msj.com +7mx.com +7na7.com +7nepal.com +7net.cc +7oh.net +7pa.com +7pc8.com +7pei.com +7po.com +7q5.com +7qile.com +7r7z.com +7road.com +7road.net +7runto.com +7rv.net +7sbook.com +7scs.com +7sdn.com +7sheji.com +7sj.com +7su.com +7t9.com +7tapp.com +7tgame.com +7tou.com +7tt3333.com +7usa.net +7v6.net +7vk.com +7wa.cc +7wan.com +7wenku.com +7wenta.com +7wenyi.com +7wkw.com +7wnews.com +7wsh.com +7wsh.net +7wx.org +7x24cc.com +7x24s.com +7xdown.com +7xfilm.com +7y5.net +7y7.com +7yc.com +7youxi.com +7yue.pro +7yueji.com +7yun.com +7yzone.com +7zgame.com +7zhan.com +7zhibo.com +7zhou.com +7zm.com +8-008.com +8-host.com +80.com +80.hk +80000.cc +800020308.com +8000ad.com +800400.net +800423.com +800535.com +8006506.com +8006511.com +8006tu.com +800820.net +8008202191.com +800app.com +800bamboo.com +800best.com +800bestex.com +800cdn.com +800du.com +800hr.com +800li.net +800lie.com +800lj.com +800mei.net +800pai.com +800pharm.com +800t.net +800tu.com +800ux.com +800vod.com +800xs.net +800you.com +800youhuo.com +801167.com +8013v111.com +802013.com +802203.com +807.com +80710.com +80800.vip +8080i.com +8081.net +80881.com +808cdn.com +808w.com +8090.com +8090.pk +8090.so +8090120.com +8090app.com +8090cdn.com +8090mt.com +8090vision.com +8090xx.com +8090yx.com +8090yxs.com +809803.com +809926.net +80baicai.biz +80bi.com +80data.net +80hman.com +80host.com +80iter.com +80juqing.com +80kongjian.com +80kuku.com +80ml.com +80nb.com +80note.com +80paper.com +80s.cm +80s.im +80s.so +80s.tw +80sec.com +80shihua.com +80sjy.net +80tian.com +80txt.com +80txt.la +80vps.com +80xb.com +80xs.la +80ym.com +80yunying.com +80zhan.com +810236.com +810251.com +8108188.com +810840.com +811xs.com +812361.com +81265.net +81312.com +81329999.net +815good.com +815ybw.com +81629.com +81677.com +8169.com +817398.com +81761.com +817711.com +818.com +818537.com +818it.com +818ps.com +818rmb.com +818tu.com +81999.org +81comdns.com +81dk.com +81it.com +81js.net +81kx.com +81tech.com +81toutiao.com +81tt.net +81xy.com +81yy.cc +81zw.co +81zw.com +81zw.us +8203app.com +8211.com +82222919.com +82250856.com +822644.com +82326999.com +82335966.com +8234567.com +8246.net +8264.com +826rc.com +826wan.com +82859.com +82871.com +8289880.com +828g.com +82ip.com +82ky.com +82pk.com +82ucc.com +82xs.com +83133.com +832200.com +8325.com +8329555.com +8329607.com +833833833.net +8339.org +83480900.com +834sy.com +83666.com +83681111.com +837711.com +838.cc +83823.net +83830.com +838dz.com +8395670.com +83990567.com +83dd.com +83edu.net +83h87d.com +83jie.com +83om.com +84.com +84.vc +8421.com +84384d.com +84399.com +844a.com +844dns.net +844wan.com +84519.com +84684.net +8477.com +848.com +8498899.com +849959.com +84dwc.com +84fk.com +84ktv.com +84lm.net +84zcb.com +84zhu.com +85.com +850500.com +8518.com +8521.org +85229666.com +8524999.com +85384.com +853lab.com +8548965.com +8558.org +85679999.com +85814.com +85878078.com +858game.com +858guakao.com +85kf.com +86-import.com +86.cc +86010.net +860527.com +860598.com +860816.com +861522.com +86175.com +861817.com +86215.com +86262.com +8633.com +86516.com +865211.com +86590.com +866ds.com +866lvyou.com +8673h.com +867game.com +867wn.com +8682.cc +8684.com +868578.com +8686c.com +86873.com +86888qp.com +8688g.com +86933.com +869d.com +869v.com +86amsdy.com +86campus.com +86clouds.com +86control.com +86ditu.com +86djw.com +86dm.cc +86eh.com +86fis.com +86fm.com +86fsp.com +86game.com +86gc.net +86hcdnsuv.com +86hh.com +86hr.com +86hud.com +86huoche.com +86jg.com +86jobs.com +86joy.com +86kl.com +86kongqi.com +86lawyer.com +86mai.com +86mail.com +86mama.com +86mdo.com +86nb.com +86office.com +86pla.com +86pm25.com +86qc.com +86sb.com +86shouji.com +86tec.com +86uuu.com +86wan.com +86wol.com +86xq.com +86y.org +86zsw.com +87.com +870818.com +8714.com +87188718.com +872.cc +8721.com +872872.com +87311111.com +87535353.com +876web.com +8770000.com +877168.com +877325.com +87794560.com +878009.com +87803.com +87870.com +87994.com +87box.com +87g.com +87money.com +87pk.com +87yy.com +88-z.com +88.com +8800.org +8800808.com +8801.net +880114.com +880303.xyz +880331.net +880735.com +88077777.com +880sy.com +880you.com +88106.com +8825.com +8828dl.com +88303887.com +88360.com +8838sl.com +884109.com +884134.com +884358.com +8844.com +88444l.cc +88448.com +8848.com +8848phone.com +885.com +8850006.com +88520.cc +885210.net +8855.org +88582.com +8858a.com +8860.net +8864.com +8864.org +8866.org +886966.com +886abc.com +886bl.com +886vps.com +88765.com +887w.com +888593a.com +8888800000.com +888pic.com +888ppt.com +888rj.com +8890tu.com +8898wz.com +88995799.com +88999.com +8899yyy.vip +889su.com +889xp.com +88bank.com +88bx.com +88cdn.com +88dj.com +88duomi.com +88dushu.com +88eq.com +88fenxiao.com +88h3.com +88hom.com +88ht.com +88htu.com +88hu.com +88jianshen.com +88koo.com +88lan.com +88lgo.com +88lm.cc +88meishi.com +88mf.com +88ming.net +88ng.com +88pets.com +88popo.com +88rpg.net +88tang.com +88tph.com +88u.com +88wakuang.com +88xiaoshuo.com +88xr.org +88ysg.com +88zb.com +88zb0.com +88zha.com +88zyw.net +8910.io +89178.com +89303.com +893933.com +8961zx.com +8977567.com +8979.com +898.travel +8988sbd.com +8989118.com +898940.com +898984.com +898tc.com +8999.cc +89dj.com +89ds.com +89hl.com +89uu.com +8a.hk +8ao8ao.com +8aza.com +8b2.net +8bb.com +8bcd9.com +8bears.com +8bei8.com +8bit.xin +8btc-ops.com +8btc.com +8btm.com +8c8h.com +8cheche.com +8cname.com +8cnd.com +8cnet.com +8da.com +8ddao.com +8dexpress.com +8dlive.com +8dn.com +8dol.com +8dp.net +8dream.net +8dudata.com +8dwww.com +8e8z.com +8europe.com +8fenxiang.com +8gov.com +8gw.com +8gyu.com +8hsleep.com +8jdns.net +8jiaoye.com +8jj.cc +8jxn.com +8jzw.cc +8k7k.com +8k8z.com +8kana.com +8kzw.com +8l8e.com +8le8le.com +8lhx.com +8liuxing.com +8lk.com +8llp.com +8mhh.com +8miu.com +8miu.net +8ms.xyz +8mu8.com +8multimill.com +8n2.com +8n6n.com +8njy.com +8o9o.com +8pig.com +8pingce.com +8pu.com +8qwe5.com +8qwx.com +8s123.com +8s8s.com +8she.com +8taobaodian.com +8tgh.com +8ttt8.com +8tupian.com +8twan.com +8u58.com +8uka.com +8uyx.com +8wan.com +8win.net +8wiu.com +8wq.com +8wss.com +8yao.cc +8ybct.com +8ym8.com +8yw.xyz +8yzw.com +8z.net +8zntx.com +8zy.com +9-zhuce.com +9000design.com +9000gou.com +9000idc.com +9000wy.com +900112.com +900501.xyz +900cha.com +900php.com +900ppt.com +900top.com +90123.com +903518.com +90370.com +90432.net +90576.com +906you.com +90880.com +908872.com +90907.com +90a.cc +90bola.cc +90ckm.com +90e.com +90ko.net +90lhd.com +90pan.com +90qh.com +90sheji.com +90sjimg.com +90tank.com +90vm.com +90wmoyu.com +90wx.com +90yang.com +90zm.net +91.com +910app.com +910play.com +91160.com +9118fu.com +911cha.com +911pop.com +911sl.com +911wow.com +911yao.com +911zy.com +912366.com +9125flying.com +912688.com +912k.com +912yx.com +913232.com +9133.com +9136.com +91378.com +913vr.com +913you.com +914.com +91472.com +915.com +915.im +9154wan.com +915658.com +915799.com +9158.com +9158ads.com +9158h5.com +915c.com +9166yx.com +916m.com +917.com +9170.com +917118.com +917558.com +917ka.com +917st.com +9188.com +9188wan.com +918dxs.com +918ka.cc +918rc.com +918ys.net +919.com +9191mr.com +9191net.com +9191zx.com +919377.com +91985.com +91ac.com +91act.com +91aiche.com +91aliyun.com +91all.net +91anjian.com +91art.net +91b2b.com +91baby.com +91bee.com +91boshuo.com +91bushou.com +91caijia.com +91canyin.com +91carnet.com +91cdkey.com +91ceshi.com +91cha.com +91chuxue.com +91cpm.com +91cps.com +91ctc.com +91cy.cc +91czxs.com +91daizhang.com +91danji.com +91data.com +91datong.com +91dba.com +91dbb.com +91dbq.com +91ddcc.com +91ddedu.com +91dena.com +91diany.com +91dict.com +91display.com +91dnso.com +91doujin.com +91dub.com +91duobaoyu.com +91dyl.com +91exam.org +91exiu.com +91feizhuliu.com +91fifa.com +91flac.com +91game.com +91gaoding.com +91goodschool.com +91guzhi.com +91h5.cc +91haiju.com +91haoka.com +91haoke.com +91huayi.com +91huoke.com +91ios.com +91jbz.com +91jf.com +91jiabohui.com +91jiafang.com +91jianguo.com +91jin.com +91jinrong.com +91jinshu.com +91jkj.com +91jkys.com +91jm.com +91jmw.com +91job.com +91join.com +91jsj.com +91juice.com +91kami.com +91kanju.com +91keman.com +91keto.com +91laihama.com +91ld.com +91lda.com +91lewei.com +91liangcai.com +91linux.com +91listen.com +91lx.com +91lxs.com +91maker.com +91mariadb.com +91maths.com +91mitang.com +91money.com +91muzhi.com +91nzh.com +91open.com +91paobao.com +91pdf.com +91pet.net +91php.com +91pic.org +91pkpk.com +91px.com +91qzc.com +91ri.org +91ronghui.com +91rtb.com +91ruyu.com +91safety.com +91sd.com +91sem.cc +91shenshu.com +91smart.net +91soer.com +91soker.com +91sotu.com +91sph.com +91spj.com +91sport.cc +91ssw.com +91student.com +91suan.com +91suke.com +91taobaoquan.com +91taoke.com +91tech.net +91tianqi.com +91ting.net +91tingge.com +91town.com +91tuyatu.com +91tw.net +91ud.com +91up.com +91vpn.com +91vps.com +91vst.com +91waijiao.com +91wan.com +91wangcai.com +91wangmeng.com +91watches.com +91way.com +91weimi.com +91weiwang.com +91wenmi.com +91wii.com +91wllm.com +91wujia.com +91wutong.com +91wzg.com +91xcm.com +91xhg.com +91xiake.com +91xiazai.com +91xsj.com +91xueshu.com +91xww.com +91xy.com +91y.com +91yao.com +91yian.com +91yinpin.com +91yixun.com +91yk.com +91yong.com +91you.com +91youban.com +91yuedu.com +91yunying.com +91yxbox.com +91zhiwang.com +91zwk.com +91zy.com +92.net +921.com +9211.com +921118.wang +921716.com +9217w.com +9217web.com +921lu.com +922000.com +92220668.com +92220701.com +922c25.com +925ps.com +927.la +927927.com +927953.com +927jx.com +928vbi.com +92913.com +92987.com +9299.net +92anycall.com +92aq.com +92ay.com +92bbs.net +92bizhi.com +92caijing.com +92cloud.com +92cy.cc +92demo.com +92dp.com +92ez.com +92fox.com +92game.net +92gushi.com +92hidc.net +92jiangbei.com +92kaifa.com +92kk.com +92le.com +92lm.com +92lucky.com +92mp.com +92ni.com +92python.com +92sucai.com +92tianjin.com +92to.com +92u93e.com +92wan.com +92wenzhai.com +92wudao.com +92wx.com +92wy.com +92xygame.com +92you.com +9312.net +933.moe +93338c.cc +934dsw.com +9355.com +93636.com +936u.com +9377.com +9377a.com +9377co.com +9377df.com +9377g.com +9377ja.com +9377ku.com +9377ne.com +9377os.com +9377s.com +9377si.com +9377z.com +938030968.com +93913.com +9396.net +93966.com +93bok.com +93cg.com +93eu.com +93hdw9.com +93hui.com +93jiang.com +93kk.com +93ku.com +93lh.com +93ne.com +93njf0.com +93pk.com +93sdk.com +93soso.com +93tyy.com +93wgames.com +93zp.com +93zw.com +941.so +941jy.com +941mg.com +942ss.com +944.com +94445.com +9448x.com +9453job.com +945idc.com +945n48.com +9466.com +946vr.com +94831.com +9495.com +949678.com +9499.net +94994.com +949949.com +94afx.com +94cb.com +94cto.com +94dreamer.com +94dwc.com +94hdj.com +94he38.com +94i5.com +94ip.com +94ixs.com +94ji.com +94lm.com +94mxd.com +94nw.com +94oz.com +94php.com +94pm.com +94q.com +94qy.com +94rp.com +94te.com +94uv.com +94xy.com +94you.net +94ys.com +95.com +95021.com +95060.com +95081.com +950901.com +95105369.com +95105555.com +95105556.com +95105899.com +9512.net +951368.com +95158.com +95169.com +95191.com +95195.com +9527cha.com +9527cloud.com +95303.com +95408.com +95504.net +95508.com +95511-8.com +95516.com +95516.net +95526.mobi +9553.com +9557.com +95572.com +95579.com +95588.com +95597.cc +95598pay.com +95599.hk +955yes.com +9560.cc +9564.com +9565.com +9588.com +958jbs.com +959249.com +95949c.com +9596956.com +95amxpj.com +95book.com +95en.com +95epay.com +95fenapp.com +95gq.com +95idc.com +95jr.com +95k.com +95links.com +95name.com +95nw.com +95px.com +95xiu.com +95ye.com +95yijing.com +96005656.com +960123.com +960638.com +96090090.com +960rc.com +9610.com +9611111.com +96160.cc +96189.com +9618968.com +962.net +96211.com +962121.net +962168.com +962222.net +96225.com +962518.com +962600.com +962740.com +96369.net +9637.com +963999.com +964yx.com +96516.net +96520.com +96533.com +9665.com +966599.com +9666sr.com +9669.com +96711jmbm.com +968.com +96804.com +96811.com +96822.com +96845.com +96877.net +968pk.com +969009.com +9696e.com +9697.com +969g.com +96app.com +96bbs.com +96caifu.com +96dp.com +96go.com +96hq.com +96jm.com +96jx.com +96kaifa.com +96kb.com +96lh.net +96lou.com +96ni.net +96pc.com +96pk.com +96plus.com +96sdk.com +96shuba.cc +96sir.com +96ttt.com +96weixin.com +96yx.com +96zxue.com +97-7.com +970655.com +9718.com +9718game.com +9724.com +973.com +973xs.com +97616.net +97775.com +977pk.com +977t.com +97828bb.com +97866.com +9787.com +978clouds.com +978sy.com +97936.com +97973.com +9797ly.com +9799.com +97add.com +97atc.com +97cms.com +97dod.com +97douyin.com +97gg.net +97go.com +97jz.com +97kid.com +97kpb.com +97lk.com +97lp.com +97lpw.com +97ol.com +97rp.com +97ting.com +97ui.com +97uimg.com +97wd.com +97xiaoshuo.com +97xiaoshuo.net +98.com +98.ma +9800.com +980cje.com +98158.com +9823df.com +984g.com +985.so +98523.com +985college.com +985sy.com +98654.com +987.com +9870n.com +987app.com +987jx.com +987jx.net +987you.com +988001.com +98809.com +988272.com +988640.com +9898c.com +98a.ink +98ep.com +98fp.com +98jx.com +98mp.com +98nice.com +98one.com +98t.net +98tang.com +98tuch.net +98znz.com +99-ss.com +99.com +99083.com +9908qhb.com +99114.com +99118.com +99166.com +9917.com +991726.com +9919.wang +9919345.com +991kang.com +9928.tv +9939.com +993h.com +994wan.com +995120.net +9955365.net +9955993.com +996.com +996.pm +9966.org +9966333.com +9966w.com +996a.com +9973.com +997788.com +998.com +9981seo.com +9981ypk.com +99887w.com +998jk.com +998jx.com +9991.com +999120.net +999178.com +99939.com +999777.com +9998.tv +99988866.xyz +99999net.net +999ask.com +999brain.com +999d.com +999dns.net +999inandon.com +999kan.com +999tea.com +999wx.com +999xy.net +99aiji.net +99bdf.com +99biaozhun.com +99bill.com +99bo.cc +99cc.com +99cfw.com +99cloud.net +99daigou.com +99danji.com +99ddd.com +99down.com +99downer.com +99dushu.com +99dw.com +99edu.net +99eo.com +99eyao.com +99fang.com +99fei.net +99fenlei.com +99fund.com +99fund.org +99haoche.com +99haoling.com +99hdf.com +99hkjf.com +99huizhou.com +99ielts.com +99inn.cc +99jianzhu.com +99jiaoshi.com +99k5.com +99kgames.com +99lb.net +99max.me +99mc.com +99meiju.app +99meiju.org +99meiju.tv +99meili.com +99mingxing.com +99mst.com +99music.net +99niu.com +99papa.xyz +99pdf.com +99pet.com +99ppt.com +99pto.com +99qh.com +99qimingzi.com +99qumingzi.com +99read.com +99rom.com +99sky.com +99sun.com +99sushe.com +99vf.com +99vu.com +99weiqi.com +99wuxian.com +99xr.com +99xxg.com +99xyx.com +99yoo.com +99youmeng.com +99ys.com +99zhizhu.com +99zihua.com +99zuowen.com +99zzw.com +9ailai.com +9aimai.com +9air.com +9aoduo.com +9aola.com +9beike.com +9bianli.com +9c9c.cc +9cb.com +9ccapital.com +9ccmsapi.com +9chew.com +9chun.com +9clive.com +9coc.com +9conn.net +9cts.com +9cwx.com +9d19.com +9d4d.com +9damao.com +9damao.net +9day-game.com +9ddm.com +9deli.com +9dfx.com +9dm.net +9do9.com +9douyu.com +9droom.com +9duw.com +9dwork.com +9earth.com +9ehao.com +9eii.com +9ela.com +9ele.com +9enjoy.com +9fav.com +9fbank.com +9first.com +9fpuhui.com +9fs.com +9g.com +9g8g.com +9gty.net +9hcom.com +9he.com +9host.org +9ht.com +9icode.net +9icy.com +9idudu.com +9igcw.com +9ihb.com +9ihere.com +9ihome.com +9ihs.com +9ilu.com +9imobi.com +9inx.com +9iphp.com +9ishe.com +9itan.com +9j9y.com +9ji.com +9jiu9jiu.com +9juewu.com +9jx.com +9k51.com +9k9by.com +9k9k.com +9k9ms.com +9kd.com +9kld.com +9ku.com +9kus.com +9le8.com +9linux.com +9liuda.com +9longe.net +9man.com +9mayi.com +9mbv.com +9mi.me +9mi01.com +9miao.com +9miaoxueyuan.com +9mic.com +9msg.com +9nali.com +9now.net +9ok.com +9om.com +9open.com +9orange.com +9qc.com +9qu.com +9qu5.com +9rmb.com +9see.com +9simg.com +9skm.com +9sky.com +9sleep.org +9stor.com +9subi.com +9syw.com +9taobao.com +9thws.com +9to.com +9tong.com +9too.net +9tov.com +9txs.com +9txs.org +9u.net +9upk.com +9v.com +9w9.com +9wee.com +9wee.net +9weihu.com +9wuli.com +9xiazaiqi.com +9xiu.com +9xkd.com +9xu.com +9xwang.com +9yao.com +9yaocn.com +9yc.com +9ye.com +9yjk.com +9yoho.com +9you.com +9you.net +9yread.com +9yuntu.com +9yuonline.com +9ywp.com +9zhen.com +9zhitx.com +9zjob.com +9zonline.com +9zx.com +a-du.net +a-hospital.com +a-jazz.com +a-liai.com +a-map.link +a-sy.com +a0598.com +a0b88.com +a0bi.com +a0c00.com +a0c77.com +a1.mzstatic.com +a1166.com +a135.net +a166.com +a1714.com +a1a.me +a2.mzstatic.com +a2048.com +a21fs.com +a21yishion.com +a234567.com +a2dongman.com +a3.mzstatic.com +a3p4.com +a4.mzstatic.com +a4s6.com +a5.mzstatic.com +a5.net +a5628.com +a5805.com +a5idc.net +a632079.me +a67dy.com +a6a1.com +a7.com +a8.com +a8cd.com +a8f947.com +a8tg.com +a8u.net +a8v5.com +a8z8.com +a9188.com +a9377j.com +a963.com +a9vg.com +aa43z7.com +aa65535.com +aa7.org +aa8828.com +aaahsxb.com +aaal.cc +aaapeixun.com +aaayun.com +aadongman.com +aads-cng.net +aaliyaheartha.com +aamachina.org +aaniao.com +aapy38.com +aaqqw.com +aarch64.me +aardio.com +aaronlam.xyz +aaspt.net +aastartups.com +aatccn.com +aayis.com +ab126.com +ab173.com +ab59.com +ab95569.com +abab.com +abacaipu.com +abang.com +abardeen-online.com +abbooa.com +abbyschoice.net +abbyychina.com +abc-ca.com +abc12366.com +abc188.com +abc360.com +abc369.net +abcache.com +abcbxw.com +abcd5.com +abcdocker.com +abcdv.net +abcfintech.com +abchina.com +abcjiaoyu.com +abcjifang.com +abckantu.com +abclogs.com +abcs8.com +abctang.com +abcve.com +abcxs.com +abcydia.com +abczw.com +abd007.com +abdstem.com +abe-tech.com +abeacon.com +abiechina.com +abiestem.com +abifsey.com +abilie.com +abitcg.com +abiz.com +ablanxue.com +able-elec.com +ableaders.com +ablejeans.com +ablesci.com +ablesky.com +abletive.com +ablman.com +abloz.com +abmau.com +aboatedu.com +aboboo.com +aboilgame.com +aboluojihua.com +aboutcg.com +aboutcg.net +aboutcg.org +aboutgk.com +aboutidc.com +aboutnew.net +aboutnuke.org +aboutyun.com +abovede6.com +abreader.com +abslw.com +abtionb.com +abuquant.com +abusi.net +abuyun.com +ac268.com +ac57.com +acadki.com +acc3.net +acc5.com +accelink.com +accessgood.com +accessibilityunion.org +accessoft.com +accesspath.com +accgame.com +acconsys.com +accopower.com +account.cdnetworks.com +account.samsung.com +accsh.org +accu.cc +accurate-china.com +accyy.com +acde.net +ace-pow.com +acechuang.com +acejoy.com +acelamicro.com +acesheep.com +acewill.net +acftu.org +acfun.cc +acfunchina.com +acfunwiki.org +acg-moe.com +acg.gd +acg.gg +acg.tv +acg17.com +acg183.com +acg18s.com +acg4.com +acg456.com +acg6.com +acgaa.xyz +acgcd.com +acgcp.com +acgdb.com +acgdmzy.com +acgdoge.net +acgface.com +acgist.com +acgn.pw +acgnt.com +acgp.xyz +acgpiping.net +acgqd.com +acgres.com +acgsky.win +acgtofe.com +acgvideo.com +acgvr.com +acgw.pw +acgz.xyz +acgzc.com +achsd.com +aci-wh.com +acicfg.com +aciml.com +acing.com +acingame.com +acirno.com +acjw.net +ackeline.com +aclqc.com +acmcoder.com +acmicpc.info +acmoba.com +acmsearch.com +acmx.xyz +acnow.net +aco-musical.com +aconf.org +aconline.com +acoolread.com +acpf-cn.org +acq42.com +across-mbox.com +acrpc.com +acshoes.com +acsrq.com +act-telecom.com +actacams.com +actamath.com +actcn.net +actime.net +actions-semi.com +actionsky.com +activeclub.net +activepower.net +actom.me +actoys.com +actranslation.com +actself.me +actuive.com +acucn.com +acumoxj.com +acuworld.net +acwifi.net +acwing.com +acznw.com +ad-cn.net +ad-gone.com +ad-goods.com +ad-mex.com +ad-safe.com +ad-survey.com +ad-young.com +ad110.com +ad12345.com +ad321.cc +ad5.com +ad518.com +ad7.com +ad778.com +adamlu.net +adanxing.com +adapay.tech +adarrive.com +adashuo.com +adawod.com +adaxin.com +adbats.com +adbxb.com +adc-expo.com +adccd.com +adcdn.com +adcdownload.apple.com +adcdownload.apple.com.akadns.net +adconfer.com +addaad.com +addgog.com +addinghome.com +addnewer.com +addoom.com +addpv.com +addsxz.com +adeaz.com +adebang.com +adeline.cc +adesk.com +adfeiwo.com +adflying.com +adfortest.com +adfuns.com +adfyt.com +adg-dental.com +adgomob.com +adhei.com +adhhome.com +adhimalayandi.com +adhubbj.xyz +adhudong.com +adiexpress.com +adiic.com +adinall.com +adinallcdn.com +adjie.com +adjucai.com +adjumo.com +adjuz.com +adkwai.com +adl888.com +adl999.com +adlefee.com +adlefei.com +adluckin.com +adlvyou.com +admai.com +admaimai.com +admamax.com +admasterto.com +admin.edu.pl +admin10000.com +admin168.net +admin5.com +admin5.net +admin6.com +admin60.com +admin88.com +adminportal.cdnetworks.com +adminso.com +admintony.com +adminxue.com +adminxy.com +admire.so +admpub.com +admqr.com +adnineplus.com +adnyg.com +adobe55.com +adobeae.com +adobeedu.com +adobetop.com +adoceans.com +adoregeek.com +adpchina.com +adpgsc.com +adplusx.com +adpolestar.net +adportion.com +adquan.com +ads8.com +adsage.com +adsagedsp.com +adsame.com +adscover.com +adservice.google.com +adsjdy.com +adslr.com +adsmogo.com +adsmogo.mobi +adsmogo.net +adsmogo.org +adssaas.com +adssap.com +adsspr.com +adsunflower.com +adt100.com +adtaipo.com +adtchrome.com +adtime.com +adtiming.com +adtmm.com +adubest.com +adunicorn.com +adunioncode.com +adunite.com +adups.com +adutou.com +adutp.com +advgbid.com +adview.com +advuser.com +adwangmai.com +adwep.com +adwetec.com +adwintech.com +adwo.com +adwuhu.com +adx.ms +adxhi.com +adxiaozi.com +adxiny.com +adxmq.com +adxpand.com +adxqd.com +adxvip.com +adyun.com +adzh.com +adzhongdian.com +adzop.com +adzshd.com +ae-people.com +ae256.com +ae60.com +aebiz.net +aec188.com +aecichina.com +aeenets.com +aegcar.com +aegins.net +aehyok.com +aemedia.org +aendc.com +aeo-cctv.com +aeonbuy.com +aeonlifes.com +aepku.com +aerfaying.com +aerochina.net +aes01.com +aesdrink.com +aesml.com +aesucai.com +aevit.xyz +aex88.com +af360.com +afanti100.com +afarway.com +afcec.com +afdian.net +afdiancdn.com +afdsc.com +afdvr.com +afengseo.com +afengsoft.com +afenxi.com +affecthing.com +affu.net +afgame.com +afie.xin +afilmb.com +afjk.com +afjob88.com +afoxsshadow.com +afrazanna.com +afriendx.com +afshanghai.org +aft1v1.com +afu.io +afuchina.com +afunan.com +afunapp.com +afzhan.com +ag17.wang +ag365.com +ag8vip6.com +agalwood.net +agamepower.com +agcloudcs.com +age-spa.com +age.tv +age06.com +agefans.app +agenge.com +agenow.com +agentzh.org +agfoodpartnership.com +aghcdn.com +agile-china.com +agileex.com +aginomoto.com +agiso.com +agnezanna.com +agora.io +agrantsem.com +agrittex.com +agrochemshow.com +agrodt.com +agrofairs.com +agrokingcn.com +agrosg.com +agrowingchina.com +agucn.com +aguo.com +agxs.net +ah-inter.com +ah-px.com +ah12333.com +ah163.com +ah3c.com +ah477.com +ah499.com +ah5166.com +ah8.cc +ah9yu.com +ahacpp.com +ahafm.com +ahalei.com +ahanxun.com +ahao.moe +ahaohao.com +ahauto.com +ahbb.cc +ahbys.com +ahbztv.com +ahbzyy.com +ahc.ink +ahcaijing.com +ahcaw.com +ahcjhjj.com +ahcnb.com +ahdsez.com +ahdzfp.com +aheading.com +ahfbz.com +ahfdcb.com +ahfensitong.com +ahglj.com +ahgssh.com +ahhanmi.com +ahhdb.com +ahhhjx.com +ahhouse.com +ahhtzx.com +ahhwdp.com +ahhxcm.com +ahjdq.com +ahjem.com +ahjgxy.com +ahjk.com +ahjtxx.com +ahjyec.com +ahjyzb.com +ahjzjy.com +ahjzw.com +ahkemi.com +ahkende.com +ahkjksw.com +ahkjw.com +ahkxsoft.com +ahlib.com +ahlife.com +ahljnews.com +ahlsm1.com +ahmayun.com +ahmky.com +ahmup.com +ahnews.org +ahougn.com +ahphi.com +ahqmdq.com +ahqnrc.com +ahrefa.com +ahrunzi.com +ahscl.com +ahshsz.com +ahshuhua.net +ahsjxjy.com +ahsyj.com +ahsylsy.com +ahteacher.com +ahtlbyby.com +ahtlgc.com +ahtrain.com +ahu.cc +ahuano.com +ahudows.com +ahuyi.com +ahwwnews.com +ahwxcs.com +ahxwkj.com +ahydnet.com +ahydwy.com +ahyessoft.com +ahyouan.com +ahyouth.com +ahzs10000.com +ai-cai.com +ai-factory.com +ai-indestry.com +ai-qingchang.com +ai-start.com +ai-thinker.com +ai.cc +ai.mr +ai012.com +ai2hao.com +ai7.com +ai7.org +ai895.com +ai9475.com +aiagain.com +aiagain.net +aiai6.com +aiaisz.xyz +aiaiu.com +aiaor.com +aiba.com +aibaimm.com +aibang.com +aibang5.com +aibaov.com +aibeidian.com +aibing.cc +aibo123.com +aibooks.cc +aibosha.com +aicai.com +aicaicdn.com +aicaike.com +aicdn.com +aicdn4.com +aicdn5.com +aichaicp.com +aichaoxing.com +aichawu.com +aicheren.com +aichunjing.com +aiclicash.com +aiclk.com +aicloud.com +aicode.cc +aicoinstorge.com +aicsnet.com +aicu8.com +aicunfu.com +aidafen.com +aidai.com +aidaily.com +aidaiz.com +aidalan.com +aidangbao.com +aidanji.com +aidaxing.com +aidaxue.com +aideep.com +aidg.cc +aidianji.net +aidiao.com +aidigger.com +aidigong.com +aidimedia.com +aidingbuding.com +aidisida.com +aidlearning.net +aidog.com +aidong.me +aidoor.net +aidouer.net +aidpaper.com +aidrive.com +aiduoka.com +aiduwenxue.com +aiec-alliance.com +aiegle.com +aiemy.com +aier021.com +aier0755.com +aierchina.com +aierfano.com +aiezu.com +aifamu.com +aifanfan.com +aifang.com +aifangke.com +aifanr.net +aifanyi.net +aifbr.com +aifcdn.com +aifei8.net +aifengjie.com +aifont.com +aifu10.com +aifu360.com +aigame100.com +aiganggu.com +aige010.com +aigei.com +aigewc.com +aigo.com +aigodiy.com +aigou.com +aigtek.com +aigupiao.com +aigzg.com +aihaisi.com +aihala.com +aihandu.com +aihanfu.com +aihanfu.net +aihangtian.com +aihao.cc +aihao.org +aihecong.com +aihehuo.com +aihelp.net +aihoge.com +aihuahua.net +aihuajia.com +aihuaju.com +aihuau.com +aihuishou.com +aihundan.com +aihuo.cc +aii-alliance.org +aiijournal.com +aiimg.com +aiimooc.com +aiioii.com +aiizen.net +aijc.net +aiji66.com +aijianji.com +aijigeci.com +aijikong.com +aijishu.com +aiju.com +aik.com +aikac.com +aikaitao.com +aikaixin.com +aikaiyuan.com +aikan.tv +aikan8.com +aikang.com +aikcms.com +aiketour.com +aikeu.com +aikexi.com +aikf.com +aikucun.com +ailaba.org +ailbaba.me +aileleba.com +ailete.com +ailewan.com +aili.com +ailianbang.com +ailinglei.com +ailinux.net +ailinzhou.com +ailiyun.com +ailom.com +ailongmiao.com +ailuntan.com +ailvxing.com +aimagang.com +aimaoji.com +aimapp.net +aimatech.com +aimatrix.ai +aimeas.com +aimeideni.com +aimeike.tv +aimeit.com +aimikuajinggou.com +aiminer.cc +aimipay.net +aimiplay.com +aimituan.com +aimo.moe +aimodou.net +aimoge.com +aimsen.com +ainfiniteactivity.com +ainiapp.com +ainirobot.com +ainiseo.com +ainiu.net +ainiuwa.com +ainuanbao.com +ainyi.com +aiodt.com +aiotvoice.com +aipai.com +aipark.com +aipear.com +aipenglai.com +aipiaxi.com +aipingxiang.com +aipinko.com +aiprose.com +aips.me +aipuo.com +aipz.com +aipz777.com +aiqianduan.com +aiqianxq.com +aiqin.com +aiqisoft.com +aiqiy.com +aiqiye.cc +aiqiyi.com +aiqiyivip.com +aiqu.com +aiquanjian.com +aiqucn.com +aiqumi.com +aiqzu.net +air-level.com +air-matters.com +air-quality.com +air.cc +airasia.com +airbft.com +airchina.com +airchinacargo.com +airchinagroup.com +airchinaim.com +airchinajet.com +airchinamedia.com +aircn.org +aircourses.com +airdropin.com +airen1314.com +airkunming.com +airmate-china.com +airmb.com +airmobyte.com +airnut.com +airoha.com.tw +airsavvi.com +airspa.net +airstar.com +airtofly.com +airtu.com +airwh.com +aisaohuo.com +aisaw.com +aisbeijing.com +aisearch.cc +aisee.tv +aiseminar.com +aishangcan.com +aishengji.com +aisila.com +aisino.com +aisinogd.com +aisinogz.com +aisixiang.com +aisk.me +aisky.cc +aiskycn.com +aisojie.com +aisoutu.com +aispeech.com +aispreadtech.com +aisy.com +aitaojin.com +aite.xyz +aitebuy.com +aitecar.com +aitemple.com +aiti.fun +aitiancheng.com +aitoushe.com +aitrans.net +aitsw.com +aituan.com +aitupian.com +aituwo.com +aityp.com +aiurl.com +aiuw.com +aiuxdesign.com +aiuxian.com +aiuxstudio.com +aiviy.com +aiwall.com +aiwan4399.com +aiwan91.com +aiwanba.net +aiwanpai.com +aiwansc.com +aiwawa520.com +aiweibang.com +aiweibk.com +aiweline.com +aiwen.cc +aiwenwo.net +aiwenyi.com +aiworkspace.com +aiwulao.com +aixchina.net +aixcoder.com +aixiaoduo.com +aixiashu.com +aixiatxt.com +aixiawa.com +aixiawx.com +aixiegao.com +aixiezuo.com +aixifan.com +aixigua.com +aixinbaomu.com +aixinquban.com +aixinwu.org +aixinyunfan.com +aixq.com +aixuedai.com +aixuefu.com +aixuejun.com +aixuetang.com +aixuexi.com +aixyz.com +aiyaapp.com +aiyadu.com +aiyangedu.com +aiyanqing.com +aiyaopai.com +aiyichuan.com +aiyidu.com +aiyinghun.com +aiyingli.com +aiyingshi.com +aiykj.com +aiyou.com +aiyoumi.com +aiyoweia.com +aiyuangong.com +aiyuke.com +aizaoqi.com +aizhan.com +aizhanku.com +aizhengli.com +aizhenrong.com +aizhet.com +aizhi.biz +aizhibaby.com +aizhicn.com +aizhigu.tv +aizhuizhui.com +aiziti.net +aizongyi.com +aizuna.com +aizuopin.com +ajaxjs.com +ajaxstu.com +ajbbkf.com +ajcass.org +ajcctv.com +ajclass.com +ajebw.com +ajhchem.com +ajiang.net +ajinga.com +ajiuqian.com +ajkcdn.com +ajkdns2.com +ajkimg.com +ajmide.com +ajrcb.com +ajs17.com +aju.space +ajwang.com +ajweishequ.com +ajxlx.com +ajyg.com +ak0.tw +ak1ak1.com +ak47ids.com +akaedu.org +akaifa.com +akaiwl.com +akandou.com +akaxin.com +akbe.com +akbkgame.com +akdanji.com +akerp.com +akey.im +akey.me +akeyun.com +akhtm.com +akhy.com +akinoheya.com +akjunshi.com +akkogear.com +akng.net +akniu.com +aknzb.com +akomr.com +akoofs.com +akppt.net +akr-developers.com +akscan.com +akswe.com +aksxw.com +aku.pub +akuaikan.com +akuziti.com +akyiyou.com +akylq.com +al-jin.com +al8l.com +alabmed.com +alaccountant.com +alacun.com +aladdin-e.com +aladdinnet.com +alading123.com +alai.net +alameal.com +alanyhq.com +albbzjx.com +albltc.com +aldcup.com +aldeee.com +aldnew.com +aldtop.com +aldwx.com +aledeco-hk.com +aleest.com +alenshaw.com +alertover.com +alexa.sx +alexandraeden.com +alexyan.cc +aleyoo.com +alfeng.com +alfheim.cc +algorithmart.com +ali213.com +ali213.net +ali37.net +ali727.com +aliagain.com +alianhome.com +aliapp.com +aliapp.org +aliavv.com +alibaba-inc.com +alibaba.com +alibaba.net +alibabacloud.com +alibabacorp.com +alibabadns.com +alibabadoctor.com +alibabafapiao.com +alibabagroup.com +alibabaonline.com +alibabapictures.com +alibabaplanet.com +alibabatech.org +alibabaued.com +alibabausercontent.com +alibjyun.com +alibjyun.net +alibole.com +alibuybuy.com +alicall.com +alicdm.com +alicdn.com +alicdngslb.com +alicelj.com +alicloudapi.com +alicloudccp.com +alicloudlayer.com +alicloudsec.com +alicloudwaf.com +alicontainer.com +alidata.org +alidayu.com +alidns.com +aliedge.com +alienfans.net +alientek.com +aliexpress-media.com +aliexpress.com +aliexpress.ru +alifabu.com +alifanyi.com +aligames.com +aligaofang.com +aligfwaf.com +alihd.net +alihuahua.com +aliimg.com +alijijinhui.org +alijk.com +alikunlun.com +alikunlun.net +alili.tech +aliliying.com +aliloan.com +alimama.com +alimebot.com +alimmdn.com +alinx.com +alinx.vip +aliog.com +alip.biz +alipanso.com +alipay-eco.com +alipay.com +alipay.hk +alipay.net +alipaycs.com +alipaydev.com +alipaydns.com +alipaylog.com +alipayobjects.com +alipcsec.com +aliplay.com +aliplus.com +aliqiche.com +aliresearch.com +alisoft.com +alisonedwina.com +alisports.com +alitchina.com +alithefox.net +alithon.com +alitrip.com +alitrip.hk +aliued.com +aliunicorn.com +aliuv.com +alivecdn.com +alivl.com +alivv.com +alivv.net +aliway.com +aliwd.com +aliwears.com +aliwx.net +alixiaozhan.net +alixinwen.com +alixixi.com +alixox.com +aliyiyao.com +aliyue.net +aliyun-cdn.com +aliyun-inc.com +aliyun-ns.com +aliyun-youhui.com +aliyun.com +aliyun.org +aliyun365.com +aliyunbaike.com +aliyuncdn.com +aliyunceng.com +aliyuncs.com +aliyundaiwei.com +aliyunddos0002.com +aliyunddos0005.com +aliyunddos0006.com +aliyunddos0010.com +aliyunddos0018.com +aliyunddos0019.com +aliyunddos0020.com +aliyunddos0023.com +aliyunddos0026.com +aliyunddos0027.com +aliyunddos0029.com +aliyunddos0030.com +aliyunddos1001.com +aliyunddos1002.com +aliyunddos1003.com +aliyunddos1004.com +aliyunddos1005.com +aliyunddos1006.com +aliyunddos1007.com +aliyunddos1009.com +aliyunddos1010.com +aliyunddos1011.com +aliyunddos1012.com +aliyunddos1013.com +aliyunddos1014.com +aliyunddos1015.com +aliyunddos1016.com +aliyunddos1017.com +aliyunddos1018.com +aliyunddos1019.com +aliyunddos1020.com +aliyunddos1021.com +aliyunddos1022.com +aliyunddos1023.com +aliyunddos1025.com +aliyunddos1026.com +aliyunddos1028.com +aliyunddos1029.com +aliyunddos1030.com +aliyundrive.com +aliyunduncc.com +aliyundunwaf.com +aliyunedu.net +aliyunfuwuqi.com +aliyunga0018.com +aliyungf.com +aliyunhn.com +aliyunj.com +aliyunlive.com +aliyunoos.com +aliyunpds.com +aliyunqifu.com +aliyuntest0161.xin +aliyunwaf.com +aliyunwaf1.com +aliyunwaf2.com +aliyunwaf3.com +aliyunwaf4.com +aliyunwaf5.com +aliyunyh.com +alizhaopin.com +alizila.com +alkuyi.com +all3c.com +all4seiya.net +allappapi.com +allawnfs.com +allawntech.com +allbrightlaw.com +allchinahardware.com +allchips.com +allcitygo.com +allcitysz.net +alldk.com +alldobetter.com +alleadprint.com +allfang.com +allfunnies.com +allhistory.com +allianz360.com +allibook.com +alliedjeep.com +allinfinance.com +allinpay.com +allinpayhb.com +alliread.com +alllget.com +alllook.tv +allmaga.net +allnow.com +allok.wang +alloyteam.com +allpayx.com +allposs.com +allpyra.com +allrace.com +allsenseww.com +allstack.net +allstor.org +alltoall.net +alltobid.com +alltosun.com +alltuu.com +allwin368.com +allwinnertech.com +allwinso.com +allyes.com +allyes.net +allystar.com +alma-intl.com +aloha-ukulele.com +alonemonkey.com +along.party +alongsky.com +alookbrowser.com +alookql.com +alookweb.com +alpaca.run +alpha-browser.com +alpha-star.org +alphabole.com +alphafun.com +alsovalue.com +alswl.com +altstory.com +altxw.com +aluaa.com +alumni-cn.org +alumni-scut.org +aluntan.com +alwaysdesign.xin +alwaysnb.com +alwindoor.com +alxw.com +alyisheng.com +alyssaeileen.com +alyzq.com +am774.com +am89.com +amaomb.com +amap.com +amarsoft.com +amassfreight.com +amaxchina.com +amazeui.org +amazfit.com +amazingsys.com +amazon1688.com +ambassador-sh.com +ambassadorchina.com +amberbj.com +amberedu.com +ambereduwh.com +ambition-soft.com +ambkct.com +ambow.com +amchamchina.org +amdotibet.com +amec-inc.com +amemv.com +americachineselife.com +americanobgyn.com +ameson.org +amethystum.com +amexpressnetwork.com +amfproject.org +amgbs.com +amgepic.com +amh.sh +amhimalayanet.com +amhl.net +amhnn.com +amicool.net +amif-expo.com +amijiaoyu.com +aminer.org +aminglinux.com +aminoacid-jirong.com +amo9.com +amobbs.com +amon.org +amon1997.com +ampc8.com +ampcn.com +amplesky.com +ampmake.com +ampxl.com +ams-ic.com +amsjsy.com +amsoveasea.com +amssro.net +amsxdc.com +amtron-ic.com +amuletj.com +amuletor.com +amunion.com +amuren.com +amwayapp.com +amwiki.org +amysql.com +amyxun.com +amz123.com +amz520.com +amzcaptain.com +an-ran.com +analysysdata.com +analytics-china.com +analyticskey.com +anandoor.com +anank.ke +ananzu.com +anatuprak.com +anav.com +anbang-life.com +anbanggroup.com +anchengcn.com +anchi-china.com +anchnet.com +ancii.com +ancun.com +and568.com +anda1516.com +andaike.com +andan.me +andefz.com +andeyi1688.com +andhj.com +andisoon.com +andpay.me +andreader.com +android-doc.com +android-studio.org +androidchina.net +androidcookie.com +androidinvest.com +androidmi.com +androidonline.net +androidonlines.com +androidperformance.com +androidvista.com +androidx86.net +andwi.com +andyiac.com +andyron.com +andyx.net +ane56.com +aneasystone.com +anf-z.com +anfan.com +anfang086.com +anfantech.com +anfeng.com +anfensi.com +angeeks.com +angel-game.net +angel-usa.com +angelhome.org +angeljjangnara.com +angell-studio.com +angellsec.com +angelmom.org +angelyeast.com +angelyeast.ru +angesi16.com +angiefans.com +angli.me +anglo-chinese.com +angogotech.net +angroups.com +angruo.com +angrymiao.com +anguanjia.com +angui.org +angwei.net +anhei2.com +anhei3.net +anheng.com +anhkgg.com +anhouse.com +anhuaedu.com +anhui365.net +anhuigwy.org +anhuihouniao.com +anhuihr.com +anhuilife.com +anhuimobile.com +anhuinews.com +anhuiry.com +aniccw.net +aniceapp.com +anicoga.com +anijue.com +animalchina.com +animationcritics.com +animetaste.net +anitama.net +anitoys.com +aniu.so +aniu.tv +anix.xyz +anji-ceva.com +anji-logistics.com +anji-tonghui.com +anji66.net +anjian.com +anjianghu.net +anjimicro.com +anjismart.com +anjuke.com +anjukestatic.com +ankang06.org +ankangrc.com +ankangwang.com +ankebio.com +ankelife.com +ankerjiedian.com +ankevip.com +ankichina.net +ankki.com +anlaiye.com +anlibaby.com +anlink.com +anlogic.com +anlu114.com +anmobc.com +anmoxiansheng.com +anmoyi98.com +ann9.com +annangela.moe +annchain.io +anneishuo.com +annelhair.com +annhe.net +annto.com +anoah.com +anonym-hi.com +anorectal.net +anosmcloud.com +anoyi.com +anqingonline.com +anqn.com +anquan.info +anquan.org +anquan35.com +anquanbao.com +anquanke.com +anquanone.com +anquanquan.info +anquantong.com +anquanxia.com +anquanzhuomian.com +anqunzhi.com +anrayer.com +anren.org +anrenmind.com +anruichina.com +ansgo.com +anshi7.com +anshouji.com +ansiding.com +ansky.com +ansteelgroup.com +ant-clean.com +ant78.com +anta.com +antairui.net +antarx.com +antbuyhot.com +antcloud-miniprogram.com +antcut.com +antdtheme.com +antdv.com +antebao.com +antebo.com +antfin-inc.com +antfin.com +antfortune.com +antgroup.com +anticheatexpert.com +antiy.com +antiy.net +antpedia.com +antpool.com +antriver.com +antrol.com +antrtb.com +antsdaq.com +antspainter.org +antuan.com +antuan365.com +antuan532.com +antuni.com +antutu.com +antutu.net +antuzhi.com +antvr.com +antzk.com +anw.red +anw8.com +anweishi.com +anweizhi.com +anwen.cc +anxcn.com +anxhu.com +anxia.com +anxiaoer.com +anxin.com +anxin360.com +anxin360.net +anxinapk.com +anxindavisa.com +anxindeli.com +anxinlirong.com +anxinmai.com +anxinssl.com +anxinyisheng.com +anxiu.com +anxiw.com +anxjm.com +anxz.com +any123.com +any8.com +anyan.com +anyang100.com +anyangedu.com +anyant.com +anybeen.com +anydd.com +anyelse.com +anyew.com +anyforweb.com +anygame.info +anyiidc.com +anyilv.com +anyka.com +anyknew.com +anymcu.com +anymetre.com +anyoy.com +anyrtc.io +anysdk.com +anysql.net +anytesting.com +anytranscription.com +anyuantec.com +anyunjianzhan.com +anyv.net +anyway.fm +anywlan.com +anywood.com +anyxz.com +anzerclub.com +anzext.com +anzhen.org +anzhi.com +anzhibao.com +anzhitan.com +anzhixun.com +anzhuoapk.com +anzhuotan.com +anzhuowo.com +anzogame.com +anzow.com +ao-hua.com +aoao365.com +aoaob.com +aoapp.com +aobacore.com +aobaishi.com +aobo62.com +aobosoft.com +aoc.com +aocde.com +aocdn.com +aoch.com +aoclia.com +aocslb.com +aodabo.tech +aodaliyaqianzheng.com +aoddoll.com +aodeng.cc +aodianyun.com +aodingsy.com +aoedi.com +aoerdz.com +aoetech.com +aofenghuanjing.com +aograph.com +aohuasports.com +aoidf3.com +aojauto.com +aojian.net +aojian2.net +aojiaostudio.com +aojiyingyu.com +aojiyouxue.com +aojiyuke.com +aojoo.com +aoju.net +aokangsports.com +aolai.com +aolaigo.com +aoliday.com +aolylcd.com +aomeng.net +aomoxo.com +aomygod.com +aomygodstatic.com +aonaotu.com +aoofu.com +aoogee.com +aoomoo.com +aoratec.com +aoscdn.com +aosens.com +aoseo.com +aoserp.com +aoshitang.com +aoshowsh.com +aoshu.com +aosong.com +aosoo.com +aoswtc.com +aotian.com +aotocn.com +aotrip.net +aotu.io +aotuzuche.com +aowei.com +aowenmarketing.com +aoxingboli.com +aoxingsujiao.com +aoxintong.com +aoxtv.com +aoya-hk.com +aoyanchang.com +aoye.com +aoyii.com +aoyor.com +aoyotech.com +aoyou.cc +aoyou.com +aoyou365.com +aoyoux.com +aoyuge.com +aoyunque.com +aozehuanbao.com +aozhanls.com +aozhougoufang.com +aozhuanyun.com +ap88.com +apa.me +apabi.com +apachecn.org +apad.pro +apcdianyuan.com +apcdns.net +apclc.com +apcupse.com +apdcdn.com +apdnews.com +ape8.com +apeeri.com +apehorse.com +apeiwan.com +apelearn.com +apesk.com +apetdog.com +apexmic.com +apexyun.com +apeyun.com +apgblogs.com +apgoview.com +aphidic.com +api.bz +apiadmin.org +apiairasia.com +apicase.io +apicloud.com +apicvn.com +apigwtencent.com +apiview.com +apizb.com +apizl.com +apizza.cc +apizza.net +apk3.com +apk8.com +apkevery.com +apkgu.com +apkjam.com +apkplug.com +apkrj.com +apkyx.com +apkzu.com +aplan.tv +aplum-inc.com +aplum.com +apluscap.com +aplusunion.com +apmarry.com +apmbooth.com +apme-magnetics.com +apmvista.com +apnring.com +apollo.auto +apollotop.com +apous.com +apowo.com +apowogame.com +apoyl.com +app-123.com +app-echo.com +app-measurement.com +app-router.com +app-sage.com +app-store.name +app-web-seo-aso.com +app-zh.com +app001.com +app111.com +app111.org +app1116.app +app17.com +app178.com +app2pixel.com +app4cms.net +app86.com +app887.com +appadhoc.com +apparelsos.com +appbi.com +appbk.com +appbocai.com +appbsl.com +appbyme.com +appbz.info +appc1.com +appccc.com +appchina.com +appchizi.com +appcoo.com +appcool.com +appcpa.net +appcpx.com +appcup.com +appdao.com +appdown.info +appdp.com +appduu.com +appeasou.com +appgame.com +appganhuo.com +appgenuine.com +appgz.com +appicplay.com +appjiagu.com +appjzy.com +appkaifa.com +appkefu.com +appkg.com +appldnld.apple.com +appldnld.g.aaplimg.com +apple110.com +apple4.us +apple88.net +apple886.com +appleads-trk.com +appleadstech.com +applebl.com +applehunt.com +appleid.cdn-apple.com +appletuan.com +applex.net +applicationloader.net +applinzi.com +applysquare.com +applysquare.net +appmifile.com +appnode.com +appotronics.com +apppoo.com +appqingshu.com +apprcn.com +appresource.net +apps.apple.com +apps.mzstatic.com +apps.samsung.com +apps121.com +appscan.io +appsflower.com +appshike.com +appsimg.com +appsina.com +appstochina.com +apptao.com +appubang.com +appublisher.com +appurl.cc +appurl.me +appving.com +appvipshop.com +appvv.com +appweiyuan.com +appwill.com +appwuhan.com +appwuhan.net +appxcode.com +appxzz.com +appyao.com +appying.com +appykt.com +appzhonghua.com +appzhu.com +apsgo.com +apt.so +aptchina.com +aptchip.com +aptenon.com +apusic.com +apxm.net +aqara.com +aqb.so +aqbxcdn9.com +aqbz.org +aqdcdn.com +aqdesk.com +aqdh.com +aqdkc.com +aqdog.com +aqdstatic.com +aqee.net +aqfen.com +aqhbq.com +aqhuayu.com +aqidb.org +aqioo.com +aqisite.com +aqiyi.com +aqniu.com +aqqcx.com +aqquan.org +aqtd.com +aqtxt.com +aquacity-tj.com +aquanutriera.com +aquanyou.com +aquapipetech.com +aquayee.com +aqueck.com +aqumon.com +aqyun.com +aqyzm.com +aqzpw.com +aqzt.com +aqzyzx.com +ar-max.com +aragexpo.com +arapp.online +arayzou.com +arc-uds.com +arcas-da.com +arccode.net +arcdmi.com +archcollege.com +archcy.com +archermind.com +archeros.com +archerpeng.com +archery8.com +archerysalon.com +archgo.com +archi-motive.com +archiant.com +archidead.net +archina.com +archina.org +archiname.com +archio.pro +architbang.com +archlinuxmips.org +archsummit.com +arcsoftai.com +arctime.org +ardsec.com +areachina.com +areader.com +arebz.com +arefly.com +arenacdn.com +ares.dl.playstation.net +arestech-sz.com +arhieason.com +arhoo.com +aria2.org +ariesmob.com +arinchina.com +aris.la +arisastar.com +arkfeng.xyz +arkn81.com +arkoo.com +arkrdigital.com +arkread.com +arkteam.net +arliki.com +arm001.com +arm9.net +arm9home.net +armbbs.net +armchina.com +armsword.com +armystar.com +arocmag.com +arp.cc +arpg2.com +arpun.com +arrail-dental.com +arrow-tower.com +arrowos.net +art-ba-ba.com +art-child.com +art138.com +art2500.com +art456.com +artacode.com +artbeijing.net +artbookinchina.com +artcns.com +artddu.com +artebuy.com +artech-graphite.com +artfinace.com +artfoxlive.com +artgohome.com +artgoin.com +arthome163.com +arthurchiao.art +arti200.com +artimg.net +artintern.net +artlinkart.com +artliving.tv +artlnk.com +artoolinks.com +artopia-group.com +artp.cc +artplusall.com +artpro.com +artrade.com +artron.net +artronimages.com +artrus.net +arts-kunst.com +artsbuy.com +artsncollections.com +artvisioncg.com +artwe.com +artwer.com +artww.com +artxuanyi.com +artxun.com +arvato-ocs.com +arvinhk.com +aryasec.com +as-doll.com +as-exchange.com +as-hitech.com +as3f.com +as5.com +asaki.me +asao.com +asbeijing.com +asc-wines.com +aschina.org +aschtj.com +asciima.com +asczwa.com +asczxcefsv.com +asd868.com +asdyf.com +asean-china-center.org +aseantradecenter.com +aseoe.com +asfzl.net +asgxsy.com +ashan.org +ashj.com +ashvsash.com +ashvsash.net +asia-dns.com +asiabt.com +asiaci.com +asiacool.com +asiacorp.net +asiae.com +asiaeap.com +asiafactor.com +asiafpd.com +asiaidc.net +asiainfo-sec.com +asiainfo.com +asiainfodata.com +asianewsphoto.com +asiarobot.net +asifadeaway.com +asilu.com +asimi8.com +askci.com +asketchup.com +asklib.com +asklicai.com +askmaclean.com +askpanda.cc +askququ.com +asktao.com +askxt.org +aslzw.com +asm64.com +asnlab.com +asnlab.org +aso.ink +aso100.com +aso114.com +aso120.com +asoasm.com +asomob.com +asoulfan.com +asp163.net +asp168.com +asp300.com +asp8php.com +aspbc.com +aspcool.com +aspire-info.com +aspirecn.com +aspirer.wang +aspku.com +aspnet.tech +aspsky.net +aspx.cc +aspxhome.com +aspxhtml.com +asqql.com +asrmicro.com +asrsingapore.com +assbbs.com +assets-global.viveport.com +assets.analog.com +assets.uxengine.net +assets.volvocars.com +assrt.net +astbbs.com +astestech.com +astfc.com +asthis.net +astorpiano.com +astrocn.org +astron.ac +astronautchina.com +astropulsion.com +asussmart.com +asussz-zp.com +aswetalk.net +asyzonline.com +at-siac.com +at0086.com +at0086.net +at58.com +at78.com +at851.com +at864.com +at98.com +ata-edu.com +ata-test.net +atacchina.com +ataoju.com +ataozx.com +atatech.org +atbug.com +atcc360.com +atchip.com +atcontainer.com +atcpu.com +atctest.org +atelier39.org +atf.com +atfeng.com +atfjk.com +atguigu.com +atguigu.org +athaitao.com +athmapp.com +atianqi.com +atido.com +ating.info +atitsc.com +atiyun.com +atjiang.com +atlas1688.com +atm988.com +atmbox.com +atobo.com +atomhike.com +atomic-art.com +atomwuxi.com +atool.org +atool9.com +atoolbox.net +atop.fun +atpanel.com +atriumlee.com +atstudy.com +attakids.com +attri.mobi +attyou.com +atuoyi.com +atwtech.net +atxwm.com +atyun.net +atzjg.net +atzlinux.com +atzuche.com +auak.com +aucanlink.com +aucnln.com +audio160.com +audiobookbay.nl +audiobuy.cc +audiocn.com +audiocn.org +audiofamily.net +audiy.com +audlabs.com +audley-printer.com +augsky.com +augth.com +augurit.com +auiou.com +auly.com +aunapi.com +auniontech.com +aunload.com +aupu.net +aurogon.com +auroivf.com +auromcs.com +ausaview.com +ausbio.com +auscoo.com +ausdn.com +aushinelyn.com +aushy.com +ausny.com +auspous.com +aussino.net +austargroup.com +austarskill.com +austarstudy.com +ausuu.com +auto-beijing.com +auto-ccpit.org +auto-learning.com +auto-made.com +auto-mooc.com +auto-purify.com +auto-wo.com +auto000.com +auto18.com +auto318.com +auto328.com +auto333.com +auto510.com +auto6s.com +auto98.com +autoai.com +autobaidu.com +autobizreview.com +autocamel.com +autochina360.com +autochips.com +autodg.com +autodmp.com +autodry.net +autodwg.com +autoesd.com +autofull.net +autogslb.com +autoharbin.org +autoho.com +autohome.com +autohr.org +autoitx.com +autojingji.com +autojkd.com +autojs.org +autonavi.com +autono1.com +autoparts-yoto.com +autophagy.net +autoplansearch.com +autoprotect365.com +autoqingdao.com +autoshanghai.org +autosmt.net +autospaceplus.com +autosup.com +autozw.com +auwinner.com +auxgroup.com +auyou.com +av-ic.com +av010.com +av199.com +av2.me +av269.com +av380.net +avacvisa.com +avalon.pw +avalon233.com +avanpa.com +avatarmind.com +avatarmobi.com +avc-mr.com +avc-ott.com +avc.com.tw +avdll.com +aves.art +avexchina.com +avgh5.com +avhome.net +avic.com +avic021.com +avicnews.com +avicone.com +avicsec.com +avicui.com +avivaqueen.com +avivasign.com +avlsec.com +avlyun.com +avnpc.com +avoscloud.com +avq360.com +avqrw.com +avrvi.com +avrw.com +avtechcn.com +avtt0033.com +avtt830.com +aw-ol.com +aw.cc +aw99.com +awaimai.com +awaker.net +awaysoft.com +awbang.com +awc618.com +awcloud.com +awcn.cc +aweb.cc +awehunt.com +awemeughun.com +awesome-bruce.me +awinic.com +awjiaju.com +aword.net +awotuan.com +awoyun.com +awsdns-cn-57.com +awsok.com +awspal.com +awstar.net +awtmt.com +awuming.com +awx1.com +ax1x.com +ax2nc4.ren +ax630.com +axatp.com +axbsec.com +axbxw.com +axcf.com +axera-tech.com +axfys.com +axhub.im +axjsw.com +axmag.com +axmro.com +axnsc.com +axshuyuan.com +axtmy.com +axtoutiao.com +axuer.com +axure.org +axure.us +axureshop.com +axureux.com +axureyun.com +axxiaoshuo.com +axyxt.com +axzchou.com +axzlk.com +ay57.com +ay99.net +aycav.com +ayfdc.com +ayfy.com +ayguge.com +ayibang.com +ayidada.com +ayijx.com +ayilaile.com +ayjs.net +ayqy.net +ayrbs.com +ayuren.com +ayurumen.com +ayushan.com +ayux.net +ayxbk.com +ayxz.com +azber.com +azbingxin.com +azchcdna.com +azchcdnb.com +azchcdng.com +azchcdnj.com +azchcdnm.com +azfashao.com +azg168.com +azhimalayanvh.com +azhituo.com +azhjt.com +azooo.com +azoyacdn.com +azoyagroup.com +azurew.com +azureyun.com +azycjd.com +azyx.com +azz.net +b-chem.com +b-eurochina.com +b-fairy.com +b086.com +b0w.me +b178.com +b1bj.com +b1qg.com +b1uew01f.net +b23.tv +b2b-builder.com +b2b.biz +b2b168.com +b2b168.net +b2b168.org +b2b179.com +b2b6.com +b2b98.net +b2baa.com +b2bic.com +b2bname.com +b2bneican.com +b2bvip.com +b2bvip.net +b2cedu.com +b2q.com +b355.cc +b35ii.com +b3inside.com +b5200.net +b5b6.com +b5esports.me +b5m.com +b612.me +b612kaji.com +b6ss.com +b780.com +b7l.cc +b8yx.com +ba-li.com +ba125.com +ba210.com +baaidu.com +baalchina.net +baba.cc +baba100.com +bababian.com +bababus.com +babaike.com +babaimi.com +babaipu.com +babao.com +babaofan.com +babapi.com +babariji.com +babaxiong.com +babeijiu.com +babidou.com +babidou.net +babihu.com +babsoft.net +baby-bus.com +baby169.net +baby577.com +baby611.com +baby868.com +babybus.com +babybus.org +babycdn.com +babyinhere.com +babymob.com +babymoro.com +babymozart.cc +babyqiming.com +babytree.com +babytreeimg.com +bacao8.com +bacaoo.com +bacaosh.com +bacic5i5j.com +backzero.com +bacocis.com +badls.com +badmintoncn.com +badouxueyuan.com +badu.com +badudns.cc +baertt.com +bafafafa.com +bafangjuhe.com +bafangka.com +bafangwang.com +bagb2b.com +bagesoft.net +bagevent.com +bagew.com +bageyalu.com +bags163.com +bagtree.com +bagualu.net +bagxs.com +bahens.com +bai.com +bai68.com +baibailai.com +baibaoyun.com +baibianwukong.com +baibianyishu.com +baibm.com +baibo8.com +baibu.com +baic-hs.com +baicai.com +baicaio.com +baicaiyouxuan.com +baicaosoft.com +baicells.com +baichanghui.com +baicheng.com +baichenginedu.com +baichuanhd.com +baichuanhudong.com +baicizhan.com +baicizhan.org +baiclouds.com +baicmotor.com +baicmotorsales.com +baicongjun.com +baicuoa.com +baidajob.com +baidao.com +baidd.com +baidenafu.com +baideye.com +baidinet.com +baidouya.com +baidu-360-yyy-kubo.com +baidu-int.com +baidu-itm.com +baidu-mgame.com +baidu-umoney.com +baidu-wenxue.com +baidu.cc +baidu.cm +baidu.com +baidu.jp +baidu.mobi +baidu.net +baidu.to +baidu1.com +baidu120.cc +baidu123.com +baidu521.com +baiduads.com +baidubaidubaidu.com +baidubaidubaidu.net +baidubce.com +baiduc.com +baiducdnku.com +baiducontent.com +baidudaquan.com +baidufe.com +baidufree.com +baiduhua.com +baidulook.com +baidunongmin.com +baiduonce.com +baiduor.com +baidupan.com +baidupcs.com +baidusobing.com +baidustatic.com +baidutab.com +baidutieba.com +baidutt.com +baiduux.com +baiduv.com +baiduwebgame.com +baiduwpan.com +baiduyun.com +baiduyun.wiki +baiduyundns.com +baiduyundns.net +baiduyunpan.com +baiduyunpan.net +baiduyunsousou.com +baiduyy.com +baiduzhidao.site +baiduzjn.com +baieryk.com +baietu.com +baifan.net +baifendian.com +baifubao.com +baifumeiba.com +baigepo.com +baigeseo.com +baigm.com +baigo.net +baigongbao.com +baihe.com +baiheee.com +baihei.net +baihephoto.com +baihexs.com +baihong.com +baihui.com +baihuikangjt.com +baihuillq.com +baihuoke.com +baihuwang.com +baiila.com +baiinfo.com +baijiacloud.com +baijiahulian.com +baijiasheping.com +baijiasoft.com +baijiayun.com +baijiegroup.com +baijiekj.com +baijiexiu.com +baijincdn.com +baijindai.com +baijingapp.com +baijiu88.com +baijob.com +baijunyao.com +baikalminer.com +baike.biz +baike.com +baiked.com +baikemy.com +baikemy.net +baikezh.com +bailiaijia.com +bailiangroup.com +bailiban.com +bailiguangmang.com +bailitech.com +bailitop.com +bailuqixiu.com +baima.com +baimao-expo.com +baimao.com +baimaohui.net +baimda.com +baimei.com +baimg.com +baimiaoapp.com +baimin.com +baina.com +bainaben.com +baineng.cc +baiozhuntuixing.com +baipu365.com +baiqiaogame.com +baiqishi.com +baiquandai.com +baiquefahuasi.com +baironginc.com +bairuitech.com +baise520.com +baiseyun.com +baishakm.com +baishan-cloud.com +baishan.com +baishancloud.com +baishancloud.org +baishangeek.com +baishicha.com +baishishuju.com +baishixi.xyz +baishudata.com +baishunet.com +baisiker.com +baisu.com +baitaihuge.com +baiteng.org +baithu.com +baitianinfo.com +baitiao.com +baituibao.com +baiu.com +baiud.com +baiudu.com +baiven.com +baiwandz.com +baiwang.com +baiwantuan.com +baiwutong.com +baixiangxiang.com +baixiaosheng.net +baixing.com +baixing.net +baixingcdn.com +baixingfanli.com +baixingjd.com +baixingmall.com +baixingzixun.com +baixiong.online +baixiongz.com +baixiu.org +baixu.com +baiyangwang.com +baiye5.com +baiyewang.com +baiyi181.com +baiyiba.com +baiyinggd.com +baiyingtx.com +baiyintouzi.com +baiyjk.com +baiyou100.com +baiyouo.com +baiyu.tech +baiyuemi.com +baiyunairport.com +baiyundou.net +baiyuno.com +baiyunxitong.com +baiyuxiong.com +baizhan.net +baizhanke.com +baizhenzhu.com +baizhibest.com +baizhiedu.com +baizhixx.com +baizhu.cc +bajiebofang.com +bajiecaiji.com +bajiege.com +bajiehechuang.com +bajintech.com +bajiu.org +bakaawt.com +bakaxl.com +bakbitionb.com +bakchoi.com +bala.cc +baldc.com +baletu.com +balijieji.com +ballgametime.com +ballpure.com +balltv.cc +bama555.com +bamaiwo.com +bamaol.cc +bamaol.com +bamatea.com +bamaying.com +bamboo18.com +bamenzhushou.com +bamuyu.com +bananalighter.com +bananau.com +bananaumbrella.com +bananaunder.com +banbaise.com +banbao123.com +banbaowang.com +banbf.com +banciyuan.me +bandaoningmeng.com +bandari.net +bandcevent.com +bandenghui.com +bandengw.com +bandianli.com +bandoristation.com +bandubook.com +banfubbs.com +banfuzg.com +bang5mai.com +bangbang.com +bangbang93.com +bangbangbang.wang +bangbangrent.com +bangboer.net +bangboss.com +bangcle.com +bangdao-tech.com +banggo.com +banghaiwai.com +bangirls.com +bangkebao.com +banglianai.com +bangmai.com +bangnixia.com +bangongdashi.com +bangongyi.com +bangongziyuan.com +bangqi66.com +bangqiu.biz +bangqu.com +bangquan.net +bangrong.com +bangshouwang.com +bangthink.com +bangwo8.com +bangwo8.net +bangxuetang.com +bangyike.com +bangzechem.com +bangzhufu.com +banht.com +banjiajia.com +banjiamao.com +banjuanshu.com +bank-of-china.com +bank-swift-code.info +bankcomm.com +bankcomm.com.mo +bankcomm.com.tw +bankcz.com +bankgz.com +bankhr.com +bankkf.com +bankksw.com +bankofbbg.com +bankofchangsha.com +bankofchina.com +bankofdl.com +bankofliaoyang.net +bankofshanghai.com +bankoftieling.com +bankofyk.com +bankpublish.com +banksteel.com +bankyy.net +banluyoulian.com +banma-inc.com +banma.com +banmajsq.com +banmamedia.com +banmasrf.com +banpie.info +banqumusic.com +banri.me +bansha.com +banshier.com +bantangapp.com +bantangbuy.com +banwagong.men +banwojia.com +banxiayue.com +banyou.la +banyuetan.org +banyuetanxcx.com +banyunjuhe.com +banzou.name +banzouku.com +bao-cun.com +bao-fang.com +bao-hulu.com +bao-jian.net +bao100.com +bao12333.com +bao21.com +bao315.com +bao369.com +baobao.com +baobao001.com +baobao18.com +baobao88.com +baobaobang.com +baobaoshu.com +baobaotd.com +baobei360.com +baobeicang.com +baobeigezi.com +baobeihr.com +baobeihuijia.com +baobeita.com +baobeituan.com +baobidai.com +baocai.com +baocdn.com +baodan360.com +baodaohealth.com +baodaosz.com +baodaren.net +baodigs.com +baodingmeishi.com +baodingtrade.com +baodu.com +baofeng.com +baofeng.net +baofeng365.com +baofengcinema.com +baofengtuandui.com +baofengzixun.com +baofoo.com +baofoo.net +baofu.com +baogang.info +baogao.com +baogao.store +baogaoting.com +baoge.net +baoguangsi.org +baohebao.com +baohuagroup.com +baoimg.net +baojia.com +baojianpu.com +baojiazhijia.com +baojidaily.com +baojiehang.com +baojijob.com +baojinews.com +baojinling.com +baojunev.com +baokan.name +baokan.tv +baoku.com +baokuandi.com +baokutreasury.com +baolaina.cc +baoltx.com +baomi.com +baomi365.com +baomihua.com +baoming.com +baomitu.com +baoqin.com +baoqingvip.com +baoruan.com +baoshe.net +baoshuanglong.com +baoshuiguoji.com +baoshuo.ren +baosiair.com +baosight.com +baosteel.com +baostock.com +baotime.com +baotoushizx.com +baotuba.com +baowu.com +baowugroup.com +baoxian.com +baoxianhai.com +baoxianshichang.com +baoxianzx.com +baoxiaobar.com +baoxinleasing.com +baoxinwen.com +baoxuexi.com +baoyang1.com +baoyang888.com +baoyangcs.com +baoyatu.cc +baoyeah.com +baoyou5.net +baoyt.com +baoyung.com +baoyuntong.com +baoyz.com +baoz.net +baozang.com +baozha.net +baozhayun.cloud +baozhenart.com +baozheng.cc +baozhilin.com +baozhuang.biz +baozhuang5.com +baozhuangren.com +baozifa.com +baozipu.com +baozou.com +baozoudi.com +baozoumanhua.com +baozouribao.com +baozy.com +baping.com +baqima.com +baqiu.com +baquge.com +baquge.tw +barmap.com +baron-bj.com +barretlee.com +bartender.cc +base64.us +base9174.com +basecity.com +basemu.com +basequan.com +basestonedata.com +bashan.com +bashuhuapai.com +bashuku.com +basiccat.org +basicfinder.com +bastengao.com +bat120.com +bathome.net +batian.net +batmanit.com +batplay.com +batpool.com +battery-cert.com +batterydir.com +batterykey.com +battleofballs.com +baudu.com +baufortune.com +bauschlombchina.com +bawagon.com +bawanglongbengye.com +baxi.tv +baxiami.com +baxichina.com +baybox.club +baydn.com +baye.tech +bayescom.com +bayimob.com +bayinfu.com +bayinh.com +bayinmao.com +baytaku.com +bayuegua.com +bayueju.com +bayueweb.com +bayunhome.com +bayxs.com +bazaarjewelrychina.com +bazai.com +bazhan.com +bazhou.com +bazhua.me +bazhuay.com +bazhuayu.cc +bazhuayu.com +bazi.cloud +bazi5.com +bazp.net +bb-edu.com +bb-game.com +bb-pco.com +bb-seo.com +bb06.com +bb179.com +bbanp.com +bbaod.com +bbaqw.com +bbb77qqq.xyz +bbbaaa.com +bbbao.com +bbbb.com +bbbbbb.me +bbbtgo.com +bbbvip.com +bbc-sy.com +bbcmart.com +bbcss.com +bbctop.com +bbcyw.com +bbdservice.com +bbdup.com +bbdzj.com +bbercn.com +bbfstore.com +bbgsite.com +bbgstatic.com +bbicn.com +bbioo.com +bbiquge.com +bbjkw.net +bbk.com +bbkantu.com +bbmar.com +bbmy.net +bbobo.com +bbonfire.com +bbped.com +bbpose.com +bbppav.com +bbqe.com +bbqk.com +bbqmw.net +bbrtv.com +bbs-go.com +bbs1x.net +bbsaso.com +bbsds.com +bbse03.com +bbsheji.com +bbsls.net +bbsmax.com +bbsnet.com +bbsut.com +bbsxp.com +bbtang.info +bbtcaster.com +bbtkid.com +bbtree.com +bbtw.net +bbugifts.com +bbwfish.com +bbwxbbs.com +bbxinwen.com +bbytpjm.com +bbzhh.com +bbzhi.com +bbzplhy.com +bc12345678.com +bcactc.com +bcadx.com +bcb5.com +bcbanzou.com +bcbm55555.com +bcbm66666.com +bcbm688.com +bcbpm.com +bcbvi.com +bccbcdf6shjm.com +bccfw.com +bccn.net +bccnsoft.com +bccv.com +bcczbj.com +bcdaren.com +bcdy.net +bceapp.com +bcebos.com +bcedns.com +bcedns.net +bcedocument.com +bcegc.com +bceimg.com +bcelive.com +bcevod.com +bcitb.com +bcjy123.com +bclsw.com +bcmcdn.com +bcmeng.com +bcoderss.com +bcpcn.com +bcrealm.com +bcreat.com +bcrjl.com +bcsec.org +bcsytv.com +bctest.com +bctmo.com +bcty365.com +bcvbw.com +bcweibo.com +bcwhy.com +bcwxfy.com +bcxgame.com +bcxww.com +bcy.net +bcyimg.com +bczcdn.com +bczs.net +bczx.cc +bd-apaas.com +bd-caict.com +bd-film.cc +bd-film.co +bd-film.com +bd001.net +bd2020.com +bd689.com +bdall.com +bdapark.com +bdatu.com +bdc-rays.com +bdchina.com +bdcloudapi.com +bdclouddns.com +bdf2.com +bdf304.com +bdfkb.com +bdfzcd.net +bdfzgz.net +bdfzxj.net +bdgslb.com +bdhaoye.com +bdhuakan.com +bdi.pub +bdimg.com +bdinfo.net +bditong.com +bdkssc.com +bdkyr.com +bdmp4.com +bdpan.com +bdqn027.com +bdqn666.com +bdqnwh.com +bds-cn.com +bdsgps.com +bdshuang.com +bdsimg.com +bdstar.com +bdstatic.com +bdstatlc.com +bdsye.com +bdtic.com +bdtjs.org +bdtkba.com +bdtm.net +bdurl.net +bdwater.com +bdwm.net +bdwork.com +bdx100.com +bdxdnj.com +bdxhj.com +bdxiaodai.com +bdxiguaimg.com +bdxiguastatic.com +bdxiguavod.com +bdxx.net +bdydns.com +bdydns.net +bdysite.com +bdyxzx.com +be-xx.com +be90.com +beacons.gcp.gvt2.com +beacons.gvt2.com +beacons2.gvt2.com +beacons3.gvt2.com +beadwallet.com +bear20.com +bearad.com +bearead.com +beargoo.com +bearjoy.com +bearminers.xyz +bearrental.com +bearyboard.com +bearychat.com +beasure.com +beats-digital.com +beatu.net +beautifullinux.com +beautifulzzzz.com +beautydiarytw.com +bechangedt.com +bedtimepoem.com +beduu.com +bee-ji.com +bee-net.com +beebeepop.com +beebeeto.com +beecook.com +beedancing.com +beego.me +beejson.com +beekka.com +beelink.com +beemarket.tv +beep365.com +beeplay123.com +beervm.club +beervm.xyz +beeshow.tv +beestor.com +beestore.tv +beeui.com +beevideo.tv +beeweart.com +begcl.com +begindcc.com +bego.cc +begoto.com +begowin.com +begup.com +behake.com +behe.com +bei1688.com +beian88.com +beianapi29.com +beianapi30.com +beianidc.com +beianw.net +beibaozq.com +beibei.com +beibeicdn.com +beibj.com +beicdn.com +beichenzheng.net +beidahuang.net +beidamusic.com +beidasoft.com +beidd.com +beidian.com +beidoou.com +beidou.org +beidou66.com +beidouone.com +beidousafety.org +beidousj.com +beidouxingxueche.com +beieryouxi.com +beifabook.com +beifang.net +beifangfoshifen.com +beifangyanxue.net +beifeng.com +beifengwang.com +beifuni.com +beiguorc.com +beihai365.com +beihaidc.com +beihaiting.com +beihuasoft.com +beiidc.com +beijing-hmo.com +beijing-hualian.com +beijing-ip.com +beijing-kids.com +beijing-marathon.com +beijing-time.org +beijing120.com +beijingbang.com +beijingbaomu.com +beijingcenterforthearts.com +beijingfenxiangkeji.com +beijingidc.com +beijingjuyuan.com +beijingkbd.com +beijingnorthstar.com +beijingoperacats.com +beijingrc.com +beijingrc.net +beijingrenyi.com +beijingsheying.net +beijingtongxin.com +beijingtoon.com +beijingwenshendian.com +beijingxinzhuoyue.com +beike21.com +beikeapp.com +beikeba.com +beikeit.com +beikeread.com +beikongyun.com +beileike.com +beiliangshizi.com +beimai.com +beimeigoufang.com +beimeihongfeng.com +beimu.com +beingmate.com +beipy.com +beisen.com +beisencorp.com +beitaichufang.com +beitao8.com +beitown.com +beiwaibest.com +beiwaiclass.com +beiwaiguoji.com +beiwaionline.com +beiwaiqingshao.com +beiweigroup.com +beiwo.com +beiwo.tv +beiww.com +beixingmh.com +beiyanmaoyi.com +beiying.online +beiyongzhan.com +beiyuu.com +beiyxiu.com +beizengtech.com +beizi.biz +beizigen.com +beiziman.com +bej9.com +bejoin.net +bejson.com +belfone.com +belle8.com +belmeng.com +beltandroadforum.org +beltxman.com +bemfa.com +bemhome.com +bemyceo.com +benbenlong.xyz +benbenq.com +benber.com +benbun.com +bendibao.com +bendiw.cc +benellimotor.com +bengbeng.com +bengchedaquan.com +bengden.com +bengfa.biz +benghuai.com +bengku.com +bengou.com +bengtie.com +benhu.cc +benhu.com +benhu01.com +beniao.com +benimg.com +benkejieye.com +benkua.com +benlai.com +benlailife.com +benmu-health.com +bensedl.com +benseshijue.com +benshouji.com +benyh.com +benyht.com +benyouhui.com +benzhb.com +benzhibbs.com +benztu.com +bepal.pro +bequgew.com +bequgezw.com +berlinchan.com +berlinix.com +berqin.com +berrl.com +berrydigi.com +berryol.com +berui.com +bes.ren +besg-bee.com +beshtech.com +bessystem.com +best-inc.com +best-intl-school.com +best100design.com +best66.me +best73.com +bestapp.us +bestatic.com +bestb2b.com +bestbaijiu.com +bestbeibao.com +bestcake.com +bestcdn.vip +bestcem.com +bestcovered.com +bestdjb.com +bestdo.com +bestdvd.com.tw +bestebookdownload.com +bestechnic.com +bestedm.net +bestedm.org +bestexpresser.com +bestfangchan.com +bestfuturevip.com +bestgo.com +besticity.com +bestinwo.com +bestjy.net +bestlee.net +bestmephoto.com +bestopview.com +bestpay.net +bestpeng.com +bestqliang.com +bestshinhwa.com +bestsign.info +bestsign.tech +bestsrc.com +bestswifter.com +besttoneh.com +besttrav.com +bestv6.com +bestvapp.com +bestvist.com +bestwa.com +bestwehotel.com +bestweshop.com +bestzone.org +bet007.com +betaflare.com +betaidc.com +betajy.com +betamao.me +betanews.xyz +betawm.com +betazixun.com +betop-cn.com +betop365.com +betslw15.com +bettbio.com +betteredu.net +betterzip.net +betterzipcn.com +beva.com +bevol.com +bewellbio.com +beyebe.com +beyondbit.com +beyondcompare.cc +beyondcomparepro.com +beyondfund.com +beyonditsm.com +beyonds.com +beyoner.net +bf-z.com +bf35.com +bf92.com +bfcmovie.com +bfdcdn.com +bfdfe.com +bffzb.com +bfimg.com +bfjjw.com +bfjr.com +bfqh.com +bfqifu.com +bfsu-artery.net +bfsutw.com +bftq.com +bfttiao.com +bftv.com +bfvyun.com +bfw.cc +bfyx.com +bfyx.net +bfzhuce.com +bg.v4.a.dl.ws.microsoft.com +bg4.v4.a.dl.ws.microsoft.com +bgbk.org +bgc5.com +bgctv.com +bgcyygl.com +bgdeco.com +bgee.cc +bggd.com +bgk100.com +bgl88.com +bgmfans.com +bgmgw.com +bgmlist.com +bgren.com +bgrimm.com +bgsdk.net +bgsdyz.com +bgteach.com +bguai.com +bgwl.net +bgyfhyx.com +bgyjr.com +bh.sb +bh1t.com +bh3.com +bh4dks.com +bh5.com +bh8sel.com +bhdata.com +bhdns.net +bhfangchan.com +bhgmarketplace.com +bhgxq.com +bhhgallery.com +bhjck.com +bhjysp.com +bhk.mobi +bhnsh.com +bhpiano.com +bhrencai.com +bhuitong.com +bhxww.com +bhzhu203.com +bhzhuji.com +bhzpw.com +bhzyxy.net +biacgn.com +bian-min.com +biancheng.net +biancui.com +bianews.com +bianfeng.com +bianhao6.com +bianjibu.net +bianjiqi.net +bianjiyi.com +bianlidianjiameng.net +bianlifeng.com +bianlun.net +bianmachaxun.com +bianpingyou.com +biantaishuo.com +bianwa.com +bianwanjia.com +bianxianmao.com +bianxianwu.com +bianzhia.com +bianzhihui.com +bianzhile.com +bianzhirensheng.com +biao12.com +biaodan.info +biaodianfu.com +biaoge.com +biaoge.me +biaoju01.com +biaonimeia.com +biaoniu.net +biaopeibao.com +biaoqing.com +biaoqing233.com +biaoqing888.com +biaoqingjia.com +biaoqingmm.com +biaotukeji.com +biaoyi.com +biaoyu.org +biaozhiku.com +biaozhun.org +biaozhun8.com +biaozhuncang.com +biaozhuns.com +biaozhunyisheng.com +biask.com +bibenet.com +bibgame.com +bibibi.net +bibiku.com +bibitie.com +biblibili.com +bibuzhengxing.com +bicn.vip +bid-view.com +bidchance.com +biddingos.com +biddingx.com +bidemi.com +bidewu.com +bidianer.com +bidingxing.com +bidns.net +bidu.com +biduo.cc +biduobao.com +biduoxs.com +bidwhy.com +biebird.com +biede.com +biedoul.com +bieshu.com +bietongfeng.com +bieyangapp.com +bifabu.com +bifeige.com +bifong.com +big-bit.com +big-shanghai.com +bigaaa.net +bigaka.com +bigan.net +bigbaicai.com +bigbenmeng.com +bigbigsun.com +bigbigwork.com +bigc.at +bigcat.com +bigda.com +bigdata-expo.org +bigdata.ren +bigdatabbs.com +bigdatabuy.com +bigdataedu.org +bigdatasafe.org +bigdatastudy.net +bigdiao.cc +bigecko.com +bigehudong.com +bigemao.com +bigengculture.com +bigeniao.com +bigerdata.com +bigertech.com +bigeshuju.com +bigeyes.com +biggerlens.com +biggeryun.com +biggsai.com +bigherdsman.com +bightbc.com +bigjpg.com +bigma.cc +bigniu.com +bignox.com +bigops.com +bigplayers.com +bigqiao.com +bigrnet.com +bigsec.net +bigtree.mobi +biguo100.com +biguolunwen.com +bigwayseo.com +bigwinepot.com +bigwww.com +bigxiao.com +bigzhong.com +bigzhu.com +bihongbo.com +bihoo.com +bihu-static.com +bihu.com +bihubao.com +bii-erg.com +biikan.com +biji.io +biji13.com +bijiago.com +bijiao.org +bijiasso.com +bijiatu.com +bijienetworks.com +bijirim.com +bijiv.com +bijixia.net +bikecool.com +bikehome.net +biketo.com +biketour-giant.com +biknow.com +bilezu.com +bili.com +biliapi.com +biliapi.net +bilibii.com +bilibili.cc +bilibili.co +bilibili.com +bilibili.ru +bilibiligame.net +bilibilihelper.com +bilibilijj.com +bilibiliyoo.com +bilicdn1.com +bilicdn2.com +biligame.com +biligame.net +bilihot.com +biliimg.com +bilimoe.com +bilingling.com +bilinstar.com +bilive.com +bilivideo.com +biliyu.com +bill-jc.com +billchn.com +billionconnect.com +billionseo.com +billowlink.com +billwang.net +bilnn.com +bim-times.com +bim99.org +bimcn.org +bimo.cc +binaryai.net +binaryai.tech +binbinyl.com +bincailiuxue.com +binfen.tv +binfenyingyu.com +bing400.com +bingbing8.com +bingbingyy.com +bingchengwang.com +bingd.com +bingdian001.com +bingdian01.com +bingdong700.com +bingguner.com +binglai.net +binglanggu.com +binglingtech.com +binglixue.com +bingofresh.com +bingohuang.com +bingqipu.net +bingsin.com +bingsns.com +bingtuannet.com +bingwang.cc +bingyan.net +bingzhilv.com +binkery.com +binmt.cc +binmtplus.com +binpang.me +binqsoft.com +binstream.live +binuoniu.com +binvul.com +binyin.com +binzhi.com +binzhouquan.com +binzhuang.com +bio-equip.com +bio-fuyang.com +bio-review.com +bio360.net +bioberi.com +biocloud.net +biocome.com +biodiscover.com +biodiscover.net +biogo.net +biohyalux.com +bioktech.com +biolab.xyz +bionav.cc +bioon.com +bioon.net +biosren.com +biosrepair.com +biostatistic.net +biotecan.com +bipush.com +bipvcn.com +biqiga.com +biqige.cc +biqigewx.com +biqiudu.com +biqiuge.com +biqiwu.com +biqu6.com +biquan.link +biqubao.com +biqubu.com +biqudd.com +biqudu.com +biqudu.net +biqudu.tv +biqufu.com +biquge.biz +biquge.info +biquge.la +biquge.lu +biquge.vip +biquge0.cc +biquge11.com +biquge5200.cc +biquge5200.com +biquge8.com +biquge9.cc +biquge99.cc +biqugebook.com +biqugee.com +biqugeg.com +biqugemm.com +biquger.com +biquges.com +biqugetv.com +biqugew.com +biqugewx.com +biqugex.com +biqugexs.com +biqugexs.la +biqugexsw.com +biqugexsw8.com +biqugexx.com +biqugg.com +biqugu.net +biquguan.com +biqukan.com +biquke.com +biquku.co +biquku.la +biqulou.net +biquluo.com +biqumo.com +biqupai.com +biququ.com +biqusa.com +biqushu.com +biqusoso.com +biquter.xyz +biqutxt.com +biquwo.com +biquwu.cc +biquwx.la +biquyue.com +biquyun.com +biransign.com +bird4d.com +birdbro.com +birdol.com +birdpush.com +bisairi.com +bisenet.com +bishe1234.com +bishen.ink +bishengoffice.com +bisheziliao.com +bishijie.com +bishoujo.moe +bitauto.com +bitautoimg.com +bitautotech.com +bitbank.com +bitbays.com +bitbili.net +bitbug.net +bitcellulose.com +bitcongress.com +bitcron.com +bitdata.pro +bitdefender-cn.com +biteabc.com +bitecoin.com +biteedu.com +bitekou.com +bitell.com +bitett.com +bitetui.com +bitfish8.com +bitgo.cc +bitgo.net +bitguai.com +bithosts.net +bithub00.com +bitjia.com +bitky.cc +bitmain.vip +bitmap.cc +bitmap3d.com +bitmingw.com +bitol.net +bitqiu.com +bitscat.org +bitscn.com +bitscn.net +bitsde.com +bitse.com +bitsqa.com +bitu360.com +bitvh.com +biubiu.tv +biubiu001.com +biubiubiu.org +bivean.com +biwanshequ.com +bixiabook.com +bixiaobai.com +bixiaxs.net +bixingxing.com +bixinlive.com +bixishang.com +bixu.cc +bixu.me +bixueke.com +biyabi.com +biyage.com +biyangwang.com +biyao.com +biye.net +biye666.com +biyebi.com +biyele.com +biyelunwenjiance.com +biyi.net +biyidc.com +biyingniao.com +biyinjishi.com +biymx.com +biyong007.com +biyoshop.com +biyou.tech +biyoujz.com +biyuns.com +biyuwu.cc +biz-east.com +biz178.com +biz72.com +bizcent.com +bizchallenge.net +bizcharts.net +bizcn.com +bizconfstreaming.com +bizgame.com +bizhi360.com +bizhi88.com +bizhicool.com +bizhidaquan.com +bizhimi.com +bizhiquan.com +bizhitupian.com +bizhizj.com +bizhongchou.com +bizmoto.com +biznewscn.com +bizopsmall.com +bizpai.com +bizsn.com +bizsofts.com +bizvane.com +bj-apc.com +bj-big.com +bj-dianxintong.net +bj-dsmzyy.com +bj-ka.com +bj-kpn.com +bj-sagtar.com +bj-sea.com +bj-shouqi.com +bj-sydc.com +bj-tvart.com +bj-zhongying.com +bj-zkhb.com +bj-zywh.com +bj003.com +bj1.api.bing.com +bj1000e.com +bj148.org +bj159zx.com +bj1777.com +bj315.org +bj4066.com +bj51.org +bj5188.com +bj520.com +bj597.com +bj65z.com +bj96007.com +bjadn.net +bjaodidazhong.com +bjatv.com +bjbaodao.net +bjbeifangjx.com +bjbkh.net +bjbtfu.com +bjbus.com +bjbxg8.com +bjbywx.com +bjbzc.com +bjbzszxy.com +bjcae.com +bjcancer.org +bjcankao.com +bjcathay.com +bjcdc.org +bjcec.com +bjceis.com +bjcfzx.com +bjcgtrain.com +bjcifco.net +bjckkj.com +bjcls.net +bjcma.com +bjcoco.com +bjcomic.net +bjcshy.com +bjcsyg.com +bjcta.net +bjcurio.com +bjcxdf.com +bjcyzg.com +bjdachi.com +bjdbrc.com +bjdcfy.com +bjdfart.com +bjdfxj.com +bjdiaoyu.com +bjdingyi.com +bjdjc.com +bjdllti.com +bjdlzl.com +bjdongxin.com +bjdsppa.com +bjdt360.com +bjeasycom.com +bjepn.com +bjertong999.com +bjewaytek.com +bjexmail.com +bjexx.com +bjffdz.com +bjffkj.com +bjfsali.com +bjfwbz.org +bjfyw.org +bjg.ink +bjgas.com +bjgemi.com +bjggk.com +bjglxf.com +bjgnjdwx.com +bjgongteng.com +bjgujibaohu.com +bjgwy.org +bjhaiguang.com +bjhdnet.com +bjheadline.com +bjhee.com +bjhengjia.net +bjhj10000.com +bjhmdy.vip +bjhmxx.net +bjhouse.com +bjhrkc.com +bjhscx.com +bjhszp.com +bjhtx.com +bjhtzsgs.com +bjhwbr.com +bjhzkq.com +bjiab.com +bjicjm.com +bjidc.net +bjidit.com +bjinternet.com +bjipwqzx.com +bjiwex.com +bjjbsj.com +bjjchf.com +bjjdwx.com +bjjf.cc +bjjfsd.com +bjjhcczgs.com +bjjhwlgs.com +bjjihui.com +bjjiubo.com +bjjkglxh.org +bjjlyl.com +bjjnzf.com +bjjqzyy.com +bjjtat.com +bjjubao.org +bjjzsc.com +bjjzzpt.com +bjk30.com +bjkaihua.com +bjkaihua.net +bjkhzx.com +bjkqj.com +bjkrtwl.com +bjksd120.com +bjl777.com +bjlcs-tech.com +bjlemon.com +bjlevsoft.com +bjlkhd.net +bjlmfq.com +bjlongview.com +bjlot.com +bjlyw.com +bjmailqq.com +bjmama.com +bjmama.net +bjmantis.net +bjmcdh.com +bjmeikao.com +bjmeileju.com +bjmingdi.com +bjmjm.com +bjmslp.com +bjmti.com +bjmyw.com +bjnaxl.com +bjnsr.com +bjp321.com +bjpowernode.com +bjqcjdcj.com +bjqh.org +bjqhgjj.com +bjqichezl.com +bjqingyang.com +bjqyjjlb.com +bjrc.com +bjrcb.com +bjrdhx.com +bjrel.com +bjretech.com +bjreview.com +bjrhxp.com +bjrjgj.com +bjrmysjy.com +bjrtcdn.com +bjrun.com +bjry.com +bjsantakups.com +bjsasc.com +bjsbnet.com +bjscfl.com +bjscivid.org +bjsclp.com +bjscp.com +bjscszh.com +bjsctx.com +bjsdfz.com +bjsdr.org +bjsfrj.com +bjsfyh.com +bjshcw.com +bjsheng.com +bjshijiyu.com +bjsidao.com +bjsjob.com +bjsjwl.com +bjsjxtm.com +bjsly.com +bjsoho.com +bjsound.com +bjsoyo.com +bjspw.com +bjsqgy.com +bjsryc.com +bjssedu.com +bjsspm.com +bjssqt.com +bjsubway.cc +bjsubway.com +bjsudai.com +bjsuewin.com +bjsupor.com +bjswds.org +bjsxt.com +bjsyqw.com +bjszhd.net +bjtata.com +bjtcf.com +bjtelecom.net +bjtitle.com +bjtjr.net +bjtjw.net +bjtjzx.com +bjtlky888.com +bjtobacco.com +bjtonghui.com +bjtopli.com +bjtth.org +bjttsf.com +bjtvnews.com +bjtysd.net +bjtyzh.org +bjunionstar.net +bjuri.com +bjwanjiabao.com +bjweimob.com +bjweizhifu.com +bjwfz.com +bjwhds.com +bjwkzl.com +bjwsk.com +bjwsyy.com +bjwszyxy.com +bjwwhc.com +bjwxhl.com +bjwyseo.com +bjxatq.com +bjxf315.com +bjxiangxiu.com +bjximei.com +bjxinku.com +bjxinyou.com +bjxjyy666.com +bjxwx.com +bjxx.vip +bjxx8.com +bjxydh.com +bjxztqn.com +bjyah.com +bjyczb.com +bjydzy.com +bjyestar.com +bjyhwy.com +bjyqsj.com +bjythd.com +bjyunyu.com +bjywt.com +bjzaxy.com +bjzbkj.com +bjzcha.com +bjzcth.com +bjzg.org +bjzghd.com +bjzgxr.net +bjzhishi.com +bjzhongxinjiancai.com +bjzhongyi.com +bjzjgyl.com +bjzkhs.com +bjzklp.com +bjzmkm.com +bjznnt.com +bjzph.com +bjzqcbook.com +bjzqw.com +bjzs114.com +bjzwzx.com +bjzxcp.com +bjzycd.com +bjzyrxgs.com +bk41.net +bk5u.com +bkclouds.cc +bkdou.com +bkill.net +bkjk-inc.com +bkjpress.com +bkn.cc +bkpcn.com +bkqq.com +bkweek.com +bkxs.net +bkzzy.com +bl.com +bl35.org +bl9k.com +bla01.com +black-unique.com +blackbirdsport.com +blackdir.com +blackeep.com +blackh4t.org +blackmailedslave.com +blackshark.com +blackshow.me +blackswancake.com +blackxl.org +blackyau.cc +blackzs.com +bladewan.com +blakat.cc +blangel-tool.com +blazefire.com +blazefire.net +blbx.com +blctwed.com +bld-hotel.com +bldimg.com +bldz.com +bleege.com +blemall.com +blendercn.org +blenderget.com +blessedbin.com +bliao.com +blibee.com +blibee.net +blimage.com +bliner.me +blingabc.com +blingclubs.com +blinkol.com +blissmall.net +blizzardcn.com +blkkj.com +bln7.com +bln8.com +block288.com +blockchain.hk +blockchain123.com +blockchainbrother.com +blockchainlabs.org +blockdao.net +blockflow.net +blockmeta.com +blockob.com +blocrepresents.com +blog.htc.com +blog007.com +blog120.com +blog1984.com +blogbus.com +blogchina.com +blogchinese.com +blogcn.co +blogdriver.com +bloger.wang +blogfeng.com +blogfshare.com +bloggern.com +blogjava.net +bloglegal.com +blogqun.com +blogturn.com +blogways.net +blogxuan.com +bloomgamer.com +bloves.com +blpack.com +blqx.com +blqy.com +blskye.com +blszhifa.com +blue-city.com +blue-zero.com +bluebeebox.com +bluecefa.com +blued.com +bluedon.com +bluefeel.com +bluefite.com +bluefocus.com +blueglass.vip +bluegq.com +bluehao.com +bluehn.com +blueidea.com +bluek.org +bluelettercn.org +bluelightfuse.com +bluelive.me +blueplus.cc +bluesdream.com +bluesharkinfo.com +blueshow.net +blueskykong.com +blueskyschool.net +blueskystudy.com +blueskyxn.com +blueslc.tech +bluestar-pc.com +bluestep.cc +blyol.com +blyun.com +bm001.com +bm023.com +bm024.com +bm2088.com +bm724.com +bm777777.com +bm8.tv +bm8885.com +bm999999.com +bmadx.com +bmatch.tech +bmc-medical.com +bmcx.com +bmdbr.com +bmdxcx.com +bmeol.com +bmfsm.com +bmijs.com +bmlink.com +bmobapp.com +bmobcloud.com +bmobpay.com +bmp.ovh +bmpj.net +bmqb.com +bmqy.net +bmrtech.com +bmshow.com +bmtcled.com +bmw021.com +bmw143.com +bmw8033.com +bn016.com +bn13.com +bn54.com +bnapp.com +bnbcamp.com +bnbsky.com +bnbtrip.com +bnc66.com +bnchina.com +bncwork.com +bnhgsb.com +bnhshiguan.com +bnjyks.com +bnncn.com +bnnd.net +bnq86.com +bnqgsl.com +bnupg.com +bnwin.com +bnxb.com +bnzt88.com +bo-blog.com +bo-yi.com +bo56.com +boai.com +boanying.com +bob-cardif.com +bob-leasing.com +bob2012.com +bobaow.com +bobbns.com +bobcfc.com +bobcoder.cc +bobdirectbank.com +bobidc.com +bobiman.com +boblog.com +bobo.com +bobopic.com +bobopos.com +bobouny.com +bobtj.com +bocaidaka.com +boce.com +bocep2c.com +bocichina.com +bocim.com +bocomcc.com +bocommleasing.com +bocommlife.com +bocommtrust.com +bocsolution.com +bodchan.com +bodekang.com +bodimedia.net +bodoai.com +bodogqm.com +bodu.com +boduhappiness.com +boe.com +boertemc.com +bofangw.com +bofengkj.com +bofyou.com +bog.ac +bogokj.com +bohailife.net +bohaishibei.com +bohaiyun.com +bohe.com +bohuihe.com +bohutmt.com +boiots.com +bojianger.com +bojoy.net +bojun-import.com +bojuwang.com +bokanghui.net +bokao2o.com +boke.com +boke112.com +boke8.net +bokeboke.net +bokecc.com +bokecs.net +bokee.com +bokee.net +bokeren.cc +bokesoft.com +bokesoftware.com +bokeyz.com +bokhra.com +bol-system.com +bolaa.com +bolan.net +bolaninfo.com +bolanjr.com +boldseas.com +bole.me +bolead.com +bolehu.net +bolejiang.com +bolelink.com +boll.me +bolo.me +bolopp.com +boloread.com +bolq.com +boluo.com +boluo.link +boluo.org +boluo1122.com +boluogouwu.com +boluomee.com +boluomeet.com +boluoyunyu.com +bom.ai +bom2buy.com +bomanair.com +bomin-china.com +bon-top.com +bon-wine.com +bondlady.com +bongmi.com +bongv.com +bongwell.com +bonkee.net +bonnelivre.com +bonree.com +bonsj.com +bonwai.com +boobooke.com +booea.com +booeoo.com +boohee.com +book118.com +book1234.com +book365.net +book520.com +bookask.com +bookba.net +bookbook.in +bookdao.com +bookdown.net +bookersea.com +booking001.com +bookinlife.net +bookresource.net +books51.com +bookschina.com +bookshadow.com +bookshi.com +bookshoptw.com +bookshuku.com +booksky.cc +booksn.com +booktxt.com +booktxt.io +booktxt.net +bookuu.com +bookxnote.com +bookzx.org +boolan.com +boolaw.com +boole-tech.com +boolean93.com +boomsense.com +boonwin.com +boooba.com +boosj.com +boosyi.com +bootstrapmb.com +booyu-import.com +booz88.com +bopian.com +boqii.com +boqiicdn.com +boquxinxi.com +boraid.org +borderlessbd.com +borlonclan.com +borninsummer.com +bornlead.com +borpor.com +borscon.com +boruiqin.com +boruishijie.com +boruisx.com +boryou.com +bos.xin +bosdsoft.com +bosenrui.com +bosera.com +bosera.com.hk +boshi.tv +boshika.com +boshixitong.com +boshiyl.com +boshungame.com +boshuo.net +bosideng.com +bosideng.me +bosideng.net +bosigame.com +bosondata.net +bosonnlp.com +boss-young.com +bosscdn.com +bossgoo.com +bosshr.com +bosszhipin.com +bosunman.com +botnet.cc +botongr.com +botorange.com +botslab.com +bottos.org +botui.ink +bounb.com +boweifeng.com +bowerp.com +bowin8.com +bowuku.com +bowuzhi.fm +boxgu.com +boxopened.com +boxuegu.com +boxueio.com +boxui.com +boxz.com +boy-toy.net +boy1818.com +boy1904.com +boyaa.com +boyaceo.com +boyais.com +boyamicro.com +boyasoftware.com +boyaxun.com +boydwang.com +boyicn.com +boyingsj.com +boyue.com +boyunso.com +boyuonline.com +bozhihua.com +bozhong.com +bphetaomiao.com +bpimg.com +bppan.com +bpqwxsh.com +bpsemi.com +bpteach.com +bpxxfw.com +bq04.com +bq233.com +bq8xs.com +bqatj.com +bqfy.com +bqg26.com +bqg5.cc +bqg8.cc +bqg8.la +bqgwu.com +bqgyy.com +bqiapp.com +bqimg.com +bql999.com +bqpoint.com +bqq8.com +bqrank.net +bqrdh.com +bqteng.com +bragood.com +braincf.com +brand4x4.com +brandcn.com +brandvista.com +brandzg.com +brandzw.com +brbtyt.com +breadtrip.com +breakingnewsireland.com +breakyizhan.com +brentron.com +bricktou.com +bridge-image.com +bridgee.net +brighost.com +brightdairy.com +brightfood.com +brire.com +britesemi.com +brlinked.com +broad-ocean.com +broadcasteye.com +broadon.net +broadskytech.com +brogiao.com +bronzesoft.com +brother-cn.net +brother-movie.com +brother66.com +browurl.com +brsiee.com +brtbeacon.com +brtbeacon.net +bruce.wang +bruceit.com +brunoxu.com +brushes8.com +bryonypie.com +brzhang.club +bs-dolfin.net +bs008.com +bs56.net +bsbchina.com +bsbydd.com +bsccdn.com +bsccdn.net +bscdns.com +bscea.org +bscstorage.net +bsd4fz.com +bsdgco.com +bseas.com +bsgcnc.com +bsgslb.com +bsh-tech.com +bsh.com +bshaishu.com +bshare.com +bshjxxkj.com +bsida.com +bsidu.com +bsjhhzs.com +bsjquanwu.com +bsjuhui.com +bskk.com +bskrt.com +bskuav.com +bsmz.net +bspapp.com +bspeizi.com +bspia.com +bsrczpw.com +bsrkt.com +bssrvdns.com +bst24.com +bsteel.net +bstinfo.com +bstjiaoyu.com +bstzcs.com +bsurl.cc +bsyjrb.com +bsyxx.com +bt.cc +bt113.com +bt9527.com +btb8.com +btba.cc +btbat.com +btbctex.com +btbt.tv +btbt4k.com +btby-pump.com +btc114.com +btc116.com +btc1212.com +btc123.com +btc17.com +btc38.com +btc5.net +btc789.com +btcb.com +btcbbs.com +btcbl.com +btcha.com +btcsearch.com +btcside.com +btcsos.com +btcwatch.com +btdad.live +btdog.com +btege.com +btgame.com +btgame01.com +btgang.com +btglotto.com +bthhotels.com +bthlt.com +bthss.com +bthuifu.com +btime.com +btiyu.com +btmao.cc +btmayi.cc +btmeiju.com +btnotes.com +btoo3.com +btophr.com +btorange.com +btpan.com +btpig.com +btplay.net +btrcsc.com +bts.hk +btsabc.org +btschool.net +btsemi.com +btsha.com +btsmth.com +btsmth.org +btsou.org +btspreads.com +btsteel.com +btten.com +bttiantang.cc +bttiantang.com +bttwo.com +btv.org +btvcd.net +btwob.net +btwuji.com +btxl8.com +btyou.com +btzhcc.com +bu-shen.com +buaaer.com +bubalusplus.com +bubugao.com +bubuko.com +bubukua.com +bubuol.com +bubuzheng.com +bucg.com +bucuo.me +bucuo100.com +budao.com +budao24.com +buddhalikedoge.com +budhano.com +buding.tv +budongnvren.com +budou.com +buduanwang.vip +buduobaobao.com +bufan.com +buffst.com +bug.im +bughd.com +bugku.com +bugnull.com +bugscan.net +bugscaner.com +bugsevent.com +bugtags.com +buguangdeng.com +bugucn.com +bugukj.com +bugumanhua.com +bugutime.com +bugwz.com +bugxia.com +buhuiwan.com +buhuyo.com +build-decor.com +buildface.com +buildhr.com +buildjob.net +buimg.com +bujie.com +bukamanhua.com +bukexue.com +bukeyi.net +bukop.com +bulaisi.com +bulaoge.net +bulejie.com +bullcome.com +bullmind.com +buluanmai.com +buluo007.com +bumimi.com +bumiu.com +bundpic.com +bunfly.com +bungalow54.com +bungba.com +bunze.com +buread.com +burgud.com +burl.cc +burnelltek.com +burongyi.com +buroniworks.com +buruizi.com +bus365.com +bus84.com +busbaoche.com +busdh.com +bushangban.com +bushen365.com +businessconnectchina.com +businessreviewglobal-cdn.com +busionline.com +busiphi.com +busiyi888.com +busnc.com +busytrade.com +but7.com +butair.com +buterp.com +butongshe.com +butonly.com +butterapis.com +buxia.net +buxiugangban.net +buy027.com +buy360.vip +buyanshufa.com +buyaocha.com +buybieshu.com +buycarcn.com +buychuan.com +buycoor.com +buyfine.net +buyhot.vip +buyigang.com +buyiju.com +buyinball.com +buyjk.com +buykee.com +buylabel.com +buysun.net +buysweet.com +buyu46.com +buzhi5.com +buzhibushi.com +buzzads.com +buzzinate.com +bvgv.com +bvimg.com +bvseo.com +bw1006.com +bw30yun.com +bw40.net +bw8848.com +bwae.org +bwangel.me +bwbot.org +bwchinese.com +bwda.net +bwfapiao.com +bwfhmall.com +bwgongye.com +bwgrt.com +bwhero.com +bwhgsb.com +bwie.net +bwjf.com +bwlc.net +bwmelon.com +bwptl.com +bwpx.com +bwsoft.net +bwv8.com +bwxsj.com +bx1k.com +bx24k.com +bx58.com +bxb2b.com +bxba.net +bxcc.vip +bxd365.com +bxdaka.com +bxdlkj.com +bxfaka.com +bxgjyc.com +bxgtd.com +bxhaibao.com +bxjob.net +bxkejian.com +bxkxw.com +bxlac.com +bxnjmj.com +bxpedia.com +bxr.im +bxrfund.com +bxsnews.com +bxsychina.com +bxwst.com +bxwx.la +bxwx.org +bxwx.tv +bxwx.us +bxwx11.com +bxwx520.com +bxwx99.com +bxwxorg.com +bxxy.com +bxynzz.com +bxyuer.com +bxzhiku.com +bxzxw.com +by-health.com +by56.com +by6sx.com +bybbs.org +bybieyang.com +bybutter.com +bybzj.com +byc168.com +bycmw.com +byd.com +bydit.com +bydowstar.com +byete.com +byf.com +byfcw.com +byfen.com +byfuh.com +byfunds.com +byfzxy.com +bygamesdk.com +bygjhb.com +bygw.net +byhard.com +byhua.com +byi.pw +byjdxy.com +byjgxy.com +byjsjxy.com +byjzwh.com +byjzxy.com +bykjad.com +byloue.com +bylwcc.com +bylwjc.com +bymz.net +bynmc.com +bynsyh.com +byprxy.com +byqcxy.com +byr-navi.com +byr.cc +byr.wiki +byread.com +bysb.net +byshr.com +bysocket.com +bysxfz.com +bytcad.com +byte-gslb.com +byte.online +byte008.com +byteacctimg.com +bytebye.com +bytecdn.com +bytecdntp.com +byted-static.com +byted.org +bytedance.com +bytedance.net +bytedanceapi.com +bytedns.com +bytedns.net +bytedns1.com +bytednsdoc.com +byteedu.com +byteeffecttos.com +bytefae.com +bytefcdn.com +bytegecko.com +bytegoofy.com +bytegslb.com +bytehwm.com +byteimg.com +byteisland.com +bytelb.net +bytemaimg.com +bytemastatic.com +byteorge.com +bytescm.com +bytesfield.com +bytesmanager.com +bytestacks.com +bytetcc.com +bytetos.com +bytexns.com +bytexservice.com +bytrip.com +byts.com +bytter.com +bytx888.com +bywave.io +byxx.com +byxy.com +byyapp.com +byzhihuo.com +byzlp.com +byzoro.com +byzp.com +bz-e.com +bz163.org +bz55.com +bzcm.net +bzcw8.com +bzd6688.com +bzdao.com +bzddrive.com +bzfwq.com +bzfxw.com +bzgd.com +bzgwl.com +bzkad.com +bzko.com +bzmfxz.com +bzname.com +bznx.net +bzonl.com +bzpc119.com +bzr99.com +bzrb.net +bzrnice.com +bzshw.com +bzsoso.com +bzw315.com +bzxinganghulan.com +bzxinwen.com +bzxz.net +bzxzk.net +bzzss.com +c-119.com +c-3.moe +c-c.com +c-canyin.com +c-cnc.com +c-ctrip.com +c-estbon.com +c-fol.net +c-lion.com +c-lodop.com +c-ps.net +c-sky.com +c-sz.com +c-t.work +c-yl.com +c.admob.com +c.android.clients.google.com +c.citic +c.team +c0594.com +c0ks.com +c1042.com +c1ass.com +c1s.com +c21wuhan.com +c2h4.org +c32356.com +c32869.com +c360dn.com +c366.com +c3acg.com +c3crm.com +c3player.com +c3x.me +c4008.com +c400c.cc +c4d.live +c4datc.com +c4dba.com +c4dcn.com +c4dpro.com +c4dsky.com +c4hcdn.com +c4ys.com +c4yx.com +c50forum.com +c51rf.com +c53911.com +c571.com +c5game.com +c6.nz +c68.com +c6c.com +c6n708.ren +c73160.com +c75uw72.com +c77c.com +c7c8.com +c7cc.com +c833.com +c9018.com +c969.com +c9cc.com +ca-sme.org +ca001.com +ca002.com +ca003.com +ca168.com +ca39.com +ca800.com +caaa-spacechina.com +caaad.com +caacbook.com +caacsri.com +caaladi.com +caanb.com +caasbuy.com +caasse.com +caayee.com +cabbagelol.net +cabbeen.com +cabee.org +cabhr.com +cabinetbuy.com +cableabc.com +cabling-system.com +cablingteam.com +cabontek.com +cabplink.com +cacfo.com +cacg.cc +cache.pack.google.com +cachekit.com +cachepro.com +cachetime.com +cackui.com +cacpp.com +cacre.org +cacs100.com +cactifans.com +cactifans.org +cactmc.com +cad1688.com +cad8.net +cada.cc +cadcaecam.com +cadict.net +cadmon.net +cadreg.com +cadzhuan.com +cadzj.com +cadzxw.com +caecc.com +caexpo.com +caexpo.org +cafachine.com +cafagame.com +cafamuseum.org +cafebeta.com +cafecole-maison.com +caffeenglish.com +cagesblog.com +cagetest.com +cageystone.com +cago365.com +cagoe.com +cahkms.org +cahuo.com +cai188.com +cai8.net +caian.net +caibaojian.com +caibaopay.com +caibeike.com +caibowen.net +caicaieat.com +caichongwang.com +caicui.com +caidan2.com +caidao1.com +caidao8.com +caidaocloud.com +caidaoli.com +caidian.com +caidianqu.com +caiens.com +caifu.com +caifuxingketang.com +caifuzhongwen.com +caigaowang.com +caigou2003.com +caigoubao.cc +caigoushichang.com +caiguayun.com +caihang.com +caihao.com +caihcom.com +caihezi.com +caihong360.com +caihong5g.com +caihongbashi.net +caihongqi.com +caihongtang.com +caihongto.com +caihuaw.com +caij100.com +caijing28.com +caijing365.com +caijingcaipiao22270.com +caijingche.com +caijingmen.com +caijingmobile.com +caijingwu.com +caijinyuan.com +caijixia.com +caijuanjuan.com +caiku.com +caikuai91.com +caikuan.net +cailele.com +cailianpress.com +cailiao.com +cailiaoniu.com +cailiaoren.com +cailol.com +cailongtong.com +cailutong.com +cailuw.com +caimai.cc +caimaovip.com +caimei365.com +caimogu.net +caimomo.com +cainachina.com +caing.com +cainiao.com +cainiaodoc.com +cainiaojiaocheng.com +cainiaoqidian.com +cainiaoxueyuan.com +cainu.net +caipiaogu.com +caipintu.com +caipopo.com +caipucaipu.com +caipucn.com +caiqiuba.com +cairongquan.com +cairot.com +caisan.io +caishen66.com +caishencai.com +caishenpo.com +caishenwang.online +caishimv.com +caishuixxi.com +caispace.com +caistv.com +cait.com +caitun.com +caiu8.com +caiweiming.com +caiwu51.com +caiwuchina.com +caixin.com +caixin021.com +caixinfoundation.org +caixun.com +caiyiduo.com +caiyun.com +caiyunai.com +caiyunapp.com +caiyunyi.com +caizhaowang.com +caizhihr.com +caj11.com +caj5.com +cake400.com +cake6.com +calawei.com +calculusdata.com +caldigit.net +cali-light.com +calibur.tv +callda.com +callmewhy.com +caloinfo.com +calorietech.com +calt.com +calvinneo.com +cambm.com +cambodiafang.com +cambricon.com +camcap.us +camcard.com +came-online.org +camelsee.com +camera360.com +camgle.com +camnpr.com +campanilechina.com +campus-app.net +campushoy.com +campusphere.net +campusplus.com +campusroom.com +camscanner.com +can-dao.com +can.tv +canaan-creative.com +canasy.com +cancda.net +candou.com +candylab.net +candypay.com +candystars.net +canevent.com +canfire.net +cang.com +cangdu.org +cangfengzhe.com +cangnews.com +cangowin.com +cangpie.com +cangqiongkanshu.com +cangshui.net +cangshutun.com +cangtianbfq.com +cangya.com +canhighcenter.com +canhot.net +caniculab.com +canidc.com +canjiren.net +cankao100.com +cankaoxiaoxi.com +canlyn.com +canmounet.com +canon8.com +canpdu.com +canpoint.net +canrike.com +cansee.net +cansine.com +cansuan.com +cantoge.com +canvasf.com +canway.net +canwayit.com +canwaysoft.com +canxingmedia.com +canyin.com +canyin168.com +canyin2017.com +canyin375.com +canyin88.com +canyincha.com +canyincy.com +canyincy.net +canyinzixun.com +canyon-model.com +canyouchina.com +canyuanzs.com +canzhisz.com +caobao.com +caodan.org +caogen.com +caogen88.com +caohaifeng.com +caohejing.com +caohejing.org +caohua.com +caomeibook.com +caomeishuma.com +caomeixz10.xyz +caomin5168.com +caotama.com +caoxianfc.com +caoxie.com +caoxile.com +caoxiu.net +caoxudong.info +caoyudong.com +capillarytech-cn.com +capitalcloud.net +capitalonline.net +capjoy.com +capsuleshanghai.com +capvision.com +capwhale.com +car0575.com +car2100.com +car2sharechina.com +car365.org +car388.com +carben.me +carbonframe.com +carbonscn.com +carcav.com +carcdn.com +cardbaobao.com +cardcmb.com +cardcn.com +cardhw.pw +cardinfolink.com +cardniu.com +cardniudai.com +cardqu.com +care110.com +careerchina.com +careerqihang.com +careersky.org +careuc.com +cargeer.com +cargo001.com +carimg.com +carking001.com +carltonyu.com +carmov.com +carnegiebj.com +carnoc.com +carodpiano.com +carp56.com +carpela.me +carrobot.com +carrotchou.blog +carrotchou.com +carry6.com +cartoonwin.com +carutoo.com +carvendy.com +carxoo.com +carzd.com +carzyuncle.com +cas01.com +cas2s.com +casarte.com +casboc.com +casctcp.com +case91.com +casece.org +cashtoutiao.com +cashwaytech.com +cashzhan.com +casic-addsino.com +casic-amc.com +casic-t.com +casic.com +casic304.com +casic3s.com +casicloud.com +casicyber.com +casnb.com +casql.com +casqy.com +casszzy.com +castelu.com +casvino.com +casvm.com +casystar.com +cat898.com +catall.com +catalog-tj.com +catfish-cms.com +catfun.tv +catguo.com +cathayagroup.com +cathayfund.com +catjc.com +cato-travel.com +cattsoft.com +catv.net +caua99.com +caup.net +cauvet.com +cav-ad.com +cavca.org +cawae.net +caxa.com +caylor.cc +cazpw.com +cbca.net +cbdio.com +cbdjrsh.org +cbe21.com +cbea.com +cbec365.com +cbes21.com +cbevent.com +cbex.com +cbfau.com +cbgcloud.com +cbi360.net +cbi88.com +cbice.com +cbiec.com +cbiec.net +cbismb.com +cbj1998.com +cbjuice.com +cbjzw.org +cbmay.com +cbmf.org +cbminfo.com +cbn.me +cbndata.com +cbndata.org +cbnmall.com +cbnri.org +cbnweek.com +cboad.com +cbsrb.com +cbsrc.com +cbtimer.com +cburi.com +cbvac.com +cbw111.com +cbxdxg.com +cbxsw.com +cby.me +cc-1.com +cc-glass.com +cc.co +cc0808.com +cc1021.com +cc11bh.com +cc148.com +cc222.com +cc55k.com +cc7m.com +cc8.cc +ccabchina.com +ccai.cc +ccapbook.com +ccapedu.com +ccartd.com +ccarting.com +ccasy.com +ccb.com +ccbfund.com +ccbiji.com +ccbookfair.com +ccbpension.com +ccbride.com +cccaq.com +cccbs.net +ccccl.net +cccdun.com +ccchz.com +cccitu.com +cccity.cc +ccciw.com +cccnec.com +cccollector.com +cccpan.com +cccsql.com +ccctspm.org +cccwww.com +cccyun.cc +ccd86.com +ccdby.com +ccddvr.com +ccdol.com +ccea.pro +cceai.com +cceato.com +ccedisp.com +ccedpw.com +ccee.com +cceea.net +cceep.com +ccefb.com +ccement.com +ccen.net +ccepc.com +cces2006.org +ccets.com +ccfei.com +ccflow.org +ccgaa.com +ccgfie.com +ccgslb.com +ccgslb.net +cchccc.com +cchezhan.com +cchfound.org +cchicc.com +cchongjing.com +cchorse.com +cchorse.net +ccian.com +cciatv.com +ccic.com +ccic2.com +cciccloud.com +ccice.com +ccichn.com +ccidcom.com +ccidconsulting.com +ccidcyt.com +cciddata.com +cciddesign.com +ccidedu.com +ccidexpo.com +ccidgroup.com +ccidjinglue.com +ccidnet.com +ccidreport.com +ccidsmart.com +ccidthinktank.com +ccidwise.com +ccieh3c.com +ccieshow.com +ccievide.com +ccigchina.com +ccigmall.com +ccihr.com +ccimz.com +ccipmedia.com +ccipp.org +ccitimes.com +cciup.com +ccjkwjjedu.com +ccjoy.com +ccjoyland.com +ccjt.net +ccjzzj.com +cclcn.com +cclexpo.com +cclimg.com +cclinux.org +cclndx.com +cclolcc.com +cclqme.xyz +cclycs.com +cclyun.com +ccm-1.com +ccm99.com +ccmama.com +ccmdl.adobe.com +ccmdls.adobe.com +ccme.cc +ccmfcm.com +ccmmcode.com +ccmnn.com +ccmodel.com +ccmodel.net +ccmw.net +ccn360.com +ccnee.com +ccnew.com +ccnovel.com +ccnpic.com +ccnt.com +ccnubbs.com +ccnulx.com +ccnvpt.com +ccoalnews.com +ccoco.vip +ccoi.ren +ccopyright.com +ccpc.io +ccpc360.com +ccpgssd.com +ccpit-academy.org +ccpit-ah.com +ccpit-ep.org +ccpit-henan.org +ccpit-shaanxi.org +ccpit-sichuan.org +ccpit-sx.org +ccpit-tga.org +ccpit.org +ccpitbingtuan.org +ccpitbj.org +ccpitbm.org +ccpitbuild.org +ccpitcq.org +ccpitecc.com +ccpitfujian.org +ccpitgs.org +ccpitgx.org +ccpithebei.com +ccpithn.org +ccpithrb.org +ccpithz.org +ccpitjinan.org +ccpitjs.org +ccpitlight.org +ccpitln.org +ccpitnb.org +ccpitnmg.org +ccpitqd.org +ccpitsd.com +ccpitsy.org +ccpittex.com +ccpittj.org +ccpitwh.org +ccpitxiamen.org +ccpitxian.org +ccpitxj.org +ccplay.cc +ccpnt.org +ccprec.com +ccproxy.com +ccqtgb.com +ccqyj.com +ccrgt.com +ccrjw.com +ccshao.com +ccshell.com +ccsph.com +ccsw003.com +cct08.com +cct365.net +cctalk.com +cctaw.com +cctb.net +cctbn.com +cctc.cc +cctcce.com +cctcct.com +cctiedu.com +cctime.com +cction.com +cctlife.com +cctocloud.com +cctpress.com +cctry.com +cctsx.com +cctuw.com +cctv-19.com +cctv-22.com +cctv-star.com +cctv.com +cctv18.com +cctv1zhibo.com +cctv4g.com +cctv886.com +cctvcaizhi.com +cctvcdn.net +cctvcj.com +cctvctpc.com +cctvdyt.com +cctvfinance.com +cctvmall.com +cctvpic.com +cctvsdyxl.com +cctvse.net +cctvweishi.com +cctvxf.com +cctvyscj.com +cctw.cc +cctzz.net +ccutchi.com +ccutu.com +ccv160.com +ccv168.com +ccv5.com +ccview.net +ccvnn.com +ccwcw.com +ccwcyw.com +ccwonline.com +ccwonline.net +ccwow.cc +ccwqtv.com +ccwzz.cc +ccxcn.com +ccxcredit.com +ccxinyuedu.com +ccxiyuecare.com +ccxjd.com +ccyjjd.com +ccyts.com +ccyunmai.com +ccyyls.com +ccziben.com +cczihai.com +ccztv.com +cd-cxh.com +cd-kc.com +cd-vv.com +cd-zc.com +cd120.com +cd23f.com +cd37wan.com +cdabon.com +cdadata.com +cdadsj.com +cdaidu.com +cdairport.com +cdajcx.com +cdaten.com +cdbcw.com +cdbdsec.com +cdbjh.com +cdbsfund.com +cdbybo.com +cdccpit.org +cdcgames.net +cdchsj.com +cdchuandong.com +cdcoslm.com +cdcyts.com +cdcz.net +cddgg.com +cddgg.net +cddo8.com +cddscj.com +cddsgk.com +cde-os.com +cdedu.com +cdeledu.com +cdfcn.com +cdfgsanya.com +cdfinger.com +cdfmembers.com +cdfortis.com +cdfytx.com +cdgdad.com +cdggzy.com +cdgjbus.com +cdgmgd.com +cdgtw.net +cdgxfz.com +cdh3c.com +cdhaiguang.com +cdhfund.com +cdhongfu.com +cdhr.net +cdhtnews.com +cdidc.net +cditv.tv +cdjingfeng.com +cdjingying.com +cdjnrc.com +cdjsjx.com +cdjxjy.com +cdjzw.com +cdjzx120.com +cdjzzg.com +cdkf.com +cdkx.net +cdlaobing.com +cdlbyl.com +cdlfvip.com +cdlgame.com +cdlinux.net +cdlxqn.com +cdmcaac.com +cdmfund.org +cdmm.net +cdmoz.org +cdn-baidu.net +cdn-cdn.net +cdn-chuang.com +cdn-cn1.apple-mapkit.com +cdn-cn2.apple-mapkit.com +cdn-cn3.apple-mapkit.com +cdn-cn4.apple-mapkit.com +cdn-data-cloud.com +cdn-dns-kubo.com +cdn-files.net +cdn-hotels.com +cdn-ng.net +cdn-speed.com +cdn-v.com +cdn.apple-mapkit.com +cdn.fun +cdn.marketplaceimages.windowsphone.com +cdn.razersynapse.com +cdn.samsung.com +cdn.shanghai.nyu.edu +cdn.zhuji5.com +cdn08.com +cdn1.apple-mapkit.com +cdn1218.com +cdn2.apple-mapkit.com +cdn20.com +cdn20.info +cdn20.org +cdn2000.com +cdn2020.com +cdn3.apple-mapkit.com +cdn30.com +cdn30.org +cdn3344.com +cdn35.com +cdn4.apple-mapkit.com +cdn56.com +cdn86.net +cdn88.cc +cdnaaa.net +cdnbuild.net +cdnbye.com +cdncache.net +cdncache.org +cdncenter.com +cdnchushou.com +cdncl.net +cdncloud.org +cdnclouds.net +cdnczydwl.com +cdndm.com +cdndm5.com +cdndm5.net +cdndo.com +cdnet110.com +cdnff.com +cdngslb.com +cdngslb8.com +cdngtm.com +cdnhwc1.com +cdnhwc2.com +cdnhwc3.com +cdnhwc6.com +cdni.net +cdnip567.com +cdnjtzy.com +cdnk8.com +cdnle.com +cdnle.net +cdnmama.com +cdnmaster.com +cdnok.com +cdnpan.com +cdnpe.com +cdnsvc.com +cdntip.com +cdntips.com +cdntips.net +cdnudns.com +cdnunion.com +cdnunion.net +cdnunion.org +cdnvp.com +cdnvpn.net +cdnvue.com +cdnyoyun.com +cdnyt69.com +cdnyzdjj.com +cdooc.com +cdqcnt.com +cdqcp.com +cdqph.com +cdqss.com +cdrbs.net +cdren.com +cdren.net +cdronghai.com +cdrtvu.com +cdruzhu.com +cdryny.com +cds-cdn.v.aaplimg.com +cds.apple.com +cds.apple.com.akadns.net +cdsb.com +cdsb.mobi +cdsenfa.com +cdsglxx.com +cdshangceng.com +cdshijue.com +cdsjjy.com +cdsme.com +cdsns.com +cdsxlc.com +cdt-md.com +cdtaishan.com +cdtianda.com +cdueff.com +cduyzh.com +cdvcloud.com +cdvisor.com +cdweikebaba.com +cdworking.com +cdxrdz.com +cdxsbdz.com +cdxwcx.com +cdyee.com +cdyestar.com +cdygdq.com +cdyichu.com +cdyimei.com +cdyou.net +cdyuanhang.com +cdyushun.com +cdywgou.com +cdyzg.com +cdzcy.net +cdzdgw.com +cdzdhx.com +cdzgh.com +cdzhinan.com +cdzikao.com +cdzimo.com +cdzixun.net +cdzmn.com +cdzspcls.com +cdzszp.com +cdzvan.com +ce-air.com +ce02.net +ce04.com +ce12366.com +ce2293.com +ceair.com +ceairdutyfree.com +ceairgroup.com +ceaj.org +ceamg.com +cebbank.com +cebcn.com +cebpubservice.com +cecb2b.com +cecc-cx.com +ceccen.com +cecdc.com +cece-mall.com +cece.com +cece.la +cecesat.com +cechoice.com +cecisp.com +cecloud.com +cecmath.com +cecom.cc +ceconline.com +ceconlinebbs.com +cecport.cc +cecport.com +cectcc.com +cectv.net +cedachina.org +cedarhd.com +cediy.com +cedock.com +ceecu.com +ceeger.com +ceeie.com +ceeji.net +ceepsp.com +cef114.com +cefc.co +ceh3.com +cehbe.com +cehbh.com +cehbk.com +cehca.com +cehome.com +cehuashen.com +cehui8.com +cei1958.com +ceiaec.org +ceibs.edu +ceibsonline.com +ceic.com +ceiceicei.com +ceicloud.com +ceiea.com +cekid.com +celebpalace.com +celia520.com +celiang.net +cellixsoft.com +cellmean.com +cells-net.com +cells-net.net +celwk.com +cement365.com +cementren.com +ceming.com +cemyun.com +cenbel.com +cenbohao.com +cencs.com +cenray-ic.com +censh.com +centainfo.com +centanet.com +centcc.com +cententcymbals.com +centerm.com +centong.com +centos.bz +centoscn.vip +centralsolomon.com +centrincloud.com +centrixlink.com +century21cn.com +cenwor.com +cenwoy.com +cenxilm.com +cenya.com +ceobiao.com +ceoeo.com +ceoim.com +ceomoo.com +ceook.com +ceoplaza.com +ceotx.com +ceowan.com +ceowww.com +ceoxq.com +cepin.com +ceping.com +cepmh.com +ceppedu.com +ceprei.com +ceprei.org +ceqt.net +cer.net +cerambath.org +ceramicschina.com +cere.cc +cerestools.com +cernet.com +cernet.net +cernet2.net +cersp.com +ces-transaction.com +cescnb.com +cesfutures.com +ceshi.com +ceshi112.com +ceshigo.com +ceshigu.com +ceshiren.com +cespc.com +cesses.org +cet-46.com +cetc33.com +cetc36.com +cetc52.com +cetccloud.com +cetccloud.store +cetcio.com +cetcmotor.com +cetcssi.com +cetgps.com +cethik.com +ceunion.com +ceve-market.org +cevsn.com +cezxda.com +cf.com +cf027.com +cf668.com +cf865.com +cfachina.org +cfanclub.net +cfbond.com +cfc365.com +cfca-c.org +cfcdn.org +cfcdn.site +cfcglx.com +cfcp67.com +cfcpn.com +cfcyb.com +cfd-china.com +cfd163.com +cfda.pub +cfdp.org +cfdtlee.com +cfeie.com +cfej.net +cfeks.com +cfgjwl.com +cfhi.com +cfhot.com +cfhpc.org +cfido.com +cfiec.net +cfiecdns.net +cfimg.com +cfkq.net +cflm.com +cfm119.com +cfmcc.com +cfmmc.com +cfmoto.com +cfogc.com +cfpa.pw +cfpsf.com +cfsino.com +cfsl2017.com +cftea.com +cftong.com +cfucn.com +cfund108.com +cfwaf.com +cfxydefsyy.com +cfxyfsyy.com +cfxyjy.com +cfzq.com +cg-cdn.net +cg-orz.com +cg-vipwebs.com +cg-zwdb.com +cg.am +cg009.com +cg98.com +cgahz.com +cgangs.com +cgartt.com +cgbolo.com +cgboo.com +cgcountry.com +cgdown.com +cgdream.org +cgebook.com +cgejournal.com +cger.com +cgf-csyc.com +cghlj.com +cgiale.com +cgiia.com +cgjoy.com +cgjoy.net +cgke.com +cglnn.com +cglw.com +cgmantou.com +cgmao.com +cgmcc.net +cgmodel.com +cgmol.com +cgnjy.com +cgnmc.com +cgnne.com +cgnovo.com +cgohome.com +cgonet.com +cgown.com +cgpad.com +cgplayer.com +cgplusplus.com +cgptwd.com +cgpx.org +cgris.net +cgsdream.org +cgsec.com +cgsfusion.com +cgsoft.net +cgspread.com +cgstartup.com +cgtblog.com +cgtime.net +cgtn.com +cgtsj.com +cgtsj.org +cgtz.com +cguardian.com +cguiw.com +cguwan.com +cgvoo.com +cgvxingx-zhongjie.com +cgwang.com +cgwell.com +cgwic.com +cgws.com +cgxc.cc +cgxia.com +cgxm.net +cgylke.com +cgylw.com +cgyou.com +cgyouxi.com +cgyu.com +cgzair.com +cgzy.net +cgzyw.com +cgzz8.com +ch-auto.com +ch-water.com +ch.com +ch028.net +ch12333.com +ch318.com +ch999.com +ch999img.com +cha-tm.com +cha001.com +cha086.com +cha127.com +chabeichong.com +chachaba.com +chachaqu.com +chachongba.cc +chachongba.com +chacuo.net +chadan.wang +chadianhua.net +chadianshang.com +chadianshang2.com +chadown.com +chaduo.com +chaej.com +chafanhou.com +chafei.net +chahaotai.com +chaheji.com +chahua.org +chahuilv.com +chahuo.com +chaic.com +chaichefang.com +chaicp.com +chaihezi.com +chaijing.com +chaim.in +chaima.com +chaimage.com +chain-store.net +chaincar.com +chainflag.com +chainknow.com +chainnode.com +chainsdir.com +chainsinn.com +chainsql.net +chainwon.cc +chainwon.com +chairyfish.com +chaishiguan.com +chaitin.com +chajian110.com +chajianmi.com +chajiaotong.com +chajie.com +chajn.org +chakahao.com +chakd.com +chakuaizhao.com +chalangautozone.com +challenge-21c.com +chalwin.com +chamcfae.com +chamei.com +chamiji.com +champconsult.com +champhier.com +champzee.com +chance-ad.com +chandashi.com +changan.biz +changan.com +changancap.com +changanfunds.com +changansuzuki.com +changantaihe.com +changba-ktv.com +changba.com +changbaapi.com +changbaapp.com +changbaimg.com +changbalive.com +changchun-ccpit.com +changchundaxuehs.com +changeol.com +changfon.com +changfubai.com +changhe.tech +changhong.com +changhongdianzi.com +changhongit.com +changhongnet.com +changhuapower.com +changingedu.com +changjiangdata.com +changjiangexpress.com +changjiangtimes.com +changjuyi.com +changker.com +changliuliang.com +changning.net +changpingquzhongxiyijieheyiyuan.com +changpu3d.com +changqingshu.net +changrongwang.com +changsha-show.com +changshabdc.com +changshang.com +changshiban.com +changtounet.com +changtu.com +changtu8.com +changxie.com +changxingyun.com +changyan.com +changyifan.com +changyin-lab.com +changyou.com +changyouke.com +changyoyo.com +changyueba.com +changzhinews.com +chanjet.com +chanluntan.com +chanmama.com +channelbeyond.com +channeleffect.com +channingsun.bid +chanpay.com +chanpin.biz +chanpin100.com +chanpinban.com +chanpindashi.com +chanshiyu.com +chansige.com +chanumber.com +chanway.net +chanyeren.com +chanzhi.org +chanzuimei.com +chaoart.com +chaochaojin.com +chaofan.wang +chaofan365.com +chaofanaishangyu.com +chaofanshuma.com +chaofenxiang.vip +chaoji.com +chaojibiaoge.com +chaojideng.com +chaojifan.com +chaojifangyu.com +chaojihetong.com +chaojilian.net +chaojilock.com +chaojishipin.com +chaojixiaobaicai.club +chaojiying.com +chaojiyun.com +chaolady.com +chaolean.com +chaolen.com +chaoliutai.com +chaolongbus.com +chaomengdata.com +chaomi.cc +chaomo25.com +chaonanrc.com +chaonei.com +chaonengjie.com +chaonenglu.com +chaoren.com +chaoshanren.com +chaoshen.cc +chaoshengboliuliangji.com +chaoskeh.com +chaosu.com +chaosuduokai.com +chaosw.com +chaov.com +chaoxin.com +chaoxing.com +chaoxz.com +chaoyindj.com +chaoyisy.com +chaoyuelm.com +chaoyuesd.com +chaoyuyun.com +chaozhiedu.com +chaozhoudaily.com +chaozhuo.net +chaozuo.com +chapangzhan.com +chapaofan.com +chaping.tv +chappell1811.com +chapuw.com +chargerlab.com +chargerlink.com +charmelady.com +charmingglobe.com +chartboost-china.com +chashebao.com +chatm.com +chatnos.com +chawenti.com +chawenyi.com +chawo.com +chaxinyu.net +chaxunfapiao.com +chayangge.com +chaye.com +chayeo.com +chayu.com +chayueshebao.com +chayuqing.com +chazc.com +chazhaokan.com +chazhilan.com +chazidian.com +chazishop.com +chaziwang.com +chaziyu.com +chazuo.com +chazuo.net +chazuowang.com +chbaojie.com +chbcnet.com +chbtc.com +chcedo.com +chcnav.com +chcoin.com +chcpd.com +chczz.com +chda.net +chdajob.com +chdelphin.com +chdtv.net +che.com +che0.com +che12.com +che127.com +che168.com +che300.com +che6che5.com +cheaa.com +cheapermai.com +cheapyou.com +cheari.com +chebaba.com +chebada.com +checheboke.com +chechong.com +check.cc +checkin.gstatic.com +checkip.biz +checkip.pw +checkoo.com +checkpass.net +chedan5.com +chediandian.com +cheduo.com +cheerfun.dev +cheerjoy.com +cheersee.com +cheersofa.com +cheerspublishing.com +cheerupmail.com +chefafa.com +chefans.com +chefugao.com +cheguanyi.com +chegud.com +cheguo.com +chehang168.com +chehejia.com +chehubao.com +chehui.com +chekb.com +chekucafe.com +chelun.com +chem17.com +chem31.com +chem36.com +chem365.net +chem960.com +chem99.com +chemalink.net +chemao.com +chemayi.com +chemcp.com +chemcyber.com +chemdrug.com +chemicalbook.com +chemishu.com +chemm.com +chemmade.com +chemnet.com +chemrc.com +chemsb.com +chemsrc.com +chemyq.com +chen-nuo.com +chen7782.com +chenag.com +chenall.net +chenanz.com +chenapp.com +chende.net +cheng-nuo.com +cheng-sen.com +cheng95.com +cheng95.net +chengadx.com +chengailvsuo.com +chengbanren02.com +chengchuanren.com +chengdebank.com +chengdechina.com +chengder.com +chengdu-expat.com +chengdun.com +chengedeco.com +chengezhao.com +chengfeilong.com +chenggua.com +chengguw.com +chengjieos.com +chengjing.com +chengkao365.com +chenglang.net +chenglangyun.com +chenglin.name +chengliwang.com +chenglou.net +chengpeiquan.com +chengrang.com +chengrengaokaobaoming.com +chengshidingxiang.com +chengshiluntan.com +chengshiw.com +chengshizg.com +chengshu.com +chengsmart.com +chengtu.com +chenguangblog.com +chengxiangqian.com +chengxinyouxuan.com +chengxuan.com +chengyangnews.com +chengyangyang.com +chengye-capital.com +chengyin.org +chengyiqq.vip +chengyuw.com +chengyuwb.com +chengzhongmugu.wang +chengzi520.com +chengzijianzhan.cc +chengzijianzhan.com +chengzivr.com +chenhaiyue.com +chenhr.com +chenhui.org +chenii.com +chenjia.me +chenjie.info +chenjiehua.me +chenjunlu.com +chenksoft.com +chenlb.com +chenlianfu.com +chenlinux.com +chenlongyx.com +chenmomo.com +chenpeng.info +chenplus.com +chenpot.com +chenruixuan.com +chenrunjinshu.com +chenshipin.com +chensonglin.net +chenty.com +chenxi-sh.com +chenxinghb.com +chenxm.cc +chenxuehu.com +chenxuhou.com +chenxunyun.com +cheny.org +chenyaorong.com +chenyea.com +chenyistyle.com +chenyongjun.vip +chenyuan588.com +chenyuanjian.com +chenyudong.com +chenzao.com +chenzhicheng.com +chenzhongkj.com +chenzhongtech.com +cheonhyeong.com +cheoo.com +cheoz.com +chepin88.com +chepinnet.com +chepoo.com +cherriespie.com +cherymanuals.com +cheshi-img.com +cheshi.com +cheshi18.com +cheshirex.com +cheshouye.com +chestar.net +chesthospital.com +chesudi.com +chesusu.com +chetuanwang.net +chetuobang.com +chetx.com +chetxia.com +chevip.com +chewen.com +chexiang.com +chexiaopang.com +chexin.cc +chexiu.com +chexun.com +chexun.net +cheyaoshi.com +cheyian.com +cheyipai.com +cheyishang.com +cheyisou.com +cheyo.net +cheyoo.com +cheyou123.com +cheyun.com +cheyuu.com +chez360.com +chezhanri.com +chezhibao.com +chezhu1.com +chezhubidu.com +chezhuzhinan.com +chezizhu.com +chgcis.com +chgcw.com +chgjedu.com +chgreenway.com +chhblog.com +chhua.com +chhzm.com +chi2ko.com +chi588.com +chiang.fun +chibaole.com +chichou.me +chichuang.com +chidaolian.com +chidaoni.com +chidaoni.net +chidown.com +chidudata.com +chiefmore.com +chieftin.org +chifenghualvlvxingshe.com +chihaigames.com +chihe.so +chiheba.com +chiji-h5.com +chijianfeng.com +childjia.com +childlib.org +chillyroom.com +chilunyc.com +chiluyingxiao.com +chimatong.com +chimee.org +chimelong.com +chimezi.com +china-10.com +china-3.com +china-315.com +china-ah.com +china-asahi.com +china-asm.com +china-b.com +china-caa.org +china-cas.org +china-cba.net +china-cbn.com +china-cbs.com +china-ccie.com +china-ccw.com +china-cdt.com +china-ceco.com +china-ced.com +china-cfa.org +china-changjiang.net +china-channel.com +china-chuwei.com +china-cicc.org +china-clearing.com +china-cloud.com +china-co.com +china-coc.org +china-cold.com +china-consulate.org +china-csdz.com +china-csm.org +china-customs.com +china-cw.com +china-d.com +china-def.com +china-designer.com +china-drm.net +china-ef.com +china-efe.org +china-eia.com +china-embassy.org +china-engine.net +china-entercom.com +china-enterprise.com +china-epa.com +china-epc.org +china-erzhong.com +china-experts.com +china-fire.com +china-flash.com +china-flower.com +china-g.com +china-galaxy-inv.com +china-gehang.com +china-genius.com +china-gold.com +china-goldcard.com +china-highway.com +china-holiday.com +china-hongfei.com +china-hrg.com +china-huaxue.com +china-huazhou.com +china-hzd.com +china-insurance.com +china-invests.net +china-isotope.com +china-jm.org +china-kaihua.com +china-kaoshi.com +china-key.com +china-kids-expo.com +china-lawoffice.com +china-led.net +china-lushan.com +china-lzmj.com +china-m2m.com +china-moutai.com +china-nengyuan.com +china-nlp.com +china-obgyn.net +china-packcon.com +china-pcba.com +china-pharmacy.com +china-pops.net +china-pub.com +china-qiao.com +china-reform.org +china-ric.com +china-riscv.com +china-russia.org +china-see.com +china-seeq.com +china-share.com +china-shimo.com +china-show.net +china-shufajia.com +china-sites.com +china-slate.com +china-sorsa.org +china-spacenews.com +china-sss.com +china-tower.com +china-toy-edu.org +china-toy-expo.com +china-twofoundation.com +china-up.com +china-vcom.com +china-vision.org +china-vo.org +china-wanlin.com +china-warping.com +china-waste.com +china-wss.com +china-zbycg.com +china-zikao.com +china.com +china.mintel.com +china.uxengine.net +china001.com +china12365.com +china17.net +china1baogao.com +china1f.com +china2000.org +china35.com +china356.com +china360.net +china3gpp.com +china4a.org +china50plus.com +china5e.com +china60.com +china618.com +china6688.com +china724.com +china777.org +china95.net +china9s.com +china9y.com +chinaacc.com +chinaadec.com +chinaaet.com +chinaagrisci.com +chinaairer.com +chinaalex.com +chinaamc.com +chinaamuse.com +chinaanonymous.com +chinaapp.org +chinaar.com +chinaartificialstone.com +chinaasc.org +chinaaseanenv.org +chinaaseantrade.com +chinaasic.com +chinaautosupplier.com +chinaaviationdaily.com +chinab4c.com +chinabaike.com +chinabaiker.com +chinabaogao.com +chinabaokan.com +chinabaoke.net +chinabathware.com +chinabbtravel.com +chinabda.org +chinabdh.com +chinabdt.com +chinabeer.net +chinabenson.com +chinabeston.com +chinabgao.com +chinabidding.com +chinabiddingzb.com +chinabigdata.com +chinabike.net +chinabimdata.org +chinabmi.com +chinabn.org +chinabookinternational.org +chinabreed.com +chinabug.net +chinabus.info +chinabuses.com +chinabym.com +chinabyte.com +chinabzp.com +chinac.com +chinac3.com +chinacace.org +chinacache.cedexis.com +chinacache.com +chinacache.net +chinacaipu.com +chinacaj.net +chinacamel.com +chinacampus.org +chinacarbide.com +chinacarz.com +chinacasa.org +chinaccm.com +chinaccnet.com +chinaccnet.net +chinaccsi.com +chinacct.org +chinacdlm.com +chinaceot.com +chinaceotv.com +chinacfi.net +chinacfo.net +chinacft.org +chinachemnet.com +chinachilun.org +chinachugui.com +chinacics.org +chinacil.com +chinacir.com +chinacity.net +chinacitywater.org +chinackf.net +chinacleanexpo.com +chinaclip.net +chinacma.org +chinacmo.com +chinacnr.com +chinacoal.com +chinacomix.com +chinaconch.com +chinaconsulatesf.org +chinaconveyor.com +chinacosco.com +chinacourt.org +chinacpda.com +chinacpda.org +chinacpec.com +chinacpx.com +chinacqsb.com +chinacrane.net +chinacreator.com +chinacrumpler.com +chinacses.org +chinacsf.com +chinactv.com +chinaculture.org +chinacxjs.org +chinacyzf.org +chinadafen.com +chinadailyglobal.com +chinadance.com +chinadart.com +chinadatatrading.com +chinaday.com +chinadazhaxie.com +chinadds.net +chinadegi.com +chinadengshi.com +chinadentalshow.com +chinadep.com +chinadeveloper.net +chinadiaoyou.com +chinadigit.org +chinadmoz.org +chinadns.org +chinadoudi.com +chinadrtv.com +chinadsl.net +chinadysj.com +chinadyt.com +chinadz.com +chinadzyl.com +chinae.net +chinaeastlaw.com +chinaecnet.com +chinaecotech.org +chinaeda.org +chinaedu.com +chinaedu.net +chinaedunet.com +chinaedunewsw.com +chinaefu.net +chinaehs.net +chinaeic.net +chinaeinet.com +chinaeinv.com +chinaemed.com +chinaequity.net +chinaerman.com +chinaesm.com +chinaexam.org +chinaexpo365.com +chinaeye.com +chinafanyi.com +chinafarad.com +chinaffmpeg.com +chinafiber.com +chinafic.org +chinafilm.com +chinafilms.net +chinafinancenet.com +chinafinanceonline.com +chinafishtv.com +chinafix.com +chinaflashmarket.com +chinaflier.com +chinafoodj.com +chinaforklift.com +chinafpd.net +chinafph.com +chinafpma.org +chinaftat.org +chinafudaoban.com +chinagames.net +chinagayles.com +chinagb.net +chinagb.org +chinagba.com +chinagcd.com +chinagcp.org +chinagdg.com +chinagiftsfair.com +chinagoldcoin.net +chinagoldgroup.com +chinagp.net +chinagps.cc +chinagrid.net +chinagrowthcapital.com +chinagungho.org +chinaguyao.com +chinagwy.org +chinagwyw.org +chinagzn.com +chinagznw.com +chinahacker.com +chinaham.com +chinahao.com +chinaharp.com +chinahazelnut.com +chinahbnet.com +chinahightech.com +chinahighway.com +chinahkidc.net +chinahlwyy.com +chinahnjs.com +chinahorse.org +chinahost.org +chinahotel.com +chinahpa.org +chinahqjjw.com +chinahr.com +chinahrd.net +chinahrgy.com +chinahrt.com +chinahte.com +chinahtz.com +chinahuben.com +chinahumanrights.org +chinahvacr.com +chinahw.net +chinahydro.com +chinahyyj.com +chinaidaa.org +chinaidcnet.net +chinaidns.com +chinaido.com +chinaielts.org +chinaiern.com +chinaiia.com +chinainout.com +chinaiol.com +chinaios.com +chinaipmagazine.com +chinaipo.com +chinaiprlaw.com +chinairn.com +chinairr.org +chinaitcapital.com +chinaitlab.com +chinaitpower.com +chinajan.com +chinajcz.com +chinajeweler.com +chinajjz.com +chinajnhb.com +chinajoinin.com +chinajoy.net +chinajs120.com +chinajsxx.com +chinajungong.com +chinajuva.com +chinajyxdh.com +chinajzqc.com +chinakaoyan.com +chinakaratedo.org +chinakidville.com +chinakingland.com +chinakingo.com +chinakongzi.org +chinaks.net +chinaksi.com +chinakyzl.com +chinalabexpo.com +chinalabs.com +chinalancoo.com +chinalandpress.com +chinalao.com +chinalawbook.com +chinalawedu.com +chinalawinfo.com +chinalawyeryn.com +chinaleather.org +chinaledger.com +chinaleeper.com +chinalibs.net +chinalicensing.org +chinalicensingexpo.com +chinalifang.com +chinalims.net +chinalincoln.com +chinalink-sh.net +chinalink.tv +chinalinuxpub.com +chinalions.com +chinalm.org +chinalongmai.net +chinalsjt.com +chinalubricant.com +chinalure.com +chinalushan.com +chinaluxus.com +chinalxnet.com +chinamae.com +chinamags.org +chinamap.com +chinamarintec.com +chinamaven.com +chinambn.com +chinamca.com +chinamcache.com +chinamcloud.com +chinameasure.com +chinameat.org +chinameidu.com +chinamendu.com +chinamenwang.com +chinamerger.com +chinametro.net +chinameyer.com +chinamfi.net +chinamining.com +chinamission.be +chinamlmcc.com +chinamobile.com +chinamobilesz.com +chinamost.net +chinamsa.org +chinamsr.com +chinamusical.net +chinamusicbusinessnews.com +chinamworld.com +chinamypp.com +chinanbb.com +chinanet-sh.com +chinanet.cc +chinanet88.com +chinanetcenter.com +chinanetidc.com +chinanetsun-dns.com +chinanetsun.com +chinaneweast.com +chinanews.com +chinaningbo.com +chinanmi.com +chinaobp.com +chinaoct.com +chinaonward.net +chinaopc.org +chinaopen.com +chinaops.org +chinaopticsvalley.com +chinaore.com +chinaosx.com +chinaosx.net +chinaott.net +chinaowps.com +chinapastel.com +chinapay.com +chinape168.com +chinapet.com +chinapet.net +chinapharm.net +chinaphoto.cc +chinapipe.net +chinaplat.com +chinapm.org +chinapnr.com +chinapoesy.com +chinaports.com +chinapost-life.com +chinapowerbi.com +chinapp.com +chinapptx.com +chinaprint.org +chinaproaudio.com +chinapsy.com +chinapubmed.net +chinaqi.net +chinaqingtian.com +chinaqipeihui.com +chinaqking.com +chinaql.org +chinaqoe.net +chinaquickpcb.com +chinaqw.com +chinarayying.com +chinardr.com +chinardr.net +chinaredstar.com +chinaren.com +chinareports.org +chinarootdesign.com +chinartlaw.com +chinarun.com +chinarzfh.com +chinasaat.com +chinasafety.net +chinasanc.com +chinasatcom.com +chinasb.org +chinasbj.net +chinasbsp.com +chinasciencejournal.com +chinascopefinancial.com +chinascrum.org +chinascsoft.com +chinasexq.com +chinashadt.com +chinashangpinku.com +chinashj.com +chinashop.cc +chinashpp.com +chinasi.com +chinasie.com +chinasilk.com +chinasiwei.com +chinasmartpay.com +chinasnow.net +chinasnw.com +chinaso.com +chinasofti.com +chinasoftinc.com +chinasoftosg.com +chinasosuo.cc +chinasou.com +chinasoushang.com +chinaspringtown.com +chinassl.com +chinassl.net +chinasspp.com +chinastoneforest.com +chinastor.com +chinasufa.com +chinasupercloud.com +chinaswim.com +chinaswitch.com +chinasws.com +chinasydw.org +chinatai.com +chinataiwan.org +chinatalent.org +chinatarena.com +chinatat.com +chinatechinsights.com +chinatelecom-ec.com +chinatelecom.com.mo +chinatelecomiot.com +chinatelling.com +chinatet.com +chinatex.com +chinatex.net +chinatex.org +chinatibetnews.com +chinaticket.com +chinatietong.com +chinatikfans.com +chinatimber.org +chinatimes.cc +chinatiner.com +chinatiredealer.com +chinatmic.com +chinatopbrands.net +chinatourguide.com +chinatpm.com +chinatpm.net +chinatranslation.net +chinatravel.net +chinatraveldepot.com +chinatruck.org +chinatrucks.com +chinatsi.com +chinatsp.com +chinattl.com +chinatungsten.com +chinatupai.com +chinatv-net.com +chinatvc.com +chinatyco.com +chinaufo.com +chinaui.com +chinauidesign.com +chinauma.com +chinaums.com +chinaun.net +chinaunicom-a.com +chinaunicom.com +chinauniforms.com +chinaunionpay.com +chinauniversalasset.com +chinaunix.com +chinaunix.net +chinaunix.org +chinauo.com +chinauos.com +chinauos.net +chinauos.org +chinaups.com +chinaus-maker.org +chinaus.com +chinauso.com +chinavalin.com +chinavalue.net +chinavcpe.com +chinavfx.net +chinavid.com +chinavideo.org +chinavipsoft.com +chinavisual.com +chinavivaki.com +chinavnet.com +chinavoa.com +chinavr.net +chinawaiyu.com +chinawanda.com +chinawatchnet.com +chinawbk.com +chinawbsyxh.com +chinawch.com +chinawebber.com +chinawebmap.com +chinaweiyu.com +chinawenben.com +chinawenwang.com +chinawie.com +chinawiserv.com +chinawitmedia.com +chinawoodnet.com +chinawpn.com +chinawr.net +chinawudang.com +chinawutong.com +chinawutong.net +chinawuyuan.com +chinaxiaokang.com +chinaxinge.com +chinaxinport.com +chinaxpp.com +chinaxq.com +chinaxqf.com +chinaxueqian.com +chinaxwcb.com +chinaxzrc.com +chinayigou.com +chinayigui.com +chinayk.com +chinaymc.com +chinayouji.com +chinayuanwang.com +chinayyjx.com +chinayyo.com +chinayzyh.com +chinaz.com +chinaz.net +chinazhiqing.org +chinazichan.com +chinazikao.com +chinazjph.com +chinazjy.com +chinaznj.com +chinazns.com +chinaznyj.com +chinazov.com +chinazwds.com +chinazwds.org +chinazxt.com +chinazyjr.com +chinca.org +chindiaforum.com +chine-info.com +chinee.com +chinese-luxury.com +chinese-no1.com +chineseacc.com +chineseafs.org +chineseall.com +chinesecio.com +chineseconsulate.org +chineseembassy.org +chinesehongker.com +chinesejk.com +chinesejy.com +chineselaw.com +chinesemooc.org +chineserose.com +chinesetown.net +chingkun.com +chingli.com +chingmi.com +chinlingo.com +chinput.com +chint.com +chint.net +chipcoo.com +chipcreation.com +chipdance.com +chiphell.com +chiplayout.net +chipmanufacturing.org +chiponeic.com +chipown.com +chiprf.com +chipsbank.com +chipsec.com +chipsgo.com +chipsir.com +chipup.com +chipwing.com +chipwings.com +chiq-cloud.com +chiralquest.com +chisai.tech +chisc.net +chiselchina.com +chiser.cc +chishine3d.com +chishoes.com +chitanda.me +chitu.com +chitu101.com +chitu103.com +chitu104.com +chitu107.com +chivast.com +chivox.com +chivoxapp.com +chiwayedu.com +chixing.net +chixingkeji.com +chixm.com +chiyuebing.com +chiyuekj.com +chiyuewenhua.com +chizhouchacha.com +chizhoujob.com +chizhouren.com +chiznews.com +chjso.com +chkj365.com +chklingw.com +chlahb.com +chloe99.com +chmecc.org +chmed.net +chmgames.com +chmia.org +chn0769.com +chn112.com +chn168.com +chnart.com +chnau99999.com +chnbook.org +chnci.com +chncia.org +chncomic.com +chncpa.org +chncwds.com +chndesign.com +chndsnews.com +chndtb.com +chnews.net +chnfi.com +chnfund.com +chngalaxy.com +chngc.net +chnjet.com +chnlanker.com +chnlib.com +chnmodel.com +chnmus.net +chnmusic.org +chnp2p.com +chnpac.com +chnpec.com +chnpic.net +chnppmuseum.com +chnroad.com +chnsuv.com +chocolatehappyland.com +chofn.com +chofn.net +chofn.org +chofnipr.com +choiceform.com +chong-wu.net +chong4.net +chongai.co +chongchi.com +chongchuang.biz +chongdeedu.com +chongdiantou.com +chonghi.com +chongmingzhuce.com +chongqingdongjin.com +chongsoft.com +chongwu.cc +chongwujiaoyi.com +chongwuxiang.com +chongya.com +chongyacdn.com +chongyitang.org +chongzhi.com +chonka.com +chotee.com +chouchoujiang.com +choujue.net +choukang.com +choupangxia.com +chouqinshuwu.com +chouqu.com +chouti.cc +chouti.com +chplayer.com +chqgwy.org +chrent.com +chrice.net +chrieschina.com +chris-tina.com +chrisyue.com +chrmn.com +chrom-china.com +chromecj.com +chromedownloads.net +chromefor.com +chromeliulanqi.com +chroyoo.com +chrstatic.com +chs.so +chshcms.com +chshouyu.com +chsqh.com +chste.com +chtf.com +chtfund.com +chtgc.com +chtpe.com +chtse.com +chtwm.com +chuaiguo.com +chuairan.com +chuaizhe.com +chuanbofanyi.com +chuanbojia.com +chuanboyi.com +chuandaizc.com +chuandong.com +chuang.pro +chuangbie.com +chuangcache.com +chuangcdn.com +chuangchangnet.com +chuangcifang.com +chuangd.com +chuangduyouyue.com +chuangen.com +chuangfeixin.com +chuangjiangx.com +chuangkem.com +chuangkeup.com +chuangkit.com +chuanglian.net +chuanglinggame.com +chuangluo.com +chuangread.com +chuangshifurui.com +chuangshileather.com +chuangshizhenghe.com +chuangtoo.com +chuangx.org +chuangxin.com +chuangxinapi.com +chuangxinbeidou.com +chuangxinoa.com +chuangye.com +chuangye98.com +chuangyebaba.com +chuangyejia.com +chuangyejia.vip +chuangyejian.com +chuangyejmw.com +chuangyepu.com +chuangyijisu.com +chuangyimao.com +chuangyouqi.com +chuangyunet.com +chuangzaoshi.com +chuanjiaoban.com +chuanke.com +chuanmeixing.com +chuanmeizy.com +chuannan.net +chuanqi.com +chuanqian999.com +chuanshanqundao.com +chuansongme.com +chuantec.com +chuanxincao.net +chuanye.com +chuanying365.com +chuanying520.com +chuanyinpx.com +chuapp.com +chubaodai.com +chubh.com +chucaotang.com +chucaotang.net +chuchuguwen.com +chuchujie.com +chudaoyou.com +chudeer.com +chudian365.com +chufaba.me +chufw.com +chuge8.com +chuguo78.com +chuguofeng.com +chuguohao.com +chuhoi.com +chuimg.com +chuinet.com +chuixue.net +chuiyue.com +chuji8.com +chuju750.com +chujuan.net +chukong-inc.com +chukou1.com +chukuangren.com +chule.cc +chulouwang.com +chumacdn.com +chumanapp.com +chumenwenwen.com +chumo028.com +chunbo.com +chunboimg.com +chuncui.net +chuncuinet.com +chundakj99.com +chundi.com +chundi.org +chunengauto.com +chunfengapp.com +chunge188.com +chungeseo.com +chungkwong.cc +chunhingplasticbags.com +chunhui12.com +chunjingtech.com +chunjiws.com +chunmi.com +chunqiuwang.com +chunshuitang.com +chunshuizhijia.com +chunsuns.com +chuntiansongart.com +chunxuanmao.com +chunyiscdk.com +chunyu.me +chunyu.mobi +chunyuyisheng.com +chunzaichengnan.com +chuqimen.com +chuquan.me +chureng.com +churenjixie.com +chusan.com +chuseo.com +chushan.com +chushang027.com +chushibiao5.com +chushihome.com +chushiji.com +chushou.tv +chushu123.com +chutianlaser.com +chutianzhinu.com +chuwi.com +chuxiangyi.com +chuxindata.com +chuxingyouhui.com +chuxinhudong.com +chuxinm.com +chuxueyun.com +chuying.org +chuyouke.com +chuyu.me +chuzhaobiao.com +chvv.com +chw365.com +chwlsq.com +chxyq.com +chyangwa.net +chydafuse.com +chyfh.com +chyoukj.com +chysoft.net +chyw.pub +chyxx.com +chzhkeji.com +chzhw.com +chzybj.com +ci123.com +ci52.com +ci800.com +ciamiecn.com +ciaoca.com +ciatcm.org +cibfintech.com +cibn.cc +cibn.com +cibntv.net +ciboedu.org +cibonet.com +cibresearch.com +cibuser.com +cicaf.com +cicc.com +ciccfund.com +ciccphoto.com +ciceme.com +cicet.net +ciciec.com +cicmag.com +cicphoto.com +cict.com +cicw.org +cidgroup.com +cidi.ai +cidiancn.com +cidianwang.com +cidschina.com +ciec-expo.com +ciect.com +cieet.com +cietac-hb.org +cietac-sc.org +cietac.org +cifalshanghai.org +cifco.net +cifm.com +cifnews.com +cifoo.com +ciftis.org +cigarambassador.com +cignacmb.com +cihai123.com +cihexpo.com +ciia-if.org +ciicgat.com +ciidoo.com +ciie.org +ciif-expo.com +ciiip.com +ciimg.com +cijilu.com +ciku5.com +cili001.com +cili123.pw +cili8.xyz +ciliba.buzz +ciliba.life +ciliba5.xyz +ciliguanjia.cyou +cilin.org +cilogo.com +cim2025.net +cimamotor.com +cimc.com +ciming-bj.com +ciming-shop.com +ciming.com +cimingaoya.com +cimingsy.com +cimingyc.com +cimsic.com +cimtshow.com +cinasoft.com +cindasc.com +cindasoft.com +cinehello.com +cingta.com +ciniao.me +cinsee.com +cinyi.com +cio114.com +cio360.net +cioage.com +ciotimes.com +ciotour.com +ciou.com +cip.cc +cipgtrans.com +ciplawyer.com +cippe.net +ciprun.com +cipscom.com +cipunited.com +ciqinghui.com +cirmall.com +cirno9.net +cirs-reach.com +cirunzhang.com +cismag.net +cismef.com +cisskwt.com +citahub.com +citexpo.org +citiais.com +citic-cid.com +citic.com +citicbank.com +citicbankuser.com +citiccard.com +citicguoanbn.com +citicnetworks.com +citics.com +citicsf.com +citicsinfo.com +citicsqh.com +citicsteel.com +citidigital.com +citisa.org +citiz.net +citreport.com +cits-sz.net +cits0871.com +cits2.com +citscq.com +citscsc.com +citsgbt.com +citshq.com +citssh.com +citszz.com +cittc.net +citure.net +citvc.com +city8.com +city84.com +citydh.com +citygf.com +cityhui.com +citylinker.com +citysbs.com +citysz.net +citytogo.com +cityup.org +citywo.com +cityy.com +civilcn.com +civilness.com +civiw.com +ciweek.com +ciweekly.com +ciwei.me +ciwei.net +ciweimao.com +ciweishixi.com +ciweiyuedui.com +ciwong.com +ciwork.net +cixibank.com +cixiedu.net +ciyew.com +ciyocon.com +ciyuan.men +cizip.com +cj-elec.com +cjavapy.com +cjcjw.com +cjcp.org +cjdcw.com +cjdropshipping.com +cjdx1.com +cjeduw.com +cjftb.com +cjgcedu.com +cjhb168.com +cjhospital.com +cjhxfund.com +cjienc.com +cjiit.com +cjjhb.com +cjjjs.com +cjjnff.com +cjk3d.net +cjkcgs.com +cjkhd.com +cjkj.ink +cjkz.com +cjlap.com +cjlhs.com +cjm.so +cjmakeding.com +cjmit.com +cjmx.com +cjn.com +cjnis.com +cjol.com +cjolimg.com +cjrcsc.com +cjs-lwh.love +cjsc.com +cjting.me +cjveg.com +cjxz.com +cjyun.club +cjyun.org +cjyyw.com +cjzkw.com +cjzy.net +cjzzc.com +ck100.com +ck180.net +ckair.com +ckck.vip +ckd.cc +ckd.so +ckd8.com +ckdzb.com +ckefu.com +ckernel.org +ckeyedu.com +ckgcjl.com +ckimg.com +ckjr001.com +ckmov.com +ckook.com +ckplayer.com +ckpoo.com +cksd888.com +cksic.com +ckuai.com +ckxsw.com +ckxx.net +ckzhijiaedu.com +cl-acg.com +cl-clw.com +cl-hs.com +cl-kongtiao.com +cl0438.com +cl1-cdn.origin-apple.com.akadns.net +cl1.apple.com +cl2-cn.apple.com +cl2.apple.com +cl2009.com +cl3-cdn.origin-apple.com.akadns.net +cl3.apple.com +cl3000.com +cl4-cdn.origin-apple.com.akadns.net +cl4-cn.apple.com +cl4.apple.com +cl5-cdn.origin-apple.com.akadns.net +cl5.apple.com +cl597.com +clabso.com +clady.cc +claiks.com +clanzx.net +claritywallpaper.com +class01.com +classmateer.com +clayidols.com +claymore.wang +clb6.net +clboss.com +clbu.club +clcindex.com +clclibrary.com +clcmw.com +clcyd.com +clean-cn.com +cleaninfo.com +clear-sz.com +clear888.com +clearaki.com +clearcrane.com +clearsky360.com +clewm.net +clewx.com +clf.red +clfile.com +clgc88.com +cli.im +click-v.com +click369.com +clicksdiy.com +clickserve.dartsearch.net +clicksun.net +clickwifi.net +client51.com +clientflow.apple.com +clientflow.apple.com.akadns.net +clientservices.googleapis.com +cliffordtrading.com +cliim.com +cliim.net +clinicmed.net +clink-ads.xyz +clinkworld.com +cliport.com +cljmmm123.com +clled.com +clloz.com +clngaa.com +clocklab.tech +cloopen.com +cloopen.net +cloopm.com +closertb.site +clostone.com +clotfun.online +clotfun.xyz +clotheshr.com +clothjob.com +clothr.com +clouclip.com +cloud-cube.net +cloud-dns.net +cloud-dns.vip +cloud-frame.com +cloud-links.net +cloud-neofussvr.sslcs.cdngc.net +cloud-sun.com +cloudacc-inc.com +cloudajs.org +cloudangelfunds.com +cloudbility.com +cloudcc.com +cloudcdn.net +cloudcdns.com +cloudcdns.net +cloudcross.com +cloudcsp.com +clouddcs.com +clouddiffuse.xyz +clouddn.com +clouddream.net +cloudflarea.com +cloudgap.net +cloudgfw.com +cloudgfw.net +cloudglb.com +cloudglb.net +cloudgoing.com +cloudguarding.com +cloudhosts.xyz +cloudhua.com +cloudhvacr.com +cloudinnov.com +cloudinward.com +cloudiplc.com +cloudkirin.com +cloudleft.com +cloudlet.info +cloudmap.hk +cloudmes.io +cloudminds.com +cloudnapps.com +cloudp.cc +cloudpense.com +cloudpnr.com +cloudpre.org +cloudroom.com +cloudsation.com +cloudsea.org +cloudsee.com +cloudseeplus.com +cloudseetech.com +cloudserver01.com +cloudsgis.com +cloudsohu.net +cloudstack-china.org +cloudtcp.net +cloudtomicro.com +cloudtopo.com +cloudtrans.com +cloudtui.com +cloudv.cdnetworks.com +cloudvast.com +cloudvdn.com +cloudvip1.com +cloudvogue.com +cloudvse.com +cloudwise.com +cloudxns.com +cloudyee.com +cloudyo.net +cloudyouku.com +clpga.org +clsn.io +clssn.com +clto.cc +cltt.org +clubweixin.samsung.com +clusterdnsserver.com +clx360.com +clyric.com +clz.me +clzqlhj.com +clzycld.com +cm-analysis.com +cm-iov.com +cm233.com +cm3721.com +cmacredit.org +cmaif.com +cmall.com +cmanuf.com +cmb-leasing.com +cmbajia.com +cmbbao.com +cmbchina.biz +cmbchina.com +cmbchina.net +cmbimg.com +cmbuy10086.com +cmbwinglungbank.com +cmc168.com +cmcc-ecs.com +cmcc.in +cmcm.com +cmcm5.cc +cmcm5.com +cmcm55.cc +cmcmcdn.com +cmd5.com +cmd5.la +cmd5.org +cmda.net +cmdb.xyz +cmdrh.com +cmdschool.org +cmdw.vip +cmdy2020.com +cmechina.net +cmejob.com +cmenergyshipping.com +cmes.org +cmetamap.com +cmfchina.com +cmfish.com +cmfspay.com +cmft.com +cmfu.com +cmgadx.com +cmgame.com +cmge.com +cmgos.com +cmgrasp.com +cmhello.com +cmia.info +cmicapm.com +cmidc.net +cming.com +cmiyu.com +cmjz.net +cmljs.org +cmmim.com +cmnet-speed.com +cmnxt.com +cmo.so +cmoct.com +cmodes.com +cmol.com +cmpassport.com +cmpay.com +cmread.com +cmri.cc +cms.ibm.com +cms1924.org +cmsblogs.com +cmschina.com +cmscmc.org +cmseasy.cc +cmsfg.com +cmsjournal.net +cmskcrm.com +cmsky.com +cmsn.biz +cmspapp77.com +cmstop.com +cmswj.com +cmsyuanma.com +cmt178.com +cmt7.com +cmtdi.com +cmtech.net +cmtrq.com +cmu1h.com +cmuliang.com +cmvtc.com +cmwb.com +cmwin.com +cmxrcw.com +cmxwsj.com +cmzd.com +cmzj.net +cmzy168.com +cmzyk.com +cn-bowei.com +cn-c114.net +cn-em.com +cn-fe.com +cn-healthcare.com +cn-java.com +cn-lcd.com +cn-msedge.net +cn-mw.com +cn-office.com +cn-psy.com +cn-railway.net +cn-roofexpert.com +cn-soft.com +cn-truck.com +cn-visa.com +cn-xbn.com +cn-zhentai.com +cn.bing.com +cn.bing.net +cn.msi.com +cn.net +cn.pandora.net +cn.vc +cn.windowssearch.com +cn0-6.com +cn00.com +cn006.com +cn010w.com +cn0434.com +cn0556.com +cn0713.com +cn0851.com +cn0917.com +cn12333.com +cn12365.org +cn163.net +cn168.com +cn18k.com +cn2-cn2.com +cn20.com +cn21edu.com +cn22.net +cn2che.com +cn314.com +cn357.com +cn360cn.com +cn365c.com +cn365d.com +cn365e.com +cn3k5.com +cn3v.net +cn3wm.com +cn4e.com +cn51.com +cn5135.com +cn539.com +cn68.com +cn6szx.com +cn716.com +cn8fre.com +cn99.com +cn9f.com +cna5.com +cnaaa15.com +cnaaa6.com +cnaaa7.com +cnaaa9.com +cnacg.cc +cnad.com +cnaf.com +cnagcoin.com +cnaho.com +cnaicpa.org +cnaidai.com +cnaidc.com +cnaifm.com +cnair.com +cnal.com +cname-cdn.com +cname123.net +cnamegslb.com +cnantennas.com +cnanzhi.com +cnaomeng.com +cnautofinance.com +cnautonews.com +cnbabylon.com +cnball.net +cnbanbao.com +cnbaowen.net +cnbct.org +cnbeta.com +cnbetacdn.com +cnbetnew.com +cnbidding.com +cnbigcloud.com +cnbiocell.com +cnbis.com +cnbis.org +cnbizmedia.com +cnbksy.com +cnbkw.com +cnblogs.com +cnblogsc.com +cnblogse.com +cnbluebox.com +cnbmys.com +cnbntv.com +cnboat.com +cnbooks.org +cnbp.net +cnbuses.com +cnbw114.com +cnbzlf.com +cnbzol.com +cnbzs.com +cnc-gd.net +cnca.net +cncc.bingj.com +cnccac.com +cnccchina.com +cncdn.com +cncdzn.com +cncelab.com +cnceo.com +cncgw.org +cnchainnet.com +cnchanran.com +cncheng.com +cnchezhan.com +cnchu.com +cncico.com +cnciyuan.com +cncjmjg.com +cncloud.com +cncmrn.com +cncms.com +cncn.com +cncn.net +cncnbd.com +cncncloud.com +cncncn.com +cncnet.net +cncnki.com +cncolour.com +cncondom.com +cncookernet.com +cncoolm.com +cncopter.com +cncotton.com +cncourt.org +cncraftinfo.com +cncrk.com +cncrony.com +cncrypt.com +cncsj.net +cnctui.com +cnczjy.com +cnd8.com +cndao.com +cndata.com +cndatacom.com +cndds.com +cndesign.com +cndfilm.com +cndhotels.com +cndids.com +cndingxi.com +cndip.com +cndjyswlw.com +cndkc.net +cndns.com +cndns5.com +cndog.net +cndoornet.com +cndoors.com +cndrynet.com +cndsnet.com +cndss.net +cndtlab.com +cndtour.com +cndw.com +cndy.org +cndzq.com +cndzys.com +cnecc.com +cnedres.org +cneeex.com +cnelc.com +cnelecom.net +cnelite.org +cneln.net +cnemb.com +cnena.com +cnenergy.org +cneol-dns.net +cnep001.com +cnepaper.com +cnepaper.net +cnerlang.com +cnern.org +cnesf.com +cnetea.net +cnetec.com +cnetsec.com +cneuol.com +cnevi.com +cnexp.net +cnexps.com +cneyoo.com +cnezsoft.com +cnfanews.com +cnfantasia.com +cnfaxie.org +cnfczn.com +cnfdlt.com +cnfeat.com +cnfeelings.com +cnfeol.com +cnffi.com +cnfiberhome.com +cnfilternet.com +cnfina.com +cnfirst.org +cnfish.com +cnfisher.com +cnfla.com +cnfmp.net +cnfol.com +cnfol.hk +cnfolimg.com +cnforever.com +cnforex.com +cnfpzz.com +cnfq.com +cnfqy.com +cnfrag.com +cnfruit.com +cnfsae.com +cnfuyin.org +cnfxj.org +cnfygy.com +cnfyyj.com +cnfzflw.com +cngal.org +cngaosu.com +cngb.org +cngba.com +cngbdl.com +cngdwx.com +cnggt120.com +cngin.com +cngnu.net +cngold.org +cngoldres.com +cngrain.com +cngreenfield.com +cngrok.com +cngui.com +cngulu.com +cnh5.net +cnhacker.com +cnhaio.com +cnhalo.net +cnhan.com +cnhandan.com +cnhangpaiw.com +cnhanxing.com +cnhaoshengyi.com +cnhaskell.com +cnhbgt.com +cnhbstock.com +cnhd.com +cnhetianyu.com +cnhhl.com +cnhls.com +cnhlsxe.com +cnhm.net +cnhmsq.com +cnhnb.com +cnhongke.org +cnhonker.com +cnhowotruck.com +cnhsjz.com +cnhszx.com +cnhuadong.net +cnhuanya.com +cnhubei.com +cnhutong.com +cnhvacrnet.com +cnhwjt.com +cnhzz.com +cniaas.com +cniao5.com +cniao8.com +cnibx.com +cnicif.com +cnidea.net +cnimg.elex.com +cninfo.net +cninnovatel.com +cninternetdownloadmanager.com +cnipa-gd.com +cnipa-hb.com +cnipa-pesc.com +cnipa-sc.com +cnipa-tj.com +cnipai.com +cnipr.com +cnisland.com +cnisp.org +cnit-research.com +cnitblog.com +cniteyes.com +cniti.com +cnitom.com +cnitpm.com +cnjccrusher.com +cnjcs.com +cnjdz.net +cnjingbu.com +cnjingchu.com +cnjiwang.com +cnjiyin.com +cnjj.com +cnjjl.com +cnjjsd.com +cnjjwb.com +cnjlc.com +cnjnsb.com +cnjob.com +cnjoel.com +cnjournals.com +cnjpetr.org +cnjunzilan.com +cnjxol.com +cnjyky.com +cnjywl.com +cnjzb.com +cnjzjj.com +cnk8.com +cnkaile.com +cnkang.com +cnkefa.com +cnkeyboard.com +cnkeyboard.net +cnki.mobi +cnki.net +cnki.vip +cnkicheck.info +cnkicheck.org +cnkiki.net +cnkinect.com +cnkiorg.com +cnkirito.moe +cnkis.net +cnkitop.com +cnkivip.net +cnkix.com +cnkizw.com +cnklog.com +cnknowledge.com +cnkok.com +cnkore.com +cnkuai.com +cnky.net +cnlangier.com +cnlaw.net +cnledw.com +cnlhzb.com +cnlianjie.com +cnlid.net +cnlight.com +cnlightnet.com +cnlinfo.net +cnlist.com +cnlist.org +cnlive.com +cnliveimg.com +cnllz.com +cnlogo8.com +cnlty.com +cnluqiao.com +cnmanhua.com +cnmattson.com +cnmcom.com +cnmdy.com +cnmeishu.com +cnmeiwei.com +cnmia.org +cnmill.com +cnmineqs.net +cnmo.com +cnmobile.net +cnmods.org +cnmsl.net +cnmsn.net +cnmstl.net +cnmtpt.com +cnmxk.com +cnmysql.com +cnnaihuo.com +cnnb.com +cnnbfdc.com +cnndns.com +cnnerv.com +cnnetsec.com +cnnewss.com +cnnfootballclub.com +cnnmol.com +cnnorip.org +cnnot.com +cnnovels.com +cnnpz.com +cnns.net +cnntt.com +cnnuo.com +cnobol.com +cnodejs.org +cnoee.com +cnoenet.com +cnohd.com +cnoic.com +cnoil.com +cnokcn.com +cnol.cc +cnolnic.com +cnolnic.net +cnonline.org +cnookr.com +cnool.net +cnophol.com +cnops.xyz +cnosr.com +cnoswiki.com +cnoutdoor.com +cnpaf.net +cnpatent.com +cnpc-hy.com +cnpenjing.com +cnpereading.com +cnpet.cc +cnpghouse.com +cnphar.net +cnpharm.com +cnphotos.net +cnphp.info +cnpickups.com +cnpkm.com +cnplugins.com +cnpmjs.org +cnponer.com +cnpou.com +cnpowdernet.com +cnpowdertech.com +cnpps.org +cnprofit.com +cnpubg.com +cnpusi.com +cnpv.com +cnpython.com +cnpythoner.com +cnqc.com +cnqd.net +cnqiang.com +cnqiaoxiang.com +cnqichun.com +cnqjc.com +cnqjw.com +cnqr.org +cnquanjing.com +cnradio.com +cnrainbird.com +cnraksmart.com +cnrancher.com +cnratchet.com +cnrceo.com +cnrcloudfm.com +cnrdm.com +cnreagent.com +cnree.com +cnrencai.com +cnrepair.com +cnrepark.com +cnrexue.com +cnrmall.com +cnrmobile.com +cnrouter.com +cnrunda.com +cnrv.io +cns.hk +cnsaes.org +cnsal.com +cnsat.net +cnsav.com +cnsb.org +cnsc8.com +cnsce.net +cnscee.com +cnscfa.com +cnscore.com +cnsdjxw.com +cnsdtv.com +cnsdzb.com +cnseay.com +cnsecer.com +cnseeq.com +cnsesan.com +cnsfk.com +cnshipnet.com +cnsikao.com +cnsilkworm.com +cnsimin.com +cnskyit.com +cnsnpj.com +cnso.org +cnsoc.org +cnsoe.com +cnsoftbei.com +cnsoftnews.com +cnsolomo.com +cnsourcing.org +cnspeed.com +cnspeedtest.com +cnspeedtest.net +cnsphoto.com +cnstea.com +cnstock.com +cnsun.cc +cnsun.net +cnsuning.com +cnsunp.com +cnsuv.com +cnsyhz.com +cnsynews.com +cnsyyx.com +cntagore.com +cntaiping.com +cntan.net +cntapp.com +cntexjob.com +cntheory.com +cntiaoliao.com +cntofu.com +cntopgear.com +cntoplead.com +cntrades.com +cntranslators.com +cntronics.com +cntuw.com +cntv.com +cntwg.com +cntxw.com +cnuninet.net +cnutcon.com +cnuuu.com +cnv168.com +cnvcs.com +cnvf.com +cnvps.com +cnvr-expo.com +cnvultr.com +cnwa.com +cnwage.com +cnwaking.com +cnwaternews.com +cnwb.net +cnwdjj.com +cnwdsy.com +cnwear.com +cnwebe.com +cnweblog.com +cnwebshow.com +cnweilo.com +cnwen.net +cnwenshi.net +cnwest.com +cnwhc.com +cnwhotel.com +cnwindows.com +cnwinenews.com +cnwnews.com +cnwtn.com +cnwxw.com +cnxad.com +cnxct.com +cnxds.com +cnxhacker.com +cnxiangyan.com +cnxiantao.com +cnxianzai.com +cnxiaoyuan.com +cnxibu.com +cnxile.com +cnxingoplastics.com +cnxishui.net +cnxk.com +cnxklm.com +cnxnmy.com +cnxuntu.com +cnyanglao.com +cnyicheng.com +cnyigui.com +cnyings.com +cnyipu.com +cnyouhao.com +cnys.com +cnyu.com +cnyugan.com +cnyuming.com +cnyw.net +cnywinfo.com +cnyxs.com +cnzao.com +cnzazhi.net +cnzhanting.com +cnzhanzhang.com +cnzhengmu.com +cnzhibo.com +cnzhiyuanhui.com +cnzjol.com +cnzlapp.com +cnzsqh.com +cnzsyz.com +cnzweal.com +cnzxsoft.com +cnzyao.com +cnzz.com +cnzz.net +cnzznn.com +cnzznz.com +co-effort.com +co-inclusion.org +co-mall.net +co188.com +co188cdn.com +coalcn.com +coantec.com +coaoo.com +coatingol.com +cobbersz.com +cobenet.com +cobkl.com +cocas.cc +cocblo.com +cocccc.vip +coccccc.cc +cocimg.com +coco413.com +cocoachina.com +cocodiy.com +cocomanga.com +cocomanhua.com +coconuet.com +cocophp.com +cocoren.com +cocos.com +cocos.org +cocos2d-x.org +cocos2d.org +cocos2dev.com +cocos2dx.net +cocosbcx.net +cocostudio.org +cocounion.com +cocss.com +coctotoo.com +codante.org +code-by.org +code.sh +code4apk.com +code668.com +codeaha.com +codebe.org +codebus.net +codebye.com +codedefault.com +codedocs.net +codedq.net +codedream.xin +codeforge.com +codehy.com +codeisbug.com +codejie.net +codekissyoung.com +codekk.com +codeku.me +codelover.link +codemany.com +codemart.com +codemm.net +codeok.com +codepiano.com +codepku.com +codeplayer.vip +codepub.com +coder.work +coder100.com +coder4.com +coder55.com +coderbee.net +coderclock.com +codercto.com +coderdock.com +coderhuo.tech +coderli.com +coderplanets.com +coderprepares.com +codersec.net +coderxing.com +coderyuan.com +coderzh.com +codes51.com +codesec.net +codesky.net +codesoft.hk +codesoftchina.com +codesoso.com +codespu.com +codess.cc +codetc.com +codeweblog.com +codewenda.com +codewoody.com +codezyw.com +coding-newsletter.com +coding-pages.com +coding.me +coding.net +coding.red +codingapp.com +codingbelief.com +codingboy.com +codingdao.com +codingdict.com +codingke.com +codinglabs.org +codingplayboy.com +codingpy.com +codingserf.com +codingsky.com +codingwhy.com +codingyang.com +codoon.com +codooncdn.com +codrim.net +cofco.com +cofcosp.com +cofeed.com +cofess.com +coffee-script.org +coffee08.com +cofly.com +cogcpa.org +cogitosoft.com +cogobuy.com +cogonline.com +cohim.com +coilmx.com +coin007.com +coin163.com +coinall.live +coinall.ltd +coincola.net +coincsd.com +coinnice.com +coinsky.com +coinvs.com +cojia.net +cokemine.com +cokll.com +col.ink +colabug.com +coladrive.com +colafile.com +colahotpot.com +colasmart.com +coldfunction.com +coldlar.com +colineapp.com +colipu.com +colobu.com +color365.com +colorbird.com +colorfulltech.net +colorgg.com +coloros.com +coloros.net +colorv.com +colourfulchina.com +colourhs.com +colourlife.com +com-dy1-youku.com +com-rail.com +com.fi +com.tv +com21.com +com4loves.com +comac.cc +comba.xyz +combomen.com +combpm.com +combss.com +comebond.com +comefilm.com +comeken.com +comet.cc +comeyes.com +comfortzone.hk +comiai.com +comic520.com +comicdd.com +comicer.com +comicfans.net +comiclub.com +comicocn.com +comicst.com +comicv.com +comicyu.com +comidu.com +comiis.com +comingchina.com +comingspace.com +comlan.com +comlbs.com +commchina.net +communicatte.com +comocloud.net +companydns.com +compassedu.hk +compevt.com +compgoo.com +compressor-pld.com +comra.org +comsenz-service.com +comsenz.com +comseoer.com +comsharp.com +comsol.com +conbagroup.com +conchdesktop.com +concox.net +configuration.apple.com +configuration.apple.com.akadns.net +confuciusinstitute.net +cong9184.com +congm.in +congrongfund.com +congyicn.com +congzao.com +congzhi.com +connectivitycheck.gstatic.com +connector-systems.com +conoha.vip +conohavps.com +conpak.com.hk +conpersh.com +conshow.com +console-integration.cdnetworks.com +console.cdnetworks.com +contentchina.com +contentchina.net +contiez.com +conuo.com +convergemob.com +convertlab.com +conwos.com +conyedit.com +coobar.com +coocaa.com +coocaatv.com +coocare.com +cooch3d.com +coocox.org +coodir.com +coodub.com +coofans.com +cooffee.net +coohua.com +cookbookchina.com +cookcai.com +cookie4you.com +cookietang.com +cool-admin.com +cool-de.com +cool80.com +coolact.net +coolaf.com +coolapk.com +coolapkmarket.com +coolbook.cc +coolbuy.com +coolchuan.com +coolcode.org +coolcode.tech +coolcoolcloud.com +cooldock.com +cooldu.com +cooleasy.net +coolecho.net +coolfd.com +coolgamebox.com +coolgua.net +coolguang.com +coolkit.cc +coolkk.net +coolling.net +coolnull.com +coolook.org +coolool.com +coolpad.com +coolqi.com +coolrar.com +coolsc.net +coolsdream.com +coolsite360.com +coolsphoto.com +cooluc.com +coolwarmsy.com +coolwp.com +coolxap.com +coolxcloud.com +coolyun.com +coolzou.com +coomix.net +cooo.us +coooz.com +coopb2b.com +coophone.com +coorain.net +coorfeon.com +cootek.com +cootekos.com +cootekservice.com +coovbbs.com +coovee.com +coovee.net +cooxs.com +coozhi.com +cop.cdnetworks.com +copyan.com +copyedu.com +copyfuture.com +copymanga.info +copymanga.net +copymanga.org +cor-games.com +corachic.com +coralsec.com +corebai.com +coreldrawchina.com +corp.google.com +corpautohome.com +corpease.net +corpize.com +corpring.com +corpus4u.org +cortexfx.bnpparibas.com +cos-show.com +cosco.com +coscon.com +coscoshipping.com +cosedm.com +cosfund.com +coshelper.com +coshi.cc +coship.com +cosize.com +cosmoplat.com +cosoar.com +cosplay8.com +cosplayla.com +cosyjoy.com +coubei.com +counect.com +couns.com +couplefish.com +coupon996.com +couponmaster.store +coursegraph.com +covcec.com +coventrynv.com +coverweb.cc +covinda.com +covtv.com +cowarobot.com +cowlevel.net +cowtransfer.com +coyuk.com +cozumpartisi.com +cp127w.com +cp365.org +cp455.com +cpajia.com +cpass.com +cpatrk.net +cpbao.com +cpc.cc +cpcccac.com +cpcni.net +cpcw.com +cpcwe.com +cpdad.com +cpdaily.com +cpdyj.com +cpecc.net +cpeol.net +cpgzh.com +cphoto.net +cphoto.org +cpiano.com +cpiaoju.com +cpiccdn.com +cpicsz.com +cpihualai.com +cpitsh.org +cpjltx.com +cplchain.com +cpo.xyz +cpo2o.com +cpolar.com +cpolar.io +cpolive.com +cpooo.com +cpp-prog.com +cpp114.com +cppblog.com +cppcns.com +cppentry.com +cppfoto.com +cpph.com +cppinfo.com +cpplay.com +cpplive.com +cppoc.com +cpppc.org +cpppf.org +cppwh.com +cps1688.com +cps800.com +cps88.cc +cpsbeijing.org +cpsct.com +cpsenglish.com +cptae.com +cpu668.com +cpubbs.com +cpupack.com +cpvjob.com +cpxco.net +cpxsxk.com +cpython.org +cq-wnl.com +cq.cm +cq315house.com +cq3a.com +cq5135.com +cq6.com +cq6969.com +cqaaa.com +cqae.com +cqaso.com +cqbdfeng.com +cqbm2007.com +cqbnedu.com +cqbnrc.com +cqbntv.com +cqbuchouhua.com +cqbyer.net +cqbys.com +cqcaee.com +cqcatr.com +cqcb.com +cqcbank.com +cqccn.com +cqchzx.com +cqcklib.com +cqcoal.com +cqcp.net +cqcqcq.com +cqcsic.com +cqcsrc.com +cqcxdl.com +cqcy.com +cqcyls.com +cqdadi.com +cqdai.com +cqdailynews.com +cqddnap.com +cqddzx.com +cqdent.com +cqdting.com +cqdzw.com +cqedo.com +cqemme.com +cqfire.com +cqfuzhuang.com +cqfzb.org +cqgc.com +cqggzy.com +cqgmfw.com +cqgz.com +cqh2o.com +cqhansa.com +cqhaotang.com +cqhcbk.com +cqhimalayanky.com +cqhkcdns.com +cqhpoldi.com +cqhxgf.com +cqhxzb.com +cqhyd.com +cqhydraulic.com +cqhyky.com +cqindex.com +cqivip.com +cqjbrc.com +cqjet.com +cqjiaz.com +cqjj.net +cqjjlsy.com +cqjjnet.com +cqjnw.org +cqjob.com +cqjsxx.com +cqjy.com +cqkdtui.com +cqkdtui1.com +cqkeb.com +cqkhg.com +cqkjwx.com +cqklsm.com +cqkqinfo.com +cqkundian.com +cqkx.com +cqkytq.com +cqleba.com +cqlglg.com +cqliving.com +cqlp.com +cqlyckj.com +cqmama.net +cqmas.com +cqmcu.com +cqmj.org +cqmjkjzx.com +cqmmgo.com +cqmw.com +cqnc.cc +cqncnews.com +cqnews.net +cqnhn.com +cqnu0001.com +cqpa.org +cqpbx.com +cqph.com +cqpix.com +cqpost.com +cqqc3.com +cqqigao.com +cqqiyi.com +cqqnb.net +cqqp.com +cqqsl.com +cqqsyy.com +cqqzgrh.com +cqrc.net +cqrcb.com +cqscmy.net +cqshangceng.com +cqshenou.com +cqskl.com +cqslib.org +cqslsc.com +cqsms.net +cqsoft.org +cqsxedu.com +cqt8.com +cqtally.co +cqtally.com +cqtea.com +cqtransit.com +cqtresearch.com +cqttech.com +cquae.com +cquc.net +cqudp.com +cqvip.com +cqvip.vip +cqw.cc +cqwangwo.com +cqwenbo.com +cqwin.com +cqwulong.net +cqxdfpr.com +cqxh120.com +cqxiehe.com +cqxingyun.com +cqxxzwj.com +cqxyfl.com +cqyc.net +cqyestar.com +cqyeze.com +cqyfgs.com +cqyingang.com +cqyouloft.com +cqyu.com +cqyzqsy.com +cqzhanguan.com +cqzhongxingyuan.com +cqzk.net +cqzls.com +cqzq6.com +cqzww.com +cqzyx.net +cqzz.net +cr-expo.com +cr-nielsen.com +cr-power.com +cr11gcsgd.com +cr11gee.com +cr173.com +cr175.com +cr18g.com +cr19gj.com +cr6868.com +crabchina.com +crackersta.com +craftcontact.com +crandom.com +crazepony.com +crazydyz.cc +crazyenglish.org +crazyflasher.com +crazyphper.com +crazypm.com +crbbav.com +crbbpp.com +crbeverage.com +crc.com.hk +crc.hk +crc81.com +crcapital.info +crcrfsp.com +crct.com +cre.net +cread.com +creatby.com +createcdigital.com +creati5.com +crec4.com +crec4mc.com +crecg.com +crecu.com +credibleglass.com +credit-cras.com +creditcn.com +creditsailing.com +creditxb.com +creke.net +creo-support.com +crestgps.com +crestv.com +crewcn.com +crfchina.com +crfsdi.com +crgecent.com +crgy.com +cric.com +cric2009.com +cricbigdata.com +crifst.com +crimoon.net +crispstata.com +crjfw.com +crl.globalsign.net +crl.kaspersky.com +crl.pki.goog +crlcn.com +crlf0710.com +crlg.com +crm.cc +crm1001.com +crmch.com +crmclick.com +crmeb.com +crmeb.net +crmg-ms.com +crmgz.com +crmip.com +crmrj.net +crmvscrm.com +crnds.com +crnews.net +crodigy.com +crossmo.com +crossoverchina.com +crosswaycn.com +crowya.com +crpaas.com +crrcgc.cc +crs811.com +crsc.cc +crsky.com +crsn168.com +crvic.org +crxdl.com +cryptape.com +crystalcg.com +crystaledu.com +cryuantafund.com +cryy120.com +cs-air.com +cs-ceo.com +cs-cjl.com +cs-show.com +cs0799.com +cs090.com +cs1212.xyz +cs12333.com +cs27.com +cs2c.com +cs2ccloud.com +cs30.net +cs528.com +cs53.com +csadec.com +csaimall.com +csair.com +csairdutyfree.com +csairholiday.com +csairshop.com +csapa.org +csaspx.com +csau.com +csbdkj.com +csbidding.com +csbnj.net +csc108.com +csc86.com +cscan.co +cscatv.com +cscdf.org +cscec.com +cscec1b.net +cscec5b3.com +cscecst.com +cscsf.com +cscyw.com +csdc.info +csdeshang.com +csdh.com +csdian.net +csdjy.com +csdn.com +csdn.net +csdndx.com +csdndx.net +csdnxiazai.xyz +csdqp.com +csdxcw.com +csdyx.com +csea767.com +csebank.com +csehms.com +csflgg.com +csftyy.com +csgm168.com +csgokai.com +csgpc.org +csgwbn.com +csharpkit.com +cshixi.com +cshnkj.com +cshope.net +cshu360.com +cshxdc.com +cshzw.com +csi.gstatic.com +csiaexpo.com +csic-711.com +csic-ljtech.com +csic612.com +csic6801.com +csic76.com +csiccq.com +csicmakers.com +csiea.net +csj309.vip +csjcs.com +csjplatform.com +csjwang.com +csjyzq.com +cskule.com +cskxjk.com +cslfans.com +cslou.com +cslyrc.com +csmall.com +csmama.net +csmar.com +csmbcx.com +csmc-cloud.com +csmscon.com +csnbgsh.com +cspda.net +cspengbo.com +cspiii.com +cspro.org +cspruc.com +cspxw.com +csqc.cc +csqnews.com +csrcare.com +csrcbank.com +csrcsc.com +csrda.com +csres.com +csrgm.com +csrme.com +csrpme.com +css-js.com +css.network +css6.com +css88.com +cssa-swansea.com +cssaaa.com +csseplastic.com +cssf.com +cssf.net +cssforest.org +cssfz.com +cssg-ahi.com +cssgxmj.com +cssj.fun +csslcloud.net +cssmagic.net +cssmoban.com +cssmxx.com +cssplus.org +cssq33.com +cssqt.com +csstoday.net +csswgq.com +cssxt.com +cssyq.com +cssyzxx.com +cstat.apple.com +cstccloud.org +cstcloud.net +cstcq.com +cstea.org +cstech.ltd +csteelnews.com +cstimer.net +csto.com +cstong.net +cstriker1407.info +csuboy.com +csuedu.com +csundec.com +csvclub.org +csvsc.com +csvw.com +csw18.com +csweigou.com +cswsadlab.com +csxcdj.com +csxdf.com +csxingfutemple.org +csxnews.com +csxsjc.com +csxtedu.com +csxww.com +csyangchen.com +csyestar.com +csytv.com +cszb556.com +cszexin.com +cszit.com +cszsjy.com +cszx.com +cszybdf.com +cszykt.com +cszywl.net +cszzjc.com +ct-cdm.com +ct-laser.com +ct10000.com +ct108.com +ct597.com +ctaca.com +ctags.net +ctans.com +ctaoci.com +ctaweb.org +ctb50.com +ctbjia888.com +ctc100.com +ctcefive.com +ctcmo.com +ctcnn.com +ctcnpa.com +ctcontents.com +ctcwri.org +ctdc-itshare.org +ctdcn.com +ctdisk.com +ctdns.net +ctdsb.com +ctdsb.net +cteaw.com +ctecdcs.com +ctex.org +ctfile.com +ctfile.net +ctflife.com +ctfmall.com +ctfo.com +ctfund.com +ctghealthy.com +ctghr.com +ctguqmx.com +cthnet.com +cthuwork.com +cthuwork.net +cthy.com +cti-cert.com +ctibet.com +ctiforum.com +ctiku.com +ctils.com +ctime.com +ctisd.com +ctjin.com +ctjsoft.com +ctlcdn.com +ctldl.windowsupdate.com +ctlife.tv +ctmon.com +ctn1986.com +ctnz.net +ctobsnssdk.com +ctocio.com +ctoclub.com +ctoutiao.com +ctrip-lvyou.com +ctrip-ttd.hk +ctrip.co.id +ctrip.co.kr +ctrip.com +ctrip.my +ctrip.sg +ctripa.com +ctripbiz.com +ctripbuy.hk +ctripcorp.com +ctripgslb.com +ctripins.com +ctripqa.com +ctrmi.com +ctsbw.com +ctsec.com +ctsho.com +ctsscs.com +ctssr.com +ctsto.com +ctszh.com +cttip.org +cttq.com +cttsd.com +cttv.co +ctvpost.com +ctvwx.com +ctwxc.com +ctxyw.com +ctycdn.com +ctyo.com +ctzrnet.com +cu-air.com +cu321.com +cuaa.net +cuan.la +cuanhuang.com +cuantianhou.net +cuav.net +cubead.com +cubejoy.com +cubie.cc +cucdc.com +cuchost.com +cuctv.com +cudaojia.com +cuebzzy.com +cuelog.com +cufe-ifc.org +cufeyk.com +cufou.com +cug2313.com +cugstore.com +cuihu100.com +cuihuan.net +cuimm.com +cuiniaoedu.com +cuiniuhui.com +cuipengfei.me +cuipixiong.com +cuiqingcai.com +cuirushi.com +cuishuai.cc +cuiuc.com +cuiweijuxing.com +cuixx.com +cuiyongjian.com +cuizl.com +cuketest.com +cul-studies.com +culaiwan.com +cumtenn.com +cumulon.com +cun58.com +cunan.com +cuncun8.com +cuncunle.com +cuncx.com +cunminyi.com +cunnar.com +cunyoulu.com +cunzj.com +cuobiezi.net +cuour-edu.com +cuour.com +cuour.org +cupdapp.com +cupdata.com +cupdns.com +cupinn.com +cuplayer.com +cureedit.com +curlc.com +curryhuang.com +cusdvs.net +custeel.com +cut35.com +cutecomm.com +cutefishos.com +cuteng.com +cutercounter.com +cuteximi.com +cutout.pro +cutowallpaper.com +cutv.com +cuuhn.com +cuzz.site +cvchina.info +cvchome.com +cvcri.com +cvicse.com +cvicseks.com +cvmart.net +cvnad.com +cvonet.com +cvp-platform.com +cvrobot.net +cvte.com +cvtvcn.com +cw100.com +cwbpsi.com +cwddd.com +cwdma.org +cwebgame.com +cwems.com +cwestc.com +cwmining.com +cwq.com +cwqu.com +cwroom.com +cwyan.com +cwziyouren.com +cx312.com +cx580.com +cx930.net +cxacg.com +cxas.com +cxbz958.com +cxc233.com +cxcc.me +cxcyds.com +cxd-auto.com +cxdq.com +cxfuwu.com +cxgame.net +cxh99.com +cxhl365.net +cxhr.com +cximg.com +cxkjjy.com +cxmld.com +cxmms.com +cxmt.com +cxmtc.net +cxsw3d.com +cxta.com +cxthhhhh.com +cxtuku.com +cxtxt.com +cxvn.com +cxw.com +cxwl.com +cxwt103.com +cxwt104.com +cxwt105.com +cxwt106.com +cxwt113.com +cxwwhyc.com +cxxjs.com +cxy61.com +cxy7.com +cxyd.net +cxyfjy.com +cxyl.org +cxylfc.com +cxymsg.com +cxyob.com +cxytiandi.com +cxyxiaowu.com +cxyxwl.com +cxyym.com +cxz.com +cxz3d.com +cxzg.com +cxzudwk.com +cxzw.com +cxzww.com +cy-cdn.com +cy-email.com +cy.com +cy12301.com +cy1990.com +cy2009.com +cy52.com +cy52.org +cy580.com +cy865.com +cy88.com +cy887.com +cy899.com +cyagen.com +cyanhillcapital.com +cyb-bot.com +cyb-cie.com +cyb520.com +cyb800.com +cyberway-china.net +cybtc.com +cybtc.info +cybtc.net +cycares.com +cychaiqian.com +cyclingchina.net +cyclone-robotics.com +cyclonemoto.com +cycnet.com +cycoi.com +cycoo.com +cycyuan.com +cydf.com +cydiakk.com +cydiami.com +cydow.com +cydp5.com +cyedu.org +cyegushi.com +cyfeng.com +cyfengchao.com +cyhd.net +cyhm.com +cyhone.com +cyht168.com +cyhx98.com +cyidc.cc +cyikao.com +cyjcloud.com +cyjn.net +cyjnsy.com +cyjzzd.com +cyk-cable.com +cylong.com +cymh8.com +cynee.net +cynovan.com +cyol.com +cyol.net +cyou-inc.com +cyoupic.com +cypatent.com +cypmedia.com +cypresstel.com +cyprestar.com +cyqyzx.com +cyruc.com +cysq.com +cyss19.com +cysua.com +cytcard.com +cytcm.com +cyts.com +cytsgroup.com +cytsls.com +cytstibet.com +cyttc.org +cyudun.net +cyuew.com +cyuyan100.com +cywetc.com +cyy18.com +cyyizuo.com +cyypscl.com +cyyself.name +cyysjm.com +cyyz.org +cyzm.net +cz-hffm.com +cz-toshiba.com +cz-yk.com +cz.cc +cz2sc.com +cz365.com +cz8.com +cz89.com +czainuo.com +czb365.com +czbanbantong.com +czbank.com +czbanmutian.com +czbq.net +czbtv.com +czbx18.com +czcac.com +czcarbon.com +czchuanlin.com +czcid.com +czcqly.com +czctech.com +czcyme.com +czdingming.com +czdrbz.com +czds.net +czedu.com +czepb.com +czfcw.com +czfdc.com +czfesco-mg.com +czggsj.com +czgjj.com +czgjj.net +czgongzuo.com +czie.net +czifi.org +czitc.com +czjake.com +czjdu.com +czjpw.com +czjsy.com +czkbdq.net +czkingdee.com +czlxgc.net +czmc.com +cznewcom.com +czongyi.com +czopen.com +czpoly.com +czqfloor.com +czrj.com +czrxw.com +czry888.com +czsbtjx.com +czse7cxw.xyz +czshipyard.com +czsljky.com +czsrc.com +czssx.com +cztour.com +cztv.com +cztv.tv +cztvcloud.com +czur.com +czvv.com +czvv.net +czwsg5.com +czxixi.com +czxsss.com +czxy.com +czyhq.com +czyjgd.com +czyooda.com +czyxba.com +czzcm.com +czzsw.com +czzy-edu.com +d-controls.com +d-ctrip.com +d-heaven.com +d-prototype.com +d.cg +d03jd.com +d0evi1.com +d1222.com +d17.cc +d1cm.com +d1com.com +d1cy.com +d1ev.com +d1fm.com +d1lx.com +d1net.com +d1sm.net +d1tele.com +d1xf.net +d1xn.com +d1xz.net +d1ye.com +d20.net +d2fan.com +d2fbf.com +d2film.com +d2kdi2ss.com +d2scdn.com +d2shost.com +d3ch.com +d3cn.net +d3dweb.com +d3f.com +d3iz9md.com +d3skg.com +d3tt.com +d3zone.com +d4000.com +d586.com +d5h.net +d5power.com +d5wx.com +d65d6.com +d777.com +d77777777.com +d7baike.net +d7ol.com +d7vg.com +d8th.com +da-qian.com +da-quan.net +da88.net +daanbar.com +daba.com +dabache.org +dabaicai.com +dabaicai.org +dabaicai.pw +dabaicai.shop +dabaigongju.com +dabangm.com +dabangp.com +dabangq.com +dabao123.com +dabaoku.com +dabieshu.com +dabin69.com +dabingseo.com +dabjy.com +daboluo.net +dabusi.com +dacai.com +dacankao.com +dacankao.net +dachanet.com +dachenglaw.com +dachengnet.com +dachengzi.net +dachuizichan.com +dachuw.com +dachuw.net +dadaabc.com +dadaabcc.com +dadabew.com +dadagame.com +dadagem.xyz +dadaizi.com +dadajiasu.com +dadajuan.com +dadakan.com +dadaojiayuan.com +dadayou.com +dadclab.com +daddymami.net +dadetong.com +dadianstudio.com +dadicinema.com +dadijilu.com +dadipedia.com +dadiwang.com +dadizq.com +dadou.com +dadoubao.com +dadunet.com +daf-rs.com +dafa53.com +dafaji.com +dafang24.com +dafangya.com +dafanshu.com +dafayu.com +dafhr.com +dafork.com +dafuhao-ol.com +dafy.com +dagangcheng.com +dagongcredit.com +dagongnet.com +daguangnews.com +daguu.com +daguzhe.com +dahainan.com +dahaiyang.com +dahanghaiol.com +dahangzhou.com +dahanwl.com +dahanyu.com +daheapp.com +dahecc.com +dahecube.com +dahei.com +dahelj.com +daheng-image.com +daheng-imaging.com +daheng-imavision.com +dahengit.com +dahepark.com +dahepiao.com +daheshui.com +dahongba.net +dahongpaochaye.com +dahouduan.com +dahua8.com +dahuaab.com +dahuaddns.com +dahuangmei.com +dahuatech.com +dahuawang.com +dahuifuwu.com +dahuitu.net +dahulu.com +dahuoji.biz +dai35.com +dai361.com +dai911.com +daibi.com +daichanger.com +daichuqu.com +daicuo.cc +daicuo.co +daicuo.net +daicuo.vip +daicuo.wang +daidaitong.com +daidaitv.com +daidongxi.com +daijinquanaliyun.com +daijun.com +daikela.com +daikuan.com +daikuane.com +daili666.net +dailian.info +dailianqun.com +dailiantong.com +dailianzj.com +dailiba.com +dailijizhang.cc +dailiqing.net +dailnkm.com +dailuopan.com +dailyeconomic.com +dailygn.com +dailyheadlines.cc +dailyqd.com +daimabiji.com +daimadog.com +daimafans.com +daimajia.com +daimajiaoliu.com +daimajiayuan.com +daimami.com +daimasucai.com +daimg.com +daimiyun.com +daishangqian.com +daishu.com +daishujiankang.com +daishutijian.com +daiwoqu.com +daixiaobao.com +daixiaomi.com +daixiaorui.com +daiyanbao.com +daiyanmama.com +daizhuzai.com +daizitouxiang.com +daji.com +dajiabao.com +dajiachou.com +dajiadaohang.com +dajiadu8.com +dajialaikan.com +dajialawyer.com +dajianet.com +dajiang365.com +dajiangcp.com +dajiangsai.org +dajiangtai.com +dajianhui.com +dajiashequ.com +dajiashuo.com +dajiatou.com +dajiazhao.com +dajiazhongyi.com +dajie.com +dajieimg.com +dajiezhu.com +dajixie.com +dajke.com +dajuntech.com +dajuyuan.net +dajuyuanyanchu.com +daka.app +daka.net +daka5837.com +dakage.com +dakahr.com +dakamao8.com +dakao8.com +dakao8.net +dakaruanwen.com +dakawm.cc +dakawm.net +dakayi.cc +dakele.com +dalaba.com +dali163.com +dalianair-china.com +dalianiso.com +daliapp.net +daling.com +dalinggong.com +dalings.com +dalipan.com +dalongkeji.com +dalongyun.com +daluma.com +daluo.com +daluwang.net +damaibs.com +damatu1.com +damddos.com +dameisheng.com +dameiweb.com +dameiyunduan.com +dameng.com +damengxiang.me +damingweb.com +damndigital.com +damotea.com +damoyang.com +damuchong.com +damuzzz.com +dan665.com +danaicha.com +danale.com +dance365.com +dancf.com +dancihu.com +dancingcg.com +dandanjiang.tv +dandanman.com +dandanplay.net +dandantang.com +dandanz.com +dandinghuayi.com +dandongbank.com +dandoudou.com +danews.cc +dang-jian.com +dang3.com +dangan168.com +dangaoss.com +dangbei.com +dangbei.net +dangbeiprojector.com +dangcdn.com +dangdang.com +danghongyun.com +danghuan.com +dangjian.com +dangjianwang.com +dangpu.com +dangran.me +dangtianle.com +dangwan.com +dangzhi.com +dangzhi.net +danhua.org +danhuaer.com +danhw.com +daniao.org +daniate.com +daningcenter.com +daningdaning.com +daniuit.com +daniujiaoyu.com +danji100.com +danji8.com +danjiali.com +danjuanapp.com +danjuanfunds.com +danke.com +dankegongyu.com +dankexiaoyuan.com +danlan.org +danlirencomedy.com +danlu.net +danmaku.live +danmakupie.com +danmei.la +danming-ic.com +danmo.com +danmu.com +dannysite.com +danotest.com +danpin.com +danqi.com +danqingshaonian.com +danrenzheng.com +danseshu.com +danteng.me +dantuvc.com +danxia.com +danxin.net +danyang.com +danzhaowang.com +dao345.com +dao42.com +dao50.com +dao6.net +daoapp.io +daoapp.me +daochu66.com +daocloud.io +daocloudapp.com +daodao.com +daodaojizhang.com +daodaoliang.com +daodian100.com +daodianfu.com +daododo.com +daoduoduo.com +daofengdj.com +daofenggame.com +daofengyx.com +daogeziyuan.com +daogoubang.com +daoguo.com +daohang4.com +daohang88.com +daohangtx.com +daohui.net +daoisms.org +daojia.com +daojiale.com +daokers.com +daokeyuedu.com +daokoudai.com +daokouren.org +daomengad.com +daonazhuce.com +daonchina.com +daoqin.net +daoqm.com +daoscript.org +daoshidianping.com +daoshui.com +daotin.com +daotudashi.com +daovoice.io +daoxiangcun.com +daoxila.com +daoxila.net +daoyouz.com +daoyu8.com +daozhao.com +dapaizixun.com +dapan.com +dapei.cc +dapengjiaoyu.com +dapenti.com +dapiniu.com +dapmax.com +dappdiscover.com +dapu.com +daqi.com +daqianduan.com +daqiangpco.com +daqids.com +daqihui.com +daqiso.com +daqsoft.com +daquan.com +darczpw.com +darenceping.com +darevip.com +darkmi.com +darmao.com +darongcheng.com +darryring.com +darshchemicals.com +dartchina.com +dartou.com +daruan.com +darwinlearns.com +dashangcloud.com +dashanghaizhuce.com +dashangu.com +dashedm.com +dashen520.com +dashengji.com +dashenglaile.com +dashengpan.com +dashenquan.com +dashentv.com +dashenxiaoshuo.com +dashet.com +dashgame.com +dashi.com +dashikou.com +dashitech.com +dashiyou.com +dashoucloud.com +dashuju123.com +dashuye.com +dasougu.com +dasoujia.com +dassm.com +dasung.com +dasungtech.com +data380.com +data5u.com +data985.com +datacaciques.com +datacname.com +datadragon.net +dataesb.com +dataeye.com +datagear.tech +datagrand.com +datahubtrack.com +dataie.com +dataman-inc.com +datang.com +datang.net +datangnxp.com +datangweishi.com +datangzww.com +dataodu.com +dataoke.com +dataprajna.net +datarelab.com +datarj.com +datasecurity.htcsense.com +datasheet5.com +datasl.com +datasoldier.net +datastoragesummit.com +datatang.com +datathinking.com +datathinking.net +datatist.com +dataunion.net +datayes.com +datazt.com +datebao.com +datesdata.com +datia-inspect.com +datianmen.com +datongtaxi.com +datouwang.com +datuc.com +dav01.com +davdian.com +davinfo.com +davvar.com +dawaner.net +dawantian.com +daweibro.com +daweisoft.com +daweixinke.com +dawenming.com +dawenxue.net +dawenxue.org +dawndiy.com +dawnlab.me +dawuhanapp.com +dawuxia.net +dawx.com +dawx.net +daxi.com +daxia.com +daxia520.com +daxiaamu.com +daxiangdaili.com +daxianghuyu.com +daxiangqun.net +daxiit.com +daxuecn.com +daxueit.com +daxuepc.com +daxueshengqiandai.com +daxueshi.com +daxuesou.com +daxuesushe.com +daxuewa.com +daxuewang.com +dayaguqin.com +dayangmotorcycle.com +dayanmei.com +dayanzai.me +dayar.com +dayday.plus +daydayup123.com +dayee.com +dayhao.com +dayhr.com +dayichang.com +dayifund.org +dayila.net +dayima.com +dayin.com +dayin.la +dayinhu.com +dayinjiqudong.com +dayinjizhijia.com +dayinpai.com +dayinpiano.com +dayinqudong.com +dayitong.net +dayong.name +dayoo.com +dayou123.com +dayoufeng.com +dayrui.com +daytokens.com +dayu-valve.com +dayu.com +dayuad.com +dayuansouti.com +dayue8.com +dayugame.net +dayugslb.com +dayukeji.com +dayuntongzhou.com +dayup.org +dazahui123.com +dazhan123.com +dazhangfang.com +dazhaoad.com +dazhaopeibang.com +dazhe5.com +dazhenzimiao.com +dazhewa.com +dazhongbanben.com +dazhonghr.com +dazhoudz8.com +dazhoushan.com +dazhuangwang.com +dazhuanlan.com +dazibo.com +dazidian.net +dazijia.com +dazpin.com +daztoutiao.com +dazui.com +db-cache.com +db-nw.com +dbank.com +dbankcdn.com +dbankcloud.asia +dbankcloud.com +dbankcloud.eu +dbankedge.net +dbaxiaoyu.com +dbbqb.com +dbccv.com +dbcdh.com +dbcsq.com +dbcxz1.com +dbcxz1.net +dbdna.com +dbfansub.com +dbfen.com +dbgeek.org +dbh123.net +dbkan.com +dblgf.com +dbm-sh.com +dbmailserver.com +dbmall.com +dbmeinv.com +dbqf.xyz +dbscar.com +dbshop.net +dbt-coin.com +dbyb.org +dbytwl.com +dbzgia.com +dc-cn.com +dcarimg.com +dcarstatic.com +dcb123.com +dcdapp.com +dcement.com +dcetax.com +dcgsi.com +dcharm.com +dcic-china.com +dcits.com +dcjdj.com +dcjianghu.com +dcloud.io +dcloudlive.com +dcloudstc.com +dcmagcn.com +dcmk17.com +dcpfb.com +dcsapi.com +dcsdn.com +dcsjw.com +dcsme.org +dcv.so +dcwj168.com +dcxnews.com +dczou.com +dd-advisor.com +dd-cdn.origin-apple.com.akadns.net +dd-img.com +dd.net +dd128.com +dd2007.com +dd321.com +dd373.com +dd4.com +dd6300.fun +dd66778899.com +dd8828.com +ddbig.com +ddbiquge.cc +ddbiquge.com +ddbiu.com +ddchong.com +ddcode.net +ddd-china.com +dddazhe.com +ddddns.net +dddso.com +dddwan.com +dde-desktop.org +ddepin.com +ddfans.com +ddfchina.com +ddgjjj.com +ddguanhuai.com +ddiaas.com +ddianle.com +ddianshang.com +ddimg.mobi +ddimg.net +dding.net +ddjjzz.com +ddjk.com +ddk-alink.com +ddkids.com +ddkt365.com +ddkwxd.com +ddky.com +ddle.cc +ddlequ.com +ddlives.com +ddmap.com +ddmeishi.com +ddmer.com +ddnddn.com +ddnode.com +ddns-only.xyz +ddns.tokyo +ddnsto.com +ddong.com +ddooo.com +ddos.com +ddos2naive.com +ddosc.com +ddosendns.com +ddosimg7bfqw5tk3z2cvisjge.com +ddoswafcdn.xyz +ddove.com +ddpa.com +ddpai.com +ddport.com +ddqcw.com +ddsaas.com +ddske.com +ddstarapp.com +ddswcm.com +ddsy.com +ddtaba.com +ddtugame.com +ddtui.com +ddun.com +ddurl.to +dduser.mobi +dduwork.com +ddweilai.com +ddwhm.com +ddwzh.com +ddxq.mobi +ddxs.cc +ddxstxt8.com +ddyun.com +ddyun123.com +ddyvip.com +ddz.com +ddzhj.com +ddztv.com +ddzuqin.com +de-moe.org +de.net +de0.cc +de123.net +de1919.com +de518.com +deaconhousewuxi.com +deadnine.com +deahu.com +dealsmake.com +deansys.com +dear520dear.com +dearda.com +dearedu.com +dearisland.com +dearloc.com +dearprinter.com +deartree.com +deathearth.com +debao.com +debo-info.com +debug.moe +debugdump.com +debuggap.com +debugger.wiki +debugo.com +debugtalk.com +debuycn.com +decard.com +decentcapital.com +decerp.cc +dechong.site +dechua.com +decorcn.com +decwhy.com +dede168.com +dede58.com +dedecms51.com +dedecmsplus.com +dededao.com +dedeeims.com +dedejs.com +dedemao.com +dedesos.com +dedeyun.com +dedezhuji.com +deehai.com +deemob.com +deemos.com +deepai.com +deepano.com +deepaso.com +deepba.com +deepbluenetwork.com +deepcloudsdp.com +deepdevelop.com +deepepg.com +deepermobile.com +deepin.com +deepin.org +deepinghost.com +deepinmind.com +deepinos.org +deepleaper.com +deeplearn.me +deepoon.com +deepsheet.net +deepvision.ai +deepzz.com +deerchao.net +deerex.com +deerma.com +defcoding.com +defectink.com +deheheng.com +deheng.com +dehsm.com +dehua.net +dehuaca.com +deifei.com +deifgs.com +deikuo.com +dekeego.com +dektw.com +delanauto.com +deli-tools.com +delib2b.com +delibao.com +delicloud.com +delikaixi.com +delinklab.com +delishi.com +deliwenku.com +deliworld.com +delixi-electric.com +dell027.com +dellemc-solution.com +delunyk.com +demage.com +demaxiya.com +demgs.com +demix.cc +demlution.com +demo8.com +democome.com +demodashi.com +demogic.com +demohour.com +demoso.net +demososo.com +denachina.com +denganliang.com +dengb.com +dengbi.cc +dengbi8.com +dengcuo.com +dengfeilong.com +denghao.org +denghaoxuan.com +denghuo.com +dengkanwen.com +dengliye.com +denglu.cc +dengmoe.com +dengpeng.me +dengshiyuanyi.com +dengta120.com +dengtacj.com +dengtadaka.com +dengxiaolong.com +dengxiaopingnet.com +dengyong.cc +denic.de +denic.net +denocn.org +dentistshow.com +denuoexpo.com +deosin.com +dep-star.com +dephir.com +depin.com +deppon.com +deppxp.net +deqingbank.com +deqinglaw.com +derekchou.com +derenbs.com +derwer.com +derzh.com +des8.com +desaysv.com +deshui.wang +design006.com +designboard.cc +designsketchskill.com +designuuu.com +desk9.com +deskcar.com +deskcity.com +deskcity.org +deskguanjia.com +deskier.com +desktopcal.com +desktopqa.com +desktx.com +deskwc.com +despiertocfilms.com +destoon.com +detian-chem.com +detu.com +detuyun.com +dev-dh.com +dev798.com +dev996.com +devask.net +devclub.cc +develenv.com +developer.dji.com +developer.microsoft.com +devemi.com +devework.com +devexception.com +devexel-tech.com +devexel.com +devexpresscn.com +devio.org +devkang.com +devops-master.com +devpss.com +devqinwei.com +devsiki.com +devtang.com +devzeng.com +devzhang.com +dewmobile.net +dewu.com +dewumall.com +dexian.mobi +dexindat.com +dexingrv.com +dexinsg.com +dexuee.com +dexunyun.com +deyang5.com +deyatech.com +deyayk.com +deyi.com +deyi.net +deyijijin.org +deyioo.com +deyiso.com +deyoulife.com +deyun.fun +deyunxiangsheng.com +deyurumen.com +dezhi.com +dezhong365.com +dezhongmobi.com +dezhoudaily.com +dezhouqh.com +df77.com +df81.com +df9377.com +dfafei.com +dfbgv.com +dfcfs.com +dfcfw.com +dfcx-bj.com +dfdaily.com +dfddd.com +dfdjy.net +dfdtt.com +dfedu.com +dfham.com +dfhon.com +dfhtjn.com +dfkcgs.com +dfkhgj.com +dfmc.com +dfmcastrol.com +dfmingya.com +dfpk.com +dfrcb.com +dfs168.com +dfs800.com +dfshurufa.com +dfshw.com +dfsjr.com +dfsrcw.com +dfss-club.com +dfstw.com +dfsyjm.com +dftoutiao.com +dftq.net +dftzj.com +dfv5.net +dfxq.com +dfxwdc.com +dfyanyi.com +dfyapp.com +dfyl-luxgen.com +dfyoo.com +dfysw.net +dfyuan.com +dfyydl.com +dfyzx.com +dfzmzyc.com +dg-360lhx.com +dg-hanxin.com +dg-huawei.com +dg-mall.com +dg11185.com +dg114.com +dg121.com +dgbfzz88.com +dgch.net +dgchangan.com +dgddh.xyz +dgdxs.com +dgg.net +dggdf.com +dggdk.com +dgggs.com +dggjqw.com +dggkj.com +dggvip.net +dghqmotor.com +dginfo.com +dgjiuqi.com +dgjoy.co +dgjs123.com +dgjxmk.com +dgjyw.com +dgksxx.com +dglpool.com +dgmama.net +dgmmbb.com +dgn.cc +dgod.net +dgptjob.com +dgq2018.com +dgqjj.com +dgrbcj.com +dgsbtjx.com +dgsltx.com +dgsme.org +dgssmy.com +dgt-factory.com +dgtle.com +dgtpcj.com +dgtuoyue.com +dgwap.com +dgwoto.com +dgwtrl.com +dgxbjg.com +dgxue.com +dgyejia.com +dgygpx.com +dgykz.com +dgyldjy.com +dgym519.com +dgyuanyi.com +dgzhihongjx.com +dgzhisen.com +dgzj.com +dgzsgjg.com +dgzz1.com +dh.cx +dh01.com +dh0580.com +dh5idnf.com +dh7373.com +dh7999.com +dh818.com +dh9191.com +dh975.com +dh978.com +dhb168.com +dhcc.wang +dhfeng.com +dhhqfw.com +dhifi.com +dhimavision.com +dhjt.com +dhkq120.com +dhkqmz.com +dhkqyy.com +dhmeri.com +dhq898.com +dhqtech.com +dhrcbank.com +dhrest.com +dht5867.com +dhwooden.com +dhygw20.com +dhygw2999.com +dhygw488.com +dhyjaqa.com +dhyz.net +dhzw.cc +di3fang.com +di3fang.vip +diablohu.com +diaidi.com +diaigame.com +diamondfsd.com +dian-ai.com +dian-stable.com +dian-ying.com +dian.so +dian123.com +dian321.com +dian5.com +diananjia.com +dianapp.com +dianbo.org +dianbobao.com +dianbook.cc +dianbucuo.com +diancaijun.com +dianchacha.com +diandainfo.com +diandanbao.com +diandao.org +diandaxia.com +diandazuoye.com +diandian.com +diandianshu.com +diandianwaimai.com +diandianys.com +diandianzhe.com +diandianzu.com +diandong.com +diandongche.biz +dianfengcms.com +dianfuji.com +diangan.org +diangon.com +diangong8.com +diangongwu.com +dianhen.com +dianhi.com +dianhong.com +dianhou.com +dianji007.com +dianjianggame.com +dianjiliuliang.com +dianjin123.com +dianjinghu.com +dianjingzhe.com +dianjinzs.com +dianjiqi.com +diankeji.com +dianlancg.com +dianler.com +dianli.com +dianli08.com +dianliang8.com +dianliaoapp.com +dianlujitao.com +dianlut.com +dianm.cc +dianmiaoshou.com +dianmoney.com +diannaoban.com +diannaodian.com +diannaokepu.com +diannaoshiyong.com +diannaoxianka.com +dianopen.com +dianou.com +dianpifa.com +dianping.com +dianpingba.com +dianqiweixiu.net +dianqizazhi.com +dianranart.com +dianrong.com +dianru.com +dianru.net +diansan.com +dianshang.com +dianshanghy.com +dianshangyi.com +dianshi.com +dianshige.com +dianshihome.com +dianshijia.com +diantoushi.com +diantui.net +dianview.com +dianwanhezi.com +dianwannan.com +dianwoba.com +dianwoda.com +dianwoyou.com +dianwuque.com +dianxiaobao.net +dianxin.net +dianxinnews.com +dianxinos.com +dianyingjie.com +dianyingshow.com +dianyingwenxue.com +dianyinjidiao.com +dianyong123.com +dianyongqi.com +dianyuan.com +dianyuanic.net +dianyue8.com +dianyuesh.com +dianzhanggui.net +dianzhangzhipin.com +dianzheli.com +dianzhentan.com +dianzhi.com +dianziaihaozhe.com +dianzis.com +dianzixuexi.com +diaoao.com +diaoben.com +diaochapai.com +diaochapai.net +diaocn.com +diaoding.biz +diaojiang.com +diaokeji.net +diaosi.net +diaosiweb.net +diaosu9.com +diaosu98.com +diaosunet.com +diaox2.com +diaoy.com +diaoyan360.com +diaoyanbao.com +diaoyou.com +diaoyoupai.com +diaoyu.com +diaoyu123.com +diaoyu365.com +diaoyubo.com +diaoyula.com +diaoyur.com +diaoyuren.com +diaoyuwang.com +diaoyuweng.com +diaoyuwo.com +diary365.net +diaxue.com +dib66.com +dibaotong.com +dibcn.com +diboot.com +dic123.com +dichan.com +dichanlao.com +dichanren.com +dichedai.com +dictall.com +dida110.com +dida365.com +didacar.com +didachuxing.com +didao.com +didapinche.com +didatravel.com +didaxing.com +didialift.com +didiapp.com +didichuxing.com +dididadidi.com +dididapiao.com +dididawo.com +didiling.com +didipay.com +didiqiche.com +didispace.com +didistatic.com +didiwuxian.com +didixk.com +didiyun.com +didiyunapi.com +didown.com +didu86.com +diducoder.com +diebaosoft.com +diebian.net +dieclock.com +diediao.com +diediao123.com +diemameishi.com +diemoe.net +dieniao.com +dierkezhan.com +diershoubing.com +dietfd.com +diexia.com +difanapp.com +difangfengsu.com +digcredit.com +digforfire.net +digforfire.org +digg58.com +digi-uniclick.net +digi-wo.com +digirepub.com +digisky.com +digital-ren.com +digitalchina.com +digitalcq.com +digitaling.com +digitalvolvo.com +digitalwuhan.com +digitalwuhan.net +digitlink.net +digitser.net +digiwin.com +digiwork.com +digod.com +digpage.com +digu.com +digu365.com +digua.com +diguage.com +diguan.wang +diguff.com +diguobbs.com +digwow.net +dihuikj.com +diiqu.com +dijiahealth.com +dijingchao.com +dijinlianmeng.com +dijiuban.com +dijunsm.com +diketattoo.com +dili360.com +dili365.com +dililitv.com +dim0.com +dimeng.net +dimensionalzone.com +dimpurr.com +dimsmary.tech +dinais.com +dindin.com +dingdanggj.com +dingdangnao.com +dingdangsheji.com +dingdean.com +dingdian.la +dingdianku.com +dingdiansk.com +dingdianzw.com +dingding.com +dingding.xin +dingding2014.com +dingdingdoctor.com +dingdingkaike.com +dingdone.com +dingdongcloud.com +dingdongqb.com +dingdongxiaoqu.com +dingfang123.com +dinggou.org +dinghaiec.com +dinghuaren.com +dinghuihuojia.com +dinghuoche.com +dingip.com +dingkeji.com +dinglc.com +dinglia.com +dingliangame.com +dingliss.com +dingqidong.com +dingsheng.com +dingshifa.com +dingso.com +dingtalent.com +dingtalk.com +dingtalkapps.com +dingtangzqx.com +dingteam.com +dingxiang-inc.com +dingxin66.com +dingxinhui.com +dingxuewen.com +dingyantec.com +dingyueads.com +dingzhijl.com +diningcity.asia +dinzd.com +dioenglish.com +dionly.com +diougens.net +dious.cc +dipaispa.com +dipan.com +dipephoto.com +dipont.com +diqi.net +diqi.sh +diqibu.com +diqishu.com +diqiujiayuan.com +diqiuw.com +diqu114.com +diqua.com +dir001.com +directui.com +discourse-studies.com +discoversources.com +discovery.moe +discuz.chat +discuz.com +discuz.net +discuz.org +discuzfans.net +discuzlab.com +dishen.com +dishuge.com +dishuizhijia.com +diskgenius.com +diskgirl.com +disksing.com +dismall.com +disneybox.com +ditan360.com +ditan369.com +dithub.com +ditian-tech.com +ditietu.com +ditiezu.com +ditiezu.net +ditu.live.com +ditu100.net +dituge.com +dituhui.com +dituwuyou.com +diudou.com +diugai.com +diushouji.com +div.io +divcss5.com +diwork.com +dixiao.org +dixintong.com +diybcq.com +diybuy.net +diycode.cc +diydoutu.com +diyer.so +diygogogo.com +diygw.com +diyhi.com +diyicai.com +diyidan.com +diyidan.net +diyifanwen.com +diyifanwen.net +diyigaokao.com +diyihuifu.com +diyijuzi.com +diyinews.com +diyiredian.com +diyishijian.com +diyitech.com +diyiwl.wang +diyixiazai.com +diyixitong.com +diyiyou.com +diyiyunshi.com +diyiziti.com +diyju.com +diymianmo.com +diynova.com +diypda.com +diyring.cc +diytrade.com +diyvm.com +diywoju.com +diyworld.com +diywz.com +diyyh.com +diyzhuye.com +dizhi.xin +dizzylab.net +dj.net +dj10.com +dj134.com +dj175.com +dj34.com +dj3721.net +dj63.com +dj88.com +dj89.com +dj97.com +djbh.net +djbstatic.com +djbx.com +djcc.com +djcp099.com +djdkk.com +djduoduo.com +djec.net +djeconomic.com +djf.com +djhgyy.com +djiavip.com +djjlseo.com +djjw.com +djkk.com +djkpai.com +djkxl.com +djlmvip.com +djlsoft.net +djrcl.com +djsh5.com +djstechpc.com +djstg.com +dju8.com +djw51.com +djwcp.com +djwxw.com +djye.com +djyjob.com +djysx.com +djyyh.com +djzbl.com +djzhj.com +djzhx.com +djzr88.com +dkdangle.com +dkjiaoyang.com +dklogs.net +dkmol.net +dkpdd.com +dky.cc +dkybpc.com +dkys.org +dl-origin.ubnt.com +dl-rc.com +dl.delivery.mp.microsoft.com +dl.djicdn.com +dl.google.com +dl.l.google.com +dl.ubnt.com +dl0728.com +dl158.net +dl24gjb.com +dl2link.com +dl321.net +dl767.net +dl8z.com +dlangchina.com +dlbh.net +dlbljy.com +dlbyg.com +dlcaic.com +dlcdnets.asus.com +dld.com +dld56.com +dldlsw.com +dledu.com +dlfederal.com +dlg029.com +dlgaoji.com +dlgcpvc.com +dlgwbn.com +dlidli.wang +dljrw.com +dljs.net +dll01.com +dllake.com +dllcm.com +dllhook.com +dllku.com +dllzj.com +dlmonita.com +dlmzk.com +dlnap.com +dlosri.com +dlpuwan.com +dlrjtz.com +dlrkb.com +dlrspace.com +dlsjcsb.com +dlsqb.com +dlssa.com +dlsstax.com +dlsunworld.com +dlszywz.com +dltm.net +dltobacco.com +dltsfh.com +dltubu.com +dlvalve.com +dlxgjy.com +dlxk.com +dlxww.com +dlyestar.com +dlyilian.com +dlzb.com +dlztb.com +dlzyc.com +dlzycf.com +dm004.net +dm0571.com +dm176.com +dm190.com +dm300.com +dm321.com +dm321.net +dm4mm.com +dm5.com +dm789.com +dm9.com +dmacg.net +dmaku.com +dmall.com +dmallcdn.com +dmbcdn.com +dmcbs.com +dmcdn.com +dmcgas.com +dmchina1.com +dmcoders.com +dmd968.com +dmeg88.com +dmeiti.com +dmeiti.net +dmeng.net +dmfuns.com +dmgapp.com +dmgeek.com +dmgpark.com +dmguo.com +dmhlj.com +dmhmusic.com +dmiug.com +dmjtxt.com +dmlei.com +dmmds.com +dmozdir.org +dmpans.com +dmqapp.com +dmread.com +dmrtb.com +dmssc.net +dmtg.com +dmyy.cc +dmyz.org +dmyzw.com +dmzfa.com +dmzj.com +dmzx.com +dn.com +dn1234.com +dn580.com +dn8188.com +dnbbn.com +dnbbs.com +dnbcw.info +dnbiz.com +dncheng.com +dndci.com +dndiy.net +dnf8.com +dnfly.net +dnfziliao.com +dngjxx.com +dngswin7.com +dngsxitong.com +dngz.net +dnion.com +dnjishu.com +dnjs8.com +dnjsb.com +dnmall.com +dnnskin.net +dnnunion.com +dnparking.com +dnpz.net +dnpz123.com +dnqc.com +dns-diy.com +dns-diy.net +dns-dns.net +dns-sky.com +dns-url.com +dns-vip.net +dns.com +dns.la +dns.pub +dns002.com +dns0755.net +dns100.net +dns102.com +dns110.com +dns123.net +dns12345.com +dns2008.com +dns383.com +dns456456123.com +dns567.com +dns6132.com +dns6868.com +dns800.com +dns999999.com +dnsabc-a.com +dnsabc-b.com +dnsabc-f.com +dnsabc-g.com +dnsapple.com +dnsapple.net +dnsce.com +dnscnc.com +dnsddos.com +dnsdiy.com +dnsdizhi.com +dnsdun.com +dnsdun.net +dnsfamily.com +dnsfang.com +dnsff.com +dnsfwq.com +dnsgtm.com +dnsgulf.net +dnshot.net +dnshwx.com +dnsinside.net +dnsip.net +dnsis.net +dnsjia.com +dnsmeasurement.com +dnsmsn.com +dnsng.net +dnsnn.com +dnsns5.com +dnsns6.com +dnsnw.com +dnsor.com +dnsoray.net +dnsour.com +dnspai.com +dnspig.com +dnsplus.co +dnspod.com +dnspod.net +dnspood.net +dnsppdd.com +dnsrw.com +dnss.me +dnss.vip +dnssina.com +dnsum.com +dnsurl.net +dnsv1.com +dnsv1.net +dnsv2.com +dnsv3.com +dnsv4.com +dnsv5.com +dnsv8.net +dnsvcache.com +dnsvhost.com +dnswa.com +dnswhk.com +dnswind.net +dnsx365.com +dnszh.com +dnxp.net +dnxtc.net +dnzhuti.com +dnzjds.com +do-shi.com +do1024.com +do123.net +do1618.com +do1999.com +doabit.com +dobest.com +dobirduser.com +dobunkan.com +doc163.com +doc88.com +doccamera.com +docer.com +docexcel.net +docin365.com +dockerinfo.net +dockone.io +doclass.com +docools.com +docpe.com +docs.cdnetworks.com +docs.djicdn.com +docs.microsoft.com +docs.oracle.com +docschina.org +docsou.com +doctorcom.com +doctorxiong.club +documents.cdnetworks.com +docx88.com +doczhi.com +doczj.com +dodashang.com +dodjoy.com +dodo.link +dodo8.com +dodobook.me +dodobook.net +dodoca.com +dodoeasy.com +dodoedu.com +dodoh5.com +dodonew.com +dodovip.com +doergob.com +doershow.com +dofanyi.com +dofund.com +dog126.com +dogecdn.com +dogecloud.com +dogedoge.com +dogfight360.com +doglobal.net +dogmr.com +dogwhere.com +dogyun.com +doh.pub +dohuo.com +doido.com +doit.am +doitim.com +doki8.com +doko.com +dolanzz.com +dolcn.com +dole.club +dolfincdnx.com +dolfindns.net +doll-leaves.com +doll-zone.com +dollun.com +dolphin-browser.com +dolphin.com +dolphinphp.com +domaingz.com +domarketing.org +domengle.com +dominoh.com +domobcdn.com +domobnetwork.com +domolo.com +domp4.cc +domp4.com +domyshop.com +doname.com +doncc.org +donews.com +dong-shou.com +dong-xu.com +dongannews.com +dongao.com +dongbao120.com +dongbeishifandaxue.com +dongbucaijing.com +dongcai.net +dongcaibaoxian.com +dongchaba.com +dongchedi.com +dongcheng120.com +dongchenghotels.com +dongdalou.com +dongdao.net +dongdongaijia.com +dongdongwenda.com +dongdongyx.com +dongdongzu.com +dongdui.com +dongeedu.com +dongeejiao.com +dongfang-wh.com +dongfang.com +dongfang77.com +dongfangfj.com +dongfangfuli.com +dongfangnews.com +dongfangtech.net +dongfeng-honda-elysion.com +dongfeng-honda-gienia.com +dongfeng-honda-greiz.com +dongfeng-honda-inspire.com +dongfeng-honda-jade.com +dongfeng-honda-ur-v.com +dongfeng-honda-xr-v.com +dongfeng-nissan.com +dongfeng.net +dongfengtrucks.com +dongfund.com +dongganboy.com +dongge.com +donghaifunds.com +donghao.org +donghongqiao.com +donghuaxsp.com +donghulvdao.com +dongjinyu.com +dongjun.cc +dongke.org +dongkelun.com +dongkouren.com +donglingying.cc +donglishuzhai.net +dongliw.com +donglizhixin.com +dongman.fm +dongmansoft.com +dongmanxingkong.com +dongmiban.com +dongnanmaifeng.com +dongni100.com +dongniao.net +dongnienglish.com +dongniyingyu.com +dongoog.com +dongputech.com +dongqiniqin.com +dongqiudi.com +dongqiudi.net +dongsenzs.com +dongshenghuiyang.com +dongshou.com +dongsport.com +dongtaijt.com +dongting.com +dongtu.com +dongua.com +dongwm.com +dongxi.net +dongxingkonggu.com +dongxuyitai.com +dongyaods.com +dongyin.net +dongzhougroup.com +dongzhuoyao.com +donhonet.net +donvv.com +doodoobird.com +doofull.com +dooioo.com +dookhub.com +dooland.com +doomii.com +dooo.cc +doooor.com +door-expo.com +dooreb.com +doorhr.com +dopa.com +dopic.net +dora-control.cdnetworks.com +dora-family.com +dorapp.com +doraunion.com +dormforce.net +dorrr.com +dortail.com +doserv.com +doshome.com +dosnap.com +dospy.com +dossav.com +dossen.com +dostor.com +dot.pub +dota2rpg.com +dota2tester.com +dotamax.com +dotcpp.com +doteck.com +dotgate.com +dotinapp.com +dotty-china.com +dou.bz +dou.li +douban.co +douban.com +douban.fm +doubanio.com +doubaojf.com +doubean.com +doubi.ren +doubimeizhi.com +doubimm.net +doubleclick.net +douboshi.net +doubozhibo.com +douc.cc +doucang.com +douco.com +doudang.com +doudehui.com +doudier.com +doudons.com +doudou.com +doudou.in +doudou3.com +doudou911.com +doudouad.com +doudouba.com +doudoubianli.com +doudoubird.com +doudoudm.com +doufan.tv +doufl.com +doufm.net +douglassclub.com +douguo.com +douguo.net +douhan.li +douhaogongyu.com +douhaomei.com +douhua.net +douhuar.com +douhuibuy.com +doukantv.com +doukeji.com +doulai.com +doulaicha.com +doulaidu.cc +doulaidu.com +doulaidu8.cc +douliao.net +douluodalu123.com +douluodalu3.com +doumengkeji.mobi +doumi.com +doumistatic.com +doumobfour.club +doumobsix.site +doumobtech.online +dounimei.net +doupai.cc +doupir.com +doupobook.com +doupocangqiong1.com +douqi.com +doushen.com +doutian.me +doutukeji.com +doutushe.com +douwanweb.com +douxiaotoutiao.com +douxie.com +douya2.com +douyaobuy.com +douyapu.com +douyar.com +douyi.com +douyin.com +douyincdn.com +douyinec.com +douyinpic.com +douyinstatic.com +douyinvideo.net +douyinvod.com +douyinxiaodian10.com +douyou100.com +douyu.com +douyu.tv +douyuscdn.com +douyutv.com +douzi.com +douzihuyu.com +dovechina.com +dovesky.com +dovov.com +dowater.com +dowebok.com +dowei.com +doweidu.com +dowell-health.com +dowhere.com +down0.com +down123.cc +down123.me +down1997.com +down7788.com +downbei.com +downcc.com +downclass.com +downerapi.com +downfi.com +downg.com +downi9.com +downjoy.com +downkr.com +downkuai.com +download.developer.apple.com +download.microsoft.com +download.visualstudio.microsoft.com +download.windowsupdate.com +downloadcenter.samsung.com +downloadla.pro +downok.com +downol.com +downos.com +downpp.com +downsave.com +downuc.com +downun.com +downv.com +downxia.com +downxy.com +downya.com +downyi.com +downza.com +downzai.com +downzz.com +dowv.com +doxue.com +doyee.com +doyoe.com +doyoo.net +doyoudo.com +doyouhike.net +dozer.cc +dozview.com +dp.image-gmkt.com +dp2px.com +dp2u.com +dpcafc.com +dpcq1.net +dpcyjt.com +dper.com +dpfile.com +dplor.com +dplord.com +dplslab.com +dpqct.com +dprktimes.com +dptech.com +dptechnology.net +dpwl.net +dpxq.com +dq123.com +dq18.com +dq247.com +dq3c.com +dq99.net +dqccc.cc +dqccc.com +dqcccc.com +dqdaily.com +dqdgame.com +dqguo.com +dqhui.com +dqiis.com +dqiong.com +dqjob88.com +dqpi.net +dqrailing.com +dqshdj.com +dqshjt.com +dqyfapiao.com +dr009.com +dr668.com +drageasy.com +dragon-guide.net +dragon-hotel.com +dragonballcn.com +dragoncg.com +dragonest.com +dragonnewsru.com +dragonsea-china.com +dragontrail.com +dragonwell-jdk.io +drakeet.me +dramx.com +drartisan.com +drasy.net +draveness.me +drawyoo.com +drcact.com +drcbank.com +drcg8.com +drclvs.com +drcuiyutao.com +drdrq.com +dre8.com +dream.ren +dream1986.com +dream4ever.org +dreamad.mobi +dreamcast.hk +dreamchasercapital.com +dreamersall.com +dreamershop.com +dreamine.com +dreamkite.net +dreamo100.com +dreamofchinese.com +dreamore.com +dreampiggy.com +dreams-travel.com +dreamsky.me +dreamswood.com +dreamsz.net +dreawer.com +drgou.com +drhudong.com +drice.cc +drip.im +dripcar.com +driverdevelop.com +drivergenius.com +driversdown.com +driverzeng.com +drivethelife.com +drli.group +drlmeng.com +drm-x.com +drm-x.net +drmaml.com +drmj.org +droi.com +droibaas.com +dropboxchina.com +dropsec.xyz +drouma.com +drpneu.com +drscrewdriver.com +drtyf.com +drugfuture.com +druggcp.net +drumchina.com +drupal001.com +drupalla.com +drupalproject.org +drupaluser.org +drvics.com +drvsky.com +drwfggc.com +ds-360.com +ds023.com +ds123456.com +ds5f.com +dsblog.net +dscbs.com +dsdbearing.com +dsdjclub.com +dsfdc.com +dsfof.com +dsgho.com +dshigao.com +dshjfh.com +dshrc.com +dskb.co +dslp168.com +dsmyiyuan.com +dsmzyy.com +dsmzyy120.com +dsn300.com +dsonekey.com +dsook.com +dsp.com +dspliuliang.com +dspwhy.com +dsq.com +dsqin.com +dssz.com +dstfsbc.com +dsti.net +dstoutiao.com +dswjcms.com +dswmt.com +dswzxh.com +dsxdn.com +dsyjz0755.com +dszw.net +dtcash.com +dtcj.com +dtcms.net +dtcoalmine.com +dtcxw.com +dtdiefa.com +dtdream.com +dtdxcw.com +dtfcw.com +dtftsm.com +dthrb.com +dtidc.com +dtime.com +dtmao.cc +dtmuban.com +dtqiufa.com +dtrcb.com +dts007.com +dtshot.com +dtstack.com +dtstatic.com +dttc-icp.com +dttt.net +dtu1.vip +dtuosh.com +dturl.cc +dtuyun.com +dtxmw.com +dtxn.net +dtxww.com +dtysky.moe +dtyzg.com +du00.com +du114.com +du175.com +du1du.org +du7.com +du7.org +du8.com +duai.com +dualaid.com +duan.red +duanjn.com +duanjuzi.com +duanlonggang.com +duanmale.com +duanmeiwen.com +duanqu.com +duanrong.com +duanshu.com +duantian.com +duanwenxue.com +duanwxue.com +duanxin321.com +duanxin520.com +duanyoutv.vip +duanzao001.com +duanzhihu.com +duanzikuaizui.com +duapp.com +duba.com +duba.net +dubbo.io +dubiwang.com +dubprince.com +dubyc.com +duchang.org +dudong.com +duduaa.com +dudubashi.com +dududu.la +dudumeijia.com +duduyu.net +duelcn.com +dugoogle.com +duguoxue.com +duguying.net +duhao.net +dui.ai +dui1dui.com +dui88.com +duia.com +duiai.com +duihuan123.com +duihuashijie.com +duikuang.com +duimg.com +duimin.com +duiopen.com +duitang.com +duitianhe.com +duizhuang.com +dujiaoshou.org +dujiapin.com +dujin.org +dujiza.com +dukechiang.com +dukharo.com +dukuai.com +dulesocks.com +dullong.com +dullr.com +dulouw.com +dumanhua.com +dumasecurity.com +dumasoftware.com +dumeiwen.com +dumi0898.com +dumili.com +dumou.com +dumpapp.com +dunjiaodu.com +dunkhome.com +dunlve.com +duobaoqibin.com +duobei.com +duobeiyun.com +duobeiyun.net +duoben.net +duobiji.com +duocaitou.com +duochang.cc +duodaa.com +duodada.com +duodaoertong.com +duodian.com +duoduo123.com +duoduobaba.com +duoduocdn.com +duoduodashi.com +duoduotv.com +duoduoyin.com +duoduoyouli888.com +duoduozb.com +duoduozhifu.com +duoente.net +duoerpharmacy.com +duofull.com +duogouhui.com +duohou.net +duohui.co +duoic.com +duojiaochong.com +duokaiwang.com +duokan.com +duokanbox.com +duokebao.net +duokebo.com +duoketuan.com +duoku.com +duolabao.com +duolabaocdn.com +duoladayin.com +duolaima.com +duolapiao.com +duolduo.com +duole.com +duolebo.com +duolegame.com +duolerong.com +duolunmoma.org +duoluodeyu.com +duoluohua.com +duoluosb.com +duomai.com +duomeiti.co +duomi.com +duomi.me +duomiapp.com +duomicheng.com +duomijuan.com +duomiyou.com +duomni.com +duomu.tv +duopao.com +duoqu.com +duorenwei.com +duorou.com +duosai.com +duose.com +duosenfashion.com +duoshoubang.com +duoshuo.com +duososo.com +duosq.com +duost.com +duotai.net +duote.com +duotoupiao.com +duotuwang.com +duouoo.com +duowan.com +duowanns.com +duoxinqi.com +duoyewu.com +duoyi.com +duoyinsu.com +duoyoumi.com +duozhi.com +duozhishidai.com +duozhuayu.com +duozhuayu.net +duoziwang.com +dup2.org +dupv.com +dushewang.com +dushicn.com +dushijia.com +dushiliren.net +dushitiyan.com +dushiyufu.com +dushu.com +dushu.io +dushu263.com +dushu365.com +dushu369.com +dushudaren.com +dushuge.net +dushuzhe.com +dushuzhong.com +dushw.com +dustess.com +dustit.me +dusulang.com +dusuu.com +dute.me +dutenews.com +dutils.com +dutor.net +dutory.com +dutype.com +duuchin.com +duunion.com +duwenfei.com +duwenxue.com +duwenz.com +duwenzhang.com +duxiaoman.com +duxiaomanfintech.com +duxiaoshuo.com +duxinjianli.com +duxiu.com +duyandb.com +duyao001.com +duyidu.com +duyixing.com +duzelong.com +duzhe.com +duzhoumo.com +dv37.com +dv58.com +dvagent.com +dvbbs.net +dvbcn.com +dvcms.com +dvd85.com +dvd94.com +dvdc100.com +dvdjy.com +dvmama.com +dvmission.com +dvr163.com +dvrdydns.com +dvvvs.com +dw.la +dwfei.com +dwhub.net +dwinput.com +dwion.com +dwjoy.com +dwmoniqi.com +dwntme.com +dwnxy.com +dwq.com +dwqcw.com +dwrh.net +dwsedu.com +dwstatic.com +dwstock.com +dwt.life +dwtedx.com +dwz.date +dwz.lc +dwz.mk +dx-job.com +dx-tech.com +dx00.net +dx04131.com +dx114118.com +dx168.com +dxbei.com +dxclinics.com +dxcm.net +dxda.com +dxdlw.com +dxecs.com +dxf5.com +dxf6.com +dxias.com +dxjs.com +dxlfile.com +dxlmdd.com +dxmpay.com +dxmstatic.com +dxpei.com +dxpmedia.com +dxqyy.com +dxrc.com +dxs96.com +dxsaxw.com +dxsbb.com +dxsclass.com +dxsdb.com +dxsng.com +dxsport.com +dxsvr.com +dxszx.com +dxton.com +dxwei.com +dxxnews.com +dxxps.com +dxxxfl.com +dxy.com +dxy.me +dxy.net +dxyan.org +dxyb.com +dxycdn.com +dxyrc.com +dxys.pro +dxzq.net +dxztc.com +dxzx.com +dxzy163.com +dy008.com +dy1905.net +dy2018.com +dy2018.net +dybeta.com +dycar.net +dycars.com +dycdn.com +dycf.net +dycmjkgl.com +dydata.io +dydt.net +dydytt.com +dydytt.net +dyee.org +dyfc.net +dyg-hec.com +dygang.com +dygang.net +dygangs.com +dygf.com +dygod.com +dygod.org +dyhhy.cc +dyhjw.com +dyhr88.com +dyhxgame.com +dyhzj.com +dyj.cc +dyjqd.com +dykj.site +dylc.com +dylxx.net +dyly.com +dyonr.com +dypai.com +dyqc.com +dyrbw.com +dyrcb.net +dyrjjt.com +dyrt168.com +dysxxw.com +dytechnolog.com +dytol.com +dytt.net +dytt2019.net +dytt789.com +dytt7899.com +dytt8.com +dytt8.net +dyw0.com +dyxldjy.com +dyxsdwm.com +dyxtw.com +dyxuexin.com +dyxw.com +dyxz.la +dyymwy.com +dyynong.net +dyys.com +dyysoft.net +dyzdx.com +dyzxw.org +dz-z.com +dz.tt +dz11.com +dz19.net +dz1982.com +dz31hao.com +dz666.com +dz746.com +dz88.com +dz88.la +dzbake.com +dzbarcode.com +dzbchina.com +dzblxx.com +dzboligang.com +dzcgtgcl.com +dzcj.tv +dzcjw.com +dzcmedu.com +dzdgsm.com +dzdiy.com +dzdoll.com +dzdu.com +dzfc.com +dzfxh.com +dzgoo.com +dzgwg.com +dzgxq.com +dzhaoj.com +dzhope.com +dzhqexpo.com +dzjcp998.com +dzjrc.com +dzkbw.com +dzlaa.com +dzllzg.com +dzmdq.com +dzmhospital.com +dzng.com +dzoptics.com +dzpk.com +dzqu.com +dzr120.com +dzrbs.com +dzrlvy.com +dzsaas.com +dzsaascdn.com +dzsc.com +dzsfx.com +dzsg.com +dzshengchi.com +dzsm.com +dzsrcw.com +dzssy.com +dztcbj.com +dztcfj.com +dztchun.com +dztcjt.com +dztcnm.com +dztv.tv +dzty365.com +dzvv.com +dzwebs.net +dzwindows.com +dzwww.com +dzwww.net +dzxwnews.com +dzxxzy.com +dzynyy.com +dzyqc.com +dzyqh.com +dzysclite.com +dzyule.com +dzyysb.com +dzz.cc +dzzgsw.com +dzzoffice.com +e-10031.com +e-3lue.com +e-baby.tw +e-bidding.org +e-bq.com +e-bq.org +e-buychina.com +e-celap.com +e-chinalife.com +e-cloudstore.com +e-cookies.net +e-cuc.com +e-cwinfo.com +e-cyb.com +e-dache.com +e-deehoo.com +e-eway.com +e-fangtong.com +e-flyinc.com +e-ging.com +e-ging.net +e-gooo.com +e-hongw.com +e-investingguide.com +e-jjj.com +e-jlt.com +e-kawai.com +e-lifemall.com +e-lining.com +e-lock.xin +e-mallchina.com +e-micromacro.com +e-muzeo.com +e-nci.com +e-net.hk +e-onekey.com +e-picclife.com +e-pointchina.com +e-ruikd.com +e-sleb.com +e-sscard.com +e-tiller.com +e-tui.net +e0514.com +e0575.com +e0734.com +e077.com +e118114.com +e12345.com +e12e.com +e139.com +e1988.com +e21cn.com +e22a.com +e24c.com +e253.com +e2capp.com +e2esoft.com +e2say.com +e360e.com +e365.org +e365mall.com +e3cloud.com +e3ol.com +e4008.com +e4asoft.com +e521.com +e5421.com +e546.net +e5618.com +e5n.com +e66666.com +e68cname.com +e7890.com +e7e6.net +e7e7e7.com +e7ly.com +e7wei.com +e836g.com +e890.com +e8ud3.com +e8zw.com +e9377f.com +e9898.com +e99999.com +ea-retina.com +ea3w.com +eabax.com +eabds.com +eachinfo.com +eachnet.com +eachsee.com +eaeb.com +eafifaonline2.com +eaglexiang.org +eahui.com +eaibot.com +eaka365.com +eal-ceair.com +eallcn.com +eallerp.com +eallone.com +eamimi.com +eamn.net +earth2037.com +earthedu.com +earthstar-cloud.com +easck.com +eascs.com +easeapi.com +easeeyes.com +easemob.com +easerun.com +easeslb.com +easetuner.com +easeus.com +easeyedelivery.com +easilysend.com +easiu.com +east.net +east263.com +eastall.com +eastbest.com +eastchinafair.com +eastcom-sw.com +eastcom.com +eastcompeace.com +eastcoms.com +eastday.com +eastdesign.net +eastdigit.com +eastdushi.com +easteat.com +eastent.com +easternalong.com +eastforever.com +eastftp.net +eastfu.com +easthome.com +eastib.com +eastled.com +eastlending.com +eastmannplastics.com +eastmoney.com +eastmoneyfutures.com +eastmoneyloans.com +eastobacco.com +eastpharm.com +eastsilver.com +eastsoo.com +eastsunintl.com +eastups.com +eastwinn.com +easy-all.net +easy-china.com +easy-linkholiday.com +easy-mock.com +easy2world.com +easy361.com +easy888.com +easyai.tech +easyaq.com +easyaq.org +easyar.com +easyarvr.com +easybug.org +easydarwin.org +easyder.com +easydoc.xyz +easyfami.com +easyfang.com +easyfapiao.com +easygametime.com +easyhaitao.com +easyhexo.com +easyhin.com +easyjf.com +easylaa.com +easyliao.com +easyliao.net +easylink.io +easylinkin.com +easylinkin.net +easymks.com +easymorse.com +easymule.com +easynet.vip +easypayx.com +easypcmac.com +easyreadtech.com +easyrecovery.cc +easyrecovery.net +easyrecoverychina.com +easyrecoverycn.com +easysofthome.com +easyswoole.com +easytalkee.com +easytifen.com +easytimetv.com +easytite.com +easytocn.com +easytouch.com +easytrip.com +easyzw.com +eatonchn.com +eaydu.com +eayou.com +eayuan.com +eayyou.com +eazytec-cloud.com +eb163.com +eb80.com +ebadu.com +ebadu.net +ebaifo.com +ebaina.com +ebama.net +ebangchina.com +ebanma.com +ebanshu.net +ebaoquan.org +ebasset.com +ebchina.com +ebchinatech.com +ebdan.net +ebdoor.com +ebeta.org +ebfcn.com +ebibi.com +ebigear.com +ebingqilin.com +ebiobuy.com +ebioe.com +ebiogo.com +ebioweb.com +ebjfinance.com +ebkj.net +eblockschina.com +ebnew.com +ebocert.com +ebook.name +ebookbao.net +ebookcn.com +ebookmen.com +ebopark.com +eboxmaker.com +ebrun.com +ebscn.com +ebseek.com +ebtang.com +ebtrust.com +ebuckler.com +ebuy31.com +ebways.com +ec-ae.com +ec-cloudtech.com +ec-founder.com +ec-world.com +ec.com +ec0715.com +ec3s.com +ec51.com +ec517.com +ec66.com +ecadi.com +ecaidian.com +ecaihr.com +ecaray.com +ecare365.com +ecartoon.net +ecasesoft.com +ecbcamp.com +ecboo.com +eccang.com +eccbb.com +eccc-china.com +eccdnx.com +eccn.com +eccnmall.com +ecco-market.com +ecctaa.com +ecdpower.net +ecduo.com +eceibs.com +eceibs.net +eceibs20.com +ecej.com +ecer.com +eces66.com +ecgci.com +ecgoods.com +echanceyun.com +echangwang.com +echangye.com +echao8.com +echargenet.com +echarpile.com +echashi.com +echatsoft.com +echead.com +echiele.com +echinacareers.com +echinacities.com +echinagov.com +echinatobacco.com +echo-isoftstone.com +echo188.com +echojb.com +echomod.com +echoteen.com +echuandan.com +eciawards.org +ecice06.com +ecig100.com +ecigm.com +ecitic.com +ecjson.com +eckjzx.com +ecloud.hk +ecmagnet.com +ecmoban.com +ecnsea.com +ecnudec.com +ecoalchina.com +ecochuse.com +ecocn.org +ecombdimg.com +ecombdstatic.com +ecomoter.com +ecookinn.com +ecool.site +ecoplastech.com +ecoprint.tech +ecorr.org +ecouser.net +ecovacs.com +ecp888.com +ecparty.net +ecphk.com +ecppn.com +ecqun.com +ecrrc.com +ecs004.com +ecs6.com +ecsage.net +ecshop.com +ecshop123.com +ecsits.com +ecsponline.com +ecsxs.com +ecuc123.net +ecustmde.com +ecvv.com +ecwan77.net +ecydm.com +ecyj.net +ecyti.com +ed2000.com +ed2kers.com +ed2kfile.com +ed2kk.com +eda-china.com +eda1024.com +eda365.com +eda365.net +eda8.com +edabbs.com +edaboss.com +edacn.net +edadoc.com +edagit.com +edai.com +edaibo.com +edaidb.com +edaili.com +edaixi.com +edaizhijia.com +edajin.com +edajob.com +edanji.com +edaocha.com +edatahome.com +edatop.com +edawiki.com +edb-tech.com +edcba.com +eddic.net +eddycjy.com +ede35.com +edenhermosa.com +edgesrv.com +edhic.com +edianchi.com +edianshang.com +edianzu.com +ediclot.com +edieai.com +edifier.com +edingtou.com +edingzhuan.com +edinuan.com +edirect.asia +ediuschina.com +edk24.com +edmcn.net +ednrc.com +edns.com +edodocs.com +edogantt.com +edojia.com +edojs.com +edong.com +edongeejiao.com +edongli.net +edongyun.com +edowning.net +edqgk.com +edragongame.com +edrawsoft.com +edsionte.com +edspay.com +edt2017.com +edt2018.com +edtsoft.com +edu-book.com +edu-chineseembassy-uk.org +edu-cj.com +edu-job.org +edu-nw.com +edu-shanghai.net +edu.com +edu03.com +edu0851.com +edu201.com +edu24o1.com +edu24ol.com +edu510.com +edu5a.com +edu63.com +edu777.com +edu80.com +edu84.com +edu84.net +edu88.com +eduartisan.com +educg.net +educhicago.org +educhn.net +educoder.net +edudc.net +eduease.com +eduego.com +eduei.com +eduglobal.com +eduglobalchina.com +eduiso.com +edujia.com +edujunyi.com +edumail.pub +eduour.com +edupm.com +eduqz.net +edurck.com +edushi.com +edusoho.com +edusoho.net +edutao.com +edutime.net +edutt.com +eduu.com +eduuu.com +eduwenzheng.com +eduwest.com +eduwg.com +eduwo.com +eduwx.com +eduxiao.com +eduyf.com +eduyo.com +eduzhai.net +eduzhi.com +eduzhixin.com +edward-han.com +edwiv.com +ee1234.com +ee68.com +ee8828.com +eebbk.com +eebbk.net +eebest.com +eeblog.net +eeboard.com +eechina.com +eecn.cc +eecnt.com +eecourse.com +eecso.com +eedns.com +eeduol.com +eee-eee.com +eee114.com +eee4.com +eee5701.com +eeedri.com +eeedu.net +eeeee.com +eeeen.com +eeeetop.com +eeeff.com +eeeknow.com +eeelw.com +eeeqi.net +eeetb.com +eefans.com +eefcdn.com +eeff.net +eefocus.com +eehu.com +eeio99.com +eeioe.com +eelly.com +eeloves.com +eenot.com +eeook.com +eeparking.com +eeq8.com +eeqiu.com +eeskill.com +eeso.net +eetoday.com +eetop.com +eetop.wang +eetrend.com +eetrust.com +eeussf.com +eeworld.com +eeworm.com +eexiaoshuo.com +eexing.com +eeyaa.net +eeybo.com +eeyxs.com +eeyy.com +ef-cdn.com +ef-school.com +ef360.com +ef360.net +ef82.com +ef9377.com +efala.net +efang.tv +efapiao.com +efashionchina.com +efe.cc +efengji.org +efesco.com +eff-soft.com +effapp.com +effecthub.com +effevo.com +efficient.hk +effirst.com +efly.cc +eflybird.com +eflycloud.com +eflydns.net +efmac.org +efnchina.com +efotile.com +efount.com +efoxconn.com +efpp.com +efucms.com +efueloil.com +efwang.com +efwh.com +efy-tech.com +efyt6.com +egainnews.com +egaoxiu.com +egbgedu.com +egfcare.com +egg-born.org +egg.htcsense.com +eggjs.org +eggscute.com +eggtt.com +eghnmj.xyz +egonetworks.org +egongzheng.com +egoonet.com +egotops.com +egou.com +egou0515.com +egouo.net +egouz.com +egovsum.com +egreatworld.com +egret-labs.org +egret.com +egsea.com +egshuyuan.com +ehafo.com +ehaier.com +ehaimao.com +ehaiwang.com +ehangtian.com +ehaoyao.com +ehaoyao.us +ehclglobal.com +ehcoo.com +ehealthcareforum.com +ehedco.com +ehiman.com +ehinvest.hk +ehome5.com +ehome8.com +ehomeclouds.com +ehomeday.com +ehometu.com +ehouse411.com +ehousechina.com +ehoutai.com +ehowbuy.com +ehowbuy.net +ehsy.com +ehtttop.com +ehualu.com +ehuatai.com +ehub.net +ehui.net +ehujia.com +ehuoke.com +ehuoyan.com +ehust.net +ehuzhu.com +ehvacr.com +ei6nd.com +eia0.net +eiabbs.net +eickaopei.com +eicodesign.com +eicp.net +eidlink.com +eigentech.ai +eigenvr.com +eightbridge.com +eightedu.com +eigpay.com +eiicn.com +eiimg.com +eiisys.com +eilieili.cc +eimoney.com +eindex.me +einkcn.com +eintone.com +eiot.com +eiray.com +eis100.com +eisoo.com +eistudy.com +eit0571.com +ej38.com +ejamad.com +ejcms.com +ejcop.com +ejdyin.com +ejee.com +ejeegroup.com +ejfeng.com +ejiacn.com +ejianji.com +ejianmedia.com +ejiayu.com +ejie.me +ejinqiao.com +ejinshan.net +ejion.net +ejiyao.com +ejmrh.com +ejoy.com +ejoy365hk.com +ejoy99.com +ejrfood.com +ejttp.com +eju.com +ejudata.com +ejunshi.com +ek6.com +ekaidian.com +ekan001.com +ekang99.com +ekaobang.com +ekaoyan.com +ekaoyan365.com +ekclubinternational.com +ekesoo.com +eketong.com +eku.cc +ekuaibao.com +ekuapi.com +elabinfo.com +elanso.com +elanw.com +elbmodel.com +eldawa.com +ele.me +ele.to +ele001.com +ele12.com +elecfans.com +elecfans.net +elecinfo.com +elecrystal.com +elecshop.com +elefang.com +eleme.io +elemecdn.com +element3ds.com +elementfresh.com +elenchina.com +elenet.me +elephant-base.com +elesos.com +elex-tech.net +elexcon.com +elfartworld.com +elfjs.com +elgnet.com +elht.com +elian5.com +elianhong.com +elianmeng.vip +elichtmedia.com +elikeme.com +elikeme.net +elitecrm.com +elitejlb.com +eliushi.com +elkpi.com +ellechina.com +ellemen.com +elliotxing.com +ellll.com +elmerlxy.com +eloancn.com +elong-edm.com +elong.com +elong.net +elongshine.com +elongstatic.com +elpcon.com +els001.com +elsenow.com +elsiehoney.com +elsyhw.com +eltws.com +eluosidy.com +eluxiu.com +elvgufen.com +elvhome.com +elvshi.com +elvxing.net +elxk.com +emacs-china.org +emadao.com +emaileds.com +emailflame.com +emailxqq.com +emakerzone.com +emall.site +emall001.com +emao.com +emao.net +emarbox.com +emas-poc.com +emaup.com +embbnux.com +embcom.net +embed.cc +embedfire.com +embedhq.org +embedsky.com +embedtrain.org +embedu.org +embedunion.com +embedway.com +embest-tech.com +embexperts.com +embryform.com +embsky.com +emcbj.com +emcbtc.com +emcite.com +emcsosin.com +emdl.ws.microsoft.com +emea.cdnetworks.com +emeixs.com +emeor.com +emepu.com +emjob.com +emlinix.com +emlog.net +emohe.com +emojidaquan.com +emojimobile.com +emojiwiz.com +empos.net +emrl0z.com +ems-audio.com +ems517.com +emshost.com +emsym.com +emtana.com +emtronix.com +emtx.com +emu999.net +emuban.com +emuch.net +emufan.com +emugif.com +emui.com +emuia.com +emulatedlab.com +emumax.com +emushroom.net +emwan.com +emyard.com +en-sem.com +en.tm +en51.com +en8848.com +en998.com +ename-dns.net +ename.com +ename.net +enamourmall.com +enappstore.com +enbowang.com +enbrands.com +enci-world.com +enec.net +enelcn.com +enen6.com +enet360.com +enetedu.com +enfi.vip +enfodesk.com +enfogrowth.com +eng24.com +eng888.com +engeniustec.com +englishtownpromotion.com +engloncar.com +engpx.com +enguo.com +engz.net +enicn.com +enjoy.link +enjoy1992.com +enjoy3c.com +enjoydiy.com +enjoyfe.com +enjoykorea.net +enjoymeet.com +enjoyyue.com +enjoyz.com +enkichen.com +enkiorder.com +enkj.com +enlightent.com +enlistsecurely.com +enlistsecureup.com +enmajor.com +enmonster.com +enmotech.com +enmsb.com +enmuo.com +ennresearch.com +ennweekly.com +enoya.com +enpapers.com +enqoo.com +enread.com +enroo.com +enroobbs.com +enrz.com +enscg.com +enshide.com +enshifdc.com +enshijob.com +enstylement.com +ent120.com +entboost.com +enterdesk.com +enunix.com +envisioncn.com +enyamusical.com +enzj.com +eoaoo.com +eoeandroid.com +eoemarket.com +eoemarket.net +eoffcn.com +eoffice-mart.com +eoivisa.com +eol8.com +eolinker.com +eomoy.com +eoncon.com +eonun.com +eooioo.com +eoopoo.com +eooqoo.com +eoouoo.com +eoozoo.com +eoriver.com +eosantpool.com +eospark.com +eovas.net +ep-china.net +epaas.net +epailive.com +epalfish.com +epama.com +epanshi.com +epbiao.com +epchina.com +epciu.com +epcnn.com +epcsw.com +epday.com +epeaksport.com +epeiyin.com +epet.com +epetbar.com +epetpet.com +epexpo-asia.com +ephen.me +ephoton.me +epichust.com +epinautomation.com +epinduo.com +epinga.com +epinv.com +epjike.com +epjob88.com +epjyw.com +epkey.com +eplove.com +epmao.com +epoos.com +epqiming.com +eprezi.com +eps114.com +epschool.net +epub360.com +epubchina.com +epubit.com +epweike.com +epwitkey.com +epwk.com +epwksx.com +epzcw.com +eqbyc.com +eqding.com +eqh5.com +eqidi.com +eqie.com +eqifa.com +eqigou.com +eqingdan.com +eqiseo.com +eqishare.com +eqixiu.com +equn.com +eqxiu.com +eqxiu.mobi +eqxiul.com +eqxiuzhan.com +eqyn.com +eqz.cc +eraclean.com +eran123.com +eranet.com +ercc.cc +erdaicms.com +erdangjiade.com +erdianzhang.com +erdong.site +erdosrcb.com +ere3j2e001.com +erentalcarpro.com +ereuiib.com +erfdhiu.com +erg2008.com +ergecdn.com +ergedd.com +ergengtech.com +ergengtv.com +ergouzi.fun +erhaojie.com +ericfu.me +erichfund.com +erji.com +erji.net +erke.com +erldoc.com +erlo.vip +erlou.com +ermao.com +ermiao.com +ernaonet.com +ernest.me +ernxzc.com +eroacg.com +erongda.com +erongdu.com +erpcoo.com +errenzhuan.cc +ershenghuo.net +ershicimi.com +ershouhui.com +ert7.com +ertongkongjian.com +ertongtuku.com +ertongyouleshebei.com +erun360.com +erutluv.com +erxe.club +erya100.com +eryajf.net +eryuapp.com +eryyutu.com +es-soccer.com +es123.com +es9e.com +esa2000.com +esafenet.com +esavip.com +esbag.com +escdn.com +escjy.net +esclass.com +esdaxiagu.com +esde.cc +esduu.com +esemseo.com +esensoft.com +esfimg.com +eshangxian.com +eshanyao.com +eshenan.com +eshenlin.com +eshimin.com +eshiyun.info +eshop-switch.com +eshopb2c.com +eshow365.com +eshufa.com +eshukan.com +eshuu.com +eshzp.com +esinidc.com +esj365.com +esk365.com +eskgn.com +esky8.com +eskysky.com +eslosity.com +esmartwave.com +esnai.com +esnai.net +esoboy.com +eson.org +esoo.org +esouou.com +esouti.com +esoyu.com +esp-4u.com +espier.mobi +espnlol.com +essaystar.com +essca.com +essclick.com +essdc.com +essemi.com +ession.com +essjj.com +essyy.com +estory365.com +estrongs.com +estudychinese.com +esugimoto.com +esun21.com +esun88.com +esuniao.com +esunny.com +eswin.com +esxqk.com +eszmall.com +esztsg.org +esztyg.com +eszwdx.com +et59.com +etao.com +etaog.com +etaxcn.com +etccenter.com +etcchebao.com +etcsd.com +etdown.net +etelux.com +eternalsakura.com +eternalsakura13.com +eternalsys.com +etest8.com +eteste.com +etf.group +etf88.com +eth6.org +ethainan.com +ethan.pub +ethercap.com +ethern.me +ethfans.org +etiantian.com +etiantian.net +etiantian.org +etiaoliao.com +etimeusa.com +etiv.me +etjournals.com +etlong.com +etmchina.com +etmoc.com +etmt1.com +eto9.com +etocrm.com +etomlink.com +etongdai.com +etongguan.com +etonkidd.com +etoote.com +etoplive.com +etosun.com +etoubao.com +etowz.com +etpass.com +etrack01.com +etrack02.com +etrack03.com +etrack04.com +etrack05.com +etrack07.com +etrack08.com +etranshare.com +etrd.org +ets100.com +etsc-tech.com +etsoon.com +etsstar.com +etstock.net +ettbl.org +ettdnsv.com +ettshop.com +etu3.com +etu6.com +etuan.com +etudu.com +etuonet.com +etyy.com +etyyy.com +etz927.com +etzuqiu.com +eu4cn.com +eub-inc.com +euci-software.com +eudic.net +eueueu.com +eugnnn.com +eui.cc +euibe.com +eulike.com +eulixos.com +eureka.name +eurochinesedaily.com +eusercenter.com +ev123.com +ev123.net +ev3ds.com +eva-game.com +eva001.com +evaad.com +evacg.co +evacg.com +evancg.com +evask360.com +evcar.com +evcard.com +evcard.vip +evdays.com +eve.moe +eventdove.com +events2.djicdn.com +everdns.com +evereasycom.com +everedit.net +everet.org +evergrande.com +evergrandeauto.com +everknight.net +evernakedcake.com +eversino.com +everstar.xyz +everstray.com +evervc.com +everychina.com +everydo.com +everyinch.net +everyouthtech.com +evestemptation.com +evewan.com +evfchina.com +evget.com +evhui.com +evideocloud.net +evideostb.com +evilbinary.org +evilcos.me +evileyesaint.com +evketang.com +evlo.us +evlook.com +evoc.com +evotrue.com +evzhidao.com +ew9z.com +ewaga.com +ewang.com +ewanshang.com +ewarecomputer.com +ewatt.com +ewceo.com +ewdcloud.com +ewdtx.com +ewebeditor.net +ewebsoft.com +ewebweb.com +ewecha.com +ewei.com +eweiqi.com +ewenyan.com +ewide.net +ewidecloud.com +ewidewater.com +ewin007.com +ewinall.com +ewind.us +ewinnet.com +ewku.com +ewoka.com +ewomail.com +eworksglobal.com +eworldship.com +ewp051.com +ewpeinfo.com +ewqcxz.com +ewstudy.com +ewt.cc +ewtang.com +ewteacher.com +ewuqa.com +ex-silver.com +ex-starch.com +exam58.com +exam76.com +exam8.com +examcoo.com +examda.com +examebook.com +examk.com +exampx.com +examw.com +exands.com +exaphotons.com +exasic.com +exbot.net +exbulk.com +excake.com +excalibur.link +excaliburdx.com +excbio.com +excean.com +excel8.com +excel880.com +excel99.com +excelcn.com +excelhome.net +excelpx.com +exceltip.net +exchangecn.com +exchen.net +exdoll.com +exezhanqun.com +exfree.com +exhera.com +exiaoba.com +exinee.com +exiqu.com +exmailqq.com +exmrw.com +exnpk.com +exntech.com +exo-mk.com +expai.com +expba.com +expdns.net +expiredns.net +expirenotification.com +expirepausedns.com +expku.com +expo-china.com +expobbs.com +expoeye.net +exponingbo.com +expoon.com +expoooo.com +expotu.com +expowindow.com +expresscompanynetwork.com +expreview.com +expsky.com +exsvc.net +ext2fsd.com +extfans.com +exthin.net +extmail.org +extremep2p.com +extron-tech.com +extstars.com +exuanfang.cc +exuanpin.com +exuanshi.com +exuekt.com +exuezhe.com +exv9.com +exxstar.com +exxvip.com +exziyuan.com +ey-app.com +ey99.com +eyangguang.com +eyangmedia.com +eyao168.com +eyaobei.com +eyasglobal.com +eyasgloble.com +eycans.com +eydata.net +eye024.com +eye027.com +eye0712.com +eye0731.com +eye0746.com +eyee.com +eyejin.com +eyeofcloud.com +eyeofcloud.net +eyepetizer.net +eyesar.com +eyeshenzhen.com +eyeuc.com +eyexp.com +eyhsj.com +eyoodns.com +eyou.com +eyou.net +eyoucms.com +eyoujj.com +eyourbusiness.com +eyrefree.org +eyuangong.com +eyuanzhou.com +eyuconnect.com +eyugame.com +eyunidc.com +eyunker.com +eyunsou.com +eyunzhu.com +eyurumen.com +eyuyan.com +eyuyan.la +eyuyao.com +eywedu.com +eywedu.net +eywedu.org +eyy168.com +ez-leaf.com +ezagoo.com +ezaiai.com +ezbuypay.com +ezca.org +ezcname.com +ezcpt.com +ezcun.com +ezdcw.com +ezdnscenter.com +ezeroshop.com +ezhangdan.com +ezhangu.com +ezhaobiao.com +ezhdd.com +ezhicai.com +ezhijiantuoluo.com +ezhun.com +ezitong.com +ezlippi.com +ezliushao.com +ezloo.com +ezlost.com +eznowdns.com +eznowdns.net +ezpaychain.com +ezqhdz.com +ezrpro.com +ezsmth.com +eztcn.com +eztest.org +eztg.com +eztvnet.com +eztxw.com +ezubao.com +ezucoo.com +ezwan.com +ezwebtest.com +f-0.cc +f-stack.org +f.cx +f008.com +f0580.com +f1-shanghai.com +f139.com +f1688.com +f1zd.com +f2e.im +f2qu.com +f2time.com +f2zd.com +f315.cc +f32365.com +f3322.net +f3322.org +f41g.com +f513.com +f537.com +f5432.com +f54321.com +f5gh.com +f5sd.com +f5yx.com +f773.com +f7777.net +f8fm.com +fa-today.com +fa597.com +faakee.com +fabang.com +fabao365.com +fabaofoundation.com +fabco-air.asia +fabiao.com +fabiao.net +fabiaoqing.com +fabigbig.com +fabu114.com +faburuanwen.com +facai1000.cc +facang.com +face100.net +face2ai.com +faceboer.com +facecloud.net +faceh5.com +facehufu.com +faceid.com +faceminiproject.online +faceplusplus.com +faceu.mobi +faceu.net +faceui.com +faceunity.com +facri.com +factj.com +factube.com +fad123.com +fadada.com +fadaren.com +fadesky.com +fadfunds.com +fadianying.com +fadior.cc +fadsc.com +fadui.com +fafa9.com +fafa986.com +fafaku.com +fafawang.com +fafeng.com +fafuli.com +fagaoshi.com +fageka.com +fagua.net +fahai.com +fahao8.com +faidev.cc +faidns.com +faioo.com +faipod.com +fairguard.net +fairguard.tech +fairyever.com +fairygui.com +fairysoftware.com +fairytest.com +faisco.com +faisys.com +faiusr.com +faiusrd.com +faiww.com +fajiayun.com +fajjj.com +faka.cat +fala114.com +falomall.com +faloo.com +famanoder.com +famecl.com +fameile.net +famen88.com +famens.com +famensi.com +famicn.com +famige.com +familykoloro.com +familylifemag.com +famiyou.com +famulei.com +fan-lun.com +fan-xun.com +fan-yong.com +fan88.com +fanai.com +fancai.com +fanchongling.com +fanchuanxiao.net +fancyapi.com +fancydsp.com +fancyecommerce.com +fandaojian.com +fandengds.com +fandian.com +fandongxi.com +fanfannet.com +fanfou.com +fang-zhou.com +fang.com +fang027.com +fang33.com +fang668.com +fang99.cc +fang99.com +fangbaoqiang.net +fangbei.org +fangbianle.com +fangbx.com +fangcang.com +fangchan.com +fangchan0573.com +fangchanhz.com +fangchip.com +fangcloud.com +fangcs.net +fangdaijisuanqi.com +fangdaijisuanqi.net +fangdd.com +fangdede.com +fangdichanceo.com +fangdr.com +fangfa.net +fangfaku.net +fangfanwang.com +fanghaofang.com +fanghouguo.com +fanghuafu.com +fanghuihui.com +fanging.com +fangjia.com +fangjiadp.com +fangjial.com +fangjs.com +fangkeduo.net +fangketong.net +fangkewang.com +fangkuaiwang.com +fangkuaiyi.com +fangle.com +fanglimei.com +fanglist.com +fanglitong.com +fangmeileju.com +fangqk.com +fangshanzi.com +fangshuitan888.com +fangsi.net +fangstar.com +fangtan007.com +fangtangtv.com +fangte.com +fangtingzfc.com +fangtoo.com +fangtoon.com +fangtuwang.com +fangtw.com +fangtx.com +fangwei315.com +fangweima.com +fangwuzaixian.com +fangxiaoer.com +fangxin.com +fangxinbao.com +fangxinmai.com +fangxinzhuomian.com +fangxuela.com +fangyb.com +fangyi.com +fangying.tv +fangyou.com +fangyouquan.com +fangyuan365.com +fangyuange.com +fangyunlin.com +fangzd.com +fangzhipeng.com +fangzhur.com +fangzongguan.com +fanhai-hk.com +fanhai8.com +fanhaobai.com +fanhaojia.org +fanhaoyue.com +fanhonghua.net +fanhougame.com +fanhuan.com +fanhuan.org +faniuwenda.com +fanjian.net +fanjian8.com +fanjianhome.com +fanjinyan.com +fankhome.com +fanli.com +fanli001.net +fanlibang.com +fanlibei.com +fanlicome.com +fanligame.com +fanlihe.com +fanlijinfu.com +fanlisaas.com +fanlitou.com +fanmugua.net +fannaojiputi.com +fanpusoft.com +fanqiang.com +fanqianzhushou.com +fanqie.im +fanqier.com +fanqiesoq.com +fanqietuan.com +fanqieui.com +fanqievv.com +fanqiewin10.com +fanquanba.com +fanquanwang.com +fanque.cc +fanrenshucheng.com +fanruan.com +fans1.com +fans8.com +fansgu.com +fanshicekong.com +fanshuapp.com +fanshui.net +fanshuvideo.com +fanshuxiaobao.com +fanshuxiaozu.com +fansiji.com +fansimg.com +fansjoy.net +fansobattery.com +fansoon.com +fansx.com +fansyes.com +fantablade.com +fantaiai.com +fantanggame.com +fantatech.com +fantawild.com +fante.com +fanten123.com +fantizi5.com +fantong.com +fanuchdf.com +fanw8.com +fanwe.com +fanwen118.com +fanwenbaike.com +fanwenq.com +fanwenvip.com +fanwenzhan.com +fanxian.com +fanxiang.com +fanxiaocuo.com +fanxiaojian.com +fanxihui.com +fanxing.com +fanxuefei.com +fany-eda.com +fany-online.com +fanyantao.com +fanyeda.com +fanyedu.com +fanyeong.com +fanyi.com +fanyibase.com +fanyigou.com +fanyigou.net +fanyijia.com +fanyiqi.net +fanyishang.com +fanypcb.com +fanyu.com +fanyueciyuan.info +fanyuip.com +fanzehua.com +fanzhiyang.com +fapharm.com +fapiao.com +fapiao365.com +fapiaobang.com +faqrobot.org +far123.com +far2000.com +faradayfuturecn.com +fareastcontainers.com +farenhui.com +farennews.com +farerdak.com +farisl.com +farll.com +farmkd.com +farmsec.com +farsee2.com +fashaoyou.net +fasheng.org +fashengba.com +fashion-virus.com +fashuounion.com +fasionchan.com +fast.im +fastadmin.net +fastadx.com +fastapi.net +fastcdn.com +fastcname.com +fastdo.cc +fastgit.org +fastgz.com +fastidea.cc +fastidea.me +fastio.tech +fastliii.com +fastmirror.org +fastmis.com +fastmock.site +fastmovie88.com +fastmyna.com +fastonetech.com +fastreportcn.com +fastsoc.com +fastsoso.cc +fat999.com +fatedier.com +fateskins.com +fatiao.pro +fatjiong.com +fatkun.com +fatsoon.com +fatvg.com +favdeb.com +favolist.com +favopen.com +favorites.ren +faw-benteng.com +faw-mazda.com +faw-vw.com +fawaitui.com +fawan.com +fawulu.com +faxdns.com +faxdns.net +faxingchina.com +faxingcn.com +faxingnet.com +faxingsj.com +faxingtp.com +faxingtupian.com +faxingzhan.com +faxiufang.com +faxsun.com +faxuan.net +fayea.com +fayifa.com +fayiyi.com +fayurumen.com +fazhijx.com +fazj.org +fb.mu +fb111.com +fbabi.com +fbaichuan.com +fbicdn.com +fbigame.com +fbirdsmall.com +fblife.com +fbook.net +fbsjedu.com +fbuy365.com +fbxslw.com +fc-kf.com +fc0531.com +fc0633.com +fc12319.com +fc2.red +fc2live.pw +fc571.com +fc811.com +fcachinagsdp.com +fcai.com +fcb16888.com +fcbox.com +fcchbj.com +fccs.com +fcczp.com +fcg51.com +fcgsnews.com +fcgtt.com +fcheche.com +fcjob.net +fcjob88.com +fcloudpaas.com +fcnes.com +fcpiao.com +fcrc114.com +fcsc.com +fcsjw.com +fcvvip.com +fcww19.com +fcxjiuyuan.com +fcxxh.org +fcyhw.com +fcz360.com +fczx.com +fd-trust.com +fd167.com +fd597.com +fd7c.com +fdcing.com +fdcyun.com +fdczbstatic.com +fdddf.com +fdeent.org +fdemo.com +fdevops.com +fdjyw.com +fdjzu.com +fdkjgz.com +fdkm88.com +fdlly.com +fdlt.net +fdmgj.com +fdpx.com +fdqh360.com +fds.so +fdsr.org +fduky.com +fdzq.com +fe-cable.com +fe2x.cc +fe347.com +fe520.com +fearlazy.com +feaye.com +febug.com +fecable-gz.com +fecmall.com +fecn.net +fecshop.com +fedte.cc +feeclouds.com +feedou.com +feedsky.com +feedss.com +feeey.com +feehi.com +feekr.com +feelcars.com +feelchat.net +feelcode.net +feelec.net +feeliu.com +feemoo.vip +feepan.com +feesoon.com +feeyan.com +feeye.com +feeyeah.com +feeyo.com +feeyun.com +fegine.com +feheadline.com +fei123.com +fei580.com +feiair.com +feibaojianshen.com +feibaokeji.com +feibisi.com +feibisi.org +feibit.com +feibo.com +feichangzhuan.com +feicool.com +feicui168.com +feicuiedu.com +feicuiwuyu.com +feidaep.com +feidavalve.com +feidee.com +feidee.net +feidieshuo.com +feidou.com +feie.work +feierlaiedu.com +feifanblog.com +feifandesign.com +feifanindustry.com +feifantxt.net +feifanwangg.com +feifei.com +feifeiboke.com +feifeicms.co +feifeixitong.com +feiffy.cc +feifustudio.com +feige.ee +feihu.me +feihuo.com +feihutaoke.com +feiin.com +feiji666nihao.com +feijizu.com +feikanu.net +feikongbao.com +feiku.com +feiliao.com +feiliks.com +feilong.me +feilu.cc +feilvway.com +feimalv.com +feimanzb.com +feimao666.com +feimaoyun.com +feimosheji.com +feiniao.name +feiniaomy.com +feiniu.com +feiniubus.com +feinno.com +feiphp.com +feipin.com +feiq18.com +feirar.com +feiren.com +feisan.net +feishucdn.com +feisu.com +feitian001.com +feitianwu7.com +feitsui.com +feixiaoquan.com +feixiong.tv +feixuege.com +feixueteam.net +feiyang.com +feiyangedu.com +feiyicheng.com +feiyiproxy.com +feiyit.com +feiyng.com +feiyu.com +feiyuapi.com +feiyuemu.com +feiyuhk.com +feiyuteam.com +feizan.com +feizao.tv +feizhaojun.com +feizhu.com +feizhupan.com +fekonmotor.com +felearn.com +feling.net +felink.com +felix021.com +femba.net +femrice.com +fenbaner.net +fenbei.com +fenbeijinfu.com +fenbi.com +fenbishufa.com +fenby.com +fencescn.com +fenduotie.com +fenfen.com +fenfenriji.com +fenfenwz.com +fenfenzh.cc +feng.com +feng1.com +fengakj.com +fengbao.com +fengbaowo.com +fengbolive.com +fengbuy.com +fengcheco.com +fengchizixun.com +fengchj.com +fengchuanba.com +fengchusheng.com +fengcms.com +fengcx.com +fengdu.com +fengdzq.com +fengedu.com +fengeek.com +fengeini.com +fengex.com +fengfeng.cc +fenggeba.com +fenghenever.com +fenghuaju.cc +fenghui.tv +fenghuidongman.com +fenghuoyunji.com +fengiling.com +fengimg.com +fengj.com +fengji.me +fengji.net +fengjing.com +fengjinshuo.com +fengjr.com +fengjunzi.com +fengkongcloud.com +fengkuangzaoren.com +fengkui.net +fengli.com +fengli.su +fenglinjiu.com +fengmanginfo.com +fengmaniu.com +fengmeng.net +fengmi.tv +fengmk2.com +fengniao.com +fengniaocaijing.com +fengniaohuanjing.com +fengniaojr.com +fengone.com +fengpengjun.com +fengpintech.com +fengqiyc.com +fengqu.com +fengread.com +fengshangweekly.com +fengshui22.com +fengshui22.net +fengsung.com +fengtai.tv +fengtalk.com +fengting.io +fengtouwang.com +fengwanyx.com +fengwenyi.com +fengwo.com +fengxianghuawu.com +fengxianrc.com +fengxiaotx.com +fengxuan.co +fengxuelin.com +fengyan.cc +fengye.cool +fengyitong.name +fengyu.cc +fengyu.moe +fengyuansufen.com +fengyuncx.com +fengyunpdf.com +fengyushan.com +fengyx.com +fengzhangame.net +fengzigame.com +fengzixbs.com +fenha.net +fenhao.me +fenking.club +fenlei168.com +fenlei265.com +fenleidao.com +fenleitong.com +fenliu.net +fennessy.hk +fenqihome.com +fenqile.com +fenqix.com +fenqubiao.com +fens.me +fensebook.com +fenshua123.com +fensishenghuo.com +fenxi.cc +fenxi.com +fenxi.org +fenxiangdashi.com +fenxianglife.com +fenxiyi.com +fenxuekeji.com +fenying.net +fenyu.net +fenyucn.com +fenzhi.com +fenzijr.com +feotech.com +fequan.com +ferlie.net +fersese.com +fescoadecco.com +fescogroup.com +festaint.com +fetiononline.com +feverassets.net +fevte.com +feydj.com +ff14.org +ff14yuanxiang.com +ff54.ink +ff63.com +ff8828.com +ffan.com +ffasp.com +ffcell.com +ffdns.net +ffeeii.com +ffepower.com +ffff.cc +fffzgh.com +ffhre.com +ffis.me +ffjd1.com +ffmarket.com +ffmulu.com +ffpedia.com +ffpk-cdn.xyz +ffplay.net +ffquan.com +ffsgame.com +ffsky.com +fft.plus +fft123.com +ffxiv.tk +ffxiv.xin +ffyd8.com +ffyinxiang.com +fg.cc +fgeekcloud.com +fghi34.com +fgidna.com +fgkj.cc +fgo.wiki +fgowiki.com +fgvisa.net +fh1551.com +fh21static.com +fh77.com +fh77.net +fh86.com +fhadmin.org +fhd001.com +fhdjh.com +fhdq.net +fhg90.com +fhhgj.com +fhkioskmodules.com +fhldns.com +fhlun.com +fhlyou.com +fhmion.com +fhoverseas.com +fhrl2018.com +fhrlw.com +fhsas.com +fhtj.com +fhtlw.com +fhtre.com +fhwlgs.com +fhycs.com +fhyx.com +fhyx.hk +fi94.com +fiberhome.com +fiberhomegroup.com +fibocom.com +fibodata.com +fibrlink.net +fidding.me +fiehff.com +fieldschina.com +fiery-data.com +fifsky.com +figoc.pw +fiiimg.com +fiinote.com +fiio.net +filcochina.com +file001.com +filediag.com +fillersmart.com +fillseo.com +films666.com +fim34s.com +fimmu.com +fimvisual.com +fin-shine.com +finacerun.com +finaltheory.me +financeun.com +financialstreetforum.com +finansbankservices.net +finchain.info +finchina.com +finctive.com +finderweb.net +findhro.com +findic.com +findic.kr +findic.tw +findic.us +finditandzip.ga +findlawimg.com +findme.wang +findoout.com +findshu.net +findxk.com +findyou.xin +findzd.com +finebi.com +fineidc.com +finer2.com +finereport.com +finereporthelp.com +finetopix.com +finetopix.net +fineui.com +fineway.com +finger66.com +fingerstylechina.com +fingertc.com +fingu.com +fingu.net +finlayliu.com +finndy.com +finogeeks.com +finshell-cib.com +fintechinchina.com +fintechquan.com +finupfriends.com +finupgroup.com +finzfin.com +finzjr.com +fiphoenix.com +fir.vip +firadio.net +fire233.com +fire2333.com +firebase-settings.crashlytics.com +firebirdprint.com +fireemblem.net +fireemulator.com +fireflyacg.com +firefoxbug.com +firefoxcn.com +firekylin.org +firemail.wang +firetry.com +firhq.com +firshort.com +firstdrs.com +firstfood-cn.com +firstgw.com +firstheartbeat.net +firstlinkapp.com +firstp2p.com +firstproduction.net +firstrow-sports.com +firstsolver.com +fish2bird.com +fish3000.com +fish960.com +fishapi.com +fishcn.com +fisherac.com +fishing-sinkers.com +fishingbar.net +fishingjoy.com +fishings.biz +fishlee.net +fishmobi.com +fishtui.com +fit-start.co +fit-time.com +fitbbs.com +fitoneapp.com +fiuchina.com +fivestarsolar.com +fixsub.net +fiyta.com +fj-atfz.com +fj-jm.com +fj007.com +fj10010.com +fj173.net +fj263.com +fj96336.com +fj987.com +fjanlian.com +fjber.com +fjbgwl.com +fjccdn.net +fjcesuo.com +fjcoop.com +fjcqjy.com +fjcy10010.com +fjcyl.org +fjdaily.com +fjdh.com +fjdnf.com +fjeca.com +fjedu.com +fjfoxiang.com +fjgdwl.com +fjgwy.org +fjhrss.com +fjhun.com +fjhxbank.com +fjhxcaee.com +fjii.com +fjjcjy.com +fjjsp01.com +fjjszg.com +fjjyt.net +fjkqyy.com +fjlh.com +fjly.com +fjmlh.com +fjmstc.com +fjmwjx.com +fjnacc.com +fjndwb.com +fjnet.com +fjotic.com +fjpta.com +fjreading.com +fjsdfz.org +fjsdn.com +fjsen.com +fjsfa.org +fjsfy.com +fjsj.com +fjsjs.com +fjstfc.com +fjtelecom.com +fjtgyxa.vip +fjtianya.com +fjtn.com +fjtv.net +fjty1688.com +fjutu.com +fjvs.org +fjxiehe.com +fjxisuzi.com +fjxn.com +fjybt.com +fjycw.com +fjyy.org +fjzixun.com +fjzol.com +fk100.com +fk2019.com +fkblog.org +fkcaijing.com +fkdmg.com +fkdxg.com +fkesfg.com +fkjie.com +fkw.com +fkw100.com +fkxs.net +fkxxyz.com +fkyuer.com +fkyun.com +fkzgz.com +fl-game.net +fl0632.com +fl168.com +fl365.com +fl5.co +fla38.com +flac.today +flac123.com +flachina.com +flacro.me +flamesky.org +flamingcold.com +flaredup.com +flash8.net +flash8f.com +flashempire.com +flashgame163.com +flashgene.com +flashget.com +flashgoing.com +flashmemoryworld.com +flashv8.com +flashwar.com +flashwing.net +flatshare365.com +flawcache.com +flduo.com +flexifont.com +fleyun.com +flgwx.com +flidc.net +fliggy.com +fliggy.hk +flintos.com +flip.fun +fliplus.com +flnet.com +flnetiot.com +flomoapp.com +flooc.com +floorb2b.com +florentiavillage.com +floverow.com +flowbet365.com +flower-med.com +flower188.com +flower33.com +flowerpassword.com +flowever.net +flowportal.com +floyou.com +flpsz.com +flstudiochina.com +fltacn.com +fltau.com +fltcsb.com +fltrp.com +fluke-ig.com +flutterchina.club +flvcd.com +flvsp.com +flvurl.net +flxc.net +flxdns.com +flxz.com +fly1999.com +fly3949.com +fly63.com +flyacat.com +flybridal.com +flyco.com +flycua.com +flydigi.com +flyenglish.com +flyert.com +flyertea.com +flyertrip.com +flyfish8.com +flyfishx.com +flyfunny.com +flygon.net +flyguest.com +flyine.net +flyme.com +flymeos.com +flyml.net +flymobi.biz +flypy.com +flysnow.org +flytexpress.com +flyxg.com +flyzen.com +flyzy.com +flyzyblog.net +flzc.com +flzhan.com +flzsdq.com +fm0754.com +fm120.com +fm4399.com +fm520.com +fm918.net +fm960.net +fmbimg.com +fmcoprc.gov.mo +fmeibao.com +fminers.com +fmketang.com +fmpan.com +fmsh.com +fmtol.com +fmwei.com +fmwhahaha.com +fmy90.com +fn-mart.com +fn-tech.com +fn.com +fnetlink.com +fnf-foods.com +fngz01.com +fnji.com +fnjiasu.com +fnjsq.com +fnkq.com +fnmz.com +fnnsh.com +fnrcw.com +fnrczp.com +fnysb.com +fnyy.net +fnyy666.com +fnzoo.com +fo12.com +fob123.com +fobshanghai.com +focalhot.com +fochot.com +focus-eloan.com +focus-fusion.com +focuschina.com +focussend.com +fodang.org +fodian.net +fodizi.com +fodlab.com +fodoco.com +fogangtong.com +fokan88.com +folieyun.com +folluo.me +foloda.com +folou.com +fomen123.com +foneplatform.com +fongmong.com +fonrex.com +fonsoft.net +fonsview.com +font.im +font168.com +font5.com +font6.com +fontke.com +fonts.googleapis.com +fonts.gstatic.com +foodbk.com +foodjx.com +foodmate.net +foods1.com +foodsc.net +foodspace.net +foodszs.com +foodu14.com +fooher.com +foojoo.com +fookwood.com +fookyik.com +fooleap.org +foolyun.com +foooooot.com +fooww.com +for-compass.com +for-mail.com +for-she.com +for512.com +for68.com +forbeschina.com +forbetty.com +forbuyers.com +forcemz.net +forcger.com +ford.com +fordgo.com +forenose.com +forerunnercollege.com +foreseamall.com +foresl.com +forestfood.com +forestpest.org +forestpolice.org +forevercd007.com +foreveross.com +forgame.com +forgotfun.org +forindata.com +forkeji.com +forlinx.com +form-create.com +formtalk.net +formysql.com +fornature.com +forrealbio.com +forrerri.com +forsigner.com +forsou.com +forthxu.com +fortiortech.com +fortunebill.com +fortunebs.net +fortunevc.com +forwardgroup.com +forwe.store +foryone.com +foryougroup.com +fos.cc +foscam.com +foshanaosibo.com +foshanmuseum.com +foshannet.com +foshannews.com +foshannews.net +fosss.org +fosun-uhi.com +fosun.com +fotao.name +fotao9.com +fotilestyle.com +foto8.net +fotoe.com +fotomore.com +fotoplace.cc +fotosay.com +fototuan.com +foufu.com +fouleide.com +foumeng.com +founder.com +founderbn.com +foundercentury.com +foundereagle.com +founderff.com +founderfu.com +founderic.com +founderinternational.com +founderit.com +founderpcb.com +founderpod.com +foundersc.com +foundersz.com +foundertech.com +foundertype.com +founderuc.com +foundgame.com +foundpdf.com +founei.com +founpad.com +fountask.com +fovmy.com +fox-studio.net +fox008.com +fox688.com +fox800.xyz +foxconn.com +foxera.com +foxmail.com +foxphp.com +foxtable.com +foxweixin.com +foxwho.com +foxwq.com +foxzld.com +foyuan.net +fpdisplay.com +fpgabbs.com +fpgaw.com +fphis.com +fphs5.com +fpliu.com +fpoll.net +fps7.com +fpsv.com +fpwap.com +fq597.com +fqapps.com +fqgj.net +fqis.xin +fql.cc +fqpai.com +fqsszx.com +fqxs.org +fqzww.com +fr-odc.samsungapps.com +fr-trading.com +fr2007.com +fr8npi.com +fractal-technology.com +francissoung.com +francochinois.com +frankorz.com +franzsandner.com +frbao.com +frdic.com +fread.com +free-api.com +free-e.net +free-eyepro.com +free.mk +free789.com +freebsdchina.org +freebuf.com +freecplus.net +freedgo.com +freefrp.net +freegeeker.com +freehome25.net +freehpcg.com +freeibook.com +freeidea.win +freejishu.com +freekaobo.com +freekaoyan.com +freekeyan.com +freelycode.com +freemancn.com +freemindworld.com +freemoban.com +freemojo.com +freemudgame.com +freeoa.net +freeqingnovel.com +freericheyes.com +freeshoppingchina.com +freessl.org +freetstar.com +freetvro.com +freeuid.com +freewhale.net +freeydch.com +freeyun.com +freezl.net +frensworkz.com +freqchina.com +fresh-ideas.cc +freshhema.com +freshnewsnet.com +frhelper.com +friendeye.com +fright-tattoo.com +fringe-zero.com +friok.com +frjie.com +frlh168.com +fro14.com +frombyte.com +fromgeek.com +fromhomelearn.com +fromwiz.com +frontenddev.org +frontjs.com +frontopen.com +frontwize.com +frostming.com +frostwell.cc +frostwell.net +frostwing98.com +fruitday.com +frysb.com +frytea.com +fs-ade.com +fs.microsoft.com +fs008.net +fs0757.com +fs121.com +fs23.com +fs31.com +fs315.org +fs7000.com +fsaligzf.com +fsbankonline.com +fsbus.com +fsc555.com +fscinda.com +fsclzs.com +fsdhub.com +fsecity.com +fsesa.com +fsfund.com +fsgejian.com +fsgzhg.com +fshd.com +fshzg.com +fsigc.com +fsjiaju.com +fsjoy.com +fskmp.com +fsky.pro +fsl.to +fslgz.com +fsllq.com +fslsg.com +fsmama.com +fsmeeting.com +fsmy88888.com +fsoptronics.com +fspage.com +fspbg.com +fspcdn.com +fsq3626.com +fssfs.com +fsshenneng.com +fstcb.com +fswl66.com +fsxchina.com +fsxdwy.com +fsxsj.net +fsymltc.com +fsyule.net +ft12.com +ft22.com +ftaro.com +ftbj.net +ftcauction.com +ftfast.com +ftium4.com +ftnormal00ab.com +ftnormal00ak.com +ftnormal01as.com +ftoul.com +ftqq.com +ftrsit.com +ftsafe.com +ftsfund.com +ftsm-vip.com +ftt.me +ftuan.com +ftxad.com +ftxgame.com +ftxsoccer.com +ftxzq.com +ftzn.net +fu57.com +fubao.org +fubaofei.com +fuchaoqun.com +fuckingdata.com +fudaiapp.com +fudanglp.com +fudanmed.com +fudanpress.com +fudian-bank.com +fuedf.org +fufeng-group.com +fufuok.com +fugetech.com +fugui.net +fuhai360.com +fuhancapital.com +fuhanziben.com +fuhaodaquan.org +fuhaoku.com +fuhaozi.com +fuheng.org +fuhuibao.club +fui.im +fuimg.com +fuiou.com +fuioupay.com +fujiabin.com +fujianlaser.com +fujianrc.com +fujiansme.com +fujieace.com +fujincenter.com +fujinli.com +fuka.cc +fukeha.com +fulantv.com +fulevmy.com +fuli.la +fuli1024.com +fuli404.net +fuliansheng.com +fuliao.com +fuliapps.com +fuliba2020.net +fuliba2021.net +fulibbs.com +fulibest.com +fulichao.com +fulijd.com +fulimin.org +fulin.org +fulinedu.com +fuling.com +fulingwx.com +fuliti.com +fuliw.net +fuljk.com +full-way.com +fulllinks.com +fullstack.love +fulu.com +fumake.com +fuman8.net +fumanyou.cc +fumi.com +fumu.com +fumubang.com +fumuhui.com +fun.tv +fun48.com +funchat.cc +functionads.com +fund001.com +fundebug.com +fundebug.net +fundog.cc +fundrive.com +funeralchain.com +funfungolf.com +funinput.com +funiutang.net +funjsq.com +funletu.com +funliving.com +funmovie.cc +funnulldns.com +funnycore.com +funnypicsbox.com +funnyplaying.com +funshion.com +funshion.net +funshipin.com +funtimebbs.com +funtoygame.com +funvge.com +funwear.com +funxun.com +funyqq.com +fuqian.la +fuqiangw.com +furenkeji.com +furongedu.com +furrychina.com +furuijiaju.vip +fusaide.com +fusion.design +fusroda.io +fute.com +futonghb.com +futu5.com +futuhk.com +futuku.com +futuniuniu.com +futunn.com +futureengineer.org +futureprize.org +futurescircle.com +futurescontest.com +fututrade.com +fuwa.org +fuwaliuxue.com +fuweivision.com +fuwit.com +fuwo.com +fuwuce.com +fuwuqinet.com +fuwuqu.com +fuxiaohei.me +fuxinbank.com +fuxing56.com +fuxingtech.com +fuxingwang.com +fuxunpay.com +fuyangtv.com +fuych.net +fuyinchina.com +fuyou888.com +fuyoubank.com +fuyoukache.com +fuyuan5.com +fuyuandian.com +fuyuncc.com +fuyuncun.com +fuyundata.com +fuyuzhe.com +fuz.cc +fuzadu.com +fuzamei.com +fuzangtang.com +fuzeetech.com +fuzegame.com +fuzhimao.com +fuzhongvisa.com +fuzhugo.com +fv99.com +fview.com +fvti.com +fw-biotech.com +fw4.co +fw4.me +fwcranes.com +fwdq.com +fwdq.net +fwdqw.com +fwhzxxgbyy.com +fwjia.com +fwmob.com +fwqbdn.com +fwqtg.net +fwqzx.com +fwsir.com +fwtoys.com +fwxgx.com +fwzjia.com +fx120.net +fx168api.com +fx168vip.com +fx273.com +fx3q.com +fx678.com +fx678.net +fx678red.com +fxbaogao.com +fxcccbbs.com +fxclass.net +fxcns.com +fxcsxb.com +fxcw.com +fxdiv.com +fxdm.net +fxdp.com +fxian.org +fxiaoke.com +fxk8.com +fxlbb.com +fxltsbl.com +fxm.so +fxmoe.com +fxo2opt.com +fxpan.com +fxsw.net +fxtrip.com +fxtrips.com +fxw.la +fxwfx.com +fxwst.com +fxxw.net +fxxww.net +fxxz.com +fxyfmp.com +fxyibai.com +fxzhj.com +fxzhjapp.com +fxzpfyy.com +fxzygc.com +fy-data.com +fy-game.com +fy-team.com +fy027.com +fy169.net +fy35.com +fy558.com +fy65.com +fy98.com +fybiji.com +fybooks.com +fybxw.com +fychinago.com +fydckl.com +fydeos.com +fydisk.com +fydmodel.com +fydqw.com +fyeds0.com +fyeds1.com +fyeds2.com +fyeds3.com +fyeds4.com +fyeds5.com +fyeds6.com +fyeds7.com +fyeds8.com +fyeds9.com +fyfch.com +fygame.com +fygdrs.com +fygsoft.com +fyigou.com +fyjsz.net +fynas.com +fynews.net +fyq99.com +fyrcbk.com +fyrexian.com +fyrsks.com +fyrwzz.com +fysjlogo.com +fysns.com +fytcw.com +fytxonline.com +fytz.net +fyuanpack.com +fyvart.com +fywx.cc +fyyy.com +fyzku.com +fz0512.com +fz222.com +fz2sc.com +fz597.com +fzbm.com +fzbtv.com +fzccpit.org +fzcyjh.com +fzdmag.com +fzengine.com +fzf.com +fzfapp.com +fzfzjx.com +fzg360.com +fzita.com +fzithome.com +fzjxw.com +fzl7.com +fzlawyers.net +fzlbar.com +fzlft.com +fzlol.com +fzmama.net +fzmeetdecor.com +fzn.cc +fzpig.com +fzqcbz.com +fzrsrc.com +fzshbx.org +fzshoukuanji.com +fzsjob.com +fzswy.com +fztxylgy.com +fzwcn.com +fzxiaomange.com +fzxyyqd.com +fzyfan.com +fzyfan.net +fzyfs.net +fzzqcdn.com +fzzrlh.com +g-emall.com +g-photography.net +g-var.com +g1.gstatic.com +g12345.com +g12e.com +g168.net +g188.net +g1c5.com +g1d.net +g1f5.com +g2.gstatic.com +g2.link +g207.com +g2g1.com +g2h3.com +g2us.com +g2work.com +g312.com +g32365.com +g3d.org +g3img.com +g3user.com +g5h4.com +g72.com +g7430.com +g77775555.com +g77776666.com +g88885555.com +g88886666.com +g8f8.com +ga0.me +ga001.com +ga25.com +gaapqcloud.com +gabiplay.com +gac-capital.com +gac-nio.com +gacfca.com +gacfcasales.com +gacfiatauto.com +gack.citic +gaclib.net +gacmotor.com +gacsofinco.com +gaeadata.com +gaeamobile.net +gafata.com +gafei.com +gaga.me +gagaga.tech +gagahi.com +gagalee.ink +gai.net +gaiamount.com +gaibar.com +gainda.net +gainet.com +gaingreat.com +gaini.net +gainscha.com +gaitu.com +gaituba.com +gaitubao.com +gaitubao.net +gaixue.com +gaizhui.com +galaxix.com +galaxy-immi.com +galaxyappstore.com +galaxyasset.com +galaxyfont.com +galaxyinfo.com +galaxymacau.com +galaxyns.net +galeo.me +galgamezs.com +galiaoba.com +gallopgazelle.com +galstars.net +galsun.com +galudisu.info +gamdream.com +game-as.com +game-props.com +game-reign.com +game-yx.com +game1126.com +game12315.com +game13.com +game141.com +game2.com +game234.com +game345.com +game3vs7novel.com +game4343.com +game5.com +game5399.com +game5iw.com +game798.com +game900.com +game9g.com +gameabc.com +gameabc2.com +gamebar.com +gamebbm.com +gamebean.com +gamebean.net +gamebee.net +gamebto.com +gamecat.fun +gamecomb.com +gamecps.com +gamed9.com +gamedashi.com +gameditu.com +gameegg.com +gameexp.com +gamefk.com +gamefm.com +gamefv.com +gamehui.com +gameinns.com +gameiy.com +gamejym.com +gamekee.com +gameley.com +gameloop.com +gameloveman.com +gamemale.com +gamemei.com +gameol.com +gamepf.com +gamept.com +gamerboom.com +gameres.com +gamerey.com +gamerhome.net +gamerlol.com +gamermake.com +gamersky.com +gamerstorm.com +gameservice.com +gamesh.com +gamesifu.com +gamesir.com +gametanzi.com +gametaptap.com +gametdd.com +gamethk.com +gametrees.com +gamett.net +gametu.net +gamevvip.com +gamewifi.net +gamexdd.com +gamexhb.com +gamexz.com +gameyisi.com +gameyj.com +gamfe.com +gammatimes.com +gamutsoft.com +gamux.org +gan-ren.com +ganggeban123.com +ganggg.com +ganghaowang.com +ganglonggou.com +gangpaibao.com +gangqinpu.com +gangzai.online +ganhuoche.com +ganhuodaquan.com +ganji.com +ganjiangrc.com +ganjistatic1.com +ganjistatic2.com +gank-studio.com +gank.io +gankang.com +gankgames.com +gankh5.com +ganlv.org +ganlvji.com +ganniu.com +ganqi.com +ganqi.net +ganso.net +gansuci.com +gansunet.com +gansuyunshi.com +ganxi666.com +ganxianw.com +ganxianzhi.win +ganzhe.com +ganzhishi.com +gao.com +gao3d.com +gao4.com +gao7.com +gao7gao8.com +gaobata.com +gaobei.com +gaobiao.net +gaobo.name +gaocegege.com +gaochengnews.net +gaochun.info +gaodabio.com +gaodage.com +gaodalei.com +gaode.com +gaodilicai.com +gaoding.com +gaoduanqianzheng.com +gaodugj.com +gaodun.com +gaodunwangxiao.com +gaofang.cloud +gaofangcache.com +gaofangz.com +gaofeib2c.com +gaofeie.com +gaofen.com +gaofenplatform.com +gaoguai.com +gaoguangcn.com +gaogulou.com +gaohaipeng.com +gaohangip.com +gaohbook.net +gaohr.com +gaoimg.com +gaoji.ren +gaojiaju.net +gaojianli.me +gaojie.com +gaojihealth.com +gaokao.com +gaokao365.com +gaokao789.com +gaokaobaoming.com +gaokaohelp.com +gaokaopai.com +gaokaoq.com +gaokaozhiku.com +gaokeyan.com +gaokin.com +gaokowl.com +gaokw.com +gaokzx.com +gaolouimg.com +gaomaomao.com +gaomeig.com +gaomeluo.com +gaomon.net +gaopaiwood.com +gaopeng.com +gaoqing.fm +gaoqingpai.com +gaoqiwenda.com +gaoqixhb.com +gaore.com +gaosan.com +gaoshou.me +gaoshouvr.com +gaoshouyou.com +gaosiedu.com +gaosivip.com +gaosouyi.com +gaosu.com +gaosudu.com +gaotang.cc +gaotie.net +gaotieshike.com +gaotu006.club +gaotu100.com +gaoxiao88.net +gaoxiaobang.com +gaoxiaojob.com +gaoxiaovod.com +gaoxin123.com +gaoxinbao.xyz +gaoxinkc.com +gaoyizaixian.com +gaoyong666.com +gaoyoujob.com +gaoyy.com +gaozhaiedu.com +gaozhiip.com +gaozhongwuli.com +gaozhouba.com +gap.hk +gapitech.com +gara.cc +garden-aquarium.com +gardencn.com +garmuri.com +garnoc.com +garphy.com +garply.com +gas-analyzers.com +gasfw.com +gasgoo.com +gashr.com +gasshow.com +gaszx.com +gate-dhgames.com +gateface.com +gatewang.com +gateway.craft.moe +gather-dns.com +gathernames.com +gaussianoptics.com +gavindesign.com +gaxrmyy.com +gay20.com +gbase8a.com +gbasebi.com +gbdex.com +gbgba.com +gbhome.com +gbiac.net +gbicdn.com +gbicom.com +gblhgk.com +gblj365.com +gbofd.com +gboooo.com +gbpjam.com +gbsou.com +gbt88.com +gbtags.com +gbtranswins.com +gbw114.com +gc-repair.com +gc-zb.com +gc1616.com +gc39.com +gc5.cc +gc600.com +gccdn.net +gcchina.com +gccmgw.com +gcdcrs.com +gcgd.net +gchao.com +gche8.com +gcihotel.net +gcimg.net +gcjc.com +gcjr.com +gcjx123.com +gcl-et.com +gcloudcs.com +gcloudgbs.com +gcloudsdk.com +gclxry.com +gcmc.cc +gcoreinc.com +gcores.com +gcstorage.com +gcsz.net +gcyts.com +gczp.cc +gczx.cc +gczyg.com +gd-china.com +gd-hskj.com +gd-id.com +gd-linux.com +gd-linux.org +gd1580.com +gd165.com +gd2000.org +gd32.com +gd3n.com +gd563.com +gda086.com +gdadjs.com +gdadri.com +gdadsly.com +gdatacube.net +gdbhnk.com +gdbljd.com +gdbyhtl.net +gdccsc.com +gdcct.com +gdcic.net +gdcom.wang +gdcoop.com +gdcrj.com +gdcts.com +gdctsvisa.com +gdcx.net +gdcyl.org +gddarf.com +gddata.net +gddg.cc +gddhn.com +gdebidding.com +gdefair.com +gdems.com +gdevops.com +gdforestry.com +gdfplaza.com +gdgcep.com +gdggkf.com +gdgudong.com +gdgwyw.com +gdhaoma.com +gdhbsh.com +gdhouqin.com +gdhuan.com +gdhy0668.com +gdie.com +gdimmi.com +gdinfo.net +gdiso.com +gdjdxy.com +gdjinge.com +gdjn.org +gdjqwl.com +gdjyw.com +gdkaman.com +gdkepler.com +gdkjb.com +gdkjw.com +gdkszx.com +gdkz88.com +gdlins.com +gdlppow.com +gdlsgz.com +gdmappress.com +gdmingshizx.com +gdmm.com +gdmoa.org +gdmschina.com +gdmseduol.com +gdmuseum.com +gdmxjy.com +gdong.com +gdou.com +gdpanshi.com +gdpycy02.com +gdqynews.com +gdrc.com +gdrc360.com +gdrc365.com +gdrcu.com +gdrfyy.com +gds-services.com +gdscse.net +gdscw.com +gdsincom.com +gdsoq.com +gdsports.net +gdsrcw.com +gdssl.image-gmkt.com +gdstlab.com +gdswine.com +gdsxgd.com +gdszjgdj.org +gdszpdt.com +gdtai.com +gdtaihao.com +gdtex.com +gdtextbook.com +gdtimg.com +gdtnio.com +gdtone.com +gdtoolkit.com +gdtrafficad.com +gdtravel.com +gdttc.com +gdtz888.com +gdunis.com +gdupi.com +gdvolunteer.net +gdwca.com +gdwlgp.com +gdwlife.com +gdwxmz.com +gdxgt.com +gdxxb.com +gdyjs.com +gdysdz.com +gdyunyin.net +gdyxc.com +gdzbs.com +gdzhlh.com +gdzhongshan.com +gdzp.org +gdzs2018.cc +gdzs2018.vip +gdzsxx.com +gdztck.com +gdzuoxie.com +gdzzz.com +ge-garden.net +ge100.com +geakr.com +geality.com +geapu.com +gearkr.com +geautos.com +gebi1.com +gebilaoshi.com +gebiqu.com +gec123.com +geci345.com +gecimi.com +geciwang.net +gedou8.com +gedoumi.com +gedu.org +geeboo.com +geebook.com +geedai.com +geedu.com +geeetech.com +geeeu.com +geejing.com +geek-docs.com +geek-era.com +geek-papa.com +geek-share.com +geek-workshop.com +geekbang.org +geekbangtech.com +geekcar.com +geekdigging.com +geekdream.com +geekercloud.com +geekerconsulting.com +geekersq.cc +geekfan.net +geekfans.com +geekhub.com +geekiron.com +geekjc.com +geekluo.com +geekmaker.com +geekman.vip +geekmar.xyz +geekniu.com +geekori.com +geekotg.com +geekpark.net +geekpwn.org +geeksblog.cc +geektutu.com +geeku.net +geekwom.com +geekxue.com +geekzu.org +geely.com +geement.com +geeqee.com +geermunews.com +geesee.com +geeseteam.com +geetest.com +geewaza.com +geexek.com +geeyep.com +geezn.com +gegejia.com +gegeyingshi.com +geicloud.com +geihuasuan.com +geihui.com +geilicdn.com +geilijiasu.com +geimian.com +geindex.com +geiniwan.com +geishost.com +geisnic.com +geitu.net +geizan.cc +gejian.net +gejiawen.com +gejiba.com +gelics.com +gelonghui.com +gelu.me +gemchina.com +gemdale.com +gemgsx.com +gemii.cc +gemini-galaxy.com +gemini530.net +geminight.com +gempay.com +gempoll.com +gemuedu.com +genbaike.com +genban.org +gendantong.com +genekong.com +geneskies.com +genetalks.com +geneworldcn.com +gengnie.com +gengwen.net +geniatech.com +genrace.com +genscript.com +gensee.com +genshuixue.com +gentags.com +gentags.net +genymotion.net +genzhuang.org +geo-prism-cn.htcsense.com +geo-prism.htcsense.com +geo.kaspersky.com +geo2k.com +geogsci.com +geohey.com +geoidc.com +geospatialsmart.com +geotmt.com +gepresearch.com +gepubbs.com +gepush.com +gequ77.com +gequdaquan.net +geren-jianli.com +gerenjianli.com +gerhard-china.com +geruihuate.com +gesanghua.org +gesep.com +geshui.com +geshui100.com +geshuiw.com +gesuo.com +get.vip +get233.com +getbingo.net +getbs.com +getcai.com +getcn.net +gethover.com +getiis.com +getip.name +getkwai.com +getlema.com +getmarkman.com +getquicker.net +getsurfboard.com +getteamyi.com +getui.com +getui.net +getuikit.net +getulab.com +getvidi.co +gewai-cnc.com +gewala.com +gewara.com +gewu.vc +gexiao.me +gexiaocloud.com +gexing.com +gexing.me +gexings.com +gexingshuo.com +gexingzipai.com +geyan123.com +geyanw.com +geyo.com +geyoukj.com +gezhixq.net +gezida.com +gezila.com +gf-funds.com +gf.cc +gfan.com +gfanstore.com +gfbhgz.com +gfcdn.shop +gfcdn.xyz +gfcvisa.com +gfd178.com +gfdns.net +gfdsa.net +gfedu.com +gffirm.com +gffwq.com +gfglb.com +gfhj.com +gfjl.org +gfnormal01ac.com +gfnormal01aq.com +gfnormal02ak.com +gfnormal03ab.com +gfnormal03aj.com +gfnormal04ac.com +gfnormal04ad.com +gfnormal04ar.com +gfnormal06aa.com +gfnormal07ak.com +gfnormal07ar.com +gfnormal07at.com +gfrtrttweet.com +gftuan.com +gfun.me +gfund.com +gfvip00ao.com +gfvip04af.com +gfvip05ad.com +gfvip07ap.com +gfvip08ad.com +gfvip08ao.com +gfvip08ar.com +gfvip09ac.com +gfvip09aj.com +gfvip09an.com +gfvip09aq.com +gfvip09at.com +gfxaa.com +gfxcamp.com +gfxtr1.com +gfxy.com +gfzj.us +gg-ev.com +gg-lb.com +gg-led.com +gg1994.com +gg8828.com +ggac.net +ggcida.com +ggcj.com +ggcykf.com +ggda365.com +ggemo.com +ggerg.com +ggeye.com +ggg.cool +ggj88.com +ggjrw.com +ggjstz.com +gglenglish.com +ggmm777.com +ggmmqq.com +ggmzy1.com +ggo.la +ggo.net +ggpeixun.com +ggqule.com +ggqx.com +ggsafe.com +ggsq.cc +ggwan.com +ggweb.net +ggxt.net +ggxxe.com +ggytc.com +ggzgg.com +ggzuhao.com +gh6.org +gh8s.com +ghatg.com +ghboke.com +ghgy.com +ghgy.net +ghlearning.com +ghmba.com +ghmcchina.com +ghmp4.com +gho5.com +gholover.com +ghost008.com +ghost11.com +ghost123.com +ghost64.com +ghostchina.com +ghostsf.com +ghostw7.com +ghostwin10.net +ghostwin7.net +ghostxp2.com +ghostxp6.com +ghostxpsp3.net +ghostxx.com +ghproxy.com +ghpym.com +ghrlib.com +ghs.net +ghsmpwalmart.com +ght.me +ghui.me +ghwgame.com +ghxi.com +ghyg.com +ghzhushou.com +ghzs.com +ghzs666.com +giabbs.com +giaimg.com +giant-cycling-lifestyle.com +giantcdn.com +gibcp.com +giccoo.com +gicp.net +giexya.com +gif-china.cc +gif5.net +gifcool.com +giffox.com +gifhome.com +gifms.com +gifshow.com +giftsbeijing.com +gifu-pr.com +giga-da.com +gigabyte.com +gigaget.com +giikin.com +giiso.com +gildata.com +gilieye.com +giltbridge.com +giltworld.com +gimcyun.com +gimhoy.com +gimmgimm.com +gimoo.net +gio.ren +giocdn.com +gionee.com +gionee.net +giordano.com +giraff3.com +girlbt.com +girls-frontline.com +girlw.net +giscafer.com +giser.net +giserdqy.com +gispark.com +gissaas.com +gissky.net +git-star.com +gitbook.net +gitcafe.net +gitclone.com +gitcode.net +gitee.com +gitee.io +githang.com +githubusercontents.com +gitissue.com +gitlib.com +gitlore.com +gitnavi.com +gitnoteapp.com +gitnova.com +gitos.net +gitsea.com +gitv.tv +gityuan.com +giuem.com +giveda.com +giveme5.cc +giyu8.com +gizwits.com +gj515.com +gjalk.com +gjb9001b.com +gjbaek.ren +gjcdn.vip +gjceshi9.com +gjds.vip +gjfax.com +gjgwy.net +gjgwy.org +gjgzpw.com +gjjcxw.com +gjjnhb.com +gjnlyd.com +gjpdh.com +gjsj.com +gjtjjp.com +gjw.com +gjw123.com +gjxh.org +gjyys.com +gjzy.com +gk-net.com +gk-z.com +gk.link +gk100.com +gk114.com +gk99.com +gkbbapp.com +gkczgs.com +gkdgz.com +gkeydoor.com +gkfb.com +gkkxd.com +gkmhq.com +gkmotor.com +gkong.com +gkoudai.com +gkpass.com +gkshuju.com +gkstk.com +gktianshanjd.com +gkwo.net +gkxd.com +gkzhan.com +gkzj.net +gkzxw.com +gl-data.com +gl-inet.com +gl258.com +glab.online +glabuy.com +glamever.com +glamourred.com +glanimaltrade.com +glanu.com +glasseasy.com +glawyer.net +glb3.com +glb6.com +glbdns.com +glbdqn.com +glcanyin.net +glcct.com +gldtztc.com +gleasy.com +glface.com +glgczk.com +glgoo.com +glgoo.net +glgoo.org +glhospital.com +glike.me +glinfo.com +gljrkj.com +gllue.com +gllue.me +gllue.net +glmama.com +glmapper.com +glmei.net +global-download.acer.com +global-harbor.com +global-idc.net +global-jf.com +global-scsl.com +global-trade-center.com +globalaccentchinese.com +globalbuy.cc +globalcompressor.com +globaldangdang.hk +globaletrust.com +globalhardwares.com +globalimporter.net +globalizex.com +globalmarket.com +globalmil.com +globalpingbao.com +globalscanner.com +globalsign.com +globalslb.net +globalsources.com +globalstech.com +globeauto.org +globeedu.com +globeimmi.com +globerexpress.com +globlevip.com +globrand.com +globrand.net +glodon.com +glorymobi.com +gloryre.com +gloryview.com +glorze.com +glosku.com +glqh.com +glshimg.com +gltattoo.com +gltjk.com +gltop.com +glvs.com +glxlawyer.com +glyf168.com +glzhuang.com +glzip.com +glzj88.com +glzy8.com +gm193.com +gm2007.com +gm825.com +gm86.com +gm88.com +gm99game.net +gmacsaic.com +gmanhua.com +gmb2b.com +gmcc.net +gmcchina.net +gmdun.com +gmecity.com +gmed.cc +gmem.cc +gmem.site +gmgc.info +gmgcongress.com +gmgdc.com +gmgm668.com +gmhysj.com +gmilesquan.com +gming.org +gmiot.net +gmjk.com +gmm01.com +gmmch5.com +gmmicro.com +gmmsj.com +gmonline-all.com +gmpanel.com +gmrmyy.com +gms-lighting.com +gmsjf.com +gmssl.org +gmt-china.org +gmtv.cc +gmugmu.com +gmwtp.com +gmwuf.com +gmyl.com +gmz88.com +gmzhushou.com +gmzi.com +gn00.com +gn168.com +gnaixx.cc +gname-dns.com +gndaily.com +gnehr.com +gnetis.com +gng92.com +gnhpc.com +gnrcbank.com +gnss.help +gnssinfo.com +gnssopenlab.org +gnvip.net +gnway.com +go-gddq.com +go-goal.com +go.cc +go007.com +go05.cc +go108.com +go24k.com +go2aaron.com +go2eu.com +go2hn.com +go2map.com +go2tu.com +go2yd.com +go300.com +goalan.net +goalhi.com +goalmobi.com +goapk.com +gobanma.com +gobelike.net +gobivc.com +gocarjourney.com +gocashback.com +gocea.net +goceshi.com +gocheck.net +gochego.com +gocn.vip +god51.com +godaily.org +godasai.com +godbach.com +godbiao.com +godblessyuan.com +goddelivery.com +goddessxzns.com +godeve.com +godic.net +godida.com +godiscoder.com +godiy8.com +godloveworld.com +godo.pub +godoor.com +godotdotdot.com +godpan.me +godrry.com +godruoyi.com +godsheepteam.com +godsignal.com +godwolf.com +goeasy.io +goepe.com +goertek.com +goetheslz.com +goflac.com +goframe.org +gogbuy.com +gogo-le.com +gogo.so +gogo123.com +gogoauc.com +gogobids.com +gogofly.com +gogojiang.com +gogolinux.com +gogooffer.com +gogopzh.com +gogoqq.com +gogoup.com +gohighfund.com +goho.co +gohoedu.com +gohom.win +gohomesafe.org +gohong.com +gohugo.org +going-link.com +gojiaju.com +goke.com +gokols.com +gokuai.com +golangapi.com +golanger.com +golangtc.com +golangweb.com +golaravel.com +gold-v.com +gold58.com +gold678.com +goldapple.name +goldav.net +goldbj.com +goldbox.vip +golden-book.com +golden-infor.com +goldenad.net +goldenholiday.com +goldenhome.cc +goldenname.com +goldentom.com +goldgrid.com +goldhoe.com +goldke.com +goldlvshi.com +goldmantis.com +goldmarkrealestate.com +goldstonepack.com +goldsunchn.com +goldtoutiao.com +golf568.com +golfvv.com +golink.com +golinksworld.com +golive-tv.com +golivetv.tv +gomeart.com +gomecloud.com +gomegj.com +gomeholdings.com +gomehome.com +gomeplus.com +gomesell.com +gomo.com +gonever.com +gong123.com +gongbaike.com +gongboshi.com +gongchang.com +gongchengbing.com +gongchou.com +gongfubb.com +gongheshengshi.com +gongjiao.com +gongjiaomi.com +gongju.com +gongju5.com +gongjuji.net +gongjumi.com +gongkaoleida.com +gongkong.com +gongkong001.com +gongkongbpo.com +gongkongedu.com +gongkongke.com +gongkongmall.com +gongl8.com +gonglin91.com +gongmutang.com +gongnou.com +gongpin.net +gongpingjia.com +gongshang120.com +gongshe99.com +gongshi8.com +gongsibao.com +gongsijiaoyi.com +gongsizhijia.com +gongwuxing.com +gongxiangcj.com +gongxiao8.com +gongxinbang.com +gongxuku.com +gongye360.com +gongyeku.com +gongyelian.com +gongyeyun.com +gongyicn.org +gongyijijinhui-info.com +gongyingshi.com +gongyishibao.com +gongyixiang.com +gongyoumishu.com +gongzhonghaozhushou.com +gongzi.org +gongzicp.com +gongzifu.com +gongzuoshouji.net +gongzuoyun.org +gonsun.com +gonvvama.net +goo17.com +gooagoo.com +gooann.com +good-display.com +good-fine.com +good-import.com +good.cc +good1230.com +good321.net +goodaiai.com +goodapk.com +goodapp.net +goodbaby.com +goodbabygroup.com +goodbaike.com +goodbook100.com +goodcti.com +gooddr.com +gooddu.com +goodealwigs.com +goodera8.com +goodev.org +goodgupiao.com +goodid.com +goodix.com +goodjd.com +goodjili.com +goodjzjg.com +goodkejian.com +goodlucknet.com +goodnic.net +goodprogrammer.org +goodrain.com +goods-brand.com +goodstudydayup.com +goodtea.cc +goodtp.com +goofish.com +google-analytics.com +googleadservices.com +googleanalytics.com +googlebridge.com +googlefonts.net +googleoptimize.com +googlesyndication.com +googletagmanager.com +googletagservices.com +googlevip8.com +googlevoice.org +googleyixia.com +googpc.com +goojer.com +goolink.org +gooo8.com +gooogua.com +gooooal.com +goooob.com +gooood.hk +goootech.com +goootu.com +goosai.com +goosail.com +gooseeker.com +goosetalk.com +gooxi.com +gooyo.com +goozp.com +gopedu.com +gopiaowu.com +goplaycn.com +goplayervideo.com +gorichox.com +gorouter.info +gorse.com +goryun.com +goshijia.com +gosinoic.com +gospelwin.com +gosuncdn.com +gosunm.com +goten.com +gotocdn.com +gotodn.com +gotohz.com +gotohzrb.com +gotoip.net +gotoip1.com +gotoip11.com +gotoip2.com +gotoip3.com +gotoip4.com +gotoip55.com +gotojp.net +gotokeep.com +gotonav.com +gotonets.com +gotoubi.com +gotozhuan.com +gotran.com +gotvg.com +gou.com +gou5juan.com +gouai.com +gouchezj.com +goufang.com +goufq.com +goug.com +gougoujp.com +gougousc.com +gougoutxt.com +gouhai.com +gouhaowang.com +gouhuasuan.shop +goukuai.com +goulew.com +goulong.com +goumee.com +goumin.com +gounahaozi.org +goupuzi.com +goushh.com +gouso.com +gousu.com +goutanzi.com +gouwanmei.com +gouwubang.com +gouwuke.com +gouwumai.com +gouwuyu.com +govfz.com +govmade.com +gow100.com +gowa.club +gowan8.com +goweb2.net +goweb3.net +gowincms.com +gowinlease.com +gowinxp.com +gowithmi.com +goyihu.com +goyoo.com +goyouhuima.com +gozap.com +gp-cdn.net +gp-tm.com +gp123.cc +gp1903.com +gp1907.com +gp1908.com +gp1909.com +gp1910.com +gp241.com +gp259.com +gp451.com +gp51.com +gp88888.com +gp891.com +gpai.net +gpautobid.com +gpbeta.com +gpcgd.com +gpcqjy.com +gpcxw.com +gpd.hk +gpdi.com +gper.club +gpio.me +gpl-express.com +gplayspace.com +gplqdb.com +gpnewtech.com +gppapp.com +gps8.com +gpslook.net +gpsoo.net +gpsspg.com +gpsuu.com +gpticket.org +gpxxz.com +gpxygpfx.com +gpxz.com +gpzbs.com +gqgkj.com +gqhmt.com +gqjd.net +gqk.tv +gqm168.com +gqooh.com +gqqsm.com +gqsoso.com +gqt168.com +gqtpw.com +gqyy8.com +gqzctsj.com +gqzzw.com +grablan.com +grabsun.com +gracece.com +gracg.com +gradaimmi.com +gradgroup.com +gradgroup.net +grainedu.com +grainstorage.net +gran.work +grandinsight.com +grandomics.com +grapchina.org +graphene.tv +graphmovie.com +graueneko.xyz +gray-ice.com +grcbank.com +grchina.com +gre.vip +greatbit.com +greatopensource.com +greatops.net +greatroma.com +greatsk.com +greatssp.com +greatstargroup.com +greatstartools.com +greatwalldns.com +greatwallships.com +gree-jd.com +gree.com +greebox.com +green-android.org +green12306.com +greenbodhi.com +greenchengjian.com +greencompute.org +greendh.com +greenhtml.com +greenhua.com +greenism.net +greenlandsc.com +greentomail.com +greenxf.com +gretf.com +greycdn.net +greyli.com +grfy.net +grfyw.com +grg2013.com +grgbanking.com +grge23.com +grgsecurity.com +grgvision.com +grgyintong.com +gridsum.com +gridsumdissector.com +gridy.com +grieom.com +grikin.com +grinm.com +grirem.com +grizcom.com +grmxdy.com +gro2004.com +gro2005.com +groad.net +groovyfilmes.com +grouk.com +group-purchasing.com +group.citic +groupjx.com +grouplus.com +growingio.com +grt-china.com +gruntjs.net +grvape.com +gryu.net +grzmz.com +gs-loc-cn.apple.com +gs-loc.apple.com +gs.ww.np.dl.playstation.net +gs14.com +gs2.ww.prod.dl.playstation.net +gs265.com +gs307.com +gsadds.com +gsafcct.com +gsbankchina.com +gsbankmall.com +gscaijing.com +gscidc.net +gsdk.tv +gsdlcn.com +gsdpw.com +gsflcp.com +gsgs10086.com +gshhqy.com +gsi24.com +gsicpa.net +gsjie.com +gsjpy.com +gsjtky.com +gsjy.net +gsktraining.com +gskwai.com +gskyty.com +gslxrc.com +gsmpers.com +gsmyi.com +gsp10-ssl-cn.ls.apple.com +gsp11-cn.ls.apple.com +gsp12-cn.ls.apple.com +gsp13-cn.ls.apple.com +gsp4-cn.ls.apple.com +gsp4-cn.ls.apple.com.edgekey.net +gsp4-cn.ls.apple.com.edgekey.net.globalredir.akadns.net +gsp5-cn.ls.apple.com +gsp85-cn-ssl.ls.apple.com +gspaceteam.com +gspcc.com +gspe19-cn-ssl.ls.apple.com +gspe19-cn.ls-apple.com.akadns.net +gspe19-cn.ls.apple.com +gspe21-ssl.ls.apple.com +gspe21.ls.apple.com +gspe35-ssl.ls.apple.com +gsqx.com +gsrcu.com +gsrecv.com +gssdlv.com +gssfgk.com +gst-china.net +gstarcad.com +gstaticadssl.l.google.com +gstdt.com +gston.cc +gstonegames.com +gsxcdn.com +gsxservice.com +gsxtj.com +gsxzq.com +gsyuanquan.com +gszhuli.com +gszlyy.com +gszph.com +gt-oil.com +gt-semi.com +gt520.com +gtadata.com +gtags.net +gtan.com +gtanhao.com +gtaxqh.com +gtcedu.com +gtcim.com +gtdlife.com +gtdstudy.com +gter.net +gtfund.com +gtgres.com +gtibee.com +gtimg.com +gtja-allianz.com +gtja.com +gtjadev.com +gtjaqh.com +gtjazg.com +gtk2.com +gtlrxt.com +gtm-a1b2.com +gtm-a1b3.com +gtm-a1b4.com +gtm-a1b6.com +gtm-a1b7.com +gtm-a2b3.com +gtm-a2b4.com +gtm-a2b6.com +gtm-a2b7.com +gtm-a3b1.com +gtm-a3b5.com +gtm-a3b6.com +gtm-a3b7.com +gtm-a4b1.com +gtm-a4b4.com +gtm-a4b6.com +gtm-a4b8.com +gtm-a4b9.com +gtm-a5b4.com +gtm-i1d6.com +gtm-i1d9.com +gtm.oasisfeng.com +gtmlufax.com +gtn9.com +gtnqk.com +gto365.com +gtobal.com +gttof2020.com +gttxidc.com +gtuanb.com +gtuu.com +gtxp2.com +gtzy123.com +gu166.com +gu360.net +guabu.com +guahao-inc.com +guahao.com +guahaoe.com +guahaowang.com +guaihaha.com +guaihaha.net +guaihou.com +guaikemov.com +guaili.org +guailuo.com +guailuzi.com +guainiuwang.com +guaiwola.com +guaixun.com +guajibao.club +guajibao.me +guajibaola.com +guajob.com +guakaoba.com +gualemang.com +guan.wang +guan5.com +guanaitong.com +guanchangcun.com +guanchao.site +guandan.com +guandang.net +guandata.com +guandianle.com +guandongphoto.com +guandongyucang.com +guang.com +guangbo.net +guangchangwu.net +guangchilieche.com +guangdauser.com +guangdianyun.tv +guangdiu.com +guangfeng.com +guanggao.com +guanggu100.com +guanggua.com +guanghe.tv +guanghuayigou.com +guangjiaohui888.com +guangjie5u.com +guangjieba.com +guangka.com +guangkatf.com +guangli88.com +guanglunshiji.com +guangminggame.com +guangmingjx.com +guangsuss.com +guanguser.com +guangwaifu.com +guangwangye.com +guangweihui.com +guangxigrc.com +guangxindai.com +guangxiyou.com +guangyaguang.com +guangyinglvxing.com +guangyuai.com +guangyv.com +guangzhitui.com +guangzhou-logistics.com +guangzhou-marathon.com +guanhuaju.com +guanjia2.com +guanjiabo.net +guanjiajf.com +guanjianfeng.com +guankou.net +guanli360.com +guanli66.com +guanlixinli.com +guanmeikj.com +guannews.com +guannin.com +guanplus.com +guanqifeier.com +guanrenjiaoyu.com +guanshangsq.com +guanshangyu.cc +guanshi.net +guanshuzw.com +guantaicn.com +guanting.com +guanvip8.com +guanwang.com +guanwangdaquan.com +guanwangshijie.com +guanwangyun.com +guanwawa.com +guanxiaokai.com +guanyiyun.com +guanzhongrc.com +guanzhu.mobi +guanzhulian.com +guapaijia.com +guardrailchina.com +guazhuan.com +guazi-apps.com +guazi.com +guazipai.com +guazistatic.com +guazixs.com +gubo.net +gubo.org +gucciblog.net +gucheng.com +gucn.com +gucun.info +gucunpark.net +gudage.cc +gudaiba.com +gudaovision.com +gudi.cc +gudianhr.com +guduodata.com +guer.org +guestops.com +gufeiposuiji.com +gufengge.org +gufengmh.com +gufengmh8.com +gufengmh9.com +guge.tw +gugeanzhuangqi.com +gugeapps.net +gugexs.com +gugong.net +gugooe.com +gugu5.com +gugud.com +guguread.com +gugutm.com +gugutown.com +guguyu.com +guguzhu.com +guhai66.com +gui333.com +gui66.com +guibi.com +guibook.com +guibuyu.org +guidechem.com +guiderank-app.com +guiderank.org +guifan110.com +guifun.com +guigu.org +guiguzhongguo.com +guiheyue.com +guihua.com +guihuayun.com +guihuazixun.com +guiji.com +guijinshu.com +guikeyun.com +guilin.la +guilinhd.com +guilinlife.com +guilintravel.com +guimengning.com +guimi.com +guimilu.com +guimipay.net +guisd.com +guitarpro.cc +guixue.com +guizeco.com +guizheng.net +gujianba.com +gujianzhixiang.com +gujiushu.com +gukaifu.com +gukaihu.com +gukun.com +gulandscape.com +gullmap.com +gulltour.com +gulou120.com +gulu.tv +gulu001.com +gulugj.com +gulutea.com +gumang.com +gumaor.com +gumo.pro +gunfans.net +guntian.com +guo.com +guo7.com +guo98.com +guoanaz.com +guoanqi.com +guoaso.com +guobaihui.com +guobaoyou.com +guobensd.com +guobiao99.com +guoboshi.com +guocaiqinghai.com +guocuijingju.com +guodafdc.com +guodegang.org +guodingnet.com +guodongbaohe.com +guodu.com +guodu.hk +guoers.com +guofen.com +guofenchaxun.com +guofenchaxun.net +guoguo-app.com +guohanlawfirm.com +guohead.com +guohuapharm.com +guoji.biz +guojianglive.com +guojieba.com +guojimami.com +guojing-tech.com +guojixuexiao.org +guojixumu.com +guojj.com +guojucloud.com +guojusoft.com +guokr.com +guokr.io +guokr.net +guoku.com +guolaiwanba.com +guoli.com +guoliangjie.com +guolianglab.org +guolier.com +guolin.tech +guoluonews.com +guolv.com +guomai.cc +guomii.com +guomu.com +guopc.com +guopeiwang.com +guopi8.com +guopika.com +guoping123.com +guoqinwang.com +guorentao.com +guorongfei.com +guoruiinfo.com +guoruijx.com +guoshi.com +guoshudq.com +guotv.com +guowaidiaocha.com +guowaitianqi.com +guowenku.com +guoxingjun.com +guoxinqh.com +guoxue.com +guoxue123.com +guoxuemeng.com +guoxuemi.com +guoxuwang.com +guoyang.cc +guoyanni.com +guoyi360.com +guoyice.com +guoyitangtt.com +guoyu.com +guozaoke.com +guozh.net +guozhihua.net +guozhivip.com +guozhiyouq.com +guozhongxin.com +guozi.org +guoziyx.com +gupaoedu.com +gupei.com +gupen.com +gupiao111.com +gupiao135.com +gupiao3.com +gupiao8.com +gupiaowajue.com +gupiaozhidao.com +gupowang.com +gupt.net +gupuu.com +guqiankun.com +guqiu.com +guqu.net +gurudigger.com +gurukeji.com +gush88.com +gushequ.com +gushfx.com +gushi.ci +gushi.com +gushicimingju.com +gushidaquan.cc +gushiju.net +gushimi.org +gushufang.com +gusiyuan.com +gusuwang.com +gutianfood.com +gutou.com +gutouwang.net +guwan.com +guweimin.com +guwenxs.com +guwu121.com +guxunw.com +guyouzhan.com +guyuenglish.com +guyungame.com +guzaosf.com +guzhangting.com +guzhifengds.com +guziyy.com +gvacdn.com +gvi-tech.com +gvlocalization.com +gw-dv.net +gw-ec.com +gw2field.com +gw2sc.com +gw8888.com +gwamcc.com +gwapi.net +gwauto.com +gwclouds.net +gwdang.com +gweike.com +gwell.cc +gwidc.com +gwj-test.com +gwm-global.com +gwmfc.com +gwmsoft.com +gwname.com +gworg.com +gwoversea.com +gwyoo.com +gwyou.com +gwypxw.com +gwyzk.com +gwzwfw.com +gx-newmedia.com +gx34.com +gx8899.com +gxaedu.com +gxaj.com +gxar.com +gxb.io +gxb2b.net +gxbaidutg.com +gxbf.net +gxbys.com +gxbyw.com +gxc-coin.com +gxcards.com +gxcic.net +gxdahua.com +gxdianhua.com +gxdmw.com +gxehiil.bar +gxeqx.com +gxfdcw.com +gxfin.com +gxfxwh.com +gxganju.com +gxgkcat.com +gxgzlm.com +gxhl.com +gxhma.com +gxhouse.com +gxhzxw.com +gxiang.net +gxiang.org +gxibvc.net +gxicpa.com +gxidc.com +gxind.com +gxjgdj.com +gxjtaq.com +gxjznet.com +gxkjbg.com +gxkjdns.com +gxkjec.com +gxkjjt.com +gxlcms.com +gxlxs2008.net +gxmenjin.com +gxmlyjy.com +gxmmkt.com +gxnas.com +gxnnxmhb.com +gxp.cc +gxpfyy.com +gxqcw.com +gxqs.org +gxrc.com +gxsell.com +gxshuairun.com +gxskm.com +gxsky.com +gxtodo.com +gxtstatic.com +gxw98.com +gxwmcu.com +gxwsxx.com +gxxgle.com +gxxiaotutu.com +gxxmyjs.com +gxycwy.com +gxylxtc.com +gxyxlx.com +gxzjy.com +gxzmrl.com +gxzpw.org +gy-center.net +gy-fuji.com +gy.com +gy7n.com +gy818.com +gyb086.com +gycode.com +gydongli.com +gyersf.com +gyguohua.com +gyhj.org +gyip.net +gyljc.com +gymama.com +gymbo-online.com +gymsj.com +gyncb.net +gynsh.net +gypserver.com +gyqcw.com +gyr.cc +gysk.com +gysou.com +gysq.org +gystatic.com +gytcwb.com +gytsg.net +gytsjk.com +gytsm.com +gyuancdn.com +gywlwh.com +gywygl.com +gyxdkjdl.com +gyxuan.com +gyypw.com +gyyqcloud.com +gyzfbz.net +gyzy.com +gyzyfw.com +gz-cmc.com +gz-cube.com +gz-data.com +gz-gz.com +gz-lodihair.com +gz-notary.com +gz-station.com +gz-tylx.com +gz007.net +gz121.com +gz12301.com +gz300.com +gz360.com +gz4399.com +gz4u.net +gz5.com +gz528.com +gz85.com +gz91.com +gz9d.com +gzasiatech.net +gzasp.net +gzate.com +gzaune.com +gzbaibian.net +gzbaozhilin.com +gzbio.net +gzbmw.com +gzbzsport.com +gzchupai.com +gzcl999.com +gzcn.net +gzcppa.com +gzcycling.com +gzdai.com +gzdaily.com +gzdata.net +gzdayang.com +gzdbx.com +gzdingyu.com +gzdinuan.com +gzdsw.com +gzdysx.com +gzenxx.com +gzesap.com +gzexpo.com +gzfilm.com +gzfsnet.com +gzfxkwl.com +gzgc120.com +gzgdwl.com +gzguard12th.com +gzgxkj.com +gzhakj.com +gzhangcha.com +gzhaoxiang.net +gzhatao.com +gzhc365.com +gzhdcs.com +gzhhr.com +gzhifi.com +gzhphb.com +gzhshoulu.wang +gzhtg.com +gzhtinfo.com +gzhuake.cc +gzhxpw.com +gzhzcj.com +gzhzgwyw.com +gzidc.com +gzif.net +gzittc.net +gzj568.com +gzjingsha.com +gzjisikj.com +gzjkzzp.com +gzjpad.com +gzjqd.com +gzjtjx.com +gzjtjy.com +gzjunyu.com +gzjuqi.com +gzjykj.com +gzjzc.com +gzkz88.com +gzlingli.com +gzlujiao.com +gzlz307.com +gzlzfm.com +gzmama.com +gzmath.com +gzmediaclick.com +gzmiyuan.com +gzmjhzs.com +gzmri.com +gzmtr.com +gzmxol.com +gzncstudios.com +gznemo.com +gznet.com +gzngn.com +gznote.com +gznxbank.com +gzpeite.com +gzpinda.com +gzpma.com +gzprobig.com +gzpts.com +gzpy120.net +gzqbd.com +gzqiche.com +gzqunsheng.com +gzqwkj.com +gzqxxz.net +gzrishun.com +gzrmw.com +gzrobot.com +gzrobots.com +gzrsa.com +gzshandi.com +gzshangshan.net +gzshujuhui.com +gzsjyzx.com +gzsjzx.com +gzsmove.com +gzspeedtest.com +gzstv.com +gzsuiti.com +gzsums.net +gzsww.com +gzsy06.com +gzsy07.com +gzszgas.com +gzszk.com +gztaiyou.com +gztcdj.com +gztfgame.com +gzthrc.com +gztopkt.com +gztour.org +gztv.com +gztwkadokawa.com +gztxedu.com +gztz120.com +gzuc.net +gzuni.com +gzw.net +gzwanbao.com +gzwangshang.com +gzwarriortech.com +gzwcds.com +gzwcjs.com +gzweicai.com +gzweix.com +gzwot.com +gzwrit.com +gzxdf.com +gzxf35.com +gzxftz.com +gzxhdyc.com +gzxiaopeng.com +gzxict.com +gzxidu.com +gzxjzc.com +gzxszf.com +gzxulang.com +gzxwtjy.com +gzycdy.com +gzyct.com +gzyeah.com +gzyitop.com +gzyouai.com +gzysbpay.com +gzyszy.com +gzyucai.com +gzzbgs.com +gzzg.org +gzzhitu.com +gzzkzsw.com +gzzlfw.com +gzzlgame.com +gzzoc.com +gzzongsi.com +gzzoo.com +gzzqy.net +gzzswy.com +gzzsxxw.com +gzzy04.com +gzzy05.com +h-college.com +h-five.com +h-heguo.com +h-sea.net +h-shgroup.com +h-ui.net +h-world.com +h-zl.net +h0591.com +h0758.net +h0f.me +h1bz.com +h231.com +h2ero.com +h2ex.com +h2os.com +h2vm.com +h3c.com +h3c.com.hk +h3dns.net +h3ue2s.com +h3yun.com +h4.cc +h41s.com +h4399.com +h4kdxs.com +h5-share.com +h5-x.com +h5.net +h5120.com +h51h.com +h55u.com +h5abc.com +h5aiwan.com +h5anli.com +h5app.com +h5avu.com +h5ay.com +h5data.com +h5ds.com +h5eco.com +h5gamecdn.club +h5in.net +h5jun.com +h5king.com +h5ky.com +h5le.com +h5mc.com +h5mgd.com +h5mota.com +h5mugeda.com +h5no1.com +h5po.com +h5shuo.com +h5tpl.com +h5uc.com +h5war.com +h5youxi.com +h5yunban.com +h6295.com +h6688.com +h6969.com +h6app.com +h7ec.com +h8jx.com +ha97.com +haawking.com +habadog.com +habbygames.com +hac-ker.net +hack-gov.com +hack0nair.me +hack50.com +hack520.com +hackav.com +hackcn.net +hackdig.com +hackerav.com +hackernews.cc +hackertalk.net +hackhome.com +hackhp.com +hackhw.com +hacking-linux.com +hacking8.com +hackline.net +hacknical.com +hackp.com +hackpascal.net +hackrf.net +hackroad.com +hacori.com +hacpai.com +haczjob.com +hadax.com +hadobi.com +hadsky.com +hadyang.com +haers.com +haguan.com +haguotu.com +haguworld.com +haha168.com +haha33.com +haha360.com +haha365.com +haha9911.com +hahack.com +hahadiaoyu.com +hahaha365.com +hahait.com +hahasou.com +hahawen.com +hahayouxi.com +hahour.com +hahtlyy.com +hai0.com +haiana.com +haianbank.com +haianedu.net +haianw.com +haibao.com +haibaobaoxian.com +haibaoyl.com +haibaoyouxi.com +haibeinews.com +haibian.com +haibog.com +haiboinvest.com +haiboyi.com +haicent.com +haichufang.com +haici.com +haicj.com +haidaibao.com +haidaoteam.com +haidaotrip.com +haidaozhu.com +haidii.com +haidilao.com +haidilao.net +haidilao.us +haidimao.com +haidubooks.com +haier.com +haier.hk +haier.net +haiershequ.com +haierubic.com +haieruplus.com +haifangbest.com +haige.com +haigeek.com +haigui001.com +haiguime.com +haijia.org +haijiangzx.com +haijiaonet.com +haijincang.com +haijingfang.cc +haiketrip.com +hailiangedu.com +hailiangip.com +haililiang.com +hailingke.com +hailinzeng.com +hailiys.com +hailuowu.com +haima.me +haima001.com +haimacloud.com +haimawan.com +haimayisheng.com +haimazhuang.com +haimi.com +haimii.com +haiming-cn.com +haimini.com +haina.com +hainachuan.org +hainan.com +hainan.net +hainanairlines.com +hainancom.com +hainancp.com +hainandj.com +hainanfp.com +hainanfz.com +hainanjiuzi.com +hainanparadise.com +hainanpc.net +hainic.com +haining.cc +haining.tv +hainingnews.net +hainiubl.com +hainiuxy.com +hainuotech.com +haiqingyanyu.com +haiqisoft.com +haiqq.com +hair8.net +hairbobo.com +hairunmedia.com +hairunpictures.com +haisapan.com +haisenyouxi8.com +haisheninfo.com +haisheteam.com +haishisheji.com +haishui.cc +haitaibrowser.com +haitaichina.com +haitao.co +haitao.com +haitao369.com +haitao8.com +haitaocheng.com +haitaohou.com +haitaoing.com +haitaoit.com +haitaoj.com +haitaolab.com +haitaopd.com +haitaoqq.com +haitaotong.com +haitaozu.org +haitianhome.com +haitl.com +haitongjiaoyu.com +haitou.cc +haitou360.com +haitoujia.com +haitudy.com +haituie.com +haitum.com +haituncun.com +haitundr.com +haitunshenghuo.com +haituntui.com +haitunvoice.com +haituoqi.com +haitutech.com +haiwaimoney.com +haiwaioo.com +haiwaituiguang.com +haiwaiyou.com +haiwaiyoujia.com +haiwanli.com +haiwanxinxi.com +haiweili.com +haiwell.com +haiwen-law.com +haixiahao.com +haixianlai.net +haixice.com +haixindichan.com +haixinews.com +haixiulive.com +haixiumv.com +haixiutv.com +haixiuvv.com +haixue.com +haixunpr.org +haixunw.com +haiyi701.com +haiying168.com +haiyingshuju.com +haiyue.info +haiyuhe.com +haiyun.me +haiyunx.com +haiyusoft.com +haizhangs.com +haizhixing.net +haizhlink.com +haizhoumo.com +haizhuyx.com +haizitong.com +haizol.com +haku77.com +halade.com +halaha.com +halead.com +halffashion.com +halfrost.com +halixun.com +halloar.com +hallofix.com +hallotw.com +halomobi.com +haluoha.com +hamanw.com +hambut.com +hamir.net +han-tang.cc +han66.com +hanamichi.wiki +hanbaiji.com +hanbaoying.com +hanboshi.com +hanchao9999.com +hancloud.com +hanclouds.com +hand-china.com +handanjob.com +handanw.com +handanyz.com +handbb.com +handday.com +handdiy.com +handfunds.com +handian027.com +handone.com +handu.com +handuyishe.com +hanergy.com +hanergymobileenergy.com +hanfan.cc +hanfei.net +hanfengcars.com +hanfugong.com +hangge.com +hanghaimeng.com +hanghang666.com +hanghangcha.com +hangjiayun.com +hangkong.com +hangmiwang.com +hangomart.com +hangowa.com +hangpu-topsys.com +hanguangbaihuo.com +hanguopai.com +hanguu.com +hangxinyiqi.xin +hangye114.net +hangye365.com +hangyjx.com +hangzhiqiao.com +hangzhoufcw.com +hangzhouluohu.com +hangzhoutianqi114.com +hanhai.net +hanhaiqikan.com +hanhande.com +hanhande.net +hanhuazu.cc +hanjianbing.org +hanjiaying.com +hanjie.biz +hanjjl.com +hanju-tv.org +hanjucc.com +hanjudao.com +hanjutiantang.com +hanjutv.com +hanjutvaa.com +hankeer.org +hankewins.com +hanking.com +hankunlaw.com +hanlefang.net +hanlei.org +hanmadiancan.com +hanmaker.com +hanmanapp.com +hanmanzj.co +hanmanzj.org +hanmeilin.com +hanmi520.com +hannor.com +hanqiweb.co +hanqiweb.com +hanqiweb.net +hanqiweb.red +hanshijiaoye.com +hanshow.com +hanshuliang.com +hansight.com +hansiji.com +hansme.com +hanspub.org +hansrobot.com +hansuku.com +hantang59.com +hantangrx.com +hantangxintong.com +hanterry.com +hantinghotels.com +hanvitools.com +hanvon.com +hanvonmfrs.com +hanvontouch.com +hanweb.com +hanweimetal.com +hanxinbank.com +hanxinsheng.com +hanyanseed.com +hanyi.studio +hanyingtv.com +hanyou.com +hanyouwang.com +hanyucar.com +hanyuehui.site +hanyurumen.com +hanzgrp.com +hanzhifeng.com +hanzhong123.com +hanzify.org +hanzufang.com +hao-sheng-yi.com +hao.ac +hao.wang +hao007.net +hao0202.com +hao120.cc +hao123-hao123.com +hao123.com +hao123.com.sg +hao123img.com +hao1258.com +hao163.com +hao168.cc +hao181.com +hao184.com +hao1970.com +hao1996.com +hao1cm.com +hao22.com +hao222.com +hao224.com +hao24.com +hao245.com +hao268.com +hao315.cc +hao315.com +hao315.tv +hao3399.com +hao352.com +hao360.com +hao378.com +hao394.com +hao568.com +hao6.com +hao61.net +hao661.com +hao695.com +hao7188.com +hao753.com +hao76.com +hao86.com +hao8dai.com +hao9669.com +hao974.com +haoad.org +haoamc.com +haoayi.xyz +haobanyi.com +haobiaoke.com +haobtc.com +haocai.com +haocai1688.com +haocai777.com +haochang.tv +haochangyou.com +haocheedai.com +haochi123.com +haochu.com +haodaibao.com +haodanku.com +haodaquan.com +haodeplus.com +haodevps.com +haodewap.com +haodf.com +haodf.org +haodiany.com +haodiaoyu.com +haodingdan.com +haodiy.net +haodns123.cc +haodns999.cc +haodongdong.com +haodou.com +haoduofangs.com +haoduojiaju.com +haoduorou.net +haoest.com +haofajz.com +haofanben.com +haofang.net +haofang365.com +haofang5.com +haofangkankan.com +haofaxing.com +haofenxiao.net +haofly.net +haofz.com +haoge500.com +haogj8.com +haogongzhang.com +haogoshop.com +haogow.com +haogu114.com +haohaizi.com +haohan-data.com +haohanfw.com +haohanguo.com +haohanseo.com +haohaotuan.com +haohaowan.com +haohaoxiu.com +haohaoyx.com +haohaozhu.com +haohaozhu.me +haohead.com +haohiyou.com +haohongfan.com +haoht123.com +haohtml.com +haohuan.com +haohuoa.com +haoii123.com +haoinvest.com +haoiyon.com +haoiyong.com +haoji.me +haojiameng.net +haojiaolian.com +haojiaolian.org +haojing.org +haoju55.com +haojue.com +haojue163.com +haokan123.com +haokan5.com +haokan58.com +haokanbu.com +haokanzhan.com +haokecheng.com +haokejie.com +haokongbu1.com +haokoo.com +haoku.net +haolangtech.com +haolawyer.com +haole.com +haolexiang.com +haolezen.com +haolietou.com +haoliners.net +haolints.com +haoliv.com +haolizi.net +haolvlv.com +haolyy.com +haomagujia.com +haomaimrm.com +haomaishou.com +haomaiyi.com +haomaku.com +haomee.net +haomeili.net +haomijie.com +haomingr.com +haommn.com +haomove.com +haomugua.com +haonames.com +haonic.com +haonongzi.com +haopeixun.com +haopianyi.com +haopinku.com +haoq.tv +haoqiao.com +haoqicat.com +haoqikan.com +haoqixingstem.com +haoqq.com +haoqtv.com +haoquandudu.com +haorc.com +haoread.com +haorencai.net +haorendao.com +haorenka.me +haorooms.com +haoseals.com +haosenchina.com +haoservice.com +haosf.com +haosf5.com +haoshanpu.com +haoshanxi.com +haoshengla.com +haoshengmall.com +haoshenqi.com +haoshetou.net +haoshici.com +haoshipin123.com +haoshiqi.net +haoshsh.com +haoshunjx.com +haoshuo.com +haosijia.com +haosijia.vip +haosix.com +haosou.com +haostay.com +haotb.com +haote.com +haotehui.com +haotianhuyu.com +haotihui.com +haotijin.com +haotoufa.com +haotougao.com +haotougu.com +haotu.net +haotui.com +haotukankan.com +haotxt.com +haouc.com +haowa.com +haowaicaijing.com +haowandeni.com +haowanyou.com +haoweiguang.me +haoweishow.com +haowen100.com +haoword.com +haowu.com +haowu.info +haowu.link +haowui.com +haowuyunji.com +haowuyx.com +haoxg.net +haoxiake.com +haoxiang.org +haoxiaoguo.net +haoxipu.com +haoxitong.com +haoxiyou.com +haoxue.com +haoxuetang99.com +haoxxwang.com +haoxyx.com +haoyangmao8.com +haoyao.com +haoychuang.com +haoyhq.com +haoyisheng.com +haoyishui.com +haoyong.cc +haoyongapp.com +haoyouqian.com +haoyouyinxiang.com +haoyu.love +haoyuanxiao.com +haoyun13.com +haoyun56.com +haoyunbb.com +haoyunma.com +haoyunmom.com +haoyy168.com +haozai120.com +haozaishop.com +haozhai.com +haozhanhui.com +haozhebao.com +haozhegai.com +haozhexie.com +haozhuangji.com +haozhuodao.com +haozi.org +haozi.xyz +haozip.com +haozjj.com +haozu.com +haozuojia.com +hapi123.net +hapimall.com +hapingapp.com +hapiweb.com +haplat.net +happigo.com +happy24uk.com +happycamp.cc +happycaoyue.com +happychang.net +happycodeboy.com +happyelements.com +happyev.com +happyjuzi.com +happylivelife.com +happymath2009.org +happymmall.com +happynear.wang +happyphonewoods.com +happypingpang.com +happyplaygame.net +happyroll.net +happysky.org +happytrave.com +happyux.com +happywalk.net +happyya.com +hapying.com +haqu.com +harbin-electric.com +harborhousehome.com +hardkr.com +hardspell.com +hareric.com +harlanc.vip +harmay.com +harmight.com +harmony3.com +harmony4s.com +harmonyos.com +haroldrandom.me +harrynull.tech +harrypottermagicawakened.com +harvestcm.com +harvestpawn.com +hasea.com +hasee.com +hasee.net +hashcoding.net +hashfish.net +hashnest.com +hasndq.com +hasoltd.com +hassbian.com +hat358.com +hatdot.com +hatfav.com +hatlonely.com +hatm.vip +hatoem.com +haval-global.com +have.ink +havefun.im +hawbel.com +hax18.com +haxiu.com +haxwx.cc +hayeen.com +hayseen.com +hazq.com +hb-green.com +hb-hengda.com +hb-ly.com +hb-ws.com +hb-wtw.com +hb-zikao.com +hb10000.com +hb10000sale.com +hb114.cc +hb12333.com +hb189.cc +hb189.mobi +hb30.com +hb3rm.com +hb6.org +hb96568.com +hbadei.com +hbanbao.com +hbap.net +hbbaidu.com +hbbidding.com +hbbsw.vip +hbbutler.com +hbbxpx.com +hbbzyys.org +hbcccm.com +hbccp.org +hbccpit.org +hbcdc.com +hbcg.cc +hbchen.com +hbciqtc.com +hbcjaq.com +hbcjh.net +hbcjlq.com +hbcjw.com +hbcjxx.com +hbcms.com +hbcofco.com +hbcourt.org +hbcsche.com +hbcszb.com +hbctjk.com +hbcyclub.com +hbdangyang.com +hbddrn.com +hbdfdh.com +hbdmia.com +hbdns.org +hbdthy.com +hbdtjqj.com +hbdzcg.com +hbecsc.com +hbeducloud.com +hbekt.com +hbepec.com +hbez.net +hbezzx.com +hbfie.org +hbfire.com +hbfnnyw.com +hbfootball.com +hbfy.com +hbfyhb.com +hbfzb.com +hbgajg.com +hbgdwl.com +hbglky.com +hbgonglue.com +hbgrb.net +hbgsetc.com +hbguanwei.com +hbgwy.org +hbgzh.com +hbha027.com +hbhande.com +hbhaolinju.com +hbhaoyi.com +hbhcdn.com +hbhdhd.com +hbhm.net +hbhtcm.com +hbhtxx.com +hbhxbb.com +hbhxqq.com +hbhxrff.com +hbhyychem.com +hbhz.net +hbicpa.org +hbidc.net +hbifeng.com +hbinitiate.com +hbjcgy.com +hbjdxt.com +hbjfscc.com +hbjhc.com +hbjhpx.com +hbjhyh.com +hbjianzhuwang.com +hbjimin.com +hbjinnong.com +hbjjrb.com +hbjk114.com +hbjkjt.com +hbjlhw.com +hbjsinfo.com +hbjubao.com +hbjxjy.org +hbjxjyw.com +hbjxym.com +hbjz12333.com +hbjzx.com +hbjzzx.com +hbkqw.com +hbksw.com +hbky.com +hbla.net +hblady.com +hblccy.com +hbliti.com +hblszq.com +hbltzb.com +hblykj.com +hbm360.com +hbmes.com +hbmmtt.com +hbnews.net +hbnewsoft.com +hbneww.com +hbooker.com +hbousite.com +hbpangu.net +hbpengxi.com +hbpic5.com +hbpictures.com +hbprjx.com +hbptzsbw.com +hbpukang.com +hbpygt.com +hbqnb.com +hbqnxy.com +hbqtgg.com +hbqyj.org +hbqyxy.com +hbrbmedia.com +hbrc.com +hbrcgd.com +hbrchina.org +hbrchinese.org +hbrd.net +hbrebond.com +hbrfxh.com +hbrjcspx.com +hbrqygr.com +hbruicai.com +hbryzx.net +hbrzkj.com +hbs-nd.com +hbsccloud.com +hbsdenterprise.com +hbsem.com +hbseo.com +hbsfgk.org +hbshbsh.com +hbshengbangwl.com +hbshgzx.com +hbshls.com +hbsia.org +hbskw.com +hbslncy.com +hbslndx.com +hbsmservice.com +hbsmw.com +hbsocar.com +hbsoft.net +hbsogdjt.com +hbspcar.com +hbsql.com +hbssfw.com +hbssspot.com +hbsszx.com +hbstars.com +hbsti.com +hbsunlink.com +hbswkj.com +hbsydw.org +hbszfw.com +hbsztv.com +hbszzd158.com +hbszzdlssz.com +hbszzk.com +hbszzx.com +hbtcmu.com +hbtcw.com +hbtengniu.com +hbtobacco.com +hbtxbaidu.com +hbtybio.com +hbtycp.com +hbwh.net +hbwhgs.com +hbwhjj.com +hbwhrd.org +hbwjs.com +hbwlyh.com +hbww.org +hbxdf.com +hbxhxkj.com +hbxiyuan.com +hbxtzy.com +hbxyairport.com +hbxytc.com +hbyczk.com +hbyeson.com +hbyidu.com +hbyjfs.com +hbynet.net +hbyoyo.com +hbyspx.com +hbzaxh.com +hbzbw.com +hbzgjx.com +hbzhan.com +hbzhjxzz.com +hbzhonghai.com +hbzjzb.com +hbzknet.com +hbzkw.com +hbzkzx.com +hbzkzxw.com +hbzncz.com +hbzqzx.com +hbzsb.com +hbzuojia.com +hbzxtyq.com +hbzywh.com +hc-byq.com +hc-cdn.com +hc-software.com +hc01.com +hc121.com +hc23.com +hc360-inc.com +hc360.com +hc39.com +hc79.com +hc9.com +hcbbs.com +hcbus.com +hcbuy.com +hcc11.com +hccpcba.com +hcdamai.com +hcdyhr.com +hcgroup.com +hch518.com +hchbblg.com +hchezhu.com +hchlidc.com +hcicloud.com +hcjsk120.com +hcl100.com +hcmiraefund.com +hcocoa.com +hcpzdm.com +hcrjy.com +hcshebao.com +hcsilk.com +hcsindex.org +hcsip.com +hcstzz.com +hctxf.org +hcty.com +hcw.so +hcwiki.com +hcx123.com +hcx99.com +hcxcw.com +hcxy6.com +hcyacg.com +hczc.com +hczhifu.com +hczxmr.com +hczypay.com +hd-tvb.com +hd.gg +hd00.com +hd027.com +hd123.com +hd123.net +hd12333.com +hd199.com +hd199.net +hd288.com +hd3p.com +hd88599.com +hdavchina.com +hdb.com +hdbaichuan.com +hdchd.cc +hdcolorant.com +hdd-group.com +hddhhn.com +hddid.com +hddznet.com +hdem12.com +hdfimg.com +hdgogogo.com +hdh.im +hdhgzx.com +hdhospital.com +hdhui.com +hdingsheng.com +hdj.me +hdjay.com +hdjwww.com +hdlcdns.com +hdlchina.com +hdletv.com +hdlogo.com +hdltest.com +hdmayi.com +hdmnw.com +hdmooncake.com +hdmtv168.com +hdmv.org +hdpfans.com +hdpyqa.com +hdpyqc.com +hdpyqd.com +hdscg.com +hdsdyyy.com +hdslb.com +hdslb.net +hdsx36hb.com +hdsx39hb.com +hdtgtm.com +hdtmedia.com +hduofen.com +hdurl.me +hduzplus.xyz +hdwbsaas.com +hdyouxi.com +hdypw.com +hdzp.com +hdzxyy.com +he-nan.com +he-one.com +he11oworld.com +he1j.com +he2d.com +he9630.com +heacn.net +head-way.com +headns.com +headphoneclub.com +healthcareol.net +healthjd.com +healthr.com +healthych.com +healthyun.com +hearstchina.com +heart-game.com +heartide.com +heartinsti.com +hebangdianzi.com +hebaodai.com +hebbank.com +hebbr.com +hebca.com +hebcar.com +hebchkj.com +hebcsr.org +hebdh.com +hebei.cm +hebeidns.com +hebeifeimeng.com +hebeigwy.org +hebeijd.com +hebeinongzi.com +hebeisy.com +hebeiyichen.com +hebeizhouji.com +hebgtjt.com +hebiw.com +hebjxw.com +hebl.name +hebmusic.com +hebnx.com +hebolaw.com +hebotc.com +hebradio.com +hebsg.net +hebshanggu.com +hebtv.com +hebxtjx.com +hec-al.com +hec-changjiang.com +hecai360.com +hecaijing.com +hecdn.com +hecdn.net +hechaku.com +hechangquan.com +hechengbb.com +heclouds.com +heconns.com +hecpharm.com +hedaotang.net +hedgehogrock.com +heduibu.com +heduwang.com +heeeeeh.com +heerit.com +hefei.cc +hefeizp.com +hegii.com +hegouvip.com +hegsryjq.com +heheba.com +hehesheng.com +heheshouyou.com +hehesy.com +hehewan.com +hehouse.com +hei7.net +heibai.org +heibaimanhua.com +heicha.com +heicheng51.com +heidiankeji.com +heigaga.com +heiguang.com +heiguang.net +heijiao.net +heijiazi.com +heijin.org +heikexs.com +heilanhome.com +heilaot.com +heilei.com +heilqt.com +heiluo.com +heima.com +heima8.com +heimabao.com +heimac.net +heimacode.com +heimadao.com +heimadata.com +heimai666.com +heimajijin.com +heimancc.com +heimaol.com +heimaoseo.org +heimaoseojishu.com +heimaoshe.com +heimayijiancai.com +heimaying.com +heimeiai.com +heimeng.net +heimizhou.com +heiniubao.com +heinote.com +heirenlei.com +heisener.com +heisha.net +heishao.net +heishenhua.com +heisiwang.com +heitao.com +heitao.me +heitao2014.com +heixi.com +heiyaheiya.com +heiyan.com +heiyan.la +heiyan.org +heiyange.com +heiyanimg.com +heiyanwang.com +heiying.cc +heiyuewan.com +heiyunxitong.com +heizhushoes.com +heizuan.com +hejiajinrong.com +hejies.com +hejinchuitou.net +hejiu2016.com +hejizhan.com +hejun.com +heketai.com +hekouxin.com +heku.org +hel168.com +helensbar.com +helianhealth.com +helight.info +helijia.com +helingqi.com +helishi.net +helishun.com +heliuyan.com +heliweb.net +hello-code.com +hello-inc.com +hello-mom.com +hello1010.com +hellobanma.com +hellobi.com +hellobike.com +hellobiye.com +hellobtc.com +hellocq.net +hellodive.com +hellof1.com +helloflask.com +hellogame.net +hellogithub.com +hellogslb.com +hellohuohu.com +helloimg.com +hellojava.com +hellokang.net +hellokid.com +hellokidvip.com +hellomeowlab.com +hellonitrack.com +helloradio.org +hellorf.com +hellotalk8.com +hellotw.com +helloweba.com +helloweba.net +hellowebfont.com +helloyao.com +helong.info +help-hope.org +helperaddress.com +helplib.com +helpmeng.com +helpton.com +heluowenhua.net +hemabt.com +hemadaili.com +hemajy.com +hemamax.com +hemaos.com +hemayouxi.com +hemayun.com +hemayx.com +hempelgroup.com +hen360.com +henan100.com +henanart.com +henanfucai.com +henangeli.com +henanjianling.com +henanjubao.com +henanlvyi.com +henanpige.com +henansenli.com +henanyouth.com +henbt.com +hencin.com +hencoder.com +hengancaifu.com +hengannet.com +hengbogroup.com +hengcaotang.com +hengchang6.com +hengdayun.com +hengdianfilm.com +hengdianworld.com +hengdongli.com +hengdu.cc +hengdulaw.com +hengfujz.com +hengjiafish.net +hengqian.com +hengqijy.com +hengqikuaiji.com +hengshenggongyi.net +hengshuilaobaigan.net +hengtai-law.com +hengtiansoft.com +hengtianyun.com +hengwenzhendangqi.com +hengxiangtaji.com +hengxinjinshu.com +hengyan.com +hengyer.com +hengyidai.com +hengyoux.com +henhaoji.com +henjay724.com +henkuai.com +henmimang.com +henri.ren +henxisoft.com +henzan.com +henzanapp.com +hepalink.com +hepan.com +hepan.org +hepawang.com +hepmall.com +hepost.com +hequnshebei.com +hercity.com +hercules-micro.com +herdsric.com +here120.com +hereisdownload.com +hermesguanwang.com +heroad-data.com +heroestactics.com +heroicyang.com +herosanctuary.com +heroskate.com +herostart.com +herowind.com +heroworld.net +hertzhu.com +heshui.com +hetao101.com +hetaoa.com +hetaoapis.com +hetaobiancheng.com +hetaocdn.com +hetaointernal.com +hetaolin.com +hetianyu.cc +hetusoft.com +heu8.com +heweather.com +heweather.net +hewebgl.com +hewei.in +hexagonsemi.com +hexianrc.com +hexiaoxiang.com +hexicomtech.com +hexie168.com +hexilai.com +hexindai.com +hexinli.org +hexmeet.com +hexun.com +heyang.cc +heyang365.com +heycan.com +heycode.com +heydayinfo.com +heygugu.com +heyguo.com +heyi.com +heyinguanli.com +heymore.com +heyou51.com +heyplus.com +heyreport.com +heyria.com +heytap.com +heytapcs.com +heytapdownload.com +heytapimage.com +heytapmobi.com +heytea.com +heyuan5.com +heyuyhw.com +heywoodsminiprogram.com +heywow.net +hez70.com +heze.cc +hezebus.com +hezeribao.com +hezhenzi.com +hezhonglaw.com +hezhoubbs.com +hezi.com +hezibook.com +hezibuluo.com +hezxs.com +hf-dhj.com +hf-iflysse.com +hf10000.com +hf12345.vip +hf365.com +hf777.com +hfbaogao.com +hfbeta.com +hfbz.com +hfchzyy120.com +hfcyh.com +hffund.com +hfgjj.com +hfhcl.com +hfhouse.com +hfhyw.com +hfi-health.com +hfjy.com +hfkeheng.com +hfkj0754.com +hfkktt.com +hflwy.com +hflz.com +hfmama.com +hfmckj.com +hfmoney.com +hfqzdz.com +hfray.com +hfrc.net +hfrcbc.com +hfrqh.com +hfrsggff.com +hfsava.com +hfsid.com +hfssw.com +hfswcz.com +hftfund.com +hftogo.com +hftycj.com +hfwx.net +hfx.link +hfx.net +hfyestar.com +hfyjgg.com +hfykd.com +hfyouqi.com +hfyt365.com +hg-daigou.com +hg-z.com +hg12333.com +hg1946.vip +hg28a7.com +hg32x.com +hg5177.com +hg5677.org +hg58.pw +hg6262.biz +hg67822.com +hg707.com +hg7799.net +hg87.com +hg8880.org +hga833.cc +hga994.com +hgaas.com +hgame.com +hgbang.com +hgcyh.com +hgdgcxy.com +hgdjw.net +hgfdcscxx.com +hgfdrf.com +hghhh.com +hgimage.com +hgitv.com +hgjart.com +hgjt.net +hgjx.com +hglaser.com +hgmai.com +hgmhu.com +hgmmav.com +hgnc.net +hgvip804.com +hgy413.com +hgyjs.com +hgyx.cc +hgzdq.com +hgzk.com +hgzkb.com +hgzrc.com +hh-gltd.com +hh010.com +hh04.com +hh1488.com +hhailuo.com +hhbg123.com +hhcmjt.com +hhcn.com +hhczy.com +hhdx120.com +hhfbqzgs.com +hhfg.org +hhfxw.com +hhgslb.com +hhh233.net +hhh885.com +hhhai.com +hhhoo.com +hhhstz.com +hhhtnews.com +hhhtscf.com +hhjtwl.com +hhl1916.com +hhmm0.com +hhpj.net +hhrcard.com +hhrdc.com +hhrhl.vip +hhrtu.com +hhtravel.com +hhvv.com +hhxdkj.com +hhxin.com +hhycdai.com +hhycdk.com +hhygame.com +hhygames.com +hhyungu.com +hi-54.com +hi-books.com +hi-gtd.com +hi-lead.com +hi-linux.com +hi-roy.com +hi-spider.com +hi0755.net +hi138.com +hi1718.com +hi2000.com +hi2000.net +hi8090.com +hiapk.com +hiavr.com +hibea.com +hibixin.com +hibt.net +hibtc.org +hibuzz.net +hiby.com +hibymusic.com +hic.cloud +hicamelia.com +hicat.net +hicdma.com +hiceon.com +hichao.com +hichina.com +hicling.com +hicloud.com +hiconey.com +hicoo.net +hicosmo.com +hicp.net +hicss.net +hiczp.com +hidesigncloud.com +hideystudio.com +hiditie.com +hidna.net +hidva.com +hienshi.com +hiersun-hdp.com +hiersun-ido.com +hiersun-zuanjindian.com +hiesquire.com +hifi168.com +hificat.com +hifidiy.net +hififf.com +hifime.net +hifini.com +hifiok.com +hifishes.com +hifishuo.com +hifiveai.com +hifly.mobi +hifly.tv +hifmcloud.com +hifpga.com +hifreud.com +hifuntv.com +higame123.com +higeshi.com +highdigitizing.com +highgg.com +highgo.com +highlightoptics.com +highlm.com +highsharp.com +hightopo.com +highwayguitar.com +higon.com +higrid.net +hihell.com +hihocoder.com +hihonor.com +hihope.org +hiido.com +hiigame.net +hiimii.com +hiing.net +hijiaoshi.com +hijoys.com +hikailink.com +hikcreate.com +hiklife.com +hikoon.com +hikops.com +hikparking.com +hikrobotics.com +hikstor.com +hikvision-jl.com +hikvision.com +hikyun.com +hilarryxu.com +hiliad.com +hilistentome.com +hillstonenet.com +hillyton.com +hiloong.com +hilunwen.com +himaker.com +himawari-japan.com +himeidian.com +himengyou.com +himigame.com +himiku.com +himofi.com +himovie.net +himy2.com +hinabian.com +hinavi.net +hindlish.com +hinew8.com +hinpy.com +hiopensource.com +hioug.com +hioyun.com +hiparking.com +hipcam.net +hiphop8.com +hipiao.com +hippoanimation.com +hippter.com +hipring.net +hipu.com +hiram.wang +hirede.com +hiregistry.com +hireye.com +hiroop.com +hirosspac.com +hirossz.com +his.sh +hiscene.com +hisense-home.com +hisense-plaza.com +hisense-syxs.com +hisense.com +hisensehitachi.com +hisensesmarthome.com +hishendeng.com +hisilicon.com +hisiphp.com +hislota.com +hismarttv.com +hisoft.com +hisofts.com +hisonracking.com +hisports.com +histarter.com +histriver.com +hisupplier.com +hit180.com +hitachi-helc.com +hitalk.com +hitalkers.com +hitevision-solution.com +hitfmfans.com +hitgk.com +hitnology.com +hitokoto.us +hitouch.com +hitsword.org +hitui.com +hitutu.com +hitux.com +hituyu.com +hitv.com +hiuo08jnsoo00bytu32shcs555aa1564dvfguiio0o0885432.com +hivecn.net +hiveview.com +hivi.com +hivictor.net +hiwafer.com +hiwbb.com +hiwebgl.com +hiwechats.com +hiwemeet.com +hiwenku.com +hiwifi.com +hiworld.com +hixgo.com +hixianchang.com +hixiaoman.com +hiyd.com +hiyongche.com +hiyouib.com +hiyouqu.com +hizg.org +hizhu.com +hizip.net +hizj.net +hizuan.net +hizyw.com +hj-mail.com +hj.vc +hj776.com +hjagent.com +hjapi.com +hjbbs.com +hjbxw.com +hjchee.com +hjcjifen.com +hjclass.com +hjd123.com +hjdict.com +hjdns.com +hjdns.net +hjdzn.com +hjenglish.com +hjgcd.com +hjgjmy.com +hjhanjy.com +hjhrcloud.com +hjiesuan.com +hjjg.com +hjjh.com +hjjs.org +hjkhjkl.com +hjmdjd.com +hjplw.com +hjpp.net +hjr-exchange.com +hjsjs.com +hjtag.com +hjwblog.com +hjwsky.com +hjwxcps.com +hjxsjx.com +hjy1314.com +hjyanxue.com +hjyedu88.com +hjygame.com +hjyl.org +hjz518.com +hk-island.hk +hk-vstart.com +hk.uy +hk5.cc +hk515.net +hkaco.com +hkance.com +hkance.xyz +hkanews.com +hkbchina.com +hkcd.com +hkcgart.com +hkcna.hk +hkcts.com +hkctshotels.com +hkctsmembers.com +hkfc.hk +hkfe.hk +hkfljt.com +hkgcr.com +hkhanji.com +hkjapp.com +hkkaoyan.com +hkklock.com +hkkuaiyixiu.com +hklego.com +hklongbang.com +hkm168.com +hkmjd.com +hkpanamie.com +hkpep.com +hkproperty.com +hkqbh.com +hkscxh.com +hkskyloyd.com +hkstv.tv +hkt4.com +hktzschool.com +hkvisa.net +hkvisen.com +hkwb.net +hkxbjt.com +hkxen.com +hkyykq.com +hkzcdn.com +hkzlcm.com +hl-brushes.com +hl95.com +hlapi.com +hlbeixiu.com +hld-marathon.com +hldbtv.com +hldgp.com +hldnews.com +hldqjx.com +hldsjsjx.com +hlej.com +hlfssh.com +hlgad.com +hlgdata.com +hlgnet.com +hlgnet.net +hlhmf.com +hlideal.com +hlj-aptech.com +hljjjb.com +hljjxrc.com +hljjytkj.com +hljnzy.net +hljpost.com +hljradio.com +hljrcc.com +hljsfjy.com +hljszjxhw.com +hljtv.com +hljucm.net +hljyestar.com +hljyqnj.com +hlkncse.com +hlmseo.com +hlnmg.com +hloong.com +hlpretty.net +hlread.com +hlsdq.com +hltcy.com +hlwidc.com +hlxsykd.com +hlxxq.com +hlxy.com +hly.com +hlybar.com +hlytec.com +hlyy.in +hlzq.com +hlzsgw.com +hm-3223.net +hm-yc.com +hm120.com +hm16888.net +hm648.com +hm86.com +hmecw.com +hmgj.com +hmh3.com +hminvestment.com +hmlan.com +hmldds.com +hmltec.com +hmnst.com +hmpic.xyz +hmplay.com +hmsce.org +hmsem.com +hmsemi.com +hmseo.net +hmskw.com +hmsxw.com +hmting.com +hmxw.com +hmyz.com +hmz.com +hmzixin.com +hmzone.com +hmzs.net +hmzx163.com +hn-pc.com +hn165.com +hn5a.com +hn96520.com +hnaccp.com +hnaee.com +hnagroup.com +hnair.com +hnair.net +hnaiya.com +hnangel.com +hnaorui.com +hnapay.com +hnayg.com +hnbaili.net +hnbits.com +hnbljy.com +hnbwsd.com +hnccpit.org +hnchuncheng.com +hncloud.com +hncourt.org +hncreate.com +hncsmjzs.com +hncsmtr.com +hncsvod.com +hndbs.com +hndca.com +hndfbg.com +hndnews.com +hndpx.com +hndtl.com +hnehome.net +hnemb.com +hnetn.com +hnfa.org +hnfapiao.com +hnfaren.com +hnfjwh.com +hnfjz.com +hnfyqmj.com +hngbjy.com +hngbw.com +hnggzy.com +hngh.org +hngican.com +hngoldcorp.com +hngou.com +hngwg.com +hngwmt.com +hngyzx.org +hnh.cc +hnhaitian.com +hnhaofang.com +hnhllv.net +hnhnled.com +hnhxxk.com +hniec.org +hniois.com +hnisca.org +hniso.net +hnisvc.com +hnjg.com +hnjing.com +hnjing.net +hnjkjn.com +hnjkw.net +hnjshzy.com +hnkeji999.com +hnkljnxh.com +hnklnf.com +hnks.com +hnksln.com +hnktgame.com +hnkuaifawu.com +hnlat.com +hnlbdl.com +hnleisu.com +hnliangku.com +hnlzhd.com +hnlzw.net +hnmdtv.com +hnmgjr.com +hnmj.vip +hnmsw.com +hnmuseum.com +hnnx.com +hnnxs.com +hnnzwhyy.com +hnoceanrace.com +hnol.net +hnpet.net +hnpfw.com +hnpolice.com +hnpost.com +hnqfseed.com +hnquxing.com +hnquyou.com +hnrcsc.com +hnrcsc.net +hnrich.net +hnrmb.com +hnsfdc.com +hnshengben.com +hnsimeng.com +hnsiwei.com +hnsjgl.com +hnsktc.com +hnsmj.org +hnsss.com +hnst.org +hnstguolu.net +hnsy386.com +hnsyda.com +hnsyu.net +hnteacher.net +hntengn.com +hntianduo.com +hnticai.com +hntobacco.com +hntv.tv +hntvjiaotong.com +hnweimeng.net +hnwisecom.com +hnwlcm.com +hnwlxh.net +hnwtv.com +hnwz8.com +hnxdf.com +hnxfpfb.com +hnxgzg.com +hnxmxit.com +hnxuntang.com +hnxyjt.com +hnydmq.com +hnyfkj.com +hnyh.net +hnyingfang.com +hnyinhan.com +hnykcs.com +hnyouneng.com +hnyuandian.com +hnyuanyou.com +hnyumantang.com +hnyunji.com +hnyunww.com +hnyunzhiyi.com +hnyyss.com +hnzhaobiao.com +hnzjdc.com +hnzjfcw.com +hnzjgfw.com +hnzjip.com +hnzjzx.org +hnzqw.com +hnztfs.com +hnzxyy.com +hnzytp.com +hnzyzx.com +hoau.net +hobalab.com +hobbiestree.com +hobr.site +hocode.com +hodiasflavor.com +hodoop.com +hoehub.com +hogesoft.com +hoho.tv +hoho666.com +hohode.com +hojeje.com +hokori.online +holaq.com +holdhr.com +holdsteel.com +holegots.com +holiland.com +holleykingkong.com +hollischuang.com +hollycrm.com +hollysys.com +hollyuc.com +holoem.com +hologres.io +holteksupport.com +holyxiongan.com +home-assistant.cc +home-cn.htcsense.com +home.htcsense.com +home0311.com +home0538.com +home0668.com +home133.com +home178.com +home4love.com +home616.com +home77.com +homeartschina.com +homebehind.com +homecdn.com +homecloud-lab.com +homed.me +homedo.com +homeinframes.com +homeinmists.com +homeinns.com +homeking365.com +homekingcdn.com +homekoo.com +homekoocdn.com +homelnns.com +hometeda.com +hometex114.com +hometexjoin.com +homevv.com +homeyao.com +hommk.com +homolo.com +homolo.net +homylogistics.com +honda-sundiro.com +hondooy.com +hong-lawfirm.com +hong-shun.com +hong.ren +hongbao.show +hongbaorili.com +hongbeibang.com +hongbizi.org +hongbocheng.com +hongbowang.net +hongchalin.com +hongchaping.com +hongdaym.com +hongdefund.com +hongdezk.com +hongdian.com +hongdoufm.com +hongdoulive.com +hongen.com +hongfen.org +honggancn.com +honggebang.com +honghailt.com +honghanda.com +honghe-tech.com +hongheiku.com +honghonghu.com +honghuotai.com +hongjiang.info +hongjiejia.com +hongjing.com +hongjingedu.com +hongjiu66.com +hongkang-life.com +hongkou.net +hongku.com +hongkunjinfu.com +honglulan.com +hongmen.com +hongmoka.com +hongniang.com +hongpig.com +hongqi.tv +hongqipress.com +hongrenzhuang.site +hongru.com +hongsehuoxian.com +hongsejiqing.com +hongshi-tech.com +hongshn.xyz +hongshu.com +hongshunet.com +hongsungifts.com +hongt.com +hongtongad.com +hongtu.net +hongtuwang.com +hongxiaolong.com +hongxin18.com +hongxinbao.com +hongxingzn.com +hongxiu.cc +hongxiu.com +hongyan.info +hongyanliren.com +hongyaxuan.com +hongyeshuzhai.com +hongyicd.net +hongyingfangshui.com +hongyue.com +hongyunlww.com +hongyunvren.com +hongze.net +hongzhoukan.com +hongztl.com +honkaiimpact3.com +honorfair.com +honpery.com +honpu.com +honsuntec.com +honycapital.com +honyuan.net +hoodinn.com +hoodong.com +hooenergy.com +hoofei.com +hoogge.com +hookbase.com +hookdll.com +hoolai.com +hoolaigames.com +hoolee8.com +hoolinks.com +hoolo.tv +hoop-archi.com +hoop8.com +hoopchina.com +hoopugames.net +hoosho.com +hooyagames.com +hooyoo.com +hope-tarsus.com +hopebank.com +hopebeauty.com +hopecool.com +hopehook.com +hoperun.com +hopetrip.com.hk +hophingfood.com +hori3d.com +horion.com +horizon.ai +horizonfuelcell.com +horizonrcg.com +horn-yacht.com +horsa.org +horti-expo2019.com +horti-expo2019.org +hortor.net +hortor002.com +hortor005.com +hortor020.com +hortorgames.com +hosizoraworks.org +hosjjk.com +hospmall.com +host666.net +hostadm.net +hostbuf.com +hostdie.com +hostelxian.com +hostker.com +hostkvm.com +hostloc.com +hostmsu.ru +hostproph.com +hostxen.com +hostyun.com +hotalk.com +hotcbit.org +hotdb.com +hotdeeplink.com +hotdic.com +hoteamsoft.com +hoteastday.com +hotelcis.com +hoteldig.com +hotelgg.com +hotelvi.com +hotelyunos.com +hotent.com +hotent.xyz +hotgamehl.com +hotkd.com +hotkey123.com +hotkidclub.com +hotking.com +hotmisl.com +hotoos.com +hotpotpro.com +hotpub.com +hotread.com +hotsales.net +hotssp.com +hotstoday.com +hottechsemi.com +hottui.com +hotwind.net +hotwindbox.com +houbank.com +houcaller.com +houdao.net +houdask.com +houdunwang.com +houge.biz +hougonw.com +houkai.com +houpuwang.com +houqinbao.com +houqun.me +houqun.net +houquner.com +houruitouzi.com +house086.com +house178.com +house365.com +house5.net +house510.com +house86.com +housebaby.com +housedp.com +housenhe.com +housoo.com +houxue.com +houyicaiji.com +houzhibo.com +hoverlees.com +hovertree.com +hovfree.com +how234.com +howardwchen.com +howbuy.com +howelllighting.com +howjoin.com +howsci.com +howsoftworks.net +howtoing.com +howzhi.com +hoxing.com +hoxue.com +hoyakeji.com +hozin.com +hp-marathon.com +hp123.com +hp888.com +hpcanon.com +hpccake.com +hpcoo.com +hpoi.net +hpool.online +hprt.com +hprx.com +hpstore.cc +hpuoj.com +hpwu.com +hpwxc.com +hpx05.com +hpy93.com +hpyk.com +hq114.net +hq2011.com +hq28g.com +hq52.com +hq88.com +hqart.net +hqbd.com +hqbnb.com +hqbpc.com +hqbsh.com +hqbuy.com +hqbuycdn.com +hqc-china.com +hqcanyin.com +hqchip.com +hqck.net +hqcr.com +hqdlsn.com +hqepay.com +hqew.com +hqew.net +hqewimg.com +hqgq.com +hqh5.com +hqhl.net +hqhot.com +hqidi.com +hqjy.com +hqpcb.com +hqps.com +hqresearch.org +hqwhw.com +hqwx.com +hqwy.com +hqyj.com +hqyjsuccess.com +hqys.net +hqytgyh.com +hqyun.com +hqyxjy.com +hqz.com +hqzbcn.com +hr-channel.com +hr-mp.com +hr-self.com +hr.cc +hr0715.com +hr1000.com +hr135.com +hr2003.com +hr2trainer.com +hr369.com +hr448.com +hr510.com +hr5156.com +hr668.com +hr9000.com +hr987.com +hran.me +hrayw.com +hrbaodian.com +hrbar.com +hrbciming.com +hrbeduy.com +hrbesd.com +hrbmama.com +hrbmilan.com +hrbrc.com +hrbslh.com +hrbswx.com +hrbzdty.com +hrcfc.com +hrchina.cc +hrday.com +href.lu +hrexam.com +hrfc.net +hrflc.com +hrfoods.com +hrgrobotics.com +hrhuiyi.com +hrhy365.com +hrintl.com.hk +hrloo.com +hrm100.com +hrmarket.net +hroot.co +hroot.com +hrpackage.com +hrrukou.com +hrs100.com +hrsalon.org +hrsay.com +hrsee.com +hrteachu.com +hrtechchina.com +hrtn.net +hrtx.com +hrxiongan.com +hrzy.cc +hs-fe.com +hs-outlets.com +hs.net +hs10000.com +hs13z.net +hs186.com +hs313.info +hs65.com +hs950.com +hsakyy.com +hsanhl.com +hsay.com +hsbdc.com +hsboss.com +hscbw.com +hsdatalab.com +hsdcw.com +hsddyy.com +hsdhw.com +hsdmall.com +hsehome.com +hsehome.org +hsez.net +hsf88.com +hsfund.com +hsgjj.com +hsgjysj.com +hsgsy.com +hshh.org +hshotel.com +hshs.com +hshton.com +hshuiyi.com +hshw.com +hshy.net +hshymanor.com +hsigus.com +hsiii.com +hsjingcheng.com +hsjk.com +hsjkaoyan.com +hsjss.com +hslj.net +hsmc.com +hsmdb.com +hsmob.com +hsmrt.com +hsoow.com +hspress.net +hsr2013.com +hssdg.com +hssdk.com +hssdtest.com +hssemi.com +hssenglish.com +hssjyj.com +hsslab.com +hssrc.com +hsstr.com +hssxhd.com +hssyxx.com +hsszfx.com +hsszkjg.com +hst.com +hst1966.net +hstechsz.com +hstong.com +hsutimes.com +hsw2013.com +hsweb.me +hswkzy.com +hswnjz.com +hsxiang.com +hsxxad.com +hsybyh.com +hsyfcenter.com +hsysupply.com +hsyuntai.com +hsyyf.me +hszhizhen.net +hszk.org +hszlcn.com +hszqxs.com +hszsfz.com +hsztbzx.com +hszy8.com +hszzsyzx.net +hszzzx.net +ht-cao.com +ht-saae.com +ht-sonic.com +ht001.com +ht88.com +ht9.com +htanwang.com +htbaba.com +htback.com +htbenet.net +htc-media.com +htcbbs.net +htcis.net +htciy.com +htcxfund.com +htd2000.com +htdata.com +hteacher.net +hteos.com +htexam.com +htexam.net +htfcn.com +htfoxit.com +htfutures.com +htgj.com +htgjjl.com +htguosheng.com +htgwf.com +hthl.net +htidc.com +htinfor.com +htinns.com +htinnsjm.com +htjs.net +htjsq.com +htkaoyan.com +htky365.com +html51.com +html5cn.org +html5code.net +html5dw.com +html5plus.org +html5train.com +html5tricks.com +htmleaf.com +htmlplusplus.com +htmlsucai.com +htnice.com +htqyy.com +htr-mold.com +htranslate.com +htsc.com +htsec.com +htsgh5.com +htstzm.com +htt5.com +httingshu.com +httpcn.com +httprunner.org +hturl.cc +htuwenming.com +htv009.com +htvaas.com +htwed.com +htx.cc +htxxpx.com +htxyin.com +htyou.com +htys.cc +htyunwang.com +htzdj.com +htzyw.com +hu.com +hua-lan.com +hua-yong.com +hua.com +huaaiangel.com +huaaosoft.com +huaaotech.com +huaat.com +huabaike.com +huaban.com +huabanimg.com +huabanpro.com +huabeipay.com +huabian.com +huabo.net +huabokeji.com +huacaomu.com +huacaoshumu.net +huacemedia.com +huacenter.com +huachenit.com +huachenyuanyang.com +huaci.cc +huacnlee.com +huacolor.com +huada120.com +huadan.com +huadehyd.com +huadiandanbao.com +huadonghospital.com +huadongmedia.com +huadoo.com +huadream.com +huaduocai.net +huadx.com +huaease.net +huaer.cc +huafeiw.com +huafeng-food.com +huafeng.com +huafens.com +huafer.cc +huaguoshan.com +huahanart.com +huahua567.com +huahua777.com +huahuacaocao.com +huahuakon.com +huahuo.com +huaibaobei.com +huaibei.com +huaidan1.com +huaien.com +huaihai.tv +huaijiufu.com +huaimi.com +huain.com +huainanhai.com +huainanren.net +huainet.com +huaipu.net +huaisimida.com +huajia.cc +huajia2000.com +huajiakeji.com +huajialishe.com +huajianmed.com +huajiao.com +huajie8.com +huajifen.com +huajin100.com +huajing-inf.com +huajuan.net +huajuanyun.com +huajx.com +huakai.me +huake-weixin.com +huake360.com +huakebosi.com +huakeyun.com +hualady.com +hualala.com +hualet.org +hualiandressing.com +hualianxin.com +hualongxiang.com +hualu5.com +hualumedia.com +hualv.com +huamanlou.cc +huameiyuezi.com +huami.com +huamoe.com +huan-tai.com +huan.tv +huanbao-world.com +huanbao.com +huanbaoscx.com +huanbeiloan.com +huancaicp.com +huandie.com +huang-jerryc.com +huangbaoche.com +huangbowei.com +huangchun.net +huangdaojiri.org +huangdc.com +huangea.com +huanggao.net +huanggaofang.com +huangh.com +huanghaicollege.com +huanghanlian.com +huanghecaifu.com +huanghepiao.com +huanghouyz.com +huangjiemin.com +huangjunying.com +huanglei.me +huangli.com +huangliangbo.com +huangniu.in +huangpucn.com +huangqi1688.com +huangshaotian.com +huangsw.com +huangwei.me +huangwei.pro +huangxinwei.com +huangxubo.me +huangye88.com +huangye88.net +huangyixiaoshuo.com +huangyunkun.com +huangz.me +huangze.net +huanhaoba.com +huanhuanhuishou.com +huanhuba.com +huaniaoy.com +huanidc.com +huanjinghaojia.com +huanjutang.com +huanjuyun.com +huankkk.com +huanlang.com +huanle.com +huanle800.com +huanleap.com +huanlecdn.com +huanlefish.com +huanleguang.com +huanlejia.vip +huanletang.com +huanlingxiuxian.com +huanlj.com +huanmusic.com +huanpingge.com +huanqiu.com +huanqiuauto.com +huanqiukexue.com +huanqiumil.com +huanqiuw.com +huanqiuyimin.com +huanqu-tec.com +huanrong2010.com +huanshoulv.com +huante.com +huantest.com +huanwen.com +huanxi.com +huanxia.com +huanxiongdd.com +huanxiyl.com +huanyingzq.com +huanyou365.com +huanyouji.com +huanyudns.com +huanyutv.com +huaoe.com +huaon.com +huapiaoliang.com +huaqidigital.com +huaqin.com +huaqinchi.com +huaquandian.wang +huaraytech.com +huarenyizhan.com +huarong2006.com +huarongdao.com +huarongled.com +huaruicom.com +huas.co +huasehui.com +huash.com +huashangcf.com +huashangtop.com +huashen-edu.com +huasheng100.com +huashengdaili.com +huashengls.com +huashenll.com +huashi6.com +huashilm.com +huashitong.net +huashphoto.com +huashu-inc.com +huasyun.com +huatai-pb.com +huatengsci.com +huati365.com +huatian.net +huatu.com +huatugz.com +huatuo007.com +huatuowenda.com +huatuoyf.com +huaue.com +huawan.com +huawangzhixun.com +huawanyun.com +huawei-3com.com +huawei.com +huaweicloud-dns.com +huaweicloud-dns.net +huaweicloud-dns.org +huaweicloud.com +huaweicloudwaf.com +huaweidevice.com +huaweidun.com +huaweimall.com +huaweimarine.com +huaweimossel.com +huaweirom.com +huaweisafedns.com +huaweistatic.com +huaweisymantec.com +huaweiuniversity.com +huaweizdl.com +huawenfanyi.com +huawenonline.com +huawenwin.com +huaxi.net +huaxi100.com +huaxia.com +huaxia77.com +huaxiaci.com +huaxiaf.com +huaxiangdiao.com +huaxiazi.com +huaxincem.com +huaxing.com +huaxinnianhua.com +huaxirc.com +huaxiu.ink +huaxj.net +huaxuezoo.com +huayala.com +huayanghui.net +huayanxiu.com +huayanxiu.net +huayiauto.com +huayicn.com +huayidiaosu.com +huayilawyers.com +huayimedia.com +huayiming.com +huayinjapan.com +huayiwork.com +huayoumengze.com +huayoutianyu.com +huayuanlcd.com +huayuannongji.com +huayue119.com +huayuejob.com +huayun.com +huayunshuzi.com +huayunyy.com +huayushufang.com +huayuzj.com +huazhen2008.com +huazhen2008.net +huazhengcaiwu.com +huazhenjiaoyu.com +huazhongcar.com +huazhongcnc.com +huazhonghua.com +huazhongtimes.com +huazhu.com +huazhuanapp.com +huazhucorp.com +hubao.cc +hubcyts.com +hubei-design.com +hubei88.com +hubeibbs.net +hubeici.com +hubeidaily.net +hubeihome.net +hubeiip.com +hubeipbx.com +hubeisafety.org +hubeiwsd.com +hubeixuekao.com +hubeiyanjiusheng.com +hubeiyongtai.com +hubokan.com +hubpd.com +hubu.com +hububbs.com +hubulab.com +hubwiz.com +hubzs.com +hucdn.com +huceo.com +huchao.me +huchaowei.com +hucheng100.com +hudai.com +hudbbs.com +hudong.com +hudongad.com +hudongba.com +hudongcdn.com +hudongku.net +hudunsoft.com +huduntech.com +huelead.com +hufangyun.com +hugaoba.com +hugd.com +hugecdn168.com +hugeland.com +huhabao.com +huhanyong.com +huhoo.com +huhoo.net +huhua.net +huhuang.net +huhuhiiuio.com +huhuvr.com +hui-ben.com +hui-chao.com +hui.net +hui10.com +hui10.net +hui100.com +hui20.com +hui43.com +hui712.com +hui800.com +hui800.net +huians.com +huibo.com +huicaiba.com +huicaishui.net +huiche100.com +huicheimg.com +huichengip.com +huichewang.com +huichexiang.net +huicx7.com +huidang.com +huideyecai.com +huidu.com +huidu.net +huiemall.com +huieyes.com +huifachina.com +huifarm.com +huifenqi.com +huifudashi.com +huifusihai.com +huifutz.com +huifuyimin.com +huigao-magnetics.com +huigetv.com +huigezi.org +huihaicenter.com +huihaicn.com +huihedian.com +huihua365.com +huihua8.com +huihuaren.com +huihuarensheng.com +huihui.moe +huihuitech.net +huiian.com +huiji.wiki +huijiame.com +huijiaoyun.com +huijidata.com +huijiewei.com +huijimall.com +huijistatic.com +huijitrans.com +huijiwiki.com +huijucn.com +huila88.com +huilan.com +huilanyujia.com +huilianyi.com +huiliubao.com +huilm.com +huilog.com +huilongsen.com +huilv168.com +huilvwang.com +huilvwu.com +huim.com +huimaiche.com +huiman.net +huimaw.com +huimee.com +huimee.net +huimeisports.com +huimengya.com +huimin111.com +huimingcn.com +huinaimei.com +huing.net +huion.com +huiqiangkeji.com +huirendai.com +huiris.com +huiruanzhijia.com +huishangbao.com +huishangol.com +huishenghuo888888.com +huishengqianzhushou.com +huishoubao.com +huishoushang.com +huishuaka.com +huishuang.xyz +huisituo.com +huisky.com +huisou.com +huisouimg.com +huisuoping.com +huitao.net +huitaoba.com +huitaodang.com +huitaoyouhui.com +huitongqingsuan.com +huitoubj.com +huitouche.com +huitouyu.com +huitouzi.com +huitu.com +huitun.com +huiurl.com +huivo.com +huiwo.com +huiword.com +huixiang360.com +huixiangtiandi.com +huixiaoer.com +huixiaoer.net +huixing.hk +huixingsoft.com +huixinli.com +huixinyt.com +huixinyun.com +huixuanjiasu.com +huiyan315.com +huiyankan.com +huiyaohuyu.com +huiyep.com +huiyi8.com +huiyiabc.com +huiyinxun.com +huiyisheji.com +huiyizhuo.com +huiyou.com +huiyuandao.com +huiyuanyy.com +huiyumedia.com +huize.com +huizecdn.com +huizhan-inc.com +huizhaofang.com +huizhek.com +huizhekou.net +huizhijiaxun.com +huizhimob.com +huizhonghengxing.com +huizhouf.com +huiziyuan.net +huizuche.com +huizuoyuezi.com +hujia.org +hujiang.com +hujingyuan.com +hujiuzhou.com +hujuntao.com +huke88.com +hukou021.com +hukoushanghai.com +hulai.com +hulamao.com +hulanap.com +huliangongyu.com +hulianmaibo.com +hulinhong.com +huliqun.com +huliyx.com +hulkdev.com +huluboshi.com +huluhour.com +huluip.tech +huluo.com +hulusaas.com +hulusi.com +huluwa365.com +huluwa8.com +huluxia.com +huluxia.net +huluzc.com +humanrights-china.org +humengyun.com +humensec.com +huming.com +hunancatv.com +hunanedu.net +hunanpta.com +hunantv.com +hunanwb.com +hunanzhibo.com +hunbei.com +hunbei1.com +hunbei4.com +hunbei5.com +hunbohui.info +hunbys.com +huncct.com +hunche.net +hunchelaila.com +hundredcent.com +hundsun.com +hundun.net +hundx.com +hunger-valley.com +hunjuwang.com +hunli100.com +hunlihu.com +hunlihunli.com +hunliji.com +hunlimao.com +hunmiao.com +hunshitong.net +hunt007.com +huntchance.com +huntic.com +huntkey.com +huntkeydiy.com +hunuo.com +hunyinxuetang.com +hunyinyiyuan.com +huo-cun.com +huo119.com +huoban.com +huobanjs.com +huobanmall.com +huobanxietong.com +huobaoyx.com +huobi.com.gi +huobi.io +huocai.com +huocc.com +huochai.mobi +huochaihe.cc +huoche.com +huoche.net +huoche.wiki +huochepiao.com +huochepiao.net +huodao.hk +huoding.com +huodong.org +huodonghezi.com +huodonghui.net +huodongjia.com +huodongju.com +huodongju.net +huodongquan.net +huodongshu.com +huodongwang.com +huodongxing.com +huoduan.com +huofar.com +huofutp.com +huoguopaihang.com +huogz.com +huohoo.com +huohu123.com +huohuo.com +huohuolife.com +huoji.com +huoju365.com +huojua.com +huojuli.com +huokebao.net +huokesoft.com +huolala.co +huolan.net +huolea.com +huoli.com +huolinhe.com +huolishaonianwang.com +huolug.com +huomao.com +huomao.tv +huomaotv.com +huomaow.com +huomaqun.com +huoming.com +huoqiuapp.com +huosdk.com +huoshan.cc +huoshan.club +huoshan.com +huoshanimg.com +huoshanstatic.com +huoshansxy.com +huoshanvod.com +huoshanzhibo.com +huoshen.com +huoshen.net +huosu.com +huosubtc.com +huotan.com +huowan.com +huoxiaoer.net +huoxing24.com +huoxingba.com +huoxingzi.com +huoxun.com +huoyan.com +huoyan.io +huoyanio.com +huoying666.com +huoyuandl.com +huozw.com +hupan.com +hupo.com +hupo.tv +hupu.com +hupu.tv +hupucdn.com +hurongclub.com +hurun.net +husenji.com +hushangcaifu.com +hust-laser.com +hust-snde.com +hust.cc +hust.online +hustcad.com +hustduyan.com +hustlife.com +hustlzp.com +hustnews.com +hustoj.com +hustonline.net +hustp.com +hustunique.com +hustwenhua.net +hustxb.com +husubao.com +hutaojie.com +hutaolinight.com +hutaow.com +hutong-school.com +hutoufeng.net +hutoulang.com +hutu.me +hutui9.com +hutuii.com +hutuoweb.com +hutusi.com +huuhoo.com +huwaibbs.com +huway.com +huweihuang.com +huweishen.com +huxiaofan.com +huxiaoshi.com +huxiu.com +huxiu.link +huxiucdn.com +huya.com +huyahaha.com +huyanapp.com +huyanbao.com +huyaohui.com +huyaruanwen.com +huyn.com +huynet.com +huyou78.com +huyouxiong.com +huyuncdn.com +huyuxx.com +huzhan.com +huzhao1.com +huzheng.org +huzhifeng.com +huzhongxin.com +huzhoumuseum.com +huzicaotang.com +huzs.net +huzu.com +hvac001.com +hvacstar.com +hvdiy.com +hvtong.com +hw-ai.com +hw-tm.com +hw100k.com +hw3static.com +hw555.com +hw99.com +hwactive.com +hwadmin.com +hwangda.com +hwanjia.com +hwasmart.com +hwbs.com +hwccpc.com +hwcloudlive.com +hwclouds-dns.com +hwclouds-dns.net +hwclouds.com +hwclouds.mobi +hwclouds.net +hwcrazy.com +hwehs.com +hweimall.com +hwfcw.com +hwgmthree.com +hwht.com +hwjyw.com +hwlantian.com +hwlpz.com +hwrecruit.com +hwsem.com +hwtelcloud.com +hwtrip.com +hwtxfilm.com +hwwt2.com +hwwt8.com +hwxda.com +hwxjp.com +hwxnet.com +hwxuanliuqi.com +hwzyjt.com +hx008.net +hx110.com +hx2car.com +hx2cars.com +hx3366.net +hx36.net +hx8886.com +hx99.net +hx9999.com +hxage.com +hxbdf120.com +hxbdxled.com +hxbsth.com +hxbxw.com +hxcdn.net +hxchem.net +hxct.com +hxdi.com +hxdkfp.com +hxdkj88.com +hxen.com +hxepawn.com +hxfilm.com +hxfjw.com +hxgame.net +hxgqw.com +hxgs.net +hxgwott.com +hxhost.com +hxinq.com +hxjbcdn.com +hxjbh.com +hxjiqi.com +hxjlhn.com +hxjwang.com +hxland.com +hxlsw.com +hxltad.com +hxmeishi.com +hxnews.com +hxppw.com +hxqc.com +hxqnj.org +hxqwx.com +hxrc.com +hxs168.com +hxsd.com +hxsd.tv +hxsec.com +hxshx.com +hxsme.org +hxt-semitech.com +hxthjy.com +hxtk.com +hxwglm.com +hxxdsb.com +hxxkw.org +hxxl6.com +hxyg.org +hxyjw.com +hxys.com +hxytea.com +hxytw.com +hxyxsj.com +hxzdhn.com +hxzxg.com +hy-cgp.com +hy-la.com +hy-zr.com +hy01888.com +hy05190134.com +hy123.com +hy2046.com +hy233.tv +hy628.com +hy8881.com +hyahm.com +hyb2b.com +hybbtree.com +hycdn.com +hycfw.com +hycgy.com +hyckjic.com +hydarts.com +hydbest.com +hydcd.com +hyds360.com +hydz999.com +hydzfp.com +hyedu.com +hyext.com +hyfutures.com +hyggfx.com +hygl.org +hygoldcup.com +hygy361.com +hyhcdn.com +hyhjbh.com +hyhl66.com +hyhro.com +hyhuo.com +hyhygame.com +hyimmi.com +hyipchina.com +hyj999.com +hyjesc.com +hyjgxx.com +hyjp.net +hykang.com +hykbl.com +hykcsoft.com +hylname.com +hym68.com +hymom.com +hynews.net +hynixic.com +hynpay.com +hyocr.com +hyouda.com +hypefolio.com +hyper.sh +hypergryph.com +hypersilicon.com +hypnos04.com +hyrainbow.com +hysdknb.com +hysec.com +hysseo.com +hysteeltube.com +hyt368.com +hytcshare.com +hytd.com +hytera.com +hytic.net +hyundai-hmtc.com +hyundaibeijing.com +hyuuhit.com +hywly.com +hyx1314.xyz +hyxrzs.com +hyyf.net +hyyic.com +hyyoa.com +hyyyny.com +hyz86.com +hyzcservice.com +hyzm.cc +hyznjs.com +hyzqxsb.com +hz-etest.com +hz-gn.com +hz-hospital.com +hz-winone.com +hz-xin.com +hz100msh.com +hz1cm.com +hz5800.com +hz66.com +hzaee.com +hzairport.com +hzamcare.com +hzbenet.com +hzbh.com +hzbike.com +hzbluebutterfly.com +hzbook.com +hzbxm.com +hzc.com +hzccb.net +hzccnet.com +hzcekong.com +hzcnc.com +hzcopyright.com +hzcourse.com +hzcuizhai.com +hzdajiangdong.com +hzdauto.com +hzdjr.com +hzdledu.com +hzdx.com +hzecsemir.com +hzeg.com +hzfangwang.com +hzfc.cc +hzfucai.net +hzgh.org +hzgjj.com +hzgrow.com +hzguojiao.com +hzgxr.com +hzh1.com +hzhanbo.com +hzhfzx.com +hzhike.com +hzhltec.com +hzhmktwx.com +hzhr.com +hzhuangxiang.com +hzhuanqu.com +hzhuaxindianzishangwu.com +hzhx.com +hzins.com +hzins.net +hzjbzg.com +hzjingxian.com +hzjinsen.com +hzjizhun.com +hzjlxx.com +hzjmjl.com +hzjqhy.com +hzjs56.com +hzjunxing.com +hzjushan.com +hzkayo.com +hzljlyy.com +hzlug.org +hzmama.net +hzman.net +hzmantu.com +hzmba.com +hzmogo.com +hzmylike.com +hzncc.com +hznews.com +hznsh.com +hznzcn.com +hzou.net +hzpgc.com +hzpzs.net +hzqimiao.com +hzqiuxue.com +hzqz.net +hzr1.com +hzrc.com +hzredream.com +hzrobam.com +hzsaifang.com +hzsaso.com +hzsbz.com +hzsdfsyxx.com +hzsgjj.com +hzshudian.com +hzstad88.com +hzti.com +hztosz.com +hztraining.com +hzvillas.com +hzwer.com +hzwindpower.com +hzwmw.com +hzwsjyjt.com +hzwtech.com +hzwxq.com +hzwyh.com +hzxhymc.com +hzxiaobao.com +hzxiyuege.com +hzxsjgxx.com +hzxyns.com +hzy182.xyz +hzyestar.com +hzyhzp.com +hzylpco.com +hzymjx.com +hzyoka.com +hzypro.com +hzyqkb.com +hzyuanshan.com +hzyuedu.com +hzyuewan.com +hzyz.net +hzzhaobiao.com +hzzkj.net +hzzp.com +hzzqs.com +hzzsbbs.com +hzzsfs.com +i-27.name +i-520.net +i-ab.com +i-bei.com +i-bigdatas.net +i-calorie.com +i-click.com +i-element.org +i-ev.com +i-excellence.com +i-hifi.com +i-jim.com +i-kan.me +i-lewan.com +i-ll.cc +i-manji.com +i-matcher.com +i-md.com +i-meto.com +i-modec.com +i-mofang.com +i-morefun.com +i-nano2021.com +i-now.com +i-oranges.com +i-same.com +i-shu.com +i-size.com +i-study.net +i-tongfang.com +i-tv.com +i-xinnuo.com +i-xoron.com +i.dell.com +i0349.com +i05b.com +i0746.com +i075.com +i0898.org +i100e.com +i11r.com +i121.net +i1515.com +i1758.com +i1766.com +i2abc.com +i2ya.com +i360mall.com +i3abox.com +i3done.com +i3dpworld.com +i3geek.com +i3gt.com +i3smot.com +i3v.cc +i3youlun.com +i3yuan.com +i3zh.com +i4px.com +i4t.com +i51game.com +i52tt.com +i5399.com +i5738.com +i5i6.net +i5mai.com +i6879.com +i7aot4.com +i7box.com +i7fh.com +i7gg.com +i7play.com +i7wx.com +i8001.com +i8cn.com +i8gua.com +i8i8i8.com +i8tq.com +i9.org +i91pv.com +i9star.com +i9wang.com +ia-shenzhen.com +iacblog.com +iadmob.com +iadmore.com +iadsdk.apple.com +iaeac.org +iaikx.com +iakmai.com +ialicdn.com +ialloc.com +ialloc.org +iambanban.com +iambocai.com +iameduwork.com +iamfisher.net +iamhippo.com +iamjzs.com +iamle.com +iamlintao.com +iamshuaidi.com +iamsujie.com +iamtxt.com +iamue.com +iamverycute.com +iamwr.com +iamxiaoming.net +iamxk.com +ianvisa.com +iaoso.com +iaoyou.com +iapolo.com +iapp4me.com +iapple123.com +iappler.net +iapppay.com +iapps.im +iappstoday.com +iars-wuhan.com +iartmoney.com +iartsee.com +iask-media.com +iask.com +iask.in +iaskbus.com +iaskhot.com +iat-auto.com +iautodraw.com +iavira.com +iaviva.com +iaxure.com +iazhi.com +ib-china.com +ib07.com +ibaba88.com +ibadboy.net +ibailve.com +ibaizhu.com +ibanbu.com +ibangkf.com +ibangquan.com +ibanma.net +ibanquan.com +ibantang.com +ibanyu.com +ibaotu.com +ibaoxiu.net +ibaozou.com +ibayapp.com +ibbwhat.com +ibcar.net +ibcde.com +ibczy.com +ibeifeng.com +ibeiig.com +ibeiliao.com +ibeiou.com +ibenxi.com +ibestapp.com +ibestfanli.com +ibestservice.com +ibestv.com +ibeta.me +ibgbuy.com +ibianqu.com +ibiaozhi.com +ibicn.com +ibidian.com +ibiji.com +ibimawen.com +ibimuyu.com +ibingniao.com +ibiquge.net +ibiquke.com +ibireme.com +ibixiaxs.com +ibjq.wang +ibkcn.com +ibl520.com +iblimg.com +ibloger.net +iblue.com +iblue.me +ibluefrog.com +ibluesocial.com +ibmwclub.com +ibook8.com +ibooker.cc +ibookstar.com +ibornclinic.com +iboxpay.com +ibr.cc +ibrainproject.org +ibreader.com +ibroadlink.com +ibruce.info +ibscdn.com +ibtba.cc +ibtmao.com +ibtsat.com +ibtyun.com +ibuick.com +ibuscloud.com +ibuspan.com +ibuying.com +ibw.cc +ic-ldo.com +ic-valley.com +ic2china.com +ic37.com +ic72.com +ic98.com +ic9cube.com +ica-alliance.org +icaeconf.com +icafe28.net +icafe8.com +icafe8.net +icaifu.com +icaile.com +ican-contest.org +icandata.com +icangshu111.com +icanzc.com +icaoye.com +icardfinancial.com +icaredbd.com +icasiso.com +icastlewar.com +icax.org +icbc-ltd.com +icbuy.com +icc.one +icc365.com +iccchina.com +iccessh.org +iccgame.com +iccgame.net +icchaoren.com +iccidchaxun.com +iccircle.com +iccsmart.com +iccsz.com +iccwi.net +icdn2.com +icdol.com +icdream.com +icdt-conf.com +ice.work +ice1000.org +iceasy.com +icebear.me +icebound.cc +iceflowsoft.com +icefoxgame.com +iceinto.com +icekr.com +icekylin.online +icemle.org +iceshi.org +icesimba.com +icevpn.org +icewingcc.com +icfans.com +icfcc.com +icfgblog.com +icfqs.com +icfusions.com +icgoo.net +icgu.com +icgvisa.com +ich8.com +ichacha.com +ichacha.net +ichang8.com +ichangbaishan.com +ichangtou.com +ichanyu.com +ichaoshangyue.com +ichaotu.com +icharm.me +ichat800.com +ichdata.com +ichehaopei.com +ichehome.com +ichenfei.com +ichengyun.net +ichennan.com +ichinaceo.com +ichinaenergy.com +ichishu.com +ichong123.com +ichuanglan.com +ichuangwei.com +ichuangye.com +ichuanyi.com +ichunqiu.com +ichunt.com +ichushang.com +ichzh.com +iciba.com +icicicic.com +icifit.com +icignacmb.com +icinfo.net +icirculation.com +icitymobile.com +icixun.com +iciyuan.com +icjiemi.com +ickeep.com +icketang.com +ickey.cc +ickimg.com +iclicash.com +iclickstatic.com +icloud-cdn.icloud.com.akadns.net +icloud.cdn-apple.com +icloudgslb.com +icloudnews.net +iclouds.work +icmade.com +icme14.org +icminer.com +icmsdev.com +icmyk.cc +icnjob.com +icnkr.com +icnote.com +icntv.tv +icoa.vip +icoat.cc +icoc.bz +icoc.cc +icoc.in +icoc.me +icocg.com +icode9.com +icodelogic.com +icoderobot.com +icofchina.com +icom5g.com +iconfans.com +iconfans.org +iconntech.com +icoolen.com +icoou.com +icoremail.net +icos8.com +icosky.com +icourse163.com +icourse163.org +icourt.cc +icp100.net +icp21.com +icpcdn.com +icpcw.com +icpdaili.com +icphu.com +icpisp.net +icrazyidea.com +icroom.com +icrosschina.com +icshanghai.com +icsisia.com +icslx.com +icsoc.net +icson.com +icss.me +icstreet.com +icswb.com +ict361.com +ictcsr.org +ictehi.com +ictest8.com +ictlce.com +ictown.com +ictpaas.com +ictun.com +ictuniv.com +icver.com +icvip.com +icxbk.com +icxinli.com +icy-capital.com +icyif.com +icyip.com +iczhiku.com +iczhiyu.com +iczoom.com +id-bear.com +id-linking.com +id6.me +idabai.com +idachu.com +idafen.com +idafoo.com +idaima.com +idangdai.com +idanpianji.com +idaocao.com +idatacube.com +idataway.com +idaxiang.org +idaybreak.com +idbhost.com +idc-icp.com +idc.moe +idc.sh +idc002.com +idc021.com +idc029.com +idc123.com +idc180.com +idc20.com +idc218.com +idc31.com +idc4.com +idc400.com +idc45.com +idc789.com +idc886.com +idc917.com +idc96.com +idc96.net +idcay.com +idcbest.com +idcbest.hk +idccenter.net +idccom.net +idccun.com +idceb.com +idcfengye.com +idchh.com +idchz.com +idcicp.com +idcicpdns.com +idcjf.com +idcjia.net +idckx.com +idcoffer.com +idcquan.com +idcsec.com +idcser.com +idcsh.com +idcsh.net +idcsped.com +idcspy.com +idcspy.net +idcss.com +idctq.com +idcug.com +idcum.net +idcun.com +idcuw.com +idcvendor.com +idcvip.net +idcwn.com +idcys.com +idcyunwei.org +idea-king.org +idea1986.com +ideacms.net +ideagou.com +idealshanghai.com +ideanote.cc +ideaparfums.com +ideappt.com +ideasandroid.com +ideazhao.com +ideebank.com +ideepin.com +ideng.com +idesktopcal.com +idevz.org +idgvc.com +idianchou.com +idianfa.com +idianshijia.com +idig8.com +idigi.net +idkaiu.com +idler-et.com +idmchina.net +idmzj.com +idn100.com +idname.com +idnscloud.com +ido-love.com +ido114.com +ido512.com +idoacg.com +idoall.org +idocbank.com +idocv.com +idol001.com +idolranking.info +idolyx.com +idom.me +idomb.com +idongde.com +idongdong.com +idongniu.com +idongte.com +idosend.com +idotools.com +idouba.net +idoupiao.com +idourl.com +idouyinstatic.com +idouyinvod.com +idouzi.com +idoyun.com +idqqimg.com +idreamschool.com +idreamsky.com +idreamsoft.com +idrools.com +idrwl.com +idscn.com +idscn.net +idsky.net +idspub.net +idsuipai.com +idtcdn.com +idtechwh.com +idting.com +idu9.com +idudo.com +iduo8.com +iduochong.com +iduoha.com +iduokan.net +idushu.com +idwzx.com +idyjy.com +idyzs.com +idzcp.com +idzoom.com +ie027.com +ie3.cc +ie515.com +ie525.com +ie815.com +ie915.com +ie935.com +ie977.com +ieasn.com +ieasy123.com +ieatlu.xyz +ieayoio.com +iebyte.com +iecdn.com +iecidc.com +iecie.com +iecity.com +iecnews.com +iecnu.com +iecool.com +iedon.com +ieduchina.com +ieduw.com +ieechina.com +ieeewifi.com +ieeod0.com +ieepa.org +iefang.com +iegcom.com +iegee.net +iegourl.com +iejiu.com +ieliulanqi.com +ielts68.com +ieltschn.com +iemblog.com +ienjoys.com +ienjoys.mobi +ierhou.com +iermu.com +iershoushu.com +iesdouyin.com +ieshu.com +iessay100.com +ietdata.com +iewb.net +iewie.org +iewzx.com +iexx.com +iezuo.com +ifabao.com +ifabiao.com +ifaclub.com +ifahao.com +ifanbei.com +ifangarden.com +ifangka.com +ifanjian.net +ifanr.com +ifanr.in +ifanrusercontent.com +ifareast.com +ifatrabbit.com +ifavart.com +ifaxin.com +ifaxin.org +ifc58.com +ifchange.com +ifeimo.com +ifeng.com +ifeng.fm +ifengcdn.com +ifenghui.com +ifengimg.com +ifengli.com +ifenglian.com +ifengniao.net +ifengo.com +ifengpai.com +ifengtui.com +ifenguo.com +ifengweekly.com +ifengwoo.com +ifensi.com +ifenso.net +ifenxi.com +ifere.com +ifeve.com +ifindever.com +ifindhs.com +ifintechnews.com +ifiretech.com +ifitbox.com +ifjing.com +iflyhealth.com +iflying.com +iflyink.com +iflyos.vip +iflyread.com +iflyrec.com +iflyresearch.com +iflysec.com +iflytek.com +iflytektstd.com +ifma-china.org +ifmicro.com +ifmtech.com +ifmx.cc +ifonelab.net +iforce-media.com +iforl.com +ifoxfactory.com +ifreecdn.com +ifreecomm.com +ifreedom001.com +ifreepsd.com +ifreetalk.com +ifreeurl.com +ifreewallpaper.com +ifresh.mobi +ifromvr.com +ifseclabs.com +iftell.com +ifttl.com +ifukua.com +ifulelol.com +ifumanhua.net +ifundstore.com +ifunmac.com +ifunvip.com +ifutest.com +ifutureworks.com +ifval.com +ifxsb.com +ifxtx.com +ifzxs.cc +igame007.com +igame58.com +igamecj.com +igao7.com +igaoda.com +igarden365.com +igbox.net +igdmfg.com +igdzc.com +igea-un.org +igeak.com +igeekbar.com +igeidao.com +igelou.com +igenetech.com +igengmei.com +igerun.com +igeshui.com +igetget.com +igetui.com +igevin.info +igexin.com +igigo.net +igo180.com +igo998.com +igome.com +igomkt.com +igooma.com +igoyx.com +igreatdream.com +igslb.net +iguanyu.com +iguazutraffic.xyz +iguder.com +iguitar.me +igumo.cc +igunsd.xyz +iguoguo.net +iguopin.com +iguoplay.com +iguowan.com +iguxuan.com +igwfmc.com +ihacksoft.com +ihaier.co +ihaier.com +ihaima.com +ihaiu.com +ihalf.co +ihanghai.com +ihanhua.com +ihani.tv +ihanshi.com +ihaoge.net +ihaoxi.com +ihaozhuo.com +ihappy.vip +ihaveu.com +ihaveu.net +ihdt.tv +ihebi.info +ihecc.org +ihei5.com +iheima.com +iheima.net +ihengheng.com +ihenji.com +ihepa.com +ihetou.com +ihewro.com +ihggccampaign.com +ihhubei.com +ihint.me +ihisce.com +ihitui.com +ihjiu.com +ihktv.com +ihlnews.com +ihomefnt.com +ihomesoft.net +ihongma.com +ihongpan.com +ihongqiqu.com +ihongyou.com +ihonker.org +ihou.com +ihr360.com +ihref.com +ihrscloud.com +ihuaben.com +ihuajian.net +ihuan.me +ihuanling.com +ihuayou.net +ihuazhan.net +ihui.com +ihuidian.com +ihuigo.com +ihuikou.net +ihuipao.com +ihuiu.com +ihuman.com +ihumand.com +ihungyi.com +ihuochaihe.com +ihuoqiu.com +ihuoyan.com +ihuyi.com +ihuzuan.com +ihwrm.com +ihx.cc +ihxlife.com +ihykb.com +ihypo.net +ihzzy.com +ii.cc +ii010.com +ii090.com +ii74.com +ii77.com +iiad.com +iianews.com +iiaq.net +iibechina.com +iibq.com +iicp.net +iidns.com +iiexe.com +iifab.com +iigs9.com +iii80.com +iiiff.com +iiiimg.com +iiijk.com +iiilab.com +iiiview.net +iiiyan.com +iikeji.com +iikuzhan.com +iikx.com +iincn.net +iiong.com +iireadiness.com +iirii.com +iis7.com +iischool.com +iisicp.com +iisp.com +iissbbs.com +iissnan.com +iitcp.com +iitoutiao.com +iivey.com +iiycy.com +iiyi.com +iiyibbs.com +ijac.net +ijh.cc +ijia360.com +ijiandao.com +ijiangyin.com +ijianji.com +ijiatv.com +ijie.com +ijiedian.com +ijiela.com +ijindun.com +ijingdi.com +ijinshan.com +ijinzhuan.com +ijishu.cc +ijita.com +ijiujiao.com +ijiwei.com +ijiwen.com +ijizhi.com +ijjnews.com +ijnqc.com +ijogame.com +ijq.tv +ijrou.com +ijsp.net +ijuanshi.com +ijuer.com +ijuhepay.com +ijunhai.com +ijunxun.com +ijutou.net +ijuwu.com +ijzhang.com +ik123.com +ik3cloud.com +ikafan.com +ikaixun.com +ikaka.com +ikakuedu.com +ikanchai.com +ikandian.com +ikang.com +ikantu365.com +ikaoguo.com +ikaolaa.com +ikcd.net +ikcest.org +ikcrm.com +ikcw.com +ike-global.com +ikeguang.com +ikemeng.com +ikepu.com +ikjtao.com +ikjzd.com +ikmt.net +ikonfx.com +ikongjian.com +ikongjun.com +ikonke.com +ikoo8.com +ikozn.com +iksea.com +iku8.com +ikuai8-wifi.com +ikuai8.com +ikuailian.com +ikuaiy.net +ikuajing.com +ikuvn.com +ikx.me +ikxin.com +il8r.com +ilab-x.com +ilaic.org +ilaisa.com +ilaitui.com +ilancai.com +ilanluo.com +ilanx.net +ilanx0.net +ilaw66.com +ilawpress.com +ilazycat.com +ileci.com +ileedarson.com +ileehoo.com +ilego.club +ilewan.com +iliangcang.com +ilibrand.com +ilidubj.net +ilife69.com +ilifesmart.com +ilingdai.com +ilinkee.com +ilinki.net +ilinkone.com +ilinux.xyz +ilinuxkernel.com +ilinyi.net +ilishi.com +ilishi.net +ilitu.com +iliuliu.com +ilixiangguo.com +iliyu.com +ilkeji.com +ilkwork.com +illumpaper.com +ilmgq.com +ilohas.com +iloli.bid +ilongre.com +ilongterm.com +iloveanan.com +ilovefishc.com +ilovelvxing.com +iloveyou14.com +iloveyouxi.com +ilovezuan.com +iloxp.com +ilqsh.com +ilsungf.com +ilucking.com +ilucong.net +ilufan.com +iluoy.com +iluoyang.com +iluqi.com +ilustrepro.com +iluvatar.ai +ilv6.com +ilvping.com +ilxdh.com +im-ad.com +im-cc.com +im170.com +im286.com +im286.net +im298.com +im2maker.com +im323.com +im520.com +im577.com +im5i.com +im87.net +imac.hk +imaccn.com +imaegoo.com +imageaccelerate.com +imageedu.com +imagefz.com +imagehub.cc +imagelol.com +imageoss.com +imagepy.org +images-cache.com +images.apple.com +images.apple.com.akadns.net +images.apple.com.edgekey.net.globalredir.akadns.net +images.benchmarkemail.com +images.samsung.com +imageter.com +imagetotxt.com +imaginde.com +imagineadtech.com +imags-google.com +imahui.com +imaibo.net +imaijia.com +imaitu.com +imalljoy.com +imandarin.net +imanhuaw.com +imanhuaw.net +imaojiang.com +imarketchina.com +imaschina.com +imasdk.googleapis.com +imatchic.com +imatlas.com +imaycon.com +imayitxt.com +imazingchina.com +imbackr.com +imbeer.com +imblog.in +imbtk.com +imbusy.me +imcaviare.com +imcec.org +imcn.me +imdac.org +imdadui.com +imdaike.com +imdo.co +imdou.net +imdst.com +imedao.com +imedicalai.com +imedp.com +imeete.com +imeete.net +imeibian.com +imeidb.com +imeihei.com +imeiju.cc +imeijutt.com +imeishike.com +imeitou.com +imekaku.com +imeme.tv +imesong.com +imever.me +imeyahair.com +imfirewall.com +img-space.com +img-sys.com +img.samsungapps.com +img005.com +img168.net +img16888.com +img4399.com +img898.com +imgcdc.com +imgcdn2.com +imgchr.com +imgeek.org +imgii.com +imglefeng.com +imglink.win +imgo.tv +imgscdn.com +imgsha.com +imgshangman.com +imgsina.com +imgtu.com +imgu.cc +imgurl.org +imhan.com +imhanjie.com +imhaowa.com +imhdr.com +imhuasheng.com +imhuchao.com +imhunk.com +imiaobige.com +imibaby.net +imicang.com +imiker.com +imindmap.cc +iminho.me +iminisd.com +imipy.com +imitui.com +imjiayin.com +imkerwin.com +imkevinyang.com +imkira.com +imlaidian.com +imlcl.com +imlgm.com +imlianai.com +imliuyi.com +imliyan.com +immi520.com +immiexpo.com +immivip.com +immomo.com +immomogame.com +immusician.com +immusoul.com +immwall.com +imnerd.org +imnight.com +imobile-ent.com +imobon.com +imochen.com +imochy.com +imoduo.com +imoe.me +imoeer.com +imofan.com +imoffice.com +imok01.com +imolink.com +imomoe.ai +imomoe.com +imomoe.in +imomoe.io +imomoe.jp +imooc.com +imoocc.com +imoodou.com +imoonfm.com +imooo.com +imopan.com +imotao.com +imoxiu.com +imp3.net +imperfectionstudio.com +imperial-vision.com +impk.cc +impk113.com +impnails.com +impng.com +impopper.com +importnew.com +impta.com +imqq.com +imqueenapp.com +imququ.com +imrfresh.com +imshell.com +imshusheng.com +imsilkroad.com +imsle.com +imspm.com +imsun.net +imsxm.com +imtmp.net +imtuan.com +imtvs.cc +imuke.com +imuo.com +imushan.com +imuum.com +imvictor.tech +imw.me +imwaco.com +imwallet.com +imweb.io +imwexpo.com +imwork.net +imxh.com +imxpan.com +imxyd.com +imycdn.com +imydl.com +imydl.tech +imydns.net +imyip.net +imys.net +imyshare.com +imyuedu.com +imzhongxin.com +imzhou.com +in-en.com +in001.com +in189.com +in66.com +in6way.com +in800.com +in955.com +inabr.com +inad.com +inanrenbang.com +inapian.com +inass.org +inbeijing.org +inbilin.com +inbooker.com +inc365.com +incake.net +incensechina.com +incloudexpo.com +incoto.com +incsg.com +ind-app-comp.com +ind9ed.com +indaboom.com +indexedu.com +indexedu.net +indexmob.com +indiancn.com +indics.com +indiehacker.im +indielight.net +indienova.com +indier.com +indmi.com +indongfang.com +induta.com +indvaan.com +ineice.com +inengyuan.com +inesa-it.com +inetgoes.com +inetnoc.com +inewhope.com +inewland.com +inewoffice.com +inewpower.com +inewya.com +inezha.com +infarts.net +infertilitybridge.com +infineon-autoeco.com +infinitescript.com +infinityarts.net +infinitynewtab.com +info.cc +info10.com +info110.com +info35.com +infobidding.com +infobigdata.com +infocomm-journal.com +infoier.com +infoipwest.com +infong.net +infoobs.com +infoqstatic.com +inforbus.com +inforguard.net +informrack.com +inforsec.org +infosoft.cc +infovc.com +infowuxi.com +infoxa.com +infoxgame.com +infoxmation.com +infzm.com +ing10bbs.com +ing2ing.com +ingageapp.com +ingcore.com +ingdan.com +ingenic.com +ingkee.com +ingping.com +inhdd.com +inhe.net +inhi.kim +inhuawei.com +ini3e.com +inibiru.com +inicoapp.com +inidc.net +inimc.com +ininin.com +init-p01md-lb.push-apple.com.akadns.net +init-p01md.apple.com +init-p01st-lb.push-apple.com.akadns.net +init-p01st.push.apple.com +init-s01st-lb.push-apple.com.akadns.net +init-s01st.push.apple.com +initialview.com +initnil.com +inja.com +inkankan.com +inkanke.com +inkcn.com +inke.com +inke.tv +inkeygo.com +inkonote.com +inktok.com +inkuai.com +inlaylink.com +inlishui.com +inlovektv.com +inlsd.org +inmeng.net +inmuu.com +inneed.club +innjia.com +innlym.me +innocomn.com +innojoy.com +innotechx.com +innotron.com +innovatedigital.com +innovidcn.com +innovisgroup.com +innsue.com +innvitor.com +inoherb.com +inoneh5.com +inoteexpress.com +inovance-automotive.com +inpandora.com +inpla.net +inplayable.com +inputmore.com +inqan.com +inrice.com +inrugao.com +insarticle.com +inshiqi.com +insnail.com +inspur.com +inspuronline.com +inspurpower.com +insta360.com +instafogging.com +insun-china.com +insuns.com +inswindow.com +insxz.com +int-agri.com +int800.com +intaek.com +intcache.net +intdmp.com +intekey.com +intel-space.com +intelcupid.com +intelligentmanufactory.com +intelvisioncn.com +inter12.org +inter1908.net +interactivebrokers.hk +interbator.com +internationalbrand.net +internbird.com +internet-dns.com +internet7.vip +internetcaff.com +internetke.com +internettrademark.com +internetworld.cloud +intertid.com +interval.im +intiea.org +intio.org +intl-hzc.com +intlgame.com +intlscdn.com +intmedic.com +intmian.com +intohard.com +intopet.com +intovfx.com +intowz.com +intozgc.com +intple.com +intsavi.com +intsig.net +intsweet.com +intwho.com +intwk.com +inuobi.com +inuu6.com +inveno.com +inverter.so +invescogreatwall.com +investank.com +investguider.com +investoday.net +investorscn.com +investstkitts.org +inwaishe.com +inwatch.cc +inxedu.com +inyuapp.com +inzone-auto.com +inzotek.com +ioa365.com +ioage.com +iocrest.com +ioeyjsb.com +ioffershow.com +ioffice100.com +ioio.in +ioio.pw +ioiox.com +iok.la +iol8.com +iomsew.com +ioneball.com +ionewu.com +ionic.wang +ionichina.com +ionicliquid.org +iooeoo.com +iopenhec.com +ioqq.com +ios1234.com +iosapps.itunes.g.aaplimg.com +iosappx.com +iosask.com +iosfengwo.com +iosinit.com +iosmu.com +iosre.com +ioswift.org +iot-online.com +iot1001.com +iot101.com +iot688.com +iotachem.com +iotbay.com +iotexpo.org +iotfair.net +iotku.com +iotmag.com +iotpai.com +iotwrt.com +iotxing.com +iovweek.com +iowiki.com +ip-guard.net +ip.fm +ip008.com +ip138.com +ip168.com +ip192.com +ip33.com +ip3366.net +ip518.com +ip668o.com +ip669.com +ip87.com +ipadown.com +ipadview.com +ipagame.net +ipaiban.com +ipail.com +ipalfish.com +ipalmap.com +ipampas.com +ipanda.com +ipandao.com +ipandata.com +ipangcai.com +ipanshi.com +ipaomi.com +ipaotuan.com +ipason.com +ipay.so +ipcc.com +ipcchain.org +ipcfun.com +ipchaxun.com +ipchina.com +ipcmen.com +ipcorecatalog.com +ipcwifi.com +ipcxz.com +ipdaili.com +ipddz.com +ipdftool.com +ipdianhua.com +ipdsms.com +ipduoduo.cc +ipduoduo.com +ipease.net +ipehua.com +ipengchen.com +ipengtai.com +iper2.com +ipethelp.com +ipexp.com +ipfeibiao.com +ipfen.com +ipfsbit.com +ipgoal.com +iph123.com +iphone-ld.apple.com +iphonediule.com +iphp8.com +ipianchang.com +ipin.com +ipinba.com +ipingyao.com +ipinyou.com +ipip.net +ipktv.com +ipku.cc +ipku.com +iplascloud.com +iplaypy.com +iplaysoft.com +ipmay.com +ipmph.com +ipo.hk +ipo.la +ipo3.com +ipoceo.com +iposeidongame.com +ipple.net +ipplus360.com +ippzone.com +ipr114.net +ipr123.com +ipr66.com +iprchn.com +iprdaily.com +ipresst.com +iprun.com +ips8.com +ipsir.net +ipssh.net +iptalent.com +iptrm.com +ipuu.net +ipuyuan.com +ipv4.host +ipv6.la +ipv6dp.com +ipyker.com +ipyy.com +iq123.com +iqalliance.org +iqcrj.com +iqdii.com +iqdnet.com +iqianbang.com +iqianggou.com +iqianjin.com +iqianyue.com +iqidian.com +iqihang.com +iqilu.com +iqilun.com +iqinbao.com +iqing.com +iqingdao.com +iqingren.com +iqingua.com +iqishu.la +iqiwx.com +iqiyi.com +iqiyih5.com +iqiyipic.com +iqshw.com +iquanba.com +iquanfen.com +iquanwai.com +iqucai.com +iqujing.com +iquncha.com +iqunix.com +iqunix.store +iqupdate.com +iquwang.com +iqxbf.com +iqxedu.com +iqycamp.com +iranshao.com +iraoping.com +iray.me +ircmnr.com +ireader.com +ireadercity.com +ireaderm.net +ireadweek.com +ireadyit.com +irealbest.com +irealtech.com +irecyclingtimes.com +iredwhale.com +irelxtech.com +iresearchad.com +iresearchchina.com +irest.tv +irising.me +irlianmeng.com +irockbunny.com +irockwill.com +iroing.com +ironfishchina.com +irongbei.com +ironghui.com +irootech.com +irpmgcmd.com +irs01.com +irs01.net +irs03.com +irskj.com +iruad.com +iruanmi.com +iruidian.com +iruixing.com +irukou.com +irunyan.com +is-programmer.com +is1-ssl.mzstatic.com +is1.mzstatic.com +is2-ssl.mzstatic.com +is2.mzstatic.com +is26.com +is3-ssl.mzstatic.com +is3.mzstatic.com +is36.com +is4-ssl.mzstatic.com +is4.mzstatic.com +is5-ssl.mzstatic.com +is5.mzstatic.com +isaced.com +isamanhua.com +isaonian.com +isay365.com +isbdai.org +iscrv.com +isdox.com +iseedog.com +isenruan.com +iseoku.com +isf.ink +isfashion.com +isfirst.net +ish168.com +ishaanxi.com +ishala.com +ishang.net +ishangman.com +ishangtong.com +ishangu.com +ishangzu.com +ishanshan.com +ishansong.com +ishaohuang.com +ishare20.net +isharebest.com +isharepc.com +isheely.com +isheet.net +isheji5.com +ishenbao.com +ishenping.com +ishenyou.com +ishhuo.com +ishici.com +ishipoffshore.com +ishoujizhuan.com +ishowchina.com +ishowx.com +ishubao.org +ishugui.com +ishuhui.com +ishuhui.net +ishuirong.com +ishuiyun.com +ishumei.com +ishuocha.com +ishuqi.com +ishuse.com +isigu.com +isilicontech.com +isinosig.com +isixue.com +iskcd.com +iskryou.com +isky000.com +iskylinem.com +iskysoft.com +iskytree.net +iskyworth.com +islide.cc +isluo.com +ismartgo.com +ismartware.com +ismdeep.com +isme.pub +isming.me +iso-est.com +iso-iso9000.com +isobar.tech +isoft-linux.org +isoftstone.com +isoftwind.com +isoo.cc +isorange.com +isoshu.com +isoucai.com +isoyes.com +isoying.com +isoyu.com +isp.cx +ispeaken.com +ispecial.xyz +isport2008.com +ispservice.cc +isqhy.com +isrcb.com +isscloud.com +issconline.com +issedu365.com +isthnew.com +istpei.com +istrongcloud.com +istudyinchina.org +istylepdf.com +isudaji.com +isuike.com +isumiao.com +isummi.com +isun.org +isux.us +isuzhou.me +isvee.com +isvjcloud.com +isvjd.com +isw-ex.com +iswifting.com +it-api.com +it-bound.com +it-crazy.net +it-home.org +it-shit.com +it.link +it007.com +it086.net +it1069.com +it120.cc +it1352.com +it163.com +it165.net +it168.com +it2021.com +it3588.com +it376.com +it399.com +it525.com +it528.com +it578.com +it610.com +it666.com +it689.com +it69.net +it707.com +it7e.com +it7t.com +it918.com +it985.com +it9g.com +itaboola.com +itaic.org +itaiping.com +itakeeasy.com +italyclassico.com +italycn.com +itamt.com +itangbole.com +itangyuan.com +itanlian.com +itanzi.com +itao.com +itaoke.org +itaokecms.com +itaotuo.com +itavcn.com +itazhi.com +itbegin.com +itbeihe.com +itbiaoju.com +itbilu.com +itbkz.com +itblw.com +itbole.com +itbook5.com +itboth.com +itbour.com +itboy.net +itbulu.com +itbuy.com +itbyc.com +itbyte.net +itcacfo.com +itchaguan.com +itcodemonkey.com +itcpn.net +itczh.com +itdaan.com +itdabao.com +itdcw.com +itdhz.com +itdiffer.com +itdks.com +itdlc.com +itdoor.net +itdos.com +itdos.net +iteblog.com +itechate.com +itechol.com +itedou.com +iteedu.com +iteer.net +itek-training.com +itelly.net +itellyou.com +itensoft.com +iter168.com +itest.info +itetc.org +itexamprep.com +iteye.com +itfanr.cc +itfans.net +itfeed.com +itfenghui.com +itfly.net +itfw5.com +itgd.net +itgeeker.net +itgege.com +itgemini.net +itgo.me +itgochina.com +itgoodboy.com +ithaowai.com +ithard.com +itheat.com +itheima.com +ithelei.com +ithenticatecn.com +ithome.com +ithome.net +ithor.com +ithor.net +ithothub.com +ithov.com +itiankong.com +itiankong.net +itiexue.net +itiger.com +itigergrowth.com +itilxf.com +itilzj.com +itimep.com +itingwa.com +itit.io +itiyan.net +itiyun.com +itjk.me +itjoy.net +itjspx.com +itjuzi.com +itkeyword.com +itkoala.com +itkoudai.com +itlu.org +itluantan.com +itmanbu.com +itmind.net +itminus.com +itmo.com +itmoocs.com +itmop.com +itmresources.com +itmsm.com +itmuch.com +itmyhome.com +itnan.net +itnb.cc +itnec.org +itnihao.com +itniwota.com +itnpc.com +itnpyfwshe.com +itnxs.com +itocp.com +itoec.org +itogame.com +itokit.com +itokoo.com +itonghui.com +itopbaby.com +itopers.com +itophis.com +itopic.org +itopplay.com +itopsdk.com +itotaku.net +itotii.com +itouchchina.com +itougu.com +itoumi.com +itoutiao.co +itoutiaoimg.com +itoutiaostatic.com +itouxian.com +itouzi.com +itpaidui.com +itpeo.net +itpon.com +itpow.com +itppi.org +itpub.net +itpux.com +itpux.net +itpwd.com +itrace.cc +itran.cc +itranslater.com +itrid.com +itrip.com +itruelife.com +itruke.com +itry.com +its114.com +itscoder.com +itshai.com +itsiwei.com +itsk.com +itslaw.com +itsmephoto.net +itsogo.net +itsoku.com +itsun.com +itsvse.com +ittribalwo.com +ituad.com +ituba.cc +itugo.com +ituibar.com +ituite.com +itunes-apple.com.akadns.net +itunes.apple.com +itunesconnect.apple.com +itushuo.com +itutu.tv +ituu.net +itwanger.com +itwlw.com +itwork.club +itwulin.com +itxe.net +itxiao.com +itxinwen.com +itxm.net +itxst.com +itxuexi.com +itxueyuan.com +itxueyuan.org +itxuye.com +ityears.com +itying.com +ityouknow.com +itypen.com +ityuan.com +ityxb.com +itzcdn.com +itzh.org +itzhp.com +itziy.com +itzjj.com +itzm.com +itzmx.com +itzmx.net +iu18.com +iu25.com +iu95522.com +iuban.com +iucars.com +iucdn.com +iudodo.com +iueux.com +iufida.com +iuinns.com +iuni.com +iuniware.com +iuoooo.com +iuplus.com +iuynfg.com +ivali.com +ivan.xin +ivcheng.com +ivemusic.net +ivideostar.com +iviewui.com +ivixivi.com +ivmoe.com +ivocaloid.com +ivsky.com +ivu4e.com +ivvajob.com +ivwen.com +ivy-school.org +ivybaby.me +ivycoffee.com +ivydad.com +ivydom.com +ivypub.org +ivyschools.com +ivysun.net +ivywing.me +iwala.net +iwan0.com +iwan4399.com +iwanbei.com +iwanboy.com +iwangding.com +iwangnan.com +iwanoutdoor.com +iwanvr.com +iwanws.com +iwanyl.com +iwapan.com +iwasai.com +iwatch365.com +iwcoo.com +iwebad.com +iwebchoice.com +iwecan.net +iweeeb.com +iweek.ly +iweekapi.com +iweidu.net +iweishow.com +iweizhijia.com +iweju.com +iwellen.com +iwencai.com +iwenson.com +iwgame.com +iwhgao.com +iwhr.com +iwin10.cc +iwin10.com +iwin10.net +iwingchina.com +iwiscloud.com +iwjw.com +iwncomm.com +iwordnet.com +iworm.net +iwoshang.com +iwpai.com +iwshang.com +iwucha.com +iww.me +iwwwwwi.com +iwxapi.com +iwyv.com +iwyvi.com +iwzwy.com +ixb.cc +ixbd.net +ixbren.net +ixcv.com +ixdc.org +ixfc.net +ixiangche.com +ixiangyu.com +ixianlai.com +ixianzong.com +ixiao9.com +ixiaochengxu.cc +ixiaolu.com +ixiaowai.com +ixiatxt.com +ixibeiren.com +ixieme.com +ixigua.com +ixiguan.com +ixiguavideo.com +iximo.com +ixinglu.com +ixingpan.com +ixinmanzhishe.com +ixinqing.com +ixintui.com +ixinwei.com +ixiqi.com +ixiqin.com +ixiumei.com +ixiupet.com +ixixili.com +ixizang.com +ixmu.net +ixniang.com +ixpub.net +ixs.la +ixsch.com +ixu.me +ixueshu.com +ixueyi.com +iy51.com +iyakuhin-mall.com +iyangcong.com +iyaou.com +iyaxi.com +iyaxin.com +iyaya.com +iyaya.info +iyazhu.com +iyb.tm +iycdm.com +iycsky.com +iycwl.com +iyd.wang +iydsj.com +iydu.net +iyeeda.com +iyeele.com +iyenei.com +iyingdi.com +iyingji.com +iyiou.com +iyiqi.com +iyishengyuan.com +iyiyun.com +iyizhai.com +iyocloud.com +iyong.com +iyooread.com +iyoowi.com +iyoucai.com +iyoudui.com +iyouguoo.com +iyouhun.com +iyoujia.com +iyoujiao.net +iyoule.com +iyouman.com +iyouqian.com +iyouxia.com +iyouxun.com +iytc.net +iythf.com +iyuedan.com +iyuedian.com +iyunbao.com +iyunbiao.com +iyunmai.com +iyunshu.com +iyuntian.com +iyunv.com +iyunyue.com +iyunzk.com +iyuxy.com +iyx668.com +iyxku.com +iyyin.com +iyz168.com +iz55.com +izacholsm.com +izaodao.com +izazamall.com +izestchina.com +izhangchu.com +izhangheng.com +izhaohe.com +izhaowo.com +izhenxin.com +izheteng.com +izhihuicheng.net +izhihuo.com +izhikang.com +izhiliao.com +izhiqun.com +izhishi.com +izhongxia.com +izhuanfa.com +izhuce.com +izihun.com +iziyo.com +izjj.com +izmm.me +izmzg.com +izshare.net +izt6.com +izt8.com +iztwp.com +iztyy.com +izuche.com +izuchecdn.com +izuiyou.com +izumicn.com +j-h-k.com +j-smu.com +j1.com +j1health.com +j1sc.com +j3pz.com +j66.net +j7994.com +j888s.xyz +j9p.com +jaadee.com +jaadee.net +jabizb.com +jacklm2.com +jacklm3.com +jackon.me +jackslab.org +jackxiang.com +jacky-blog.com +jackyang.me +jackyyf.com +jackzhu.com +jadetowerccrc.com +jae.sh +jaeapp.com +jaeosc.com +jafeney.com +jajqj.com +jakegame.com +jakehu.me +jakting.com +jalan.space +jalorsoft.com +jamidol.com +jammyfm.com +jamoxi.com +jampotgames.com +jamxio.com +janbao.net +jandan.com +jandan.net +jane7.com +janezt.com +janmeng.com +janpn.com +janrain.biz +janxing.com +jappstore.com +jarencai.com +jarhu.com +jartto.wang +jarvisw.com +jasolar.com +jason-z.com +jasongj.com +jasperxu.com +jasve.com +jatd.org +java-er.com +java1234.com +java2000.net +java2008.com +java2class.net +javaapk.com +javaboy.org +javacui.com +javadoop.com +javaear.com +javaer.xyz +javaeye.com +javafxchina.net +javanav.com +javashuo.com +javatang.com +javaweb.shop +javawind.net +javaxxz.com +javazhiyin.com +javazx.com +javbuy.xyz +javier.io +javitamedical.com +jaxcx.com +jaycn.com +jayfc.com +jayfu.tk +jayjw.com +jayme.net +jaytrn.com +jazzyear.com +jb-hacker.com +jb1000.com +jb51.cc +jb51.net +jbaier023.com +jbaobao.com +jbb.one +jbcz.tv +jbdown.com +jbedu.org +jbelf.com +jbfoundry.com +jbhdq.com +jbl100.com +jbpbox.com +jbqipa.com +jbryun.com +jbxy.com +jbzj.com +jbzwread.com +jbzyk.com +jbzyw.com +jc-ai.com +jc-dl.net +jc-saas.com +jc-space.com +jc0531.com +jc170.com +jc315.com +jc35.com +jc56.com +jc85.com +jccsoc.com +jccug.com +jcedu.org +jcf94.com +jcgcn.com +jchelec.com +jchl.com +jchla.com +jchxmc.com +jcjpt.com +jcku.com +jcloud-cache.com +jcloud-cdn.com +jcloud.com +jcloudcache.com +jcloudcs.com +jcloudec.com +jcloudedge.com +jcloudgslb.com +jcloudimg.com +jcloudlb.com +jcloudstatic.com +jclps.com +jcmob.net +jcmtxs.com +jcnano.com +jcnk120.com +jcodecraeer.com +jcpeixun.com +jcqczb.com +jcqzw.com +jcrb.com +jcsb.com +jcsfs.com +jcsjt.com +jcssyxh.com +jctmj.net +jctrans.com +jctuku.com +jcu.cc +jcwcn.com +jcwgk.com +jcwxiao.com +jcyes.com +jcyipong.com +jcyx2019.com +jczhijia.com +jczhiyao.com +jd-88.com +jd-app.com +jd-bbs.com +jd-df.com +jd-ex.com +jd-fm.com +jd-tv.com +jd.co +jd.com +jd.hk +jd100.com +jd2img.com +jd360.hk +jd5.com +jdair.net +jdajf.com +jdallianz.com +jdapi.com +jdb100.com +jdbbs.com +jdbbx.com +jdbpcb.com +jdbusiness.com +jdcache.com +jdcapital.com +jdccie.com +jdcdn.com +jdcf88.com +jdcjsr.com +jdcloud-oss.com +jdcloud-scdn.net +jdcloud.com +jdcloudcache.com +jdcloudcache.net +jdcloudedge.com +jdcloudnaming.net +jdcloudstatic.net +jdcloudstatus.net +jdcloudwaf.com +jdcq.net +jdctky.com +jdd-hub.com +jdd.com +jddaw.com +jddb.net +jdddata.com +jddebug.com +jddglobal.com +jddj.com +jddmoto.com +jdedu.net +jdfcloud.com +jdfhq.com +jdfschool.com +jdgslb.com +jdgwdq.com +jdhhmd.com +jdhonline.com +jdhyplay.com +jdiy.club +jdjingmai.com +jdjob88.com +jdjrdns.com +jdjygold.com +jdjys.com +jdkcb.com +jdl.com +jdluosi.com +jdlxzx.com +jdnettv.com +jdnews.net +jdon.com +jdpay.com +jdpaydns.com +jdplay.com +jdsinspection.com +jdtjy.com +jdvisa.com +jdw001.com +jdwan.com +jdwgame.com +jdwl.com +jdworldwide.com +jdwx.cc +jdwx.info +jdwxmagazine.com +jdwxs.com +jdwxwz.com +jdxc.net +jdxcw.com +jdxfw.com +jdxlt.com +jdxs5200.net +jdxzz.com +jdy.com +jdy8848.com +jdycdn.com +jdyou.com +jdypf.com +jdzbth.com +jdzdeyy.com +jdzeduyun.com +jdzj.com +jdzjdz.com +jdzmc.com +jdzol.com +jdzol.net +jeacar.com +jeagine.com +jeanphy.online +jeanssalon.com +jeasyui.net +jedi-games.com +jedoo.com +jeebei.com +jeecg.com +jeecg.org +jeecms.com +jeee.ltd +jeejen.com +jeekun.com +jeeplus.org +jeepshoe.net +jeepxie.net +jeesci.com +jeesite.com +jeeyaa.com +jefang.com +jeffdesign.net +jeffjade.com +jeffstudio.net +jegotrip.com +jehudf.com +jelleybrown.com +jellow.club +jellow.site +jellymoo.com +jellythink.com +jenglishj.com +jeongen.com +jeoshi.com +jerehedu.com +jerei.com +jerryzou.com +jescard.com +jesgoo.com +jesselauristonlivermore.com +jesselivermore.com +jestq.com +jethoo.com +jetmobo.com +jetneed.com +jetsum.com +jetsum.net +jevictek.com +jewellworld.com +jewelryseeds.com +jexus.org +jeyi.com +jf2688.com +jf9p.com +jfbcb.com +jfbuilding.com +jfcaifu.com +jfcdns.com +jfcgf.com +jfdaily.com +jfdown.com +jfduoduo.com +jfdwy.com +jfedu.net +jfenz.com +jfewle.com +jfffabc.com +jfh.com +jfinal.com +jfinfo.com +jfocus.net +jfq.com +jfrogchina.com +jfscd.com +jfshare.com +jfsky.com +jfstatic.com +jfuwu.com +jfxqczl.com +jfydgame.com +jfyiyao.com +jfz.com +jfzhiyao.com +jgaoxiao.com +jgcqgf.com +jgdq.org +jgdun.com +jgew3d.com +jgg09.com +jggame.net +jggjj.com +jgjh.com +jgscct.com +jgsdaily.com +jgshwx.com +jgtc315.com +jguo.com +jgvnews.com +jgwsoft.com +jgxlzd.com +jgy.com +jgyflqc.com +jgyljt.com +jgzx.org +jgzyw.com +jh3j.com +jh8k.com +jhbst.com +jhcb.net +jhcms.com +jhctbank.com +jhdqz.com +jhdxjk.com +jhfcuav.com +jhfgg.com +jhfl.com +jhforever.com +jhgtgb.com +jhgzn.net +jhlengku.com +jhm2012.com +jhnsh.com +jhnsyh.com +jhonge.net +jhonse.com +jhqshfly.com +jhrcbank.com +jhsbggw.com +jhsctv.com +jhsdai.com +jhsfojiao.com +jhsjtxx.com +jhssapp.com +jht868.com +jhtcgroup.com +jhua168.com +jhwaimai.com +jhwl444.com +jhwrsq.com +jhxms.com +jhyongyou.com +ji-qi.com +ji36.net +ji7.com +jia-he-jia.com +jia.com +jia360.com +jia400.com +jiaads.com +jiaapps.com +jiabangcnc.com +jiabasha.com +jiacai001.com +jiadezhixin.com +jiadingqiang.com +jiaduijiaoyou.com +jiae.com +jiafang168.com +jiafenqi.com +jiagedan.com +jiageip.vip +jiagle.com +jiagou1216.com +jiagouyun.com +jiaguhome.com +jiagulun.com +jiaheu.com +jiahongjingmao.com +jiahuacinema.com +jiahuaming.com +jiahuism.com +jiain.net +jiaji.com +jiaji28.net +jiajia.tv +jiajiakt.com +jiajianhudong.com +jiajiao114.com +jiajiaoban.com +jiaju-hy.com +jiaju.cc +jiaju.com +jiaju100.com +jiajucj.com +jiajuketang.com +jiajumi.com +jiajuol.com +jiakaobaodian.com +jiakaodashi.com +jiakeshuma.com +jialaxin.cc +jialebao.cc +jialez.com +jialiangad.com +jialidun.com +jialingmm.net +jiameng.com +jiameng001.com +jiamengdp.com +jiamengfei.com +jiamengwoba.com +jiamiantech.com +jiaming.pro +jiaminghi.com +jiamisoft.com +jiamofang.net +jian.net +jianada-qianzheng.com +jianai360.com +jianan5.com +jianbaizhan.com +jianbaolife.com +jianbh.com +jianbihua.org +jianbihua360.com +jianbihuadq.com +jianbing.com +jiancai.com +jianchacha.com +jianchihu.net +jiandaima.com +jiandan.net +jiandana.com +jiandansousuo.com +jiandanxinli.com +jiandaopay.com +jiandaoyun.com +jiandati.com +jiandiao.com +jiando.com +jiandudu.com +jiane86.com +jianeryi.com +jianfei.com +jianfei.net +jianfeiba.com +jianfeibaike.com +jianfeidaren.com +jianfengstudio.com +jiangbeishuicheng.com +jiangchaochina.com +jiangcp.com +jiangduoduo.com +jianghaihao.com +jianghao.wang +jianghehuagong.com +jianghui.xyz +jiangjiaolong.com +jiangkk.com +jiangmin.com +jiangpaipinpai.com +jiangqx.com +jiangroom.com +jiangruyi.com +jiangshanlihong.com +jiangshi.org +jiangshi99.com +jiangsugqt.org +jiangsugwy.org +jianguo.tv +jianguo02.com +jianguoyun.com +jiangwang.net +jiangweishan.com +jiangxianli.com +jiangxindaojia.com +jiangxindc.com +jiangxinlingdu.com +jiangxiol.com +jiangxipiaoliu.com +jiangzi.com +jianhaobao.com +jianhen.net +jianhui.org +jianhui666.com +jianianle.com +jianick.com +jianjian.tv +jianjiaobuluo.com +jianjie8.com +jiankang.com +jiankangchangshou.net +jiankanghebei.com +jiankangju.com +jiankangkuaile99.com +jianke.cc +jianke.com +jianke.net +jiankeba.com +jiankong.com +jiankong58.com +jiankongbao.com +jianlaixiaoshuo.com +jianlc.com +jianlc.net +jianli-sky.com +jianli9.com +jianliao.com +jianliben.com +jianlika.com +jianliw.com +jianlixiu.com +jianloubao.com +jianluote.net +jianmu.run +jianniang.com +jianpage.com +jianpaimeiye.com +jianpu8.com +jianpu99.net +jianq.com +jianqiaochina.com +jianshe99.com +jianshen8.com +jianshenmi.com +jianshiapp.com +jianshiduo.com +jianshu.com +jianshu.io +jianshu.tech +jianshuapi.com +jianshukeji.com +jiantizi.com +jiantuku.com +jianwang360.com +jianweitv.com +jianxin-tech.com +jianxun.io +jianyi.net +jianyu360.com +jianyuebg.com +jianyujiasu.com +jianyuweb.com +jianyv.com +jianzhanapp.com +jianzhanbao.net +jianzhangongsi.com +jianzhi.net +jianzhi8.com +jianzhiba.net +jianzhijiaoyu.com +jianzhikeji.com +jianzhila.net +jianzhimao.com +jianzhiwang.com +jianzhiwangzhan.com +jianzhiweike.net +jianzhiyixin.com +jianzhu2008.com +jiao4.com +jiaoben.net +jiaobuser.com +jiaochengzhijia.com +jiaodafu.net +jiaodian.pub +jiaodong.net +jiaofei123.com +jiaohuilian.com +jiaoliuqu.com +jiaomai.com +jiaoman.cc +jiaonan.net +jiaonizuocai.com +jiaoping.com +jiaoran.net +jiaoshouhuayuan.com +jiaoshouwang.com +jiaosm.com +jiaotou.org +jiaoyimao.com +jiaoyin.com +jiaoyitu.com +jiaoyixia.com +jiaoyizhu.com +jiaoyudao.com +jiaoyuwo.com +jiapin.com +jiapu.tv +jiapujidi.com +jiapuvip.com +jiaren.org +jiarenvip.com +jiarui.cc +jiasale.com +jiasao.net +jiashuangkuaizi.com +jiashule.com +jiaston.com +jiasuba.com +jiasubook.com +jiasudu666.com +jiasule.com +jiasule.net +jiasule.org +jiataoyuan.com +jiathis.com +jiatui.com +jiatx.com +jiawei.xin +jiawentrans.com +jiawin.com +jiaxiaozhijia.com +jiaxichina.net +jiaxin-industry.com +jiaxincloud.com +jiaxingren.com +jiaxiweb.com +jiaxuejiyin.com +jiayans.net +jiayi56.com +jiayin618.com +jiayinleasing.com +jiayiss.com +jiayongluyou.com +jiayouhaoche.com +jiayouxueba.com +jiayu0x.com +jiayuan-law.com +jiayuan.com +jiayuguanhotel.com +jiazhao.com +jiazhongkeji.com +jiazhoulvke.com +jiazhua.com +jiazhuang.com +jiazhuang6.com +jiazijun.com +jiazile.com +jiazuo.cc +jibai.com +jibencaozuo.com +jibing57.com +jibite.fun +jicaifund.com +jice.io +jichangbus.com +jichangdaba.com +jiche.com +jicheng.net +jichibang2019.com +jicholding.com +jichuangke.com +jiclip.com +jidacheng.com +jidaihome.com +jidao.ren +jidaola.com +jide.com +jidekan.com +jideos.com +jidi.com +jidujiao.com +jiduu.com +jie0.com +jie518.com +jiebaodz.com +jiecao.com +jiecaojingxuan.com +jiechupm.com +jiedaibao.com +jiediankeji.com +jiedianqian.com +jiefadg.com +jiefuku.com +jiegames.com +jiegeng.com +jiehuisoft.com +jiehun021.com +jiehun027.com +jiehunmishu.com +jiejing.fun +jiejingku.net +jiekenmould.com +jiekon.com +jiekou.com +jielibj.com +jieligo.net +jielong-printing.com +jielongguanjia.com +jiemeng.tw +jiemeng8.com +jiemian.com +jiemo.net +jiemo8.com +jiemodui.com +jiemoselect.com +jiepaids.com +jiepang.com +jiepei.com +jiepeng023.com +jieqi.com +jieqinwang.com +jieseba.org +jieshimt8.com +jieshu.me +jieshui8.com +jieshuwang.com +jieti5.com +jietu365.com +jietuosh.com +jietusoft.com +jiexi.la +jiexiyouxuan.com +jieyou.com +jieyoujob.com +jieyue.net +jiez238.com +jiezhu123.com +jifang360.com +jifang365.com +jifangcheng.com +jifenapp.com +jifenfu.net +jifengba.com +jifengdm.com +jifenh.com +jifenzhong.com +jigao616.com +jiguangcdn.com +jiguangdaili.com +jiguangdanci.com +jiguangkejigongsi.com +jiguo.com +jihai8.com +jihaoba.com +jiheyun.com +jihone.com +jihot.com +jihuachina.com +jihuanshe.com +jihuoma.com +jijia.com +jijiagames.com +jijiangzhi.com +jijidown.com +jijigugu.club +jijikb.com +jijing.site +jijinhao.com +jijuduo.com +jikabao.com +jikaicai.com +jike.city +jike.info +jikedaohang.com +jikedata.com +jikefan.com +jikejiazhuang.com +jikejidi.com +jikemac.com +jikewan.com +jikexiu.com +jikexueyuan.com +jikipedia.com +jilailawyer.com +jileniao.net +jiliguala.com +jiliguara.xyz +jilingban.com +jilingwy.org +jilinpujiyiyuan.com +jilinwula.com +jiliyun.com +jillbanging.com +jilong-chem.com +jimeng.mobi +jimi168.com +jimicn.com +jimifashion.com +jimilier.com +jimiru-bj.com +jimistore.com +jimmylv.info +jimonet.cc +jimu.com +jimubox.com +jimuc.com +jimucake.com +jimucc.com +jimufund.com +jimujiazx.com +jin10.com +jin10x.com +jin24k.com +jinanguanggao.com +jinantxw.com +jinanxww.com +jinbaiteng.com +jinbaobeiqiming.com +jinbaoidc.com +jinbaonet.com +jinbei.com +jinbiaohui.com +jinbifun.com +jinbikan.com +jinbilianmeng.com +jinbitou.net +jinbuguo.com +jincaicaiwu.com +jinchaodengji.com +jinchuan2014.com +jinchuang.org +jinchutou.com +jincin.com +jincon.com +jindanlicai.com +jindaodao.com +jindian120.com +jindianweb.com +jindingfm.com +jindun007.net +jindunfan.com +jinduoduo.net +jinenrunze.com +jinfangka.com +jinfantongyici.com +jinfengkou.com +jinfengpaint.com +jinfengwine.com +jinfuzi.com +jing-xian.com +jingbotech.com +jingc.com +jingcai360.net +jingchang.tv +jingchengcb.com +jingchengwl.com +jingchurc.com +jingdaka.com +jingdata.com +jingdian230.com +jingdianjiu.com +jingdianju.com +jingdianlaoge.com +jingdianxitong.com +jingdiao.com +jingdigital.com +jingdong.com +jingdongdaili.com +jingdongyouxuan.com +jingdw.com +jingfentui.com +jingguan.ai +jinghaishop.com +jinghangapps.com +jinghua.com +jinghujiaoyu.com +jingjia.org +jingjiamicro.com +jingjiang.com +jingjiawang.com +jingjie360.com +jingjiezhileng.com +jingjiu.com +jingkan.net +jingkids.com +jinglawyer.com +jinglingbiaozhu.com +jinglong0769.com +jingmaoyuanxin.com +jingme.net +jingmeiti.com +jingniukeji.com +jingoal.com +jingos.com +jingp.com +jingpai.com +jingpaidang.com +jingpinke.com +jingpinwenku.com +jingpt.com +jingrongshuan.com +jingruigroup.com +jingsh.com +jingshibianhuren.com +jingshuiqicai.com +jingsocial.com +jingsoo.com +jingtanggame.com +jingtuitui.com +jingtum.com +jingua168.com +jingujie.com +jingutrust.com +jingwei.com +jingwei.link +jingwuhui.com +jingxi.com +jingxianglawfirm.com +jingxinad.com +jingxingseo.com +jingxuanwang.com +jingy8.com +jingyakt.com +jingyan8.cc +jingyanben.com +jingyanbus.com +jingyanshu.com +jingyanzhinan.com +jingyeqian.com +jingyi186.com +jingying.com +jingyougz.com +jingytech.com +jingyu.com +jingyuan.com +jingyuelaw.com +jingyuxiaoban.com +jingyuyun.com +jingzhe.me +jingzhengu.com +jingzhiyuanyi.com +jingzong.org +jinhaidai.com +jinhe-energy.com +jinhengjgj.com +jinher.com +jinheshiye.com +jinhuatv.com +jinhuazhe.com +jinhuicorp.com +jinhuizhibo.com +jinhusns.com +jinianbi.com +jiniance8.com +jinjiang.com +jinjianginns.com +jinjingquan.com +jinju8.com +jinjunmei.net +jinkagou.com +jinkan.org +jinke3d.com +jinkejoy.com +jinkongjianshe.com +jinkosolar.com +jinku.com +jinlaiba.com +jinlanqihua.com +jinlianchu.com +jinligou.com +jinlila.com +jinlinghotel.com +jinlinghotels.com +jinliniuan.com +jinlishenghuo.com +jinliyu.cc +jinlong-jiaxiao.com +jinmaojie.com +jinmaopartners.com +jinmenrc.com +jinmi.com +jinmogame.com +jinmuinfo.com +jinnianduoda.com +jinnong.cc +jinpengeye.com +jinphui.com +jinqiexia.com +jinqunla.com +jinridandong.com +jinriguanzhu.cc +jinrishici.com +jinritemai.com +jinrong-online.com +jinrongbaguanv.com +jinrongren.net +jinrongwang.net +jinrui-tech.com +jinruimedia.com +jins-cn.com +jins365.com +jinsdk.com +jinse.com +jinsebook.com +jinsedihao.com +jinsehuaqin.com +jinshakemei.com +jinshangcaijing.com +jinshangdai.cc +jinshangdai.com +jinshanju.com +jinshare.com +jinshisoft.com +jinshuju.co +jinshuju.com +jinshuju.net +jinshuju.org +jinshujuapp.com +jinshujucdn.com +jinshujufiles.com +jinshun.com +jinsiwei.com +jintaimall.com +jintajituan.com +jintang114.org +jinti.com +jintiango.com +jintianjihao.com +jintiankansha.me +jintianpaper1.com +jintonghua.com +jintoushou.com +jintoutiao.com +jinwaimai.com +jinwin.net +jinxianglian.net +jinxidao.com +jinxinqh.com +jinxiu8.com +jinxiuzhilv.com +jinxuliang.com +jinxun.cc +jinyaco.com +jinyi2008.com +jinyindao.com +jinying.com +jinyongwang.com +jinyoukai.com +jinyueya.com +jinyunfood.com +jinyunweb.com +jinyuzd.cc +jinzhandaily.com +jinzheled.com +jinzhidagl.com +jinzhoubank.com +jinzhouwp.com +jinzhucaifu.com +jinzhuguo.com +jinzjy.com +jinzunjy.com +jioluo.com +jiongcun.com +jiongdm.com +jiongji.com +jiongyaya.com +jiou.me +jiouyun.com +jipays.com +jipingacg.com +jipinwww.com +jipukeji.com +jiqid.com +jiqie.com +jiqike.com +jiqimao.com +jiqirenku.com +jiqizhixin.com +jirengu.com +jirou.com +jirou.org +jirry.me +jisapower.com +jisec.com +jishi3.com +jishicn.com +jishida.vip +jishuchi.com +jishukong.com +jishuqq.com +jishutuan.com +jishux.com +jisi17.com +jisilu.com +jisu-cnd.com +jisuacg.com +jisuan.mobi +jisuanke.com +jisuanqinet.com +jisuanzt.com +jisuapi.com +jisuchaxun.com +jisuchou.com +jisuclouds.com +jisucn.com +jisufeifei.com +jisuim.com +jisuimg.com +jisujie.com +jisukandian.com +jisuoffice.com +jisupdf.com +jisupdfeditor.com +jisupdftoword.com +jisupe.com +jisuqianbao.com +jisutodo.com +jisutp.com +jisutui.vip +jisuwebapp.com +jisuxia.com +jisuye.com +jisuyilaixingpiyan.com +jita.im +jita5.com +jitailian.com +jitaqupu.com +jitashe.org +jitavip.com +jiterzzzz.com +jitiku.com +jitongtianxia.com +jitu5.com +jitucdn.com +jituofuture.com +jituwang.com +jiub.ren +jiubuhua.com +jiucaicaijing.com +jiucaigongshe.com +jiuchet.shop +jiuchutong.com +jiucool.org +jiuday.com +jiudianjiu.com +jiudianyuedu.com +jiudingcapital.com +jiudingdalv.com +jiugang.com +jiugangbid.com +jiuguanfm.com +jiuhetx.com +jiuhuang.com +jiuhuar.com +jiuhuashan.cc +jiujiange.com +jiujiui.com +jiujiunn.com +jiujiups.com +jiujiuwan.com +jiujiuwj.com +jiujiuyingshi.com +jiujiuyunhui.com +jiuku.com +jiulesy.com +jiulingwan.com +jiulishi.com +jiumaojiu.com +jiumaster.com +jiumei.com +jiumei8.com +jiunile.com +jiupaicn.com +jiupaicom.com +jiupin8.com +jiuq.com +jiurong.com +jiuse.cloud +jiushiadx.com +jiushikou.com +jiushixing.com +jiushu.net +jiushui.tv +jiusi.net +jiusihengyuan.com +jiusitm.com +jiusongjiankang.com +jiutu.net +jiututa.com +jiuwa.net +jiuwan.com +jiuwei.net +jiuxian.com +jiuxianfeng.com +jiuxihuan.net +jiuxinban.com +jiuxing.com +jiuyan.info +jiuyao666.com +jiuyi2005.com +jiuyiliebian.com +jiuyingnet.com +jiuyingwangluo.com +jiuys.com +jiuyuehuyu.com +jiuyuu.com +jiuzhaigou-china.com +jiuzheng.com +jiuzhilan.com +jiuzhinews.com +jiuzhu999.com +jiuzungame.com +jiwa123.com +jiwanjiwan.com +jiweichengzhu.com +jiwu.com +jiwudai.com +jixiangbaiwei.com +jixiangjili.com +jixiangyou.com +jixianku.com +jixie100.net +jixie5.com +jixiewz.com +jixingzs168.com +jixuanw.com +jixunjsq.com +jixunlyq.com +jiyifa.com +jiyili.net +jiyin-tech.com +jiyin2020.com +jiyixcx.com +jiyiyq.com +jiyou-tech.com +jiyoujia.com +jiyouwang.com +jiyuncn.com +jiyuqiao.com +jizhan.com +jizhangapp.com +jizhangzhuce.com +jizhiba.com +jizhidsp.com +jizhiyingxiao.net +jizhiyouke.com +jizhuba.com +jizhuomi.com +jizhutaoke.com +jiziyy.com +jizunnet.com +jj-inn.com +jj-tv.com +jj20.com +jj3721.com +jj55.com +jj59.com +jj831.com +jjapk.com +jjb-static.com +jjbang.com +jjbank.net +jjbbs.com +jjbhn.com +jjbisai.com +jjblove.com +jjbnews.xyz +jjccb.com +jjcdn.com +jjcoffetel.cc +jjcoffetels.com +jjcpchina.com +jjcto.com +jjdc.net +jjdede.com +jjdiaoyu.com +jjdzc.com +jjecn.com +jjfinder.com +jjg630.com +jjgsxc.com +jjhgamedns.com +jjhh.com +jjhsd.com +jjhuifu.com +jjhuigou.com +jjhuoyan.com +jjhyxh.com +jjidc.com +jjiehao.com +jjinfo.com +jjisp.com +jjj.ee +jjjaaa.com +jjjg.co +jjjoystudios.com +jjjsgczbtb.com +jjjtimes.com +jjkeq.com +jjkk.org +jjkucunxie.com +jjldbk.com +jjlsd.com +jjmatch.com +jjmh.com +jjmj.tv +jjmkids.com +jjmmw.com +jjnz.com +jjonline.org +jjplane.com +jjppt.com +jjqj.net +jjrjd.com +jjsedu.org +jjshang.com +jjsip.com +jjtfyjy.com +jjtianshangi.com +jjtonline.com +jjtqnews.com +jjtravel.com +jjttjx.com +jjunj.com +jjvod.tv +jjw.com +jjword.com +jjwxc.com +jjwxc.net +jjwxc.org +jjx88.net +jjxj.org +jjxsw.la +jjxwzk.org +jjxyls.com +jjy118.com +jjygym.com +jjyl12349.com +jjyx.com +jjyy.me +jjzdm.com +jjzfgjj.com +jjzl800.com +jk-px.com +jk126.com +jk130.com +jk2h.com +jk37du.com +jk3a.com +jk51.com +jk520.net +jk724.com +jk8090.com +jkangbao.com +jkbexp.com +jkc8.com +jkcorkpads.com +jkcsjd.com +jkdsz.com +jkeabc.com +jkgood.com +jkidc.com +jkimg.net +jkjzt.com +jkpan.cc +jkpj.com +jktcom.com +jktong.com +jkx.cc +jkxds.net +jkydt.com +jkyeo.com +jkys5.com +jkzhilu.com +jkzl.com +jl0435.com +jl54.org +jladi.com +jlakes.org +jlbtrip.com +jlc-gw.com +jlc.com +jlccpit.com +jlcerp.com +jlforging.com +jlfzb.com +jlg86.com +jlgyjj.com +jljbbs.com +jljgdj.org +jlkj.cc +jllihua.com +jlmhw.com +jlonline.com +jlpay.com +jlpzj.net +jlq.com +jlr360.com +jlsdzgckcy.com +jlsemi.com +jlspr.com +jltyjxzz.com +jlwlyx.com +jlwubi.com +jlxfw.com +jlytjx.com +jlzkb.com +jlzsoft.com +jlzyz.com +jm1ph.com +jm2046.com +jm3q.com +jm678.com +jmabroad.com +jmads.net +jmbbs.com +jmd-china.com +jmdedu.com +jmeii.com +jmeishe.com +jmf0.com +jmf6.com +jmfans.com +jmgle.com +jmgo.com +jmhapp.com +jmhd8.com +jmicd.com +jmjc.tech +jmjiuchang.com +jmjxc.com +jmkjmob2.xyz +jmkjmob5.xyz +jmkx.com +jmlk.co +jmmuseum.com +jmonline.org +jmqy.com +jmrsksj.org +jmsqw.com +jmstatic.com +jmtd0531.com +jmtsg.com +jmxw.net +jmykw.com +jmyna.net +jmzcgs.com +jmzns.com +jn-bank.com +jn001.com +jn123456.com +jn1535.com +jnaoliyuan.com +jnbbbyy.com +jnbnzk.com +jncarw.com +jncgzl.com +jncjqgs.com +jncqj.com +jncyx.com +jndajj.com +jndasjjx.com +jndssd.com +jndwyy.com +jnesc.com +jnhcjzlw.com +jnhouse.com +jnjbrother.com +jnjj.com +jnjjyq.com +jnjylh.com +jnkason.com +jnky.com +jnlab.com +jnlc.com +jnliyu.com +jnlou.net +jnltgm.com +jnltwy.com +jnmama.com +jnmami.com +jnnc.com +jnnews.tv +jnqccw.com +jnrain.com +jnsdgz.com +jnshu.com +jnsino.com +jnstdc.com +jntianjin.club +jntinchina.com +jntyhl.com +jnw.cc +jnwb.net +jnxiuchuan.com +jnxmycnc.com +jnyestar.com +jnzcsyj.com +jnzfwz.com +jnzheming.com +jnzhonglidjc.com +jnzixun.com +jnzycw.com +joaquinchou.com +job0768.com +job10000.com +job1001.com +job120.com +job168.com +job256.com +job263.com +job36.com +job4ee.com +job510.com +job5156.com +job592.com +job910.com +job9151.com +job98.com +job992.com +job9981.com +jobbole.com +jobcdp.com +jobcn.com +jobdeer.com +jobdogame.com +jobeast.com +jobgojob.com +jobguangfu.com +jobhb.com +jobi5.com +jobkoo.com +jobksd.com +jobpin.com +jobreading.net +jobsalon.net +jobsdigg.com +jobsitechina.com +jobsun.com +jobtong.com +jobui.com +jobuy.com +jobvvv.com +jobyp.com +jocat.com +jocelynlaura.com +joe92.com +joenchen.com +johhan.com +johnardo.com +johnwatsondev.com +joiest.com +joindata.net +joinf.com +joiningss.com +joinkchem.com +joinquant.com +joinsen.com +joint-harvest.com +jointforce.com +joinusad.com +joinwaylawfirm.com +joinwee.com +jojju.com +jojoin.com +jojoreading.com +joker.li +jolimark.com +jomodns.com +jomoxc.com +jonahome.net +jone.wang +jonllen.com +jonny.vip +jonsbo.com +joobot.com +joojcc.com +joojtech.com +joojzz.com +joomob.com +joooz.com +joouoo.com +joowhee.com +joox.com +jooyoo.net +jooyuu.com +joozone.com +joqoo.com +josephcz.xyz +joshreso.com +joshuais.me +josncdn.com +jotop.net +jotrin.com +jouav.com +joudou.com +jourlib.org +journalmc.com +journeyui.com +jourserv.com +jouypub.com +jovcloud.com +jovetech.com +jowto.com +joy9178.com +joyact.com +joyami.com +joyany.com +joyapi.com +joycbd.com +joydin.com +joyes.com +joyfire.net +joyglue.com +joying.com +joyj.com +joyk.com +joylife.hk +joymeng.com +joynb.net +joyncleon.com +joyocean.org +joyohub.com +joyoung.com +joyowo.com +joyque.com +joyshebao.com +joysight.com +joyslink.com +joysung.com +joytrav.com +joytraveller.com +joyu.com +joyulf.com +joyuyx.com +joywii.net +joywok.com +joyyang.com +joyzlan.com +jp-moco.com +jp.com +jp14.com +jpanj.com +jpbeta.net +jpeen.com +jpegonline.com +jperation.com +jpg.cm +jphot.net +jpjc315.com +jpjww.com +jpkcnet.com +jpkix.com +jpmsg.com +jppeony.com +jpqp888.com +jpshuntong.com +jpsmile.com +jptaiyo.com +jpthome.com +jpush.io +jpushoa.com +jpuyy.com +jpwb.cc +jpwb.net +jpwind.com +jpwindow.com +jpwxapp.com +jpxzm.com +jpyoo.com +jpyssc.com +jpzyfx.com +jq-school.com +jq22.com +jq960.com +jqbyby.com +jqcool.net +jqdto.com +jqdzw.com +jqfax.com +jqgc.com +jqgcw.com +jqhtml.com +jqpress.com +jqr.com +jqr5.com +jqrkc.com +jqrzhijia.com +jqsite.com +jqskygame.com +jquee.com +jquery123.com +jqueryfuns.com +jquerywidget.com +jqw.com +jqw0099.com +jqwater.com +jqzhu.com +jqzhuangshi.com +jqzjop.com +jqzw.com +jr-soft.com +jr123.com +jr18.com +jrdzj.cc +jrecchina.com +jrexam.com +jrgang.com +jrhdg.com +jrj.com +jrjhg.com +jrjingshan.com +jrjr.com +jrkantv.com +jrlady.com +jrmf360.com +jrpxw.com +jrqiwen.com +jrqzw.net +jrsmw.com +jrszw.com +jrteck.com +jrtj120.com +jrwenku.com +jrxjnet.com +jrxzj.com +jryghq.com +jrysdq.com +jryzt.com +jrzj.com +jrzp.com +js-aerfa.com +js-ceo.com +js-code.com +js-screen.com +js-weilong.com +js.design +js04999.com +js0573.com +js11183.com +js118114.com +js165.com +js178.com +js3.org +js3n.com +js53777.com +js66649.com +js7xc.com +js8.in +js811.com +js96008.com +jsahj.com +jsbc.com +jsbexam.com +jsbgj.com +jsceou.com +jsche.net +jschengta.com +jschunxing.com +jscj.com +jsckjqr.com +jsclearing.com +jscmjt.com +jscnc.net +jscqt.com +jscssimg.com +jscts.com +jsczyjg.com +jsd.cc +jsdaima.com +jsddlzz.com +jsdthx.com +jsdujuan.com +jsdushi.net +jseepub.com +jseie.org +jseoptics.com +jser.com +jser.io +jsfengchao.com +jsfof.com +jsform.com +jsform3.com +jsfw8.com +jsfycdn3.com +jsgbds.com +jsgc168.com +jsgcbank.com +jsgh.org +jsgho.net +jsgjksl.com +jsgrb.com +jsguolv.com +jsgyrcb.com +jshaman.com +jsharer.com +jshasl.com +jshbank.com +jshmrcb.com +jshnh.com +jshqjt.com +jshrconsult.com +jshsoft.com +jshuabo.com +jshuachen.com +jshy.com +jshylm.com +jsimg.cc +jsinfo.net +jsiteec.org +jsjclykz.com +jsjdrcb.com +jsjdzf.com +jsjinfu.com +jsjjy.com +jsjkx.com +jsjlzxw.com +jsjs.cc +jsjs.org +jsjyrcb.com +jskaiborui.com +jskpcg.org +jskwt.com +jsldweb.com +jslegal.com +jslottery.com +jsls1.com +jslwzk.com +jslxs.com +jsly001.com +jsmaochang.com +jsmian.com +jsmjys.com +jsmo.xin +jsmsg.com +jsmxw.com +jsncke.com +jsningyi.com +jsnx.net +jsnxs.com +jsocr.com +json-json.com +jsonin.com +jsonnode.com +jsososo.com +jsp51.com +jspang.com +jspatch.com +jspcn.net +jspeople.com +jspxcms.com +jsq001.com +jsq886.com +jsqlawer.com +jsqq.net +jsqt.com +jsr9.com +jsrcu.com +jsrrcb.com +jsrsrc.com +jsrtzx.com +jsruiyin.com +jsrun.net +jsrun.pro +jsrxjt.com +jss580.org +jssalt.com +jssdk.net +jssfx.com +jssgw.com +jsshow.net +jssjys.com +jssnrcb.com +jsswordshop.com +jssytc.com +jstdtncj.com +jstfdz.com +jstoo.com +jstour.com +jstoys.net +jstucdn.com +jstv.com +jstxdm.com +jstxrcb.net +jstycn.com +jstzjy.net +jstzrcb.com +jsw988.com +jswebcall.com +jswku.com +jswmw.com +jswspocapi.com +jsxat788.com +jsxcra.com +jsxfedu.com +jsxhrb.com +jsxhrcb.com +jsxhw.org +jsxiaoguo.com +jsycsy.com +jsyd10086.net +jsyfkj.com +jsyihaotong.com +jsyks.com +jsypin.com +jsypj.com +jsyun.cc +jsyxrcb.com +jszb123.com +jszbtb.com +jszbug.com +jszbw.com +jszg.org +jszgjt.net +jszhaobiao.com +jszks.com +jszks.net +jszygs.com +jt-yun.com +jt62.com +jt996.com +jtamc.com +jtbole.com +jtggame.com +jtgzfw.com +jthailang.com +jthcsx.com +jthl.net +jtimg.com +jtjr99.com +jtlw.com +jtm.pub +jtnsh.com +jtnxs.com +jtstudy.com +jttv.net +jtv123.com +jtyjy.com +jtyy.com +ju33.com +ju51.com +ju81.cc +juandou.com +juangua.com +juanlaoda.com +juanpi.com +juanpimao.com +juanshangwang.com +juanyunkeji.com +juapp5.com +juaq.com +jubaopay.com +jubaopeng5555.com +jubaozang.com +juben68.com +juben98.com +juc365.com +jucanw.com +jucelin.com +jucheng01.net +juchuangbio.com +jucong.com +judouapp.com +juduo.cc +juduoping.com +jue.so +jue1.com +juecan.com +juedui100.com +jueduilingyu.com +juehuo.com +juejin.im +juejinchain.com +juejinqifu.com +juemei.com +juemuren4449.com +jueok.com +juesheng.com +jueshitangmen.info +juewei.com +juexiang.com +juezhao123.com +jufaanli.com +jufengshang.com +jufidc.com +jufoinfo.com +jufxf.com +juhangye.com +juhaof.com +juhaokan.org +juhe.com +juhemulu.com +juheweb.com +juheying.com +juhome.net +juhuasuan.com +juhuisuan.com +jui.org +juicefs.com +juimg.com +juiuns.com +jujayoupin.com +juji.tv +jujiangkk.com +jujiaobaby.com +jujiaonet.com +jujiaonet1.com +jujias.com +jujienet.com +jujin8.com +jujiu8.com +jujoy.com +jujuanpi.com +jujumao.com +jujusky.com +jujuwan.com +jukandiannews.com +jukebao.com +jukebao123.com +jukejia.com +juketool.com +jukuu.com +julaibao.com +julanhp.com +julecn.com +julefun.com +juliacn.com +juliang8.com +juliangyinqing.com +julianhd.net +julihun.com +julive.com +julur.com +julyapp.com +julyclyde.org +julydate.com +julyedu.com +julysong.com +jumaizhijia.com +jumanhua.com +jumei.com +jumeiglobal.com +jumeinet.com +jumengren.com +jumi-cdn.com +jumi.com +jumi18.com +jumin.cc +juming-xz.com +juming.com +jumore.com +jumorenews.com +jump2006.com +jumpjumpcat.com +jumple.com +jumppo.com +jumpserver.org +jumpstar-tech.com +jumpw.com +jumpwgame.com +jumpwo.com +jun360.com +jun4.com +junankeji.com +jundacheng.com +jundui.net +jundushan.com +junews.net +juneyao.com +juneyaoair.com +juneyaoairlines.com +jungebb.com +junhe.com +junhongjc.com +junhuisoft.com +juniu.tv +junjiahao.com +junjichu.net +junjing.net +junjunfudao.com +junka.com +junlee.net +junlongtech.com +junmidao.com +junmin.org +junmoseo.com +junnanhao.com +junph.com +junpin.com +junpin360.com +junpinhui.com +junpinzhi.com +junqing.ren +junqing360.com +junren.net +junrongdai.com +junsangs.com +junsaozg.com +junshencm.com +junshi.com +junshi81.com +junshi881.com +junshidao.com +junshier.com +junshifuxin.com +junshijia.com +junshis.com +junshishu.com +junshitx.com +junsw.com +junsz.com +juntongtian.com +junwei1000.com +junwu262.com +junxilinux.com +junyao.tech +junying.com +junyougame.com +junyudns.com +junyuewl.com +junzhuan.com +junziboxue.com +junzimen.com +junziqian.com +juooo.com +jupup.com +juqi.com +juqingjuqing.com +juqiwang.net +juren.com +jurenqi.com +jurongfangchan.com +jurongrencai.com +juseey.com +jusfoun.com +jusha.com +jushewang.com +jushigj.com +jushike.net +jushikk.com +jushiwangedu.com +jushuo.com +jussevent.com +jusstickets.com +just4coding.com +just4fun.ml +just4fun.site +just998.com +justalkcloud.com +justbilt.com +justbon.com +justdo.tv +justdojava.com +justep.com +justering.com +justjavac.com +justpodmedia.com +justsy.com +justwe.site +justyle.cc +justylepro.com +jutao.com +jutean.com +jutingshop.com +jutoudang.com +jutoula.com +jutuilian.com +juturn.com +juvefans.com +juwa.net +juwan.com +juwangmedia.com +juwanshe.com +juweixin.com +juxia.com +juxin.tv +juxinfu.com +juxing-edu.com +juxingyi.com +juxinhuizhi.com +juyanbao.com +juyouqu.com +juyouquan.net +juyoutv.cc +juyouxuan.vip +juzhen.com +juzhen.io +juzhiyuan.com +juzhongjoy.com +juzicy.com +juzifenqi.com +juzilab.com +juzilicai.com +juzimi.com +juzioo.com +juziseo.com +juzisy.com +juzivr.com +juzix.io +juziyinyue.com +juzizhoutou.net +jv-bao.com +jvcxp.com +jvmai.com +jvrong.com +jvshi.net +jvyou.net +jw100.net +jwappgc.com +jwbl.com +jwdedu.com +jwdili.com +jwdns.com +jwetech.com +jwfun.com +jwipc.com +jwl100.com +jwnote.com +jwshy.com +jwview.com +jwwey.com +jwx365.com +jwxlschool.com +jwyun.net +jx-bank.com +jx-nc.com +jx.la +jx09.com +jx188.com +jx3mogu.com +jx3pve.com +jx3tong.com +jx3yymj.com +jxage.com +jxal.net +jxbin.com +jxc4.com +jxcaipu.com +jxcb.net +jxccb.com +jxcf.org +jxcsedu.com +jxcua.com +jxdiguo.com +jxdkzz.net +jxdown.com +jxdyf.com +jxedt.com +jxedu.net +jxeduyun.com +jxetv.com +jxexpressway.com +jxf57.com +jxf75.com +jxfcls.com +jxg1.com +jxgdw.com +jxgxbd.com +jxhyshiye.com +jxiaolan.com +jxicloud.com +jxidc.net +jximage.com +jxjdgy.com +jxjee.com +jxjhkq.com +jxjia.net +jxjob.net +jxjyzy.com +jxkjzb.com +jxkp.com +jxlgjd.com +jxlhz.com +jxlwgame.com +jxmlkd.com +jxndxuebao.com +jxnxs.com +jxold.com +jxorg.com +jxpta.com +jxpz888.com +jxqcw.com +jxqgpx.com +jxrencai.com +jxrjzx.com +jxrsrc.com +jxrtv.com +jxrtvu.com +jxscct.com +jxsd-sz.com +jxsgfzx.com +jxshangyou.com +jxslsyy.com +jxsqw.com +jxsrfdc.com +jxsthgz.com +jxsxdp.com +jxtech.net +jxtobo.com +jxtvshop.com +jxtyzx.org +jxtzw.com +jxunicom.com +jxw123.com +jxwmanage.com +jxwz.net +jxxdf.com +jxxfzx.com +jxxhdn.com +jxxhsd.com +jxxyqm.com +jxyrzdh.com +jxysg.net +jxysyz.com +jxyworld.com +jxzyx.com +jy0604.com +jy0832.com +jy1.me +jy135.com +jy1991.com +jyacht.com +jyaochi.com +jyb8.com +jybase.net +jyblife.com +jyc99.com +jycbank.com +jycinema.com +jycloudgslb.com +jycloudgslb.net +jydc.com +jydoc.com +jyeoo.com +jyeoo.net +jyepc.com +jyfscl.com +jyfund.com +jyg-lighting.com +jygame.net +jyguagua.com +jygz.com +jyh007.com +jyhlo0.com +jyhmz.com +jyhyfintax.com +jyimg.com +jyip.net +jyjjc.com +jyjxlt2009.net +jyltx.com +jylw.com +jymkt.com +jymys.com +jynews.net +jyoptical.com +jypc.org +jypecdn3.com +jyqkx.com +jyqxz2015.com +jyrd.com +jyrlzy.com +jysd.com +jysld.com +jysq.net +jyss.net +jysyzk.com +jyteasy.com +jyuvip.com +jyxdyzx.com +jyyun.com +jyz99.com +jyzysp.com +jyzzx.com +jz-cert.com +jz-job.com +jz.cc +jz.com +jz0045.com +jz0574.com +jz08.com +jz100.com +jz177.com +jz182.com +jz2005.com +jz51598.com +jz5u.com +jz5u.net +jz6.com +jz68888.com +jzant.com +jzb.com +jzbar.net +jzbdc.com +jzcbank.com +jzchou.com +jzclassroom.com +jzcxptm.com +jzcyrl.com +jzdhyl.com +jzedu24.com +jzerp.com +jzgcjsysjzz.com +jzgcjszz.com +jzgwind.com +jzhfz.com +jzhxgg.com +jzic.com +jzita.com +jzjtop.com +jzke.com +jzkjjt.com +jzkuaiji.com +jzmob.com +jzmsmj.com +jzmt.net +jznqp.net +jznyjt.com +jzongguan.com +jzrb.com +jzrc.net +jzrsrc.com +jzsc.net +jzsc8.com +jzsgzmhjyxgs.com +jzshequ.com +jzsjyksy.com +jzsxinyudianqi.com +jzsyishu.com +jztdc.com +jztdj.com +jztey.com +jztggs.com +jztmgy.com +jztoo.com +jztsjx.com +jztsoft.com +jztvxmt.com +jztylxx.com +jztzw.net +jzwcom.com +jzxs.com +jzxue.com +jzyx.com +jzzhw.com +jzzx.com +jzzxlm.com +jzzy666.com +k-day.com +k-kbox.com +k-res.net +k-xian.com +k0898.com +k0rz3n.com +k11kuriosity.com +k12.vip +k125.com +k12zx.com +k165.com +k18.com +k18882.com +k1u.com +k259.com +k2938.com +k2ma.com +k345.cc +k366.com +k369.com +k3851.com +k3887.com +k4nz.com +k518.com +k6271.com +k666.com +k6uk.com +k73.com +k780.com +k7kf.com +k8008.com +k8ba.com +k8bd.com +k8dream.com +k8jdw.com +k8sj.com +k8smeetup.com +k8stech.net +k8w.wang +k913.com +ka20.com +ka5188.com +ka58.net +kaadas.com +kaayou.com +kaayun.com +kaba365.com +kabasiji.com +kabitu.com +kaboy.net +kada.com +kadang.com +kadingding.com +kaesoon.com +kafka.cc +kagirl.net +kai-ying.com +kaiba315.com +kaibo5888.com +kaiboda.org +kaiboer.com +kaichengschool.com +kaidanbao.com +kaidianbang.com +kaieconblog.net +kaifabang.com +kaifae.com +kaifage.com +kaifakuai.com +kaifamei.com +kaifangkecheng.com +kaifapiao.com +kaifaxueyuan.com +kaifenghenan.com +kaifu.com +kaifuzq.com +kaige68.com +kaihei.co +kaihui.com +kaihuia.com +kaijia.com +kaijia.me +kaikeba.com +kailing.pub +kaimanhua.com +kaimg.com +kaimigou.com +kaimulu.com +kaipan88.com +kaipanla.com +kaiqiancq.com +kaishigo.com +kaishikan.com +kaishilou.com +kaishuhezi.com +kaishustory.com +kaitianad.com +kaivps.com +kaiwind.com +kaixin.com +kaixin00.com +kaixin001.com +kaixin5.net +kaixinbao.com +kaixindou.net +kaixinguopiao.com +kaixinguopiaowu.net +kaixinhui.com +kaixinhui.net +kaixinlu.com +kaixinly.com +kaixinpaopao.com +kaixintang.com +kaixue.io +kaiyanapp.com +kaiyiluye.com +kaiyuan.com +kaiyuan.me +kaiyuangroup.cc +kaiyuanhi.com +kaiyuanhotels.com +kaiyuanzg.com +kajicam.com +kaka.com +kaka3.com +kakadm.com +kakalili.com +kakamobi.com +kakatv1.com +kakazy-yun.com +kalading.com +kalazan.com +kalcaddle.com +kalegou.com +kalingling.com +kaluli.com +kameng.com +kamenwang.com +kamidm.com +kamidox.com +kamopos.com +kan.cc +kan0512.com +kan300.com +kan84.net +kan98.com +kanbaobei.com +kanbardata.com +kanbing.net +kanbox.com +kanchao.com +kandian.com +kandian.net +kandianshi.com +kandzww.com +kanfangapp.com +kanfangjilu.com +kanfaxing.com +kanfeidie.com +kanfou.net +kangaiweishi.com +kangame.tv +kangbaifoundation.com +kangbatv.com +kangbidz.com +kangchun.com +kangdajiuzhou.com +kangdaoai.com +kangepian.com +kanggou.com +kanggui.com +kanghao123.com +kanghu.net +kanghuayun.com +kanghui.com +kanghuwang.com +kangkang.work +kanglaohui.com +kangle.net +kanglingjiu.com +kanglu.com +kangqite.com +kangre.com +kanguo.com +kanguowai.com +kangxi55wlsf.com +kangxin.com +kangyueshi.com +kangze.com +kangzhi.com +kanhaiwai.com +kanimg.com +kaniuquan.com +kanjia.com +kanjian.com +kanjianlishi.com +kanjianxinli.com +kanjuqing.com +kanjuwo.com +kankan365.cc +kankancity.com +kankanews.com +kankanmi.com +kankannews.com +kankanzhijian.com +kanketv.com +kankun-smartplug.com +kanluzhe.com +kanman.com +kanmeinv.com +kanmx.com +kannb.com +kanqibao.com +kanqiye.com +kanqq.com +kanqu.com +kansdk.com +kansea.com +kanseen.com +kanshaa.com +kanshangji.com +kanshangjie.com +kanshu.com +kanshu.la +kanshu5.la +kanshu8.net +kanshuapp.com +kanshuge.com +kanshuhai.com +kanshula.com +kanshuwangzhan.com +kansp.com +kantao.net +kantiantang.com +kantsuu.com +kantu.com +kanwby.com +kanxiqu.com +kanxsw.com +kanxue.com +kanzhen666.com +kanzhun.com +kao8.cc +kaobeitu.com +kaocat.com +kaochong.com +kaoder.com +kaodianer.com +kaogua.com +kaojionline.com +kaola.com +kaola.com.hk +kaola100.com +kaolacdn.com +kaolafm.com +kaolafm.net +kaolayy.com +kaolazhengxin.com +kaopu001.com +kaopubao.com +kaopubao.net +kaopuj.com +kaopuwangzhuan.com +kaopuyun.com +kaopuyun.net +kaoqin.com +kaoqintong.net +kaoqinyi.com +kaoruo.com +kaoshi110.net +kaoshi365.com +kaoshib.com +kaoshibaike.com +kaoshibao.com +kaoshibb.com +kaoshidian.com +kaoshishenqi.net +kaoshizixun.com +kaowana.com +kaowang.com +kaoyan.com +kaoyan.org +kaoyan001.com +kaoyan1v1.com +kaoyanbox.net +kaoyancas.com +kaoyancas.net +kaoyangaofen.com +kaoyango.com +kaoyanjun.com +kaoyanzhijia.org +kaoyaya.com +kaozhiye.com +kapai8.com +kaquanbao.com +kargocard.com +karlzhou.com +karrytech.com +kartlover.com +karuimall.com +kascend.com +kashen.com +kashen8.com +kasora.moe +kasscloud.com +kasumi.club +katongji.com +katvr.com +katyusha.net +kaven.xyz +kawahdinosaur.com +kayege.info +kayoudi.com +kaytrip.com +kaytune.com +kazakcnr.com +kazhifu.com +kb.cc +kb9.com +kbdfans.com +kbdyw.com +kbengine.org +kbgogo.com +kbgok.com +kbiao.me +kbiquge.com +kblcdn.com +kbrightlaw.com +kbscloud.com +kbw2018.com +kbyun.com +kcdns.net +kcdnvip.com +kchance.com +kchuhai.com +kcjl365.com +kcjyyjzzs.com +kcjzsc.com +kcloudidc.com +kcrcb.com +kcwiki.org +kcyuri.com +kczhaosheng.com +kd028.com +kd120.com +kd128.com +kd185.com +kd9000.com +kdatacenter.com +kdbbx.com +kdd.cc +kddushu.com +kdebell.com +kdfax.com +kdige.com +kdmobi.com +kdniao.com +kdpt.net +kdroid.club +kdroid.org +kdslife.com +kdt.im +kdued.com +kdweibo.com +kdx.mobi +kdzwy.com +kdzxedu.com +ke.com +ke01.com +ke6.com +ke86.com +ke8u.com +keaidian.com +keaiq.com +kean1688.com +kebango.com +kebingzao.com +kechenggezi.com +kechuang.org +kechuangfu.com +keda-digital.com +keda-u.com +keda.com +kedang.net +keddoo.com +kede.com +kede.com.hk +kedi.cc +kedou.com +keede.com +keen8.com +keenonrobot.com +keensky.com +keenwon.com +keep.city +keep.com +keepc.com +keepcdn.com +keepyoga.com +keerdapower.com +keerworld.com +keewin.com +kefeng.wang +kefusoft.com +kefutoutiao.com +kefuzu.com +kege.com +kegood.com +kehanedu.com +kehou.com +kehu51.com +kehuda.com +keinsci.com +kejet.com +kejet.net +keji100.net +kejiabj.com +kejian.design +kejianyi.com +kejietextile.com +kejihai.com +kejijie.net +kejik.com +kejilie.com +kejimeixue.com +kejimt.com +kejingyuan.com +kejiqi.com +kejitai.com +kejiwang.cc +kejiwanjia.com +kejixun.com +kejudati.com +kekaku.com +kekaoxing.com +kekaoyun.com +keke289.com +kekebaby.com +kekedj.com +kekejp.com +kekenet.com +kekepx.com +kekeshici.com +kekexueba.com +kekiss.com +kekoku.com +kele8.com +kelepi.com +keleqiu.com +keleyi.com +kelibiao.com +kellen.wang +kelon.com +kelphome.com +kelu.org +kema66.com +kemaicrm.com +keman.com +kemanyun.com +kemasheying.com +kemov.com +ken.io +ken74.com +kename.com +kendocn.com +kendryte.com +kenfor.com +kenfor.net +kengatoki.com +kengdie.com +kengso.com +kengwan.com +keniu.com +keniub.com +kenkapacking.com +kenshin.wang +kenshu.cc +kentepa.com +kentier.com +kenuonet.com +kenweini.com +kenwen.com +kenxn.com +kenxv.com +kepingtong.com +kepuchina.org +kepusky.com +kepuyanxue.com +ker58.com +kerlala.com +kermitym.com +kernel.cc +kernelgo.org +kernelnote.com +kerneltravel.net +keruibell.com +kerunzh-edu.com +keruotv.com +kerust.com +keruyun.com +keruyun.net +kesci.com +kescoode.com +kesense.com +keshizhongguo.com +kesion.com +keslb.com +kesucorp.com +kesum.com +ketangpai.com +ketuimage.com +kevincc.xyz +kevinems.com +kevinhewu.com +kevinjiang.info +kevinlq.com +kewail.com +kexianggroup.com +kexin001.com +kexing100.com +kexinguoji.com +kexinyun.org +kexu.com +kexue.com +kexue.fm +kexuezixunzzs.com +keyan.life +keyboardancer.com +keycom-ip.com +keydatas.com +keydot.net +keygotech.com +keyigroup.com +keyingwb.com +keylol.com +keymoe.com +keyoou.com +keyray-hk.com +keyshot.cc +keyuhome.com +keyunsoft.com +keyyou.net +kezhaozhao.com +kezool.com +kf.ai +kf25.com +kf3msfm.com +kf4137.com +kf5.com +kf911.com +kfadx.tech +kfang.xin +kfc28.com +kfcdn.com +kfcha.com +kfcms.com +kfd3sm2c.com +kfd9999.com +kfdcc.com +kfhmyy.com +kfj.cc +kfjd.com +kfqrc.com +kfw001.com +kfyao.com +kfzimg.com +kg-gold.com +kg.com +kgdt.work +kgfanr.com +kgimg.com +kgogame.com +kgula.com +kguowai.com +khdatasolutions.com +khdmw.com +khesport.com +khews.com +khlysc.com +khotyn.com +khqihuo.com +khs1994.com +khysct.com +ki-pa.com +kiaic.com +kibey.com +kibinggroup.com +kibo.tech +kid17.com +kidscoding8.com +kidsdown.com +kidseq.net +kidsyun.com +kidulte.com +kidulty.com +kiees.com +kihgwe.com +kiiik.com +kiijoy.com +kiimg.com +kikicici.com +kikitamap.com +kikoplay.fun +kikyoar.com +kililife.com +killdb.com +kilvn.com +kimiss.com +kimiss.net +kimiter.com +kimleo.net +kimnote.com +kimqi.net +kimsom.com +kina.cc +kinboy.wang +kindeditor.net +kindle-china.org +kindle114.com +kindlehub.mobi +kindlelib.com +kindleport.com +kindlepush.com +kinefinity.com +king-capital.com +kingandwood.com +kingball.net +kingborn.org +kingbos.com +kingbrother.com +kingcheergame.com +kingclouddns.com +kingdee-soft.com +kingdee.com +kingdee.com.tw +kingdee.org +kingdeemall.com +kingdeestar.com +kingdeeyun.com +kingdeezx.com +kingdelgc.com +kingdomfishing.com +kingdun.net +kingexplorer.com +kinggoo.com +kinggrid.com +kingidc.net +kingkaid.com +kingland119.com +kinglandtech.net +kinglassquartz.com +kingnare.com +kingnet.com +kingnetdc.com +kingnettech.com +kingoit.com +kingosoft.com +kingreader.com +kingrein.com +kingroot.net +kings3d.com +kingsemi.com +kingsoft-office-service.com +kingsoft.com +kingsoft.net +kingsoftstore.com +kingst.org +kingstarfintech.com +kingstarmedical.com +kingwam.com +kingwisoft.com +kingyon.com +kingysu.com +kinhom.com +kinpan.com +kinqee.com +kintiger.com +kinval.com +kinzoncap.com +kirgen.com +kirikira.com +kirimasharo.com +kirin-tech.com +kirincloud.net +kirinmach.com +kirinvm.com +kischess.com +kisdee.com +kiss688.com +kisskisso.com +kissyui.com +kiswo.com +kit-lee.me +kiteshow.com +kits029.com +kitstown.com +kittyyoo.com +kiujq.com +kiwa-tech.com +kiwenlau.com +kiwisec.com +kj-hospital.com +kj-pcb.com +kj1555.com +kj1d.com +kj3.com +kj5544.com +kjb2c.com +kjbnm.xyz +kjcad.net +kjcdn.com +kjcgzh.com +kjchina.com +kjcity.com +kjcxpp.com +kjdb.org +kjeport.com +kjiuye.com +kjj.com +kjkd.com +kjkp.com +kjks.net +kjkxun.com +kjltxn.com +kjnkj.club +kjr365.com +kjsng.com +kjson.com +kjsv.com +kjt.com +kjw.cc +kjwlxt.com +kjycx.com +kjyicdn.com +kjzxtk.com +kk.com +kk.net +kk169.com +kk2w.cc +kk30.com +kk3g.net +kk7b.com +kkapp.com +kkbuyu8.com +kkcache.com +kkcache.net +kkcaicai.com +kkcapture.com +kkcdn.net +kkcha.com +kkcodes.com +kkcoo.com +kkdict.com +kkdownload.com +kkeye.com +kkfor.com +kkguan.com +kkh-global.com +kkid.vip +kkidc.com +kkk5.com +kkkd.com +kkkkba.com +kkkmh.com +kkkwww.com +kklishi.com +kklxj.com +kkmaoyi.com +kkmh.com +kkminer.com +kkmop.com +kknn.com +kkqb.net +kkr5.com +kkredian.com +kks.me +kksmg.com +kksofts.com +kkt.com +kktijian.com +kktv1.com +kktv5.com +kktv8.com +kkuu.com +kkvv77.com +kkx.net +kkyoo.com +kkyuedu.com +kkzj.com +kl1l5.com +kl321.com +kl688.com +kl800.com +klandk.com +klchemicals.com +kldjy.com +kldm.ru +klhuyan.com +klianfa.com +klicen.com +klinlee.com +kljiyou.com +kllife.com +klmh5.com +klmhw.com +klmnf.com +klmybbs.com +klmygjj.com +klmyssn.com +klniu.com +klqian.com +klshou.com +kltdo.com +kltong.com +klub11.com +klunf.com +klvtu.com +klxuexi.com +km.com +km169.net +km18.net +km1818.com +kmaa40.com +kmail.com +kmapp.net +kmcaishui.com +kmcenter.org +kmcits.com +kmcits0655.com +kmcxedu.com +kmdgpark.com +kmdn.net +kmdns.net +kmeecc.com +kmeitu.com +kmf.com +kmfangxun.com +kmg-jd.com +kmguolv.com +kmhgold.com +kmipo.net +kmlcl.com +kmlhh.com +kmmama.com +kmplayercn.com +kmtarena.net +kmw.com +kmway.com +kmxg.net +kmxkh.com +kmxyj.com +kmyestar.com +kmzx.org +kn120.com +kneng.net +knewbi.com +knewhy.com +knewone.com +knewsmart.com +knotesapp.com +know88.com +knowgive.com +knowhow-china.com +knowncoin.com +knownpcb.com +knownsec.com +knowsafe.com +knowsurface.com +knowyourself.cc +knoya.com +knsheng.com +knsyxw.com +kny999.com +knzlcq.com +koal.com +koalacam.net +koaladoit.com +koalareading.com +kobold1855.com +koboldgame.com +kobox.tv +kocla.com +kodcloud.com +kodmp.com +koduo.com +koeicn.com +kofficemart.com +kofuf.com +kofunion.net +koiclub.net +koikreative.com +koinocn.com +koippt.com +kokojia.com +kole8.com +kolrank.com +kolstore.com +komect.com +kometo.com +koncoo.com +konekomoe.com +konfan.net +kongapi.com +kongdao.com +kongdi.net +kongduan.com +kongfou.net +kongfz.com +kongge.com +konggu.net +kongjianjia.com +kongjie.com +kongjun.com +konglei.com +kongming-inc.com +kongnar.com +kongqingquan.com +kongquecheng.com +kongqueyuzd.cc +kongrong.com +kongsun-hldgs.com +kongtiao365.com +kongyixueyuan.com +kongzhi.net +kongzhong.com +konka.com +konkamobile.com +konkek2.com +konotaku.com +konshan.com +kooaoo.com +koocdn.com +koodudu.com +koofang.com +koofun.com +kookong.com +koolbao.com +koolcenter.com +kooldns.com +koolearn.com +koolproxy.com +koolyun.com +koopass.com +koorun.com +kooshui.com +kooteam.com +koouoo.com +koovin.com +koovoo.com +koowo.com +kooxoo.com +kooyx.com +koplayer.com +koreabt.com +koreaxing.com +korimscdn.com +korirl.com +kotei-info.com +kotex-km.com +koto.com +kotoo.com +koubei.com +koubeiblog.com +koubeikc.com +koucai365.com +koudai.com +koudai8.com +koudaibaobao.com +koudaigou.net +koudailc.com +koudaili.com +koudaionline.com +koudaionline.net +koudaipe.com +koudaitiku.com +koudaitong.com +koudashijie.com +koudin.com +kouer.com +kouer.net +kouke5.com +koukousky.com +koukuko.com +koumakan.cc +kouqiang1.com +kouqing.com +koushare.com +kousou.cc +kouss.com +kouyu100.com +kouzi.com +kowa-dental.com +kowa103.com +koyuki.cc +kpbgw.com +kpblw.com +kpjushi.com +kpkpw.com +kplanet.vip +kpqtw.com +kprepublic.com +kpzip.com +kpzip.net +kpzs.com +kq36.com +kq39.com +kq520.net +kq81.com +kq88.com +kqcfcw.com +kqgeo.com +kqidong.com +kqiwen.com +kqiwen.net +kqj123.com +kqqy.com +kqzjw.com +kqzlzx.com +kr-cell.com +kr.com +kr126.com +krahag.com +krbamboo.com +krdlw.com +krdrama.com +kriszhang.com +krjkkj.com +krpano.tech +krshadow.com +krszf.com +krwz.com +krxo588peycx.com +krzer.com +krzzjn.com +ks-cdn.com +ks-cdn1.com +ks-live.com +ks-lxjy.com +ks-spring.com +ks1688.com +ks321.com +ks365.org +ks51.com +ks5u.com +ksair.com.tw +ksapisrv.com +ksaxx.com +ksbao.cc +ksbao.com +kscac.com +kscdns.com +ksdkcks.com +ksdlp.com +ksdown.com +ksdq0514.com +ksense.com +ksfang.com +ksgnr.com +kshitachi.com +kshot.com +ksjgs.com +kskino.com +ksks001.com +ksldg.com +ksmobile.com +ksmom.com +ksnows.com +ksops.com +ksord.com +ksosoft.com +kspkg.com +ksqdq.com +ksren.com +ksria.com +ksrong.com +ksseg.com +kstao.com +kstz1.com +ksudi.com +ksupdate.com +ksydx.com +ksyiqiwan.com +ksyna.com +ksyuki.com +ksyun.com +ksyunad.com +ksyuncdn-k1.com +ksyuncdn.com +ksyungslb.com +ksyunv5.com +ksyunwaf.com +kszhuanjia.com +kt007.com +kt250.com +kt286.com +kt40.com +kt5u.com +ktanx.com +ktbiao.com +ktfdsb.com +kting.info +ktjd.net +ktkj.com +ktkt.com +ktlshu.vip +ktlstbg.com +ktmap.com +ktpf.cc +ktplay.com +ktsee.com +kttpdq.com +ktvc8.com +ktvdaren.com +ktvme.com +ktvsky.com +ktvxg.com +ktxuexi.com +ku2048.net +ku25.com +ku3721.com +ku6.com +ku6.net +ku6cdn.com +ku6img.com +ku82.com +ku86.com +ku8ku8.com +ku90.com +ku9377.com +kuabaobao.com +kuacg.com +kuafugame.com +kuai-fei.com +kuai-ying.com +kuai.ma +kuai65.com +kuai7.com +kuai8.com +kuaibbs.com +kuaibiancheng.com +kuaibiao2000.com +kuaibowang.net +kuaibuw.com +kuaicad.com +kuaichale.com +kuaidadi.com +kuaidaili.com +kuaidajian.com +kuaidi.com +kuaidi100.com +kuaidihelp.com +kuaidil.com +kuaidizs.com +kuaiduwen.com +kuaiex.com +kuaifa.mobi +kuaifaka.com +kuaifawu.com +kuaifeng.com +kuaigames.com +kuaigeng.com +kuaihaodai.com +kuaihou.com +kuaihz.com +kuaiji.cm +kuaiji.com +kuaiji.so +kuaiji66.com +kuaijilunwen.com +kuaijinniu.com +kuaijiren.com +kuaijishizi.com +kuaijisishu.com +kuaijitong.com +kuaijizheng365.com +kuaikanad.com +kuaikanmanhua.com +kuaikq.com +kuaikuaicloud.com +kuaikuaidai.com +kuaikuaihuoche.com +kuaikuaiyu.com +kuaila.com +kuaile-u.com +kuaile800.com +kuailelunwen.com +kuailesh.com +kuailetongyao.com +kuaileworld.com +kuailexinli.com +kuailexs.com +kuailezu.com +kuailiyu.com +kuailiyu.net +kuaimi.com +kuaimi.net +kuaipandata.com +kuaipao8.com +kuaipeilian.com +kuaipng.com +kuaiqin.com +kuaiqin.net +kuaiqun.org +kuaishebao.com +kuaishou.com +kuaishouapp.com +kuaishouba.com +kuaishoupay.com +kuaishouzt.com +kuaishubao.com +kuaisujiasu.net +kuaisushu-cnd.com +kuaitijian.com +kuaitu666.com +kuaiwan.com +kuaiwanwo.com +kuaixiazai.com +kuaiyan.com +kuaiyiad.com +kuaiyilicai.com +kuaiyingxiao88.com +kuaiyoujia.com +kuaiyouxi.com +kuaiyu.com +kuaiyunbd.com +kuaiyunds.com +kuaizhan.com +kuaizhang.com +kuaizhe.com +kuaizhihui.com +kuaizi.co +kuaizip.com +kuaizitech.com +kuaizitech.net +kuaizy.com +kuajing.com +kuajing.hk +kuajingyan.com +kuakao.com +kuakao.net +kuaming.com +kuang-chi.com +kuang-chi.org +kuangchan.biz +kuangjijia.com +kuangjiwan.com +kuangming.com +kuangren.cc +kuangrendao.com +kuangwan.tv +kuangxiangit.com +kuangyi.com +kuanye.net +kuark.com +kuashou.com +kubey.cc +kubicode.me +kubikeji.com +kubiops.com +kubo-360-tudou.com +kubozy-cdn-baidu.com +kuche.com +kuchuan.com +kudasuye.com +kudiannao.com +kudianqi.com +kudiaoyu.com +kudingyu.com +kuface.com +kufangwuyou.com +kufaxian.com +kuge.cc +kugou.com +kugou.la +kugou.net +kuguopush.com +kugz.net +kuhii.com +kuhua.net +kuicc.com +kuihuo.com +kuiniuca.com +kuishiba.com +kuishuling.com +kujiale.com +kujiang.com +kujingling.com +kuk8.com +kukahome.com +kukasofa.com +kuke.com +kuke99.com +kukecloud.com +kukseo.com +kuku9.com +kukuchuangxiang1.com +kukuchuangxiang4.com +kukud.net +kukudesk.com +kukumai.com +kukupig.com +kukuplay.com +kukushouyou.com +kukushow.com +kukuspeak.com +kukuw.com +kukuxiu.com +kuleiman.com +kulemi.com +kulengvps.com +kuletco.com +kuli.ren +kuliqiang.com +kuliwang.net +kuman.com +kuman56.com +kumankeji.net +kumaoyun.com +kumifeng.com +kungfucloud.com +kungfuenglish.com +kungge.com +kunguankeji.com +kunkkawu.com +kunleen.com +kunlun-cdn.com +kunlunaq.com +kunlunar.com +kunlunca.com +kunluncan.com +kunlunce.com +kunlunea.com +kunlungem.com +kunlungr.com +kunlunhuf.com +kunlunjue.com +kunlunle.com +kunlunli.com +kunlunno.com +kunlunpi.com +kunlunra.com +kunlunsa.com +kunlunsc.com +kunlunsl.com +kunlunso.com +kunlunta.com +kunlunvi.com +kunlunwe.com +kunmingbc.com +kunmingkanghui.com +kunnisser.com +kunpo.cc +kunshanidc.com +kuntaihotel.com +kunx.org +kunyueyun.com +kuo-yi.com +kuodie.com +kuoo8.com +kuoruan.com +kuosanyun.com +kuosheng.net +kuotu.com +kuozhan.net +kupao.com +kuparts.com +kupoo.com +kuqin.com +kurogame.com +kurokingdom.com +kurukurumi.com +kusdk.com +kushenchina.net +kushou.com +kushuzw.com +kusouji.com +kutianxia.com +kutj.com +kutongji.com +kutoo8.com +kutsg.com +kutu66.com +kutuan.com +kuuhuu.com +kuuke.com +kuwan8.com +kuwanapp.com +kuwanbang.com +kuwen.net +kuwew.com +kuwuu.com +kuxiaoji.com +kuxuexi.com +kuyh.com +kuyibu.com +kuyin123.com +kuyinyun.com +kuyiso.com +kuyoo.com +kuyubox.com +kuyumall.com +kuyun.com +kuyun1.com +kuzhengame.com +kvemm.com +kvenjoy.com +kviso.com +kvkft.com +kvogues.com +kvov.com +kvov.org +kwaicdn.com +kwaisczway7r4tz7m8.com +kwaishop.com +kwaixiaodian.com +kwaiying.com +kwaizt.com +kwenku.com +kwimgs.com +kwin.wang +kwin.xyz +kwkf.com +kwtzn.com +kwx.gd +kwxjh.net +kx001.com +kx1d.com +kx516.com +kx7p.com +kxapp.com +kxapps.com +kxbaidu.com +kxbld.com +kxbox.com +kxceping.com +kxdaili.com +kxdao.com +kxdpm.com +kxdw.com +kxewpz.com +kxfsw.com +kxgcw.com +kxgdyw.com +kxiaoshuo77.com +kxinyk.com +kxji.com +kxjlt.org +kxnboat.com +kxpay.net +kxt.com +kxting.com +kxtoo.com +kxtry.com +kxtui.com +kxtwz.com +kxvuv.com +kxwan.com +kxxsc.com +kxxxl.com +kxyike.com +kxzmw.com +ky-express.com +ky5yx.com +ky958.com +kybapp.com +kybapp.net +kybimg.com +kyboye.com +kydev.net +kye-erp.com +kyemall.com +kyhere.com +kyhs.me +kyimg.com +kyjxy.com +kylc.com +kyleduo.com +kyleslight.net +kylienet.com +kyligence.io +kylin-os.com +kylinlot.com +kylinmobi.com +kylinos.com +kylinpet.com +kymjs.com +kynix.com +kyoceraconnect.com +kyp565.com +kyppt.com +kyqcfj.com +kytijian.com +kyw4y0s.com +kyxdloan.com +kyy6.com +kyyj.net +kyzf.net +kyzyj.com +kz8yx.com +kza.cc +kzj365.com +kzlgd.com +kzore.com +kzt.cc +kztpms.com +kzwr.com +l2h.site +l36h.com +l5550.com +l68.net +l77777777.com +l7audiolab.com +l99.com +la-mo.com +la31.com +lab-z.com +labagd.com +labahao.com +labajun.com +labbang.com +labbase.net +labfan.com +labgogo.com +laborlawtime.com +labtoday.net +labview.help +labxing.com +lacesar.com +lache.me +lactec.net +ladiyoga.com +ladjzs.com +ladouban.com +lady177.com +lady361.com +lady8844.com +lady98.com +ladybirdedu.com +ladymetro.com +ladystr.com +ladywu.net +lafaso.com +lafhzx.com +lagou.com +lagouevents.com +lagoujobs.com +lagowang.com +lahm2018.com +lahuashanbx.com +lai-ai.com +laiba.shop +laibokeji.com +laichou.com +laichuanfeng.com +laidacai.com +laidianba.net +laidingba.com +laidou.wang +laidudu.com +laifeng.com +laifu.net +laifudao.com +laigame7.net +laihema.com +laihua.com +laijiawen.com +laijiudu.com +laijiuye.com +laikan.com +laikanxing.com +laikanxs.com +laiketui.com +lailaihui.com +lailook.net +laily.net +laima-tech.com +laimaidi.com +laimaika.net +laipai8.com +laiqi.net +laiqukankan.com +laird-tek.com +laishuge.com +laishui.info +laisj.com +laituia.com +laituijian.net +laiwang.com +laiwo.com +laiwu.net +laiwumedia.com +laixiukeji.com +laixueedu.com +laixuexi.cc +laiyetxt.com +laiyexs.com +laiyifen.com +laiyikeji.net +laiyinpai.com +laiyoushu.com +laiyouxi.com +laizee.com +laizhouba.net +laizhuan.com +laizi.net +lajixs.com +lakala.com +lakecn.com +laker.me +lakwdian.com +lalala.lol +lalkk.com +lalunalove.com +lamabang.com +lamahui.com +lamaison-arting.com +lamajie.com +lamall.com +lamaqun.com +lamaying.com +lambda.hk +lamiu.com +lamost.org +lampchina.net +lampouomo.com +lamyu.com +lan-bridge.com +lan-lin.com +lan1001.com +lanbozb.com +lanbts.com +lanbu.net +lancdn.com +lancn.net +lanconvey.com +landa-solenoid.com +landai.com +landchina.com +landed.cc +landi.com +landian.la +landian.vip +landiannews.com +landing-med.com +landingbj.com +landizs.com +landjs.com +landraco.com +landray.com +landscapecn.com +landtu.com +landui.com +landzestate.com +lanecn.com +lanfanapp.com +lanfeicastle.com +lanfeitech.com +lanfeiwine.com +lanfeng.net +lanfw.com +lang8.net +langao.com +langchao.com +langchengzhixin.com +langda.cc +langfang.com +langfangfc.com +langfly.com +langke.com +langke.tv +langlang.cc +langlangchinese.com +langlangjiajiao.com +langlib.com +langlinking.com +langlive.com +langlvseo.com +langmanzg.com +langmanzw.com +langmeijy.net +langongju.com +langren001.com +langren8.com +langrencard.com +langrenclub.com +langtaojin.com +langtze.com +languangdy.com +langya.org +langya3.com +langyabang.com +langyuseo.com +langzi.fun +lanhaicaijing.com +lanhaijiye.com +lanhaiweb.net +lanhaizhi.com +lanhii.com +lanhu.com +lanhuapp.com +lanhuhu.com +lanhusoft.com +lanindex.com +lanjie520.com +lanjing5.com +lanjinger.com +lanjingfm.com +lanjingtmt.com +lanketd.com +lanlanlife.com +lanlicai.com +lanlv.com +lanmao.com +lanmaos.com +lanmit.com +lanou3g.com +lanqb.com +lanqi.com +lanqiao.org +lanqibing.com +lanqiuzu.com +lanreelh.com +lanren9.com +lanrenbijia.com +lanrenclub.com +lanrenexcel.com +lanrenkaifa.com +lanrenmb.com +lanrentingshu.cc +lanrentuku.com +lanrenzhaofang.com +lanrenzhijia.com +lanrenzhoumo.com +lansedongli.com +lanseyujie.com +lansha.tv +lanshanweb.com +lanshizi.com +lantaoyu.com +lantian-hotel.com +lantian.tv +lantinglou.com +lantingmingjia.com +lantunyouxi.com +lanuss.com +lanvige.com +lanxicy.com +lanxinbase.com +lanxiniu.com +lanxiongsports.com +lanxum.com +lanyg.com +lanyingwang.com +lanyuanxiaoyao.com +lanyunbrand.com +lanyus.com +lanyusf.com +lanzhisky.com +lanzhouunicom.com +lanzhuwh.com +lanzou.com +lanzoug.com +lanzoui.com +lanzoum.com +lanzoup.com +lanzouq.com +lanzoux.com +lanzun.net +lao9123.com +laob.me +laobaigan-hs.com +laobandq.com +laobanfa.com +laobangban.com +laobanmail.com +laobingmi.com +laobuluo.com +laobuxie.com +laocen.com +laod.wang +laodao.cc +laodong.me +laodong66.com +laodongfa.com +laoduo.net +laofu.online +laofuxi.com +laoge.xyz +laogongshuo.com +laogu.cc +laogu.com +laogu.wang +laogumincj.com +laohanzong.com +laohanzong1.com +laohu.com +laohu8.com +laohuabao.com +laohuangli.net +laohucaijing.com +laohutao.com +laohuyun.com +laojilu.com +laojiuxitong.com +laoke.com +laolai.com +laolaosi.com +laoliang.net +laoliboke.com +laolieren.shop +laolinow.com +laoluoshouji.net +laomaotao.net +laomaotao.org +laomaotaopan.com +laomn.com +laomoo.net +laomudong.cc +laonanren.cc +laoniushuju.com +laoqiange.club +laoqiange.com +laoqianzhuang.com +laoqu123.net +laoren.com +laosiji.com +laosunit.com +laotiaomao.com +laowangappxy.xyz +laowangshengge.com +laowuxx.com +laoxiezi.com +laoxuehost.com +laoxuehost.net +laoxuezhuji.com +laoy.net +laoyaoba.com +laoyoujiaju.com +laoyouzhibo.com +laoyuanji.com +laoyuegou.com +laoyuge.com +laoyuji.com +laozizhu.com +laozongyi.com +laozu.com +laozuo.org +lapin365.com +lapland.name +laqiangu.com +laravel-admin.org +larenla.com +large.net +larkapp.com +larksuite.com +larmb.com +laruence.com +laryoo.com +las1001boda.com +lascn.net +laserfair.com +lashou.com +lashouimg.com +lastdream.net +lasy.site +latchss.com +lategege.com +latexstudio.net +latiaozixun.com +latiaozixun.net +latin100.com +lativ.com +latoooo.com +lattebank.com +lattecake.com +lavago.com +lavandehotels.com +lavapm.com +lavaradio.com +law-lib.com +law-star.com +lawbridge.org +lawbus.net +lawinfochina.com +lawlingyun.com +lawnewscn.com +laws5.com +lawschina.com +lawtimeimg.com +lawxin.com +lawxp.com +lawyee.com +lawyee.net +lawyee.org +lawyer027.com +lawyerbridge.com +lawyermr.com +lawyershanghai.net +lawyersuperman.com +layabox.com +layui-inc.com +layui.com +layuicdn.com +lazada.co.id +lazada.co.th +lazada.com +lazada.com.my +lazada.com.ph +lazada.sg +lazada.vn +lazybios.com +lazylorna.com +lbagan.com +lbal168.com +lbbniu.com +lbd99.com +lbddd.com +lbdyzj.com +lbdz.cc +lbesec.com +lbgoo.com +lbinin.com +lbkrs.com +lbl520.com +lboyue.com +lbwbw.com +lbx.cc +lbx777.com +lbxcn.com +lbxdrugs.com +lbxueyuan.com +lbyczf.com +lbzuo.com +lc-cn-n1-npxfk.com +lc-cn-n1-shared.com +lc-cn-n1-thovg.com +lc-news.com +lc123.net +lc787.com +lcbdf.net +lcbtv.com +lccareer.com +lccdn.net +lcchn.com +lccmw.com +lccz.com +lcddjm.com +lcdhome.net +lcdushi.com +lcdwiki.com +lcfby.com +lcfile.com +lcfw.co +lcgod.com +lchot.com +lcjfz.com +lcjh.com +lckeshun.com +lckiss.com +lcloc.com +lcofjp.com +lcouncil.com +lcrcbank.com +lcread.com +lcshzgy.com +lcsrmyy.com +lcux.net +lcxwfc.com +lcyp.net +lczm.com +lczyy.com +ld0766.com +ld12366.com +ldcache.net +ldcang.com +ldd.me +lddengine.com +lddgo.net +ldeng.com +ldjx.cc +ldmap.net +ldmnq.com +ldnovel.com +ldplayer.net +ldqxn.com +ldshj.com +ldsink.com +ldtui.com +ldxsfw.com +ldycdn.com +ldygo.com +ldyh666.com +le-feng.com +le.com +le5le.com +le890.com +leachchen.com +leacol.com +lead-expo.com +leadal.com +leadal.net +leadbbs.com +leadcoretech.com +leader-tech.net +leadercf.com +leaderhero.com +leadermall.com +leadge.com +leadong.com +leaforbook.com +leafword.com +leagcard.com +leagsoft.com +leangoo.com +leankun.com +leanote.com +leanote.org +leansoftx.com +leanwind.com +leap-pc.com +leapahead.vip +leapfive.com +leapmie.com +leapmotor.com +learn-quantum.com +learndiary.com +learnfans.com +learnfk.com +learnfuture.com +learning-archive.org +learnku.com +learsun.com +leb-china.com +lebang.com +lebang.net +lebogame.net +leboweb.com +lecai.com +lecake.com +lechain.com +lechange.com +leche.com +lechebang.com +lechinepay.com +lecloud.com +lecoinfrancais.org +leconginfo.com +lecoo.com +lecoo8.com +lecuntao.com +leda13.com +ledaiyu.com +ledanji.com +ledao.so +ledboke.com +ledcax.com +ledchina-sh.com +ledctl.com +lede.com +ledhxgc.com +ledianduo.com +lediaocha.com +ledo.com +ledsdk.com +ledth.com +ledu.com +ledu365.com +leduimg.com +leduotv.com +lee130.com +leeco.com +leefanmr.com +leehon.com +leeif.me +leeiio.me +leenzhu.com +leeon.me +leepoint.net +leesou.com +leetcode-cn.com +leetcodechina.com +leevy.net +leewiart.com +leeyegy.com +leeyuoxs.com +lefeng.com +lefengmoving.com +lefengtuku.com +lefinance.com +leftfm.com +leftlady.com +leftso.com +legend-go.com +legendh5.com +legendsec.com +legendtkl.com +legoflow.com +legou456.com +legowechat.com +legu.cc +legu168.com +leguyu.com +leha.com +lehaitv.com +lehe.com +lehecai.com +lehihi.com +leho.com +lehu.host +lehuadisplay.com +lehuipay.com +lehuiso.com +leibei.cc +leida310.com +leidian.com +leidianip.com +leiduhuaya.com +leifengshi120.com +leigod.com +leihuo.net +leikeji.com +leikw.com +leileiluoluo.com +leilong158.com +leimi.com +leimingtech.com +leimingtelab.com +leimudata.com +leiniao.com +leiniao365.com +leining-shield.com +leiouxiong.com +leipengkai.com +leiphone.com +leiqunjs.com +leirenw.com +leishen-lidar.com +leisoon.com +leisu.com +leisu123.com +leisurelypanda.com +leiting.com +leitingcn.com +leitingjunshi.com +leiue.com +leiyunge.com +leiyunge.net +lejiachao.com +lejian.com +lejianweike.com +lejiaolexue.com +lejj.com +lejlb.com +lejlc.com +leju.com +lejucaifu.com +lejuliang.com +lejunwl.com +lekannews.com +lekevr.com +lekoukou.com +lekpass.com +lelai.com +leleda.com +leledp.com +leleketang.com +lelelala.net +lelepyq.com +leleren.com +leletv.com +leletv.net +lelevod.com +lelewl.com +lelittlesaigon.com +lemai.com +lemaker.com +lemall.com +lemedu.com +lemeitu.com +lemfix.com +lemo360.com +lemobar.com +lemonyd.com +lemonyule.com +lemote.com +lempstack.com +lenget.com +lenggirl.com +lengqing.org +lengxiaohua.com +lengziyuan.com +lengzzz.com +lening100.com +leniugame.com +leniy.org +lenizhu.com +lenosoft.net +lenovator.com +lenovogame.com +lenovohci.com +lenovohit.com +lenovohuishang.com +lenovoimage.com +lenovomm.com +lenovomobile.com +lenovonetapp.com +lenovonowgo.com +lenovots.com +lenovouat.com +lenovowap.com +lenovows.com +lensuo.com +lenwoo.com +lenzhao.com +leo96.com +leoao-inc.com +leoao.com +leobian.com +leoboard.com +leocode.net +leonblog.net +leonshadow.com +leosirius.fun +leozwang.com +lepaiok.com +lepaowang.com +leqian.com +lequ.com +lequ7.com +lequgo.com +lequxs.com +lequyuanyi.com +lequz.com +leqv.online +lerengu.com +lergao.com +lers123.com +lers168.com +lers168.net +lerye.com +leshanvc.com +leshi123.cc +leshou.com +leshow.com +leshu.com +leshuazf.com +leshuwu.com +leslie-cheung.com +lesofaka.com +lesoncooking.com +lesports.com +lesscss.net +lessisbetter.site +lesun.org +letabc.com +letaikeji.com +letao.com +letfind.com +letinet.com +leting.io +letoom.com +letou8.com +lets-study.com +letsebuy.com +letsfilm.org +letsgaga.com +lettercloud.net +letuinet.com +letuknowit.com +letushu.com +letv-cdn.com +letv.com +letv8.com +letv8.net +letvapp.net +letvcdn.com +letvcloud.com +letvimg.com +letvlb.com +letvps.com +letwind.com +letwx.com +letyo.com +leuok.com +levect.com +leviding.com +levy.work +lewaila.com +lewaimai.com +lewanduo.com +lewang.ltd +leweicn.com +lewen.la +lewen55.com +lewen88.com +lewenba.cc +lewenn.com +lewenxsw.com +lewifi.com +lewode.com +lexapro-web.com +lexar.com +lexiang-asset.com +lexiangjian.com +lexiangla.com +lexin.com +lexinchina.com +lexue.com +lexue8.com +lexueying.com +lexun.com +lexun365.com +lexzr.com +leyantech.com +leyaoyao.com +leyaoyao.org +leyard.com +leybc.com +leyifan.com +leying.com +leying.org +leying365.com +leyingtt.com +leyishandong.com +leyixue.com +leyohotel.com +leyoucp.com +leyoujia.com +leyouquan.com +leyuanbaby.com +leyubox.com +leyue100.com +leyun001.com +leyungame.com +leyunge.com +leyuz.com +leyvo.com +lezai.com +lezhi.com +lezhi99.com +lezhibo.com +lezhieducation.com +lezhiot.com +lezhiyun.com +lezhuan.com +lezhuan168.com +lezhuan365.com +lezi.com +lezyo.com +lf-tools.net +lf127.net +lfan.net +lfang.com +lfbxw.com +lfcmw.com +lfex.com +lfhacks.com +lfhygl.com +lfidc.net +lfkjgh.com +lfksqzj.com +lflucky.com +lfppt.com +lftdzd.com +lfungame.com +lfwin.com +lfwtc.com +lfx20.com +lfyzjck.com +lg1024.com +lg199.com +lg473.com +lg5.com +lgctshanghai.com +lgdisplayproduct.com +lgdlife.com +lgexam.com +lghsrh.com +lgmjg.com +lgo100.com +lgole.com +lgpic.com +lgstatic.com +lguohe.com +lgzikao.com +lh-lx.com +lh168.net +lh310.com +lh75.com +lhao88.com +lhave.com +lhdxz.com +lhdyfc.com +lhflh.com +lhggjd.org +lhh.la +lhlqw.com +lhm8.com +lhrbszb.com +lhs-arts.org +lhs11.com +lhsdad.com +lhsoso.com +lhsz.xyz +lhtjyy.com +lhtyyt.com +lhwill.com +lhwytj.com +lhy1.xyz +lhy2.xyz +lhy4.xyz +lhzq.com +li-ca.com +li-ning.com +li63.com +li91.com +liageren.com +lialip.com +lialiu.com +lianaibashi.com +lianaibiji.com +lianbijr.com +lianchuang.com +liancsoft.com +liandaomobi.com +liandaquan.com +liang.com +liangchan.net +liangchanba.com +liangduiban.com +liangjan.com +liangjian.com +liangjianghu.com +liangka.vip +liangkun.net +liangle.com +lianglong.org +liangongshequ.com +liangpinriyu.com +liangqikeji.com +liangshangou.com +liangshuang.name +liangshunet.com +liangxinyao.com +liangxu.wang +liangyadong.com +liangyi.com +liangyunchang.com +liangzhishu.com +liangziseo.com +liangzl.com +lianhaikeji.com +lianhanghao.com +lianhecang.com +lianjia.com +lianjixia.com +liankaa.com +liankebio.com +liankexing.com +lianle.com +lianlianlvyou.com +lianlianpay.com +lianliantaoshop.com +lianlife.com +lianmeng.la +lianmeng.link +lianmenhu.com +lianmishu.com +lianpingd.com +lianpuie.com +lianqi.net +lianshangbing.com +lianshijie.com +liansuo.com +liantai.cc +liantianhong.com +liantu.com +liantuobank.com +lianty.com +lianwangtech.com +lianwen.com +lianwifi.com +lianwo8.com +lianxiangcloud.com +lianxianjia.com +lianxinapp.com +lianxueqiu.com +lianyezy.com +lianyi.com +lianyu.com +lianzhong.com +lianzhongmingyuan.com +lianzhongyun.com +lianzhuli.com +liao98.com +liaocao.com +liaocheng.cc +liaochuo.com +liaocy.net +liaodanqi.me +liaogu.com +liaogx.com +liaohuqiu.net +liaoing.com +liaokeyu.com +liaokong.com +liaoliao.com +liaosam.com +liaoshenrc.com +liaotiangou.com +liaotuo.org +liaowei.info +liaoxuefeng.com +liaozhai.tv +lib4d.com +lib520.com +liba.com +libaclub.com +libai.com +liball.me +libaopay.com +libaoyun.com +libinx.com +libisky.com +libomarathon.com +libreofficechina.org +libsou.com +libtop.com +libvideo.com +lic-bcbc.com +licai.com +licai18.com +licaie.com +licaifan.com +licaigc.com +licaike.com +licaiker.com +licaimofang.com +licat.com +lichangtai.com +lichangtao.com +lichengdai.com +lichengwu.net +lichenjy.com +lichensafe.com +licomsh.com +licqi.com +licstar.net +lid1688.com +lidakang.com +lidaoliang.com +lidaren.com +lidazhuang.com +lidecloud.com +lidepower.com +lidetc.com +lidewen.com +liding.me +lidodo.com +lidoooo.com +liebao.live +liebaoidc.com +liebiao.com +liebrother.com +liechan.com +liefangzhe.com +liegou.org +lieguo.com +lieguozhi.com +liehu.tv +liehunwang.com +liehuo.net +liehuo.org +liejin99.com +lieju.com +lielb.com +lielema.com +lieluobo.com +liemingwang.com +lienew.com +liepin.com +liepincc.com +liepinoverseas.com +lieqi.com +liesauer.net +lietou-edm.com +lietou-static.com +lietou.com +lietou007.com +lietuwang.com +liewen.cc +liewen.la +liexing-ai.com +liexing.com +lieyou.com +lieyuncapital.com +lieyuncj.com +lieyunwang.com +lif8.com +lifan.com +life365.com +lifeall.com +lifeeu.com +lifegatemedicine.com +lifeibo.com +lifeng.in +lifeng.net +lifeofguangzhou.com +lifesense.com +lifetm.com +lifetmt.com +lifevc.com +lifevccdn.com +lifeweeker.com +lifeweekly.cc +lifeyk.com +lifox.net +lifushop.com +ligerui.com +lighos.com +light3moon.com +lightalk.com +lightcss.com +lightfire.cc +lightgx.com +lightingchina.com +lightinit.com +lightky.com +lightlygame.com +lightnovel.us +lightonus.com +lightpassport.com +lightplan.cc +lighttp.com +lightyy.com +liguda.com +liguhd.com +liguosong.com +lihaihong.com +lihaoquan.me +lihaoshuyuan.com +lihtao.com +lihua.com +lihuia.com +lihun66.com +lijiateng.com +lijiejie.com +lijigang.com +lijingquan.net +lijishi.com +lijizhong.com +liju123.com +likamao.com +likangwei.com +likeacg.com +likecha.com +likechuxing.com +likecs.com +likeface.com +likefar.com +likefont.com +likeji.net +likejianzhan.com +likeshare-tech.com +likeshuo.com +liketm.com +liketry.com +likewed.com +liking.site +likingfit.com +likuli.com +likuso.com +lilifenxiang1.com +lilinwei.com +lilishare.com +lilisi.com +lilithgame.com +lilithgames.com +liliyago.com +lilosrv.com +liluotech.com +lilvb.com +lily-collection.com +lilyenglish.com +lilysamericandiner.com +lilysgame.com +limax.com +limboy.com +limei.com +limian.com +limikeji.com +liminglight.com +liminjie714.com +liminwang.com +limless.com +limoer.cc +limufang.com +linakesi.com +linban.com +lincoc.com +lindiankanshu.com +linduwang.com +line0.com +linecg.com +linecg.net +linekong.com +linelayout.com +linewell.com +linewow.com +linezing.com +linfan.com +lingaoren.com +lingb.net +lingbao-e.com +lingcaixinyuan.com +lingd.cc +lingd.com +lingdai.name +lingdi.net +lingdiankanshu.co +lingdianksw.com +lingdonghuyu.com +lingdunwang.com +lingduohome.com +lingduwk.com +lingdz.com +lingfei.wang +lingfengyun.com +lingganjia.com +linghit.com +lingji666.com +lingjiaocheng.com +lingjing.com +lingjiptai.com +lingjoin.com +lingkaba.com +lingki.net +lingkou.com +lingla.com +linglingkaimen.com +linglongart.com +linglongtech.com +linglu666.com +lingmovie.com +lingnanpass.com +lingocn.com +lingosail.com +lingphone.net +lingquanb.com +lingqujz.com +lingrengame.com +lingrn.com +lingshangkaihua.com +lingshi.com +lingsky.com +lingtaoke.com +lingtiao.com +lingtool.com +lingtu.com +lingtuan.com +lingw.net +lingwu66.com +lingxi360.com +lingxianmulu.com +lingxicloud.com +lingxiu580.com +lingxmall.com +lingxunyun.com +lingyi.org +lingyiliebian.com +lingyinsi.com +lingyuecloud.com +lingyuewx.com +lingyun.net +lingyun5.com +lingyunip.com +lingyutxt.com +lingzhanwenhua.com +lingzhilab.com +lingzhitech.com +lingzhtech.com +linhao99.com +linhere.com +linhuiba.com +lining.com +lining0806.com +linjia.me +linjie.org +linjin.net +linjunet.com +linjunlong.com +link27.com +link2lib.com +link2shops.com +linkadsapi.com +linkbroad.com +linkbux.com +linkchant.com +linkchic.com +linked-f.com +linkedbyx.com +linkedhope.com +linkedin-event.com +linkedkeeper.com +linkedme.cc +linkedsee.com +linker.cc +linkernetworks.com +linkfinancier.com +linkfun.org +linkh5.com +linkh5.xyz +linkhaitao.com +linkheer.com +linkingme.com +linkist.net +linknewideas.com +linkpro.tech +linkrall-trk.com +linkresearcher.com +linkscue.com +linksfin.com +linksgood.com +linkshop.com +linksoon.net +linkstars.com +linktech.hk +linktom.com +linktom.net +linktt.com +linkunbin.com +linkvans.com +linkwebll.com +linlin.com +linlizone.com +linlongyun.com +linlongyx.com +linni.com +linnsea.com +linnyou.com +linovel.co +linovel.net +linovelib.com +linpx.com +linqu.tv +linquan.info +linquan.name +linqujob.com +linroid.com +linruanwangluo.com +linshang.com +linshigong.com +linstitute.net +lintey.com +lintongrc.com +linuo-paradigma.com +linuser.com +linux-code.com +linux-ren.org +linux.zone +linux178.com +linux265.com +linux5.net +linux6.com +linuxba.com +linuxbaike.com +linuxbaodian.com +linuxboy.net +linuxcool.com +linuxdaxue.com +linuxde.net +linuxdiyf.com +linuxdot.net +linuxdown.net +linuxea.com +linuxeden.com +linuxeye.com +linuxfly.org +linuxgogo.com +linuxidc.com +linuxidc.net +linuxkiss.com +linuxmi.com +linuxpanda.tech +linuxpk.com +linuxplus.org +linuxprobe.com +linuxrumen.com +linuxsight.com +linuxsir.com +linuxso.com +linuxsong.org +linuxtone.org +linuxyan.com +linuxyunwei.com +linuxyw.com +linweiyuan.com +linwenfa.com +linx-info.com +linxingyang.net +linyezhandidi.com +linyi.com +linyi.net +linyilongyuan.com +linyiren.com +linzhuotech.com +linzhuxin.com +linzl.com +lion1ou.tech +lionaka.com +lionelliu.com +lionmobo.com +lionmobo.net +lipai365.com +lipf.tech +lipian.com +lipiji.com +lipilianghang.com +lipin.com +lipin010.com +lipinduihuan.com +lippt.com +liqihuoke.com +liqijt.com +liqile.com +liqinyi.com +liqu.com +liquidnetwork.com +liqunshop.com +liqwei.com +lirenling.com +liriansu.com +liroi.com +lirui.name +lis99.com +lisa33xiaoq.net +lisdn.com +lisen.me +lishi.com +lishi5.com +lishi6.com +lishibu.com +lishichunqiu.com +lishiip.com +lishiming.net +lishiren.com +lishixinzhi.com +lishizhishi.com +lishouhong.com +lishuhang.me +lishui.com +lisizhang.com +lisp123.com +listarypro.com +listeneer.com +listenerri.com +listentide.com +listentoworld.com +listenvod.com +litaow.com +litecoin.ink +litecoin.ren +litefeel.com +litets.com +liticool.club +litilala.site +litilala.xyz +litipumps.com +lititop.group +litpo.com +litten.me +little-sun.com +littleboy.net +littleee.com +littlehero.xyz +littlekid.online +littleroost.net +littlesheep.com +littleswan.com +liu-kevin.com +liubaiapp.com +liubangapp.com +liubiji.com +liubo.live +liucaijiu.com +liuchengtu.com +liuchengtu.net +liuchengxu.org +liuchuo.net +liudanking.com +liudatxt.com +liudon.org +liudu.com +liudu9.com +liugejava.com +liugezhou.online +liugj.com +liugm.com +liuguofeng.com +liuhaipeng.com +liuhaolin.com +liuhu.net +liujiajia.me +liujiangblog.com +liujiasj.com +liujijun.com +liujto.com +liujunworld.com +liujy.com +liukebao.com +liulan7.net +liulanmi.com +liulanqi.com +liulanqi.net +liulantao.com +liulian.com +liuliangcanmou.com +liuliangdada.com +liulianggo.com +liuliangjie.com +liulianglf.com +liuliangzu.com +liulianqi123.com +liulianyu.com +liuliguo.com +liulin.cc +liulinblog.com +liulishuo.com +liulishuo.work +liulv.net +liumapp.com +liumeinet.com +liumh.com +liumwei.org +liumx.com +liunews.com +liunian.info +liunianbanxia.com +liushidong.com +liushuba.com +liusuping.com +liut.xyz +liuts.com +liuxianan.com +liuxiaofan.com +liuxiaolingtong.com +liuxing.com +liuxinzhou.com +liuxiting.com +liuxuchao.com +liuxue.com +liuxue114.com +liuxue360.com +liuxue51.net +liuxue86.com +liuxuegang.site +liuxuehksg.com +liuxuehr.com +liuxuekw.com +liuxuesmd.com +liuxuetown.com +liuxuewenshuwang.com +liuxueyun.com +liuxx.com +liuyanbaike.com +liuyang.com +liuyangfcw.com +liuyanzhao.com +liuyifei.cc +liuyingqiang.com +liuzhichao.com +liuzhixiang.com +liuzk.com +liuzongyang.com +liuzuo.com +liuzy88.com +live-era.com +live800.com +liveapp.ink +livechina.com +livecourse.com +liveinau.com +liveincy.com +liveme.com +livemediav.com +livemook.com +lives.one +livesone.net +livesupport24x7.com +liveuc.net +liveupdate01.asus.com +livevideostack.com +livinglabs.cc +livku.com +livotre.com +liwai.com +liwei.red +liweijia.com +liweiliang.com +liwenxin.com +liwenzhou.com +liwinon.com +liwngad.com +liwuhy.com +liwumaoapp.com +liwushuo.com +lixcx.com +lixiang.com +lixiangshu.net +lixianhezi.com +lixianhua.com +lixiaocrm.com +lixiaolai.com +lixiaomeng.net +lixiaoskb.com +lixiaoyun.com +lixiaozhe.com +lixin.co +lixinapp.com +lixingguang.com +lixiphp.com +lixuan360.com +liyangbit.com +liyanggroup.com +liyangliang.me +liyangtuopan.com +liyangweb.com +liyanmobi.com +liyaochao.com +liyingfei.com +liyongseo.com +liyu8.com +liyuanheng.com +liyuanhospital.com +liyue.name +liyujn.com +lizaike.com +lizhaoblog.com +lizhaoxiang.com +lizhehaozhongyi.com +lizhenwang.com +lizhi.com +lizhi.fm +lizhi.io +lizhi110.com +lizhi77.com +lizhidaren.com +lizhifilm.com +lizhifm.com +lizhijitang.com +lizhiqiang.name +lizhiweike.com +lizhixia.com +lizhongyi.com +lizi.com +lizi.tw +liziqiche.com +lj-bank.com +lj168.com +ljbao.net +ljcdn.com +ljcoop.com +ljemail.org +ljhis.com +ljhks.com +ljhks.net +ljia.com +ljia.net +ljimg.com +ljjgdj.org +ljjhfc.com +ljlcd.com +ljmeng.site +ljsdk.com +ljt365.com +ljtx.com +ljwit.com +ljxww.com +ljzfin.com +lkcgyl.com +lkcoffee.com +lkcsgo.com +lkgame.com +lkgshq.com +lkjl.com +lkjujm.com +lkkcdn.com +lkker.com +lkkued.com +lkmcdk.com +lkme.cc +lkong.net +lkxianglong.net +lkyou.com +ll-hao123.com +ll11.com +llbetter.com +llcat.tech +llever.com +llewan.com +llgjx.com +llgkm.com +llgo.work +llidc.com +lljgame.com +lljgxx.com +llku.com +llqdh.com +lls.moe +llsapp.com +llscdn.com +llsops.com +llsserver.com +llssite.com +llsstaging.com +lltaohuaxiang.com +lltllt.com +lltoken.com +llwin.com +llwt.ink +llycloud.com +llzg.com +llzw888.com +lm213.com +lm284.com +lm335.com +lm343.com +lm685.com +lm811.com +lm832.com +lm865.com +lm995.com +lm9999.com +lmacc.com +lmanmo.com +lmbang.com +lmbest.com +lmbld.com +lmbus.com +lmdk01.com +lmdouble.com +lmf9.com +lmgouwu.com +lmjtgs.com +lmjx.net +lmlc.com +lmlym.com +lmm8.com +lmsail.com +lmth2013.com +lmtw.com +lmtxz1.com +lmubbs.com +lmview.com +lmwgame.com +lmwlhh.com +lmwljz.com +lmxxxz.com +lmyd5.com +lmyjsq.com +lnamphp.com +lncldapi.com +lncnw.com +lndao.com +lndhdx.com +lndzxy.com +lnemci.com +lnest.com +lnfw.net +lnfzb.com +lngqt.com +lngwyw.com +lnicc-dl.com +lnicp.com +lninfo.com +lnitec.com +lnjzxy.com +lnk0.com +lnkdata.com +lnlotto.com +lnmp.org +lnok.net +lnpjw.com +lnrcu.com +lnrsks.com +lnslymy.com +lntenghui.com +lntvu.com +lntycp.com +lnvsystem.com +lnyhrlzy.com +lnyyzyxy.com +lnzikao.com +lnzsks.com +lo97.com +locatran.com +locez.com +lockfans.com +lockscreenimg.com +lockty.com +locnavi.com +locojoy.com +locoso.com +locoy.com +locoyposter.com +locren.com +loctek.com +locvps.com +lodashjs.com +loesspie.com +loexu.com +lofficielchina.net +loftcn.com +lofter.com +loftshine.com +log4d.com +log4geek.cc +logacg.com +logclub.com +logdu.com +loghao.com +logi-inno.com +logicdsp.com +login.cdnetworks.com +logo-emblem.com +logo123.net +logo33.com +logo520.com +logo888.com +logoaa.com +logobiaozhi.com +logodao.com +logodashi.com +logohhh.com +logoly.pro +logonc.com +logopay.com +logoquan.com +logoshe.com +logosheji.com +logosj.com +logowu.com +logozhan.com +logozhizuowang.com +logphp.com +logwing.com +lohaa.com +lohalink.com +lohaslady.com +loho88.com +loj.ac +loji.com +lokyi.name +lol123.net +lol99.com +loldan.com +loldk.com +loldytt.com +loldytt.org +loldytt.tv +lolgo.net +lolhd.com +loli.cd +loli.ee +loli.my +loliloli.moe +loliloli.net +lolip.net +lolitaf.com +lolitawardrobe.com +loliyun.vip +loljy.com +lolkeng.com +lolmanhua.com +lolmax.com +lolmf.com +lolmz.com +loltmall.com +lolyculture.net +lomoment.com +lomu.me +lon3d.com +loncent.com +loncin.com +loncinindustries.com +london9999.com +londonermacao.com +lonelystar.org +lonery.com +lonfu.org +long5.com +long7.com +longaa.com +longanlaw.com +longau.com +longcai.com +longcheer.com +longchen80.com +longchengtg.com +longcity.net +longclouds.com +longcore.com +longdai.com +longdear.com +longdezhu.com +longdian.com +longdoer.com +longfor.com +longfu360.com +longger.net +longguanjia.so +longhoo.net +longhu.net +longhua.net +longhuiren.com +longhuvip.com +longigroup.com +longjcun.com +longjiazuo.com +longk.com +longmaosoft.com +longmaotianxia.com +longmarchspace.com +longmeng.com +longmenmingche.com +longmiao.wang +longmotto.com +longmushengwu.com +longqikeji.com +longquan-baojian.com +longquecdn.com +longre.com +longren.com +longruo.com +longsan.com +longseek.com +longshangrc.com +longsheng.com +longsheng.org +longsheng988.com +longshine.com +longsok.com +longsto.com +longsunhenges.com +longsys.com +longtaifoods.com +longtaitouxiaoshuo.com +longtaiwj.com +longtanshuw.net +longtask.com +longtengwang.com +longtugame.com +longtuohy.com +longu.com +longwang.cc +longwenedu.com +longwiki.org +longwin.org +longwisepr.com +longxi-tech.net +longxianwen.net +longxuan.ren +longygo.com +longyin.net +longyu.cc +longyucq.com +longyuedu.com +longyusheng.org +longzhongtv.com +longzhu.com +longzhu.tv +longzhulive.com +longzu.com +lonlife.org +lontiumsemi.com +loocall.com +loodd.com +looeen.com +looeo.com +looeoo.com +loogfa.com +loohuo.com +look8.com +lookao.com +lookbaby.com +lookbc.com +lookbravo.com +lookchem.com +lookcss.com +lookdiv.com +lookgame.com +looking-car.com +lookr.cc +looktm.com +looktmt.com +lookvin.com +loome.net +loonapp.com +loongnix.com +loongnix.org +loongshine.com +loongsin.com +loongson.org +loongsonclub.com +looooker.com +loopjump.com +looquan.com +loorain.com +loosun.com +looyu.com +looyuoms.com +looyush.com +lopetech.net +lophoctienganh.org +lopkino.com +lopopoo.com +lorefree.com +losala.com +losking.com +lossyou.com +lostali.com +lostphp.com +lostsakura.com +lotevision.com +lotlab.org +lotour.com +lotour.net +lotpc.com +lotpen.com +lotsmv.com +lotusair.net +lotusdata.com +lotuseed.com +lotut.com +loubobooo.com +louding.com +louishan.com +louislivi.com +louisvv.com +loukee.com +loukky.com +loulansheji.com +loulanwang.com +loupan.com +louqun.com +loushi12.com +lousj.com +lousw.com +louyue.com +lovcuty.com +love.tv +love1992.com +love21cn.com +love3721.com +love616.com +love778.com +love85g.com +lovean.com +loveapp.com +lovebizhi.com +lovecia.com +loveforvenus.com +lovehaimi.com +lovehhy.net +lovehifi.com +loveineurope.com +loveinhere.com +lovejavascript.com +lovejia.win +lovelacelee.com +loveliao.com +lovelive.tools +lovelixiang.com +lovemojito.com +loveniwed.com +lovenovelapp.com +loveota.com +lovepd.com +loveqindy.com +loverili.com +lovesec.com +lovesoo.org +lovestu.com +loveteemo.com +loveuav.com +loveunix.net +lovev.com +lovewith.me +lovewj.info +lovewusun.com +lovezhangjunning.com +lovezhuoyou.com +lovfp.com +lovgiin.com +lovology.com +lovstone.com +lowpew.com +lowsfish.com +lowucity.com +loxpo.com +loxue.com +loyaltychina.com +loyar.com +loyo.cc +lpcheng.com +lpllol.com +lply.net +lppz.com +lprcx.com +lpswz.com +lptiyu.com +lpwnice.com +lpxin.com +lpxinjuhui.com +lpxt.com +lq-bm.com +lq328.com +lq5u.com +lqabr.com +lqalm.com +lqbj.com +lqbj66.com +lqbld.com +lqbyj.com +lqgc.net +lqgcb.com +lqgrdj.com +lqhigo.com +lqhualang.com +lqjob88.com +lqpsj.com +lqqm.com +lqrcb.com +lqxshop.com +lqyaopin.com +lqzh.me +lqztbzx.com +lqzwdj.com +lr-amm.com +lr-link.com +lrc99.com +lrcb.net +lrcgc.com +lrcku.com +lrdzt.com +lread.net +lrenwang.com +lrhold.net +lrist.com +lrkdzx.com +lrs001.com +lrscloud2.com +lrscloud3.com +lrswl.com +lrts.me +lrwoman.com +ls-17.com +ls-gb.com +ls-marathon.com +ls0513.com +ls1018.com +ls12.me +ls666.com +lsbankchina.com +lsbchina.com +lsbin.com +lsccb.com +lsfyw.net +lsg3.com +lsgrandtheatre.com +lsgsgs.com +lsgw.com +lsgzn.com +lshou.com +lshv8.com +lsij3km.com +lsj.ac +lsjacg.com +lsjczj.com +lsjgcx.com +lsjlp8.com +lsjrcdn.com +lsjsm.com +lsjtfinance.com +lsjvps.com +lsjxck.com +lsjyy3800.com +lskejisoft.com +lskyf.com +lslkkyj.com +lsnetlib.com +lsoos.com +lspjy.com +lsq6.com +lsqifu.com +lssen.com +lssggzy.com +lstazl.com +lstest.com +lsttapp.com +lsttnews.com +lsun.net +lsuoled.com +lsup.net +lsw315.com +lswld.com +lswlsw.com +lsxz.org +lsywtc.com +lszj.com +lszjyj.com +lszp.cc +lt-tree.com +lt-uv.com +lt3c.com +ltaaa.com +ltaaa.net +ltd.com +ltesting.net +ltfwzs.com +lthack.com +ltimg.net +ltkdj.com +ltlovezh.com +ltmei.com +ltmp.cc +ltnic.com +ltp-cloud.com +ltp.ai +ltplayer.com +ltsf.com +ltswxy.com +lttconn.com +ltteach.com +lttvip.com +ltwkw.com +ltxjob.com +lty.fun +ltzsjt.com +lu.com +lu35.com +lu4n.com +lua.ren +luaninfo.com +luanren.com +luastudio.net +lubandata.com +lubanjianye.com +lubanpm.com +lubanshop.com +lubanso.com +lubansoft.com +lubanu.com +lubanway.com +lubiao.com +lubotv.com +luchinfo2.com +luciaz.me +luck4ever.net +luckeeinc.com +luckfriend.com +luckincoffee.co +luckincoffee.com +luckincoffeecdn.com +lucklnk.com +luckyair.net +luckycoffee.com +luckyjia.com +luckyxp.net +lucode.net +lucoder.com +lucy365.com +lucydraw.com +ludake.com +ludashi.com +ludeqi.com +ludiban.com +ludou.org +luduzww.com +luedian.com +luexiao.com +luexpo.com +luezhi.com +lufangjia.com +lufax.com +lufaxcdn.com +luffycity.com +luftweb.com +lufuli.com +lufunds.com +lugir.com +lugutown521.com +luhao198.com +luhehospital.com +luhongfu.com +luics.com +lujiang56.com +lujianxin.com +lujingtao.com +lujq.me +lujun9972.win +lukachen.com +lukaplayer.com +lukeer.com +lukiya.com +lukou.com +lukuanart.com +lul8.com +lulala.com +lulaohan.com +lulu77.com +lulufind.com +lum114.com +lumai.net +lumajia.com +lumanman1688.com +lumi258.com +lumiai.com +lumiaxu.com +lumit.org +lumiunited.com +lumyhouse.com +lunar2013.com +lunchong.com +lunkuokeji.com +lunlishi.com +lunwenchachong.org +lunwendj.com +lunwenschool.com +lunwenstudy.com +lunwentianxia.com +lunwentong.com +lunwenxiazai.com +lunxia.com +lunzima.net +luo8.com +luobo020.com +luobo360.com +luobocai.com +luobojianzhan.com +luobotou.org +luobowin10.com +luobowin8.com +luoboxia.com +luochen.com +luocheng.org +luochenyl.com +luochenzhimu.com +luochunhui.com +luodaoyi.com +luodian.com +luodiying.net +luodw.cc +luody.info +luofan.net +luogu.org +luohanyu.cc +luohuedu.net +luointo.com +luojiji.com +luojilab.com +luojituili.com +luokuang.com +luolai.com +luolai.tech +luolei.org +luomapan.com +luomi.com +luoohu.com +luooqi.com +luoqiu.com +luoqiuxs.com +luoqiuzw.com +luoqiuzww.com +luosi.com +luosimao.com +luotiannews.com +luotianyi.org +luowave.com +luoxiang.com +luoxudong.com +luoxue.com +luoyechenfei.com +luoying66.com +luoyuanhang.com +luozhongxu.com +luozongle.com +lup2p.com +lupaworld.com +lupeng88.com +luqidong.com +lure123.com +lurefans.com +lurelogs.com +lurenshuwx.com +lusen.com +lushaojun.com +lushu.com +lusongsong.com +lussac.net +luster3ds.com +lustervision.com +lutao.com +luv66.com +luways.com +luwei.me +luweitech.com +lux88.com +luxe.co +luxee.com +luxemon.com +luxianpo.com +luxiao.com +luxiwang.com +luxiyun.com +luxst.com +luxtarget.com +luxuqing.com +luxury-theme.com +luyanghui.com +luyewooden.com +luyinla.com +luyouqi.biz +luyouqi.com +luyouxia.com +luyuanqj.com +luzexi.com +lv74.com +lv96.com +lvanol.com +lvbaishun.com +lvbuo.com +lvchanghuanbao.com +lvchayun.com +lvchazhiboapp.com +lvchehui.com +lvcheng.com +lvchicar.com +lvcrown.com +lvdoutang.com +lvfang.cc +lvfl.net +lvgaud.ga +lvgou.com +lvguang.net +lvhezi.com +lvhuadai.com +lvjinsuo.com +lvkun.site +lvlian5.com +lvluowang.com +lvlvlvyou.com +lvmae.com +lvmama.com +lvmama.ink +lvmotou.com +lvnanbao.com +lvpai114.com +lvping.com +lvren.com +lvruan.com +lvrui.io +lvsanxia.com +lvse.com +lvsetxt.com +lvshedesign.com +lvshi567.com +lvshicixi.com +lvshiminglu.com +lvshou.com +lvshouwe.com +lvshunfang.com +lvshunmuseum.org +lvsongguo.com +lvtao.net +lvtu-vision.com +lvtu.com +lvtu8.com +lvtudiandian.com +lvwan365.com +lvwang.com +lvwenhan.com +lvwo.com +lvxing.net +lvya.com +lvye.com +lvye.org +lvyestudy.com +lvyetong.com +lvyidoor.com +lvyou114.com +lvyou5.net +lvyou521.com +lvyoubaotech.com +lvyoubei.com +lvyougl.com +lvyouw.net +lvyuanpam.com +lvyuetravel.com +lvzheng.com +lw0591.com +lw208.com +lw23.com +lw54.com +lwcj.com +lwd3699.com +lwdjc.com +lweasy.com +lwedu.com +lwen.org +lwfengji.net +lwfjmj.com +lwgsw.com +lwhouse.com +lwinl.com +lwinst.com +lwkz.cc +lwlm.com +lwons.com +lwork.com +lwrcb.com +lwsay.com +lwswxs.com +lwtxt.cc +lwxgds.com +lwxiaoshuo.com +lwxs.org +lwxs9.com +lwxs99.com +lwxstxt.com +lx-led.com +lx.cok.elexapp.com +lx.pub +lx138.com +lx167.com +lx3.cok.elexapp.com +lx598.com +lxbbt.com +lxckj.com +lxcvc.com +lxdms.com +lxdns.com +lxdns.info +lxdns.net +lxdns.org +lxf.me +lxi.me +lxin007.com +lxjep.com +lxjk999.com +lxlggo.com +lxly168.com +lxs123.com +lxsales.com +lxsjm.com +lxw1234.com +lxway.com +lxway.net +lxws.net +lxxh.cc +lxxh1.com +lxxm.com +lxy.me +lxybaike.com +lxyes.com +lxyl539.com +ly-sky.com +ly.com +ly200-cdn.com +ly200.com +ly39zx.com +ly522.com +ly6080.com +lyancafe.com +lyancoffee.com +lyangchuanbo.com +lyaudio.com +lyblog.net +lybol.com +lybus.com +lycgs.com +lycheer.net +lychevy.com +lycndq.com +lyd6688.com +lydct.com +lydezx.net +lydhb888.com +lydsy.com +lyecs.com +lyfff.com +lyg.live +lyg001.com +lyg01.net +lyg321.com +lyg800.com +lygdfrcb.com +lygfdc.com +lyghi.com +lygmedia.com +lygnews.com +lygou.cc +lygrffw.com +lygsyyijia.com +lyhanda.com +lyhero.com +lyhuadu.com +lyjiayi.com +lyjxwl.com +lylddz2021.com +lylryy.com +lymil.com +lymlgj.com +lynkco.com +lynlzqy.com +lynr.com +lyobs.com +lypd.com +lypdl.com +lyps.net +lypyxx.com +lyqugee.com +lyragosa.com +lyrc.cc +lyric-robot.com +lyricsv.app +lyshgk.com +lysk.net +lysqdx.com +lysqzs.com +lysteel.com +lysy360.com +lythw.com +lytning.xyz +lytoufang.com +lytpw.com +lyun.me +lyunweb.com +lyvnee.com +lywenlv.com +lywf.me +lywww.com +lywxww.com +lyxyxx.com +lyy99.com +lyyapp.com +lyyourc.com +lyyrsy.com +lyyzfx.net +lyz810.com +lyzfgjj.com +lyzhujia.com +lyzp100.com +lz160.net +lz310.com +lz520.net +lzabcd.com +lzafny.com +lzane.com +lzbank.com +lzc369.com +lzcbnews.com +lzccb.com +lzcqt.com +lzdxeuck.com +lzeweb.com +lzfcjys.com +lzfjq.com +lzgxq.com +lzhongdian.com +lzhpo.com +lzhygame.com +lzjdbjc.com +lzjoy.com +lzlbdm.com +lzlj.com +lzmoyin.com +lzmy123.com +lzqsyxx.com +lzsmedia.com +lzsq.net +lztv.tv +lztvnet.com +lztx123.com +lzvw.com +lzw.me +lzwifi.com +lzxdly.com +lzxgo.com +lzyun.vip +lzzyad.com +lzzzf.com +m-finder.com +m-rainbow.com +m.biz +m.dji.com +m.sohu +m.travelzoo.com +m0.hk +m0816.com +m096.com +m1315.com +m176.net +m18.com +m1905.com +m1910.com +m1938.com +m1ok.com +m1page.com +m1world.com +m2ez.com +m2mzy.com +m3guo.com +m3u8.tv +m448.com +m4yy.com +m598.com +m5bn.com +m5stack.com +m6go.com +m78.co +m818.com +m8cool.com +m90cc.com +m937.com +ma-china.com +ma3office.com +mabangerp.com +mabibook.com +mabiji.com +mabotech.com +mac189.com +mac69.com +macabc.com +macaihong.net +macapp.so +macapp8.com +macappbox.com +macappx.com +macauinternationalclubbingshow.com +macaumonthly.net +maccura.com +macdaxue.com +macflow.net +mach4s.com +machaojin.com +machenike.com +machine-information.com +machine-visions.com +machine35.com +machine365.com +machunjie.com +macidea.com +macjb.com +mackentan.com +mackext.com +macno1.com +macocn.com +macosgame.com +macoshome.com +macpeers.com +macrocheng.com +macrosan.com +macrosilicon.com +macrounion.com +macrowing.com +macrr.com +macsc.com +macshuo.com +macsky.net +macsofter.com +macv.com +macw.com +macwk.com +macxf.com +macxin.com +macz.com +maczd.com +maczhi.com +maczj.com +madaicaifu.com +madailicai.com +made-in-china.com +madefuns.com +madeqr.com +madio.net +madisonboom.com +madku.com +madmalls.com +madouer.com +madouka.com +madown.com +madserving.com +maemo.cc +mafangwo.com +mafenggo.com +mafengs.com +mafengvwo.com +mafengwo.com +mafengwo.ink +mafengwo.net +mafenword.com +maff.com +mafutian.net +mag10000.com +mag998.com +magcloud.net +magecorn.com +magedu.com +magentochina.org +magewell.com +magi.com +magicboxgame.com +magicdata.io +magicleaders.com +magicnetmall.com +magicwatchface.com +magicwinmail.com +magicyourlife101.com +magook.com +magsci.org +maguang.net +magvision.com +mahetao.org +mahoupao.com +mahoupao.net +mahua.com +mahuadns.com +mahuarili.com +mahuatalk.com +mai.com +maianhao.com +maibasa.com +maibw.net +maicdn.com +maicha365.com +maichawang.com +maiche.com +maiche168.com +maichuang.net +maicuole.com +maidangao.com +maidengju.net +maidi.me +maidige.com +maidixun.com +maidoc.com +maidou.com +maiduo.com +maienguoji.com +maifjb.com +maigevoice.com +maigoo.com +maihanji.com +maihaoche.com +maihehd.com +maihenghb.com +maijia.com +maijiaba.com +maijiabashi.com +maijiakan.com +maijichuang.net +maijx.com +maikenu.com +mail-qq.com +mail163.com +maila88.com +mailbusinfo.com +mailehudong.com +mailejifen.com +mailpanda.com +mailshanguo.com +maimaimaiw.com +maimemo.com +maimemostatus.com +maimengjun.com +maimiaotech.com +maimn.com +maimowang.com +maimuban.com +mainaer.com +maine1688.com +mainone.com +maintao.com +mainvyou.com +mainwww.com +maipu.com +maiquan.me +mairoot.com +mairuan.com +maiscrm.com +maishashop.com +maishebei.com +maishitv.com +maishou88.com +maishoudang.com +maishoumm.com +maisifenqi.com +maisorn.com +maisry.net +maisu.vip +maisucai.com +maitao.com +maitaods.com +maitaowang.com +maitianqinzi.com +maitianquan.com +maitix.com +maitix.net +maitoufa.org +maitu.cc +maituan.com +maitube.com +maiwe.com +maiweikj.com +maixhub.com +maixiaba.com +maixj.net +maixuewen.com +maixunlei.com +maiya91.com +maiyaole.com +maiymai.com +maizhi.com +maiziedu.com +maizijf.com +maizim.com +maizipo.com +maizitime.com +maizuo.com +majia99.com +majiamen.com +majianwei.com +majing.io +majorsec.com +majorserving.com +majsoul.com +maka.im +maka.mobi +makaevent.com +makaidong.com +makaiqian.com +make8.com +makeapp.co +makecn.net +makedie.me +makeding.com +makefang.com +makefont.com +makejinrong.com +makelove.la +makepic.net +makepolo.com +makepolo.net +maker8.com +makerbio.com +makerfun.org +maketion.com +makeweiyuan.com +makezixun.com +makingvfx.com +makuwang.com +malabeibei.com +malagis.com +malait.com +maldiveszh.com +maldun.com +males120.com +maliapi.com +maliquankai.com +mall-builder.com +mall.com +mallchina.net +mallcoo.net +mallhaha.com +mallocfree.com +mallshow.net +mallstaroa.com +mallzhe.com +mallzto.com +malmam.com +malong.com +maltm.com +malu.me +mama100.com +mamacn.com +mamahao.com +mamahuo.com +mamcharge.com +mamecn.com +mamicode.com +mamilist.com +mamioo.com +mamipush.com +mamsh.org +managershare.com +manben.com +manboker.com +mandao-tech.com +mandaodm.com +mandarincapital.net +mandarinedu.org +mandarinhouse.com +mandian.com +mandudu.com +manduhu.com +manduwu.com +manew.com +manewvr.com +manfen.net +manfen5.com +mangadig.com +mangafuna.xyz +mangafunc.fun +mangake.com +mangege.com +mangg.com +mangg.net +mangguo.com +mangguo.org +mangguo168.com +mangocity.com +mangoebike.com +mangogame.com +mangrovetreesanya.com +mangtuhuyu.com +manguo42.com +mangxia.com +mangxuewang.com +mangzitian.com +manhua1.com +manhua123.net +manhua365.com +manhua456.com +manhuaba.cc +manhuabei.com +manhuacheng.com +manhuadao.com +manhuadaohang.com +manhuadb.com +manhuafen.com +manhualang.com +manhuama.net +manhuang.org +manhuaniu.com +manhuapi.com +manhuaren.com +manhuatai.com +manhuayang.com +manibnb.com +maninmusic.com +manjiwang.com +manlinggame.com +manlongye.com +manluoni.com +manluotuo.com +manmanapp.com +manmanbuy.com +manmango.com +manmankan.com +manmu.net +mannkit.com +manogk.com +manong.io +manongdao.com +manonggu.com +manongjc.com +manongs.com +manongzj.com +manosp.com +manpianyi.com +manrong.win +manshitea.com +mantouji.net +mantusy.com +manwuxian123.com +manxiu-law.com +many88.com +manyanu.com +manyjs.com +manylaw.com +manyoo.net +manyou.com +manyoujing.net +manzhan.com +manzhan8.com +manzj.net +manzuo.com +mao-shen.com +mao.bz +mao.li +mao999.com +maobotv.com +maobugames.com +maodou.com +maodouapp.com +maoerduo2018.com +maoflag.net +maofly.com +maogx.win +maoha.com +maohaha.com +maohuashiye.com +maoken.com +maokz.com +maoln.com +maomaoche.com +maomaojie.com +maomaow.com +maomaoxue.com +maopuyouxi.com +maoqitian.com +maoqiuapp.com +maoshimei.com +maotaizuichen.com +maotuying.com +maowow.com +maoxiaotong.net +maoxinhang.com +maoxun.net +maoyan.com +maoyi.biz +maoyia.com +maoyidi.com +maoyiw.com +maoyiwang.com +maoyouhui.cc +maoyuncloud.com +maoyundns.com +maozhuar.com +maozhuashow.com +mapabc.com +mapbar.com +mapeng.net +mapgis.com +mapgun.com +mapks.com +maple-game.com +maplebeats.com +maplef.net +mappn.com +maqingxi.com +maqinnews.com +marakaro.com +mararun.com +marcores.com +marioall.com +marioin.com +markdown.xyz +markdream.com +marketiva-platform.com +marketreportchina.com +markhoo.com +markjour.com +markmall.com +markmiao.com +marknum.com +markonreview.com +markorchem.com +marksmile.com +maro6.com +maroon91.com +marry5.com +marry80.com +marsfancy.com +marstor.com +marstv.com +martech365.com +martincl2.me +marveldental.net +maryek.net +mas-omkj.com +mas10010.com +mas300275.com +masadora.jp +masadora.net +masamaso.com +mascaw.com +masdiy.com +masdjy.com +masej.com +mashangmai.com +mashangshijie.com +mass-evo.com +massclouds.com +masscrunch.com +mastergo.com +masterlab.vip +mastersay.com +mastersim123.com +mastertimes.net +mastodonhub.com +mastudio.org +masyi.com +mat-test.com +matao.com +matchday.cc +matchvs.com +math168.com +mathchina.net +mathfan.com +mathoe.com +mathpretty.com +mati.hk +maticsoft.com +matlabsky.com +matocloud.com +matongwu.com +matongxue.com +matools.com +matouwang.com +matpool.com +matt33.com +mattge.com +mattressmachinery.net +mauu.me +mavuz.com +mawei.live +mawen.co +mawentao.com +max-c.com +max232.net +maxent-inc.com +maxgj.net +maxhub.com +maxhub.vip +maxiang.info +maxiang.io +maxitas.com +maxjia.com +maxket.com +maxlicheng.com +maxok.com +maxpda.com +maxreader.net +maxscend.com +maxstv.com +maxthon.com +maxthonimg.com +maxuscloud.com +maxvinch.com +maxwealthfund.com +maxwi.com +maxxipoint.com +may.ltd +maya-r.com +maya09.com +mayahuashi.com +mayatu.com +maybe2016.com +maybeiwill.me +maycur.com +maydayfans.com +maydeal.com +mayi.com +mayiangel.com +mayicms.com +mayidui.net +mayihot.com +mayihr.com +mayijieqian.com +mayima.net +mayinews.com +mayishebao.com +mayishoubei.com +mayitek.com +mayitxt.com +mayiw.com +mayiwenku.com +mayiyx.com +mayizhuanlan.com +mayou18.com +maysunmedia.com +mayswind.net +maywant.com +maywonenergy.com +mazakii.com +mazey.net +mazhan.com +mazida.com +maziyou.com +mb-go.com +mb5u.com +mbabao.com +mbabycare.com +mbachina.com +mbajyz.com +mbalib.com +mbalunwen.net +mbanggo.com +mbaobao.com +mbaoxian.net +mbazl.com +mbb0760.com +mbcjapan.net +mbcloud.com +mbgo.com +mbinary.xyz +mbokee.com +mboxone.com +mbsky.com +mbtsg.com +mbxt.net +mc-ccpit.com +mc-test.com +mc-xborder.com +mc.fyi +mc123.cc +mc26.com +mc361.com +mc91.com +mcake.com +mcarding.com +mcbbs.net +mccaee.com +mcchcdn.com +mcchina.com +mcchou.com +mccuu.com +mcdchina.net +mcdsusan.com +mcdusiv.com +mcdvisa.com +mcearnmore.com +mcfun.tv +mcfuzhu.net +mch5k.com +mchat.com +mchifi.com +mcjcjx.com +mcjd.net +mcmssc.com +mcnqipdujs.com +mcooks.com +mcool.com +mcpemaster.com +mcpmaid.com +mcqyy.com +mcsafebox.com +mcshiyan.com +mcsjtz.com +mcu-home.com +mcufan.com +mcuisp.com +mcujl.com +mcusky.com +mcuzone.com +mcuzx.net +mcwshop.com +mcx666.com +mcyhfl.com +mcyo.pw +mczyz.com +mdaxue.com +mdbig.com +mdbimg.com +mdckj.com +mdcui.com +mdddy.com +mdeasydiagnosis.com +mdeditor.com +mdeer.com +mdfull.com +mdhjs.com +mdinjn.com +mditie.com +mdj2y.com +mdjhxgjyc.com +mdjyadi.com +mdjyouth.com +mdmmm.com +mdnice.com +mdo52.com +mdouyin.com +mdpda.com +mdsyzx.com +mdtu.com +mduckstudio.com +mdvdns.com +mdvoo.com +mdy-edu.com +mdybk.com +me-city.com +me361.com +me4399.com +me97.com +meadin.com +meaninggame.com +meazhi.com +meb.com +meban.cc +mec027.com +mechatim.com +mechr.com +mechrevo.com +meckodo.com +mecoxlane.com +med-water.com +med126.com +med66.com +meda.cc +medai360.com +medeming.com +mediafq.com +mediatek.com +mediav.com +mediawords.org +mediaxinan.com +mediecogroup.com +medimg.org +meditic.com +meditrusthealth.com +mediumin.net +medky.net +medlinker.com +medlinker.net +medme.net +medmeeting.org +medsci-tech.com +medstarcorp.com +medtion.com +meechao.com +meefon.com +meegoe.com +meeket.com +meet99.com +meetfave.com +meethall.com +meetlawyer.com +meetsite.com +meetwhale.com +meetzoom.net +meeuapp.net +mefeng.net +megaemoji.com +megajoy.com +megoal.org +megobike.com +megomap.com +megou8.com +meguo.com +megvii.com +mei-shu.com +mei.com +mei1.info +meia.me +meianjuwang.com +meiaoju.com +meibai14.com +meibaninc.com +meibanlu.com +meibaolicarpet.com +meibg.com +meibo.tv +meican.com +meicanstatic.com +meichibao.com +meichuanmei.com +meichubang.com +meidaojia.com +meidebi.com +meideng.net +meierbei.com +meifajie.com +meifang8.com +meifazu.com +meigeinc.com +meigongla.com +meigongyun.com +meiguanjia.net +meiguiwxw.com +meiguo-qianzheng.com +meiguoxiaoxue.com +meiguozhuji.com +meigushe.com +meih5.com +meih5.net +meihaotoutiao.com +meihaoxiangwang.com +meihaoxueyuan.com +meiheups.com +meihom.com +meihouyun.com +meihu99.com +meihua.info +meihuainfo.com +meihuappt.com +meihuboyue.com +meihudong.com +meihutong.com +meijia66.com +meijiacun.com +meijiaedu.com +meijiahuanxin.com +meijialove.com +meijiecao.net +meijiedaka.com +meijiehang.com +meijiehezi.com +meijieu.com +meijiexia.com +meijiezaixian.com +meijiezaixian.net +meijingjie.com +meijiu.com +meijuba.com +meijucenter.com +meijufans.com +meijuniao.com +meijuniao.net +meijuq.com +meijutt.com +meijutt.tv +meijuxia.com +meijuxq.com +meijuzhan.com +meijuzj.com +meikankeji.com +meike-shoes.com +meike15.com +meikeda.net +meiku123.com +meilanfangdajuyuan.org +meilecui.com +meili-inc.com +meilibaobao.com +meilijia.com +meiling.com +meiling360.com +meiliqueen.com +meilishuo.com +meilishuo.net +meilisite.com +meiliwan.com +meiliworks.com +meiliwu.com +meilunmeijia.com +meilvtong.com +meimeidu.com +meimeio.com +meimi.cc +meimingteng.com +meingrace.com +meinv.com +meip0.me +meip4.me +meipai.com +meipian.me +meipian2.com +meipuapp.com +meiqia.com +meiqiantu.com +meiqiausercontent.com +meiqinedu.com +meiqiu.me +meiquankejib.com +meiquankejih.com +meirenshang.com +meiridazhe.com +meirids.com +meirishangxin.com +meirishentie.com +meiritv.net +meiriyiwen.com +meirong.net +meirongshanghai.com +meisaitu.com +meisfuture.com +meishai.com +meishanren.com +meishe-app.com +meisheapp.com +meishesdk.com +meishi.cc +meishi13.com +meishichina.com +meishij.net +meishijr.com +meishilife.com +meishiqin.com +meishiwangluo.com +meishow.com +meishubao.com +meishui.com +meishuquan.net +meishuwenxian.com +meisubq.com +meisupic.com +meitaixianlan.com +meitangdehulu.com +meitegou.com +meitianhui.com +meitibijia.com +meitironghe.org +meitu.com +meitu.store +meituan.com +meituan.net +meituba.com +meitubase.com +meitudata.com +meitumobile.com +meitun.com +meituncdn.com +meitushop.com +meitustat.com +meituyun.com +meituyunji.com +meiwai.net +meiweis.com +meiweishudan.com +meiwenfen.com +meiwenting.com +meixie.com +meixincdn.com +meixiong5.com +meixueyuan.com +meiyaapp.com +meiyan.com +meiyedana.com +meiyen.com +meiyi.ai +meiyinji.vip +meiyixia.com +meiyixinrui.com +meiyou.com +meiyue.com +meiyuxiuxiu.com +meizhanggui.cc +meizhejie.com +meizhou.com +meizhou.net +meizitu.net +meizu.com +meizu.com.hk +meizu.net +mejoybaby.com +meke-shanghai.com +meke8.com +meldingcloud.com +melodyhome.com +melon.cdnetworks.com +melote.com +melove.net +memacx.com +memagames.com +memewan.com +memeyule.com +memorieslab.com +memorycarddeal.com +memoryhere.com +mems.me +memsconsulting.com +memseminar.com +memsensor.com +memuu.com +men.ci +menchuang.biz +meng2u.com +meng3.com +meng800.com +mengat.com +mengchenghui.com +mengdian.com +mengdie.com +mengdodo.com +menggang.com +menghunli.com +mengjiagames.com +mengjianjiemeng.com +mengjiayouxi.com +mengkang.net +menglan.com +menglangroup.com +menglechong.com +menglegame.com +menglei.info +menglong.me +mengma.com +mengma021.com +mengniang.tv +mengniu99.com +mengqiuju.com +mengsang.com +mengshihm.com +mengso.com +mengtian.com +mengtu.cc +mengtuiapp.com +mengwuji.net +mengxi.com +mengxiangeka.com +mengyoo.com +mengyou.org +mengyuzhe.com +mengzhou.com +mengzhuangxiu.com +mengzhuboke.com +mengzone.com +menhood.wang +menksoft.com +menle.com +menpiao.com +menqiu.com +menubarx.app +menwee.com +menww.com +menwww.com +menxue.com +menyuannews.com +meovse.com +meowcat.org +mepai.me +mepcec.com +meplayplay.com +mequn.com +mercedes-benzarena.com +mergeek.com +merklechina.com +mescroll.com +meshang.net +meshiot.com +mesince.com +mesresearch.com +mesu-cdn.apple.com.akadns.net +mesu-china.apple.com.akadns.net +mesu.apple.com +mesule.com +met.red +met169.com +metacd.com +metajs.info +metal-min.com +metalchina.com +meten.com +meteni.com +metenk12.com +metersbonwe.com +metersbonwe.net +metin520.com +metlifezeng.com +metnews.net +metro-3d.com +metroer.com +metrofastpass.com +metrolife.mobi +metstr.com +mew.fun +mewhoo.com +mexue.com +mexxum.com +meyet.net +mezw.com +mezzp.com +mf-y.com +mf8.biz +mf927.com +mf999.com +mfbgz.com +mfbuluo.com +mfcad.com +mfcad.net +mfcpx.com +mfcteda.com +mfexcel.com +mfisp.com +mfjmedia.com +mfk.com +mfpad.com +mfpjrj.com +mfqqx.com +mfqyw.com +mftianshanam.com +mftvideo.com +mfzdb.com +mfzxcs.com +mg-cdn.com +mg-pen.com +mg21.com +mg3721.com +mg67.com +mgc-games.com +mgd5.com +mgenware.com +mgff.com +mgl9.com +mglip.com +mgogo.com +mgous.com +mgplay.com.tw +mgpyh.com +mgsdk.com +mgslb.com +mgtv.com +mgtvzy2.com +mgw999.com +mgwxw.com +mgwyx.com +mgxzsy.com +mgyapp.com +mgyxw.net +mgyyw.com +mgzf.com +mgzgmyzz.com +mgzhibo.com +mgzxzs.com +mh1234.com +mh160.com +mh456.com +mh51.com +mh868.com +mhacn.com +mhaoma.com +mhbras.com +mhdns.com +mhealth100.com +mhecy.com +mhg001.cc +mhhf.net +mhi-ac.com +mhimg.com +mhpdf.com +mhsf.com +mht.la +mhtclub.com +mhtml5.com +mhv2.net +mhwck.com +mhwmm.com +mhwy2.com +mhxk.com +mhxqiu.com +mhxzhkl.com +mhyun.net +mhzd.cc +mhzd.net +mi-ae.net +mi-dun.com +mi-fds.net +mi-idc.com +mi-img.com +mi.com +mi1.cc +mi6fx.com +mia.com +mian4.net +mianbao.com +mianbaodianying.com +mianbaoduo.com +mianbaoimg.com +mianbaotou.com +miandanbx.com +mianfeidianhua.net +mianfeiic.com +mianfeiwendang.com +mianhuatang.cc +mianhuatang.la +mianjue.com +mianjuvip.com +mianshi365.com +mianshui365.com +miantiao.me +mianwai.com +mianxiangxue.com +miao-lang.com +miao.su +miaobe.com +miaoche.com +miaodiyun.com +miaofaxian.com +miaogao.net +miaogu.com +miaohealth.net +miaokaiyun.com +miaole1024.com +miaomaicar.com +miaomiaoxue.com +miaomiaoz.com +miaomiaozhe.com +miaomore.com +miaopai.com +miaopin8.com +miaoquantuan.com +miaoshou.com +miaoshou.net +miaoshoucdn.com +miaoshuwu.com +miaoshuzhai.com +miaoshuzhai.net +miaostreet.com +miaov.com +miaoweijianfei.com +miaowugo.com +miaowutech.com +miaoxiakuan.com +miaoxiazai.com +miaozao.com +miaozhen.com +miaozhun.com +miaxis.net +miazhiyou.com +mibaoge.com +mibaostore.com +mibaoxian.com +mibimibi.com +mibokids.com +mibugs.com +mic-s.com +micai.com +micaiying.com +micblo.com +michael-j.net +michaelapp.com +micheal.wang +michelam.com +michong.com +michplay.com +miclle.com +mico.io +micro-bee.com +micro-servs.com +microad-cn.com +microad-z.com +microbell.com +microbt.com +microcai.org +microcardio.com +microdiag.com +microdreams.com +microfotos.com +microland-design.com +microlensyh.com +microlz.com +micromouse.tech +microrui.net +microvcard.com +microvirt.com +microvoip.com +microwu.com +microyan.com +micstatic.com +micw.com +midaapi.com +midadata.com +midaijihua.com +midainc.com +midasbuy.com +midday.me +midea.com +midea.com.tr +midicn.com +midifan.com +midifan.org +midiyinyue.com +midlele.com +midonline.net +midsummer.cc +miduiedu.com +midukanshu.com +miduoke.net +midureader.com +midway.run +midwayjs.org +miecod.com +miejw.com +miemie.la +miensi.com +mier123.com +miercn.com +mierhuo.com +mieseng.com +mieyisi.com +mifangba.com +mifanli.com +mifanlicdn.com +mifei.com +mifen517.com +mifengv.com +mifengvv.com +mifengxiuchang.com +mifengzhibo.com +mifispark.com +migame.vip +migelab.com +migroom.com +migucloud.com +migufun.com +migutv.com +miguvideo.com +miguyu.com +mihan.cc +mihayo.com +mihayou.com +mihoyo.com +mihtool.com +mihua.net +mihuashi.com +mihuguan.com +mihui365.com +mihuwa.com +miicp.com +miidc.com +miidi.net +miidii.tech +miidol.com +miiee.com +miinaa.com +miit-icdc.org +miitip.org +mij.cc +miji8.com +mijiadns.com +mijiannet.com +mijiayoupin.com +mijishe.com +mijisou.com +mijwed.com +mika123.com +mika18.com +mikannovel.com +mikechen.cc +mikecrm.com +mikemiao111.com +mikesent-awareness-02.com +mikesent.net +mikewootc.com +mikoshu.me +miku.ink +miku4567.com +mikuac.com +mikublog.com +mikucdn.com +mikuclub.fun +milan-bride.com +milanvip.com +mileage.vip +milejia.com +miletu.com +milfuns.com +miliantech.com +miliao.com +milido.vip +milihua.com +milike.com +miliol.com +miliol.org +milipictures.com +miliyo.com +milkjpg.com +milkplayer.com +milliway-ic.com +millll.net +millnovel.com +milnews.com +milo-star.com +miloktv.com +miloli.info +milu.com +milvzn.com +mima.club +mimaru.me +mimgame.com +mimi456.com +mimi518.com +mimidi.com +mimiteng.com +mimixiaoke.com +mimo51.com +mimoe.cc +mimoprint.com +mimouse.net +mimtao.com +mimvp.com +minapp.com +mincache.com +mincdn.com +mincoder.com +mindai.com +mindcherish.com +mindhave.com +mindmanager.cc +mindmanagerchina.com +mindmapper.cc +mindmeters.com +mindmm.com +mindopu.com +mindpin.com +mindray.com +mindstore.io +minecraftxz.com +mineplugin.org +miner.tools +minerbbs.com +minerfun.com +minerhome.com +minesage.com +minewtech.com +ming80.com +mingbaoxinwen.com +mingbianji.com +mingcalc.com +mingchaoonline.com +mingchaoyouxi.com +mingcloud.net +mingczh.com +mingda.net +mingdanwang.com +mingdao.com +mingdao.net +mingdao8.com +mingdaocloud.com +mingdongman.com +mingin.com +mingjian.com +mingjinglu.com +minglian.com +mingliu8.com +mingliwenhua.com +mingmen-tech.com +mingpian.biz +mingqizhongyi.com +mingren888.com +mingrenteahouse.com +mingrenxiang.com +mingricctv.com +mingritouban.com +mingshiedu.com +mingshijt.com +mingsoft.net +mingtaokeji.com +mingtian.com +mingtian6.com +mingtrip.com +mingxiaodai.com +mingxing.com +mingxingku.com +mingxinglai.com +mingyannet.com +mingyantong.com +mingyaohui.com +mingyaweb.com +mingyi.com +mingyihui.net +mingyuanfund.com +mingyuanyun.com +mingyueqingfengshe.com +mingyuezw.com +mingzhuxiaoshuo.com +mingzihui.com +mingzw.net +minhang.cc +minhangshi.com +minhow.com +mini-audio.com +mini-program.net +mini5cn-1.opera-mini.net +mini5cn.opera-mini.net +miniadx.com +miniaixue.com +miniblink.net +minidaxue.com +minidso.com +minieye.cc +minieye.tech +minigui.com +minigui.org +minihaowan.com +miniluck.com +miningconf.org +mininglamp.com +miniso.com +minisoyo.com +ministudy.com +minitiao.com +minitos.com +miniui.com +miniwangdai.com +minixiazai.com +minniansoft.com +minor-tech.com +minqingguancha.com +minra.com +minrank.com +minretail.com +minshengec.com +mintaibank.com +mintaylor.com +mintmuse.com +mints-id.com +minunix.com +minxindai.com +minxing365.com +minxue.net +minzu56.net +miot-spec.org +mipacc.com +mipang.com +mipangwang.com +mipay.com +mipcdn.com +mipengine.org +miplus.cloud +mipujia.com +miquapp.com +mir2world.com +mir4399.com +miraclevision.net +mirari.cc +mirgaga.net +mirmzhy.com +mirxat.com +misaka.center +misall.com +miscd.com +misclogic.com +mishangkeji.com +misiiyoo.com +miskcoo.com +mispos.cc +missevan.com +missfresh.net +missku.com +missquq.com +misstar.com +missyuan.net +misuland.com +mitang.com +mitangbao.com +mitaozhibo.org +mite5.com +miteno.com +miteo.net +mitilove.com +mitiplus.com +mittrchina.com +miui.com +miutour.com +miutrip.com +miwifi.com +mix.moe +mixbao.com +mixcapp.com +mixdo.net +mixgslb.com +mixian88.com +miximixi.net +mixin.cc +mixiong.tv +mixrnb.com +mixunds.com +mixvvideo.com +miy.cc +miyabaobei.com +miyabaobei.hk +miyaboke.com +miyanlife.com +miyapay.com +miyouu.com +miyuangz.com +miyupu.com +miyushu.com +mizhe.com +mizhenhao.com +mizhimedia.com +mizholdings.com +mizhuanba.com +mizone.cc +mizuiren.com +mj85.com +mjasoft.com +mjceo.com +mjh5.com +mjia.cc +mjjcn.com +mjjq.com +mjju.net +mjjxkj.com +mjkqj.com +mjlong.com +mjmj8.net +mjmjm.com +mjmobi.com +mjoys.com +mjrui.com +mjtom.com +mjyun.com +mjyx.com +mjzj.com +mjzymh.com +mk-yiliao.com +mk2048.com +mkaliez.com +mkaq.org +mkb0898.com +mkbld.com +mkf.com +mkjump.com +mklimg.com +mknn.net +mkshell.com +mkszxh.com +mktcreator.com +mktdatatech.com +mktzr.com +mkuai.net +mkvcn.com +mkwhat.com +mkzcdn.com +mkzhan.com +mkzhou.com +mkzoo.com +ml-cg.com +ml-kq.com +mlairport.com +mlbuy.com +mlgame.wang +mlgj.com +mlibaba.com +mlinks.cc +mlito.com +mlj130.com +mlj194.com +mlj36.com +mlj55.com +mljixie.com +mljr.com +mlkmba.com +mlkxs.com +mlkxshop.com +mlmcms.com +mlmfcn.com +mlnk.me +mlnrz.com +mlnsoft.net +mlocso.com +mlog.club +mlogcn.com +mlrzsj.com +mlsub.net +mlt01.com +mlwanwan.com +mlwed.com +mlwu.net +mlxks.com +mlycdn.com +mlyfc.net +mlyfcyy.com +mlzcn.com +mm.com +mm111.net +mm12581.com +mm131.kim +mm138.com +mm2hservices.com +mm2uu.com +mm52.com +mm7920.com +mm8mm8.com +mm957.com +mmall.com +mmaqa.com +mmarket.com +mmb.to +mmbang.com +mmbang.info +mmbang.net +mmbao.com +mmbest.com +mmbjq.com +mmbread.com +mmc-data.com +mmcxu.com +mmfad.com +mmfang.cc +mmfbm.com +mmfi.net +mmfj.com +mmgl.net +mmgogo.com +mmhktv.com +mmi-shanghai.com +mmia.com +mmim8.com +mmimm.com +mmiyue.com +mmkkiivv.com +mmloo.com +mmm.io +mmmiao.com +mmmmmmm.com +mmmtea.net +mmonly.cc +mmosite.com +mmscoo.com +mmsfw.com +mmsk.com +mmstat.com +mmtcw.com +mmtrix.com +mmtrixcnc.com +mmtrixcnet.com +mmtrixopt.com +mmtsg.com +mmuaa.com +mmwan.cc +mmww.com +mmxiaowu.com +mmy.la +mmybt.com +mmycdn.com +mmyfilm.com +mmzh.com +mn-soft.com +mn21.com +mnancheng.com +mnbvtgv.com +mndsoft.com +mng0303.com +mng044.com +mnihyc.com +mnjj.group +mnkan.com +mnlscz.com +mnoswqa.com +mnpz8.com +mnwww.com +mnxz8.com +mo-yu.com +mo298.com +mo2g.com +mo9.com +moage.com +mob.com +mob55.com +mobaders.com +moban.com +mobanhao.com +mobanjing.com +mobanku.com +mobanlane.com +mobanma.com +mobanpai.com +mobantiankong.com +mobantianxia.com +mobantianxia.net +mobantu.com +mobanwang.com +mobartsgame.com +mobawan.com +mobayke.com +mobayx.com +mobcastlead.com +mobcent.com +mobdatas.com +mobeehome.com +mobeiwenhua.com +mobgi.com +mobibao.com +mobibrw.com +mobike.com +mobile-ease.com +mobileanjian.com +mobilebone.org +mobiledissector.com +mobilegamebase.com +mobilegamecdn.com +mobilelegends.com +mobileppp.com +mobiletrain.org +mobileztgame.com +mobiw.com +mobjz.com +mobkeeper.com +mobking.biz +mobo168.com +moboage.com +moboplayer.com +moborobo.com +mobotap.com +mobring.co +mobrtb.com +mobstarry.com +mobtou.com +mobvoi.com +mocache.com +mocartoon.com +mockingbot.com +mockjs.com +mockplus.com +mockuai.com +mocn.cc +mocuz.com +modao.cc +modao.com +modao.io +modb.pro +modeng178.com +modernsky.com +modernweekly.com +modian.com +modoer.com +modooplay.com +modulesocean.com +moduovr.com +moduseo.com +modusnb.com +modxz.com +moe.im +moe123.com +moe123.net +moe123.org +moe321.com +moeamv.com +moeblog.vip +moeclub.org +moecoder.com +moeelf.com +moefactory.com +moefantasy.com +moefou.org +moehu.org +moehui.com +moeid.com +moejam.com +moejj.com +moejp.com +moemiao.net +moenis.com +moeover.com +moerail.ml +moerkeji.net +moerlong.com +moesola.com +moetu.org +moetuji.com +moew.xyz +moeyue.com +moezu.com +moezx.cc +mofa.com +mofanbaby.com +mofang.com +mofang.jp +mofangge.com +mofanghr.com +mofangshe.com +mofangyu.com +mofavideo.com +mofazhu.com +mofenglife.com +mofile.com +mofishgames.com +mofoun.com +mofunenglish.com +mogoedit.com +mogohd.com +mogoroom.com +mogu.com +mogu.io +mogubill.com +mogucdn.com +moguf.com +mogujia.com +mogujie.com +mogujie.org +mogumiao.com +moguproxy.com +mogustore.com +mogutong.com +moguupd5.com +moguv.com +moguvet.com +moguyun.com +moh.cc +moh7.com +moh8.com +moheqq.com +mohou.com +mohu.org +mohuanhua.com +moihu.com +moimg.net +moioi.com +moith.com +moji.com +moji001.com +moji002.com +mojicb.com +mojicdn.com +mojichina.com +mojidong.com +mojieai.com +mojitest.com +mojocube.com +mojuedu.com +mokahr.com +mokalady.com +mokaoba.com +mokatyper.com +mokayuedu.com +mokezhan.com +mokiee.com +moko.cc +moks.cc +molbase.com +molbase.net +molegu.com +molei.net +molerose.com +molibaike.com +molibiancheng.com +molie.com +molihe.cc +molinsoft.com +moliplayer.com +moliqiji.com +molixiangce.com +molizm.com +molloc.com +moltentec.com +momdm.com +momentcdn.net +momhui.com +momishi.com +momo9.me +momobako.com +momocdn.com +momochufang.com +momooyo.com +momoshifu.com +momotn.com +momoyoyo.com +momzs.com +moneydai.com +moneydata.hk +moneygz.com +moneyslow.com +mongochina.com +monhun.fun +monidai.com +monizl.com +monknow.com +monph.com +monseng.com +monsooncvs.com +monsterlin.com +montage-tech.com +monteamor.com +monternet.com +monthdate.com +montnets.com +monv.com +monxin.com +moocollege.com +moodmoon.com +moodoon.com +moogos.com +moojing.com +moojnn.com +moomcherry.com +moomoo.com +moonbasa.com +moonbook.com +mooncell.wiki +moonfly.net +mooninbox.com +moonjer.com +moonlian.com +moonsec.com +moontc.com +moonx.ai +moooc.cc +mooooc.com +moootooo.com +moore.live +moore.ren +moore8.com +moorecat.com +mooreelite.com +mooreiot.com +mooreren.com +moowo.com +mop.com +mopaas.com +mopaasapp.com +mopair-erm.net +mopcn.com +mopei8.com +moper.me +mopiaoyao.com +mopicer.com +mopoint.com +mopsky.com +moqifei.com +moqikaka.com +moqilin.net +moqing.com +moqipobing.com +moqu8.com +moquu.com +morancoo.com +morechinese.cc +moreck.com +morefood.com +moreless.io +morequick.net +moresing.com +moretickets.com +morevfx.com +morewis.com +morewiscloud.com +morigames.com +morihei.net +moring.pw +morketing.com +morning.work +morningcore.com +morninghan.com +morningwhistle.com +morstar.net +moseacg.com +moseeker.com +mosesenglish.com +mosgcj.com +mosheng520.com +moshou.com +moshuanghua.com +moshuqiqiu.com +mosifel.com +mosoga.net +mossle.com +mostch.com +mostsd.com +motanku.com +motherchildren.com +motie.com +motieimg.com +motilive.com +motimaster.com +motionhubtuto.com +motisky.com +moto-one.com.hk +moto8.com +motrix.app +mottoin.com +motuo2.com +motuowei.com +mouldbbs.com +mouldnews.com +moulem.com +moumi.com +mounriver.com +mounstar.com +mountor.net +mounui.com +mousycoder.com +mout.me +moutaichina.com +movcam.com +movcms.com +movesee.com +movesky.net +moviemore.com +movit-tech.com +mowan123.com +mowowo.com +mowuhe.com +mox.moe +moxdao.com +moxfive.xyz +moxiai.com +moxian.com +moxiaofei.com +moxiaoqihuoguo.com +moxing.net +moxingyun.com +moxiu.com +moxiu.net +moxiwh4.com +moyangmoyang.com +moyann.com +moyazhenzhu.com +moye.me +moyimusic.com +moyoutang.com +moyoyo.com +moyuba.com +moyublog.com +moyugroup.com +moyumedia.com +moz8.com +mozhan.com +mozheanquan.com +mozhedun.com +mozhenhau.com +mozhes.com +mozichina.com +mozigu.net +mozillaonline.com +mozillazg.com +mp4ba.com +mp4cn.com +mp4er.cc +mp4ju.com +mp4so.com +mpaascloud.com +mpacc.net +mpaidata.com +mpdaogou.com +mpdsj.com +mpfmall.com +mphdx.com +mpiano.com +mplife.com +mplus.tech +mpopkart.com +mpos.ren +mpweixin.net +mpxiaomi.net +mpxiaoshuo.com +mpxx.net +mqant.com +mqcoffee.com +mqego.com +mquanquan.com +mqwds.cc +mqxww.com +mr-ping.com +mr77.com +mr91.com +mrabit.com +mrbanana.com +mrbluyee.com +mrcjcn.com +mrcrm.com +mrcywang.com +mrdede.com +mrentea.com +mrevisa.com +mrhallacg.com +mrjiang.com +mrjjxw.com +mrkevin.net +mro9.com +mrpyq.com +mrqf.com +mrshuhua.net +mrsta.com +mrsu.me +mrtbc.com +mrw.so +mrwfbk.bar +mrwish.net +mrzhenggang.com +mrzl.com +mrzs.net +ms211.com +ms315.com +ms6666111.com +mscbsc.com +mschcdn.com +mscto.com +msddp.com +msdelectron.com +msfpay.com +msfxt.com +msgcarry.com +msgr.dlservice.microsoft.com +msgruser.dlservice.microsoft.com +msgtjj.com +mshandong.com +mshc2018.com +mshengb.com +mshot.com +mshouyou.com +mshxw.com +msits.com +msjcqm.com +msjxxz.com +mskjf.com +msl.la +mslzz.com +msmartlife.com +msmbjp.com +msoso.com +mspharm.com +mspring.org +msrtvu.net +msstatic.com +mstarsemi.com +mstchina.com +msudz.com +msunland.com +msvod.cc +msweekly.com +msxf.com +msxf.net +msxfmall.com +msxh.com +msxiaobing.com +msymjz.com +msyos.com +mszmapp.com +mszq.com +mszsx.com +mszxyh.com +mt-bbs.com +mt-spirit.com +mt-wire.com +mtasia.net +mtavip.com +mtblj.com +mtchome.com +mtcm006.com +mtcnsoft.com +mtcop.com +mtcsys.com +mtcx99.com +mtdpgame.com +mtdx.net +mtedu.com +mtestin.com +mtgchina.com +mti100.com +mtiancity.com +mtianshitong.com +mtide.net +mtime.com +mtimeimg.com +mting.info +mtizt.com +mtk.com.tw +mtkan.net +mtkdy.com +mtketang.com +mtksj.com +mtktk.com +mtm.mo +mtmos.com +mtmss.com +mtmssdn.com +mtmssdn0.com +mtnets.com +mtnets.net +mtoilet.com +mtoou.info +mtr8.com +mtrendgroup.com +mtscj.com +mtty.com +mtu46.com +mtunique.com +mtv123.com +mtw.so +mtwine.com +mtwl.net +mtxgx.com +mtxyx.com +mtyee.com +mtyun.com +mtzbs.com +mtzc100.com +mtzcjy.com +mtzmyjf.com +mtzuichen.com +mtzxgf.com +mu8.cc +mubie.net +mubu.com +mubu.io +mubucm.com +mucaipin.com +mucf.cc +mucfc.com +muchangqing.com +muchlab.com +muchong.com +muchrank.com +mudiao360.com +mudongguang.com +mudoudou.net +mudu.tv +mufengyue.com +muftc.com +mugeda.com +muguaddy.com +muhai.net +muhoujiemi.com +muimg.com +mujj.us +mukewang.com +mukool.com +mulazim.com +mulinf99.com +mum.cc +mumayi.com +mumu01.com +mumumoo.com +muniao.com +murdermysterypa.com +murl.tv +muryi.net +muse-ui.org +mushafa.net +mushapi.com +mushroomchina.com +music.apple.com +music163.com +music4x.com +musicbody.net +musicchina-expo.com +musicdu.com +musiceol.com +musicsky.org +musikid.com +musiness.vip +muslimwww.com +mustups.net +musyder.com +mutouxb.com +mutualhunter.com +mutuoluo.com +muwai.com +mux5.com +muxin.fun +muxiulin.com +muxufang.com +muyangkuaibao.com +muyee.com +muyewx.com +muyii.com +muying.com +muyingjie.com +muyingzhijia.com +muyishu.com +muyuanfoods.com +muzhi.us +muzhigame.com +muzhiwan.com +muzi999.com +muzijie.com +muzili.xyz +muzisoft.com +mvben.com +mvc188.com +mvhere.com +mvmpg.com +mvnas.com +mvnjar.com +mvoicer.com +mvote.net +mvpdj.com +mvpsky.com +mvyxws.com +mw.com +mw1950.com +mwadx.com +mwave.tech +mwcloudcdn.com +mwcloudcdn.info +mwcname.com +mweda.com +mwjournalchina.com +mwjx.com +mwrf.net +mwrfchina.org +mwrftech.com +mwyzhcdn.com +mx175.com +mx3g.com +mxarts.com +mxchip.com +mxddp.com +mxde.com +mxguan.com +mxhaitao.com +mxhichina.com +mxifund.com +mxingkong.net +mxjinchao.com +mxjtedu.com +mxjyxx.com +mxk.cc +mxlvniao.com +mxnavi.com +mxnfq.com +mxnxs.com +mxomo.com +mxqe.com +mxria.com +mxs.com +mxslly.com +mxsyzen.com +mxtcn.com +mxtrk.com +mxtronics.com +mxw3.com +mxyn.com +mxzsjt.com +mxzx123.net +mxzzzs.com +my-3dcad.com +my-host.cc +my-summit.com +my.st.com +my0511.com +my0513.com +my0538.com +my0551.com +my0792.com +my0832.com +my089.com +my120.org +my1616.net +my1688.shop +my253537.com +my285.com +my2852.com +my2space.com +my2w.com +my399.com +my3w.com +my419.com +my4399.com +my51a.com +my5m.com +my5v.com +my607.com +my68.com +my7475.com +my7v.com +my88316666.com +my9166.com +my9527.com +my97.net +myagric.com +myaijarvis.com +myalert.info +myalicdn.com +myanjian.com +myanmarembassy.com +myantu.com +myapks.com +myapp.com +myarowanas.com +myauth.us +mybank.cc +mybdqn.com +mybjx.net +mybosc.com +myboyan.com +mybwallet.com +mybxg.com +mycaigou.com +mycaijing.com +mycaixun.com +mycar168.com +mycaraok.com +mycardgame.net +mycat.io +mychemy.com +mychery.com +mychery.net +mychinaevent.com +mychunyan.net +mycleanmymac.com +myclub2.com +mycnc.org +mycodes.net +mycollect.net +mycolorway.com +mycoov.com +mycos.cc +mycos.com +mycos.net +mycos.org +mycoser.com +mycospxk.com +mycoss.com +mycoss.net +mycoss.org +mycrtb.com +mydadao.com +mydao.net +mydbfx.com +mydcyj.com +mydebook.com +mydeershow.com +mydf.net +mydianshijia.com +mydical.com +mydict.org +mydigi.net +mydigit.net +mydiyclub.com +mydll.org +mydnns.com +mydns8.com +mydnser.com +mydnspod.net +mydnsw.com +mydoc.io +mydown.com +mydown168.com +mydreamplus.com +mydrivers.com +myeclipsecn.com +myekp.net +myezdns.com +myf6.com +myfans.cc +myfcomic.com +myfirstwon.com +myfrfr.com +myfun.com +myfun7.com +myfund.com +mygame66.com +mygame82.com +mygame88.com +mygjp.com +mygobatv.com +mygolbs.com +myguancha.com +mygx.net +mygzb.com +myhack58.com +myhaowai.com +myhard.com +myhayo.com +myhexin.com +myhongzuan.com +myhostadmin.net +myhuahuo.com +myhuaweicloud.com +myhuilv.com +myhwclouds.com +myicloud.vip +myie.me +myie9.com +myip.la +myiplay.com +myir-tech.com +myirtech.com +myitit.com +myjhxl.com +myjianzhu.com +myjishu.com +myjob.com +myjob500.com +myjoit.com +myjoy777.com +myk3.com +mykqyy.com +mylbabao.com +mylegist.com +mylguoji.com +mylhospital.com +mylhz.com +mylibs.org +mylike.cc +mylike.com +mylikechat.com +mylikesz.com +mylikeyk.com +mylink.ink +mylitboy.com +mylmad.com +mylotushealth.com +mylovehome.com +mym001.com +mymaitian.com +mymanhua.com +mymetal.net +mymhotel.com +myminapp.com +mymofun.com +mymoive.com +mymova.com +mynb8.com +mynee.com +myoas.com +myodatech.com +myoldtime.com +myonlystar.com +myopenwrt.org +myoppo.com +myoschain.com +myottad.com +myouth.net +myp2pcam.com +myp2pch.net +mypal.wang +mypcera.com +mypcrun.com +mypethome.com +mypian.com +mypiao.com +mypitaya.com +mypity.com +mypm.net +myprad.com +mypscloud.com +mypsy365.com +myptpt.com +myqcloud.com +myqcloud.net +myqee.com +myqiantu.com +myqqjd.com +myra2.com +myrb.net +myreadme.com +myrice.com +myriptide.com +myrtb.net +myrunners.com +myruru.com +mysanco.com +myscore.org +mysemlife.com +myshow800.com +myshown.com +myshu.org +myshxz.com +mysinablog.com +mysinamail.com +mysipo.com +mysixue.com +mysmth.net +mysodao.com +mysongktv.com +mysore-yoga.com +myspain.org +mysqlab.net +mysqlops.com +mysqlpub.com +myssl.com +mystao.com +mysteel.com +mysteel.net +mysteelcdn.com +mysteelcms.com +mystudyerte.com +mysubmail.com +mysupa.com +mysuperbest.com +mysuperdns.com +mysvw.com +myt126.com +mytanwan.com +mythbird.com +mythcall.com +mythcare.com +mythidea.com +mythroad.net +mythsman.com +mythware.com +mythware.net +mytijian.com +mytju.com +mytokenpocket.vip +mytrix.me +mytv365.com +mytvbt.com +mytvgame.com +myuall.com +myubbs.com +myuclass.com +myujob.com +myun.tv +myunke.com +myunying.com +myushan.com +mywakao.com +mywang.net +mywayboo.net +myweimai.com +mywh.com +mywll.com +mywood.cc +myxypt.com +myyishu.com +myyj.net +myyoudao.com +myyx618.com +myyx915.com +myyzd.com +myzaker.com +myzebravip.com +myzhiniu.com +myzhongjin.com +myznh.com +myzte.com +mz-oneacg.com +mz-sys.com +mzbei.com +mzboss.com +mzeyes.com +mzfile.com +mzfxw.com +mzgtuan.com +mzh.ren +mzhb.com +mzhfm.com +mzhujia.com +mzi8.com +mzjmedia.com +mzmjapp.com +mzone.site +mzread.com +mzres.com +mzsky.cc +mzsmn.com +mztgame.com +mztzzx.com +mzuan.com +mzwu.com +mzxwz.com +mzyfz.com +mzyun.ren +mzzjw.com +n-bros.net +n-mobile.com +n0808.com +n12345.com +n12xar123.xyz +n21.cc +n3ko.co +n3sd.com +n423.com +n459.com +n77777777.com +n802.com +n9cn.net +n9z.net +naadou.com +nadianshi.com +nafanlong.com +nagain.com +nagcloudcs.com +nagekuai.com +nahan.org +nahuayuan.com +nahuo.com +nahuo9.com +nai.la +nai.si +nai8.me +naibabiji.com +naibago.com +naicha99.com +naichabiao.com +naichagang.com +naifei.pro +naigirl.com +naikanxs.com +naimei.com +nainiuapp.com +naiping.net +naitang.com +naiveblue.com +naiyou.cc +najiaoluo.com +nakedhub.com +nakedsail.com +nakevip.com +nalanxi.com +nalichi.com +name1688.com +name2012.com +name5566.com +namedq.com +nameidi.com +namepre.com +namesilopro.com +namibox.com +namipan.com +namitiyu.com +namoc.org +nanadao.com +nanapro.org +nanbeiyou.com +nanbushenghuo.com +nandagang.cc +nandasoft.com +nandu.com +nanerjia.com +nanerlee.me +nanfu.com +nanguache.com +nangualin.com +nanhaitoday.com +nanhe111.com +nanhua.net +nanhufund.com +nanhuhr.com +nanhumingyue.com +nanhutravel.com +nani.online +nanjiaosuo.com +nanjingchenxi.com +nanjinghuojia.net +nanjingkaishan.com +nanjingtianqi114.com +nanjingui.com +nanjixiong.com +nankaimba.org +nanlebbs.com +nanlive.com +nanningjie.com +nanoer.net +nanopi.org +nanputuo.com +nanqi.org +nanrenbang.in +nanrenge.net +nanrentu.cc +nanrenvip1.com +nanrenvip2021.xyz +nanrenwa.com +nanrenwo.net +nanshan.biz +nanshanski.com +nanshifaxing.com +nantaihu.com +nantongbike.com +nantonghua.net +nantongle.com +nanxueqx.com +nanxunjob.com +nanyangcable.com +nanyuanyinfong.com +nanyuetong.com +nanzhao1.com +naobiao.com +naoda.net +naoffer.com +naonaola.com +naozhong.net +napiantian.com +naquan.com +narkii.com +narrowad.com +naruto.red +naruto4u.com +narutom.com +nas66.com +nasgetinfo.com +nashwork.com +nasimobi.com +nasiosoft.com +naslike.com +nasyun.com +nat123.com +natamoo.com +natappfree.cc +natbbs.com +natertech.com +nationalchip.com +nationsky.com +nationstech.com +naturali.io +nature-museum.net +naturesvariety-china.com +natywish.com +nauac.com +navchina.com +navimentum.com +navinfo.com +naxcx.com +naxide.com +nayao.com +nayatec.com +nayei.com +nb-medicalsystem.com +nb301.xyz +nb591.com +nb888888.com +nba008.com +nbabm.com +nbahero.com +nbahi.com +nbahjx.com +nbaqmq.com +nbayaobasketballclub.com +nbazww.com +nbbeer.com +nbbiao.com +nbchao.com +nbcsgo.com +nbcyl.com +nbdeli.com +nbdeli.net +nbdig.com +nbdisco.com +nbdskj.com +nbegame.com +nbegame.net +nbenl.com +nbfox.com +nbgdjt.com +nbhao.org +nbhky.com +nbimer.com +nbimg.com +nbjhawl.com +nbjlw.com +nbjnw.com +nbjzjn.com +nbkc-rp.com +nbmai.com +nbmao.com +nbmedicalsystem.com +nbow.net +nboxnas.com +nbpolytheatre.com +nbrj.com +nbsason.com +nbshuoxue.com +nbsqbank.com +nbt.ren +nbtarena.com +nbudp.com +nbunicom.com +nbwaf.net +nbwan.net +nbwb.net +nbwbw.com +nbweekly.com +nbyang.com +nbyeda.com +nbz4jc2j.com +ncacg.org +ncartfoundation.org +ncdxbbs.com +ncfcsa.org +ncfcw.net +ncfgroup.com +ncfstatic.com +ncfwx.com +ncfxwhjjh.com +ncfz.com +nchq.cc +nciku.com +nciyuan.com +ncjld.com +ncmem.com +ncnynl.com +ncpa-classic.com +ncpqh.com +ncpssd.org +ncq8.com +ncrica.org +ncu.me +ncvtinfo.com +ncvtmi.com +ncwyxh.com +ncxb.com +ncyinghuochong.net +ncyunqi.com +nczfgjj.com +nczfj.com +nd090.com +nd15.com +nd56.com +nddaily.com +nddnrm.com +ndfsl.com +ndh21.com +ndhys.com +ndmh.com +ndnslab.com +ndoo.net +ndscsoft.com +ndser.net +ndtinfo.net +nduoa.com +nduotuan.com +ndvs87d.com +ndzsx.com +ne21.com +neaechina.com +nearcharge.com +nearsnet.com +nease.net +neat-reader.com +neavo.me +nebulogy.com +nedaex.com +nedigitals.com +needexam.com +needma.com +needyouknow.com +neegle.net +neeq.cc +neets.cc +neeu.com +negroupedu.org +neigou.com +neihan8.com +neihanshequ.com +neimengguyongli.com +neitui.com +neitui.me +neituixiaowangzi.com +nelkshuhe.com +nellit.net +nengapp.com +nenggeimall.com +nengshida.com +nengyongma.com +nengzuo.com +nenup.com +neo.org +neoap.com +neobiochina.com +neoease.com +neoease.org +neofussvr.sslcs.cdngc.net +neojos.com +neokylinschool.com +neolee.com +neolix.net +neoremind.com +nepconchina.com +nepian.com +neptcn.com +ner98.com +nercel.com +nerocn.com +nesbbs.com +nestgene.com +nestlechinese.com +nesxc.com +net-add.com +net-swift.com +net0516.com +net111.info +net114.com +net130.com +net199.com +net2345.net +net263.com +net3q.com +net767.com +net9.org +netac.com +netat.net +netbarcn.net +netbian.com +netcnnet.net +netcoc.com +netcolor.com +netconst.com +netcoretec.com +netded.com +netdzb.com +netease.com +netease.im +neteasegames.com +netentsec.com +netesee.com +netgamecar.com +netiler.com +netinbag.com +netinfi.com +netinfi.net +netitest.com +netkao.com +netnoease.com +netok.cc +netpi.me +netposa.com +netqd.com +netqin.com +netqon.com +netsmell.com +netsoz.com +netspreading.com +netstatic.net +netsun.com +nettsz.com +nettvl.com +nettvl.net +networkbench.com +networkbrand.com +netzonesoft.com +neu-reality.com +neucrack.com +neuedu.com +neuhm.com +neunn.com +neupeer.com +neusncp.com +neusoft.com +neutrontek.com +neuwill.com +neuzs.com +nev-battery.org +new-mobi.com +new-more.com +new-thread.com +new1cloud.com +newacademic.net +newadblock.com +newadx.com +newaircloud.com +newapi.com +newasp.net +newayz.com +newbandeng.com +newbanker.com +newbd.com +newbe.pro +newbeebook.com +newbiefly.com +newbmiao.com +newbolunesport.com +newcapec.net +newcger.com +newchainbase.com +newchieve.com +newchinalife.com +newclasses.org +newclouddenfender.com +newcosemi.com +newdao.net +newday.me +newdefend.com +newdiediao.com +newdon.net +newdruginfo.com +newdu.com +newdun.com +newdun.net +newdur.com +newer2001.com +newfavor.net +newgamer.com +newhopeagri.com +newhopegroup.com +newhtml.net +newhua.com +newistock.com +newjson.com +newlandaidc.com +newlifex.com +newmaker.com +newman.mobi +newmargin.com +newnanbao.com +newnewle.com +newoasis.cc +newoer.com +newoo.com +neworiental.org +nework360.com +neworld.org +neworldedu.org +neworldjp.com +newperiod.net +news18a.com +news606.com +newsafe.xyz +newsccn.com +newscctv.net +newsdao.com +newseasoft.com +newsgd.com +newsgu.com +newsing.com +newskj.com +newskj.org +newsmth.com +newsmy-car.com +newsmy.com +newsmyshop.com +newsn.net +newspluse.com +newssc.net +newssc.org +newstarpress.com +newstartsoft.com +newstjk.com +newsv5.com +newsxc.com +newsyc.com +newtalentaward.com +newtonghua.com +newtop100.com +newtouch-elec.com +newtrip.com +newume.com +newvfx.com +newxing.com +newxitong.com +newxue.com +newyx.net +newzgc.com +newzhizao.com +nexmoe.com +nexon.to +next-union.com +nextday.im +nextjoy.com +nexto2o.com +nextpcb.com +nextrt.com +nextsee.com +nexttao.com +nexttix.net +nextyu.com +nexus.dell.com +nfa5.com +nfc315.com +nfcic.com +nfcmag.com +nffund.com +nflchina.com +nfmedia.com +nfmrtfv.com +nfpeople.com +nfs-china.com +nfs-wuxi.com +nfschina.com +nfwin.com +nfyk.com +nfzhouyi.com +nfzmbrand.com +ng-alain.com +nga.wiki +ngabbs.com +ngacn.cc +ngacn.com +ngarihealth.com +ngbbs.com +ngcgears.com +ngctransmission.com +ngfans.net +ngh6.com +nginstar.net +ngjjtg.com +ngloom.me +ngnice.com +ngocn.net +ngoos.org +ngportal.cdnetworks.com +ngrok.wang +ngui.cc +ngxfence.net +ngxfence.org +nh.com +nhaidu.net +nhbhpx.club +nhdmd.com +nhganggeban.com +nhnexpo.com +nhnsc.com +nhnst.com +nhooo.com +nhstu.com +nhxz.com +nhygkj.com +nhzedu.com +nhzj.com +nhzs.com +ni8.com +nianbin.com +nianhuiba.com +nianw.com +nianzhi.cc +niaobee.com +niaobulashi.com +niaocms.com +niaogebiji.com +niaola.com +niaoyun.com +niba.com +nibaguai.com +nibaku.com +nibiye.com +nic.de +nic.ren +nic.wang +nicaifu.com +nice-app.com +nice1688.com +nicebing.com +nicecdn.com +nicefilm.com +niceimg.net +niceisp.com +nicekid.com +nicelabel.cc +nicelinks.site +niceloo.com +niceonegame.com +nicescale.com +nicetuan.net +nicky1605.com +nicolaszhao.com +niconiconi.cc +nidianwobang.com +nidong.com +nie.io +nielsenccdata.tv +nies.org +niexiaotao.com +nieyou.com +nifengz.com +nightwishcn.com +nihao.net +nihaotw.com +nihaowang.com +nihaowua.com +nihontu-cn.com +nihuwo.net +niiwoo.com +nikanpian.com +nikefree-run.net +nikest.com +nikkisoft.com +nikkiup2u2.com +nilai.com +nilegu.com +niliu.me +nilmap.com +nima.wang +nimzx.com +ninebot.com +ninecoign.com +ninepart.com +nineroad.com +ninesix.cc +ninestargroup.com +ningbo-airport.com +ningbocat.com +ningbofy.com +ningbotm.net +ningdo.com +ninghao.net +ningidc.com +ningkangyuan.com +ningkekeji.com +ningmengdou.com +ningmengyun.com +ningmoe.com +ningoo.net +ningto.com +nington.com +ningxingxing.com +ningxinm1.com +ninjacn.com +ninjadq.com +ninjamustdie.com +ninze.com +nio.com +nioapis.com +nipei.com +nipic.com +nishuoa.com +nitaitag.com +nitianxieshen.com +nitutu.com +niu-ba.com +niu.com +niua.com +niuacc.com +niuap.com +niubb.com +niubb.net +niubi114.com +niubilai.com +niubilety.com +niubiquan.com +niubixia.com +niuboli.com +niucache.com +niucdn.com +niuche.com +niucodata.com +niudai120.com +niug8.com +niugame.net +niugp.com +niuguwang.com +niuhudong.com +niujinniu.com +niukk.com +niuliangyun.com +niuniufund.com +niuniutui.com +niuniuwan.com +niupinhui.com +niupu.com +niuqia.com +niurenqushi.com +niuschools.com +niushe.com +niutoushe.com +niutrans.com +niutrip.com +niutuku.com +niuwap2p.com +niuwk.com +niuxgame77.com +niuxiao.net +niuxiaoq.com +niuxyun.com +niuxz.com +niuyan.com +niuyou5.com +niuyuan.com +niuza.com +niuzhu.com +niuzhuan-test.com +nivtc.com +niwodai.com +niwodai.net +niwoning.com +niwota.com +niwoxuexi.com +nixiba.com +nixwang.com +nizhan888.com +nizhanw.com +nizi88.com +nizkeyboard.com +nizuixing.com +nj-bl.com +nj-fst.com +nj-marathon.org +njaeqjx.com +njbaisou.com +njc100.com +njcdata.com +njcedu.com +njcgs.com +njcitygas.com +njctkj.com +njcw.com +njd1.com +njdapaidang.com +njdewo.com +njdfwb.com +njfenghao.com +njgb.com +njgep.com +njgjj.com +njhaiwai.com +njhengyou.com +njhgame.com +njhszoo.com +njhwsk.com +njibhu.com +njjn.com +njjsyy.com +njjuntong.com +njkefayuan.com +njl114.com +njliaohua.com +njlike.com +njlingyun.com +njljjy.com +njlzsx.net +njmama.com +njmuseum.com +njnutz.com +njqxrc.com +njrc365.com +njrx.cc +njsd-china.org +njshengyuanli.com +njsjz.com +njskps.com +njsxbw.com +njsyue.com +njuaplusplus.com +njuftp.org +njupt-sacc.com +njw88.com +njwfgs.com +njwww.net +njxsmaofa.com +njxsmfyh.com +njxsmz.com +njxzwh.com +njyayishipin.net +njycwy.com +njyingtaoya.com +njyongji.com +njyydl.com +njzb.net +njzc025.com +njzdsp.com +njzhongyuan.com +njzhzx.net +njzztyl.com +nk84.com +nkp969.com +nkscdn.com +nktaba.com +nktxv.com +nky556.com +nkyp.com +nlark.com +nlinkline.com +nljb.net +nlnln.com +nlpjob.com +nlscan.com +nlv2.com +nlxn.com +nly6.com +nlypx.com +nlzpy.com +nm8yx.com +nmbgjx.com +nmet168.com +nmgd.com +nmgdw.com +nmgfood.net +nmgfrank.com +nmggyy.com +nmgjzjn.com +nmgkjzx.com +nmglawyer.com +nmgwyw.org +nmgyjszx.com +nmgyljs.com +nmhfw.com +nmhrjy.com +nmimi.com +nmkjxy.com +nmmwz.com +nmszjy.com +nmtyxy.com +nmvps.com +nmweidian.com +nmysyey.com +nmyygs.com +nmzc02.com +nmzh.net +nmzol.com +nmzzlhwlkj.com +nn.ci +nn.com +nn92.com +nncc626.com +nncgs.com +nncj.com +nndims.com +nnduyi.com +nngdjt.com +nngjjx.com +nnhaocheng.com +nnit30.com +nnjioko.com +nnjt.com +nnlib.com +nnmama.com +nnmutong.com +nnn666.com +nnnews.net +nnsbbs.com +nnsc6.com +nnsky.com +nnszwl.com +nnt0.net +nntlj.com +nntskq.com +nnudream.com +nnwb.com +nnweding.com +nnylf168.com +nnynrc.com +nnzsxblaw.com +noah-dream.com +noahedu.com +noahsnail.com +noahteck.com +nobanus.com +nobmoo.com +nocang.com +nocare.com +noclyt.com +nocode-tech.com +nocode.com +noddl.me +node.beer +nodeasy.com +nodeclass.com +nodeedge.com +nodeing.com +nodejs999.com +nodekey.com +nodepacific.com +noeic.com +nohken-sdy.com +nohup.cc +nokia-sbell.com +nokia88.com +nolanchou.com +nolovr.com +nomax.vip +nome.com +nonganxian.com +nongcun5.com +nongfen.com +nongfuspring.com +nongji1688.com +nongji360.com +nongjiaba.com +nongjitong.com +nongjx.com +nongli.com +nongli.net +nongli114.com +nonglirili.net +nongmintv.com +nongnet.com +nongplay.com +nongquan.net +nongshang.com +nongshijie.com +nongxinyin.com +nonobank.com +nonozone.net +noobcoder.club +noobyard.com +noobyy.com +noodba.com +noogel.xyz +noontec.com +noops.me +nooshen.com +nopis.org +noposion.com +noq.cc +nor-land.com +nordfxs.com +nordicways.com +nordikr.com +nordritools.com +norinco.com +norincogroup-ebuy.com +norlinked.com +normcore.com +normstar.net +northdm.com +northdy.com +northgun.com +northidc.net +northtimes.com +nosec.org +nosuchfield.com +not3.com +notadd.com +note52.com +notedeep.com +noteniu.com +notetech.org +notrisk.com +novaicare.com +novalide.com +novapps.com +novastargame.net +novel-supertv.com +novemideas.com +novotimes.com +novtium.com +now-cn.net +now-do.com +nowapi.com +nowbeta.com +nowchip.com +nowcoder.com +nowcoder.net +nowec.com +nowo.com +nowodds.com +nowre.com +nows.fun +nowscore.com +nowshipin.com +nowxz.com +nowyingshi.com +noxgroup.com +noxue.com +noxxxx.com +noyes88.com +npbdp.com +npc233.com +npcgo.com +npcka.com +nphoto.net +nplusgroup.com +nplusgroup.net +npmmirror.com +npodevelopment.org +npoll.net +npp.cc +npxsw.com +npy858.com +npyun.com +npz.com +nq.com +nq6.com +nr-esc.com +nrdzqwd.com +nrec.com +nren8.com +nrsfh.com +nrsg.net +nruan.com +nrzsjk.com +ns1.ge +ns1.hk +ns168.net +ns2.ge +ns203.com +ns365.net +ns5n.com +ns8d.com +ns96.com +nsbeta.info +nscloudwaf.com +nscscc.org +nseac.com +nsecsoft.com +nsfocus.com +nsfocus.net +nsforce.net +nshen.net +nshzpks.com +nsini.com +nsisfans.com +nsnodes.com +nsns8.com +nsoad.com +nsoft.vip +nsrfww.com +nsrjlb.com +nss.im +nssd.org +nsshare.com +nsstream.com +nstom.net +nstooll.com +nsw88.com +nsw99.com +nswyun.com +nsydt.com +nszmz.com +nt.cc +ntalker.com +ntaow.com +ntce.com +ntcfy.com +ntdvf.com +ntechw.com +ntefyxq.com +ntejiazheng.com +ntes53.com +ntfabu.com +ntfsformac.cc +nthfw.com +nthysp.com +ntjoy.com +ntjrchina.com +ntjymall.com +ntneuro.org +ntp.felixc.at +ntpcb.com +ntqcct.com +ntrcb.com +ntryjd.net +nttui.com +ntuiw.cc +ntuiw.com +ntwikis.com +ntwzy.com +ntzhoas.com +nu1l.com +nuan.io +nuandao.com +nuanjiayuan.com +nuanmaoer.com +nuanshi100.com +nuanyuehanxing.com +nubb.com +nubee.cc +nubia.cc +nubia.com +nucc.com +nucleisys.com +nuecidc.com +nuedcchina.com +nufans.net +nuicdc.org +nullice.com +nullno.com +num1dns.com +numseed.com +nunu8.com +nuobeiliao.com +nuodefund.com +nuoder.com +nuoha.vip +nuoji.com +nuojiugo.com +nuokui.com +nuomi.com +nuomicikoi.com +nuomiphp.com +nuonuo.com +nuozhan.com +nuozhensh.com +nuqk.com +nutjs.com +nutriease.com +nutsbp.com +nutspace.com +nutz.io +nutzam.com +nuubao.com +nuvoltatech.com +nuvoton-m0.com +nuvoton-mcu.com +nuxue.com +nv2118.com +nvcam.net +nvcong.com +nvdiao.com +nvidia-china.com +nvliren.com +nvloo.com +nvren.com +nvren55.com +nvsay.com +nvsheng.com +nvshengjie.com +nvshuyun.com +nvtnet.com +nvude3.com +nvwu.com +nvzhanshen.com +nvzhubo.cc +nvziwu.com +nw-host.com +nwbbs.com +nwct.me +nwdlink.com +nweon.com +nwtongcheng.com +nx.cm +nx5.com +nxadmin.com +nxcells.com +nxdns.net +nxecaiji.com +nxengine.com +nxez.com +nxflcp.com +nxflv.com +nxggzyjy.org +nxgjbyy.com +nxgqt.org +nxgtjt.com +nxhscxkj.com +nxin.com +nxit.us +nxly766.com +nxnet.net +nxnews.net +nxnresearch.com +nxol.net +nxpic.org +nxrrvmy.com +nxsks.com +nxtianshangb.com +nxty88.com +nxwly.com +nxyoute.com +nxyqs.com +nxyuanjing.com +ny-yy.com +ny83.com +ny8z.net +ny913.com +nyaa.io +nyaacat.com +nyasama.com +nyato.com +nybai.com +nybaidu.net +nyckidsclub.com +nyk688.com +nync.com +nypd520.com +nyrsksw.com +nyshszh.com +nysmfc.com +nyyzjg.com +nyzydz.com +nz86.com +nzbdw.com +nzchina.com +nzsiteres.com +nzw-china.com +nzwgs.com +o--o.win +o-netcom.com +o-sky.com +o-star.cc +o136.com +o2123.com +o2ee.com +o2mania.com +o2moment.com +o2o4.com +o2obill.com +o2oevent.com +o2oexpo.com +o2osd.com +o2ting.com +o2yhq.com +o37o.net +o3ndix.com +o4on.vip +o7h.net +o8ak.com +o8dlu8.com +o8tv.com +oa025.com +oa0351.com +oa169.com +oa25.org +oa8000.com +oabg.net +oabus.net +oacn.org +oact.net +oadz.com +oahelp.com +oahelp.net +oameibang.com +oaqi.com +oatos.com +oauto.com +oawhy.com +obagame.com +obesu.com +obins.net +obj6.com +objccn.io +objcer.com +objcoding.com +obkoro1.com +obkprint.com +obohe.com +obolee.com +oborad.com +oborr.com +obowin.com +obsapp.net +obyee.com +ocar.tv +ocd120.com +oceanbase.com +oceanbot-steam.com +oceancnc.com +oceanengine.com +oceanlau.com +oceanol.com +oceanplayable.com +oceeq.com +ocimg.com +oclkj.com +ocooca.com +ocpan.org +ocri-genomics.org +ocrmaker.com +ocsp-lb.apple.com.akadns.net +ocsp.apple.com +ocsp.globalsign.com +ocsp.pki.goog +ocsp.us.cdnetworks.com +ocsp2.globalsign.com +oct-asia.com +oct-cts.com +oct-sh.com +octbay.com +octeast.com +octeshow.com +octholding.com +octhotels.com +octinn.com +octjstz.com +octlink.com +octmami.com +octo.fm +octoparse.com +octopgo.com +octopusgame.com +octre.com +octscc.com +octwuhan.com +oculist.net +oculusss.pro +odao.com +odict.net +odinichina.com +odinjc.com +odinliu.com +oealy.com +oeasy.org +oecr.com +oeebee.com +oeeee.com +oejournal.org +oelove.com +oemol.com +oemresource.com +oemsnavi.com +oeob.net +oesell.com +oetsi.com +ofcard.com +offcn.com +offer-wow.com +offerstrack.net +office-cn.net +office-peixun.com +office26.com +office68.com +officecdn.microsoft.com +officectrl.com +officedoyen.com +officeedit.com +officejc.net +officese.com +officesoftcn.com +officeweb365.com +officewj.com +officexr.com +officezhushou.com +officezu.com +offodd.com +offshoremedia.net +ofgame.net +ofidc.com +ofmonkey.com +ofo.com +ofo.so +ofpay.com +ofuns.com +ofweek.com +ofyoo.com +ogaoxiao.com +ogccdn.com +oh.sb +oh100.com +ohaotian.com +ohipic.com +ohoohh.com +ohqly.com +ohtly.com +ohtpc.com +ohtvu.com +ohwit.com +ohwyaa.com +oi-wiki.org +oiaqye7985.com +oicat.com +oicq88.com +oicqzone.com +oicto.com +oidchina.org +oigps.com +oilchem.net +oilepay.com +oilhr.com +oiuwe.com +oj03.com +ok-meeting.com +ok06.com +ok1616.com +ok165.com +ok1912.com +ok206.com +ok22.org +ok365.com +ok3w.net +ok5188.net +ok86.com +ok8809.com +ok9624.com +ok9803.com +oka-vip.com +okad.com +okaoyan.com +okayapi.com +okbao.com +okbase.net +okbike.net +okbmf.com +okbuy.com +okbuycdn.com +okcard.com +okchang.com +okchexian.com +okdai.com +okdd.net +okemu.com +okex.vip +okex.win +okeycar.com +okfri.com +okgj.com +okhimalayanzi.com +okhqb.com +okidc.com +okidc.net +okideaad.com +okii.com +okinfo.org +okjike.com +okjk.co +okjoys.com +okki.com +okkkk.com +oklink.com +oklx.com +okmart.com +okmeeting.com +okmeike.com +okmyapp.com +okng.com +okoer.com +okooe.com +okooo.com +okoooimg.com +okpush.com +okrecovery.com +okskills.com +oksmk.com +oksun.com +oksvn.com +oktools.net +oktools.xyz +oktranslation.com +okuer.com +okweb.info +okwuyou.com +okxr.com +okz.com +okz.ltd +okzhaosheng.com +okzuowenxs.com +ol-cdn.com +ol-img.com +ol3vs.com +olabo.net +olacio.com +olami.ai +olcdn.com +oldboyedu.com +oldcat.me +oldcp.com +oldding.net +olddriver.website +oldking.net +oldpan.me +oleony.com +olinone.com +oliver.ren +oliveryang.net +oliyi.com +ollomall.com +olloop.com +olmy8.com +olymtech.com +omacloud.com +omayse.com +omchain.com +omdnchina.com +omegatravel.net +omegaxyz.com +ometal.com +omiaozu.com +omicsclass.com +omicshare.net +omifanyi.com +omlzx.com +omlzz.com +ommoo.com +omni-pharma.com +omooo.net +omos88.com +omowork.com +ompchina.net +omsheji.com +omuying.com +on-sun.com +onaliyun.com +oncanyin.com +onccc.com +once.im +onceai.com +onceoa.com +onche.net +oncity.cc +one-all.com +one-arts.com +one-lab.net +one918.com +onealert.com +oneapm.com +oneasp.com +onebiji.com +onecoder.site +oneconnectft.com +onedi.net +onedict.com +onedns.net +onefoot365.com +onegreen.net +onehang.com +onehome.me +onein.com +oneinstack.com +onekey.cc +onekeyghost.com +onekeyrom.com +onemex.com +onemob.mobi +onemovie.com +onemsdn.com +oneniceapp.com +onenoter.com +onephper.com +onepiecevip.com +oneplus.com +oneplusbbs.com +oneplusmobile.com +ones.ai +onescorpion.com +oneshao.com +onesight.com +onespace.cc +onethingcloud.com +onethingpcs.com +onetog.com +onetwo.ren +oneuos.com +onev.cat +onevcat.com +oneway.mobi +onewedesign.com +onewo.com +onewrt.com +onewsimg.com +onewsvod.com +onex.im +onexinli.com +onexmail.com +oneyac.com +onezapp.com +onezh.com +onijiang.com +onjobedu.com +online-edu.org +onlinecn.com +onlinedown.net +onlinekr.com +onlinenic.net +onlinesjtu.com +onlinexijiang.com +onlinknews.com +only4.work +onlycatch.com +onlyedu.com +onlyeduit.com +onlyidc.com +onlyjiehun.com +onlylady.com +onlyling.com +onlyliuxue.com +onlyou.com +onlyred.net +onlyrubberparts.com +onlystem.com +onlywem.com +onlyyou.com +onmpw.com +ono-bbb.com +onqc.com +ontheroadstore.com +onthink.com +ontvb.com +onyealink.com +oo14.com +oobao.net +oocct.com +ooclab.com +ooe.la +oogcw.com +oohdear.com +oolap.com +oollttqq.com +oomake.com +ooniu.com +ooogo.com +ooopic.com +ooopn.com +ooppoo.com +oouee.com +ooxx.me +ooxxc.com +op86.net +opahnet.com +opark.com +opatseg.com +opcns.net +opcool.com +opd2c.com +opdown.com +open-falcon.com +open-falcon.org +open-open.com +open189.net +openanolis.org +openasic.org +openbayes.com +opencas.org +opencourt.vip +opendrivers.com +openeda.com +openedv.com +openerp.hk +openeuler.org +opengcc.org +opengslb.com +openinstall.io +openke.net +openlab.cc +openlab.co +openlanguage.com +openlink.cc +openloong.org +openloongson.org +openluat.com +openlyenter.com +openos.org +openpcba.com +openqa.com +openredcloud.com +openresty.com +openresty.org +openrice.com +opensc.co +openset.wang +opensoce.com +openthos.com +openthos.org +openv.com +openwbs.com +openwrt.pro +openxiaoniu.com +openxinfo.com +operachina.com +opfibre.com +opjmw1.ren +oplay.net +opmaterial.com +opp2.com +oppein.com +opplestore.com +oppo.com +oppo518.net +oppoer.me +oppofind.com +oppomobile.com +oppopay.com +opposhop.in +opposhore.com +opqnext.com +oprtb.com +ops.ci +opsapp.com +opskb.com +opskumu.com +opslinux.com +opsnote.com +opstool.com +optaim.com +optbbs.com +opticsjournal.net +optimix.asia +optimized-ai.com +optinetchina.com +optol.net +opvip.com +opwill.com +opxincai.com +opython.com +opzoon.com +oq68.com +oq78.com +oqss.com +or-sun.com +oracledatabase12g.com +oradbca.com +oraev.com +oralpractice.com +orange2h.com +orangeapk.com +orangelive.tv +orangepi.org +orangetech.ltd +orangevip.com +orasos.com +oray.com +oray.net +oraybox.com +oraycn.com +orayer.com +orayimg.com +orbitmes.com +orcadt.com +orchome.com +orcode.com +ordosbank.com +orgcc.com +orgleaf.com +orgnitu.net +orient-fund.com +orient-safety.com +orientalgame.com.tw +orientalhorse.com +orientalpatek.com +orientalpearltower.com +orientalwisdom.com +orientcasa.com +orientfoods.net +orientgolf.com +orientpc.com +orienttumor.com +orientwalt.com +originalkindergarten.com +origincn.com +originlee.com +originoo.com +orihard.com +oritive.com +orleto.com +ornglad.com +orpheus.ink +orsoon.com +orspr.com +orsun.cc +orvibo.com +orz.asia +orz.moe +orz123.com +orz520.com +orzbook.com +orzice.com +orzjoy.com +os-easy.com +os-v.com +os7blue.com +osall.com +osbccdn.com +osbean.com +osbzr.com +oscarma.com +oscartutor.com +oscarzhoud.com +oscdn.apple.com +oscdn.origin-apple.com.akadns.net +oschina.com +oschina.io +oschina.net +osechina.com +osedu.net +oseminfo.com +oserror.com +oseye.net +osfipin.com +osg.so +osgchina.org +oshadan.com +oshoplive.com +oshwhub.com +osjiaju.com +osk-clean.com +osmsg.com +osmy.net +osnt.wang +oso6.com +ososn.com +osp.io +ospp.com +oss-cn-beijing-aliyuncs.com +oss.link +oss.so +osschina.com +ossrs.net +ossxp.com +ostools.net +osvlabs.com +oswdj.com +oswhy.com +osx.cx +osyum.com +osyunwei.com +otcgd.com +otcms.com +otkglass.com +otms.com +otome.me +otomedream.com +otosaas.com +otovc.com +otp-express.com +otpub.com +ott4china.com +ottcn.com +ottcn.help +ottshopping.net +otype.com +ou99.com +ouapi.com +oubk.com +ouchgzee.com +oudapay.com +oudeqi.com +oudiscover.com +ouerrepair.com +oufa-travel.com +oufengblog.com +oufusoft.com +ougannike.com +ougei.com +ougepiano.com +ouhua.info +ouj.com +oujistore.com +oukan.online +ouklqd.com +oulvnet.com +oumengke.com +ounh.org +ouo.us +ouoou.com +ouou.com +ouou.icu +ouougo.com +oupeng.com +oupengcloud.net +oupuzw.com +our-sky.com +our100.net +our360vr.com +ourail.com +ourats.com +ouravr.com +ourcdns.com +ourcm.net +ourcoders.com +ourdomains.com +ourdvs.com +ourdvs.info +ourdvs.net +ourdvsss.com +oureman.com +ourgame.com +ourglb0.com +ourglb0.info +ourglb0.net +ourglb0.org +ourhlb.com +ourhlb.info +ourhlb.org +ourhy.net +ourjay.com +ourjg.com +ourjiangsu.com +ourjs.com +ourjz.com +ourku.com +ourl.co +ourlife365.com +ourlinc.com +ourpalm.com +ourplay.net +ourren.com +oursakura.com +oursec1.com +oursec2.com +ourselec.com +ourseo.net +oursketch.com +oursmc.com +ourtour.com +ourtxt.net +ourwebat.com +ourwebcdn.com +ourwebcdn.info +ourwebcdn.net +ourwebcdn.org +ourwebhttps.com +ourwebpic.com +ourwebpic.info +ourwebpic.org +ourwebpicvip.com +oushangstyle.com +oushinet.com +oushivoyages.com +ousns.net +outlets365.com +ouvps.com +ouxutong.com +ouyabosi.com +ouyada.com +ouyaoxiazai.com +ouyeel.com +ouyingyimin.com +ouzhougoufang.com +ovalechina.com +ovbook.com +ovcreative.com +ovdream.com +ovear.info +oversearecruit.com +overtrue.me +overturechina.com +ovicnet.com +ovital.com +ovital.net +ovoawh.com +ovopark.com +ovopic.com +ovscdns.com +ovscdns.net +ovuems.com +ovupre.com +ovuwork.com +ovwin.com +owecn.com +owendswang.com +owllook.net +owmy.ga +owner-api.teslamotors.com +owomoe.net +owspace.com +owulia.com +ox11.com +oxbridgedu.org +oxerr.net +oxiaohua.com +oxrm.com +oxygenos.com +oxyry.com +oycode.com +oyeahgame.com +oyekeji.com +oyohyee.com +oyonyou.com +oyoozo.com +oyoumo.com +oywine.com +oyyj-oys.org +oz138.com +ozm.net +ozrot.com +ozzyad.com +p-dragon.com +p-e-china.com +p.cdn.persaas.dell.com +p1.com +p12345.com +p138.com +p2220.com +p2cdn.com +p2hp.com +p2p.com +p2p001.com +p2p178.com +p2pbbs.net +p2pchina.com +p2pcq.com +p2peye.com +p2peye.net +p2pguancha.com +p2phx.com +p2pjd.com +p2pjj.com +p2psearcher.org +p2psearchers.com +p2ptouhang.com +p2pxing.com +p2pxsj.com +p31.net +p3k3.com +p491gt.com +p4pp.com +p512.com +p5w.net +p8games.com +p99998888.com +pa18.com +pa1pa.com +paahu.com +paascloud.net +paat.com +pabulika.com +pacdn.com +paceroom.net +pacgatelaw.com +package-design.net +packtom.com +packty.com +pactera.com +padasuo.net +padding.me +paddlepaddle.org +paddlewaver.com +paedu.net +pagead-googlehosted.l.google.com +pageadmin.net +pagechoice.com +pagechoice.net +pagurian.com +pahaoche.com +pahou.com +pahx.com +pahys.com +pai-hang-bang.com +paibanxia.com +paichen.net +paidai.org +paidanzi.com +paidui.com +paiduidai.com +paihang114.com +paihang360.com +paihb.com +paihotels.cc +paiky.net +pailixiang.com +paimaprint.com +paiming.net +paimingchakan.com +paintinghere.org +paipai.com +paipai123.com +paipaibang.com +paipaiimg.com +paipaitxt.com +paipianbang.com +paiqy.com +pairmb.com +paisen.site +paishanglai.net +paishi.com +paiwo.co +paixie.net +paixin.com +paiyiws.com +paizhe.com +paizi.com +pajkb.com +palace-international.com +palanceli.com +palm-h.com +palmestore.com +palmjoys.com +palmtrends.com +palmyou.com +pamau.com +pamss.net +pan131.com +pan58.com +pan8.net +panabit.com +panbaidu.com +pancake.apple.com +pancake.cdn-apple.com.akadns.net +panchuang.net +pancishe.com +panda-home.com +panda.tv +panda321.com +panda98.com +pandadastudio.com +pandafoundation.org +pandahelp.vip +pandaimg.com +pandainc.cc +pandaminer.com +pandara.xyz +pandateacher.com +pandatv.com +pandoe.com +pandolia.net +pandownload.com +pandoxie.com +panduoduo.net +panduoduo.online +panfn.com +pangbu.com +pangcheng.com +pangci.cc +pangdly.com +pangdo.com +panggugu.com +panghuasheng.com +pangku.com +pangmao56.com +pangmaovc.com +pangoing.com +pangolin-dsp-toutiao.com +pangolin-sdk-toutiao-b.com +pangolin-sdk-toutiao.com +pangomicro.com +pangong88.com +pangqiu.com +pangshu.com +pangukj.com +panguso.com +pangxieke.com +pangzhan.net +panjindamibest.com +panjunwen.com +panku.cc +panmeme.com +pannacloud.com +panoeade.com +panoramastock.com +panpanr.com +panpay.com +panqibao.com +panshi101.com +panshianquan.com +panshixk.com +panshiyun.com +panshizz.com +panshy.com +pansino-solutions.com +pansj.cc +pansoso.com +pansou.com +pantrysbest.com +pantum.com +panweizeng.com +panyun.com +paoao.net +paobuqu.com +paochefang.com +paodoo.com +paofugroup.com +paojiao.com +paolanhuanbao.com +paomo.com +paomou.com +paopao.com +paopaoche.net +paopaohd.com +paopaox.com +paoshuba.cc +paoxq.com +paoxue.com +papa21.com +papa91.com +papaao.com +papaao.xyz +papaao1.com +papaao2.com +papaao3.com +papaao4.com +papaao5.com +papaao6.com +papaao7.com +papaao8.com +papajohnshanghai.com +papapoi.com +papaquan.com +paparecipe.net +papegames.com +paper.tv +paper211.com +paperask.com +paperbert.com +paperbus.com +paperbye.com +paperccb.com +paperclipclub.net +papercool.com +papereasy.com +papergod.com +paperisok.com +paperok.com +paperonce.org +paperopen.com +paperpass.com +paperpi.com +paperrater.net +paperright.com +papersay.com +papersee.com +papertime.cc +papertime.shop +papertime.vip +paperweekly.site +paperword.com +paperwrite.net +paperyy.com +papocket.com +paquapp.com +parallelsras.com +paratera.com +parawikis.com +parduscycle.com +parentshk.com +paris-bride.com +paris-sengfu.net +parkbees.com +parkchina.net +parkdaily.com +parkingjet.com +parkingquickly.com +parkmecn.com +parkviewgreen.com +parnassusdata.com +parsein.com +partinchina.com +partner.cdnetworks.com +partner.globalsign.com +parwix.com +pass7.cc +passby.me +passdesign.net +passer-by.com +passport.lenovo.com +passwordkeyboard.com +pat-edu.org +patachina.org +patchallin.com +patchew.org +patent9.com +patexplorer.com +patindex.com +patmm.com +patsev.com +patsnapglobal.com +paul.pub +paxdn.com +paxgl.com +paydxm.com +payeco.com +paylf.com +paymax.cc +paympay.com +payrao.com +paysapi.com +paytend.com +payxinyi.com +pb89.com +pbbpp4u.com +pbcan.com +pbcdn.com +pbhz.com +pblie.com +pbootcms.com +pbsidc.com +pbsvpn.com +pbtdl.com +pbtxt.com +pc-fly.com +pc02.com +pc120.com +pc120tv.com +pc18.net +pc34.com +pc51.com +pc521.net +pc5210.com +pc6.com +pc6a.com +pc70.com +pc811.com +pc840.com +pc841.com +pc9.com +pcaposter.com +pcapqz.com +pcb-hl.com +pcb-si.com +pcb3.com +pcb818.com +pcbask.com +pcbba.com +pcbbar.com +pcbbbs.com +pcbdoor.com +pcbeta.com +pcbhunt.com +pcbiot.com +pcbjob.com +pcbookcn.com +pcbres.com +pcbserve.com +pcbsheji.com +pcbtech.net +pcbtime.com +pccpa.hk +pccppc.com +pcdog.com +pcdrv.com +pceggs.com +pceva.net +pcfreetime.com +pcfuns.com +pcgeshi.com +pcgogo.com +pcgta.cc +pchome.com +pchome.net +pchpic.net +pciiss.com +pcitc.com +pcme.info +pcmgr-global.com +pcmoe.net +pcnsh.com +pcoic.com +pcp-china.com +pcpop.com +pcsee.org +pct86.com +pctowap.com +pctu.net +pctutu.com +pctutu.net +pctvx.com +pcviva.com +pcw365.com +pcwenti.com +pcwl.com +pcyangguangban.com +pd-sts.com +pd120.com +pd17.com +pd521.com +pdazw.com +pdbeta.com +pdcuo.com +pdd.net +pddcdn.com +pddeu.com +pddpic.com +pddugc.com +pdf-lib.org +pdf-tech.com +pdf.la +pdf00.com +pdf100.net +pdf1122.com +pdf5.net +pdfac.com +pdfbianji.com +pdfdo.com +pdfdowell.com +pdfexpert.cc +pdffsy.com +pdffx.com +pdfjia.com +pdflibr.com +pdfwang.com +pdfxd.com +pdfzj.com +pdgzf.com +pdidc.com +pdim.gs +pdm.so +pdosgk.com +pdown.org +pdrcfw.com +pdreading.com +pdryx.com +pdscb.com +pdsggzy.com +pdsgjj.com +pdskgb.com +pdsxww.com +pdszhtl.com +pdty123.com +pdvisa.com +pdxx.net +pe.vc +pe62.com +pe8.com +pe898.com +pea3nut.com +pea3nut.info +pea3nut.org +peace-read.com +peaceticket.com +peak-labs.com +pear.hk +pearlinpalm.com +pearvideo.com +peasrch.com +pec365.com +pechoin.com +pediy.com +pedli.com +peento.com +peepic.com +peersafe.com.sg +peidu.com +peihao.space +peikua.com +peilian.com +peilian365.com +peilili.com +peiluyou.com +peiqiang.net +peise.net +peixun.net +peixun5.com +peixune.com +peixunmatou.com +peixunxue.com +peiyake.com +peiyin.net +peiyinge.com +peiyou.com +peiyouwang.com +peizi.com +peizi0371.com +peizizhishu.com +pemap.com +pending-renewal-domain.com +pendoapp.com +pengchengenergy.com +pengfu.com +penging.com +pengjuan.com +pengke.com +penglaiu.com +penglei.name +pengpeng.com +pengpeng.la +pengqi.club +pengqian.win +pengrl.com +pengshengcaishui.com +pengxun1.com +pengyaou.com +pengyou.com +pengyoufx.com +pengyoujia.me +pengyoukan.com +pengyuwei.net +penhuijiqi.com +pentalaser.com +pentaq.com +penxiangge.com +peonyta.com +people-squared.com +peopleapp.com +peopleart.tv +peopledailypress.com +peoplenews.eu +peoplerail.com +peopleyuqing.com +pepcn.com +pepresource.com +perfect-input.com +perfect-is-shit.com +perfect99.com +perfectdiary.com +peropero.net +personpsy.org +perspectivar.com +pes-china.com +pesiv.com +pesyun.com +pet82.com +pet86.com +peter-zhou.com +petersonlian.com +petkit.com +petkoo.com +petmrs.com +petnakanojo.com +petpcb.com +petroren.com +pets12345.com +pettime.info +pettwo.com +pewld.com +pewsc.com +pexue.com +pf110.com +pf168.com +pf178.com +pf999.net +pfan123.com +pfchai.com +pfhoo.com +pfwx.com +pg-leak.com +pg114.net +pg9997.com +pgbee.com +pgc.tv +pgcog.com +pgjcqm.com +pgl-world.com +pglstatp-toutiao-b.com +pglstatp-toutiao.com +pgsql.tech +pgsqldb.com +pgsqldb.org +pgyer.com +pgygho.com +pgyidc.com +pgysoft.com +pgzs.com +pgzx.net +phalapi.net +pharmcube.com +phaser-china.com +phb123.com +phdwu.com +phedu.net +phenixos.com +phezzan.com +phicomm.com +phida.net +philipswechat.com +philm.cc +phlexing.com +phnamedns.com +phnixpool.com +pho.so +phobos.apple.com +phodal.com +phoemix.net +phoenixos.com +phoenixtea.org +phoenixtv.com +phoent.com +phoer.net +phome.net +phone580.com +phonecoolgame.com +phonegap.me +phonegap100.com +phonekr.com +phopic.com +photo0086.com +photo3050.com +photoartiz.com +photocnc.com +photocome.com +photohn.com +photoint.net +photoneray.com +photopai.com +photops.com +photosanxia.com +photowoo.com +photoyunnan.com +photozoomchina.com +phouses.com +php-note.com +php-oa.com +php-z.com +php168.com +php2.cc +php318.com +php7.site +phpbbchina.com +phpbloger.com +phpchina.com +phpcj.org +phpcom.net +phpcomposer.com +phpconchina.com +phpcoo.com +phpcto.org +phpddt.com +phpdr.net +phpe.net +phpernote.com +phperxuqin.com +phperz.com +phpfans.net +phpfdc.com +phpfs.com +phpha.com +phphub.org +phpjiami.com +phpjiayuan.com +phpkaiyuancms.com +phpkhbd.com +phpkoo.com +phpok.com +phpor.net +phppx.com +phprpc.org +phpsong.com +phpspider.org +phpstat.net +phpstudy.net +phpstudyimg.com +phpv.net +phpvar.com +phpvod.com +phpweb.net +phpweblog.net +phpwind.com +phpwind.net +phpxs.com +phpxy.com +phpyuan.com +phpyun.com +phys.net +physicalchina.vip +phyt88.com +phyy.com +phyy1.com +pi7.com +piadu.com +pianhd.com +pianke.me +pianohl.com +pianona.com +pianoun.com +piantou.net +pianwan.com +pianyim.com +pianyit.com +pianyiwan.com +pianyuan.net +pianziweb.com +piao.com +piao88.com +piao88.net +piao95.com +piaobuy.com +piaochong.com +piaodaren.com +piaode.ren +piaodown.com +piaohua.com +piaohuafl.com +piaojubao.com +piaoliang.com +piaoniu.com +piaoquantv.com +piaoshen.com +piaotian.org +piaotian.us +piaotian5.com +piaotongyun.com +piaowutong.cc +piaoxian.net +piaoxingqiu.com +piaoyang.tk +piaoyi.org +piaoyun.net +piaoyunwu.com +piaozhilan.com +piaozone.com +piasy.com +pic138.com +pic16.com +pic21.com +pic720.com +picatown.com +picc.com +piccamc.com +picchealth.com +piccjs.com +picooc.com +picosmos.net +picp.io +picp.net +pictureknow.com +picup.shop +picxiaobai.com +picyq.com +pidcn.com +pieeco.com +piekee.com +piekee.net +pieshua.com +pifa333.com +pifukezaixian.com +pig.ai +pig4cloud.com +pig66.com +pigai.org +pigcms.com +pigjian.com +pigqq.com +pigx.vip +pigxv.com +pigzz.com +pihitech.com +piikee.net +piimg.com +piios.com +piis.pw +pikacn.com +pikatao.com +pilaipiwang.com +pili-zz.net +pilibaba.com +pilidns.com +pilifu.com +pilifx.com +pimei.com +pin-color.net +pin-qu.com +pin18pin.com +pin5i.com +pinbaitai.com +pinbang.com +pinbayun.com +pincai.com +pincai360.com +pinchain.com +pinduoduo.com +pinduoduo.net +pineprint.com +ping-jia.net +ping-qu.com +ping.ubnt.com +pingan.com +pingan.com.hk +pingancdn.com +pinganfang.com +pinganwj.com +pinganyun.com +pingapple.com +pingcap.com +pingcoo.com +pingfangx.com +pingfenbang.com +pinggu.com +pinggu.org +pingguobaoxiu.com +pingguodj.com +pingguolv.com +pinghe.com +pinghui-cn.com +pingjiata.com +pingnanlearning.com +pingnuosoft.com +pingpang.info +pingpangwang.com +pingpingw.com +pingpingze.com +pingplusplus.com +pingpongx.com +pingshu8.com +pingshuku.com +pingshuocoal.com +pingstart.com +pingtan6.com +pingtandao.com +pinguangapp.com +pinguo.us +pingwest.com +pingxiaow.com +pingxonline.com +pingxuan123.com +pingxx.com +pingyin.cc +pingyou.cc +pinhaohuo.com +pinhecha.com +pinhuba.com +pinhui001.com +pinidea.co +pinjiaolian.com +pinjie.cc +pinkecity.com +pinkertech.com +pinkobaby.com +pinkoichina.com +pinla.com +pinlian.net +pinmanduo.com +pinmie.com +pinmuch.com +pinpai1.com +pinpaidadao.com +pinpailiu.com +pinpailun.com +pinpaiv.com +pinruan.net +pinshan.com +pinshiwen.com +pinshu.cc +pinshu.com +pinsilianzu1.com +pintour.com +pintu360.com +pintuan.com +pintuer.com +pintuxiu.net +pinuc.com +pinwenba.com +pinyuan.cc +pinyuew.com +pinyuncloud.com +pinzhikeji.net +pinzs.com +pioneerlinux.com +pioneersci.com +pioneertimes.net +pipa.com +pipacdn.com +pipacoding.com +pipahealth.com +pipapai.com +pipaw.com +pipaw.net +pipedetect.com +pipikou.com +pipimp3.com +pipipan.com +pipipifa.com +pipiti.com +pipix.com +pipiyys.com +pipsemi.com +piqs.com +pisx.com +pites.cc +pitess.cc +piworker.com +pix2code.net +pixelauth.com +pixhey.com +pixivacg.com +pixivic.com +pixivic.net +piyingke.com +piyipiba.com +pj-road.com +pj.com +pj00001.com +pj155.com +pjbest.com +pjf.name +pjhome.net +pjhubs.com +pjialin.com +pjjs2.com +pjjyzx.com +pjnoi.com +pjob.net +pjrcn.com +pjtime.com +pjtx.net +pk052.com +pk106.com +pk10fh.com +pk1352.com +pk1xia.com +pk2234.com +pk361.com +pk532.com +pk571.com +pk995.com +pkbeta.com +pkbff.com +pkbigdata.com +pkbkok.com +pkdyplayer.com +pkfj.xyz +pkgklk.com +pki-goog.l.google.com +pkm360.com +pkmmo.com +pko123.com +pkoplink.com +pkpk.com +pkpky.com +pkpmsoft.com +pkq2016.com +pksfc.com +pksky.com +pku-hit.com +pku-lvxin.com +pku666.com +pkubr.com +pkucat.com +pkufh.com +pkulaw.com +pkulaws.com +pkurc.com +pkusky.com +pkusp.com +pkuszh.com +pkvs.com +pkzx.com +plaidc.com +plalzhang.com +planckled.com +planetmeican.com +planoi.com +plantextra.com +plantname.xyz +plantower.com +plateno.cc +plateno.com +platenogroup.com +platinum-traveller.com +platinumchina.com +play-analytics.com +play68.com +play700.com +play86.com +play910.com +playbeta.net +playcomet.jp +playcrab.com +playcvn.com +playfifa.com +playlu.com +playnail.com +playpangu.com +playpi.org +playsm.com +playstudy.com +playtai.com +playtai.net +playuav.com +playwonderful.com +playwx.com +playyx.com +plcdn.net +plcent.com +plcloud.com +plcsq.com +plesk-cn.com +plexjiasuqi.com +plob.org +plotcup.com +plqdf.com +plsmspx.com +plsub.com +pluosi.com +plures.net +plusgantt.com +plusplustu.com +plutuspay.com +pluvet.com +plycd.com +plyz.net +pm-summit.org +pm222.com +pm25.com +pm25.in +pm265.com +pm28.com +pm360.com +pm360.net +pmacasia.com +pmcaff.com +pmdak.com +pmdaniu.com +pmec.net +pmichina.org +pmish-tech.com +pmkiki.com +pmovie.com +pmparkchina.com +pmppcc.net +pmptuan.com +pmquanzi.com +pmr66.com +pmsra.com +pmtalk.club +pmtoo.com +pmtown.com +pmway.com +pmxprecision.com +pmxsd.com +pmyes.com +pmyuanxing.com +pn66.com +pnetp.org +pngbag.com +pngui.com +pnlyy.com +pnol.net +pnp8.com +pnwww.com +pnxs.com +pnzpw.com +pobaby.net +pobasoft.com +pobiji001.com +poboo.com +pocc.cc +pocketdigi.com +pocketuni.net +pocomagnetic.com +pocosite.com +pocsuite.org +podinns.com +poem88.com +poemaster.com +poemlife.com +pohaier.com +pohover.com +poikm.com +poizon.com +poj.org +pojaa.com +pojd700.cc +pokemmc.com +pokemon-unitepgame.com +pokemon.name +pokermate.net +poketec.com +pokooo.com +polaris-vc.com +polarws.moe +polarxiong.com +polaxiong.com +polayoutu.com +polebrief.com +polingba.com +poluoluo.com +polycent.com +polycn.com +polycom-china.com +polycom-jl.com +polyhotel.com +polyhz.com +polytheatre.com +polytheatresz.com +polyv.net +polywuye.com +pomears.com +pomoho.com +ponley.com +ponycool.com +ponytest.com +ponytestqd.com +ponytestsh.com +ponytestsz.com +poo1.club +pooban.com +poobbs.com +poocg.com +poocg.me +pooioo.com +pook.com +pooluo.com +poorren.com +pooy.net +pop-bags.com +pop-fashion.com +pop-shoe.com +pop136.com +pop800.com +popasp.com +popdg.com +popgo.org +popiano.org +popkart.tv +popkx.com +popmart.com +popmsg.com +popoho.com +popoxiu.com +poppace.com +poppur.com +popqiu.com +popsoft.com +popu.org +popumed.com +poputar.com +popziti.com +poqsoft.com +porlockz.com +porschesky.com +portablesoft.org +portalcdn.cdnetworks.com +ports-intl.com +pos.gold +posbar.com +poseidon.dl.playstation.net +poseidong.com +posfree.com +positivisten.com +posn.net +post183.net +posterlabs.com +postgres.fun +postgresqlchina.com +postjson.com +postpony.com +posuiji168.com +potevio.com +potianji.net +potplayer.org +potplayercn.com +pouchcontainer.io +poukao.com +poweizu.com +power-bd.com +power-sensor.com +powerbibbs.com +powercdn.com +powerde.com +powereasy.net +poweric-china.com +powerlaw.ai +powerleadercdn.com +powerleaderidc.com +powerskystudio.com +powervision.me +powerxene.com +powzamedia.com +poxiaotv.com +pozou.com +pp-xxgd.com +pp.cc +pp00.com +pp100.com +pp130.com +pp1o.com +pp25.com +pp250.com +pp51.com +pp6.cc +pp63.com +pp66.cc +pp70.com +pp8.com +pp9570.com +pp9l.com +ppaikd.com +ppbizon.com +ppcall.com +ppchuguan.com +ppcn.net +ppcode.com +ppcost.com +ppdai.com +ppdaicdn.com +ppdd.com +ppdesk.com +ppdqk.com +ppduck.com +ppfeng.com +ppfw.org +ppgame.com +pphimalayanrt.com +ppio.cloud +ppj.io +ppkankan01.com +ppkanshu.com +ppkao.com +pplib.net +pplive.com +ppliwu.com +pplock.com +ppm2.com +ppmake.com +ppmm.org +ppmoney.com +ppmoney.net +ppnames.com +pppet.net +pppie.com +pppoevps.com +pppoo.com +ppppgps.com +ppppic.com +ppqq.net +pps.tv +ppsao.com +ppsimg.com +ppslsa.com +ppsoftw.com +ppspain.com +ppsport.com +ppstream.com +ppstream.net +ppstv.com +ppswan.com +ppt118.com +ppt123.net +ppt360.com +ppt920.com +pptair.com +pptake.com +pptbest.com +pptboss.com +pptbz.com +pptelf.com +ppthi-hoo.com +pptjia.com +pptmall.net +pptmao.com +pptmind.com +pptok.com +pptschool.com +pptshop.com +pptstore.net +pptv.com +pptvyun.com +pptxy.com +ppurl.com +ppvi.net +ppvod.net +ppwan.com +ppwwyyxx.com +ppxclub.com +ppxhw.com +ppxs.net +ppxwo.com +ppys.net +ppys5.com +ppzhan.com +ppzhilian.com +ppzuche.com +ppzuowen.com +pqdtcn.com +pqpo.me +pqt-bearing.com +pqyhigh.com +pqylow.com +pqymiddle.com +pqzhichan.com +prcedu.com +prcee.org +pre-sence.com +precise-test.com +precision-biz.com +prefer-tyl.site +prefershare.com +preludeid.com +premedglobal.com +press-sci.com +prestolite-bj.com +prfc-cn.com +prfog.com +prfuxl.xyz +pricl.com +primegoalgroup.com +primerachina.com +primeton.com +princeblog.com +princeuk.org +print86.com +printer-china.com +printerwhy.net +printhome.com +printlake.com +prior24.com +prismcdn.com +privateadx.com +privatess.win +privspace.net +prjdrj.com +pro6e.com +procar.cc +process-safety-lab.com +processon.com +prod-support.apple-support.akadns.net +product1.djicdn.com +productivity.wiki +proginn.com +programfan.com +programmer.group +programschool.com +progressingeography.com +prohui.com +project-oa.com +projectaker.com +projector-window.com +projky.com +prolto.com +promisingedu.com +promoadx.com +propsad.com +proresearch.org +protect-file.com +prototype.im +providence-chemicals.com +prowritingteam.com +proxyipa.com +proya-group.com +proya.com +proyy.com +prts.wiki +przhushou.com +przwt.com +ps123.net +ps265.com +ps314.com +psbc.com +psc4d.com +psd.net +psd8.com +psdiv.com +pse-meti.com +psgui.com +psing.tech +psjay.com +psjxty.com +psnine.com +psoneart.com +pssclub.com +pstatp.com +pstips.net +pstxg.com +psy-1.com +psyapp.com +psychcn.com +psychspace.com +psysh.com +psyzg.com +pszx.com +pszxw.com +pszyzxh.org +pt-bus.com +pt-link.com +pt80.com +pt80.net +ptalking.com +ptausercontent.com +ptbus.com +ptc-asia.com +ptcloud.info +ptcxmy.com +ptd100.com +ptd99.com +ptdsh.com +ptfdc.com +ptfish.com +pthc1.com +pthc8.com +pthxuexi.com +ptimg.org +ptkill.com +ptleju.com +ptmind.com +ptorch.com +ptotour.com +ptpcp.com +ptshare.org +ptteng.com +ptweixin.com +ptxz.com +ptyg.com +ptyly.com +ptyqm.com +pua.hk +pua001.com +puaas.com +puahome.com +puaihospital.net +puasu.com +puata.info +pubchn.com +pubg8x.com +publiccms.com +pubmed007.com +pubone.cc +pubsage.com +pubukeji.com +pubuo.com +pubyun.com +puchake.com +pucms.com +pudaquan.com +pudn.com +pudongwater.com +puduzhai.com +puem.org +puercha.cc +puercn.com +puertea.com +pufa5.org +pufei.net +pufei.org +pufei8.com +puhuacapital.com +puhuahui.com +puiedu.com +puji114.com +pujia8.com +pujiaba.com +pujiahh.com +pukinte.com +pulisi.com +pullword.com +pullywood.com +pulsigame.com +pumpvip.com +punaide.com +punakong.com +punchbox.info +punchbox.org +puoke.com +pupuapi.com +pupugo.com +pupumall.com +pupumall.net +pupurazzi.com +pupuwang.com +purcotton.com +purcow.com +pureage.info +pureasme.com +purecpp.org +pureh2b.com +purenyy.com +puronglong.com +puroyal.com +pusa123.com +push2u.com +pushauction.com +pushenbbs.com +pushgrid.net +pushjoy.com +pushthink.com +pushtime.net +puss7.com +putao.so +putaoa.com +putaocdn.com +putaogame.com +putaojiu.com +putclub.com +putdb.com +putian508.com +putiandai.com +putitt.com +putonsoft.com +putop.net +puusa.net +puwenlong.com +puworld.com +puyuecs.com +puyuehui.com +puyurumen.com +puzeyf.com +pv001.net +pv265.com +pv4b.com +pvc123.com +pvkj.com +pvmama.com +pvpin.com +pw1999.com +pw88.com +pwmis.com +pwmqr.com +pwp.ink +pwrd.com +pwsannong.com +px0571.com +px5a.com +pxb7.com +pxcn168.com +pxdsm.com +pxemba.com +pxr0.com +pxsky.net +pxtsc.com +pxtu.com +pxtx.com +pxx.io +py-axa.com +py1314.com +py168.com +py3study.com +py40.com +py6.com +py94.com +pyadx.com +pyasfunds.com +pychina.org +pycxjj.com +pyddd.com +pyer.site +pygdzhcs.com +pyguanf.com +pyhead.com +pyjia.com +pyjsh.com +pyk868.com +pyker.com +pylhotel.com +pylist.com +pyneo.com +pynote.net +pyou.com +pysmei.com +pystarter.com +pytgo.com +python-china.com +python88.com +pythonav.com +pythonclub.org +pythondoc.com +pythoner.com +pythonheidong.com +pythonpub.com +pythontab.com +pythontip.com +pytorchtutorial.com +pyxjiang.com +pyxk.com +pyxww.com +pyynsm.com +pyyx.com +pz6.com +pz6682.com +pzds.com +pzhccb.com +pzhht.com +pzjdimg.com +pzjiadian.com +pzlink.com +pznews.com +pznrfsy.com +pznsh.com +pzoom.com +pztuan.com +q-dazzle.com +q-supreme.com +q1.com +q1qfc323.com +q1qq2.com +q2ak.com +q2d.com +q2zy.com +q3060.com +q5.com +q578.com +q6haqi.com +q6u.com +q77777777.com +qacn.net +qalex.com +qaqgame.com +qast.com +qaxanyu.com +qaxcloudwaf.com +qaxwzws.com +qazxsdc.com +qb5.tw +qb5200.co +qb5200.tw +qbangmang.com +qbao.com +qbaobei.com +qbaoting.com +qbb6.com +qbdcc.com +qbdgame.com +qbeenslee.com +qbitai.com +qbj8.com +qbjrxs.com +qbox.me +qbox.net +qbtlk.com +qbview.com +qbxs5.com +qbxz.com +qc-dds.net +qc-hr.com +qc027.com +qc178.com +qc188.com +qc56.org +qc6.com +qcc.com +qccip.com +qccost.com +qccr.com +qccrm.com +qcds.com +qcenglish.com +qcgcj.com +qchem.pw +qches.com +qchouses.com +qcjkjg.com +qcjslm.com +qckuaizhi.com +qcloud.com +qcloud.la +qcloudcdn.com +qcloudcjgj.com +qcloudimg.com +qcloudmail.com +qcloudwzgj.com +qcloudzygj.com +qcmoke.site +qcmrjx.com +qcmuzhi.com +qcoco.com +qconbeijing.com +qconshanghai.com +qcplay.com +qcq3.com +qcql.com +qcr.cc +qcr365.com +qcrlapp.com +qcsdn.com +qcsj.com +qcstudy.com +qctsw.com +qcwan.com +qcwdpt.com +qcwhw.com +qcwlpay.com +qcwlseo.com +qcwxjs.com +qcwyxx.com +qcy.com +qcymall.com +qcyoung.com +qd-metro.com +qd256.com +qd315.net +qdac.cc +qdaeon.com +qdaiduo.com +qdaily.com +qdairlines.com +qdbdsk.com +qdcaijing.com +qdccb.com +qdccdl.com +qdcdn.com +qdcdpjw.com +qdcent.com +qdcu.com +qdcypf.com +qdcz.com +qddown.com +qdds.net +qdfuns.com +qdgege.com +qdgw.com +qdgxqrc.com +qdgxzg.com +qdhantang.com +qdhsty.com +qdingnet.com +qdjiejie.com +qdjimo.com +qdjjwsjf.com +qdjnbgjj.com +qdjxhz.com +qdkebang.com +qdkingst.com +qdkongtiao.com +qdlanrun.com +qdliye.com +qdlongre.com +qdmama.net +qdmcxh.com +qdmm.com +qdnsyh.com +qdooc.com +qdpdjx.com +qdppc.com +qdpr.com +qdqihang.com +qdqunweite.com +qdsay.com +qdsbx.com +qdsdds.com +qdshitangchengbao.com +qdsntsg.com +qdsysj.com +qdtgood.com +qdthgs.com +qdtongxinedu.net +qdtvu.com +qdtz.com +qdwenxue.com +qdwght.com +qdwsb.com +qdxfgy.com +qdxtcw.com +qdyijiamei.com +qdymjy.com +qdyudie.com +qdyxbyy.com +qdzhengkang.com +qdzmm.com +qdznjt.com +qdzxyy.com +qdzz.com +qechu.com +qeebike.com +qeefee.com +qeegee.com +qeejoo.com +qeeka.com +qeeniao.com +qeerd.com +qefee.com +qefeng.com +qeto.com +qf.rs +qf027.com +qfang.com +qfangimg.com +qfcm.net +qfedu.com +qfeiche.com +qfgolang.com +qfihdr.com +qfpay.com +qfq.me +qfrxyl.com +qfsxjf.com +qfsyj.com +qftouch.com +qfun.com +qg.net +qg108.com +qgbzyzl.com +qgcyjq.org +qgdyc.net +qgdz222.com +qgenius.com +qgpx.com +qgren.com +qgsydw.com +qgtql.com +qguiyang.com +qgvps.com +qgw.tm +qgwsp.com +qgxl.org +qgysj.org +qgzzz.com +qh-cdn.com +qh-lb.com +qh.dlservice.microsoft.com +qh.la +qh0534.net +qh24.com +qh5800.com +qhass.org +qhbtv.com +qhcdn.com +qhchcb.com +qhclass.com +qhd.net +qhdatongnews.com +qhdczzs.com +qhdfxkj.com +qhdgjj.com +qhdjcbj.com +qhdnews.com +qhdren.com +qhdymdc.com +qhea.com +qhee-ma.com +qhee.com +qhfax.com +qhfx.net +qhgxq.com +qhgy.net +qhimg.com +qhimgs0.com +qhimgs1.com +qhimgs3.com +qhimgs4.com +qhimi.com +qhjyks.com +qhkyfund.com +qhlhfund.com +qhlingwang.com +qhlly.com +qhm123.com +qhmed.com +qhmsg.com +qhnews.com +qhnode.com +qhong.net +qhpcc.com +qhpk.net +qhpta.com +qhrcsc.com +qhres.com +qhres2.com +qhscw.net +qhserver.com +qhsetup.com +qhsklw.com +qhstatic.com +qhstv.com +qhsxf.net +qhtibetan.com +qhtycp.com +qhupdate.com +qhwh.com +qhwmw.com +qhxiaoshuo.com +qhxmlyts.com +qhxyms.com +qhxz.com +qhyccd.com +qhyedu.com +qhyzzzs.com +qi-che.com +qi-ju.com +qi-wen.com +qiachu.com +qiaiou.com +qiak.com +qiakr.com +qialol.com +qian-gua.com +qian10.net +qianba.com +qianbao.com +qianbao666.com +qianbaocard.com +qianbaohr.com +qiancheng.me +qianchengriben.com +qiandaqian.com +qiandd.com +qianduan.com +qianduanblog.com +qianduanfan.com +qiandw.com +qianfan123.com +qianfan365.com +qianfangzy.com +qianfanyun.com +qiang100.com +qiangchezu.com +qiangchuan.com +qianggen.com +qianggongzhang.com +qianggou5.com +qiangidc.vip +qiangka.com +qianglihuifu.com +qiangmi.com +qiangqiang5.com +qianhai12315.com +qianhaiaiaitie.com +qianhaibs.com +qianhuanhulian.com +qianhuaweb.com +qianhujz.com +qianinfo.com +qianjia.com +qianjiayue.com +qianjin5.com +qianjing.com +qianjins.com +qianju.org +qianka.com +qiankun.su +qianliao.net +qianliao.tv +qianliaowang.com +qianlima.com +qianlimafile.com +qianlinkj.com +qianlong.com +qianlongnews.com +qianluxiaoshuo.com +qianmaiapp.com +qianmaidao.com +qianmi.com +qianmingyun.com +qianmo.info +qianmoqi.com +qianmu.org +qianniu.com +qianpailive.com +qianpen.com +qianpin.com +qianqi.net +qianqian.com +qianqiankeji.xyz +qianqiantao.com +qianqianxs.com +qianqu.cc +qianquduo.com +qianrenge.cc +qianrihong.net +qianrong.me +qiansw.com +qiantucdn.com +qianvisa.com +qianw.com +qianwa.com +qianwee.com +qianxiangbank.com +qianxibj.net +qianxin.com +qianxinet.com +qianxs.com +qianxun.com +qianyan.biz +qianyan001.com +qianyu56.com +qianyuangx.com +qianyue999.com +qianyuwang.com +qianzhan.com +qianzhan123.com +qianzhengbanliliucheng.com +qianzhengdaiban.com +qianzhu8.com +qiao024.com +qiao88.com +qiaobo.net +qiaobutang.com +qiaochucn.com +qiaodan.com +qiaofangyun.com +qiaofanxin.com +qiaohu.com +qiaohuapp.com +qiaohuisland.com +qiaohumall.com +qiaojiang.tv +qiaomi.com +qiaomukeji.com +qiaoshenghuo.com +qiaotu.com +qiaoxuanhong.com +qiaoyi.org +qiaoyou020.com +qiaqa.com +qiaqiafood.com +qiawei.com +qibang123.com +qibingdaojia.com +qibo168.com +qibookw.com +qibosoft.com +qibuluo.com +qibuzw.com +qicaispace.com +qicaitechan.com +qicaixianhua.com +qicaizz.com +qichacha.co +qichacha.com +qichacha.net +qichamao.com +qichecailiao.com +qichechaoren.com +qichegeyin.com +qichehot.com +qichetansuo.com +qichetong.com +qichexin.com +qichezhan.net +qichuang.com +qichuangidc.com +qicn.net +qicolor.com +qicp.net +qicp.vip +qida100.com +qidasoft.com +qidewang.com +qidian.com +qidiandasheng.com +qidianjob.com +qidianla.com +qidiantu.com +qidic.com +qidisheng.com +qidisheng.net +qidiwang.com +qidong.co +qidong.name +qidongyx.com +qidou.com +qiduocloud.com +qiduowei.com +qiecdn.com +qieerxi.com +qieman.com +qiepai.com +qieseo.com +qieta.com +qietu6.com +qieying.com +qieyou.com +qieyuedu.com +qiezip.com +qifake.com +qifangw.com +qifeiye.com +qifub.com +qifuedu.com +qifun.com +qifuwang.com +qigongworld.net +qiguo.com +qiguoread.com +qihaoip.com +qihaxiaoshuo.com +qihihi.com +qihoo.com +qihoo.net +qihu.com +qihuayao.com +qihucdn.com +qihuiwang.com +qihuorumen.com +qii404.me +qiigame.com +qiiii.net +qijee.com +qiji.tech +qijiadianzi.com +qijianzs.com +qijiapay.com +qijiarui-test.com +qijilvxing.com +qijishow.com +qijizuopin.com +qijoe.com +qijuan.com +qijuib.com +qik339.com +qikan.com +qikan123.com +qikanol.com +qikanw.com +qikegu.com +qikoo.com +qikqiak.com +qiku-cloud.com +qiku.com +qikuailianwang.com +qikucdn.com +qikula.com +qilang.net +qilanxiaozhu.co +qilanxiaozhu.net +qilecms.com +qilinchess.com +qilindao.com +qiling.org +qilingames.com +qilinxuan.net +qilong.com +qilongtan.com +qiluhospital.com +qiluhua.com +qiluivf.com +qiluyidian.mobi +qiluyidian.net +qima-inc.com +qiman5.com +qiman6.com +qimaren.com +qimengshangwu.com +qimi.com +qiming.info +qiming868.com +qimingcx.com +qimingdao.com +qimingpian.com +qimingvc.com +qimingventures.com +qimingwang123.com +qimingzi.net +qimo.biz +qimodesign.com +qimser.com +qin.com +qin08.com +qiname.net +qinbei.com +qinbing.com +qinbing114.com +qinblog.net +qincai.com +qincaigame.com +qinchacha.com +qinchu123.com +qinco.net +qineasy.com +qinfan.xyz +qing-shan.com +qing.su +qing5.com +qingbh.com +qingcache.com +qingcdn.com +qingchifan.com +qingchu.com +qingchunbank.com +qingcigame.com +qingclass.cc +qingclass.com +qingclasscdn.com +qingcloud.com +qingdaochina.org +qingdaograndtheatre.com +qingdaogxt.com +qingdaomaidige.com +qingdaomedia.com +qingdaomuseum.com +qingdaonews.com +qingdaoren.com +qingdaoticai.com +qingdou.net +qingfanqie.com +qingflow.com +qingfo.com +qingfuyun.com +qingfuzaixian.com +qingge100.com +qinggl.com +qingguo.com +qinghe.tv +qingheluo.com +qinghua.cc +qinghua2017.com +qinghua5.com +qinghuaonline.com +qinghuaxuezi.com +qinghuo.net +qingjiaocloud.com +qingju.com +qingkan.tw +qingkeji.com +qingkuaipdf.com +qinglanji.com +qingliange.com +qinglin.net +qingliulan.com +qinglm.com +qinglue.net +qingman5.com +qingmang.mobi +qingmayun.com +qingmei.me +qingmo.com +qingmob.com +qingnianlvxing.com +qingnianwang.com +qingpanduola.com +qingpinji.com +qingqikeji.com +qingqin.com +qingquwu.net +qingrenw.com +qingruanit.net +qingshow.net +qingsj.com +qingsong123.com +qingsongchou.com +qingstor.com +qingsuancn.com +qingsucai.com +qingsword.com +qingtaoke.com +qingtengzhilian.com +qingtian16265.com +qingtiancms.net +qingtin.com +qingting.fm +qingting123.com +qingtingfm.com +qingtingip.com +qinguanjia.com +qingwawa.com +qingwk.com +qingxiaoyun.com +qingxuetang.com +qingyougames.com +qingyungou.com +qingzhanshi.com +qingzhiwenku.com +qingzhouaote.com +qingzhu.co +qiniao.com +qiniu.com +qiniu.in +qiniu.io +qiniuapi.com +qiniucdn.com +qiniudn.com +qiniudns.com +qiniukodo.com +qiniup.com +qiniupkg.com +qiniutek.com +qiniuts.com +qinlake.com +qinms.com +qinpu.com +qinqiang.org +qinqin.com +qinqinxiaobao.com +qinsmoon.com +qinto.com +qinwanghui.com +qinxue.com +qinxue100.com +qinxue365.com +qinxuye.me +qinyi.net +qinzc.me +qinzhe.com +qinzhou8.com +qinzi7.com +qinzidna.com +qinziheng.com +qiongdy.com +qionghaif.com +qiongming.com +qiongri.com +qipacao.com +qipaifan.com +qipamaijia.com +qipeiren.com +qipeisyj.com +qipeng.com +qiqici.com +qiqids.com +qiqilm.com +qiqipu.com +qiqipu.tv +qiqiuyu.com +qiqiuyun.net +qiqivv.com +qiqiww.com +qiqu.la +qiquhudong.com +qire123.com +qiredy.com +qiremanhua.com +qirexiaoshuo.com +qirui.com +qisbook.com +qishenga.com +qishixitong.com +qishixunmei.com +qishu.cc +qishu.co +qishu.tw +qishunbao.com +qisool.com +qisuu.la +qita.love +qitete.com +qiti88.com +qitian.biz +qitiancom.com +qitoon.com +qiu-ai.com +qiubiaoqing.com +qiucinews.com +qiudao.net +qiudian.net +qiufaqf.com +qiufengblog.com +qiugonglue.com +qiugouxinxi.net +qiujiaoyou.net +qiujieyl.com +qiujuer.net +qiujunya.com +qiukuixinxi.com +qiumei100.com +qiumeiapp.com +qiumibao.com +qiumijia.com +qiuquan.cc +qiushi.com +qiushibaike.com +qiushibang.com +qiushile.com +qiushu.cc +qiushuge.net +qiushuzw.com +qiusuoge.com +qiutianaimeili.com +qiuweili.com +qiuwu.net +qiuxue360.com +qiuyexitong.com +qiuyueban.com +qiuyuewenxue.com +qiuyumi.com +qiuzhang.com +qiuzhijiangtang.com +qiuziti.com +qiuziyuan.net +qivsod.com +qiwen001.com +qiwen007.com +qiwen8.com +qiwendi.com +qiwenhui.com +qixia.ltd +qixiandoc.com +qixifuren.com +qixin.com +qixin007.com +qixin18.com +qixincha.com +qixing123.com +qixing318.com +qixingcdn.com +qixingcr.com +qixingquan.com +qixingtang.com +qixoo.com +qixuan520.com +qiyabi.vip +qiye.la +qiye.net +qiye163.com +qiye8848.com +qiyegongqiu.com +qiyegongqiu.net +qiyegu.com +qiyeku.com +qiyenet.net +qiyeshangpu.com +qiyeshangpu.net +qiyetuozhan.com +qiyeweixin.com +qiyewenhua.net +qiyexinyong.org +qiyexun.com +qiyexxw.com +qiyeyouxiang.net +qiyi.com +qiyicc.com +qiyimusic.com +qiyipic.com +qiyou.com +qiyouji.com +qiyoujiage.com +qiyouwang.com +qiyouworld.com +qiyouyuan.com +qiytech.com +qiyuange.com +qiyucloud.com +qiyue.com +qiyuebio.com +qiyuesuo.com +qiyujiasu.com +qiyukf.com +qiyukf.net +qiyukid.com +qiyunbook.com +qiyuntong.com +qiyunworld.com +qiyutianxia.com +qizhanming.com +qizheplay.com +qizhihaotian.com +qizhuyun.com +qizi.la +qizuang.com +qj023.com +qj258.com +qj26.com +qjbian.com +qjcz.com +qjdywhyq.com +qjfy.com +qjherb.com +qjhlw.com +qjhm.net +qji.cc +qjimage.com +qjishu.com +qjkc.net +qjmotor.com +qjrc.com +qjren.com +qjsb88.com +qjshe.com +qjsmartech.com +qjtrip.com +qjwhzs.com +qjxgold.com +qjy168.com +qjystang.com +qk365.com +qkagame.com +qkan.com +qkang.com +qkblh.com +qkcdn.com +qkeke.com +qkhtml.com +qkkjd.com +qkl123.com +qknown.com +qksw.com +qktoutiao.com +qktsw.vip +qkvop.com +qkzj.com +ql-cellbank.com +ql18.mobi +ql1d.com +ql47.com +ql789.com +qlbchina.com +qlchat.com +qlcoder.com +qldzj.com +qlgpy.com +qlidc.com +qljgw.com +qll-times.com +qlmoney.com +qlotc.net +qlpe8.com +qlpw.net +qlrc.com +qls.fun +qlteacher.com +qluu.com +qlwmw.com +qlxiaozhan.com +qlxol.com +qm000.com +qm120.com +qm989.com +qmacro.com +qmail.com +qmango.com +qmcaifu.com +qmcmw.com +qmconfig.com +qmei.me +qmei.vip +qmengyun.com +qmht.com +qmht.mobi +qmitao.com +qmqm.net +qmrobot.com +qmsjmfb.com +qmtj.net +qmtk.com +qmtv.com +qmwtp.com +qmz5.com +qmzs.com +qnbar.com +qnche.com +qncye.net +qncyw.com +qndb.net +qnfuli.com +qngslb.com +qnhuifu.com +qnjslm.com +qnl1.com +qnmlgb.tech +qnqcdn.com +qnqcdn.net +qnsb.com +qnsdk.com +qnssl.com +qntz.cc +qnvod.net +qnydns.com +qnydns.net +qooboo.com +qoocc.com +qooic.com +qookar.com +qosq.com +qp110.com +qp46.com +qp832.com +qp8u.com +qpb187.com +qpdiy.com +qpgame.com +qplus.com +qpoc.com +qpstar.com +qpx.com +qpxiaoshuo.com +qpzq.net +qq-xmail.com +qq.cc +qq.ci +qq.com +qq.do +qq.net +qq.tc +qq123.xin +qq163.cc +qq163.com +qq163.tv +qq190.com +qq2009.com +qq214.com +qq387.com +qq5.com +qq52o.me +qq545.com +qq5818.com +qq717.com +qq7c.com +qq8868.com +qq933.com +qqahz.net +qqaiqin.com +qqaishu.com +qqan.com +qqapk.com +qqba.com +qqbaobao.com +qqbiaoqing.com +qqbiaoqing8.com +qqbibile.com +qqbite.com +qqcedsrc.com +qqcf.com +qqcg.com +qqchu.com +qqcjw.com +qqdcw.com +qqdeveloper.com +qqdiannao.com +qqdiannaoguanjiadl.com +qqdna.com +qqdswl.com +qqe2.com +qqenglish.com +qqeo.com +qqfangke.com +qqgb.com +qqgd.com +qqgexing.com +qqgx.com +qqgyhk.com +qqhao123.com +qqhbx.com +qqhelper.net +qqhot.com +qqhuhu.com +qqixk.com +qqjay.com +qqje.com +qqjia.com +qqjishuwang.com +qqjjsj.com +qqju.com +qqjyo.com +qqkqw.com +qqkrmotors.com +qqku.com +qqkuyou.com +qqkw.net +qqleju.com +qqlin.net +qqlyjt.com +qqm98.com +qqma.com +qqmail.com +qqmcc.org +qqmofasi.com +qqmoke.com +qqmtc.com +qqmusic.com +qqnn.net +qqodjn.com +qqokk.com +qqopenapp.com +qqpao.com +qqpifu.com +qqppt.com +qqq.tv +qqqiyemail.com +qqqnm.com +qqqq.com +qqqqqqqqqqqqq.com +qqread.com +qqride.com +qqrizhi.com +qqro.com +qqshark.com +qqshidao.com +qqshuoshuo.com +qqsk.com +qqsm.com +qqsort.com +qqssly.com +qqstudent.com +qqsurvey.net +qqt6.com +qqteacher.com +qqtest.com +qqtf.com +qqtlr.com +qqtn.com +qqtouxiangzq.com +qqtss.net +qqttxx.com +qqtu8.com +qqtz.com +qqu.cc +qqumall.com +qqurl.com +qquu8.com +qqvv88.com +qqwaw.com +qqwechat.com +qqwmly.com +qqwmx.com +qqwtb.com +qqwwr.com +qqwx6.xyz +qqwx8.xyz +qqwxmail.com +qqwys.net +qqxifan.com +qqxmail.com +qqxs.cc +qqxs.la +qqxs5200.com +qqxsnew.com +qqxsnew.net +qqxsw.co +qqxsw.info +qqxsw.la +qqxww.com +qqxy100.com +qqxzb-img.com +qqxzb.com +qqy189.com +qqyewu.com +qqymail.com +qqyou.com +qqyouju.com +qqywf.com +qqyy.com +qqyyx.com +qqzby.net +qqzhi.com +qqzi.net +qqzl.cc +qqzonecn.com +qqzong.com +qqzsh.com +qqzshc.com +qqzuankuo.com +qqzzz.net +qr25.com +qrcdn.com +qrcpu.com +qrmanhua.com +qrtest.com +qrx.cc +qs12315.com +qs7ly.com +qs921.com +qsacg.vip +qsbank.cc +qsbbs.net +qsbdc.com +qsboy.com +qschou.com +qsebao.com +qseeking.com +qsfcw.com +qshang.com +qsmyhsg.vip +qspfw.com +qspfwadmin.com +qss-lb.com +qssec.com +qstatic.com +qstbg.com +qstsking.com +qsw.la +qsw521.com +qswhcb.com +qswzayy.com +qsxi.com +qszs.com +qszt.com +qszt.net +qt-ly.com +qt56yun.com +qt6.com +qt86.com +qtadb.com +qtav.org +qtbcw.com +qtbig.com +qtccolor.com +qtcn.org +qtconcerthall.com +qtdebug.com +qtdream.com +qter.org +qtfy30.com +qthmedia.com +qthnews.com +qtimes.net +qtj5.com +qtlcdn.com +qtlcdncn.info +qtlcn.com +qtlglb.com +qtlglb.info +qtlgslbcn.info +qtluyuan.com +qtlxjy.com +qtmojo.com +qtonghua.com +qtrun.com +qtshe.com +qtshu.com +qtshu.la +qttc.net +qtulou.com +qtumist.com +qtx.com +qtyd.com +qu.la +qu02.com +qu114.com +qu247.com +qu99.com +qua.com +qualisports.cc +quan.mx +quan007.com +quan365.com +quan99.net +quanbailing.com +quanben.com +quanbenwu.com +quandangdang.net +quandashi.com +quanduoduo.com +quanfangtongvip.com +quanfeng.tech +quanguoban.com +quanji.com +quanji.la +quanji.net +quanji55.com +quanjiao.net +quanjing.com +quanjingke.com +quankan.tv +quanke8.com +quanlaoda.com +quanlaodaonline.com +quanlego.com +quanmaihuyu.com +quanmama.com +quanmamaimg.com +quanmeipai.com +quanmin.la +quanmin.tv +quanmin110.com +quanminbagua.com +quanminbb.com +quanmingjiexi.com +quanminyanxuan.com +quanqiuwa.com +quanquanapp.net +quanr.com +quanriai.com +quansheng-group.com +quanshi.com +quanshishequ.com +quanshu.net +quanshuge.com +quanshuwan.com +quansucloud.com +quantacn.com +quantao100.com +quantaoyougou.com +quantiku.org +quantil.com +quantone.com +quantuantuan.com +quantum-info.com +quanwai.wang +quanweili.com +quanxi.cc +quanxiangyun.com +quanxiaoshuo.com +quanyin.xyz +quanzhanketang.com +quanzhi.com +quanzhifu.net +quanzhoudaqin.com +quanziapp.com +quarkbook.com +quarkers.com +quasarchs.com +quazero.com +quba360.com +qubaike.com +qubaishu.com +qucai.com +qucaiad.com +qucaidd.com +qucaigg.com +quce001.com +quceaiqing.com +quchao.net +quchaogu.com +quchew.com +quclouds.com +qudao.com +qudao.info +qudao168.com +qudaowuyou.com +qudaowuyou04.com +qudingshui.com +qudong.com +qudong51.net +qududu.net +qudushu.com +quduwu.com +quduzixun.com +quegame.com +quegoo.com +queji.tw +queqiaoba.com +querylist.cc +queshao.com +queshu.com +questyle.com +questyleaudio.com +queyang.com +qufair.com +qufaya.com +qufeisoft.com +qufengo.com +qufenqi.com +qugongdi.com +quhaidiao.com +quhua.com +quhuaxue.com +quhubei.com +quhuichang.net +quick-x.com +quickapi.net +quickbass.com +quickcan.com +quickddns.com +quickjoy.com +quicksdk.com +quicksdk.net +quickswan.com +quilimen.com +quimg.com +quji.com +qujianpan.com +qujinhuo.com +qujishu.com +qujunde.com +qukaa.com +qukan.cc +qukanshu.com +qukantoutiao.net +qukantx.com +quklive.com +qukuai.com +qukuaila.com +qukuailiant.com +qukuba.com +qulishi.com +qulv.com +qumaishu.com +qumaiyao.com +qumifeng.com +quming66.com +qumingdashi.com +qumingxing.com +qumitech.com +qun.hk +quna.com +qunachi.com +qunaer.com +qunale888.com +qunar.com +qunar.ink +qunarcdn.com +qunarzz.com +qunba.com +quncrm.com +qunfenxiang.net +qungame.com +qungong.com +qunhai.net +qunhei.com +qunhequnhe.com +qunjielong.com +qunkeng.com +qunliao.info +qunmi.vip +qunniao.com +qunqun.mobi +qunsou.co +quntuishou.com +qunxingvc.com +qunyingkeji.com +qunzh.com +qunzou.com +quora123.com +qupaibei.com +qupaicloud.com +qupeiyin.com +qupf.com +qupuji.com +quqi.com +quqiaoqiao.com +quqike.com +quqiuhun.com +ququabc.com +ququyou.com +ququzhu.com +qusanxia.com +qusem.com +qushimeiti.com +qushiw.com +qushixi.net +qutanme.com +qutaojiao.com +qutaovip.com +qutego.com +quthing.com +qutoutiao.net +qutouwang.com +qutu.com +qutuiwa.com +quumii.com +quunion.com +quvisa.com +quw1234.icu +quwan.com +quwan.fun +quwangming.com +quweikm.com +quweiting.com +quweiwu.com +quwenqing.com +quwenqushi.com +quwentxw.com +quwj.com +quwm.com +quword.com +quwuxian.com +quxds.com +quxia.com +quxianchang.com +quxiangtou.com +quxianzhuan.com +quxiaoyuan.com +quxingdong.com +quxiu.com +quxuan.com +quxuetang.net +quyaoya.com +quyinginc.com +quyiyuan.com +quyouhui.net +quyu.net +quyuansu.com +quyundong.com +quzhuanpan.com +quzhuanxiang.com +quzz88.com +quzzgames.com +qvip.net +qvkanwen.com +qvlz.com +qvpublish.com +qvxo.com +qw.cc +qwdacy.com +qweather.com +qweather.net +qwertali.pw +qwertdd.pw +qwertgg.pw +qwgt.com +qwimm.com +qwolf.com +qwomcrm.com +qwpeo.net +qwpo2018.com +qwpr3.com +qwpr38.com +qwq.moe +qwqk.net +qwqoffice.com +qwspcz.com +qwsy.com +qwupoq.com +qwxcs.com +qwxsw.com +qx1000.com +qx10086.net +qx100years.com +qx121.com +qx162.com +qxbnkj.com +qxbx.com +qxcdn.cc +qxcu.com +qxghost.com +qxiu.com +qxka.com +qxkp.net +qxlib.com +qxnav.com +qxnecn.com +qxnic.com +qxnzx.com +qxrisk.com +qxs.la +qxslyfjq.com +qxswk.com +qxueyou.com +qxw.cc +qxwl21.com +qxwz.com +qxxsjk.com +qxyaoc.com +qxzc.net +qxzxp.com +qy-office.com +qy-qq.com +qy.net +qy01.com +qy266.com +qy6.com +qy6.net +qyaaaa.com +qybeiyong.com +qybook.net +qyc2008.com +qycn.com +qycn.net +qycn.org +qydaili.com +qydimg.com +qydmz.com +qydns1.com +qyec.com +qyer.com +qyerstatic.com +qyfwc.com +qyglzz.com +qygzbxpt.com +qyham.com +qyhl.net +qyi.io +qyiliao.com +qyjpzx.com +qykh2009.com +qyle1.com +qyled.xyz +qymgc.com +qyous.com +qyrb.com +qysd.net +qysfl.com +qyt1902.com +qyt321.com +qytdesign.com +qytxhy.com +qyule.org +qyvqg.com +qywl777.com +qyxxpd.com +qyyqyj.com +qyzc.net +qyzjc.com +qz100.com +qz123.com +qz828.com +qz930.com +qz96811.com +qzbbs.com +qzbigstone.com +qzbonline.com +qzbuxi.com +qzccbank.com +qzchkj.com +qzcklm.com +qzdigg.com +qzdwz.com +qzfxyy.com +qzhlkj.net +qzhmzx.com +qzjcd.com +qzjkw.net +qzjlw.com +qzjzb.com +qzkey.com +qzlo.com +qznews360.com +qzobao.com +qzone.cc +qzone.com +qzoneapp.com +qzqstudio.com +qzrbx.com +qzrc.com +qzrx.net +qzshangwu.com +qzwb.com +qzxx.com +qzyb.com +qzze.com +qzzn.com +qzzres.com +qzzsbx.com +r-bride.com +r-s-services.com +r-tms.net +r12345.com +r147emh.com +r1x1.com +r1y.com +r220.cc +r2coding.com +r2g.net +r2yx.com +r337iz6.com +r51.net +r5k.com +r5tao.com +r77777777.com +r9q6.vip +rabbitpre.com +rabbitpre.me +race604.com +racing-china.com +racktom.com +radicalmail.net +radida.com +radio1964.com +radiotj.com +radiowar.org +radius-america.com +raeblog.com +ragbear.com +raidc.com +rail-transit.com +railcn.net +rails365.net +railwayfan.net +rain8.com +rainasmoon.com +rainbond.com +rainbow.one +rainbowcn.com +rainbowred.com +rainbowsoft.org +raindi.net +raineggplant.com +rainersu.club +rainhz.com +rainlain.com +rainmanfloor.com +rainyun.com +raisecom.com +raisinsta.com +raiyi.com +rajax.me +rajjzs.com +rakinda-xm.com +ralf.ren +ramadaplaza-ovwh.com +ramostear.com +ran-wen.com +ran10.com +rangercd.com +rangnihaokan.com +ranhou.com +rankaiyx.com +ranknowcn.com +ranling.com +rannabio.com +rantu.com +ranwen.la +ranwen.tw +ranwena.com +ranwenxs.com +ranwenzw.com +ranyi.net +ranzhi.net +ranzhi.org +raoke.net +raonie.com +raorao.com +rap8.com +rapidppt.com +rapoo.com +rapospectre.com +rarcbank.com +rarelit.net +rashost.com +raspigeek.com +rastargame.com +rata-catering.com +ratina.org +rationmcu.com +ratodo.com +ratoo.net +ratuo.com +ray-joy.com +ray8.cc +raychase.net +raychien.site +raycom-inv.com +raycuslaser.com +raydonet.com +raygame3.com +raygame4.com +rayjoy.com +raymx-micro.com +rayoptek.com +rayps.com +rayrjx.com +raysilicon.com +raythonsoft.com +raytoon.net +rayu.me +rayuu.com +rayyo.com +rayyzx.com +razonyang.com +razrlele.com +raztb.com +rb400.com +rbcty.com +rbischina.org +rbqq.com +rbyair.com +rbz1672.com +rbzygs.com +rc.cc +rc0792.com +rc114.com +rc3cr.com +rccchina.com +rccoder.net +rcdang.com +rcdn.fun +rcfans.com +rcgus.com +rchhps.com +rchudong.com +rclbbs.com +rcpx.cc +rcss88.com +rcuts.com +rcw0375.com +rcwl.net +rcyd.net +rczfang.com +rczp.org +rd-game.com +rd351.com +rdamicro.com +rdbom.com +rdbuy.com +rddoc.com +rdezbie.com +rdgz.org +rdidc.com +rdnsdb.com +rdplat.com +rdsdk.com +rdsvsh.com +rdtuijian.com +rdwork.com +rdxmt.com +rdyhly.net +rdyjs.com +rdzhijia.com +rdzjw.com +rdzs.com +rdzx.net +reachace.com +react-china.org +react.mobi +read678.com +read8.net +read8.org +readboy.com +readceo.com +readdsp.com +readend.net +readers365.com +readfree.net +readgps.com +readhb.com +readhr360.com +readhub.me +readm.tech +readmail.net +readmeok.com +readmorejoy.com +readnovel.com +readpaper.com +readpaul.com +readten.net +readu.net +readwithu.com +ready4go.com +readzq.com +reaer.com +reai120.com +reaicomic.com +realdatamed.com +realforcechina.com +realjf.com +reallct.com +really100.net +reallylife.com +realmebbs.com +realmedy.com +realor.net +realsee.com +realshark.com +realsun.com +realtorforce.ca +realxen.com +reasonclub.com +rebatesme.com +rebcenter.com +rebo5566.com +rebooo.com +reborncodinglife.com +recaptcha.net +recgo.com +rechaos.com +rechuandao.com +recolighting.com +recordjapan.net +recovery-transfer.com +recoye.com +recuvachina.com +recycle366.com +red54.com +redatoms.com +redbaby.com +redcome.com +redcross-hx.com +redcross-sha.org +redefine.ltd +redflag-linux.com +redhai.com +redhome.cc +redhongan.com +redianduanzi.com +redianmao.com +redianyule.com +redianzixun.com +rediao.com +redicecn.com +redidc.com +redirector.gvt1.com +redisbook.com +redisdoc.com +redisfans.com +redisguide.com +redisinaction.com +redjun.com +rednetdns.com +redocn.com +redoop.com +redpact.com +redphon.com +redquan.com +redream.com +redrock.team +redsh.com +redshu.com +redstaraward.org +redsun-rp.com +redyue.com +redyue.org +reedii.com +reedoun.com +reeidc.com +reeiss.com +reeji.com +reekly.com +reenoo.com +reenoo.net +reeoo.com +refeng.net +refined-x.com +reformdata.org +refractorywin.com +reg007.com +regioninfo-pa.googleapis.com +regishome.com +reglogo.net +regtm.com +rehtt.com +rehuwang.com +rejoiceblog.com +rejushe.com +rekonquer.com +rekoo.com +rekoo.net +rela.me +relangba.com +relianfit.com +reloadbuzz.com +relxtech.com +remaijie.net +remapcity.com +remark.dance +remax-bj.com +remehealth.com +rememtek.com +remen88.com +remoteaps.com +remotedu.com +renaren.com +rencaiaaa.com +rencaijob.com +rendajingjiluntan.com +rendease.com +rendefpc.com +renderbus.com +renderincloud.com +rendna.com +renhence.com +renji.com +renjian.com +renjiaoshe.com +renjiyiyuan.com +renlijia.com +renliwo.com +renlong1688.com +renmaiku.com +renmaitong.com +renminkaiguan.com +renniaofei.com +renping.cc +renqibaohe.com +renren-inc.com +renren.com +renren.io +renren3d.com +renrenbang.com +renrenbeidiao.com +renrenche.com +renrencou.com +renrendai.com +renrendoc.com +renrenfinance.com +renrenhuigo.com +renrening.com +renrenmoney.com +renrenso.com +renrensousuo.com +renrenstudy.com +renrentou.com +renrentrack.com +renrentui.com +renrenyee.com +renrk.com +renrzx.com +rensheng123.com +rensheng2.com +rensheng5.com +rent.work +rentiantech.com +rentixuewei.com +renwen.com +renwole.com +renwuyi.com +renxingwang.com +renyaohua.com +renyufei.com +renzha.net +reocar.com +repai.com +repaiapp.com +repanso.com +repian.com +repianimg.com +replays.net +res0w.com +resclassaction.com +reserve-prime.apple.com +resheji.com +resistor.today +resouxs.com +resowolf.com +respect-lab.com +respondaudio.com +respusher.com +resuly.me +retalltech.com +retey.net +retiehe.com +retouchpics.com +retow.com +return.net +returnc.com +reverselove.com +rew65.com +reworlder.com +rewuwang.com +rexcdn.com +rexdf.org +rexinyisheng.com +rexsee.com +rexuedongman.com +rexueqingchun.com +reyinapp.com +reyoo.com +reyun.com +rezhishi.net +rf-gsm.com +rf.hk +rf.tm +rfaexpo.com +rfchina.com +rfchost.com +rfcreader.com +rfctyy.com +rfdl88.com +rfdy.hk +rfeyao.com +rffan.info +rffanlab.com +rfhhzx.com +rfidcardcube.com +rfidchina.org +rfidtech.cc +rfk.com +rfmwave.com +rfsister.com +rfthunder.com +rg950.com +rgb128.com +rgdhgdf.com +rgfc.net +rgoo.com +rgrcb.com +rgslb.com +rgyun.com +rgznworld.com +rh98.com +rhce.cc +rhhz.net +rhjyw.com +rhkj.com +rhsj520.com +rhusen03.com +rhyjcy.com +rhyme.cc +ri-china.com +riaway.com +ribaoapi.com +ribaow.com +ribenbang.com +ribencun.com +ribenshi.com +riboseyim.com +ricebook.com +ricefish.io +ricequant.com +rich-chang.com +rich-futures.com +rich-healthcare.com +richeninfo.com +richiecn.com +richinfer.net +richkays.com +richong.com +richtj.com +ricklj.com +rickyfabrics.com +rickyid.com +rickysu.com +ricterz.me +rightknights.com +rightpaddle.com +rigol.com +rigouwang.com +riitao.com +riji001.com +rijigu.com +rijiwang.com +riju.tv +rijutv.co +rijutv.com +rikka.app +rilvtong.com +rilzob.com +rimiedu.com +ringdoll.com +rinlink.com +ripic.xyz +rippleos.com +risc-v1.com +riscv-mcu.com +riscv.club +risecd.net +risecenter.com +risechina.org +riselinkedu.com +risenb.com +risencn.com +risesoft.net +risfond.com +rishao.com +rishiqing.com +rishuncn.com +riskivy.com +risunsolar.com +riswing.com +ritaomeng.com +ritarpower.com +ritering.com +rivergame.net +riyuanma.com +riyuba.com +riyuexing.org +riyuezhuan.com +riyugo.com +riyujob.com +riyurumen.com +rizhao9.com +rizhaochuanqi.com +rizhaociming.com +rizhi.xyz +rizhiyi.com +rizhuji.com +rizi168.com +rj-bai.com +rj889.net +rjdk.org +rjghome.com +rjh0.com +rjhcsoft.com +rjoy.com +rjreducer.com +rjres.com +rjs.com +rjsjmbwx.com +rjsos.com +rjty.com +rjypay.com +rjzxw.com +rkanr.com +rkdatabase.com +rkeji.com +rkgaming.com +rksec.com +rkvir.com +rl-consult.com +rlair.net +rlbl888.com +rlhn.xyz +rlkj.com +rlsofa.net +rlwyjf.com +rlydw.com +rlyl.net +rm-static.djicdn.com +rm96.com +rmb.sh +rmcteam.org +rmdhtyc.com +rmhospital.com +rmjtxw.com +rmlxx.com +rmryun.com +rmsznet.com +rmttjkw.com +rmxiongan.com +rmylsc.com +rmzs.net +rmzt.com +rmzxb.com +rn-hswh.com +rnfengwo.com +rngtest.com +roadjava.com +roadoor.com +roadsigngroup.com +robam.com +robei.com +robook.com +robot-china.com +robotedu.org +robotplaces.com +rock-chips.com +rockbrain.net +rockemb.com +rockerfm.com +rockjitui.com +rockmanlab.net +rockru.com +rocky.hk +rockyaero.com +rockyenglish.com +roclee.com +roddypy.com +roffar.com +rohm-chip.com +roidmi.com +rojewel.com +rokid.com +rokidcdn.com +rokub.com +roland-china.com +rollupjs.com +rom100.com +romeng.men +romhui.com +romjd.com +romleyuan.com +romphone.net +romzhijia.net +romzhushou.com +romzj.com +roncoo.com +rong.io +rong24.com +rong360.com +ronganjx.com +rongba.com +rongbiz.com +rongbiz.net +rongbst.com +rongcfg.com +rongchain.com +rongchenjx.com +rongdewang.com +rongechain.com +ronghope.com +ronghub.com +ronghuiad.com +ronghuisign.com +rongji.com +rongjinsuo.com +rongledz.com +ronglianmeng.net +rongmayisheng.com +rongnav.com +rongroad.com +rongshiedu.com +rongshu.com +rongshuxia.com +rongstone.com +rongtai-china.com +rongyao666.com +rongyi.com +rongyiju.com +rongyitou.com +rongzhitong.com +rongzhongleasing.com +rongzhongloan.com +rongzi.com +rongzibei.com +ronnylove.com +rontgens.com +roobo.com +roodoo.net +roof325.com +roogames.com +room365.com +roomse.com +roosur.com +root-servers.world +root1111.com +rootcloud.com +rootguide.org +rootk.com +rootop.org +rootopen.com +rootzhushou.com +roouoo.com +roov.org +ror-game.com +rorotoo.com +ros-lab.com +rosabc.com +rosaryshelties.com +rosecmsc.com +rosedata.com +rosefinchfund.com +roshanca.com +rosinson.com +rossoarts.com +rossoarts.net +rossroma.com +roswiki.com +roszj.com +rotom-x.com +rouding.com +rouju.org +roukabz.com +round-in.com +roundexpo.com +roundyule.com +roushidongwu.com +rousin.com +router.fun +router.tw +routeryun.com +routewize.com +rouwen.net +rouzip.com +rowcan.com +royalpay.com.au +royole.com +royotech.com +rp-pet.com +rpg99.com +rpgmoba.com +rpjrb.com +rpo5156.com +rqi17.com +rqjrb.com +rqshbp.net +rqz1.com +rr-sc.com +rr.tv +rr365.com +rrb365.com +rrbay.com +rrbts.org +rrbus.com +rrcimg.com +rrcp.com +rrd.me +rrdaj.com +rree.com +rrfed.com +rrfmn.com +rrhuodong.com +rrimg.com +rritcn.com +rrjc.com +rrjump.com +rrkf.com +rrkvip.com +rrky.com +rrkyw.com +rrl360.com +rrliuxue.com +rrmeiju.com +rrmj.tv +rrppt.com +rrr.me +rrrdai.com +rrrhteam.com +rrrrdaimao.com +rrs.com +rrscdn.com +rrsub.com +rrsub.net +rrswl.com +rrting.net +rrtsangel.com +rrty.tv +rruu.com +rruu.net +rrxh5.cc +rrxiu.cc +rrxiu.me +rrxiu.net +rrys.tv +rrzuji.com +rrzxw.net +rs05.com +rs485.net +rscala.com +rscloudmart.com +rsdgd.com +rsdwg.com +rsdyy.com +rsk26.com +rsng.net +rso.wang +rsp.ink +rss.ink +rsscc.com +rssmeet.com +rssmv.com +rsty77.com +rsw163.com +rsxc01.com +rszfg.com +rt-blend.com +rt-thread.io +rt-thread.org +rtb5.com +rtbasia.com +rtcdeveloper.com +rtfcode.com +rtfcpa.com +rtfund.com +rthpc.com +rtjxssj.com +rtmap.com +rtrrx.com +rtsac.org +rtxapp.com +rtxplugins.com +rtxuc.com +ru4.com +ruaimi.com +ruandy.com +ruanfujia.com +ruanhaiqin.com +ruanjiandown.com +ruanjianwuxian.com +ruankao.com +ruanko.com +ruanman.net +ruanmei.com +ruanmou.net +ruanno1.com +ruantiku.com +ruanwen.la +ruanwenclass.com +ruanwenkezhan.com +ruanwenlala.com +ruanyuan.net +rubaoo.com +ruby-china.com +rubybrides.com +rubyconfchina.org +rubyer.me +ruchee.com +rueinet.com +rufei.ren +rufengda.com +rufengso.net +ruffood.com +rufida.com +rugao35.com +ruguoapp.com +ruhnn.com +rui2.net +ruian.com +ruibai.com +ruibaixiang.com +ruichuangfagao.com +ruicitijian.com +ruidaedu.com +ruideppt.com +ruideppt.net +ruidongcloud.com +ruidroid.xyz +ruiguandental.com +ruiguanrobot.com +ruihaimeifeng.com +ruihuo.com +ruiii.com +ruijienetworks.com +ruijiery.com +ruijinintl.com +ruikesearch.com +ruiqicanyin.com +ruiruigeblog.com +ruiscz.com +ruisizt.com +ruisky.com +ruitairt.com +ruiwant.com +ruiwen.com +ruixing.cc +ruixuesoft.com +ruixueys.com +ruixunidc.com +ruixunidc.net +ruiyang-ra.com +ruiyunit.com +ruizhiy.com +ruizong-gz.com +rujiazg.com +ruketang.com +rulejianzhan.com +rulesofsurvivalgame.com +rum8.perf.linkedin.com +runcmd.com +runcome.com +runde666.net +rundejy.com +rundongex.com +runexception.com +runfox.com +runhe.org +runhuayou.biz +runidc.com +runjf.com +runker.net +runker.online +runmang.com +runnar.com +runnerbar.com +runningcheese.com +runningls.com +runnoob.com +runoob.com +runpho.com +runsisi.com +runsky.com +runtimeedu.com +runtimewh.com +runtonggroup.com +runtronic.com +runwith.cc +runzhize.com +runzi.cc +ruochu.com +ruodian360.com +ruofan.me +ruokuai.com +ruoren.com +ruoshui.com +ruoxia.com +ruoyi.vip +ruozedata.com +ruqimobility.com +rushb.net +rushivr.com +rushmail.com +rusinge.com +russellluo.com +rustdesk.com +ruthus.com +ruubypay.com +ruuxee.com +ruvar.com +ruvisas.com +ruyahui.com +ruyig.com +ruyile.com +ruyimjg.com +ruyiqiming.com +ruyishi.com +ruyo.net +ruyu.com +ruyuexs.com +ruzw.com +rv2go.com +rvfdp.com +rvmcu.com +rwtext.com +rwxqfbj.com +rwxwl.com +rxbj.com +rxdsj.com +rxgl.net +rxhui.com +rxian.com +rxjhbaby.com +rxjt.co +rxjy.com +rxshc.com +rxys.com +ryanbencapital.com +ryanc.cc +ryanyuanao.xyz +rybbaby.com +ryc360.com +rydth5.com +ryeex.com +ryjiaoyu.com +rylinkworld.com +rymooc.com +rypeixun.com +rysdline.com +rytad.com +rytx.com +ryweike.com +rywsem.com +ryxxff.com +ryyyx.com +rz.com +rz31.com +rzcdc.com +rzcdz2.com +rzfanyi.com +rzhuaqiangu.com +rzlib.net +rzline.com +rzok.net +rzszp.com +rzx.me +rzyjyl.com +s-02.com +s-dom.net +s-ns.com +s-reader.com +s-sgames.com +s-ts.net +s.mzstatic.com +s06661.com +s135.com +s163.com +s1979.com +s1craft.com +s2cinc.com +s4g5.com +s4yd.com +s5217.net +s575.com +s5tx.com +s60sky.com +s6qq.com +s72c.com +s8dj.com +s8j.com +s8x1.com +s8xs.com +s936.com +s9523.com +s955s.com +s95r.com +s98s2.com +s9jk.com +s9yun.com +sa-ec.com +sa-log.com +sa20.com +saas88.com +saasddos.com +saasruanjian.com +saasv.com +saaswaf.com +saayaa.com +sablog.net +sac-china.com +sacdr.net +sact-digital.com +sae-china.org +saebbs.com +safebrowsing.googleapis.com +safecenter.com +safehoo.com +safejmp.com +safenext.com +safestdns.com +safewiki.org +sagetrc.com +sagocloud.com +sahcqmu.com +saibeiip.com +saibeinews.com +saibo.com +saic-gm.com +saicdt.com +saicgmac.com +saicgroup.com +saicjg.com +saicmaxus.com +saicmobility.com +saicmotor.com +saicyun.com +saidawang.com +saiday.com +saier.me +saifou.com +saifutong.com +saigao.fun +saihuahong.com +saihuitong.com +saike.com +saikr.com +sail.name +sail2world.com +saili.science +sailingyun.com +saimogroup.com +sainacoffee.com +saintcos.hk +saintic.com +saipujianshen.com +saipujiaoyu.com +sairaicc.com +sairui020.com +saite-xdc.com +saitjr.com +saiyouedu.net +saiyunyx.com +sakway.com +saladns.com +salasolo.com +saleoilpaintings.com +salogs.com +salomerebecca.com +salonglong.com +salongweb.com +salonwith.com +salute88.com +samanlehua.com +samebar.com +samhotele.com +saming.com +samirchen.com +samsunganycar.com +samsungfiberoptics.com +samsunghealthcn.com +samsungyx.com +samwell.net +samyuong.com +samzhe.com +san-health.net +san-sheng.net +sanban18.com +sancanal.com +sanctpalace.com +sancunrenjian.org +sandaha.com +sandai.net +sandaile.com +sandbean.com +sandcomp.com +sandeepin.com +sandianzhong.com +sandingtv.com +sandrarene.com +sandslee.com +sandsresortsmacao.com +sanduoyun.com +sandworld.net +sandwych.com +sandy2.com +sanen.online +sanfen.me +sanfen666.com +sanfengyun.com +sanfo.com +sanfu.com +sangfor.com +sangfor.net +sangfor.org +sangfordns.com +sangongzai.net +sangsir.com +sanguobbs.com +sanguocard.com +sanguoh5.com +sanguohero.com +sanguosha.com +sanguozz.com +sanhao.com +sanhaofushi.com +sanhaostreet.com +sanhe-scale.com +sanhong.org +sanhucidiao.cc +sanjiang.com +sanjiangpm.com +sanjiaoniu.com +sanjiasoft.com +sanjieke.com +sanjinjiake.com +sanjun.com +sankaijian.com +sankgo.com +sankougift.com +sankuai.com +sanlan123.com +sanlangwang.ink +sannongejia.com +sanpowergroup.com +sanpuzhiyao.com +sanqin.com +sanqindaily.com +sanqinyou.com +sanqiu.org +sanquan.com +sansancloud.com +sansanyun.com +sanshengcao.com +sansky.net +santaihu.com +santelvxing.com +santezjy.com +santiwang.com +santiyun.com +santongit.com +santostang.com +santsang.com +sanweimoxing.com +sanweiyiti.org +sanwen.com +sanwen.net +sanwen8.com +sanwer.com +sanxia-china.com +sanxiamarathon.com +sanxiapharm.com +sanxige.com +sanxinbook.com +sanxiw.com +sanxu88.com +sanya100.com +sanyachloe.com +sanyafz.com +sanyamotor.com +sanyanblockchain.com +sanyaotc.com +sanyastar.com +sanyatour.com +sanye.cx +sanyexin.com +sanygroup.com +sanyhi.com +sanyibao.com +sanyipos.com +sanyoutj.com +sanyuanbaobao.com +sanyuantc.com +sanyuesha.com +sanzang5.com +sanzang5.net +sanzangwang.com +sanzei.com +sao-ma.com +sao.so +saohu191.com +saoic.com +saomadang.com +saopu.com +saoso.com +saowen.net +sap-nj.com +sap1000.com +sap1200.com +sapjx.com +saraba1st.com +sarft.net +sass.hk +sasschina.com +sasscss.com +sasseur.com +satrip.com +saturnbird.com +saveen.com +savokiss.com +savouer.com +sawenow.com +sayabear.com +sayloving.com +saywash.com +sb1152.com +sbanfu.com +sbanzu.com +sbc-mcc.com +sbc398.com +sbc665.com +sbeira.com +sbgl.net +sbh15.com +sbiquge.com +sbk-h5.com +sbkh5.com +sbkk8.com +sblunwen.com +sbo8.com +sbr-info.com +sbrj.net +sbt123.com +sbwml.net +sbwxz.com +sbzj.com +sc-jiaoyu.com +sc-vis.com +sc.gg +sc115.com +sc119.cc +sc157.com +sc1588.com +sc1618.com +sc2c.com +sc2car.com +sc2p.com +sc2yun.com +sc666.com +sc823.com +sc946.com +scacm.com +scaffi.com +scala.cool +scanv.com +scarbbs.com +scarclinic-cn.com +scatwang.com +scbaidu.com +scbao.com +scbxmr.com +scbyx.net +scbz.org +scbz120.com +scc.ssacdn.com +scccyts.com +sccin.com +scclssj.com +sccm.cc +sccnn.com +sccq.net +sccsfxdq.com +sccts.com +sccwz.com +scdbzzw.com +scdn1e8v.com +scdnf80r.com +scdng.com +scdng8js.com +scdnj3in.com +scdnl3bk.com +scdnl9cm.com +scdnmogt.com +scdno5zl.com +scdnrvy1.com +scdnucc5.com +scdnurea.com +scdnygb7.com +scdri.com +scdzmw.com +scedu.net +sceeo.com +scfaying.com +scflcp.com +scflgc.com +scfzbs.com +scgc.net +scgckj.com +scgglm.com +scgh114.com +scghseed.com +scgis.net +scgra.com +scgzzg.com +schengle.com +schezi.com +schneidercampus.com +scholarmate.com +scholat.com +schoolgater.com +schove.com +schrb.com +schwarzeni.com +schwr.com +sci-hub.ee +sci-hub.ren +sci-hub.shop +sci-hub.tf +sci99.com +scichina.com +scicn.net +scidict.org +sciencemeta.com +scientrans.com +scies.org +scifans.com +scigy.com +scihubtw.tw +sciimg.com +scijuyi.com +scimao.com +scinno-cn.com +scinormem.com +scipaper.net +sciping.com +sciscanpub.com +scisky.com +scistor.com +scitycase.com +sciyard.com +sciyon.com +scjhyq.com +scjjrb.com +scjtaq.com +scjyzb.net +scjzjyjc.com +scjzy.net +sclf.org +sclinktech.com +scmenhu.com +scmeye.com +scmor.com +scmroad.com +scmsky.com +scmttec.com +scmylike.com +scnjnews.com +scntv.com +sco-marathon.com +scodereview.com +scoee.com +scommander.com +scoregg.com +scp-wiki-cn.org +scpgroup.com +scpic8.com +scplt.com +scqcp.com +scrcu.com +scrdzf.com +scrmtech.com +scrsw.net +scrtf.com +scrumcn.com +scscms.com +scsdns.com +scsdzxh.org +scsgk.com +scsjnxh.org +scsstjt.com +sctaixin.com +sctbc.net +sctcd.com +sctobacco.com +sctv.com +sctvf.com +scufida.com +scujj.com +scusec.org +scutcm.com +scutde.net +scutef.org +scutsee.com +scuvc.com +scw123.com +scw98.com +scweixiao.com +scwj.net +scwlylqx.com +scwy.net +scxdf.com +scxnyl.com +scxyoa.com +scycxh.com +scymob.com +scyongqin.com +scytyy.net +sczg.com +sczgzb.com +sczj.org +sczl123.com +sczlb.com +sczlcts.com +sczprc.com +sczshz.net +sczsie.com +sczsxx.com +sczw.com +sczxmr.com +sczycp.com +sczyh30.com +sd-blb.com +sd-cellbank.com +sd-ex.com +sd-pic.com +sd-sma.com +sd-xd.net +sd-ysjt.com +sd11185.com +sd173.com +sd235.net +sd5g.com +sda1.dev +sdailong.com +sdaoyou.com +sdbao.com +sdbeta.com +sdbykqn.com +sdbys.com +sdca119.com +sdchem.net +sdchina.com +sdchn.com +sdcqjy.com +sdctech.net +sdcydl.com +sdd17.com +sddagongrubber.com +sddcp.com +sddermyy.com +sddeznsm.com +sddh.online +sddifan.com +sddlys.com +sde6.com +sdebank.com +sdeca.org +sdecloud.com +sdenews.com +sdeqs.com +sderp.com +sdewj.com +sdey.net +sdfcp.com +sdfcxw.com +sdfhyl.com +sdfll.com +sdfmgg.com +sdg-china.com +sdgdxt.com +sdgh.net +sdgho.com +sdgt1985.com +sdgude.com +sdguguo.com +sdguoxinqz.com +sdgw.com +sdgwy.org +sdhangmoguan.com +sdhk2008.com +sdhoukang.com +sdhsie.com +sdhtws.com +sdhuxiji.com +sdhxnykj.com +sdiandian.com +sdiborn.com +sdicin.com +sdicpower.com +sdicvc.com +sdifenzhou.com +sdiread.com +sditol.com +sdj-tech.com +sdjcw.com +sdjinlan.com +sdjinwang.com +sdjnwx.com +sdjtcx.com +sdjushu.com +sdkclick.com +sdkclickurl.com +sdklh.com +sdknext.com +sdksrv.com +sdlangkun.com +sdlgzy.com +sdlinqu.com +sdlldj.com +sdlocw.com +sdlongli.com +sdlvxing.com +sdly35.com +sdmic.com +sdmyzsgs.com +sdnci.com +sdnfv.org +sdnjsbc.com +sdnlab.com +sdnxs.com +sdnysc.com +sdo-shabake.com +sdo.com +sdodo.com +sdongpo.com +sdoprofile.com +sdpku.com +sdpmcnc.com +sdqifushebei.com +sdqlkr.com +sdqmy.com +sdqoi2d.com +sdrcu.com +sdsgwy.com +sdshshb.com +sdshulifang.com +sdshyl.com +sdsitong.com +sdsmefina.com +sdsszt.com +sdtdata.com +sdtsrf.com +sdtuomei.com +sdtvjiankang.com +sdtxmq.com +sduod.com +sdutacm.org +sdv8dvj.com +sdwanping.com +sdwdxl.com +sdwenlian.com +sdwgyy.com +sdx.microsoft.com +sdxczn.com +sdxietong.com +sdxitong.com +sdxjpc.com +sdxvisa.com +sdxwy168.com +sdxyxhj.com +sdxzt.com +sdyinshuachang.com +sdyizhibi.com +sdylsc.com +sdyndcjx.com +sdynr.com +sdyuanbao.com +sdyy.org +sdyyebh010.com +sdyypt.net +sdzbcg.com +sdzdmjg.com +sdzhidian.com +sdzk.co +se77en.cc +se7enzone.com +sea-group.org +sea-gullmall.com +sea789.com +seagulllocker.com +seaheart.cc +sealand-scan.com +sealand100.com +sealeadbattery.com +sealyun.com +seamanhome.com +seandou.com +seaning.com +seanxp.com +seanya.com +seanyxie.com +seapard.com +search1990.com +search616.com +searcheasy.net +searchforit8.com +searchpstatp.com +searchtb.com +seasouthgy.com +seassoon.com +seastarasset.com +seasungame.com +seavo.com +seayao.net +seayee.com +sebastianblade.com +sebigdata.com +seblong.com +sebug.net +sec-wiki.com +secaibi.com +secange.com +secbug.cc +secbug.org +secdoctor.com +secdriver.com +secfree.com +secisland.com +secist.com +seclover.com +secoo.com +secooart.com +secooimg.com +secpulse.com +secretgardenresorts.com +secretmine.net +secrss.com +secrui.com +secsilo.com +sectigochina.com +secu100.net +secun.com +secure.globalsign.com +security.cdnetworks.com +securitycn.net +securityfrontline.org +securitypaper.org +secutimes.com +secwk.com +secwx.com +sed3.com +see-far.com +see-source.com +seea.red +seeapp.com +seeb.red +seebug.org +seebyleegee.com +seecmedia.net +seed-china.com +seedasdan.org +seeddsp.com +seedit.cc +seedit.com +seedland.cc +seedsufe.com +seefarger.com +seegif.com +seek114.com +seekbetter.me +seekchem.com +seekfunbook.com +seekonly.net +seekpetm.com +seekplay.online +seelvyou.com +seemmo.com +seemoread.com +seentao.com +seer520.com +seersee.com +seeseed.com +seeshentech.com +seesoso.com +seetao.com +seewellintl.net +seewo.com +seewoedu.com +seexpo.com +seeyii.com +seeyon.com +seeyonoversea.com +seeyouhealth.com +seeyouyima.com +seezy.com +sefonsoft.com +segahome.com +segmentfault.com +segmentfault.net +segotep.com +segwayrobotics.com +sehuiyao34.com +sehuiyao49.xyz +sehy66.com +seidns.com +seinfeldtv.com +seisman.info +sejai.com +sejie16.xyz +sekede.net +sekorm.com +selboo.com +selfinflatingballoon.com +selfservicechina.com +selinuxplus.com +sell66.com +sellingexpress.net +selypan.com +sem123.com +semeye.com +semgg.com +semgz.com +semicic.com +semidata.info +semiee.com +semielite.com +semiinsights.com +semiway.com +semlinker.com +sempk.com +semplus.org +semptian.com +semvseo.com +sencdn.com +sencha-china.com +send2boox.com +senda360.com +sendbp.com +sendcloud.net +sendcloud.org +sendocn.com +sendong.com +sends.cc +senenwood.com +senfengg.com +sengguo.com +senguo.cc +senguo.com +sengxian.com +seniverse.com +senleo.com +senlianshop.com +senlujj.com +senmi88.com +senmiaoschool.com +senorsen.com +senra.me +sensate.hk +sense-hk.com +senselock.com +senseluxury.com +sensertek.com +sensetime.com +senseyun.com +sensorsdatavip.com +sensorshome.com +senszx.com +sentaijs.com +sentetuwen.com +sentsin.com +sentuxueyuan.com +senyuanhi.com +senyuanzhonggong.com +seo-6.com +seo-820.com +seo-wuhan.com +seo.tm +seo123.net +seo628.com +seo8.org +seo8o.com +seoccc.com +seocun.com +seocxw.com +seodaniel.com +seofangfa.com +seohet.com +seohuizhou.com +seoniao.com +seopath.net +seopre.com +seosn.com +seosrx.net +seosteven.com +seotcs.com +seowdw.com +seowenda.net +seowhy.com +seoxiaosai.com +seoxuetang.com +seoyu.net +seozhuanjia.com +seozyw.com +sepact.com +sepri.com +septinn.com +septwolves.com +sepu.net +sequ.biz +sequoiadb.com +sercomm.com +serholiu.com +servasoft.com +serverless.ink +serversad.com +servicemesher.com +servicewechat.com +servingcdn.com +sesamestreetenglishchina.com +seseacg.com +sesier.com +sesubox.com +seteuid0.com +seuic.com +sevdot.com +seven7777.eu +sevencdn.com +sevenseas-china.com +sevnday.com +sewise.com +sexytea2013.com +sf-airlines.com +sf-bearing.com +sf-card.com +sf-companion.com +sf-dsc.com +sf-express.com +sf-financial.com +sf-pay.com +sf-saas.com +sf-zs.net +sf007.com +sf024.com +sf6710.com +sfacg.com +sfantree.com +sfb-100.com +sfbest.com +sfccn.com +sfcdn.org +sfddj.com +sfgj.org +sfgy.org +sfht.com +sfhxdfgl.com +sfile2012.com +sfitcdp.com +sfjdml.com +sfkedu.com +sfkj.vip +sflep.com +sflqw.com +sfmianhua.com +sforest.in +sfpgmk.com +sfplay.net +sfwxf.com +sfyb.com +sfygroup.com +sfystatic.com +sfyy120.com +sfzj123.com +sg-micro.com +sg.work +sg120.com +sg169.com +sg560.com +sg668.com +sg8.cc +sg91.net +sg92.com +sgamer.com +sgcctd.com +sgcctop.com +sgchinese.com +sgchinese.org +sgcn.com +sgcyjy.com +sgda.cc +sgdmobile.com +sge.sh +sghnny.com +sgjwb.com +sgllk.com +sglxcn.com +sgmlink.com +sgmwlu.com +sgmwsales.com +sgnet.cc +sgnongkang.com +sgou.com +sgpy08.com +sgshero.com +sgsxw.com +sguo.com +sgwk.info +sgyaogan.com +sgzhee.com +sgzm.com +sh-3ai.com +sh-an.com +sh-arpm.com +sh-aurora.net +sh-baolai.com +sh-cyclerace.org +sh-deem.com +sh-dent.com +sh-dls.com +sh-eastwes.com +sh-ekeyboard.org +sh-gmc.com +sh-henian.com +sh-hilead.com +sh-holiday.com +sh-huifeng.com +sh-hywin.com +sh-investment.net +sh-ryjx.com +sh-service.com +sh-surface.com +sh-tangfeng.com +sh-warwick.com +sh-xinao.com +sh-yajia.com +sh-ybxhz.com +sh-yuy.com +sh-zbfm.com +sh.com +sh112.com +sh1122.com +sh414.com +sh5y.com +sh7.com +sh85gk.com +sh8y.com +sh9130.com +sh9yuan.com +sha-cun.com +sha-steel.com +sha2255.com +sha2299.com +sha2777.com +sha7000.com +sha990.com +shaanxirk.com +shabc.net +shaca.net +shachong8.com +shacumox.com +shaddockfishing.com +shadow-forum.com +shadowedu.net +shadowq.com +shaduizi.com +shafa.com +shafaguanjia.com +shahaizi.com +shaidc.com +shailema.com +shairport.com +shaisino.com +shaiwang.org +shaizai.com +shallserve.cc +shamiao.com +shan-san.com +shan.com +shanai365.com +shanbay.com +shanbotv.com +shanda960.com +shandagames.com +shandaz.com +shandianhuifu.com +shandianpan.com +shandianyidai.com +shandjj.com +shandong-energy.com +shandongair.com +shandonghaiyang.com +shandongjuli.com +shandongruixiang.com +shandongsannong.com +shandongyunpin.com +shandw.com +shang-tai.com +shang0898.com +shang168.com +shangbaolai.com +shangbiao.com +shangbw.com +shangc.net +shangcaifanyi.com +shangdandan.com +shangdaotong.com +shangdiguo.com +shangdingxin.com +shangdixinxi.com +shangdu.com +shangdu.info +shangdumall.com +shangduo-ihome.com +shangeedu.com +shangeseo.com +shangfayuan.com +shangfox.com +shanggame.com +shanghai-air.com +shanghai-channel.com +shanghai-electric.com +shanghai-intex.com +shanghai-map.net +shanghaiairport.com +shanghaiboji.com +shanghaicaiyi.com +shanghaichannel.net +shanghaiconcerthall.org +shanghaicup.com +shanghaidaily.com +shanghaidisneyresort.com +shanghaiferry.com +shanghaihino.com +shanghaiiot.org +shanghaik11.com +shanghaimart.com +shanghaimuseum.net +shanghainb.com +shanghaining.com +shanghaipower.com +shanghairanking.com +shanghairc.com +shanghairemax.com +shanghairolexmasters.com +shanghaishuangyanpi.com +shanghaitianqi114.com +shanghaitower.com +shanghaixs.com +shanghaiyueshang.com +shanghaizaojia.com +shanghaizhenji.com +shangji998.com +shangjialianpage6.win +shangjilian.com +shangjinuu.com +shanglv51.com +shangmayuan.com +shangmeijiu.com +shangpin.com +shangpintong.com +shangpo.com +shangpusou.com +shangpuzhan.com +shangqiulvxing.com +shangquanquan.com +shangque.com +shangrao-marathon.com +shangshaban.com +shangshangke.me +shangshi360.com +shangshici.com +shangshu.cc +shangtao.net +shangtao360.com +shangtianapp.com +shangtongda.com +shanguansoft.com +shangusec.net +shangwb.com +shangwu168.com +shangxueba.com +shangyejihua.com +shangyekj.com +shangyeluoji.com +shangyexin.com +shangyexinzhi.com +shangyouze.com +shangyubank.com +shangyuer.com +shangzhang.com +shangzhibo.tv +shanhaizhanji.com +shanhe.cc +shanhu99.com +shanhuojiaoyi.com +shanhuu.com +shanhuxueyuan.com +shanjinqh.com +shankejingling.com +shanliao.com +shanlink.com +shanliulian.com +shanmao.me +shannon-sys.com +shannonai.com +shanp.com +shanpow.com +shanqb.com +shanqu.cc +shanse8.com +shanshoufu.com +shantoumama.com +shanweinews.net +shanxicloud.net +shanxidiy.com +shanximuseum.com +shanxiol.com +shanxiumao.com +shanxiuxia.com +shanxuenet.com +shanyemangfu.com +shanyetang.com +shanyeyuanliang.com +shanyhs.com +shanyishanmei.com +shanyougame.com +shanzhaiwang.net +shanzhen.com +shanzhen.me +shanzhonglei.com +shaodts.net +shaoerbc.org +shaoerbianchengwang.com +shaogood.com +shaoke.com +shaolintagou.com +shaolinwy.com +shaoqun.com +shaoshilei.com +shaoxianchong.com +shaoxing330.com +shaoyee.com +shaozi.info +shaozimama.com +shaphc.org +shaqing.com +shaqm.com +share1diantong.com +share2dlink.com +share2uu.com +sharecharger.com +sharecore.net +sharedaka.com +shareditor.com +sharegog.com +shareinstall.com +shareinstall.net +sharejs.com +shareoneplanet.org +sharetao.com +sharetome.com +sharetrace.com +sharevdi.com +sharewaf.com +sharewithu.com +sharing-water.com +sharkselection.com +sharonroalind.com +sharpbai.com +sharpmobi.com +shartu.com +shawdo.com +shawdubie.com +shawnzeng.com +shayangnala.com +shayugg.com +shayujizhang.com +shbaimeng.com +shbangde.com +shbars.com +shbbq.net +shbear.com +shbicycle.com +shbj.com +shbnrj.com +shbobo.com +shbund18h.com +shbyer.com +shcaoan.com +shcas.net +shcc-horizon.com +shccig.com +shccineg.com +shccio.com +shcell.org +shchengsan.com +shchhukou.com +shchjj.com +shclearing.com +shcljoy.com +shcngz.com +shcs2010.com +shcsdq.com +shcsup.com +shcxzxgs.com +shcymc.com +shdctp.com +shdjt.com +shdrkj.com +shdsd.com +shdzby168.com +shdzfp.com +she.vc +shebao.net +shebao5.com +shebao520.com +shebaotong.com +shebaoyizhan.com +shebiaotm.com +sheboo.com +sheca.com +shedejie.com +shedoor.com +shedunews.com +sheencity.com +sheepmats.com +sheepsun.com +sheetgit.com +shehuo.me +sheinet.com +sheizhiwo.com +sheji.com +shejibao.com +shejiben.com +shejidaren.com +shejigh.com +shejijia.com +shejijingsai.com +shejiku.net +shejipi.com +shejiqun.com +shejis.com +shejiwo.net +shejiye.com +shejizhaji.com +sheketiandi.com +shekou.com +shelive.net +shellsec.com +sheluyou.com +shelwee.com +shen-hua.com +shenanhui.com +shenbao.org +shenbiedu.com +shenbinghang.com +shenchai.com +shenchuang.com +shencut.com +shendoow.com +shendu.com +shendugho.com +shenduliaojie.com +shenduwin10.com +shenduwin8.com +sheng-huo.org +shengangzc.com +shengbangshenghua.com +shengbaoluo.com +shengbenzixun.com +shengcai.net +shengcaijinrong.com +shengdan.com +shengdaprint.com +shengdianhuadg.com +shengdianhuadk.com +shengejing.com +shengfanwang.com +shenghan.org +shenghefilms.com +shengheplastic.com +shenghui56.com +shenghuojia.com +shenghuorili.com +shenghuowo.com +shenghuozhe.net +shengjing360.com +shengjoy.com +shengli.com +shengming.net +shengminsy.com +shengpay.com +shengqian51.com +shengqianlianmeng.net +shengqugames.com +shengsci.com +shengtaireli.com +shengtian.com +shengtongedu.com +shenguang.com +shengwu01.com +shengxiao.net +shengxin.ren +shengxinquan.net +shengyeji.com +shengyidi.com +shengynan.com +shengzehr.com +shengzhaoli.com +shengzhouyigou.com +shenhaiedu.com +shenhexin.com +shenhexin.vip +shenhua.cc +shenhuagushi.net +shenjian.io +shenkexin.com +shenkong.net +shenlanbao.com +shenliyang.com +shenma.com +shenmadsp.com +shenmamov.cc +shenmayouxi.com +shenmou.com +shenmufeiyang0912.com +shenou.com +shenpinwu.com +shenqhy.com +shenqibuy.com +shenquol.com +shenrennn.com +shenrongda.com +shenruan.org +shenshi777.com +shenshiads.com +shenshouwl.com +shenshouyouxi.com +shenshu.info +shenshuo.net +shenshuw.com +shensuantang.com +shentongdata.com +shenweimicro.com +shenweisupport.com +shenwud.com +shenxianhua.com +shenxianyu.cc +shenxingnet.com +shenyangoffice.com +shenyecg.com +shenyehd.com +shenyequ.com +shenyou.tv +shenyunlaw.com +shenzan.com +shenzaole.com +shenzhekou.com +shenzhen-world.com +shenzhenair.com +shenzhenmarathon.org +shenzhenshouxin.com +shenzhenshui.com +shenzhentong.com +shenzhentour.com +shenzhenware.com +shepai1688.com +shequfu.com +shequfu.net +shequnguanjia.com +sherc.net +sheshui.com +sheui.com +sheup.net +shevdc.org +shexiannet.com +shexun.net +sheyi8.com +sheying001.net +sheyingtg.com +shezhan88.com +shfangshui.com +shfcw.com +shfdyk.com +shfft.com +shfilmmuseum.org +shfinancialnews.com +shfq.com +shfrp.com +shftth.com +shgaaz.com +shgao.com +shgaoxin.net +shgci.com +shgjj.com +shgsic.com +shgskj.com +shgyg.com +shhanqiao.com +shhbm.com +shheywow.com +shhgzf.com +shhonghu.com +shhorse.com +shhssts.com +shhuangding.com +shhuayi.com +shhuihai.com +shhuu.com +shhws.com +shhxf119.com +shhyhy.com +shhzcj.com +shi-ci.com +shi-ming.com +shi78.com +shibaihui.org +shibeike.com +shibeiou.com +shibor.org +shicai.biz +shicaidai.com +shicaids.com +shichangbu.com +shichuedu.com +shici.store +shicishe.com +shiciting.com +shiciyun.com +shida66.com +shidaedu.vip +shidaiyuhu.com +shidapx.com +shidastudy.com +shidi.org +shidiao136.com +shidiao18.com +shidu.com +shidz.com +shielday.com +shifen.com +shifendaojia.com +shifeng.com +shifenyuedu.com +shigaoshan.com +shigoog.com +shiguangkey.com +shiguangxu.com +shiguangyouju.com +shiguanvip.com +shij001.com +shijiala.com +shijian.cc +shijianla.com +shijiaok.com +shijibenteng.com +shijicloud.com +shijie2.com +shijiebang.com +shijiebao.vip +shijieditu.net +shijiehuarenbao.com +shijiemap.com +shijiemingren.com +shijieshangzuihaodeyuyan.com +shijiexia.com +shijieyouxi.com +shijieyunlian.com +shijihr.com +shijihulian.com +shijiong.com +shijiudao.com +shijuba.com +shijue.me +shijueju.com +shikang.net +shikee.com +shiku.co +shilawyer.com +shileizcc.com +shilian.com +shilian.net +shilipai.net +shilitie.net +shiliupo.com +shimano-fishchina.com +shiminjiaju.com +shimo.im +shimo.run +shimodev.com +shimolife.com +shimonote.com +shimonote.net +shimowendang.com +shineenergy.com +shinelink.vip +shinelon.com +shinemediaworld.com +shinerayad.com +shineu.com +shineway.com +shinewing.com +shineyie.com +shinianonline.com +shiningmidas.com +shinsoukun.com +shinybbs.info +shinycg.com +shinyway.org +shiove.com +ship56.net +shipengliang.com +shipfinder.com +shipgce.com +shiphr.com +ships66.com +shipsc.org +shiptux.com +shipuxiu.com +shipxy.com +shiqi.me +shiqichan.com +shiqichuban.com +shiqidu.com +shiqu.com +shiqumao.com +shiqutech.com +shirannegar.com +shirleyruby.com +shishagame.com +shishangfengyun.com +shishike.com +shisongya.com +shitac.com +shitianxia.vip +shitibaodian.com +shitongaf.com +shitou.com +shitouboy.com +shitourom.com +shiwan.com +shiwangyun.com +shiweisemi.com +shiwenhua.org +shixian.com +shixiaojin.com +shixibiaozhi.com +shixijob.net +shixin.com +shixingceping.com +shixinhua.com +shixiseng.com +shixiu.net +shixiu.org +shixun.co +shixunsuda.com +shixunwl.com +shiyan.com +shiyanbar.com +shiyanbar.net +shiyanbbs.com +shiyanhospital.com +shiyanjia.com +shiyanlou.com +shiye.org +shiyebian.net +shiyebian.org +shiyi.co +shiyi11.com +shiyibao.com +shiyicunxiao.com +shiyiyx.com +shiyongjun.biz +shiyousan.com +shiyu.pro +shiyue.com +shiyuegame.com +shiyunlaile.com +shizhuonet.com +shjdc.com +shjdceo.com +shjgu.com +shjgxy.net +shjh120.com +shjhjc.com +shjinting.com +shjob.work +shjoycity.com +shjsit.com +shjt.net +shjxfc.com +shjyou.com +shkegai.net +shkkl.com +shkuangjing.com +shkypump.com +shl56.com +shlandscape.com +shlawserve.com +shlcd.com +shld.com +shlhwlkj.com +shlll.net +shlmth.com +shlpk.com +shlungu.com +shmama.net +shmarathon.com +shmds.com +shmedia.tech +shmet.com +shmetro.com +shmiaosai.com +shmljm.com +shmnyy.com +shmog.org +shmulan.com +shmusic.org +shmxcz.org +shmy365.com +shmyapi.com +shmylike.co +shmylike.com +shnaer.com +shnb12315.com +shnczq.org +shneweye.com +shnosbbs.com +shnsyh.com +shnti.com +shoasis.net +shobserver.com +shockerli.net +shoegaze.com +shoeshr.com +shojo.cc +shokan.org +shokw.com +shomyq.com +shoot.photo +shootmedia.net +shop.globalsign.com +shop2255.com +shop2cn.com +shopbackdrop.com +shopbop.ink +shopchaoren.com +shoperm.com +shopin.net +shopj.net +shopjyh.com +shoplineimg.co +shopmaxmb.com +shopnc.net +shoprobam.com +shopxo.net +shopyy.com +shortof.com +shoubaodan.com +shoubiaobaojia.com +shouce.ren +shouce365.com +shouchaobao.com +shoucheng123.com +shoucw.com +shoudayy.net +shoudian.com +shoudian.info +shoudian.org +shouduit.com +shoudurc.com +shoufm.com +shougongke.com +shouhoubang.com +shouji.com +shouji10086.com +shouji315.org +shouji56-img.com +shouji56.com +shoujibao.net +shoujiduoduo.com +shoujihuifu.com +shoujikanshu.cc +shoujimi.com +shoujitouping.com +shoujiwan.com +shouliwang.com +shouluo.me +shoumizhibo.com +shouqianba.com +shouqiev.com +shouqu.me +shoutao.biz +shouxi.com +shouxi88.com +shouxibet.com +shouxieti.com +shouxintec.com +shouyao.com +shouyeren.org +shouyou.com +shouyouba.net +shouyoubus.com +shouyoucdn.com +shouyoujz.com +shouyoumen.com +shouyouqianxian.com +shouyoushenqi.com +shouyoutan.com +shouyoutv.com +shouyouzhijia.net +shouzan365.com +shouzhang.com +shouzhangapp.com +shouzhou365.com +shouzhuanfa.com +shouzhuanzhidao.com +shovesoft.com +show160.com +showapi.com +showapk.com +showchina.org +showcome.net +showdesk.io +showdoc.cc +showerlee.com +showing9.com +showji.com +showjoy.com +showjoy.net +showmebug.com +showself.com +showstart.com +showxiu.com +showxue.com +showxue.org +showyu.com +shoyoo.com +shpanli.com +shpans.com +shpanyou.com +shpd.net +shpgt.com +shpgx.com +shphschool.com +shppa.net +shpuyuxxkj.com +shqcplw.com +shqi7.net +shqingzao.com +shqlty.com +shqmxx.com +shqswlgs.com +shrail.com +shrca.org +shrcb.com +shrcdy.com +shrenq.com +shrenqi.com +shrinkablesleeve.com +shrobotpark.com +shsaic.net +shsbnu.net +shsby.com +shsbzl.com +shsci.org +shsee.com +shshilin.com +shsipo.com +shsixun.com +shsjb.com +shskapp.com +shskin.com +shsot.com +shspark.com +shspdt.com +shssp.org +shsunedu.com +shsxjy.com +shtdgj.com +shtdsc.com +shtefu.com +shtennis.org +shtfqx.com +shtgds.com +shtianhe.cc +shtic.com +shtimg.com +shtion.com +shtml.net +shtrhospital.com +shtwjiebao.com +shu-ju.net +shu163.com +shuaacg.com +shuabuapp.com +shuadanfu.com +shuai.so +shuai.win +shuaibo.wang +shuaigay.com +shuaigay.nl +shuaigeshe.com +shuaigetupian.com +shuaihuajun.com +shuaiming.com +shuainiba.com +shuaishou.com +shuaishouzhuang.com +shuaitong.vip +shuajb.com +shuaji.com +shuaji.net +shuajibang.net +shuajibao.com +shuajige.net +shuajizhijia.net +shuame.com +shuanghui.net +shuangkuai.co +shuangtao.com +shuangtv.net +shuangxian.com +shuangxinhui.com +shuangyingsx.com +shuangyuejn.com +shuangzan.com +shuangzheng.org +shuanlongda.site +shuashuaapp.com +shuazhibo.com +shubiaob.com +shubulo.com +shubuzi.com +shucaiguaguo.com +shucaixiaoshuo.com +shuchongread.com +shucong.com +shudaizi.org +shudan.vip +shudaxia.com +shudc.com +shuerjia.com +shufa.com +shufaai.com +shufabao.net +shufadashi.com +shufafin.com +shufaji.com +shufami.com +shufashibie.com +shufawu.com +shufazidian.com +shufaziti.com +shufe.com +shuge.la +shuge.net +shuge.org +shuge9.com +shugoo.com +shuguanghuayuan.com +shuguanxs.com +shuhai.com +shuhaidata.com +shuhaisc.com +shuhaitz.com +shuhegroup.com +shuhua66.com +shuhuangla.com +shui-mai.com +shui.moe +shui.org +shui12366.com +shui2014.com +shuicao.cc +shuichachong.com +shuichan.cc +shuichan51.com +shuichuyu.com +shuidichou.com +shuididabingchou.net +shuidigongyi.com +shuidihealth.com +shuidihuzhu.com +shuidihuzhu.net +shuidike.com +shuidishuju.com +shuiditech.com +shuidixy.com +shuiguo.com +shuihulu.com +shuihuoibm.com +shuijing100.com +shuijingcn.com +shuijingka.com +shuijingwanwq.com +shuijingwuyu.com +shuiliaosheji.com +shuimiao.net +shuimoyuan.com +shuimujiaju.com +shuimushequ.com +shuinankeji.com +shuini.biz +shuipingzuo.com +shuiqian.cc +shuiwushi.net +shuixyh.com +shuiyinbao.com +shuiyoucam.com +shuizhiyuncaishui.com +shujike.com +shuju.net +shujuba.net +shujubang.com +shujubo.com +shujucun.com +shujupie.com +shujutang.com +shukeba.com +shukeju.com +shukoe.com +shukongwang.com +shukuai.com +shuland.com +shulb.com +shuliao.com +shulidata.com +shulihua.net +shuliyun.com +shuma2.com +shumahezi.com +shumaidata.com +shumeipai.net +shumeipaiba.com +shumenol.com +shumensy.com +shumiao.com +shumiimg.com +shumil.co +shumil.com +shumilou.com +shumilou.org +shumo.com +shundecity.com +shunderen.com +shunfalighting.com +shunfangw.com +shunguang.com +shunmi.com +shunong.com +shunshikj.com +shunshunliuxue.com +shunvzhi.com +shunwang.com +shuo6.com +shuo66.com +shuoas.com +shuoba.org +shuobao.com +shuobofootball.xyz +shuoboku.com +shuodedui.com +shuomingshu.net +shuomingshuku.com +shuosanguo.com +shuosc.org +shuoshuo4.com +shuoshuo9.com +shuoshuokong.com +shuoshuokong.org +shuotiancn2012.com +shuotoutiao.com +shuotxts.com +shuowan.cc +shuowan.com +shuowan.net +shuoxu.com +shuqi.com +shuqiapi.com +shuqiread.com +shuqireader.com +shuqistat.com +shuquge.com +shuqun.com +shuqw.com +shuren100.com +shurenbang.net +shurenyun.com +shushangyun.com +shushao.com +shushi100.com +shushihome.com +shushubuyue.com +shushubuyue.net +shusw.com +shuti.com +shuttle.co +shutxt.com +shuwangxing.com +shuwulou.com +shuxiao.wang +shuyang.tv +shuyangba.com +shuyfdc.com +shuyong.net +shuyouji.vip +shuyuewu.co +shuyun.com +shuzhi9.com +shuzhiduo.com +shuzibao.com +shuziju.com +shuzixiaoyuan.com +shuziyinpin.com +shvlee.com +shwcsh.com +shwdbjgs.com +shweiya.com +shwglm.com +shwpbbs.com +shwqjx.com +shws.org +shwsg.net +shwyky.net +shxb.net +shxbe.com +shxhgzf.com +shxiaoran.com +shxibeiquanshe.com +shxil.com +shxkwck.com +shxpp.com +shxt.com +shxwcb.com +shy99.com +shyanke.com +shydjscl.com +shyestar.com +shyfci.com +shygc.net +shyhhema.com +shyingfu.net +shyjad.com +shykx.com +shykz123456.com +shymte.com +shyonghui.xyz +shyouai.com +shyouth.net +shyrcb.com +shyuanting.com +shyueai.com +shyunwei.net +shyuzhai.com +shyxcm.com +shyxwz.com +shyy6688.com +shyyp.net +shyywz.com +shyz07.com +shyzsd.com +shzbc.com +shzbh.com +shzbkj.com +shzcgs.org +shzf.com +shzfzz.net +shzgd.org +shzgh.org +shzh.net +shzhangji.com +shzhanmeng.com +shzhiyingedu.com +shzhyx.com +shzkb.com +shzq.com +shzsun.com +si-en.com +si-in.com +si.cdn.dell.com +si0769.com +si9377.com +siaedu.net +siaoao.com +sias-sha.com +sibfi.com +sibida.net +sic.hk +sicheng.net +sicher-elevator.com +sichina.com +sichuan163.com +sichuanair.com +sichuangwy.org +sicimano.com +sicong.wang +sidatz.com +siddim.com +sidfate.com +siecc.org +sifalu.com +sifangguo.com +sifangvideo.com +sifayun.com +siff.com +sifive-china.com +sifou.com +sifve.com +sigchina.com +sightp.com +siglent.com +siglff.com +sigmachip.com +sigmamed.net +sigmoblive.com +sigu.cc +sigu.me +sigujx.com +siguoya.name +sigure.xyz +sigvc.org +sihai-inc.com +sihaidj.com +sihaimg.com +sihaishuyuan.com +sihaitv.com +sihaiyijia.com +siheal.com +sihuanpharm.com +sihuida.net +sihuisoft.com +siii.xyz +siiic.com +siilu.com +sijiaomao.com +sijijun.com +sijinchuanbo.com +sijitao.net +sike.cc +sikiedu.com +silanggame.com +sileadinc.com +silenceper.com +silianmall.com +siliaobaba.com +siliaokelijixie.com +siliaoycw.com +siling.com +silkpresent.com +silkroadtechnologies.com +silksong.me +sillydong.com +silucar.com +silucg.com +siludao.com +siluecai.com +siluke.cc +siluke.com +siluke.tw +silukeke.com +silusheji.com +siluwu.com +silverlight.dlservice.microsoft.com +silverlighter.net +sim.djicdn.com +sim800.com +simagic.com +simapple.com +simba.pro +simcom.com +simcomm2m.com +simcu.com +simengadx.com +simiam.com +simici3.com +simida.org +simiki.org +simingcun.net +simingtang.com +simon96.online +simope.com +simp.red +simperfect.com +simple-is-better.com +simplecd.cc +simpledatas.com +simplexue.com +simpo-data.com +simu800.com +simul-china.com +simulway.com +simuwang.com +simwe.com +simxhs.com +sina.com +sina.lt +sina.net +sinaapp.com +sinacdn.com +sinacloud.com +sinacloud.net +sinaedge.com +sinahk.net +sinahlj.com +sinaif.com +sinaimg.com +sinaluming.com +sinanet.com +sinanya.com +sinaquyong.com +sinashow.com +sinasinasinasina.com +sinastorage.com +sinasws.com +sinauda.com +sinawallent.com +sinawap.com +sinawf.com +sincetimes.com +sindsun.com +sinesafe.com +sinforcon.com +singbon.com +singcere.net +singdown.com +singee77.com +singfun.com +singhead.com +singhot.com +singlecool.com +singpodcast.com +singread.com +singtaonet.com +sinmeng.com +sino-corrugated.com +sino-cr.com +sino-flexography.com +sino-foldingcarton.com +sino-life.com +sino-manager.com +sino-rainbow.cc +sino-uniontrust.com +sino-web.net +sinoancher.com +sinoassistance.com +sinobaron.com +sinobasalt.com +sinobasedm.com +sinoca.com +sinocars.com +sinocateringexpo.com +sinocax.com +sinochem.com +sinochemb2c.com +sinochemitc.com +sinocul.com +sinoec.net +sinoef.com +sinoergy.com +sinoevin.com +sinofo.com +sinofsx.com +sinogt.com +sinohb.com +sinohotel.com +sinohowe.com +sinohx.com +sinohydro.com +sinoicc.com +sinoinfosec.com +sinoing.net +sinoins.com +sinointeractive.com +sinologyinstitute.com +sinolub.com +sinolube.com +sinomapping.com +sinomaps.com +sinomatin.com +sinomod.com +sinonet.org +sinooceanland.com +sinooilgas.com +sinopec.com +sinopecgroup.com +sinopechyzx.com +sinopecnews.com +sinopecsales.com +sinopecsenmeifj.com +sinopharm.com +sinopharmzl.com +sinophex.com +sinopr.org +sinosig.com +sinosiglife.com +sinostargroup.com +sinosteel.com +sinotf.com +sinotn.com +sinotone.cc +sinotone.net +sinotrans.com +sinovale.com +sinovatio.com +sinovationventures.com +sinovdc.com +sinovoice.com +sinowealth.com +sinowealth.com.hk +sinowel.com +sinoxk.com +sinreweb.com +sinsam.com +sintaytour.com +sintu.com +sinvofund.com +sinvta.com +sinyuee.com +sinzk.com +sipai.com +sipaphoto.com +sipco.com +sipeed.com +sipgl-lcl.com +siphrd.com +sipo-gd.com +sipo-hb.com +sipo-pesc.com +sipo-sc.com +sipo-tj.com +siportal.cdnetworks.com +siposchina.com +siqiquan.org +sique.com +sir3.com +sir66.com +siryin.com +sisen.com +sishuok.com +sishuxuefu.com +sisijiyi.com +sisijp.com +sisp-china.com +sisuoyun.com +siswin.com +sitcoffee.com +site-digger.com +siteapp-static.com +siteinfourl.com +sitekc.com +sites120.com +sitezj.com +sithc.com +sitiaoyu.com +sitongedu.org +sitongzixun.com +sitrigroup.com +situdata.com +sivan.in +sivps.com +siwaman.com +siwazyw.cc +siwazyw.tv +siwazyw.xyz +siwazywcdn.com +siwazywcdn2.com +siwazywimg.com +siwei.me +siweidaotu.com +siweidaoxiang.com +siweiearth.com +siweikongjian.net +siweiw.com +siwuprint.com +sixflower.com +sixianchina.com +sixiang.im +sixiangguo.net +sixiju.com +sixstaredu.com +sixu.life +sixuexiazai.com +sixunited.com +siyanhui.com +siyhust.com +siyu522.com +siyu527.com +siyuan.cc +siyuanedu.com +siyuanren.com +siyuefeng.com +siyunxi.com +siyuweb.com +sizeofvoid.net +sizuo.com +sj-lawyer.com +sj11hb.com +sj123.com +sj33.net +sj35hb.com +sj3w.com +sj88.com +sj96615.com +sj998.com +sjawards.com +sjbzx.com +sjcomic.com +sjdzp.com +sjdzp.net +sjetdz.com +sjfcdn.com +sjfpro.com +sjfx.com +sjfzxm.com +sjgnskf.com +sjhcip.com +sjhfrj.com +sjhgo.com +sjhl.cc +sjhy.net +sjifm.com +sjkhsl.fun +sjlqgg.com +sjm.life +sjmdh.com +sjmeigao.com +sjmxx.com +sjono.com +sjpcw.com +sjq315.com +sjqkd.com +sjrwzz.com +sjsbk.com +sjsydq.com +sjtiantang.com +sjtickettech.com +sjtjcn.com +sjtug.org +sjtxt.com +sjtxt.la +sjtyks.com +sjtype.com +sju56.com +sjvi.net +sjwtlm.com +sjwxzy.com +sjwyx.com +sjxinxiwang.com +sjxs.la +sjybsc.com +sjycbl.com +sjyst.net +sjytech.com +sjyx.com +sjyyt.com +sjz.cc +sjzbasha.com +sjzbwx.com +sjzcmw.com +sjzcsw.com +sjzdbs.com +sjzhu.com +sjzhushou.com +sjzkz.com +sjzlg.com +sjzlgz.com +sjzmama.com +sjznews.com +sjzqcrl.com +sjzrbapp.com +sjzsidadianji.com +sjztd.com +sjzwww.com +sjzxtsh.com +sjzyu.com +sjzyz.net +sjzz.cc +sjzzimu.com +sk-mtek.com +sk163.com +sk1999.com +sk2game.com +skatehere.com +skcto.com +skdlabs.com +skeo.net +sketchchina.com +sketchchina.net +sketchcn.com +sketchupbar.com +sketchupbbs.com +skg.com +skhao.net +skieer.com +skight.com +skinme.cc +skip-links.com +skiy.net +skjcsc.com +sklinux.com +skllmd.com +sklse.org +sklxsj.com +skomart.com +skongmx.com +skrshop.tech +sks7.com +sksdwl.com +skusoft.com +skwl.org +skwo.net +sky-deep.com +sky-fire.com +sky-planning.net +sky003.com +sky1shop.com +skyallhere.com +skyao.io +skybig.net +skybluead.com +skybluek.com +skycaiji.com +skycloudsoftware.com +skycn.com +skycn.net +skydust.net +skyeaglee.com +skyecs.com +skyfeather.online +skyfollowsnow.pro +skyfont.com +skyfox.org +skygho.com +skyheng.com +skyju.cc +skykeyjoker.com +skylerzhang.com +skyliteapi.com +skylook.org +skymobiapp.net +skymoons.com +skymoons.net +skynj.com +skype-china.net +skyqzone.com +skyrichpower.com +skyrivers.org +skyrj.com +skysea.com +skysgame.com +skysrt.com +skyts.net +skytv.cc +skyue.com +skywhat.com +skywldh.com +skyworth-ac.com +skyworth-cloud.com +skyworth-ea.com +skyworth-mould.com +skyworth.com +skyworthbox.com +skyworthdigital.com +skyworthds.com +skyworthiot.com +skyworthlighting.com +skyxinli.com +skyyin.org +skyzms.com +sl-360.com +sl.al +sladjust.com +slamtec.com +slanissue.com +slanmedia.com +slassgear.com +slatic.net +slchos.com +sld-cctv.com +sleepboy.com +slegetank.com +slertness.com +slfwq.com +slicercn.com +slieny.com +slimtheme.com +slink8.com +slinli.com +slinuxer.com +sliu.info +sljkj.com +sljypt.com +slkeq.com +slkj.org +slksy.com +sllai.com +slmbio.com +slmwp.com +slogra.com +slooti.com +slpi1.com +slrbs.com +slready.com +slsteel.com +slswx7.com +sltv.net +slupdate.dlservice.microsoft.com +slvdy.com +slwh-dfh.com +slwwedding.com +slzsxx.com +slzww.com +sm-check.com +sm-cq.com +sm-main.com +sm012.com +sm160.com +sm160.net +sm688839.com +sm96596.com +smabaike.com +smallk.net +smallpdfer.com +smallxu.me +smallyuan.com +smarch.com +smarchit.com +smart-idc.net +smart-ptt.com +smart-rise.com +smart4e.com +smartbiyun.com +smartcityzhejiang.com +smartcloudcon.com +smartdeep.com +smartdot.com +smartedm.com +smartemple.com +smartermicro.com +smartfactory-expo.com +smartgaga.com +smartgeek.vip +smartgslb.com +smarthey.com +smarthomecn.com +smartisan.com +smartisanos.com +smartleon.net +smartlifein.com +smartlinku.com +smartmidea.net +smartoct.com +smartpigai.com +smartproxy.me +smartqian.com +smarts.online +smartsenstech.com +smartshe.com +smartsteps.com +smartstudy.com +smartwebee.com +smartx-cn.com +smartx.com +smartyao.com +smarun.com +smaryun.com +smaty.net +smbaike.com +smbais.com +smbinn.com +smbxw.com +smc18.com +smc3s.com +smd88.com +smdcn.net +smdiban.net +smdmark.com +smdyvip.com +sme8718.com +smebb.com +smejs.com +smemo.info +smeoa.com +smesun.com +smfsgs.com +smfyun.com +smggw.com +smgif.com +smgjj.com +smgstar.com +smhdoto.com +smhom1.com +smhyplay.com +smianet.com +smic-sh.com +smics.com +smil888.com +smilec.cc +smilingwhitebear.com +smiseo.com +smjbo.com +smjyfx.com +smkmp.com +smmy365.com +smo-clinplus.com +smo-software.com +smohan.net +smokeliq.com +smoothgroup.cc +smovie168.com +smpeizi.com +smppw.com +sms9.net +smsbao.com +smshx.com +smskb.com +smsx.org +smsyun.cc +smt-dip.com +smt-job.com +smtcdns.com +smtcdns.net +smtchinamag.com +smtcl.com +smtdc.com +smth.org +smthome.net +smtsvs.com +smtvip.com +smucdn.com +smudc.com +smwd.tech +smwenxue.com +smxdiy.com +smxgjj.com +smxgzjy.org +smxs.com +smy01.com +smyfinancial.com +smyhvae.com +smyx.net +smzdm.co +smzdm.com +smzdmimg.com +smzdwan.com +smzwgk.com +smzy.com +snai.edu +snail.com +snail007.com +snailgame.net +snailshub.com +snailsleep.net +snailyun.com +snapemoji.net +snbkf34.com +sncdental.com +sncoda.com +sndhr.com +sndo.com +sneac.com +sneia.org +sngdxsn.com +sngx.ml +snh48.com +snhsnj.bar +sniec.net +snieri.com +snifast.com +snjairport.com +snjbs.com +snjjiu.com +snjrsks.com +snnd.co +snobten.com +snooda.com +snor-china.com +snowballsecurities.com +snowballtech.com +snowdream.tech +snowyimall.com +snrat.com +snren.com +snrtv.com +snrunning.com +sns.io +snsbao.com +snscz.com +snsfun.cc +snsfun.com +snsii.com +snssdk.com +snsteam.club +snsyx.com +snto.com +snupg.com +snwxn.com +snxfcw.com +snxiaowai.com +snxw.com +snysy1.com +snyu.com +snzfj.net +snzgy.com +snzhz.com +so-a.net +so-b.com +so-love.com +so-naver.com +so-t.net +so-voioe.com +so-w.com +so.com +so147.com +so8848.com +soarwatch.com +soba8.com +sobaidupan.com +sobanks.com +sobeian.com +sobereva.com +sobeycache.com +sobeycloud.com +sobot.com +soboten.com +sobug.com +sobuhu.com +socang.com +socansoft.com +socay.com +socchina.net +sochengyi.com +sochips.com +socialark.net +socialbeta.com +socialfishface.com +socialjia.com +socks1688.com +socolar.com +socomic.com +socool-tech.com +socsight.com +sod99.com +sodalife.xyz +sodao.com +sodc8.com +sodeog.com +sodexo-cn.com +sodhef.com +sodino.com +sodocloud.com +sodocs.net +sodu.cc +sody123.com +soeasysdk.com +soeol.com +sofabiao.com +sofang.com +sofangche.com +sofasofa.io +sofastack.tech +sofi-tech.com +sofreight.com +soft10.com +soft128.com +soft2005.com +soft50.com +soft5566.com +soft568.com +soft6.com +soft778.com +soft78.com +soft808.com +soft8899.com +softabc.com +softbanks.net +softbar.com +softbingo.net +softgostop.com +softhead-citavi.com +softhome.cc +softparkinfo.com +softtest.com +softwarechn.com +softwarecn.com +softwarekeyclub.com +softweek.net +softwelt.com +softwhy.com +softwincn.com +softxz.net +sogaa.net +sogame8.com +sogeci.net +sogo.com +sogoke.com +sogood360.com +sogou-inc.com +sogou-op.org +sogou.com +sogou2.com +sogoucdn.com +sogouimecdn.com +sogouw.com +sogouwenwen.com +soharp.com +soho-yiming.com +soho3q.com +sohochina.com +sohonow.com +sohotask.com +sohu-inc.com +sohu.com +sohu.net +sohucs.com +sohuhistory.com +sohunjug.com +sohuns.com +sohusce.com +sohuu.com +soicp.com +sojex.net +sojiang.com +sojiang.net +sojianli.com +sojson.com +sojump.com +sojump.hk +sokoban.ws +soku.com +sokutu.com +solarbe.com +solaridc.com +soldierstory-toys.com +soleilneon.com +solepic.com +solidot.org +soliloquize.org +solo-launcher.com +solochex.com +solodonna.world +solosea.com +solotoon.com +solution9.net +solvso.com +solvyou.com +somanhua.com +somao123.com +somcool.com +somdom.com +someabcd.com +somebus.net +somecoding.com +someet.cc +someibo.com +somepen.com +something8.com +somo.so +somode.com +somsds.com +sonald.me +songchuan12345.com +songcn.com +songguo7.com +songguojiankang.com +songhaifeng.com +songhaoyun.com +songhaozhi.com +songhengnet.com +songjiayang.com +songker.com +songlei.net +songluhome.com +songqili.net +songqinedu.com +songqinnet.com +songruhui.com +songsgames.com +songshitang.com +songshizhao.com +songshudiandian.com +songshuhui.net +songshushuo.com +songsongruanwen.com +songsongyingxiao.com +songsongyun.com +songtaste.com +songxiaocai.com +songyang.net +songyanjiaye.com +songyi.net +songyongzhi.com +songyuan163.com +songzhaopian.com +songzi100.com +songziren.com +sonhoo.com +sonhoo.net +soniu.net +sonkwo.com +sonkwo.hk +sonnewilling.com +sontan.net +sonyue.com +soobb.com +soocang.com +sooele.com +soogif.com +soojs.com +soolco.com +soolun.com +soomal.com +soonwill.com +soonyo.com +sooopu.com +soopat.com +soopay.net +sooshong.com +sooshu.net +soosmart.com +sootoo.com +sooxue.com +sooyisi.com +sooyooj.com +sooyuu.com +soozhu.com +sopaimai.com +sopanxia.com +soperson.com +soppt.com +sopuning.com +soq.com +soqicrm.com +soquair.com +sorpack.com +sos919.com +sosaw.com +sosdx.com +sosg.net +soshoo.com +soshoulu.com +soshuwu.com +sosidc.com +soso.com +sosoapi.com +sosobtc.com +sosohaha.com +sosomp.com +sosoo.net +sosoq.org +sosorank.com +sososteel.com +sosotec.com +sosotirp.com +sosowan.com +sosowenwen.com +sosoxian.com +sosoyunpan.com +sosoyy.com +sosuo.name +sotemall.com +sothink.com +sotwm.com +sou-yun.com +souaiche.com +souaus.com +soubct.com +soucai.com +souche-fin.com +souche-inc.com +souche.com +soucod.com +soudao.com +soudoc.com +souduanzu.com +soueast-motor.com +souebao.com +soufang.com +soufoo.com +soufuli.net +soufun.com +soufunimg.com +souge.cc +sougoulvyou.com +sougu001.com +souho.cc +souho.net +souhu.com +souid.com +souidc.com +souidc.org +soukecheng.net +soukf.com +soukuyou.com +soulady.net +soulapp.me +souldee.com +soulgame.mobi +souluo.net +soulv.com +soupan.info +soupf.net +soupian.org +soupingguo.com +soupis.com +soupu.com +soupu.org +soupv.com +souqian.com +souqiu8.com +souqiwang.net +souqupu.com +source3g.com +sourcecodecap.com +sourcedev.cc +sousea.com +soushai.com +soushuking.com +sousou.com +sousoudus.com +sousouyixia.com +soutaowang.com +southbeauty.com +southbeautygroup.com +southcn.com +southei.com +southernfund.com +southgis.com +southmoney.com +southnews.cc +southnews.net +southseagy.com +southsurvey.com +southyule.com +southzw.com +soutu123.com +soutudi.so +soutushenqi.com +souutu.com +souvr.com +souwifi.com +souwoo.com +souxue8.com +souxuexiao.com +souya.com +souyi.cc +souyidai.com +souyue.mobi +souyunku.com +sov5.com +sovell.com +soven.com +sovxin.com +sowang.com +sowangpan.com +soweather.com +sowin.com +sowu.com +soxscc.info +soxsok.com +soxuxu.com +soyim.com +soyiyuan.com +soyobo.com +soyohui.com +soyoung.com +soyouso.com +soyunion.com +soyunpan.com +sozdata.com +sozhen.com +sp.cc +sp588.cc +sp588.net +sp84.com +sp910.com +space1688.com +spacechina.com +spacesystech.com +spacexlanding.com +spark-app.store +spark4y.com +sparkandshine.net +sparkgis.com +sparkletour.com +spasvo.com +spawatervip.net +spawor.com +spay365.com +spbo.com +spbo1.com +spbosta.org +spc365.net +spcdntip.com +spcywang.com +spdbh5.com +spdbuser.com +spdcat.com +spdchgj.com +spdex.com +spdiy.com +spdiy.net +spdl.com +spdydns.com +specialcdnstatus.com +speed-dns.cc +speed-idc.com +speedcdns.com +speednt.com +speedpan.net +speedsz.net +speedws.info +speedws.org +speedycloud.cc +speiyou.com +spfmc.com +spforum.net +spgnux.com +sphinxrating.com +sphinxsearch.org +spibj.com +spiiker.com +spin-view.com +spinytech.com +spirit-doll.net +spirithy.com +spischolar.com +spjxcn.com +spl4cn.com +splaybow.com +splayer.org +splayer.work +splmcn.com +spnchinaren.com +spoience.com +spointdesign.com +spongeliu.com +sportk8.com +sportnanoapi.com +sportq.com +sports-idea.com +sportsdt.com +sposter.net +spot.download +spoto.net +spouyashop.com +spplnet.com +sppmc.com +spprec.com +spps.cc +spr-atm.com +spreton.com +spring4all.com +springairlines.com +springboot.io +springcloud.cc +springcocoon.com +springtour.com +spriteapp.com +sprzny.com +spswc.com +sptcc.com +sptccn.com +spthome.com +sptxm.com +spush.com +spway.net +spyouxi.com +spzs.com +sq1996.com +sq580.com +sq581.com +sq688.com +sqa-chn.com +sqage.com +sqanju.com +sqbot.vip +sqchunqiu.com +sqdaily.com +sqeatin.com +sqfcw.com +sqfortune.com +sqggzy.com +sqiming.com +sqkb.com +sql110.com +sqlsec.com +sqmingli.com +sqmlw.com +sqrc.net +sqreader.com +sqrtthree.com +sqstudio.com +sqsxs.com +squarecn.com +squarefong.com +squrab.com +sqxy.net +sqzapp.com +sqzw.com +srcb.com +srcbcz.com +srcdict.com +srcmsh.com +srcssc.com +sreanalyze.com +srell.com +srfip.com +srgow.com +srichina.org +sritsoft.com +srjxj.com +srm.dji.com +srrsh.com +srrtvu.com +srssn.com +srtong.com +srun.com +srw00.com +srworld.net +srx3.net +srxww.com +sryjx.com +srzc.com +srzxg.com +srzxjt.com +ss-ceo.com +ss0.me +ss6.co +ss8899888.com +ssart.net +ssaxx.com +ssaya.win +ssbbww.com +ssbgzzs.com +ssby.cc +sscity.org +sscmwl.com +ssdata.com +ssdax.com +ssdfans.com +ssdvd.net +sseinfo.com +ssf.cc +ssgabc.com +ssggg.com +ssgushi.com +ssine.cc +ssine.ink +ssipex.com +ssjjss.com +ssjjtt.com +ssjlicai.com +ssjxx.com +ssjyhy.com +ssjzw.com +ssky123.com +ssl-google-analytics.l.google.com +ssl.gstatic.com +sslaaa.com +sslceshi.com +sslchaoshi.com +sslchina.com +sslcity.com +ssldun.com +ssleye.com +sslibrary.com +sslnode.com +ssmec.com +ssmoit.com +ssnewyork.com +ssnn.net +ssofair.com +ssoffo.com +ssozz.com +ssp86.com +sspaas.com +sspai.com +sspai.me +sspezz.com +ssports.com +ssports.net +sspsky.com +ssqgx.com +ssqzj.com +ssrcr.com +ssreader.com +ssrrxx.com +ssrtys.com +sss129vip.com +ssscdn.com +sssie.com +ssso.com +sst-ic.com +sst-sd.com +ssuu.cc +ssvob.com +sswchina.com +ssxf.net +ssyar.com +ssyer.com +ssyule.com +ssyxlx.com +ssyzx.net +sszjnc.com +sszzz.com +st001.com +st123.com +st180.com +stackboom.xin +stackcc.com +stackoom.com +stackoverflow.club +stage1st.com +stage3rd.com +stajy.com +standardshop.net +star-boy.com +star-village-ent.com +star1024.com +star7th.com +starbaysoft.com +stardict.net +stardict.org +stardoctor.com +starduster.me +starfivetech.com +stargame.com +staridc.net +starlight-generator.com +starlott.com +starlunwen.org +starming.com +starpainters.net +starparkshenzhen.com +starpiao.com +starrtc.com +starrysurvey.com +starschina.com +starschinalive.com +starsino.com +starsmicrosystem.com +starstech.cc +starstech.tech +starstopic.com +starswar.org +start.htc.com +start.htcsense.com +startcarlife.com +starting2000.com +startogether1.com +startos.com +startos.org +startup-partner.com +starwarschina.com +stat-nba.com +stat18.com +static.cdnetworks.com +staticaa.com +staticdn.net +staticec.com +staticf.com +staticfile.org +statickksmg.com +staticssl.image-gmkt.com +staycu.com +stbieshu.com +stboda.com +stc2002.com +stcash.com +stcmcu.com +stcmcudata.com +stcn.com +stcpsm.com +stcv66.com +stdaily.com +stdard.com +stdicloud.com +stdlibrary.com +stdout.pub +stdwp.com +steambang.com +steamboxs.com +steamchina.com +steamcn.com +steampp.net +steamproxy.net +steamrepcn.com +steamvpn.org +steamxdf.com +stec.net +stedu.net +steelphone.com +steelsearcher.co.kr +steelsearcher.com +stefg.org +stepfpga.com +stevenshi.me +stfile.com +stg8.com +stgairasia.com +stgod.com +stgowan.com +sthforme.com +sthifi.com +sthke.com +stianran.com +stjfw.net +stjulianc.org +stjunshi.com +stjy.net +stkey.win +stlswm.com +stmaoyi.com +stmbuy.com +stmcu.org +stmybj.com +stnn.cc +stnts.com +sto80.com +stock8m.com +stockhn.com +stocks-sparkline-lb.apple.com.akadns.net +stockstar.com +stockwei.com +stockxp.com +stointl.com +stone168.com +stonebuy.com +stoneios.com +stoneo2o.com +stonepoll.com +stonepoll.net +stoneread.com +stonescloud.com +stoneu.com +stonexp.com +stor-age.com +storagesemicon.com +store.apple.com +store.apple.com.edgekey.net +store.apple.com.edgekey.net.globalredir.akadns.net +store.dji.com +store.nike.com +store.storeimages.apple.com.akadns.net +store.storeimages.cdn-apple.com +storeedgefd.dsx.mp.microsoft.com +storkapp.me +stormorai.com +stormsend1.djicdn.com +story520.com +storyboardworld.com +storyday.com +storyren.com +stourweb.com +stourweb.net +stovol.club +stoyard.com +str-mo.com +strconv.com +strcpy.me +streamaxtech.com +streamcomputing.com +streaming.vn.teslamotors.com +streffy.com +strong-study.com +strongcms.net +strongled.com +stswjx.com +stubbornhuang.com +studa.net +studentboss.com +studioartiz.com +study-kit.com +studyapi.com +studyems.com +studyez.com +studyfr.net +studyget.com +studygolang.com +studyingtours.com +studyintour.com +studyiris.com +studyjamscn.com +studylinux.net +studyll.com +studyofnet.com +studypay.com +studyuser.com +studyvip.com +stuhome.net +stuhui.com +stuliving.com +stuln.com +stupid77.com +stupidet.com +stuq.com +stuq.org +stutimes.com +stvgame.com +styadmin.com +stylecdn.com +stylemode.com +styles-sys.com +stz8.com +su-long.com +suaee.com +suanbanyun.com +suandao.com +suanfazu.com +suangtianw.com +suanguajie.com +suanisp.com +suanjuzi.com +suanli.org +suanlitou.com +suanning.com +suanst.com +suanya.com +suaooo.com +suapp.me +subaonet.com +subaotuan.com +subingkang.com +subinwechat.com +sublimetextcn.com +subline.org +subo.net +subo40.com +subom.net +subond.com +suboyouku.com +suboyun.net +subuy.com +sucai.com +sucaibar.com +sucaidao.com +sucaifengbao.com +sucaifu.com +sucaihuo.com +sucaijishi.com +sucainiu.com +sucaitu.cc +sucaiw.com +such-game.com +suchasplus.com +suchen820.com +suchso.com +sucop.com +sucoupon.com +suda123.com +sudaizhijia.com +sudaoa.com +sudaqq.com +sudidc.com +sudu-67ph.com +sudu-72ub.com +sudu-kay6.com +sudu-pq2y.com +sudu-q6wk.com +sudu-r8gh.com +sudu-sq56.com +sudu-tf42.com +sudu-xu9b.com +sudu123.net +suducha.com +sududa.com +sudupower.net +sudusite.com +sueflower.com +sueon.com +sufangxu.com +sufeinet.com +sufont.com +sugar918.com +sugarcanetechnology.com +sugarforex.com +sugarguo.com +sugarle.com +sugon.com +sugou.com +suhaodian.com +suhuibao.com +suhuishou.com +sui.com +suibianla.com +suibianzhao.com +suibiji.com +suicloud.com +suilengea.com +suileyoo.com +suinian.com +suinikan.com +suiniyi.com +suipq.com +suiqiao.com +suirui.com +suishenyun.net +suishouji.com +suisuihu.com +suisuijiang.com +suixingjia.com +suixw.com +suiyichong.com +suiyiju.com +suiyuanjian.com +suiyueyule.com +suizhoushi.com +suizui.net +sukimad.com +sukiu.net +sukkaw.com +sulabs.net +sulandscape.com +sule.cc +suleapi.com +sulianlian.com +suliaodingzhi.com +sumaart.com +sumaarts.com +sumatang.com +sumavision.com +sumeme.com +sumgotea.com +sumiaowang.com +suming.in +sumly.net +summall.com +summerlight.name +sumory.com +sumrday.net +sumscope.com +sumsz.com +sumygg.com +sun-ada.net +sun-lion.com +sun-wish.com +sun0769.com +sun0769ns.com +sun0816.com +sun66.net +sunater.com +sunbloger.com +sunbo.com +sunbo367.com +sunborngame.com +sunboxsoft.com +sunboyu.com +suncafe.cc +suncco.com +sundan.com +sundns.com +sundray.com +sundxs.com +sunear.net +sunfarms.net +sunfcb.com +sunflyday.com +sunfounder.cc +sunfront.com +sunft.com +sungari1995.com +sungesoft.com +sungoal.org +sungoedu.com +sunhante.com +sunhaojie.com +suninf.net +suning.com +suningcloud.com +suningestate.com +suningholdings.com +sunjidong.net +sunjiwen.com +sunjix.com +sunjs.com +sunland.cc +sunlands.com +sunlands.wang +sunlandstudy.com +sunlandvip.com +sunlandzk.com +sunlife-everbright.com +sunlight-tech.com +sunlightbig.com +sunlogin.com +sunlons.com +sunlordinc.com +sunlune.com +sunmi.com +sunmingxia.com +sunmnet.com +sunnada.com +sunny90.com +sunnychina.com +sunnyos.com +sunnyqi.com +sunnyxx.com +sunofbeaches.com +sunowo.com +sunpala.com +sunpcm.com +sunplusedu.com +sunpma.com +sunpun.com +sunrise-env.com +sunrisedutyfree.com +sunrisenan.com +sunrtb.com +sunsharer.com +sunshe.com +sunshine-power.net +sunshinechn.com +sunsky-online.com +sunstarasia.com +sunstu.com +suntalk-shftz.com +suntop168.com +suntray.com +suntrayoa.com +sunup3d.com +sunupcg.com +sunwayworld.com +sunweiwei.com +sunwinon.com +sunwoda.com +sunwodaenergy.com +sunwy.org +sunxiaoning.com +sunxinfei.com +sunyansong.com +sunyea.com +sunyet.com +sunyingchao.com +sunyixing.com +sunyongfeng.com +sunzhongwei.com +suo.im +suo.nz +suobao8.com +suobuy.com +suofeiya.com +suofeiyashop.com +suoge.net +suorang.com +suorong.com +suoxin5.com +suoyiren.com +supcname.com +supcompute.com +supcon.com +supdri.com +supeeder.com +supei.com +super-mt.com +superboss.cc +superbrowser.hk +superbuy.com +supercrm.com +superdns.net +superfix.com +superforeseer.com +supergslb.com +superhl.com +superjq.com +superlb.net +superlib.com +superlib.net +superlink.mobi +supermap.com +supermap.io +supermapcloud.com +supermapol.com +superpb.com +superpowercn.com +superqq.com +superslide2.com +supersocket.net +superyd.com +superzl.com +supesite.com +supesoft.com +supfast.net +supfree.net +supmeter.com +supmil.com +supmil.net +supoin.com +supool.com +suporpe.com +support-china.apple-support.akadns.net +support-cn.samsung.com +support.apple.com +support.globalsign.com +support.lenovo.com +supumall.com +supuy.com +suqian360.com +suqicloud.com +suqishi.com +suqnn.com +surdoc.net +sure56.com +suremotoo.site +surface-ser.com +surmon.me +sursen.com +sursenelec.com +sursung.com +surtime.com +suruicloud.com +survey-y.com +survey.work +surveyhills.com +surveyunion.com +survivor99.com +sushouka688.com +susong51.com +susongbbs.com +sustc.us +susudm.com +suteidc.com +sutuiapp.com +sutune.me +suuk.org +suukcn.com +suv666.com +suxiaohu.com +suxiazai.com +suxiege.com +suxing.me +suxuenet.com +suxuewang.com +suy.me +suyanw.com +suyuening.com +suyugame.com +suyunbo.tv +suyutech.com +suzhenyi.com +suzhou.cc +suzhoubank.com +suzhouds.com +suzhoulida.com +suzhoushilla.com +suzhousj.com +suzip.com +suzip.net +suzuki-china.com +suzuki-shanghai.com +svenhetin.com +svinsight.com +svip15.com +svipduihuan.com +svlik.com +svmuu.com +svn999.com +svnbucket.com +svnspot.com +svnur4.com +svw-volkswagen.com +svwuc.com +sw-bllp.com +sw0013.com +sw2008.com +sw996.com +swaeab.com +swakopuranium.com +swang8.com +swansea86.com +swansonchina.com +swap.wang +swaqds.com +swarma.net +swarma.org +swatou.com +swbbsc.com +swcatalog-cdn.apple.com.akadns.net +swcatalog.apple.com +swcdn.apple.com +swcdn.g.aaplimg.com +swchina.org +swcpu.com +swdist.apple.com +swdist.apple.com.akadns.net +sweet-data.com +sweetalkos.com +sweetdan.com +sweetlove.cc +sweetmartmarketing.com +sweetread.net +swfc-shanghai.com +swg36.com +swgzs.com +swhysc.com +swift.gg +swift51.com +swifter.tips +swifthumb.com +swiftlet.net +swiftmi.com +swiftstar.net +swijoy.com +switch520.net +swjinsheng.com +swjoy.com +swkong.com +swlhome.com +swlidc.com +swliuxue.com +swlsbj.com +swoft.org +swok.net +swomc.net +swoole-cloud.com +swoole.com +swordair.com +swordart.online +swordnets.net +swordofmorning.com +swordtt.com +swotbbs.com +swothouse.com +swsbw.com +swscan-cdn.apple.com.akadns.net +swscan.apple.com +swsm.net +swsmu.com +swstsg.com +swt0.com +swupdl.adobe.com +swwlotus.com +swwy.com +sx189.com +sx267.com +sxafz.com +sxbang.net +sxbawy.com +sxccb.com +sxcits.com +sxcm.net +sxcntv.com +sxcqzyc.com +sxctf.com +sxcwit.com +sxcyts.com +sxcywy.com +sxd408.com +sxdkj.com +sxdwsx.com +sxdygbjy.com +sxdzyp.com +sxemc.com +sxepc.com +sxfblog.com +sxfu.org +sxgdtv.com +sxglpx.com +sxgoo.com +sxgq.net +sxgs.com +sxgwyw.org +sxhctv.com +sxhlxy.com +sxhm.com +sxhpthsm.com +sxhr.net +sxhxbank.com +sxiaoshuo.com +sxjagc.com +sxjhzsgc.com +sxjzxww.com +sxkid.com +sxkzxt.com +sxlcdn.com +sxldns.com +sxldtv.com +sxmaps.com +sxmtdz.com +sxncb.com +sxnfss.com +sxnxl.com +sxnycl.com +sxnyzs.com +sxol.com +sxpdf.com +sxpdk.com +sxpjp.com +sxplc.com +sxpmg.com +sxprgc.com +sxpta.com +sxpyzg.com +sxrb.com +sxrbw.com +sxrczx.com +sxrjcspx.com +sxrtv.com +sxsapi.com +sxsgs.com +sxsim.com +sxsimg.com +sxsjgy.com +sxslnews.com +sxsoft.com +sxsruida.com +sxsslz.net +sxszw.net +sxthzs.com +sxtppm.com +sxtvs.com +sxtybook.com +sxuyr2nx.com +sxvt58.com +sxwbs.com +sxwpyx.com +sxwrsa.org +sxww.com +sxxdll.com +sxxiaomeng.com +sxxl.com +sxxt.net +sxxw.net +sxxyfw.com +sxxynews.com +sxy7.com +sxycrb.com +sxyj.net +sxzfcy.com +sxzhaobiao.com +sxzlycl.com +sxzq.com +sxzt.org +sxzydj.com +sy-home.com +sy12306.com +sy25.com +sy2k.com +sy3.com +sy76.com +sybasebbs.com +syberos.com +sybj.com +sycaijing.com +sycdtz.com +sycxzx.net +sydaxxw.com +sydcch.com +sydi.org +sydimg.com +sydjwl.com +sydw8.com +sydzconn.com +sydzdiy.com +syf.ink +syfw.com +syg315.com +sygd.com +sygsyq.com +syhccs.com +syhhidc.com +syhhkj.com +syhospital.com +syhtcgf.com +syiptv.com +syitgz.com +syjiancai.com +syjkqzw.com +syjzedu.com +sykong.com +sylixos.com +syltdj.com +symama.com +symtc.com +symuge.com +syn029.com +synacast.com +synball.com +sync.sh +synjones.com +synjones.net +synochip.com +syntao.com +synyan.net +syoits.com +syoker.com +syoogame.com +syoseo.com +syoucn.com +syouhui.com +syouzyo.org +sypao.com +sypole.com +syqingmei.com +syr-sce.com +syrcb.net +sys-ele.com +syscan360.org +sysceo.com +sysclk.com +syscxp.com +sysdyy120.com +sysengi.com +sysfans.com +syshospital.com +syshospital.org +sysmini.com +sysmk120.com +sysrsksy.com +systoon.com +sysush.com +sysuyz.com +sysysjnk.com +sytcke.com +sythealth.com +syttgame.com +sytuku.com +syuan.net +syue.com +sywg.com +sywgy.com +syxwang.com +syxwnet.com +syy07.com +syys8.com +syyx.com +syyyking.com +syzlzz.com +syzoukan.com +sz-3a.com +sz-amdc.com +sz-cerberus.com +sz-changfeng.com +sz-czzc.com +sz-dfl.com +sz-dns.net +sz-edsy.com +sz-etong.com +sz-iflysse.com +sz-jlc.com +sz-lcsc.com +sz-mtr.com +sz-osckj.com +sz-printing.com +sz-skt.com +sz-sunway.com +sz-tianmai.com +sz-trip.com +sz-ua.com +sz-ytq.com +sz0760.com +sz121.com +sz189.com +sz1978.com +sz240.com +sz315.org +sz4db.com +sz5156.com +sz5983.com +sz61.com +sz7h.com +sz836.com +sz886.com +szadst.com +szaeia.com +szaiaitie.com +szaima.com +szairport.com +szaisino.com +szaiten.com +szande.com +szaudio.com +szbbs.org +szbcase.com +szbdyd.com +szbeilu888.com +szbelle.com +szbelle.net +szbiu.com +szbnrj.com +szbwgr.com +szbwgy.com +szbwpt.com +szbym.com +szc.com +szca.com +szcatic.com +szcec.com +szchi.net +szclmd.com +szcno.com +szcompare.com +szcp.com +szcsot.com +szcssx.com +szcsw.com +szcua.org +szcwdz.com +szcy99.com +szczjy.com +szczkjgs.com +szdaily.com +szdc.org +szdcjd.com +szddns.net +szdesigncenter.org +szdiyibo.com +szdn1ms.com +szdxjf.com +szdyx8.com +szeant.com +szeasyin.com +szed.com +szedu.net +szeholiday.com +szelanpo.com +szelight.com +szfa.com +szfachina.org +szfangzhouhd.com +szffmr.com +szfg.net +szflysky.com +szfob.cc +szfuit.com +szfw.org +szfwzl.com +szfyhd.com +szgalaxy.com +szgft.com +szgftz.com +szggzy.com +szgky.com +szgla.com +szguanai.com +szgwsd.com +szgymz.com +szhdlm.com +szhdyic.com +szhetai.com +szhgh.com +szhh8.com +szhiross.com +szhk.app +szhk.com +szhkkd.com +szhlodz.com +szhlsg.com +szhome.com +szhomeimg.com +szhot.com +szhtp.com +szhuace.com +szhufu.com +szhuhang.com +szhulian.com +szhulian.net +szhytrip.com +szider.com +szisland.com +szjcyyy.com +szjhxjt.com +szjjtg.com +szjlwul.com +szjuquan.com +szjyt66.com +szjytx.com +szkb.net +szkingdom.com +szkoa.com +szksqy.com +szlande.com +szlangwei.com +szlc9.com +szlcsc.com +szledia.org +szleezen.com +szlhtram.com +szlianya.net +szlihuam.com +szlilun.com +szlingsheng.com +szlips.com +szlos.com +szlottery.org +szltz.com +szlvbarcode.com +szlwtech.com +szmadigi.com +szmall.com +szmama.com +szmama.net +szmc.net +szmctc.com +szmil.com +szmrcd.com +szmsheng.com +szmslaser.com +szmtzc.com +szmuseum.com +szmynet.com +szmyxc.com +szn360.com +sznews.com +szniego.com +szniushi.com +sznlgg.com +sznmd.com +szns-marathon.com +szol.net +szolxd.com +szonline.net +szp168.com +szpa.com +szpclab.com +szpgzn.com +szpiao.com +szpiaoyi.com +szpichappy.com +szpmi.org +szpowerpms.com +szputy.com +szpxe.com +szqcz.com +szqf.org +szqgzx.com +szqinxindz.com +szqsq.com +szqt.net +szquanli.com +szrcfw.com +szrlqy.com +szrrjc.com +szschj.com +szsci.net +szscree.com +szsczx.com +szseafoodexpo.com +szshequ.org +szshinp.com +szsia.com +szsing.com +szsjtjj.com +szsky.com +szslhssy.com +szsmk.com +szsq.net +szsti.net +szsunlaser.com +szswt.net +szt365.com +sztaijier.com +sztalent.org +sztanko.com +sztara.com +szteacher.net +szthks.com +sztkc.com +sztongdazulin.com +sztopbrand.com +sztspi.com +sztxcpa.com +szuavia.org +szvca.com +szvft.com +szvi-bo.com +szwb.com +szwblm.com +szwego.com +szweita.com +szwellsun.com +szwfb.com +szwfzs.com +szwgroup.com +szwstui.com +szwwco.com +szxbyx.com +szxdhj.com +szxianchu.com +szxiangjun.com +szxihu.com +szxinghe.net +szxinjiaxin.com +szxinyixin.com +szxlga.com +szxqsx.com +szxsdmy.com +szxuexiao.com +szxxtx.com +szyfdz.net +szyhljt.com +szyibei.com +szyin.com +szyingwei.com +szyingzhan.com +szyixiu.net +szyjedu.com +szymweb.com +szyran.com +szysmpay.com +szyuda88.com +szyxwkj.com +szyy0373.com +szyyda.com +szyyt.com +szyyx.com +szzbmy.com +szzfgjj.com +szzfzd.com +szzh365.com +szzhangchu.com +szzs360.com +szzxks.net +szzyqc.net +t-bb.net +t-biao.com +t-cha.com +t-cheshi.com +t-chs.com +t-d.tv +t-firefly.com +t-gafa.com +t-io.org +t-ji.net +t-jiaju.com +t-jiu.com +t-nan.com +t-v.com +t.tt +t00y.com +t027.com +t086.com +t1.ink +t10.com +t105.com +t11.store +t12.com +t123yh.xyz +t1networks.com +t1y4.com +t20000.com +t262.com +t2cn.com +t2df.com +t3315.com +t365777.com +t5.work +t56.net +t56jy.net +t58b.com +t5a9.com +t5xs.com +t6756.com +t6q.com +t7t71.com +t7w157.com +t85.net +t888w.com +t8f.com +t8tcdn.com +ta26.com +taaas.org +tabalt.net +tachangxing.com +taclsc.org +tadaigou.com +tadseeker.com +tadu.com +taeapp.com +tag.gg +taglyst.com +tagmmm.com +tagphi.net +tagtxq.com +taguage.com +taguxdesign.com +tahua.net +tai-liang.com +tai3399.com +tai666666.com +tai87.com +taian.com +taianmedia.com +taiantang.net +taibumall.com +taichangle.com +taichi-app.com +taicihome.com +taidao.net +taidous.com +taidu.com +taidupa.com +taifutj.com +taig.com +taigaoxiao.com +taigongwl.com +taiguoyu.com +taihaikj.com +taihainet.com +taihaocn.com +taihe.com +taihehospital.com +taihemedia.com +taiho.cc +taihuoniao.com +taihuwang.com +taihuyuan.com +taiji.com +taijicoder.com +taijiny.com +taijio.com +taijs.com +taijutt.com +taijutv.com +taikang.com +taikanglife.com +taikangzhijia.com +taikeji.com +taikongmedia.com +taikr.com +tainicement.net +taipingyangyinshua.com +taiqigame.com +tairan.com +taishangshiwu.com +taishenghb.com +taishengtoys.com +taitaiblog.com +taitaikg.com +taiwandao.tw +taixingren.com +taixsw.com +taiyang888.com +taiyangd.com +taiyanghttp.com +taiyangpo.com +taiyiche.com +taiyiplus.com +taiyougo.net +taiyulink.com +taizibao.com +tajdny.com +tajubao.com +tajyw.net +takungae.com +takungpao.com +tal-rasha.com +taladapp.com +talangy.com +talbrain.com +talebase.com +talebook.org +talentjava.com +talents-tech.com +talentsmag.com +talicai.com +taliove.com +taljdns.com +talk-fun.com +talk007.com +talkgw.com +talkingchina.com +talkingdata.com +talkingdata.net +talklee.com +talkop.com +talkwithtrend.com +talkyun.com +taluo.com +talyscm.com +talzjsj.com +tamaegis.com +tamc8.com +tamersunion.net +tamguo.com +tamigroup.com +tamll.com +tamtattoodx.com +tan.cc +tan07.com +tan14.net +tan8.com +tan90.me +tanbaicun.com +tanbo.name +tancdn.com +tanchinese.com +tandehao.com +tandjx.com +tang-lei.com +tang.su +tang8.com +tangcuwang.com +tangdaoya.com +tangdou.com +tangdouimg.com +tangeche.com +tanggu11g.com +tangguoxian.com +tanghushi.com +tangjie.me +tangjiu.com +tangkabj.com +tanglei.name +tangmi.net +tangobrowser.net +tangongye.com +tangrenjv.com +tangruiqian.com +tangsanshu.com +tangshan.cc +tangshijun.com +tangshuang.net +tangshui.net +tangsongys.com +tangsuanradio.com +tangtang.org +tangtanghr.com +tanguan.net +tangux.com +tangwumo.com +tangyingkang.com +tangzhekan2.net +tangzhuan666.com +tanhaibo.net +tanho.com +tanhu.net +tankeai.com +tankmm.com +tankywoo.com +tanling.com +tanluxia.com +tanmer.com +tanmizhi.com +tannet-information.com +tanpoqiuer.com +tanrd.com +tanshudata.com +tansoole.com +tansuotv.com +tantanapp.com +tantu.com +tantu.info +tantuw.com +tanv.com +tanwan.com +tanwan123.net +tanwanyx.com +tanweime.com +tanwuapp.com +tanx.com +tanyihui.com +tanyu.mobi +tanyuantech.com +tanzhouedu.com +tanzhoujiaoyu.com +tanzhouvip.com +tao-jiujiu.com +tao-star.com +tao-studio.net +tao-wu.com +tao008.com +tao123.com +tao168.com +tao2tao.com +tao30.com +tao616.com +tao800.com +tao8090.com +tao885.com +taoad.com +taoba568.com +taobao-img.com +taobao.com +taobao.cz +taobao.net +taobao.org +taobao.tw +taobao.wang +taobao1111.com +taobao92.com +taobaocdn.com +taobaocdn.net +taobaoux.com +taobaoweb.co +taobaozxw.com +taobc.com +taobeihai.com +taobeirj.com +taobz.com +taoc.cc +taocece.com +taoche.com +taoci.com +taocloudx.com +taocms.org +taocz.com +taodabai.com +taodake.com +taodangpu.com +taodaso.com +taodaxiang.com +taodianjia.com +taodiantong.com +taodiqupu.com +taodocs.com +taodu.com +taodudu.cc +taoduyx.com +taofang.com +taofen8.com +taofont.com +taogula.com +taohaobang.com +taohhui.com +taohua.com +taohuaan.net +taohuadao3.com +taohuazu.net +taohuazu.pw +taohui.pub +taohuichang.com +taohuizhou.com +taohuochang.com +taohuren.com +taohwu.com +taoibao.net +taojiji.com +taojin6.com +taojindi.com +taojingame.com +taojinhudong.com +taojinji.com +taojinyi.com +taokaifu.com +taoke.com +taokehome.com +taokewenan.com +taokezhushou.com +taokouling.com +taoku.com +taolusm.com +taolx.com +taomanhua.com +taomee.com +taomeiju.com +taoming.com +taomingyan.com +taonienie.com +taoniu.com +taoniupin.com +taooo.cc +taopiaopiao.com +taopinquan.com +taoq.net +taoqao.com +taoqian123.com +taoquanquan.com +taosdata.com +taosem.com +taoshouyou.com +taoshu.com +taoshudang.com +taosj.com +taotao.com +taotaocar.com +taotaosou.com +taotieren.com +taotiwang.com +taotu8.net +taotumowang.com +taotuwu.com +taou.com +taowenxue.com +taowola.com +taoxiaolu.com +taoxiaozhong.com +taoxie.com +taoxv.com +taoyeyou.com +taoyi-support.com +taoyinqing.com +taoyizhu.com +taoyoupin.com +taoyuantravel.com +taozaisheng.com +taozhutu.com +tapapis.com +tapas.net +tapdata.net +tapdb.com +tapdb.net +tapechat.net +tapenjoy.com +tapimg.com +tapotiexie.com +tapque.com +taptap-api.com +taptap.com +taptapcode.com +taptapdada.com +taraniss.com +tarczp.com +tarenacn.com +tarenwang.net +tarsocial.com +tartscenter.com +tasiyun.com +taskcity.com +taskcn.com +taskyou.net +taslgs.com +tasly.com +tastespirit.com +tastones.com +tastysteak.com +tatace.com +tatatimes.com +tatazu.com +taterli.com +tattoo114.com +tattoo77.com +taurus66.com +tavsiktlig.com +tax-edu.net +taxjiangkewang.com +taxnote.org +taxspirit.com +taxwen.com +tayohya.com +tazhe.com +taznsb.com +tb.am +tb51.net +tb58.net +tb888.net +tbadc.com +tbankw.com +tbcache.com +tbdazhe.com +tbdiy.com +tbh5.com +tbhcc.com +tbhelper.com +tbhjgc.com +tbkf.net +tbl-import.com +tblk.me +tbnimg.com +tbq168.com +tbqw.com +tbsandbox.com +tbscp.net +tbsgame.net +tbshops.com +tbsite.net +tbt.cc +tburl.in +tburl.net +tbw-fuzhuang.com +tbw-hufu.com +tbw-xie.com +tbwbao.com +tbwda.com +tbwfy.com +tbxt.com +tbyfsoft.com +tbyuantu.com +tc-21.com +tc-ds2000.com +tc12580.com +tc199.net +tc9011.com +tc930.com +tcc.so +tccqb.com +tccxfw.com +tcdai.com +tcdbcc.com +tcdnlive.com +tcdnos.com +tcdnv3.com +tcdnvod.com +tcdnvp.com +tcdushi.com +tceic.com +tcfhty.com +tcgcardgame.com +tchbgz.com +tchilde.com +tchzt.com +tciplay.com +tcl.com +tclbusiness.com +tclclouds.com +tclking.com +tcloudbase.com +tcloudbaseapp.com +tcloudfamily.com +tcloudlife.com +tcloudscdn.com +tcloudscdn.net +tcm100.com +tcmfrj.com +tcmygy.com +tcnews.cc +tcnvmms.com +tcp.hk +tcpspc.com +tcqccn.com +tcrcb.com +tcrcsc.com +tcs-y.com +tcsae.org +tcsdzz.com +tcshare.org +tcsnake.com +tcstudents.com +tcstzg.com +tctd.net +tctip.com +tctong.com +tcxfpc-pcb.com +tcxw.cc +tcy365.com +tcylgslb.com +tcz.name +td-tech.com +td22.com +td518.com +td776.com +td98.com +tdatamaster.com +tdbzcl.com +tddmp.com +tddspmall.com +tdfcw.com +tdict.com +tdimg.com +tdldz.com +tdlegg.com +tdnsv1.com +tdnsv2.com +tdnsv3.com +tdnsv5.com +tdnsv6.com +tdnsv8.com +tdpress.com +tdun.com +tduou.com +tdyxmoto.com +tdzyw.com +te5.com +te6.com +tea26.com +tea7.com +tea88gifts.com +teach365.com +teachcn.net +teachercn.com +teacherhou.com +teacti.com +teakki.com +teaku.com +teamall.cc +teambition.com +teambition.net +teambuy.cc +teamlogs.com +teamminus.com +teamotto.net +teamshub.com +teamtopgame.com +teapic.com +teatreexy.com +teazhishi.com +tebaidu.com +teboncapital.com +tecbbs.com +tecenet.com +tech-domain.com +tech-food.com +tech-mx.com +tech-sonic.net +tech1024.com +tech110.net +tech126.com +tech2ipo.com +techan.com +techantong.net +techbeat.net +techbrood.com +techeme.net +techenergize.com +techflow520.com +techgastronomy.com +techgogogo.com +techkedu.com +techmiao.com +technode.com +techoke.com +techsir.com +techuangyi.com +techug.com +techvisum.com +techwalker.com +teclast.com +tecobj.com +tecyle.com +tedaniu.com +teddymobile.net +tedx.net +tee7.com +teein.com +teencn.com +teeqee.com +tefl-china.net +tegongji.com +tegoushe.com +tehui001.com +tehuituan.com +tejiabei.com +tejiaquan.com +tejiawang.com +tektea.com +telaideyouxue.com +teld.net +telefen.com +telehr.com +teleinfoo.com +teleland.net +telfri.net +teliute.org +telking.com +tell520.com +telling.com +telllove520.com +telnet404.com +telojob.com +telu.net +telunsu.net +tem.pw +tem365.com +temaihui88.com +temaiku.com +temox.com +temp.im +tencdns.net +tencent-blackboard.com +tencent-cloud.com +tencent-cloud.net +tencent-gf.com +tencent.com +tencent.com.hk +tencentads.com +tencentclb.com +tencentcloud.com +tencentcloudapi.com +tencentcs.com +tencentdba.com +tencentdevices.com +tencentipv6.com +tencentlog.com +tencentmeeting.com +tencentmind.com +tencentmusic.com +tencentsuite.com +tencentwm.com +tencentyun.com +tenchii.com +tendacn.com +tendawifi.com +tendcode.com +tenddata.com +tenfafa.com +tenganxinxi.com +tengattack.com +tengbai-it.com +tengbo.cc +tengchu.com +tengdinggame.com +tengfang.net +tengfangyun.com +tengfeijob.com +tengfeizhida.com +tengfun.com +tenghen.com +tenglutg.com +tengma123.com +tengmed.com +tengmoney.com +tengshuodz.com +tengwen.com +tengwen001.com +tengxiao.wang +tengxunmail.com +tengxunqiye.com +tengxunqiyeyou.com +tengxunyu.com +tengxunyundaijinquan.com +tengy.com +tengyuejz.com +tengzhihh.com +tengzhipp.com +tengzhuan.com +tenhot.net +teniucaijing.com +teniujinfu.com +tenlonstudio.com +tenlywu.com +tenmh.com +tennisworld.mobi +tennoo.com +tenpay.com +tenqent.com +tensafe.com +tenshi.cc +tensorchip.com +tensornews.net +tenstars.net +tensynad.com +tensynchina.com +tentrue.com +tentx.com +tenxapp.com +tenxcloud.com +tenxcloud.net +teoripendidikan.com +teown.com +tepcb.com +tepintehui.com +terabuy.com +terapines.com +terence2008.info +terencexie.com +teridge.com +terminus.io +terra-master.com +terransforce.com +teruide.net +tese5.com +teshenqi.com +tesolsh.com +tesoon.com +test-edu.net +test404.com +testbird.com +testcoo.com +testeb.com +testerhome.com +testerlife.com +testict.com +testip.xyz +testjj.com +testroad.org +testrust.com +testtao.com +testwo.com +testxy.com +teuhui.com +tex68.com +texclo.net +text.wiki +teyop.com +tezhengma.com +tezhongzhuangbei.com +tezign.com +tf.wiki +tf86.com +tfang.net +tfax.com +tfbcj.com +tfcaijing.com +tfcloud.com +tfclub.com +tfdccn.com +tfedu.net +tff.bz +tfg2.com +tfgame.vip +tfhj.com +tfme.com +tfogc.com +tfol.com +tfrl.net +tfsino.com +tfsmy.com +tfxgt.com +tfysw.com +tfyum.net +tfzcode.com +tg-vision.com +tg-vision.net +tg0123.com +tg1234.com +tg72.com +tgbus.com +tgcid.org +tghello.com +tgirl.cc +tgjh.com +tgking.net +tgljw.com +tglxh.com +tgnet.com +tgovcloud.com +tgshiguan.com +tgyoo.com +tgyun.cc +th123.com +th38.com +thaiyuehealth.com +thamco.com +thanhong.me +thanhtunghairsalon.com +thankbabe.com +thatinterpreter.net +thatsmags.com +thatsmandarin.com +thbattle.net +thcad.net +thcantech.com +thdb.com +the4can.com +the5fire.com +the9.com +thearenacapital.com +thearyong.com +theateliercouture.com +thebeastshop.com +thebeautools.com +thebeijinger.com +thebeijingnews.com +thechihuo.com +thechois.cc +thecode.me +thecodeway.com +thedatasys.com +theduapp.com +thefatherofsalmon.com +thefifthera.com +thegbdc.com +thegiac.com +theguangdong.com +thehanshow.com +theiei.com +thejamy.com +thejiangmen.com +thejoyrun.com +thelarkcloud.com +thelastsky.com +themebetter.com +themeforwp.net +themeila.com +themex.net +themez.cc +themisweeps.com +then9.com +thenburn.com +thenew123.com +theorychina.org +thepaintstore.net +thestack.net +thethirdmedia.com +thetigerhood.com +thetongji.com +thetype.cloud +thewowa.com +thexnode.com +theyun.com +thfdcsoft.com +thfure.com +thhome.net +thief.im +thinbug.com +thingjs.com +thingtry.com +thinkcmf.com +thinkdream.com +thinkeridea.com +thinkhard.tech +thinkindrupal.com +thinkjs.org +thinksns.com +thinksrc.com +thishealthsummit.com +thisim.net +thisisdongdongqiang.com +thiztech.com +thjunshi.com +thmovie.com +thmz.com +thn21.com +thoughtworkers.org +thrbs.com +threadcn.com +threegorgestours.com +threeol.com +threetong.com +ths123.com +ths8.com +thseoer.com +thstars.com +thstp.com +thsyyxgs.com +thtfpc.com +thumedialab.com +thundercdn.net +thunderflash.net +thunderobot.com +thunderurl.com +thunis.com +thunisoft.com +thunlp.org +thupdi.com +thwiki.cc +thxbxg.com +thxddb.com +thxedu.com +thxflt.com +thxxw.com +thyclub.com +thyoo.com +thyou.com +thz56.com +thzab.com +thzcb.com +thzer.com +thzxhm.com +ti-node.com +ti-solar.com +ti98.com +tian10.com +tianan-cyber.com +tiananmenlvyou.com +tianapi.com +tianbai.net +tianbaosi.com +tiancaiui.com +tiancaixing.com +tianchu.com +tiancipz.com +tiancity.com +tiancitycdn.com +tiandaoedu.com +tiandi.com +tianditu.com +tianditu.org +tiandizw.com +tianduntech.com +tiandy.com +tianelian.com +tianfeiyu.com +tianfupic.com +tianfusoftwarepark.com +tianhaohz.com +tianhejiayi.com +tianhongdiaosu.com +tianhongsunshine.com +tianhujy.com +tianji.com +tianji368.com +tianjieleather.com +tianjigame.com +tianjihr.com +tianjimedia.com +tianjin-air.com +tianjingrong.com +tianjinshunma.com +tianjinwe.com +tianjinxs.com +tiankong.com +tiankong.info +tiankonguse.com +tianlaiedu.com +tianlaikge.com +tianlan.net +tianmao.com +tianmaying.com +tianmeng.org +tianmidian.com +tianmin789.com +tianmujiqi.com +tianmupe.com +tianmupr.com +tiann90.com +tianniuyouxi.com +tiannv.com +tianpeng.com +tianpinjie.com +tianpujun.com +tianqi.cc +tianqi.com +tianqi123.com +tianqi321.com +tianqi4.com +tianqi518.com +tianqiaojuyuan.com +tianqiaoyishuzhongxin.org +tianqiapi.com +tianqihoubao.com +tianqijun.com +tianqikb.com +tianqistatic.com +tianqiwang.org +tianrow.com +tianruixinxi.com +tianruiyun.com +tiansenjituan.com +tianshan277.com +tianshangrenjian123.com +tianshengdiyi.com +tianshi.info +tianshi2.net +tianshiaomei.com +tianshiyiyuan.com +tianshouzhi.com +tianshuge.com +tiansin.com +tiantailaw.com +tiantang6.com +tianti.com +tiantian.com +tiantian8.com +tiantiancaipu.com +tiantianfm.com +tiantianfunds.com +tiantianhr.com +tiantianleshuiguo.com +tiantianquce.com +tiantianqutao.com +tiantianring.com +tiantiansoft.com +tiantiantiao.com +tiantianxuexi.com +tiantk.com +tiantonglaw.com +tianvalue.com +tianwenhu.com +tianxia.la +tianxiadianjia.com +tianxiajiameng.com +tianxiang.com +tianxianle.com +tianxiawangxiao.com +tianxiaxiao.net +tianxiaxinyong.com +tianxinfan.com +tianxing.com +tianxinsuye.com +tianya.com +tianya.tv +tianya999.com +tianyablog.com +tianyabook.com +tianyaclub.com +tianyaluedu.com +tianyana.com +tianyancha.com +tianyanqifu.com +tianyant.com +tianyaruanwen.com +tianyaui.com +tianyecollege.com +tianyi1368.com +tianyibook.com +tianyihy.net +tianyiidc.com +tianyijue.com +tianyinzaixian.com +tianyiweiya.com +tianyuimg.com +tianzeba.com +tianzhao.net +tianzhuo.com +tianzikj.com +tianziyu.com +tianzongyouxi.com +tiaodao.com +tiaoguangbolimo.com +tiaohao.com +tiaoliao.biz +tiaomu.com +tiaona.com +tiaooo.com +tiaotiaotang.net +tiaozhanbei.net +tiatiatoutiao.com +tibaitong.com +tibet3.com +tibet4wd.com +tibet9.com +tibetanbible.org +tibetannet.com +tibetcn.com +tibetcnr.com +tibetcul.com +tibetculture.net +tibetcyts.com +tibetway.com +ticketdashi.com +ticketmars.com +ticp.io +ticp.net +ticstore.com +ticwear.com +tida120.com +tidb.io +tideswing.fun +tidi.mobi +tiduyun.com +tieba.com +tiebaimg.com +tiebamm.com +tiebaobei.com +tiebashop.com +tiedan2019.com +tiegu.com +tiejia123.com +tiejiang.org +tiejiong.com +tiejp.com +tielemao.com +tielingcn.com +tielu.org +tiepishihu.com +tietie.la +tietuku.com +tieweishi.com +tieww.com +tiexie0.wang +tiexing.com +tiexing.net +tiexiuyugudao.com +tiexue.net +tieyi.tm +tieyou.com +tiezhima.com +tiezis.com +tigerbbs.com +tigerbrokers.com +tigerbrokers.net +tigeresop.com +tigerfintech.com +tigersecurities.com +tigeryun.com +tiham.com +tiimg.com +tijian001.com +tijian123.com +tijianbao.com +tijianka.cc +tijianshangmen.com +tijianzhuanjia.com +tikane.com +tikersport.com +tikuol.com +tillcn.com +timanetworks.com +timchen314.com +time-weekly.com +time-year.com +time.izatcloud.net +time2011.com +timecoo.com +timedg.com +timenote.cc +timeofdate.com +timeoutbeijing.com +timeoutcn.com +timepill.net +timeread.com +timeread.net +timesdf-hn.com +timetw.com +timev.com +timing360.com +timipc.com +timitime.com +timjx.com +tinderboxx.com +tinfinite.com +ting-tou.com +ting30.com +ting55.com +ting85.com +tingall.com +tingbook.com +tingcd.com +tingchewei.net +tingchina.com +tingclass.com +tingclass.net +tingdegang.com +tingfun.net +tingjiandan.com +tingke8.com +tingliku.com +tingmall.com +tingmimi.net +tingroom.com +tingshubao.com +tingshucn.com +tingshuge.com +tingtao.net +tingwusun.com +tingyulou.com +tingyun.com +tingyunfenxi.com +tinkad.net +tinkerpatch.com +tinman798.net +tinsecret.com +tinsecret.org +tiny-calf.com +tiny4.org +tinyems.com +tinyflare.com +tinygroup.org +tinylab.org +tinyservices.net +tinyyuan.com +tipaipai.com +tipask.com +tipdm.com +tipray.com +tiprpress.com +tips1000.com +tiqiaa.com +tiqianle.com +tired.im +tiruna-cn.com +tisgame.com +tisino.com +tisiwi.com +tisohinge.com +tita.com +titan007.com +titan24.com +titanar.com +titanmatrix.com +titapark.com +tixa.com +tixaapp.com +tixaclub.net +tiyalive.com +tiye.me +tiyeji.com +tiyep.com +tiyii.com +tiyu68.com +tiyudaka.com +tiyufeng.com +tiyule.com +tiyusaishi.com +tiyuxiu.com +tizi.com +tizi365.com +tizoinfo.com +tj-guangxin.com +tj-kingdee.com +tj-model.com +tj-un.com +tj-yijiajing.com +tj-zt.com +tj0573.com +tj20.com +tjabjm.com +tjaide.com +tjashy.com +tjbearing.com +tjbh.com +tjbsq.com +tjbus.com +tjcamp.com +tjcondom.com +tjculture.com +tjdcsd.com +tjdwkj.com +tjdyf.com +tjfer.com +tjflora.com +tjgangkouyiyuan.com +tjgcs.com +tjgdjn.com +tjgtgd.com +tjhukou.com +tjhyzyxy.com +tjinsuo.com +tjitrc.com +tjj.com +tjjapp.com +tjjt360.com +tjjwt.com +tjkpzx.com +tjkx.com +tjkximg.com +tjkyhr.com +tjluohuzhijia.com +tjmama.com +tjmhc.com +tjmuch.com +tjorthop.org +tjpa-china.org +tjpma.org +tjptfhq.com +tjqktgg.com +tjrge.com +tjsjnxh.com +tjst.net +tjstats.com +tjtdhyfs.com +tjtzkj.com +tjufbase.com +tjupdi.com +tjvedu.com +tjwch.com +tjwch.org +tjwenjie.com +tjwj88.com +tjwmschool.net +tjwzy.com +tjxishuai.com +tjxmzd.com +tjxrm.com +tjxxcl.com +tjxxsw.com +tjxz.cc +tjyfkt.com +tjyouai.com +tjyun.com +tjyywjc.com +tjyz.org +tjzb.com +tjzcsj.com +tjzentan.com +tjzfcg.com +tjzhongyiyao.com +tjzrld.com +tjzsxl4.com +tjzyec.com +tk-rays.com +tk-xiong.com +tk163.com +tkf.ink +tkg5.com +tkgame.com +tkhealthcare.com +tkoubei.com +tkplusemi.com +tkw.cc +tkxxd.net +tkxzw.com +tky001.com +tl-self.com +tl-shida.com +tl-tek.com +tl-vogue.com +tl88.net +tlbaby.com +tlby120.com +tlbyx.com +tlcharity.com +tlfjw.com +tlfw.net +tlggzyjy.com +tlightsky.com +tlinx.com +tljcw.com +tljob8001.com +tlkzs.com +tlqwine.com +tlrcbk.com +tlsj-hd.com +tlstwy.com +tlte.com +tltesoft.com +tltuan.net +tltzg.com +tlwok.com +tlyy.cc +tm12ji.com +tm312.com +tma-001.com +tmabike.com +tmaill.com +tmall.casa +tmall.com +tmall.hk +tmall.ru +tmallma.com +tmallvvv.com +tmbbs.com +tmcdn.net +tmdm.com +tmeiju.com +tmhong.com +tmhvps.com +tmigoods.com +tmisp.com +tmjob88.com +tmjypx.com +tmkoo.com +tmmini.com +tmqmqj.com +tmrcw.com +tmscnz.com +tmsf.com +tmsgschool.com +tmtforum.com +tmtpost.com +tmtpost.net +tmuaih.com +tmuyun.com +tmwcn.com +tmxmall.com +tmxxw.com +tn2000.com +tn597.com +tnbz.com +tnccdn.com +tnet.hk +tngcjx.com +tnjyfc.com +tnkjmec.com +tntdown.com +to-future.net +to4f.com +to8to.com +to9.org +to999.com +tobaccobid.com +tobaccochina.com +toberp.com +tobnews.com +tobosu.com +tobosu.net +tobsnssdk.com +tochgo.com +tochinajob.com +tocosc.com +today36524.com +todaycache.net +todayguizhou.com +todayidc.com +todayios.com +todayisp.net +todaynic.com +todebug.com +todesk.com +todoen.com +todokeji.com +todonow.com +todosomeone.com +toec-gdgs.com +toec-iot.com +toec.com +toecsec.com +toecsoft.com +toecxy.com +togj.com +togln.com +togocareer.com +togogo.net +tohic.net +tohkalove.com +tohosting.com +tohosting.net +tohours.com +tohuo.com +toidea.com +tok9.com +token-ad.com +tokenglish.com +tokeninsight.com +tokenpocket.pro +tokensky.net +tokenview.com +tokenworld.pro +tokimekiclub.org +toktok-mall.com +tol24.com +tom.cat +tom.com +tom163.net +tom61.com +tomap.me +tomatolei.com +tomax.xyz +tomczhen.com +tomdiy.com +tomonline-inc.com +tomotoes.com +tompda.com +tomujiang.com +tomwx.net +tonbao.com +tonehk.com +tonewinner.com +tongbanjie.com +tongbanjie.info +tongbaoyun.com +tongbu.com +tongbulv.com +tongbupan.com +tongbusj.com +tongcaihulian.com +tongchaba.com +tongcheng.cc +tongchouba.com +tongda2000.com +tongdaohui.com +tongdiaogs.com +tongdoutown.com +tongdun.net +tongfangpc.com +tongfengqu.com +tongfu.net +tonggao.info +tongguanbao.net +tonghs.com +tonghuaji.com +tonghuiqiye.com +tongji.com +tongji.net +tongjiai.com +tongjitong.com +tongleer.com +tongli-hrcc.net +tongliangrc.com +tongliaowang.com +tonglu-tour.com +tongluyizhao.com +tongmengguo.com +tongpankt.com +tongshanbank.com +tongshuai.com +tongtech.com +tongtianta.site +tongtongli.com +tongtool.com +tongwang.net +tongxiang.net +tongxin.com +tongxin.org +tongxinclub.com +tongxinghui.com +tongxinky.com +tongxinmao.com +tongxinteng.com +tongxiong.com +tongxue.com +tongxue365.com +tongyavisa.com +tongye.biz +tongyi.com +tongyidrying.com +tongyongji.net +tongyou188.com +tongyuanos.com +tongyue.com +tongzhuo100.com +tonitech.com +tonnn.com +tonysfarm.com +toobug.net +toocle.com +toodaylab.com +toohiphop.com +tool.cx +tool.la +tool.lu +tool77.com +toolinbox.net +toolmall.com +toolmao.com +toolnb.com +tools.google.com +tools.l.google.com +tools1000.com +tooming.com +toomoss.com +toon.mobi +toonmax.com +toonmaxmedia.com +tooogooo.com +tooopen.com +tooseo.com +tootour.com +toouoo.com +top-iot.com +top100summit.com +top147.com +top1food.com +top2099.com +top263.net +top2fun.com +top3456.com +topacg.com +topber.com +topbester.com +topbiz360.com +topbm.com +topbook.cc +topcfo.net +topcheer.com +topchitu.com +topciic.com +topcj.com +topcrab.com +topcsic.com +topdiaoyu.com +topdodo.com +tope365.com +topeditsci.com +topeet.com +topeetboard.com +topengroup.net +topfisc.com +topflames.com +topfreeweb.net +topgslb.com +topguo.com +topgus.com +tophant.com +tophold.com +tophr.net +tophub.fun +tophub.today +topide.com +topitme.com +topjoy.com +topjoycloud.com +topksw.com +topku.com +toplanit.com +toplee.com +toplife.com +toplinks.cc +toploong.com +topmba.mobi +topnews9.com +topomel.com +toppdu.com +topperuse.com +toppiao.net +topproio.com +topqh.net +toprand.com +topsage.com +topscan.com +topsedu.com +topsrx.com +topswim.net +toptastewin.com +topthink.com +topthink.net +toptools100.com +toptourservice.com +topuc.com +topwalk.com +topwanwan.com +topway.org +topwaysoft.com +topys.com +topzj.com +torhea.org +torovo.com +toshiba-gtbs.com +toshiba-semicon-storage.com +toshiba-thpc.com +toshiba-tnis.com +toshow.com +tospur.com +tot.name +totalacg.com +totoro.pub +tou360.com +tou70.com +toubang.tv +toucdn.com +touch4.me +touchev.com +touchpal.com +touchrom.com +touchsprite.com +touchsprite.net +touchstudio.net +touchxd.com +touclick.com +touduyu.com +toufu321.com +toughcoder.net +tougub.com +touhou.cd +touhou.vote +toujidao.com +touker.com +toumiao.com +toupb.com +toupiaoapp.com +tour110.com +tourhr.com +tourjob.net +tourongjia.com +tourongzi.org +tourscool.com +toursforfun.com +tourye.com +toushibao.com +toutiao-xinwen.com +toutiao.com +toutiao.io +toutiao.org +toutiao11.com +toutiao12.com +toutiao13.com +toutiaoapi.com +toutiaoapp.com +toutiaobashi.com +toutiaobus.com +toutiaocdn.com +toutiaocdn.net +toutiaocloud.com +toutiaocloud.net +toutiaoimg.com +toutiaoimg.net +toutiaojc.com +toutiaolite.com +toutiaolite1.com +toutiaonanren.com +toutiaopage.com +toutiaostatic.com +toutiaovod.com +toutiaoyule.com +toutoufc.com +toutoupiao.com +touwenzi.com +touwho.com +touxiang8.com +touying.com +touyouquan.com +touzhibang.com +touzhijia.com +touzi.com +touzid.com +touzikuaibao.com +touzizn.com +tower.im +towinor.com +townsky.com +towntour.net +towords.com +towry.me +toxingwang.com +toybaba.com +toycloud.com +toyean.com +toysir.com +toysuperman.com +tp8.me +tpbook.com +tpkey.com +tplife.com +tplm123.com +tplogincn.com +tpooo.com +tpoxiaozhan.com +tpsxs.com +tpturang.com +tpy10.net +tpy100.com +tpyboard.com +tpywlkj.net +tpyyes.com +tq163.com +tq321.com +tq520.net +tqcj.com +tqcto.com +tqedu.com +tqedu.net +tqiantu.com +tql.ink +tqle.com +tqmall.com +tqmdp.net +tqqa.com +tqsafe.com +tqschool.net +tqybw.net +tr518.com +trace4me.com +tracefact.net +traceint.com +track-roller.com +trackingio.com +trackingmore.com +tracup.com +tracyclass.com +trade-over-world.com +trade-plug.net +trade2cn.com +tradeask.com +tradeleo.com +traderwork.com +tradew.com +tradow.com +tradyau.com +traineexp.com +trainingipv6.com +trait-wholesale.com +tranbanker.com +tranbbs.com +trans4e.com +transcn.org +transformer-cn.com +transfu.com +transfun.net +translate.googleapis.com +translation-dictionary.net +translation.googleapis.com +translationchina.com +transn.com +transnbox.com +transparcel.com +transplendor.com +transportjp.com +transrush.com +transtill.com +transwarp.io +transwiki.org +tratao.com +travel-x.cc +travel6.co.uk +traveldba.com +traveller2.com +travellingwithhotel.com +travellinkdaily.com +travelsky.com +travelsky.net +travelwuhan.com +travelyee.com +trc4.vip +trcoin.com +treation.com +treehousesub.com +treelib.com +treeoncloud.com +treetwins.com +treeyee.com +trejhtyrjetyjetyrkuy-3.xyz +trekin.space +trekiz.com +trend6.com +trendsmen.com +trendtokyo.com +tretars.com +trhj.net +trhos.com +trhui.com +trinitigame.com +trinitigames.net +trioisobardev.com +trip8080.com +tripbaba.com +tripbe.com +tripdv.com +triphr.com +triplexservice.com +trippanda.com +tripsanxia.net +tripsmc.com +tripvivid.com +tripwirechina.com +triring.com +triumbest.net +trjcn.com +trjcn.net +trjggs.com +trkeyboard.com +troila.com +trojantesting.com +tronixin.com +trpcdn.net +trsoft.vip +trsoft.xin +trsol.com +trt.hk +trtb.net +trueart.com +truebuty.com +trueeyu.com +trueland.net +trueme.net +truemv.com +truerun.com +truesing.com +trufun.net +trusfort.com +trust-one.com +trust400.com +trustasia.com +trustedsign.com +trustexporter.com +trustie.net +trustkernel.com +trustlife.com +trustmover.com +trustmta.com +trustocean.com +trustsoc.com +trustutn.org +trwl.net +try2explore.com +tryenough.com +tryfun.com +tryineapp.com +trylist.net +trymoka.com +trysenz.com +tryurbest.com +tryxue.com +ts-cooling.com +ts-juheng.com +ts100.com +ts108.com +ts166.net +ts168.net +ts16949px.com +ts16949rz.org +ts95.com +tsddu.com +tsdlp.com +tsdm.net +tsdmw.net +tsdxb.com +tsfucai.com +tsg-online.net +tsggwl.com +tshaisen.com +tshe.com +tshe.me +tshiny.com +tshmkj.com +tshtech.com +tsichuan.com +tsinghua-getinfo.com +tsinghuabook.com +tsinghuaic.com +tsinghuaicwx.com +tsinghuajournals.com +tsinghuan.com +tsinghuawoman.com +tsingj.com +tsingming.com +tsingoofoods.com +tsingpost.com +tsingtoo.com +tskscn.com +tskscn.org +tslapinshang.com +tsljzs.com +tslongtai.com +tslsmart.com +tsmtkj.com +tsmxs.com +tsoo.me +tsov.net +tsp189.com +tspsy.com +tspweb.com +tsqt.net +tsqw.com +tsrcw.com +tssakura.com +tsshunxin.com +tssns.net +tsstorry.com +tstdtz.com +tstone.xyz +tsu.tw +tsw18.com +tswuby.com +tsxcx.xyz +tsybsmz.com +tsyqb.com +tsyzm.com +tsz.com +tszckj.com +tszs360.com +tszyzx.com +tt-bike.com +tt-ly.com +tt116114.com +tt120.org +tt1386.com +tt1h.com +tt286.com +tt56w.com +tt65.org +tt83.xyz +tt86.com +tt96596.com +tt98.com +ttaidu.com +ttbba.com +ttbbss.com +ttbc33.com +ttbcdn.com +ttcad.com +ttcdy.com +ttdailynews.com +ttdown.com +ttdtweb.com +ttdz03.com +ttechhk.com +ttfly.com +ttgjx.com +tth1688.com +tthbw.com +tthigo.com +ttic.cc +ttigame.com +ttime.com +ttionya.com +ttjianbao.com +ttkdex.com +ttkefu.com +ttkkuu.com +ttkmj.org +ttkuan.com +ttkxh.com +ttkyy.net +ttll.cc +ttlsa.com +ttlutuan.com +ttmark.com +ttmd5.com +ttmeishi.com +ttmnq.com +ttmv.com +ttn8.com +ttpaicdn.com +ttpaihang.com +ttpaper.com +ttpet.com +ttplayer.com +ttpod.com +ttpp.com +ttq.com +tts8.com +ttsfgyrj.com +ttshengbei.com +ttsmmwb.com +ttsq6.net +ttstream.com +ttsz8.com +ttt.sh +ttthing.com +tttuangou.net +tttxf.com +tttz.com +ttufo.com +ttunion.com +ttuu.com +ttwanjia.com +ttwebview.com +ttwoyun.com +ttwx.com +ttxn.com +ttxs123.net +ttxsapp.com +ttxuanpai.com +ttxunta.com +ttyingqiu.com +ttyjf.com +ttymq.com +ttyongche.com +ttyqm.com +ttys5.com +ttysq.com +ttyyuuoo.com +ttz.com +ttzhongbao.com +ttzhushou.com +ttzw.com +ttzw.tv +ttzx.tv +ttzyw.com +tu11.com +tu520.cc +tu6.la +tu8.cc +tu960.com +tuan800.com +tuan800.net +tuanai.com +tuanche.com +tuancu.com +tuandai.com +tuanduishuo.com +tuanhuiwang.com +tuanidc.net +tuanimg.com +tuanjianjian.com +tuanjiebao.com +tuankezhan.com +tuanlego.com +tuanlin.net +tuanping.com +tuanshan.com +tuanwen.com +tuanxia.com +tuanxue360.com +tuanxue360.net +tuanyx.com +tubachina.com +tubangzhu.com +tubaobao.com +tubaobaoqm.com +tubaoveneer.com +tubaoyz.com +tubebbs.com +tubegetpro.com +tubiaoxiu.com +tuboshu.com +tubutu.com +tucaojie.com +tuchong.com +tuchong.net +tuchuang001.com +tuchuanhuwai.com +tucia.net +tucoo.com +tudai.cc +tudan.cc +tudan.vip +tudou.com +tudouh5.com +tudoupe.com +tudouui.com +tudouxy01.com +tudouyx.com +tudown.com +tudu.com +tudu.im +tuer.me +tugou.com +tugouli.com +tuguaishou.com +tuguoabc.com +tuhaihe.com +tuhaokuai.com +tuhu.com +tuhu.org +tuhu.work +tuhusmart.com +tui-8.com +tui18.com +tui56.com +tuiaaaa.com +tuiabq.com +tuiapple.com +tuiayonghu.com +tuibamboo.com +tuibat.com +tuibear.com +tuibench.com +tuiberry.com +tuibit.com +tuicoco.com +tuicool.com +tuidaniu.com +tuidc.com +tuideli.com +tuidove.com +tuidragon.com +tuifeiapi.com +tuifish.com +tuifrog.com +tuiguangdns.com +tuiguangpingtai.com +tuijie.cc +tuikemima.com +tuili.com +tuili8.com +tuilidashi.xin +tuilie.com +tuilisr.com +tuiliu.net +tuiliw.com +tuilixy.net +tuimax.com +tuimob.com +tuimz.com +tuipeanut.com +tuipear.com +tuipenguin.com +tuipine.com +tuipink.com +tuiplay.com +tuipony.com +tuiq.net +tuirabbit.com +tuirice.com +tuishao.net +tuishark.com +tuishiben.com +tuishujun.com +tuisnake.com +tuistone.com +tuitiger.com +tuitui99.com +tuituitang.com +tuiwailian.com +tuixue.online +tuizx.com +tujia.com +tujiacdn.com +tujian.com +tujidu.com +tujie8.com +tujiedianying.com +tujiwar.com +tujixiazai.com +tukaxiu.com +tuke88.com +tukexw.com +tukkk.com +tukong123.com +tuku.cc +tuku.com +tukucc.com +tukumanhua.com +tukuppt.com +tulading.com +tulaoshi.com +tuliaohr.net +tuling123.com +tulingtec.com +tuliren.com +tuliu.com +tumajewelry.com +tumanyi.com +tumeinv.com +tumukeji.com +tumuzhe.com +tuna.wiki +tungshungroup.com +tungsten-alloy.com +tungsten-bar.com +tungsten-copper.com +tungsten-jewellery.com +tungsten-powder.com +tunionfans.com +tuniu.cc +tuniu.com +tuniu.net +tuniu.org +tuniucdn.com +tuniuglobal.com +tuniuins.com +tuniuops.net +tunynet.com +tuo-li.com +tuo-pan.com +tuodanyy.com +tuohuangzu.com +tuoluocaijing.com +tuoluozhuan.net +tuoniaox.com +tuotuozu.com +tuoweisi.com +tuoxiaoshebei.com +tuoyundan.com +tuozhe8.com +tupai.me +tupian114.com +tupian1234.com +tupian365.com +tupiancunchu.com +tupiankucdn.com +tupianzj.com +tupu360.com +tuputech.com +tupuw.com +tuquu.com +turangyq.com +turbomail.org +turingapi.com +turingbook.com +turingcat.com +turingdi.com +turingtopia.com +turnitin.org.in +turnitincn.com +turnitinuk.net +tusapi.com +tusay.net +tuscdn.com +tusdk.com +tushare.org +tushare.pro +tushifu.com +tusholdings.com +tushu001.com +tushu007.com +tushuguan.cc +tushumi.com +tushupan.com +tushupdf.com +tusij.com +tusiot.com +tusooo.com +tuspark.com +tuspass.com +tuspass.net +tusstar.com +tutechanhb.com +tutorialdocs.com +tutu001.com +tutuapp.com +tutucloud.com +tutuge.me +tutuim.com +tutupan.com +tuvrblog.com +tuwan.com +tuwan21.com +tuwandata.com +tuwangwang.com +tuwenba.com +tuweng.com +tuwenla.com +tuwenzhibo.com +tux.red +tuxiaobei.com +tuxiu.com +tuya.com +tuyacn.com +tuyansuo.com +tuyaya.com +tuyiqi.com +tuyitu.com +tuyiyi.com +tuyoo.com +tuyou.me +tuyoujp.com +tuyoumi.com +tuyouxinxi.net +tuyuantech.com +tuz.im +tuzhan.com +tuzhan.net +tuzhanai.com +tuzhanh5.com +tuzhaozhao.com +tuzhizhijia.com +tuzi123.com +tuzi8.com +tuziyangzhi.com +tv0001.com +tv002.com +tv189.com +tv3w.com +tv432.com +tv5box.com +tvandnet.com +tvapk.com +tvapk.net +tvb1.cc +tvbbj.com +tvblack.com +tvbwind.com +tvcbook.com +tventry.com +tvfanqie.com +tvflnet.com +tvfuwu.com +tvguo.tv +tvhome.com +tvhuan.com +tvjianshen.com +tvkou.com +tvkuai.com +tvlele.com +tvmao.com +tvmcloud.com +tvmining.com +tvn.cc +tvoao.com +tvos.com +tvscn.com +tvsou.com +tvt.im +tvtsg.com +tvxio.com +tvyouxuan.com +tvzhe.com +tvzn.com +tw2sm.com +twanxi.com +twapk.com +twcad.com +twcczhu.com +twd2.me +twd2.net +twdm.net +tweakcube.com +twguozao.com +twh5.com +twinkleunion.com +twinsel.com +twinsenliang.net +twitterios.com +twk.cc +twlkbt.com +twoarmy.com +twocucao.xyz +twofei.com +tworice.com +twsapp.com +twsyue.com +twtstudio.com +twtym.com +twwtn.com +twwtn.net +twyuxin.com +twyxi.com +tx-livetools.com +tx-livetools.wang +tx-trans.com +tx009.com +tx163.com +tx29.com +tx3ka.com +tx5d.com +txbapp.com +txbimg.com +txcbwgg.com +txcdns.com +txcsjlb.com +txdai.com +txdy01.com +txdzs.com +txdzw.com +txfeiyu.com +txffp.com +txfund.com +txga.com +txianning.com +txip8.com +txitech.com +txjszz.com +txlt.com +txlunwenw.com +txmcu.com +txmeiju.com +txon.net +txooo.com +txqcw.net +txrjy.com +txrzx.com +txsc100.com +txsdk.com +txssw.com +txt07.com +txt321.com +txt81.com +txtbbs.com +txtbook.net +txtduo.com +txtreader.org +txttool.com +txtxz.com +txwb.com +txweekly.com +txwestart.com +txwgame.com +txwy.com +txwy.com.tw +txxbxx.com +txxtw16.com +txy8.com +txyapp.com +txyes.com +txylab.com +txzad.com +txzdq.com +txzing.com +ty-im.com +ty-tyre.com +ty2y.com +ty3w.net +ty8866.com +tyalxx.com +tybai.com +tyc100.com +tychio.net +tychou.com +tycits.com +tycmbvb.com +tycqxs.com +tycredit.com +tyee8.com +tyfo.com +tyhjzx.com +tyhuoyun.com +tyi365.com +tyjmmy.com +tyjmqz.com +tyksl.com +tyldclub.com +tyloo3d.com +tymcdn.com +tyn.cc +tyncar.com +tyniu.com +tyouai.com +tyouquan.com +typany.com +type.so +typecho.me +typechodev.com +typecodes.com +typekuon.com +tyr.gift +tyrad.cc +tyrantdb.com +tyread.com +tyriejl.com +tysdmh.com +tysj365.com +tysjyjy.com +tyst88.com +tysurl.com +tyswy.com +tyszy.com +tytlj.com +tytuyoo.com +tytywuliu.com +tyueo.com +tyust.net +tyuyan.com +tyuyan.net +tywbw.com +tywh.com +tywxw.la +tyy6.com +tyymt.com +tyzscl.com +tz-dsp.com +tz-wf.com +tz089.com +tz121.com +tz12306.com +tz1288.com +tz1980.com +tz8.com +tz911.com +tzbank.com +tzbank.net +tzbao.com +tzcul.com +tzdjzu.com +tzesf.com +tzfdc.com +tzfeize.xyz +tzfile.com +tzfuke.com +tzgcjie.com +tzhealth.com +tzhubo.com +tzhwcc.com +tzidc.com +tzidt.com +tzjxl.com +tzkameng.com +tzlib.net +tzm66.com +tzmauto.com +tzres.com +tzrl.com +tzsnw.com +tzsports.com +tzsti.com +tztusi.com +tzvtc.com +tzxgzk.com +tzxingtang.com +tzxwzx.com +tzye123.com +tzyg.org +tzysbwg.com +tzza.net +u-jingling.com +u-link.org +u-om.com +u-qun.com +u-road.com +u-tide.com +u005.com +u14.com +u148.net +u17.com +u17i.com +u17t.com +u193.com +u21a.com +u22e.com +u2j2ha.com +u2sz.com +u3dc.com +u3dcn.com +u3dol.com +u3v3.com +u51.com +u520.net +u5h5.com +u5wan.com +u69cn.com +u6u.com +u77.com +u78.com +u7u9.com +u8sy.com +u8yx.com +u9game.net +u9h.com +u9time.com +u9u8.com +u9u9.com +ua168.com +uadrc.com +uaedata.com +uao-online.com +uao.so +uauc.net +uavvv.com +uawnqe.com +uayangtze-volga.org +ub-os.com +ub.cc +ub666.cc +uban.com +ubangmang.com +ubernihao.com +ubersz.com +ubestkid.com +ubetween.com +ubgame.com +ubicdn.com +ubijoy.com +ubismartparcel.com +ubixai.com +ubja.vip +ubk22.com +ubmconlinereg.com +uboat100.com +ubooo.com +uboxol.com +uboxsale.com +ubs001.com +ubssdic.com +ubtrobot.com +ubuntubar.com +ubuntukylin.com +ubuntukylin.org +ubuntuqa.com +ubuuk.com +uc-union.com +uc108.com +uc123.com +uc129.com +uc1z.com +uc23.net +uc56.com +uc669.com +ucai123.com +ucaiyuan.com +ucaiyun.com +ucancs.com +ucantech.com +ucantech.net +ucardpro.com +ucarinc.com +ucbug.com +uccastore.com +uccheck.net +uccvr.com +ucdchina.com +ucdok.com +ucdrs.net +ucdwhatif.com +ucfly.com +ucfpay.com +uchangdi.com +uchiha.ltd +uchis.com +uchuanbo.com +uchuhimo.me +ucicq.com +ucjoy.com +uckendo.com +ucloudgda.com +ucly.net +ucnano.com +ucnest.com +ucpaas.com +ucpchina.com +ucpopo.com +ucren.com +ucss.ninja +uctrac.com +uctxt.com +ucuuc.com +ucw.pub +ucweb.com +ucxinwen.com +ucying.com +uczhidao.com +ucziliao.com +uczzd.com +uczzd.net +udache.com +udalogistic.com +udamall.com +udangjia.com +udashi.com +udaxia.com +udbac.com +udcredit.com +uddtrip.com +udecig.com +udeepin.com +udfex.com +udonmai.com +udpis.com +udrig.com +udsdown.xyz +uebao.com +uebilling.com +uecook.com +ued163.com +uedbox.com +uedhome.net +uedna.com +uedsc.com +uee.me +ueeshop.com +uehtml.com +ueibo.com +uekeer.com +uelike.com +uemo.net +uepei.com +ueren.com +uestcedu.com +uestcguoji.com +ueuz.com +ueview.com +uewaf.com +uf-crm.com +uf-tobacco.com +ufanw.com +ufbar.com +ufcap.com +ufenqi.com +ufhost.com +ufhosted.com +ufida-lcwy.com +ufidaoa.com +ufidawhy.com +ufileos.com +ufirefly.com +ufizl.com +uflowx.com +ufo.club +ufoer.com +ufofxw.com +ufojia.com +ufojoy.com +ufotm.com +ufovps.com +ug15.com +ug888.com +ugainian.com +ugapi.com +ugbb.com +ugcar.com +ugdtimg.com +ugediao.com +uggas.com +uggd.com +ugirls.tv +ugmars.com +ugmjd.com +ugojp.com +ugong.com +ugoshop.com +ugslb.com +ugslb.info +ugslb.net +ugsnx.com +ugubl.net +ugxsd.com +uhgal.com +uhomecp.com +uhomes.com +uhouzz.com +uhuitong.com +ui001.com +ui100day.com +ui4app.com +ui63.com +ui879.com +uibaba.com +uibim.com +uibmm.com +uibobo.com +uibot123.com +uicmall.com +uicom.net +uicool123.com +uid75.com +uidec.com +uidev.tech +uigreat.com +uihacker.com +uiiiuiii.com +uileader.com +uilover.com +uimaker.com +uimix.com +uincall.com +uincall400.com +uincom400.com +uipower.com +uisdc.com +uisheji.com +uishijie.com +uisnetwork.com +uisrc.com +uiste.com +uiu.cc +uiwed.com +ujian.cc +ujinbi.com +ujing.online +ujipin.com +ujiuye.com +ujwang.com +uk-edu.com +uk-odc.samsungapps.com +ukassignment.org +ukeban.com +ukelink.com +ukelink.net +uker.net +ukh5.com +ukolmv.com +ukongm.com +ukonline2000.com +ukoo.net +ukpass.org +ukpathway.com +ukraine-beauty.com +ukubang.com +ukui.org +ukulelecn.com +ulaaq.com +ulandian.com +ulaojiu.com +ule.com +ule.hk +uleapp.com +ulecdn.com +uleek.net +ulhat.com +uliaobao.com +ulikecam.com +ulikemusic.com +ulinix.com +ulink.cc +uliuli.fun +ulpay.com +ultramanclub.com +ultramanol.com +ulucu.com +ulzdk.com +umaman.com +umbpay.com +umcloud.com +umei.cc +umeng.co +umeng.com +umeng.online +umeng100.com +umengcloud.com +umenglog.com +umetrip.com +umi.im +umihome.com +umilu.com +umindex.com +uminehotel.com +umineiot.com +uminsky.com +umivi.net +umiwi.com +umjicanvas.com +uml-tech.com +umlchina.com +umlife.net +umlonline.org +umowang.com +umpay.com +umr18.club +ums86.com +umsns.com +umtrack.com +umvsoft.com +un-bug.com +un10086.com +un1c0de.xyz +una-ad.com +unages.com +unblockcn.com +unbuyi.com +uncbd.com +unccr.com +uncle-ad.com +uncledesk.com +unclenoway.com +unclenowayapi.com +unclicks.com +undefined.ltd +underfill.cc +uneed.com +unfish.net +ungifts.com +uni-perfect.com +unibizp.com +unicde.com +unicloud.com +unicomjnwy.com +unicomlife.com +unicompayment.com +unicomspeedtest.com +unicomtest.com +unicon-hibar.com +unicornacg.com +unifull.com +unigress.com +uninf.com +union-4.com +union-game.com +union-rnd.com +union-wifi.com +union178.com +union400.com +union555.com +union968.com +unionclouds.net +unioncyber.net +unionli.com +unionpay.com +unionpay95516.cc +unionpayintl.com +unionpaysecure.com +unionsy.com +uniontech.com +unionwebpay.com +unionzs.com +uniostay.com +uniow.com +uniplayad.com +uniproud.com +uniqueway.com +uniscope.com +unisedu.com +unisemicon.com +unisguard.com +unishy.com +unisoc.com +unisound.com +unispim.com +unisscan.com +unissoft.com +unistc.com +uniswdc.com +unitedbank.ltd +unitedmoney.com +unitek-it.com +uniteyun.com +unitop-apex.com +unity3d8.com +unitymanual.com +uniview.com +uniworldart.com +unixfbi.com +unixhot.com +unixidc.com +unizai.com +unjmz.com +unjs.com +unlimax.com +unnnnn.com +unnue.com +unohacha.com +unpcn.com +unqu.com +unsemi.com.tw +unspay.com +unsuv.com +unsv.com +unyoo.com +unzg.com +uo12.com +uodoo.com +uoeee.com +uofon.com +uoften.com +uohchina.com +uoj.ac +uoko.com +uomg.com +uono4521.com +uooconline.com +uoocool.com +uooioo.com +uoolu.com +uooss.com +uooyoo.com +uoozi.com +uoschina.com +uoser.org +uouo123.com +uovz.com +up360.com +up4dev.com +up71.com +upai.com +upaidui.com +upairs.com +upaiyun.com +upan.cc +upanboot.com +upanok.com +upanshadu.com +upanso.com +upantool.com +upanxitong.com +upbz.net +upcdn.net +upchina.com +upchinapro.com +upchinaproduct.com +upd.kaspersky.com +update.googleapis.com +updates-http.cdn-apple.com +updates-http.cdn-apple.com.akadns.net +updates.cdn-apple.com +updba.com +updrv.com +upe.net +upecp.com +upesn.com +upho2015.com +uphong.com +upimgku.com +upin.com +upkao.com +uplinux.com +uplookedu.com +uplooking.com +upnb.com +upowerchain.com +uppsd.com +upqzfile.com +upqzfilebk.com +ups-huawei.net +ups.ksmobile.net +ups001.com +upsapp.com +upst86.com +upsunet.com +uptougu.com +upupbug.com +upupfile.com +upupoo.com +upupw.net +upwardsware.com +upwith.me +upx8.com +upyun.com +upzxt.com +uqche.com +uqd1.net +uqee.com +uqeegame.com +uqer.io +uqi.me +uqidong.com +uqidong.net +uqite.com +uqq2.com +uqseo.com +uqude.com +uqulive.com +uqyqcuq.ml +urart.cc +urbanchina.org +urbanmatters.com +urbetter.com +urbetter.net +urcb.com +urcities.com +urfire.com +urgc.net +uri6.com +url.ms +urlos.com +urovo.com +urovoworld.com +urpimp.com +ursb.me +urselect.com +urtrust.com +us-ex.com +us7.com +usa-gti.com +usa-idc.com +usaas.net +usaedu.net +usagaa.com +usahaitao.com +usakongjian.net +usaliuxue.com +usaobb.com +usaphoenixnews.com +usashopcn.com +usbing.com +usbmi.com +usbxyz.com +uscnk.com +uscxm.com +usd-cny.com +usdxz1.com +usdxz1.net +use-trust.com +useaudio.com +usecubes.com +userhostting.com +userresearch.net +useryun.net +useso.com +usewo.com +usfcw.com +ushaqi.com +ushendu.com +ushengame.com +using.club +usingde.com +usingwin.com +usitour.com +usitrip.com +usjuw.com +usnook.com +usocctn.com +usocialplus.com +usoftchina.com +usonetrip.com +uspard.com +ustack.com +ustalk.com +ustc.edu +ustcers.com +ustclug.org +ustui.com +usu8.com +usuredata.com +uszcn.com +ut7.com +ut8d.com +utan.com +utanbaby.com +utbon.com +utc-ic.com +utecbj.com +utepo.com +uthinks.com +utiankong.com +utogame.com +utom.design +utoper.com +utourworld.com +utovr.com +utransm.com +uu.cc +uu.me +uu1.com +uu1314.com +uu178.com +uu361cn.com +uu38.com +uu41.com +uu456.com +uu55.tv +uu66.com +uu89.com +uu898.com +uuaa.net +uuaoz.com +uuboos.com +uucolor.com +uudsp.com +uuecs.com +uufund.com +uugai.com +uugame.com +uugtv.com +uuhall.com +uuhimalayanqm.com +uuhy.com +uuid.online +uuimg.com +uuka.vip +uukit.com +uukkuu.com +uulucky.com +uulux.com +uumachine.com +uunice.com +uuns.com +uunt.com +uuoo.com +uupaotui.com +uupark.com +uupee.com +uupei.com +uupoop.com +uupt.com +uuradio.com +uus8.com +uusama.com +uusee.com +uusky.com +uusoo.net +uusos.com +uustory.com +uustv.com +uusucai.com +uutop.com +uutuu.com +uuu9.com +uuudo.com +uuukey.com +uuuo.com +uuutu.com +uuvisa.com +uuvps.com +uuwego.net +uuwow.com +uuwtq.com +uuxn.com +uuxs.net +uuyoyo.com +uuzham.com +uuzhufu.com +uuzo.net +uuzu.com +uuzuonline.com +uuzuonline.net +uuzz.com +uvexperience.com +uvledtek.com +uvov.com +uvu.cc +uvuvv.com +uw3c.com +uw9.net +uwa4d.com +uwan.com +uwan5.com +uwenku.com +uwexp.com +uwin100.com +uworter.com +uwowo.com +ux18.com +ux87.com +ux98.com +uxacn.com +uxdc.net +uxdc.org +uxianhu.com +uxicp.com +uxigo.com +uxin.com +uxingroup.com +uxiting.com +uxpi.net +uxxsn.com +uya100.com +uyan.cc +uyanip.com +uycnr.com +uyess.com +uyi2.com +uyou.com +uyouqu.com +uyshipin.com +uyueread.com +uyunad.com +uyunbaby.com +uyuyao.com +uyyidc.com +uzai.com +uzaicdn.com +uzing.net +uzise.com +uzshare.com +uzuzuz.com +uzzf.com +v-56.com +v-beautysalon.com +v-danci.com +v-ka.com +v007.net +v114.com +v17go.com +v1bo.com +v1h5.com +v1kd.com +v1lady.com +v1pin.com +v1tuan.com +v1tx.com +v2b3.com +v2ex.cc +v2geek.com +v2kt.com +v2land.net +v2make.com +v3best.com +v3edu.org +v4.cc +v4dwkcv.com +v5.com +v54321.com +v58003.com +v58008.com +v5bjq.com +v5cam.com +v5cg.com +v5dun.net +v5fox.com +v5kf.com +v5music.com +v5pc.com +v5ppt.com +v5tv.com +v66666666.com +v6dp.com +v6lvs.com +v6ok.com +v78q.com +v86.org +v8d8.com +v977.com +v9b5n91.com +va-etong.com +vaakwe.com +vacmic.com +vaecn.com +vaeliu.com +vaikan.com +vaillant2.com +vakku.com +valid.apple.com +valid.origin-apple.com.akadns.net +validform.club +valinbl.com +valinresources.com +value500.com +valuecome.com +valuedshow.com +valuepr.net +valueq.com +valueur.com +valurise.com +vamachina.com +vamaker.com +van-u.com +vanbaolu.com +vance-commerce.com +vanch.net +vancharts.com +vanchhandheld.com +vanchiot.com +vanchip.com +vanchiptech.com +vanchu.com +vancl.com +vandream.com +vanfo.net +vanfun.com +vanggame.com +vangotech.com +vankang.com +vanke.com +vankeservice.com +vankeservice.mobi +vankeweekly.com +vanlinkon.com +vanmai.com +vanmatt.com +vanrui.com +vanterc.com +vants.org +vanzol.com +vapee.com +vapejoin.com +vapps.me +vaptcha.com +vaptcha.net +varena.com +variflight.com +varmilo.com +vart.cc +vartcn.com +vas.ink +vasdaqh.com +vasee.com +vasoon.com +vauoo.com +vbanzs.com +vbbobo.com +vbidc.com +vbiquge.com +vbmcms.com +vboba.com +vbooking.net +vbsemi.com +vbsuvb.com +vbuluo.com +vbuluo99.com +vc800.com +vcb-s.com +vcbeat.net +vcchar.com +vceshi.net +vcg.com +vchangyi.com +vchat5.com +vchatshow.com +vchello.com +vchome.net +vcimg.com +vcinchina.com +vckai.com +vckbase.com +vcloudgtm.com +vclusters.com +vcode.cc +vcomic.com +vcomputes.com +vcooline.com +vcore.hk +vcpic.com +vcredit.com +vcsint.com +vdaye.com +vdfly.com +vdian.com +vdisk.me +vdncache.com +vdncloud.com +vdndc.com +vdnplus.com +vdnsv.com +vdolady.com +vdongchina.com +ve70.com +vealandlamar.com +vearne.cc +vecentek.com +vechain.com +vechain.org +vedamobi.com +vedeng.com +veding.com +vediotalk.com +veedrin.com +veelink.com +veeqi.com +veer.com +veervr.tv +veeteam.com +veevlink.com +veguci.com +veikei.com +veilytech.com +veinbase.com +veken.com +velasx.com +velep.com +velocaps.com +vemvm.com +ventoy.net +venucia.com +venustrain.com +vephp.com +verdareto.com +verisilicon.com +verisyno.com +veritrans-link.com +verodillan.com +versaloon.com +vertuonline.com +ververica.com +very9s.net +veryapex.com +verybeaut.com +verycaca.com +verycd.com +verycdn.net +verydns.net +verydoc.net +verydz.com +veryevent.com +verygrass.com +verygslb.com +verygslb.net +veryhappy.pw +veryide.com +veryitman.com +verym.com +veryns.com +veryol.com +verypan.com +verysou.com +verysource.com +verystar.net +veryweibo.com +verywind.com +veryxiang.com +veryys.com +veryzhun.com +vesystem.com +vf5c.com +vfcsz.com +vfinemusic.com +vfocus.net +vftfishing.com +vfund.org +vfx123.com +vfxinfo.net +vg1234.com +vgabc.com +vgbaike.com +vgfav.com +vghall.com +vgjump.com +vglook.com +vgoapp.com +vgooo.com +vgover.com +vgoyun.com +vgtime.com +vhaey.com +vhall.com +vhallyun.com +vhao123.com +vhostgo.com +vhteam.com +vi21.net +vi586.com +via-cert.com +via.com.tw +viaeda.com +vial.cc +viatech.com.tw +viayoo.com +vibaike.com +vibit.cc +vic18.com +vicchen.me +vichamp.com +vicigaming.com +vickn.com +vicovico.com +vicp.cc +vicp.net +vicrab.com +vicsdf.com +vida-bio.com +vidaa.com +vidarsoft.com +viday.org +videaba.com +videocc.net +videofk.com +videohupu.com +videoincloud.com +videoipdata.com +videojj.com +videoyi.com +videoyx.com +videozhishi.com +vienblog.com +viewones.com +viewstock.com +viewtool.com +viewtrans.com +viigee.com +viisan.com +viitalk.com +viixin.com +vijos.org +vikduo.com +vikecn.com +villaday.com +villafrancescatti.com +viltd.com +vimage1.com +vimage2.com +vimage4.com +vimge.com +vimicro.com +vimiix.com +vimiy.com +vimjc.com +vimlinux.com +vims04.com +vimsky.com +vimsucks.com +vin114.net +vinchin.com +vinehoo.com +vinetreetents.com +vingoojuice.com +vingoostation.com +vinjn.com +vinkdong.com +vinllen.com +vinnywang.com +vinoyang.com +violetgo.com +violinerhu.com +violinstudy.net +violinww.com +vip-wifi.com +vip.com +vip120.com +vip1280.net +vip150.com +vip800.com +vip8849.com +vip9982.net +vipbaihe.com +vipbla.com +vipbuluo.com +vipchina.com +vipcn.com +vipcto.com +vipdage.com +vipdy.cc +vipersaudio.com +vipfengfei.com +vipfengxiao.com +vipfinal.com +vipgs.net +vipgslb.com +viphxw.com +vipjingdong.com +vipjr.com +vipkaoyan.net +vipkdy.com +vipkid.com +vipkidresource.com +vipkidstatic.com +vipkj.net +vipkoudai.com +vipleyuan.com +vipliangmei.com +viplux.com +vipmaillist.com +vipmando.com +vipmro.com +vipmro.net +viponlyedu.com +vippluspai.com +vipqlz.com +vips100.com +vipshop.com +vipshopyao.com +vipsinaapp.com +vipsmt.com +vipstatic.com +vipstore.com +viptail.com +viptarena.com +viptest.net +viptijian.com +vipwaf.com +vipwaf.net +vipwm.cc +vipxap.com +vipxdns.com +vipxdns.info +vipxdns.net +vipyaya.com +vipyl.com +vipyooni.com +vipzhuanli.com +viqq.com +virbox.com +vircloud.net +virscan.org +virtualevent.net +virusdefender.net +visa800.com +visabao.com +visacits.com +visadeguo.com +visaforchina.org +visas.to +visaun.com +visbodyfit.com +viseator.com +vishining.com +visionbang.com +visionbbs.com +visioncloudapi.com +visionly.org +visionsoar.com +visionstar-tech.com +visionunion.com +visionvera.com +visitsz.com +viskem.com +vispp.net +vista123.com +vistastory.com +visualchina.com +visvachina.com +visweet.com +vitagou.com +vitagou.hk +vitamio.org +vitarn.com +vitechliu.com +vitian.vip +vivantecorp.com +vivcms.com +vividict.com +vivijk.com +viviv.com +vivo.com +vivoglobal.com +vivokb.com +viwik.com +vixue.com +viziool.com +vjia.com +vjiazu.com +vjie.com +vjshi.com +vjudge.net +vk6.me +vkaijiang.com +vkehu.com +vkelai.com +vkemai.com +vksoft.com +vku6.com +vkvr.net +vlabstatic.com +vlan9.com +vlandgroup.com +vlcms.com +vldbd.com +vliang.com +vlifan.com +vlightv.com +vlinkage.com +vlinke.com +vlion.mobi +vlong.tv +vlongbiz.com +vloyal.com +vlzp.com +vm.sg +vmall.com +vmallres.com +vmanhua.com +vmartaw.com +vmdo.net +vmengblog.com +vmeti.com +vmfor.com +vmgirls.com +vmicloud.com +vmoiver.com +vmonkey.mobi +vmovier.cc +vmovier.com +vmoviercdn.com +vmsky.com +vmvps.com +vnet.mobi +vnnox.com +vnoke.com +vnsdl.com +vnsiubvgs.com +vnvshen.com +vnzmi.com +voa365.com +vobao.com +vobao.mobi +vocalmiku.com +voccdn.com +vocinno.com +vodjk.com +vodxc.com +voguego.com +vohringer.com +voicedic.com +voicer.me +voidcc.com +voidking.com +voidme.com +vojs.tv +vokop.com +vol.moe +volccdn.com +volcgslb.com +volcgtm.com +volchina.com +volcimagex.net +volcsiriusbd.com +voldp.com +volit.com +volmoe.com +voltmemo.com +voltsky.com +volumes.cc +von-sh.com +vonets.com +vooec.com +voole.com +voole.net +voora.net +voovle.net +voovlive.com +voovmeeting.com +vortexfun.com +vote8.cc +vote8.com +voyooo.com +vp3u.com +vpadn.com +vpal.com +vpalstatic.com +vpansou.com +vpbus.com +vpcoupons.com +vpcs.com +vpgame.com +vpgcdn.com +vpiaotong.com +vpie.net +vpimg1.com +vpimg2.com +vpimg3.com +vpimg4.com +vplayer.net +vpn39.com +vpnsoft.net +vpquc9rn.com +vps.im +vps.sh +vps234.com +vpsaa.com +vpsaa.net +vpsaff.com +vpscang.com +vpsdawanjia.com +vpsdx.com +vpser.net +vpsjie.com +vpskk.com +vpsmm.com +vpsor.com +vpsqb.com +vpsrb.com +vpsrr.com +vpssir.com +vpsss.net +vpszh.com +vqs.com +vqudo.com +vqudochina.com +vqxfj.bar +vr-cat.com +vr-game.club +vr1000.com +vr186.com +vr42.com +vr5008.com +vrbeing.com +vrbi.viveport.com +vrbig.com +vrbrothers.com +vrcfo.com +vrgame520.com +vrguancha.net +vrjie.com +vrlequ.com +vrltec.com +vrmvip.com +vroan.com +vrpowder.com +vrsat.com +vrshendeng.com +vrvlink.com +vrvmanager.com +vrwuhan.com +vrzb.com +vsaker.com +vsane.com +vsbclub.com +vsbuys.com +vsdhf.com +vsens.com +vshangdaili.com +vshare.com +vsharecloud.com +vsharing.com +vshengsu.com +vshouce.com +vshuoshuo.com +vslai.com +vsledclothes.com +vsnoon.com +vsnoon.net +vsnoon.org +vsnuf.com +vsochina.com +vsocloud.com +vsooncat.com +vsooncloud.com +vsoontech.com +vspk.com +vspk.net +vsppt.com +vsread.com +vstab.com +vstart.net +vstecs.com +vstmv.com +vstou.com +vsuch.com +vsun.com +vsyo.com +vtache.com +vte8.com +vteamgroup.com +vtears.com +vtepai.com +vtepai.net +vtibet.com +vtoutiao.cc +vtrois.com +vtuzx.com +vue-js.com +vue5.com +vuejscaff.com +vuepr.icu +vuevideo.net +vulbox.com +vulnhunt.com +vulogcn.com +vultr1.com +vultrcn.com +vultrla.com +vultrvps.com +vunion.net +vurl.link +vutimes.com +vux.li +vv181.com +vv8.com +vv881.com +vv8yx.com +vv91.com +vv9vv.com +vvaii.com +vvbtc.com +vvddcc.com +vvdeal.com +vvdoit.com +vvfeng.com +vvhan.com +vvic.com +vvipcdn.com +vvjob.com +vvkaoyan.com +vvmeiju.com +vvo2o.com +vvpncdn.com +vvtor.com +vvup.net +vvv.io +vvvcd.com +vvvdj.com +vvvfans.com +vvzero.com +vweizhan.com +vwhulian.com +vwvvwv.com +vwwmsd.com +vx.com +vx888.net +vxgua.com +vxia.net +vxiaocheng.com +vxiaoxin.com +vxinyou.com +vxmpw.com +vxplo.com +vxposed.com +vxsnk.com +vxuey.com +vycool.com +vyg.net +vyin.com +vysj.com +vyuan8.com +vyun.com +vz41.com +vzan.cc +vzan.com +vzhang.net +vzhantong.com +vzhifu.net +vzhou.net +vzhuanba.com +vzhuji.com +vzhuo.com +vzhushou.com +vzidc.com +vzkoo.com +vzmapp.com +vzuu.com +w-e.cc +w0lker.com +w10a.com +w10xitong.com +w10xz.com +w10zj.com +w123w.com +w1365.com +w18.net +w1989.com +w20.net +w218.com +w2bc.com +w2fzu.com +w2gou.com +w2solo.com +w333.com +w3cay.com +w3cbus.com +w3cfuns.com +w3chtml.com +w3cl.com +w3cplus.com +w3cschool.cc +w3cshare.com +w3ctalk.com +w3ctech.com +w3cui.com +w3cways.com +w3help.org +w3pop.com +w3tong.com +w3tt.com +w3xue.com +w7.cc +w7000.com +w8xitong.com +w918.com +wa5.com +wa5as4.com +waaaat.com +waakee.com +wabcw.info +wabuw.com +wacai.com +wacaiyun.com +wacaoren.net +wacdn.com +wacths.com +wadao.net +wader1714.com +wadmz.com +waduanzi.com +waerfa.com +waf.cdnetworks.com +waf.cx +wafcn.com +wafunny.com +waheaven.com +wahlap.com +waibao123.com +waibao12333.com +waibaodashi.com +waibo.wang +waig8.com +waigame.com +waigf.com +waiguaw.com +waiguofang.com +waihui888.com +waihuigu.net +waihuo.com +wailaishop.com +wailianvisa.com +waima.com +waimaiquan.vip +waimao6.com +waimaolangtz.com +waimaoribao.com +waiqin365.com +waisir.com +waitingfy.com +waitsun.com +wajueji.com +wajuejin.com +wakatool.com +wakedata.com +waketu.com +wakeup.fun +wakingsands.com +wakkaa.com +walahe.com +walanwalan.com +walatao.com +walekan.com +wali.com +walibao.com +walidream.com +walimaker.com +walkerdu.com +walknode.com +walkthechat.com +wallba.com +wallcoo.com +wallcoo.net +walle-web.io +wallet.io +walletio.io +wallpapersking.com +wallstcn.com +wallstreetcn.com +wamawama.com +wamila.com +wan.cc +wan.com +wan.wang +wan160.com +wan25.com +wan32.com +wan5d.com +wan68.com +wan7.xin +wan73.com +wan76.com +wan77.com +wan8.com +wan95.com +wanbang365.com +wanbaoju.com +wancai.com +wancaibb.com +wancaiinfo.com +wancaomei.com +wanche100.com +wancheng168.com +wanchengwenku.com +wanchenzg.com +wanchezhijia.com +wand6.com +wanda-cti.com +wanda-gh.com +wanda-group.com +wandacinemas.com +wandafilm.com +wandahotelinvestment.com +wandahotels.com +wandamoviepark.com +wandanqu.com +wandaplazas.com +wandarealm.com +wandasportstravel.com +wandavista.com +wandhi.com +wandianshenme.com +wandodo.com +wandoer.com +wandouip.com +wandoujia.com +wandouys.com +waneziyuan.com +wanfangdata.com +wanfangqikan.com +wanfangs.com +wanfangtech.com +wanfantian.com +wanfn.com +wanfumei.net +wang-li.com +wang-nan.com +wang-russell.cc +wang1314.com +wang1314.net +wang13607.com +wanga.me +wangamela.com +wanganedu.com +wangbixi.com +wangcaio2o.com +wangcaiwang.com +wangcanmou.com +wangchaoren.com +wangchujiang.com +wangchunsheng.com +wangcms.com +wangdaibus.com +wangdaicaifu.com +wangdaidongfang.com +wangdaidp.com +wangdaijiamen.com +wangdaijianwen.com +wangdaijin.com +wangdaileida.com +wangdaizhijia.com +wangdalao.com +wangdali.net +wangdaodao.com +wangdian.wang +wangdianmaster.com +wangdongjie.com +wangeditor.com +wangejiba.com +wangfanwifi.com +wangfujing.com +wanggou.com +wanggou236.com +wanggouyizu.com +wangguai.com +wanghaida.com +wanghairead.com +wanghualang.com +wanghz.com +wangi.cc +wangid.com +wangjianshuo.com +wangjinle.com +wangjubao.com +wangjunwei.com +wangkl.com +wangkx.xyz +wangl903.com +wangle.com +wanglibao.com +wanglids.com +wanglu.info +wangluojianshen.com +wangluoliuxing.com +wanglutech.com +wanglv.com +wanglv.vip +wangmeng.com +wangmingkuo.com +wangminping.com +wangmou.com +wangmou.net +wangpan007.com +wangpengcufe.com +wangpiao.com +wangpiao.net +wangpu.net +wangpu365.com +wangpuzhi.com +wangqi.com +wangren.com +wangriyu.wang +wangrongbao.com +wangrunze.com +wangshangfayuan.com +wangshidi.com +wangshu.la +wangshuashua.com +wangshugu.com +wangsongxing.com +wangsu.com +wangsucloud.com +wangting.net +wangtingrui.com +wangtongtong.com +wangtouwang.com +wangtu.com +wangtuizhijia.com +wanguan.com +wangukcn.com +wanguoschool.net +wanguotong.com +wangwango.com +wangwenda.com +wangwo.net +wangxc.club +wangxianyuan.com +wangxiao.com +wangxiao.net +wangxiaobao.cc +wangxiaobao.com +wangxingcs.com +wangxinhao.com +wangxinlicai.com +wangyajie.wang +wangyanpiano.com +wangye.com +wangyin.com +wangyou.com +wangyou2.com +wangyuan.com +wangyuegame.com +wangyutang.com +wangyuwang.com +wangzhan123.net +wangzhan360.com +wangzhan6.com +wangzhanbao.cc +wangzhanbianji.com +wangzhanbus.com +wangzhanchi.com +wangzhanmeng.com +wangzhanzj.com +wangzhe.com +wangzhengzhen.com +wangzhennan.com +wangziru.com +wanh5.com +wanhedoors.com +wanheweb.com +wanhi.com +wanhongji.com +wanhu888.com +wanhuahai.com +wanhuajing.com +wanhui365.com +wanhunet.com +wanimal1983.org +wanjiajinfu.com +wanjiashe.com +wanjidashi.com +wanjiedata.com +wanjiedu.com +wanjuhe.com +wanka5.com +wankacn.com +wanke123.com +wanke798.com +wankr100.com +wankukeji.com +wankuwl.com +wanlaiwang.com +wanlan.vip +wanli.com +wanlitong.com +wanliyouxuan.com +wanmei.com +wanmeila.com +wanmeilink.com +wanmeilr.com +wanmeiyueyu.com +wanmeiyunjiao.com +wanmi.cc +wannaenergy.com +wannaexpresso.com +wannar.com +wannengxiaoge.com +wannengzj.com +wannianli.mobi +wannianli.net +wannuoda.com +wanqianyun.com +wanquankan.com +wanrenxing.net +wansege.info +wansf.com +wanshahao.com +wanshanshuju.com +wanshh.com +wanshhh.com +wanshifu.com +wanshitong.com +wanshouyou.net +wanshutech.com +wanshuyun.com +wansongpu.com +wantattoo.com +wantegame.com +wantexe.com +wantgame.net +wantiku.com +wantong-tech.net +wantouzi.net +wantowan.com +wantrack-nj.com +wantshopping.ltd +wantubizhi.com +wantumusic.com +wanvv.com +wanwanol.com +wanweipc.com +wanweixin.com +wanwudezhi.com +wanwushuo.com +wanwuxia.com +wanww.com +wanxiang100.com +wanxiangqihang.com +wanyan.com +wanyiwang.com +wanyol.com +wanyoo.com +wanyoucn.com +wanyouxi7.com +wanyuanxiang.com +wanyuenet.com +wanyuhudong.com +wanyumi.com +wanyunshuju.com +wanyuwang.com +wanyx.com +wanyxbox.com +wanzaidangxia.com +wanzhao.com +wanzhongcar.com +wanzhouhr.com +wanzhoumo.com +wanzhuang.com +wanzhuanhulian.com +wanzhuanlea.com +wanzhuanmobile.com +wanzhucdn.com +wanzhugs.com +wanzi.cc +wanzi.com +wanzjhb.com +wanzuile.com +waoo.cc +wapadv.com +waptt.com +wapzk.net +waqiang.com +warcraftchina.com +warestage.com +wargamecn.com +warmcolor.net +warsongmobile.com +warstudy.com +warsu.com +warting.com +warwickintl.com +was-expo.com +wasair.com +washpayer.com +wasoinfo.com +wasu.com +wasu.tv +watanabe-mayu.com +watch-life.net +watchleader.com +watchstor.com +watchtop.com +water520.com +watercubeart.com +watergasheat.com +watertek.com +watertu.com +watsoniki.com +wauee.com +wauee.net +wave-game.com +wave-optics.com +waveshare.net +wavideo.tv +wavky.com +wavpub.com +wawa114.com +wawadns.com +wawayaya.net +waxrain.com +waxxh.me +wayboosz.com +wayhu.cc +wayhu8.com +wayingyong.com +waylon.wang +waynetechs.com +wayos.com +wayoulegal.com +wayoutv.com +wayoxi.com +waytide.com +waytit.com +wayzim.com +wazhuti.com +wb0311.com +wb133.com +wb321.com +wb699.com +wbangdan.com +wbdacdn.com +wbiao.co +wbiao.com +wbini.com +wbljjy.com +wbo529.com +wbolt.com +wbpluto.com +wbpvc.com +wbsp.net +wbsrf.com +wbsz.com +wbtech.com +wbucs.com +wbw.im +wbxgl.com +wbxs8.com +wbyweb.com +wbzol.com +wc44.com +wcd.im +wcfang.com +wch-ic.com +wcjbb.com +wcloud.com +wcmrpx.com +wcsapi.com +wcsfa.com +wcuhdi.com +wcwlmobi.com +wcyecs.com +wczf.net +wd1266.com +wdace.com +wdashi.com +wdaveh5game.com +wddcn.com +wddream.com +wdfangyi.com +wdfxw.net +wdghy.com +wdinter.com +wdjimg.com +wdjky.com +wdjl.net +wdku.net +wdkud6.com +wdliuxue.com +wdlny.com +wdmcake.com +wdmuz.com +wdqh.net +wdres.com +wdshouji.com +wdsjz.com +wdsrc.com +wdstory.com +wdszb.com +wdtianxia.com +wdtlfj.com +wduw.com +wdw6.com +wdw88.com +wdxmzy.com +wdxtub.com +wdy33.com +wdy44.com +wdyxgames.com +wdzj.com +wdzj.org +wdzjimages.com +wdzx.com +we.com +we.dji.com +we.game +we.tm +we1130.com +we123.com +we12306.com +we2.name +we2255.com +we2marry.com +we4399.com +we4game.com +we7.cc +weachat.net +weakyon.com +wealink.com +wealinkcdn.com +weand.com +weaoo.com +weapp.com +weapp.me +wearemanner.com +weareqy.com +weartrends.com +weasing.com +weatherat.com +weathercn.com +weatherdt.com +weatherol.com +weaverdream.com +weaversoftware.com +weavi.com +weaview.com +web-tinker.com +web0518.com +web0898.net +web100.cc +web1800.com +web2060.com +web3.xin +web3389.com +web360.pw +web89.net +web930.com +webacg.com +webaner.com +webank.com +webankcdn.net +webcname.net +webdissector.com +webdiyer.com +webdriver.org +webfalse.com +webfont.com +webfoss.com +webfreecounter.com +webfuwu.com +webgame138.com +webgzs.com +webhek.com +webhivers.com +webjike.com +webkaka.com +webkdcdn.com +webkf.net +webkv.com +webluker.com +webmagic.io +webmeng.net +webmulu.com +webnovel.com +webok.me +webond.net +weboss.hk +webpackjs.com +webpiaoliang.com +webportal.cc +webpowerchina.com +webppd.com +webqxs.com +webrtc.win +webs.so +websbook.com +websem.cc +webseo9.com +webshao.com +webshu.com +webshu.net +websjcdn.com +websjx.com +websjy.com +websocket-test.com +websocket2.com +websocket5.com +websocket6.com +websoft9.com +webterren.com +webullzone.com +webuy.vip +webview.tech +webxgame.com +webxin.com +webxmf.com +webxueyuan.com +webyang.net +wecarepet.com +wecash.net +wecatch.me +wecenter.com +weceshi.com +wechat-data-rescue.com +wechat.ba +wechat.com +wechat.org +wechat007.com +wechat500.com +wechatapp.com +wechatify.net +wechatpay.com.hk +wechatpen.com +weclassroom.com +wecloudx.com +wecrm.com +wecycling.com +wecydia.com +wed027.com +wed6.com +wedate.me +weddingos.com +wedengta.com +wedfairy.com +wedn.net +wedo8.com +wedooapp.com +weebei.com +weebia.com +weedong.com +weefang.com +weeiy.com +weekus.com +weelv.com +weeqoo.com +weeyun.com +wefans.com +wefiler.com +wefinder.com +wefinger.club +wegame.com +wegamex.com.hk +wegene.com +weharvest.com +wehefei.com +weherepost.com +wei2008.com +wei6.com +weiba66.com +weibaiyue.com +weibaji.com +weibanan.com +weibangong.com +weibanzhushou.com +weibenchina.com +weibo.co +weibo.com +weibocdn.com +weibodangan.com +weibohelper.com +weiboi.com +weibopay.com +weibopie.com +weiboreach.com +weiboyi.com +weibusi.net +weica.net +weicaifu.com +weicewang.com +weichaishi.com +weiche.me +weichen.org +weiclicai.com +weico.cc +weico.com +weicot.com +weida888.com +weidanbai.com +weidanci.com +weidaohang.org +weidaoliu.com +weidea.net +weidian.cc +weidian.com +weidian.gg +weidiancdn.com +weidianfans.com +weidiango.com +weidianyuedu.com +weidown.com +weiduhui.com +weidunewtab.com +weiengift.com +weifang168.com +weifenghr.com +weifengke.com +weifengou.com +weifengtang.com +weigang.com +weigongju.org +weigongxue.com +weihai.tv +weihai6.com +weihaicollege.com +weihaipoly.com +weihanli.xyz +weihaobang.com +weihaoyi.com +weihua2.com +weihuangqp.com +weihuazs.com +weihubao.com +weihuijob.com +weihulian.com +weihz.net +weijifan.com +weijinsuo.com +weijinzhuanbb.com +weijinzhuancc.com +weijiu.org +weijiuxin.com +weijj.com +weiju.net +weijuju.com +weijuwhua.com +weikaowu.com +weikasen.com +weikd.com +weike.fm +weikebaba.net +weikeimg.com +weikejianghu.com +weikengtech.com +weikuo.cc +weikuw.com +weilairibao.com +weilaishidai.com +weilaitiku.com +weilaizhaiju.com +weilanhaian.com +weilanliuxue.com +weile.com +weiling520.com +weilingdi.com +weilinovel.net +weilitoutiao.net +weilongshipin.com +weilt.net +weimai.com +weimaqi.net +weimeiba.com +weimeicun.com +weimeifan.net +weimeixi.com +weimiaocaishang.com +weimingcq.com +weimingedu.com +weimingkids.com +weimob.com +weimobdc.com +weimobqa.com +weimobwmc.com +weinisongdu.com +weinovel.cc +weiot.net +weipaitang.com +weiphone.net +weiphp.com +weipinchu.com +weiping.com +weipu.com +weiq.com +weiqi.cc +weiqiaocy.com +weiqiaoyun.com +weiqidaxing.com +weiqinfang.com +weiqingbao.cc +weiqitv.com +weiqudao.net +weiquyx.com +weiren.com +weisanyun.com +weisay.com +weishan.cc +weishang99.net +weishangagent.com +weishangchina.org +weishangshijie.com +weishangye.com +weishangzhonghe.com +weishengka.com +weishi.com +weishi100.com +weishu.me +weisiliang.com +weismarts.com +weistang.com +weisuyun.com +weitehui.com +weitiaozhuan.com +weitiewang.com +weitip.com +weitoupiao.com +weitousuo.com +weituibao.com +weituku.cc +weitunit.com +weituobang.net +weituoshepin.com +weitushe.com +weiwangpu.com +weiwangvip.com +weiwanhudong.com +weiwanjia.com +weiwei123.com +weiweibox.com +weiweiwo.com +weiweixiao.net +weiweixiong.com +weiweiyi.com +weiwenjia.com +weiwuhui.com +weixiangshe.com +weixianmanbu.com +weixianzhuan.com +weixiaoduo.com +weixiaohan.com +weixiaotong.com +weixiaotuoke.tech +weixiaov.club +weixiaov.wang +weixin.com +weixin008.com +weixin111.com +weixin12.com +weixin12315.com +weixinbang.com +weixinbridge.com +weixincall.com +weixingate.com +weixingmap.com +weixingon.com +weixingongzuoshi.com +weixingv.com +weixinhbs.com +weixinhost.com +weixinhow.com +weixinjia.net +weixinjiajia.com +weixinju.com +weixinkd.com +weixinmenu.com +weixinmuban.com +weixinmvp.com +weixinnu.com +weixinpy.com +weixinqing.com +weixinqn.com +weixinquanzi.com +weixinrensheng.com +weixinsxy.com +weixinyunduan.com +weixistyle.com +weixiu2.com +weixiuka.com +weixue100.com +weixueyuan.net +weixun.com +weixuncj.com +weixunyunduan.net +weixz.com +weixz8.com +weiyan.me +weiyangx.com +weiyapaper.com +weiye.me +weiyes.com +weiyi.com +weiyianws.com +weiyichina.org +weiyiminhenqiang.com +weiyingbao.com +weiyituku.com +weiyoou8.com +weiyoubot.com +weiyours.com +weiyui.com +weiyun.com +weiyun001.com +weiyunchong.com +weiyuntop.com +weiyunyong.com +weizhanabc.com +weizhangjilu.com +weizhangwang.com +weizhanle.com +weizhengbrand.com +weizhenwx.com +weizhilink.com +weizoom.com +wejianzhan.com +wejiazu.com +wejoydata.com +wekbo.com +wekuo.com +welansh.com +welcrm.com +weldzy.com +welefen.com +weleve.com +weliads.com +welian.com +welife001.com +welife100.com +welinkpark.com +well8.com +wellant88.com +wellcoding.com +wellhope.net +wellphp.com +wellpie.com +wellsoon.com +welove520.com +welovead.com +welqua.com +wemdsm.com +wemediacn.com +wemepi.com +wemomo.com +wemunc.org +wemvp.com +wenancehua.com +wenancn.com +wenangou.com +wenanzhe.com +wenbita.net +wenbo.cc +wencaischool.com +wenchain.com +wenda100.net +wenda123.com +wenda8.com +wendaifu.com +wendal.net +wendangdaquan.com +wendangku.net +wendangmao.com +wendangmao.net +wendangwang.com +wendangxiazai.com +wendax.com +wendaxiaowu.com +wenday.com +wendian.com +wendns.com +wendoc.com +wendu.com +wenduedu.com +wendumao.com +wenfangjushe.com +wenfangnet.com +wenfatang.net +wenfuxiang.com +wengbi.com +wengkui.com +wenguang.com +wenguangta.com +wenguanguoji.com +wenguo.com +wengzai.com +wenhaofan.com +wenhua.cc +wenhuabolan.com +wenhui.space +wenidc.com +wenjian.net +wenjiangs.com +wenjingnetwork.com +wenjiwu.com +wenjuan.cc +wenjuan.com +wenjuan.in +wenjuan.link +wenjuan.ltd +wenjuan.net +wenjuan.pub +wenjuanba.com +wenjuanshow.com +wenjunjiang.win +wenjuntech.com +wenjx.com +wenku.net +wenku321.com +wenku365.com +wenku7.com +wenku8.com +wenku8.net +wenkudao.com +wenkudaquan.com +wenkumao.com +wenkuwenku.com +wenkuxiazai.net +wenlc.com +wenlvnews.com +wenmeng.com +wenmi.com +wenneart.com +wenpie.com +wenrouge.com +wenruya.com +wenryxu.com +wensang.com +wenshaktv.com +wenshao-art.com +wenshen.net +wenshen010.com +wenshen8.net +wenshendaka.com +wenshenku.com +wensheno.com +wenshenxiu.com +wenshibaowenbei.com +wenshijiawei.com +wenshitiandi.com +wenshuba.com +wensuocaster.com +wenten.net +wentu.io +wenwen.com +wenwentang.com +wenwo.com +wenwu8.com +wenwuchina.com +wenxi777.com +wenxiang.org +wenxiaoyou.com +wenxingfilter.com +wenxiu.com +wenxiu998.com +wenxiushop.com +wenxue100.com +wenxuedu.com +wenxuem.com +wenxuemi.com +wenxuemi6.com +wenxuemm.com +wenxuetiandi.com +wenyijcc.com +wenyinos.org +wenyoutai.com +wenyu6.com +wenyw.com +wenzaizhibo.com +wenzhaihui.com +wenzhangba.com +wenzhanghui.com +wenzhen8.com +wenzhengwenhua.com +wenzhousx.com +wenzon.com +wepiao.com +wepie.com +weplaybubble.com +weplaymore.com +weplus.com +weplus.me +werewolf.mobi +werewolf.online +wesafesoft.com +wesai.com +wesane.com +wesdom.me +weshaketv.com +weshequ.com +weshineapp.com +wesiedu.com +west.xyz +west263.com +west999.com +westbund.com +westcy.com +weste.net +westengine.com +westleadfund.com +westonecloud.com +westpac.group +westsecu.com +westsummitcap.com +wesure100.com +wetherm.com +weti.me +wetogame.com +weton.net +wetouch.net +wetruetech.com +wetsd.com +wetv.vip +wetvinfo.com +wewean.com +wewinpe.com +wex5.com +wexin.com +wey.com +weyee.com +weyhd.com +weyi.cc +weyman.me +weyo.me +wezeit.com +wezhan.hk +wezhan.net +wezhan.us +wezhuiyi.com +wf.pub +wf163.com +wf66.com +wfbaiyou.com +wfbbs.com +wfbrood.com +wfc805.com +wfccb.com +wfdata.club +wfeil.com +wfek.com +wff168.com +wffc120.com +wffengmailin.com +wffms.com +wfhero.online +wfiltericf.com +wfilterngf.com +wfjimg.com +wfkouyaji.com +wflgjx.com +wfluxin.com +wfsdf.com +wfun.com +wfuyu.com +wfwenshigongcheng.com +wfxspc.com +wfxz.com +wfyake.com +wfycjd.com +wfzbjx.com +wfzqhb.com +wfzssz.com +wfztg.com +wfzzz.com +wg900.com +wgcss.com +wgh.me +wghostk.com +wghpdi.com +wgimg.com +wglm.net +wgmf.com +wgnds.com +wgos.com +wgpsec.org +wgsptc.com +wgxcn.com +wgxdxx.com +wgxy.com +wgxy.net +wh-baidu.com +wh-charity.com +wh-china.com +wh-haipu.com +wh-motorshow.com +wh-mx.com +wh10000.com +wh100idc.com +wh111.com +wh119.com +wh12345szzx.com +wh20zx.com +wh2work.com +wh50.com +wh6z.com +wh702g.ren +whadexpo.com +whairport.com +whalecloud.com +whaledu.com +whaleunique.com +whalipaycs.com +whart.net +what21.com +whatbuytoday.com +whatsns.com +whatua.com +whbaishitong.com +whbbs.com +whbc2000.com +whbcrs.com +whbear.com +whbester.com +whbiobank.com +whbjdn.com +whbjyy.com +whbsybj.com +whbts.com +whbtsj.com +whbwj.com +whbws.com +whcat.net +whcbank.com +whcbs.com +whccb.com +whcch802.com +whccwh.com +whcdc.org +whcfs.org +whcgtx.com +whchihuo.com +whckxx.com +whcotton.com +whcrewin.com +whcst.com +whctv.com +whcyit.com +whdaring.com +whdayy.com +whdckj.com +whddgc.com +whdonde.com +whdqhj.com +whdrawing.com +whdsyy.com +whduanwu.com +whdydl.com +whecb.com +whecloud.com +whecn.com +whegj.com +whenchat.net +whenever-online.com +wherxian.com +whetc.com +whevt.com +whewash.com +whfangchanzx.com +whfazun.com +whfcsc.org +whfeiyou.com +whfengli.com +whfflz.com +whflfa.com +whgaodu.com +whgaopeng.com +whggjk.com +whggjtjs.com +whggvc.net +whghfz.com +whghjt.com +whgjjtjx.com +whgjzt.com +whgk.com +whglory.com +whgmbwg.com +whgmq.com +whgmxy.com +whgszx.com +whgtgh.com +whguo.com +whgwbn.net +whgykg.com +whhbxh.org +whhdcz.com +whhdmt.com +whhdsdq.com +whhengchang.com +whhexin.com +whhk520.com +whhkbyg.com +whhlhj.com +whhnkj.com +whhost.net +whhouse.com +whhpaccp.com +whhsg.com +whhslndx.com +whhuatian.com +whhuiyu.com +whhxny.com +whhxts.com +whhysound.com +whhzhn.com +whhzyj.com +whib.com +whicec.com +whichmba.net +whidc.com +whidy.net +whiee.com +whinfo.net +whir.net +whisperto.net +whitebox.im +whitecat.com +whitegem.net +whitemedia-china.com +whitjy.com +whjbh.com +whjclgs.com +whjcly.com +whjhcz.com +whjiaoy.com +whjjhbj.com +whjm.com +whjmyc.com +whjtxx.com +whjuren.com +whjy.net +whjyx.com +whjzw.net +whjzy.net +whjzyxh.org +whkakaxi.com +whkc.com +whkingdom.com +whkjz.com +whkpcnc.com +whkt.net +whkyjz.com +whkykj.com +whland.com +whlawyer.net +whldsoft.com +whlido.com +whljyl.com +whlkwy.com +whlongre.com +whlrhd.com +whlxhs.net +whly56.com +whlybzh.com +whlynk.com +whmama.com +whmcwd.com +whmcxh.org +whmeigao.com +whmicrocredit.com +whmj.org +whmlcy.net +whmnrc.com +whmnx.com +whmoocs.com +whmoto.com +whmylike.cc +whmylikekq.com +whnatural.com +whnfc.com +whngd.org +whoami.akamai.net +whoceansys.com +whocool.com +whoil.net +whoolala.com +whooyan.com +whosedrop.com +whozen.com +whpantosoft.com +whpanva.com +whplmd.com +whptc.org +whpx.net +whqcbj.com +whqhyg.com +whqiansou027.com +whqtdjy.com +whqunyu.com +whr.cc +whrango.com +whrazf.com +whrcbank.com +whrenai.com +whres.net +whrhkj.com +whrl.net +whrsip.com +whrsj.org +whrtmpay.com +whsdsyy.com +whseoclub.com +whsir.com +whsladz.com +whsladz.net +whsmkg.com +whsoftway.com +whsql.org +whsqsoft.com +whsrc.com +whssxpx.com +whsunmap.com +whsw.net +whsy.org +whsyy.net +whtbq.com +whtcm.com +whtcm.net +whtdcb.com +whtdsc.com +whtech-sonic.net +whtfzy.com +whtmhh.com +whtongyun.com +whtpi.com +whtqedu.net +whtran.com +whtryine.com +whtsw.org +whtto.com +whttsy.com +whtuff.com +whtxcloud.com +whtzb.org +whu-cveo.com +whu.pt +whualong.com +whudfr.com +whuh-gi.com +whuh.com +whuhzzs.com +whume.com +whuspark.com +whuss.com +whusu.org +whut-px.com +whutech.com +whutosa.com +whuwto.com +whwanshun.com +whwater.com +whwebsite.com +whweo.com +whwkzc.com +whwm.org +whwomensmarathon.com +whwxxy.com +whxc01.com +whxh.com +whxinhuo.com +whxsnsy.com +whxunw.com +whxy.net +whxyqb.com +whxysz.net +why123.org +whybh2015.com +whycan.com +whyec.com +whyenjoy.com +whyestar.com +whyfcm.com +whyfyc.com +whyicheng.com +whyimingkeji.com +whyinsheng.com +whyinzhimei.com +whyiqitong.com +whyldd.net +whyongwei.com +whyqi.com +whysdomain.com +whyshop.com +whysodiao.com +whysx.com +whyungu.com +whyyy.com +whzb.com +whzblawson.com +whzbtb.com +whzc2008.com +whzdyy.com +whzglc.com +whzh-cw.com +whzhqsg.com +whzhtd.com +whzhzxmr.com +whzjyy.com +whzkb.com +whzlyy.com +whzph.com +whzsrc.com +whzwzk.com +whzwzs.com +whzxht.com +whzxzls.com +whzyblh.com +whzydz.com +whzyht.com +whzyy.net +wiblog.net +wicep.com +wicp.net +wicp.vip +wicresoft.com +widuu.com +wifenxiao.com +wifi.com +wifi03.com +wifi0917.com +wifi188.com +wifi33.com +wifi8.com +wifibanlv.com +wifichain.com +wifidog.pro +wifidown.com +wifigushi.com +wifigx.com +wifimsl.com +wifire.net +wifishenqi.com +wifiwx.com +wifizj.com +wiitrans.com +wiiyi.com +wiki8.com +wikielife.com +wikiimgs.com +wikimirror.org +wikimoe.com +wikiyuedu.com +wikore.com +wikore.net +wilddog.com +wilddream.net +wildgun.net +willcdn.com +willmao.com +willsemi.com +willsfitness.net +willsgym.com +willsun.net +willwin91.com +wiloon.com +wiloop.net +wimetro.com +wimiar.com +win-ke.com +win-man.com +win.hn +win007.com +win1032.com +win1064.com +win10cjb.com +win10com.com +win10gw.com +win10net.com +win10set.com +win10world.com +win10ww.com +win10xitong.com +win10zjb.com +win10zyb.com +win2007.com +win4000.com +win71234.com +win732.com +win789.com +win7999.com +win7china.com +win7en.com +win7i.com +win7qijian.com +win7qjb.com +win7sky.com +win7w.com +win7xzb.com +win7zhuangjiyuan.com +win8.net +win866.com +win8china.com +win8e.com +win8pc.com +win8xiazai.com +win9008.com +winasdaq.com +winbaicai.com +winbaoxian.com +winbic.com +winbjb.com +winbond-ic.com +winbons.com +winbosmart.com +wincheers.com +wincheers.net +wincn.com +wind.moe +wind2021.com +windcoder.com +windever.com +windin.com +windleaf.site +windmsn.com +windows10.pro +windows10zj.com +windows11.pro +windows7adobe.com +windows7en.com +windowszj.com +windowszj.net +windrunner.me +winds.red +winds2021.com +windsns.com +windtch.com +windworkshop.net +wine-world.com +wine9.com +winegame.net +wineln.com +winemagz.com +winenice.com +wines-info.com +winesinfo.com +winesou.com +wineworld.vip +winex-hk.com +winfang.com +winfanqie.com +winfreeinfo.com +wingconn.com +winglungbank.com +wingsbook.com +wingstudio.org +wingtecher.com +winhong.com +winhyl.com +winicssec.com +winkey17.com +winkingworks.com +winksi.com +winndoo.com +winner9.com +winnermicro.com +winnet.cc +winning11cn.com +winotmk.com +winrobot360.com +winsenseos.com +winshang.com +winshangdata.com +winsing.net +wintalent.com +winteam500.com +winterchen.com +wintimechina.com +wintooo.com +wintopedu.com +winvvv.com +winwebmail.com +winwin7.com +winxp8.com +winxuan.com +winxuancdn.com +winxw.com +wio2o.com +wireless-driver.com +wirelesschina-summit.com +wisburg.com +wisder.net +wisdoing.com +wisdom-braun.com +wisdomcmmi.com +wisdontech.com +wisdr.com +wisdri.com +wise-iot.com +wiseah.com +wiseboke.com +wisecotech.com +wisedoo.com +wisedsp.net +wisedu.com +wiseduc.com +wiseimp.com +wiselong.com +wisenjoy.com +wiseuc.com +wisevector.com +wishbuild.com +wishcad.com +wishcalls.com +wishdown.com +wishisp.com +wisiyilink.com +wismom.com +wison-engineering.com +wison.com +wisrc.com +wistone.com +wiswonder.com +wit-parking.com +wit0.com +wit5.com +witcp.com +with366.com +withae.com +withcdn.com +withiocdn.com +withmedia.net +withpinbox.com +withsccdn.com +withsin.com +withubit.org +withzz.com +witkey.com +witmart.net +witnew.net +witontek.com +witown.com +witspring.com +witt.wang +wiwide.com +wiyeniao.com +wiz03.com +wizarcan.com +wj-hospital.com +wj001.com +wj166.com +wjage.com +wjajw.com +wjasset.com +wjbb.com +wjbk.site +wjceo.com +wjdaily.com +wjdhcms.com +wjdiy.com +wjdiy.net +wjgslb.com +wjhouses.com +wjhtxx.com +wjiaxing.com +wjika.com +wjin.cc +wjinmiao.com +wjjfjt.com +wjkwl.com +wjlkj.com +wjlxmedia.com +wjrcb.com +wjshw.com +wjsou.com +wjsw.com +wjunjie.com +wjwux2.com +wjx.com +wjxcdn.com +wjyanghu.com +wjyh.com +wjyt-china.org +wjyw.com +wjz0098.me +wjzj.vip +wk-foryou.com +wk007.com +wk2.com +wk78.com +wkai.cc +wkanx.com +wkbins.com +wkcmall.com +wkderp.com +wkdty.com +wkecn.com +wkepu.com +wkhub.com +wkimg.com +wklken.me +wklm2018.com +wkmic.com +wkread.com +wksc.com +wkshipark.com +wkzf.com +wkzuche.com +wl.dlservice.microsoft.com +wl369.com +wlanadmin.com +wlanbanlv.com +wlanwifi.net +wlbaike.com +wlbqczk.vip +wlcbnews.com +wlcbw.com +wlcxx.com +wld5.com +wldsb.com +wleye.com +wlhcd.com +wlim.pro +wlinfor.com +wljy8.com +wljyyjy.com +wlkgo.com +wlkst.com +wlmq.com +wlmqgjj.com +wlmqwb.com +wlnh.net +wlphp.com +wlqtpolytheatre.com +wlread.com +wlrjy.com +wlsgjslgy.com +wlshw.com +wlski.com +wlsrenzaocaoping.com +wlstock.com +wlsvt.com +wltieyaoban.com +wlxit.com +wlxmall.com +wlxww.com +wlyfw.com +wlyjbl.com +wlyscl.com +wlzni.com +wlzp.vip +wlzy.tv +wm-imotor.com +wm-motor.com +wm090.com +wm18.com +wmc-bj.net +wmcloud.com +wmcn.com +wmedias.com +wmiao.com +wmiyx.com +wmjk.net +wmjrc.com +wmjygg.net +wmjyqd.net +wmjyszba.com +wmk0099.xyz +wmljw.com +wmlunwen.com +wmnetwork.cc +wmota.htcsense.com +wmp169.com +wmphp.com +wmpic.me +wmpvp.com +wmpyol.com +wms100.com +wmssedu.com +wmsub.com +wmton.com +wmtp.net +wmtxt.com +wmupd.com +wmvideo.com +wmxxgy.com +wmxxgz.com +wmxxwh.com +wmxxxj.com +wmy-ad.com +wmzhe.com +wn1998.com +wn3331.com +wn51.com +wn789.com +wnark.com +wnbsq.com +wndhw.com +wndlkj.com +wnform.com +wnhuifu.com +wniecm.com +wnkj88.com +wnlbs.com +wnlpromain.com +wnlproyunying.com +wnlprozhanxing.com +wnlprozijia.com +wnmqchwl.com +wnn8.com +wnplayer.net +wnrb.net +wns1191.com +wnsqzonebk.com +wnsr391.com +wnssedu.com +wntool.com +wnwb.com +wnzc.com +wnzhbb.com +wnzhuishu.com +wnzy.net +wo-xa.com +wo113.net +wo116114.com +wo123.com +wo170.com +wo186.tv +wo188.win +wo1990.com +wo685.com +wo81.com +wo99.net +woa.com +woaap.com +woaide.com +woaidu.org +woaifanyi.com +woaihuahua.com +woailuo.com +woaipj.com +woaipu.com +woair.com +woaishouban.com +woaixiao.com +woaizuji.com +woaoo.net +wobenben.com +wobiquge.com +wobocn.com +woc88.com +wocai.de +wocaoseo.net +wochacha.com +wochaw.com +wodai.com +wodavip.com +wodcloud.com +wode.im +wode20.com +wodeabc.com +wodecrowd.com +wodedagong.com +wodefanwen.com +wodemeitu.com +wodeoffice.com +wodeshebao.com +wodiancan.net +wodidashi.com +wodingche.com +wodjob.com +wodocx.com +wofang.com +wofang.net +wofangwang.com +wofficebox.com +wofjhs.com +wogame.net +wogoo.com +wohenizaiyiqi.com +wohxx.com +woi3d.com +woiyu.com +wojiacloud.com +wojiaoni.com +wojilu.com +wok.com +wokeji.com +woko.cc +wolai.com +wolaidai.com +woledy.com +wolegou.net +wolezhibo.com +wolf.cc +wolfcstech.com +wolfgo.com +wolfogre.com +wolife.com +wolighting.com +woliuda.com +wolonge.com +wolongge.com +wolongyin.com +wolongyoule.com +wolongzy.net +wolwo.ltd +wolwobiotech.com +womai.com +womaiapp.com +woman91.com +womeime.com +women-heart.com +womenaiyuedu.com +womenjie.com +wonder.wiki +wondercv.com +wonderful-pr.com +wonderfulsz.com +wonderjk.com +wonderkun.cc +wondermars.com +wondermole.com +wonderscloud.com +wondersgroup.com +wondershare.cc +wondershare.com +wondershare.net +wondersmemory.com +wonderstar027.com +wonei.com +wonerqu.com +wongcw.com +wonggang.com +wongpeace.com +woniu.com +woniu8.com +woniubaoxian.com +woniucloud.com +woniutrip.com +woniuwl.com +wonmay.com +wonmay.net +wonote.com +wonpearl.com +wonplug.net +wonter.net +wonxun.net +woo.im +wooaii.com +woocg.com +wooclouds.com +wood168.com +wood168.net +woodbunny.com +wooddb.com +woodnn.com +wooee.net +wooffice.net +woola.net +wooolab.com +wooqx.com +woordee.com +wooshoes.com +woosmart.com +wooxhome.com +wooyun.org +woozooo.com +wopaiyi.com +wopaper.com +wopaw.com +wopeng.net +wopus.org +woqidege.com +woqifoundation.com +woqu.com +word666.com +wordlm.com +wordpress.la +wordpresshy.com +wordscan.net +work28.com +workchat.com +workec.com +workehr.com +workerman.net +worklaw.vip +workpcb.com +worksgz.com +worksoho.com +worktile.com +worktilemail.com +workyun.com +world-pass.net +world-trade.org +world68.com +worldcps.com +worldgoodvoices.com +worldh5.com +worldhello.net +worldinout.com +worldlv.com +worldmall365.com +worldmr.net +worldmsports.com +worldofai.com +worldpathclinic.com +worldpowerliftingchina.com +worlduc.com +worldwarner.com +worldwayhk.com +worldwu.com +wosai-inc.com +wosaimg.com +woshao.com +woshipm.com +woshiqian.com +woshitv.com +woshizz.com +woshuo123.com +wosign.com +wosigndoc.com +woskj2.com +wosn.net +woso100.com +wosouyun.com +wotobang.com +wotougao.com +wotrus.com +wotucdn.com +wotula.com +wouju.com +wow-classic.com +wowant.com +wowar.com +wowcat.net +wowchina.com +wowenda.com +wowforex.com +wowodai.com +wowoit.com +wowoohr.com +wowops.com +wowoqq.com +wowoshijie.com +wowotech.net +wowotuan.com +wowoyoo.com +wowoyou.com +wowqu.cc +wowsai.com +wowys.com +woxian.com +woxiaoyun.com +woxihuan.com +woxiu.com +woxuexue.com +woxuyuan.com +woyao998.com +woyaobaoliang.com +woyaofanyi.com +woyaogexing.com +woyaoqiudai.com +woyaosouti.com +woyaozhan.com +woying.com +woyoo.com +woyouche.com +woyouquan.net +wozaijia.com +wozhua.mobi +wozhuan.com +wozhuye.com +woziku.com +wp-china-yes.net +wp-h.com +wp10.cc +wpan123.com +wpceo.com +wpchina.org +wpcnzz.com +wpdaxue.com +wpengapp.com +wper.com +wpgdadatong.com +wpgdadawant.com +wphonelife.com +wphun.com +wping.org +wpjam.com +wpk8.com +wplat.com +wpmee.com +wpmtp.com +wporder.com +wps-office.net +wpscdn.com +wpsdns.com +wpsep.com +wpsgo.com +wpsmail.net +wpsoffice.com +wptao.com +wptrn.com +wpweixin.com +wpxap.com +wpyou.com +wpzhiku.com +wq96f9.com +wqbook.com +wqc.so +wqchat.com +wqcms.com +wqdian.com +wqdian.net +wqetqi.vip +wqetrip.com +wqgp.com +wqhunqing.com +wqiis.com +wqingjian.com +wqketang.com +wqlin.com +wqrlink.tech +wqshui.com +wqxuetang.com +wqyunpan.com +wqzx.net +wrating.com +wrcdn.com +wrfou.com +write-bug.com +writebp.com +wrjzj.com +wrkdih.com +wrltxt.com +wrmjk.com +wrpotter.com +wrsa.net +wrsaea.com +wrtnode.cc +wrtnode.com +wrtsz.com +wrx319.com +ws-dla.com +ws.ksmobile.net +wsaf.net +wsbuluo.com +wsbz008.com +wsc-expo.com +wscdns.com +wscdns.info +wscdns.org +wscloudcdn.com +wscloudcdn.org +wsclouddns.com +wscloudsec.com +wscont1.apps.microsoft.com +wscont2.apps.microsoft.com +wscrm.net +wscso.com +wscstrace.com +wscvdns.com +wscxy.com +wsdcasa.com +wsdccq.com +wsdvs.com +wsdvs.info +wsdvs.org +wse.me +wsecar.com +wseen.com +wselearning.com +wselearning.net +wsfdl.com +wsfdn.com +wsfff.com +wsfnk.com +wsfsy.com +wsgjp.com +wsglb0.com +wsglb0.info +wsglb0.org +wsglw.com +wsgxsp.com +wshang.com +wshangw.net +wshenm.com +wshili.com +wshost.cc +wshoto.com +wshtgame.com +wshttpdns.com +wsisp.com +wsisp.net +wsj186.com +wslcode.com +wslmf.com +wsloan.com +wsltt.com +wsmaoyi.com +wsmaoyi.net +wsonh.com +wsoso.com +wsound.cc +wsoversea.info +wsq.cool +wsqejt.com +wsry18.xyz +wsssec.com +wstx.com +wsview.com +wswebcdn.com +wswebcdn.info +wswebcdn.org +wswebpic.com +wswebpic.info +wswebpic.org +wsxa.com +wsxc.me +wsxcme.com +wsxddg.com +wsy7.com +wsyyxz.com +wszwh.org +wt-px.com +wt168.com +wt8.com +wtaluo.com +wtango.com +wtaovip.com +wtapi.com +wtbds.com +wtdex.com +wtdlq.com +wtdms.com +wting.info +wtmmn.com +wtn5.com +wtobag.com +wtoip.com +wtojob.com +wtoutiao.com +wtown.com +wts999.com +wtsimg.com +wtszx.com +wttms.com +wtwvision.com +wtxcdn.com +wtzw.com +wu-mart.com +wu-mi.com +wu35.com +wu37.com +wu7zhi.com +wuage.com +wuaiso.com +wubaiyi.com +wubaiyi.net +wubazx.online +wubiba.com +wubisheng.net +wubizi.net +wubizigen.net +wubolive.com +wubx.net +wucaiabc.com +wuchajian.com +wuchenxu.com +wuda-website.com +wudage.com +wudang.cc +wudangquan.net +wudangshan.com +wudao.com +wudaotv.com +wudku.com +wudusw.com +wueasy.com +wufafuwu.com +wufangbo.com +wufangzhai.com +wufazhuce.com +wufuba.com +wufun.net +wuguiyunwei.com +wuguoren.com +wuguyufen.com +wugx.net +wuhan-guide.com +wuhan-tour.net +wuhan-travel.com +wuhan.com +wuhan163.com +wuhananyu.com +wuhanart.com +wuhanauto.com +wuhanbaituo.com +wuhanbus.com +wuhancityofdesign.com +wuhandazhaxie.com +wuhaneca.org +wuhanev.com +wuhanfuke120.com +wuhanfukeyy.com +wuhanhengyi.com +wuhanins.com +wuhanjiaojing.com +wuhanjingce.com +wuhankb.com +wuhanly.com +wuhanmarathon.org +wuhanmeigao.com +wuhanmetro.com +wuhanopen.org +wuhanparking.com +wuhanpe.com +wuhanpep.com +wuhanport.com +wuhanrt.com +wuhanrx.com +wuhansailingclub.com +wuhantest.com +wuhantianqi114.com +wuhantianrun.com +wuhantskj.com +wuhanunion.com +wuhanxingfuwan.com +wuhanxyz.com +wuhanyidu.com +wuhanzdq.com +wuhanzhongye.com +wuhongsheng.com +wuhouhaodian.com +wuhu.cc +wuhuashe.com +wuhubtv.com +wuhusanlian.com +wuhushengwei.com +wui5.com +wuji.com +wujiangtong.com +wujiayi.vip +wujiecaifu.com +wujiehd.com +wujiehuyu.com +wujiexiang.com +wujiexueyuan.com +wujiit.com +wujinimg.com +wujixiaoshuo.com +wujiyou.com +wukong.com +wukong.la +wukongapi.com +wukongchou995.com +wukongkf.com +wukonglicai.com +wukongphp.com +wukongrom.com +wukongshuo.com +wukongtui.com +wukongtv.com +wukongwenda.com +wukuiwang.com +wukur.com +wukypay.com +wul.ai +wulannews.com +wuliannanjing.com +wuliaoo.com +wuliaosi.com +wuliapi.com +wulicdn.com +wuliujia2018.com +wulong365.com +wulvxing.com +wumart.com +wumeishebei.com +wumii.com +wumii.tv +wuming.com +wuqing.cc +wuqiong.info +wuqishike.com +wurenjifanzhi.com +wuruihong.com +wuruo8.com +wuscn.com +wuse.com +wusen.net +wuseng.com +wuseng.net +wuseyun.com +wushang.com +wushangplaza.com +wushen.com +wushuangol.com +wushuangtech.com +wushuhenan.com +wusiwei.com +wusunjiance.net +wusuobuneng.com +wuta-cam.com +wutaishanfojiao.com +wutanyuhuatan.com +wutep.com +wutianqi.com +wutnews.net +wutongguo.com +wutongshanxia.com +wutongtec.com +wutongwan.org +wutongxiang.cc +wutos.com +wutui.pro +wutuojia.com +wuuxiang.com +wuweijob.com +wuweiyou.com +wuwenjun.net +wuwenliang.net +wuwii.com +wuwm-aprg.org +wuxi.com +wuxiairport.com +wuxiamh.com +wuxiangcc.com +wuxiangxing.com +wuxianhaibao.com +wuxianlin.com +wuxiantu.com +wuxiaodi.com +wuxiatools.com +wuxibus.com +wuxijy.com +wuximarathon.com +wuximeidi.com +wuxin.info +wuxinban.com +wuxiqiangheng.com +wuxiwang.net +wuxu92.com +wuyang-honda.com +wuyangplatform.com +wuyazi.com +wuyecao.net +wuyehr.com +wuyida.com +wuyishan.net +wuyou.com +wuyou.net +wuyoufang.com +wuyouhui.net +wuyousy.com +wuys.com +wuyuan.cc +wuyublog.com +wuyueit.com +wuyukang.com +wuyumin.com +wuyuncdn.com +wuzhaiba.com +wuzhenfestival.com +wuzhenpay.com +wuzhenwic.org +wuzhicms.com +wuzhiwei.net +wuzhouqianzheng.com +wuzhuiso.com +wuziya.com +wuzongping.com +wvshare.com +ww2bbs.net +wwc-blog.com +wwe008.com +wwenglish.com +wwenglish.org +wwfchina.org +wwggw.com +wwjia.com +wwleww.com +wwmhdq.com +wws23.com +wwstat.com +www-05.ibm.com +www-123490.com +www-175345.com +www-4620.com +www-63608.com +www-api.ibm.com +www-google-analytics.l.google.com +www-googletagmanager.l.google.com +www.adobe.com +www.agoda.com +www.akamai.com +www.amd.com +www.analog.com +www.apple.com +www.apple.com.edgekey.net +www.apple.com.edgekey.net.globalredir.akadns.net +www.bing.com +www.cc +www.cdnetworks.com +www.cg +www.com.my +www.dell-brand.com +www.dell.com +www.dji.com +www.djivideos.com +www.epsonconnect.com +www.ericsson.com +www.globalsign.com +www.gov.mo +www.gstatic.com +www.htc.com +www.htcsense.com +www.ibm.com +www.linkedin.com +www.microsoft.com +www.nike.com +www.pandora.net +www.redhat.com +www.samsung.com +www.st.com +www.sulwhasoo.com +www.thinkpad.com +www.tzoo-img.com +www.viveport.com +www.volvocars.com +www045789.com +www1.djicdn.com +www2.djicdn.com +www2011india.com +www3.djicdn.com +www37430.com +www4.djicdn.com +www48-365365.com +www5.djicdn.com +www78966.cc +www8.hp.com +www81854.com +wwwatch.in +wwwbuild.net +wwwer.net +wwwic.net +wwwimages.adobe.com +wwwimages2.adobe.com +wwwku.com +wwwwww.vip +wwwwwwwwww.com +wwxcl.com +wx-data.com +wx-youyan.net +wx.com +wx135.com +wx16999.com +wx42.com +wx6.org +wx8s.com +wx939.com +wxagame.com +wxang.com +wxaokai.com +wxapp-union.com +wxappclub.com +wxatech.com +wxavu.com +wxb.com +wxbady.com +wxbdfm.com +wxbjq.wang +wxblockchain.com +wxbm04.com +wxbrandway.com +wxbsgc.com +wxbxkx.com +wxc6115.com +wxcha.com +wxcsgd.com +wxdgjx.com +wxdh001.com +wxdspt.com +wxeditor.com +wxfenxiao.com +wxfls.net +wxfsgj.com +wxgamemini.com +wxgrcpa.com +wxguan.com +wxhand.com +wxhbts.com +wxhon.com +wxhouse.com +wxhu.net +wxhudong.com +wxiao.net +wxiat.com +wxjx123.com +wxlagame.com +wxlongre.com +wxmama.com +wxmcgz.com +wxmetro.net +wxmolegames.com +wxmovie.com +wxnacy.com +wxngh.com +wxnmh.com +wxp114.com +wxphp.com +wxr999.com +wxrb.com +wxreallink.com +wxrrd.com +wxscreen.com +wxsell.com +wxshake.com +wxsky.net +wxsteed.com +wxsyedu.net +wxsywh.com +wxt2020.com +wxthe.com +wxtj10086.com +wxtpb.com +wxuse.com +wxw120.com +wxwzt.com +wxxnhdkj.com +wxy1314.com +wxyxrc.com +wxzzz.com +wy000.com +wy100.com +wy119.com +wy182000.com +wy213.com +wy28.com +wy2sf.com +wyaoqing.com +wyaq.com +wyb168.com +wybbao.com +wybgs.com +wycanyin.com +wycntv.com +wydbw.com +wydljx.com +wydns.com +wyduihua.com +wyh138.com +wying360.com +wyins.net +wykefu.com +wykw.com +wykz.com +wylws.com +wymp4.net +wymp46.com +wyn88.com +wyptk.com +wypxj.com +wyq9.com +wyr.me +wys.net +wysaid.org +wysap.com +wysfgc.com +wysls.com +wysww.vip +wytfsp.com +wytx.net +wytype.com +wyuetec.com +wywy6.com +wywyx.com +wyx365.com +wyxbc.com +wyydsb.xin +wyzc.com +wyzdg.com +wyzhifu.com +wyzlvyou.com +wyzxsd.com +wyzxwk.com +wz01.com +wz120.cc +wz132.com +wz16.net +wz5.com +wzcheshi.com +wzciming.com +wzdai.com +wzdjy.com +wzdress.com +wzdsb.net +wzexe.com +wzfg.com +wzfou.com +wzfw.ltd +wzhealth.com +wzhekou.com +wzhouhui.com +wzhouhui.net +wzhust.com +wzhxlx.com +wzijia.com +wzime.com +wzits.com +wzj9.com +wzjmr.com +wzjxyq.com +wzkouqiang.cc +wzksw.com +wzktys.com +wzlscf.com +wzlt8.com +wzms.com +wzplc.com +wzpo.net +wzpod.com +wzrhjr.com +wzright.com +wzsee.com +wzsky.net +wzstationery.com +wztf121.com +wzwmw.com +wzwqs.com +wzyestar.com +wzyun.net +wzz180809.net +wzz1809.com +wzzww.com +x-bows.com +x-cti.org +x-jishu.com +x-medex.com +x-mol.com +x-plans.com +x0750.com +x0769.com +x118.net +x12plus.com +x158.tv +x1997.net +x1n.xin +x23qb.com +x23us.cc +x23us.me +x23us.us +x23wxw.com +x3366.com +x3china.com +x3cn.com +x431.com +x5dj.com +x64pro.com +x6d.com +x6kj.com +x6x8.com +x72y.com +x7sy.com +x81zw.com +x821.com +x86android.com +xa-online.com +xa.com +xa189.net +xa30zx.com +xa9t.com +xaahjy.com +xabbp.com +xabbs.com +xabcdns.com +xabcloud.com +xacbank.com +xacnnic.com +xacyhj.com +xadamai.com +xadiannao.com +xaecong.com +xafc.com +xaffp.com +xafpz.com +xafzjy.com +xagxz.com +xahhp.com +xahkzc.com +xahrly.com +xahunter.com +xaidc.com +xaifin.com +xaigame.com +xainjo.com +xaixs.org +xajjk.com +xajjwy.com +xajob.com +xajr.com +xalanq.com +xalawyer.net +xalhar.net +xalhlf.com +xamama.net +xamjx.com +xampp.cc +xanahotelle.com +xanbhx.com +xanet110.com +xank120.com +xany6.com +xaoji.com +xaonline.com +xaoyao.com +xapcn.com +xaqdrs.com +xaqsl.com +xaredian.com +xargin.com +xarxrljt.com +xaseastar.com +xasff.com +xashangwang.com +xasimonds.com +xasixiongdi.com +xaskm.com +xasqw.com +xasrc.com +xaszjf.com +xatao029.com +xatielu.com +xatongsheng.net +xatvs.com +xatyaviation.com +xatyds.com +xatyyx.com +xatzj.com +xauat-hqc.com +xaudiopro.com +xavua.com +xawb.com +xawbb.com +xawdz.com +xawhz.com +xaxing05.com +xaxinghuo.com +xaybh.com +xayestar.com +xazcit.com +xaztdz.com +xazzg.com +xazzp.com +xazzs.com +xb.dlservice.microsoft.com +xb100.net +xb2s.com +xb5.cc +xbaixing.com +xbaofun.com +xbaquge.com +xbase.cloud +xbatu.com +xbauto.com +xbbei.net +xbceo.com +xbdym.com +xbequge.com +xbeta.info +xbext.com +xbfnet.com +xbfqw.com +xbfzb.com +xbhb.net +xbhub.com +xbhy.com +xbhz.net +xbiao.com +xbidc.com +xbingoz.com +xbiquge.cc +xbiquge.com +xbiquge.la +xbiquge6.com +xbiqugew.com +xbirder.com +xbjianzhan.com +xblds.com +xblyw.com +xbmiaomu.com +xbniao.com +xbongbong.com +xbooklist.com +xbptc.com +xbpz9.com +xbriyu.com +xbrl-cn.org +xbrother.com +xbspace.com +xbwbh.com +xbwebyun.com +xbxgame.com +xbxwx.org +xbxxb.com +xbxxz.com +xc-fc.com +xc123.net +xc829.com +xc940.com +xcabc.com +xcao.win +xcape.cc +xcar.com +xcarimg.com +xcb-family.com +xcbank.com +xcdesign.net +xcexe.com +xcfee.com +xcfunds.com +xcgjj.com +xcgogo.club +xcgogo.site +xcgp.com +xcgui.com +xchjw.org +xchlxx.com +xchmai.com +xchrc.com +xchuandai.com +xchuxing.com +xcj.com +xcj.pub +xcjd.net +xckszx.com +xclient.info +xcloudbase.com +xcmad.com +xcmg.com +xcmgmall.com +xcmh.cc +xcmh.com +xcn457.com +xcnchinese.com +xcnte.com +xcode.me +xcoder.in +xcodest.me +xcommon.com +xcoodir.com +xcos.cc +xcot.com +xcpapa.site +xcpapa.xyz +xcrxykl.com +xcshaifen.com +xcsinsignia.com +xcstuido.com +xcsyxx.net +xctmr.com +xctsw.com +xcvgame.cc +xcvmbyte.com +xcvxcv.space +xcx-x.com +xcxd-inc.com +xcxs222.com +xcxs520.com +xcxwo.com +xcxx28.com +xcxzl.com +xcy8.com +xcyg.net +xcyo.com +xczzs.com +xd-game.com +xd-tech.com +xd-world.com +xd.com +xd0.com +xd57.com +xdapp.com +xdbcb8.com +xdc.at +xdcdn.com +xdcdn.net +xddhy.com +xddpay.com +xddxs.cc +xddxx102.com +xde.com +xde6.net +xdfckjz.com +xdfkt.com +xdfpr.com +xdgalaxy.com +xdh0808.com +xdhbs.com +xdhcn.com +xdj-sz.com +xdja.com +xdjc.org +xdju.com +xdjy369.com +xdkb.net +xdkcw.com +xdkjchina.com +xdkjjy.com +xdkjpx.com +xdlaa.xyz +xdmnyy.com +xdmssp.com +xdnice.com +xdnote.com +xdnphb.com +xdocin.com +xdoor.cc +xdplt.com +xdpvp.com +xdressy.com +xdrig.com +xds04.com +xdsipo.com +xdtos.com +xduoo.com +xduph.com +xdusz.com +xdwan.com +xdwyx.com +xdxdsz.com +xdxmwang.com +xdyqw.com +xdzdzl.com +xedaojia.com +xedaojia.net +xeeee.net +xeenho.com +xeeok.com +xefan.com +xege.org +xehedu.com +xeknow.com +xeltek-cn.com +xelz.info +xemean.net +xen0n.name +xender.com +xenium.mobi +xenvpser.com +xerlang.com +xesapp.com +xescdn.com +xesdns.com +xesee.com +xesimg.com +xesv5.com +xetimes.com +xetsg.com +xevd.co +xeylon.com +xf-world.org +xf-yun.com +xf.com +xf0797.com +xf09.net +xf119.xin +xf120.com +xf1233.com +xf1433.com +xf24ms.com +xf3z.com +xf4hs.com +xf5z.com +xfabs.com +xfannix.com +xfb315.com +xfc888.com +xfcgs.com +xfconnect.com +xfdown.com +xfeng.me +xffcol.com +xfgjj.com +xfguo.org +xfhx.com +xfinfr.com +xfisher.com +xfisp.com +xfjw.net +xfkou.com +xfliusheng.com +xfnano.com +xfocus.net +xfocus.org +xforceplus.com +xfpass.com +xfplay.com +xfplay.tv +xfsb119.com +xfsd.com +xfsub.com +xft123.com +xftclub.com +xfun233.com +xfwi.com +xfxb.net +xfyousheng.com +xfyun.com +xfzhsf.com +xfztc.com +xfzyun.com +xgamevip.com +xgantt.net +xgcs618.com +xgcsczyc.com +xgcsyg.com +xgd666.com +xgdfz.com +xgdown.com +xgdq.com +xgfz.net +xggjj.com +xghylt.com +xgimi.com +xgj-info.com +xgjxjy.com +xgkwx.com +xglpa.com +xgmeidiya.com +xgo.cc +xgqq.com +xgres.com +xgsdk.com +xgslb.net +xgt2014.com +xgv5.com +xgwx.net +xgxedu.com +xgz.cc +xgzdhj.com +xgzx.org +xh456.com +xhay1122.com +xhbaihehang.com +xhbhr.com +xhblog.com +xhboke.com +xhby.net +xhbycm.net +xhcjtv.com +xhclub.net +xhcpas.com +xhd.org +xhdollar.com +xheditor.com +xhedu.net +xhengshui.com +xhg.com +xhgame.com +xhgm100.com +xhgongsi.com +xhhd6.com +xhhdd.cc +xhhfw.com +xhidc.com +xhj.com +xhjingling.com +xhkt.tv +xhlaowu.com +xhlgfsc.com +xhlyjlb.com +xhma.com +xhmzgbj.com +xhn888.com +xhnews.net +xhostserver.com +xhpfw.com +xhpiano.com +xhqqt.com +xhscdn.com +xhsd.com +xhsfw.com +xhslink.com +xhspx.com +xhsyww.com +xht.com.hk +xhtd291.com +xhuojia.com +xhup.club +xhwhouse.com +xhxa9.com +xhxsw.com +xhxswz.com +xhxw.com +xhy.com +xhy998.com +xhyd.com +xhytd.com +xhzmjs.com +xi-soft.com +xi5jie.com +xi9p.com +xia.me +xia1ge.com +xiaa.net +xiabb.club +xiabingbao.com +xiabor.com +xiabu.com +xiacai.com +xiacaipiao.com +xiachufang.com +xiada.net +xiadele.com +xiadts.com +xiadu.com +xiagaoqing.com +xiagepian.com +xiakeol.com +xialaile.com +xiald.com +xialingying.cc +xialv.com +xiamag.com +xiamai.net +xiamenair.com +xiamentianqi114.com +xiami.com +xiami.net +xiami77.com +xiamiaopai.com +xiamoyun.com +xiamp4.com +xian-tourism.com +xianba.net +xianbai.me +xianbao.net +xianbdj.com +xianbense.com +xianbey.com +xianchihuo.net +xiancn.com +xiandaiyuwen.com +xiandanjia.com +xiandaohu.net +xianfae.com +xianfeng.net +xianfengex.com +xianfengsg.com +xiang-le.com +xiang5.com +xiang578.com +xiangaiwang.com +xiangange.com +xianganquan.com +xianganyu.com +xiangbala.net +xiangbinjun.com +xiangbinmeigui.com +xiangbojiubo.com +xiangcaozhaopin.com +xiangcunxiaoshuo.com +xiangdang.net +xiangfan.org +xiangguo.com +xiangguohe.com +xiangha.com +xianghui8.com +xianghunet.com +xianghus.com +xiangkanzs.com +xiangkesi.com +xiangley.com +xianglute.com +xiangmaita.com +xiangmaojx.com +xiangmu.com +xiangni.com +xiangpeach.com +xiangpi.com +xiangqianpos.com +xiangqin7.com +xiangqinplus.com +xiangqiushi.com +xiangqu.com +xiangrikui.co +xiangrikui.com +xiangshang360.com +xiangshangban.com +xiangshanpark.com +xiangshe.com +xiangshengbao.com +xiangshi.cc +xiangshi123.com +xiangshu.net +xiangshuiping.com +xiangsidi.com +xiangsw.com +xiangtaole.com +xiangtatech.com +xiangtuan.xyz +xianguo.com +xianguomall.com +xiangw.com +xiangwangdesh.com +xiangwushuo.com +xiangyang.net +xiangyiai.com +xiangyujiankang.com +xiangyukj.com +xiangyun.so +xiangyunseo.com +xiangzhan.com +xiangzhiren.com +xiangzhuyuan.com +xianjian10.com +xianjiaosuo.com +xianjichina.com +xianjj.com +xiankan.com +xiankankan.com +xianlaigame.com +xianlaihy.com +xianlife.com +xianlu0605.com +xianmin.org +xianms.com +xiannanyou.com +xiannvtu.com +xianpp.com +xianqiao.wang +xianruan.com +xianshiqiba.com +xianshu.com +xianshua.net +xianshuabao.com +xianshufang.com +xiantao.com +xianwangs.cc +xianxiadao.com +xianxiadao.net +xianyang888.com +xianyin.net +xianyuange.com +xianyugame.com +xianyugouwu.com +xianyuso.com +xianyuwang.com +xianyuyouxi.com +xianzhaiwang.com +xianzhanget.com +xianzhi.net +xianzhongwang.com +xiao-an.com +xiao-bo.com +xiao-new.com +xiao-sports.com +xiao.lu +xiao6.tv +xiao84.com +xiao89.com +xiaoa.name +xiaobai.com +xiaobaibk.com +xiaobaipan.com +xiaobaishiji.com +xiaobaishixi.com +xiaobaiss.com +xiaobaiupin.com +xiaobaivr.com +xiaobaixitong.com +xiaobangbaoxian.com +xiaobao360.com +xiaobao8.com +xiaobaodt.com +xiaobaoonline.com +xiaobaostudio.com +xiaobd.net +xiaobenzi.com +xiaobingxitong.com +xiaobu121.com +xiaocaoo.com +xiaocaoyun.com +xiaocen.com +xiaoche001.com +xiaoche5.com +xiaochengxucms.com +xiaochiwang.org +xiaochuan010.com +xiaocifang.com +xiaocms.com +xiaocong.tv +xiaodaka.net +xiaodanyang.com +xiaodao.la +xiaodao360.com +xiaodaotv.com +xiaodaozhi.com +xiaodengta.com +xiaodengvip.com +xiaodian.com +xiaodian.in +xiaodian.so +xiaodianpu.com +xiaodianweb.com +xiaodigu.com +xiaodigufz.com +xiaodoubi.com +xiaodoushebao.com +xiaodouzhuan.net +xiaoduoai.com +xiaoduseo.com +xiaodutv.com +xiaody.com +xiaoe-tech.com +xiaoeknow.com +xiaoenai.com +xiaoeryi.com +xiaofangdeng.com +xiaofantian.com +xiaofany.com +xiaofeng.org +xiaogan.com +xiaogj.com +xiaogouh5.com +xiaogr.com +xiaoguikuaipao.com +xiaoguosq.com +xiaoguowenhua.com +xiaogushi.com +xiaoh.me +xiaohansong.com +xiaohb.com +xiaohe-jiankang.com +xiaohe666.com +xiaohei.com +xiaoheima.com +xiaohongchun.com +xiaohongdian.wang +xiaohongshu.com +xiaohongshulvyou.com +xiaohuabaichu.com +xiaohuabuluo.com +xiaohuai.com +xiaohuangji.com +xiaohulu.com +xiaohuochai.cc +xiaohuochai.site +xiaohuwl.com +xiaoj.com +xiaoji.com +xiaoji001.com +xiaojian.site +xiaojianjian.net +xiaojiaoyar.com +xiaojiding.com +xiaojing360.com +xiaojiuwang.com +xiaojl.com +xiaojuchefu.com +xiaojudeng.com +xiaojukeji.com +xiaojun.org +xiaoka.tv +xiaokanba.com +xiaokanglongjiang.com +xiaokao.com +xiaokaxiu.com +xiaokcdn.com +xiaokcehui.com +xiaokeai.com +xiaokeduo.com +xiaokesoso.com +xiaokuihua.net +xiaokusha.com +xiaokyx.com +xiaolai.net +xiaolajiao.com +xiaolanben.com +xiaolantiao.com +xiaolee.net +xiaoliangkou.com +xiaoliebian.com +xiaoliketang.com +xiaolin.in +xiaolinsi.com +xiaolinwl.com +xiaolinyuan.com +xiaolist.com +xiaolixiaoxue.com +xiaolizhuli.com +xiaolu123.com +xiaoluboke.com +xiaoluhaohuo.com +xiaoluyouxuan.com +xiaoma-school.com +xiaoma.com +xiaoma.net +xiaoma.wang +xiaomachuxing.com +xiaomagaojian.com +xiaomaigongkao.com +xiaomaiketang.com +xiaomantu.com +xiaomaomv.com +xiaomaowan.com +xiaomape.com +xiaomashijia.com +xiaomastack.com +xiaomav.com +xiaomaxitong.com +xiaomayi.co +xiaomayi88.com +xiaomei.cc +xiaomeiti.com +xiaomeme.com +xiaomeng1235.com +xiaomi.com +xiaomi.hk +xiaomi.net +xiaomi.tw +xiaomiaozai.com +xiaomicp.com +xiaominet.com +xiaominfo.com +xiaoming.me +xiaomingming.org +xiaomiqiu.com +xiaomiquan.com +xiaomishu.com +xiaomiwujiecao.com +xiaomiyoupin.com +xiaomlove.com +xiaomor.com +xiaomoyao.com +xiaomuji.info +xiaomy.net +xiaomyc.com +xiaonaodai.com +xiaonei.com +xiaoniba.com +xiaoniu66.com +xiaoniu88.com +xiaoniuapp.com +xiaoniuben.com +xiaoniudunkj.com +xiaononfu.com +xiaopan.cc +xiaopangyu.com +xiaopena.com +xiaopeng.com +xiaophy.com +xiaopi.com +xiaopinw.com +xiaopiu.com +xiaoqiandao.com +xiaoqiangge.com +xiaoqiaomm.com +xiaoqijj.com +xiaoqingtou.com +xiaoqinre.com +xiaoqiqiao.com +xiaoqugang.com +xiaoqukuaishou.com +xiaoquyijia.com +xiaorizi.me +xiaorui.cc +xiaoruibao.com +xiaoshe.tk +xiaoshengqi8.com +xiaoshengyiwang.com +xiaoshentui.com +xiaoshijie.com +xiaoshitou123.com +xiaoshituina.vip +xiaoshoubang.org +xiaoshouhudong.com +xiaoshoukuaifa.com +xiaoshouyi.com +xiaoshu168.com +xiaoshujiang.com +xiaoshukaihua.com +xiaoshuo.com +xiaoshuo1-sm.com +xiaoshuo2016.com +xiaoshuo520.com +xiaoshuo530.com +xiaoshuo570.com +xiaoshuoba.com +xiaoshuobi.cc +xiaoshuochen.com +xiaoshuodaquan.com +xiaoshuoli.com +xiaoshuoshu.org +xiaoshuotxt.com +xiaoshuoyd.com +xiaoshuozu.com +xiaoshuwu.vip +xiaoshuxiong.com +xiaositv.com +xiaoso.net +xiaoss.net +xiaot.com +xiaota.com +xiaotee.com +xiaoten.com +xiaotengyouxi.com +xiaotut.com +xiaotuzhan.com +xiaou2014.com +xiaouguanjia.com +xiaouqyfw.com +xiaoushuo.com +xiaowang.net +xiaowangshen.com +xiaowangyun.com +xiaowanzhou.net +xiaowazi.com +xiaoweigod.com +xiaoweirobot.com +xiaowiba.com +xiaowm.com +xiaoxiaapi.com +xiaoxiangbz.com +xiaoxiangxueyuan.com +xiaoxiangyoupin.com +xiaoxiansheng.com +xiaoxiao.com +xiaoxiaofang.club +xiaoxiaoketang.com +xiaoxiaomo.com +xiaoxiaotong.org +xiaoxiaozi.com +xiaoxichangliu.com +xiaoxicloud.com +xiaoxineye.com +xiaoxinrili.com +xiaoxintoutiao.com +xiaoxintuku.com +xiaoxiongmeishu.com +xiaoxiongyouhao.com +xiaoxue123.com +xiaoxuehelp.com +xiaoyantong.com +xiaoyaobi.com +xiaoyaoyou.com +xiaoyaoyou365.com +xiaoyatong.com +xiaoyayun.com +xiaoyeren.com +xiaoyewuliu.com +xiaoyezi.com +xiaoyi.com +xiaoyida.com +xiaoyida.net +xiaoying.co +xiaoying.com +xiaoying.tv +xiaoyiwo.net +xiaoyouxi100.com +xiaoyouxiqun.com +xiaoyouzb.net +xiaoyu.com +xiaoyuanjiu.com +xiaoyuanzhao.com +xiaoyuanzhaopin.net +xiaoyuer.com +xiaoyulog.com +xiaoyun.com +xiaoyunquegroup.com +xiaoyusan.com +xiaoyusanchou.com +xiaoyuxitong.com +xiaoyuzhoufm.com +xiaoz.me +xiaoz123.com +xiaozaixiao.com +xiaozehuashi.com +xiaozhan.cc +xiaozhang365.com +xiaozhaolaila.com +xiaozhewz.com +xiaozhibaoxian.com +xiaozhibo.com +xiaozhishi.net +xiaozhiyun.com +xiaozhu.com +xiaozhu2.com +xiaozhua.com +xiaozhuanlan.com +xiaozhuseo.com +xiaozhustatic1.com +xiaozhustatic2.com +xiaozhustatic3.com +xiaozhuvideo.com +xiaozuan8.com +xiaozujian.com +xiaozuowen.net +xiappt.com +xiaqunfeng.cc +xiarikui.com +xiarj.com +xiashu.app +xiataoseo.com +xiatou.com +xiawan8.com +xiawu.com +xiaxiab8.com +xiayige.org +xiayiqu.com +xiayx.com +xiazai.com +xiazai163.com +xiazaiba.com +xiazaibao2.com +xiazaicc.com +xiazaidb.com +xiazaidc.com +xiazaidown.com +xiazaiduo.com +xiazaijidi.com +xiazaima.com +xiazaisoft.com +xiazaiwx.com +xiazaiziti.com +xibaiwang.com +xibao100.com +xibeicanyin.com +xibeidev.com +xibojiaoyu.com +xibsteel.com +xibu168.com +xibulaobohui.com +xibutiyu.com +xicaijing.com +xicaishe.com +xice.wang +xichu.net +xichuangzhu.com +xici.com +xici.net +xicp.net +xidea-inc.com +xidesheng.com +xidian.cc +xidibuy.com +xidie.com +xidong.net +xidongv.com +xiduobaby.com +xiduoil.com +xie-jue-tui-xiao.com +xieat.com +xiebao18.com +xieboke.net +xiechao.org +xieche.net +xiecheng.com +xiechuangw.com +xiecuo.com +xiedaimala.com +xiefenxiang.com +xieheedu.com +xiehejx.com +xiehekjkf.com +xiejiahe.com +xiejianji.com +xiejiaxin.com +xieliqun.com +xier.tech +xiesk.com +xieso.net +xietongbw.com +xietui.com +xiexiaoyuan.com +xiexiebang.com +xiexingcun.com +xiexingme.com +xieyangzhe.com +xieyinwang.com +xiezefan.me +xiezewen.com +xiezhenxian.net +xiezhenye.com +xiezhicehua.com +xieziqiu.net +xiezixiansheng.com +xiezuo100.com +xiezuocat.com +xifan.org +xifangw.com +xifenfei.com +xifenggroup.com +xifengjiuzhaoshang.com +xifengwangzhan.com +xifuquan.com +xifuwa.com +xigeweb.com +xigo.tv +xigua110.com +xigua66.com +xiguabook.com +xiguaimg.com +xiguaji.com +xiguaplayer.com +xiguavideo.net +xigushan.com +xigushan.net +xihachina.com +xihaiannews.com +xihawan8.com +xihuan.me +xihuanfang.com +xihuojie.com +xihusgh.com +xihustateguesthangzhou.com +xiimoon.com +xiji.com +xijiangtv.com +xijing01.com +xijucn.com +xikan.tv +xikii.com +xiladaili.com +xilaiping.com +xilexuan.com +xileyougame.com +xilidou.com +xilinjie.com +xilinsi.org +xilish.com +xilu.com +xilvlaw.com +xima.org +xima.tv +ximalaya.com +ximalayaos.com +ximeiapp.com +ximgs.net +ximiplay.com +ximiyouxi.com +ximizi.com +ximopanda.com +ximuw.com +xin.com +xin.xin +xin1234.com +xin3721.com +xinaigame.com +xinaitu.com +xinanidc.com +xinaoyun.com +xinbaby.com +xinbaicai.com +xinbalive.com +xinbaopos.com +xinbear.com +xinbqg.com +xinbxwx.com +xincache.com +xincai.com +xincaiguan.com +xincailiao.com +xincainet.com +xincaitong.net +xincanshu.com +xinceyq.com +xincg.com +xincha.com +xinchacha.com +xinchangol.com +xinchao.com +xinchaoss.com +xinchaoyue.com +xinchego.com +xincheng.com +xinchengzhongbang.com +xincheping.com +xinchukj.com +xincmm.com +xinda22.com +xindaifu.com +xindemarinenews.com +xindexuexi.com +xindi02.site +xindie.net +xindingwealth.com +xindns.com +xindns.mobi +xindon.com +xindong.com +xinduihuan.com +xinduo.com +xinduoad.com +xinerdact.com +xineurope.com +xinfangsheng.com +xinfee.com +xinfei.com +xinfeijituan.com +xinfengxitong.net +xinfenlei.com +xinfu888.com +xinfushe.com +xing73.com +xingaiming.com +xingames.com +xingbangip.com +xingbo.tv +xingchen.com +xingchenjia.com +xingcheshixian.com +xingdaoo.com +xingdatrip.com +xingdi.me +xingdong.co +xingdongliu.com +xinge.com +xingfagroup.com +xingfudu.com +xingfufangdai.com +xingfulizhaofang.com +xingfunancun.com +xingfuu.com +xinggan.com +xinggan.net +xinghao8.xyz +xinghengedu.com +xinghuankj.com +xinghuiyl.com +xinghuo100.com +xinghuo365.com +xinghuogroup.com +xinghuoxiaoshuo.com +xingjuhe.com +xingkeduo.com +xingkong.com +xingkongmt.com +xingkoo.com +xingkuad.com +xinglai.com +xinglinpukang.com +xingmai58.com +xingmao.cc +xingmeihui.com +xingmima.com +xingming.com +xingming.net +xingpan.com +xingpin.com +xingqiu.tv +xingqu11.com +xingren.com +xingrongn.com +xingse.net +xingseapp.com +xingshangnet.com +xingshulin.com +xingshuo.net +xingtac.com +xingtai123.com +xingtan001.com +xingtangzp.com +xingtouzi.com +xingtu.com +xingumin.net +xingxing.com +xingxingmeiyu.com +xingyi.com +xingyigz.com +xingyongli.com +xingyoucai.com +xingyuanhuzhu.com +xingyuehuyu.com +xingyuhuwai.com +xingyunba.com +xingyunxc.com +xingyunxingqiu.wang +xingyusoft.net +xingyuyouxi.com +xingzhang.com +xingzhiedu.net +xingzhilian.net +xingzhiyue.com +xingzuo.com +xingzuo123.com +xingzuo8.com +xingzuo8090.com +xingzuoshu.com +xingzuowu.com +xinhaolian.com +xinhaoqi.net +xinhay.com +xinhexinli.com +xinhongru.com +xinhtz.com +xinhua-news.com +xinhua.org +xinhua08.com +xinhuaapp.com +xinhuacu.com +xinhuamm.net +xinhuanet.com +xinhuanet.ltd +xinhuaphoto.org +xinhuapo.com +xinhuaprs.com +xinhuapub.com +xinhuashe.org +xinhuasuye.com +xinhuatoupiao.com +xinhuawang.com +xinhuaxmt.com +xinhuayimin.com +xinhuazhiyun.com +xinhuipihua.com +xinhuoshuguan.com +xinhushang.org +xiniu.com +xiniu1688.com +xiniu3d.com +xiniugushi.com +xiniuyun.com +xiniuz.com +xinjiadiy.com +xinjiance.com +xinjianggou.com +xinjimo.com +xinjingks.com +xinjisuan.net +xinjizhou.com +xinjunshi.net +xinjunshicn.net +xinkamai.com +xinkb.org +xinkuai.com +xinle366.com +xinli001.cc +xinli001.com +xinli001wx.com +xinliangxiang.com +xinliceping.com +xinlifudao.com +xinlimaoyi.com +xinlinghuayuan.com +xinlingletu.com +xinliwanju.com +xinlixue525.com +xinluex.com +xinluobo.com +xinlvtu.com +xinm123.com +xinmanduo.com +xinmanyuan.com +xinmaopimao.com +xinmei6.com +xinmeihu.com +xinmima.com +xinmuedu.com +xinnet.com +xinniangjie.com +xinnianhua.com +xinnong.com +xinnuoqian.com +xinouhk.com +xinpianchang.com +xinpianyugao.com +xinpinget.com +xinpujie.com +xinpure.com +xinqiannv.com +xinqigu.com +xinqing.com +xinqingdou.cc +xinqingdou.com +xinqiyejia.com +xinqiys.com +xinqtech.com +xinquanedu.com +xinquji.com +xinran1016.com +xinranliu.me +xinray.net +xinrenxinshi.com +xinrong.com +xinrong88.com +xinrui-games.com +xinrui.biz +xinrz.com +xinsanbanbao.com +xinsdn.com +xinshangmeng.com +xinshangshangxin.com +xinshiba.com +xinshijuewp.com +xinshipu.com +xinshishen.com +xinshoucun.com +xinshouzhanzhang.com +xinshula.com +xinshulaile.com +xinshuru.com +xinsilu.com +xinstall.com +xinstatic.com +xinsui.net +xintaileju.com +xintaizhou.com +xintheme.com +xintian.org +xintiao100.com +xintiao80.com +xintiaoyouxi.com +xintongconference.com +xintuiwang.com +xintuofalv.com +xinwangcj.com +xinweiyun.com +xinwen365.com +xinwen520.net +xinwengao.net +xinwenlianbo.cc +xinwenlianbo.tv +xinwenlianbovip.com +xinwentoutiao.net +xinwo.com +xinxianghui.com +xinxianshilb.com +xinxiansk.com +xinxiaochina.com +xinxiaodian.com +xinxiaoqi.com +xinxifabu.net +xinxinapp.net +xinxindai.com +xinxing.org +xinxing100.com +xinxingdaoju.com +xinxingjiaocheng.com +xinxingly.com +xinxinhot.net +xinxinjoy.com +xinxinkeji168.com +xinxinshukong.com +xinxisea.com +xinxuezl.com +xinxunwang.com +xinyali.net +xinyan.com +xinyaoyao.com +xinyayk.com +xinyegang.com +xinyicms.com +xinyifu.net +xinyisemi.com +xinyitt.com +xinyo100.com +xinyongbuy.com +xinyongqingdao.com +xinyou.com +xinyour.com +xinyouw.org +xinyu19.com +xinyuefei.com +xinyueseo.com +xinyukj99.com +xinyunfuwu.com +xinyunji.com +xinyuwanju.com +xinyuwen.com +xinzaoxing.com +xinzengwj.net +xinzheng.cc +xinzhenkj.com +xinzhi.space +xionganzhuce.com +xiongdayq.com +xiongdong.com +xiongmao666.com +xiongmaojinku.com +xiongyin.com +xiongying.com +xiongzhangad.com +xipushuju.net +xipuu.com +xiqb.com +xiqihe.com +xiqingji.com +xiqinrc.com +xiqqq.com +xirang.com +xirenxuan.com +xirikm.net +xishanju.com +xishaoye.com +xishiqu.com +xishiwang.com +xishuai.com +xishuai.net +xisj.com +xisslvyou.com +xitao88.com +xitaoinfo.com +xitek.com +xitek.net +xitie.com +xitieba.com +xitmi.com +xitong-tech.com +xitong110.com +xitong520.com +xitong8.com +xitongbuluo.com +xitongcheng.cc +xitongcheng.com +xitongdaquan.net +xitonggho.com +xitonghe.com +xitonghuayuan.net +xitongjiaocheng.com +xitongku.cc +xitongle.com +xitongmen.com +xitongpe.com +xitongqingli.com +xitongtiandi.net +xitongtiankong.com +xitongtu.net +xitongwanjia.com +xitongxz.net +xitongzhijia.net +xitouwang.com +xitu.io +xituan.com +xituju.com +xiu.com +xiu8.com +xiuai.com +xiucai.com +xiuchuang.com +xiudodo.com +xiufaxing.com +xiugei.com +xiugu.com +xiuhome.com +xiuimg.com +xiujiadian.com +xiujukoo.com +xiulian.com +xiuluowang.com +xiulv.com +xiumb.com +xiumi.com +xiumi.us +xiumius.com +xiumucn.com +xiuna.com +xiunian.wang +xiuno.com +xiupin.com +xiushao.com +xiusheji.com +xiusheji.net +xiushuang.com +xiustatic.com +xiutuan.com +xiutv.com +xiuxiandou.com +xiuxiu.com +xiuzhan365.com +xiuzhanwang.com +xivcdn.com +xiwang56.com +xiwangchina.com +xiwangd.com +xiwanglife.com +xiwenquan.com +xiwnn.com +xiwuji.com +xixi520.com +xixiaoyou.com +xixiarc.com +xixibobo.com +xixiclothing.com +xixijiji.com +xixik.com +xixik.net +xixin123.com +xixipan.com +xixiqiu.com +xixisys.com +xixiwg.com +xiyacs.com +xiyijiang.com +xiyin.life +xiyiqq.com +xiyogo.com +xiyoo.com +xiyou-g.com +xiyou360.net +xiyoucdn.com +xiyouchat.com +xiyouence.com +xiyouji.com +xiyouquan.com +xiyousdk.com +xiyouwebgame.com +xiyow.com +xiyuan.tv +xiyuege.com +xiyun.net +xiyurumen.com +xizanggl.com +xizangguolv.net +xizangqinglv.com +xizangzl.com +xizhang.com +xizhezhe.com +xizhi.com +xizhibei.me +xizi.com +xizike.com +xiziquan.com +xiziwang.net +xj-gr.com +xj-hao.com +xj-zp.com +xj120.com +xj123.info +xj169.com +xj7road.com +xj96596.com +xjabc.net +xjbdf.net +xjbhyx.com +xjbmaker.com +xjbuluo.com +xjc18.com +xjcbt.com +xjcc.net +xjche365.com +xjcmtj.com +xjctc.net +xjdaily.com +xjdkctz.com +xjdpx.com +xjdsb.com +xjdwx.com +xjent.com +xjfda.com +xjfilm.net +xjfine.com +xjflcp.com +xjfzb.com +xjggjy.com +xjgj.com +xjgqt.org +xjgsdm.com +xjgwy.org +xjh.me +xjhgame.net +xjhjsd.com +xjhr.com +xjishu.com +xjisme.com +xjiuai.com +xjiyou.com +xjjnjp.org +xjjxc.com +xjltp.com +xjlxw.com +xjlz365.com +xjmglr.com +xjmty.com +xjmw.net +xjorsa.net +xjpdf.com +xjphsd.com +xjrb.net +xjrmyy.com +xjshift.com +xjstnyly.com +xjtour.com +xjtsnews.com +xjtuccjsj.com +xjtucompressor.com +xjtudlc.com +xjwljb.com +xjwork.com +xjwyglw.com +xjxbx.com +xjxmtc.com +xjxy.com +xjyaxin.com +xjyou88.com +xjyqly.com +xjytjt.com +xjzdjx.com +xjzkzx.com +xjzlyy.com +xjzsks.com +xk8090.com +xk89.com +xk9l.com +xkb1.com +xkbsw.com +xkcd.in +xkdmp.com +xker.com +xkhouse.com +xknote.com +xkpx.com +xkqyfw.com +xksafe.com +xkw.com +xkwe.com +xkyn.com +xkyn.net +xkzww.net +xkzzz.com +xl-ai.com +xl-soft.com +xl13.com +xl526.com +xl5bb.com +xl5dd.com +xl5du.com +xl5dw.com +xl699.com +xlcidc.com +xlctyd.com +xlcz.com +xlfans.com +xlgao.com +xlgxapp.com +xlhb.com +xlhtcucc.com +xlimg.net +xlinclass.com +xlisp.net +xljnjy.com +xlkorganic.com +xlkty.com +xllxdg.com +xlm33.com +xlobo.com +xlpan.com +xlrocket.com +xlsemi.com +xlshou.com +xltrip.com +xltzgy.com +xluos.com +xlwxsw.com +xlxzikao.com +xlylf.com +xlyouxi.com +xlys1904.com +xlysauc.com +xlysoft.net +xlzhao.com +xlzx.com +xlzx123.com +xlzxdc.com +xlzyyw.com +xm-ad.com +xm-ais.net +xm-chuang.com +xm-olympic-museum.org +xm0760.wang +xm680.com +xm909.com +xm9m.com +xmadx.net +xmall1.com +xmamiga.com +xmanblog.net +xmantou.com +xmbankonline.com +xmbhw.com +xmbike.com +xmccb.com +xmcdn.com +xmchong.com +xmcimg.com +xmcp.ltd +xmcwh.com +xmcx.net +xmcymg.com +xmd5.com +xmeasygo.com +xmecard.com +xmedchain.com +xmf.com +xmfc.com +xmferry.com +xmfish.com +xmfunny.com +xmgc360.com +xmgps.com +xmgsd.com +xmheitu.com +xmhitek.com +xmhouse.com +xmigc.com +xmindchina.net +xminfoport.com +xmisp.com +xmitic.com +xmj.app +xmjgjy.com +xmjhome.com +xmjiaruan.com +xmjim.com +xmjslh.com +xmjyw.com +xmkanshu.com +xml-data.org +xmlhifi.com +xmlure.com +xmlvbarcode.com +xmmade.com +xmmama.com +xmmodo.com +xmmtoys.com +xmnjdwx.com +xmnovel.com +xmodelmall.com +xmonecode.com +xmos.tv +xmpcba.com +xmrbi.com +xmsec.cc +xmshqh.com +xmsixian.com +xmsme.com +xmsmjk.com +xmsoft.com +xmsoushu.com +xmspace.net +xmtbang.com +xmtekic.com +xmttz02.pw +xmtyy02.pw +xmtyy04.pw +xmuchong.com +xmuli.tech +xmwan.com +xmwsrc.com +xmwzfcyy.com +xmxdev.com +xmxgame.com +xmxwl.net +xmxwz.com +xmyeditor.com +xmyijing.com +xmyipin.com +xmylhy.com +xmysgame.com +xmysinter.com +xmzdls.com +xmzsyg.com +xmzylh.com +xn--2krw29cdqai43k.com +xn--4gqwb715dj2dewvbilsep42y.com +xn--6rt008ee0k3ua.com +xn--6rt008ee0k3ua.net +xn--7hv285el2dtof.com +xn--dkr447bejn.com +xn--dkr447bejn.net +xn--e9qp53aepg.xn--ses554g +xn--ebr05n.com +xn--eqrt2g.xn--vuq861b +xn--fiq8ituh5mn9d1qbc28lu5dusc.xn--vuq861b +xn--fiqz7g67bsydx1ed00d.com +xn--glr604k.com +xn--it-1r3f.com +xn--ntsp37j.net +xn--nyqx2gbsm8u0b.com +xn--nyw032beqlm2f.com +xn--nyw032beqlm2f.net +xn--q20av2y36ac54a.com +xn--rhq0kz4zzjc7w9a66k.com +xn--rss99n.com +xn--s4t325g.com +xn--w9qy23cc6adz7d.net +xn--wlqw5ebvdhpi5hepihs3c.com +xn--ygtp21bwyedsq.com +xn-ck.com +xn121.com +xn2017.com +xnaidog.com +xnara.org +xnb.me +xncoding.com +xncoo.com +xncredit.com +xndm.tech +xnguke.com +xnh123.com +xnhdgame.com +xninja.org +xnipapp.com +xnjcw.com +xnjjob.com +xnjz.net +xnlkj.com +xnnpc.com +xnongren.com +xnpic.com +xns315.com +xnsla.com +xnsqc.com +xntt.com +xntv.tv +xnw.com +xnwan.com +xnwx2014.net +xny365.com +xnyauto.com +xnye.net +xnzjxx.com +xoao.com +xocoder.com +xoliao.com +xooooa.com +xorpay.com +xoveskincare.com +xoxknct.com +xoxv.net +xoyo.com +xoyobox.com +xoyocdn.com +xoyq.net +xp002.com +xp5.com +xp6000.com +xp666.com +xp74.com +xp85.com +xp868.com +xp933.com +xp9365.com +xpagn.com +xpaper.com +xpaper.net +xpaper.vip +xpath.org +xpc420.com +xpccdn.com +xpcha.com +xpdf.net +xpjedu.com +xpjj.net +xpjm.net +xplian.net +xpsheying.com +xpsy.net +xptt.com +xpu93.com +xpw888.com +xpxt.net +xpyx.net +xq0356.com +xq5.com +xqb24.com +xqblog.com +xqbxz.com +xqchuxing.com +xqckg.com +xqfunds.com +xqggz.com +xqipu.com +xqishu.com +xqiushu.com +xqjmzc.com +xqjs.net +xqkqk.com +xqnmz.com +xqs360.com +xqsbw.com +xqship.com +xqspx.com +xqtesting.com +xqwww.com +xqyz.net +xrcch.com +xrccp.com +xreacloud.com +xredu.com +xrender.com +xrichengapp.com +xrkapp.com +xrkcdn.com +xrkmonitor.com +xrso.com +xrunda.com +xrwcn.com +xs-servers.com +xs.la +xs1h.com +xs222.tw +xs2500.com +xs321.com +xs386.com +xs3cnc.com +xs52.com +xs7.cc +xs7.la +xs74.com +xs880.com +xs91.net +xs963.com +xsb.tw +xsb120.com +xsbiquge.com +xsbnggzyjyxx.com +xscbs.com +xschu.com +xsdwk.com +xsee.cc +xsery.net +xsesc.com +xsfaya.com +xsfc.com +xshb.net +xshell.net +xshellcn.com +xshengyan.com +xshenshu.com +xshkvip.com +xshrcw.com +xshulin.com +xshuma.com +xshuoba.com +xshuotxt.com +xshwp.com +xsina.net +xsj2021888.com +xsjedu.org +xsjsource.com +xsjtxt.com +xsjwyx.com +xskhome.com +xskyx.net +xslb.me +xsldh.net +xslou.com +xsmaofa.com +xsmnews.com +xsmore.com +xsnsyh.com +xsool.com +xsp0311.com +xspcf.com +xspic.com +xspliter.com +xsrjt.com +xsrtvu.com +xsshuku.com +xssk.net +xsslyjt.com +xsstomy.com +xssz.net +xsteach.com +xsti.net +xstqj.com +xstt5.com +xstx.info +xstxt.com +xsu.cc +xsvps.com +xswdcasting.com +xsxkzz.com +xsycps.com +xsyk021.com +xsyqmztg.com +xsyushan.com +xsyxsc.com +xszp.cc +xszrcw.com +xszww.com +xszysc.com +xt-kp.com +xt-tattoo.com +xt12333.com +xt70.com +xt918.com +xtao.me +xtbank.com +xtc-edu.com +xtcaq.com +xtcrm.com +xtdpye.com +xtea.org +xtedu.com +xthc999.com +xthinking.net +xtibet.com +xtjc.com +xtjky.com +xtjxsb.com +xtlkgc.com +xtlog.com +xtmtrj.com +xtongs.com +xtrc.net +xtt95511.bz +xttblog.com +xttongcai.com +xttongji.com +xttz.com +xtu2.com +xtuan.com +xtuo.net +xtutoring.com +xtyxdq.com +xu1s.com +xu7b.com +xuanad.com +xuanba.com +xuanbiaoqing.com +xuancaizi.com +xuanceo.com +xuancheng.org +xuandan.com +xuande99.com +xuandui.me +xuanfengge.com +xuanfengkeji.com +xuanfuwang.com +xuanhuafb.com +xuanhuange.com +xuanhuange.net +xuanjutong.com +xuanke.com +xuanlishi.com +xuanliwang.com +xuannaer.com +xuanquge.com +xuanqun.com +xuanruanjian.com +xuanshu.com +xuantaikeji.com +xuanwonainiu.com +xuanwu88.com +xuanwumobile.com +xuanwww.com +xuanxiu.cc +xuanxuan.com +xuanxuangame.com +xuanxuantemai.com +xuanxue.com +xuanxueyuan.com +xuanyangxl.com +xuanyouwang.com +xuanyusong.com +xuanzhoubian.com +xubei.com +xuchuang.com +xudan123.com +xudankeji.com +xudongfood.com +xudoodoo.com +xuduan.vip +xue163.net +xue3dmax.com +xue51.com +xue63.com +xueanquan.com +xueba100.com +xuebalib.com +xuebingsi.com +xuebuyuan.com +xuecaijie.com +xuecan.net +xuechebu.com +xuechela.com +xueda.com +xuedi.com +xuedong97.com +xueepay.com +xueersen.com +xueersi.com +xueerxing.com +xuefenxi.com +xuefo.net +xuegaogame.com +xuegeshui.com +xuegongkong.com +xueguoedu.net +xuehai.net +xuehaibjb.com +xuehaoba.com +xuehuacdn.com +xuehuahua.cc +xuehuahua.net +xuehui.com +xuehuile.com +xuehuiwang.com +xueit.com +xuejiehome.com +xuejiqiao.com +xuekeedu.com +xuekuaiji.com +xuekubao.com +xuekuibang.shop +xuelecn.com +xueleku.com +xuelema.com +xueleyun.com +xueli9.com +xuelu.org +xueming.li +xuenb.com +xuepaijie.com +xuepojie.com +xueqiu.com +xueqiu360.com +xuerentang.net +xuesax.com +xueseo.com +xueshandai.com +xueshanlinghu.com +xueshen.net +xueshiboke.com +xueshiyun.com +xueshu.com +xueshu5.com +xueshuda.com +xueshujia.com +xuetangonline.com +xuetangx.com +xuetangzaixian.com +xueti.com +xuetimes.com +xuetu.net +xuetuwuyou.com +xueui.com +xueuisheji.com +xuewangshang.com +xuewangzhan.com +xuewangzhan.net +xuewei.net +xueweijiema.com +xuexb.com +xuexi.la +xuexi365.com +xuexi637.com +xuexiaodaquan.com +xuexiaodaquan.net +xuexiaozhaopin.com +xuexibao.com +xuexigang.com +xuexijilu.com +xuexila.com +xuexili.com +xuexilinux.com +xuexin365.com +xuexiniu.com +xuexitong.com +xuexivip.net +xueyanshe.com +xueyiyun.com +xueyou.org +xueyouyoo.com +xueyuanjun.com +xuezhouyi.com +xuezishi.net +xuezizhai.com +xugaoyang.com +xugucn.com +xuhangzj.com +xuheen.com +xuhehuan.com +xuhot.com +xujianhua.com +xujun.org +xukai.xyz +xulaoshi68.com +xuliangwei.com +xulihang.me +xulizui6.com +xulonggame.com +xulv.net +xumenger.com +xuminggang.com +xumingxiang.com +xumurc.com +xun1688.com +xunbao178.com +xunbaozhifu.com +xunbibao.com +xunbin.com +xunbuy.com +xuncaoji.net +xunchabing.com +xundalm.com +xundayun.com +xundns.com +xundns.net +xundns.org +xundupdf.com +xunerjie.com +xunfang.com +xunfeivr.com +xungou.com +xunhuoyi.com +xunhupay.com +xunicard.com +xunihao.net +xunjiecad.com +xunjiepdf.com +xunjieshipin.com +xunjietupian.com +xunkids.com +xunkoo.com +xunlei.com +xunlei.net +xunlei1.com +xunleigang.com +xunleige.com +xunleige520.com +xunleige88.com +xunleihuiyuan.net +xunleiyy.com +xunlew.com +xunli.xyz +xunliandata.com +xunlong.net +xunlong.tv +xunlonghe.net +xunlongsoft.com +xunmb.com +xunmei.net +xunmeinet.com +xunmiweb.com +xunmzone.com +xunqianwang.com +xunruicms.com +xunsearch.com +xunshou.com +xuntou.com +xuntuoguan.com +xunurl.com +xunwan.com +xunwei.org +xunwei.tm +xunxi.com +xunxu.com +xunyixia.com +xunyou.com +xunyou.mobi +xunyun.com +xunzai.com +xunzhuang.net +xunzhuo123.com +xunzi.cc +xuooo.com +xupu.name +xupu120.com +xuqyfw.com +xuruowei.com +xuxian.com +xuxian.me +xuxueli.com +xuxusheng.com +xuyaokeji.com +xuyi.net +xuyilx.com +xuyimin.club +xuyongren.com +xuyuanyi.com +xuzhi.net +xuzhoujob.com +xv5b.com +xvision.club +xvista.com +xvna.com +xvv.cc +xw-china.com +xw1806.com +xw360.com +xwadv.com +xwan.com +xwb8.com +xwbank.com +xwcms.net +xwcool.com +xwdsp.com +xweb.vip +xwei.tv +xwhb.com +xwhodesign.com +xwjqr.com +xwjr.com +xwjy.org +xwko.com +xwlunwen.com +xwlxw.com +xwood.net +xwsj.org +xwtex.com +xwuad.com +xww360.com +xwxguan.com +xwyun.net +xwz999.com +xwzc.net +xwzxjy.com +xx007.com +xx144.com +xx4a.com +xx5.com +xxadc.com +xxbiquge.com +xxbmm.com +xxbt.com +xxcang.com +xxcig.com +xxcmw.com +xxd.io +xxdao.com +xxfzl.com +xxgj47.com +xxgzmlt.com +xxhd-tech.com +xxhh.com +xxhkt.com +xxhyzd.com +xxingclub.com +xxjcy.com +xxjr.com +xxjrjxc.com +xxjrqc.com +xxka.com +xxko.net +xxkucun.com +xxlcn.com +xxliudsp.com +xxlwin.com +xxm.plus +xxmac.com +xxmanhua.info +xxmh117.com +xxmh21.com +xxmh223.com +xxmh225.com +xxmh226.com +xxmh268.com +xxmh330.com +xxmh460.com +xxmh481.com +xxmh484.com +xxmh673.com +xxmh730.com +xxmh81.com +xxnets.net +xxnmcd.com +xxoojoke.com +xxorg.com +xxpie.com +xxptcs.com +xxqb5200.com +xxqipai.com +xxqun.com +xxrou.net +xxs8.com +xxsb.com +xxsdfjx.com +xxshu.com +xxskins.com +xxsy.net +xxsywxj.com +xxtaotao.com +xxtiao.com +xxtjs.com +xxwenda.com +xxwolo.com +xxxfeng.com +xxxlbox.com +xxxmeng.com +xxxxxbbs.com +xxxzzlm.org +xxycw.com +xxyfgy.com +xxyhzd.com +xxyo.com +xxyw.com +xxzdpf.com +xxzfgjj.com +xxzhushou.com +xy-365.com +xy-asia.com +xy.com +xy1212.com +xy1758.com +xy178.com +xy1989.com +xy3000.com +xy48.net +xy58.net +xy78.com +xy980.net +xyacg.net +xyb100.com +xybsyw.com +xybygw.com +xyc999.com +xycaogen.com +xycareer.com +xycdn.com +xyclawyer.com +xycloud.com +xyclouds.com +xyczero.com +xydcname.com +xydcname.net +xydhl.com +xydxcloud.com +xydxcs.com +xyfc.com +xyfcw.com +xyffsb.com +xyfw.org +xygjx.com +xygmed.com +xygyhd.org +xyhc.com +xyhis.com +xyhlcd.com +xyhospital.com +xyhqsh.com +xyhtml5.com +xyhust-meri.com +xyimg.net +xyinzhe.com +xyj.link +xyj321.com +xyjt.org +xylh888.com +xylink.com +xylmf.com +xymcp3.com +xymens.com +xymvip.com +xynbnb.com +xyniubi.com +xynsh.com +xyookj.com +xyous.com +xyppzx.com +xyq.name +xyqb.com +xyqczy.com +xyqka.com +xyrtv.com +xysb.com +xyshu8.com +xyshu8.net +xyssdzrmzf.com +xystatic.com +xystoy.com +xysy.com +xytjcpj.com +xytzg.com +xyunqi.com +xyvend.com +xyvending.com +xyw.com +xywallet.com +xywm.ltd +xywooden.com +xywy.com +xywyfw.com +xywzs.com +xyx234.com +xyxcables.com +xyxdie.com +xyxinr.com +xyxl.net +xyxsc.com +xyxsns.com +xyxy.com +xyxy.net +xyxy01.com +xyy001.com +xyyh.xyz +xyyksy.com +xyyuedu.com +xyyx82.com +xyz-jm.com +xyz1001.xyz +xyz1412.net +xyz365.vip +xyz456.com +xyz83.com +xyzcdn.net +xyzcn.com +xyzdict.com +xyzggg.com +xyzmdzs.com +xyzone.xyz +xyzs.com +xyzsq.com +xyzysmx.com +xz-juming.com +xz.com +xz577.com +xz6.com +xz6699.com +xz6d.com +xz7.com +xzapi56.com +xzbu.com +xzcblog.com +xzddx.com +xzdzsww.com +xzfile.com +xzggjyzpw.com +xzgjj.com +xzh200c.shop +xzhengyida.com +xzhichang.com +xzhizao.com +xzji.com +xzjqx.date +xzjxtsg.com +xzkd.com +xzking.com +xzlogo.com +xzlres.com +xzltzc.com +xzm56.com +xzn56.com +xzoo.org +xzper.com +xzpoll.com +xzr.kim +xzrj.cc +xzrjsoft.com +xzsec.com +xzsnw.com +xzstatic.com +xzsthj.com +xztyhl.com +xztylfu.com +xztzb.com +xzw.com +xzwwxn.com +xzx.com +xzxiaoshuo.com +xzxw.com +xzyhealth.com +xzzanggong.com +xzzp.net +y-os.net +y.to +y007.com +y0game.com +y1995.com +y2002.com +y261.com +y4dg.cc +y4dg.com +y500.me +y5000.com +y5663.com +y6162.com +y80s.com +y821.cc +y999.com +y9photo.com +ya17.com +ya247.com +yaability.com +yaahe.com +yabo.com +yabo2020.com +yabodns.com +yabolive.com +yaboor.com +yabovip2029.com +yac8.com +yac8.net +yadashi.com +yadgen.com +yadingchi.com +yadingtour.com +yaduo.com +yaeherhealth.com +yaersen.com +yafanpm.com +yafco.com +yafdev.com +yafeilinux.com +yageo.tech +yago-mall.com +yahacode.com +yahaizi.com +yahei.net +yahoo001.com +yahotab.com +yahuhost.com +yahui.hk +yaitest.com +yaiyuan.com +yajuke.com +yajxc.com +yakool.com +yalayi.net +yalewoo.com +yaliang.net +yalinfeng.com +yalishiyanji.com +yalixinli.com +yalongsi.com +yalqq8976.com +yamadesignlab.com +yamadie.net +yameijie.com +yameisj.com +yamibo.com +yan-wei.net +yanbinghu.com +yanbm.com +yanboguoji.com +yanboyuan.com +yanche315.com +yanchebang.com +yanchengzx.com +yandianying.com +yandui.com +yanedu.com +yanfen.online +yang16.com +yangbing.club +yangchebao.cc +yangchenglianhe.com +yangchunjian.com +yangcong.com +yangcong345.com +yangcongchufang.com +yangdongjia.com +yangerxiao.com +yangfannie.com +yangfawen.net +yangfd.com +yangge.me +yangguanjun.com +yangguiweihuo.com +yanghengjun.com +yanghua.com +yanghui.com +yangjian.me +yangjie.li +yangkatie.com +yangkeduo.com +yangki.net +yangkun.net +yanglajiao.com +yanglaocn.com +yanglaofuwu365.com +yanglaozhan.org +yanglee.com +yangli.com +yanglingxi.com +yanglong.pro +yangluojob.com +yangluoxw.com +yangmao.info +yangmaodang.org +yangmaohao.net +yangner.com +yangqianguan.com +yangqimanhua.com +yangqq.com +yangqu.com +yangsam.com +yangshengliang.com +yangshengpu.com +yangshengtt.com +yangshengzhu.com +yangshitianqi.com +yangtaiapp.com +yangtengfei.com +yangtianb.com +yangtianbao.com +yangtse.com +yangtze-volga.org +yangwang.pw +yangwc.com +yangxiang.com +yangxiangming.com +yangxiaojia.me +yangxikun.com +yangxingzhen.com +yangxinlife.com +yangyangla.com +yangyanxing.com +yangyi.vip +yangyi02.com +yangyi08.com +yangyi19.com +yangyingming.com +yangyongquan.com +yangyq.net +yangzhe1991.org +yangzhiping.com +yangzhiriji.com +yangzhix.com +yangzhongchao.com +yangzijiang.com +yangzw.vip +yanhaijing.com +yanjiangwang.com +yanjiao.com +yanjiao.net +yanjiaoapp.com +yanjiaols.com +yanjiaoweixin.com +yanjinews.com +yanjingge.com +yanjiubaogao.com +yanjiushenglw.com +yanjiyou.net +yanjun7858.com +yanjunbo.com +yankanshu.net +yankanzw.com +yankay.com +yanliu.org +yanlutong.com +yanmbjiage.com +yannv.com +yanoda.com +yanpk.com +yanqiao.com +yanqing-888.net +yanqingzhan.net +yansedaquan.com +yanshihua.com +yanshishuo.com +yansudian.com +yantai-chuanpiao.com +yantaibank.net +yantaimarket.com +yantaitech.com +yantubao.com +yantuchina.com +yanue.net +yanunon.com +yanwenzi.com +yanxian.org +yanxintong.com +yanxishe.com +yanxiu.com +yanxuezhang.net +yanxurui.cc +yanyapeng.com +yanyib2b.com +yanyijiameng.com +yanyijingling.com +yanyiwu.com +yanyuzw.com +yanzhiwu.com +yanzoujia.net +yao.com +yao123.com +yao51.com +yaoao.net +yaobo.net +yaochixs.com +yaochufa.com +yaocsoft.com +yaodaojiao.com +yaodou.net +yaofangwang.com +yaofangwang.net +yaofx.net +yaoge123.com +yaoguo.com +yaohaixiao.com +yaohuiji.com +yaohuo.me +yaojiao.tv +yaojibuyu.com +yaojidsfee.com +yaojiedianzi.com +yaojingtang.com +yaokaihui.com +yaolaifen.com +yaolan.com +yaoliwang.com +yaomaiche.com +yaoman.net +yaonano.com +yaoor.com +yaooxx.space +yaopaiming.com +yaopinnet.com +yaoqingwo.com +yaosai.com +yaowan.com +yaowei.info +yaoxianwu.com +yaoyedan.net +yaoying.vip +yaoyl.com +yaoyouke.com +yaoyu.com +yaoyuan.com +yaoyuanba.com +yaozh.com +yaozs.com +yaozui.com +yareiot.com +yarnn.com +yasishuo.com +yasiyasi.com +yasking.org +yasn.com +yasuotu.com +yataishoes.com +yatiku.com +yatiwang.com +yatsenglobal.com +yatsoft.com +yawancaiwu.com +yawen.cc +yawenb.com +yawkj.com +yaxi.net +yaxige.com +yaxinde.com +yaxuntuhang.com +yayigou.net +yayihouse.com +yaypool.com +yayu.org +yazhifan.com +yazhougoufang.com +yazibt.com +yazjy.com +yazuo.com +yb1518.com +yb1867.com +yb3.cc +yb983.com +yba120.com +ybaby.com +ybao.org +ybaobx.com +ybbdzp.com +ybbgd.com +ybbxkj.com +ybccb.com +ybccode.com +ybdudu.com +ybe.net +ybhdmob.com +ybi.net +ybin.cc +ybirds.com +ybj.com +ybjasb.com +ybjk.com +ybjtds.net +yblp.com +ybm100.com +ybren.com +ybs120.com +ybtong.com +ybtvyun.com +ybtzjt.com +ybvipdns.com +ybvv.com +ybword.com +ybwzx.com +ybxww.com +ybzkb.com +yc.cc +yc123.com +yc370.com +yc38.com +yc999vip.com +ycandyz.com +ycb.com +ycbright.com +yccdn.com +ycdjy.com +ycdlfw.com +ycdongxu.com +yceshop.com +ycgj.cc +ycgjj.net +ycgslb.com +ychefu.com +ychromedgeie.com +ychxie.com +ychxiex.com +ycig.com +ycigilink.com +yciyun.com +ycjt2007.com +ycjtj.com +ycjyjt.com +ycku.com +yclh6.com +yclunwen.com +ycmbcd.com +ycnuli.com +ycoem.net +ycool.com +ycpack.net +ycpai.com +ycrh-tattoo.com +ycrusher.com +ycsgame.com +ycshengwang.com +ycsrc.com +ycsystem.com +yct-tec.com +ycty.org +ycwalker.com +ycwanju.com +ycwb.com +ycwhys.com +ycwtbgsb.com +ycxfgroup.com +ycxhdp.com +ycxjtd.com +ycyggr.com +ycyhhx.com +ycyjkj.com +ycym.com +ycyui.com +yczihua.com +ydaobo.com +ydbimg.com +ydc360.com +yddn.com +ydh.fun +ydjt1166.com +ydl.com +ydl.wang +ydlbk.com +ydlcdn.com +ydm88.com +ydmel.com +ydmeng.com +ydmob.com +ydmsh.com +ydn5.com +ydnewmedia.com +ydr.me +ydsaso.com +ydsjjs.com +ydstatic.com +ydsyxzx.com +ydtad.com +ydtnotary.com +ydtun.com +ydu6.com +yduav.com +ydui.org +ydvip00ap.com +ydvip00as.com +ydwhgs.com +ydx2.com +ydxxt.com +ydy.com +ydyeducation.com +ydys1688.com +ydyy120.com +ye.com +ye1992.com +ye3.com +ye40.com +yea.im +yead.net +yeah.net +yeahka.com +yeahworld.com +yeai.com +yealink.com +yealinkvc.com +yeapcloud.com +yearnfar.com +yeastar.com +yeax.com +yebaike.com +yebangyu.org +yeboyzq.com +yecdn.com +yedingding.com +yee5.com +yeeaoo.com +yeecall.com +yeecin.com +yeecloud.com +yeedian365.com +yeefeitrip.com +yeefire.com +yeefx.net +yeekit.com +yeelight.com +yeelink.net +yeelogo.com +yeemiao.com +yeemiao.net +yeepay.com +yeepaycdn.com +yeepiao.com +yeeuu.com +yeeyan.com +yeeyan.org +yeeyk.com +yeezhe.com +yef2.vip +yefeiyexs.com +yefu365.com +yegame.com +yegenyou.com +yegong.net +yehetang.com +yeidc.com +yeidc.net +yejienet.com +yejing.biz +yejuu.com +yelanxiaoyu.com +yelinmall.com +yelixiali.com +yelook.com +yemablog.com +yemacaijing.com +yemaili.com +yemaosheji.com +yemaosoft.com +yemayun.com +yemeihuoguo.com +yemet.com +yemi.me +yenisezonmodelleri.com +yeolar.com +yeoner.com +yeree.com +yerhu.com +yes-chinese.com +yes-med.net +yes515.com +yes58.net +yes88.com +yesacc.com +yesaha.com +yesanpole.com +yesapi.net +yesbt.cc +yesdat.com +yesdecor.com +yeseesports.com +yesense.com +yeseread.com +yeshen.com +yeshengarts.com +yeshj.com +yeshu.com +yesidos.com +yesiness.com +yeskn.com +yesky.com +yeslib.com +yeslicake.com +yesmryang.net +yesmyimg.com +yesmywine.com +yesoulchina.com +yespearl.com +yestar.com +yestar1992.com +yestarm.com +yestarvip.com +yeston.net +yestone.com +yesudoo.com +yesuse.net +yeswan.com +yesxia.com +yesxun.com +yetang.com +yetianzi.com +yetingjk.com +yewen.us +yewuyuan.com +yexinggroup.com +yeyaji9.com +yeyday.com +yeyemm.xyz +yeyexx.com +yeyexx8.com +yeyexx9.com +yeyezw.com +yeyimg.com +yeyo.cc +yeyou.com +yeyoucdn.com +yeyoujia.com +yeyulingfeng.com +yeyun.com +yezdm.com +yezhuwq.com +yezhuwuyou.com +yezicc.com +yeziting.com +yezixigame.com +yfbzb.com +yfcache.com +yfcalc.com +yfcdn.net +yfcloud.com +yfcloud.io +yfcmf.net +yfdns.net +yfdts.net +yfdurl.com +yfdxs.com +yfdyf.com +yffe.com +yfgj68.com +yfhl.net +yfhxtech.com +yfiot.com +yfjiakao.com +yfklxz.com +yfmhw.com +yfp2p.net +yfpayment.com +yfscdn.com +yfscdn.net +yfservice.com +yftxt.com +yfvb.com +yfway.com +yfwnm.com +yfycrc.com +yfycyboil.com +yg-dk.com +ygc711iq.com +ygct.com +ygdy8.com +ygdy8.net +yge.me +ygei.com +yget.me +yghsh.com +ygibao.com +yginsight.com +ygjj.com +ygjoy.com +ygo.wiki +ygodl.com +ygread.com +ygsdmedia.com +ygshangjie.com +ygsoft.com +ygsub.com +ygtcpa.com +ygwenxue.com +ygym.org +yh31.com +yh596.com +yh598.com +yh99.cc +yhachina.com +yhaow.com +yhbimg.com +yhcko.com +yhcmovie.com +yhcqw.com +yhd.com +yhdfa.com +yhdm5.com +yhdns.net +yhdtns.com +yhetent.com +yhfx.info +yhgo.wang +yhgo8.com +yhidc.com +yhindustrial.com +yhj2000.com +yhj9.com +yhjbox.com +yhjdcom.com +yhkgas.com +yhkingdee.com +yhlbbs.com +yhm11.com +yhmh.vip +yhouse.com +yhq368.com +yhqapp.com +yhqdashi.com +yhqpd.com +yhquan365.com +yhqurl.com +yhrcb.com +yhres.com +yhrtvu.com +yhshapp.com +yhsms.com +yhspy.com +yhsrv.com +yhtools.cc +yhtower.com +yhtx.tv +yhurl.com +yhwomen.com +yhxuexiao.com +yhy50.com +yhyf.cc +yhyshop.com +yhz2000.com +yhz365.com +yhz66.com +yhzdt.com +yhzm.cc +yhzm.com +yhzml.com +yhzuche.com +yhzy365.com +yi-jy.com +yi-programmer.com +yi-you.org +yi114.com +yi2.net +yi588.com +yi6.com +yi7.com +yi958.com +yiai.me +yiaini.com +yianju.ltd +yiapp.com +yibaifen.com +yibaixun.com +yiban.io +yiban1314.com +yibaogao.com +yibei.com +yibencaijing.com +yibenmanhua.com +yibite.com +yicai.com +yicaitangwangzhuan.com +yicamp.com +yichadan.com +yichangly.com +yiche.com +yichemall.com +yichesafe.com +yichuyifan.com +yicipapa.com +yiclear.com +yicongfound.org +yicuba.com +yicx.com +yidaba.com +yidai.com +yidaomobi.com +yidaservice.com +yideamobile.com +yidejia.com +yidejr.com +yidejr.net +yidengxuetang.com +yidian360.com +yidianchina.com +yidiandian-tea.net +yidianer.com +yidianfenqi.com +yidianhulian.com +yidianling.com +yidiansz.com +yidianting.xin +yidianzixun.com +yidianzx.com +yidmall.com +yidong-food.com +yidonghua.com +yidonglin.com +yidoutang.com +yidu.cc +yidui.me +yidumen.com +yidun.com +yiernews.com +yifabao.com +yifake.com +yifanghy.com +yifanmedia.net +yifansuo.com +yifatong.com +yifeisoft.com +yifeiyuan.me +yifen.com +yifeng-mover.com +yifeng.com +yifenghudong.com +yifenghuyu.com +yifengke.com +yifengx.com +yifengxin.org +yifone.com +yifu.net +yifubao.com +yifucj.com +yifuls.com +yifutangvip.net +yifutu.com +yigao.com +yigaosu.com +yige.org +yigecun.com +yigeking.com +yigeqianbao.com +yigerlife.com +yigood.net +yigoonet.com +yigouu.com +yiguanli.net +yigujin.wang +yiguo.com +yiguoimg.com +yihafo.com +yihaikerry.net +yihangen.com +yihao01.com +yihaobc.com +yihaodian.com +yihaodianimg.com +yihaoduozhongduan.com +yihaohuoche.com +yihaojiaju.com +yihaomen.com +yihchina.com +yihe360.com +yihecloud.com +yihedoors.com +yihegold.com +yihong001.com +yihu.com +yihuacomputer.com +yihuimg.com +yihun.com +yii-china.com +yiibai.com +yiibook.com +yiichina.com +yiiheng.com +yiihuu.com +yiii.net +yiiwoo.com +yijia-ai.com +yijia.com +yijiaer.com +yijian119.com +yijiangshan.net +yijianjiaoyu.com +yijianjiexi.com +yijianxiu.com +yijianzj.com +yijiaren888.com +yijie.com +yijiebuyi.com +yijiedai.com +yijiexiaomin.com +yijinghong.com +yijingji.com +yijintong.net +yijirecovery.com +yijiupi.com +yijiuplus.com +yijueweb.com +yikang1977.com +yikanxiaoshuo.com +yikanxiaoshuoa.com +yike.io +yikedou.com +yikehome.com +yiketalks.com +yikeweiqi.com +yikexue.com +yikeyz.com +yikm.net +yikuaide.com +yikuaiqu.com +yikuns.com +yikuzy.com +yilan.io +yilan.tv +yilanvaas.com +yile8.com +yilewan.com +yileweb.com +yileyiqi.com +yileyoo.com +yileyunssp.com +yili.com +yilianmeiti.com +yilianqing.com +yilianyixue.com +yilibabyclub.com +yilihuo.com +yilijet.com +yilingshop.com +yilinguoji.com +yilinweb.com +yilong.com +yilongtv.com +yilule.com +yiluzhuanqian.com +yiluzouhao.com +yilvcheng.com +yimaoip.com +yimashijie.com +yimasm.com +yimeima.com +yimenapp.com +yimeng.com +yimengmusic.com +yimenonline.com +yimenyun.net +yimi.com +yimianmian.com +yimiaozhongdemeng.com +yimidida.com +yimihaodi.com +yimikf.com +yimin.biz +yimin168.com +yimincaifu.com +yiminchaoshi.com +yimingzhi.net +yimininfo.com +yiminjiayuan.com +yiminw.com +yimisoft.com +yimitongxue.com +yimiyisu.com +yimizhibo.tv +yimoe.cc +yimutian.com +yinan9.com +yinar.com +yinbaitu.com +yinbin.ink +yinchengpai.com +yinchengwealth.com +yindon.com +yindou.com +yinduabc.com +yindudigital.com +yinduzx.com +yineitong.com +yinfeiy.com +ying-ji.com +yingbishufa.com +yingcankeji.com +yingchaozhibo.com +yingchengnet.com +yingchuang.com +yingchulawyer.com +yingci86.com +yingdev.com +yingdianzi.com +yinge.cc +yinge.tech +yingerchela.com +yingfeiyun.com +yingfeng.me +yinghaicar.com +yinghaozs.com +yinghecloud.com +yingheying.com +yinghezhong.com +yinghualiu.com +yinghub.com +yingjia360.com +yingjianzhijia.com +yingjiesheng.com +yingjiesheng.net +yingjimall.com +yingk.com +yingkelawyer.com +yingle.com +yinglou6.com +yinglunka.com +yingmei.me +yingmi.com +yingmile.com +yingming.net +yingmoo.com +yingpingji.com +yingsheng.com +yingshengyl.com +yingshiborui.com +yingshixiaoshuo.com +yingshiyou.com +yingsoo.com +yingsun.net +yingtai.com +yingtaoai.com +yingtaosiyue.com +yingtaoyun.com +yingucaifu.com +yingujr.com +yinguobing.com +yingupuhui.com +yingwenming.com +yingworks.com +yingwuyuzd.cc +yingxiahome.com +yingxiang.com +yingxiaoo.com +yingxiong.com +yingxuan.io +yingxunkeji.net +yingyang630.com +yingyinglicai.com +yingyongbei.com +yingyonghao8.com +yingyonghui.com +yingyongmiao.com +yingyu.com +yingyurumen.com +yingyushijie.com +yingyuweb.com +yingzaocms.com +yingzheng.com +yingzhongshare.com +yingzt.com +yinhai.com +yinhangchaxun.com +yinhanghanghao.com +yinhangkadata.com +yinhangkahao.com +yinhangkaoshi.net +yinhanglilv.net +yinhangzhaopin.com +yinhe.com +yinheli.com +yinhengli.com +yinher.com +yinheyuedu.com +yinhu.com +yini.org +yinjiaji.com +yinjietd.com +yinka.co +yinker.com +yinlei.net +yinliuba.com +yinmishu.com +yinongtouzi.com +yinpiao.com +yinsha.com +yinshua.cc +yinshua86.com +yinshuiyu.com +yintai.com +yintechi.com +yintop.com +yinuoedu.net +yinuosy.com +yinvmh.com +yinxi.net +yinxiang.com +yinxianggame.com +yinxiangma.com +yinxiangqingyang.com +yinxiao.com +yinxinbh.com +yinxing.com +yinxunbiao.com +yinyue7.com +yinyuegf.com +yinyuemeitu.com +yinyuetai.com +yinyueyouxi.com +yinzhijie.com +yinzhizhu.com +yinzifang.com +yinzige.com +yinziji.com +yinzuo100.com +yinzuojianshen.com +yioho.com +yioulai.com +yiovo.com +yipaipian.com +yipanhaocai.com +yipaogan.com +yiparts.com +yipemail.com +yipihuo.com +yipingmi.vip +yipinhr.com +yipinread.com +yipinsucai.com +yipuping.com +yiqi.com +yiqianbao.com +yiqianlian.com +yiqiao88.com +yiqibazi.com +yiqibing.com +yiqibuduoduo.com +yiqicesuan.com +yiqifa.com +yiqifa.org +yiqifengtian.com +yiqifin.com +yiqihao.com +yiqijixiang.com +yiqimaila.com +yiqiming88.com +yiqioffice.com +yiqishai.com +yiqishangxueba.com +yiqishanyuan.com +yiqiso.com +yiqisoo.com +yiqisooimg.com +yiqisou.net +yiqiu.org +yiqiuu.com +yiqiv.com +yiqixie.com +yiqixiegushi.com +yiqiyou.com +yiquanhs.com +yiquanseo.com +yiquhai.com +yiqujing.com +yiquxapp.com +yiren001.com +yirendai.com +yirentong.com +yirenzhushou.com +yirimao.com +yirlir.com +yiruantong.com +yiruanwang.com +yirui.net +yiruide.com +yiruikecorp.com +yiruituo.com +yisa.com +yisafe.co +yisanban.com +yisanwu.com +yisell.com +yishalai.com +yisharepdf.site +yishengfanyi.com +yishihui.com +yishion.com +yishion.net +yishixue.com +yishu.com +yishu168.com +yishujie.com +yishuliuxue.com +yishun.net +yishuweipen.com +yishuzhifa.com +yishuzi.com +yishuzi.org +yishuziti.com +yisier.com +yisou.com +yisouti.com +yisouyifa.com +yiss.com +yisu.com +yisu6.com +yisusoft.com +yit.com +yitaifang.com +yitang.org +yitanyun.com +yitaojiayuan.com +yitel.com +yitenggz.com +yitesoft.com +yitianshidai.com +yitianxinda.com +yiticm.com +yitongjiayou.com +yitongmedia.com +yitopapp.com +yituocn.com +yitutech.com +yiupin.com +yiuxiu.com +yivian.com +yivicar.com +yivizd.com +yiwaiart.com +yiwan.com +yiwanggo.net +yiwangml.com +yiwanzhushou.com +yiwealth.com +yiweb.com +yiweilaogumin.com +yiwenyida.com +yiwubuy.com +yiwufair.com +yiwugo.com +yiwugou.com +yiwuku.com +yiwutalk.com +yixao.com +yixi.tv +yixia.com +yixiaoxi.com +yixie8.com +yixiekeji.com +yixieshi.com +yixiin.com +yixin.com +yixin.im +yixin5.com +yixincao.com +yixinfinance.com +yixinfund.com +yixinhuinong.com +yixinplanning.com +yixintui.com +yixinu.com +yixinxin.com +yixiu08.com +yixiubx.com +yixiuxueyuan.com +yixuan.net +yixue68.com +yixue99.com +yixueks.com +yixuelunwen.com +yixui.com +yixun.com +yiya520.com +yiyaha.com +yiyakq.com +yiyanche.com +yiyangidc.com +yiyaojd.com +yiyaojie.com +yiyatuan.com +yiybb.com +yiye.ai +yiyebang.com +yiyefei.com +yiyesheng.net +yiyewenxs.com +yiyiarts.com +yiyiarts.net +yiyihd.com +yiyimh.com +yiyingt.com +yiyisoft.com +yiyitech.com +yiyiwang.net +yiyiwawa.com +yiyongcad.com +yiyou.org +yiyouhbkj.com +yiyouliao.com +yiyoupay.net +yiyouqi.com +yiyu.com +yiyuanqiang.net +yiyuansoft.com +yiyuantian.com +yiyuanyi.org +yiyuetop.com +yiyult.com +yiyum.com +yiyunweb.com +yiyurumen.com +yiyuzw.com +yizaoyiwan.com +yizeijun.com +yizenb.com +yizhanzx.com +yizhchan.com +yizhema.com +yizhi-its.com +yizhibi.com +yizhibo.com +yizhidayu.com +yizhifubj.com +yizhikan.com +yizhishenbi.com +yizhiwechat.com +yizhixiaogame.com +yizimg.com +yizlife.com +yizu.org +yizuocity.com +yj-bank.com +yj-fun.com +yj.ink +yj3g.com +yj93zp.com +yjbys.com +yjcf360.com +yjcp.com +yjdatasos.com +yjfs8.com +yjhyjl.com +yjihua.com +yjk.im +yjldp.com +yjlin4.com +yjopen.com +yjpal.com +yjq.cc +yjrcyw.com +yjro.com +yjrzj.com +yjs-cdn.com +yjs-cdn10.com +yjs111.com +yjscloud.com +yjsjl.org +yjwlo.com +yjwujian.com +yjxsoft.com +yjyghb.com +yjz9.com +yk08.com +yk211.com +ykadx.com +ykccn.com +ykclass.com +ykdgd.com +ykdmsy.com +ykedu.net +ykimg.com +ykinvestment.com +ykjhdc.com +ykn956.com +ykn966.com +ykntv.com +ykp568.com +ykplg.com +ykpxxx.com +ykq.ink +ykqnl.com +ykread.com +yks365.com +yksq.net +ykstarshine.com +yksuit.com +ykt.io +yktworld.com +yktz.net +ykyao.com +ykydxh.com +ykzr.com +yl1001.com +yladm.com +ylallinone.com +ylbgw1.com +ylcs.cc +yldh.cc +ylfx.com +ylg877.com +ylghsj.com +ylgj.com +ylhaitao.com +ylhh.net +ylhsrsrc.com +ylife9.com +ylimg.com +yliyun.com +yljc888.com +yljr.com +ylkc.net +ylkjgame.com +ylmf.cc +ylmf.com +ylmf.net +ylmf888.com +ylmfeng.com +ylmfwin100.net +ylmfwin8.com +ylnetworks.com +yloo.org +ylq.com +ylrb.com +ylrj.com +ylstatic.com +yltpcb.com +ylunion.com +yluu.com +ylwl.cc +ylwood-cn.com +ylws.net +ylwyw.com +ylxbxgtg.com +ylxdtww.com +ylxk.net +ylxw.net +ylyk.com +ylzms.com +ym-trans.com +ym1998.com +ym23.com +ym68.cc +ym75168.com +ymailcampaign.com +ymall.com +ymanz.com +ymaojob.com +ymapp.com +ymark.cc +ymars.com +ymatou.com +ymatou.hk +ymbq301.com +ymcall.com +ymd520.net +ymd88.com +ymeme.com +ymexf.com +ymfhbcj.net +ymfile.com +ymfile01.com +ymgmno.com +ymhudong.com +ymiot.net +ymjm.net +ymkj99.com +ymlfxp.com +ymlinks.com +ymlykj.com +ymm56.com +ymmfa.com +ymmzb.com +ymoxuan.com +ymoxuan.org +ympcb.com +ymq.com +ymraaa.com +ymrcw.vip +yms7.com +ymsteam.com +ymstj.xyz +ymsxq001.xyz +ymsxq002.pw +ymsxq003.pw +ymsxq004.pw +ymsxq005.xyz +ymsxq007.pw +ymsxq009.pw +ymsxq009.xyz +ymsxqcdn.xyz +ymsxqtz01.pw +ymt.com +ymt360.com +ymtc.com +ymtjfxly.com +ymtmt.com +ymvkt.com +ymwl111.com +ymwl234.com +ymxinxi.com +ymxxs.com +ymyun.com +ymyxzz.com +ymzer.com +yn-tobacco.com +yn.com +yn12396.com +yn58.com +yn86.com +ynairport.com +ynb2dca.com +ynbike.net +ynbojie.com +yncuc.net +yncunguan.com +yndaily.com +yndkt.com +yneg-ev.com +yneit.com +ynet.com +ynfabu.com +yngd016.com +ynggzy.com +yngp.com +ynguangsui.com +yngw518.com +yngwyw.org +ynhanfu.com +ynhl.net +ynho.com +ynhouse.com +yni84.com +ynianyongheng.com +ynikon.com +yninfo.com +ynit580.com +ynkcfc.com +ynkmjj.com +ynlibs.com +ynlyfw.com +ynmec.com +ynpxrz.com +ynrayy.com +ynshangji.com +ynshf.com +ynshijian.com +ynsjg.com +ynsjnls.com +ynsqx.com +ynteng.com +yntsg.com +ynwin.com +ynxr.com +ynxxb.com +ynycloud.xyz +ynyes.com +ynyp.com +ynzczs.com +ynzg.org +ynzp.com +ynzy-tobacco.com +yo4399.com +yoagoa.com +yobangbang.com +yobbom.com +yobo360.com +yocajr.com +yocan.net +yochoi.com +yocyxc.com +yodak.net +yodakgroup.com +yodao.com +yodao.net +yodo1.com +yodo1api.com +yoe365.com +yofc.com +yofcjs.com +yofebearing.com +yofijoy.com +yofish.com +yofond.com +yofond.net +yofus.com +yogeev.com +yogorobot.com +yoher.com +yoho.org +yohoblk.com +yohoboys.com +yohobuy.com +yohogirls.com +yoholm.com +yohomars.com +yohoowin.com +yohoshow.com +yohui.com +yojl.net +yojochina.com +yoju360.com +yoju360.net +yoka.com +yokacdn.com +yokagames.com +yokmob.com +yoko66.com +yokong.com +yolanda.hk +yolewa.com +yolexi.com +yolinkmob.com +yoloboo.com +yoloho.com +yomiko.club +yomob.com +yomocode.com +yongaomy.com +yongche.name +yongche.org +yongchengren.com +yonghe1999.com +yongheng.online +yongheng0852.com +yonghongtech.com +yonghuigj.com +yonghuivip.com +yongkao.com +yonglang.co +yonglongdai.com +yongqianbao.com +yongqiaonews.com +yongqischool.net +yongshei.com +yongsheng-sl.com +yongshikj.com +yongsy.com +yongtu.net +yongxinby.com +yongxinggw.com +yongxintex.com +yongzhentang.com +yonho.com +yonlive.com +yonyou.com +yonyouaud.com +yonyoubao.com +yonyouccs.com +yonyoucloud.com +yonyoufinancial.com +yonyoufintech.com +yonyougov.com +yonyouny.com +yonyouoa.com +yonyouscf.com +yonyouup.com +yoo-hn.com +yoo1.com +yoodb.com +yooek.com +yooerjia.com +yoohouse.com +yoojia.com +yooknet.com +yooli.com +yoolin.cc +yoooooooooo.com +yoopu.me +yootou.com +yoouxi.com +yooxun.com +yooxuu.com +yooyoo360.com +yoozai.com +yoozhe.com +yoozword.com +yopai.com +yopoint.cc +yopoint.com +yoptech.com +yopwefun.com +yopwork.com +yoqoo.com +yoqu.net +yorentown.com +york33.com +yoseleather.com +yotta800.com +you-mi.net +you1ke.com +you200.com +you2php.com +youba.com +youba123.com +youban.com +youbangyun.com +youbaoidc.com +youbbs.org +youbeichefu.com +youbh.com +youbian.com +youboy.com +youc.com +youcaizhushou.com +youcao.cc +youcash.com +youcha.net +youchedi.com +youcheyihou.com +youchuhuodong.com +youda8.com +youdaihe.com +youdaili.net +youdaiw.com +youdajx.com +youdanhui.com +youdao.com +youdaolvshi.com +youdas.com +youdashidai.com +youdemai.com +youdiancms.com +youdingte.com +youdnser.com +youdu.im +youduzw.com +youdwh.com +youease.net +youedata.com +youeryun.com +youez.com +youfangw.com +youfangzx.com +youfen666.com +youfh.com +youfubao.vip +youfunlab.com +yougababy.com +youganghangmoguan.com +yougaoji.com +yougequn.com +yougou.com +yougou357.com +yougu.tv +youguo.com +youguoquan.com +youguu.com +youhaodongxi.com +youhaosoft.com +youhaosuda.com +youhro.com +youhua.com +youhuaaa.com +youhuafuzhi.com +youhuashu.com +youhugmedia.com +youhundao.com +youhutong.com +youideal.net +youinsh.com +youjiands.net +youjiangzhijia.com +youjiao.com +youjiaus.net +youjiaxiao.com +youjingnetwork.com +youjinyongka.com +youjiuhealth.com +youjoy.tv +youjuke.com +youkake.com +youke.co +youke.com +youke365.site +youkecn.com +youked.com +youkego.com +youkelai.com +youkexueyuan.com +youkongkan.com +youkongwan.com +youku.com +youkua.net +youkudou.com +youkudown.com +youkutv.cc +youlanw.com +youle360.com +youle55.com +youleliwu.com +youlinyouke.com +youlishipin.com +youliv.com +youloft.com +youlong123.com +youlongciqing.com +youlongteng.com +youlu.com +youlu.net +youlu6.com +youluwx.com +youluxe.com +youmacuifen.com +youmai.com +youmaolu.com +youmars.com +youme.im +youmeek.com +youmeng.me +youmenr.com +youmew.com +youmi.net +youmiad.com +youmingdifu.com +youmingdot.com +youminonline.com +youmobi.com +youmodou.com +youmooyouyoung.com +youmuyouxs.com +youneng.com +younet.com +younfor.com +young40.com +youngblog.cc +youngfunding.co.uk +youngor.com +youni.im +youo.net +youoh.com +youonbike.com +youook.com +youpinppt.com +youpinx.com +youpinzhekou.com +youqichuyun.com +youqing8.com +youqinggong.com +youqiwu.com +youqizhan.com +youqo.com +youqu.in +youqu.net +youqudao.com +youranshare.com +yourbin.com +yourcollect.net +yourdream.cc +youren5.com +yourtion.com +yousc.com +youscm.com +yousee.com +yousenjiaoyu.com +youshang.com +youshanmeishi.com +yousheng.shop +yousheng8.com +yousheyoujia.com +youshifu.com +youshikoudai.com +youshixiu.com +youshop10.com +youshu.cc +youshuba.cc +youshuge.com +yousmyq.com +yousuu.com +yousuyuan.com +youtaidoors.com +youtaidu.com +youtak.com +youthi.com +youtiandi.com +youtianli.com +youtibao.com +youtoart.com +youtoupiao.com +youtu.com +youtuzi.com +youtx.com +youwawa.com +youwei.com +youwinedu.com +youwo.com +youwoxing.net +youwoyou.com +youxi.com +youxi01.com +youxi186.com +youxi369.com +youxi377.com +youxi500.com +youxi528.com +youxi567.com +youxia.com +youxia.org +youxiacg.com +youxiaju.com +youxiake.com +youxiake.net +youxiamotors.com +youxiang03.com +youxiaoad.com +youxiaohou.com +youxiaxiazai.com +youxibao.com +youxibaoku.com +youxicdn.com +youxichaguan.com +youxicheng.net +youxicitang.com +youxicity.com +youxicool.net +youxidaxue.com +youxidr.com +youxidun.com +youxiduo.com +youxifan.com +youxigongchang.com +youxigonglue8.com +youxigt.com +youxigu.com +youxiguancha.com +youxih.com +youxihezi.net +youxihun.com +youxij.com +youxike.com +youxila.com +youximao.com +youximt.com +youxin.com +youxingapp.com +youxiniao.com +youxinpai.com +youxipai.com +youxiping.com +youxiputao.com +youxiqiang.com +youxiqun.com +youxishuo.com +youxitexiao.com +youxituoluo.com +youxiuhui.com +youxiula.com +youxiwangguo.com +youxiwugui.com +youxixf.com +youxixj.com +youxizhan.com +youxizhongguo.com +youxizhuang.com +youxuangu.com +youxueke.com +youyacao.com +youyanchu.com +youyannet.com +youyikeji666.com +youyilm.com +youyiqi.com +youyiqiaogou.com +youyizhidao.com +youyo88.com +youyou234.com +youyoudianqi.com +youyouii.com +youyouwin.com +youyuan.com +youyuanapp.com +youyuanw.com +youyudf.com +youyuegame.com +youyueke.com +youyur.com +youyuwei.com +youyuwo.com +youyy.com +youzan.com +youzanyun.com +youzhai.com +youzhan.org +youzhao.com +youzhi.net +youzhicai.com +youzhiwk.com +youzhixueyuan.com +youzhuan.com +youzhuanhua.com +youzi02.com +youzi100.com +youzibank.com +youzibuy.com +youzijie.com +youziku.com +youzikuaibao.com +youziqk.com +youzu.com +yovisun.com +yovocloud.com +yovole.com +yovyuan.com +yowooa.com +yoxiha.com +yoximi.com +yoxyok.com +yoya.com +yoyi.tv +yoyiapp.com +yoyo1900.com +yoyojacky.com +yoyojie.com +yoyokko.com +yoyokx.com +yoyone.net +yoyotown.com +yoyou.com +yoyou.net +yoyound.com +yoytang.com +yozodcs.com +yozodoc.com +yozodocs.com +yozooffice.com +yozosoft.com +yozsc.com +yp007.net +yp1151.com +yp900.com +ypank.com +ypgyyq.com +yph-shop.com +yphuifu.com +ypicw.com +ypjiameng.com +ypk559.com +yplady.com +yplmzx.com +ypmob.com +yppp.shop +ypppt.com +ypshengxian.com +ypstech.com +ypxiaoshuo.com +ypzdw.com +ypzhushou.com +yq027.com +yq1751.com +yq51.com +yq6.cc +yqb.com +yqb920.com +yqbank.com +yqbdt.com +yqbimg.net +yqfml.com +yqh.com +yqh5.com +yqhapp.com +yqhlm.com +yqhy.org +yqhyy.com +yqibook.com +yqie.com +yqjsj.com +yqjtgs.com +yqkk.link +yqkqw.com +yqmb001.com +yqmh.com +yqphh.com +yqptzx.com +yqqlm.vip +yqsbz.com +yqsns.com +yqtc.com +yqtxzm.com +yqwyx.xyz +yqxhl.com +yqxiuyoung.com +yqxs.cc +yqyanhong.com +yqzww.la +yqzww.net +yr-info.com +yrcbank.com +yrgu.com +yrmpay.com +yrom.net +yruan.com +yrucd.com +yrw.cc +yrw.com +yrwy.com +yryz.com +yrzjw.com +ys.cc +ys001.com +ys137.com +ys168.com +ys1688.cc +ys2345.com +ys666888.com +ys7.com +ys720.com +ys8.com +ysaedesign.com +ysali.com +yscase.com +yscb.net +ysch.cc +yscq.com +ysdui.com +yse360.cc +ysedu.com +yseeker.com +ysepay.com +ysext.com +ysgtg.com +ysgushi.com +yshp.net +yshsports.com +yshuoba.com +yshyqxx.com +ysicing.me +ysicing.net +ysiis.com +ysjf.com +ysjgames.com +ysjkgl.com +ysjpin.com +yslcw.com +yslqo.com +ysmiji.com +ysmine.com +ysoow.com +ysp68.com +ysplay.com +ysptuan.com +ysrh.com +ysshipu.com +yssm.org +yssm.tv +yssp88.com +ysstech.com +ysszzs.com +ysszzx.com +yst100.net +yst3.com +ysten.com +ystinbox.com +ysug.com +ysw365.com +ysw366.com +ysw68.com +yswebportal.cc +yswh.com +yswlgame.com +yswliot.com +yswpq.com +yswxcn.com +ysx8.com +ysx8.net +ysx8.vip +ysx9999.com +ysxs8.com +ysyhljt.vip +ysyycv.com +yszx99.com +yszyun.com +yszyz.com +yszzlt.com +yt1998.com +yt69.com +yt698.com +yta-tech.com +ytaomb.com +ytaotao.net +ytb.io +ytbbs.com +ytbfilm.com +ytcbh.com +ytcj.com +ytcm.net +ytcos.com +ytcutv.com +ytdaily.com +ytdcloud.com +ytdsdz.com +ytesting.com +ytet.org +ytfuzhen.com +ytghnb.com +ythouse.com +ytjcpj.com +ytkaituo.com +ytlh120.com +ytlvbao.com +ytmedia.tv +ytmer.com +ytnetgame.com +ytoexpress.com +ytoglobal.com +ytop8.com +ytoxl.com +ytpp.com +ytrenyu.com +ytsanchuan.com +ytsjw.net +ytszg.com +ytsznyy.com +ytud.net +ytv3.one +ytxedu.com +ytxsc.com +ytxun.com +ytzhihui.com +ytzq.com +yu-fish.com +yu.gs +yu1u.org +yu72.com +yuanbao.com +yuanbaobaoxian.com +yuanbaohui.com +yuanbin.me +yuancailiao.net +yuancdn.com +yuancefund.com +yuanchengxiezuo.com +yuanchuangchi.com +yuandi.com +yuandiancredit.com +yuandongjixie.com +yuanfeng021.com +yuanfengyazhu.net +yuanfr.com +yuanfudao.biz +yuanfudao.com +yuanfudao.ws +yuangongbao.com +yuanhaitaiji.com +yuanhuikai.com +yuaniis.com +yuanjie.org +yuanjisong.com +yuanjoy.com +yuanjubieshu.com +yuanlai.com +yuanlian365.com +yuanliao.info +yuanlin.com +yuanlin365.com +yuanlin8.com +yuanma.net +yuanmadian.com +yuanmait.com +yuanmas.com +yuanmatao.com +yuanmawu.net +yuanqi46.com +yuanqiao.net +yuanqingsh.com +yuanqitu.com +yuanrenbang.com +yuanrengu.com +yuanrenxue.com +yuanseedu.com +yuansfer.com +yuanshanbx.com +yuanshen.com +yuanshichang.com +yuanshihui.com +yuansouti.com +yuanss.com +yuantengfei.net +yuantengfei.org +yuantiku.com +yuantoushuo.com +yuantu8.com +yuantutech.com +yuanu.com +yuanwanw.com +yuanxuxu.com +yuanyi.biz +yuanyoutao.com +yuanzhexi.com +yuanzidai.com +yuanzige.com +yuanzun.fun +yuanzun5200.com +yuanzun888.com +yuanzunxs.cc +yuapt.com +yubangweb.com +yubnjy.com +yubodata.com +yubohr.com +yuboinfo.com +yubosun.com +yuboyun.com +yucccc.com +yuchai.com +yuchen360.com +yuchengwang.com +yuchenjf.com +yuchenw.com +yuchk.com +yuchu3d.com +yuchuantech.com +yucl.com +yucoolgame.com +yucui.org +yudanglasses.com +yudaocha.com +yudi.com +yudianda.com +yudiangame.vip +yudouyudou.com +yudwl.com +yue365.com +yue7.com +yuebagu.com +yuebingcheng.com +yuebooemt.com +yuecheng.com +yuedaoec.com +yuedisk.com +yuedu.pro +yuedufang.com +yueduji.com +yuedun.wang +yuedunovel.com +yueduwen.com +yuedyue.com +yuego.net +yuegowu.com +yuehuzhi.com +yueimg.com +yueji.com +yuejianzun.xyz +yuejiewangluo.com +yuejuanbao.com +yuekenet.com +yuekeyun.com +yuelong.info +yueloo.com +yuelu.net +yuelun.com +yueme.tv +yuemei.com +yuenei.com +yuenshui.com +yuenwooping-truelegend.com +yuepaijia.com +yuepaow.net +yuepinwang.com +yueqi.com +yueqiquan.com +yueqiweixiu.com +yueque.com +yuer.com +yuerbao.com +yueru.com +yuesir.com +yuesuoping.com +yuetu.tech +yuetuvip.net +yuetx.cc +yueweimusic.com +yuewen.com +yuexianck.com +yuexing.com +yuexingfurniture.com +yuexinli.com +yuexinyouxi.com +yuexirc.com +yuexunedu.com +yueyaa.com +yueyanglou.com +yueyat.net +yueyear.com +yueyin99.com +yueyouxs.com +yueyq.com +yueyu114.com +yueyuanzhiye.com +yueyuecms.com +yueyues.com +yueyuevip.com +yueyuez.com +yueyuxuan.com +yueyuzhushou.com +yueyv.com +yuez.me +yufeitongji.com +yufengyangfan.com +yufu365.com +yufuid.com +yugasun.com +yuguo.us +yuguod.com +yuguozw.com +yuheii.com +yuheng.tech +yuhou.com +yuhuijob.com +yuiapi.com +yuike.com +yujia.com +yujiahui.com +yujie.pro +yujunjie.com +yujunren.com +yujzw.com +yukhj.com +yukicomic.com +yukiimall.com +yukuai.com +yukunweb.com +yul8.com +yule116.com +yule263.com +yuledaily.com +yulefm.com +yulehezi.com +yuleie.com +yulejiaodian.com +yulekan.com +yuleredian.com +yuleres.com +yuli.be +yulicdn.com +yuliechina.com +yulinapp.com +yulingtianxia.com +yulingw.com +yulongjun.com +yuloo.com +yulore.com +yulorepages.com +yulu1.com +yulu5.com +yulucn.com +yuluzhongde.com +yumaoshu.com +yumchina.com +yumenikki.info +yumi.cc +yumi.com +yumiaomiao.com +yumimobi.com +yuming.com +yumingguwen.com +yumingwan.com +yumisp7.com +yumixitong.com +yumstone.com +yun-gu.com +yun-idc.com +yun-img.com +yun-jinrong.com +yun-live.com +yun.pm +yun123.com +yun61.com +yunannet.com +yunaq.com +yunarm.com +yunaw.com +yunba.io +yunban.com +yunbang.net +yunbangcheng.com +yunbei.com +yunbeitech.com +yunbiao.tv +yunbiaosoft.com +yunbiaowulian.com +yunbiji.com +yunbook.vip +yunbook123.com +yuncai5.com +yuncaijing.com +yuncdn.bid +yuncdn263.com +yuncdndun.com +yunceng.com +yuncheng.com +yunchong-powder.com +yunchou.com +yuncii.com +yuncode.net +yunda56.com +yundaex.com +yundangan.com +yundaohuodong.com +yundasys.com +yundianjia.com +yundianseo.com +yundiantech.com +yundns.vip +yundongfang.com +yundonghao.com +yundongit.com +yundousoft.com +yundui.cc +yunduimedia.com +yundun.com +yundun.shop +yunduncdn.com +yunduncdns.com +yunduncname.com +yundunddos.com +yundundns.com +yundunjiasu.com +yunduns.com +yundunwaf.com +yundunwaf1.com +yundunwaf2.com +yundunwaf3.com +yundunwaf4.com +yundunwaf5.com +yunduocrm.com +yunduoke.net +yunduoketang.com +yundzh.com +yunews.net +yunfabiao.com +yunface.com +yunfaka.com +yunfalv.com +yunfan.com +yunfancdn.com +yunfandns.com +yunfangtan.com +yunfannet.com +yunfei89.com +yunfutech.com +yungangbj.com +yungao-ssp.com +yungao.mobi +yungongchang.com +yungoumi.com +yungouos.com +yungousj.net +yunguajibao.com +yungujia.com +yunhaicangshu.com +yunhaike.com +yunhaiqiao.com +yunhedata.com +yunheit.com +yunheka.com +yunhesanwan.com +yunhetong.com +yunhou.com +yunhuasheji.com +yunhucdn.com +yunhulu.org +yunhuotong.net +yunhuzx.com +yunifang.com +yunify.com +yunio.com +yunip.com +yunipo.com +yunji.com +yunjiale.net +yunjian.com +yunjiasu-cdn.net +yunjiasu.com +yunjiasu360.com +yunjiasu666.com +yunjiazheng.com +yunjifarm.com +yunjiglobal.com +yunjiweidian.com +yunjix.com +yunjuwuliu.com +yunkangdoctor.com +yunkawulian.com +yunke.com +yunkeji.com +yunkezan.com +yunkongpingban.com +yunlebao.com +yunlianip.com +yunlianvps.com +yunlibeauty.com +yunlie.net +yunlietou.com +yunliketech.com +yunmai.com +yunmayi.com +yunmd.net +yunmeipai.com +yunmengnet.com +yunmiao.co +yunmishu365.com +yunmoseo.com +yunmoxing.com +yunnandns.com +yunnanjun.com +yunnao.com +yunnex.com +yunnut.com +yunos-tv.com +yunos.com +yunpan.com +yunpansou.cc +yunpanx.com +yunpanziyuan.com +yunpei.com +yunpian.com +yunpiao.net +yunpigai.com +yunplus.io +yunpp.com +yunqi.org +yunqi2050.com +yunqiandai.com +yunqikecrm.com +yunqingugm.com +yunqishi.net +yunque360.com +yunque365.com +yunrg.com +yunrongu.com +yunrouter.com +yuns1.net +yunsd.net +yunser.com +yunshan.net +yunshangc.com +yunshanmeicai.com +yunshiketang.xyz +yunshipei.com +yunshipei.net +yunshouji123.com +yunshow.com +yunshuxie.com +yunshuyuan.cc +yunsom.com +yunsong.com +yunstu.net +yunsuan.org +yunsuanzi.com +yunsuo.com +yuntaigo.com +yuntask.com +yuntemai.com +yuntianti.com +yuntingiot.com +yuntongbu.com +yuntongcloud.com +yuntongtech.com +yuntongxun.com +yuntouxiang.com +yuntu.io +yunvm.com +yunvs.com +yunwangke.com +yunwei8.com +yunweibang.com +yunweipai.com +yunwenxue.com +yunwins.com +yunwuxian.net +yunxi.tv +yunxi10.com +yunxin123.com +yunxindai.com +yunxindns.com +yunxinfa.com +yunxinshi.com +yunxiu.com +yunxs.com +yunxuetang.com +yunxzb.com +yunyi-dd.com +yunyihudong.com +yunyijk.com +yunyin.org +yunying166.com +yunyingdashu.com +yunyingketang.com +yunyingmiao.com +yunyingpai.com +yunyingxuetang.com +yunyingzhe.com +yunyingzhinan.com +yunyis.com +yunyoufeitian.com +yunyouni.com +yunyousj.com +yunyu123.com +yunyue.cc +yunyuh5.com +yunzhan365.com +yunzhangfang.com +yunzhanggui.net +yunzhanghu.com +yunzhanxinxi.com +yunzhifankeji.net +yunzhijia.com +yunzhitai.com +yunzhixiyou.com +yunzhizao.net +yunzhu100.com +yunzmall.com +yunzongnet.com +yunzujia.com +yunzz.net +yupiao.info +yupoo.com +yupsky.com +yupu.com +yuqianshu.com +yuqiaolong.com +yuqinge.com +yuquanhosp.com +yuque.com +yureen.com +yurenty.com +yuriimg.com +yusa.me +yushanapp.com +yushengny.com +yushexuetang.com +yushin88.com +yushu5.com +yushuha.com +yushunews.com +yusi.com +yusi.tv +yusi123.com +yusidunzc.com +yuteng.site +yutian.cc +yutianedu.com +yutong.com +yutuwo.com +yuu1.com +yuuboo.net +yuucn.com +yuudnn.com +yuwan-game.com +yuwandian.com +yuwanshe.com +yuweixian.com +yuwell.com +yuwellgroup.com +yuwen360.com +yuwenchaoshi.com +yuwenmi.com +yuwennews.com +yuwenxiandaihua.com +yuxianall.com +yuxiangrc.com +yuxiaolung.com +yuxiaor.com +yuxinba.com +yuxinews.com +yuxingqiu.com +yuxinzhilian.com +yuxip.com +yuxitech.com +yuxungs.com +yuxunzy.com +yuyicai.com +yuyin.tv +yuyu.com +yuyuangewh.com +yuyue111.com +yuyuema.com +yuyueshop.com +yuyuhunter.com +yuyuntech.com +yuzeli.com +yuzhaimedia.com +yuzhainan.com +yuzhenhai.com +yuzhike.com +yuzhong.net +yuzhongxxw.com +yuzhoutuofu.com +yuzhouwan.com +yuzhua.com +yuzhuagame.com +yuzhuan.com +yuzhulin.com +yuzi.net +yuzzl.com +yveqi.com +yvv.in +yw11.com +yw2005.com +yw40.vip +ywart.com +ywbank.com +ywcbs.com +ywcec.com +ywdier.com +ywditan315.com +ywec.net +ywg7.com +ywies-shpd.com +ywindex.com +ywinf.com +ywky.org +ywlist.com +ywlm.net +ywnds.com +ywnz.com +ywopt.com +ywork.me +ywsawei.com +ywshouyou.com +ywsoftware.com +ywtd.xyz +ywtlfishing.com +ywtrzm.com +ywtx.cc +ywxue.com +ywxzz.com +ywy7.com +ywyanxing.com +yx-g.com +yx-life.com +yx-s.com +yx-s.net +yx.com +yx.rs +yx0599.com +yx090.com +yx10011.com +yx129.com +yx129.net +yx231.com +yx7088.com +yx74.com +yxbao.com +yxbhhbkj.com +yxbox91.com +yxbuluo.com +yxcax.com +yxcc.net +yxcity.com +yxcshui.com +yxcuv.com +yxd1969.com +yxdaily.com +yxdd.com +yxdgc.com +yxdh.com +yxdimg.com +yxdoc.com +yxdown.com +yxdr.com +yxdsgs.com +yxduo.com +yxdwj.com +yxecg.com +yxen.net +yxfw.com +yxfwai.com +yxhenan.com +yxhhdl.com +yxhi.com +yxhqj.com +yxi.cc +yximgs.com +yxin18.com +yxinbao.com +yxit.net +yxixy.com +yxjedu02.com +yxjia.com +yxke12.com +yxkfw.com +yxkjlcd.com +yxlady.com +yxlady.net +yxlink.com +yxlmdl.net +yxm.com +yxmspx.com +yxn.fun +yxool.com +yxou.com +yxpjw.net +yxpk.net +yxpopo.com +yxptfs.com +yxqiche.com +yxrank.com +yxrb.net +yxsc33.com +yxsea.com +yxshgwjy.com +yxsos.com +yxss.com +yxsss.com +yxt-tattoo.com +yxt.com +yxt521.com +yxtvg.com +yxwoo.com +yxxurl.com +yxyfhgc.com +yxyzjx.com +yxz.me +yxzxgy.com +yy-xjy.com +yy.com +yy138.com +yy2169.com +yy2hd.com +yy4080.com +yy591.com +yy6080.org +yy845.com +yyangmob.com +yyasp.net +yybox.cc +yycaf.net +yyccia.com +yycec.com +yyclouds.com +yyclub.org +yycoin.com +yycqc.com +yycro.com +yydbzz.com +yydfwl.com +yydidai.com +yydzh.com +yyearth.com +yyestar.com +yyetss.com +yyfangchan.com +yyfax.com +yyfdcw.com +yyfq.com +yyfsb.com +yyg.com +yygjuu.club +yygold.com +yygrammar.com +yygzs.com +yyh.co +yyh.la +yyh2.com +yyhao.com +yyhh.com +yyhhaa.com +yyhn365.com +yyhomer.com +yyjzt.com +yyk100.com +yyk2.com +yykepu.com +yykj.org +yylending.com +yylm.org +yymedias.com +yymh999.com +yyming2.com +yymoban.com +yyny.me +yypcb.com +yypm.com +yypt.com +yyq.com +yyrtv.com +yystatic.com +yysub.net +yysweb.com +yysycn.com +yytad.com +yytcdn.com +yytek.com +yytgjjk.com +yytingli.com +yyuap.com +yyuasa.com +yywlsj.com +yywords.com +yywt.online +yywz123.com +yywzw.com +yyx168.com +yyxfzy.com +yyxscn.com +yyxt.com +yyxtao.com +yyxwzx.com +yyxx100.com +yyxxgame.com +yyxxgameyw.com +yyy5414.com +yyyeee.com +yyyy.games +yyzai.com +yyzsoft.com +yyzw.com +yyzyytj.com +yyzzsem.com +yz-iot.com +yz-show.com +yz061.com +yz063.com +yz168.cc +yz360.cc +yz3g.net +yz868.com +yzbank.com +yzbo.tv +yzbqzx.net +yzcyjy.com +yzdir.net +yzdn.net +yzfang.com +yzfc8.com +yzfjy.com +yzgjgs.com +yzgnet.com +yzgttm.com +yzhbw.net +yzhli.com +yzhtidc.com +yzintelligence.com +yzinter.com +yzipi.com +yzjbh.com +yzjjw.net +yzjsxy.com +yzkimage.com +yzkjpcb.com +yzmcms.com +yzmcxx.com +yzmg.com +yzmiao03.com +yzmjw.com +yzmoney.com +yznano.com +yznn.com +yzpetfood.com +yzpsb.com +yzrb.com +yzrom.com +yzs.com +yzspdq.com +yzt-tools.com +yztcdn.com +yzwb.com +yzwb.net +yzzs.cc +yzzzn.com +z-bank.com +z-index.cc +z-inn.com +z-zhuji.com +z.hr +z0.cc +z01.com +z0ukun.com +z1233.com +z12345.com +z2sci.com +z316.com +z3quant.com +z4bbs.com +z4m3.com +z5a.com +z5encrypt.com +z5z4.com +z701.com +z7xz.com +z7ys.com +z8q.cc +za-doctor.com +zablog.me +zac1993.com +zackku.com +zackxu.com +zaduonews.com +zadzs.com +zaeke.com +zahtb.com +zahuibaike.com +zahuishi.com +zai-art.com +zaibei.net +zaichengdu.com +zaidu.la +zaidudu.net +zaiduu.com +zaih.com +zaihuangshi.com +zaijia.com +zaijiawan.com +zailaowo.com +zailouxia.com +zaiminglvsuo.com +zainanjing365.com +zaisd.com +zaitianyan.com +zaitong.net +zaitongxiang.com +zaitouwang.com +zaiwai.com +zaixian-fanyi.com +zaixianfanyi.com +zaixianjianli.com +zaixiankaoshi.com +zaixs.com +zaixuchang.com +zaiyulin.com +zaiyunli.com +zaizai8.com +zakdy.com +zallcn.com +zallfuhui.com +zallgo.com +zallimg.com +zalljinfu.com +zampda.net +zampdmp.com +zampdsp.com +zamplink.net +zamplus.com +zampshare.com +zamptrak.com +zan-shang.com +zanba.com +zanbai.com +zangaifamily.com +zangdiyg.com +zanghaihuatxt.com +zangx.com +zanpic.com +zantainet.com +zanyiba.com +zaobang.com +zaoche168.com +zaodao.net +zaodin.com +zaodula.com +zaofabiao.com +zaofacai.com +zaogai.com +zaojiance.com +zaojiance.net +zaojiao.com +zaojiu.com +zaojv.com +zaojvdashi.com +zaole.net +zaopang.com +zaoshu.so +zaowandushu.com +zaowannews.com +zaoxu.com +zaoyang.org +zaoyouxi.com +zaoys.com +zaozhuanggo.com +zaozuo.com +zastatic.com +zasv.com +zasv.net +zat.cc +zatan.com +zatan8.cc +zatest.com +zatxt.com +zazhi.com +zazhiboss.com +zazhipu.com +zazsz.com +zb-kc.com +zb1.org +zb580.tv +zb7.com +zb8.com +zbai.net +zbapk.com +zbbar.net +zbcrw.com +zbfilm.com +zbfjsj.com +zbgedu.com +zbgl.net +zbgscm.com +zbhouse.com +zbii.com +zbintel.com +zbird.com +zbj.com +zbjdev.com +zbjdr.com +zbjiangsu.com +zbjimg.com +zbjsaas.com +zbjwork.com +zbkszx.net +zbling.com +zblogcn.com +zbluqian.com +zblzm.xyz +zbmcjx.com +zbmx666.com +zbnews.net +zbnxs.com +zbopr.net +zbqlm.com +zbqzy.com +zbrushcn.com +zbuhe.com +zbusa.com +zbwbbs.com +zbwdj.com +zbwg.cc +zbxsoft.com +zbxyh.com +zbytb.com +zbyz.net +zbz.com +zbzaixian.com +zbzdm.com +zbzhandian.com +zbzmtbk.com +zbzw.com +zbzw.la +zc-ha.com +zc-jk.com +zc0.net +zc0317.com +zc181.com +zc532.com +zcaijing.com +zcbjs.com +zcccc.com +zcdog.com +zcdsp.com +zcfc.com +zcfccs.com +zcff.net +zcfirst.com +zcfuhua.com +zcfy.cc +zcgsfy.com +zciii.com +zcimg.com +zcitidc.com +zcitwf.com +zciv.com +zcjxedu.com +zclock.xyz +zcmlc.com +zcmorefun.com +zcoa365.com +zcobrand.com +zcodc.com +zcom.com +zcoming.com +zcooler.com +zcosz.com +zcphp.com +zcppt.com +zcqh.com +zcqss.com +zcread.com +zcry007.com +zcs.cc +zcsbbs.com +zcsblog.com +zcskj.com +zctl.net +zctx.com +zcwlsc.com +zcwxjx.com +zcwz.com +zcxn.com +zcycdn.com +zcyiyao.com +zczj.com +zczy001.com +zd-ddos.com +zd-ddos.net +zd-power.com +zd.hk +zd200572.com +zdao.com +zdaye.com +zdb.io +zdcj.net +zdcjw18.com +zddhr.com +zdding.com +zddream.com +zdexe.com +zdface.com +zdfans.com +zdfans7.com +zdfx.net +zdh168.com +zdh1909.com +zdhaitao.com +zdhkyw.com +zdhnayr.com +zdic.net +zditect.com +zdjyj.com +zdkqyy.com +zdlife.com +zdlink.com +zdlpk.net +zdmimg.com +zdmr.net +zdnscloud.biz +zdnscloud.com +zdnscloud.info +zdnscloud.net +zdomo.com +zdoz.net +zdpeanut.com +zdpvt.com +zdrcrx.com +zdrcw.com +zdsee.com +zdslb.com +zdsr.net +zdwang.com +zdwfy.com +zdworks.com +zdwx.net +zdyrs.com +zdz.la +zdzdm.com +zdzwtesting.com +zdzxtech.com +ze13.com +ze5.com +zeakr.com +zealer.com +zeali.net +zealquest.com +zealsafe.net +zebred.com +zechoriah.com +zechunbengye.com +zedukm.com +zeelis.com +zeesin.com +zego.im +zeguoren.com +zeidei.com +zeisp.com +zeixihuan.com +zejiri.net +zeju.com +zelininfo.com +zelinonline.com +zemismart.com +zemuo.com +zen-est.com +zengdefei.com +zengjunpeng.com +zengrong.net +zenha.net +zenixauto.com +zenoven.com +zentao.net +zentaoms.com +zentaopm.com +zep8.com +zeperd.com +zeq366.net +zeroac.com +zerobreeze.com +zerobyw.com +zerocollege.com +zerogfans.com +zerokeeper.com +zeroling.com +zeruns.tech +zerustech.com +zesidasi.com +zesmob.com +zeststore.com +zetast.com +zeus.dl.playstation.net +zeuux.com +zeuux.org +zexiaoqiao.com +zeyi.cc +zeyouquan.com +zeze.com +zf-8.com +zf3d.com +zfancy.net +zfboke.com +zfcm.net +zfdmkj.com +zff888.com +zfhz.org +zfimg.com +zfkjgw.com +zfl9.com +zfowed.com +zfrmt.com +zfrontier.com +zfsc.com +zfsoft.com +zft.com +zfvnet.com +zfw.me +zfw.net +zfwimg.com +zfyml.com +zg-import.com +zg-imsoft.com +zg114w.com +zg163.net +zg3721.com +zg388.com +zg3china.com +zg45.net +zga81.com +zgaxr.com +zgazxxw.com +zgbenrun.com +zgbigart.com +zgbjyx.com +zgbmcl.com +zgboke.com +zgbywl.com +zgbzad.com +zgc-bigdata.org +zgc-dsa.org +zgcahpw.com +zgcbank.com +zgcbb.com +zgcbzs.com +zgcdiy.com +zgchawang.com +zgchawang.net +zgchrx.com +zgcicc.com +zgcindex.org +zgcjm.org +zgcjpx.com +zgcmlm.com +zgcsa.org +zgcshzz.org +zgcswhcbw.com +zgcups.com +zgddmx.com +zgddwhzb.com +zgdsw.com +zgdwzp.com +zgdxhbkf.com +zgdydyxh.com +zgdzqw.com +zgeci.com +zgflzxzx.org +zgfwgj.com +zgfxnews.com +zgfznews.com +zgg.com +zgg55.com +zggbdsw.net +zggcks.com +zggdjj.com +zggjgy.com +zgglkx.com +zgglyun.com +zggonglue.com +zggqzp.com +zggx.net +zggys.com +zghanlv.com +zghde.com +zghhzx.net +zghotnews.com +zghouse.net +zghtcd.com +zghtedu.com +zghtqk.com +zgjcks.com +zgjf168.com +zgjhjy.com +zgjiemeng.com +zgjinsu.com +zgjjzyjy.org +zgjm.net +zgjm.org +zgjsks.com +zgjtb.com +zgjxcad.com +zgjxf.com +zgjyjj.com +zgkao.com +zgkashi.com +zgkawah.com +zgkfzz.com +zgkjb.com +zgkjcx.com +zgkjw.org +zgkjxww.com +zgkjzx.com +zgkqw.com +zglb.org +zglcyx.com +zgldgbsdshyjy.com +zglipin.com +zgljl2012.com +zglkq.net +zglscom.com +zglww.net +zglxw.com +zglzb.com +zglzh.com +zgmcxw.com +zgmdbw.com +zgmsbw.com +zgmsbweb.com +zgmxl.com +zgncjr.com +zgnfys.com +zgnhzx.com +zgnt.net +zgong.com +zgpingshu.com +zgpj.net +zgpts.com +zgpyhst.com +zgpzz.com +zgqkk.com +zgqw.com +zgqyhzfy.com +zgqywhcbw.com +zgqyzxw.com +zgrdnews.com +zgrlm.com +zgruisai.com +zgsc123.com +zgsclp.com +zgsd.net +zgserver.com +zgshici.com +zgshifu.com +zgshige.com +zgshjj.com +zgshoes.com +zgshq.com +zgshxfw.com +zgsj.com +zgslb.net +zgsmmhw.com +zgsof.com +zgsssss.com +zgsta.com +zgswcn.com +zgsydw.com +zgsynews.com +zgtcqw.com +zgtghccl.com +zgtianqi.com +zgtjq.com +zgtlgs.com +zgtsm.com +zgtuku.com +zgtxw.com +zgtygg.com +zgtzhb.com +zgui.com +zguonew.com +zgw.com +zgwangzhan.com +zgweimeng.com +zgwenku.com +zgwgfw.com +zgwhfe.com +zgwhw.com +zgwlmusic.com +zgwrx.com +zgwt.co +zgwxbbs.com +zgwygl.org +zgxcfx.com +zgxf.org +zgxk.org +zgxqwqh.com +zgxrjy.com +zgxue.com +zgxyzx.net +zgycgc.com +zgycsc.com +zgyeda.com +zgyey.com +zgygsy.com +zgyhys.org +zgyingtong.com +zgyinpin.com +zgylqy.com +zgyongxin.com +zgys.net +zgyssyxh.com +zgystsd.com +zgyxsw.org +zgyygl.com +zgzcw.com +zgzcwy.com +zgzfwm.com +zgzjzzs.com +zgzkw.com +zgznh.com +zgzsrc.com +zgzwl.com +zgzy.net +zgzyqccj.com +zgzyqcgw.com +zgzzs.com +zh-itone.com +zh.cc +zh30.com +zh51home.com +zhai14.com +zhai6.com +zhaiba.com +zhaidou.com +zhaifu.cc +zhaifu.tv +zhaihai.com +zhaiiker.com +zhaikexueyuan.com +zhaimansky.com +zhainan168.com +zhainanba.net +zhainanbaw.com +zhainanfulishe.com +zhainanhuayuan.com +zhaiqianfeng.com +zhairport.com +zhaisiji.net +zhaixiaoniu.com +zhan.com +zhandaren.com +zhandi.cc +zhandodo.com +zhang.ge +zhang365.com +zhang6.net +zhangchi.art +zhangdanyang.com +zhangdongshengtech.com +zhangdongxuan.com +zhangdu5.net +zhangdu520.com +zhange8.com +zhangfensir.com +zhanggang.net +zhanggao.club +zhanggaoyuan.com +zhanggee.com +zhanghaijun.com +zhanghongliang.com +zhanghuanglong.com +zhangjh.me +zhangjiaoshou.net +zhangjiexiong.com +zhangjinkun.com +zhangjunbk.com +zhangkai.red +zhangle.com +zhangli2015.com +zhangliziyun.com +zhangluya.com +zhanglvtong.com +zhangmen.com +zhangmen.org +zhangmenkid.com +zhangnan.xyz +zhangnq.com +zhangqiaokeyan.com +zhangqiongjie.com +zhangqiu.cc +zhangrunnan.com +zhangsenhao.com +zhangshengrong.com +zhangtielei.com +zhangtu.com +zhangu365.com +zhangweijie.net +zhangwenli.com +zhangxiaoyang.me +zhangxinhuichuan.com +zhangxinhulian.com +zhangxinxu.com +zhangyin.org +zhangyongjun.com +zhangyoubao.com +zhangyoushijie.com +zhangyu.com +zhangyue.com +zhangyue.net +zhangyue01.com +zhangyue02.com +zhangyue03.com +zhangyugg.com +zhangyulive.com +zhangyunling.com +zhangyuqing.me +zhangzhao.me +zhangzhengfan.com +zhangzhongpei.com +zhangzhongwang.com +zhangzhongyun.com +zhangzidao.com +zhangzifan.com +zhangziran.com +zhangzishi.net +zhangzs.com +zhanh.com +zhanhi.com +zhanjindong.com +zhankoo.com +zhanlingol.com +zhanmazj.com +zhanqi.net +zhanqi.tv +zhanqitv.com +zhanqu.im +zhanshaoyi.com +zhanshiren.com +zhanst.com +zhansu.com +zhantai.com +zhantuo.com +zhanxingfang.com +zhanyicg.com +zhanyouyun.com +zhanzhang.net +zhanzhangfu.com +zhaoapple.com +zhaobeidaxiao.com +zhaobeijing.com +zhaobuxiu.com +zhaocaibb.com +zhaocaihr.com +zhaocait.com +zhaocaiyan.com +zhaochafa.com +zhaochangjixie.com +zhaocheyun.com +zhaoda.net +zhaodanji.com +zhaodatu.com +zhaodll.com +zhaofangbang.net +zhaofanguan.com +zhaofile.com +zhaofinger.com +zhaogang.com +zhaogangimg.com +zhaogepu.com +zhaoguoshu.net +zhaohaipeng.com +zhaoj.in +zhaojiao.net +zhaojiaoan.com +zhaojiaxiao.com +zhaokaifeng.com +zhaokao.net +zhaokeli.com +zhaokuaizhao.com +zhaoliangji.com +zhaoliming.net +zhaolongedu.com +zhaomei.ink +zhaomengtu.com +zhaoming.biz +zhaomxd.com +zhaoneibuquan.com +zhaoniupai.com +zhaoonline.com +zhaopianzhibo.com +zhaopin.com +zhaopin668.com +zhaopinbao.me +zhaopingou.com +zhaopins.com +zhaoqianwang.com +zhaoqt.net +zhaoshang.net +zhaoshang100.com +zhaoshang800.com +zhaoshangbang.com +zhaoshangbao.com +zhaoshangdai.com +zhaoshayou.com +zhaosheng.com +zhaosheng365.com +zhaosifang.com +zhaosw.com +zhaotonghang.com +zhaouc.com +zhaouc.net +zhaowenxishi.com +zhaowofanyi.com +zhaowuding.net +zhaoxi.net +zhaoxi.org +zhaoxiaoshuo.com +zhaoxin.com +zhaoxitech.com +zhaoxiuyuan.com +zhaoyanblog.com +zhaoyangmao.com +zhaoyangsem.com +zhaoyangxueyuan.com +zhaoyaojd.com +zhaoyasai.com +zhaoyb.net +zhaoyingtian.com +zhaoyinqian.com +zhaoyuan365.com +zhaoyun.com +zhaozhanxu.com +zhaozhaoqu.com +zhaozhishi.com +zhaozongjie.com +zhatoufa.com +zhbit.com +zhblawyer.com +zhcf001.com +zhcw.com +zhdba.com +zhdclink.com +zhdgps.com +zhdzsw.com +zhe.com +zhe28.com +zhe4000.com +zhe800.com +zhebei.com +zhebiekeji.com +zhedakaoyan.com +zhefengle.com +zhejiangmuseum.com +zhejiangqinghe.com +zhejiangweiniu.com +zhejie.com +zhekouo.com +zhelaoda.com +zheli.com +zheliyangsheng.com +zhen-ao.com +zhen.com +zhenai.com +zhenaoyaoye.com +zhenbi.com +zhenbizi.com +zhenchenglong.com +zhending-chicken.com +zhenfang.me +zhenfund.com +zheng800.com +zhengcaimall.com +zhengcaishangcheng.com +zhengdabm.com +zhengdaotang.com +zhengdichaiqian.com +zhengding.cc +zhengfenduojin.com +zhengguzhishen.com +zhenghangyq.net +zhenghemold.com +zhengjia.com +zhengjiantong.com +zhengjicn.com +zhengjie.com +zhengmeng.net +zhengpinle.com +zhengqingsong.com +zhengruioi.com +zhengshihf.com +zhengshuku.com +zhengtoon.com +zhenguo.com +zhengwutong.com +zhengxiaoling.com +zhengxinbao.com +zhengyaing.win +zhengyee.com +zhengyexing.com +zhengyifeng.com +zhengyinyong.com +zhengyounet.com +zhengzai.tv +zhengzhoubus.com +zhengzhoulvxing.com +zhengzi.me +zhengzihui.com +zhenhaotao.com +zhenhaotv.com +zhenhong56.com +zhenhuajn.xin +zhenhuan888.com +zhenimg.com +zhenjiahuo.com +zhenjiang-marathon.com +zhenleishan.com +zhenlian.online +zhenlinxin.com +zhenlishen.com +zhenniu24.com +zhenpin.com +zhenren.com +zhenrongbao.com +zhensoushu.com +zhentan.la +zhenwu.com +zhenxian.fm +zhenxingkuangchanpin.com +zhenyouhuo.com +zhenyouliao.com +zhenyouweb.com +zhenzanzixun.com +zhepic.com +zhesui.com +zhetao.com +zhetian.org +zheurl.com +zhexi.tech +zhexinit.com +zheyangai.com +zheye.cc +zheye.com +zheyibu.com +zheyouquan.net +zheyouxinxi.com +zhezheai.com +zhezhekan.com +zhezhier.com +zhfc.com +zhfile.com +zhfund.com +zhgc.com +zhgjm.com +zhgl.com +zhgnj.com +zhguoguo.com +zhh.me +zhhainiao.com +zhhrm.com +zhhs-china.com +zhhtxt.com +zhhuahui.com +zhhy-oa.com +zhi-bo.net +zhi-ming.com +zhi-niao.com +zhi.hu +zhi12.com +zhiaikm.com +zhiaimusic.com +zhiannet.com +zhiaxue.com +zhib.net +zhibao2car.com +zhibiao8.com +zhibo.at +zhibo.co +zhibo.me +zhibo.tv +zhibo8.cc +zhibo8.com +zhiboba.com +zhiboba.org +zhiboqiao.com +zhiboyun.net +zhibs.net +zhibugongzuo.com +zhicaiwang.com +zhicall.com +zhicg.com +zhichanli.com +zhicheng.com +zhichepin.com +zhichikeji.com +zhichiwangluo.com +zhichiweiye.com +zhichu100.com +zhicms.cc +zhidao91.com +zhidaoanli.com +zhidaoketang.com +zhidesoft.com +zhideyimai.com +zhidian3g.com +zhidieyun.com +zhiding0603.com +zhidiy.com +zhidj.com +zhidmai.com +zhiduopc.com +zhidx.com +zhifa.cc +zhifang.com +zhifashengfa.com +zhifeishengwu.com +zhifoukeji.com +zhiftype.com +zhifufu.com +zhifujie.com +zhifure.com +zhifutui.com +zhifuzi.com +zhigou.com +zhiguagua.com +zhiguang.me +zhigudata.com +zhihe.mobi +zhihejia.com +zhihemobi.com +zhihengwangchen.com +zhihjf.com +zhihone.com +zhihu.com +zhihu.dev +zhihu66.com +zhihudsp.com +zhihuiduijian.com +zhihuiep.com +zhihuihuiwu.com +zhihuiji.com +zhihuinanzhan.com +zhihuirenshe.com +zhihuishitang.net +zhihuishu.com +zhihuiya.com +zhihuizhangyu.com +zhihuizp.com +zhihuoseo.com +zhiji.com +zhijia.com +zhijiang.biz +zhijiangames.com +zhijianhutong.com +zhijiaoyi.com +zhijiapro.com +zhijidoc.com +zhijieketang.com +zhijin.com +zhijinwang.com +zhijl.com +zhijuke.com +zhikao100.com +zhiketong.com +zhiketong.net +zhikubao.net +zhilandaren.com +zhilehuo.com +zhileng.com +zhili-hr.com +zhilian.com +zhilianfm.com +zhiliangren.com +zhilianhttp.com +zhiliaoke.com +zhiliaomj.com +zhilii.com +zhilingshidai.com +zhilong.me +zhilongtech.com +zhiluo.net +zhimacangku.com +zhimace.com +zhimantian.com +zhimaruanjian.com +zhimatech.com +zhimawenda.com +zhimax.com +zhimg.com +zhimi.com +zhimoe.com +zhinengdayi.com +zhinengshe.com +zhinengxia.com +zhinet.com +zhinews.com +zhinikefu.com +zhiniu8.com +zhipan.net +zhipeix.com +zhipiaoduixian8.com +zhipin.com +zhipingke.com +zhiqiang.org +zhiqiapp.com +zhiqu.org +zhiquansheng.com +zhiquanxia.com +zhiquyuan.com +zhiread.com +zhiren.com +zhiren.ren +zhirenhr.com +zhiribao.com +zhiru.com +zhirui-inv.com +zhiruyi.com +zhisanzhao.com +zhisheji.com +zhishi.life +zhishichong.com +zhishifenzi.com +zhishihao.com +zhishikoo.com +zhishilin.com +zhishiniu.com +zhishisoft.com +zhishiwu.com +zhishizhan.net +zhishuedu.com +zhishutang.com +zhisiyun.com +zhitongcaijing.com +zhitoudsp.com +zhitouxing.com +zhituad.com +zhitui.com +zhiweidata.com +zhiweilaijiaoyu.com +zhiwo.com +zhiwuwang.com +zhixiaohuoke.com +zhixiaoren.com +zhixiaorenurl.com +zhixin-semi.com +zhixingapp.com +zhixingbus.com +zhixinlu.com +zhixuan.com +zhixue.com +zhixue.org +zhixueyun.com +zhiye.com +zhiyeapp.com +zhiyehaiwai.com +zhiyequan.com +zhiyi.com +zhiyicx.com +zhiyinghui.com +zhiyingtuan.com +zhiyinhao.com +zhiyinlou.com +zhiyinmedia.com +zhiyoo.com +zhiyoubao.com +zhiyuan-group.com +zhiyuanit.com +zhiyuanyun.com +zhiyujit.com +zhiyun168.com +zhizaoye.net +zhizaoyun.com +zhizhang.com +zhizhebuyan.com +zhizhen.com +zhizhi88.com +zhizhibaike.com +zhizhihu.com +zhizhizhi.com +zhizhonghl.com +zhizhoukeji.com +zhizhucms.com +zhizhuwu.com +zhizhuyx.com +zhizihuan.com +zhizihuan.net +zhiziyun.com +zhizunbao668.com +zhizunbo.com +zhizundns.com +zhizunlian.com +zhizunnews.com +zhizuobiao.com +zhizuobiaojiaoyu.com +zhizuoh5.com +zhizuotu.com +zhj9.com +zhjiameng.com +zhjj.org +zhjncb.com +zhjs.cc +zhjypco.com +zhk.me +zhku.com +zhl.com +zhld.com +zhlhh.com +zhliqi.com +zhlseo.com +zhlzw.com +zhmeiwen.com +zhmf.com +zhmold.com +zhmzjl.com +zhmzqi.com +zhnjw.com +zhobang.com +zhong.com +zhong100.com +zhongan.com +zhongan.io +zhonganfengshang.com +zhonganinfo.com +zhongbaounion.com +zhongbingtongxin.com +zhongbowenwu.com +zhongboxinwen.com +zhongchaoyinshua.com +zhongchebaolian.com +zhongchoujia.com +zhongchouke.com +zhongchouyan.com +zhongchuang365.com +zhongchuanjukan.com +zhongda021.com +zhongdaonet.com +zhongdeng.com +zhongdengwang.com +zhongdi168.com +zhongdoulicai.com +zhongfenxian.com +zhongfenxiang.com +zhongfu.net +zhongguancun.com +zhongguobaiyin.com +zhongguoditu.com +zhongguofeng.com +zhongguohao123.com +zhongguohuo.com +zhongguojianmenguan.com +zhongguojie.org +zhongguojie.wang +zhongguojinrongtouziwang.com +zhongguojixiewang.com +zhongguomap.com +zhongguopeixun.net +zhongguose.com +zhongguoseo.net +zhongguoshici.com +zhongguosou.com +zhongguowangshi.com +zhongguoxianhua.com +zhongguoyimin.net +zhongguoym.com +zhongh.com +zhonghaitech.com +zhonghegame.com +zhonghhd.com +zhonghongwang.com +zhonghr.com +zhonghua-pe.com +zhonghuacar.com +zhonghuacpa.com +zhonghuadiancang.com +zhonghuaent.com +zhonghuamba.com +zhonghuameiwang.com +zhonghuanus.com +zhonghuaqiming.com +zhonghuasuan.com +zhonghuawuxia.com +zhonghuayuwenzhishiku.org +zhongjiangapp.com +zhongjie.com +zhongjijidian.com +zhongjintongsheng.com +zhongjitou.com +zhongkao.com +zhongkaohelp.com +zhongkerd.com +zhongkezhuyan.com +zhongkongbancn.com +zhongleny.com +zhonglewz.com +zhonglian.com +zhonglianfactoring.com +zhongliucls.com +zhongliuyiyuan.com +zhonglun.com +zhongman.com +zhongmian.com +zhongmingmao.me +zhongniu.com +zhongpaiwang.com +zhongqixin360.com +zhongrenbang.cc +zhongrongjz.com +zhongruigang.com +zhongruihuacheng.com +zhongruitech.com +zhongshang114.com +zhongshanpark.com +zhongshanyinyuetang.org +zhongshengdai.com +zhongshucan.com +zhongso.com +zhongsou.com +zhongsou.net +zhongtaitrust.com +zhongtieyintong.com +zhongtoufa.net +zhongtuobang.com +zhongwcs.com +zhongwei-info.com +zhongweijy.com +zhongwenhexinqikan.com +zhongwenqing.com +zhongwucan.com +zhongxiangdichan.net +zhongxing123.com +zhongxinwanka.com +zhongxunrunda.com +zhongxuntv.com +zhongyao1.com +zhongyaoyi.com +zhongye.net +zhongyegongkao.com +zhongyemba.com +zhongyidiantong.com +zhongyiiot.com +zhongyiju360.com +zhongyishangwu.com +zhongyoo.com +zhongyouex.com +zhongyougc.com +zhongyunjy.com +zhongzhao.com +zhongzhengzs.com +zhongzhide.com +zhongzhifaqian.com +zhongzhilin.com +zhongzhixin.com +zhongzhoutm.com +zhongzq.com +zhonzhu.com +zhopera.com +zhou1go.com +zhouao.com +zhoubochina.com +zhouchun.net +zhoudaosh.com +zhougong.com +zhouhoulin.com +zhoujiahong.com +zhoujianhui.com +zhoujiping.com +zhoulaoshi.club +zhoulingjie.com +zhoushangren.com +zhoushengfe.com +zhouxiao.me +zhouxingchi.info +zhouxuanyu.com +zhouyi.biz +zhouyi.cc +zhouyi.org +zhouyi114.com +zhouyigw.com +zhouyiju.com +zhouyuanchao.com +zhouzhuang.net +zhpanzi.com +zhqyue.com +zhrczp.com +zhrtc.com +zhs6.com +zhsan.com +zhsho.com +zhshw.com +zhskw.com +zhsyb.cc +zhtelecom.com +zhtmid.com +zhtzvip.com +zhu.cm +zhu360.com +zhu7jie.com +zhuainiu.com +zhuaishuan.com +zhuan16.com +zhuanfa.net +zhuanfou.com +zhuang520.com +zhuang666.com +zhuang99.com +zhuangji.net +zhuangjiba.com +zhuangjiyuan.com +zhuangku.com +zhuangle.cc +zhuangniu.net +zhuangpeitu.com +zhuangpin.com +zhuangxiaomi.com +zhuangxiu.com +zhuangxiu22.com +zhuangxiu567.com +zhuangxiu6.com +zhuangxiubao.com +zhuangxiuzhai.com +zhuangyi.com +zhuangzhuang.cf +zhuangzhuang.net +zhuanhuanqi.com +zhuaniao.com +zhuanile.com +zhuankeba.org +zhuanlichaxun.net +zhuanliqiao.com +zhuanmenmian.com +zhuannet.com +zhuanpinyin.com +zhuanqianer.com +zhuansoo.com +zhuanstatic.com +zhuantilan.com +zhuanyejun.com +zhuanyepeixun.com +zhuanyes.com +zhuanyezhidao.com +zhuanyun.cc +zhuanyun123.com +zhuanyuntang.com +zhuanzfx.com +zhuanzhi.ai +zhuanzhi.net +zhuanzhuan.com +zhuanzhuantui.com +zhuanzhuvpn.com +zhuashouru.com +zhuatang.com +zhuax.com +zhuaxia.com +zhuaying.com +zhuayou.com +zhuayoukong.com +zhuazi.com +zhubai.love +zhubaijia.com +zhubajie.com +zhubajie.la +zhubangbang.com +zhubao.com +zhubao668.com +zhubaojizhen.com +zhubaoq.com +zhubenjie.com +zhubian.com +zhubiaoju.com +zhubijiao.com +zhubo123.com +zhubogu.com +zhuboqiang.com +zhuceshenzhengongsi.com +zhuceyou.com +zhucezn.com +zhuchao.cc +zhudai.com +zhudianquan.com +zhufaner.com +zhufengpeixun.com +zhufenqi.com +zhufushuo.com +zhuge.com +zhugeapi.com +zhugeapi.net +zhugefang.com +zhugeio.com +zhuhaily.com +zhuhaimy.com +zhuhd.win +zhuhongliang.com +zhuici.com +zhuici.net +zhuiguang.com +zhuihuodong.com +zhuimengzhu.com +zhuiqu.com +zhuishu.tw +zhuishu5.com +zhuishubang.com +zhuishushenqi.com +zhuishuwang.com +zhuiwan.org +zhuixinfan.com +zhuixingwang.com +zhuixue.net +zhuiyi.ai +zhuizhuiimg.com +zhuizhuiyoyo.com +zhuji.com +zhuji.la +zhuji.net +zhujia360.com +zhujian.org +zhujiangbeer.com +zhujiange.com +zhujiangrc.com +zhujiangroad.com +zhujib.com +zhujibank.com +zhujibiji.com +zhujiceping.com +zhujiwiki.com +zhujiwu.com +zhujiyou.com +zhuke.com +zhulang.com +zhulanli.com +zhuli.me +zhulincat.com +zhuliudai.com +zhuliuwu.com +zhulixiaolie.com +zhulogic.com +zhulong.com +zhulou.net +zhulu86.com +zhumengwl.com +zhumu.me +zhuna.net +zhunc.vip +zhundao.net +zhundaoyun.com +zhuniu.com +zhunniao.com +zhuo.com +zhuobufan.com +zhuofan.net +zhuofansoft.com +zhuoguang.net +zhuohuamg.com +zhuojie.cc +zhuokearts.com +zhuoku.com +zhuolin.wang +zhuomogroup.com +zhuoquapp.com +zhuoqun.info +zhuoshigroup.com +zhuoshixiong.com +zhuotingwl.com +zhuotujiaoyu.com +zhuoxue.cc +zhuoyi.com +zhuoyicp.com +zhuoyigame.com +zhuoyigame.site +zhuoyixuan.com +zhuoyou.com +zhuoyouba.net +zhuoyuanxinfang.com +zhuoyue.wang +zhuoyuebbs.com +zhuoyuechenxing.com +zhuozhengsoft.com +zhuozhoufangchan.com +zhuozhuogame.com +zhupadns.com +zhuqinit.com +zhuqiyang.com +zhuque.me +zhushou001.com +zhushuiwen.com +zhust.com +zhutao.com +zhuti.com +zhuticlub.com +zhutihome.net +zhutix.com +zhutix.net +zhutizhijia.net +zhutools.com +zhutou.com +zhutousan.net +zhuwang.cc +zhuwang360.com +zhuwona.com +zhuxianfei.com +zhuxiaobang.com +zhuxuejy.com +zhuxuncn.com +zhuye.kim +zhuyeshouhushen.com +zhuyitai.com +zhuyixie.com +zhuyst.cc +zhuyuce.com +zhuyunfeng.com +zhuzhai.com +zhuzher.com +zhuzhichao.com +zhuzhouwang.com +zhuzi.me +zhuzihaoke.com +zhw2101024.com +zhwangart.com +zhwdw.com +zhwenku.com +zhwenxue.com +zhwlgzs.com +zhx-mall.com +zhxfei.com +zhxinuser.com +zhxuser.com +zhxww.net +zhxy1z.com +zhy333.com +zhybb.com +zhyccw.com +zhycn.com +zhyd.me +zhyfjj.com +zhyi828.com +zhyingxiao.com +zhyouliang.com +zhyx707.com +zhyxcc.com +zhyymall.com +zhyyz.com +zhzays.com +zhzjw.net +zhzyw.com +zhzyw.org +zhzzx.com +zi-han.net +zi.com +ziben365.com +zicaitou.com +zichabaogao.com +zichanzhihuan.com +zichenit.com +zidan.chat +zidanduanxin.com +zidanduanxin.net +zidian8.com +zidoo.tv +zidootv.com +ziewje.com +zifandiaosu.com +zifeiwuya.com +zige365.com +zigeer.com +ziguhonglan.com +zihai029.com +zihai0351.com +zihai0535.com +zihai0591.com +zihai0595.com +zihai0755.com +zihai24.com +zihexin.net +zihu.com +zihua01.com +ziipoo.com +ziisp.com +zijgdw.com +ziji.cc +zijiayouly.com +zijieapi.com +zijiecdn.com +zijieimg.com +zijinfx.com +zijinji.com +zijinsuo.com +zijiren.net +zijizhang.com +zikao-zikao.com +zikao.gd +zikao365.com +zikao5.com +zikaocqi.com +zikaoshu.net +zikaoshu.vip +zikaosw.com +zike.com +zikeys.com +zikoo.com +ziku123.com +zikui-design.com +zikuinfo.com +zilanwl.com +zilhua.com +zilian8.com +ziliaoge.com +ziliaoh.com +zilongame.com +zilongshanren.com +ziluolanh.com +zimacaihang.com +zimilan.com +zimoapps.com +zimrilink.com +zimu.me +zimukeji.com +zimuku.net +zimushe.com +zimuzimu.com +zimuzu.tv +zine.la +zinewow.com +zing-api.com +zingke.com +zingqi.com +ziniao.com +ziningmeng.com +ziniusoft.com +zintao.com +zintow.com +zip118.com +zipadc.com +zipjpg.com +ziq.com +ziqiangxuetang.com +ziranyixue.com +ziroom.com +ziroomapartment.com +ziroomstay.com +zisea.com +zisen.com +ziseyiliao.com +zisha.com +zishahuyu.com +zishapot.com +zishu010.com +zishuo.com +zishuogif.com +zishuovideo.com +zisia.org +zisuo.com +ziti.so +ziti163.com +zitiao.org +zitiaonc.com +zitichina.com +ziticq.com +zitiguanjia.com +zitijia.com +zitixiazai.org +zituo.net +zivers.com +zivoo.com +ziwanyouxi.com +ziweihuan.com +ziwojianding.net +ziwork.com +ziwoyou.net +ziwufang.com +zixia.com +zixiangsakesi.com +zixiaomao.com +zixigua.com +zixijiaoshi.com +zixike.cc +zixuedao.com +zixuejie.com +zixuekaoshi.net +zixuephp.net +zixunkezhan.com +zixuntop.com +ziy.cc +ziyadiaoyu.com +ziyainfo.com +ziyan666.com +ziyawang.com +ziye114.com +ziyesy.com +ziyexing.com +ziyimall.com +ziyou.com +ziyou.studio +ziyoufa.com +ziyouwu.com +ziyuan.tv +ziyuan605.com +ziyuanbu.com +ziyuangou.com +ziyuanku.com +ziyuanm.com +ziyuanmaow.com +ziyuantun.com +ziyuewentao.com +ziyun.com +ziyuyx.com +zizaike.com +zizhuauto.com +zizhupark.com +zizisi.com +zizizizizi.com +zizzs.com +zj-hhcy.com +zj-idc.com +zj.com +zj01.com +zj123.com +zj12378.com +zj186.com +zj2460.com +zj31.net +zj32.com +zj42.com +zj93zp.com +zj96596.com +zjabank.com +zjaf.net +zjaqxy.com +zjautoparts.com +zjbiz.net +zjbyte.com +zjca.org +zjcb.com +zjcbank.com +zjcdn.com +zjchina.org +zjchuguo.com +zjcic.net +zjciming.com +zjcio.org +zjckw.org +zjcnbank.com +zjcrjzj.com +zjcuhb.com +zjcxbank.com +zjdashi.com +zjdata.net +zjdh.org +zjdomain.com +zjdybank.com +zjdydlc.com +zjdyjob.com +zje.com +zjedps.com +zjedu.org +zjepe.com +zjfdc.net +zjft.com +zjgas.net +zjggcm.com +zjgjj.com +zjgmdf.com +zjgqt.org +zjgrrb.com +zjgslb.com +zjgt.com +zjguji.com +zjgwy.org +zjgwyw.org +zjgzcpa.com +zjhcbank.com +zjhee.com +zjhejiang.com +zjhim.com +zjhnrb.com +zjhualing.com +zjhui.net +zjhx520.com +zjhyrcb.com +zjhzyg.net +zji.net +zjiecode.com +zjiis.com +zjimpact.com +zjipc.com +zjj17u.com +zjj21.com +zjjd.org +zjjdamuzhi.com +zjjgcyz.com +zjjlvxing.com +zjjlvyou8264.com +zjjr.com +zjjsbank.com +zjjsit.com +zjjta.com +zjjubao.com +zjjushu.com +zjjy.com +zjjyuntian.com +zjjzyxh.com +zjkangzh.com +zjkccb.com +zjkelan.com +zjkgjj.com +zjkings.com +zjknews.com +zjks.com +zjlcwg.com +zjldrcb.com +zjlottery.com +zjlsbz.com +zjlvjie.com +zjlxtx.com +zjmax.com +zjmi-mall.com +zjmobile.com +zjmoney.com +zjmrhpt.com +zjnad.com +zjnrcb.com +zjolcdn.com +zjoldns.com +zjosm.com +zjpcedu.com +zjphrcb.com +zjpost.com +zjpubservice.com +zjqbj.com +zjqimeng.com +zjqk110.com +zjrc.com +zjrc.net +zjrcu.com +zjrjks.org +zjsaisi.com +zjscdb.com +zjscs.com +zjsight.com +zjsr.com +zjstv.com +zjsxlt.com +zjszbank.com +zjtcn.com +zjtdw.com +zjtlcb.com +zjtntd.com +zjtree.com +zjtxedu.org +zjugis.com +zjujournals.com +zjuqsc.com +zjut.cc +zjutkz.net +zjwater.com +zjwc168.com +zjwk.com +zjwmw.com +zjwxbank.com +zjxc.com +zjxf119.com +zjxhgd.com +zjxpp.com +zjxqyy.com +zjxsbank.com +zjyanxing.com +zjyari.com +zjycpx.com +zjydt.com +zjyiot.com +zjyiqiao.com +zjykjy.com +zjyyang.com +zjyygy.com +zjzdgj.com +zjzfcj.com +zjzg.com +zjzj.org +zjzjhotel.com +zjzs.net +zjzsxb.com +zjzydns.com +zk2013.com +zk528.com +zk5u.com +zk71.com +zkailun.com +zkbedu.com +zkbhj.com +zkck.com +zkcmg.com +zkcrm.com +zkcserv.com +zkcx.com +zkdt.net +zkdzxx.com +zkecopro.com +zkeli.com +zkeys.com +zkgjy.net +zkh360.com +zkhb.group +zkhcsoft.com +zkhcsy.com +zkii.net +zking.com +zkjxt.com +zkl2333.com +zkoffcn.com +zkokh.com +zkread.com +zkroom.com +zksoftwaresz.com +zkteco.com +zkteco.xin +zktimecube.com +zktools.net +zktsg.com +zktw.com +zku.net +zkunet.com +zkungfu.com +zkuyun.com +zkx.cc +zkxblog.com +zkxlkj.net +zkxsw.com +zkxww.com +zkydib.com +zkyouxi.com +zkyxls.com +zkzhkj.com +zkzj.org +zl532.com +zl99.org +zlbaba.com +zlca.org +zlcool.com +zlfedu.com +zlfind.com +zlg.com +zlgmcu.com +zlgpy.com +zlgsj.com +zlhelp.com +zlhome.com +zlhui.com +zlibs.com +zliiii.com +zlimg.com +zlink-e.com +zlkb.net +zlketang.com +zllife.net +zllyun.com +zlog.cc +zlongad.com +zlongame.com +zlook.com +zlorz.com +zlqh.com +zlqiao.com +zlscn.net +zlservice.net +zlsin.com +zlsnet.com +zlsoft.com +zltianhen.com +zluren.com +zlvod.com +zlw.so +zlygu.com +zm1717.com +zmapp.com +zmaxfilm.com +zmaxhotels.cc +zmbg.com +zmccx.com +zmctc.com +zmdfdc.com +zmdz.com +zmeng.cc +zmeng123.com +zmengzhu.com +zmfx8.com +zmgov.com +zmgrcw.com +zmhkl.com +zmidc.com +zmifi.com +zmingcx.com +zmirrordemo.com +zmister.com +zmjiudian.com +zmlearn.com +zmmdn.com +zmmtu.com +zmndjm.com +zmnds.com +zmnedu.com +zmnoa.com +zmnrz.com +zmobuy.com +zmonster.me +zmpal.com +zmqlh.com +zmren.com +zmrenwu.com +zmrgame.com +zmsc.cc +zmsq.com +zmt.me +zmtiantang.com +zmtpc.com +zmtquan.com +zmumu.com +zmwang.wang +zmwo.com +zmxiaoqu.com +zmxiazai.com +zmxiu.com +zmye5vly.com +zmzapi.com +zmzapi.net +zmzjk.com +zmzjstu.com +zn8.com +znba.net +znbo.com +znczz.com +zndata.com +zndns.com +znds.com +znds.net +zndsbbs.com +zndstec.com +zngm.com +znhospital.com +znhr.com +znimg.com +zniu.cc +znj.com +znjchina.com +znjj.tv +znlzd.com +znpin.com +znqnet.com +znshuru.com +znsjw.com +zntec.net +zntvrom.com +zntx.cc +znvren.com +znwb.com +znyp.com +znyseo.com +znyshurufa.com +znyxb.com +znzbt.com +znznet.net +zo-l.net +zocai.com +zocodev.com +zodiac.wang +zoe360.com +zoebon.com +zoform.com +zofund.com +zohead.com +zoioo.com +zoker.io +zokogo.com +zokstar.com +zol-img.com +zol.com +zollty.com +zolsky.com +zolyol.com +zombiescat.com +zomiu.com +zomvip.com +zomzone.com +zon100.com +zone139.com +zoneben.com +zoneidc.com +zoneker.com +zonemore.com +zonen-tech.com +zonepp.com +zoneve.com +zongcaidarentilihaoya.com +zonghangsl.com +zongheng.com +zonghengche.com +zonghengke.com +zonglai.mobi +zongliwei.com +zongming.net +zongs365.com +zongshenmotor.com +zongtiku.com +zongxiutang.net +zongyiconverge.com +zongyifile.com +zongyigame.com +zongyijia.com +zongyimobile.com +zongyionline.com +zongyiphone.com +zongyixun.com +zonhen.com +zonst.com +zontes.com +zooao.com +zoocer.com +zoofon.com +zoogooy.com +zookingsoft.com +zookparts.com +zoom-china.com +zoom.us +zoomeye.org +zoomlion.com +zoopda.com +zoosnet.net +zoossoft.com +zoossoft.net +zootui.com +zooyoo.cc +zoroli.com +zorrowh.com +zou.la +zou114.com +zoubiao.com +zoucheng.cc +zoucz.com +zoues.com +zoujinvr.com +zoular.com +zoutu.com +zouzhenzhong.com +zouzhiqiang.com +zowoyoo.com +zoyoo.net +zp.do +zp0716.com +zp0737.com +zp365.com +zp515.com +zpad.cc +zpan.space +zpascal.net +zpaudit.com +zpedu.org +zpfdc.com +zphj1987.com +zpidc.com +zpjiashuo.com +zplayworld.com +zpluz.com +zpm.so +zpm.wiki +zppk.net +zppop.com +zppxba.com +zptong.com +zpzyb.com +zq-scm.com +zq12369.com +zq235.com +zq99y.com +zqbzs.cc +zqcloudgame.com +zqctqcz.com +zqfxj.com +zqgame.com +zqgreen.com +zqic.net +zqjjr.com +zqlian.com +zqlx.com +zqnf.com +zqsign.com +zqsos.com +zqtong.com +zquan.cc +zquan.org +zqvip8.cc +zqwzc.com +zqxinxi.com +zqxsc.com +zqzj.org +zqzyxx.com +zrahh.com +zrblog.net +zrbx.com +zrcaifu.com +zrcbank.com +zrfan.com +zring.com +zrj96.com +zrjhwenhua.com +zrmm.com +zrtech.org +zrtg.com +zrthink.com +zrway.com +zrwjk.com +zrxss.com +zry97.com +zrzyb.net +zs-e.com +zs-lzlj.com +zs-rh.com +zs0572.com +zs310.com +zs516.com +zs666.com +zs6y.com +zs8q.com +zsaber.com +zsacg.com +zsafw.com +zsapp.info +zsaxi.com +zsb353.com +zsbeike.com +zsbit.com +zsc.io +zscaishang.com +zsdk.cc +zsdlw.com +zsemall.com +zseoo.com +zsevent.com +zsezt.com +zsf.cool +zsfund.com +zsgd.com +zsgjs.com +zsglrj.com +zsgoodlighting.com +zsh.com +zsh8.com +zshield.net +zshl.com +zshlife.com +zshuoshao.online +zshzfzj.com +zsia.org +zsihuo.com +zsincer.com +zsite.com +zsj18.com +zsjingmi.com +zsjinqi.com +zsjuchuang.com +zsjxwj.com +zskoubei.com +zsksw.net +zslady.com +zsld86.com +zslin.com +zslp021.com +zslyyn12.com +zslyzjj11.com +zsmama.com +zsnchem.com +zsppsj.com +zsptdjy.com +zsr.cc +zsso03.com +zssph.com +zssxczxyey.com +zstack.io +zstczx.com +zstzs.com +zsucai.com +zsucai.net +zsufivehos.com +zsvsz.com +zswcn.com +zsweai.club +zswebao.xyz +zswhtl.com +zsxq.com +zsxq100.com +zsythink.net +zszq.com +zt-express.com +zt-info.com +zt1f.com +ztautoparts.com +ztbest.com +ztcadx.com +ztch.ltd +ztcia.com +ztcj365.com +ztdad.com +zte.net +ztedevice.com +ztedevices.com +ztedu8.com +ztemap.com +ztems.com +ztestin.com +ztfans.com +ztfssc.com +ztgame.com +ztgy.org +zthxcf.com +ztinfoga.com +ztjoin.com +ztjy61.com +ztjystore.com +ztkm.com +ztky.com +ztmao.com +ztms.net +ztnews.net +zto.com +zto.jp +zto56.com +ztpay.org +ztqqt.com +ztrhmall.com +ztrong.com +ztsafe.com +ztsfc.com +ztt.cc +zttx-exp.com +zttx.com +ztu-crm.com +ztupic.com +ztups.com +ztvcar.com +ztvx8.com +ztww.net +ztxz.cc +ztzy.com +zuan-cheng.com +zuanbi8.com +zuanchuang.org +zuanchuang9.com +zuanke8.com +zuankezu.com +zuanshi.com +zuanshitoupiao.com +zuanshivpn.com +zuantao.cc +zuber.im +zubunet.com +zuche.com +zuchecdn.com +zuciwang.com +zucp.net +zudeapp.com +zudong.com +zufang.com +zufangbao.com +zufangzi.com +zugame.com +zugeliang01.com +zuhaoapp.com +zuhaofa.com +zuhaohao.com +zuhaowan.com +zuhaowan.net +zuhedaikuan.com +zuhuanhao.com +zui.com +zui365.com +zui88.com +zuiben.com +zuibook.com +zuichen.net +zuicool.com +zuidabao.com +zuidaima.com +zuidh.com +zuidongxi.com +zuifengyun.com +zuifuli.com +zuihaodaxue.com +zuihuimai.com +zuihuimai.net +zuiidea.com +zuijiao.net +zuijunshi.com +zuikc.com +zuiku.com +zuikzy.com +zuilingxian.com +zuimeia.com +zuimeiqidai.com +zuimeitianqi.com +zuimeix.com +zuimoban.com +zuiniuwang.com +zuiqiangnixi.com +zuiqiangyingyu.net +zuirede.com +zuishidai.com +zuitang.com +zuitu.com +zuiwan.net +zuixiaoyao.com +zuixinchao.com +zuixingzuo.net +zuixu.com +zuixue.com +zuiyou.com +zuiyouxi.com +zuiyouzhi.com +zujuan.com +zujuanyi.com +zuk.com +zukang88.com +zuker.im +zulijian.com +zulinbao.com +zumbacn.com +zun.com +zun.gd +zun315.com +zun9.com +zunxiangqiming.com +zunxun.com +zunxun.net +zunzou.com +zuobaike.net +zuobin.net +zuocd1.group +zuoche.com +zuocheng.net +zuodanye.com +zuodao.com +zuodashi.com +zuodia.com +zuofanwang.com +zuogj.com +zuohaotu.com +zuohuodong.com +zuoji-scm.com +zuojiachubanshe.com +zuojiaju.com +zuojiawang.com +zuojing.com +zuojj.com +zuopinj.com +zuoqu.com +zuoqudashi.net +zuosa.com +zuoshipin.com +zuotishi.com +zuowen.com +zuowen8.com +zuowenck.com +zuowening.com +zuowenjun.com +zuowenku.net +zuowenren.com +zuowens.com +zuowenwang.net +zuowenxue.com +zuowenzhai.com +zuowenzhitiao.com +zuoxiaolong.com +zuoye5.com +zuoyebang.cc +zuoyebang.com +zuoyehezi.com +zuoyesou.com +zuoyewang.cc +zupig.com +zupuk.com +zupulu.com +zutianke.com +zutiyu.com +zuulee.com +zuxcgames.com +zuyunfei.com +zuyushop.com +zuzheyong.com +zuzhirenshi.com +zuzitech.com +zuzuche.com +zving.com +zvv.me +zvzee.com +zw110.com +zw3e.com +zw3w.com +zw808.com +zw885.com +zwads.com +zwbk.org +zwcad.com +zwcnw.com +zwcsm.com +zwda.com +zwdns.com +zwds.cc +zwdsty.com +zwdu.app +zwdu.com +zwduxs.com +zwechat.com +zwfw.com +zwgeek.com +zwhz.com +zwie2003.com +zwjczx.com +zwjhl.com +zwjk.com +zwjl.com +zwjl.net +zwkf.net +zwoptical.com +zwtianshangm.com +zwtkl8.com +zwtxipr.com +zwwdm.com +zwwltkl.com +zwwx.com +zwzsh.net +zwzyzx.com +zx-casting.com +zx-tour.com +zx0093.com +zx017.com +zx017.net +zx080.com +zx0818.com +zx100.com +zx10000.com +zx110.org +zx181.com +zx350zx.com +zx7b.com +zx8.cc +zx98.com +zxblinux.com +zxbzr.com +zxclqw.com +zxcmk.com +zxcoder.com +zxd.com +zxdb999.com +zxdoo.com +zxdu.net +zxdyo.com +zxdyw.com +zxe-china.com +zxerp.com +zxfvip.com +zxgongshui.com +zxgzs.com +zxgzw.com +zxh.site +zxhgroup.com +zxhong.com +zxhsd.com +zxiaoxiang.com +zxicrm.com +zxinc.org +zxinzxw.com +zxip.com +zxjg66.com +zxjsq.net +zxlearning.com +zxlib.com +zxlmx.com +zxmall.com +zxmn2018.com +zxmseed.com +zxmxd.com +zxnic.net +zxnrh.com +zxopen.com +zxpmq.com +zxrtb.com +zxs-coffee.com +zxsg88.com +zxshe.com +zxsmd.com +zxswjx.com +zxsygs.com +zxt2007.com +zxtang.com +zxtjd.com +zxtnetwork.com +zxttax.com +zxw114.com +zxw51.com +zxwcbj.com +zxwindow.com +zxwstong.com +zxwyouxi.com +zxxk.com +zxxww.com +zxxxkj.com +zxzhijia.com +zxzj.me +zxzlf.com +zxzyl.com +zxzyy.com +zy-cam.com +zy2071.com +zy728.com +zyan.cc +zyautoe.com +zybang.com +zybang1.com +zybird.com +zyboe.com +zybuluo.com +zyc918.com +zyccc.com +zycits.com +zyclps.com +zycmfw.com +zycsc.com +zyctd.com +zycultura.com +zydhgm.com +zydsy.com +zye.cc +zyea.com +zyecp.com +zyexhibition.com +zyeye.net +zyfchina.com +zyfj.com +zygames.com +zyge.net +zygg.cc +zygj.net +zygx.wang +zyh365.com +zyhao.com +zyhbxs.com +zyhcjl.com +zyhh.me +zyhot.com +zyiis.net +zyip.com +zyjoygame.com +zyjyyun.com +zyjz-sh.com +zykjgame.com +zyku.net +zyl.me +zyloushi.com +zymc1.com +zymkcdn.com +zymreal.com +zymxp.com +zyoffice.com +zyoogame.com +zyops.com +zyou100.com +zyoung.me +zyplayer.com +zyq366.com +zyqc.cc +zyqccs.com +zyrj.org +zyrmw.com +zyrykbiandao.com +zys.me +zysheji.net +zyt8.com +zytuozhan.com +zytxgame.com +zyucan.com +zyue.com +zyw1040.com +zywxpress.com +zyxr.com +zyxuan.org +zyxzcm.com +zyyda.com +zyyfy.com +zyzaojiao.com +zyzg.com +zyzhan.com +zyzhyl.com +zyzj.org +zyzj360.com +zyzjmz.org +zyzkb.net +zyzw.com +zyzxgy.com +zyzxs.com +zz-news.com +zz-qq.com +zz-zigzag.com +zz21.com +zz314.com +zz618.com +zz91.com +zz96269.com +zzay.net +zzbaike.com +zzbbs.com +zzbd.org +zzbq.org +zzbs.org +zzbtv.com +zzcangzhou.com +zzccom.com +zzccyq1.com +zzcm1.com +zzcm2.com +zzcm5.com +zzcodes.net +zzcomm.com +zzcszx.com +zzd.pub +zzdengji.com +zzdh.net +zzdz666.com +zzect.com +zzenglish.net +zzetao.com +zzfcj.com +zzfcw.com +zzfly.net +zzfriend.com +zzgcjyzx.com +zzgdapp.com +zzgjj.com +zzgm.net +zzgryl.com +zzhaofang.com +zzhaoz.com +zzhlzc.com +zzhybz.com +zzidc.com +zzit.org +zzjaz.com +zzjc5.com +zzjunzhi.com +zzjunzhuo.com +zzjxbg.com +zzkiss000.com +zzliot.com +zzllq.com +zzloop.com +zzlz.net +zzm8.com +zzmama.net +zzmscg.com +zzmyt.com +zznah001.com +zzobokj.com +zzpd8.com +zzpuke.com +zzqklm.com +zzqxs.com +zzrbl.com +zzrseng.com +zzsf.com +zzsggzy.com +zzsgjj.com +zzssjx.com +zzsteel.com +zzstep.com +zzt9.com +zztline.com +zztoutiao.net +zztxkj.com +zzvips.com +zzwanshou.com +zzwenxue.com +zzwhtg.com +zzwljc.com +zzwms.com +zzwqqx.com +zzwro.com +zzxdc.com +zzxw.net +zzxy.net +zzyas.com +zzyb.org +zzydb.com +zzyedu.org +zzyichen.net +zzyilou.com +zzyiquan.com +zzyjs.com +zzyjsmba.com +zzyyrl.com +zzyzan.com +zzz4.com +zzzdm.com +zzzj.com +zzzla.com +zzzsxx.com +zzzyb.com +zzzyk.com +zzzzaaaa.com +zzzzhong.com +zzzzmall.com +zzzzzz.me diff --git a/luci-app-passwall/root/usr/share/passwall/rules/chnroute b/luci-app-passwall/root/usr/share/passwall/rules/chnroute new file mode 100644 index 00000000..188c168a --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/chnroute @@ -0,0 +1,8625 @@ +1.0.1.0/24 +1.0.2.0/23 +1.0.32.0/19 +1.0.8.0/21 +1.1.0.0/24 +1.1.10.0/23 +1.1.12.0/22 +1.1.16.0/20 +1.1.2.0/23 +1.1.32.0/19 +1.1.4.0/22 +1.1.8.0/24 +1.1.9.0/24 +1.10.0.0/21 +1.10.11.0/24 +1.10.12.0/22 +1.10.16.0/20 +1.10.32.0/19 +1.10.64.0/18 +1.10.8.0/23 +1.116.0.0/15 +1.118.0.0/16 +1.119.0.0/17 +1.119.128.0/17 +1.12.0.0/14 +1.180.0.0/14 +1.184.0.0/15 +1.188.0.0/14 +1.192.0.0/13 +1.2.0.0/23 +1.2.10.0/23 +1.2.12.0/22 +1.2.16.0/20 +1.2.2.0/24 +1.2.32.0/19 +1.2.4.0/24 +1.2.5.0/24 +1.2.6.0/23 +1.2.64.0/18 +1.2.8.0/24 +1.2.9.0/24 +1.202.0.0/15 +1.204.0.0/14 +1.24.0.0/13 +1.3.0.0/16 +1.4.1.0/24 +1.4.16.0/20 +1.4.2.0/23 +1.4.32.0/19 +1.4.4.0/24 +1.4.5.0/24 +1.4.6.0/23 +1.4.64.0/18 +1.4.8.0/21 +1.45.0.0/16 +1.48.0.0/15 +1.50.0.0/16 +1.51.0.0/16 +1.56.0.0/13 +1.68.0.0/14 +1.8.0.0/16 +1.80.0.0/13 +1.88.0.0/14 +1.92.0.0/15 +1.94.0.0/15 +101.0.0.0/22 +101.1.0.0/22 +101.101.100.0/24 +101.101.102.0/23 +101.101.104.0/21 +101.101.112.0/20 +101.101.64.0/19 +101.102.100.0/23 +101.102.102.0/24 +101.102.104.0/21 +101.102.112.0/20 +101.102.64.0/19 +101.104.0.0/14 +101.110.116.0/22 +101.110.120.0/21 +101.110.64.0/19 +101.110.96.0/20 +101.120.0.0/14 +101.124.0.0/15 +101.126.0.0/16 +101.128.0.0/22 +101.128.16.0/20 +101.128.32.0/19 +101.128.8.0/21 +101.129.0.0/16 +101.130.0.0/15 +101.132.0.0/14 +101.144.0.0/12 +101.16.0.0/12 +101.192.0.0/14 +101.196.0.0/16 +101.197.0.0/16 +101.198.0.0/15 +101.2.172.0/22 +101.200.0.0/15 +101.203.128.0/19 +101.203.160.0/21 +101.203.172.0/22 +101.203.176.0/20 +101.204.0.0/14 +101.224.0.0/13 +101.232.0.0/15 +101.234.64.0/21 +101.234.76.0/22 +101.234.80.0/20 +101.234.96.0/19 +101.236.0.0/14 +101.240.0.0/14 +101.244.0.0/16 +101.245.0.0/16 +101.246.0.0/15 +101.248.0.0/15 +101.251.0.0/22 +101.251.128.0/17 +101.251.16.0/20 +101.251.32.0/19 +101.251.64.0/18 +101.251.8.0/21 +101.252.0.0/15 +101.254.0.0/16 +101.33.128.0/17 +101.34.0.0/15 +101.36.0.0/18 +101.36.128.0/17 +101.36.64.0/19 +101.37.0.0/16 +101.38.0.0/15 +101.4.0.0/14 +101.40.0.0/15 +101.42.0.0/15 +101.45.0.0/16 +101.46.0.0/15 +101.48.0.0/15 +101.50.12.0/22 +101.50.56.0/22 +101.50.8.0/22 +101.52.0.0/16 +101.53.100.0/22 +101.54.0.0/16 +101.55.224.0/21 +101.64.0.0/13 +101.72.0.0/14 +101.76.0.0/15 +101.78.0.0/22 +101.78.32.0/19 +101.80.0.0/12 +101.96.0.0/21 +101.96.128.0/17 +101.96.16.0/20 +101.96.8.0/22 +101.99.96.0/19 +103.1.168.0/22 +103.1.20.0/22 +103.1.24.0/22 +103.1.72.0/22 +103.1.8.0/22 +103.1.88.0/22 +103.10.0.0/22 +103.10.140.0/22 +103.10.16.0/22 +103.10.84.0/22 +103.100.0.0/22 +103.100.116.0/22 +103.100.140.0/22 +103.100.144.0/22 +103.100.236.0/22 +103.100.240.0/22 +103.100.248.0/22 +103.100.252.0/22 +103.100.32.0/22 +103.100.40.0/22 +103.100.48.0/22 +103.100.52.0/22 +103.100.56.0/22 +103.100.60.0/22 +103.100.64.0/22 +103.100.68.0/22 +103.100.88.0/22 +103.101.12.0/22 +103.101.120.0/22 +103.101.124.0/22 +103.101.144.0/22 +103.101.148.0/22 +103.101.153.0/24 +103.101.180.0/22 +103.101.184.0/22 +103.101.28.0/22 +103.101.4.0/22 +103.101.60.0/22 +103.101.8.0/22 +103.102.168.0/22 +103.102.172.0/22 +103.102.180.0/22 +103.102.184.0/22 +103.102.188.0/22 +103.102.192.0/22 +103.102.196.0/22 +103.102.200.0/22 +103.102.208.0/22 +103.102.212.0/22 +103.102.76.0/22 +103.102.80.0/22 +103.103.12.0/22 +103.103.16.0/22 +103.103.176.0/22 +103.103.188.0/22 +103.103.200.0/22 +103.103.204.0/22 +103.103.220.0/22 +103.103.224.0/22 +103.103.228.0/22 +103.103.232.0/22 +103.103.248.0/22 +103.103.252.0/22 +103.103.36.0/22 +103.103.68.0/22 +103.103.72.0/22 +103.104.0.0/22 +103.104.104.0/22 +103.104.152.0/22 +103.104.168.0/22 +103.104.172.0/22 +103.104.188.0/22 +103.104.198.0/23 +103.104.252.0/22 +103.104.36.0/22 +103.104.4.0/22 +103.104.40.0/22 +103.104.64.0/22 +103.105.0.0/22 +103.105.116.0/22 +103.105.12.0/22 +103.105.132.0/22 +103.105.16.0/22 +103.105.180.0/22 +103.105.184.0/22 +103.105.200.0/22 +103.105.204.0/22 +103.105.220.0/22 +103.105.23.0/24 +103.105.4.0/22 +103.105.60.0/22 +103.106.120.0/22 +103.106.128.0/22 +103.106.132.0/22 +103.106.160.0/22 +103.106.188.0/22 +103.106.196.0/22 +103.106.202.0/23 +103.106.212.0/22 +103.106.244.0/22 +103.106.252.0/22 +103.106.36.0/22 +103.106.40.0/22 +103.106.44.0/22 +103.106.60.0/22 +103.106.68.0/22 +103.106.96.0/22 +103.107.0.0/22 +103.107.108.0/22 +103.107.164.0/22 +103.107.168.0/22 +103.107.188.0/22 +103.107.192.0/22 +103.107.208.0/22 +103.107.212.0/22 +103.107.216.0/22 +103.107.220.0/22 +103.107.28.0/22 +103.107.32.0/22 +103.107.44.0/22 +103.107.72.0/22 +103.107.8.0/24 +103.108.160.0/22 +103.108.164.0/22 +103.108.184.0/23 +103.108.188.0/23 +103.108.192.0/22 +103.108.196.0/22 +103.108.208.0/22 +103.108.212.0/22 +103.108.224.0/22 +103.108.244.0/22 +103.108.251.0/24 +103.108.52.0/22 +103.109.106.0/23 +103.109.20.0/22 +103.109.248.0/22 +103.109.48.0/22 +103.109.88.0/22 +103.11.16.0/22 +103.11.168.0/22 +103.11.180.0/22 +103.110.116.0/22 +103.110.127.0/24 +103.110.128.0/23 +103.110.132.0/22 +103.110.136.0/22 +103.110.152.0/22 +103.110.156.0/22 +103.110.188.0/22 +103.110.204.0/22 +103.110.80.0/23 +103.110.92.0/22 +103.111.172.0/22 +103.111.252.0/22 +103.111.64.0/22 +103.112.108.0/22 +103.112.112.0/22 +103.112.116.0/22 +103.112.140.0/22 +103.112.172.0/22 +103.112.184.0/22 +103.112.208.0/22 +103.112.28.0/22 +103.112.68.0/22 +103.112.72.0/22 +103.112.88.0/22 +103.112.92.0/22 +103.112.96.0/22 +103.113.144.0/22 +103.113.220.0/22 +103.113.232.0/22 +103.113.236.0/22 +103.113.4.0/22 +103.113.92.0/22 +103.114.100.0/22 +103.114.132.0/22 +103.114.148.0/22 +103.114.156.0/22 +103.114.176.0/22 +103.114.212.0/22 +103.114.236.0/22 +103.114.240.0/22 +103.114.28.0/22 +103.114.4.0/22 +103.114.68.0/22 +103.114.72.0/22 +103.115.120.0/22 +103.115.148.0/22 +103.115.16.0/22 +103.115.204.0/23 +103.115.248.0/22 +103.115.40.0/22 +103.115.44.0/22 +103.115.48.0/22 +103.115.52.0/22 +103.115.56.0/22 +103.115.60.0/22 +103.115.64.0/22 +103.115.68.0/22 +103.115.92.0/22 +103.116.120.0/22 +103.116.128.0/22 +103.116.132.0/23 +103.116.148.0/22 +103.116.184.0/22 +103.116.20.0/22 +103.116.206.0/23 +103.116.220.0/22 +103.116.224.0/22 +103.116.228.0/22 +103.116.40.0/22 +103.116.64.0/22 +103.116.72.0/22 +103.116.76.0/22 +103.116.92.0/22 +103.117.132.0/22 +103.117.136.0/22 +103.117.16.0/22 +103.117.188.0/22 +103.117.220.0/22 +103.117.72.0/22 +103.117.88.0/22 +103.118.173.0/24 +103.118.192.0/22 +103.118.196.0/22 +103.118.200.0/22 +103.118.204.0/22 +103.118.208.0/22 +103.118.212.0/22 +103.118.216.0/22 +103.118.220.0/22 +103.118.240.0/22 +103.118.244.0/22 +103.118.248.0/22 +103.118.252.0/22 +103.118.36.0/22 +103.118.52.0/22 +103.118.56.0/22 +103.118.60.0/22 +103.118.64.0/22 +103.118.68.0/22 +103.118.72.0/22 +103.118.88.0/22 +103.119.0.0/22 +103.119.104.0/22 +103.119.115.0/24 +103.119.12.0/22 +103.119.156.0/22 +103.119.16.0/22 +103.119.180.0/22 +103.119.200.0/22 +103.119.224.0/22 +103.119.28.0/22 +103.119.44.0/22 +103.12.136.0/22 +103.12.184.0/22 +103.12.232.0/22 +103.12.32.0/22 +103.12.68.0/22 +103.12.92.0/22 +103.120.100.0/22 +103.120.140.0/22 +103.120.196.0/22 +103.120.224.0/22 +103.120.52.0/22 +103.120.72.0/22 +103.120.88.0/22 +103.120.96.0/22 +103.121.160.0/22 +103.121.164.0/22 +103.121.250.0/24 +103.121.252.0/22 +103.121.52.0/22 +103.121.92.0/22 +103.122.176.0/22 +103.122.192.0/22 +103.122.240.0/22 +103.122.48.0/22 +103.123.116.0/22 +103.123.160.0/22 +103.123.176.0/22 +103.123.200.0/22 +103.123.204.0/22 +103.123.208.0/22 +103.123.212.0/22 +103.123.4.0/22 +103.123.56.0/22 +103.123.88.0/22 +103.123.92.0/22 +103.124.212.0/22 +103.124.216.0/22 +103.124.24.0/22 +103.124.48.0/22 +103.124.64.0/22 +103.125.132.0/22 +103.125.164.0/22 +103.125.196.0/22 +103.125.20.0/22 +103.125.236.0/22 +103.125.248.0/22 +103.125.44.0/22 +103.126.0.0/22 +103.126.100.0/22 +103.126.124.0/22 +103.126.128.0/22 +103.126.132.0/22 +103.126.16.0/22 +103.126.208.0/22 +103.126.44.0/22 +103.129.52.0/22 +103.13.12.0/22 +103.13.124.0/22 +103.13.144.0/22 +103.13.196.0/22 +103.13.220.0/22 +103.13.244.0/22 +103.130.132.0/22 +103.130.152.0/24 +103.130.160.0/22 +103.130.228.0/22 +103.131.152.0/22 +103.131.168.0/22 +103.131.176.0/22 +103.131.20.0/22 +103.131.224.0/22 +103.131.228.0/22 +103.131.240.0/22 +103.131.36.0/22 +103.132.104.0/22 +103.132.108.0/22 +103.132.112.0/22 +103.132.116.0/22 +103.132.120.0/22 +103.132.160.0/22 +103.132.164.0/22 +103.132.188.0/22 +103.132.208.0/22 +103.132.212.0/22 +103.132.234.0/23 +103.132.60.0/22 +103.132.64.0/22 +103.132.68.0/22 +103.132.72.0/22 +103.132.76.0/22 +103.132.80.0/22 +103.133.12.0/22 +103.133.128.0/22 +103.133.136.0/22 +103.133.176.0/22 +103.133.232.0/22 +103.133.40.0/22 +103.134.12.0/24 +103.134.196.0/22 +103.135.124.0/22 +103.135.148.0/22 +103.135.156.0/22 +103.135.160.0/22 +103.135.164.0/22 +103.135.176.0/22 +103.135.184.0/22 +103.135.192.0/22 +103.135.196.0/22 +103.135.236.0/22 +103.135.80.0/22 +103.136.128.0/22 +103.136.232.0/22 +103.137.136.0/23 +103.137.149.0/24 +103.137.180.0/22 +103.137.236.0/22 +103.137.58.0/23 +103.137.60.0/24 +103.137.76.0/22 +103.138.12.0/23 +103.138.134.0/23 +103.138.156.0/23 +103.138.2.0/23 +103.138.208.0/23 +103.138.220.0/23 +103.138.246.0/23 +103.138.248.0/23 +103.138.80.0/22 +103.139.0.0/23 +103.139.113.0/24 +103.139.134.0/23 +103.139.136.0/23 +103.139.172.0/23 +103.139.2.0/23 +103.139.204.0/23 +103.139.212.0/23 +103.139.22.0/23 +103.14.100.0/22 +103.14.132.0/22 +103.14.136.0/22 +103.14.156.0/22 +103.14.240.0/22 +103.14.84.0/22 +103.140.126.0/23 +103.140.14.0/23 +103.140.140.0/23 +103.140.144.0/23 +103.140.152.0/23 +103.140.192.0/23 +103.140.228.0/23 +103.140.70.0/23 +103.140.8.0/23 +103.141.10.0/23 +103.141.128.0/23 +103.141.186.0/23 +103.141.242.0/23 +103.141.58.0/23 +103.142.102.0/23 +103.142.122.0/23 +103.142.128.0/23 +103.142.140.0/23 +103.142.154.0/23 +103.142.156.0/23 +103.142.172.0/23 +103.142.180.0/23 +103.142.186.0/23 +103.142.190.0/23 +103.142.220.0/23 +103.142.230.0/24 +103.142.234.0/23 +103.142.238.0/23 +103.142.248.0/23 +103.142.28.0/23 +103.142.58.0/23 +103.142.82.0/23 +103.142.96.0/23 +103.143.120.0/23 +103.143.124.0/23 +103.143.132.0/23 +103.143.134.0/23 +103.143.16.0/23 +103.143.174.0/23 +103.143.18.0/23 +103.143.228.0/23 +103.143.31.0/24 +103.143.74.0/23 +103.144.108.0/23 +103.144.136.0/23 +103.144.148.0/23 +103.144.158.0/23 +103.144.240.0/23 +103.144.40.0/23 +103.144.52.0/23 +103.144.66.0/23 +103.144.70.0/23 +103.144.72.0/23 +103.145.106.0/23 +103.145.122.0/23 +103.145.188.0/23 +103.145.190.0/23 +103.145.38.0/23 +103.145.40.0/23 +103.145.42.0/23 +103.145.60.0/23 +103.145.72.0/23 +103.145.80.0/23 +103.145.86.0/23 +103.145.92.0/23 +103.145.94.0/23 +103.145.98.0/23 +103.146.124.0/23 +103.146.126.0/23 +103.146.138.0/23 +103.146.230.0/23 +103.146.236.0/23 +103.146.252.0/23 +103.146.6.0/23 +103.146.72.0/23 +103.146.88.0/23 +103.146.90.0/23 +103.147.12.0/23 +103.147.124.0/23 +103.147.198.0/23 +103.147.206.0/23 +103.148.174.0/23 +103.149.110.0/23 +103.149.132.0/23 +103.149.144.0/23 +103.149.156.0/23 +103.149.17.0/24 +103.149.181.0/24 +103.149.210.0/23 +103.149.214.0/23 +103.149.220.0/23 +103.149.242.0/23 +103.149.244.0/23 +103.149.246.0/23 +103.149.248.0/23 +103.149.44.0/23 +103.149.6.0/23 +103.15.16.0/22 +103.15.200.0/22 +103.15.4.0/22 +103.15.8.0/22 +103.15.96.0/22 +103.150.122.0/23 +103.150.126.0/23 +103.150.128.0/23 +103.150.130.0/23 +103.150.146.0/23 +103.150.164.0/23 +103.150.172.0/23 +103.150.180.0/23 +103.150.200.0/23 +103.150.210.0/23 +103.150.214.0/23 +103.150.216.0/23 +103.150.24.0/23 +103.150.244.0/23 +103.150.66.0/23 +103.150.72.0/23 +103.151.138.0/23 +103.151.142.0/23 +103.151.148.0/23 +103.151.150.0/23 +103.151.158.0/23 +103.151.178.0/23 +103.151.206.0/23 +103.151.216.0/23 +103.151.228.0/23 +103.151.4.0/23 +103.151.44.0/23 +103.152.112.0/23 +103.152.120.0/23 +103.152.122.0/23 +103.152.132.0/23 +103.152.14.0/23 +103.152.152.0/23 +103.152.168.0/23 +103.152.170.0/23 +103.152.186.0/23 +103.152.190.0/23 +103.152.192.0/23 +103.152.200.0/23 +103.152.208.0/23 +103.152.224.0/23 +103.152.226.0/23 +103.152.24.0/23 +103.152.246.0/23 +103.152.250.0/23 +103.152.28.0/23 +103.152.30.0/23 +103.152.56.0/23 +103.152.76.0/23 +103.152.98.0/23 +103.153.100.0/23 +103.153.114.0/23 +103.153.122.0/23 +103.153.128.0/23 +103.153.132.0/23 +103.153.138.0/23 +103.153.146.0/23 +103.153.160.0/23 +103.153.36.0/23 +103.153.4.0/23 +103.153.98.0/23 +103.154.162.0/23 +103.154.164.0/23 +103.154.168.0/23 +103.154.18.0/23 +103.154.242.0/23 +103.154.30.0/23 +103.154.32.0/23 +103.154.40.0/23 +103.154.66.0/23 +103.155.100.0/23 +103.155.110.0/23 +103.155.120.0/23 +103.155.14.0/23 +103.155.16.0/23 +103.155.214.0/23 +103.155.248.0/23 +103.155.34.0/23 +103.155.48.0/23 +103.155.76.0/23 +103.156.104.0/23 +103.156.158.0/23 +103.156.174.0/23 +103.156.186.0/23 +103.156.228.0/23 +103.156.24.0/23 +103.156.28.0/23 +103.156.68.0/23 +103.156.78.0/23 +103.157.138.0/23 +103.157.174.0/23 +103.157.212.0/23 +103.157.234.0/23 +103.157.254.0/23 +103.157.30.0/23 +103.158.0.0/23 +103.158.16.0/23 +103.158.190.0/23 +103.158.200.0/23 +103.158.224.0/23 +103.158.8.0/23 +103.159.122.0/23 +103.159.124.0/23 +103.159.134.0/23 +103.159.142.0/23 +103.159.80.0/23 +103.16.108.0/22 +103.16.124.0/22 +103.16.52.0/22 +103.16.80.0/22 +103.16.84.0/22 +103.16.88.0/22 +103.160.112.0/23 +103.160.114.0/23 +103.160.244.0/23 +103.160.254.0/23 +103.160.32.0/23 +103.160.34.0/23 +103.161.102.0/23 +103.161.138.0/23 +103.161.14.0/23 +103.161.208.0/23 +103.161.220.0/23 +103.161.254.0/23 +103.162.10.0/23 +103.162.116.0/23 +103.162.32.0/23 +103.162.38.0/23 +103.163.180.0/23 +103.163.28.0/23 +103.163.32.0/23 +103.163.46.0/23 +103.163.74.0/23 +103.164.178.0/23 +103.164.226.0/23 +103.164.32.0/23 +103.164.4.0/23 +103.164.40.0/23 +103.164.42.0/23 +103.164.64.0/23 +103.164.76.0/23 +103.165.110.0/23 +103.165.44.0/23 +103.165.52.0/23 +103.165.82.0/23 +103.166.138.0/23 +103.166.20.0/23 +103.166.242.0/23 +103.166.246.0/23 +103.166.50.0/23 +103.166.52.0/23 +103.166.54.0/23 +103.166.84.0/23 +103.167.0.0/23 +103.167.36.0/23 +103.168.170.0/23 +103.168.98.0/23 +103.169.108.0/23 +103.169.162.0/23 +103.169.202.0/23 +103.169.216.0/23 +103.169.50.0/23 +103.169.62.0/23 +103.17.120.0/22 +103.17.136.0/22 +103.17.160.0/22 +103.17.204.0/22 +103.17.228.0/22 +103.17.40.0/22 +103.17.64.0/22 +103.170.134.0/23 +103.170.210.0/23 +103.170.212.0/23 +103.170.4.0/23 +103.170.72.0/23 +103.171.166.0/23 +103.171.214.0/23 +103.171.32.0/23 +103.172.160.0/23 +103.172.191.0/24 +103.172.32.0/23 +103.173.102.0/23 +103.173.182.0/23 +103.173.184.0/23 +103.174.94.0/23 +103.175.114.0/23 +103.175.118.0/23 +103.175.14.0/23 +103.175.98.0/23 +103.176.222.0/23 +103.176.244.0/23 +103.176.52.0/23 +103.177.136.0/23 +103.177.162.0/23 +103.177.28.0/23 +103.177.44.0/23 +103.177.70.0/23 +103.178.240.0/23 +103.178.56.0/23 +103.179.76.0/23 +103.179.78.0/23 +103.18.192.0/22 +103.18.208.0/22 +103.18.212.0/22 +103.18.224.0/22 +103.180.108.0/23 +103.180.226.0/23 +103.181.164.0/23 +103.181.234.0/23 +103.183.122.0/23 +103.183.124.0/23 +103.183.26.0/23 +103.183.66.0/23 +103.19.12.0/22 +103.19.232.0/22 +103.19.40.0/22 +103.19.44.0/22 +103.19.64.0/22 +103.19.68.0/22 +103.19.72.0/22 +103.192.0.0/22 +103.192.100.0/22 +103.192.104.0/22 +103.192.108.0/22 +103.192.112.0/22 +103.192.12.0/22 +103.192.128.0/22 +103.192.132.0/22 +103.192.136.0/22 +103.192.140.0/22 +103.192.144.0/22 +103.192.16.0/22 +103.192.164.0/22 +103.192.188.0/22 +103.192.20.0/22 +103.192.208.0/22 +103.192.212.0/22 +103.192.216.0/22 +103.192.24.0/22 +103.192.252.0/22 +103.192.28.0/22 +103.192.4.0/22 +103.192.48.0/22 +103.192.52.0/22 +103.192.56.0/22 +103.192.8.0/22 +103.192.84.0/22 +103.192.88.0/22 +103.192.92.0/22 +103.192.96.0/22 +103.193.120.0/22 +103.193.140.0/22 +103.193.160.0/22 +103.193.188.0/22 +103.193.192.0/22 +103.193.212.0/22 +103.193.216.0/22 +103.193.220.0/22 +103.193.224.0/22 +103.193.228.0/22 +103.193.232.0/22 +103.193.236.0/22 +103.193.240.0/22 +103.193.40.0/22 +103.193.44.0/22 +103.194.16.0/22 +103.195.104.0/22 +103.195.112.0/22 +103.195.148.0/22 +103.195.152.0/22 +103.195.160.0/22 +103.196.168.0/22 +103.196.204.0/22 +103.196.64.0/22 +103.196.72.0/22 +103.196.88.0/22 +103.196.92.0/22 +103.196.96.0/22 +103.197.180.0/22 +103.197.228.0/22 +103.198.124.0/22 +103.198.156.0/22 +103.198.180.0/22 +103.198.196.0/22 +103.198.20.0/22 +103.198.216.0/22 +103.198.220.0/22 +103.198.224.0/22 +103.198.228.0/22 +103.198.232.0/22 +103.198.236.0/22 +103.198.240.0/22 +103.198.244.0/22 +103.198.60.0/22 +103.198.64.0/22 +103.198.72.0/22 +103.199.164.0/22 +103.199.196.0/22 +103.199.228.0/22 +103.199.248.0/22 +103.199.252.0/22 +103.2.108.0/22 +103.2.156.0/22 +103.2.164.0/22 +103.2.200.0/22 +103.2.204.0/22 +103.2.208.0/22 +103.2.212.0/22 +103.20.112.0/22 +103.20.12.0/22 +103.20.128.0/22 +103.20.160.0/22 +103.20.248.0/22 +103.20.32.0/22 +103.20.44.0/22 +103.20.68.0/22 +103.200.136.0/22 +103.200.140.0/22 +103.200.144.0/22 +103.200.148.0/22 +103.200.152.0/22 +103.200.156.0/22 +103.200.160.0/22 +103.200.164.0/22 +103.200.168.0/22 +103.200.172.0/22 +103.200.176.0/22 +103.200.180.0/22 +103.200.184.0/22 +103.200.188.0/22 +103.200.192.0/22 +103.200.220.0/22 +103.200.224.0/22 +103.200.228.0/22 +103.200.232.0/22 +103.200.236.0/22 +103.200.240.0/22 +103.200.244.0/22 +103.200.248.0/22 +103.200.252.0/22 +103.200.28.0/22 +103.200.52.0/22 +103.200.64.0/22 +103.200.68.0/22 +103.201.0.0/22 +103.201.100.0/22 +103.201.104.0/22 +103.201.108.0/22 +103.201.112.0/22 +103.201.116.0/22 +103.201.12.0/22 +103.201.120.0/22 +103.201.152.0/22 +103.201.156.0/22 +103.201.16.0/22 +103.201.160.0/22 +103.201.164.0/22 +103.201.168.0/22 +103.201.172.0/22 +103.201.176.0/22 +103.201.180.0/22 +103.201.184.0/22 +103.201.188.0/22 +103.201.192.0/22 +103.201.196.0/22 +103.201.20.0/22 +103.201.200.0/22 +103.201.204.0/22 +103.201.208.0/22 +103.201.212.0/22 +103.201.216.0/22 +103.201.220.0/22 +103.201.224.0/22 +103.201.228.0/22 +103.201.232.0/22 +103.201.236.0/22 +103.201.240.0/22 +103.201.244.0/22 +103.201.248.0/22 +103.201.252.0/22 +103.201.28.0/22 +103.201.32.0/22 +103.201.36.0/22 +103.201.4.0/22 +103.201.40.0/22 +103.201.44.0/22 +103.201.48.0/22 +103.201.52.0/22 +103.201.56.0/22 +103.201.60.0/22 +103.201.64.0/22 +103.201.76.0/22 +103.201.8.0/22 +103.201.80.0/22 +103.201.84.0/22 +103.201.88.0/22 +103.201.92.0/22 +103.201.96.0/22 +103.202.0.0/22 +103.202.100.0/22 +103.202.104.0/22 +103.202.108.0/22 +103.202.112.0/22 +103.202.116.0/22 +103.202.12.0/22 +103.202.120.0/22 +103.202.124.0/22 +103.202.128.0/22 +103.202.132.0/22 +103.202.136.0/22 +103.202.140.0/22 +103.202.144.0/22 +103.202.152.0/22 +103.202.156.0/22 +103.202.16.0/22 +103.202.160.0/22 +103.202.164.0/22 +103.202.168.0/22 +103.202.172.0/22 +103.202.176.0/22 +103.202.180.0/22 +103.202.184.0/22 +103.202.188.0/22 +103.202.192.0/22 +103.202.196.0/22 +103.202.20.0/22 +103.202.200.0/21 +103.202.212.0/22 +103.202.228.0/22 +103.202.236.0/22 +103.202.24.0/22 +103.202.240.0/22 +103.202.244.0/22 +103.202.248.0/22 +103.202.252.0/22 +103.202.28.0/22 +103.202.32.0/22 +103.202.36.0/22 +103.202.4.0/22 +103.202.40.0/22 +103.202.44.0/22 +103.202.56.0/22 +103.202.60.0/22 +103.202.64.0/22 +103.202.68.0/22 +103.202.72.0/22 +103.202.76.0/22 +103.202.8.0/22 +103.202.80.0/22 +103.202.84.0/22 +103.202.88.0/22 +103.202.92.0/22 +103.202.96.0/22 +103.203.0.0/22 +103.203.100.0/22 +103.203.104.0/22 +103.203.108.0/22 +103.203.112.0/22 +103.203.116.0/22 +103.203.12.0/22 +103.203.120.0/22 +103.203.124.0/22 +103.203.128.0/22 +103.203.140.0/22 +103.203.16.0/22 +103.203.164.0/22 +103.203.168.0/22 +103.203.192.0/22 +103.203.20.0/22 +103.203.200.0/22 +103.203.212.0/22 +103.203.216.0/22 +103.203.24.0/22 +103.203.28.0/22 +103.203.32.0/22 +103.203.4.0/22 +103.203.56.0/22 +103.203.8.0/22 +103.203.96.0/22 +103.204.112.0/22 +103.204.136.0/22 +103.204.140.0/22 +103.204.144.0/22 +103.204.148.0/22 +103.204.152.0/22 +103.204.196.0/22 +103.204.232.0/22 +103.204.236.0/22 +103.204.24.0/22 +103.204.72.0/22 +103.204.88.0/22 +103.205.108.0/22 +103.205.116.0/22 +103.205.120.0/22 +103.205.136.0/22 +103.205.162.0/24 +103.205.188.0/22 +103.205.192.0/22 +103.205.196.0/22 +103.205.200.0/22 +103.205.236.0/22 +103.205.248.0/22 +103.205.252.0/22 +103.205.4.0/22 +103.205.40.0/22 +103.205.44.0/22 +103.205.52.0/22 +103.205.8.0/22 +103.206.0.0/22 +103.206.148.0/22 +103.206.44.0/22 +103.207.104.0/22 +103.207.184.0/22 +103.207.188.0/22 +103.207.192.0/22 +103.207.196.0/22 +103.207.200.0/22 +103.207.204.0/22 +103.207.208.0/22 +103.207.212.0/22 +103.207.220.0/22 +103.207.228.0/22 +103.207.232.0/22 +103.207.48.0/22 +103.208.12.0/22 +103.208.16.0/22 +103.208.28.0/22 +103.208.40.0/22 +103.208.44.0/22 +103.208.48.0/22 +103.209.112.0/22 +103.209.136.0/22 +103.209.200.0/22 +103.209.208.0/22 +103.209.216.0/22 +103.21.112.0/22 +103.21.116.0/22 +103.21.136.0/22 +103.21.140.0/22 +103.21.176.0/22 +103.21.208.0/22 +103.21.240.0/22 +103.210.0.0/22 +103.210.156.0/22 +103.210.160.0/22 +103.210.164.0/22 +103.210.168.0/22 +103.210.172.0/22 +103.210.176.0/22 +103.210.180.0/22 +103.210.184.0/22 +103.210.188.0/22 +103.210.216.0/22 +103.210.96.0/22 +103.211.100.0/22 +103.211.156.0/22 +103.211.164.0/22 +103.211.192.0/22 +103.211.220.0/22 +103.211.224.0/22 +103.211.248.0/22 +103.211.44.0/22 +103.211.96.0/22 +103.212.0.0/22 +103.212.100.0/22 +103.212.104.0/22 +103.212.108.0/22 +103.212.12.0/22 +103.212.148.0/22 +103.212.164.0/22 +103.212.196.0/22 +103.212.200.0/22 +103.212.228.0/22 +103.212.252.0/22 +103.212.32.0/22 +103.212.4.0/22 +103.212.44.0/22 +103.212.48.0/22 +103.212.8.0/22 +103.212.84.0/22 +103.213.132.0/22 +103.213.136.0/22 +103.213.140.0/22 +103.213.144.0/22 +103.213.148.0/22 +103.213.152.0/22 +103.213.156.0/22 +103.213.160.0/22 +103.213.164.0/22 +103.213.168.0/22 +103.213.172.0/22 +103.213.176.0/22 +103.213.180.0/22 +103.213.184.0/22 +103.213.188.0/22 +103.213.248.0/22 +103.213.40.0/22 +103.213.44.0/22 +103.213.48.0/22 +103.213.52.0/22 +103.213.56.0/22 +103.213.60.0/22 +103.213.64.0/22 +103.213.68.0/22 +103.213.72.0/22 +103.213.76.0/22 +103.213.80.0/22 +103.213.84.0/22 +103.213.88.0/22 +103.213.92.0/22 +103.213.96.0/22 +103.214.168.0/22 +103.214.212.0/22 +103.214.240.0/22 +103.214.244.0/22 +103.214.48.0/22 +103.214.84.0/22 +103.215.100.0/22 +103.215.104.0/22 +103.215.108.0/22 +103.215.116.0/22 +103.215.120.0/22 +103.215.140.0/22 +103.215.28.0/22 +103.215.32.0/22 +103.215.36.0/22 +103.215.44.0/22 +103.215.48.0/22 +103.216.108.0/22 +103.216.12.0/22 +103.216.136.0/22 +103.216.152.0/22 +103.216.16.0/22 +103.216.20.0/22 +103.216.224.0/22 +103.216.228.0/22 +103.216.24.0/22 +103.216.240.0/22 +103.216.244.0/22 +103.216.248.0/22 +103.216.252.0/22 +103.216.28.0/22 +103.216.32.0/22 +103.216.36.0/22 +103.216.4.0/22 +103.216.40.0/22 +103.216.44.0/22 +103.216.64.0/22 +103.216.8.0/22 +103.217.0.0/22 +103.217.12.0/22 +103.217.16.0/22 +103.217.168.0/22 +103.217.180.0/22 +103.217.184.0/22 +103.217.188.0/22 +103.217.192.0/22 +103.217.196.0/22 +103.217.20.0/22 +103.217.200.0/22 +103.217.204.0/22 +103.217.24.0/22 +103.217.28.0/22 +103.217.32.0/22 +103.217.36.0/22 +103.217.4.0/22 +103.217.40.0/22 +103.217.44.0/22 +103.217.48.0/22 +103.217.52.0/22 +103.217.56.0/22 +103.217.60.0/22 +103.217.8.0/22 +103.218.12.0/22 +103.218.16.0/22 +103.218.192.0/22 +103.218.196.0/22 +103.218.20.0/22 +103.218.200.0/22 +103.218.204.0/22 +103.218.208.0/22 +103.218.212.0/22 +103.218.216.0/22 +103.218.28.0/22 +103.218.32.0/22 +103.218.36.0/22 +103.218.40.0/22 +103.218.44.0/22 +103.218.48.0/22 +103.218.52.0/22 +103.218.56.0/22 +103.218.60.0/22 +103.218.64.0/22 +103.218.68.0/22 +103.218.72.0/22 +103.218.76.0/22 +103.218.8.0/22 +103.218.80.0/22 +103.218.84.0/22 +103.218.88.0/22 +103.218.92.0/22 +103.219.100.0/22 +103.219.176.0/22 +103.219.184.0/22 +103.219.24.0/22 +103.219.28.0/22 +103.219.32.0/22 +103.219.36.0/22 +103.219.64.0/22 +103.219.84.0/22 +103.219.88.0/22 +103.219.92.0/22 +103.219.96.0/22 +103.22.0.0/22 +103.22.100.0/22 +103.22.104.0/22 +103.22.108.0/22 +103.22.112.0/22 +103.22.116.0/22 +103.22.12.0/22 +103.22.120.0/22 +103.22.124.0/22 +103.22.16.0/22 +103.22.188.0/22 +103.22.20.0/22 +103.22.228.0/22 +103.22.24.0/22 +103.22.252.0/22 +103.22.28.0/22 +103.22.32.0/22 +103.22.36.0/22 +103.22.4.0/22 +103.22.40.0/22 +103.22.44.0/22 +103.22.48.0/22 +103.22.52.0/22 +103.22.56.0/22 +103.22.60.0/22 +103.22.64.0/22 +103.22.68.0/22 +103.22.72.0/22 +103.22.76.0/22 +103.22.8.0/22 +103.22.80.0/22 +103.22.84.0/22 +103.22.88.0/22 +103.22.92.0/22 +103.220.100.0/22 +103.220.104.0/22 +103.220.108.0/22 +103.220.116.0/22 +103.220.120.0/22 +103.220.124.0/22 +103.220.128.0/22 +103.220.132.0/22 +103.220.136.0/22 +103.220.140.0/22 +103.220.144.0/22 +103.220.148.0/22 +103.220.152.0/22 +103.220.160.0/22 +103.220.164.0/22 +103.220.168.0/22 +103.220.172.0/22 +103.220.176.0/22 +103.220.180.0/22 +103.220.184.0/22 +103.220.188.0/22 +103.220.192.0/22 +103.220.196.0/22 +103.220.200.0/22 +103.220.240.0/22 +103.220.244.0/22 +103.220.248.0/22 +103.220.252.0/22 +103.220.48.0/22 +103.220.52.0/22 +103.220.56.0/22 +103.220.60.0/22 +103.220.64.0/22 +103.220.92.0/22 +103.220.96.0/22 +103.221.0.0/22 +103.221.100.0/22 +103.221.104.0/22 +103.221.108.0/22 +103.221.112.0/22 +103.221.116.0/22 +103.221.12.0/22 +103.221.120.0/22 +103.221.124.0/22 +103.221.128.0/22 +103.221.132.0/22 +103.221.136.0/22 +103.221.140.0/22 +103.221.144.0/22 +103.221.148.0/22 +103.221.152.0/22 +103.221.156.0/22 +103.221.16.0/22 +103.221.160.0/22 +103.221.164.0/22 +103.221.168.0/22 +103.221.172.0/22 +103.221.176.0/22 +103.221.180.0/22 +103.221.184.0/22 +103.221.188.0/22 +103.221.192.0/22 +103.221.196.0/22 +103.221.20.0/22 +103.221.200.0/22 +103.221.204.0/22 +103.221.24.0/22 +103.221.28.0/22 +103.221.32.0/22 +103.221.36.0/22 +103.221.4.0/22 +103.221.40.0/22 +103.221.44.0/22 +103.221.48.0/22 +103.221.8.0/22 +103.221.88.0/22 +103.221.92.0/22 +103.221.96.0/22 +103.222.0.0/22 +103.222.100.0/22 +103.222.104.0/22 +103.222.108.0/22 +103.222.112.0/22 +103.222.116.0/22 +103.222.12.0/22 +103.222.120.0/22 +103.222.124.0/22 +103.222.128.0/22 +103.222.132.0/22 +103.222.136.0/22 +103.222.140.0/22 +103.222.144.0/22 +103.222.148.0/22 +103.222.152.0/22 +103.222.156.0/22 +103.222.16.0/22 +103.222.160.0/22 +103.222.164.0/22 +103.222.168.0/22 +103.222.172.0/22 +103.222.176.0/22 +103.222.180.0/22 +103.222.184.0/22 +103.222.188.0/22 +103.222.192.0/22 +103.222.196.0/22 +103.222.200.0/22 +103.222.204.0/22 +103.222.208.0/22 +103.222.212.0/22 +103.222.216.0/22 +103.222.220.0/22 +103.222.224.0/22 +103.222.228.0/22 +103.222.232.0/22 +103.222.24.0/22 +103.222.240.0/22 +103.222.244.0/22 +103.222.28.0/22 +103.222.32.0/22 +103.222.36.0/22 +103.222.4.0/22 +103.222.40.0/22 +103.222.44.0/22 +103.222.48.0/22 +103.222.52.0/22 +103.222.56.0/22 +103.222.60.0/22 +103.222.64.0/22 +103.222.68.0/22 +103.222.72.0/22 +103.222.76.0/22 +103.222.8.0/22 +103.222.80.0/22 +103.222.84.0/22 +103.222.88.0/22 +103.222.92.0/22 +103.222.96.0/22 +103.223.100.0/22 +103.223.104.0/22 +103.223.108.0/22 +103.223.112.0/22 +103.223.116.0/22 +103.223.120.0/22 +103.223.124.0/22 +103.223.128.0/22 +103.223.132.0/22 +103.223.140.0/22 +103.223.144.0/22 +103.223.148.0/22 +103.223.152.0/22 +103.223.156.0/22 +103.223.16.0/22 +103.223.160.0/22 +103.223.164.0/22 +103.223.168.0/22 +103.223.172.0/22 +103.223.176.0/22 +103.223.180.0/22 +103.223.188.0/22 +103.223.192.0/22 +103.223.196.0/22 +103.223.20.0/22 +103.223.200.0/22 +103.223.204.0/22 +103.223.208.0/22 +103.223.212.0/22 +103.223.216.0/22 +103.223.220.0/22 +103.223.224.0/22 +103.223.228.0/22 +103.223.232.0/22 +103.223.236.0/22 +103.223.24.0/22 +103.223.240.0/22 +103.223.244.0/22 +103.223.248.0/22 +103.223.252.0/22 +103.223.28.0/22 +103.223.32.0/22 +103.223.36.0/22 +103.223.40.0/22 +103.223.44.0/22 +103.223.48.0/22 +103.223.52.0/22 +103.223.56.0/22 +103.223.60.0/22 +103.223.64.0/22 +103.223.68.0/22 +103.223.72.0/22 +103.223.76.0/22 +103.223.80.0/22 +103.223.84.0/22 +103.223.88.0/22 +103.223.92.0/22 +103.223.96.0/22 +103.224.0.0/22 +103.224.220.0/22 +103.224.224.0/22 +103.224.228.0/22 +103.224.232.0/22 +103.224.40.0/22 +103.224.44.0/22 +103.224.60.0/22 +103.224.80.0/22 +103.225.84.0/22 +103.226.132.0/22 +103.226.156.0/22 +103.226.16.0/22 +103.226.180.0/22 +103.226.196.0/22 +103.226.40.0/22 +103.226.56.0/22 +103.226.60.0/22 +103.226.80.0/22 +103.227.100.0/22 +103.227.120.0/22 +103.227.132.0/22 +103.227.136.0/22 +103.227.196.0/22 +103.227.204.0/22 +103.227.212.0/22 +103.227.228.0/22 +103.227.48.0/22 +103.227.72.0/22 +103.227.76.0/22 +103.227.80.0/22 +103.228.12.0/22 +103.228.136.0/22 +103.228.160.0/22 +103.228.176.0/22 +103.228.204.0/22 +103.228.208.0/22 +103.228.228.0/22 +103.228.232.0/22 +103.228.88.0/22 +103.229.136.0/22 +103.229.148.0/22 +103.229.172.0/22 +103.229.20.0/22 +103.229.212.0/22 +103.229.216.0/22 +103.229.220.0/22 +103.229.228.0/22 +103.229.236.0/22 +103.229.240.0/22 +103.229.60.0/22 +103.23.160.0/22 +103.23.164.0/22 +103.23.176.0/22 +103.23.228.0/22 +103.23.56.0/22 +103.23.8.0/22 +103.230.0.0/22 +103.230.196.0/22 +103.230.200.0/22 +103.230.204.0/22 +103.230.212.0/22 +103.230.236.0/22 +103.230.28.0/22 +103.230.44.0/22 +103.230.96.0/22 +103.231.16.0/22 +103.231.180.0/22 +103.231.184.0/22 +103.231.20.0/22 +103.231.244.0/22 +103.231.64.0/22 +103.231.68.0/22 +103.232.144.0/22 +103.232.188.0/22 +103.232.212.0/22 +103.232.4.0/22 +103.233.104.0/22 +103.233.128.0/22 +103.233.136.0/22 +103.233.228.0/22 +103.233.4.0/22 +103.233.44.0/22 +103.233.52.0/22 +103.234.0.0/22 +103.234.128.0/22 +103.234.172.0/22 +103.234.180.0/22 +103.234.20.0/22 +103.234.244.0/22 +103.234.56.0/22 +103.235.128.0/22 +103.235.132.0/22 +103.235.136.0/22 +103.235.140.0/22 +103.235.144.0/22 +103.235.148.0/22 +103.235.16.0/22 +103.235.184.0/22 +103.235.192.0/22 +103.235.200.0/22 +103.235.220.0/22 +103.235.224.0/22 +103.235.228.0/22 +103.235.232.0/22 +103.235.236.0/22 +103.235.240.0/22 +103.235.244.0/22 +103.235.248.0/22 +103.235.252.0/22 +103.235.48.0/22 +103.235.56.0/22 +103.235.60.0/22 +103.235.80.0/22 +103.235.84.0/22 +103.236.0.0/22 +103.236.12.0/22 +103.236.120.0/22 +103.236.16.0/22 +103.236.184.0/22 +103.236.20.0/22 +103.236.220.0/22 +103.236.232.0/22 +103.236.24.0/22 +103.236.240.0/22 +103.236.244.0/22 +103.236.248.0/22 +103.236.252.0/22 +103.236.28.0/22 +103.236.32.0/22 +103.236.36.0/22 +103.236.4.0/22 +103.236.40.0/22 +103.236.44.0/22 +103.236.48.0/22 +103.236.52.0/22 +103.236.56.0/22 +103.236.60.0/22 +103.236.64.0/22 +103.236.68.0/22 +103.236.72.0/22 +103.236.76.0/22 +103.236.8.0/22 +103.236.80.0/22 +103.236.84.0/22 +103.236.88.0/22 +103.236.92.0/22 +103.236.96.0/22 +103.237.0.0/22 +103.237.12.0/22 +103.237.152.0/22 +103.237.176.0/22 +103.237.180.0/22 +103.237.184.0/22 +103.237.188.0/22 +103.237.192.0/22 +103.237.196.0/22 +103.237.200.0/22 +103.237.204.0/22 +103.237.208.0/22 +103.237.212.0/22 +103.237.216.0/22 +103.237.220.0/22 +103.237.224.0/22 +103.237.228.0/22 +103.237.232.0/22 +103.237.236.0/22 +103.237.24.0/22 +103.237.240.0/22 +103.237.244.0/22 +103.237.248.0/22 +103.237.252.0/22 +103.237.28.0/22 +103.237.4.0/22 +103.237.68.0/22 +103.237.8.0/22 +103.237.88.0/22 +103.238.0.0/22 +103.238.132.0/22 +103.238.140.0/22 +103.238.144.0/22 +103.238.16.0/22 +103.238.160.0/22 +103.238.164.0/22 +103.238.168.0/22 +103.238.172.0/22 +103.238.176.0/22 +103.238.180.0/22 +103.238.184.0/22 +103.238.188.0/22 +103.238.196.0/22 +103.238.20.0/22 +103.238.204.0/22 +103.238.24.0/22 +103.238.252.0/22 +103.238.28.0/22 +103.238.32.0/22 +103.238.36.0/22 +103.238.4.0/22 +103.238.40.0/22 +103.238.44.0/22 +103.238.48.0/22 +103.238.52.0/22 +103.238.56.0/22 +103.238.88.0/22 +103.238.92.0/22 +103.238.96.0/22 +103.239.0.0/22 +103.239.152.0/22 +103.239.156.0/22 +103.239.176.0/22 +103.239.180.0/22 +103.239.184.0/22 +103.239.192.0/22 +103.239.196.0/22 +103.239.204.0/22 +103.239.208.0/22 +103.239.224.0/22 +103.239.244.0/22 +103.239.44.0/22 +103.239.68.0/22 +103.24.116.0/22 +103.24.128.0/22 +103.24.144.0/22 +103.24.176.0/22 +103.24.184.0/22 +103.24.220.0/22 +103.24.228.0/22 +103.24.24.0/22 +103.24.248.0/22 +103.24.252.0/22 +103.240.124.0/22 +103.240.16.0/22 +103.240.172.0/22 +103.240.188.0/22 +103.240.244.0/22 +103.240.36.0/22 +103.240.72.0/22 +103.240.84.0/22 +103.241.12.0/22 +103.241.160.0/22 +103.241.184.0/22 +103.241.188.0/22 +103.241.220.0/22 +103.241.72.0/22 +103.241.92.0/22 +103.241.96.0/22 +103.242.128.0/22 +103.242.132.0/22 +103.242.160.0/22 +103.242.168.0/22 +103.242.172.0/22 +103.242.176.0/22 +103.242.200.0/22 +103.242.212.0/22 +103.242.220.0/22 +103.242.240.0/22 +103.242.64.0/22 +103.243.136.0/22 +103.243.252.0/22 +103.244.116.0/22 +103.244.16.0/22 +103.244.164.0/22 +103.244.232.0/22 +103.244.252.0/22 +103.244.58.0/23 +103.244.60.0/22 +103.244.64.0/22 +103.244.68.0/22 +103.244.72.0/22 +103.244.76.0/22 +103.244.80.0/22 +103.244.84.0/22 +103.245.124.0/22 +103.245.128.0/22 +103.245.23.0/24 +103.245.52.0/22 +103.245.60.0/22 +103.245.80.0/22 +103.246.12.0/22 +103.246.120.0/22 +103.246.124.0/22 +103.246.132.0/22 +103.246.152.0/22 +103.246.156.0/22 +103.246.8.0/22 +103.247.168.0/22 +103.247.172.0/22 +103.247.176.0/22 +103.247.200.0/22 +103.247.212.0/22 +103.248.0.0/23 +103.248.100.0/22 +103.248.124.0/22 +103.248.152.0/22 +103.248.168.0/22 +103.248.192.0/22 +103.248.212.0/22 +103.248.224.0/22 +103.248.64.0/22 +103.249.104.0/22 +103.249.12.0/22 +103.249.128.0/22 +103.249.136.0/22 +103.249.144.0/22 +103.249.164.0/22 +103.249.168.0/22 +103.249.172.0/22 +103.249.176.0/22 +103.249.188.0/22 +103.249.192.0/22 +103.249.244.0/22 +103.249.252.0/22 +103.249.52.0/22 +103.249.8.0/22 +103.25.148.0/22 +103.25.156.0/22 +103.25.20.0/22 +103.25.216.0/22 +103.25.24.0/22 +103.25.28.0/22 +103.25.32.0/22 +103.25.36.0/22 +103.25.40.0/22 +103.25.48.0/22 +103.25.64.0/22 +103.25.68.0/22 +103.25.8.0/23 +103.250.104.0/22 +103.250.124.0/22 +103.250.180.0/22 +103.250.192.0/22 +103.250.216.0/22 +103.250.224.0/22 +103.250.236.0/22 +103.250.248.0/22 +103.250.252.0/22 +103.250.32.0/22 +103.251.124.0/22 +103.251.128.0/22 +103.251.160.0/22 +103.251.192.0/22 +103.251.204.0/22 +103.251.240.0/22 +103.251.32.0/22 +103.251.84.0/22 +103.251.96.0/22 +103.252.104.0/22 +103.252.172.0/22 +103.252.204.0/22 +103.252.208.0/22 +103.252.232.0/22 +103.252.248.0/22 +103.252.28.0/22 +103.252.36.0/22 +103.252.64.0/22 +103.252.96.0/22 +103.253.204.0/22 +103.253.220.0/22 +103.253.224.0/22 +103.253.232.0/22 +103.253.4.0/22 +103.253.60.0/22 +103.254.112.0/22 +103.254.176.0/22 +103.254.188.0/22 +103.254.196.0/24 +103.254.20.0/22 +103.254.220.0/22 +103.254.64.0/22 +103.254.68.0/22 +103.254.72.0/22 +103.254.76.0/22 +103.254.8.0/22 +103.255.136.0/22 +103.255.140.0/22 +103.255.184.0/22 +103.255.200.0/22 +103.255.212.0/22 +103.255.228.0/22 +103.255.56.0/22 +103.255.68.0/22 +103.255.88.0/22 +103.255.92.0/22 +103.26.0.0/22 +103.26.132.0/22 +103.26.156.0/22 +103.26.160.0/22 +103.26.228.0/22 +103.26.240.0/22 +103.26.64.0/22 +103.26.76.0/22 +103.27.12.0/22 +103.27.184.0/22 +103.27.208.0/22 +103.27.212.0/22 +103.27.24.0/22 +103.27.240.0/22 +103.27.4.0/22 +103.27.56.0/22 +103.27.96.0/22 +103.28.184.0/22 +103.28.204.0/22 +103.28.212.0/22 +103.28.4.0/22 +103.28.8.0/22 +103.29.128.0/22 +103.29.132.0/22 +103.29.136.0/22 +103.29.16.0/22 +103.3.100.0/22 +103.3.104.0/22 +103.3.108.0/22 +103.3.112.0/22 +103.3.116.0/22 +103.3.120.0/22 +103.3.124.0/22 +103.3.128.0/22 +103.3.132.0/22 +103.3.136.0/22 +103.3.140.0/22 +103.3.148.0/22 +103.3.152.0/22 +103.3.156.0/22 +103.3.84.0/22 +103.3.88.0/22 +103.3.92.0/22 +103.3.96.0/22 +103.30.148.0/22 +103.30.20.0/22 +103.30.200.0/22 +103.30.228.0/22 +103.30.236.0/22 +103.30.96.0/22 +103.31.0.0/22 +103.31.148.0/22 +103.31.160.0/22 +103.31.168.0/22 +103.31.200.0/22 +103.31.236.0/22 +103.31.48.0/22 +103.31.52.0/22 +103.31.56.0/22 +103.31.60.0/22 +103.31.64.0/22 +103.31.68.0/22 +103.32.0.0/22 +103.32.100.0/22 +103.32.104.0/22 +103.32.108.0/22 +103.32.112.0/22 +103.32.116.0/22 +103.32.12.0/22 +103.32.120.0/22 +103.32.124.0/22 +103.32.128.0/22 +103.32.132.0/22 +103.32.136.0/22 +103.32.140.0/22 +103.32.144.0/22 +103.32.148.0/22 +103.32.152.0/22 +103.32.156.0/22 +103.32.16.0/22 +103.32.160.0/22 +103.32.164.0/22 +103.32.168.0/22 +103.32.172.0/22 +103.32.176.0/22 +103.32.180.0/22 +103.32.184.0/22 +103.32.188.0/22 +103.32.192.0/22 +103.32.196.0/22 +103.32.20.0/22 +103.32.200.0/22 +103.32.204.0/22 +103.32.208.0/22 +103.32.212.0/22 +103.32.216.0/22 +103.32.220.0/22 +103.32.224.0/22 +103.32.228.0/22 +103.32.232.0/22 +103.32.236.0/22 +103.32.24.0/22 +103.32.240.0/22 +103.32.244.0/22 +103.32.248.0/22 +103.32.252.0/22 +103.32.28.0/22 +103.32.32.0/22 +103.32.36.0/22 +103.32.4.0/22 +103.32.40.0/22 +103.32.44.0/22 +103.32.48.0/22 +103.32.52.0/22 +103.32.56.0/22 +103.32.60.0/22 +103.32.64.0/22 +103.32.68.0/22 +103.32.72.0/22 +103.32.76.0/22 +103.32.8.0/22 +103.32.80.0/22 +103.32.84.0/22 +103.32.88.0/22 +103.32.92.0/22 +103.32.96.0/22 +103.33.0.0/22 +103.33.100.0/22 +103.33.104.0/22 +103.33.108.0/22 +103.33.112.0/22 +103.33.116.0/22 +103.33.12.0/22 +103.33.120.0/22 +103.33.124.0/22 +103.33.128.0/22 +103.33.132.0/22 +103.33.136.0/22 +103.33.140.0/22 +103.33.144.0/22 +103.33.148.0/22 +103.33.152.0/22 +103.33.156.0/22 +103.33.16.0/22 +103.33.160.0/22 +103.33.164.0/22 +103.33.168.0/22 +103.33.172.0/22 +103.33.176.0/22 +103.33.180.0/22 +103.33.184.0/22 +103.33.188.0/22 +103.33.192.0/22 +103.33.196.0/22 +103.33.20.0/22 +103.33.200.0/22 +103.33.204.0/22 +103.33.208.0/22 +103.33.212.0/22 +103.33.216.0/22 +103.33.220.0/22 +103.33.224.0/22 +103.33.228.0/22 +103.33.232.0/22 +103.33.236.0/22 +103.33.24.0/22 +103.33.240.0/22 +103.33.244.0/22 +103.33.248.0/22 +103.33.252.0/22 +103.33.28.0/22 +103.33.32.0/22 +103.33.36.0/22 +103.33.4.0/22 +103.33.40.0/22 +103.33.44.0/22 +103.33.48.0/22 +103.33.52.0/22 +103.33.56.0/22 +103.33.60.0/22 +103.33.64.0/22 +103.33.68.0/22 +103.33.72.0/22 +103.33.76.0/22 +103.33.8.0/22 +103.33.80.0/22 +103.33.84.0/22 +103.33.88.0/22 +103.33.92.0/22 +103.33.96.0/22 +103.34.0.0/22 +103.34.100.0/22 +103.34.104.0/22 +103.34.108.0/22 +103.34.112.0/22 +103.34.116.0/22 +103.34.12.0/22 +103.34.120.0/22 +103.34.124.0/22 +103.34.128.0/22 +103.34.132.0/22 +103.34.136.0/22 +103.34.140.0/22 +103.34.144.0/22 +103.34.148.0/22 +103.34.152.0/22 +103.34.156.0/22 +103.34.16.0/22 +103.34.160.0/22 +103.34.164.0/22 +103.34.168.0/22 +103.34.172.0/22 +103.34.176.0/22 +103.34.180.0/22 +103.34.184.0/22 +103.34.188.0/22 +103.34.192.0/22 +103.34.196.0/22 +103.34.20.0/22 +103.34.200.0/22 +103.34.204.0/22 +103.34.208.0/22 +103.34.212.0/22 +103.34.216.0/22 +103.34.220.0/22 +103.34.224.0/22 +103.34.228.0/22 +103.34.232.0/22 +103.34.236.0/22 +103.34.24.0/22 +103.34.240.0/22 +103.34.244.0/22 +103.34.248.0/22 +103.34.252.0/22 +103.34.28.0/22 +103.34.32.0/22 +103.34.36.0/22 +103.34.4.0/22 +103.34.40.0/22 +103.34.44.0/22 +103.34.48.0/22 +103.34.52.0/22 +103.34.56.0/22 +103.34.60.0/22 +103.34.64.0/22 +103.34.68.0/22 +103.34.72.0/22 +103.34.76.0/22 +103.34.8.0/22 +103.34.80.0/22 +103.34.84.0/22 +103.34.88.0/22 +103.34.92.0/22 +103.34.96.0/22 +103.35.0.0/22 +103.35.104.0/22 +103.35.116.0/22 +103.35.12.0/22 +103.35.16.0/22 +103.35.180.0/22 +103.35.20.0/22 +103.35.200.0/22 +103.35.220.0/22 +103.35.24.0/22 +103.35.28.0/22 +103.35.32.0/22 +103.35.36.0/22 +103.35.4.0/22 +103.35.40.0/22 +103.35.44.0/22 +103.35.48.0/22 +103.35.8.0/22 +103.36.132.0/22 +103.36.136.0/22 +103.36.160.0/22 +103.36.164.0/22 +103.36.168.0/22 +103.36.172.0/22 +103.36.176.0/22 +103.36.180.0/22 +103.36.184.0/22 +103.36.188.0/22 +103.36.192.0/22 +103.36.196.0/22 +103.36.200.0/22 +103.36.204.0/22 +103.36.208.0/22 +103.36.212.0/22 +103.36.216.0/22 +103.36.220.0/22 +103.36.224.0/22 +103.36.228.0/22 +103.36.232.0/22 +103.36.236.0/22 +103.36.240.0/22 +103.36.244.0/22 +103.36.28.0/22 +103.36.36.0/22 +103.36.56.0/22 +103.36.60.0/22 +103.36.64.0/22 +103.36.72.0/22 +103.36.96.0/22 +103.37.100.0/22 +103.37.104.0/22 +103.37.12.0/22 +103.37.136.0/22 +103.37.140.0/22 +103.37.144.0/22 +103.37.148.0/22 +103.37.152.0/22 +103.37.156.0/22 +103.37.16.0/22 +103.37.160.0/22 +103.37.164.0/22 +103.37.172.0/22 +103.37.176.0/22 +103.37.188.0/22 +103.37.208.0/22 +103.37.212.0/22 +103.37.216.0/22 +103.37.220.0/22 +103.37.24.0/22 +103.37.248.0/22 +103.37.252.0/22 +103.37.44.0/22 +103.37.52.0/22 +103.37.56.0/22 +103.37.72.0/22 +103.38.0.0/22 +103.38.116.0/22 +103.38.132.0/22 +103.38.140.0/22 +103.38.224.0/22 +103.38.228.0/22 +103.38.232.0/22 +103.38.32.0/22 +103.38.40.0/22 +103.38.44.0/22 +103.38.56.0/22 +103.38.76.0/22 +103.38.84.0/22 +103.38.92.0/22 +103.38.96.0/22 +103.39.100.0/22 +103.39.104.0/22 +103.39.108.0/22 +103.39.160.0/22 +103.39.164.0/22 +103.39.168.0/22 +103.39.172.0/22 +103.39.176.0/22 +103.39.180.0/22 +103.39.184.0/22 +103.39.188.0/22 +103.39.200.0/22 +103.39.204.0/22 +103.39.208.0/22 +103.39.212.0/22 +103.39.216.0/22 +103.39.220.0/22 +103.39.224.0/22 +103.39.228.0/22 +103.39.232.0/22 +103.39.64.0/22 +103.39.88.0/22 +103.4.168.0/22 +103.4.184.0/22 +103.4.224.0/22 +103.4.56.0/22 +103.40.100.0/22 +103.40.12.0/22 +103.40.16.0/22 +103.40.192.0/22 +103.40.20.0/22 +103.40.212.0/22 +103.40.220.0/22 +103.40.228.0/22 +103.40.232.0/22 +103.40.236.0/22 +103.40.24.0/22 +103.40.240.0/22 +103.40.244.0/22 +103.40.248.0/22 +103.40.252.0/22 +103.40.28.0/22 +103.40.32.0/22 +103.40.36.0/22 +103.40.40.0/22 +103.40.44.0/22 +103.40.88.0/22 +103.41.0.0/22 +103.41.116.0/22 +103.41.140.0/22 +103.41.148.0/22 +103.41.152.0/22 +103.41.16.0/22 +103.41.160.0/22 +103.41.164.0/22 +103.41.220.0/22 +103.41.224.0/22 +103.41.228.0/22 +103.41.232.0/22 +103.41.52.0/22 +103.42.104.0/22 +103.42.180.0/22 +103.42.232.0/22 +103.42.24.0/22 +103.42.28.0/22 +103.42.32.0/22 +103.42.64.0/22 +103.42.68.0/22 +103.42.76.0/22 +103.42.8.0/22 +103.43.100.0/22 +103.43.104.0/22 +103.43.124.0/22 +103.43.16.0/22 +103.43.184.0/22 +103.43.192.0/22 +103.43.196.0/22 +103.43.208.0/22 +103.43.220.0/22 +103.43.224.0/22 +103.43.240.0/22 +103.43.84.0/22 +103.43.96.0/22 +103.44.120.0/22 +103.44.124.0/22 +103.44.132.0/22 +103.44.144.0/22 +103.44.168.0/22 +103.44.176.0/22 +103.44.180.0/22 +103.44.184.0/22 +103.44.188.0/22 +103.44.192.0/22 +103.44.196.0/22 +103.44.200.0/22 +103.44.204.0/22 +103.44.224.0/22 +103.44.236.0/22 +103.44.240.0/22 +103.44.244.0/22 +103.44.248.0/22 +103.44.252.0/22 +103.44.56.0/22 +103.44.80.0/22 +103.44.88.0/22 +103.45.0.0/22 +103.45.100.0/22 +103.45.104.0/22 +103.45.108.0/22 +103.45.112.0/22 +103.45.116.0/22 +103.45.12.0/22 +103.45.120.0/22 +103.45.124.0/22 +103.45.128.0/22 +103.45.132.0/22 +103.45.136.0/22 +103.45.140.0/22 +103.45.144.0/22 +103.45.148.0/22 +103.45.152.0/22 +103.45.156.0/22 +103.45.16.0/22 +103.45.160.0/22 +103.45.164.0/22 +103.45.168.0/22 +103.45.172.0/22 +103.45.176.0/22 +103.45.180.0/22 +103.45.184.0/22 +103.45.188.0/22 +103.45.192.0/22 +103.45.196.0/22 +103.45.20.0/22 +103.45.200.0/22 +103.45.204.0/22 +103.45.208.0/22 +103.45.212.0/22 +103.45.216.0/22 +103.45.220.0/22 +103.45.224.0/22 +103.45.24.0/22 +103.45.248.0/22 +103.45.28.0/22 +103.45.32.0/22 +103.45.36.0/22 +103.45.4.0/22 +103.45.40.0/22 +103.45.44.0/22 +103.45.48.0/22 +103.45.52.0/22 +103.45.56.0/22 +103.45.60.0/22 +103.45.72.0/22 +103.45.76.0/22 +103.45.8.0/22 +103.45.80.0/22 +103.45.84.0/22 +103.45.88.0/22 +103.45.92.0/22 +103.45.96.0/22 +103.46.0.0/22 +103.46.100.0/22 +103.46.104.0/22 +103.46.108.0/22 +103.46.112.0/22 +103.46.116.0/22 +103.46.12.0/22 +103.46.120.0/22 +103.46.124.0/22 +103.46.128.0/22 +103.46.132.0/22 +103.46.136.0/22 +103.46.152.0/22 +103.46.156.0/22 +103.46.16.0/22 +103.46.160.0/22 +103.46.164.0/22 +103.46.168.0/22 +103.46.172.0/22 +103.46.176.0/22 +103.46.180.0/22 +103.46.20.0/22 +103.46.24.0/22 +103.46.244.0/22 +103.46.248.0/22 +103.46.28.0/22 +103.46.32.0/22 +103.46.36.0/22 +103.46.40.0/22 +103.46.44.0/22 +103.46.48.0/22 +103.46.52.0/22 +103.46.56.0/22 +103.46.60.0/22 +103.46.64.0/22 +103.46.68.0/22 +103.46.72.0/22 +103.46.76.0/22 +103.46.80.0/22 +103.46.84.0/22 +103.46.88.0/22 +103.46.92.0/22 +103.46.96.0/22 +103.47.108.0/22 +103.47.116.0/22 +103.47.120.0/22 +103.47.136.0/22 +103.47.140.0/22 +103.47.20.0/22 +103.47.212.0/22 +103.47.36.0/22 +103.47.4.0/22 +103.47.40.0/22 +103.47.48.0/22 +103.47.80.0/22 +103.47.96.0/22 +103.48.144.0/22 +103.48.148.0/22 +103.48.152.0/22 +103.48.156.0/22 +103.48.202.0/23 +103.48.216.0/22 +103.48.220.0/22 +103.48.224.0/22 +103.48.228.0/22 +103.48.232.0/22 +103.48.236.0/22 +103.48.240.0/22 +103.48.244.0/22 +103.48.52.0/22 +103.48.92.0/22 +103.49.108.0/22 +103.49.12.0/22 +103.49.128.0/22 +103.49.176.0/22 +103.49.180.0/22 +103.49.196.0/22 +103.49.20.0/22 +103.49.72.0/22 +103.49.76.0/22 +103.49.92.0/22 +103.49.96.0/22 +103.5.152.0/22 +103.5.168.0/22 +103.5.192.0/22 +103.5.252.0/22 +103.5.36.0/22 +103.5.52.0/22 +103.5.56.0/22 +103.50.108.0/22 +103.50.112.0/22 +103.50.116.0/22 +103.50.120.0/22 +103.50.124.0/22 +103.50.132.0/22 +103.50.136.0/22 +103.50.140.0/22 +103.50.172.0/22 +103.50.176.0/22 +103.50.180.0/22 +103.50.184.0/22 +103.50.188.0/22 +103.50.192.0/22 +103.50.196.0/22 +103.50.200.0/22 +103.50.220.0/22 +103.50.224.0/22 +103.50.228.0/22 +103.50.232.0/22 +103.50.236.0/22 +103.50.240.0/22 +103.50.244.0/22 +103.50.248.0/22 +103.50.36.0/22 +103.50.44.0/22 +103.50.48.0/22 +103.50.52.0/22 +103.50.56.0/22 +103.50.60.0/22 +103.50.64.0/22 +103.50.68.0/22 +103.50.72.0/22 +103.52.100.0/22 +103.52.104.0/22 +103.52.160.0/22 +103.52.164.0/22 +103.52.172.0/22 +103.52.176.0/22 +103.52.184.0/22 +103.52.196.0/22 +103.52.40.0/22 +103.52.72.0/22 +103.52.76.0/22 +103.52.80.0/22 +103.52.84.0/22 +103.52.96.0/22 +103.53.100.0/22 +103.53.124.0/22 +103.53.128.0/22 +103.53.132.0/22 +103.53.136.0/22 +103.53.140.0/22 +103.53.144.0/22 +103.53.180.0/22 +103.53.204.0/22 +103.53.208.0/22 +103.53.212.0/22 +103.53.216.0/22 +103.53.236.0/22 +103.53.248.0/22 +103.53.64.0/22 +103.53.68.0/22 +103.53.92.0/22 +103.54.160.0/22 +103.54.164.0/22 +103.54.212.0/22 +103.54.240.0/22 +103.54.48.0/22 +103.54.8.0/22 +103.55.120.0/22 +103.55.152.0/22 +103.55.172.0/22 +103.55.204.0/22 +103.55.208.0/22 +103.55.228.0/22 +103.55.236.0/22 +103.55.24.0/22 +103.55.80.0/22 +103.56.100.0/22 +103.56.104.0/22 +103.56.140.0/22 +103.56.152.0/22 +103.56.16.0/22 +103.56.184.0/22 +103.56.20.0/22 +103.56.200.0/22 +103.56.32.0/22 +103.56.56.0/22 +103.56.60.0/22 +103.56.72.0/22 +103.56.76.0/22 +103.56.8.0/22 +103.57.12.0/22 +103.57.136.0/22 +103.57.196.0/22 +103.57.52.0/22 +103.57.56.0/22 +103.57.76.0/22 +103.58.24.0/22 +103.59.100.0/22 +103.59.112.0/22 +103.59.116.0/22 +103.59.120.0/22 +103.59.124.0/22 +103.59.128.0/22 +103.59.148.0/22 +103.59.164.0/22 +103.59.76.0/22 +103.6.108.0/22 +103.6.220.0/22 +103.6.228.0/22 +103.6.76.0/22 +103.60.164.0/22 +103.60.228.0/22 +103.60.236.0/22 +103.60.32.0/22 +103.60.44.0/22 +103.61.104.0/22 +103.61.140.0/22 +103.61.152.0/22 +103.61.156.0/22 +103.61.160.0/22 +103.61.172.0/22 +103.61.176.0/22 +103.61.188.0/22 +103.61.60.0/22 +103.62.100.0/22 +103.62.104.0/22 +103.62.108.0/22 +103.62.112.0/22 +103.62.116.0/22 +103.62.120.0/22 +103.62.124.0/22 +103.62.128.0/22 +103.62.132.0/22 +103.62.156.0/22 +103.62.160.0/22 +103.62.164.0/22 +103.62.168.0/22 +103.62.172.0/22 +103.62.176.0/22 +103.62.180.0/22 +103.62.184.0/22 +103.62.188.0/22 +103.62.192.0/22 +103.62.204.0/22 +103.62.208.0/22 +103.62.212.0/22 +103.62.216.0/22 +103.62.220.0/22 +103.62.224.0/22 +103.62.24.0/22 +103.62.52.0/22 +103.62.72.0/22 +103.62.76.0/22 +103.62.80.0/22 +103.62.84.0/22 +103.62.88.0/22 +103.62.96.0/22 +103.63.140.0/22 +103.63.144.0/22 +103.63.152.0/22 +103.63.160.0/22 +103.63.164.0/22 +103.63.168.0/22 +103.63.172.0/22 +103.63.176.0/22 +103.63.180.0/22 +103.63.184.0/22 +103.63.192.0/22 +103.63.196.0/22 +103.63.200.0/22 +103.63.204.0/22 +103.63.208.0/22 +103.63.240.0/22 +103.63.244.0/22 +103.63.248.0/22 +103.63.252.0/22 +103.63.32.0/22 +103.63.36.0/22 +103.63.40.0/22 +103.63.44.0/22 +103.63.48.0/22 +103.63.52.0/22 +103.63.56.0/22 +103.63.60.0/22 +103.63.64.0/22 +103.63.68.0/22 +103.63.72.0/22 +103.63.76.0/22 +103.63.80.0/22 +103.63.84.0/22 +103.63.88.0/22 +103.64.0.0/22 +103.64.100.0/22 +103.64.104.0/22 +103.64.108.0/22 +103.64.112.0/22 +103.64.116.0/22 +103.64.120.0/22 +103.64.124.0/22 +103.64.140.0/22 +103.64.144.0/22 +103.64.152.0/22 +103.64.156.0/22 +103.64.160.0/22 +103.64.164.0/22 +103.64.168.0/22 +103.64.172.0/22 +103.64.176.0/22 +103.64.180.0/22 +103.64.184.0/22 +103.64.188.0/22 +103.64.192.0/22 +103.64.196.0/22 +103.64.200.0/22 +103.64.204.0/22 +103.64.208.0/22 +103.64.212.0/22 +103.64.216.0/22 +103.64.220.0/22 +103.64.224.0/22 +103.64.228.0/22 +103.64.232.0/22 +103.64.236.0/22 +103.64.24.0/22 +103.64.240.0/22 +103.64.244.0/22 +103.64.248.0/22 +103.64.252.0/22 +103.64.28.0/22 +103.64.32.0/22 +103.64.36.0/22 +103.64.4.0/22 +103.64.40.0/22 +103.64.44.0/22 +103.64.48.0/22 +103.64.52.0/22 +103.64.56.0/22 +103.64.60.0/22 +103.64.64.0/22 +103.64.68.0/22 +103.64.72.0/22 +103.64.76.0/22 +103.64.80.0/22 +103.64.84.0/22 +103.64.88.0/22 +103.64.92.0/22 +103.64.96.0/22 +103.65.0.0/22 +103.65.100.0/22 +103.65.104.0/22 +103.65.108.0/22 +103.65.112.0/22 +103.65.12.0/22 +103.65.144.0/22 +103.65.148.0/22 +103.65.152.0/22 +103.65.156.0/22 +103.65.16.0/22 +103.65.160.0/22 +103.65.164.0/22 +103.65.168.0/22 +103.65.172.0/22 +103.65.36.0/22 +103.65.4.0/22 +103.65.40.0/22 +103.65.48.0/22 +103.65.52.0/22 +103.65.56.0/22 +103.65.60.0/22 +103.65.64.0/22 +103.65.68.0/22 +103.65.72.0/22 +103.65.76.0/22 +103.65.8.0/22 +103.65.80.0/22 +103.65.84.0/22 +103.65.88.0/22 +103.65.92.0/22 +103.66.108.0/22 +103.66.200.0/22 +103.66.216.0/22 +103.66.240.0/22 +103.66.244.0/22 +103.66.248.0/22 +103.66.252.0/22 +103.66.32.0/22 +103.66.40.0/22 +103.66.92.0/22 +103.67.0.0/22 +103.67.100.0/22 +103.67.104.0/22 +103.67.108.0/22 +103.67.112.0/22 +103.67.116.0/22 +103.67.120.0/22 +103.67.124.0/22 +103.67.128.0/22 +103.67.132.0/22 +103.67.136.0/22 +103.67.140.0/22 +103.67.144.0/22 +103.67.148.0/22 +103.67.172.0/22 +103.67.192.0/22 +103.67.212.0/22 +103.67.252.0/22 +103.67.4.0/22 +103.67.8.0/22 +103.68.100.0/22 +103.68.128.0/22 +103.68.192.0/22 +103.68.64.0/22 +103.68.88.0/22 +103.69.116.0/22 +103.69.132.0/22 +103.69.152.0/22 +103.69.16.0/22 +103.7.140.0/22 +103.7.212.0/22 +103.7.216.0/22 +103.7.220.0/22 +103.7.28.0/22 +103.70.148.0/22 +103.70.220.0/22 +103.70.224.0/22 +103.70.236.0/22 +103.70.252.0/22 +103.70.8.0/22 +103.71.0.0/22 +103.71.120.0/22 +103.71.124.0/22 +103.71.128.0/22 +103.71.144.0/22 +103.71.196.0/22 +103.71.200.0/22 +103.71.232.0/22 +103.71.48.0/22 +103.71.68.0/22 +103.71.72.0/22 +103.71.80.0/22 +103.71.84.0/22 +103.71.88.0/22 +103.72.112.0/22 +103.72.116.0/22 +103.72.12.0/22 +103.72.120.0/22 +103.72.124.0/22 +103.72.128.0/22 +103.72.132.0/22 +103.72.148.0/22 +103.72.16.0/22 +103.72.172.0/22 +103.72.180.0/22 +103.72.20.0/22 +103.72.224.0/22 +103.72.228.0/22 +103.72.232.0/22 +103.72.236.0/22 +103.72.24.0/22 +103.72.240.0/22 +103.72.244.0/22 +103.72.248.0/22 +103.72.252.0/22 +103.72.28.0/22 +103.72.32.0/22 +103.72.36.0/22 +103.72.40.0/22 +103.72.44.0/22 +103.72.48.0/22 +103.72.52.0/22 +103.73.0.0/22 +103.73.116.0/22 +103.73.12.0/22 +103.73.120.0/22 +103.73.128.0/22 +103.73.132.0/22 +103.73.136.0/22 +103.73.140.0/22 +103.73.144.0/22 +103.73.16.0/22 +103.73.168.0/22 +103.73.176.0/22 +103.73.20.0/22 +103.73.204.0/22 +103.73.208.0/22 +103.73.24.0/22 +103.73.240.0/22 +103.73.244.0/22 +103.73.248.0/22 +103.73.28.0/22 +103.73.4.0/22 +103.73.48.0/22 +103.73.8.0/22 +103.73.96.0/22 +103.74.124.0/22 +103.74.148.0/22 +103.74.152.0/22 +103.74.156.0/22 +103.74.204.0/22 +103.74.232.0/22 +103.74.24.0/22 +103.74.28.0/22 +103.74.32.0/22 +103.74.36.0/22 +103.74.40.0/22 +103.74.44.0/22 +103.74.48.0/22 +103.74.56.0/22 +103.74.60.0/22 +103.74.80.0/22 +103.75.104.0/22 +103.75.108.0/22 +103.75.112.0/22 +103.75.120.0/22 +103.75.128.0/22 +103.75.144.0/22 +103.75.152.0/22 +103.75.236.0/24 +103.75.88.0/22 +103.75.92.0/22 +103.76.216.0/22 +103.76.220.0/22 +103.76.224.0/22 +103.76.60.0/22 +103.76.64.0/22 +103.76.68.0/22 +103.76.72.0/22 +103.76.84.0/22 +103.76.92.0/22 +103.77.132.0/22 +103.77.148.0/22 +103.77.220.0/22 +103.77.28.0/22 +103.77.52.0/22 +103.77.56.0/22 +103.77.72.0/22 +103.77.88.0/22 +103.77.92.0/22 +103.78.124.0/22 +103.78.172.0/22 +103.78.176.0/22 +103.78.196.0/22 +103.78.228.0/22 +103.78.56.0/22 +103.78.60.0/22 +103.78.64.0/22 +103.78.68.0/22 +103.79.120.0/22 +103.79.136.0/22 +103.79.188.0/22 +103.79.192.0/22 +103.79.196.0/22 +103.79.200.0/22 +103.79.204.0/22 +103.79.208.0/22 +103.79.212.0/22 +103.79.24.0/22 +103.79.240.0/22 +103.79.28.0/22 +103.79.36.0/22 +103.79.40.0/22 +103.79.44.0/22 +103.79.52.0/22 +103.79.56.0/22 +103.79.60.0/22 +103.79.64.0/22 +103.79.68.0/22 +103.79.80.0/22 +103.79.84.0/22 +103.8.0.0/22 +103.8.108.0/22 +103.8.156.0/22 +103.8.200.0/22 +103.8.204.0/22 +103.8.220.0/22 +103.8.32.0/22 +103.8.4.0/22 +103.8.52.0/22 +103.8.68.0/22 +103.8.8.0/22 +103.80.176.0/22 +103.80.180.0/22 +103.80.184.0/22 +103.80.192.0/22 +103.80.200.0/22 +103.80.232.0/22 +103.80.24.0/22 +103.80.28.0/22 +103.80.44.0/22 +103.80.72.0/22 +103.81.120.0/22 +103.81.148.0/22 +103.81.16.0/22 +103.81.164.0/22 +103.81.168.0/22 +103.81.183.0/24 +103.81.184.0/22 +103.81.20.0/22 +103.81.200.0/22 +103.81.232.0/22 +103.81.4.0/22 +103.81.44.0/22 +103.81.48.0/22 +103.81.8.0/22 +103.81.96.0/22 +103.82.104.0/22 +103.82.224.0/22 +103.82.236.0/22 +103.82.52.0/22 +103.82.60.0/22 +103.82.68.0/22 +103.82.84.0/22 +103.83.112.0/22 +103.83.120.0/22 +103.83.180.0/22 +103.83.44.0/22 +103.83.52.0/22 +103.83.60.0/22 +103.83.64.0/22 +103.83.72.0/22 +103.84.0.0/22 +103.84.12.0/22 +103.84.136.0/22 +103.84.16.0/22 +103.84.20.0/22 +103.84.24.0/22 +103.84.28.0/22 +103.84.48.0/22 +103.84.64.0/22 +103.84.72.0/22 +103.84.92.0/22 +103.85.136.0/22 +103.85.144.0/22 +103.85.164.0/22 +103.85.168.0/22 +103.85.172.0/22 +103.85.176.0/22 +103.85.20.0/22 +103.85.224.0/22 +103.85.24.0/22 +103.85.44.0/22 +103.85.48.0/22 +103.85.84.0/22 +103.86.204.0/22 +103.86.208.0/22 +103.86.212.0/22 +103.86.216.0/22 +103.86.220.0/22 +103.86.224.0/22 +103.86.228.0/22 +103.86.232.0/22 +103.86.236.0/22 +103.86.240.0/22 +103.86.244.0/22 +103.86.248.0/22 +103.86.252.0/22 +103.86.28.0/22 +103.86.32.0/22 +103.86.44.0/22 +103.86.60.0/22 +103.86.80.0/22 +103.86.84.0/22 +103.87.0.0/22 +103.87.132.0/22 +103.87.180.0/22 +103.87.20.0/22 +103.87.224.0/22 +103.87.32.0/22 +103.87.4.0/22 +103.87.72.0/22 +103.87.96.0/22 +103.88.12.0/22 +103.88.16.0/22 +103.88.164.0/22 +103.88.176.0/22 +103.88.184.0/22 +103.88.188.0/22 +103.88.20.0/22 +103.88.212.0/22 +103.88.32.0/22 +103.88.36.0/22 +103.88.4.0/22 +103.88.60.0/22 +103.88.64.0/22 +103.88.72.0/22 +103.88.8.0/22 +103.88.96.0/22 +103.89.100.0/22 +103.89.104.0/22 +103.89.108.0/22 +103.89.112.0/22 +103.89.116.0/22 +103.89.148.0/22 +103.89.172.0/22 +103.89.184.0/22 +103.89.188.0/22 +103.89.192.0/22 +103.89.196.0/22 +103.89.200.0/22 +103.89.204.0/22 +103.89.208.0/22 +103.89.212.0/22 +103.89.216.0/22 +103.89.220.0/22 +103.89.224.0/22 +103.89.228.0/22 +103.89.28.0/22 +103.89.96.0/22 +103.9.108.0/22 +103.9.152.0/22 +103.9.192.0/22 +103.9.24.0/22 +103.9.248.0/22 +103.9.252.0/22 +103.9.8.0/22 +103.90.100.0/22 +103.90.104.0/22 +103.90.108.0/22 +103.90.112.0/22 +103.90.116.0/22 +103.90.120.0/22 +103.90.124.0/22 +103.90.128.0/22 +103.90.132.0/22 +103.90.152.0/22 +103.90.168.0/22 +103.90.173.0/24 +103.90.176.0/22 +103.90.188.0/22 +103.90.192.0/22 +103.90.52.0/22 +103.90.92.0/22 +103.91.108.0/22 +103.91.152.0/22 +103.91.176.0/22 +103.91.200.0/22 +103.91.208.0/22 +103.91.212.0/22 +103.91.219.0/24 +103.91.236.0/22 +103.91.252.0/22 +103.91.36.0/22 +103.91.40.0/22 +103.92.0.0/22 +103.92.108.0/22 +103.92.12.0/22 +103.92.124.0/22 +103.92.128.0/24 +103.92.132.0/22 +103.92.156.0/22 +103.92.164.0/22 +103.92.168.0/22 +103.92.172.0/22 +103.92.176.0/22 +103.92.180.0/22 +103.92.184.0/22 +103.92.188.0/22 +103.92.192.0/22 +103.92.236.0/22 +103.92.240.0/22 +103.92.244.0/22 +103.92.248.0/22 +103.92.252.0/22 +103.92.4.0/22 +103.92.48.0/22 +103.92.52.0/22 +103.92.56.0/22 +103.92.60.0/22 +103.92.64.0/22 +103.92.68.0/22 +103.92.72.0/22 +103.92.76.0/22 +103.92.8.0/22 +103.92.80.0/22 +103.92.86.0/24 +103.92.88.0/22 +103.93.0.0/22 +103.93.152.0/22 +103.93.180.0/22 +103.93.204.0/22 +103.93.28.0/22 +103.93.4.0/22 +103.93.76.0/22 +103.93.84.0/22 +103.94.116.0/22 +103.94.12.0/22 +103.94.160.0/22 +103.94.180.0/22 +103.94.20.0/22 +103.94.200.0/22 +103.94.28.0/22 +103.94.32.0/22 +103.94.36.0/22 +103.94.40.0/22 +103.94.44.0/22 +103.94.72.0/22 +103.94.88.0/22 +103.95.116.0/22 +103.95.128.0/22 +103.95.136.0/22 +103.95.140.0/22 +103.95.144.0/22 +103.95.152.0/22 +103.95.207.0/24 +103.95.216.0/22 +103.95.220.0/22 +103.95.224.0/22 +103.95.236.0/22 +103.95.240.0/22 +103.95.244.0/22 +103.95.248.0/22 +103.95.252.0/22 +103.95.28.0/22 +103.95.52.0/22 +103.95.64.0/22 +103.95.68.0/22 +103.95.88.0/22 +103.95.92.0/22 +103.96.0.0/22 +103.96.124.0/22 +103.96.136.0/22 +103.96.140.0/24 +103.96.148.0/22 +103.96.152.0/22 +103.96.156.0/22 +103.96.160.0/22 +103.96.164.0/22 +103.96.168.0/22 +103.96.172.0/22 +103.96.176.0/22 +103.96.180.0/22 +103.96.184.0/22 +103.96.188.0/22 +103.96.192.0/22 +103.96.196.0/22 +103.96.200.0/22 +103.96.204.0/22 +103.96.208.0/22 +103.96.212.0/22 +103.96.216.0/22 +103.96.8.0/22 +103.96.80.0/22 +103.97.112.0/22 +103.97.116.0/22 +103.97.12.0/22 +103.97.128.0/22 +103.97.144.0/22 +103.97.148.0/22 +103.97.16.0/22 +103.97.188.0/22 +103.97.192.0/22 +103.97.20.0/22 +103.97.228.0/23 +103.97.24.0/22 +103.97.28.0/22 +103.97.32.0/22 +103.97.36.0/22 +103.97.40.0/22 +103.97.56.0/22 +103.97.60.0/22 +103.97.64.0/22 +103.97.68.0/22 +103.97.72.0/22 +103.97.8.0/22 +103.97.80.0/22 +103.98.100.0/22 +103.98.124.0/22 +103.98.136.0/22 +103.98.140.0/22 +103.98.144.0/22 +103.98.164.0/22 +103.98.168.0/22 +103.98.180.0/22 +103.98.196.0/22 +103.98.216.0/22 +103.98.220.0/22 +103.98.224.0/22 +103.98.228.0/22 +103.98.232.0/22 +103.98.240.0/22 +103.98.244.0/22 +103.98.248.0/22 +103.98.252.0/22 +103.98.28.0/23 +103.98.40.0/22 +103.98.44.0/22 +103.98.48.0/22 +103.98.56.0/22 +103.98.80.0/22 +103.98.88.0/22 +103.98.92.0/22 +103.98.96.0/22 +103.99.104.0/22 +103.99.116.0/22 +103.99.120.0/22 +103.99.152.0/22 +103.99.220.0/22 +103.99.232.0/22 +103.99.236.0/22 +103.99.40.0/23 +103.99.52.0/22 +103.99.56.0/22 +103.99.60.0/22 +103.99.76.0/22 +106.0.0.0/24 +106.0.16.0/20 +106.0.2.0/23 +106.0.4.0/22 +106.0.44.0/22 +106.0.64.0/18 +106.0.8.0/21 +106.108.0.0/14 +106.11.0.0/16 +106.112.0.0/13 +106.12.0.0/14 +106.120.0.0/13 +106.16.0.0/12 +106.2.0.0/15 +106.224.0.0/12 +106.32.0.0/12 +106.4.0.0/14 +106.48.0.0/15 +106.50.0.0/16 +106.52.0.0/14 +106.56.0.0/13 +106.74.0.0/16 +106.75.0.0/16 +106.8.0.0/15 +106.80.0.0/12 +109.244.0.0/16 +110.152.0.0/14 +110.156.0.0/15 +110.16.0.0/14 +110.165.32.0/19 +110.166.0.0/15 +110.172.192.0/18 +110.173.0.0/19 +110.173.192.0/19 +110.173.32.0/20 +110.173.64.0/19 +110.173.96.0/19 +110.176.0.0/13 +110.184.0.0/13 +110.192.0.0/11 +110.228.0.0/14 +110.232.32.0/19 +110.236.0.0/15 +110.240.0.0/12 +110.34.40.0/22 +110.34.44.0/22 +110.40.0.0/14 +110.44.12.0/22 +110.44.144.0/20 +110.48.0.0/16 +110.51.0.0/16 +110.52.0.0/15 +110.56.0.0/13 +110.6.0.0/15 +110.64.0.0/15 +110.72.0.0/15 +110.75.0.0/17 +110.75.128.0/19 +110.75.160.0/19 +110.75.192.0/18 +110.76.0.0/19 +110.76.132.0/22 +110.76.156.0/22 +110.76.184.0/22 +110.76.192.0/18 +110.76.32.0/19 +110.77.0.0/17 +110.80.0.0/13 +110.88.0.0/14 +110.92.68.0/22 +110.93.32.0/19 +110.94.0.0/15 +110.96.0.0/11 +111.0.0.0/10 +111.112.0.0/15 +111.114.0.0/15 +111.116.0.0/15 +111.118.200.0/21 +111.119.128.0/19 +111.119.64.0/18 +111.120.0.0/14 +111.124.0.0/16 +111.126.0.0/15 +111.128.0.0/11 +111.160.0.0/13 +111.170.0.0/16 +111.172.0.0/14 +111.176.0.0/13 +111.186.0.0/15 +111.192.0.0/12 +111.208.0.0/14 +111.212.0.0/14 +111.221.128.0/17 +111.221.28.0/24 +111.222.0.0/16 +111.223.12.0/22 +111.223.16.0/22 +111.223.240.0/22 +111.223.248.0/22 +111.223.4.0/22 +111.223.8.0/22 +111.224.0.0/14 +111.228.0.0/14 +111.235.156.0/22 +111.235.160.0/19 +111.235.96.0/19 +111.66.0.0/16 +111.67.192.0/20 +111.68.64.0/19 +111.72.0.0/13 +111.85.0.0/16 +111.91.192.0/19 +111.92.248.0/22 +111.92.252.0/22 +112.0.0.0/10 +112.100.0.0/14 +112.109.128.0/17 +112.111.0.0/16 +112.112.0.0/14 +112.116.0.0/15 +112.122.0.0/15 +112.124.0.0/14 +112.128.0.0/14 +112.132.0.0/16 +112.137.48.0/21 +112.192.0.0/14 +112.224.0.0/11 +112.64.0.0/15 +112.66.0.0/15 +112.73.0.0/16 +112.74.0.0/15 +112.80.0.0/13 +112.88.0.0/13 +112.96.0.0/15 +112.98.0.0/15 +113.0.0.0/13 +113.11.192.0/19 +113.112.0.0/13 +113.12.0.0/14 +113.120.0.0/13 +113.128.0.0/15 +113.130.112.0/21 +113.130.96.0/20 +113.132.0.0/14 +113.136.0.0/13 +113.16.0.0/15 +113.18.0.0/16 +113.194.0.0/15 +113.197.100.0/22 +113.200.0.0/15 +113.202.0.0/16 +113.204.0.0/14 +113.208.128.0/17 +113.208.96.0/19 +113.209.0.0/16 +113.21.232.0/22 +113.21.236.0/22 +113.212.0.0/18 +113.212.100.0/22 +113.212.184.0/21 +113.212.88.0/22 +113.213.0.0/17 +113.214.0.0/15 +113.218.0.0/15 +113.220.0.0/14 +113.224.0.0/12 +113.24.0.0/14 +113.240.0.0/13 +113.248.0.0/14 +113.31.0.0/16 +113.44.0.0/14 +113.48.0.0/14 +113.52.160.0/19 +113.52.228.0/22 +113.54.0.0/15 +113.56.0.0/15 +113.58.0.0/16 +113.59.0.0/17 +113.59.224.0/22 +113.62.0.0/15 +113.64.0.0/11 +113.8.0.0/15 +113.96.0.0/12 +114.104.0.0/14 +114.110.0.0/20 +114.110.64.0/18 +114.111.0.0/19 +114.111.160.0/19 +114.112.0.0/14 +114.116.0.0/16 +114.117.0.0/17 +114.117.128.0/17 +114.118.0.0/16 +114.119.0.0/17 +114.119.192.0/21 +114.119.200.0/22 +114.119.204.0/22 +114.119.208.0/20 +114.119.224.0/19 +114.132.0.0/16 +114.135.0.0/16 +114.138.0.0/15 +114.141.128.0/18 +114.141.64.0/21 +114.141.80.0/22 +114.141.84.0/22 +114.196.0.0/15 +114.198.248.0/21 +114.208.0.0/14 +114.212.0.0/15 +114.214.0.0/16 +114.215.0.0/16 +114.216.0.0/13 +114.224.0.0/12 +114.240.0.0/12 +114.28.0.0/16 +114.31.64.0/22 +114.31.68.0/22 +114.54.0.0/15 +114.60.0.0/14 +114.64.0.0/14 +114.68.0.0/16 +114.79.64.0/18 +114.80.0.0/12 +114.96.0.0/13 +115.100.0.0/14 +115.104.0.0/14 +115.120.0.0/14 +115.124.16.0/20 +115.148.0.0/14 +115.152.0.0/15 +115.154.0.0/15 +115.156.0.0/15 +115.158.0.0/16 +115.159.0.0/16 +115.166.64.0/19 +115.168.0.0/14 +115.172.0.0/14 +115.180.0.0/15 +115.182.0.0/16 +115.183.0.0/16 +115.187.0.0/22 +115.187.12.0/22 +115.187.4.0/22 +115.187.8.0/22 +115.190.0.0/15 +115.192.0.0/11 +115.224.0.0/12 +115.24.0.0/14 +115.28.0.0/15 +115.31.64.0/22 +115.31.68.0/22 +115.31.72.0/22 +115.31.76.0/22 +115.32.0.0/14 +115.42.56.0/22 +115.44.0.0/15 +115.46.0.0/16 +115.47.0.0/16 +115.48.0.0/12 +115.69.64.0/20 +115.84.0.0/18 +115.84.192.0/19 +115.85.192.0/18 +116.0.24.0/21 +116.0.8.0/21 +116.1.0.0/16 +116.112.0.0/14 +116.116.0.0/15 +116.128.0.0/10 +116.13.0.0/16 +116.16.0.0/12 +116.192.0.0/16 +116.193.152.0/22 +116.193.16.0/20 +116.193.164.0/22 +116.193.176.0/21 +116.193.32.0/19 +116.194.0.0/15 +116.196.0.0/17 +116.196.128.0/18 +116.196.192.0/18 +116.197.160.0/22 +116.197.164.0/22 +116.198.0.0/16 +116.199.0.0/17 +116.199.128.0/19 +116.2.0.0/15 +116.204.0.0/17 +116.204.132.0/22 +116.204.168.0/22 +116.204.216.0/22 +116.204.232.0/22 +116.205.0.0/16 +116.206.176.0/22 +116.206.92.0/22 +116.207.0.0/16 +116.208.0.0/14 +116.212.160.0/20 +116.213.128.0/17 +116.213.44.0/22 +116.213.64.0/18 +116.214.128.0/17 +116.214.32.0/19 +116.214.64.0/20 +116.215.0.0/16 +116.216.0.0/14 +116.224.0.0/12 +116.242.0.0/15 +116.244.0.0/15 +116.246.0.0/15 +116.248.0.0/15 +116.251.64.0/18 +116.252.0.0/15 +116.254.104.0/22 +116.254.108.0/22 +116.254.128.0/17 +116.255.128.0/17 +116.4.0.0/14 +116.50.0.0/20 +116.52.0.0/14 +116.56.0.0/15 +116.58.128.0/20 +116.58.208.0/20 +116.60.0.0/14 +116.66.0.0/17 +116.66.176.0/22 +116.68.136.0/22 +116.68.140.0/22 +116.68.176.0/22 +116.68.180.0/22 +116.69.0.0/16 +116.70.0.0/17 +116.76.0.0/15 +116.78.0.0/15 +116.8.0.0/14 +116.85.0.0/16 +116.89.144.0/20 +116.89.240.0/22 +116.90.184.0/21 +116.90.80.0/20 +116.95.0.0/16 +117.100.0.0/15 +117.103.128.0/20 +117.103.16.0/20 +117.103.40.0/21 +117.103.72.0/21 +117.104.168.0/21 +117.106.0.0/15 +117.112.0.0/13 +117.120.128.0/17 +117.120.64.0/18 +117.121.0.0/17 +117.121.128.0/18 +117.121.192.0/21 +117.122.128.0/17 +117.124.0.0/14 +117.128.0.0/10 +117.21.0.0/16 +117.22.0.0/15 +117.24.0.0/13 +117.32.0.0/13 +117.40.0.0/14 +117.44.0.0/15 +117.48.0.0/14 +117.53.176.0/20 +117.53.48.0/20 +117.57.0.0/16 +117.58.0.0/17 +117.59.0.0/16 +117.60.0.0/14 +117.64.0.0/13 +117.72.0.0/15 +117.74.128.0/17 +117.74.64.0/20 +117.74.80.0/20 +117.75.0.0/16 +117.76.0.0/14 +117.8.0.0/13 +117.80.0.0/12 +118.102.16.0/20 +118.102.32.0/21 +118.103.164.0/22 +118.103.168.0/22 +118.103.172.0/22 +118.103.176.0/22 +118.107.180.0/22 +118.112.0.0/13 +118.120.0.0/14 +118.124.0.0/15 +118.126.0.0/16 +118.127.128.0/19 +118.132.0.0/14 +118.144.0.0/14 +118.178.0.0/16 +118.180.0.0/14 +118.184.0.0/17 +118.184.128.0/17 +118.186.0.0/15 +118.188.0.0/16 +118.190.0.0/16 +118.191.0.0/21 +118.191.12.0/24 +118.191.128.0/19 +118.191.16.0/21 +118.191.176.0/20 +118.191.192.0/20 +118.191.208.0/24 +118.191.216.0/22 +118.191.223.0/24 +118.191.224.0/24 +118.191.240.0/20 +118.191.64.0/20 +118.191.8.0/22 +118.191.80.0/22 +118.192.0.0/16 +118.193.0.0/21 +118.193.128.0/17 +118.193.48.0/21 +118.193.8.0/21 +118.193.96.0/19 +118.194.0.0/17 +118.194.128.0/18 +118.194.192.0/19 +118.194.224.0/22 +118.194.240.0/21 +118.195.0.0/17 +118.195.128.0/17 +118.196.0.0/14 +118.202.0.0/15 +118.204.0.0/14 +118.212.0.0/16 +118.213.0.0/16 +118.215.192.0/18 +118.224.0.0/14 +118.228.0.0/15 +118.230.0.0/16 +118.239.0.0/16 +118.24.0.0/15 +118.242.0.0/16 +118.244.0.0/14 +118.248.0.0/13 +118.26.0.0/19 +118.26.112.0/21 +118.26.120.0/21 +118.26.128.0/22 +118.26.133.0/24 +118.26.134.0/23 +118.26.136.0/21 +118.26.160.0/20 +118.26.188.0/22 +118.26.192.0/18 +118.26.32.0/22 +118.26.40.0/21 +118.26.48.0/21 +118.26.56.0/21 +118.26.64.0/19 +118.26.96.0/21 +118.28.0.0/15 +118.30.0.0/16 +118.31.0.0/16 +118.64.0.0/15 +118.66.0.0/16 +118.67.112.0/20 +118.72.0.0/13 +118.80.0.0/15 +118.84.0.0/15 +118.88.128.0/17 +118.88.32.0/19 +118.88.64.0/18 +118.89.0.0/16 +118.91.240.0/20 +119.0.0.0/15 +119.10.0.0/17 +119.108.0.0/15 +119.112.0.0/13 +119.120.0.0/13 +119.128.0.0/12 +119.144.0.0/14 +119.148.160.0/20 +119.148.176.0/20 +119.15.136.0/21 +119.151.192.0/18 +119.16.0.0/16 +119.160.200.0/21 +119.161.120.0/22 +119.161.124.0/22 +119.161.128.0/17 +119.162.0.0/15 +119.164.0.0/14 +119.176.0.0/12 +119.18.192.0/20 +119.18.208.0/21 +119.18.224.0/20 +119.18.240.0/20 +119.19.0.0/16 +119.2.0.0/19 +119.2.128.0/17 +119.20.0.0/14 +119.232.0.0/15 +119.235.128.0/18 +119.248.0.0/14 +119.252.240.0/20 +119.252.96.0/21 +119.253.0.0/16 +119.254.0.0/15 +119.27.128.0/19 +119.27.160.0/19 +119.27.192.0/18 +119.27.64.0/18 +119.28.0.0/15 +119.3.0.0/16 +119.30.48.0/20 +119.31.192.0/19 +119.32.0.0/14 +119.36.0.0/16 +119.37.0.0/17 +119.37.128.0/18 +119.37.192.0/18 +119.38.0.0/17 +119.38.128.0/18 +119.38.192.0/20 +119.38.208.0/20 +119.38.224.0/19 +119.39.0.0/16 +119.4.0.0/14 +119.40.0.0/18 +119.40.128.0/17 +119.40.64.0/20 +119.41.0.0/16 +119.42.0.0/19 +119.42.128.0/21 +119.42.136.0/21 +119.42.224.0/19 +119.44.0.0/15 +119.48.0.0/13 +119.57.0.0/16 +119.58.0.0/16 +119.59.128.0/17 +119.60.0.0/16 +119.61.0.0/16 +119.62.0.0/16 +119.63.32.0/19 +119.75.208.0/20 +119.78.0.0/15 +119.80.0.0/16 +119.82.208.0/20 +119.84.0.0/14 +119.88.0.0/14 +119.96.0.0/13 +120.0.0.0/12 +120.128.0.0/14 +120.132.0.0/17 +120.132.128.0/17 +120.133.0.0/16 +120.134.0.0/15 +120.136.128.0/18 +120.136.16.0/22 +120.136.20.0/22 +120.137.0.0/17 +120.143.128.0/19 +120.192.0.0/10 +120.24.0.0/14 +120.30.0.0/16 +120.31.0.0/16 +120.32.0.0/13 +120.40.0.0/14 +120.44.0.0/15 +120.46.0.0/16 +120.47.0.0/16 +120.48.0.0/15 +120.52.0.0/16 +120.53.0.0/16 +120.54.0.0/15 +120.64.0.0/14 +120.68.0.0/14 +120.72.128.0/17 +120.72.32.0/19 +120.76.0.0/14 +120.80.0.0/13 +120.88.8.0/21 +120.90.0.0/15 +120.92.0.0/16 +120.94.0.0/16 +120.95.0.0/16 +121.0.16.0/20 +121.0.8.0/21 +121.100.128.0/17 +121.101.0.0/18 +121.101.208.0/20 +121.16.0.0/13 +121.192.0.0/16 +121.193.0.0/16 +121.194.0.0/15 +121.196.0.0/14 +121.200.192.0/21 +121.201.0.0/16 +121.204.0.0/14 +121.224.0.0/12 +121.24.0.0/14 +121.248.0.0/14 +121.255.0.0/16 +121.28.0.0/15 +121.30.0.0/16 +121.31.0.0/16 +121.32.0.0/14 +121.36.0.0/16 +121.37.0.0/16 +121.38.0.0/15 +121.4.0.0/15 +121.40.0.0/14 +121.46.0.0/18 +121.46.128.0/17 +121.46.76.0/22 +121.47.0.0/16 +121.48.0.0/15 +121.50.8.0/21 +121.51.0.0/16 +121.52.160.0/19 +121.52.208.0/20 +121.52.224.0/19 +121.54.176.0/21 +121.54.188.0/22 +121.55.0.0/18 +121.56.0.0/15 +121.58.0.0/17 +121.58.136.0/21 +121.58.144.0/20 +121.58.160.0/21 +121.59.0.0/16 +121.60.0.0/14 +121.68.0.0/14 +121.76.0.0/15 +121.79.128.0/18 +121.8.0.0/13 +121.89.0.0/16 +121.91.104.0/21 +122.0.128.0/17 +122.0.64.0/18 +122.10.128.0/22 +122.10.132.0/23 +122.10.136.0/23 +122.10.164.0/22 +122.10.168.0/21 +122.10.176.0/20 +122.10.192.0/22 +122.10.200.0/21 +122.10.208.0/21 +122.10.216.0/22 +122.10.228.0/22 +122.10.232.0/21 +122.10.240.0/22 +122.102.0.0/20 +122.102.64.0/20 +122.102.80.0/20 +122.11.0.0/17 +122.112.0.0/18 +122.112.128.0/17 +122.112.64.0/18 +122.113.0.0/16 +122.114.0.0/16 +122.115.0.0/17 +122.115.128.0/19 +122.115.160.0/19 +122.115.192.0/19 +122.115.224.0/19 +122.119.0.0/16 +122.12.0.0/16 +122.128.100.0/22 +122.128.120.0/21 +122.13.0.0/16 +122.136.0.0/13 +122.14.0.0/17 +122.14.128.0/18 +122.14.192.0/18 +122.144.128.0/17 +122.152.192.0/18 +122.156.0.0/14 +122.188.0.0/14 +122.192.0.0/14 +122.198.0.0/16 +122.200.40.0/22 +122.200.44.0/22 +122.200.64.0/18 +122.201.48.0/20 +122.204.0.0/14 +122.224.0.0/12 +122.240.0.0/13 +122.248.24.0/21 +122.248.48.0/20 +122.255.64.0/21 +122.4.0.0/14 +122.48.0.0/16 +122.49.0.0/18 +122.51.0.0/16 +122.64.0.0/11 +122.8.0.0/17 +122.8.192.0/18 +122.9.0.0/16 +122.96.0.0/15 +123.0.128.0/18 +123.100.0.0/19 +123.101.0.0/16 +123.103.0.0/17 +123.108.128.0/20 +123.108.208.0/20 +123.112.0.0/12 +123.128.0.0/13 +123.136.80.0/20 +123.137.0.0/16 +123.138.0.0/15 +123.144.0.0/14 +123.148.0.0/16 +123.149.0.0/16 +123.150.0.0/15 +123.152.0.0/13 +123.160.0.0/14 +123.164.0.0/14 +123.168.0.0/14 +123.172.0.0/15 +123.174.0.0/15 +123.176.60.0/22 +123.176.80.0/20 +123.177.0.0/16 +123.178.0.0/15 +123.180.0.0/14 +123.184.0.0/14 +123.188.0.0/14 +123.196.0.0/15 +123.199.128.0/17 +123.206.0.0/15 +123.232.0.0/14 +123.242.0.0/17 +123.242.192.0/22 +123.242.196.0/22 +123.244.0.0/14 +123.249.0.0/16 +123.253.108.0/22 +123.253.240.0/22 +123.254.100.0/22 +123.254.96.0/22 +123.4.0.0/14 +123.49.128.0/17 +123.50.160.0/19 +123.52.0.0/14 +123.56.0.0/15 +123.58.0.0/20 +123.58.128.0/18 +123.58.16.0/20 +123.58.224.0/20 +123.58.240.0/20 +123.58.32.0/19 +123.58.64.0/19 +123.58.96.0/19 +123.59.0.0/16 +123.60.0.0/16 +123.61.0.0/16 +123.62.0.0/16 +123.64.0.0/11 +123.8.0.0/13 +123.96.0.0/15 +123.98.0.0/17 +123.99.128.0/17 +124.108.40.0/21 +124.108.8.0/21 +124.109.96.0/21 +124.112.0.0/15 +124.114.0.0/15 +124.116.0.0/16 +124.117.0.0/16 +124.118.0.0/15 +124.126.0.0/15 +124.128.0.0/13 +124.14.0.0/15 +124.147.128.0/17 +124.150.137.0/24 +124.151.0.0/16 +124.152.0.0/16 +124.16.0.0/15 +124.160.0.0/16 +124.161.0.0/16 +124.162.0.0/16 +124.163.0.0/16 +124.164.0.0/14 +124.172.0.0/15 +124.174.0.0/15 +124.192.0.0/15 +124.196.0.0/16 +124.20.0.0/16 +124.200.0.0/13 +124.21.0.0/20 +124.21.128.0/17 +124.21.16.0/20 +124.21.32.0/19 +124.21.64.0/18 +124.22.0.0/15 +124.220.0.0/14 +124.224.0.0/16 +124.225.0.0/16 +124.226.0.0/15 +124.228.0.0/14 +124.232.0.0/15 +124.234.0.0/15 +124.236.0.0/14 +124.240.0.0/17 +124.240.128.0/18 +124.242.0.0/16 +124.243.192.0/18 +124.248.0.0/17 +124.249.0.0/16 +124.250.0.0/15 +124.254.0.0/18 +124.28.192.0/18 +124.29.0.0/17 +124.31.0.0/16 +124.40.112.0/20 +124.40.128.0/18 +124.40.192.0/19 +124.40.240.0/22 +124.42.0.0/17 +124.42.128.0/17 +124.47.0.0/18 +124.6.64.0/18 +124.64.0.0/15 +124.66.0.0/17 +124.67.0.0/16 +124.68.0.0/15 +124.70.0.0/15 +124.72.0.0/16 +124.73.0.0/16 +124.74.0.0/15 +124.76.0.0/14 +124.88.0.0/16 +124.89.0.0/17 +124.89.128.0/17 +124.90.0.0/15 +124.92.0.0/14 +125.104.0.0/13 +125.112.0.0/12 +125.169.0.0/16 +125.171.0.0/16 +125.208.0.0/18 +125.210.0.0/16 +125.211.0.0/16 +125.213.0.0/17 +125.214.96.0/19 +125.215.0.0/18 +125.216.0.0/15 +125.218.0.0/16 +125.219.0.0/16 +125.220.0.0/15 +125.222.0.0/15 +125.254.128.0/18 +125.254.192.0/18 +125.31.192.0/18 +125.32.0.0/16 +125.33.0.0/16 +125.34.0.0/16 +125.35.0.0/17 +125.35.128.0/17 +125.36.0.0/14 +125.40.0.0/13 +125.58.128.0/17 +125.61.128.0/17 +125.62.0.0/18 +125.64.0.0/13 +125.72.0.0/16 +125.73.0.0/16 +125.74.0.0/15 +125.76.0.0/17 +125.76.128.0/17 +125.77.0.0/16 +125.78.0.0/15 +125.80.0.0/13 +125.88.0.0/13 +125.96.0.0/15 +125.98.0.0/16 +128.108.0.0/16 +129.204.0.0/16 +129.211.0.0/16 +129.28.0.0/16 +132.232.0.0/16 +134.175.0.0/16 +137.59.59.0/24 +137.59.88.0/22 +139.129.0.0/16 +139.148.0.0/16 +139.155.0.0/16 +139.159.0.0/16 +139.170.0.0/16 +139.176.0.0/16 +139.183.0.0/16 +139.186.0.0/16 +139.189.0.0/16 +139.196.0.0/14 +139.200.0.0/13 +139.208.0.0/13 +139.217.0.0/16 +139.219.0.0/16 +139.220.0.0/15 +139.224.0.0/16 +139.226.0.0/15 +139.5.108.0/22 +139.5.128.0/22 +139.5.160.0/22 +139.5.192.0/22 +139.5.204.0/22 +139.5.208.0/22 +139.5.212.0/22 +139.5.244.0/22 +139.5.56.0/22 +139.5.60.0/22 +139.5.80.0/22 +139.5.92.0/22 +139.9.0.0/16 +14.0.0.0/21 +14.0.12.0/22 +14.1.0.0/22 +14.1.108.0/22 +14.1.24.0/22 +14.1.96.0/22 +14.102.128.0/22 +14.102.156.0/22 +14.102.180.0/22 +14.103.0.0/16 +14.104.0.0/13 +14.112.0.0/12 +14.130.0.0/15 +14.134.0.0/15 +14.144.0.0/12 +14.16.0.0/12 +14.192.60.0/22 +14.192.76.0/22 +14.196.0.0/15 +14.204.0.0/15 +14.208.0.0/12 +140.143.0.0/16 +140.179.0.0/16 +140.205.0.0/16 +140.206.0.0/15 +140.210.0.0/17 +140.210.128.0/17 +140.224.0.0/16 +140.237.0.0/16 +140.240.0.0/16 +140.243.0.0/16 +140.246.0.0/16 +140.249.0.0/16 +140.250.0.0/16 +140.255.0.0/16 +140.75.0.0/16 +142.70.0.0/16 +142.86.0.0/16 +143.64.0.0/16 +144.0.0.0/16 +144.12.0.0/16 +144.123.0.0/16 +144.255.0.0/16 +144.48.156.0/22 +144.48.180.0/22 +144.48.184.0/22 +144.48.204.0/22 +144.48.208.0/22 +144.48.212.0/22 +144.48.220.0/22 +144.48.252.0/22 +144.48.64.0/22 +144.48.8.0/22 +144.48.88.0/22 +144.52.0.0/16 +144.7.0.0/16 +146.196.112.0/22 +146.196.116.0/22 +146.196.124.0/22 +146.196.56.0/22 +146.196.68.0/22 +146.196.72.0/22 +146.196.92.0/22 +146.56.192.0/18 +148.70.0.0/16 +149.41.0.0/16 +150.0.0.0/16 +150.115.0.0/16 +150.121.0.0/16 +150.122.0.0/16 +150.129.136.0/22 +150.129.192.0/22 +150.129.216.0/22 +150.129.252.0/22 +150.138.0.0/15 +150.158.0.0/16 +150.223.0.0/16 +150.242.0.0/22 +150.242.112.0/22 +150.242.116.0/22 +150.242.120.0/22 +150.242.152.0/22 +150.242.156.0/22 +150.242.160.0/22 +150.242.164.0/22 +150.242.168.0/22 +150.242.184.0/22 +150.242.188.0/22 +150.242.192.0/22 +150.242.212.0/22 +150.242.224.0/22 +150.242.232.0/22 +150.242.236.0/22 +150.242.240.0/22 +150.242.244.0/22 +150.242.248.0/22 +150.242.28.0/22 +150.242.4.0/22 +150.242.44.0/22 +150.242.48.0/22 +150.242.52.0/22 +150.242.56.0/22 +150.242.76.0/22 +150.242.8.0/22 +150.242.80.0/22 +150.242.92.0/22 +150.242.96.0/22 +150.248.0.0/16 +150.255.0.0/16 +152.104.128.0/17 +152.136.0.0/16 +153.0.0.0/16 +153.101.0.0/16 +153.118.0.0/15 +153.3.0.0/16 +153.34.0.0/15 +153.36.0.0/15 +153.99.0.0/16 +154.8.128.0/17 +157.0.0.0/16 +157.119.0.0/22 +157.119.12.0/22 +157.119.132.0/22 +157.119.136.0/22 +157.119.140.0/22 +157.119.144.0/22 +157.119.148.0/22 +157.119.152.0/22 +157.119.156.0/22 +157.119.16.0/22 +157.119.160.0/22 +157.119.164.0/22 +157.119.172.0/22 +157.119.192.0/22 +157.119.196.0/22 +157.119.240.0/22 +157.119.252.0/22 +157.119.28.0/22 +157.119.8.0/22 +157.122.0.0/16 +157.148.0.0/16 +157.156.0.0/16 +157.18.0.0/16 +157.255.0.0/16 +157.61.0.0/16 +158.60.0.0/16 +158.79.0.0/16 +159.226.0.0/16 +159.27.0.0/16 +159.75.0.0/16 +160.19.208.0/22 +160.19.212.0/22 +160.19.216.0/22 +160.20.48.0/22 +160.202.148.0/22 +160.202.152.0/22 +160.202.168.0/22 +160.202.212.0/22 +160.202.216.0/22 +160.202.220.0/22 +160.202.224.0/22 +160.202.228.0/22 +160.202.232.0/22 +160.202.236.0/22 +160.202.240.0/22 +160.202.244.0/22 +160.202.248.0/22 +160.202.252.0/22 +160.202.60.0/22 +160.238.64.0/22 +161.120.0.0/16 +161.189.0.0/16 +161.207.0.0/16 +162.105.0.0/16 +162.14.0.0/16 +163.0.0.0/16 +163.125.0.0/16 +163.142.0.0/16 +163.177.0.0/16 +163.179.0.0/16 +163.204.0.0/16 +163.228.0.0/16 +163.47.4.0/22 +163.53.0.0/22 +163.53.100.0/22 +163.53.104.0/22 +163.53.108.0/22 +163.53.112.0/22 +163.53.116.0/22 +163.53.12.0/22 +163.53.120.0/22 +163.53.124.0/22 +163.53.128.0/22 +163.53.132.0/22 +163.53.136.0/22 +163.53.160.0/22 +163.53.164.0/22 +163.53.168.0/22 +163.53.172.0/22 +163.53.188.0/22 +163.53.220.0/22 +163.53.240.0/22 +163.53.36.0/22 +163.53.4.0/22 +163.53.40.0/22 +163.53.44.0/22 +163.53.48.0/22 +163.53.52.0/22 +163.53.56.0/22 +163.53.60.0/22 +163.53.64.0/22 +163.53.8.0/22 +163.53.88.0/22 +163.53.92.0/22 +163.53.96.0/22 +164.52.0.0/17 +166.111.0.0/16 +167.139.0.0/16 +167.189.0.0/16 +167.220.244.0/22 +168.160.0.0/16 +170.179.0.0/16 +171.104.0.0/13 +171.112.0.0/14 +171.116.0.0/14 +171.120.0.0/13 +171.208.0.0/12 +171.34.0.0/15 +171.36.0.0/14 +171.40.0.0/13 +171.8.0.0/13 +171.80.0.0/14 +171.84.0.0/14 +171.88.0.0/13 +172.81.192.0/18 +175.0.0.0/12 +175.102.0.0/16 +175.106.128.0/17 +175.111.144.0/22 +175.111.148.0/22 +175.111.152.0/22 +175.111.156.0/22 +175.111.160.0/22 +175.111.164.0/22 +175.111.168.0/22 +175.111.172.0/22 +175.111.184.0/22 +175.146.0.0/15 +175.148.0.0/14 +175.152.0.0/14 +175.158.96.0/22 +175.16.0.0/13 +175.160.0.0/12 +175.176.156.0/22 +175.176.176.0/22 +175.176.188.0/22 +175.178.0.0/16 +175.184.128.0/18 +175.185.0.0/16 +175.186.0.0/15 +175.188.0.0/14 +175.24.0.0/16 +175.25.0.0/16 +175.26.0.0/16 +175.27.0.0/16 +175.30.0.0/15 +175.42.0.0/15 +175.44.0.0/16 +175.46.0.0/15 +175.48.0.0/12 +175.64.0.0/11 +180.129.128.0/17 +180.130.0.0/16 +180.136.0.0/13 +180.148.152.0/21 +180.148.16.0/21 +180.148.216.0/21 +180.148.224.0/19 +180.149.128.0/19 +180.149.236.0/22 +180.150.160.0/19 +180.152.0.0/13 +180.160.0.0/12 +180.178.112.0/22 +180.178.116.0/22 +180.178.192.0/18 +180.184.0.0/15 +180.186.0.0/16 +180.187.0.0/16 +180.188.0.0/17 +180.189.148.0/22 +180.200.252.0/22 +180.201.0.0/16 +180.202.0.0/15 +180.208.0.0/15 +180.210.212.0/22 +180.210.224.0/19 +180.212.0.0/15 +180.222.224.0/19 +180.223.0.0/16 +180.233.0.0/18 +180.233.144.0/22 +180.233.64.0/19 +180.235.112.0/22 +180.235.64.0/19 +180.76.0.0/16 +180.77.0.0/16 +180.78.0.0/15 +180.84.0.0/15 +180.86.0.0/16 +180.88.0.0/14 +180.94.120.0/22 +180.94.124.0/22 +180.94.56.0/21 +180.94.96.0/20 +180.95.128.0/17 +180.96.0.0/11 +182.112.0.0/12 +182.128.0.0/12 +182.144.0.0/13 +182.157.0.0/16 +182.16.144.0/22 +182.16.148.0/22 +182.16.192.0/19 +182.160.64.0/19 +182.174.0.0/15 +182.18.0.0/17 +182.200.0.0/13 +182.23.184.0/21 +182.23.200.0/21 +182.236.128.0/17 +182.237.24.0/22 +182.237.28.0/22 +182.238.0.0/16 +182.239.0.0/19 +182.240.0.0/13 +182.254.0.0/16 +182.255.32.0/22 +182.255.60.0/22 +182.32.0.0/12 +182.48.96.0/19 +182.49.0.0/16 +182.50.0.0/20 +182.50.112.0/20 +182.51.0.0/16 +182.54.0.0/17 +182.54.244.0/22 +182.61.0.0/16 +182.80.0.0/14 +182.84.0.0/14 +182.88.0.0/14 +182.92.0.0/16 +182.96.0.0/12 +183.0.0.0/10 +183.128.0.0/11 +183.160.0.0/13 +183.168.0.0/15 +183.170.0.0/16 +183.172.0.0/14 +183.182.0.0/19 +183.184.0.0/13 +183.192.0.0/10 +183.64.0.0/13 +183.78.160.0/22 +183.78.164.0/22 +183.78.180.0/22 +183.81.172.0/22 +183.81.180.0/22 +183.84.0.0/15 +183.91.128.0/22 +183.91.136.0/21 +183.91.144.0/20 +183.92.0.0/14 +185.203.36.0/22 +188.131.128.0/17 +192.102.204.0/23 +192.124.154.0/24 +192.140.128.0/22 +192.140.132.0/22 +192.140.136.0/22 +192.140.156.0/22 +192.140.160.0/22 +192.140.164.0/22 +192.140.168.0/22 +192.140.172.0/22 +192.140.176.0/22 +192.140.180.0/22 +192.140.184.0/22 +192.140.188.0/22 +192.140.192.0/22 +192.140.196.0/22 +192.140.200.0/22 +192.140.204.0/22 +192.140.208.0/22 +192.140.212.0/22 +192.144.128.0/17 +192.197.113.0/24 +192.51.188.0/24 +192.55.46.0/24 +192.55.68.0/22 +193.112.0.0/16 +198.175.100.0/22 +199.212.57.0/24 +202.0.100.0/23 +202.0.122.0/23 +202.0.176.0/22 +202.10.112.0/22 +202.10.116.0/22 +202.10.120.0/22 +202.10.124.0/22 +202.10.64.0/20 +202.100.0.0/21 +202.100.104.0/21 +202.100.112.0/20 +202.100.128.0/21 +202.100.136.0/21 +202.100.144.0/20 +202.100.16.0/20 +202.100.160.0/21 +202.100.168.0/21 +202.100.176.0/20 +202.100.192.0/21 +202.100.200.0/21 +202.100.208.0/20 +202.100.224.0/19 +202.100.32.0/19 +202.100.64.0/21 +202.100.72.0/21 +202.100.8.0/21 +202.100.80.0/20 +202.100.96.0/21 +202.101.0.0/18 +202.101.128.0/18 +202.101.192.0/19 +202.101.224.0/21 +202.101.232.0/21 +202.101.240.0/20 +202.101.64.0/19 +202.101.96.0/19 +202.102.0.0/19 +202.102.128.0/21 +202.102.136.0/21 +202.102.144.0/20 +202.102.160.0/19 +202.102.192.0/21 +202.102.200.0/21 +202.102.208.0/20 +202.102.224.0/21 +202.102.232.0/21 +202.102.240.0/20 +202.102.32.0/19 +202.102.64.0/18 +202.103.0.0/21 +202.103.104.0/21 +202.103.112.0/20 +202.103.128.0/18 +202.103.16.0/20 +202.103.192.0/19 +202.103.224.0/21 +202.103.232.0/21 +202.103.240.0/20 +202.103.32.0/19 +202.103.64.0/19 +202.103.8.0/21 +202.103.96.0/21 +202.104.0.0/15 +202.106.0.0/16 +202.107.0.0/17 +202.107.128.0/17 +202.108.0.0/16 +202.109.0.0/16 +202.110.0.0/18 +202.110.128.0/18 +202.110.192.0/18 +202.110.64.0/18 +202.111.0.0/17 +202.111.128.0/19 +202.111.160.0/19 +202.111.192.0/18 +202.112.0.0/16 +202.113.0.0/20 +202.113.128.0/18 +202.113.16.0/20 +202.113.192.0/19 +202.113.224.0/20 +202.113.240.0/20 +202.113.32.0/19 +202.113.64.0/18 +202.114.0.0/19 +202.114.128.0/17 +202.114.32.0/19 +202.114.64.0/18 +202.115.0.0/19 +202.115.128.0/17 +202.115.32.0/19 +202.115.64.0/18 +202.116.0.0/19 +202.116.128.0/17 +202.116.32.0/20 +202.116.48.0/20 +202.116.64.0/19 +202.116.96.0/19 +202.117.0.0/18 +202.117.128.0/17 +202.117.64.0/18 +202.118.0.0/19 +202.118.128.0/17 +202.118.32.0/19 +202.118.64.0/18 +202.119.0.0/19 +202.119.128.0/17 +202.119.32.0/19 +202.119.64.0/20 +202.119.80.0/20 +202.119.96.0/19 +202.12.1.0/24 +202.12.106.0/24 +202.12.111.0/24 +202.12.116.0/24 +202.12.17.0/24 +202.12.18.0/24 +202.12.19.0/24 +202.12.2.0/24 +202.12.72.0/24 +202.12.84.0/23 +202.12.96.0/24 +202.12.98.0/23 +202.120.0.0/18 +202.120.128.0/17 +202.120.64.0/18 +202.121.0.0/16 +202.122.0.0/21 +202.122.112.0/21 +202.122.120.0/21 +202.122.128.0/24 +202.122.132.0/24 +202.122.32.0/21 +202.122.64.0/19 +202.123.116.0/22 +202.123.120.0/22 +202.123.96.0/20 +202.124.16.0/21 +202.124.24.0/22 +202.125.107.0/24 +202.125.109.0/24 +202.125.112.0/20 +202.125.176.0/20 +202.127.0.0/23 +202.127.112.0/20 +202.127.12.0/22 +202.127.128.0/20 +202.127.144.0/20 +202.127.16.0/20 +202.127.160.0/21 +202.127.192.0/23 +202.127.194.0/23 +202.127.196.0/22 +202.127.2.0/24 +202.127.200.0/21 +202.127.208.0/24 +202.127.209.0/24 +202.127.212.0/22 +202.127.216.0/21 +202.127.224.0/19 +202.127.3.0/24 +202.127.4.0/24 +202.127.40.0/21 +202.127.48.0/20 +202.127.5.0/24 +202.127.6.0/23 +202.129.208.0/24 +202.130.0.0/19 +202.130.224.0/19 +202.130.39.0/24 +202.131.16.0/21 +202.131.208.0/20 +202.131.48.0/20 +202.133.32.0/20 +202.134.128.0/20 +202.134.208.0/22 +202.134.212.0/22 +202.134.216.0/22 +202.134.220.0/22 +202.134.58.0/24 +202.136.208.0/20 +202.136.224.0/20 +202.136.248.0/22 +202.136.48.0/20 +202.137.231.0/24 +202.14.104.0/23 +202.14.108.0/23 +202.14.111.0/24 +202.14.114.0/23 +202.14.118.0/23 +202.14.124.0/23 +202.14.127.0/24 +202.14.129.0/24 +202.14.135.0/24 +202.14.136.0/24 +202.14.149.0/24 +202.14.151.0/24 +202.14.157.0/24 +202.14.158.0/23 +202.14.169.0/24 +202.14.170.0/23 +202.14.172.0/22 +202.14.176.0/24 +202.14.184.0/23 +202.14.208.0/23 +202.14.213.0/24 +202.14.219.0/24 +202.14.220.0/24 +202.14.222.0/23 +202.14.225.0/24 +202.14.226.0/23 +202.14.231.0/24 +202.14.235.0/24 +202.14.236.0/23 +202.14.238.0/24 +202.14.239.0/24 +202.14.246.0/24 +202.14.251.0/24 +202.14.64.0/23 +202.14.69.0/24 +202.14.73.0/24 +202.14.74.0/23 +202.14.76.0/24 +202.14.78.0/23 +202.14.88.0/24 +202.14.97.0/24 +202.140.140.0/22 +202.140.144.0/22 +202.140.148.0/22 +202.140.152.0/22 +202.140.156.0/22 +202.141.160.0/19 +202.142.16.0/20 +202.143.100.0/22 +202.143.104.0/22 +202.143.16.0/20 +202.143.32.0/20 +202.143.4.0/22 +202.143.56.0/21 +202.144.196.0/22 +202.146.160.0/20 +202.146.186.0/24 +202.146.188.0/22 +202.146.196.0/22 +202.146.200.0/21 +202.147.144.0/20 +202.148.32.0/20 +202.148.64.0/19 +202.148.96.0/19 +202.149.160.0/19 +202.149.224.0/19 +202.149.32.0/19 +202.150.16.0/20 +202.150.192.0/20 +202.150.224.0/19 +202.150.32.0/20 +202.150.56.0/22 +202.151.0.0/22 +202.151.128.0/19 +202.151.33.0/24 +202.152.176.0/20 +202.153.0.0/22 +202.153.48.0/20 +202.153.7.0/24 +202.157.192.0/19 +202.158.160.0/19 +202.158.242.0/24 +202.160.140.0/22 +202.160.156.0/22 +202.160.176.0/20 +202.162.67.0/24 +202.162.75.0/24 +202.164.0.0/20 +202.164.96.0/19 +202.165.176.0/20 +202.165.208.0/20 +202.165.239.0/24 +202.165.240.0/23 +202.165.243.0/24 +202.165.245.0/24 +202.165.251.0/24 +202.165.252.0/22 +202.166.224.0/19 +202.168.128.0/22 +202.168.132.0/22 +202.168.136.0/22 +202.168.140.0/22 +202.168.160.0/20 +202.168.176.0/20 +202.168.80.0/22 +202.170.128.0/19 +202.170.216.0/21 +202.170.224.0/19 +202.171.216.0/21 +202.171.232.0/24 +202.171.235.0/24 +202.172.0.0/22 +202.172.7.0/24 +202.173.0.0/22 +202.173.112.0/22 +202.173.224.0/19 +202.173.6.0/24 +202.173.8.0/21 +202.174.124.0/22 +202.174.64.0/20 +202.176.224.0/19 +202.179.160.0/22 +202.179.164.0/22 +202.179.168.0/22 +202.179.172.0/22 +202.179.240.0/20 +202.180.128.0/19 +202.180.208.0/21 +202.181.112.0/20 +202.181.28.0/22 +202.181.8.0/22 +202.182.192.0/19 +202.182.32.0/20 +202.189.0.0/18 +202.189.184.0/21 +202.189.80.0/20 +202.191.0.0/24 +202.191.68.0/22 +202.191.72.0/21 +202.191.80.0/20 +202.192.0.0/13 +202.20.114.0/24 +202.20.117.0/24 +202.20.120.0/24 +202.20.125.0/24 +202.20.126.0/24 +202.20.127.0/24 +202.20.66.0/24 +202.20.79.0/24 +202.20.87.0/24 +202.20.88.0/23 +202.20.90.0/24 +202.20.94.0/23 +202.200.0.0/14 +202.204.0.0/14 +202.21.131.0/24 +202.21.132.0/24 +202.21.141.0/24 +202.21.142.0/24 +202.21.147.0/24 +202.21.148.0/24 +202.21.150.0/23 +202.21.152.0/23 +202.21.154.0/24 +202.21.156.0/24 +202.21.48.0/22 +202.21.52.0/22 +202.21.56.0/22 +202.21.60.0/22 +202.22.248.0/22 +202.22.252.0/22 +202.27.12.0/24 +202.27.136.0/23 +202.27.14.0/24 +202.3.128.0/23 +202.3.134.0/24 +202.36.226.0/24 +202.38.0.0/23 +202.38.128.0/23 +202.38.130.0/23 +202.38.132.0/23 +202.38.134.0/24 +202.38.135.0/24 +202.38.136.0/23 +202.38.138.0/24 +202.38.140.0/23 +202.38.142.0/23 +202.38.146.0/23 +202.38.149.0/24 +202.38.150.0/23 +202.38.152.0/23 +202.38.154.0/23 +202.38.156.0/24 +202.38.158.0/23 +202.38.160.0/23 +202.38.164.0/22 +202.38.168.0/23 +202.38.170.0/24 +202.38.171.0/24 +202.38.176.0/23 +202.38.184.0/21 +202.38.192.0/18 +202.38.2.0/23 +202.38.48.0/20 +202.38.64.0/19 +202.38.8.0/21 +202.38.96.0/19 +202.4.128.0/19 +202.4.252.0/22 +202.40.135.0/24 +202.40.136.0/24 +202.40.140.0/24 +202.40.143.0/24 +202.40.144.0/23 +202.40.15.0/24 +202.40.150.0/24 +202.40.155.0/24 +202.40.156.0/24 +202.40.158.0/23 +202.40.162.0/24 +202.40.4.0/23 +202.40.7.0/24 +202.41.11.0/24 +202.41.12.0/23 +202.41.128.0/24 +202.41.130.0/23 +202.41.152.0/21 +202.41.192.0/24 +202.41.196.0/22 +202.41.200.0/22 +202.41.240.0/20 +202.41.8.0/23 +202.43.144.0/20 +202.43.76.0/22 +202.44.129.0/24 +202.44.132.0/23 +202.44.146.0/23 +202.44.16.0/20 +202.44.48.0/22 +202.44.67.0/24 +202.44.74.0/24 +202.44.97.0/24 +202.45.0.0/23 +202.45.15.0/24 +202.45.16.0/20 +202.45.2.0/24 +202.46.128.0/24 +202.46.16.0/23 +202.46.18.0/24 +202.46.20.0/23 +202.46.224.0/20 +202.46.32.0/19 +202.47.100.0/22 +202.47.104.0/22 +202.47.108.0/22 +202.47.126.0/24 +202.47.128.0/24 +202.47.130.0/23 +202.47.82.0/23 +202.47.96.0/22 +202.5.208.0/22 +202.5.212.0/22 +202.5.216.0/22 +202.52.143.0/24 +202.52.144.0/24 +202.52.33.0/24 +202.52.34.0/24 +202.52.47.0/24 +202.53.140.0/24 +202.53.143.0/24 +202.57.192.0/22 +202.57.196.0/22 +202.57.200.0/22 +202.57.204.0/22 +202.57.212.0/22 +202.57.216.0/22 +202.57.240.0/20 +202.58.0.0/24 +202.58.101.0/24 +202.58.104.0/22 +202.58.112.0/22 +202.59.0.0/24 +202.59.1.0/24 +202.59.212.0/22 +202.59.236.0/24 +202.59.240.0/24 +202.6.103.0/24 +202.6.108.0/24 +202.6.110.0/23 +202.6.114.0/24 +202.6.176.0/20 +202.6.6.0/23 +202.6.66.0/23 +202.6.72.0/23 +202.6.87.0/24 +202.6.88.0/23 +202.6.92.0/23 +202.60.112.0/20 +202.60.132.0/22 +202.60.136.0/21 +202.60.144.0/20 +202.60.48.0/21 +202.60.96.0/21 +202.61.123.0/24 +202.61.127.0/24 +202.61.68.0/22 +202.61.76.0/22 +202.61.88.0/22 +202.62.112.0/22 +202.62.248.0/22 +202.62.252.0/24 +202.62.255.0/24 +202.63.160.0/19 +202.63.248.0/22 +202.63.253.0/24 +202.63.80.0/24 +202.63.81.0/24 +202.63.82.0/23 +202.63.84.0/22 +202.63.88.0/21 +202.65.0.0/21 +202.65.100.0/22 +202.65.104.0/22 +202.65.108.0/22 +202.65.8.0/23 +202.65.96.0/22 +202.66.168.0/22 +202.67.0.0/22 +202.69.16.0/20 +202.69.4.0/22 +202.70.0.0/19 +202.70.192.0/20 +202.70.96.0/20 +202.71.32.0/22 +202.71.36.0/22 +202.71.40.0/22 +202.71.44.0/22 +202.72.112.0/22 +202.72.116.0/22 +202.72.120.0/22 +202.72.124.0/22 +202.72.40.0/21 +202.72.80.0/20 +202.73.128.0/22 +202.73.240.0/22 +202.73.244.0/22 +202.73.248.0/22 +202.73.252.0/22 +202.74.254.0/23 +202.74.36.0/24 +202.74.42.0/24 +202.74.52.0/24 +202.74.8.0/21 +202.74.80.0/20 +202.75.208.0/20 +202.75.252.0/22 +202.76.252.0/22 +202.77.80.0/21 +202.77.92.0/22 +202.78.8.0/21 +202.79.224.0/21 +202.79.248.0/22 +202.8.0.0/24 +202.8.12.0/24 +202.8.120.0/22 +202.8.128.0/19 +202.8.192.0/20 +202.8.2.0/23 +202.8.24.0/24 +202.8.4.0/23 +202.8.77.0/24 +202.80.192.0/21 +202.80.200.0/21 +202.81.0.0/22 +202.81.176.0/22 +202.81.180.0/22 +202.81.184.0/22 +202.81.188.0/22 +202.83.252.0/22 +202.84.0.0/22 +202.84.16.0/23 +202.84.22.0/24 +202.84.24.0/21 +202.84.4.0/22 +202.84.8.0/21 +202.85.208.0/20 +202.86.249.0/24 +202.86.252.0/22 +202.87.80.0/20 +202.88.32.0/22 +202.89.108.0/22 +202.89.119.0/24 +202.89.232.0/21 +202.89.8.0/21 +202.89.96.0/22 +202.9.32.0/24 +202.9.34.0/23 +202.9.48.0/23 +202.9.51.0/24 +202.9.52.0/23 +202.9.54.0/24 +202.9.57.0/24 +202.9.58.0/23 +202.90.0.0/22 +202.90.100.0/22 +202.90.104.0/22 +202.90.108.0/22 +202.90.112.0/20 +202.90.16.0/22 +202.90.193.0/24 +202.90.196.0/24 +202.90.20.0/22 +202.90.205.0/24 +202.90.224.0/20 +202.90.24.0/22 +202.90.28.0/22 +202.90.37.0/24 +202.90.96.0/22 +202.91.0.0/22 +202.91.128.0/22 +202.91.176.0/20 +202.91.224.0/19 +202.91.36.0/22 +202.91.96.0/20 +202.92.0.0/22 +202.92.252.0/22 +202.92.48.0/20 +202.92.8.0/21 +202.93.0.0/22 +202.93.252.0/22 +202.94.68.0/24 +202.94.74.0/24 +202.94.81.0/24 +202.94.92.0/22 +202.95.240.0/21 +202.95.252.0/22 +202.96.0.0/18 +202.96.104.0/21 +202.96.112.0/20 +202.96.128.0/21 +202.96.136.0/21 +202.96.144.0/20 +202.96.160.0/21 +202.96.168.0/21 +202.96.176.0/20 +202.96.192.0/21 +202.96.200.0/21 +202.96.208.0/20 +202.96.224.0/21 +202.96.232.0/21 +202.96.240.0/20 +202.96.64.0/21 +202.96.72.0/21 +202.96.80.0/20 +202.96.96.0/21 +202.97.0.0/21 +202.97.112.0/20 +202.97.128.0/18 +202.97.16.0/20 +202.97.192.0/19 +202.97.224.0/21 +202.97.232.0/21 +202.97.240.0/20 +202.97.32.0/19 +202.97.64.0/19 +202.97.8.0/21 +202.97.96.0/20 +202.98.0.0/21 +202.98.104.0/21 +202.98.112.0/20 +202.98.128.0/19 +202.98.16.0/20 +202.98.160.0/21 +202.98.168.0/21 +202.98.176.0/20 +202.98.192.0/21 +202.98.200.0/21 +202.98.208.0/20 +202.98.224.0/21 +202.98.232.0/21 +202.98.240.0/20 +202.98.32.0/21 +202.98.40.0/21 +202.98.48.0/20 +202.98.64.0/19 +202.98.8.0/21 +202.98.96.0/21 +202.99.0.0/18 +202.99.104.0/21 +202.99.112.0/20 +202.99.128.0/19 +202.99.160.0/21 +202.99.168.0/21 +202.99.176.0/20 +202.99.192.0/21 +202.99.200.0/21 +202.99.208.0/20 +202.99.224.0/21 +202.99.232.0/21 +202.99.240.0/20 +202.99.64.0/19 +202.99.96.0/21 +203.0.10.0/23 +203.0.104.0/21 +203.0.114.0/23 +203.0.122.0/24 +203.0.128.0/24 +203.0.130.0/23 +203.0.132.0/22 +203.0.137.0/24 +203.0.142.0/24 +203.0.144.0/24 +203.0.146.0/24 +203.0.148.0/24 +203.0.150.0/23 +203.0.152.0/24 +203.0.177.0/24 +203.0.18.0/24 +203.0.224.0/24 +203.0.24.0/24 +203.0.4.0/22 +203.0.42.0/23 +203.0.45.0/24 +203.0.46.0/23 +203.0.81.0/24 +203.0.82.0/23 +203.0.90.0/23 +203.0.96.0/23 +203.1.100.0/22 +203.1.108.0/24 +203.1.18.0/24 +203.1.253.0/24 +203.1.254.0/24 +203.1.26.0/23 +203.1.4.0/22 +203.1.65.0/24 +203.1.66.0/23 +203.1.70.0/23 +203.1.76.0/23 +203.1.90.0/24 +203.1.97.0/24 +203.1.98.0/23 +203.10.125.0/24 +203.10.34.0/24 +203.10.56.0/24 +203.10.74.0/23 +203.10.84.0/22 +203.10.88.0/24 +203.10.95.0/24 +203.100.192.0/20 +203.100.32.0/20 +203.100.48.0/21 +203.100.58.0/24 +203.100.60.0/24 +203.100.63.0/24 +203.100.80.0/20 +203.100.96.0/19 +203.104.32.0/20 +203.105.128.0/19 +203.105.96.0/19 +203.107.0.0/17 +203.11.100.0/22 +203.11.109.0/24 +203.11.117.0/24 +203.11.122.0/24 +203.11.126.0/24 +203.11.136.0/22 +203.11.141.0/24 +203.11.142.0/23 +203.11.180.0/22 +203.11.208.0/22 +203.11.70.0/24 +203.11.76.0/22 +203.11.82.0/24 +203.11.84.0/22 +203.110.160.0/19 +203.110.208.0/20 +203.110.232.0/23 +203.110.234.0/24 +203.114.244.0/22 +203.114.80.0/22 +203.114.84.0/22 +203.114.88.0/22 +203.114.92.0/22 +203.118.192.0/19 +203.118.241.0/24 +203.118.248.0/22 +203.119.113.0/24 +203.119.114.0/23 +203.119.116.0/22 +203.119.120.0/21 +203.119.128.0/17 +203.119.24.0/21 +203.119.32.0/22 +203.119.80.0/22 +203.119.85.0/24 +203.12.100.0/23 +203.12.103.0/24 +203.12.114.0/24 +203.12.118.0/24 +203.12.130.0/24 +203.12.137.0/24 +203.12.16.0/24 +203.12.19.0/24 +203.12.196.0/22 +203.12.211.0/24 +203.12.219.0/24 +203.12.226.0/24 +203.12.24.0/24 +203.12.240.0/22 +203.12.57.0/24 +203.12.65.0/24 +203.12.66.0/24 +203.12.70.0/23 +203.12.87.0/24 +203.123.58.0/24 +203.128.224.0/21 +203.128.32.0/19 +203.128.96.0/19 +203.129.8.0/21 +203.13.173.0/24 +203.13.18.0/24 +203.13.224.0/23 +203.13.227.0/24 +203.13.233.0/24 +203.13.24.0/24 +203.13.44.0/23 +203.13.88.0/23 +203.13.92.0/22 +203.130.32.0/19 +203.132.32.0/19 +203.134.240.0/21 +203.135.112.0/20 +203.135.160.0/20 +203.135.96.0/20 +203.14.104.0/24 +203.14.114.0/23 +203.14.118.0/24 +203.14.162.0/24 +203.14.192.0/24 +203.14.194.0/23 +203.14.214.0/24 +203.14.231.0/24 +203.14.24.0/22 +203.14.246.0/24 +203.14.33.0/24 +203.14.56.0/24 +203.14.61.0/24 +203.14.62.0/24 +203.142.219.0/24 +203.142.224.0/19 +203.144.96.0/19 +203.145.0.0/19 +203.148.0.0/18 +203.148.64.0/20 +203.148.80.0/22 +203.148.86.0/23 +203.149.92.0/22 +203.15.0.0/20 +203.15.105.0/24 +203.15.112.0/21 +203.15.130.0/23 +203.15.149.0/24 +203.15.151.0/24 +203.15.156.0/22 +203.15.174.0/24 +203.15.20.0/23 +203.15.22.0/24 +203.15.227.0/24 +203.15.232.0/21 +203.15.240.0/23 +203.15.246.0/24 +203.15.87.0/24 +203.15.88.0/23 +203.152.128.0/19 +203.152.64.0/19 +203.153.0.0/22 +203.156.192.0/18 +203.158.16.0/21 +203.16.10.0/24 +203.16.12.0/23 +203.16.133.0/24 +203.16.16.0/21 +203.16.161.0/24 +203.16.162.0/24 +203.16.186.0/23 +203.16.228.0/24 +203.16.238.0/24 +203.16.240.0/24 +203.16.245.0/24 +203.16.27.0/24 +203.16.38.0/24 +203.16.49.0/24 +203.16.50.0/23 +203.16.58.0/24 +203.16.63.0/24 +203.160.104.0/21 +203.160.129.0/24 +203.160.192.0/19 +203.160.52.0/22 +203.161.0.0/22 +203.161.180.0/24 +203.161.183.0/24 +203.161.192.0/19 +203.166.160.0/19 +203.167.28.0/22 +203.168.0.0/19 +203.17.136.0/24 +203.17.164.0/24 +203.17.18.0/24 +203.17.187.0/24 +203.17.190.0/23 +203.17.2.0/24 +203.17.231.0/24 +203.17.233.0/24 +203.17.248.0/24 +203.17.249.0/24 +203.17.255.0/24 +203.17.28.0/24 +203.17.39.0/24 +203.17.56.0/24 +203.17.74.0/23 +203.17.88.0/23 +203.170.58.0/23 +203.171.0.0/22 +203.171.208.0/24 +203.171.224.0/20 +203.174.4.0/24 +203.174.6.0/24 +203.174.7.0/24 +203.174.96.0/19 +203.175.128.0/19 +203.175.192.0/18 +203.176.0.0/18 +203.176.168.0/21 +203.176.64.0/19 +203.18.100.0/23 +203.18.105.0/24 +203.18.107.0/24 +203.18.110.0/24 +203.18.129.0/24 +203.18.131.0/24 +203.18.132.0/23 +203.18.144.0/24 +203.18.153.0/24 +203.18.199.0/24 +203.18.2.0/23 +203.18.208.0/24 +203.18.211.0/24 +203.18.215.0/24 +203.18.31.0/24 +203.18.37.0/24 +203.18.4.0/24 +203.18.48.0/23 +203.18.52.0/24 +203.18.7.0/24 +203.18.72.0/22 +203.18.80.0/23 +203.18.87.0/24 +203.184.80.0/20 +203.185.189.0/24 +203.187.160.0/19 +203.189.0.0/23 +203.189.112.0/22 +203.189.192.0/19 +203.189.232.0/22 +203.189.240.0/22 +203.189.6.0/23 +203.19.1.0/24 +203.19.101.0/24 +203.19.111.0/24 +203.19.131.0/24 +203.19.133.0/24 +203.19.144.0/24 +203.19.147.0/24 +203.19.149.0/24 +203.19.156.0/24 +203.19.176.0/24 +203.19.178.0/23 +203.19.18.0/24 +203.19.208.0/24 +203.19.228.0/22 +203.19.233.0/24 +203.19.24.0/24 +203.19.242.0/24 +203.19.248.0/23 +203.19.255.0/24 +203.19.30.0/24 +203.19.32.0/21 +203.19.41.0/24 +203.19.44.0/23 +203.19.46.0/24 +203.19.58.0/24 +203.19.60.0/23 +203.19.64.0/24 +203.19.68.0/24 +203.19.72.0/24 +203.190.249.0/24 +203.190.96.0/20 +203.191.0.0/23 +203.191.133.0/24 +203.191.144.0/21 +203.191.152.0/21 +203.191.16.0/20 +203.191.2.0/24 +203.191.5.0/24 +203.191.64.0/18 +203.191.7.0/24 +203.192.0.0/19 +203.193.224.0/19 +203.194.120.0/21 +203.195.112.0/21 +203.195.128.0/17 +203.195.64.0/19 +203.196.0.0/21 +203.196.28.0/22 +203.196.8.0/21 +203.2.112.0/21 +203.2.126.0/23 +203.2.140.0/24 +203.2.150.0/24 +203.2.152.0/22 +203.2.156.0/23 +203.2.160.0/21 +203.2.180.0/23 +203.2.196.0/23 +203.2.209.0/24 +203.2.214.0/23 +203.2.226.0/23 +203.2.229.0/24 +203.2.236.0/23 +203.2.64.0/21 +203.2.73.0/24 +203.20.106.0/23 +203.20.115.0/24 +203.20.117.0/24 +203.20.118.0/23 +203.20.122.0/24 +203.20.126.0/23 +203.20.135.0/24 +203.20.136.0/21 +203.20.150.0/24 +203.20.17.0/24 +203.20.230.0/24 +203.20.232.0/24 +203.20.236.0/24 +203.20.40.0/23 +203.20.44.0/24 +203.20.48.0/24 +203.20.61.0/24 +203.20.65.0/24 +203.20.84.0/23 +203.20.89.0/24 +203.201.181.0/24 +203.201.182.0/24 +203.202.236.0/22 +203.205.128.0/17 +203.205.64.0/19 +203.207.112.0/20 +203.207.128.0/18 +203.207.192.0/21 +203.207.200.0/21 +203.207.208.0/20 +203.207.224.0/19 +203.207.64.0/20 +203.207.80.0/21 +203.207.88.0/22 +203.207.92.0/22 +203.207.96.0/20 +203.208.0.0/20 +203.208.16.0/22 +203.208.32.0/19 +203.209.224.0/19 +203.21.0.0/23 +203.21.10.0/24 +203.21.124.0/24 +203.21.136.0/23 +203.21.145.0/24 +203.21.18.0/24 +203.21.2.0/24 +203.21.206.0/24 +203.21.33.0/24 +203.21.34.0/24 +203.21.41.0/24 +203.21.44.0/24 +203.21.68.0/24 +203.21.8.0/24 +203.21.82.0/24 +203.21.96.0/22 +203.212.0.0/20 +203.212.80.0/20 +203.215.232.0/21 +203.217.164.0/22 +203.22.106.0/24 +203.22.122.0/23 +203.22.131.0/24 +203.22.163.0/24 +203.22.166.0/24 +203.22.170.0/24 +203.22.176.0/21 +203.22.194.0/24 +203.22.24.0/24 +203.22.242.0/23 +203.22.245.0/24 +203.22.246.0/24 +203.22.252.0/23 +203.22.28.0/23 +203.22.31.0/24 +203.22.68.0/24 +203.22.76.0/24 +203.22.78.0/24 +203.22.84.0/24 +203.22.87.0/24 +203.22.92.0/22 +203.22.99.0/24 +203.223.0.0/20 +203.223.16.0/21 +203.23.0.0/24 +203.23.107.0/24 +203.23.112.0/24 +203.23.130.0/24 +203.23.140.0/23 +203.23.172.0/24 +203.23.182.0/24 +203.23.186.0/23 +203.23.192.0/24 +203.23.197.0/24 +203.23.198.0/24 +203.23.204.0/22 +203.23.224.0/24 +203.23.226.0/23 +203.23.228.0/22 +203.23.249.0/24 +203.23.251.0/24 +203.23.47.0/24 +203.23.61.0/24 +203.23.62.0/23 +203.23.73.0/24 +203.23.85.0/24 +203.23.92.0/22 +203.23.98.0/24 +203.24.111.0/24 +203.24.112.0/24 +203.24.116.0/24 +203.24.122.0/23 +203.24.13.0/24 +203.24.145.0/24 +203.24.152.0/23 +203.24.157.0/24 +203.24.161.0/24 +203.24.167.0/24 +203.24.18.0/24 +203.24.186.0/23 +203.24.199.0/24 +203.24.202.0/24 +203.24.212.0/23 +203.24.217.0/24 +203.24.219.0/24 +203.24.244.0/24 +203.24.27.0/24 +203.24.43.0/24 +203.24.56.0/24 +203.24.58.0/24 +203.24.67.0/24 +203.24.74.0/24 +203.24.79.0/24 +203.24.80.0/23 +203.24.84.0/23 +203.24.86.0/24 +203.24.90.0/24 +203.25.100.0/24 +203.25.106.0/24 +203.25.131.0/24 +203.25.135.0/24 +203.25.138.0/24 +203.25.147.0/24 +203.25.153.0/24 +203.25.154.0/23 +203.25.164.0/24 +203.25.166.0/24 +203.25.174.0/23 +203.25.180.0/24 +203.25.182.0/24 +203.25.19.0/24 +203.25.191.0/24 +203.25.199.0/24 +203.25.20.0/23 +203.25.200.0/24 +203.25.202.0/23 +203.25.208.0/20 +203.25.229.0/24 +203.25.235.0/24 +203.25.236.0/24 +203.25.242.0/24 +203.25.46.0/24 +203.25.48.0/21 +203.25.64.0/23 +203.25.91.0/24 +203.25.99.0/24 +203.26.102.0/23 +203.26.115.0/24 +203.26.116.0/24 +203.26.12.0/24 +203.26.129.0/24 +203.26.143.0/24 +203.26.144.0/24 +203.26.148.0/23 +203.26.154.0/24 +203.26.158.0/23 +203.26.170.0/24 +203.26.173.0/24 +203.26.176.0/24 +203.26.185.0/24 +203.26.202.0/23 +203.26.210.0/24 +203.26.214.0/24 +203.26.222.0/24 +203.26.224.0/24 +203.26.228.0/24 +203.26.232.0/24 +203.26.34.0/24 +203.26.49.0/24 +203.26.50.0/24 +203.26.55.0/24 +203.26.56.0/23 +203.26.60.0/24 +203.26.65.0/24 +203.26.68.0/24 +203.26.76.0/24 +203.26.80.0/24 +203.26.84.0/24 +203.26.97.0/24 +203.27.0.0/24 +203.27.10.0/24 +203.27.102.0/24 +203.27.109.0/24 +203.27.117.0/24 +203.27.121.0/24 +203.27.122.0/23 +203.27.125.0/24 +203.27.15.0/24 +203.27.16.0/24 +203.27.20.0/24 +203.27.200.0/24 +203.27.202.0/24 +203.27.22.0/23 +203.27.233.0/24 +203.27.241.0/24 +203.27.250.0/24 +203.27.40.0/24 +203.27.45.0/24 +203.27.53.0/24 +203.27.65.0/24 +203.27.66.0/24 +203.27.81.0/24 +203.27.88.0/24 +203.28.10.0/24 +203.28.112.0/24 +203.28.12.0/24 +203.28.131.0/24 +203.28.136.0/24 +203.28.140.0/24 +203.28.145.0/24 +203.28.165.0/24 +203.28.169.0/24 +203.28.170.0/24 +203.28.178.0/23 +203.28.185.0/24 +203.28.187.0/24 +203.28.196.0/24 +203.28.226.0/23 +203.28.239.0/24 +203.28.33.0/24 +203.28.34.0/23 +203.28.43.0/24 +203.28.44.0/24 +203.28.54.0/24 +203.28.56.0/24 +203.28.73.0/24 +203.28.74.0/24 +203.28.76.0/24 +203.28.86.0/24 +203.28.88.0/24 +203.29.100.0/24 +203.29.103.0/24 +203.29.112.0/24 +203.29.120.0/22 +203.29.13.0/24 +203.29.14.0/24 +203.29.182.0/23 +203.29.187.0/24 +203.29.189.0/24 +203.29.190.0/24 +203.29.2.0/24 +203.29.205.0/24 +203.29.210.0/24 +203.29.217.0/24 +203.29.227.0/24 +203.29.231.0/24 +203.29.233.0/24 +203.29.234.0/24 +203.29.248.0/24 +203.29.254.0/23 +203.29.28.0/24 +203.29.46.0/24 +203.29.57.0/24 +203.29.61.0/24 +203.29.63.0/24 +203.29.69.0/24 +203.29.73.0/24 +203.29.8.0/23 +203.29.81.0/24 +203.29.90.0/24 +203.29.95.0/24 +203.3.105.0/24 +203.3.112.0/21 +203.3.120.0/24 +203.3.123.0/24 +203.3.135.0/24 +203.3.139.0/24 +203.3.143.0/24 +203.3.68.0/24 +203.3.72.0/23 +203.3.75.0/24 +203.3.80.0/21 +203.3.96.0/22 +203.30.111.0/24 +203.30.121.0/24 +203.30.123.0/24 +203.30.152.0/24 +203.30.156.0/24 +203.30.16.0/23 +203.30.162.0/24 +203.30.173.0/24 +203.30.175.0/24 +203.30.187.0/24 +203.30.194.0/24 +203.30.217.0/24 +203.30.220.0/24 +203.30.222.0/24 +203.30.232.0/23 +203.30.235.0/24 +203.30.240.0/23 +203.30.246.0/24 +203.30.25.0/24 +203.30.250.0/23 +203.30.27.0/24 +203.30.29.0/24 +203.30.66.0/24 +203.30.81.0/24 +203.30.87.0/24 +203.31.105.0/24 +203.31.106.0/24 +203.31.108.0/23 +203.31.124.0/24 +203.31.162.0/24 +203.31.174.0/24 +203.31.177.0/24 +203.31.181.0/24 +203.31.187.0/24 +203.31.189.0/24 +203.31.204.0/24 +203.31.220.0/24 +203.31.222.0/23 +203.31.225.0/24 +203.31.229.0/24 +203.31.248.0/23 +203.31.253.0/24 +203.31.45.0/24 +203.31.46.0/24 +203.31.49.0/24 +203.31.51.0/24 +203.31.54.0/23 +203.31.69.0/24 +203.31.72.0/24 +203.31.80.0/24 +203.31.85.0/24 +203.31.97.0/24 +203.32.102.0/24 +203.32.105.0/24 +203.32.130.0/24 +203.32.133.0/24 +203.32.140.0/24 +203.32.152.0/24 +203.32.186.0/23 +203.32.192.0/24 +203.32.196.0/24 +203.32.20.0/24 +203.32.203.0/24 +203.32.204.0/23 +203.32.212.0/24 +203.32.48.0/23 +203.32.56.0/24 +203.32.60.0/24 +203.32.62.0/24 +203.32.68.0/23 +203.32.76.0/24 +203.32.81.0/24 +203.32.84.0/23 +203.32.95.0/24 +203.33.100.0/24 +203.33.122.0/24 +203.33.129.0/24 +203.33.131.0/24 +203.33.145.0/24 +203.33.156.0/24 +203.33.158.0/23 +203.33.174.0/24 +203.33.185.0/24 +203.33.200.0/24 +203.33.202.0/23 +203.33.204.0/24 +203.33.206.0/23 +203.33.21.0/24 +203.33.214.0/23 +203.33.224.0/23 +203.33.226.0/24 +203.33.233.0/24 +203.33.243.0/24 +203.33.250.0/24 +203.33.26.0/24 +203.33.32.0/24 +203.33.4.0/24 +203.33.63.0/24 +203.33.64.0/24 +203.33.67.0/24 +203.33.68.0/24 +203.33.7.0/24 +203.33.73.0/24 +203.33.79.0/24 +203.33.8.0/21 +203.34.106.0/24 +203.34.113.0/24 +203.34.147.0/24 +203.34.150.0/24 +203.34.152.0/23 +203.34.161.0/24 +203.34.162.0/24 +203.34.187.0/24 +203.34.192.0/21 +203.34.204.0/22 +203.34.21.0/24 +203.34.232.0/24 +203.34.240.0/24 +203.34.242.0/24 +203.34.245.0/24 +203.34.251.0/24 +203.34.27.0/24 +203.34.39.0/24 +203.34.4.0/24 +203.34.48.0/23 +203.34.54.0/24 +203.34.56.0/23 +203.34.67.0/24 +203.34.69.0/24 +203.34.76.0/24 +203.34.92.0/24 +203.4.132.0/23 +203.4.134.0/24 +203.4.151.0/24 +203.4.152.0/22 +203.4.174.0/23 +203.4.180.0/24 +203.4.186.0/24 +203.4.205.0/24 +203.4.208.0/22 +203.4.227.0/24 +203.4.230.0/23 +203.5.11.0/24 +203.5.114.0/23 +203.5.118.0/24 +203.5.120.0/24 +203.5.172.0/24 +203.5.180.0/23 +203.5.182.0/24 +203.5.185.0/24 +203.5.186.0/24 +203.5.188.0/23 +203.5.190.0/24 +203.5.195.0/24 +203.5.21.0/24 +203.5.214.0/23 +203.5.218.0/23 +203.5.22.0/24 +203.5.4.0/23 +203.5.44.0/24 +203.5.46.0/23 +203.5.52.0/22 +203.5.56.0/23 +203.5.60.0/23 +203.5.7.0/24 +203.5.8.0/23 +203.55.10.0/24 +203.55.101.0/24 +203.55.109.0/24 +203.55.110.0/24 +203.55.116.0/23 +203.55.119.0/24 +203.55.128.0/23 +203.55.13.0/24 +203.55.146.0/23 +203.55.192.0/24 +203.55.196.0/24 +203.55.2.0/23 +203.55.218.0/23 +203.55.22.0/24 +203.55.221.0/24 +203.55.224.0/24 +203.55.30.0/24 +203.55.4.0/24 +203.55.93.0/24 +203.56.1.0/24 +203.56.110.0/24 +203.56.12.0/24 +203.56.121.0/24 +203.56.161.0/24 +203.56.169.0/24 +203.56.172.0/23 +203.56.175.0/24 +203.56.183.0/24 +203.56.185.0/24 +203.56.187.0/24 +203.56.192.0/24 +203.56.198.0/24 +203.56.201.0/24 +203.56.208.0/23 +203.56.210.0/24 +203.56.214.0/24 +203.56.216.0/24 +203.56.227.0/24 +203.56.228.0/24 +203.56.231.0/24 +203.56.232.0/24 +203.56.24.0/24 +203.56.240.0/24 +203.56.252.0/24 +203.56.254.0/24 +203.56.38.0/24 +203.56.4.0/24 +203.56.40.0/24 +203.56.46.0/24 +203.56.48.0/21 +203.56.68.0/23 +203.56.82.0/23 +203.56.84.0/23 +203.56.95.0/24 +203.57.101.0/24 +203.57.109.0/24 +203.57.12.0/23 +203.57.123.0/24 +203.57.157.0/24 +203.57.200.0/24 +203.57.202.0/24 +203.57.206.0/24 +203.57.222.0/24 +203.57.224.0/20 +203.57.246.0/23 +203.57.249.0/24 +203.57.253.0/24 +203.57.254.0/23 +203.57.28.0/24 +203.57.39.0/24 +203.57.46.0/24 +203.57.5.0/24 +203.57.58.0/24 +203.57.6.0/24 +203.57.61.0/24 +203.57.66.0/24 +203.57.69.0/24 +203.57.70.0/23 +203.57.73.0/24 +203.57.90.0/24 +203.6.131.0/24 +203.6.136.0/24 +203.6.138.0/23 +203.6.142.0/24 +203.6.150.0/23 +203.6.157.0/24 +203.6.159.0/24 +203.6.224.0/20 +203.6.248.0/23 +203.62.131.0/24 +203.62.139.0/24 +203.62.161.0/24 +203.62.197.0/24 +203.62.2.0/24 +203.62.228.0/22 +203.62.234.0/24 +203.62.246.0/24 +203.7.129.0/24 +203.7.138.0/23 +203.7.147.0/24 +203.7.150.0/23 +203.7.158.0/24 +203.7.192.0/23 +203.7.200.0/24 +203.76.160.0/22 +203.76.168.0/22 +203.76.208.0/22 +203.76.212.0/22 +203.76.216.0/22 +203.76.240.0/22 +203.76.244.0/22 +203.77.180.0/22 +203.78.156.0/22 +203.78.48.0/20 +203.79.0.0/20 +203.79.32.0/20 +203.8.0.0/24 +203.8.110.0/23 +203.8.115.0/24 +203.8.166.0/23 +203.8.169.0/24 +203.8.173.0/24 +203.8.184.0/24 +203.8.186.0/23 +203.8.190.0/23 +203.8.192.0/24 +203.8.197.0/24 +203.8.198.0/23 +203.8.203.0/24 +203.8.209.0/24 +203.8.210.0/23 +203.8.212.0/22 +203.8.217.0/24 +203.8.220.0/24 +203.8.23.0/24 +203.8.70.0/24 +203.8.8.0/24 +203.8.82.0/24 +203.8.86.0/23 +203.8.91.0/24 +203.80.129.0/24 +203.80.132.0/22 +203.80.136.0/21 +203.80.144.0/20 +203.80.32.0/20 +203.80.4.0/23 +203.80.57.0/24 +203.81.0.0/21 +203.81.16.0/20 +203.81.244.0/22 +203.82.0.0/23 +203.82.112.0/22 +203.82.116.0/22 +203.82.120.0/22 +203.82.124.0/22 +203.82.16.0/21 +203.82.224.0/22 +203.82.228.0/22 +203.82.232.0/22 +203.82.236.0/22 +203.83.0.0/22 +203.83.12.0/22 +203.83.224.0/20 +203.83.56.0/21 +203.83.8.0/22 +203.86.0.0/19 +203.86.250.0/24 +203.86.254.0/23 +203.86.32.0/19 +203.86.64.0/20 +203.86.80.0/20 +203.86.96.0/19 +203.88.192.0/19 +203.88.32.0/19 +203.89.0.0/22 +203.89.100.0/22 +203.89.133.0/24 +203.89.136.0/22 +203.89.144.0/24 +203.89.8.0/21 +203.9.100.0/23 +203.9.108.0/24 +203.9.158.0/24 +203.9.32.0/24 +203.9.36.0/23 +203.9.57.0/24 +203.9.63.0/24 +203.9.65.0/24 +203.9.70.0/23 +203.9.72.0/24 +203.9.75.0/24 +203.9.76.0/23 +203.9.96.0/22 +203.90.0.0/22 +203.90.12.0/22 +203.90.128.0/19 +203.90.160.0/19 +203.90.192.0/19 +203.90.8.0/22 +203.91.120.0/21 +203.91.32.0/19 +203.91.96.0/20 +203.92.0.0/22 +203.92.160.0/19 +203.92.6.0/24 +203.93.0.0/22 +203.93.10.0/23 +203.93.12.0/22 +203.93.128.0/21 +203.93.136.0/22 +203.93.140.0/24 +203.93.141.0/24 +203.93.142.0/23 +203.93.144.0/20 +203.93.16.0/20 +203.93.160.0/19 +203.93.192.0/18 +203.93.32.0/19 +203.93.4.0/22 +203.93.64.0/18 +203.93.8.0/24 +203.93.9.0/24 +203.94.0.0/22 +203.94.16.0/20 +203.94.4.0/22 +203.94.8.0/21 +203.95.0.0/21 +203.95.112.0/20 +203.95.128.0/18 +203.95.200.0/22 +203.95.204.0/22 +203.95.208.0/22 +203.95.224.0/19 +203.95.96.0/20 +203.99.16.0/20 +203.99.8.0/21 +203.99.80.0/20 +204.52.191.0/24 +210.12.0.0/18 +210.12.128.0/18 +210.12.192.0/18 +210.12.64.0/18 +210.13.0.0/18 +210.13.128.0/17 +210.13.64.0/18 +210.14.112.0/20 +210.14.128.0/19 +210.14.160.0/19 +210.14.192.0/19 +210.14.224.0/19 +210.14.64.0/19 +210.15.0.0/19 +210.15.128.0/18 +210.15.32.0/19 +210.15.64.0/19 +210.15.96.0/19 +210.16.104.0/22 +210.16.128.0/18 +210.185.192.0/18 +210.192.96.0/19 +210.2.0.0/20 +210.2.16.0/20 +210.21.0.0/17 +210.21.128.0/17 +210.22.0.0/16 +210.23.32.0/19 +210.25.0.0/16 +210.26.0.0/15 +210.28.0.0/14 +210.32.0.0/14 +210.36.0.0/14 +210.40.0.0/13 +210.5.0.0/19 +210.5.128.0/20 +210.5.144.0/20 +210.5.56.0/21 +210.51.0.0/16 +210.52.0.0/18 +210.52.128.0/17 +210.52.64.0/18 +210.53.0.0/17 +210.53.128.0/17 +210.56.192.0/19 +210.7.56.0/22 +210.7.60.0/22 +210.72.0.0/17 +210.72.128.0/19 +210.72.160.0/19 +210.72.192.0/18 +210.73.0.0/19 +210.73.128.0/17 +210.73.32.0/19 +210.73.64.0/18 +210.74.0.0/19 +210.74.128.0/19 +210.74.160.0/19 +210.74.192.0/18 +210.74.32.0/19 +210.74.64.0/19 +210.74.96.0/19 +210.75.0.0/16 +210.76.0.0/19 +210.76.128.0/17 +210.76.32.0/19 +210.76.64.0/18 +210.77.0.0/16 +210.78.0.0/19 +210.78.128.0/19 +210.78.160.0/19 +210.78.192.0/18 +210.78.32.0/19 +210.78.64.0/18 +210.79.224.0/19 +210.79.64.0/18 +210.82.0.0/15 +210.87.128.0/20 +210.87.144.0/20 +210.87.160.0/19 +211.100.0.0/16 +211.101.0.0/18 +211.101.128.0/17 +211.101.64.0/18 +211.102.0.0/16 +211.103.0.0/17 +211.103.128.0/17 +211.136.0.0/14 +211.140.0.0/15 +211.142.0.0/17 +211.142.128.0/17 +211.143.0.0/16 +211.144.0.0/15 +211.146.0.0/16 +211.147.0.0/16 +211.148.0.0/14 +211.152.0.0/15 +211.154.0.0/16 +211.155.0.0/18 +211.155.128.0/17 +211.155.64.0/19 +211.155.96.0/19 +211.156.0.0/14 +211.160.0.0/14 +211.164.0.0/14 +211.64.0.0/14 +211.68.0.0/15 +211.70.0.0/15 +211.80.0.0/16 +211.81.0.0/16 +211.82.0.0/16 +211.83.0.0/16 +211.84.0.0/15 +211.86.0.0/15 +211.88.0.0/16 +211.89.0.0/16 +211.90.0.0/15 +211.92.0.0/15 +211.94.0.0/15 +211.96.0.0/15 +211.98.0.0/16 +211.99.0.0/18 +211.99.128.0/17 +211.99.64.0/19 +211.99.96.0/19 +212.129.128.0/17 +212.64.0.0/17 +218.0.0.0/16 +218.1.0.0/16 +218.10.0.0/16 +218.100.128.0/17 +218.100.88.0/21 +218.100.96.0/19 +218.104.0.0/17 +218.104.128.0/19 +218.104.160.0/19 +218.104.192.0/21 +218.104.200.0/21 +218.104.208.0/20 +218.104.224.0/19 +218.105.0.0/16 +218.106.0.0/15 +218.108.0.0/16 +218.109.0.0/16 +218.11.0.0/16 +218.12.0.0/16 +218.13.0.0/16 +218.14.0.0/15 +218.16.0.0/14 +218.185.192.0/19 +218.185.240.0/21 +218.192.0.0/16 +218.193.0.0/16 +218.194.0.0/16 +218.195.0.0/16 +218.196.0.0/14 +218.2.0.0/15 +218.20.0.0/16 +218.200.0.0/14 +218.204.0.0/15 +218.206.0.0/15 +218.21.0.0/17 +218.21.128.0/17 +218.22.0.0/15 +218.24.0.0/15 +218.240.0.0/14 +218.244.0.0/15 +218.246.0.0/15 +218.249.0.0/16 +218.26.0.0/16 +218.27.0.0/16 +218.28.0.0/15 +218.30.0.0/15 +218.4.0.0/15 +218.56.0.0/14 +218.6.0.0/16 +218.60.0.0/15 +218.62.0.0/17 +218.62.128.0/17 +218.63.0.0/16 +218.64.0.0/15 +218.66.0.0/16 +218.67.0.0/17 +218.67.128.0/17 +218.68.0.0/15 +218.7.0.0/16 +218.70.0.0/15 +218.72.0.0/14 +218.76.0.0/15 +218.78.0.0/15 +218.8.0.0/15 +218.80.0.0/14 +218.84.0.0/14 +218.88.0.0/13 +218.96.0.0/15 +218.98.0.0/17 +218.98.128.0/18 +218.98.192.0/19 +218.98.224.0/19 +218.99.0.0/16 +219.128.0.0/12 +219.144.0.0/14 +219.148.0.0/16 +219.149.0.0/17 +219.149.128.0/18 +219.149.192.0/18 +219.150.0.0/19 +219.150.112.0/20 +219.150.128.0/17 +219.150.32.0/19 +219.150.64.0/19 +219.150.96.0/20 +219.151.0.0/19 +219.151.128.0/17 +219.151.32.0/19 +219.151.64.0/18 +219.152.0.0/15 +219.154.0.0/15 +219.156.0.0/15 +219.158.0.0/17 +219.158.128.0/17 +219.159.0.0/18 +219.159.128.0/17 +219.159.64.0/18 +219.216.0.0/15 +219.218.0.0/15 +219.220.0.0/16 +219.221.0.0/16 +219.222.0.0/15 +219.224.0.0/15 +219.226.0.0/16 +219.227.0.0/16 +219.228.0.0/15 +219.230.0.0/15 +219.232.0.0/14 +219.236.0.0/15 +219.238.0.0/15 +219.242.0.0/15 +219.244.0.0/14 +219.72.0.0/16 +219.82.0.0/16 +219.83.128.0/17 +219.90.68.0/22 +219.90.72.0/22 +219.90.76.0/22 +220.101.192.0/18 +220.112.0.0/14 +220.152.128.0/17 +220.154.0.0/15 +220.158.240.0/22 +220.160.0.0/11 +220.192.0.0/15 +220.194.0.0/15 +220.196.0.0/14 +220.200.0.0/13 +220.231.0.0/18 +220.231.128.0/17 +220.232.64.0/18 +220.234.0.0/16 +220.242.0.0/15 +220.247.136.0/21 +220.248.0.0/14 +220.252.0.0/16 +221.0.0.0/15 +221.10.0.0/16 +221.11.0.0/17 +221.11.128.0/18 +221.11.192.0/19 +221.11.224.0/19 +221.12.0.0/17 +221.12.128.0/18 +221.122.0.0/15 +221.128.128.0/17 +221.129.0.0/16 +221.13.0.0/18 +221.13.128.0/17 +221.13.64.0/19 +221.13.96.0/19 +221.130.0.0/15 +221.133.224.0/19 +221.136.0.0/16 +221.137.0.0/16 +221.14.0.0/15 +221.172.0.0/14 +221.176.0.0/13 +221.192.0.0/15 +221.194.0.0/16 +221.195.0.0/16 +221.196.0.0/15 +221.198.0.0/16 +221.199.0.0/19 +221.199.128.0/18 +221.199.192.0/20 +221.199.224.0/19 +221.199.32.0/20 +221.199.48.0/20 +221.199.64.0/18 +221.2.0.0/16 +221.200.0.0/14 +221.204.0.0/15 +221.206.0.0/16 +221.207.0.0/18 +221.207.128.0/17 +221.207.64.0/18 +221.208.0.0/14 +221.212.0.0/16 +221.213.0.0/16 +221.214.0.0/15 +221.216.0.0/13 +221.224.0.0/13 +221.232.0.0/14 +221.236.0.0/15 +221.238.0.0/16 +221.239.0.0/17 +221.239.128.0/17 +221.3.0.0/17 +221.3.128.0/17 +221.4.0.0/16 +221.5.0.0/17 +221.5.128.0/17 +221.6.0.0/16 +221.7.0.0/19 +221.7.128.0/17 +221.7.32.0/19 +221.7.64.0/19 +221.7.96.0/19 +221.8.0.0/15 +222.125.0.0/16 +222.126.128.0/17 +222.128.0.0/14 +222.132.0.0/14 +222.136.0.0/13 +222.16.0.0/15 +222.160.0.0/15 +222.162.0.0/16 +222.163.0.0/19 +222.163.128.0/17 +222.163.32.0/19 +222.163.64.0/18 +222.168.0.0/15 +222.170.0.0/15 +222.172.0.0/17 +222.172.128.0/17 +222.173.0.0/16 +222.174.0.0/15 +222.176.0.0/13 +222.18.0.0/15 +222.184.0.0/13 +222.192.0.0/14 +222.196.0.0/15 +222.198.0.0/16 +222.199.0.0/16 +222.20.0.0/15 +222.200.0.0/14 +222.204.0.0/15 +222.206.0.0/15 +222.208.0.0/13 +222.216.0.0/15 +222.218.0.0/16 +222.219.0.0/16 +222.22.0.0/16 +222.220.0.0/15 +222.222.0.0/15 +222.23.0.0/16 +222.24.0.0/15 +222.240.0.0/13 +222.248.0.0/16 +222.249.0.0/17 +222.249.128.0/19 +222.249.160.0/20 +222.249.176.0/20 +222.249.192.0/18 +222.26.0.0/15 +222.28.0.0/14 +222.32.0.0/11 +222.64.0.0/13 +222.72.0.0/15 +222.74.0.0/16 +222.75.0.0/16 +222.76.0.0/14 +222.80.0.0/15 +222.82.0.0/16 +222.83.0.0/17 +222.83.128.0/17 +222.84.0.0/16 +222.85.0.0/17 +222.85.128.0/17 +222.86.0.0/15 +222.88.0.0/15 +222.90.0.0/15 +222.92.0.0/14 +223.0.0.0/15 +223.112.0.0/14 +223.116.0.0/15 +223.120.128.0/17 +223.121.128.0/17 +223.122.128.0/17 +223.123.0.0/16 +223.124.0.0/14 +223.128.0.0/15 +223.144.0.0/12 +223.160.0.0/14 +223.166.0.0/15 +223.192.0.0/15 +223.198.0.0/15 +223.2.0.0/15 +223.20.0.0/15 +223.201.0.0/16 +223.202.0.0/15 +223.208.0.0/14 +223.212.0.0/15 +223.214.0.0/15 +223.220.0.0/15 +223.223.176.0/20 +223.223.192.0/20 +223.240.0.0/13 +223.248.0.0/14 +223.252.128.0/17 +223.254.0.0/16 +223.255.0.0/17 +223.255.236.0/22 +223.255.252.0/23 +223.27.184.0/22 +223.29.208.0/22 +223.29.252.0/22 +223.4.0.0/14 +223.64.0.0/11 +223.8.0.0/13 +223.96.0.0/12 +27.0.128.0/22 +27.0.132.0/22 +27.0.160.0/22 +27.0.164.0/22 +27.0.188.0/22 +27.0.204.0/22 +27.0.208.0/22 +27.0.212.0/22 +27.103.0.0/16 +27.106.128.0/18 +27.106.204.0/22 +27.109.124.0/22 +27.109.32.0/19 +27.112.0.0/18 +27.112.112.0/22 +27.112.116.0/22 +27.112.80.0/20 +27.113.128.0/18 +27.115.0.0/17 +27.116.44.0/22 +27.121.120.0/21 +27.121.72.0/21 +27.128.0.0/15 +27.131.220.0/22 +27.144.0.0/16 +27.148.0.0/14 +27.152.0.0/13 +27.16.0.0/12 +27.184.0.0/13 +27.192.0.0/11 +27.224.0.0/14 +27.34.232.0/21 +27.36.0.0/14 +27.40.0.0/13 +27.50.128.0/17 +27.50.40.0/21 +27.54.152.0/21 +27.54.192.0/18 +27.54.72.0/21 +27.8.0.0/13 +27.98.208.0/20 +27.98.224.0/19 +27.99.128.0/17 +36.0.0.0/22 +36.0.128.0/17 +36.0.16.0/20 +36.0.32.0/19 +36.0.64.0/18 +36.0.8.0/21 +36.1.0.0/16 +36.128.0.0/10 +36.16.0.0/12 +36.192.0.0/11 +36.248.0.0/14 +36.254.0.0/16 +36.255.116.0/22 +36.255.128.0/22 +36.255.164.0/22 +36.255.172.0/22 +36.255.176.0/22 +36.32.0.0/14 +36.36.0.0/16 +36.37.0.0/19 +36.37.36.0/23 +36.37.39.0/24 +36.37.40.0/21 +36.37.48.0/20 +36.4.0.0/14 +36.40.0.0/13 +36.48.0.0/15 +36.51.0.0/16 +36.56.0.0/13 +36.96.0.0/11 +39.0.0.0/24 +39.0.128.0/17 +39.0.16.0/20 +39.0.2.0/23 +39.0.32.0/19 +39.0.4.0/22 +39.0.64.0/18 +39.0.8.0/21 +39.104.0.0/14 +39.108.0.0/16 +39.128.0.0/10 +39.64.0.0/11 +39.96.0.0/13 +40.125.128.0/17 +40.126.64.0/18 +40.72.0.0/15 +42.0.0.0/22 +42.0.128.0/17 +42.0.16.0/21 +42.0.24.0/22 +42.0.32.0/19 +42.0.8.0/21 +42.1.0.0/19 +42.1.128.0/17 +42.1.32.0/20 +42.1.48.0/21 +42.1.56.0/22 +42.100.0.0/14 +42.120.0.0/15 +42.122.0.0/16 +42.123.0.0/19 +42.123.128.0/17 +42.123.36.0/22 +42.123.40.0/21 +42.123.48.0/20 +42.123.64.0/18 +42.128.0.0/12 +42.156.0.0/19 +42.156.128.0/17 +42.156.36.0/22 +42.156.40.0/21 +42.156.48.0/20 +42.156.64.0/18 +42.157.0.0/16 +42.158.0.0/16 +42.159.0.0/16 +42.160.0.0/12 +42.176.0.0/13 +42.184.0.0/15 +42.186.0.0/16 +42.187.0.0/18 +42.187.112.0/21 +42.187.120.0/22 +42.187.128.0/17 +42.187.64.0/19 +42.187.96.0/20 +42.192.0.0/15 +42.194.0.0/21 +42.194.12.0/22 +42.194.128.0/17 +42.194.16.0/20 +42.194.32.0/19 +42.194.64.0/18 +42.194.8.0/22 +42.195.0.0/16 +42.196.0.0/14 +42.201.0.0/17 +42.202.0.0/15 +42.204.0.0/14 +42.208.0.0/12 +42.224.0.0/12 +42.240.0.0/17 +42.240.128.0/17 +42.242.0.0/15 +42.244.0.0/14 +42.248.0.0/13 +42.4.0.0/14 +42.48.0.0/15 +42.50.0.0/16 +42.51.0.0/16 +42.52.0.0/14 +42.56.0.0/14 +42.62.0.0/17 +42.62.128.0/19 +42.62.160.0/20 +42.62.180.0/22 +42.62.184.0/21 +42.63.0.0/16 +42.80.0.0/15 +42.83.128.0/17 +42.83.64.0/20 +42.83.80.0/22 +42.83.88.0/21 +42.83.96.0/19 +42.84.0.0/14 +42.88.0.0/13 +42.96.108.0/22 +42.96.112.0/20 +42.96.128.0/17 +42.96.64.0/19 +42.96.96.0/21 +42.97.0.0/16 +42.99.0.0/18 +42.99.112.0/22 +42.99.120.0/21 +42.99.64.0/19 +42.99.96.0/20 +43.136.0.0/13 +43.144.0.0/13 +43.160.0.0/11 +43.195.0.0/16 +43.196.0.0/15 +43.224.100.0/22 +43.224.12.0/22 +43.224.144.0/22 +43.224.160.0/22 +43.224.176.0/22 +43.224.184.0/22 +43.224.200.0/22 +43.224.204.0/22 +43.224.208.0/22 +43.224.212.0/22 +43.224.216.0/22 +43.224.24.0/22 +43.224.240.0/22 +43.224.44.0/22 +43.224.52.0/22 +43.224.56.0/22 +43.224.64.0/22 +43.224.68.0/22 +43.224.72.0/22 +43.224.80.0/22 +43.225.120.0/22 +43.225.124.0/22 +43.225.172.0/22 +43.225.180.0/22 +43.225.208.0/22 +43.225.216.0/22 +43.225.220.0/22 +43.225.224.0/22 +43.225.228.0/22 +43.225.232.0/22 +43.225.236.0/22 +43.225.240.0/22 +43.225.244.0/22 +43.225.252.0/22 +43.225.76.0/22 +43.225.84.0/22 +43.226.100.0/22 +43.226.104.0/22 +43.226.108.0/22 +43.226.112.0/22 +43.226.116.0/22 +43.226.120.0/22 +43.226.128.0/22 +43.226.132.0/22 +43.226.136.0/22 +43.226.140.0/22 +43.226.144.0/22 +43.226.148.0/22 +43.226.152.0/22 +43.226.156.0/22 +43.226.160.0/22 +43.226.164.0/22 +43.226.168.0/22 +43.226.172.0/22 +43.226.176.0/22 +43.226.180.0/22 +43.226.184.0/22 +43.226.188.0/22 +43.226.192.0/22 +43.226.196.0/22 +43.226.200.0/22 +43.226.204.0/22 +43.226.208.0/22 +43.226.212.0/22 +43.226.236.0/22 +43.226.240.0/22 +43.226.244.0/22 +43.226.248.0/22 +43.226.252.0/22 +43.226.32.0/22 +43.226.36.0/22 +43.226.40.0/22 +43.226.44.0/22 +43.226.48.0/22 +43.226.52.0/22 +43.226.56.0/22 +43.226.60.0/22 +43.226.64.0/22 +43.226.68.0/22 +43.226.72.0/22 +43.226.76.0/22 +43.226.80.0/22 +43.226.84.0/22 +43.226.88.0/22 +43.226.92.0/22 +43.226.96.0/22 +43.227.0.0/22 +43.227.100.0/22 +43.227.104.0/22 +43.227.136.0/22 +43.227.140.0/22 +43.227.144.0/22 +43.227.152.0/22 +43.227.156.0/22 +43.227.160.0/22 +43.227.164.0/22 +43.227.168.0/22 +43.227.172.0/22 +43.227.176.0/22 +43.227.180.0/22 +43.227.188.0/22 +43.227.192.0/22 +43.227.196.0/22 +43.227.200.0/22 +43.227.204.0/22 +43.227.208.0/22 +43.227.212.0/22 +43.227.216.0/22 +43.227.220.0/22 +43.227.232.0/22 +43.227.248.0/22 +43.227.252.0/22 +43.227.32.0/22 +43.227.36.0/22 +43.227.4.0/22 +43.227.40.0/22 +43.227.44.0/22 +43.227.48.0/22 +43.227.52.0/22 +43.227.56.0/22 +43.227.60.0/22 +43.227.64.0/22 +43.227.68.0/22 +43.227.72.0/22 +43.227.76.0/22 +43.227.8.0/22 +43.227.80.0/22 +43.227.84.0/22 +43.227.88.0/22 +43.227.92.0/22 +43.227.96.0/22 +43.228.0.0/22 +43.228.100.0/22 +43.228.116.0/22 +43.228.12.0/22 +43.228.120.0/22 +43.228.132.0/22 +43.228.136.0/22 +43.228.148.0/22 +43.228.152.0/22 +43.228.16.0/22 +43.228.188.0/22 +43.228.20.0/22 +43.228.204.0/22 +43.228.24.0/22 +43.228.240.0/22 +43.228.28.0/22 +43.228.32.0/22 +43.228.36.0/22 +43.228.4.0/22 +43.228.40.0/22 +43.228.44.0/22 +43.228.48.0/22 +43.228.52.0/22 +43.228.56.0/22 +43.228.60.0/22 +43.228.64.0/22 +43.228.68.0/22 +43.228.76.0/22 +43.228.8.0/22 +43.229.120.0/22 +43.229.136.0/22 +43.229.140.0/22 +43.229.144.0/22 +43.229.168.0/22 +43.229.172.0/22 +43.229.176.0/22 +43.229.180.0/22 +43.229.184.0/22 +43.229.188.0/22 +43.229.192.0/22 +43.229.196.0/22 +43.229.216.0/22 +43.229.220.0/22 +43.229.232.0/22 +43.229.236.0/22 +43.229.40.0/22 +43.229.48.0/22 +43.229.56.0/22 +43.229.96.0/22 +43.230.124.0/22 +43.230.136.0/22 +43.230.20.0/22 +43.230.220.0/22 +43.230.224.0/22 +43.230.228.0/22 +43.230.232.0/22 +43.230.236.0/22 +43.230.240.0/22 +43.230.244.0/22 +43.230.248.0/22 +43.230.252.0/22 +43.230.32.0/22 +43.230.68.0/22 +43.230.72.0/22 +43.230.84.0/22 +43.231.100.0/22 +43.231.104.0/22 +43.231.108.0/22 +43.231.136.0/22 +43.231.140.0/22 +43.231.144.0/22 +43.231.148.0/22 +43.231.152.0/22 +43.231.156.0/22 +43.231.160.0/22 +43.231.164.0/22 +43.231.168.0/22 +43.231.172.0/22 +43.231.176.0/22 +43.231.180.0/22 +43.231.32.0/22 +43.231.36.0/22 +43.231.40.0/22 +43.231.44.0/22 +43.231.80.0/22 +43.231.84.0/22 +43.231.88.0/22 +43.231.92.0/22 +43.231.96.0/22 +43.236.0.0/22 +43.236.100.0/22 +43.236.104.0/22 +43.236.108.0/22 +43.236.112.0/22 +43.236.116.0/22 +43.236.12.0/22 +43.236.120.0/22 +43.236.124.0/22 +43.236.128.0/22 +43.236.132.0/22 +43.236.136.0/22 +43.236.140.0/22 +43.236.144.0/22 +43.236.148.0/22 +43.236.152.0/22 +43.236.156.0/22 +43.236.16.0/22 +43.236.160.0/22 +43.236.164.0/22 +43.236.168.0/22 +43.236.172.0/22 +43.236.176.0/22 +43.236.180.0/22 +43.236.184.0/22 +43.236.188.0/22 +43.236.192.0/22 +43.236.196.0/22 +43.236.20.0/22 +43.236.200.0/22 +43.236.204.0/22 +43.236.208.0/22 +43.236.212.0/22 +43.236.216.0/22 +43.236.220.0/22 +43.236.224.0/22 +43.236.228.0/22 +43.236.232.0/22 +43.236.236.0/22 +43.236.24.0/22 +43.236.240.0/22 +43.236.244.0/22 +43.236.248.0/22 +43.236.252.0/22 +43.236.28.0/22 +43.236.32.0/22 +43.236.36.0/22 +43.236.4.0/22 +43.236.40.0/22 +43.236.44.0/22 +43.236.48.0/22 +43.236.52.0/22 +43.236.56.0/22 +43.236.60.0/22 +43.236.64.0/22 +43.236.68.0/22 +43.236.72.0/22 +43.236.76.0/22 +43.236.8.0/22 +43.236.80.0/22 +43.236.84.0/22 +43.236.88.0/22 +43.236.92.0/22 +43.236.96.0/22 +43.237.0.0/22 +43.237.100.0/22 +43.237.104.0/22 +43.237.108.0/22 +43.237.112.0/22 +43.237.116.0/22 +43.237.12.0/22 +43.237.120.0/22 +43.237.124.0/22 +43.237.128.0/22 +43.237.132.0/22 +43.237.136.0/22 +43.237.140.0/22 +43.237.144.0/22 +43.237.148.0/22 +43.237.152.0/22 +43.237.156.0/22 +43.237.16.0/22 +43.237.160.0/22 +43.237.164.0/22 +43.237.168.0/22 +43.237.172.0/22 +43.237.176.0/22 +43.237.180.0/22 +43.237.184.0/22 +43.237.188.0/22 +43.237.192.0/22 +43.237.20.0/22 +43.237.200.0/22 +43.237.204.0/22 +43.237.208.0/22 +43.237.212.0/22 +43.237.216.0/22 +43.237.220.0/22 +43.237.224.0/22 +43.237.228.0/22 +43.237.232.0/22 +43.237.236.0/22 +43.237.24.0/22 +43.237.240.0/22 +43.237.244.0/22 +43.237.248.0/22 +43.237.252.0/22 +43.237.28.0/22 +43.237.32.0/22 +43.237.36.0/22 +43.237.4.0/22 +43.237.40.0/22 +43.237.44.0/22 +43.237.48.0/22 +43.237.52.0/22 +43.237.56.0/22 +43.237.60.0/22 +43.237.64.0/22 +43.237.68.0/22 +43.237.72.0/22 +43.237.76.0/22 +43.237.8.0/22 +43.237.80.0/22 +43.237.84.0/22 +43.237.88.0/22 +43.237.92.0/22 +43.237.96.0/22 +43.238.0.0/22 +43.238.100.0/22 +43.238.104.0/22 +43.238.108.0/22 +43.238.112.0/22 +43.238.116.0/22 +43.238.12.0/22 +43.238.120.0/22 +43.238.124.0/22 +43.238.128.0/22 +43.238.132.0/22 +43.238.136.0/22 +43.238.140.0/22 +43.238.144.0/22 +43.238.148.0/22 +43.238.152.0/22 +43.238.156.0/22 +43.238.16.0/22 +43.238.160.0/22 +43.238.164.0/22 +43.238.168.0/22 +43.238.172.0/22 +43.238.176.0/22 +43.238.180.0/22 +43.238.184.0/22 +43.238.188.0/22 +43.238.192.0/22 +43.238.196.0/22 +43.238.20.0/22 +43.238.200.0/22 +43.238.204.0/22 +43.238.208.0/22 +43.238.212.0/22 +43.238.216.0/22 +43.238.220.0/22 +43.238.224.0/22 +43.238.228.0/22 +43.238.232.0/22 +43.238.236.0/22 +43.238.24.0/22 +43.238.240.0/22 +43.238.244.0/22 +43.238.248.0/22 +43.238.252.0/22 +43.238.28.0/22 +43.238.32.0/22 +43.238.36.0/22 +43.238.4.0/22 +43.238.40.0/22 +43.238.44.0/22 +43.238.48.0/22 +43.238.52.0/22 +43.238.56.0/22 +43.238.60.0/22 +43.238.64.0/22 +43.238.68.0/22 +43.238.72.0/22 +43.238.76.0/22 +43.238.8.0/22 +43.238.80.0/22 +43.238.84.0/22 +43.238.88.0/22 +43.238.92.0/22 +43.238.96.0/22 +43.239.0.0/22 +43.239.116.0/22 +43.239.120.0/22 +43.239.16.0/22 +43.239.172.0/22 +43.239.176.0/22 +43.239.20.0/22 +43.239.24.0/22 +43.239.28.0/22 +43.239.32.0/22 +43.239.36.0/22 +43.239.4.0/22 +43.239.40.0/22 +43.239.44.0/22 +43.239.48.0/22 +43.239.8.0/21 +43.240.0.0/22 +43.240.124.0/22 +43.240.128.0/22 +43.240.132.0/22 +43.240.136.0/22 +43.240.144.0/22 +43.240.156.0/22 +43.240.160.0/22 +43.240.164.0/22 +43.240.168.0/22 +43.240.172.0/22 +43.240.176.0/22 +43.240.180.0/22 +43.240.184.0/22 +43.240.188.0/22 +43.240.192.0/22 +43.240.196.0/22 +43.240.200.0/22 +43.240.204.0/22 +43.240.208.0/22 +43.240.212.0/22 +43.240.216.0/22 +43.240.220.0/22 +43.240.240.0/22 +43.240.244.0/22 +43.240.248.0/22 +43.240.252.0/22 +43.240.56.0/22 +43.240.60.0/22 +43.240.68.0/22 +43.240.72.0/22 +43.240.76.0/22 +43.240.84.0/22 +43.241.0.0/22 +43.241.112.0/22 +43.241.12.0/22 +43.241.16.0/22 +43.241.168.0/22 +43.241.172.0/22 +43.241.176.0/22 +43.241.180.0/22 +43.241.184.0/22 +43.241.20.0/22 +43.241.208.0/22 +43.241.212.0/22 +43.241.216.0/22 +43.241.220.0/22 +43.241.224.0/22 +43.241.228.0/22 +43.241.232.0/22 +43.241.236.0/22 +43.241.240.0/22 +43.241.248.0/22 +43.241.252.0/22 +43.241.4.0/22 +43.241.48.0/22 +43.241.76.0/22 +43.241.8.0/22 +43.241.80.0/22 +43.241.84.0/22 +43.241.88.0/22 +43.241.92.0/22 +43.242.12.0/22 +43.242.144.0/22 +43.242.148.0/22 +43.242.152.0/22 +43.242.156.0/22 +43.242.16.0/22 +43.242.160.0/22 +43.242.164.0/22 +43.242.168.0/22 +43.242.180.0/22 +43.242.188.0/22 +43.242.192.0/22 +43.242.196.0/22 +43.242.20.0/22 +43.242.204.0/22 +43.242.216.0/22 +43.242.220.0/22 +43.242.24.0/22 +43.242.252.0/22 +43.242.28.0/22 +43.242.44.0/22 +43.242.48.0/22 +43.242.52.0/22 +43.242.56.0/22 +43.242.60.0/22 +43.242.64.0/22 +43.242.72.0/22 +43.242.76.0/22 +43.242.8.0/22 +43.242.80.0/22 +43.242.84.0/22 +43.242.88.0/22 +43.242.92.0/22 +43.242.96.0/22 +43.243.12.0/22 +43.243.128.0/22 +43.243.136.0/22 +43.243.144.0/22 +43.243.148.0/22 +43.243.156.0/22 +43.243.16.0/22 +43.243.180.0/22 +43.243.228.0/22 +43.243.232.0/22 +43.243.244.0/22 +43.243.4.0/22 +43.243.8.0/22 +43.243.88.0/22 +43.246.0.0/22 +43.246.112.0/22 +43.246.12.0/22 +43.246.16.0/22 +43.246.20.0/22 +43.246.212.0/22 +43.246.228.0/22 +43.246.24.0/22 +43.246.28.0/22 +43.246.32.0/22 +43.246.36.0/22 +43.246.4.0/22 +43.246.40.0/22 +43.246.44.0/22 +43.246.48.0/22 +43.246.52.0/22 +43.246.56.0/22 +43.246.60.0/22 +43.246.64.0/22 +43.246.68.0/22 +43.246.72.0/22 +43.246.76.0/22 +43.246.8.0/22 +43.246.80.0/22 +43.246.84.0/22 +43.246.88.0/22 +43.246.92.0/22 +43.246.96.0/22 +43.247.100.0/22 +43.247.108.0/22 +43.247.112.0/22 +43.247.148.0/22 +43.247.152.0/22 +43.247.176.0/22 +43.247.180.0/22 +43.247.184.0/22 +43.247.188.0/22 +43.247.196.0/22 +43.247.200.0/22 +43.247.204.0/22 +43.247.208.0/22 +43.247.212.0/22 +43.247.216.0/22 +43.247.220.0/22 +43.247.224.0/22 +43.247.228.0/22 +43.247.232.0/22 +43.247.236.0/22 +43.247.240.0/22 +43.247.244.0/22 +43.247.248.0/22 +43.247.252.0/22 +43.247.4.0/22 +43.247.44.0/22 +43.247.48.0/22 +43.247.68.0/22 +43.247.76.0/22 +43.247.8.0/22 +43.247.84.0/22 +43.247.88.0/22 +43.247.92.0/22 +43.247.96.0/22 +43.248.0.0/22 +43.248.100.0/22 +43.248.104.0/22 +43.248.108.0/22 +43.248.112.0/22 +43.248.116.0/22 +43.248.120.0/22 +43.248.124.0/22 +43.248.128.0/22 +43.248.132.0/22 +43.248.136.0/22 +43.248.140.0/22 +43.248.144.0/22 +43.248.148.0/22 +43.248.176.0/22 +43.248.180.0/22 +43.248.184.0/22 +43.248.188.0/22 +43.248.192.0/22 +43.248.196.0/22 +43.248.20.0/22 +43.248.200.0/22 +43.248.204.0/22 +43.248.208.0/22 +43.248.228.0/22 +43.248.232.0/22 +43.248.244.0/22 +43.248.28.0/22 +43.248.4.0/22 +43.248.48.0/22 +43.248.76.0/22 +43.248.80.0/22 +43.248.84.0/22 +43.248.88.0/22 +43.248.92.0/22 +43.248.96.0/22 +43.249.120.0/22 +43.249.132.0/22 +43.249.136.0/22 +43.249.144.0/22 +43.249.148.0/22 +43.249.152.0/22 +43.249.156.0/22 +43.249.160.0/22 +43.249.164.0/22 +43.249.168.0/22 +43.249.192.0/22 +43.249.236.0/22 +43.249.4.0/22 +43.249.8.0/22 +43.250.100.0/22 +43.250.104.0/22 +43.250.108.0/22 +43.250.112.0/22 +43.250.116.0/22 +43.250.12.0/22 +43.250.128.0/22 +43.250.144.0/22 +43.250.148.0/22 +43.250.16.0/22 +43.250.160.0/22 +43.250.168.0/22 +43.250.172.0/22 +43.250.176.0/22 +43.250.20.0/22 +43.250.200.0/22 +43.250.212.0/22 +43.250.216.0/22 +43.250.220.0/22 +43.250.236.0/22 +43.250.244.0/22 +43.250.28.0/22 +43.250.32.0/22 +43.250.36.0/22 +43.250.4.0/22 +43.250.72.0/22 +43.250.96.0/22 +43.251.100.0/22 +43.251.116.0/22 +43.251.192.0/22 +43.251.232.0/22 +43.251.236.0/22 +43.251.244.0/22 +43.251.36.0/22 +43.251.4.0/22 +43.251.8.0/22 +43.252.224.0/22 +43.252.48.0/22 +43.252.56.0/22 +43.254.0.0/22 +43.254.100.0/22 +43.254.104.0/22 +43.254.112.0/22 +43.254.116.0/22 +43.254.128.0/22 +43.254.136.0/22 +43.254.140.0/22 +43.254.144.0/22 +43.254.148.0/22 +43.254.152.0/22 +43.254.156.0/22 +43.254.168.0/22 +43.254.172.0/22 +43.254.180.0/22 +43.254.184.0/22 +43.254.188.0/22 +43.254.192.0/22 +43.254.196.0/22 +43.254.200.0/22 +43.254.208.0/22 +43.254.220.0/22 +43.254.224.0/22 +43.254.228.0/22 +43.254.232.0/22 +43.254.236.0/22 +43.254.24.0/22 +43.254.240.0/22 +43.254.248.0/22 +43.254.252.0/22 +43.254.36.0/22 +43.254.4.0/22 +43.254.44.0/22 +43.254.52.0/22 +43.254.64.0/22 +43.254.72.0/22 +43.254.8.0/22 +43.254.84.0/22 +43.254.88.0/22 +43.254.92.0/22 +43.255.0.0/22 +43.255.144.0/22 +43.255.16.0/22 +43.255.168.0/22 +43.255.176.0/22 +43.255.184.0/22 +43.255.192.0/22 +43.255.200.0/22 +43.255.204.0/22 +43.255.208.0/22 +43.255.212.0/22 +43.255.224.0/22 +43.255.228.0/22 +43.255.232.0/22 +43.255.244.0/22 +43.255.4.0/22 +43.255.48.0/22 +43.255.64.0/22 +43.255.68.0/22 +43.255.72.0/22 +43.255.76.0/22 +43.255.8.0/22 +43.255.84.0/22 +43.255.96.0/22 +45.112.132.0/22 +45.112.188.0/22 +45.112.208.0/22 +45.112.212.0/22 +45.112.216.0/22 +45.112.220.0/22 +45.112.228.0/22 +45.112.232.0/22 +45.112.236.0/22 +45.113.12.0/22 +45.113.144.0/22 +45.113.148.0/22 +45.113.16.0/22 +45.113.168.0/22 +45.113.176.0/22 +45.113.184.0/22 +45.113.20.0/22 +45.113.200.0/22 +45.113.204.0/22 +45.113.208.0/22 +45.113.212.0/22 +45.113.216.0/22 +45.113.220.0/22 +45.113.24.0/22 +45.113.240.0/22 +45.113.252.0/22 +45.113.28.0/22 +45.113.40.0/22 +45.113.52.0/22 +45.113.56.0/22 +45.113.72.0/22 +45.114.0.0/22 +45.114.12.0/22 +45.114.124.0/22 +45.114.136.0/22 +45.114.196.0/22 +45.114.200.0/22 +45.114.228.0/22 +45.114.252.0/22 +45.114.32.0/22 +45.114.40.0/22 +45.114.52.0/22 +45.114.96.0/22 +45.115.100.0/22 +45.115.120.0/22 +45.115.132.0/22 +45.115.144.0/22 +45.115.156.0/22 +45.115.164.0/22 +45.115.200.0/22 +45.115.212.0/22 +45.115.228.0/22 +45.115.236.0/22 +45.115.244.0/22 +45.115.248.0/22 +45.115.44.0/22 +45.116.100.0/22 +45.116.140.0/22 +45.116.152.0/22 +45.116.16.0/22 +45.116.208.0/22 +45.116.24.0/22 +45.116.32.0/22 +45.116.36.0/22 +45.116.52.0/22 +45.116.96.0/22 +45.117.124.0/22 +45.117.20.0/22 +45.117.252.0/22 +45.117.68.0/22 +45.117.8.0/22 +45.119.104.0/22 +45.119.116.0/22 +45.119.232.0/22 +45.119.52.0/22 +45.119.60.0/22 +45.119.64.0/22 +45.119.68.0/22 +45.119.72.0/22 +45.120.100.0/22 +45.120.140.0/22 +45.120.164.0/22 +45.120.240.0/22 +45.121.172.0/22 +45.121.176.0/22 +45.121.212.0/22 +45.121.240.0/22 +45.121.244.0/22 +45.121.248.0/22 +45.121.252.0/22 +45.121.52.0/22 +45.121.64.0/22 +45.121.68.0/22 +45.121.72.0/22 +45.121.92.0/22 +45.121.96.0/22 +45.122.0.0/22 +45.122.104.0/22 +45.122.108.0/22 +45.122.112.0/22 +45.122.116.0/22 +45.122.12.0/22 +45.122.16.0/22 +45.122.160.0/22 +45.122.164.0/22 +45.122.168.0/22 +45.122.172.0/22 +45.122.176.0/22 +45.122.180.0/22 +45.122.184.0/22 +45.122.188.0/22 +45.122.192.0/22 +45.122.196.0/22 +45.122.20.0/22 +45.122.200.0/22 +45.122.204.0/22 +45.122.208.0/22 +45.122.212.0/22 +45.122.216.0/22 +45.122.24.0/22 +45.122.28.0/22 +45.122.32.0/22 +45.122.36.0/22 +45.122.4.0/22 +45.122.40.0/22 +45.122.60.0/22 +45.122.64.0/22 +45.122.68.0/22 +45.122.72.0/22 +45.122.76.0/22 +45.122.8.0/22 +45.122.80.0/22 +45.122.84.0/22 +45.122.88.0/22 +45.122.92.0/22 +45.122.96.0/21 +45.123.120.0/22 +45.123.128.0/22 +45.123.132.0/22 +45.123.136.0/22 +45.123.148.0/22 +45.123.152.0/22 +45.123.156.0/22 +45.123.164.0/22 +45.123.168.0/22 +45.123.172.0/22 +45.123.176.0/22 +45.123.180.0/22 +45.123.184.0/22 +45.123.204.0/22 +45.123.212.0/22 +45.123.224.0/22 +45.123.228.0/22 +45.123.232.0/22 +45.123.236.0/22 +45.123.240.0/22 +45.123.244.0/22 +45.123.248.0/22 +45.123.252.0/22 +45.123.28.0/22 +45.123.32.0/22 +45.123.36.0/22 +45.123.44.0/22 +45.123.48.0/22 +45.123.52.0/22 +45.123.56.0/22 +45.123.60.0/22 +45.123.64.0/22 +45.123.68.0/22 +45.123.72.0/22 +45.123.76.0/22 +45.123.80.0/22 +45.123.84.0/22 +45.123.88.0/22 +45.124.0.0/22 +45.124.100.0/22 +45.124.124.0/22 +45.124.172.0/22 +45.124.176.0/22 +45.124.20.0/22 +45.124.208.0/22 +45.124.248.0/22 +45.124.28.0/22 +45.124.32.0/22 +45.124.36.0/22 +45.124.44.0/22 +45.124.68.0/22 +45.124.76.0/22 +45.124.80.0/22 +45.125.100.0/22 +45.125.104.0/22 +45.125.12.0/22 +45.125.136.0/22 +45.125.16.0/22 +45.125.24.0/22 +45.125.44.0/22 +45.125.52.0/22 +45.125.56.0/22 +45.125.76.0/22 +45.125.80.0/22 +45.125.84.0/22 +45.125.88.0/22 +45.125.92.0/22 +45.125.96.0/22 +45.126.100.0/22 +45.126.108.0/22 +45.126.112.0/22 +45.126.116.0/22 +45.126.120.0/22 +45.126.212.0/22 +45.126.220.0/22 +45.126.48.0/22 +45.126.52.0/22 +45.127.12.0/22 +45.127.128.0/22 +45.127.144.0/22 +45.127.148.0/22 +45.127.156.0/22 +45.127.216.0/22 +45.127.8.0/22 +45.127.96.0/22 +45.248.100.0/22 +45.248.104.0/22 +45.248.108.0/22 +45.248.128.0/22 +45.248.132.0/22 +45.248.204.0/22 +45.248.208.0/22 +45.248.212.0/22 +45.248.216.0/22 +45.248.220.0/22 +45.248.224.0/22 +45.248.228.0/22 +45.248.232.0/22 +45.248.236.0/22 +45.248.240.0/22 +45.248.244.0/22 +45.248.248.0/22 +45.248.252.0/22 +45.248.8.0/22 +45.248.80.0/22 +45.248.84.0/22 +45.248.88.0/22 +45.248.96.0/22 +45.249.0.0/22 +45.249.112.0/22 +45.249.12.0/22 +45.249.16.0/22 +45.249.188.0/22 +45.249.192.0/22 +45.249.196.0/22 +45.249.20.0/22 +45.249.200.0/22 +45.249.204.0/22 +45.249.208.0/22 +45.249.212.0/22 +45.249.24.0/22 +45.249.28.0/22 +45.249.32.0/22 +45.249.36.0/22 +45.249.4.0/22 +45.250.104.0/22 +45.250.108.0/22 +45.250.112.0/22 +45.250.116.0/22 +45.250.12.0/22 +45.250.120.0/22 +45.250.124.0/22 +45.250.128.0/22 +45.250.132.0/22 +45.250.136.0/22 +45.250.140.0/22 +45.250.144.0/22 +45.250.148.0/22 +45.250.152.0/22 +45.250.16.0/22 +45.250.164.0/22 +45.250.180.0/22 +45.250.184.0/22 +45.250.188.0/22 +45.250.192.0/22 +45.250.28.0/22 +45.250.32.0/22 +45.250.36.0/22 +45.250.40.0/22 +45.250.76.0/22 +45.250.80.0/22 +45.250.84.0/22 +45.250.88.0/22 +45.250.92.0/22 +45.250.96.0/22 +45.251.0.0/22 +45.251.100.0/22 +45.251.120.0/22 +45.251.124.0/22 +45.251.136.0/22 +45.251.140.0/22 +45.251.144.0/22 +45.251.148.0/22 +45.251.152.0/22 +45.251.156.0/22 +45.251.16.0/22 +45.251.160.0/22 +45.251.164.0/22 +45.251.168.0/22 +45.251.172.0/22 +45.251.176.0/22 +45.251.180.0/22 +45.251.184.0/22 +45.251.188.0/22 +45.251.192.0/22 +45.251.196.0/22 +45.251.20.0/22 +45.251.200.0/22 +45.251.204.0/22 +45.251.208.0/22 +45.251.212.0/22 +45.251.216.0/22 +45.251.220.0/22 +45.251.224.0/22 +45.251.240.0/22 +45.251.52.0/22 +45.251.8.0/22 +45.251.84.0/22 +45.251.88.0/22 +45.251.92.0/22 +45.251.96.0/22 +45.252.0.0/22 +45.252.100.0/22 +45.252.104.0/22 +45.252.108.0/22 +45.252.112.0/22 +45.252.116.0/22 +45.252.12.0/22 +45.252.120.0/22 +45.252.124.0/22 +45.252.128.0/22 +45.252.132.0/22 +45.252.136.0/22 +45.252.140.0/22 +45.252.144.0/22 +45.252.148.0/22 +45.252.152.0/22 +45.252.156.0/22 +45.252.16.0/22 +45.252.160.0/22 +45.252.164.0/22 +45.252.168.0/22 +45.252.172.0/22 +45.252.176.0/22 +45.252.192.0/22 +45.252.196.0/22 +45.252.20.0/22 +45.252.200.0/22 +45.252.204.0/22 +45.252.208.0/22 +45.252.212.0/22 +45.252.216.0/22 +45.252.220.0/22 +45.252.224.0/22 +45.252.228.0/22 +45.252.232.0/22 +45.252.24.0/22 +45.252.28.0/22 +45.252.32.0/22 +45.252.36.0/22 +45.252.4.0/22 +45.252.40.0/22 +45.252.44.0/22 +45.252.48.0/22 +45.252.60.0/22 +45.252.8.0/22 +45.252.84.0/22 +45.252.88.0/22 +45.252.92.0/22 +45.252.96.0/22 +45.253.0.0/22 +45.253.100.0/22 +45.253.104.0/22 +45.253.108.0/22 +45.253.112.0/22 +45.253.116.0/22 +45.253.12.0/22 +45.253.120.0/22 +45.253.132.0/22 +45.253.136.0/22 +45.253.140.0/22 +45.253.144.0/22 +45.253.148.0/22 +45.253.152.0/22 +45.253.156.0/22 +45.253.16.0/22 +45.253.160.0/22 +45.253.164.0/22 +45.253.168.0/22 +45.253.172.0/22 +45.253.176.0/22 +45.253.180.0/22 +45.253.184.0/22 +45.253.188.0/22 +45.253.192.0/22 +45.253.196.0/22 +45.253.20.0/22 +45.253.200.0/22 +45.253.204.0/22 +45.253.208.0/22 +45.253.212.0/22 +45.253.216.0/22 +45.253.220.0/22 +45.253.224.0/22 +45.253.228.0/22 +45.253.232.0/22 +45.253.236.0/22 +45.253.24.0/22 +45.253.240.0/22 +45.253.244.0/22 +45.253.28.0/22 +45.253.32.0/22 +45.253.36.0/22 +45.253.4.0/22 +45.253.40.0/22 +45.253.44.0/22 +45.253.48.0/22 +45.253.52.0/22 +45.253.56.0/22 +45.253.60.0/22 +45.253.64.0/22 +45.253.68.0/22 +45.253.72.0/22 +45.253.76.0/22 +45.253.8.0/22 +45.253.80.0/22 +45.253.84.0/22 +45.253.92.0/22 +45.253.96.0/22 +45.254.0.0/22 +45.254.100.0/22 +45.254.104.0/22 +45.254.108.0/22 +45.254.112.0/22 +45.254.116.0/22 +45.254.12.0/22 +45.254.120.0/22 +45.254.124.0/22 +45.254.128.0/22 +45.254.132.0/22 +45.254.136.0/22 +45.254.140.0/22 +45.254.144.0/22 +45.254.148.0/22 +45.254.152.0/22 +45.254.156.0/22 +45.254.16.0/22 +45.254.160.0/22 +45.254.164.0/22 +45.254.168.0/22 +45.254.172.0/22 +45.254.176.0/22 +45.254.180.0/22 +45.254.184.0/22 +45.254.188.0/22 +45.254.192.0/22 +45.254.196.0/22 +45.254.20.0/22 +45.254.200.0/22 +45.254.204.0/22 +45.254.208.0/22 +45.254.212.0/22 +45.254.216.0/22 +45.254.220.0/22 +45.254.224.0/22 +45.254.228.0/22 +45.254.236.0/22 +45.254.24.0/22 +45.254.240.0/22 +45.254.248.0/22 +45.254.28.0/22 +45.254.4.0/22 +45.254.40.0/22 +45.254.48.0/22 +45.254.52.0/22 +45.254.56.0/22 +45.254.60.0/22 +45.254.64.0/22 +45.254.68.0/22 +45.254.72.0/22 +45.254.76.0/22 +45.254.8.0/22 +45.254.80.0/22 +45.254.84.0/22 +45.254.88.0/22 +45.254.92.0/22 +45.254.96.0/22 +45.255.0.0/22 +45.255.100.0/22 +45.255.104.0/22 +45.255.108.0/22 +45.255.112.0/22 +45.255.116.0/22 +45.255.12.0/22 +45.255.120.0/22 +45.255.124.0/22 +45.255.132.0/22 +45.255.136.0/22 +45.255.140.0/22 +45.255.144.0/22 +45.255.148.0/22 +45.255.152.0/22 +45.255.156.0/22 +45.255.16.0/22 +45.255.160.0/22 +45.255.164.0/22 +45.255.168.0/22 +45.255.172.0/22 +45.255.176.0/22 +45.255.180.0/22 +45.255.184.0/22 +45.255.188.0/22 +45.255.192.0/22 +45.255.196.0/22 +45.255.20.0/22 +45.255.200.0/22 +45.255.204.0/22 +45.255.208.0/22 +45.255.212.0/22 +45.255.216.0/22 +45.255.220.0/22 +45.255.224.0/22 +45.255.228.0/22 +45.255.232.0/22 +45.255.236.0/22 +45.255.24.0/22 +45.255.240.0/22 +45.255.244.0/22 +45.255.248.0/22 +45.255.28.0/22 +45.255.32.0/22 +45.255.36.0/22 +45.255.4.0/22 +45.255.40.0/22 +45.255.44.0/22 +45.255.48.0/22 +45.255.52.0/22 +45.255.56.0/22 +45.255.60.0/22 +45.255.64.0/22 +45.255.68.0/22 +45.255.72.0/22 +45.255.76.0/22 +45.255.8.0/22 +45.255.80.0/22 +45.255.84.0/22 +45.255.88.0/22 +45.255.92.0/22 +45.255.96.0/22 +45.40.192.0/18 +45.65.16.0/22 +45.65.20.0/22 +45.65.24.0/22 +45.65.28.0/22 +47.92.0.0/14 +47.96.0.0/11 +49.112.0.0/13 +49.120.0.0/14 +49.128.0.0/24 +49.128.2.0/23 +49.128.4.0/22 +49.140.0.0/15 +49.152.0.0/14 +49.208.0.0/15 +49.210.0.0/15 +49.220.0.0/14 +49.232.0.0/14 +49.239.0.0/18 +49.239.192.0/18 +49.246.224.0/19 +49.4.0.0/14 +49.51.0.0/16 +49.52.0.0/14 +49.64.0.0/11 +52.130.0.0/15 +52.80.0.0/15 +52.82.0.0/15 +54.222.0.0/15 +58.100.0.0/15 +58.116.0.0/14 +58.128.0.0/13 +58.14.0.0/15 +58.144.0.0/16 +58.154.0.0/15 +58.16.0.0/16 +58.17.0.0/17 +58.17.128.0/17 +58.18.0.0/16 +58.19.0.0/16 +58.192.0.0/15 +58.194.0.0/15 +58.196.0.0/15 +58.198.0.0/15 +58.20.0.0/16 +58.200.0.0/13 +58.208.0.0/12 +58.21.0.0/16 +58.22.0.0/15 +58.24.0.0/15 +58.240.0.0/15 +58.242.0.0/15 +58.244.0.0/15 +58.246.0.0/15 +58.248.0.0/13 +58.30.0.0/15 +58.32.0.0/13 +58.40.0.0/15 +58.42.0.0/16 +58.43.0.0/16 +58.44.0.0/14 +58.48.0.0/13 +58.56.0.0/15 +58.58.0.0/16 +58.59.0.0/17 +58.59.128.0/17 +58.60.0.0/14 +58.65.232.0/21 +58.66.0.0/15 +58.68.128.0/17 +58.82.0.0/17 +58.83.0.0/17 +58.83.128.0/17 +58.87.64.0/18 +58.99.128.0/17 +59.107.0.0/17 +59.107.128.0/17 +59.108.0.0/15 +59.110.0.0/15 +59.151.0.0/17 +59.152.112.0/22 +59.152.116.0/22 +59.152.16.0/22 +59.152.20.0/22 +59.152.24.0/22 +59.152.28.0/22 +59.152.32.0/22 +59.152.36.0/22 +59.152.64.0/22 +59.152.68.0/22 +59.152.72.0/22 +59.152.76.0/22 +59.153.116.0/22 +59.153.136.0/22 +59.153.152.0/22 +59.153.164.0/22 +59.153.168.0/22 +59.153.172.0/22 +59.153.176.0/22 +59.153.180.0/22 +59.153.184.0/22 +59.153.188.0/22 +59.153.192.0/22 +59.153.32.0/22 +59.153.4.0/22 +59.153.60.0/22 +59.153.64.0/22 +59.153.68.0/22 +59.153.72.0/22 +59.153.92.0/22 +59.155.0.0/16 +59.172.0.0/15 +59.174.0.0/15 +59.191.0.0/17 +59.192.0.0/10 +59.32.0.0/13 +59.40.0.0/15 +59.42.0.0/16 +59.43.0.0/16 +59.44.0.0/14 +59.48.0.0/16 +59.49.0.0/17 +59.49.128.0/17 +59.50.0.0/16 +59.51.0.0/17 +59.51.128.0/17 +59.52.0.0/14 +59.56.0.0/14 +59.60.0.0/15 +59.62.0.0/15 +59.64.0.0/14 +59.68.0.0/14 +59.72.0.0/15 +59.74.0.0/15 +59.76.0.0/16 +59.77.0.0/16 +59.78.0.0/15 +59.80.0.0/15 +59.82.0.0/15 +60.0.0.0/13 +60.10.0.0/16 +60.11.0.0/16 +60.12.0.0/16 +60.13.0.0/18 +60.13.128.0/17 +60.13.64.0/18 +60.14.0.0/15 +60.16.0.0/13 +60.160.0.0/15 +60.162.0.0/15 +60.164.0.0/15 +60.166.0.0/15 +60.168.0.0/13 +60.176.0.0/12 +60.194.0.0/15 +60.200.0.0/14 +60.204.0.0/16 +60.205.0.0/16 +60.206.0.0/15 +60.208.0.0/13 +60.216.0.0/15 +60.218.0.0/15 +60.220.0.0/14 +60.232.0.0/15 +60.235.0.0/16 +60.24.0.0/14 +60.245.128.0/17 +60.247.0.0/16 +60.252.0.0/16 +60.253.128.0/17 +60.255.0.0/16 +60.28.0.0/15 +60.30.0.0/16 +60.31.0.0/16 +60.55.0.0/16 +60.63.0.0/16 +60.8.0.0/15 +61.128.0.0/15 +61.130.0.0/15 +61.132.0.0/16 +61.133.0.0/17 +61.133.128.0/17 +61.134.0.0/18 +61.134.128.0/18 +61.134.192.0/18 +61.134.64.0/19 +61.134.96.0/19 +61.135.0.0/16 +61.136.0.0/18 +61.136.128.0/17 +61.136.64.0/18 +61.137.0.0/17 +61.137.128.0/17 +61.138.0.0/18 +61.138.128.0/18 +61.138.192.0/18 +61.138.64.0/18 +61.139.0.0/17 +61.139.128.0/18 +61.139.192.0/18 +61.14.212.0/22 +61.14.216.0/22 +61.14.220.0/22 +61.14.240.0/22 +61.14.244.0/22 +61.140.0.0/14 +61.144.0.0/14 +61.148.0.0/15 +61.150.0.0/15 +61.152.0.0/16 +61.153.0.0/16 +61.154.0.0/15 +61.156.0.0/16 +61.157.0.0/16 +61.158.0.0/17 +61.158.128.0/17 +61.159.0.0/18 +61.159.128.0/17 +61.159.64.0/18 +61.160.0.0/16 +61.161.0.0/18 +61.161.128.0/17 +61.161.64.0/18 +61.162.0.0/16 +61.163.0.0/16 +61.164.0.0/16 +61.165.0.0/16 +61.166.0.0/16 +61.167.0.0/16 +61.168.0.0/16 +61.169.0.0/16 +61.170.0.0/15 +61.172.0.0/14 +61.176.0.0/16 +61.177.0.0/16 +61.178.0.0/16 +61.179.0.0/16 +61.180.0.0/17 +61.180.128.0/17 +61.181.0.0/16 +61.182.0.0/16 +61.183.0.0/16 +61.184.0.0/14 +61.188.0.0/16 +61.189.0.0/17 +61.189.128.0/17 +61.190.0.0/15 +61.232.0.0/14 +61.236.0.0/15 +61.240.0.0/14 +61.28.0.0/20 +61.28.16.0/20 +61.28.32.0/19 +61.28.64.0/18 +61.29.128.0/18 +61.29.192.0/19 +61.29.224.0/20 +61.29.240.0/21 +61.29.248.0/22 +61.29.254.0/23 +61.4.176.0/20 +61.4.80.0/22 +61.4.84.0/22 +61.4.88.0/21 +61.45.128.0/18 +61.45.224.0/20 +61.47.128.0/18 +61.48.0.0/14 +61.52.0.0/15 +61.54.0.0/16 +61.55.0.0/16 +61.8.160.0/20 +61.87.192.0/18 +62.234.0.0/16 +68.79.0.0/18 +69.230.192.0/18 +69.231.128.0/18 +69.234.192.0/18 +69.235.128.0/18 +71.131.192.0/18 +71.132.0.0/18 +71.136.64.0/18 +71.137.0.0/18 +81.68.0.0/14 +82.156.0.0/15 +94.191.0.0/17 diff --git a/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 b/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 new file mode 100644 index 00000000..722dbd6b --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 @@ -0,0 +1,1939 @@ +2001:250:2000::/35 +2001:250:4000::/34 +2001:250:8000::/33 +2001:250::/35 +2001:251::/32 +2001:252::/32 +2001:253::/32 +2001:254::/32 +2001:255::/32 +2001:256::/32 +2001:4438::/32 +2001:4510::/29 +2001:7fa:10::/48 +2001:7fa:5::/48 +2001:c68::/32 +2001:cc0::/32 +2001:da8::/32 +2001:da9::/32 +2001:daa::/32 +2001:dc7::/32 +2001:dd8:1::/48 +2001:dd8:1a::/48 +2001:dd8:5::/48 +2001:dd9::/48 +2001:df0:1bc0::/48 +2001:df0:2180::/48 +2001:df0:25c0::/48 +2001:df0:26c0::/48 +2001:df0:27e::/48 +2001:df0:2d80::/48 +2001:df0:2e00::/48 +2001:df0:2e80::/48 +2001:df0:423::/48 +2001:df0:4500::/48 +2001:df0:59c0::/48 +2001:df0:85c0::/48 +2001:df0:9c0::/48 +2001:df0:b180::/48 +2001:df0:bf80::/48 +2001:df0:d880::/48 +2001:df1:4580::/48 +2001:df1:5280::/48 +2001:df1:5b80::/48 +2001:df1:6180::/48 +2001:df1:6b80::/48 +2001:df1:8b00::/48 +2001:df1:a100::/48 +2001:df1:bd80::/48 +2001:df1:c80::/48 +2001:df1:c900::/48 +2001:df1:d100::/48 +2001:df1:d180::/48 +2001:df1:da00::/48 +2001:df1:f480::/48 +2001:df1:f580::/48 +2001:df1:fd80::/48 +2001:df2:180::/48 +2001:df2:5780::/48 +2001:df2:5a80::/48 +2001:df2:80::/48 +2001:df2:a580::/48 +2001:df3:1480::/48 +2001:df3:2a80::/48 +2001:df3:3a80::/48 +2001:df3:a680::/48 +2001:df3:b100::/48 +2001:df3:b380::/48 +2001:df3:c380::/48 +2001:df3:c680::/48 +2001:df3:d880::/48 +2001:df3:ed80::/48 +2001:df3:ef80::/48 +2001:df4:1280::/48 +2001:df4:1500::/48 +2001:df4:1880::/48 +2001:df4:2780::/48 +2001:df4:2e80::/48 +2001:df4:2f00::/48 +2001:df4:3c80::/48 +2001:df4:3d80::/48 +2001:df4:4b80::/48 +2001:df4:4d80::/48 +2001:df4:880::/48 +2001:df4:a680::/48 +2001:df4:a980::/48 +2001:df4:c180::/48 +2001:df4:c580::/48 +2001:df4:c780::/48 +2001:df4:cf00::/48 +2001:df4:d80::/48 +2001:df4:de80::/48 +2001:df5:2080::/48 +2001:df5:5f80::/48 +2001:df5:7800::/48 +2001:df6:100::/48 +2001:df6:3d00::/48 +2001:df6:5d00::/48 +2001:df6:6800::/48 +2001:df6:9e80::/48 +2001:df6:9f80::/48 +2001:df6:df00::/48 +2001:df6:f400::/48 +2001:df7:1480::/48 +2001:df7:2b80::/48 +2001:df7:6600::/48 +2001:df7:ab00::/48 +2001:df7:e580::/48 +2001:df7:f080::/48 +2001:e08::/32 +2001:e18::/32 +2001:e80::/32 +2001:e88::/32 +2001:f38::/32 +2001:f88::/32 +2400:1040::/32 +2400:1160::/32 +2400:12c0::/32 +2400:1340::/32 +2400:1380::/32 +2400:15c0::/32 +2400:1640::/32 +2400:16c0::/32 +2400:1740::/32 +2400:17c0::/32 +2400:1840::/32 +2400:18c0::/32 +2400:1940::/32 +2400:19a0::/32 +2400:19c0::/32 +2400:1a40::/32 +2400:1ac0::/32 +2400:1b40::/32 +2400:1cc0::/32 +2400:1d40::/32 +2400:1dc0::/32 +2400:1e40::/32 +2400:1ec0::/32 +2400:1f40::/32 +2400:1fc0::/32 +2400:3040::/32 +2400:3140::/32 +2400:3160::/32 +2400:31c0::/32 +2400:3200::/32 +2400:3280::/32 +2400:32c0::/32 +2400:3340::/32 +2400:33c0::/32 +2400:3440::/32 +2400:34c0::/32 +2400:3540::/32 +2400:35c0::/32 +2400:3600::/32 +2400:3640::/32 +2400:3660::/32 +2400:36c0::/32 +2400:38c0::/32 +2400:39c0::/32 +2400:3a00::/32 +2400:3a40::/32 +2400:3b40::/32 +2400:3bc0::/32 +2400:3c40::/32 +2400:3cc0::/32 +2400:3e00::/32 +2400:3f40::/32 +2400:3f60::/32 +2400:3fc0::/32 +2400:4440::/32 +2400:44c0::/32 +2400:44e0::/32 +2400:4540::/32 +2400:4600::/32 +2400:4640::/32 +2400:46c0::/32 +2400:4740::/32 +2400:4920::/32 +2400:4bc0::/32 +2400:4e00::/32 +2400:4e40::/32 +2400:5080::/32 +2400:5280::/32 +2400:5400::/32 +2400:5580::/32 +2400:55c0::/32 +2400:55e0::/32 +2400:5600::/32 +2400:5640::/32 +2400:56c0::/32 +2400:57c0::/32 +2400:5840::/32 +2400:5a00::/32 +2400:5a40::/32 +2400:5a60::/32 +2400:5ac0::/32 +2400:5b40::/32 +2400:5bc0::/32 +2400:5c40::/32 +2400:5c80::/32 +2400:5cc0::/32 +2400:5e20::/32 +2400:5e80::/32 +2400:5ee0::/32 +2400:5f60::/32 +2400:5fc0::/32 +2400:6000::/32 +2400:6040::/32 +2400:60c0::/32 +2400:61c0::/32 +2400:6200::/32 +2400:6600::/32 +2400:6640::/32 +2400:66c0::/32 +2400:6740::/32 +2400:67c0::/32 +2400:6840::/32 +2400:68c0::/32 +2400:6940::/32 +2400:69c0::/32 +2400:6a00::/32 +2400:6a40::/32 +2400:6ac0::/32 +2400:6b40::/32 +2400:6bc0::/32 +2400:6c40::/32 +2400:6cc0::/32 +2400:6d40::/32 +2400:6dc0::/32 +2400:6e00::/32 +2400:6e40::/32 +2400:6ec0::/32 +2400:6f40::/32 +2400:6f80::/32 +2400:6fc0::/32 +2400:7040::/32 +2400:7100::/32 +2400:7140::/32 +2400:71c0::/32 +2400:7200::/32 +2400:7240::/32 +2400:72c0::/32 +2400:7340::/32 +2400:73c0::/32 +2400:7440::/32 +2400:74c0::/32 +2400:7540::/32 +2400:75c0::/32 +2400:7640::/32 +2400:7680::/32 +2400:76c0::/32 +2400:7740::/32 +2400:77c0::/32 +2400:79c0::/32 +2400:7ac0::/32 +2400:7bc0::/32 +2400:7f80::/32 +2400:7fc0::/32 +2400:8080::/32 +2400:8200::/32 +2400:82c0::/32 +2400:8580::/32 +2400:8600::/32 +2400:8780::/32 +2400:87c0::/32 +2400:8840::/32 +2400:8980::/32 +2400:89c0::/32 +2400:8e00::/32 +2400:8f00::/32 +2400:8fc0::/32 +2400:9040::/32 +2400:9340::/32 +2400:9580::/32 +2400:95c0::/32 +2400:9600::/32 +2400:98c0::/32 +2400:9a00::/32 +2400:9e00::/32 +2400:a040::/32 +2400:a380::/32 +2400:a480::/32 +2400:a780::/32 +2400:a8c0::/32 +2400:a900::/32 +2400:a980::/32 +2400:a981::/32 +2400:a982::/31 +2400:a984::/30 +2400:abc0::/32 +2400:ae00::/32 +2400:b200::/32 +2400:b2c0::/32 +2400:b500::/32 +2400:b600::/32 +2400:b6c0::/32 +2400:b700::/32 +2400:b8c0::/32 +2400:b9c0::/32 +2400:ba00::/32 +2400:ba40::/32 +2400:ba41::/32 +2400:bac0::/32 +2400:be00::/32 +2400:bf00::/32 +2400:c200::/32 +2400:c380::/32 +2400:c840::/32 +2400:c8c0::/32 +2400:c940::/32 +2400:c9c0::/32 +2400:ca40::/32 +2400:cac0::/32 +2400:cb40::/32 +2400:cb80::/32 +2400:cbc0::/32 +2400:cc40::/32 +2400:cc80::/32 +2400:ccc0::/32 +2400:cd40::/32 +2400:cdc0::/32 +2400:ce00::/32 +2400:ce40::/32 +2400:cf40::/32 +2400:cf80::/32 +2400:cfc0::/32 +2400:d0c0::/32 +2400:d100::/32 +2400:d1c0::/32 +2400:d200::/32 +2400:d300::/32 +2400:d440::/32 +2400:d600::/32 +2400:d6c0::/32 +2400:d780::/32 +2400:da00::/32 +2400:dd00::/28 +2400:dd40::/32 +2400:de00::/32 +2400:de80::/32 +2400:e0c0::/32 +2400:e5c0::/32 +2400:e680::/32 +2400:e880::/32 +2400:ebc0::/32 +2400:edc0::/32 +2400:ee00::/32 +2400:eec0::/32 +2400:ef40::/32 +2400:f480::/32 +2400:f5c0::/32 +2400:f7c0::/32 +2400:f840::/32 +2400:f980::/32 +2400:fac0::/32 +2400:fb40::/32 +2400:fbc0::/32 +2400:fc40::/32 +2400:fcc0::/32 +2400:fe00::/32 +2401:1000::/32 +2401:11c0::/32 +2401:1200::/32 +2401:12c0::/32 +2401:140::/32 +2401:15c0::/32 +2401:1740::/32 +2401:18c0::/32 +2401:1940::/32 +2401:19c0::/32 +2401:1a40::/32 +2401:1ac0::/32 +2401:1c0::/32 +2401:1d40::/32 +2401:1dc0::/32 +2401:1e00::/32 +2401:1ec0::/32 +2401:1f40::/32 +2401:2040::/32 +2401:2080::/32 +2401:23c0::/32 +2401:2600::/32 +2401:2780::/32 +2401:2980::/32 +2401:2a00::/32 +2401:2b40::/32 +2401:2e00::/32 +2401:3100::/32 +2401:3380::/32 +2401:33c0::/32 +2401:3440::/32 +2401:3480::/32 +2401:34c0::/32 +2401:3640::/32 +2401:3780::/32 +2401:3800::/32 +2401:3880::/32 +2401:3980::/32 +2401:3a00::/32 +2401:3a80::/32 +2401:3b80::/32 +2401:3c80::/32 +2401:3d80::/32 +2401:3e80::/32 +2401:3f80::/32 +2401:4080::/32 +2401:4180::/32 +2401:4280::/32 +2401:4380::/32 +2401:4480::/32 +2401:4580::/32 +2401:4680::/32 +2401:4780::/32 +2401:4880::/32 +2401:4a80::/32 +2401:4b00::/32 +2401:4f80::/32 +2401:5180::/32 +2401:540::/32 +2401:5680::/32 +2401:56c0::/32 +2401:59c0::/32 +2401:5b40::/32 +2401:5c80::/32 +2401:7180::/32 +2401:71c0::/32 +2401:7240::/32 +2401:7340::/32 +2401:7580::/32 +2401:7680::/32 +2401:7700::/32 +2401:7780::/32 +2401:7880::/32 +2401:7980::/32 +2401:7a00::/32 +2401:7a80::/32 +2401:7b80::/32 +2401:7bc0::/32 +2401:7c0::/32 +2401:7c80::/32 +2401:7cc0::/32 +2401:7d40::/32 +2401:7d80::/32 +2401:7e00::/32 +2401:7f80::/32 +2401:800::/32 +2401:80::/32 +2401:8200::/32 +2401:82c0::/32 +2401:8380::/32 +2401:8540::/32 +2401:8600::/32 +2401:8680::/32 +2401:8840::/32 +2401:8d00::/32 +2401:8f40::/32 +2401:8fc0::/32 +2401:9340::/32 +2401:9600::/32 +2401:96c0::/32 +2401:9740::/32 +2401:98c0::/32 +2401:9a00::/32 +2401:9ac0::/32 +2401:9b40::/32 +2401:9bc0::/32 +2401:9c0::/32 +2401:9dc0::/32 +2401:9e40::/32 +2401:9f80::/32 +2401:a00::/32 +2401:a140::/32 +2401:a180::/32 +2401:a340::/32 +2401:a3c0::/32 +2401:a40::/32 +2401:a4c0::/32 +2401:a540::/32 +2401:a5c0::/32 +2401:a640::/32 +2401:a940::/32 +2401:a980::/32 +2401:aa00::/32 +2401:aa40::/32 +2401:ac0::/32 +2401:acc0::/32 +2401:ad40::/32 +2401:adc0::/32 +2401:b040::/32 +2401:b180::/32 +2401:b340::/32 +2401:b400::/32 +2401:b40::/32 +2401:b480::/32 +2401:b4c0::/32 +2401:b540::/32 +2401:b580::/32 +2401:b600::/32 +2401:b680::/32 +2401:b6c0::/32 +2401:b7c0::/32 +2401:b940::/32 +2401:ba00::/32 +2401:ba40::/32 +2401:bb80::/32 +2401:bc0::/32 +2401:be00::/32 +2401:c200::/32 +2401:c40::/32 +2401:c540::/32 +2401:c600::/32 +2401:c640::/32 +2401:c6c0::/32 +2401:c840::/32 +2401:c8c0::/32 +2401:ca00::/32 +2401:cb80::/32 +2401:cc00::/32 +2401:cc0::/32 +2401:ce00::/32 +2401:cf40::/32 +2401:cfc0::/32 +2401:d0c0::/32 +2401:d140::/32 +2401:d180::/32 +2401:d2c0::/32 +2401:d340::/32 +2401:d40::/32 +2401:d780::/32 +2401:da00::/32 +2401:de00::/32 +2401:e00::/32 +2401:e080::/32 +2401:e0c0::/32 +2401:e140::/32 +2401:e240::/32 +2401:e2c0::/32 +2401:e340::/32 +2401:e6c0::/32 +2401:e840::/32 +2401:e8c0::/32 +2401:e940::/32 +2401:e9c0::/32 +2401:ec00::/32 +2401:ec40::/32 +2401:f300::/32 +2401:f7c0::/32 +2401:fa80::/32 +2401:fb80::/32 +2401:fc80::/32 +2401:fe80::/32 +2401:ffc0::/32 +2402:1000::/32 +2402:1440::/32 +2402:14c0::/32 +2402:1540::/32 +2402:1600::/32 +2402:1740::/32 +2402:19c0::/32 +2402:1ec0::/32 +2402:1f40::/32 +2402:1f80::/32 +2402:2000::/32 +2402:2280::/32 +2402:22c0::/32 +2402:2440::/32 +2402:24c0::/32 +2402:2540::/32 +2402:2640::/32 +2402:27c0::/32 +2402:2a00::/32 +2402:2b80::/32 +2402:2bc0::/32 +2402:2d00::/32 +2402:2d80::/32 +2402:2e80::/32 +2402:2f40::/32 +2402:3040::/32 +2402:3080::/32 +2402:3140::/32 +2402:3180::/32 +2402:31c0::/32 +2402:3240::/32 +2402:33c0::/32 +2402:39c0::/32 +2402:3a40::/32 +2402:3ac0::/32 +2402:3c00::/32 +2402:3e00::/32 +2402:3ec0::/32 +2402:3f80::/32 +2402:4140::/32 +2402:42c0::/32 +2402:4340::/32 +2402:43c0::/32 +2402:440::/32 +2402:4440::/32 +2402:4500::/32 +2402:4540::/32 +2402:4a00::/32 +2402:4a40::/32 +2402:4a80::/32 +2402:4ac0::/32 +2402:4b80::/32 +2402:4bc0::/32 +2402:4c40::/32 +2402:4d80::/32 +2402:4e00::/32 +2402:4ec0::/32 +2402:4f80::/32 +2402:50c0::/32 +2402:5140::/32 +2402:5180::/32 +2402:51c0::/32 +2402:5240::/32 +2402:52c0::/32 +2402:5340::/32 +2402:5880::/32 +2402:5940::/32 +2402:59c0::/32 +2402:5a40::/32 +2402:5b40::/32 +2402:5bc0::/32 +2402:5c0::/32 +2402:5d00::/32 +2402:5e00::/32 +2402:5e40::/32 +2402:5ec0::/32 +2402:5f40::/32 +2402:6280::/32 +2402:62c0::/32 +2402:64c0::/32 +2402:66c0::/32 +2402:6740::/32 +2402:67c0::/32 +2402:6a00::/32 +2402:6b40::/32 +2402:6bc0::/32 +2402:6e00::/32 +2402:6e80::/32 +2402:6ec0::/32 +2402:6f40::/32 +2402:6fc0::/32 +2402:7040::/32 +2402:7080::/32 +2402:70c0::/32 +2402:7140::/32 +2402:71c0::/32 +2402:7240::/32 +2402:72c0::/32 +2402:7540::/32 +2402:75c0::/32 +2402:7740::/32 +2402:7d00::/32 +2402:7d80::/32 +2402:8180::/32 +2402:8300::/32 +2402:8380::/32 +2402:840::/32 +2402:85c0::/32 +2402:8800::/32 +2402:8840::/32 +2402:8900::/32 +2402:8940::/32 +2402:89c0::/32 +2402:8b40::/32 +2402:8bc0::/32 +2402:8cc0::/32 +2402:8d40::/32 +2402:8f40::/32 +2402:8f80::/32 +2402:9240::/32 +2402:92c0::/32 +2402:93c0::/32 +2402:9440::/32 +2402:9480::/32 +2402:94c0::/32 +2402:9580::/32 +2402:95c0::/32 +2402:9680::/32 +2402:96c0::/32 +2402:9840::/32 +2402:98c0::/32 +2402:9940::/32 +2402:9a80::/32 +2402:9b80::/32 +2402:9f80::/32 +2402:9fc0::/32 +2402:a080::/32 +2402:a180::/32 +2402:a200::/32 +2402:a240::/32 +2402:a280::/32 +2402:a380::/32 +2402:a3c0::/32 +2402:a640::/32 +2402:a680::/32 +2402:a6c0::/32 +2402:a840::/32 +2402:a880::/32 +2402:a9c0::/32 +2402:aa80::/32 +2402:ab80::/32 +2402:ac0::/32 +2402:ae00::/32 +2402:ae40::/32 +2402:aec0::/32 +2402:af80::/32 +2402:afc0::/32 +2402:b080::/32 +2402:b200::/32 +2402:b380::/32 +2402:b3c0::/32 +2402:b440::/32 +2402:b6c0::/32 +2402:b880::/32 +2402:b8c0::/32 +2402:b940::/32 +2402:b980::/32 +2402:ba80::/32 +2402:bac0::/32 +2402:bbc0::/32 +2402:bf80::/32 +2402:c280::/32 +2402:c3c0::/32 +2402:c5c0::/32 +2402:c9c0::/32 +2402:cbc0::/32 +2402:cc40::/32 +2402:cc80::/32 +2402:cf00::/32 +2402:cf40::/32 +2402:d040::/32 +2402:d140::/32 +2402:d2c0::/32 +2402:d300::/32 +2402:d340::/32 +2402:d380::/32 +2402:d5c0::/32 +2402:d6c0::/32 +2402:d740::/32 +2402:d780::/32 +2402:d880::/32 +2402:d980::/32 +2402:da40::/32 +2402:db40::/32 +2402:dcc0::/32 +2402:de40::/32 +2402:dec0::/32 +2402:df40::/32 +2402:dfc0::/32 +2402:e00::/32 +2402:e040::/32 +2402:e0c0::/32 +2402:e140::/32 +2402:e2c0::/32 +2402:e3c0::/32 +2402:e480::/32 +2402:e540::/32 +2402:e680::/32 +2402:e740::/32 +2402:e780::/32 +2402:e7c0::/32 +2402:e880::/32 +2402:e980::/32 +2402:eb80::/32 +2402:ec80::/32 +2402:ed80::/32 +2402:ef40::/32 +2402:ef80::/32 +2402:f000::/32 +2402:f140::/32 +2402:f340::/32 +2402:f3c0::/32 +2402:f480::/32 +2402:f540::/32 +2402:f580::/32 +2402:f740::/32 +2402:f780::/32 +2402:f8c0::/32 +2402:f980::/32 +2402:f9c0::/32 +2402:fac0::/32 +2402:fc0::/32 +2402:fcc0::/32 +2402:ff40::/32 +2402:ffc0::/32 +2403:1180::/32 +2403:1340::/32 +2403:1440::/32 +2403:1580::/32 +2403:16c0::/32 +2403:17c0::/32 +2403:1980::/32 +2403:1a40::/32 +2403:1b80::/32 +2403:1c80::/32 +2403:1d80::/32 +2403:1dc0::/32 +2403:1e80::/32 +2403:1ec0::/32 +2403:1f80::/32 +2403:2040::/32 +2403:2080::/32 +2403:2180::/32 +2403:2240::/32 +2403:2280::/32 +2403:2380::/32 +2403:2440::/32 +2403:24c0::/32 +2403:2580::/32 +2403:25c0::/32 +2403:2680::/32 +2403:26c0::/32 +2403:2740::/32 +2403:2780::/32 +2403:28c0::/32 +2403:2940::/32 +2403:2a00::/32 +2403:2a40::/32 +2403:2ac0::/32 +2403:2b40::/32 +2403:2bc0::/32 +2403:2cc0::/32 +2403:2f40::/32 +2403:2fc0::/32 +2403:3040::/32 +2403:30c0::/32 +2403:3140::/32 +2403:3280::/32 +2403:32c0::/32 +2403:3380::/32 +2403:3480::/32 +2403:3580::/32 +2403:3640::/32 +2403:3680::/32 +2403:36c0::/32 +2403:3740::/32 +2403:3780::/32 +2403:37c0::/32 +2403:3840::/32 +2403:3880::/32 +2403:38c0::/32 +2403:3940::/32 +2403:3980::/32 +2403:39c0::/32 +2403:3a40::/32 +2403:3b40::/32 +2403:3b80::/32 +2403:3bc0::/32 +2403:3c40::/32 +2403:3c80::/32 +2403:3cc0::/32 +2403:3d40::/32 +2403:3d80::/32 +2403:3dc0::/32 +2403:3e80::/32 +2403:3ec0::/32 +2403:3f40::/32 +2403:3f80::/32 +2403:4080::/32 +2403:4180::/32 +2403:4240::/32 +2403:4280::/32 +2403:4300::/32 +2403:4380::/32 +2403:4580::/32 +2403:4680::/32 +2403:4780::/32 +2403:4840::/32 +2403:4880::/32 +2403:4980::/32 +2403:4a40::/32 +2403:4a80::/32 +2403:4b40::/32 +2403:4b80::/32 +2403:4c80::/32 +2403:4cc0::/32 +2403:4d40::/32 +2403:4d80::/32 +2403:4ec0::/32 +2403:5040::/32 +2403:5080::/32 +2403:50c0::/32 +2403:5280::/32 +2403:5380::/32 +2403:54c0::/32 +2403:5540::/32 +2403:5580::/32 +2403:5640::/32 +2403:5780::/32 +2403:58c0::/32 +2403:5980::/32 +2403:5a80::/32 +2403:5b40::/32 +2403:5b80::/32 +2403:5c80::/32 +2403:5d80::/32 +2403:5e40::/32 +2403:5e80::/32 +2403:5ec0::/32 +2403:5f80::/32 +2403:5fc0::/32 +2403:600::/32 +2403:6080::/32 +2403:6180::/32 +2403:6280::/32 +2403:62c0::/32 +2403:6380::/32 +2403:6580::/32 +2403:6680::/32 +2403:6740::/32 +2403:6780::/32 +2403:6880::/32 +2403:6980::/32 +2403:6a00::/32 +2403:6c80::/32 +2403:6d40::/32 +2403:6d80::/32 +2403:6e80::/32 +2403:6f40::/32 +2403:6fc0::/32 +2403:700::/32 +2403:7040::/32 +2403:7080::/32 +2403:7180::/32 +2403:7280::/32 +2403:7380::/32 +2403:7480::/32 +2403:7540::/32 +2403:7580::/32 +2403:76c0::/32 +2403:7700::/32 +2403:7840::/32 +2403:78c0::/32 +2403:7a80::/32 +2403:7b00::/32 +2403:7c0::/32 +2403:7d80::/32 +2403:7e80::/32 +2403:7f80::/32 +2403:800::/31 +2403:8080::/32 +2403:8180::/32 +2403:8280::/32 +2403:8380::/32 +2403:83c0::/32 +2403:8480::/32 +2403:8580::/32 +2403:8880::/32 +2403:8900::/32 +2403:8980::/32 +2403:8a40::/32 +2403:8a80::/32 +2403:8b00::/32 +2403:8b80::/32 +2403:8c00::/32 +2403:8c80::/32 +2403:8d00::/32 +2403:8d80::/32 +2403:9080::/32 +2403:9180::/32 +2403:9280::/32 +2403:9380::/32 +2403:9480::/32 +2403:9580::/32 +2403:9680::/32 +2403:9780::/32 +2403:980::/32 +2403:9880::/32 +2403:9a80::/32 +2403:9ac0::/32 +2403:9b00::/32 +2403:9b40::/32 +2403:9b80::/32 +2403:9c80::/32 +2403:9d00::/32 +2403:9d80::/32 +2403:9e40::/32 +2403:9e80::/32 +2403:9ec0::/32 +2403:9f80::/32 +2403:a100::/32 +2403:a140::/32 +2403:a200::/32 +2403:a300::/32 +2403:a480::/32 +2403:a580::/32 +2403:a680::/32 +2403:a6c0::/32 +2403:a780::/32 +2403:a80::/32 +2403:a880::/32 +2403:a940::/32 +2403:a980::/32 +2403:a9c0::/32 +2403:aa40::/32 +2403:aa80::/32 +2403:ab80::/32 +2403:ac00::/32 +2403:af80::/32 +2403:b080::/32 +2403:b180::/32 +2403:b280::/32 +2403:b380::/32 +2403:b400::/32 +2403:b480::/32 +2403:b580::/32 +2403:b680::/32 +2403:b780::/32 +2403:b80::/32 +2403:b880::/32 +2403:b980::/32 +2403:ba40::/32 +2403:c040::/32 +2403:c080::/32 +2403:c100::/32 +2403:c140::/32 +2403:c180::/32 +2403:c3c0::/32 +2403:c440::/32 +2403:c480::/32 +2403:c4c0::/32 +2403:c80::/32 +2403:c980::/32 +2403:cdc0::/32 +2403:cec0::/32 +2403:cf80::/32 +2403:d080::/32 +2403:d180::/32 +2403:d280::/32 +2403:d2c0::/32 +2403:d380::/32 +2403:d400::/32 +2403:d40::/32 +2403:d440::/32 +2403:d480::/32 +2403:d580::/32 +2403:d680::/32 +2403:d780::/32 +2403:d7c0::/32 +2403:d80::/32 +2403:d880::/32 +2403:d980::/32 +2403:d9c0::/32 +2403:da80::/32 +2403:dac0::/32 +2403:db00::/32 +2403:db80::/32 +2403:dc80::/32 +2403:dd80::/32 +2403:de80::/32 +2403:df80::/32 +2403:e080::/32 +2403:e180::/32 +2403:e280::/32 +2403:e300::/32 +2403:e480::/32 +2403:e500::/32 +2403:e580::/32 +2403:e640::/32 +2403:e680::/32 +2403:e700::/32 +2403:e780::/32 +2403:e7c0::/32 +2403:e80::/32 +2403:e880::/32 +2403:e980::/32 +2403:ea80::/32 +2403:eac0::/32 +2403:eb80::/32 +2403:ec80::/32 +2403:ed00::/32 +2403:ed40::/32 +2403:ed80::/32 +2403:ee80::/32 +2403:ef80::/32 +2403:f00::/32 +2403:f080::/32 +2403:f100::/32 +2403:f180::/32 +2403:f240::/32 +2403:f280::/32 +2403:f300::/32 +2403:f380::/32 +2403:f40::/32 +2403:f4c0::/32 +2403:f580::/32 +2403:f740::/32 +2403:f80::/32 +2403:f8c0::/32 +2403:f980::/32 +2403:fb00::/32 +2403:fb80::/32 +2403:fc0::/32 +2403:fc40::/32 +2403:fe40::/32 +2403:fe80::/32 +2403:fec0::/32 +2403:ff80::/32 +2403:ffc0::/32 +2404:100::/32 +2404:1080::/32 +2404:10c0::/32 +2404:1180::/32 +2404:14c0::/32 +2404:158::/32 +2404:1880::/32 +2404:1c80::/32 +2404:1cc0::/32 +2404:1d80::/32 +2404:1e80::/32 +2404:1f40::/32 +2404:21c0::/32 +2404:240::/32 +2404:280::/32 +2404:30c0::/32 +2404:3140::/32 +2404:31c0::/32 +2404:3240::/32 +2404:32c0::/32 +2404:3300::/32 +2404:3340::/32 +2404:3480::/32 +2404:35c0::/32 +2404:3640::/32 +2404:36c0::/32 +2404:3700::/32 +2404:3740::/32 +2404:37c0::/32 +2404:3840::/32 +2404:3940::/32 +2404:3b00::/32 +2404:3bc0::/32 +2404:3c40::/32 +2404:3f40::/32 +2404:4080::/32 +2404:41c0::/32 +2404:440::/32 +2404:4540::/32 +2404:4740::/32 +2404:480::/32 +2404:4bc0::/32 +2404:4d00::/32 +2404:4dc0::/32 +2404:51c0::/32 +2404:5640::/32 +2404:5a80::/32 +2404:5b00::/32 +2404:5d00::/32 +2404:5e80::/32 +2404:6000::/32 +2404:6100::/32 +2404:6380::/32 +2404:6500::/32 +2404:65c0::/32 +2404:680::/32 +2404:6a40::/32 +2404:6f80::/32 +2404:7100::/32 +2404:7180::/32 +2404:71c0::/32 +2404:7240::/32 +2404:74c0::/32 +2404:7600::/32 +2404:7740::/32 +2404:7940::/32 +2404:7d00::/32 +2404:8040::/32 +2404:80c0::/32 +2404:8140::/32 +2404:81c0::/32 +2404:8480::/32 +2404:8580::/32 +2404:8700::/32 +2404:8880::/32 +2404:8a80::/32 +2404:8b00::/32 +2404:8dc0::/32 +2404:9340::/32 +2404:9b80::/32 +2404:9c80::/32 +2404:a000::/32 +2404:a080::/32 +2404:a0c0::/32 +2404:a180::/32 +2404:a240::/32 +2404:a740::/32 +2404:a80::/32 +2404:b100::/32 +2404:b340::/32 +2404:b3c0::/32 +2404:b440::/32 +2404:b4c0::/32 +2404:b80::/32 +2404:b900::/32 +2404:bbc0::/32 +2404:bc0::/32 +2404:bc40::/32 +2404:c1c0::/32 +2404:c240::/32 +2404:c2c0::/32 +2404:c300::/32 +2404:c3c0::/32 +2404:c40::/32 +2404:c440::/32 +2404:c4c0::/32 +2404:c540::/32 +2404:c5c0::/32 +2404:c640::/32 +2404:c940::/32 +2404:c9c0::/32 +2404:cd00::/32 +2404:d040::/32 +2404:d080::/32 +2404:d140::/32 +2404:d280::/32 +2404:d3c0::/32 +2404:d480::/32 +2404:d640::/32 +2404:d6c0::/32 +2404:d7c0::/32 +2404:d80::/32 +2404:d840::/32 +2404:dd80::/32 +2404:df00::/32 +2404:e280::/32 +2404:e540::/32 +2404:e5c0::/32 +2404:e780::/32 +2404:e880::/32 +2404:e8c0::/32 +2404:eb80::/32 +2404:ec40::/32 +2404:ecc0::/32 +2404:edc0::/32 +2404:f00::/32 +2404:f040::/32 +2404:f4c0::/32 +2404:f7c0::/32 +2404:f80::/32 +2405:1080::/32 +2405:1180::/32 +2405:1280::/32 +2405:1380::/32 +2405:1480::/32 +2405:1580::/32 +2405:1680::/32 +2405:18c0::/32 +2405:1c80::/32 +2405:1d80::/32 +2405:1e80::/32 +2405:1f80::/32 +2405:1fc0::/32 +2405:2080::/32 +2405:2180::/32 +2405:2280::/32 +2405:2340::/32 +2405:2380::/32 +2405:2480::/32 +2405:24c0::/32 +2405:2580::/32 +2405:2680::/32 +2405:2780::/32 +2405:2880::/32 +2405:2980::/32 +2405:2a80::/32 +2405:2b80::/32 +2405:2bc0::/32 +2405:2c80::/32 +2405:2d80::/32 +2405:2e80::/32 +2405:2ec0::/32 +2405:2f40::/32 +2405:2f80::/32 +2405:3140::/32 +2405:31c0::/32 +2405:37c0::/32 +2405:3880::/32 +2405:3980::/32 +2405:39c0::/32 +2405:3a80::/32 +2405:3ac0::/32 +2405:3b00::/32 +2405:3b80::/32 +2405:3bc0::/32 +2405:3c40::/32 +2405:3c80::/32 +2405:3d80::/32 +2405:3e80::/32 +2405:3f40::/32 +2405:3f80::/32 +2405:4080::/32 +2405:4140::/32 +2405:4180::/32 +2405:41c0::/32 +2405:4280::/32 +2405:4380::/32 +2405:4480::/32 +2405:44c0::/32 +2405:4540::/32 +2405:4580::/32 +2405:4680::/32 +2405:4780::/32 +2405:480::/32 +2405:4880::/32 +2405:4980::/32 +2405:4a80::/32 +2405:4b80::/32 +2405:4d40::/32 +2405:4e80::/32 +2405:4f80::/32 +2405:5080::/32 +2405:5180::/32 +2405:5240::/32 +2405:5280::/32 +2405:52c0::/32 +2405:5380::/32 +2405:5480::/32 +2405:5580::/32 +2405:5680::/32 +2405:5780::/32 +2405:57c0::/32 +2405:580::/32 +2405:5880::/32 +2405:5980::/32 +2405:5a80::/32 +2405:5b80::/32 +2405:5c80::/32 +2405:5cc0::/32 +2405:5d40::/32 +2405:5d80::/32 +2405:5dc0::/32 +2405:5e80::/32 +2405:5f80::/32 +2405:6080::/32 +2405:6180::/32 +2405:6200::/32 +2405:66c0::/32 +2405:680::/32 +2405:6880::/32 +2405:68c0::/32 +2405:6940::/32 +2405:69c0::/32 +2405:6a80::/32 +2405:6b80::/32 +2405:6c0::/32 +2405:6c80::/32 +2405:6d80::/32 +2405:6e80::/32 +2405:6f00::/32 +2405:6f80::/32 +2405:7040::/32 +2405:7080::/32 +2405:7180::/32 +2405:7240::/32 +2405:7280::/32 +2405:7380::/32 +2405:7480::/32 +2405:7580::/32 +2405:7680::/32 +2405:7780::/32 +2405:780::/32 +2405:7880::/32 +2405:78c0::/32 +2405:7980::/32 +2405:79c0::/32 +2405:7a80::/32 +2405:7b80::/32 +2405:7c80::/32 +2405:7d40::/32 +2405:7f40::/32 +2405:7fc0::/32 +2405:80::/32 +2405:8280::/32 +2405:8480::/32 +2405:84c0::/32 +2405:8580::/32 +2405:8680::/32 +2405:8780::/32 +2405:880::/32 +2405:8880::/32 +2405:8980::/32 +2405:8a40::/32 +2405:8a80::/32 +2405:8ac0::/32 +2405:8b80::/32 +2405:8c80::/32 +2405:8d80::/32 +2405:8e80::/32 +2405:8f40::/32 +2405:8f80::/32 +2405:9080::/32 +2405:9180::/32 +2405:9280::/32 +2405:9300::/32 +2405:9340::/32 +2405:9380::/32 +2405:93c0::/32 +2405:940::/32 +2405:9480::/32 +2405:94c0::/32 +2405:9580::/32 +2405:9680::/32 +2405:9700::/32 +2405:9780::/32 +2405:97c0::/32 +2405:980::/32 +2405:9880::/32 +2405:9900::/32 +2405:9980::/32 +2405:99c0::/32 +2405:9a80::/32 +2405:9b00::/32 +2405:9b80::/32 +2405:9bc0::/32 +2405:9c0::/32 +2405:9e00::/32 +2405:a240::/32 +2405:a3c0::/32 +2405:a500::/32 +2405:a680::/32 +2405:a80::/32 +2405:a900::/32 +2405:a980::/32 +2405:aa80::/32 +2405:ab00::/32 +2405:ad00::/32 +2405:af00::/32 +2405:b100::/32 +2405:b300::/32 +2405:b7c0::/32 +2405:b80::/32 +2405:b880::/32 +2405:b980::/32 +2405:bb00::/32 +2405:bd00::/32 +2405:bd80::/32 +2405:bdc0::/32 +2405:be80::/32 +2405:bf00::/32 +2405:c040::/32 +2405:c280::/32 +2405:c380::/32 +2405:c480::/32 +2405:c500::/32 +2405:c580::/32 +2405:c680::/32 +2405:c780::/32 +2405:c80::/32 +2405:c880::/32 +2405:c980::/32 +2405:ca80::/32 +2405:cb80::/32 +2405:cc80::/32 +2405:cd80::/32 +2405:ce80::/32 +2405:d280::/32 +2405:d4c0::/32 +2405:d700::/32 +2405:d740::/32 +2405:d80::/32 +2405:d900::/32 +2405:df40::/32 +2405:e000::/32 +2405:e040::/32 +2405:e1c0::/32 +2405:e600::/32 +2405:e80::/32 +2405:ed40::/32 +2405:ee80::/32 +2405:ef40::/30 +2405:f340::/32 +2405:f380::/32 +2405:f3c0::/32 +2405:f580::/32 +2405:f6c0::/32 +2405:f80::/32 +2405:f940::/32 +2405:fdc0::/32 +2405:fe80::/32 +2405:fec0::/32 +2405:ff80::/32 +2406:1080::/32 +2406:1100::/32 +2406:1180::/32 +2406:1280::/32 +2406:1380::/32 +2406:140::/32 +2406:1480::/32 +2406:1580::/32 +2406:15c0::/32 +2406:1680::/32 +2406:1780::/32 +2406:1880::/32 +2406:1980::/32 +2406:1a80::/32 +2406:1b80::/32 +2406:1c80::/32 +2406:1d80::/32 +2406:1e40::/32 +2406:1e80::/32 +2406:1f80::/32 +2406:2080::/32 +2406:2640::/32 +2406:2700::/32 +2406:2780::/32 +2406:280::/32 +2406:2880::/32 +2406:2980::/32 +2406:2a80::/32 +2406:2b80::/32 +2406:2c40::/32 +2406:2c80::/32 +2406:2d80::/32 +2406:2e80::/32 +2406:2f80::/32 +2406:3080::/32 +2406:3180::/32 +2406:31c0::/32 +2406:3280::/32 +2406:3300::/32 +2406:3340::/32 +2406:3380::/32 +2406:3440::/32 +2406:3480::/32 +2406:34c0::/32 +2406:3580::/32 +2406:3640::/32 +2406:3680::/32 +2406:3700::/32 +2406:3780::/32 +2406:3880::/32 +2406:3980::/32 +2406:39c0::/32 +2406:3ac0::/32 +2406:3d80::/32 +2406:3e80::/32 +2406:3f80::/32 +2406:4080::/32 +2406:40::/32 +2406:40c0::/32 +2406:4180::/32 +2406:4280::/32 +2406:42c0::/32 +2406:4340::/32 +2406:4380::/32 +2406:43c0::/32 +2406:440::/32 +2406:4480::/32 +2406:4500::/32 +2406:4680::/32 +2406:4b80::/32 +2406:4c0::/32 +2406:4c80::/32 +2406:4d00::/32 +2406:4d80::/32 +2406:4e80::/32 +2406:4f00::/32 +2406:4f80::/32 +2406:5080::/32 +2406:50c0::/32 +2406:5180::/32 +2406:5280::/32 +2406:52c0::/32 +2406:5340::/32 +2406:5380::/32 +2406:5480::/32 +2406:5580::/32 +2406:5680::/32 +2406:5780::/32 +2406:5840::/32 +2406:5880::/32 +2406:5940::/32 +2406:5980::/32 +2406:5a40::/32 +2406:5ac0::/32 +2406:5b40::/32 +2406:5d80::/32 +2406:5e80::/32 +2406:5f80::/32 +2406:6080::/32 +2406:6100::/32 +2406:6180::/32 +2406:61c0::/30 +2406:61c4::/30 +2406:6280::/32 +2406:6300::/32 +2406:6340::/32 +2406:6380::/32 +2406:6480::/32 +2406:6500::/32 +2406:6580::/32 +2406:65c0::/32 +2406:6640::/32 +2406:6680::/32 +2406:6780::/32 +2406:6880::/32 +2406:6980::/32 +2406:6a80::/32 +2406:6b80::/32 +2406:6bc0::/32 +2406:6c80::/32 +2406:6d80::/32 +2406:6e80::/32 +2406:6f80::/32 +2406:7080::/32 +2406:7280::/32 +2406:7380::/32 +2406:7480::/32 +2406:7580::/32 +2406:7680::/32 +2406:7780::/32 +2406:7880::/32 +2406:7980::/32 +2406:7a80::/32 +2406:7b80::/32 +2406:7c0::/32 +2406:7c80::/32 +2406:7cc0::/32 +2406:7d00::/32 +2406:7d80::/32 +2406:7e80::/32 +2406:7f80::/32 +2406:7fc0::/32 +2406:8080::/32 +2406:80::/32 +2406:8180::/32 +2406:8280::/32 +2406:8380::/32 +2406:840::/32 +2406:8480::/32 +2406:8500::/32 +2406:8580::/32 +2406:8780::/32 +2406:880::/32 +2406:8880::/32 +2406:8980::/32 +2406:8a80::/32 +2406:8b80::/32 +2406:8c0::/32 +2406:8c80::/32 +2406:8d80::/32 +2406:8e80::/32 +2406:8f40::/32 +2406:8f80::/32 +2406:9180::/32 +2406:9200::/32 +2406:9280::/32 +2406:9380::/32 +2406:9480::/32 +2406:94c0::/32 +2406:9780::/32 +2406:9c0::/32 +2406:9d80::/32 +2406:9e40::/32 +2406:9e80::/32 +2406:9f80::/32 +2406:a080::/32 +2406:a180::/32 +2406:a280::/32 +2406:a380::/32 +2406:a480::/32 +2406:a580::/32 +2406:a680::/32 +2406:a780::/32 +2406:a7c0::/32 +2406:a880::/32 +2406:a8c0::/32 +2406:a980::/32 +2406:aa80::/32 +2406:aac0::/32 +2406:ab80::/32 +2406:ac80::/32 +2406:acc0::/32 +2406:ad40::/32 +2406:ad80::/32 +2406:ae80::/32 +2406:af80::/32 +2406:b080::/32 +2406:b640::/32 +2406:b880::/32 +2406:b980::/32 +2406:ba80::/32 +2406:bb80::/32 +2406:bc80::/32 +2406:bd40::/32 +2406:bd80::/32 +2406:bdc0::/32 +2406:be80::/32 +2406:bf80::/32 +2406:c080::/32 +2406:c0::/32 +2406:c180::/32 +2406:c280::/32 +2406:c340::/32 +2406:c480::/32 +2406:c580::/32 +2406:c680::/32 +2406:c780::/32 +2406:c880::/32 +2406:c900::/32 +2406:c980::/32 +2406:ca80::/32 +2406:cac0::/32 +2406:cb80::/32 +2406:cc80::/32 +2406:cd80::/32 +2406:ce80::/32 +2406:cf00::/32 +2406:cf01::/32 +2406:cf02::/31 +2406:cf80::/32 +2406:d080::/32 +2406:d140::/32 +2406:d180::/32 +2406:d280::/32 +2406:d2c0::/32 +2406:d380::/32 +2406:d440::/32 +2406:d480::/32 +2406:d580::/32 +2406:d680::/32 +2406:d780::/32 +2406:d80::/32 +2406:d880::/32 +2406:d980::/32 +2406:db80::/32 +2406:dc80::/32 +2406:dd00::/32 +2406:dd80::/32 +2406:de80::/32 +2406:df80::/32 +2406:e080::/32 +2406:e180::/32 +2406:e2c0::/32 +2406:e380::/32 +2406:e3c0::/32 +2406:e500::/32 +2406:e580::/32 +2406:e680::/32 +2406:e780::/32 +2406:e80::/32 +2406:e8c0::/32 +2406:ea40::/28 +2406:f280::/32 +2406:f300::/32 +2406:f4c0::/32 +2406:f7c0::/32 +2406:f80::/32 +2406:f980::/32 +2406:fc80::/32 +2406:fd80::/32 +2406:fe80::/32 +2406:ff00::/32 +2407:1180::/32 +2407:17c0::/32 +2407:1900::/32 +2407:1d00::/32 +2407:1e80::/32 +2407:2280::/32 +2407:2380::/32 +2407:23c0::/32 +2407:2440::/32 +2407:2780::/32 +2407:2840::/32 +2407:2ac0::/32 +2407:31c0::/32 +2407:3340::/32 +2407:3540::/32 +2407:3700::/32 +2407:3740::/32 +2407:37c0::/32 +2407:3900::/32 +2407:3f40::/32 +2407:43c0::/32 +2407:4440::/32 +2407:4580::/32 +2407:4680::/32 +2407:4740::/32 +2407:480::/32 +2407:4880::/32 +2407:4980::/32 +2407:4a80::/32 +2407:4c80::/32 +2407:4d80::/32 +2407:4e80::/32 +2407:4f00::/32 +2407:5380::/32 +2407:53c0::/32 +2407:5500::/32 +2407:5780::/32 +2407:580::/32 +2407:5840::/32 +2407:6040::/32 +2407:6580::/32 +2407:6c40::/32 +2407:7680::/32 +2407:7780::/32 +2407:7880::/32 +2407:7980::/32 +2407:7c80::/32 +2407:7d00::/32 +2407:7d80::/32 +2407:7e80::/32 +2407:8880::/32 +2407:8b80::/32 +2407:8f40::/32 +2407:9080::/32 +2407:9180::/32 +2407:94c0::/32 +2407:9680::/32 +2407:9980::/32 +2407:9b40::/32 +2407:9bc0::/32 +2407:9f00::/32 +2407:9f80::/32 +2407:a040::/32 +2407:a640::/32 +2407:a7c0::/32 +2407:a880::/32 +2407:a940::/32 +2407:ad80::/32 +2407:ae80::/32 +2407:af80::/32 +2407:b080::/32 +2407:b180::/32 +2407:b280::/32 +2407:b380::/32 +2407:b580::/32 +2407:b680::/32 +2407:b780::/32 +2407:b880::/32 +2407:b980::/32 +2407:ba00::/32 +2407:ba80::/32 +2407:bb80::/32 +2407:bc00::/32 +2407:bc80::/32 +2407:bd80::/32 +2407:bdc0::/32 +2407:be80::/32 +2407:bf80::/32 +2407:c080::/32 +2407:c380::/32 +2407:c400::/32 +2407:c480::/32 +2407:c580::/32 +2407:c680::/32 +2407:c780::/32 +2407:c880::/32 +2407:c900::/32 +2407:c980::/32 +2407:cb80::/32 +2407:cc0::/32 +2407:cc80::/32 +2407:cd80::/32 +2407:ce80::/32 +2407:cf00::/32 +2407:cf80::/32 +2407:d480::/32 +2407:d580::/32 +2407:d680::/32 +2407:d780::/32 +2407:d7c0::/32 +2407:d880::/32 +2407:d8c0::/32 +2407:d980::/32 +2407:d9c0::/32 +2407:da80::/32 +2407:db80::/32 +2407:dc80::/32 +2407:dd80::/32 +2407:de80::/32 +2407:df80::/32 +2407:dfc0::/32 +2407:e080::/32 +2407:e180::/32 +2407:e280::/32 +2407:e380::/32 +2407:e480::/32 +2407:e580::/32 +2407:e680::/32 +2407:e780::/32 +2407:e800::/32 +2407:ea80::/32 +2407:eb80::/32 +2407:ec40::/32 +2407:ec80::/32 +2407:ecc0::/32 +2407:ed80::/32 +2407:ee80::/32 +2407:ef80::/32 +2407:f080::/32 +2407:f180::/32 +2407:f280::/32 +2407:f380::/32 +2407:f40::/32 +2407:f480::/32 +2407:f580::/32 +2407:f680::/32 +2407:f780::/32 +2407:f880::/32 +2407:f980::/32 +2407:fa80::/32 +2407:fb80::/32 +2407:fc80::/32 +2407:fd80::/32 +2408:4000::/22 +2408:6000::/24 +2408:8000::/22 +2408:8400::/22 +2408:8800::/21 +2409:2000::/21 +2409:6000::/20 +2409:8000::/20 +240a:2000::/24 +240a:4000::/21 +240a:6000::/24 +240a:8000::/21 +240a:a000::/20 +240a:c000::/20 +240b:2000::/22 +240b:8000::/21 +240c:4000::/22 +240c:8000::/21 +240c::/28 +240c:c000::/20 +240d:4000::/21 +240d:8000::/24 +240e:1000::/20 +240e:100::/24 +240e:2000::/19 +240e:200::/23 +240e:400::/22 +240e:800::/21 +240e::/24 +240f:4000::/24 +240f:8000::/24 +240f:c000::/24 diff --git a/luci-app-passwall/root/usr/share/passwall/rules/direct_host b/luci-app-passwall/root/usr/share/passwall/rules/direct_host new file mode 100644 index 00000000..dd507f31 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/direct_host @@ -0,0 +1,18 @@ +apple.com +microsoft.com +dyndns.com +douyucdn.cn +douyucdn2.cn + +#steam +steamcontent.com +dl.steam.clngaa.com +dl.steam.ksyna.com +st.dl.bscstorage.net +st.dl.eccdnx.com +st.dl.pinyuncloud.com +cdn.mileweb.cs.steampowered.com.8686c.com +cdn-ws.content.steamchina.com +cdn-qc.content.steamchina.com +cdn-ali.content.steamchina.com +epicgames-download1-1251447533.file.myqcloud.com diff --git a/luci-app-passwall/root/usr/share/passwall/rules/direct_ip b/luci-app-passwall/root/usr/share/passwall/rules/direct_ip new file mode 100644 index 00000000..90293cda --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/direct_ip @@ -0,0 +1,6 @@ +114.114.114.114 +114.114.115.115 +223.5.5.5 +223.6.6.6 +119.29.29.29 +180.76.76.76 diff --git a/luci-app-passwall/root/usr/share/passwall/rules/domains_excluded b/luci-app-passwall/root/usr/share/passwall/rules/domains_excluded new file mode 100644 index 00000000..84e00b35 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/domains_excluded @@ -0,0 +1,23 @@ +rbsxbxp-mim.vivox.com +rbsxbxp.www.vivox.com +rbsxbxp-ws.vivox.com +rbspsxp.www.vivox.com +rbspsxp-mim.vivox.com +rbspsxp-ws.vivox.com +rbswxp.www.vivox.com +rbswxp-mim.vivox.com +disp-rbspsp-5-1.vivox.com +disp-rbsxbp-5-1.vivox.com +proxy.rbsxbp.vivox.com +proxy.rbspsp.vivox.com +proxy.rbswp.vivox.com +rbswp.vivox.com +rbsxbp.vivox.com +rbspsp.vivox.com +rbspsp.www.vivox.com +rbswp.www.vivox.com +rbsxbp.www.vivox.com +rbsxbxp.vivox.com +rbspsxp.vivox.com +rbswxp.vivox.com +Mijia Cloud diff --git a/luci-app-passwall/root/usr/share/passwall/rules/gfwlist b/luci-app-passwall/root/usr/share/passwall/rules/gfwlist new file mode 100644 index 00000000..e0a9f2ff --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/gfwlist @@ -0,0 +1,12140 @@ +01.org +0emm.com +0plkijj.vip +0x0.st +100beatscheap.com +100classicbooks.com +1010.com.hk +10xfotolia.com +112263.com +114av.xyz +123-hp.com +123hplaserjet.com +128100.xyz +12diasdepresentesdeitunes.com +12diasderegalosdeitunes.cl +12diasderegalosdeitunes.co +12diasderegalosdeitunes.co.cr +12diasderegalosdeitunes.co.ni +12diasderegalosdeitunes.co.ve +12diasderegalosdeitunes.com +12diasderegalosdeitunes.com.co +12diasderegalosdeitunes.com.hn +12diasderegalosdeitunes.com.ni +12diasderegalosdeitunes.com.ve +12diasderegalosdeitunes.cr +12diasderegalosdeitunes.gt +12diasderegalosdeitunes.hn +12diasderegalosdeitunes.pe +12joursdecadeauxdeitunes.com +1337x.gd +1337x.is +1337x.st +1337x.to +1337x.tw +1337xto.to +1337xx.to +16fhgdty.xyz +18novel.xyz +18p2p.com +1degree.com.au +1drv.com +1drv.ms +1e100.net +1jjdg2.vip +1jsa22.vip +1monsterbeatsbydreus.com +1pondo.tv +1to1computing.com.au +1to1conference.com.au +1ucrs.com +2013beatsbydrdreonline.com +2013beatsbydrdreshop.com +2013beatsbydreshop.com +2013beatshdcybermonday.com +2013cheapestbeats.com +2013newbeatsworld.com +2013pascherbeatsbydre.com +2014cheapbeatsbydre.com +20thcenturystudios.com.au +20thcenturystudios.com.br +20thcenturystudios.jp +21centuryaccess.com +2beatsdre.com +2buybeatsbydre.com +2ch.net +2drdrebeats.com +2mdn.net +2o7.net +40shopping.com +466453.com +47gyosei.jp +47news.jp +4beatsbydre.com +4cdn.org +4chan.org +4channel.org +4ebaytraders.com +4gtv.tv +4myminicard.com +51dh.site +520aa.tv +5278.cc +52hyse.com +53world.com +53worldsweeps.com +54647.global +54647.io +54647.online +5beatsbydre.com +5ch.net +5i01.com +5lml.com +69story.com +69vj.com +721av.com +7mm.tv +8008206616.com +85tube.com +881903.com +8muses.com +91.51rmc.com +91porn.com +920share.com +928.plus +9anime.cz +9anime.id +9anime.to +9anime.ws +9cdn.net +9nation.com.au +9news.com.au +9now.com.au +9to5google.com +9to5mac.com +9to5terminal.com +9to5toys.com +a.91gay.me +a.kslive.tv +a0pple.net +a2z.com +aaagradeheadphones.com +aacrjournals.org +aaex.uk +aanaan.com +aapl.tw +aavs.xyz +abc-studios.com +abc.com +abc.xyz +abcheadphones.com +abeatsbydrdre.com +abema.io +abema.tv +abematv.akamaized.net +aboutamazon.co.uk +aboutamazon.com +aboutamazon.com.au +aboutamazon.de +aboutamazon.es +aboutamazon.eu +aboutamazon.fr +aboutamazon.in +aboutamazon.it +aboutamazon.jp +aboutamazon.pl +aboutfacebook.com +aboutmcdonalds.com +aboutyourmini.com +abow.jp +ac-pocketcamp.com +academic.eb.com +academynetriders.com +accbusiness.com +accessfacebookfromschool.com +account-paypal.info +account-paypal.net +account-paypal.org +accountkit.com +accountpaypal.com +accountpaypal.net +accountpaypal.org +accuweather.com +acebooik.com +acebook.com +acer-group.com +acer.com +achat-followers-instagram.com +acheter-followers-instagram.com +acheterdesfollowersinstagram.com +acheterfollowersinstagram.com +achievementanalytics.com +aclweb.org +acm.org +acmvalidations.com +acmvalidationsaws.com +acpica.com +acrobat.com +acs.org +activelearnprimary.co.uk +activelearnprimary.com.au +activeteachonline.com +adaptivecards.io +adbecrsl.com +adblockplus.org +adcommerce.tv +addison-wesley.ch +addthis.com +addthiscdn.com +addthisedge.com +addtoany.com +adelaidenow.com.au +adgoogle.net +adguard-vpn.com +adguard.com +adhelpnews.com +adidas.at +adidas.be +adidas.ch +adidas.co.in +adidas.co.uk +adidas.com +adidas.com.sa +adidas.com.tw +adidas.cz +adidas.de +adidas.dk +adidas.hu +adidas.ie +adidas.it +adidas.nl +adidas.pl +adidas.ru +adidas.se +admeld.com +admob.com +adobe-aemassets-value.com +adobe-audience-finder.com +adobe-video-partner-finder.com +adobe.com +adobe.io +adobe.ly +adobeaemcloud.com +adobeaemcloud.net +adobeawards.com +adobecc.com +adobecce.com +adobeccstatic.com +adobecontent.io +adobecreativityawards.com +adobedc.net +adobedemo.com +adobedtm.com +adobeexchange.com +adobeexperienceawards.com +adobegov.com +adobehiddentreasures.com +adobejanus.com +adobeku.com +adobelanding.com +adobelogin.com +adobeoobe.com +adobeplatinumclub.com +adobepress.ch +adobeprojectm.com +adobesc.com +adobesign.com +adobesigncdn.com +adobespark.com +adobess.com +adobestock.com +adobetag.com +adobetarget.com +adobetcstrialdvd.com +adobetechcomm.com +adobetechcommcallback.com +adobetechcommdemo.com +adobexdplatform.com +ads-twitter.com +ads.pubmatic.com +ads.yahoo.com +adsense.com +adsensecustomsearchads.com +adsenseformobileapps.com +advancediddetection.com +adventuresbydisney.com +advertisercommunity.com +advertiserscommunity.com +adwords-community.com +adwords.com +adwordsexpress.com +adx.promo +aeasyshop.com +aerogard.com.au +aerogardcn.com +aesworkshops.com +afewmomentswith.com +afp.com +afpforum.com +agendaweek.com +agu.org +agzy1.com +ahmia.fi +aiaa.org +aiasahi.jp +aibaobei.me +aimei133.com +aimsciences.org +air-nike-shoes.com +air-watch.com +airav.cc +airgonetworks.com +airhorn.solutions +airhornbot.com +airiti.com +airitilibrary.com +airmax360.com +airmay.com +airport-gov-cn.com +airport.brussels +airport.com +airport.eu +airsupportapp.com +airtunes.com +airtunes.info +airtunes.net +airwatchexpress.com +airwatchqa.com +airwick.at +airwick.be +airwick.ca +airwick.ch +airwick.cl +airwick.co.in +airwick.co.nz +airwick.co.uk +airwick.co.za +airwick.com +airwick.com.au +airwick.com.br +airwick.com.mx +airwick.com.tr +airwick.cz +airwick.de +airwick.dk +airwick.es +airwick.fi +airwick.fr +airwick.hr +airwick.hu +airwick.ie +airwick.it +airwick.jp +airwick.net +airwick.nl +airwick.no +airwick.pl +airwick.pt +airwick.ro +airwick.ru +airwick.se +airwick.si +airwick.sk +airwick.tv +airwick.us +airwickarabia.com +aiv-cdn.net +ajplus.net +ajtalk.com +ak1.net +aka-ai.com +aka-ai.net +aka.ms +akacrypto.net +akadeem.net +akadns.com +akadns6.net +akaeai.com +akafms.net +akahost.net +akaint.net +akam.net +akamaa.com +akamah.com +akamai-access.com +akamai-access.net +akamai-cdn.com +akamai-platform-internal.net +akamai-platform-staging.com +akamai-platform.net +akamai-regression.net +akamai-staging.net +akamai-sucks.net +akamai-thailand.com +akamai-thailand.net +akamai-trials.com +akamai.co.kr +akamai.com +akamai.net +akamaientrypoint.net +akamaietpcnctest.com +akamaietpcompromisedcnctest.com +akamaietpcompromisedmalwaretest.com +akamaietpmalwaretest.com +akamaietpphishingtest.com +akamaihd-staging.net +akamaihd.com +akamaihd.net +akamaimagicmath.net +akamainewzealand.com +akamaiphillipines.com +akamaiphillipines.net +akamaisingapore.net +akamaitech.com +akamaitech.net +akamaitechnologies.com +akamaitechnologies.net +akamaized-staging.net +akamaized.net +akamaizercentral.com +akamak.com +akamam.com +akamci.com +akami.com +akami.net +akamii.com +akamqi.com +akasha.world +akastream.com +akastream.net +akatns.net +albeats.com +alchemysynth.com +alexa.com +alexanderstreet.com +alfera.com.hk +alfera.com.my +alfera.in +alfera.my +alibabacloud.co.in +alibabacloud.com +alibabacloud.com.au +alibabacloud.com.hk +alibabacloud.com.my +alibabacloud.com.sg +alibabacloud.com.tw +alicloud.com +aliveipc.com +aliveitsm.com +aliveprofiler.com +alivercm.com +aliverewind.com +alivertsm.com +alivevm.com +alivevmax.com +alivevue.com +aljazeera.com +aljazeera.net +alphabet.asia +alphabet.at +alphabet.be +alphabet.biz +alphabet.ch +alphabet.co.hu +alphabet.co.uk +alphabet.co.za +alphabet.com +alphabet.com.es +alphabet.com.lv +alphabet.com.mx +alphabet.com.pl +alphabet.com.pt +alphabet.cz +alphabet.de +alphabet.es +alphabet.eu +alphabet.fr +alphabet.info +alphabet.jp +alphabet.lt +alphabet.lu +alphabet.lv +alphabet.mx +alphabet.no +alphabet.org.uk +alphabet.pl +alphabet.pt +alphabet.uk +alphabet.us +alphabetfinance.net +alphera-finance.co.in +alphera-finance.com.hk +alphera-finance.in +alphera.ca +alphera.co.in +alphera.co.nz +alphera.com +alphera.com.es +alphera.com.hk +alphera.com.my +alphera.de +alphera.es +alphera.ie +alphera.in +alphera.my +alphera.net +alpherafinance.com.hk +alpherafinancialservices.es +alpherafinancialservices.in +alpherafs.ca +alpherafs.co.nz +alpherafs.com.hk +alpherafs.com.my +alpherafs.ie +alpherafs.in +alpherafs.my +alpinelinux.org +altera.com +alteraforum.com +alteraforums.com +alteraforums.net +alterauserforum.com +alterauserforum.net +alterauserforums.com +alterauserforums.net +altmetric.com +am730.com.hk +amaaozn.com +amamanualofstyle.com +amazon-adsystem.com +amazon-fashions.com +amazon-jp-recruiting.com +amazon-lantern.com +amazon-launchpad.com +amazon.ae +amazon.ca +amazon.co.jp +amazon.co.uk +amazon.com +amazon.com.au +amazon.com.br +amazon.com.mx +amazon.com.tr +amazon.de +amazon.es +amazon.fr +amazon.in +amazon.it +amazon.jobs +amazon.jp +amazon.nl +amazon.red +amazon.sg +amazonalexavoxcon.com +amazonauthorinsights.com +amazonaws-china.com +amazonaws.co.uk +amazonaws.com +amazonaws.tv +amazonbusiness.org +amazonbusinessblog.com +amazondevicesupport.com +amazonfctours.com +amazonianblog.com +amazonimages.com +amazonlaunchpad.com +amazonliterarypartnership.com +amazonlumberyard.wang +amazonpay.com +amazonpay.in +amazonprimevideos.com +amazonsdi.com +amazonstudiosguilds.com +amazontrust.com +amazonvideo.cc +amazonvideo.com +amazonvideodirect.com +amazonworkdocs.com +amd.com +amdfanstore.com +amdigital.co.uk +ameba.jp +amebame.com +amebaownd.com +amebaowndme.com +ameblo.jp +americasvoice.news +amerikaninsesi.com +amerikaninsesi.org +amerikaovozi.com +amerikayidzayn.com +amerikiskhma.com +amiibo.com +amlg.io +amp.akamaized.net +amp.dev +amplifyapp.com +amplifyframework.com +ampproject.com +ampproject.net +ampproject.org +ams.org +ams02.space +amytele.com +amzn.com +amzn.to +amznl.com +anaconda.cloud +anaconda.com +anaconda.org +analytictech.com +anandtech.com +anatomy.tv +anb.org +android.com +androidify.com +andysparis.com +anfutong.com +angelbeats.jp +angle.com.tw +angulardart.org +anidom.com +anigema.jp +animedao-tv.com +animezilla.com +ankarazirvesi2018.com +anm.co.uk +annstores.net +annualreviews.org +anthemgame.com +anthemthegame.com +ao3.org +aokwholesale.net +aomedia.org +aorus.com +ap.org +ap0le.com +apa.org +apache.org +apexlegends.com +apexprint.com.hk +api-extractor.com +api-p.videomarket.jp +api-priconne-redive.cygames.jp +api.ai +api.news +api.viu.now.com +apibay.org +apigee.com +apisof.net +apkmirror.com +apkpure.com +aple.com +aplestore.com +aplleipods.com +apnews.com +apole.com +app-dynamics.com +app-measurement.com +app-store.wang +app0le.com +appbridge.ca +appbridge.io +appbridge.it +appcenter.ms +appcloud.com +appdomain.cloud +appdynamics.co.uk +appdynamics.com +appdynamics.de +appdynamics.fr +appdynamics.info +appdynamics.jp +appdynamics.org +appe-store.com +appexchange.com +appl-e.com +appl.com +appl4e.com +appla.com +apple-cloudkit.com +apple-darwin.com +apple-darwin.net +apple-darwin.org +apple-dns.com +apple-dns.net +apple-enews.com +apple-expo.com +apple-expo.eu +apple-hk.com +apple-imac.com +apple-inc.net +apple-livephotoskit.com +apple-mapkit.com +apple-online.com +apple-pay.com +apple-pay.rs +apple-pay.wang +apple-store.net +apple-store.wang +apple-usa.net +apple-watch.com.ru +apple.ae +apple.at +apple.be +apple.bg +apple.bs +apple.ca +apple.ch +apple.cl +apple.cm +apple.co +apple.co.cr +apple.co.hu +apple.co.jp +apple.co.kr +apple.co.mz +apple.co.nz +apple.co.th +apple.co.uk +apple.cz +apple.de +apple.dk +apple.ee +apple.es +apple.eu +apple.fi +apple.fr +apple.hamburg +apple.hn +apple.hr +apple.hu +apple.ie +apple.in +apple.is +apple.it +apple.jo +apple.jp +apple.kr +apple.lk +apple.lt +apple.lv +apple.me +apple.my +apple.net +apple.net.gr +apple.news +apple.nl +apple.no +apple.pk +apple.pl +apple.pt +apple.ro +apple.rs +apple.ru +apple.sa +apple.se +apple.sg +apple.si +apple.sk +apple.so +apple.tt +apple.tw +apple.uk +apple.us +apple.xn--czr694b +apple.xn--fiqs8s +apple.xyz +appleaccount.net +appleafrica.com +appleantilles.com +appleappstore.net +appleappstore.tv +appleaustralia.com +appleaustralia.com.au +appleaustralia.net.au +applebk.net +applecarbon.com +applecard.tv +applecare.berlin +applecare.cc +applecare.eu +applecare.hamburg +applecare.wang +applecensorship.com +applecentar.co.rs +applecentar.rs +applecentre.com.au +applecentre.info +appleclassicipod.com +appleclub.com.hk +applecom.com +applecomputer-imac.com +applecomputer.co.in +applecomputer.co.nz +applecomputer.com +applecomputer.com.hk +applecomputer.com.tw +applecomputer.hu +applecomputer.kr +applecomputerimac.com +applecomputerinc.info +applecomputers.co.nz +applecoronavirus.com +appledaily.com +appledaily.com.hk +appledaily.com.tw +appledaily.hk +appledarwin.com +appledarwin.net +appleenews.com +appleexpo.eu +appleexpo.info +applefilmaker.com +applefilmmaker.com +applefinalcutproworld.com +applefinalcutproworld.net +applefinalcutproworld.org +applefruity.com +applehealth.com.hk +applehongkong.com +applehongkong.com.hk +appleid-applemx.com +appleid-applemx.us +appleid-iclou.com +appleid-uk.us +appleid.berlin +appleid.com +appleid.hamburg +appleid.hk +appleimac.com +appleinclegal.com +appleinsider.com +appleiphone.hu +appleiphone.net +appleiphonecell.com +appleipodsettlement.com +appleiservices.com +applelink.com +applemagickeyboard.com +applemalaysia.com.my +applemasters.info +applemusic.berlin +applemusic.co +applemusic.com +applemusic.com.au +applemusic.hamburg +applemusic.wang +applemusicconnect.com +applemusicfestival.com +applemx-icloud.com +applenews.berlin +applenews.hamburg +applenews.tv +applenewsformat.com +appleone.audio +appleone.blog +appleone.chat +appleone.cloud +appleone.club +appleone.community +appleone.film +appleone.guide +appleone.host +appleone.space +appleone.tech +appleone.website +appleonline.com +appleonline.net +appleoriginalproductions.com +appleos.tv +applepay.berlin +applepay.co.rs +applepay.com.tw +applepay.hamburg +applepay.hk +applepay.info +applepay.jp +applepay.rs +applepay.tv +applepaycash.net +applepaycash.tv +applepaymerchantsupplies.info +applepaysupplies.berlin +applepaysupplies.com +applepaysupplies.info +applepaysupplies.net +applepaysupplies.tv +applepencil.net +applepodcasts.com +applepremiumreseller.com.au +applepremiumresellers.com.au +applereach.com +applereach.net +apples-msk.ru +applescreensavers.com +applescript.info +appleshare.info +appleshop.co.uk +applestor.com +applestore.bg +applestore.cc +applestore.ch +applestore.cm +applestore.co.hu +applestore.co.jp +applestore.co.ug +applestore.co.uk +applestore.com +applestore.com.au +applestore.com.bn +applestore.com.ee +applestore.com.eg +applestore.com.gr +applestore.com.hk +applestore.com.hr +applestore.com.jo +applestore.com.my +applestore.com.ph +applestore.com.pl +applestore.com.pt +applestore.com.ro +applestore.com.ru +applestore.com.sn +applestore.com.tw +applestore.de +applestore.hk +applestore.kr +applestore.me +applestore.net +applestore.net.gr +applestore.ph +applestore.qa +applestore.sg +applestore.wang +applestoreonline.com +applestorepro.eu +applesurveys.com +appleswift.com +appletaiwan.com +appletips.net +appletv.com +appletv.fr +appletv.wang +appletvapp.apple +applewallet.com +applewallet.tv +applewatch.hk +applewatch.tv +applewatch.tw +applewatch.wang +applewatchedition.com +applewatchseries3.net +applewatchsport.com +appleweb.net +appleworldwidedeveloper.hb-api.omtrdc.net +appleworldwidedeveloper.sc.omtrdc.net +applexpo.net +applezh.com +applf.com +applfe.com +applicationinsights.io +applicationinsights.net +applle.com +applw.com +appmediagroup.com +approvedusedbmw.com +appsonebay.net +appspot.com +appsto.re +appstore.co.id +appstore.hk +appstore.my +appstore.ph +appule.com +appye.com +apress.com +aps.org +aptoide.com +apture.com +apyle.com +arabidopsis.org +aranzadi.es +arcgis.com +arcgisonline.com +archive.org +archiveofourown.com +archiveofourown.net +archiveofourown.org +archlinux.org +archlinuxarm.org +area120.com +arewereadyyet.com +areyoucreditwise.com +aria.ms +ark.to +arphic.com +arphic.com.cn +arphic.com.tw +artstation.com +artstationmedia.com +artstor.org +arxiv.org +as-hp.ca +asagaku.com +asahi.com +asahicom.jp +asahishimbun.sc.omtrdc.net +asakonet.co.jp +ascelibrary.org +asebay.com +asha.org +asianpornmovies.com +askfacebook.net +askfacebook.org +askubuntu.com +asm.org +asme.org +asminternational.org +asn-online.org +asp-cc.com +asp.net +aspbjournals.org +aspenpublishing.com +aspnetcdn.com +asproex.com +asproexapi.com +assetsadobe.com +associates-amazon.com +assylum.com +astm.org +asto.re +asus.com +atandt.com +atdmt2.com +ateam-oracle.com +atlantaminidealers.com +atlasdmt.com +atlasonepoint.com +atlassian.com +atnext.com +atom.io +atscaleconference.com +att-bundles.com +att-idns.net +att-japan.com +att-mail.com +att-promotions.com +att-rsvp.com +att.com +att.jobs +att.net +att.tv +attalascom.com +attbelieves.com +attbusiness.net +attcenter.com +attcollaborate.com +attdns.com +attdns.net +attexperts.com +attglobal.net +attic.io +attinnovationspace.com +attinternetservice.com +attjoy.com +attnetclient.com +attonlineoffers.com +attproxy.com +attpublicpolicy.com +attpurchasing.com +attsavings.com +attspecial.com +attssl.com +attstadium.com +attsuppliers.com +atttvnow.com +attuverseoffers.com +attuverseonline.com +attvoip.com +attwatchtv.com +attwifi.com +attwirelessinternet.com +attwirelessonline.com +attwirelesssolutions.com +atypi.org +aucheapbeats.com +audible.com +audiencenetwork.com +audiencenetwork.tv +audio-ak-spotify-com.akamaized.net +audiobeatsau.com +audiobeatsbydre.com +audiomonsterbeatsonline.com +auricularemonsterbeats.com +auricularesbeatsbaratosshop.com +auricularesbeatsmarkt.com +ausbeatsbydrdre.com +authorxml.com +authy.com +autodesk.com +autodraw.com +automobile.fr +av01.tv +av1688.cc +av6k.com +avatargarenanow-a.akamaihd.net +avbebe.com +avfox.cc +avgle.com +avh.world +avinetworks.com +avinin.com +avmoo.casa +avmoo.com +avmoo.cyou +avn.com +avpanda.cc +avsee01.tv +avseesee.com +avsforum.com +avxde.org +avxhm.is +avxhm.se +avxlive.icu +awayoutgame.com +aweencore.com +awetv.com +aws-iot-hackathon.com +awsautopilot.com +awsautoscaling.com +awsbraket.com +awscommandlineinterface.com +awsedstart.com +awseducate.com +awseducate.net +awseducate.org +awsloft-johannesburg.com +awsloft-stockholm.com +awssecworkshops.com +awsstatic.com +awsthinkbox.com +awstrust.com +axios.com +ayudanintendo.com +azadiradio.com +azadliq.org +azathabar.com +azatliq.org +azattyk.org +azattyq.org +azatutyun.am +aznude.com +azure-dns.com +azure-dns.info +azure-dns.net +azure-dns.org +azure-mobile.net +azure-sphere.com +azure-test.net +azure.com +azure.microsoft.com +azure.net +azurecomcdn.net +azurecontainer.io +azurecosmos.net +azurecosmosdb.com +azurecosmosdb.info +azurecosmosdb.net +azuredatabricks.net +azuredevopslaunch.com +azuredigitaltwin.com +azuredigitaltwins.com +azuredigitaltwins.net +azuredns-prd.info +azuredns-prd.org +azureedge-test.net +azureedge.net +azureiotcentral.com +azureiotsolutions.com +azureiotsuite.com +azuremarketplace.microsoft.com +azureplanetscale.info +azureplanetscale.net +azureserviceprofiler.com +azuresmartspaces.net +azurestackvalidation.com +azurewebsites.net +baazee.com +babble.com +babyzone.com +badaas.com +badgen.net +bag-glasses1.com +bahamut.akamaized.net +bahamut.com.tw +baicaonetwork.com +baltimorebmw.com +bamgrid.com +bandag.cc +bandag.com +bandcamp.com +bandgirlz.com +bandpage.com +bandwagonhost.com +bangbros.com +banned.video +barefootnetworks.com +barkadahansasmartone.com +barrons-advisor.com +barrons-conferences.com +barrons.com +baselinestudy.com +baselinestudy.org +bastillepost.com +bastropfirestone.com +baterias-hp.com +battle.net +battlebreakers.com +battlefield.com +battlefield1943.com +battlefield3.com +battlefield4.com +battlefield5.com +battlefieldbadcompany2.com +battlefieldheroes.com +battlefieldv.com +battlefront2.com +battlefrontii.com +battlelog.com +baxsound.com +bayareabmw.com +bayvoice.net +bazel.build +bbc.co.uk +bbc.com +bbc.in +bbc.net.uk +bbcfmt.s.llnwi.net +bbci.co.uk +bbcmedia.co.uk +bbcpersian.com +bbcverticals.com +bbestmall.com +bbg.gov +bbgevent.com +bbgwatch.com +bbhub.io +bbthat.com +bby.com +bbycastatic.ca +bbycloud.com +bbycontent.com +bbycontent.net +bbyintl.com +bbystatic.com +bbyurl.us +bcbits.com +bcicdn.com +bcove.video +bcovlive-a.akamaihd.net +bcovlive.io +bcrncdn.com +bcsecure01-a.akamaihd.net +bcvp0rtal.com +bdn.dev +beatbd.com +beatbydre2013.com +beatbydreheadphonesonsale.com +beatbydrekopen.com +beatbydremonster.com +beatbydreuk2014.com +beatdrdres.com +beatfactoryoutlets.com +beatmonstersaustralia.net +beats-by-dre-australia.com +beats-bydrdre.net +beats-bydre-mall.com +beats-bydrecheapsale.com +beats-bydreoutletonline.com +beats-bydreoutletsale.com +beats-bydreoutletsale.net +beats-bydreoutletssale.net +beats-bydrestore.com +beats-bydreuk.com +beats-deal.com +beats-dre-us.com +beats-headphones-buy-cheap.com +beats-headphones.us +beats-sale.com +beats-seller.com +beats-soaho.com +beats1.cc +beats1.tv +beats123.com +beats4.net +beats4outlets.com +beats4salecheap.com +beatsallsale.com +beatsaudifonos.com +beatsaudiobydre.com +beatsaudiobydre.net +beatsaudios.net +beatsbeatsmonster.com +beatsbestdeals.com +beatsblackfridaydeals.net +beatsblackfridayretails.com +beatsboxingdayuksale.com +beatsbydrdre-headphones.com +beatsbydrdre-officials5.com +beatsbydrdre-online.com +beatsbydrdre-onsale.com +beatsbydrdre-store.com +beatsbydrdre-store.us +beatsbydrdre4sale.com +beatsbydrdrebiz.com +beatsbydrdrecustom.com +beatsbydrdredanmark.com +beatsbydrdremall.com +beatsbydrdreoutlet.com +beatsbydrdres.com +beatsbydrdresale.net +beatsbydrdrestore.com +beatsbydrdreus.com +beatsbydre-beatsheadphone.com +beatsbydre-chen.com +beatsbydre-club.com +beatsbydre-headphones.com +beatsbydre-headphonesshop.com +beatsbydre-mall.com +beatsbydre-outlet.com +beatsbydre-outletsale.net +beatsbydre-outletstore.com +beatsbydre-sell.com +beatsbydre-store.com +beatsbydre-studio.com +beatsbydre-us.com +beatsbydre.jp +beatsbydre2081.com +beatsbydre411.com +beatsbydre4usales.com +beatsbydreauofficial.com +beatsbydreausale.net +beatsbydreaustralia-sale.com +beatsbydreaustraliaonline.com +beatsbydreaustraliaonlines.com +beatsbydreaustraliasales.com +beatsbydrebeatsby.com +beatsbydreblackfriday2013.com +beatsbydreblackfridaypro.com +beatsbydreboxingdayca.com +beatsbydrecasquesfr.com +beatsbydrecheap-outletstore.com +beatsbydrecheaper.com +beatsbydrecheaponlinesales.com +beatsbydrecolors.com +beatsbydrecustomwireless.com +beatsbydrecybermondaydeals2013.com +beatsbydrecybermondaydeals2013.net +beatsbydredanmarks.com +beatsbydredealsblackfriday.com +beatsbydredealscybermonday.com +beatsbydrediscount.com +beatsbydrediscountonline.net +beatsbydredr.com +beatsbydreexecutivesale.com +beatsbydreformall2013-nl.com +beatsbydreforsalesonline.com +beatsbydreforshop2013-nl.com +beatsbydreforstore.com +beatsbydreforyououtlet.com +beatsbydrefr.com +beatsbydrefrcasquepascher.com +beatsbydrefriday.com +beatsbydregot.com +beatsbydrehd.com +beatsbydrehd.net +beatsbydreheadphones-nz.com +beatsbydreheadphonesolo.com +beatsbydrehut.com +beatsbydreinexpensive.com +beatsbydreireland-sales.com +beatsbydreirelandonlines.com +beatsbydreirelandsale.com +beatsbydreirelandsonline.com +beatsbydremall2013.com +beatsbydremonsteraustralia.com +beatsbydrenls.com +beatsbydrenorge1.net +beatsbydreofficialdanmark.com +beatsbydreoksale.com +beatsbydreol.com +beatsbydreonlie2013-nl.com +beatsbydreonlines-ireland.com +beatsbydreonlines-uk.com +beatsbydreonlinesale-nz.com +beatsbydreoordopjes.com +beatsbydreoslo.com +beatsbydreoutletsale.com +beatsbydreoutletscheap.com +beatsbydrerealstore.com +beatsbydres-shop.com +beatsbydresale-uk.com +beatsbydresalemall2013.com +beatsbydresaleonlines-nz.com +beatsbydresales.us +beatsbydresalesonline-australia.com +beatsbydresdanmark.net +beatsbydreshop-uk.com +beatsbydreshops.net +beatsbydresingapores.com +beatsbydresingaporesale.com +beatsbydresold.com +beatsbydresolohdonline-canada.com +beatsbydresonline-nz.com +beatsbydrespeakers.com +beatsbydressale.com +beatsbydressolo.com +beatsbydresstudio.com +beatsbydrestorevip.com +beatsbydrestudio-australia.com +beatsbydrestudio.com +beatsbydretoutlet.com +beatsbydreuk.com +beatsbydreuk.net +beatsbydreus.com +beatsbydrevipde.com +beatsbydrew.com +beatsbydrsmonsterinusa.com +beatsbymusic.net +beatsbysdrbre.com +beatsbysdrdres.com +beatscasque-france.com +beatscheap-nz.com +beatscheap-uk.com +beatscheapforsale.com +beatscollection2014.com +beatscustomblackfriday.com +beatsdanmark2013.com +beatsdrdre-headphones.com +beatsdrdre-it.com +beatsdrdre-solo.com +beatsdrdre2014.com +beatsdrdrecuffie.net +beatsdrdrekaufenschweiz.net +beatsdrdreneon.com +beatsdre-monster.com +beatsdre.net +beatsdre4cheap.com +beatsdrecheap.com +beatsdredreheadphones.com +beatsdreforsale.com +beatsdreinau.com +beatsdremonster-uk.com +beatsdrenewcolorful4usale.com +beatsdreoutletsale.com +beatsdresale2013.com +beatsdresalestore.com +beatsdresolo2013.com +beatsdreus.com +beatsearbudsheadphoness.com +beatselectronic.net +beatselectronics.com +beatselectronicsllc.tt.omtrdc.net +beatsep.com +beatsep.net +beatsfacstore.com +beatsfactoroutlets.com +beatsfactorycollection.com +beatsfactoryoutles.com +beatsforcheap-usa.com +beatsforme.com +beatsfranceofficiel.com +beatsheadphones-discount.com +beatsheadphones1.com +beatsheadphones2u.com +beatsheadphonesale.com +beatsheadphonesdealer.com +beatsheadphonesforcheap.net +beatsheadphonesonline.com +beatsheadphoness.com +beatsheadphonestudio.com +beatsheadphonesusamall.com +beatshopuk.com +beatsincanada.com +beatsinsingapore.com +beatsireland.net +beatsjoy.com +beatsmonstersales.com +beatsmusic.com +beatsmusic.wang +beatsneon.com +beatsnzsale.com +beatsodre.com +beatsofdre-usa.com +beatsonblackfriday2013.com +beatsone.net +beatsoutlet.net +beatsoutletanytime.com +beatsoutletonlines.com +beatspascher-bydre.com +beatspascher-fr.net +beatspascher.net +beatspaschers.net +beatspillnewcolor.com +beatspills.com +beatspromonsterjp.com +beatspromotions.com +beatssales.com +beatssaleus.com +beatssaustraliabuy.com +beatssbyaustralia.com +beatssbydredanmark.com +beatsshop-uk.com +beatsshop-usa.com +beatsshopstore.com +beatssingapores.com +beatssingaporeshop.com +beatsstudiohodetelefoner.com +beatsstudiosite.com +beatstoreusa.com +beatsua.com +beatswholesale.us +beatswirelesscheap.com +beatswirelesscuffie.com +beatthatquote.com +beautyandthebeastmusical.co.uk +bebepremium3.com.bo +beck-online.beck.de +becomeindex.com +beddit.tv +beeg.com +begin-trade.com +behance.net +beibao.com +beijingnike.com +bejeweledstars.com +bejewled-stars.com +bellsouth.net +benghuai.com +benliton.com +bentobox.tv +berkanawireless.com +berkeley.edu +bestbeats4u.com +bestbhy.com +bestbuy-audio.com +bestbuy-communityrelations.com +bestbuy-giftcard.info +bestbuy-int.com +bestbuy-jobs.com +bestbuy.ca +bestbuy.com +bestbuy.com.mx +bestbuy.info +bestbuy24x7solutions.com +bestbuybusiness.com +bestbuybusinessadvantageaccount.com +bestbuycanada.ca +bestbuycanada.com +bestbuycanadaltd.ca +bestbuycharityclassic.com +bestbuycoffeemakers.com +bestbuyethics.com +bestbuyforbusiness.ca +bestbuygsm.com +bestbuyideax.com +bestbuyphotoworkshoptours.com +bestbuyrewards.com +bestbuyrewardzone.ca +bestbuys.com +bestbuysgeeksquad.com +bestbuysolutions.net +bestbuystores.com +bestbuytradein.com +bestbuyus.com +besthentaitube.com +bestiphonestuff.com +bestmallawards.com +bestrecipes.com.au +bestshoesale2014.net +besztbuy.com +beth.games +bethesda.net +bethesdagamestudios.com +bethsoft.com +betterexplained.com +betternike.com +bextbuy.com +beyondcore.com +bgov.com +bgr.in +bh3.com +bidbay.com +bidi.net.uk +bidorbuyindia.com +bidvestbank.co.za +bienvenuechezbestbuy.ca +bigbeans.solutions +bigbigchannel.com.hk +bigbigshop.com +bigbuckbunny.org +bigcharts.com +bighead.group +biitii.com +bill-safe.com +billmelater.com +billmelater.info +billmelater.net +billpoint.com +billpoint.info +billpoint.tv +billpoint.us +billpointnewzealand.com +binads.com +binance.cc +binance.charity +binance.cloud +binance.co +binance.com +binance.info +binance.me +binance.net +binance.org +binance.us +binance.vision +binanceapi.com +binancezh.be +binancezh.biz +binancezh.cc +binancezh.co +binancezh.com +binancezh.info +binancezh.ink +binancezh.kim +binancezh.link +binancezh.live +binancezh.mobi +binancezh.net +binancezh.pro +binancezh.sh +binancezh.top +bing.net +bingads.com +bingagencyawards.com +bingapistatistics.com +bingsandbox.com +bingvisualsearch.com +bingworld.com +binoculus.com +bintray.com +biologists.com +biomedcentral.com +bioone.org +biorxiv.org +bioware.com +biowarestore.com +bisq.io +bisq.network +bit.ly +bitballoon.com +bitbank.cc +bitbucket.org +bitcoin.org +bitfinex.com +bitflyer.com +bitflyer.jp +bitly.com +bitly.is +bitmex.com +bitnami.com +bitnamiapp.com +bitnamistudio.com +bitquick.co +bitsquare.io +bitstamp.net +bitstream.com +bittrex.com +bitvise.com +bitwarden.com +blackboxgames.com +blackfridaydrebeatsnew.com +blackfridaydrebeatsshop.com +blackstonespoliceservice.com +blazor.net +blender.org +blink.org +blinkload.zone +blizzak-juken.jp +blizzard.com +blizzard.nefficient.co.kr +blizzardgearstore.com +blizzcon-a.akamaihd.net +blogblog.com +blogebay.com +blogger.com +blogoverflow.com +blogspot.ae +blogspot.al +blogspot.am +blogspot.ba +blogspot.be +blogspot.bg +blogspot.bj +blogspot.ca +blogspot.cf +blogspot.ch +blogspot.cl +blogspot.co.at +blogspot.co.id +blogspot.co.il +blogspot.co.ke +blogspot.co.nz +blogspot.co.uk +blogspot.co.za +blogspot.com +blogspot.com.ar +blogspot.com.au +blogspot.com.br +blogspot.com.by +blogspot.com.co +blogspot.com.cy +blogspot.com.ee +blogspot.com.eg +blogspot.com.es +blogspot.com.mt +blogspot.com.ng +blogspot.com.tr +blogspot.com.uy +blogspot.cv +blogspot.cz +blogspot.de +blogspot.dk +blogspot.fi +blogspot.fr +blogspot.gr +blogspot.hk +blogspot.hr +blogspot.hu +blogspot.ie +blogspot.in +blogspot.is +blogspot.it +blogspot.jp +blogspot.kr +blogspot.li +blogspot.lt +blogspot.lu +blogspot.md +blogspot.mk +blogspot.mx +blogspot.my +blogspot.nl +blogspot.no +blogspot.pe +blogspot.pt +blogspot.qa +blogspot.re +blogspot.ro +blogspot.rs +blogspot.ru +blogspot.se +blogspot.sg +blogspot.si +blogspot.sk +blogspot.sn +blogspot.td +blogspot.tw +blogspot.ug +blogspot.vn +bloomberg.cn +bloomberg.co.jp +bloomberg.co.kr +bloomberg.com +bloomberg.com.br +bloomberg.fm +bloomberg.tv +bloombergapps.com +bloombergarcade.com +bloombergbeta.com +bloombergbna.com +bloombergbreakaway.com +bloombergbriefs.com +bloombergchina.com +bloombergenvironment.com +bloombergforeducation.com +bloomberggovernment.com +bloombergindices.com +bloombergindustry.com +bloomberglabs.com +bloomberglaw.com +bloomberglive.com +bloomberglp.com +bloombergmedia.com +bloombergnext.com +bloombergpolarlake.com +bloombergprep.com +bloombergquint.com +bloombergradio.com +bloombergsef.com +bloombergspace.com +bloombergstatus.com +bloombergsurvey.com +bloombergtax.com +bloombergtax1.com +bloombergtaxtech.com +bloombergtradingchallenge.com +bloombergtv.mn +bloombergvault.com +bloombergview.com +bloommicroventures.com +bloomsburycollections.com +bloomsburydesignlibrary.com +blpcareers.com +blpevents.com +blpprofessional.com +blubrry.com +bluefootcms.com +bluehatil.com +bluehatnights.com +bluemix.com +bluemix.net +blz-contentstack.com +blzddist1-a.akamaihd.net +blzddistkr1-a.akamaihd.net +blzmedia-a.akamaihd.net +blznav.akamaized.net +bmia.org +bmj.com +bml.info +bmw-abudhabi.com +bmw-adventskalender.com +bmw-albania.com +bmw-antilles.fr +bmw-art-journey.com +bmw-arts-design.com +bmw-asia.com +bmw-auslieferungszentrum.com +bmw-authority-vehicles.com +bmw-bahrain.com +bmw-businessdrive.com +bmw-calgary.ca +bmw-carit.de +bmw-classic.com +bmw-clubs-international.com +bmw-connected-drive.com +bmw-connecteddrive.ae +bmw-connecteddrive.at +bmw-connecteddrive.be +bmw-connecteddrive.bg +bmw-connecteddrive.ca +bmw-connecteddrive.ch +bmw-connecteddrive.co.nz +bmw-connecteddrive.co.uk +bmw-connecteddrive.co.za +bmw-connecteddrive.com +bmw-connecteddrive.com.au +bmw-connecteddrive.com.br +bmw-connecteddrive.com.cy +bmw-connecteddrive.com.hr +bmw-connecteddrive.com.kw +bmw-connecteddrive.com.mt +bmw-connecteddrive.cz +bmw-connecteddrive.de +bmw-connecteddrive.dk +bmw-connecteddrive.ee +bmw-connecteddrive.es +bmw-connecteddrive.fi +bmw-connecteddrive.fr +bmw-connecteddrive.gr +bmw-connecteddrive.hu +bmw-connecteddrive.ie +bmw-connecteddrive.it +bmw-connecteddrive.jp +bmw-connecteddrive.kr +bmw-connecteddrive.lt +bmw-connecteddrive.lu +bmw-connecteddrive.lv +bmw-connecteddrive.mx +bmw-connecteddrive.my +bmw-connecteddrive.nl +bmw-connecteddrive.no +bmw-connecteddrive.pl +bmw-connecteddrive.pt +bmw-connecteddrive.ro +bmw-connecteddrive.ru +bmw-connecteddrive.se +bmw-connecteddrive.sg +bmw-connecteddrive.si +bmw-connecteddrive.sk +bmw-connecteddrive.tw +bmw-corporate-sales.com +bmw-diplomatic-sales.com +bmw-driving-center.co.kr +bmw-drivingexperience.com +bmw-dubai.com +bmw-eg.com +bmw-fleet.net +bmw-ghana.com +bmw-golfsport.com +bmw-group.com +bmw-group.net +bmw-grouparchiv.de +bmw-grouparchives.com +bmw-gta.ca +bmw-i-pure-impulse.com +bmw-i.jp +bmw-int1.com +bmw-iraq.com +bmw-jordan.com +bmw-konzernarchiv.de +bmw-ksa.com +bmw-kuwait.com +bmw-lao.la +bmw-lebanon.com +bmw-m-safetycar.com +bmw-m.com +bmw-mdrivetour.com +bmw-me.com +bmw-military-sales.com +bmw-motorcycle.com +bmw-motorcycles.vn +bmw-motorrad-abudhabi.com +bmw-motorrad-authorities.com +bmw-motorrad-dubai.com +bmw-motorrad-motorsport.com +bmw-motorrad-now-or-never.com +bmw-motorrad-service-inclusive.com +bmw-motorrad-test-ride.com +bmw-motorrad.at +bmw-motorrad.be +bmw-motorrad.bg +bmw-motorrad.bh +bmw-motorrad.bo +bmw-motorrad.ca +bmw-motorrad.ch +bmw-motorrad.cl +bmw-motorrad.co +bmw-motorrad.co.id +bmw-motorrad.co.kr +bmw-motorrad.co.nz +bmw-motorrad.co.th +bmw-motorrad.co.uk +bmw-motorrad.co.za +bmw-motorrad.com +bmw-motorrad.com.ar +bmw-motorrad.com.au +bmw-motorrad.com.br +bmw-motorrad.com.do +bmw-motorrad.com.hr +bmw-motorrad.com.mx +bmw-motorrad.com.my +bmw-motorrad.com.pe +bmw-motorrad.com.py +bmw-motorrad.com.tr +bmw-motorrad.cr +bmw-motorrad.cz +bmw-motorrad.de +bmw-motorrad.dk +bmw-motorrad.dz +bmw-motorrad.ec +bmw-motorrad.ee +bmw-motorrad.es +bmw-motorrad.fi +bmw-motorrad.fr +bmw-motorrad.gr +bmw-motorrad.gt +bmw-motorrad.hu +bmw-motorrad.in +bmw-motorrad.it +bmw-motorrad.jp +bmw-motorrad.lu +bmw-motorrad.ma +bmw-motorrad.nl +bmw-motorrad.no +bmw-motorrad.pa +bmw-motorrad.pl +bmw-motorrad.pt +bmw-motorrad.ro +bmw-motorrad.rs +bmw-motorrad.ru +bmw-motorrad.sa +bmw-motorrad.se +bmw-motorrad.si +bmw-motorrad.sk +bmw-motorrad.sv +bmw-motorrad.tw +bmw-motorrad.ua +bmw-motorrad.uy +bmw-motorsport.com +bmw-mountains.com +bmw-museum.com +bmw-museum.net +bmw-nigeria.com +bmw-oman.com +bmw-ottawa.ca +bmw-pakistan.com +bmw-plant-munich.com +bmw-pma.com.sg +bmw-powertrain.com +bmw-product-highlights.com +bmw-qatar.com +bmw-routes.com +bmw-rp.com +bmw-rrdays.com +bmw-saudiarabia.com +bmw-security-vehicles.com +bmw-special-sales.com +bmw-sports.com +bmw-sudan.com +bmw-tahiti.com +bmw-tunisia.com +bmw-vancouver.ca +bmw-voli.me +bmw-welt.com +bmw-welt.net +bmw-welt.tv +bmw-werk-berlin.de +bmw-world.com +bmw-world.net +bmw-world.tv +bmw-worldfinal.com +bmw-yachtsport.com +bmw-yeg.ca +bmw-yemen.com +bmw.am +bmw.at +bmw.az +bmw.ba +bmw.bb +bmw.be +bmw.bg +bmw.bm +bmw.bs +bmw.by +bmw.ca +bmw.cc +bmw.ch +bmw.cl +bmw.co.ao +bmw.co.cr +bmw.co.id +bmw.co.il +bmw.co.jp +bmw.co.ke +bmw.co.kr +bmw.co.nz +bmw.co.th +bmw.co.uk +bmw.co.za +bmw.com +bmw.com.ar +bmw.com.au +bmw.com.bd +bmw.com.bn +bmw.com.bo +bmw.com.br +bmw.com.co +bmw.com.cy +bmw.com.do +bmw.com.ec +bmw.com.ge +bmw.com.gt +bmw.com.kh +bmw.com.ky +bmw.com.mk +bmw.com.mo +bmw.com.mt +bmw.com.mx +bmw.com.my +bmw.com.ni +bmw.com.pa +bmw.com.pe +bmw.com.ph +bmw.com.py +bmw.com.sg +bmw.com.sv +bmw.com.tr +bmw.com.tw +bmw.com.uy +bmw.com.ve +bmw.cw +bmw.cz +bmw.de +bmw.dk +bmw.dz +bmw.ee +bmw.es +bmw.fi +bmw.fr +bmw.gp +bmw.gr +bmw.hn +bmw.hr +bmw.ht +bmw.hu +bmw.ie +bmw.in +bmw.is +bmw.it +bmw.kg +bmw.kz +bmw.lc +bmw.lk +bmw.lt +bmw.lu +bmw.lv +bmw.ly +bmw.ma +bmw.md +bmw.mn +bmw.mq +bmw.mu +bmw.nc +bmw.nl +bmw.no +bmw.pl +bmw.ps +bmw.pt +bmw.re +bmw.ro +bmw.rs +bmw.se +bmw.si +bmw.sk +bmw.sn +bmw.tm +bmw.tt +bmw.ua +bmw.uz +bmw.vn +bmwarchiv.at +bmwarchiv.de +bmwartjourney.com +bmwasia.com +bmwauslieferungszentrum.com +bmwbikes.com +bmwbkk.de +bmwccrc.ca +bmwcenternet.com +bmwchampionship.com +bmwchampionshipusa.com +bmwcharitygolf.com +bmwcitychallenge.com +bmwclassic.com +bmwcolorado.com +bmwconnecteddrive.com +bmwcustomapparel.com +bmwdcsnet.net +bmwdealercareers.com +bmwdealerdirect.com +bmwdelawarevalley.com +bmwfilms.com +bmwgroup-classic-heart.com +bmwgroup-classic.com +bmwgroup-gaad.com +bmwgroup-plants.com +bmwgroup-posdigital.com +bmwgroup-werke.com +bmwgroup.at +bmwgroup.com +bmwgroup.jobs +bmwgroup.net +bmwgroupclassic.com +bmwgroupdesignworks.com +bmwgroupdirect.com +bmwgroupfs.com +bmwgroupinfobahn.com +bmwgroupna.com +bmwhk.com +bmwi.ca +bmwi.jp +bmwiventures.com +bmwjamaica.com +bmwlat.com +bmwlifestyle.ca +bmwm.com +bmwmagazine.com +bmwmagazine.de +bmwmass.com +bmwmass.net +bmwmc.net +bmwmontreal.ca +bmwmotorcycles.com +bmwmotorcycleusa.com +bmwmotorrad.co.kr +bmwmotorrad.com.au +bmwmotorrad.com.ph +bmwmotorrad.com.sg +bmwmotorradhk.com +bmwmotorshowblog.com +bmwmotorsport.com +bmwmperformance.com +bmwmuseum.net +bmwmyanmar.com +bmwofannapolis.com +bmwofcentralpa.com +bmwoftulsa.com +bmwondemandusa.com +bmworegon.com +bmwperformancecenter.com +bmwpittsburgh.com +bmwproductnews.com +bmwsafari.com +bmwsfl.com +bmwsfl.net +bmwshop.ca +bmwspecialoffers.ca +bmwsports.com +bmwstartupgarage.com +bmwstep.com +bmwstepconnections.com +bmwsummerschool.com +bmwtampabay.com +bmwusa.com +bmwusaservice.com +bmwusatires.com +bmwusfactory.com +bmwusrideracademy.com +bmwvalueservice.com +bmwwholesaleconnect.com +bmwworld.com +bmwworld.net +bmwworld.tv +bmwzentrum.com +bnbstatic.com +bnef.com +bnetcmsus-a.akamaihd.net +bnetproduct-a.akamaihd.net +bnetshopus.akamaized.net +bnext.com.tw +bodyandsoul.com.au +bollywoodlife.com +boltdns.net +bongacams.com +book.com.tw +bookclubcorner.com +bookclubgirl.com +booking.com +bookmybridgestonetyre.com +bookonsky.net +books.com.tw +booksinprint.com +bookstagram.com +booth.pm +bootstrapcdn.com +borderlessprepaid.com +boringcompany.com +boslife.biz +boslife.net +bossae.com +botframework.com +botorch.org +botstop.com +bowenpress.com +bowsersinsidestory.com +boxofficemojo.com +boxun.com +boylove.cc +boylove.com +boyloves.cc +braeburncapital.com +braintreegateway.com +braintreegateway.tv +braintreepayments.com +braintreepayments.info +braintreepayments.org +braintreepayments.tv +braintreepaymentsolutions.com +braintreeps.com +branchportal.com +brand-protection-team.com +brandeasygo.com +brandelectronic.com +brandproducts1688.com +brands098.com +braventures.com +braveux.com +brazilpartneruniversity.com +brazzers.com +breakdown.me +breitbart.com +brepolis.net +brew.sh +brewmp.com +briantreepayments.net +briantreepayments.tv +bridge-studio.co.uk +bridgestone-asiapacific.com +bridgestone-bandag.com +bridgestone-brand.com +bridgestone-business-service.jp +bridgestone-korea.co.kr +bridgestone-plt-eng.com +bridgestone-tac-oman.com +bridgestone.cl +bridgestone.co.cr +bridgestone.co.id +bridgestone.co.in +bridgestone.co.jp +bridgestone.co.th +bridgestone.com +bridgestone.com.ar +bridgestone.com.br +bridgestone.com.co +bridgestone.com.mx +bridgestone.com.sg +bridgestone.com.tw +bridgestone.com.vn +bridgestoneamericas.com +bridgestonearena.com +bridgestonecntc.com +bridgestonecomercial.cl +bridgestonecomercial.co.cr +bridgestonecomercial.com.ar +bridgestonecomercial.com.br +bridgestonecomercial.com.co +bridgestonecomercial.com.mx +bridgestonegolf.com +bridgestonegz.com +bridgestonela.com +bridgestonemarketing.com +bridgestonemerchandise.com +bridgestonenationalfleet.com +bridgestoneperformance.com +bridgestoneperformancemedia.net +bridgestonerapiddelivery.com +bridgestonerewards.com +bridgestonesyb.com +bridgestonetire.ca +bridgestonetire.com +bridgestonetyre.com.my +bridgestonevan.com +bridgestonewx.com +brightcove.com +brightcove.imgix.net +brightcove.net +brightcove.services +brightcovecdn.com +brill.com +brilliant.org +brocaproject.com +bronto.com +brotli.org +browserleaks.com +bs-adreview.com +bs-awh.ne.jp +bstatic.com +bsw.co.jp +bsw.jp +btcbox.co.jp +btdig.com +btec.co.uk +btt804.com +btt904.com +bttzyw.com +bttzyw.net +buck.build +buckbuild.com +bucketeer.jp +budatt.com +buddymedia.com +bugzilla.org +builtfromebay.com +bumpshare.com +bumptop.ca +bumptop.com +bumptop.net +bumptop.org +bumptunes.com +burstly.net +burstlyrewards.com +business-i.jp +businesscatalyst.com +businessfocus.io +businessinsider.co.za +businessinsider.com +businessinsider.com.au +businessinsider.com.pl +businessinsider.de +businessinsider.es +businessinsider.fr +businessinsider.in +businessinsider.jp +businessinsider.mx +businessinsider.my +businessinsider.nl +businessinsider.sg +businesstoday.com.tw +businesswebwise.com +businessweek.com +businessweekly.com.tw +businessweekmag.com +buy-from-shanghai.com +buyaapl.com +buyaapl.net +buyaltera.com +buyaple.com +buybeatsbydre-uk.com +buybeatsheadphonesbydre.com +buycheapbeatsbus.com +buycheapbeatsbydre.com +buycheapbeatsbydreshop.com +buycheapbeatsdreuk.com +buydrdrebeatbox.com +buyfast-paysmart.net +buyingfacebooklikes.com +buyitnow.com +buyitnow.net +buyitnow.org +buyitnow.tv +buyitnowshop.net +buymeacoff.ee +buymeacoffee.com +buyminibeatbox.com +buynikechina.com +buyoculus.com +buyonlineheadphones.com +buypass-ssl.com +buypass.com +buypass.no +buypass.se +buyshoponly.com +buzzardflapper.com +buzzav.com +bvdinfo.com +bwbx.io +bwh1.net +bwh8.net +bwh88.net +bybeatsdre.com +bydrebeats.com +bypasscensorship.org +byspotify.com +c-ij.com +c-span.org +c-spanvideo.org +cableav.tv +cabletv.com.hk +cabletvdirectv.com +cafr.ca +caijinglengyan.com +caime.xyz +cairn.info +cairnspost.com.au +calendarserver.org +calgon.at +calgon.be +calgon.ch +calgon.co.uk +calgon.com +calgon.com.tr +calgon.de +calgon.es +calgon.fr +calgon.ie +calgon.it +calgon.nl +calgon.pt +calgon.ru +calgon.tv +calgoncarbon-china.com +calgoncarbon.com +calgonit.com +callersbane.com +callhulu.com +calvappd.me +cam4.com +cambridge.org +cambridgedigital.net +cambridgemaths.org +cambridgeschoolshakespeare.com +camelot-europe.com +camelotherald.com +camelotherald.net +camelphat.com +camelspaceeffect.com +campushp.com +campuslondon.com +camwhores.tv +canada-beatsbydre.com +canon-cee.com +canon-cmos-sensors.com +canon-cna.com +canon-ebm.com.hk +canon-emea.com +canon-emirates.ae +canon-europa.com +canon-europe.com +canon-me.com +canon-ois.qa +canon-se.com.tw +canon.am +canon.at +canon.az +canon.ba +canon.be +canon.bg +canon.ca +canon.ch +canon.co.il +canon.co.uk +canon.co.za +canon.com +canon.com.al +canon.com.au +canon.com.by +canon.com.cy +canon.com.hk +canon.com.mk +canon.com.mt +canon.com.my +canon.com.tr +canon.com.tw +canon.cz +canon.de +canon.dk +canon.ee +canon.es +canon.fi +canon.fr +canon.ge +canon.gr +canon.hr +canon.hu +canon.ie +canon.it +canon.kz +canon.lt +canon.lu +canon.lv +canon.me +canon.net +canon.nl +canon.no +canon.pl +canon.pt +canon.ro +canon.rs +canon.ru +canon.se +canon.si +canon.sk +canon.tj +canon.ua +canon.uz +canonfoundation.org +canonical.com +canonproprinters.com +capitalgames.com +capitaliq.com +carbon.com +carcare-and-tireshop.jp +card.io +carebay.com +careerfundas.com +careerjournal.com +careersatfb.com +carekit.org +cargigileads.com +carstagram.com +cas.org +cash.app +cash2.com +cashbycashapp.com +cashify.com +cashify.net +cashpassport.ca +cashpassport.co.za +cashpassport.com +cashpassport.com.br +cashpassport.net +cashpassportglobe.com +casimages.com +casoneexchange.com +casque-fr.com +casquebeatsbydrdresolohd.com +casquebeatsdocteurdre.com +casquebeatsdre2013.com +casquebeatsenligne.com +casquebeatsfracheter.com +casquebeatsmer.net +casquebeatsofficiel-fr.com +casquebeatspascher2013.com +casquebeatssolo.net +casquedrdrebeatssfr.com +casquemonsterbeats.com +casquemonsterbeatsbydre2013.com +casquesbeatsaudio.com +castro.fm +catalina.hk +cbs.com +cbsaavideo.com +cbscorporation.com +cbsi.com +cbsi.live.ott.irdeto.com +cbsi.video +cbsiam.com +cbsig.net +cbsimg.net +cbsinteractive.com +cbsistatic.com +cbsivideo.com +cbsnews.com +cbsplaylistserver.aws.syncbak.com +cbspressexpress.com +cbsservice.aws.syncbak.com +cbssports.com +cbsstatic.com +cbssvideo.com +ccdc.cam.ac.uk +cciernslabs.com +cciesecuritylabs.com +ccievoicelabs.com +ccna5.net +ccnsite.com +ccpsx.com +ccstatic.org +cdkworkshop.com +cdn-terapeak.com +cdn77.com +cdn77.org +cdn77.scoreuniverse.com +cdngarenanow-a.akamaihd.net +cdninstagram.com +cdnjs.com +cdnlab.live +cdnpure.com +cebay.com +ceicdata.com +celebgramme.com +celeron.com +celeron.net +cell.com +cencoastbmw.com +centos.org +centralvalidation.com +centrino.com +centrino.net +cepacol.ca +cepacol.com +cern.ch +certificate-transparency.org +cex.io +cfblob.com +cfna.com +ch9.ms +championshipseriesleague.com +change.org +chargenow.com +chargenowusa.com +charlestonroadregistry.com +charlotte-anime.jp +charticulator.com +chatango.com +chatter.com +chaturbate.com +cheap-beats-by-dre.net +cheap-beatsbydre.com +cheap-nike.com +cheapbagshoes.com +cheapbeats.us +cheapbeats365.com +cheapbeats4sale.net +cheapbeatsaustraliasale.com +cheapbeatsbus.com +cheapbeatsbydr.com +cheapbeatsbydrdrepro.com +cheapbeatsbydre-au.com +cheapbeatsbydre99.com +cheapbeatsbydrefau.com +cheapbeatsbydremall.com +cheapbeatsbydremonster.com +cheapbeatsbydrenz.net +cheapbeatsbydreonsale.com +cheapbeatsbydreoutlet-nz.com +cheapbeatsbydreoutlet.com +cheapbeatsbydreoutlets2013.com +cheapbeatsbydresale.com +cheapbeatsbydreshop.com +cheapbeatsbydrestudioedition.com +cheapbeatsbydrestudioutlet.com +cheapbeatsdrdresolo.com +cheapbeatsdrestudios.com +cheapbeatsheadphone2014.com +cheapbeatsheadphones.us +cheapbeatsie.com +cheapbeatsla.com +cheapbeatssale4u.com +cheapbeatsshopbydre.com +cheapcustombeatsbydre.com +cheapdrdrebeats8.com +cheapdrdrebeatsca.com +cheapdrebeats8.net +cheaperbeatsbydresale.com +cheapestbeatsdrdre.com +cheapheadphonesland.com +cheapheadphonessale.com +cheapheadsetmall.com +cheapheadsetshop.com +cheapmonsterbeatsbydrdre.com +cheapmonsterbeatsheadsets.com +cheapmonsterbeatssale.com +cheapmonsterbeatsusa.us +cheapmonstersbeatsonsale.com +cheapnewbeatsbydre.com +cheapnikedunks.com +cheapnikeoutlet.com +cheapsalemonster.com +cheapshoesvip.com +cheapwireless04.com +cheapwirelessbeats.com +cheerwholesale.us +chemnetbase.com +chicagolandbmw.com +chickstagram.com +chihair-straightener.com +chillingo.com +chimeforchange.org +china-facebook.com +chinaclothesstore.com +chinadecoding.com +chinadigitaltimes.net +chinaeconomicreview.com +chinapower.csis.org +chinapress.com.my +chinatimes.com +chinatimes.com.tw +chips.com +chocolatey.org +choicereviews.org +chomp.com +chrome.com +chromebook.com +chromecast.com +chromeos.dev +chromium.org +chronicle.security +chroniclesec.com +cht.com.tw +chtf.org.tw +chuokoron.jp +ciattackers.com +cilk.com +cilk.net +cinemax.com +cios.org +cisco-returns.com +cisco-warrantyfinder.com +cisco.com +cisco.evergage.com +cisco.mobi +ciscoccservice.com +ciscoconnectcloud.com +ciscoconnectcloud.net +ciscoconnectcloud.org +ciscocontest.com +ciscoerate.com +ciscofax.com +ciscoinvestments.com +ciscojabbervideo.net +ciscokinetic.com +ciscoknowledgenetwork.com +ciscolearningsociety.org +ciscolearningsystem.com +ciscolive.com +ciscolivehls-i.akamaihd.net +cisconetapp.com +cisconetspace.com +cisconetspace.info +cisconetspace.net +ciscopartnermarketing.com +ciscopowercube.com +ciscopress.ch +ciscoprice.com +ciscoresearch.com +ciscosoftware.com +ciscospark.ca +ciscospark.com +ciscospark.jp +ciscotaccc.com +ciscotr.com +ciscoturk.net +ciscovideo.com +ciscowebseminars.com +cispaletter.com +cispaletter.org +citizenlab.ca +citizenlab.org +citylab.com +cixp.net +ck101.com +ckcdn.com +ckck.fun +clannad-movie.jp +clarivate.com +classicnike.com +clco.cc +clearasil.us +clearlinux.org +click-url.com +clickedu.co.uk +clickserver.googleads.com +clinicalkey.com +clojure.org +cloudapp.net +cloudappsecurity.com +cloudburstresearch.com +cloudc.one +cloudchoose.com +cloudcone.com +cloudcone.net +cloudconvert.com +cloudcraze.com +cloudcredibility.com +cloudflare-dns.com +cloudflare-ipfs.com +cloudflare-quic.com +cloudflare.com +cloudflare.net +cloudflareapps.com +cloudflarebolt.com +cloudflareclient.com +cloudflareinsights.com +cloudflareok.com +cloudflareresolve.com +cloudflaressl.com +cloudflarestatus.com +cloudflarestream.com +cloudflaretest.com +cloudflarewarp.com +cloudfront.net +cloudfunctions.net +cloudhealthtech.com +cloudimage.io +cloudimg.io +cloudinary.com +cloudinary.net +cloudinsights.com +cloudlive.com +cloudlock.com +cloudn.me +cloudrobotics.com +cloudsync-prod.s3.amazonaws.com +cloudvolumes.com +cloupia.com +cloupia.net +clubhouseapi.com +clusterconnection.com +cmhalq.com +cmmedia.com.tw +cmpaas.com +cmu.edu +cna.com.tw +cnbc.com +cnbcfm.com +cncrivals.com +cnet.com +cnivogue.com.au +cnix-gov-cn.com +cnn.com +cnn.io +cnn.it +cnnarabic.com +cnnikebrand.com +cnnlabs.com +cnnmoney.ch +cnnmoney.com +cnnmoneystream.com +cnnpolitics.com +cnpmjs.org +cnshopin.com +cnyes.com +cobatt.com +cobrasearch.com +cochranelibrary.com +code.org +codecademy.com +codei.sh +codeish.co +codeish.io +codespot.com +codethemicrobit.com +coinbase.com +coinone.co.kr +coinonecore.com +coinonecorp.com +collective99.com +collector.xhamster.com +collegejournal.com +collins.co.uk +collins.in +colorprotechnology.com +cometotheduckside.com +commandandconquer.com +commerceos.com +como-hackearfacebook.com +comodo.com +comodoca.com +comodoca2.com +comodoca3.com +comodoca4.com +compaq.org +compass.is +componentkit.org +compose-spec.io +compresspdf.new +computer.org +computingreviews.com +comsoc.org +conair.me +conda.io +connaissancesfinancierespratiques.ca +connect-in-canada.com +connectcommerce.hk +connectcommerce.info +connectcommerce.tv +connected-drive.com +connectedcommerce.com +connectedcommerce.tv +connectionsacademy.com +connectionseducation.com +connectionslearning.com +conquerwithcharacter.com +conscrypt.com +conscrypt.org +consul.io +containersonaws.com +contentful.com +contest.com +convrgencegame.com +cookiechoices.org +cooliphonecasesstore.com +coolloud.org.tw +coolmonster.net +coova.com +coova.net +coova.org +cordcloud.org +coreduo.com +coreextreme.com +coreml.net +coreoptics.net +corepublishingsolutions.com +coronavirusnow.com +corporatecashpassport.com +cortanaanalytics.com +cortanaskills.com +cosmosdb.info +cosmosdb.net +costco-static.com +costco.com +costcobusinessdelivery.com +cotolia.com +cotweet.com +coupang.com +coupangcdn.com +couriermail.com.au +coursera-for-business.org +coursera.community +coursera.help +coursera.org +covid19-rx.org +covid19rx.org +cowboom.com +cozydrdrebeats.com +cpan.org +cpedge.com +cqcorea.com +craigslist.org +crates.io +createspace.com +creativecloud.com +creativecommons.engineering +creativecommons.org +creativesdk.com +crececonebay.com +creditcardsbay.com +cricketcountry.com +crit-staging.com +crmdynint-gcc.com +crmdynint.com +crossborderexpansion.com +crossfitfirestone.com +crossmediapanel.com +crosswalk-project.com +crosswalk-project.net +crowdtangle.com +crr.com +crunchyroll.com +crysis.jp +cs.co +cs4hs.com +csifund.org +csis-prod.s3.amazonaws.com +csis.org +cslpldyb.me +cstatic.net +ctan.org +ctee.com.tw +ctfassets.net +ctitv.com.tw +ctv.com.tw +ctwant.com +ctyun.online +cuffiesaldi.com +cup.com.hk +cups.org +curbed.com +currently.com +currently.net +currenttime.tv +cursecdn.com +curseforge.com +custom-iphonecase.com +custombeatsbydrebuy.com +custombeatsdeals.com +custombeatsforcheap.com +custombeatsny.com +custombeatssbydreus.com +customdrdrebeats.com +customizedbeatbydre.com +customizedbeatsbydre.com +customizedbeatsdre.com +customnikeshoes.com +cutt.ly +cw.com.tw +cyber-bay.info +cyber-bay.org +cybermondaybeats4sale.com +cybertrust.co.jp +cybertrust.ne.jp +cygames.co.jp +cygames.jp +cygwin.com +cylink.pro +cylink0122.icu +cython.org +d100.net +d1k2us671qcoau.cloudfront.net +d29vzk4ow07wi7.cloudfront.net +d2anahhhmp1ffz.cloudfront.net +da-files.com +dacebook.com +dailym.ai +dailymail.co.uk +dailymail.com +dailymail.com.au +dailymail.dk +dailymailonline.com +dailytelegraph.com.au +dajiyuan.com +dajiyuan.eu +dandalinvoa.com +dandanzan.cc +danemarket.com +danmarkbeatsbydrdre.com +daoc.net +darivoa.com +darkageofcamelot.com +darkness-risen.com +dart.dev +dartlang.org +dartpad.dev +dartsearch.net +darwinsource.com +darwinsource.org +darwinsourcecode.com +dashwood360.com +dat.foundation +data.com +databank.worldbank.org +database.asahi.com +dataliberation.org +datalore.io +datasheets360.com +david-laserscanner.com +dawngate.com +dawngatechronicles.com +daytonbmw.com +daytontrucktires.com +dazn-api.com +dazn.com +dazndn.com +db.tt +dba.dk +dcard.io +dcard.tw +dctbeatsbydre.com +ddg.co +ddg.gg +ddh.gg +dditsadn.com +dditscdn.com +deadspacegame.com +dealbay.com +dealerspeed.net +dealsbeatsblackfriday.com +dealtime.com +dealtree.org +debian.org +debug.com +debugproject.com +deepfreeze.co.uk +deepfreeze.com +deepfreeze.com.br +deepfreeze.eu +deepfreeze.net +deepfreeze.tech +deepl.com +deepmind.com +degruyter.com +delicious.com.au +dell-brand.com +dell.com +dellcdn.com +deluxe.com.hk +delvenetworks.com +demandware.com +demdex.net +democracy.earth +demonoid.is +demoprint.com +dengeamerika.com +dengiamerika.com +deno.land +dentalhypotheses.com +dependabot.com +desertbmw.com +designeriphonescases.com +desk.com +desktopmovie.com +desktopmovie.net +desktopmovie.org +desktopmovies.net +desktopmovies.org +detaliczny.com +dettol-prize.com +dettol.at +dettol.be +dettol.ch +dettol.cl +dettol.co.id +dettol.co.in +dettol.co.ke +dettol.co.nz +dettol.co.uk +dettol.com +dettol.com.au +dettol.com.bd +dettol.com.br +dettol.com.eg +dettol.com.hk +dettol.com.my +dettol.com.ng +dettol.com.sg +dettol.cz +dettol.fr +dettol.hu +dettol.ie +dettol.net +dettol.nl +dettol.pk +dettol.pl +dettol.pt +dettol.ru +dettolarabia.com +dettolcleannaija.com +dettolsitishield.co.in +dettolthailand.com +deutschewelle.h-cdn.com +dev-guardianapis.com +dev-theguardian.com +devcon.org +developer-advisor.com +developer.microsoft.com +developer.mozilla.org +developers.facebook.com +developria.com +deviantart.com +deviantart.net +device-manager.us +devm2m.com +devopsassessment.net +devopsms.com +devsitetest.how +devtools-paypal.com +dewitwithdurex.com +dfp6rglgjqszk.cloudfront.net +dgg.gg +diablo3.com +diabloimmortal.com +dialga.com +dialogflow.com +dice.se +dicela.com +dicela.net +dictate.ms +didce.com +diddykongracing.com +dierectv.com +digicert.com +digital-id.ch +digital-rb.com +digitalassetlinks.org +digitalcertvalidation.com +digitalhub.com +digitalid.ch +digitalocean.com +digitaloceanspaces.com +digitalpack.com +dilcdn.com +dirctv.com +direcpath.com +direcpath.net +directtv-deals.tv +directtv-dish.com +directtv.net +directtvdeals.tv +directtvreviews.com +directv-4-you.com +directv-newyork.com +directv.com +directvadsales.com +directvatlantaga.com +directvboston.com +directvbundles.com +directvbusiness.com +directvbusinessmarket.com +directvcincinnatioh.com +directvcinema.com +directvconnect.com +directvcookevilletn.com +directvcrossvilletn.com +directvdealer.com +directvdeals.com +directvdealsnow.com +directvdsl.tv +directvforhotels.com +directvgrandslam.com +directvhouston.com +directvinternet.com +directvkentucky.com +directvlebanontn.com +directvlosangeles.com +directvmetropolisil.com +directvmonitoring.com +directvmurfreesborotn.com +directvnewhampshire.com +directvnow.com +directvoffercodes.com +directvonline.com +directvplans.com +directvpomise.com +directvpromise.com +directvpromotions.com +directvrebate.com +directvrichmond.com +directvsavings.com +directvsports.com +directvsundayticket.com +direectv.com +diretv.com +dis.gd +discord-activities.com +discord.co +discord.com +discord.design +discord.dev +discord.gg +discord.gift +discord.gifts +discord.media +discord.new +discord.store +discord.tools +discordactivities.com +discordapp.com +discordapp.io +discordapp.net +discordcdn.com +discordmerch.com +discordpartygames.com +discordsays.com +discordstatus.com +discountbeatsbydre-us.com +discountbeatsstore.com +dishworld.com +disney-asia.com +disney-discount.com +disney-plus.net +disney-portal.my.onetrust.com +disney-studio.com +disney-studio.net +disney.asia +disney.be +disney.bg +disney.ca +disney.ch +disney.co.il +disney.co.jp +disney.co.kr +disney.co.th +disney.co.uk +disney.co.za +disney.com +disney.com.au +disney.com.br +disney.com.hk +disney.com.tw +disney.cz +disney.de +disney.dk +disney.es +disney.fi +disney.fr +disney.gr +disney.hu +disney.id +disney.in +disney.io +disney.it +disney.my +disney.my.sentry.io +disney.nl +disney.no +disney.ph +disney.pl +disney.pt +disney.ro +disney.ru +disney.se +disney.sg +disneyadsales.com +disneyarena.com +disneyaulani.com +disneybaby.com +disneycareers.com +disneychannelonstage.com +disneychannelroadtrip.com +disneycruisebrasil.com +disneyenconcert.com +disneyiejobs.com +disneyinflight.com +disneyinternational.com +disneyinternationalhd.com +disneyjunior.com +disneyjuniortreataday.com +disneylatino.com +disneymagicmoments.co.il +disneymagicmoments.co.uk +disneymagicmoments.co.za +disneymagicmoments.de +disneymagicmoments.es +disneymagicmoments.fr +disneymagicmoments.gen.tr +disneymagicmoments.gr +disneymagicmoments.it +disneymagicmoments.pl +disneymagicmomentsme.com +disneyme.com +disneymeetingsandevents.com +disneymovieinsiders.com +disneymusicpromotion.com +disneynewseries.com +disneynow.com +disneypeoplesurveys.com +disneyplus.bn5x.net +disneyplus.com +disneyplus.com.ssl.sc.omtrdc.net +disneyredirects.com +disneysrivieraresort.com +disneystore.com +disneystreaming.com +disneysubscription.com +disneytickets.co.uk +disneyturkiye.com.tr +disneytvajobs.com +disneyworld-go.com +disp.cc +disqus.com +disquscdn.com +disqusservice.com +djreprints.com +dkbeatsbydre.com +dkk37.com +dkr.com +dkrecttv.com +dl-iphone.com +dl.begellhouse.com +dlercloud.com +dlercloud.me +dlercloud.org +dleris.best +dlfacebook.com +dlgarenanow-a.akamaihd.net +dlib.eastview.com +dlmobilegarena-a.akamaihd.net +dmed.technology +dmgmediaprivacy.co.uk +dmm-extension.com +dmm.co.jp +dmm.com +dmmapis.com +dnai.in +dnaindia.com +dnaspaces.io +dndbeyond.com +dns.sb +dnsvisa.com +dobendan.de +doceapower.com +docker.com +docker.io +dockerizer.com +docs.com +docs.rs +documentforce.com +dogatch.jp +dogecoin.com +doi.info +doi.org +dokusho-ojikan.jp +dollarfotoclub.com +dollarphotoclub.com +dollarphotosclub.com +dombosco.com.br +donkeykongcountryreturns.com +dontbubble.us +donttrack.us +doom.com +doom9.org +dot-mac.de +dot.net +dotcernpilot.info +dotdeb.org +dotfacebook.com +dotfacebook.net +dotherex.com +dotmac.de +doubleclick.com +doubleclick.net +douwriteright.com +douya.org +dowjones.com +dowjones.io +dowjoneson.com +download.91porn005.me +download.i91av.org +downloadsforipod.com +draftjs.org +dragonage.com +dragonagekeep.com +dragonagemovie.com +dragoniscoming.com +drbeatsukmart.com +drbl.in +drdre-beats.com +drdrebeats-chen.com +drdrebeats-headphone.com +drdrebeats-usa.com +drdrebeatsale.com +drdrebeatsbillig.com +drdrebeatsdesale.com +drdrebeatsdiscount.com +drdrebeatsforu.com +drdrebeatsretail2013.com +drdrebeatssale7.com +drdrebeatsuk.com +drdrefnac.com +drdreheadphonebeats.com +drdreheadphonekey.com +drdreheadphonesusstore.com +drdremonster-beats.com +drdremonsterdre.com +drdreprobeatssale.com +dreambmw.ca +dreamforce.com +dreamteamfc.com +dreamtoplay.com +dreamworks.com +drebeats-australia.com +drebeats-france.com +drebeats-monster.com +drebeats-monsteraustralia.com +drebeats-monsterusa.com +drebeats-singapore.com +drebeats-singapore.net +drebeats-singaporecheap.com +drebeats-singaporecheap.net +drebeats-solo.com +drebeats-studio.com +drebeatsaustralia-cheap.com +drebeatsaustralia-cheap.net +drebeatsbuy.com +drebeatsbydreoutlet.com +drebeatscanada.com +drebeatsdeutschland.net +drebeatsforsaleus.com +drebeatsheadphones-nz.com +drebeatshome.com +drebeatsoldes.com +drebeatsoutletstore.com +drebeatspill.com +drebeatssite.com +drebeatssolocybermondaysale.com +drebeatsstudio2013.com +drebeatstudio.com +drebyby.com +dremonsterbeatsoutlets.com +dreprobeats.com +dreprofy.com +dribbble.com +driving.co.uk +drmario-world.com +dronedj.com +dropbox-dns.com +dropbox.com +dropbox.tech +dropboxapi.com +dropboxbusiness.com +dropboxcaptcha.com +dropboxforum.com +dropboxforums.com +dropboxinsiders.com +dropboxmail.com +dropboxpartners.com +dropboxstatic.com +dropboxusercontent.com +ds-linear-abematv.akamaized.net +ds-vod-abematv.akamaized.net +dssott.com +dtci.co +dtci.technology +dtlgalleryint.cloudapp.net +dtsell.com +dtv2009offers.com +dtvce.com +duck.co +duck.com +duckduckco.com +duckduckco.de +duckduckgo.ca +duckduckgo.co +duckduckgo.co.uk +duckduckgo.com +duckduckgo.com.mx +duckduckgo.com.tw +duckduckgo.de +duckduckgo.dk +duckduckgo.in +duckduckgo.jp +duckduckgo.ke +duckduckgo.mx +duckduckgo.nl +duckduckgo.org +duckduckgo.pl +duckduckgo.sg +duckduckgo.uk +duckduckhack.com +duckgo.com +ducksear.ch +duckside.com +dukgo.com +dungeonkeeper.cn +dungeonkeeper.com +dungeonkeeper.com.cn +durex-shop.ch +durex-shopline.com +durex-slovenia.si +durex.at +durex.be +durex.cl +durex.co.id +durex.co.il +durex.co.nz +durex.co.th +durex.co.uk +durex.co.za +durex.com +durex.com.au +durex.com.bd +durex.com.co +durex.com.hr +durex.com.my +durex.com.ng +durex.com.pe +durex.com.ph +durex.com.pk +durex.com.sg +durex.com.tr +durex.cz +durex.de +durex.dk +durex.ee +durex.es +durex.fi +durex.fr +durex.hu +durex.ie +durex.it +durex.jp +durex.lv +durex.mx +durex.nl +durex.no +durex.pl +durex.pt +durex.ro +durex.ru +durex.se +durex.us +durexcam.com +durexcanada.com +durexchina.com +durexindia.com +durexloveclub.com +durexukraine.com +durexusa.com +duyaoss.com +duyaossr.com +dvdstudiopro.biz +dvdstudiopro.com +dvdstudiopro.info +dvdstudiopro.net +dvdstudiopro.org +dvdstudiopro.us +dvh30n.vip +dw.com +dynacw.co.jp +dynacw.com +dynacw.com.cn +dynacw.com.hk +dynacw.com.tw +dynafleetonline.com +dynamics.com +dyncdn.me +e-bay.com +e-bay.it +e-bay.net +e-hentai.org +ea-anz-press.com +ea.com +ea.tt.omtrdc.net +eaaccess.com +eaassets-a.akamaihd.net +eablackbox.com +eac-cdn.com +eacashcard.com +eachpay.com +eachpay.net +eacodigos.com +eafootballworld.com +eakorea.co.kr +eamirrorsedge.com +eamobile.com +eamythic.com +eamythic.net +eanordic.com +eaplay.com +earngeek.com +earphonescheapest.com +earpod.net +easic.com +easports.com +easports.jp +easportsactive.com +easportsactiveonline.com +easportsfootball.com +easportsfootballclub.com +easportsmma.com +easportsworld.com +eastore.com +easttouch.com.hk +eastweek.com.hk +easy.ac +easyanticheat.net +easylist.to +easynike.com +eater.com +ebahy.com +ebay-25-assets.s3-us-west-1.amazonaws.com +ebay-authenticate.net +ebay-confirm.com +ebay-course.com +ebay-cz.com +ebay-delivery.com +ebay-discoveries.com +ebay-fashion.com +ebay-inc.com +ebay-inc.net +ebay-inc.org +ebay-online.com +ebay-sales.com +ebay-stories.com +ebay-us.com +ebay-vacation.com +ebay.at +ebay.be +ebay.ca +ebay.ch +ebay.co.nz +ebay.co.uk +ebay.co.ve +ebay.co.za +ebay.com +ebay.com.ar +ebay.com.au +ebay.com.ec +ebay.com.hk +ebay.com.mt +ebay.com.my +ebay.com.ph +ebay.com.sg +ebay.de +ebay.es +ebay.fr +ebay.ie +ebay.in +ebay.it +ebay.jp +ebay.lt +ebay.mn +ebay.nl +ebay.org +ebay.ph +ebay.pk +ebay.pl +ebay.sg +ebay.us +ebay.vn +ebay25.com +ebay68.com +ebaya.com +ebayads.com +ebayads.net +ebayadvertising.com +ebayanunsios.net +ebayauction.com +ebayaustralia.com +ebayauthenticate.com.cn +ebaybags.com +ebaybank.com +ebaybenefits.com +ebayboutique.com +ebayca.com +ebayca.org +ebaycafe.com +ebaycar.com +ebaycareers.com +ebaycbt.co.kr +ebaycdn.net +ebaychina.net +ebayclassifieds.com +ebayclassifieds.info +ebayclassifieds.org +ebayclassifieds.tv +ebayclassifiedsgroup.com +ebayclassifiedsgroup.info +ebayclassifiedsgroup.org +ebayclassifies.com +ebayclub.com +ebaycoins.com +ebaycom.com +ebaycommercenetwork.com +ebaycourse.com +ebayd.com +ebayde.com +ebaydlassifieds.com +ebaydts.com +ebayedu.com +ebayeletro.com +ebayenterprise.com +ebayenterprise.info +ebayenterprise.net +ebayenterprise.tv +ebayetc.com +ebayexpress.sg +ebayfashion.com +ebayfashion.net +ebayforcharity.org +ebayforeclosure.org +ebayfrance.com +ebayglobalshipping.com +ebaygroup.com +ebayhabit.com +ebayheels.com +ebayhots.com +ebayimg.com +ebayinc.com +ebayinc.net +ebayinc.org +ebayincconnectedcommerce.net +ebayinkblog.com +ebayinternetsalestax.com +ebayit.com +ebayjewelry.com +ebayjob.com +ebayla.org +ebaylisting.com +ebaylocal.net +ebaylocationsdevacances.com +ebaymag.com +ebaymainstreet.com +ebaymall.com +ebaymarketplace.net +ebaymotors.ca +ebaymotors.com +ebaymotors.org +ebaymotorsblog.com +ebaynow.com +ebaynyc.com +ebayon.com +ebayon.net +ebayoncampus.com +ebayopen.com +ebayopensource.com +ebayopensource.net +ebaypakistan.net +ebaypark.com +ebayparts.com +ebayprivacycenter.com +ebayradio.com +ebayrtm.com +ebayseller.com +ebayshoesstore.com +ebayshop.com +ebayshop111.com +ebayshopping.org +ebaysocial.com +ebaysocial.ru +ebaysoho.com +ebaysohos.com +ebaystatic.com +ebaystore.com +ebaystore77.com +ebaystyle.com +ebaysweden.com +ebayt.com +ebaytechblog.com +ebaytopratedseller.net +ebaytrading.com +ebaytradingassistant.com +ebaytv.org +ebayuae.net +ebayvakantiehuizen.com +ebayvalet.com +ebayvietnam.net +ebayworlds.com +ebayy.com +ebc.net.tw +ebi.ac.uk +ebookforipad.com +ebsco.com +ebscohost.com +ebuyheadphones.com +ecapi-pchome.cdn.hinet.net +ecgapp.net +echocdn.com +echosign.com +ecimg.tw +ecoforme.jp +economist.com +economistgroup.com +economistgroupcareers.com +ecpa.fr +edcity.hk +edgedatg.com +edgefonts.net +edisebay.com +editorx.com +edninfo.com +edu-research.org +eduplus.hk +edx-cdn.org +edx.org +eebay.com +eenike.com +eff.org +efproject.net +egghead.io +egmontbooks.co.uk +egta.com +ehgt.org +ehtracker.org +ehwiki.org +einstein.com +eiu.com +ekhindi.com +ekhokavkaza.com +elasticbeanstalk.com +elderscrolls.com +electrek.co +electricluxury.com +electrochem.org +electronicarts.com +electronicarts.fr +electronjs.org +element.io +elephantsdream.org +elgaronline.com +elib.maruzen.co.jp +elifesciences.org +elite.com +elixir-lang.org +elrepo.org +els-cdn.com +elsevier-ae.com +elsevier.com +elsevier.io +emac.co.in +emac.in +emagic.de +embase.com +embed-cdn.com +embed.ly +embedly.com +embl-hamburg.de +embl.de +embl.fr +embl.it +embl.org +emblstatic.net +embs.org +emcs.org +emerald.com +emojipedia.org +emome.net +ems-ph.org +enablementadobe.com +enanyang.my +encoretvb.com +enfa.co.id +enfa.com.vn +enfaaplus.com +enfababy.com +enfabebe.com +enfabebe.com.br +enfabebe.com.co +enfabebe.com.do +enfabebe.com.ec +enfabebe.com.mx +enfabebe.com.pe +enfabebe.com.ve +enfabebe3.com.ar +enfagrow.co.in +enfagrow.com.bn +enfagrow.com.my +enfagrow.com.ph +enfagrow.com.sg +enfagrow4.com +enfamama.com.ar +enfamama.com.ph +enfamil.ca +enfamil.com +enfamil.es +enfamil.pl +enfamil.pt +enfasmart.com +engineeringvillage.com +enpirion.com +enspireformula.com +enteentegeh.de +entermediadb.net +entermediadb.org +enterprisepaging.com +enterprisessl.com +entrust.net +entrustdatacard.com +epicbrowser.com +epicgames.com +epicreads.com +epigeum.com +epinions.com +episodic.com +epoch.cloud +epoch.org.il +epochbuy.com +epochcar.com +epochhk.com +epochmall.com +epochmediagroup.com +epochshop.com +epochstories.com +epochtime.com +epochtimes-bg.com +epochtimes-romania.com +epochtimes.co.il +epochtimes.co.kr +epochtimes.co.uk +epochtimes.com +epochtimes.com.au +epochtimes.com.br +epochtimes.com.sg +epochtimes.com.tw +epochtimes.com.ua +epochtimes.cz +epochtimes.de +epochtimes.eu +epochtimes.fr +epochtimes.it +epochtimes.jp +epochtimes.nl +epochtimes.pl +epochtimes.ru +epochtimes.se +epochtimeshk.org +epochtimestr.com +epochweek.com +epochweekly.com +eporner.com +eprc.com.hk +eprintsw.com +erabaru.net +eracom.com.tw +erlang.org +es-visiontimes.com +esbeatsbydrebuy.com +escandinavia-arg.com +escape.com.au +escapestudios.co.uk +esm.run +esmarthealth.com +esp32.com +esp8266.com +espadoldettol.com.ar +espn.co.uk +espn.com +espn.hb.omtrdc.net +espn.net +espncdn.com +espndotcom.tt.omtrdc.net +espnqa.com +espressif.com +esri.com +etbc.com.hk +etheadphones.com +ethereum.foundation +ethereum.org +etnet.com.hk +etpress.com.hk +ettoday.net +ettrade.com.hk +etviet.com +etvonline.hk +etwealth.com +eu-consumer-empowerment.com +eubluecardvisa.com +eurekaselect.com +euroipad.com +europalibera.org +europepmc.org +eventsinfocus.org +evernote.com +evise.com +evropaelire.org +eworld.com +exacttarget.com +exascale-tech.com +excedo.com +excitebots.com +exec-appointments.com +exhentai.org +experience-vmware.com +experiencebillmelater.com +expertmaker.com +exploreintel.com +expresswifi.com +ext-twitch.tv +extensionworkshop.com +eyny.com +f-droid.org +f8.com +faacebok.com +faacebook.com +faasbook.com +facbebook.com +facbeok.com +facboo.com +facbook.com +facbool.com +facboox.com +faccebook.com +faccebookk.com +facdbook.com +facdebook.com +face-book.com +faceabook.com +facebboc.com +facebbook.com +facebboook.com +facebcook.com +facebdok.com +facebgook.com +facebhook.com +facebkkk.com +facebo-ok.com +faceboak.com +facebock.com +facebocke.com +facebof.com +faceboik.com +facebok.com +facebokbook.com +facebokc.com +facebokk.com +facebokok.com +faceboks.com +facebol.com +facebolk.com +facebomok.com +faceboo.com +facebooa.com +faceboob.com +faceboobok.com +facebooc.com +faceboock.com +facebood.com +facebooe.com +faceboof.com +facebooi.com +facebooik.com +facebooik.org +facebooj.com +facebook-corp.com +facebook-covid-19.com +facebook-ebook.com +facebook-forum.com +facebook-hardware.com +facebook-inc.com +facebook-login.com +facebook-newsroom.com +facebook-newsroom.org +facebook-pmdcenter.com +facebook-pmdcenter.net +facebook-pmdcenter.org +facebook-privacy.com +facebook-program.com +facebook-studio.com +facebook-support.org +facebook-texas-holdem.com +facebook-texas-holdem.net +facebook.br +facebook.ca +facebook.cc +facebook.com +facebook.design +facebook.hu +facebook.in +facebook.net +facebook.nl +facebook.org +facebook.se +facebook.shop +facebook.tv +facebook.us +facebook.wang +facebook123.org +facebook30.com +facebook30.net +facebook30.org +facebook4business.com +facebookads.com +facebookadvertisingsecrets.com +facebookappcenter.info +facebookappcenter.net +facebookappcenter.org +facebookatschool.com +facebookawards.com +facebookblueprint.net +facebookbrand.com +facebookbrand.net +facebookcanadianelectionintegrityinitiative.com +facebookcareer.com +facebookcheats.com +facebookck.com +facebookclub.com +facebookcom.com +facebookconnect.com +facebookconsultant.org +facebookcoronavirus.com +facebookcovers.org +facebookcredits.info +facebookdating.net +facebookdevelopergarage.com +facebookdusexe.org +facebookemail.com +facebookenespanol.com +facebookexchange.com +facebookexchange.net +facebookfacebook.com +facebookflow.com +facebookgames.com +facebookgraphsearch.com +facebookgraphsearch.info +facebookgroups.com +facebookhome.cc +facebookhome.com +facebookhome.info +facebookhub.com +facebooki.com +facebookinc.com +facebookland.com +facebooklikeexchange.com +facebooklive.com +facebooklivestaging.net +facebooklivestaging.org +facebooklogin.com +facebooklogin.info +facebookloginhelp.net +facebooklogs.com +facebookmail.com +facebookmail.tv +facebookmanager.info +facebookmarketing.info +facebookmarketingpartner.com +facebookmarketingpartners.com +facebookmobile.com +facebookmsn.com +facebooknews.com +facebooknfl.com +facebooknude.com +facebookofsex.com +facebookook.com +facebookpaper.com +facebookpay.com +facebookphonenumber.net +facebookphoto.com +facebookphotos.com +facebookpmdcenter.com +facebookpoke.net +facebookpoke.org +facebookpoker.info +facebookpokerchips.info +facebookporn.net +facebookporn.org +facebookporno.net +facebookportal.com +facebooks.com +facebooksafety.com +facebooksecurity.net +facebookshop.com +facebooksignup.net +facebooksite.net +facebookstories.com +facebookstudios.net +facebookstudios.org +facebooksupplier.com +facebooksuppliers.com +facebookswagemea.com +facebookswagstore.com +facebooksz.com +facebookthreads.net +facebooktv.net +facebooktv.org +facebookvacation.com +facebookw.com +facebookwork.com +facebookworld.com +facebool.com +facebool.info +facebooll.com +faceboom.com +faceboon.com +faceboonk.com +faceboooik.com +faceboook.com +faceboop.com +faceboot.com +faceboox.com +facebopk.com +facebpook.com +facebuk.com +facebuok.com +facebvook.com +facebyook.com +facebzook.com +facecbgook.com +facecbook.com +facecbook.org +facecook.com +facecook.org +facedbook.com +faceebok.com +faceebook.com +faceebot.com +facegbok.com +facegbook.com +faceid99.com +faceid99.net +faceidglobal.com +faceobk.com +faceobok.com +faceobook.com +faceook.com +facerbooik.com +facerbook.com +facesbooc.com +facesounds.com +facetime.net +facetook.com +facevbook.com +facewbook.co +facewook.com +facfacebook.com +facfebook.com +faciometrics.com +fackebook.com +facnbook.com +facrbook.com +factograph.info +factwire.org +facultyopinions.com +facvebook.com +facwebook.com +facxebook.com +fadebook.com +faebok.com +faebook.com +faebookc.com +faeboook.com +faecebok.com +faesebook.com +fafacebook.com +faicbooc.com +fairmarket.com +famifun.com.tw +family.co.jp +family.com.tw +familymart.com.my +familymart.com.ph +famima.vn +famosascalvas.com +fanatical.com +fanbox.cc +fandango.com +fandom.com +fandom.zendesk.com +fanhaodian.com +fantv.hk +farfetch-apps.com +farfetch-contents.com +farfetch.com +farfetch.net +faronics.ca +faronics.co.uk +faronics.com +faronics.com.au +faronics.com.sg +faronics.eu +faronics.kayako.com +faronics.tech +faronicslabs.com +faronicswise.co.uk +faronicswise.com +fasebokk.com +fasebook.com +faseboox.com +fashionnike.com +fast.com +fastlane.ci +fastlane.tools +fastly-terrarium.com +fastly.com +fastly.net +fastlylabs.com +fastlylb.net +faststone.org +fasttext.cc +fasttrackreadysupport.com +favebook.com +faycbok.com +fb.careers +fb.com +fb.me +fbacebook.com +fbbmarket.com +fbboostyourbusiness.com +fbcdn-a.akamaihd.net +fbcdn.com +fbcdn.net +fbf8.com +fbfeedback.com +fbhome.com +fbidb.io +fbinc.com +fbinfer.com +fbinnovation.com +fblitho.com +fbmarketing.com +fbmessenger.com +fbredex.com +fbreg.com +fbrell.com +fbrpms.com +fbsbx.com +fbsbx.net +fbsupport-covid.net +fbthirdpartypixel.com +fbthirdpartypixel.net +fbthirdpartypixel.org +fburl.com +fbworkmail.com +fcacebook.com +fcaebook.com +fcebook.com +fcebookk.com +fcfacebook.com +fdacebook.info +fdiintelligence.com +feacboo.com +feacbook.com +feacbooke.com +feacebook.com +fecbbok.com +fecbooc.com +fecbook.com +feceboock.com +fecebook.net +feceboox.com +fececbook.com +fedoraforum.org +fedoramagazine.org +fedoraproject.org +feedburner.com +feedly.com +femalefounderscomp.com +feook.com +ferabook.com +fescebook.com +fesebook.com +ffacebook.com +fffdm.com +fflick.com +fflnk.net +ffmpeg.org +ffotolia.com +ffprofile.com +fgacebook.com +ficeboock.com +fifastreet.com +fifastreet3.com +fightforux.com +figma.com +filipino-music.net +finalcutpro.com +financeleadsonline.com +financialadvisoriq.com +financialsoccer.ca +findacard.com +findercdn.me +findmybeats.com +findmyipad.com +findyourlimits.com +finenike.com +finish.at +finish.bg +finish.co.kr +finish.co.nz +finish.co.uk +finish.co.za +finish.com.hr +finish.com.tr +finish.de +finish.es +finish.fr +finish.gr +finish.hu +finish.lv +finish.pl +finish.pt +finish.ro +finish.si +finish.sk +finisharabia.com +finishbrasil.com.br +finishdishwashing.ca +finishdishwashing.com +finishinfo.be +finishinfo.cl +finishinfo.com +finishinfo.com.ar +finishinfo.com.au +finishinfo.cz +finishinfo.fi +finishinfo.it +finishinfo.jp +finishinfo.nl +finishinfo.no +finishinfo.ru +finishinfo.se +finishkilpailu.fi +finishwin.be +finlitsummit.org +fiotolia.com +fire-emblem-heroes.com +firebaseapp.com +firebaseio.com +fireemblemawakening.com +firefox.com +firefoxusercontent.com +fireside.fm +firesidegatherings.com +firestone.cl +firestone.co.cr +firestone.com.ar +firestone.com.br +firestone.com.co +firestone.com.mx +firestonebpco.com +firestonecomercial.cl +firestonecomercial.co.cr +firestonecomercial.com.ar +firestonecomercial.com.br +firestonecomercial.com.co +firestonecomercial.com.mx +firestonecompleteautocare.com +firestonedrivestore.com +firestoneip.com +firestonerewards.com +firestonetire.ca +firestonetire.com +firewire.cl +firewire.eu +firstsearch.oclc.org +fixtracking.com +flathub.org +flatmates.com.au +flatpak.org +flic.kr +flickr.com +flickr.net +flipnotestudio.com +flipshare.com +flipwithsurface.com +flirt4free.com +flow.dev +flow.org +flowtype.org +fluidpreview.com +flutter.dev +flutterapp.com +fmcebook.com +fnacebook.com +fnlondon.com +foampositeshoes.com +foftolia.com +follasian.com +fonolia.com +fontawesome.com +fontbook.com +fontexplorerx.com +fonts.com +fonts.net +fontshop-prod-responsive-images.s3.amazonaws.com +fontshop.com +fontsinuse.com +foofle.com +footseen.com +forbes.com +forbesimg.com +force.com +forgecdn.net +fortawesome.com +forthebadge.com +forthethrone.com +fortnite.com +fortuneinsight.com +forzamotorsport.net +forzaracingchampionship.com +forzarc.com +fosebook.com +fotiolia.com +fotoiia.com +fotolia-noticias.com +fotolia.cc +fotolia.com +fotolia.tv +fotolja.com +foundationdb.org +fox-corporation.com +fox-news.com +fox.com +fox.tv +fox10.tv +fox10news.com +fox10phoenix.com +fox11.com +fox13memphis.com +fox13news.com +fox23.com +fox23maine.com +fox247.com +fox247.tv +fox26.com +fox26houston.com +fox28media.com +fox29.com +fox2detroit.com +fox2news.com +fox32.com +fox32chicago.com +fox35orlando.com +fox38corpuschristi.com +fox42kptm.com +fox46.com +fox46charlotte.com +fox47.com +fox49.tv +fox4news.com +fox51tns.net +fox5atlanta.com +fox5dc.com +fox5ny.com +fox5storm.com +fox6now.com +fox7.com +fox7austin.com +fox9.com +foxacrossamerica.com +foxaffiliateportal.com +foxandfriends.com +foxbet.com +foxbusiness.com +foxbusiness.tv +foxbusinessgo.com +foxcanvasroom.com +foxcareers.com +foxcharlotte.com +foxcincy.com +foxcincy.jobs +foxcincy.net +foxcollegesports.com +foxcorporation.com +foxcreativeuniversity.com +foxcredit.com +foxcredit.org +foxd.tv +foxdcg.com +foxdeportes.com +foxdeportes.net +foxdeportes.tv +foxdigitalmovies.com +foxdoua.com +foxentertainment.com +foxest.com +foxfaq.com +foxfdm.com +foxfiles.com +foxinc.com +foxkansas.com +foxla.com +foxla.tv +foxlexington.com +foxmediacloud.com +foxnation.com +foxnebraska.com +foxneo.com +foxneodigital.com +foxnetworks.info +foxnetworksinfo.com +foxnews.cc +foxnews.com +foxnews.net +foxnews.org +foxnews.tv +foxnewsaffiliates.com +foxnewsaroundtheworld.com +foxnewsb2b.com +foxnewschannel.com +foxnewsgo.net +foxnewsgo.org +foxnewsgo.tv +foxnewshealth.com +foxnewslatino.com +foxnewsmagazine.com +foxnewsnetwork.com +foxnewsopinion.com +foxnewsplayer-a.akamaihd.net +foxnewspodcasts.com +foxnewspolitics.com +foxnewsradio.com +foxnewsrundown.com +foxnewssunday.com +foxon.com +foxphiladelphia.com +foxplus.com +foxpoker.com +foxrad.io +foxredeem.com +foxrelease.com +foxrichmond.com +foxrobots.com +foxsmallbusinesscenter.com +foxsmallbusinesscenter.net +foxsmallbusinesscenter.org +foxsoccer.net +foxsoccer.tv +foxsoccermatchpass.com +foxsoccerplus.com +foxsoccerplus.net +foxsoccerplus.tv +foxsoccershop.com +foxsports-chicago.com +foxsports-newyork.com +foxsports-world.com +foxsports.cl +foxsports.co +foxsports.co.ve +foxsports.com +foxsports.com.ar +foxsports.com.bo +foxsports.com.br +foxsports.com.co +foxsports.com.ec +foxsports.com.gt +foxsports.com.mx +foxsports.com.pe +foxsports.com.py +foxsports.com.uy +foxsports.com.ve +foxsports.gt +foxsports.info +foxsports.net +foxsports.net.br +foxsports.pe +foxsports.sv +foxsports.uy +foxsports2.com +foxsportsflorida.com +foxsportsgo.com +foxsportsla.com +foxsportsnetmilwaukee.com +foxsportsneworleans.com +foxsportsracing.com +foxsportssupports.com +foxsportsuniversity.com +foxsportsworld.com +foxstudiolot.com +foxsuper6.com +foxtel.com +foxtel.com.au +foxtelevisionstations.com +foxtv.com +foxtvdvd.com +foxuv.com +foxweatherwatch.com +fpacebook.com +fptolia.com +fqcebook.com +fr-beatsbydrestore.com +fracebook.com +fragrancebay.com +francecasquebeatssolde.com +francemail.com +frcasquesbeats.com +free-aa.com +free-sns.com +freeb.com +freebasics.com +freebasics.net +freebeacon.com +freebrowser.org +freebs.com +freebsd.org +freecodecamp.org +freedirecttvspecial.com +freedomplatform.tv +freefacebook.com +freefacebook.net +freefacebookads.net +freefblikes.com +freehulu.com +freenetproject.org +freenode.net +freessl.com +freeviewplus.net.au +freewechat.com +freindfeed.com +frescolib.org +friendbook.info +friendfed.com +friendfeed-api.com +friendfeed-media.com +friendfeed.com +friendfeedmedia.com +frishoes.com +frontiersin.org +froogle.com +frostbite.com +fsacebok.com +fscebook.com +fsdn.com +fse.tv +fssta.com +fstopimages.com +ft.com +ftadviser.com +ftcdn.net +ftchinese.com +fteproxy.org +ftiecla.com +ftv.com.tw +ftvnews.com.tw +fuchsia.dev +fujinkoron.jp +fundaiphone5s.com +fundfire.com +fundinginstitutional.com +fundpaypal.com +fundraisingwithfacebook.com +funimation.com +funnyfacebook.org +funnyordie.com +fury.blog +fury.co +fury.dev +fury.help +fury.io +futhead.com +futpromos.com +futunited.com +futureofbusinesssurvey.org +futureshop.ca +fxn.ws +fxnetwork.com +fxnetworks.com +fzdm.com +g-technology.com +g-tun.com +g-tvapp.com +g.co +g.dev +g.page +gab.com +gacebook.com +galaxyappstore.com +galaxymobile.jp +gale.com +galegroup.com +game-platform.net +gamebeforethegame.com +gamedownloads-rockstargames-com.akamaized.net +gameon-masters.com +gamepedia.com +gamer-cds.cdn.hinet.net +gamer.com.tw +gamer2-cds.cdn.hinet.net +gameroom.com +gamesstack.com +gameuxmasterguide.com +gaming-notebooks.com +gannett-cdn.com +gannett.com +gannettdigital.com +garena.co.id +garena.co.th +garena.com +garena.live +garena.my +garena.ph +garena.sg +garena.tv +garena.tw +garena.vn +garenanow.com +gateway.dev +gaypad.net +gbnews.uk +gcld-line.com +gclubs.com +gcr.io +gcrtires.com +gdansk-amazon.com +gears5.com +gearspop.com +gearstactics.com +geek-squad-support.com +geek-squad.net +geek-squad.org +geek-squads.net +geeksquad.ca +geeksquad.cc +geeksquad.com +geeksquad.net +geeksquad.tv +geeksquadcares.com +geeksquadcentral.com +geeksquadforums.com +geeksquadonline.com +geeksquadprotectionplan.org +geeksquadservices.org +geeksquadwebroot.org +geelongadvertiser.com.au +geforce.co.kr +geforce.co.uk +geforce.com +geforce.com.tw +gemfire.net +gemfury.com +gemini.yahoo.com +gen.lib.rus.ec +gendai.net +gentoo.org +geodesummit.com +geolytics.com +geoport.com +geotrust.com +geph.io +geraldoatlarge.com +gerritcodereview.com +get.app +get.dev +get.how +get.page +getadblock.com +getbootstrap.com +getboxer.com +getbraintree.com +getbumptop.com +getcomposer.org +getdirect.tv +getdrebeatssale.com +getdropbox.com +getfedora.org +geti2p.net +getlantern.org +getpocket.com +getprintersupports.com +gettr.com +gettyimages.ae +gettyimages.at +gettyimages.be +gettyimages.ca +gettyimages.ch +gettyimages.co.jp +gettyimages.co.nz +gettyimages.co.uk +gettyimages.com +gettyimages.com.au +gettyimages.com.br +gettyimages.com.mx +gettyimages.de +gettyimages.dk +gettyimages.es +gettyimages.fi +gettyimages.fr +gettyimages.hk +gettyimages.ie +gettyimages.in +gettyimages.it +gettyimages.nl +gettyimages.no +gettyimages.pt +gettyimages.se +getws1.com +getwsone.com +gfacecbook.com +gfashion.com +gfotolia.com +gfw.press +gfw.report +gfx.ms +gfycat.com +ggoogle.com +ggpht.com +ggsrv.com +ghcr.io +ghostgames.com +gigabyte.com +gigabyte2.azureedge.net +gigjam.com +ginzasonypark.jp +gipscorp.com +giratina.com +girlspoopingtube.com +gisplanning.com +git-scm.com +git.io +gitbook.com +gitbook.io +github-avatars.oss-cn-hongkong.aliyuncs.com +github-cloud.s3.amazonaws.com +github.blog +github.com +github.community +github.dev +github.io +githubapp.com +githubassets.com +githubhackathon.com +githubpreview.dev +githubstatus.com +githubuniverse.com +githubusercontent.com +gitlab-assets.oss-cn-hongkong.aliyuncs.com +gitlab-static.net +gitlab.com +gitlab.io +gitlab.net +gitstar.com +gitstar.net +gittigidiyor.net +gittigidiyorsikayet.com +glasamerike.net +global-sci.org +globaledu.org +globalriskregulator.com +globalsecurity.org +globalsign-media.com +globalsign.be +globalsign.ch +globalsign.co.uk +globalsign.com +globalsign.com.au +globalsign.com.hk +globalsign.com.sg +globalsign.es +globalsign.eu +globalsign.fr +globalsign.net +globalsign.nl +globalspec.com +globalvoices.org +globalvoicesonline.org +gloryofheracles.com +glyphsapp.com +gmail.com +gmnetworks.net +gmodules.com +gmoney.org +gnews.org +gnu.org +go-disneyworldgo.com +go-lang.com +go-lang.net +go-lang.org +go.com +go.dev +gobeatsye.com +gobianywhere.com +gobuyonlinestore.net +godaddy.com +godoc.org +goduckgo.com +gofundme.com +gog-statics.com +gog.com +gogle.com +gogo-load.com +gogoanime.vc +gogoanime.wiki +gogocdn.net +gogole.com +golang.com +golang.net +golang.org +goldcoastbulletin.com.au +goldnikeclub.com +golos-ameriki.ru +golosameriki.com +gonglchuangl.net +gonike.com +goo.gl +gooddaychicago.com +goodsdunk.net +googel.com +googil.com +googl.com +google-analytics.com +google-syndication.com +google.ad +google.ae +google.al +google.am +google.as +google.at +google.az +google.ba +google.be +google.berlin +google.bf +google.bg +google.bi +google.bj +google.bs +google.bt +google.by +google.ca +google.cat +google.cd +google.cf +google.cg +google.ch +google.ci +google.cl +google.cm +google.co.ao +google.co.bw +google.co.ck +google.co.cr +google.co.id +google.co.il +google.co.in +google.co.jp +google.co.ke +google.co.kr +google.co.ls +google.co.ma +google.co.mz +google.co.nz +google.co.th +google.co.tz +google.co.ug +google.co.uk +google.co.uz +google.co.ve +google.co.vi +google.co.za +google.co.zm +google.co.zw +google.com +google.com.af +google.com.ag +google.com.ai +google.com.ar +google.com.au +google.com.bd +google.com.bh +google.com.bn +google.com.bo +google.com.br +google.com.bz +google.com.co +google.com.cu +google.com.cy +google.com.do +google.com.ec +google.com.eg +google.com.et +google.com.fj +google.com.gh +google.com.gi +google.com.gt +google.com.hk +google.com.jm +google.com.kh +google.com.kw +google.com.lb +google.com.ly +google.com.mm +google.com.mt +google.com.mx +google.com.my +google.com.na +google.com.ng +google.com.ni +google.com.np +google.com.om +google.com.pa +google.com.pe +google.com.pg +google.com.ph +google.com.pk +google.com.pr +google.com.py +google.com.qa +google.com.sa +google.com.sb +google.com.sg +google.com.sl +google.com.sv +google.com.tj +google.com.tr +google.com.tw +google.com.ua +google.com.uy +google.com.vc +google.com.vn +google.cv +google.cz +google.de +google.dev +google.dj +google.dk +google.dm +google.dz +google.ee +google.es +google.fi +google.fm +google.fr +google.ga +google.ge +google.gg +google.gl +google.gm +google.gr +google.gy +google.hn +google.hr +google.ht +google.hu +google.ie +google.im +google.iq +google.is +google.it +google.je +google.jo +google.kg +google.ki +google.kz +google.la +google.li +google.lk +google.lt +google.lu +google.lv +google.md +google.me +google.mg +google.mk +google.ml +google.mn +google.ms +google.mu +google.mv +google.mw +google.ne +google.net +google.nl +google.no +google.nr +google.nu +google.org +google.pl +google.pn +google.ps +google.pt +google.ro +google.rs +google.ru +google.rw +google.sc +google.se +google.sh +google.si +google.sk +google.sm +google.sn +google.so +google.sr +google.st +google.td +google.tg +google.tl +google.tm +google.tn +google.to +google.tt +google.ventures +google.vg +google.vu +google.ws +googleacquisitionmigration.com +googleadapis.com +googleadservices.com +googleanalytics.com +googleapis.com +googleapps.com +googlearth.com +googleblog.com +googlebot.com +googlecapital.com +googlecert.net +googlecode.com +googlecommerce.com +googlecompare.co.uk +googledanmark.com +googledomains.com +googledrive.com +googlee.com +googleearth.com +googlefiber.net +googlefinland.com +googlemail.com +googlemaps.com +googleoptimize.com +googlepagecreator.com +googlephotos.com +googleplay.com +googleplus.com +googlesource.com +googlestore.com +googlesverige.com +googlesyndication.com +googletagmanager.com +googletagservices.com +googletraveladservices.com +googleusercontent.com +googleventures.com +googlevideo.com +googlr.com +goolge.com +gooogle.com +gopivotal.com +gopivotal.net +gordonmoore.com +gorin.jp +gosq.co +gosq.com +gostorego.com +gotcosmos.com +gotraffic.net +gouri.xyz +govforce.com +gpstheseries.com +gputechconf.co.kr +gputechconf.com +gputechconf.com.au +gputechconf.com.tw +gputechconf.eu +gputechconf.in +gputechconf.jp +grafolio.com +graneodin.com.mx +graph.org +graphengine.io +gravatar.com +gravitytank.com +greatergothammini.com +greatfire.org +greenend.org.uk +greenplum.net +gridaware.app +groups.com +grss-ieee.org +grupobmw.com +gscanada.info +gsccdn.com +gsearch.media +gslink.us +gsrc.io +gstatic.com +gsuite.com +gtv.org +gtv1.org +gtvmediagroupfairfund.com +gu-web.net +guambmw.com +guangming.com.my +guardianapis.com +guardianapps.co.uk +guardianproject.info +gucci.com +guccimuseo.com +guccitimeless.com +guim.co.uk +gumtree.sg +guo.media +gv.com +gvt0.com +gvt1.com +gvt2.com +gvt3.com +gvt5.com +gvt6.com +gvt7.com +gvt9.com +gwiki.net +gwins.org +gwktravelex.nl +hackday.com.au +hackerfacebook.com +hackerguardian.com +hackfacebook.com +hackfacebookid.com +hacklang.org +hacksear.ch +hackthedrive.com +hackyourconsole.com +half.com +half.tv +halfcanada.com +halfjapan.com +handbags-nike.com +handbagsoutletebay.com +hanime.tv +hanime1.me +hanzhen.xmulib.org +happymeal.co.nz +happymeal.com.au +harperacademic.com +harperapps.com +harpercollins.ca +harpercollins.co.in +harpercollins.co.uk +harpercollins.com +harpercollins.com.au +harpercollinsadvantage.com +harpercollinschildrensbooks.co.uk +harpercollinschristian.com +harpercollinsspeakersbureau.com +hashicorp.com +haskell.org +haskellstack.org +hath.network +haveibeenpwned.com +hawaiibmw.com +hayabusa.dev +hayabusa.io +hayabusa.media +hbabit.com +hbfile.net +hbo.com +hboasia.com +hbogo.com +hbogoasia.com +hbogoasia.hk +hbomax.com +hbomaxcdn.com +hbonow.com +hcaptcha.com +hcaptchastatus.com +hcpdts.com +hddirectv.com +hdrplusdata.org +headlinejobs.hk +headphonepubs.com +headphones-cool.com +headphones-dre.com +headphones-outlet-online.com +headphonesbeatsaudio.com +headphonesbeatsbydre.com +headphoneses.com +headphoneshome.com +headphoneshotsales.com +headphonesol.com +headphonesretailer.com +headphonessupply.com +headphonezip.com +heads4-ak-spotify-com.akamaized.net +headset987.com +healthreach.hk +heaven-burns-red.com +heavy-r.com +hebiphone.com +hegre.com +heinonline.org +hellokittybeats.com +hellosmartbook.com +hentaiathome.net +hentaiverse.org +heptio.com +heraldsun.com.au +heroesofdragonage.com +heroesofthestorm.com +heroku-app.com +heroku-charge.com +heroku.co +heroku.com +heroku.me +herokuapp.com +herokucdn.com +herokucharge.com +herokussl.com +herringnetwork.com +heydoga.com +heywire.com +heyzo.com +hf-iphone.com +hhvm.com +hibdontire.com +hidive.com +hifacebook.info +highbolt.net +highdefinitionbeatsbydre.com +hightopnikes.com +highwirepress.com +himalaya-exchange.zendesk.com +himalaya.exchange +hindawi.com +hindiweb.com +hinet.net +hipaa6020.com +hipzoom.net +historyofdota.com +historyofdota.net +historyofdota.org +hitun.io +hk01.com +hkbn.com.hk +hkbn.net +hkbnes.net +hkcircleapp.com +hkcitizenmedia.com +hkcnews.com +hkcsl.com +hkedcity.net +hkej.com +hket.com +hketgroup.com +hkgolden.com +hkgolden.media +hkgpao.com +hkheadline.com +hkopentv.com +hkreadingcity.net +hkt-enterprise.com +hkt-eye.com +hkt.com +hkteducation.com +hktpremier.com +hktshop.com +hm.com +hochi.news +hololens.com +homebrew.bintray.com +homedepot-static.com +homedepot.com +homephoneplus.com +hometrack.com.au +honawalaan.com +hongkongfp.com +honkaiimpact3.com +honkaistarrail.com +hooloo.tv +hoolu.com +hoolu.tv +hopstop.tv +hotbeatsonsale.com +hotmail.co +hotmail.com +hotmail.eu +hotmail.net +hotmail.org +hotmonsterbeats.com +hottestheadphonesonline.com +housing.com +housingcdn.com +howtogetmo.co.uk +howtohackfacebook-account.com +hoyolab.com +hoyoverse.com +hp-imagine.com +hp-infolab.com +hp-invent.com +hp-invent.info +hp-mns.com +hp-printing.com +hp-webplatform.com +hp-ww.com +hp.com +hp.company +hp.io +hp3d.com +hp3dmetals.com +hp3dprinter.com +hp3dsamplepromo.com +hpallinoneprinter.com +hpapplicationscenter.com +hpbestbuy.com +hpbluecarpet.com +hpbluecarpet.net +hpbuiltforlearning.com +hpbundle.com +hpcampus.com +hpcatridge.com +hpccp.com +hpceo.com +hpcmw.net +hpcodewarsbcn.com +hpcomputers.com +hpcomputerservices.com +hpconnected.com +hpconnected.net +hpconnected.org +hpconnected.us +hpconnectedstage.com +hpcontinuum.com +hpcpi.com +hpcu.org +hpcustomersupport.com +hpcustomersupport.net +hpdaas.com +hpdesignjetl25500.com +hpdesktopcomputer.com +hpdownloadstore.com +hpdreamcolor.com +hpdriver.com +hpdrivers.com +hpdrivers.org +hpeclipse.com +hpengage.com +hpeprint.com +hpeprintcenter.com +hpeurope.com +hpeventcenter.com +hpfaqs.com +hpfeedback.com +hpgift.com +hpgpas.com +hpgraphicspartners.com +hpiie.org +hpinc.info +hpinc.net +hpindigopress.com +hpinkjet.com +hpinstantink.ca +hpinstantink.com +hpjav.tv +hpkeyboard.com +hplaptop.com +hplaptopbattery.com +hplargeformatremote.com +hplatexknowledgecenter.com +hplfmedia.com +hplip.net +hplipopensource.com +hpmarketplace.com +hpmemorychips.com +hpmicrcartridge.com +hpmini.com +hpmobile.com +hpofficejetprinter.com +hponlinehelp.com +hponlineprinting.com +hppage5000.com +hppavillionlaptop.com +hpphotoscanners.com +hpprinterdrivers.com +hpprinterinstalls.com +hpprintersupplies.com +hpsalescentral.com +hpserver.com +hpservices.com +hpshooping.com +hpshop.com +hpshoping.com +hpshopping.hk +hpsignage.com +hpsmart.com +hpsmarts.com +hpsmartstage.com +hpsmartupdate.com +hpsoftware.com +hpspeaker.com +hpsprocket.com +hpstore-china.com +hpstore-emea.com +hpstore.com +hpstore.corpmerchandise.com +hpstorethailand.com +hpsupport.com +hpsuresupply.com +hptechventures.com +hpto.net +hptouch.com +hptouchpointmanager.com +hptrainingcenter.com +hpuae.com +hpuniversity.info +hpusertraining.com +hpveer.com +hpvirtualthin.com +hpwallart.com +hpwellnesscentral.com +hpwsn.com +hqporner.com +hrsaz.com +hsfacebook.com +hsxhr.cc +html5rocks.com +httpfacebook.com +httpsfacebook.com +httpwwwfacebook.com +hu1u.com +huanghuagang.org +huanyuju.com +huffingtonpost.ca +huffingtonpost.co.uk +huffingtonpost.co.za +huffingtonpost.com +huffingtonpost.com.au +huffingtonpost.com.mx +huffingtonpost.de +huffingtonpost.es +huffingtonpost.fr +huffingtonpost.gr +huffingtonpost.in +huffingtonpost.it +huffingtonpost.jp +huffingtonpost.kr +huffpost.com +huffpostarabi.com +huffpostbrasil.com +huffpostmaghreb.com +huloo.cc +huloo.tv +hulu.com +hulu.tv +hulu.us +huluaction.com +huluad.com +huluapp.com +huluasks.com +hulucall.com +hulufree.com +hulugans.com +hulugermany.com +hulugo.com +huluim.com +huluinstantmessenger.com +huluitaly.com +hulunet.com +hulunetwork.com +huluplus.com +hulupremium.com +hulupurchase.com +huluqa.com +hulurussia.com +huluspain.com +hulusports.com +hulustream.com +huluteam.com +hulutv.com +huluusa.com +humblebundle.com +hummingbird.ms +huobi.com +huobi.me +huobi.pro +huobi.sc +huobiasia.vip +huobigroup.com +huobitoken.com +hutao.cloud +hutpromos.com +hwgo.com +hwslabs.com +hxc10.vip +hxcsxs.pro +hyperscan.io +i-123-hp.com +i-book.com +i-book.net +i-cable.com +i-o-u.info +i-scmp.com +i.jeded.com +i.org +iaablog.com +iam.soy +iamakamai.com +iamakamai.net +iamremarkable.org +ibb.co +ibeats-uk.com +ibeatsbydre.cc +ibeatsbydre.com +ibm.com +ibm.eu +ibm.net +ibm.us +ibook.co.nz +ibook.com +ibook.eu +ibook.net +ibookpartner.com +ibooksauthor.com +ic.ac.uk +icashpassport.com.mx +icevirtuallibrary.com +ichat.co.in +ichineseporn.com +icloud-content.com +icloud-isupport.com +icloud.ch +icloud.com +icloud.de +icloud.ee +icloud.fi +icloud.fr +icloud.hu +icloud.ie +icloud.is +icloud.jp +icloud.lv +icloud.om +icloud.org +icloud.pt +icloud.ro +icloud.se +icloud.si +icloud.sk +icloud.vn +icloudads.net +icloudbox.net +icloudbrowser.net +icloude.com +icloudhome.com +icloudmail.net +icloudmusic.net +icloudnet.net +icloudo.com +icloudo.de +icloudo.net +icloudos.de +icloudos.net +icloudpay.net +icloudsecure.net +icloudsetup.com +icsd.fiz-karlsruhe.de +idelreal.org +identrust.co.uk +identrust.com +identrust.net +idnike.com +idservice.inc +idvd.eu +ie10.com +ie11.com +ie8.co +ie9.com +iebay.com +ieee-aess.org +ieee-cas.org +ieee-ccnc.org +ieee-ceda.org +ieee-ecce.org +ieee-edusociety.org +ieee-ies.org +ieee-ims.org +ieee-into-focus.org +ieee-isto.org +ieee-npss.org +ieee-pels.org +ieee-pes.org +ieee-ras.org +ieee-region6.org +ieee-sensors.org +ieee-tems.org +ieee-uffc.org +ieee-vics.org +ieee.ca +ieee.org +ieee.tv +ieeeaps.org +ieeecsc.org +ieeecss.org +ieeeday.org +ieeedeis.org +ieeefoundation.org +ieeemagnetics.org +ieeemce.org +ieeenano.org +ieeeoes.org +ieeer10.org +ieeer5.org +ieeer8.org +ieeesmc.org +ieeesystemscouncil.org +ieeeusa.org +ietf.org +ifontcloud.com +ig.me +igcdn.com +igi-global.com +ign.jp +ignites.com +ignitesasia.com +igniteseurope.com +igoogle.com +igoshopping.net +igpublish.com +igsonar.com +igtv.com +iijav.com +iina.io +ikea.com +ikea.net +ikids.com +ilecture.co.nz +ilife.eu +ilife.gr +ilife.wang +illianacomputerrecycling.com +ilongman.com +imac-applecomputer.com +imac.co +imac.co.nz +imac.com +imac.eu +imac.gr +imac.one +imac.rs +imacapplecomputer.com +imacsources.com +imagebam.com +imagecurl.com +imagecurl.org +images-amazon.com +imageshack.com +imageshack.us +imagetwist.com +imageworks.com +imaginecup.pl +imagineecommerce.com +imdb.com +imdb.to +imessage.tv +img-prod-cms-rt-microsoft-com.akamaized.net +img-s-msn-com.akamaized.net +imgbb.com +imgcrl.org +imgix.com +imgix.net +imgsmail.ru +imgur.com +imgurinc.com +immidio.com +immxd.com +imod.com +imonsterbeats.com +imovie.eu +imoviegallery.com +imoviestage.com +imperial.ac.uk +imperial.insendi.com +imperialbusiness.school +impermium.com +imstagram.com +imtagram.com +inasian.club +incentivetravelgifts.com +inclusivegrowthscore.com +ind.sh +indazn.com +indaznlab.com +independentoperatorcn.com +india.com +indiaipad.com +indiancolleges.com +industrialtoys.com +infolinker.com.tw +informs.org +infotimes.com.tw +infowars.com +infowarsmedia.com +infrapedia.com +ingads.com +ingka.com +ingka.dev +ingkacentres.com +inikesneakers.com +init.shop +initproducts.com +inkchoice.com +inlethd.com +inmediahk.net +innovations-i.com +inoreader.com +inside.com.tw +insidefilms.com +insidemacintosh.com +insider-intelligence.com +insider.com +insiderdevtour.com +insiderintelligence.com +insidevoa.com +instaadder.com +instachecker.com +instafallow.com +instafollower.com +instagainer.com +instagda.com +instagify.com +instagmania.com +instagor.com +instagram-brand.com +instagram-engineering.com +instagram-help.com +instagram-press.com +instagram-press.net +instagram.com +instagramci.com +instagramcn.com +instagramdi.com +instagramhashtags.net +instagramhilecim.com +instagramhilesi.org +instagramium.com +instagramizlenme.com +instagramkusu.com +instagramlogin.com +instagramm.com +instagramn.com +instagrampartners.com +instagramphoto.com +instagramq.com +instagramsepeti.com +instagramtakipcisatinal.net +instagramtakiphilesi.com +instagramtips.com +instagramtr.com +instagran.com +instagranm.com +instagrem.com +instagrm.com +instagtram.com +instagy.com +instamgram.com +instangram.com +instantink.com +instantssl.com +instanttelegram.com +instaplayer.net +instastyle.tv +instgram.com +instituteofwar.org +intagram.com +intagrm.com +intc.com +integral7.com +intel-research.net +intel-university-collaboration.net +intel.ac +intel.ae +intel.af +intel.ag +intel.ai +intel.ar +intel.at +intel.az +intel.ba +intel.bg +intel.bh +intel.bi +intel.bo +intel.bs +intel.by +intel.ca +intel.cc +intel.cg +intel.ch +intel.cl +intel.cm +intel.co.ae +intel.co.cr +intel.co.id +intel.co.il +intel.co.jp +intel.co.kr +intel.co.uk +intel.co.za +intel.com +intel.com.ar +intel.com.au +intel.com.bo +intel.com.br +intel.com.co +intel.com.ec +intel.com.hk +intel.com.jm +intel.com.mx +intel.com.my +intel.com.pe +intel.com.ph +intel.com.pr +intel.com.py +intel.com.tr +intel.com.tw +intel.com.uy +intel.com.ve +intel.cr +intel.cu +intel.cz +intel.de +intel.dk +intel.dz +intel.ec +intel.ee +intel.eg +intel.es +intel.eu +intel.fi +intel.fr +intel.ga +intel.gd +intel.ge +intel.gl +intel.gm +intel.gr +intel.gs +intel.gt +intel.gy +intel.hk +intel.hn +intel.ht +intel.hu +intel.ie +intel.in +intel.io +intel.it +intel.je +intel.jo +intel.jp +intel.ke +intel.la +intel.lc +intel.lk +intel.lt +intel.lu +intel.ly +intel.ma +intel.md +intel.me +intel.mg +intel.mk +intel.mn +intel.mp +intel.mt +intel.mu +intel.mw +intel.mx +intel.my +intel.ng +intel.nl +intel.nu +intel.nz +intel.pa +intel.pe +intel.ph +intel.pl +intel.pn +intel.re +intel.ro +intel.ru +intel.rw +intel.sa +intel.sc +intel.se +intel.sg +intel.si +intel.sk +intel.sn +intel.sr +intel.st +intel.sv +intel.sx +intel.sy +intel.tf +intel.tj +intel.tl +intel.tm +intel.tn +intel.tt +intel.tv +intel.tw +intel.ua +intel.uk +intel.us +intel.uy +intel.uz +intel.vg +intel.vn +intel.vu +intel.wf +intel.yt +intelamericasstore.com +intelapacstore.com +intelatom.net +intelcapital.com +intelcapital.net +intelcloudbuilders.com +intelcloudfinder.com +intelemeastore.com +inteleventexpress.com +intelforchange.com +intelfreepress.com +intelgo.net +intelinsight.com +inteliotmarketplace.com +intell.com +intellearningseries.com +intellij.com +intellij.net +intellij.org +intellinuxgraphics.com +intellinuxgraphics.net +intellinuxwireless.net +intelnervana.com +intelnet.component +intelplay.com +intelquark.com +intelrealsense.com +intelrxt.com +intelsalestraining.com +intelsecurity.com +intelserveredge.com +intelsoftwarenetwork.com +intelstore.com +inteltechnologyprovider.com +intelvmwarecybersecurity.com +interactive-examples.mdn.mozilla.net +intercamcashpassport.com.mx +intercom.com +intercom.io +intercomassets.com +intercomcdn.com +internationalconnectionsacademy.com +internationalsaimoe.com +internet.org +internetdownloadmanager.com +internetexplorer.co +internetexplorer.com +internetofeverything.com +intgram.com +intheknow.com.au +intunewiki.com +inventorship.com.au +investorschronicle.co.uk +ioe.com +ioffergift.com +iop.org +ios-icloud.com +iosinthecar.com +iotinactionevents.com +ip.sb +ip73.com +ipa-iphone.net +ipad.co.kr +ipad.de +ipad.host +ipad.wang +ipad3.com +ipadair.cl +ipadair.cm +ipadair.com.br +ipadair.com.es +ipadair.fr +ipadair.hk +ipadair.ie +ipadair.jp +ipadair.tw +ipadaustralia.com +ipadmini.cm +ipadmini.com.lk +ipadmini.lk +ipadpro.buzz +ipfs.io +iphine.com +iphone-cd.com +iphone-cn.com +iphone-sh.com +iphone-vip1.com +iphone-vip2.com +iphone-vip3.com +iphone-vip4.com +iphone-vip5.com +iphone-x.tv +iphone-yh.com +iphone-zh.com +iphone.cm +iphone.com +iphone.com.au +iphone.com.gr +iphone.es +iphone.host +iphone.net.gr +iphone.pt +iphone.rs +iphone.ru +iphone.wang +iphone4.com +iphone4.com.br +iphone4s.com +iphone5.com +iphone5casescovers.com +iphone5s5case.com +iphoneacessorios.com.br +iphonecase2013.com +iphonecase5.com +iphonecases100.com +iphonecases5.com +iphoneclaro.com.br +iphonecollcase.com +iphonefc.com +iphonegermany.com +iphonehangzhou.com +iphoneimessage.com +iphoneplus.wang +iphonerip.net +iphonese.tv +iphoneunlockimei.com +iphonexs.tv +iphoto.eu +iphoto.no +iphoto.se +iphoto.wang +ipleadership.org +ipod.ca +ipod.ch +ipod.cm +ipod.co +ipod.co.nz +ipod.co.uk +ipod.co.za +ipod.com +ipod.com.au +ipod.com.fr +ipod.com.hk +ipod.com.sg +ipod.com.tw +ipod.de +ipod.es +ipod.eu +ipod.fr +ipod.gr +ipod.hk +ipod.is +ipod.net +ipod.no +ipod.pk +ipod.rs +ipod.ru +ipod.tw +ipodcentre.nl +ipodcleaner.com +ipoditouch.com +ipodnano.com +ipodnano.net +ipodprices.com +ipodrip.ca +ipodrocks.com.au +ipods.com +ipodshop.com.au +ipodtouch.co +ipodtouch.com +ipple.com +ippog.org +ippstatic.com +iproperty.com +iproperty.com.my +iproperty.com.sg +ironna.jp +irribay.com +is.gd +isca-speech.org +ischool.com +isexlove.tw +isexomega.tw +isiknowledge.com +iskoot.com +islamiccenterofnewlondon.com +issquaredown.com +issquareup.com +italiabeatsbydrdre.com +itcanwait.com +itcfonts.com +itfromtheinside.com +itnel.com +itools.info +itripto.com +itsbetterwhenyouwinit.com +itsoc.org +itu.int +itun.es +itunbes.com +ituneas.com +itunes-radio.net +itunes.ca +itunes.co +itunes.co.th +itunes.com +itunes.hk +itunes.mx +itunes.org +itunes.rio +itunes.us +itunes12days.com +itunesessentials.com +itunesfestivals.com +itunesiradio.com +ituneslatino.com +ituneslogin.net +itunesmatch.com +itunesparty.com +itunesradio.com +itunesradio.rio +itunesradio.tv +itunesradio.tw +itunesstore.co +itunesu.com +itunesu.net +ius.io +iutunes.com +iwaponline.com +iwara.tv +iwork.com +iwork.se +iwork.wang +ixquick.com +iza.ne.jp +j2objc.org +jable.tv +jamanetwork.com +japan-forward.com +japan-whores.com +japanesebeauties.net +japanknowledge.com +jav.guru +jav01.cc +jav101.com +jav168.cc +jav321.com +jav777.cc +java.com +java.net +javbus.com +javbus22.com +javcc.cc +javcc.com +javdb.com +javdoe.com +javdove8.xyz +javfinder.sh +javfor.me +javfree.me +javfull.net +javhd.com +javhd.pro +javhd3x.com +javhdfree.net +javlibrary.com +javmodel.com +javmost.com +javqd.com +javscreens.com +javwide.com +javwide.tv +javynow.com +jbe-platform.com +jenkins.io +jetbrains.com +jetbrains.net +jetbrains.space +jetbrains.team +jetfuelapp.com +jetfuelapps.com +jfengtime.com +jfrog.com +jfrog.org +jgg18.xyz +jiayoulu.com +jibemobile.com +jijiji.ca +jinnaju.com +jitsi.org +jiyu-kobo.co.jp +jjdong7.com +jkbeats.com +jmlr.org +jneurosci.org +jobmarket.com.hk +joeswall.com +johren.net +joinclubhouse.com +joinmaidez.com +joox.com +jos.com +jove.com +jquery.com +jquerymobile.com +jqueryui.com +js.org +jsbridgestone.com +jsdelivr.com +jsdelivr.net +jstage.jst.go.jp +jstor.org +jtvnw.net +jupyter.org +justdoit.us +justduckit.com +justmysocks.net +justmysocks1.net +justmysocks2.net +justmysocks4.net +jwpcdn.com +jwplatform.com +jwplayer.com +jwpltx.com +jwpsrv.com +jwt.ms +k8s.io +kaggle.com +kaggle.io +kali.org +kamisama-day.jp +kamisama-maeda-lab.com +kannewyork.com +kanzhongguo.com +kanzhongguo.eu +karger.com +kastatic.org +kavkazr.com +keepmovingwithmovefree.com +keiba.net +kernel.org +keyhole.com +keytransparency.com +keytransparency.foo +keytransparency.org +kfs.io +khanacademy.org +kickshatchannel.com +kicksnike1.com +kicu.tv +kidgrid.tv +kidsnikeshoes.com +kidspot.com.au +kiji.ca +kijii.ca +kijij.ca +kijiji.ca +kijijiauto.ca +kijijiautos.ca +kijijiforbusiness.ca +kijijii.ca +kijijiraps.ca +kijji.ca +kijjiji.ca +kilmeadeandfriends.com +kindgirls.com +kindle.co.jp +kindle.co.uk +kindle.com +kindle.de +kindle.es +kindle.fr +kindle.in +kindle.it +kindle.jp +kindle4rss.com +kindleoasis.com +kindleoasis.info +kindleoasis.jp +kindleoasis.org +kindleoasis.us +kindleoasisnews.com +kindleproject.com +kingkong.com.tw +kingkongapp.com +kingstagram.com +kirbysepicyarn.com +kirbysuperstarultra.com +kissjav.com +kk.stream +kkbox.com +kkbox.com.tw +kktix.com +kktv.com.tw +kktv.me +klik.me +knovel.com +knowswho.co.jp +knoxemm.com +kobbeatssbydredk.com +kodi.tv +kodi.wiki +kompoz2.com +kopfhorergunstigshop.com +kotlinlang.org +koubaibu.jp +kphimsex.net +kraken.com +krakenjs.com +krux.com +krymr.com +kscisco.com +ktvu.com +kubeacademy.com +kubeapps.com +kubernetes.io +kuke.com +kyodo-d.info +kyodo-d.jp +kyodoimages.jp +kyodonews.jp +kyodonews.net +kyurem.com +lagranepoca.com +landofhope.tv +lanik.us +lantern.io +lanternal.com +laracasts.com +lasvegasbmw.com +latampartneruniversity.com +latamvmwareforum.com +latencytop.com +latex-project.org +latticedata.com +launchpad.net +launchpad.wang +launchpadlibrarian.com +launchpadlibrarian.net +launchpadlibrarian.org +lavteam.org +lawdata.com.tw +lcsmerch.com +le-direct.tv +leaguehighschool.com +leagueoflegends.ca +leagueoflegends.co.kr +leagueoflegends.com +leagueoflegends.info +leagueoflegends.kr +leagueoflegends.net +leagueoflegends.org +leagueoflegendsscripts.com +leaguesharp.info +leaguoflegends.com +learnwithleague.com +leavinghpinc.com +lecoin.cc +lede-project.org +leecountytimes.com +legaltracker.com +lencr.org +letmejerk.com +letsencrypt.org +lexisnexis.com +lexuemei.com +lezpoo.com +lfai.foundation +lg.com +lgappstv.com +lge.co.kr +lge.com +lgecareers.com +lgelectronics.122.2o7.net +lghvac.com +lghvacstory.com +lgrecyclingprogram.com +lgsalesportal.com +liberapay.com +liberapay.org +libgen.fun +libgen.is +libgen.life +libgen.me +libgen.rs +libgen.st +librarylovefest.com +licdn.com +licensebuttons.net +life-global.org +lifewire.com +lightbridge.com +lih.kg +lihkg.com +like.com +liketwice.com +limedia.tw +limelight.com +lin.ee +line-apps-beta.com +line-apps-rc.com +line-apps.com +line-beta.me +line-cdn.net +line-scdn.net +line.me +line.naver.jp +linear-abematv.akamaized.net +linearcollider.org +linecorp.com +linefriends.com +linefriends.com.tw +linegame.jp +linemobile.com +linemyshop.com +lineshoppingseller.com +linetv.tw +linguee.com +link.theplatform.com +linkedin.com +linotype.com +linux.org +linuxfoundation.org +linuxfromscratch.org +linuxmint.com +listinganalytics.net +litbus-anime.com +literatumonline.com +litv.tv +live.com +live.com.au +live.eu +live.net +liveauction.com +livefilestore.com +livejasmin.com +livephotos.tv +liverail.com +liverail.tv +livestream.com +livingyourambition.com +livrariart.com.br +lizol.co.in +lldns.net +llnw-trials.com +llnw.com +llnw.net +llnwd.net +llnwi.net +lnstagram-help.com +loanbuilder.com +localbitcoins.com +localbitcoinschain.com +localizecdn.com +localizejs.com +localizestatus.com +localpresshk.com +logi.com +logicool.co.jp +logicoolg.com +login-account.net +login-paypal.com +login-paypal.info +logitech.biz +logitech.com +logitech.fr +logitechg.com +logitechg.fr +lojaiphone.com.br +lol-europe.com +lolclub.org +lolespor.com +lolesports.com +lolfanart.net +loli.net +lolpcs.com +lolshop.co.kr +lolstatic-a.akamaihd.net +lolstatic.com +lolusercontent.com +londonmithraeum.com +londonreal.tv +longman.ch +longtailvideo.com +lookinside.com +lordofultima.com +love7.xyz +lovebeatsdr.com +lovemarca.com +loveparents.org +loverslab.com +lovesexdurex.com +lovethiscity.com +lp99.pw +lsnzxzy1.com +ltn.com.tw +ltsports.com.tw +lua.org +lubetube.com +luckyissue.com +lululu.one +lysol.ca +lysol.cl +lysol.co.cr +lysol.com +lysol.com.mx +lysol.net +lyzsxx.com +m-power.com +m.me +m12.vc +m2m.com +mac-mini.com +mac.com +mac.com.au +mac.eu +mac.rs +mac.wang +macappsto.re +macbook.co +macbook.hk +macbook.tw +macbook.wang +macbookair.co.kr +macbookair.co.uk +macbookair.com +macbookair.com.au +macbookair.com.es +macbookair.es +macbookair.hk +macbookair.jp +macbookair.kr +macbookair.net +macbookpro.co +macbookpro.com +macbookpro.com.au +macbookpro.net +macbookpro.us +macbookpros.com +macbooksale.com +macboxset.com +mach-os.com +mach-os.net +machigoto.jp +machos.net +macintosh.eu +macintoshsoftware.com +macmini.com +macos.com.au +macosforge.org +macossierra.com +macosx.info +macosxlion.com +macpazar.com +macports.org +macreach.com +macreach.net +macromedia.com +macruby.com +macruby.net +macruby.org +macrumors.com +maddenchampionship.com +maddenrewards.com +maddenseason.info +maddenseason.net +maddenseason.org +madewithcode.com +madshi.net +madvr.com +madvr.net +madvrlabs.llc +mageconf.com +mageconf.com.ua +magento.com +magento.net +magentocommerce.com +magentoliveconference.com +magentomobile.com +mail.ru +mailhealth.com +mailonline.co.uk +mailonline.com +mailonsunday.co.uk +mailonsunday.ie +mainichi-athletepartners.jp +mainichi.jp +mainichibooks.com +mairbeats.com +makaan.com +makebettercode.com +makecode.org +makeeu.com +makeitopen.com +makesenseofdata.com +maktoob.com +malayalamanorama.com +mallheadphone.com +managed-pki.ch +managed-pki.de +managedmeetingrooms.com +mandatewire.com +manhuagui.com +manorama.com +manoramanews.com +manoramaonline.com +manoramayearbook.in +manoto1.tv +manototv.com +mansionglobal.com +manyvids.com +mapbox.com +mariadb.org +marioandluigidreamteam.com +mariobroswii.com +mariokart7.com +mariokart8.com +mariosupersluggers.com +marketexecutive.net +marketing-cloud.com +marketing-nirvana.com +marketingcloud.com +marketo.co.uk +marketo.com +marketo.net +marketo.tv +marketodesigner.com +marketolive.com +marketwatch.com +markzuckerberg.com +marvel.com +marvel10thanniversary.com +marveldimensionofheroes.com +marvelparty.net +marvelpinball.com +marvelsdoubleagent.com +marvelspotlightplays.com +marvelsuperheroseptember.com +marvelsuperwar.com +masalladeloslimites.com +mashaalradio.com +maskedsingerfox.com +masseffect.com +masseffectarchives.com +mastercad.com +mastercard-email.com +mastercard.ae +mastercard.at +mastercard.az +mastercard.ba +mastercard.be +mastercard.bg +mastercard.by +mastercard.ca +mastercard.ch +mastercard.cl +mastercard.co.id +mastercard.co.il +mastercard.co.in +mastercard.co.jp +mastercard.co.ke +mastercard.co.kr +mastercard.co.nz +mastercard.co.th +mastercard.co.uk +mastercard.co.ve +mastercard.co.za +mastercard.com +mastercard.com.ar +mastercard.com.au +mastercard.com.bh +mastercard.com.br +mastercard.com.bz +mastercard.com.co +mastercard.com.cy +mastercard.com.eg +mastercard.com.ge +mastercard.com.gt +mastercard.com.hk +mastercard.com.kw +mastercard.com.lb +mastercard.com.mx +mastercard.com.my +mastercard.com.ng +mastercard.com.pe +mastercard.com.ph +mastercard.com.sa +mastercard.com.sg +mastercard.com.tr +mastercard.com.tw +mastercard.com.ve +mastercard.com.vn +mastercard.cz +mastercard.de +mastercard.dk +mastercard.es +mastercard.eu +mastercard.fi +mastercard.fr +mastercard.gr +mastercard.hr +mastercard.hu +mastercard.ie +mastercard.inc +mastercard.it +mastercard.jo +mastercard.ke +mastercard.kz +mastercard.lu +mastercard.md +mastercard.my +mastercard.nl +mastercard.no +mastercard.om +mastercard.pl +mastercard.pt +mastercard.qa +mastercard.ro +mastercard.rs +mastercard.ru +mastercard.se +mastercard.si +mastercard.sk +mastercard.ua +mastercard.us +mastercardacademy.com +mastercardadvisors.com +mastercardbiz.ca +mastercardbiz.com +mastercardbusinessnetwork.com +mastercardcenter.com +mastercardcenter.org +mastercardcenterforinclusivegrowth.org +mastercardconnect.com +mastercardezsavings.com +mastercardidtheftalerts.com +mastercardmoments.com +mastercardrestaurant.com +mastercardservices.com +mastercardworldwide.com +masterclass.com +masterintelligence.com +masterpassteststore.com +material.io +mathoverflow.net +matrix.org +matrix.to +matters.news +matters.one +maxgo.com +maxis.com +maying.co +mbeats-tech.com +mbheadphone.com +mcd.com +mcdelivery.co.id +mcdelivery.co.kr +mcdelivery.com.au +mcdelivery.com.my +mcdelivery.com.sg +mcdelivery.com.tw +mcdindonesia.com +mcdonalds.ca +mcdonalds.co.uk +mcdonalds.com +mcdonalds.com.hk +mcdonalds.hk +mcdonalds.it +mcdonalds.no +mcdonalds.se +mcdonaldsarabia.com +mcdonaldsparties.co.nz +mcdonaldsparties.com.au +mcisco.com +mcpeaceofmind.com +mcrouter.net +mcrouter.org +mdialog.com +mdlf.xyz +mdn.mozillademos.org +mdnkids.com +mdpi.com +me.com +meadjohnson.com +meadjohnson.com.hk +meadjohnson.com.tw +meadjohnson.net +mearki.com +media-amazon.com +media-imdb.com +media-rockstargames-com.akamaized.net +media.prod.mdn.mozit.cloud +mediachinese.com +mediafiles-cisco.com +mediawiki.org +medium.com +medium.systems +medone-education.thieme.com +medrxiv.org +meet.new +meetfasttrack.com +meetsmartbook.com +meetyourdevices.com +mega.co.nz +mega.io +mega.nz +megaphone.fm +meijinsen.jp +mendeley.com +menshin-channel.com +mepn.com +meraki-go.com +meraki.hk +merakigo.com +meridian.net +messenger.com +messengerdevelopers.com +metacloud.com +metacpan.org +metamind.io +metart.com +metartnetwork.com +metcams.com +metro.co.uk +metropolitana.tokyo +mewe.com +mfg-inspector.com +mgo-images.com +mgo.com +mhshosting.com +mi9.com.au +mi9cdn.com +miamifintechfestival.com +mickey.tv +microbit.org +microsoft-give.com +microsoft-int.com +microsoft-ppe.com +microsoft-sap-events.com +microsoft-sbs-domains.com +microsoft.az +microsoft.be +microsoft.by +microsoft.ca +microsoft.cat +microsoft.ch +microsoft.cl +microsoft.com +microsoft.cz +microsoft.de +microsoft.dk +microsoft.ee +microsoft.es +microsoft.eu +microsoft.fi +microsoft.ge +microsoft.hu +microsoft.io +microsoft.is +microsoft.it +microsoft.jp +microsoft.lt +microsoft.lu +microsoft.lv +microsoft.md +microsoft.net +microsoft.pl +microsoft.pt +microsoft.red +microsoft.ro +microsoft.rs +microsoft.ru +microsoft.se +microsoft.si +microsoft.tv +microsoft.ua +microsoft.uz +microsoft.vn +microsoft365.com +microsoftaccountguard.com +microsoftadc.com +microsoftads.com +microsoftadvertising.com +microsoftadvertisingregionalawards.com +microsoftaffiliates.com +microsoftcloud.com +microsoftcloudsummit.com +microsoftcloudworkshop.com +microsoftcommunitytraining.com +microsoftdiplomados.com +microsofteca.com +microsoftedge.com +microsoftgamestack.com +microsofthouse.com +microsofthouse.net +microsoftinternetsafety.net +microsoftiotcentral.com +microsoftiotinsiderlabs.com +microsoftlatamaitour.com +microsoftlatamholiday.com +microsoftlinc.com +microsoftmxfilantropia.com +microsoftnews.cc +microsoftnews.com +microsoftnews.net +microsoftnews.org +microsoftnewsforkids.com +microsoftnewsforkids.net +microsoftnewsforkids.org +microsoftnewskids.com +microsoftnewskids.net +microsoftnewskids.org +microsoftonline-p.com +microsoftonline.com +microsoftpartnercommunity.com +microsoftpartnersolutions.com +microsoftreactor.info +microsoftreactor.net +microsoftreactor.org +microsoftready.com +microsoftsilverlight.com +microsoftsilverlight.net +microsoftsilverlight.org +microsoftsiteselection.com +microsoftsqlserver.com +microsoftstore.com +microsoftstore.com.hk +microsoftstream.com +microsoftteams.com +microsofttradein.com +microsofttranslator.com +microsoftuwp.com +micstl.com +midatlanticbmwmotorcycles.com +midentsolutions.com +mihayou.com +mihoyo.com +miitomo.com +miiverse.com +miktex.org +milofetch.com +mindmeld.com +minecraft.net +minecraftshop.com +mingpao.com +mingpaocanada.com +mingpaomonthly.com +mingpaotor.com +mingpaovan.com +mings-fashion.com +mings.hk +mingshengbao.com +mingw.org +mingwatch.com +mini-abudhabi.com +mini-antilles.fr +mini-bahrain.com +mini-bosnia.com +mini-clubs-international.com +mini-connected.at +mini-connected.be +mini-connected.ch +mini-connected.co.uk +mini-connected.com +mini-connected.cz +mini-connected.de +mini-connected.dk +mini-connected.ee +mini-connected.es +mini-connected.fi +mini-connected.fr +mini-connected.ie +mini-connected.it +mini-connected.lt +mini-connected.lu +mini-connected.lv +mini-connected.nl +mini-connected.no +mini-connected.pl +mini-connected.pt +mini-connected.se +mini-corporate-sales.com +mini-coupe.ca +mini-dubai.com +mini-e.com +mini-egypt.com +mini-georgia.com +mini-grouparchiv.de +mini-grouparchive.com +mini-jordan.com +mini-ksa.com +mini-kuwait.com +mini-lebanon.com +mini-me.com +mini-oman.com +mini-qatar.com +mini-srilanka.com +mini-stjohns.ca +mini-stjohns.com +mini-tahiti.com +mini-vietnam.com +mini-windsor.ca +mini-windsor.com +mini.am +mini.at +mini.be +mini.bg +mini.by +mini.ca +mini.cc +mini.ch +mini.cl +mini.co.cr +mini.co.id +mini.co.il +mini.co.kr +mini.co.me +mini.co.th +mini.co.uk +mini.co.za +mini.com +mini.com.ar +mini.com.bn +mini.com.br +mini.com.co +mini.com.cy +mini.com.do +mini.com.ec +mini.com.gr +mini.com.gt +mini.com.hr +mini.com.mk +mini.com.mo +mini.com.mt +mini.com.mx +mini.com.pa +mini.com.pe +mini.com.ph +mini.com.pl +mini.com.py +mini.com.sg +mini.com.tr +mini.com.tw +mini.com.uy +mini.cz +mini.de +mini.dk +mini.dz +mini.es +mini.fi +mini.fr +mini.gp +mini.hu +mini.ie +mini.in +mini.is +mini.it +mini.jp +mini.kz +mini.lu +mini.ma +mini.md +mini.mq +mini.mu +mini.my +mini.nc +mini.nl +mini.no +mini.pt +mini.re +mini.ro +mini.rs +mini.ru +mini.se +mini.si +mini.sk +mini.tm +mini.tn +mini.ua +mini101.ca +miniargentina.com +minibrossard.ca +minibrossard.com +minicanada.ca +minicaribbean.com +miniccrc.ca +minicooper.ca +minid.no +minidealer.com +minidealernet.com +minidowntown.ca +minidowntown.com +minidrivingexperienceusa.com +minidurham.ca +minidurham.com +minie.com +minifs.com +minigeorgian.ca +minigrandriver.com +minihalifax.ca +minihalifax.com +minihk.com +miniinvasion.ca +miniitalianjob.com +minikelowna.ca +minikelowna.com +minilangley.ca +minilangley.com +minilat.com +minilaval.ca +minilaval.com +minilondon.ca +minilondon.co +minimarkham.ca +minimarkham.com +minimoncton.ca +minimoncton.com +minimontrealcentre.ca +minimontroyal.ca +minimontroyal.com +minimotoringrewards.com +minimotoringschool.com +minimotorsport.com +mininanaimo.ca +mininanaimo.com +minioakville.com +miniofmonrovia.com +minipetfriendly.com +minirichmond.ca +minirichmond.com +minisaskatoon.ca +minisaskatoon.com +minishop.ca +miniso-au.com +miniso-bh.com +miniso-np.com +miniso-nz.com +miniso.by +miniso.ca +miniso.co +miniso.co.id +miniso.co.tz +miniso.ge +miniso.ie +miniso.jp +miniso.ma +miniso.my +miniso.pe +miniso.pk +miniso.ua +miniso.uz +minisoindia.com +minisojordan.com +minisokorea.com +minisolife.co.za +minisothailand.com +minisovietam.vn +minispace.com +minispecialoffers.ca +minispygear.com +ministcatharines.ca +ministeagathe.com +ministjohns.ca +minitakesthestates.com +minitoronto.ca +minitroisrivieres.ca +miniusa.com +miniusaservice.com +miniusatires.com +minivalueservice.com +minivancouver.ca +minivaughanwest.ca +minivaughanwest.com +minivictoria.ca +minivictoria.com +minivilledequebec.ca +minivilledequebec.com +miniwholesaleconnect.com +miniwidget.ca +miniwindsor.com +miniworkshop.com +miniyaletown.ca +minneapolisbmw.com +minneapolisbmw.net +miraheze.org +mirailab.tech +mirrormedia.com.tw +mirrormedia.mg +mirrorsedge.com +mirrorsedge.jp +mirrorsedge.net +mirrorsedge2.com +mirrorsedge2d.com +mit.edu +mit.net +mitpressjournals.org +mkt.com +mktdns.com +mkto-c0100.com +mktorest.com +mktroute.com +mmdnn.com +mmonsterheadphones.net +mobatek.net +mobile.de +mobile01.com +mobilefacebook.com +mobileinternational.com +mobilemarketo.com +mobileme.dk +mobileview.page +mochajs.org +mocloudplus.com +modular.im +mojang.com +mol.im +molesports.com +momentumms.com +momo.dm +momo5188.com +momomall.com.tw +momoshop.com.tw +monbeats2013.com +money-link.com.tw +moneywithfacebook.com +mongodb.com +mongodb.org +monitrix.net +mono-project.com +monotype.com +monotypeimaging.com +monster-beats-by-dr-dre.com +monster-beats-headphones.com +monsterbeats-cheap.com +monsterbeats-headphone.com +monsterbeats-onsale.com +monsterbeats-solo.com +monsterbeats-solo.net +monsterbeats365buy.com +monsterbeats8beatsbydre.com +monsterbeatsale.com +monsterbeatsalestore.com +monsterbeatsau.com +monsterbeatsbydrdre-nz.com +monsterbeatsbydrdre-usa.com +monsterbeatsbydrdrecanada.com +monsterbeatsbydrdrestudio.com +monsterbeatsbydre-nz.com +monsterbeatsbydre-usa.com +monsterbeatsbydre2015.com +monsterbeatsbydreaustraliacheap.com +monsterbeatsbydrebilligde.com +monsterbeatsbydrefactory.com +monsterbeatsbydrenew.com +monsterbeatsbydres.com +monsterbeatsbydreshop.com +monsterbeatscasques.com +monsterbeatscommunity.com +monsterbeatsdrdrecheap.com +monsterbeatsfactory.net +monsterbeatsfinland.com +monsterbeatsforsale.com +monsterbeatsheadphone.com +monsterbeatsheadphones.net +monsterbeatshere.com +monsterbeatsitaly.com +monsterbeatsmall.com +monsterbeatsnegozi.net +monsterbeatsok.com +monsterbeatsonlinestoreuk.com +monsterbeatsoutlet.us +monsterbeatspascher.net +monsterbeatsru.com +monsterbeatssales.com +monsterbeatssalg.com +monsterbeatsshops.net +monsterbeatsstore.com +monsterbeatssydneyaustralia.com +monsterbeatstang.com +monsterbeatstienda.com +monsterbeatstudio.com +monsterbydrebeat.com +monstercasquebeatspascher.net +monstercheapbeatss.com +monsterdrebeats-canada.net +monsterdrebeats-usa.com +monsterdrebeats-usa.net +monsterheadphone.net +monsterproduct.net +monstersbeatbydres.com +monstersdebea.com +monstershopcheapbeats.net +moodstocks.com +moov.hk +moreheadphones.com +morganclaypool.com +morisawa.co.jp +morphcharts.com +mortein.co.in +mortein.co.nz +mortein.co.za +mortein.com +mortein.com.au +mortein.com.br +mortein.com.ng +mortein.com.pk +morteincam.com +mostly.jp +motionpictureser.com +motolia.com +motorshowblog.com +mottainai.info +move-free.net +move.com +moveaws.com +movefreeoffers.com +movefreerewards.com +movefrees.com +movenetworks.com +movetv.com +movidius.com +movidius.net +moviesanywhere.com +mozilla.com +mozilla.community +mozilla.net +mozilla.org +mpfinance.com +mpnevolution.com +mpv.io +mpweekly.com +mr-tireman.jp +mray.club +ms-studiosmedia.com +ms365surfaceoffer.com +ms4dre.com +msads.net +msauth.net +mschallenge2018.com +msdn.com +msecnd.net +msedge.net +msft.info +msft.net +msftauth.net +msfteducation.ca +msftnet.org +msgamesresearch.com +msinnovationchallenge.com +msn.com +msnbc.com +msnewskids.com +msnewskids.net +msnewskids.org +msnkids.com +msocdn.com +msocsp.com +mspairlift.com +msropendata.com +msturing.org +msudalosti.com +msunlimitedcloudsummit.com +mtt.org +mtvnservices.com +mucinex.ca +mucinex.cn +mucinex.co.nz +mucinex.com +mucinex.com.cn +mucinex.net +mucinex.tv +mucinexprofessional.com +mudvod.tv +muji.com +muji.com.hk +muji.eu +muji.net +muji.tw +muji.us +mujikorea.net +multicurrencycashpassport.com +multiplydiversity.com +muncloud.dog +muscdn.com +muse.jhu.edu +mushymush.tv +musical.ly +musicbay.net +musickit.net +mut.ch +muthead.com +mvk.com +mwf-service.akamaized.net +my-formosa.com +my-magazine.me +my13la.com +my20dc.com +my20houston.com +my29tv.com +my45.com +my9nj.com +myaccountglobalcash.com +myappleid.com +myavfun.com +mybeatsbydrestudio.com +mybeatsbydreuk.com +mybeatscheapbydre.com +mybestbuy.com +mybestbuyclaims.com +mybmw.ca +mybmw.com +mybridgestoneeducation.com +mycardbenefits.com +mycdn.me +myciscobenefits.com +myconstructionworld.net +mydirectgroove.com +mydirectvchannels.com +mydirtyhobby.com +myebay.com +myfbfans.com +myferrariheadphones.com +myfonts.com +myfonts.net +myfoxatlanta.com +myfoxaustin.com +myfoxboston.com +myfoxcharlotte.com +myfoxchicago.com +myfoxdc.com +myfoxdetroit.com +myfoxdfw.com +myfoxhouston.com +myfoxhurricane.com +myfoxla.com +myfoxlosangeles.com +myfoxlubbock.com +myfoxmaine.com +myfoxny.com +myfoxorlando.com +myfoxphilly.com +myfoxphoenix.com +myfoxsanfran.com +myfoxtampa.com +myfoxtampabay.com +myfoxtwincities.com +myfoxzone.com +myfreecams.com +myfun.com +myguide.hk +myhelpinglab.com +myhpsupport.com +myhulu.com +myicloud.net +myipod.net +mylcloud.net +mylogiclab.com +mymicrosoft.com +mymmode.com +mynike.com +myoctocat.com +mypearson.com +mypearsonenglish.ch +mypearsonshop.com.mx +mypearsonshop.mx +myq2.com +myradio.com.hk +myradio.hk +myrewardzone.com +myrz.com +mysdn.com +mysdn.info +mysdn.net +myshopify.com +mysims.com +mysimsracing.com +mysinchew.com +mysocialworklab.com +mysql.com +mystrikingly.com +mythicentertainment.com +mythicentertainment.net +mythicgames.com +mytimesplus.co.uk +mytvsuper.com +myvisaluxuryhotels.com +mywaytopay.info +mywaytopay.net +mzed.com +mzstatic.com +n3ro.lol +n3ro.net +n3ro.wtf +na-att-idns.net +nab.com.au +nab.demdex.net +nabtravellercard.com.au +naiadsystems.com +namemybeats.com +namethatporn.com +natgeokidsbooks.co.uk +natgeomaps.com +nationalaustraliaban.tt.omtrdc.net +nationalgeographic.com +nationalgeographicpartners.com +nativeincolour.com.au +naturalvoices.com +nature.com +naturemag.org +naver.com +naver.jp +naver.net +navercorp.com +nbabot.net +nbc.co +nbc.com +nbcnews.com +nbcolympics.com +nbcsports.com +nbcudigitaladops.com +nbcuni.com +nbcuniversal.com +ncl.edu.tw +near.by +nebay.net +neborder.com +needforspeed.com +needforspeedboost.com +needforspeeddriftkings.com +needforspeedeliminator.com +needforspeedlightning.com +needforspeedoverdrive.com +needforspeedproven.com +needforspeedredline.com +needforspeedshowdown.com +needforspeedstreetkings.com +needforspeedtakedown.com +needforspeedtherun.com +needforspeedtimeattack.com +needforspeedundergroundeast.com +negozimonsterbeats.com +negoziomonsterbeats.com +nejm.org +nekoxxx.com +nentindo.net +neow.in +neowin.net +nervanasys.com +nest.com +netacad.com +netacad.net +netflav.com +netflix.ca +netflix.com +netflix.net +netflixdnstest1.com +netflixdnstest10.com +netflixdnstest2.com +netflixdnstest3.com +netflixdnstest4.com +netflixdnstest5.com +netflixdnstest6.com +netflixdnstest7.com +netflixdnstest8.com +netflixdnstest9.com +netflixinvestor.com +netflixtechblog.com +netlify.com +netname.com.br +nettyinternet.com +netvigator.com +neuralink.com +neurology.org +nevex.com +newbeatsblackfriday.com +newbemany.com +newcastlenewslocal.com.au +newdrediscount.com +neweconomyforum.com +newenergyfinance.com +newestbeatsbydre.com +newhampshirebmw.com +newisiknowledge.com +newlysprung.net +newmonst1erbeatsto1re.com +newmonsterbeatsheadphones.com +news.co.uk +news.com.au +news.net.au +news3.rexcha.com +newsadds.com.au +newsamerica.com +newsapi.com.au +newscareers.co.uk +newscdn.com.au +newschristmasshopping.com +newscommercial.co.uk +newsconcierge.com.au +newscorp.com +newscorpaustralia.com +newsfeed.com +newsgawakaru.com +newslicensing.co.uk +newsmart.jp +newsmax.com +newsmax.in +newsmaxtv.com +newsnowfox.com +newsprestigenetwork.com.au +newsprinters.co.uk +newssyndication.com +newsukadops.com +newsupermariobrosu.com +newsxtend.com.au +newtalk.tw +newton.com +newyorker.com +nexcat.com +nexitally.com +nexitallysafe.com +nexitcore.com +nexpart.com +nexpart.tv +next.com +next.hk +nextdigital.com.hk +nextdigital.com.tw +nextechafrica.net +nextfilm.com.hk +nextgenerationcenter.com +nextmag.com.tw +nextmedia.com +nextmedia.com.tw +nextmgz.com +nextplus.com.hk +nextstop.com +nexttv.com.tw +nextwork.com.hk +nextwork.com.tw +nextwork.hk +nextwork.tw +nflhotsalejerseys.com +nflxext.com +nflximg.com +nflximg.net +nflxsearch.net +nflxso.net +nflxvideo.net +nfscdict.com +nfsworld.com +ngeo.com +nginx.com +nginx.org +nhentai.net +nhncorp.jp +nicesshop.net +nicodic.jp +nicomanga.jp +niconico.com +nicoseiga.jp +nicovideo.jp +nii.ac.jp +nike-air-max.com +nike-dunksb.com +nike-fr.com +nike-org.com +nike-uk.com +nike-us.com +nike-usa.com +nike.ci +nike.com +nike.com.br +nike.com.hk +nike.gy +nike.hk +nike.shop +nike.us +nike.xn--hxt814e +nike0594.com +nike23.com +nikeadidas.com +nikeairhuarache.com +nikeairmax.com +nikeairmaxs.com +nikeairmaxshoes.com +nikeairrift.com +nikeasia.com +nikeaustralia.com +nikeaw77.com +nikeb.com +nikebbn.com +nikebetrue.com +nikebetterworld.com +nikebetterworld.info +nikebetterworld.net +nikebetterworld.org +nikebiz.info +nikebuy.com +nikeby.com +nikecdn.com +nikechosen.com +nikecloud.com +nikeclub.com +nikecompany.com +nikeconfluence.com +nikecraft.com +nikedawn.com +nikedunks.net +nikedunksshoes.com +nikeelite.com +nikefactorystore.com +nikefind.com +nikefirm.com +nikefoamposites.com +nikefoampositeshoes.com +nikefootballcleats.com +nikefootballgloves.com +nikefootballjersey.com +nikefoundation.org +nikefr.com +nikefrance.com +nikefree.com +nikefreeshoes.com +nikefuelband.com +nikegadgets.com +nikegenealogy.com +nikegolf.ca +nikegrid.com +nikehelp.com +nikehightops.com +nikehyperdunk.com +nikeidshoes.com +nikeinc.com +nikeincchemistry.com +nikeinstock.com +nikeit.com +nikeitalia.com +nikeitaly.com +nikekd.com +nikekid.com +nikelink.com +nikeliuxiang.com +nikelives.com +nikelunarglide.com +nikemarketing.com +niken7.com +nikenews.com +nikeonlinestore.com +nikeoutletstore.com +nikeoutletstores.com +nikepioneer.com +nikeplus.com +nikeplus.org +nikepress.com +nikeprice.com +nikeproduct.com +nikepromax.com +nikeresponsibility.com +nikereuseashoe.com +nikerunner.com +nikerunningshoes.com +nikesb.com +nikesbdunks.net +nikeseason.com +nikeselling.com +nikesellorder.com +nikeshoemarket.com +nikeshoes-store.com +nikeshoes21.com +nikeshoes4u.com +nikeshoescity.com +nikeshoesgroup.com +nikeshoesinc.com +nikeshoesmarket.com +nikeshoesretro.com +nikeshoeswon.com +nikeshoponline.com +nikeshoxsale.com +nikesku.com +nikesnowboarding.com +nikesoccercleats.com +nikesportswear.com +nikestares.com +nikestore.com +nikestore.com.au +nikestyles.com +nikeswim.com +niketaiwan.net +niketracking.com +niketradeweb.com +niketrainer.com +niketrainers.com +niketraining.com +nikeusa.com +nikewear.com +nikey.com +nikezoom.com +nikkan-gendai.com +nikkansports.com +nikkei-cnbc.co.jp +nikkei.co.jp +nikkei.com +nikkei.jp +nikkei4946.com +nikkeibp.co.jp +nimg.jp +nine.com.au +nineentertainment.com.au +nineentertainmentco.com.au +ninemediaroom.com.au +ninemsn.com.au +nintendo-europe-sales.com +nintendo-europe.com +nintendo.at +nintendo.be +nintendo.ch +nintendo.co.jp +nintendo.co.kr +nintendo.co.uk +nintendo.co.za +nintendo.com +nintendo.com.hk +nintendo.com.pt +nintendo.de +nintendo.dk +nintendo.es +nintendo.eu +nintendo.fi +nintendo.fr +nintendo.it +nintendo.net +nintendo.nl +nintendo.no +nintendo.pt +nintendo.ru +nintendo.se +nintendo.tw +nintendo3ds.com +nintendodsi.com +nintendoeurope.com +nintendonetwork.net +nintendonyc.com +nintendostore.com +nintendoswitch.com +nintendoswitch.net +nintendoswitchtogether.com +nintendowii.com +niosii.com +niosii.net +nist.gov +nixos.org +nke6.com +nlm.io +nmbmw.com +nna.jp +nodejs.org +nodesource.com +nokiantyres.com +nomadlandmovie.ch +nomadproject.io +nomulus.foo +nonktube.com +nordstrom.com +nordstrommedia.com +notepad-plus-plus.org +notion-static.com +notion.com +notion.new +notion.site +notion.so +now-ashare.com +now-tv.com +now.com +now.com.hk +now.sh +nowe.com +nowe.hk +nownews.com +npm.community +npmjs.com +npmjs.org +npr.org +nsimg.net +ntc.party +ntd.com +ntdca.com +ntdimg.com +ntdtv.ca +ntdtv.co.kr +ntdtv.com +ntdtv.com.tw +ntdtv.jp +ntdtv.kr +ntdtv.org +ntdtv.ru +ntdtvla.com +ntdvn.com +ntnews.com.au +nudevista.com +nuget.org +nugettest.org +nunuyy.cc +nurofen.at +nurofen.bg +nurofen.co.il +nurofen.co.nz +nurofen.co.uk +nurofen.co.za +nurofen.com +nurofen.com.au +nurofen.com.sg +nurofen.cz +nurofen.de +nurofen.es +nurofen.fr +nurofen.hr +nurofen.hu +nurofen.ie +nurofen.it +nurofen.net +nurofen.no +nurofen.pl +nurofen.pt +nurofen.ro +nurofen.ru +nurofen.sk +nurofengel.com +nurofensk-prod-env.eu-west-1.elasticbeanstalk.com +nutramigen.net +nutramigen.pl +nvidia.asia +nvidia.at +nvidia.be +nvidia.ch +nvidia.co.at +nvidia.co.in +nvidia.co.jp +nvidia.co.kr +nvidia.co.uk +nvidia.com +nvidia.com.au +nvidia.com.br +nvidia.com.mx +nvidia.com.pe +nvidia.com.pl +nvidia.com.tr +nvidia.com.tw +nvidia.com.ua +nvidia.com.ve +nvidia.cz +nvidia.de +nvidia.dk +nvidia.es +nvidia.eu +nvidia.fi +nvidia.fr +nvidia.in +nvidia.it +nvidia.jp +nvidia.lu +nvidia.mx +nvidia.nl +nvidia.no +nvidia.pl +nvidia.ro +nvidia.ru +nvidia.se +nvidia.tt.omtrdc.net +nvidia.tw +nvidiaforhp.com +nxta.org +nxtdig.com.hk +nxtdig.com.tw +nyaa.net +nyaa.si +nyansa.com +nypost.com +nypost.help +nypostreprints.com +nyt.com +nyt.net +nytchina.com +nytcn.me +nytco.com +nyti.ms +nytimes.com +nytstyle.com +o0-2.com +o2action.co.kr +o365weve-dev.com +o365weve-ppe.com +o365weve.com +oanencore.com +oann.com +oath.cloud +oath.com +oauthz.com +observable.net +obsrvbl.com +ocbmwdealers.com +ocul.us +oculus-china.com +oculus.com +oculus2014.com +oculus3d.com +oculusblog.com +oculusbrand.com +oculuscasino.net +oculuscdn.com +oculusconnect.com +oculusdiving.com +oculusforbusiness.com +oculusrift.com +oculusvr.com +odysee.com +oecd-ilibrary.org +oed.com +offerairjordanlebron.com +office.com +office.net +office365.com +office365love.com +office365tw.com +officecdn-microsoft-com.akamaized.net +officialbeatsbydreshop.com +officialbeatsbydrestore.com +officialdrdre.com +officialheadphone.com +offresspecialesbmw.ca +offrezdesipods.com +ogameblog.com +ogp.me +ohyeah1080.com +ok.ru +okaapps.com +okex.com +omekinteractive.com +omghk.com +omnitek.tv +omniture.com +omoplanet.com +omotenashi.cygames.jp +omscr.com +omtrdc.net +on.cc +on.here +on2.com +onbeatsbydresale.com +oncars.in +one.one.one +oneapi.com +onedinesfree.com +onedrive.co +onedrive.co.uk +onedrive.com +onedrive.eu +onedrive.live.com +onedrive.net +onedrive.org +onefifteen.net +onefifteen.org +onejav.com +onenote.com +onenote.net +onestore.ms +oneworldmanystories.com +oninstagram.com +onionshare.org +online-deals.net +online-instagram.com +onlineapplestore.com +onlinegeeksquad.com +onlineinstagram.com +onlinemonsterbeatsonsale.com +onlyiphone5case.com +onmanorama.com +onsalekey.com +onsaletrend.com +ooni.org +op.gg +openai.com +openamt.com +openapiplatform.com +openapiservice.com +opencollective.com +opencreate.org +opendroneid.org +opengraphprotocol.com +opengraphprotocol.org +openjsf.org +openmaps.org +openresty.org +openssl.org +openstreetmap.com +openstreetmap.net +openstreetmap.org +openstreetmaps.org +opensuse.org +openthread.io +opentranslatorstothings.org +openvinotoolkit.org +openvpn.net +openweave.io +openwrt.org +opgg-static.akamaized.net +opinionjournal.com +optanedifference.com +optica.org +opticsforthecloud.net +optimumssl.com +oracle.com +oraclecloud.com +oraclefoundation.org +oracleimg.com +orbitera.com +oreil.ly +oreilly.com +oreilly.review +oreillystatic.com +origin-a.akamaihd.net +origin.com +origin.tv +originalhulu.com +orithegame.com +orl.ly +orlandohurricane.com +osakamotion.net +osapublishing.org +osdn.net +osm.org +osmfoundation.org +ospray.net +ospray.org +oup.com +ouplaw.com +ouroath.com +outbound.io +outingsapp.com +outletbeatsshop.com +outletnike.com +outlook.com +overcast.fm +ovid.com +ox.ac.uk +oxfordaasc.com +oxfordartonline.com +oxfordbibliographies.com +oxfordclinicalpsych.com +oxforddnb.com +oxfordfirstsource.com +oxfordhandbooks.com +oxfordlawtrove.com +oxfordmedicine.com +oxfordmusiconline.com +oxfordpoliticstrove.com +oxfordre.com +oxfordreference.com +oxfordscholarlyeditions.com +oxfordscholarship.com +oxfordwesternmusic.com +ozodi.org +ozodlik.org +ozvoice.org +p-events-delivery.akamaized.net +p16-tiktokcdn-com.akamaized.net +p3.csgfnmdb.com +pa9pal.com +paaypal.com +pacifickitchenandhome.com +packagist.org +packer.io +page.link +page3.com +pagecdn.com +pagecdn.io +pages.dev +pagespeedmobilizer.com +pageview.mobi +pahabicilemezsurprizler.com +paily.net +paily.org +paipal.com +paisapay.cc +paisapay.info +paisapay.tv +palestineremix.com +panasonic.com +panasonic.jp +panoramio.com +paofu.cloud +paofuyun.me +papalah.com +paper-attachments.s3.amazonaws.com +paradisehotelquizfox.com +paragon.com +paramount.com +paramountplus.com +parastorage.com +pardot.com +park-now.com +parkinfo.com +parler.com +parse.com +parstream.com +parstream.net +parstream.org +partylikeits1986.org +pascherbeatsmonster.com +pashtovoa.com +passiontimes.hk +passport.net +pastebin.com +patentgold.net +patenttruth.org +patreon.com +paulsimon-music.com +pavpal.com +paxful.com +paxlicense.org +paydiant.com +paygonline.com +payhulu.com +paylike.com +paypa1.com +paypa1.org +paypaal.com +paypal-activate.com +paypal-activate.info +paypal-activate.org +paypal-apac.com +paypal-apps.com +paypal-biz.com +paypal-brandcentral.com +paypal-business.com +paypal-business.net +paypal-business.org +paypal-cardcash.com +paypal-cash.com +paypal-center.com +paypal-center.info +paypal-center.net +paypal-center.org +paypal-communication.com +paypal-communications.com +paypal-communications.net +paypal-community.com +paypal-community.net +paypal-comunidad.com +paypal-corp.com +paypal-database.com +paypal-database.us +paypal-donations.com +paypal-dynamic.com +paypal-engineering.com +paypal-europe.com +paypal-excelinvoicing.com +paypal-exchanges.com +paypal-forward.com +paypal-galactic.com +paypal-gift.com +paypal-gifts.com +paypal-gpplus.com +paypal-here.com +paypal-hrsystem.com +paypal-innovationlab.com +paypal-integration.com +paypal-japan.com +paypal-knowledge.com +paypal-labs.com +paypal-latam.com +paypal-learning.com +paypal-login.com +paypal-login.info +paypal-login.org +paypal-login.us +paypal-luxury.com +paypal-mainstreet.net +paypal-marketing.com +paypal-media.com +paypal-merchantloyalty.com +paypal-mobilemoney.com +paypal-network.org +paypal-notice.com +paypal-notify.com +paypal-online.info +paypal-online.net +paypal-online.org +paypal-optimizer.com +paypal-pages.com +paypal-photocard.com +paypal-plaza.com +paypal-portal.com +paypal-prepagata.com +paypal-prepagata.net +paypal-prepaid.com +paypal-profile.com +paypal-proserv.com +paypal-qrshopping.org +paypal-recargacelular.com +paypal-redeem.com +paypal-referral.com +paypal-retail.com +paypal-scoop.com +paypal-search.com +paypal-secure.net +paypal-secure.org +paypal-security.net +paypal-security.org +paypal-service.org +paypal-signin.com +paypal-signin.us +paypal-special.com +paypal-specialoffers.com +paypal-sptam.com +paypal-status.com +paypal-support.com +paypal-survey.com +paypal-survey.org +paypal-team.com +paypal-viewpoints.net +paypal.ca +paypal.com +paypal.com.hk +paypal.com.sg +paypal.hk +paypal.info +paypal.jp +paypal.me +paypal.so +paypal.us +paypalbeacon.com +paypalbenefits.com +paypalbrasil.com +paypalcommunity.com +paypalcommunity.net +paypalcommunity.org +paypalcorp.com +paypalcredit.com +paypalcreditcard.com +paypalgivingfund.org +paypalhere.com +paypalhere.info +paypalhere.net +paypalhere.org +paypalhere.tv +paypali.net +paypalinc.com +paypalindia.com +paypalinsuranceservices.org +paypall.com +paypallabs.com +paypalme.com +paypalnet.net +paypalnet.org +paypalnetwork.info +paypalnetwork.net +paypalnetwork.org +paypalobjects.com +paypalonline.net +paypalonline.org +paypalprepagata.com +paypalprepagata.net +paypalservice.com +paypalshopping.com +paypalshopping.net +paypalsurvey.com +paypalx.com +paypaly.com +paypass.net +payppal.com +payypal.com +pc.com +pca.st +pccw.com +pccwglobal.com +pccwsolutions.com +pchome.com.tw +pchomeec.tw +pchomeonline.com.tw +pchomepay.com.tw +pcloud.tw +pcmarket.com.hk +pcre.org +pcstore.com.tw +pdf.new +pdncommunity.com +pdxbmw.com +peacocktv.com +pearson-anaya.com +pearson-intl.com +pearson-schule.ch +pearson-studium.ch +pearson.ch +pearson.cl +pearson.co.in +pearson.co.jp +pearson.com +pearson.com.ar +pearson.com.au +pearson.com.hk +pearson.com.uy +pearson.es +pearson.fr +pearson.pl +pearsonactivelearn.com +pearsonassessment.be +pearsonassessment.de +pearsonassessment.dk +pearsonassessment.fr +pearsonassessment.nl +pearsonassessment.no +pearsonassessment.se +pearsonassessments.com +pearsoncanada.ca +pearsonclinical.be +pearsonclinical.ca +pearsonclinical.co.uk +pearsonclinical.com.au +pearsonclinical.com.br +pearsonclinical.de +pearsonclinical.dk +pearsonclinical.es +pearsonclinical.eu +pearsonclinical.fr +pearsonclinical.in +pearsonclinical.nl +pearsonclinical.no +pearsonclinical.se +pearsoncmg.com +pearsoncred.com +pearsoned.co.nz +pearsoned.com +pearsoneducacion.net +pearsoneducationbooks.com +pearsonelt.ch +pearsonelt.com +pearsonenespanol.com +pearsonhighered.com +pearsoninstitute.ac.za +pearsonlongman.ch +pearsononlineacademy.com +pearsonperu.pe +pearsonplaces.com.au +pearsonschoolsandfecolleges.co.uk +pearsonvue.com +pearsonvue.net +peerj.com +pensions-expert.com +pentium.com +pentium.net +peoplenews.tw +perfectkickz.net +periscope.tv +perl.org +persagg.com +persianepochtimes.com +personaltrainermath.com +personeelsland.com +phantomjs.org +phncdn.com +photolia.net +photonicssociety.org +photoshop.com +php.net +phprcdn.com +phxbmw.com +physiology.org +piapp.com.tw +picasa.com +picasaweb.com +picasaweb.net +picasaweb.org +picknicekicks.net +pickshoesclothes.com +picnik.com +pics.ee +picsee.co +picsee.pro +pieceofplastic.com +pifpafarabia.com +pigav.com +pillbeatsblackfridaysale.com +pimg.tw +pin.it +pincong.rocks +ping.pe +pinimg.com +pinterest.at +pinterest.be +pinterest.ca +pinterest.ch +pinterest.cl +pinterest.co +pinterest.co.at +pinterest.co.in +pinterest.co.kr +pinterest.co.nz +pinterest.co.uk +pinterest.com +pinterest.com.au +pinterest.com.bo +pinterest.com.ec +pinterest.com.mx +pinterest.com.pe +pinterest.com.py +pinterest.com.uy +pinterest.com.vn +pinterest.de +pinterest.dk +pinterest.ec +pinterest.engineering +pinterest.es +pinterest.fr +pinterest.hu +pinterest.id +pinterest.ie +pinterest.in +pinterest.info +pinterest.it +pinterest.jp +pinterest.kr +pinterest.mx +pinterest.nl +pinterest.nz +pinterest.pe +pinterest.ph +pinterest.pt +pinterest.ru +pinterest.se +pinterest.th +pinterest.tw +pinterest.uk +pinterest.vn +pinterestmail.com +pintool.com +pirates-forum.org +pise.pw +pittpatt.com +pivotalinitiative.com +piwheels.org +pixanalytics.com +pixapp.net +pixate.com +pixfs.net +pixhost.to +pixinsight.com.tw +pixiv.co.jp +pixiv.net +pixiv.org +pixnet.cc +pixnet.net +pixnet.pro +pixnet.tw +pixplug.in +pixtronix.com +pki-post.ch +pki-posta.ch +pki-poste.ch +placemyad.com.au +placesdocs.com +planetminecraft.com +plantsvszombies2.com +play4free.com +playapex.com +playartifact.com +playbydurex.com +playerjs.io +playhearthstone.com +playmation.com +playnintendo.com +playno1.com +playoverwatch.com +playparagon.com +playshow.io +playshowtv.com +playstation.com +playstation.net +playvalorant.com +playwarcraft3.com +playz.jp +plos.org +plug.game +pm.me +pnas.org +pobl-content.com +pocketbiketrader.com +pocketcasts.com +pogo.com +pogobeta.com +pokedex3d.com +pokemon-moon.com +pokemon-sun.com +pokemon-sunmoon.com +pokemon.com +pokemonbank.com +pokemonblackwhite.com +pokemonbw.com +pokemonchampionships.com +pokemongoldsilver.com +pokemonhome.com +pokemonletsgoeevee.com +pokemonletsgopikachu.com +pokemonmysterydungeon.com +pokemonpicross.com +pokemonplatinum.com +pokemonrubysapphire.com +pokemonsunmoon.com +pokemonswordshield.com +pokemonultrasunmoon.com +pokemonvgc.com +pokemonwifi.net +polygon.com +polymer-project.org +polymerproject.org +popcap.com +popjav.tv +porn.com +pornacho.com +pornbest.org +pornbrb.com +pornhd.com +pornhits.com +pornhub.com +pornhubpremium.com +pornkai.com +pornmd.com +pornogramxxx.com +pornstarbyface.com +porntea.com +pornzog.com +poshtestgallery.cloudapp.net +poshtestgallery.com +positivessl.com +post852.com +postgresql.org +postimages.org +postimg.cc +postini.com +potenza.jp +powerappscdn.net +powerautomate.com +powerbeats2wireless.com +powerbeatsbydrdre.com +powerbeatsbydre.com +powerbi.com +powerbook.eu +poweredbyintel.com +powerofresolve.ca +powerofresolve.com +powershellgallery.com +powersunitedvr.com +pp-soc.com +ppaypal.com +pplusstatic.com +pppds.com +practicalbusinessskills.com +practicalmoneyskills.ca +practicalmoneyskills.jp +prd-priconne-redive.akamaized.net +pre-bmwgroup.jobs +predictivetechnologies.com +premiumfs.de +premobay.com +prepsure.com +press.vin +priceless.com +priceless.org +pricelessafrica.com +pricelessarabia.com +pricelessaruba.com +pricelessbeijing.com +pricelesshongkong.com +pricelesshonolulu.com +pricelessmarketingengine.com +pricelesspick.com +pricelesssantiago.com +pricelesssurprises.com +pricelesssydney.com +pricelesstoronto.ca +pricelesstv.com +prime-video.com +primeday.info +primevideo.cc +primevideo.com +primevideo.info +primevideo.org +primevideo.tv +princeton.edu +printeron.com +printersetupsupport.com +printspots.com +printspots.net +privacysandbox.com +privacysimplified.com +privacytools.io +privatebrowsingmyths.com +privatemarketplaces.net +privatemarketplaces.us +privilege.hk +privilege.tw +prodrive-japan.com +product.co.jp +projectapex.com +projectara.com +projectbaseline.com +projecteuclid.org +projectmurphy.net +projectsangam.com +promonsterbeatsbydre.com +property.com.au +proptiger.com +proquest.com +pros.ee +prostores.com +prostudiobeatscybersale.com +protonmail.ch +protonmail.com +protonstatus.com +proxyrarbg.org +pscdn.co +pscp.tv +pse.is +psg-int-centralus.cloudapp.net +psg-int-eastus.cloudapp.net +psiphon3.com +pstatic.net +pstorage.space +psyccareers.com +ptt.cc +ptt2.cc +ptt3.cc +publishproxy.com +pubmatic.co.jp +pubmatic.com +pugetsoundbmw.com +pugetsoundmini.com +pugpig-dev.com +pugpig-stage.com +pugpig.com +pullstring.net +pureapk.com +putty.org +pvp.net +pvp.tv +pvue1.com +pvue2.com +pvzgw2.com +pvzheroes.com +pwabuilder.com +pwmnet.com +pwnedpasswords.com +pximg.net +pxt.io +pycon.org +pyhapp.com +pypa.io +pypi.io +pypi.org +pypl.com +pypl.info +pypl.net +pypl.tv +pyrobot.org +python.org +pythonhosted.org +q10.jp +q13.com +q13fox.com +qctconnect.com +qingse.one +qmap.pub +qoo10.jp +qprize.com +qr.ae +qt-project.org +qt.io +qualcomm-email.com +qualcomm.cn +qualcomm.co.id +qualcomm.co.in +qualcomm.co.jp +qualcomm.co.kr +qualcomm.co.uk +qualcomm.com +qualcomm.com.br +qualcomm.com.tw +qualcomm.de +qualcomm.fr +qualcomm.sc.omtrdc.net +qualcommhalo.com +qualcommlabs.com +qualcommmea.com +qualcommretail.com +qualcommventures.cn +qualcommventures.com +qualphone.com +quantil.com +quatrowireless.com +quatrum.com.br +questvisual.com +quicinc.com +quickoffice.com +quicktake.video +quicktime.cc +quicktime.com +quicktime.com.au +quicktime.eu +quicktime.net +quicktime.tv +quiksee.com +quip-cdn.com +quip.com +quipelements.com +quiz.directory +quora.com +quoracdn.net +quotable.com +qwapi.com +r-project.org +r10s.com +r10s.jp +r18.com +r18lu.com +racked.com +radeon.com +radian6.com +radiofarda.com +radiomango.fm +radiomarsho.com +radiosvoboda.org +radiotavisupleba.ge +radiyoyacuvoa.com +rakuten-static.com +rakuten.ca +rakuten.co.jp +rakuten.com +rakuten.com.tw +rakuten.ne.jp +rakuten.tw +rakuya.com.tw +rapidssl.com +raponlinereview.com +rarbg.is +rarbg.me +rarbg.to +rarbgaccess.org +rarbgaccessed.org +rarbgget.org +rarbggo.org +rarbgmirror.com +rarbgmirror.org +rarbgproxy.org +rarbgprx.org +rarbgto.org +rarbgunblock.com +rarbgunblock.org +rarbgway.org +raspberrypi.org +raspbian.org +ravm.tv +razer.com +razersupport.com +razerzone.com +razerzone.jp +rb-crisis.com +rb.com +rb.gy +rb.net +rbbusinessshop.com +rbdigitalab.com +rbdigitallab.com +rbeuroinfo.com +rbgrads.com +rbgraduates.com +rbmavericks.com +rbnainternational.com +rbplc.com +rbrandlibrary.com +rbsgr.com +rbspeakup.com +rclon.com +rea-asia.com +rea-group.com +rea.design +rea.global +rea.io +rea.tech +reabble.com +reachtheworldonfacebook.com +react.com +reactjs.com +reactjs.org +readmoo.com +readthedocs-hosted.com +readthedocs.com +readthedocs.io +readthedocs.org +realamericanstories.com +realamericanstories.info +realamericanstories.net +realamericanstories.org +realamericanstories.tv +realclear.com +realclearbooks.com +realcleardefense.com +realcleareducation.com +realclearenergy.org +realclearfoundation.org +realclearhealth.com +realclearhistory.com +realclearinvestigations.com +realclearlife.com +realclearmarkets.com +realclearpolicy.com +realclearpolitics.com +realclearpublicaffairs.com +realclearreligion.org +realclearscience.com +realclearworld.com +realcommercial.com.au +realestate.com.au +realestatejournal.com +realitykings.com +realmilwaukeenow.com +realtor.com +realtype.co.jp +realtype.jp +realvision.com +reastatic.net +reaxys.com +rebates.jp +rebrandly.com +reckitt.net +reckittbenckiser.com +reckittbenckiser.net +reckittbenckiser.tv +reckittprofessional.com +recode.net +recoiljs.org +reconinstruments.com +reconjet.com +redd.it +reddit.com +redditmail.com +redditmedia.com +redditstatic.com +redgifs.com +redis.io +redislabs.com +redkix.com +redtube.com +redzonechannel.com +regiongold.com +registerhulu.com +registeridm.com +registry.google +relateiq.com +remirepo.net +renchead.com +renovacionoffice.com +renovacionxboxlive.com +rentaride.com +rentaride.de +renzhe.cloud +repsils.no +repsneakermall.com +repswing.com +researchandcare.org +researchgate.net +researchintel.com +researchkit.hk +researchkit.net +researchkit.org +researchkit.tv +respawnbyrazer.com +rethink.net +reurl.cc +reuters.com +reuters.tv +reutersagency.cn +reutersmedia.net +revenue-performance-management.com +revolv.com +rewrite-anime.tv +rfa.org +rferl.org +rfi.fr +rgpub.io +rhodeislandbmw.com +ridepenguin.com +rimg.com.tw +riot-games.com +riot.com +riot.im +riot.net +riotcdn.net +riotforgegames.com +riotgames.co.kr +riotgames.com +riotgames.info +riotgames.jp +riotgames.net +riotgames.tv +riotpin.com +riotpoints.com +rmbl.ws +road-crew.com +roborecall.com +rocketfishproducts.com +rocksdb.com +rocksdb.net +rocksdb.org +rockstargames.com +roku.com +rokutime.com +rolfoundation.org +rolls-roycecullinan.com +rolls-roycemotorcars.com +rolls-roycemotorcarsna.com +rolsociety.org +root-signing.ch +rootsigning.com +roughman.net +routledgehandbooks.com +royalsocietypublishing.org +rpmfusion.org +rprimelab.com +rrtis.com +rsc.org +rsf.org +rsg.sc +rsshub.app +rstatic.net +rt.com +rthk.hk +rtings.com +rtm.tnt-ea.com +ruby-lang.org +rubygems.org +ruinedking.com +rule34.xxx +rumah123.com +rumble.com +run.app +runnike.com +runningnike.com +rupress.org +rust-lang.org +rustup.rs +ruten.com.tw +ryokoyomiuri.co.jp +s-bluemix.net +s-cashonmobile.com +s-microsoft.com +s-msn.com +s-nbcnews.com +s-rewards.hk +s-xoom.com +s.team +s2stagehance.com +s81c.com +sa78gs.wpc.edgecastcdn.net +sae.org +safechat.com +saffrontech.com +sagepub.com +sahabatsetiasmartone.com +sale-nikeshoes.com +salebeatslasteststyle4you.com +saleblackfridaydrebeats.com +salecheaphandbags.com +salesforce.com +salesforce.org +salesforceiq.com +salesforceliveagent.com +salesforcemarketingcloud.com +samebags.com +samsung.com +samsungapps.com +samsungcloud.com +samsungdm.com +samsunggalaxyfriends.com +samsungknox.com +samsungqbe.com +sandisk.ae +sandisk.co.jp +sandisk.co.kr +sandisk.co.uk +sandisk.com +sandisk.com.au +sandisk.com.br +sandisk.com.tr +sandisk.com.tw +sandisk.de +sandisk.es +sandisk.fr +sandisk.hk +sandisk.id +sandisk.in +sandisk.it +sandisk.nl +sandisk.sg +sankei-ad-info.com +sankei-ad.net +sankei-books.co.jp +sankei-call.jp +sankei-digital.co.jp +sankei-eiga.co.jp +sankei-kaihatsu.co.jp +sankei-kurashi.com +sankei-shougakukai.jp +sankei-tours.com +sankei.co.jp +sankei.com +sankei.jp +sankeibiz.jp +sankeishop.jp +sankie.net +sanspo.com +sanvaras.com +sarajevopodopsadom.com +savethedate.foo +savvyshopper.net.au +saynow.com +sb-mobile.jp +sb-telecom.net +sb.sb +sbitravelcard.com +sbnation.com +sbux.com.my +sbuxcard.com +sc-cdn.net +scala-lang.org +scala-sbt.org +scaleflex.com +scdn.co +scenesource.me +schemer.com +schiffvitamins.com +scholar.google.ae +scholar.google.at +scholar.google.be +scholar.google.bg +scholar.google.ca +scholar.google.cat +scholar.google.ch +scholar.google.cl +scholar.google.cn +scholar.google.co.cr +scholar.google.co.id +scholar.google.co.il +scholar.google.co.in +scholar.google.co.jp +scholar.google.co.kr +scholar.google.co.nz +scholar.google.co.th +scholar.google.co.uk +scholar.google.co.ve +scholar.google.co.za +scholar.google.com +scholar.google.com.ar +scholar.google.com.au +scholar.google.com.bo +scholar.google.com.br +scholar.google.com.co +scholar.google.com.cu +scholar.google.com.do +scholar.google.com.ec +scholar.google.com.eg +scholar.google.com.gt +scholar.google.com.hk +scholar.google.com.ly +scholar.google.com.mx +scholar.google.com.my +scholar.google.com.ni +scholar.google.com.pa +scholar.google.com.pe +scholar.google.com.ph +scholar.google.com.pk +scholar.google.com.pr +scholar.google.com.py +scholar.google.com.sg +scholar.google.com.sv +scholar.google.com.tr +scholar.google.com.tw +scholar.google.com.ua +scholar.google.com.uy +scholar.google.com.vn +scholar.google.cz +scholar.google.de +scholar.google.dk +scholar.google.es +scholar.google.fi +scholar.google.fr +scholar.google.gr +scholar.google.hn +scholar.google.hr +scholar.google.hu +scholar.google.is +scholar.google.it +scholar.google.li +scholar.google.lt +scholar.google.lu +scholar.google.lv +scholar.google.nl +scholar.google.no +scholar.google.pl +scholar.google.pt +scholar.google.ro +scholar.google.ru +scholar.google.se +scholar.google.si +scholar.google.sk +scholar.l.google.com +scholarpedia.org +sci-hub.ee +sci-hub.it.nf +sci-hub.mksa.top +sci-hub.se +sci-hub.st +sci.hubg.org +science.com +science.org +sciencedirect.com +sciencedirectassets.com +sciencemag.org +scienceonline.org +scientificamerican.com +scientificlinux.org +scitation.org +scival.com +scmp.com +scnshop.cc +scnsrc.me +scoop.sh +scopus.com +scoreland.com +scp-wiki.net +scpdb.org +scpwiki.com +screens-lab.jp +screenwisetrends.com +screenwisetrendspanel.com +sdcountybmw.com +seagroup.com +seamonkey-project.org +seaofsolitude.com +seasidestory.tokyo +secom.co.jp +secomtrust.net +secretchina.com +sectigo.com +secure-paypal.info +securepaypal.info +seiron-sankei.com +sellercommunity.com +semanticscholar.org +sensorynetworks.com +seqingx.com +sequence.com +serialssolutions.com +serverfault.com +serverlesslibrary.net +services-apple.net +services-exchange.com +serviceshp.com +servicetalk.io +seselah.com +setapp.com +setn.com +settv.com.tw +severreal.org +sextop1.net +sexzy4.com +sf.net +sfbassets.com +sfbassets.net +sfdcstatic.com +sforce.com +sfx.ms +shadowcomplex.com +shadowsocks.com +shadowsocks.nl +shadowsocks.org +sharepoint.com +sharepointonline.com +sharethis.com +sharpdaily.tw +shazam.com +shelfstuff.com +shields.io +shinhangmc.com +shireyishunjian.com +shoers.com +shoestop2.com +shop-headphones.net +shop.app +shopbeatsdre.com +shopbmwmotorcycles.com +shopbmwusa.com +shopbydre.com +shopcustomizedbeats.com +shopdisney.com +shopdrebeats.com +shopdurex.com +shopee.co.id +shopee.co.th +shopee.com +shopee.com.br +shopee.com.my +shopee.ph +shopee.sg +shopee.tw +shopee.vn +shopeemobile.com +shopfacebook.com +shopibay.net +shopify.com +shopify.dev +shopifycdn.com +shopifycloud.com +shopifystatus.com +shopifysvc.com +shoping.com +shopminiusa.com +shopmonsterbeats.com +shoppercentre.com +shopping-days.net +shoppinguheadphones.com +shops-disney.com +shopspeedtv.com +shorturl.at +shotwithgeforce.com +shp.ee +shuziyimin.org +siam.org +sibreal.org +siege-amazon.com +sign.new +signal.art +signal.org +signalbar.com +signalprocessingsociety.org +signalusers.org +silverchair-cdn.com +simcity-buildit.com +simcity.com +simg.jp +simgbb.com +simility.com +simplify.com +simplifycommerce.com +simplyipod.com +sinchew.com.my +sinchew.my +sing68.com +singpao.com.hk +singtao.com +singtaobooks.com +singtaola.com +singtaonewscorp.com +singtaoopo.com +singtaousa.com +sinoinsider.com +siport.com +sipriyearbook.org +siri.com +sis001.com +site.com +sitepoint.com +skate2.com +skillshare.com +sky.com +skyassets.com +skyoceanrescue.com +skyoceanrescue.de +skyoceanrescue.it +skype.com +skype.net +skypeassets.com +skypeassets.net +skysports.com +skysports.fr +skysports.ie +skysportsonline.com +skysportsracing.com +slack-core.com +slack-edge.com +slack-files.com +slack-imgs.com +slack-msgs.com +slack-redir.net +slack.com +slackb.com +slackcertified.com +slackdemo.com +slackhq.com +slashdot.org +slideshare.com +slideshare.net +slidesharecdn.com +sling.com +slinginternational.com +slobodnaevropa.mk +sm.ms +smart-edge.com +smartcommunitiescoalition.com +smartcommunitiescoalition.org +smartexpos.com +smartline.com.au +smartone.com +smartoneholdings.com +smartonerobotics.com +smartonesolutions.com.hk +smartonesolutions.hk +smpte.org +snap-dev.net +snap-telemetry.io +snap.com +snapads.com +snapchat.com +snapcraft.io +snapdragon.cn +snapdragonbooth.com +snapkit.co +snapseed.com +snapstore.io +snapvolumes.com +sndcdn.com +sneaker666.com +sneakerpage.net +sneakerskick.com +sni1dcb6gl.wpc.edgecastcdn.net +soasta-dswb.com +socalbmw.com +soccerfanz.com.my +soccerfinancier.ca +soccermatchpass.com +social.com +socrec.org +softbank-ipo.com +softbank-jp.com +softbank-robotics.com +softbank-telecom.com +softbank-telecom.net +softbank.jp +softbank.tv +softbankbb.com +softbankbb.net +softbankci.com +softbankhawksstore.jp +softbankmobile.net +softbankrobotics.com +softbanktelecom.com +softbankusa.net +softbankventuresasia.com +softbankworld.com +softether-download.com +softether.org +sohcradio.com +sohfrance.org +soirt4.fun +solarcity.com +solostudioksale.com +solveforx.com +sony-africa.com +sony-asia.com +sony-europe.com +sony-hes.co.jp +sony-latin.com +sony-mea.com +sony-olympus-medical.com +sony-promotion.eu +sony-semicon.co.jp +sony.at +sony.ba +sony.be +sony.bg +sony.ca +sony.ch +sony.cl +sony.co.cr +sony.co.id +sony.co.in +sony.co.jp +sony.co.kr +sony.co.nz +sony.co.th +sony.co.uk +sony.com +sony.com.ar +sony.com.au +sony.com.bo +sony.com.br +sony.com.co +sony.com.do +sony.com.ec +sony.com.gt +sony.com.hk +sony.com.hn +sony.com.mk +sony.com.mx +sony.com.my +sony.com.ni +sony.com.pa +sony.com.pe +sony.com.ph +sony.com.sg +sony.com.sv +sony.com.tr +sony.com.tw +sony.com.vn +sony.cz +sony.de +sony.dk +sony.ee +sony.es +sony.eu +sony.fi +sony.fr +sony.gr +sony.hr +sony.hu +sony.ie +sony.it +sony.kz +sony.lt +sony.lu +sony.lv +sony.net +sony.nl +sony.no +sony.pl +sony.pt +sony.ro +sony.rs +sony.ru +sony.se +sony.si +sony.sk +sony.ua +sonybo.co.jp +sonybsc.com +sonybuilding.jp +sonyclassics.com +sonydesign.com +sonydna.com +sonyentertainmentnetwork.com +sonyglobalsolutions.jp +sonykigyo.jp +sonylatvija.com +sonypcl.jp +sonypictures.com +sonypicturesanimation.com +sonypicturesmuseum.com +sonypicturesstudios.com +sonypicturestelevision.com +sonypicturestelevisiongames.com +sonyprotechnosupport.co.jp +sonystoragemedia.co.jp +sonytc.co.jp +sorcerersarena.com +soso7778.com +soundcloud.com +soundofhope.kr +soundofhope.org +sourceforge.com +sourceforge.net +sourcingforebay.com.cn +sourcingforebay.net +sourcingforebay.tv +south-plus.net +southfloridamini.com +sovec.net +spaceexplored.com +spacely.com.au +spacex.com +spaindisney.com +spankbang.com +spearhead.kr +specialtyheadphones.com +speeddreamride.com +speedfantasybid.com +speedhunters.com +speedracegear.com +speedtest.com.hk +speedxtra.com +spektral.cc +speybay.com +spiceworks.com +spiceworksstatic.com +spiedigitallibrary.org +spiritclubs.com +spiritofecstasy.com +splatoon2tournament.com +sponichi.co.jp +spore.com +sportsfacebook.com +sportstream.com +sportswomanoftheyear.co.uk +sportswomenoftheyear.co.uk +spoti.fi +spotify-everywhere.com +spotify.com +spotify.design +spotifycdn.com +spotifycdn.net +spotifycharts.com +spotifycodes.com +spotifyforbrands.com +spotifyjobs.com +spraynwash.com +spreadprivacy.com +springer.com +springerlink.com +springernature.com +sprinklesapp.com +spyjinx.com +sqlite.org +sqlserveronlinux.com +squarecapital.com +squarecdn.com +squarecloudservices.com +squarefoot.com.hk +squareup.com +squirrelgroup.net +squirrelvpn.com +srebrenica360.com +srtcdn.net +ssdevrd.com +ssl-certificate.ch +ssl-images-amazon.com +ssl-lvlt.cdn.ea.com +sslpaypal.org +ssplive.pw +ssrpass.pw +sstatic.net +ssx3.com +stackage.org +stackapps.com +stackauth.com +stackexchange.com +stackmod.blog +stackoverflow.blog +stackoverflow.com +stackoverflow.email +stackoverflowbusiness.com +stackpath.com +stackpath.dev +stacksnippets.net +stadia.dev +staffhub.ms +standardsuniversity.org +star-brasil.com +star-latam.com +starbucks-stars.com +starbucks.ad +starbucks.at +starbucks.be +starbucks.bg +starbucks.ca +starbucks.ch +starbucks.co.id +starbucks.co.jp +starbucks.co.nz +starbucks.co.th +starbucks.co.uk +starbucks.co.za +starbucks.com +starbucks.com.ar +starbucks.com.bn +starbucks.com.co +starbucks.com.cy +starbucks.com.gr +starbucks.com.hk +starbucks.com.kh +starbucks.com.kz +starbucks.com.mx +starbucks.com.my +starbucks.com.pe +starbucks.com.sg +starbucks.com.tr +starbucks.com.uy +starbucks.de +starbucks.dk +starbucks.es +starbucks.fr +starbucks.hu +starbucks.ie +starbucks.in +starbucks.it +starbucks.nl +starbucks.no +starbucks.ph +starbucks.pl +starbucks.pt +starbucks.rs +starbucks.ru +starbucks.se +starbucks.tt +starbucks.vn +starbucksathome.com +starbucksavie.ca +starbuckscard.ph +starbuckscardb2b.com +starbuckscoffee.cz +starbuckscoffeegear.com +starbuckscoffeegearstore.com +starbucksforlife.ca +starbucksforlife.com +starbuckspoq.com +starbucksreserve.com +starbucksrewardsstarland.ca +starbucksrewardsstarland.com +starbucksromania.ro +starbucksrtd.com +starbucksslovakia.sk +starbuckssummergame.ca +starbuckssummergame.com +starcraft.com +starcraft2.com +starfox.com +stark-verlag.ch +startpage.com +startpath.com +startupjournal.com +startupschool.org +starwars.com +starwarsbattlefront.com +starwarsbattlefront2.com +starwarsfallenorder.com +starwarsgalacticstarcruiser.com +starwarsjedifallenorder.com +starwarskids.com +starwarstheoldrepublic.com +stateofthemap.com +stateofthemap.org +static-cisco.com +static-nike.com +static-verizon.com +static9.net.au +staticflickr.com +statics-marketingsites-eus-ms-com.akamaized.net +statics-marketingsites-wcus-ms-com.akamaized.net +statsmakemecry.com +statuspage.io +stc-server.com +stcroixmosquito.com +stcroixmosquitoproject.com +steam-chat.com +steambroadcast.akamaized.net +steamcdn-a.akamaihd.net +steamcommunity-a.akamaihd.net +steamcommunity.com +steamcontent.com +steamdeck.com +steamgames.com +steampowered.com +steamstatic.com +steamstore-a.akamaihd.net +steamunlocked.net +steamusercontent-a.akamaihd.net +steamusercontent.com +steamuserimages-a.akamaihd.net +steamvideo-a.akamaihd.net +steelbrick.com +steemit.com +stheadline.com +stlouisbmw.net +stockagainstphotography.com +storage.live.com +store-bridgestonesports.com +storesense.com +storm.mg +storyful.com +straightouttasomewhere.com +streamable.com +streamingdisney.net +strepsils.at +strepsils.ch +strepsils.co.kr +strepsils.co.nz +strepsils.co.za +strepsils.com.ar +strepsils.com.au +strepsils.com.br +strepsils.com.co +strepsils.com.hk +strepsils.com.ph +strepsils.com.tw +strepsils.es +strepsils.fi +strepsils.fr +strepsils.hr +strepsils.hu +strepsils.ie +strepsils.net +strepsils.pl +strepsils.pt +strepsils.ro +strepsils.ru +strepsils.si +strepsils.us +strepsilsarabia.com +strikingly.com +strikinglycdn.com +stripchat.com +stripe.com +stripe.network +stripecdn.com +studiobeatsbydrdre.com +studywatchbyverily.com +studywatchbyverily.org +stunnel.org +stxmosquito.com +stxmosquitoproject.com +stxmosquitoproject.net +stxmosquitoproject.org +sub147.com +sublimetext.com +subscene.com +successwithteams.com +sulwerphoto.com +sun.com +sunbingo.co.uk +sundanceignite2016.com +sundayready.com +sunglassessale2014.com +supercoach.com.au +superearsenjoy.com +supermario.com +supermario3dworld.com +supermariogalaxy.com +supermariorun.com +superpapermario.com +superstation.com.tw +superuser.com +supplybestjerseys.com +supportfacebook.com +supremacy.com +supremacy.net +surface.com +surflite.co +surflite.net +sustainthesound.com +svaboda.org +sverigebeatsbydrdre.com +svoboda.org +svobodnaevropa.bg +svp-team.com +svpply.com +swag.live +sway-cdn.com +sway.com +sweetandmaxwell.co.uk +swift.org +swiftbank.info +swiftbank.us +swiftcapital.com +swiftfinancial.com +swiftfinancial.info +swiftfinancial.net +swissid.ch +swissign.com +swissign.li +swisssign-group.ch +swisssign-group.com +swisssign-group.li +swisssign.ch +swisssign.com +swisssign.li +swisssign.net +swisssign.org +swisssigner.ch +swisssigner.com +swisssigngroup.ch +swisssigngroup.com +swissstick.com +swisstsa.ch +swisstsa.li +swjedifallenorder.com +swjfo.com +swoo.sh +swoosh.com +swoosh.tv +swtor.com +swtor.net +syhacked.com +synaptic.net +synergyse.com +syosetu.com +sysinternals.com +szabadeuropa.hu +szcheapmonsterheadphones.com +szwinnertechnology.com +t.co +t.me +t21.nikkei.co.jp +t21ipau.nikkei.co.jp +t66y.com +taboola.com +tagapie.com.tw +tail-f.com +tailf.com +tailwindtraders.com +taipeitimes.com +taiwannews.com.tw +takegoto.com +talentlens.com +talksport.com +tandberg-china.com +tandberg.com +tandf.co.uk +tandfonline.com +taptotokyo.com +target.com +targetimg1.com +taste.com.au +tasteofpremium.jp +taylorandfrancis.com +taylorfrancis.com +tbr.tangbr.net +tdesktop.com +teamneedforspeed.com +tearapeak.com +techatbloomberg.com +techhub.ms +techliquidators.com +technews.tw +technics.com +technologyandsociety.org +techstreet.com +techtimes.com +ted.com +tedcdn.com +teenchoice.com +tegrazone.co +tegrazone.co.kr +tegrazone.com +tegrazone.jp +tegrazone.kr +telebay.com +telega.one +telegra.ph +telegram.dog +telegram.me +telegram.org +telegram.space +telekom.com +telekom.de +telesco.pe +telesell.com +telex.cc +tellapart.com +tellme.pw +tellmewhygame.com +tenbyfotolia.com +tensorflow.org +terapeack.com +terapeak.ca +terapeak.com +terapeak.com.hk +terapeak.hk +terapeak.info +teraperk.com +termius.com +termux.com +termux.org +terraform.io +terragraph.com +terrapeak.com +tesla-cdn.thron.com +tesla.com +teslamotors.com +test-ipv6.com +testonfox.com +tex-talk.net +texttobuy.org +texture.com +tfhub.dev +tfsallin.net +tg.dev +thanksloyalty.com +thawte.com +thawte.de +thawte.fr +the-japan-news.com +the-m-festival.com +the-monster-beats.com +the-tls.co.uk +theaffairs.com +theaustralian.com.au +theav.cc +thebanker.com +thebankerdatabase.com +thebayuk.com +thebeatsbydre.com +thebeatsbydre.net +thebeatsheadphonesale.com +thechronicle.com.au +theclasshroom.com +thecleversense.com +theclub.com.hk +thecompaqstore.com +thedailysnkr.com +thedreadwolfrises.com +theebayshop.com +theepochtimes.com +theepochtimessubscribe.com +thefacebook.com +thefacebook.net +thefind.com +thefoxnation.com +thegatewaypundit.com +thegeorgiascene.com +thegithubshop.com +thegooglestore.com +theguardian.com +theguardiandns.com +thehealthsite.com +thehulubraintrust.com +theinitium.com +theinstagramhack.com +theintelstore.com +thelancet.com +thelegendarystarfy.com +theman.in +themarvelexperiencetour.com +themathsfactor.com +themercury.com.au +themessengeradelaide.com.au +themoviedb.org +thenationalpulse.com +thenewslens.com +thenextweb.com +theopportunityproject.org +thepaypalshop.com +thepiratebay.org +theporndude.com +thescottishsun.co.uk +thesffblog.com +theshoppingexpresslane.net +thesims.com +thesims3.com +thesims4.com +thesimssocial.com +thestandard.com.hk +thestandnews.com +thestationbymaker.com +thesun.co.uk +thesun.ie +thesundaytimes.co.uk +thetimes.co.uk +thetimes.ie +thetread.com +thetvdb.com +thetype.com +theuab.net +theverge.com +theweek.in +thewonderful101.com +thieme-connect.com +thieme-connect.de +thieme.de +thinkboxsoftware.com +thinkdifferent.us +thinkofliving.com +thinkquarterly.co.uk +thinkquarterly.com +thinkwithgoogle.com +thisav.com +thisismoney.co.uk +thisispolaris.com +thismon.ee +thisvid.com +thisvidscat.net +thomsonreuters.ca +thomsonreuters.cn +thomsonreuters.co.jp +thomsonreuters.co.kr +thomsonreuters.co.nz +thomsonreuters.co.uk +thomsonreuters.com +thomsonreuters.com.ar +thomsonreuters.com.au +thomsonreuters.com.br +thomsonreuters.com.hk +thomsonreuters.com.my +thomsonreuters.com.pe +thomsonreuters.com.sg +thomsonreuters.com.tr +thomsonreuters.es +thomsonreuters.in +thomsonreuters.ru +thomsonreutersmexico.com +thtmod1.com +thunderbird.net +thunderbolttechnology.net +tiberiumalliances.com +tiburon.com +tickdata.com +tictoc.video +tidal.com +tidalhifi.com +tidelift.com +tiendabestbuy.com +tiktok.com +tiktokcdn.com +tiktokv.com +tiltbrush.com +time.gov +timelinestoryteller.com +timesmembership.com +timestalks.com +tinyurl.com +tiresplus.com +titanfall.com +tkb008.xyz +tmdb.org +tmsnrt.rs +tnntoday.com +tnt-ea.com +toget.com.tw +tokyo-sports.co.jp +tokyomotion.net +tomonews.net +tonec.com +toolforge.org +topbeatsbydrdreoutlet.com +topbeatsdealer.com +topbeatsforsale.com +toplayerserver.com +torcidadeouro.com +torproject.org +torrentkitty.tv +torrindex.net +tospo-keiba.jp +totalmateria.com +touchid.tv +touchid.wang +touchsmartpc.com +touchsmartpc.net +touchsmartpc.org +toutapp.com +towerauction.com +townsvillebulletin.com.au +tr.com +tracking-location.com +tradevip1.com +trafficmanager.net +translatetheweb.com +translatewiki.net +translatewiki.org +travelcontroller.com +travelex.be +travelex.bh +travelex.ca +travelex.co.in +travelex.co.jp +travelex.co.nz +travelex.co.uk +travelex.com +travelex.com.au +travelex.com.hk +travelex.com.my +travelex.com.om +travelex.com.tr +travelex.de +travelex.fr +travelex.it +travelex.qa +travelexae.com +travelexch.com +travelexmoneycard.com +trello.com +trellocdn.com +tribler.org +tristatebmw.com +trithucvn.net +trithucvn.org +trmini.com +troisrivieresmini.com +truedepth3d.com +trustdoc.ch +trustedanalytics.com +trustedanalytics.net +trustsign.ch +trustwave.com +trycloudflare.com +trydurex.net +trydurex.tv +tryengineering.org +tryfunctions.com +tryrating.com +ts.la +tsquare.tv +tssp.best +tteshop.com +ttvnw.net +tube4world.com +tube8.com +tubesafari.com +tubetubetube.com +tug.org +tumblr.com +tunsafe.com +tuta.io +tutanota.com +tvappstore.net +tvb.com +tvb.com.au +tvbanywhere.com +tvbanywhere.com.sg +tvbeventpower.com.hk +tvbs.com.tw +tvbusa.com +tvbweekly.com +tver.co.jp +tver.jp +tvmedia.net.au +tvmost.com.hk +tvnaviweb.jp +tvpromise.com +tweetdeck.com +twgreatnews.com +twimg.com +twinprime.com +twister.net.co +twitch.tv +twitchcdn.net +twitchsvc.net +twitpic.com +twitter.com +twitter.jp +twitterinc.com +twitteroauth.com +twitterstat.us +twnextdigital.com +twtrdns.net +twttr.com +tx.me +txcloud.net +txdirectv.com +txvia.com +typeisbeautiful.com +typekit.com +typekit.net +typenetwork.com +typesquare.com +typography.com +u.nu +uber-assets.com +uber.com +ubereats.com +ubi.com +ubisoft-orbit-savegames.s3.amazonaws.com +ubisoft-uplay-savegames.s3.amazonaws.com +ubisoft.com +ubisoftconnect.com +ubistatic3-a.akamaihd.net +ubnw.net +ubuntu-touch.io +ubuntu.com +ubuntu.net +ubuntuforums.org +uchicago.edu +ucla.edu +udacity.com +udemy.com +udemycdn.com +udfs.com +udn.com +udn.com.tw +udndata.com +udnfunlife.com +udtrucksmeena.com +ueberamazon.de +uhub.com +ukipad.com +ukwhoswho.com +ulifestyle.com.hk +ulol.com +ulrichsweb.serialssolutions.com +ultimaforever.com +ultimaonline.com +umagazine.com.hk +umamusume.akamaized.net +umass.edu +un.org +unbrandedproducts.com +underlords.com +unfiltered.news +unity.com +unity3d.com +unityads.unity3d.com +unityads.unitychina.cn +universalorlando.com +universalpictures.com +universalpicturesinternational.com +universalstudioshollywood.com +universitypressscholarship.com +unlocklimitlesslearning.com +unpkg.com +unravel2.com +unraveltwo.com +unrealengine.com +unrealtournament.com +unstyle.us +unwire.hk +uo.com +uoherald.com +upjav.cc +uplay.com +uplinq.com +uplynk.com +upmedia.mg +uproxy.org +urchin.com +urduvoa.com +usa-beatsbydreheadphonesonsale.net +usatoday.com +usatodaynetworkservice.com +useplannr.com +userapi.com +usercontent.dev +userpxt.io +usertrust.com +usvimosquito.com +usvimosquitoproject.com +uug22.com +uug23.com +uug25.com +uug26.com +uug27.com +uuk28.com +uun78.com +uun79.com +uun82.com +uun83.com +uun85.com +uun86.com +uun87.com +uun89.com +uun92.com +uun93.com +uun95.com +uun96.com +uun97.com +uun98.com +uun99.com +uux68.com +uverse.com +uwpcommunitytoolkit.com +v-has.com +v.gd +v2ex.com +v2fly.org +v2ray.com +v2ray.cool +v8.dev +v8project.org +vaginacontest.com +vagrantcloud.com +vagrantup.com +valuegb.com +valvesoftware.com +vancouverbmwretailers.ca +vanish.at +vanish.be +vanish.ch +vanish.cl +vanish.co.id +vanish.co.il +vanish.co.in +vanish.co.nz +vanish.co.uk +vanish.co.za +vanish.com.ar +vanish.com.br +vanish.com.co +vanish.com.hr +vanish.com.mx +vanish.com.my +vanish.com.pe +vanish.com.sg +vanish.com.tr +vanish.de +vanish.dk +vanish.es +vanish.fi +vanish.fr +vanish.hu +vanish.ie +vanish.it +vanish.nl +vanish.no +vanish.pl +vanish.pt +vanish.ro +vanish.ru +vanish.se +vanish.si +vanish.sk +vanisharabia.com +vanishbancaseulook.com.br +vanishcentroamerica.com +vanishinfo.cz +vanishstains.com +vanishstains.com.au +vanitaonline.com +vanitha.in +vanithaveedu.com +vaultify.com +vaultify.info +vaultify.net +vaultproject.io +vcanedge.com +vcloudair.net +vct.news +vector.im +veet.at +veet.be +veet.ca +veet.ch +veet.cl +veet.co.id +veet.co.in +veet.co.kr +veet.co.nz +veet.co.uk +veet.co.za +veet.com +veet.com.ar +veet.com.au +veet.com.bd +veet.com.br +veet.com.co +veet.com.hk +veet.com.mx +veet.com.my +veet.com.ph +veet.com.pk +veet.com.sg +veet.com.tr +veet.de +veet.dk +veet.es +veet.fi +veet.fr +veet.hu +veet.jp +veet.nl +veet.no +veet.pt +veet.ro +veet.ru +veet.se +veet.tv +veet.us +veetarabia.com +veetbangladesh.com +veetcentroamerica.com +veetclub.it +velkaepocha.cz +velocloud.com +velostrata.com +vendu.com +venmo-touch.com +venmo.com +venmo.info +venmo.net +venmo.org +venmo.s3.amazonaws.com +vercel-dns.com +vercel-status.com +vercel.app +vercel.com +verily.com +verilylifesciences.com +verilystudyhub.com +verilystudywatch.com +verilystudywatch.org +verisign.asia +verisign.biz +verisign.ch +verisign.co.in +verisign.co.uk +verisign.com +verisign.com.au +verisign.com.br +verisign.com.cn +verisign.com.es +verisign.com.hk +verisign.com.sg +verisign.com.tw +verisign.com.vn +verisign.de +verisign.dk +verisign.es +verisign.fr +verisign.hk +verisign.in +verisign.info +verisign.jobs +verisign.mobi +verisign.name +verisign.net +verisign.org +verisign.pro +verisign.se +verisign.sg +verisign.tw +verisign.us +verisign.vn +verisigninc.com +verizon.com +verizon.net +verizonbusinessfios.com +verizondigitalmedia.com +verizonenterprise.com +verizonfios.com +verizonmedia.com +verizonwireless.com +versly.com +verygoodnike.com +veryshortintroductions.com +vfabric.net +vfsco.at +vfsco.be +vfsco.bg +vfsco.ca +vfsco.ch +vfsco.cl +vfsco.co.uk +vfsco.co.za +vfsco.com +vfsco.com.au +vfsco.com.br +vfsco.com.tr +vfsco.cz +vfsco.de +vfsco.dk +vfsco.ee +vfsco.es +vfsco.fi +vfsco.fr +vfsco.hu +vfsco.ie +vfsco.in +vfsco.it +vfsco.jp +vfsco.kr +vfsco.lt +vfsco.lv +vfsco.mx +vfsco.nl +vfsco.no +vfsco.pe +vfsco.pl +vfsco.ro +vfsco.ru +vfsco.se +vfsco.sk +vfsco.us +vfsforgit.com +vfsforgit.org +vgcareers.net +vgg8.com +vhx.tv +vhxqa1.com +vhxqa2.com +vhxqa3.com +vhxqa4.com +vhxqa6.com +viacbs.com +viacom.com +viacomcbs.com +viacomcbspressexpress.com +videobreakdown.com +videochampion.com +videodelivery.net +videoindexer.ai +videojs.com +videolan.org +videopress.com +videos-rockstargames-com.akamaized.net +vidmpreview.com +viewpointsfromfacebook.com +vilavpn.com +vilavpn.xyz +vilavpn1.xyz +vilavpn2.xyz +vilavpn3.xyz +vilavpn4.xyz +vilavpn5.xyz +vilavpn6.xyz +vilavpn7.xyz +vim.org +vimeo-staging.com +vimeo-staging2.com +vimeo.com +vimeo.fr +vimeobusiness.com +vimeocdn.com +vimeogoods.com +vimeoondemand.com +vimeostatus.com +vine.co +vip-beats.com +vipbeatsbydre.com +vipheadphones.com +vipoo.es +vipshoes2.com +virsto.com +virsto.net +virtualearth.net +virtuata.com +visa-atm.com +visa-news.jp +visa.be +visa.ca +visa.cl +visa.co.ao +visa.co.cr +visa.co.id +visa.co.il +visa.co.in +visa.co.jp +visa.co.ke +visa.co.ni +visa.co.nz +visa.co.th +visa.co.uk +visa.co.ve +visa.co.za +visa.com +visa.com.ag +visa.com.ai +visa.com.ar +visa.com.au +visa.com.az +visa.com.bo +visa.com.br +visa.com.bs +visa.com.bz +visa.com.co +visa.com.cy +visa.com.dm +visa.com.do +visa.com.ec +visa.com.ge +visa.com.gt +visa.com.gy +visa.com.hk +visa.com.hn +visa.com.hr +visa.com.jm +visa.com.kh +visa.com.kn +visa.com.kz +visa.com.lc +visa.com.lk +visa.com.ms +visa.com.mx +visa.com.my +visa.com.ng +visa.com.pa +visa.com.pe +visa.com.ph +visa.com.pr +visa.com.py +visa.com.ru +visa.com.sg +visa.com.sv +visa.com.tr +visa.com.tt +visa.com.tw +visa.com.ua +visa.com.uy +visa.com.vc +visa.com.vi +visa.com.vn +visa.cz +visa.de +visa.dk +visa.es +visa.fi +visa.fr +visa.gd +visa.gp +visa.gr +visa.hk +visa.hu +visa.ie +visa.is +visa.ky +visa.lt +visa.lv +visa.mn +visa.mq +visa.nl +visa.no +visa.pl +visa.pt +visa.ro +visa.se +visa.sk +visa.so +visa.sx +visa.tc +visabank.org +visabg.com +visabusinessinsights.com +visacarddesignlab.com +visacards.com +visacheckout.net +visacheckout.org +visaconciergelac.com +visadigital.com +visadigitalconcierge.com +visadns.com +visadpsonline.us +visaeurope.at +visaeurope.ch +visaeurope.lu +visaeurope.si +visaeverywhereshop.com +visafintechfasttrack.com +visafulfillment.com +visagiftcard.us +visaglobalfinance.com +visaicsdirect.com +visainfinite.ca +visainfiniteluxuryhotels.ca +visaitalia.com +visakorea.com +visaluxuryhotelcollection.com +visaluxuryhotelcollection.com.br +visaluxuryhotelcollection.com.mx +visaluxuryhotels.com +visaluxuryhotels.com.ar +visamiddleeast.com +visanet.net +visapcsdirect.com +visaplus.com +visasavingsedge.ca +visasignature.co.kr +visasignaturehotels.com +visasoutheasteurope.com +visb.org +visceralgames.com +visiontimes.com +visiontimes.de +visiontimes.fr +visiontimes.it +visiontimes.net +visiontimesjp.com +visual-arts.jp +visualarts.gr.jp +visualstudio-staging.com +visualstudio.co +visualstudio.co.uk +visualstudio.com +visualstudio.eu +visualstudio.net +viu.com +viu.tv +vjav.com +vjmedia.com.hk +vk-cdn.me +vk-cdn.net +vk-portal.net +vk.cc +vk.com +vk.design +vk.link +vk.me +vkcache.com +vkgo.app +vklive.app +vkmessenger.app +vkmessenger.com +vkontakte.ru +vkuseraudio.com +vkuserlive.net +vkuservideo.com +vkuservideo.net +vmglobal.net +vmmark.com +vmtestdrive.com +vmw.com +vmware-cloudmanagement.com +vmware-techcenter.com +vmware.com +vmware.tt.omtrdc.net +vmware20mosaic.com +vmwareausnews.com +vmwarecertificationvideos.com +vmwarecloud.com +vmwaredemandcenter.com +vmwareemeablog.com +vmwaregrid.com +vmwarehorizon.com +vmwareidentity.com +vmwarelearning.com +vmwarelearningplatform.com +vmwarestuff.com +vmwareusergroupstore.com +vmwareviewpoint.com +vmwarevmc.com +vmwdemo.com +vmwgcomms.com +vmwhorizonair.com +vmwidm-ads.com +vmwidm.com +vmwlabconnect.com +vmwlearningplatform.com +vmworld.com +vmworld2010.com +vmworld2013.com +vmwsalesrewards.com +vmwservices.com +vnware.net +voa.gov +voaafaanoromoo.com +voaafrique.com +voabambara.com +voabangla.com +voacambodia.com +voacantonese.com +voachinese.com +voadeewanews.com +voadeewaradio.com +voahausa.com +voaindonesia.com +voakorea.com +voalingala.com +voandebele.com +voanews.com +voanews.eu +voanoticias.com +voanouvel.com +voaportugues.com +voashona.com +voasomali.com +voaswahili.com +voathai.com +voatibetan.com +voatibetanenglish.com +voatiengviet.com +voatour.com +voazimbabwe.com +vod-abematv.akamaized.net +vod-dash-uk-live.akamaized.net +vod-dash-ww-live.akamaized.net +vod-hls-uk-live.akamaized.net +vod-sub-uk-live.akamaized.net +vod-thumb-uk-live.akamaized.net +vod-thumb-ww-live.akamaized.net +vod360.net +vokevr.com +volvo-truck.nl +volvo.ca +volvo.com +volvo.se +volvobrandshop.com +volvobuses.at +volvobuses.be +volvobuses.ca +volvobuses.ch +volvobuses.co +volvobuses.co.nz +volvobuses.co.uk +volvobuses.co.za +volvobuses.com +volvobuses.com.ar +volvobuses.com.au +volvobuses.com.br +volvobuses.com.kw +volvobuses.com.pt +volvobuses.com.tw +volvobuses.de +volvobuses.dk +volvobuses.es +volvobuses.fi +volvobuses.fr +volvobuses.hk +volvobuses.hu +volvobuses.in +volvobuses.it +volvobuses.jo +volvobuses.kr +volvobuses.ma +volvobuses.mx +volvobuses.my +volvobuses.no +volvobuses.om +volvobuses.ph +volvobuses.pk +volvobuses.pl +volvobuses.ru +volvobuses.se +volvobuses.sg +volvobuses.tn +volvobuses.us +volvoce.com +volvodefense.com +volvogroup.be +volvogroup.com +volvogroup.com.br +volvogroup.de +volvogroup.fr +volvogroup.jp +volvogroup.kr +volvogroup.mx +volvogroup.nl +volvogroup.pe +volvogroup.pl +volvogroup.ru +volvogroup.se +volvogrouptruckcenter.nl +volvomerchandise.com +volvopenta.com +volvopenta.com.br +volvopenta.de +volvopenta.es +volvopenta.fr +volvopenta.it +volvopenta.nl +volvopenta.se +volvopenta.us +volvosaatio.fi +volvospares.com +volvotruckcenter.be +volvotruckcenter.dk +volvotruckcenter.es +volvotruckcenter.fi +volvotruckcenter.it +volvotruckcenter.kr +volvotruckcenter.kz +volvotruckcenter.nl +volvotruckcenter.no +volvotruckcenter.se +volvotruckrental.be +volvotrucks.ae +volvotrucks.al +volvotrucks.am +volvotrucks.at +volvotrucks.az +volvotrucks.ba +volvotrucks.be +volvotrucks.bg +volvotrucks.by +volvotrucks.ch +volvotrucks.cl +volvotrucks.co.ao +volvotrucks.co.bw +volvotrucks.co.il +volvotrucks.co.mz +volvotrucks.co.na +volvotrucks.co.nz +volvotrucks.co.uk +volvotrucks.co.za +volvotrucks.co.zm +volvotrucks.co.zw +volvotrucks.com +volvotrucks.com.ar +volvotrucks.com.au +volvotrucks.com.bn +volvotrucks.com.br +volvotrucks.com.co +volvotrucks.com.kw +volvotrucks.com.pt +volvotrucks.com.tr +volvotrucks.com.tw +volvotrucks.com.ua +volvotrucks.cz +volvotrucks.de +volvotrucks.dk +volvotrucks.ee +volvotrucks.es +volvotrucks.fi +volvotrucks.fr +volvotrucks.ge +volvotrucks.gr +volvotrucks.hk +volvotrucks.hr +volvotrucks.hu +volvotrucks.id +volvotrucks.in +volvotrucks.it +volvotrucks.jp +volvotrucks.kg +volvotrucks.kr +volvotrucks.kz +volvotrucks.lt +volvotrucks.lv +volvotrucks.ma +volvotrucks.md +volvotrucks.mk +volvotrucks.mn +volvotrucks.my +volvotrucks.net +volvotrucks.nl +volvotrucks.no +volvotrucks.pe +volvotrucks.ph +volvotrucks.pk +volvotrucks.pl +volvotrucks.ps +volvotrucks.qa +volvotrucks.ro +volvotrucks.rs +volvotrucks.ru +volvotrucks.se +volvotrucks.sg +volvotrucks.si +volvotrucks.sk +volvotrucks.tm +volvotrucks.tn +volvotrucks.uy +votolia.com +vox-cdn.com +vox.com +voxcreative.com +voxfieldguide.com +voxmedia.com +voxops.net +vpro.com +vpro.net +vrv.co +vsallin.net +vsassets.io +vscode.dev +vsphere.com +vsphere.net +vtsociety.org +vtvan.com +vultr.com +vuvuzela.io +vzw.com +w.org +w.wiki +w3.org +w3schools.com +wa.me +waa.tw +wal-mart.com +wal.co +wallet.com +walmart-content.com +walmart.com +walmart.pharmacy +walmartimages.com +wanokokorosoh.com +want-media.com +wantblogger.com +wariolandshakeit.com +wariowarediy.com +warp.plus +warroom.org +wasdj.com +washingtondcbmw.com +washingtonpost.com +watch-ebay.org +watchanimeattheoffice.com +watchdisneyfe.com +watchespn.com +watchinese.com +watchjavonline.com +watchout.tw +water-and-power.com +waymo.com +waze.com +wballiance.com +wbd.ms +wd.com +wdc.com +wdfiles.com +wealth.com.tw +weareebay.com +web-instagram.net +web.app +web.dev +webappfieldguide.com +webex.ca +webex.co.in +webex.co.it +webex.co.jp +webex.co.kr +webex.co.nz +webex.co.uk +webex.com +webex.com.au +webex.com.br +webex.com.hk +webex.com.mx +webex.de +webex.es +webex.fr +webflow.com +webhosting.com +webkit.org +webkitgtk.org +webmoneyinfo.com +webmproject.org +webobjects.co.uk +webobjects.com +webobjects.de +webobjects.eu +webobjects.net +webofknowledge.com +webofscience.com +webpkgcache.com +webrtc.org +webtoons.com +webtype.com +weekly-economist.com +weeklytimesnow.com.au +weinvoiceit.com +weiyuksj.com +welcometobestbuy.ca +weltweitwachsen.de +wenzhao.ca +westerndigital.com +westlaw.com +weverse.io +wfm.com +what-fan.net +whatbrowser.org +whatisairwatch.com +whatisworkspaceone.com +whatsapp-plus.info +whatsapp-plus.me +whatsapp-plus.net +whatsapp.cc +whatsapp.com +whatsapp.info +whatsapp.net +whatsapp.org +whatsapp.tv +whatsappbrand.com +whatthefox.com +wheelpop.com +wheelworks.net +whereilive.com.au +whimn.com.au +whisolutions.com +whispersystems.org +who.int +wholecitiesfoundation.org +wholefoods.com +wholefoodsmarket.co.uk +wholefoodsmarket.com +wholekidsfoundation.org +wholeplanetfoundation.org +wholesale-exporter1.com +wholesalediscountpurses.com +wholesalefine.com +wholesaleonlinemart.com +whonix.org +whosthehost.com +whychoosehorizon.com +whychooseview.com +whychoosevmwareeuc.com +whyfacebook.com +whyiwantciscotelepresence.com +widevine.com +widgets.stripst.com +wifi-mx.com +wii-u.com +wiifit.com +wiifitu.com +wiipartyu.com +wiisports.com +wiisportsresort.com +wiiugamepad.com +wiivc.net +wikia.com +wikia.nocookie.net +wikia.org +wikibooks.org +wikidata.org +wikidot.com +wikihow.com +wikileaks.org +wikimedia.org +wikimediacloud.org +wikimediafoundation.org +wikinews.org +wikipedia.org +wikiquote.org +wikisource.org +wikiversity.org +wikivoyage.org +wiktionary.org +wiley.com +wimpmusic.com +windows-int.net +windows.com +windows.net +windows.nl +windows8.hk +windowsazure.com +windowscommunity.net +windowsmarketplace.com +windowsphone-int.com +windowsphone.com +windowssearch.com +windowsuem.com +windowsupdate.com +windy.com +winhec.com +winhec.net +winticket.jp +winudf.com +wionews.com +wipower.com +wireguard.com +wireless.radio +wirelessgroup.co.uk +wirelessreach.com +wiremoneytoirelandwithxoomeasierandcheaper.com +wireshark.org +wise-research.com +wish.com +withgoogle.com +withyoutube.com +wix-code.com +wix.com +wixanswers.com +wixapps.net +wixmp.com +wixsite.com +wixstatic.com +wkap.nl +wmcloud.org +wmflabs.org +wmfusercontent.org +wmt.co +wofl.tv +woflthenewsstation.com +wogx.com +wolfatbestbuy.com +wolfatbestbuy.net +wolterskluwer.com +womensnikeshox.com +womenwill.com +womenwill.com.br +womenwill.id +womenwill.in +womenwill.mx +woolite.ca +woolite.com +woolite.pl +woolite.us +woolitecarpet.com +wordpress.com +wordpress.org +wordpress.tv +workers.dev +workplace.com +workplaceusecases.com +workspaceair.com +workspaceone.com +workstations.tv +worldcoinpay.com +worldcurrencycard.co.za +worldemojiawards.com +worldemojiday.com +worldflipper.akamaized.net +worldflipper.jp +worldhack.com +worldofwarcraft.com +worldscientific.com +worldsecureemail.com +worldsecuresystems.com +worldsfastestgamer.net +wp-themes.com +wp.com +wpewebkit.org +wpvip.com +wrds-www.wharton.upenn.edu +wrenchead.com +wsj.com +wsj.jobs +wsj.net +wsjbarrons.com +wsjmediakit.com +wsjplus.com +wsjshop.com +wsjwine.com +wto.org +wuso.me +wwapple.net +wwe.com +wwe9.com +wwtbam.com +www-bestbuystores.com +www-cdn.icloud.com.akadns.net +www-facebook.com +www-paypal.info +www-paypal.us +www.sb +www8-hp.com +wwwapple.net +wwwapplemusic.com +wwwdecide.com +wwwebay.com +wwwebay.net +wwwfacebok.com +wwwfacebook.com +wwwhuluplus.com +wwwicloud.com +wwwinstagram.com +wwwipodlounge.com +wwwitunes.com +wwwmacbookair.com +wwwmfacebook.com +wwwpaypass.com +wwwwebay.com +wwwxoom.com +wzmyg.com +x-art.com +x.co +x.com +x.company +x.org +x.team +x1337x.eu +x1337x.se +x1337x.ws +x18r.com +x99av.com +xamarin.com +xandr.com +xbox.co +xbox.com +xbox.eu +xbox.org +xbox360.co +xbox360.com +xbox360.eu +xbox360.org +xboxab.com +xboxgamepass.com +xboxgamestudios.com +xboxlive.com +xboxone.co +xboxone.com +xboxone.eu +xboxplayanywhere.com +xboxstudios.com +xbx.lv +xda-cdn.com +xda-developers.com +xdsummit.com +xdty.org +xenoblade.com +xeon.com +xhamster.com +xhamsterlive.com +xhcdn.com +xindelu.com +xingrz.me +xlstudio.com +xn--3et96bj49ahpq.com +xn--4vq475g.com +xn--4vq477m.com +xn--6eup7j.com +xn--6eup7j.net +xn--74q035i.xn--hxt814e +xn--7hv594h.com +xn--90wwvt03e.com +xn--9kr7l.com +xn--9trs65b.com +xn--czrs0t4phtr3a.cn +xn--d1acpjx3f.xn--p1ai +xn--d4ty0ojsqzfd.com +xn--fiqs8sxootzz.cn +xn--fiqs8sxootzz.xn--hxt814e +xn--flw351e.com +xn--ggle-55da.com +xn--gogl-0nd52e.com +xn--gogl-1nd42e.com +xn--gtvq61aiijy0b.xn--hxt814e +xn--gtvz22d.wang +xn--gtvz22d.xn--hxt814e +xn--hb4aw0g.com +xn--hxtr4rozx.xn--czr694b +xn--kput3imi374g.xn--hxt814e +xn--mts47c3w9b1qr.net +xn--ngstr-lra8j.com +xn--p8j9a0d9c9a.xn--q9jyb4c +xn--pearsonenespaol-brb.com +xn--q41am8x.com +xn--qhrx81fxh2a.xn--55qx5d.hk +xn--qoq462m.com +xn--ruq8a011kt6y.xn--hxt814e +xn--tkry91n.com +xn--ubt498knmf.com +xn--xsq421m.com +xn--xsq605n.com +xn--xsq959n.com +xn--yf1at58a.com +xn--yt8h.la +xn--ztsq84g.cn +xnxx-cdn.com +xnxx.com +xo.com +xo104.com +xoom-experience.com +xoom.com +xoom.io +xoom.us +xoomcom.com +xplr.co +xposed.info +xsava.xyz +xscale.com +xtube.com +xuite.net +xvideos-cdn.com +xvideos.com +xxbay.com +xxx.xxx +ya.ru +yahoo-news.com.hk +yahoo.ae +yahoo.am +yahoo.as +yahoo.at +yahoo.az +yahoo.ba +yahoo.be +yahoo.bg +yahoo.bi +yahoo.bs +yahoo.bt +yahoo.by +yahoo.ca +yahoo.cat +yahoo.cd +yahoo.cg +yahoo.ch +yahoo.cl +yahoo.cm +yahoo.co.ao +yahoo.co.bw +yahoo.co.ck +yahoo.co.cr +yahoo.co.id +yahoo.co.il +yahoo.co.in +yahoo.co.jp +yahoo.co.kr +yahoo.co.mz +yahoo.co.nz +yahoo.co.th +yahoo.co.tz +yahoo.co.uk +yahoo.co.uz +yahoo.co.ve +yahoo.co.vi +yahoo.co.za +yahoo.com +yahoo.com.af +yahoo.com.ag +yahoo.com.ai +yahoo.com.ar +yahoo.com.au +yahoo.com.bd +yahoo.com.bo +yahoo.com.br +yahoo.com.bz +yahoo.com.co +yahoo.com.do +yahoo.com.ec +yahoo.com.eg +yahoo.com.es +yahoo.com.fj +yahoo.com.gi +yahoo.com.gt +yahoo.com.hk +yahoo.com.kw +yahoo.com.lb +yahoo.com.ly +yahoo.com.mt +yahoo.com.mx +yahoo.com.my +yahoo.com.na +yahoo.com.nf +yahoo.com.om +yahoo.com.pa +yahoo.com.pe +yahoo.com.ph +yahoo.com.pk +yahoo.com.pr +yahoo.com.py +yahoo.com.sa +yahoo.com.sb +yahoo.com.sg +yahoo.com.sv +yahoo.com.tj +yahoo.com.tr +yahoo.com.tw +yahoo.com.ua +yahoo.com.uy +yahoo.com.vc +yahoo.com.vn +yahoo.cz +yahoo.de +yahoo.dj +yahoo.dk +yahoo.dm +yahoo.ee +yahoo.es +yahoo.fi +yahoo.fm +yahoo.fr +yahoo.ge +yahoo.gg +yahoo.gl +yahoo.gm +yahoo.gp +yahoo.gr +yahoo.gy +yahoo.hk +yahoo.hr +yahoo.hu +yahoo.ie +yahoo.im +yahoo.in +yahoo.is +yahoo.it +yahoo.je +yahoo.jo +yahoo.la +yahoo.lt +yahoo.lu +yahoo.lv +yahoo.md +yahoo.me +yahoo.mk +yahoo.mw +yahoo.mx +yahoo.net +yahoo.nl +yahoo.no +yahoo.nu +yahoo.ph +yahoo.pl +yahoo.pn +yahoo.ps +yahoo.pt +yahoo.ro +yahoo.ru +yahoo.rw +yahoo.se +yahoo.sg +yahoo.sh +yahoo.si +yahoo.sk +yahoo.sm +yahoo.sn +yahoo.so +yahoo.sr +yahoo.st +yahoo.tg +yahoo.tk +yahoo.tl +yahoo.tm +yahoo.tn +yahoo.vg +yahoo.ws +yahooapis.com +yahoodns.net +yahoofinance.com +yahoohealth.com +yahoomusic.com +yahoosportsbook.com +yale.edu +yamaxun.com +yammer.com +yande.re +yandex.aero +yandex.az +yandex.by +yandex.co.il +yandex.com +yandex.com.am +yandex.com.ge +yandex.com.ru +yandex.com.tr +yandex.com.ua +yandex.de +yandex.ee +yandex.eu +yandex.fi +yandex.fr +yandex.jobs +yandex.kg +yandex.kz +yandex.lt +yandex.lv +yandex.md +yandex.net +yandex.org +yandex.pl +yandex.ru +yandex.st +yandex.sx +yandex.tj +yandex.tm +yandex.ua +yandex.uz +yandexcloud.net +yarininsuyu.com +yarnpkg.com +yastatic.net +ycombinator.com +ydn.com.tw +yes123.com.tw +yho.com +yibei.org +yimg.com +yimg.jp +yiqiedoushiganggangkaishi.org +yjcontentdelivery.com +ymail.com +ync.ne.jp +yo1health.com +yogalayout.com +yogify.com +yomikyo.or.jp +yomilogi.com +yomiuri-johkai.co.jp +yomiuri-ryokou.co.jp +yomiuri-shimbun.pressreader.com +yomiuri-systec.co.jp +yomiuri.co.jp +yoshisnewisland.com +youav.com +youjizz.com +youlucky.com +youporn.com +yourfantasybeginsnow.com +yourmonsterbeats.com +yours-customised.mini.com +yourtv.com.au +youtu.be +youtube-nocookie.com +youtube-ui.l.google.com +youtube.ae +youtube.al +youtube.am +youtube.at +youtube.az +youtube.ba +youtube.be +youtube.bg +youtube.bh +youtube.bo +youtube.by +youtube.ca +youtube.cat +youtube.ch +youtube.cl +youtube.co +youtube.co.ae +youtube.co.at +youtube.co.cr +youtube.co.hu +youtube.co.id +youtube.co.il +youtube.co.in +youtube.co.jp +youtube.co.ke +youtube.co.kr +youtube.co.ma +youtube.co.nz +youtube.co.th +youtube.co.tz +youtube.co.ug +youtube.co.uk +youtube.co.ve +youtube.co.za +youtube.co.zw +youtube.com +youtube.com.ar +youtube.com.au +youtube.com.az +youtube.com.bd +youtube.com.bh +youtube.com.bo +youtube.com.br +youtube.com.by +youtube.com.co +youtube.com.do +youtube.com.ec +youtube.com.ee +youtube.com.eg +youtube.com.es +youtube.com.gh +youtube.com.gr +youtube.com.gt +youtube.com.hk +youtube.com.hn +youtube.com.hr +youtube.com.jm +youtube.com.jo +youtube.com.kw +youtube.com.lb +youtube.com.lv +youtube.com.ly +youtube.com.mk +youtube.com.mt +youtube.com.mx +youtube.com.my +youtube.com.ng +youtube.com.ni +youtube.com.om +youtube.com.pa +youtube.com.pe +youtube.com.ph +youtube.com.pk +youtube.com.pt +youtube.com.py +youtube.com.qa +youtube.com.ro +youtube.com.sa +youtube.com.sg +youtube.com.sv +youtube.com.tn +youtube.com.tr +youtube.com.tw +youtube.com.ua +youtube.com.uy +youtube.com.ve +youtube.cr +youtube.cz +youtube.de +youtube.dk +youtube.ee +youtube.es +youtube.fi +youtube.fr +youtube.ge +youtube.googleapis.com +youtube.gr +youtube.gt +youtube.hk +youtube.hr +youtube.hu +youtube.ie +youtube.in +youtube.iq +youtube.is +youtube.it +youtube.jo +youtube.jp +youtube.kr +youtube.kz +youtube.la +youtube.lk +youtube.lt +youtube.lu +youtube.lv +youtube.ly +youtube.ma +youtube.md +youtube.me +youtube.mk +youtube.mn +youtube.mx +youtube.my +youtube.ng +youtube.ni +youtube.nl +youtube.no +youtube.pa +youtube.pe +youtube.ph +youtube.pk +youtube.pl +youtube.pr +youtube.pt +youtube.qa +youtube.ro +youtube.rs +youtube.ru +youtube.sa +youtube.se +youtube.sg +youtube.si +youtube.sk +youtube.sn +youtube.soy +youtube.sv +youtube.tn +youtube.tv +youtube.ua +youtube.ug +youtube.uy +youtube.vn +youtubecisco.com +youtubeeducation.com +youtubeembeddedplayer.googleapis.com +youtubefanfest.com +youtubegaming.com +youtubego.co.id +youtubego.co.in +youtubego.com +youtubego.com.br +youtubego.id +youtubego.in +youtubei.googleapis.com +youtubekids.com +youtubemobilesupport.com +ysm.yahoo.com +yt.be +ytimg.com +yuanshen.com +yzzk.com +z5.app +z5.com +zakzak.co.jp +zaobao.com +zaobao.com.sg +zaobao.sg +zavat.pw +zb.app +zb.com +zb.io +zb.live +zdassets.com +zdusercontent.com +zee.com +zee5.com +zee5.in +zee5.tv +zeebioskop.com +zeebiz.com +zeeentertainment.com +zeenews-fonts.s3.amazonaws.com +zeenews.com +zeetv.co.uk +zeetv.com +zeeuk.com +zeit-world.co.uk +zeit-world.com +zeit-world.net +zeit-world.org +zeit.co +zeit.sh +zeitworld.com +zencdn.net +zencoder.com +zendesk.com +zenodo.org +zeplin.dev +zeplin.io +zeriamerikes.com +zerohedge.com +zeronet.io +zert.ch +zind.cloud +zndsk.com +zoho.com +zoho.com.au +zoho.eu +zoho.in +zohocdn.com +zohomeetups.com +zohomerchandise.com +zohopublic.com +zohoschools.com +zohostatic.com +zohostatic.in +zohouniversity.com +zohowebstatic.com +zoom.com +zoom.com.cn +zoom.us +zoomingin.tv +zopim.com +zsh.org +zuckerberg.com +zuckerberg.net +zukunftswerkstatt.de +zwtvusa.com diff --git a/luci-app-passwall/root/usr/share/passwall/rules/lanlist_ipv4 b/luci-app-passwall/root/usr/share/passwall/rules/lanlist_ipv4 new file mode 100644 index 00000000..3ccfd604 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/lanlist_ipv4 @@ -0,0 +1,9 @@ +0.0.0.0/8 +10.0.0.0/8 +100.64.0.0/10 +127.0.0.0/8 +169.254.0.0/16 +172.16.0.0/12 +192.168.0.0/16 +224.0.0.0/4 +240.0.0.0/4 \ No newline at end of file diff --git a/luci-app-passwall/root/usr/share/passwall/rules/lanlist_ipv6 b/luci-app-passwall/root/usr/share/passwall/rules/lanlist_ipv6 new file mode 100644 index 00000000..6ac03da5 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/lanlist_ipv6 @@ -0,0 +1,13 @@ +::/128 +::1/128 +::ffff:0:0/96 +::ffff:0:0:0/96 +64:ff9b::/96 +100::/64 +2001::/32 +2001:20::/28 +2001:db8::/32 +2002::/16 +fc00::/7 +fe80::/10 +ff00::/8 \ No newline at end of file diff --git a/luci-app-passwall/root/usr/share/passwall/rules/proxy_host b/luci-app-passwall/root/usr/share/passwall/rules/proxy_host new file mode 100644 index 00000000..fc64a1a0 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/proxy_host @@ -0,0 +1,14 @@ +bing.com +sspanel.net +v2ex.com + +#google +googleapis.cn +googleapis.com +google.com.tw +google.com.hk +gstatic.com +xn--ngstr-lra8j.com + +#github +github.com diff --git a/luci-app-passwall/root/usr/share/passwall/rules/proxy_ip b/luci-app-passwall/root/usr/share/passwall/rules/proxy_ip new file mode 100644 index 00000000..39be0de2 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/rules/proxy_ip @@ -0,0 +1,19 @@ +149.154.160.0/20 +91.108.4.0/22 +91.108.56.0/24 +109.239.140.0/24 +67.198.55.0/24 +8.8.4.4 +8.8.8.8 +208.67.222.222 +208.67.220.220 +1.1.1.1 +1.1.1.2 +1.0.0.1 +9.9.9.9 +149.112.112.112 +2001:67c:4e8::/48 +2001:b28:f23c::/48 +2001:b28:f23d::/48 +2001:b28:f23f::/48 +2001:b28:f242::/48 \ No newline at end of file diff --git a/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/luci-app-passwall/root/usr/share/passwall/subscribe.lua new file mode 100755 index 00000000..e7f52c37 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -0,0 +1,1226 @@ +#!/usr/bin/lua + +------------------------------------------------ +-- @author William Chan +------------------------------------------------ +require 'nixio' +require 'luci.model.uci' +require 'luci.util' +require 'luci.jsonc' +require 'luci.sys' +local appname = 'passwall' +local api = require ("luci.model.cbi." .. appname .. ".api.api") +local datatypes = require "luci.cbi.datatypes" + +-- these global functions are accessed all the time by the event handler +-- so caching them is worth the effort +local tinsert = table.insert +local ssub, slen, schar, sbyte, sformat, sgsub = string.sub, string.len, string.char, string.byte, string.format, string.gsub +local jsonParse, jsonStringify = luci.jsonc.parse, luci.jsonc.stringify +local base64Decode = api.base64Decode +local uci = luci.model.uci.cursor() +uci:revert(appname) + +local has_ss = api.is_finded("ss-redir") +local has_ss_rust = api.is_finded("sslocal") +local has_trojan_plus = api.is_finded("trojan-plus") +local has_v2ray = api.is_finded("v2ray") +local has_xray = api.is_finded("xray") +local has_trojan_go = api.is_finded("trojan-go") +local allowInsecure_default = true +local ss_aead_type_default = uci:get(appname, "@global_subscribe[0]", "ss_aead_type") or "shadowsocks-libev" +local trojan_type_default = uci:get(appname, "@global_subscribe[0]", "trojan_type") or "trojan-plus" +-- 判断是否过滤节点关键字 +local filter_keyword_mode_default = uci:get(appname, "@global_subscribe[0]", "filter_keyword_mode") or "0" +local filter_keyword_discard_list_default = uci:get(appname, "@global_subscribe[0]", "filter_discard_list") or {} +local filter_keyword_keep_list_default = uci:get(appname, "@global_subscribe[0]", "filter_keep_list") or {} +local function is_filter_keyword(value) + if filter_keyword_mode_default == "1" then + for k,v in ipairs(filter_keyword_discard_list_default) do + if value:find(v, 1, true) then + return true + end + end + elseif filter_keyword_mode_default == "2" then + local result = true + for k,v in ipairs(filter_keyword_keep_list_default) do + if value:find(v, 1, true) then + result = false + end + end + return result + elseif filter_keyword_mode_default == "3" then + local result = false + for k,v in ipairs(filter_keyword_discard_list_default) do + if value:find(v, 1, true) then + result = true + end + end + for k,v in ipairs(filter_keyword_keep_list_default) do + if value:find(v, 1, true) then + result = false + end + end + return result + elseif filter_keyword_mode_default == "4" then + local result = true + for k,v in ipairs(filter_keyword_keep_list_default) do + if value:find(v, 1, true) then + result = false + end + end + for k,v in ipairs(filter_keyword_discard_list_default) do + if value:find(v, 1, true) then + result = true + end + end + return result + end + return false +end + +local nodeResult = {} -- update result +local debug = false + +local log = function(...) + local result = os.date("%Y-%m-%d %H:%M:%S: ") .. table.concat({...}, " ") + if debug == true then + print(result) + else + local f, err = io.open("/tmp/log/" .. appname .. ".log", "a") + if f and err == nil then + f:write(result .. "\n") + f:close() + end + end +end + +-- 获取各项动态配置的当前服务器,可以用 get 和 set, get必须要获取到节点表 +local CONFIG = {} +do + local function import_config(protocol) + local name = string.upper(protocol) + local szType = "@global[0]" + local option = protocol .. "_node" + + local node_id = uci:get(appname, szType, option) + CONFIG[#CONFIG + 1] = { + log = true, + remarks = name .. "节点", + currentNode = node_id and uci:get_all(appname, node_id) or nil, + set = function(o, server) + uci:set(appname, szType, option, server) + o.newNodeId = server + end + } + end + import_config("tcp") + import_config("udp") + + if true then + local i = 0 + local option = "node" + uci:foreach(appname, "socks", function(t) + i = i + 1 + local node_id = t[option] + CONFIG[#CONFIG + 1] = { + log = true, + id = t[".name"], + remarks = "Socks节点列表[" .. i .. "]", + currentNode = node_id and uci:get_all(appname, node_id) or nil, + set = function(o, server) + uci:set(appname, t[".name"], option, server) + o.newNodeId = server + end + } + end) + end + + if true then + local i = 0 + local option = "lbss" + uci:foreach(appname, "haproxy_config", function(t) + i = i + 1 + local node_id = t[option] + CONFIG[#CONFIG + 1] = { + log = true, + id = t[".name"], + remarks = "HAProxy负载均衡节点列表[" .. i .. "]", + currentNode = node_id and uci:get_all(appname, node_id) or nil, + set = function(o, server) + uci:set(appname, t[".name"], option, server) + o.newNodeId = server + end + } + end) + end + + if true then + local i = 0 + local options = {"tcp", "udp"} + uci:foreach(appname, "acl_rule", function(t) + i = i + 1 + for index, value in ipairs(options) do + local option = value .. "_node" + local node_id = t[option] + CONFIG[#CONFIG + 1] = { + log = true, + id = t[".name"], + remarks = "访问控制列表[" .. i .. "]", + currentNode = node_id and uci:get_all(appname, node_id) or nil, + set = function(o, server) + uci:set(appname, t[".name"], option, server) + o.newNodeId = server + end + } + end + end) + end + + local tcp_node_table = uci:get(appname, "@auto_switch[0]", "tcp_node") + if tcp_node_table then + local nodes = {} + local new_nodes = {} + for k,node_id in ipairs(tcp_node_table) do + if node_id then + local currentNode = uci:get_all(appname, node_id) or nil + if currentNode then + if currentNode.protocol and (currentNode.protocol == "_balancing" or currentNode.protocol == "_shunt") then + currentNode = nil + end + nodes[#nodes + 1] = { + log = true, + remarks = "TCP备用节点的列表[" .. k .. "]", + currentNode = currentNode, + set = function(o, server) + for kk, vv in pairs(CONFIG) do + if (vv.remarks == "TCP备用节点的列表") then + table.insert(vv.new_nodes, server) + end + end + end + } + end + end + end + CONFIG[#CONFIG + 1] = { + remarks = "TCP备用节点的列表", + nodes = nodes, + new_nodes = new_nodes, + set = function(o) + for kk, vv in pairs(CONFIG) do + if (vv.remarks == "TCP备用节点的列表") then + --log("刷新自动切换的TCP备用节点的列表") + uci:set_list(appname, "@auto_switch[0]", "tcp_node", vv.new_nodes) + end + end + end + } + end + + uci:foreach(appname, "nodes", function(node) + if node.protocol and node.protocol == '_shunt' then + local node_id = node[".name"] + + local rules = {} + uci:foreach(appname, "shunt_rules", function(e) + if e[".name"] and e.remarks then + table.insert(rules, e) + end + end) + table.insert(rules, { + [".name"] = "default_node", + remarks = "默认" + }) + table.insert(rules, { + [".name"] = "main_node", + remarks = "默认前置" + }) + + for k, e in pairs(rules) do + local _node_id = node[e[".name"]] or nil + CONFIG[#CONFIG + 1] = { + log = false, + currentNode = _node_id and uci:get_all(appname, _node_id) or nil, + remarks = "分流" .. e.remarks .. "节点", + set = function(o, server) + uci:set(appname, node_id, e[".name"], server) + o.newNodeId = server + end + } + end + elseif node.protocol and node.protocol == '_balancing' then + local node_id = node[".name"] + local nodes = {} + local new_nodes = {} + if node.balancing_node then + for k, node in pairs(node.balancing_node) do + nodes[#nodes + 1] = { + log = false, + node = node, + currentNode = node and uci:get_all(appname, node) or nil, + remarks = node, + set = function(o, server) + for kk, vv in pairs(CONFIG) do + if (vv.remarks == "负载均衡节点列表" .. node_id) then + table.insert(vv.new_nodes, server) + end + end + end + } + end + end + CONFIG[#CONFIG + 1] = { + remarks = "负载均衡节点列表" .. node_id, + nodes = nodes, + new_nodes = new_nodes, + set = function(o) + for kk, vv in pairs(CONFIG) do + if (vv.remarks == "负载均衡节点列表" .. node_id) then + --log("刷新负载均衡节点列表") + uci:foreach(appname, "nodes", function(node2) + if node2[".name"] == node[".name"] then + local index = node2[".index"] + uci:set_list(appname, "@nodes[" .. index .. "]", "balancing_node", vv.new_nodes) + end + end) + end + end + end + } + end + end) + + for k, v in pairs(CONFIG) do + if v.nodes and type(v.nodes) == "table" then + for kk, vv in pairs(v.nodes) do + if vv.currentNode == nil then + CONFIG[k].nodes[kk] = nil + end + end + else + if v.currentNode == nil then + CONFIG[k] = nil + end + end + end +end + +-- 分割字符串 +local function split(full, sep) + if full then + full = full:gsub("%z", "") -- 这里不是很清楚 有时候结尾带个\0 + local off, result = 1, {} + while true do + local nStart, nEnd = full:find(sep, off) + if not nEnd then + local res = ssub(full, off, slen(full)) + if #res > 0 then -- 过滤掉 \0 + tinsert(result, res) + end + break + else + tinsert(result, ssub(full, off, nStart - 1)) + off = nEnd + 1 + end + end + return result + end + return {} +end +-- urlencode +-- local function get_urlencode(c) return sformat("%%%02X", sbyte(c)) end + +-- local function urlEncode(szText) +-- local str = szText:gsub("([^0-9a-zA-Z ])", get_urlencode) +-- str = str:gsub(" ", "+") +-- return str +-- end + +local function get_urldecode(h) return schar(tonumber(h, 16)) end +local function UrlDecode(szText) + return (szText and szText:gsub("+", " "):gsub("%%(%x%x)", get_urldecode)) or nil +end + +-- trim +local function trim(text) + if not text or text == "" then return "" end + return (sgsub(text, "^%s*(.-)%s*$", "%1")) +end + +-- 处理数据 +local function processData(szType, content, add_mode, add_from) + --log(content, add_mode, add_from) + local result = { + timeout = 60, + add_mode = add_mode, --0为手动配置,1为导入,2为订阅 + add_from = add_from + } + if szType == 'ssr' then + local dat = split(content, "/%?") + local hostInfo = split(dat[1], ':') + result.type = "SSR" + result.address = "" + for i=1,#hostInfo-5,1 do + result.address = result.address .. hostInfo[i] .. ":" + end + result.address = string.sub(result.address, 0, #result.address-1) + result.port = hostInfo[#hostInfo-4] + result.protocol = hostInfo[#hostInfo-3] + result.method = hostInfo[#hostInfo-2] + result.obfs = hostInfo[#hostInfo-1] + result.password = base64Decode(hostInfo[#hostInfo]) + local params = {} + for _, v in pairs(split(dat[2], '&')) do + local t = split(v, '=') + params[t[1]] = t[2] + end + result.obfs_param = base64Decode(params.obfsparam) + result.protocol_param = base64Decode(params.protoparam) + local group = base64Decode(params.group) + if group then result.group = group end + result.remarks = base64Decode(params.remarks) + elseif szType == 'vmess' then + local info = jsonParse(content) + if has_v2ray then + result.type = 'V2ray' + elseif has_xray then + result.type = 'Xray' + end + result.address = info.add + result.port = info.port + result.protocol = 'vmess' + result.uuid = info.id + result.remarks = info.ps + -- result.mux = 1 + -- result.mux_concurrency = 8 + info.net = string.lower(info.net) + if info.net == 'ws' then + result.ws_host = info.host + result.ws_path = info.path + end + if info.net == 'h2' then + result.h2_host = info.host + result.h2_path = info.path + end + if info.net == 'tcp' then + if info.type and info.type ~= "http" then + info.type = "none" + end + result.tcp_guise = info.type + result.tcp_guise_http_host = info.host + result.tcp_guise_http_path = info.path + end + if info.net == 'kcp' or info.net == 'mkcp' then + info.net = "mkcp" + result.mkcp_guise = info.type + result.mkcp_mtu = 1350 + result.mkcp_tti = 50 + result.mkcp_uplinkCapacity = 5 + result.mkcp_downlinkCapacity = 20 + result.mkcp_readBufferSize = 2 + result.mkcp_writeBufferSize = 2 + end + if info.net == 'quic' then + result.quic_guise = info.type + result.quic_key = info.key + result.quic_security = info.securty + end + if info.net == 'grpc' then + result.grpc_serviceName = info.path + end + result.transport = info.net + if not info.security then result.security = "auto" end + if info.tls == "tls" or info.tls == "1" then + result.tls = "1" + result.tls_serverName = (info.sni and info.sni ~= "") and info.sni or info.host + result.tls_allowInsecure = allowInsecure_default and "1" or "0" + else + result.tls = "0" + end + elseif szType == "ss" then + local idx_sp = 0 + local alias = "" + if content:find("#") then + idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + end + result.remarks = UrlDecode(alias) + local info = content:sub(1, idx_sp - 1) + local hostInfo = split(base64Decode(info), "@") + local hostInfoLen = #hostInfo + local host = nil + local userinfo = nil + if hostInfoLen > 2 then + host = split(hostInfo[hostInfoLen], ":") + userinfo = {} + for i = 1, hostInfoLen - 1 do + tinsert(userinfo, hostInfo[i]) + end + userinfo = table.concat(userinfo, '@') + else + host = split(hostInfo[2], ":") + userinfo = base64Decode(hostInfo[1]) + end + local method = userinfo:sub(1, userinfo:find(":") - 1) + local password = userinfo:sub(userinfo:find(":") + 1, #userinfo) + result.type = "SS" + result.address = host[1] + if host[2] and host[2]:find("/%?") then + local query = split(host[2], "/%?") + result.port = query[1] + local params = {} + for _, v in pairs(split(query[2], '&')) do + local t = split(v, '=') + params[t[1]] = t[2] + end + if params.plugin then + local plugin_info = UrlDecode(params.plugin) + local idx_pn = plugin_info:find(";") + if idx_pn then + result.plugin = plugin_info:sub(1, idx_pn - 1) + result.plugin_opts = + plugin_info:sub(idx_pn + 1, #plugin_info) + else + result.plugin = plugin_info + end + end + if result.plugin and result.plugin == "simple-obfs" then + result.plugin = "obfs-local" + end + else + result.port = host[2] + end + result.method = method + result.password = password + + local aead = false + for k, v in ipairs({"aes-128-gcm", "aes-256-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305"}) do + if method:lower() == v:lower() then + aead = true + end + end + if aead then + if ss_aead_type_default == "shadowsocks-libev" and has_ss then + result.type = "SS" + elseif ss_aead_type_default == "shadowsocks-rust" and has_ss_rust then + result.type = 'SS-Rust' + if method:lower() == "chacha20-poly1305" then + result.method = "chacha20-ietf-poly1305" + end + elseif ss_aead_type_default == "v2ray" and has_v2ray and not result.plugin then + result.type = 'V2ray' + result.protocol = 'shadowsocks' + result.transport = 'tcp' + if method:lower() == "chacha20-ietf-poly1305" then + result.method = "chacha20-poly1305" + end + elseif ss_aead_type_default == "xray" and has_xray and not result.plugin then + result.type = 'Xray' + result.protocol = 'shadowsocks' + result.transport = 'tcp' + if method:lower() == "chacha20-ietf-poly1305" then + result.method = "chacha20-poly1305" + end + end + end + elseif szType == "trojan" then + local alias = "" + if content:find("#") then + local idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + content = content:sub(0, idx_sp - 1) + end + result.remarks = UrlDecode(alias) + result.type = "Trojan-Plus" + if content:find("@") then + local Info = split(content, "@") + result.password = UrlDecode(Info[1]) + local port = "443" + Info[2] = (Info[2] or ""):gsub("/%?", "?") + local hostInfo = nil + if Info[2]:find(":") then + hostInfo = split(Info[2], ":") + result.address = hostInfo[1] + local idx_port = 2 + if hostInfo[2]:find("?") then + hostInfo = split(hostInfo[2], "?") + idx_port = 1 + end + if hostInfo[idx_port] ~= "" then port = hostInfo[idx_port] end + else + if Info[2]:find("?") then + hostInfo = split(Info[2], "?") + end + result.address = hostInfo and hostInfo[1] or Info[2] + end + local peer, sni = nil, "" + local allowInsecure = allowInsecure_default + local query = split(Info[2], "?") + local params = {} + for _, v in pairs(split(query[2], '&')) do + local t = split(v, '=') + params[string.lower(t[1])] = UrlDecode(t[2]) + end + if params.allowinsecure then + allowInsecure = params.allowinsecure + end + if params.peer then peer = params.peer end + sni = params.sni and params.sni or "" + if params.ws and params.ws == "1" then + result.trojan_transport = "ws" + if params.wshost then result.ws_host = params.wshost end + if params.wspath then result.ws_path = params.wspath end + if sni == "" and params.wshost then sni = params.wshost end + end + if params.ss and params.ss == "1" then + result.ss_aead = "1" + if params.ssmethod then result.ss_aead_method = string.lower(params.ssmethod) end + if params.sspasswd then result.ss_aead_pwd = params.sspasswd end + end + result.port = port + if result.trojan_transport == "ws" or result.ss_aead then + result.type = "Trojan-Go" + result.fingerprint = "firefox" + result.mux = "1" + end + result.tls = '1' + result.tls_serverName = peer and peer or sni + result.tls_allowInsecure = allowInsecure and "1" or "0" + end + if trojan_type_default == "trojan-plus" and has_trojan_plus then + result.type = "Trojan-Plus" + elseif trojan_type_default == "v2ray" and has_v2ray then + result.type = 'V2ray' + result.protocol = 'trojan' + elseif trojan_type_default == "xray" and has_xray then + result.type = 'Xray' + result.protocol = 'trojan' + elseif trojan_type_default == "trojan-go" and has_trojan_go then + result.type = 'Trojan-Go' + end + elseif szType == "trojan-go" then + local alias = "" + if content:find("#") then + local idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + content = content:sub(0, idx_sp - 1) + end + result.remarks = UrlDecode(alias) + if has_trojan_go then + result.type = "Trojan-Go" + end + if content:find("@") then + local Info = split(content, "@") + result.password = UrlDecode(Info[1]) + local port = "443" + Info[2] = (Info[2] or ""):gsub("/%?", "?") + local hostInfo = nil + if Info[2]:find(":") then + hostInfo = split(Info[2], ":") + result.address = hostInfo[1] + local idx_port = 2 + if hostInfo[2]:find("?") then + hostInfo = split(hostInfo[2], "?") + idx_port = 1 + end + if hostInfo[idx_port] ~= "" then port = hostInfo[idx_port] end + else + if Info[2]:find("?") then + hostInfo = split(Info[2], "?") + end + result.address = hostInfo and hostInfo[1] or Info[2] + end + local peer, sni = nil, "" + local query = split(Info[2], "?") + local params = {} + for _, v in pairs(split(query[2], '&')) do + local t = split(v, '=') + params[string.lower(t[1])] = UrlDecode(t[2]) + end + if params.peer then peer = params.peer end + sni = params.sni and params.sni or "" + if params.type and params.type == "ws" then + result.trojan_transport = "ws" + if params.host then result.ws_host = params.host end + if params.path then result.ws_path = params.path end + if sni == "" and params.host then sni = params.host end + end + if params.encryption and params.encryption:match('^ss;[^;:]*[;:].*$') then + result.ss_aead = "1" + result.ss_aead_method, result.ss_aead_pwd = params.encryption:match('^ss;([^;:]*)[;:](.*)$') + result.ss_aead_method = string.lower(result.ss_aead_method) + end + result.port = port + result.fingerprint = "firefox" + result.tls = "1" + result.tls_serverName = peer and peer or sni + result.tls_allowInsecure = "0" + result.mux = "1" + end + elseif szType == "ssd" then + result.type = "SS" + result.address = content.server + result.port = content.port + result.password = content.password + result.method = content.encryption + result.plugin = content.plugin + result.plugin_opts = content.plugin_options + result.group = content.airport + result.remarks = content.remarks + elseif szType == "vless" then + if has_xray then + result.type = 'Xray' + elseif has_v2ray then + result.type = 'V2ray' + end + result.protocol = "vless" + local alias = "" + if content:find("#") then + local idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + content = content:sub(0, idx_sp - 1) + end + result.remarks = UrlDecode(alias) + if content:find("@") then + local Info = split(content, "@") + result.uuid = UrlDecode(Info[1]) + local port = "443" + Info[2] = (Info[2] or ""):gsub("/%?", "?") + local hostInfo = nil + if Info[2]:find(":") then + hostInfo = split(Info[2], ":") + result.address = hostInfo[1] + local idx_port = 2 + if hostInfo[2]:find("?") then + hostInfo = split(hostInfo[2], "?") + idx_port = 1 + end + if hostInfo[idx_port] ~= "" then port = hostInfo[idx_port] end + else + if Info[2]:find("?") then + hostInfo = split(Info[2], "?") + end + result.address = hostInfo and hostInfo[1] or Info[2] + end + + local query = split(Info[2], "?") + local params = {} + for _, v in pairs(split(query[2], '&')) do + local t = split(v, '=') + params[t[1]] = UrlDecode(t[2]) + end + + params.type = string.lower(params.type) + if params.type == 'ws' then + result.ws_host = params.host + result.ws_path = params.path + end + if params.type == 'h2' then + result.h2_host = params.host + result.h2_path = params.path + end + if params.type == 'tcp' then + result.tcp_guise = params.headerType or "none" + result.tcp_guise_http_host = params.host + result.tcp_guise_http_path = params.path + end + if params.type == 'kcp' or params.type == 'mkcp' then + params.type = "mkcp" + result.mkcp_guise = params.headerType or "none" + result.mkcp_mtu = 1350 + result.mkcp_tti = 50 + result.mkcp_uplinkCapacity = 5 + result.mkcp_downlinkCapacity = 20 + result.mkcp_readBufferSize = 2 + result.mkcp_writeBufferSize = 2 + end + if params.type == 'quic' then + result.quic_guise = params.headerType or "none" + result.quic_key = params.key + result.quic_security = params.quicSecurity or "none" + end + if params.type == 'grpc' then + if params.path then result.grpc_serviceName = params.path end + if params.serviceName then result.grpc_serviceName = params.serviceName end + end + result.transport = params.type + + result.encryption = params.encryption or "none" + + result.tls = "0" + if params.security == "tls" or params.security == "xtls" then + result.tls = "1" + if params.security == "xtls" then + result.xtls = "1" + result.flow = params.flow or "xtls-rprx-direct" + end + result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host + end + + result.port = port + result.tls_allowInsecure = allowInsecure_default and "1" or "0" + end + elseif szType == 'hysteria' then + local alias = "" + if content:find("#") then + local idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + content = content:sub(0, idx_sp - 1) + end + result.remarks = UrlDecode(alias) + result.type = "Hysteria" + + local dat = split(content, '%?') + local hostInfo = split(dat[1], ':') + result.address = hostInfo[1] + result.port = hostInfo[2] + local params = {} + for _, v in pairs(split(dat[2], '&')) do + local t = split(v, '=') + if #t > 0 then + params[t[1]] = t[2] + end + end + result.hysteria_protocol = params.protocol + result.hysteria_obfs = params.obfsParam + result.hysteria_auth_type = "string" + result.hysteria_auth_password = params.auth + result.tls_serverName = params.peer + if params.insecure and params.insecure == "1" then + result.tls_allowInsecure = "1" + end + result.hysteria_alpn = params.alpn + result.hysteria_up_mbps = params.upmbps + result.hysteria_down_mbps = params.downmbps + else + log('暂时不支持' .. szType .. "类型的节点订阅,跳过此节点。") + return nil + end + if not result.remarks or result.remarks == "" then + if result.address and result.port then + result.remarks = result.address .. ':' .. result.port + else + result.remarks = "NULL" + end + end + return result +end + +-- curl +local function curl(url, file, ua) + if not ua or ua == "" then + ua = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36" + end + local stdout = "" + local cmd = string.format('curl -skL --user-agent "%s" --retry 3 --connect-timeout 3 "%s"', ua, url) + if file then + cmd = cmd .. " -o " .. file + stdout = luci.sys.call(cmd .. " > /dev/null") + return stdout + else + stdout = luci.sys.exec(cmd) + return trim(stdout) + end + + if not stdout or #stdout <= 0 then + if uci:get(appname, "@global_subscribe[0]", "subscribe_proxy") or "0" == "1" and uci:get(appname, "@global[0]", "enabled") or "0" == "1" then + log('通过代理订阅失败,尝试关闭代理订阅。') + luci.sys.call("/etc/init.d/" .. appname .. " stop > /dev/null") + stdout = luci.sys.exec(string.format('curl -skL --user-agent "%s" -k --retry 3 --connect-timeout 3 "%s"', ua, url)) + end + end + return trim(stdout) +end + +local function truncate_nodes(add_from) + for _, config in pairs(CONFIG) do + if config.nodes and type(config.nodes) == "table" then + for kk, vv in pairs(config.nodes) do + if vv.currentNode.add_mode == "2" then + else + vv.set(vv, vv.currentNode[".name"]) + end + end + config.set(config) + else + if config.currentNode.add_mode == "2" then + if add_from then + if config.currentNode.add_from and config.currentNode.add_from == add_from then + config.set(config, "nil") + end + else + config.set(config, "nil") + end + if config.id then + uci:delete(appname, config.id) + end + end + end + end + uci:foreach(appname, "nodes", function(node) + if node.add_mode == "2" then + if add_from then + if node.add_from and node.add_from == add_from then + uci:delete(appname, node['.name']) + end + else + uci:delete(appname, node['.name']) + end + end + end) + uci:commit(appname) +end + +local function select_node(nodes, config) + local server + if config.currentNode then + -- 特别优先级 分流 + 备注 + if config.currentNode.protocol and config.currentNode.protocol == '_shunt' then + for index, node in pairs(nodes) do + if node.remarks == config.currentNode.remarks then + log('更新【' .. config.remarks .. '】分流匹配节点:' .. node.remarks) + server = node[".name"] + break + end + end + end + -- 特别优先级 负载均衡 + 备注 + if config.currentNode.protocol and config.currentNode.protocol == '_balancing' then + for index, node in pairs(nodes) do + if node.remarks == config.currentNode.remarks then + log('更新【' .. config.remarks .. '】负载均衡匹配节点:' .. node.remarks) + server = node[".name"] + break + end + end + end + -- 第一优先级 类型 + IP + 端口 + if not server then + for index, node in pairs(nodes) do + if config.currentNode.type and config.currentNode.address and config.currentNode.port then + if node.type and node.address and node.port then + if node.type == config.currentNode.type and (node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port) then + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】第一匹配节点:' .. node.remarks) + end + server = node[".name"] + break + end + end + end + end + end + -- 第二优先级 IP + 端口 + if not server then + for index, node in pairs(nodes) do + if config.currentNode.address and config.currentNode.port then + if node.address and node.port then + if node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port then + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】第二匹配节点:' .. node.remarks) + end + server = node[".name"] + break + end + end + end + end + end + -- 第三优先级 IP + if not server then + for index, node in pairs(nodes) do + if config.currentNode.address then + if node.address then + if node.address == config.currentNode.address then + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】第三匹配节点:' .. node.remarks) + end + server = node[".name"] + break + end + end + end + end + end + -- 第四优先级备注 + if not server then + for index, node in pairs(nodes) do + if config.currentNode.remarks then + if node.remarks then + if node.remarks == config.currentNode.remarks then + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】第四匹配节点:' .. node.remarks) + end + server = node[".name"] + break + end + end + end + end + end + end + -- 还不行 随便找一个 + if not server then + server = uci:get_all(appname, '@' .. "nodes" .. '[0]') + if server then + if config.log == nil or config.log == true then + log('【' .. config.remarks .. '】' .. '无法找到最匹配的节点,当前已更换为:' .. server.remarks) + end + server = server[".name"] + end + end + if server then + config.set(config, server) + end +end + +local function update_node(manual) + if next(nodeResult) == nil then + log("更新失败,没有可用的节点信息") + return + end + + local group = "" + for _, v in ipairs(nodeResult) do + group = group .. v["remark"] + end + + if manual == 0 and #group > 0 then + uci:foreach(appname, "nodes", function(node) + -- 如果是未发现新节点或手动导入的节点就不要删除了... + if (node.add_from and group:find(node.add_from, 1, true)) and node.add_mode == "2" then + uci:delete(appname, node['.name']) + end + end) + end + for _, v in ipairs(nodeResult) do + local remark = v["remark"] + local list = v["list"] + for _, vv in ipairs(list) do + local cfgid = uci:section(appname, "nodes", api.gen_uuid()) + for kkk, vvv in pairs(vv) do + uci:set(appname, cfgid, kkk, vvv) + end + end + end + uci:commit(appname) + + if next(CONFIG) then + local nodes = {} + uci:foreach(appname, "nodes", function(node) + nodes[#nodes + 1] = node + end) + + for _, config in pairs(CONFIG) do + if config.nodes and type(config.nodes) == "table" then + for kk, vv in pairs(config.nodes) do + select_node(nodes, vv) + end + config.set(config) + else + select_node(nodes, config) + end + end + + --[[ + for k, v in pairs(CONFIG) do + if type(v.new_nodes) == "table" and #v.new_nodes > 0 then + local new_node_list = "" + for kk, vv in pairs(v.new_nodes) do + new_node_list = new_node_list .. vv .. " " + end + if new_node_list ~= "" then + print(v.remarks, new_node_list) + end + else + print(v.remarks, v.newNodeId) + end + end + ]]-- + + uci:commit(appname) + end + luci.sys.call("/etc/init.d/" .. appname .. " restart > /dev/null 2>&1 &") +end + +local function parse_link(raw, add_mode, add_from) + if raw and #raw > 0 then + local nodes, szType + local node_list = {} + -- SSD 似乎是这种格式 ssd:// 开头的 + if raw:find('ssd://') then + szType = 'ssd' + local nEnd = select(2, raw:find('ssd://')) + nodes = base64Decode(raw:sub(nEnd + 1, #raw)) + nodes = jsonParse(nodes) + local extra = { + airport = nodes.airport, + port = nodes.port, + encryption = nodes.encryption, + password = nodes.password + } + local servers = {} + -- SS里面包着 干脆直接这样 + for _, server in ipairs(nodes.servers) do + tinsert(servers, setmetatable(server, { __index = extra })) + end + nodes = servers + else + -- ssd 外的格式 + if add_mode == "1" then + nodes = split(raw:gsub(" ", "\n"), "\n") + else + nodes = split(base64Decode(raw):gsub(" ", "\n"), "\n") + end + end + + for _, v in ipairs(nodes) do + if v then + local result + if szType == 'ssd' then + result = processData(szType, v, add_mode, add_from) + elseif not szType then + local node = trim(v) + local dat = split(node, "://") + if dat and dat[1] and dat[2] then + if dat[1] == 'ss' or dat[1] == 'trojan' or dat[1] == 'trojan-go' then + result = processData(dat[1], dat[2], add_mode, add_from) + else + result = processData(dat[1], base64Decode(dat[2]), add_mode, add_from) + end + end + else + log('跳过未知类型: ' .. szType) + end + -- log(result) + if result then + if not result.type then + log('丢弃节点:' .. result.remarks .. ",找不到可使用二进制.") + elseif (add_mode == "2" and is_filter_keyword(result.remarks)) or not result.address or result.remarks == "NULL" or result.address=="127.0.0.1" or + (not datatypes.hostname(result.address) and not (datatypes.ipmask4(result.address) or datatypes.ipmask6(result.address))) then + log('丢弃过滤节点: ' .. result.type .. ' 节点, ' .. result.remarks) + else + tinsert(node_list, result) + end + end + end + end + if #node_list > 0 then + nodeResult[#nodeResult + 1] = { + remark = add_from, + list = node_list + } + end + log('成功解析【' .. add_from .. '】节点数量: ' .. #node_list) + else + if add_mode == "2" then + log('获取到的【' .. add_from .. '】订阅内容为空,可能是订阅地址失效,或是网络问题,请请检测。') + end + end +end + +local execute = function() + do + local subscribe_list = {} + local retry = {} + if arg[2] then + string.gsub(arg[2], '[^' .. "," .. ']+', function(w) + subscribe_list[#subscribe_list + 1] = uci:get_all(appname, w) or {} + end) + else + uci:foreach(appname, "subscribe_list", function(o) + subscribe_list[#subscribe_list + 1] = o + end) + end + + for index, value in ipairs(subscribe_list) do + local cfgid = value[".name"] + local remark = value.remark + local url = value.url + if value.allowInsecure and value.allowInsecure ~= "1" then + allowInsecure_default = nil + end + local filter_keyword_mode = value.filter_keyword_mode or "5" + if filter_keyword_mode == "0" then + filter_keyword_mode_default = "0" + elseif filter_keyword_mode == "1" then + filter_keyword_mode_default = "1" + filter_keyword_discard_list_default = value.filter_discard_list or {} + elseif filter_keyword_mode == "2" then + filter_keyword_mode_default = "2" + filter_keyword_keep_list_default = value.filter_keep_list or {} + elseif filter_keyword_mode == "3" then + filter_keyword_mode_default = "3" + filter_keyword_keep_list_default = value.filter_keep_list or {} + filter_keyword_discard_list_default = value.filter_discard_list or {} + elseif filter_keyword_mode == "4" then + filter_keyword_mode_default = "4" + filter_keyword_keep_list_default = value.filter_keep_list or {} + filter_keyword_discard_list_default = value.filter_discard_list or {} + end + local ss_aead_type = value.ss_aead_type or "global" + if ss_aead_type ~= "global" then + ss_aead_type_default = ss_aead_type + end + local trojan_type = value.trojan_type or "global" + if trojan_type ~= "global" then + trojan_type_default = trojan_type + end + local ua = value.user_agent + log('正在订阅:【' .. remark .. '】' .. url) + local raw = curl(url, "/tmp/" .. cfgid, ua) + if raw == 0 then + local f = io.open("/tmp/" .. cfgid, "r") + local stdout = f:read("*all") + f:close() + raw = trim(stdout) + os.remove("/tmp/" .. cfgid) + parse_link(raw, "2", remark) + else + retry[#retry + 1] = value + end + allowInsecure_default = true + filter_keyword_mode_default = uci:get(appname, "@global_subscribe[0]", "filter_keyword_mode") or "0" + filter_keyword_discard_list_default = uci:get(appname, "@global_subscribe[0]", "filter_discard_list") or {} + filter_keyword_keep_list_default = uci:get(appname, "@global_subscribe[0]", "filter_keep_list") or {} + ss_aead_type_default = uci:get(appname, "@global_subscribe[0]", "ss_aead_type") or "shadowsocks-libev" + trojan_type_default = uci:get(appname, "@global_subscribe[0]", "trojan_type") or "trojan-plus" + end + + if #retry > 0 then + for index, value in ipairs(retry) do + if (uci:get(appname, "@global_subscribe[0]", "subscribe_proxy") or "0") == "1" and (uci:get(appname, "@global[0]", "enabled") or "0") == "1" then + log(value.remark .. '订阅失败,请尝试关闭代理后再订阅。') + else + log(value.remark .. '订阅失败,可能是订阅地址失效,或是网络问题,请诊断!') + end + end + end + update_node(0) + end +end + +if arg[1] then + if arg[1] == "start" then + log('开始订阅...') + xpcall(execute, function(e) + log(e) + log(debug.traceback()) + log('发生错误, 正在恢复服务') + end) + log('订阅完毕...') + elseif arg[1] == "add" then + local f = assert(io.open("/tmp/links.conf", 'r')) + local content = f:read('*all') + f:close() + local nodes = split(content:gsub(" ", "\n"), "\n") + for _, raw in ipairs(nodes) do + parse_link(raw, "1", "导入") + end + update_node(1) + luci.sys.call("rm -f /tmp/links.conf") + elseif arg[1] == "truncate" then + truncate_nodes(arg[2]) + end +end diff --git a/luci-app-passwall/root/usr/share/passwall/test.sh b/luci-app-passwall/root/usr/share/passwall/test.sh new file mode 100755 index 00000000..4bb286c0 --- /dev/null +++ b/luci-app-passwall/root/usr/share/passwall/test.sh @@ -0,0 +1,274 @@ +#!/bin/sh + +CONFIG=passwall +LOG_FILE=/tmp/log/$CONFIG.log +LOCK_FILE_DIR=/tmp/lock +LOCK_FILE=${LOCK_FILE_DIR}/${CONFIG}_script.lock + +echolog() { + local d="$(date "+%Y-%m-%d %H:%M:%S")" + #echo -e "$d: $1" + echo -e "$d: $1" >> $LOG_FILE +} + +config_n_get() { + local ret=$(uci -q get "${CONFIG}.${1}.${2}" 2>/dev/null) + echo "${ret:=$3}" +} + +config_t_get() { + local index=0 + [ -n "$4" ] && index=$4 + local ret=$(uci -q get $CONFIG.@$1[$index].$2 2>/dev/null) + echo ${ret:=$3} +} + +test_url() { + local url=$1 + local try=1 + [ -n "$2" ] && try=$2 + local timeout=2 + [ -n "$3" ] && timeout=$3 + local extra_params=$4 + curl --help all | grep "\-\-retry-all-errors" > /dev/null + [ $? == 0 ] && extra_params="--retry-all-errors ${extra_params}" + status=$(/usr/bin/curl -I -o /dev/null -skL $extra_params --connect-timeout ${timeout} --retry ${try} -w %{http_code} "$url") + case "$status" in + 204|\ + 200) + status=200 + ;; + esac + echo $status +} + +test_proxy() { + result=0 + status=$(test_url "https://www.google.com/generate_204" ${retry_num} ${connect_timeout}) + if [ "$status" = "200" ]; then + result=0 + else + status2=$(test_url "https://www.baidu.com" ${retry_num} ${connect_timeout}) + if [ "$status2" = "200" ]; then + result=1 + else + result=2 + ping -c 3 -W 1 223.5.5.5 > /dev/null 2>&1 + [ $? -eq 0 ] && { + result=1 + } + fi + fi + echo $result +} + +url_test_node() { + result=0 + local node_id=$1 + local _type=$(echo $(config_n_get ${node_id} type nil) | tr 'A-Z' 'a-z') + [ "${_type}" != "nil" ] && { + if [ "${_type}" == "socks" ]; then + local _address=$(config_n_get ${node_id} address) + local _port=$(config_n_get ${node_id} port) + [ -n "${_address}" ] && [ -n "${_port}" ] && { + local curlx="socks5h://${_address}:${_port}" + local _username=$(config_n_get ${node_id} username) + local _password=$(config_n_get ${node_id} password) + [ -n "${_username}" ] && [ -n "${_password}" ] && curlx="socks5h://${_username}:${_password}@${_address}:${_port}" + } + else + local _tmp_port=$(/usr/share/${CONFIG}/app.sh get_new_port 61080 tcp) + /usr/share/${CONFIG}/app.sh run_socks flag="url_test_${node_id}" node=${node_id} bind=127.0.0.1 socks_port=${_tmp_port} config_file=url_test_${node_id}.json + local curlx="socks5h://127.0.0.1:${_tmp_port}" + fi + sleep 1s + result=$(curl --connect-timeout 3 -o /dev/null -I -skL -w "%{http_code}:%{time_starttransfer}" -x $curlx "https://www.google.com/generate_204") + pgrep -af "url_test_${node_id}" | awk '! /test\.sh/{print $1}' | xargs kill -9 >/dev/null 2>&1 + rm -rf "/tmp/etc/${CONFIG}/url_test_${node_id}.json" + } + echo $result +} + +test_node() { + local node_id=$1 + local _type=$(echo $(config_n_get ${node_id} type nil) | tr 'A-Z' 'a-z') + [ "${_type}" != "nil" ] && { + if [ "${_type}" == "socks" ]; then + local _address=$(config_n_get ${node_id} address) + local _port=$(config_n_get ${node_id} port) + [ -n "${_address}" ] && [ -n "${_port}" ] && { + local curlx="socks5h://${_address}:${_port}" + local _username=$(config_n_get ${node_id} username) + local _password=$(config_n_get ${node_id} password) + [ -n "${_username}" ] && [ -n "${_password}" ] && curlx="socks5h://${_username}:${_password}@${_address}:${_port}" + } + else + local _tmp_port=$(/usr/share/${CONFIG}/app.sh get_new_port 61080 tcp) + /usr/share/${CONFIG}/app.sh run_socks flag="test_node_${node_id}" node=${node_id} bind=127.0.0.1 socks_port=${_tmp_port} config_file=test_node_${node_id}.json + local curlx="socks5h://127.0.0.1:${_tmp_port}" + fi + sleep 1s + _proxy_status=$(test_url "https://www.google.com/generate_204" ${retry_num} ${connect_timeout} "-x $curlx") + pgrep -af "test_node_${node_id}" | awk '! /test\.sh/{print $1}' | xargs kill -9 >/dev/null 2>&1 + rm -rf "/tmp/etc/${CONFIG}/test_node_${node_id}.json" + if [ "${_proxy_status}" -eq 200 ]; then + return 0 + fi + } + return 1 +} + +flag=0 +main_node=$(config_t_get global tcp_node nil) + +test_auto_switch() { + flag=$(expr $flag + 1) + local TYPE=$1 + local b_tcp_nodes=$2 + local now_node=$3 + [ -z "$now_node" ] && { + if [ -f "/tmp/etc/$CONFIG/id/${TYPE}" ]; then + now_node=$(cat /tmp/etc/$CONFIG/id/${TYPE}) + if [ "$(config_n_get $now_node protocol nil)" = "_shunt" ]; then + if [ "$shunt_logic" == "1" ] && [ -f "/tmp/etc/$CONFIG/id/${TYPE}_default" ]; then + now_node=$(cat /tmp/etc/$CONFIG/id/${TYPE}_default) + elif [ "$shunt_logic" == "2" ] && [ -f "/tmp/etc/$CONFIG/id/${TYPE}_main" ]; then + now_node=$(cat /tmp/etc/$CONFIG/id/${TYPE}_main) + else + shunt_logic=0 + fi + else + shunt_logic=0 + fi + else + #echolog "自动切换检测:未知错误" + return 1 + fi + } + + [ $flag -le 1 ] && { + main_node=$now_node + } + + status=$(test_proxy) + if [ "$status" == 2 ]; then + echolog "自动切换检测:无法连接到网络,请检查网络是否正常!" + return 2 + fi + + #检测主节点是否能使用 + if [ "$restore_switch" == "1" ] && [ "$main_node" != "nil" ] && [ "$now_node" != "$main_node" ]; then + test_node ${main_node} + [ $? -eq 0 ] && { + #主节点正常,切换到主节点 + echolog "自动切换检测:${TYPE}主节点【$(config_n_get $main_node type):[$(config_n_get $main_node remarks)]】正常,切换到主节点!" + /usr/share/${CONFIG}/app.sh node_switch flag=${TYPE} new_node=${main_node} shunt_logic=${shunt_logic} + [ $? -eq 0 ] && { + echolog "自动切换检测:${TYPE}节点切换完毕!" + [ "$shunt_logic" != "0" ] && { + local tcp_node=$(config_t_get global tcp_node nil) + [ "$(config_n_get $tcp_node protocol nil)" = "_shunt" ] && { + if [ "$shunt_logic" == "1" ]; then + uci set $CONFIG.$tcp_node.default_node="$main_node" + elif [ "$shunt_logic" == "2" ]; then + uci set $CONFIG.$tcp_node.main_node="$main_node" + fi + uci commit $CONFIG + } + } + } + return 0 + } + fi + + if [ "$status" == 0 ]; then + #echolog "自动切换检测:${TYPE}节点【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】正常。" + return 0 + elif [ "$status" == 1 ]; then + echolog "自动切换检测:${TYPE}节点【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,切换到下一个备用节点检测!" + local new_node + in_backup_nodes=$(echo $b_tcp_nodes | grep $now_node) + # 判断当前节点是否存在于备用节点列表里 + if [ -z "$in_backup_nodes" ]; then + # 如果不存在,设置第一个节点为新的节点 + new_node=$(echo $b_tcp_nodes | awk -F ' ' '{print $1}') + else + # 如果存在,设置下一个备用节点为新的节点 + #local count=$(expr $(echo $b_tcp_nodes | grep -o ' ' | wc -l) + 1) + local next_node=$(echo $b_tcp_nodes | awk -F "$now_node" '{print $2}' | awk -F " " '{print $1}') + if [ -z "$next_node" ]; then + new_node=$(echo $b_tcp_nodes | awk -F ' ' '{print $1}') + else + new_node=$next_node + fi + fi + test_node ${new_node} + if [ $? -eq 0 ]; then + [ "$restore_switch" == "0" ] && { + [ "$shunt_logic" == "0" ] && uci set $CONFIG.@global[0].tcp_node=$new_node + [ -z "$(echo $b_tcp_nodes | grep $main_node)" ] && uci add_list $CONFIG.@auto_switch[0].tcp_node=$main_node + uci commit $CONFIG + } + echolog "自动切换检测:${TYPE}节点【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!" + /usr/share/${CONFIG}/app.sh node_switch flag=${TYPE} new_node=${new_node} shunt_logic=${shunt_logic} + [ $? -eq 0 ] && { + [ "$restore_switch" == "1" ] && [ "$shunt_logic" != "0" ] && { + local tcp_node=$(config_t_get global tcp_node nil) + [ "$(config_n_get $tcp_node protocol nil)" = "_shunt" ] && { + if [ "$shunt_logic" == "1" ]; then + uci set $CONFIG.$tcp_node.default_node="$main_node" + elif [ "$shunt_logic" == "2" ]; then + uci set $CONFIG.$tcp_node.main_node="$main_node" + fi + uci commit $CONFIG + } + } + echolog "自动切换检测:${TYPE}节点切换完毕!" + } + return 0 + else + test_auto_switch ${TYPE} "${b_tcp_nodes}" ${new_node} + fi + fi +} + +start() { + ENABLED=$(config_t_get global enabled 0) + [ "$ENABLED" != 1 ] && return 1 + ENABLED=$(config_t_get auto_switch enable 0) + [ "$ENABLED" != 1 ] && return 1 + delay=$(config_t_get auto_switch testing_time 1) + #sleep 9s + connect_timeout=$(config_t_get auto_switch connect_timeout 3) + retry_num=$(config_t_get auto_switch retry_num 3) + restore_switch=$(config_t_get auto_switch restore_switch 0) + shunt_logic=$(config_t_get auto_switch shunt_logic 0) + while [ "$ENABLED" -eq 1 ]; do + [ -f "$LOCK_FILE" ] && { + sleep 6s + continue + } + touch $LOCK_FILE + TCP_NODE=$(config_t_get auto_switch tcp_node nil) + [ -n "$TCP_NODE" -a "$TCP_NODE" != "nil" ] && { + TCP_NODE=$(echo $TCP_NODE | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') + test_auto_switch TCP "$TCP_NODE" + } + rm -f $LOCK_FILE + sleep ${delay}m + done +} + +arg1=$1 +shift +case $arg1 in +test_url) + test_url $@ + ;; +url_test_node) + url_test_node $@ + ;; +*) + start + ;; +esac diff --git a/luci-app-passwall/root/usr/share/rpcd/acl.d/luci-app-passwall.json b/luci-app-passwall/root/usr/share/rpcd/acl.d/luci-app-passwall.json new file mode 100644 index 00000000..0d6f7d7e --- /dev/null +++ b/luci-app-passwall/root/usr/share/rpcd/acl.d/luci-app-passwall.json @@ -0,0 +1,11 @@ +{ + "luci-app-passwall": { + "description": "Grant UCI access for luci-app-passwall", + "read": { + "uci": [ "passwall", "passwall_server" ] + }, + "write": { + "uci": [ "passwall", "passwall_server" ] + } + } +} diff --git a/luci-app-poweroff/LICENSE b/luci-app-poweroff/LICENSE new file mode 100644 index 00000000..930b26f1 --- /dev/null +++ b/luci-app-poweroff/LICENSE @@ -0,0 +1,379 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + Preamble + The GNU General Public License is a free, copyleft license for software and other kinds of works. + The licenses for most software and other practical works are designed to take away your freedom to share and change the works. +By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a +program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public +License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your +programs, too. + When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure +that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code +or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you +can do these things. + To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. +Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to +respect the freedom of others. + For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the +same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them +these terms so they know their rights. + Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you +this License giving you legal permission to copy, distribute and/or modify it. + For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For +both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be +attributed erroneously to authors of previous versions. + Some devices are designed to deny users access to install or run modified versions of the software inside them, although the +manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. +The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most +unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such +problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of +the GPL, as needed to protect the freedom of users. + Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development +and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied +to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render +the program non-free. + The precise terms and conditions for copying, distribution and modification follow. + TERMS AND CONDITIONS + 0. Definitions. + "This License" refers to version 3 of the GNU General Public License. + "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" +and "recipients" may be individuals or organizations. + To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than +the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the +earlier work. + A "covered work" means either the unmodified Program or a work based on the Program. + To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation +includes copying, distribution (with or without modification), making available to the public, and in some countries other +activities as well. + To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with +a user through a computer network, with no transfer of a copy, is not conveying. + An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently +visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work +(except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a +copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the +list meets this criterion. + 1. Source Code. + The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any +non-source form of a work. + A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in +the case of interfaces specified for a particular programming language, one that is widely used among developers working in that +language. + The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the +normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of +the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public +in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) +of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an +object code interpreter used to run it. + The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an +executable work) run the object code and to modify the work, including scripts to control those activities. However, it does +not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified +in performing those activities but which are not part of the work. For example, Corresponding Source includes interface +definition files associated with source files for the work, and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between +those subprograms and other parts of the work. + The Corresponding Source need not include anything that users can regenerate automatically from other parts of the +Corresponding Source. + The Corresponding Source for a work in source code form is that same work. + 2. Basic Permissions. + All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the +stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output +from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This +License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise +remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for +you, or provide you with facilities for running those works, provided that you comply with the terms of this License in +conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do +so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. + Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; +section 10 makes it unnecessary. + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations +under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting +circumvention of such measures. + When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such +circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any +intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third +parties' legal rights to forbid circumvention of technological measures. + 4. Conveying Verbatim Copies. + You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and +any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any +warranty; and give all recipients a copy of this License along with the Program. + You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a +fee. + 5. Conveying Modified Source Versions. + You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code +under the terms of section 4, provided that you also meet all of these conditions: + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the +covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or +legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate +does not cause this License to apply to the other parts of the aggregate. + 6. Conveying Non-Source Forms. + You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, in one of these ways: + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need +not be included in conveying the object code work. + A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for +personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining +whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product +received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the +status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the +product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or +non-consumer uses, unless such uses represent the only significant mode of use of the product. + "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required +to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding +Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case +prevented or interfered with solely because modification has been made. + If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the +conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the +recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source +conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither +you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been +installed in ROM). + The requirement to provide Installation Information does not include a requirement to continue to provide support service, +warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has +been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the +operation of the network or violates the rules and protocols for communication across the network. + Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is +publicly documented (and with an implementation available to the public in source code form), and must require no special +password or key for unpacking, reading or copying. + 7. Additional Terms. + "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its +conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in +this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the +Program, that part may be used separately under those permissions, but the entire Program remains governed by this License +without regard to the additional permissions. + When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any +part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) +You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate +copyright permission. + Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the +copyright holders of that material) supplement the terms of this License with terms: + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the +Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term +that is a further restriction, you may remove that term. If a license document contains a further restriction but permits +relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license +document, provided that the further restriction does not survive such relicensing or conveying. + If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of +the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as +exceptions; the above requirements apply either way. + 8. Termination. + You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to +propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses +granted under the third paragraph of section 11). + However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the +copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of +the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any +work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights +from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive +new licenses for the same material under section 10. + 9. Acceptance Not Required for Having Copies. + You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a +covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require +acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These +actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you +indicate your acceptance of this License to do so. + 10. Automatic Licensing of Downstream Recipients. + Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, +modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with +this License. + An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or +subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, +each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's +predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source +of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For +example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you +may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed +by making, using, selling, offering for sale, or importing the Program or any portion of it. + 11. Patents. + A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is +based. The work thus licensed is called the contributor's "contributor version". + A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already +acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling +its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the +contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner +consistent with the requirements of this License. + Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent +claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor +version. + In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to +enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To +"grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the +party. + If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available +for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other +readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive +yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the +requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual +knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered +work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance +of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, +propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to +all recipients of the covered work and works based on it. + A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not +convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, +under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the +third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in +connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in +connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or +that patent license was granted, prior to 28 March 2007. + Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that +may otherwise be available to you under applicable patent law. + 12. No Surrender of Others' Freedom. + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this +License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy +simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey +it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom +you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from +conveying the Program. + 13. Use with the GNU Affero General Public License. + Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work +licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. +The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU +Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. + 14. Revised Versions of this License. + The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. +Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or +concerns. + Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU +General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of +that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a +version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that +proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + Later license versions may give you additional or different permissions. However, no additional obligations are imposed on +any author or copyright holder as a result of your choosing to follow a later version. + 15. Disclaimer of Warranty. + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE +COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK +AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +NECESSARY SERVICING, REPAIR OR CORRECTION. + 16. Limitation of Liability. + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO +MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL +OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR +DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 17. Interpretation of Sections 15 and 16. + If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their +terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in +connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. + END OF TERMS AND CONDITIONS + How to Apply These Terms to Your New Programs + If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this +is to make it free software which everyone can redistribute and change under these terms. + To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most +effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the +full notice is found. + + Copyright (C) + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by +electronic and paper mail. + If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, +you would use an "about box". + You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the +program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see +. + The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a +subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is +what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read +. diff --git a/luci-app-poweroff/Makefile b/luci-app-poweroff/Makefile new file mode 100644 index 00000000..46990b42 --- /dev/null +++ b/luci-app-poweroff/Makefile @@ -0,0 +1,16 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# Maintained by eSir Playground + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-poweroff +PKG_VERSION:=20200726 +PKG_RELEASE:=1 +LUCI_TITLE:=LuCI Support of PowerOff Router +LUCI_PKGARCH:=all + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-poweroff/README.md b/luci-app-poweroff/README.md new file mode 100644 index 00000000..994222aa --- /dev/null +++ b/luci-app-poweroff/README.md @@ -0,0 +1,4 @@ +# Shut Down Your Router +[![GitHub](https://img.shields.io/github/license/esirplayground/luci-app-poweroff?label=LICENSE&logo=github&logoColor=%20)](https://github.com/esirplayground/luci-app-poweroff/blob/master/LICENSE) +![GitHub Stars](https://img.shields.io/github/stars/esirplayground/luci-app-poweroff.svg?style=flat&logo=appveyor&label=Stars&logo=github) +![GitHub Forks](https://img.shields.io/github/forks/esirplayground/luci-app-poweroff.svg?style=flat&logo=appveyor&label=Forks&logo=github) diff --git a/luci-app-poweroff/luasrc/controller/poweroff.lua b/luci-app-poweroff/luasrc/controller/poweroff.lua new file mode 100644 index 00000000..dcddbe32 --- /dev/null +++ b/luci-app-poweroff/luasrc/controller/poweroff.lua @@ -0,0 +1,10 @@ +module("luci.controller.poweroff",package.seeall) + +function index() + entry({"admin","system","poweroff"},template("poweroff"),_("PowerOff"),99) + entry({"admin","system","poweroff","call"},post("action_poweroff")) +end + +function action_poweroff() +luci.util.exec("/sbin/poweroff") +end \ No newline at end of file diff --git a/luci-app-poweroff/luasrc/view/poweroff.htm b/luci-app-poweroff/luasrc/view/poweroff.htm new file mode 100644 index 00000000..f843ddf2 --- /dev/null +++ b/luci-app-poweroff/luasrc/view/poweroff.htm @@ -0,0 +1,58 @@ +<%# + Maintained by eSirPlayground + Licensed to the public under the Apache License 2.0. +-%> + +<%+header%> + +

<%:PowerOff%>

+
+ +

<%:Shut down your router%>

+ +<%- local c = require("luci.model.uci").cursor():changes(); if c and next(c) then -%> +

<%:Warning: There are unsaved changes that will get lost on shutting down!%>

+<%- end -%> + +
+ + + + + + + +<%+footer%> diff --git a/luci-app-poweroff/po/zh-cn/poweroff.po b/luci-app-poweroff/po/zh-cn/poweroff.po new file mode 100644 index 00000000..2dfe25d2 --- /dev/null +++ b/luci-app-poweroff/po/zh-cn/poweroff.po @@ -0,0 +1,31 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.4\n" +"Last-Translator: eSirPlayground \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh_CN\n" + +msgid "PowerOff" +msgstr "关机" + +msgid "Shut down your router" +msgstr "吹灯拔蜡,关机回家" + +msgid "Perform PowerOff" +msgstr "关机,走你~" + +msgid "Warning: There are unsaved changes that will get lost on shutting down!" +msgstr "警告:没保存的改动在关机的时候都会丢失!别惊讶,要么保存,要么放弃" + +msgid "Waiting for device..." +msgstr "设备有点懵,要等一下..." + +msgid "Router is shutting down..." +msgstr "正在关机,说啥也不好使了..." diff --git a/luci-app-poweroff/po/zh_Hans b/luci-app-poweroff/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-poweroff/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-pushbot/Makefile b/luci-app-pushbot/Makefile new file mode 100644 index 00000000..2a779819 --- /dev/null +++ b/luci-app-pushbot/Makefile @@ -0,0 +1,22 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-pushbot +PKG_VERSION:=3.60 +PKG_RELEASE:=1 + +PKG_MAINTAINER:=tty228 zzsj0928 + +LUCI_TITLE:=LuCI support for Pushbot +LUCI_PKGARCH:=all +LUCI_DEPENDS:=+iputils-arping +curl +jq + +define Package/$(PKG_NAME)/conffiles +/etc/config/pushbot +/usr/bin/pushbot/api/diy.json +/usr/bin/pushbot/api/ipv4.list +/usr/bin/pushbot/api/ipv6.list +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-pushbot/README.md b/luci-app-pushbot/README.md new file mode 100644 index 00000000..3c3284a5 --- /dev/null +++ b/luci-app-pushbot/README.md @@ -0,0 +1,93 @@ +# 改名公告 +#### 2021年04月25日 起luci-app-serverchand 改名为 luci-app-pushbot + +如需拉取编译 +请把: + +`# git clone https://github.com/zzsj0928/luci-app-serverchand package/luci-app-serverchand` + +改为 + +`git clone https://github.com/zzsj0928/luci-app-pushbot package/luci-app-pushbot` + +并把 .config 中 + +`CONFIG_PACKAGE_luci-app-serverchand=y` + +改为 + +`CONFIG_PACKAGE_luci-app-pushbot=y` + +注意:本次改名需要提前备份serverchand配置,并于PushBot中重新配置。 + +再次谢谢各位支持 + +# 申明 +- 本插件由[tty228/luci-app-serverchan](https://github.com/tty228/luci-app-serverchan)原创. +- 因微信推送存在诸多弊端(无法分开聊天工具与功能性消息推送,通知内不显示内容,内容需要点开才能查看等), +- 故由 然后七年 @zzsj0928 重新修改为本插件,为钉钉机器人API使用。 +- 本插件工作在:openwrt +- 本插件支持:钉钉推送,企业微信推送,PushPlus推送,微信推送,企业微信应用推送,飞书推送,钉钉机器人推送,企业微信机器人推送,飞书机器人推送,一对多推送,Bark推送(仅iOS),PushDeer,PushDeer自架 +- 自20210911之后的版本,支持Bark群组,群组名默认为设备名 +- 自20210901之后的版本,增加依赖jq,请重新编译或在安装前同步安装jq + +# 显示效果 +## 通知栏:直接显示推送主题,一目了然,按设备不同,分组显示 + + +## 消息列表:直接显示最新推送的标题 + + +## 消息内容:直接显示所有推送信息,不用二次点开再查看 + + +# 下载 +- [luci-app-pushbot](https://github.com/zzsj0928/luci-app-pushbot/releases) + + +----------------------------------------------------- +##################################################### +----------------------------------------------------- + +# 以下为原插件简介: + +# 简介 +- 用于 OpenWRT/LEDE 路由器上进行 Server酱 微信/Telegram 推送的插件 +- 基于 serverchan 提供的接口发送信息,Server酱说明:http://sc.ftqq.com/1.version +- **基于斐讯 k3 制作,不同系统不同设备,请自行修改部分代码,无测试条件无法重现的 bug 不考虑修复** +- 依赖 iputils-arping + curl 命令,安装前请 `opkg update`,小内存路由谨慎安装 +- 使用主动探测设备连接的方式检测设备在线状态,以避免WiFi休眠机制,主动探测较为耗时,**如遇设备休眠频繁,请自行调整超时设置** +- 流量统计功能依赖 wrtbwmon ,自行选装或编译,该插件与 Routing/NAT 、Flow Offloading 冲突,开启无法获取流量,自行选择,L大版本直接编译 luci-app-wrtbwmon + +#### 主要功能 +- 路由 ip/ipv6 变动推送 +- 设备别名 +- 设备上线推送 +- 设备离线推送及流量使用情况 +- CPU 负载、温度监视 +- 定时推送设备运行状态 +- MAC 白名单、黑名单、按接口检测设备 +- 免打扰 +- 无人值守任务 + +#### 说明 +- 潘多拉系统、或不支持 sh 的系统,请将脚本开头 `#!/bin/sh` 改为 `#!/bin/bash`,或手动安装 `sh` +- 追新是没有意义的,没有问题没必要更新,上班事情忙完了,摸鱼又不会摸,只能靠写几行 bug ,才能缓解无聊这样子 + +#### 已知问题 +- 直接关闭接口时,该接口的离线设备会忽略检测 +- 部分设备无法读取到设备名,脚本使用 `cat /var/dhcp.leases` 命令读取设备名,如果 dhcp 中不存在设备名,则无法读取设备名(如二级路由设备、静态ip设备),请使用设备名备注 + +# Download +- [luci-app-serverchan](https://github.com/tty228/luci-app-serverchan/releases) +- [wrtbwmon](https://github.com/brvphoenix/wrtbwmon) +- [luci-app-wrtbwmon](https://github.com/brvphoenix/luci-app-wrtbwmon) + +#### ps +- 新功能看情况开发 +- 王者荣耀新赛季,不思进取中 +- 欢迎各种代码提交 +- 提交bug时请尽量带上设备信息,日志与描述(如执行`/usr/bin/serverchan/serverchan`后的提示、日志信息、/tmp/serverchan/ipAddress 文件信息) +- 三言两句恕我无能为力 +- 武汉加油 + diff --git a/luci-app-pushbot/luasrc/controller/pushbot.lua b/luci-app-pushbot/luasrc/controller/pushbot.lua new file mode 100644 index 00000000..5b586154 --- /dev/null +++ b/luci-app-pushbot/luasrc/controller/pushbot.lua @@ -0,0 +1,32 @@ +module("luci.controller.pushbot",package.seeall) + +function index() + if not nixio.fs.access("/etc/config/pushbot") then + return + end + + entry({"admin", "services", "pushbot"}, alias("admin", "services", "pushbot", "setting"),_("全能推送"), 30).dependent = true + entry({"admin", "services", "pushbot", "setting"}, cbi("pushbot/setting"),_("配置"), 40).leaf = true + entry({"admin", "services", "pushbot", "advanced"}, cbi("pushbot/advanced"),_("高级设置"), 50).leaf = true + entry({"admin", "services", "pushbot", "client"}, form("pushbot/client"), "在线设备", 80) + entry({"admin", "services", "pushbot", "log"}, form("pushbot/log"),_("日志"), 99).leaf = true + entry({"admin", "services", "pushbot", "get_log"}, call("get_log")).leaf = true + entry({"admin", "services", "pushbot", "clear_log"}, call("clear_log")).leaf = true + entry({"admin", "services", "pushbot", "status"}, call("act_status")).leaf = true +end + +function act_status() + local e={} + e.running=luci.sys.call("busybox ps|grep -v grep|grep -c pushbot >/dev/null")==0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function get_log() + luci.http.write(luci.sys.exec( + "[ -f '/tmp/pushbot/pushbot.log' ] && cat /tmp/pushbot/pushbot.log")) +end + +function clear_log() + luci.sys.call("echo '' > /tmp/pushbot/pushbot.log") +end diff --git a/luci-app-pushbot/luasrc/model/cbi/pushbot/advanced.lua b/luci-app-pushbot/luasrc/model/cbi/pushbot/advanced.lua new file mode 100644 index 00000000..a6fb78ae --- /dev/null +++ b/luci-app-pushbot/luasrc/model/cbi/pushbot/advanced.lua @@ -0,0 +1,124 @@ +local nt = require "luci.sys".net +local fs=require"nixio.fs" + +m=Map("pushbot",translate("提示"), +translate("如果你不了解这些选项的含义,请不要修改这些选项。")) + +s = m:section(TypedSection, "pushbot", "高级设置") +s.anonymous = true +s.addremove = false + +a=s:option(Value,"up_timeout",translate('设备上线检测超时(s)')) +a.default = "2" +a.optional=false +a.datatype="uinteger" + +a=s:option(Value,"down_timeout",translate('设备离线检测超时(s)')) +a.default = "20" +a.optional=false +a.datatype="uinteger" + +a=s:option(Value,"timeout_retry_count",translate('离线检测次数')) +a.default = "2" +a.optional=false +a.datatype="uinteger" +a.description = translate("若无二级路由设备,信号强度良好,可以减少以上数值
因夜间 wifi 休眠较为玄学,遇到设备频繁推送断开,烦请自行调整参数
..╮(╯_╰)╭..") + +a=s:option(Value,"thread_num",translate('最大并发进程数')) +a.default = "3" +a.datatype="uinteger" + +a=s:option(Value, "soc_code", "自定义温度读取命令") +a.rmempty = true +a:value("",translate("默认")) +a:value("pve",translate("PVE 虚拟机")) +a.description = translate("请尽量避免使用特殊符号,如双引号、$、!等,执行结果需为数字,用于温度对比") + +a=s:option(Value,"pve_host",translate("宿主机地址")) +a.rmempty=true +a.default="10.0.0.2" +a.description = translate("请确认已经设置好密钥登陆,否则会引起脚本无法运行等错误!
PVE 安装 sensors 命令自行百度
密钥登陆例:
opkg update #更新列表
opkg install openssh-client openssh-keygen #安装openssh客户端
ssh-keygen -t rsa # 生成密钥文件(自行设定密码等信息)
ssh root@10.0.0.2 \"tee -a ~/.ssh/id_rsa.pub\" < ~/.ssh/id_rsa.pub # 传送公钥到 PVE
ssh root@10.0.0.2 \"cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys\" # 写入公钥到 PVE
ssh -i ~/.ssh/id_rsa root@10.0.0.2 sensors # 测试温度命令") +a:depends({soc_code="pve"}) + +a=s:option(Value,"pve_port",translate("SSH端口")) +a.rmempty=true +a.default="22" +a.description = translate("默认为22,如有自定义,请填写自定义SSH端口") +a:depends({soc_code="pve"}) + +a=s:option(Button,"soc",translate("测试温度命令")) +a.inputtitle = translate("输出信息") +a.write = function() + luci.sys.call("/usr/bin/pushbot/pushbot soc") + luci.http.redirect(luci.dispatcher.build_url("admin","services","pushbot","advanced")) +end + +if nixio.fs.access("/tmp/pushbot/soc_tmp") then +e=s:option(TextValue,"soc_tmp") +e.rows=2 +e.readonly=true +e.cfgvalue = function() + return luci.sys.exec("cat /tmp/pushbot/soc_tmp && rm -f /tmp/pushbot/soc_tmp") +end +end + +a=s:option(Flag,"err_enable",translate("无人值守任务")) +a.default=0 +a.rmempty=true +a.description = translate("请确认脚本可以正常运行,否则可能造成频繁重启等错误!") + +a=s:option(Flag,"err_sheep_enable",translate("仅在免打扰时段重拨")) +a.default=0 +a.rmempty=true +a.description = translate("避免白天重拨 ddns 域名等待解析,此功能不影响断网检测
因夜间跑流量问题,该功能可能不稳定") +a:depends({err_enable="1"}) + +a= s:option(DynamicList, "err_device_aliases", translate("关注列表")) +a.rmempty = true +a.description = translate("只会在列表中设备都不在线时才会执行
免打扰时段一小时后,关注设备五分钟低流量(约100kb/m)将视为离线") +nt.mac_hints(function(mac, name) a :value(mac, "%s (%s)" %{ mac, name }) end) +a:depends({err_enable="1"}) + +a=s:option(ListValue,"network_err_event",translate("网络断开时")) +a.default="" +a:depends({err_enable="1"}) +a:value("",translate("无操作")) +a:value("1",translate("重启路由器")) +a:value("2",translate("重新拨号")) +a:value("3",translate("修改相关设置项,尝试自动修复网络")) +a.description = translate("选项 1 选项 2 不会修改设置,并最多尝试 2 次。
选项 3 会将设置项备份于 /usr/bin/pushbot/configbak 目录,并在失败后还原。
【!!无法保证兼容性!!】不熟悉系统设置项,不会救砖请勿使用") + +a=s:option(ListValue,"system_time_event",translate("定时重启")) +a.default="" +a:depends({err_enable="1"}) +a:value("",translate("无操作")) +a:value("1",translate("重启路由器")) +a:value("2",translate("重新拨号")) + +a= s:option(Value, "autoreboot_time", "系统运行时间大于") +a.rmempty = true +a.default = "24" +a.datatype="uinteger" +a:depends({system_time_event="1"}) +a.description = translate("单位为小时") + +a=s:option(Value, "network_restart_time", "网络在线时间大于") +a.rmempty = true +a.default = "24" +a.datatype="uinteger" +a:depends({system_time_event="2"}) +a.description = translate("单位为小时") + +a=s:option(Flag,"public_ip_event",translate("重拨尝试获取公网 ip")) +a.default=0 +a.rmempty=true +a:depends({err_enable="1"}) +a.description = translate("重拨时不会推送 ip 变动通知,并会导致你的域名无法及时更新 ip 地址
请确认你可以通过重拨获取公网 ip,否则这不仅徒劳无功还会引起频繁断网
移动等大内网你就别挣扎了!!") + +a= s:option(Value, "public_ip_retry_count", "当天最大重试次数") +a.rmempty = true +a.default = "10" +a.datatype="uinteger" +a:depends({public_ip_event="1"}) + +return m diff --git a/luci-app-pushbot/luasrc/model/cbi/pushbot/client.lua b/luci-app-pushbot/luasrc/model/cbi/pushbot/client.lua new file mode 100644 index 00000000..dbb80f2b --- /dev/null +++ b/luci-app-pushbot/luasrc/model/cbi/pushbot/client.lua @@ -0,0 +1,6 @@ +f = SimpleForm("pushbot") +luci.sys.call("/usr/bin/pushbot/pushbot client") +f.reset = false +f.submit = false +f:append(Template("pushbot/pushbot_client")) +return f diff --git a/luci-app-pushbot/luasrc/model/cbi/pushbot/log.lua b/luci-app-pushbot/luasrc/model/cbi/pushbot/log.lua new file mode 100644 index 00000000..0b73ae08 --- /dev/null +++ b/luci-app-pushbot/luasrc/model/cbi/pushbot/log.lua @@ -0,0 +1,5 @@ +f = SimpleForm("pushbot") +f.reset = false +f.submit = false +f:append(Template("pushbot/pushbot_log")) +return f diff --git a/luci-app-pushbot/luasrc/model/cbi/pushbot/setting.lua b/luci-app-pushbot/luasrc/model/cbi/pushbot/setting.lua new file mode 100644 index 00000000..f6330cf2 --- /dev/null +++ b/luci-app-pushbot/luasrc/model/cbi/pushbot/setting.lua @@ -0,0 +1,552 @@ + +local nt = require "luci.sys".net +local fs=require"nixio.fs" +local e=luci.model.uci.cursor() +local net = require "luci.model.network".init() +local sys = require "luci.sys" +local ifaces = sys.net:devices() + +m=Map("pushbot",translate("PushBot"), +translate("「全能推送」,英文名「PushBot」,是一款从服务器推送报警信息和日志到各平台的工具。
支持钉钉推送,企业微信推送,PushPlus推送。
本插件由tty228/luci-app-serverchan创建,然后七年修改为全能推送自用。

如果你在使用中遇到问题,请到这里提交:") +.. [[]] +.. translate("github 项目地址") +.. [[]] +) + +m:section(SimpleSection).template = "pushbot/pushbot_status" + +s=m:section(NamedSection,"pushbot","pushbot",translate("")) +s:tab("basic", translate("基本设置")) +s:tab("content", translate("推送内容")) +s:tab("crontab", translate("定时推送")) +s:tab("disturb", translate("免打扰")) +s.addremove = false +s.anonymous = true + +--基本设置 +a=s:taboption("basic", Flag,"pushbot_enable",translate("启用")) +a.default=0 +a.rmempty = true + +--精简模式 +a = s:taboption("basic", MultiValue, "lite_enable", translate("精简模式")) +a:value("device", translate("精简当前设备列表")) +a:value("nowtime", translate("精简当前时间")) +a:value("content", translate("只推送标题")) +a.widget = "checkbox" +a.default = nil +a.optional = true + +--推送模式 +a=s:taboption("basic", ListValue,"jsonpath",translate("推送模式")) +a.default="/usr/bin/pushbot/api/dingding.json" +a.rmempty = true +a:value("/usr/bin/pushbot/api/dingding.json",translate("钉钉")) +a:value("/usr/bin/pushbot/api/ent_wechat.json",translate("企业微信")) +a:value("/usr/bin/pushbot/api/feishu.json",translate("飞书")) +a:value("/usr/bin/pushbot/api/bark.json",translate("Bark")) +a:value("/usr/bin/pushbot/api/pushplus.json",translate("PushPlus")) +a:value("/usr/bin/pushbot/api/pushdeer.json",translate("PushDeer")) +a:value("/usr/bin/pushbot/api/diy.json",translate("自定义推送")) + +a=s:taboption("basic", Value,"dd_webhook",translate('Webhook'), translate("钉钉机器人 Webhook")..",只输入access_token=后面的即可
调用代码获取点击这里

") +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/dingding.json") + +a=s:taboption("basic", Value, "we_webhook", translate("Webhook"),translate("企业微信机器人 Webhook")..",只输入key=后面的即可
调用代码获取点击这里

") +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/ent_wechat.json") + +a=s:taboption("basic", Value,"pp_token",translate('PushPlus Token'), translate("PushPlus Token").."
调用代码获取点击这里

") +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/pushplus.json") + +a=s:taboption("basic", ListValue,"pp_channel",translate('PushPlus Channel')) +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/pushplus.json") +a:value("wechat",translate("wechat:PushPlus微信公众号")) +a:value("cp",translate("cp:企业微信应用")) +a:value("webhook",translate("webhook:第三方webhook")) +a:value("sms",translate("sms:短信")) +a:value("mail",translate("mail:邮箱")) +a.description = translate("第三方webhook:企业微信、钉钉、飞书、server酱
sms短信/mail邮箱:PushPlus暂未开放
具体channel设定参见:点击这里") + +a=s:taboption("basic", Value,"pp_webhook",translate('PushPlus Custom Webhook'), translate("PushPlus 自定义Webhook").."
第三方webhook或企业微信调用
具体自定义Webhook设定参见:点击这里

") +a.rmempty = true +a:depends("pp_channel","cp") +a:depends("pp_channel","webhook") + +a=s:taboption("basic", Flag,"pp_topic_enable",translate("PushPlus 一对多推送")) +a.default=0 +a.rmempty = true +a:depends("pp_channel","wechat") + +a=s:taboption("basic", Value,"pp_topic",translate('PushPlus Topic'), translate("PushPlus 群组编码").."
一对多推送时指定的群组编码
具体群组编码Topic设定参见:点击这里

") +a.rmempty = true +a:depends("pp_topic_enable","1") + +a=s:taboption("basic", Value,"pushdeer_key",translate('PushDeer Key'), translate("PushDeer Key").."
调用代码获取点击这里

") +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/pushdeer.json") + +a=s:taboption("basic", Flag,"pushdeer_srv_enable",translate("自建 PushDeer 服务器")) +a.default=0 +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/pushdeer.json") + +a=s:taboption("basic", Value,"pushdeer_srv",translate('PushDeer Server'), translate("PushDeer 自建服务器地址").."
如https://your.domain:port
具体自建服务器设定参见:点击这里

") +a.rmempty = true +a:depends("pushdeer_srv_enable","1") + +a=s:taboption("basic", Value,"fs_webhook",translate('WebHook'), translate("飞书 WebHook").."
调用代码获取点击这里

") +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/feishu.json") + +a=s:taboption("basic", Value,"bark_token",translate('Bark Token'), translate("Bark Token").."
调用代码获取点击这里

") +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/bark.json") + +a=s:taboption("basic", Flag,"bark_srv_enable",translate("自建 Bark 服务器")) +a.default=0 +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/bark.json") + +a=s:taboption("basic", Value,"bark_srv",translate('Bark Server'), translate("Bark 自建服务器地址").."
如https://your.domain:port
具体自建服务器设定参见:点击这里

") +a.rmempty = true +a:depends("bark_srv_enable","1") + +a=s:taboption("basic", Value,"bark_sound",translate('Bark Sound'), translate("Bark 通知声音").."
如silence.caf
具体设定参见:点击这里

") +a.rmempty = true +a.default = "silence.caf" +a:depends("jsonpath","/usr/bin/pushbot/api/bark.json") + +a=s:taboption("basic", Flag,"bark_icon_enable",translate(" Bark 通知图标")) +a.default=0 +a.rmempty = true +a:depends("jsonpath","/usr/bin/pushbot/api/bark.json") + +a=s:taboption("basic", Value,"bark_icon",translate('Bark Icon'), translate("Bark 通知图标").."(仅 iOS15 或以上支持)
如http://day.app/assets/images/avatar.jpg
具体设定参见:点击这里

") +a.rmempty = true +a.default = "http://day.app/assets/images/avatar.jpg" +a:depends("bark_icon_enable","1") + +a=s:taboption("basic", Value,"bark_level",translate('Bark Level'), translate("Bark 时效性通知").."
可选参数值:
active:不设置时的默认值,系统会立即亮屏显示通知。
timeSensitive:时效性通知,可在专注状态下显示通知。
passive:仅将通知添加到通知列表,不会亮屏提醒。") +a.rmempty = true +a.default = "active" +a:depends("jsonpath","/usr/bin/pushbot/api/bark.json") + +a=s:taboption("basic", TextValue, "diy_json", translate("自定义推送")) +a.optional = false +a.rows = 28 +a.wrap = "soft" +a.cfgvalue = function(self, section) + return fs.readfile("/usr/bin/pushbot/api/diy.json") +end +a.write = function(self, section, value) + fs.writefile("/usr/bin/pushbot/api/diy.json", value:gsub("\r\n", "\n")) +end +a:depends("jsonpath","/usr/bin/pushbot/api/diy.json") + +a=s:taboption("basic", Button,"__add",translate("发送测试")) +a.inputtitle=translate("发送") +a.inputstyle = "apply" +function a.write(self, section) + luci.sys.call("cbi.apply") + luci.sys.call("/usr/bin/pushbot/pushbot test &") +end + +a=s:taboption("basic", Value,"device_name",translate('本设备名称')) +a.rmempty = true +a.description = translate("在推送信息标题中会标识本设备名称,用于区分推送信息的来源设备") + +a=s:taboption("basic", Value,"sleeptime",translate('检测时间间隔')) +a.rmempty = true +a.optional = false +a.default = "60" +a.datatype = "and(uinteger,min(10))" +a.description = translate("越短的时间时间响应越及时,但会占用更多的系统资源") + +a=s:taboption("basic", ListValue,"oui_data",translate("MAC设备信息数据库")) +a.rmempty = true +a.default="" +a:value("",translate("关闭")) +a:value("1",translate("简化版")) +a:value("2",translate("完整版")) +a:value("3",translate("网络查询")) +a.description = translate("需下载 4.36m 原始数据,处理后完整版约 1.2M,简化版约 250kb
若无梯子,请勿使用网络查询") + +a=s:taboption("basic", Flag,"oui_dir",translate("下载到内存")) +a.rmempty = true +a:depends("oui_data","1") +a:depends("oui_data","2") +a.description = translate("懒得做自动更新了,下载到内存中,重启会重新下载
若无梯子,还是下到机身吧") + +a=s:taboption("basic", Flag,"reset_regularly",translate("每天零点重置流量数据")) +a.rmempty = true + +a=s:taboption("basic", Flag,"debuglevel",translate("开启日志")) +a.rmempty = true + +a= s:taboption("basic", DynamicList, "device_aliases", translate("设备别名")) +a.rmempty = true +a.description = translate("
请输入设备 MAC 和设备别名,用“-”隔开,如:
XX:XX:XX:XX:XX:XX-我的手机") + +--设备状态 +a=s:taboption("content", ListValue,"pushbot_ipv4",translate("IPv4 变更通知")) +a.rmempty = true +a.default="" +a:value("",translate("关闭")) +a:value("1",translate("通过接口获取")) +a:value("2",translate("通过URL获取")) + +a = s:taboption("content", ListValue, "ipv4_interface", translate("接口名称")) +a.rmempty = true +a:depends({pushbot_ipv4="1"}) +for _, iface in ipairs(ifaces) do + if not (iface == "lo" or iface:match("^ifb.*")) then + local nets = net:get_interface(iface) + nets = nets and nets:get_networks() or {} + for k, v in pairs(nets) do + nets[k] = nets[k].sid + end + nets = table.concat(nets, ",") + a:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface)) + end +end +a.description = translate("
一般选择 wan 接口,多拨环境请自行选择") + +a=s:taboption("content", TextValue, "ipv4_list", translate("IPv4 API列表")) +a.optional = false +a.rows = 8 +a.wrap = "soft" +a.cfgvalue = function(self, section) + return fs.readfile("/usr/bin/pushbot/api/ipv4.list") +end +a.write = function(self, section, value) + fs.writefile("/usr/bin/pushbot/api/ipv4.list", value:gsub("\r\n", "\n")) +end +a.description = translate("
会因服务器稳定性、连接频繁等原因导致获取失败
如接口可以正常获取 IP,不推荐使用
从以上列表中随机地址访问") +a:depends({pushbot_ipv4="2"}) + +a=s:taboption("content", ListValue,"pushbot_ipv6",translate("IPv6 变更通知")) +a.rmempty = true +a.default="disable" +a:value("0",translate("关闭")) +a:value("1",translate("通过接口获取")) +a:value("2",translate("通过URL获取")) + +a = s:taboption("content", ListValue, "ipv6_interface", translate("接口名称")) +a.rmempty = true +a:depends({pushbot_ipv6="1"}) +for _, iface in ipairs(ifaces) do + if not (iface == "lo" or iface:match("^ifb.*")) then + local nets = net:get_interface(iface) + nets = nets and nets:get_networks() or {} + for k, v in pairs(nets) do + nets[k] = nets[k].sid + end + nets = table.concat(nets, ",") + a:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface)) + end +end +a.description = translate("
一般选择 wan 接口,多拨环境请自行选择") + +a=s:taboption("content", TextValue, "ipv6_list", translate("IPv6 API列表")) +a.optional = false +a.rows = 8 +a.wrap = "soft" +a.cfgvalue = function(self, section) + return fs.readfile("/usr/bin/pushbot/api/ipv6.list") +end +a.write = function(self, section, value) + fs.writefile("/usr/bin/pushbot/api/ipv6.list", value:gsub("\r\n", "\n")) +end +a.description = translate("
会因服务器稳定性、连接频繁等原因导致获取失败
如接口可以正常获取 IP,不推荐使用
从以上列表中随机地址访问") +a:depends({pushbot_ipv6="2"}) + +a=s:taboption("content", Flag,"pushbot_up",translate("设备上线通知")) +a.default=1 +a.rmempty = true + +a=s:taboption("content", Flag,"pushbot_down",translate("设备下线通知")) +a.default=1 +a.rmempty = true + +a=s:taboption("content", Flag,"cpuload_enable",translate("CPU 负载报警")) +a.default=1 +a.rmempty = true + +a= s:taboption("content", Value, "cpuload", "负载报警阈值") +a.default = 2 +a.rmempty = true +a:depends({cpuload_enable="1"}) + +a=s:taboption("content", Flag,"temperature_enable",translate("CPU 温度报警")) +a.default=1 +a.rmempty = true +a.description = translate("请确认设备可以获取温度,如需修改命令,请移步高级设置") + +a= s:taboption("content", Value, "temperature", "温度报警阈值") +a.rmempty = true +a.default = "80" +a.datatype="uinteger" +a:depends({temperature_enable="1"}) +a.description = translate("
设备报警只会在连续五分钟超过设定值时才会推送
而且一个小时内不会再提醒第二次") + +a=s:taboption("content", Flag,"client_usage",translate("设备异常流量")) +a.default=0 +a.rmempty = true + +a= s:taboption("content", Value, "client_usage_max", "每分钟流量限制") +a.default = "10M" +a.rmempty = true +a:depends({client_usage="1"}) +a.description = translate("设备异常流量警报(byte),你可以追加 K 或者 M") + +a=s:taboption("content", Flag,"client_usage_disturb",translate("异常流量免打扰")) +a.default=1 +a.rmempty = true +a:depends({client_usage="1"}) + +a = s:taboption("content", DynamicList, "client_usage_whitelist", translate("异常流量关注列表")) +nt.mac_hints(function(mac, name) a:value(mac, "%s (%s)" %{ mac, name }) end) +a.rmempty = true +a:depends({client_usage_disturb="1"}) +a.description = translate("请输入设备 MAC") + +--LoginNoti +a=s:taboption("content", Flag,"web_logged",translate("Web 登录提醒")) +a.default=0 +a.rmempty = true + +a=s:taboption("content", Flag,"ssh_logged",translate("SSH 登录提醒")) +a.default=0 +a.rmempty = true + +a=s:taboption("content", Flag,"web_login_failed",translate("Web 错误尝试提醒")) +a.default=0 +a.rmempty = true + +a=s:taboption("content", Flag,"ssh_login_failed",translate("SSH 错误尝试提醒")) +a.default=0 +a.rmempty = true + +a= s:taboption("content", Value, "login_max_num", "错误尝试次数") +a.default = "3" +a.datatype="and(uinteger,min(1))" +a:depends("web_login_failed","1") +a:depends("ssh_login_failed","1") +a.description = translate("超过次数后推送提醒") + +a=s:taboption("content", Flag,"web_login_black",translate("自动拉黑")) +a.default=0 +a.rmempty = true +a:depends("web_login_failed","1") +a:depends("ssh_login_failed","1") +a.description = translate("直到重启前都不会重置次数,请先添加白名单") + +a= s:taboption("content", Value, "ip_black_timeout", "拉黑时间(秒)") +a.default = "86400" +a.datatype="and(uinteger,min(0))" +a:depends("web_login_black","1") +a.description = translate("0 为永久拉黑,慎用
如不幸误操作,请更改设备 IP 进入 LUCI 界面清空规则") + +a=s:taboption("content", DynamicList, "ip_white_list", translate("白名单 IP 列表")) +a.datatype = "ipaddr" +a.rmempty = true +luci.ip.neighbors({family = 4}, function(entry) + if entry.reachable then + a:value(entry.dest:string()) + end +end) +a:depends("web_logged","1") +a:depends("ssh_logged","1") +a:depends("web_login_failed","1") +a:depends("ssh_login_failed","1") +a.description = translate("忽略白名单登陆提醒和拉黑操作,暂不支持掩码位表示") + +a=s:taboption("content", TextValue, "ip_black_list", translate("IP 黑名单列表")) +a.optional = false +a.rows = 8 +a.wrap = "soft" +a.cfgvalue = function(self, section) + return fs.readfile("/usr/bin/pushbot/api/ip_blacklist") +end +a.write = function(self, section, value) + fs.writefile("/usr/bin/pushbot/api/ip_blacklist", value:gsub("\r\n", "\n")) +end +a:depends("web_login_black","1") + +--定时推送 +a=s:taboption("crontab", ListValue,"crontab",translate("定时任务设定")) +a.rmempty = true +a.default="" +a:value("",translate("关闭")) +a:value("1",translate("定时发送")) +a:value("2",translate("间隔发送")) + +a=s:taboption("crontab", ListValue,"regular_time",translate("发送时间")) +a.rmempty = true +for t=0,23 do +a:value(t,translate("每天"..t.."点")) +end +a.default=8 +a.datatype=uinteger +a:depends("crontab","1") + +a=s:taboption("crontab", ListValue,"regular_time_2",translate("发送时间")) +a.rmempty = true +a:value("",translate("关闭")) +for t=0,23 do +a:value(t,translate("每天"..t.."点")) +end +a.default="关闭" +a.datatype=uinteger +a:depends("crontab","1") + +a=s:taboption("crontab", ListValue,"regular_time_3",translate("发送时间")) +a.rmempty = true + +a:value("",translate("关闭")) +for t=0,23 do +a:value(t,translate("每天"..t.."点")) +end +a.default="关闭" +a.datatype=uinteger +a:depends("crontab","1") + +a=s:taboption("crontab", ListValue,"interval_time",translate("发送间隔")) +a.rmempty = true +for t=1,23 do +a:value(t,translate(t.."小时")) +end +a.default=6 +a.datatype=uinteger +a:depends("crontab","2") +a.description = translate("
从 00:00 开始,每 * 小时发送一次") + +a= s:taboption("crontab", Value, "send_title", translate("推送标题")) +a:depends("crontab","1") +a:depends("crontab","2") +a.placeholder = "OpenWrt By tty228 路由状态:" +a.description = translate("
使用特殊符号可能会造成发送失败") + +a=s:taboption("crontab", Flag,"router_status",translate("系统运行情况")) +a.default=1 +a:depends("crontab","1") +a:depends("crontab","2") + +a=s:taboption("crontab", Flag,"router_temp",translate("设备温度")) +a.default=1 +a:depends("crontab","1") +a:depends("crontab","2") + +a=s:taboption("crontab", Flag,"router_wan",translate("WAN信息")) +a.default=1 +a:depends("crontab","1") +a:depends("crontab","2") + +a=s:taboption("crontab", Flag,"client_list",translate("客户端列表")) +a.default=1 +a:depends("crontab","1") +a:depends("crontab","2") + +a=s:taboption("crontab", Value,"google_check_timeout",translate("全球互联检测超时时间")) +a.rmempty = true +a.optional = false +a.default = "10" +a.datatype = "and(uinteger,min(3))" +a.description = translate("过短的时间可能导致检测不准确") + +e=s:taboption("crontab", Button,"_add",translate("手动发送")) +e.inputtitle=translate("发送") +e:depends("crontab","1") +e:depends("crontab","2") +e.inputstyle = "apply" +function e.write(self, section) +luci.sys.call("cbi.apply") + luci.sys.call("/usr/bin/pushbot/pushbot send &") +end + +--免打扰 +a=s:taboption("disturb", ListValue,"pushbot_sheep",translate("免打扰时段设置"),translate("在指定整点时间段内,暂停推送消息
免打扰时间中,定时推送也会被阻止。")) +a.rmempty = true + +a:value("",translate("关闭")) +a:value("1",translate("模式一:脚本挂起")) +a:value("2",translate("模式二:静默模式")) +a.description = translate("模式一停止一切检测,包括无人值守。") +a=s:taboption("disturb", ListValue,"starttime",translate("免打扰开始时间")) +a.rmempty = true + +for t=0,23 do +a:value(t,translate("每天"..t.."点")) +end +a.default=0 +a.datatype=uinteger +a:depends({pushbot_sheep="1"}) +a:depends({pushbot_sheep="2"}) +a=s:taboption("disturb", ListValue,"endtime",translate("免打扰结束时间")) +a.rmempty = true + +for t=0,23 do +a:value(t,translate("每天"..t.."点")) +end +a.default=8 +a.datatype=uinteger +a:depends({pushbot_sheep="1"}) +a:depends({pushbot_sheep="2"}) + +a=s:taboption("disturb", ListValue,"macmechanism",translate("MAC过滤")) +a:value("",translate("disable")) +a:value("allow",translate("忽略列表内设备")) +a:value("block",translate("仅通知列表内设备")) +a:value("interface",translate("仅通知此接口设备")) +a.rmempty = true + + +a = s:taboption("disturb", DynamicList, "pushbot_whitelist", translate("忽略列表")) +nt.mac_hints(function(mac, name) a :value(mac, "%s (%s)" %{ mac, name }) end) +a.rmempty = true +a:depends({macmechanism="allow"}) +a.description = translate("AA:AA:AA:AA:AA:AA\\|BB:BB:BB:BB:BB:B 可以将多个 MAC 视为同一用户
任一设备在线后不再推送,设备全部离线时才会推送,避免双 wifi 频繁推送") + +a = s:taboption("disturb", DynamicList, "pushbot_blacklist", translate("关注列表")) +nt.mac_hints(function(mac, name) a:value(mac, "%s (%s)" %{ mac, name }) end) +a.rmempty = true +a:depends({macmechanism="block"}) +a.description = translate("AA:AA:AA:AA:AA:AA\\|BB:BB:BB:BB:BB:B 可以将多个 MAC 视为同一用户
任一设备在线后不再推送,设备全部离线时才会推送,避免双 wifi 频繁推送") + +a = s:taboption("disturb", ListValue, "pushbot_interface", translate("接口名称")) +a:depends({macmechanism="interface"}) +a.rmempty = true + +for _, iface in ipairs(ifaces) do + if not (iface == "lo" or iface:match("^ifb.*")) then + local nets = net:get_interface(iface) + nets = nets and nets:get_networks() or {} + for k, v in pairs(nets) do + nets[k] = nets[k].sid + end + nets = table.concat(nets, ",") + a:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface)) + end +end + +a=s:taboption("disturb", ListValue,"macmechanism2",translate("MAC过滤2")) +a:value("",translate("disable")) +a:value("MAC_online",translate("列表内任意设备在线时免打扰")) +a:value("MAC_offline",translate("列表内设备都离线后免打扰")) +a.rmempty = true + +a = s:taboption("disturb", DynamicList, "MAC_online_list", translate("在线免打扰列表")) +nt.mac_hints(function(mac, name) a:value(mac, "%s (%s)" %{ mac, name }) end) +a.rmempty = true +a:depends({macmechanism2="MAC_online"}) + +a = s:taboption("disturb", DynamicList, "MAC_offline_list", translate("任意离线免打扰列表")) +nt.mac_hints(function(mac, name) a:value(mac, "%s (%s)" %{ mac, name }) end) +a.rmempty = true +a:depends({macmechanism2="MAC_offline"}) + +return m diff --git a/luci-app-pushbot/luasrc/view/pushbot/pushbot_log.htm b/luci-app-pushbot/luasrc/view/pushbot/pushbot_log.htm new file mode 100644 index 00000000..42b1e52e --- /dev/null +++ b/luci-app-pushbot/luasrc/view/pushbot/pushbot_log.htm @@ -0,0 +1,33 @@ +<% +local dsp = require "luci.dispatcher" +-%> + + +
+ <%:自动刷新%> + + +
diff --git a/luci-app-pushbot/luasrc/view/pushbot/pushbot_status.htm b/luci-app-pushbot/luasrc/view/pushbot/pushbot_status.htm new file mode 100644 index 00000000..a60c1967 --- /dev/null +++ b/luci-app-pushbot/luasrc/view/pushbot/pushbot_status.htm @@ -0,0 +1,22 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/luci-app-pushbot/root/etc/config/pushbot b/luci-app-pushbot/root/etc/config/pushbot new file mode 100644 index 00000000..89af5a7a --- /dev/null +++ b/luci-app-pushbot/root/etc/config/pushbot @@ -0,0 +1,10 @@ + +config pushbot 'pushbot' + option pushbot_enable '0' + option sleeptime '60' + option pushbot_ipv6 '0' + option pushbot_up '1' + option pushbot_down '1' + option cpuload_enable '1' + option cpuload '2' + option temperature_enable '0' diff --git a/luci-app-pushbot/root/etc/init.d/pushbot b/luci-app-pushbot/root/etc/init.d/pushbot new file mode 100755 index 00000000..915ee989 --- /dev/null +++ b/luci-app-pushbot/root/etc/init.d/pushbot @@ -0,0 +1,26 @@ +#!/bin/sh /etc/rc.common + +START=99 +STOP=10 + +start() { + state=`pgrep -f "/usr/bin/pushbot/pushbot"` + if [ ! -z "$state" ]; then + restart + else + /usr/bin/pushbot/pushbot & + fi + echo "pushbot is starting now ..." +} + +stop() { + kill -9 `pgrep -f "/usr/bin/pushbot/pushbot"` 2>/dev/null + echo "pushbot exit ..." +} + +restart(){ + stop + sleep 1 + start + echo "restarted." +} diff --git a/luci-app-pushbot/root/etc/uci-defaults/luci-pushbot b/luci-app-pushbot/root/etc/uci-defaults/luci-pushbot new file mode 100755 index 00000000..b29a280f --- /dev/null +++ b/luci-app-pushbot/root/etc/uci-defaults/luci-pushbot @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@pushbot[-1] + add ucitrack pushbot + set ucitrack.@pushbot[-1].init=pushbot + commit ucitrack +EOF + +rm -rf /tmp/luci-* +exit 0 diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/bark.json b/luci-app-pushbot/root/usr/bin/pushbot/api/bark.json new file mode 100644 index 00000000..8d1f73ab --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/bark.json @@ -0,0 +1,36 @@ +{ + "_api": "这是Bark推送 post 模板信息 api 文件", + "_api": "【Bark推送】", + + "url": "${bark_srv}/push", + "data": "@${tempjsonpath}", + "content_type": "Content-Type: application/json; charset=utf-8", + "str_title_start": "【", + "str_title_end": "】", + "str_linefeed": "\\n", + "str_splitline": "\\n\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "", + "font_green": "", + "font_green2": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "", + "boldstar": "", + "type": { + "device_key": "\"${bark_token}\"", + "title": "\"${1}\"", + "body": "\"${nowtime}${str_linefeed}${2}\"", + "ext_params": { + "group": "\"${device_name}\"", + "isArchive": "1", + "icon": "\"${bark_icon}\"", + "level": "\"${bark_level}\"" + }, + "sound": "\"${bark_sound}\"" + } +} \ No newline at end of file diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/dingding.json b/luci-app-pushbot/root/usr/bin/pushbot/api/dingding.json new file mode 100644 index 00000000..c28a90ed --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/dingding.json @@ -0,0 +1,32 @@ +{ + "_api": "这是 Pushbot:钉钉 api 文件", + "_api": "【钉钉推送】", + + "url": "\"https://oapi.dingtalk.com/robot/send?access_token=${dd_webhook}\"", + "data": "@${tempjsonpath}", + "content_type": "Content-Type:application/json", + "str_title_start": "**", + "str_title_end": "**", + "str_linefeed": "\\n\\n", + "str_splitline": "\\n\\n---\\n\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "", + "font_green": "", + "font_green2": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "", + "boldstar": "**", + "type": + { + "msgtype": "\"markdown\"", + "markdown": { + "title": "\"${1}\"", + "text": "\"${str_title_start}${font_purple}${1}${font_end}${str_title_end}${str_linefeed}${nowtime}${str_linefeed}${2}${str_linefeed}${font_purple}${1}${font_end}\"" + } + } +} diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/diy.json b/luci-app-pushbot/root/usr/bin/pushbot/api/diy.json new file mode 100644 index 00000000..c22f0bc7 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/diy.json @@ -0,0 +1,50 @@ +{ + "_//": "-------------------------------------------------------------------------------", + "_readme": "这是 自定义 api 文件,这里以 telegram 为例", + "_readme": "特殊符号请使用斜杠转义,变量使用 ${var} 表示", + "_//": "-------------------------------------------------------------------------------", + "_api": "【DIY 推送】", + "_url": "api 地址", + "_data": "生成的 json 文件路径,一般不需要改,如 api 不支持 json,请参考 serverchan 推送接口", + "_content_type": "post 内容类型,这里为 json", + "_//": "-------------------------------------------------------------------------------", + "_str_title_start": "标题粗体字开始符号", + "_str_title_end": "标题粗体字结束符号", + "_str_linefeed": "换行符号", + "_str_splitline": "换行+分隔符", + "_str_space": "空格", + "_str_tab": "TAB(用在行首,生成文字区块)", + "_//": "-------------------------------------------------------------------------------", + "_type": + { + "_readme": "type 对象因为需要转义变量,前后必须使用 斜杠+双引号 转义", + "_readme": "参照上文说明,填写下文相关参数" + }, + "_//": "-------------------------------------------------------------------------------", + + "url": "https://api.telegram.org/bot${tg_token}/sendMessage", + "data": "@${tempjsonpath}", + "content_type": "Content-Type: application/json", + "str_title_start": "", + "str_title_end": "", + "str_linefeed": "\\n", + "str_splitline": "\\n----\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "", + "font_green": "", + "font_green2": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "25", + "boldstar": "**", + "type": + { + "text":"\"${str_title_start}${1}${str_title_end}${str_splitline}${nowtime}${2}\"", + "chat_id":"\"${chat_id}\"", + "parse_mode":"\"HTML\"" + } +} diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/ent_wechat.json b/luci-app-pushbot/root/usr/bin/pushbot/api/ent_wechat.json new file mode 100644 index 00000000..14d3ea74 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/ent_wechat.json @@ -0,0 +1,32 @@ +{ + "_api": "这是企业微信 markdown 模板信息 api 文件", + "_api": "【企业微信】", + + "url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${we_webhook}", + "data": "@${tempjsonpath}", + "content_type": "Content-Type: application/json", + "str_title_start": "#### ", + "str_title_end": "", + "str_linefeed": "\\n", + "str_splitline": "\\n------\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "", + "font_green": "", + "font_green2": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "", + "boldstar": "**", + "type": + { + "msgtype": "\"markdown\"", + "markdown": { + "title": "\"${1}\"", + "content": "\"${str_title_start}${font_purple}${1}${font_end}${str_title_end}${str_linefeed}${nowtime}${str_linefeed}${2}\"" + } + } +} diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/feishu.json b/luci-app-pushbot/root/usr/bin/pushbot/api/feishu.json new file mode 100644 index 00000000..0d16bf93 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/feishu.json @@ -0,0 +1,61 @@ +{ + "_api": "这是飞书推送 post 模板信息 api 文件", + "_api": "【飞书推送】", + + "url": "https://open.feishu.cn/open-apis/bot/v2/hook/${fs_webhook}", + "data": "@${tempjsonpath}", + "content_type": "Content-Type: application/json", + "str_title_start": "**", + "str_title_end": "**", + "str_linefeed": "\\n", + "str_splitline": "\\n\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "", + "font_green": "", + "font_green": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "", + "boldstar": "**", + "type": + { + "msg_type": "\"interactive\"", + "card": { + "config": { + "wide_screen_mode": "true" + }, + "header": { + "template": "\"purple\"", + "title": { + "content": "\"${1}\"", + "tag": "\"plain_text\"" + } + }, + "elements": [ + { + "tag": "\"div\"", + "text": { + "content": "\"${nowtime}${str_linefeed}${2}\"", + "tag": "\"lark_md\"" + } + }, + { + "tag": "\"hr\"" + }, + { + "elements": [ + { + "content": "\"来自${device_name}\"", + "tag": "\"lark_md\"" + } + ], + "tag": "\"note\"" + } + ] + } + } +} diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/ip_blacklist b/luci-app-pushbot/root/usr/bin/pushbot/api/ip_blacklist new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/ip_blacklist @@ -0,0 +1 @@ + diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/ipv4.list b/luci-app-pushbot/root/usr/bin/pushbot/api/ipv4.list new file mode 100644 index 00000000..72081532 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/ipv4.list @@ -0,0 +1,6 @@ +www.cip.cc +ipv4.ddnspod.com +ifcfg.cn +speed.neu.edu.cn/getIP.php +ddns.oray.com/checkip +www.net.cn/static/customercare/yourip.asp diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/ipv6.list b/luci-app-pushbot/root/usr/bin/pushbot/api/ipv6.list new file mode 100644 index 00000000..5f1ca230 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/ipv6.list @@ -0,0 +1,5 @@ +ip.sb +ipv6.ddnspod.com +api-ipv6.ip.sb/ip +speed.neu6.edu.cn/getIP.php +v6.myip.la/json diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/pushdeer.json b/luci-app-pushbot/root/usr/bin/pushbot/api/pushdeer.json new file mode 100644 index 00000000..441d7d30 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/pushdeer.json @@ -0,0 +1,31 @@ +{ + "_api": "这是 PushDeer推送 api 文件", + "_api": "【PushDeer推送】", + + "url": "${pushdeer_srv}/message/push", + "data": "@${tempjsonpath}", + "content_type": "Content-Type:application/json", + "str_title_start": "**【", + "str_title_end": "】**", + "str_linefeed": "\\n\\n", + "str_splitline": "\\n\\n---\\n\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "┋", + "font_green": "", + "font_green2": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "", + "boldstar": "**", + "type": + { + "pushkey": "\"${pushdeer_key}\"", + "type": "\"markdown\"", + "text": "\"${1}\"", + "desp": "\"${nowtime}${str_linefeed}${2}\"" + } +} diff --git a/luci-app-pushbot/root/usr/bin/pushbot/api/pushplus.json b/luci-app-pushbot/root/usr/bin/pushbot/api/pushplus.json new file mode 100644 index 00000000..855472ff --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/api/pushplus.json @@ -0,0 +1,34 @@ +{ + "_api": "这是 Pushbot:PushPlus api 文件", + "_api": "【PushPlus推送】", + + "url": "http://www.pushplus.plus/send", + "data": "@${tempjsonpath}", + "content_type": "Content-Type:application/json", + "str_title_start": "#### ", + "str_title_end": "", + "str_linefeed": "\\n\\n", + "str_splitline": "\\n----\\n", + "str_space": " ", + "str_tab": " ", + "table_tab": "", + "font_green": "", + "font_green2": "", + "font_red": "", + "font_blue": "", + "font_purple": "", + "font_end": "", + "font_end2": "", + "percentsym": "", + "boldstar": "", + "type": + { + "token": "\"${pp_token}\"", + "channel": "\"${pp_channel}\"", + "webhook": "\"${pp_webhook}\"", + "topic": "\"${pp_topic}\"", + "title": "\"${1}\"", + "content": "\"${2}\"", + "template": "\"markdown\"" + } +} diff --git a/luci-app-pushbot/root/usr/bin/pushbot/pushbot b/luci-app-pushbot/root/usr/bin/pushbot/pushbot new file mode 100755 index 00000000..2968c6d5 --- /dev/null +++ b/luci-app-pushbot/root/usr/bin/pushbot/pushbot @@ -0,0 +1,1274 @@ +#!/bin/sh + +# 读取设置文件 +function get_config(){ + while [[ "$*" != "" ]]; do + eval ${1}='`uci get pushbot.pushbot.$1`' 2>/dev/null + shift + done +} + +# 初始化设置信息 +function read_config(){ + get_config "pushbot_enable" "lite_enable" "device_name" "sleeptime" "oui_dir" "oui_data" "reset_regularly" "debuglevel" "device_aliases" \ + "pushbot_ipv4" "ipv4_interface" "pushbot_ipv6" "ipv6_interface" "pushbot_up" "pushbot_down" "cpuload_enable" "cpuload" "temperature_enable" "temperature" \ + "regular_time" "regular_time_2" "regular_time_3" "interval_time" \ + "client_usage" "client_usage_max" "client_usage_disturb" "client_usage_whitelist" \ + "web_logged" "ssh_logged" "web_login_failed" "ssh_login_failed" "login_max_num" "web_login_black" "ip_white_list" "ip_black_timeout" \ + "pushbot_sheep" "starttime" "endtime" "pushbot_whitelist" "pushbot_blacklist" "pushbot_interface" "MAC_online_list" "MAC_offline_list" \ + "up_timeout" "down_timeout" "timeout_retry_count" "thread_num" "soc_code" "pve_host" "pve_port"\ + "err_enable" "err_sheep_enable" "err_device_aliases" "network_err_event" "system_time_event" "autoreboot_time" "network_restart_time" "public_ip_event" "public_ip_retry_count" \ + "jsonpath" "dd_webhook" "we_webhook" "pp_token" "pp_channel" "pp_webhook" "pp_topic_enable" "pp_topic" "fs_webhook" "pushdeer_key" "pushdeer_srv_enable" "pushdeer_srv" "bark_srv_enable" "bark_srv" "bark_token" "bark_sound" "bark_icon" "bark_icon_enable" "bark_level" + + for str_version in "wrtbwmon" "iputils-arping" "curl" "iw"; do + eval `echo ${str_version:0:2}"_version"`=`opkg list-installed|grep -w ^${str_version}|awk '{print $3}'` 2>/dev/null + done + dir="/tmp/pushbot/" && mkdir -p ${dir} + tempjsonpath="/tmp/pushbot/temp.json" + ip_blacklist_path="/usr/bin/pushbot/api/ip_blacklist" + [ ! -z "$oui_dir" ] && [ "$oui_dir" -eq "1" ] && oui_base="${dir}oui_base.txt" || oui_base="/usr/bin/pushbot/oui_base.txt" + debuglevel=`echo "$debuglevel"` && [ -z "$debuglevel" ] && logfile="/dev/null" || logfile="${dir}pushbot.log" + pushbot_blacklist=`echo "$pushbot_blacklist"|sed 's/ /\n/g'` 2>/dev/null + pushbot_whitelist=`echo "$pushbot_whitelist"|sed 's/ /\n/g'` 2>/dev/null + device_aliases=`echo "$device_aliases"|sed 's/ /\n/g'|sed 's/-/ /'` 2>/dev/null + err_device_aliases=`echo "$err_device_aliases"|sed 's/ /\n/g'` 2>/dev/null + client_usage_whitelist=`echo "$client_usage_whitelist"|sed 's/ /\n/g'` 2>/dev/null + ip_white_list=`echo "$ip_white_list"|sed 's/ /\n/g'` 2>/dev/null + mark_mac_list="${MAC_online_list} ${MAC_offline_list}" + mark_mac_list=`echo "$mark_mac_list"|sed 's/ /\n/g'|sed 's/-/ /'` 2>/dev/null + ipv4_urllist=`cat /usr/bin/pushbot/api/ipv4.list` 2>/dev/null + ipv6_urllist=`cat /usr/bin/pushbot/api/ipv6.list` 2>/dev/null + [ -z "$pushbot_ipv4" ] && pushbot_ipv4=0 + [ -z "$pushbot_ipv6" ] && pushbot_ipv6=0 + [ "$iw_version" ] && wlan_interface=`iw dev|grep Interface|awk '{print $2}'` >/dev/null 2>&1 + [ -z "$up_timeout" ] || [ "$up_timeout" -eq "0" ] && up_timeout="2" + [ -z "$down_timeout" ] || [ "$down_timeout" -eq "0" ] && down_timeout="20";down_timeout=`expr ${down_timeout} / 2 + 1` + [ -z "$timeout_retry_count" ] && timeout_retry_count="2";[ "$timeout_retry_count" -eq "0" ] && timeout_retry_count="1" + [ ! -z "$bark_token" ] && [ -z "$bark_srv" ] && bark_srv="https://api.day.app" + [ ! -z "$pushdeer_key" ] && [ -z "$pushdeer_srv" ] && pushdeer_srv="https://api2.pushdeer.com" + +# 字符串读取 + str_title_start=`/usr/bin/jq -r '.str_title_start' ${jsonpath}` + str_title_end=`/usr/bin/jq -r '.str_title_end' ${jsonpath}` + str_linefeed=`/usr/bin/jq -r '.str_linefeed' ${jsonpath}` + str_splitline=`/usr/bin/jq -r '.str_splitline' ${jsonpath}` + str_space=`/usr/bin/jq -r '.str_space' ${jsonpath}` + str_tab=`/usr/bin/jq -r '.str_tab' ${jsonpath}` + font_red=`/usr/bin/jq -r '.font_red' ${jsonpath}` + font_green=`/usr/bin/jq -r '.font_green' ${jsonpath}` + font_green2=`/usr/bin/jq -r '.font_green2' ${jsonpath}` + font_blue=`/usr/bin/jq -r '.font_blue' ${jsonpath}` + font_purple=`/usr/bin/jq -r '.font_purple' ${jsonpath}` + font_end=`/usr/bin/jq -r '.font_end' ${jsonpath}` + font_end2=`/usr/bin/jq -r '.font_end2' ${jsonpath}` + percentsym=`/usr/bin/jq -r '.percentsym' ${jsonpath}` + boldstar=`/usr/bin/jq -r '.boldstar' ${jsonpath}` + table_tab=`/usr/bin/jq -r '.tabletab' ${jsonpath}` + ( echo "$lite_enable"|grep -q "content" ) && str_title_start="" && str_title_end="" && str_splitline="" && str_linefeed="" && str_tab="" +} + + + +# 初始化 +function pushbot_init(){ + enable_detection + if [ -f "/usr/bin/pushbot/errlog" ]; then + cat /usr/bin/pushbot/errlog > ${logfile} + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】载入上次重启前日志" >> ${logfile} + echo "--------------------------------------------------------" >> ${logfile} + fi + down_oui & + deltemp + get_syslog + add_ip_black + + rm -f ${dir}fd1 ${dir}sheep_usage ${dir}old_sheep_usage ${dir}client_usage_aliases ${dir}old_client_usage_aliases /usr/bin/pushbot/errlog >/dev/null 2>&1 + [ ! -f "/usr/sbin/wrtbwmon" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】未安装 wrtbwmon ,流量统计不可用" >> ${logfile} + [ -z "$ip_version" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法获取依赖项 iputils-arping 版本号,请确认插件是否正常运行" >> ${logfile} + [ -z "$cu_version" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法获取依赖项 curl 版本号,请确认插件是否正常运行" >> ${logfile} + [ -z "${dd_webhook}${pp_token}${we_webhook}${fs_webhook}${bark_token}${pushdeer_key}" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】请填写正确的Token/Webhook " >> ${logfile} && return 1 + local interfacelist=`getinterfacelist` && [ -z "$interfacelist" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法正确获取接口信息,请确认插件是否正常运行" >> ${logfile} + return 0 +} + +# 推送 +function diy_send(){ + ( ! echo "$lite_enable"|grep -q "content" ) && ( ! echo "$lite_enable"|grep -q "nowtime" ) && local nowtime=`date "+%Y-%m-%d %H:%M:%S"` + local diyurl=`/usr/bin/jq -r .url ${3}` && local diyurl=`eval echo ${diyurl}` + local type=`/usr/bin/jq -r '.type' ${3}` && local type=`eval echo ${type}` + local data=`/usr/bin/jq -r '.data' ${3}` && local data=`eval echo ${data}` + local content_type=`/usr/bin/jq -r '.content_type' ${3}` + /usr/bin/jq ".type + $type" ${jsonpath} > ${tempjsonpath} + /usr/bin/jq -r '.[]' ${tempjsonpath}|grep -w "null" && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】参数值错误,请检查设置项 `/usr/bin/jq -r '.' ${tempjsonpath}|grep "null"`" >> ${logfile} && return 1 + [ -f ${tempjsonpath} ] && local logrow=$(grep -c "" ${tempjsonpath}) || local logrow="0" + [ $logrow -eq "0" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】json 文件生成失败,请检查文件格式" >> ${logfile} && return 1 + /usr/bin/jq -r '.[]' ${tempjsonpath}|grep "null" && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】参数变量生成失败,请检查设置项 `/usr/bin/jq -r '.' ${tempjsonpath}|grep "null"`" >> ${logfile} + + curl -X POST -H "$content_type" -d "${data}" "${diyurl}" +} + +# 下载设备MAC厂商信息 +function down_oui(){ + [ -f ${oui_base} ] && local logrow=$(grep -c "" ${oui_base}) || local logrow="0" + [ $logrow -lt "10" ] && rm -f ${oui_base} >/dev/null 2>&1 + if [ ! -z "$oui_data" ] && [ "$oui_data" -ne "3" ] && [ ! -f ${oui_base} ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】设备MAC厂商信息不存在,重新下载" >> ${logfile} + wget --no-check-certificate -t 3 -T 15 -O ${dir}oui.txt https://linuxnet.ca/ieee/oui.txt >/dev/null 2>&1 + if [ -f ${dir}oui.txt ] && [ "$oui_data" -eq "1" ]; then + cat ${dir}oui.txt|grep "base 16"|grep -i "apple\|aruba\|asus\|autelan\|belkin\|bhu\|buffalo\|cctf\|cisco\|comba\|datang\|dell\|dlink\|dowell\|ericsson\|fast\|feixun\|\ +fiberhome\|fujitsu\|grentech\|h3c\|hisense\|hiwifi\|honghai\|honghao\|hp\|htc\|huawei\|intel\|jinli\|jse\|lenovo\|lg\|liteon\|malata\|meizu\|mercury\|meru\|moto\|netcore\|\ +netgear\|nokia\|omron\|oneplus\|oppo\|philips\|router_unkown\|samsung\|shanzhai\|sony\|start_net\|sunyuanda\|tcl\|tenda\|texas\|tianyu\|tp-link\|ubq\|undefine\|VMware\|\ +utstarcom\|volans\|xerox\|xiaomi\|zdc\|zhongxing\|smartisan" > ${oui_base} && echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】设备MAC厂商信息下载成功" >> ${logfile} || echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】设备MAC厂商信息下载失败" >> ${logfile} + fi + if [ -f ${dir}oui.txt ] && [ "$oui_data" -eq "2" ]; then + cat ${dir}oui.txt|grep "base 16" > ${oui_base} && echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】设备MAC厂商信息下载成功" >> ${logfile} || echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】设备MAC厂商信息下载失败" >> ${logfile} + fi + rm -f ${dir}oui.txt >/dev/null 2>&1 + fi +} + +# 清理临时文件 +function deltemp(){ + unset title content ipAddress_logrow online_list online_mac mac_online_status + rm -f ${dir}title ${dir}content ${dir}tmp_downlist ${dir}send_enable.lock ${tempjsonpath} >/dev/null 2>&1 + LockFile unlock + [ -f ${logfile} ] && local logrow=$(grep -c "" ${logfile}) || local logrow="0" + [ $logrow -gt 500 ] && sed -i '1,100d' ${logfile} && echo "`date "+%Y-%m-%d %H:%M:%S"` 【清理】日志超出上限,删除前 100 条" >> ${logfile} +} + +# 检测程序开关 +function enable_detection(){ + [ ! "$1" ] && local time_n=1 + for i in `seq 1 $time_n`; do + get_config pushbot_enable;[ -z "$pushbot_enable" ] || [ "$pushbot_enable" -eq "0" ] && `/etc/init.d/pushbot stop` || sleep 1 + done +} + +# 获取 ip +function getip(){ + [ ! "$1" ] && return + if [ $1 == "wanipv4" ] ;then + [ ! -z "$ipv4_interface" ] && local wanIP=$(/sbin/ifconfig ${ipv4_interface}|awk '/inet addr/ {print $2}'|awk -F: '{print $2}'|grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') + [ -z "$ipv4_interface" ] && local wanIP=$(getinterfacelist|grep '\"address\"'|grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') + echo "$wanIP" + elif [ $1 == "hostipv4" ] ;then + function get_hostipv4() + { + local url_number=`echo "$ipv4_urllist"|wc -l` + local ipv4_URL=`echo "$ipv4_urllist"| sed -n "$(rand 1 $url_number)p"|sed -e 's/\r//g'` + [ ! -z "$ipv4_interface" ] && local hostIP=$(curl -k -s -4 --interface ${ipv4_interface} -m 5 ${ipv4_URL}) || local hostIP=$(curl -k -s -4 -m 5 ${ipv4_URL}) + echo $hostIP|grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|head -n1 + } + local hostIP=`get_hostipv4` + [ -z "$hostIP" ] && local hostIP=`get_hostipv4` + [ -z "$hostIP" ] && local hostIP=`get_hostipv4` + echo $hostIP # 重试,偷懒,有空再优化 + elif [ $1 == "wanipv6" ] ;then + [ ! -z "$ipv6_interface" ] && local wanIPv6=$(ip addr show ${ipv6_interface}|grep -v deprecated|grep -A1 'inet6 [^f:]'|sed -nr ':a;N;s#^ +inet6 ([a-f0-9:]+)/.+? scope global .*? valid_lft ([0-9]+sec) .*#\2 \1#p;ta'|sort -nr|head -n1|awk '{print $2}') + [ -z "$ipv6_interface" ] && local wanIPv6=$(ip addr show|grep -v deprecated|grep -A1 'inet6 [^f:]'|sed -nr ':a;N;s#^ +inet6 ([a-f0-9:]+)/.+? scope global .*? valid_lft ([0-9]+sec) .*#\2 \1#p;ta'|sort -nr|head -n1|awk '{print $2}') + echo "$wanIPv6" + elif [ $1 == "hostipv6" ] ;then + function get_hostipv6() + { + local urlv6_number=`echo "$ipv6_urllist"|wc -l` + local ipv6_URL=`echo "$ipv6_urllist"| sed -n "$(rand 1 $urlv6_number)p"|sed -e 's/\r//g'` + [ ! -z "$ipv6_interface" ] && local hostIPv6=$(curl -k -s -6 --interface ${ipv6_interface} -m 5 ${ipv6_URL}) || local hostIPv6=$(curl -k -s -6 -m 5 ${ipv6_URL}) + echo $hostIPv6|grep -oE '([\da-fA-F0-9]{1,4}(:{1,2})){1,15}[\da-fA-F0-9]{1,4}'|head -n1 + } + local hostIPv6=`get_hostipv6` + [ -z "$hostIPv6" ] && local hostIPv6=`get_hostipv6` + [ -z "$hostIPv6" ] && local hostIPv6=`get_hostipv6` + echo $hostIPv6 # 重试,偷懒,有空再优化 + fi +} + +# 获取接口信息 +function getinterfacelist(){ + [ `ubus list|grep -w -i "network.interface.wan"|wc -l` -ge "1" ] && ubus call network.interface.wan status && return + [ `ubus list|grep -i "network.interface."|grep -v "loopback"|grep -v "wan6"|wc -l` -eq "1" ] && ubus call `ubus list|grep "network.interface."|grep -v "loopback"` status && return +} + +# 获取接口在线时间 +function getinterfaceuptime(){ + getinterfacelist|grep \"uptime\"|sed $'s/\"uptime": //g'|sed $'s/\,//g' +} + +# 查询 mac 地址 +function getmac(){ + ( echo "$tmp_mac"|grep -q "unknown" ) && unset tmp_mac # 为unknown时重新读取 + [ -f "${dir}ipAddress" ] && [ -z "$tmp_mac" ] && local tmp_mac=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` + [ -f "${dir}tmp_downlist" ] && [ -z "$tmp_mac" ] && local tmp_mac=`cat ${dir}tmp_downlist|grep -w ${1}|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` + [ -f "/var/dhcp.leases" ] && [ -z "$tmp_mac" ] && local tmp_mac=`cat /var/dhcp.leases|grep -w ${1}|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` + [ -z "$tmp_mac" ] && local tmp_mac=`cat /proc/net/arp|grep "0x2\|0x6"|grep -w ${1}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` + [ -z "$tmp_mac" ] && local tmp_mac="unknown" + echo "$tmp_mac" +} + +# 查询主机名 +function getname(){ + [ -z "$tmp_name" ] && local tmp_name=`echo "$device_aliases"|grep -i $2|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` + [ -f "${dir}ipAddress" ] && [ -z "$tmp_name" ] && local tmp_name=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` + [ -f "${dir}tmp_downlist" ] && [ -z "$tmp_name" ] && local tmp_name=`cat ${dir}tmp_downlist|grep -w ${1}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` + ( ! echo "$tmp_name"|grep -q -w "unknown\|*" ) && [ ! -z "$tmp_name" ] && echo "$tmp_name" && return || unset tmp_name # 为unknown时重新读取 + [ -f "/var/dhcp.leases" ] && [ -z "$tmp_name" ] && local tmp_name=`cat /var/dhcp.leases|grep -w ${1}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` + ( ! echo "$tmp_name"|grep -q -w "unknown\|*" ) && [ ! -z "$tmp_name" ] && echo "$tmp_name" && return || unset tmp_name # 为unknown时重新读取 + [ -z "$dhcp_config" ] && dhcp_config=`uci show dhcp|grep "ip\|mac\|name"` + for dhcp_config_str in "host" "domain"; do + local dhcp_ip_n=`echo "$dhcp_config"|grep -w ^dhcp.@${dhcp_config_str}.*ip=.${1}|sed -nr 's#^dhcp.(.*).ip.*#\1#gp'` 2>/dev/null + [ ! -z "$dhcp_ip_n" ] && [ -z "$tmp_name" ] && local tmp_name=`uci get dhcp.${dhcp_ip_n}.name` 2>/dev/null + local dhcp_mac_n=`echo "$dhcp_config"|grep -i ^dhcp.@${dhcp_config_str}.*mac=.${2}|sed -nr 's#^dhcp.(.*).mac.*#\1#gp'` 2>/dev/null + [ ! -z "$dhcp_mac_n" ] && [ -z "$tmp_name" ] && local tmp_name=`uci get dhcp.${dhcp_ip_n}.name` 2>/dev/null + [ ! -z "$tmp_name" ] && break + done + ( ! echo "$tmp_name"|grep -q -w "unknown\|*" ) && [ ! -z "$tmp_name" ] && echo "$tmp_name" && return || unset tmp_name # 为unknown时重新读取 + [ -f "$oui_base" ] && local tmp_name=$(cat $oui_base|grep -i $(echo "$2"|cut -c 1,2,4,5,7,8)|sed -nr 's#^.*16)..(.*)#\1#gp'|sed 's/ /_/g') + [ ! -z "$oui_data" ] && [ "$oui_data" -eq "4" ] && local tmp_name=$(curl -sS "http://standards-oui.ieee.org/oui.txt"|grep -i $(echo "$2"|cut -c 1,2,4,5,7,8)|sed -nr 's#^.*16)..(.*)#\1#gp'|sed 's/ /_/g') + [ -z "$tmp_name" ] && local tmp_name="unknown" + echo "$tmp_name" +} + +# 查询设备接口 +function getinterface(){ + [ -f "${dir}ipAddress" ] && local ip_interface=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $5}'|grep -v "^$"|sort -u|head -n1` + [ -f "${dir}tmp_downlist" ] && [ -z "$ip_interface" ] && local ip_interface=`cat ${dir}tmp_downlist|grep -w ${1}|awk '{print $5}'|grep -v "^$"|sort -u|head -n1` + if [ -z "$ip_interface" ] && [ ! -z "$wlan_interface" ]; then + for interface in $wlan_interface; do + local ip_interface=`iw dev $interface station dump 2>/dev/null|grep Station|grep -i -w ${1}|sed -nr 's#^.*on (.*))#\1#gp'` >/dev/null 2>&1 + [ ! -z "$ip_interface" ] && echo "$ip_interface" && return + done + fi + [ -z "$ip_interface" ] && local ip_interface=`cat /proc/net/arp|grep "0x2\|0x6"|grep -i -w ${1}|awk '{print $6}'|grep -v "^$"|sort -u|head -n1` + echo "$ip_interface" +} + +# ping +function getping(){ + [ "$iw_version" ] && local wlan_online=`iw dev ${ip_interface} station dump|grep -i -w ${ip_mac}|grep Station` >/dev/null 2>&1 + [ "$wlan_online" ] && return 0 + for i in `seq 1 ${3}`; do + ( ! echo "$ip_ms"|grep -q "ms" ) && local ip_ms=$( arping -I `cat /proc/net/arp|grep -w ${1}|awk '{print $6}'|grep -v "^$"|sort -u|head -n1` -c 20 -f -w ${2} $1 ) 2>/dev/null + ( ! echo "$ip_ms"|grep -q "ms" ) && local ip_ms=`ping -c 5 -w ${2} ${1}|grep -v '100% packet loss'` 2>/dev/null + ( ! echo "$ip_ms"|grep -q "ms" ) && sleep 1 + done + ( echo "$ip_ms"|grep -q "ms" ) +} + +# CPU 占用率 +function getcpu(){ + local AT=$(cat /proc/stat|grep "^cpu "|awk '{print $2+$3+$4+$5+$6+$7+$8 " " $2+$3+$4+$7+$8}') + sleep 3 + local BT=$(cat /proc/stat|grep "^cpu "|awk '{print $2+$3+$4+$5+$6+$7+$8 " " $2+$3+$4+$7+$8}') + printf "%.01f%%" $(echo ${AT} ${BT}|awk '{print (($4-$2)/($3-$1))*100}') +} + +# 获取SOC温度 (取所有传感器温度最大值) +function soc_temp(){ + [ -z "$soc_code" ] && local soctemp=`sensors 2>/dev/null|grep °C|sed -nr 's#^.*:.*\+(.*)°C .*#\1#gp'|sort -nr|head -n1` + [ -z "$soc_code" ] && [ -z "$soctemp" ] && local soctemp=`cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null|sort -nr|head -n1|cut -c-2` + [ "$soc_code" == "pve" ] && [ ! -z "$pve_host" ] && local soctemp=`ssh -i ~/.ssh/id_rsa root@${pve_host} -p ${pve_port} sensors 2>/dev/null|grep °C|sed -nr 's#^.*:.*\+(.*)°C .*#\1#gp'|sort -nr|head -n1` + [ ! -z "$soctemp" ] && echo "$soctemp" && return + [ ! -z "$soc_code" ] && eval `echo "$soc_code"` 2>/dev/null +} + +# 流量数据 +function usage(){ + [ ! -f "/usr/sbin/wrtbwmon" ] || [ ! "$1" ] && return + if [ $1 == "update" ] ;then + function version_le() { test "$(echo "$@"|tr " " "\n"|sort -n|head -n 1)" == "$1"; } + function version_ge() { test "$(echo "$@"|tr " " "\n"|sort -r|head -n 1)" == "$1"; } + [ ! -z "$wr_version" ] && ( version_ge "${wr_version}" "1.2.0" ) && wrtbwmon -f ${dir}usage.db 2>/dev/null && return + [ ! -z "$wr_version" ] && ( version_le "${wr_version}" "1.0.0" ) || [ -z "$wr_version" ] && wrtbwmon update ${dir}usage.db 2>/dev/null && return + elif [ $1 == "get" ] ;then + [ ! -f "${dir}usage.db" ] && [ ! "$3" ] && echo `bytes_for_humans 0` && return + [ ! -f "${dir}usage.db" ] && [ "$3" ] && echo 0 && return + [ -z "$total_n" ] && total_n=`cat ${dir}usage.db|head -n1|grep "total"|sed 's/,/\n/g'|awk '/total/{print NR}'` 2>/dev/null + [ -z "$total_n" ] && total_n="6" + [ "$2" ] && local tmptotal=`cat ${dir}usage.db|sed 's/,,,/,0,0,/g'|sed 's/,,/,0,/g'|sed 's/,/ /g'|grep -i -w ${2}|awk "{print "'$'$total_n"}"|grep -v "^$"|sort -u|head -n1` 2>/dev/null + [ -z "$tmptotal" ] && local tmptotal="0" + [ ! "$3" ] && echo `bytes_for_humans ${tmptotal}` || echo "$tmptotal" + elif [ $1 == "down" ] ;then + [ "$2" ] && sed -i "/,${2},/d" ${dir}usage.db 2>/dev/null + fi +} + +# 流量数据单位换算 +function bytes_for_humans { + [ ! "$1" ] && return + [ "$1" -gt 1073741824 ] && echo "`awk 'BEGIN{printf "%.2f\n",'$1'/'1073741824'}'` G" && return + [ "$1" -gt 1048576 ] && echo "`awk 'BEGIN{printf "%.2f\n",'$1'/'1048576'}'` M" && return + [ "$1" -gt 1024 ] && echo "`awk 'BEGIN{printf "%.2f\n",'$1'/'1024'}'` K" && return + echo "${1} bytes" +} + +# 设备异常流量检测 +function get_client_usage(){ + [ -z "$client_usage" ] && return + [ "$client_usage" -ne "1" ] && return + [ -z "$client_usage_max" ] && return + [ -z "$get_client_usage_time" ] && get_client_usage_time=`date +%s` + ( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "K\|k" ) && client_usage_max=`expr ${client_usage_max%?} \* 1024` + ( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "M\|m" ) && client_usage_max=`expr ${client_usage_max%?} \* 1048576` + ( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "G\|g" ) && client_usage_max=`expr ${client_usage_max%?} \* 1073741824` + [ -z "$client_usage_disturb" ] && client_usage_disturb="0" + [ "$client_usage_disturb" -eq "0" ] && [ -f "${dir}ipAddress" ] && local MACLIST=`cat ${dir}ipAddress|awk '{print $2}'|grep -v "^$"|sort -u` + [ "$client_usage_disturb" -eq "1" ] && [ ! -z "$client_usage_whitelist" ] && local MACLIST=`echo "$client_usage_whitelist"` + [ -z "$MACLIST" ] && return + + if [ "$((`date +%s`-$get_client_usage_time))" -ge "60" ]; then + > ${dir}client_usage_aliases + for mac in $MACLIST; do + ( ! cat ${dir}ipAddress|grep -q -i -w $mac|grep -v "^$"|sort -u|head -n1 ) && continue + echo "$mac" `usage get ${mac} bytes` >> ${dir}client_usage_aliases + [ -f "${dir}old_client_usage_aliases" ] && get_client_usage_bytes=`cat ${dir}old_client_usage_aliases|grep -i -w $mac|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` || continue + [ -z "$get_client_usage_bytes" ] && get_client_usage_bytes="0" + if [ "$((`usage get ${mac} bytes`-$get_client_usage_bytes))" -ge "$client_usage_max" ]; then + local ip=`cat ${dir}ipAddress|grep -i -w $mac|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` + local ip_name=`getname ${ip} ${mac}` + local tmp_usage=$(bytes_for_humans $(expr `usage get ${mac} bytes` - ${get_client_usage_bytes})) + local time_up=`cat ${dir}ipAddress|grep -w ${ip}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` + local ip_total=`usage get $mac` && [ ! -z "$ip_total" ] && local ip_total="${str_linefeed}${str_tab}总计流量: ${str_space}${str_space}${str_space}${str_space}${ip_total}" + local time1=`date +%s` + local time1=$(time_for_humans `expr ${time1} - ${time_up}`) + if [ -z "$title" ]; then + title="${ip_name} 流量异常" + content="${content}${str_splitline}${str_title_start}${font_red} 设备流量异常${font_end}${str_title_end}${str_linefeed}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${ip}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${mac}$ip_total${str_linefeed}${str_tab}一分钟内流量: ${str_space}${str_space}${tmp_usage}${str_linefeed}${str_tab}在线时间: ${str_space}${str_space}${str_space}${str_space}${time1}" + elif ( echo "$title"|grep -q "流量异常" ); then + title="${ip_name} ${title}" + content="${content}${str_splitline}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${ip}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${mac}$ip_total${str_linefeed}${str_tab}一分钟内流量: ${str_space}${str_space}${str_space}${tmp_usage}${str_linefeed}${str_tab}在线时间: ${str_space}${str_space}${str_space}${str_space}${time1}" + else + title="设备状态变化" + content="${content}${str_splitline}${str_title_start}${font_red} 设备流量异常${font_end}${str_title_end}${str_linefeed}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${ip}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${mac}$ip_total${str_linefeed}${str_tab}一分钟内流量: ${str_space}${str_space}${str_space}${tmp_usage}${str_linefeed}${str_tab}在线时间: ${str_space}${str_space}${str_space}${str_space}${time1}" + fi + fi + done + cat ${dir}client_usage_aliases > ${dir}old_client_usage_aliases + get_client_usage_time=`date +%s` + fi +} + +# 时间单位换算 +function time_for_humans { + [ ! "$1" ] && return + if [ "$1" -lt 60 ]; then + echo "${1} 秒" + elif [ "$1" -lt 3600 ]; then + local usetime_min=`expr $1 / 60` + local usetime_sec=`expr $usetime_min \* 60` + local usetime_sec=`expr $1 - $usetime_sec` + echo "${usetime_min} 分 ${usetime_sec} 秒" + elif [ "$1" -lt 86400 ]; then + local usetime_hour=`expr $1 / 3600` + local usetime_min=`expr $usetime_hour \* 3600` + local usetime_min=`expr $1 - $usetime_min` + local usetime_min=`expr $usetime_min / 60` + echo "${usetime_hour} 小时 ${usetime_min} 分" + else + local usetime_day=`expr $1 / 86400` + local usetime_hour=`expr $usetime_day \* 86400` + local usetime_hour=`expr $1 - $usetime_hour` + local usetime_hour=`expr $usetime_hour / 3600` + echo "${usetime_day} 天 ${usetime_hour} 小时" + fi +} + +# 计算字符真实长度 +function length_str { + [ ! "$1" ] && return + local length_zh=`echo "$1"|awk '{print gensub(/[\u4e00-\u9FA5A-Za-z0-9_]/,"","g",$0)}'|awk -F "" '{print NF}'` + local length_en=`echo "$1"|awk '{print gensub(/[^\u4e00-\u9FA5A-Za-z0-9_]/,"","g",$0)}'|awk -F "" '{print NF}'` + echo `expr $length_zh / 3 \* 2 + $length_en` +} + +# 截取字符,避免中文乱码 +function cut_str { + [ ! "$1" ] && return + [ ! "$2" ] && return + [ `length_str $1` -le "$2" ] && echo "$1" && return + local temp_length=$2 + while [ $(length_str `echo "$1"|cut -c -$temp_length`) -lt "$2" ]; do + temp_length=`expr $temp_length + 1` + done + while [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -ge "128" ] && [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -lt "224" ]; do + temp_length=`expr $temp_length + 1` + done + temp_length=`expr $temp_length - 1` + echo $(echo "$1"|cut -c -$temp_length)"*" +} + +# 随机数 +function rand(){ + local min=$1 + local max=$(($2- $min + 1)) + local num=$(date +%s%N) + echo $(($num % $max + $min)) +} + +# 在线设备列表 +function pushbot_first(){ + [ -f "${dir}ipAddress" ] && local IPLIST=`cat ${dir}ipAddress|awk '{print $1}'|grep -v "^$"|sort -u` + for ip in $IPLIST; do + read -u 5 + { + down $ip + echo "" >&5 + }& + done + wait + unset ip IPLIST + local IPLIST=`cat /proc/net/arp|grep "0x2\|0x6"|awk '{print $1}'|grep -v "^169.254."|grep -v "^$"|sort -u|grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'` + for ip in $IPLIST; do + read -u 5 + { + up $ip + echo "" >&5 + }& + done + wait +} +# 创建计划任务 +function pushbot_cron(){ + function del_cron(){ + ( echo `crontab -l 2>/dev/null`|grep -q "pushbot" ) && crontab -l > conf && sed -i "/pushbot/d" conf && crontab conf && rm -f conf >/dev/null 2>&1 + } + function re_cron(){ + /etc/init.d/cron stop + /etc/init.d/cron start + } + del_cron + if [ -z "$pushbot_enable" ]; then + re_cron + return + fi + + # 重置流量 + if [ ! -z "$reset_regularly" ] && [ "$reset_regularly" -eq "1" ]; then + crontab -l 2>/dev/null > conf && echo -e "0 0 * * * rm /tmp/pushbot/usage.db >/dev/null 2>&1" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 + crontab -l 2>/dev/null > conf && echo -e "0 0 * * * rm /tmp/pushbot/usage6.db >/dev/null 2>&1" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 + fi + [ ! -z "$regular_time_2" ] && local regular_time_2=",${regular_time_2}" + [ ! -z "$regular_time_3" ] && local regular_time_3=",${regular_time_3}" + # 定时发送 + if [ ! -z "$regular_time" ] || [ ! -z "$regular_time_2" ] || [ ! -z "$regular_time_3" ]; then + crontab -l 2>/dev/null > conf && echo -e "0 $regular_time$regular_time_2$regular_time_3 * * * /usr/bin/pushbot/pushbot send &" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 + # 间隔发送 + elif [ ! -z "$interval_time" ]; then + crontab -l 2>/dev/null > conf && echo -e "0 */$interval_time * * * /usr/bin/pushbot/pushbot send &" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 + fi + re_cron +} + +# 免打扰检测 +function pushbot_disturb(){ + [ -z "$pushbot_sheep" ] || [ -z "$starttime" ] || [ -z "$endtime" ] && return 0 + if [ `date +%H` -ge $endtime -a $starttime -lt $endtime ] || [ `date +%H` -lt $starttime -a $starttime -lt $endtime ] || [ `date +%H` -lt $starttime -a `date +%H` -ge $endtime -a $starttime -gt $endtime ]; then + unset sheep_starttime + rm -f ${dir}sheep_usage ${dir}old_sheep_usage 2>/dev/null + disturb_text=`/usr/bin/jq -r '._api' ${jsonpath}` + return 0 + else + [ -z "$sheep_starttime" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【免打扰】夜深了,该休息了" >> ${logfile} && sheep_starttime=`date +%s` + if [ "$pushbot_sheep" -eq "1" ] ;then + while [ `date +%H` -lt "$endtime" ]; do + enable_detection + sleep $sleeptime + done + elif [ "$pushbot_sheep" -eq "2" ] ;then + disturb_text="【免打扰】" + return 1 + fi + fi +} + +# 文件锁 +function LockFile(){ + if [ $1 = "lock" ] ;then + [ ! -f "${dir}pushbot.lock" ] && > ${dir}pushbot.lock && return + while [ -f "${dir}pushbot.lock" ]; do + enable_detection 1 + done + LockFile lock + fi + [ $1 = "unlock" ] && rm -f ${dir}pushbot.lock >/dev/null 2>&1 + return 0 +} + +# 检测黑白名单 +function blackwhitelist(){ + [ ! "$1" ] && return 1 + [ -z "$pushbot_whitelist" ] && [ -z "$pushbot_blacklist" ] && [ -z "$pushbot_interface" ] && [ -z "$MAC_online_list" ] && [ -z "$MAC_offline_list" ] && return 0 + [ ! -z "$pushbot_whitelist" ] && ( echo "$pushbot_whitelist"|grep -q -i -w $1 ) && return 1 + [ ! -z "$pushbot_blacklist" ] && ( ! echo "$pushbot_blacklist"|grep -q -i -w $1 ) && return 1 + [ ! -z "$pushbot_interface" ] && ( ! echo `getinterface ${1}`|grep -q -i -w $pushbot_interface ) && return 1 + [ ! -z "$MAC_online_list" ] && [ ! -z "$mac_online_status" ] && return 1 + [ ! -z "$MAC_online_list" ] && ( echo "$MAC_online_list"|grep -q -i -w $1 ) && return 1 + [ ! -z "$MAC_offline_list" ] && [ -z "$mac_online_status" ] && return 1 + return 0 +} + +function get_client(){ + if [ -f "${dir}ipAddress" ]; then + while read line; do + local js_str="${js_str}
" + local js_str="${js_str}
<%:`echo "$line"|awk '{print $3}'`%>
" + local tmp_mac=`echo "$line"|awk '{print $2}'` + local js_str="${js_str}
<%:${tmp_mac}%>
" + local js_str="${js_str}
<%:`echo "$line"|awk '{print $1}'`%>
" + local tmp_usage=`usage get ${tmp_mac}` + local js_str="${js_str}
<%:${tmp_usage}%>
" + local tmp_uptime=`echo "$line"|awk '{print $4}'` + local tmp_timenow=`date +%s` + local tmp_uptime=$(time_for_humans `expr ${tmp_timenow} - ${tmp_uptime}`) + local js_str="${js_str}
<%:${tmp_uptime}%>
" + done < ${dir}ipAddress + fi +cat>/usr/lib/lua/luci/view/pushbot/pushbot_client.htm<<%:在线设备列表%>
<%:客户端名%>
<%:MAC%>
<%:IP%>
<%:总计流量%>
<%:在线时间%>
+$js_str +
+EOF +} + +# 重启网络服务 +function network_restart(){ +cat>${dir}network_restart</dev/null 2>&1 & +/etc/init.d/firewall restart >/dev/null 2>&1 & +/etc/init.d/dnsmasq restart >/dev/null 2>&1 & +EOF + chmod 0755 ${dir}network_restart && ${dir}network_restart + rm -f ${dir}network_restart >/dev/null 2>&1 +} + +# 查看无人值守任务设备是否在线 +function geterrdevicealiases(){ + [ -z "$err_device_aliases" ] && return + [ -f ${dir}ipAddress ] && local logrow=$(grep -c "" ${dir}ipAddress) || local logrow="0";[ $logrow -eq "0" ] && return + local MACLIST=`cat ${dir}ipAddress|awk '{print $2}'|grep -v "^$"|sort -u` + for mac in $MACLIST; do + [ -z "$err_mac" ] && [ ! -z "$mac" ] && local err_mac=`echo "$err_device_aliases"|grep -i $mac|grep -v "^$"|sort -u|head -n1` + done + # 进入免打扰时间已经超过一小时 + if [ ! -z "$sheep_starttime" ] && [ "$((`date +%s`-$sheep_starttime))" -ge "3600" ]; then + > ${dir}sheep_usage + local MACLIST=`echo "$err_device_aliases"|grep -v "^$"|sort -u` + for mac in $MACLIST; do + [ ! -z "$mac" ] && local tmptotal=`usage get ${mac} bytes` + [ ! -z "$tmptotal" ] && awk 'BEGIN{printf "%.0f\n",'$tmptotal'/'204800'}' 2>/dev/null >> ${dir}sheep_usage + done + old_sheep_usage=`cat ${dir}old_sheep_usage` 2>/dev/null + sheep_usage=`cat ${dir}sheep_usage` 2>/dev/null + [ "$old_sheep_usage" == "$sheep_usage" ] && [ -z "$sheep_nousage_starttime" ] && sheep_nousage_starttime=`date +%s` + [ "$old_sheep_usage" != "$sheep_usage" ] && unset sheep_nousage_starttime && cat ${dir}sheep_usage 2>/dev/null > ${dir}old_sheep_usage + [ ! -z "$sheep_nousage_starttime" ] && [ "$((`date +%s`-$sheep_nousage_starttime))" -ge "300" ] && unset err_mac + fi + [ -z "$err_mac" ] +} + +# 无人值守任务 +function unattended(){ + [ -z "$err_enable" ] || [ "$err_enable" -ne "1" ] && return + [ ! -z "$err_sheep_enable" ] && [ "$err_sheep_enable" -eq "1" ] && [ -z "$sheep_starttime" ] && return + geterrdevicealiases;[ $? -eq "1" ] && return + + if [ ! -z "$system_time_event" ]; then + local interfaceuptime=`getinterfaceuptime` + if [ ! -z "$autoreboot_time" ] && [ `cat /proc/uptime|awk -F. '{run_hour=$1/3600;printf("%d",run_hour)}'` -ge "$autoreboot_time" ] && [ "$system_time_event" -eq "1" ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【无人值守任务】重启路由器咯" >> ${logfile} + cat ${logfile} > /usr/bin/pushbot/errlog + sleep 2 && reboot && exit + elif [ ! -z "$network_restart_time" ] && [ ! -z "$interfaceuptime" ] && [ `echo "$interfaceuptime"|awk -F. '{run_hour=$1/3600;printf("%d",run_hour)}'` -ge "$network_restart_time" ] && [ "$system_time_event" -eq "2" ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【无人值守任务】重新拨号咯" >> ${logfile} + ifup wan >/dev/null 2>&1 + sleep 60 + fi + fi + + [ -z "$public_ip_today" ] && public_ip_today=`date +"%d"` + [ -z "$public_ip_count" ] && public_ip_count="0" + [ $public_ip_today -ne `date +"%d"` ] && public_ip_today=`date +"%d"` && public_ip_count=1 + if [ ! -z "$public_ip_event" ] && [ ! -z "$public_ip_retry_count" ] && [ "$public_ip_count" -le "$public_ip_retry_count" ]; then + public_ip_count=`expr $public_ip_count + 1` + local wanIP=`getip wanipv4` + local hostIP=`getip hostipv4` + if [ ! -z "$wanIP" ] && [ ! -z "$hostIP" ] && ( ! echo "$wanIP"|grep -q -w ${hostIP} );then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【无人值守任务】重拨尝试获取公网 ip,当前第 $public_ip_count 次 " >> ${logfile} + ifup wan >/dev/null 2>&1 + sleep 60 + local wanIP=`getip wanipv4` && local hostIP=`getip hostipv4` + [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -eq "1" ] && local IPv4=${wanIP} + [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -eq "2" ] && local IPv4=${hostIP} + [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -eq "1" ] && local IPv6=`getip wanipv6` + [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -eq "2" ] && local IPv6=`getip hostipv6` + [ ! -z "$wanIP" ] && [ ! -z "$hostIP" ] && ( ! echo "$wanIP"|grep -q -w ${hostIP} ) && echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $last_IPv6 >> ${dir}ip + fi + fi +} + +# 检测网络状态 +function rand_geturl(){ + function getcheck(){ + local urllist="https://www.163.com https://www.qq.com https://www.baidu.com https://www.qidian.com https://www.douban.com" + local url_number=`expr $(echo "$urllist"|grep -o ' '|wc -l) + 1` + local url_str=`echo "$urllist"|awk -v i=$(rand 1 $url_number) '{print $i}'` + echo `curl -k -s -w "%{http_code}" -m 5 ${url_str} -A "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" -o /dev/null` + } + local check=`getcheck` + while [ -z "$check" ] || [ "$check" -ne "200" ]; do + local check=`getcheck` + if [ ! -z "$check" ] && [ "$check" -eq "200" ]; then + [ ! -z "$network_enable" ] && [ "$network_enable" -eq "404" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【网络状态】网络恢复正常.." >> ${logfile} + local network_enable="200" + else + [ -z "$network_enable" ] || [ "$network_enable" -eq "200" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】当前网络不通!停止检测! " >> ${logfile} + local network_enable="404" + [ -z "$network_err_time" ] && network_err_time=`date +%s` + if [ ! -z "$network_err_event" ] && [ "$((`date +%s`-$network_err_time))" -ge "600" ]; then + > ${dir}send_enable.lock && pushbot_first && deltemp + geterrdevicealiases + if [ "$?" -eq "0" ]; then + [ -f /usr/bin/pushbot/autoreboot_count ] && retry_count=`cat /usr/bin/pushbot/autoreboot_count` && rm -f /usr/bin/pushbot/autoreboot_count >/dev/null 2>&1 + [ ! -z ${retry_count} ] && retry_count=0;retry_count=`expr $retry_count + 1` + if [ "$network_err_event" -eq "1" ] ;then + if [ "$retry_count" -lt "3" ] ;then + echo "$retry_count" > /usr/bin/pushbot/autoreboot_count + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试重启路由,当前第 $retry_count 次 " >> ${logfile} + cat ${logfile} > /usr/bin/pushbot/errlog + sleep 2 && reboot && exit + fi + [ "$retry_count" -eq "3" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】已经重启路由2次,修复失败,请主人自行修复哦" >> ${logfile} + elif [ "$network_err_event" -eq "2" ] ;then + [ "$retry_count" -lt "3" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试重启网络,当前第 $retry_count 次 " >> ${logfile} && ifup wan >/dev/null 2>&1 + [ "$retry_count" -eq "3" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】已经重启网络2次,修复失败,请主人自行修复哦 " >> ${logfile} + elif [ "$network_err_event" -eq "3" ] ;then + if [ "$retry_count" -eq "1" ] ;then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试修复网络,当前第 1 次,重启网络服务中 " >> ${logfile} && network_restart + elif [ "$retry_count" -eq "2" ] ;then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试修复网络,当前第 2 次,关闭可能造成网络断开的软件" >> ${logfile} + [ `uci get koolproxy.@global[0].enabled 2>/dev/null` -eq "1" ] && [ `uci get koolproxy.@global[0].koolproxy_mode 2>/dev/null` -eq "1" ] && /etc/init.d/koolproxy stop >/dev/null 2>&1 + [ `uci get adbyby.@adbyby[0].enable 2>/dev/null` -eq "1" ] && [ `uci get adbyby.@adbyby[0].wan_mode 2>/dev/null` -eq "0" ] && /etc/init.d/adbyby stop >/dev/null 2>&1 + [ `uci get passwall.@global[0].enabled 2>/dev/null` -eq "1" ] && [ `uci get passwall.@global[0].proxy_mode 2>/dev/null|grep global` ] && /etc/init.d/koolproxy stop >/dev/null 2>&1 + local shadowsocksr_enabled=`uci get shadowsocksr.@global[0].global_server 2>/dev/null|grep nil` + local shadowsocksr_run_mode=`uci get shadowsocksr.@global[0].run_mode 2>/dev/null|grep all` + [ -z "$shadowsocksr_enabled" ] && [ ! -z "$shadowsocksr_run_mode" ] && /etc/init.d/shadowsocksr stop >/dev/null 2>&1 + sleep 60 && network_restart + elif [ "$retry_count" -eq "3" ] ;then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试修复网络,当前第 3 次,备份设置项,并修改相关设置" >> ${logfile} + mkdir -p /usr/bin/pushbot/configbak + cp -p -f /etc/config/network /usr/bin/pushbot/configbak/network + cp -p -f /etc/config/dhcp /usr/bin/pushbot/configbak/dhcp + cp -p -f /etc/config/firewall /usr/bin/pushbot/configbak/firewall + cp -p -f /etc/firewall.user /usr/bin/pushbot/configbak/firewall.user + uci set network.wan.peerdns='0' + uci delete network.wan.dns + uci add_list network.wan.dns='223.5.5.5' + uci add_list network.wan.dns='119.29.29.29' + uci delete network.wan.mtu + uci commit network + uci set dhcp.@dnsmasq[0].port='53' + uci set dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto' + uci delete dhcp.@dnsmasq[0].server + uci delete dhcp.@dnsmasq[0].noresolv + uci commit dhcp + uci delete firewall.redirect + >/etc/firewall.user + uci commit firewall + sleep 60 && network_restart + elif [ "$retry_count" -eq "4" ] ;then + echo "$retry_count" > /usr/bin/pushbot/autoreboot_count + cat ${logfile} > /usr/bin/pushbot/errlog + sleep 2 && reboot && exit + elif [ "$retry_count" -eq "5" ] ;then + echo "$retry_count" > /usr/bin/pushbot/autoreboot_count + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】修复失败,还原设置中,请自行检查网络设置" >> ${logfile} + cp -p -f /usr/bin/pushbot/configbak/network /etc/config/network + cp -p -f /usr/bin/pushbot/configbak/dhcp /etc/config/dhcp + cp -p -f /usr/bin/pushbot/configbak/firewall /etc/config/firewall + cp -p -f /usr/bin/pushbot/configbak/firewall.user /etc/firewall.user + cat ${logfile} > /usr/bin/pushbot/errlog + sleep 2 && reboot && exit + fi + fi + fi + elif [ -f /usr/bin/pushbot/autoreboot_count ]; then + network_err_time=`expr $network_err_time - 600` && sleep 60 + fi + enable_detection + sleep $sleeptime + fi + continue + done + rm -f /usr/bin/pushbot/autoreboot_count >/dev/null 2>&1 +} + +# 检测 ip 状况 +function ip_changes(){ + [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -eq "1" ] && local IPv4=`getip wanipv4` + [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -eq "2" ] && local IPv4=`getip hostipv4` + [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -eq "1" ] && local IPv6=`getip wanipv6` + [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -eq "2" ] && local IPv6=`getip hostipv6` + + if [ -f ${dir}ip ]; then + local last_IPv4=$(cat "${dir}ip"|grep IPv4|awk '{print $2}'|grep -v "^$"|sort -u|head -n1) + local last_IPv6=$(cat "${dir}ip"|grep IPv6|awk '{print $2}'|grep -v "^$"|sort -u|head -n1) + if [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -ne "0" ] && [ ! -z "$IPv4" ] && ( ! echo ${IPv4}|grep -w -q ${last_IPv4} ); then + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}当前IP:${IPv4}" >> ${logfile} + echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $last_IPv6 >> ${dir}ip + title="IP 地址变化" + content="${content}${str_splitline}${str_title_start}${font_green} IP 地址变化${font_end}${str_title_end}${str_linefeed}${str_tab}当前 IP:${IPv4}" + elif [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -ne "0" ] && [ -z "$IPv4" ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】获取 IPv4 地址失败" >> ${logfile} + fi + + if [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -ne "0" ] && [ ! -z "$IPv6" ] && ( ! echo "$IPv6"|grep -w -q ${last_IPv6} ); then + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}当前IPv6:${IPv6}" >> ${logfile} + echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $IPv6 >> ${dir}ip + [ -z "$title" ] && title="IPv6 地址变化" + [ ! -z "$title" ] && title="IP 地址变化" + content="${content}${str_splitline}${str_title_start}${font_green} IPv6 地址变化${font_end}${str_title_end}${str_linefeed}${str_tab}当前 IPv6:${IPv6}" + elif [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -ne "0" ] && [ -z "$IPv6" ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】获取 IPv6 地址失败" >> ${logfile} + fi + + else + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}路由器已经重启!" >> ${logfile} + [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -ne "0" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 当前IP: ${IPv4}" >> ${logfile} + [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -ne "0" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 当前IPv6: ${IPv6}" >> ${logfile} + echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $IPv6 >> ${dir}ip + title="路由器重新启动" + content="${content}${str_splitline}${str_title_start}${font_green} 路由器重新启动${font_end}${str_title_end}" + [ ! -z "$pushbot_ipv4" ] && [ "$pushbot_ipv4" -ne "0" ] && content="${content}${str_linefeed}${str_tab}当前IP:${IPv4}" + [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -ne "0" ] && content="${content}${str_linefeed}${str_tab}当前IPv6:${IPv6}" + fi + + if [ ! -z "$content" ] ;then + [ -z "$ddns_enabled" ] && ddns_enabled=$(uci show ddns|grep "enabled"|grep "1") + [ -z "$ddns_enabled" ] && ddns_logrow=0 || ddns_logrow=$(echo "$ddns_enabled"|wc -l) + if [ $ddns_logrow -ge 1 ]; then + /etc/init.d/ddns restart >/dev/null 2>&1 + fi + [ -z "$zerotier_enabled" ] && zerotier_enabled=$(uci get zerotier.sample_config.enabled) + if [ ! -z "$zerotier_enabled" ] && [ $zerotier_enabled -eq "1" ] ; then + /etc/init.d/zerotier restart >/dev/null 2>&1 + fi + fi +} + +# 检测设备上线 +function up(){ + [ -f ${dir}ipAddress ] && ( cat ${dir}ipAddress|grep -q -w $1 ) && return + local ip_mac=`getmac $1` + local ip_name=`getname ${1} ${ip_mac}` + local ip_interface=`getinterface ${ip_mac}` + getping ${1} ${up_timeout} "1";local ping_online=$? + if [ "$ping_online" -eq "0" ]; then + LockFile lock + [ ! -z "$pushbot_blacklist" ] && local tmp_mac=`echo "${pushbot_blacklist}"|grep -w -i ${ip_mac}` + [ ! -z "$pushbot_whitelist" ] && local tmp_mac=`echo "${pushbot_whitelist}"|grep -w -i ${ip_mac}` + if [ ! -z "$tmp_mac" ] && ( cat ${dir}ipAddress|grep -q -w -i ${tmp_mac} ); then + usage down $1 + echo "$1 ${ip_mac} ${ip_name} `date +%s` ${ip_interface}" >> ${dir}ipAddress + LockFile unlock && return + elif [ ! -z "$tmp_mac" ] && [ -f "${dir}tmp_downlist" ] && ( cat ${dir}tmp_downip|grep -q -w -i ${tmp_mac} ); then + local tmp_downip=`cat ${dir}tmp_downlist|grep -w -i ${tmp_mac}|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` + usage down $tmp_downip + sed -i "/^${tmp_downip} /d" ${dir}tmp_downlist + LockFile unlock && return + fi + [ -f "${dir}tmp_downlist" ] && local tmp_downip=`cat ${dir}tmp_downlist|grep -w ${1}|grep -v "^$"|sort -u|head -n1` + if [ ! -z "$tmp_downip" ]; then + cat ${dir}tmp_downlist|grep -w ${1}|grep -v "^$"|sort -u|head -n1 >> ${dir}ipAddress + sed -i "/^${1} /d" ${dir}tmp_downlist + else + usage down $1 + echo "$1 ${ip_mac} ${ip_name} `date +%s` ${ip_interface}" >> ${dir}ipAddress + blackwhitelist ${ip_mac};local ip_blackwhite=$? + [ -f "${dir}send_enable.lock" ] || [ -z "$pushbot_up" ] || [ -z "$ip_blackwhite" ] && LockFile unlock && return + [ ! -z "$pushbot_up" ] && [ "$pushbot_up" -ne "1" ] && LockFile unlock && return + [ -z "$ip_blackwhite" ] || [ "$ip_blackwhite" -ne "0" ] && LockFile unlock && return + [ -f "${dir}title" ] && local title=`cat ${dir}title` + [ -f "${dir}content" ] && local content=`cat ${dir}content` + if [ -z "$title" ]; then + local title="$ip_name 连接了你的路由器" + local content="${str_splitline}${str_title_start}${font_green} 新设备连接${font_end}${str_title_end}${str_linefeed}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${1}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${ip_mac}${str_linefeed}${str_tab}网络接口:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_interface}" + elif ( echo ${title}|grep -q "连接了你的路由器" ); then + local title="${ip_name} ${title}" + local content="${str_splitline}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${1}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${ip_mac}${str_linefeed}${str_tab}网络接口:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_interface}" + else + local title="设备状态变化" + local content="${str_splitline}${str_title_start}${font_green} 新设备连接${font_end}${str_title_end}${str_linefeed}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${1}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${ip_mac}${str_linefeed}${str_tab}网络接口:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_interface}" + fi + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}新设备 ${ip_name} ${1} 连接了">> ${logfile} + #[ ! -z "$pushbot_blacklist" ] && local title="你偷偷关注的设备上线了" + [ ! -z "$title" ] && echo "$title" >${dir}title + [ ! -z "$content" ] && echo -n "$content" >>${dir}content + fi + fi + LockFile unlock +} + +# 检测设备离线 +function down(){ + local ip_mac=`getmac $1` + local ip_name=`getname ${1} ${ip_mac}` + local ip_interface=`getinterface ${ip_mac}` + getping ${1} ${down_timeout} ${timeout_retry_count};local ping_online=$? + if [ "$ping_online" -eq "1" ]; then + LockFile lock + [ ! -f "${dir}send_enable.lock" ] && cat ${dir}ipAddress|grep -w ${1}|grep -v "^$"|sort -u|head -n1 >> ${dir}tmp_downlist + sed -i "/^${1} /d" ${dir}ipAddress + LockFile unlock + else + local tmp_name=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` + if [ "$ip_name" != "$tmp_name" ]; then + LockFile lock + local tmp_str=$(echo "$1 ${ip_mac} ${ip_name} `cat ${dir}ipAddress|grep -w ${1}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` ${ip_interface}") + sed -i "/^${1} /d" ${dir}ipAddress + echo "$tmp_str" >> ${dir}ipAddress + LockFile unlock + fi + fi +} + +# 设备离线通知 +function down_send(){ + [ ! -f "${dir}tmp_downlist" ] && return + local IPLIST=`cat ${dir}tmp_downlist|awk '{print $1}'` + for ip in $IPLIST; do + local ip_mac=`getmac ${ip}` + blackwhitelist ${ip_mac};local ip_blackwhite=$? + [ -z "$pushbot_down" ] || [ -z "$ip_blackwhite" ] && continue + [ ! -z "$pushbot_down" ] && [ "$pushbot_down" -ne "1" ] && continue + [ -z "$ip_blackwhite" ] || [ "$ip_blackwhite" -ne "0" ] && continue + [ ! -z "$pushbot_blacklist" ] && local tmp_mac=`echo "${pushbot_blacklist}"|grep -w -i ${ip_mac}` + [ ! -z "$pushbot_whitelist" ] && local tmp_mac=`echo "${pushbot_whitelist}"|grep -w -i ${ip_mac}` + [ ! -z "$tmp_mac" ] && ( cat ${dir}ipAddress|grep -q -w -i ${tmp_mac} ) && continue + local ip_name=`getname ${ip} ${ip_mac}` + local time_up=`cat ${dir}tmp_downlist|grep -w ${ip}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` + local ip_total=`usage get $ip_mac` && [ ! -z "$ip_total" ] && local ip_total="${str_linefeed}${str_tab}总计流量: ${str_space}${str_space}${str_space}${str_space}${ip_total}" + local time1=`date +%s` + local time1=$(time_for_humans `expr ${time1} - ${time_up}`) + if [ -z "$title" ]; then + title="${ip_name} 断开连接" + content="${content}${str_splitline}${str_title_start}${font_red} 设备断开连接${font_end}${str_title_end}${str_linefeed}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${ip}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${ip_mac}$ip_total${str_linefeed}${str_tab}在线时间: ${str_space}${str_space}${str_space}${str_space}${time1}" + elif ( echo "$title"|grep -q "断开连接" ); then + title="${ip_name} ${title}" + content="${content}${str_splitline}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${ip}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${ip_mac}$ip_total${str_linefeed}${str_tab}在线时间: ${str_space}${str_space}${str_space}${str_space}${time1}" + else + title="设备状态变化" + content="${content}${str_splitline}${str_title_start}${font_red} 设备断开连接${font_end}${str_title_end}${str_linefeed}${str_tab}客户端名:${str_space}${str_space}${str_space}${str_space}${str_space}${ip_name}${str_linefeed}${str_tab}客户端IP: ${str_space}${str_space}${str_space}${str_space}${ip}${str_linefeed}${str_tab}客户端MAC:${str_space}${str_space}${str_space}${str_space}${ip_mac}$ip_total${str_linefeed}${str_tab}在线时间: ${str_space}${str_space}${str_space}${str_space}${time1}" + fi + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}设备 ${ip_name} ${ip} 断开连接 " >> ${logfile} + done + rm -f ${dir}tmp_downlist >/dev/null 2>&1 +} + +# 当前设备列表 +function current_device(){ + ( echo "$lite_enable"|grep -q "content" ) || ( echo "$lite_enable"|grep -q "device" ) && return + [ -f ${dir}ipAddress ] && local logrow=$(grep -c "" ${dir}ipAddress) || local logrow="0";[ $logrow -eq "0" ] && return + [ -f ${dir}usage.db ] && local ip_total_db="总计流量${str_space}${str_space}${str_space}${str_space}" + content="${content}${str_splitline}${str_title_start}${font_blue} 现有在线设备 ${logrow} 台,具体如下${font_end}${str_title_end}${str_linefeed}${str_tab}IP 地址${str_space}${str_space}${str_space}${str_space}${str_space}${str_space}${str_space}${str_space}${str_space}${ip_total_db}${boldstar}客户端名${boldstar}" + local IPLIST=`cat ${dir}ipAddress|awk '{print $1}'` + for ip in $IPLIST; do + local ip_mac=`getmac ${ip}` + local ip_total=`usage get ${ip_mac}` + local ip_name=`getname ${ip} ${ip_mac}` + local ip_name=`cut_str $ip_name 15` + if [ "${#ip}" -lt "15" ]; then + local n=`expr 15 - ${#ip}` + for i in `seq 1 $n`; do + local ip="${ip}${str_space}" + done + unset i n + fi + if [ ! -z "$ip_total" ]; then + local n=`expr 11 - ${#ip_total}` + for i in `seq 1 $n`; do + local ip_total="${ip_total}${str_space}" + done + fi + content="${content}${str_linefeed}${str_tab}${ip}${ip_total}${boldstar}${font_green2}${ip_name}${font_end2}${boldstar}" + unset i n ip_total ip_mac ip_name + done +} + +# 检测 cpu 状态 +function cpu_load(){ + if [ ! -z "$temperature_enable" ] && [ "$temperature_enable" -eq "1" ] && [ ! -z "$temperature" ]; then + [ -z "$temperature_time" ] && temperature_time=`date +%s` + local cpu_wendu=`soc_temp`; + [ -z "$cpu_wendu" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法读取设备温度,请检查命令" >> ${logfile} + + if [ `expr $cpu_wendu \> $temperature` -eq "1" ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!警报!!】 CPU 温度过高: ${cpu_wendu}" >> ${logfile} + else + temperature_time=`date +%s` + fi + + if [ "$((`date +%s`-$temperature_time))" -ge "300" ] && [ -z "$temperaturecd_time" ]; then + title="CPU 温度过高!" + temperaturecd_time=`date +%s` + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text} CPU 温度过高: ${cpu_wendu}" >> ${logfile} + content="${content}${str_splitline}${str_title_start}${font_red} CPU 温度过高${font_end}${str_title_end}${str_linefeed}${str_tab}CPU 温度已连续五分钟超过预设${str_linefeed}${str_tab}接下来一小时不再提示${str_linefeed}${str_tab}当前温度:${cpu_wendu}℃" + elif [ ! -z "$temperaturecd_time" ] && [ "$((`date +%s`-$temperaturecd_time))" -ge "3300" ] ;then + unset temperaturecd_time + fi + fi + + if [ ! -z "$cpuload_enable" ] && [ "$cpuload_enable" -eq "1" ] && [ ! -z "$cpuload" ]; then + [ -z "$cpuload_time" ] && cpuload_time=`date +%s` + local cpu_fuzai=`cat /proc/loadavg|awk '{print $1}'` 2>/dev/null + [ -z "$cpu_fuzai" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法读取设备负载,请检查命令" >> ${logfile} + + if [ `expr $cpu_fuzai \> $cpuload` -eq "1" ]; then + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!警报!!】 CPU 负载过高: ${cpu_fuzai}" >> ${logfile} + cputop log + else + cpuload_time=`date +%s` + fi + + if [ "$((`date +%s`-$cpuload_time))" -ge "300" ] && [ -z "$cpucd_time" ]; then + unset getlogtop + if [ ! -z "$title" ] && ( echo "$title"|grep -q "过高" ); then + title="设备报警!" + else + title="CPU 负载过高!" + fi + cpucd_time=`date +%s` + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text} CPU 负 载过高: ${cpu_fuzai}" >> ${logfile} + content="${content}${str_splitline}${font_red}CPU 负载过高${font_end}${str_linefeed}${str_tab}CPU 负载已连续五分钟超过预设${str_linefeed}${str_tab}接下来一小时不再提示${str_linefeed}${str_tab}当前负载:${cpu_fuzai}" + cputop + elif [ ! -z "$cpucd_time" ] && [ "$((`date +%s`-$cpucd_time))" -ge "3300" ] ;then + unset cpucd_time + fi + fi +} + +function cputop(){ + [ -z "$1" ] && content="${content}${str_splitline}${str_title_start} 当前 CPU 占用前三的进程${str_title_end}" + local gettop=`top -bn 1|grep -v "top -bn 1"` + for i in `seq 5 7`; do + local top_name=`echo "${gettop}"|awk 'NR=='${i}|awk '{print ($8 ~ /\/bin\/sh|\/bin\/bash/) ? $9 : $8}'` + local top_load=`echo "${gettop}"|awk 'NR=='${i}|awk '{print $7}'` + local temp_top="${top_name} ${top_load}" + [ ! -z "$1" ] && local logtop="$logtop $temp_top" + [ -z "$1" ] && content="${content}${str_linefeed}${str_tab}${temp_top}" + done + unset i + [ ! -z "$1" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!警报!!】 CPU 占用前三: ${logtop}" >> ${logfile} +} + +# 生成日志监控文件,避免后台影响 wait 语句 +function get_syslog(){ + kill -9 `pgrep -f "logread -f -p notice"` 2>/dev/null + [ -z "$web_logged" ] && [ -z "$ssh_logged" ] && [ -z "$web_login_failed" ] && [ -z "$ssh_login_failed" ] && return + rm -f ${dir}login_monitor >/dev/null 2>&1 + +cat>${dir}get_syslog<> ${dir}login_monitor & +EOF + chmod 0755 ${dir}get_syslog && ${dir}get_syslog + rm -f ${dir}get_syslog >/dev/null 2>&1 +} + +# 登录提醒通知 +function login_send(){ + [ -z "$web_logged" ] && [ -z "$ssh_logged" ] && [ -z "$web_login_failed" ] && [ -z "$ssh_login_failed" ] && return + [ ! -f ${dir}login_monitor ] && return + cat ${dir}login_monitor|grep -i "accepted login"|awk '{print $4" "$NF}' >> ${dir}web_login + cat ${dir}login_monitor|grep -i "Password auth succeeded\|Pubkey auth succeeded"|grep -Eo "[0-9]{2}:[0-9]{2}:[0-9]{2}.*[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"|awk '{print $1" "$NF" "$5}' >> ${dir}ssh_login + cat ${dir}login_monitor|grep -i "failed login"|grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> ${dir}web_failed + cat ${dir}login_monitor|grep -i "Bad password attempt\|Login attempt for nonexistent user from"|grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> ${dir}ssh_failed + echo "" > ${dir}login_monitor + add_ip_black + + local login_ip_list=`cat ${dir}web_login|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` + for login_ip in $login_ip_list; do + [ -z "$login_ip" ] && continue + echo "$ip_white_list"|grep -w -q "$login_ip" && continue + local web_login_time=`cat ${dir}web_login|grep -w ${login_ip}|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` + local web_login_mode=`cat ${dir}web_login|grep -w ${login_ip}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` + if [ ! -z "$web_logged" ] && [ "$web_logged" -eq "1" ]; then + if [ -z "$title" ]; then + title="${login_ip} 通过 Web 登录了路由器" + content="${content}${str_splitline}${str_title_start}${font_green} 登录信息${font_end}${str_title_end}${str_linefeed}${str_tab}时间:${str_space}${str_space}${str_space}${str_space}${str_space}${web_login_time}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}${content_mode}" + elif ( echo "$title"|grep -q "登录了路由器" ); then + title="${login_ip} ${title}" + content="${content}${str_splitline}${str_tab}时间:${str_space}${str_space}${str_space}${str_space}${str_space}${web_login_time}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}${content_mode}" + else + title="设备状态变化" + content="${content}${str_splitline}${str_title_start}${font_green} 登录成功来源${font_end}${str_title_end}${str_linefeed}${str_tab}时间:${str_space}${str_space}${str_space}${str_space}${str_space}${web_login_time}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}${content_mode}" + fi + fi + echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}设备 ${login_ip} 通过 web ${web_login_mode} 登录了路由器 " >> ${logfile} + done + echo "" > ${dir}web_login + unset login_ip login_ip_list + + local login_ip_list=`cat ${dir}ssh_login|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` + for login_ip in $login_ip_list; do + [ -z "$login_ip" ] && continue + echo "$ip_white_list"|grep -w -q "$login_ip" && continue + local ssh_login_time=`cat ${dir}ssh_login|grep -w ${login_ip}|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` + local ssh_login_mode=`cat ${dir}ssh_login|grep -w ${login_ip}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` + [ ! -z "$ssh_login_mode" ] && local content_mode="${str_linefeed}${str_tab}登录方式: ${str_space}${str_space}${str_space}${str_space}${ssh_login_mode}" + if [ ! -z "$ssh_logged" ] && [ "$ssh_logged" -eq "1" ]; then + if [ -z "$title" ]; then + title="${login_ip} 通过 SSH 登录了路由器" + content="${content}${str_splitline}${str_title_start}${font_green} 登录成功来源${font_end}${str_title_end}${str_linefeed}${str_tab}时间:${str_space}${str_space}${str_space}${str_space}${str_space}${ssh_login_time}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}${content_mode}" + elif ( echo "$title"|grep -q "登录了路由器" ); then + title="${login_ip} ${title}" + content="${content}${str_splitline}${str_tab}时间:${str_space}${str_space}${str_space}${str_space}${str_space}${ssh_login_time}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}${content_mode}" + else + title="设备状态变化" + content="${content}${str_splitline}${str_title_start}${font_green} 登录成功来源${str_title_end}${str_linefeed}${str_tab}时间:${str_space}${str_space}${str_space}${str_space}${str_space}${ssh_login_time}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}${content_mode}" + fi + fi + echo "`date "+%Y-%m-%d %H:%M:%S"` 【info】设备 ${login_ip} 通过 SSH ${ssh_login_mode} 登录了路由器 " >> ${logfile} + done + echo "" > ${dir}ssh_login + unset login_ip login_ip_list + + local login_ip_list=`cat ${dir}web_failed|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` + for login_ip in $login_ip_list; do + [ -z "$login_ip" ] && continue + echo "$ip_white_list"|grep -w -q "$login_ip" && continue + local web_login_sum=`cat ${dir}web_failed|grep -w "${login_ip}"|wc -l` + if [ "$web_login_sum" -ge "$login_max_num" ] ;then + if [ ! -z "$web_login_failed" ] && [ "$web_login_failed" -eq "1" ]; then + if [ -z "$title" ]; then + title="${login_ip} 通过 Web 频繁尝试登录" + content="${content}${str_splitline}${str_title_start}${font_red} 登录失败来源${font_end}${str_title_end}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}" + elif ( echo "$title"|grep -q "频繁尝试登录" ); then + title="${login_ip} ${title}" + content="${content}${str_splitline}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}" + else + title="设备状态变化" + content="${content}${str_splitline}${str_title_start}${font_red} 登录失败来源${font_end}${str_title_end}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}" + fi + fi + sed -i "/^${login_ip}$/d" ${dir}web_failed + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】设备 ${login_ip} 通过 Web 频繁尝试登录" >> ${logfile} + add_ip_black $login_ip + fi + done + unset login_ip + + local login_ip_list=`cat ${dir}ssh_failed|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` + for login_ip in $login_ip_list; do + [ -z "$login_ip" ] && continue + echo "$ip_white_list"|grep -w -q "$login_ip" && continue + local ssh_login_sum=`cat ${dir}ssh_failed|grep -w "${login_ip}"|wc -l` + if [ "$ssh_login_sum" -ge "$login_max_num" ] ;then + if [ ! -z "$ssh_login_failed" ] && [ "$ssh_login_failed" -eq "1" ]; then + if [ -z "$title" ]; then + title="${login_ip} 通过 SSH 频繁尝试登录" + content="${content}${str_splitline}${str_title_start}${font_red} 登录失败来源${font_end}${str_title_end}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}" + elif ( echo "$title"|grep -q "频繁尝试登录" ); then + title="${login_ip} ${title}" + content="${content}${str_splitline}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}" + else + title="设备状态变化" + content="${content}${str_splitline}${str_title_start}${font_red} 登录失败来源${font_end}${str_title_end}${str_linefeed}${str_tab}设备 IP: ${str_space}${str_space}${str_space}${str_space}${login_ip}" + fi + fi + sed -i "/^${login_ip}$/d" ${dir}ssh_failed + echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】设备 ${login_ip} 通过 SSH 频繁尝试登录" >> ${logfile} + add_ip_black $login_ip + fi + done + unset login_ip + +} + +# 添加黑名单 +function add_ip_black(){ + [ -f "${ip_blacklist_path}" ] && local logrow=$(grep -c "" ${ip_blacklist_path}) || local logrow="0" + [ ! -f "${ip_blacklist_path}" ] && local logrow="0" + [ ! -z "$web_login_black" ] && [ "$web_login_black" -eq "0" ] || [ -z "$web_login_black" ] && local logrow="0" + ipset flush ip_blacklist >/dev/null 2>&1 + + if [ $logrow -le "0" ]; then + iptables -D INPUT -m set --match-set ip_blacklist src -j DROP >/dev/null 2>&1 + ipset destroy ip_blacklist >/dev/null 2>&1 + return + fi + + ipset list ip_blacklist >/dev/null 2>&1 || ipset create ip_blacklist hash:ip timeout ${ip_black_timeout} >/dev/null 2>&1 + iptables -C INPUT -m set --match-set ip_blacklist src -j DROP >/dev/null 2>&1 || iptables -I INPUT -m set --match-set ip_blacklist src -j DROP >/dev/null 2>&1 + echo "$1" >> ${ip_blacklist_path} + for ip_black in `cat ${ip_blacklist_path}`; do + ip_black=`echo "$ip_black"|grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"` + ipset -! add ip_blacklist $ip_black >/dev/null 2>&1 + done + ipset list ip_blacklist|grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" > ${ip_blacklist_path} +} + +# 发送定时数据 +function send(){ + echo "`date "+%Y-%m-%d %H:%M:%S"` 【定时数据】创建定时任务" >> ${logfile} + pushbot_disturb;local send_disturb=$? + get_config "send_title" "router_status" "router_temp" "router_wan" "client_list" "google_check_timeout" + + [ -z "$send_title" ] && local send_title="路由状态:" + [ -z "$google_check_timeout" ] && local google_check_timeout="10" + [ ! -z "$1" ] && local send_title="发送测试:" && local send_content="${str_splitline}${str_title_start}内容1${str_title_end}${str_linefeed}${str_tab}设备1${str_linefeed}${str_tab}设备2${str_splitline}${str_title_start}内容2${str_title_end}${str_linefeed}${str_tab}设备3${str_linefeed}${str_tab}设备4" + [ -z "$1" ] && [ ! -z "$client_list" ] && [ "$client_list" -eq "1" ] && > ${dir}send_enable.lock && pushbot_first & + + if [ -z "$1" ] && [ ! -z "$router_status" ] && [ "$router_status" -eq "1" ]; then + local systemload=`cat /proc/loadavg|awk '{print $1" "$2" "$3}'` + local cpuload=`getcpu` + local ramload=`free -m|sed -n '2p'|awk '{printf "%.2f%%\n",($3/$2)*100}'` + local Qwai=`curl -o /dev/null --connect-timeout ${google_check_timeout} -s -w %{http_code} www.google.com` + if [[ "$Qwai" -eq "200" ]] || [[ "$Qwai" -eq "301" ]] || [[ "$Qwai" -eq "302" ]]; then + local Qwai_status="已连通!" + else + local Qwai_status="已断开!" + fi + local systemstatustime=`cat /proc/uptime|awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("运行时间:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'`;unset run_days run_hour run_minute run_second + local send_content="${send_content}${str_splitline}${str_title_start}${font_blue} 系统运行状态${font_end}${str_title_end}" + local send_content="${send_content}${str_linefeed}${str_tab}平均负载:${systemload}" + local send_content="${send_content}${str_linefeed}${str_tab}CPU占用:${cpuload}${percentsym}" + local send_content="${send_content}${str_linefeed}${str_tab}内存占用:${ramload}${percentsym}" + local send_content="${send_content}${str_linefeed}${str_tab}全球互联:${Qwai_status}" + local send_content="${send_content}${str_linefeed}${str_tab}${systemstatustime}" + fi + + if [ -z "$1" ] && [ ! -z "$router_temp" ] && [ "$router_temp" -eq "1" ]; then + local cputemp=`soc_temp` + [ ! -z "$cputemp" ] && local send_content="${send_content}${str_splitline}${str_title_start}${font_blue} 设备温度${font_end}${str_title_end}${str_linefeed}${str_tab}CPU:${cputemp}℃" + [ -z "$cputemp" ] && local send_content="${send_content}${str_splitline}${str_title_start}${font_red} 设备温度${font_end}${str_title_end}${str_linefeed}${str_tab}无法获取设备温度" + fi + + if [ -z "$1" ] && [ ! -z "$router_wan" ] && [ "$router_wan" -eq "1" ]; then + local send_wanIP=`getip wanipv4`;local send_hostIP=`getip hostipv4` + local send_content="${send_content}${str_splitline}${str_title_start}${font_blue} WAN 口信息${font_end}${str_title_end}${str_linefeed}${str_tab}接口ip:${send_wanIP}" + local send_content="${send_content}${str_linefeed}${str_tab}外网ip:${send_hostIP}" + if [ ! -z "$pushbot_ipv6" ] && [ "$pushbot_ipv6" -ne "0" ]; then + local send_wanIPv6=`getip wanipv6`;local send_hostIPv6=`getip hostipv6` + local send_content="${send_content}${str_linefeed}${str_tab}ipv6 :${send_wanIPv6}" + local send_content="${send_content}${str_linefeed}${str_tab}外网v6:${send_hostIPv6}" + fi + ( ! echo "$send_wanIP"|grep -q -w ${send_hostIP} ) && local send_content="${send_content}${str_linefeed}${str_tab}外网 ip 与接口 ip 不一致,你的 ip 不是公网 ip" + local interfaceuptime=`getinterfaceuptime` + [ ! -z "$interfaceuptime" ] && local wanstatustime=`getinterfaceuptime|awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("在线时间:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'` && unset run_days run_hour run_minute run_second + local send_content="${send_content}${str_linefeed}${str_tab}${wanstatustime}" + fi + + if [ -z "$1" ] && [ ! -z "$client_list" ] && [ "$client_list" -eq "1" ]; then + wait + local IPLIST=`cat ${dir}ipAddress 2>/dev/null|awk '{print $1}'` + [ -f ${dir}ipAddress ] && local logrow=$(grep -c "" ${dir}ipAddress) || local logrow="0" + [ "$logrow" -eq "0" ] && local send_content="${send_content}${str_splitline}${str_title_start}${font_red} 当前无在线设备${font_end}${str_title_end}" || local send_content="${send_content}${str_splitline}${str_title_start}${font_blue} 现有在线设备 ${logrow} 台${font_end}${str_title_end}" + for ip in $IPLIST; do + local time_up=`cat ${dir}ipAddress|grep -w ${ip}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` + local time1=`date +%s` + local time1=$(time_for_humans `expr ${time1} - ${time_up}`) + local ip_mac=`getmac ${ip}` + local ip_name=`getname ${ip} ${ip_mac}` + local ip_total=`usage get ${ip_mac}`;[ ! -z "$ip_total" ] && local ip_total="总计流量:${ip_total} " + local ip_name=`cut_str $ip_name 18` + local send_content="${send_content}${str_linefeed}${str_tab}${font_green2}【${ip_name}】${font_end2} ${ip}${str_linefeed}${str_tab}${ip_total}在线 ${time1}" + unset ip_total time_down time_up time1 ip_mac ip_name + done + fi + + [ ! -z "$device_name" ] && local send_title="【$device_name】${send_title}" + [ -z "$send_content" ] && local send_content="${str_splitline}${str_title_start} 我遇到了一个难题${str_title_end}${str_linefeed}${str_tab}定时发送选项错误,你没有选择需要发送的项目,该怎么办呢${str_splitline}" + [ "$send_disturb" -eq "0" ] && diy_send "${send_title}" "${send_content}" "${jsonpath}" >/dev/null 2>&1 + [ $? -eq 1 ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】定时推送失败,请检查网络或设置信息" >> ${logfile} || echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}定时推送任务完成" >> ${logfile} + deltemp +} + +# 初始化 +read_config +deltemp +pushbot_cron + +# 限制并发进程 +[ -z "$thread_num" ] || [ "$thread_num" -eq "0" ] && thread_num=5 +[ -e ${dir}fd1 ] || mkfifo ${dir}fd1 +exec 5<>${dir}fd1 +rm -f ${dir}fd1 >/dev/null 2>&1 +for i in `seq 1 $thread_num`; do + echo >&5 +done +unset i + +# 启动参数 +if [ "$1" ] ;then + [ $1 == "send" ] && send + [ $1 == "soc" ] && echo `soc_temp` > ${dir}soc_tmp + [ $1 == "client" ] && get_client + [ $1 == "test" ] && send test + exit +fi + +# 载入在线设备 +pushbot_init;[ $? -eq 1 ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】读取设置出错,请检查设置项 " >> ${logfile} && exit +echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】载入在线设备" >> ${logfile} +> ${dir}send_enable.lock && pushbot_first && deltemp +echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】初始化完成" >> ${logfile} + +# 循环 +while [ "$pushbot_enable" -eq "1" ]; do + deltemp + usage update + pushbot_disturb;disturb=$? + + # 外网IP变化检测 + [ -f ${dir}ipAddress ] && ipAddress_logrow=$(grep -c "" ${dir}ipAddress) || ipAddress_logrow="0"; + if [ $ipAddress_logrow -ne "0" ]; then + online_list=`cat ${dir}ipAddress|awk '{print $2}'|grep -v "^$"|sort -u` + for online_mac in $online_list; do + [ ! -z "$online_mac" ] && mac_online_status="`echo "$mark_mac_list"|grep -i $online_mac|grep -v "^$"|sort -u|head -n1`${mac_online_status}" + done + fi + + if [ "$pushbot_ipv4" -ne "0" ] || [ "$pushbot_ipv6" -ne "0" ]; then + rand_geturl + ip_changes + fi + + # 设备列表 + if [ ! -f "${dir}send_enable.lock" ]; then + [ ! -z "$title" ] && echo "$title" > ${dir}title + [ ! -z "$content" ] && echo "$content" > ${dir}content + pushbot_first + [ -f "${dir}title" ] && title=`cat ${dir}title` && rm -f ${dir}title >/dev/null 2>&1 + [ -f "${dir}content" ] && content=`cat ${dir}content` && rm -f ${dir}content >/dev/null 2>&1 + fi + + # 离线缓存区推送 + [ ! -f "${dir}send_enable.lock" ] && down_send + + # 当前设备列表 + [ ! -z "$content" ] && [ ! -f "${dir}send_enable.lock" ] && current_device + + # 无人值守任务 + [ ! -f "${dir}send_enable.lock" ] && unattended + + # CPU 检测 + [ ! -f "${dir}send_enable.lock" ] && cpu_load + + # 异常流量检测 + [ ! -f "${dir}send_enable.lock" ] && get_client_usage + + # 登录提醒通知 + [ ! -f "${dir}send_enable.lock" ] && login_send + + # 通知 + if [ ! -f "${dir}send_enable.lock" ] && [ ! -z "$title" ] && [ ! -z "$content" ]; then + [ ! -z "$device_name" ] && title="【$device_name】$title" + ( echo "$lite_enable"|grep -q "content" ) && content="$title" + [ "$disturb" -eq "0" ] && diy_send "${title}" "${content}" "${jsonpath}" >/dev/null 2>&1 + [ $? -eq 1 ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】推送失败,请检查网络或设置信息 " >> ${logfile} + fi + + while [ -f "${dir}send_enable.lock" ]; do + sleep $sleeptime + done + sleep $sleeptime +done diff --git a/luci-app-pushbot/root/usr/share/rpcd/acl.d/luci-app-pushbot.json b/luci-app-pushbot/root/usr/share/rpcd/acl.d/luci-app-pushbot.json new file mode 100644 index 00000000..473cdcd1 --- /dev/null +++ b/luci-app-pushbot/root/usr/share/rpcd/acl.d/luci-app-pushbot.json @@ -0,0 +1,11 @@ +{ + "luci-app-pushbot": { + "description": "Grant UCI access for luci-app-pushbot", + "read": { + "uci": [ "pushbot" ] + }, + "write": { + "uci": [ "pushbot" ] + } + } +} diff --git a/luci-app-rebootschedule/Makefile b/luci-app-rebootschedule/Makefile new file mode 100644 index 00000000..87500882 --- /dev/null +++ b/luci-app-rebootschedule/Makefile @@ -0,0 +1,46 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-rebootschedule +PKG_VERSION:=1.0 +PKG_RELEASE:=20210522 + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=luci + CATEGORY:=LuCI + SUBMENU:=3. Applications + TITLE:=LuCI support for rebootschedule + PKGARCH:=all +endef + +define Package/$(PKG_NAME)/description + LuCI support for rebootschedule +endef + +define Build/Compile +endef + + +define Package/$(PKG_NAME)/postinst +#!/bin/sh +rm -f /tmp/luci-indexcache /tmp/luci-modulecache +endef + +define Package/$(PKG_NAME)/conffiles +/etc/config/rebootschedule +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config $(1)/usr/lib/lua/luci + $(CP) ./luasrc/* $(1)/usr/lib/lua/luci + $(INSTALL_CONF) ./root/etc/config/* $(1)/etc/config + $(INSTALL_BIN) ./root/etc/init.d/* $(1)/etc/init.d + $(INSTALL_BIN) ./file/* $(1)/usr/bin + +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + diff --git a/luci-app-rebootschedule/README.md b/luci-app-rebootschedule/README.md new file mode 100644 index 00000000..be35f7f4 --- /dev/null +++ b/luci-app-rebootschedule/README.md @@ -0,0 +1 @@ +# luci-app-rebootschedule diff --git a/luci-app-rebootschedule/file/sysfree.sh b/luci-app-rebootschedule/file/sysfree.sh new file mode 100644 index 00000000..1c7cd2a3 --- /dev/null +++ b/luci-app-rebootschedule/file/sysfree.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +cd /overlay +rm -rf `ls | egrep -v '(upper|.fs_state)'` +cd /overlay/upper +rm -rf `ls | egrep -v '(etc|usr)'` +cd /overlay/upper/usr +rm -rf `ls | egrep -v '(share)'` +cd /overlay/upper/usr/share +rm -rf `ls | egrep -v '(unblockneteasemusic|passwall)'` +cd /overlay/upper/etc +rm -rf `ls | egrep -v '(config|smartdns|ssrplus|bench.log|shadow|openclash|rebootschedule)'` +cd /overlay/upper/etc/config +rm -rf `ls | egrep -v '(timecontrol|arpbind|ksmbd|access_control|netspeedtest|rebootschedule|wrtbwmon|ddns|wolplus|advanced|firewall|jd-dailybonus|network|oled|openclash|passwall|serverchan|shadowsocksr|sqm|unblockneteasemusic|weburl|zerotier|vssr|zero|dhcp)'` +rm -f /tmp/luci* +rm -f /tmp/cache/* +sync && echo 3 > /proc/sys/vm/drop_caches + + \ No newline at end of file diff --git a/luci-app-rebootschedule/luasrc/controller/rebootschedule.lua b/luci-app-rebootschedule/luasrc/controller/rebootschedule.lua new file mode 100644 index 00000000..71ae480c --- /dev/null +++ b/luci-app-rebootschedule/luasrc/controller/rebootschedule.lua @@ -0,0 +1,12 @@ +module("luci.controller.rebootschedule", package.seeall) +function index() + if not nixio.fs.access("/etc/config/rebootschedule") then + return + end + + + entry({"admin", "system", "rebootschedule"}, cbi("rebootschedule"), _("定时任务"), 20) +end + + + diff --git a/luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua b/luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua new file mode 100644 index 00000000..84cac6e9 --- /dev/null +++ b/luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua @@ -0,0 +1,67 @@ +m=Map("rebootschedule",translate("定时任务设置"), +translate("让计划任务更加易用的插件,可以使用-表示连续的时间范围,使用,表示不连续的多个时间点,使用*/表示循环执行。可以使用“添加”来添加多条计划任务命令。可使用“--自定义--”来自行添加其它参数。
") .. +translate("*所有时间参数都是指该自然单位中的时间点,而非累积计数,比如星期只能是0~6,小时只能是0~23,分钟只能是0~59,不能使用48小时、80分钟这种累积计数表示法。
") .. +translate("* 所有数值可使用 - 连接表示连续范围,比如星期:1-5 表示星期一至星期五;使用,表示不连续的点,比如星期:1,3,5 表示仅仅星期一、三、五。") .. +translate("   ") +) + +s=m:section(TypedSection,"crontab","") +s.anonymous = true +s.addremove = true +s.sortable = false +s.template = "cbi/tblsection" +s.rmempty = false + +p=s:option(Flag,"enable",translate("启用")) +p.rmempty = false +p.default=0 + + +week=s:option(Value,"week",translate("星期 (数值范围0~6)"), +translate("和日期是逻辑“与”关系
n1-n5连续,n1,n3,n5不连续
")) +week.rmempty = true +week:value('*',translate("每天")) +week:value(0,translate("Sunday")) +week:value(1,translate("Monday")) +week:value(2,translate("Tuesday")) +week:value(3,translate("Wednesday")) +week:value(4,translate("Thursday")) +week:value(5,translate("Friday")) +week:value(6,translate("Saturday")) +week.default='*' + + +hour=s:option(Value,"hour",translate("时 (数值范围0~23)"), +translate("*表示每小时,*/n表示每n小时
n1-n5连续,n1,n3,n5不连续
")) +hour.rmempty = false +hour.default = '5' + +minute=s:option(Value,"minute",translate("分 (数值范围0~59)"), +translate("*表示每分钟,*/n表示每n分钟
n1-n5连续,n1,n3,n5不连续
")) +minute.rmempty = false +minute.default = '0' + +command=s:option(Value,"command",translate("执行命令 (多条用 && 连接)"), +translate("按“--自定义--”可进行修改
(亦可添加后到计划任务中修改)
")) +command:value('sync && echo 3 > /proc/sys/vm/drop_caches', translate("A.释放内存")) +command:value('sysfree.sh',translate("B.清理垃圾")) +command:value('sleep 5 && touch /etc/banner && reboot',translate("C.重启系统")) +command:value('poweroff',translate("D.关闭电源")) +command:value('/etc/init.d/ksmdb restart &&/etc/init.d/samba restart',translate("E.重启共享")) +command:value('/etc/init.d/network restart',translate("F.重启网络")) +command:value('ifdown wan && ifup wan',translate("G.重启WAN")) +command:value('killall -q pppd && sleep 5 && pppd file /tmp/ppp/options.wan', translate("H.重新拨号")) +command:value('ifdown wan',translate("I.关闭联网")) +command:value('ifup wan',translate("J.打开联网")) +command:value('wifi down',translate("K.关闭WIFI")) +command:value('wifi up',translate("L.打开WIFI")) +command.default='sleep 5 && touch /etc/banner && reboot' + +local e=luci.http.formvalue("cbi.apply") +if e then + io.popen("/etc/init.d/rebootschedule restart") +end + +return m diff --git a/luci-app-rebootschedule/po/en/rebootschedule.mo b/luci-app-rebootschedule/po/en/rebootschedule.mo new file mode 100644 index 00000000..0ccffe1b Binary files /dev/null and b/luci-app-rebootschedule/po/en/rebootschedule.mo differ diff --git a/luci-app-rebootschedule/po/en/rebootschedule.po b/luci-app-rebootschedule/po/en/rebootschedule.po new file mode 100644 index 00000000..6c7eb9fd --- /dev/null +++ b/luci-app-rebootschedule/po/en/rebootschedule.po @@ -0,0 +1,195 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.0\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: en\n" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:5 +msgid "" +"   " +msgstr "" +"*All time parameters refer to the time point in the natural unit, not the " +"cumulative count. For example, the week can only be 0-6, the hour can only " +"be 0-23, the minute can only be 0-59, and 48 hours cannot be used. This " +"cumulative count representation of 80 minutes.
" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:42 +msgid "" +"*表示每分钟,*/n表示每n分钟
n1-n5连续,n1,n3,n5不连" +"续
" +msgstr "" +"* means every minute, */n means every n minutes
n1-" +"n5 are continuous, n1, n3, n5 are not continuous
" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:37 +msgid "" +"*表示每小时,*/n表示每n小时
n1-n5连续,n1,n3,n5不连" +"续
" +msgstr "" +"* means every hour, */n means every n hours
n1-n5 " +"are continuous, n1, n3, n5 are not continuous
" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:23 +msgid "" +"和日期是逻辑“与”关系
n1-n5连续,n1,n3,n5不连续" +msgstr "" +"and date have a logical AND relationship
n1-n5 are " +"continuous, n1, n3, n5 are not continuous
" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:47 +msgid "" +"按“--自定义--”可进行修改
(亦可添加后到计划任务中修" +"改)
" +msgstr "" +"Press \"--Custom--\" to modify it
(it can also be " +"added and modified in the scheduled task)
" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:2 +msgid "" +"让计划任务更加易用的插件,可以使用-表示连续的时间范" +"围,使用,表示不连续的多个时间点,使用*/表示循环执行。可以使用“添加”来添加多" +"条计划任务命令。可使用“--自定义--”来自行添加其它参数。
" +msgstr "" +"A plug-in that makes scheduled tasks easier to use. " +"You can use-to indicate a continuous time range, use to indicate multiple " +"discrete time points, and use */ to indicate cyclic execution. You can use " +"\"Add\" to add multiple scheduled task commands. You can use \"--Custom--\" " +"to add other parameters yourself.
" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:48 +msgid "A.释放内存" +msgstr "A. Release memory" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:49 +msgid "B.清理垃圾" +msgstr "B. Clean up rubbish" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:50 +msgid "C.重启系统" +msgstr "C. Restart the system" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:51 +msgid "D.关闭电源" +msgstr "D. Turn off the power" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:52 +msgid "E.重启共享" +msgstr "E. Restart sharing" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:53 +msgid "F.重启网络" +msgstr "F. Restart the network" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:31 +msgid "Friday" +msgstr "Friday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:54 +msgid "G.重启WAN" +msgstr "G. Restart WAN" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:55 +msgid "H.重新拨号" +msgstr "H. Redial" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:56 +msgid "I.关闭联网" +msgstr "I. Turn off the Internet" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:57 +msgid "J.打开联网" +msgstr "J. Turn on networking" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:58 +msgid "K.关闭WIFI" +msgstr "K. Turn off WIFI" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:59 +msgid "L.打开WIFI" +msgstr "L. Turn on WIFI" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:27 +msgid "Monday" +msgstr "Monday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:32 +msgid "Saturday" +msgstr "Saturday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:26 +msgid "Sunday" +msgstr "Sunday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:30 +msgid "Thursday" +msgstr "Thursday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:28 +msgid "Tuesday" +msgstr "Tuesday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:29 +msgid "Wednesday" +msgstr "Wednesday" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:41 +msgid "分 (数值范围0~59)" +msgstr "Minutes (value range 0~59)" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:17 +msgid "启用" +msgstr "Enable" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:1 +msgid "定时任务设置" +msgstr "Scheduled task settings" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:46 +msgid "执行命令 (多条用 && 连接)" +msgstr "" +"Execute the command (multiple items connected with " +"&&)" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:36 +msgid "时 (数值范围0~23)" +msgstr "When (numerical range 0~23)" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:22 +msgid "星期 (数值范围0~6)" +msgstr "Day of the week (value range 0~6)" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:6 +msgid "查看/验证" +msgstr "View/Verify" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:25 +msgid "每天" +msgstr "every day" diff --git a/luci-app-rebootschedule/po/en/rebootschedule.pot b/luci-app-rebootschedule/po/en/rebootschedule.pot new file mode 100644 index 00000000..ecb15bbd --- /dev/null +++ b/luci-app-rebootschedule/po/en/rebootschedule.pot @@ -0,0 +1,160 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:5 +msgid "" +"   " +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:42 +msgid "" +"*表示每分钟,*/n表示每n分钟
n1-n5连续,n1,n3,n5不连" +"续
" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:37 +msgid "" +"*表示每小时,*/n表示每n小时
n1-n5连续,n1,n3,n5不连" +"续
" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:23 +msgid "" +"和日期是逻辑“与”关系
n1-n5连续,n1,n3,n5不连续" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:47 +msgid "" +"按“--自定义--”可进行修改
(亦可添加后到计划任务中修" +"改)
" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:2 +msgid "" +"让计划任务更加易用的插件,可以使用-表示连续的时间范" +"围,使用,表示不连续的多个时间点,使用*/表示循环执行。可以使用“添加”来添加多条" +"计划任务命令。可使用“--自定义--”来自行添加其它参数。
" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:48 +msgid "A.释放内存" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:49 +msgid "B.清理垃圾" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:50 +msgid "C.重启系统" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:51 +msgid "D.关闭电源" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:52 +msgid "E.重启共享" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:53 +msgid "F.重启网络" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:31 +msgid "Friday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:54 +msgid "G.重启WAN" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:55 +msgid "H.重新拨号" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:56 +msgid "I.关闭联网" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:57 +msgid "J.打开联网" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:58 +msgid "K.关闭WIFI" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:59 +msgid "L.打开WIFI" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:27 +msgid "Monday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:32 +msgid "Saturday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:26 +msgid "Sunday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:30 +msgid "Thursday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:28 +msgid "Tuesday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:29 +msgid "Wednesday" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:41 +msgid "分 (数值范围0~59)" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:17 +msgid "启用" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:1 +msgid "定时任务设置" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:46 +msgid "执行命令 (多条用 && 连接)" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:36 +msgid "时 (数值范围0~23)" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:22 +msgid "星期 (数值范围0~6)" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:6 +msgid "查看/验证" +msgstr "" + +#: luci-app-rebootschedule/luasrc/model/cbi/rebootschedule.lua:25 +msgid "每天" +msgstr "" diff --git a/luci-app-rebootschedule/root/etc/config/rebootschedule b/luci-app-rebootschedule/root/etc/config/rebootschedule new file mode 100644 index 00000000..70462623 --- /dev/null +++ b/luci-app-rebootschedule/root/etc/config/rebootschedule @@ -0,0 +1,66 @@ +config crontab + option week '*' + option hour '*/4' + option day '*' + option month '*' + option minute '0' + option command 'sync && echo 3 > /proc/sys/vm/drop_caches' + option enable '1' + +config crontab + option month '*' + option day '*' + option hour '5' + option minute '0' + option week '1,3,5' + option command 'sleep 5 && touch /etc/banner && reboot' + option enable '0' + +config crontab + option enable '0' + option week '*' + option hour '23' + option minute '59' + option command 'poweroff' + +config crontab + option month '*' + option day '*' + option week '*' + option command '/etc/init.d/network restart' + option enable '0' + option hour '*/12' + option minute '30' + +config crontab + option month '*' + option day '*' + option week '1-5' + option hour '7' + option minute '50' + option command 'wifi up' + option enable '0' + +config crontab + option month '*' + option day '*' + option minute '0' + option week '1-5' + option hour '18' + option command 'wifi down' + option enable '0' + +config crontab + option minute '0' + option week '*' + option hour '5' + option enable '0' + option command '/etc/init.d/ksmdb restart &&/etc/init.d/samba restart' + +config crontab + option minute '0' + option week '2' + option hour '5' + option command 'sysfree.sh' + option enable '0' + diff --git a/luci-app-rebootschedule/root/etc/init.d/rebootschedule b/luci-app-rebootschedule/root/etc/init.d/rebootschedule new file mode 100644 index 00000000..c2427690 --- /dev/null +++ b/luci-app-rebootschedule/root/etc/init.d/rebootschedule @@ -0,0 +1,48 @@ +#!/bin/sh /etc/rc.common +# Author=wulishui , 20200908-0915 ; +# 20210514 by sirpdboy + +START=55 + + +up_cron() { +if [ "`grep 'option enable .1.' /etc/config/rebootschedule 2>/dev/null`" ]; then + [ -s /etc/crontabs/root ] || mcronrst=1 + del_cron + sum=$(grep -c 'config crontab' /etc/config/rebootschedule 2>/dev/null) + for i in $(seq 0 $((sum-1))); do + enable=`uci get rebootschedule.@crontab[$i].enable 2>/dev/null` + if [ $enable -eq 1 ]; then + month=`uci get rebootschedule.@crontab[$i].month 2>/dev/null` || month="*" + day=`uci get rebootschedule.@crontab[$i].day 2>/dev/null` || day="*" + week=`uci get rebootschedule.@crontab[$i].week 2>/dev/null` || week="*" + #[ ! "$day" = "*" ] && week="*" + hour=`uci get rebootschedule.@crontab[$i].hour 2>/dev/null` || hour="*"; [ "$hour" = "0" ] && hour="00" + minute=`uci get rebootschedule.@crontab[$i].minute 2>/dev/null` || minute="00"; [ "$minute" = "0" ] && minute="00" + command=`uci get rebootschedule.@crontab[$i].command 2>/dev/null` || command="echo "Reboot schedule tested."" + echo "$minute $hour $day $month $week $command #rebootschedule" >> /etc/crontabs/root + fi + done + [ $mcronrst ] && /etc/init.d/cron restart +fi +} + +del_cron() { + sed -i '/rebootschedule/d' /etc/crontabs/root 2>/dev/nul +} + + +start() +{ + + if [ ! -e /etc/config/rebootschedule ]; then + logger -p daemon.error -t 'rebootschedule' "missing config /etc/config/rebootschedule!" + exit 1 + fi + up_cron +} + +stop() +{ + del_cron +} diff --git a/luci-app-rebootschedule/root/etc/uci-defaults/luci-app-rebootschedule b/luci-app-rebootschedule/root/etc/uci-defaults/luci-app-rebootschedule new file mode 100644 index 00000000..0a4afce8 --- /dev/null +++ b/luci-app-rebootschedule/root/etc/uci-defaults/luci-app-rebootschedule @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@rebootschedule[-1] + add ucitrack rebootschedule + set ucitrack.@rebootschedule[-1].init=rebootschedule + commit ucitrack +EOF + +rm -f /tmp/luci-* +exit 0 diff --git a/luci-app-rebootschedule/root/usr/share/rpcd/acl.d/luci-app-rebootschedule.json b/luci-app-rebootschedule/root/usr/share/rpcd/acl.d/luci-app-rebootschedule.json new file mode 100644 index 00000000..b80a47af --- /dev/null +++ b/luci-app-rebootschedule/root/usr/share/rpcd/acl.d/luci-app-rebootschedule.json @@ -0,0 +1,11 @@ +{ + "luci-app-rebootschedule": { + "description": "Grant UCI access for luci-app-rebootschedule", + "read": { + "uci": [ "rebootschedule" ] + }, + "write": { + "uci": [ "rebootschedule" ] + } + } +} diff --git a/luci-app-shortcutmenu/Makefile b/luci-app-shortcutmenu/Makefile new file mode 100644 index 00000000..fe7b645d --- /dev/null +++ b/luci-app-shortcutmenu/Makefile @@ -0,0 +1,19 @@ +# +# Copyright (C) 2019-2020 +# +# This is free software, licensed under the Apache License, Version 3.0 . +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-shortcutmenu +LUCI_TITLE:=LuCI Support for shortcutmenu +LUCI_DEPENDS:= +LUCI_PKGARCH:=all +PKG_VERSION:=v0.0.5 +PKG_LICENSE:=AGPL-3.0 +PKG_MAINTAINER:= + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-shortcutmenu/luasrc/controller/shortcutmenu.lua b/luci-app-shortcutmenu/luasrc/controller/shortcutmenu.lua new file mode 100644 index 00000000..b1dad689 --- /dev/null +++ b/luci-app-shortcutmenu/luasrc/controller/shortcutmenu.lua @@ -0,0 +1,11 @@ +-- Copyright 2021 sudodou +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.shortcutmenu", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/shortcutmenu") then + return + end + entry({"admin", "status", "shortcutmenu"}, cbi("shortcutmenu"), _("Shortcutmenu"), 55).dependent = true +end diff --git a/luci-app-shortcutmenu/luasrc/model/cbi/shortcutmenu.lua b/luci-app-shortcutmenu/luasrc/model/cbi/shortcutmenu.lua new file mode 100644 index 00000000..d9d28648 --- /dev/null +++ b/luci-app-shortcutmenu/luasrc/model/cbi/shortcutmenu.lua @@ -0,0 +1,39 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2020 doushang + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + +local sys = require "luci.sys" +local a,b,c,d + +m = Map("shortcutmenu", translate("Shortcutmenu"), + translatef("Shortcutmenu is used to provide quick access to web pages.")) +s = m:section(TypedSection, "lists", translate("Lists")) +s.template = "cbi/tblsection" +s.anonymous = true +s.addremove = true + +a = s:option(Value, "webname", translate("Webname")) + +b = s:option(Value,"weburl", translate("Weburl(without http:// or https:// )")) + +c = s:option(Value,"webpath",translate("Webpath")) +c.default = '/' + +d = s:option(DummyValue,"operator",translate("Operator")) +d.rawhtml = true +function d.cfgvalue(self, s) + local e = self.map:get(s, "weburl") or ' ' + local f = self.map:get(s, "webpath") or ' ' + return "" +end + +return m \ No newline at end of file diff --git a/luci-app-shortcutmenu/po/zh-cn/shortcutmenu.po b/luci-app-shortcutmenu/po/zh-cn/shortcutmenu.po new file mode 100644 index 00000000..ffe06928 --- /dev/null +++ b/luci-app-shortcutmenu/po/zh-cn/shortcutmenu.po @@ -0,0 +1,26 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "Shortcutmenu" +msgstr "网页快捷菜单" + +msgid "Shortcutmenu is used to provide quick access to web pages." +msgstr "网页快捷菜单用于提供网页的快捷入口。" + +msgid "Lists" +msgstr "列表" + +msgid "Webname" +msgstr "名称" + +msgid "Weburl" +msgstr "网址" + +msgid "Webpath" +msgstr "路径" + +msgid "Weburl(without http:// or https:// )" +msgstr "网址(不需要带 http:// 或者 https:// )" + +msgid "Operator" +msgstr "操作" \ No newline at end of file diff --git a/luci-app-shortcutmenu/po/zh_Hans b/luci-app-shortcutmenu/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-shortcutmenu/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-shortcutmenu/root/etc/config/shortcutmenu b/luci-app-shortcutmenu/root/etc/config/shortcutmenu new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/luci-app-shortcutmenu/root/etc/config/shortcutmenu @@ -0,0 +1 @@ + diff --git a/luci-app-shortcutmenu/root/usr/share/rpcd/acl.d/luci-app-shortcutmenu.json b/luci-app-shortcutmenu/root/usr/share/rpcd/acl.d/luci-app-shortcutmenu.json new file mode 100644 index 00000000..5ec8e930 --- /dev/null +++ b/luci-app-shortcutmenu/root/usr/share/rpcd/acl.d/luci-app-shortcutmenu.json @@ -0,0 +1,11 @@ +{ + "luci-app-shortcutmenu": { + "description": "Grant UCI access for luci-app-shortcutmenu", + "read": { + "uci": [ "shortcutmenu" ] + }, + "write": { + "uci": [ "shortcutmenu" ] + } + } +} diff --git a/luci-app-smartdns/Makefile b/luci-app-smartdns/Makefile new file mode 100644 index 00000000..d79d6ae2 --- /dev/null +++ b/luci-app-smartdns/Makefile @@ -0,0 +1,26 @@ +# +# Copyright 2018-2020 Nick Peng +# Licensed to the public under the GPL V3 License. + +include $(TOPDIR)/rules.mk + +PKG_LICENSE:=GPL-3.0-or-later +PKG_MAINTAINER:=Nick Peng +PKG_VERSION:=1.2020.30 +PKG_RELEASE:=1 + +LUCI_TITLE:=LuCI for smartdns +LUCI_DESCRIPTION:=Provides Luci for smartdns +LUCI_DEPENDS:=+smartdns +LUCI_PKGARCH:=all + +define Package/$(PKG_NAME)/config +# shown in make menuconfig +help + $(LUCI_TITLE) + Version: $(PKG_VERSION)-$(PKG_RELEASE) +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-smartdns/luasrc/controller/smartdns.lua b/luci-app-smartdns/luasrc/controller/smartdns.lua new file mode 100644 index 00000000..a8bd7373 --- /dev/null +++ b/luci-app-smartdns/luasrc/controller/smartdns.lua @@ -0,0 +1,83 @@ +-- +-- Copyright (C) 2018-2020 Ruilin Peng (Nick) . +-- +-- smartdns is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- smartdns is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +module("luci.controller.smartdns", package.seeall) +local smartdns = require "luci.model.smartdns" + +function index() + if not nixio.fs.access("/etc/config/smartdns") then + return + end + + local page + page = entry({"admin", "services", "smartdns"}, cbi("smartdns/smartdns"), _("SmartDNS"), 60) + page.dependent = true + page = entry({"admin", "services", "smartdns", "status"}, call("act_status")) + page.leaf = true + page = entry({"admin", "services", "smartdns", "upstream"}, cbi("smartdns/upstream"), nil) + page.leaf = true +end + +local function is_running() + return luci.sys.call("pidof smartdns >/dev/null") == 0 +end + +function act_status() + local e={} + local ipv6_server; + local redirect_mode="none"; + + e.ipv6_works = 2; + e.ipv4_works = 2; + e.ipv6_server = 1; + e.dnsmasq_forward = 0; + redirect_mode = smartdns.get_config_option("smartdns", "smartdns", "redirect", nil); + if redirect_mode == "redirect" then + e.redirect = 1 + elseif redirect_mode == "dnsmasq-upstream" then + e.redirect = 2 + else + e.redirect = 0 + end + + e.local_port = smartdns.get_config_option("smartdns", "smartdns", "port", nil); + ipv6_server = smartdns.get_config_option("smartdns", "smartdns", "ipv6_server", nil); + if e.redirect == 1 then + if e.local_port ~= nil and e.local_port ~= "53" then + e.ipv4_works = luci.sys.call("iptables -t nat -nL PREROUTING 2>/dev/null | grep REDIRECT | grep dpt:53 | grep %q >/dev/null 2>&1" % e.local_port) == 0 + if ipv6_server == "1" then + e.ipv6_works = luci.sys.call("ip6tables -t nat -nL PREROUTING 2>/dev/null| grep REDIRECT | grep dpt:53 | grep %q >/dev/null 2>&1" % e.local_port) == 0 + else + e.ipv6_works = 2 + end + else + e.redirect = 0 + end + elseif e.redirect == 2 then + local str; + local dnsmasq_server = luci.sys.exec("uci get dhcp.@dnsmasq[0].server") + if e.local_port ~= nil then + str = "127.0.0.1#" .. e.local_port + if string.sub(dnsmasq_server,1,string.len(str)) == str then + e.dnsmasq_forward = 1 + end + end + end + e.running = is_running() + + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/luci-app-smartdns/luasrc/model/cbi/smartdns/smartdns.lua b/luci-app-smartdns/luasrc/model/cbi/smartdns/smartdns.lua new file mode 100644 index 00000000..b9ba907f --- /dev/null +++ b/luci-app-smartdns/luasrc/model/cbi/smartdns/smartdns.lua @@ -0,0 +1,342 @@ +-- +-- Copyright (C) 2018-2020 Ruilin Peng (Nick) . +-- +-- smartdns is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- smartdns is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +require ("nixio.fs") +require ("luci.http") +require ("luci.dispatcher") +require ("nixio.fs") + +m = Map("smartdns") +m.title = translate("SmartDNS Server") +m.description = translate("SmartDNS is a local high-performance DNS server, supports finding fastest IP, supports ad filtering, and supports avoiding DNS poisoning.") + +m:section(SimpleSection).template = "smartdns/smartdns_status" + +-- Basic +s = m:section(TypedSection, "smartdns", translate("Settings"), translate("General Settings")) +s.anonymous = true + +s:tab("settings", translate("General Settings")) +s:tab("seconddns", translate("Second Server Settings")) +s:tab("custom", translate("Custom Settings")) + +---- Eanble +o = s:taboption("settings", Flag, "enabled", translate("Enable"), translate("Enable or disable smartdns server")) +o.default = o.disabled +o.rempty = false + +---- server name +o = s:taboption("settings", Value, "server_name", translate("Server Name"), translate("Smartdns server name")) +o.default = "smartdns" +o.datatype = "hostname" +o.rempty = false + +---- Port +o = s:taboption("settings", Value, "port", translate("Local Port"), translate("Smartdns local server port")) +o.placeholder = 6053 +o.default = 6053 +o.datatype = "port" +o.rempty = false + +---- Enable TCP server +o = s:taboption("settings", Flag, "tcp_server", translate("TCP Server"), translate("Enable TCP DNS Server")) +o.rmempty = false +o.default = o.enabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "1" +end + +---- Support IPV6 +o = s:taboption("settings", Flag, "ipv6_server", translate("IPV6 Server"), translate("Enable IPV6 DNS Server")) +o.rmempty = false +o.default = o.enabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "1" +end + +---- Support DualStack ip selection +o = s:taboption("settings", Flag, "dualstack_ip_selection", translate("Dual-stack IP Selection"), translate("Enable IP selection between IPV4 and IPV6")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- Domain prefetch load +o = s:taboption("settings", Flag, "prefetch_domain", translate("Domain prefetch"), translate("Enable domain prefetch, accelerate domain response speed.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- Domain Serve expired +o = s:taboption("settings", Flag, "serve_expired", translate("Serve expired"), + translate("Attempts to serve old responses from cache with a TTL of 0 in the response without waiting for the actual resolution to finish.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- Redirect +o = s:taboption("settings", ListValue, "redirect", translate("Redirect"), translate("SmartDNS redirect mode")) +o.placeholder = "none" +o:value("none", translate("none")) +o:value("dnsmasq-upstream", translate("Run as dnsmasq upstream server")) +o:value("redirect", translate("Redirect 53 port to SmartDNS")) +o.default = "none" +o.rempty = false + +---- cache-size +o = s:taboption("settings", Value, "cache_size", translate("Cache Size"), translate("DNS domain result cache size")) +o.rempty = true + +---- rr-ttl +o = s:taboption("settings", Value, "rr_ttl", translate("Domain TTL"), translate("TTL for all domain result.")) +o.rempty = true + +---- rr-ttl-min +o = s:taboption("settings", Value, "rr_ttl_min", translate("Domain TTL Min"), translate("Minimum TTL for all domain result.")) +o.rempty = true +o.placeholder = "300" +o.default = 300 +o.optional = true + +---- second dns server +---- rr-ttl-max +o = s:taboption("settings", Value, "rr_ttl_max", translate("Domain TTL Max"), translate("Maximum TTL for all domain result.")) +o.rempty = true + +---- Eanble +o = s:taboption("seconddns", Flag, "seconddns_enabled", translate("Enable"), translate("Enable or disable second DNS server.")) +o.default = o.disabled +o.rempty = false + +---- Port +o = s:taboption("seconddns", Value, "seconddns_port", translate("Local Port"), translate("Smartdns local server port")) +o.placeholder = 6553 +o.default = 6553 +o.datatype = "port" +o.rempty = false + +---- Enable TCP server +o = s:taboption("seconddns", Flag, "seconddns_tcp_server", translate("TCP Server"), translate("Enable TCP DNS Server")) +o.rmempty = false +o.default = o.enabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "1" +end + +---- dns server group +o = s:taboption("seconddns", Value, "seconddns_server_group", translate("Server Group"), translate("Query DNS through specific dns server group, such as office, home.")) +o.rmempty = true +o.placeholder = "default" +o.datatype = "hostname" +o.rempty = true + +o = s:taboption("seconddns", Flag, "seconddns_no_speed_check", translate("Skip Speed Check"), translate("Do not check speed.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- skip address rules +o = s:taboption("seconddns", Flag, "seconddns_no_rule_addr", translate("Skip Address Rules"), translate("Skip address rules.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- skip name server rules +o = s:taboption("seconddns", Flag, "seconddns_no_rule_nameserver", translate("Skip Nameserver Rule"), translate("Skip nameserver rules.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- skip ipset rules +o = s:taboption("seconddns", Flag, "seconddns_no_rule_ipset", translate("Skip Ipset Rule"), translate("Skip ipset rules.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- skip soa address rule +o = s:taboption("seconddns", Flag, "seconddns_no_rule_soa", translate("Skip SOA Address Rule"), translate("Skip SOA address rules.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +o = s:taboption("seconddns", Flag, "seconddns_no_dualstack_selection", translate("Skip Dualstack Selection"), translate("Skip Dualstack Selection.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- skip cache +o = s:taboption("seconddns", Flag, "seconddns_no_cache", translate("Skip Cache"), translate("Skip Cache.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- Force AAAA SOA +o = s:taboption("seconddns", Flag, "force_aaaa_soa", translate("Force AAAA SOA"), translate("Force AAAA SOA.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +----- custom settings +custom = s:taboption("custom", Value, "Custom Settings", + translate(""), + translate("smartdns custom settings")) + +custom.template = "cbi/tvalue" +custom.rows = 20 + +function custom.cfgvalue(self, section) + return nixio.fs.readfile("/etc/smartdns/custom.conf") +end + +function custom.write(self, section, value) + value = value:gsub("\r\n?", "\n") + nixio.fs.writefile("/etc/smartdns/custom.conf", value) +end + +o = s:taboption("custom", Flag, "coredump", translate("Generate Coredump"), translate("Generate Coredump file when smartdns crash, coredump file is located at /tmp/smartdns.xxx.core.")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +-- Upstream servers +s = m:section(TypedSection, "server", translate("Upstream Servers"), translate("Upstream Servers, support UDP, TCP protocol. " .. + "Please configure multiple DNS servers, including multiple foreign DNS servers.")) + +s.anonymous = true +s.addremove = true +s.template = "cbi/tblsection" +s.extedit = luci.dispatcher.build_url("admin/services/smartdns/upstream/%s") + +---- enable flag +o = s:option(Flag, "enabled", translate("Enable"), translate("Enable")) +o.rmempty = false +o.default = o.enabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "1" +end + +---- name +s:option(Value, "name", translate("DNS Server Name"), translate("DNS Server Name")) + +---- IP address +o = s:option(Value, "ip", translate("ip"), translate("DNS Server ip")) +o.datatype = "or(ipaddr, string)" +o.rmempty = false +---- port +o = s:option(Value, "port", translate("port"), translate("DNS Server port")) +o.placeholder = "default" +o.datatype = "port" +o.rempty = true +o:depends("type", "udp") +o:depends("type", "tcp") +o:depends("type", "tls") + +---- type +o = s:option(ListValue, "type", translate("type"), translate("DNS Server type")) +o.placeholder = "udp" +o:value("udp", translate("udp")) +o:value("tcp", translate("tcp")) +o:value("tls", translate("tls")) +o:value("https", translate("https")) +o.default = "udp" +o.rempty = false + +s = m:section(TypedSection, "smartdns", translate("Advanced Settings"), translate("Advanced Settings")); +s.anonymous = true; + +s:tab("domain-address", translate("Domain Address"), translate("Set Specific domain ip address.")); +s:tab("blackip-list", translate("IP Blacklist"), translate("Set Specific ip blacklist.")); + +-- Doman addresss +addr = s:taboption("domain-address", Value, "address", + translate(""), + translate("Specify an IP address to return for any host in the given domains, Queries in the domains are never forwarded and always replied to with the specified IP address which may be IPv4 or IPv6.")) + +addr.template = "cbi/tvalue" +addr.rows = 20 + +function addr.cfgvalue(self, section) + return nixio.fs.readfile("/etc/smartdns/address.conf") +end + +function addr.write(self, section, value) + value = value:gsub("\r\n?", "\n") + nixio.fs.writefile("/etc/smartdns/address.conf", value) +end + +-- IP Blacklist +addr = s:taboption("blackip-list", Value, "blacklist_ip", + translate(""), + translate("Configure IP blacklists that will be filtered from the results of specific DNS server.")) + +addr.template = "cbi/tvalue" +addr.rows = 20 + +function addr.cfgvalue(self, section) + return nixio.fs.readfile("/etc/smartdns/blacklist-ip.conf") +end + +function addr.write(self, section, value) + value = value:gsub("\r\n?", "\n") + nixio.fs.writefile("/etc/smartdns/blacklist-ip.conf", value) +end + +-- Technical Support +s = m:section(TypedSection, "smartdns", translate("Technical Support"), + translate("If you like this software, please buy me a cup of coffee.")) +s.anonymous = true + +o = s:option(Button, "web") +o.title = translate("SmartDNS official website") +o.inputtitle = translate("open website") +o.inputstyle = "apply" +o.write = function() + luci.http.redirect("https://pymumu.github.io/smartdns") +end + +o = s:option(Button, "Donate") +o.title = translate("Donate to smartdns") +o.inputtitle = translate("Donate") +o.inputstyle = "apply" +o.write = function() + luci.http.redirect("https://pymumu.github.io/smartdns/#donate") +end + +return m + diff --git a/luci-app-smartdns/luasrc/model/cbi/smartdns/upstream.lua b/luci-app-smartdns/luasrc/model/cbi/smartdns/upstream.lua new file mode 100644 index 00000000..a542ca68 --- /dev/null +++ b/luci-app-smartdns/luasrc/model/cbi/smartdns/upstream.lua @@ -0,0 +1,119 @@ +-- +-- Copyright (C) 2018-2020 Ruilin Peng (Nick) . +-- +-- smartdns is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- smartdns is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +local sid = arg[1] + +m = Map("smartdns", "%s - %s" %{translate("SmartDNS Server"), translate("Upstream DNS Server Configuration")}) +m.redirect = luci.dispatcher.build_url("admin/services/smartdns") + +if m.uci:get("smartdns", sid) ~= "server" then + luci.http.redirect(m.redirect) + return +end + +-- [[ Edit Server ]]-- +s = m:section(NamedSection, sid, "server") +s.anonymous = true +s.addremove = false + +---- name +s:option(Value, "name", translate("DNS Server Name"), translate("DNS Server Name")) + +---- IP address +o = s:option(Value, "ip", translate("ip"), translate("DNS Server ip")) +o.datatype = "or(host, string)" +o.rmempty = false +---- port +o = s:option(Value, "port", translate("port"), translate("DNS Server port")) +o.placeholder = "default" +o.datatype = "port" +o.rempty = true +o:depends("type", "udp") +o:depends("type", "tcp") +o:depends("type", "tls") + +---- type +o = s:option(ListValue, "type", translate("type"), translate("DNS Server type")) +o.placeholder = "udp" +o:value("udp", translate("udp")) +o:value("tcp", translate("tcp")) +o:value("tls", translate("tls")) +o:value("https", translate("https")) +o.default = "udp" +o.rempty = false + +---- server group +o = s:option(Value, "server_group", translate("Server Group"), translate("DNS Server group belongs to, used with nameserver, such as office, home.")) +o.rmempty = true +o.placeholder = "default" +o.datatype = "hostname" +o.rempty = true + +---- blacklist_ip +o = s:option(Flag, "blacklist_ip", translate("IP Blacklist Filtering"), translate("Filtering IP with blacklist")) +o.rmempty = false +o.default = o.disabled +o.cfgvalue = function(...) + return Flag.cfgvalue(...) or "0" +end + +---- TLS host verify +o = s:option(Value, "tls_host_verify", translate("TLS Hostname Verify"), translate("Set TLS hostname to verify.")) +o.default = "" +o.datatype = "string" +o.rempty = true +o:depends("type", "tls") +o:depends("type", "https") + +---- SNI host name +o = s:option(Value, "host_name", translate("TLS SNI name"), translate("Sets the server name indication for query.")) +o.default = "" +o.datatype = "hostname" +o.rempty = true +o:depends("type", "tls") +o:depends("type", "https") + +---- http host +o = s:option(Value, "http_host", translate("HTTP Host"), translate("Set the HTTP host used for the query. Use this parameter when the host of the URL address is an IP address.")) +o.default = "" +o.datatype = "hostname" +o.rempty = true +o:depends("type", "https") + +---- anti-Answer-Forgery +-- o = s:option(Flag, "check_edns", translate("Anti Answer Forgery"), translate("Anti answer forgery, if DNS does not work properly after enabling, please turn off this feature")) +-- o.rmempty = false +-- o.default = o.disabled +-- o:depends("type", "udp") +-- o.cfgvalue = function(...) +-- return Flag.cfgvalue(...) or "0" +-- end + +---- SPKI pin +o = s:option(Value, "spki_pin", translate("TLS SPKI Pinning"), translate("Used to verify the validity of the TLS server, The value is Base64 encoded SPKI fingerprint, leaving blank to indicate that the validity of TLS is not verified.")) +o.default = "" +o.datatype = "string" +o.rempty = true +o:depends("type", "tls") +o:depends("type", "https") + +---- other args +o = s:option(Value, "addition_arg", translate("Additional Server Args"), translate("Additional Args for upstream dns servers")) +o.default = "" +o.rempty = true +o.optional = true + +return m \ No newline at end of file diff --git a/luci-app-smartdns/luasrc/model/smartdns.lua b/luci-app-smartdns/luasrc/model/smartdns.lua new file mode 100644 index 00000000..ff32306c --- /dev/null +++ b/luci-app-smartdns/luasrc/model/smartdns.lua @@ -0,0 +1,31 @@ +-- +-- Copyright (C) 2018-2020 Ruilin Peng (Nick) . +-- +-- smartdns is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- smartdns is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +require ("nixio.fs") +require ("luci.http") +require ("luci.dispatcher") +require ("nixio.fs") + +local uci = require "luci.model.uci".cursor() + +module("luci.model.smartdns", package.seeall) + +function get_config_option(module, section, option, default) + return uci:get_first(module, section, option) or default +end + +return m + diff --git a/luci-app-smartdns/luasrc/view/smartdns/smartdns_status.htm b/luci-app-smartdns/luasrc/view/smartdns/smartdns_status.htm new file mode 100644 index 00000000..c56dc207 --- /dev/null +++ b/luci-app-smartdns/luasrc/view/smartdns/smartdns_status.htm @@ -0,0 +1,41 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/luci-app-smartdns/po/zh-cn/smartdns.po b/luci-app-smartdns/po/zh-cn/smartdns.po new file mode 100644 index 00000000..03453adf --- /dev/null +++ b/luci-app-smartdns/po/zh-cn/smartdns.po @@ -0,0 +1,293 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "SmartDNS" +msgstr "SmartDNS" + +msgid "SmartDNS is a local high-performance DNS server" +msgstr "SmartDNS是一个本地高性能DNS服务器" + +msgid "SmartDNS Server" +msgstr "SmartDNS 服务器" + +msgid "SmartDNS is a local high-performance DNS server, supports finding fastest IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "SmartDNS是一个本地高性能DNS服务器,支持返回最快IP,支持广告过滤。" + +msgid "Custom Settings" +msgstr "自定义设置" + +msgid "General Settings" +msgstr "基本设置" + +msgid "Settings" +msgstr "设置" + +msgid "Advanced Settings" +msgstr "高级设置" + +msgid "Generate Coredump" +msgstr "生成coredump" + +msgid "Generate Coredump file when smartdns crash, coredump file is located at /tmp/smartdns.xxx.core." +msgstr "当smartdns异常时生成coredump文件,coredump文件在/tmp/smartdns.xxx.core." + +msgid "Server Name" +msgstr "服务器名称" + +msgid "Smartdns server name" +msgstr "SmartDNS的服务器名称,默认为smartdns,留空为主机名" + +msgid "SmartDNS is a local dns server to find fastest ip." +msgstr "本地高性能服务器,优化网络访问性能。" + +msgid "Enable or disable smartdns server" +msgstr "启用或禁用SmartDNS服务" + +msgid "Local Port" +msgstr "本地端口" + +msgid "Smartdns local server port" +msgstr "SmartDNS本地服务端口" + +msgid "IPV4 53 Port Redirect Failure" +msgstr "IPV4 53端口重定向失败" + +msgid "IPV6 53 Port Redirect Failure" +msgstr "IPV6 53端口重定向失败" + +msgid "Dnsmasq Forwared To Smartdns Failure" +msgstr "重定向dnsmasq到smartdns失败" + +msgid "TCP Server" +msgstr "TCP服务器" + +msgid "Enable TCP DNS Server" +msgstr "启用TCP服务器" + +msgid "IPV6 Server" +msgstr "IPV6服务器" + +msgid "Enable IPV6 DNS Server" +msgstr "启用IPV6服务器" + +msgid "Dual-stack IP Selection" +msgstr "双栈IP优选" + +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "启用或禁用IPV4,IPV6间的IP优选策略。" + +msgid "Domain prefetch" +msgstr "域名预加载" + +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "启用域名预加载,加速域名响应速度。" + +msgid "Serve expired" +msgstr "过期缓存服务" + +msgid "Attempts to serve old responses from cache with a TTL of 0 in the response without waiting for the actual resolution to finish." +msgstr "查询性能优化,有请求时尝试回应TTL为0的过期记录,以避免查询等待。" + +msgid "Redirect" +msgstr "重定向" + +msgid "SmartDNS redirect mode" +msgstr "SmartDNS 重定向模式" + +msgid "Run as dnsmasq upstream server" +msgstr "作为dnsmasq的上游服务器" + +msgid "Redirect 53 port to SmartDNS" +msgstr "重定向53端口到SmartDNS" + +msgid "Cache Size" +msgstr "缓存大小" + +msgid "DNS domain result cache size" +msgstr "缓存DNS的结果,缓存大小,配置零则不缓存" + +msgid "Domain TTL" +msgstr "域名TTL" + +msgid "TTL for all domain result." +msgstr "设置所有域名的TTL值" + +msgid "Domain TTL Min" +msgstr "域名TTL最小值" + +msgid "Minimum TTL for all domain result." +msgstr "设置所有域名的TTL最小值" + +msgid "Domain TTL Max" +msgstr "域名TTL最大值" + +msgid "Maximum TTL for all domain result." +msgstr "设置所有域名的TTL最大值" + +msgid "smartdns custom settings" +msgstr "smartdns 自定义设置,具体配置参数参考指导" + +msgid "Second Server Settings" +msgstr "第二DNS服务器" + +msgid "Enable or disable second DNS server." +msgstr "是否启用第二DNS服务器。" + +msgid "Skip Speed Check" +msgstr "跳过测速" + +msgid "Do not check speed." +msgstr "禁用测速。" + +msgid "Server Group" +msgstr "服务器组" + +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "使用指定服务器组查询,比如office, home。" + +msgid "Skip Address Rules" +msgstr "跳过address规则" + +msgid "Skip address rules." +msgstr "跳过address规则。" + +msgid "Skip Nameserver Rule" +msgstr "跳过Nameserver规则" + +msgid "Skip nameserver rules." +msgstr "跳过Nameserver规则。" + +msgid "Skip Ipset Rule" +msgstr "跳过ipset规则" + +msgid "Skip ipset rules." +msgstr "跳过ipset规则。" + +msgid "Skip SOA Address Rule" +msgstr "跳过address SOA(#)规则" + +msgid "Skip SOA address rules." +msgstr "跳过address SOA(#)规则。" + +msgid "Skip Dualstack Selection" +msgstr "跳过双栈优选" + +msgid "Skip Dualstack Selection." +msgstr "跳过双栈优选。" + +msgid "Skip Cache" +msgstr "跳过cache" + +msgid "Skip Cache." +msgstr "跳过cache。" + +msgid "Upstream Servers" +msgstr "上游服务器" + +msgid "Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS servers, including multiple foreign DNS servers." +msgstr "上游DNS服务器列表,支持UDP,TCP协议,请配置多个上游DNS服务器,包括多个国内外服务器" + +msgid "DNS Server Name" +msgstr "DNS服务器名称" + +msgid "port" +msgstr "端口" + +msgid "DNS Server port" +msgstr "DNS服务器端口" + +msgid "DNS Server ip" +msgstr "DNS服务器IP" + +msgid "type" +msgstr "类型" + +msgid "DNS Server type" +msgstr "协议类型" + +msgid "Domain Address" +msgstr "域名地址" + +msgid "TLS Hostname Verify" +msgstr "校验TLS主机名" + +msgid "Set TLS hostname to verify." +msgstr "设置校验TLS主机名。" + +msgid "TLS SNI name" +msgstr "TLS SNI名称" + +msgid "HTTP Host" +msgstr "HTTP主机" + +msgid "Sets the server name indication for query." +msgstr "设置查询时使用的服务器SNI名称。" + +msgid "Set the HTTP host used for the query. Use this parameter when the host of the URL address is an IP address." +msgstr "设置查询时使用的HTTP主机,当URL地址的host是IP地址时,使用此参数。" + +msgid "Server Group" +msgstr "服务器组" + +msgid "DNS Server group belongs to, used with nameserver, such as office, home." +msgstr "DNS服务器所属组, 配合nameserver使用,例如:office,home。" + +msgid "IP Blacklist Filtering" +msgstr "IP黑名单过滤" + +msgid "Anti Answer Forgery" +msgstr "反回答伪造" + +msgid "Anti answer forgery, if DNS does not work properly after enabling, please turn off this feature" +msgstr "反回答伪造,如果启用后DNS工作不正常,请关闭此功能。" + +msgid "Filtering IP with blacklist" +msgstr "使用IP黑名单过滤" + +msgid "TLS SPKI Pinning" +msgstr "TLS SPKI 指纹" + +msgid "Used to verify the validity of the TLS server, The value is Base64 encoded SPKI fingerprint, leaving blank to indicate that the validity of TLS is not verified." +msgstr "用于校验TLS服务器的有效性,数值为Base64编码的SPKI指纹, 留空表示不验证TLS的合法性" + +msgid "Additional Server Args" +msgstr "额外的服务器参数" + +msgid "Additional Args for upstream dns servers" +msgstr "额外的上游DNS服务器参数" + +msgid "Upstream DNS Server Configuration" +msgstr "上游DNS服务器配置" + +msgid "Set Specific domain ip address." +msgstr "指定特定域名的IP地址" + +msgid "Specify an IP address to return for any host in the given domains, Queries in the domains are never forwarded and always replied to with the specified IP address which may be IPv4 or IPv6." +msgstr "配置特定域名返回特定的IP地址,域名查询将不到上游服务器请求,直接返回配置的IP地址,可用于广告屏蔽。" + +msgid "IP Blacklist" +msgstr "IP黑名单" + +msgid "Set Specific ip blacklist." +msgstr "设置IP黑名单列表" + +msgid "Configure IP blacklists that will be filtered from the results of specific DNS server." +msgstr "配置需要从指定域名服务器结果过滤的IP黑名单。" + +msgid "Technical Support" +msgstr "技术支持" + +msgid "If you like this software, please buy me a cup of coffee." +msgstr "如果本软件对你有帮助,请给作者加个蛋。" + +msgid "SmartDNS official website" +msgstr "SmartDNS官方网站" + +msgid "open website" +msgstr "打开网站" + +msgid "Donate to smartdns" +msgstr "捐助smartdns项目" + +msgid "Donate" +msgstr "捐助" diff --git a/luci-app-smartdns/po/zh_Hans b/luci-app-smartdns/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-smartdns/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-smartdns/root/etc/uci-defaults/50_luci-smartdns b/luci-app-smartdns/root/etc/uci-defaults/50_luci-smartdns new file mode 100644 index 00000000..4e20c1df --- /dev/null +++ b/luci-app-smartdns/root/etc/uci-defaults/50_luci-smartdns @@ -0,0 +1,13 @@ +#!/bin/sh +# Copyright 2018-2020 Nick Peng +# Licensed to the public under the GPL V3 License. + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@smartdns[-1] + add ucitrack smartdns + set ucitrack.@smartdns[-1].init=smartdns + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-ssr-plus/Makefile b/luci-app-ssr-plus/Makefile new file mode 100644 index 00000000..0d86e6c2 --- /dev/null +++ b/luci-app-ssr-plus/Makefile @@ -0,0 +1,119 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-ssr-plus +PKG_VERSION:=185 +PKG_RELEASE:=2 + +PKG_CONFIG_DEPENDS:= \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray + +LUCI_TITLE:=SS/SSR/V2Ray/Trojan/NaiveProxy/Socks5/Tun LuCI interface +LUCI_PKGARCH:=all +LUCI_DEPENDS:= \ + @(PACKAGE_libustream-mbedtls||PACKAGE_libustream-openssl||PACKAGE_libustream-wolfssl) \ + +coreutils +coreutils-base64 +dns2socks +dnsmasq-full +ipset +kmod-ipt-nat \ + +ip-full +iptables-mod-tproxy +lua +libuci-lua +microsocks +pdnsd-alt \ + +tcping +resolveip +shadowsocksr-libev-ssr-check +uclient-fetch \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \ + +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \ + +PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks:ipt2socks \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2:redsocks2 \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-local \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-redir \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server:shadowsocks-libev-ss-server \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client:shadowsocks-rust-sslocal \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server:shadowsocks-rust-ssserver \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-local \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-redir \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server:shadowsocksr-libev-ssr-server \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs:simple-obfs \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan \ + +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin:v2ray-plugin \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:curl \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core + +define Package/$(PKG_NAME)/config +config PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun + bool "Include Kcptun" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy + bool "Include NaiveProxy" + depends on !(arc||armeb||mips||mips64||powerpc||TARGET_gemini) + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks + bool "Include ipt2socks" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 + bool "Include Redsocks2" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client + bool "Include Shadowsocks Libev Client" + default y if i386||x86_64||arm + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server + bool "Include Shadowsocks Libev Server" + default y if i386||x86_64||arm + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client + bool "Include Shadowsocks Rust Client" + depends on aarch64||arm||i386||mips||mipsel||x86_64 + depends on !(TARGET_x86_geode||TARGET_x86_legacy) + default y if aarch64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server + bool "Include Shadowsocks Rust Server" + depends on aarch64||arm||i386||mips||mipsel||x86_64 + depends on !(TARGET_x86_geode||TARGET_x86_legacy) + default y if aarch64 + +config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client + bool "Include ShadowsocksR Libev Client" + default y + +config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server + bool "Include ShadowsocksR Libev Server" + default y if i386||x86_64||arm + +config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs + bool "Include Shadowsocks Simple Obfs Plugin" + default y if i386||x86_64||arm + +config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan + bool "Include Trojan" + select PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin + bool "Include Shadowsocks V2ray Plugin" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_Xray + bool "Include Xray" + default y if aarch64||arm||i386||x86_64 +endef + +define Package/$(PKG_NAME)/conffiles +/etc/config/shadowsocksr +/etc/ssrplus/ +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua b/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua new file mode 100644 index 00000000..6b18d5b5 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua @@ -0,0 +1,143 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. +module("luci.controller.shadowsocksr", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/shadowsocksr") then + call("act_reset") + end + local page + page = entry({"admin", "services", "shadowsocksr"}, alias("admin", "services", "shadowsocksr", "client"), _("ShadowSocksR Plus+"), 10) + page.dependent = true + page.acl_depends = { "luci-app-ssr-plus" } + entry({"admin", "services", "shadowsocksr", "client"}, cbi("shadowsocksr/client"), _("SSR Client"), 10).leaf = true + entry({"admin", "services", "shadowsocksr", "servers"}, arcombine(cbi("shadowsocksr/servers", {autoapply = true}), cbi("shadowsocksr/client-config")), _("Severs Nodes"), 20).leaf = true + entry({"admin", "services", "shadowsocksr", "control"}, cbi("shadowsocksr/control"), _("Access Control"), 30).leaf = true + entry({"admin", "services", "shadowsocksr", "advanced"}, cbi("shadowsocksr/advanced"), _("Advanced Settings"), 50).leaf = true + entry({"admin", "services", "shadowsocksr", "server"}, arcombine(cbi("shadowsocksr/server"), cbi("shadowsocksr/server-config")), _("SSR Server"), 60).leaf = true + entry({"admin", "services", "shadowsocksr", "status"}, form("shadowsocksr/status"), _("Status"), 70).leaf = true + entry({"admin", "services", "shadowsocksr", "check"}, call("check_status")) + entry({"admin", "services", "shadowsocksr", "refresh"}, call("refresh_data")) + entry({"admin", "services", "shadowsocksr", "subscribe"}, call("subscribe")) + entry({"admin", "services", "shadowsocksr", "checkport"}, call("check_port")) + entry({"admin", "services", "shadowsocksr", "log"}, form("shadowsocksr/log"), _("Log"), 80).leaf = true + entry({"admin", "services", "shadowsocksr", "run"}, call("act_status")) + entry({"admin", "services", "shadowsocksr", "ping"}, call("act_ping")) + entry({"admin", "services", "shadowsocksr", "reset"}, call("act_reset")) + entry({"admin", "services", "shadowsocksr", "restart"}, call("act_restart")) + entry({"admin", "services", "shadowsocksr", "delete"}, call("act_delete")) + entry({"admin", "services", "shadowsocksr", "cache"}, call("act_cache")) +end + +function subscribe() + luci.sys.call("/usr/bin/lua /usr/share/shadowsocksr/subscribe.lua >>/var/log/ssrplus.log") + luci.http.prepare_content("application/json") + luci.http.write_json({ret = 1}) +end + +function act_status() + local e = {} + e.running = luci.sys.call("busybox ps -w | grep ssr-retcp | grep -v grep >/dev/null") == 0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function act_ping() + local e = {} + local domain = luci.http.formvalue("domain") + local port = luci.http.formvalue("port") + local transport = luci.http.formvalue("transport") + local wsPath = luci.http.formvalue("wsPath") + local tls = luci.http.formvalue("tls") + e.index = luci.http.formvalue("index") + local iret = luci.sys.call("ipset add ss_spec_wan_ac " .. domain .. " 2>/dev/null") + if transport == "ws" then + local prefix = tls=='1' and "https://" or "http://" + local address = prefix..domain..':'..port..wsPath + local result = luci.sys.exec("curl --http1.1 -m 2 -ksN -o /dev/null -w 'time_connect=%{time_connect}\nhttp_code=%{http_code}' -H 'Connection: Upgrade' -H 'Upgrade: websocket' -H 'Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==' -H 'Sec-WebSocket-Version: 13' "..address) + e.socket = string.match(result,"http_code=(%d+)")=="101" + e.ping = tonumber(string.match(result, "time_connect=(%d+.%d%d%d)"))*1000 + else + local socket = nixio.socket("inet", "stream") + socket:setopt("socket", "rcvtimeo", 3) + socket:setopt("socket", "sndtimeo", 3) + e.socket = socket:connect(domain, port) + socket:close() + -- e.ping = luci.sys.exec("ping -c 1 -W 1 %q 2>&1 | grep -o 'time=[0-9]*.[0-9]' | awk -F '=' '{print$2}'" % domain) + -- if (e.ping == "") then + e.ping = luci.sys.exec(string.format("echo -n $(tcping -q -c 1 -i 1 -t 2 -p %s %s 2>&1 | grep -o 'time=[0-9]*' | awk -F '=' '{print $2}') 2>/dev/null", port, domain)) + -- end + end + if (iret == 0) then + luci.sys.call(" ipset del ss_spec_wan_ac " .. domain) + end + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function check_status() + local e = {} + e.ret = luci.sys.call("/usr/bin/ssr-check www." .. luci.http.formvalue("set") .. ".com 80 3 1") + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end + +function refresh_data() + local set = luci.http.formvalue("set") + local retstring = loadstring("return " .. luci.sys.exec("/usr/bin/lua /usr/share/shadowsocksr/update.lua " .. set))() + luci.http.prepare_content("application/json") + luci.http.write_json(retstring) +end + +function check_port() + local retstring = "

" + local s + local server_name = "" + local uci = luci.model.uci.cursor() + local iret = 1 + uci:foreach("shadowsocksr", "servers", function(s) + if s.alias then + server_name = s.alias + elseif s.server and s.server_port then + server_name = "%s:%s" % {s.server, s.server_port} + end + iret = luci.sys.call("ipset add ss_spec_wan_ac " .. s.server .. " 2>/dev/null") + socket = nixio.socket("inet", "stream") + socket:setopt("socket", "rcvtimeo", 3) + socket:setopt("socket", "sndtimeo", 3) + ret = socket:connect(s.server, s.server_port) + if tostring(ret) == "true" then + socket:close() + retstring = retstring .. "[" .. server_name .. "] OK.
" + else + retstring = retstring .. "[" .. server_name .. "] Error.
" + end + if iret == 0 then + luci.sys.call("ipset del ss_spec_wan_ac " .. s.server) + end + end) + luci.http.prepare_content("application/json") + luci.http.write_json({ret = retstring}) +end + +function act_reset() + luci.sys.call("/etc/init.d/shadowsocksr reset &") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr")) +end + +function act_restart() + luci.sys.call("/etc/init.d/shadowsocksr restart &") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr")) +end + +function act_delete() + luci.sys.call("/etc/init.d/shadowsocksr restart &") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "servers")) +end + +function act_cache() + local e = {} + e.ret = luci.sys.call("pdnsd-ctl -c /var/etc/ssrplus/pdnsd empty-cache >/dev/null") + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua new file mode 100644 index 00000000..82b53fb7 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua @@ -0,0 +1,102 @@ +local uci = luci.model.uci.cursor() +local server_table = {} + +uci:foreach("shadowsocksr", "servers", function(s) + if s.alias then + server_table[s[".name"]] = "[%s]:%s" % {string.upper(s.v2ray_protocol or s.type), s.alias} + elseif s.server and s.server_port then + server_table[s[".name"]] = "[%s]:%s:%s" % {string.upper(s.v2ray_protocol or s.type), s.server, s.server_port} + end +end) + +local key_table = {} +for key, _ in pairs(server_table) do + table.insert(key_table, key) +end + +table.sort(key_table) + +m = Map("shadowsocksr") +-- [[ global ]]-- +s = m:section(TypedSection, "global", translate("Server failsafe auto swith and custom update settings")) +s.anonymous = true + +-- o = s:option(Flag, "monitor_enable", translate("Enable Process Deamon")) +-- o.rmempty = false +-- o.default = "1" + +o = s:option(Flag, "enable_switch", translate("Enable Auto Switch")) +o.rmempty = false +o.default = "1" + +o = s:option(Value, "switch_time", translate("Switch check cycly(second)")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 667 + +o = s:option(Value, "switch_timeout", translate("Check timout(second)")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 5 + +o = s:option(Value, "switch_try_count", translate("Check Try Count")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 3 + +o = s:option(Value, "gfwlist_url", translate("gfwlist Update url")) +o:value("https://cdn.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt", translate("v2fly/domain-list-community")) +o:value("https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt", translate("Loyalsoldier/v2ray-rules-dat")) +o:value("https://cdn.jsdelivr.net/gh/Loukky/gfwlist-by-loukky/gfwlist.txt", translate("Loukky/gfwlist-by-loukky")) +o:value("https://cdn.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt", translate("gfwlist/gfwlist")) +o.default = "https://cdn.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt" + +o = s:option(Value, "chnroute_url", translate("Chnroute Update url")) +o:value("https://ispip.clang.cn/all_cn.txt", translate("Clang.CN")) +o:value("https://ispip.clang.cn/all_cn_cidr.txt", translate("Clang.CN.CIDR")) +o.default = "https://ispip.clang.cn/all_cn.txt" + +o = s:option(Flag, "netflix_enable", translate("Enable Netflix Mode")) +o.rmempty = false + +o = s:option(Value, "nfip_url", translate("nfip_url")) +o:value("https://cdn.jsdelivr.net/gh/QiuSimons/Netflix_IP/NF_only.txt", translate("Netflix IP Only")) +o:value("https://cdn.jsdelivr.net/gh/QiuSimons/Netflix_IP/getflix.txt", translate("Netflix and AWS")) +o.default = "https://cdn.jsdelivr.net/gh/QiuSimons/Netflix_IP/NF_only.txt" +o.description = translate("Customize Netflix IP Url") +o:depends("netflix_enable", "1") + +o = s:option(Flag, "adblock", translate("Enable adblock")) +o.rmempty = false + +o = s:option(Value, "adblock_url", translate("adblock_url")) +o:value("https://raw.githubusercontent.com/neodevpro/neodevhost/master/lite_dnsmasq.conf", translate("NEO DEV HOST Lite")) +o:value("https://raw.githubusercontent.com/neodevpro/neodevhost/master/dnsmasq.conf", translate("NEO DEV HOST Full")) +o:value("https://anti-ad.net/anti-ad-for-dnsmasq.conf", translate("anti-AD")) +o.default = "https://raw.githubusercontent.com/neodevpro/neodevhost/master/lite_dnsmasq.conf" +o:depends("adblock", "1") +o.description = translate("Support AdGuardHome and DNSMASQ format list") + +o = s:option(Button, "reset", translate("Reset to defaults")) +o.rawhtml = true +o.template = "shadowsocksr/reset" + +-- [[ SOCKS5 Proxy ]]-- +s = m:section(TypedSection, "socks5_proxy", translate("Global SOCKS5 Proxy Server")) +s.anonymous = true + +o = s:option(ListValue, "server", translate("Server")) +o:value("nil", translate("Disable")) +o:value("same", translate("Same as Global Server")) +for _, key in pairs(key_table) do + o:value(key, server_table[key]) +end +o.default = "nil" +o.rmempty = false + +o = s:option(Value, "local_port", translate("Local Port")) +o.datatype = "port" +o.default = 1080 +o.rmempty = false + +return m diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua new file mode 100644 index 00000000..4d445583 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -0,0 +1,655 @@ +-- Copyright (C) 2017 yushi studio github.com/ywb94 +-- Licensed to the public under the GNU General Public License v3. +require "nixio.fs" +require "luci.sys" +require "luci.http" +local m, s, o, kcp_enable +local sid = arg[1] +local uuid = luci.sys.exec("cat /proc/sys/kernel/random/uuid") + +function is_finded(e) + return luci.sys.exec('type -t -p "%s"' % e) ~= "" and true or false +end + +local server_table = {} +local encrypt_methods = { + -- ssr + "none", + "table", + "rc4", + "rc4-md5-6", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" +} + +local encrypt_methods_ss = { + -- aead + "aes-128-gcm", + "aes-192-gcm", + "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305" + --[[ stream + "none", + "plain", + "table", + "rc4", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" ]] +} + +local encrypt_methods_v2ray_ss = { + -- xray_ss + "none", + "plain", + -- aead + "aes-128-gcm", + "aes-256-gcm", + "chacha20-poly1305", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305", + "aead_aes_128_gcm", + "aead_aes_256_gcm", + "aead_chacha20_poly1305", + "aead_xchacha20_poly1305" +} + +local protocol = { + -- ssr + "origin", + "verify_deflate", + "auth_sha1_v4", + "auth_aes128_sha1", + "auth_aes128_md5", + "auth_chain_a", + "auth_chain_b", + "auth_chain_c", + "auth_chain_d", + "auth_chain_e", + "auth_chain_f" +} + +obfs = { + -- ssr + "plain", + "http_simple", + "http_post", + "random_head", + "tls1.2_ticket_auth" +} + +local securitys = { + -- vmess + "auto", + "none", + "zero", + "aes-128-gcm", + "chacha20-poly1305" +} + +local flows = { + -- xlts + "xtls-rprx-origin", + "xtls-rprx-origin-udp443", + "xtls-rprx-direct", + "xtls-rprx-direct-udp443", + "xtls-rprx-splice", + "xtls-rprx-splice-udp443" +} + +m = Map("shadowsocksr", translate("Edit ShadowSocksR Server")) +m.redirect = luci.dispatcher.build_url("admin/services/shadowsocksr/servers") +if m.uci:get("shadowsocksr", sid) ~= "servers" then + luci.http.redirect(m.redirect) + return +end + +-- [[ Servers Setting ]]-- +s = m:section(NamedSection, sid, "servers") +s.anonymous = true +s.addremove = false + +o = s:option(DummyValue, "ssr_url", "SS/SSR/V2RAY/TROJAN URL") +o.rawhtml = true +o.template = "shadowsocksr/ssrurl" +o.value = sid + +o = s:option(ListValue, "type", translate("Server Node Type")) +if is_finded("xray") or is_finded("v2ray") then + o:value("v2ray", translate("V2Ray/XRay")) +end +if is_finded("ssr-redir") then + o:value("ssr", translate("ShadowsocksR")) +end +if is_finded("sslocal") or is_finded("ss-redir") then + o:value("ss", translate("Shadowsocks New Version")) +end +if is_finded("trojan") then + o:value("trojan", translate("Trojan")) +end +if is_finded("naive") then + o:value("naiveproxy", translate("NaiveProxy")) +end +if is_finded("ipt2socks") then + o:value("socks5", translate("Socks5")) +end +if is_finded("redsocks2") then + o:value("tun", translate("Network Tunnel")) +end + +o.description = translate("Using incorrect encryption mothod may causes service fail to start") + +o = s:option(Value, "alias", translate("Alias(optional)")) + +o = s:option(ListValue, "iface", translate("Network interface to use")) +for _, e in ipairs(luci.sys.net.devices()) do + if e ~= "lo" then + o:value(e) + end +end +o:depends("type", "tun") +o.description = translate("Redirect traffic to this network interface") + +o = s:option(ListValue, "v2ray_protocol", translate("V2Ray/XRay protocol")) +o:value("vless", translate("VLESS")) +o:value("vmess", translate("VMess")) +o:value("trojan", translate("Trojan")) +o:value("shadowsocks", translate("Shadowsocks")) +o:value("socks", translate("Socks")) +o:value("http", translate("HTTP")) +o:depends("type", "v2ray") + +o = s:option(Value, "server", translate("Server Address")) +o.datatype = "host" +o.rmempty = false +o:depends("type", "ssr") +o:depends("type", "ss") +o:depends("type", "v2ray") +o:depends("type", "trojan") +o:depends("type", "naiveproxy") +o:depends("type", "socks5") + +o = s:option(Value, "server_port", translate("Server Port")) +o.datatype = "port" +o.rmempty = false +o:depends("type", "ssr") +o:depends("type", "ss") +o:depends("type", "v2ray") +o:depends("type", "trojan") +o:depends("type", "naiveproxy") +o:depends("type", "socks5") + +o = s:option(Flag, "auth_enable", translate("Enable Authentication")) +o.rmempty = false +o.default = "0" +o:depends("type", "socks5") +o:depends({type = "v2ray", v2ray_protocol = "http"}) +o:depends({type = "v2ray", v2ray_protocol = "socks"}) + +o = s:option(Value, "username", translate("Username")) +o.rmempty = true +o:depends("type", "naiveproxy") +o:depends({type = "socks5", auth_enable = true}) +o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true}) +o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true}) + +o = s:option(Value, "password", translate("Password")) +o.password = true +o.rmempty = true +o:depends("type", "ssr") +o:depends("type", "ss") +o:depends("type", "trojan") +o:depends("type", "naiveproxy") +o:depends({type = "socks5", auth_enable = true}) +o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true}) +o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true}) +o:depends({type = "v2ray", v2ray_protocol = "shadowsocks"}) +o:depends({type = "v2ray", v2ray_protocol = "trojan"}) + +o = s:option(ListValue, "encrypt_method", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods) do + o:value(v) +end +o.rmempty = true +o:depends("type", "ssr") + +o = s:option(ListValue, "encrypt_method_ss", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods_ss) do + o:value(v) +end +o.rmempty = true +o:depends("type", "ss") + +o = s:option(ListValue, "encrypt_method_v2ray_ss", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods_v2ray_ss) do + o:value(v) +end +o.rmempty = true +o:depends({type = "v2ray", v2ray_protocol = "shadowsocks"}) + +o = s:option(Flag, "ivCheck", translate("Bloom Filter")) +o.rmempty = true +o:depends({type = "v2ray", v2ray_protocol = "shadowsocks"}) +o.default = "1" + +-- Shadowsocks Plugin +o = s:option(Value, "plugin", translate("Obfs")) +o:value("none", translate("None")) +if is_finded("obfs-local") then + o:value("obfs-local", translate("obfs-local")) +end +if is_finded("v2ray-plugin") then + o:value("v2ray-plugin", translate("v2ray-plugin")) +end +if is_finded("xray-plugin") then + o:value("xray-plugin", translate("xray-plugin")) +end +o.rmempty = true +o:depends("type", "ss") + +o = s:option(Value, "plugin_opts", translate("Plugin Opts")) +o.rmempty = true +o:depends({type = "ss", plugin = "obfs-local"}) +o:depends({type = "ss", plugin = "v2ray-plugin"}) +o:depends({type = "ss", plugin = "xray-plugin"}) + +o = s:option(ListValue, "protocol", translate("Protocol")) +for _, v in ipairs(protocol) do + o:value(v) +end +o.rmempty = true +o:depends("type", "ssr") + +o = s:option(Value, "protocol_param", translate("Protocol param(optional)")) +o:depends("type", "ssr") + +o = s:option(ListValue, "obfs", translate("Obfs")) +for _, v in ipairs(obfs) do + o:value(v) +end +o.rmempty = true +o:depends("type", "ssr") + +o = s:option(Value, "obfs_param", translate("Obfs param(optional)")) +o:depends("type", "ssr") + +-- VmessId +o = s:option(Value, "vmess_id", translate("Vmess/VLESS ID (UUID)")) +o.rmempty = true +o.default = uuid +o:depends({type = "v2ray", v2ray_protocol = "vmess"}) +o:depends({type = "v2ray", v2ray_protocol = "vless"}) + +-- VLESS Encryption +o = s:option(Value, "vless_encryption", translate("VLESS Encryption")) +o.rmempty = true +o.default = "none" +o:depends({type = "v2ray", v2ray_protocol = "vless"}) + +-- 加密方式 +o = s:option(ListValue, "security", translate("Encrypt Method")) +for _, v in ipairs(securitys) do + o:value(v, v:upper()) +end +o.rmempty = true +o:depends({type = "v2ray", v2ray_protocol = "vmess"}) + +-- 传输协议 +o = s:option(ListValue, "transport", translate("Transport")) +o:value("tcp", "TCP") +o:value("kcp", "mKCP") +o:value("ws", "WebSocket") +o:value("h2", "HTTP/2") +o:value("quic", "QUIC") +o:value("grpc", "gRPC") +o.rmempty = true +o:depends("type", "v2ray") + +-- [[ TCP部分 ]]-- +-- TCP伪装 +o = s:option(ListValue, "tcp_guise", translate("Camouflage Type")) +o:depends("transport", "tcp") +o:value("none", translate("None")) +o:value("http", "HTTP") +o.rmempty = true + +-- HTTP域名 +o = s:option(Value, "http_host", translate("HTTP Host")) +o:depends("tcp_guise", "http") +o.rmempty = true + +-- HTTP路径 +o = s:option(Value, "http_path", translate("HTTP Path")) +o:depends("tcp_guise", "http") +o.rmempty = true + +-- [[ WS部分 ]]-- +-- WS域名 +o = s:option(Value, "ws_host", translate("WebSocket Host")) +o:depends({transport = "ws", tls = false}) +o.datatype = "hostname" +o.rmempty = true + +-- WS路径 +o = s:option(Value, "ws_path", translate("WebSocket Path")) +o:depends("transport", "ws") +o.rmempty = true + +-- [[ H2部分 ]]-- + +-- H2域名 +o = s:option(Value, "h2_host", translate("HTTP/2 Host")) +o:depends("transport", "h2") +o.rmempty = true + +-- H2路径 +o = s:option(Value, "h2_path", translate("HTTP/2 Path")) +o:depends("transport", "h2") +o.rmempty = true + +-- gRPC +o = s:option(Value, "serviceName", translate("serviceName")) +o:depends("transport", "grpc") +o.rmempty = true + +-- gRPC初始窗口 +o = s:option(Value, "initial_windows_size", translate("Initial Windows Size")) +o.datatype = "uinteger" +o:depends("transport", "grpc") +o.default = 0 +o.rmempty = true + +-- H2/gRPC健康检查 +o = s:option(Flag, "health_check", translate("H2/gRPC Health Check")) +o:depends("transport", "h2") +o:depends("transport", "grpc") +o.rmempty = true + +o = s:option(Value, "read_idle_timeout", translate("H2 Read Idle Timeout")) +o.datatype = "uinteger" +o:depends({health_check = true, transport = "h2"}) +o.default = 60 +o.rmempty = true + +o = s:option(Value, "idle_timeout", translate("gRPC Idle Timeout")) +o.datatype = "uinteger" +o:depends({health_check = true, transport = "grpc"}) +o.default = 60 +o.rmempty = true + +o = s:option(Value, "health_check_timeout", translate("Health Check Timeout")) +o.datatype = "uinteger" +o:depends("health_check", 1) +o.default = 20 +o.rmempty = true + +o = s:option(Flag, "permit_without_stream", translate("Permit Without Stream")) +o:depends({health_check = true, transport = "grpc"}) +o.rmempty = true + +-- [[ QUIC部分 ]]-- +o = s:option(ListValue, "quic_security", translate("QUIC Security")) +o:depends("transport", "quic") +o:value("none", translate("None")) +o:value("aes-128-gcm", translate("aes-128-gcm")) +o:value("chacha20-poly1305", translate("chacha20-poly1305")) +o.rmempty = true + +o = s:option(Value, "quic_key", translate("QUIC Key")) +o:depends("transport", "quic") +o.rmempty = true + +o = s:option(ListValue, "quic_guise", translate("Header")) +o:depends("transport", "quic") +o.rmempty = true +o:value("none", translate("None")) +o:value("srtp", translate("VideoCall (SRTP)")) +o:value("utp", translate("BitTorrent (uTP)")) +o:value("wechat-video", translate("WechatVideo")) +o:value("dtls", translate("DTLS 1.2")) +o:value("wireguard", translate("WireGuard")) + +-- [[ mKCP部分 ]]-- +o = s:option(ListValue, "kcp_guise", translate("Camouflage Type")) +o:depends("transport", "kcp") +o:value("none", translate("None")) +o:value("srtp", translate("VideoCall (SRTP)")) +o:value("utp", translate("BitTorrent (uTP)")) +o:value("wechat-video", translate("WechatVideo")) +o:value("dtls", translate("DTLS 1.2")) +o:value("wireguard", translate("WireGuard")) +o.rmempty = true + +o = s:option(Value, "mtu", translate("MTU")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 1350 +o.rmempty = true + +o = s:option(Value, "tti", translate("TTI")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 50 +o.rmempty = true + +o = s:option(Value, "uplink_capacity", translate("Uplink Capacity")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 5 +o.rmempty = true + +o = s:option(Value, "downlink_capacity", translate("Downlink Capacity")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 20 +o.rmempty = true + +o = s:option(Value, "read_buffer_size", translate("Read Buffer Size")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 2 +o.rmempty = true + +o = s:option(Value, "write_buffer_size", translate("Write Buffer Size")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 2 +o.rmempty = true + +o = s:option(Value, "seed", translate("Obfuscate password (optional)")) +o:depends({v2ray_protocol = "vless", transport = "kcp"}) +o.rmempty = true + +o = s:option(Flag, "congestion", translate("Congestion")) +o:depends("transport", "kcp") +o.rmempty = true + +-- [[ TLS ]]-- +o = s:option(Flag, "tls", translate("TLS")) +o.rmempty = true +o.default = "0" +o:depends({type = "v2ray", xtls = false}) +-- o:depends({type = "v2ray", v2ray_protocol = "vless", xtls = false}) +o:depends("type", "trojan") + +-- XTLS +if is_finded("xray") then + o = s:option(Flag, "xtls", translate("XTLS")) + o.rmempty = true + o.default = "0" + o:depends({type = "v2ray", v2ray_protocol = "vless", transport = "tcp", tls = false}) + o:depends({type = "v2ray", v2ray_protocol = "vless", transport = "kcp", tls = false}) + o:depends({type = "v2ray", v2ray_protocol = "trojan", transport = "tcp", tls = false}) + o:depends({type = "v2ray", v2ray_protocol = "trojan", transport = "kcp", tls = false}) +end + +-- Flow +o = s:option(Value, "vless_flow", translate("Flow")) +for _, v in ipairs(flows) do + o:value(v, translate(v)) +end +o.rmempty = true +o.default = "xtls-rprx-splice" +o:depends("xtls", true) + +-- [[ TLS部分 ]] -- +o = s:option(Flag, "tls_sessionTicket", translate("Session Ticket")) +o:depends({type = "trojan", tls = true}) +o.default = "0" + +-- [[ uTLS ]]-- +o = s:option(ListValue, "fingerprint", translate("Finger Print")) +o:value("disable", translate("disable")) +o:value("firefox", translate("firefox")) +o:value("chrome", translate("chrome")) +o:value("safari", translate("safari")) +o:value("randomized", translate("randomized")) +o:depends({type = "v2ray", tls = true}) +o.default = "disable" + +o = s:option(Value, "tls_host", translate("TLS Host")) +o.datatype = "hostname" +o:depends("tls", true) +o:depends("xtls", true) +o.rmempty = true + +-- [[ allowInsecure ]]-- +o = s:option(Flag, "insecure", translate("allowInsecure")) +o.rmempty = false +o:depends("tls", true) +o:depends("xtls", true) +o.description = translate("If true, allowss insecure connection at TLS client, e.g., TLS server uses unverifiable certificates.") + +-- [[ Mux ]]-- +o = s:option(Flag, "mux", translate("Mux")) +o.rmempty = false +o:depends({type = "v2ray", xtls = false}) + +o = s:option(Value, "concurrency", translate("Concurrency")) +o.datatype = "uinteger" +o.rmempty = true +o.default = "4" +o:depends("mux", "1") +o:depends("type", "naiveproxy") + +-- [[ Cert ]]-- +o = s:option(Flag, "certificate", translate("Self-signed Certificate")) +o.rmempty = true +o.default = "0" +o:depends({type = "trojan", tls = true, insecure = false}) +o:depends({type = "v2ray", v2ray_protocol = "vmess", tls = true, insecure = false}) +o:depends({type = "v2ray", v2ray_protocol = "vless", tls = true, insecure = false}) +o:depends({type = "v2ray", v2ray_protocol = "vmess", xtls = true, insecure = false}) +o:depends({type = "v2ray", v2ray_protocol = "vless", xtls = true, insecure = false}) +o.description = translate("If you have a self-signed certificate,please check the box") + +o = s:option(DummyValue, "upload", translate("Upload")) +o.template = "shadowsocksr/certupload" +o:depends("certificate", 1) + +cert_dir = "/etc/ssl/private/" +local path + +luci.http.setfilehandler(function(meta, chunk, eof) + if not fd then + if (not meta) or (not meta.name) or (not meta.file) then + return + end + fd = nixio.open(cert_dir .. meta.file, "w") + if not fd then + path = translate("Create upload file error.") + return + end + end + if chunk and fd then + fd:write(chunk) + end + if eof and fd then + fd:close() + fd = nil + path = '/etc/ssl/private/' .. meta.file .. '' + end +end) +if luci.http.formvalue("upload") then + local f = luci.http.formvalue("ulfile") + if #f <= 0 then + path = translate("No specify upload file.") + end +end + +o = s:option(Value, "certpath", translate("Current Certificate Path")) +o:depends("certificate", 1) +o:value("/etc/ssl/private/ca.pem") +o.description = translate("Please confirm the current certificate path") +o.default = "/etc/ssl/private/ca.pem" + +o = s:option(Flag, "fast_open", translate("TCP Fast Open")) +o.rmempty = true +o.default = "0" +o:depends("type", "ssr") +o:depends("type", "ss") +o:depends("type", "trojan") + +o = s:option(Flag, "switch_enable", translate("Enable Auto Switch")) +o.rmempty = false +o.default = "1" + +o = s:option(Value, "local_port", translate("Local Port")) +o.datatype = "port" +o.default = 1234 +o.rmempty = false + +if is_finded("kcptun-client") then + kcp_enable = s:option(Flag, "kcp_enable", translate("KcpTun Enable")) + kcp_enable.rmempty = true + kcp_enable.default = "0" + kcp_enable:depends("type", "ssr") + kcp_enable:depends("type", "ss") + + o = s:option(Value, "kcp_port", translate("KcpTun Port")) + o.datatype = "port" + o.default = 4000 + o:depends("type", "ssr") + o:depends("type", "ss") + + o = s:option(Value, "kcp_password", translate("KcpTun Password")) + o.password = true + o:depends("type", "ssr") + o:depends("type", "ss") + + o = s:option(Value, "kcp_param", translate("KcpTun Param")) + o.default = "--nocomp" + o:depends("type", "ssr") + o:depends("type", "ss") +end + +return m diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua new file mode 100644 index 00000000..6eef9db0 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua @@ -0,0 +1,112 @@ +-- Copyright (C) 2017 yushi studio github.com/ywb94 +-- Copyright (C) 2018 lean github.com/coolsnowwolf +-- Licensed to the public under the GNU General Public License v3. +local m, s, sec, o, kcp_enable +local uci = luci.model.uci.cursor() +m = Map("shadowsocksr", translate("ShadowSocksR Plus+ Settings"), translate("

Support SS/SSR/V2RAY/XRAY/TROJAN/NAIVEPROXY/SOCKS5/TUN etc.

")) + +m:section(SimpleSection).template = "shadowsocksr/status" + +local server_table = {} +uci:foreach("shadowsocksr", "servers", function(s) + if s.alias then + server_table[s[".name"]] = "[%s]:%s" % {string.upper(s.v2ray_protocol or s.type), s.alias} + elseif s.server and s.server_port then + server_table[s[".name"]] = "[%s]:%s:%s" % {string.upper(s.v2ray_protocol or s.type), s.server, s.server_port} + end +end) + +local key_table = {} +for key, _ in pairs(server_table) do + table.insert(key_table, key) +end + +table.sort(key_table) + +-- [[ Global Setting ]]-- +s = m:section(TypedSection, "global") +s.anonymous = true + +o = s:option(ListValue, "global_server", translate("Main Server")) +o:value("nil", translate("Disable")) +for _, key in pairs(key_table) do + o:value(key, server_table[key]) +end +o.default = "nil" +o.rmempty = false + +o = s:option(ListValue, "udp_relay_server", translate("Game Mode UDP Server")) +o:value("", translate("Disable")) +o:value("same", translate("Same as Global Server")) +for _, key in pairs(key_table) do + o:value(key, server_table[key]) +end + +if uci:get_first("shadowsocksr", 'global', 'netflix_enable', '0') ~= '0' then +o = s:option(ListValue, "netflix_server", translate("Netflix Node")) +o:value("nil", translate("Disable")) +o:value("same", translate("Same as Global Server")) +for _, key in pairs(key_table) do + o:value(key, server_table[key]) +end +o.default = "nil" +o.rmempty = false + +o = s:option(Flag, "netflix_proxy", translate("External Proxy Mode")) +o.rmempty = false +o.description = translate("Forward Netflix Proxy through Main Proxy") +o.default = "0" +end + +o = s:option(ListValue, "threads", translate("Multi Threads Option")) +o:value("0", translate("Auto Threads")) +o:value("1", translate("1 Thread")) +o:value("2", translate("2 Threads")) +o:value("4", translate("4 Threads")) +o:value("8", translate("8 Threads")) +o:value("16", translate("16 Threads")) +o:value("32", translate("32 Threads")) +o:value("64", translate("64 Threads")) +o:value("128", translate("128 Threads")) +o.default = "0" +o.rmempty = false + +o = s:option(ListValue, "run_mode", translate("Running Mode")) +o:value("gfw", translate("GFW List Mode")) +o:value("router", translate("IP Route Mode")) +o:value("all", translate("Global Mode")) +o:value("oversea", translate("Oversea Mode")) +o.default = gfw + +o = s:option(ListValue, "dports", translate("Proxy Ports")) +o:value("1", translate("All Ports")) +o:value("2", translate("Only Common Ports")) +o.default = 1 + +o = s:option(ListValue, "pdnsd_enable", translate("Resolve Dns Mode")) +o:value("1", translate("Use Pdnsd tcp query and cache")) +o:value("2", translate("Use DNS2SOCKS query and cache")) +o:value("0", translate("Use Local DNS Service listen port 5335")) +o.default = 1 + +o = s:option(Value, "tunnel_forward", translate("Anti-pollution DNS Server")) +o:value("8.8.4.4:53", translate("Google Public DNS (8.8.4.4)")) +o:value("8.8.8.8:53", translate("Google Public DNS (8.8.8.8)")) +o:value("208.67.222.222:53", translate("OpenDNS (208.67.222.222)")) +o:value("208.67.220.220:53", translate("OpenDNS (208.67.220.220)")) +o:value("209.244.0.3:53", translate("Level 3 Public DNS (209.244.0.3)")) +o:value("209.244.0.4:53", translate("Level 3 Public DNS (209.244.0.4)")) +o:value("4.2.2.1:53", translate("Level 3 Public DNS (4.2.2.1)")) +o:value("4.2.2.2:53", translate("Level 3 Public DNS (4.2.2.2)")) +o:value("4.2.2.3:53", translate("Level 3 Public DNS (4.2.2.3)")) +o:value("4.2.2.4:53", translate("Level 3 Public DNS (4.2.2.4)")) +o:value("1.1.1.1:53", translate("Cloudflare DNS (1.1.1.1)")) +o:value("114.114.114.114:53", translate("Oversea Mode DNS-1 (114.114.114.114)")) +o:value("114.114.115.115:53", translate("Oversea Mode DNS-2 (114.114.115.115)")) +o:depends("pdnsd_enable", "1") +o:depends("pdnsd_enable", "2") +o.description = translate("Custom DNS Server format as IP:PORT (default: 8.8.4.4:53)") +o.datatype = "hostport" + +return m + diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/control.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/control.lua new file mode 100644 index 00000000..070fb5b9 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/control.lua @@ -0,0 +1,143 @@ +require "luci.ip" +require "nixio.fs" +local m, s, o + +m = Map("shadowsocksr") + +s = m:section(TypedSection, "access_control") +s.anonymous = true + +-- Interface control +s:tab("Interface", translate("Interface control")) +o = s:taboption("Interface", DynamicList, "Interface", translate("Interface")) +o.template = "cbi/network_netlist" +o.widget = "checkbox" +o.nocreate = true +o.unspecified = true +o.description = translate("Listen only on the given interface or, if unspecified, on all") + +-- Part of WAN +s:tab("wan_ac", translate("WAN IP AC")) + +o = s:taboption("wan_ac", DynamicList, "wan_bp_ips", translate("WAN White List IP")) +o.datatype = "ip4addr" + +o = s:taboption("wan_ac", DynamicList, "wan_fw_ips", translate("WAN Force Proxy IP")) +o.datatype = "ip4addr" + +-- Part of LAN +s:tab("lan_ac", translate("LAN IP AC")) + +o = s:taboption("lan_ac", ListValue, "lan_ac_mode", translate("LAN Access Control")) +o:value("0", translate("Disable")) +o:value("w", translate("Allow listed only")) +o:value("b", translate("Allow all except listed")) +o.rmempty = false + +o = s:taboption("lan_ac", DynamicList, "lan_ac_ips", translate("LAN Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({family = 4}, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) +o:depends("lan_ac_mode", "w") +o:depends("lan_ac_mode", "b") + +o = s:taboption("lan_ac", DynamicList, "lan_bp_ips", translate("LAN Bypassed Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({family = 4}, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) + +o = s:taboption("lan_ac", DynamicList, "lan_fp_ips", translate("LAN Force Proxy Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({family = 4}, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) + +o = s:taboption("lan_ac", DynamicList, "lan_gm_ips", translate("Game Mode Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({family = 4}, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) + +-- Part of Self +-- s:tab("self_ac", translate("Router Self AC")) +-- o = s:taboption("self_ac",ListValue, "router_proxy", translate("Router Self Proxy")) +-- o:value("1", translatef("Normal Proxy")) +-- o:value("0", translatef("Bypassed Proxy")) +-- o:value("2", translatef("Forwarded Proxy")) +-- o.rmempty = false + +s:tab("esc", translate("Bypass Domain List")) +local escconf = "/etc/ssrplus/white.list" +o = s:taboption("esc", TextValue, "escconf") +o.rows = 13 +o.wrap = "off" +o.rmempty = true +o.cfgvalue = function(self, section) + return nixio.fs.readfile(escconf) or "" +end +o.write = function(self, section, value) + nixio.fs.writefile(escconf, value:gsub("\r\n", "\n")) +end +o.remove = function(self, section, value) + nixio.fs.writefile(escconf, "") +end + +s:tab("block", translate("Black Domain List")) +local blockconf = "/etc/ssrplus/black.list" +o = s:taboption("block", TextValue, "blockconf") +o.rows = 13 +o.wrap = "off" +o.rmempty = true +o.cfgvalue = function(self, section) + return nixio.fs.readfile(blockconf) or " " +end +o.write = function(self, section, value) + nixio.fs.writefile(blockconf, value:gsub("\r\n", "\n")) +end +o.remove = function(self, section, value) + nixio.fs.writefile(blockconf, "") +end + +s:tab("denydomain", translate("Deny Domain List")) +local denydomainconf = "/etc/ssrplus/deny.list" +o = s:taboption("denydomain", TextValue, "denydomainconf") +o.rows = 13 +o.wrap = "off" +o.rmempty = true +o.cfgvalue = function(self, section) + return nixio.fs.readfile(denydomainconf) or " " +end +o.write = function(self, section, value) + nixio.fs.writefile(denydomainconf, value:gsub("\r\n", "\n")) +end +o.remove = function(self, section, value) + nixio.fs.writefile(denydomainconf, "") +end + +s:tab("netflix", translate("Netflix Domain List")) +local netflixconf = "/etc/ssrplus/netflix.list" +o = s:taboption("netflix", TextValue, "netflixconf") +o.rows = 13 +o.wrap = "off" +o.rmempty = true +o.cfgvalue = function(self, section) + return nixio.fs.readfile(netflixconf) or " " +end +o.write = function(self, section, value) + nixio.fs.writefile(netflixconf, value:gsub("\r\n", "\n")) +end +o.remove = function(self, section, value) + nixio.fs.writefile(netflixconf, "") +end + +return m diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua new file mode 100644 index 00000000..fdf9e59f --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua @@ -0,0 +1,20 @@ +require "luci.util" +require "nixio.fs" +f = SimpleForm("logview") +f.reset = false +f.submit = false +t = f:field(TextValue, "conf") +t.rmempty = true +t.rows = 20 +function t.cfgvalue() + if nixio.fs.access("/var/log/ssrplus.log") then + local logs = luci.util.execi("cat /var/log/ssrplus.log") + local s = "" + for line in logs do + s = line .. "\n" .. s + end + return s + end +end +t.readonly = "readonly" +return f diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua new file mode 100644 index 00000000..fe3fc4b2 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua @@ -0,0 +1,150 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. +require "luci.http" +require "luci.dispatcher" +require "nixio.fs" + +local m, s, o +local sid = arg[1] + +local encrypt_methods = { + "rc4-md5", + "rc4-md5-6", + "rc4", + "table", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" +} + +local encrypt_methods_ss = { + -- aead + "aes-128-gcm", + "aes-192-gcm", + "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305" + --[[ stream + "table", + "rc4", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" ]] +} + +local protocol = {"origin"} + +obfs = {"plain", "http_simple", "http_post"} + +m = Map("shadowsocksr", translate("Edit ShadowSocksR Server")) + +m.redirect = luci.dispatcher.build_url("admin/services/shadowsocksr/server") +if m.uci:get("shadowsocksr", sid) ~= "server_config" then + luci.http.redirect(m.redirect) + return +end + +-- [[ Server Setting ]]-- +s = m:section(NamedSection, sid, "server_config") +s.anonymous = true +s.addremove = false + +o = s:option(Flag, "enable", translate("Enable")) +o.default = 1 +o.rmempty = false + +o = s:option(ListValue, "type", translate("Server Type")) +o:value("socks5", translate("Socks5")) +if nixio.fs.access("/usr/bin/ssserver") or nixio.fs.access("/usr/bin/ss-server") then + o:value("ss", translate("Shadowsocks")) +end +if nixio.fs.access("/usr/bin/ssr-server") then + o:value("ssr", translate("ShadowsocksR")) +end +o.default = "socks5" + +o = s:option(Value, "server_port", translate("Server Port")) +o.datatype = "port" +math.randomseed(tostring(os.time()):reverse():sub(1, 7)) +o.default = math.random(10240, 20480) +o.rmempty = false +o.description = translate("warning! Please do not reuse the port!") + +o = s:option(Value, "timeout", translate("Connection Timeout")) +o.datatype = "uinteger" +o.default = 60 +o.rmempty = false +o:depends("type", "ss") +o:depends("type", "ssr") + +o = s:option(Value, "username", translate("Username")) +o.rmempty = false +o:depends("type", "socks5") + +o = s:option(Value, "password", translate("Password")) +o.password = true +o.rmempty = false + +o = s:option(ListValue, "encrypt_method", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods) do + o:value(v) +end +o.rmempty = false +o:depends("type", "ssr") + +o = s:option(ListValue, "encrypt_method_ss", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods_ss) do + o:value(v) +end +o.rmempty = false +o:depends("type", "ss") + +o = s:option(ListValue, "protocol", translate("Protocol")) +for _, v in ipairs(protocol) do + o:value(v) +end +o.rmempty = false +o:depends("type", "ssr") + +o = s:option(ListValue, "obfs", translate("Obfs")) +for _, v in ipairs(obfs) do + o:value(v) +end +o.rmempty = false +o:depends("type", "ssr") + +o = s:option(Value, "obfs_param", translate("Obfs param(optional)")) +o:depends("type", "ssr") + +o = s:option(Flag, "fast_open", translate("TCP Fast Open")) +o.rmempty = false +o:depends("type", "ss") +o:depends("type", "ssr") + +return m diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua new file mode 100644 index 00000000..9af220c5 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua @@ -0,0 +1,140 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. +require "luci.http" +require "luci.dispatcher" +local m, sec, o +local encrypt_methods = { + "table", + "rc4", + "rc4-md5", + "rc4-md5-6", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" +} + +local encrypt_methods_ss = { + -- aead + "aes-128-gcm", + "aes-192-gcm", + "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305" + --[[ stream + "table", + "rc4", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" ]] +} + +local protocol = { + "origin", + "verify_deflate", + "auth_sha1_v4", + "auth_aes128_sha1", + "auth_aes128_md5", + "auth_chain_a" +} + +obfs = { + "plain", + "http_simple", + "http_post", + "random_head", + "tls1.2_ticket_auth", + "tls1.2_ticket_fastauth" +} + +m = Map("shadowsocksr") +-- [[ Global Setting ]]-- +sec = m:section(TypedSection, "server_global", translate("Global Setting")) +sec.anonymous = true + +o = sec:option(Flag, "enable_server", translate("Enable Server")) +o.rmempty = false + +-- [[ Server Setting ]]-- +sec = m:section(TypedSection, "server_config", translate("Server Setting")) +sec.anonymous = true +sec.addremove = true +sec.template = "cbi/tblsection" +sec.extedit = luci.dispatcher.build_url("admin/services/shadowsocksr/server/%s") +function sec.create(...) + local sid = TypedSection.create(...) + if sid then + luci.http.redirect(sec.extedit % sid) + return + end +end + +o = sec:option(Flag, "enable", translate("Enable")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("0") +end +o.rmempty = false + +o = sec:option(DummyValue, "type", translate("Server Type")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "ss" +end + +o = sec:option(DummyValue, "server_port", translate("Server Port")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "-" +end + +o = sec:option(DummyValue, "username", translate("Username")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "-" +end + +o = sec:option(DummyValue, "encrypt_method", translate("Encrypt Method")) +function o.cfgvalue(...) + local v = Value.cfgvalue(...) + return v and v:upper() or "-" +end + +o = sec:option(DummyValue, "encrypt_method_ss", translate("Encrypt Method")) +function o.cfgvalue(...) + local v = Value.cfgvalue(...) + return v and v:upper() or "-" +end + +o = sec:option(DummyValue, "protocol", translate("Protocol")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "-" +end + +o = sec:option(DummyValue, "obfs", translate("Obfs")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "-" +end + +return m diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua new file mode 100644 index 00000000..e9734aea --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua @@ -0,0 +1,151 @@ +-- Licensed to the public under the GNU General Public License v3. +require "luci.http" +require "luci.dispatcher" +require "luci.model.uci" +local m, s, o +local uci = luci.model.uci.cursor() +local server_count = 0 +uci:foreach("shadowsocksr", "servers", function(s) + server_count = server_count + 1 +end) + +m = Map("shadowsocksr", translate("Servers subscription and manage")) + +-- Server Subscribe +s = m:section(TypedSection, "server_subscribe") +s.anonymous = true + +o = s:option(Flag, "auto_update", translate("Auto Update")) +o.rmempty = false +o.description = translate("Auto Update Server subscription, GFW list and CHN route") + +o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) +for t = 0, 23 do + o:value(t, t .. ":00") +end +o.default = 2 +o.rmempty = false + +o = s:option(DynamicList, "subscribe_url", translate("Subscribe URL")) +o.rmempty = true + +o = s:option(Value, "filter_words", translate("Subscribe Filter Words")) +o.rmempty = true +o.description = translate("Filter Words splited by /") + +o = s:option(Value, "save_words", translate("Subscribe Save Words")) +o.rmempty = true +o.description = translate("Save Words splited by /") + +o = s:option(Button, "update_Sub", translate("Update Subscribe List")) +o.inputstyle = "reload" +o.description = translate("Update subscribe url list first") +o.write = function() + uci:commit("shadowsocksr") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "servers")) +end + +o = s:option(Flag, "switch", translate("Subscribe Default Auto-Switch")) +o.rmempty = false +o.description = translate("Subscribe new add server default Auto-Switch on") +o.default = "1" + +o = s:option(Flag, "proxy", translate("Through proxy update")) +o.rmempty = false +o.description = translate("Through proxy update list, Not Recommended ") + +o = s:option(Button, "subscribe", translate("Update All Subscribe Severs")) +o.rawhtml = true +o.template = "shadowsocksr/subscribe" + +o = s:option(Button, "delete", translate("Delete All Subscribe Severs")) +o.inputstyle = "reset" +o.description = string.format(translate("Server Count") .. ": %d", server_count) +o.write = function() + uci:delete_all("shadowsocksr", "servers", function(s) + if s.hashkey or s.isSubscribe then + return true + else + return false + end + end) + uci:save("shadowsocksr") + uci:commit("shadowsocksr") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "delete")) + return +end + +-- [[ Servers Manage ]]-- +s = m:section(TypedSection, "servers") +s.anonymous = true +s.addremove = true +s.template = "cbi/tblsection" +s.sortable = true +s.extedit = luci.dispatcher.build_url("admin", "services", "shadowsocksr", "servers", "%s") +function s.create(...) + local sid = TypedSection.create(...) + if sid then + luci.http.redirect(s.extedit % sid) + return + end +end + +o = s:option(DummyValue, "type", translate("Type")) +function o.cfgvalue(self, section) + return m:get(section, "v2ray_protocol") or Value.cfgvalue(self, section) or translate("None") +end + +o = s:option(DummyValue, "alias", translate("Alias")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("None") +end + +o = s:option(DummyValue, "server_port", translate("Server Port")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "N/A" +end + +o = s:option(DummyValue, "server_port", translate("Socket Connected")) +o.template = "shadowsocksr/socket" +o.width = "10%" +o.render = function(self, section, scope) + self.transport = s:cfgvalue(section).transport + if self.transport == 'ws' then + self.ws_path = s:cfgvalue(section).ws_path + self.tls = s:cfgvalue(section).tls + end + DummyValue.render(self, section, scope) +end + +o = s:option(DummyValue, "server", translate("Ping Latency")) +o.template = "shadowsocksr/ping" +o.width = "10%" + +local global_server = uci:get_first('shadowsocksr', 'global', 'global_server') + +node = s:option(Button, "apply_node", translate("Apply")) +node.inputstyle = "apply" +node.render = function(self, section, scope) + if section == global_server then + self.title = translate("Reapply") + else + self.title = translate("Apply") + end + Button.render(self, section, scope) +end +node.write = function(self, section) + uci:set("shadowsocksr", '@global[0]', 'global_server', section) + uci:save("shadowsocksr") + uci:commit("shadowsocksr") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "restart")) +end + +o = s:option(Flag, "switch_enable", translate("Auto Switch")) +o.rmempty = false +function o.cfgvalue(...) + return Value.cfgvalue(...) or 1 +end + +m:append(Template("shadowsocksr/server_list")) + +return m diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/status.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/status.lua new file mode 100644 index 00000000..64f9be4a --- /dev/null +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/status.lua @@ -0,0 +1,195 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. +require "nixio.fs" +require "luci.sys" +require "luci.model.uci" +local m, s, o +local redir_run = 0 +local reudp_run = 0 +local sock5_run = 0 +local server_run = 0 +local kcptun_run = 0 +local tunnel_run = 0 +local gfw_count = 0 +local ad_count = 0 +local ip_count = 0 +local nfip_count = 0 +local Process_list = luci.sys.exec("busybox ps -w") +local uci = luci.model.uci.cursor() +-- html constants +font_blue = [[]] +style_blue = [[]] +font_off = [[]] +bold_on = [[]] +bold_off = [[]] +local kcptun_version = translate("Unknown") +local kcp_file = "/usr/bin/kcptun-client" +if not nixio.fs.access(kcp_file) then + kcptun_version = translate("Not exist") +else + if not nixio.fs.access(kcp_file, "rwx", "rx", "rx") then + nixio.fs.chmod(kcp_file, 755) + end + kcptun_version = "" ..luci.sys.exec(kcp_file .. " -v | awk '{printf $3}'") .. "" + if not kcptun_version or kcptun_version == "" then + kcptun_version = translate("Unknown") + end +end + +if nixio.fs.access("/etc/ssrplus/gfw_list.conf") then + gfw_count = tonumber(luci.sys.exec("cat /etc/ssrplus/gfw_list.conf | wc -l")) / 2 +end + +if nixio.fs.access("/etc/ssrplus/ad.conf") then + ad_count = tonumber(luci.sys.exec("cat /etc/ssrplus/ad.conf | wc -l")) +end + +if nixio.fs.access("/etc/ssrplus/china_ssr.txt") then + ip_count = tonumber(luci.sys.exec("cat /etc/ssrplus/china_ssr.txt | wc -l")) +end + +if nixio.fs.access("/etc/ssrplus/netflixip.list") then + nfip_count = tonumber(luci.sys.exec("cat /etc/ssrplus/netflixip.list | wc -l")) +end + +if Process_list:find("udp.only.ssr.reudp") then + reudp_run = 1 +end + +if Process_list:find("tcp.only.ssr.retcp") then + redir_run = 1 +end + +if Process_list:find("tcp.udp.ssr.local") then + sock5_run = 1 +end + +if Process_list:find("tcp.udp.ssr.retcp") then + redir_run = 1 + reudp_run = 1 +end + +if Process_list:find("local.ssr.retcp") then + redir_run = 1 + sock5_run = 1 +end + +if Process_list:find("local.udp.ssr.retcp") then + reudp_run = 1 + redir_run = 1 + sock5_run = 1 +end + +if Process_list:find("kcptun.client") then + kcptun_run = 1 +end + +if Process_list:find("ssr.server") then + server_run = 1 +end + +if Process_list:find("ssrplus/bin/pdnsd") or (Process_list:find("ssrplus.dns") and Process_list:find("dns2socks.127.0.0.1.*127.0.0.1.5335")) then + pdnsd_run = 1 +end + +m = SimpleForm("Version") +m.reset = false +m.submit = false + +s = m:field(DummyValue, "redir_run", translate("Global Client")) +s.rawhtml = true +if redir_run == 1 then + s.value = font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else + s.value = style_blue .. bold_on .. translate("Not Running") .. bold_off .. font_off +end + +s = m:field(DummyValue, "reudp_run", translate("Game Mode UDP Relay")) +s.rawhtml = true +if reudp_run == 1 then + s.value = font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else + s.value = style_blue .. bold_on .. translate("Not Running") .. bold_off .. font_off +end + +if uci:get_first("shadowsocksr", 'global', 'pdnsd_enable', '0') ~= '0' then + s = m:field(DummyValue, "pdnsd_run", translate("DNS Anti-pollution")) + s.rawhtml = true + if pdnsd_run == 1 then + s.value = font_blue .. bold_on .. translate("Running") .. bold_off .. font_off + else + s.value = style_blue .. bold_on .. translate("Not Running") .. bold_off .. font_off + end +end + +s = m:field(DummyValue, "sock5_run", translate("Global SOCKS5 Proxy Server")) +s.rawhtml = true +if sock5_run == 1 then + s.value = font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else + s.value = style_blue .. bold_on .. translate("Not Running") .. bold_off .. font_off +end + +s = m:field(DummyValue, "server_run", translate("Local Servers")) +s.rawhtml = true +if server_run == 1 then + s.value = font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else + s.value = style_blue .. bold_on .. translate("Not Running") .. bold_off .. font_off +end + +if nixio.fs.access("/usr/bin/kcptun-client") then + s = m:field(DummyValue, "kcp_version", translate("KcpTun Version")) + s.rawhtml = true + s.value = kcptun_version + s = m:field(DummyValue, "kcptun_run", translate("KcpTun")) + s.rawhtml = true + if kcptun_run == 1 then + s.value = font_blue .. bold_on .. translate("Running") .. bold_off .. font_off + else + s.value = style_blue .. bold_on .. translate("Not Running") .. bold_off .. font_off + end +end + +s = m:field(DummyValue, "google", translate("Google Connectivity")) +s.value = translate("No Check") +s.template = "shadowsocksr/check" + +s = m:field(DummyValue, "baidu", translate("Baidu Connectivity")) +s.value = translate("No Check") +s.template = "shadowsocksr/check" + +s = m:field(DummyValue, "gfw_data", translate("GFW List Data")) +s.rawhtml = true +s.template = "shadowsocksr/refresh" +s.value = gfw_count .. " " .. translate("Records") + +s = m:field(DummyValue, "ip_data", translate("China IP Data")) +s.rawhtml = true +s.template = "shadowsocksr/refresh" +s.value = ip_count .. " " .. translate("Records") + +if uci:get_first("shadowsocksr", 'global', 'netflix_enable', '0') ~= '0' then +s = m:field(DummyValue, "nfip_data", translate("Netflix IP Data")) +s.rawhtml = true +s.template = "shadowsocksr/refresh" +s.value = nfip_count .. " " .. translate("Records") +end + +if uci:get_first("shadowsocksr", 'global', 'adblock', '0') == '1' then + s = m:field(DummyValue, "ad_data", translate("Advertising Data")) + s.rawhtml = true + s.template = "shadowsocksr/refresh" + s.value = ad_count .. " " .. translate("Records") +end + +if uci:get_first("shadowsocksr", 'global', 'pdnsd_enable', '0') == '1' then + s = m:field(DummyValue, "cache", translate("Reset pdnsd cache")) + s.template = "shadowsocksr/cache" +end + +s = m:field(DummyValue, "check_port", translate("Check Server Port")) +s.template = "shadowsocksr/checkport" +s.value = translate("No Check") + +return m diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/cache.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/cache.htm new file mode 100644 index 00000000..8c162f18 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/cache.htm @@ -0,0 +1,29 @@ +<%+cbi/valueheader%> + + +<%=self.value%> +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/certupload.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/certupload.htm new file mode 100644 index 00000000..f34f04d7 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/certupload.htm @@ -0,0 +1,4 @@ +<%+cbi/valueheader%> + + +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/check.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/check.htm new file mode 100644 index 00000000..5f6a673a --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/check.htm @@ -0,0 +1,29 @@ +<%+cbi/valueheader%> + + +<%=self.value%> +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/checkport.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/checkport.htm new file mode 100644 index 00000000..56ee0ab2 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/checkport.htm @@ -0,0 +1,25 @@ +<%+cbi/valueheader%> + + +<%=self.value%> +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/ping.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/ping.htm new file mode 100644 index 00000000..5b396f7c --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/ping.htm @@ -0,0 +1,3 @@ +<%+cbi/valueheader%> +-- ms +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/refresh.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/refresh.htm new file mode 100644 index 00000000..da89fd53 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/refresh.htm @@ -0,0 +1,37 @@ +<%+cbi/valueheader%> + + +<%=self.value%> +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/reset.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/reset.htm new file mode 100644 index 00000000..1882ac56 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/reset.htm @@ -0,0 +1,25 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/server_list.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/server_list.htm new file mode 100644 index 00000000..259cb7ff --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/server_list.htm @@ -0,0 +1,145 @@ +<%# + Copyright 2018-2019 Lienol + Licensed to the public under the Apache License 2.0. +-%> + diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/socket.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/socket.htm new file mode 100644 index 00000000..7b7b691f --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/socket.htm @@ -0,0 +1,6 @@ +<%+cbi/valueheader%> +wait + + + +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm new file mode 100644 index 00000000..b9711180 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm @@ -0,0 +1,366 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/status.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/status.htm new file mode 100644 index 00000000..58bf67f2 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/status.htm @@ -0,0 +1,22 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/subscribe.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/subscribe.htm new file mode 100644 index 00000000..47bf6ab5 --- /dev/null +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/subscribe.htm @@ -0,0 +1,18 @@ +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci-app-ssr-plus/po/zh-cn/ssr-plus.po b/luci-app-ssr-plus/po/zh-cn/ssr-plus.po new file mode 100644 index 00000000..b4f69606 --- /dev/null +++ b/luci-app-ssr-plus/po/zh-cn/ssr-plus.po @@ -0,0 +1,758 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "ShadowSocksR Client" +msgstr "ShadowSocksR 客户端" + +msgid "Enable" +msgstr "启用" + +msgid "Disable" +msgstr "停用" + +msgid "Log" +msgstr "日志" + +msgid "ShadowSocksR is running" +msgstr "ShadowSocksR 客户端运行中" + +msgid "ShadowSocksR is not running" +msgstr "ShadowSocksR 客户端未运行" + +msgid "Global Setting" +msgstr "全局设置" + +msgid "Global Server" +msgstr "全局服务器" + +msgid "ShadowSocksR SOCK5 Proxy is running" +msgstr "ShadowSocksR SOCK5代理运行中" + +msgid "UDP Relay Server" +msgstr "UDP中继服务器" + +msgid "Same as Global Server" +msgstr "与全局服务器相同" + +msgid "Servers Setting" +msgstr "服务器配置" + +msgid "Alias(optional)" +msgstr "别名(可选)" + +msgid "Onetime Authentication" +msgstr "一次验证" + +msgid "Server Address" +msgstr "服务器地址" + +msgid "Server Port" +msgstr "端口" + +msgid "Local Port" +msgstr "本地端口" + +msgid "Connection Timeout" +msgstr "连接超时" + +msgid "Password" +msgstr "密码" + +msgid "Encrypt Method" +msgstr "加密方式" + +msgid "VLESS Encryption" +msgstr "VLESS 加密" + +msgid "Flow" +msgstr "流控 (Flow)" + +msgid "Transport" +msgstr "传输协议" + +msgid "Protocol" +msgstr "传输协议" + +msgid "allowInsecure" +msgstr "允许不安全连接" + +msgid "Concurrency" +msgstr "最大并发连接数" + +msgid "If true, allowss insecure connection at TLS client, e.g., TLS server uses unverifiable certificates." +msgstr "是否允许不安全连接。当选择时,将不会检查远端主机所提供的 TLS 证书的有效性。" + +msgid "Protocol param(optional)" +msgstr "传输协议参数(可选)" + +msgid "Obfs" +msgstr "混淆插件" + +msgid "Obfs param(optional)" +msgstr "混淆参数(可选)" + +msgid "Enable Tunnel(DNS)" +msgstr "启用隧道(DNS)转发" + +msgid "Tunnel Port" +msgstr "隧道(DNS)本地端口" + +msgid "Forwarding Tunnel" +msgstr "隧道(DNS)转发地址" + +msgid "Access Control" +msgstr "访问控制" + +msgid "Interfaces - WAN" +msgstr "接口 - WAN" + +msgid "Bypassed IP List" +msgstr "被忽略IP列表" + +msgid "NULL - As Global Proxy" +msgstr "留空 - 作为全局代理" + +msgid "Bypassed IP" +msgstr "额外被忽略IP" + +msgid "Forwarded IP" +msgstr "强制走代理IP" + +msgid "Interfaces - LAN" +msgstr "接口 - LAN" + +msgid "LAN Access Control" +msgstr "内网客户端分流代理控制" + +msgid "Allow listed only" +msgstr "仅允许列表内主机" + +msgid "Allow all except listed" +msgstr "除列表外主机皆允许" + +msgid "LAN Host List" +msgstr "内网主机列表" + +msgid "SSR Client" +msgstr "客户端" + +msgid "SSR Server" +msgstr "服务端" + +msgid "ShadowSocksR Server" +msgstr "ShadowSocksR 服务端" + +msgid "ShadowSocksR Server is running" +msgstr "ShadowSocksR 服务端运行中" + +msgid "ShadowSocksR Server is not running" +msgstr "ShadowSocksR 服务端未运行" + +msgid "Enable Server" +msgstr "启动服务端" + +msgid "Server Setting" +msgstr "服务端配置" + +msgid "KcpTun Enable" +msgstr "KcpTun 启用" + +msgid "KcpTun Port" +msgstr "KcpTun 端口" + +msgid "KcpTun Param" +msgstr "KcpTun 参数" + +msgid "KcpTun Password" +msgstr "KcpTun 密码" + +msgid "Enable Process Monitor" +msgstr "启用进程监控" + +msgid "Edit ShadowSocksR Server" +msgstr "编辑服务器配置" + +msgid "Alias" +msgstr "别名" + +msgid "Server" +msgstr "服务器" + +msgid "TCP Fast Open" +msgstr "TCP快速打开" + +msgid "Status" +msgstr "状态" + +msgid "Unknown" +msgstr "未知" + +msgid "Running Status" +msgstr "运行状态" + +msgid "Global Client" +msgstr "TCP透明代理" + +msgid "Global SSR Server" +msgstr "SSR服务端" + +msgid "DNS Tunnel" +msgstr "DNS 隧道" + +msgid "IPK Version" +msgstr "IPK 版本号" + +msgid "KcpTun Version" +msgstr "KcpTun 版本号" + +msgid "Not exist" +msgstr "未安装可执行文件" + +msgid "IPK Installation Time" +msgstr "IPK 安装时间" + +msgid "Project" +msgstr "项目地址" + +msgid "Not Running" +msgstr "未运行" + +msgid "Running" +msgstr "运行中" + +msgid "Enable GFW mode" +msgstr "启用 GFW 模式" + +msgid "Running Mode" +msgstr "运行模式" + +msgid "IP Route Mode" +msgstr "绕过中国大陆IP模式" + +msgid "GFW List Mode" +msgstr "GFW列表模式" + +msgid "Global Mode" +msgstr "全局模式" + +msgid "Oversea Mode" +msgstr "海外用户回国模式" + +msgid "Router Proxy" +msgstr "路由器访问控制" + +msgid "Normal Proxy" +msgstr "正常代理" + +msgid "Bypassed Proxy" +msgstr "不走代理" + +msgid "Forwarded Proxy" +msgstr "强制走代理" + +msgid "UDP Relay" +msgstr "UDP中继" + +msgid "Google Connectivity" +msgstr "【谷歌】连通性检查" + +msgid "Baidu Connectivity" +msgstr "【百度】连通性检查" + +msgid "No Check" +msgstr "未检查" + +msgid "Check" +msgstr "检查" + +msgid "Connect OK" +msgstr "连接正常" + +msgid "Connect Error" +msgstr "连接错误" + +msgid "Check..." +msgstr "正在检查.." + +msgid "Proxy Check" +msgstr "代理检查" + +msgid "GFW List Data" +msgstr "【GFW列表】数据库" + +msgid "China IP Data" +msgstr "【国内IP段】数据库" + +msgid "Netflix IP Data" +msgstr "【Netflix IP段】数据库" + +msgid "Advertising Data" +msgstr "【广告屏蔽】数据库" + +msgid "Records" +msgstr "条记录" + +msgid "Refresh Data" +msgstr "更新数据库" + +msgid "Refresh..." +msgstr "正在更新,请稍候.." + +msgid "Refresh OK!" +msgstr "更新成功!" + +msgid "Refresh Error!" +msgstr "更新失败!" + +msgid "No new data!" +msgstr "你已经是最新数据,无需更新!" + +msgid "Total Records:" +msgstr "新的总纪录数:" + +msgid "Check Server Port" +msgstr "【服务器端口】检查" + +msgid "Check Connect" +msgstr "检查连通性" + +msgid "Check Server" +msgstr "检查服务器" + +msgid "Auto Switch" +msgstr "自动切换" + +msgid "Enable Auto Switch" +msgstr "启用自动切换" + +msgid "Switch check cycly(second)" +msgstr "自动切换检查周期(秒)" + +msgid "Check timout(second)" +msgstr "切换检查超时时间(秒)" + +msgid "Check Try Count" +msgstr "切换检查重试次数" + +msgid "Enable adblock" +msgstr "启用广告屏蔽" + +msgid "adblock_url" +msgstr "广告屏蔽更新URL" + +msgid "gfwlist Update url" +msgstr "GFWList更新URL" + +msgid "Chnroute Update url" +msgstr "国内IP段更新URL" + +msgid "nfip_url" +msgstr "Netflix IP段更新URL" + +msgid "Customize Netflix IP Url" +msgstr "自定义Netflix IP更新URL(默认项目地址:https://github.com/QiuSimons/Netflix_IP)" + +msgid "Enable Process Deamon" +msgstr "启用进程自动守护" + +msgid "DNS Server IP and Port" +msgstr "DNS服务器地址和端口" + +msgid "Resolve Dns Mode" +msgstr "DNS解析方式" + +msgid "Use SSR DNS Tunnel" +msgstr "使用SSR-DNS隧道" + +msgid "Use Pdnsd" +msgstr "使用Pdnsd" + +msgid "DNS Anti-pollution" +msgstr "DNS 防污染服务" + +msgid "Use Other DNS Tunnel(Need to install)" +msgstr "使用其他DNS转发(需要自己安装)" + +msgid "Import" +msgstr "导入配置信息" + +msgid "Export SSR" +msgstr "导出ssr配置信息" + +msgid "Import configuration information successfully." +msgstr "导入配置信息成功。" + +msgid "Invalid format." +msgstr "无效的格式。" + +msgid "User cancelled." +msgstr "用户已取消。" + +msgid "Paste sharing link here" +msgstr "在此处粘贴分享链接" + +msgid "Unable to copy SSR to clipboard." +msgstr "无法复制SSR网址到剪贴板。" + +msgid "Copy SSR to clipboard successfully." +msgstr "成功复制SSR网址到剪贴板。" + +msgid "Servers Manage" +msgstr "服务器管理" + +msgid "Auto Update" +msgstr "自动更新" + +msgid "Through proxy update" +msgstr "通过代理更新" + +msgid "GFW List" +msgstr "GFW列表" + +msgid "ShadowSocksR Plus+ Settings" +msgstr "ShadowSocksR Plus+ 设置" + +msgid "

Support SS/SSR/V2RAY/XRAY/TROJAN/NAIVEPROXY/SOCKS5/TUN etc.

" +msgstr "

支持 SS/SSR/V2RAY/XRAY/TROJAN/NAIVEPROXY/SOCKS5/TUN 等协议

" + +msgid "Main Server" +msgstr "主服务器" + +msgid "Anti-pollution DNS Server" +msgstr "访问国外域名DNS服务器" + +msgid "Custom DNS Server format as IP:PORT (default: 8.8.4.4:53)" +msgstr "格式为 IP:PORT (默认: 8.8.4.4:53)" + +msgid "Use Pdnsd tcp query and cache" +msgstr "使用PDNSD TCP查询并缓存" + +msgid "Use DNS2SOCKS query and cache" +msgstr "使用 DNS2SOCKS 查询并缓存" + +msgid "DNS Server IP:Port" +msgstr "DNS服务器 IP:Port" + +msgid "Update time (every day)" +msgstr "更新时间 (每天)" + +msgid "Auto Update Server subscription, GFW list and CHN route" +msgstr "自动更新服务器订阅、GFW列表和 CHN路由表" + +msgid "Subscribe URL" +msgstr "SS/SSR/V2/TROJAN订阅URL" + +msgid "Subscribe Filter Words" +msgstr "订阅节点关键字过滤" + +msgid "Subscribe Save Words" +msgstr "订阅节点关键字保留检查" + +msgid "Filter Words splited by /" +msgstr "命中关键字的节点将被丢弃。多个关键字用 / 分隔" + +msgid "Save Words splited by /" +msgstr "命中关键字的节点将被保留。多个关键字用 / 分隔。此项为空则不启用保留匹配" + +msgid "Update" +msgstr "更新" + +msgid "Server Count" +msgstr "服务器节点数量" + +msgid "Interface control" +msgstr "接口控制" + +msgid "WAN IP AC" +msgstr "WAN IP访问控制" + +msgid "WAN White List IP" +msgstr "不走代理的WAN IP" + +msgid "WAN Force Proxy IP" +msgstr "强制走代理的WAN IP" + +msgid "LAN Bypassed Host List" +msgstr "不走代理的局域网LAN IP" + +msgid "LAN Force Proxy Host List" +msgstr "全局代理的LAN IP" + +msgid "Router Self AC" +msgstr "路由器自身代理设置" + +msgid "Router Self Proxy" +msgstr "路由器自身代理方式" + +msgid "Normal Proxy" +msgstr "跟随全局设置" + +msgid "Bypassed Proxy" +msgstr "不走代理" + +msgid "Forwarded Proxy" +msgstr "全局代理" + +msgid "GFW Custom List" +msgstr "GFW 用户自定义列表" + +msgid "Please refer to the following writing" +msgstr "每行一个域名,无需写前面的 HTTP(S):// ,提交后即时生效" + +msgid "Servers subscription and manage" +msgstr "服务器节点订阅与管理" + +msgid "Through proxy update list, Not Recommended" +msgstr "通过路由器自身代理更新订阅" + +msgid "LAN IP AC" +msgstr "LAN IP访问控制" + +msgid "Game Mode UDP Server" +msgstr "游戏模式UDP中继服务器" + +msgid "Game Mode UDP Relay" +msgstr "游戏模式UDP中继" + +msgid "Server failsafe auto swith and custom update settings" +msgstr "服务器节点故障自动切换/广告屏蔽/国内IP段数据库更新设置" + +msgid "Support AdGuardHome and DNSMASQ format list" +msgstr "同时支持 AdGuard Home 和 DNSMASQ 格式的过滤列表" + +msgid "Delete All Subscribe Severs" +msgstr "删除所有订阅服务器节点" + +msgid "Severs Nodes" +msgstr "服务器节点" + +msgid "Use Local DNS Service listen port 5335" +msgstr "使用本机端口为5335的DNS服务" + +msgid "Server Node Type" +msgstr "服务器节点类型" + +msgid "Using incorrect encryption mothod may causes service fail to start" +msgstr "输入不正确的参数组合可能会导致服务无法启动" + +msgid "Game Mode Host List" +msgstr "增强游戏模式客户端LAN IP" + +msgid "Multi Threads Option" +msgstr "多线程并发转发" + +msgid "Auto Threads" +msgstr "自动(CPU线程数)" + +msgid "1 Thread" +msgstr "单线程" + +msgid "2 Threads" +msgstr "2 线程" + +msgid "4 Threads" +msgstr "4 线程" + +msgid "8 Threads" +msgstr "8 线程" + +msgid "16 Threads" +msgstr "16 线程" + +msgid "32 Threads" +msgstr "32 线程" + +msgid "64 Threads" +msgstr "64 线程" + +msgid "128 Threads" +msgstr "128 线程" + +msgid "Proxy Ports" +msgstr "需要代理的端口" + +msgid "All Ports" +msgstr "所有端口(默认)" + +msgid "Only Common Ports" +msgstr "仅常用端口(不走P2P流量到代理)" + +msgid "Socket Connected" +msgstr "连接测试" + +msgid "Ping Latency" +msgstr "Ping延迟" + +msgid "Bypass Domain List" +msgstr "不走代理的域名" + +msgid "Black Domain List" +msgstr "强制走代理的域名" + +msgid "Update Subscribe List" +msgstr "更新订阅URL列表" + +msgid "Update subscribe url list first" +msgstr "修改订阅URL和节点关键字后,请先点击更新" + +msgid "Update All Subscribe Severs" +msgstr "更新所有订阅服务器节点" + +msgid "Plugin" +msgstr "插件" + +msgid "Plugin Opts" +msgstr "插件参数" + +msgid "Self-signed Certificate" +msgstr "自签证书" + +msgid "If you have a self-signed certificate,please check the box" +msgstr "如果你使用自签证书,请选择" + +msgid "upload" +msgstr "上传" + +msgid "Upload" +msgstr "上传" + +msgid "No specify upload file." +msgstr "没有上传证书" + +msgid "Current Certificate Path" +msgstr "当前证书路径" + +msgid "Please confirm the current certificate path" +msgstr "请选择确认所传证书,证书不正确将无法运行" + +msgid "Subscribe Default Auto-Switch" +msgstr "订阅新节点自动切换设置" + +msgid "Subscribe new add server default Auto-Switch on" +msgstr "订阅加入的新节点默认开启自动切换" + +msgid "SOCKS5 Proxy Server Settings" +msgstr "SOCKS5 代理服务端设置" + +msgid "SOCKS5 Proxy Server" +msgstr "SOCKS5 代理服务端" + +msgid "Enable SOCKS5 Proxy Server" +msgstr "启用 SOCKS5 代理服务" + +msgid "Enable Authentication" +msgstr "启用用户名/密码认证" + +msgid "Enable SOCKS5 Proxy Server" +msgstr "启用 SOCKS5 代理服务" + +msgid "Enable WAN Access" +msgstr "允许从 WAN 访问" + +msgid "Redirect traffic to this network interface" +msgstr "分流到这个网络接口" + +msgid "Netflix Node" +msgstr "Netflix 分流服务器" + +msgid "Netflix Domain List" +msgstr "Netflix 分流域名列表" + +msgid "Netflix IP List" +msgstr "Netflix 分流IP列表" + +msgid "External Proxy Mode" +msgstr "分流服务器(前置)代理" + +msgid "Forward Netflix Proxy through Main Proxy" +msgstr "分流服务器流量通过主服务节点中转代理转发" + +msgid "Server Type" +msgstr "服务端类型" + +msgid "Local Servers" +msgstr "本机服务端" + +msgid "Global SOCKS5 Proxy Server" +msgstr "SOCKS5 代理服务端(全局)" + +msgid "warning! Please do not reuse the port!" +msgstr "警告!请不要重复使用端口!" + +msgid "Deny Domain List" +msgstr "禁止连接的域名" + +msgid "Obfuscate password (optional)" +msgstr "混淆密码(可选)" + +msgid "V2Ray/XRay protocol" +msgstr "V2Ray/XRay 协议" + +msgid "Camouflage Type" +msgstr "伪装类型" + +msgid "VideoCall (SRTP)" +msgstr "视频通话 (SRTP)" + +msgid "BitTorrent (uTP)" +msgstr "BT下载 (uTP)" + +msgid "WechatVideo" +msgstr "微信视频通话" + +msgid "DTLS 1.2" +msgstr "DTLS 1.2 数据包" + +msgid "WireGuard" +msgstr "WireGuard 数据包" + +msgid "MTU" +msgstr "最大传输单元" + +msgid "TTI" +msgstr "传输时间间隔" + +msgid "Uplink Capacity" +msgstr "上行链路容量" + +msgid "Downlink Capacity" +msgstr "下行链路容量" + +msgid "Read Buffer Size" +msgstr "读取缓冲区大小" + +msgid "Write Buffer Size" +msgstr "写入缓冲区大小" + +msgid "Congestion" +msgstr "拥塞控制" + +msgid "Network interface to use" +msgstr "使用的网络接口" + +msgid "Please fill in reset" +msgstr "请填写 reset" + +msgid "The content entered is incorrect!" +msgstr "输入的内容不正确!" + +msgid "Reset complete" +msgstr "重置完成" + +msgid "Reset Error" +msgstr "重置错误" + +msgid "Reset pdnsd cache" +msgstr "重置PDNSD缓存" + +msgid "Finger Print" +msgstr "指纹伪造" + +msgid "Reapply" +msgstr "重新应用" + +msgid "Apply" +msgstr "应用" + +msgid "Enable Netflix Mode" +msgstr "启用 Netflix 分流模式" diff --git a/luci-app-ssr-plus/po/zh_Hans b/luci-app-ssr-plus/po/zh_Hans new file mode 120000 index 00000000..41451e4a --- /dev/null +++ b/luci-app-ssr-plus/po/zh_Hans @@ -0,0 +1 @@ +zh-cn \ No newline at end of file diff --git a/luci-app-ssr-plus/root/etc/config/shadowsocksr b/luci-app-ssr-plus/root/etc/config/shadowsocksr new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/luci-app-ssr-plus/root/etc/init.d/shadowsocksr new file mode 100755 index 00000000..3921e263 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -0,0 +1,934 @@ +#!/bin/sh /etc/rc.common +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# Copyright (C) 2018 lean +# Copyright (C) 2020 Mattraks +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +START=95 +STOP=15 +SERVICE_DAEMONIZE=1 +NAME=shadowsocksr +LOCK_FILE=/var/lock/ssrplus.lock +LOG_FILE=/var/log/ssrplus.log +TMP_PATH=/var/etc/ssrplus +TMP_BIN_PATH=$TMP_PATH/bin +TMP_DNSMASQ_PATH=/tmp/dnsmasq.d/dnsmasq-ssrplus.d +tcp_config_file= +udp_config_file= +shunt_config_file= +local_config_file= +shunt_dns_config_file= +tmp_local_port= +ARG_UDP= +dns_port="5335" #dns port +tmp_dns_port="300" #dns2socks temporary port +tmp_udp_port="301" #udp temporary port +tmp_udp_local_port="302" #udp socks temporary port +tmp_shunt_port="303" #shunt temporary port +tmp_shunt_local_port="304" #shunt socks temporary port +tmp_shunt_dns_port="305" #shunt dns2socks temporary port +server_count=0 +redir_tcp=0 +redir_udp=0 +local_enable=0 +kcp_enable_flag=0 +pdnsd_enable_flag=0 +switch_server=$1 +CRON_FILE=/etc/crontabs/root +EXTRA_COMMANDS='reset' +EXTRA_HELP=" reset Reset to default settings" +#extra_command "reset" "Reset to default settings" +PS="/bin/busybox ps" + +uci_get_by_name() { + local ret=$(uci get $NAME.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_get_by_type() { + local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_set_by_name() { + uci set $NAME.$1.$2=$3 2>/dev/null + uci commit $NAME +} + +uci_set_by_type() { + uci set $NAME.@$1[0].$2=$3 2>/dev/null + uci commit $NAME +} + +uci_get_by_cfgid() { + local ret=$(uci show $NAME.@$1[0].$2 | awk -F '.' '{print $2}' 2>/dev/null) + echo ${ret:=$3} +} + +get_host_ip() { + local host=$(uci_get_by_name $1 server) + local ip=$host + if [ -z "$(echo $host | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}")" ]; then + if [ "$host" == "${host#*:[0-9a-fA-F]}" ]; then + ip=$(resolveip -4 -t 3 $host | awk 'NR==1{print}') + [ -z "$ip" ] && ip=$(uclient-fetch -q -O- http://119.29.29.29/d?dn=$host | awk -F ';' '{print $1}') + fi + fi + [ -z "$ip" ] || uci_set_by_name $1 ip $ip + echo ${ip:="$(uci_get_by_name $1 ip "ERROR")"} +} + +clean_log() { + local logsnum=$(cat $LOG_FILE 2>/dev/null | wc -l) + [ "$logsnum" -gt 1000 ] && { + echo "$(date "+%Y-%m-%d %H:%M:%S") 日志文件过长,清空处理!" >$LOG_FILE + } +} + +echolog() { + local d="$(date "+%Y-%m-%d %H:%M:%S")" + echo -e "$d: $*" >>$LOG_FILE +} + +add_cron() { + touch $CRON_FILE + sed -i '/ssrplus.log/d' $CRON_FILE + [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/share/shadowsocksr/ssrplusupdate.sh >$LOG_FILE" >>$CRON_FILE + crontab $CRON_FILE +} + +del_cron() { + touch $CRON_FILE + sed -i '/ssrplus.log/d' $CRON_FILE + crontab $CRON_FILE + clean_log +} + +set_lock() { + exec 1000>"$LOCK_FILE" + flock -xn 1000 +} + +unset_lock() { + flock -u 1000 + rm -rf "$LOCK_FILE" +} + +unlock() { + failcount=1 + while [ "$failcount" -le 10 ]; do + if [ -f "$LOCK_FILE" ]; then + let "failcount++" + sleep 1s + [ "$failcount" -ge 10 ] && unset_lock + else + break + fi + done +} + +_exit() { + local rc=$1 + unset_lock + exit ${rc} +} + +first_type() { + type -t -p "/bin/${1}" -p "${TMP_BIN_PATH}/${1}" -p "${1}" "$@" | head -n1 +} + +ln_start_bin() { + local file_func=${1} + local ln_name=${2} + shift 2 + if [ "${file_func%%/*}" != "${file_func}" ]; then + [ ! -L "${file_func}" ] && { + ln -s "${file_func}" "${TMP_BIN_PATH}/${ln_name}" >/dev/null 2>&1 + file_func="${TMP_BIN_PATH}/${ln_name}" + } + [ -x "${file_func}" ] || echolog "$(readlink ${file_func}) 没有执行权限,无法启动:${file_func} $*" + fi + #echo "${file_func} $*" >&2 + [ -x "${file_func}" ] || { + echolog "找不到 ${file_func},无法启动..." + echolog "-----------end------------" + _exit 2 + } + ${file_func:-echolog " - ${ln_name}"} "$@" >/dev/null 2>&1 & +} + +start_dns() { + local ssrplus_dns="$(uci_get_by_type global pdnsd_enable 0)" + local dnsstr="$(uci_get_by_type global tunnel_forward 8.8.4.4:53)" + local dnsserver=$(echo "$dnsstr" | awk -F ':' '{print $1}') + local dnsport=$(echo "$dnsstr" | awk -F ':' '{print $2}') + start_pdnsd() { + local usr_dns="$1" + local usr_port="$2" + if [ ! -f "$TMP_PATH/pdnsd/pdnsd.cache" ]; then + mkdir -p $TMP_PATH/pdnsd + touch $TMP_PATH/pdnsd/pdnsd.cache + chown -R nobody:nogroup $TMP_PATH/pdnsd + fi + cat <<-EOF >$TMP_PATH/pdnsd.conf + global{ + perm_cache=1024; + cache_dir="$TMP_PATH/pdnsd"; + pid_file="/var/run/pdnsd.pid"; + run_as="nobody"; + server_ip=127.0.0.1; + server_port=$dns_port; + status_ctl=on; + query_method=tcp_only; + min_ttl=1h; + max_ttl=1w; + timeout=10; + neg_domain_pol=on; + proc_limit=2; + procq_limit=8; + par_queries=1; + } + server{ + label="ssr-usrdns"; + ip=$usr_dns; + port=$usr_port; + timeout=6; + uptest=none; + interval=10m; + purge_cache=off; + } + EOF + ln_start_bin $(first_type pdnsd) pdnsd -c $TMP_PATH/pdnsd.conf + } + if [ "$ssrplus_dns" != "0" ]; then + case "$(uci_get_by_type global run_mode)" in + gfw) ipset add gfwlist $dnsserver 2>/dev/null ;; + oversea) ipset add oversea $dnsserver 2>/dev/null ;; + *) ipset add ss_spec_wan_ac $dnsserver nomatch 2>/dev/null ;; + esac + case "$ssrplus_dns" in + 1) + start_pdnsd $dnsserver $dnsport + pdnsd_enable_flag=1 + ;; + 2) + ln_start_bin $(first_type microsocks) microsocks -i 127.0.0.1 -p $tmp_dns_port ssrplus-dns + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_dns_port $dnsserver:$dnsport 127.0.0.1:$dns_port -q + pdnsd_enable_flag=2 + ;; + esac + fi +} + +gen_service_file() { + if [ $(uci_get_by_name $2 fast_open) == "1" ]; then + local fastopen="true" + else + local fastopen="false" + fi + if [ $1 == "ssr" ]; then + cat <<-EOF >$3 + { + "server": "0.0.0.0", + "server_ipv6": "::", + "server_port": $(uci_get_by_name $2 server_port), + "mode": "tcp_and_udp", + "password": "$(uci_get_by_name $2 password)", + "timeout": $(uci_get_by_name $2 timeout 60), + "method": "$(uci_get_by_name $2 encrypt_method)", + "protocol": "$(uci_get_by_name $2 protocol)", + "protocol_param": "$(uci_get_by_name $2 protocol_param)", + "obfs": "$(uci_get_by_name $2 obfs)", + "obfs_param": "$(uci_get_by_name $2 obfs_param)", + "fast_open": $fastopen + } + EOF + else + cat <<-EOF >$3 + { + "server": "0.0.0.0", + "server_ipv6": "::", + "server_port": $(uci_get_by_name $2 server_port), + "mode": "tcp_and_udp", + "password": "$(uci_get_by_name $2 password)", + "timeout": $(uci_get_by_name $2 timeout 60), + "method": "$(uci_get_by_name $2 encrypt_method_ss)", + "protocol": "socks", + "fast_open": $fastopen + } + EOF + fi +} + +get_name() { + case "$1" in + ss) echo "Shadowsocks" ;; + ssr) echo "ShadowsocksR" ;; + esac +} + +gen_config_file() { #server1 type2 code3 local_port4 socks_port5 threads5 + case "$3" in + 1) + config_file=$tcp_config_file + ;; + 2) + config_file=$udp_config_file + ;; + 3) + if [ -n "$tmp_local_port" ]; then + local tmp_port=$tmp_local_port + else + local tmp_port=$tmp_shunt_local_port + fi + config_file=$shunt_config_file + ;; + 4) + local ss_protocol="socks" + config_file=$local_config_file + ;; + esac + case "$2" in + ss | ssr) + lua /usr/share/shadowsocksr/gen_config.lua $1 $mode $4 ${ss_protocol:-redir} >$config_file + if [ "$3" == "3" ]; then + lua /usr/share/shadowsocksr/gen_config.lua $1 $mode $tmp_port socks >$shunt_dns_config_file + fi + ;; + v2ray) + lua /usr/share/shadowsocksr/gen_config.lua $1 $mode $4 $5 >$config_file + ;; + trojan) + case "$3" in + 1) + lua /usr/share/shadowsocksr/gen_config.lua $1 nat $4 >$config_file + ;; + 2) + lua /usr/share/shadowsocksr/gen_config.lua $1 client $4 >$config_file + ;; + 3) + lua /usr/share/shadowsocksr/gen_config.lua $1 nat $4 >$config_file + lua /usr/share/shadowsocksr/gen_config.lua $1 client $tmp_port >$shunt_dns_config_file + ;; + 4) + lua /usr/share/shadowsocksr/gen_config.lua $1 client $4 >$config_file + ;; + esac + ;; + naiveproxy) + case "$3" in + 1) + lua /usr/share/shadowsocksr/gen_config.lua $1 redir $4 >$config_file + ;; + 3) + lua /usr/share/shadowsocksr/gen_config.lua $1 redir $4 >$config_file + lua /usr/share/shadowsocksr/gen_config.lua $1 socks $tmp_port >$shunt_dns_config_file + ;; + 4) + lua /usr/share/shadowsocksr/gen_config.lua $1 socks $4 >$config_file + ;; + esac + ;; + socks5) + /usr/share/shadowsocksr/genred2config.sh $config_file $2 $mode $4 \ + "$(uci_get_by_name $1 server)" \ + "$(uci_get_by_name $1 server_port)" \ + "$(uci_get_by_name $1 auth_enable 0)" \ + "$(uci_get_by_name $1 username)" \ + "$(uci_get_by_name $1 password)" + ;; + tun) + /usr/share/shadowsocksr/genred2config.sh $config_file $2 $(uci_get_by_name $1 iface "br-lan") $4 + ;; + esac + sed -i 's/\\//g' $TMP_PATH/*-ssr-*.json +} + +start_udp() { + local type=$(uci_get_by_name $UDP_RELAY_SERVER type) + redir_udp=1 + case "$type" in + ss | ssr) + gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port + ss_program="$(first_type ${type}local ${type}-redir)" + ln_start_bin $ss_program ${type}-redir -c $udp_config_file + echolog "UDP TPROXY Relay:$(get_name $type) Started!" + ;; + v2ray) + gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port + ln_start_bin $(first_type xray v2ray) v2ray -config $udp_config_file + echolog "UDP TPROXY Relay:$($(first_type "xray" "v2ray") -version | head -1) Started!" + ;; + trojan) #client + gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_local_port + ln_start_bin $(first_type trojan) $type --config $udp_config_file + ln_start_bin $(first_type ipt2socks) ipt2socks -U -b 0.0.0.0 -4 -s 127.0.0.1 -p $tmp_udp_local_port -l $tmp_udp_port + echolog "UDP TPROXY Relay:$($(first_type trojan) --version 2>&1 | head -1) Started!" + ;; + naiveproxy) + echolog "NaïveProxy UDP TPROXY Relay not supported!" + redir_udp=0 + ARG_UDP="" + ;; + socks5) + # if [ "$(uci_get_by_name $UDP_RELAY_SERVER auth_enable 0)" == "1" ]; then + # local auth="-a $(uci_get_by_name $UDP_RELAY_SERVER username) -k $(uci_get_by_name $UDP_RELAY_SERVER password)" + # fi + # ln_start_bin $(first_type ipt2socks) ipt2socks $udp_config_file -U -4 -s $(uci_get_by_name $UDP_RELAY_SERVER server) -p $(uci_get_by_name $UDP_RELAY_SERVER server_port) -l $tmp_udp_port $auth + gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port + ln_start_bin $(first_type redsocks2) redsocks2 -c $udp_config_file + echolog "UDP TPROXY Relay:Socks5 REDIRECT/TPROXY Started!" + ;; + tun) + echolog "Network Tunnel UDP TPROXY Relay not supported!" + redir_udp=0 + ARG_UDP="" + ;; + esac +} + +start_shunt() { + local type=$(uci_get_by_name $SHUNT_SERVER type) + case "$type" in + ss | ssr) + gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port + ss_program="$(first_type ${type}local ${type}-redir)" + ln_start_bin $ss_program ${type}-redir -c $shunt_config_file + if [ -n "$tmp_local_port" ]; then + local tmp_port=$tmp_local_port + else + local tmp_port=$tmp_shunt_local_port + ln_start_bin $(first_type ${type}local ${type}-local) ${type}-local -c $shunt_dns_config_file + fi + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q + echolog "shunt:$(get_name $type) Started!" + ;; + v2ray) + local tmp_port=${tmp_local_port:-$tmp_shunt_local_port} + gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port $tmp_port + ln_start_bin $(first_type xray v2ray) v2ray -config $shunt_config_file + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q + echolog "shunt:$($(first_type xray v2ray) -version | head -1) Started!" + ;; + trojan) + gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port + ln_start_bin $(first_type trojan) $type --config $shunt_config_file + if [ -n "$tmp_local_port" ]; then + local tmp_port=$tmp_local_port + else + local tmp_port=$tmp_shunt_local_port + ln_start_bin $(first_type trojan) $type --config $shunt_dns_config_file + fi + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q + echolog "shunt:$($(first_type trojan) --version 2>&1 | head -1) Started!" + ;; + naiveproxy) + gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port + ln_start_bin $(first_type naive) naive --config $shunt_config_file + if [ -n "$tmp_local_port" ]; then + local tmp_port=$tmp_local_port + else + local tmp_port=$tmp_shunt_local_port + ln_start_bin $(first_type naive) naive --config $shunt_dns_config_file + fi + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q + echolog "shunt:$($(first_type "naive") --version 2>&1 | head -1) Started!" + redir_udp=0 + ;; + # socks5) + # if [ "$(uci_get_by_name $SHUNT_SERVER auth_enable 0)" == "1" ]; then + # local auth="-a $(uci_get_by_name $SHUNT_SERVER username) -k $(uci_get_by_name $SHUNT_SERVER password)" + # fi + # ln_start_bin $(first_type ipt2socks) ipt2socks $shunt_config_file -R -4 -s $(uci_get_by_name $SHUNT_SERVER server) -p $(uci_get_by_name $SHUNT_SERVER server_port) -l $tmp_shunt_port $auth + # #gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port + # #ln_start_bin $(first_type redsocks2) redsocks2 -c $shunt_config_file + # if [ -n "$tmp_local_port" ]; then + # local tmp_port=$tmp_local_port + # else + # local tmp_port=$tmp_shunt_local_port + # ln_start_bin $(first_type microsocks) microsocks -i 127.0.0.1 -p $tmp_port shunt-dns-ssr-plus + # fi + # ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q + # echolog "shunt:$type REDIRECT/TPROXY Started!" + # ;; + *) + gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port + ln_start_bin $(first_type redsocks2) redsocks2 -c $shunt_config_file + if [ -n "$tmp_local_port" ]; then + local tmp_port=$tmp_local_port + else + local tmp_port=$tmp_shunt_local_port + ln_start_bin $(first_type microsocks) microsocks -i 127.0.0.1 -p $tmp_port shunt-dns-ssr-plus + fi + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q + echolog "shunt:$type REDIRECT/TPROXY Started!" + ;; + esac + return 0 +} + +start_local() { + [ "$LOCAL_SERVER" = "nil" ] && return 1 + local local_port=$(uci_get_by_type socks5_proxy local_port) + [ "$LOCAL_SERVER" == "$SHUNT_SERVER" ] && tmp_local_port=$local_port + local type=$(uci_get_by_name $LOCAL_SERVER type) + case "$type" in + ss | ssr) + gen_config_file $LOCAL_SERVER $type 4 $local_port + ss_program="$(first_type ${type}local ${type}-local)" + ln_start_bin $ss_program ${type}-local -c $local_config_file + echolog "Global_Socks5:$(get_name $type) Started!" + ;; + v2ray) + if [ "$_local" == "2" ]; then + gen_config_file $LOCAL_SERVER $type 4 0 $local_port + ln_start_bin $(first_type xray v2ray) v2ray -config $local_config_file + fi + echolog "Global_Socks5:$($(first_type "xray" "v2ray") -version | head -1) Started!" + ;; + trojan) #client + gen_config_file $LOCAL_SERVER $type 4 $local_port + ln_start_bin $(first_type trojan) $type --config $local_config_file + echolog "Global_Socks5:$($(first_type trojan) --version 2>&1 | head -1) Started!" + ;; + naiveproxy) + gen_config_file $LOCAL_SERVER $type 4 $local_port + ln_start_bin $(first_type naive) naive --config $local_config_file + echolog "Global_Socks5:$($(first_type $type) --version | head -1) Started!" + ;; + *) + [ -e /proc/sys/net/ipv6 ] && local listenip='-i ::' + ln_start_bin $(first_type microsocks) microsocks $listenip -p $local_port tcp-udp-ssr-local + echolog "Global_Socks5:$type Started!" + ;; + esac + local_enable=1 + return 0 +} + +Start_Run() { + if [ "$(uci_get_by_type global threads 0)" == "0" ]; then + local threads=$(cat /proc/cpuinfo | grep 'processor' | wc -l) + else + local threads=$(uci_get_by_type global threads) + fi + if [ "$(uci_get_by_name $GLOBAL_SERVER kcp_enable 0)" == "1" ]; then + [ ! -f "/usr/bin/kcptun-client" ] && return 1 + local kcp_str=$(/usr/bin/kcptun-client -v | grep kcptun | wc -l) + [ "0" == "$kcp_str" ] && return 1 + local kcp_server=$(uci_get_by_name $GLOBAL_SERVER server) + local kcp_port=$(uci_get_by_name $GLOBAL_SERVER kcp_port) + local server_port=$(uci_get_by_name $GLOBAL_SERVER server_port) + local password=$(uci_get_by_name $GLOBAL_SERVER kcp_password) + local kcp_param=$(uci_get_by_name $GLOBAL_SERVER kcp_param) + [ "$password" != "" ] && password="--key "$password + service_start /usr/bin/kcptun-client -r $kcp_server:$kcp_port -l :$server_port $password $kcp_param + kcp_enable_flag=1 + ARG_UDP="" + fi + if [ "$_local" == "1" ]; then + local socks_port=$(uci_get_by_type socks5_proxy local_port) + tcp_config_file=$TMP_PATH/local-ssr-retcp.json + [ "$mode" == "tcp,udp" ] && tcp_config_file=$TMP_PATH/local-udp-ssr-retcp.json + fi + local tcp_port=$(uci_get_by_name $GLOBAL_SERVER local_port) + local type=$(uci_get_by_name $GLOBAL_SERVER type) + case "$type" in + ss | ssr) + gen_config_file $GLOBAL_SERVER $type 1 $tcp_port + ss_program="$(first_type ${type}local ${type}-redir)" + for i in $(seq 1 $threads); do + ln_start_bin "$ss_program" ${type}-redir -c $tcp_config_file + done + echolog "Main node:$(get_name $type) $threads Threads Started!" + ;; + v2ray) + gen_config_file $GLOBAL_SERVER $type 1 $tcp_port $socks_port + ln_start_bin $(first_type xray v2ray) v2ray -config $tcp_config_file + echolog "Main node:$($(first_type xray v2ray) -version | head -1) Started!" + ;; + trojan) + gen_config_file $GLOBAL_SERVER $type 1 $tcp_port + for i in $(seq 1 $threads); do + ln_start_bin $(first_type $type) $type --config $tcp_config_file + done + echolog "Main node:$($(first_type $type) --version 2>&1 | head -1) , $threads Threads Started!" + ;; + naiveproxy) + gen_config_file $GLOBAL_SERVER $type 1 $tcp_port + ln_start_bin $(first_type naive) naive $tcp_config_file + echolog "Main node:$($(first_type naive) --version 2>&1 | head -1) , $threads Threads Started!" + ;; + socks5) + if [ "$(uci_get_by_name $GLOBAL_SERVER auth_enable 0)" == "1" ]; then + local auth="-a $(uci_get_by_name $GLOBAL_SERVER username) -k $(uci_get_by_name $GLOBAL_SERVER password)" + fi + ln_start_bin $(first_type ipt2socks) ipt2socks $tcp_config_file -R -4 -j $threads -s $(uci_get_by_name $GLOBAL_SERVER server) -p $(uci_get_by_name $GLOBAL_SERVER server_port) -l $tcp_port $auth + #gen_config_file $GLOBAL_SERVER $type 1 $tcp_port + #for i in $(seq 1 $threads); do + # ln_start_bin $(first_type redsocks2) redsocks2 -c $tcp_config_file + #done + echolog "Main node:Socks5 REDIRECT/TPROXY $threads Threads Started!" + ;; + tun) + gen_config_file $GLOBAL_SERVER $type 1 $tcp_port + for i in $(seq 1 $threads); do + ln_start_bin $(first_type redsocks2) redsocks2 -c $tcp_config_file + done + echolog "Main node:Network Tunnel REDIRECT $threads Threads Started!" + ;; + esac + redir_tcp=1 + return 0 +} + +load_config() { + if [ -z "$switch_server" ]; then + GLOBAL_SERVER=$(uci_get_by_type global global_server nil) + else + GLOBAL_SERVER=$switch_server + fi + LOCAL_SERVER=$(uci_get_by_type socks5_proxy server nil) + if [ "$GLOBAL_SERVER" == "nil" ]; then + mode="tcp,udp" + _local="2" + local_config_file=$TMP_PATH/tcp-udp-ssr-local.json + start_local + return 1 + fi + UDP_RELAY_SERVER=$(uci_get_by_type global udp_relay_server nil) + SHUNT_SERVER=$(uci_get_by_type global netflix_server nil) + tcp_config_file=$TMP_PATH/tcp-only-ssr-retcp.json + case "$UDP_RELAY_SERVER" in + nil) + mode="tcp" + ;; + $GLOBAL_SERVER | same) + mode="tcp,udp" + tcp_config_file=$TMP_PATH/tcp-udp-ssr-retcp.json + ARG_UDP="-u" + UDP_RELAY_SERVER=$GLOBAL_SERVER + ;; + *) + mode="udp" + udp_config_file=$TMP_PATH/udp-only-ssr-reudp.json + ARG_UDP="-U" + start_udp + mode="tcp" + ;; + esac + case "$LOCAL_SERVER" in + nil) + _local="0" + ;; + $GLOBAL_SERVER | same) + _local="1" + LOCAL_SERVER=$GLOBAL_SERVER + local_config_file=$TMP_PATH/tcp-udp-ssr-local.json + start_local + local_enable=0 + ;; + $SHUNT_SERVER) + _local="3" + local_config_file=$TMP_PATH/tcp-udp-ssr-local.json + start_local + ;; + *) + _local="2" + local_config_file=$TMP_PATH/tcp-udp-ssr-local.json + start_local + ;; + esac + case "$SHUNT_SERVER" in + nil) + shunt="0" + ;; + $GLOBAL_SERVER | same) + shunt="1" + SHUNT_SERVER=$GLOBAL_SERVER + ;; + $LOCAL_SERVER) + shunt="$tmp_shunt_port" + shunt_config_file=$TMP_PATH/tcp-udp-ssr-local.json + shunt_dns_config_file=$TMP_PATH/shunt-dns-ssr-plus.json + start_shunt + ;; + *) + shunt="$tmp_shunt_port" + shunt_config_file=$TMP_PATH/shunt-ssr-retcp.json + shunt_dns_config_file=$TMP_PATH/shunt-dns-ssr-plus.json + start_shunt + ;; + esac + return 0 +} + +check_server() { + ENABLE_SERVER=$(uci_get_by_type global global_server nil) + if [ "$ENABLE_SERVER" == "nil" ]; then + return 1 + else + local STYPE=$(uci_get_by_name $ENABLE_SERVER type nil) + if [ "$STYPE" == "nil" ]; then + local CFGID=$(uci_get_by_cfgid servers type nil) + if [ "$CFGID" == "nil" ]; then + uci_set_by_type global global_server 'nil' + else + uci_set_by_type global global_server $CFGID + fi + /etc/init.d/shadowsocksr restart + fi + fi +} + +start_server() { + [ "$(uci_get_by_type server_global enable_server 0)" == "0" ] && return 0 + server_service() { + [ "$(uci_get_by_name $1 enable 0)" == "0" ] && return 1 + let server_count=server_count+1 + if [ "$server_count" == "1" ]; then + if ! (iptables-save -t filter | grep SSR-SERVER-RULE >/dev/null); then + iptables -N SSR-SERVER-RULE && iptables -t filter -I INPUT -j SSR-SERVER-RULE + fi + fi + local type=$(uci_get_by_name $1 type) + case "$type" in + ss | ssr) + gen_service_file ${type} $1 $TMP_PATH/ssr-server$server_count.json + ln_start_bin $(first_type ${type}server ${type}-server) ${type}-server -c $TMP_PATH/ssr-server$server_count.json + echolog "Server: $(get_name ${type}) Server$server_count Started!" + ;; + socks5) + [ -e /proc/sys/net/ipv6 ] && local listenip='-i ::' + ln_start_bin $(first_type microsocks) microsocks $listenip -p $(uci_get_by_name $1 server_port) -1 -u $(uci_get_by_name $1 username) -P $(uci_get_by_name $1 password) ssr-server$server_count + echolog "Server:Socks5 Server$server_count Started!" + ;; + esac + iptables -t filter -A SSR-SERVER-RULE -p tcp --dport $(uci_get_by_name $1 server_port) -j ACCEPT + iptables -t filter -A SSR-SERVER-RULE -p udp --dport $(uci_get_by_name $1 server_port) -j ACCEPT + return 0 + } + gen_serv_include() { + local FWI=$(uci get firewall.shadowsocksr.path 2>/dev/null) + [ -n "$FWI" ] || return 0 + if [ ! -f $FWI ]; then + echo '#!/bin/sh' >$FWI + fi + extract_rules() { + echo "*filter" + iptables-save -t filter | grep SSR-SERVER-RULE | sed -e "s/^-A INPUT/-I INPUT/" + echo 'COMMIT' + } + cat <<-EOF >>$FWI + iptables-save -c | grep -v "SSR-SERVER" | iptables-restore -c + iptables-restore -n <<-EOT + $(extract_rules) + EOT + EOF + } + + config_load $NAME + config_foreach server_service server_config + gen_serv_include + return 0 +} + +start_switch() { + if [ "$(uci_get_by_type global enable_switch 0)" == "1" ]; then + if [ -z "$switch_server" ]; then + local switch_time=$(uci_get_by_type global switch_time)s + local switch_timeout=$(uci_get_by_type global switch_timeout) + service_start /usr/bin/ssr-switch start $switch_time $switch_timeout + fi + fi +} + +start_monitor() { + if [ $(uci_get_by_type global monitor_enable 1) == "1" ]; then + let total_count=server_count+redir_tcp+redir_udp+kcp_enable_flag+local_enable+pdnsd_enable_flag + if [ $total_count -gt 0 ]; then + service_start /usr/bin/ssr-monitor $server_count $redir_tcp $redir_udp $kcp_enable_flag $local_enable $pdnsd_enable_flag + fi + fi +} + +start_rules() { + local server=$(get_host_ip $GLOBAL_SERVER) + local local_port=$(uci_get_by_name $GLOBAL_SERVER local_port) + local lan_ac_ips=$(uci_get_by_type access_control lan_ac_ips) + local lan_ac_mode=$(uci_get_by_type access_control lan_ac_mode) + if [ "$kcp_enable_flag" == "0" -a "$redir_udp" == "1" ]; then + local udp_server=$(get_host_ip $UDP_RELAY_SERVER) + local udp_local_port=$tmp_udp_port + fi + if [ "$shunt" != "0" ]; then + local shunt_ip=$(get_host_ip $SHUNT_SERVER) + fi + if [ -n "$lan_ac_ips" ]; then + case "$lan_ac_mode" in + w | W | b | B) local ac_ips="$lan_ac_mode$lan_ac_ips" ;; + esac + fi + gfwmode() { + case "$(uci_get_by_type global run_mode)" in + gfw) echo "-g" ;; + router) echo "-r" ;; + oversea) echo "-c" ;; + all) echo "-z" ;; + esac + } + if [ "$(uci_get_by_type global dports 1)" == "2" ]; then + local proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443,853,9418" + fi + get_arg_out() { + case "$(uci_get_by_type access_control router_proxy 1)" in + 1) echo "-o" ;; + 2) echo "-O" ;; + esac + } + /usr/share/shadowsocksr/gfw2ipset.sh + /usr/bin/ssr-rules \ + -s "$server" \ + -l "$local_port" \ + -S "$udp_server" \ + -L "$udp_local_port" \ + -a "$ac_ips" \ + -i "/etc/ssrplus/china_ssr.txt" \ + -b "$(uci_get_by_type access_control wan_bp_ips)" \ + -w "$(uci_get_by_type access_control wan_fw_ips)" \ + -B "$(uci_get_by_type access_control lan_bp_ips)" \ + -p "$(uci_get_by_type access_control lan_fp_ips)" \ + -G "$(uci_get_by_type access_control lan_gm_ips)" \ + -m "$(uci_get_by_type access_control Interface)" \ + -D "$proxyport" \ + -F "$shunt" \ + -N "$shunt_ip" \ + -M "$(uci_get_by_type global netflix_proxy 0)" \ + -I "/etc/ssrplus/netflixip.list" \ + $(get_arg_out) $(gfwmode) $ARG_UDP + return $? +} + +start() { + set_lock + echolog "----------start------------" + mkdir -p /var/run /var/lock /var/log /tmp/dnsmasq.d $TMP_BIN_PATH $TMP_DNSMASQ_PATH + echo "conf-dir=${TMP_DNSMASQ_PATH}" >"/tmp/dnsmasq.d/dnsmasq-ssrplus.conf" + if load_config; then + Start_Run + start_rules + start_dns + add_cron + start_switch + else + echolog "未启动主节点,禁止连接的域名正在加载。" + cat /etc/ssrplus/deny.list | sed '/^$/d' | sed '/#/d' | sed "/.*/s/.*/address=\/&\//" >$TMP_DNSMASQ_PATH/denylist.conf + echolog "禁止连接的域名加载完毕。" + if [ "$(uci_get_by_type global adblock 0)" == "1" ]; then + echolog "未启动主节点,广告过滤正在加载。" + cp -f /etc/ssrplus/ad.conf $TMP_DNSMASQ_PATH/ + if [ -f "$TMP_DNSMASQ_PATH/ad.conf" ]; then + for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + fi + echolog "广告过滤加载完毕。" + fi + fi + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + check_server + start_server + start_monitor + clean_log + echolog "-----------end------------" + unset_lock +} + +boot() { + echolog "boot!" + mkdir -p /var/run /var/lock /var/log /tmp/dnsmasq.d $TMP_BIN_PATH $TMP_DNSMASQ_PATH + ulimit -n 65535 + start +} + +stop() { + unlock + set_lock + /usr/bin/ssr-rules -f + local srulecount=$(iptables -L | grep SSR-SERVER-RULE | wc -l) + if [ $srulecount -gt 0 ]; then + iptables -F SSR-SERVER-RULE + iptables -t filter -D INPUT -j SSR-SERVER-RULE + iptables -X SSR-SERVER-RULE 2>/dev/null + fi + if [ -z "$switch_server" ]; then + $PS -w | grep -v "grep" | grep ssr-switch | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & + rm -f /var/lock/ssr-switch.lock + killall -q -9 kcptun-client + fi + $PS -w | grep -v "grep" | grep ssr-monitor | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & + $PS -w | grep -v "grep" | grep "sleep 0000" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & + $PS -w | grep -v "grep" | grep "$TMP_PATH" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & + killall -q -9 v2ray-plugin obfs-local xray-plugin + rm -f /var/lock/ssr-monitor.lock + if [ -f "/tmp/dnsmasq.d/dnsmasq-ssrplus.conf" ]; then + rm -rf /tmp/dnsmasq.d/dnsmasq-ssrplus.conf $TMP_DNSMASQ_PATH $TMP_PATH/*-ssr-*.json $TMP_PATH/ssr-server*.json + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + fi + del_cron + unset_lock +} + +reset() { + stop + set_lock + rm -rf /etc/config/shadowsocksr $LOG_FILE + touch /etc/config/shadowsocksr $LOG_FILE + uci -q batch <<-EOF >/dev/null + add shadowsocksr global + set shadowsocksr.@global[0].global_server='nil' + set shadowsocksr.@global[0].netflix_server='nil' + set shadowsocksr.@global[0].netflix_proxy='0' + set shadowsocksr.@global[0].threads='0' + set shadowsocksr.@global[0].run_mode='router' + set shadowsocksr.@global[0].dports='2' + set shadowsocksr.@global[0].pdnsd_enable='1' + set shadowsocksr.@global[0].tunnel_forward='8.8.4.4:53' + set shadowsocksr.@global[0].monitor_enable='1' + set shadowsocksr.@global[0].enable_switch='1' + set shadowsocksr.@global[0].switch_time='667' + set shadowsocksr.@global[0].switch_timeout='5' + set shadowsocksr.@global[0].switch_try_count='3' + set shadowsocksr.@global[0].gfwlist_url='https://cdn.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt' + set shadowsocksr.@global[0].chnroute_url='https://ispip.clang.cn/all_cn.txt' + set shadowsocksr.@global[0].nfip_url='https://cdn.jsdelivr.net/gh/QiuSimons/Netflix_IP/NF_only.txt' + set shadowsocksr.@global[0].adblock_url='https://anti-ad.net/anti-ad-for-dnsmasq.conf' + add shadowsocksr server_subscribe + set shadowsocksr.@server_subscribe[0].proxy='0' + set shadowsocksr.@server_subscribe[0].auto_update_time='2' + set shadowsocksr.@server_subscribe[0].auto_update='1' + set shadowsocksr.@server_subscribe[0].filter_words='过期时间/剩余流量/QQ群/官网/防失联地址/回国' + set shadowsocksr.@server_subscribe[0].save_words='' + add shadowsocksr access_control + set shadowsocksr.@access_control[0].lan_ac_mode='0' + set shadowsocksr.@access_control[0].router_proxy='1' + add_list shadowsocksr.@access_control[0].wan_fw_ips=149.154.160.0/20 + add_list shadowsocksr.@access_control[0].wan_fw_ips=67.198.55.0/24 + add_list shadowsocksr.@access_control[0].wan_fw_ips=91.108.4.0/22 + add_list shadowsocksr.@access_control[0].wan_fw_ips=91.108.56.0/22 + add_list shadowsocksr.@access_control[0].wan_fw_ips=109.239.140.0/24 + add_list shadowsocksr.@access_control[0].Interface='lan' + add shadowsocksr socks5_proxy + set shadowsocksr.@socks5_proxy[0].server='nil' + set shadowsocksr.@socks5_proxy[0].local_port='1080' + add shadowsocksr server_global + set shadowsocksr.@server_global[0].enable_server='0' + commit shadowsocksr + EOF + unset_lock +} diff --git a/luci-app-ssr-plus/root/etc/ssrplus/ad.conf b/luci-app-ssr-plus/root/etc/ssrplus/ad.conf new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-ssr-plus/root/etc/ssrplus/black.list b/luci-app-ssr-plus/root/etc/ssrplus/black.list new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-ssr-plus/root/etc/ssrplus/china_ssr.txt b/luci-app-ssr-plus/root/etc/ssrplus/china_ssr.txt new file mode 100644 index 00000000..3d3bb2d7 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/china_ssr.txt @@ -0,0 +1,8621 @@ +1.0.1.0/24 +1.0.2.0/23 +1.0.8.0/21 +1.0.32.0/19 +1.1.0.0/24 +1.1.2.0/23 +1.1.4.0/22 +1.1.8.0/24 +1.1.9.0/24 +1.1.10.0/23 +1.1.12.0/22 +1.1.16.0/20 +1.1.32.0/19 +1.2.0.0/23 +1.2.2.0/24 +1.2.4.0/24 +1.2.5.0/24 +1.2.6.0/23 +1.2.8.0/24 +1.2.9.0/24 +1.2.10.0/23 +1.2.12.0/22 +1.2.16.0/20 +1.2.32.0/19 +1.2.64.0/18 +1.3.0.0/16 +1.4.1.0/24 +1.4.2.0/23 +1.4.4.0/24 +1.4.5.0/24 +1.4.6.0/23 +1.4.8.0/21 +1.4.16.0/20 +1.4.32.0/19 +1.4.64.0/18 +1.8.0.0/16 +1.10.0.0/21 +1.10.8.0/23 +1.10.11.0/24 +1.10.12.0/22 +1.10.16.0/20 +1.10.32.0/19 +1.10.64.0/18 +1.12.0.0/14 +1.24.0.0/13 +1.45.0.0/16 +1.48.0.0/15 +1.50.0.0/16 +1.51.0.0/16 +1.56.0.0/13 +1.68.0.0/14 +1.80.0.0/13 +1.88.0.0/14 +1.92.0.0/15 +1.94.0.0/15 +1.116.0.0/15 +1.118.0.0/16 +1.119.0.0/17 +1.119.128.0/17 +1.180.0.0/14 +1.184.0.0/15 +1.188.0.0/14 +1.192.0.0/13 +1.202.0.0/15 +1.204.0.0/14 +14.0.0.0/21 +14.0.12.0/22 +14.1.0.0/22 +14.1.24.0/22 +14.1.96.0/22 +14.1.108.0/22 +14.16.0.0/12 +14.102.128.0/22 +14.102.156.0/22 +14.102.180.0/22 +14.103.0.0/16 +14.104.0.0/13 +14.112.0.0/12 +14.130.0.0/15 +14.134.0.0/15 +14.144.0.0/12 +14.192.60.0/22 +14.192.76.0/22 +14.196.0.0/15 +14.204.0.0/15 +14.208.0.0/12 +27.0.128.0/22 +27.0.132.0/22 +27.0.160.0/22 +27.0.164.0/22 +27.0.188.0/22 +27.0.204.0/22 +27.0.208.0/22 +27.0.212.0/22 +27.8.0.0/13 +27.16.0.0/12 +27.34.232.0/21 +27.36.0.0/14 +27.40.0.0/13 +27.50.40.0/21 +27.50.128.0/17 +27.54.72.0/21 +27.54.152.0/21 +27.54.192.0/18 +27.98.208.0/20 +27.98.224.0/19 +27.99.128.0/17 +27.103.0.0/16 +27.106.128.0/18 +27.106.204.0/22 +27.109.32.0/19 +27.109.124.0/22 +27.112.0.0/18 +27.112.80.0/20 +27.112.112.0/22 +27.112.116.0/22 +27.113.128.0/18 +27.115.0.0/17 +27.116.44.0/22 +27.121.72.0/21 +27.121.120.0/21 +27.128.0.0/15 +27.131.220.0/22 +27.144.0.0/16 +27.148.0.0/14 +27.152.0.0/13 +27.184.0.0/13 +27.192.0.0/11 +27.224.0.0/14 +36.0.0.0/22 +36.0.8.0/21 +36.0.16.0/20 +36.0.32.0/19 +36.0.64.0/18 +36.0.128.0/17 +36.1.0.0/16 +36.4.0.0/14 +36.16.0.0/12 +36.32.0.0/14 +36.36.0.0/16 +36.37.0.0/19 +36.37.36.0/23 +36.37.39.0/24 +36.37.40.0/21 +36.37.48.0/20 +36.40.0.0/13 +36.48.0.0/15 +36.51.0.0/16 +36.56.0.0/13 +36.96.0.0/11 +36.128.0.0/10 +36.192.0.0/11 +36.248.0.0/14 +36.254.0.0/16 +36.255.116.0/22 +36.255.128.0/22 +36.255.164.0/22 +36.255.172.0/22 +36.255.176.0/22 +39.0.0.0/24 +39.0.2.0/23 +39.0.4.0/22 +39.0.8.0/21 +39.0.16.0/20 +39.0.32.0/19 +39.0.64.0/18 +39.0.128.0/17 +39.64.0.0/11 +39.96.0.0/13 +39.104.0.0/14 +39.108.0.0/16 +39.128.0.0/10 +40.72.0.0/15 +40.125.128.0/17 +40.126.64.0/18 +42.0.0.0/22 +42.0.8.0/21 +42.0.16.0/21 +42.0.24.0/22 +42.0.32.0/19 +42.0.128.0/17 +42.1.0.0/19 +42.1.32.0/20 +42.1.48.0/21 +42.1.56.0/22 +42.1.128.0/17 +42.4.0.0/14 +42.48.0.0/15 +42.50.0.0/16 +42.51.0.0/16 +42.52.0.0/14 +42.56.0.0/14 +42.62.0.0/17 +42.62.128.0/19 +42.62.160.0/20 +42.62.180.0/22 +42.62.184.0/21 +42.63.0.0/16 +42.80.0.0/15 +42.83.64.0/20 +42.83.80.0/22 +42.83.88.0/21 +42.83.96.0/19 +42.83.128.0/17 +42.84.0.0/14 +42.88.0.0/13 +42.96.64.0/19 +42.96.96.0/21 +42.96.108.0/22 +42.96.112.0/20 +42.96.128.0/17 +42.97.0.0/16 +42.99.0.0/18 +42.99.64.0/19 +42.99.96.0/20 +42.99.112.0/22 +42.99.120.0/21 +42.100.0.0/14 +42.120.0.0/15 +42.122.0.0/16 +42.123.0.0/19 +42.123.36.0/22 +42.123.40.0/21 +42.123.48.0/20 +42.123.64.0/18 +42.123.128.0/17 +42.128.0.0/12 +42.156.0.0/19 +42.156.36.0/22 +42.156.40.0/21 +42.156.48.0/20 +42.156.64.0/18 +42.156.128.0/17 +42.157.0.0/16 +42.158.0.0/16 +42.159.0.0/16 +42.160.0.0/12 +42.176.0.0/13 +42.184.0.0/15 +42.186.0.0/16 +42.187.0.0/18 +42.187.64.0/19 +42.187.96.0/20 +42.187.112.0/21 +42.187.120.0/22 +42.187.128.0/17 +42.192.0.0/15 +42.194.0.0/21 +42.194.8.0/22 +42.194.12.0/22 +42.194.16.0/20 +42.194.32.0/19 +42.194.64.0/18 +42.194.128.0/17 +42.195.0.0/16 +42.196.0.0/14 +42.201.0.0/17 +42.202.0.0/15 +42.204.0.0/14 +42.208.0.0/12 +42.224.0.0/12 +42.240.0.0/17 +42.240.128.0/17 +42.242.0.0/15 +42.244.0.0/14 +42.248.0.0/13 +43.136.0.0/13 +43.144.0.0/12 +43.160.0.0/11 +43.224.12.0/22 +43.224.24.0/22 +43.224.44.0/22 +43.224.52.0/22 +43.224.56.0/22 +43.224.64.0/22 +43.224.68.0/22 +43.224.72.0/22 +43.224.80.0/22 +43.224.100.0/22 +43.224.144.0/22 +43.224.160.0/22 +43.224.176.0/22 +43.224.184.0/22 +43.224.200.0/22 +43.224.204.0/22 +43.224.208.0/22 +43.224.212.0/22 +43.224.216.0/22 +43.224.240.0/22 +43.225.76.0/22 +43.225.84.0/22 +43.225.120.0/22 +43.225.124.0/22 +43.225.140.0/22 +43.225.172.0/22 +43.225.180.0/22 +43.225.208.0/22 +43.225.216.0/22 +43.225.220.0/22 +43.225.224.0/22 +43.225.228.0/22 +43.225.232.0/22 +43.225.236.0/22 +43.225.240.0/22 +43.225.244.0/22 +43.225.252.0/22 +43.226.32.0/22 +43.226.36.0/22 +43.226.40.0/22 +43.226.44.0/22 +43.226.48.0/22 +43.226.52.0/22 +43.226.56.0/22 +43.226.60.0/22 +43.226.64.0/22 +43.226.68.0/22 +43.226.72.0/22 +43.226.76.0/22 +43.226.80.0/22 +43.226.84.0/22 +43.226.88.0/22 +43.226.92.0/22 +43.226.96.0/22 +43.226.100.0/22 +43.226.104.0/22 +43.226.108.0/22 +43.226.112.0/22 +43.226.116.0/22 +43.226.120.0/22 +43.226.128.0/22 +43.226.132.0/22 +43.226.136.0/22 +43.226.140.0/22 +43.226.144.0/22 +43.226.148.0/22 +43.226.152.0/22 +43.226.156.0/22 +43.226.160.0/22 +43.226.164.0/22 +43.226.168.0/22 +43.226.172.0/22 +43.226.176.0/22 +43.226.180.0/22 +43.226.184.0/22 +43.226.188.0/22 +43.226.192.0/22 +43.226.196.0/22 +43.226.200.0/22 +43.226.204.0/22 +43.226.208.0/22 +43.226.212.0/22 +43.226.236.0/22 +43.226.240.0/22 +43.226.244.0/22 +43.226.248.0/22 +43.226.252.0/22 +43.227.0.0/22 +43.227.4.0/22 +43.227.8.0/22 +43.227.32.0/22 +43.227.36.0/22 +43.227.40.0/22 +43.227.44.0/22 +43.227.48.0/22 +43.227.52.0/22 +43.227.56.0/22 +43.227.60.0/22 +43.227.64.0/22 +43.227.68.0/22 +43.227.72.0/22 +43.227.76.0/22 +43.227.80.0/22 +43.227.84.0/22 +43.227.88.0/22 +43.227.92.0/22 +43.227.96.0/22 +43.227.100.0/22 +43.227.104.0/22 +43.227.136.0/22 +43.227.140.0/22 +43.227.144.0/22 +43.227.152.0/22 +43.227.156.0/22 +43.227.160.0/22 +43.227.164.0/22 +43.227.168.0/22 +43.227.172.0/22 +43.227.176.0/22 +43.227.180.0/22 +43.227.188.0/22 +43.227.192.0/22 +43.227.196.0/22 +43.227.200.0/22 +43.227.204.0/22 +43.227.208.0/22 +43.227.212.0/22 +43.227.216.0/22 +43.227.220.0/22 +43.227.232.0/22 +43.227.248.0/22 +43.227.252.0/22 +43.228.0.0/22 +43.228.4.0/22 +43.228.8.0/22 +43.228.12.0/22 +43.228.16.0/22 +43.228.20.0/22 +43.228.24.0/22 +43.228.28.0/22 +43.228.32.0/22 +43.228.36.0/22 +43.228.40.0/22 +43.228.44.0/22 +43.228.48.0/22 +43.228.52.0/22 +43.228.56.0/22 +43.228.60.0/22 +43.228.64.0/22 +43.228.68.0/22 +43.228.76.0/22 +43.228.100.0/22 +43.228.116.0/22 +43.228.120.0/22 +43.228.132.0/22 +43.228.136.0/22 +43.228.148.0/22 +43.228.152.0/22 +43.228.188.0/22 +43.228.204.0/22 +43.228.240.0/22 +43.229.40.0/22 +43.229.48.0/22 +43.229.56.0/22 +43.229.96.0/22 +43.229.120.0/22 +43.229.136.0/22 +43.229.140.0/22 +43.229.144.0/22 +43.229.168.0/22 +43.229.172.0/22 +43.229.176.0/22 +43.229.180.0/22 +43.229.184.0/22 +43.229.188.0/22 +43.229.192.0/22 +43.229.196.0/22 +43.229.216.0/22 +43.229.220.0/22 +43.229.232.0/22 +43.229.236.0/22 +43.230.20.0/22 +43.230.32.0/22 +43.230.68.0/22 +43.230.72.0/22 +43.230.84.0/22 +43.230.124.0/22 +43.230.136.0/22 +43.230.220.0/22 +43.230.224.0/22 +43.230.228.0/22 +43.230.232.0/22 +43.230.236.0/22 +43.230.240.0/22 +43.230.244.0/22 +43.230.248.0/22 +43.230.252.0/22 +43.231.32.0/22 +43.231.36.0/22 +43.231.40.0/22 +43.231.44.0/22 +43.231.80.0/22 +43.231.84.0/22 +43.231.88.0/22 +43.231.92.0/22 +43.231.96.0/22 +43.231.100.0/22 +43.231.104.0/22 +43.231.108.0/22 +43.231.136.0/22 +43.231.140.0/22 +43.231.144.0/22 +43.231.148.0/22 +43.231.152.0/22 +43.231.156.0/22 +43.231.160.0/22 +43.231.164.0/22 +43.231.168.0/22 +43.231.172.0/22 +43.231.176.0/22 +43.231.180.0/22 +43.236.0.0/22 +43.236.4.0/22 +43.236.8.0/22 +43.236.12.0/22 +43.236.16.0/22 +43.236.20.0/22 +43.236.24.0/22 +43.236.28.0/22 +43.236.32.0/22 +43.236.36.0/22 +43.236.40.0/22 +43.236.44.0/22 +43.236.48.0/22 +43.236.52.0/22 +43.236.56.0/22 +43.236.60.0/22 +43.236.64.0/22 +43.236.68.0/22 +43.236.72.0/22 +43.236.76.0/22 +43.236.80.0/22 +43.236.84.0/22 +43.236.88.0/22 +43.236.92.0/22 +43.236.96.0/22 +43.236.100.0/22 +43.236.104.0/22 +43.236.108.0/22 +43.236.112.0/22 +43.236.116.0/22 +43.236.120.0/22 +43.236.124.0/22 +43.236.128.0/22 +43.236.132.0/22 +43.236.136.0/22 +43.236.140.0/22 +43.236.144.0/22 +43.236.148.0/22 +43.236.152.0/22 +43.236.156.0/22 +43.236.160.0/22 +43.236.164.0/22 +43.236.168.0/22 +43.236.172.0/22 +43.236.176.0/22 +43.236.180.0/22 +43.236.184.0/22 +43.236.188.0/22 +43.236.192.0/22 +43.236.196.0/22 +43.236.200.0/22 +43.236.204.0/22 +43.236.208.0/22 +43.236.212.0/22 +43.236.216.0/22 +43.236.220.0/22 +43.236.224.0/22 +43.236.228.0/22 +43.236.232.0/22 +43.236.236.0/22 +43.236.240.0/22 +43.236.244.0/22 +43.236.248.0/22 +43.236.252.0/22 +43.237.0.0/22 +43.237.4.0/22 +43.237.8.0/22 +43.237.12.0/22 +43.237.16.0/22 +43.237.20.0/22 +43.237.24.0/22 +43.237.28.0/22 +43.237.32.0/22 +43.237.36.0/22 +43.237.40.0/22 +43.237.44.0/22 +43.237.48.0/22 +43.237.52.0/22 +43.237.56.0/22 +43.237.60.0/22 +43.237.64.0/22 +43.237.68.0/22 +43.237.72.0/22 +43.237.76.0/22 +43.237.80.0/22 +43.237.84.0/22 +43.237.88.0/22 +43.237.92.0/22 +43.237.96.0/22 +43.237.100.0/22 +43.237.104.0/22 +43.237.108.0/22 +43.237.112.0/22 +43.237.116.0/22 +43.237.120.0/22 +43.237.124.0/22 +43.237.128.0/22 +43.237.132.0/22 +43.237.136.0/22 +43.237.140.0/22 +43.237.144.0/22 +43.237.148.0/22 +43.237.152.0/22 +43.237.156.0/22 +43.237.160.0/22 +43.237.164.0/22 +43.237.168.0/22 +43.237.172.0/22 +43.237.176.0/22 +43.237.180.0/22 +43.237.184.0/22 +43.237.188.0/22 +43.237.192.0/22 +43.237.196.0/22 +43.237.200.0/22 +43.237.204.0/22 +43.237.208.0/22 +43.237.212.0/22 +43.237.216.0/22 +43.237.220.0/22 +43.237.224.0/22 +43.237.228.0/22 +43.237.232.0/22 +43.237.236.0/22 +43.237.240.0/22 +43.237.244.0/22 +43.237.248.0/22 +43.237.252.0/22 +43.238.0.0/22 +43.238.4.0/22 +43.238.8.0/22 +43.238.12.0/22 +43.238.16.0/22 +43.238.20.0/22 +43.238.24.0/22 +43.238.28.0/22 +43.238.32.0/22 +43.238.36.0/22 +43.238.40.0/22 +43.238.44.0/22 +43.238.48.0/22 +43.238.52.0/22 +43.238.56.0/22 +43.238.60.0/22 +43.238.64.0/22 +43.238.68.0/22 +43.238.72.0/22 +43.238.76.0/22 +43.238.80.0/22 +43.238.84.0/22 +43.238.88.0/22 +43.238.92.0/22 +43.238.96.0/22 +43.238.100.0/22 +43.238.104.0/22 +43.238.108.0/22 +43.238.112.0/22 +43.238.116.0/22 +43.238.120.0/22 +43.238.124.0/22 +43.238.128.0/22 +43.238.132.0/22 +43.238.136.0/22 +43.238.140.0/22 +43.238.144.0/22 +43.238.148.0/22 +43.238.152.0/22 +43.238.156.0/22 +43.238.160.0/22 +43.238.164.0/22 +43.238.168.0/22 +43.238.172.0/22 +43.238.176.0/22 +43.238.180.0/22 +43.238.184.0/22 +43.238.188.0/22 +43.238.192.0/22 +43.238.196.0/22 +43.238.200.0/22 +43.238.204.0/22 +43.238.208.0/22 +43.238.212.0/22 +43.238.216.0/22 +43.238.220.0/22 +43.238.224.0/22 +43.238.228.0/22 +43.238.232.0/22 +43.238.236.0/22 +43.238.240.0/22 +43.238.244.0/22 +43.238.248.0/22 +43.238.252.0/22 +43.239.0.0/22 +43.239.4.0/22 +43.239.8.0/21 +43.239.16.0/22 +43.239.20.0/22 +43.239.24.0/22 +43.239.28.0/22 +43.239.32.0/22 +43.239.36.0/22 +43.239.40.0/22 +43.239.44.0/22 +43.239.48.0/22 +43.239.116.0/22 +43.239.120.0/22 +43.239.172.0/22 +43.239.176.0/22 +43.240.0.0/22 +43.240.56.0/22 +43.240.60.0/22 +43.240.68.0/22 +43.240.72.0/22 +43.240.76.0/22 +43.240.84.0/22 +43.240.124.0/22 +43.240.128.0/22 +43.240.132.0/22 +43.240.136.0/22 +43.240.144.0/22 +43.240.156.0/22 +43.240.160.0/22 +43.240.164.0/22 +43.240.168.0/22 +43.240.172.0/22 +43.240.176.0/22 +43.240.180.0/22 +43.240.184.0/22 +43.240.188.0/22 +43.240.192.0/22 +43.240.196.0/22 +43.240.200.0/22 +43.240.204.0/22 +43.240.208.0/22 +43.240.212.0/22 +43.240.216.0/22 +43.240.220.0/22 +43.240.236.0/22 +43.240.240.0/22 +43.240.244.0/22 +43.240.248.0/22 +43.240.252.0/22 +43.241.0.0/22 +43.241.4.0/22 +43.241.8.0/22 +43.241.12.0/22 +43.241.16.0/22 +43.241.20.0/22 +43.241.48.0/22 +43.241.76.0/22 +43.241.80.0/22 +43.241.84.0/22 +43.241.88.0/22 +43.241.92.0/22 +43.241.112.0/22 +43.241.168.0/22 +43.241.172.0/22 +43.241.176.0/22 +43.241.180.0/22 +43.241.184.0/22 +43.241.196.0/22 +43.241.208.0/22 +43.241.212.0/22 +43.241.216.0/22 +43.241.220.0/22 +43.241.224.0/22 +43.241.228.0/22 +43.241.232.0/22 +43.241.236.0/22 +43.241.240.0/22 +43.241.248.0/22 +43.241.252.0/22 +43.242.8.0/22 +43.242.12.0/22 +43.242.16.0/22 +43.242.20.0/22 +43.242.24.0/22 +43.242.28.0/22 +43.242.44.0/22 +43.242.48.0/22 +43.242.52.0/22 +43.242.56.0/22 +43.242.60.0/22 +43.242.64.0/22 +43.242.72.0/22 +43.242.76.0/22 +43.242.80.0/22 +43.242.84.0/22 +43.242.88.0/22 +43.242.92.0/22 +43.242.96.0/22 +43.242.144.0/22 +43.242.148.0/22 +43.242.152.0/22 +43.242.156.0/22 +43.242.160.0/22 +43.242.164.0/22 +43.242.168.0/22 +43.242.180.0/22 +43.242.188.0/22 +43.242.192.0/22 +43.242.196.0/22 +43.242.204.0/22 +43.242.216.0/22 +43.242.220.0/22 +43.242.252.0/22 +43.243.4.0/22 +43.243.8.0/22 +43.243.12.0/22 +43.243.16.0/22 +43.243.24.0/22 +43.243.88.0/22 +43.243.128.0/22 +43.243.136.0/22 +43.243.144.0/22 +43.243.148.0/22 +43.243.156.0/22 +43.243.180.0/22 +43.243.228.0/22 +43.243.232.0/22 +43.243.244.0/22 +43.246.0.0/22 +43.246.4.0/22 +43.246.8.0/22 +43.246.12.0/22 +43.246.16.0/22 +43.246.20.0/22 +43.246.24.0/22 +43.246.28.0/22 +43.246.32.0/22 +43.246.36.0/22 +43.246.40.0/22 +43.246.44.0/22 +43.246.48.0/22 +43.246.52.0/22 +43.246.56.0/22 +43.246.60.0/22 +43.246.64.0/22 +43.246.68.0/22 +43.246.72.0/22 +43.246.76.0/22 +43.246.80.0/22 +43.246.84.0/22 +43.246.88.0/22 +43.246.92.0/22 +43.246.96.0/22 +43.246.112.0/22 +43.246.212.0/22 +43.246.228.0/22 +43.247.4.0/22 +43.247.8.0/22 +43.247.44.0/22 +43.247.48.0/22 +43.247.68.0/22 +43.247.76.0/22 +43.247.84.0/22 +43.247.88.0/22 +43.247.92.0/22 +43.247.96.0/22 +43.247.100.0/22 +43.247.108.0/22 +43.247.112.0/22 +43.247.148.0/22 +43.247.152.0/22 +43.247.176.0/22 +43.247.180.0/22 +43.247.184.0/22 +43.247.188.0/22 +43.247.196.0/22 +43.247.200.0/22 +43.247.204.0/22 +43.247.208.0/22 +43.247.212.0/22 +43.247.216.0/22 +43.247.220.0/22 +43.247.224.0/22 +43.247.228.0/22 +43.247.232.0/22 +43.247.236.0/22 +43.247.240.0/22 +43.247.244.0/22 +43.247.248.0/22 +43.247.252.0/22 +43.248.0.0/22 +43.248.4.0/22 +43.248.20.0/22 +43.248.28.0/22 +43.248.48.0/22 +43.248.76.0/22 +43.248.80.0/22 +43.248.84.0/22 +43.248.88.0/22 +43.248.92.0/22 +43.248.96.0/22 +43.248.100.0/22 +43.248.104.0/22 +43.248.108.0/22 +43.248.112.0/22 +43.248.116.0/22 +43.248.120.0/22 +43.248.124.0/22 +43.248.128.0/22 +43.248.132.0/22 +43.248.136.0/22 +43.248.140.0/22 +43.248.144.0/22 +43.248.148.0/22 +43.248.176.0/22 +43.248.180.0/22 +43.248.184.0/22 +43.248.188.0/22 +43.248.192.0/22 +43.248.196.0/22 +43.248.200.0/22 +43.248.204.0/22 +43.248.208.0/22 +43.248.228.0/22 +43.248.232.0/22 +43.248.244.0/22 +43.249.4.0/22 +43.249.8.0/22 +43.249.120.0/22 +43.249.132.0/22 +43.249.136.0/22 +43.249.144.0/22 +43.249.148.0/22 +43.249.152.0/22 +43.249.156.0/22 +43.249.160.0/22 +43.249.164.0/22 +43.249.168.0/22 +43.249.192.0/22 +43.249.236.0/22 +43.250.4.0/22 +43.250.12.0/22 +43.250.16.0/22 +43.250.20.0/22 +43.250.28.0/22 +43.250.32.0/22 +43.250.36.0/22 +43.250.72.0/22 +43.250.96.0/22 +43.250.100.0/22 +43.250.104.0/22 +43.250.108.0/22 +43.250.112.0/22 +43.250.116.0/22 +43.250.128.0/22 +43.250.144.0/22 +43.250.148.0/22 +43.250.160.0/22 +43.250.168.0/22 +43.250.172.0/22 +43.250.176.0/22 +43.250.200.0/22 +43.250.212.0/22 +43.250.216.0/22 +43.250.220.0/22 +43.250.236.0/22 +43.250.244.0/22 +43.251.4.0/22 +43.251.8.0/22 +43.251.36.0/22 +43.251.100.0/22 +43.251.116.0/22 +43.251.192.0/22 +43.251.232.0/22 +43.251.236.0/22 +43.251.244.0/22 +43.252.48.0/22 +43.252.56.0/22 +43.252.224.0/22 +43.254.0.0/22 +43.254.4.0/22 +43.254.8.0/22 +43.254.24.0/22 +43.254.36.0/22 +43.254.44.0/22 +43.254.52.0/22 +43.254.64.0/22 +43.254.72.0/22 +43.254.84.0/22 +43.254.88.0/22 +43.254.92.0/22 +43.254.100.0/22 +43.254.104.0/22 +43.254.112.0/22 +43.254.116.0/22 +43.254.128.0/22 +43.254.136.0/22 +43.254.140.0/22 +43.254.144.0/22 +43.254.148.0/22 +43.254.152.0/22 +43.254.156.0/22 +43.254.168.0/22 +43.254.172.0/22 +43.254.180.0/22 +43.254.184.0/22 +43.254.188.0/22 +43.254.192.0/22 +43.254.196.0/22 +43.254.200.0/22 +43.254.208.0/22 +43.254.220.0/22 +43.254.224.0/22 +43.254.228.0/22 +43.254.232.0/22 +43.254.236.0/22 +43.254.240.0/22 +43.254.248.0/22 +43.254.252.0/22 +43.255.0.0/22 +43.255.4.0/22 +43.255.8.0/22 +43.255.16.0/22 +43.255.48.0/22 +43.255.64.0/22 +43.255.68.0/22 +43.255.72.0/22 +43.255.76.0/22 +43.255.84.0/22 +43.255.96.0/22 +43.255.108.0/22 +43.255.144.0/22 +43.255.168.0/22 +43.255.176.0/22 +43.255.184.0/22 +43.255.192.0/22 +43.255.200.0/22 +43.255.204.0/22 +43.255.208.0/22 +43.255.212.0/22 +43.255.224.0/22 +43.255.228.0/22 +43.255.232.0/22 +43.255.244.0/22 +45.40.192.0/18 +45.65.16.0/22 +45.65.20.0/22 +45.65.24.0/22 +45.65.28.0/22 +45.112.132.0/22 +45.112.188.0/22 +45.112.208.0/22 +45.112.212.0/22 +45.112.216.0/22 +45.112.220.0/22 +45.112.228.0/22 +45.112.232.0/22 +45.112.236.0/22 +45.113.12.0/22 +45.113.16.0/22 +45.113.20.0/22 +45.113.24.0/22 +45.113.28.0/22 +45.113.40.0/22 +45.113.52.0/22 +45.113.56.0/22 +45.113.72.0/22 +45.113.144.0/22 +45.113.148.0/22 +45.113.168.0/22 +45.113.176.0/22 +45.113.184.0/22 +45.113.200.0/22 +45.113.204.0/22 +45.113.208.0/22 +45.113.212.0/22 +45.113.216.0/22 +45.113.220.0/22 +45.113.240.0/22 +45.113.252.0/22 +45.114.0.0/22 +45.114.12.0/22 +45.114.32.0/22 +45.114.40.0/22 +45.114.52.0/22 +45.114.96.0/22 +45.114.104.0/22 +45.114.124.0/22 +45.114.136.0/22 +45.114.196.0/22 +45.114.200.0/22 +45.114.228.0/22 +45.114.252.0/22 +45.115.44.0/22 +45.115.100.0/22 +45.115.120.0/22 +45.115.132.0/22 +45.115.144.0/22 +45.115.156.0/22 +45.115.164.0/22 +45.115.200.0/22 +45.115.212.0/22 +45.115.228.0/22 +45.115.236.0/22 +45.115.244.0/22 +45.115.248.0/22 +45.116.16.0/22 +45.116.24.0/22 +45.116.32.0/22 +45.116.36.0/22 +45.116.52.0/22 +45.116.96.0/22 +45.116.100.0/22 +45.116.140.0/22 +45.116.152.0/22 +45.116.208.0/22 +45.117.8.0/22 +45.117.20.0/22 +45.117.68.0/22 +45.117.124.0/22 +45.117.252.0/22 +45.119.52.0/22 +45.119.60.0/22 +45.119.64.0/22 +45.119.68.0/22 +45.119.72.0/22 +45.119.104.0/22 +45.119.116.0/22 +45.119.232.0/22 +45.120.100.0/22 +45.120.140.0/22 +45.120.164.0/22 +45.120.220.0/22 +45.120.240.0/22 +45.121.52.0/22 +45.121.64.0/22 +45.121.68.0/22 +45.121.72.0/22 +45.121.92.0/22 +45.121.96.0/22 +45.121.172.0/22 +45.121.176.0/22 +45.121.212.0/22 +45.121.240.0/22 +45.121.244.0/22 +45.121.248.0/22 +45.121.252.0/22 +45.122.0.0/22 +45.122.4.0/22 +45.122.8.0/22 +45.122.12.0/22 +45.122.16.0/22 +45.122.20.0/22 +45.122.24.0/22 +45.122.28.0/22 +45.122.32.0/22 +45.122.36.0/22 +45.122.40.0/22 +45.122.60.0/22 +45.122.64.0/22 +45.122.68.0/22 +45.122.72.0/22 +45.122.76.0/22 +45.122.80.0/22 +45.122.84.0/22 +45.122.88.0/22 +45.122.92.0/22 +45.122.96.0/21 +45.122.104.0/22 +45.122.108.0/22 +45.122.112.0/22 +45.122.116.0/22 +45.122.160.0/22 +45.122.164.0/22 +45.122.168.0/22 +45.122.172.0/22 +45.122.176.0/22 +45.122.180.0/22 +45.122.184.0/22 +45.122.188.0/22 +45.122.192.0/22 +45.122.196.0/22 +45.122.200.0/22 +45.122.204.0/22 +45.122.208.0/22 +45.122.212.0/22 +45.122.216.0/22 +45.123.28.0/22 +45.123.32.0/22 +45.123.36.0/22 +45.123.44.0/22 +45.123.48.0/22 +45.123.52.0/22 +45.123.56.0/22 +45.123.60.0/22 +45.123.64.0/22 +45.123.68.0/22 +45.123.72.0/22 +45.123.76.0/22 +45.123.80.0/22 +45.123.84.0/22 +45.123.88.0/22 +45.123.120.0/22 +45.123.128.0/22 +45.123.132.0/22 +45.123.136.0/22 +45.123.148.0/22 +45.123.152.0/22 +45.123.156.0/22 +45.123.164.0/22 +45.123.168.0/22 +45.123.172.0/22 +45.123.176.0/22 +45.123.180.0/22 +45.123.184.0/22 +45.123.204.0/22 +45.123.212.0/22 +45.123.224.0/22 +45.123.228.0/22 +45.123.232.0/22 +45.123.236.0/22 +45.123.240.0/22 +45.123.244.0/22 +45.123.248.0/22 +45.123.252.0/22 +45.124.0.0/22 +45.124.20.0/22 +45.124.28.0/22 +45.124.32.0/22 +45.124.36.0/22 +45.124.44.0/22 +45.124.68.0/22 +45.124.76.0/22 +45.124.80.0/22 +45.124.100.0/22 +45.124.124.0/22 +45.124.172.0/22 +45.124.176.0/22 +45.124.208.0/22 +45.124.248.0/22 +45.125.12.0/22 +45.125.16.0/22 +45.125.24.0/22 +45.125.28.0/22 +45.125.44.0/22 +45.125.52.0/22 +45.125.56.0/22 +45.125.76.0/22 +45.125.80.0/22 +45.125.84.0/22 +45.125.88.0/22 +45.125.92.0/22 +45.125.96.0/22 +45.125.100.0/22 +45.125.104.0/22 +45.125.136.0/22 +45.126.48.0/22 +45.126.52.0/22 +45.126.100.0/22 +45.126.108.0/22 +45.126.112.0/22 +45.126.116.0/22 +45.126.120.0/22 +45.126.212.0/22 +45.126.220.0/22 +45.127.8.0/22 +45.127.12.0/22 +45.127.96.0/22 +45.127.128.0/22 +45.127.144.0/22 +45.127.148.0/22 +45.127.156.0/22 +45.127.216.0/22 +45.248.8.0/22 +45.248.80.0/22 +45.248.84.0/22 +45.248.88.0/22 +45.248.96.0/22 +45.248.100.0/22 +45.248.104.0/22 +45.248.108.0/22 +45.248.128.0/22 +45.248.132.0/22 +45.248.204.0/22 +45.248.208.0/22 +45.248.212.0/22 +45.248.216.0/22 +45.248.220.0/22 +45.248.224.0/22 +45.248.228.0/22 +45.248.232.0/22 +45.248.236.0/22 +45.248.240.0/22 +45.248.244.0/22 +45.248.248.0/22 +45.248.252.0/22 +45.249.0.0/22 +45.249.4.0/22 +45.249.12.0/22 +45.249.16.0/22 +45.249.20.0/22 +45.249.24.0/22 +45.249.28.0/22 +45.249.32.0/22 +45.249.36.0/22 +45.249.92.0/22 +45.249.112.0/22 +45.249.188.0/22 +45.249.192.0/22 +45.249.196.0/22 +45.249.200.0/22 +45.249.204.0/22 +45.249.208.0/22 +45.249.212.0/22 +45.250.12.0/22 +45.250.16.0/22 +45.250.28.0/22 +45.250.32.0/22 +45.250.36.0/22 +45.250.40.0/22 +45.250.76.0/22 +45.250.80.0/22 +45.250.84.0/22 +45.250.88.0/22 +45.250.92.0/22 +45.250.96.0/22 +45.250.104.0/22 +45.250.108.0/22 +45.250.112.0/22 +45.250.116.0/22 +45.250.120.0/22 +45.250.124.0/22 +45.250.128.0/22 +45.250.132.0/22 +45.250.136.0/22 +45.250.140.0/22 +45.250.144.0/22 +45.250.148.0/22 +45.250.152.0/22 +45.250.164.0/22 +45.250.180.0/22 +45.250.184.0/22 +45.250.188.0/22 +45.250.192.0/22 +45.251.0.0/22 +45.251.8.0/22 +45.251.16.0/22 +45.251.20.0/22 +45.251.52.0/22 +45.251.84.0/22 +45.251.88.0/22 +45.251.92.0/22 +45.251.96.0/22 +45.251.100.0/22 +45.251.120.0/22 +45.251.124.0/22 +45.251.136.0/22 +45.251.140.0/22 +45.251.144.0/22 +45.251.148.0/22 +45.251.152.0/22 +45.251.156.0/22 +45.251.160.0/22 +45.251.164.0/22 +45.251.168.0/22 +45.251.172.0/22 +45.251.176.0/22 +45.251.180.0/22 +45.251.184.0/22 +45.251.188.0/22 +45.251.192.0/22 +45.251.196.0/22 +45.251.200.0/22 +45.251.204.0/22 +45.251.208.0/22 +45.251.212.0/22 +45.251.216.0/22 +45.251.220.0/22 +45.251.224.0/22 +45.251.240.0/22 +45.252.0.0/22 +45.252.4.0/22 +45.252.8.0/22 +45.252.12.0/22 +45.252.16.0/22 +45.252.20.0/22 +45.252.24.0/22 +45.252.28.0/22 +45.252.32.0/22 +45.252.36.0/22 +45.252.40.0/22 +45.252.44.0/22 +45.252.48.0/22 +45.252.60.0/22 +45.252.84.0/22 +45.252.88.0/22 +45.252.92.0/22 +45.252.96.0/22 +45.252.100.0/22 +45.252.104.0/22 +45.252.108.0/22 +45.252.112.0/22 +45.252.116.0/22 +45.252.120.0/22 +45.252.124.0/22 +45.252.128.0/22 +45.252.132.0/22 +45.252.136.0/22 +45.252.140.0/22 +45.252.144.0/22 +45.252.148.0/22 +45.252.152.0/22 +45.252.156.0/22 +45.252.160.0/22 +45.252.164.0/22 +45.252.168.0/22 +45.252.172.0/22 +45.252.176.0/22 +45.252.192.0/22 +45.252.196.0/22 +45.252.200.0/22 +45.252.204.0/22 +45.252.208.0/22 +45.252.212.0/22 +45.252.216.0/22 +45.252.220.0/22 +45.252.224.0/22 +45.252.228.0/22 +45.252.232.0/22 +45.253.0.0/22 +45.253.4.0/22 +45.253.8.0/22 +45.253.12.0/22 +45.253.16.0/22 +45.253.20.0/22 +45.253.24.0/22 +45.253.28.0/22 +45.253.32.0/22 +45.253.36.0/22 +45.253.40.0/22 +45.253.44.0/22 +45.253.48.0/22 +45.253.52.0/22 +45.253.56.0/22 +45.253.60.0/22 +45.253.64.0/22 +45.253.68.0/22 +45.253.72.0/22 +45.253.76.0/22 +45.253.80.0/22 +45.253.84.0/22 +45.253.92.0/22 +45.253.96.0/22 +45.253.100.0/22 +45.253.104.0/22 +45.253.108.0/22 +45.253.112.0/22 +45.253.116.0/22 +45.253.120.0/22 +45.253.132.0/22 +45.253.136.0/22 +45.253.140.0/22 +45.253.144.0/22 +45.253.148.0/22 +45.253.152.0/22 +45.253.156.0/22 +45.253.160.0/22 +45.253.164.0/22 +45.253.168.0/22 +45.253.172.0/22 +45.253.176.0/22 +45.253.180.0/22 +45.253.184.0/22 +45.253.188.0/22 +45.253.192.0/22 +45.253.196.0/22 +45.253.200.0/22 +45.253.204.0/22 +45.253.208.0/22 +45.253.212.0/22 +45.253.216.0/22 +45.253.220.0/22 +45.253.224.0/22 +45.253.228.0/22 +45.253.232.0/22 +45.253.236.0/22 +45.253.240.0/22 +45.253.244.0/22 +45.254.0.0/22 +45.254.4.0/22 +45.254.8.0/22 +45.254.12.0/22 +45.254.16.0/22 +45.254.20.0/22 +45.254.24.0/22 +45.254.28.0/22 +45.254.40.0/22 +45.254.48.0/22 +45.254.52.0/22 +45.254.56.0/22 +45.254.60.0/22 +45.254.64.0/22 +45.254.68.0/22 +45.254.72.0/22 +45.254.76.0/22 +45.254.80.0/22 +45.254.84.0/22 +45.254.88.0/22 +45.254.92.0/22 +45.254.96.0/22 +45.254.100.0/22 +45.254.104.0/22 +45.254.108.0/22 +45.254.112.0/22 +45.254.116.0/22 +45.254.120.0/22 +45.254.124.0/22 +45.254.128.0/22 +45.254.132.0/22 +45.254.136.0/22 +45.254.140.0/22 +45.254.144.0/22 +45.254.148.0/22 +45.254.152.0/22 +45.254.156.0/22 +45.254.160.0/22 +45.254.164.0/22 +45.254.168.0/22 +45.254.172.0/22 +45.254.176.0/22 +45.254.180.0/22 +45.254.184.0/22 +45.254.188.0/22 +45.254.192.0/22 +45.254.196.0/22 +45.254.200.0/22 +45.254.204.0/22 +45.254.208.0/22 +45.254.212.0/22 +45.254.216.0/22 +45.254.220.0/22 +45.254.224.0/22 +45.254.228.0/22 +45.254.236.0/22 +45.254.240.0/22 +45.254.248.0/22 +45.255.0.0/22 +45.255.4.0/22 +45.255.8.0/22 +45.255.12.0/22 +45.255.16.0/22 +45.255.20.0/22 +45.255.24.0/22 +45.255.28.0/22 +45.255.32.0/22 +45.255.36.0/22 +45.255.40.0/22 +45.255.44.0/22 +45.255.48.0/22 +45.255.52.0/22 +45.255.56.0/22 +45.255.60.0/22 +45.255.64.0/22 +45.255.68.0/22 +45.255.72.0/22 +45.255.76.0/22 +45.255.80.0/22 +45.255.84.0/22 +45.255.88.0/22 +45.255.92.0/22 +45.255.96.0/22 +45.255.100.0/22 +45.255.104.0/22 +45.255.108.0/22 +45.255.112.0/22 +45.255.116.0/22 +45.255.120.0/22 +45.255.124.0/22 +45.255.132.0/22 +45.255.136.0/22 +45.255.140.0/22 +45.255.144.0/22 +45.255.148.0/22 +45.255.152.0/22 +45.255.156.0/22 +45.255.160.0/22 +45.255.164.0/22 +45.255.168.0/22 +45.255.172.0/22 +45.255.176.0/22 +45.255.180.0/22 +45.255.184.0/22 +45.255.188.0/22 +45.255.192.0/22 +45.255.196.0/22 +45.255.200.0/22 +45.255.204.0/22 +45.255.208.0/22 +45.255.212.0/22 +45.255.216.0/22 +45.255.220.0/22 +45.255.224.0/22 +45.255.228.0/22 +45.255.232.0/22 +45.255.236.0/22 +45.255.240.0/22 +45.255.244.0/22 +45.255.248.0/22 +47.92.0.0/14 +47.96.0.0/11 +49.4.0.0/14 +49.51.0.0/16 +49.52.0.0/14 +49.64.0.0/11 +49.112.0.0/13 +49.120.0.0/14 +49.128.0.0/24 +49.128.2.0/23 +49.128.4.0/22 +49.140.0.0/15 +49.152.0.0/14 +49.208.0.0/15 +49.210.0.0/15 +49.220.0.0/14 +49.232.0.0/14 +49.239.0.0/18 +49.239.192.0/18 +49.246.224.0/19 +52.80.0.0/15 +52.82.0.0/15 +52.130.0.0/15 +54.222.0.0/15 +58.14.0.0/15 +58.16.0.0/16 +58.17.0.0/17 +58.17.128.0/17 +58.18.0.0/16 +58.19.0.0/16 +58.20.0.0/16 +58.21.0.0/16 +58.22.0.0/15 +58.24.0.0/15 +58.30.0.0/15 +58.32.0.0/13 +58.40.0.0/15 +58.42.0.0/16 +58.43.0.0/16 +58.44.0.0/14 +58.48.0.0/13 +58.56.0.0/15 +58.58.0.0/16 +58.59.0.0/17 +58.59.128.0/17 +58.60.0.0/14 +58.65.232.0/21 +58.66.0.0/15 +58.68.128.0/17 +58.82.0.0/17 +58.83.0.0/17 +58.83.128.0/17 +58.87.64.0/18 +58.99.128.0/17 +58.100.0.0/15 +58.116.0.0/14 +58.128.0.0/13 +58.144.0.0/16 +58.154.0.0/15 +58.192.0.0/15 +58.194.0.0/15 +58.196.0.0/15 +58.198.0.0/15 +58.200.0.0/13 +58.208.0.0/12 +58.240.0.0/15 +58.242.0.0/15 +58.244.0.0/15 +58.246.0.0/15 +58.248.0.0/13 +59.32.0.0/13 +59.40.0.0/15 +59.42.0.0/16 +59.43.0.0/16 +59.44.0.0/14 +59.48.0.0/16 +59.49.0.0/17 +59.49.128.0/17 +59.50.0.0/16 +59.51.0.0/17 +59.51.128.0/17 +59.52.0.0/14 +59.56.0.0/14 +59.60.0.0/15 +59.62.0.0/15 +59.64.0.0/14 +59.68.0.0/14 +59.72.0.0/15 +59.74.0.0/15 +59.76.0.0/16 +59.77.0.0/16 +59.78.0.0/15 +59.80.0.0/15 +59.82.0.0/15 +59.107.0.0/17 +59.107.128.0/17 +59.108.0.0/15 +59.110.0.0/15 +59.151.0.0/17 +59.152.16.0/22 +59.152.20.0/22 +59.152.24.0/22 +59.152.28.0/22 +59.152.32.0/22 +59.152.36.0/22 +59.152.64.0/22 +59.152.68.0/22 +59.152.72.0/22 +59.152.76.0/22 +59.152.112.0/22 +59.152.116.0/22 +59.153.4.0/22 +59.153.32.0/22 +59.153.60.0/22 +59.153.64.0/22 +59.153.68.0/22 +59.153.72.0/22 +59.153.92.0/22 +59.153.116.0/22 +59.153.136.0/22 +59.153.152.0/22 +59.153.164.0/22 +59.153.168.0/22 +59.153.172.0/22 +59.153.176.0/22 +59.153.180.0/22 +59.153.184.0/22 +59.153.188.0/22 +59.153.192.0/22 +59.155.0.0/16 +59.172.0.0/15 +59.174.0.0/15 +59.191.0.0/17 +59.192.0.0/10 +60.0.0.0/13 +60.8.0.0/15 +60.10.0.0/16 +60.11.0.0/16 +60.12.0.0/16 +60.13.0.0/18 +60.13.64.0/18 +60.13.128.0/17 +60.14.0.0/15 +60.16.0.0/13 +60.24.0.0/14 +60.28.0.0/15 +60.30.0.0/16 +60.31.0.0/16 +60.55.0.0/16 +60.63.0.0/16 +60.160.0.0/15 +60.162.0.0/15 +60.164.0.0/15 +60.166.0.0/15 +60.168.0.0/13 +60.176.0.0/12 +60.194.0.0/15 +60.200.0.0/14 +60.204.0.0/16 +60.205.0.0/16 +60.206.0.0/15 +60.208.0.0/13 +60.216.0.0/15 +60.218.0.0/15 +60.220.0.0/14 +60.232.0.0/15 +60.235.0.0/16 +60.245.128.0/17 +60.247.0.0/16 +60.252.0.0/16 +60.253.128.0/17 +60.255.0.0/16 +61.4.80.0/22 +61.4.84.0/22 +61.4.88.0/21 +61.4.176.0/20 +61.8.160.0/20 +61.14.212.0/22 +61.14.216.0/22 +61.14.220.0/22 +61.14.240.0/22 +61.14.244.0/22 +61.28.0.0/20 +61.28.16.0/20 +61.28.32.0/19 +61.28.64.0/18 +61.29.128.0/18 +61.29.192.0/19 +61.29.224.0/20 +61.29.240.0/21 +61.29.248.0/22 +61.29.254.0/23 +61.45.128.0/18 +61.45.224.0/20 +61.47.128.0/18 +61.48.0.0/14 +61.52.0.0/15 +61.54.0.0/16 +61.55.0.0/16 +61.87.192.0/18 +61.128.0.0/15 +61.130.0.0/15 +61.132.0.0/16 +61.133.0.0/17 +61.133.128.0/17 +61.134.0.0/18 +61.134.64.0/19 +61.134.96.0/19 +61.134.128.0/18 +61.134.192.0/18 +61.135.0.0/16 +61.136.0.0/18 +61.136.64.0/18 +61.136.128.0/17 +61.137.0.0/17 +61.137.128.0/17 +61.138.0.0/18 +61.138.64.0/18 +61.138.128.0/18 +61.138.192.0/18 +61.139.0.0/17 +61.139.128.0/18 +61.139.192.0/18 +61.140.0.0/14 +61.144.0.0/14 +61.148.0.0/15 +61.150.0.0/15 +61.152.0.0/16 +61.153.0.0/16 +61.154.0.0/15 +61.156.0.0/16 +61.157.0.0/16 +61.158.0.0/17 +61.158.128.0/17 +61.159.0.0/18 +61.159.64.0/18 +61.159.128.0/17 +61.160.0.0/16 +61.161.0.0/18 +61.161.64.0/18 +61.161.128.0/17 +61.162.0.0/16 +61.163.0.0/16 +61.164.0.0/16 +61.165.0.0/16 +61.166.0.0/16 +61.167.0.0/16 +61.168.0.0/16 +61.169.0.0/16 +61.170.0.0/15 +61.172.0.0/14 +61.176.0.0/16 +61.177.0.0/16 +61.178.0.0/16 +61.179.0.0/16 +61.180.0.0/17 +61.180.128.0/17 +61.181.0.0/16 +61.182.0.0/16 +61.183.0.0/16 +61.184.0.0/14 +61.188.0.0/16 +61.189.0.0/17 +61.189.128.0/17 +61.190.0.0/15 +61.232.0.0/14 +61.236.0.0/15 +61.240.0.0/14 +62.234.0.0/16 +68.79.0.0/18 +69.230.192.0/18 +69.231.128.0/18 +69.234.192.0/18 +69.235.128.0/18 +71.131.192.0/18 +71.132.0.0/18 +71.136.64.0/18 +71.137.0.0/18 +81.68.0.0/14 +82.156.0.0/15 +94.191.0.0/17 +101.0.0.0/22 +101.1.0.0/22 +101.2.172.0/22 +101.4.0.0/14 +101.16.0.0/12 +101.33.128.0/17 +101.34.0.0/15 +101.36.0.0/18 +101.36.64.0/19 +101.36.128.0/17 +101.37.0.0/16 +101.38.0.0/15 +101.40.0.0/15 +101.42.0.0/15 +101.44.0.0/14 +101.48.0.0/15 +101.50.8.0/22 +101.50.12.0/22 +101.50.56.0/22 +101.52.0.0/16 +101.53.100.0/22 +101.54.0.0/16 +101.55.224.0/21 +101.64.0.0/13 +101.72.0.0/14 +101.76.0.0/15 +101.78.0.0/22 +101.78.32.0/19 +101.80.0.0/12 +101.96.0.0/21 +101.96.8.0/22 +101.96.16.0/20 +101.96.128.0/17 +101.99.96.0/19 +101.101.64.0/19 +101.101.100.0/24 +101.101.102.0/23 +101.101.104.0/21 +101.101.112.0/20 +101.102.64.0/19 +101.102.100.0/23 +101.102.102.0/24 +101.102.104.0/21 +101.102.112.0/20 +101.104.0.0/14 +101.110.64.0/19 +101.110.96.0/20 +101.110.116.0/22 +101.110.120.0/21 +101.120.0.0/14 +101.124.0.0/15 +101.126.0.0/16 +101.128.0.0/22 +101.128.8.0/21 +101.128.16.0/20 +101.128.32.0/19 +101.129.0.0/16 +101.130.0.0/15 +101.132.0.0/14 +101.144.0.0/12 +101.192.0.0/14 +101.196.0.0/16 +101.197.0.0/16 +101.198.0.0/15 +101.200.0.0/15 +101.203.128.0/19 +101.203.160.0/21 +101.203.172.0/22 +101.203.176.0/20 +101.204.0.0/14 +101.224.0.0/13 +101.232.0.0/15 +101.234.64.0/21 +101.234.76.0/22 +101.234.80.0/20 +101.234.96.0/19 +101.236.0.0/14 +101.240.0.0/14 +101.244.0.0/16 +101.245.0.0/16 +101.246.0.0/15 +101.248.0.0/15 +101.251.0.0/22 +101.251.8.0/21 +101.251.16.0/20 +101.251.32.0/19 +101.251.64.0/18 +101.251.128.0/17 +101.252.0.0/15 +101.254.0.0/16 +103.1.8.0/22 +103.1.20.0/22 +103.1.24.0/22 +103.1.72.0/22 +103.1.88.0/22 +103.1.168.0/22 +103.2.108.0/22 +103.2.156.0/22 +103.2.164.0/22 +103.2.200.0/22 +103.2.204.0/22 +103.2.208.0/22 +103.2.212.0/22 +103.3.84.0/22 +103.3.88.0/22 +103.3.92.0/22 +103.3.96.0/22 +103.3.100.0/22 +103.3.104.0/22 +103.3.108.0/22 +103.3.112.0/22 +103.3.116.0/22 +103.3.120.0/22 +103.3.124.0/22 +103.3.128.0/22 +103.3.132.0/22 +103.3.136.0/22 +103.3.140.0/22 +103.3.148.0/22 +103.3.152.0/22 +103.3.156.0/22 +103.4.56.0/22 +103.4.168.0/22 +103.4.184.0/22 +103.4.224.0/22 +103.5.36.0/22 +103.5.52.0/22 +103.5.56.0/22 +103.5.152.0/22 +103.5.168.0/22 +103.5.192.0/22 +103.5.252.0/22 +103.6.76.0/22 +103.6.108.0/22 +103.6.220.0/22 +103.6.228.0/22 +103.7.28.0/22 +103.7.140.0/22 +103.7.212.0/22 +103.7.216.0/22 +103.7.220.0/22 +103.8.0.0/22 +103.8.4.0/22 +103.8.8.0/22 +103.8.32.0/22 +103.8.52.0/22 +103.8.68.0/22 +103.8.108.0/22 +103.8.156.0/22 +103.8.200.0/22 +103.8.204.0/22 +103.8.220.0/22 +103.9.8.0/22 +103.9.24.0/22 +103.9.108.0/22 +103.9.152.0/22 +103.9.192.0/22 +103.9.248.0/22 +103.9.252.0/22 +103.10.0.0/22 +103.10.16.0/22 +103.10.84.0/22 +103.10.140.0/22 +103.11.16.0/22 +103.11.168.0/22 +103.11.180.0/22 +103.12.32.0/22 +103.12.68.0/22 +103.12.92.0/22 +103.12.136.0/22 +103.12.184.0/22 +103.12.232.0/22 +103.13.12.0/22 +103.13.124.0/22 +103.13.144.0/22 +103.13.196.0/22 +103.13.220.0/22 +103.13.244.0/22 +103.14.32.0/22 +103.14.84.0/22 +103.14.100.0/22 +103.14.132.0/22 +103.14.136.0/22 +103.14.156.0/22 +103.14.240.0/22 +103.15.4.0/22 +103.15.8.0/22 +103.15.16.0/22 +103.15.96.0/22 +103.15.200.0/22 +103.16.52.0/22 +103.16.80.0/22 +103.16.84.0/22 +103.16.88.0/22 +103.16.108.0/22 +103.16.124.0/22 +103.17.40.0/22 +103.17.64.0/22 +103.17.120.0/22 +103.17.136.0/22 +103.17.160.0/22 +103.17.204.0/22 +103.17.228.0/22 +103.18.192.0/22 +103.18.208.0/22 +103.18.212.0/22 +103.18.224.0/22 +103.19.12.0/22 +103.19.40.0/22 +103.19.44.0/22 +103.19.64.0/22 +103.19.68.0/22 +103.19.72.0/22 +103.19.232.0/22 +103.20.12.0/22 +103.20.32.0/22 +103.20.44.0/22 +103.20.68.0/22 +103.20.112.0/22 +103.20.128.0/22 +103.20.160.0/22 +103.20.248.0/22 +103.21.112.0/22 +103.21.116.0/22 +103.21.136.0/22 +103.21.140.0/22 +103.21.176.0/22 +103.21.208.0/22 +103.21.240.0/22 +103.22.0.0/22 +103.22.4.0/22 +103.22.8.0/22 +103.22.12.0/22 +103.22.16.0/22 +103.22.20.0/22 +103.22.24.0/22 +103.22.28.0/22 +103.22.32.0/22 +103.22.36.0/22 +103.22.40.0/22 +103.22.44.0/22 +103.22.48.0/22 +103.22.52.0/22 +103.22.56.0/22 +103.22.60.0/22 +103.22.64.0/22 +103.22.68.0/22 +103.22.72.0/22 +103.22.76.0/22 +103.22.80.0/22 +103.22.84.0/22 +103.22.88.0/22 +103.22.92.0/22 +103.22.100.0/22 +103.22.104.0/22 +103.22.108.0/22 +103.22.112.0/22 +103.22.116.0/22 +103.22.120.0/22 +103.22.124.0/22 +103.22.188.0/22 +103.22.228.0/22 +103.22.252.0/22 +103.23.8.0/22 +103.23.56.0/22 +103.23.160.0/22 +103.23.164.0/22 +103.23.176.0/22 +103.23.228.0/22 +103.24.24.0/22 +103.24.116.0/22 +103.24.128.0/22 +103.24.144.0/22 +103.24.176.0/22 +103.24.184.0/22 +103.24.220.0/22 +103.24.228.0/22 +103.24.248.0/22 +103.24.252.0/22 +103.25.8.0/23 +103.25.20.0/22 +103.25.24.0/22 +103.25.28.0/22 +103.25.32.0/22 +103.25.36.0/22 +103.25.40.0/22 +103.25.48.0/22 +103.25.64.0/22 +103.25.68.0/22 +103.25.148.0/22 +103.25.156.0/22 +103.25.216.0/22 +103.26.0.0/22 +103.26.64.0/22 +103.26.76.0/22 +103.26.132.0/22 +103.26.156.0/22 +103.26.160.0/22 +103.26.228.0/22 +103.26.240.0/22 +103.27.4.0/22 +103.27.12.0/22 +103.27.24.0/22 +103.27.56.0/22 +103.27.96.0/22 +103.27.184.0/22 +103.27.208.0/22 +103.27.212.0/22 +103.27.240.0/22 +103.28.4.0/22 +103.28.8.0/22 +103.28.184.0/22 +103.28.204.0/22 +103.28.212.0/22 +103.29.16.0/22 +103.29.128.0/22 +103.29.132.0/22 +103.29.136.0/22 +103.30.20.0/22 +103.30.96.0/22 +103.30.148.0/22 +103.30.200.0/22 +103.30.228.0/22 +103.30.236.0/22 +103.31.0.0/22 +103.31.48.0/22 +103.31.52.0/22 +103.31.56.0/22 +103.31.60.0/22 +103.31.64.0/22 +103.31.68.0/22 +103.31.148.0/22 +103.31.160.0/22 +103.31.168.0/22 +103.31.200.0/22 +103.31.236.0/22 +103.32.0.0/22 +103.32.4.0/22 +103.32.8.0/22 +103.32.12.0/22 +103.32.16.0/22 +103.32.20.0/22 +103.32.24.0/22 +103.32.28.0/22 +103.32.32.0/22 +103.32.36.0/22 +103.32.40.0/22 +103.32.44.0/22 +103.32.48.0/22 +103.32.52.0/22 +103.32.56.0/22 +103.32.60.0/22 +103.32.64.0/22 +103.32.68.0/22 +103.32.72.0/22 +103.32.76.0/22 +103.32.80.0/22 +103.32.84.0/22 +103.32.88.0/22 +103.32.92.0/22 +103.32.96.0/22 +103.32.100.0/22 +103.32.104.0/22 +103.32.108.0/22 +103.32.112.0/22 +103.32.116.0/22 +103.32.120.0/22 +103.32.124.0/22 +103.32.128.0/22 +103.32.132.0/22 +103.32.136.0/22 +103.32.140.0/22 +103.32.144.0/22 +103.32.148.0/22 +103.32.152.0/22 +103.32.156.0/22 +103.32.160.0/22 +103.32.164.0/22 +103.32.168.0/22 +103.32.172.0/22 +103.32.176.0/22 +103.32.180.0/22 +103.32.184.0/22 +103.32.188.0/22 +103.32.192.0/22 +103.32.196.0/22 +103.32.200.0/22 +103.32.204.0/22 +103.32.208.0/22 +103.32.212.0/22 +103.32.216.0/22 +103.32.220.0/22 +103.32.224.0/22 +103.32.228.0/22 +103.32.232.0/22 +103.32.236.0/22 +103.32.240.0/22 +103.32.244.0/22 +103.32.248.0/22 +103.32.252.0/22 +103.33.0.0/22 +103.33.4.0/22 +103.33.8.0/22 +103.33.12.0/22 +103.33.16.0/22 +103.33.20.0/22 +103.33.24.0/22 +103.33.28.0/22 +103.33.32.0/22 +103.33.36.0/22 +103.33.40.0/22 +103.33.44.0/22 +103.33.48.0/22 +103.33.52.0/22 +103.33.56.0/22 +103.33.60.0/22 +103.33.64.0/22 +103.33.68.0/22 +103.33.72.0/22 +103.33.76.0/22 +103.33.80.0/22 +103.33.84.0/22 +103.33.88.0/22 +103.33.92.0/22 +103.33.96.0/22 +103.33.100.0/22 +103.33.104.0/22 +103.33.108.0/22 +103.33.112.0/22 +103.33.116.0/22 +103.33.120.0/22 +103.33.124.0/22 +103.33.128.0/22 +103.33.132.0/22 +103.33.136.0/22 +103.33.140.0/22 +103.33.144.0/22 +103.33.148.0/22 +103.33.152.0/22 +103.33.156.0/22 +103.33.160.0/22 +103.33.164.0/22 +103.33.168.0/22 +103.33.172.0/22 +103.33.176.0/22 +103.33.180.0/22 +103.33.184.0/22 +103.33.188.0/22 +103.33.192.0/22 +103.33.196.0/22 +103.33.200.0/22 +103.33.204.0/22 +103.33.208.0/22 +103.33.212.0/22 +103.33.216.0/22 +103.33.220.0/22 +103.33.224.0/22 +103.33.228.0/22 +103.33.232.0/22 +103.33.236.0/22 +103.33.240.0/22 +103.33.244.0/22 +103.33.248.0/22 +103.33.252.0/22 +103.34.0.0/22 +103.34.4.0/22 +103.34.8.0/22 +103.34.12.0/22 +103.34.16.0/22 +103.34.20.0/22 +103.34.24.0/22 +103.34.28.0/22 +103.34.32.0/22 +103.34.36.0/22 +103.34.40.0/22 +103.34.44.0/22 +103.34.48.0/22 +103.34.52.0/22 +103.34.56.0/22 +103.34.60.0/22 +103.34.64.0/22 +103.34.68.0/22 +103.34.72.0/22 +103.34.76.0/22 +103.34.80.0/22 +103.34.84.0/22 +103.34.88.0/22 +103.34.92.0/22 +103.34.96.0/22 +103.34.100.0/22 +103.34.104.0/22 +103.34.108.0/22 +103.34.112.0/22 +103.34.116.0/22 +103.34.120.0/22 +103.34.124.0/22 +103.34.128.0/22 +103.34.132.0/22 +103.34.136.0/22 +103.34.140.0/22 +103.34.144.0/22 +103.34.148.0/22 +103.34.152.0/22 +103.34.156.0/22 +103.34.160.0/22 +103.34.164.0/22 +103.34.168.0/22 +103.34.172.0/22 +103.34.176.0/22 +103.34.180.0/22 +103.34.184.0/22 +103.34.188.0/22 +103.34.192.0/22 +103.34.196.0/22 +103.34.200.0/22 +103.34.204.0/22 +103.34.208.0/22 +103.34.212.0/22 +103.34.216.0/22 +103.34.220.0/22 +103.34.224.0/22 +103.34.228.0/22 +103.34.232.0/22 +103.34.236.0/22 +103.34.240.0/22 +103.34.244.0/22 +103.34.248.0/22 +103.34.252.0/22 +103.35.0.0/22 +103.35.4.0/22 +103.35.8.0/22 +103.35.12.0/22 +103.35.16.0/22 +103.35.20.0/22 +103.35.24.0/22 +103.35.28.0/22 +103.35.32.0/22 +103.35.36.0/22 +103.35.40.0/22 +103.35.44.0/22 +103.35.48.0/22 +103.35.104.0/22 +103.35.116.0/22 +103.35.180.0/22 +103.35.200.0/22 +103.35.220.0/22 +103.36.28.0/22 +103.36.36.0/22 +103.36.56.0/22 +103.36.60.0/22 +103.36.64.0/22 +103.36.72.0/22 +103.36.96.0/22 +103.36.132.0/22 +103.36.136.0/22 +103.36.160.0/22 +103.36.164.0/22 +103.36.168.0/22 +103.36.172.0/22 +103.36.176.0/22 +103.36.180.0/22 +103.36.184.0/22 +103.36.188.0/22 +103.36.192.0/22 +103.36.196.0/22 +103.36.200.0/22 +103.36.204.0/22 +103.36.208.0/22 +103.36.212.0/22 +103.36.216.0/22 +103.36.220.0/22 +103.36.224.0/22 +103.36.228.0/22 +103.36.232.0/22 +103.36.236.0/22 +103.36.240.0/22 +103.36.244.0/22 +103.37.0.0/22 +103.37.12.0/22 +103.37.16.0/22 +103.37.24.0/22 +103.37.44.0/22 +103.37.52.0/22 +103.37.56.0/22 +103.37.72.0/22 +103.37.100.0/22 +103.37.104.0/22 +103.37.124.0/22 +103.37.136.0/22 +103.37.140.0/22 +103.37.144.0/22 +103.37.148.0/22 +103.37.152.0/22 +103.37.156.0/22 +103.37.160.0/22 +103.37.164.0/22 +103.37.172.0/22 +103.37.176.0/22 +103.37.188.0/22 +103.37.208.0/22 +103.37.212.0/22 +103.37.216.0/22 +103.37.220.0/22 +103.37.248.0/22 +103.37.252.0/22 +103.38.0.0/22 +103.38.32.0/22 +103.38.40.0/22 +103.38.44.0/22 +103.38.56.0/22 +103.38.76.0/22 +103.38.84.0/22 +103.38.92.0/22 +103.38.96.0/22 +103.38.116.0/22 +103.38.132.0/22 +103.38.140.0/22 +103.38.224.0/22 +103.38.228.0/22 +103.38.232.0/22 +103.39.64.0/22 +103.39.88.0/22 +103.39.100.0/22 +103.39.104.0/22 +103.39.108.0/22 +103.39.160.0/22 +103.39.164.0/22 +103.39.168.0/22 +103.39.172.0/22 +103.39.176.0/22 +103.39.180.0/22 +103.39.184.0/22 +103.39.188.0/22 +103.39.200.0/22 +103.39.204.0/22 +103.39.208.0/22 +103.39.212.0/22 +103.39.216.0/22 +103.39.220.0/22 +103.39.224.0/22 +103.39.228.0/22 +103.39.232.0/22 +103.40.12.0/22 +103.40.16.0/22 +103.40.20.0/22 +103.40.24.0/22 +103.40.28.0/22 +103.40.32.0/22 +103.40.36.0/22 +103.40.40.0/22 +103.40.44.0/22 +103.40.88.0/22 +103.40.100.0/22 +103.40.192.0/22 +103.40.212.0/22 +103.40.220.0/22 +103.40.228.0/22 +103.40.232.0/22 +103.40.236.0/22 +103.40.240.0/22 +103.40.244.0/22 +103.40.248.0/22 +103.40.252.0/22 +103.41.0.0/22 +103.41.16.0/22 +103.41.52.0/22 +103.41.116.0/22 +103.41.140.0/22 +103.41.148.0/22 +103.41.152.0/22 +103.41.160.0/22 +103.41.164.0/22 +103.41.220.0/22 +103.41.224.0/22 +103.41.228.0/22 +103.41.232.0/22 +103.42.8.0/22 +103.42.24.0/22 +103.42.28.0/22 +103.42.32.0/22 +103.42.64.0/22 +103.42.68.0/22 +103.42.76.0/22 +103.42.104.0/22 +103.42.180.0/22 +103.42.232.0/22 +103.43.16.0/22 +103.43.84.0/22 +103.43.96.0/22 +103.43.100.0/22 +103.43.104.0/22 +103.43.124.0/22 +103.43.184.0/22 +103.43.192.0/22 +103.43.196.0/22 +103.43.208.0/22 +103.43.220.0/22 +103.43.224.0/22 +103.43.240.0/22 +103.44.56.0/22 +103.44.80.0/22 +103.44.88.0/22 +103.44.120.0/22 +103.44.124.0/22 +103.44.132.0/22 +103.44.144.0/22 +103.44.168.0/22 +103.44.176.0/22 +103.44.180.0/22 +103.44.184.0/22 +103.44.188.0/22 +103.44.192.0/22 +103.44.196.0/22 +103.44.200.0/22 +103.44.204.0/22 +103.44.224.0/22 +103.44.236.0/22 +103.44.240.0/22 +103.44.244.0/22 +103.44.248.0/22 +103.44.252.0/22 +103.45.0.0/22 +103.45.4.0/22 +103.45.8.0/22 +103.45.12.0/22 +103.45.16.0/22 +103.45.20.0/22 +103.45.24.0/22 +103.45.28.0/22 +103.45.32.0/22 +103.45.36.0/22 +103.45.40.0/22 +103.45.44.0/22 +103.45.48.0/22 +103.45.52.0/22 +103.45.56.0/22 +103.45.60.0/22 +103.45.72.0/22 +103.45.76.0/22 +103.45.80.0/22 +103.45.84.0/22 +103.45.88.0/22 +103.45.92.0/22 +103.45.96.0/22 +103.45.100.0/22 +103.45.104.0/22 +103.45.108.0/22 +103.45.112.0/22 +103.45.116.0/22 +103.45.120.0/22 +103.45.124.0/22 +103.45.128.0/22 +103.45.132.0/22 +103.45.136.0/22 +103.45.140.0/22 +103.45.144.0/22 +103.45.148.0/22 +103.45.152.0/22 +103.45.156.0/22 +103.45.160.0/22 +103.45.164.0/22 +103.45.168.0/22 +103.45.172.0/22 +103.45.176.0/22 +103.45.180.0/22 +103.45.184.0/22 +103.45.188.0/22 +103.45.192.0/22 +103.45.196.0/22 +103.45.200.0/22 +103.45.204.0/22 +103.45.208.0/22 +103.45.212.0/22 +103.45.216.0/22 +103.45.220.0/22 +103.45.224.0/22 +103.45.248.0/22 +103.46.0.0/22 +103.46.12.0/22 +103.46.16.0/22 +103.46.20.0/22 +103.46.24.0/22 +103.46.28.0/22 +103.46.32.0/22 +103.46.36.0/22 +103.46.40.0/22 +103.46.44.0/22 +103.46.48.0/22 +103.46.52.0/22 +103.46.56.0/22 +103.46.60.0/22 +103.46.64.0/22 +103.46.68.0/22 +103.46.72.0/22 +103.46.76.0/22 +103.46.80.0/22 +103.46.84.0/22 +103.46.88.0/22 +103.46.92.0/22 +103.46.96.0/22 +103.46.100.0/22 +103.46.104.0/22 +103.46.108.0/22 +103.46.112.0/22 +103.46.116.0/22 +103.46.120.0/22 +103.46.124.0/22 +103.46.128.0/22 +103.46.132.0/22 +103.46.136.0/22 +103.46.152.0/22 +103.46.156.0/22 +103.46.160.0/22 +103.46.164.0/22 +103.46.168.0/22 +103.46.172.0/22 +103.46.176.0/22 +103.46.180.0/22 +103.46.244.0/22 +103.46.248.0/22 +103.47.4.0/22 +103.47.20.0/22 +103.47.36.0/22 +103.47.40.0/22 +103.47.48.0/22 +103.47.80.0/22 +103.47.96.0/22 +103.47.108.0/22 +103.47.116.0/22 +103.47.120.0/22 +103.47.136.0/22 +103.47.140.0/22 +103.47.212.0/22 +103.48.52.0/22 +103.48.92.0/22 +103.48.144.0/22 +103.48.148.0/22 +103.48.152.0/22 +103.48.156.0/22 +103.48.202.0/23 +103.48.216.0/22 +103.48.220.0/22 +103.48.224.0/22 +103.48.228.0/22 +103.48.232.0/22 +103.48.236.0/22 +103.48.240.0/22 +103.48.244.0/22 +103.49.12.0/22 +103.49.20.0/22 +103.49.72.0/22 +103.49.76.0/22 +103.49.92.0/22 +103.49.96.0/22 +103.49.108.0/22 +103.49.128.0/22 +103.49.176.0/22 +103.49.180.0/22 +103.49.196.0/22 +103.50.36.0/22 +103.50.44.0/22 +103.50.48.0/22 +103.50.52.0/22 +103.50.56.0/22 +103.50.60.0/22 +103.50.64.0/22 +103.50.68.0/22 +103.50.72.0/22 +103.50.108.0/22 +103.50.112.0/22 +103.50.116.0/22 +103.50.120.0/22 +103.50.124.0/22 +103.50.132.0/22 +103.50.136.0/22 +103.50.140.0/22 +103.50.172.0/22 +103.50.176.0/22 +103.50.180.0/22 +103.50.184.0/22 +103.50.188.0/22 +103.50.192.0/22 +103.50.196.0/22 +103.50.200.0/22 +103.50.220.0/22 +103.50.224.0/22 +103.50.228.0/22 +103.50.232.0/22 +103.50.236.0/22 +103.50.240.0/22 +103.50.244.0/22 +103.50.248.0/22 +103.52.40.0/22 +103.52.72.0/22 +103.52.76.0/22 +103.52.80.0/22 +103.52.84.0/22 +103.52.96.0/22 +103.52.100.0/22 +103.52.104.0/22 +103.52.160.0/22 +103.52.164.0/22 +103.52.172.0/22 +103.52.176.0/22 +103.52.184.0/22 +103.52.196.0/22 +103.53.64.0/22 +103.53.68.0/22 +103.53.92.0/22 +103.53.100.0/22 +103.53.124.0/22 +103.53.128.0/22 +103.53.132.0/22 +103.53.136.0/22 +103.53.140.0/22 +103.53.144.0/22 +103.53.180.0/22 +103.53.204.0/22 +103.53.208.0/22 +103.53.212.0/22 +103.53.216.0/22 +103.53.236.0/22 +103.53.248.0/22 +103.54.8.0/22 +103.54.48.0/22 +103.54.60.0/22 +103.54.160.0/22 +103.54.164.0/22 +103.54.212.0/22 +103.54.240.0/22 +103.55.24.0/22 +103.55.80.0/22 +103.55.120.0/22 +103.55.152.0/22 +103.55.172.0/22 +103.55.204.0/22 +103.55.208.0/22 +103.55.228.0/22 +103.55.236.0/22 +103.56.8.0/22 +103.56.16.0/22 +103.56.20.0/22 +103.56.32.0/22 +103.56.56.0/22 +103.56.60.0/22 +103.56.72.0/22 +103.56.76.0/22 +103.56.100.0/22 +103.56.104.0/22 +103.56.140.0/22 +103.56.152.0/22 +103.56.184.0/22 +103.56.200.0/22 +103.57.12.0/22 +103.57.52.0/22 +103.57.56.0/22 +103.57.76.0/22 +103.57.136.0/22 +103.57.196.0/22 +103.58.24.0/22 +103.59.76.0/22 +103.59.100.0/22 +103.59.112.0/22 +103.59.116.0/22 +103.59.120.0/22 +103.59.124.0/22 +103.59.128.0/22 +103.59.148.0/22 +103.59.164.0/22 +103.60.32.0/22 +103.60.44.0/22 +103.60.164.0/22 +103.60.228.0/22 +103.60.236.0/22 +103.61.60.0/22 +103.61.104.0/22 +103.61.140.0/22 +103.61.152.0/22 +103.61.156.0/22 +103.61.160.0/22 +103.61.172.0/22 +103.61.176.0/22 +103.61.188.0/22 +103.62.24.0/22 +103.62.52.0/22 +103.62.72.0/22 +103.62.76.0/22 +103.62.80.0/22 +103.62.84.0/22 +103.62.88.0/22 +103.62.96.0/22 +103.62.100.0/22 +103.62.104.0/22 +103.62.108.0/22 +103.62.112.0/22 +103.62.116.0/22 +103.62.120.0/22 +103.62.124.0/22 +103.62.128.0/22 +103.62.132.0/22 +103.62.156.0/22 +103.62.160.0/22 +103.62.164.0/22 +103.62.168.0/22 +103.62.172.0/22 +103.62.176.0/22 +103.62.180.0/22 +103.62.184.0/22 +103.62.188.0/22 +103.62.192.0/22 +103.62.204.0/22 +103.62.208.0/22 +103.62.212.0/22 +103.62.216.0/22 +103.62.220.0/22 +103.62.224.0/22 +103.63.32.0/22 +103.63.36.0/22 +103.63.40.0/22 +103.63.44.0/22 +103.63.48.0/22 +103.63.52.0/22 +103.63.56.0/22 +103.63.60.0/22 +103.63.64.0/22 +103.63.68.0/22 +103.63.72.0/22 +103.63.76.0/22 +103.63.80.0/22 +103.63.84.0/22 +103.63.88.0/22 +103.63.140.0/22 +103.63.144.0/22 +103.63.152.0/22 +103.63.160.0/22 +103.63.164.0/22 +103.63.168.0/22 +103.63.172.0/22 +103.63.176.0/22 +103.63.180.0/22 +103.63.184.0/22 +103.63.192.0/22 +103.63.196.0/22 +103.63.200.0/22 +103.63.204.0/22 +103.63.208.0/22 +103.63.240.0/22 +103.63.244.0/22 +103.63.248.0/22 +103.63.252.0/22 +103.64.0.0/22 +103.64.4.0/22 +103.64.24.0/22 +103.64.28.0/22 +103.64.32.0/22 +103.64.36.0/22 +103.64.40.0/22 +103.64.44.0/22 +103.64.48.0/22 +103.64.52.0/22 +103.64.56.0/22 +103.64.60.0/22 +103.64.64.0/22 +103.64.68.0/22 +103.64.72.0/22 +103.64.76.0/22 +103.64.80.0/22 +103.64.84.0/22 +103.64.88.0/22 +103.64.92.0/22 +103.64.96.0/22 +103.64.100.0/22 +103.64.104.0/22 +103.64.108.0/22 +103.64.112.0/22 +103.64.116.0/22 +103.64.120.0/22 +103.64.124.0/22 +103.64.140.0/22 +103.64.144.0/22 +103.64.152.0/22 +103.64.156.0/22 +103.64.160.0/22 +103.64.164.0/22 +103.64.168.0/22 +103.64.172.0/22 +103.64.176.0/22 +103.64.180.0/22 +103.64.184.0/22 +103.64.188.0/22 +103.64.192.0/22 +103.64.196.0/22 +103.64.200.0/22 +103.64.204.0/22 +103.64.208.0/22 +103.64.212.0/22 +103.64.216.0/22 +103.64.220.0/22 +103.64.224.0/22 +103.64.228.0/22 +103.64.232.0/22 +103.64.236.0/22 +103.64.240.0/22 +103.64.244.0/22 +103.64.248.0/22 +103.64.252.0/22 +103.65.0.0/22 +103.65.4.0/22 +103.65.8.0/22 +103.65.12.0/22 +103.65.16.0/22 +103.65.36.0/22 +103.65.40.0/22 +103.65.48.0/22 +103.65.52.0/22 +103.65.56.0/22 +103.65.60.0/22 +103.65.64.0/22 +103.65.68.0/22 +103.65.72.0/22 +103.65.76.0/22 +103.65.80.0/22 +103.65.84.0/22 +103.65.88.0/22 +103.65.92.0/22 +103.65.100.0/22 +103.65.104.0/22 +103.65.108.0/22 +103.65.112.0/22 +103.65.144.0/22 +103.65.148.0/22 +103.65.152.0/22 +103.65.156.0/22 +103.65.160.0/22 +103.65.164.0/22 +103.65.168.0/22 +103.65.172.0/22 +103.66.32.0/22 +103.66.40.0/22 +103.66.92.0/22 +103.66.108.0/22 +103.66.200.0/22 +103.66.216.0/22 +103.66.240.0/22 +103.66.244.0/22 +103.66.248.0/22 +103.66.252.0/22 +103.67.0.0/22 +103.67.4.0/22 +103.67.8.0/22 +103.67.100.0/22 +103.67.104.0/22 +103.67.108.0/22 +103.67.112.0/22 +103.67.116.0/22 +103.67.120.0/22 +103.67.124.0/22 +103.67.128.0/22 +103.67.132.0/22 +103.67.136.0/22 +103.67.140.0/22 +103.67.144.0/22 +103.67.148.0/22 +103.67.172.0/22 +103.67.192.0/22 +103.67.212.0/22 +103.67.252.0/22 +103.68.64.0/22 +103.68.88.0/22 +103.68.100.0/22 +103.68.128.0/22 +103.68.192.0/22 +103.69.16.0/22 +103.69.116.0/22 +103.69.132.0/22 +103.69.152.0/22 +103.69.212.0/22 +103.70.8.0/22 +103.70.148.0/22 +103.70.184.0/22 +103.70.220.0/22 +103.70.224.0/22 +103.70.236.0/22 +103.70.252.0/22 +103.71.0.0/22 +103.71.32.0/22 +103.71.48.0/22 +103.71.68.0/22 +103.71.72.0/22 +103.71.80.0/22 +103.71.84.0/22 +103.71.88.0/22 +103.71.120.0/22 +103.71.124.0/22 +103.71.128.0/22 +103.71.144.0/22 +103.71.196.0/22 +103.71.200.0/22 +103.71.232.0/22 +103.72.12.0/22 +103.72.16.0/22 +103.72.20.0/22 +103.72.24.0/22 +103.72.28.0/22 +103.72.32.0/22 +103.72.36.0/22 +103.72.40.0/22 +103.72.44.0/22 +103.72.48.0/22 +103.72.52.0/22 +103.72.112.0/22 +103.72.116.0/22 +103.72.120.0/22 +103.72.124.0/22 +103.72.128.0/22 +103.72.132.0/22 +103.72.144.0/22 +103.72.148.0/22 +103.72.172.0/22 +103.72.180.0/22 +103.72.224.0/22 +103.72.228.0/22 +103.72.232.0/22 +103.72.236.0/22 +103.72.240.0/22 +103.72.244.0/22 +103.72.248.0/22 +103.72.252.0/22 +103.73.0.0/22 +103.73.4.0/22 +103.73.8.0/22 +103.73.12.0/22 +103.73.16.0/22 +103.73.20.0/22 +103.73.24.0/22 +103.73.28.0/22 +103.73.48.0/22 +103.73.88.0/22 +103.73.96.0/22 +103.73.116.0/22 +103.73.120.0/22 +103.73.128.0/22 +103.73.132.0/22 +103.73.136.0/22 +103.73.140.0/22 +103.73.144.0/22 +103.73.168.0/22 +103.73.176.0/22 +103.73.204.0/22 +103.73.208.0/22 +103.73.240.0/22 +103.73.244.0/22 +103.73.248.0/22 +103.74.24.0/22 +103.74.28.0/22 +103.74.32.0/22 +103.74.36.0/22 +103.74.40.0/22 +103.74.44.0/22 +103.74.48.0/22 +103.74.56.0/22 +103.74.60.0/22 +103.74.80.0/22 +103.74.124.0/22 +103.74.148.0/22 +103.74.152.0/22 +103.74.156.0/22 +103.74.204.0/22 +103.74.232.0/22 +103.75.16.0/22 +103.75.88.0/22 +103.75.92.0/22 +103.75.104.0/22 +103.75.108.0/22 +103.75.112.0/22 +103.75.120.0/22 +103.75.128.0/22 +103.75.144.0/22 +103.75.152.0/22 +103.75.236.0/24 +103.76.60.0/22 +103.76.64.0/22 +103.76.68.0/22 +103.76.72.0/22 +103.76.84.0/22 +103.76.92.0/22 +103.76.216.0/22 +103.76.220.0/22 +103.76.224.0/22 +103.77.28.0/22 +103.77.52.0/22 +103.77.56.0/22 +103.77.72.0/22 +103.77.88.0/22 +103.77.92.0/22 +103.77.132.0/22 +103.77.148.0/22 +103.77.220.0/22 +103.78.56.0/22 +103.78.60.0/22 +103.78.64.0/22 +103.78.68.0/22 +103.78.124.0/22 +103.78.172.0/22 +103.78.176.0/22 +103.78.196.0/22 +103.78.228.0/22 +103.79.24.0/22 +103.79.28.0/22 +103.79.36.0/22 +103.79.40.0/22 +103.79.44.0/22 +103.79.52.0/22 +103.79.56.0/22 +103.79.60.0/22 +103.79.64.0/22 +103.79.68.0/22 +103.79.80.0/22 +103.79.84.0/22 +103.79.120.0/22 +103.79.136.0/22 +103.79.188.0/22 +103.79.192.0/22 +103.79.196.0/22 +103.79.200.0/22 +103.79.204.0/22 +103.79.208.0/22 +103.79.212.0/22 +103.79.240.0/22 +103.80.24.0/22 +103.80.28.0/22 +103.80.44.0/22 +103.80.72.0/22 +103.80.176.0/22 +103.80.180.0/22 +103.80.184.0/22 +103.80.192.0/22 +103.80.200.0/22 +103.80.232.0/22 +103.81.4.0/22 +103.81.8.0/22 +103.81.16.0/22 +103.81.20.0/22 +103.81.44.0/22 +103.81.48.0/22 +103.81.96.0/22 +103.81.120.0/22 +103.81.148.0/22 +103.81.164.0/22 +103.81.168.0/22 +103.81.183.0/24 +103.81.184.0/22 +103.81.200.0/22 +103.81.232.0/22 +103.82.52.0/22 +103.82.60.0/22 +103.82.68.0/22 +103.82.84.0/22 +103.82.104.0/22 +103.82.224.0/22 +103.82.236.0/22 +103.83.44.0/22 +103.83.52.0/22 +103.83.60.0/22 +103.83.64.0/22 +103.83.72.0/22 +103.83.112.0/22 +103.83.120.0/22 +103.83.180.0/22 +103.84.0.0/22 +103.84.12.0/22 +103.84.16.0/22 +103.84.20.0/22 +103.84.24.0/22 +103.84.28.0/22 +103.84.48.0/22 +103.84.64.0/22 +103.84.72.0/22 +103.84.92.0/22 +103.84.108.0/22 +103.84.136.0/22 +103.85.20.0/22 +103.85.24.0/22 +103.85.44.0/22 +103.85.48.0/22 +103.85.84.0/22 +103.85.136.0/22 +103.85.144.0/22 +103.85.164.0/22 +103.85.168.0/22 +103.85.172.0/22 +103.85.176.0/22 +103.85.224.0/22 +103.86.28.0/22 +103.86.32.0/22 +103.86.44.0/22 +103.86.60.0/22 +103.86.80.0/22 +103.86.84.0/22 +103.86.204.0/22 +103.86.208.0/22 +103.86.212.0/22 +103.86.216.0/22 +103.86.220.0/22 +103.86.224.0/22 +103.86.228.0/22 +103.86.232.0/22 +103.86.236.0/22 +103.86.240.0/22 +103.86.244.0/22 +103.86.248.0/22 +103.86.252.0/22 +103.87.0.0/22 +103.87.4.0/22 +103.87.20.0/22 +103.87.32.0/22 +103.87.72.0/22 +103.87.96.0/22 +103.87.132.0/22 +103.87.180.0/22 +103.87.224.0/22 +103.88.4.0/22 +103.88.8.0/22 +103.88.12.0/22 +103.88.16.0/22 +103.88.20.0/22 +103.88.32.0/22 +103.88.36.0/22 +103.88.60.0/22 +103.88.64.0/22 +103.88.72.0/22 +103.88.96.0/22 +103.88.164.0/22 +103.88.176.0/22 +103.88.184.0/22 +103.88.188.0/22 +103.88.212.0/22 +103.89.28.0/22 +103.89.96.0/22 +103.89.100.0/22 +103.89.104.0/22 +103.89.108.0/22 +103.89.112.0/22 +103.89.116.0/22 +103.89.148.0/22 +103.89.172.0/22 +103.89.184.0/22 +103.89.188.0/22 +103.89.192.0/22 +103.89.196.0/22 +103.89.200.0/22 +103.89.204.0/22 +103.89.208.0/22 +103.89.212.0/22 +103.89.216.0/22 +103.89.220.0/22 +103.89.224.0/22 +103.89.228.0/22 +103.90.52.0/22 +103.90.92.0/22 +103.90.100.0/22 +103.90.104.0/22 +103.90.108.0/22 +103.90.112.0/22 +103.90.116.0/22 +103.90.120.0/22 +103.90.124.0/22 +103.90.128.0/22 +103.90.132.0/22 +103.90.152.0/22 +103.90.168.0/22 +103.90.173.0/24 +103.90.176.0/22 +103.90.188.0/22 +103.90.192.0/22 +103.91.36.0/22 +103.91.40.0/22 +103.91.108.0/22 +103.91.152.0/22 +103.91.176.0/22 +103.91.200.0/22 +103.91.208.0/22 +103.91.212.0/22 +103.91.219.0/24 +103.91.236.0/22 +103.91.252.0/22 +103.92.0.0/22 +103.92.4.0/22 +103.92.8.0/22 +103.92.12.0/22 +103.92.48.0/22 +103.92.52.0/22 +103.92.56.0/22 +103.92.60.0/22 +103.92.64.0/22 +103.92.68.0/22 +103.92.72.0/22 +103.92.76.0/22 +103.92.80.0/22 +103.92.86.0/24 +103.92.88.0/22 +103.92.108.0/22 +103.92.124.0/22 +103.92.128.0/24 +103.92.132.0/22 +103.92.156.0/22 +103.92.164.0/22 +103.92.168.0/22 +103.92.172.0/22 +103.92.176.0/22 +103.92.180.0/22 +103.92.184.0/22 +103.92.188.0/22 +103.92.192.0/22 +103.92.236.0/22 +103.92.240.0/22 +103.92.244.0/22 +103.92.248.0/22 +103.92.252.0/22 +103.93.0.0/22 +103.93.4.0/22 +103.93.28.0/22 +103.93.76.0/22 +103.93.84.0/22 +103.93.152.0/22 +103.93.180.0/22 +103.93.204.0/22 +103.94.12.0/22 +103.94.20.0/22 +103.94.28.0/22 +103.94.32.0/22 +103.94.36.0/22 +103.94.40.0/22 +103.94.44.0/22 +103.94.72.0/22 +103.94.88.0/22 +103.94.116.0/22 +103.94.160.0/22 +103.94.180.0/22 +103.94.200.0/22 +103.95.28.0/22 +103.95.52.0/22 +103.95.64.0/22 +103.95.68.0/22 +103.95.88.0/22 +103.95.92.0/22 +103.95.116.0/22 +103.95.128.0/22 +103.95.136.0/22 +103.95.140.0/22 +103.95.144.0/22 +103.95.152.0/22 +103.95.207.0/24 +103.95.216.0/22 +103.95.220.0/22 +103.95.224.0/22 +103.95.236.0/22 +103.95.240.0/22 +103.95.244.0/22 +103.95.248.0/22 +103.95.252.0/22 +103.96.0.0/22 +103.96.8.0/22 +103.96.80.0/22 +103.96.124.0/22 +103.96.136.0/22 +103.96.140.0/24 +103.96.148.0/22 +103.96.152.0/22 +103.96.156.0/22 +103.96.160.0/22 +103.96.164.0/22 +103.96.168.0/22 +103.96.172.0/22 +103.96.176.0/22 +103.96.180.0/22 +103.96.184.0/22 +103.96.188.0/22 +103.96.192.0/22 +103.96.196.0/22 +103.96.200.0/22 +103.96.204.0/22 +103.96.208.0/22 +103.96.212.0/22 +103.96.216.0/22 +103.97.8.0/22 +103.97.12.0/22 +103.97.16.0/22 +103.97.20.0/22 +103.97.24.0/22 +103.97.28.0/22 +103.97.32.0/22 +103.97.36.0/22 +103.97.40.0/22 +103.97.56.0/22 +103.97.60.0/22 +103.97.64.0/22 +103.97.68.0/22 +103.97.72.0/22 +103.97.80.0/22 +103.97.112.0/22 +103.97.116.0/22 +103.97.128.0/22 +103.97.144.0/22 +103.97.148.0/22 +103.97.188.0/22 +103.97.192.0/22 +103.97.224.0/22 +103.97.228.0/23 +103.98.28.0/23 +103.98.40.0/22 +103.98.44.0/22 +103.98.48.0/22 +103.98.56.0/22 +103.98.80.0/22 +103.98.88.0/22 +103.98.92.0/22 +103.98.96.0/22 +103.98.100.0/22 +103.98.124.0/22 +103.98.136.0/22 +103.98.140.0/22 +103.98.144.0/22 +103.98.164.0/22 +103.98.168.0/22 +103.98.180.0/22 +103.98.196.0/22 +103.98.216.0/22 +103.98.220.0/22 +103.98.224.0/22 +103.98.228.0/22 +103.98.232.0/22 +103.98.240.0/22 +103.98.244.0/22 +103.98.248.0/22 +103.98.252.0/22 +103.99.40.0/23 +103.99.52.0/22 +103.99.56.0/22 +103.99.60.0/22 +103.99.76.0/22 +103.99.104.0/22 +103.99.116.0/22 +103.99.120.0/22 +103.99.152.0/22 +103.99.220.0/22 +103.99.232.0/22 +103.99.236.0/22 +103.100.0.0/22 +103.100.32.0/22 +103.100.40.0/22 +103.100.48.0/22 +103.100.52.0/22 +103.100.56.0/22 +103.100.60.0/22 +103.100.64.0/22 +103.100.68.0/22 +103.100.88.0/22 +103.100.116.0/22 +103.100.140.0/22 +103.100.144.0/22 +103.100.236.0/22 +103.100.240.0/22 +103.100.248.0/22 +103.100.252.0/22 +103.101.4.0/22 +103.101.8.0/22 +103.101.12.0/22 +103.101.28.0/22 +103.101.60.0/22 +103.101.120.0/22 +103.101.124.0/22 +103.101.144.0/22 +103.101.148.0/22 +103.101.153.0/24 +103.101.180.0/22 +103.101.184.0/22 +103.102.76.0/22 +103.102.80.0/22 +103.102.168.0/22 +103.102.172.0/22 +103.102.180.0/22 +103.102.184.0/22 +103.102.188.0/22 +103.102.192.0/22 +103.102.196.0/22 +103.102.200.0/22 +103.102.208.0/22 +103.102.212.0/22 +103.103.12.0/22 +103.103.16.0/22 +103.103.36.0/22 +103.103.68.0/22 +103.103.72.0/22 +103.103.176.0/22 +103.103.188.0/22 +103.103.200.0/22 +103.103.204.0/22 +103.103.220.0/22 +103.103.224.0/22 +103.103.228.0/22 +103.103.232.0/22 +103.103.248.0/22 +103.103.252.0/22 +103.104.0.0/22 +103.104.4.0/22 +103.104.36.0/22 +103.104.40.0/22 +103.104.64.0/22 +103.104.104.0/22 +103.104.152.0/22 +103.104.168.0/22 +103.104.172.0/22 +103.104.188.0/22 +103.104.198.0/23 +103.104.252.0/22 +103.105.0.0/22 +103.105.4.0/22 +103.105.12.0/22 +103.105.16.0/22 +103.105.23.0/24 +103.105.56.0/22 +103.105.60.0/22 +103.105.116.0/22 +103.105.132.0/22 +103.105.180.0/22 +103.105.184.0/22 +103.105.200.0/22 +103.105.204.0/22 +103.105.220.0/22 +103.106.36.0/22 +103.106.40.0/22 +103.106.44.0/22 +103.106.60.0/22 +103.106.68.0/22 +103.106.96.0/22 +103.106.120.0/22 +103.106.128.0/22 +103.106.132.0/22 +103.106.160.0/22 +103.106.188.0/22 +103.106.196.0/22 +103.106.202.0/23 +103.106.212.0/22 +103.106.244.0/22 +103.106.252.0/22 +103.107.0.0/22 +103.107.8.0/24 +103.107.28.0/22 +103.107.32.0/22 +103.107.44.0/22 +103.107.72.0/22 +103.107.108.0/22 +103.107.164.0/22 +103.107.168.0/22 +103.107.188.0/22 +103.107.192.0/22 +103.107.208.0/22 +103.107.212.0/22 +103.107.216.0/22 +103.107.220.0/22 +103.108.52.0/22 +103.108.160.0/22 +103.108.164.0/22 +103.108.184.0/23 +103.108.188.0/23 +103.108.192.0/22 +103.108.196.0/22 +103.108.208.0/22 +103.108.212.0/22 +103.108.224.0/22 +103.108.244.0/22 +103.108.251.0/24 +103.109.20.0/22 +103.109.48.0/22 +103.109.88.0/22 +103.109.106.0/23 +103.109.248.0/22 +103.110.80.0/23 +103.110.92.0/22 +103.110.116.0/22 +103.110.127.0/24 +103.110.128.0/23 +103.110.132.0/22 +103.110.136.0/22 +103.110.152.0/22 +103.110.156.0/22 +103.110.188.0/22 +103.110.204.0/22 +103.111.64.0/22 +103.111.172.0/22 +103.111.252.0/22 +103.112.28.0/22 +103.112.68.0/22 +103.112.72.0/22 +103.112.88.0/22 +103.112.92.0/22 +103.112.96.0/22 +103.112.108.0/22 +103.112.112.0/22 +103.112.116.0/22 +103.112.140.0/22 +103.112.172.0/22 +103.112.184.0/22 +103.112.208.0/22 +103.113.4.0/22 +103.113.92.0/22 +103.113.144.0/22 +103.113.220.0/22 +103.113.232.0/22 +103.113.236.0/22 +103.114.4.0/22 +103.114.28.0/22 +103.114.68.0/22 +103.114.72.0/22 +103.114.100.0/22 +103.114.132.0/22 +103.114.148.0/22 +103.114.156.0/22 +103.114.176.0/22 +103.114.212.0/22 +103.114.236.0/22 +103.114.240.0/22 +103.115.16.0/22 +103.115.40.0/22 +103.115.44.0/22 +103.115.48.0/22 +103.115.52.0/22 +103.115.56.0/22 +103.115.60.0/22 +103.115.64.0/22 +103.115.68.0/22 +103.115.92.0/22 +103.115.120.0/22 +103.115.148.0/22 +103.115.204.0/23 +103.115.248.0/22 +103.116.20.0/22 +103.116.40.0/22 +103.116.64.0/22 +103.116.72.0/22 +103.116.76.0/22 +103.116.92.0/22 +103.116.120.0/22 +103.116.128.0/22 +103.116.132.0/23 +103.116.148.0/22 +103.116.184.0/22 +103.116.206.0/23 +103.116.220.0/22 +103.116.224.0/22 +103.116.228.0/22 +103.117.16.0/22 +103.117.72.0/22 +103.117.88.0/22 +103.117.132.0/22 +103.117.136.0/22 +103.117.188.0/22 +103.117.220.0/22 +103.118.19.0/24 +103.118.36.0/22 +103.118.52.0/22 +103.118.56.0/22 +103.118.60.0/22 +103.118.64.0/22 +103.118.68.0/22 +103.118.72.0/22 +103.118.88.0/22 +103.118.173.0/24 +103.118.192.0/22 +103.118.196.0/22 +103.118.200.0/22 +103.118.204.0/22 +103.118.208.0/22 +103.118.212.0/22 +103.118.216.0/22 +103.118.220.0/22 +103.118.240.0/22 +103.118.244.0/22 +103.118.248.0/22 +103.118.252.0/22 +103.119.0.0/22 +103.119.12.0/22 +103.119.16.0/22 +103.119.28.0/22 +103.119.44.0/22 +103.119.104.0/22 +103.119.115.0/24 +103.119.156.0/22 +103.119.180.0/22 +103.119.200.0/22 +103.119.224.0/22 +103.120.52.0/22 +103.120.72.0/22 +103.120.88.0/22 +103.120.96.0/22 +103.120.100.0/22 +103.120.140.0/22 +103.120.196.0/22 +103.120.224.0/22 +103.121.52.0/22 +103.121.92.0/22 +103.121.160.0/22 +103.121.164.0/22 +103.121.250.0/24 +103.121.252.0/22 +103.122.48.0/22 +103.122.176.0/22 +103.122.192.0/22 +103.122.240.0/22 +103.123.4.0/22 +103.123.56.0/22 +103.123.88.0/22 +103.123.92.0/22 +103.123.116.0/22 +103.123.160.0/22 +103.123.176.0/22 +103.123.200.0/22 +103.123.204.0/22 +103.123.208.0/22 +103.123.212.0/22 +103.124.24.0/22 +103.124.48.0/22 +103.124.64.0/22 +103.124.212.0/22 +103.124.216.0/22 +103.125.20.0/22 +103.125.44.0/22 +103.125.132.0/22 +103.125.164.0/22 +103.125.196.0/22 +103.125.236.0/22 +103.125.248.0/22 +103.126.0.0/22 +103.126.16.0/22 +103.126.44.0/22 +103.126.100.0/22 +103.126.124.0/22 +103.126.128.0/22 +103.126.132.0/22 +103.126.208.0/22 +103.126.241.0/24 +103.129.52.0/22 +103.130.132.0/22 +103.130.152.0/24 +103.130.160.0/22 +103.130.228.0/22 +103.131.20.0/22 +103.131.36.0/22 +103.131.152.0/22 +103.131.168.0/22 +103.131.176.0/22 +103.131.224.0/22 +103.131.228.0/22 +103.131.240.0/22 +103.132.60.0/22 +103.132.64.0/22 +103.132.68.0/22 +103.132.72.0/22 +103.132.76.0/22 +103.132.80.0/22 +103.132.104.0/22 +103.132.108.0/22 +103.132.112.0/22 +103.132.116.0/22 +103.132.120.0/22 +103.132.160.0/22 +103.132.164.0/22 +103.132.188.0/22 +103.132.208.0/22 +103.132.212.0/22 +103.132.234.0/23 +103.133.12.0/22 +103.133.40.0/22 +103.133.128.0/22 +103.133.136.0/22 +103.133.176.0/22 +103.133.232.0/22 +103.134.12.0/24 +103.134.196.0/22 +103.135.80.0/22 +103.135.124.0/22 +103.135.148.0/22 +103.135.156.0/22 +103.135.160.0/22 +103.135.164.0/22 +103.135.176.0/22 +103.135.184.0/22 +103.135.192.0/22 +103.135.196.0/22 +103.135.236.0/22 +103.136.128.0/22 +103.136.232.0/22 +103.137.58.0/23 +103.137.60.0/24 +103.137.76.0/22 +103.137.136.0/23 +103.137.149.0/24 +103.137.180.0/22 +103.137.236.0/22 +103.138.2.0/23 +103.138.12.0/23 +103.138.80.0/22 +103.138.134.0/23 +103.138.156.0/23 +103.138.208.0/23 +103.138.220.0/23 +103.138.246.0/23 +103.138.248.0/23 +103.139.0.0/23 +103.139.2.0/23 +103.139.22.0/23 +103.139.113.0/24 +103.139.134.0/23 +103.139.136.0/23 +103.139.172.0/23 +103.139.200.0/23 +103.139.204.0/23 +103.139.212.0/23 +103.140.8.0/23 +103.140.14.0/23 +103.140.70.0/23 +103.140.126.0/23 +103.140.140.0/23 +103.140.144.0/23 +103.140.152.0/23 +103.140.192.0/23 +103.140.194.0/23 +103.140.228.0/23 +103.141.10.0/23 +103.141.36.0/23 +103.141.58.0/23 +103.141.128.0/23 +103.141.186.0/23 +103.141.242.0/23 +103.142.28.0/23 +103.142.58.0/23 +103.142.82.0/23 +103.142.96.0/23 +103.142.102.0/23 +103.142.122.0/23 +103.142.128.0/23 +103.142.140.0/23 +103.142.154.0/23 +103.142.156.0/23 +103.142.172.0/23 +103.142.180.0/23 +103.142.186.0/23 +103.142.190.0/23 +103.142.220.0/23 +103.142.230.0/24 +103.142.234.0/23 +103.142.238.0/23 +103.142.248.0/23 +103.143.16.0/23 +103.143.18.0/23 +103.143.31.0/24 +103.143.74.0/23 +103.143.120.0/23 +103.143.124.0/23 +103.143.132.0/23 +103.143.134.0/23 +103.143.174.0/23 +103.143.228.0/23 +103.144.40.0/23 +103.144.52.0/23 +103.144.66.0/23 +103.144.70.0/23 +103.144.72.0/23 +103.144.108.0/23 +103.144.136.0/23 +103.144.148.0/23 +103.144.158.0/23 +103.144.240.0/23 +103.145.38.0/23 +103.145.40.0/23 +103.145.42.0/23 +103.145.60.0/23 +103.145.72.0/23 +103.145.80.0/23 +103.145.86.0/23 +103.145.92.0/23 +103.145.94.0/23 +103.145.98.0/23 +103.145.106.0/23 +103.145.122.0/23 +103.145.188.0/23 +103.145.190.0/23 +103.146.6.0/23 +103.146.72.0/23 +103.146.88.0/23 +103.146.90.0/23 +103.146.124.0/23 +103.146.126.0/23 +103.146.138.0/23 +103.146.230.0/23 +103.146.236.0/23 +103.146.252.0/23 +103.147.12.0/23 +103.147.124.0/23 +103.147.198.0/23 +103.147.206.0/23 +103.148.174.0/23 +103.149.6.0/23 +103.149.17.0/24 +103.149.44.0/23 +103.149.110.0/23 +103.149.132.0/23 +103.149.144.0/23 +103.149.156.0/23 +103.149.181.0/24 +103.149.190.0/23 +103.149.210.0/23 +103.149.214.0/23 +103.149.220.0/23 +103.149.242.0/23 +103.149.244.0/23 +103.149.246.0/23 +103.149.248.0/23 +103.150.24.0/23 +103.150.66.0/23 +103.150.72.0/23 +103.150.122.0/23 +103.150.126.0/23 +103.150.128.0/23 +103.150.130.0/23 +103.150.146.0/23 +103.150.164.0/23 +103.150.172.0/23 +103.150.180.0/23 +103.150.200.0/23 +103.150.210.0/23 +103.150.214.0/23 +103.150.216.0/23 +103.150.244.0/23 +103.151.4.0/23 +103.151.44.0/23 +103.151.138.0/23 +103.151.142.0/23 +103.151.148.0/23 +103.151.150.0/23 +103.151.158.0/23 +103.151.178.0/23 +103.151.206.0/23 +103.151.216.0/23 +103.151.228.0/23 +103.152.14.0/23 +103.152.24.0/23 +103.152.28.0/23 +103.152.30.0/23 +103.152.56.0/23 +103.152.76.0/23 +103.152.80.0/23 +103.152.98.0/23 +103.152.112.0/23 +103.152.120.0/23 +103.152.122.0/23 +103.152.132.0/23 +103.152.152.0/23 +103.152.168.0/23 +103.152.170.0/23 +103.152.186.0/23 +103.152.190.0/23 +103.152.192.0/23 +103.152.200.0/23 +103.152.208.0/23 +103.152.224.0/23 +103.152.226.0/23 +103.152.246.0/23 +103.152.250.0/23 +103.153.4.0/23 +103.153.36.0/23 +103.153.98.0/23 +103.153.100.0/23 +103.153.114.0/23 +103.153.122.0/23 +103.153.128.0/23 +103.153.132.0/23 +103.153.138.0/23 +103.153.146.0/23 +103.153.160.0/23 +103.154.18.0/23 +103.154.30.0/23 +103.154.32.0/23 +103.154.40.0/23 +103.154.66.0/23 +103.154.162.0/23 +103.154.164.0/23 +103.154.168.0/23 +103.154.242.0/23 +103.155.14.0/23 +103.155.16.0/23 +103.155.34.0/23 +103.155.48.0/23 +103.155.76.0/23 +103.155.100.0/23 +103.155.110.0/23 +103.155.120.0/23 +103.155.214.0/23 +103.155.248.0/23 +103.156.24.0/23 +103.156.28.0/23 +103.156.68.0/23 +103.156.78.0/23 +103.156.104.0/23 +103.156.158.0/23 +103.156.166.0/23 +103.156.174.0/23 +103.156.186.0/23 +103.156.228.0/23 +103.157.30.0/23 +103.157.138.0/23 +103.157.174.0/23 +103.157.212.0/23 +103.157.234.0/23 +103.157.254.0/23 +103.158.0.0/23 +103.158.8.0/23 +103.158.13.0/24 +103.158.16.0/23 +103.158.190.0/23 +103.158.200.0/23 +103.158.224.0/23 +103.159.80.0/23 +103.159.122.0/23 +103.159.124.0/23 +103.159.134.0/23 +103.159.142.0/23 +103.160.32.0/23 +103.160.34.0/23 +103.160.112.0/23 +103.160.114.0/23 +103.160.244.0/23 +103.160.254.0/23 +103.161.14.0/23 +103.161.102.0/23 +103.161.138.0/23 +103.161.208.0/23 +103.161.220.0/23 +103.161.254.0/23 +103.162.10.0/23 +103.162.32.0/23 +103.162.38.0/23 +103.162.116.0/23 +103.163.28.0/23 +103.163.32.0/23 +103.163.46.0/23 +103.163.74.0/23 +103.163.180.0/23 +103.164.4.0/23 +103.164.32.0/23 +103.164.40.0/23 +103.164.42.0/23 +103.164.64.0/23 +103.164.76.0/23 +103.164.178.0/23 +103.164.226.0/23 +103.165.44.0/23 +103.165.52.0/23 +103.165.82.0/23 +103.165.110.0/23 +103.166.20.0/23 +103.166.50.0/23 +103.166.52.0/23 +103.166.54.0/23 +103.166.84.0/23 +103.166.138.0/23 +103.166.242.0/23 +103.166.246.0/23 +103.167.0.0/23 +103.167.36.0/23 +103.168.98.0/23 +103.168.170.0/23 +103.169.50.0/23 +103.169.62.0/23 +103.169.108.0/23 +103.169.162.0/23 +103.169.202.0/23 +103.169.216.0/23 +103.170.4.0/23 +103.192.0.0/22 +103.192.4.0/22 +103.192.8.0/22 +103.192.12.0/22 +103.192.16.0/22 +103.192.20.0/22 +103.192.24.0/22 +103.192.28.0/22 +103.192.48.0/22 +103.192.52.0/22 +103.192.56.0/22 +103.192.84.0/22 +103.192.88.0/22 +103.192.92.0/22 +103.192.96.0/22 +103.192.100.0/22 +103.192.104.0/22 +103.192.108.0/22 +103.192.112.0/22 +103.192.128.0/22 +103.192.132.0/22 +103.192.136.0/22 +103.192.140.0/22 +103.192.144.0/22 +103.192.164.0/22 +103.192.188.0/22 +103.192.208.0/22 +103.192.212.0/22 +103.192.216.0/22 +103.192.252.0/22 +103.193.40.0/22 +103.193.44.0/22 +103.193.120.0/22 +103.193.124.0/22 +103.193.140.0/22 +103.193.144.0/22 +103.193.160.0/22 +103.193.188.0/22 +103.193.192.0/22 +103.193.212.0/22 +103.193.216.0/22 +103.193.220.0/22 +103.193.224.0/22 +103.193.228.0/22 +103.193.232.0/22 +103.193.236.0/22 +103.193.240.0/22 +103.194.16.0/22 +103.195.104.0/22 +103.195.112.0/22 +103.195.136.0/22 +103.195.148.0/22 +103.195.152.0/22 +103.195.160.0/22 +103.196.64.0/22 +103.196.72.0/22 +103.196.88.0/22 +103.196.92.0/22 +103.196.96.0/22 +103.196.168.0/22 +103.196.204.0/22 +103.197.180.0/22 +103.197.228.0/22 +103.198.20.0/22 +103.198.60.0/22 +103.198.64.0/22 +103.198.72.0/22 +103.198.124.0/22 +103.198.156.0/22 +103.198.180.0/22 +103.198.196.0/22 +103.198.216.0/22 +103.198.220.0/22 +103.198.224.0/22 +103.198.228.0/22 +103.198.232.0/22 +103.198.236.0/22 +103.198.240.0/22 +103.198.244.0/22 +103.199.164.0/22 +103.199.196.0/22 +103.199.228.0/22 +103.199.248.0/22 +103.199.252.0/22 +103.200.28.0/22 +103.200.52.0/22 +103.200.64.0/22 +103.200.68.0/22 +103.200.136.0/22 +103.200.140.0/22 +103.200.144.0/22 +103.200.148.0/22 +103.200.152.0/22 +103.200.156.0/22 +103.200.160.0/22 +103.200.164.0/22 +103.200.168.0/22 +103.200.172.0/22 +103.200.176.0/22 +103.200.180.0/22 +103.200.184.0/22 +103.200.188.0/22 +103.200.192.0/22 +103.200.220.0/22 +103.200.224.0/22 +103.200.228.0/22 +103.200.232.0/22 +103.200.236.0/22 +103.200.240.0/22 +103.200.244.0/22 +103.200.248.0/22 +103.200.252.0/22 +103.201.0.0/22 +103.201.4.0/22 +103.201.8.0/22 +103.201.12.0/22 +103.201.16.0/22 +103.201.20.0/22 +103.201.28.0/22 +103.201.32.0/22 +103.201.36.0/22 +103.201.40.0/22 +103.201.44.0/22 +103.201.48.0/22 +103.201.52.0/22 +103.201.56.0/22 +103.201.60.0/22 +103.201.64.0/22 +103.201.76.0/22 +103.201.80.0/22 +103.201.84.0/22 +103.201.88.0/22 +103.201.92.0/22 +103.201.96.0/22 +103.201.100.0/22 +103.201.104.0/22 +103.201.108.0/22 +103.201.112.0/22 +103.201.116.0/22 +103.201.120.0/22 +103.201.152.0/22 +103.201.156.0/22 +103.201.160.0/22 +103.201.164.0/22 +103.201.168.0/22 +103.201.172.0/22 +103.201.176.0/22 +103.201.180.0/22 +103.201.184.0/22 +103.201.188.0/22 +103.201.192.0/22 +103.201.196.0/22 +103.201.200.0/22 +103.201.204.0/22 +103.201.208.0/22 +103.201.212.0/22 +103.201.216.0/22 +103.201.220.0/22 +103.201.224.0/22 +103.201.228.0/22 +103.201.232.0/22 +103.201.236.0/22 +103.201.240.0/22 +103.201.244.0/22 +103.201.248.0/22 +103.201.252.0/22 +103.202.0.0/22 +103.202.4.0/22 +103.202.8.0/22 +103.202.12.0/22 +103.202.16.0/22 +103.202.20.0/22 +103.202.24.0/22 +103.202.28.0/22 +103.202.32.0/22 +103.202.36.0/22 +103.202.40.0/22 +103.202.44.0/22 +103.202.56.0/22 +103.202.60.0/22 +103.202.64.0/22 +103.202.68.0/22 +103.202.72.0/22 +103.202.76.0/22 +103.202.80.0/22 +103.202.84.0/22 +103.202.88.0/22 +103.202.92.0/22 +103.202.96.0/22 +103.202.100.0/22 +103.202.104.0/22 +103.202.108.0/22 +103.202.112.0/22 +103.202.116.0/22 +103.202.120.0/22 +103.202.124.0/22 +103.202.128.0/22 +103.202.132.0/22 +103.202.136.0/22 +103.202.140.0/22 +103.202.144.0/22 +103.202.152.0/22 +103.202.156.0/22 +103.202.160.0/22 +103.202.164.0/22 +103.202.168.0/22 +103.202.172.0/22 +103.202.176.0/22 +103.202.180.0/22 +103.202.184.0/22 +103.202.188.0/22 +103.202.192.0/22 +103.202.196.0/22 +103.202.200.0/21 +103.202.212.0/22 +103.202.228.0/22 +103.202.236.0/22 +103.202.240.0/22 +103.202.244.0/22 +103.202.248.0/22 +103.202.252.0/22 +103.203.0.0/22 +103.203.4.0/22 +103.203.8.0/22 +103.203.12.0/22 +103.203.16.0/22 +103.203.20.0/22 +103.203.24.0/22 +103.203.28.0/22 +103.203.32.0/22 +103.203.56.0/22 +103.203.96.0/22 +103.203.100.0/22 +103.203.104.0/22 +103.203.108.0/22 +103.203.112.0/22 +103.203.116.0/22 +103.203.120.0/22 +103.203.124.0/22 +103.203.128.0/22 +103.203.140.0/22 +103.203.164.0/22 +103.203.168.0/22 +103.203.192.0/22 +103.203.200.0/22 +103.203.212.0/22 +103.203.216.0/22 +103.204.24.0/22 +103.204.72.0/22 +103.204.88.0/22 +103.204.112.0/22 +103.204.136.0/22 +103.204.140.0/22 +103.204.144.0/22 +103.204.148.0/22 +103.204.152.0/22 +103.204.196.0/22 +103.204.232.0/22 +103.204.236.0/22 +103.205.4.0/22 +103.205.8.0/22 +103.205.40.0/22 +103.205.44.0/22 +103.205.52.0/22 +103.205.108.0/22 +103.205.116.0/22 +103.205.120.0/22 +103.205.136.0/22 +103.205.162.0/24 +103.205.188.0/22 +103.205.192.0/22 +103.205.196.0/22 +103.205.200.0/22 +103.205.236.0/22 +103.205.248.0/22 +103.205.252.0/22 +103.206.0.0/22 +103.206.44.0/22 +103.206.148.0/22 +103.207.48.0/22 +103.207.104.0/22 +103.207.164.0/22 +103.207.184.0/22 +103.207.188.0/22 +103.207.192.0/22 +103.207.196.0/22 +103.207.200.0/22 +103.207.204.0/22 +103.207.208.0/22 +103.207.212.0/22 +103.207.220.0/22 +103.207.228.0/22 +103.207.232.0/22 +103.208.12.0/22 +103.208.16.0/22 +103.208.28.0/22 +103.208.40.0/22 +103.208.44.0/22 +103.208.48.0/22 +103.208.148.0/22 +103.209.112.0/22 +103.209.136.0/22 +103.209.200.0/22 +103.209.208.0/22 +103.209.216.0/22 +103.210.0.0/22 +103.210.20.0/22 +103.210.96.0/22 +103.210.156.0/22 +103.210.160.0/22 +103.210.164.0/22 +103.210.168.0/22 +103.210.172.0/22 +103.210.176.0/22 +103.210.180.0/22 +103.210.184.0/22 +103.210.188.0/22 +103.210.216.0/22 +103.211.44.0/22 +103.211.96.0/22 +103.211.100.0/22 +103.211.156.0/22 +103.211.164.0/22 +103.211.192.0/22 +103.211.220.0/22 +103.211.224.0/22 +103.211.248.0/22 +103.212.0.0/22 +103.212.4.0/22 +103.212.8.0/22 +103.212.12.0/22 +103.212.32.0/22 +103.212.44.0/22 +103.212.48.0/22 +103.212.84.0/22 +103.212.100.0/22 +103.212.104.0/22 +103.212.108.0/22 +103.212.148.0/22 +103.212.164.0/22 +103.212.196.0/22 +103.212.200.0/22 +103.212.228.0/22 +103.212.252.0/22 +103.213.40.0/22 +103.213.44.0/22 +103.213.48.0/22 +103.213.52.0/22 +103.213.56.0/22 +103.213.60.0/22 +103.213.64.0/22 +103.213.68.0/22 +103.213.72.0/22 +103.213.76.0/22 +103.213.80.0/22 +103.213.84.0/22 +103.213.88.0/22 +103.213.92.0/22 +103.213.96.0/22 +103.213.132.0/22 +103.213.136.0/22 +103.213.140.0/22 +103.213.144.0/22 +103.213.148.0/22 +103.213.152.0/22 +103.213.156.0/22 +103.213.160.0/22 +103.213.164.0/22 +103.213.168.0/22 +103.213.172.0/22 +103.213.176.0/22 +103.213.180.0/22 +103.213.184.0/22 +103.213.188.0/22 +103.213.248.0/22 +103.214.48.0/22 +103.214.84.0/22 +103.214.168.0/22 +103.214.212.0/22 +103.214.240.0/22 +103.214.244.0/22 +103.215.28.0/22 +103.215.32.0/22 +103.215.36.0/22 +103.215.44.0/22 +103.215.48.0/22 +103.215.100.0/22 +103.215.104.0/22 +103.215.108.0/22 +103.215.116.0/22 +103.215.120.0/22 +103.215.140.0/22 +103.216.4.0/22 +103.216.8.0/22 +103.216.12.0/22 +103.216.16.0/22 +103.216.20.0/22 +103.216.24.0/22 +103.216.28.0/22 +103.216.32.0/22 +103.216.36.0/22 +103.216.40.0/22 +103.216.44.0/22 +103.216.64.0/22 +103.216.108.0/22 +103.216.136.0/22 +103.216.152.0/22 +103.216.224.0/22 +103.216.228.0/22 +103.216.240.0/22 +103.216.244.0/22 +103.216.248.0/22 +103.216.252.0/22 +103.217.0.0/22 +103.217.4.0/22 +103.217.8.0/22 +103.217.12.0/22 +103.217.16.0/22 +103.217.20.0/22 +103.217.24.0/22 +103.217.28.0/22 +103.217.32.0/22 +103.217.36.0/22 +103.217.40.0/22 +103.217.44.0/22 +103.217.48.0/22 +103.217.52.0/22 +103.217.56.0/22 +103.217.60.0/22 +103.217.168.0/22 +103.217.180.0/22 +103.217.184.0/22 +103.217.188.0/22 +103.217.192.0/22 +103.217.196.0/22 +103.217.200.0/22 +103.217.204.0/22 +103.218.0.0/22 +103.218.8.0/22 +103.218.12.0/22 +103.218.16.0/22 +103.218.20.0/22 +103.218.28.0/22 +103.218.32.0/22 +103.218.36.0/22 +103.218.40.0/22 +103.218.44.0/22 +103.218.48.0/22 +103.218.52.0/22 +103.218.56.0/22 +103.218.60.0/22 +103.218.64.0/22 +103.218.68.0/22 +103.218.72.0/22 +103.218.76.0/22 +103.218.80.0/22 +103.218.84.0/22 +103.218.88.0/22 +103.218.92.0/22 +103.218.192.0/22 +103.218.196.0/22 +103.218.200.0/22 +103.218.204.0/22 +103.218.208.0/22 +103.218.212.0/22 +103.218.216.0/22 +103.219.24.0/22 +103.219.28.0/22 +103.219.32.0/22 +103.219.36.0/22 +103.219.64.0/22 +103.219.84.0/22 +103.219.88.0/22 +103.219.92.0/22 +103.219.96.0/22 +103.219.100.0/22 +103.219.176.0/22 +103.219.184.0/22 +103.220.48.0/22 +103.220.52.0/22 +103.220.56.0/22 +103.220.60.0/22 +103.220.64.0/22 +103.220.92.0/22 +103.220.96.0/22 +103.220.100.0/22 +103.220.104.0/22 +103.220.108.0/22 +103.220.116.0/22 +103.220.120.0/22 +103.220.124.0/22 +103.220.128.0/22 +103.220.132.0/22 +103.220.136.0/22 +103.220.140.0/22 +103.220.144.0/22 +103.220.148.0/22 +103.220.152.0/22 +103.220.160.0/22 +103.220.164.0/22 +103.220.168.0/22 +103.220.172.0/22 +103.220.176.0/22 +103.220.180.0/22 +103.220.184.0/22 +103.220.188.0/22 +103.220.192.0/22 +103.220.196.0/22 +103.220.200.0/22 +103.220.240.0/22 +103.220.244.0/22 +103.220.248.0/22 +103.220.252.0/22 +103.221.0.0/22 +103.221.4.0/22 +103.221.8.0/22 +103.221.12.0/22 +103.221.16.0/22 +103.221.20.0/22 +103.221.24.0/22 +103.221.28.0/22 +103.221.32.0/22 +103.221.36.0/22 +103.221.40.0/22 +103.221.44.0/22 +103.221.48.0/22 +103.221.88.0/22 +103.221.92.0/22 +103.221.96.0/22 +103.221.100.0/22 +103.221.104.0/22 +103.221.108.0/22 +103.221.112.0/22 +103.221.116.0/22 +103.221.120.0/22 +103.221.124.0/22 +103.221.128.0/22 +103.221.132.0/22 +103.221.136.0/22 +103.221.140.0/22 +103.221.144.0/22 +103.221.148.0/22 +103.221.152.0/22 +103.221.156.0/22 +103.221.160.0/22 +103.221.164.0/22 +103.221.168.0/22 +103.221.172.0/22 +103.221.176.0/22 +103.221.180.0/22 +103.221.184.0/22 +103.221.188.0/22 +103.221.192.0/22 +103.221.196.0/22 +103.221.200.0/22 +103.221.204.0/22 +103.222.0.0/22 +103.222.4.0/22 +103.222.8.0/22 +103.222.12.0/22 +103.222.16.0/22 +103.222.24.0/22 +103.222.28.0/22 +103.222.32.0/22 +103.222.36.0/22 +103.222.40.0/22 +103.222.44.0/22 +103.222.48.0/22 +103.222.52.0/22 +103.222.56.0/22 +103.222.60.0/22 +103.222.64.0/22 +103.222.68.0/22 +103.222.72.0/22 +103.222.76.0/22 +103.222.80.0/22 +103.222.84.0/22 +103.222.88.0/22 +103.222.92.0/22 +103.222.96.0/22 +103.222.100.0/22 +103.222.104.0/22 +103.222.108.0/22 +103.222.112.0/22 +103.222.116.0/22 +103.222.120.0/22 +103.222.124.0/22 +103.222.128.0/22 +103.222.132.0/22 +103.222.136.0/22 +103.222.140.0/22 +103.222.144.0/22 +103.222.148.0/22 +103.222.152.0/22 +103.222.156.0/22 +103.222.160.0/22 +103.222.164.0/22 +103.222.168.0/22 +103.222.172.0/22 +103.222.176.0/22 +103.222.180.0/22 +103.222.184.0/22 +103.222.188.0/22 +103.222.192.0/22 +103.222.196.0/22 +103.222.200.0/22 +103.222.204.0/22 +103.222.208.0/22 +103.222.212.0/22 +103.222.216.0/22 +103.222.220.0/22 +103.222.224.0/22 +103.222.228.0/22 +103.222.232.0/22 +103.222.240.0/22 +103.222.244.0/22 +103.223.16.0/22 +103.223.20.0/22 +103.223.24.0/22 +103.223.28.0/22 +103.223.32.0/22 +103.223.36.0/22 +103.223.40.0/22 +103.223.44.0/22 +103.223.48.0/22 +103.223.52.0/22 +103.223.56.0/22 +103.223.60.0/22 +103.223.64.0/22 +103.223.68.0/22 +103.223.72.0/22 +103.223.76.0/22 +103.223.80.0/22 +103.223.84.0/22 +103.223.88.0/22 +103.223.92.0/22 +103.223.96.0/22 +103.223.100.0/22 +103.223.104.0/22 +103.223.108.0/22 +103.223.112.0/22 +103.223.116.0/22 +103.223.120.0/22 +103.223.124.0/22 +103.223.128.0/22 +103.223.132.0/22 +103.223.140.0/22 +103.223.144.0/22 +103.223.148.0/22 +103.223.152.0/22 +103.223.156.0/22 +103.223.160.0/22 +103.223.164.0/22 +103.223.168.0/22 +103.223.172.0/22 +103.223.176.0/22 +103.223.180.0/22 +103.223.188.0/22 +103.223.192.0/22 +103.223.196.0/22 +103.223.200.0/22 +103.223.204.0/22 +103.223.208.0/22 +103.223.212.0/22 +103.223.216.0/22 +103.223.220.0/22 +103.223.224.0/22 +103.223.228.0/22 +103.223.232.0/22 +103.223.236.0/22 +103.223.240.0/22 +103.223.244.0/22 +103.223.248.0/22 +103.223.252.0/22 +103.224.0.0/22 +103.224.40.0/22 +103.224.44.0/22 +103.224.60.0/22 +103.224.80.0/22 +103.224.220.0/22 +103.224.224.0/22 +103.224.228.0/22 +103.224.232.0/22 +103.225.84.0/22 +103.226.16.0/22 +103.226.40.0/22 +103.226.56.0/22 +103.226.60.0/22 +103.226.80.0/22 +103.226.132.0/22 +103.226.156.0/22 +103.226.180.0/22 +103.226.196.0/22 +103.227.48.0/22 +103.227.72.0/22 +103.227.76.0/22 +103.227.80.0/22 +103.227.100.0/22 +103.227.120.0/22 +103.227.132.0/22 +103.227.136.0/22 +103.227.196.0/22 +103.227.204.0/22 +103.227.212.0/22 +103.227.228.0/22 +103.228.12.0/22 +103.228.88.0/22 +103.228.128.0/22 +103.228.136.0/22 +103.228.160.0/22 +103.228.176.0/22 +103.228.204.0/22 +103.228.208.0/22 +103.228.228.0/22 +103.228.232.0/22 +103.229.20.0/22 +103.229.60.0/22 +103.229.136.0/22 +103.229.148.0/22 +103.229.172.0/22 +103.229.212.0/22 +103.229.216.0/22 +103.229.220.0/22 +103.229.228.0/22 +103.229.236.0/22 +103.229.240.0/22 +103.230.0.0/22 +103.230.28.0/22 +103.230.44.0/22 +103.230.96.0/22 +103.230.196.0/22 +103.230.200.0/22 +103.230.204.0/22 +103.230.212.0/22 +103.230.236.0/22 +103.231.16.0/22 +103.231.20.0/22 +103.231.64.0/22 +103.231.68.0/22 +103.231.180.0/22 +103.231.184.0/22 +103.231.244.0/22 +103.232.4.0/22 +103.232.144.0/22 +103.232.188.0/22 +103.232.212.0/22 +103.233.4.0/22 +103.233.44.0/22 +103.233.52.0/22 +103.233.104.0/22 +103.233.128.0/22 +103.233.136.0/22 +103.233.228.0/22 +103.234.0.0/22 +103.234.20.0/22 +103.234.56.0/22 +103.234.128.0/22 +103.234.172.0/22 +103.234.180.0/22 +103.234.244.0/22 +103.235.16.0/22 +103.235.48.0/22 +103.235.56.0/22 +103.235.60.0/22 +103.235.80.0/22 +103.235.84.0/22 +103.235.128.0/22 +103.235.132.0/22 +103.235.136.0/22 +103.235.140.0/22 +103.235.144.0/22 +103.235.148.0/22 +103.235.184.0/22 +103.235.192.0/22 +103.235.200.0/22 +103.235.220.0/22 +103.235.224.0/22 +103.235.228.0/22 +103.235.232.0/22 +103.235.236.0/22 +103.235.240.0/22 +103.235.244.0/22 +103.235.248.0/22 +103.235.252.0/22 +103.236.0.0/22 +103.236.4.0/22 +103.236.8.0/22 +103.236.12.0/22 +103.236.16.0/22 +103.236.20.0/22 +103.236.24.0/22 +103.236.28.0/22 +103.236.32.0/22 +103.236.36.0/22 +103.236.40.0/22 +103.236.44.0/22 +103.236.48.0/22 +103.236.52.0/22 +103.236.56.0/22 +103.236.60.0/22 +103.236.64.0/22 +103.236.68.0/22 +103.236.72.0/22 +103.236.76.0/22 +103.236.80.0/22 +103.236.84.0/22 +103.236.88.0/22 +103.236.92.0/22 +103.236.96.0/22 +103.236.120.0/22 +103.236.184.0/22 +103.236.220.0/22 +103.236.232.0/22 +103.236.240.0/22 +103.236.244.0/22 +103.236.248.0/22 +103.236.252.0/22 +103.237.0.0/22 +103.237.4.0/22 +103.237.8.0/22 +103.237.12.0/22 +103.237.24.0/22 +103.237.28.0/22 +103.237.68.0/22 +103.237.88.0/22 +103.237.152.0/22 +103.237.176.0/22 +103.237.180.0/22 +103.237.184.0/22 +103.237.188.0/22 +103.237.192.0/22 +103.237.196.0/22 +103.237.200.0/22 +103.237.204.0/22 +103.237.208.0/22 +103.237.212.0/22 +103.237.216.0/22 +103.237.220.0/22 +103.237.224.0/22 +103.237.228.0/22 +103.237.232.0/22 +103.237.236.0/22 +103.237.240.0/22 +103.237.244.0/22 +103.237.248.0/22 +103.237.252.0/22 +103.238.0.0/22 +103.238.4.0/22 +103.238.16.0/22 +103.238.20.0/22 +103.238.24.0/22 +103.238.28.0/22 +103.238.32.0/22 +103.238.36.0/22 +103.238.40.0/22 +103.238.44.0/22 +103.238.48.0/22 +103.238.52.0/22 +103.238.56.0/22 +103.238.88.0/22 +103.238.92.0/22 +103.238.96.0/22 +103.238.132.0/22 +103.238.140.0/22 +103.238.144.0/22 +103.238.160.0/22 +103.238.164.0/22 +103.238.168.0/22 +103.238.172.0/22 +103.238.176.0/22 +103.238.180.0/22 +103.238.184.0/22 +103.238.188.0/22 +103.238.196.0/22 +103.238.204.0/22 +103.238.252.0/22 +103.239.0.0/22 +103.239.44.0/22 +103.239.68.0/22 +103.239.96.0/22 +103.239.152.0/22 +103.239.156.0/22 +103.239.176.0/22 +103.239.180.0/22 +103.239.184.0/22 +103.239.192.0/22 +103.239.196.0/22 +103.239.204.0/22 +103.239.208.0/22 +103.239.224.0/22 +103.239.244.0/22 +103.240.16.0/22 +103.240.36.0/22 +103.240.72.0/22 +103.240.84.0/22 +103.240.124.0/22 +103.240.156.0/22 +103.240.172.0/22 +103.240.188.0/22 +103.240.244.0/22 +103.241.12.0/22 +103.241.72.0/22 +103.241.92.0/22 +103.241.96.0/22 +103.241.160.0/22 +103.241.184.0/22 +103.241.188.0/22 +103.241.220.0/22 +103.242.64.0/22 +103.242.128.0/22 +103.242.132.0/22 +103.242.160.0/22 +103.242.168.0/22 +103.242.172.0/22 +103.242.176.0/22 +103.242.200.0/22 +103.242.212.0/22 +103.242.220.0/22 +103.242.240.0/22 +103.243.136.0/22 +103.243.252.0/22 +103.244.16.0/22 +103.244.58.0/23 +103.244.60.0/22 +103.244.64.0/22 +103.244.68.0/22 +103.244.72.0/22 +103.244.76.0/22 +103.244.80.0/22 +103.244.84.0/22 +103.244.116.0/22 +103.244.164.0/22 +103.244.232.0/22 +103.244.252.0/22 +103.245.23.0/24 +103.245.52.0/22 +103.245.60.0/22 +103.245.80.0/22 +103.245.124.0/22 +103.245.128.0/22 +103.246.8.0/22 +103.246.12.0/22 +103.246.120.0/22 +103.246.124.0/22 +103.246.132.0/22 +103.246.152.0/22 +103.246.156.0/22 +103.247.168.0/22 +103.247.172.0/22 +103.247.176.0/22 +103.247.200.0/22 +103.247.212.0/22 +103.248.0.0/23 +103.248.64.0/22 +103.248.100.0/22 +103.248.124.0/22 +103.248.152.0/22 +103.248.168.0/22 +103.248.192.0/22 +103.248.212.0/22 +103.248.224.0/22 +103.249.8.0/22 +103.249.12.0/22 +103.249.52.0/22 +103.249.104.0/22 +103.249.128.0/22 +103.249.136.0/22 +103.249.144.0/22 +103.249.164.0/22 +103.249.168.0/22 +103.249.172.0/22 +103.249.176.0/22 +103.249.188.0/22 +103.249.192.0/22 +103.249.244.0/22 +103.249.252.0/22 +103.250.32.0/22 +103.250.104.0/22 +103.250.124.0/22 +103.250.180.0/22 +103.250.192.0/22 +103.250.216.0/22 +103.250.224.0/22 +103.250.236.0/22 +103.250.248.0/22 +103.250.252.0/22 +103.251.32.0/22 +103.251.84.0/22 +103.251.96.0/22 +103.251.124.0/22 +103.251.128.0/22 +103.251.160.0/22 +103.251.192.0/22 +103.251.204.0/22 +103.251.240.0/22 +103.252.28.0/22 +103.252.36.0/22 +103.252.64.0/22 +103.252.96.0/22 +103.252.104.0/22 +103.252.172.0/22 +103.252.204.0/22 +103.252.208.0/22 +103.252.232.0/22 +103.252.248.0/22 +103.253.4.0/22 +103.253.60.0/22 +103.253.204.0/22 +103.253.220.0/22 +103.253.224.0/22 +103.253.232.0/22 +103.254.8.0/22 +103.254.20.0/22 +103.254.64.0/22 +103.254.68.0/22 +103.254.72.0/22 +103.254.76.0/22 +103.254.112.0/22 +103.254.176.0/22 +103.254.188.0/22 +103.254.196.0/24 +103.254.220.0/22 +103.255.56.0/22 +103.255.68.0/22 +103.255.88.0/22 +103.255.92.0/22 +103.255.136.0/22 +103.255.140.0/22 +103.255.184.0/22 +103.255.200.0/22 +103.255.212.0/22 +103.255.228.0/22 +106.0.0.0/24 +106.0.2.0/23 +106.0.4.0/22 +106.0.8.0/21 +106.0.16.0/20 +106.0.44.0/22 +106.0.64.0/18 +106.2.0.0/15 +106.4.0.0/14 +106.8.0.0/15 +106.11.0.0/16 +106.12.0.0/14 +106.16.0.0/12 +106.32.0.0/12 +106.48.0.0/15 +106.50.0.0/16 +106.52.0.0/14 +106.56.0.0/13 +106.74.0.0/16 +106.75.0.0/16 +106.80.0.0/12 +106.108.0.0/14 +106.112.0.0/13 +106.120.0.0/13 +106.224.0.0/12 +109.244.0.0/16 +110.6.0.0/15 +110.16.0.0/14 +110.34.40.0/22 +110.34.44.0/22 +110.40.0.0/14 +110.44.12.0/22 +110.44.144.0/20 +110.48.0.0/16 +110.51.0.0/16 +110.52.0.0/15 +110.56.0.0/13 +110.64.0.0/15 +110.72.0.0/15 +110.75.0.0/17 +110.75.128.0/19 +110.75.160.0/19 +110.75.192.0/18 +110.76.0.0/19 +110.76.32.0/19 +110.76.132.0/22 +110.76.156.0/22 +110.76.184.0/22 +110.76.192.0/18 +110.77.0.0/17 +110.80.0.0/13 +110.88.0.0/14 +110.92.68.0/22 +110.93.32.0/19 +110.94.0.0/15 +110.96.0.0/11 +110.152.0.0/14 +110.156.0.0/15 +110.165.32.0/19 +110.166.0.0/15 +110.172.192.0/18 +110.173.0.0/19 +110.173.32.0/20 +110.173.64.0/19 +110.173.96.0/19 +110.173.192.0/19 +110.176.0.0/13 +110.184.0.0/13 +110.192.0.0/11 +110.228.0.0/14 +110.232.32.0/19 +110.236.0.0/15 +110.240.0.0/12 +111.0.0.0/10 +111.66.0.0/16 +111.67.192.0/20 +111.68.64.0/19 +111.72.0.0/13 +111.85.0.0/16 +111.91.192.0/19 +111.92.248.0/22 +111.92.252.0/22 +111.112.0.0/15 +111.114.0.0/15 +111.116.0.0/15 +111.118.200.0/21 +111.119.64.0/18 +111.119.128.0/19 +111.120.0.0/14 +111.124.0.0/16 +111.126.0.0/15 +111.128.0.0/11 +111.160.0.0/13 +111.170.0.0/16 +111.172.0.0/14 +111.176.0.0/13 +111.186.0.0/15 +111.192.0.0/12 +111.208.0.0/14 +111.212.0.0/14 +111.221.28.0/24 +111.221.128.0/17 +111.222.0.0/16 +111.223.4.0/22 +111.223.8.0/22 +111.223.12.0/22 +111.223.16.0/22 +111.223.240.0/22 +111.223.248.0/22 +111.224.0.0/14 +111.228.0.0/14 +111.235.96.0/19 +111.235.156.0/22 +111.235.160.0/19 +112.0.0.0/10 +112.64.0.0/15 +112.66.0.0/15 +112.73.0.0/16 +112.74.0.0/15 +112.80.0.0/13 +112.88.0.0/13 +112.96.0.0/15 +112.98.0.0/15 +112.100.0.0/14 +112.109.128.0/17 +112.111.0.0/16 +112.112.0.0/14 +112.116.0.0/15 +112.122.0.0/15 +112.124.0.0/14 +112.128.0.0/14 +112.132.0.0/16 +112.137.48.0/21 +112.192.0.0/14 +112.224.0.0/11 +113.0.0.0/13 +113.8.0.0/15 +113.11.192.0/19 +113.12.0.0/14 +113.16.0.0/15 +113.18.0.0/16 +113.21.232.0/22 +113.21.236.0/22 +113.24.0.0/14 +113.31.0.0/16 +113.44.0.0/14 +113.48.0.0/14 +113.52.160.0/19 +113.52.228.0/22 +113.54.0.0/15 +113.56.0.0/15 +113.58.0.0/16 +113.59.0.0/17 +113.59.224.0/22 +113.62.0.0/15 +113.64.0.0/11 +113.96.0.0/12 +113.112.0.0/13 +113.120.0.0/13 +113.128.0.0/15 +113.130.96.0/20 +113.130.112.0/21 +113.132.0.0/14 +113.136.0.0/13 +113.194.0.0/15 +113.197.100.0/22 +113.200.0.0/15 +113.202.0.0/16 +113.204.0.0/14 +113.208.96.0/19 +113.208.128.0/17 +113.209.0.0/16 +113.212.0.0/18 +113.212.88.0/22 +113.212.100.0/22 +113.212.184.0/21 +113.213.0.0/17 +113.214.0.0/15 +113.218.0.0/15 +113.220.0.0/14 +113.224.0.0/12 +113.240.0.0/13 +113.248.0.0/14 +114.28.0.0/16 +114.31.64.0/22 +114.31.68.0/22 +114.54.0.0/15 +114.60.0.0/14 +114.64.0.0/14 +114.68.0.0/16 +114.79.64.0/18 +114.80.0.0/12 +114.96.0.0/13 +114.104.0.0/14 +114.110.0.0/20 +114.110.64.0/18 +114.111.0.0/19 +114.111.160.0/19 +114.112.0.0/14 +114.116.0.0/16 +114.117.0.0/17 +114.117.128.0/17 +114.118.0.0/16 +114.119.0.0/17 +114.119.192.0/21 +114.119.200.0/22 +114.119.204.0/22 +114.119.208.0/20 +114.119.224.0/19 +114.132.0.0/16 +114.135.0.0/16 +114.138.0.0/15 +114.141.64.0/21 +114.141.80.0/22 +114.141.84.0/22 +114.141.128.0/18 +114.196.0.0/15 +114.198.248.0/21 +114.208.0.0/14 +114.212.0.0/15 +114.214.0.0/16 +114.215.0.0/16 +114.216.0.0/13 +114.224.0.0/12 +114.240.0.0/12 +115.24.0.0/14 +115.28.0.0/15 +115.31.64.0/22 +115.31.68.0/22 +115.31.72.0/22 +115.31.76.0/22 +115.32.0.0/14 +115.42.56.0/22 +115.44.0.0/15 +115.46.0.0/16 +115.47.0.0/16 +115.48.0.0/12 +115.69.64.0/20 +115.84.0.0/18 +115.84.192.0/19 +115.85.192.0/18 +115.100.0.0/14 +115.104.0.0/14 +115.120.0.0/14 +115.124.16.0/20 +115.148.0.0/14 +115.152.0.0/15 +115.154.0.0/15 +115.156.0.0/15 +115.158.0.0/16 +115.159.0.0/16 +115.166.64.0/19 +115.168.0.0/14 +115.172.0.0/14 +115.180.0.0/15 +115.182.0.0/16 +115.183.0.0/16 +115.187.0.0/22 +115.187.4.0/22 +115.187.8.0/22 +115.187.12.0/22 +115.190.0.0/15 +115.192.0.0/11 +115.224.0.0/12 +116.0.8.0/21 +116.0.24.0/21 +116.1.0.0/16 +116.2.0.0/15 +116.4.0.0/14 +116.8.0.0/14 +116.13.0.0/16 +116.16.0.0/12 +116.50.0.0/20 +116.52.0.0/14 +116.56.0.0/15 +116.58.128.0/20 +116.58.208.0/20 +116.60.0.0/14 +116.66.0.0/17 +116.66.176.0/22 +116.68.136.0/22 +116.68.140.0/22 +116.68.176.0/22 +116.68.180.0/22 +116.69.0.0/16 +116.70.0.0/17 +116.76.0.0/15 +116.78.0.0/15 +116.85.0.0/16 +116.89.144.0/20 +116.89.240.0/22 +116.90.80.0/20 +116.90.184.0/21 +116.95.0.0/16 +116.112.0.0/14 +116.116.0.0/15 +116.128.0.0/10 +116.192.0.0/16 +116.193.16.0/20 +116.193.32.0/19 +116.193.152.0/22 +116.193.164.0/22 +116.193.176.0/21 +116.194.0.0/15 +116.196.0.0/17 +116.196.128.0/18 +116.196.192.0/18 +116.197.160.0/22 +116.197.164.0/22 +116.198.0.0/16 +116.199.0.0/17 +116.199.128.0/19 +116.204.0.0/17 +116.204.132.0/22 +116.204.168.0/22 +116.204.216.0/22 +116.204.232.0/22 +116.205.0.0/16 +116.206.92.0/22 +116.206.176.0/22 +116.207.0.0/16 +116.208.0.0/14 +116.212.160.0/20 +116.213.44.0/22 +116.213.64.0/18 +116.213.128.0/17 +116.214.32.0/19 +116.214.64.0/20 +116.214.128.0/17 +116.215.0.0/16 +116.216.0.0/14 +116.224.0.0/12 +116.242.0.0/15 +116.244.0.0/15 +116.246.0.0/15 +116.248.0.0/15 +116.251.64.0/18 +116.252.0.0/15 +116.254.104.0/22 +116.254.108.0/22 +116.254.128.0/17 +116.255.128.0/17 +117.8.0.0/13 +117.21.0.0/16 +117.22.0.0/15 +117.24.0.0/13 +117.32.0.0/13 +117.40.0.0/14 +117.44.0.0/15 +117.48.0.0/14 +117.53.48.0/20 +117.53.176.0/20 +117.57.0.0/16 +117.58.0.0/17 +117.59.0.0/16 +117.60.0.0/14 +117.64.0.0/13 +117.72.0.0/15 +117.74.64.0/20 +117.74.80.0/20 +117.74.128.0/17 +117.75.0.0/16 +117.76.0.0/14 +117.80.0.0/12 +117.100.0.0/15 +117.103.16.0/20 +117.103.40.0/21 +117.103.72.0/21 +117.103.128.0/20 +117.104.168.0/21 +117.106.0.0/15 +117.112.0.0/13 +117.120.64.0/18 +117.120.128.0/17 +117.121.0.0/17 +117.121.128.0/18 +117.121.192.0/21 +117.122.128.0/17 +117.124.0.0/14 +117.128.0.0/10 +118.24.0.0/15 +118.26.0.0/19 +118.26.32.0/22 +118.26.40.0/21 +118.26.48.0/21 +118.26.56.0/21 +118.26.64.0/19 +118.26.96.0/21 +118.26.112.0/21 +118.26.120.0/21 +118.26.128.0/20 +118.26.160.0/19 +118.26.192.0/18 +118.28.0.0/15 +118.30.0.0/16 +118.31.0.0/16 +118.64.0.0/15 +118.66.0.0/16 +118.67.112.0/20 +118.72.0.0/13 +118.80.0.0/15 +118.84.0.0/15 +118.88.32.0/19 +118.88.64.0/18 +118.88.128.0/17 +118.89.0.0/16 +118.91.240.0/20 +118.102.16.0/20 +118.102.32.0/21 +118.103.164.0/22 +118.103.168.0/22 +118.103.172.0/22 +118.103.176.0/22 +118.107.180.0/22 +118.112.0.0/13 +118.120.0.0/14 +118.124.0.0/15 +118.126.0.0/16 +118.127.128.0/19 +118.132.0.0/14 +118.144.0.0/14 +118.178.0.0/16 +118.180.0.0/14 +118.184.0.0/17 +118.184.128.0/17 +118.186.0.0/15 +118.188.0.0/16 +118.190.0.0/16 +118.191.0.0/21 +118.191.8.0/22 +118.191.12.0/24 +118.191.16.0/21 +118.191.64.0/20 +118.191.80.0/22 +118.191.128.0/19 +118.191.176.0/20 +118.191.192.0/20 +118.191.208.0/24 +118.191.216.0/22 +118.191.223.0/24 +118.191.224.0/24 +118.191.240.0/20 +118.192.0.0/16 +118.193.0.0/21 +118.193.8.0/21 +118.193.48.0/21 +118.193.96.0/19 +118.193.128.0/17 +118.194.0.0/17 +118.194.128.0/18 +118.194.192.0/19 +118.194.224.0/22 +118.194.240.0/21 +118.195.0.0/17 +118.195.128.0/17 +118.196.0.0/14 +118.202.0.0/15 +118.204.0.0/14 +118.212.0.0/16 +118.213.0.0/16 +118.215.192.0/18 +118.224.0.0/14 +118.228.0.0/15 +118.230.0.0/16 +118.239.0.0/16 +118.242.0.0/16 +118.244.0.0/14 +118.248.0.0/13 +119.0.0.0/15 +119.2.0.0/19 +119.2.128.0/17 +119.3.0.0/16 +119.4.0.0/14 +119.10.0.0/17 +119.15.136.0/21 +119.16.0.0/16 +119.18.192.0/20 +119.18.208.0/21 +119.18.224.0/20 +119.18.240.0/20 +119.19.0.0/16 +119.20.0.0/14 +119.27.64.0/18 +119.27.128.0/19 +119.27.160.0/19 +119.27.192.0/18 +119.28.0.0/15 +119.30.48.0/20 +119.31.192.0/19 +119.32.0.0/14 +119.36.0.0/16 +119.37.0.0/17 +119.37.128.0/18 +119.37.192.0/18 +119.38.0.0/17 +119.38.128.0/18 +119.38.192.0/20 +119.38.208.0/20 +119.38.224.0/19 +119.39.0.0/16 +119.40.0.0/18 +119.40.64.0/20 +119.40.128.0/17 +119.41.0.0/16 +119.42.0.0/19 +119.42.52.0/22 +119.42.128.0/21 +119.42.136.0/21 +119.42.224.0/19 +119.44.0.0/15 +119.48.0.0/13 +119.57.0.0/16 +119.58.0.0/16 +119.59.128.0/17 +119.60.0.0/16 +119.61.0.0/16 +119.62.0.0/16 +119.63.32.0/19 +119.75.208.0/20 +119.78.0.0/15 +119.80.0.0/16 +119.82.208.0/20 +119.84.0.0/14 +119.88.0.0/14 +119.96.0.0/13 +119.108.0.0/15 +119.112.0.0/13 +119.120.0.0/13 +119.128.0.0/12 +119.144.0.0/14 +119.148.160.0/20 +119.148.176.0/20 +119.151.192.0/18 +119.160.200.0/21 +119.161.120.0/22 +119.161.124.0/22 +119.161.128.0/17 +119.162.0.0/15 +119.164.0.0/14 +119.176.0.0/12 +119.232.0.0/15 +119.235.128.0/18 +119.248.0.0/14 +119.252.96.0/21 +119.252.240.0/20 +119.253.0.0/16 +119.254.0.0/15 +120.0.0.0/12 +120.24.0.0/14 +120.30.0.0/16 +120.31.0.0/16 +120.32.0.0/13 +120.40.0.0/14 +120.44.0.0/15 +120.46.0.0/16 +120.47.0.0/16 +120.48.0.0/15 +120.52.0.0/16 +120.53.0.0/16 +120.54.0.0/15 +120.64.0.0/14 +120.68.0.0/14 +120.72.32.0/19 +120.72.128.0/17 +120.76.0.0/14 +120.80.0.0/13 +120.88.8.0/21 +120.90.0.0/15 +120.92.0.0/16 +120.94.0.0/16 +120.95.0.0/16 +120.128.0.0/14 +120.132.0.0/17 +120.132.128.0/17 +120.133.0.0/16 +120.134.0.0/15 +120.136.16.0/22 +120.136.20.0/22 +120.136.128.0/18 +120.137.0.0/17 +120.143.128.0/19 +120.192.0.0/10 +121.0.8.0/21 +121.0.16.0/20 +121.4.0.0/15 +121.8.0.0/13 +121.16.0.0/13 +121.24.0.0/14 +121.28.0.0/15 +121.30.0.0/16 +121.31.0.0/16 +121.32.0.0/14 +121.36.0.0/16 +121.37.0.0/16 +121.38.0.0/15 +121.40.0.0/14 +121.46.0.0/18 +121.46.76.0/22 +121.46.128.0/17 +121.47.0.0/16 +121.48.0.0/15 +121.50.8.0/21 +121.51.0.0/16 +121.52.160.0/19 +121.52.208.0/20 +121.52.224.0/19 +121.54.176.0/21 +121.54.188.0/22 +121.55.0.0/18 +121.56.0.0/15 +121.58.0.0/17 +121.58.136.0/21 +121.58.144.0/20 +121.58.160.0/21 +121.59.0.0/16 +121.60.0.0/14 +121.68.0.0/14 +121.76.0.0/15 +121.79.128.0/18 +121.89.0.0/16 +121.100.128.0/17 +121.101.0.0/18 +121.101.208.0/20 +121.192.0.0/16 +121.193.0.0/16 +121.194.0.0/15 +121.196.0.0/14 +121.200.192.0/21 +121.201.0.0/16 +121.204.0.0/14 +121.224.0.0/12 +121.248.0.0/14 +121.255.0.0/16 +122.0.64.0/18 +122.0.128.0/17 +122.4.0.0/14 +122.8.0.0/16 +122.9.0.0/16 +122.10.128.0/22 +122.10.132.0/23 +122.10.136.0/23 +122.10.164.0/22 +122.10.168.0/21 +122.10.176.0/20 +122.10.192.0/22 +122.10.200.0/21 +122.10.208.0/21 +122.10.216.0/22 +122.10.228.0/22 +122.10.232.0/21 +122.10.240.0/22 +122.11.0.0/17 +122.12.0.0/16 +122.13.0.0/16 +122.14.0.0/17 +122.14.128.0/18 +122.14.192.0/18 +122.48.0.0/16 +122.49.0.0/18 +122.51.0.0/16 +122.64.0.0/11 +122.96.0.0/15 +122.102.0.0/20 +122.102.64.0/20 +122.102.80.0/20 +122.112.0.0/18 +122.112.64.0/18 +122.112.128.0/17 +122.113.0.0/16 +122.114.0.0/16 +122.115.0.0/17 +122.115.128.0/19 +122.115.160.0/19 +122.115.192.0/19 +122.115.224.0/19 +122.119.0.0/16 +122.128.100.0/22 +122.128.120.0/21 +122.136.0.0/13 +122.144.128.0/17 +122.152.192.0/18 +122.156.0.0/14 +122.188.0.0/14 +122.192.0.0/14 +122.198.0.0/16 +122.200.40.0/22 +122.200.44.0/22 +122.200.64.0/18 +122.201.48.0/20 +122.204.0.0/14 +122.224.0.0/12 +122.240.0.0/13 +122.248.24.0/21 +122.248.48.0/20 +122.255.64.0/21 +123.0.128.0/18 +123.4.0.0/14 +123.8.0.0/13 +123.49.128.0/17 +123.50.160.0/19 +123.52.0.0/14 +123.56.0.0/15 +123.58.0.0/20 +123.58.16.0/20 +123.58.32.0/19 +123.58.64.0/19 +123.58.96.0/19 +123.58.128.0/18 +123.58.224.0/20 +123.58.240.0/20 +123.59.0.0/16 +123.60.0.0/16 +123.61.0.0/16 +123.62.0.0/16 +123.64.0.0/11 +123.96.0.0/15 +123.98.0.0/17 +123.99.128.0/17 +123.100.0.0/19 +123.101.0.0/16 +123.103.0.0/17 +123.108.128.0/20 +123.108.208.0/20 +123.112.0.0/12 +123.128.0.0/13 +123.136.80.0/20 +123.137.0.0/16 +123.138.0.0/15 +123.144.0.0/14 +123.148.0.0/16 +123.149.0.0/16 +123.150.0.0/15 +123.152.0.0/13 +123.160.0.0/14 +123.164.0.0/14 +123.168.0.0/14 +123.172.0.0/15 +123.174.0.0/15 +123.176.60.0/22 +123.176.80.0/20 +123.177.0.0/16 +123.178.0.0/15 +123.180.0.0/14 +123.184.0.0/14 +123.188.0.0/14 +123.196.0.0/15 +123.199.128.0/17 +123.206.0.0/15 +123.232.0.0/14 +123.242.0.0/17 +123.242.192.0/22 +123.242.196.0/22 +123.244.0.0/14 +123.249.0.0/16 +123.253.108.0/22 +123.253.240.0/22 +123.254.96.0/22 +123.254.100.0/22 +124.6.64.0/18 +124.14.0.0/15 +124.16.0.0/15 +124.20.0.0/16 +124.21.0.0/20 +124.21.16.0/20 +124.21.32.0/19 +124.21.64.0/18 +124.21.128.0/17 +124.22.0.0/15 +124.28.192.0/18 +124.29.0.0/17 +124.31.0.0/16 +124.40.112.0/20 +124.40.128.0/18 +124.40.192.0/19 +124.40.240.0/22 +124.42.0.0/17 +124.42.128.0/17 +124.47.0.0/18 +124.64.0.0/15 +124.66.0.0/17 +124.67.0.0/16 +124.68.0.0/15 +124.70.0.0/15 +124.72.0.0/16 +124.73.0.0/16 +124.74.0.0/15 +124.76.0.0/14 +124.88.0.0/16 +124.89.0.0/17 +124.89.128.0/17 +124.90.0.0/15 +124.92.0.0/14 +124.108.8.0/21 +124.108.40.0/21 +124.109.96.0/21 +124.112.0.0/15 +124.114.0.0/15 +124.116.0.0/16 +124.117.0.0/16 +124.118.0.0/15 +124.126.0.0/15 +124.128.0.0/13 +124.147.128.0/17 +124.150.137.0/24 +124.151.0.0/16 +124.152.0.0/16 +124.160.0.0/16 +124.161.0.0/16 +124.162.0.0/16 +124.163.0.0/16 +124.164.0.0/14 +124.172.0.0/15 +124.174.0.0/15 +124.192.0.0/15 +124.196.0.0/16 +124.200.0.0/13 +124.220.0.0/14 +124.224.0.0/16 +124.225.0.0/16 +124.226.0.0/15 +124.228.0.0/14 +124.232.0.0/15 +124.234.0.0/15 +124.236.0.0/14 +124.240.0.0/17 +124.240.128.0/18 +124.242.0.0/16 +124.243.192.0/18 +124.248.0.0/17 +124.249.0.0/16 +124.250.0.0/15 +124.254.0.0/18 +125.31.192.0/18 +125.32.0.0/16 +125.33.0.0/16 +125.34.0.0/16 +125.35.0.0/17 +125.35.128.0/17 +125.36.0.0/14 +125.40.0.0/13 +125.58.128.0/17 +125.61.128.0/17 +125.62.0.0/18 +125.64.0.0/13 +125.72.0.0/16 +125.73.0.0/16 +125.74.0.0/15 +125.76.0.0/17 +125.76.128.0/17 +125.77.0.0/16 +125.78.0.0/15 +125.80.0.0/13 +125.88.0.0/13 +125.96.0.0/15 +125.98.0.0/16 +125.104.0.0/13 +125.112.0.0/12 +125.169.0.0/16 +125.171.0.0/16 +125.208.0.0/18 +125.210.0.0/16 +125.211.0.0/16 +125.213.0.0/17 +125.214.96.0/19 +125.215.0.0/18 +125.216.0.0/15 +125.218.0.0/16 +125.219.0.0/16 +125.220.0.0/15 +125.222.0.0/15 +125.254.128.0/18 +125.254.192.0/18 +128.108.0.0/16 +129.28.0.0/16 +129.204.0.0/16 +129.211.0.0/16 +132.232.0.0/16 +134.175.0.0/16 +137.59.59.0/24 +137.59.88.0/22 +139.5.56.0/22 +139.5.60.0/22 +139.5.80.0/22 +139.5.92.0/22 +139.5.108.0/22 +139.5.128.0/22 +139.5.160.0/22 +139.5.192.0/22 +139.5.204.0/22 +139.5.208.0/22 +139.5.212.0/22 +139.5.244.0/22 +139.9.0.0/16 +139.129.0.0/16 +139.148.0.0/16 +139.155.0.0/16 +139.159.0.0/16 +139.170.0.0/16 +139.176.0.0/16 +139.183.0.0/16 +139.186.0.0/16 +139.189.0.0/16 +139.196.0.0/14 +139.200.0.0/13 +139.208.0.0/13 +139.217.0.0/16 +139.219.0.0/16 +139.220.0.0/15 +139.224.0.0/16 +139.226.0.0/15 +140.75.0.0/16 +140.143.0.0/16 +140.179.0.0/16 +140.205.0.0/16 +140.206.0.0/15 +140.210.0.0/17 +140.210.128.0/17 +140.224.0.0/16 +140.237.0.0/16 +140.240.0.0/16 +140.243.0.0/16 +140.246.0.0/16 +140.249.0.0/16 +140.250.0.0/16 +140.255.0.0/16 +142.70.0.0/16 +142.86.0.0/16 +144.0.0.0/16 +144.7.0.0/16 +144.12.0.0/16 +144.48.8.0/22 +144.48.64.0/22 +144.48.88.0/22 +144.48.156.0/22 +144.48.180.0/22 +144.48.184.0/22 +144.48.204.0/22 +144.48.208.0/22 +144.48.212.0/22 +144.48.220.0/22 +144.48.252.0/22 +144.52.0.0/16 +144.123.0.0/16 +144.255.0.0/16 +146.56.192.0/18 +146.196.56.0/22 +146.196.68.0/22 +146.196.72.0/22 +146.196.92.0/22 +146.196.112.0/22 +146.196.116.0/22 +146.196.124.0/22 +148.70.0.0/16 +149.41.0.0/16 +150.0.0.0/16 +150.115.0.0/16 +150.121.0.0/16 +150.122.0.0/16 +150.129.136.0/22 +150.129.192.0/22 +150.129.216.0/22 +150.129.252.0/22 +150.138.0.0/15 +150.158.0.0/16 +150.223.0.0/16 +150.242.0.0/22 +150.242.4.0/22 +150.242.8.0/22 +150.242.28.0/22 +150.242.44.0/22 +150.242.48.0/22 +150.242.52.0/22 +150.242.56.0/22 +150.242.76.0/22 +150.242.80.0/22 +150.242.92.0/22 +150.242.96.0/22 +150.242.112.0/22 +150.242.116.0/22 +150.242.120.0/22 +150.242.152.0/22 +150.242.156.0/22 +150.242.160.0/22 +150.242.164.0/22 +150.242.168.0/22 +150.242.184.0/22 +150.242.188.0/22 +150.242.192.0/22 +150.242.212.0/22 +150.242.224.0/22 +150.242.232.0/22 +150.242.236.0/22 +150.242.240.0/22 +150.242.244.0/22 +150.242.248.0/22 +150.248.0.0/16 +150.255.0.0/16 +152.104.128.0/17 +152.136.0.0/16 +153.0.0.0/16 +153.3.0.0/16 +153.34.0.0/15 +153.36.0.0/15 +153.99.0.0/16 +153.101.0.0/16 +153.118.0.0/15 +154.8.128.0/17 +157.0.0.0/16 +157.18.0.0/16 +157.61.0.0/16 +157.119.0.0/22 +157.119.8.0/22 +157.119.12.0/22 +157.119.16.0/22 +157.119.28.0/22 +157.119.132.0/22 +157.119.136.0/22 +157.119.140.0/22 +157.119.144.0/22 +157.119.148.0/22 +157.119.152.0/22 +157.119.156.0/22 +157.119.160.0/22 +157.119.164.0/22 +157.119.172.0/22 +157.119.192.0/22 +157.119.196.0/22 +157.119.240.0/22 +157.119.252.0/22 +157.122.0.0/16 +157.148.0.0/16 +157.156.0.0/16 +157.255.0.0/16 +158.60.128.0/17 +158.79.0.0/16 +159.27.0.0/16 +159.75.0.0/16 +159.226.0.0/16 +160.19.208.0/22 +160.19.212.0/22 +160.19.216.0/22 +160.20.48.0/22 +160.202.60.0/22 +160.202.148.0/22 +160.202.152.0/22 +160.202.168.0/22 +160.202.212.0/22 +160.202.216.0/22 +160.202.220.0/22 +160.202.224.0/22 +160.202.228.0/22 +160.202.232.0/22 +160.202.236.0/22 +160.202.240.0/22 +160.202.244.0/22 +160.202.248.0/22 +160.202.252.0/22 +160.238.64.0/22 +161.120.0.0/16 +161.189.0.0/16 +161.207.0.0/16 +162.14.0.0/16 +162.105.0.0/16 +163.0.0.0/16 +163.47.4.0/22 +163.53.0.0/22 +163.53.4.0/22 +163.53.8.0/22 +163.53.12.0/22 +163.53.36.0/22 +163.53.40.0/22 +163.53.44.0/22 +163.53.48.0/22 +163.53.52.0/22 +163.53.56.0/22 +163.53.60.0/22 +163.53.64.0/22 +163.53.88.0/22 +163.53.92.0/22 +163.53.96.0/22 +163.53.100.0/22 +163.53.104.0/22 +163.53.108.0/22 +163.53.112.0/22 +163.53.116.0/22 +163.53.120.0/22 +163.53.124.0/22 +163.53.128.0/22 +163.53.132.0/22 +163.53.136.0/22 +163.53.160.0/22 +163.53.164.0/22 +163.53.168.0/22 +163.53.172.0/22 +163.53.188.0/22 +163.53.220.0/22 +163.53.240.0/22 +163.125.0.0/16 +163.142.0.0/16 +163.177.0.0/16 +163.179.0.0/16 +163.204.0.0/16 +163.228.0.0/16 +164.52.0.0/17 +166.111.0.0/16 +167.139.0.0/16 +167.189.0.0/16 +167.220.244.0/22 +168.160.0.0/16 +170.179.0.0/16 +171.8.0.0/13 +171.34.0.0/15 +171.36.0.0/14 +171.40.0.0/13 +171.80.0.0/14 +171.84.0.0/14 +171.88.0.0/13 +171.104.0.0/13 +171.112.0.0/14 +171.116.0.0/14 +171.120.0.0/13 +171.208.0.0/12 +172.81.192.0/18 +175.0.0.0/12 +175.16.0.0/13 +175.24.0.0/16 +175.25.0.0/16 +175.26.0.0/16 +175.27.0.0/16 +175.30.0.0/15 +175.42.0.0/15 +175.44.0.0/16 +175.46.0.0/15 +175.48.0.0/12 +175.64.0.0/11 +175.102.0.0/16 +175.106.128.0/17 +175.111.144.0/22 +175.111.148.0/22 +175.111.152.0/22 +175.111.156.0/22 +175.111.160.0/22 +175.111.164.0/22 +175.111.168.0/22 +175.111.172.0/22 +175.111.184.0/22 +175.146.0.0/15 +175.148.0.0/14 +175.152.0.0/14 +175.158.96.0/22 +175.160.0.0/12 +175.176.156.0/22 +175.176.176.0/22 +175.176.188.0/22 +175.176.192.0/22 +175.178.0.0/16 +175.184.128.0/18 +175.185.0.0/16 +175.186.0.0/15 +175.188.0.0/14 +180.76.0.0/16 +180.77.0.0/16 +180.78.0.0/15 +180.84.0.0/15 +180.86.0.0/16 +180.88.0.0/14 +180.94.56.0/21 +180.94.96.0/20 +180.94.120.0/22 +180.94.124.0/22 +180.95.128.0/17 +180.96.0.0/11 +180.129.128.0/17 +180.130.0.0/16 +180.136.0.0/13 +180.148.16.0/21 +180.148.152.0/21 +180.148.216.0/21 +180.148.224.0/19 +180.149.128.0/19 +180.149.236.0/22 +180.150.160.0/19 +180.152.0.0/13 +180.160.0.0/12 +180.178.112.0/22 +180.178.116.0/22 +180.178.192.0/18 +180.184.0.0/15 +180.186.0.0/16 +180.187.0.0/16 +180.188.0.0/17 +180.189.148.0/22 +180.200.252.0/22 +180.201.0.0/16 +180.202.0.0/15 +180.208.0.0/15 +180.210.212.0/22 +180.210.224.0/19 +180.212.0.0/15 +180.222.224.0/19 +180.223.0.0/16 +180.233.0.0/18 +180.233.64.0/19 +180.233.144.0/22 +180.235.64.0/19 +180.235.112.0/22 +182.16.144.0/22 +182.16.148.0/22 +182.16.192.0/19 +182.18.0.0/17 +182.23.184.0/21 +182.23.200.0/21 +182.32.0.0/12 +182.48.96.0/19 +182.49.0.0/16 +182.50.0.0/20 +182.50.112.0/20 +182.51.0.0/16 +182.54.0.0/17 +182.54.244.0/22 +182.61.0.0/16 +182.80.0.0/14 +182.84.0.0/14 +182.88.0.0/14 +182.92.0.0/16 +182.96.0.0/12 +182.112.0.0/12 +182.128.0.0/12 +182.144.0.0/13 +182.157.0.0/16 +182.160.64.0/19 +182.174.0.0/15 +182.200.0.0/13 +182.236.128.0/17 +182.237.24.0/22 +182.237.28.0/22 +182.238.0.0/16 +182.239.0.0/19 +182.240.0.0/13 +182.254.0.0/16 +182.255.32.0/22 +182.255.36.0/22 +182.255.60.0/22 +183.0.0.0/10 +183.64.0.0/13 +183.78.160.0/22 +183.78.164.0/22 +183.78.180.0/22 +183.81.172.0/22 +183.81.180.0/22 +183.84.0.0/15 +183.91.128.0/22 +183.91.136.0/21 +183.91.144.0/20 +183.92.0.0/14 +183.128.0.0/11 +183.160.0.0/13 +183.168.0.0/15 +183.170.0.0/16 +183.172.0.0/14 +183.182.0.0/19 +183.184.0.0/13 +183.192.0.0/10 +185.203.36.0/22 +188.131.128.0/17 +192.51.188.0/24 +192.55.46.0/24 +192.55.68.0/22 +192.102.204.0/23 +192.124.154.0/24 +192.140.128.0/22 +192.140.132.0/22 +192.140.136.0/22 +192.140.156.0/22 +192.140.160.0/22 +192.140.164.0/22 +192.140.168.0/22 +192.140.172.0/22 +192.140.176.0/22 +192.140.180.0/22 +192.140.184.0/22 +192.140.188.0/22 +192.140.192.0/22 +192.140.196.0/22 +192.140.200.0/22 +192.140.204.0/22 +192.140.208.0/22 +192.140.212.0/22 +192.144.128.0/17 +192.197.113.0/24 +193.112.0.0/16 +198.175.100.0/22 +199.212.57.0/24 +202.0.100.0/23 +202.0.122.0/23 +202.0.176.0/22 +202.3.128.0/23 +202.3.134.0/24 +202.4.128.0/19 +202.4.252.0/22 +202.5.208.0/22 +202.5.212.0/22 +202.5.216.0/22 +202.6.6.0/23 +202.6.66.0/23 +202.6.72.0/23 +202.6.87.0/24 +202.6.88.0/23 +202.6.92.0/23 +202.6.103.0/24 +202.6.108.0/24 +202.6.110.0/23 +202.6.114.0/24 +202.6.176.0/20 +202.8.0.0/24 +202.8.2.0/23 +202.8.4.0/23 +202.8.12.0/24 +202.8.24.0/24 +202.8.77.0/24 +202.8.120.0/22 +202.8.128.0/19 +202.8.192.0/20 +202.9.32.0/24 +202.9.34.0/23 +202.9.48.0/23 +202.9.51.0/24 +202.9.52.0/23 +202.9.54.0/24 +202.9.57.0/24 +202.9.58.0/23 +202.10.64.0/20 +202.10.112.0/22 +202.10.116.0/22 +202.10.120.0/22 +202.10.124.0/22 +202.12.1.0/24 +202.12.2.0/24 +202.12.17.0/24 +202.12.18.0/24 +202.12.19.0/24 +202.12.72.0/24 +202.12.84.0/23 +202.12.96.0/24 +202.12.98.0/23 +202.12.106.0/24 +202.12.111.0/24 +202.12.116.0/24 +202.14.64.0/23 +202.14.69.0/24 +202.14.73.0/24 +202.14.74.0/23 +202.14.76.0/24 +202.14.78.0/23 +202.14.88.0/24 +202.14.97.0/24 +202.14.104.0/23 +202.14.108.0/23 +202.14.111.0/24 +202.14.114.0/23 +202.14.118.0/23 +202.14.124.0/23 +202.14.127.0/24 +202.14.129.0/24 +202.14.135.0/24 +202.14.136.0/24 +202.14.149.0/24 +202.14.151.0/24 +202.14.157.0/24 +202.14.158.0/23 +202.14.169.0/24 +202.14.170.0/23 +202.14.172.0/22 +202.14.176.0/24 +202.14.184.0/23 +202.14.208.0/23 +202.14.213.0/24 +202.14.219.0/24 +202.14.220.0/24 +202.14.222.0/23 +202.14.225.0/24 +202.14.226.0/23 +202.14.231.0/24 +202.14.235.0/24 +202.14.236.0/23 +202.14.238.0/24 +202.14.239.0/24 +202.14.246.0/24 +202.14.251.0/24 +202.20.66.0/24 +202.20.79.0/24 +202.20.87.0/24 +202.20.88.0/23 +202.20.90.0/24 +202.20.94.0/23 +202.20.114.0/24 +202.20.117.0/24 +202.20.120.0/24 +202.20.125.0/24 +202.20.126.0/24 +202.20.127.0/24 +202.21.48.0/22 +202.21.52.0/22 +202.21.56.0/22 +202.21.60.0/22 +202.21.131.0/24 +202.21.132.0/24 +202.21.141.0/24 +202.21.142.0/24 +202.21.147.0/24 +202.21.148.0/24 +202.21.150.0/23 +202.21.152.0/23 +202.21.154.0/24 +202.21.156.0/24 +202.22.248.0/22 +202.22.252.0/22 +202.27.12.0/24 +202.27.14.0/24 +202.27.136.0/23 +202.36.226.0/24 +202.38.0.0/23 +202.38.2.0/23 +202.38.8.0/21 +202.38.48.0/20 +202.38.64.0/19 +202.38.96.0/19 +202.38.128.0/23 +202.38.130.0/23 +202.38.132.0/23 +202.38.134.0/24 +202.38.135.0/24 +202.38.136.0/23 +202.38.138.0/24 +202.38.140.0/23 +202.38.142.0/23 +202.38.146.0/23 +202.38.149.0/24 +202.38.150.0/23 +202.38.152.0/23 +202.38.154.0/23 +202.38.156.0/24 +202.38.158.0/23 +202.38.160.0/23 +202.38.164.0/22 +202.38.168.0/23 +202.38.170.0/24 +202.38.171.0/24 +202.38.176.0/23 +202.38.184.0/21 +202.38.192.0/18 +202.40.4.0/23 +202.40.7.0/24 +202.40.15.0/24 +202.40.135.0/24 +202.40.136.0/24 +202.40.140.0/24 +202.40.143.0/24 +202.40.144.0/23 +202.40.150.0/24 +202.40.155.0/24 +202.40.156.0/24 +202.40.158.0/23 +202.40.162.0/24 +202.41.8.0/23 +202.41.11.0/24 +202.41.12.0/23 +202.41.128.0/24 +202.41.130.0/23 +202.41.152.0/21 +202.41.192.0/24 +202.41.196.0/22 +202.41.200.0/22 +202.41.240.0/20 +202.43.76.0/22 +202.43.144.0/20 +202.44.16.0/20 +202.44.48.0/22 +202.44.67.0/24 +202.44.74.0/24 +202.44.97.0/24 +202.44.129.0/24 +202.44.132.0/23 +202.44.146.0/23 +202.45.0.0/23 +202.45.2.0/24 +202.45.15.0/24 +202.45.16.0/20 +202.46.16.0/23 +202.46.18.0/24 +202.46.20.0/23 +202.46.32.0/19 +202.46.128.0/24 +202.46.224.0/20 +202.47.82.0/23 +202.47.96.0/22 +202.47.100.0/22 +202.47.104.0/22 +202.47.108.0/22 +202.47.126.0/24 +202.47.128.0/24 +202.47.130.0/23 +202.52.33.0/24 +202.52.34.0/24 +202.52.47.0/24 +202.52.143.0/24 +202.52.144.0/24 +202.53.140.0/24 +202.53.143.0/24 +202.57.192.0/22 +202.57.196.0/22 +202.57.200.0/22 +202.57.204.0/22 +202.57.212.0/22 +202.57.216.0/22 +202.57.240.0/20 +202.58.0.0/24 +202.58.101.0/24 +202.58.104.0/22 +202.58.112.0/22 +202.59.0.0/24 +202.59.1.0/24 +202.59.212.0/22 +202.59.236.0/24 +202.59.240.0/24 +202.60.48.0/21 +202.60.96.0/21 +202.60.112.0/20 +202.60.132.0/22 +202.60.136.0/21 +202.60.144.0/20 +202.61.68.0/22 +202.61.76.0/22 +202.61.88.0/22 +202.61.123.0/24 +202.61.127.0/24 +202.62.112.0/22 +202.62.248.0/22 +202.62.252.0/24 +202.62.255.0/24 +202.63.80.0/24 +202.63.81.0/24 +202.63.82.0/23 +202.63.84.0/22 +202.63.88.0/21 +202.63.160.0/19 +202.63.248.0/22 +202.63.253.0/24 +202.65.0.0/21 +202.65.8.0/23 +202.65.96.0/22 +202.65.100.0/22 +202.65.104.0/22 +202.65.108.0/22 +202.66.168.0/22 +202.67.0.0/22 +202.69.4.0/22 +202.69.16.0/20 +202.70.0.0/19 +202.70.96.0/20 +202.70.192.0/20 +202.71.32.0/22 +202.71.36.0/22 +202.71.40.0/22 +202.71.44.0/22 +202.72.40.0/21 +202.72.80.0/20 +202.72.112.0/22 +202.72.116.0/22 +202.72.120.0/22 +202.72.124.0/22 +202.73.128.0/22 +202.73.240.0/22 +202.73.244.0/22 +202.73.248.0/22 +202.73.252.0/22 +202.74.8.0/21 +202.74.36.0/24 +202.74.42.0/24 +202.74.52.0/24 +202.74.80.0/20 +202.74.254.0/23 +202.75.208.0/20 +202.75.252.0/22 +202.76.252.0/22 +202.77.80.0/21 +202.77.92.0/22 +202.78.8.0/21 +202.79.224.0/21 +202.79.248.0/22 +202.80.192.0/21 +202.80.200.0/21 +202.81.0.0/22 +202.81.176.0/22 +202.81.180.0/22 +202.81.184.0/22 +202.81.188.0/22 +202.83.252.0/22 +202.84.0.0/22 +202.84.4.0/22 +202.84.8.0/21 +202.84.16.0/23 +202.84.22.0/24 +202.84.24.0/21 +202.85.208.0/20 +202.86.249.0/24 +202.86.252.0/22 +202.87.80.0/20 +202.88.32.0/22 +202.89.8.0/21 +202.89.96.0/22 +202.89.108.0/22 +202.89.119.0/24 +202.89.232.0/21 +202.90.0.0/22 +202.90.16.0/22 +202.90.20.0/22 +202.90.24.0/22 +202.90.28.0/22 +202.90.37.0/24 +202.90.96.0/22 +202.90.100.0/22 +202.90.104.0/22 +202.90.108.0/22 +202.90.112.0/20 +202.90.193.0/24 +202.90.196.0/24 +202.90.205.0/24 +202.90.224.0/20 +202.91.0.0/22 +202.91.36.0/22 +202.91.96.0/20 +202.91.128.0/22 +202.91.176.0/20 +202.91.224.0/19 +202.92.0.0/22 +202.92.8.0/21 +202.92.48.0/20 +202.92.252.0/22 +202.93.0.0/22 +202.93.252.0/22 +202.94.68.0/24 +202.94.74.0/24 +202.94.81.0/24 +202.94.92.0/22 +202.95.240.0/21 +202.95.252.0/22 +202.96.0.0/18 +202.96.64.0/21 +202.96.72.0/21 +202.96.80.0/20 +202.96.96.0/21 +202.96.104.0/21 +202.96.112.0/20 +202.96.128.0/21 +202.96.136.0/21 +202.96.144.0/20 +202.96.160.0/21 +202.96.168.0/21 +202.96.176.0/20 +202.96.192.0/21 +202.96.200.0/21 +202.96.208.0/20 +202.96.224.0/21 +202.96.232.0/21 +202.96.240.0/20 +202.97.0.0/21 +202.97.8.0/21 +202.97.16.0/20 +202.97.32.0/19 +202.97.64.0/19 +202.97.96.0/20 +202.97.112.0/20 +202.97.128.0/18 +202.97.192.0/19 +202.97.224.0/21 +202.97.232.0/21 +202.97.240.0/20 +202.98.0.0/21 +202.98.8.0/21 +202.98.16.0/20 +202.98.32.0/21 +202.98.40.0/21 +202.98.48.0/20 +202.98.64.0/19 +202.98.96.0/21 +202.98.104.0/21 +202.98.112.0/20 +202.98.128.0/19 +202.98.160.0/21 +202.98.168.0/21 +202.98.176.0/20 +202.98.192.0/21 +202.98.200.0/21 +202.98.208.0/20 +202.98.224.0/21 +202.98.232.0/21 +202.98.240.0/20 +202.99.0.0/18 +202.99.64.0/19 +202.99.96.0/21 +202.99.104.0/21 +202.99.112.0/20 +202.99.128.0/19 +202.99.160.0/21 +202.99.168.0/21 +202.99.176.0/20 +202.99.192.0/21 +202.99.200.0/21 +202.99.208.0/20 +202.99.224.0/21 +202.99.232.0/21 +202.99.240.0/20 +202.100.0.0/21 +202.100.8.0/21 +202.100.16.0/20 +202.100.32.0/19 +202.100.64.0/21 +202.100.72.0/21 +202.100.80.0/20 +202.100.96.0/21 +202.100.104.0/21 +202.100.112.0/20 +202.100.128.0/21 +202.100.136.0/21 +202.100.144.0/20 +202.100.160.0/21 +202.100.168.0/21 +202.100.176.0/20 +202.100.192.0/21 +202.100.200.0/21 +202.100.208.0/20 +202.100.224.0/19 +202.101.0.0/18 +202.101.64.0/19 +202.101.96.0/19 +202.101.128.0/18 +202.101.192.0/19 +202.101.224.0/21 +202.101.232.0/21 +202.101.240.0/20 +202.102.0.0/19 +202.102.32.0/19 +202.102.64.0/18 +202.102.128.0/21 +202.102.136.0/21 +202.102.144.0/20 +202.102.160.0/19 +202.102.192.0/21 +202.102.200.0/21 +202.102.208.0/20 +202.102.224.0/21 +202.102.232.0/21 +202.102.240.0/20 +202.103.0.0/21 +202.103.8.0/21 +202.103.16.0/20 +202.103.32.0/19 +202.103.64.0/19 +202.103.96.0/21 +202.103.104.0/21 +202.103.112.0/20 +202.103.128.0/18 +202.103.192.0/19 +202.103.224.0/21 +202.103.232.0/21 +202.103.240.0/20 +202.104.0.0/15 +202.106.0.0/16 +202.107.0.0/17 +202.107.128.0/17 +202.108.0.0/16 +202.109.0.0/16 +202.110.0.0/18 +202.110.64.0/18 +202.110.128.0/18 +202.110.192.0/18 +202.111.0.0/17 +202.111.128.0/19 +202.111.160.0/19 +202.111.192.0/18 +202.112.0.0/16 +202.113.0.0/20 +202.113.16.0/20 +202.113.32.0/19 +202.113.64.0/18 +202.113.128.0/18 +202.113.192.0/19 +202.113.224.0/20 +202.113.240.0/20 +202.114.0.0/19 +202.114.32.0/19 +202.114.64.0/18 +202.114.128.0/17 +202.115.0.0/19 +202.115.32.0/19 +202.115.64.0/18 +202.115.128.0/17 +202.116.0.0/19 +202.116.32.0/20 +202.116.48.0/20 +202.116.64.0/19 +202.116.96.0/19 +202.116.128.0/17 +202.117.0.0/18 +202.117.64.0/18 +202.117.128.0/17 +202.118.0.0/19 +202.118.32.0/19 +202.118.64.0/18 +202.118.128.0/17 +202.119.0.0/19 +202.119.32.0/19 +202.119.64.0/20 +202.119.80.0/20 +202.119.96.0/19 +202.119.128.0/17 +202.120.0.0/18 +202.120.64.0/18 +202.120.128.0/17 +202.121.0.0/16 +202.122.0.0/21 +202.122.32.0/21 +202.122.64.0/19 +202.122.112.0/21 +202.122.120.0/21 +202.122.128.0/24 +202.122.132.0/24 +202.123.96.0/20 +202.123.116.0/22 +202.123.120.0/22 +202.124.16.0/21 +202.124.24.0/22 +202.125.107.0/24 +202.125.109.0/24 +202.125.112.0/20 +202.125.176.0/20 +202.127.0.0/23 +202.127.2.0/24 +202.127.3.0/24 +202.127.4.0/24 +202.127.5.0/24 +202.127.6.0/23 +202.127.12.0/22 +202.127.16.0/20 +202.127.40.0/21 +202.127.48.0/20 +202.127.112.0/20 +202.127.128.0/20 +202.127.144.0/20 +202.127.160.0/21 +202.127.192.0/23 +202.127.194.0/23 +202.127.196.0/22 +202.127.200.0/21 +202.127.208.0/24 +202.127.209.0/24 +202.127.212.0/22 +202.127.216.0/21 +202.127.224.0/19 +202.129.208.0/24 +202.130.0.0/19 +202.130.39.0/24 +202.130.224.0/19 +202.131.16.0/21 +202.131.48.0/20 +202.131.208.0/20 +202.133.32.0/20 +202.134.58.0/24 +202.134.128.0/20 +202.134.208.0/22 +202.134.212.0/22 +202.134.216.0/22 +202.134.220.0/22 +202.136.48.0/20 +202.136.208.0/20 +202.136.224.0/20 +202.136.248.0/22 +202.137.231.0/24 +202.140.140.0/22 +202.140.144.0/22 +202.140.148.0/22 +202.140.152.0/22 +202.140.156.0/22 +202.141.160.0/19 +202.142.16.0/20 +202.143.4.0/22 +202.143.16.0/20 +202.143.32.0/20 +202.143.56.0/21 +202.143.100.0/22 +202.143.104.0/22 +202.144.196.0/22 +202.146.160.0/20 +202.146.186.0/24 +202.146.188.0/22 +202.146.196.0/22 +202.146.200.0/21 +202.147.144.0/20 +202.148.32.0/20 +202.148.64.0/19 +202.148.96.0/19 +202.149.32.0/19 +202.149.160.0/19 +202.149.224.0/19 +202.150.16.0/20 +202.150.32.0/20 +202.150.56.0/22 +202.150.192.0/20 +202.150.224.0/19 +202.151.0.0/22 +202.151.33.0/24 +202.151.128.0/19 +202.152.176.0/20 +202.153.0.0/22 +202.153.7.0/24 +202.153.48.0/20 +202.157.192.0/19 +202.158.160.0/19 +202.158.242.0/24 +202.160.140.0/22 +202.160.156.0/22 +202.160.176.0/20 +202.162.67.0/24 +202.162.75.0/24 +202.164.0.0/20 +202.164.96.0/19 +202.165.176.0/20 +202.165.208.0/20 +202.165.239.0/24 +202.165.240.0/23 +202.165.243.0/24 +202.165.245.0/24 +202.165.251.0/24 +202.165.252.0/22 +202.166.224.0/19 +202.168.80.0/22 +202.168.128.0/22 +202.168.132.0/22 +202.168.136.0/22 +202.168.140.0/22 +202.168.160.0/20 +202.168.176.0/20 +202.170.128.0/19 +202.170.216.0/21 +202.170.224.0/19 +202.171.216.0/21 +202.171.232.0/24 +202.171.235.0/24 +202.172.0.0/22 +202.172.7.0/24 +202.173.0.0/22 +202.173.6.0/24 +202.173.8.0/21 +202.173.112.0/22 +202.173.224.0/19 +202.174.64.0/20 +202.174.124.0/22 +202.176.224.0/19 +202.179.160.0/22 +202.179.164.0/22 +202.179.168.0/22 +202.179.172.0/22 +202.179.240.0/20 +202.180.128.0/19 +202.180.208.0/21 +202.181.8.0/22 +202.181.28.0/22 +202.181.112.0/20 +202.182.32.0/20 +202.182.192.0/19 +202.189.0.0/18 +202.189.80.0/20 +202.189.184.0/21 +202.191.0.0/24 +202.191.68.0/22 +202.191.72.0/21 +202.191.80.0/20 +202.192.0.0/13 +202.200.0.0/14 +202.204.0.0/14 +203.0.4.0/22 +203.0.10.0/23 +203.0.18.0/24 +203.0.24.0/24 +203.0.42.0/23 +203.0.45.0/24 +203.0.46.0/23 +203.0.81.0/24 +203.0.82.0/23 +203.0.90.0/23 +203.0.96.0/23 +203.0.104.0/21 +203.0.114.0/23 +203.0.122.0/24 +203.0.128.0/24 +203.0.130.0/23 +203.0.132.0/22 +203.0.137.0/24 +203.0.142.0/24 +203.0.144.0/24 +203.0.146.0/24 +203.0.148.0/24 +203.0.150.0/23 +203.0.152.0/24 +203.0.177.0/24 +203.0.224.0/24 +203.1.4.0/22 +203.1.18.0/24 +203.1.26.0/23 +203.1.65.0/24 +203.1.66.0/23 +203.1.70.0/23 +203.1.76.0/23 +203.1.90.0/24 +203.1.97.0/24 +203.1.98.0/23 +203.1.100.0/22 +203.1.108.0/24 +203.1.253.0/24 +203.1.254.0/24 +203.2.64.0/21 +203.2.73.0/24 +203.2.112.0/21 +203.2.126.0/23 +203.2.140.0/24 +203.2.150.0/24 +203.2.152.0/22 +203.2.156.0/23 +203.2.160.0/21 +203.2.180.0/23 +203.2.196.0/23 +203.2.209.0/24 +203.2.214.0/23 +203.2.226.0/23 +203.2.229.0/24 +203.2.236.0/23 +203.3.68.0/24 +203.3.72.0/23 +203.3.75.0/24 +203.3.80.0/21 +203.3.96.0/22 +203.3.105.0/24 +203.3.112.0/21 +203.3.120.0/24 +203.3.123.0/24 +203.3.135.0/24 +203.3.139.0/24 +203.3.143.0/24 +203.4.132.0/23 +203.4.134.0/24 +203.4.151.0/24 +203.4.152.0/22 +203.4.174.0/23 +203.4.180.0/24 +203.4.186.0/24 +203.4.205.0/24 +203.4.208.0/22 +203.4.227.0/24 +203.4.230.0/23 +203.5.4.0/23 +203.5.7.0/24 +203.5.8.0/23 +203.5.11.0/24 +203.5.21.0/24 +203.5.22.0/24 +203.5.44.0/24 +203.5.46.0/23 +203.5.52.0/22 +203.5.56.0/23 +203.5.60.0/23 +203.5.114.0/23 +203.5.118.0/24 +203.5.120.0/24 +203.5.172.0/24 +203.5.180.0/23 +203.5.182.0/24 +203.5.185.0/24 +203.5.186.0/24 +203.5.188.0/23 +203.5.190.0/24 +203.5.195.0/24 +203.5.214.0/23 +203.5.218.0/23 +203.6.131.0/24 +203.6.136.0/24 +203.6.138.0/23 +203.6.142.0/24 +203.6.150.0/23 +203.6.157.0/24 +203.6.159.0/24 +203.6.224.0/20 +203.6.248.0/23 +203.7.129.0/24 +203.7.138.0/23 +203.7.147.0/24 +203.7.150.0/23 +203.7.158.0/24 +203.7.192.0/23 +203.7.200.0/24 +203.8.0.0/24 +203.8.8.0/24 +203.8.23.0/24 +203.8.70.0/24 +203.8.82.0/24 +203.8.86.0/23 +203.8.91.0/24 +203.8.110.0/23 +203.8.115.0/24 +203.8.166.0/23 +203.8.169.0/24 +203.8.173.0/24 +203.8.184.0/24 +203.8.186.0/23 +203.8.190.0/23 +203.8.192.0/24 +203.8.197.0/24 +203.8.198.0/23 +203.8.203.0/24 +203.8.209.0/24 +203.8.210.0/23 +203.8.212.0/22 +203.8.217.0/24 +203.8.220.0/24 +203.9.32.0/24 +203.9.36.0/23 +203.9.57.0/24 +203.9.63.0/24 +203.9.65.0/24 +203.9.70.0/23 +203.9.72.0/24 +203.9.75.0/24 +203.9.76.0/23 +203.9.96.0/22 +203.9.100.0/23 +203.9.108.0/24 +203.9.158.0/24 +203.10.34.0/24 +203.10.56.0/24 +203.10.74.0/23 +203.10.84.0/22 +203.10.88.0/24 +203.10.95.0/24 +203.10.125.0/24 +203.11.70.0/24 +203.11.76.0/22 +203.11.82.0/24 +203.11.84.0/22 +203.11.100.0/22 +203.11.109.0/24 +203.11.117.0/24 +203.11.122.0/24 +203.11.126.0/24 +203.11.136.0/22 +203.11.141.0/24 +203.11.142.0/23 +203.11.180.0/22 +203.11.208.0/22 +203.12.16.0/24 +203.12.19.0/24 +203.12.24.0/24 +203.12.57.0/24 +203.12.65.0/24 +203.12.66.0/24 +203.12.70.0/23 +203.12.87.0/24 +203.12.100.0/23 +203.12.103.0/24 +203.12.114.0/24 +203.12.118.0/24 +203.12.130.0/24 +203.12.137.0/24 +203.12.196.0/22 +203.12.211.0/24 +203.12.219.0/24 +203.12.226.0/24 +203.12.240.0/22 +203.13.18.0/24 +203.13.24.0/24 +203.13.44.0/23 +203.13.88.0/23 +203.13.92.0/22 +203.13.173.0/24 +203.13.224.0/23 +203.13.227.0/24 +203.13.233.0/24 +203.14.24.0/22 +203.14.33.0/24 +203.14.56.0/24 +203.14.61.0/24 +203.14.62.0/24 +203.14.104.0/24 +203.14.114.0/23 +203.14.118.0/24 +203.14.162.0/24 +203.14.192.0/24 +203.14.194.0/23 +203.14.214.0/24 +203.14.231.0/24 +203.14.246.0/24 +203.15.0.0/20 +203.15.20.0/23 +203.15.22.0/24 +203.15.87.0/24 +203.15.88.0/23 +203.15.105.0/24 +203.15.112.0/21 +203.15.130.0/23 +203.15.149.0/24 +203.15.151.0/24 +203.15.156.0/22 +203.15.174.0/24 +203.15.227.0/24 +203.15.232.0/21 +203.15.240.0/23 +203.15.246.0/24 +203.16.10.0/24 +203.16.12.0/23 +203.16.16.0/21 +203.16.27.0/24 +203.16.38.0/24 +203.16.49.0/24 +203.16.50.0/23 +203.16.58.0/24 +203.16.63.0/24 +203.16.133.0/24 +203.16.161.0/24 +203.16.162.0/24 +203.16.186.0/23 +203.16.228.0/24 +203.16.238.0/24 +203.16.240.0/24 +203.16.245.0/24 +203.17.2.0/24 +203.17.18.0/24 +203.17.28.0/24 +203.17.39.0/24 +203.17.56.0/24 +203.17.74.0/23 +203.17.88.0/23 +203.17.136.0/24 +203.17.164.0/24 +203.17.187.0/24 +203.17.190.0/23 +203.17.231.0/24 +203.17.233.0/24 +203.17.248.0/24 +203.17.249.0/24 +203.17.255.0/24 +203.18.2.0/23 +203.18.4.0/24 +203.18.7.0/24 +203.18.31.0/24 +203.18.37.0/24 +203.18.48.0/23 +203.18.52.0/24 +203.18.72.0/22 +203.18.80.0/23 +203.18.87.0/24 +203.18.100.0/23 +203.18.105.0/24 +203.18.107.0/24 +203.18.110.0/24 +203.18.129.0/24 +203.18.131.0/24 +203.18.132.0/23 +203.18.144.0/24 +203.18.153.0/24 +203.18.199.0/24 +203.18.208.0/24 +203.18.211.0/24 +203.18.215.0/24 +203.19.1.0/24 +203.19.18.0/24 +203.19.24.0/24 +203.19.30.0/24 +203.19.32.0/21 +203.19.41.0/24 +203.19.44.0/23 +203.19.46.0/24 +203.19.58.0/24 +203.19.60.0/23 +203.19.64.0/24 +203.19.68.0/24 +203.19.72.0/24 +203.19.101.0/24 +203.19.111.0/24 +203.19.131.0/24 +203.19.133.0/24 +203.19.144.0/24 +203.19.147.0/24 +203.19.149.0/24 +203.19.156.0/24 +203.19.176.0/24 +203.19.178.0/23 +203.19.208.0/24 +203.19.228.0/22 +203.19.233.0/24 +203.19.242.0/24 +203.19.248.0/23 +203.19.255.0/24 +203.20.17.0/24 +203.20.40.0/23 +203.20.44.0/24 +203.20.48.0/24 +203.20.61.0/24 +203.20.65.0/24 +203.20.84.0/23 +203.20.89.0/24 +203.20.106.0/23 +203.20.115.0/24 +203.20.117.0/24 +203.20.118.0/23 +203.20.122.0/24 +203.20.126.0/23 +203.20.135.0/24 +203.20.136.0/21 +203.20.150.0/24 +203.20.230.0/24 +203.20.232.0/24 +203.20.236.0/24 +203.21.0.0/23 +203.21.2.0/24 +203.21.8.0/24 +203.21.10.0/24 +203.21.18.0/24 +203.21.33.0/24 +203.21.34.0/24 +203.21.41.0/24 +203.21.44.0/24 +203.21.68.0/24 +203.21.82.0/24 +203.21.96.0/22 +203.21.124.0/24 +203.21.136.0/23 +203.21.145.0/24 +203.21.206.0/24 +203.22.24.0/24 +203.22.28.0/23 +203.22.31.0/24 +203.22.68.0/24 +203.22.76.0/24 +203.22.78.0/24 +203.22.84.0/24 +203.22.87.0/24 +203.22.92.0/22 +203.22.99.0/24 +203.22.106.0/24 +203.22.122.0/23 +203.22.131.0/24 +203.22.163.0/24 +203.22.166.0/24 +203.22.170.0/24 +203.22.176.0/21 +203.22.194.0/24 +203.22.242.0/23 +203.22.245.0/24 +203.22.246.0/24 +203.22.252.0/23 +203.23.0.0/24 +203.23.47.0/24 +203.23.61.0/24 +203.23.62.0/23 +203.23.73.0/24 +203.23.85.0/24 +203.23.92.0/22 +203.23.98.0/24 +203.23.107.0/24 +203.23.112.0/24 +203.23.130.0/24 +203.23.140.0/23 +203.23.172.0/24 +203.23.182.0/24 +203.23.186.0/23 +203.23.192.0/24 +203.23.197.0/24 +203.23.198.0/24 +203.23.204.0/22 +203.23.224.0/24 +203.23.226.0/23 +203.23.228.0/22 +203.23.249.0/24 +203.23.251.0/24 +203.24.13.0/24 +203.24.18.0/24 +203.24.27.0/24 +203.24.43.0/24 +203.24.56.0/24 +203.24.58.0/24 +203.24.67.0/24 +203.24.74.0/24 +203.24.79.0/24 +203.24.80.0/23 +203.24.84.0/23 +203.24.86.0/24 +203.24.90.0/24 +203.24.111.0/24 +203.24.112.0/24 +203.24.116.0/24 +203.24.122.0/23 +203.24.145.0/24 +203.24.152.0/23 +203.24.157.0/24 +203.24.161.0/24 +203.24.167.0/24 +203.24.186.0/23 +203.24.199.0/24 +203.24.202.0/24 +203.24.212.0/23 +203.24.217.0/24 +203.24.219.0/24 +203.24.244.0/24 +203.25.19.0/24 +203.25.20.0/23 +203.25.46.0/24 +203.25.48.0/21 +203.25.64.0/23 +203.25.91.0/24 +203.25.99.0/24 +203.25.100.0/24 +203.25.106.0/24 +203.25.131.0/24 +203.25.135.0/24 +203.25.138.0/24 +203.25.147.0/24 +203.25.153.0/24 +203.25.154.0/23 +203.25.164.0/24 +203.25.166.0/24 +203.25.174.0/23 +203.25.180.0/24 +203.25.182.0/24 +203.25.191.0/24 +203.25.199.0/24 +203.25.200.0/24 +203.25.202.0/23 +203.25.208.0/20 +203.25.229.0/24 +203.25.235.0/24 +203.25.236.0/24 +203.25.242.0/24 +203.26.12.0/24 +203.26.34.0/24 +203.26.49.0/24 +203.26.50.0/24 +203.26.55.0/24 +203.26.56.0/23 +203.26.60.0/24 +203.26.65.0/24 +203.26.68.0/24 +203.26.76.0/24 +203.26.80.0/24 +203.26.84.0/24 +203.26.97.0/24 +203.26.102.0/23 +203.26.115.0/24 +203.26.116.0/24 +203.26.129.0/24 +203.26.143.0/24 +203.26.144.0/24 +203.26.148.0/23 +203.26.154.0/24 +203.26.158.0/23 +203.26.170.0/24 +203.26.173.0/24 +203.26.176.0/24 +203.26.185.0/24 +203.26.202.0/23 +203.26.210.0/24 +203.26.214.0/24 +203.26.222.0/24 +203.26.224.0/24 +203.26.228.0/24 +203.26.232.0/24 +203.27.0.0/24 +203.27.10.0/24 +203.27.15.0/24 +203.27.16.0/24 +203.27.20.0/24 +203.27.22.0/23 +203.27.40.0/24 +203.27.45.0/24 +203.27.53.0/24 +203.27.65.0/24 +203.27.66.0/24 +203.27.81.0/24 +203.27.88.0/24 +203.27.102.0/24 +203.27.109.0/24 +203.27.117.0/24 +203.27.121.0/24 +203.27.122.0/23 +203.27.125.0/24 +203.27.200.0/24 +203.27.202.0/24 +203.27.233.0/24 +203.27.241.0/24 +203.27.250.0/24 +203.28.10.0/24 +203.28.12.0/24 +203.28.33.0/24 +203.28.34.0/23 +203.28.43.0/24 +203.28.44.0/24 +203.28.54.0/24 +203.28.56.0/24 +203.28.73.0/24 +203.28.74.0/24 +203.28.76.0/24 +203.28.86.0/24 +203.28.88.0/24 +203.28.112.0/24 +203.28.131.0/24 +203.28.136.0/24 +203.28.140.0/24 +203.28.145.0/24 +203.28.165.0/24 +203.28.169.0/24 +203.28.170.0/24 +203.28.178.0/23 +203.28.185.0/24 +203.28.187.0/24 +203.28.196.0/24 +203.28.226.0/23 +203.28.239.0/24 +203.29.2.0/24 +203.29.8.0/23 +203.29.13.0/24 +203.29.14.0/24 +203.29.28.0/24 +203.29.46.0/24 +203.29.57.0/24 +203.29.61.0/24 +203.29.63.0/24 +203.29.69.0/24 +203.29.73.0/24 +203.29.81.0/24 +203.29.90.0/24 +203.29.95.0/24 +203.29.100.0/24 +203.29.103.0/24 +203.29.112.0/24 +203.29.120.0/22 +203.29.182.0/23 +203.29.187.0/24 +203.29.189.0/24 +203.29.190.0/24 +203.29.205.0/24 +203.29.210.0/24 +203.29.217.0/24 +203.29.227.0/24 +203.29.231.0/24 +203.29.233.0/24 +203.29.234.0/24 +203.29.248.0/24 +203.29.254.0/23 +203.30.16.0/23 +203.30.25.0/24 +203.30.27.0/24 +203.30.29.0/24 +203.30.66.0/24 +203.30.81.0/24 +203.30.87.0/24 +203.30.111.0/24 +203.30.121.0/24 +203.30.123.0/24 +203.30.152.0/24 +203.30.156.0/24 +203.30.162.0/24 +203.30.173.0/24 +203.30.175.0/24 +203.30.187.0/24 +203.30.194.0/24 +203.30.217.0/24 +203.30.220.0/24 +203.30.222.0/24 +203.30.232.0/23 +203.30.235.0/24 +203.30.240.0/23 +203.30.246.0/24 +203.30.250.0/23 +203.31.45.0/24 +203.31.46.0/24 +203.31.49.0/24 +203.31.51.0/24 +203.31.54.0/23 +203.31.69.0/24 +203.31.72.0/24 +203.31.80.0/24 +203.31.85.0/24 +203.31.97.0/24 +203.31.105.0/24 +203.31.106.0/24 +203.31.108.0/23 +203.31.124.0/24 +203.31.162.0/24 +203.31.174.0/24 +203.31.177.0/24 +203.31.181.0/24 +203.31.187.0/24 +203.31.189.0/24 +203.31.204.0/24 +203.31.220.0/24 +203.31.222.0/23 +203.31.225.0/24 +203.31.229.0/24 +203.31.248.0/23 +203.31.253.0/24 +203.32.20.0/24 +203.32.48.0/23 +203.32.56.0/24 +203.32.60.0/24 +203.32.62.0/24 +203.32.68.0/23 +203.32.76.0/24 +203.32.81.0/24 +203.32.84.0/23 +203.32.95.0/24 +203.32.102.0/24 +203.32.105.0/24 +203.32.130.0/24 +203.32.133.0/24 +203.32.140.0/24 +203.32.152.0/24 +203.32.186.0/23 +203.32.192.0/24 +203.32.196.0/24 +203.32.203.0/24 +203.32.204.0/23 +203.32.212.0/24 +203.33.4.0/24 +203.33.7.0/24 +203.33.8.0/21 +203.33.21.0/24 +203.33.26.0/24 +203.33.32.0/24 +203.33.63.0/24 +203.33.64.0/24 +203.33.67.0/24 +203.33.68.0/24 +203.33.73.0/24 +203.33.79.0/24 +203.33.100.0/24 +203.33.122.0/24 +203.33.129.0/24 +203.33.131.0/24 +203.33.145.0/24 +203.33.156.0/24 +203.33.158.0/23 +203.33.174.0/24 +203.33.185.0/24 +203.33.200.0/24 +203.33.202.0/23 +203.33.204.0/24 +203.33.206.0/23 +203.33.214.0/23 +203.33.224.0/23 +203.33.226.0/24 +203.33.233.0/24 +203.33.243.0/24 +203.33.250.0/24 +203.34.4.0/24 +203.34.21.0/24 +203.34.27.0/24 +203.34.39.0/24 +203.34.48.0/23 +203.34.54.0/24 +203.34.56.0/23 +203.34.67.0/24 +203.34.69.0/24 +203.34.76.0/24 +203.34.92.0/24 +203.34.106.0/24 +203.34.113.0/24 +203.34.147.0/24 +203.34.150.0/24 +203.34.152.0/23 +203.34.161.0/24 +203.34.162.0/24 +203.34.187.0/24 +203.34.192.0/21 +203.34.204.0/22 +203.34.232.0/24 +203.34.240.0/24 +203.34.242.0/24 +203.34.245.0/24 +203.34.251.0/24 +203.55.2.0/23 +203.55.4.0/24 +203.55.10.0/24 +203.55.13.0/24 +203.55.22.0/24 +203.55.30.0/24 +203.55.93.0/24 +203.55.101.0/24 +203.55.109.0/24 +203.55.110.0/24 +203.55.116.0/23 +203.55.119.0/24 +203.55.128.0/23 +203.55.146.0/23 +203.55.192.0/24 +203.55.196.0/24 +203.55.218.0/23 +203.55.221.0/24 +203.55.224.0/24 +203.56.1.0/24 +203.56.4.0/24 +203.56.12.0/24 +203.56.24.0/24 +203.56.38.0/24 +203.56.40.0/24 +203.56.46.0/24 +203.56.48.0/21 +203.56.68.0/23 +203.56.82.0/23 +203.56.84.0/23 +203.56.95.0/24 +203.56.110.0/24 +203.56.121.0/24 +203.56.161.0/24 +203.56.169.0/24 +203.56.172.0/23 +203.56.175.0/24 +203.56.183.0/24 +203.56.185.0/24 +203.56.187.0/24 +203.56.192.0/24 +203.56.198.0/24 +203.56.201.0/24 +203.56.208.0/23 +203.56.210.0/24 +203.56.214.0/24 +203.56.216.0/24 +203.56.227.0/24 +203.56.228.0/24 +203.56.231.0/24 +203.56.232.0/24 +203.56.240.0/24 +203.56.252.0/24 +203.56.254.0/24 +203.57.5.0/24 +203.57.6.0/24 +203.57.12.0/23 +203.57.28.0/24 +203.57.39.0/24 +203.57.46.0/24 +203.57.58.0/24 +203.57.61.0/24 +203.57.66.0/24 +203.57.69.0/24 +203.57.70.0/23 +203.57.73.0/24 +203.57.90.0/24 +203.57.101.0/24 +203.57.109.0/24 +203.57.123.0/24 +203.57.157.0/24 +203.57.200.0/24 +203.57.202.0/24 +203.57.206.0/24 +203.57.222.0/24 +203.57.224.0/20 +203.57.246.0/23 +203.57.249.0/24 +203.57.253.0/24 +203.57.254.0/23 +203.62.2.0/24 +203.62.131.0/24 +203.62.139.0/24 +203.62.161.0/24 +203.62.197.0/24 +203.62.228.0/22 +203.62.234.0/24 +203.62.246.0/24 +203.76.160.0/22 +203.76.168.0/22 +203.76.208.0/22 +203.76.212.0/22 +203.76.216.0/22 +203.76.240.0/22 +203.76.244.0/22 +203.77.180.0/22 +203.78.48.0/20 +203.78.156.0/22 +203.79.0.0/20 +203.79.32.0/20 +203.80.4.0/23 +203.80.32.0/20 +203.80.57.0/24 +203.80.129.0/24 +203.80.132.0/22 +203.80.136.0/21 +203.80.144.0/20 +203.81.0.0/21 +203.81.16.0/20 +203.81.244.0/22 +203.82.0.0/23 +203.82.16.0/21 +203.82.112.0/22 +203.82.116.0/22 +203.82.120.0/22 +203.82.124.0/22 +203.82.224.0/22 +203.82.228.0/22 +203.82.232.0/22 +203.82.236.0/22 +203.83.0.0/22 +203.83.8.0/22 +203.83.12.0/22 +203.83.56.0/21 +203.83.224.0/20 +203.86.0.0/19 +203.86.32.0/19 +203.86.64.0/20 +203.86.80.0/20 +203.86.96.0/19 +203.86.250.0/24 +203.86.254.0/23 +203.88.32.0/19 +203.88.192.0/19 +203.89.0.0/22 +203.89.8.0/21 +203.89.100.0/22 +203.89.133.0/24 +203.89.136.0/22 +203.89.144.0/24 +203.90.0.0/22 +203.90.8.0/22 +203.90.12.0/22 +203.90.128.0/19 +203.90.160.0/19 +203.90.192.0/19 +203.91.32.0/19 +203.91.96.0/20 +203.91.120.0/21 +203.92.0.0/22 +203.92.6.0/24 +203.92.160.0/19 +203.93.0.0/22 +203.93.4.0/22 +203.93.8.0/24 +203.93.9.0/24 +203.93.10.0/23 +203.93.12.0/22 +203.93.16.0/20 +203.93.32.0/19 +203.93.64.0/18 +203.93.128.0/21 +203.93.136.0/22 +203.93.140.0/24 +203.93.141.0/24 +203.93.142.0/23 +203.93.144.0/20 +203.93.160.0/19 +203.93.192.0/18 +203.94.0.0/22 +203.94.4.0/22 +203.94.8.0/21 +203.94.16.0/20 +203.95.0.0/21 +203.95.96.0/20 +203.95.112.0/20 +203.95.128.0/18 +203.95.200.0/22 +203.95.204.0/22 +203.95.208.0/22 +203.95.224.0/19 +203.99.8.0/21 +203.99.16.0/20 +203.99.80.0/20 +203.100.32.0/20 +203.100.48.0/21 +203.100.58.0/24 +203.100.60.0/24 +203.100.63.0/24 +203.100.80.0/20 +203.100.96.0/19 +203.100.192.0/20 +203.104.32.0/20 +203.105.96.0/19 +203.105.128.0/19 +203.107.0.0/17 +203.110.160.0/19 +203.110.208.0/20 +203.110.232.0/23 +203.110.234.0/24 +203.114.80.0/22 +203.114.84.0/22 +203.114.88.0/22 +203.114.92.0/22 +203.114.244.0/22 +203.118.192.0/19 +203.118.241.0/24 +203.118.248.0/22 +203.119.24.0/21 +203.119.32.0/22 +203.119.80.0/22 +203.119.85.0/24 +203.119.113.0/24 +203.119.114.0/23 +203.119.116.0/22 +203.119.120.0/21 +203.119.128.0/17 +203.123.58.0/24 +203.128.32.0/19 +203.128.96.0/19 +203.128.224.0/21 +203.129.8.0/21 +203.130.32.0/19 +203.132.32.0/19 +203.134.240.0/21 +203.135.96.0/20 +203.135.112.0/20 +203.135.160.0/20 +203.142.219.0/24 +203.142.224.0/19 +203.144.96.0/19 +203.145.0.0/19 +203.148.0.0/18 +203.148.64.0/20 +203.148.80.0/22 +203.148.86.0/23 +203.149.92.0/22 +203.152.64.0/19 +203.152.128.0/19 +203.153.0.0/22 +203.156.192.0/18 +203.158.16.0/21 +203.160.52.0/22 +203.160.104.0/21 +203.160.129.0/24 +203.160.192.0/19 +203.161.0.0/22 +203.161.180.0/24 +203.161.183.0/24 +203.161.192.0/19 +203.166.160.0/19 +203.167.28.0/22 +203.168.0.0/19 +203.170.58.0/23 +203.171.0.0/22 +203.171.208.0/24 +203.171.224.0/20 +203.174.4.0/24 +203.174.6.0/24 +203.174.7.0/24 +203.174.96.0/19 +203.175.128.0/19 +203.175.192.0/18 +203.176.0.0/18 +203.176.64.0/19 +203.176.168.0/21 +203.184.80.0/20 +203.185.189.0/24 +203.187.160.0/19 +203.189.0.0/23 +203.189.6.0/23 +203.189.112.0/22 +203.189.192.0/19 +203.189.232.0/22 +203.189.240.0/22 +203.190.96.0/20 +203.190.249.0/24 +203.191.0.0/23 +203.191.2.0/24 +203.191.5.0/24 +203.191.7.0/24 +203.191.16.0/20 +203.191.64.0/18 +203.191.133.0/24 +203.191.144.0/21 +203.191.152.0/21 +203.192.0.0/19 +203.193.224.0/19 +203.194.120.0/21 +203.195.64.0/19 +203.195.112.0/21 +203.195.128.0/17 +203.196.0.0/21 +203.196.8.0/21 +203.196.28.0/22 +203.201.181.0/24 +203.201.182.0/24 +203.202.236.0/22 +203.205.64.0/19 +203.205.128.0/17 +203.207.64.0/20 +203.207.80.0/21 +203.207.88.0/22 +203.207.92.0/22 +203.207.96.0/20 +203.207.112.0/20 +203.207.128.0/18 +203.207.192.0/21 +203.207.200.0/21 +203.207.208.0/20 +203.207.224.0/19 +203.208.0.0/20 +203.208.16.0/22 +203.208.32.0/19 +203.209.224.0/19 +203.212.0.0/20 +203.212.80.0/20 +203.215.232.0/21 +203.217.164.0/22 +203.223.0.0/20 +203.223.16.0/21 +204.52.191.0/24 +210.2.0.0/20 +210.2.16.0/20 +210.5.0.0/19 +210.5.56.0/21 +210.5.128.0/20 +210.5.144.0/20 +210.7.56.0/22 +210.7.60.0/22 +210.12.0.0/18 +210.12.64.0/18 +210.12.128.0/18 +210.12.192.0/18 +210.13.0.0/18 +210.13.64.0/18 +210.13.128.0/17 +210.14.64.0/19 +210.14.112.0/20 +210.14.128.0/19 +210.14.160.0/19 +210.14.192.0/19 +210.14.224.0/19 +210.15.0.0/19 +210.15.32.0/19 +210.15.64.0/19 +210.15.96.0/19 +210.15.128.0/18 +210.16.104.0/22 +210.16.128.0/18 +210.21.0.0/17 +210.21.128.0/17 +210.22.0.0/16 +210.23.32.0/19 +210.25.0.0/16 +210.26.0.0/15 +210.28.0.0/14 +210.32.0.0/14 +210.36.0.0/14 +210.40.0.0/13 +210.51.0.0/16 +210.52.0.0/18 +210.52.64.0/18 +210.52.128.0/17 +210.53.0.0/17 +210.53.128.0/17 +210.56.192.0/19 +210.72.0.0/17 +210.72.128.0/19 +210.72.160.0/19 +210.72.192.0/18 +210.73.0.0/19 +210.73.32.0/19 +210.73.64.0/18 +210.73.128.0/17 +210.74.0.0/19 +210.74.32.0/19 +210.74.64.0/19 +210.74.96.0/19 +210.74.128.0/19 +210.74.160.0/19 +210.74.192.0/18 +210.75.0.0/16 +210.76.0.0/19 +210.76.32.0/19 +210.76.64.0/18 +210.76.128.0/17 +210.77.0.0/16 +210.78.0.0/19 +210.78.32.0/19 +210.78.64.0/18 +210.78.128.0/19 +210.78.160.0/19 +210.78.192.0/18 +210.79.64.0/18 +210.79.224.0/19 +210.82.0.0/15 +210.87.128.0/20 +210.87.144.0/20 +210.87.160.0/19 +210.185.192.0/18 +210.192.96.0/19 +211.64.0.0/14 +211.68.0.0/15 +211.70.0.0/15 +211.80.0.0/16 +211.81.0.0/16 +211.82.0.0/16 +211.83.0.0/16 +211.84.0.0/15 +211.86.0.0/15 +211.88.0.0/16 +211.89.0.0/16 +211.90.0.0/15 +211.92.0.0/15 +211.94.0.0/15 +211.96.0.0/15 +211.98.0.0/16 +211.99.0.0/18 +211.99.64.0/19 +211.99.96.0/19 +211.99.128.0/17 +211.100.0.0/16 +211.101.0.0/18 +211.101.64.0/18 +211.101.128.0/17 +211.102.0.0/16 +211.103.0.0/17 +211.103.128.0/17 +211.136.0.0/14 +211.140.0.0/15 +211.142.0.0/17 +211.142.128.0/17 +211.143.0.0/16 +211.144.0.0/15 +211.146.0.0/16 +211.147.0.0/16 +211.148.0.0/14 +211.152.0.0/15 +211.154.0.0/16 +211.155.0.0/18 +211.155.64.0/19 +211.155.96.0/19 +211.155.128.0/17 +211.156.0.0/14 +211.160.0.0/14 +211.164.0.0/14 +212.64.0.0/17 +212.129.128.0/17 +218.0.0.0/16 +218.1.0.0/16 +218.2.0.0/15 +218.4.0.0/15 +218.6.0.0/16 +218.7.0.0/16 +218.8.0.0/15 +218.10.0.0/16 +218.11.0.0/16 +218.12.0.0/16 +218.13.0.0/16 +218.14.0.0/15 +218.16.0.0/14 +218.20.0.0/16 +218.21.0.0/17 +218.21.128.0/17 +218.22.0.0/15 +218.24.0.0/15 +218.26.0.0/16 +218.27.0.0/16 +218.28.0.0/15 +218.30.0.0/15 +218.56.0.0/14 +218.60.0.0/15 +218.62.0.0/17 +218.62.128.0/17 +218.63.0.0/16 +218.64.0.0/15 +218.66.0.0/16 +218.67.0.0/17 +218.67.128.0/17 +218.68.0.0/15 +218.70.0.0/15 +218.72.0.0/14 +218.76.0.0/15 +218.78.0.0/15 +218.80.0.0/14 +218.84.0.0/14 +218.88.0.0/13 +218.96.0.0/15 +218.98.0.0/17 +218.98.128.0/18 +218.98.192.0/19 +218.98.224.0/19 +218.99.0.0/16 +218.100.88.0/21 +218.100.96.0/19 +218.100.128.0/17 +218.104.0.0/17 +218.104.128.0/19 +218.104.160.0/19 +218.104.192.0/21 +218.104.200.0/21 +218.104.208.0/20 +218.104.224.0/19 +218.105.0.0/16 +218.106.0.0/15 +218.108.0.0/16 +218.109.0.0/16 +218.185.192.0/19 +218.185.240.0/21 +218.192.0.0/16 +218.193.0.0/16 +218.194.0.0/16 +218.195.0.0/16 +218.196.0.0/14 +218.200.0.0/14 +218.204.0.0/15 +218.206.0.0/15 +218.240.0.0/14 +218.244.0.0/15 +218.246.0.0/15 +218.249.0.0/16 +219.72.0.0/16 +219.82.0.0/16 +219.83.128.0/17 +219.90.68.0/22 +219.90.72.0/22 +219.90.76.0/22 +219.128.0.0/12 +219.144.0.0/14 +219.148.0.0/16 +219.149.0.0/17 +219.149.128.0/18 +219.149.192.0/18 +219.150.0.0/19 +219.150.32.0/19 +219.150.64.0/19 +219.150.96.0/20 +219.150.112.0/20 +219.150.128.0/17 +219.151.0.0/19 +219.151.32.0/19 +219.151.64.0/18 +219.151.128.0/17 +219.152.0.0/15 +219.154.0.0/15 +219.156.0.0/15 +219.158.0.0/17 +219.158.128.0/17 +219.159.0.0/18 +219.159.64.0/18 +219.159.128.0/17 +219.216.0.0/15 +219.218.0.0/15 +219.220.0.0/16 +219.221.0.0/16 +219.222.0.0/15 +219.224.0.0/15 +219.226.0.0/16 +219.227.0.0/16 +219.228.0.0/15 +219.230.0.0/15 +219.232.0.0/14 +219.236.0.0/15 +219.238.0.0/15 +219.242.0.0/15 +219.244.0.0/14 +220.101.192.0/18 +220.112.0.0/14 +220.152.128.0/17 +220.154.0.0/15 +220.158.240.0/22 +220.160.0.0/11 +220.192.0.0/15 +220.194.0.0/15 +220.196.0.0/14 +220.200.0.0/13 +220.231.0.0/18 +220.231.128.0/17 +220.232.64.0/18 +220.234.0.0/16 +220.242.0.0/15 +220.247.136.0/21 +220.248.0.0/14 +220.252.0.0/16 +221.0.0.0/15 +221.2.0.0/16 +221.3.0.0/17 +221.3.128.0/17 +221.4.0.0/16 +221.5.0.0/17 +221.5.128.0/17 +221.6.0.0/16 +221.7.0.0/19 +221.7.32.0/19 +221.7.64.0/19 +221.7.96.0/19 +221.7.128.0/17 +221.8.0.0/15 +221.10.0.0/16 +221.11.0.0/17 +221.11.128.0/18 +221.11.192.0/19 +221.11.224.0/19 +221.12.0.0/17 +221.12.128.0/18 +221.13.0.0/18 +221.13.64.0/19 +221.13.96.0/19 +221.13.128.0/17 +221.14.0.0/15 +221.122.0.0/15 +221.128.128.0/17 +221.129.0.0/16 +221.130.0.0/15 +221.133.224.0/19 +221.136.0.0/16 +221.137.0.0/16 +221.172.0.0/14 +221.176.0.0/13 +221.192.0.0/15 +221.194.0.0/16 +221.195.0.0/16 +221.196.0.0/15 +221.198.0.0/16 +221.199.0.0/19 +221.199.32.0/20 +221.199.48.0/20 +221.199.64.0/18 +221.199.128.0/18 +221.199.192.0/20 +221.199.224.0/19 +221.200.0.0/14 +221.204.0.0/15 +221.206.0.0/16 +221.207.0.0/18 +221.207.64.0/18 +221.207.128.0/17 +221.208.0.0/14 +221.212.0.0/16 +221.213.0.0/16 +221.214.0.0/15 +221.216.0.0/13 +221.224.0.0/13 +221.232.0.0/14 +221.236.0.0/15 +221.238.0.0/16 +221.239.0.0/17 +221.239.128.0/17 +222.16.0.0/15 +222.18.0.0/15 +222.20.0.0/15 +222.22.0.0/16 +222.23.0.0/16 +222.24.0.0/15 +222.26.0.0/15 +222.28.0.0/14 +222.32.0.0/11 +222.64.0.0/13 +222.72.0.0/15 +222.74.0.0/16 +222.75.0.0/16 +222.76.0.0/14 +222.80.0.0/15 +222.82.0.0/16 +222.83.0.0/17 +222.83.128.0/17 +222.84.0.0/16 +222.85.0.0/17 +222.85.128.0/17 +222.86.0.0/15 +222.88.0.0/15 +222.90.0.0/15 +222.92.0.0/14 +222.125.0.0/16 +222.126.128.0/17 +222.128.0.0/14 +222.132.0.0/14 +222.136.0.0/13 +222.160.0.0/15 +222.162.0.0/16 +222.163.0.0/19 +222.163.32.0/19 +222.163.64.0/18 +222.163.128.0/17 +222.168.0.0/15 +222.170.0.0/15 +222.172.0.0/17 +222.172.128.0/17 +222.173.0.0/16 +222.174.0.0/15 +222.176.0.0/13 +222.184.0.0/13 +222.192.0.0/14 +222.196.0.0/15 +222.198.0.0/16 +222.199.0.0/16 +222.200.0.0/14 +222.204.0.0/15 +222.206.0.0/15 +222.208.0.0/13 +222.216.0.0/15 +222.218.0.0/16 +222.219.0.0/16 +222.220.0.0/15 +222.222.0.0/15 +222.240.0.0/13 +222.248.0.0/16 +222.249.0.0/17 +222.249.128.0/19 +222.249.160.0/20 +222.249.176.0/20 +222.249.192.0/18 +223.0.0.0/15 +223.2.0.0/15 +223.4.0.0/14 +223.8.0.0/13 +223.20.0.0/15 +223.27.184.0/22 +223.29.208.0/22 +223.29.252.0/22 +223.64.0.0/11 +223.96.0.0/12 +223.112.0.0/14 +223.116.0.0/15 +223.120.128.0/17 +223.121.128.0/17 +223.122.0.0/15 +223.124.0.0/14 +223.128.0.0/15 +223.144.0.0/12 +223.160.0.0/14 +223.166.0.0/15 +223.192.0.0/15 +223.198.0.0/15 +223.201.0.0/16 +223.202.0.0/15 +223.208.0.0/14 +223.212.0.0/15 +223.214.0.0/15 +223.220.0.0/15 +223.223.176.0/20 +223.223.192.0/20 +223.240.0.0/13 +223.248.0.0/14 +223.252.128.0/17 +223.254.0.0/16 +223.255.0.0/17 +223.255.236.0/22 +223.255.252.0/23 diff --git a/luci-app-ssr-plus/root/etc/ssrplus/deny.list b/luci-app-ssr-plus/root/etc/ssrplus/deny.list new file mode 100644 index 00000000..dc4344e7 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/deny.list @@ -0,0 +1,14 @@ +gvod.aiseejapp.atianqi.com +stat.pandora.xiaomi.com +upgrade.mishop.pandora.xiaomi.com +logonext.tv.kuyun.com +config.kuyun.com +mishop.pandora.xiaomi.com +dvb.pandora.xiaomi.com +api.ad.xiaomi.com +de.pandora.xiaomi.com +data.mistat.xiaomi.com +jellyfish.pandora.xiaomi.com +gallery.pandora.xiaomi.com +o2o.api.xiaomi.com +bss.pandora.xiaomi.com \ No newline at end of file diff --git a/luci-app-ssr-plus/root/etc/ssrplus/gfw_base.conf b/luci-app-ssr-plus/root/etc/ssrplus/gfw_base.conf new file mode 100644 index 00000000..62cec37c --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/gfw_base.conf @@ -0,0 +1,108 @@ +ipset=/91smartyun.pt/gfwlist +ipset=/adobe.com/gfwlist +ipset=/amazonaws.com/gfwlist +ipset=/ampproject.org/gfwlist +ipset=/apple.news/gfwlist +ipset=/aws.amazon.com/gfwlist +ipset=/azureedge.net/gfwlist +ipset=/backpackers.com.tw/gfwlist +ipset=/bitfinex.com/gfwlist +ipset=/buzzfeed.com/gfwlist +ipset=/clockwise.ee/gfwlist +ipset=/cloudfront.net/gfwlist +ipset=/coindesk.com/gfwlist +ipset=/coinsquare.io/gfwlist +ipset=/cryptocompare.com/gfwlist +ipset=/dropboxstatic.com/gfwlist +ipset=/eurecom.fr/gfwlist +ipset=/gdax.com/gfwlist +ipset=/github.com/gfwlist +ipset=/kknews.cc/gfwlist +ipset=/nutaq.com/gfwlist +ipset=/openairinterface.org/gfwlist +ipset=/skype.com/gfwlist +ipset=/sublimetext.com/gfwlist +ipset=/textnow.com/gfwlist +ipset=/textnow.me/gfwlist +ipset=/trouter.io/gfwlist +ipset=/t66y.com/gfwlist +ipset=/uploaded.net/gfwlist +ipset=/whatsapp.com/gfwlist +ipset=/whatsapp.net/gfwlist +ipset=/wsj.net/gfwlist +ipset=/google.com/gfwlist +ipset=/google.com.hk/gfwlist +ipset=/gstatic.com/gfwlist +ipset=/googleusercontent.com/gfwlist +ipset=/googlepages.com/gfwlist +ipset=/googlevideo.com/gfwlist +ipset=/googlecode.com/gfwlist +ipset=/googleapis.com/gfwlist +ipset=/googlesource.com/gfwlist +ipset=/googledrive.com/gfwlist +ipset=/ggpht.com/gfwlist +ipset=/youtube.com/gfwlist +ipset=/youtu.be/gfwlist +ipset=/ytimg.com/gfwlist +ipset=/twitter.com/gfwlist +ipset=/facebook.com/gfwlist +ipset=/fastly.net/gfwlist +ipset=/akamai.net/gfwlist +ipset=/akamaiedge.net/gfwlist +ipset=/akamaihd.net/gfwlist +ipset=/edgesuite.net/gfwlist +ipset=/edgekey.net/gfwlist +server=/91smartyun.pt/127.0.0.1#5335 +server=/adobe.com/127.0.0.1#5335 +server=/amazonaws.com/127.0.0.1#5335 +server=/ampproject.org/127.0.0.1#5335 +server=/apple.news/127.0.0.1#5335 +server=/aws.amazon.com/127.0.0.1#5335 +server=/azureedge.net/127.0.0.1#5335 +server=/backpackers.com.tw/127.0.0.1#5335 +server=/bitfinex.com/127.0.0.1#5335 +server=/buzzfeed.com/127.0.0.1#5335 +server=/clockwise.ee/127.0.0.1#5335 +server=/cloudfront.net/127.0.0.1#5335 +server=/coindesk.com/127.0.0.1#5335 +server=/coinsquare.io/127.0.0.1#5335 +server=/cryptocompare.com/127.0.0.1#5335 +server=/dropboxstatic.com/127.0.0.1#5335 +server=/eurecom.fr/127.0.0.1#5335 +server=/gdax.com/127.0.0.1#5335 +server=/github.com/127.0.0.1#5335 +server=/kknews.cc/127.0.0.1#5335 +server=/nutaq.com/127.0.0.1#5335 +server=/openairinterface.org/127.0.0.1#5335 +server=/skype.com/127.0.0.1#5335 +server=/sublimetext.com/127.0.0.1#5335 +server=/textnow.com/127.0.0.1#5335 +server=/textnow.me/127.0.0.1#5335 +server=/trouter.io/127.0.0.1#5335 +server=/t66y.com/127.0.0.1#5335 +server=/uploaded.net/127.0.0.1#5335 +server=/whatsapp.com/127.0.0.1#5335 +server=/whatsapp.net/127.0.0.1#5335 +server=/wsj.net/127.0.0.1#5335 +server=/google.com/127.0.0.1#5335 +server=/google.com.hk/127.0.0.1#5335 +server=/gstatic.com/127.0.0.1#5335 +server=/googleusercontent.com/127.0.0.1#5335 +server=/googlepages.com/127.0.0.1#5335 +server=/googlevideo.com/127.0.0.1#5335 +server=/googlecode.com/127.0.0.1#5335 +server=/googleapis.com/127.0.0.1#5335 +server=/googlesource.com/127.0.0.1#5335 +server=/googledrive.com/127.0.0.1#5335 +server=/ggpht.com/127.0.0.1#5335 +server=/youtube.com/127.0.0.1#5335 +server=/youtu.be/127.0.0.1#5335 +server=/ytimg.com/127.0.0.1#5335 +server=/twitter.com/127.0.0.1#5335 +server=/facebook.com/127.0.0.1#5335 +server=/fastly.net/127.0.0.1#5335 +server=/akamai.net/127.0.0.1#5335 +server=/akamaiedge.net/127.0.0.1#5335 +server=/akamaihd.net/127.0.0.1#5335 +server=/edgesuite.net/127.0.0.1#5335 +server=/edgekey.net/127.0.0.1#5335 diff --git a/luci-app-ssr-plus/root/etc/ssrplus/gfw_list.conf b/luci-app-ssr-plus/root/etc/ssrplus/gfw_list.conf new file mode 100644 index 00000000..98e17f65 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/gfw_list.conf @@ -0,0 +1,23036 @@ +server=/samebags.com/127.0.0.1#5335 +ipset=/samebags.com/gfwlist +server=/ameba.jp/127.0.0.1#5335 +ipset=/ameba.jp/gfwlist +server=/facebool.com/127.0.0.1#5335 +ipset=/facebool.com/gfwlist +server=/intel.md/127.0.0.1#5335 +ipset=/intel.md/gfwlist +server=/disneystore.com/127.0.0.1#5335 +ipset=/disneystore.com/gfwlist +server=/lcsmerch.com/127.0.0.1#5335 +ipset=/lcsmerch.com/gfwlist +server=/youtube.my/127.0.0.1#5335 +ipset=/youtube.my/gfwlist +server=/nintendo.nl/127.0.0.1#5335 +ipset=/nintendo.nl/gfwlist +server=/lasvegasbmw.com/127.0.0.1#5335 +ipset=/lasvegasbmw.com/gfwlist +server=/zeit.sh/127.0.0.1#5335 +ipset=/zeit.sh/gfwlist +server=/huffpostmaghreb.com/127.0.0.1#5335 +ipset=/huffpostmaghreb.com/gfwlist +server=/nikewear.com/127.0.0.1#5335 +ipset=/nikewear.com/gfwlist +server=/myaccountglobalcash.com/127.0.0.1#5335 +ipset=/myaccountglobalcash.com/gfwlist +server=/visacheckout.org/127.0.0.1#5335 +ipset=/visacheckout.org/gfwlist +server=/discordapp.net/127.0.0.1#5335 +ipset=/discordapp.net/gfwlist +server=/bbycontent.net/127.0.0.1#5335 +ipset=/bbycontent.net/gfwlist +server=/mybestbuy.com/127.0.0.1#5335 +ipset=/mybestbuy.com/gfwlist +server=/blogspot.bj/127.0.0.1#5335 +ipset=/blogspot.bj/gfwlist +server=/oreillystatic.com/127.0.0.1#5335 +ipset=/oreillystatic.com/gfwlist +server=/xhamsterlive.com/127.0.0.1#5335 +ipset=/xhamsterlive.com/gfwlist +server=/akamai.com/127.0.0.1#5335 +ipset=/akamai.com/gfwlist +server=/unraveltwo.com/127.0.0.1#5335 +ipset=/unraveltwo.com/gfwlist +server=/bmw.com.gt/127.0.0.1#5335 +ipset=/bmw.com.gt/gfwlist +server=/duckduckco.com/127.0.0.1#5335 +ipset=/duckduckco.com/gfwlist +server=/facebookwork.com/127.0.0.1#5335 +ipset=/facebookwork.com/gfwlist +server=/iwork.se/127.0.0.1#5335 +ipset=/iwork.se/gfwlist +server=/nurofen.hu/127.0.0.1#5335 +ipset=/nurofen.hu/gfwlist +server=/buyitnow.org/127.0.0.1#5335 +ipset=/buyitnow.org/gfwlist +server=/thinkboxsoftware.com/127.0.0.1#5335 +ipset=/thinkboxsoftware.com/gfwlist +server=/paypali.net/127.0.0.1#5335 +ipset=/paypali.net/gfwlist +server=/sellercommunity.com/127.0.0.1#5335 +ipset=/sellercommunity.com/gfwlist +server=/washingtonpost.com/127.0.0.1#5335 +ipset=/washingtonpost.com/gfwlist +server=/livestream.com/127.0.0.1#5335 +ipset=/livestream.com/gfwlist +server=/homebrew.bintray.com/127.0.0.1#5335 +ipset=/homebrew.bintray.com/gfwlist +server=/brightcove.com/127.0.0.1#5335 +ipset=/brightcove.com/gfwlist +server=/morteincam.com/127.0.0.1#5335 +ipset=/morteincam.com/gfwlist +server=/gettyimages.ae/127.0.0.1#5335 +ipset=/gettyimages.ae/gfwlist +server=/ulifestyle.com.hk/127.0.0.1#5335 +ipset=/ulifestyle.com.hk/gfwlist +server=/itunes.mx/127.0.0.1#5335 +ipset=/itunes.mx/gfwlist +server=/beatssingaporeshop.com/127.0.0.1#5335 +ipset=/beatssingaporeshop.com/gfwlist +server=/beatsbydreuk.net/127.0.0.1#5335 +ipset=/beatsbydreuk.net/gfwlist +server=/bandgirlz.com/127.0.0.1#5335 +ipset=/bandgirlz.com/gfwlist +server=/cloudchoose.com/127.0.0.1#5335 +ipset=/cloudchoose.com/gfwlist +server=/bmw-rrdays.com/127.0.0.1#5335 +ipset=/bmw-rrdays.com/gfwlist +server=/lizol.co.in/127.0.0.1#5335 +ipset=/lizol.co.in/gfwlist +server=/applecomputer.com.hk/127.0.0.1#5335 +ipset=/applecomputer.com.hk/gfwlist +server=/bridgestonearena.com/127.0.0.1#5335 +ipset=/bridgestonearena.com/gfwlist +server=/huluteam.com/127.0.0.1#5335 +ipset=/huluteam.com/gfwlist +server=/developer-advisor.com/127.0.0.1#5335 +ipset=/developer-advisor.com/gfwlist +server=/myhelpinglab.com/127.0.0.1#5335 +ipset=/myhelpinglab.com/gfwlist +server=/oxfordmusiconline.com/127.0.0.1#5335 +ipset=/oxfordmusiconline.com/gfwlist +server=/stripchat.com/127.0.0.1#5335 +ipset=/stripchat.com/gfwlist +server=/youtube.co.uk/127.0.0.1#5335 +ipset=/youtube.co.uk/gfwlist +server=/supermario3dworld.com/127.0.0.1#5335 +ipset=/supermario3dworld.com/gfwlist +server=/huffingtonpost.com.au/127.0.0.1#5335 +ipset=/huffingtonpost.com.au/gfwlist +server=/thebeatsbydre.net/127.0.0.1#5335 +ipset=/thebeatsbydre.net/gfwlist +server=/alphabet.pt/127.0.0.1#5335 +ipset=/alphabet.pt/gfwlist +server=/thesims4.com/127.0.0.1#5335 +ipset=/thesims4.com/gfwlist +server=/teenchoice.com/127.0.0.1#5335 +ipset=/teenchoice.com/gfwlist +server=/quicktime.cc/127.0.0.1#5335 +ipset=/quicktime.cc/gfwlist +server=/dribbble.com/127.0.0.1#5335 +ipset=/dribbble.com/gfwlist +server=/applestore.sg/127.0.0.1#5335 +ipset=/applestore.sg/gfwlist +server=/kindle.co.jp/127.0.0.1#5335 +ipset=/kindle.co.jp/gfwlist +server=/terraform.io/127.0.0.1#5335 +ipset=/terraform.io/gfwlist +server=/btcbox.co.jp/127.0.0.1#5335 +ipset=/btcbox.co.jp/gfwlist +server=/faycbok.com/127.0.0.1#5335 +ipset=/faycbok.com/gfwlist +server=/scpwiki.com/127.0.0.1#5335 +ipset=/scpwiki.com/gfwlist +server=/google.vg/127.0.0.1#5335 +ipset=/google.vg/gfwlist +server=/picasaweb.net/127.0.0.1#5335 +ipset=/picasaweb.net/gfwlist +server=/alivertsm.com/127.0.0.1#5335 +ipset=/alivertsm.com/gfwlist +server=/youtube.lt/127.0.0.1#5335 +ipset=/youtube.lt/gfwlist +server=/wolfatbestbuy.net/127.0.0.1#5335 +ipset=/wolfatbestbuy.net/gfwlist +server=/hptouchpointmanager.com/127.0.0.1#5335 +ipset=/hptouchpointmanager.com/gfwlist +server=/usvimosquito.com/127.0.0.1#5335 +ipset=/usvimosquito.com/gfwlist +server=/legaltracker.com/127.0.0.1#5335 +ipset=/legaltracker.com/gfwlist +server=/akadeem.net/127.0.0.1#5335 +ipset=/akadeem.net/gfwlist +server=/llnwd.net/127.0.0.1#5335 +ipset=/llnwd.net/gfwlist +server=/fox13memphis.com/127.0.0.1#5335 +ipset=/fox13memphis.com/gfwlist +server=/appleone.cloud/127.0.0.1#5335 +ipset=/appleone.cloud/gfwlist +server=/yahoo.rw/127.0.0.1#5335 +ipset=/yahoo.rw/gfwlist +server=/powerautomate.com/127.0.0.1#5335 +ipset=/powerautomate.com/gfwlist +server=/volvotrucks.pl/127.0.0.1#5335 +ipset=/volvotrucks.pl/gfwlist +server=/urduvoa.com/127.0.0.1#5335 +ipset=/urduvoa.com/gfwlist +server=/ouplaw.com/127.0.0.1#5335 +ipset=/ouplaw.com/gfwlist +server=/paypal-specialoffers.com/127.0.0.1#5335 +ipset=/paypal-specialoffers.com/gfwlist +server=/epochtimes.fr/127.0.0.1#5335 +ipset=/epochtimes.fr/gfwlist +server=/freedirecttvspecial.com/127.0.0.1#5335 +ipset=/freedirecttvspecial.com/gfwlist +server=/nurofen.com.au/127.0.0.1#5335 +ipset=/nurofen.com.au/gfwlist +server=/iina.io/127.0.0.1#5335 +ipset=/iina.io/gfwlist +server=/appleos.tv/127.0.0.1#5335 +ipset=/appleos.tv/gfwlist +server=/foxnewspolitics.com/127.0.0.1#5335 +ipset=/foxnewspolitics.com/gfwlist +server=/quicktime.net/127.0.0.1#5335 +ipset=/quicktime.net/gfwlist +server=/beatsheadphonesonline.com/127.0.0.1#5335 +ipset=/beatsheadphonesonline.com/gfwlist +server=/w3.org/127.0.0.1#5335 +ipset=/w3.org/gfwlist +server=/visasoutheasteurope.com/127.0.0.1#5335 +ipset=/visasoutheasteurope.com/gfwlist +server=/foxd.tv/127.0.0.1#5335 +ipset=/foxd.tv/gfwlist +server=/forthethrone.com/127.0.0.1#5335 +ipset=/forthethrone.com/gfwlist +server=/telesco.pe/127.0.0.1#5335 +ipset=/telesco.pe/gfwlist +server=/monsterbeatsoutlet.us/127.0.0.1#5335 +ipset=/monsterbeatsoutlet.us/gfwlist +server=/gettyimages.it/127.0.0.1#5335 +ipset=/gettyimages.it/gfwlist +server=/visualstudio.net/127.0.0.1#5335 +ipset=/visualstudio.net/gfwlist +server=/disneymovieinsiders.com/127.0.0.1#5335 +ipset=/disneymovieinsiders.com/gfwlist +server=/ipadair.ie/127.0.0.1#5335 +ipset=/ipadair.ie/gfwlist +server=/20thcenturystudios.com.br/127.0.0.1#5335 +ipset=/20thcenturystudios.com.br/gfwlist +server=/conda.io/127.0.0.1#5335 +ipset=/conda.io/gfwlist +server=/fbthirdpartypixel.net/127.0.0.1#5335 +ipset=/fbthirdpartypixel.net/gfwlist +server=/beatsbydreoksale.com/127.0.0.1#5335 +ipset=/beatsbydreoksale.com/gfwlist +server=/heaven-burns-red.com/127.0.0.1#5335 +ipset=/heaven-burns-red.com/gfwlist +server=/visa.com.hk/127.0.0.1#5335 +ipset=/visa.com.hk/gfwlist +server=/stackoverflow.blog/127.0.0.1#5335 +ipset=/stackoverflow.blog/gfwlist +server=/vipheadphones.com/127.0.0.1#5335 +ipset=/vipheadphones.com/gfwlist +server=/hanime.tv/127.0.0.1#5335 +ipset=/hanime.tv/gfwlist +server=/beatsbymusic.net/127.0.0.1#5335 +ipset=/beatsbymusic.net/gfwlist +server=/intel.tw/127.0.0.1#5335 +ipset=/intel.tw/gfwlist +server=/half.com/127.0.0.1#5335 +ipset=/half.com/gfwlist +server=/sourceforge.net/127.0.0.1#5335 +ipset=/sourceforge.net/gfwlist +server=/amazonianblog.com/127.0.0.1#5335 +ipset=/amazonianblog.com/gfwlist +server=/visa.com.vn/127.0.0.1#5335 +ipset=/visa.com.vn/gfwlist +server=/hcaptcha.com/127.0.0.1#5335 +ipset=/hcaptcha.com/gfwlist +server=/oculusdiving.com/127.0.0.1#5335 +ipset=/oculusdiving.com/gfwlist +server=/blogspot.pt/127.0.0.1#5335 +ipset=/blogspot.pt/gfwlist +server=/cbsnews.com/127.0.0.1#5335 +ipset=/cbsnews.com/gfwlist +server=/paypal-latam.com/127.0.0.1#5335 +ipset=/paypal-latam.com/gfwlist +server=/beatsdreoutletsale.com/127.0.0.1#5335 +ipset=/beatsdreoutletsale.com/gfwlist +server=/youtube.com.co/127.0.0.1#5335 +ipset=/youtube.com.co/gfwlist +server=/v.gd/127.0.0.1#5335 +ipset=/v.gd/gfwlist +server=/apple.pk/127.0.0.1#5335 +ipset=/apple.pk/gfwlist +server=/huluqa.com/127.0.0.1#5335 +ipset=/huluqa.com/gfwlist +server=/casquesbeatsaudio.com/127.0.0.1#5335 +ipset=/casquesbeatsaudio.com/gfwlist +server=/oculus2014.com/127.0.0.1#5335 +ipset=/oculus2014.com/gfwlist +server=/intel.co.za/127.0.0.1#5335 +ipset=/intel.co.za/gfwlist +server=/canon.at/127.0.0.1#5335 +ipset=/canon.at/gfwlist +server=/facboo.com/127.0.0.1#5335 +ipset=/facboo.com/gfwlist +server=/appmediagroup.com/127.0.0.1#5335 +ipset=/appmediagroup.com/gfwlist +server=/casquemonsterbeatsbydre2013.com/127.0.0.1#5335 +ipset=/casquemonsterbeatsbydre2013.com/gfwlist +server=/mapbox.com/127.0.0.1#5335 +ipset=/mapbox.com/gfwlist +server=/pvp.net/127.0.0.1#5335 +ipset=/pvp.net/gfwlist +server=/kanzhongguo.com/127.0.0.1#5335 +ipset=/kanzhongguo.com/gfwlist +server=/shopbydre.com/127.0.0.1#5335 +ipset=/shopbydre.com/gfwlist +server=/swisssigngroup.ch/127.0.0.1#5335 +ipset=/swisssigngroup.ch/gfwlist +server=/ebaymotors.ca/127.0.0.1#5335 +ipset=/ebaymotors.ca/gfwlist +server=/intel.nl/127.0.0.1#5335 +ipset=/intel.nl/gfwlist +server=/bingapistatistics.com/127.0.0.1#5335 +ipset=/bingapistatistics.com/gfwlist +server=/seaofsolitude.com/127.0.0.1#5335 +ipset=/seaofsolitude.com/gfwlist +server=/riotpoints.com/127.0.0.1#5335 +ipset=/riotpoints.com/gfwlist +server=/yahooapis.com/127.0.0.1#5335 +ipset=/yahooapis.com/gfwlist +server=/facebuk.com/127.0.0.1#5335 +ipset=/facebuk.com/gfwlist +server=/gosq.co/127.0.0.1#5335 +ipset=/gosq.co/gfwlist +server=/yandex.com.am/127.0.0.1#5335 +ipset=/yandex.com.am/gfwlist +server=/aapl.tw/127.0.0.1#5335 +ipset=/aapl.tw/gfwlist +server=/finishinfo.nl/127.0.0.1#5335 +ipset=/finishinfo.nl/gfwlist +server=/hpindigopress.com/127.0.0.1#5335 +ipset=/hpindigopress.com/gfwlist +server=/webex.com.hk/127.0.0.1#5335 +ipset=/webex.com.hk/gfwlist +server=/bmw.fr/127.0.0.1#5335 +ipset=/bmw.fr/gfwlist +server=/msauth.net/127.0.0.1#5335 +ipset=/msauth.net/gfwlist +server=/activelearnprimary.co.uk/127.0.0.1#5335 +ipset=/activelearnprimary.co.uk/gfwlist +server=/dell-brand.com/127.0.0.1#5335 +ipset=/dell-brand.com/gfwlist +server=/championshipseriesleague.com/127.0.0.1#5335 +ipset=/championshipseriesleague.com/gfwlist +server=/bmw.com.sv/127.0.0.1#5335 +ipset=/bmw.com.sv/gfwlist +server=/microsoft.be/127.0.0.1#5335 +ipset=/microsoft.be/gfwlist +server=/spankbang.com/127.0.0.1#5335 +ipset=/spankbang.com/gfwlist +server=/needforspeedundergroundeast.com/127.0.0.1#5335 +ipset=/needforspeedundergroundeast.com/gfwlist +server=/sslpaypal.org/127.0.0.1#5335 +ipset=/sslpaypal.org/gfwlist +server=/qualcomm.cn/127.0.0.1#5335 +ipset=/qualcomm.cn/gfwlist +server=/etnet.com.hk/127.0.0.1#5335 +ipset=/etnet.com.hk/gfwlist +server=/nikeconfluence.com/127.0.0.1#5335 +ipset=/nikeconfluence.com/gfwlist +server=/applewatch.hk/127.0.0.1#5335 +ipset=/applewatch.hk/gfwlist +server=/foxfiles.com/127.0.0.1#5335 +ipset=/foxfiles.com/gfwlist +server=/beatsdrenewcolorful4usale.com/127.0.0.1#5335 +ipset=/beatsdrenewcolorful4usale.com/gfwlist +server=/facebooe.com/127.0.0.1#5335 +ipset=/facebooe.com/gfwlist +server=/applemusic.com.au/127.0.0.1#5335 +ipset=/applemusic.com.au/gfwlist +server=/dkbeatsbydre.com/127.0.0.1#5335 +ipset=/dkbeatsbydre.com/gfwlist +server=/apple.net.gr/127.0.0.1#5335 +ipset=/apple.net.gr/gfwlist +server=/google.sn/127.0.0.1#5335 +ipset=/google.sn/gfwlist +server=/beats-bydrestore.com/127.0.0.1#5335 +ipset=/beats-bydrestore.com/gfwlist +server=/einstein.com/127.0.0.1#5335 +ipset=/einstein.com/gfwlist +server=/kkbox.com/127.0.0.1#5335 +ipset=/kkbox.com/gfwlist +server=/ebaylisting.com/127.0.0.1#5335 +ipset=/ebaylisting.com/gfwlist +server=/i-book.com/127.0.0.1#5335 +ipset=/i-book.com/gfwlist +server=/ads.pubmatic.com/127.0.0.1#5335 +ipset=/ads.pubmatic.com/gfwlist +server=/icloud.ee/127.0.0.1#5335 +ipset=/icloud.ee/gfwlist +server=/tail-f.com/127.0.0.1#5335 +ipset=/tail-f.com/gfwlist +server=/muscdn.com/127.0.0.1#5335 +ipset=/muscdn.com/gfwlist +server=/onedrive.com/127.0.0.1#5335 +ipset=/onedrive.com/gfwlist +server=/harpercollins.co.uk/127.0.0.1#5335 +ipset=/harpercollins.co.uk/gfwlist +server=/yogalayout.com/127.0.0.1#5335 +ipset=/yogalayout.com/gfwlist +server=/yahoo.sh/127.0.0.1#5335 +ipset=/yahoo.sh/gfwlist +server=/parstream.net/127.0.0.1#5335 +ipset=/parstream.net/gfwlist +server=/vim.org/127.0.0.1#5335 +ipset=/vim.org/gfwlist +server=/ebayincconnectedcommerce.net/127.0.0.1#5335 +ipset=/ebayincconnectedcommerce.net/gfwlist +server=/mini-connected.nl/127.0.0.1#5335 +ipset=/mini-connected.nl/gfwlist +server=/disney.it/127.0.0.1#5335 +ipset=/disney.it/gfwlist +server=/seqingx.com/127.0.0.1#5335 +ipset=/seqingx.com/gfwlist +server=/drdrebeatsbillig.com/127.0.0.1#5335 +ipset=/drdrebeatsbillig.com/gfwlist +server=/espn.net/127.0.0.1#5335 +ipset=/espn.net/gfwlist +server=/beatsheadphones-discount.com/127.0.0.1#5335 +ipset=/beatsheadphones-discount.com/gfwlist +server=/vfsco.it/127.0.0.1#5335 +ipset=/vfsco.it/gfwlist +server=/openweave.io/127.0.0.1#5335 +ipset=/openweave.io/gfwlist +server=/dvdstudiopro.info/127.0.0.1#5335 +ipset=/dvdstudiopro.info/gfwlist +server=/shopee.tw/127.0.0.1#5335 +ipset=/shopee.tw/gfwlist +server=/beatsbydrestorevip.com/127.0.0.1#5335 +ipset=/beatsbydrestorevip.com/gfwlist +server=/garena.com/127.0.0.1#5335 +ipset=/garena.com/gfwlist +server=/bmw.bg/127.0.0.1#5335 +ipset=/bmw.bg/gfwlist +server=/gearspop.com/127.0.0.1#5335 +ipset=/gearspop.com/gfwlist +server=/fire-emblem-heroes.com/127.0.0.1#5335 +ipset=/fire-emblem-heroes.com/gfwlist +server=/dewitwithdurex.com/127.0.0.1#5335 +ipset=/dewitwithdurex.com/gfwlist +server=/ebayon.com/127.0.0.1#5335 +ipset=/ebayon.com/gfwlist +server=/pricelesssantiago.com/127.0.0.1#5335 +ipset=/pricelesssantiago.com/gfwlist +server=/miamifintechfestival.com/127.0.0.1#5335 +ipset=/miamifintechfestival.com/gfwlist +server=/minidowntown.com/127.0.0.1#5335 +ipset=/minidowntown.com/gfwlist +server=/mini.am/127.0.0.1#5335 +ipset=/mini.am/gfwlist +server=/realestatejournal.com/127.0.0.1#5335 +ipset=/realestatejournal.com/gfwlist +server=/mini-connected.at/127.0.0.1#5335 +ipset=/mini-connected.at/gfwlist +server=/ebaypark.com/127.0.0.1#5335 +ipset=/ebaypark.com/gfwlist +server=/appleone.space/127.0.0.1#5335 +ipset=/appleone.space/gfwlist +server=/youlucky.com/127.0.0.1#5335 +ipset=/youlucky.com/gfwlist +server=/qingse.one/127.0.0.1#5335 +ipset=/qingse.one/gfwlist +server=/oculusblog.com/127.0.0.1#5335 +ipset=/oculusblog.com/gfwlist +server=/developria.com/127.0.0.1#5335 +ipset=/developria.com/gfwlist +server=/kali.org/127.0.0.1#5335 +ipset=/kali.org/gfwlist +server=/amazonlaunchpad.com/127.0.0.1#5335 +ipset=/amazonlaunchpad.com/gfwlist +server=/headphonessupply.com/127.0.0.1#5335 +ipset=/headphonessupply.com/gfwlist +server=/icloudos.de/127.0.0.1#5335 +ipset=/icloudos.de/gfwlist +server=/sony.nl/127.0.0.1#5335 +ipset=/sony.nl/gfwlist +server=/bmwmotorcycleusa.com/127.0.0.1#5335 +ipset=/bmwmotorcycleusa.com/gfwlist +server=/vendu.com/127.0.0.1#5335 +ipset=/vendu.com/gfwlist +server=/facebook-newsroom.org/127.0.0.1#5335 +ipset=/facebook-newsroom.org/gfwlist +server=/poweredbyintel.com/127.0.0.1#5335 +ipset=/poweredbyintel.com/gfwlist +server=/brightcove.imgix.net/127.0.0.1#5335 +ipset=/brightcove.imgix.net/gfwlist +server=/disneychannelonstage.com/127.0.0.1#5335 +ipset=/disneychannelonstage.com/gfwlist +server=/aerogardcn.com/127.0.0.1#5335 +ipset=/aerogardcn.com/gfwlist +server=/beatsbydrespeakers.com/127.0.0.1#5335 +ipset=/beatsbydrespeakers.com/gfwlist +server=/iphonefc.com/127.0.0.1#5335 +ipset=/iphonefc.com/gfwlist +server=/movenetworks.com/127.0.0.1#5335 +ipset=/movenetworks.com/gfwlist +server=/veryshortintroductions.com/127.0.0.1#5335 +ipset=/veryshortintroductions.com/gfwlist +server=/tvbweekly.com/127.0.0.1#5335 +ipset=/tvbweekly.com/gfwlist +server=/avsee01.tv/127.0.0.1#5335 +ipset=/avsee01.tv/gfwlist +server=/volvotrucks.co.nz/127.0.0.1#5335 +ipset=/volvotrucks.co.nz/gfwlist +server=/paypal-exchanges.com/127.0.0.1#5335 +ipset=/paypal-exchanges.com/gfwlist +server=/gooddaychicago.com/127.0.0.1#5335 +ipset=/gooddaychicago.com/gfwlist +server=/bestbuysolutions.net/127.0.0.1#5335 +ipset=/bestbuysolutions.net/gfwlist +server=/attwatchtv.com/127.0.0.1#5335 +ipset=/attwatchtv.com/gfwlist +server=/ampproject.net/127.0.0.1#5335 +ipset=/ampproject.net/gfwlist +server=/tnt-ea.com/127.0.0.1#5335 +ipset=/tnt-ea.com/gfwlist +server=/huffingtonpost.in/127.0.0.1#5335 +ipset=/huffingtonpost.in/gfwlist +server=/veet.co.nz/127.0.0.1#5335 +ipset=/veet.co.nz/gfwlist +server=/lovesexdurex.com/127.0.0.1#5335 +ipset=/lovesexdurex.com/gfwlist +server=/shp.ee/127.0.0.1#5335 +ipset=/shp.ee/gfwlist +server=/bnetcmsus-a.akamaihd.net/127.0.0.1#5335 +ipset=/bnetcmsus-a.akamaihd.net/gfwlist +server=/periscope.tv/127.0.0.1#5335 +ipset=/periscope.tv/gfwlist +server=/mini-connected.lv/127.0.0.1#5335 +ipset=/mini-connected.lv/gfwlist +server=/bmw-pakistan.com/127.0.0.1#5335 +ipset=/bmw-pakistan.com/gfwlist +server=/developer.mozilla.org/127.0.0.1#5335 +ipset=/developer.mozilla.org/gfwlist +server=/ciscojabbervideo.net/127.0.0.1#5335 +ipset=/ciscojabbervideo.net/gfwlist +server=/omtrdc.net/127.0.0.1#5335 +ipset=/omtrdc.net/gfwlist +server=/wsjbarrons.com/127.0.0.1#5335 +ipset=/wsjbarrons.com/gfwlist +server=/theporndude.com/127.0.0.1#5335 +ipset=/theporndude.com/gfwlist +server=/mini.lu/127.0.0.1#5335 +ipset=/mini.lu/gfwlist +server=/pixnet.net/127.0.0.1#5335 +ipset=/pixnet.net/gfwlist +server=/qmap.pub/127.0.0.1#5335 +ipset=/qmap.pub/gfwlist +server=/r18lu.com/127.0.0.1#5335 +ipset=/r18lu.com/gfwlist +server=/hackerfacebook.com/127.0.0.1#5335 +ipset=/hackerfacebook.com/gfwlist +server=/721av.com/127.0.0.1#5335 +ipset=/721av.com/gfwlist +server=/hbo.com/127.0.0.1#5335 +ipset=/hbo.com/gfwlist +server=/apple-store.net/127.0.0.1#5335 +ipset=/apple-store.net/gfwlist +server=/theaustralian.com.au/127.0.0.1#5335 +ipset=/theaustralian.com.au/gfwlist +server=/ms-studiosmedia.com/127.0.0.1#5335 +ipset=/ms-studiosmedia.com/gfwlist +server=/windows.net/127.0.0.1#5335 +ipset=/windows.net/gfwlist +server=/compresspdf.new/127.0.0.1#5335 +ipset=/compresspdf.new/gfwlist +server=/amazonvideo.com/127.0.0.1#5335 +ipset=/amazonvideo.com/gfwlist +server=/yahoo.co.il/127.0.0.1#5335 +ipset=/yahoo.co.il/gfwlist +server=/squarecdn.com/127.0.0.1#5335 +ipset=/squarecdn.com/gfwlist +server=/pinterest.dk/127.0.0.1#5335 +ipset=/pinterest.dk/gfwlist +server=/identrust.net/127.0.0.1#5335 +ipset=/identrust.net/gfwlist +server=/xn--pearsonenespaol-brb.com/127.0.0.1#5335 +ipset=/xn--pearsonenespaol-brb.com/gfwlist +server=/hpeventcenter.com/127.0.0.1#5335 +ipset=/hpeventcenter.com/gfwlist +server=/apple.co/127.0.0.1#5335 +ipset=/apple.co/gfwlist +server=/appleenews.com/127.0.0.1#5335 +ipset=/appleenews.com/gfwlist +server=/google.mw/127.0.0.1#5335 +ipset=/google.mw/gfwlist +server=/baazee.com/127.0.0.1#5335 +ipset=/baazee.com/gfwlist +server=/tomonews.net/127.0.0.1#5335 +ipset=/tomonews.net/gfwlist +server=/certificate-transparency.org/127.0.0.1#5335 +ipset=/certificate-transparency.org/gfwlist +server=/custom-iphonecase.com/127.0.0.1#5335 +ipset=/custom-iphonecase.com/gfwlist +server=/txdirectv.com/127.0.0.1#5335 +ipset=/txdirectv.com/gfwlist +server=/foxsports.com.co/127.0.0.1#5335 +ipset=/foxsports.com.co/gfwlist +server=/bmw.lv/127.0.0.1#5335 +ipset=/bmw.lv/gfwlist +server=/myfoxdc.com/127.0.0.1#5335 +ipset=/myfoxdc.com/gfwlist +server=/rmbl.ws/127.0.0.1#5335 +ipset=/rmbl.ws/gfwlist +server=/foxnetworks.info/127.0.0.1#5335 +ipset=/foxnetworks.info/gfwlist +server=/jfengtime.com/127.0.0.1#5335 +ipset=/jfengtime.com/gfwlist +server=/microsoftteams.com/127.0.0.1#5335 +ipset=/microsoftteams.com/gfwlist +server=/visa.com.mx/127.0.0.1#5335 +ipset=/visa.com.mx/gfwlist +server=/euroipad.com/127.0.0.1#5335 +ipset=/euroipad.com/gfwlist +server=/touchid.wang/127.0.0.1#5335 +ipset=/touchid.wang/gfwlist +server=/bitly.is/127.0.0.1#5335 +ipset=/bitly.is/gfwlist +server=/readthedocs.com/127.0.0.1#5335 +ipset=/readthedocs.com/gfwlist +server=/uug26.com/127.0.0.1#5335 +ipset=/uug26.com/gfwlist +server=/bmw-motorrad.pl/127.0.0.1#5335 +ipset=/bmw-motorrad.pl/gfwlist +server=/akamam.com/127.0.0.1#5335 +ipset=/akamam.com/gfwlist +server=/ekhindi.com/127.0.0.1#5335 +ipset=/ekhindi.com/gfwlist +server=/epoch.cloud/127.0.0.1#5335 +ipset=/epoch.cloud/gfwlist +server=/friendbook.info/127.0.0.1#5335 +ipset=/friendbook.info/gfwlist +server=/thisismoney.co.uk/127.0.0.1#5335 +ipset=/thisismoney.co.uk/gfwlist +server=/google.it/127.0.0.1#5335 +ipset=/google.it/gfwlist +server=/leecountytimes.com/127.0.0.1#5335 +ipset=/leecountytimes.com/gfwlist +server=/yahoo.com.pr/127.0.0.1#5335 +ipset=/yahoo.com.pr/gfwlist +server=/mcrouter.net/127.0.0.1#5335 +ipset=/mcrouter.net/gfwlist +server=/awseducate.com/127.0.0.1#5335 +ipset=/awseducate.com/gfwlist +server=/directvsavings.com/127.0.0.1#5335 +ipset=/directvsavings.com/gfwlist +server=/lagranepoca.com/127.0.0.1#5335 +ipset=/lagranepoca.com/gfwlist +server=/bloombergpolarlake.com/127.0.0.1#5335 +ipset=/bloombergpolarlake.com/gfwlist +server=/hpbundle.com/127.0.0.1#5335 +ipset=/hpbundle.com/gfwlist +server=/google.tl/127.0.0.1#5335 +ipset=/google.tl/gfwlist +server=/cortanaanalytics.com/127.0.0.1#5335 +ipset=/cortanaanalytics.com/gfwlist +server=/disneyjuniortreataday.com/127.0.0.1#5335 +ipset=/disneyjuniortreataday.com/gfwlist +server=/minidealer.com/127.0.0.1#5335 +ipset=/minidealer.com/gfwlist +server=/thelegendarystarfy.com/127.0.0.1#5335 +ipset=/thelegendarystarfy.com/gfwlist +server=/webex.es/127.0.0.1#5335 +ipset=/webex.es/gfwlist +server=/gogole.com/127.0.0.1#5335 +ipset=/gogole.com/gfwlist +server=/intelemeastore.com/127.0.0.1#5335 +ipset=/intelemeastore.com/gfwlist +server=/kodi.tv/127.0.0.1#5335 +ipset=/kodi.tv/gfwlist +server=/blackstonespoliceservice.com/127.0.0.1#5335 +ipset=/blackstonespoliceservice.com/gfwlist +server=/pinterest.uk/127.0.0.1#5335 +ipset=/pinterest.uk/gfwlist +server=/avsforum.com/127.0.0.1#5335 +ipset=/avsforum.com/gfwlist +server=/cnnlabs.com/127.0.0.1#5335 +ipset=/cnnlabs.com/gfwlist +server=/usercontent.dev/127.0.0.1#5335 +ipset=/usercontent.dev/gfwlist +server=/mbheadphone.com/127.0.0.1#5335 +ipset=/mbheadphone.com/gfwlist +server=/xn--gtvq61aiijy0b.xn--hxt814e/127.0.0.1#5335 +ipset=/xn--gtvq61aiijy0b.xn--hxt814e/gfwlist +server=/outbound.io/127.0.0.1#5335 +ipset=/outbound.io/gfwlist +server=/buynikechina.com/127.0.0.1#5335 +ipset=/buynikechina.com/gfwlist +server=/durex.com.my/127.0.0.1#5335 +ipset=/durex.com.my/gfwlist +server=/pearsonhighered.com/127.0.0.1#5335 +ipset=/pearsonhighered.com/gfwlist +server=/applefilmaker.com/127.0.0.1#5335 +ipset=/applefilmaker.com/gfwlist +server=/visualstudio.com/127.0.0.1#5335 +ipset=/visualstudio.com/gfwlist +server=/wofl.tv/127.0.0.1#5335 +ipset=/wofl.tv/gfwlist +server=/mediawiki.org/127.0.0.1#5335 +ipset=/mediawiki.org/gfwlist +server=/instagran.com/127.0.0.1#5335 +ipset=/instagran.com/gfwlist +server=/beatsdre-monster.com/127.0.0.1#5335 +ipset=/beatsdre-monster.com/gfwlist +server=/pocketcasts.com/127.0.0.1#5335 +ipset=/pocketcasts.com/gfwlist +server=/s-cashonmobile.com/127.0.0.1#5335 +ipset=/s-cashonmobile.com/gfwlist +server=/steamcontent.com/127.0.0.1#5335 +ipset=/steamcontent.com/gfwlist +server=/applicationinsights.net/127.0.0.1#5335 +ipset=/applicationinsights.net/gfwlist +server=/immxd.com/127.0.0.1#5335 +ipset=/immxd.com/gfwlist +server=/bmw.com.ky/127.0.0.1#5335 +ipset=/bmw.com.ky/gfwlist +server=/brew.sh/127.0.0.1#5335 +ipset=/brew.sh/gfwlist +server=/cheapbeatsbydremonster.com/127.0.0.1#5335 +ipset=/cheapbeatsbydremonster.com/gfwlist +server=/fastly.com/127.0.0.1#5335 +ipset=/fastly.com/gfwlist +server=/shields.io/127.0.0.1#5335 +ipset=/shields.io/gfwlist +server=/bmwstartupgarage.com/127.0.0.1#5335 +ipset=/bmwstartupgarage.com/gfwlist +server=/wwwfacebok.com/127.0.0.1#5335 +ipset=/wwwfacebok.com/gfwlist +server=/jwt.ms/127.0.0.1#5335 +ipset=/jwt.ms/gfwlist +server=/ebay.be/127.0.0.1#5335 +ipset=/ebay.be/gfwlist +server=/pypa.io/127.0.0.1#5335 +ipset=/pypa.io/gfwlist +server=/drebeats-singaporecheap.net/127.0.0.1#5335 +ipset=/drebeats-singaporecheap.net/gfwlist +server=/masseffect.com/127.0.0.1#5335 +ipset=/masseffect.com/gfwlist +server=/ducksear.ch/127.0.0.1#5335 +ipset=/ducksear.ch/gfwlist +server=/bmwmotorradhk.com/127.0.0.1#5335 +ipset=/bmwmotorradhk.com/gfwlist +server=/minirichmond.com/127.0.0.1#5335 +ipset=/minirichmond.com/gfwlist +server=/thomsonreutersmexico.com/127.0.0.1#5335 +ipset=/thomsonreutersmexico.com/gfwlist +server=/ieee-vics.org/127.0.0.1#5335 +ipset=/ieee-vics.org/gfwlist +server=/minilangley.com/127.0.0.1#5335 +ipset=/minilangley.com/gfwlist +server=/raponlinereview.com/127.0.0.1#5335 +ipset=/raponlinereview.com/gfwlist +server=/alibabacloud.com.my/127.0.0.1#5335 +ipset=/alibabacloud.com.my/gfwlist +server=/volvobuses.com/127.0.0.1#5335 +ipset=/volvobuses.com/gfwlist +server=/veet.be/127.0.0.1#5335 +ipset=/veet.be/gfwlist +server=/fsdn.com/127.0.0.1#5335 +ipset=/fsdn.com/gfwlist +server=/googledomains.com/127.0.0.1#5335 +ipset=/googledomains.com/gfwlist +server=/hcpdts.com/127.0.0.1#5335 +ipset=/hcpdts.com/gfwlist +server=/swisssign-group.li/127.0.0.1#5335 +ipset=/swisssign-group.li/gfwlist +server=/sovec.net/127.0.0.1#5335 +ipset=/sovec.net/gfwlist +server=/carekit.org/127.0.0.1#5335 +ipset=/carekit.org/gfwlist +server=/apple.hu/127.0.0.1#5335 +ipset=/apple.hu/gfwlist +server=/simplifycommerce.com/127.0.0.1#5335 +ipset=/simplifycommerce.com/gfwlist +server=/minisaskatoon.com/127.0.0.1#5335 +ipset=/minisaskatoon.com/gfwlist +server=/nflximg.net/127.0.0.1#5335 +ipset=/nflximg.net/gfwlist +server=/espn.hb.omtrdc.net/127.0.0.1#5335 +ipset=/espn.hb.omtrdc.net/gfwlist +server=/avn.com/127.0.0.1#5335 +ipset=/avn.com/gfwlist +server=/google.by/127.0.0.1#5335 +ipset=/google.by/gfwlist +server=/apple.ee/127.0.0.1#5335 +ipset=/apple.ee/gfwlist +server=/wasdj.com/127.0.0.1#5335 +ipset=/wasdj.com/gfwlist +server=/bmwlat.com/127.0.0.1#5335 +ipset=/bmwlat.com/gfwlist +server=/alphera-finance.in/127.0.0.1#5335 +ipset=/alphera-finance.in/gfwlist +server=/youtubemobilesupport.com/127.0.0.1#5335 +ipset=/youtubemobilesupport.com/gfwlist +server=/adobepress.ch/127.0.0.1#5335 +ipset=/adobepress.ch/gfwlist +server=/bttzyw.net/127.0.0.1#5335 +ipset=/bttzyw.net/gfwlist +server=/galaxymobile.jp/127.0.0.1#5335 +ipset=/galaxymobile.jp/gfwlist +server=/smartonesolutions.hk/127.0.0.1#5335 +ipset=/smartonesolutions.hk/gfwlist +server=/mini.dk/127.0.0.1#5335 +ipset=/mini.dk/gfwlist +server=/volvobuses.fi/127.0.0.1#5335 +ipset=/volvobuses.fi/gfwlist +server=/beats-bydreoutletsale.com/127.0.0.1#5335 +ipset=/beats-bydreoutletsale.com/gfwlist +server=/cairnspost.com.au/127.0.0.1#5335 +ipset=/cairnspost.com.au/gfwlist +server=/easy.ac/127.0.0.1#5335 +ipset=/easy.ac/gfwlist +server=/k8s.io/127.0.0.1#5335 +ipset=/k8s.io/gfwlist +server=/akamai-trials.com/127.0.0.1#5335 +ipset=/akamai-trials.com/gfwlist +server=/opengraphprotocol.org/127.0.0.1#5335 +ipset=/opengraphprotocol.org/gfwlist +server=/vilavpn.xyz/127.0.0.1#5335 +ipset=/vilavpn.xyz/gfwlist +server=/facebgook.com/127.0.0.1#5335 +ipset=/facebgook.com/gfwlist +server=/firestoneip.com/127.0.0.1#5335 +ipset=/firestoneip.com/gfwlist +server=/appleone.guide/127.0.0.1#5335 +ipset=/appleone.guide/gfwlist +server=/jetfuelapp.com/127.0.0.1#5335 +ipset=/jetfuelapp.com/gfwlist +server=/ocul.us/127.0.0.1#5335 +ipset=/ocul.us/gfwlist +server=/gsccdn.com/127.0.0.1#5335 +ipset=/gsccdn.com/gfwlist +server=/microsoftcloudsummit.com/127.0.0.1#5335 +ipset=/microsoftcloudsummit.com/gfwlist +server=/facebookexchange.net/127.0.0.1#5335 +ipset=/facebookexchange.net/gfwlist +server=/akami.com/127.0.0.1#5335 +ipset=/akami.com/gfwlist +server=/intel.ua/127.0.0.1#5335 +ipset=/intel.ua/gfwlist +server=/vmwareemeablog.com/127.0.0.1#5335 +ipset=/vmwareemeablog.com/gfwlist +server=/xn--xsq421m.com/127.0.0.1#5335 +ipset=/xn--xsq421m.com/gfwlist +server=/facebooksite.net/127.0.0.1#5335 +ipset=/facebooksite.net/gfwlist +server=/bmw-product-highlights.com/127.0.0.1#5335 +ipset=/bmw-product-highlights.com/gfwlist +server=/darkageofcamelot.com/127.0.0.1#5335 +ipset=/darkageofcamelot.com/gfwlist +server=/pixapp.net/127.0.0.1#5335 +ipset=/pixapp.net/gfwlist +server=/vfsco.hu/127.0.0.1#5335 +ipset=/vfsco.hu/gfwlist +server=/mysdn.com/127.0.0.1#5335 +ipset=/mysdn.com/gfwlist +server=/line.me/127.0.0.1#5335 +ipset=/line.me/gfwlist +server=/netflixdnstest10.com/127.0.0.1#5335 +ipset=/netflixdnstest10.com/gfwlist +server=/durex.no/127.0.0.1#5335 +ipset=/durex.no/gfwlist +server=/awsloft-stockholm.com/127.0.0.1#5335 +ipset=/awsloft-stockholm.com/gfwlist +server=/sony.cz/127.0.0.1#5335 +ipset=/sony.cz/gfwlist +server=/faecebok.com/127.0.0.1#5335 +ipset=/faecebok.com/gfwlist +server=/needforspeedredline.com/127.0.0.1#5335 +ipset=/needforspeedredline.com/gfwlist +server=/bmw.pl/127.0.0.1#5335 +ipset=/bmw.pl/gfwlist +server=/dvdstudiopro.net/127.0.0.1#5335 +ipset=/dvdstudiopro.net/gfwlist +server=/qt.io/127.0.0.1#5335 +ipset=/qt.io/gfwlist +server=/garenanow.com/127.0.0.1#5335 +ipset=/garenanow.com/gfwlist +server=/boltdns.net/127.0.0.1#5335 +ipset=/boltdns.net/gfwlist +server=/mastercard.az/127.0.0.1#5335 +ipset=/mastercard.az/gfwlist +server=/nikebetterworld.net/127.0.0.1#5335 +ipset=/nikebetterworld.net/gfwlist +server=/asahi.com/127.0.0.1#5335 +ipset=/asahi.com/gfwlist +server=/vimeostatus.com/127.0.0.1#5335 +ipset=/vimeostatus.com/gfwlist +server=/googlefinland.com/127.0.0.1#5335 +ipset=/googlefinland.com/gfwlist +server=/masterpassteststore.com/127.0.0.1#5335 +ipset=/masterpassteststore.com/gfwlist +server=/nextmgz.com/127.0.0.1#5335 +ipset=/nextmgz.com/gfwlist +server=/volvotrucks.co.zm/127.0.0.1#5335 +ipset=/volvotrucks.co.zm/gfwlist +server=/attalascom.com/127.0.0.1#5335 +ipset=/attalascom.com/gfwlist +server=/volvogroup.ru/127.0.0.1#5335 +ipset=/volvogroup.ru/gfwlist +server=/pearsonassessment.se/127.0.0.1#5335 +ipset=/pearsonassessment.se/gfwlist +server=/cybertrust.co.jp/127.0.0.1#5335 +ipset=/cybertrust.co.jp/gfwlist +server=/mini-jordan.com/127.0.0.1#5335 +ipset=/mini-jordan.com/gfwlist +server=/chimeforchange.org/127.0.0.1#5335 +ipset=/chimeforchange.org/gfwlist +server=/intelrxt.com/127.0.0.1#5335 +ipset=/intelrxt.com/gfwlist +server=/voandebele.com/127.0.0.1#5335 +ipset=/voandebele.com/gfwlist +server=/tryrating.com/127.0.0.1#5335 +ipset=/tryrating.com/gfwlist +server=/signalbar.com/127.0.0.1#5335 +ipset=/signalbar.com/gfwlist +server=/axios.com/127.0.0.1#5335 +ipset=/axios.com/gfwlist +server=/appleswift.com/127.0.0.1#5335 +ipset=/appleswift.com/gfwlist +server=/imacsources.com/127.0.0.1#5335 +ipset=/imacsources.com/gfwlist +server=/insidefilms.com/127.0.0.1#5335 +ipset=/insidefilms.com/gfwlist +server=/foxbet.com/127.0.0.1#5335 +ipset=/foxbet.com/gfwlist +server=/ebayenterprise.net/127.0.0.1#5335 +ipset=/ebayenterprise.net/gfwlist +server=/thebayuk.com/127.0.0.1#5335 +ipset=/thebayuk.com/gfwlist +server=/ebaymarketplace.net/127.0.0.1#5335 +ipset=/ebaymarketplace.net/gfwlist +server=/cheapbeatsbydremall.com/127.0.0.1#5335 +ipset=/cheapbeatsbydremall.com/gfwlist +server=/muji.com/127.0.0.1#5335 +ipset=/muji.com/gfwlist +server=/macbookair.com.es/127.0.0.1#5335 +ipset=/macbookair.com.es/gfwlist +server=/iphone5.com/127.0.0.1#5335 +ipset=/iphone5.com/gfwlist +server=/rolsociety.org/127.0.0.1#5335 +ipset=/rolsociety.org/gfwlist +server=/akaint.net/127.0.0.1#5335 +ipset=/akaint.net/gfwlist +server=/acm.org/127.0.0.1#5335 +ipset=/acm.org/gfwlist +server=/whyiwantciscotelepresence.com/127.0.0.1#5335 +ipset=/whyiwantciscotelepresence.com/gfwlist +server=/apkpure.com/127.0.0.1#5335 +ipset=/apkpure.com/gfwlist +server=/fotolja.com/127.0.0.1#5335 +ipset=/fotolja.com/gfwlist +server=/nintendo-europe-sales.com/127.0.0.1#5335 +ipset=/nintendo-europe-sales.com/gfwlist +server=/kindleoasis.jp/127.0.0.1#5335 +ipset=/kindleoasis.jp/gfwlist +server=/durex.es/127.0.0.1#5335 +ipset=/durex.es/gfwlist +server=/nikeshoesinc.com/127.0.0.1#5335 +ipset=/nikeshoesinc.com/gfwlist +server=/eprc.com.hk/127.0.0.1#5335 +ipset=/eprc.com.hk/gfwlist +server=/youtube-nocookie.com/127.0.0.1#5335 +ipset=/youtube-nocookie.com/gfwlist +server=/bastillepost.com/127.0.0.1#5335 +ipset=/bastillepost.com/gfwlist +server=/paypal-login.com/127.0.0.1#5335 +ipset=/paypal-login.com/gfwlist +server=/macbook.wang/127.0.0.1#5335 +ipset=/macbook.wang/gfwlist +server=/facebook.tv/127.0.0.1#5335 +ipset=/facebook.tv/gfwlist +server=/volvopenta.es/127.0.0.1#5335 +ipset=/volvopenta.es/gfwlist +server=/foxsports.pe/127.0.0.1#5335 +ipset=/foxsports.pe/gfwlist +server=/msft.info/127.0.0.1#5335 +ipset=/msft.info/gfwlist +server=/bmw-motorrad.co/127.0.0.1#5335 +ipset=/bmw-motorrad.co/gfwlist +server=/mini.com.pe/127.0.0.1#5335 +ipset=/mini.com.pe/gfwlist +server=/codeish.io/127.0.0.1#5335 +ipset=/codeish.io/gfwlist +server=/hpcatridge.com/127.0.0.1#5335 +ipset=/hpcatridge.com/gfwlist +server=/bmw-connecteddrive.ru/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ru/gfwlist +server=/starbuckssummergame.com/127.0.0.1#5335 +ipset=/starbuckssummergame.com/gfwlist +server=/womenwill.id/127.0.0.1#5335 +ipset=/womenwill.id/gfwlist +server=/experiencebillmelater.com/127.0.0.1#5335 +ipset=/experiencebillmelater.com/gfwlist +server=/avpanda.cc/127.0.0.1#5335 +ipset=/avpanda.cc/gfwlist +server=/oxfordwesternmusic.com/127.0.0.1#5335 +ipset=/oxfordwesternmusic.com/gfwlist +server=/disney.asia/127.0.0.1#5335 +ipset=/disney.asia/gfwlist +server=/erabaru.net/127.0.0.1#5335 +ipset=/erabaru.net/gfwlist +server=/readthedocs.io/127.0.0.1#5335 +ipset=/readthedocs.io/gfwlist +server=/zoho.com.au/127.0.0.1#5335 +ipset=/zoho.com.au/gfwlist +server=/sonykigyo.jp/127.0.0.1#5335 +ipset=/sonykigyo.jp/gfwlist +server=/orlandohurricane.com/127.0.0.1#5335 +ipset=/orlandohurricane.com/gfwlist +server=/bmw-museum.com/127.0.0.1#5335 +ipset=/bmw-museum.com/gfwlist +server=/qualcomm.sc.omtrdc.net/127.0.0.1#5335 +ipset=/qualcomm.sc.omtrdc.net/gfwlist +server=/volvobuses.pl/127.0.0.1#5335 +ipset=/volvobuses.pl/gfwlist +server=/knovel.com/127.0.0.1#5335 +ipset=/knovel.com/gfwlist +server=/intel.uz/127.0.0.1#5335 +ipset=/intel.uz/gfwlist +server=/vmwlabconnect.com/127.0.0.1#5335 +ipset=/vmwlabconnect.com/gfwlist +server=/edcity.hk/127.0.0.1#5335 +ipset=/edcity.hk/gfwlist +server=/5278.cc/127.0.0.1#5335 +ipset=/5278.cc/gfwlist +server=/t21ipau.nikkei.co.jp/127.0.0.1#5335 +ipset=/t21ipau.nikkei.co.jp/gfwlist +server=/youtubecisco.com/127.0.0.1#5335 +ipset=/youtubecisco.com/gfwlist +server=/ebay-cz.com/127.0.0.1#5335 +ipset=/ebay-cz.com/gfwlist +server=/mariadb.org/127.0.0.1#5335 +ipset=/mariadb.org/gfwlist +server=/acmvalidationsaws.com/127.0.0.1#5335 +ipset=/acmvalidationsaws.com/gfwlist +server=/ituneslatino.com/127.0.0.1#5335 +ipset=/ituneslatino.com/gfwlist +server=/beatsbydreheadphones-nz.com/127.0.0.1#5335 +ipset=/beatsbydreheadphones-nz.com/gfwlist +server=/metart.com/127.0.0.1#5335 +ipset=/metart.com/gfwlist +server=/httpsfacebook.com/127.0.0.1#5335 +ipset=/httpsfacebook.com/gfwlist +server=/ssrpass.pw/127.0.0.1#5335 +ipset=/ssrpass.pw/gfwlist +server=/scala-sbt.org/127.0.0.1#5335 +ipset=/scala-sbt.org/gfwlist +server=/appleiphone.net/127.0.0.1#5335 +ipset=/appleiphone.net/gfwlist +server=/monitrix.net/127.0.0.1#5335 +ipset=/monitrix.net/gfwlist +server=/patenttruth.org/127.0.0.1#5335 +ipset=/patenttruth.org/gfwlist +server=/airwick.co.uk/127.0.0.1#5335 +ipset=/airwick.co.uk/gfwlist +server=/beatsbysdrbre.com/127.0.0.1#5335 +ipset=/beatsbysdrbre.com/gfwlist +server=/fblitho.com/127.0.0.1#5335 +ipset=/fblitho.com/gfwlist +server=/iphonehangzhou.com/127.0.0.1#5335 +ipset=/iphonehangzhou.com/gfwlist +server=/youtube.com.ni/127.0.0.1#5335 +ipset=/youtube.com.ni/gfwlist +server=/alphabet.com.mx/127.0.0.1#5335 +ipset=/alphabet.com.mx/gfwlist +server=/vfsco.ch/127.0.0.1#5335 +ipset=/vfsco.ch/gfwlist +server=/beatsbydreonlines-uk.com/127.0.0.1#5335 +ipset=/beatsbydreonlines-uk.com/gfwlist +server=/startpath.com/127.0.0.1#5335 +ipset=/startpath.com/gfwlist +server=/yourfantasybeginsnow.com/127.0.0.1#5335 +ipset=/yourfantasybeginsnow.com/gfwlist +server=/monsterbeats-cheap.com/127.0.0.1#5335 +ipset=/monsterbeats-cheap.com/gfwlist +server=/smartcommunitiescoalition.org/127.0.0.1#5335 +ipset=/smartcommunitiescoalition.org/gfwlist +server=/mickey.tv/127.0.0.1#5335 +ipset=/mickey.tv/gfwlist +server=/91.51rmc.com/127.0.0.1#5335 +ipset=/91.51rmc.com/gfwlist +server=/pinterest.info/127.0.0.1#5335 +ipset=/pinterest.info/gfwlist +server=/appleid.hk/127.0.0.1#5335 +ipset=/appleid.hk/gfwlist +server=/volvotrucks.se/127.0.0.1#5335 +ipset=/volvotrucks.se/gfwlist +server=/facebooksecurity.net/127.0.0.1#5335 +ipset=/facebooksecurity.net/gfwlist +server=/mini.mu/127.0.0.1#5335 +ipset=/mini.mu/gfwlist +server=/infowars.com/127.0.0.1#5335 +ipset=/infowars.com/gfwlist +server=/lyzsxx.com/127.0.0.1#5335 +ipset=/lyzsxx.com/gfwlist +server=/bsw.jp/127.0.0.1#5335 +ipset=/bsw.jp/gfwlist +server=/hktpremier.com/127.0.0.1#5335 +ipset=/hktpremier.com/gfwlist +server=/biowarestore.com/127.0.0.1#5335 +ipset=/biowarestore.com/gfwlist +server=/gitlab.net/127.0.0.1#5335 +ipset=/gitlab.net/gfwlist +server=/jav.guru/127.0.0.1#5335 +ipset=/jav.guru/gfwlist +server=/oxfordscholarship.com/127.0.0.1#5335 +ipset=/oxfordscholarship.com/gfwlist +server=/inoreader.com/127.0.0.1#5335 +ipset=/inoreader.com/gfwlist +server=/strepsils.com.ph/127.0.0.1#5335 +ipset=/strepsils.com.ph/gfwlist +server=/minneapolisbmw.net/127.0.0.1#5335 +ipset=/minneapolisbmw.net/gfwlist +server=/dandalinvoa.com/127.0.0.1#5335 +ipset=/dandalinvoa.com/gfwlist +server=/nintendo.de/127.0.0.1#5335 +ipset=/nintendo.de/gfwlist +server=/spotifyjobs.com/127.0.0.1#5335 +ipset=/spotifyjobs.com/gfwlist +server=/metacloud.com/127.0.0.1#5335 +ipset=/metacloud.com/gfwlist +server=/canon.kz/127.0.0.1#5335 +ipset=/canon.kz/gfwlist +server=/facebooklogs.com/127.0.0.1#5335 +ipset=/facebooklogs.com/gfwlist +server=/uun82.com/127.0.0.1#5335 +ipset=/uun82.com/gfwlist +server=/audio-ak-spotify-com.akamaized.net/127.0.0.1#5335 +ipset=/audio-ak-spotify-com.akamaized.net/gfwlist +server=/youtube.ng/127.0.0.1#5335 +ipset=/youtube.ng/gfwlist +server=/xn--xsq605n.com/127.0.0.1#5335 +ipset=/xn--xsq605n.com/gfwlist +server=/microsoft.rs/127.0.0.1#5335 +ipset=/microsoft.rs/gfwlist +server=/beatsboxingdayuksale.com/127.0.0.1#5335 +ipset=/beatsboxingdayuksale.com/gfwlist +server=/bmwgroupna.com/127.0.0.1#5335 +ipset=/bmwgroupna.com/gfwlist +server=/beatsbydrecustomwireless.com/127.0.0.1#5335 +ipset=/beatsbydrecustomwireless.com/gfwlist +server=/media-imdb.com/127.0.0.1#5335 +ipset=/media-imdb.com/gfwlist +server=/vmwhorizonair.com/127.0.0.1#5335 +ipset=/vmwhorizonair.com/gfwlist +server=/akamaisingapore.net/127.0.0.1#5335 +ipset=/akamaisingapore.net/gfwlist +server=/wireless.radio/127.0.0.1#5335 +ipset=/wireless.radio/gfwlist +server=/youtube.ni/127.0.0.1#5335 +ipset=/youtube.ni/gfwlist +server=/nyti.ms/127.0.0.1#5335 +ipset=/nyti.ms/gfwlist +server=/renchead.com/127.0.0.1#5335 +ipset=/renchead.com/gfwlist +server=/abc-studios.com/127.0.0.1#5335 +ipset=/abc-studios.com/gfwlist +server=/cheapbeatsbydreoutlet.com/127.0.0.1#5335 +ipset=/cheapbeatsbydreoutlet.com/gfwlist +server=/nvidia.jp/127.0.0.1#5335 +ipset=/nvidia.jp/gfwlist +server=/nvidia.com.pl/127.0.0.1#5335 +ipset=/nvidia.com.pl/gfwlist +server=/travelex.com.au/127.0.0.1#5335 +ipset=/travelex.com.au/gfwlist +server=/gnews.org/127.0.0.1#5335 +ipset=/gnews.org/gfwlist +server=/visamiddleeast.com/127.0.0.1#5335 +ipset=/visamiddleeast.com/gfwlist +server=/akamci.com/127.0.0.1#5335 +ipset=/akamci.com/gfwlist +server=/visaluxuryhotelcollection.com.mx/127.0.0.1#5335 +ipset=/visaluxuryhotelcollection.com.mx/gfwlist +server=/vanish.com.br/127.0.0.1#5335 +ipset=/vanish.com.br/gfwlist +server=/imovie.eu/127.0.0.1#5335 +ipset=/imovie.eu/gfwlist +server=/mgo.com/127.0.0.1#5335 +ipset=/mgo.com/gfwlist +server=/naver.jp/127.0.0.1#5335 +ipset=/naver.jp/gfwlist +server=/haveibeenpwned.com/127.0.0.1#5335 +ipset=/haveibeenpwned.com/gfwlist +server=/dawngate.com/127.0.0.1#5335 +ipset=/dawngate.com/gfwlist +server=/icloud.de/127.0.0.1#5335 +ipset=/icloud.de/gfwlist +server=/mini.be/127.0.0.1#5335 +ipset=/mini.be/gfwlist +server=/dawngatechronicles.com/127.0.0.1#5335 +ipset=/dawngatechronicles.com/gfwlist +server=/sunbingo.co.uk/127.0.0.1#5335 +ipset=/sunbingo.co.uk/gfwlist +server=/ebaybank.com/127.0.0.1#5335 +ipset=/ebaybank.com/gfwlist +server=/ms365surfaceoffer.com/127.0.0.1#5335 +ipset=/ms365surfaceoffer.com/gfwlist +server=/azureedge.net/127.0.0.1#5335 +ipset=/azureedge.net/gfwlist +server=/foxbusiness.tv/127.0.0.1#5335 +ipset=/foxbusiness.tv/gfwlist +server=/gettyimages.co.nz/127.0.0.1#5335 +ipset=/gettyimages.co.nz/gfwlist +server=/cash.app/127.0.0.1#5335 +ipset=/cash.app/gfwlist +server=/applewatchedition.com/127.0.0.1#5335 +ipset=/applewatchedition.com/gfwlist +server=/premobay.com/127.0.0.1#5335 +ipset=/premobay.com/gfwlist +server=/dssott.com/127.0.0.1#5335 +ipset=/dssott.com/gfwlist +server=/applelink.com/127.0.0.1#5335 +ipset=/applelink.com/gfwlist +server=/youtube.co.ug/127.0.0.1#5335 +ipset=/youtube.co.ug/gfwlist +server=/youtube.pt/127.0.0.1#5335 +ipset=/youtube.pt/gfwlist +server=/ipodcleaner.com/127.0.0.1#5335 +ipset=/ipodcleaner.com/gfwlist +server=/bmwmontreal.ca/127.0.0.1#5335 +ipset=/bmwmontreal.ca/gfwlist +server=/facebof.com/127.0.0.1#5335 +ipset=/facebof.com/gfwlist +server=/dollarphotoclub.com/127.0.0.1#5335 +ipset=/dollarphotoclub.com/gfwlist +server=/jenkins.io/127.0.0.1#5335 +ipset=/jenkins.io/gfwlist +server=/activelearnprimary.com.au/127.0.0.1#5335 +ipset=/activelearnprimary.com.au/gfwlist +server=/volvotruckcenter.kz/127.0.0.1#5335 +ipset=/volvotruckcenter.kz/gfwlist +server=/bestbuybusinessadvantageaccount.com/127.0.0.1#5335 +ipset=/bestbuybusinessadvantageaccount.com/gfwlist +server=/avmoo.cyou/127.0.0.1#5335 +ipset=/avmoo.cyou/gfwlist +server=/foampositeshoes.com/127.0.0.1#5335 +ipset=/foampositeshoes.com/gfwlist +server=/ilecture.co.nz/127.0.0.1#5335 +ipset=/ilecture.co.nz/gfwlist +server=/visacards.com/127.0.0.1#5335 +ipset=/visacards.com/gfwlist +server=/nab.demdex.net/127.0.0.1#5335 +ipset=/nab.demdex.net/gfwlist +server=/volvotrucks.pe/127.0.0.1#5335 +ipset=/volvotrucks.pe/gfwlist +server=/wheelworks.net/127.0.0.1#5335 +ipset=/wheelworks.net/gfwlist +server=/office.com/127.0.0.1#5335 +ipset=/office.com/gfwlist +server=/pinterestmail.com/127.0.0.1#5335 +ipset=/pinterestmail.com/gfwlist +server=/proxyrarbg.org/127.0.0.1#5335 +ipset=/proxyrarbg.org/gfwlist +server=/boxofficemojo.com/127.0.0.1#5335 +ipset=/boxofficemojo.com/gfwlist +server=/bodyandsoul.com.au/127.0.0.1#5335 +ipset=/bodyandsoul.com.au/gfwlist +server=/veet.no/127.0.0.1#5335 +ipset=/veet.no/gfwlist +server=/m2m.com/127.0.0.1#5335 +ipset=/m2m.com/gfwlist +server=/adidas.at/127.0.0.1#5335 +ipset=/adidas.at/gfwlist +server=/saleblackfridaydrebeats.com/127.0.0.1#5335 +ipset=/saleblackfridaydrebeats.com/gfwlist +server=/youtube.mn/127.0.0.1#5335 +ipset=/youtube.mn/gfwlist +server=/lightbridge.com/127.0.0.1#5335 +ipset=/lightbridge.com/gfwlist +server=/fury.co/127.0.0.1#5335 +ipset=/fury.co/gfwlist +server=/icloud-isupport.com/127.0.0.1#5335 +ipset=/icloud-isupport.com/gfwlist +server=/south-plus.net/127.0.0.1#5335 +ipset=/south-plus.net/gfwlist +server=/foxsports.com.pe/127.0.0.1#5335 +ipset=/foxsports.com.pe/gfwlist +server=/mydirtyhobby.com/127.0.0.1#5335 +ipset=/mydirtyhobby.com/gfwlist +server=/visa.com.py/127.0.0.1#5335 +ipset=/visa.com.py/gfwlist +server=/internetexplorer.co/127.0.0.1#5335 +ipset=/internetexplorer.co/gfwlist +server=/ifontcloud.com/127.0.0.1#5335 +ipset=/ifontcloud.com/gfwlist +server=/dettolsitishield.co.in/127.0.0.1#5335 +ipset=/dettolsitishield.co.in/gfwlist +server=/hightopnikes.com/127.0.0.1#5335 +ipset=/hightopnikes.com/gfwlist +server=/ebay-delivery.com/127.0.0.1#5335 +ipset=/ebay-delivery.com/gfwlist +server=/bmw-motorrad.com.py/127.0.0.1#5335 +ipset=/bmw-motorrad.com.py/gfwlist +server=/hulu.tv/127.0.0.1#5335 +ipset=/hulu.tv/gfwlist +server=/archiveofourown.com/127.0.0.1#5335 +ipset=/archiveofourown.com/gfwlist +server=/hellokittybeats.com/127.0.0.1#5335 +ipset=/hellokittybeats.com/gfwlist +server=/apple.dk/127.0.0.1#5335 +ipset=/apple.dk/gfwlist +server=/kidsnikeshoes.com/127.0.0.1#5335 +ipset=/kidsnikeshoes.com/gfwlist +server=/macports.org/127.0.0.1#5335 +ipset=/macports.org/gfwlist +server=/citizenlab.ca/127.0.0.1#5335 +ipset=/citizenlab.ca/gfwlist +server=/bby.com/127.0.0.1#5335 +ipset=/bby.com/gfwlist +server=/alpherafinancialservices.in/127.0.0.1#5335 +ipset=/alpherafinancialservices.in/gfwlist +server=/thomsonreuters.cn/127.0.0.1#5335 +ipset=/thomsonreuters.cn/gfwlist +server=/youtube.sv/127.0.0.1#5335 +ipset=/youtube.sv/gfwlist +server=/venmo.info/127.0.0.1#5335 +ipset=/venmo.info/gfwlist +server=/mini.in/127.0.0.1#5335 +ipset=/mini.in/gfwlist +server=/youtube.pe/127.0.0.1#5335 +ipset=/youtube.pe/gfwlist +server=/duckduckgo.ca/127.0.0.1#5335 +ipset=/duckduckgo.ca/gfwlist +server=/xvideos.com/127.0.0.1#5335 +ipset=/xvideos.com/gfwlist +server=/youtube.bg/127.0.0.1#5335 +ipset=/youtube.bg/gfwlist +server=/getadblock.com/127.0.0.1#5335 +ipset=/getadblock.com/gfwlist +server=/beatsbydrenorge1.net/127.0.0.1#5335 +ipset=/beatsbydrenorge1.net/gfwlist +server=/strepsils.si/127.0.0.1#5335 +ipset=/strepsils.si/gfwlist +server=/inmediahk.net/127.0.0.1#5335 +ipset=/inmediahk.net/gfwlist +server=/microsoft.ch/127.0.0.1#5335 +ipset=/microsoft.ch/gfwlist +server=/winudf.com/127.0.0.1#5335 +ipset=/winudf.com/gfwlist +server=/paypal-center.org/127.0.0.1#5335 +ipset=/paypal-center.org/gfwlist +server=/foxinc.com/127.0.0.1#5335 +ipset=/foxinc.com/gfwlist +server=/familymart.com.my/127.0.0.1#5335 +ipset=/familymart.com.my/gfwlist +server=/githubpreview.dev/127.0.0.1#5335 +ipset=/githubpreview.dev/gfwlist +server=/bmw-motorrad.pt/127.0.0.1#5335 +ipset=/bmw-motorrad.pt/gfwlist +server=/nikefind.com/127.0.0.1#5335 +ipset=/nikefind.com/gfwlist +server=/nintendoswitch.net/127.0.0.1#5335 +ipset=/nintendoswitch.net/gfwlist +server=/crowdtangle.com/127.0.0.1#5335 +ipset=/crowdtangle.com/gfwlist +server=/baselinestudy.com/127.0.0.1#5335 +ipset=/baselinestudy.com/gfwlist +server=/dependabot.com/127.0.0.1#5335 +ipset=/dependabot.com/gfwlist +server=/braventures.com/127.0.0.1#5335 +ipset=/braventures.com/gfwlist +server=/disney.ru/127.0.0.1#5335 +ipset=/disney.ru/gfwlist +server=/airsupportapp.com/127.0.0.1#5335 +ipset=/airsupportapp.com/gfwlist +server=/akatns.net/127.0.0.1#5335 +ipset=/akatns.net/gfwlist +server=/ipfs.io/127.0.0.1#5335 +ipset=/ipfs.io/gfwlist +server=/slack-redir.net/127.0.0.1#5335 +ipset=/slack-redir.net/gfwlist +server=/findmyipad.com/127.0.0.1#5335 +ipset=/findmyipad.com/gfwlist +server=/adobeccstatic.com/127.0.0.1#5335 +ipset=/adobeccstatic.com/gfwlist +server=/ipod.co.za/127.0.0.1#5335 +ipset=/ipod.co.za/gfwlist +server=/zeenews.com/127.0.0.1#5335 +ipset=/zeenews.com/gfwlist +server=/facebookcanadianelectionintegrityinitiative.com/127.0.0.1#5335 +ipset=/facebookcanadianelectionintegrityinitiative.com/gfwlist +server=/dengeamerika.com/127.0.0.1#5335 +ipset=/dengeamerika.com/gfwlist +server=/macosxlion.com/127.0.0.1#5335 +ipset=/macosxlion.com/gfwlist +server=/dartpad.dev/127.0.0.1#5335 +ipset=/dartpad.dev/gfwlist +server=/applewatchsport.com/127.0.0.1#5335 +ipset=/applewatchsport.com/gfwlist +server=/google.com.np/127.0.0.1#5335 +ipset=/google.com.np/gfwlist +server=/tube8.com/127.0.0.1#5335 +ipset=/tube8.com/gfwlist +server=/airwick.sk/127.0.0.1#5335 +ipset=/airwick.sk/gfwlist +server=/apple.be/127.0.0.1#5335 +ipset=/apple.be/gfwlist +server=/clco.cc/127.0.0.1#5335 +ipset=/clco.cc/gfwlist +server=/intel.ba/127.0.0.1#5335 +ipset=/intel.ba/gfwlist +server=/canon.nl/127.0.0.1#5335 +ipset=/canon.nl/gfwlist +server=/duckduckgo.com.mx/127.0.0.1#5335 +ipset=/duckduckgo.com.mx/gfwlist +server=/blogspot.com.by/127.0.0.1#5335 +ipset=/blogspot.com.by/gfwlist +server=/tesla-cdn.thron.com/127.0.0.1#5335 +ipset=/tesla-cdn.thron.com/gfwlist +server=/mastercard.qa/127.0.0.1#5335 +ipset=/mastercard.qa/gfwlist +server=/mythicentertainment.com/127.0.0.1#5335 +ipset=/mythicentertainment.com/gfwlist +server=/braintreegateway.com/127.0.0.1#5335 +ipset=/braintreegateway.com/gfwlist +server=/pearsoncmg.com/127.0.0.1#5335 +ipset=/pearsoncmg.com/gfwlist +server=/facebooklive.com/127.0.0.1#5335 +ipset=/facebooklive.com/gfwlist +server=/llnw-trials.com/127.0.0.1#5335 +ipset=/llnw-trials.com/gfwlist +server=/amdfanstore.com/127.0.0.1#5335 +ipset=/amdfanstore.com/gfwlist +server=/beatsbydressolo.com/127.0.0.1#5335 +ipset=/beatsbydressolo.com/gfwlist +server=/rarbgaccess.org/127.0.0.1#5335 +ipset=/rarbgaccess.org/gfwlist +server=/underlords.com/127.0.0.1#5335 +ipset=/underlords.com/gfwlist +server=/drebeatscanada.com/127.0.0.1#5335 +ipset=/drebeatscanada.com/gfwlist +server=/nflximg.com/127.0.0.1#5335 +ipset=/nflximg.com/gfwlist +server=/wholesalediscountpurses.com/127.0.0.1#5335 +ipset=/wholesalediscountpurses.com/gfwlist +server=/beatsdre.net/127.0.0.1#5335 +ipset=/beatsdre.net/gfwlist +server=/debian.org/127.0.0.1#5335 +ipset=/debian.org/gfwlist +server=/revenue-performance-management.com/127.0.0.1#5335 +ipset=/revenue-performance-management.com/gfwlist +server=/cashpassport.net/127.0.0.1#5335 +ipset=/cashpassport.net/gfwlist +server=/india.com/127.0.0.1#5335 +ipset=/india.com/gfwlist +server=/cnnmoney.com/127.0.0.1#5335 +ipset=/cnnmoney.com/gfwlist +server=/page3.com/127.0.0.1#5335 +ipset=/page3.com/gfwlist +server=/ntdtv.kr/127.0.0.1#5335 +ipset=/ntdtv.kr/gfwlist +server=/bmwgroupdirect.com/127.0.0.1#5335 +ipset=/bmwgroupdirect.com/gfwlist +server=/movefreeoffers.com/127.0.0.1#5335 +ipset=/movefreeoffers.com/gfwlist +server=/mini.com.pl/127.0.0.1#5335 +ipset=/mini.com.pl/gfwlist +server=/pearsonclinical.ca/127.0.0.1#5335 +ipset=/pearsonclinical.ca/gfwlist +server=/miniso.by/127.0.0.1#5335 +ipset=/miniso.by/gfwlist +server=/google.fr/127.0.0.1#5335 +ipset=/google.fr/gfwlist +server=/foxnewschannel.com/127.0.0.1#5335 +ipset=/foxnewschannel.com/gfwlist +server=/beatsbydres-shop.com/127.0.0.1#5335 +ipset=/beatsbydres-shop.com/gfwlist +server=/youtube.it/127.0.0.1#5335 +ipset=/youtube.it/gfwlist +server=/pokemon.com/127.0.0.1#5335 +ipset=/pokemon.com/gfwlist +server=/alphabet.pl/127.0.0.1#5335 +ipset=/alphabet.pl/gfwlist +server=/videoindexer.ai/127.0.0.1#5335 +ipset=/videoindexer.ai/gfwlist +server=/wmflabs.org/127.0.0.1#5335 +ipset=/wmflabs.org/gfwlist +server=/widevine.com/127.0.0.1#5335 +ipset=/widevine.com/gfwlist +server=/alteraforums.com/127.0.0.1#5335 +ipset=/alteraforums.com/gfwlist +server=/realestate.com.au/127.0.0.1#5335 +ipset=/realestate.com.au/gfwlist +server=/imgix.com/127.0.0.1#5335 +ipset=/imgix.com/gfwlist +server=/mini-connected.se/127.0.0.1#5335 +ipset=/mini-connected.se/gfwlist +server=/beatbydreheadphonesonsale.com/127.0.0.1#5335 +ipset=/beatbydreheadphonesonsale.com/gfwlist +server=/radeon.com/127.0.0.1#5335 +ipset=/radeon.com/gfwlist +server=/hplaptopbattery.com/127.0.0.1#5335 +ipset=/hplaptopbattery.com/gfwlist +server=/foxsports.uy/127.0.0.1#5335 +ipset=/foxsports.uy/gfwlist +server=/google.fm/127.0.0.1#5335 +ipset=/google.fm/gfwlist +server=/ipod.com.tw/127.0.0.1#5335 +ipset=/ipod.com.tw/gfwlist +server=/zaobao.sg/127.0.0.1#5335 +ipset=/zaobao.sg/gfwlist +server=/xbox360.eu/127.0.0.1#5335 +ipset=/xbox360.eu/gfwlist +server=/zeetv.com/127.0.0.1#5335 +ipset=/zeetv.com/gfwlist +server=/askubuntu.com/127.0.0.1#5335 +ipset=/askubuntu.com/gfwlist +server=/myfonts.net/127.0.0.1#5335 +ipset=/myfonts.net/gfwlist +server=/krux.com/127.0.0.1#5335 +ipset=/krux.com/gfwlist +server=/github.community/127.0.0.1#5335 +ipset=/github.community/gfwlist +server=/cheapbeats365.com/127.0.0.1#5335 +ipset=/cheapbeats365.com/gfwlist +server=/intel.hu/127.0.0.1#5335 +ipset=/intel.hu/gfwlist +server=/directvcincinnatioh.com/127.0.0.1#5335 +ipset=/directvcincinnatioh.com/gfwlist +server=/gputechconf.co.kr/127.0.0.1#5335 +ipset=/gputechconf.co.kr/gfwlist +server=/svp-team.com/127.0.0.1#5335 +ipset=/svp-team.com/gfwlist +server=/xn--6eup7j.net/127.0.0.1#5335 +ipset=/xn--6eup7j.net/gfwlist +server=/directvcrossvilletn.com/127.0.0.1#5335 +ipset=/directvcrossvilletn.com/gfwlist +server=/wsjwine.com/127.0.0.1#5335 +ipset=/wsjwine.com/gfwlist +server=/msft.net/127.0.0.1#5335 +ipset=/msft.net/gfwlist +server=/beats1.tv/127.0.0.1#5335 +ipset=/beats1.tv/gfwlist +server=/packer.io/127.0.0.1#5335 +ipset=/packer.io/gfwlist +server=/apple-pay.wang/127.0.0.1#5335 +ipset=/apple-pay.wang/gfwlist +server=/bethsoft.com/127.0.0.1#5335 +ipset=/bethsoft.com/gfwlist +server=/atttvnow.com/127.0.0.1#5335 +ipset=/atttvnow.com/gfwlist +server=/milofetch.com/127.0.0.1#5335 +ipset=/milofetch.com/gfwlist +server=/microsoftgamestack.com/127.0.0.1#5335 +ipset=/microsoftgamestack.com/gfwlist +server=/airport.eu/127.0.0.1#5335 +ipset=/airport.eu/gfwlist +server=/alpherafs.in/127.0.0.1#5335 +ipset=/alpherafs.in/gfwlist +server=/travelex.it/127.0.0.1#5335 +ipset=/travelex.it/gfwlist +server=/nuget.org/127.0.0.1#5335 +ipset=/nuget.org/gfwlist +server=/asproexapi.com/127.0.0.1#5335 +ipset=/asproexapi.com/gfwlist +server=/idvd.eu/127.0.0.1#5335 +ipset=/idvd.eu/gfwlist +server=/garena.co.th/127.0.0.1#5335 +ipset=/garena.co.th/gfwlist +server=/scholar.google.dk/127.0.0.1#5335 +ipset=/scholar.google.dk/gfwlist +server=/isca-speech.org/127.0.0.1#5335 +ipset=/isca-speech.org/gfwlist +server=/icloud.fr/127.0.0.1#5335 +ipset=/icloud.fr/gfwlist +server=/intel.ly/127.0.0.1#5335 +ipset=/intel.ly/gfwlist +server=/ohyeah1080.com/127.0.0.1#5335 +ipset=/ohyeah1080.com/gfwlist +server=/businessinsider.de/127.0.0.1#5335 +ipset=/businessinsider.de/gfwlist +server=/veet.us/127.0.0.1#5335 +ipset=/veet.us/gfwlist +server=/finish.si/127.0.0.1#5335 +ipset=/finish.si/gfwlist +server=/beatsheadphonestudio.com/127.0.0.1#5335 +ipset=/beatsheadphonestudio.com/gfwlist +server=/yarnpkg.com/127.0.0.1#5335 +ipset=/yarnpkg.com/gfwlist +server=/ntdtv.com.tw/127.0.0.1#5335 +ipset=/ntdtv.com.tw/gfwlist +server=/adidas.co.in/127.0.0.1#5335 +ipset=/adidas.co.in/gfwlist +server=/aka-ai.net/127.0.0.1#5335 +ipset=/aka-ai.net/gfwlist +server=/wmt.co/127.0.0.1#5335 +ipset=/wmt.co/gfwlist +server=/sky.com/127.0.0.1#5335 +ipset=/sky.com/gfwlist +server=/facebook.org/127.0.0.1#5335 +ipset=/facebook.org/gfwlist +server=/attic.io/127.0.0.1#5335 +ipset=/attic.io/gfwlist +server=/drmario-world.com/127.0.0.1#5335 +ipset=/drmario-world.com/gfwlist +server=/beatsbydrdrestore.com/127.0.0.1#5335 +ipset=/beatsbydrdrestore.com/gfwlist +server=/insider-intelligence.com/127.0.0.1#5335 +ipset=/insider-intelligence.com/gfwlist +server=/gclubs.com/127.0.0.1#5335 +ipset=/gclubs.com/gfwlist +server=/dctbeatsbydre.com/127.0.0.1#5335 +ipset=/dctbeatsbydre.com/gfwlist +server=/shopify.com/127.0.0.1#5335 +ipset=/shopify.com/gfwlist +server=/kilmeadeandfriends.com/127.0.0.1#5335 +ipset=/kilmeadeandfriends.com/gfwlist +server=/zndsk.com/127.0.0.1#5335 +ipset=/zndsk.com/gfwlist +server=/nikenews.com/127.0.0.1#5335 +ipset=/nikenews.com/gfwlist +server=/disney.com.hk/127.0.0.1#5335 +ipset=/disney.com.hk/gfwlist +server=/onenote.com/127.0.0.1#5335 +ipset=/onenote.com/gfwlist +server=/nurofen.ro/127.0.0.1#5335 +ipset=/nurofen.ro/gfwlist +server=/bmwmass.com/127.0.0.1#5335 +ipset=/bmwmass.com/gfwlist +server=/mini.ch/127.0.0.1#5335 +ipset=/mini.ch/gfwlist +server=/facebookpokerchips.info/127.0.0.1#5335 +ipset=/facebookpokerchips.info/gfwlist +server=/researchkit.tv/127.0.0.1#5335 +ipset=/researchkit.tv/gfwlist +server=/facebookstudios.org/127.0.0.1#5335 +ipset=/facebookstudios.org/gfwlist +server=/zeplin.io/127.0.0.1#5335 +ipset=/zeplin.io/gfwlist +server=/buyitnow.net/127.0.0.1#5335 +ipset=/buyitnow.net/gfwlist +server=/blogspot.nl/127.0.0.1#5335 +ipset=/blogspot.nl/gfwlist +server=/quicktime.tv/127.0.0.1#5335 +ipset=/quicktime.tv/gfwlist +server=/aesworkshops.com/127.0.0.1#5335 +ipset=/aesworkshops.com/gfwlist +server=/beeg.com/127.0.0.1#5335 +ipset=/beeg.com/gfwlist +server=/macbookair.co.uk/127.0.0.1#5335 +ipset=/macbookair.co.uk/gfwlist +server=/bmw-world.net/127.0.0.1#5335 +ipset=/bmw-world.net/gfwlist +server=/mini-stjohns.com/127.0.0.1#5335 +ipset=/mini-stjohns.com/gfwlist +server=/dengiamerika.com/127.0.0.1#5335 +ipset=/dengiamerika.com/gfwlist +server=/attproxy.com/127.0.0.1#5335 +ipset=/attproxy.com/gfwlist +server=/hayabusa.dev/127.0.0.1#5335 +ipset=/hayabusa.dev/gfwlist +server=/miniso.my/127.0.0.1#5335 +ipset=/miniso.my/gfwlist +server=/yahoo-news.com.hk/127.0.0.1#5335 +ipset=/yahoo-news.com.hk/gfwlist +server=/pearsonassessment.be/127.0.0.1#5335 +ipset=/pearsonassessment.be/gfwlist +server=/v2ex.com/127.0.0.1#5335 +ipset=/v2ex.com/gfwlist +server=/onsalekey.com/127.0.0.1#5335 +ipset=/onsalekey.com/gfwlist +server=/yahoo.jo/127.0.0.1#5335 +ipset=/yahoo.jo/gfwlist +server=/disneysrivieraresort.com/127.0.0.1#5335 +ipset=/disneysrivieraresort.com/gfwlist +server=/canon.lv/127.0.0.1#5335 +ipset=/canon.lv/gfwlist +server=/oreil.ly/127.0.0.1#5335 +ipset=/oreil.ly/gfwlist +server=/hk01.com/127.0.0.1#5335 +ipset=/hk01.com/gfwlist +server=/lencr.org/127.0.0.1#5335 +ipset=/lencr.org/gfwlist +server=/amplifyapp.com/127.0.0.1#5335 +ipset=/amplifyapp.com/gfwlist +server=/lge.co.kr/127.0.0.1#5335 +ipset=/lge.co.kr/gfwlist +server=/beatsbydrsmonsterinusa.com/127.0.0.1#5335 +ipset=/beatsbydrsmonsterinusa.com/gfwlist +server=/google.com.ua/127.0.0.1#5335 +ipset=/google.com.ua/gfwlist +server=/hrsaz.com/127.0.0.1#5335 +ipset=/hrsaz.com/gfwlist +server=/q13.com/127.0.0.1#5335 +ipset=/q13.com/gfwlist +server=/bmw-motorrad-dubai.com/127.0.0.1#5335 +ipset=/bmw-motorrad-dubai.com/gfwlist +server=/fsacebok.com/127.0.0.1#5335 +ipset=/fsacebok.com/gfwlist +server=/steamcommunity.com/127.0.0.1#5335 +ipset=/steamcommunity.com/gfwlist +server=/beats-bydrecheapsale.com/127.0.0.1#5335 +ipset=/beats-bydrecheapsale.com/gfwlist +server=/airwick.cl/127.0.0.1#5335 +ipset=/airwick.cl/gfwlist +server=/facebookpay.com/127.0.0.1#5335 +ipset=/facebookpay.com/gfwlist +server=/ebayads.net/127.0.0.1#5335 +ipset=/ebayads.net/gfwlist +server=/amazon-jp-recruiting.com/127.0.0.1#5335 +ipset=/amazon-jp-recruiting.com/gfwlist +server=/fox10.tv/127.0.0.1#5335 +ipset=/fox10.tv/gfwlist +server=/canon.ua/127.0.0.1#5335 +ipset=/canon.ua/gfwlist +server=/pearson-intl.com/127.0.0.1#5335 +ipset=/pearson-intl.com/gfwlist +server=/npm.community/127.0.0.1#5335 +ipset=/npm.community/gfwlist +server=/scopus.com/127.0.0.1#5335 +ipset=/scopus.com/gfwlist +server=/bmw-motorrad.jp/127.0.0.1#5335 +ipset=/bmw-motorrad.jp/gfwlist +server=/mortein.co.in/127.0.0.1#5335 +ipset=/mortein.co.in/gfwlist +server=/usertrust.com/127.0.0.1#5335 +ipset=/usertrust.com/gfwlist +server=/rakuten.com.tw/127.0.0.1#5335 +ipset=/rakuten.com.tw/gfwlist +server=/facebookemail.com/127.0.0.1#5335 +ipset=/facebookemail.com/gfwlist +server=/googleoptimize.com/127.0.0.1#5335 +ipset=/googleoptimize.com/gfwlist +server=/intel.pe/127.0.0.1#5335 +ipset=/intel.pe/gfwlist +server=/beatsbydreshops.net/127.0.0.1#5335 +ipset=/beatsbydreshops.net/gfwlist +server=/bmw-voli.me/127.0.0.1#5335 +ipset=/bmw-voli.me/gfwlist +server=/nikecraft.com/127.0.0.1#5335 +ipset=/nikecraft.com/gfwlist +server=/pearson.com.hk/127.0.0.1#5335 +ipset=/pearson.com.hk/gfwlist +server=/webex.de/127.0.0.1#5335 +ipset=/webex.de/gfwlist +server=/skypeassets.net/127.0.0.1#5335 +ipset=/skypeassets.net/gfwlist +server=/verisign.co.in/127.0.0.1#5335 +ipset=/verisign.co.in/gfwlist +server=/alphera.co.nz/127.0.0.1#5335 +ipset=/alphera.co.nz/gfwlist +server=/stateofthemap.org/127.0.0.1#5335 +ipset=/stateofthemap.org/gfwlist +server=/ffprofile.com/127.0.0.1#5335 +ipset=/ffprofile.com/gfwlist +server=/menshin-channel.com/127.0.0.1#5335 +ipset=/menshin-channel.com/gfwlist +server=/scholar.google.com.ni/127.0.0.1#5335 +ipset=/scholar.google.com.ni/gfwlist +server=/cbsiam.com/127.0.0.1#5335 +ipset=/cbsiam.com/gfwlist +server=/scholar.google.li/127.0.0.1#5335 +ipset=/scholar.google.li/gfwlist +server=/devcon.org/127.0.0.1#5335 +ipset=/devcon.org/gfwlist +server=/thomsonreuters.co.kr/127.0.0.1#5335 +ipset=/thomsonreuters.co.kr/gfwlist +server=/apple.fr/127.0.0.1#5335 +ipset=/apple.fr/gfwlist +server=/macbookpro.com/127.0.0.1#5335 +ipset=/macbookpro.com/gfwlist +server=/ebayopen.com/127.0.0.1#5335 +ipset=/ebayopen.com/gfwlist +server=/kubeacademy.com/127.0.0.1#5335 +ipset=/kubeacademy.com/gfwlist +server=/e-bay.it/127.0.0.1#5335 +ipset=/e-bay.it/gfwlist +server=/fontawesome.com/127.0.0.1#5335 +ipset=/fontawesome.com/gfwlist +server=/soundofhope.kr/127.0.0.1#5335 +ipset=/soundofhope.kr/gfwlist +server=/mysocialworklab.com/127.0.0.1#5335 +ipset=/mysocialworklab.com/gfwlist +server=/volvotrucks.al/127.0.0.1#5335 +ipset=/volvotrucks.al/gfwlist +server=/rule34.xxx/127.0.0.1#5335 +ipset=/rule34.xxx/gfwlist +server=/youtube.co.ve/127.0.0.1#5335 +ipset=/youtube.co.ve/gfwlist +server=/calgon.ch/127.0.0.1#5335 +ipset=/calgon.ch/gfwlist +server=/facfebook.com/127.0.0.1#5335 +ipset=/facfebook.com/gfwlist +server=/v2fly.org/127.0.0.1#5335 +ipset=/v2fly.org/gfwlist +server=/edisebay.com/127.0.0.1#5335 +ipset=/edisebay.com/gfwlist +server=/ipad.co.kr/127.0.0.1#5335 +ipset=/ipad.co.kr/gfwlist +server=/udn.com/127.0.0.1#5335 +ipset=/udn.com/gfwlist +server=/bmw.sn/127.0.0.1#5335 +ipset=/bmw.sn/gfwlist +server=/yahoo.fr/127.0.0.1#5335 +ipset=/yahoo.fr/gfwlist +server=/bbcmedia.co.uk/127.0.0.1#5335 +ipset=/bbcmedia.co.uk/gfwlist +server=/minirichmond.ca/127.0.0.1#5335 +ipset=/minirichmond.ca/gfwlist +server=/paypal-communication.com/127.0.0.1#5335 +ipset=/paypal-communication.com/gfwlist +server=/rumah123.com/127.0.0.1#5335 +ipset=/rumah123.com/gfwlist +server=/fxnetworks.com/127.0.0.1#5335 +ipset=/fxnetworks.com/gfwlist +server=/icloude.com/127.0.0.1#5335 +ipset=/icloude.com/gfwlist +server=/beatsbydreoutletsale.com/127.0.0.1#5335 +ipset=/beatsbydreoutletsale.com/gfwlist +server=/virsto.net/127.0.0.1#5335 +ipset=/virsto.net/gfwlist +server=/strikinglycdn.com/127.0.0.1#5335 +ipset=/strikinglycdn.com/gfwlist +server=/sbitravelcard.com/127.0.0.1#5335 +ipset=/sbitravelcard.com/gfwlist +server=/mirrorsedge.com/127.0.0.1#5335 +ipset=/mirrorsedge.com/gfwlist +server=/beatsbydrecolors.com/127.0.0.1#5335 +ipset=/beatsbydrecolors.com/gfwlist +server=/disneybaby.com/127.0.0.1#5335 +ipset=/disneybaby.com/gfwlist +server=/nextwork.hk/127.0.0.1#5335 +ipset=/nextwork.hk/gfwlist +server=/applestore.de/127.0.0.1#5335 +ipset=/applestore.de/gfwlist +server=/directvbundles.com/127.0.0.1#5335 +ipset=/directvbundles.com/gfwlist +server=/xboxone.eu/127.0.0.1#5335 +ipset=/xboxone.eu/gfwlist +server=/pokemon-sunmoon.com/127.0.0.1#5335 +ipset=/pokemon-sunmoon.com/gfwlist +server=/serialssolutions.com/127.0.0.1#5335 +ipset=/serialssolutions.com/gfwlist +server=/salecheaphandbags.com/127.0.0.1#5335 +ipset=/salecheaphandbags.com/gfwlist +server=/aliveipc.com/127.0.0.1#5335 +ipset=/aliveipc.com/gfwlist +server=/vanish.si/127.0.0.1#5335 +ipset=/vanish.si/gfwlist +server=/geeksquadcentral.com/127.0.0.1#5335 +ipset=/geeksquadcentral.com/gfwlist +server=/myhpsupport.com/127.0.0.1#5335 +ipset=/myhpsupport.com/gfwlist +server=/vipoo.es/127.0.0.1#5335 +ipset=/vipoo.es/gfwlist +server=/buycheapbeatsbus.com/127.0.0.1#5335 +ipset=/buycheapbeatsbus.com/gfwlist +server=/beatsbydre-outlet.com/127.0.0.1#5335 +ipset=/beatsbydre-outlet.com/gfwlist +server=/bmw-golfsport.com/127.0.0.1#5335 +ipset=/bmw-golfsport.com/gfwlist +server=/hponlinehelp.com/127.0.0.1#5335 +ipset=/hponlinehelp.com/gfwlist +server=/giratina.com/127.0.0.1#5335 +ipset=/giratina.com/gfwlist +server=/honawalaan.com/127.0.0.1#5335 +ipset=/honawalaan.com/gfwlist +server=/behance.net/127.0.0.1#5335 +ipset=/behance.net/gfwlist +server=/brotli.org/127.0.0.1#5335 +ipset=/brotli.org/gfwlist +server=/newsamerica.com/127.0.0.1#5335 +ipset=/newsamerica.com/gfwlist +server=/durexusa.com/127.0.0.1#5335 +ipset=/durexusa.com/gfwlist +server=/customizedbeatsdre.com/127.0.0.1#5335 +ipset=/customizedbeatsdre.com/gfwlist +server=/nikecdn.com/127.0.0.1#5335 +ipset=/nikecdn.com/gfwlist +server=/sciencedirectassets.com/127.0.0.1#5335 +ipset=/sciencedirectassets.com/gfwlist +server=/medium.systems/127.0.0.1#5335 +ipset=/medium.systems/gfwlist +server=/gettyimages.de/127.0.0.1#5335 +ipset=/gettyimages.de/gfwlist +server=/hkej.com/127.0.0.1#5335 +ipset=/hkej.com/gfwlist +server=/awseducate.net/127.0.0.1#5335 +ipset=/awseducate.net/gfwlist +server=/kirbysuperstarultra.com/127.0.0.1#5335 +ipset=/kirbysuperstarultra.com/gfwlist +server=/ajplus.net/127.0.0.1#5335 +ipset=/ajplus.net/gfwlist +server=/muji.tw/127.0.0.1#5335 +ipset=/muji.tw/gfwlist +server=/mochajs.org/127.0.0.1#5335 +ipset=/mochajs.org/gfwlist +server=/youtube.bh/127.0.0.1#5335 +ipset=/youtube.bh/gfwlist +server=/globalsign.com.sg/127.0.0.1#5335 +ipset=/globalsign.com.sg/gfwlist +server=/flipnotestudio.com/127.0.0.1#5335 +ipset=/flipnotestudio.com/gfwlist +server=/amazon.in/127.0.0.1#5335 +ipset=/amazon.in/gfwlist +server=/omniture.com/127.0.0.1#5335 +ipset=/omniture.com/gfwlist +server=/microsoftnews.org/127.0.0.1#5335 +ipset=/microsoftnews.org/gfwlist +server=/bmwdealerdirect.com/127.0.0.1#5335 +ipset=/bmwdealerdirect.com/gfwlist +server=/mach-os.com/127.0.0.1#5335 +ipset=/mach-os.com/gfwlist +server=/mini.nl/127.0.0.1#5335 +ipset=/mini.nl/gfwlist +server=/mastercard.com.lb/127.0.0.1#5335 +ipset=/mastercard.com.lb/gfwlist +server=/bloombergindustry.com/127.0.0.1#5335 +ipset=/bloombergindustry.com/gfwlist +server=/beatsbydreforyououtlet.com/127.0.0.1#5335 +ipset=/beatsbydreforyououtlet.com/gfwlist +server=/canon.com.mt/127.0.0.1#5335 +ipset=/canon.com.mt/gfwlist +server=/follasian.com/127.0.0.1#5335 +ipset=/follasian.com/gfwlist +server=/shopminiusa.com/127.0.0.1#5335 +ipset=/shopminiusa.com/gfwlist +server=/economistgroupcareers.com/127.0.0.1#5335 +ipset=/economistgroupcareers.com/gfwlist +server=/gitstar.com/127.0.0.1#5335 +ipset=/gitstar.com/gfwlist +server=/drebeats-solo.com/127.0.0.1#5335 +ipset=/drebeats-solo.com/gfwlist +server=/visa.is/127.0.0.1#5335 +ipset=/visa.is/gfwlist +server=/youtubego.co.id/127.0.0.1#5335 +ipset=/youtubego.co.id/gfwlist +server=/guo.media/127.0.0.1#5335 +ipset=/guo.media/gfwlist +server=/cheapbeatsbydrefau.com/127.0.0.1#5335 +ipset=/cheapbeatsbydrefau.com/gfwlist +server=/youtube.cl/127.0.0.1#5335 +ipset=/youtube.cl/gfwlist +server=/talksport.com/127.0.0.1#5335 +ipset=/talksport.com/gfwlist +server=/epochtimes.se/127.0.0.1#5335 +ipset=/epochtimes.se/gfwlist +server=/alphabet.com.pt/127.0.0.1#5335 +ipset=/alphabet.com.pt/gfwlist +server=/ebayclassifiedsgroup.info/127.0.0.1#5335 +ipset=/ebayclassifiedsgroup.info/gfwlist +server=/visiontimes.com/127.0.0.1#5335 +ipset=/visiontimes.com/gfwlist +server=/applepay.tv/127.0.0.1#5335 +ipset=/applepay.tv/gfwlist +server=/apple.co.hu/127.0.0.1#5335 +ipset=/apple.co.hu/gfwlist +server=/riot.com/127.0.0.1#5335 +ipset=/riot.com/gfwlist +server=/bmw-rp.com/127.0.0.1#5335 +ipset=/bmw-rp.com/gfwlist +server=/beatsep.net/127.0.0.1#5335 +ipset=/beatsep.net/gfwlist +server=/beatsbydreol.com/127.0.0.1#5335 +ipset=/beatsbydreol.com/gfwlist +server=/g-technology.com/127.0.0.1#5335 +ipset=/g-technology.com/gfwlist +server=/duck.co/127.0.0.1#5335 +ipset=/duck.co/gfwlist +server=/bmw.ca/127.0.0.1#5335 +ipset=/bmw.ca/gfwlist +server=/tssp.best/127.0.0.1#5335 +ipset=/tssp.best/gfwlist +server=/beats-soaho.com/127.0.0.1#5335 +ipset=/beats-soaho.com/gfwlist +server=/bitvise.com/127.0.0.1#5335 +ipset=/bitvise.com/gfwlist +server=/ciscoknowledgenetwork.com/127.0.0.1#5335 +ipset=/ciscoknowledgenetwork.com/gfwlist +server=/pdncommunity.com/127.0.0.1#5335 +ipset=/pdncommunity.com/gfwlist +server=/yahoo.ph/127.0.0.1#5335 +ipset=/yahoo.ph/gfwlist +server=/needforspeedtimeattack.com/127.0.0.1#5335 +ipset=/needforspeedtimeattack.com/gfwlist +server=/worldemojiday.com/127.0.0.1#5335 +ipset=/worldemojiday.com/gfwlist +server=/beatsdrdre-headphones.com/127.0.0.1#5335 +ipset=/beatsdrdre-headphones.com/gfwlist +server=/nike.com.hk/127.0.0.1#5335 +ipset=/nike.com.hk/gfwlist +server=/spotifycdn.com/127.0.0.1#5335 +ipset=/spotifycdn.com/gfwlist +server=/adelaidenow.com.au/127.0.0.1#5335 +ipset=/adelaidenow.com.au/gfwlist +server=/scholar.google.com.eg/127.0.0.1#5335 +ipset=/scholar.google.com.eg/gfwlist +server=/visasavingsedge.ca/127.0.0.1#5335 +ipset=/visasavingsedge.ca/gfwlist +server=/echocdn.com/127.0.0.1#5335 +ipset=/echocdn.com/gfwlist +server=/starbucks.com.bn/127.0.0.1#5335 +ipset=/starbucks.com.bn/gfwlist +server=/icloud.is/127.0.0.1#5335 +ipset=/icloud.is/gfwlist +server=/nurofen.co.uk/127.0.0.1#5335 +ipset=/nurofen.co.uk/gfwlist +server=/disney.es/127.0.0.1#5335 +ipset=/disney.es/gfwlist +server=/blogspot.ug/127.0.0.1#5335 +ipset=/blogspot.ug/gfwlist +server=/r10s.com/127.0.0.1#5335 +ipset=/r10s.com/gfwlist +server=/icloud.fi/127.0.0.1#5335 +ipset=/icloud.fi/gfwlist +server=/yahoomusic.com/127.0.0.1#5335 +ipset=/yahoomusic.com/gfwlist +server=/facebookdusexe.org/127.0.0.1#5335 +ipset=/facebookdusexe.org/gfwlist +server=/sportswomanoftheyear.co.uk/127.0.0.1#5335 +ipset=/sportswomanoftheyear.co.uk/gfwlist +server=/googletagmanager.com/127.0.0.1#5335 +ipset=/googletagmanager.com/gfwlist +server=/visaicsdirect.com/127.0.0.1#5335 +ipset=/visaicsdirect.com/gfwlist +server=/teamneedforspeed.com/127.0.0.1#5335 +ipset=/teamneedforspeed.com/gfwlist +server=/scholar.google.co.in/127.0.0.1#5335 +ipset=/scholar.google.co.in/gfwlist +server=/beatsbydressale.com/127.0.0.1#5335 +ipset=/beatsbydressale.com/gfwlist +server=/volvotrucks.be/127.0.0.1#5335 +ipset=/volvotrucks.be/gfwlist +server=/adidas.ch/127.0.0.1#5335 +ipset=/adidas.ch/gfwlist +server=/ffmpeg.org/127.0.0.1#5335 +ipset=/ffmpeg.org/gfwlist +server=/move-free.net/127.0.0.1#5335 +ipset=/move-free.net/gfwlist +server=/applewallet.tv/127.0.0.1#5335 +ipset=/applewallet.tv/gfwlist +server=/mirrorsedge2.com/127.0.0.1#5335 +ipset=/mirrorsedge2.com/gfwlist +server=/01.org/127.0.0.1#5335 +ipset=/01.org/gfwlist +server=/sony.com.br/127.0.0.1#5335 +ipset=/sony.com.br/gfwlist +server=/alphabetfinance.net/127.0.0.1#5335 +ipset=/alphabetfinance.net/gfwlist +server=/springer.com/127.0.0.1#5335 +ipset=/springer.com/gfwlist +server=/volvobuses.my/127.0.0.1#5335 +ipset=/volvobuses.my/gfwlist +server=/emac.co.in/127.0.0.1#5335 +ipset=/emac.co.in/gfwlist +server=/altmetric.com/127.0.0.1#5335 +ipset=/altmetric.com/gfwlist +server=/azure.microsoft.com/127.0.0.1#5335 +ipset=/azure.microsoft.com/gfwlist +server=/drebeatssolocybermondaysale.com/127.0.0.1#5335 +ipset=/drebeatssolocybermondaysale.com/gfwlist +server=/insiderdevtour.com/127.0.0.1#5335 +ipset=/insiderdevtour.com/gfwlist +server=/mastercard.ch/127.0.0.1#5335 +ipset=/mastercard.ch/gfwlist +server=/bbg.gov/127.0.0.1#5335 +ipset=/bbg.gov/gfwlist +server=/visa.com.ms/127.0.0.1#5335 +ipset=/visa.com.ms/gfwlist +server=/mucinex.cn/127.0.0.1#5335 +ipset=/mucinex.cn/gfwlist +server=/java.com/127.0.0.1#5335 +ipset=/java.com/gfwlist +server=/apple.xyz/127.0.0.1#5335 +ipset=/apple.xyz/gfwlist +server=/paypalnet.net/127.0.0.1#5335 +ipset=/paypalnet.net/gfwlist +server=/javdoe.com/127.0.0.1#5335 +ipset=/javdoe.com/gfwlist +server=/applereach.com/127.0.0.1#5335 +ipset=/applereach.com/gfwlist +server=/chihair-straightener.com/127.0.0.1#5335 +ipset=/chihair-straightener.com/gfwlist +server=/foxnewsplayer-a.akamaihd.net/127.0.0.1#5335 +ipset=/foxnewsplayer-a.akamaihd.net/gfwlist +server=/bellsouth.net/127.0.0.1#5335 +ipset=/bellsouth.net/gfwlist +server=/cloudflarewarp.com/127.0.0.1#5335 +ipset=/cloudflarewarp.com/gfwlist +server=/indaznlab.com/127.0.0.1#5335 +ipset=/indaznlab.com/gfwlist +server=/projectapex.com/127.0.0.1#5335 +ipset=/projectapex.com/gfwlist +server=/volvotrucks.es/127.0.0.1#5335 +ipset=/volvotrucks.es/gfwlist +server=/ubisoft-orbit-savegames.s3.amazonaws.com/127.0.0.1#5335 +ipset=/ubisoft-orbit-savegames.s3.amazonaws.com/gfwlist +server=/vfsco.nl/127.0.0.1#5335 +ipset=/vfsco.nl/gfwlist +server=/herringnetwork.com/127.0.0.1#5335 +ipset=/herringnetwork.com/gfwlist +server=/monsterbeatscommunity.com/127.0.0.1#5335 +ipset=/monsterbeatscommunity.com/gfwlist +server=/cmpaas.com/127.0.0.1#5335 +ipset=/cmpaas.com/gfwlist +server=/zeit-world.com/127.0.0.1#5335 +ipset=/zeit-world.com/gfwlist +server=/beatsbydrecheaper.com/127.0.0.1#5335 +ipset=/beatsbydrecheaper.com/gfwlist +server=/bestbuycanada.ca/127.0.0.1#5335 +ipset=/bestbuycanada.ca/gfwlist +server=/nbc.co/127.0.0.1#5335 +ipset=/nbc.co/gfwlist +server=/yahoo.co.jp/127.0.0.1#5335 +ipset=/yahoo.co.jp/gfwlist +server=/nikeoutletstores.com/127.0.0.1#5335 +ipset=/nikeoutletstores.com/gfwlist +server=/amazon.red/127.0.0.1#5335 +ipset=/amazon.red/gfwlist +server=/mastercardacademy.com/127.0.0.1#5335 +ipset=/mastercardacademy.com/gfwlist +server=/happymeal.com.au/127.0.0.1#5335 +ipset=/happymeal.com.au/gfwlist +server=/volvomerchandise.com/127.0.0.1#5335 +ipset=/volvomerchandise.com/gfwlist +server=/intel.la/127.0.0.1#5335 +ipset=/intel.la/gfwlist +server=/wenzhao.ca/127.0.0.1#5335 +ipset=/wenzhao.ca/gfwlist +server=/bridgestonecomercial.com.ar/127.0.0.1#5335 +ipset=/bridgestonecomercial.com.ar/gfwlist +server=/myfoxhouston.com/127.0.0.1#5335 +ipset=/myfoxhouston.com/gfwlist +server=/quora.com/127.0.0.1#5335 +ipset=/quora.com/gfwlist +server=/iop.org/127.0.0.1#5335 +ipset=/iop.org/gfwlist +server=/ebayvalet.com/127.0.0.1#5335 +ipset=/ebayvalet.com/gfwlist +server=/blogspot.com/127.0.0.1#5335 +ipset=/blogspot.com/gfwlist +server=/oculus3d.com/127.0.0.1#5335 +ipset=/oculus3d.com/gfwlist +server=/aria.ms/127.0.0.1#5335 +ipset=/aria.ms/gfwlist +server=/applestore.bg/127.0.0.1#5335 +ipset=/applestore.bg/gfwlist +server=/instagify.com/127.0.0.1#5335 +ipset=/instagify.com/gfwlist +server=/awsthinkbox.com/127.0.0.1#5335 +ipset=/awsthinkbox.com/gfwlist +server=/asahishimbun.sc.omtrdc.net/127.0.0.1#5335 +ipset=/asahishimbun.sc.omtrdc.net/gfwlist +server=/beatsbydreformall2013-nl.com/127.0.0.1#5335 +ipset=/beatsbydreformall2013-nl.com/gfwlist +server=/facebooksz.com/127.0.0.1#5335 +ipset=/facebooksz.com/gfwlist +server=/paypallabs.com/127.0.0.1#5335 +ipset=/paypallabs.com/gfwlist +server=/eachpay.net/127.0.0.1#5335 +ipset=/eachpay.net/gfwlist +server=/cheapbeatsbydresale.com/127.0.0.1#5335 +ipset=/cheapbeatsbydresale.com/gfwlist +server=/bmwmotorshowblog.com/127.0.0.1#5335 +ipset=/bmwmotorshowblog.com/gfwlist +server=/paypal-login.org/127.0.0.1#5335 +ipset=/paypal-login.org/gfwlist +server=/flow.org/127.0.0.1#5335 +ipset=/flow.org/gfwlist +server=/espressif.com/127.0.0.1#5335 +ipset=/espressif.com/gfwlist +server=/lysol.cl/127.0.0.1#5335 +ipset=/lysol.cl/gfwlist +server=/adobe-video-partner-finder.com/127.0.0.1#5335 +ipset=/adobe-video-partner-finder.com/gfwlist +server=/dev-theguardian.com/127.0.0.1#5335 +ipset=/dev-theguardian.com/gfwlist +server=/dropbox-dns.com/127.0.0.1#5335 +ipset=/dropbox-dns.com/gfwlist +server=/immidio.com/127.0.0.1#5335 +ipset=/immidio.com/gfwlist +server=/thomsonreuters.com/127.0.0.1#5335 +ipset=/thomsonreuters.com/gfwlist +server=/85tube.com/127.0.0.1#5335 +ipset=/85tube.com/gfwlist +server=/fox.tv/127.0.0.1#5335 +ipset=/fox.tv/gfwlist +server=/tristatebmw.com/127.0.0.1#5335 +ipset=/tristatebmw.com/gfwlist +server=/bmw.bs/127.0.0.1#5335 +ipset=/bmw.bs/gfwlist +server=/apigee.com/127.0.0.1#5335 +ipset=/apigee.com/gfwlist +server=/marvelparty.net/127.0.0.1#5335 +ipset=/marvelparty.net/gfwlist +server=/cloupia.com/127.0.0.1#5335 +ipset=/cloupia.com/gfwlist +server=/huffingtonpost.com.mx/127.0.0.1#5335 +ipset=/huffingtonpost.com.mx/gfwlist +server=/bmw-connecteddrive.co.za/127.0.0.1#5335 +ipset=/bmw-connecteddrive.co.za/gfwlist +server=/bloomberg.co.kr/127.0.0.1#5335 +ipset=/bloomberg.co.kr/gfwlist +server=/cython.org/127.0.0.1#5335 +ipset=/cython.org/gfwlist +server=/bintray.com/127.0.0.1#5335 +ipset=/bintray.com/gfwlist +server=/meridian.net/127.0.0.1#5335 +ipset=/meridian.net/gfwlist +server=/c-span.org/127.0.0.1#5335 +ipset=/c-span.org/gfwlist +server=/mediafiles-cisco.com/127.0.0.1#5335 +ipset=/mediafiles-cisco.com/gfwlist +server=/sb-telecom.net/127.0.0.1#5335 +ipset=/sb-telecom.net/gfwlist +server=/amiibo.com/127.0.0.1#5335 +ipset=/amiibo.com/gfwlist +server=/clojure.org/127.0.0.1#5335 +ipset=/clojure.org/gfwlist +server=/riotgames.com/127.0.0.1#5335 +ipset=/riotgames.com/gfwlist +server=/python.org/127.0.0.1#5335 +ipset=/python.org/gfwlist +server=/blogspot.co.id/127.0.0.1#5335 +ipset=/blogspot.co.id/gfwlist +server=/12diasderegalosdeitunes.com.co/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.com.co/gfwlist +server=/xn--gtvz22d.wang/127.0.0.1#5335 +ipset=/xn--gtvz22d.wang/gfwlist +server=/reabble.com/127.0.0.1#5335 +ipset=/reabble.com/gfwlist +server=/intel-university-collaboration.net/127.0.0.1#5335 +ipset=/intel-university-collaboration.net/gfwlist +server=/matrix.org/127.0.0.1#5335 +ipset=/matrix.org/gfwlist +server=/vanishcentroamerica.com/127.0.0.1#5335 +ipset=/vanishcentroamerica.com/gfwlist +server=/ebayshoesstore.com/127.0.0.1#5335 +ipset=/ebayshoesstore.com/gfwlist +server=/epochhk.com/127.0.0.1#5335 +ipset=/epochhk.com/gfwlist +server=/gotraffic.net/127.0.0.1#5335 +ipset=/gotraffic.net/gfwlist +server=/ebayinc.org/127.0.0.1#5335 +ipset=/ebayinc.org/gfwlist +server=/storage.live.com/127.0.0.1#5335 +ipset=/storage.live.com/gfwlist +server=/drebeats-monsterusa.com/127.0.0.1#5335 +ipset=/drebeats-monsterusa.com/gfwlist +server=/epochtimes.com.ua/127.0.0.1#5335 +ipset=/epochtimes.com.ua/gfwlist +server=/beatsbydrebeatsby.com/127.0.0.1#5335 +ipset=/beatsbydrebeatsby.com/gfwlist +server=/billmelater.net/127.0.0.1#5335 +ipset=/billmelater.net/gfwlist +server=/abeatsbydrdre.com/127.0.0.1#5335 +ipset=/abeatsbydrdre.com/gfwlist +server=/cheapcustombeatsbydre.com/127.0.0.1#5335 +ipset=/cheapcustombeatsbydre.com/gfwlist +server=/casquebeatsdocteurdre.com/127.0.0.1#5335 +ipset=/casquebeatsdocteurdre.com/gfwlist +server=/12diasderegalosdeitunes.cl/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.cl/gfwlist +server=/drebeatsstudio2013.com/127.0.0.1#5335 +ipset=/drebeatsstudio2013.com/gfwlist +server=/account-paypal.info/127.0.0.1#5335 +ipset=/account-paypal.info/gfwlist +server=/google.de/127.0.0.1#5335 +ipset=/google.de/gfwlist +server=/artstation.com/127.0.0.1#5335 +ipset=/artstation.com/gfwlist +server=/hpconnected.net/127.0.0.1#5335 +ipset=/hpconnected.net/gfwlist +server=/nikeit.com/127.0.0.1#5335 +ipset=/nikeit.com/gfwlist +server=/binance.com/127.0.0.1#5335 +ipset=/binance.com/gfwlist +server=/mini.is/127.0.0.1#5335 +ipset=/mini.is/gfwlist +server=/p-events-delivery.akamaized.net/127.0.0.1#5335 +ipset=/p-events-delivery.akamaized.net/gfwlist +server=/youtube.az/127.0.0.1#5335 +ipset=/youtube.az/gfwlist +server=/hacklang.org/127.0.0.1#5335 +ipset=/hacklang.org/gfwlist +server=/webtoons.com/127.0.0.1#5335 +ipset=/webtoons.com/gfwlist +server=/microsoftnews.cc/127.0.0.1#5335 +ipset=/microsoftnews.cc/gfwlist +server=/next.com/127.0.0.1#5335 +ipset=/next.com/gfwlist +server=/smpte.org/127.0.0.1#5335 +ipset=/smpte.org/gfwlist +server=/quicktime.eu/127.0.0.1#5335 +ipset=/quicktime.eu/gfwlist +server=/consul.io/127.0.0.1#5335 +ipset=/consul.io/gfwlist +server=/volvobuses.com.au/127.0.0.1#5335 +ipset=/volvobuses.com.au/gfwlist +server=/beatsbydrestudio.com/127.0.0.1#5335 +ipset=/beatsbydrestudio.com/gfwlist +server=/paypal-survey.com/127.0.0.1#5335 +ipset=/paypal-survey.com/gfwlist +server=/aboutamazon.jp/127.0.0.1#5335 +ipset=/aboutamazon.jp/gfwlist +server=/valuegb.com/127.0.0.1#5335 +ipset=/valuegb.com/gfwlist +server=/disney.no/127.0.0.1#5335 +ipset=/disney.no/gfwlist +server=/hololens.com/127.0.0.1#5335 +ipset=/hololens.com/gfwlist +server=/mastercard.com.ar/127.0.0.1#5335 +ipset=/mastercard.com.ar/gfwlist +server=/borderlessprepaid.com/127.0.0.1#5335 +ipset=/borderlessprepaid.com/gfwlist +server=/miraheze.org/127.0.0.1#5335 +ipset=/miraheze.org/gfwlist +server=/drebeatsbuy.com/127.0.0.1#5335 +ipset=/drebeatsbuy.com/gfwlist +server=/headphones-outlet-online.com/127.0.0.1#5335 +ipset=/headphones-outlet-online.com/gfwlist +server=/microsoft.is/127.0.0.1#5335 +ipset=/microsoft.is/gfwlist +server=/starfox.com/127.0.0.1#5335 +ipset=/starfox.com/gfwlist +server=/enpirion.com/127.0.0.1#5335 +ipset=/enpirion.com/gfwlist +server=/miniso.co.id/127.0.0.1#5335 +ipset=/miniso.co.id/gfwlist +server=/adobeoobe.com/127.0.0.1#5335 +ipset=/adobeoobe.com/gfwlist +server=/minicanada.ca/127.0.0.1#5335 +ipset=/minicanada.ca/gfwlist +server=/gamedownloads-rockstargames-com.akamaized.net/127.0.0.1#5335 +ipset=/gamedownloads-rockstargames-com.akamaized.net/gfwlist +server=/adobeku.com/127.0.0.1#5335 +ipset=/adobeku.com/gfwlist +server=/bandwagonhost.com/127.0.0.1#5335 +ipset=/bandwagonhost.com/gfwlist +server=/syhacked.com/127.0.0.1#5335 +ipset=/syhacked.com/gfwlist +server=/fedoraforum.org/127.0.0.1#5335 +ipset=/fedoraforum.org/gfwlist +server=/alpherafs.ca/127.0.0.1#5335 +ipset=/alpherafs.ca/gfwlist +server=/facebookenespanol.com/127.0.0.1#5335 +ipset=/facebookenespanol.com/gfwlist +server=/av6k.com/127.0.0.1#5335 +ipset=/av6k.com/gfwlist +server=/foxdeportes.tv/127.0.0.1#5335 +ipset=/foxdeportes.tv/gfwlist +server=/bridgestonecomercial.com.mx/127.0.0.1#5335 +ipset=/bridgestonecomercial.com.mx/gfwlist +server=/dkr.com/127.0.0.1#5335 +ipset=/dkr.com/gfwlist +server=/paypal-excelinvoicing.com/127.0.0.1#5335 +ipset=/paypal-excelinvoicing.com/gfwlist +server=/googlecompare.co.uk/127.0.0.1#5335 +ipset=/googlecompare.co.uk/gfwlist +server=/nflxso.net/127.0.0.1#5335 +ipset=/nflxso.net/gfwlist +server=/marketingcloud.com/127.0.0.1#5335 +ipset=/marketingcloud.com/gfwlist +server=/weareebay.com/127.0.0.1#5335 +ipset=/weareebay.com/gfwlist +server=/bejewled-stars.com/127.0.0.1#5335 +ipset=/bejewled-stars.com/gfwlist +server=/volvotruckcenter.dk/127.0.0.1#5335 +ipset=/volvotruckcenter.dk/gfwlist +server=/visiontimes.de/127.0.0.1#5335 +ipset=/visiontimes.de/gfwlist +server=/intel.com.br/127.0.0.1#5335 +ipset=/intel.com.br/gfwlist +server=/bayvoice.net/127.0.0.1#5335 +ipset=/bayvoice.net/gfwlist +server=/freebasics.net/127.0.0.1#5335 +ipset=/freebasics.net/gfwlist +server=/needforspeedtherun.com/127.0.0.1#5335 +ipset=/needforspeedtherun.com/gfwlist +server=/aljazeera.com/127.0.0.1#5335 +ipset=/aljazeera.com/gfwlist +server=/google.com.hk/127.0.0.1#5335 +ipset=/google.com.hk/gfwlist +server=/meetfasttrack.com/127.0.0.1#5335 +ipset=/meetfasttrack.com/gfwlist +server=/vod-sub-uk-live.akamaized.net/127.0.0.1#5335 +ipset=/vod-sub-uk-live.akamaized.net/gfwlist +server=/googleapps.com/127.0.0.1#5335 +ipset=/googleapps.com/gfwlist +server=/firestone.com.br/127.0.0.1#5335 +ipset=/firestone.com.br/gfwlist +server=/tiktokv.com/127.0.0.1#5335 +ipset=/tiktokv.com/gfwlist +server=/mastercard.com.eg/127.0.0.1#5335 +ipset=/mastercard.com.eg/gfwlist +server=/hpbuiltforlearning.com/127.0.0.1#5335 +ipset=/hpbuiltforlearning.com/gfwlist +server=/harpercollinsspeakersbureau.com/127.0.0.1#5335 +ipset=/harpercollinsspeakersbureau.com/gfwlist +server=/nikesnowboarding.com/127.0.0.1#5335 +ipset=/nikesnowboarding.com/gfwlist +server=/sony.hr/127.0.0.1#5335 +ipset=/sony.hr/gfwlist +server=/dlercloud.com/127.0.0.1#5335 +ipset=/dlercloud.com/gfwlist +server=/issquareup.com/127.0.0.1#5335 +ipset=/issquareup.com/gfwlist +server=/youtube.co.th/127.0.0.1#5335 +ipset=/youtube.co.th/gfwlist +server=/smartcommunitiescoalition.com/127.0.0.1#5335 +ipset=/smartcommunitiescoalition.com/gfwlist +server=/jjdong7.com/127.0.0.1#5335 +ipset=/jjdong7.com/gfwlist +server=/cheapmonsterbeatsusa.us/127.0.0.1#5335 +ipset=/cheapmonsterbeatsusa.us/gfwlist +server=/epochtimes.ru/127.0.0.1#5335 +ipset=/epochtimes.ru/gfwlist +server=/directtvreviews.com/127.0.0.1#5335 +ipset=/directtvreviews.com/gfwlist +server=/nikebetterworld.com/127.0.0.1#5335 +ipset=/nikebetterworld.com/gfwlist +server=/beatsbydreoutletscheap.com/127.0.0.1#5335 +ipset=/beatsbydreoutletscheap.com/gfwlist +server=/volvotrucks.ge/127.0.0.1#5335 +ipset=/volvotrucks.ge/gfwlist +server=/mini-connected.dk/127.0.0.1#5335 +ipset=/mini-connected.dk/gfwlist +server=/google.dm/127.0.0.1#5335 +ipset=/google.dm/gfwlist +server=/vhx.tv/127.0.0.1#5335 +ipset=/vhx.tv/gfwlist +server=/adwords.com/127.0.0.1#5335 +ipset=/adwords.com/gfwlist +server=/bmw-motorrad.cl/127.0.0.1#5335 +ipset=/bmw-motorrad.cl/gfwlist +server=/kidspot.com.au/127.0.0.1#5335 +ipset=/kidspot.com.au/gfwlist +server=/terapeak.com.hk/127.0.0.1#5335 +ipset=/terapeak.com.hk/gfwlist +server=/theverge.com/127.0.0.1#5335 +ipset=/theverge.com/gfwlist +server=/youtube.com.py/127.0.0.1#5335 +ipset=/youtube.com.py/gfwlist +server=/cisconetspace.info/127.0.0.1#5335 +ipset=/cisconetspace.info/gfwlist +server=/paypal-database.us/127.0.0.1#5335 +ipset=/paypal-database.us/gfwlist +server=/crossmediapanel.com/127.0.0.1#5335 +ipset=/crossmediapanel.com/gfwlist +server=/bnbstatic.com/127.0.0.1#5335 +ipset=/bnbstatic.com/gfwlist +server=/salesforce.org/127.0.0.1#5335 +ipset=/salesforce.org/gfwlist +server=/google.com.mx/127.0.0.1#5335 +ipset=/google.com.mx/gfwlist +server=/googlecert.net/127.0.0.1#5335 +ipset=/googlecert.net/gfwlist +server=/foxsportsflorida.com/127.0.0.1#5335 +ipset=/foxsportsflorida.com/gfwlist +server=/nikerunningshoes.com/127.0.0.1#5335 +ipset=/nikerunningshoes.com/gfwlist +server=/ipadaustralia.com/127.0.0.1#5335 +ipset=/ipadaustralia.com/gfwlist +server=/foxsports.cl/127.0.0.1#5335 +ipset=/foxsports.cl/gfwlist +server=/bmw-motorrad.fr/127.0.0.1#5335 +ipset=/bmw-motorrad.fr/gfwlist +server=/duckduckgo.in/127.0.0.1#5335 +ipset=/duckduckgo.in/gfwlist +server=/collins.co.uk/127.0.0.1#5335 +ipset=/collins.co.uk/gfwlist +server=/disney.com.au/127.0.0.1#5335 +ipset=/disney.com.au/gfwlist +server=/acer.com/127.0.0.1#5335 +ipset=/acer.com/gfwlist +server=/thesundaytimes.co.uk/127.0.0.1#5335 +ipset=/thesundaytimes.co.uk/gfwlist +server=/realclear.com/127.0.0.1#5335 +ipset=/realclear.com/gfwlist +server=/google.co.uz/127.0.0.1#5335 +ipset=/google.co.uz/gfwlist +server=/durexukraine.com/127.0.0.1#5335 +ipset=/durexukraine.com/gfwlist +server=/finishinfo.com.au/127.0.0.1#5335 +ipset=/finishinfo.com.au/gfwlist +server=/bmw-connecteddrive.com.au/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com.au/gfwlist +server=/stxmosquito.com/127.0.0.1#5335 +ipset=/stxmosquito.com/gfwlist +server=/bloombergtax1.com/127.0.0.1#5335 +ipset=/bloombergtax1.com/gfwlist +server=/sony.no/127.0.0.1#5335 +ipset=/sony.no/gfwlist +server=/radiyoyacuvoa.com/127.0.0.1#5335 +ipset=/radiyoyacuvoa.com/gfwlist +server=/www-paypal.us/127.0.0.1#5335 +ipset=/www-paypal.us/gfwlist +server=/openthread.io/127.0.0.1#5335 +ipset=/openthread.io/gfwlist +server=/apple.bs/127.0.0.1#5335 +ipset=/apple.bs/gfwlist +server=/foxweatherwatch.com/127.0.0.1#5335 +ipset=/foxweatherwatch.com/gfwlist +server=/go-lang.net/127.0.0.1#5335 +ipset=/go-lang.net/gfwlist +server=/ipadair.tw/127.0.0.1#5335 +ipset=/ipadair.tw/gfwlist +server=/walmart-content.com/127.0.0.1#5335 +ipset=/walmart-content.com/gfwlist +server=/nextwork.tw/127.0.0.1#5335 +ipset=/nextwork.tw/gfwlist +server=/office365.com/127.0.0.1#5335 +ipset=/office365.com/gfwlist +server=/pinterest.ph/127.0.0.1#5335 +ipset=/pinterest.ph/gfwlist +server=/paypal-communications.com/127.0.0.1#5335 +ipset=/paypal-communications.com/gfwlist +server=/manoramanews.com/127.0.0.1#5335 +ipset=/manoramanews.com/gfwlist +server=/bmwccrc.ca/127.0.0.1#5335 +ipset=/bmwccrc.ca/gfwlist +server=/foxsoccer.net/127.0.0.1#5335 +ipset=/foxsoccer.net/gfwlist +server=/yahoo.com.do/127.0.0.1#5335 +ipset=/yahoo.com.do/gfwlist +server=/bmw-connecteddrive.at/127.0.0.1#5335 +ipset=/bmw-connecteddrive.at/gfwlist +server=/bestbuyrewards.com/127.0.0.1#5335 +ipset=/bestbuyrewards.com/gfwlist +server=/facebooklivestaging.org/127.0.0.1#5335 +ipset=/facebooklivestaging.org/gfwlist +server=/magentomobile.com/127.0.0.1#5335 +ipset=/magentomobile.com/gfwlist +server=/softbank-ipo.com/127.0.0.1#5335 +ipset=/softbank-ipo.com/gfwlist +server=/facebock.com/127.0.0.1#5335 +ipset=/facebock.com/gfwlist +server=/facerbooik.com/127.0.0.1#5335 +ipset=/facerbooik.com/gfwlist +server=/alpherafinance.com.hk/127.0.0.1#5335 +ipset=/alpherafinance.com.hk/gfwlist +server=/mini-oman.com/127.0.0.1#5335 +ipset=/mini-oman.com/gfwlist +server=/ping.pe/127.0.0.1#5335 +ipset=/ping.pe/gfwlist +server=/nintendo.pt/127.0.0.1#5335 +ipset=/nintendo.pt/gfwlist +server=/dollarphotosclub.com/127.0.0.1#5335 +ipset=/dollarphotosclub.com/gfwlist +server=/beats-bydre-mall.com/127.0.0.1#5335 +ipset=/beats-bydre-mall.com/gfwlist +server=/verisign.asia/127.0.0.1#5335 +ipset=/verisign.asia/gfwlist +server=/hpdesktopcomputer.com/127.0.0.1#5335 +ipset=/hpdesktopcomputer.com/gfwlist +server=/monsterbeats365buy.com/127.0.0.1#5335 +ipset=/monsterbeats365buy.com/gfwlist +server=/beatsaudios.net/127.0.0.1#5335 +ipset=/beatsaudios.net/gfwlist +server=/secom.co.jp/127.0.0.1#5335 +ipset=/secom.co.jp/gfwlist +server=/skysports.ie/127.0.0.1#5335 +ipset=/skysports.ie/gfwlist +server=/scientificlinux.org/127.0.0.1#5335 +ipset=/scientificlinux.org/gfwlist +server=/beatsheadphoness.com/127.0.0.1#5335 +ipset=/beatsheadphoness.com/gfwlist +server=/pyrobot.org/127.0.0.1#5335 +ipset=/pyrobot.org/gfwlist +server=/researchandcare.org/127.0.0.1#5335 +ipset=/researchandcare.org/gfwlist +server=/lovebeatsdr.com/127.0.0.1#5335 +ipset=/lovebeatsdr.com/gfwlist +server=/bmw-motorcycles.vn/127.0.0.1#5335 +ipset=/bmw-motorcycles.vn/gfwlist +server=/minisaskatoon.ca/127.0.0.1#5335 +ipset=/minisaskatoon.ca/gfwlist +server=/scholar.google.cl/127.0.0.1#5335 +ipset=/scholar.google.cl/gfwlist +server=/phxbmw.com/127.0.0.1#5335 +ipset=/phxbmw.com/gfwlist +server=/wiivc.net/127.0.0.1#5335 +ipset=/wiivc.net/gfwlist +server=/hpeurope.com/127.0.0.1#5335 +ipset=/hpeurope.com/gfwlist +server=/bridgestone-korea.co.kr/127.0.0.1#5335 +ipset=/bridgestone-korea.co.kr/gfwlist +server=/blznav.akamaized.net/127.0.0.1#5335 +ipset=/blznav.akamaized.net/gfwlist +server=/canon.hr/127.0.0.1#5335 +ipset=/canon.hr/gfwlist +server=/catalina.hk/127.0.0.1#5335 +ipset=/catalina.hk/gfwlist +server=/apple.it/127.0.0.1#5335 +ipset=/apple.it/gfwlist +server=/volvobuses.ma/127.0.0.1#5335 +ipset=/volvobuses.ma/gfwlist +server=/nintendo.com.hk/127.0.0.1#5335 +ipset=/nintendo.com.hk/gfwlist +server=/shopifysvc.com/127.0.0.1#5335 +ipset=/shopifysvc.com/gfwlist +server=/sexzy4.com/127.0.0.1#5335 +ipset=/sexzy4.com/gfwlist +server=/blackboxgames.com/127.0.0.1#5335 +ipset=/blackboxgames.com/gfwlist +server=/1pondo.tv/127.0.0.1#5335 +ipset=/1pondo.tv/gfwlist +server=/xn--mts47c3w9b1qr.net/127.0.0.1#5335 +ipset=/xn--mts47c3w9b1qr.net/gfwlist +server=/scholar.google.pl/127.0.0.1#5335 +ipset=/scholar.google.pl/gfwlist +server=/pixnet.tw/127.0.0.1#5335 +ipset=/pixnet.tw/gfwlist +server=/beatsbydrdrebiz.com/127.0.0.1#5335 +ipset=/beatsbydrdrebiz.com/gfwlist +server=/applecoronavirus.com/127.0.0.1#5335 +ipset=/applecoronavirus.com/gfwlist +server=/goodsdunk.net/127.0.0.1#5335 +ipset=/goodsdunk.net/gfwlist +server=/sweetandmaxwell.co.uk/127.0.0.1#5335 +ipset=/sweetandmaxwell.co.uk/gfwlist +server=/salesforce.com/127.0.0.1#5335 +ipset=/salesforce.com/gfwlist +server=/businesswebwise.com/127.0.0.1#5335 +ipset=/businesswebwise.com/gfwlist +server=/vaultproject.io/127.0.0.1#5335 +ipset=/vaultproject.io/gfwlist +server=/drdreprobeatssale.com/127.0.0.1#5335 +ipset=/drdreprobeatssale.com/gfwlist +server=/microsoftnewsforkids.net/127.0.0.1#5335 +ipset=/microsoftnewsforkids.net/gfwlist +server=/visa.co.id/127.0.0.1#5335 +ipset=/visa.co.id/gfwlist +server=/getlantern.org/127.0.0.1#5335 +ipset=/getlantern.org/gfwlist +server=/travelex.bh/127.0.0.1#5335 +ipset=/travelex.bh/gfwlist +server=/ieeer8.org/127.0.0.1#5335 +ipset=/ieeer8.org/gfwlist +server=/akacrypto.net/127.0.0.1#5335 +ipset=/akacrypto.net/gfwlist +server=/static9.net.au/127.0.0.1#5335 +ipset=/static9.net.au/gfwlist +server=/cheapmonstersbeatsonsale.com/127.0.0.1#5335 +ipset=/cheapmonstersbeatsonsale.com/gfwlist +server=/vmware20mosaic.com/127.0.0.1#5335 +ipset=/vmware20mosaic.com/gfwlist +server=/bmw.lc/127.0.0.1#5335 +ipset=/bmw.lc/gfwlist +server=/volvotrucks.ma/127.0.0.1#5335 +ipset=/volvotrucks.ma/gfwlist +server=/bmw-motorrad-now-or-never.com/127.0.0.1#5335 +ipset=/bmw-motorrad-now-or-never.com/gfwlist +server=/vfsco.ru/127.0.0.1#5335 +ipset=/vfsco.ru/gfwlist +server=/kubernetes.io/127.0.0.1#5335 +ipset=/kubernetes.io/gfwlist +server=/bridgestonecomercial.com.co/127.0.0.1#5335 +ipset=/bridgestonecomercial.com.co/gfwlist +server=/nikeplus.com/127.0.0.1#5335 +ipset=/nikeplus.com/gfwlist +server=/intel.je/127.0.0.1#5335 +ipset=/intel.je/gfwlist +server=/devopsassessment.net/127.0.0.1#5335 +ipset=/devopsassessment.net/gfwlist +server=/facebook.ca/127.0.0.1#5335 +ipset=/facebook.ca/gfwlist +server=/yahoo.hu/127.0.0.1#5335 +ipset=/yahoo.hu/gfwlist +server=/epicgames.com/127.0.0.1#5335 +ipset=/epicgames.com/gfwlist +server=/beatsbydrdremall.com/127.0.0.1#5335 +ipset=/beatsbydrdremall.com/gfwlist +server=/bmw-tahiti.com/127.0.0.1#5335 +ipset=/bmw-tahiti.com/gfwlist +server=/drdreheadphonekey.com/127.0.0.1#5335 +ipset=/drdreheadphonekey.com/gfwlist +server=/pics.ee/127.0.0.1#5335 +ipset=/pics.ee/gfwlist +server=/ueberamazon.de/127.0.0.1#5335 +ipset=/ueberamazon.de/gfwlist +server=/yahoo.pt/127.0.0.1#5335 +ipset=/yahoo.pt/gfwlist +server=/yahoo.com.kw/127.0.0.1#5335 +ipset=/yahoo.com.kw/gfwlist +server=/ebay.sg/127.0.0.1#5335 +ipset=/ebay.sg/gfwlist +server=/connected-drive.com/127.0.0.1#5335 +ipset=/connected-drive.com/gfwlist +server=/fcaebook.com/127.0.0.1#5335 +ipset=/fcaebook.com/gfwlist +server=/udemycdn.com/127.0.0.1#5335 +ipset=/udemycdn.com/gfwlist +server=/one.one.one/127.0.0.1#5335 +ipset=/one.one.one/gfwlist +server=/cookiechoices.org/127.0.0.1#5335 +ipset=/cookiechoices.org/gfwlist +server=/bloomberggovernment.com/127.0.0.1#5335 +ipset=/bloomberggovernment.com/gfwlist +server=/logitechg.fr/127.0.0.1#5335 +ipset=/logitechg.fr/gfwlist +server=/g.dev/127.0.0.1#5335 +ipset=/g.dev/gfwlist +server=/quatrum.com.br/127.0.0.1#5335 +ipset=/quatrum.com.br/gfwlist +server=/nikefr.com/127.0.0.1#5335 +ipset=/nikefr.com/gfwlist +server=/pagecdn.com/127.0.0.1#5335 +ipset=/pagecdn.com/gfwlist +server=/deviantart.net/127.0.0.1#5335 +ipset=/deviantart.net/gfwlist +server=/tiltbrush.com/127.0.0.1#5335 +ipset=/tiltbrush.com/gfwlist +server=/imac.com/127.0.0.1#5335 +ipset=/imac.com/gfwlist +server=/videos-rockstargames-com.akamaized.net/127.0.0.1#5335 +ipset=/videos-rockstargames-com.akamaized.net/gfwlist +server=/beatsbydresold.com/127.0.0.1#5335 +ipset=/beatsbydresold.com/gfwlist +server=/powerbeats2wireless.com/127.0.0.1#5335 +ipset=/powerbeats2wireless.com/gfwlist +server=/kktv.me/127.0.0.1#5335 +ipset=/kktv.me/gfwlist +server=/coinonecore.com/127.0.0.1#5335 +ipset=/coinonecore.com/gfwlist +server=/minimarkham.com/127.0.0.1#5335 +ipset=/minimarkham.com/gfwlist +server=/gittigidiyorsikayet.com/127.0.0.1#5335 +ipset=/gittigidiyorsikayet.com/gfwlist +server=/wwwwebay.com/127.0.0.1#5335 +ipset=/wwwwebay.com/gfwlist +server=/disneytickets.co.uk/127.0.0.1#5335 +ipset=/disneytickets.co.uk/gfwlist +server=/hulufree.com/127.0.0.1#5335 +ipset=/hulufree.com/gfwlist +server=/minispace.com/127.0.0.1#5335 +ipset=/minispace.com/gfwlist +server=/connectcommerce.hk/127.0.0.1#5335 +ipset=/connectcommerce.hk/gfwlist +server=/dirctv.com/127.0.0.1#5335 +ipset=/dirctv.com/gfwlist +server=/zohocdn.com/127.0.0.1#5335 +ipset=/zohocdn.com/gfwlist +server=/netflix.net/127.0.0.1#5335 +ipset=/netflix.net/gfwlist +server=/dreprobeats.com/127.0.0.1#5335 +ipset=/dreprobeats.com/gfwlist +server=/imgur.com/127.0.0.1#5335 +ipset=/imgur.com/gfwlist +server=/bloombergmedia.com/127.0.0.1#5335 +ipset=/bloombergmedia.com/gfwlist +server=/ipod.com.sg/127.0.0.1#5335 +ipset=/ipod.com.sg/gfwlist +server=/teraperk.com/127.0.0.1#5335 +ipset=/teraperk.com/gfwlist +server=/vfsco.lt/127.0.0.1#5335 +ipset=/vfsco.lt/gfwlist +server=/aljazeera.net/127.0.0.1#5335 +ipset=/aljazeera.net/gfwlist +server=/paypal-cash.com/127.0.0.1#5335 +ipset=/paypal-cash.com/gfwlist +server=/airwick.at/127.0.0.1#5335 +ipset=/airwick.at/gfwlist +server=/yahoo.sn/127.0.0.1#5335 +ipset=/yahoo.sn/gfwlist +server=/enfabebe.com.mx/127.0.0.1#5335 +ipset=/enfabebe.com.mx/gfwlist +server=/firewire.eu/127.0.0.1#5335 +ipset=/firewire.eu/gfwlist +server=/worldcurrencycard.co.za/127.0.0.1#5335 +ipset=/worldcurrencycard.co.za/gfwlist +server=/mobileme.dk/127.0.0.1#5335 +ipset=/mobileme.dk/gfwlist +server=/myvisaluxuryhotels.com/127.0.0.1#5335 +ipset=/myvisaluxuryhotels.com/gfwlist +server=/mdlf.xyz/127.0.0.1#5335 +ipset=/mdlf.xyz/gfwlist +server=/eablackbox.com/127.0.0.1#5335 +ipset=/eablackbox.com/gfwlist +server=/bmw.bb/127.0.0.1#5335 +ipset=/bmw.bb/gfwlist +server=/appule.com/127.0.0.1#5335 +ipset=/appule.com/gfwlist +server=/newscareers.co.uk/127.0.0.1#5335 +ipset=/newscareers.co.uk/gfwlist +server=/bmwgroup-plants.com/127.0.0.1#5335 +ipset=/bmwgroup-plants.com/gfwlist +server=/google.nr/127.0.0.1#5335 +ipset=/google.nr/gfwlist +server=/ntdtv.org/127.0.0.1#5335 +ipset=/ntdtv.org/gfwlist +server=/applepay.hamburg/127.0.0.1#5335 +ipset=/applepay.hamburg/gfwlist +server=/wwwmfacebook.com/127.0.0.1#5335 +ipset=/wwwmfacebook.com/gfwlist +server=/pp-soc.com/127.0.0.1#5335 +ipset=/pp-soc.com/gfwlist +server=/edu-research.org/127.0.0.1#5335 +ipset=/edu-research.org/gfwlist +server=/bridgestone-bandag.com/127.0.0.1#5335 +ipset=/bridgestone-bandag.com/gfwlist +server=/watchjavonline.com/127.0.0.1#5335 +ipset=/watchjavonline.com/gfwlist +server=/visa.com.lc/127.0.0.1#5335 +ipset=/visa.com.lc/gfwlist +server=/starbuckscardb2b.com/127.0.0.1#5335 +ipset=/starbuckscardb2b.com/gfwlist +server=/love7.xyz/127.0.0.1#5335 +ipset=/love7.xyz/gfwlist +server=/awsbraket.com/127.0.0.1#5335 +ipset=/awsbraket.com/gfwlist +server=/dart.dev/127.0.0.1#5335 +ipset=/dart.dev/gfwlist +server=/google.com.ar/127.0.0.1#5335 +ipset=/google.com.ar/gfwlist +server=/shopee.co.th/127.0.0.1#5335 +ipset=/shopee.co.th/gfwlist +server=/facebookck.com/127.0.0.1#5335 +ipset=/facebookck.com/gfwlist +server=/porntea.com/127.0.0.1#5335 +ipset=/porntea.com/gfwlist +server=/travelex.co.jp/127.0.0.1#5335 +ipset=/travelex.co.jp/gfwlist +server=/yahoo.md/127.0.0.1#5335 +ipset=/yahoo.md/gfwlist +server=/disney-plus.net/127.0.0.1#5335 +ipset=/disney-plus.net/gfwlist +server=/cambridge.org/127.0.0.1#5335 +ipset=/cambridge.org/gfwlist +server=/mono-project.com/127.0.0.1#5335 +ipset=/mono-project.com/gfwlist +server=/facebooa.com/127.0.0.1#5335 +ipset=/facebooa.com/gfwlist +server=/ichat.co.in/127.0.0.1#5335 +ipset=/ichat.co.in/gfwlist +server=/kannewyork.com/127.0.0.1#5335 +ipset=/kannewyork.com/gfwlist +server=/rokutime.com/127.0.0.1#5335 +ipset=/rokutime.com/gfwlist +server=/alphabet.mx/127.0.0.1#5335 +ipset=/alphabet.mx/gfwlist +server=/cdkworkshop.com/127.0.0.1#5335 +ipset=/cdkworkshop.com/gfwlist +server=/rtings.com/127.0.0.1#5335 +ipset=/rtings.com/gfwlist +server=/compass.is/127.0.0.1#5335 +ipset=/compass.is/gfwlist +server=/xn--tkry91n.com/127.0.0.1#5335 +ipset=/xn--tkry91n.com/gfwlist +server=/mini.com.cy/127.0.0.1#5335 +ipset=/mini.com.cy/gfwlist +server=/eporner.com/127.0.0.1#5335 +ipset=/eporner.com/gfwlist +server=/volvobuses.om/127.0.0.1#5335 +ipset=/volvobuses.om/gfwlist +server=/faceid99.net/127.0.0.1#5335 +ipset=/faceid99.net/gfwlist +server=/alphera.com.es/127.0.0.1#5335 +ipset=/alphera.com.es/gfwlist +server=/pearsonelt.com/127.0.0.1#5335 +ipset=/pearsonelt.com/gfwlist +server=/visa.ie/127.0.0.1#5335 +ipset=/visa.ie/gfwlist +server=/hpcontinuum.com/127.0.0.1#5335 +ipset=/hpcontinuum.com/gfwlist +server=/beatsbydrdresale.net/127.0.0.1#5335 +ipset=/beatsbydrdresale.net/gfwlist +server=/mini.co.id/127.0.0.1#5335 +ipset=/mini.co.id/gfwlist +server=/yahoo.com.bd/127.0.0.1#5335 +ipset=/yahoo.com.bd/gfwlist +server=/ebayinkblog.com/127.0.0.1#5335 +ipset=/ebayinkblog.com/gfwlist +server=/govforce.com/127.0.0.1#5335 +ipset=/govforce.com/gfwlist +server=/awssecworkshops.com/127.0.0.1#5335 +ipset=/awssecworkshops.com/gfwlist +server=/appleiservices.com/127.0.0.1#5335 +ipset=/appleiservices.com/gfwlist +server=/fireemblemawakening.com/127.0.0.1#5335 +ipset=/fireemblemawakening.com/gfwlist +server=/swiftfinancial.net/127.0.0.1#5335 +ipset=/swiftfinancial.net/gfwlist +server=/imdb.to/127.0.0.1#5335 +ipset=/imdb.to/gfwlist +server=/telega.one/127.0.0.1#5335 +ipset=/telega.one/gfwlist +server=/2013cheapestbeats.com/127.0.0.1#5335 +ipset=/2013cheapestbeats.com/gfwlist +server=/mcdelivery.co.id/127.0.0.1#5335 +ipset=/mcdelivery.co.id/gfwlist +server=/twitter.jp/127.0.0.1#5335 +ipset=/twitter.jp/gfwlist +server=/cbsaavideo.com/127.0.0.1#5335 +ipset=/cbsaavideo.com/gfwlist +server=/google.cat/127.0.0.1#5335 +ipset=/google.cat/gfwlist +server=/facebook.wang/127.0.0.1#5335 +ipset=/facebook.wang/gfwlist +server=/dazn-api.com/127.0.0.1#5335 +ipset=/dazn-api.com/gfwlist +server=/ebaysocial.ru/127.0.0.1#5335 +ipset=/ebaysocial.ru/gfwlist +server=/v2ray.com/127.0.0.1#5335 +ipset=/v2ray.com/gfwlist +server=/vanish.com.tr/127.0.0.1#5335 +ipset=/vanish.com.tr/gfwlist +server=/quicinc.com/127.0.0.1#5335 +ipset=/quicinc.com/gfwlist +server=/mastercard.lu/127.0.0.1#5335 +ipset=/mastercard.lu/gfwlist +server=/fbrpms.com/127.0.0.1#5335 +ipset=/fbrpms.com/gfwlist +server=/azure-dns.org/127.0.0.1#5335 +ipset=/azure-dns.org/gfwlist +server=/pinterest.be/127.0.0.1#5335 +ipset=/pinterest.be/gfwlist +server=/fontbook.com/127.0.0.1#5335 +ipset=/fontbook.com/gfwlist +server=/verisign.net/127.0.0.1#5335 +ipset=/verisign.net/gfwlist +server=/bmw-connecteddrive.mx/127.0.0.1#5335 +ipset=/bmw-connecteddrive.mx/gfwlist +server=/bmwarchiv.at/127.0.0.1#5335 +ipset=/bmwarchiv.at/gfwlist +server=/fox.com/127.0.0.1#5335 +ipset=/fox.com/gfwlist +server=/aavs.xyz/127.0.0.1#5335 +ipset=/aavs.xyz/gfwlist +server=/bestbuycanada.com/127.0.0.1#5335 +ipset=/bestbuycanada.com/gfwlist +server=/bmw-connecteddrive.dk/127.0.0.1#5335 +ipset=/bmw-connecteddrive.dk/gfwlist +server=/scholar.google.es/127.0.0.1#5335 +ipset=/scholar.google.es/gfwlist +server=/igoogle.com/127.0.0.1#5335 +ipset=/igoogle.com/gfwlist +server=/ntdtv.ca/127.0.0.1#5335 +ipset=/ntdtv.ca/gfwlist +server=/ggoogle.com/127.0.0.1#5335 +ipset=/ggoogle.com/gfwlist +server=/ebaymotors.org/127.0.0.1#5335 +ipset=/ebaymotors.org/gfwlist +server=/imperialbusiness.school/127.0.0.1#5335 +ipset=/imperialbusiness.school/gfwlist +server=/applecard.tv/127.0.0.1#5335 +ipset=/applecard.tv/gfwlist +server=/vox.com/127.0.0.1#5335 +ipset=/vox.com/gfwlist +server=/n3ro.wtf/127.0.0.1#5335 +ipset=/n3ro.wtf/gfwlist +server=/epicreads.com/127.0.0.1#5335 +ipset=/epicreads.com/gfwlist +server=/minivalueservice.com/127.0.0.1#5335 +ipset=/minivalueservice.com/gfwlist +server=/heroesofthestorm.com/127.0.0.1#5335 +ipset=/heroesofthestorm.com/gfwlist +server=/sectigo.com/127.0.0.1#5335 +ipset=/sectigo.com/gfwlist +server=/acer-group.com/127.0.0.1#5335 +ipset=/acer-group.com/gfwlist +server=/drebeatspill.com/127.0.0.1#5335 +ipset=/drebeatspill.com/gfwlist +server=/xeon.com/127.0.0.1#5335 +ipset=/xeon.com/gfwlist +server=/bmw.mn/127.0.0.1#5335 +ipset=/bmw.mn/gfwlist +server=/adobetechcommcallback.com/127.0.0.1#5335 +ipset=/adobetechcommcallback.com/gfwlist +server=/pinterest.com.py/127.0.0.1#5335 +ipset=/pinterest.com.py/gfwlist +server=/yandex.lt/127.0.0.1#5335 +ipset=/yandex.lt/gfwlist +server=/stxmosquitoproject.org/127.0.0.1#5335 +ipset=/stxmosquitoproject.org/gfwlist +server=/hppage5000.com/127.0.0.1#5335 +ipset=/hppage5000.com/gfwlist +server=/blinkload.zone/127.0.0.1#5335 +ipset=/blinkload.zone/gfwlist +server=/clickserver.googleads.com/127.0.0.1#5335 +ipset=/clickserver.googleads.com/gfwlist +server=/ipod.no/127.0.0.1#5335 +ipset=/ipod.no/gfwlist +server=/apple.de/127.0.0.1#5335 +ipset=/apple.de/gfwlist +server=/singtaobooks.com/127.0.0.1#5335 +ipset=/singtaobooks.com/gfwlist +server=/marketexecutive.net/127.0.0.1#5335 +ipset=/marketexecutive.net/gfwlist +server=/pinterest.com.uy/127.0.0.1#5335 +ipset=/pinterest.com.uy/gfwlist +server=/voaportugues.com/127.0.0.1#5335 +ipset=/voaportugues.com/gfwlist +server=/cursecdn.com/127.0.0.1#5335 +ipset=/cursecdn.com/gfwlist +server=/starwars.com/127.0.0.1#5335 +ipset=/starwars.com/gfwlist +server=/camwhores.tv/127.0.0.1#5335 +ipset=/camwhores.tv/gfwlist +server=/embs.org/127.0.0.1#5335 +ipset=/embs.org/gfwlist +server=/annstores.net/127.0.0.1#5335 +ipset=/annstores.net/gfwlist +server=/wolfatbestbuy.com/127.0.0.1#5335 +ipset=/wolfatbestbuy.com/gfwlist +server=/applepay.hk/127.0.0.1#5335 +ipset=/applepay.hk/gfwlist +server=/paypal-media.com/127.0.0.1#5335 +ipset=/paypal-media.com/gfwlist +server=/s-msn.com/127.0.0.1#5335 +ipset=/s-msn.com/gfwlist +server=/disney-studio.com/127.0.0.1#5335 +ipset=/disney-studio.com/gfwlist +server=/themessengeradelaide.com.au/127.0.0.1#5335 +ipset=/themessengeradelaide.com.au/gfwlist +server=/exploreintel.com/127.0.0.1#5335 +ipset=/exploreintel.com/gfwlist +server=/facebooi.com/127.0.0.1#5335 +ipset=/facebooi.com/gfwlist +server=/scholar.google.co.ve/127.0.0.1#5335 +ipset=/scholar.google.co.ve/gfwlist +server=/alphabet.com.es/127.0.0.1#5335 +ipset=/alphabet.com.es/gfwlist +server=/wheelpop.com/127.0.0.1#5335 +ipset=/wheelpop.com/gfwlist +server=/softbankci.com/127.0.0.1#5335 +ipset=/softbankci.com/gfwlist +server=/wikimediacloud.org/127.0.0.1#5335 +ipset=/wikimediacloud.org/gfwlist +server=/beatssbydredanmark.com/127.0.0.1#5335 +ipset=/beatssbydredanmark.com/gfwlist +server=/buzzardflapper.com/127.0.0.1#5335 +ipset=/buzzardflapper.com/gfwlist +server=/bugzilla.org/127.0.0.1#5335 +ipset=/bugzilla.org/gfwlist +server=/bgov.com/127.0.0.1#5335 +ipset=/bgov.com/gfwlist +server=/poshtestgallery.com/127.0.0.1#5335 +ipset=/poshtestgallery.com/gfwlist +server=/airport-gov-cn.com/127.0.0.1#5335 +ipset=/airport-gov-cn.com/gfwlist +server=/line-apps.com/127.0.0.1#5335 +ipset=/line-apps.com/gfwlist +server=/mspairlift.com/127.0.0.1#5335 +ipset=/mspairlift.com/gfwlist +server=/riotgames.tv/127.0.0.1#5335 +ipset=/riotgames.tv/gfwlist +server=/camelphat.com/127.0.0.1#5335 +ipset=/camelphat.com/gfwlist +server=/ankarazirvesi2018.com/127.0.0.1#5335 +ipset=/ankarazirvesi2018.com/gfwlist +server=/techatbloomberg.com/127.0.0.1#5335 +ipset=/techatbloomberg.com/gfwlist +server=/winhec.com/127.0.0.1#5335 +ipset=/winhec.com/gfwlist +server=/bmw-motorrad-authorities.com/127.0.0.1#5335 +ipset=/bmw-motorrad-authorities.com/gfwlist +server=/sony.kz/127.0.0.1#5335 +ipset=/sony.kz/gfwlist +server=/hdrplusdata.org/127.0.0.1#5335 +ipset=/hdrplusdata.org/gfwlist +server=/volvo.se/127.0.0.1#5335 +ipset=/volvo.se/gfwlist +server=/ebayhabit.com/127.0.0.1#5335 +ipset=/ebayhabit.com/gfwlist +server=/torcidadeouro.com/127.0.0.1#5335 +ipset=/torcidadeouro.com/gfwlist +server=/facebookhome.info/127.0.0.1#5335 +ipset=/facebookhome.info/gfwlist +server=/becomeindex.com/127.0.0.1#5335 +ipset=/becomeindex.com/gfwlist +server=/pinterest.engineering/127.0.0.1#5335 +ipset=/pinterest.engineering/gfwlist +server=/disney.dk/127.0.0.1#5335 +ipset=/disney.dk/gfwlist +server=/videobreakdown.com/127.0.0.1#5335 +ipset=/videobreakdown.com/gfwlist +server=/paypal-prepagata.net/127.0.0.1#5335 +ipset=/paypal-prepagata.net/gfwlist +server=/apple.at/127.0.0.1#5335 +ipset=/apple.at/gfwlist +server=/wzmyg.com/127.0.0.1#5335 +ipset=/wzmyg.com/gfwlist +server=/experience-vmware.com/127.0.0.1#5335 +ipset=/experience-vmware.com/gfwlist +server=/monsterbeats-solo.net/127.0.0.1#5335 +ipset=/monsterbeats-solo.net/gfwlist +server=/facebookphotos.com/127.0.0.1#5335 +ipset=/facebookphotos.com/gfwlist +server=/eaaccess.com/127.0.0.1#5335 +ipset=/eaaccess.com/gfwlist +server=/comodoca2.com/127.0.0.1#5335 +ipset=/comodoca2.com/gfwlist +server=/mini-connected.ie/127.0.0.1#5335 +ipset=/mini-connected.ie/gfwlist +server=/visa.se/127.0.0.1#5335 +ipset=/visa.se/gfwlist +server=/hp-webplatform.com/127.0.0.1#5335 +ipset=/hp-webplatform.com/gfwlist +server=/visacheckout.net/127.0.0.1#5335 +ipset=/visacheckout.net/gfwlist +server=/airport.com/127.0.0.1#5335 +ipset=/airport.com/gfwlist +server=/beatfactoryoutlets.com/127.0.0.1#5335 +ipset=/beatfactoryoutlets.com/gfwlist +server=/realcleardefense.com/127.0.0.1#5335 +ipset=/realcleardefense.com/gfwlist +server=/maktoob.com/127.0.0.1#5335 +ipset=/maktoob.com/gfwlist +server=/openwrt.org/127.0.0.1#5335 +ipset=/openwrt.org/gfwlist +server=/nikegrid.com/127.0.0.1#5335 +ipset=/nikegrid.com/gfwlist +server=/tuta.io/127.0.0.1#5335 +ipset=/tuta.io/gfwlist +server=/paaypal.com/127.0.0.1#5335 +ipset=/paaypal.com/gfwlist +server=/ebaytopratedseller.net/127.0.0.1#5335 +ipset=/ebaytopratedseller.net/gfwlist +server=/naiadsystems.com/127.0.0.1#5335 +ipset=/naiadsystems.com/gfwlist +server=/hpusertraining.com/127.0.0.1#5335 +ipset=/hpusertraining.com/gfwlist +server=/analytictech.com/127.0.0.1#5335 +ipset=/analytictech.com/gfwlist +server=/foxsportsworld.com/127.0.0.1#5335 +ipset=/foxsportsworld.com/gfwlist +server=/avgle.com/127.0.0.1#5335 +ipset=/avgle.com/gfwlist +server=/ixquick.com/127.0.0.1#5335 +ipset=/ixquick.com/gfwlist +server=/volvobuses.ch/127.0.0.1#5335 +ipset=/volvobuses.ch/gfwlist +server=/ebayimg.com/127.0.0.1#5335 +ipset=/ebayimg.com/gfwlist +server=/registerhulu.com/127.0.0.1#5335 +ipset=/registerhulu.com/gfwlist +server=/ok.ru/127.0.0.1#5335 +ipset=/ok.ru/gfwlist +server=/durex.ru/127.0.0.1#5335 +ipset=/durex.ru/gfwlist +server=/volvotrucks.ch/127.0.0.1#5335 +ipset=/volvotrucks.ch/gfwlist +server=/bmw-motorrad.co.za/127.0.0.1#5335 +ipset=/bmw-motorrad.co.za/gfwlist +server=/lolpcs.com/127.0.0.1#5335 +ipset=/lolpcs.com/gfwlist +server=/visa.co.ao/127.0.0.1#5335 +ipset=/visa.co.ao/gfwlist +server=/dreamtoplay.com/127.0.0.1#5335 +ipset=/dreamtoplay.com/gfwlist +server=/paypal-notify.com/127.0.0.1#5335 +ipset=/paypal-notify.com/gfwlist +server=/buydrdrebeatbox.com/127.0.0.1#5335 +ipset=/buydrdrebeatbox.com/gfwlist +server=/tryfunctions.com/127.0.0.1#5335 +ipset=/tryfunctions.com/gfwlist +server=/disney.com.br/127.0.0.1#5335 +ipset=/disney.com.br/gfwlist +server=/pypl.info/127.0.0.1#5335 +ipset=/pypl.info/gfwlist +server=/family.co.jp/127.0.0.1#5335 +ipset=/family.co.jp/gfwlist +server=/finish.com.tr/127.0.0.1#5335 +ipset=/finish.com.tr/gfwlist +server=/nbcuni.com/127.0.0.1#5335 +ipset=/nbcuni.com/gfwlist +server=/account-paypal.org/127.0.0.1#5335 +ipset=/account-paypal.org/gfwlist +server=/altera.com/127.0.0.1#5335 +ipset=/altera.com/gfwlist +server=/ubisoft.com/127.0.0.1#5335 +ipset=/ubisoft.com/gfwlist +server=/voasomali.com/127.0.0.1#5335 +ipset=/voasomali.com/gfwlist +server=/audiobeatsbydre.com/127.0.0.1#5335 +ipset=/audiobeatsbydre.com/gfwlist +server=/beatsbydreonlie2013-nl.com/127.0.0.1#5335 +ipset=/beatsbydreonlie2013-nl.com/gfwlist +server=/xboxab.com/127.0.0.1#5335 +ipset=/xboxab.com/gfwlist +server=/intel.ar/127.0.0.1#5335 +ipset=/intel.ar/gfwlist +server=/fox23maine.com/127.0.0.1#5335 +ipset=/fox23maine.com/gfwlist +server=/youtube.mx/127.0.0.1#5335 +ipset=/youtube.mx/gfwlist +server=/bmw-connecteddrive.nl/127.0.0.1#5335 +ipset=/bmw-connecteddrive.nl/gfwlist +server=/google.com.cu/127.0.0.1#5335 +ipset=/google.com.cu/gfwlist +server=/xhamster.com/127.0.0.1#5335 +ipset=/xhamster.com/gfwlist +server=/nikehyperdunk.com/127.0.0.1#5335 +ipset=/nikehyperdunk.com/gfwlist +server=/ieeenano.org/127.0.0.1#5335 +ipset=/ieeenano.org/gfwlist +server=/ltn.com.tw/127.0.0.1#5335 +ipset=/ltn.com.tw/gfwlist +server=/calgonit.com/127.0.0.1#5335 +ipset=/calgonit.com/gfwlist +server=/shopee.com.my/127.0.0.1#5335 +ipset=/shopee.com.my/gfwlist +server=/sonypcl.jp/127.0.0.1#5335 +ipset=/sonypcl.jp/gfwlist +server=/paypalhere.tv/127.0.0.1#5335 +ipset=/paypalhere.tv/gfwlist +server=/blogspot.ro/127.0.0.1#5335 +ipset=/blogspot.ro/gfwlist +server=/vanish.it/127.0.0.1#5335 +ipset=/vanish.it/gfwlist +server=/bmwconnecteddrive.com/127.0.0.1#5335 +ipset=/bmwconnecteddrive.com/gfwlist +server=/scholar.google.hu/127.0.0.1#5335 +ipset=/scholar.google.hu/gfwlist +server=/canon.cz/127.0.0.1#5335 +ipset=/canon.cz/gfwlist +server=/dajiyuan.eu/127.0.0.1#5335 +ipset=/dajiyuan.eu/gfwlist +server=/vod-thumb-uk-live.akamaized.net/127.0.0.1#5335 +ipset=/vod-thumb-uk-live.akamaized.net/gfwlist +server=/yahoo.gr/127.0.0.1#5335 +ipset=/yahoo.gr/gfwlist +server=/lgecareers.com/127.0.0.1#5335 +ipset=/lgecareers.com/gfwlist +server=/voacantonese.com/127.0.0.1#5335 +ipset=/voacantonese.com/gfwlist +server=/ipadmini.cm/127.0.0.1#5335 +ipset=/ipadmini.cm/gfwlist +server=/pdf.new/127.0.0.1#5335 +ipset=/pdf.new/gfwlist +server=/cebay.com/127.0.0.1#5335 +ipset=/cebay.com/gfwlist +server=/cbsstatic.com/127.0.0.1#5335 +ipset=/cbsstatic.com/gfwlist +server=/appletips.net/127.0.0.1#5335 +ipset=/appletips.net/gfwlist +server=/pokemon-moon.com/127.0.0.1#5335 +ipset=/pokemon-moon.com/gfwlist +server=/facebookthreads.net/127.0.0.1#5335 +ipset=/facebookthreads.net/gfwlist +server=/disneymagicmoments.es/127.0.0.1#5335 +ipset=/disneymagicmoments.es/gfwlist +server=/airwick.ca/127.0.0.1#5335 +ipset=/airwick.ca/gfwlist +server=/durexcanada.com/127.0.0.1#5335 +ipset=/durexcanada.com/gfwlist +server=/fox5ny.com/127.0.0.1#5335 +ipset=/fox5ny.com/gfwlist +server=/wwwinstagram.com/127.0.0.1#5335 +ipset=/wwwinstagram.com/gfwlist +server=/bloombergchina.com/127.0.0.1#5335 +ipset=/bloombergchina.com/gfwlist +server=/docker.com/127.0.0.1#5335 +ipset=/docker.com/gfwlist +server=/cheapbeatsbydrdrepro.com/127.0.0.1#5335 +ipset=/cheapbeatsbydrdrepro.com/gfwlist +server=/eebay.com/127.0.0.1#5335 +ipset=/eebay.com/gfwlist +server=/pricelessmarketingengine.com/127.0.0.1#5335 +ipset=/pricelessmarketingengine.com/gfwlist +server=/bmw-motorrad.se/127.0.0.1#5335 +ipset=/bmw-motorrad.se/gfwlist +server=/tvbeventpower.com.hk/127.0.0.1#5335 +ipset=/tvbeventpower.com.hk/gfwlist +server=/ebayshop111.com/127.0.0.1#5335 +ipset=/ebayshop111.com/gfwlist +server=/soccerfanz.com.my/127.0.0.1#5335 +ipset=/soccerfanz.com.my/gfwlist +server=/wiley.com/127.0.0.1#5335 +ipset=/wiley.com/gfwlist +server=/beatsonblackfriday2013.com/127.0.0.1#5335 +ipset=/beatsonblackfriday2013.com/gfwlist +server=/mymmode.com/127.0.0.1#5335 +ipset=/mymmode.com/gfwlist +server=/visa.fr/127.0.0.1#5335 +ipset=/visa.fr/gfwlist +server=/line.naver.jp/127.0.0.1#5335 +ipset=/line.naver.jp/gfwlist +server=/starbucks.ch/127.0.0.1#5335 +ipset=/starbucks.ch/gfwlist +server=/rclon.com/127.0.0.1#5335 +ipset=/rclon.com/gfwlist +server=/mypearsonshop.com.mx/127.0.0.1#5335 +ipset=/mypearsonshop.com.mx/gfwlist +server=/sony.com.bo/127.0.0.1#5335 +ipset=/sony.com.bo/gfwlist +server=/mini.dz/127.0.0.1#5335 +ipset=/mini.dz/gfwlist +server=/928.plus/127.0.0.1#5335 +ipset=/928.plus/gfwlist +server=/speedracegear.com/127.0.0.1#5335 +ipset=/speedracegear.com/gfwlist +server=/prodrive-japan.com/127.0.0.1#5335 +ipset=/prodrive-japan.com/gfwlist +server=/bitquick.co/127.0.0.1#5335 +ipset=/bitquick.co/gfwlist +server=/yahoo.com.tw/127.0.0.1#5335 +ipset=/yahoo.com.tw/gfwlist +server=/itunesu.com/127.0.0.1#5335 +ipset=/itunesu.com/gfwlist +server=/macosforge.org/127.0.0.1#5335 +ipset=/macosforge.org/gfwlist +server=/buyonlineheadphones.com/127.0.0.1#5335 +ipset=/buyonlineheadphones.com/gfwlist +server=/truedepth3d.com/127.0.0.1#5335 +ipset=/truedepth3d.com/gfwlist +server=/wwwebay.com/127.0.0.1#5335 +ipset=/wwwebay.com/gfwlist +server=/mirrorsedge.net/127.0.0.1#5335 +ipset=/mirrorsedge.net/gfwlist +server=/buyaapl.net/127.0.0.1#5335 +ipset=/buyaapl.net/gfwlist +server=/zoomingin.tv/127.0.0.1#5335 +ipset=/zoomingin.tv/gfwlist +server=/adobedc.net/127.0.0.1#5335 +ipset=/adobedc.net/gfwlist +server=/minivilledequebec.com/127.0.0.1#5335 +ipset=/minivilledequebec.com/gfwlist +server=/sndcdn.com/127.0.0.1#5335 +ipset=/sndcdn.com/gfwlist +server=/daytontrucktires.com/127.0.0.1#5335 +ipset=/daytontrucktires.com/gfwlist +server=/yandex.uz/127.0.0.1#5335 +ipset=/yandex.uz/gfwlist +server=/cabletvdirectv.com/127.0.0.1#5335 +ipset=/cabletvdirectv.com/gfwlist +server=/ebaymag.com/127.0.0.1#5335 +ipset=/ebaymag.com/gfwlist +server=/icloudhome.com/127.0.0.1#5335 +ipset=/icloudhome.com/gfwlist +server=/rtm.tnt-ea.com/127.0.0.1#5335 +ipset=/rtm.tnt-ea.com/gfwlist +server=/getdrebeatssale.com/127.0.0.1#5335 +ipset=/getdrebeatssale.com/gfwlist +server=/apple.co.kr/127.0.0.1#5335 +ipset=/apple.co.kr/gfwlist +server=/dealerspeed.net/127.0.0.1#5335 +ipset=/dealerspeed.net/gfwlist +server=/freeviewplus.net.au/127.0.0.1#5335 +ipset=/freeviewplus.net.au/gfwlist +server=/herokucdn.com/127.0.0.1#5335 +ipset=/herokucdn.com/gfwlist +server=/hpspeaker.com/127.0.0.1#5335 +ipset=/hpspeaker.com/gfwlist +server=/bisq.network/127.0.0.1#5335 +ipset=/bisq.network/gfwlist +server=/globalsecurity.org/127.0.0.1#5335 +ipset=/globalsecurity.org/gfwlist +server=/0x0.st/127.0.0.1#5335 +ipset=/0x0.st/gfwlist +server=/durex.co.th/127.0.0.1#5335 +ipset=/durex.co.th/gfwlist +server=/daoc.net/127.0.0.1#5335 +ipset=/daoc.net/gfwlist +server=/theav.cc/127.0.0.1#5335 +ipset=/theav.cc/gfwlist +server=/dmmapis.com/127.0.0.1#5335 +ipset=/dmmapis.com/gfwlist +server=/disney-asia.com/127.0.0.1#5335 +ipset=/disney-asia.com/gfwlist +server=/apple.hn/127.0.0.1#5335 +ipset=/apple.hn/gfwlist +server=/binance.cloud/127.0.0.1#5335 +ipset=/binance.cloud/gfwlist +server=/hackerguardian.com/127.0.0.1#5335 +ipset=/hackerguardian.com/gfwlist +server=/ams02.space/127.0.0.1#5335 +ipset=/ams02.space/gfwlist +server=/sony.it/127.0.0.1#5335 +ipset=/sony.it/gfwlist +server=/bmwusfactory.com/127.0.0.1#5335 +ipset=/bmwusfactory.com/gfwlist +server=/disney.com.tw/127.0.0.1#5335 +ipset=/disney.com.tw/gfwlist +server=/youtube.bo/127.0.0.1#5335 +ipset=/youtube.bo/gfwlist +server=/herokussl.com/127.0.0.1#5335 +ipset=/herokussl.com/gfwlist +server=/harpercollins.com.au/127.0.0.1#5335 +ipset=/harpercollins.com.au/gfwlist +server=/beatsbydrediscount.com/127.0.0.1#5335 +ipset=/beatsbydrediscount.com/gfwlist +server=/instagramhashtags.net/127.0.0.1#5335 +ipset=/instagramhashtags.net/gfwlist +server=/ebayy.com/127.0.0.1#5335 +ipset=/ebayy.com/gfwlist +server=/rolls-roycemotorcars.com/127.0.0.1#5335 +ipset=/rolls-roycemotorcars.com/gfwlist +server=/google.co.jp/127.0.0.1#5335 +ipset=/google.co.jp/gfwlist +server=/7mm.tv/127.0.0.1#5335 +ipset=/7mm.tv/gfwlist +server=/archiveofourown.org/127.0.0.1#5335 +ipset=/archiveofourown.org/gfwlist +server=/bmw-antilles.fr/127.0.0.1#5335 +ipset=/bmw-antilles.fr/gfwlist +server=/unstyle.us/127.0.0.1#5335 +ipset=/unstyle.us/gfwlist +server=/yandexcloud.net/127.0.0.1#5335 +ipset=/yandexcloud.net/gfwlist +server=/ubi.com/127.0.0.1#5335 +ipset=/ubi.com/gfwlist +server=/4cdn.org/127.0.0.1#5335 +ipset=/4cdn.org/gfwlist +server=/ds-linear-abematv.akamaized.net/127.0.0.1#5335 +ipset=/ds-linear-abematv.akamaized.net/gfwlist +server=/akamai.co.kr/127.0.0.1#5335 +ipset=/akamai.co.kr/gfwlist +server=/trello.com/127.0.0.1#5335 +ipset=/trello.com/gfwlist +server=/nikeelite.com/127.0.0.1#5335 +ipset=/nikeelite.com/gfwlist +server=/nomulus.foo/127.0.0.1#5335 +ipset=/nomulus.foo/gfwlist +server=/telegram.dog/127.0.0.1#5335 +ipset=/telegram.dog/gfwlist +server=/beatsblackfridayretails.com/127.0.0.1#5335 +ipset=/beatsblackfridayretails.com/gfwlist +server=/whatsapp.com/127.0.0.1#5335 +ipset=/whatsapp.com/gfwlist +server=/bmw-connecteddrive.no/127.0.0.1#5335 +ipset=/bmw-connecteddrive.no/gfwlist +server=/na-att-idns.net/127.0.0.1#5335 +ipset=/na-att-idns.net/gfwlist +server=/geeksquad.ca/127.0.0.1#5335 +ipset=/geeksquad.ca/gfwlist +server=/ipod.ch/127.0.0.1#5335 +ipset=/ipod.ch/gfwlist +server=/bloombergquint.com/127.0.0.1#5335 +ipset=/bloombergquint.com/gfwlist +server=/volvo.ca/127.0.0.1#5335 +ipset=/volvo.ca/gfwlist +server=/hulunet.com/127.0.0.1#5335 +ipset=/hulunet.com/gfwlist +server=/hindawi.com/127.0.0.1#5335 +ipset=/hindawi.com/gfwlist +server=/onefifteen.net/127.0.0.1#5335 +ipset=/onefifteen.net/gfwlist +server=/toplayerserver.com/127.0.0.1#5335 +ipset=/toplayerserver.com/gfwlist +server=/dmm.co.jp/127.0.0.1#5335 +ipset=/dmm.co.jp/gfwlist +server=/wanokokorosoh.com/127.0.0.1#5335 +ipset=/wanokokorosoh.com/gfwlist +server=/shopibay.net/127.0.0.1#5335 +ipset=/shopibay.net/gfwlist +server=/mbeats-tech.com/127.0.0.1#5335 +ipset=/mbeats-tech.com/gfwlist +server=/cnnarabic.com/127.0.0.1#5335 +ipset=/cnnarabic.com/gfwlist +server=/myappleid.com/127.0.0.1#5335 +ipset=/myappleid.com/gfwlist +server=/salesforceiq.com/127.0.0.1#5335 +ipset=/salesforceiq.com/gfwlist +server=/fxnetwork.com/127.0.0.1#5335 +ipset=/fxnetwork.com/gfwlist +server=/bmw.co.ao/127.0.0.1#5335 +ipset=/bmw.co.ao/gfwlist +server=/betterexplained.com/127.0.0.1#5335 +ipset=/betterexplained.com/gfwlist +server=/google.ga/127.0.0.1#5335 +ipset=/google.ga/gfwlist +server=/google.no/127.0.0.1#5335 +ipset=/google.no/gfwlist +server=/worldofwarcraft.com/127.0.0.1#5335 +ipset=/worldofwarcraft.com/gfwlist +server=/youtube.is/127.0.0.1#5335 +ipset=/youtube.is/gfwlist +server=/sony.dk/127.0.0.1#5335 +ipset=/sony.dk/gfwlist +server=/appletv.fr/127.0.0.1#5335 +ipset=/appletv.fr/gfwlist +server=/storyful.com/127.0.0.1#5335 +ipset=/storyful.com/gfwlist +server=/bmw.es/127.0.0.1#5335 +ipset=/bmw.es/gfwlist +server=/sub147.com/127.0.0.1#5335 +ipset=/sub147.com/gfwlist +server=/facebboc.com/127.0.0.1#5335 +ipset=/facebboc.com/gfwlist +server=/myfoxtampa.com/127.0.0.1#5335 +ipset=/myfoxtampa.com/gfwlist +server=/miniso.ca/127.0.0.1#5335 +ipset=/miniso.ca/gfwlist +server=/itunesfestivals.com/127.0.0.1#5335 +ipset=/itunesfestivals.com/gfwlist +server=/disquscdn.com/127.0.0.1#5335 +ipset=/disquscdn.com/gfwlist +server=/pastebin.com/127.0.0.1#5335 +ipset=/pastebin.com/gfwlist +server=/enfagrow4.com/127.0.0.1#5335 +ipset=/enfagrow4.com/gfwlist +server=/applenews.tv/127.0.0.1#5335 +ipset=/applenews.tv/gfwlist +server=/beatspascher-bydre.com/127.0.0.1#5335 +ipset=/beatspascher-bydre.com/gfwlist +server=/nintendo.no/127.0.0.1#5335 +ipset=/nintendo.no/gfwlist +server=/bmwauslieferungszentrum.com/127.0.0.1#5335 +ipset=/bmwauslieferungszentrum.com/gfwlist +server=/nbcnews.com/127.0.0.1#5335 +ipset=/nbcnews.com/gfwlist +server=/volvogroup.com.br/127.0.0.1#5335 +ipset=/volvogroup.com.br/gfwlist +server=/harpercollins.ca/127.0.0.1#5335 +ipset=/harpercollins.ca/gfwlist +server=/www-cdn.icloud.com.akadns.net/127.0.0.1#5335 +ipset=/www-cdn.icloud.com.akadns.net/gfwlist +server=/bbc.net.uk/127.0.0.1#5335 +ipset=/bbc.net.uk/gfwlist +server=/volvotrucks.co.za/127.0.0.1#5335 +ipset=/volvotrucks.co.za/gfwlist +server=/appleaustralia.net.au/127.0.0.1#5335 +ipset=/appleaustralia.net.au/gfwlist +server=/my-magazine.me/127.0.0.1#5335 +ipset=/my-magazine.me/gfwlist +server=/cnshopin.com/127.0.0.1#5335 +ipset=/cnshopin.com/gfwlist +server=/matters.news/127.0.0.1#5335 +ipset=/matters.news/gfwlist +server=/keytransparency.foo/127.0.0.1#5335 +ipset=/keytransparency.foo/gfwlist +server=/google.ru/127.0.0.1#5335 +ipset=/google.ru/gfwlist +server=/paypal-corp.com/127.0.0.1#5335 +ipset=/paypal-corp.com/gfwlist +server=/intelamericasstore.com/127.0.0.1#5335 +ipset=/intelamericasstore.com/gfwlist +server=/foxcredit.org/127.0.0.1#5335 +ipset=/foxcredit.org/gfwlist +server=/applestore.com.hk/127.0.0.1#5335 +ipset=/applestore.com.hk/gfwlist +server=/google.com.gt/127.0.0.1#5335 +ipset=/google.com.gt/gfwlist +server=/charlestonroadregistry.com/127.0.0.1#5335 +ipset=/charlestonroadregistry.com/gfwlist +server=/asha.org/127.0.0.1#5335 +ipset=/asha.org/gfwlist +server=/creativesdk.com/127.0.0.1#5335 +ipset=/creativesdk.com/gfwlist +server=/fox46.com/127.0.0.1#5335 +ipset=/fox46.com/gfwlist +server=/reddit.com/127.0.0.1#5335 +ipset=/reddit.com/gfwlist +server=/asianpornmovies.com/127.0.0.1#5335 +ipset=/asianpornmovies.com/gfwlist +server=/cloudrobotics.com/127.0.0.1#5335 +ipset=/cloudrobotics.com/gfwlist +server=/java.net/127.0.0.1#5335 +ipset=/java.net/gfwlist +server=/pokemon-sun.com/127.0.0.1#5335 +ipset=/pokemon-sun.com/gfwlist +server=/ieeemce.org/127.0.0.1#5335 +ipset=/ieeemce.org/gfwlist +server=/koubaibu.jp/127.0.0.1#5335 +ipset=/koubaibu.jp/gfwlist +server=/volvobuses.de/127.0.0.1#5335 +ipset=/volvobuses.de/gfwlist +server=/bmw-oman.com/127.0.0.1#5335 +ipset=/bmw-oman.com/gfwlist +server=/uun99.com/127.0.0.1#5335 +ipset=/uun99.com/gfwlist +server=/gopivotal.net/127.0.0.1#5335 +ipset=/gopivotal.net/gfwlist +server=/ebayclassifieds.info/127.0.0.1#5335 +ipset=/ebayclassifieds.info/gfwlist +server=/manyvids.com/127.0.0.1#5335 +ipset=/manyvids.com/gfwlist +server=/volvotrucks.it/127.0.0.1#5335 +ipset=/volvotrucks.it/gfwlist +server=/pearson.cl/127.0.0.1#5335 +ipset=/pearson.cl/gfwlist +server=/epochcar.com/127.0.0.1#5335 +ipset=/epochcar.com/gfwlist +server=/cdnpure.com/127.0.0.1#5335 +ipset=/cdnpure.com/gfwlist +server=/lululu.one/127.0.0.1#5335 +ipset=/lululu.one/gfwlist +server=/cinemax.com/127.0.0.1#5335 +ipset=/cinemax.com/gfwlist +server=/movidius.com/127.0.0.1#5335 +ipset=/movidius.com/gfwlist +server=/whatisairwatch.com/127.0.0.1#5335 +ipset=/whatisairwatch.com/gfwlist +server=/pvzgw2.com/127.0.0.1#5335 +ipset=/pvzgw2.com/gfwlist +server=/1e100.net/127.0.0.1#5335 +ipset=/1e100.net/gfwlist +server=/mastercardidtheftalerts.com/127.0.0.1#5335 +ipset=/mastercardidtheftalerts.com/gfwlist +server=/paypal-secure.net/127.0.0.1#5335 +ipset=/paypal-secure.net/gfwlist +server=/nike-fr.com/127.0.0.1#5335 +ipset=/nike-fr.com/gfwlist +server=/tedcdn.com/127.0.0.1#5335 +ipset=/tedcdn.com/gfwlist +server=/facebookgames.com/127.0.0.1#5335 +ipset=/facebookgames.com/gfwlist +server=/youtube.com.ua/127.0.0.1#5335 +ipset=/youtube.com.ua/gfwlist +server=/twitchcdn.net/127.0.0.1#5335 +ipset=/twitchcdn.net/gfwlist +server=/intunewiki.com/127.0.0.1#5335 +ipset=/intunewiki.com/gfwlist +server=/vmwsalesrewards.com/127.0.0.1#5335 +ipset=/vmwsalesrewards.com/gfwlist +server=/bitnami.com/127.0.0.1#5335 +ipset=/bitnami.com/gfwlist +server=/beatsdreforsale.com/127.0.0.1#5335 +ipset=/beatsdreforsale.com/gfwlist +server=/disneynewseries.com/127.0.0.1#5335 +ipset=/disneynewseries.com/gfwlist +server=/intel.dz/127.0.0.1#5335 +ipset=/intel.dz/gfwlist +server=/conair.me/127.0.0.1#5335 +ipset=/conair.me/gfwlist +server=/applewatch.tv/127.0.0.1#5335 +ipset=/applewatch.tv/gfwlist +server=/nvidia.fi/127.0.0.1#5335 +ipset=/nvidia.fi/gfwlist +server=/nvidia.it/127.0.0.1#5335 +ipset=/nvidia.it/gfwlist +server=/nikefoamposites.com/127.0.0.1#5335 +ipset=/nikefoamposites.com/gfwlist +server=/pentium.com/127.0.0.1#5335 +ipset=/pentium.com/gfwlist +server=/cispaletter.com/127.0.0.1#5335 +ipset=/cispaletter.com/gfwlist +server=/buyminibeatbox.com/127.0.0.1#5335 +ipset=/buyminibeatbox.com/gfwlist +server=/volvotrucks.tn/127.0.0.1#5335 +ipset=/volvotrucks.tn/gfwlist +server=/bmwperformancecenter.com/127.0.0.1#5335 +ipset=/bmwperformancecenter.com/gfwlist +server=/adbecrsl.com/127.0.0.1#5335 +ipset=/adbecrsl.com/gfwlist +server=/newscorp.com/127.0.0.1#5335 +ipset=/newscorp.com/gfwlist +server=/paypal-profile.com/127.0.0.1#5335 +ipset=/paypal-profile.com/gfwlist +server=/yandex.st/127.0.0.1#5335 +ipset=/yandex.st/gfwlist +server=/vfsco.bg/127.0.0.1#5335 +ipset=/vfsco.bg/gfwlist +server=/ebaycoins.com/127.0.0.1#5335 +ipset=/ebaycoins.com/gfwlist +server=/awsstatic.com/127.0.0.1#5335 +ipset=/awsstatic.com/gfwlist +server=/bmw.md/127.0.0.1#5335 +ipset=/bmw.md/gfwlist +server=/facebookdating.net/127.0.0.1#5335 +ipset=/facebookdating.net/gfwlist +server=/gosq.com/127.0.0.1#5335 +ipset=/gosq.com/gfwlist +server=/instagainer.com/127.0.0.1#5335 +ipset=/instagainer.com/gfwlist +server=/a.kslive.tv/127.0.0.1#5335 +ipset=/a.kslive.tv/gfwlist +server=/pincong.rocks/127.0.0.1#5335 +ipset=/pincong.rocks/gfwlist +server=/blpprofessional.com/127.0.0.1#5335 +ipset=/blpprofessional.com/gfwlist +server=/4myminicard.com/127.0.0.1#5335 +ipset=/4myminicard.com/gfwlist +server=/uhub.com/127.0.0.1#5335 +ipset=/uhub.com/gfwlist +server=/datasheets360.com/127.0.0.1#5335 +ipset=/datasheets360.com/gfwlist +server=/airwick.us/127.0.0.1#5335 +ipset=/airwick.us/gfwlist +server=/cricketcountry.com/127.0.0.1#5335 +ipset=/cricketcountry.com/gfwlist +server=/pinterest.ru/127.0.0.1#5335 +ipset=/pinterest.ru/gfwlist +server=/adidas.cz/127.0.0.1#5335 +ipset=/adidas.cz/gfwlist +server=/rarbg.is/127.0.0.1#5335 +ipset=/rarbg.is/gfwlist +server=/businessinsider.com/127.0.0.1#5335 +ipset=/businessinsider.com/gfwlist +server=/torproject.org/127.0.0.1#5335 +ipset=/torproject.org/gfwlist +server=/visa.gr/127.0.0.1#5335 +ipset=/visa.gr/gfwlist +server=/txvia.com/127.0.0.1#5335 +ipset=/txvia.com/gfwlist +server=/daytonbmw.com/127.0.0.1#5335 +ipset=/daytonbmw.com/gfwlist +server=/netflixdnstest5.com/127.0.0.1#5335 +ipset=/netflixdnstest5.com/gfwlist +server=/newsukadops.com/127.0.0.1#5335 +ipset=/newsukadops.com/gfwlist +server=/applepay.jp/127.0.0.1#5335 +ipset=/applepay.jp/gfwlist +server=/jav321.com/127.0.0.1#5335 +ipset=/jav321.com/gfwlist +server=/finish.lv/127.0.0.1#5335 +ipset=/finish.lv/gfwlist +server=/fbinfer.com/127.0.0.1#5335 +ipset=/fbinfer.com/gfwlist +server=/thetimes.co.uk/127.0.0.1#5335 +ipset=/thetimes.co.uk/gfwlist +server=/picnik.com/127.0.0.1#5335 +ipset=/picnik.com/gfwlist +server=/starbucksathome.com/127.0.0.1#5335 +ipset=/starbucksathome.com/gfwlist +server=/qualcommlabs.com/127.0.0.1#5335 +ipset=/qualcommlabs.com/gfwlist +server=/bmw.com.my/127.0.0.1#5335 +ipset=/bmw.com.my/gfwlist +server=/applepaysupplies.net/127.0.0.1#5335 +ipset=/applepaysupplies.net/gfwlist +server=/faeboook.com/127.0.0.1#5335 +ipset=/faeboook.com/gfwlist +server=/ecimg.tw/127.0.0.1#5335 +ipset=/ecimg.tw/gfwlist +server=/duckduckgo.ke/127.0.0.1#5335 +ipset=/duckduckgo.ke/gfwlist +server=/dogatch.jp/127.0.0.1#5335 +ipset=/dogatch.jp/gfwlist +server=/guardianapps.co.uk/127.0.0.1#5335 +ipset=/guardianapps.co.uk/gfwlist +server=/durex.com.tr/127.0.0.1#5335 +ipset=/durex.com.tr/gfwlist +server=/amazonprimevideos.com/127.0.0.1#5335 +ipset=/amazonprimevideos.com/gfwlist +server=/mastercard.com/127.0.0.1#5335 +ipset=/mastercard.com/gfwlist +server=/earphonescheapest.com/127.0.0.1#5335 +ipset=/earphonescheapest.com/gfwlist +server=/insiderintelligence.com/127.0.0.1#5335 +ipset=/insiderintelligence.com/gfwlist +server=/bridgestonemarketing.com/127.0.0.1#5335 +ipset=/bridgestonemarketing.com/gfwlist +server=/connectcommerce.info/127.0.0.1#5335 +ipset=/connectcommerce.info/gfwlist +server=/bmw-ghana.com/127.0.0.1#5335 +ipset=/bmw-ghana.com/gfwlist +server=/microsoftads.com/127.0.0.1#5335 +ipset=/microsoftads.com/gfwlist +server=/reuters.com/127.0.0.1#5335 +ipset=/reuters.com/gfwlist +server=/payhulu.com/127.0.0.1#5335 +ipset=/payhulu.com/gfwlist +server=/vanish.at/127.0.0.1#5335 +ipset=/vanish.at/gfwlist +server=/gfycat.com/127.0.0.1#5335 +ipset=/gfycat.com/gfwlist +server=/google.be/127.0.0.1#5335 +ipset=/google.be/gfwlist +server=/vfsco.lv/127.0.0.1#5335 +ipset=/vfsco.lv/gfwlist +server=/oann.com/127.0.0.1#5335 +ipset=/oann.com/gfwlist +server=/smartonesolutions.com.hk/127.0.0.1#5335 +ipset=/smartonesolutions.com.hk/gfwlist +server=/ebayenterprise.com/127.0.0.1#5335 +ipset=/ebayenterprise.com/gfwlist +server=/pittpatt.com/127.0.0.1#5335 +ipset=/pittpatt.com/gfwlist +server=/blackfridaydrebeatsshop.com/127.0.0.1#5335 +ipset=/blackfridaydrebeatsshop.com/gfwlist +server=/zdusercontent.com/127.0.0.1#5335 +ipset=/zdusercontent.com/gfwlist +server=/amznl.com/127.0.0.1#5335 +ipset=/amznl.com/gfwlist +server=/incentivetravelgifts.com/127.0.0.1#5335 +ipset=/incentivetravelgifts.com/gfwlist +server=/volvotrucks.rs/127.0.0.1#5335 +ipset=/volvotrucks.rs/gfwlist +server=/youtube.com.ng/127.0.0.1#5335 +ipset=/youtube.com.ng/gfwlist +server=/reuters.tv/127.0.0.1#5335 +ipset=/reuters.tv/gfwlist +server=/vmwdemo.com/127.0.0.1#5335 +ipset=/vmwdemo.com/gfwlist +server=/facebzook.com/127.0.0.1#5335 +ipset=/facebzook.com/gfwlist +server=/intel.si/127.0.0.1#5335 +ipset=/intel.si/gfwlist +server=/thomsonreuters.com.my/127.0.0.1#5335 +ipset=/thomsonreuters.com.my/gfwlist +server=/putty.org/127.0.0.1#5335 +ipset=/putty.org/gfwlist +server=/voahausa.com/127.0.0.1#5335 +ipset=/voahausa.com/gfwlist +server=/mini-connected.cz/127.0.0.1#5335 +ipset=/mini-connected.cz/gfwlist +server=/sonybo.co.jp/127.0.0.1#5335 +ipset=/sonybo.co.jp/gfwlist +server=/apple-mapkit.com/127.0.0.1#5335 +ipset=/apple-mapkit.com/gfwlist +server=/businessinsider.fr/127.0.0.1#5335 +ipset=/businessinsider.fr/gfwlist +server=/nekoxxx.com/127.0.0.1#5335 +ipset=/nekoxxx.com/gfwlist +server=/digitalassetlinks.org/127.0.0.1#5335 +ipset=/digitalassetlinks.org/gfwlist +server=/javfor.me/127.0.0.1#5335 +ipset=/javfor.me/gfwlist +server=/monsterbeatstudio.com/127.0.0.1#5335 +ipset=/monsterbeatstudio.com/gfwlist +server=/iphone.com/127.0.0.1#5335 +ipset=/iphone.com/gfwlist +server=/php.net/127.0.0.1#5335 +ipset=/php.net/gfwlist +server=/snapcraft.io/127.0.0.1#5335 +ipset=/snapcraft.io/gfwlist +server=/beatsstudiohodetelefoner.com/127.0.0.1#5335 +ipset=/beatsstudiohodetelefoner.com/gfwlist +server=/mdpi.com/127.0.0.1#5335 +ipset=/mdpi.com/gfwlist +server=/nginx.org/127.0.0.1#5335 +ipset=/nginx.org/gfwlist +server=/paypal-redeem.com/127.0.0.1#5335 +ipset=/paypal-redeem.com/gfwlist +server=/canon.ee/127.0.0.1#5335 +ipset=/canon.ee/gfwlist +server=/marketolive.com/127.0.0.1#5335 +ipset=/marketolive.com/gfwlist +server=/bridgestone.com.br/127.0.0.1#5335 +ipset=/bridgestone.com.br/gfwlist +server=/scholar.google.com.ly/127.0.0.1#5335 +ipset=/scholar.google.com.ly/gfwlist +server=/emagic.de/127.0.0.1#5335 +ipset=/emagic.de/gfwlist +server=/shopdisney.com/127.0.0.1#5335 +ipset=/shopdisney.com/gfwlist +server=/foxsports.net/127.0.0.1#5335 +ipset=/foxsports.net/gfwlist +server=/beatsep.com/127.0.0.1#5335 +ipset=/beatsep.com/gfwlist +server=/paypal-merchantloyalty.com/127.0.0.1#5335 +ipset=/paypal-merchantloyalty.com/gfwlist +server=/jkbeats.com/127.0.0.1#5335 +ipset=/jkbeats.com/gfwlist +server=/visakorea.com/127.0.0.1#5335 +ipset=/visakorea.com/gfwlist +server=/universalpicturesinternational.com/127.0.0.1#5335 +ipset=/universalpicturesinternational.com/gfwlist +server=/mastercard.com.sa/127.0.0.1#5335 +ipset=/mastercard.com.sa/gfwlist +server=/vilavpn.com/127.0.0.1#5335 +ipset=/vilavpn.com/gfwlist +server=/skyoceanrescue.de/127.0.0.1#5335 +ipset=/skyoceanrescue.de/gfwlist +server=/bucketeer.jp/127.0.0.1#5335 +ipset=/bucketeer.jp/gfwlist +server=/namemybeats.com/127.0.0.1#5335 +ipset=/namemybeats.com/gfwlist +server=/facebooj.com/127.0.0.1#5335 +ipset=/facebooj.com/gfwlist +server=/jstage.jst.go.jp/127.0.0.1#5335 +ipset=/jstage.jst.go.jp/gfwlist +server=/youtube.mk/127.0.0.1#5335 +ipset=/youtube.mk/gfwlist +server=/facebookawards.com/127.0.0.1#5335 +ipset=/facebookawards.com/gfwlist +server=/cloudflare-dns.com/127.0.0.1#5335 +ipset=/cloudflare-dns.com/gfwlist +server=/microsoftmxfilantropia.com/127.0.0.1#5335 +ipset=/microsoftmxfilantropia.com/gfwlist +server=/facecbgook.com/127.0.0.1#5335 +ipset=/facecbgook.com/gfwlist +server=/bmwgroup-posdigital.com/127.0.0.1#5335 +ipset=/bmwgroup-posdigital.com/gfwlist +server=/wiipartyu.com/127.0.0.1#5335 +ipset=/wiipartyu.com/gfwlist +server=/bridgestone.com.mx/127.0.0.1#5335 +ipset=/bridgestone.com.mx/gfwlist +server=/newsprinters.co.uk/127.0.0.1#5335 +ipset=/newsprinters.co.uk/gfwlist +server=/lolusercontent.com/127.0.0.1#5335 +ipset=/lolusercontent.com/gfwlist +server=/anaconda.org/127.0.0.1#5335 +ipset=/anaconda.org/gfwlist +server=/whychoosehorizon.com/127.0.0.1#5335 +ipset=/whychoosehorizon.com/gfwlist +server=/pinterest.co.uk/127.0.0.1#5335 +ipset=/pinterest.co.uk/gfwlist +server=/chromeos.dev/127.0.0.1#5335 +ipset=/chromeos.dev/gfwlist +server=/volvotrucks.com.ua/127.0.0.1#5335 +ipset=/volvotrucks.com.ua/gfwlist +server=/wrenchead.com/127.0.0.1#5335 +ipset=/wrenchead.com/gfwlist +server=/mariokart8.com/127.0.0.1#5335 +ipset=/mariokart8.com/gfwlist +server=/intercom.io/127.0.0.1#5335 +ipset=/intercom.io/gfwlist +server=/starbucks.co.id/127.0.0.1#5335 +ipset=/starbucks.co.id/gfwlist +server=/hpdrivers.com/127.0.0.1#5335 +ipset=/hpdrivers.com/gfwlist +server=/pearsonassessment.dk/127.0.0.1#5335 +ipset=/pearsonassessment.dk/gfwlist +server=/ktvu.com/127.0.0.1#5335 +ipset=/ktvu.com/gfwlist +server=/gittigidiyor.net/127.0.0.1#5335 +ipset=/gittigidiyor.net/gfwlist +server=/typeisbeautiful.com/127.0.0.1#5335 +ipset=/typeisbeautiful.com/gfwlist +server=/ciscoconnectcloud.org/127.0.0.1#5335 +ipset=/ciscoconnectcloud.org/gfwlist +server=/letsencrypt.org/127.0.0.1#5335 +ipset=/letsencrypt.org/gfwlist +server=/archive.org/127.0.0.1#5335 +ipset=/archive.org/gfwlist +server=/visa.com.bs/127.0.0.1#5335 +ipset=/visa.com.bs/gfwlist +server=/morisawa.co.jp/127.0.0.1#5335 +ipset=/morisawa.co.jp/gfwlist +server=/nikeaw77.com/127.0.0.1#5335 +ipset=/nikeaw77.com/gfwlist +server=/cbsinteractive.com/127.0.0.1#5335 +ipset=/cbsinteractive.com/gfwlist +server=/cashpassport.ca/127.0.0.1#5335 +ipset=/cashpassport.ca/gfwlist +server=/cordcloud.org/127.0.0.1#5335 +ipset=/cordcloud.org/gfwlist +server=/laracasts.com/127.0.0.1#5335 +ipset=/laracasts.com/gfwlist +server=/omotenashi.cygames.jp/127.0.0.1#5335 +ipset=/omotenashi.cygames.jp/gfwlist +server=/blogspot.al/127.0.0.1#5335 +ipset=/blogspot.al/gfwlist +server=/myfoxzone.com/127.0.0.1#5335 +ipset=/myfoxzone.com/gfwlist +server=/nvidia.be/127.0.0.1#5335 +ipset=/nvidia.be/gfwlist +server=/cslpldyb.me/127.0.0.1#5335 +ipset=/cslpldyb.me/gfwlist +server=/playwarcraft3.com/127.0.0.1#5335 +ipset=/playwarcraft3.com/gfwlist +server=/bbhub.io/127.0.0.1#5335 +ipset=/bbhub.io/gfwlist +server=/google.co.il/127.0.0.1#5335 +ipset=/google.co.il/gfwlist +server=/nintendoswitchtogether.com/127.0.0.1#5335 +ipset=/nintendoswitchtogether.com/gfwlist +server=/hegre.com/127.0.0.1#5335 +ipset=/hegre.com/gfwlist +server=/primevideo.org/127.0.0.1#5335 +ipset=/primevideo.org/gfwlist +server=/authorxml.com/127.0.0.1#5335 +ipset=/authorxml.com/gfwlist +server=/logitechg.com/127.0.0.1#5335 +ipset=/logitechg.com/gfwlist +server=/hawaiibmw.com/127.0.0.1#5335 +ipset=/hawaiibmw.com/gfwlist +server=/nicodic.jp/127.0.0.1#5335 +ipset=/nicodic.jp/gfwlist +server=/kindle.de/127.0.0.1#5335 +ipset=/kindle.de/gfwlist +server=/yahoo.bi/127.0.0.1#5335 +ipset=/yahoo.bi/gfwlist +server=/steamusercontent-a.akamaihd.net/127.0.0.1#5335 +ipset=/steamusercontent-a.akamaihd.net/gfwlist +server=/mageconf.com/127.0.0.1#5335 +ipset=/mageconf.com/gfwlist +server=/voatiengviet.com/127.0.0.1#5335 +ipset=/voatiengviet.com/gfwlist +server=/latencytop.com/127.0.0.1#5335 +ipset=/latencytop.com/gfwlist +server=/youtube.ly/127.0.0.1#5335 +ipset=/youtube.ly/gfwlist +server=/alexa.com/127.0.0.1#5335 +ipset=/alexa.com/gfwlist +server=/airport.brussels/127.0.0.1#5335 +ipset=/airport.brussels/gfwlist +server=/shopee.vn/127.0.0.1#5335 +ipset=/shopee.vn/gfwlist +server=/wikinews.org/127.0.0.1#5335 +ipset=/wikinews.org/gfwlist +server=/mini.si/127.0.0.1#5335 +ipset=/mini.si/gfwlist +server=/dontbubble.us/127.0.0.1#5335 +ipset=/dontbubble.us/gfwlist +server=/services-exchange.com/127.0.0.1#5335 +ipset=/services-exchange.com/gfwlist +server=/geeksquadonline.com/127.0.0.1#5335 +ipset=/geeksquadonline.com/gfwlist +server=/yes123.com.tw/127.0.0.1#5335 +ipset=/yes123.com.tw/gfwlist +server=/marketo.co.uk/127.0.0.1#5335 +ipset=/marketo.co.uk/gfwlist +server=/nintendo-europe.com/127.0.0.1#5335 +ipset=/nintendo-europe.com/gfwlist +server=/nxtdig.com.tw/127.0.0.1#5335 +ipset=/nxtdig.com.tw/gfwlist +server=/openstreetmaps.org/127.0.0.1#5335 +ipset=/openstreetmaps.org/gfwlist +server=/launchpad.net/127.0.0.1#5335 +ipset=/launchpad.net/gfwlist +server=/blogspot.co.at/127.0.0.1#5335 +ipset=/blogspot.co.at/gfwlist +server=/visa.com.cy/127.0.0.1#5335 +ipset=/visa.com.cy/gfwlist +server=/youtube.ee/127.0.0.1#5335 +ipset=/youtube.ee/gfwlist +server=/intel.my/127.0.0.1#5335 +ipset=/intel.my/gfwlist +server=/nintendo.co.uk/127.0.0.1#5335 +ipset=/nintendo.co.uk/gfwlist +server=/bmw-motorrad.co.uk/127.0.0.1#5335 +ipset=/bmw-motorrad.co.uk/gfwlist +server=/visa.com.jm/127.0.0.1#5335 +ipset=/visa.com.jm/gfwlist +server=/bmw-connecteddrive.sk/127.0.0.1#5335 +ipset=/bmw-connecteddrive.sk/gfwlist +server=/minivaughanwest.com/127.0.0.1#5335 +ipset=/minivaughanwest.com/gfwlist +server=/ippog.org/127.0.0.1#5335 +ipset=/ippog.org/gfwlist +server=/ntdtv.com/127.0.0.1#5335 +ipset=/ntdtv.com/gfwlist +server=/aeasyshop.com/127.0.0.1#5335 +ipset=/aeasyshop.com/gfwlist +server=/battlefieldbadcompany2.com/127.0.0.1#5335 +ipset=/battlefieldbadcompany2.com/gfwlist +server=/adobeexchange.com/127.0.0.1#5335 +ipset=/adobeexchange.com/gfwlist +server=/visb.org/127.0.0.1#5335 +ipset=/visb.org/gfwlist +server=/faebok.com/127.0.0.1#5335 +ipset=/faebok.com/gfwlist +server=/localizejs.com/127.0.0.1#5335 +ipset=/localizejs.com/gfwlist +server=/bmworegon.com/127.0.0.1#5335 +ipset=/bmworegon.com/gfwlist +server=/pcre.org/127.0.0.1#5335 +ipset=/pcre.org/gfwlist +server=/paypal-special.com/127.0.0.1#5335 +ipset=/paypal-special.com/gfwlist +server=/applescreensavers.com/127.0.0.1#5335 +ipset=/applescreensavers.com/gfwlist +server=/scholar.google.com.pr/127.0.0.1#5335 +ipset=/scholar.google.com.pr/gfwlist +server=/itunesu.net/127.0.0.1#5335 +ipset=/itunesu.net/gfwlist +server=/nikefoundation.org/127.0.0.1#5335 +ipset=/nikefoundation.org/gfwlist +server=/vercel-status.com/127.0.0.1#5335 +ipset=/vercel-status.com/gfwlist +server=/bmw-connecteddrive.ro/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ro/gfwlist +server=/directvforhotels.com/127.0.0.1#5335 +ipset=/directvforhotels.com/gfwlist +server=/anidom.com/127.0.0.1#5335 +ipset=/anidom.com/gfwlist +server=/beatsbydrdrecustom.com/127.0.0.1#5335 +ipset=/beatsbydrdrecustom.com/gfwlist +server=/durex.co.il/127.0.0.1#5335 +ipset=/durex.co.il/gfwlist +server=/niketaiwan.net/127.0.0.1#5335 +ipset=/niketaiwan.net/gfwlist +server=/gannett-cdn.com/127.0.0.1#5335 +ipset=/gannett-cdn.com/gfwlist +server=/bmw-military-sales.com/127.0.0.1#5335 +ipset=/bmw-military-sales.com/gfwlist +server=/buyitnow.com/127.0.0.1#5335 +ipset=/buyitnow.com/gfwlist +server=/razer.com/127.0.0.1#5335 +ipset=/razer.com/gfwlist +server=/oxforddnb.com/127.0.0.1#5335 +ipset=/oxforddnb.com/gfwlist +server=/nurofen.hr/127.0.0.1#5335 +ipset=/nurofen.hr/gfwlist +server=/applicationinsights.io/127.0.0.1#5335 +ipset=/applicationinsights.io/gfwlist +server=/mastercard.hr/127.0.0.1#5335 +ipset=/mastercard.hr/gfwlist +server=/playnintendo.com/127.0.0.1#5335 +ipset=/playnintendo.com/gfwlist +server=/jneurosci.org/127.0.0.1#5335 +ipset=/jneurosci.org/gfwlist +server=/amazon.co.jp/127.0.0.1#5335 +ipset=/amazon.co.jp/gfwlist +server=/paypal-gifts.com/127.0.0.1#5335 +ipset=/paypal-gifts.com/gfwlist +server=/visa.com.ge/127.0.0.1#5335 +ipset=/visa.com.ge/gfwlist +server=/didce.com/127.0.0.1#5335 +ipset=/didce.com/gfwlist +server=/voxops.net/127.0.0.1#5335 +ipset=/voxops.net/gfwlist +server=/okex.com/127.0.0.1#5335 +ipset=/okex.com/gfwlist +server=/rustup.rs/127.0.0.1#5335 +ipset=/rustup.rs/gfwlist +server=/optanedifference.com/127.0.0.1#5335 +ipset=/optanedifference.com/gfwlist +server=/iphonecase5.com/127.0.0.1#5335 +ipset=/iphonecase5.com/gfwlist +server=/akamai-cdn.com/127.0.0.1#5335 +ipset=/akamai-cdn.com/gfwlist +server=/itu.int/127.0.0.1#5335 +ipset=/itu.int/gfwlist +server=/bydrebeats.com/127.0.0.1#5335 +ipset=/bydrebeats.com/gfwlist +server=/beatscheap-nz.com/127.0.0.1#5335 +ipset=/beatscheap-nz.com/gfwlist +server=/pagecdn.io/127.0.0.1#5335 +ipset=/pagecdn.io/gfwlist +server=/verisigninc.com/127.0.0.1#5335 +ipset=/verisigninc.com/gfwlist +server=/facebookcareer.com/127.0.0.1#5335 +ipset=/facebookcareer.com/gfwlist +server=/intercomcdn.com/127.0.0.1#5335 +ipset=/intercomcdn.com/gfwlist +server=/tunsafe.com/127.0.0.1#5335 +ipset=/tunsafe.com/gfwlist +server=/editorx.com/127.0.0.1#5335 +ipset=/editorx.com/gfwlist +server=/componentkit.org/127.0.0.1#5335 +ipset=/componentkit.org/gfwlist +server=/wholeplanetfoundation.org/127.0.0.1#5335 +ipset=/wholeplanetfoundation.org/gfwlist +server=/trustsign.ch/127.0.0.1#5335 +ipset=/trustsign.ch/gfwlist +server=/xn--kput3imi374g.xn--hxt814e/127.0.0.1#5335 +ipset=/xn--kput3imi374g.xn--hxt814e/gfwlist +server=/schemer.com/127.0.0.1#5335 +ipset=/schemer.com/gfwlist +server=/keytransparency.com/127.0.0.1#5335 +ipset=/keytransparency.com/gfwlist +server=/wwwxoom.com/127.0.0.1#5335 +ipset=/wwwxoom.com/gfwlist +server=/pinterest.it/127.0.0.1#5335 +ipset=/pinterest.it/gfwlist +server=/msropendata.com/127.0.0.1#5335 +ipset=/msropendata.com/gfwlist +server=/amd.com/127.0.0.1#5335 +ipset=/amd.com/gfwlist +server=/ie10.com/127.0.0.1#5335 +ipset=/ie10.com/gfwlist +server=/google.com.py/127.0.0.1#5335 +ipset=/google.com.py/gfwlist +server=/hulucall.com/127.0.0.1#5335 +ipset=/hulucall.com/gfwlist +server=/azuredigitaltwins.net/127.0.0.1#5335 +ipset=/azuredigitaltwins.net/gfwlist +server=/etbc.com.hk/127.0.0.1#5335 +ipset=/etbc.com.hk/gfwlist +server=/nikeidshoes.com/127.0.0.1#5335 +ipset=/nikeidshoes.com/gfwlist +server=/google.rs/127.0.0.1#5335 +ipset=/google.rs/gfwlist +server=/jmlr.org/127.0.0.1#5335 +ipset=/jmlr.org/gfwlist +server=/bloombergtv.mn/127.0.0.1#5335 +ipset=/bloombergtv.mn/gfwlist +server=/speedhunters.com/127.0.0.1#5335 +ipset=/speedhunters.com/gfwlist +server=/camelot-europe.com/127.0.0.1#5335 +ipset=/camelot-europe.com/gfwlist +server=/myfoxny.com/127.0.0.1#5335 +ipset=/myfoxny.com/gfwlist +server=/digitalcertvalidation.com/127.0.0.1#5335 +ipset=/digitalcertvalidation.com/gfwlist +server=/xn--xsq959n.com/127.0.0.1#5335 +ipset=/xn--xsq959n.com/gfwlist +server=/foxnews.tv/127.0.0.1#5335 +ipset=/foxnews.tv/gfwlist +server=/themercury.com.au/127.0.0.1#5335 +ipset=/themercury.com.au/gfwlist +server=/zoom.com.cn/127.0.0.1#5335 +ipset=/zoom.com.cn/gfwlist +server=/oanencore.com/127.0.0.1#5335 +ipset=/oanencore.com/gfwlist +server=/pearsonperu.pe/127.0.0.1#5335 +ipset=/pearsonperu.pe/gfwlist +server=/chromebook.com/127.0.0.1#5335 +ipset=/chromebook.com/gfwlist +server=/mol.im/127.0.0.1#5335 +ipset=/mol.im/gfwlist +server=/paypalbenefits.com/127.0.0.1#5335 +ipset=/paypalbenefits.com/gfwlist +server=/velkaepocha.cz/127.0.0.1#5335 +ipset=/velkaepocha.cz/gfwlist +server=/mini.re/127.0.0.1#5335 +ipset=/mini.re/gfwlist +server=/nvidia.fr/127.0.0.1#5335 +ipset=/nvidia.fr/gfwlist +server=/ieeemagnetics.org/127.0.0.1#5335 +ipset=/ieeemagnetics.org/gfwlist +server=/halfjapan.com/127.0.0.1#5335 +ipset=/halfjapan.com/gfwlist +server=/practicalbusinessskills.com/127.0.0.1#5335 +ipset=/practicalbusinessskills.com/gfwlist +server=/kphimsex.net/127.0.0.1#5335 +ipset=/kphimsex.net/gfwlist +server=/studiobeatsbydrdre.com/127.0.0.1#5335 +ipset=/studiobeatsbydrdre.com/gfwlist +server=/rubygems.org/127.0.0.1#5335 +ipset=/rubygems.org/gfwlist +server=/yahoo.com.mx/127.0.0.1#5335 +ipset=/yahoo.com.mx/gfwlist +server=/volvobuses.fr/127.0.0.1#5335 +ipset=/volvobuses.fr/gfwlist +server=/huffingtonpost.gr/127.0.0.1#5335 +ipset=/huffingtonpost.gr/gfwlist +server=/makecode.org/127.0.0.1#5335 +ipset=/makecode.org/gfwlist +server=/icashpassport.com.mx/127.0.0.1#5335 +ipset=/icashpassport.com.mx/gfwlist +server=/getwsone.com/127.0.0.1#5335 +ipset=/getwsone.com/gfwlist +server=/bmw-motorrad.dk/127.0.0.1#5335 +ipset=/bmw-motorrad.dk/gfwlist +server=/cbssports.com/127.0.0.1#5335 +ipset=/cbssports.com/gfwlist +server=/durex.com/127.0.0.1#5335 +ipset=/durex.com/gfwlist +server=/paypalnetwork.info/127.0.0.1#5335 +ipset=/paypalnetwork.info/gfwlist +server=/anaconda.com/127.0.0.1#5335 +ipset=/anaconda.com/gfwlist +server=/monbeats2013.com/127.0.0.1#5335 +ipset=/monbeats2013.com/gfwlist +server=/atlantaminidealers.com/127.0.0.1#5335 +ipset=/atlantaminidealers.com/gfwlist +server=/microsoft.fi/127.0.0.1#5335 +ipset=/microsoft.fi/gfwlist +server=/slack-files.com/127.0.0.1#5335 +ipset=/slack-files.com/gfwlist +server=/iphone4.com.br/127.0.0.1#5335 +ipset=/iphone4.com.br/gfwlist +server=/ddh.gg/127.0.0.1#5335 +ipset=/ddh.gg/gfwlist +server=/espndotcom.tt.omtrdc.net/127.0.0.1#5335 +ipset=/espndotcom.tt.omtrdc.net/gfwlist +server=/buypass.com/127.0.0.1#5335 +ipset=/buypass.com/gfwlist +server=/facebookblueprint.net/127.0.0.1#5335 +ipset=/facebookblueprint.net/gfwlist +server=/nvidia.asia/127.0.0.1#5335 +ipset=/nvidia.asia/gfwlist +server=/mastercardworldwide.com/127.0.0.1#5335 +ipset=/mastercardworldwide.com/gfwlist +server=/instaplayer.net/127.0.0.1#5335 +ipset=/instaplayer.net/gfwlist +server=/foxsportsuniversity.com/127.0.0.1#5335 +ipset=/foxsportsuniversity.com/gfwlist +server=/minivictoria.ca/127.0.0.1#5335 +ipset=/minivictoria.ca/gfwlist +server=/starbucks.com.gr/127.0.0.1#5335 +ipset=/starbucks.com.gr/gfwlist +server=/amazon.nl/127.0.0.1#5335 +ipset=/amazon.nl/gfwlist +server=/google.com.tw/127.0.0.1#5335 +ipset=/google.com.tw/gfwlist +server=/intel.ch/127.0.0.1#5335 +ipset=/intel.ch/gfwlist +server=/apa.org/127.0.0.1#5335 +ipset=/apa.org/gfwlist +server=/casquebeatsofficiel-fr.com/127.0.0.1#5335 +ipset=/casquebeatsofficiel-fr.com/gfwlist +server=/strikingly.com/127.0.0.1#5335 +ipset=/strikingly.com/gfwlist +server=/yahoo.tl/127.0.0.1#5335 +ipset=/yahoo.tl/gfwlist +server=/voxmedia.com/127.0.0.1#5335 +ipset=/voxmedia.com/gfwlist +server=/appleone.chat/127.0.0.1#5335 +ipset=/appleone.chat/gfwlist +server=/cargigileads.com/127.0.0.1#5335 +ipset=/cargigileads.com/gfwlist +server=/mfg-inspector.com/127.0.0.1#5335 +ipset=/mfg-inspector.com/gfwlist +server=/google.com.kh/127.0.0.1#5335 +ipset=/google.com.kh/gfwlist +server=/latampartneruniversity.com/127.0.0.1#5335 +ipset=/latampartneruniversity.com/gfwlist +server=/facecbook.com/127.0.0.1#5335 +ipset=/facecbook.com/gfwlist +server=/coinonecorp.com/127.0.0.1#5335 +ipset=/coinonecorp.com/gfwlist +server=/bmw.com.bn/127.0.0.1#5335 +ipset=/bmw.com.bn/gfwlist +server=/fox49.tv/127.0.0.1#5335 +ipset=/fox49.tv/gfwlist +server=/2o7.net/127.0.0.1#5335 +ipset=/2o7.net/gfwlist +server=/scholar.google.com.vn/127.0.0.1#5335 +ipset=/scholar.google.com.vn/gfwlist +server=/collins.in/127.0.0.1#5335 +ipset=/collins.in/gfwlist +server=/skysports.com/127.0.0.1#5335 +ipset=/skysports.com/gfwlist +server=/freenode.net/127.0.0.1#5335 +ipset=/freenode.net/gfwlist +server=/brill.com/127.0.0.1#5335 +ipset=/brill.com/gfwlist +server=/mini.ru/127.0.0.1#5335 +ipset=/mini.ru/gfwlist +server=/intel.com.mx/127.0.0.1#5335 +ipset=/intel.com.mx/gfwlist +server=/hboasia.com/127.0.0.1#5335 +ipset=/hboasia.com/gfwlist +server=/mastercard.eu/127.0.0.1#5335 +ipset=/mastercard.eu/gfwlist +server=/bcvp0rtal.com/127.0.0.1#5335 +ipset=/bcvp0rtal.com/gfwlist +server=/maddenrewards.com/127.0.0.1#5335 +ipset=/maddenrewards.com/gfwlist +server=/pogobeta.com/127.0.0.1#5335 +ipset=/pogobeta.com/gfwlist +server=/udnfunlife.com/127.0.0.1#5335 +ipset=/udnfunlife.com/gfwlist +server=/newsmax.in/127.0.0.1#5335 +ipset=/newsmax.in/gfwlist +server=/youtube.ru/127.0.0.1#5335 +ipset=/youtube.ru/gfwlist +server=/nypost.help/127.0.0.1#5335 +ipset=/nypost.help/gfwlist +server=/mini.com.py/127.0.0.1#5335 +ipset=/mini.com.py/gfwlist +server=/visa.be/127.0.0.1#5335 +ipset=/visa.be/gfwlist +server=/musical.ly/127.0.0.1#5335 +ipset=/musical.ly/gfwlist +server=/app0le.com/127.0.0.1#5335 +ipset=/app0le.com/gfwlist +server=/whonix.org/127.0.0.1#5335 +ipset=/whonix.org/gfwlist +server=/delicious.com.au/127.0.0.1#5335 +ipset=/delicious.com.au/gfwlist +server=/facebook-studio.com/127.0.0.1#5335 +ipset=/facebook-studio.com/gfwlist +server=/macreach.com/127.0.0.1#5335 +ipset=/macreach.com/gfwlist +server=/adobeexperienceawards.com/127.0.0.1#5335 +ipset=/adobeexperienceawards.com/gfwlist +server=/pki-post.ch/127.0.0.1#5335 +ipset=/pki-post.ch/gfwlist +server=/hp3dsamplepromo.com/127.0.0.1#5335 +ipset=/hp3dsamplepromo.com/gfwlist +server=/blogspot.co.uk/127.0.0.1#5335 +ipset=/blogspot.co.uk/gfwlist +server=/mewe.com/127.0.0.1#5335 +ipset=/mewe.com/gfwlist +server=/minecraft.net/127.0.0.1#5335 +ipset=/minecraft.net/gfwlist +server=/androidify.com/127.0.0.1#5335 +ipset=/androidify.com/gfwlist +server=/gputechconf.eu/127.0.0.1#5335 +ipset=/gputechconf.eu/gfwlist +server=/bmw-motorrad.be/127.0.0.1#5335 +ipset=/bmw-motorrad.be/gfwlist +server=/boxun.com/127.0.0.1#5335 +ipset=/boxun.com/gfwlist +server=/mcdonalds.se/127.0.0.1#5335 +ipset=/mcdonalds.se/gfwlist +server=/dropboxbusiness.com/127.0.0.1#5335 +ipset=/dropboxbusiness.com/gfwlist +server=/foxsmallbusinesscenter.com/127.0.0.1#5335 +ipset=/foxsmallbusinesscenter.com/gfwlist +server=/jfrog.com/127.0.0.1#5335 +ipset=/jfrog.com/gfwlist +server=/forzamotorsport.net/127.0.0.1#5335 +ipset=/forzamotorsport.net/gfwlist +server=/fox9.com/127.0.0.1#5335 +ipset=/fox9.com/gfwlist +server=/dreamteamfc.com/127.0.0.1#5335 +ipset=/dreamteamfc.com/gfwlist +server=/facebook-program.com/127.0.0.1#5335 +ipset=/facebook-program.com/gfwlist +server=/amebaowndme.com/127.0.0.1#5335 +ipset=/amebaowndme.com/gfwlist +server=/bmwartjourney.com/127.0.0.1#5335 +ipset=/bmwartjourney.com/gfwlist +server=/sdcountybmw.com/127.0.0.1#5335 +ipset=/sdcountybmw.com/gfwlist +server=/bmw-classic.com/127.0.0.1#5335 +ipset=/bmw-classic.com/gfwlist +server=/paramount.com/127.0.0.1#5335 +ipset=/paramount.com/gfwlist +server=/visa.co.nz/127.0.0.1#5335 +ipset=/visa.co.nz/gfwlist +server=/bmw.hu/127.0.0.1#5335 +ipset=/bmw.hu/gfwlist +server=/terapeak.hk/127.0.0.1#5335 +ipset=/terapeak.hk/gfwlist +server=/easports.com/127.0.0.1#5335 +ipset=/easports.com/gfwlist +server=/swisssign.net/127.0.0.1#5335 +ipset=/swisssign.net/gfwlist +server=/bloombergsurvey.com/127.0.0.1#5335 +ipset=/bloombergsurvey.com/gfwlist +server=/airwick.se/127.0.0.1#5335 +ipset=/airwick.se/gfwlist +server=/huluapp.com/127.0.0.1#5335 +ipset=/huluapp.com/gfwlist +server=/oed.com/127.0.0.1#5335 +ipset=/oed.com/gfwlist +server=/icloudo.net/127.0.0.1#5335 +ipset=/icloudo.net/gfwlist +server=/vfsforgit.com/127.0.0.1#5335 +ipset=/vfsforgit.com/gfwlist +server=/ebayt.com/127.0.0.1#5335 +ipset=/ebayt.com/gfwlist +server=/apple-cloudkit.com/127.0.0.1#5335 +ipset=/apple-cloudkit.com/gfwlist +server=/bmw.hn/127.0.0.1#5335 +ipset=/bmw.hn/gfwlist +server=/quoracdn.net/127.0.0.1#5335 +ipset=/quoracdn.net/gfwlist +server=/nbcolympics.com/127.0.0.1#5335 +ipset=/nbcolympics.com/gfwlist +server=/sony.pl/127.0.0.1#5335 +ipset=/sony.pl/gfwlist +server=/gonike.com/127.0.0.1#5335 +ipset=/gonike.com/gfwlist +server=/geeksquad.cc/127.0.0.1#5335 +ipset=/geeksquad.cc/gfwlist +server=/foxsports.com.ve/127.0.0.1#5335 +ipset=/foxsports.com.ve/gfwlist +server=/pearsoneducacion.net/127.0.0.1#5335 +ipset=/pearsoneducacion.net/gfwlist +server=/apple.nl/127.0.0.1#5335 +ipset=/apple.nl/gfwlist +server=/verisign.es/127.0.0.1#5335 +ipset=/verisign.es/gfwlist +server=/brightcove.net/127.0.0.1#5335 +ipset=/brightcove.net/gfwlist +server=/bmw.com.pe/127.0.0.1#5335 +ipset=/bmw.com.pe/gfwlist +server=/facebookexchange.com/127.0.0.1#5335 +ipset=/facebookexchange.com/gfwlist +server=/democracy.earth/127.0.0.1#5335 +ipset=/democracy.earth/gfwlist +server=/ipodnano.net/127.0.0.1#5335 +ipset=/ipodnano.net/gfwlist +server=/needforspeedoverdrive.com/127.0.0.1#5335 +ipset=/needforspeedoverdrive.com/gfwlist +server=/visiontimes.net/127.0.0.1#5335 +ipset=/visiontimes.net/gfwlist +server=/drebeatsdeutschland.net/127.0.0.1#5335 +ipset=/drebeatsdeutschland.net/gfwlist +server=/bestbuyideax.com/127.0.0.1#5335 +ipset=/bestbuyideax.com/gfwlist +server=/beatsbydreirelandonlines.com/127.0.0.1#5335 +ipset=/beatsbydreirelandonlines.com/gfwlist +server=/ccnsite.com/127.0.0.1#5335 +ipset=/ccnsite.com/gfwlist +server=/o0-2.com/127.0.0.1#5335 +ipset=/o0-2.com/gfwlist +server=/volvotrucks.co.uk/127.0.0.1#5335 +ipset=/volvotrucks.co.uk/gfwlist +server=/attspecial.com/127.0.0.1#5335 +ipset=/attspecial.com/gfwlist +server=/adidas.pl/127.0.0.1#5335 +ipset=/adidas.pl/gfwlist +server=/google.la/127.0.0.1#5335 +ipset=/google.la/gfwlist +server=/huloo.cc/127.0.0.1#5335 +ipset=/huloo.cc/gfwlist +server=/miniinvasion.ca/127.0.0.1#5335 +ipset=/miniinvasion.ca/gfwlist +server=/intel.ca/127.0.0.1#5335 +ipset=/intel.ca/gfwlist +server=/httpwwwfacebook.com/127.0.0.1#5335 +ipset=/httpwwwfacebook.com/gfwlist +server=/idnike.com/127.0.0.1#5335 +ipset=/idnike.com/gfwlist +server=/mini.mq/127.0.0.1#5335 +ipset=/mini.mq/gfwlist +server=/pearsonactivelearn.com/127.0.0.1#5335 +ipset=/pearsonactivelearn.com/gfwlist +server=/linotype.com/127.0.0.1#5335 +ipset=/linotype.com/gfwlist +server=/bmw-connecteddrive.ch/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ch/gfwlist +server=/bmw-motorrad.bh/127.0.0.1#5335 +ipset=/bmw-motorrad.bh/gfwlist +server=/alphera.ie/127.0.0.1#5335 +ipset=/alphera.ie/gfwlist +server=/zeeuk.com/127.0.0.1#5335 +ipset=/zeeuk.com/gfwlist +server=/bmw.hr/127.0.0.1#5335 +ipset=/bmw.hr/gfwlist +server=/finishinfo.se/127.0.0.1#5335 +ipset=/finishinfo.se/gfwlist +server=/bbycloud.com/127.0.0.1#5335 +ipset=/bbycloud.com/gfwlist +server=/realmilwaukeenow.com/127.0.0.1#5335 +ipset=/realmilwaukeenow.com/gfwlist +server=/bmw-motorrad.no/127.0.0.1#5335 +ipset=/bmw-motorrad.no/gfwlist +server=/icloudsetup.com/127.0.0.1#5335 +ipset=/icloudsetup.com/gfwlist +server=/pinterest.at/127.0.0.1#5335 +ipset=/pinterest.at/gfwlist +server=/itunesessentials.com/127.0.0.1#5335 +ipset=/itunesessentials.com/gfwlist +server=/netvigator.com/127.0.0.1#5335 +ipset=/netvigator.com/gfwlist +server=/eenike.com/127.0.0.1#5335 +ipset=/eenike.com/gfwlist +server=/cisco-returns.com/127.0.0.1#5335 +ipset=/cisco-returns.com/gfwlist +server=/apple.ro/127.0.0.1#5335 +ipset=/apple.ro/gfwlist +server=/netflix.com/127.0.0.1#5335 +ipset=/netflix.com/gfwlist +server=/appleexpo.eu/127.0.0.1#5335 +ipset=/appleexpo.eu/gfwlist +server=/magento.com/127.0.0.1#5335 +ipset=/magento.com/gfwlist +server=/dettolarabia.com/127.0.0.1#5335 +ipset=/dettolarabia.com/gfwlist +server=/trustwave.com/127.0.0.1#5335 +ipset=/trustwave.com/gfwlist +server=/encoretvb.com/127.0.0.1#5335 +ipset=/encoretvb.com/gfwlist +server=/starbucks.ad/127.0.0.1#5335 +ipset=/starbucks.ad/gfwlist +server=/eacodigos.com/127.0.0.1#5335 +ipset=/eacodigos.com/gfwlist +server=/intel.mw/127.0.0.1#5335 +ipset=/intel.mw/gfwlist +server=/slackdemo.com/127.0.0.1#5335 +ipset=/slackdemo.com/gfwlist +server=/ebay25.com/127.0.0.1#5335 +ipset=/ebay25.com/gfwlist +server=/charticulator.com/127.0.0.1#5335 +ipset=/charticulator.com/gfwlist +server=/fastlane.tools/127.0.0.1#5335 +ipset=/fastlane.tools/gfwlist +server=/kindgirls.com/127.0.0.1#5335 +ipset=/kindgirls.com/gfwlist +server=/hpfaqs.com/127.0.0.1#5335 +ipset=/hpfaqs.com/gfwlist +server=/mcdonalds.com/127.0.0.1#5335 +ipset=/mcdonalds.com/gfwlist +server=/sign.new/127.0.0.1#5335 +ipset=/sign.new/gfwlist +server=/chroniclesec.com/127.0.0.1#5335 +ipset=/chroniclesec.com/gfwlist +server=/yahoo.by/127.0.0.1#5335 +ipset=/yahoo.by/gfwlist +server=/voacambodia.com/127.0.0.1#5335 +ipset=/voacambodia.com/gfwlist +server=/cutt.ly/127.0.0.1#5335 +ipset=/cutt.ly/gfwlist +server=/sextop1.net/127.0.0.1#5335 +ipset=/sextop1.net/gfwlist +server=/hulugans.com/127.0.0.1#5335 +ipset=/hulugans.com/gfwlist +server=/realamericanstories.tv/127.0.0.1#5335 +ipset=/realamericanstories.tv/gfwlist +server=/bmw-gta.ca/127.0.0.1#5335 +ipset=/bmw-gta.ca/gfwlist +server=/favebook.com/127.0.0.1#5335 +ipset=/favebook.com/gfwlist +server=/beatsbydre-headphones.com/127.0.0.1#5335 +ipset=/beatsbydre-headphones.com/gfwlist +server=/marvelsuperwar.com/127.0.0.1#5335 +ipset=/marvelsuperwar.com/gfwlist +server=/swissid.ch/127.0.0.1#5335 +ipset=/swissid.ch/gfwlist +server=/fastlane.ci/127.0.0.1#5335 +ipset=/fastlane.ci/gfwlist +server=/applestore.com.tw/127.0.0.1#5335 +ipset=/applestore.com.tw/gfwlist +server=/xnxx-cdn.com/127.0.0.1#5335 +ipset=/xnxx-cdn.com/gfwlist +server=/applestore.com.ee/127.0.0.1#5335 +ipset=/applestore.com.ee/gfwlist +server=/tegrazone.co.kr/127.0.0.1#5335 +ipset=/tegrazone.co.kr/gfwlist +server=/maddenseason.org/127.0.0.1#5335 +ipset=/maddenseason.org/gfwlist +server=/drebeatsheadphones-nz.com/127.0.0.1#5335 +ipset=/drebeatsheadphones-nz.com/gfwlist +server=/bloomberg.fm/127.0.0.1#5335 +ipset=/bloomberg.fm/gfwlist +server=/vhxqa2.com/127.0.0.1#5335 +ipset=/vhxqa2.com/gfwlist +server=/mini.by/127.0.0.1#5335 +ipset=/mini.by/gfwlist +server=/picasa.com/127.0.0.1#5335 +ipset=/picasa.com/gfwlist +server=/zoom.com/127.0.0.1#5335 +ipset=/zoom.com/gfwlist +server=/xoom.com/127.0.0.1#5335 +ipset=/xoom.com/gfwlist +server=/pokemonbank.com/127.0.0.1#5335 +ipset=/pokemonbank.com/gfwlist +server=/adaptivecards.io/127.0.0.1#5335 +ipset=/adaptivecards.io/gfwlist +server=/i-book.net/127.0.0.1#5335 +ipset=/i-book.net/gfwlist +server=/salebeatslasteststyle4you.com/127.0.0.1#5335 +ipset=/salebeatslasteststyle4you.com/gfwlist +server=/google.tg/127.0.0.1#5335 +ipset=/google.tg/gfwlist +server=/ebay.ie/127.0.0.1#5335 +ipset=/ebay.ie/gfwlist +server=/eakorea.co.kr/127.0.0.1#5335 +ipset=/eakorea.co.kr/gfwlist +server=/microsoft.az/127.0.0.1#5335 +ipset=/microsoft.az/gfwlist +server=/doom.com/127.0.0.1#5335 +ipset=/doom.com/gfwlist +server=/yahoo.co.bw/127.0.0.1#5335 +ipset=/yahoo.co.bw/gfwlist +server=/nikemarketing.com/127.0.0.1#5335 +ipset=/nikemarketing.com/gfwlist +server=/dropbox.tech/127.0.0.1#5335 +ipset=/dropbox.tech/gfwlist +server=/cambridgeschoolshakespeare.com/127.0.0.1#5335 +ipset=/cambridgeschoolshakespeare.com/gfwlist +server=/onedinesfree.com/127.0.0.1#5335 +ipset=/onedinesfree.com/gfwlist +server=/miniccrc.ca/127.0.0.1#5335 +ipset=/miniccrc.ca/gfwlist +server=/diabloimmortal.com/127.0.0.1#5335 +ipset=/diabloimmortal.com/gfwlist +server=/espn.com/127.0.0.1#5335 +ipset=/espn.com/gfwlist +server=/nikkei.co.jp/127.0.0.1#5335 +ipset=/nikkei.co.jp/gfwlist +server=/paypal-secure.org/127.0.0.1#5335 +ipset=/paypal-secure.org/gfwlist +server=/venmo-touch.com/127.0.0.1#5335 +ipset=/venmo-touch.com/gfwlist +server=/mini-coupe.ca/127.0.0.1#5335 +ipset=/mini-coupe.ca/gfwlist +server=/bmw-sports.com/127.0.0.1#5335 +ipset=/bmw-sports.com/gfwlist +server=/akamaihd-staging.net/127.0.0.1#5335 +ipset=/akamaihd-staging.net/gfwlist +server=/realamericanstories.com/127.0.0.1#5335 +ipset=/realamericanstories.com/gfwlist +server=/google-syndication.com/127.0.0.1#5335 +ipset=/google-syndication.com/gfwlist +server=/google.berlin/127.0.0.1#5335 +ipset=/google.berlin/gfwlist +server=/marvel.com/127.0.0.1#5335 +ipset=/marvel.com/gfwlist +server=/xn--9kr7l.com/127.0.0.1#5335 +ipset=/xn--9kr7l.com/gfwlist +server=/beatscasque-france.com/127.0.0.1#5335 +ipset=/beatscasque-france.com/gfwlist +server=/bmw.ht/127.0.0.1#5335 +ipset=/bmw.ht/gfwlist +server=/yahoo.dk/127.0.0.1#5335 +ipset=/yahoo.dk/gfwlist +server=/mastercard.us/127.0.0.1#5335 +ipset=/mastercard.us/gfwlist +server=/vkmessenger.app/127.0.0.1#5335 +ipset=/vkmessenger.app/gfwlist +server=/bitsquare.io/127.0.0.1#5335 +ipset=/bitsquare.io/gfwlist +server=/spiritofecstasy.com/127.0.0.1#5335 +ipset=/spiritofecstasy.com/gfwlist +server=/paypal-donations.com/127.0.0.1#5335 +ipset=/paypal-donations.com/gfwlist +server=/ravm.tv/127.0.0.1#5335 +ipset=/ravm.tv/gfwlist +server=/starwarstheoldrepublic.com/127.0.0.1#5335 +ipset=/starwarstheoldrepublic.com/gfwlist +server=/asahicom.jp/127.0.0.1#5335 +ipset=/asahicom.jp/gfwlist +server=/gitbook.io/127.0.0.1#5335 +ipset=/gitbook.io/gfwlist +server=/visainfinite.ca/127.0.0.1#5335 +ipset=/visainfinite.ca/gfwlist +server=/bmw.cc/127.0.0.1#5335 +ipset=/bmw.cc/gfwlist +server=/foxnewsnetwork.com/127.0.0.1#5335 +ipset=/foxnewsnetwork.com/gfwlist +server=/visainfiniteluxuryhotels.ca/127.0.0.1#5335 +ipset=/visainfiniteluxuryhotels.ca/gfwlist +server=/2013beatsbydrdreonline.com/127.0.0.1#5335 +ipset=/2013beatsbydrdreonline.com/gfwlist +server=/bloombergstatus.com/127.0.0.1#5335 +ipset=/bloombergstatus.com/gfwlist +server=/yarininsuyu.com/127.0.0.1#5335 +ipset=/yarininsuyu.com/gfwlist +server=/monotype.com/127.0.0.1#5335 +ipset=/monotype.com/gfwlist +server=/starwarsbattlefront.com/127.0.0.1#5335 +ipset=/starwarsbattlefront.com/gfwlist +server=/visa.no/127.0.0.1#5335 +ipset=/visa.no/gfwlist +server=/realamericanstories.info/127.0.0.1#5335 +ipset=/realamericanstories.info/gfwlist +server=/disneyadsales.com/127.0.0.1#5335 +ipset=/disneyadsales.com/gfwlist +server=/needforspeedlightning.com/127.0.0.1#5335 +ipset=/needforspeedlightning.com/gfwlist +server=/fandom.com/127.0.0.1#5335 +ipset=/fandom.com/gfwlist +server=/ebaycom.com/127.0.0.1#5335 +ipset=/ebaycom.com/gfwlist +server=/tver.co.jp/127.0.0.1#5335 +ipset=/tver.co.jp/gfwlist +server=/fashionnike.com/127.0.0.1#5335 +ipset=/fashionnike.com/gfwlist +server=/foxnewsb2b.com/127.0.0.1#5335 +ipset=/foxnewsb2b.com/gfwlist +server=/iphoneacessorios.com.br/127.0.0.1#5335 +ipset=/iphoneacessorios.com.br/gfwlist +server=/financialsoccer.ca/127.0.0.1#5335 +ipset=/financialsoccer.ca/gfwlist +server=/fox26houston.com/127.0.0.1#5335 +ipset=/fox26houston.com/gfwlist +server=/upjav.cc/127.0.0.1#5335 +ipset=/upjav.cc/gfwlist +server=/blazor.net/127.0.0.1#5335 +ipset=/blazor.net/gfwlist +server=/facebcook.com/127.0.0.1#5335 +ipset=/facebcook.com/gfwlist +server=/nextwork.com.tw/127.0.0.1#5335 +ipset=/nextwork.com.tw/gfwlist +server=/blogspot.lt/127.0.0.1#5335 +ipset=/blogspot.lt/gfwlist +server=/firestonecomercial.cl/127.0.0.1#5335 +ipset=/firestonecomercial.cl/gfwlist +server=/onefifteen.org/127.0.0.1#5335 +ipset=/onefifteen.org/gfwlist +server=/life-global.org/127.0.0.1#5335 +ipset=/life-global.org/gfwlist +server=/ebay-authenticate.net/127.0.0.1#5335 +ipset=/ebay-authenticate.net/gfwlist +server=/pca.st/127.0.0.1#5335 +ipset=/pca.st/gfwlist +server=/nationalgeographic.com/127.0.0.1#5335 +ipset=/nationalgeographic.com/gfwlist +server=/volvotruckcenter.it/127.0.0.1#5335 +ipset=/volvotruckcenter.it/gfwlist +server=/blogspot.in/127.0.0.1#5335 +ipset=/blogspot.in/gfwlist +server=/feacbooke.com/127.0.0.1#5335 +ipset=/feacbooke.com/gfwlist +server=/bcovlive.io/127.0.0.1#5335 +ipset=/bcovlive.io/gfwlist +server=/wikihow.com/127.0.0.1#5335 +ipset=/wikihow.com/gfwlist +server=/mini-qatar.com/127.0.0.1#5335 +ipset=/mini-qatar.com/gfwlist +server=/volvotrucks.ee/127.0.0.1#5335 +ipset=/volvotrucks.ee/gfwlist +server=/xenoblade.com/127.0.0.1#5335 +ipset=/xenoblade.com/gfwlist +server=/magentoliveconference.com/127.0.0.1#5335 +ipset=/magentoliveconference.com/gfwlist +server=/omnitek.tv/127.0.0.1#5335 +ipset=/omnitek.tv/gfwlist +server=/monsterbeatsbydres.com/127.0.0.1#5335 +ipset=/monsterbeatsbydres.com/gfwlist +server=/epochtimes-bg.com/127.0.0.1#5335 +ipset=/epochtimes-bg.com/gfwlist +server=/starbucksrewardsstarland.com/127.0.0.1#5335 +ipset=/starbucksrewardsstarland.com/gfwlist +server=/udn.com.tw/127.0.0.1#5335 +ipset=/udn.com.tw/gfwlist +server=/mastercard.co.in/127.0.0.1#5335 +ipset=/mastercard.co.in/gfwlist +server=/bitballoon.com/127.0.0.1#5335 +ipset=/bitballoon.com/gfwlist +server=/mktorest.com/127.0.0.1#5335 +ipset=/mktorest.com/gfwlist +server=/epochtimes.com.tw/127.0.0.1#5335 +ipset=/epochtimes.com.tw/gfwlist +server=/cex.io/127.0.0.1#5335 +ipset=/cex.io/gfwlist +server=/volvopenta.com/127.0.0.1#5335 +ipset=/volvopenta.com/gfwlist +server=/faststone.org/127.0.0.1#5335 +ipset=/faststone.org/gfwlist +server=/youtube.com.tn/127.0.0.1#5335 +ipset=/youtube.com.tn/gfwlist +server=/googledrive.com/127.0.0.1#5335 +ipset=/googledrive.com/gfwlist +server=/mybmw.ca/127.0.0.1#5335 +ipset=/mybmw.ca/gfwlist +server=/strepsils.hu/127.0.0.1#5335 +ipset=/strepsils.hu/gfwlist +server=/ebayradio.com/127.0.0.1#5335 +ipset=/ebayradio.com/gfwlist +server=/swisssign-group.ch/127.0.0.1#5335 +ipset=/swisssign-group.ch/gfwlist +server=/realvision.com/127.0.0.1#5335 +ipset=/realvision.com/gfwlist +server=/attpurchasing.com/127.0.0.1#5335 +ipset=/attpurchasing.com/gfwlist +server=/apple-dns.net/127.0.0.1#5335 +ipset=/apple-dns.net/gfwlist +server=/ipod.com.hk/127.0.0.1#5335 +ipset=/ipod.com.hk/gfwlist +server=/bbgevent.com/127.0.0.1#5335 +ipset=/bbgevent.com/gfwlist +server=/espnqa.com/127.0.0.1#5335 +ipset=/espnqa.com/gfwlist +server=/travelexch.com/127.0.0.1#5335 +ipset=/travelexch.com/gfwlist +server=/bmw.com.co/127.0.0.1#5335 +ipset=/bmw.com.co/gfwlist +server=/londonreal.tv/127.0.0.1#5335 +ipset=/londonreal.tv/gfwlist +server=/adidas.dk/127.0.0.1#5335 +ipset=/adidas.dk/gfwlist +server=/yahoo.com.tj/127.0.0.1#5335 +ipset=/yahoo.com.tj/gfwlist +server=/gamer2-cds.cdn.hinet.net/127.0.0.1#5335 +ipset=/gamer2-cds.cdn.hinet.net/gfwlist +server=/ebayenterprise.info/127.0.0.1#5335 +ipset=/ebayenterprise.info/gfwlist +server=/yandex.ee/127.0.0.1#5335 +ipset=/yandex.ee/gfwlist +server=/beatsoutlet.net/127.0.0.1#5335 +ipset=/beatsoutlet.net/gfwlist +server=/starwarskids.com/127.0.0.1#5335 +ipset=/starwarskids.com/gfwlist +server=/amazonvideodirect.com/127.0.0.1#5335 +ipset=/amazonvideodirect.com/gfwlist +server=/trycloudflare.com/127.0.0.1#5335 +ipset=/trycloudflare.com/gfwlist +server=/dealbay.com/127.0.0.1#5335 +ipset=/dealbay.com/gfwlist +server=/opensuse.org/127.0.0.1#5335 +ipset=/opensuse.org/gfwlist +server=/bookclubgirl.com/127.0.0.1#5335 +ipset=/bookclubgirl.com/gfwlist +server=/attsuppliers.com/127.0.0.1#5335 +ipset=/attsuppliers.com/gfwlist +server=/finishinfo.jp/127.0.0.1#5335 +ipset=/finishinfo.jp/gfwlist +server=/hpdownloadstore.com/127.0.0.1#5335 +ipset=/hpdownloadstore.com/gfwlist +server=/newmonst1erbeatsto1re.com/127.0.0.1#5335 +ipset=/newmonst1erbeatsto1re.com/gfwlist +server=/townsvillebulletin.com.au/127.0.0.1#5335 +ipset=/townsvillebulletin.com.au/gfwlist +server=/headlinejobs.hk/127.0.0.1#5335 +ipset=/headlinejobs.hk/gfwlist +server=/huffpostbrasil.com/127.0.0.1#5335 +ipset=/huffpostbrasil.com/gfwlist +server=/mini.co.kr/127.0.0.1#5335 +ipset=/mini.co.kr/gfwlist +server=/appledaily.com.tw/127.0.0.1#5335 +ipset=/appledaily.com.tw/gfwlist +server=/facebook30.net/127.0.0.1#5335 +ipset=/facebook30.net/gfwlist +server=/mastercard.my/127.0.0.1#5335 +ipset=/mastercard.my/gfwlist +server=/dreamworks.com/127.0.0.1#5335 +ipset=/dreamworks.com/gfwlist +server=/digicert.com/127.0.0.1#5335 +ipset=/digicert.com/gfwlist +server=/canonical.com/127.0.0.1#5335 +ipset=/canonical.com/gfwlist +server=/straightouttasomewhere.com/127.0.0.1#5335 +ipset=/straightouttasomewhere.com/gfwlist +server=/volvotrucks.ro/127.0.0.1#5335 +ipset=/volvotrucks.ro/gfwlist +server=/bmwdealercareers.com/127.0.0.1#5335 +ipset=/bmwdealercareers.com/gfwlist +server=/canon-ois.qa/127.0.0.1#5335 +ipset=/canon-ois.qa/gfwlist +server=/dragonage.com/127.0.0.1#5335 +ipset=/dragonage.com/gfwlist +server=/netflixdnstest2.com/127.0.0.1#5335 +ipset=/netflixdnstest2.com/gfwlist +server=/weltweitwachsen.de/127.0.0.1#5335 +ipset=/weltweitwachsen.de/gfwlist +server=/visa.sx/127.0.0.1#5335 +ipset=/visa.sx/gfwlist +server=/xo104.com/127.0.0.1#5335 +ipset=/xo104.com/gfwlist +server=/aboutamazon.it/127.0.0.1#5335 +ipset=/aboutamazon.it/gfwlist +server=/cashpassport.com/127.0.0.1#5335 +ipset=/cashpassport.com/gfwlist +server=/facebookmarketingpartners.com/127.0.0.1#5335 +ipset=/facebookmarketingpartners.com/gfwlist +server=/jetfuelapps.com/127.0.0.1#5335 +ipset=/jetfuelapps.com/gfwlist +server=/osdn.net/127.0.0.1#5335 +ipset=/osdn.net/gfwlist +server=/bestbuy24x7solutions.com/127.0.0.1#5335 +ipset=/bestbuy24x7solutions.com/gfwlist +server=/applefinalcutproworld.com/127.0.0.1#5335 +ipset=/applefinalcutproworld.com/gfwlist +server=/youtube.com.ec/127.0.0.1#5335 +ipset=/youtube.com.ec/gfwlist +server=/icloudbox.net/127.0.0.1#5335 +ipset=/icloudbox.net/gfwlist +server=/google.kg/127.0.0.1#5335 +ipset=/google.kg/gfwlist +server=/paypal-proserv.com/127.0.0.1#5335 +ipset=/paypal-proserv.com/gfwlist +server=/cheapbeatsbydreonsale.com/127.0.0.1#5335 +ipset=/cheapbeatsbydreonsale.com/gfwlist +server=/zdassets.com/127.0.0.1#5335 +ipset=/zdassets.com/gfwlist +server=/localizecdn.com/127.0.0.1#5335 +ipset=/localizecdn.com/gfwlist +server=/office365tw.com/127.0.0.1#5335 +ipset=/office365tw.com/gfwlist +server=/onedrive.co.uk/127.0.0.1#5335 +ipset=/onedrive.co.uk/gfwlist +server=/businessinsider.mx/127.0.0.1#5335 +ipset=/businessinsider.mx/gfwlist +server=/github.blog/127.0.0.1#5335 +ipset=/github.blog/gfwlist +server=/yahoo.com.pk/127.0.0.1#5335 +ipset=/yahoo.com.pk/gfwlist +server=/paypal.us/127.0.0.1#5335 +ipset=/paypal.us/gfwlist +server=/macromedia.com/127.0.0.1#5335 +ipset=/macromedia.com/gfwlist +server=/appleone.club/127.0.0.1#5335 +ipset=/appleone.club/gfwlist +server=/volvobuses.tn/127.0.0.1#5335 +ipset=/volvobuses.tn/gfwlist +server=/admeld.com/127.0.0.1#5335 +ipset=/admeld.com/gfwlist +server=/worldsecuresystems.com/127.0.0.1#5335 +ipset=/worldsecuresystems.com/gfwlist +server=/fastly.net/127.0.0.1#5335 +ipset=/fastly.net/gfwlist +server=/scholar.google.com.pa/127.0.0.1#5335 +ipset=/scholar.google.com.pa/gfwlist +server=/aaex.uk/127.0.0.1#5335 +ipset=/aaex.uk/gfwlist +server=/voadeewanews.com/127.0.0.1#5335 +ipset=/voadeewanews.com/gfwlist +server=/bttzyw.com/127.0.0.1#5335 +ipset=/bttzyw.com/gfwlist +server=/gorin.jp/127.0.0.1#5335 +ipset=/gorin.jp/gfwlist +server=/verisign.co.uk/127.0.0.1#5335 +ipset=/verisign.co.uk/gfwlist +server=/singtaoopo.com/127.0.0.1#5335 +ipset=/singtaoopo.com/gfwlist +server=/eamirrorsedge.com/127.0.0.1#5335 +ipset=/eamirrorsedge.com/gfwlist +server=/ruinedking.com/127.0.0.1#5335 +ipset=/ruinedking.com/gfwlist +server=/monsterbeatsbydrenew.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrenew.com/gfwlist +server=/centrino.com/127.0.0.1#5335 +ipset=/centrino.com/gfwlist +server=/paulsimon-music.com/127.0.0.1#5335 +ipset=/paulsimon-music.com/gfwlist +server=/facebook.cc/127.0.0.1#5335 +ipset=/facebook.cc/gfwlist +server=/beatsodre.com/127.0.0.1#5335 +ipset=/beatsodre.com/gfwlist +server=/duckduckgo.org/127.0.0.1#5335 +ipset=/duckduckgo.org/gfwlist +server=/bmwgroup-gaad.com/127.0.0.1#5335 +ipset=/bmwgroup-gaad.com/gfwlist +server=/simcity-buildit.com/127.0.0.1#5335 +ipset=/simcity-buildit.com/gfwlist +server=/microsoftiotinsiderlabs.com/127.0.0.1#5335 +ipset=/microsoftiotinsiderlabs.com/gfwlist +server=/volvopenta.de/127.0.0.1#5335 +ipset=/volvopenta.de/gfwlist +server=/mastercard.com.sg/127.0.0.1#5335 +ipset=/mastercard.com.sg/gfwlist +server=/businessinsider.com.pl/127.0.0.1#5335 +ipset=/businessinsider.com.pl/gfwlist +server=/yahoodns.net/127.0.0.1#5335 +ipset=/yahoodns.net/gfwlist +server=/geph.io/127.0.0.1#5335 +ipset=/geph.io/gfwlist +server=/mastercard.co.uk/127.0.0.1#5335 +ipset=/mastercard.co.uk/gfwlist +server=/adidas.com.tw/127.0.0.1#5335 +ipset=/adidas.com.tw/gfwlist +server=/cdnjs.com/127.0.0.1#5335 +ipset=/cdnjs.com/gfwlist +server=/canon-cee.com/127.0.0.1#5335 +ipset=/canon-cee.com/gfwlist +server=/feedly.com/127.0.0.1#5335 +ipset=/feedly.com/gfwlist +server=/newscdn.com.au/127.0.0.1#5335 +ipset=/newscdn.com.au/gfwlist +server=/nvidia.co.kr/127.0.0.1#5335 +ipset=/nvidia.co.kr/gfwlist +server=/ios-icloud.com/127.0.0.1#5335 +ipset=/ios-icloud.com/gfwlist +server=/bmw-connecteddrive.fr/127.0.0.1#5335 +ipset=/bmw-connecteddrive.fr/gfwlist +server=/youtube.ae/127.0.0.1#5335 +ipset=/youtube.ae/gfwlist +server=/blogspot.com.ng/127.0.0.1#5335 +ipset=/blogspot.com.ng/gfwlist +server=/aboutamazon.co.uk/127.0.0.1#5335 +ipset=/aboutamazon.co.uk/gfwlist +server=/netflav.com/127.0.0.1#5335 +ipset=/netflav.com/gfwlist +server=/adobecce.com/127.0.0.1#5335 +ipset=/adobecce.com/gfwlist +server=/statics-marketingsites-wcus-ms-com.akamaized.net/127.0.0.1#5335 +ipset=/statics-marketingsites-wcus-ms-com.akamaized.net/gfwlist +server=/garena.vn/127.0.0.1#5335 +ipset=/garena.vn/gfwlist +server=/intagrm.com/127.0.0.1#5335 +ipset=/intagrm.com/gfwlist +server=/zoom.us/127.0.0.1#5335 +ipset=/zoom.us/gfwlist +server=/mini.cl/127.0.0.1#5335 +ipset=/mini.cl/gfwlist +server=/xoom.us/127.0.0.1#5335 +ipset=/xoom.us/gfwlist +server=/thomsonreuters.com.au/127.0.0.1#5335 +ipset=/thomsonreuters.com.au/gfwlist +server=/amazontrust.com/127.0.0.1#5335 +ipset=/amazontrust.com/gfwlist +server=/facebookofsex.com/127.0.0.1#5335 +ipset=/facebookofsex.com/gfwlist +server=/googletagservices.com/127.0.0.1#5335 +ipset=/googletagservices.com/gfwlist +server=/nikebiz.info/127.0.0.1#5335 +ipset=/nikebiz.info/gfwlist +server=/googleacquisitionmigration.com/127.0.0.1#5335 +ipset=/googleacquisitionmigration.com/gfwlist +server=/i.org/127.0.0.1#5335 +ipset=/i.org/gfwlist +server=/hplfmedia.com/127.0.0.1#5335 +ipset=/hplfmedia.com/gfwlist +server=/srtcdn.net/127.0.0.1#5335 +ipset=/srtcdn.net/gfwlist +server=/canon.com.tw/127.0.0.1#5335 +ipset=/canon.com.tw/gfwlist +server=/monsterbeatsstore.com/127.0.0.1#5335 +ipset=/monsterbeatsstore.com/gfwlist +server=/bridgestonegolf.com/127.0.0.1#5335 +ipset=/bridgestonegolf.com/gfwlist +server=/starbucks.co.uk/127.0.0.1#5335 +ipset=/starbucks.co.uk/gfwlist +server=/slack-core.com/127.0.0.1#5335 +ipset=/slack-core.com/gfwlist +server=/travelexae.com/127.0.0.1#5335 +ipset=/travelexae.com/gfwlist +server=/pokemonblackwhite.com/127.0.0.1#5335 +ipset=/pokemonblackwhite.com/gfwlist +server=/w.org/127.0.0.1#5335 +ipset=/w.org/gfwlist +server=/x.org/127.0.0.1#5335 +ipset=/x.org/gfwlist +server=/bs-adreview.com/127.0.0.1#5335 +ipset=/bs-adreview.com/gfwlist +server=/swisssigner.ch/127.0.0.1#5335 +ipset=/swisssigner.ch/gfwlist +server=/wallet.com/127.0.0.1#5335 +ipset=/wallet.com/gfwlist +server=/yahoo.com.eg/127.0.0.1#5335 +ipset=/yahoo.com.eg/gfwlist +server=/disney.gr/127.0.0.1#5335 +ipset=/disney.gr/gfwlist +server=/viu.com/127.0.0.1#5335 +ipset=/viu.com/gfwlist +server=/optimumssl.com/127.0.0.1#5335 +ipset=/optimumssl.com/gfwlist +server=/warroom.org/127.0.0.1#5335 +ipset=/warroom.org/gfwlist +server=/vod-dash-uk-live.akamaized.net/127.0.0.1#5335 +ipset=/vod-dash-uk-live.akamaized.net/gfwlist +server=/uchicago.edu/127.0.0.1#5335 +ipset=/uchicago.edu/gfwlist +server=/reastatic.net/127.0.0.1#5335 +ipset=/reastatic.net/gfwlist +server=/eiu.com/127.0.0.1#5335 +ipset=/eiu.com/gfwlist +server=/ipod.ca/127.0.0.1#5335 +ipset=/ipod.ca/gfwlist +server=/cdn77.com/127.0.0.1#5335 +ipset=/cdn77.com/gfwlist +server=/mastercard.com.kw/127.0.0.1#5335 +ipset=/mastercard.com.kw/gfwlist +server=/webex.com.mx/127.0.0.1#5335 +ipset=/webex.com.mx/gfwlist +server=/intel.cl/127.0.0.1#5335 +ipset=/intel.cl/gfwlist +server=/dropboxpartners.com/127.0.0.1#5335 +ipset=/dropboxpartners.com/gfwlist +server=/scholar.google.gr/127.0.0.1#5335 +ipset=/scholar.google.gr/gfwlist +server=/bitflyer.com/127.0.0.1#5335 +ipset=/bitflyer.com/gfwlist +server=/appleworldwidedeveloper.hb-api.omtrdc.net/127.0.0.1#5335 +ipset=/appleworldwidedeveloper.hb-api.omtrdc.net/gfwlist +server=/oneapi.com/127.0.0.1#5335 +ipset=/oneapi.com/gfwlist +server=/nentindo.net/127.0.0.1#5335 +ipset=/nentindo.net/gfwlist +server=/lysol.com.mx/127.0.0.1#5335 +ipset=/lysol.com.mx/gfwlist +server=/buddymedia.com/127.0.0.1#5335 +ipset=/buddymedia.com/gfwlist +server=/ipod.com.fr/127.0.0.1#5335 +ipset=/ipod.com.fr/gfwlist +server=/thegithubshop.com/127.0.0.1#5335 +ipset=/thegithubshop.com/gfwlist +server=/google.com.gh/127.0.0.1#5335 +ipset=/google.com.gh/gfwlist +server=/npr.org/127.0.0.1#5335 +ipset=/npr.org/gfwlist +server=/bit.ly/127.0.0.1#5335 +ipset=/bit.ly/gfwlist +server=/voabambara.com/127.0.0.1#5335 +ipset=/voabambara.com/gfwlist +server=/gvt2.com/127.0.0.1#5335 +ipset=/gvt2.com/gfwlist +server=/veet.co.kr/127.0.0.1#5335 +ipset=/veet.co.kr/gfwlist +server=/visiontimes.it/127.0.0.1#5335 +ipset=/visiontimes.it/gfwlist +server=/bestbuyphotoworkshoptours.com/127.0.0.1#5335 +ipset=/bestbuyphotoworkshoptours.com/gfwlist +server=/paypal-center.info/127.0.0.1#5335 +ipset=/paypal-center.info/gfwlist +server=/sourceforge.com/127.0.0.1#5335 +ipset=/sourceforge.com/gfwlist +server=/51dh.site/127.0.0.1#5335 +ipset=/51dh.site/gfwlist +server=/zohowebstatic.com/127.0.0.1#5335 +ipset=/zohowebstatic.com/gfwlist +server=/themathsfactor.com/127.0.0.1#5335 +ipset=/themathsfactor.com/gfwlist +server=/paypal-marketing.com/127.0.0.1#5335 +ipset=/paypal-marketing.com/gfwlist +server=/hackthedrive.com/127.0.0.1#5335 +ipset=/hackthedrive.com/gfwlist +server=/liketwice.com/127.0.0.1#5335 +ipset=/liketwice.com/gfwlist +server=/target.com/127.0.0.1#5335 +ipset=/target.com/gfwlist +server=/viu.tv/127.0.0.1#5335 +ipset=/viu.tv/gfwlist +server=/reurl.cc/127.0.0.1#5335 +ipset=/reurl.cc/gfwlist +server=/blogspot.hr/127.0.0.1#5335 +ipset=/blogspot.hr/gfwlist +server=/theuab.net/127.0.0.1#5335 +ipset=/theuab.net/gfwlist +server=/geek-squad-support.com/127.0.0.1#5335 +ipset=/geek-squad-support.com/gfwlist +server=/djreprints.com/127.0.0.1#5335 +ipset=/djreprints.com/gfwlist +server=/miniso.ge/127.0.0.1#5335 +ipset=/miniso.ge/gfwlist +server=/pearsononlineacademy.com/127.0.0.1#5335 +ipset=/pearsononlineacademy.com/gfwlist +server=/bbcverticals.com/127.0.0.1#5335 +ipset=/bbcverticals.com/gfwlist +server=/cloudflareclient.com/127.0.0.1#5335 +ipset=/cloudflareclient.com/gfwlist +server=/campuslondon.com/127.0.0.1#5335 +ipset=/campuslondon.com/gfwlist +server=/facebook4business.com/127.0.0.1#5335 +ipset=/facebook4business.com/gfwlist +server=/realclearenergy.org/127.0.0.1#5335 +ipset=/realclearenergy.org/gfwlist +server=/minimotoringrewards.com/127.0.0.1#5335 +ipset=/minimotoringrewards.com/gfwlist +server=/cnnikebrand.com/127.0.0.1#5335 +ipset=/cnnikebrand.com/gfwlist +server=/zenodo.org/127.0.0.1#5335 +ipset=/zenodo.org/gfwlist +server=/fiotolia.com/127.0.0.1#5335 +ipset=/fiotolia.com/gfwlist +server=/pornbest.org/127.0.0.1#5335 +ipset=/pornbest.org/gfwlist +server=/visa.hk/127.0.0.1#5335 +ipset=/visa.hk/gfwlist +server=/bmw-connecteddrive.lt/127.0.0.1#5335 +ipset=/bmw-connecteddrive.lt/gfwlist +server=/monsterdrebeats-usa.net/127.0.0.1#5335 +ipset=/monsterdrebeats-usa.net/gfwlist +server=/foxneo.com/127.0.0.1#5335 +ipset=/foxneo.com/gfwlist +server=/bmw-connecteddrive.bg/127.0.0.1#5335 +ipset=/bmw-connecteddrive.bg/gfwlist +server=/scholar.google.com.my/127.0.0.1#5335 +ipset=/scholar.google.com.my/gfwlist +server=/netflixtechblog.com/127.0.0.1#5335 +ipset=/netflixtechblog.com/gfwlist +server=/vmware-techcenter.com/127.0.0.1#5335 +ipset=/vmware-techcenter.com/gfwlist +server=/electronicarts.fr/127.0.0.1#5335 +ipset=/electronicarts.fr/gfwlist +server=/autodraw.com/127.0.0.1#5335 +ipset=/autodraw.com/gfwlist +server=/tdesktop.com/127.0.0.1#5335 +ipset=/tdesktop.com/gfwlist +server=/snapchat.com/127.0.0.1#5335 +ipset=/snapchat.com/gfwlist +server=/live.eu/127.0.0.1#5335 +ipset=/live.eu/gfwlist +server=/cnbcfm.com/127.0.0.1#5335 +ipset=/cnbcfm.com/gfwlist +server=/tiresplus.com/127.0.0.1#5335 +ipset=/tiresplus.com/gfwlist +server=/bmwzentrum.com/127.0.0.1#5335 +ipset=/bmwzentrum.com/gfwlist +server=/mastercard.de/127.0.0.1#5335 +ipset=/mastercard.de/gfwlist +server=/msinnovationchallenge.com/127.0.0.1#5335 +ipset=/msinnovationchallenge.com/gfwlist +server=/alphabet.org.uk/127.0.0.1#5335 +ipset=/alphabet.org.uk/gfwlist +server=/attstadium.com/127.0.0.1#5335 +ipset=/attstadium.com/gfwlist +server=/alibabacloud.com.tw/127.0.0.1#5335 +ipset=/alibabacloud.com.tw/gfwlist +server=/yahoo.com.uy/127.0.0.1#5335 +ipset=/yahoo.com.uy/gfwlist +server=/hbogoasia.hk/127.0.0.1#5335 +ipset=/hbogoasia.hk/gfwlist +server=/bmw-connecteddrive.co.nz/127.0.0.1#5335 +ipset=/bmw-connecteddrive.co.nz/gfwlist +server=/nvidia.eu/127.0.0.1#5335 +ipset=/nvidia.eu/gfwlist +server=/hotmail.net/127.0.0.1#5335 +ipset=/hotmail.net/gfwlist +server=/youtube.com.ly/127.0.0.1#5335 +ipset=/youtube.com.ly/gfwlist +server=/vipbeatsbydre.com/127.0.0.1#5335 +ipset=/vipbeatsbydre.com/gfwlist +server=/dettol.com.my/127.0.0.1#5335 +ipset=/dettol.com.my/gfwlist +server=/caime.xyz/127.0.0.1#5335 +ipset=/caime.xyz/gfwlist +server=/pornhubpremium.com/127.0.0.1#5335 +ipset=/pornhubpremium.com/gfwlist +server=/monsterbeatsshops.net/127.0.0.1#5335 +ipset=/monsterbeatsshops.net/gfwlist +server=/pvzheroes.com/127.0.0.1#5335 +ipset=/pvzheroes.com/gfwlist +server=/persagg.com/127.0.0.1#5335 +ipset=/persagg.com/gfwlist +server=/dungeonkeeper.cn/127.0.0.1#5335 +ipset=/dungeonkeeper.cn/gfwlist +server=/volvotruckcenter.nl/127.0.0.1#5335 +ipset=/volvotruckcenter.nl/gfwlist +server=/bmw-motorrad.com.pe/127.0.0.1#5335 +ipset=/bmw-motorrad.com.pe/gfwlist +server=/enfabebe.com/127.0.0.1#5335 +ipset=/enfabebe.com/gfwlist +server=/covid19rx.org/127.0.0.1#5335 +ipset=/covid19rx.org/gfwlist +server=/bmwgroup.jobs/127.0.0.1#5335 +ipset=/bmwgroup.jobs/gfwlist +server=/nike23.com/127.0.0.1#5335 +ipset=/nike23.com/gfwlist +server=/homedepot-static.com/127.0.0.1#5335 +ipset=/homedepot-static.com/gfwlist +server=/imtagram.com/127.0.0.1#5335 +ipset=/imtagram.com/gfwlist +server=/leagueoflegends.co.kr/127.0.0.1#5335 +ipset=/leagueoflegends.co.kr/gfwlist +server=/bmw-motorrad.co.kr/127.0.0.1#5335 +ipset=/bmw-motorrad.co.kr/gfwlist +server=/webobjects.net/127.0.0.1#5335 +ipset=/webobjects.net/gfwlist +server=/google.org/127.0.0.1#5335 +ipset=/google.org/gfwlist +server=/mastercard.com.mx/127.0.0.1#5335 +ipset=/mastercard.com.mx/gfwlist +server=/instagrampartners.com/127.0.0.1#5335 +ipset=/instagrampartners.com/gfwlist +server=/enfamama.com.ph/127.0.0.1#5335 +ipset=/enfamama.com.ph/gfwlist +server=/integral7.com/127.0.0.1#5335 +ipset=/integral7.com/gfwlist +server=/mini.co.il/127.0.0.1#5335 +ipset=/mini.co.il/gfwlist +server=/madshi.net/127.0.0.1#5335 +ipset=/madshi.net/gfwlist +server=/visa.com/127.0.0.1#5335 +ipset=/visa.com/gfwlist +server=/azuresmartspaces.net/127.0.0.1#5335 +ipset=/azuresmartspaces.net/gfwlist +server=/techstreet.com/127.0.0.1#5335 +ipset=/techstreet.com/gfwlist +server=/vanish.es/127.0.0.1#5335 +ipset=/vanish.es/gfwlist +server=/kkbox.com.tw/127.0.0.1#5335 +ipset=/kkbox.com.tw/gfwlist +server=/darkness-risen.com/127.0.0.1#5335 +ipset=/darkness-risen.com/gfwlist +server=/github.io/127.0.0.1#5335 +ipset=/github.io/gfwlist +server=/adsensecustomsearchads.com/127.0.0.1#5335 +ipset=/adsensecustomsearchads.com/gfwlist +server=/apisof.net/127.0.0.1#5335 +ipset=/apisof.net/gfwlist +server=/mastercard.com.gt/127.0.0.1#5335 +ipset=/mastercard.com.gt/gfwlist +server=/applestore.co.uk/127.0.0.1#5335 +ipset=/applestore.co.uk/gfwlist +server=/uun97.com/127.0.0.1#5335 +ipset=/uun97.com/gfwlist +server=/nodesource.com/127.0.0.1#5335 +ipset=/nodesource.com/gfwlist +server=/verisign.com.vn/127.0.0.1#5335 +ipset=/verisign.com.vn/gfwlist +server=/paypal.jp/127.0.0.1#5335 +ipset=/paypal.jp/gfwlist +server=/thehulubraintrust.com/127.0.0.1#5335 +ipset=/thehulubraintrust.com/gfwlist +server=/cloudc.one/127.0.0.1#5335 +ipset=/cloudc.one/gfwlist +server=/whereilive.com.au/127.0.0.1#5335 +ipset=/whereilive.com.au/gfwlist +server=/microsoftsilverlight.com/127.0.0.1#5335 +ipset=/microsoftsilverlight.com/gfwlist +server=/bmw-motorrad.fi/127.0.0.1#5335 +ipset=/bmw-motorrad.fi/gfwlist +server=/mega.io/127.0.0.1#5335 +ipset=/mega.io/gfwlist +server=/psg-int-eastus.cloudapp.net/127.0.0.1#5335 +ipset=/psg-int-eastus.cloudapp.net/gfwlist +server=/youtube.cat/127.0.0.1#5335 +ipset=/youtube.cat/gfwlist +server=/whatbrowser.org/127.0.0.1#5335 +ipset=/whatbrowser.org/gfwlist +server=/intel.com.tw/127.0.0.1#5335 +ipset=/intel.com.tw/gfwlist +server=/globalsign.nl/127.0.0.1#5335 +ipset=/globalsign.nl/gfwlist +server=/shuziyimin.org/127.0.0.1#5335 +ipset=/shuziyimin.org/gfwlist +server=/mini.my/127.0.0.1#5335 +ipset=/mini.my/gfwlist +server=/sonypicturestelevision.com/127.0.0.1#5335 +ipset=/sonypicturestelevision.com/gfwlist +server=/sale-nikeshoes.com/127.0.0.1#5335 +ipset=/sale-nikeshoes.com/gfwlist +server=/duckduckgo.com.tw/127.0.0.1#5335 +ipset=/duckduckgo.com.tw/gfwlist +server=/wsjmediakit.com/127.0.0.1#5335 +ipset=/wsjmediakit.com/gfwlist +server=/facebook-login.com/127.0.0.1#5335 +ipset=/facebook-login.com/gfwlist +server=/charlotte-anime.jp/127.0.0.1#5335 +ipset=/charlotte-anime.jp/gfwlist +server=/amerikayidzayn.com/127.0.0.1#5335 +ipset=/amerikayidzayn.com/gfwlist +server=/beatsbydreaustraliaonline.com/127.0.0.1#5335 +ipset=/beatsbydreaustraliaonline.com/gfwlist +server=/sonystoragemedia.co.jp/127.0.0.1#5335 +ipset=/sonystoragemedia.co.jp/gfwlist +server=/scholar.google.fi/127.0.0.1#5335 +ipset=/scholar.google.fi/gfwlist +server=/blz-contentstack.com/127.0.0.1#5335 +ipset=/blz-contentstack.com/gfwlist +server=/visa.com.gy/127.0.0.1#5335 +ipset=/visa.com.gy/gfwlist +server=/myq2.com/127.0.0.1#5335 +ipset=/myq2.com/gfwlist +server=/tg.dev/127.0.0.1#5335 +ipset=/tg.dev/gfwlist +server=/cheapmonsterbeatsbydrdre.com/127.0.0.1#5335 +ipset=/cheapmonsterbeatsbydrdre.com/gfwlist +server=/scientificamerican.com/127.0.0.1#5335 +ipset=/scientificamerican.com/gfwlist +server=/cheapbeatsbydreshop.com/127.0.0.1#5335 +ipset=/cheapbeatsbydreshop.com/gfwlist +server=/ebayopensource.com/127.0.0.1#5335 +ipset=/ebayopensource.com/gfwlist +server=/volvotrucks.co.na/127.0.0.1#5335 +ipset=/volvotrucks.co.na/gfwlist +server=/dynacw.co.jp/127.0.0.1#5335 +ipset=/dynacw.co.jp/gfwlist +server=/nintendo.fr/127.0.0.1#5335 +ipset=/nintendo.fr/gfwlist +server=/bestbuy-audio.com/127.0.0.1#5335 +ipset=/bestbuy-audio.com/gfwlist +server=/dazndn.com/127.0.0.1#5335 +ipset=/dazndn.com/gfwlist +server=/hpsuresupply.com/127.0.0.1#5335 +ipset=/hpsuresupply.com/gfwlist +server=/foxneodigital.com/127.0.0.1#5335 +ipset=/foxneodigital.com/gfwlist +server=/d100.net/127.0.0.1#5335 +ipset=/d100.net/gfwlist +server=/techhub.ms/127.0.0.1#5335 +ipset=/techhub.ms/gfwlist +server=/vgg8.com/127.0.0.1#5335 +ipset=/vgg8.com/gfwlist +server=/mini.no/127.0.0.1#5335 +ipset=/mini.no/gfwlist +server=/ultimaforever.com/127.0.0.1#5335 +ipset=/ultimaforever.com/gfwlist +server=/accountkit.com/127.0.0.1#5335 +ipset=/accountkit.com/gfwlist +server=/facebookcovers.org/127.0.0.1#5335 +ipset=/facebookcovers.org/gfwlist +server=/besztbuy.com/127.0.0.1#5335 +ipset=/besztbuy.com/gfwlist +server=/canon.com.mk/127.0.0.1#5335 +ipset=/canon.com.mk/gfwlist +server=/applemusicfestival.com/127.0.0.1#5335 +ipset=/applemusicfestival.com/gfwlist +server=/monsterbeatsbydre-nz.com/127.0.0.1#5335 +ipset=/monsterbeatsbydre-nz.com/gfwlist +server=/notion.new/127.0.0.1#5335 +ipset=/notion.new/gfwlist +server=/scholar.google.co.th/127.0.0.1#5335 +ipset=/scholar.google.co.th/gfwlist +server=/lp99.pw/127.0.0.1#5335 +ipset=/lp99.pw/gfwlist +server=/visa.com.sv/127.0.0.1#5335 +ipset=/visa.com.sv/gfwlist +server=/bmw-group.com/127.0.0.1#5335 +ipset=/bmw-group.com/gfwlist +server=/ieeeaps.org/127.0.0.1#5335 +ipset=/ieeeaps.org/gfwlist +server=/iphone-vip4.com/127.0.0.1#5335 +ipset=/iphone-vip4.com/gfwlist +server=/beatsbydreheadphonesolo.com/127.0.0.1#5335 +ipset=/beatsbydreheadphonesolo.com/gfwlist +server=/compose-spec.io/127.0.0.1#5335 +ipset=/compose-spec.io/gfwlist +server=/drebeats-singapore.com/127.0.0.1#5335 +ipset=/drebeats-singapore.com/gfwlist +server=/radiomango.fm/127.0.0.1#5335 +ipset=/radiomango.fm/gfwlist +server=/disneylatino.com/127.0.0.1#5335 +ipset=/disneylatino.com/gfwlist +server=/grupobmw.com/127.0.0.1#5335 +ipset=/grupobmw.com/gfwlist +server=/minisolife.co.za/127.0.0.1#5335 +ipset=/minisolife.co.za/gfwlist +server=/fox-news.com/127.0.0.1#5335 +ipset=/fox-news.com/gfwlist +server=/monsterbeatsbydrdrecanada.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrdrecanada.com/gfwlist +server=/pinterest.co.kr/127.0.0.1#5335 +ipset=/pinterest.co.kr/gfwlist +server=/localbitcoins.com/127.0.0.1#5335 +ipset=/localbitcoins.com/gfwlist +server=/zeit-world.org/127.0.0.1#5335 +ipset=/zeit-world.org/gfwlist +server=/acmvalidations.com/127.0.0.1#5335 +ipset=/acmvalidations.com/gfwlist +server=/rewrite-anime.tv/127.0.0.1#5335 +ipset=/rewrite-anime.tv/gfwlist +server=/fastly-terrarium.com/127.0.0.1#5335 +ipset=/fastly-terrarium.com/gfwlist +server=/adobehiddentreasures.com/127.0.0.1#5335 +ipset=/adobehiddentreasures.com/gfwlist +server=/appleid.hamburg/127.0.0.1#5335 +ipset=/appleid.hamburg/gfwlist +server=/comsoc.org/127.0.0.1#5335 +ipset=/comsoc.org/gfwlist +server=/enfamil.pl/127.0.0.1#5335 +ipset=/enfamil.pl/gfwlist +server=/blogspot.hu/127.0.0.1#5335 +ipset=/blogspot.hu/gfwlist +server=/mastercard.com.pe/127.0.0.1#5335 +ipset=/mastercard.com.pe/gfwlist +server=/nikeairhuarache.com/127.0.0.1#5335 +ipset=/nikeairhuarache.com/gfwlist +server=/aboutfacebook.com/127.0.0.1#5335 +ipset=/aboutfacebook.com/gfwlist +server=/ebayexpress.sg/127.0.0.1#5335 +ipset=/ebayexpress.sg/gfwlist +server=/mydirectgroove.com/127.0.0.1#5335 +ipset=/mydirectgroove.com/gfwlist +server=/91porn.com/127.0.0.1#5335 +ipset=/91porn.com/gfwlist +server=/air-nike-shoes.com/127.0.0.1#5335 +ipset=/air-nike-shoes.com/gfwlist +server=/ieeedeis.org/127.0.0.1#5335 +ipset=/ieeedeis.org/gfwlist +server=/bmw-tunisia.com/127.0.0.1#5335 +ipset=/bmw-tunisia.com/gfwlist +server=/alphera.ca/127.0.0.1#5335 +ipset=/alphera.ca/gfwlist +server=/ibeatsbydre.com/127.0.0.1#5335 +ipset=/ibeatsbydre.com/gfwlist +server=/spotify.design/127.0.0.1#5335 +ipset=/spotify.design/gfwlist +server=/nflhotsalejerseys.com/127.0.0.1#5335 +ipset=/nflhotsalejerseys.com/gfwlist +server=/codethemicrobit.com/127.0.0.1#5335 +ipset=/codethemicrobit.com/gfwlist +server=/durex.lv/127.0.0.1#5335 +ipset=/durex.lv/gfwlist +server=/wp-themes.com/127.0.0.1#5335 +ipset=/wp-themes.com/gfwlist +server=/ipadmini.lk/127.0.0.1#5335 +ipset=/ipadmini.lk/gfwlist +server=/humblebundle.com/127.0.0.1#5335 +ipset=/humblebundle.com/gfwlist +server=/shadowsocks.com/127.0.0.1#5335 +ipset=/shadowsocks.com/gfwlist +server=/rumble.com/127.0.0.1#5335 +ipset=/rumble.com/gfwlist +server=/archiveofourown.net/127.0.0.1#5335 +ipset=/archiveofourown.net/gfwlist +server=/volvotrucks.bg/127.0.0.1#5335 +ipset=/volvotrucks.bg/gfwlist +server=/a0pple.net/127.0.0.1#5335 +ipset=/a0pple.net/gfwlist +server=/studywatchbyverily.org/127.0.0.1#5335 +ipset=/studywatchbyverily.org/gfwlist +server=/vilavpn2.xyz/127.0.0.1#5335 +ipset=/vilavpn2.xyz/gfwlist +server=/homedepot.com/127.0.0.1#5335 +ipset=/homedepot.com/gfwlist +server=/protonmail.com/127.0.0.1#5335 +ipset=/protonmail.com/gfwlist +server=/niconico.com/127.0.0.1#5335 +ipset=/niconico.com/gfwlist +server=/scholar.google.hn/127.0.0.1#5335 +ipset=/scholar.google.hn/gfwlist +server=/youtube.com.es/127.0.0.1#5335 +ipset=/youtube.com.es/gfwlist +server=/headphones-cool.com/127.0.0.1#5335 +ipset=/headphones-cool.com/gfwlist +server=/office.net/127.0.0.1#5335 +ipset=/office.net/gfwlist +server=/movefrees.com/127.0.0.1#5335 +ipset=/movefrees.com/gfwlist +server=/paypal-notice.com/127.0.0.1#5335 +ipset=/paypal-notice.com/gfwlist +server=/medium.com/127.0.0.1#5335 +ipset=/medium.com/gfwlist +server=/insidemacintosh.com/127.0.0.1#5335 +ipset=/insidemacintosh.com/gfwlist +server=/alphera.de/127.0.0.1#5335 +ipset=/alphera.de/gfwlist +server=/gslink.us/127.0.0.1#5335 +ipset=/gslink.us/gfwlist +server=/ehwiki.org/127.0.0.1#5335 +ipset=/ehwiki.org/gfwlist +server=/i-o-u.info/127.0.0.1#5335 +ipset=/i-o-u.info/gfwlist +server=/mini.pt/127.0.0.1#5335 +ipset=/mini.pt/gfwlist +server=/nintendo.co.kr/127.0.0.1#5335 +ipset=/nintendo.co.kr/gfwlist +server=/bmw.am/127.0.0.1#5335 +ipset=/bmw.am/gfwlist +server=/myfoxsanfran.com/127.0.0.1#5335 +ipset=/myfoxsanfran.com/gfwlist +server=/bmw.com.ni/127.0.0.1#5335 +ipset=/bmw.com.ni/gfwlist +server=/visafintechfasttrack.com/127.0.0.1#5335 +ipset=/visafintechfasttrack.com/gfwlist +server=/quantil.com/127.0.0.1#5335 +ipset=/quantil.com/gfwlist +server=/hpconnected.com/127.0.0.1#5335 +ipset=/hpconnected.com/gfwlist +server=/beatspills.com/127.0.0.1#5335 +ipset=/beatspills.com/gfwlist +server=/bmw.lu/127.0.0.1#5335 +ipset=/bmw.lu/gfwlist +server=/volvobuses.ru/127.0.0.1#5335 +ipset=/volvobuses.ru/gfwlist +server=/realtype.jp/127.0.0.1#5335 +ipset=/realtype.jp/gfwlist +server=/hackfacebook.com/127.0.0.1#5335 +ipset=/hackfacebook.com/gfwlist +server=/emac.in/127.0.0.1#5335 +ipset=/emac.in/gfwlist +server=/n3ro.net/127.0.0.1#5335 +ipset=/n3ro.net/gfwlist +server=/disneyredirects.com/127.0.0.1#5335 +ipset=/disneyredirects.com/gfwlist +server=/wordpress.com/127.0.0.1#5335 +ipset=/wordpress.com/gfwlist +server=/bridgestone.com.co/127.0.0.1#5335 +ipset=/bridgestone.com.co/gfwlist +server=/wsjshop.com/127.0.0.1#5335 +ipset=/wsjshop.com/gfwlist +server=/sony-europe.com/127.0.0.1#5335 +ipset=/sony-europe.com/gfwlist +server=/paypal-optimizer.com/127.0.0.1#5335 +ipset=/paypal-optimizer.com/gfwlist +server=/soirt4.fun/127.0.0.1#5335 +ipset=/soirt4.fun/gfwlist +server=/personaltrainermath.com/127.0.0.1#5335 +ipset=/personaltrainermath.com/gfwlist +server=/rhodeislandbmw.com/127.0.0.1#5335 +ipset=/rhodeislandbmw.com/gfwlist +server=/chinaclothesstore.com/127.0.0.1#5335 +ipset=/chinaclothesstore.com/gfwlist +server=/economist.com/127.0.0.1#5335 +ipset=/economist.com/gfwlist +server=/facebpook.com/127.0.0.1#5335 +ipset=/facebpook.com/gfwlist +server=/beatsbydre-headphonesshop.com/127.0.0.1#5335 +ipset=/beatsbydre-headphonesshop.com/gfwlist +server=/google.cf/127.0.0.1#5335 +ipset=/google.cf/gfwlist +server=/dicela.net/127.0.0.1#5335 +ipset=/dicela.net/gfwlist +server=/famifun.com.tw/127.0.0.1#5335 +ipset=/famifun.com.tw/gfwlist +server=/stockagainstphotography.com/127.0.0.1#5335 +ipset=/stockagainstphotography.com/gfwlist +server=/wto.org/127.0.0.1#5335 +ipset=/wto.org/gfwlist +server=/directv.com/127.0.0.1#5335 +ipset=/directv.com/gfwlist +server=/beatsbestdeals.com/127.0.0.1#5335 +ipset=/beatsbestdeals.com/gfwlist +server=/bmwdcsnet.net/127.0.0.1#5335 +ipset=/bmwdcsnet.net/gfwlist +server=/bmw-connecteddrive.pl/127.0.0.1#5335 +ipset=/bmw-connecteddrive.pl/gfwlist +server=/applestore.com.bn/127.0.0.1#5335 +ipset=/applestore.com.bn/gfwlist +server=/intel.sa/127.0.0.1#5335 +ipset=/intel.sa/gfwlist +server=/visa.com.dm/127.0.0.1#5335 +ipset=/visa.com.dm/gfwlist +server=/facebookloginhelp.net/127.0.0.1#5335 +ipset=/facebookloginhelp.net/gfwlist +server=/applestore.cc/127.0.0.1#5335 +ipset=/applestore.cc/gfwlist +server=/itunbes.com/127.0.0.1#5335 +ipset=/itunbes.com/gfwlist +server=/enfabebe.com.do/127.0.0.1#5335 +ipset=/enfabebe.com.do/gfwlist +server=/btec.co.uk/127.0.0.1#5335 +ipset=/btec.co.uk/gfwlist +server=/bmw.be/127.0.0.1#5335 +ipset=/bmw.be/gfwlist +server=/rocksdb.org/127.0.0.1#5335 +ipset=/rocksdb.org/gfwlist +server=/akamaihd.net/127.0.0.1#5335 +ipset=/akamaihd.net/gfwlist +server=/veet.com.mx/127.0.0.1#5335 +ipset=/veet.com.mx/gfwlist +server=/flowtype.org/127.0.0.1#5335 +ipset=/flowtype.org/gfwlist +server=/alivercm.com/127.0.0.1#5335 +ipset=/alivercm.com/gfwlist +server=/futpromos.com/127.0.0.1#5335 +ipset=/futpromos.com/gfwlist +server=/bmw.com.au/127.0.0.1#5335 +ipset=/bmw.com.au/gfwlist +server=/oxfordscholarlyeditions.com/127.0.0.1#5335 +ipset=/oxfordscholarlyeditions.com/gfwlist +server=/enfagrow.com.my/127.0.0.1#5335 +ipset=/enfagrow.com.my/gfwlist +server=/blogspot.vn/127.0.0.1#5335 +ipset=/blogspot.vn/gfwlist +server=/webkitgtk.org/127.0.0.1#5335 +ipset=/webkitgtk.org/gfwlist +server=/ebaytradingassistant.com/127.0.0.1#5335 +ipset=/ebaytradingassistant.com/gfwlist +server=/bmw.co.id/127.0.0.1#5335 +ipset=/bmw.co.id/gfwlist +server=/debug.com/127.0.0.1#5335 +ipset=/debug.com/gfwlist +server=/mcrouter.org/127.0.0.1#5335 +ipset=/mcrouter.org/gfwlist +server=/hpstore.com/127.0.0.1#5335 +ipset=/hpstore.com/gfwlist +server=/nxtdig.com.hk/127.0.0.1#5335 +ipset=/nxtdig.com.hk/gfwlist +server=/mi9.com.au/127.0.0.1#5335 +ipset=/mi9.com.au/gfwlist +server=/beats4.net/127.0.0.1#5335 +ipset=/beats4.net/gfwlist +server=/shoping.com/127.0.0.1#5335 +ipset=/shoping.com/gfwlist +server=/bmw-connecteddrive.de/127.0.0.1#5335 +ipset=/bmw-connecteddrive.de/gfwlist +server=/hotmail.co/127.0.0.1#5335 +ipset=/hotmail.co/gfwlist +server=/akamaietpcompromisedcnctest.com/127.0.0.1#5335 +ipset=/akamaietpcompromisedcnctest.com/gfwlist +server=/mini.com.do/127.0.0.1#5335 +ipset=/mini.com.do/gfwlist +server=/sonypicturestelevisiongames.com/127.0.0.1#5335 +ipset=/sonypicturestelevisiongames.com/gfwlist +server=/facecook.com/127.0.0.1#5335 +ipset=/facecook.com/gfwlist +server=/bitfinex.com/127.0.0.1#5335 +ipset=/bitfinex.com/gfwlist +server=/monsterbeatsheadphone.com/127.0.0.1#5335 +ipset=/monsterbeatsheadphone.com/gfwlist +server=/verisign.sg/127.0.0.1#5335 +ipset=/verisign.sg/gfwlist +server=/intel.mk/127.0.0.1#5335 +ipset=/intel.mk/gfwlist +server=/bmw-connecteddrive.se/127.0.0.1#5335 +ipset=/bmw-connecteddrive.se/gfwlist +server=/paypalsurvey.com/127.0.0.1#5335 +ipset=/paypalsurvey.com/gfwlist +server=/bmw-calgary.ca/127.0.0.1#5335 +ipset=/bmw-calgary.ca/gfwlist +server=/foxmediacloud.com/127.0.0.1#5335 +ipset=/foxmediacloud.com/gfwlist +server=/cloudflaressl.com/127.0.0.1#5335 +ipset=/cloudflaressl.com/gfwlist +server=/kastatic.org/127.0.0.1#5335 +ipset=/kastatic.org/gfwlist +server=/beatsneon.com/127.0.0.1#5335 +ipset=/beatsneon.com/gfwlist +server=/savvyshopper.net.au/127.0.0.1#5335 +ipset=/savvyshopper.net.au/gfwlist +server=/reckittbenckiser.net/127.0.0.1#5335 +ipset=/reckittbenckiser.net/gfwlist +server=/foxsports-chicago.com/127.0.0.1#5335 +ipset=/foxsports-chicago.com/gfwlist +server=/kindleoasisnews.com/127.0.0.1#5335 +ipset=/kindleoasisnews.com/gfwlist +server=/xboxplayanywhere.com/127.0.0.1#5335 +ipset=/xboxplayanywhere.com/gfwlist +server=/hulugermany.com/127.0.0.1#5335 +ipset=/hulugermany.com/gfwlist +server=/foxnewsaffiliates.com/127.0.0.1#5335 +ipset=/foxnewsaffiliates.com/gfwlist +server=/beatsdreinau.com/127.0.0.1#5335 +ipset=/beatsdreinau.com/gfwlist +server=/web.app/127.0.0.1#5335 +ipset=/web.app/gfwlist +server=/canon.sk/127.0.0.1#5335 +ipset=/canon.sk/gfwlist +server=/supremacy.com/127.0.0.1#5335 +ipset=/supremacy.com/gfwlist +server=/cooliphonecasesstore.com/127.0.0.1#5335 +ipset=/cooliphonecasesstore.com/gfwlist +server=/appleaccount.net/127.0.0.1#5335 +ipset=/appleaccount.net/gfwlist +server=/paypal-support.com/127.0.0.1#5335 +ipset=/paypal-support.com/gfwlist +server=/trithucvn.org/127.0.0.1#5335 +ipset=/trithucvn.org/gfwlist +server=/mini-connected.de/127.0.0.1#5335 +ipset=/mini-connected.de/gfwlist +server=/appleid-applemx.com/127.0.0.1#5335 +ipset=/appleid-applemx.com/gfwlist +server=/google.co.id/127.0.0.1#5335 +ipset=/google.co.id/gfwlist +server=/computingreviews.com/127.0.0.1#5335 +ipset=/computingreviews.com/gfwlist +server=/nejm.org/127.0.0.1#5335 +ipset=/nejm.org/gfwlist +server=/lantern.io/127.0.0.1#5335 +ipset=/lantern.io/gfwlist +server=/cnbc.com/127.0.0.1#5335 +ipset=/cnbc.com/gfwlist +server=/wise-research.com/127.0.0.1#5335 +ipset=/wise-research.com/gfwlist +server=/pixiv.co.jp/127.0.0.1#5335 +ipset=/pixiv.co.jp/gfwlist +server=/nurofen.cz/127.0.0.1#5335 +ipset=/nurofen.cz/gfwlist +server=/harpercollinschristian.com/127.0.0.1#5335 +ipset=/harpercollinschristian.com/gfwlist +server=/directvmurfreesborotn.com/127.0.0.1#5335 +ipset=/directvmurfreesborotn.com/gfwlist +server=/xbox.eu/127.0.0.1#5335 +ipset=/xbox.eu/gfwlist +server=/ctfassets.net/127.0.0.1#5335 +ipset=/ctfassets.net/gfwlist +server=/beibao.com/127.0.0.1#5335 +ipset=/beibao.com/gfwlist +server=/faccebookk.com/127.0.0.1#5335 +ipset=/faccebookk.com/gfwlist +server=/foxsports.com/127.0.0.1#5335 +ipset=/foxsports.com/gfwlist +server=/advertisercommunity.com/127.0.0.1#5335 +ipset=/advertisercommunity.com/gfwlist +server=/google.com.kw/127.0.0.1#5335 +ipset=/google.com.kw/gfwlist +server=/qualcomm.com.tw/127.0.0.1#5335 +ipset=/qualcomm.com.tw/gfwlist +server=/glasamerike.net/127.0.0.1#5335 +ipset=/glasamerike.net/gfwlist +server=/pearsoninstitute.ac.za/127.0.0.1#5335 +ipset=/pearsoninstitute.ac.za/gfwlist +server=/thesimssocial.com/127.0.0.1#5335 +ipset=/thesimssocial.com/gfwlist +server=/facboox.com/127.0.0.1#5335 +ipset=/facboox.com/gfwlist +server=/mini.es/127.0.0.1#5335 +ipset=/mini.es/gfwlist +server=/lysol.co.cr/127.0.0.1#5335 +ipset=/lysol.co.cr/gfwlist +server=/travelex.be/127.0.0.1#5335 +ipset=/travelex.be/gfwlist +server=/google.tm/127.0.0.1#5335 +ipset=/google.tm/gfwlist +server=/unity.com/127.0.0.1#5335 +ipset=/unity.com/gfwlist +server=/mini-egypt.com/127.0.0.1#5335 +ipset=/mini-egypt.com/gfwlist +server=/wipower.com/127.0.0.1#5335 +ipset=/wipower.com/gfwlist +server=/disneynow.com/127.0.0.1#5335 +ipset=/disneynow.com/gfwlist +server=/nettyinternet.com/127.0.0.1#5335 +ipset=/nettyinternet.com/gfwlist +server=/webex.com/127.0.0.1#5335 +ipset=/webex.com/gfwlist +server=/chicagolandbmw.com/127.0.0.1#5335 +ipset=/chicagolandbmw.com/gfwlist +server=/bmw.ba/127.0.0.1#5335 +ipset=/bmw.ba/gfwlist +server=/brightcovecdn.com/127.0.0.1#5335 +ipset=/brightcovecdn.com/gfwlist +server=/harperacademic.com/127.0.0.1#5335 +ipset=/harperacademic.com/gfwlist +server=/keepmovingwithmovefree.com/127.0.0.1#5335 +ipset=/keepmovingwithmovefree.com/gfwlist +server=/bridgestone.com/127.0.0.1#5335 +ipset=/bridgestone.com/gfwlist +server=/vk-portal.net/127.0.0.1#5335 +ipset=/vk-portal.net/gfwlist +server=/webobjects.com/127.0.0.1#5335 +ipset=/webobjects.com/gfwlist +server=/nikestore.com/127.0.0.1#5335 +ipset=/nikestore.com/gfwlist +server=/pinterest.com.mx/127.0.0.1#5335 +ipset=/pinterest.com.mx/gfwlist +server=/bmw-connecteddrive.it/127.0.0.1#5335 +ipset=/bmw-connecteddrive.it/gfwlist +server=/volvobuses.it/127.0.0.1#5335 +ipset=/volvobuses.it/gfwlist +server=/bmw-motorrad.sv/127.0.0.1#5335 +ipset=/bmw-motorrad.sv/gfwlist +server=/fox47.com/127.0.0.1#5335 +ipset=/fox47.com/gfwlist +server=/hpceo.com/127.0.0.1#5335 +ipset=/hpceo.com/gfwlist +server=/faceboox.com/127.0.0.1#5335 +ipset=/faceboox.com/gfwlist +server=/votolia.com/127.0.0.1#5335 +ipset=/votolia.com/gfwlist +server=/bmw-connecteddrive.be/127.0.0.1#5335 +ipset=/bmw-connecteddrive.be/gfwlist +server=/sni1dcb6gl.wpc.edgecastcdn.net/127.0.0.1#5335 +ipset=/sni1dcb6gl.wpc.edgecastcdn.net/gfwlist +server=/cotolia.com/127.0.0.1#5335 +ipset=/cotolia.com/gfwlist +server=/mirrorsedge.jp/127.0.0.1#5335 +ipset=/mirrorsedge.jp/gfwlist +server=/paypal.so/127.0.0.1#5335 +ipset=/paypal.so/gfwlist +server=/fotolia.com/127.0.0.1#5335 +ipset=/fotolia.com/gfwlist +server=/aiv-cdn.net/127.0.0.1#5335 +ipset=/aiv-cdn.net/gfwlist +server=/pinterest.com/127.0.0.1#5335 +ipset=/pinterest.com/gfwlist +server=/mktdns.com/127.0.0.1#5335 +ipset=/mktdns.com/gfwlist +server=/vkuservideo.com/127.0.0.1#5335 +ipset=/vkuservideo.com/gfwlist +server=/mit.edu/127.0.0.1#5335 +ipset=/mit.edu/gfwlist +server=/myfbfans.com/127.0.0.1#5335 +ipset=/myfbfans.com/gfwlist +server=/pugetsoundbmw.com/127.0.0.1#5335 +ipset=/pugetsoundbmw.com/gfwlist +server=/nikefootballjersey.com/127.0.0.1#5335 +ipset=/nikefootballjersey.com/gfwlist +server=/buycheapbeatsdreuk.com/127.0.0.1#5335 +ipset=/buycheapbeatsdreuk.com/gfwlist +server=/googleearth.com/127.0.0.1#5335 +ipset=/googleearth.com/gfwlist +server=/mytimesplus.co.uk/127.0.0.1#5335 +ipset=/mytimesplus.co.uk/gfwlist +server=/cmu.edu/127.0.0.1#5335 +ipset=/cmu.edu/gfwlist +server=/megaphone.fm/127.0.0.1#5335 +ipset=/megaphone.fm/gfwlist +server=/alphabet.jp/127.0.0.1#5335 +ipset=/alphabet.jp/gfwlist +server=/attssl.com/127.0.0.1#5335 +ipset=/attssl.com/gfwlist +server=/akastream.net/127.0.0.1#5335 +ipset=/akastream.net/gfwlist +server=/appletvapp.apple/127.0.0.1#5335 +ipset=/appletvapp.apple/gfwlist +server=/paypal-integration.com/127.0.0.1#5335 +ipset=/paypal-integration.com/gfwlist +server=/clarivate.com/127.0.0.1#5335 +ipset=/clarivate.com/gfwlist +server=/blogspot.com.ee/127.0.0.1#5335 +ipset=/blogspot.com.ee/gfwlist +server=/pccwsolutions.com/127.0.0.1#5335 +ipset=/pccwsolutions.com/gfwlist +server=/pwabuilder.com/127.0.0.1#5335 +ipset=/pwabuilder.com/gfwlist +server=/fox32.com/127.0.0.1#5335 +ipset=/fox32.com/gfwlist +server=/dowjones.io/127.0.0.1#5335 +ipset=/dowjones.io/gfwlist +server=/faceobk.com/127.0.0.1#5335 +ipset=/faceobk.com/gfwlist +server=/vanish.nl/127.0.0.1#5335 +ipset=/vanish.nl/gfwlist +server=/adx.promo/127.0.0.1#5335 +ipset=/adx.promo/gfwlist +server=/facebooksignup.net/127.0.0.1#5335 +ipset=/facebooksignup.net/gfwlist +server=/disney.co.jp/127.0.0.1#5335 +ipset=/disney.co.jp/gfwlist +server=/vfsco.com.tr/127.0.0.1#5335 +ipset=/vfsco.com.tr/gfwlist +server=/ebayopensource.net/127.0.0.1#5335 +ipset=/ebayopensource.net/gfwlist +server=/chillingo.com/127.0.0.1#5335 +ipset=/chillingo.com/gfwlist +server=/alphera.com/127.0.0.1#5335 +ipset=/alphera.com/gfwlist +server=/adidas.se/127.0.0.1#5335 +ipset=/adidas.se/gfwlist +server=/vfsco.co.za/127.0.0.1#5335 +ipset=/vfsco.co.za/gfwlist +server=/faceboik.com/127.0.0.1#5335 +ipset=/faceboik.com/gfwlist +server=/linux.org/127.0.0.1#5335 +ipset=/linux.org/gfwlist +server=/minidurham.com/127.0.0.1#5335 +ipset=/minidurham.com/gfwlist +server=/localpresshk.com/127.0.0.1#5335 +ipset=/localpresshk.com/gfwlist +server=/herokuapp.com/127.0.0.1#5335 +ipset=/herokuapp.com/gfwlist +server=/beatsmusic.com/127.0.0.1#5335 +ipset=/beatsmusic.com/gfwlist +server=/youtube.jp/127.0.0.1#5335 +ipset=/youtube.jp/gfwlist +server=/google.cl/127.0.0.1#5335 +ipset=/google.cl/gfwlist +server=/openstreetmap.com/127.0.0.1#5335 +ipset=/openstreetmap.com/gfwlist +server=/heads4-ak-spotify-com.akamaized.net/127.0.0.1#5335 +ipset=/heads4-ak-spotify-com.akamaized.net/gfwlist +server=/virtuata.com/127.0.0.1#5335 +ipset=/virtuata.com/gfwlist +server=/freehulu.com/127.0.0.1#5335 +ipset=/freehulu.com/gfwlist +server=/shinhangmc.com/127.0.0.1#5335 +ipset=/shinhangmc.com/gfwlist +server=/gettyimages.fr/127.0.0.1#5335 +ipset=/gettyimages.fr/gfwlist +server=/beatsbydre.jp/127.0.0.1#5335 +ipset=/beatsbydre.jp/gfwlist +server=/fury.blog/127.0.0.1#5335 +ipset=/fury.blog/gfwlist +server=/waa.tw/127.0.0.1#5335 +ipset=/waa.tw/gfwlist +server=/whatsapp.tv/127.0.0.1#5335 +ipset=/whatsapp.tv/gfwlist +server=/yahoo.co.mz/127.0.0.1#5335 +ipset=/yahoo.co.mz/gfwlist +server=/nextwork.com.hk/127.0.0.1#5335 +ipset=/nextwork.com.hk/gfwlist +server=/s-nbcnews.com/127.0.0.1#5335 +ipset=/s-nbcnews.com/gfwlist +server=/intel.gt/127.0.0.1#5335 +ipset=/intel.gt/gfwlist +server=/bmw.by/127.0.0.1#5335 +ipset=/bmw.by/gfwlist +server=/mitpressjournals.org/127.0.0.1#5335 +ipset=/mitpressjournals.org/gfwlist +server=/visasignature.co.kr/127.0.0.1#5335 +ipset=/visasignature.co.kr/gfwlist +server=/xn--d1acpjx3f.xn--p1ai/127.0.0.1#5335 +ipset=/xn--d1acpjx3f.xn--p1ai/gfwlist +server=/microsoft.by/127.0.0.1#5335 +ipset=/microsoft.by/gfwlist +server=/vfsco.dk/127.0.0.1#5335 +ipset=/vfsco.dk/gfwlist +server=/skysports.fr/127.0.0.1#5335 +ipset=/skysports.fr/gfwlist +server=/riotgames.info/127.0.0.1#5335 +ipset=/riotgames.info/gfwlist +server=/ipadair.hk/127.0.0.1#5335 +ipset=/ipadair.hk/gfwlist +server=/web.dev/127.0.0.1#5335 +ipset=/web.dev/gfwlist +server=/webmoneyinfo.com/127.0.0.1#5335 +ipset=/webmoneyinfo.com/gfwlist +server=/amazonalexavoxcon.com/127.0.0.1#5335 +ipset=/amazonalexavoxcon.com/gfwlist +server=/pricelessafrica.com/127.0.0.1#5335 +ipset=/pricelessafrica.com/gfwlist +server=/appe-store.com/127.0.0.1#5335 +ipset=/appe-store.com/gfwlist +server=/bmwclassic.com/127.0.0.1#5335 +ipset=/bmwclassic.com/gfwlist +server=/fox42kptm.com/127.0.0.1#5335 +ipset=/fox42kptm.com/gfwlist +server=/stunnel.org/127.0.0.1#5335 +ipset=/stunnel.org/gfwlist +server=/html5rocks.com/127.0.0.1#5335 +ipset=/html5rocks.com/gfwlist +server=/eduplus.hk/127.0.0.1#5335 +ipset=/eduplus.hk/gfwlist +server=/ieee-aess.org/127.0.0.1#5335 +ipset=/ieee-aess.org/gfwlist +server=/pinterest.nz/127.0.0.1#5335 +ipset=/pinterest.nz/gfwlist +server=/bmw-motorrad.gt/127.0.0.1#5335 +ipset=/bmw-motorrad.gt/gfwlist +server=/bmw-connecteddrive.ae/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ae/gfwlist +server=/multicurrencycashpassport.com/127.0.0.1#5335 +ipset=/multicurrencycashpassport.com/gfwlist +server=/travelex.co.in/127.0.0.1#5335 +ipset=/travelex.co.in/gfwlist +server=/zukunftswerkstatt.de/127.0.0.1#5335 +ipset=/zukunftswerkstatt.de/gfwlist +server=/youtube.qa/127.0.0.1#5335 +ipset=/youtube.qa/gfwlist +server=/pinterest.com.pe/127.0.0.1#5335 +ipset=/pinterest.com.pe/gfwlist +server=/fox10news.com/127.0.0.1#5335 +ipset=/fox10news.com/gfwlist +server=/starwarsgalacticstarcruiser.com/127.0.0.1#5335 +ipset=/starwarsgalacticstarcruiser.com/gfwlist +server=/mepn.com/127.0.0.1#5335 +ipset=/mepn.com/gfwlist +server=/intel.co.kr/127.0.0.1#5335 +ipset=/intel.co.kr/gfwlist +server=/nikesbdunks.net/127.0.0.1#5335 +ipset=/nikesbdunks.net/gfwlist +server=/vfsco.be/127.0.0.1#5335 +ipset=/vfsco.be/gfwlist +server=/thestandnews.com/127.0.0.1#5335 +ipset=/thestandnews.com/gfwlist +server=/perfectkickz.net/127.0.0.1#5335 +ipset=/perfectkickz.net/gfwlist +server=/beatswirelesscheap.com/127.0.0.1#5335 +ipset=/beatswirelesscheap.com/gfwlist +server=/atnext.com/127.0.0.1#5335 +ipset=/atnext.com/gfwlist +server=/huluasks.com/127.0.0.1#5335 +ipset=/huluasks.com/gfwlist +server=/rust-lang.org/127.0.0.1#5335 +ipset=/rust-lang.org/gfwlist +server=/fairmarket.com/127.0.0.1#5335 +ipset=/fairmarket.com/gfwlist +server=/facebookfacebook.com/127.0.0.1#5335 +ipset=/facebookfacebook.com/gfwlist +server=/chocolatey.org/127.0.0.1#5335 +ipset=/chocolatey.org/gfwlist +server=/youtube.com.qa/127.0.0.1#5335 +ipset=/youtube.com.qa/gfwlist +server=/dynacw.com.tw/127.0.0.1#5335 +ipset=/dynacw.com.tw/gfwlist +server=/mzed.com/127.0.0.1#5335 +ipset=/mzed.com/gfwlist +server=/canon.uz/127.0.0.1#5335 +ipset=/canon.uz/gfwlist +server=/bbestmall.com/127.0.0.1#5335 +ipset=/bbestmall.com/gfwlist +server=/tegrazone.jp/127.0.0.1#5335 +ipset=/tegrazone.jp/gfwlist +server=/shopeemobile.com/127.0.0.1#5335 +ipset=/shopeemobile.com/gfwlist +server=/mini-connected.com/127.0.0.1#5335 +ipset=/mini-connected.com/gfwlist +server=/bmw-lebanon.com/127.0.0.1#5335 +ipset=/bmw-lebanon.com/gfwlist +server=/pcloud.tw/127.0.0.1#5335 +ipset=/pcloud.tw/gfwlist +server=/visapcsdirect.com/127.0.0.1#5335 +ipset=/visapcsdirect.com/gfwlist +server=/mini.jp/127.0.0.1#5335 +ipset=/mini.jp/gfwlist +server=/microsoftreactor.info/127.0.0.1#5335 +ipset=/microsoftreactor.info/gfwlist +server=/nikepioneer.com/127.0.0.1#5335 +ipset=/nikepioneer.com/gfwlist +server=/mini.com.tw/127.0.0.1#5335 +ipset=/mini.com.tw/gfwlist +server=/applepencil.net/127.0.0.1#5335 +ipset=/applepencil.net/gfwlist +server=/vagrantup.com/127.0.0.1#5335 +ipset=/vagrantup.com/gfwlist +server=/intelsecurity.com/127.0.0.1#5335 +ipset=/intelsecurity.com/gfwlist +server=/angelbeats.jp/127.0.0.1#5335 +ipset=/angelbeats.jp/gfwlist +server=/yahoo.nl/127.0.0.1#5335 +ipset=/yahoo.nl/gfwlist +server=/telex.cc/127.0.0.1#5335 +ipset=/telex.cc/gfwlist +server=/heraldsun.com.au/127.0.0.1#5335 +ipset=/heraldsun.com.au/gfwlist +server=/golosameriki.com/127.0.0.1#5335 +ipset=/golosameriki.com/gfwlist +server=/mujikorea.net/127.0.0.1#5335 +ipset=/mujikorea.net/gfwlist +server=/facebookgroups.com/127.0.0.1#5335 +ipset=/facebookgroups.com/gfwlist +server=/wogx.com/127.0.0.1#5335 +ipset=/wogx.com/gfwlist +server=/akamaiphillipines.com/127.0.0.1#5335 +ipset=/akamaiphillipines.com/gfwlist +server=/thefacebook.net/127.0.0.1#5335 +ipset=/thefacebook.net/gfwlist +server=/applehealth.com.hk/127.0.0.1#5335 +ipset=/applehealth.com.hk/gfwlist +server=/onlineinstagram.com/127.0.0.1#5335 +ipset=/onlineinstagram.com/gfwlist +server=/velostrata.com/127.0.0.1#5335 +ipset=/velostrata.com/gfwlist +server=/bridgestonenationalfleet.com/127.0.0.1#5335 +ipset=/bridgestonenationalfleet.com/gfwlist +server=/hkcnews.com/127.0.0.1#5335 +ipset=/hkcnews.com/gfwlist +server=/patentgold.net/127.0.0.1#5335 +ipset=/patentgold.net/gfwlist +server=/anb.org/127.0.0.1#5335 +ipset=/anb.org/gfwlist +server=/openstreetmap.net/127.0.0.1#5335 +ipset=/openstreetmap.net/gfwlist +server=/scholar.google.at/127.0.0.1#5335 +ipset=/scholar.google.at/gfwlist +server=/intagram.com/127.0.0.1#5335 +ipset=/intagram.com/gfwlist +server=/minihk.com/127.0.0.1#5335 +ipset=/minihk.com/gfwlist +server=/dlgarenanow-a.akamaihd.net/127.0.0.1#5335 +ipset=/dlgarenanow-a.akamaihd.net/gfwlist +server=/disney-discount.com/127.0.0.1#5335 +ipset=/disney-discount.com/gfwlist +server=/facebook-support.org/127.0.0.1#5335 +ipset=/facebook-support.org/gfwlist +server=/dnaindia.com/127.0.0.1#5335 +ipset=/dnaindia.com/gfwlist +server=/githubhackathon.com/127.0.0.1#5335 +ipset=/githubhackathon.com/gfwlist +server=/csis-prod.s3.amazonaws.com/127.0.0.1#5335 +ipset=/csis-prod.s3.amazonaws.com/gfwlist +server=/steamvideo-a.akamaihd.net/127.0.0.1#5335 +ipset=/steamvideo-a.akamaihd.net/gfwlist +server=/fifastreet3.com/127.0.0.1#5335 +ipset=/fifastreet3.com/gfwlist +server=/dtci.technology/127.0.0.1#5335 +ipset=/dtci.technology/gfwlist +server=/chinaeconomicreview.com/127.0.0.1#5335 +ipset=/chinaeconomicreview.com/gfwlist +server=/theintelstore.com/127.0.0.1#5335 +ipset=/theintelstore.com/gfwlist +server=/fastlylb.net/127.0.0.1#5335 +ipset=/fastlylb.net/gfwlist +server=/monsterbeatscasques.com/127.0.0.1#5335 +ipset=/monsterbeatscasques.com/gfwlist +server=/paypalhere.info/127.0.0.1#5335 +ipset=/paypalhere.info/gfwlist +server=/alphabet.es/127.0.0.1#5335 +ipset=/alphabet.es/gfwlist +server=/sharethis.com/127.0.0.1#5335 +ipset=/sharethis.com/gfwlist +server=/attvoip.com/127.0.0.1#5335 +ipset=/attvoip.com/gfwlist +server=/intel.ee/127.0.0.1#5335 +ipset=/intel.ee/gfwlist +server=/verisign.ch/127.0.0.1#5335 +ipset=/verisign.ch/gfwlist +server=/docker.io/127.0.0.1#5335 +ipset=/docker.io/gfwlist +server=/firefox.com/127.0.0.1#5335 +ipset=/firefox.com/gfwlist +server=/nike.us/127.0.0.1#5335 +ipset=/nike.us/gfwlist +server=/logicoolg.com/127.0.0.1#5335 +ipset=/logicoolg.com/gfwlist +server=/parler.com/127.0.0.1#5335 +ipset=/parler.com/gfwlist +server=/ebayde.com/127.0.0.1#5335 +ipset=/ebayde.com/gfwlist +server=/makesenseofdata.com/127.0.0.1#5335 +ipset=/makesenseofdata.com/gfwlist +server=/mini.se/127.0.0.1#5335 +ipset=/mini.se/gfwlist +server=/mythicgames.com/127.0.0.1#5335 +ipset=/mythicgames.com/gfwlist +server=/applecomputer.co.in/127.0.0.1#5335 +ipset=/applecomputer.co.in/gfwlist +server=/offresspecialesbmw.ca/127.0.0.1#5335 +ipset=/offresspecialesbmw.ca/gfwlist +server=/ietf.org/127.0.0.1#5335 +ipset=/ietf.org/gfwlist +server=/ebay.com.mt/127.0.0.1#5335 +ipset=/ebay.com.mt/gfwlist +server=/foxcredit.com/127.0.0.1#5335 +ipset=/foxcredit.com/gfwlist +server=/minid.no/127.0.0.1#5335 +ipset=/minid.no/gfwlist +server=/jav101.com/127.0.0.1#5335 +ipset=/jav101.com/gfwlist +server=/planetminecraft.com/127.0.0.1#5335 +ipset=/planetminecraft.com/gfwlist +server=/disneycareers.com/127.0.0.1#5335 +ipset=/disneycareers.com/gfwlist +server=/nationalaustraliaban.tt.omtrdc.net/127.0.0.1#5335 +ipset=/nationalaustraliaban.tt.omtrdc.net/gfwlist +server=/spacely.com.au/127.0.0.1#5335 +ipset=/spacely.com.au/gfwlist +server=/vfsco.kr/127.0.0.1#5335 +ipset=/vfsco.kr/gfwlist +server=/apple-watch.com.ru/127.0.0.1#5335 +ipset=/apple-watch.com.ru/gfwlist +server=/thetimes.ie/127.0.0.1#5335 +ipset=/thetimes.ie/gfwlist +server=/bmw-motorrad.ee/127.0.0.1#5335 +ipset=/bmw-motorrad.ee/gfwlist +server=/paypalgivingfund.org/127.0.0.1#5335 +ipset=/paypalgivingfund.org/gfwlist +server=/volvobuses.com.br/127.0.0.1#5335 +ipset=/volvobuses.com.br/gfwlist +server=/vimeo.com/127.0.0.1#5335 +ipset=/vimeo.com/gfwlist +server=/minikelowna.com/127.0.0.1#5335 +ipset=/minikelowna.com/gfwlist +server=/tkb008.xyz/127.0.0.1#5335 +ipset=/tkb008.xyz/gfwlist +server=/starbucks.fr/127.0.0.1#5335 +ipset=/starbucks.fr/gfwlist +server=/minecraftshop.com/127.0.0.1#5335 +ipset=/minecraftshop.com/gfwlist +server=/gettyimages.fi/127.0.0.1#5335 +ipset=/gettyimages.fi/gfwlist +server=/voadeewaradio.com/127.0.0.1#5335 +ipset=/voadeewaradio.com/gfwlist +server=/facebood.com/127.0.0.1#5335 +ipset=/facebood.com/gfwlist +server=/ntdtv.ru/127.0.0.1#5335 +ipset=/ntdtv.ru/gfwlist +server=/bmwarchiv.de/127.0.0.1#5335 +ipset=/bmwarchiv.de/gfwlist +server=/visabg.com/127.0.0.1#5335 +ipset=/visabg.com/gfwlist +server=/ts.la/127.0.0.1#5335 +ipset=/ts.la/gfwlist +server=/iphone5casescovers.com/127.0.0.1#5335 +ipset=/iphone5casescovers.com/gfwlist +server=/volvotrucks.co.mz/127.0.0.1#5335 +ipset=/volvotrucks.co.mz/gfwlist +server=/alpinelinux.org/127.0.0.1#5335 +ipset=/alpinelinux.org/gfwlist +server=/dba.dk/127.0.0.1#5335 +ipset=/dba.dk/gfwlist +server=/kicu.tv/127.0.0.1#5335 +ipset=/kicu.tv/gfwlist +server=/mvk.com/127.0.0.1#5335 +ipset=/mvk.com/gfwlist +server=/scoreland.com/127.0.0.1#5335 +ipset=/scoreland.com/gfwlist +server=/fburl.com/127.0.0.1#5335 +ipset=/fburl.com/gfwlist +server=/beatselectronicsllc.tt.omtrdc.net/127.0.0.1#5335 +ipset=/beatselectronicsllc.tt.omtrdc.net/gfwlist +server=/keyhole.com/127.0.0.1#5335 +ipset=/keyhole.com/gfwlist +server=/linecorp.com/127.0.0.1#5335 +ipset=/linecorp.com/gfwlist +server=/opengraphprotocol.com/127.0.0.1#5335 +ipset=/opengraphprotocol.com/gfwlist +server=/iphone-vip2.com/127.0.0.1#5335 +ipset=/iphone-vip2.com/gfwlist +server=/bmw-carit.de/127.0.0.1#5335 +ipset=/bmw-carit.de/gfwlist +server=/newscorpaustralia.com/127.0.0.1#5335 +ipset=/newscorpaustralia.com/gfwlist +server=/youtube.com.br/127.0.0.1#5335 +ipset=/youtube.com.br/gfwlist +server=/att.tv/127.0.0.1#5335 +ipset=/att.tv/gfwlist +server=/beatsbydreforstore.com/127.0.0.1#5335 +ipset=/beatsbydreforstore.com/gfwlist +server=/latticedata.com/127.0.0.1#5335 +ipset=/latticedata.com/gfwlist +server=/bmwgroup-classic.com/127.0.0.1#5335 +ipset=/bmwgroup-classic.com/gfwlist +server=/vanish.co.uk/127.0.0.1#5335 +ipset=/vanish.co.uk/gfwlist +server=/fox2detroit.com/127.0.0.1#5335 +ipset=/fox2detroit.com/gfwlist +server=/heywire.com/127.0.0.1#5335 +ipset=/heywire.com/gfwlist +server=/intell.com/127.0.0.1#5335 +ipset=/intell.com/gfwlist +server=/ctyun.online/127.0.0.1#5335 +ipset=/ctyun.online/gfwlist +server=/roborecall.com/127.0.0.1#5335 +ipset=/roborecall.com/gfwlist +server=/dynacw.com.cn/127.0.0.1#5335 +ipset=/dynacw.com.cn/gfwlist +server=/spotifycharts.com/127.0.0.1#5335 +ipset=/spotifycharts.com/gfwlist +server=/newsadds.com.au/127.0.0.1#5335 +ipset=/newsadds.com.au/gfwlist +server=/syosetu.com/127.0.0.1#5335 +ipset=/syosetu.com/gfwlist +server=/riot.im/127.0.0.1#5335 +ipset=/riot.im/gfwlist +server=/paypalbrasil.com/127.0.0.1#5335 +ipset=/paypalbrasil.com/gfwlist +server=/akasha.world/127.0.0.1#5335 +ipset=/akasha.world/gfwlist +server=/visa.ky/127.0.0.1#5335 +ipset=/visa.ky/gfwlist +server=/minigeorgian.ca/127.0.0.1#5335 +ipset=/minigeorgian.ca/gfwlist +server=/muji.net/127.0.0.1#5335 +ipset=/muji.net/gfwlist +server=/enanyang.my/127.0.0.1#5335 +ipset=/enanyang.my/gfwlist +server=/thelancet.com/127.0.0.1#5335 +ipset=/thelancet.com/gfwlist +server=/starbucks.it/127.0.0.1#5335 +ipset=/starbucks.it/gfwlist +server=/google.as/127.0.0.1#5335 +ipset=/google.as/gfwlist +server=/appledaily.com.hk/127.0.0.1#5335 +ipset=/appledaily.com.hk/gfwlist +server=/bmw.at/127.0.0.1#5335 +ipset=/bmw.at/gfwlist +server=/signal.art/127.0.0.1#5335 +ipset=/signal.art/gfwlist +server=/drebeats-monster.com/127.0.0.1#5335 +ipset=/drebeats-monster.com/gfwlist +server=/verily.com/127.0.0.1#5335 +ipset=/verily.com/gfwlist +server=/duckduckgo.jp/127.0.0.1#5335 +ipset=/duckduckgo.jp/gfwlist +server=/pentium.net/127.0.0.1#5335 +ipset=/pentium.net/gfwlist +server=/neowin.net/127.0.0.1#5335 +ipset=/neowin.net/gfwlist +server=/hebiphone.com/127.0.0.1#5335 +ipset=/hebiphone.com/gfwlist +server=/now.com.hk/127.0.0.1#5335 +ipset=/now.com.hk/gfwlist +server=/mini.com.ec/127.0.0.1#5335 +ipset=/mini.com.ec/gfwlist +server=/sonylatvija.com/127.0.0.1#5335 +ipset=/sonylatvija.com/gfwlist +server=/eacashcard.com/127.0.0.1#5335 +ipset=/eacashcard.com/gfwlist +server=/hacksear.ch/127.0.0.1#5335 +ipset=/hacksear.ch/gfwlist +server=/mcdelivery.com.au/127.0.0.1#5335 +ipset=/mcdelivery.com.au/gfwlist +server=/midatlanticbmwmotorcycles.com/127.0.0.1#5335 +ipset=/midatlanticbmwmotorcycles.com/gfwlist +server=/softbank-jp.com/127.0.0.1#5335 +ipset=/softbank-jp.com/gfwlist +server=/skysportsracing.com/127.0.0.1#5335 +ipset=/skysportsracing.com/gfwlist +server=/onlinegeeksquad.com/127.0.0.1#5335 +ipset=/onlinegeeksquad.com/gfwlist +server=/sony.com.pe/127.0.0.1#5335 +ipset=/sony.com.pe/gfwlist +server=/nikedawn.com/127.0.0.1#5335 +ipset=/nikedawn.com/gfwlist +server=/kiji.ca/127.0.0.1#5335 +ipset=/kiji.ca/gfwlist +server=/bbc.co.uk/127.0.0.1#5335 +ipset=/bbc.co.uk/gfwlist +server=/ospray.org/127.0.0.1#5335 +ipset=/ospray.org/gfwlist +server=/universalstudioshollywood.com/127.0.0.1#5335 +ipset=/universalstudioshollywood.com/gfwlist +server=/mkt.com/127.0.0.1#5335 +ipset=/mkt.com/gfwlist +server=/yahoo.im/127.0.0.1#5335 +ipset=/yahoo.im/gfwlist +server=/hulusports.com/127.0.0.1#5335 +ipset=/hulusports.com/gfwlist +server=/firestonetire.ca/127.0.0.1#5335 +ipset=/firestonetire.ca/gfwlist +server=/google.com.tj/127.0.0.1#5335 +ipset=/google.com.tj/gfwlist +server=/yandex.sx/127.0.0.1#5335 +ipset=/yandex.sx/gfwlist +server=/x.company/127.0.0.1#5335 +ipset=/x.company/gfwlist +server=/beatsbydreforshop2013-nl.com/127.0.0.1#5335 +ipset=/beatsbydreforshop2013-nl.com/gfwlist +server=/taylorfrancis.com/127.0.0.1#5335 +ipset=/taylorfrancis.com/gfwlist +server=/alphabet.com/127.0.0.1#5335 +ipset=/alphabet.com/gfwlist +server=/yoshisnewisland.com/127.0.0.1#5335 +ipset=/yoshisnewisland.com/gfwlist +server=/wikileaks.org/127.0.0.1#5335 +ipset=/wikileaks.org/gfwlist +server=/adidas.de/127.0.0.1#5335 +ipset=/adidas.de/gfwlist +server=/voabangla.com/127.0.0.1#5335 +ipset=/voabangla.com/gfwlist +server=/weinvoiceit.com/127.0.0.1#5335 +ipset=/weinvoiceit.com/gfwlist +server=/ahmia.fi/127.0.0.1#5335 +ipset=/ahmia.fi/gfwlist +server=/windowsphone.com/127.0.0.1#5335 +ipset=/windowsphone.com/gfwlist +server=/paypal-service.org/127.0.0.1#5335 +ipset=/paypal-service.org/gfwlist +server=/miniwindsor.com/127.0.0.1#5335 +ipset=/miniwindsor.com/gfwlist +server=/elsevier.io/127.0.0.1#5335 +ipset=/elsevier.io/gfwlist +server=/pearsonlongman.ch/127.0.0.1#5335 +ipset=/pearsonlongman.ch/gfwlist +server=/muncloud.dog/127.0.0.1#5335 +ipset=/muncloud.dog/gfwlist +server=/eprintsw.com/127.0.0.1#5335 +ipset=/eprintsw.com/gfwlist +server=/adobegov.com/127.0.0.1#5335 +ipset=/adobegov.com/gfwlist +server=/vmwareviewpoint.com/127.0.0.1#5335 +ipset=/vmwareviewpoint.com/gfwlist +server=/xbox360.co/127.0.0.1#5335 +ipset=/xbox360.co/gfwlist +server=/barrons-conferences.com/127.0.0.1#5335 +ipset=/barrons-conferences.com/gfwlist +server=/paypal-engineering.com/127.0.0.1#5335 +ipset=/paypal-engineering.com/gfwlist +server=/beatsbydrestudio-australia.com/127.0.0.1#5335 +ipset=/beatsbydrestudio-australia.com/gfwlist +server=/beatspascher.net/127.0.0.1#5335 +ipset=/beatspascher.net/gfwlist +server=/foxdcg.com/127.0.0.1#5335 +ipset=/foxdcg.com/gfwlist +server=/canonfoundation.org/127.0.0.1#5335 +ipset=/canonfoundation.org/gfwlist +server=/cciernslabs.com/127.0.0.1#5335 +ipset=/cciernslabs.com/gfwlist +server=/firewire.cl/127.0.0.1#5335 +ipset=/firewire.cl/gfwlist +server=/gettyimages.ie/127.0.0.1#5335 +ipset=/gettyimages.ie/gfwlist +server=/fox13news.com/127.0.0.1#5335 +ipset=/fox13news.com/gfwlist +server=/applewatch.tw/127.0.0.1#5335 +ipset=/applewatch.tw/gfwlist +server=/fse.tv/127.0.0.1#5335 +ipset=/fse.tv/gfwlist +server=/papalah.com/127.0.0.1#5335 +ipset=/papalah.com/gfwlist +server=/beatsaudiobydre.net/127.0.0.1#5335 +ipset=/beatsaudiobydre.net/gfwlist +server=/iphonerip.net/127.0.0.1#5335 +ipset=/iphonerip.net/gfwlist +server=/rea.design/127.0.0.1#5335 +ipset=/rea.design/gfwlist +server=/facecbook.org/127.0.0.1#5335 +ipset=/facecbook.org/gfwlist +server=/foxcincy.net/127.0.0.1#5335 +ipset=/foxcincy.net/gfwlist +server=/foxsports.co/127.0.0.1#5335 +ipset=/foxsports.co/gfwlist +server=/bridgestone-asiapacific.com/127.0.0.1#5335 +ipset=/bridgestone-asiapacific.com/gfwlist +server=/azureplanetscale.info/127.0.0.1#5335 +ipset=/azureplanetscale.info/gfwlist +server=/fury.dev/127.0.0.1#5335 +ipset=/fury.dev/gfwlist +server=/blogspot.tw/127.0.0.1#5335 +ipset=/blogspot.tw/gfwlist +server=/cstatic.net/127.0.0.1#5335 +ipset=/cstatic.net/gfwlist +server=/rstatic.net/127.0.0.1#5335 +ipset=/rstatic.net/gfwlist +server=/drdremonster-beats.com/127.0.0.1#5335 +ipset=/drdremonster-beats.com/gfwlist +server=/itunes.ca/127.0.0.1#5335 +ipset=/itunes.ca/gfwlist +server=/nikeadidas.com/127.0.0.1#5335 +ipset=/nikeadidas.com/gfwlist +server=/activeteachonline.com/127.0.0.1#5335 +ipset=/activeteachonline.com/gfwlist +server=/huffpostarabi.com/127.0.0.1#5335 +ipset=/huffpostarabi.com/gfwlist +server=/yahoo.es/127.0.0.1#5335 +ipset=/yahoo.es/gfwlist +server=/google.co.ao/127.0.0.1#5335 +ipset=/google.co.ao/gfwlist +server=/connectionseducation.com/127.0.0.1#5335 +ipset=/connectionseducation.com/gfwlist +server=/notion-static.com/127.0.0.1#5335 +ipset=/notion-static.com/gfwlist +server=/momentumms.com/127.0.0.1#5335 +ipset=/momentumms.com/gfwlist +server=/freebeacon.com/127.0.0.1#5335 +ipset=/freebeacon.com/gfwlist +server=/ebayadvertising.com/127.0.0.1#5335 +ipset=/ebayadvertising.com/gfwlist +server=/google.com.bo/127.0.0.1#5335 +ipset=/google.com.bo/gfwlist +server=/nii.ac.jp/127.0.0.1#5335 +ipset=/nii.ac.jp/gfwlist +server=/appleappstore.tv/127.0.0.1#5335 +ipset=/appleappstore.tv/gfwlist +server=/azureedge-test.net/127.0.0.1#5335 +ipset=/azureedge-test.net/gfwlist +server=/disneyiejobs.com/127.0.0.1#5335 +ipset=/disneyiejobs.com/gfwlist +server=/mini.co.th/127.0.0.1#5335 +ipset=/mini.co.th/gfwlist +server=/post852.com/127.0.0.1#5335 +ipset=/post852.com/gfwlist +server=/services-apple.net/127.0.0.1#5335 +ipset=/services-apple.net/gfwlist +server=/vfsco.com/127.0.0.1#5335 +ipset=/vfsco.com/gfwlist +server=/beatsdrdrecuffie.net/127.0.0.1#5335 +ipset=/beatsdrdrecuffie.net/gfwlist +server=/gentoo.org/127.0.0.1#5335 +ipset=/gentoo.org/gfwlist +server=/tandf.co.uk/127.0.0.1#5335 +ipset=/tandf.co.uk/gfwlist +server=/sonytc.co.jp/127.0.0.1#5335 +ipset=/sonytc.co.jp/gfwlist +server=/microsoft.ge/127.0.0.1#5335 +ipset=/microsoft.ge/gfwlist +server=/asebay.com/127.0.0.1#5335 +ipset=/asebay.com/gfwlist +server=/javmost.com/127.0.0.1#5335 +ipset=/javmost.com/gfwlist +server=/lovethiscity.com/127.0.0.1#5335 +ipset=/lovethiscity.com/gfwlist +server=/intel.ga/127.0.0.1#5335 +ipset=/intel.ga/gfwlist +server=/adventuresbydisney.com/127.0.0.1#5335 +ipset=/adventuresbydisney.com/gfwlist +server=/iphone4s.com/127.0.0.1#5335 +ipset=/iphone4s.com/gfwlist +server=/paypal-community.com/127.0.0.1#5335 +ipset=/paypal-community.com/gfwlist +server=/foxsoccerplus.tv/127.0.0.1#5335 +ipset=/foxsoccerplus.tv/gfwlist +server=/volvotrucks.lt/127.0.0.1#5335 +ipset=/volvotrucks.lt/gfwlist +server=/foxnews.net/127.0.0.1#5335 +ipset=/foxnews.net/gfwlist +server=/collegejournal.com/127.0.0.1#5335 +ipset=/collegejournal.com/gfwlist +server=/dailym.ai/127.0.0.1#5335 +ipset=/dailym.ai/gfwlist +server=/minisokorea.com/127.0.0.1#5335 +ipset=/minisokorea.com/gfwlist +server=/bumptop.org/127.0.0.1#5335 +ipset=/bumptop.org/gfwlist +server=/mastercard.fi/127.0.0.1#5335 +ipset=/mastercard.fi/gfwlist +server=/odysee.com/127.0.0.1#5335 +ipset=/odysee.com/gfwlist +server=/ebayprivacycenter.com/127.0.0.1#5335 +ipset=/ebayprivacycenter.com/gfwlist +server=/durex.pt/127.0.0.1#5335 +ipset=/durex.pt/gfwlist +server=/nintendo.co.jp/127.0.0.1#5335 +ipset=/nintendo.co.jp/gfwlist +server=/dettol.com.au/127.0.0.1#5335 +ipset=/dettol.com.au/gfwlist +server=/boringcompany.com/127.0.0.1#5335 +ipset=/boringcompany.com/gfwlist +server=/freebrowser.org/127.0.0.1#5335 +ipset=/freebrowser.org/gfwlist +server=/originalhulu.com/127.0.0.1#5335 +ipset=/originalhulu.com/gfwlist +server=/yahoo.cz/127.0.0.1#5335 +ipset=/yahoo.cz/gfwlist +server=/wholefoodsmarket.com/127.0.0.1#5335 +ipset=/wholefoodsmarket.com/gfwlist +server=/youtube.pa/127.0.0.1#5335 +ipset=/youtube.pa/gfwlist +server=/crmdynint.com/127.0.0.1#5335 +ipset=/crmdynint.com/gfwlist +server=/lfai.foundation/127.0.0.1#5335 +ipset=/lfai.foundation/gfwlist +server=/urchin.com/127.0.0.1#5335 +ipset=/urchin.com/gfwlist +server=/xn--7hv594h.com/127.0.0.1#5335 +ipset=/xn--7hv594h.com/gfwlist +server=/smartline.com.au/127.0.0.1#5335 +ipset=/smartline.com.au/gfwlist +server=/beats-bydrdre.net/127.0.0.1#5335 +ipset=/beats-bydrdre.net/gfwlist +server=/bmw-connecteddrive.com.hr/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com.hr/gfwlist +server=/unityads.unitychina.cn/127.0.0.1#5335 +ipset=/unityads.unitychina.cn/gfwlist +server=/vmwareusergroupstore.com/127.0.0.1#5335 +ipset=/vmwareusergroupstore.com/gfwlist +server=/superpapermario.com/127.0.0.1#5335 +ipset=/superpapermario.com/gfwlist +server=/babyzone.com/127.0.0.1#5335 +ipset=/babyzone.com/gfwlist +server=/practicalmoneyskills.jp/127.0.0.1#5335 +ipset=/practicalmoneyskills.jp/gfwlist +server=/xn--ubt498knmf.com/127.0.0.1#5335 +ipset=/xn--ubt498knmf.com/gfwlist +server=/feedburner.com/127.0.0.1#5335 +ipset=/feedburner.com/gfwlist +server=/ebaytv.org/127.0.0.1#5335 +ipset=/ebaytv.org/gfwlist +server=/airwick.com.br/127.0.0.1#5335 +ipset=/airwick.com.br/gfwlist +server=/newssyndication.com/127.0.0.1#5335 +ipset=/newssyndication.com/gfwlist +server=/bcove.video/127.0.0.1#5335 +ipset=/bcove.video/gfwlist +server=/espncdn.com/127.0.0.1#5335 +ipset=/espncdn.com/gfwlist +server=/amazonaws.com/127.0.0.1#5335 +ipset=/amazonaws.com/gfwlist +server=/xboxstudios.com/127.0.0.1#5335 +ipset=/xboxstudios.com/gfwlist +server=/fastlylabs.com/127.0.0.1#5335 +ipset=/fastlylabs.com/gfwlist +server=/wuso.me/127.0.0.1#5335 +ipset=/wuso.me/gfwlist +server=/bestbuy-communityrelations.com/127.0.0.1#5335 +ipset=/bestbuy-communityrelations.com/gfwlist +server=/ipod.tw/127.0.0.1#5335 +ipset=/ipod.tw/gfwlist +server=/hp3d.com/127.0.0.1#5335 +ipset=/hp3d.com/gfwlist +server=/ituneas.com/127.0.0.1#5335 +ipset=/ituneas.com/gfwlist +server=/appledaily.com/127.0.0.1#5335 +ipset=/appledaily.com/gfwlist +server=/jetbrains.com/127.0.0.1#5335 +ipset=/jetbrains.com/gfwlist +server=/vancouverbmwretailers.ca/127.0.0.1#5335 +ipset=/vancouverbmwretailers.ca/gfwlist +server=/spearhead.kr/127.0.0.1#5335 +ipset=/spearhead.kr/gfwlist +server=/visa.co.il/127.0.0.1#5335 +ipset=/visa.co.il/gfwlist +server=/myfoxphilly.com/127.0.0.1#5335 +ipset=/myfoxphilly.com/gfwlist +server=/facebook-inc.com/127.0.0.1#5335 +ipset=/facebook-inc.com/gfwlist +server=/bmw-motorrad.com.tr/127.0.0.1#5335 +ipset=/bmw-motorrad.com.tr/gfwlist +server=/cloudsync-prod.s3.amazonaws.com/127.0.0.1#5335 +ipset=/cloudsync-prod.s3.amazonaws.com/gfwlist +server=/miiverse.com/127.0.0.1#5335 +ipset=/miiverse.com/gfwlist +server=/nvidia.dk/127.0.0.1#5335 +ipset=/nvidia.dk/gfwlist +server=/finishinfo.no/127.0.0.1#5335 +ipset=/finishinfo.no/gfwlist +server=/canon-cna.com/127.0.0.1#5335 +ipset=/canon-cna.com/gfwlist +server=/monsterbeats-headphone.com/127.0.0.1#5335 +ipset=/monsterbeats-headphone.com/gfwlist +server=/youtube.co.id/127.0.0.1#5335 +ipset=/youtube.co.id/gfwlist +server=/paypal-network.org/127.0.0.1#5335 +ipset=/paypal-network.org/gfwlist +server=/disneyturkiye.com.tr/127.0.0.1#5335 +ipset=/disneyturkiye.com.tr/gfwlist +server=/xoomcom.com/127.0.0.1#5335 +ipset=/xoomcom.com/gfwlist +server=/iphone.ru/127.0.0.1#5335 +ipset=/iphone.ru/gfwlist +server=/airwick.pl/127.0.0.1#5335 +ipset=/airwick.pl/gfwlist +server=/dialga.com/127.0.0.1#5335 +ipset=/dialga.com/gfwlist +server=/nintendo.be/127.0.0.1#5335 +ipset=/nintendo.be/gfwlist +server=/bmw-motorrad.in/127.0.0.1#5335 +ipset=/bmw-motorrad.in/gfwlist +server=/bumptop.net/127.0.0.1#5335 +ipset=/bumptop.net/gfwlist +server=/hyperscan.io/127.0.0.1#5335 +ipset=/hyperscan.io/gfwlist +server=/sandisk.fr/127.0.0.1#5335 +ipset=/sandisk.fr/gfwlist +server=/fifastreet.com/127.0.0.1#5335 +ipset=/fifastreet.com/gfwlist +server=/bmw-motorrad.es/127.0.0.1#5335 +ipset=/bmw-motorrad.es/gfwlist +server=/ccievoicelabs.com/127.0.0.1#5335 +ipset=/ccievoicelabs.com/gfwlist +server=/tvbusa.com/127.0.0.1#5335 +ipset=/tvbusa.com/gfwlist +server=/mini-stjohns.ca/127.0.0.1#5335 +ipset=/mini-stjohns.ca/gfwlist +server=/cloudflare.net/127.0.0.1#5335 +ipset=/cloudflare.net/gfwlist +server=/google.co.tz/127.0.0.1#5335 +ipset=/google.co.tz/gfwlist +server=/discord.media/127.0.0.1#5335 +ipset=/discord.media/gfwlist +server=/thomsonreuters.com.tr/127.0.0.1#5335 +ipset=/thomsonreuters.com.tr/gfwlist +server=/timestalks.com/127.0.0.1#5335 +ipset=/timestalks.com/gfwlist +server=/starcraft2.com/127.0.0.1#5335 +ipset=/starcraft2.com/gfwlist +server=/nyt.com/127.0.0.1#5335 +ipset=/nyt.com/gfwlist +server=/qt-project.org/127.0.0.1#5335 +ipset=/qt-project.org/gfwlist +server=/ciscospark.ca/127.0.0.1#5335 +ipset=/ciscospark.ca/gfwlist +server=/4channel.org/127.0.0.1#5335 +ipset=/4channel.org/gfwlist +server=/nurofen.bg/127.0.0.1#5335 +ipset=/nurofen.bg/gfwlist +server=/visa.com.br/127.0.0.1#5335 +ipset=/visa.com.br/gfwlist +server=/pearsonassessments.com/127.0.0.1#5335 +ipset=/pearsonassessments.com/gfwlist +server=/bigbigshop.com/127.0.0.1#5335 +ipset=/bigbigshop.com/gfwlist +server=/hpgraphicspartners.com/127.0.0.1#5335 +ipset=/hpgraphicspartners.com/gfwlist +server=/cnn.com/127.0.0.1#5335 +ipset=/cnn.com/gfwlist +server=/beatsdrdre-solo.com/127.0.0.1#5335 +ipset=/beatsdrdre-solo.com/gfwlist +server=/airwick.dk/127.0.0.1#5335 +ipset=/airwick.dk/gfwlist +server=/realclearworld.com/127.0.0.1#5335 +ipset=/realclearworld.com/gfwlist +server=/volvotruckcenter.es/127.0.0.1#5335 +ipset=/volvotruckcenter.es/gfwlist +server=/braintreepayments.tv/127.0.0.1#5335 +ipset=/braintreepayments.tv/gfwlist +server=/pokemonrubysapphire.com/127.0.0.1#5335 +ipset=/pokemonrubysapphire.com/gfwlist +server=/bridgestonecntc.com/127.0.0.1#5335 +ipset=/bridgestonecntc.com/gfwlist +server=/ebaycar.com/127.0.0.1#5335 +ipset=/ebaycar.com/gfwlist +server=/mageconf.com.ua/127.0.0.1#5335 +ipset=/mageconf.com.ua/gfwlist +server=/volvotrucks.uy/127.0.0.1#5335 +ipset=/volvotrucks.uy/gfwlist +server=/epochtimes.cz/127.0.0.1#5335 +ipset=/epochtimes.cz/gfwlist +server=/root-signing.ch/127.0.0.1#5335 +ipset=/root-signing.ch/gfwlist +server=/starbuckscoffeegear.com/127.0.0.1#5335 +ipset=/starbuckscoffeegear.com/gfwlist +server=/headphoneshotsales.com/127.0.0.1#5335 +ipset=/headphoneshotsales.com/gfwlist +server=/google.ca/127.0.0.1#5335 +ipset=/google.ca/gfwlist +server=/microsoft.dk/127.0.0.1#5335 +ipset=/microsoft.dk/gfwlist +server=/txcloud.net/127.0.0.1#5335 +ipset=/txcloud.net/gfwlist +server=/kijii.ca/127.0.0.1#5335 +ipset=/kijii.ca/gfwlist +server=/ieeeday.org/127.0.0.1#5335 +ipset=/ieeeday.org/gfwlist +server=/scholar.google.nl/127.0.0.1#5335 +ipset=/scholar.google.nl/gfwlist +server=/fotolia.cc/127.0.0.1#5335 +ipset=/fotolia.cc/gfwlist +server=/niketrainer.com/127.0.0.1#5335 +ipset=/niketrainer.com/gfwlist +server=/acs.org/127.0.0.1#5335 +ipset=/acs.org/gfwlist +server=/youtube.com.ro/127.0.0.1#5335 +ipset=/youtube.com.ro/gfwlist +server=/battlefield3.com/127.0.0.1#5335 +ipset=/battlefield3.com/gfwlist +server=/ebay-vacation.com/127.0.0.1#5335 +ipset=/ebay-vacation.com/gfwlist +server=/appdynamics.co.uk/127.0.0.1#5335 +ipset=/appdynamics.co.uk/gfwlist +server=/playstation.com/127.0.0.1#5335 +ipset=/playstation.com/gfwlist +server=/custombeatsbydrebuy.com/127.0.0.1#5335 +ipset=/custombeatsbydrebuy.com/gfwlist +server=/att.com/127.0.0.1#5335 +ipset=/att.com/gfwlist +server=/beatscheap-uk.com/127.0.0.1#5335 +ipset=/beatscheap-uk.com/gfwlist +server=/javqd.com/127.0.0.1#5335 +ipset=/javqd.com/gfwlist +server=/ie11.com/127.0.0.1#5335 +ipset=/ie11.com/gfwlist +server=/pricelesspick.com/127.0.0.1#5335 +ipset=/pricelesspick.com/gfwlist +server=/garena.sg/127.0.0.1#5335 +ipset=/garena.sg/gfwlist +server=/mini.com.sg/127.0.0.1#5335 +ipset=/mini.com.sg/gfwlist +server=/directvsundayticket.com/127.0.0.1#5335 +ipset=/directvsundayticket.com/gfwlist +server=/roku.com/127.0.0.1#5335 +ipset=/roku.com/gfwlist +server=/bmw.it/127.0.0.1#5335 +ipset=/bmw.it/gfwlist +server=/cotweet.com/127.0.0.1#5335 +ipset=/cotweet.com/gfwlist +server=/kotlinlang.org/127.0.0.1#5335 +ipset=/kotlinlang.org/gfwlist +server=/imdb.com/127.0.0.1#5335 +ipset=/imdb.com/gfwlist +server=/powerofresolve.com/127.0.0.1#5335 +ipset=/powerofresolve.com/gfwlist +server=/bmwbkk.de/127.0.0.1#5335 +ipset=/bmwbkk.de/gfwlist +server=/pokemonplatinum.com/127.0.0.1#5335 +ipset=/pokemonplatinum.com/gfwlist +server=/rrtis.com/127.0.0.1#5335 +ipset=/rrtis.com/gfwlist +server=/paisapay.tv/127.0.0.1#5335 +ipset=/paisapay.tv/gfwlist +server=/coursera.community/127.0.0.1#5335 +ipset=/coursera.community/gfwlist +server=/desktopmovie.org/127.0.0.1#5335 +ipset=/desktopmovie.org/gfwlist +server=/dotfacebook.com/127.0.0.1#5335 +ipset=/dotfacebook.com/gfwlist +server=/jwpsrv.com/127.0.0.1#5335 +ipset=/jwpsrv.com/gfwlist +server=/mailonline.com/127.0.0.1#5335 +ipset=/mailonline.com/gfwlist +server=/cisconetspace.net/127.0.0.1#5335 +ipset=/cisconetspace.net/gfwlist +server=/bridgestone.co.jp/127.0.0.1#5335 +ipset=/bridgestone.co.jp/gfwlist +server=/privilege.hk/127.0.0.1#5335 +ipset=/privilege.hk/gfwlist +server=/cheapnewbeatsbydre.com/127.0.0.1#5335 +ipset=/cheapnewbeatsbydre.com/gfwlist +server=/mastercard.it/127.0.0.1#5335 +ipset=/mastercard.it/gfwlist +server=/vanitha.in/127.0.0.1#5335 +ipset=/vanitha.in/gfwlist +server=/thawte.fr/127.0.0.1#5335 +ipset=/thawte.fr/gfwlist +server=/mortein.co.nz/127.0.0.1#5335 +ipset=/mortein.co.nz/gfwlist +server=/huobiasia.vip/127.0.0.1#5335 +ipset=/huobiasia.vip/gfwlist +server=/ieee-pels.org/127.0.0.1#5335 +ipset=/ieee-pels.org/gfwlist +server=/google.sc/127.0.0.1#5335 +ipset=/google.sc/gfwlist +server=/appleone.tech/127.0.0.1#5335 +ipset=/appleone.tech/gfwlist +server=/facebook.in/127.0.0.1#5335 +ipset=/facebook.in/gfwlist +server=/taste.com.au/127.0.0.1#5335 +ipset=/taste.com.au/gfwlist +server=/bbci.co.uk/127.0.0.1#5335 +ipset=/bbci.co.uk/gfwlist +server=/hentaiverse.org/127.0.0.1#5335 +ipset=/hentaiverse.org/gfwlist +server=/finish.hu/127.0.0.1#5335 +ipset=/finish.hu/gfwlist +server=/bmw-motorrad-test-ride.com/127.0.0.1#5335 +ipset=/bmw-motorrad-test-ride.com/gfwlist +server=/braintreepayments.info/127.0.0.1#5335 +ipset=/braintreepayments.info/gfwlist +server=/blender.org/127.0.0.1#5335 +ipset=/blender.org/gfwlist +server=/monsterbeatstienda.com/127.0.0.1#5335 +ipset=/monsterbeatstienda.com/gfwlist +server=/bmw-adventskalender.com/127.0.0.1#5335 +ipset=/bmw-adventskalender.com/gfwlist +server=/nikezoom.com/127.0.0.1#5335 +ipset=/nikezoom.com/gfwlist +server=/www-bestbuystores.com/127.0.0.1#5335 +ipset=/www-bestbuystores.com/gfwlist +server=/huluitaly.com/127.0.0.1#5335 +ipset=/huluitaly.com/gfwlist +server=/shopdurex.com/127.0.0.1#5335 +ipset=/shopdurex.com/gfwlist +server=/op.gg/127.0.0.1#5335 +ipset=/op.gg/gfwlist +server=/scholar.google.cn/127.0.0.1#5335 +ipset=/scholar.google.cn/gfwlist +server=/bmw-connecteddrive.com.cy/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com.cy/gfwlist +server=/ministcatharines.ca/127.0.0.1#5335 +ipset=/ministcatharines.ca/gfwlist +server=/mindmeld.com/127.0.0.1#5335 +ipset=/mindmeld.com/gfwlist +server=/hbogo.com/127.0.0.1#5335 +ipset=/hbogo.com/gfwlist +server=/12diasderegalosdeitunes.com.ni/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.com.ni/gfwlist +server=/realclearbooks.com/127.0.0.1#5335 +ipset=/realclearbooks.com/gfwlist +server=/ateam-oracle.com/127.0.0.1#5335 +ipset=/ateam-oracle.com/gfwlist +server=/foxnewspodcasts.com/127.0.0.1#5335 +ipset=/foxnewspodcasts.com/gfwlist +server=/ciattackers.com/127.0.0.1#5335 +ipset=/ciattackers.com/gfwlist +server=/pvue2.com/127.0.0.1#5335 +ipset=/pvue2.com/gfwlist +server=/drebeatsaustralia-cheap.net/127.0.0.1#5335 +ipset=/drebeatsaustralia-cheap.net/gfwlist +server=/vsassets.io/127.0.0.1#5335 +ipset=/vsassets.io/gfwlist +server=/volvotrucks.com.br/127.0.0.1#5335 +ipset=/volvotrucks.com.br/gfwlist +server=/nikefuelband.com/127.0.0.1#5335 +ipset=/nikefuelband.com/gfwlist +server=/venmo.net/127.0.0.1#5335 +ipset=/venmo.net/gfwlist +server=/ischool.com/127.0.0.1#5335 +ipset=/ischool.com/gfwlist +server=/hoolu.com/127.0.0.1#5335 +ipset=/hoolu.com/gfwlist +server=/adobe.io/127.0.0.1#5335 +ipset=/adobe.io/gfwlist +server=/easportsmma.com/127.0.0.1#5335 +ipset=/easportsmma.com/gfwlist +server=/foxtv.com/127.0.0.1#5335 +ipset=/foxtv.com/gfwlist +server=/blogspot.is/127.0.0.1#5335 +ipset=/blogspot.is/gfwlist +server=/playvalorant.com/127.0.0.1#5335 +ipset=/playvalorant.com/gfwlist +server=/rebrandly.com/127.0.0.1#5335 +ipset=/rebrandly.com/gfwlist +server=/google.nu/127.0.0.1#5335 +ipset=/google.nu/gfwlist +server=/enfabebe.com.ec/127.0.0.1#5335 +ipset=/enfabebe.com.ec/gfwlist +server=/starbucks.dk/127.0.0.1#5335 +ipset=/starbucks.dk/gfwlist +server=/intel-research.net/127.0.0.1#5335 +ipset=/intel-research.net/gfwlist +server=/ieee-ccnc.org/127.0.0.1#5335 +ipset=/ieee-ccnc.org/gfwlist +server=/brocaproject.com/127.0.0.1#5335 +ipset=/brocaproject.com/gfwlist +server=/strepsils.com.tw/127.0.0.1#5335 +ipset=/strepsils.com.tw/gfwlist +server=/softbankusa.net/127.0.0.1#5335 +ipset=/softbankusa.net/gfwlist +server=/geoport.com/127.0.0.1#5335 +ipset=/geoport.com/gfwlist +server=/google.je/127.0.0.1#5335 +ipset=/google.je/gfwlist +server=/vanithaveedu.com/127.0.0.1#5335 +ipset=/vanithaveedu.com/gfwlist +server=/ebay.com.ar/127.0.0.1#5335 +ipset=/ebay.com.ar/gfwlist +server=/applecentre.info/127.0.0.1#5335 +ipset=/applecentre.info/gfwlist +server=/japan-whores.com/127.0.0.1#5335 +ipset=/japan-whores.com/gfwlist +server=/ecpa.fr/127.0.0.1#5335 +ipset=/ecpa.fr/gfwlist +server=/akamak.com/127.0.0.1#5335 +ipset=/akamak.com/gfwlist +server=/livefilestore.com/127.0.0.1#5335 +ipset=/livefilestore.com/gfwlist +server=/fotoiia.com/127.0.0.1#5335 +ipset=/fotoiia.com/gfwlist +server=/bmw-routes.com/127.0.0.1#5335 +ipset=/bmw-routes.com/gfwlist +server=/mini-grouparchiv.de/127.0.0.1#5335 +ipset=/mini-grouparchiv.de/gfwlist +server=/microsoft-sap-events.com/127.0.0.1#5335 +ipset=/microsoft-sap-events.com/gfwlist +server=/ebaygroup.com/127.0.0.1#5335 +ipset=/ebaygroup.com/gfwlist +server=/twitchsvc.net/127.0.0.1#5335 +ipset=/twitchsvc.net/gfwlist +server=/cashify.net/127.0.0.1#5335 +ipset=/cashify.net/gfwlist +server=/hpinstantink.com/127.0.0.1#5335 +ipset=/hpinstantink.com/gfwlist +server=/volvotrucks.in/127.0.0.1#5335 +ipset=/volvotrucks.in/gfwlist +server=/sony-asia.com/127.0.0.1#5335 +ipset=/sony-asia.com/gfwlist +server=/intel.bo/127.0.0.1#5335 +ipset=/intel.bo/gfwlist +server=/sony.com.mx/127.0.0.1#5335 +ipset=/sony.com.mx/gfwlist +server=/beatsdrdrekaufenschweiz.net/127.0.0.1#5335 +ipset=/beatsdrdrekaufenschweiz.net/gfwlist +server=/mingpaocanada.com/127.0.0.1#5335 +ipset=/mingpaocanada.com/gfwlist +server=/riotgames.net/127.0.0.1#5335 +ipset=/riotgames.net/gfwlist +server=/rsc.org/127.0.0.1#5335 +ipset=/rsc.org/gfwlist +server=/buyingfacebooklikes.com/127.0.0.1#5335 +ipset=/buyingfacebooklikes.com/gfwlist +server=/intel.pl/127.0.0.1#5335 +ipset=/intel.pl/gfwlist +server=/ministjohns.ca/127.0.0.1#5335 +ipset=/ministjohns.ca/gfwlist +server=/aboutamazon.es/127.0.0.1#5335 +ipset=/aboutamazon.es/gfwlist +server=/entrust.net/127.0.0.1#5335 +ipset=/entrust.net/gfwlist +server=/foxtel.com.au/127.0.0.1#5335 +ipset=/foxtel.com.au/gfwlist +server=/mastercard.nl/127.0.0.1#5335 +ipset=/mastercard.nl/gfwlist +server=/macosx.info/127.0.0.1#5335 +ipset=/macosx.info/gfwlist +server=/coursera.help/127.0.0.1#5335 +ipset=/coursera.help/gfwlist +server=/ebay.es/127.0.0.1#5335 +ipset=/ebay.es/gfwlist +server=/smart-edge.com/127.0.0.1#5335 +ipset=/smart-edge.com/gfwlist +server=/getfedora.org/127.0.0.1#5335 +ipset=/getfedora.org/gfwlist +server=/thecleversense.com/127.0.0.1#5335 +ipset=/thecleversense.com/gfwlist +server=/blizzard.com/127.0.0.1#5335 +ipset=/blizzard.com/gfwlist +server=/cbsivideo.com/127.0.0.1#5335 +ipset=/cbsivideo.com/gfwlist +server=/steambroadcast.akamaized.net/127.0.0.1#5335 +ipset=/steambroadcast.akamaized.net/gfwlist +server=/foxpoker.com/127.0.0.1#5335 +ipset=/foxpoker.com/gfwlist +server=/mac.wang/127.0.0.1#5335 +ipset=/mac.wang/gfwlist +server=/ie9.com/127.0.0.1#5335 +ipset=/ie9.com/gfwlist +server=/businessweek.com/127.0.0.1#5335 +ipset=/businessweek.com/gfwlist +server=/iphone-zh.com/127.0.0.1#5335 +ipset=/iphone-zh.com/gfwlist +server=/iphone-vip5.com/127.0.0.1#5335 +ipset=/iphone-vip5.com/gfwlist +server=/facebook30.org/127.0.0.1#5335 +ipset=/facebook30.org/gfwlist +server=/aliveprofiler.com/127.0.0.1#5335 +ipset=/aliveprofiler.com/gfwlist +server=/1jjdg2.vip/127.0.0.1#5335 +ipset=/1jjdg2.vip/gfwlist +server=/xn--ngstr-lra8j.com/127.0.0.1#5335 +ipset=/xn--ngstr-lra8j.com/gfwlist +server=/minilat.com/127.0.0.1#5335 +ipset=/minilat.com/gfwlist +server=/blogspot.my/127.0.0.1#5335 +ipset=/blogspot.my/gfwlist +server=/movetv.com/127.0.0.1#5335 +ipset=/movetv.com/gfwlist +server=/apkmirror.com/127.0.0.1#5335 +ipset=/apkmirror.com/gfwlist +server=/dungeonkeeper.com/127.0.0.1#5335 +ipset=/dungeonkeeper.com/gfwlist +server=/tidelift.com/127.0.0.1#5335 +ipset=/tidelift.com/gfwlist +server=/pokemonmysterydungeon.com/127.0.0.1#5335 +ipset=/pokemonmysterydungeon.com/gfwlist +server=/youtube.se/127.0.0.1#5335 +ipset=/youtube.se/gfwlist +server=/applepay.co.rs/127.0.0.1#5335 +ipset=/applepay.co.rs/gfwlist +server=/myfoxdetroit.com/127.0.0.1#5335 +ipset=/myfoxdetroit.com/gfwlist +server=/es-visiontimes.com/127.0.0.1#5335 +ipset=/es-visiontimes.com/gfwlist +server=/yahoo.ie/127.0.0.1#5335 +ipset=/yahoo.ie/gfwlist +server=/marioandluigidreamteam.com/127.0.0.1#5335 +ipset=/marioandluigidreamteam.com/gfwlist +server=/hotmonsterbeats.com/127.0.0.1#5335 +ipset=/hotmonsterbeats.com/gfwlist +server=/vhxqa6.com/127.0.0.1#5335 +ipset=/vhxqa6.com/gfwlist +server=/steamusercontent.com/127.0.0.1#5335 +ipset=/steamusercontent.com/gfwlist +server=/crossborderexpansion.com/127.0.0.1#5335 +ipset=/crossborderexpansion.com/gfwlist +server=/wholesale-exporter1.com/127.0.0.1#5335 +ipset=/wholesale-exporter1.com/gfwlist +server=/bmwusrideracademy.com/127.0.0.1#5335 +ipset=/bmwusrideracademy.com/gfwlist +server=/amzn.to/127.0.0.1#5335 +ipset=/amzn.to/gfwlist +server=/ooni.org/127.0.0.1#5335 +ipset=/ooni.org/gfwlist +server=/applemusicconnect.com/127.0.0.1#5335 +ipset=/applemusicconnect.com/gfwlist +server=/imperial.ac.uk/127.0.0.1#5335 +ipset=/imperial.ac.uk/gfwlist +server=/huffpost.com/127.0.0.1#5335 +ipset=/huffpost.com/gfwlist +server=/foxtvdvd.com/127.0.0.1#5335 +ipset=/foxtvdvd.com/gfwlist +server=/fbmessenger.com/127.0.0.1#5335 +ipset=/fbmessenger.com/gfwlist +server=/tracking-location.com/127.0.0.1#5335 +ipset=/tracking-location.com/gfwlist +server=/connectionsacademy.com/127.0.0.1#5335 +ipset=/connectionsacademy.com/gfwlist +server=/foxsuper6.com/127.0.0.1#5335 +ipset=/foxsuper6.com/gfwlist +server=/mini-abudhabi.com/127.0.0.1#5335 +ipset=/mini-abudhabi.com/gfwlist +server=/thedreadwolfrises.com/127.0.0.1#5335 +ipset=/thedreadwolfrises.com/gfwlist +server=/9news.com.au/127.0.0.1#5335 +ipset=/9news.com.au/gfwlist +server=/intgram.com/127.0.0.1#5335 +ipset=/intgram.com/gfwlist +server=/bridgestone-tac-oman.com/127.0.0.1#5335 +ipset=/bridgestone-tac-oman.com/gfwlist +server=/arphic.com.cn/127.0.0.1#5335 +ipset=/arphic.com.cn/gfwlist +server=/nikeshoxsale.com/127.0.0.1#5335 +ipset=/nikeshoxsale.com/gfwlist +server=/ntdimg.com/127.0.0.1#5335 +ipset=/ntdimg.com/gfwlist +server=/bmw.co.cr/127.0.0.1#5335 +ipset=/bmw.co.cr/gfwlist +server=/photoshop.com/127.0.0.1#5335 +ipset=/photoshop.com/gfwlist +server=/visa.com.vi/127.0.0.1#5335 +ipset=/visa.com.vi/gfwlist +server=/xvideos-cdn.com/127.0.0.1#5335 +ipset=/xvideos-cdn.com/gfwlist +server=/nikkei.jp/127.0.0.1#5335 +ipset=/nikkei.jp/gfwlist +server=/rarbgmirror.com/127.0.0.1#5335 +ipset=/rarbgmirror.com/gfwlist +server=/burstly.net/127.0.0.1#5335 +ipset=/burstly.net/gfwlist +server=/hindiweb.com/127.0.0.1#5335 +ipset=/hindiweb.com/gfwlist +server=/1jsa22.vip/127.0.0.1#5335 +ipset=/1jsa22.vip/gfwlist +server=/minivaughanwest.ca/127.0.0.1#5335 +ipset=/minivaughanwest.ca/gfwlist +server=/intelfreepress.com/127.0.0.1#5335 +ipset=/intelfreepress.com/gfwlist +server=/sonypictures.com/127.0.0.1#5335 +ipset=/sonypictures.com/gfwlist +server=/hpsignage.com/127.0.0.1#5335 +ipset=/hpsignage.com/gfwlist +server=/verilystudywatch.com/127.0.0.1#5335 +ipset=/verilystudywatch.com/gfwlist +server=/itcfonts.com/127.0.0.1#5335 +ipset=/itcfonts.com/gfwlist +server=/epochbuy.com/127.0.0.1#5335 +ipset=/epochbuy.com/gfwlist +server=/shopdrebeats.com/127.0.0.1#5335 +ipset=/shopdrebeats.com/gfwlist +server=/instagram-press.net/127.0.0.1#5335 +ipset=/instagram-press.net/gfwlist +server=/ipodshop.com.au/127.0.0.1#5335 +ipset=/ipodshop.com.au/gfwlist +server=/heroku-charge.com/127.0.0.1#5335 +ipset=/heroku-charge.com/gfwlist +server=/uun78.com/127.0.0.1#5335 +ipset=/uun78.com/gfwlist +server=/uug22.com/127.0.0.1#5335 +ipset=/uug22.com/gfwlist +server=/microsoftsqlserver.com/127.0.0.1#5335 +ipset=/microsoftsqlserver.com/gfwlist +server=/bmwgroupclassic.com/127.0.0.1#5335 +ipset=/bmwgroupclassic.com/gfwlist +server=/vmwarehorizon.com/127.0.0.1#5335 +ipset=/vmwarehorizon.com/gfwlist +server=/foxrelease.com/127.0.0.1#5335 +ipset=/foxrelease.com/gfwlist +server=/verisign.pro/127.0.0.1#5335 +ipset=/verisign.pro/gfwlist +server=/foundationdb.org/127.0.0.1#5335 +ipset=/foundationdb.org/gfwlist +server=/amazon.es/127.0.0.1#5335 +ipset=/amazon.es/gfwlist +server=/matters.one/127.0.0.1#5335 +ipset=/matters.one/gfwlist +server=/bstatic.com/127.0.0.1#5335 +ipset=/bstatic.com/gfwlist +server=/startupjournal.com/127.0.0.1#5335 +ipset=/startupjournal.com/gfwlist +server=/volvotrucks.hr/127.0.0.1#5335 +ipset=/volvotrucks.hr/gfwlist +server=/alivevmax.com/127.0.0.1#5335 +ipset=/alivevmax.com/gfwlist +server=/attonlineoffers.com/127.0.0.1#5335 +ipset=/attonlineoffers.com/gfwlist +server=/geeksquad.net/127.0.0.1#5335 +ipset=/geeksquad.net/gfwlist +server=/washingtondcbmw.com/127.0.0.1#5335 +ipset=/washingtondcbmw.com/gfwlist +server=/itunes.org/127.0.0.1#5335 +ipset=/itunes.org/gfwlist +server=/mings.hk/127.0.0.1#5335 +ipset=/mings.hk/gfwlist +server=/mallheadphone.com/127.0.0.1#5335 +ipset=/mallheadphone.com/gfwlist +server=/voaswahili.com/127.0.0.1#5335 +ipset=/voaswahili.com/gfwlist +server=/reachtheworldonfacebook.com/127.0.0.1#5335 +ipset=/reachtheworldonfacebook.com/gfwlist +server=/code.org/127.0.0.1#5335 +ipset=/code.org/gfwlist +server=/pearsonplaces.com.au/127.0.0.1#5335 +ipset=/pearsonplaces.com.au/gfwlist +server=/niketracking.com/127.0.0.1#5335 +ipset=/niketracking.com/gfwlist +server=/paypal-recargacelular.com/127.0.0.1#5335 +ipset=/paypal-recargacelular.com/gfwlist +server=/starwarsfallenorder.com/127.0.0.1#5335 +ipset=/starwarsfallenorder.com/gfwlist +server=/ciscospark.com/127.0.0.1#5335 +ipset=/ciscospark.com/gfwlist +server=/commerceos.com/127.0.0.1#5335 +ipset=/commerceos.com/gfwlist +server=/spotifycodes.com/127.0.0.1#5335 +ipset=/spotifycodes.com/gfwlist +server=/beatsbydredanmarks.com/127.0.0.1#5335 +ipset=/beatsbydredanmarks.com/gfwlist +server=/zeebiz.com/127.0.0.1#5335 +ipset=/zeebiz.com/gfwlist +server=/jwpcdn.com/127.0.0.1#5335 +ipset=/jwpcdn.com/gfwlist +server=/minilondon.ca/127.0.0.1#5335 +ipset=/minilondon.ca/gfwlist +server=/intel.yt/127.0.0.1#5335 +ipset=/intel.yt/gfwlist +server=/disneyplus.com/127.0.0.1#5335 +ipset=/disneyplus.com/gfwlist +server=/google.ms/127.0.0.1#5335 +ipset=/google.ms/gfwlist +server=/nikeairrift.com/127.0.0.1#5335 +ipset=/nikeairrift.com/gfwlist +server=/omekinteractive.com/127.0.0.1#5335 +ipset=/omekinteractive.com/gfwlist +server=/cisco.mobi/127.0.0.1#5335 +ipset=/cisco.mobi/gfwlist +server=/bestbuy.info/127.0.0.1#5335 +ipset=/bestbuy.info/gfwlist +server=/huluaction.com/127.0.0.1#5335 +ipset=/huluaction.com/gfwlist +server=/blogspot.be/127.0.0.1#5335 +ipset=/blogspot.be/gfwlist +server=/beatsdre4cheap.com/127.0.0.1#5335 +ipset=/beatsdre4cheap.com/gfwlist +server=/bmwworld.tv/127.0.0.1#5335 +ipset=/bmwworld.tv/gfwlist +server=/tandfonline.com/127.0.0.1#5335 +ipset=/tandfonline.com/gfwlist +server=/bmw.com.ge/127.0.0.1#5335 +ipset=/bmw.com.ge/gfwlist +server=/youtu.be/127.0.0.1#5335 +ipset=/youtu.be/gfwlist +server=/fox51tns.net/127.0.0.1#5335 +ipset=/fox51tns.net/gfwlist +server=/annualreviews.org/127.0.0.1#5335 +ipset=/annualreviews.org/gfwlist +server=/p16-tiktokcdn-com.akamaized.net/127.0.0.1#5335 +ipset=/p16-tiktokcdn-com.akamaized.net/gfwlist +server=/minishop.ca/127.0.0.1#5335 +ipset=/minishop.ca/gfwlist +server=/healthreach.hk/127.0.0.1#5335 +ipset=/healthreach.hk/gfwlist +server=/gaypad.net/127.0.0.1#5335 +ipset=/gaypad.net/gfwlist +server=/intel.com.py/127.0.0.1#5335 +ipset=/intel.com.py/gfwlist +server=/runnike.com/127.0.0.1#5335 +ipset=/runnike.com/gfwlist +server=/ddg.co/127.0.0.1#5335 +ipset=/ddg.co/gfwlist +server=/foxnebraska.com/127.0.0.1#5335 +ipset=/foxnebraska.com/gfwlist +server=/verisign.com.cn/127.0.0.1#5335 +ipset=/verisign.com.cn/gfwlist +server=/gridaware.app/127.0.0.1#5335 +ipset=/gridaware.app/gfwlist +server=/myebay.com/127.0.0.1#5335 +ipset=/myebay.com/gfwlist +server=/pokemonsunmoon.com/127.0.0.1#5335 +ipset=/pokemonsunmoon.com/gfwlist +server=/unrealengine.com/127.0.0.1#5335 +ipset=/unrealengine.com/gfwlist +server=/halfcanada.com/127.0.0.1#5335 +ipset=/halfcanada.com/gfwlist +server=/ebayboutique.com/127.0.0.1#5335 +ipset=/ebayboutique.com/gfwlist +server=/geeksquadprotectionplan.org/127.0.0.1#5335 +ipset=/geeksquadprotectionplan.org/gfwlist +server=/git-scm.com/127.0.0.1#5335 +ipset=/git-scm.com/gfwlist +server=/adobexdplatform.com/127.0.0.1#5335 +ipset=/adobexdplatform.com/gfwlist +server=/hbonow.com/127.0.0.1#5335 +ipset=/hbonow.com/gfwlist +server=/bmw-connecteddrive.gr/127.0.0.1#5335 +ipset=/bmw-connecteddrive.gr/gfwlist +server=/thomsonreuters.com.sg/127.0.0.1#5335 +ipset=/thomsonreuters.com.sg/gfwlist +server=/pinterest.es/127.0.0.1#5335 +ipset=/pinterest.es/gfwlist +server=/forbesimg.com/127.0.0.1#5335 +ipset=/forbesimg.com/gfwlist +server=/mtt.org/127.0.0.1#5335 +ipset=/mtt.org/gfwlist +server=/instagramhilesi.org/127.0.0.1#5335 +ipset=/instagramhilesi.org/gfwlist +server=/gettyimages.ch/127.0.0.1#5335 +ipset=/gettyimages.ch/gfwlist +server=/hkbn.net/127.0.0.1#5335 +ipset=/hkbn.net/gfwlist +server=/sony.com.ni/127.0.0.1#5335 +ipset=/sony.com.ni/gfwlist +server=/appdynamics.info/127.0.0.1#5335 +ipset=/appdynamics.info/gfwlist +server=/begin-trade.com/127.0.0.1#5335 +ipset=/begin-trade.com/gfwlist +server=/chargenowusa.com/127.0.0.1#5335 +ipset=/chargenowusa.com/gfwlist +server=/strepsils.com.ar/127.0.0.1#5335 +ipset=/strepsils.com.ar/gfwlist +server=/amazon-fashions.com/127.0.0.1#5335 +ipset=/amazon-fashions.com/gfwlist +server=/verizon.com/127.0.0.1#5335 +ipset=/verizon.com/gfwlist +server=/researchgate.net/127.0.0.1#5335 +ipset=/researchgate.net/gfwlist +server=/monsterbeatsheadphones.net/127.0.0.1#5335 +ipset=/monsterbeatsheadphones.net/gfwlist +server=/iphoto.eu/127.0.0.1#5335 +ipset=/iphoto.eu/gfwlist +server=/facebookpmdcenter.com/127.0.0.1#5335 +ipset=/facebookpmdcenter.com/gfwlist +server=/miniso-bh.com/127.0.0.1#5335 +ipset=/miniso-bh.com/gfwlist +server=/mybeatsbydreuk.com/127.0.0.1#5335 +ipset=/mybeatsbydreuk.com/gfwlist +server=/datalore.io/127.0.0.1#5335 +ipset=/datalore.io/gfwlist +server=/thefacebook.com/127.0.0.1#5335 +ipset=/thefacebook.com/gfwlist +server=/imageworks.com/127.0.0.1#5335 +ipset=/imageworks.com/gfwlist +server=/privatebrowsingmyths.com/127.0.0.1#5335 +ipset=/privatebrowsingmyths.com/gfwlist +server=/alibabacloud.com.au/127.0.0.1#5335 +ipset=/alibabacloud.com.au/gfwlist +server=/mybeatscheapbydre.com/127.0.0.1#5335 +ipset=/mybeatscheapbydre.com/gfwlist +server=/kopfhorergunstigshop.com/127.0.0.1#5335 +ipset=/kopfhorergunstigshop.com/gfwlist +server=/bestbuyforbusiness.ca/127.0.0.1#5335 +ipset=/bestbuyforbusiness.ca/gfwlist +server=/intel.sv/127.0.0.1#5335 +ipset=/intel.sv/gfwlist +server=/hpeclipse.com/127.0.0.1#5335 +ipset=/hpeclipse.com/gfwlist +server=/nowe.hk/127.0.0.1#5335 +ipset=/nowe.hk/gfwlist +server=/dowjones.com/127.0.0.1#5335 +ipset=/dowjones.com/gfwlist +server=/elib.maruzen.co.jp/127.0.0.1#5335 +ipset=/elib.maruzen.co.jp/gfwlist +server=/ieeesystemscouncil.org/127.0.0.1#5335 +ipset=/ieeesystemscouncil.org/gfwlist +server=/yahoo.cd/127.0.0.1#5335 +ipset=/yahoo.cd/gfwlist +server=/nikeasia.com/127.0.0.1#5335 +ipset=/nikeasia.com/gfwlist +server=/zeetv.co.uk/127.0.0.1#5335 +ipset=/zeetv.co.uk/gfwlist +server=/9cdn.net/127.0.0.1#5335 +ipset=/9cdn.net/gfwlist +server=/20thcenturystudios.com.au/127.0.0.1#5335 +ipset=/20thcenturystudios.com.au/gfwlist +server=/nike.com/127.0.0.1#5335 +ipset=/nike.com/gfwlist +server=/minilangley.ca/127.0.0.1#5335 +ipset=/minilangley.ca/gfwlist +server=/rthk.hk/127.0.0.1#5335 +ipset=/rthk.hk/gfwlist +server=/monsterbeatsru.com/127.0.0.1#5335 +ipset=/monsterbeatsru.com/gfwlist +server=/finishinfo.be/127.0.0.1#5335 +ipset=/finishinfo.be/gfwlist +server=/facebvook.com/127.0.0.1#5335 +ipset=/facebvook.com/gfwlist +server=/drbeatsukmart.com/127.0.0.1#5335 +ipset=/drbeatsukmart.com/gfwlist +server=/spaceexplored.com/127.0.0.1#5335 +ipset=/spaceexplored.com/gfwlist +server=/powershellgallery.com/127.0.0.1#5335 +ipset=/powershellgallery.com/gfwlist +server=/bmw-lao.la/127.0.0.1#5335 +ipset=/bmw-lao.la/gfwlist +server=/highbolt.net/127.0.0.1#5335 +ipset=/highbolt.net/gfwlist +server=/movidius.net/127.0.0.1#5335 +ipset=/movidius.net/gfwlist +server=/firestonerewards.com/127.0.0.1#5335 +ipset=/firestonerewards.com/gfwlist +server=/wirelessreach.com/127.0.0.1#5335 +ipset=/wirelessreach.com/gfwlist +server=/ibookpartner.com/127.0.0.1#5335 +ipset=/ibookpartner.com/gfwlist +server=/fox29.com/127.0.0.1#5335 +ipset=/fox29.com/gfwlist +server=/mini-connected.pt/127.0.0.1#5335 +ipset=/mini-connected.pt/gfwlist +server=/blubrry.com/127.0.0.1#5335 +ipset=/blubrry.com/gfwlist +server=/minitoronto.ca/127.0.0.1#5335 +ipset=/minitoronto.ca/gfwlist +server=/53world.com/127.0.0.1#5335 +ipset=/53world.com/gfwlist +server=/beatsbydrecybermondaydeals2013.com/127.0.0.1#5335 +ipset=/beatsbydrecybermondaydeals2013.com/gfwlist +server=/uun85.com/127.0.0.1#5335 +ipset=/uun85.com/gfwlist +server=/akam.net/127.0.0.1#5335 +ipset=/akam.net/gfwlist +server=/bmw-me.com/127.0.0.1#5335 +ipset=/bmw-me.com/gfwlist +server=/dtsell.com/127.0.0.1#5335 +ipset=/dtsell.com/gfwlist +server=/bcbits.com/127.0.0.1#5335 +ipset=/bcbits.com/gfwlist +server=/paypal-online.net/127.0.0.1#5335 +ipset=/paypal-online.net/gfwlist +server=/nikefreeshoes.com/127.0.0.1#5335 +ipset=/nikefreeshoes.com/gfwlist +server=/cashpassportglobe.com/127.0.0.1#5335 +ipset=/cashpassportglobe.com/gfwlist +server=/globalsign.fr/127.0.0.1#5335 +ipset=/globalsign.fr/gfwlist +server=/sony.fi/127.0.0.1#5335 +ipset=/sony.fi/gfwlist +server=/origin-a.akamaihd.net/127.0.0.1#5335 +ipset=/origin-a.akamaihd.net/gfwlist +server=/sneakerskick.com/127.0.0.1#5335 +ipset=/sneakerskick.com/gfwlist +server=/appdynamics.org/127.0.0.1#5335 +ipset=/appdynamics.org/gfwlist +server=/alfera.in/127.0.0.1#5335 +ipset=/alfera.in/gfwlist +server=/intel.ru/127.0.0.1#5335 +ipset=/intel.ru/gfwlist +server=/bmwgroupinfobahn.com/127.0.0.1#5335 +ipset=/bmwgroupinfobahn.com/gfwlist +server=/minitakesthestates.com/127.0.0.1#5335 +ipset=/minitakesthestates.com/gfwlist +server=/product.co.jp/127.0.0.1#5335 +ipset=/product.co.jp/gfwlist +server=/bidvestbank.co.za/127.0.0.1#5335 +ipset=/bidvestbank.co.za/gfwlist +server=/pearson.co.jp/127.0.0.1#5335 +ipset=/pearson.co.jp/gfwlist +server=/foxsmallbusinesscenter.net/127.0.0.1#5335 +ipset=/foxsmallbusinesscenter.net/gfwlist +server=/elrepo.org/127.0.0.1#5335 +ipset=/elrepo.org/gfwlist +server=/vanish.ru/127.0.0.1#5335 +ipset=/vanish.ru/gfwlist +server=/wsj.jobs/127.0.0.1#5335 +ipset=/wsj.jobs/gfwlist +server=/facebok.com/127.0.0.1#5335 +ipset=/facebok.com/gfwlist +server=/travelex.ca/127.0.0.1#5335 +ipset=/travelex.ca/gfwlist +server=/mastercard.se/127.0.0.1#5335 +ipset=/mastercard.se/gfwlist +server=/photolia.net/127.0.0.1#5335 +ipset=/photolia.net/gfwlist +server=/intel.cr/127.0.0.1#5335 +ipset=/intel.cr/gfwlist +server=/marketo.com/127.0.0.1#5335 +ipset=/marketo.com/gfwlist +server=/vercel.app/127.0.0.1#5335 +ipset=/vercel.app/gfwlist +server=/medrxiv.org/127.0.0.1#5335 +ipset=/medrxiv.org/gfwlist +server=/volvotrucks.com.au/127.0.0.1#5335 +ipset=/volvotrucks.com.au/gfwlist +server=/pearsonclinical.com.au/127.0.0.1#5335 +ipset=/pearsonclinical.com.au/gfwlist +server=/pm.me/127.0.0.1#5335 +ipset=/pm.me/gfwlist +server=/liveauction.com/127.0.0.1#5335 +ipset=/liveauction.com/gfwlist +server=/d1k2us671qcoau.cloudfront.net/127.0.0.1#5335 +ipset=/d1k2us671qcoau.cloudfront.net/gfwlist +server=/hplargeformatremote.com/127.0.0.1#5335 +ipset=/hplargeformatremote.com/gfwlist +server=/ccpsx.com/127.0.0.1#5335 +ipset=/ccpsx.com/gfwlist +server=/timesmembership.com/127.0.0.1#5335 +ipset=/timesmembership.com/gfwlist +server=/issquaredown.com/127.0.0.1#5335 +ipset=/issquaredown.com/gfwlist +server=/nvidia.ch/127.0.0.1#5335 +ipset=/nvidia.ch/gfwlist +server=/sonyclassics.com/127.0.0.1#5335 +ipset=/sonyclassics.com/gfwlist +server=/shopbmwmotorcycles.com/127.0.0.1#5335 +ipset=/shopbmwmotorcycles.com/gfwlist +server=/canon.tj/127.0.0.1#5335 +ipset=/canon.tj/gfwlist +server=/googl.com/127.0.0.1#5335 +ipset=/googl.com/gfwlist +server=/rfa.org/127.0.0.1#5335 +ipset=/rfa.org/gfwlist +server=/intel.ac/127.0.0.1#5335 +ipset=/intel.ac/gfwlist +server=/interactive-examples.mdn.mozilla.net/127.0.0.1#5335 +ipset=/interactive-examples.mdn.mozilla.net/gfwlist +server=/mucinex.com.cn/127.0.0.1#5335 +ipset=/mucinex.com.cn/gfwlist +server=/bestbeats4u.com/127.0.0.1#5335 +ipset=/bestbeats4u.com/gfwlist +server=/intel.fr/127.0.0.1#5335 +ipset=/intel.fr/gfwlist +server=/imonsterbeats.com/127.0.0.1#5335 +ipset=/imonsterbeats.com/gfwlist +server=/google.me/127.0.0.1#5335 +ipset=/google.me/gfwlist +server=/gamepedia.com/127.0.0.1#5335 +ipset=/gamepedia.com/gfwlist +server=/youtube.uy/127.0.0.1#5335 +ipset=/youtube.uy/gfwlist +server=/youtube.com.ar/127.0.0.1#5335 +ipset=/youtube.com.ar/gfwlist +server=/billpoint.com/127.0.0.1#5335 +ipset=/billpoint.com/gfwlist +server=/q13fox.com/127.0.0.1#5335 +ipset=/q13fox.com/gfwlist +server=/bmwmotorcycles.com/127.0.0.1#5335 +ipset=/bmwmotorcycles.com/gfwlist +server=/vk.me/127.0.0.1#5335 +ipset=/vk.me/gfwlist +server=/fluidpreview.com/127.0.0.1#5335 +ipset=/fluidpreview.com/gfwlist +server=/ioe.com/127.0.0.1#5335 +ipset=/ioe.com/gfwlist +server=/vercel.com/127.0.0.1#5335 +ipset=/vercel.com/gfwlist +server=/pccwglobal.com/127.0.0.1#5335 +ipset=/pccwglobal.com/gfwlist +server=/carbon.com/127.0.0.1#5335 +ipset=/carbon.com/gfwlist +server=/ieee.org/127.0.0.1#5335 +ipset=/ieee.org/gfwlist +server=/faceboooik.com/127.0.0.1#5335 +ipset=/faceboooik.com/gfwlist +server=/visa.com.pe/127.0.0.1#5335 +ipset=/visa.com.pe/gfwlist +server=/nurofen.ru/127.0.0.1#5335 +ipset=/nurofen.ru/gfwlist +server=/headphonepubs.com/127.0.0.1#5335 +ipset=/headphonepubs.com/gfwlist +server=/shoestop2.com/127.0.0.1#5335 +ipset=/shoestop2.com/gfwlist +server=/bmw-security-vehicles.com/127.0.0.1#5335 +ipset=/bmw-security-vehicles.com/gfwlist +server=/conquerwithcharacter.com/127.0.0.1#5335 +ipset=/conquerwithcharacter.com/gfwlist +server=/applepaymerchantsupplies.info/127.0.0.1#5335 +ipset=/applepaymerchantsupplies.info/gfwlist +server=/applecare.berlin/127.0.0.1#5335 +ipset=/applecare.berlin/gfwlist +server=/nexttv.com.tw/127.0.0.1#5335 +ipset=/nexttv.com.tw/gfwlist +server=/vmwarelearning.com/127.0.0.1#5335 +ipset=/vmwarelearning.com/gfwlist +server=/drebyby.com/127.0.0.1#5335 +ipset=/drebyby.com/gfwlist +server=/mini-corporate-sales.com/127.0.0.1#5335 +ipset=/mini-corporate-sales.com/gfwlist +server=/intelsoftwarenetwork.com/127.0.0.1#5335 +ipset=/intelsoftwarenetwork.com/gfwlist +server=/highdefinitionbeatsbydre.com/127.0.0.1#5335 +ipset=/highdefinitionbeatsbydre.com/gfwlist +server=/canon.it/127.0.0.1#5335 +ipset=/canon.it/gfwlist +server=/momo.dm/127.0.0.1#5335 +ipset=/momo.dm/gfwlist +server=/attwirelesssolutions.com/127.0.0.1#5335 +ipset=/attwirelesssolutions.com/gfwlist +server=/zee.com/127.0.0.1#5335 +ipset=/zee.com/gfwlist +server=/factwire.org/127.0.0.1#5335 +ipset=/factwire.org/gfwlist +server=/tx.me/127.0.0.1#5335 +ipset=/tx.me/gfwlist +server=/facebookappcenter.info/127.0.0.1#5335 +ipset=/facebookappcenter.info/gfwlist +server=/o365weve.com/127.0.0.1#5335 +ipset=/o365weve.com/gfwlist +server=/qctconnect.com/127.0.0.1#5335 +ipset=/qctconnect.com/gfwlist +server=/facebooklikeexchange.com/127.0.0.1#5335 +ipset=/facebooklikeexchange.com/gfwlist +server=/payppal.com/127.0.0.1#5335 +ipset=/payppal.com/gfwlist +server=/aboutamazon.com.au/127.0.0.1#5335 +ipset=/aboutamazon.com.au/gfwlist +server=/wballiance.com/127.0.0.1#5335 +ipset=/wballiance.com/gfwlist +server=/volvopenta.us/127.0.0.1#5335 +ipset=/volvopenta.us/gfwlist +server=/myfoxmaine.com/127.0.0.1#5335 +ipset=/myfoxmaine.com/gfwlist +server=/mailonline.co.uk/127.0.0.1#5335 +ipset=/mailonline.co.uk/gfwlist +server=/duckduckco.de/127.0.0.1#5335 +ipset=/duckduckco.de/gfwlist +server=/xposed.info/127.0.0.1#5335 +ipset=/xposed.info/gfwlist +server=/pearson.com/127.0.0.1#5335 +ipset=/pearson.com/gfwlist +server=/gofundme.com/127.0.0.1#5335 +ipset=/gofundme.com/gfwlist +server=/apple.cm/127.0.0.1#5335 +ipset=/apple.cm/gfwlist +server=/nurofen.com/127.0.0.1#5335 +ipset=/nurofen.com/gfwlist +server=/githubstatus.com/127.0.0.1#5335 +ipset=/githubstatus.com/gfwlist +server=/visacarddesignlab.com/127.0.0.1#5335 +ipset=/visacarddesignlab.com/gfwlist +server=/bmwiventures.com/127.0.0.1#5335 +ipset=/bmwiventures.com/gfwlist +server=/v-has.com/127.0.0.1#5335 +ipset=/v-has.com/gfwlist +server=/documentforce.com/127.0.0.1#5335 +ipset=/documentforce.com/gfwlist +server=/bmw-motorrad-service-inclusive.com/127.0.0.1#5335 +ipset=/bmw-motorrad-service-inclusive.com/gfwlist +server=/ebay-course.com/127.0.0.1#5335 +ipset=/ebay-course.com/gfwlist +server=/bingsandbox.com/127.0.0.1#5335 +ipset=/bingsandbox.com/gfwlist +server=/inteltechnologyprovider.com/127.0.0.1#5335 +ipset=/inteltechnologyprovider.com/gfwlist +server=/youtube.ro/127.0.0.1#5335 +ipset=/youtube.ro/gfwlist +server=/imac-applecomputer.com/127.0.0.1#5335 +ipset=/imac-applecomputer.com/gfwlist +server=/bridgestonecomercial.co.cr/127.0.0.1#5335 +ipset=/bridgestonecomercial.co.cr/gfwlist +server=/hpsmart.com/127.0.0.1#5335 +ipset=/hpsmart.com/gfwlist +server=/canon.si/127.0.0.1#5335 +ipset=/canon.si/gfwlist +server=/farfetch-contents.com/127.0.0.1#5335 +ipset=/farfetch-contents.com/gfwlist +server=/40shopping.com/127.0.0.1#5335 +ipset=/40shopping.com/gfwlist +server=/businessinsider.es/127.0.0.1#5335 +ipset=/businessinsider.es/gfwlist +server=/thomsonreuters.ru/127.0.0.1#5335 +ipset=/thomsonreuters.ru/gfwlist +server=/marketing-nirvana.com/127.0.0.1#5335 +ipset=/marketing-nirvana.com/gfwlist +server=/pearsonenespanol.com/127.0.0.1#5335 +ipset=/pearsonenespanol.com/gfwlist +server=/dropboxinsiders.com/127.0.0.1#5335 +ipset=/dropboxinsiders.com/gfwlist +server=/visa.com.ai/127.0.0.1#5335 +ipset=/visa.com.ai/gfwlist +server=/nytimes.com/127.0.0.1#5335 +ipset=/nytimes.com/gfwlist +server=/ebay.nl/127.0.0.1#5335 +ipset=/ebay.nl/gfwlist +server=/mastercard.com.bz/127.0.0.1#5335 +ipset=/mastercard.com.bz/gfwlist +server=/visa.com.ng/127.0.0.1#5335 +ipset=/visa.com.ng/gfwlist +server=/blogspot.si/127.0.0.1#5335 +ipset=/blogspot.si/gfwlist +server=/qualcomm.com.br/127.0.0.1#5335 +ipset=/qualcomm.com.br/gfwlist +server=/vmware.tt.omtrdc.net/127.0.0.1#5335 +ipset=/vmware.tt.omtrdc.net/gfwlist +server=/softether.org/127.0.0.1#5335 +ipset=/softether.org/gfwlist +server=/visa.com.pr/127.0.0.1#5335 +ipset=/visa.com.pr/gfwlist +server=/pinterest.cl/127.0.0.1#5335 +ipset=/pinterest.cl/gfwlist +server=/litbus-anime.com/127.0.0.1#5335 +ipset=/litbus-anime.com/gfwlist +server=/hoolu.tv/127.0.0.1#5335 +ipset=/hoolu.tv/gfwlist +server=/directvplans.com/127.0.0.1#5335 +ipset=/directvplans.com/gfwlist +server=/whatsapp-plus.net/127.0.0.1#5335 +ipset=/whatsapp-plus.net/gfwlist +server=/beatsbydreoslo.com/127.0.0.1#5335 +ipset=/beatsbydreoslo.com/gfwlist +server=/visa.cz/127.0.0.1#5335 +ipset=/visa.cz/gfwlist +server=/yahoo.me/127.0.0.1#5335 +ipset=/yahoo.me/gfwlist +server=/electronicarts.com/127.0.0.1#5335 +ipset=/electronicarts.com/gfwlist +server=/monsterdrebeats-canada.net/127.0.0.1#5335 +ipset=/monsterdrebeats-canada.net/gfwlist +server=/azurecosmosdb.info/127.0.0.1#5335 +ipset=/azurecosmosdb.info/gfwlist +server=/scholar.google.com.tw/127.0.0.1#5335 +ipset=/scholar.google.com.tw/gfwlist +server=/google.cg/127.0.0.1#5335 +ipset=/google.cg/gfwlist +server=/videojs.com/127.0.0.1#5335 +ipset=/videojs.com/gfwlist +server=/jgg18.xyz/127.0.0.1#5335 +ipset=/jgg18.xyz/gfwlist +server=/appsto.re/127.0.0.1#5335 +ipset=/appsto.re/gfwlist +server=/visa.com.kz/127.0.0.1#5335 +ipset=/visa.com.kz/gfwlist +server=/forthebadge.com/127.0.0.1#5335 +ipset=/forthebadge.com/gfwlist +server=/rfi.fr/127.0.0.1#5335 +ipset=/rfi.fr/gfwlist +server=/thunderbird.net/127.0.0.1#5335 +ipset=/thunderbird.net/gfwlist +server=/youtube.lu/127.0.0.1#5335 +ipset=/youtube.lu/gfwlist +server=/cloudflarebolt.com/127.0.0.1#5335 +ipset=/cloudflarebolt.com/gfwlist +server=/cencoastbmw.com/127.0.0.1#5335 +ipset=/cencoastbmw.com/gfwlist +server=/applecomputer.kr/127.0.0.1#5335 +ipset=/applecomputer.kr/gfwlist +server=/akamaietpphishingtest.com/127.0.0.1#5335 +ipset=/akamaietpphishingtest.com/gfwlist +server=/appdynamics.de/127.0.0.1#5335 +ipset=/appdynamics.de/gfwlist +server=/erlang.org/127.0.0.1#5335 +ipset=/erlang.org/gfwlist +server=/mastercard.om/127.0.0.1#5335 +ipset=/mastercard.om/gfwlist +server=/sonybsc.com/127.0.0.1#5335 +ipset=/sonybsc.com/gfwlist +server=/businessinsider.com.au/127.0.0.1#5335 +ipset=/businessinsider.com.au/gfwlist +server=/nikeinc.com/127.0.0.1#5335 +ipset=/nikeinc.com/gfwlist +server=/whychoosevmwareeuc.com/127.0.0.1#5335 +ipset=/whychoosevmwareeuc.com/gfwlist +server=/playshowtv.com/127.0.0.1#5335 +ipset=/playshowtv.com/gfwlist +server=/facebookpoker.info/127.0.0.1#5335 +ipset=/facebookpoker.info/gfwlist +server=/microsoft.lv/127.0.0.1#5335 +ipset=/microsoft.lv/gfwlist +server=/dazn.com/127.0.0.1#5335 +ipset=/dazn.com/gfwlist +server=/pearsonclinical.es/127.0.0.1#5335 +ipset=/pearsonclinical.es/gfwlist +server=/sony.lu/127.0.0.1#5335 +ipset=/sony.lu/gfwlist +server=/sinchew.my/127.0.0.1#5335 +ipset=/sinchew.my/gfwlist +server=/mastercard.com.hk/127.0.0.1#5335 +ipset=/mastercard.com.hk/gfwlist +server=/monsterbeatsale.com/127.0.0.1#5335 +ipset=/monsterbeatsale.com/gfwlist +server=/ebaysohos.com/127.0.0.1#5335 +ipset=/ebaysohos.com/gfwlist +server=/lge.com/127.0.0.1#5335 +ipset=/lge.com/gfwlist +server=/faceboonk.com/127.0.0.1#5335 +ipset=/faceboonk.com/gfwlist +server=/asp-cc.com/127.0.0.1#5335 +ipset=/asp-cc.com/gfwlist +server=/volvotrucks.com.bn/127.0.0.1#5335 +ipset=/volvotrucks.com.bn/gfwlist +server=/dartlang.org/127.0.0.1#5335 +ipset=/dartlang.org/gfwlist +server=/twister.net.co/127.0.0.1#5335 +ipset=/twister.net.co/gfwlist +server=/visa.com.bo/127.0.0.1#5335 +ipset=/visa.com.bo/gfwlist +server=/qualcommhalo.com/127.0.0.1#5335 +ipset=/qualcommhalo.com/gfwlist +server=/fundaiphone5s.com/127.0.0.1#5335 +ipset=/fundaiphone5s.com/gfwlist +server=/visaeurope.at/127.0.0.1#5335 +ipset=/visaeurope.at/gfwlist +server=/discord.gift/127.0.0.1#5335 +ipset=/discord.gift/gfwlist +server=/bmw-motorrad.ma/127.0.0.1#5335 +ipset=/bmw-motorrad.ma/gfwlist +server=/strepsilsarabia.com/127.0.0.1#5335 +ipset=/strepsilsarabia.com/gfwlist +server=/dealtime.com/127.0.0.1#5335 +ipset=/dealtime.com/gfwlist +server=/mac.com.au/127.0.0.1#5335 +ipset=/mac.com.au/gfwlist +server=/xn--yf1at58a.com/127.0.0.1#5335 +ipset=/xn--yf1at58a.com/gfwlist +server=/macruby.org/127.0.0.1#5335 +ipset=/macruby.org/gfwlist +server=/fortawesome.com/127.0.0.1#5335 +ipset=/fortawesome.com/gfwlist +server=/icloudads.net/127.0.0.1#5335 +ipset=/icloudads.net/gfwlist +server=/bmw.com.ve/127.0.0.1#5335 +ipset=/bmw.com.ve/gfwlist +server=/airwick.com.au/127.0.0.1#5335 +ipset=/airwick.com.au/gfwlist +server=/amazonlumberyard.wang/127.0.0.1#5335 +ipset=/amazonlumberyard.wang/gfwlist +server=/javynow.com/127.0.0.1#5335 +ipset=/javynow.com/gfwlist +server=/headphonesbeatsbydre.com/127.0.0.1#5335 +ipset=/headphonesbeatsbydre.com/gfwlist +server=/dronedj.com/127.0.0.1#5335 +ipset=/dronedj.com/gfwlist +server=/inclusivegrowthscore.com/127.0.0.1#5335 +ipset=/inclusivegrowthscore.com/gfwlist +server=/speedfantasybid.com/127.0.0.1#5335 +ipset=/speedfantasybid.com/gfwlist +server=/enfamil.ca/127.0.0.1#5335 +ipset=/enfamil.ca/gfwlist +server=/tumblr.com/127.0.0.1#5335 +ipset=/tumblr.com/gfwlist +server=/msnewskids.com/127.0.0.1#5335 +ipset=/msnewskids.com/gfwlist +server=/bmw-businessdrive.com/127.0.0.1#5335 +ipset=/bmw-businessdrive.com/gfwlist +server=/cybertrust.ne.jp/127.0.0.1#5335 +ipset=/cybertrust.ne.jp/gfwlist +server=/azurecosmosdb.net/127.0.0.1#5335 +ipset=/azurecosmosdb.net/gfwlist +server=/farfetch-apps.com/127.0.0.1#5335 +ipset=/farfetch-apps.com/gfwlist +server=/fstopimages.com/127.0.0.1#5335 +ipset=/fstopimages.com/gfwlist +server=/ibm.us/127.0.0.1#5335 +ipset=/ibm.us/gfwlist +server=/camelotherald.net/127.0.0.1#5335 +ipset=/camelotherald.net/gfwlist +server=/dropboxstatic.com/127.0.0.1#5335 +ipset=/dropboxstatic.com/gfwlist +server=/corepublishingsolutions.com/127.0.0.1#5335 +ipset=/corepublishingsolutions.com/gfwlist +server=/abematv.akamaized.net/127.0.0.1#5335 +ipset=/abematv.akamaized.net/gfwlist +server=/buycheapbeatsbydreshop.com/127.0.0.1#5335 +ipset=/buycheapbeatsbydreshop.com/gfwlist +server=/ebay-online.com/127.0.0.1#5335 +ipset=/ebay-online.com/gfwlist +server=/appla.com/127.0.0.1#5335 +ipset=/appla.com/gfwlist +server=/mcdonaldsparties.com.au/127.0.0.1#5335 +ipset=/mcdonaldsparties.com.au/gfwlist +server=/www.sb/127.0.0.1#5335 +ipset=/www.sb/gfwlist +server=/ieee-tems.org/127.0.0.1#5335 +ipset=/ieee-tems.org/gfwlist +server=/devopsms.com/127.0.0.1#5335 +ipset=/devopsms.com/gfwlist +server=/nomadlandmovie.ch/127.0.0.1#5335 +ipset=/nomadlandmovie.ch/gfwlist +server=/applemusic.co/127.0.0.1#5335 +ipset=/applemusic.co/gfwlist +server=/ieee.tv/127.0.0.1#5335 +ipset=/ieee.tv/gfwlist +server=/dettol.ch/127.0.0.1#5335 +ipset=/dettol.ch/gfwlist +server=/un.org/127.0.0.1#5335 +ipset=/un.org/gfwlist +server=/beatsbydrehd.net/127.0.0.1#5335 +ipset=/beatsbydrehd.net/gfwlist +server=/itunesmatch.com/127.0.0.1#5335 +ipset=/itunesmatch.com/gfwlist +server=/famima.vn/127.0.0.1#5335 +ipset=/famima.vn/gfwlist +server=/office365love.com/127.0.0.1#5335 +ipset=/office365love.com/gfwlist +server=/fox5dc.com/127.0.0.1#5335 +ipset=/fox5dc.com/gfwlist +server=/pubmatic.co.jp/127.0.0.1#5335 +ipset=/pubmatic.co.jp/gfwlist +server=/beatsbydrdredanmark.com/127.0.0.1#5335 +ipset=/beatsbydrdredanmark.com/gfwlist +server=/crossfitfirestone.com/127.0.0.1#5335 +ipset=/crossfitfirestone.com/gfwlist +server=/intel.fi/127.0.0.1#5335 +ipset=/intel.fi/gfwlist +server=/appdynamics.com/127.0.0.1#5335 +ipset=/appdynamics.com/gfwlist +server=/youtube.co.ke/127.0.0.1#5335 +ipset=/youtube.co.ke/gfwlist +server=/paypalinc.com/127.0.0.1#5335 +ipset=/paypalinc.com/gfwlist +server=/google.cz/127.0.0.1#5335 +ipset=/google.cz/gfwlist +server=/cheapbeats4sale.net/127.0.0.1#5335 +ipset=/cheapbeats4sale.net/gfwlist +server=/j2objc.org/127.0.0.1#5335 +ipset=/j2objc.org/gfwlist +server=/mastercard.ae/127.0.0.1#5335 +ipset=/mastercard.ae/gfwlist +server=/beatsshop-usa.com/127.0.0.1#5335 +ipset=/beatsshop-usa.com/gfwlist +server=/mcd.com/127.0.0.1#5335 +ipset=/mcd.com/gfwlist +server=/enfagrow.co.in/127.0.0.1#5335 +ipset=/enfagrow.co.in/gfwlist +server=/greenend.org.uk/127.0.0.1#5335 +ipset=/greenend.org.uk/gfwlist +server=/applestore.com.ph/127.0.0.1#5335 +ipset=/applestore.com.ph/gfwlist +server=/sway.com/127.0.0.1#5335 +ipset=/sway.com/gfwlist +server=/applescript.info/127.0.0.1#5335 +ipset=/applescript.info/gfwlist +server=/disney.nl/127.0.0.1#5335 +ipset=/disney.nl/gfwlist +server=/polymer-project.org/127.0.0.1#5335 +ipset=/polymer-project.org/gfwlist +server=/itunesradio.com/127.0.0.1#5335 +ipset=/itunesradio.com/gfwlist +server=/bbcfmt.s.llnwi.net/127.0.0.1#5335 +ipset=/bbcfmt.s.llnwi.net/gfwlist +server=/kingkongapp.com/127.0.0.1#5335 +ipset=/kingkongapp.com/gfwlist +server=/wsjplus.com/127.0.0.1#5335 +ipset=/wsjplus.com/gfwlist +server=/bmw-connecteddrive.cz/127.0.0.1#5335 +ipset=/bmw-connecteddrive.cz/gfwlist +server=/webmproject.org/127.0.0.1#5335 +ipset=/webmproject.org/gfwlist +server=/hayabusa.io/127.0.0.1#5335 +ipset=/hayabusa.io/gfwlist +server=/frontiersin.org/127.0.0.1#5335 +ipset=/frontiersin.org/gfwlist +server=/visa.co.ke/127.0.0.1#5335 +ipset=/visa.co.ke/gfwlist +server=/yahoo.no/127.0.0.1#5335 +ipset=/yahoo.no/gfwlist +server=/intelstore.com/127.0.0.1#5335 +ipset=/intelstore.com/gfwlist +server=/microsoft.ru/127.0.0.1#5335 +ipset=/microsoft.ru/gfwlist +server=/ipad.wang/127.0.0.1#5335 +ipset=/ipad.wang/gfwlist +server=/coursera.org/127.0.0.1#5335 +ipset=/coursera.org/gfwlist +server=/coupangcdn.com/127.0.0.1#5335 +ipset=/coupangcdn.com/gfwlist +server=/stackoverflow.com/127.0.0.1#5335 +ipset=/stackoverflow.com/gfwlist +server=/alphera.in/127.0.0.1#5335 +ipset=/alphera.in/gfwlist +server=/minimarkham.ca/127.0.0.1#5335 +ipset=/minimarkham.ca/gfwlist +server=/scholar.google.ca/127.0.0.1#5335 +ipset=/scholar.google.ca/gfwlist +server=/volvotrucks.jp/127.0.0.1#5335 +ipset=/volvotrucks.jp/gfwlist +server=/initproducts.com/127.0.0.1#5335 +ipset=/initproducts.com/gfwlist +server=/canon.az/127.0.0.1#5335 +ipset=/canon.az/gfwlist +server=/wish.com/127.0.0.1#5335 +ipset=/wish.com/gfwlist +server=/alpherafs.com.hk/127.0.0.1#5335 +ipset=/alpherafs.com.hk/gfwlist +server=/visualstudio-staging.com/127.0.0.1#5335 +ipset=/visualstudio-staging.com/gfwlist +server=/ebay.co.uk/127.0.0.1#5335 +ipset=/ebay.co.uk/gfwlist +server=/volvotrucks.fr/127.0.0.1#5335 +ipset=/volvotrucks.fr/gfwlist +server=/mi9cdn.com/127.0.0.1#5335 +ipset=/mi9cdn.com/gfwlist +server=/orithegame.com/127.0.0.1#5335 +ipset=/orithegame.com/gfwlist +server=/applepaysupplies.berlin/127.0.0.1#5335 +ipset=/applepaysupplies.berlin/gfwlist +server=/whatisworkspaceone.com/127.0.0.1#5335 +ipset=/whatisworkspaceone.com/gfwlist +server=/alfera.my/127.0.0.1#5335 +ipset=/alfera.my/gfwlist +server=/microsoftaccountguard.com/127.0.0.1#5335 +ipset=/microsoftaccountguard.com/gfwlist +server=/doi.info/127.0.0.1#5335 +ipset=/doi.info/gfwlist +server=/volvotrucks.com.tr/127.0.0.1#5335 +ipset=/volvotrucks.com.tr/gfwlist +server=/nexpart.tv/127.0.0.1#5335 +ipset=/nexpart.tv/gfwlist +server=/alpherafinancialservices.es/127.0.0.1#5335 +ipset=/alpherafinancialservices.es/gfwlist +server=/epochtimes.com/127.0.0.1#5335 +ipset=/epochtimes.com/gfwlist +server=/yahoo.la/127.0.0.1#5335 +ipset=/yahoo.la/gfwlist +server=/fox4news.com/127.0.0.1#5335 +ipset=/fox4news.com/gfwlist +server=/poshtestgallery.cloudapp.net/127.0.0.1#5335 +ipset=/poshtestgallery.cloudapp.net/gfwlist +server=/sony.ua/127.0.0.1#5335 +ipset=/sony.ua/gfwlist +server=/drebeatshome.com/127.0.0.1#5335 +ipset=/drebeatshome.com/gfwlist +server=/uun83.com/127.0.0.1#5335 +ipset=/uun83.com/gfwlist +server=/bigbuckbunny.org/127.0.0.1#5335 +ipset=/bigbuckbunny.org/gfwlist +server=/escape.com.au/127.0.0.1#5335 +ipset=/escape.com.au/gfwlist +server=/myfonts.com/127.0.0.1#5335 +ipset=/myfonts.com/gfwlist +server=/npmjs.com/127.0.0.1#5335 +ipset=/npmjs.com/gfwlist +server=/scholar.google.co.cr/127.0.0.1#5335 +ipset=/scholar.google.co.cr/gfwlist +server=/facebook-privacy.com/127.0.0.1#5335 +ipset=/facebook-privacy.com/gfwlist +server=/cloudflaretest.com/127.0.0.1#5335 +ipset=/cloudflaretest.com/gfwlist +server=/canon.gr/127.0.0.1#5335 +ipset=/canon.gr/gfwlist +server=/burstlyrewards.com/127.0.0.1#5335 +ipset=/burstlyrewards.com/gfwlist +server=/applestore.com.ru/127.0.0.1#5335 +ipset=/applestore.com.ru/gfwlist +server=/bmw.re/127.0.0.1#5335 +ipset=/bmw.re/gfwlist +server=/paypal-signin.com/127.0.0.1#5335 +ipset=/paypal-signin.com/gfwlist +server=/ebay-stories.com/127.0.0.1#5335 +ipset=/ebay-stories.com/gfwlist +server=/bloombergtradingchallenge.com/127.0.0.1#5335 +ipset=/bloombergtradingchallenge.com/gfwlist +server=/intelcloudbuilders.com/127.0.0.1#5335 +ipset=/intelcloudbuilders.com/gfwlist +server=/bestbuygsm.com/127.0.0.1#5335 +ipset=/bestbuygsm.com/gfwlist +server=/mysims.com/127.0.0.1#5335 +ipset=/mysims.com/gfwlist +server=/builtfromebay.com/127.0.0.1#5335 +ipset=/builtfromebay.com/gfwlist +server=/foxsports.com.br/127.0.0.1#5335 +ipset=/foxsports.com.br/gfwlist +server=/dishworld.com/127.0.0.1#5335 +ipset=/dishworld.com/gfwlist +server=/reckittbenckiser.tv/127.0.0.1#5335 +ipset=/reckittbenckiser.tv/gfwlist +server=/amazonstudiosguilds.com/127.0.0.1#5335 +ipset=/amazonstudiosguilds.com/gfwlist +server=/mynike.com/127.0.0.1#5335 +ipset=/mynike.com/gfwlist +server=/monotypeimaging.com/127.0.0.1#5335 +ipset=/monotypeimaging.com/gfwlist +server=/godoc.org/127.0.0.1#5335 +ipset=/godoc.org/gfwlist +server=/youtube.in/127.0.0.1#5335 +ipset=/youtube.in/gfwlist +server=/picsee.co/127.0.0.1#5335 +ipset=/picsee.co/gfwlist +server=/monsterbeatsfinland.com/127.0.0.1#5335 +ipset=/monsterbeatsfinland.com/gfwlist +server=/powerbeatsbydre.com/127.0.0.1#5335 +ipset=/powerbeatsbydre.com/gfwlist +server=/appleiphonecell.com/127.0.0.1#5335 +ipset=/appleiphonecell.com/gfwlist +server=/mastercard.gr/127.0.0.1#5335 +ipset=/mastercard.gr/gfwlist +server=/moodstocks.com/127.0.0.1#5335 +ipset=/moodstocks.com/gfwlist +server=/voanews.com/127.0.0.1#5335 +ipset=/voanews.com/gfwlist +server=/amzn.com/127.0.0.1#5335 +ipset=/amzn.com/gfwlist +server=/appleone.website/127.0.0.1#5335 +ipset=/appleone.website/gfwlist +server=/kijiji.ca/127.0.0.1#5335 +ipset=/kijiji.ca/gfwlist +server=/jijiji.ca/127.0.0.1#5335 +ipset=/jijiji.ca/gfwlist +server=/disney.be/127.0.0.1#5335 +ipset=/disney.be/gfwlist +server=/bloombergsef.com/127.0.0.1#5335 +ipset=/bloombergsef.com/gfwlist +server=/flirt4free.com/127.0.0.1#5335 +ipset=/flirt4free.com/gfwlist +server=/mcpeaceofmind.com/127.0.0.1#5335 +ipset=/mcpeaceofmind.com/gfwlist +server=/microsofteca.com/127.0.0.1#5335 +ipset=/microsofteca.com/gfwlist +server=/beatsbydreaustraliasales.com/127.0.0.1#5335 +ipset=/beatsbydreaustraliasales.com/gfwlist +server=/18novel.xyz/127.0.0.1#5335 +ipset=/18novel.xyz/gfwlist +server=/paypaal.com/127.0.0.1#5335 +ipset=/paypaal.com/gfwlist +server=/thestationbymaker.com/127.0.0.1#5335 +ipset=/thestationbymaker.com/gfwlist +server=/bridgestone.com.tw/127.0.0.1#5335 +ipset=/bridgestone.com.tw/gfwlist +server=/bridgestone.com.vn/127.0.0.1#5335 +ipset=/bridgestone.com.vn/gfwlist +server=/calgoncarbon-china.com/127.0.0.1#5335 +ipset=/calgoncarbon-china.com/gfwlist +server=/directvgrandslam.com/127.0.0.1#5335 +ipset=/directvgrandslam.com/gfwlist +server=/primevideo.info/127.0.0.1#5335 +ipset=/primevideo.info/gfwlist +server=/needforspeeddriftkings.com/127.0.0.1#5335 +ipset=/needforspeeddriftkings.com/gfwlist +server=/mastercad.com/127.0.0.1#5335 +ipset=/mastercad.com/gfwlist +server=/aboutamazon.in/127.0.0.1#5335 +ipset=/aboutamazon.in/gfwlist +server=/mpweekly.com/127.0.0.1#5335 +ipset=/mpweekly.com/gfwlist +server=/beatsbydre-mall.com/127.0.0.1#5335 +ipset=/beatsbydre-mall.com/gfwlist +server=/bidi.net.uk/127.0.0.1#5335 +ipset=/bidi.net.uk/gfwlist +server=/niketrainers.com/127.0.0.1#5335 +ipset=/niketrainers.com/gfwlist +server=/myradio.hk/127.0.0.1#5335 +ipset=/myradio.hk/gfwlist +server=/100beatscheap.com/127.0.0.1#5335 +ipset=/100beatscheap.com/gfwlist +server=/huloo.tv/127.0.0.1#5335 +ipset=/huloo.tv/gfwlist +server=/starbucks.com.co/127.0.0.1#5335 +ipset=/starbucks.com.co/gfwlist +server=/msecnd.net/127.0.0.1#5335 +ipset=/msecnd.net/gfwlist +server=/av01.tv/127.0.0.1#5335 +ipset=/av01.tv/gfwlist +server=/cnn.io/127.0.0.1#5335 +ipset=/cnn.io/gfwlist +server=/intel.bi/127.0.0.1#5335 +ipset=/intel.bi/gfwlist +server=/wixanswers.com/127.0.0.1#5335 +ipset=/wixanswers.com/gfwlist +server=/vanishstains.com.au/127.0.0.1#5335 +ipset=/vanishstains.com.au/gfwlist +server=/chargenow.com/127.0.0.1#5335 +ipset=/chargenow.com/gfwlist +server=/realclearinvestigations.com/127.0.0.1#5335 +ipset=/realclearinvestigations.com/gfwlist +server=/strepsils.co.za/127.0.0.1#5335 +ipset=/strepsils.co.za/gfwlist +server=/bmwcustomapparel.com/127.0.0.1#5335 +ipset=/bmwcustomapparel.com/gfwlist +server=/nvidia.es/127.0.0.1#5335 +ipset=/nvidia.es/gfwlist +server=/opencreate.org/127.0.0.1#5335 +ipset=/opencreate.org/gfwlist +server=/ipod.de/127.0.0.1#5335 +ipset=/ipod.de/gfwlist +server=/ebaystore.com/127.0.0.1#5335 +ipset=/ebaystore.com/gfwlist +server=/facerbook.com/127.0.0.1#5335 +ipset=/facerbook.com/gfwlist +server=/ieeer5.org/127.0.0.1#5335 +ipset=/ieeer5.org/gfwlist +server=/googletraveladservices.com/127.0.0.1#5335 +ipset=/googletraveladservices.com/gfwlist +server=/onlyiphone5case.com/127.0.0.1#5335 +ipset=/onlyiphone5case.com/gfwlist +server=/gettyimages.com/127.0.0.1#5335 +ipset=/gettyimages.com/gfwlist +server=/cashify.com/127.0.0.1#5335 +ipset=/cashify.com/gfwlist +server=/costcobusinessdelivery.com/127.0.0.1#5335 +ipset=/costcobusinessdelivery.com/gfwlist +server=/intel.sn/127.0.0.1#5335 +ipset=/intel.sn/gfwlist +server=/realtype.co.jp/127.0.0.1#5335 +ipset=/realtype.co.jp/gfwlist +server=/ebayvakantiehuizen.com/127.0.0.1#5335 +ipset=/ebayvakantiehuizen.com/gfwlist +server=/nodejs.org/127.0.0.1#5335 +ipset=/nodejs.org/gfwlist +server=/rb.net/127.0.0.1#5335 +ipset=/rb.net/gfwlist +server=/netacad.com/127.0.0.1#5335 +ipset=/netacad.com/gfwlist +server=/dettol.cl/127.0.0.1#5335 +ipset=/dettol.cl/gfwlist +server=/applebk.net/127.0.0.1#5335 +ipset=/applebk.net/gfwlist +server=/scholar.google.com.pk/127.0.0.1#5335 +ipset=/scholar.google.com.pk/gfwlist +server=/miniso.co.tz/127.0.0.1#5335 +ipset=/miniso.co.tz/gfwlist +server=/intel.eg/127.0.0.1#5335 +ipset=/intel.eg/gfwlist +server=/dynafleetonline.com/127.0.0.1#5335 +ipset=/dynafleetonline.com/gfwlist +server=/microsoft.com/127.0.0.1#5335 +ipset=/microsoft.com/gfwlist +server=/amazonvideo.cc/127.0.0.1#5335 +ipset=/amazonvideo.cc/gfwlist +server=/applecare.hamburg/127.0.0.1#5335 +ipset=/applecare.hamburg/gfwlist +server=/bestbuy-giftcard.info/127.0.0.1#5335 +ipset=/bestbuy-giftcard.info/gfwlist +server=/scholar.google.com.cu/127.0.0.1#5335 +ipset=/scholar.google.com.cu/gfwlist +server=/drdrebeatsale.com/127.0.0.1#5335 +ipset=/drdrebeatsale.com/gfwlist +server=/the-m-festival.com/127.0.0.1#5335 +ipset=/the-m-festival.com/gfwlist +server=/bmw-worldfinal.com/127.0.0.1#5335 +ipset=/bmw-worldfinal.com/gfwlist +server=/marvel10thanniversary.com/127.0.0.1#5335 +ipset=/marvel10thanniversary.com/gfwlist +server=/dnai.in/127.0.0.1#5335 +ipset=/dnai.in/gfwlist +server=/paypal-communications.net/127.0.0.1#5335 +ipset=/paypal-communications.net/gfwlist +server=/scoop.sh/127.0.0.1#5335 +ipset=/scoop.sh/gfwlist +server=/microsoft.lt/127.0.0.1#5335 +ipset=/microsoft.lt/gfwlist +server=/shoppercentre.com/127.0.0.1#5335 +ipset=/shoppercentre.com/gfwlist +server=/mini-connected.lt/127.0.0.1#5335 +ipset=/mini-connected.lt/gfwlist +server=/oxfordpoliticstrove.com/127.0.0.1#5335 +ipset=/oxfordpoliticstrove.com/gfwlist +server=/mini.cz/127.0.0.1#5335 +ipset=/mini.cz/gfwlist +server=/foxnewsmagazine.com/127.0.0.1#5335 +ipset=/foxnewsmagazine.com/gfwlist +server=/electrek.co/127.0.0.1#5335 +ipset=/electrek.co/gfwlist +server=/bridgestone.co.in/127.0.0.1#5335 +ipset=/bridgestone.co.in/gfwlist +server=/paypalonline.net/127.0.0.1#5335 +ipset=/paypalonline.net/gfwlist +server=/pchomepay.com.tw/127.0.0.1#5335 +ipset=/pchomepay.com.tw/gfwlist +server=/ebayclassifieds.com/127.0.0.1#5335 +ipset=/ebayclassifieds.com/gfwlist +server=/akamaizercentral.com/127.0.0.1#5335 +ipset=/akamaizercentral.com/gfwlist +server=/ciscoccservice.com/127.0.0.1#5335 +ipset=/ciscoccservice.com/gfwlist +server=/monsterbeatsdrdrecheap.com/127.0.0.1#5335 +ipset=/monsterbeatsdrdrecheap.com/gfwlist +server=/9now.com.au/127.0.0.1#5335 +ipset=/9now.com.au/gfwlist +server=/apple.fi/127.0.0.1#5335 +ipset=/apple.fi/gfwlist +server=/intel.dk/127.0.0.1#5335 +ipset=/intel.dk/gfwlist +server=/baltimorebmw.com/127.0.0.1#5335 +ipset=/baltimorebmw.com/gfwlist +server=/terragraph.com/127.0.0.1#5335 +ipset=/terragraph.com/gfwlist +server=/ieee-ies.org/127.0.0.1#5335 +ipset=/ieee-ies.org/gfwlist +server=/miniyaletown.ca/127.0.0.1#5335 +ipset=/miniyaletown.ca/gfwlist +server=/volvotrucks.de/127.0.0.1#5335 +ipset=/volvotrucks.de/gfwlist +server=/messenger.com/127.0.0.1#5335 +ipset=/messenger.com/gfwlist +server=/dogecoin.com/127.0.0.1#5335 +ipset=/dogecoin.com/gfwlist +server=/disneymagicmoments.gr/127.0.0.1#5335 +ipset=/disneymagicmoments.gr/gfwlist +server=/mini.ie/127.0.0.1#5335 +ipset=/mini.ie/gfwlist +server=/applefinalcutproworld.org/127.0.0.1#5335 +ipset=/applefinalcutproworld.org/gfwlist +server=/worldcoinpay.com/127.0.0.1#5335 +ipset=/worldcoinpay.com/gfwlist +server=/nikeitalia.com/127.0.0.1#5335 +ipset=/nikeitalia.com/gfwlist +server=/minidrivingexperienceusa.com/127.0.0.1#5335 +ipset=/minidrivingexperienceusa.com/gfwlist +server=/womenwill.com.br/127.0.0.1#5335 +ipset=/womenwill.com.br/gfwlist +server=/wwe.com/127.0.0.1#5335 +ipset=/wwe.com/gfwlist +server=/rockstargames.com/127.0.0.1#5335 +ipset=/rockstargames.com/gfwlist +server=/cbsig.net/127.0.0.1#5335 +ipset=/cbsig.net/gfwlist +server=/applestore.co.hu/127.0.0.1#5335 +ipset=/applestore.co.hu/gfwlist +server=/mastercard.si/127.0.0.1#5335 +ipset=/mastercard.si/gfwlist +server=/neurology.org/127.0.0.1#5335 +ipset=/neurology.org/gfwlist +server=/ebay.com/127.0.0.1#5335 +ipset=/ebay.com/gfwlist +server=/intelcapital.net/127.0.0.1#5335 +ipset=/intelcapital.net/gfwlist +server=/beatsbydre-outletsale.net/127.0.0.1#5335 +ipset=/beatsbydre-outletsale.net/gfwlist +server=/thinkwithgoogle.com/127.0.0.1#5335 +ipset=/thinkwithgoogle.com/gfwlist +server=/nikeswim.com/127.0.0.1#5335 +ipset=/nikeswim.com/gfwlist +server=/adobecc.com/127.0.0.1#5335 +ipset=/adobecc.com/gfwlist +server=/newsprestigenetwork.com.au/127.0.0.1#5335 +ipset=/newsprestigenetwork.com.au/gfwlist +server=/foxcharlotte.com/127.0.0.1#5335 +ipset=/foxcharlotte.com/gfwlist +server=/epochtimes-romania.com/127.0.0.1#5335 +ipset=/epochtimes-romania.com/gfwlist +server=/hbomaxcdn.com/127.0.0.1#5335 +ipset=/hbomaxcdn.com/gfwlist +server=/famosascalvas.com/127.0.0.1#5335 +ipset=/famosascalvas.com/gfwlist +server=/beatselectronics.com/127.0.0.1#5335 +ipset=/beatselectronics.com/gfwlist +server=/buymeacoffee.com/127.0.0.1#5335 +ipset=/buymeacoffee.com/gfwlist +server=/bloombergview.com/127.0.0.1#5335 +ipset=/bloombergview.com/gfwlist +server=/disneymagicmoments.fr/127.0.0.1#5335 +ipset=/disneymagicmoments.fr/gfwlist +server=/nabtravellercard.com.au/127.0.0.1#5335 +ipset=/nabtravellercard.com.au/gfwlist +server=/gettyimages.co.uk/127.0.0.1#5335 +ipset=/gettyimages.co.uk/gfwlist +server=/google.com.om/127.0.0.1#5335 +ipset=/google.com.om/gfwlist +server=/watchout.tw/127.0.0.1#5335 +ipset=/watchout.tw/gfwlist +server=/paydiant.com/127.0.0.1#5335 +ipset=/paydiant.com/gfwlist +server=/sf.net/127.0.0.1#5335 +ipset=/sf.net/gfwlist +server=/beatsbydremall2013.com/127.0.0.1#5335 +ipset=/beatsbydremall2013.com/gfwlist +server=/popjav.tv/127.0.0.1#5335 +ipset=/popjav.tv/gfwlist +server=/freenetproject.org/127.0.0.1#5335 +ipset=/freenetproject.org/gfwlist +server=/spotifycdn.net/127.0.0.1#5335 +ipset=/spotifycdn.net/gfwlist +server=/blogspot.com.co/127.0.0.1#5335 +ipset=/blogspot.com.co/gfwlist +server=/blogspot.jp/127.0.0.1#5335 +ipset=/blogspot.jp/gfwlist +server=/brandproducts1688.com/127.0.0.1#5335 +ipset=/brandproducts1688.com/gfwlist +server=/thinkquarterly.co.uk/127.0.0.1#5335 +ipset=/thinkquarterly.co.uk/gfwlist +server=/star-brasil.com/127.0.0.1#5335 +ipset=/star-brasil.com/gfwlist +server=/cheap-beatsbydre.com/127.0.0.1#5335 +ipset=/cheap-beatsbydre.com/gfwlist +server=/italiabeatsbydrdre.com/127.0.0.1#5335 +ipset=/italiabeatsbydrdre.com/gfwlist +server=/hu1u.com/127.0.0.1#5335 +ipset=/hu1u.com/gfwlist +server=/taptotokyo.com/127.0.0.1#5335 +ipset=/taptotokyo.com/gfwlist +server=/nintendoeurope.com/127.0.0.1#5335 +ipset=/nintendoeurope.com/gfwlist +server=/skype.com/127.0.0.1#5335 +ipset=/skype.com/gfwlist +server=/visabusinessinsights.com/127.0.0.1#5335 +ipset=/visabusinessinsights.com/gfwlist +server=/appstore.ph/127.0.0.1#5335 +ipset=/appstore.ph/gfwlist +server=/dettol.be/127.0.0.1#5335 +ipset=/dettol.be/gfwlist +server=/nvidia.com.br/127.0.0.1#5335 +ipset=/nvidia.com.br/gfwlist +server=/coinone.co.kr/127.0.0.1#5335 +ipset=/coinone.co.kr/gfwlist +server=/universalorlando.com/127.0.0.1#5335 +ipset=/universalorlando.com/gfwlist +server=/huobi.pro/127.0.0.1#5335 +ipset=/huobi.pro/gfwlist +server=/bmw.co.ke/127.0.0.1#5335 +ipset=/bmw.co.ke/gfwlist +server=/volvotrucks.no/127.0.0.1#5335 +ipset=/volvotrucks.no/gfwlist +server=/muji.us/127.0.0.1#5335 +ipset=/muji.us/gfwlist +server=/sharpdaily.tw/127.0.0.1#5335 +ipset=/sharpdaily.tw/gfwlist +server=/paisapay.info/127.0.0.1#5335 +ipset=/paisapay.info/gfwlist +server=/vfsco.at/127.0.0.1#5335 +ipset=/vfsco.at/gfwlist +server=/beats-by-dre-australia.com/127.0.0.1#5335 +ipset=/beats-by-dre-australia.com/gfwlist +server=/supermariorun.com/127.0.0.1#5335 +ipset=/supermariorun.com/gfwlist +server=/beatsbydrefr.com/127.0.0.1#5335 +ipset=/beatsbydrefr.com/gfwlist +server=/theebayshop.com/127.0.0.1#5335 +ipset=/theebayshop.com/gfwlist +server=/magentocommerce.com/127.0.0.1#5335 +ipset=/magentocommerce.com/gfwlist +server=/visa.com.az/127.0.0.1#5335 +ipset=/visa.com.az/gfwlist +server=/onlineapplestore.com/127.0.0.1#5335 +ipset=/onlineapplestore.com/gfwlist +server=/visual-arts.jp/127.0.0.1#5335 +ipset=/visual-arts.jp/gfwlist +server=/paygonline.com/127.0.0.1#5335 +ipset=/paygonline.com/gfwlist +server=/myguide.hk/127.0.0.1#5335 +ipset=/myguide.hk/gfwlist +server=/dailymail.com.au/127.0.0.1#5335 +ipset=/dailymail.com.au/gfwlist +server=/softbanktelecom.com/127.0.0.1#5335 +ipset=/softbanktelecom.com/gfwlist +server=/paofu.cloud/127.0.0.1#5335 +ipset=/paofu.cloud/gfwlist +server=/bwbx.io/127.0.0.1#5335 +ipset=/bwbx.io/gfwlist +server=/ipad.host/127.0.0.1#5335 +ipset=/ipad.host/gfwlist +server=/oxfordfirstsource.com/127.0.0.1#5335 +ipset=/oxfordfirstsource.com/gfwlist +server=/facebookconnect.com/127.0.0.1#5335 +ipset=/facebookconnect.com/gfwlist +server=/viacbs.com/127.0.0.1#5335 +ipset=/viacbs.com/gfwlist +server=/ebay.com.ec/127.0.0.1#5335 +ipset=/ebay.com.ec/gfwlist +server=/disneymagicmoments.de/127.0.0.1#5335 +ipset=/disneymagicmoments.de/gfwlist +server=/skate2.com/127.0.0.1#5335 +ipset=/skate2.com/gfwlist +server=/bethesdagamestudios.com/127.0.0.1#5335 +ipset=/bethesdagamestudios.com/gfwlist +server=/apple-usa.net/127.0.0.1#5335 +ipset=/apple-usa.net/gfwlist +server=/beatsbydremonsteraustralia.com/127.0.0.1#5335 +ipset=/beatsbydremonsteraustralia.com/gfwlist +server=/askfacebook.net/127.0.0.1#5335 +ipset=/askfacebook.net/gfwlist +server=/blink.org/127.0.0.1#5335 +ipset=/blink.org/gfwlist +server=/googlestore.com/127.0.0.1#5335 +ipset=/googlestore.com/gfwlist +server=/minie.com/127.0.0.1#5335 +ipset=/minie.com/gfwlist +server=/hpstore-emea.com/127.0.0.1#5335 +ipset=/hpstore-emea.com/gfwlist +server=/trustdoc.ch/127.0.0.1#5335 +ipset=/trustdoc.ch/gfwlist +server=/mininanaimo.ca/127.0.0.1#5335 +ipset=/mininanaimo.ca/gfwlist +server=/greatergothammini.com/127.0.0.1#5335 +ipset=/greatergothammini.com/gfwlist +server=/casque-fr.com/127.0.0.1#5335 +ipset=/casque-fr.com/gfwlist +server=/nvidia.ru/127.0.0.1#5335 +ipset=/nvidia.ru/gfwlist +server=/dynacw.com.hk/127.0.0.1#5335 +ipset=/dynacw.com.hk/gfwlist +server=/ebayfrance.com/127.0.0.1#5335 +ipset=/ebayfrance.com/gfwlist +server=/bmw-motorrad.uy/127.0.0.1#5335 +ipset=/bmw-motorrad.uy/gfwlist +server=/minioakville.com/127.0.0.1#5335 +ipset=/minioakville.com/gfwlist +server=/geeksquadcares.com/127.0.0.1#5335 +ipset=/geeksquadcares.com/gfwlist +server=/bmwmc.net/127.0.0.1#5335 +ipset=/bmwmc.net/gfwlist +server=/dettol.co.nz/127.0.0.1#5335 +ipset=/dettol.co.nz/gfwlist +server=/microbit.org/127.0.0.1#5335 +ipset=/microbit.org/gfwlist +server=/gitstar.net/127.0.0.1#5335 +ipset=/gitstar.net/gfwlist +server=/eff.org/127.0.0.1#5335 +ipset=/eff.org/gfwlist +server=/asto.re/127.0.0.1#5335 +ipset=/asto.re/gfwlist +server=/fasttext.cc/127.0.0.1#5335 +ipset=/fasttext.cc/gfwlist +server=/cern.ch/127.0.0.1#5335 +ipset=/cern.ch/gfwlist +server=/nintendo.ru/127.0.0.1#5335 +ipset=/nintendo.ru/gfwlist +server=/beatscollection2014.com/127.0.0.1#5335 +ipset=/beatscollection2014.com/gfwlist +server=/microsoftdiplomados.com/127.0.0.1#5335 +ipset=/microsoftdiplomados.com/gfwlist +server=/makebettercode.com/127.0.0.1#5335 +ipset=/makebettercode.com/gfwlist +server=/veet.se/127.0.0.1#5335 +ipset=/veet.se/gfwlist +server=/literatumonline.com/127.0.0.1#5335 +ipset=/literatumonline.com/gfwlist +server=/facebookpaper.com/127.0.0.1#5335 +ipset=/facebookpaper.com/gfwlist +server=/visa.com.tw/127.0.0.1#5335 +ipset=/visa.com.tw/gfwlist +server=/apple.si/127.0.0.1#5335 +ipset=/apple.si/gfwlist +server=/callersbane.com/127.0.0.1#5335 +ipset=/callersbane.com/gfwlist +server=/blogspot.kr/127.0.0.1#5335 +ipset=/blogspot.kr/gfwlist +server=/blogspot.mx/127.0.0.1#5335 +ipset=/blogspot.mx/gfwlist +server=/vk.cc/127.0.0.1#5335 +ipset=/vk.cc/gfwlist +server=/braeburncapital.com/127.0.0.1#5335 +ipset=/braeburncapital.com/gfwlist +server=/fbrell.com/127.0.0.1#5335 +ipset=/fbrell.com/gfwlist +server=/shazam.com/127.0.0.1#5335 +ipset=/shazam.com/gfwlist +server=/paypal-forward.com/127.0.0.1#5335 +ipset=/paypal-forward.com/gfwlist +server=/blogspot.se/127.0.0.1#5335 +ipset=/blogspot.se/gfwlist +server=/xn--6eup7j.com/127.0.0.1#5335 +ipset=/xn--6eup7j.com/gfwlist +server=/uun93.com/127.0.0.1#5335 +ipset=/uun93.com/gfwlist +server=/zaobao.com/127.0.0.1#5335 +ipset=/zaobao.com/gfwlist +server=/buyoculus.com/127.0.0.1#5335 +ipset=/buyoculus.com/gfwlist +server=/microsoftsilverlight.net/127.0.0.1#5335 +ipset=/microsoftsilverlight.net/gfwlist +server=/bmwstep.com/127.0.0.1#5335 +ipset=/bmwstep.com/gfwlist +server=/vfsco.no/127.0.0.1#5335 +ipset=/vfsco.no/gfwlist +server=/digitalpack.com/127.0.0.1#5335 +ipset=/digitalpack.com/gfwlist +server=/stackoverflowbusiness.com/127.0.0.1#5335 +ipset=/stackoverflowbusiness.com/gfwlist +server=/finish.co.kr/127.0.0.1#5335 +ipset=/finish.co.kr/gfwlist +server=/kernel.org/127.0.0.1#5335 +ipset=/kernel.org/gfwlist +server=/buybeatsheadphonesbydre.com/127.0.0.1#5335 +ipset=/buybeatsheadphonesbydre.com/gfwlist +server=/jobmarket.com.hk/127.0.0.1#5335 +ipset=/jobmarket.com.hk/gfwlist +server=/applefruity.com/127.0.0.1#5335 +ipset=/applefruity.com/gfwlist +server=/kickshatchannel.com/127.0.0.1#5335 +ipset=/kickshatchannel.com/gfwlist +server=/nurofen.fr/127.0.0.1#5335 +ipset=/nurofen.fr/gfwlist +server=/theclub.com.hk/127.0.0.1#5335 +ipset=/theclub.com.hk/gfwlist +server=/pccw.com/127.0.0.1#5335 +ipset=/pccw.com/gfwlist +server=/paypalcommunity.net/127.0.0.1#5335 +ipset=/paypalcommunity.net/gfwlist +server=/paypal-viewpoints.net/127.0.0.1#5335 +ipset=/paypal-viewpoints.net/gfwlist +server=/myicloud.net/127.0.0.1#5335 +ipset=/myicloud.net/gfwlist +server=/pinimg.com/127.0.0.1#5335 +ipset=/pinimg.com/gfwlist +server=/visa.co.in/127.0.0.1#5335 +ipset=/visa.co.in/gfwlist +server=/newdrediscount.com/127.0.0.1#5335 +ipset=/newdrediscount.com/gfwlist +server=/vimeobusiness.com/127.0.0.1#5335 +ipset=/vimeobusiness.com/gfwlist +server=/iphone.rs/127.0.0.1#5335 +ipset=/iphone.rs/gfwlist +server=/gog.com/127.0.0.1#5335 +ipset=/gog.com/gfwlist +server=/bmwgroup.at/127.0.0.1#5335 +ipset=/bmwgroup.at/gfwlist +server=/akamaietpmalwaretest.com/127.0.0.1#5335 +ipset=/akamaietpmalwaretest.com/gfwlist +server=/bnetproduct-a.akamaihd.net/127.0.0.1#5335 +ipset=/bnetproduct-a.akamaihd.net/gfwlist +server=/12diasderegalosdeitunes.pe/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.pe/gfwlist +server=/blogspot.cv/127.0.0.1#5335 +ipset=/blogspot.cv/gfwlist +server=/ebay.pl/127.0.0.1#5335 +ipset=/ebay.pl/gfwlist +server=/blogspot.li/127.0.0.1#5335 +ipset=/blogspot.li/gfwlist +server=/quatrowireless.com/127.0.0.1#5335 +ipset=/quatrowireless.com/gfwlist +server=/miniso.ua/127.0.0.1#5335 +ipset=/miniso.ua/gfwlist +server=/adidas.co.uk/127.0.0.1#5335 +ipset=/adidas.co.uk/gfwlist +server=/instangram.com/127.0.0.1#5335 +ipset=/instangram.com/gfwlist +server=/acheter-followers-instagram.com/127.0.0.1#5335 +ipset=/acheter-followers-instagram.com/gfwlist +server=/steampowered.com/127.0.0.1#5335 +ipset=/steampowered.com/gfwlist +server=/dfp6rglgjqszk.cloudfront.net/127.0.0.1#5335 +ipset=/dfp6rglgjqszk.cloudfront.net/gfwlist +server=/vod-hls-uk-live.akamaized.net/127.0.0.1#5335 +ipset=/vod-hls-uk-live.akamaized.net/gfwlist +server=/housing.com/127.0.0.1#5335 +ipset=/housing.com/gfwlist +server=/bmw-motorrad.co.nz/127.0.0.1#5335 +ipset=/bmw-motorrad.co.nz/gfwlist +server=/intel.bh/127.0.0.1#5335 +ipset=/intel.bh/gfwlist +server=/microsoft.cat/127.0.0.1#5335 +ipset=/microsoft.cat/gfwlist +server=/applecarbon.com/127.0.0.1#5335 +ipset=/applecarbon.com/gfwlist +server=/pvue1.com/127.0.0.1#5335 +ipset=/pvue1.com/gfwlist +server=/thomsonreuters.co.nz/127.0.0.1#5335 +ipset=/thomsonreuters.co.nz/gfwlist +server=/amazon.com.tr/127.0.0.1#5335 +ipset=/amazon.com.tr/gfwlist +server=/directvnow.com/127.0.0.1#5335 +ipset=/directvnow.com/gfwlist +server=/riotgames.jp/127.0.0.1#5335 +ipset=/riotgames.jp/gfwlist +server=/gordonmoore.com/127.0.0.1#5335 +ipset=/gordonmoore.com/gfwlist +server=/adobecreativityawards.com/127.0.0.1#5335 +ipset=/adobecreativityawards.com/gfwlist +server=/ebay.in/127.0.0.1#5335 +ipset=/ebay.in/gfwlist +server=/ebayjob.com/127.0.0.1#5335 +ipset=/ebayjob.com/gfwlist +server=/minimontroyal.ca/127.0.0.1#5335 +ipset=/minimontroyal.ca/gfwlist +server=/usvimosquitoproject.com/127.0.0.1#5335 +ipset=/usvimosquitoproject.com/gfwlist +server=/bmw-connecteddrive.lv/127.0.0.1#5335 +ipset=/bmw-connecteddrive.lv/gfwlist +server=/firestonedrivestore.com/127.0.0.1#5335 +ipset=/firestonedrivestore.com/gfwlist +server=/miniso-np.com/127.0.0.1#5335 +ipset=/miniso-np.com/gfwlist +server=/viacomcbspressexpress.com/127.0.0.1#5335 +ipset=/viacomcbspressexpress.com/gfwlist +server=/beats1.cc/127.0.0.1#5335 +ipset=/beats1.cc/gfwlist +server=/enteentegeh.de/127.0.0.1#5335 +ipset=/enteentegeh.de/gfwlist +server=/foxsmallbusinesscenter.org/127.0.0.1#5335 +ipset=/foxsmallbusinesscenter.org/gfwlist +server=/swoo.sh/127.0.0.1#5335 +ipset=/swoo.sh/gfwlist +server=/casquebeatsenligne.com/127.0.0.1#5335 +ipset=/casquebeatsenligne.com/gfwlist +server=/desertbmw.com/127.0.0.1#5335 +ipset=/desertbmw.com/gfwlist +server=/voatibetanenglish.com/127.0.0.1#5335 +ipset=/voatibetanenglish.com/gfwlist +server=/imagineecommerce.com/127.0.0.1#5335 +ipset=/imagineecommerce.com/gfwlist +server=/epochtime.com/127.0.0.1#5335 +ipset=/epochtime.com/gfwlist +server=/onenote.net/127.0.0.1#5335 +ipset=/onenote.net/gfwlist +server=/cnix-gov-cn.com/127.0.0.1#5335 +ipset=/cnix-gov-cn.com/gfwlist +server=/ebaycommercenetwork.com/127.0.0.1#5335 +ipset=/ebaycommercenetwork.com/gfwlist +server=/managedmeetingrooms.com/127.0.0.1#5335 +ipset=/managedmeetingrooms.com/gfwlist +server=/ipod.eu/127.0.0.1#5335 +ipset=/ipod.eu/gfwlist +server=/paypal-login.us/127.0.0.1#5335 +ipset=/paypal-login.us/gfwlist +server=/bing.com/127.0.0.1#5335 +ipset=/bing.com/gfwlist +server=/desktopmovies.org/127.0.0.1#5335 +ipset=/desktopmovies.org/gfwlist +server=/facebookcredits.info/127.0.0.1#5335 +ipset=/facebookcredits.info/gfwlist +server=/xandr.com/127.0.0.1#5335 +ipset=/xandr.com/gfwlist +server=/nab.com.au/127.0.0.1#5335 +ipset=/nab.com.au/gfwlist +server=/mybmw.com/127.0.0.1#5335 +ipset=/mybmw.com/gfwlist +server=/applestore.me/127.0.0.1#5335 +ipset=/applestore.me/gfwlist +server=/drebeats-singaporecheap.com/127.0.0.1#5335 +ipset=/drebeats-singaporecheap.com/gfwlist +server=/farfetch.com/127.0.0.1#5335 +ipset=/farfetch.com/gfwlist +server=/nvidia.tw/127.0.0.1#5335 +ipset=/nvidia.tw/gfwlist +server=/920share.com/127.0.0.1#5335 +ipset=/920share.com/gfwlist +server=/intel.co.jp/127.0.0.1#5335 +ipset=/intel.co.jp/gfwlist +server=/api-extractor.com/127.0.0.1#5335 +ipset=/api-extractor.com/gfwlist +server=/guardianproject.info/127.0.0.1#5335 +ipset=/guardianproject.info/gfwlist +server=/azuredatabricks.net/127.0.0.1#5335 +ipset=/azuredatabricks.net/gfwlist +server=/firesidegatherings.com/127.0.0.1#5335 +ipset=/firesidegatherings.com/gfwlist +server=/mybestbuyclaims.com/127.0.0.1#5335 +ipset=/mybestbuyclaims.com/gfwlist +server=/gsrc.io/127.0.0.1#5335 +ipset=/gsrc.io/gfwlist +server=/appdynamics.jp/127.0.0.1#5335 +ipset=/appdynamics.jp/gfwlist +server=/zee5.in/127.0.0.1#5335 +ipset=/zee5.in/gfwlist +server=/bmw-iraq.com/127.0.0.1#5335 +ipset=/bmw-iraq.com/gfwlist +server=/intel.ng/127.0.0.1#5335 +ipset=/intel.ng/gfwlist +server=/azure-dns.net/127.0.0.1#5335 +ipset=/azure-dns.net/gfwlist +server=/youtubego.com.br/127.0.0.1#5335 +ipset=/youtubego.com.br/gfwlist +server=/geforce.co.uk/127.0.0.1#5335 +ipset=/geforce.co.uk/gfwlist +server=/httpfacebook.com/127.0.0.1#5335 +ipset=/httpfacebook.com/gfwlist +server=/visa.co.uk/127.0.0.1#5335 +ipset=/visa.co.uk/gfwlist +server=/beatsbydresale-uk.com/127.0.0.1#5335 +ipset=/beatsbydresale-uk.com/gfwlist +server=/iphone.com.au/127.0.0.1#5335 +ipset=/iphone.com.au/gfwlist +server=/applfe.com/127.0.0.1#5335 +ipset=/applfe.com/gfwlist +server=/bmw.com.kh/127.0.0.1#5335 +ipset=/bmw.com.kh/gfwlist +server=/jsdelivr.net/127.0.0.1#5335 +ipset=/jsdelivr.net/gfwlist +server=/ubereats.com/127.0.0.1#5335 +ipset=/ubereats.com/gfwlist +server=/facebookporn.net/127.0.0.1#5335 +ipset=/facebookporn.net/gfwlist +server=/smartexpos.com/127.0.0.1#5335 +ipset=/smartexpos.com/gfwlist +server=/youtube.com.ve/127.0.0.1#5335 +ipset=/youtube.com.ve/gfwlist +server=/yahoo.com.my/127.0.0.1#5335 +ipset=/yahoo.com.my/gfwlist +server=/whatsapp-plus.me/127.0.0.1#5335 +ipset=/whatsapp-plus.me/gfwlist +server=/nikeshoes-store.com/127.0.0.1#5335 +ipset=/nikeshoes-store.com/gfwlist +server=/volvogroup.pl/127.0.0.1#5335 +ipset=/volvogroup.pl/gfwlist +server=/amazon.jobs/127.0.0.1#5335 +ipset=/amazon.jobs/gfwlist +server=/silverchair-cdn.com/127.0.0.1#5335 +ipset=/silverchair-cdn.com/gfwlist +server=/intc.com/127.0.0.1#5335 +ipset=/intc.com/gfwlist +server=/saffrontech.com/127.0.0.1#5335 +ipset=/saffrontech.com/gfwlist +server=/appleworldwidedeveloper.sc.omtrdc.net/127.0.0.1#5335 +ipset=/appleworldwidedeveloper.sc.omtrdc.net/gfwlist +server=/addthis.com/127.0.0.1#5335 +ipset=/addthis.com/gfwlist +server=/messengerdevelopers.com/127.0.0.1#5335 +ipset=/messengerdevelopers.com/gfwlist +server=/freindfeed.com/127.0.0.1#5335 +ipset=/freindfeed.com/gfwlist +server=/kuke.com/127.0.0.1#5335 +ipset=/kuke.com/gfwlist +server=/accessfacebookfromschool.com/127.0.0.1#5335 +ipset=/accessfacebookfromschool.com/gfwlist +server=/stackmod.blog/127.0.0.1#5335 +ipset=/stackmod.blog/gfwlist +server=/fbcdn.net/127.0.0.1#5335 +ipset=/fbcdn.net/gfwlist +server=/pokemonwifi.net/127.0.0.1#5335 +ipset=/pokemonwifi.net/gfwlist +server=/blogspot.com.mt/127.0.0.1#5335 +ipset=/blogspot.com.mt/gfwlist +server=/edx-cdn.org/127.0.0.1#5335 +ipset=/edx-cdn.org/gfwlist +server=/duckduckgo.mx/127.0.0.1#5335 +ipset=/duckduckgo.mx/gfwlist +server=/hp-printing.com/127.0.0.1#5335 +ipset=/hp-printing.com/gfwlist +server=/da-files.com/127.0.0.1#5335 +ipset=/da-files.com/gfwlist +server=/beatsbydrdre4sale.com/127.0.0.1#5335 +ipset=/beatsbydrdre4sale.com/gfwlist +server=/calgon.pt/127.0.0.1#5335 +ipset=/calgon.pt/gfwlist +server=/ieee-ras.org/127.0.0.1#5335 +ipset=/ieee-ras.org/gfwlist +server=/canada-beatsbydre.com/127.0.0.1#5335 +ipset=/canada-beatsbydre.com/gfwlist +server=/ilongman.com/127.0.0.1#5335 +ipset=/ilongman.com/gfwlist +server=/velocloud.com/127.0.0.1#5335 +ipset=/velocloud.com/gfwlist +server=/donttrack.us/127.0.0.1#5335 +ipset=/donttrack.us/gfwlist +server=/coreoptics.net/127.0.0.1#5335 +ipset=/coreoptics.net/gfwlist +server=/xn--3et96bj49ahpq.com/127.0.0.1#5335 +ipset=/xn--3et96bj49ahpq.com/gfwlist +server=/microsoftlatamaitour.com/127.0.0.1#5335 +ipset=/microsoftlatamaitour.com/gfwlist +server=/volvogroup.pe/127.0.0.1#5335 +ipset=/volvogroup.pe/gfwlist +server=/bmwsfl.net/127.0.0.1#5335 +ipset=/bmwsfl.net/gfwlist +server=/headphones-dre.com/127.0.0.1#5335 +ipset=/headphones-dre.com/gfwlist +server=/foxsports.com.ec/127.0.0.1#5335 +ipset=/foxsports.com.ec/gfwlist +server=/officialheadphone.com/127.0.0.1#5335 +ipset=/officialheadphone.com/gfwlist +server=/52hyse.com/127.0.0.1#5335 +ipset=/52hyse.com/gfwlist +server=/bloommicroventures.com/127.0.0.1#5335 +ipset=/bloommicroventures.com/gfwlist +server=/azure-sphere.com/127.0.0.1#5335 +ipset=/azure-sphere.com/gfwlist +server=/ebay.vn/127.0.0.1#5335 +ipset=/ebay.vn/gfwlist +server=/sony.com.co/127.0.0.1#5335 +ipset=/sony.com.co/gfwlist +server=/signalusers.org/127.0.0.1#5335 +ipset=/signalusers.org/gfwlist +server=/ipadmini.com.lk/127.0.0.1#5335 +ipset=/ipadmini.com.lk/gfwlist +server=/foxdoua.com/127.0.0.1#5335 +ipset=/foxdoua.com/gfwlist +server=/nicesshop.net/127.0.0.1#5335 +ipset=/nicesshop.net/gfwlist +server=/businesscatalyst.com/127.0.0.1#5335 +ipset=/businesscatalyst.com/gfwlist +server=/wmfusercontent.org/127.0.0.1#5335 +ipset=/wmfusercontent.org/gfwlist +server=/on.cc/127.0.0.1#5335 +ipset=/on.cc/gfwlist +server=/disneyjunior.com/127.0.0.1#5335 +ipset=/disneyjunior.com/gfwlist +server=/nikeshoeswon.com/127.0.0.1#5335 +ipset=/nikeshoeswon.com/gfwlist +server=/ebayclassifiedsgroup.com/127.0.0.1#5335 +ipset=/ebayclassifiedsgroup.com/gfwlist +server=/bmw-motorrad.co.th/127.0.0.1#5335 +ipset=/bmw-motorrad.co.th/gfwlist +server=/garena.my/127.0.0.1#5335 +ipset=/garena.my/gfwlist +server=/zeebioskop.com/127.0.0.1#5335 +ipset=/zeebioskop.com/gfwlist +server=/foxon.com/127.0.0.1#5335 +ipset=/foxon.com/gfwlist +server=/instagramsepeti.com/127.0.0.1#5335 +ipset=/instagramsepeti.com/gfwlist +server=/globalsign.com/127.0.0.1#5335 +ipset=/globalsign.com/gfwlist +server=/iphone.cm/127.0.0.1#5335 +ipset=/iphone.cm/gfwlist +server=/durex.com.pe/127.0.0.1#5335 +ipset=/durex.com.pe/gfwlist +server=/gettyimages.in/127.0.0.1#5335 +ipset=/gettyimages.in/gfwlist +server=/google.at/127.0.0.1#5335 +ipset=/google.at/gfwlist +server=/windows8.hk/127.0.0.1#5335 +ipset=/windows8.hk/gfwlist +server=/youtubefanfest.com/127.0.0.1#5335 +ipset=/youtubefanfest.com/gfwlist +server=/ukwhoswho.com/127.0.0.1#5335 +ipset=/ukwhoswho.com/gfwlist +server=/iam.soy/127.0.0.1#5335 +ipset=/iam.soy/gfwlist +server=/bloomberglabs.com/127.0.0.1#5335 +ipset=/bloomberglabs.com/gfwlist +server=/beats4salecheap.com/127.0.0.1#5335 +ipset=/beats4salecheap.com/gfwlist +server=/applecare.wang/127.0.0.1#5335 +ipset=/applecare.wang/gfwlist +server=/pinterest.co.at/127.0.0.1#5335 +ipset=/pinterest.co.at/gfwlist +server=/wa.me/127.0.0.1#5335 +ipset=/wa.me/gfwlist +server=/needforspeedtakedown.com/127.0.0.1#5335 +ipset=/needforspeedtakedown.com/gfwlist +server=/doom9.org/127.0.0.1#5335 +ipset=/doom9.org/gfwlist +server=/xplr.co/127.0.0.1#5335 +ipset=/xplr.co/gfwlist +server=/directvoffercodes.com/127.0.0.1#5335 +ipset=/directvoffercodes.com/gfwlist +server=/publishproxy.com/127.0.0.1#5335 +ipset=/publishproxy.com/gfwlist +server=/quip-cdn.com/127.0.0.1#5335 +ipset=/quip-cdn.com/gfwlist +server=/s-xoom.com/127.0.0.1#5335 +ipset=/s-xoom.com/gfwlist +server=/xbx.lv/127.0.0.1#5335 +ipset=/xbx.lv/gfwlist +server=/gscanada.info/127.0.0.1#5335 +ipset=/gscanada.info/gfwlist +server=/newsxtend.com.au/127.0.0.1#5335 +ipset=/newsxtend.com.au/gfwlist +server=/eamythic.com/127.0.0.1#5335 +ipset=/eamythic.com/gfwlist +server=/hpwellnesscentral.com/127.0.0.1#5335 +ipset=/hpwellnesscentral.com/gfwlist +server=/myradio.com.hk/127.0.0.1#5335 +ipset=/myradio.com.hk/gfwlist +server=/cbsistatic.com/127.0.0.1#5335 +ipset=/cbsistatic.com/gfwlist +server=/beatssbyaustralia.com/127.0.0.1#5335 +ipset=/beatssbyaustralia.com/gfwlist +server=/wiifitu.com/127.0.0.1#5335 +ipset=/wiifitu.com/gfwlist +server=/managed-pki.ch/127.0.0.1#5335 +ipset=/managed-pki.ch/gfwlist +server=/futunited.com/127.0.0.1#5335 +ipset=/futunited.com/gfwlist +server=/newsfeed.com/127.0.0.1#5335 +ipset=/newsfeed.com/gfwlist +server=/easportsactive.com/127.0.0.1#5335 +ipset=/easportsactive.com/gfwlist +server=/durex-shop.ch/127.0.0.1#5335 +ipset=/durex-shop.ch/gfwlist +server=/onbeatsbydresale.com/127.0.0.1#5335 +ipset=/onbeatsbydresale.com/gfwlist +server=/yahoo.lu/127.0.0.1#5335 +ipset=/yahoo.lu/gfwlist +server=/firestonecomercial.com.ar/127.0.0.1#5335 +ipset=/firestonecomercial.com.ar/gfwlist +server=/myfoxtampabay.com/127.0.0.1#5335 +ipset=/myfoxtampabay.com/gfwlist +server=/microsoftnews.com/127.0.0.1#5335 +ipset=/microsoftnews.com/gfwlist +server=/foxcanvasroom.com/127.0.0.1#5335 +ipset=/foxcanvasroom.com/gfwlist +server=/iphonecases100.com/127.0.0.1#5335 +ipset=/iphonecases100.com/gfwlist +server=/bmw-pma.com.sg/127.0.0.1#5335 +ipset=/bmw-pma.com.sg/gfwlist +server=/akamaa.com/127.0.0.1#5335 +ipset=/akamaa.com/gfwlist +server=/amazon.de/127.0.0.1#5335 +ipset=/amazon.de/gfwlist +server=/swiftfinancial.com/127.0.0.1#5335 +ipset=/swiftfinancial.com/gfwlist +server=/zb.app/127.0.0.1#5335 +ipset=/zb.app/gfwlist +server=/limelight.com/127.0.0.1#5335 +ipset=/limelight.com/gfwlist +server=/applefinalcutproworld.net/127.0.0.1#5335 +ipset=/applefinalcutproworld.net/gfwlist +server=/afp.com/127.0.0.1#5335 +ipset=/afp.com/gfwlist +server=/nikefirm.com/127.0.0.1#5335 +ipset=/nikefirm.com/gfwlist +server=/bmw-werk-berlin.de/127.0.0.1#5335 +ipset=/bmw-werk-berlin.de/gfwlist +server=/zb.live/127.0.0.1#5335 +ipset=/zb.live/gfwlist +server=/appspot.com/127.0.0.1#5335 +ipset=/appspot.com/gfwlist +server=/get.app/127.0.0.1#5335 +ipset=/get.app/gfwlist +server=/xboxgamepass.com/127.0.0.1#5335 +ipset=/xboxgamepass.com/gfwlist +server=/disney.sg/127.0.0.1#5335 +ipset=/disney.sg/gfwlist +server=/adidas.it/127.0.0.1#5335 +ipset=/adidas.it/gfwlist +server=/1drv.ms/127.0.0.1#5335 +ipset=/1drv.ms/gfwlist +server=/beatsdredreheadphones.com/127.0.0.1#5335 +ipset=/beatsdredreheadphones.com/gfwlist +server=/bookonsky.net/127.0.0.1#5335 +ipset=/bookonsky.net/gfwlist +server=/coursera-for-business.org/127.0.0.1#5335 +ipset=/coursera-for-business.org/gfwlist +server=/bridgestonela.com/127.0.0.1#5335 +ipset=/bridgestonela.com/gfwlist +server=/alphabet.com.lv/127.0.0.1#5335 +ipset=/alphabet.com.lv/gfwlist +server=/typography.com/127.0.0.1#5335 +ipset=/typography.com/gfwlist +server=/atandt.com/127.0.0.1#5335 +ipset=/atandt.com/gfwlist +server=/ieee-isto.org/127.0.0.1#5335 +ipset=/ieee-isto.org/gfwlist +server=/scholar.google.hr/127.0.0.1#5335 +ipset=/scholar.google.hr/gfwlist +server=/beatsbydregot.com/127.0.0.1#5335 +ipset=/beatsbydregot.com/gfwlist +server=/intellinuxgraphics.com/127.0.0.1#5335 +ipset=/intellinuxgraphics.com/gfwlist +server=/nikesoccercleats.com/127.0.0.1#5335 +ipset=/nikesoccercleats.com/gfwlist +server=/bmw-museum.net/127.0.0.1#5335 +ipset=/bmw-museum.net/gfwlist +server=/mucinex.co.nz/127.0.0.1#5335 +ipset=/mucinex.co.nz/gfwlist +server=/alphera.es/127.0.0.1#5335 +ipset=/alphera.es/gfwlist +server=/xingrz.me/127.0.0.1#5335 +ipset=/xingrz.me/gfwlist +server=/beatsbydrecybermondaydeals2013.net/127.0.0.1#5335 +ipset=/beatsbydrecybermondaydeals2013.net/gfwlist +server=/bloombergtax.com/127.0.0.1#5335 +ipset=/bloombergtax.com/gfwlist +server=/cash2.com/127.0.0.1#5335 +ipset=/cash2.com/gfwlist +server=/unrealtournament.com/127.0.0.1#5335 +ipset=/unrealtournament.com/gfwlist +server=/travelex.de/127.0.0.1#5335 +ipset=/travelex.de/gfwlist +server=/socrec.org/127.0.0.1#5335 +ipset=/socrec.org/gfwlist +server=/bmwondemandusa.com/127.0.0.1#5335 +ipset=/bmwondemandusa.com/gfwlist +server=/jwplayer.com/127.0.0.1#5335 +ipset=/jwplayer.com/gfwlist +server=/mini-connected.no/127.0.0.1#5335 +ipset=/mini-connected.no/gfwlist +server=/xn--fiqs8sxootzz.cn/127.0.0.1#5335 +ipset=/xn--fiqs8sxootzz.cn/gfwlist +server=/casquebeatsdre2013.com/127.0.0.1#5335 +ipset=/casquebeatsdre2013.com/gfwlist +server=/drdrebeats-chen.com/127.0.0.1#5335 +ipset=/drdrebeats-chen.com/gfwlist +server=/iphone.net.gr/127.0.0.1#5335 +ipset=/iphone.net.gr/gfwlist +server=/yahoo.tg/127.0.0.1#5335 +ipset=/yahoo.tg/gfwlist +server=/phantomjs.org/127.0.0.1#5335 +ipset=/phantomjs.org/gfwlist +server=/verisign.mobi/127.0.0.1#5335 +ipset=/verisign.mobi/gfwlist +server=/intel.com/127.0.0.1#5335 +ipset=/intel.com/gfwlist +server=/bmw-nigeria.com/127.0.0.1#5335 +ipset=/bmw-nigeria.com/gfwlist +server=/applehongkong.com.hk/127.0.0.1#5335 +ipset=/applehongkong.com.hk/gfwlist +server=/visiontimes.fr/127.0.0.1#5335 +ipset=/visiontimes.fr/gfwlist +server=/imaginecup.pl/127.0.0.1#5335 +ipset=/imaginecup.pl/gfwlist +server=/ieee-into-focus.org/127.0.0.1#5335 +ipset=/ieee-into-focus.org/gfwlist +server=/bmwwholesaleconnect.com/127.0.0.1#5335 +ipset=/bmwwholesaleconnect.com/gfwlist +server=/beatsbydreexecutivesale.com/127.0.0.1#5335 +ipset=/beatsbydreexecutivesale.com/gfwlist +server=/akadns.com/127.0.0.1#5335 +ipset=/akadns.com/gfwlist +server=/googlemail.com/127.0.0.1#5335 +ipset=/googlemail.com/gfwlist +server=/akamaized.net/127.0.0.1#5335 +ipset=/akamaized.net/gfwlist +server=/spotifyforbrands.com/127.0.0.1#5335 +ipset=/spotifyforbrands.com/gfwlist +server=/elifesciences.org/127.0.0.1#5335 +ipset=/elifesciences.org/gfwlist +server=/facebookappcenter.net/127.0.0.1#5335 +ipset=/facebookappcenter.net/gfwlist +server=/volvobuses.no/127.0.0.1#5335 +ipset=/volvobuses.no/gfwlist +server=/gitbook.com/127.0.0.1#5335 +ipset=/gitbook.com/gfwlist +server=/nike-air-max.com/127.0.0.1#5335 +ipset=/nike-air-max.com/gfwlist +server=/vfsco.cz/127.0.0.1#5335 +ipset=/vfsco.cz/gfwlist +server=/sinchew.com.my/127.0.0.1#5335 +ipset=/sinchew.com.my/gfwlist +server=/ayudanintendo.com/127.0.0.1#5335 +ipset=/ayudanintendo.com/gfwlist +server=/omoplanet.com/127.0.0.1#5335 +ipset=/omoplanet.com/gfwlist +server=/nvidia.com.mx/127.0.0.1#5335 +ipset=/nvidia.com.mx/gfwlist +server=/mastercard.com.cy/127.0.0.1#5335 +ipset=/mastercard.com.cy/gfwlist +server=/sony.cl/127.0.0.1#5335 +ipset=/sony.cl/gfwlist +server=/nlm.io/127.0.0.1#5335 +ipset=/nlm.io/gfwlist +server=/nikkei.com/127.0.0.1#5335 +ipset=/nikkei.com/gfwlist +server=/bmw.com/127.0.0.1#5335 +ipset=/bmw.com/gfwlist +server=/mortein.com.pk/127.0.0.1#5335 +ipset=/mortein.com.pk/gfwlist +server=/bmwasia.com/127.0.0.1#5335 +ipset=/bmwasia.com/gfwlist +server=/appleaustralia.com/127.0.0.1#5335 +ipset=/appleaustralia.com/gfwlist +server=/volvobuses.dk/127.0.0.1#5335 +ipset=/volvobuses.dk/gfwlist +server=/casquedrdrebeatssfr.com/127.0.0.1#5335 +ipset=/casquedrdrebeatssfr.com/gfwlist +server=/buyitnowshop.net/127.0.0.1#5335 +ipset=/buyitnowshop.net/gfwlist +server=/my9nj.com/127.0.0.1#5335 +ipset=/my9nj.com/gfwlist +server=/paypal-online.info/127.0.0.1#5335 +ipset=/paypal-online.info/gfwlist +server=/nikeliuxiang.com/127.0.0.1#5335 +ipset=/nikeliuxiang.com/gfwlist +server=/mastercardadvisors.com/127.0.0.1#5335 +ipset=/mastercardadvisors.com/gfwlist +server=/visa.gd/127.0.0.1#5335 +ipset=/visa.gd/gfwlist +server=/scholar.google.no/127.0.0.1#5335 +ipset=/scholar.google.no/gfwlist +server=/awscommandlineinterface.com/127.0.0.1#5335 +ipset=/awscommandlineinterface.com/gfwlist +server=/vpro.net/127.0.0.1#5335 +ipset=/vpro.net/gfwlist +server=/youtube.ba/127.0.0.1#5335 +ipset=/youtube.ba/gfwlist +server=/bmw.ma/127.0.0.1#5335 +ipset=/bmw.ma/gfwlist +server=/baxsound.com/127.0.0.1#5335 +ipset=/baxsound.com/gfwlist +server=/hulutv.com/127.0.0.1#5335 +ipset=/hulutv.com/gfwlist +server=/supremacy.net/127.0.0.1#5335 +ipset=/supremacy.net/gfwlist +server=/facebyook.com/127.0.0.1#5335 +ipset=/facebyook.com/gfwlist +server=/canon.de/127.0.0.1#5335 +ipset=/canon.de/gfwlist +server=/addthisedge.com/127.0.0.1#5335 +ipset=/addthisedge.com/gfwlist +server=/pearsoned.co.nz/127.0.0.1#5335 +ipset=/pearsoned.co.nz/gfwlist +server=/pearson.com.uy/127.0.0.1#5335 +ipset=/pearson.com.uy/gfwlist +server=/nvidia.co.at/127.0.0.1#5335 +ipset=/nvidia.co.at/gfwlist +server=/foxphiladelphia.com/127.0.0.1#5335 +ipset=/foxphiladelphia.com/gfwlist +server=/alpherafs.my/127.0.0.1#5335 +ipset=/alpherafs.my/gfwlist +server=/monsterbeatsnegozi.net/127.0.0.1#5335 +ipset=/monsterbeatsnegozi.net/gfwlist +server=/bmw-motorrad.com.ar/127.0.0.1#5335 +ipset=/bmw-motorrad.com.ar/gfwlist +server=/imac.co/127.0.0.1#5335 +ipset=/imac.co/gfwlist +server=/gtv.org/127.0.0.1#5335 +ipset=/gtv.org/gfwlist +server=/icloud.si/127.0.0.1#5335 +ipset=/icloud.si/gfwlist +server=/redd.it/127.0.0.1#5335 +ipset=/redd.it/gfwlist +server=/litv.tv/127.0.0.1#5335 +ipset=/litv.tv/gfwlist +server=/thesims.com/127.0.0.1#5335 +ipset=/thesims.com/gfwlist +server=/apple.pt/127.0.0.1#5335 +ipset=/apple.pt/gfwlist +server=/blizzardgearstore.com/127.0.0.1#5335 +ipset=/blizzardgearstore.com/gfwlist +server=/rootsigning.com/127.0.0.1#5335 +ipset=/rootsigning.com/gfwlist +server=/airmay.com/127.0.0.1#5335 +ipset=/airmay.com/gfwlist +server=/thomsonreuters.co.jp/127.0.0.1#5335 +ipset=/thomsonreuters.co.jp/gfwlist +server=/shop.app/127.0.0.1#5335 +ipset=/shop.app/gfwlist +server=/mysql.com/127.0.0.1#5335 +ipset=/mysql.com/gfwlist +server=/kijji.ca/127.0.0.1#5335 +ipset=/kijji.ca/gfwlist +server=/imac.rs/127.0.0.1#5335 +ipset=/imac.rs/gfwlist +server=/ig.me/127.0.0.1#5335 +ipset=/ig.me/gfwlist +server=/2mdn.net/127.0.0.1#5335 +ipset=/2mdn.net/gfwlist +server=/siege-amazon.com/127.0.0.1#5335 +ipset=/siege-amazon.com/gfwlist +server=/nixos.org/127.0.0.1#5335 +ipset=/nixos.org/gfwlist +server=/javhd3x.com/127.0.0.1#5335 +ipset=/javhd3x.com/gfwlist +server=/travelex.com.tr/127.0.0.1#5335 +ipset=/travelex.com.tr/gfwlist +server=/microsoftlinc.com/127.0.0.1#5335 +ipset=/microsoftlinc.com/gfwlist +server=/bmw.co.za/127.0.0.1#5335 +ipset=/bmw.co.za/gfwlist +server=/youjizz.com/127.0.0.1#5335 +ipset=/youjizz.com/gfwlist +server=/nurofen.com.sg/127.0.0.1#5335 +ipset=/nurofen.com.sg/gfwlist +server=/infrapedia.com/127.0.0.1#5335 +ipset=/infrapedia.com/gfwlist +server=/apple.in/127.0.0.1#5335 +ipset=/apple.in/gfwlist +server=/heroku.co/127.0.0.1#5335 +ipset=/heroku.co/gfwlist +server=/bethesda.net/127.0.0.1#5335 +ipset=/bethesda.net/gfwlist +server=/realclearhealth.com/127.0.0.1#5335 +ipset=/realclearhealth.com/gfwlist +server=/verisign.hk/127.0.0.1#5335 +ipset=/verisign.hk/gfwlist +server=/fbidb.io/127.0.0.1#5335 +ipset=/fbidb.io/gfwlist +server=/a.91gay.me/127.0.0.1#5335 +ipset=/a.91gay.me/gfwlist +server=/xn--p8j9a0d9c9a.xn--q9jyb4c/127.0.0.1#5335 +ipset=/xn--p8j9a0d9c9a.xn--q9jyb4c/gfwlist +server=/rocketfishproducts.com/127.0.0.1#5335 +ipset=/rocketfishproducts.com/gfwlist +server=/facebookbrand.com/127.0.0.1#5335 +ipset=/facebookbrand.com/gfwlist +server=/facebookcheats.com/127.0.0.1#5335 +ipset=/facebookcheats.com/gfwlist +server=/modular.im/127.0.0.1#5335 +ipset=/modular.im/gfwlist +server=/duckduckgo.sg/127.0.0.1#5335 +ipset=/duckduckgo.sg/gfwlist +server=/pearsonassessment.fr/127.0.0.1#5335 +ipset=/pearsonassessment.fr/gfwlist +server=/miniusaservice.com/127.0.0.1#5335 +ipset=/miniusaservice.com/gfwlist +server=/now.com/127.0.0.1#5335 +ipset=/now.com/gfwlist +server=/recoiljs.org/127.0.0.1#5335 +ipset=/recoiljs.org/gfwlist +server=/pintool.com/127.0.0.1#5335 +ipset=/pintool.com/gfwlist +server=/pinterest.fr/127.0.0.1#5335 +ipset=/pinterest.fr/gfwlist +server=/facebooknews.com/127.0.0.1#5335 +ipset=/facebooknews.com/gfwlist +server=/meraki-go.com/127.0.0.1#5335 +ipset=/meraki-go.com/gfwlist +server=/devm2m.com/127.0.0.1#5335 +ipset=/devm2m.com/gfwlist +server=/faceebok.com/127.0.0.1#5335 +ipset=/faceebok.com/gfwlist +server=/arphic.com.tw/127.0.0.1#5335 +ipset=/arphic.com.tw/gfwlist +server=/linuxmint.com/127.0.0.1#5335 +ipset=/linuxmint.com/gfwlist +server=/repsils.no/127.0.0.1#5335 +ipset=/repsils.no/gfwlist +server=/yahoo.ch/127.0.0.1#5335 +ipset=/yahoo.ch/gfwlist +server=/intel.se/127.0.0.1#5335 +ipset=/intel.se/gfwlist +server=/veet.com.co/127.0.0.1#5335 +ipset=/veet.com.co/gfwlist +server=/foxsports.com.py/127.0.0.1#5335 +ipset=/foxsports.com.py/gfwlist +server=/zeit-world.co.uk/127.0.0.1#5335 +ipset=/zeit-world.co.uk/gfwlist +server=/monsterbeatsok.com/127.0.0.1#5335 +ipset=/monsterbeatsok.com/gfwlist +server=/fb.me/127.0.0.1#5335 +ipset=/fb.me/gfwlist +server=/ciscolivehls-i.akamaihd.net/127.0.0.1#5335 +ipset=/ciscolivehls-i.akamaihd.net/gfwlist +server=/applf.com/127.0.0.1#5335 +ipset=/applf.com/gfwlist +server=/is.gd/127.0.0.1#5335 +ipset=/is.gd/gfwlist +server=/mini-connected.lu/127.0.0.1#5335 +ipset=/mini-connected.lu/gfwlist +server=/ipleadership.org/127.0.0.1#5335 +ipset=/ipleadership.org/gfwlist +server=/google.lv/127.0.0.1#5335 +ipset=/google.lv/gfwlist +server=/needforspeedstreetkings.com/127.0.0.1#5335 +ipset=/needforspeedstreetkings.com/gfwlist +server=/airwick.fi/127.0.0.1#5335 +ipset=/airwick.fi/gfwlist +server=/facebook123.org/127.0.0.1#5335 +ipset=/facebook123.org/gfwlist +server=/112263.com/127.0.0.1#5335 +ipset=/112263.com/gfwlist +server=/trellocdn.com/127.0.0.1#5335 +ipset=/trellocdn.com/gfwlist +server=/volvotruckcenter.be/127.0.0.1#5335 +ipset=/volvotruckcenter.be/gfwlist +server=/volvotrucks.co.zw/127.0.0.1#5335 +ipset=/volvotrucks.co.zw/gfwlist +server=/devtools-paypal.com/127.0.0.1#5335 +ipset=/devtools-paypal.com/gfwlist +server=/tfhub.dev/127.0.0.1#5335 +ipset=/tfhub.dev/gfwlist +server=/vfsco.ee/127.0.0.1#5335 +ipset=/vfsco.ee/gfwlist +server=/bmw-welt.com/127.0.0.1#5335 +ipset=/bmw-welt.com/gfwlist +server=/bmwpittsburgh.com/127.0.0.1#5335 +ipset=/bmwpittsburgh.com/gfwlist +server=/vmw.com/127.0.0.1#5335 +ipset=/vmw.com/gfwlist +server=/venmo.s3.amazonaws.com/127.0.0.1#5335 +ipset=/venmo.s3.amazonaws.com/gfwlist +server=/connect-in-canada.com/127.0.0.1#5335 +ipset=/connect-in-canada.com/gfwlist +server=/canon.se/127.0.0.1#5335 +ipset=/canon.se/gfwlist +server=/beatsbydreirelandsonline.com/127.0.0.1#5335 +ipset=/beatsbydreirelandsonline.com/gfwlist +server=/mobile.de/127.0.0.1#5335 +ipset=/mobile.de/gfwlist +server=/nikeshoes21.com/127.0.0.1#5335 +ipset=/nikeshoes21.com/gfwlist +server=/beatsbydreaustraliaonlines.com/127.0.0.1#5335 +ipset=/beatsbydreaustraliaonlines.com/gfwlist +server=/flipshare.com/127.0.0.1#5335 +ipset=/flipshare.com/gfwlist +server=/ngeo.com/127.0.0.1#5335 +ipset=/ngeo.com/gfwlist +server=/alphabet.co.za/127.0.0.1#5335 +ipset=/alphabet.co.za/gfwlist +server=/donkeykongcountryreturns.com/127.0.0.1#5335 +ipset=/donkeykongcountryreturns.com/gfwlist +server=/2beatsdre.com/127.0.0.1#5335 +ipset=/2beatsdre.com/gfwlist +server=/ciscolearningsystem.com/127.0.0.1#5335 +ipset=/ciscolearningsystem.com/gfwlist +server=/applecomputer.com/127.0.0.1#5335 +ipset=/applecomputer.com/gfwlist +server=/duckduckgo.dk/127.0.0.1#5335 +ipset=/duckduckgo.dk/gfwlist +server=/onestore.ms/127.0.0.1#5335 +ipset=/onestore.ms/gfwlist +server=/applewatchseries3.net/127.0.0.1#5335 +ipset=/applewatchseries3.net/gfwlist +server=/mkto-c0100.com/127.0.0.1#5335 +ipset=/mkto-c0100.com/gfwlist +server=/bmw.bm/127.0.0.1#5335 +ipset=/bmw.bm/gfwlist +server=/thechronicle.com.au/127.0.0.1#5335 +ipset=/thechronicle.com.au/gfwlist +server=/withyoutube.com/127.0.0.1#5335 +ipset=/withyoutube.com/gfwlist +server=/sandisk.ae/127.0.0.1#5335 +ipset=/sandisk.ae/gfwlist +server=/ddg.gg/127.0.0.1#5335 +ipset=/ddg.gg/gfwlist +server=/macbook.tw/127.0.0.1#5335 +ipset=/macbook.tw/gfwlist +server=/mini.fi/127.0.0.1#5335 +ipset=/mini.fi/gfwlist +server=/vine.co/127.0.0.1#5335 +ipset=/vine.co/gfwlist +server=/youtube.hk/127.0.0.1#5335 +ipset=/youtube.hk/gfwlist +server=/pyhapp.com/127.0.0.1#5335 +ipset=/pyhapp.com/gfwlist +server=/epinions.com/127.0.0.1#5335 +ipset=/epinions.com/gfwlist +server=/bmw-i.jp/127.0.0.1#5335 +ipset=/bmw-i.jp/gfwlist +server=/what-fan.net/127.0.0.1#5335 +ipset=/what-fan.net/gfwlist +server=/ebayjewelry.com/127.0.0.1#5335 +ipset=/ebayjewelry.com/gfwlist +server=/tryengineering.org/127.0.0.1#5335 +ipset=/tryengineering.org/gfwlist +server=/onsaletrend.com/127.0.0.1#5335 +ipset=/onsaletrend.com/gfwlist +server=/facebookland.com/127.0.0.1#5335 +ipset=/facebookland.com/gfwlist +server=/chinadecoding.com/127.0.0.1#5335 +ipset=/chinadecoding.com/gfwlist +server=/ipoditouch.com/127.0.0.1#5335 +ipset=/ipoditouch.com/gfwlist +server=/bmw-motorrad.pa/127.0.0.1#5335 +ipset=/bmw-motorrad.pa/gfwlist +server=/getcomposer.org/127.0.0.1#5335 +ipset=/getcomposer.org/gfwlist +server=/akamai-platform-internal.net/127.0.0.1#5335 +ipset=/akamai-platform-internal.net/gfwlist +server=/trydurex.tv/127.0.0.1#5335 +ipset=/trydurex.tv/gfwlist +server=/google.az/127.0.0.1#5335 +ipset=/google.az/gfwlist +server=/airwick.si/127.0.0.1#5335 +ipset=/airwick.si/gfwlist +server=/applestore.com.jo/127.0.0.1#5335 +ipset=/applestore.com.jo/gfwlist +server=/mini-srilanka.com/127.0.0.1#5335 +ipset=/mini-srilanka.com/gfwlist +server=/casquebeatssolo.net/127.0.0.1#5335 +ipset=/casquebeatssolo.net/gfwlist +server=/usatodaynetworkservice.com/127.0.0.1#5335 +ipset=/usatodaynetworkservice.com/gfwlist +server=/zendesk.com/127.0.0.1#5335 +ipset=/zendesk.com/gfwlist +server=/javwide.tv/127.0.0.1#5335 +ipset=/javwide.tv/gfwlist +server=/visaluxuryhotelcollection.com.br/127.0.0.1#5335 +ipset=/visaluxuryhotelcollection.com.br/gfwlist +server=/q10.jp/127.0.0.1#5335 +ipset=/q10.jp/gfwlist +server=/volvobuses.mx/127.0.0.1#5335 +ipset=/volvobuses.mx/gfwlist +server=/stackage.org/127.0.0.1#5335 +ipset=/stackage.org/gfwlist +server=/spotify-everywhere.com/127.0.0.1#5335 +ipset=/spotify-everywhere.com/gfwlist +server=/shopifystatus.com/127.0.0.1#5335 +ipset=/shopifystatus.com/gfwlist +server=/danmarkbeatsbydrdre.com/127.0.0.1#5335 +ipset=/danmarkbeatsbydrdre.com/gfwlist +server=/oxfordaasc.com/127.0.0.1#5335 +ipset=/oxfordaasc.com/gfwlist +server=/cheapmonsterbeatsheadsets.com/127.0.0.1#5335 +ipset=/cheapmonsterbeatsheadsets.com/gfwlist +server=/golang.net/127.0.0.1#5335 +ipset=/golang.net/gfwlist +server=/snapseed.com/127.0.0.1#5335 +ipset=/snapseed.com/gfwlist +server=/tictoc.video/127.0.0.1#5335 +ipset=/tictoc.video/gfwlist +server=/vmtestdrive.com/127.0.0.1#5335 +ipset=/vmtestdrive.com/gfwlist +server=/elsevier.com/127.0.0.1#5335 +ipset=/elsevier.com/gfwlist +server=/volvotrucks.mn/127.0.0.1#5335 +ipset=/volvotrucks.mn/gfwlist +server=/yzzk.com/127.0.0.1#5335 +ipset=/yzzk.com/gfwlist +server=/comodoca.com/127.0.0.1#5335 +ipset=/comodoca.com/gfwlist +server=/ipadpro.buzz/127.0.0.1#5335 +ipset=/ipadpro.buzz/gfwlist +server=/hulu.com/127.0.0.1#5335 +ipset=/hulu.com/gfwlist +server=/pypi.io/127.0.0.1#5335 +ipset=/pypi.io/gfwlist +server=/bmw-mountains.com/127.0.0.1#5335 +ipset=/bmw-mountains.com/gfwlist +server=/ebayworlds.com/127.0.0.1#5335 +ipset=/ebayworlds.com/gfwlist +server=/google.com.sl/127.0.0.1#5335 +ipset=/google.com.sl/gfwlist +server=/insidevoa.com/127.0.0.1#5335 +ipset=/insidevoa.com/gfwlist +server=/pokemonpicross.com/127.0.0.1#5335 +ipset=/pokemonpicross.com/gfwlist +server=/freecodecamp.org/127.0.0.1#5335 +ipset=/freecodecamp.org/gfwlist +server=/bmw-motorrad.sa/127.0.0.1#5335 +ipset=/bmw-motorrad.sa/gfwlist +server=/paypal-portal.com/127.0.0.1#5335 +ipset=/paypal-portal.com/gfwlist +server=/versly.com/127.0.0.1#5335 +ipset=/versly.com/gfwlist +server=/myfoxatlanta.com/127.0.0.1#5335 +ipset=/myfoxatlanta.com/gfwlist +server=/bmw.dz/127.0.0.1#5335 +ipset=/bmw.dz/gfwlist +server=/airtunes.net/127.0.0.1#5335 +ipset=/airtunes.net/gfwlist +server=/beatspaschers.net/127.0.0.1#5335 +ipset=/beatspaschers.net/gfwlist +server=/stackoverflow.email/127.0.0.1#5335 +ipset=/stackoverflow.email/gfwlist +server=/lysol.net/127.0.0.1#5335 +ipset=/lysol.net/gfwlist +server=/paypalcreditcard.com/127.0.0.1#5335 +ipset=/paypalcreditcard.com/gfwlist +server=/nurofen.at/127.0.0.1#5335 +ipset=/nurofen.at/gfwlist +server=/facebooik.com/127.0.0.1#5335 +ipset=/facebooik.com/gfwlist +server=/miniso.co/127.0.0.1#5335 +ipset=/miniso.co/gfwlist +server=/businessinsider.co.za/127.0.0.1#5335 +ipset=/businessinsider.co.za/gfwlist +server=/apple.my/127.0.0.1#5335 +ipset=/apple.my/gfwlist +server=/disneymagicmoments.co.za/127.0.0.1#5335 +ipset=/disneymagicmoments.co.za/gfwlist +server=/hpto.net/127.0.0.1#5335 +ipset=/hpto.net/gfwlist +server=/pricelesshonolulu.com/127.0.0.1#5335 +ipset=/pricelesshonolulu.com/gfwlist +server=/facebook-hardware.com/127.0.0.1#5335 +ipset=/facebook-hardware.com/gfwlist +server=/adblockplus.org/127.0.0.1#5335 +ipset=/adblockplus.org/gfwlist +server=/shopee.co.id/127.0.0.1#5335 +ipset=/shopee.co.id/gfwlist +server=/iphonecollcase.com/127.0.0.1#5335 +ipset=/iphonecollcase.com/gfwlist +server=/adobe.com/127.0.0.1#5335 +ipset=/adobe.com/gfwlist +server=/mongodb.com/127.0.0.1#5335 +ipset=/mongodb.com/gfwlist +server=/bloomberg.cn/127.0.0.1#5335 +ipset=/bloomberg.cn/gfwlist +server=/redtube.com/127.0.0.1#5335 +ipset=/redtube.com/gfwlist +server=/apple.jp/127.0.0.1#5335 +ipset=/apple.jp/gfwlist +server=/tweetdeck.com/127.0.0.1#5335 +ipset=/tweetdeck.com/gfwlist +server=/connectcommerce.tv/127.0.0.1#5335 +ipset=/connectcommerce.tv/gfwlist +server=/aboutamazon.eu/127.0.0.1#5335 +ipset=/aboutamazon.eu/gfwlist +server=/bmw-world.com/127.0.0.1#5335 +ipset=/bmw-world.com/gfwlist +server=/douya.org/127.0.0.1#5335 +ipset=/douya.org/gfwlist +server=/braintreepaymentsolutions.com/127.0.0.1#5335 +ipset=/braintreepaymentsolutions.com/gfwlist +server=/gostorego.com/127.0.0.1#5335 +ipset=/gostorego.com/gfwlist +server=/gettr.com/127.0.0.1#5335 +ipset=/gettr.com/gfwlist +server=/apple-expo.eu/127.0.0.1#5335 +ipset=/apple-expo.eu/gfwlist +server=/4chan.org/127.0.0.1#5335 +ipset=/4chan.org/gfwlist +server=/creativecloud.com/127.0.0.1#5335 +ipset=/creativecloud.com/gfwlist +server=/feacbook.com/127.0.0.1#5335 +ipset=/feacbook.com/gfwlist +server=/thesffblog.com/127.0.0.1#5335 +ipset=/thesffblog.com/gfwlist +server=/nikepress.com/127.0.0.1#5335 +ipset=/nikepress.com/gfwlist +server=/nintendo3ds.com/127.0.0.1#5335 +ipset=/nintendo3ds.com/gfwlist +server=/beatsfactoryoutles.com/127.0.0.1#5335 +ipset=/beatsfactoryoutles.com/gfwlist +server=/apple.sk/127.0.0.1#5335 +ipset=/apple.sk/gfwlist +server=/spreadprivacy.com/127.0.0.1#5335 +ipset=/spreadprivacy.com/gfwlist +server=/swisssigngroup.com/127.0.0.1#5335 +ipset=/swisssigngroup.com/gfwlist +server=/minimontrealcentre.ca/127.0.0.1#5335 +ipset=/minimontrealcentre.ca/gfwlist +server=/fox5storm.com/127.0.0.1#5335 +ipset=/fox5storm.com/gfwlist +server=/newsupermariobrosu.com/127.0.0.1#5335 +ipset=/newsupermariobrosu.com/gfwlist +server=/discordapp.com/127.0.0.1#5335 +ipset=/discordapp.com/gfwlist +server=/dailytelegraph.com.au/127.0.0.1#5335 +ipset=/dailytelegraph.com.au/gfwlist +server=/insider.com/127.0.0.1#5335 +ipset=/insider.com/gfwlist +server=/phncdn.com/127.0.0.1#5335 +ipset=/phncdn.com/gfwlist +server=/ebayeletro.com/127.0.0.1#5335 +ipset=/ebayeletro.com/gfwlist +server=/macbookpro.com.au/127.0.0.1#5335 +ipset=/macbookpro.com.au/gfwlist +server=/nikeproduct.com/127.0.0.1#5335 +ipset=/nikeproduct.com/gfwlist +server=/bmw-connected-drive.com/127.0.0.1#5335 +ipset=/bmw-connected-drive.com/gfwlist +server=/kamisama-maeda-lab.com/127.0.0.1#5335 +ipset=/kamisama-maeda-lab.com/gfwlist +server=/finish.de/127.0.0.1#5335 +ipset=/finish.de/gfwlist +server=/epochtimestr.com/127.0.0.1#5335 +ipset=/epochtimestr.com/gfwlist +server=/mail.ru/127.0.0.1#5335 +ipset=/mail.ru/gfwlist +server=/driving.co.uk/127.0.0.1#5335 +ipset=/driving.co.uk/gfwlist +server=/microsoft.vn/127.0.0.1#5335 +ipset=/microsoft.vn/gfwlist +server=/mojang.com/127.0.0.1#5335 +ipset=/mojang.com/gfwlist +server=/apple.rs/127.0.0.1#5335 +ipset=/apple.rs/gfwlist +server=/beatsbydre-store.com/127.0.0.1#5335 +ipset=/beatsbydre-store.com/gfwlist +server=/area120.com/127.0.0.1#5335 +ipset=/area120.com/gfwlist +server=/pearsonclinical.no/127.0.0.1#5335 +ipset=/pearsonclinical.no/gfwlist +server=/bmw-welt.net/127.0.0.1#5335 +ipset=/bmw-welt.net/gfwlist +server=/miniso.uz/127.0.0.1#5335 +ipset=/miniso.uz/gfwlist +server=/thestandard.com.hk/127.0.0.1#5335 +ipset=/thestandard.com.hk/gfwlist +server=/youtube.md/127.0.0.1#5335 +ipset=/youtube.md/gfwlist +server=/whychooseview.com/127.0.0.1#5335 +ipset=/whychooseview.com/gfwlist +server=/ntdca.com/127.0.0.1#5335 +ipset=/ntdca.com/gfwlist +server=/mzstatic.com/127.0.0.1#5335 +ipset=/mzstatic.com/gfwlist +server=/amazon-adsystem.com/127.0.0.1#5335 +ipset=/amazon-adsystem.com/gfwlist +server=/linkedin.com/127.0.0.1#5335 +ipset=/linkedin.com/gfwlist +server=/uverse.com/127.0.0.1#5335 +ipset=/uverse.com/gfwlist +server=/bmw.com.bd/127.0.0.1#5335 +ipset=/bmw.com.bd/gfwlist +server=/mastercard.com.bh/127.0.0.1#5335 +ipset=/mastercard.com.bh/gfwlist +server=/nikefootballgloves.com/127.0.0.1#5335 +ipset=/nikefootballgloves.com/gfwlist +server=/microsoftstore.com.hk/127.0.0.1#5335 +ipset=/microsoftstore.com.hk/gfwlist +server=/imoviestage.com/127.0.0.1#5335 +ipset=/imoviestage.com/gfwlist +server=/minimoncton.com/127.0.0.1#5335 +ipset=/minimoncton.com/gfwlist +server=/linguee.com/127.0.0.1#5335 +ipset=/linguee.com/gfwlist +server=/oraclefoundation.org/127.0.0.1#5335 +ipset=/oraclefoundation.org/gfwlist +server=/epochtimes.com.sg/127.0.0.1#5335 +ipset=/epochtimes.com.sg/gfwlist +server=/icloud.jp/127.0.0.1#5335 +ipset=/icloud.jp/gfwlist +server=/minivictoria.com/127.0.0.1#5335 +ipset=/minivictoria.com/gfwlist +server=/bridgestone.co.cr/127.0.0.1#5335 +ipset=/bridgestone.co.cr/gfwlist +server=/visa.com.kn/127.0.0.1#5335 +ipset=/visa.com.kn/gfwlist +server=/icloud.ro/127.0.0.1#5335 +ipset=/icloud.ro/gfwlist +server=/sorcerersarena.com/127.0.0.1#5335 +ipset=/sorcerersarena.com/gfwlist +server=/attcenter.com/127.0.0.1#5335 +ipset=/attcenter.com/gfwlist +server=/canon-cmos-sensors.com/127.0.0.1#5335 +ipset=/canon-cmos-sensors.com/gfwlist +server=/w3schools.com/127.0.0.1#5335 +ipset=/w3schools.com/gfwlist +server=/nurofen.net/127.0.0.1#5335 +ipset=/nurofen.net/gfwlist +server=/faceboon.com/127.0.0.1#5335 +ipset=/faceboon.com/gfwlist +server=/ebaytrading.com/127.0.0.1#5335 +ipset=/ebaytrading.com/gfwlist +server=/calgon.fr/127.0.0.1#5335 +ipset=/calgon.fr/gfwlist +server=/faceidglobal.com/127.0.0.1#5335 +ipset=/faceidglobal.com/gfwlist +server=/vanish.com.ar/127.0.0.1#5335 +ipset=/vanish.com.ar/gfwlist +server=/visa.fi/127.0.0.1#5335 +ipset=/visa.fi/gfwlist +server=/kscisco.com/127.0.0.1#5335 +ipset=/kscisco.com/gfwlist +server=/akamaientrypoint.net/127.0.0.1#5335 +ipset=/akamaientrypoint.net/gfwlist +server=/cheapheadphonesland.com/127.0.0.1#5335 +ipset=/cheapheadphonesland.com/gfwlist +server=/iphone-x.tv/127.0.0.1#5335 +ipset=/iphone-x.tv/gfwlist +server=/bidorbuyindia.com/127.0.0.1#5335 +ipset=/bidorbuyindia.com/gfwlist +server=/foxsportsracing.com/127.0.0.1#5335 +ipset=/foxsportsracing.com/gfwlist +server=/intel.gr/127.0.0.1#5335 +ipset=/intel.gr/gfwlist +server=/vanishstains.com/127.0.0.1#5335 +ipset=/vanishstains.com/gfwlist +server=/mini.com.co/127.0.0.1#5335 +ipset=/mini.com.co/gfwlist +server=/sportswomenoftheyear.co.uk/127.0.0.1#5335 +ipset=/sportswomenoftheyear.co.uk/gfwlist +server=/itunesiradio.com/127.0.0.1#5335 +ipset=/itunesiradio.com/gfwlist +server=/myfoxboston.com/127.0.0.1#5335 +ipset=/myfoxboston.com/gfwlist +server=/bmw-connecteddrive.com.mt/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com.mt/gfwlist +server=/eachpay.com/127.0.0.1#5335 +ipset=/eachpay.com/gfwlist +server=/cloudflarestatus.com/127.0.0.1#5335 +ipset=/cloudflarestatus.com/gfwlist +server=/hqporner.com/127.0.0.1#5335 +ipset=/hqporner.com/gfwlist +server=/disney.co.za/127.0.0.1#5335 +ipset=/disney.co.za/gfwlist +server=/newmonsterbeatsheadphones.com/127.0.0.1#5335 +ipset=/newmonsterbeatsheadphones.com/gfwlist +server=/youtube.com.bh/127.0.0.1#5335 +ipset=/youtube.com.bh/gfwlist +server=/wpewebkit.org/127.0.0.1#5335 +ipset=/wpewebkit.org/gfwlist +server=/apress.com/127.0.0.1#5335 +ipset=/apress.com/gfwlist +server=/canon.ch/127.0.0.1#5335 +ipset=/canon.ch/gfwlist +server=/mastercardconnect.com/127.0.0.1#5335 +ipset=/mastercardconnect.com/gfwlist +server=/go-lang.com/127.0.0.1#5335 +ipset=/go-lang.com/gfwlist +server=/scholar.google.com.ec/127.0.0.1#5335 +ipset=/scholar.google.com.ec/gfwlist +server=/nikefactorystore.com/127.0.0.1#5335 +ipset=/nikefactorystore.com/gfwlist +server=/applestore.net.gr/127.0.0.1#5335 +ipset=/applestore.net.gr/gfwlist +server=/mastercardbusinessnetwork.com/127.0.0.1#5335 +ipset=/mastercardbusinessnetwork.com/gfwlist +server=/mini.at/127.0.0.1#5335 +ipset=/mini.at/gfwlist +server=/nvidia.com.ua/127.0.0.1#5335 +ipset=/nvidia.com.ua/gfwlist +server=/apple.se/127.0.0.1#5335 +ipset=/apple.se/gfwlist +server=/nikeshoesretro.com/127.0.0.1#5335 +ipset=/nikeshoesretro.com/gfwlist +server=/simg.jp/127.0.0.1#5335 +ipset=/simg.jp/gfwlist +server=/nikeresponsibility.com/127.0.0.1#5335 +ipset=/nikeresponsibility.com/gfwlist +server=/bmw-motorrad.com.hr/127.0.0.1#5335 +ipset=/bmw-motorrad.com.hr/gfwlist +server=/pearsonassessment.de/127.0.0.1#5335 +ipset=/pearsonassessment.de/gfwlist +server=/mysinchew.com/127.0.0.1#5335 +ipset=/mysinchew.com/gfwlist +server=/drdreheadphonebeats.com/127.0.0.1#5335 +ipset=/drdreheadphonebeats.com/gfwlist +server=/hooloo.tv/127.0.0.1#5335 +ipset=/hooloo.tv/gfwlist +server=/cloudfunctions.net/127.0.0.1#5335 +ipset=/cloudfunctions.net/gfwlist +server=/microsoft.it/127.0.0.1#5335 +ipset=/microsoft.it/gfwlist +server=/veet.com.my/127.0.0.1#5335 +ipset=/veet.com.my/gfwlist +server=/appleimac.com/127.0.0.1#5335 +ipset=/appleimac.com/gfwlist +server=/fnlondon.com/127.0.0.1#5335 +ipset=/fnlondon.com/gfwlist +server=/nikeairmaxshoes.com/127.0.0.1#5335 +ipset=/nikeairmaxshoes.com/gfwlist +server=/marketo.net/127.0.0.1#5335 +ipset=/marketo.net/gfwlist +server=/slackhq.com/127.0.0.1#5335 +ipset=/slackhq.com/gfwlist +server=/launchpadlibrarian.net/127.0.0.1#5335 +ipset=/launchpadlibrarian.net/gfwlist +server=/beatsone.net/127.0.0.1#5335 +ipset=/beatsone.net/gfwlist +server=/rolls-roycecullinan.com/127.0.0.1#5335 +ipset=/rolls-roycecullinan.com/gfwlist +server=/starbucks.com.ar/127.0.0.1#5335 +ipset=/starbucks.com.ar/gfwlist +server=/mcdonaldsarabia.com/127.0.0.1#5335 +ipset=/mcdonaldsarabia.com/gfwlist +server=/bmw-motorsport.com/127.0.0.1#5335 +ipset=/bmw-motorsport.com/gfwlist +server=/reutersmedia.net/127.0.0.1#5335 +ipset=/reutersmedia.net/gfwlist +server=/jetbrains.net/127.0.0.1#5335 +ipset=/jetbrains.net/gfwlist +server=/elixir-lang.org/127.0.0.1#5335 +ipset=/elixir-lang.org/gfwlist +server=/winhec.net/127.0.0.1#5335 +ipset=/winhec.net/gfwlist +server=/adhelpnews.com/127.0.0.1#5335 +ipset=/adhelpnews.com/gfwlist +server=/bmw-connecteddrive.ee/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ee/gfwlist +server=/widgets.stripst.com/127.0.0.1#5335 +ipset=/widgets.stripst.com/gfwlist +server=/breakdown.me/127.0.0.1#5335 +ipset=/breakdown.me/gfwlist +server=/2buybeatsbydre.com/127.0.0.1#5335 +ipset=/2buybeatsbydre.com/gfwlist +server=/popcap.com/127.0.0.1#5335 +ipset=/popcap.com/gfwlist +server=/whyfacebook.com/127.0.0.1#5335 +ipset=/whyfacebook.com/gfwlist +server=/economistgroup.com/127.0.0.1#5335 +ipset=/economistgroup.com/gfwlist +server=/bmw.cw/127.0.0.1#5335 +ipset=/bmw.cw/gfwlist +server=/canon.lt/127.0.0.1#5335 +ipset=/canon.lt/gfwlist +server=/drebeats-australia.com/127.0.0.1#5335 +ipset=/drebeats-australia.com/gfwlist +server=/hpmini.com/127.0.0.1#5335 +ipset=/hpmini.com/gfwlist +server=/supercoach.com.au/127.0.0.1#5335 +ipset=/supercoach.com.au/gfwlist +server=/mastercard.com.tw/127.0.0.1#5335 +ipset=/mastercard.com.tw/gfwlist +server=/netflixdnstest3.com/127.0.0.1#5335 +ipset=/netflixdnstest3.com/gfwlist +server=/funnyfacebook.org/127.0.0.1#5335 +ipset=/funnyfacebook.org/gfwlist +server=/swiftbank.info/127.0.0.1#5335 +ipset=/swiftbank.info/gfwlist +server=/ebay68.com/127.0.0.1#5335 +ipset=/ebay68.com/gfwlist +server=/mastercardrestaurant.com/127.0.0.1#5335 +ipset=/mastercardrestaurant.com/gfwlist +server=/gamer.com.tw/127.0.0.1#5335 +ipset=/gamer.com.tw/gfwlist +server=/mobatek.net/127.0.0.1#5335 +ipset=/mobatek.net/gfwlist +server=/softbank.jp/127.0.0.1#5335 +ipset=/softbank.jp/gfwlist +server=/fandango.com/127.0.0.1#5335 +ipset=/fandango.com/gfwlist +server=/iphone-sh.com/127.0.0.1#5335 +ipset=/iphone-sh.com/gfwlist +server=/frishoes.com/127.0.0.1#5335 +ipset=/frishoes.com/gfwlist +server=/ipadair.com.es/127.0.0.1#5335 +ipset=/ipadair.com.es/gfwlist +server=/xxbay.com/127.0.0.1#5335 +ipset=/xxbay.com/gfwlist +server=/vfsco.mx/127.0.0.1#5335 +ipset=/vfsco.mx/gfwlist +server=/google.st/127.0.0.1#5335 +ipset=/google.st/gfwlist +server=/macbookair.jp/127.0.0.1#5335 +ipset=/macbookair.jp/gfwlist +server=/vhxqa3.com/127.0.0.1#5335 +ipset=/vhxqa3.com/gfwlist +server=/oxfordreference.com/127.0.0.1#5335 +ipset=/oxfordreference.com/gfwlist +server=/foxsports2.com/127.0.0.1#5335 +ipset=/foxsports2.com/gfwlist +server=/google.com.bz/127.0.0.1#5335 +ipset=/google.com.bz/gfwlist +server=/recode.net/127.0.0.1#5335 +ipset=/recode.net/gfwlist +server=/rarbgproxy.org/127.0.0.1#5335 +ipset=/rarbgproxy.org/gfwlist +server=/nfsworld.com/127.0.0.1#5335 +ipset=/nfsworld.com/gfwlist +server=/foxcorporation.com/127.0.0.1#5335 +ipset=/foxcorporation.com/gfwlist +server=/volvotrucks.ru/127.0.0.1#5335 +ipset=/volvotrucks.ru/gfwlist +server=/apple-online.com/127.0.0.1#5335 +ipset=/apple-online.com/gfwlist +server=/cheaperbeatsbydresale.com/127.0.0.1#5335 +ipset=/cheaperbeatsbydresale.com/gfwlist +server=/lldns.net/127.0.0.1#5335 +ipset=/lldns.net/gfwlist +server=/sony.ie/127.0.0.1#5335 +ipset=/sony.ie/gfwlist +server=/rarbgmirror.org/127.0.0.1#5335 +ipset=/rarbgmirror.org/gfwlist +server=/mastercard.bg/127.0.0.1#5335 +ipset=/mastercard.bg/gfwlist +server=/fafacebook.com/127.0.0.1#5335 +ipset=/fafacebook.com/gfwlist +server=/hpjav.tv/127.0.0.1#5335 +ipset=/hpjav.tv/gfwlist +server=/woflthenewsstation.com/127.0.0.1#5335 +ipset=/woflthenewsstation.com/gfwlist +server=/cnnmoney.ch/127.0.0.1#5335 +ipset=/cnnmoney.ch/gfwlist +server=/beatsbysdrdres.com/127.0.0.1#5335 +ipset=/beatsbysdrdres.com/gfwlist +server=/epochtimes.co.kr/127.0.0.1#5335 +ipset=/epochtimes.co.kr/gfwlist +server=/amazonliterarypartnership.com/127.0.0.1#5335 +ipset=/amazonliterarypartnership.com/gfwlist +server=/bmw.ly/127.0.0.1#5335 +ipset=/bmw.ly/gfwlist +server=/esri.com/127.0.0.1#5335 +ipset=/esri.com/gfwlist +server=/instagor.com/127.0.0.1#5335 +ipset=/instagor.com/gfwlist +server=/cheerwholesale.us/127.0.0.1#5335 +ipset=/cheerwholesale.us/gfwlist +server=/tsquare.tv/127.0.0.1#5335 +ipset=/tsquare.tv/gfwlist +server=/jsdelivr.com/127.0.0.1#5335 +ipset=/jsdelivr.com/gfwlist +server=/cheapbagshoes.com/127.0.0.1#5335 +ipset=/cheapbagshoes.com/gfwlist +server=/ebayshopping.org/127.0.0.1#5335 +ipset=/ebayshopping.org/gfwlist +server=/bmwproductnews.com/127.0.0.1#5335 +ipset=/bmwproductnews.com/gfwlist +server=/spotify.com/127.0.0.1#5335 +ipset=/spotify.com/gfwlist +server=/ebayedu.com/127.0.0.1#5335 +ipset=/ebayedu.com/gfwlist +server=/mastercard.com.tr/127.0.0.1#5335 +ipset=/mastercard.com.tr/gfwlist +server=/starbucksslovakia.sk/127.0.0.1#5335 +ipset=/starbucksslovakia.sk/gfwlist +server=/ipa-iphone.net/127.0.0.1#5335 +ipset=/ipa-iphone.net/gfwlist +server=/directvbusinessmarket.com/127.0.0.1#5335 +ipset=/directvbusinessmarket.com/gfwlist +server=/starbucksromania.ro/127.0.0.1#5335 +ipset=/starbucksromania.ro/gfwlist +server=/starbucksrewardsstarland.ca/127.0.0.1#5335 +ipset=/starbucksrewardsstarland.ca/gfwlist +server=/cisco.com/127.0.0.1#5335 +ipset=/cisco.com/gfwlist +server=/myfreecams.com/127.0.0.1#5335 +ipset=/myfreecams.com/gfwlist +server=/starbucksreserve.com/127.0.0.1#5335 +ipset=/starbucksreserve.com/gfwlist +server=/sony.com.mk/127.0.0.1#5335 +ipset=/sony.com.mk/gfwlist +server=/linuxfromscratch.org/127.0.0.1#5335 +ipset=/linuxfromscratch.org/gfwlist +server=/swtor.net/127.0.0.1#5335 +ipset=/swtor.net/gfwlist +server=/starbucksforlife.com/127.0.0.1#5335 +ipset=/starbucksforlife.com/gfwlist +server=/bmw-connecteddrive.com.kw/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com.kw/gfwlist +server=/dettol.hu/127.0.0.1#5335 +ipset=/dettol.hu/gfwlist +server=/starbucksforlife.ca/127.0.0.1#5335 +ipset=/starbucksforlife.ca/gfwlist +server=/buypass.no/127.0.0.1#5335 +ipset=/buypass.no/gfwlist +server=/starbuckscoffeegearstore.com/127.0.0.1#5335 +ipset=/starbuckscoffeegearstore.com/gfwlist +server=/foxcincy.jobs/127.0.0.1#5335 +ipset=/foxcincy.jobs/gfwlist +server=/youtube.com.gh/127.0.0.1#5335 +ipset=/youtube.com.gh/gfwlist +server=/starbuckscoffee.cz/127.0.0.1#5335 +ipset=/starbuckscoffee.cz/gfwlist +server=/abema.tv/127.0.0.1#5335 +ipset=/abema.tv/gfwlist +server=/uug23.com/127.0.0.1#5335 +ipset=/uug23.com/gfwlist +server=/starbuckscard.ph/127.0.0.1#5335 +ipset=/starbuckscard.ph/gfwlist +server=/expresswifi.com/127.0.0.1#5335 +ipset=/expresswifi.com/gfwlist +server=/exascale-tech.com/127.0.0.1#5335 +ipset=/exascale-tech.com/gfwlist +server=/starbucksavie.ca/127.0.0.1#5335 +ipset=/starbucksavie.ca/gfwlist +server=/strepsils.ro/127.0.0.1#5335 +ipset=/strepsils.ro/gfwlist +server=/snap.com/127.0.0.1#5335 +ipset=/snap.com/gfwlist +server=/starbucks.tt/127.0.0.1#5335 +ipset=/starbucks.tt/gfwlist +server=/starbucks.se/127.0.0.1#5335 +ipset=/starbucks.se/gfwlist +server=/starbucks.ru/127.0.0.1#5335 +ipset=/starbucks.ru/gfwlist +server=/starbucks.rs/127.0.0.1#5335 +ipset=/starbucks.rs/gfwlist +server=/starbucks.pt/127.0.0.1#5335 +ipset=/starbucks.pt/gfwlist +server=/hackfacebookid.com/127.0.0.1#5335 +ipset=/hackfacebookid.com/gfwlist +server=/starbucks.pl/127.0.0.1#5335 +ipset=/starbucks.pl/gfwlist +server=/useplannr.com/127.0.0.1#5335 +ipset=/useplannr.com/gfwlist +server=/sony.com.hn/127.0.0.1#5335 +ipset=/sony.com.hn/gfwlist +server=/starbucks.no/127.0.0.1#5335 +ipset=/starbucks.no/gfwlist +server=/starbucks.nl/127.0.0.1#5335 +ipset=/starbucks.nl/gfwlist +server=/starbucks.in/127.0.0.1#5335 +ipset=/starbucks.in/gfwlist +server=/bloomberglive.com/127.0.0.1#5335 +ipset=/bloomberglive.com/gfwlist +server=/starbucks.hu/127.0.0.1#5335 +ipset=/starbucks.hu/gfwlist +server=/inlethd.com/127.0.0.1#5335 +ipset=/inlethd.com/gfwlist +server=/ytimg.com/127.0.0.1#5335 +ipset=/ytimg.com/gfwlist +server=/espn.co.uk/127.0.0.1#5335 +ipset=/espn.co.uk/gfwlist +server=/zohopublic.com/127.0.0.1#5335 +ipset=/zohopublic.com/gfwlist +server=/disney.hu/127.0.0.1#5335 +ipset=/disney.hu/gfwlist +server=/mastercard.com.vn/127.0.0.1#5335 +ipset=/mastercard.com.vn/gfwlist +server=/starbucks.com.uy/127.0.0.1#5335 +ipset=/starbucks.com.uy/gfwlist +server=/bmw-connecteddrive.es/127.0.0.1#5335 +ipset=/bmw-connecteddrive.es/gfwlist +server=/bandag.com/127.0.0.1#5335 +ipset=/bandag.com/gfwlist +server=/zeeentertainment.com/127.0.0.1#5335 +ipset=/zeeentertainment.com/gfwlist +server=/visanet.net/127.0.0.1#5335 +ipset=/visanet.net/gfwlist +server=/paper-attachments.s3.amazonaws.com/127.0.0.1#5335 +ipset=/paper-attachments.s3.amazonaws.com/gfwlist +server=/rbsgr.com/127.0.0.1#5335 +ipset=/rbsgr.com/gfwlist +server=/starbucks.com.sg/127.0.0.1#5335 +ipset=/starbucks.com.sg/gfwlist +server=/bmwmyanmar.com/127.0.0.1#5335 +ipset=/bmwmyanmar.com/gfwlist +server=/starbucks.com.pe/127.0.0.1#5335 +ipset=/starbucks.com.pe/gfwlist +server=/starbucks.com.my/127.0.0.1#5335 +ipset=/starbucks.com.my/gfwlist +server=/sony.com.gt/127.0.0.1#5335 +ipset=/sony.com.gt/gfwlist +server=/starbucks.com.mx/127.0.0.1#5335 +ipset=/starbucks.com.mx/gfwlist +server=/bmw.com.mx/127.0.0.1#5335 +ipset=/bmw.com.mx/gfwlist +server=/intel.wf/127.0.0.1#5335 +ipset=/intel.wf/gfwlist +server=/starbucks.com.kz/127.0.0.1#5335 +ipset=/starbucks.com.kz/gfwlist +server=/cbssvideo.com/127.0.0.1#5335 +ipset=/cbssvideo.com/gfwlist +server=/hottestheadphonesonline.com/127.0.0.1#5335 +ipset=/hottestheadphonesonline.com/gfwlist +server=/acheterfollowersinstagram.com/127.0.0.1#5335 +ipset=/acheterfollowersinstagram.com/gfwlist +server=/nike.gy/127.0.0.1#5335 +ipset=/nike.gy/gfwlist +server=/starbucks.com.hk/127.0.0.1#5335 +ipset=/starbucks.com.hk/gfwlist +server=/starbucks.com.cy/127.0.0.1#5335 +ipset=/starbucks.com.cy/gfwlist +server=/starbucks.com/127.0.0.1#5335 +ipset=/starbucks.com/gfwlist +server=/starbucks.co.za/127.0.0.1#5335 +ipset=/starbucks.co.za/gfwlist +server=/slack.com/127.0.0.1#5335 +ipset=/slack.com/gfwlist +server=/gputechconf.com/127.0.0.1#5335 +ipset=/gputechconf.com/gfwlist +server=/starbucks.co.nz/127.0.0.1#5335 +ipset=/starbucks.co.nz/gfwlist +server=/paypal-gpplus.com/127.0.0.1#5335 +ipset=/paypal-gpplus.com/gfwlist +server=/starbucks.co.jp/127.0.0.1#5335 +ipset=/starbucks.co.jp/gfwlist +server=/starbucks.ca/127.0.0.1#5335 +ipset=/starbucks.ca/gfwlist +server=/mastercard.ru/127.0.0.1#5335 +ipset=/mastercard.ru/gfwlist +server=/nvidia.co.jp/127.0.0.1#5335 +ipset=/nvidia.co.jp/gfwlist +server=/bmw.co.kr/127.0.0.1#5335 +ipset=/bmw.co.kr/gfwlist +server=/watchdisneyfe.com/127.0.0.1#5335 +ipset=/watchdisneyfe.com/gfwlist +server=/bitflyer.jp/127.0.0.1#5335 +ipset=/bitflyer.jp/gfwlist +server=/pinterest.se/127.0.0.1#5335 +ipset=/pinterest.se/gfwlist +server=/visa.com.ag/127.0.0.1#5335 +ipset=/visa.com.ag/gfwlist +server=/mingwatch.com/127.0.0.1#5335 +ipset=/mingwatch.com/gfwlist +server=/swisstsa.ch/127.0.0.1#5335 +ipset=/swisstsa.ch/gfwlist +server=/starbucks.be/127.0.0.1#5335 +ipset=/starbucks.be/gfwlist +server=/technics.com/127.0.0.1#5335 +ipset=/technics.com/gfwlist +server=/universalpictures.com/127.0.0.1#5335 +ipset=/universalpictures.com/gfwlist +server=/starbucks.at/127.0.0.1#5335 +ipset=/starbucks.at/gfwlist +server=/starbucks-stars.com/127.0.0.1#5335 +ipset=/starbucks-stars.com/gfwlist +server=/gog-statics.com/127.0.0.1#5335 +ipset=/gog-statics.com/gfwlist +server=/sbuxcard.com/127.0.0.1#5335 +ipset=/sbuxcard.com/gfwlist +server=/azuredns-prd.org/127.0.0.1#5335 +ipset=/azuredns-prd.org/gfwlist +server=/sbux.com.my/127.0.0.1#5335 +ipset=/sbux.com.my/gfwlist +server=/thinkofliving.com/127.0.0.1#5335 +ipset=/thinkofliving.com/gfwlist +server=/watchinese.com/127.0.0.1#5335 +ipset=/watchinese.com/gfwlist +server=/wix-code.com/127.0.0.1#5335 +ipset=/wix-code.com/gfwlist +server=/nikedunks.net/127.0.0.1#5335 +ipset=/nikedunks.net/gfwlist +server=/realtor.com/127.0.0.1#5335 +ipset=/realtor.com/gfwlist +server=/codecademy.com/127.0.0.1#5335 +ipset=/codecademy.com/gfwlist +server=/cortanaskills.com/127.0.0.1#5335 +ipset=/cortanaskills.com/gfwlist +server=/netflixinvestor.com/127.0.0.1#5335 +ipset=/netflixinvestor.com/gfwlist +server=/realcommercial.com.au/127.0.0.1#5335 +ipset=/realcommercial.com.au/gfwlist +server=/rea.tech/127.0.0.1#5335 +ipset=/rea.tech/gfwlist +server=/bmw-motorrad-abudhabi.com/127.0.0.1#5335 +ipset=/bmw-motorrad-abudhabi.com/gfwlist +server=/paypal-status.com/127.0.0.1#5335 +ipset=/paypal-status.com/gfwlist +server=/rea.global/127.0.0.1#5335 +ipset=/rea.global/gfwlist +server=/googleblog.com/127.0.0.1#5335 +ipset=/googleblog.com/gfwlist +server=/hpgift.com/127.0.0.1#5335 +ipset=/hpgift.com/gfwlist +server=/tvb.com.au/127.0.0.1#5335 +ipset=/tvb.com.au/gfwlist +server=/harpercollins.co.in/127.0.0.1#5335 +ipset=/harpercollins.co.in/gfwlist +server=/rea-group.com/127.0.0.1#5335 +ipset=/rea-group.com/gfwlist +server=/adwords-community.com/127.0.0.1#5335 +ipset=/adwords-community.com/gfwlist +server=/escapestudios.co.uk/127.0.0.1#5335 +ipset=/escapestudios.co.uk/gfwlist +server=/rea-asia.com/127.0.0.1#5335 +ipset=/rea-asia.com/gfwlist +server=/proptiger.com/127.0.0.1#5335 +ipset=/proptiger.com/gfwlist +server=/mariosupersluggers.com/127.0.0.1#5335 +ipset=/mariosupersluggers.com/gfwlist +server=/adidas.com.sa/127.0.0.1#5335 +ipset=/adidas.com.sa/gfwlist +server=/scholar.google.com.br/127.0.0.1#5335 +ipset=/scholar.google.com.br/gfwlist +server=/myfun.com/127.0.0.1#5335 +ipset=/myfun.com/gfwlist +server=/watchespn.com/127.0.0.1#5335 +ipset=/watchespn.com/gfwlist +server=/beatsbydrefrcasquepascher.com/127.0.0.1#5335 +ipset=/beatsbydrefrcasquepascher.com/gfwlist +server=/moveaws.com/127.0.0.1#5335 +ipset=/moveaws.com/gfwlist +server=/monsterbeatsbydrebilligde.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrebilligde.com/gfwlist +server=/byspotify.com/127.0.0.1#5335 +ipset=/byspotify.com/gfwlist +server=/ebayon.net/127.0.0.1#5335 +ipset=/ebayon.net/gfwlist +server=/move.com/127.0.0.1#5335 +ipset=/move.com/gfwlist +server=/makaan.com/127.0.0.1#5335 +ipset=/makaan.com/gfwlist +server=/intel.com.hk/127.0.0.1#5335 +ipset=/intel.com.hk/gfwlist +server=/visa.com.au/127.0.0.1#5335 +ipset=/visa.com.au/gfwlist +server=/bmw-motorrad.com.au/127.0.0.1#5335 +ipset=/bmw-motorrad.com.au/gfwlist +server=/windowsazure.com/127.0.0.1#5335 +ipset=/windowsazure.com/gfwlist +server=/iproperty.com.my/127.0.0.1#5335 +ipset=/iproperty.com.my/gfwlist +server=/iproperty.com/127.0.0.1#5335 +ipset=/iproperty.com/gfwlist +server=/ippstatic.com/127.0.0.1#5335 +ipset=/ippstatic.com/gfwlist +server=/inventorship.com.au/127.0.0.1#5335 +ipset=/inventorship.com.au/gfwlist +server=/streamingdisney.net/127.0.0.1#5335 +ipset=/streamingdisney.net/gfwlist +server=/shoppinguheadphones.com/127.0.0.1#5335 +ipset=/shoppinguheadphones.com/gfwlist +server=/housingcdn.com/127.0.0.1#5335 +ipset=/housingcdn.com/gfwlist +server=/ebayaustralia.com/127.0.0.1#5335 +ipset=/ebayaustralia.com/gfwlist +server=/nextdigital.com.tw/127.0.0.1#5335 +ipset=/nextdigital.com.tw/gfwlist +server=/hometrack.com.au/127.0.0.1#5335 +ipset=/hometrack.com.au/gfwlist +server=/nurofen.sk/127.0.0.1#5335 +ipset=/nurofen.sk/gfwlist +server=/directvpromotions.com/127.0.0.1#5335 +ipset=/directvpromotions.com/gfwlist +server=/durex.com.hr/127.0.0.1#5335 +ipset=/durex.com.hr/gfwlist +server=/reckittbenckiser.com/127.0.0.1#5335 +ipset=/reckittbenckiser.com/gfwlist +server=/reckitt.net/127.0.0.1#5335 +ipset=/reckitt.net/gfwlist +server=/rbspeakup.com/127.0.0.1#5335 +ipset=/rbspeakup.com/gfwlist +server=/uber-assets.com/127.0.0.1#5335 +ipset=/uber-assets.com/gfwlist +server=/rbrandlibrary.com/127.0.0.1#5335 +ipset=/rbrandlibrary.com/gfwlist +server=/rbplc.com/127.0.0.1#5335 +ipset=/rbplc.com/gfwlist +server=/rbnainternational.com/127.0.0.1#5335 +ipset=/rbnainternational.com/gfwlist +server=/finish.com.hr/127.0.0.1#5335 +ipset=/finish.com.hr/gfwlist +server=/dropboxmail.com/127.0.0.1#5335 +ipset=/dropboxmail.com/gfwlist +server=/elephantsdream.org/127.0.0.1#5335 +ipset=/elephantsdream.org/gfwlist +server=/rbmavericks.com/127.0.0.1#5335 +ipset=/rbmavericks.com/gfwlist +server=/beatsofdre-usa.com/127.0.0.1#5335 +ipset=/beatsofdre-usa.com/gfwlist +server=/rbgraduates.com/127.0.0.1#5335 +ipset=/rbgraduates.com/gfwlist +server=/intel.bs/127.0.0.1#5335 +ipset=/intel.bs/gfwlist +server=/bestbuy-int.com/127.0.0.1#5335 +ipset=/bestbuy-int.com/gfwlist +server=/rbeuroinfo.com/127.0.0.1#5335 +ipset=/rbeuroinfo.com/gfwlist +server=/rbdigitallab.com/127.0.0.1#5335 +ipset=/rbdigitallab.com/gfwlist +server=/nikeitaly.com/127.0.0.1#5335 +ipset=/nikeitaly.com/gfwlist +server=/theweek.in/127.0.0.1#5335 +ipset=/theweek.in/gfwlist +server=/disney.cz/127.0.0.1#5335 +ipset=/disney.cz/gfwlist +server=/beatsbydrdreus.com/127.0.0.1#5335 +ipset=/beatsbydrdreus.com/gfwlist +server=/rb.com/127.0.0.1#5335 +ipset=/rb.com/gfwlist +server=/sony.sk/127.0.0.1#5335 +ipset=/sony.sk/gfwlist +server=/macbook.co/127.0.0.1#5335 +ipset=/macbook.co/gfwlist +server=/woolitecarpet.com/127.0.0.1#5335 +ipset=/woolitecarpet.com/gfwlist +server=/woolite.us/127.0.0.1#5335 +ipset=/woolite.us/gfwlist +server=/mastercardcenter.org/127.0.0.1#5335 +ipset=/mastercardcenter.org/gfwlist +server=/woolite.pl/127.0.0.1#5335 +ipset=/woolite.pl/gfwlist +server=/userapi.com/127.0.0.1#5335 +ipset=/userapi.com/gfwlist +server=/finish.co.uk/127.0.0.1#5335 +ipset=/finish.co.uk/gfwlist +server=/woolite.ca/127.0.0.1#5335 +ipset=/woolite.ca/gfwlist +server=/adsenseformobileapps.com/127.0.0.1#5335 +ipset=/adsenseformobileapps.com/gfwlist +server=/veetclub.it/127.0.0.1#5335 +ipset=/veetclub.it/gfwlist +server=/pa9pal.com/127.0.0.1#5335 +ipset=/pa9pal.com/gfwlist +server=/aomedia.org/127.0.0.1#5335 +ipset=/aomedia.org/gfwlist +server=/cheapnikedunks.com/127.0.0.1#5335 +ipset=/cheapnikedunks.com/gfwlist +server=/lolstatic-a.akamaihd.net/127.0.0.1#5335 +ipset=/lolstatic-a.akamaihd.net/gfwlist +server=/veetarabia.com/127.0.0.1#5335 +ipset=/veetarabia.com/gfwlist +server=/dragoniscoming.com/127.0.0.1#5335 +ipset=/dragoniscoming.com/gfwlist +server=/discord.new/127.0.0.1#5335 +ipset=/discord.new/gfwlist +server=/gitlab.io/127.0.0.1#5335 +ipset=/gitlab.io/gfwlist +server=/applestore.co.ug/127.0.0.1#5335 +ipset=/applestore.co.ug/gfwlist +server=/llnw.com/127.0.0.1#5335 +ipset=/llnw.com/gfwlist +server=/pscdn.co/127.0.0.1#5335 +ipset=/pscdn.co/gfwlist +server=/sverigebeatsbydrdre.com/127.0.0.1#5335 +ipset=/sverigebeatsbydrdre.com/gfwlist +server=/bmwgroup.net/127.0.0.1#5335 +ipset=/bmwgroup.net/gfwlist +server=/igoshopping.net/127.0.0.1#5335 +ipset=/igoshopping.net/gfwlist +server=/veet.ru/127.0.0.1#5335 +ipset=/veet.ru/gfwlist +server=/intel.sr/127.0.0.1#5335 +ipset=/intel.sr/gfwlist +server=/veet.ro/127.0.0.1#5335 +ipset=/veet.ro/gfwlist +server=/veet.pt/127.0.0.1#5335 +ipset=/veet.pt/gfwlist +server=/veet.nl/127.0.0.1#5335 +ipset=/veet.nl/gfwlist +server=/shelfstuff.com/127.0.0.1#5335 +ipset=/shelfstuff.com/gfwlist +server=/veet.hu/127.0.0.1#5335 +ipset=/veet.hu/gfwlist +server=/veet.fr/127.0.0.1#5335 +ipset=/veet.fr/gfwlist +server=/veet.fi/127.0.0.1#5335 +ipset=/veet.fi/gfwlist +server=/veet.es/127.0.0.1#5335 +ipset=/veet.es/gfwlist +server=/blogoverflow.com/127.0.0.1#5335 +ipset=/blogoverflow.com/gfwlist +server=/pigav.com/127.0.0.1#5335 +ipset=/pigav.com/gfwlist +server=/keytransparency.org/127.0.0.1#5335 +ipset=/keytransparency.org/gfwlist +server=/veet.de/127.0.0.1#5335 +ipset=/veet.de/gfwlist +server=/veet.com.tr/127.0.0.1#5335 +ipset=/veet.com.tr/gfwlist +server=/mini.it/127.0.0.1#5335 +ipset=/mini.it/gfwlist +server=/veet.com.sg/127.0.0.1#5335 +ipset=/veet.com.sg/gfwlist +server=/apexprint.com.hk/127.0.0.1#5335 +ipset=/apexprint.com.hk/gfwlist +server=/hpcampus.com/127.0.0.1#5335 +ipset=/hpcampus.com/gfwlist +server=/youtube.com.hr/127.0.0.1#5335 +ipset=/youtube.com.hr/gfwlist +server=/bigbigchannel.com.hk/127.0.0.1#5335 +ipset=/bigbigchannel.com.hk/gfwlist +server=/12diasderegalosdeitunes.cr/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.cr/gfwlist +server=/bmw.com.py/127.0.0.1#5335 +ipset=/bmw.com.py/gfwlist +server=/arcgisonline.com/127.0.0.1#5335 +ipset=/arcgisonline.com/gfwlist +server=/veet.com.pk/127.0.0.1#5335 +ipset=/veet.com.pk/gfwlist +server=/verizonfios.com/127.0.0.1#5335 +ipset=/verizonfios.com/gfwlist +server=/veet.com.ph/127.0.0.1#5335 +ipset=/veet.com.ph/gfwlist +server=/pinterest.ch/127.0.0.1#5335 +ipset=/pinterest.ch/gfwlist +server=/rocksdb.com/127.0.0.1#5335 +ipset=/rocksdb.com/gfwlist +server=/meraki.hk/127.0.0.1#5335 +ipset=/meraki.hk/gfwlist +server=/veet.com.hk/127.0.0.1#5335 +ipset=/veet.com.hk/gfwlist +server=/veet.com.br/127.0.0.1#5335 +ipset=/veet.com.br/gfwlist +server=/ntdvn.com/127.0.0.1#5335 +ipset=/ntdvn.com/gfwlist +server=/sony.rs/127.0.0.1#5335 +ipset=/sony.rs/gfwlist +server=/veet.com.bd/127.0.0.1#5335 +ipset=/veet.com.bd/gfwlist +server=/veet.com.au/127.0.0.1#5335 +ipset=/veet.com.au/gfwlist +server=/durex.ie/127.0.0.1#5335 +ipset=/durex.ie/gfwlist +server=/gacebook.com/127.0.0.1#5335 +ipset=/gacebook.com/gfwlist +server=/veet.co.za/127.0.0.1#5335 +ipset=/veet.co.za/gfwlist +server=/nikecloud.com/127.0.0.1#5335 +ipset=/nikecloud.com/gfwlist +server=/raspbian.org/127.0.0.1#5335 +ipset=/raspbian.org/gfwlist +server=/veet.co.in/127.0.0.1#5335 +ipset=/veet.co.in/gfwlist +server=/playoverwatch.com/127.0.0.1#5335 +ipset=/playoverwatch.com/gfwlist +server=/veet.co.id/127.0.0.1#5335 +ipset=/veet.co.id/gfwlist +server=/ciscolearningsociety.org/127.0.0.1#5335 +ipset=/ciscolearningsociety.org/gfwlist +server=/bmw.gr/127.0.0.1#5335 +ipset=/bmw.gr/gfwlist +server=/durex.com.sg/127.0.0.1#5335 +ipset=/durex.com.sg/gfwlist +server=/garena.tw/127.0.0.1#5335 +ipset=/garena.tw/gfwlist +server=/canon.com.al/127.0.0.1#5335 +ipset=/canon.com.al/gfwlist +server=/veet.ch/127.0.0.1#5335 +ipset=/veet.ch/gfwlist +server=/veet.ca/127.0.0.1#5335 +ipset=/veet.ca/gfwlist +server=/jwplatform.com/127.0.0.1#5335 +ipset=/jwplatform.com/gfwlist +server=/ilife.eu/127.0.0.1#5335 +ipset=/ilife.eu/gfwlist +server=/veet.at/127.0.0.1#5335 +ipset=/veet.at/gfwlist +server=/vanishinfo.cz/127.0.0.1#5335 +ipset=/vanishinfo.cz/gfwlist +server=/vanishbancaseulook.com.br/127.0.0.1#5335 +ipset=/vanishbancaseulook.com.br/gfwlist +server=/vanisharabia.com/127.0.0.1#5335 +ipset=/vanisharabia.com/gfwlist +server=/vanish.sk/127.0.0.1#5335 +ipset=/vanish.sk/gfwlist +server=/vanish.se/127.0.0.1#5335 +ipset=/vanish.se/gfwlist +server=/nineentertainment.com.au/127.0.0.1#5335 +ipset=/nineentertainment.com.au/gfwlist +server=/flathub.org/127.0.0.1#5335 +ipset=/flathub.org/gfwlist +server=/uoherald.com/127.0.0.1#5335 +ipset=/uoherald.com/gfwlist +server=/ebahy.com/127.0.0.1#5335 +ipset=/ebahy.com/gfwlist +server=/bmwbikes.com/127.0.0.1#5335 +ipset=/bmwbikes.com/gfwlist +server=/squareup.com/127.0.0.1#5335 +ipset=/squareup.com/gfwlist +server=/vanish.pl/127.0.0.1#5335 +ipset=/vanish.pl/gfwlist +server=/sling.com/127.0.0.1#5335 +ipset=/sling.com/gfwlist +server=/dragonagemovie.com/127.0.0.1#5335 +ipset=/dragonagemovie.com/gfwlist +server=/googil.com/127.0.0.1#5335 +ipset=/googil.com/gfwlist +server=/monstershopcheapbeats.net/127.0.0.1#5335 +ipset=/monstershopcheapbeats.net/gfwlist +server=/1monsterbeatsbydreus.com/127.0.0.1#5335 +ipset=/1monsterbeatsbydreus.com/gfwlist +server=/vanish.hu/127.0.0.1#5335 +ipset=/vanish.hu/gfwlist +server=/quicktake.video/127.0.0.1#5335 +ipset=/quicktake.video/gfwlist +server=/mastercard.inc/127.0.0.1#5335 +ipset=/mastercard.inc/gfwlist +server=/gamebeforethegame.com/127.0.0.1#5335 +ipset=/gamebeforethegame.com/gfwlist +server=/apple.sg/127.0.0.1#5335 +ipset=/apple.sg/gfwlist +server=/paypal-brandcentral.com/127.0.0.1#5335 +ipset=/paypal-brandcentral.com/gfwlist +server=/trustedanalytics.net/127.0.0.1#5335 +ipset=/trustedanalytics.net/gfwlist +server=/akamaietpcompromisedmalwaretest.com/127.0.0.1#5335 +ipset=/akamaietpcompromisedmalwaretest.com/gfwlist +server=/vanish.fr/127.0.0.1#5335 +ipset=/vanish.fr/gfwlist +server=/friendfeedmedia.com/127.0.0.1#5335 +ipset=/friendfeedmedia.com/gfwlist +server=/cell.com/127.0.0.1#5335 +ipset=/cell.com/gfwlist +server=/dell.com/127.0.0.1#5335 +ipset=/dell.com/gfwlist +server=/vanish.fi/127.0.0.1#5335 +ipset=/vanish.fi/gfwlist +server=/garena.co.id/127.0.0.1#5335 +ipset=/garena.co.id/gfwlist +server=/cloudburstresearch.com/127.0.0.1#5335 +ipset=/cloudburstresearch.com/gfwlist +server=/vanish.dk/127.0.0.1#5335 +ipset=/vanish.dk/gfwlist +server=/vanish.de/127.0.0.1#5335 +ipset=/vanish.de/gfwlist +server=/vanish.com.sg/127.0.0.1#5335 +ipset=/vanish.com.sg/gfwlist +server=/vanish.com.pe/127.0.0.1#5335 +ipset=/vanish.com.pe/gfwlist +server=/vanish.com.my/127.0.0.1#5335 +ipset=/vanish.com.my/gfwlist +server=/vanish.com.mx/127.0.0.1#5335 +ipset=/vanish.com.mx/gfwlist +server=/whatsapp-plus.info/127.0.0.1#5335 +ipset=/whatsapp-plus.info/gfwlist +server=/vanish.com.hr/127.0.0.1#5335 +ipset=/vanish.com.hr/gfwlist +server=/cheapwireless04.com/127.0.0.1#5335 +ipset=/cheapwireless04.com/gfwlist +server=/tenbyfotolia.com/127.0.0.1#5335 +ipset=/tenbyfotolia.com/gfwlist +server=/springernature.com/127.0.0.1#5335 +ipset=/springernature.com/gfwlist +server=/itools.info/127.0.0.1#5335 +ipset=/itools.info/gfwlist +server=/themarvelexperiencetour.com/127.0.0.1#5335 +ipset=/themarvelexperiencetour.com/gfwlist +server=/vanish.co.nz/127.0.0.1#5335 +ipset=/vanish.co.nz/gfwlist +server=/mini-windsor.ca/127.0.0.1#5335 +ipset=/mini-windsor.ca/gfwlist +server=/slinginternational.com/127.0.0.1#5335 +ipset=/slinginternational.com/gfwlist +server=/pinterest.co/127.0.0.1#5335 +ipset=/pinterest.co/gfwlist +server=/vanish.co.il/127.0.0.1#5335 +ipset=/vanish.co.il/gfwlist +server=/stc-server.com/127.0.0.1#5335 +ipset=/stc-server.com/gfwlist +server=/fbcdn-a.akamaihd.net/127.0.0.1#5335 +ipset=/fbcdn-a.akamaihd.net/gfwlist +server=/instagram-help.com/127.0.0.1#5335 +ipset=/instagram-help.com/gfwlist +server=/cilk.com/127.0.0.1#5335 +ipset=/cilk.com/gfwlist +server=/cheapdrdrebeats8.com/127.0.0.1#5335 +ipset=/cheapdrdrebeats8.com/gfwlist +server=/vanish.be/127.0.0.1#5335 +ipset=/vanish.be/gfwlist +server=/spraynwash.com/127.0.0.1#5335 +ipset=/spraynwash.com/gfwlist +server=/javhd.pro/127.0.0.1#5335 +ipset=/javhd.pro/gfwlist +server=/foxsports.sv/127.0.0.1#5335 +ipset=/foxsports.sv/gfwlist +server=/volvotrucks.cz/127.0.0.1#5335 +ipset=/volvotrucks.cz/gfwlist +server=/nurofen.de/127.0.0.1#5335 +ipset=/nurofen.de/gfwlist +server=/ycombinator.com/127.0.0.1#5335 +ipset=/ycombinator.com/gfwlist +server=/intel.mp/127.0.0.1#5335 +ipset=/intel.mp/gfwlist +server=/intel.com.ph/127.0.0.1#5335 +ipset=/intel.com.ph/gfwlist +server=/hpwsn.com/127.0.0.1#5335 +ipset=/hpwsn.com/gfwlist +server=/o2action.co.kr/127.0.0.1#5335 +ipset=/o2action.co.kr/gfwlist +server=/strepsils.us/127.0.0.1#5335 +ipset=/strepsils.us/gfwlist +server=/mini.co.uk/127.0.0.1#5335 +ipset=/mini.co.uk/gfwlist +server=/strepsils.ru/127.0.0.1#5335 +ipset=/strepsils.ru/gfwlist +server=/ichineseporn.com/127.0.0.1#5335 +ipset=/ichineseporn.com/gfwlist +server=/starbucks.vn/127.0.0.1#5335 +ipset=/starbucks.vn/gfwlist +server=/qwapi.com/127.0.0.1#5335 +ipset=/qwapi.com/gfwlist +server=/strepsils.pt/127.0.0.1#5335 +ipset=/strepsils.pt/gfwlist +server=/attsavings.com/127.0.0.1#5335 +ipset=/attsavings.com/gfwlist +server=/sony.co.kr/127.0.0.1#5335 +ipset=/sony.co.kr/gfwlist +server=/lysol.com/127.0.0.1#5335 +ipset=/lysol.com/gfwlist +server=/foxsportsla.com/127.0.0.1#5335 +ipset=/foxsportsla.com/gfwlist +server=/timelinestoryteller.com/127.0.0.1#5335 +ipset=/timelinestoryteller.com/gfwlist +server=/strepsils.pl/127.0.0.1#5335 +ipset=/strepsils.pl/gfwlist +server=/vmworld.com/127.0.0.1#5335 +ipset=/vmworld.com/gfwlist +server=/sonybuilding.jp/127.0.0.1#5335 +ipset=/sonybuilding.jp/gfwlist +server=/strepsils.net/127.0.0.1#5335 +ipset=/strepsils.net/gfwlist +server=/strepsils.ie/127.0.0.1#5335 +ipset=/strepsils.ie/gfwlist +server=/appleone.film/127.0.0.1#5335 +ipset=/appleone.film/gfwlist +server=/strepsils.fr/127.0.0.1#5335 +ipset=/strepsils.fr/gfwlist +server=/strepsils.fi/127.0.0.1#5335 +ipset=/strepsils.fi/gfwlist +server=/disneyaulani.com/127.0.0.1#5335 +ipset=/disneyaulani.com/gfwlist +server=/z5.app/127.0.0.1#5335 +ipset=/z5.app/gfwlist +server=/strepsils.es/127.0.0.1#5335 +ipset=/strepsils.es/gfwlist +server=/strepsils.com.hk/127.0.0.1#5335 +ipset=/strepsils.com.hk/gfwlist +server=/strepsils.com.au/127.0.0.1#5335 +ipset=/strepsils.com.au/gfwlist +server=/disneymagicmoments.gen.tr/127.0.0.1#5335 +ipset=/disneymagicmoments.gen.tr/gfwlist +server=/google.ventures/127.0.0.1#5335 +ipset=/google.ventures/gfwlist +server=/monster-beats-by-dr-dre.com/127.0.0.1#5335 +ipset=/monster-beats-by-dr-dre.com/gfwlist +server=/momomall.com.tw/127.0.0.1#5335 +ipset=/momomall.com.tw/gfwlist +server=/directvrebate.com/127.0.0.1#5335 +ipset=/directvrebate.com/gfwlist +server=/strepsils.co.nz/127.0.0.1#5335 +ipset=/strepsils.co.nz/gfwlist +server=/heroesofdragonage.com/127.0.0.1#5335 +ipset=/heroesofdragonage.com/gfwlist +server=/cheapbeatsshopbydre.com/127.0.0.1#5335 +ipset=/cheapbeatsshopbydre.com/gfwlist +server=/plos.org/127.0.0.1#5335 +ipset=/plos.org/gfwlist +server=/workstations.tv/127.0.0.1#5335 +ipset=/workstations.tv/gfwlist +server=/strepsils.at/127.0.0.1#5335 +ipset=/strepsils.at/gfwlist +server=/jav168.cc/127.0.0.1#5335 +ipset=/jav168.cc/gfwlist +server=/dobendan.de/127.0.0.1#5335 +ipset=/dobendan.de/gfwlist +server=/cepacol.com/127.0.0.1#5335 +ipset=/cepacol.com/gfwlist +server=/deviantart.com/127.0.0.1#5335 +ipset=/deviantart.com/gfwlist +server=/apyle.com/127.0.0.1#5335 +ipset=/apyle.com/gfwlist +server=/nurofensk-prod-env.eu-west-1.elasticbeanstalk.com/127.0.0.1#5335 +ipset=/nurofensk-prod-env.eu-west-1.elasticbeanstalk.com/gfwlist +server=/visadigital.com/127.0.0.1#5335 +ipset=/visadigital.com/gfwlist +server=/hackday.com.au/127.0.0.1#5335 +ipset=/hackday.com.au/gfwlist +server=/yibei.org/127.0.0.1#5335 +ipset=/yibei.org/gfwlist +server=/nurofen.pt/127.0.0.1#5335 +ipset=/nurofen.pt/gfwlist +server=/realamericanstories.org/127.0.0.1#5335 +ipset=/realamericanstories.org/gfwlist +server=/volvopenta.fr/127.0.0.1#5335 +ipset=/volvopenta.fr/gfwlist +server=/finish.gr/127.0.0.1#5335 +ipset=/finish.gr/gfwlist +server=/nurofen.pl/127.0.0.1#5335 +ipset=/nurofen.pl/gfwlist +server=/ebayd.com/127.0.0.1#5335 +ipset=/ebayd.com/gfwlist +server=/nurofen.it/127.0.0.1#5335 +ipset=/nurofen.it/gfwlist +server=/picasaweb.org/127.0.0.1#5335 +ipset=/picasaweb.org/gfwlist +server=/fbsupport-covid.net/127.0.0.1#5335 +ipset=/fbsupport-covid.net/gfwlist +server=/globalsign-media.com/127.0.0.1#5335 +ipset=/globalsign-media.com/gfwlist +server=/nurofen.es/127.0.0.1#5335 +ipset=/nurofen.es/gfwlist +server=/nurofen.co.za/127.0.0.1#5335 +ipset=/nurofen.co.za/gfwlist +server=/mediachinese.com/127.0.0.1#5335 +ipset=/mediachinese.com/gfwlist +server=/nikeaustralia.com/127.0.0.1#5335 +ipset=/nikeaustralia.com/gfwlist +server=/firestonecomercial.com.co/127.0.0.1#5335 +ipset=/firestonecomercial.com.co/gfwlist +server=/bookstagram.com/127.0.0.1#5335 +ipset=/bookstagram.com/gfwlist +server=/vfsco.fi/127.0.0.1#5335 +ipset=/vfsco.fi/gfwlist +server=/1to1conference.com.au/127.0.0.1#5335 +ipset=/1to1conference.com.au/gfwlist +server=/nurofen.co.nz/127.0.0.1#5335 +ipset=/nurofen.co.nz/gfwlist +server=/nurofen.co.il/127.0.0.1#5335 +ipset=/nurofen.co.il/gfwlist +server=/atom.io/127.0.0.1#5335 +ipset=/atom.io/gfwlist +server=/intel.rw/127.0.0.1#5335 +ipset=/intel.rw/gfwlist +server=/drbl.in/127.0.0.1#5335 +ipset=/drbl.in/gfwlist +server=/marketwatch.com/127.0.0.1#5335 +ipset=/marketwatch.com/gfwlist +server=/mucinex.tv/127.0.0.1#5335 +ipset=/mucinex.tv/gfwlist +server=/mucinex.net/127.0.0.1#5335 +ipset=/mucinex.net/gfwlist +server=/peacocktv.com/127.0.0.1#5335 +ipset=/peacocktv.com/gfwlist +server=/mucinex.com/127.0.0.1#5335 +ipset=/mucinex.com/gfwlist +server=/mucinex.ca/127.0.0.1#5335 +ipset=/mucinex.ca/gfwlist +server=/schiffvitamins.com/127.0.0.1#5335 +ipset=/schiffvitamins.com/gfwlist +server=/bmwmass.net/127.0.0.1#5335 +ipset=/bmwmass.net/gfwlist +server=/movefreerewards.com/127.0.0.1#5335 +ipset=/movefreerewards.com/gfwlist +server=/pifpafarabia.com/127.0.0.1#5335 +ipset=/pifpafarabia.com/gfwlist +server=/oculus-china.com/127.0.0.1#5335 +ipset=/oculus-china.com/gfwlist +server=/mortein.com.ng/127.0.0.1#5335 +ipset=/mortein.com.ng/gfwlist +server=/globalsign.co.uk/127.0.0.1#5335 +ipset=/globalsign.co.uk/gfwlist +server=/verisign.in/127.0.0.1#5335 +ipset=/verisign.in/gfwlist +server=/google.vu/127.0.0.1#5335 +ipset=/google.vu/gfwlist +server=/mortein.com.br/127.0.0.1#5335 +ipset=/mortein.com.br/gfwlist +server=/gale.com/127.0.0.1#5335 +ipset=/gale.com/gfwlist +server=/webhosting.com/127.0.0.1#5335 +ipset=/webhosting.com/gfwlist +server=/mortein.com/127.0.0.1#5335 +ipset=/mortein.com/gfwlist +server=/pubmatic.com/127.0.0.1#5335 +ipset=/pubmatic.com/gfwlist +server=/fotolia.tv/127.0.0.1#5335 +ipset=/fotolia.tv/gfwlist +server=/luckyissue.com/127.0.0.1#5335 +ipset=/luckyissue.com/gfwlist +server=/meadjohnson.com.tw/127.0.0.1#5335 +ipset=/meadjohnson.com.tw/gfwlist +server=/meadjohnson.com.hk/127.0.0.1#5335 +ipset=/meadjohnson.com.hk/gfwlist +server=/meadjohnson.com/127.0.0.1#5335 +ipset=/meadjohnson.com/gfwlist +server=/lysol.ca/127.0.0.1#5335 +ipset=/lysol.ca/gfwlist +server=/finishwin.be/127.0.0.1#5335 +ipset=/finishwin.be/gfwlist +server=/cheapdrdrebeatsca.com/127.0.0.1#5335 +ipset=/cheapdrdrebeatsca.com/gfwlist +server=/epochtimeshk.org/127.0.0.1#5335 +ipset=/epochtimeshk.org/gfwlist +server=/finishinfo.ru/127.0.0.1#5335 +ipset=/finishinfo.ru/gfwlist +server=/volvotrucks.md/127.0.0.1#5335 +ipset=/volvotrucks.md/gfwlist +server=/beatsfranceofficiel.com/127.0.0.1#5335 +ipset=/beatsfranceofficiel.com/gfwlist +server=/azuremarketplace.microsoft.com/127.0.0.1#5335 +ipset=/azuremarketplace.microsoft.com/gfwlist +server=/wiisports.com/127.0.0.1#5335 +ipset=/wiisports.com/gfwlist +server=/finishinfo.fi/127.0.0.1#5335 +ipset=/finishinfo.fi/gfwlist +server=/finishinfo.cz/127.0.0.1#5335 +ipset=/finishinfo.cz/gfwlist +server=/scholar.google.co.za/127.0.0.1#5335 +ipset=/scholar.google.co.za/gfwlist +server=/12diasderegalosdeitunes.co.ve/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.co.ve/gfwlist +server=/cheapbeatsheadphone2014.com/127.0.0.1#5335 +ipset=/cheapbeatsheadphone2014.com/gfwlist +server=/finishinfo.com.ar/127.0.0.1#5335 +ipset=/finishinfo.com.ar/gfwlist +server=/appleone.community/127.0.0.1#5335 +ipset=/appleone.community/gfwlist +server=/saynow.com/127.0.0.1#5335 +ipset=/saynow.com/gfwlist +server=/finishinfo.cl/127.0.0.1#5335 +ipset=/finishinfo.cl/gfwlist +server=/fcfacebook.com/127.0.0.1#5335 +ipset=/fcfacebook.com/gfwlist +server=/x99av.com/127.0.0.1#5335 +ipset=/x99av.com/gfwlist +server=/uuk28.com/127.0.0.1#5335 +ipset=/uuk28.com/gfwlist +server=/finishdishwashing.com/127.0.0.1#5335 +ipset=/finishdishwashing.com/gfwlist +server=/nflxvideo.net/127.0.0.1#5335 +ipset=/nflxvideo.net/gfwlist +server=/riot-games.com/127.0.0.1#5335 +ipset=/riot-games.com/gfwlist +server=/finishdishwashing.ca/127.0.0.1#5335 +ipset=/finishdishwashing.ca/gfwlist +server=/vanish.co.in/127.0.0.1#5335 +ipset=/vanish.co.in/gfwlist +server=/finisharabia.com/127.0.0.1#5335 +ipset=/finisharabia.com/gfwlist +server=/finish.sk/127.0.0.1#5335 +ipset=/finish.sk/gfwlist +server=/bmwchampionship.com/127.0.0.1#5335 +ipset=/bmwchampionship.com/gfwlist +server=/pearsonschoolsandfecolleges.co.uk/127.0.0.1#5335 +ipset=/pearsonschoolsandfecolleges.co.uk/gfwlist +server=/googleplus.com/127.0.0.1#5335 +ipset=/googleplus.com/gfwlist +server=/finish.pl/127.0.0.1#5335 +ipset=/finish.pl/gfwlist +server=/youtube.me/127.0.0.1#5335 +ipset=/youtube.me/gfwlist +server=/google.com.ni/127.0.0.1#5335 +ipset=/google.com.ni/gfwlist +server=/finish.fr/127.0.0.1#5335 +ipset=/finish.fr/gfwlist +server=/finish.es/127.0.0.1#5335 +ipset=/finish.es/gfwlist +server=/wsj.com/127.0.0.1#5335 +ipset=/wsj.com/gfwlist +server=/sony.ca/127.0.0.1#5335 +ipset=/sony.ca/gfwlist +server=/facebookflow.com/127.0.0.1#5335 +ipset=/facebookflow.com/gfwlist +server=/pearsonclinical.eu/127.0.0.1#5335 +ipset=/pearsonclinical.eu/gfwlist +server=/facebook.se/127.0.0.1#5335 +ipset=/facebook.se/gfwlist +server=/enfa.com.vn/127.0.0.1#5335 +ipset=/enfa.com.vn/gfwlist +server=/vmworld2013.com/127.0.0.1#5335 +ipset=/vmworld2013.com/gfwlist +server=/finish.co.nz/127.0.0.1#5335 +ipset=/finish.co.nz/gfwlist +server=/sandisk.id/127.0.0.1#5335 +ipset=/sandisk.id/gfwlist +server=/finish.at/127.0.0.1#5335 +ipset=/finish.at/gfwlist +server=/nutramigen.pl/127.0.0.1#5335 +ipset=/nutramigen.pl/gfwlist +server=/intel.gy/127.0.0.1#5335 +ipset=/intel.gy/gfwlist +server=/myshopify.com/127.0.0.1#5335 +ipset=/myshopify.com/gfwlist +server=/12diasderegalosdeitunes.co/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.co/gfwlist +server=/enspireformula.com/127.0.0.1#5335 +ipset=/enspireformula.com/gfwlist +server=/enfasmart.com/127.0.0.1#5335 +ipset=/enfasmart.com/gfwlist +server=/google.mk/127.0.0.1#5335 +ipset=/google.mk/gfwlist +server=/enfamil.pt/127.0.0.1#5335 +ipset=/enfamil.pt/gfwlist +server=/drdrebeatsforu.com/127.0.0.1#5335 +ipset=/drdrebeatsforu.com/gfwlist +server=/stadia.dev/127.0.0.1#5335 +ipset=/stadia.dev/gfwlist +server=/enfamil.com/127.0.0.1#5335 +ipset=/enfamil.com/gfwlist +server=/bmw-ottawa.ca/127.0.0.1#5335 +ipset=/bmw-ottawa.ca/gfwlist +server=/enfamama.com.ar/127.0.0.1#5335 +ipset=/enfamama.com.ar/gfwlist +server=/enfagrow.com.sg/127.0.0.1#5335 +ipset=/enfagrow.com.sg/gfwlist +server=/beatsbydrdre-online.com/127.0.0.1#5335 +ipset=/beatsbydrdre-online.com/gfwlist +server=/draftjs.org/127.0.0.1#5335 +ipset=/draftjs.org/gfwlist +server=/enfagrow.com.bn/127.0.0.1#5335 +ipset=/enfagrow.com.bn/gfwlist +server=/ieee-sensors.org/127.0.0.1#5335 +ipset=/ieee-sensors.org/gfwlist +server=/soso7778.com/127.0.0.1#5335 +ipset=/soso7778.com/gfwlist +server=/nike.hk/127.0.0.1#5335 +ipset=/nike.hk/gfwlist +server=/enfabebe3.com.ar/127.0.0.1#5335 +ipset=/enfabebe3.com.ar/gfwlist +server=/cloudcredibility.com/127.0.0.1#5335 +ipset=/cloudcredibility.com/gfwlist +server=/mongodb.org/127.0.0.1#5335 +ipset=/mongodb.org/gfwlist +server=/enfabebe.com.ve/127.0.0.1#5335 +ipset=/enfabebe.com.ve/gfwlist +server=/pki-poste.ch/127.0.0.1#5335 +ipset=/pki-poste.ch/gfwlist +server=/enfabebe.com.pe/127.0.0.1#5335 +ipset=/enfabebe.com.pe/gfwlist +server=/enfabebe.com.co/127.0.0.1#5335 +ipset=/enfabebe.com.co/gfwlist +server=/enfabebe.com.br/127.0.0.1#5335 +ipset=/enfabebe.com.br/gfwlist +server=/mailonsunday.co.uk/127.0.0.1#5335 +ipset=/mailonsunday.co.uk/gfwlist +server=/enfababy.com/127.0.0.1#5335 +ipset=/enfababy.com/gfwlist +server=/avfox.cc/127.0.0.1#5335 +ipset=/avfox.cc/gfwlist +server=/amerikiskhma.com/127.0.0.1#5335 +ipset=/amerikiskhma.com/gfwlist +server=/icloudos.net/127.0.0.1#5335 +ipset=/icloudos.net/gfwlist +server=/enfaaplus.com/127.0.0.1#5335 +ipset=/enfaaplus.com/gfwlist +server=/enfa.co.id/127.0.0.1#5335 +ipset=/enfa.co.id/gfwlist +server=/bebepremium3.com.bo/127.0.0.1#5335 +ipset=/bebepremium3.com.bo/gfwlist +server=/nikey.com/127.0.0.1#5335 +ipset=/nikey.com/gfwlist +server=/trydurex.net/127.0.0.1#5335 +ipset=/trydurex.net/gfwlist +server=/playbydurex.com/127.0.0.1#5335 +ipset=/playbydurex.com/gfwlist +server=/sciencemag.org/127.0.0.1#5335 +ipset=/sciencemag.org/gfwlist +server=/mypearson.com/127.0.0.1#5335 +ipset=/mypearson.com/gfwlist +server=/brandeasygo.com/127.0.0.1#5335 +ipset=/brandeasygo.com/gfwlist +server=/nintendo.com.pt/127.0.0.1#5335 +ipset=/nintendo.com.pt/gfwlist +server=/pavpal.com/127.0.0.1#5335 +ipset=/pavpal.com/gfwlist +server=/mhshosting.com/127.0.0.1#5335 +ipset=/mhshosting.com/gfwlist +server=/sony.com.do/127.0.0.1#5335 +ipset=/sony.com.do/gfwlist +server=/firestone.com.co/127.0.0.1#5335 +ipset=/firestone.com.co/gfwlist +server=/durexloveclub.com/127.0.0.1#5335 +ipset=/durexloveclub.com/gfwlist +server=/durexindia.com/127.0.0.1#5335 +ipset=/durexindia.com/gfwlist +server=/picknicekicks.net/127.0.0.1#5335 +ipset=/picknicekicks.net/gfwlist +server=/durexchina.com/127.0.0.1#5335 +ipset=/durexchina.com/gfwlist +server=/durexcam.com/127.0.0.1#5335 +ipset=/durexcam.com/gfwlist +server=/bloombergindices.com/127.0.0.1#5335 +ipset=/bloombergindices.com/gfwlist +server=/cheap-nike.com/127.0.0.1#5335 +ipset=/cheap-nike.com/gfwlist +server=/durex.us/127.0.0.1#5335 +ipset=/durex.us/gfwlist +server=/epochshop.com/127.0.0.1#5335 +ipset=/epochshop.com/gfwlist +server=/inteleventexpress.com/127.0.0.1#5335 +ipset=/inteleventexpress.com/gfwlist +server=/orl.ly/127.0.0.1#5335 +ipset=/orl.ly/gfwlist +server=/nikeshoemarket.com/127.0.0.1#5335 +ipset=/nikeshoemarket.com/gfwlist +server=/bmw-motorrad.ua/127.0.0.1#5335 +ipset=/bmw-motorrad.ua/gfwlist +server=/durex.ro/127.0.0.1#5335 +ipset=/durex.ro/gfwlist +server=/ebaystyle.com/127.0.0.1#5335 +ipset=/ebaystyle.com/gfwlist +server=/durex.pl/127.0.0.1#5335 +ipset=/durex.pl/gfwlist +server=/media-rockstargames-com.akamaized.net/127.0.0.1#5335 +ipset=/media-rockstargames-com.akamaized.net/gfwlist +server=/scholar.google.com.hk/127.0.0.1#5335 +ipset=/scholar.google.com.hk/gfwlist +server=/durex.nl/127.0.0.1#5335 +ipset=/durex.nl/gfwlist +server=/mansionglobal.com/127.0.0.1#5335 +ipset=/mansionglobal.com/gfwlist +server=/durex.mx/127.0.0.1#5335 +ipset=/durex.mx/gfwlist +server=/cheapbeatsdrdresolo.com/127.0.0.1#5335 +ipset=/cheapbeatsdrdresolo.com/gfwlist +server=/macbookpro.net/127.0.0.1#5335 +ipset=/macbookpro.net/gfwlist +server=/durex.it/127.0.0.1#5335 +ipset=/durex.it/gfwlist +server=/veet.com.ar/127.0.0.1#5335 +ipset=/veet.com.ar/gfwlist +server=/durex.hu/127.0.0.1#5335 +ipset=/durex.hu/gfwlist +server=/durex.fr/127.0.0.1#5335 +ipset=/durex.fr/gfwlist +server=/jquerymobile.com/127.0.0.1#5335 +ipset=/jquerymobile.com/gfwlist +server=/durex.fi/127.0.0.1#5335 +ipset=/durex.fi/gfwlist +server=/durex.ee/127.0.0.1#5335 +ipset=/durex.ee/gfwlist +server=/youtube.be/127.0.0.1#5335 +ipset=/youtube.be/gfwlist +server=/mini.com.pa/127.0.0.1#5335 +ipset=/mini.com.pa/gfwlist +server=/steamstore-a.akamaihd.net/127.0.0.1#5335 +ipset=/steamstore-a.akamaihd.net/gfwlist +server=/bestbhy.com/127.0.0.1#5335 +ipset=/bestbhy.com/gfwlist +server=/deno.land/127.0.0.1#5335 +ipset=/deno.land/gfwlist +server=/durex.de/127.0.0.1#5335 +ipset=/durex.de/gfwlist +server=/bmwcitychallenge.com/127.0.0.1#5335 +ipset=/bmwcitychallenge.com/gfwlist +server=/durex.com.pk/127.0.0.1#5335 +ipset=/durex.com.pk/gfwlist +server=/vfsco.fr/127.0.0.1#5335 +ipset=/vfsco.fr/gfwlist +server=/durex.com.ph/127.0.0.1#5335 +ipset=/durex.com.ph/gfwlist +server=/durex.com.ng/127.0.0.1#5335 +ipset=/durex.com.ng/gfwlist +server=/reckittprofessional.com/127.0.0.1#5335 +ipset=/reckittprofessional.com/gfwlist +server=/durex.com.co/127.0.0.1#5335 +ipset=/durex.com.co/gfwlist +server=/durex.com.bd/127.0.0.1#5335 +ipset=/durex.com.bd/gfwlist +server=/yahoo.de/127.0.0.1#5335 +ipset=/yahoo.de/gfwlist +server=/bongacams.com/127.0.0.1#5335 +ipset=/bongacams.com/gfwlist +server=/microsoft.pt/127.0.0.1#5335 +ipset=/microsoft.pt/gfwlist +server=/ie8.co/127.0.0.1#5335 +ipset=/ie8.co/gfwlist +server=/durex.co.uk/127.0.0.1#5335 +ipset=/durex.co.uk/gfwlist +server=/durex.co.nz/127.0.0.1#5335 +ipset=/durex.co.nz/gfwlist +server=/cncrivals.com/127.0.0.1#5335 +ipset=/cncrivals.com/gfwlist +server=/durex.co.id/127.0.0.1#5335 +ipset=/durex.co.id/gfwlist +server=/masterclass.com/127.0.0.1#5335 +ipset=/masterclass.com/gfwlist +server=/cloudlive.com/127.0.0.1#5335 +ipset=/cloudlive.com/gfwlist +server=/durex.be/127.0.0.1#5335 +ipset=/durex.be/gfwlist +server=/durex.at/127.0.0.1#5335 +ipset=/durex.at/gfwlist +server=/durex-slovenia.si/127.0.0.1#5335 +ipset=/durex-slovenia.si/gfwlist +server=/aerogard.com.au/127.0.0.1#5335 +ipset=/aerogard.com.au/gfwlist +server=/dotherex.com/127.0.0.1#5335 +ipset=/dotherex.com/gfwlist +server=/youtube.hr/127.0.0.1#5335 +ipset=/youtube.hr/gfwlist +server=/durex.se/127.0.0.1#5335 +ipset=/durex.se/gfwlist +server=/beatsbydreaustralia-sale.com/127.0.0.1#5335 +ipset=/beatsbydreaustralia-sale.com/gfwlist +server=/macruby.com/127.0.0.1#5335 +ipset=/macruby.com/gfwlist +server=/windows.nl/127.0.0.1#5335 +ipset=/windows.nl/gfwlist +server=/instagramtakipcisatinal.net/127.0.0.1#5335 +ipset=/instagramtakipcisatinal.net/gfwlist +server=/dettolcleannaija.com/127.0.0.1#5335 +ipset=/dettolcleannaija.com/gfwlist +server=/dettol.ru/127.0.0.1#5335 +ipset=/dettol.ru/gfwlist +server=/volvobuses.co.za/127.0.0.1#5335 +ipset=/volvobuses.co.za/gfwlist +server=/gameroom.com/127.0.0.1#5335 +ipset=/gameroom.com/gfwlist +server=/dettol.pl/127.0.0.1#5335 +ipset=/dettol.pl/gfwlist +server=/maxis.com/127.0.0.1#5335 +ipset=/maxis.com/gfwlist +server=/vmware-cloudmanagement.com/127.0.0.1#5335 +ipset=/vmware-cloudmanagement.com/gfwlist +server=/dettol.nl/127.0.0.1#5335 +ipset=/dettol.nl/gfwlist +server=/dettol.net/127.0.0.1#5335 +ipset=/dettol.net/gfwlist +server=/dettol.ie/127.0.0.1#5335 +ipset=/dettol.ie/gfwlist +server=/dettol.fr/127.0.0.1#5335 +ipset=/dettol.fr/gfwlist +server=/theepochtimes.com/127.0.0.1#5335 +ipset=/theepochtimes.com/gfwlist +server=/paypalinsuranceservices.org/127.0.0.1#5335 +ipset=/paypalinsuranceservices.org/gfwlist +server=/fast.com/127.0.0.1#5335 +ipset=/fast.com/gfwlist +server=/pearson.com.ar/127.0.0.1#5335 +ipset=/pearson.com.ar/gfwlist +server=/dettol.com.sg/127.0.0.1#5335 +ipset=/dettol.com.sg/gfwlist +server=/hkgpao.com/127.0.0.1#5335 +ipset=/hkgpao.com/gfwlist +server=/connectedcommerce.com/127.0.0.1#5335 +ipset=/connectedcommerce.com/gfwlist +server=/apple.xn--fiqs8s/127.0.0.1#5335 +ipset=/apple.xn--fiqs8s/gfwlist +server=/dettol.com.ng/127.0.0.1#5335 +ipset=/dettol.com.ng/gfwlist +server=/dettol.com.hk/127.0.0.1#5335 +ipset=/dettol.com.hk/gfwlist +server=/dettol.com.eg/127.0.0.1#5335 +ipset=/dettol.com.eg/gfwlist +server=/dettol.com.br/127.0.0.1#5335 +ipset=/dettol.com.br/gfwlist +server=/yahoo.com.ec/127.0.0.1#5335 +ipset=/yahoo.com.ec/gfwlist +server=/visagiftcard.us/127.0.0.1#5335 +ipset=/visagiftcard.us/gfwlist +server=/dettol.com.bd/127.0.0.1#5335 +ipset=/dettol.com.bd/gfwlist +server=/vanitaonline.com/127.0.0.1#5335 +ipset=/vanitaonline.com/gfwlist +server=/dettol.com/127.0.0.1#5335 +ipset=/dettol.com/gfwlist +server=/intelinsight.com/127.0.0.1#5335 +ipset=/intelinsight.com/gfwlist +server=/dettol.co.uk/127.0.0.1#5335 +ipset=/dettol.co.uk/gfwlist +server=/justmysocks4.net/127.0.0.1#5335 +ipset=/justmysocks4.net/gfwlist +server=/xboxone.com/127.0.0.1#5335 +ipset=/xboxone.com/gfwlist +server=/workspaceone.com/127.0.0.1#5335 +ipset=/workspaceone.com/gfwlist +server=/dettol.co.in/127.0.0.1#5335 +ipset=/dettol.co.in/gfwlist +server=/dettol.co.id/127.0.0.1#5335 +ipset=/dettol.co.id/gfwlist +server=/alphabet.lt/127.0.0.1#5335 +ipset=/alphabet.lt/gfwlist +server=/yt.be/127.0.0.1#5335 +ipset=/yt.be/gfwlist +server=/dettol.at/127.0.0.1#5335 +ipset=/dettol.at/gfwlist +server=/ac-pocketcamp.com/127.0.0.1#5335 +ipset=/ac-pocketcamp.com/gfwlist +server=/scholar.google.com.do/127.0.0.1#5335 +ipset=/scholar.google.com.do/gfwlist +server=/darwinsourcecode.com/127.0.0.1#5335 +ipset=/darwinsourcecode.com/gfwlist +server=/hsxhr.cc/127.0.0.1#5335 +ipset=/hsxhr.cc/gfwlist +server=/dettol-prize.com/127.0.0.1#5335 +ipset=/dettol-prize.com/gfwlist +server=/crit-staging.com/127.0.0.1#5335 +ipset=/crit-staging.com/gfwlist +server=/blogspot.ca/127.0.0.1#5335 +ipset=/blogspot.ca/gfwlist +server=/calgoncarbon.com/127.0.0.1#5335 +ipset=/calgoncarbon.com/gfwlist +server=/bmw.uz/127.0.0.1#5335 +ipset=/bmw.uz/gfwlist +server=/facebookshop.com/127.0.0.1#5335 +ipset=/facebookshop.com/gfwlist +server=/calgon.tv/127.0.0.1#5335 +ipset=/calgon.tv/gfwlist +server=/yahoo.com.ag/127.0.0.1#5335 +ipset=/yahoo.com.ag/gfwlist +server=/motorshowblog.com/127.0.0.1#5335 +ipset=/motorshowblog.com/gfwlist +server=/calgon.nl/127.0.0.1#5335 +ipset=/calgon.nl/gfwlist +server=/ciscocontest.com/127.0.0.1#5335 +ipset=/ciscocontest.com/gfwlist +server=/calgon.ie/127.0.0.1#5335 +ipset=/calgon.ie/gfwlist +server=/nike0594.com/127.0.0.1#5335 +ipset=/nike0594.com/gfwlist +server=/calgon.es/127.0.0.1#5335 +ipset=/calgon.es/gfwlist +server=/calgon.de/127.0.0.1#5335 +ipset=/calgon.de/gfwlist +server=/supermariogalaxy.com/127.0.0.1#5335 +ipset=/supermariogalaxy.com/gfwlist +server=/facebookswagemea.com/127.0.0.1#5335 +ipset=/facebookswagemea.com/gfwlist +server=/seagroup.com/127.0.0.1#5335 +ipset=/seagroup.com/gfwlist +server=/calgon.co.uk/127.0.0.1#5335 +ipset=/calgon.co.uk/gfwlist +server=/nikekid.com/127.0.0.1#5335 +ipset=/nikekid.com/gfwlist +server=/beatbydrekopen.com/127.0.0.1#5335 +ipset=/beatbydrekopen.com/gfwlist +server=/calgon.be/127.0.0.1#5335 +ipset=/calgon.be/gfwlist +server=/infowarsmedia.com/127.0.0.1#5335 +ipset=/infowarsmedia.com/gfwlist +server=/qr.ae/127.0.0.1#5335 +ipset=/qr.ae/gfwlist +server=/calgon.at/127.0.0.1#5335 +ipset=/calgon.at/gfwlist +server=/airwickarabia.com/127.0.0.1#5335 +ipset=/airwickarabia.com/gfwlist +server=/akamaietpcnctest.com/127.0.0.1#5335 +ipset=/akamaietpcnctest.com/gfwlist +server=/airwick.tv/127.0.0.1#5335 +ipset=/airwick.tv/gfwlist +server=/pearson-schule.ch/127.0.0.1#5335 +ipset=/pearson-schule.ch/gfwlist +server=/airwick.ru/127.0.0.1#5335 +ipset=/airwick.ru/gfwlist +server=/nowe.com/127.0.0.1#5335 +ipset=/nowe.com/gfwlist +server=/amazon.com.mx/127.0.0.1#5335 +ipset=/amazon.com.mx/gfwlist +server=/nvidia.no/127.0.0.1#5335 +ipset=/nvidia.no/gfwlist +server=/nikeshoponline.com/127.0.0.1#5335 +ipset=/nikeshoponline.com/gfwlist +server=/informs.org/127.0.0.1#5335 +ipset=/informs.org/gfwlist +server=/mcdonalds.ca/127.0.0.1#5335 +ipset=/mcdonalds.ca/gfwlist +server=/airwick.nl/127.0.0.1#5335 +ipset=/airwick.nl/gfwlist +server=/airwick.net/127.0.0.1#5335 +ipset=/airwick.net/gfwlist +server=/imperial.insendi.com/127.0.0.1#5335 +ipset=/imperial.insendi.com/gfwlist +server=/airwick.it/127.0.0.1#5335 +ipset=/airwick.it/gfwlist +server=/airwick.ie/127.0.0.1#5335 +ipset=/airwick.ie/gfwlist +server=/pugpig-stage.com/127.0.0.1#5335 +ipset=/pugpig-stage.com/gfwlist +server=/niosii.net/127.0.0.1#5335 +ipset=/niosii.net/gfwlist +server=/xboxgamestudios.com/127.0.0.1#5335 +ipset=/xboxgamestudios.com/gfwlist +server=/bmwgroupdesignworks.com/127.0.0.1#5335 +ipset=/bmwgroupdesignworks.com/gfwlist +server=/nintendo.tw/127.0.0.1#5335 +ipset=/nintendo.tw/gfwlist +server=/airwick.fr/127.0.0.1#5335 +ipset=/airwick.fr/gfwlist +server=/redzonechannel.com/127.0.0.1#5335 +ipset=/redzonechannel.com/gfwlist +server=/vilavpn3.xyz/127.0.0.1#5335 +ipset=/vilavpn3.xyz/gfwlist +server=/mywaytopay.info/127.0.0.1#5335 +ipset=/mywaytopay.info/gfwlist +server=/amazonaws-china.com/127.0.0.1#5335 +ipset=/amazonaws-china.com/gfwlist +server=/geraldoatlarge.com/127.0.0.1#5335 +ipset=/geraldoatlarge.com/gfwlist +server=/screens-lab.jp/127.0.0.1#5335 +ipset=/screens-lab.jp/gfwlist +server=/kanzhongguo.eu/127.0.0.1#5335 +ipset=/kanzhongguo.eu/gfwlist +server=/visa.com.ar/127.0.0.1#5335 +ipset=/visa.com.ar/gfwlist +server=/airwick.cz/127.0.0.1#5335 +ipset=/airwick.cz/gfwlist +server=/airwick.com.tr/127.0.0.1#5335 +ipset=/airwick.com.tr/gfwlist +server=/airwick.com.mx/127.0.0.1#5335 +ipset=/airwick.com.mx/gfwlist +server=/airwick.com/127.0.0.1#5335 +ipset=/airwick.com/gfwlist +server=/disneymagicmoments.pl/127.0.0.1#5335 +ipset=/disneymagicmoments.pl/gfwlist +server=/alfera.com.hk/127.0.0.1#5335 +ipset=/alfera.com.hk/gfwlist +server=/manoramaonline.com/127.0.0.1#5335 +ipset=/manoramaonline.com/gfwlist +server=/tex-talk.net/127.0.0.1#5335 +ipset=/tex-talk.net/gfwlist +server=/airwick.co.za/127.0.0.1#5335 +ipset=/airwick.co.za/gfwlist +server=/xhcdn.com/127.0.0.1#5335 +ipset=/xhcdn.com/gfwlist +server=/airwick.co.nz/127.0.0.1#5335 +ipset=/airwick.co.nz/gfwlist +server=/airwick.co.in/127.0.0.1#5335 +ipset=/airwick.co.in/gfwlist +server=/oxfordclinicalpsych.com/127.0.0.1#5335 +ipset=/oxfordclinicalpsych.com/gfwlist +server=/telegra.ph/127.0.0.1#5335 +ipset=/telegra.ph/gfwlist +server=/yahoo.com.na/127.0.0.1#5335 +ipset=/yahoo.com.na/gfwlist +server=/airwick.be/127.0.0.1#5335 +ipset=/airwick.be/gfwlist +server=/durex-shopline.com/127.0.0.1#5335 +ipset=/durex-shopline.com/gfwlist +server=/rarbgunblock.com/127.0.0.1#5335 +ipset=/rarbgunblock.com/gfwlist +server=/rarbgprx.org/127.0.0.1#5335 +ipset=/rarbgprx.org/gfwlist +server=/pearson.co.in/127.0.0.1#5335 +ipset=/pearson.co.in/gfwlist +server=/rarbggo.org/127.0.0.1#5335 +ipset=/rarbggo.org/gfwlist +server=/imac.gr/127.0.0.1#5335 +ipset=/imac.gr/gfwlist +server=/rarbg.me/127.0.0.1#5335 +ipset=/rarbg.me/gfwlist +server=/xn--qhrx81fxh2a.xn--55qx5d.hk/127.0.0.1#5335 +ipset=/xn--qhrx81fxh2a.xn--55qx5d.hk/gfwlist +server=/mcdonaldsparties.co.nz/127.0.0.1#5335 +ipset=/mcdonaldsparties.co.nz/gfwlist +server=/mcdonalds.no/127.0.0.1#5335 +ipset=/mcdonalds.no/gfwlist +server=/mcdonalds.it/127.0.0.1#5335 +ipset=/mcdonalds.it/gfwlist +server=/pppds.com/127.0.0.1#5335 +ipset=/pppds.com/gfwlist +server=/youtube.co.hu/127.0.0.1#5335 +ipset=/youtube.co.hu/gfwlist +server=/anthemgame.com/127.0.0.1#5335 +ipset=/anthemgame.com/gfwlist +server=/bcicdn.com/127.0.0.1#5335 +ipset=/bcicdn.com/gfwlist +server=/figma.com/127.0.0.1#5335 +ipset=/figma.com/gfwlist +server=/brandelectronic.com/127.0.0.1#5335 +ipset=/brandelectronic.com/gfwlist +server=/fecbook.com/127.0.0.1#5335 +ipset=/fecbook.com/gfwlist +server=/mcdonalds.co.uk/127.0.0.1#5335 +ipset=/mcdonalds.co.uk/gfwlist +server=/negozimonsterbeats.com/127.0.0.1#5335 +ipset=/negozimonsterbeats.com/gfwlist +server=/airwick.no/127.0.0.1#5335 +ipset=/airwick.no/gfwlist +server=/mingshengbao.com/127.0.0.1#5335 +ipset=/mingshengbao.com/gfwlist +server=/entrustdatacard.com/127.0.0.1#5335 +ipset=/entrustdatacard.com/gfwlist +server=/mcdindonesia.com/127.0.0.1#5335 +ipset=/mcdindonesia.com/gfwlist +server=/adobetechcomm.com/127.0.0.1#5335 +ipset=/adobetechcomm.com/gfwlist +server=/mcdelivery.com.tw/127.0.0.1#5335 +ipset=/mcdelivery.com.tw/gfwlist +server=/mcdelivery.com.sg/127.0.0.1#5335 +ipset=/mcdelivery.com.sg/gfwlist +server=/mcdelivery.com.my/127.0.0.1#5335 +ipset=/mcdelivery.com.my/gfwlist +server=/2013beatsbydrdreshop.com/127.0.0.1#5335 +ipset=/2013beatsbydrdreshop.com/gfwlist +server=/mcdelivery.co.kr/127.0.0.1#5335 +ipset=/mcdelivery.co.kr/gfwlist +server=/bmw-vancouver.ca/127.0.0.1#5335 +ipset=/bmw-vancouver.ca/gfwlist +server=/quickoffice.com/127.0.0.1#5335 +ipset=/quickoffice.com/gfwlist +server=/aboutmcdonalds.com/127.0.0.1#5335 +ipset=/aboutmcdonalds.com/gfwlist +server=/huanghuagang.org/127.0.0.1#5335 +ipset=/huanghuagang.org/gfwlist +server=/instamgram.com/127.0.0.1#5335 +ipset=/instamgram.com/gfwlist +server=/hkreadingcity.net/127.0.0.1#5335 +ipset=/hkreadingcity.net/gfwlist +server=/hkedcity.net/127.0.0.1#5335 +ipset=/hkedcity.net/gfwlist +server=/familymart.com.ph/127.0.0.1#5335 +ipset=/familymart.com.ph/gfwlist +server=/family.com.tw/127.0.0.1#5335 +ipset=/family.com.tw/gfwlist +server=/esp8266.com/127.0.0.1#5335 +ipset=/esp8266.com/gfwlist +server=/esp32.com/127.0.0.1#5335 +ipset=/esp32.com/gfwlist +server=/calgon.com.tr/127.0.0.1#5335 +ipset=/calgon.com.tr/gfwlist +server=/intelserveredge.com/127.0.0.1#5335 +ipset=/intelserveredge.com/gfwlist +server=/scholar.google.cat/127.0.0.1#5335 +ipset=/scholar.google.cat/gfwlist +server=/ieee-ims.org/127.0.0.1#5335 +ipset=/ieee-ims.org/gfwlist +server=/toolforge.org/127.0.0.1#5335 +ipset=/toolforge.org/gfwlist +server=/drebeatsoldes.com/127.0.0.1#5335 +ipset=/drebeatsoldes.com/gfwlist +server=/googlecommerce.com/127.0.0.1#5335 +ipset=/googlecommerce.com/gfwlist +server=/arcgis.com/127.0.0.1#5335 +ipset=/arcgis.com/gfwlist +server=/wiktionary.org/127.0.0.1#5335 +ipset=/wiktionary.org/gfwlist +server=/wikivoyage.org/127.0.0.1#5335 +ipset=/wikivoyage.org/gfwlist +server=/canon-emirates.ae/127.0.0.1#5335 +ipset=/canon-emirates.ae/gfwlist +server=/wikiversity.org/127.0.0.1#5335 +ipset=/wikiversity.org/gfwlist +server=/wikisource.org/127.0.0.1#5335 +ipset=/wikisource.org/gfwlist +server=/garena.tv/127.0.0.1#5335 +ipset=/garena.tv/gfwlist +server=/wikiquote.org/127.0.0.1#5335 +ipset=/wikiquote.org/gfwlist +server=/wikipedia.org/127.0.0.1#5335 +ipset=/wikipedia.org/gfwlist +server=/attbelieves.com/127.0.0.1#5335 +ipset=/attbelieves.com/gfwlist +server=/sony-semicon.co.jp/127.0.0.1#5335 +ipset=/sony-semicon.co.jp/gfwlist +server=/wikimedia.org/127.0.0.1#5335 +ipset=/wikimedia.org/gfwlist +server=/marvelpinball.com/127.0.0.1#5335 +ipset=/marvelpinball.com/gfwlist +server=/wikimediafoundation.org/127.0.0.1#5335 +ipset=/wikimediafoundation.org/gfwlist +server=/wikidata.org/127.0.0.1#5335 +ipset=/wikidata.org/gfwlist +server=/applehongkong.com/127.0.0.1#5335 +ipset=/applehongkong.com/gfwlist +server=/volvotrucks.kr/127.0.0.1#5335 +ipset=/volvotrucks.kr/gfwlist +server=/foxsports.co.ve/127.0.0.1#5335 +ipset=/foxsports.co.ve/gfwlist +server=/wikibooks.org/127.0.0.1#5335 +ipset=/wikibooks.org/gfwlist +server=/facebookmail.com/127.0.0.1#5335 +ipset=/facebookmail.com/gfwlist +server=/netflixdnstest8.com/127.0.0.1#5335 +ipset=/netflixdnstest8.com/gfwlist +server=/alphabet.at/127.0.0.1#5335 +ipset=/alphabet.at/gfwlist +server=/origin.tv/127.0.0.1#5335 +ipset=/origin.tv/gfwlist +server=/ubnw.net/127.0.0.1#5335 +ipset=/ubnw.net/gfwlist +server=/yahoo.co.in/127.0.0.1#5335 +ipset=/yahoo.co.in/gfwlist +server=/vfsco.cl/127.0.0.1#5335 +ipset=/vfsco.cl/gfwlist +server=/pinterest.tw/127.0.0.1#5335 +ipset=/pinterest.tw/gfwlist +server=/wdfiles.com/127.0.0.1#5335 +ipset=/wdfiles.com/gfwlist +server=/am730.com.hk/127.0.0.1#5335 +ipset=/am730.com.hk/gfwlist +server=/bestbuy.com/127.0.0.1#5335 +ipset=/bestbuy.com/gfwlist +server=/translatewiki.net/127.0.0.1#5335 +ipset=/translatewiki.net/gfwlist +server=/jav01.cc/127.0.0.1#5335 +ipset=/jav01.cc/gfwlist +server=/scpdb.org/127.0.0.1#5335 +ipset=/scpdb.org/gfwlist +server=/mini.fr/127.0.0.1#5335 +ipset=/mini.fr/gfwlist +server=/paypal-luxury.com/127.0.0.1#5335 +ipset=/paypal-luxury.com/gfwlist +server=/ciscoresearch.com/127.0.0.1#5335 +ipset=/ciscoresearch.com/gfwlist +server=/marketing-cloud.com/127.0.0.1#5335 +ipset=/marketing-cloud.com/gfwlist +server=/fandom.zendesk.com/127.0.0.1#5335 +ipset=/fandom.zendesk.com/gfwlist +server=/intel.com.ve/127.0.0.1#5335 +ipset=/intel.com.ve/gfwlist +server=/gu-web.net/127.0.0.1#5335 +ipset=/gu-web.net/gfwlist +server=/muthead.com/127.0.0.1#5335 +ipset=/muthead.com/gfwlist +server=/beats4outlets.com/127.0.0.1#5335 +ipset=/beats4outlets.com/gfwlist +server=/mpfinance.com/127.0.0.1#5335 +ipset=/mpfinance.com/gfwlist +server=/hbogoasia.com/127.0.0.1#5335 +ipset=/hbogoasia.com/gfwlist +server=/dndbeyond.com/127.0.0.1#5335 +ipset=/dndbeyond.com/gfwlist +server=/apple.co.jp/127.0.0.1#5335 +ipset=/apple.co.jp/gfwlist +server=/youtube.vn/127.0.0.1#5335 +ipset=/youtube.vn/gfwlist +server=/lubetube.com/127.0.0.1#5335 +ipset=/lubetube.com/gfwlist +server=/ebayinc.com/127.0.0.1#5335 +ipset=/ebayinc.com/gfwlist +server=/now-tv.com/127.0.0.1#5335 +ipset=/now-tv.com/gfwlist +server=/azuredevopslaunch.com/127.0.0.1#5335 +ipset=/azuredevopslaunch.com/gfwlist +server=/youtube.cz/127.0.0.1#5335 +ipset=/youtube.cz/gfwlist +server=/wikia.com/127.0.0.1#5335 +ipset=/wikia.com/gfwlist +server=/bmw.com.tw/127.0.0.1#5335 +ipset=/bmw.com.tw/gfwlist +server=/applestore.com.au/127.0.0.1#5335 +ipset=/applestore.com.au/gfwlist +server=/mini.ca/127.0.0.1#5335 +ipset=/mini.ca/gfwlist +server=/vanish.co.id/127.0.0.1#5335 +ipset=/vanish.co.id/gfwlist +server=/apple-livephotoskit.com/127.0.0.1#5335 +ipset=/apple-livephotoskit.com/gfwlist +server=/ssplive.pw/127.0.0.1#5335 +ipset=/ssplive.pw/gfwlist +server=/renzhe.cloud/127.0.0.1#5335 +ipset=/renzhe.cloud/gfwlist +server=/visualstudio.co.uk/127.0.0.1#5335 +ipset=/visualstudio.co.uk/gfwlist +server=/directvdealsnow.com/127.0.0.1#5335 +ipset=/directvdealsnow.com/gfwlist +server=/beatsbydreblackfriday2013.com/127.0.0.1#5335 +ipset=/beatsbydreblackfriday2013.com/gfwlist +server=/bmw-qatar.com/127.0.0.1#5335 +ipset=/bmw-qatar.com/gfwlist +server=/princeton.edu/127.0.0.1#5335 +ipset=/princeton.edu/gfwlist +server=/maying.co/127.0.0.1#5335 +ipset=/maying.co/gfwlist +server=/cloudn.me/127.0.0.1#5335 +ipset=/cloudn.me/gfwlist +server=/iotinactionevents.com/127.0.0.1#5335 +ipset=/iotinactionevents.com/gfwlist +server=/paypal.com.hk/127.0.0.1#5335 +ipset=/paypal.com.hk/gfwlist +server=/ark.to/127.0.0.1#5335 +ipset=/ark.to/gfwlist +server=/ebay.at/127.0.0.1#5335 +ipset=/ebay.at/gfwlist +server=/musicbay.net/127.0.0.1#5335 +ipset=/musicbay.net/gfwlist +server=/amytele.com/127.0.0.1#5335 +ipset=/amytele.com/gfwlist +server=/vilavpn7.xyz/127.0.0.1#5335 +ipset=/vilavpn7.xyz/gfwlist +server=/vilavpn6.xyz/127.0.0.1#5335 +ipset=/vilavpn6.xyz/gfwlist +server=/g-tvapp.com/127.0.0.1#5335 +ipset=/g-tvapp.com/gfwlist +server=/faceboop.com/127.0.0.1#5335 +ipset=/faceboop.com/gfwlist +server=/playshow.io/127.0.0.1#5335 +ipset=/playshow.io/gfwlist +server=/adobetarget.com/127.0.0.1#5335 +ipset=/adobetarget.com/gfwlist +server=/wwtbam.com/127.0.0.1#5335 +ipset=/wwtbam.com/gfwlist +server=/vilavpn5.xyz/127.0.0.1#5335 +ipset=/vilavpn5.xyz/gfwlist +server=/vilavpn4.xyz/127.0.0.1#5335 +ipset=/vilavpn4.xyz/gfwlist +server=/epoch.org.il/127.0.0.1#5335 +ipset=/epoch.org.il/gfwlist +server=/faceboob.com/127.0.0.1#5335 +ipset=/faceboob.com/gfwlist +server=/mini.cc/127.0.0.1#5335 +ipset=/mini.cc/gfwlist +server=/qualcommventures.com/127.0.0.1#5335 +ipset=/qualcommventures.com/gfwlist +server=/vilavpn1.xyz/127.0.0.1#5335 +ipset=/vilavpn1.xyz/gfwlist +server=/getpocket.com/127.0.0.1#5335 +ipset=/getpocket.com/gfwlist +server=/surflite.net/127.0.0.1#5335 +ipset=/surflite.net/gfwlist +server=/landofhope.tv/127.0.0.1#5335 +ipset=/landofhope.tv/gfwlist +server=/xn--hb4aw0g.com/127.0.0.1#5335 +ipset=/xn--hb4aw0g.com/gfwlist +server=/xn--d4ty0ojsqzfd.com/127.0.0.1#5335 +ipset=/xn--d4ty0ojsqzfd.com/gfwlist +server=/myrz.com/127.0.0.1#5335 +ipset=/myrz.com/gfwlist +server=/mininanaimo.com/127.0.0.1#5335 +ipset=/mininanaimo.com/gfwlist +server=/lolespor.com/127.0.0.1#5335 +ipset=/lolespor.com/gfwlist +server=/shadowsocks.nl/127.0.0.1#5335 +ipset=/shadowsocks.nl/gfwlist +server=/curbed.com/127.0.0.1#5335 +ipset=/curbed.com/gfwlist +server=/paofuyun.me/127.0.0.1#5335 +ipset=/paofuyun.me/gfwlist +server=/googlearth.com/127.0.0.1#5335 +ipset=/googlearth.com/gfwlist +server=/nexitcore.com/127.0.0.1#5335 +ipset=/nexitcore.com/gfwlist +server=/mastercardcenterforinclusivegrowth.org/127.0.0.1#5335 +ipset=/mastercardcenterforinclusivegrowth.org/gfwlist +server=/minipetfriendly.com/127.0.0.1#5335 +ipset=/minipetfriendly.com/gfwlist +server=/nexitallysafe.com/127.0.0.1#5335 +ipset=/nexitallysafe.com/gfwlist +server=/pokedex3d.com/127.0.0.1#5335 +ipset=/pokedex3d.com/gfwlist +server=/aboutyourmini.com/127.0.0.1#5335 +ipset=/aboutyourmini.com/gfwlist +server=/snapkit.co/127.0.0.1#5335 +ipset=/snapkit.co/gfwlist +server=/n3ro.lol/127.0.0.1#5335 +ipset=/n3ro.lol/gfwlist +server=/sandisk.es/127.0.0.1#5335 +ipset=/sandisk.es/gfwlist +server=/cloudlock.com/127.0.0.1#5335 +ipset=/cloudlock.com/gfwlist +server=/justmysocks2.net/127.0.0.1#5335 +ipset=/justmysocks2.net/gfwlist +server=/kindle.jp/127.0.0.1#5335 +ipset=/kindle.jp/gfwlist +server=/ubisoft-uplay-savegames.s3.amazonaws.com/127.0.0.1#5335 +ipset=/ubisoft-uplay-savegames.s3.amazonaws.com/gfwlist +server=/justmysocks.net/127.0.0.1#5335 +ipset=/justmysocks.net/gfwlist +server=/xn--90wwvt03e.com/127.0.0.1#5335 +ipset=/xn--90wwvt03e.com/gfwlist +server=/javlibrary.com/127.0.0.1#5335 +ipset=/javlibrary.com/gfwlist +server=/safechat.com/127.0.0.1#5335 +ipset=/safechat.com/gfwlist +server=/nikestore.com.au/127.0.0.1#5335 +ipset=/nikestore.com.au/gfwlist +server=/duckside.com/127.0.0.1#5335 +ipset=/duckside.com/gfwlist +server=/duyaossr.com/127.0.0.1#5335 +ipset=/duyaossr.com/gfwlist +server=/duyaoss.com/127.0.0.1#5335 +ipset=/duyaoss.com/gfwlist +server=/paypal-galactic.com/127.0.0.1#5335 +ipset=/paypal-galactic.com/gfwlist +server=/scholar.google.se/127.0.0.1#5335 +ipset=/scholar.google.se/gfwlist +server=/feook.com/127.0.0.1#5335 +ipset=/feook.com/gfwlist +server=/google.td/127.0.0.1#5335 +ipset=/google.td/gfwlist +server=/dleris.best/127.0.0.1#5335 +ipset=/dleris.best/gfwlist +server=/voa.gov/127.0.0.1#5335 +ipset=/voa.gov/gfwlist +server=/vmwidm-ads.com/127.0.0.1#5335 +ipset=/vmwidm-ads.com/gfwlist +server=/beatsdremonster-uk.com/127.0.0.1#5335 +ipset=/beatsdremonster-uk.com/gfwlist +server=/notion.so/127.0.0.1#5335 +ipset=/notion.so/gfwlist +server=/masseffectarchives.com/127.0.0.1#5335 +ipset=/masseffectarchives.com/gfwlist +server=/fmcebook.com/127.0.0.1#5335 +ipset=/fmcebook.com/gfwlist +server=/beatsbydrefriday.com/127.0.0.1#5335 +ipset=/beatsbydrefriday.com/gfwlist +server=/xn--czrs0t4phtr3a.cn/127.0.0.1#5335 +ipset=/xn--czrs0t4phtr3a.cn/gfwlist +server=/dlercloud.me/127.0.0.1#5335 +ipset=/dlercloud.me/gfwlist +server=/0emm.com/127.0.0.1#5335 +ipset=/0emm.com/gfwlist +server=/callhulu.com/127.0.0.1#5335 +ipset=/callhulu.com/gfwlist +server=/cylink0122.icu/127.0.0.1#5335 +ipset=/cylink0122.icu/gfwlist +server=/rocksdb.net/127.0.0.1#5335 +ipset=/rocksdb.net/gfwlist +server=/cheapbeatsbydreoutlet-nz.com/127.0.0.1#5335 +ipset=/cheapbeatsbydreoutlet-nz.com/gfwlist +server=/cylink.pro/127.0.0.1#5335 +ipset=/cylink.pro/gfwlist +server=/nikeincchemistry.com/127.0.0.1#5335 +ipset=/nikeincchemistry.com/gfwlist +server=/krakenjs.com/127.0.0.1#5335 +ipset=/krakenjs.com/gfwlist +server=/ebaynyc.com/127.0.0.1#5335 +ipset=/ebaynyc.com/gfwlist +server=/telegram.me/127.0.0.1#5335 +ipset=/telegram.me/gfwlist +server=/mastercard.by/127.0.0.1#5335 +ipset=/mastercard.by/gfwlist +server=/boslife.net/127.0.0.1#5335 +ipset=/boslife.net/gfwlist +server=/japanesebeauties.net/127.0.0.1#5335 +ipset=/japanesebeauties.net/gfwlist +server=/boslife.biz/127.0.0.1#5335 +ipset=/boslife.biz/gfwlist +server=/zind.cloud/127.0.0.1#5335 +ipset=/zind.cloud/gfwlist +server=/volvotrucks.hk/127.0.0.1#5335 +ipset=/volvotrucks.hk/gfwlist +server=/metamind.io/127.0.0.1#5335 +ipset=/metamind.io/gfwlist +server=/google.pn/127.0.0.1#5335 +ipset=/google.pn/gfwlist +server=/yastatic.net/127.0.0.1#5335 +ipset=/yastatic.net/gfwlist +server=/foxsportsgo.com/127.0.0.1#5335 +ipset=/foxsportsgo.com/gfwlist +server=/battlefield4.com/127.0.0.1#5335 +ipset=/battlefield4.com/gfwlist +server=/pinterest.de/127.0.0.1#5335 +ipset=/pinterest.de/gfwlist +server=/yandex.tm/127.0.0.1#5335 +ipset=/yandex.tm/gfwlist +server=/yandex.tj/127.0.0.1#5335 +ipset=/yandex.tj/gfwlist +server=/beatsdrecheap.com/127.0.0.1#5335 +ipset=/beatsdrecheap.com/gfwlist +server=/walmart.com/127.0.0.1#5335 +ipset=/walmart.com/gfwlist +server=/ip.sb/127.0.0.1#5335 +ipset=/ip.sb/gfwlist +server=/nikekd.com/127.0.0.1#5335 +ipset=/nikekd.com/gfwlist +server=/yandex.net/127.0.0.1#5335 +ipset=/yandex.net/gfwlist +server=/addtoany.com/127.0.0.1#5335 +ipset=/addtoany.com/gfwlist +server=/udemy.com/127.0.0.1#5335 +ipset=/udemy.com/gfwlist +server=/atdmt2.com/127.0.0.1#5335 +ipset=/atdmt2.com/gfwlist +server=/yandex.md/127.0.0.1#5335 +ipset=/yandex.md/gfwlist +server=/playerjs.io/127.0.0.1#5335 +ipset=/playerjs.io/gfwlist +server=/yandex.lv/127.0.0.1#5335 +ipset=/yandex.lv/gfwlist +server=/yandex.kz/127.0.0.1#5335 +ipset=/yandex.kz/gfwlist +server=/yandex.kg/127.0.0.1#5335 +ipset=/yandex.kg/gfwlist +server=/epochtimes.it/127.0.0.1#5335 +ipset=/epochtimes.it/gfwlist +server=/pacifickitchenandhome.com/127.0.0.1#5335 +ipset=/pacifickitchenandhome.com/gfwlist +server=/yandex.com.tr/127.0.0.1#5335 +ipset=/yandex.com.tr/gfwlist +server=/yandex.com.ge/127.0.0.1#5335 +ipset=/yandex.com.ge/gfwlist +server=/yandex.com/127.0.0.1#5335 +ipset=/yandex.com/gfwlist +server=/ninemsn.com.au/127.0.0.1#5335 +ipset=/ninemsn.com.au/gfwlist +server=/yandex.co.il/127.0.0.1#5335 +ipset=/yandex.co.il/gfwlist +server=/yandex.by/127.0.0.1#5335 +ipset=/yandex.by/gfwlist +server=/yandex.az/127.0.0.1#5335 +ipset=/yandex.az/gfwlist +server=/wwwipodlounge.com/127.0.0.1#5335 +ipset=/wwwipodlounge.com/gfwlist +server=/yimg.jp/127.0.0.1#5335 +ipset=/yimg.jp/gfwlist +server=/yahoo.az/127.0.0.1#5335 +ipset=/yahoo.az/gfwlist +server=/scholar.google.com.sg/127.0.0.1#5335 +ipset=/scholar.google.com.sg/gfwlist +server=/xnxx.com/127.0.0.1#5335 +ipset=/xnxx.com/gfwlist +server=/goldcoastbulletin.com.au/127.0.0.1#5335 +ipset=/goldcoastbulletin.com.au/gfwlist +server=/yho.com/127.0.0.1#5335 +ipset=/yho.com/gfwlist +server=/theshoppingexpresslane.net/127.0.0.1#5335 +ipset=/theshoppingexpresslane.net/gfwlist +server=/yahoosportsbook.com/127.0.0.1#5335 +ipset=/yahoosportsbook.com/gfwlist +server=/yahoohealth.com/127.0.0.1#5335 +ipset=/yahoohealth.com/gfwlist +server=/yahoofinance.com/127.0.0.1#5335 +ipset=/yahoofinance.com/gfwlist +server=/bs-awh.ne.jp/127.0.0.1#5335 +ipset=/bs-awh.ne.jp/gfwlist +server=/clannad-movie.jp/127.0.0.1#5335 +ipset=/clannad-movie.jp/gfwlist +server=/intel.ma/127.0.0.1#5335 +ipset=/intel.ma/gfwlist +server=/paypal-referral.com/127.0.0.1#5335 +ipset=/paypal-referral.com/gfwlist +server=/hpeprintcenter.com/127.0.0.1#5335 +ipset=/hpeprintcenter.com/gfwlist +server=/yahoo.tn/127.0.0.1#5335 +ipset=/yahoo.tn/gfwlist +server=/swiftfinancial.info/127.0.0.1#5335 +ipset=/swiftfinancial.info/gfwlist +server=/yahoo.tm/127.0.0.1#5335 +ipset=/yahoo.tm/gfwlist +server=/facbebook.com/127.0.0.1#5335 +ipset=/facbebook.com/gfwlist +server=/foxdeportes.net/127.0.0.1#5335 +ipset=/foxdeportes.net/gfwlist +server=/yahoo.tk/127.0.0.1#5335 +ipset=/yahoo.tk/gfwlist +server=/foxnation.com/127.0.0.1#5335 +ipset=/foxnation.com/gfwlist +server=/scholar.google.com.ua/127.0.0.1#5335 +ipset=/scholar.google.com.ua/gfwlist +server=/app-dynamics.com/127.0.0.1#5335 +ipset=/app-dynamics.com/gfwlist +server=/yahoo.st/127.0.0.1#5335 +ipset=/yahoo.st/gfwlist +server=/iphonese.tv/127.0.0.1#5335 +ipset=/iphonese.tv/gfwlist +server=/device-manager.us/127.0.0.1#5335 +ipset=/device-manager.us/gfwlist +server=/yahoo.sm/127.0.0.1#5335 +ipset=/yahoo.sm/gfwlist +server=/bmwgroup-classic-heart.com/127.0.0.1#5335 +ipset=/bmwgroup-classic-heart.com/gfwlist +server=/yahoo.sk/127.0.0.1#5335 +ipset=/yahoo.sk/gfwlist +server=/yahoo.si/127.0.0.1#5335 +ipset=/yahoo.si/gfwlist +server=/yahoo.sg/127.0.0.1#5335 +ipset=/yahoo.sg/gfwlist +server=/yahoo.se/127.0.0.1#5335 +ipset=/yahoo.se/gfwlist +server=/cheapbeatsaustraliasale.com/127.0.0.1#5335 +ipset=/cheapbeatsaustraliasale.com/gfwlist +server=/github.com/127.0.0.1#5335 +ipset=/github.com/gfwlist +server=/appledarwin.com/127.0.0.1#5335 +ipset=/appledarwin.com/gfwlist +server=/beatsheadphonesusamall.com/127.0.0.1#5335 +ipset=/beatsheadphonesusamall.com/gfwlist +server=/ind.sh/127.0.0.1#5335 +ipset=/ind.sh/gfwlist +server=/yahoo.ru/127.0.0.1#5335 +ipset=/yahoo.ru/gfwlist +server=/yahoo.ro/127.0.0.1#5335 +ipset=/yahoo.ro/gfwlist +server=/1ucrs.com/127.0.0.1#5335 +ipset=/1ucrs.com/gfwlist +server=/nvidia.cz/127.0.0.1#5335 +ipset=/nvidia.cz/gfwlist +server=/yahoo.pn/127.0.0.1#5335 +ipset=/yahoo.pn/gfwlist +server=/yahoo.pl/127.0.0.1#5335 +ipset=/yahoo.pl/gfwlist +server=/beatsaudiobydre.com/127.0.0.1#5335 +ipset=/beatsaudiobydre.com/gfwlist +server=/yahoo.nu/127.0.0.1#5335 +ipset=/yahoo.nu/gfwlist +server=/yahoo.net/127.0.0.1#5335 +ipset=/yahoo.net/gfwlist +server=/bridgestonetyre.com.my/127.0.0.1#5335 +ipset=/bridgestonetyre.com.my/gfwlist +server=/volvotrucks.si/127.0.0.1#5335 +ipset=/volvotrucks.si/gfwlist +server=/yahoo.mx/127.0.0.1#5335 +ipset=/yahoo.mx/gfwlist +server=/ebayetc.com/127.0.0.1#5335 +ipset=/ebayetc.com/gfwlist +server=/alphabet.be/127.0.0.1#5335 +ipset=/alphabet.be/gfwlist +server=/yahoo.mk/127.0.0.1#5335 +ipset=/yahoo.mk/gfwlist +server=/igcdn.com/127.0.0.1#5335 +ipset=/igcdn.com/gfwlist +server=/yahoo.lt/127.0.0.1#5335 +ipset=/yahoo.lt/gfwlist +server=/yahoo.je/127.0.0.1#5335 +ipset=/yahoo.je/gfwlist +server=/xbox360.org/127.0.0.1#5335 +ipset=/xbox360.org/gfwlist +server=/mocloudplus.com/127.0.0.1#5335 +ipset=/mocloudplus.com/gfwlist +server=/yahoo.in/127.0.0.1#5335 +ipset=/yahoo.in/gfwlist +server=/yahoo.hr/127.0.0.1#5335 +ipset=/yahoo.hr/gfwlist +server=/yahoo.hk/127.0.0.1#5335 +ipset=/yahoo.hk/gfwlist +server=/adobejanus.com/127.0.0.1#5335 +ipset=/adobejanus.com/gfwlist +server=/yahoo.gy/127.0.0.1#5335 +ipset=/yahoo.gy/gfwlist +server=/collective99.com/127.0.0.1#5335 +ipset=/collective99.com/gfwlist +server=/yahoo.gp/127.0.0.1#5335 +ipset=/yahoo.gp/gfwlist +server=/thenationalpulse.com/127.0.0.1#5335 +ipset=/thenationalpulse.com/gfwlist +server=/bmia.org/127.0.0.1#5335 +ipset=/bmia.org/gfwlist +server=/yahoo.gm/127.0.0.1#5335 +ipset=/yahoo.gm/gfwlist +server=/yahoo.gl/127.0.0.1#5335 +ipset=/yahoo.gl/gfwlist +server=/foxsoccermatchpass.com/127.0.0.1#5335 +ipset=/foxsoccermatchpass.com/gfwlist +server=/huffingtonpost.co.uk/127.0.0.1#5335 +ipset=/huffingtonpost.co.uk/gfwlist +server=/yahoo.gg/127.0.0.1#5335 +ipset=/yahoo.gg/gfwlist +server=/blizzard.nefficient.co.kr/127.0.0.1#5335 +ipset=/blizzard.nefficient.co.kr/gfwlist +server=/huffingtonpost.it/127.0.0.1#5335 +ipset=/huffingtonpost.it/gfwlist +server=/hpuae.com/127.0.0.1#5335 +ipset=/hpuae.com/gfwlist +server=/yahoo.fm/127.0.0.1#5335 +ipset=/yahoo.fm/gfwlist +server=/dashwood360.com/127.0.0.1#5335 +ipset=/dashwood360.com/gfwlist +server=/beats-bydreuk.com/127.0.0.1#5335 +ipset=/beats-bydreuk.com/gfwlist +server=/visa.nl/127.0.0.1#5335 +ipset=/visa.nl/gfwlist +server=/printeron.com/127.0.0.1#5335 +ipset=/printeron.com/gfwlist +server=/fox38corpuschristi.com/127.0.0.1#5335 +ipset=/fox38corpuschristi.com/gfwlist +server=/embed-cdn.com/127.0.0.1#5335 +ipset=/embed-cdn.com/gfwlist +server=/yahoo.ee/127.0.0.1#5335 +ipset=/yahoo.ee/gfwlist +server=/practicalmoneyskills.ca/127.0.0.1#5335 +ipset=/practicalmoneyskills.ca/gfwlist +server=/kktv.com.tw/127.0.0.1#5335 +ipset=/kktv.com.tw/gfwlist +server=/hptouch.com/127.0.0.1#5335 +ipset=/hptouch.com/gfwlist +server=/crececonebay.com/127.0.0.1#5335 +ipset=/crececonebay.com/gfwlist +server=/yahoo.dj/127.0.0.1#5335 +ipset=/yahoo.dj/gfwlist +server=/yahoo.com.vn/127.0.0.1#5335 +ipset=/yahoo.com.vn/gfwlist +server=/yahoo.com.vc/127.0.0.1#5335 +ipset=/yahoo.com.vc/gfwlist +server=/yahoo.com.ua/127.0.0.1#5335 +ipset=/yahoo.com.ua/gfwlist +server=/msgamesresearch.com/127.0.0.1#5335 +ipset=/msgamesresearch.com/gfwlist +server=/yahoo.com.tr/127.0.0.1#5335 +ipset=/yahoo.com.tr/gfwlist +server=/instafollower.com/127.0.0.1#5335 +ipset=/instafollower.com/gfwlist +server=/yahoo.com.sv/127.0.0.1#5335 +ipset=/yahoo.com.sv/gfwlist +server=/yahoo.com.sg/127.0.0.1#5335 +ipset=/yahoo.com.sg/gfwlist +server=/who.int/127.0.0.1#5335 +ipset=/who.int/gfwlist +server=/maddenseason.info/127.0.0.1#5335 +ipset=/maddenseason.info/gfwlist +server=/embedly.com/127.0.0.1#5335 +ipset=/embedly.com/gfwlist +server=/jbe-platform.com/127.0.0.1#5335 +ipset=/jbe-platform.com/gfwlist +server=/applemalaysia.com.my/127.0.0.1#5335 +ipset=/applemalaysia.com.my/gfwlist +server=/disneymusicpromotion.com/127.0.0.1#5335 +ipset=/disneymusicpromotion.com/gfwlist +server=/yahoo.com.es/127.0.0.1#5335 +ipset=/yahoo.com.es/gfwlist +server=/yahoo.com.ph/127.0.0.1#5335 +ipset=/yahoo.com.ph/gfwlist +server=/applestore.ph/127.0.0.1#5335 +ipset=/applestore.ph/gfwlist +server=/yahoo.com.pe/127.0.0.1#5335 +ipset=/yahoo.com.pe/gfwlist +server=/pages.dev/127.0.0.1#5335 +ipset=/pages.dev/gfwlist +server=/prd-priconne-redive.akamaized.net/127.0.0.1#5335 +ipset=/prd-priconne-redive.akamaized.net/gfwlist +server=/yahoo.com.pa/127.0.0.1#5335 +ipset=/yahoo.com.pa/gfwlist +server=/openapiplatform.com/127.0.0.1#5335 +ipset=/openapiplatform.com/gfwlist +server=/paypal-apac.com/127.0.0.1#5335 +ipset=/paypal-apac.com/gfwlist +server=/get.how/127.0.0.1#5335 +ipset=/get.how/gfwlist +server=/paypal-center.com/127.0.0.1#5335 +ipset=/paypal-center.com/gfwlist +server=/iamremarkable.org/127.0.0.1#5335 +ipset=/iamremarkable.org/gfwlist +server=/yahoo.lv/127.0.0.1#5335 +ipset=/yahoo.lv/gfwlist +server=/playz.jp/127.0.0.1#5335 +ipset=/playz.jp/gfwlist +server=/yahoo.com.nf/127.0.0.1#5335 +ipset=/yahoo.com.nf/gfwlist +server=/adobecontent.io/127.0.0.1#5335 +ipset=/adobecontent.io/gfwlist +server=/airwick.ch/127.0.0.1#5335 +ipset=/airwick.ch/gfwlist +server=/mini-e.com/127.0.0.1#5335 +ipset=/mini-e.com/gfwlist +server=/yahoo.com.mt/127.0.0.1#5335 +ipset=/yahoo.com.mt/gfwlist +server=/yahoo.com.ly/127.0.0.1#5335 +ipset=/yahoo.com.ly/gfwlist +server=/yahoo.com.lb/127.0.0.1#5335 +ipset=/yahoo.com.lb/gfwlist +server=/sony.com.sg/127.0.0.1#5335 +ipset=/sony.com.sg/gfwlist +server=/yahoo.com.gt/127.0.0.1#5335 +ipset=/yahoo.com.gt/gfwlist +server=/redkix.com/127.0.0.1#5335 +ipset=/redkix.com/gfwlist +server=/ipod.pk/127.0.0.1#5335 +ipset=/ipod.pk/gfwlist +server=/pearson.com.au/127.0.0.1#5335 +ipset=/pearson.com.au/gfwlist +server=/mastercard.ie/127.0.0.1#5335 +ipset=/mastercard.ie/gfwlist +server=/bestbuy.com.mx/127.0.0.1#5335 +ipset=/bestbuy.com.mx/gfwlist +server=/ebayclassifies.com/127.0.0.1#5335 +ipset=/ebayclassifies.com/gfwlist +server=/starbucks.com.kh/127.0.0.1#5335 +ipset=/starbucks.com.kh/gfwlist +server=/microsoft.tv/127.0.0.1#5335 +ipset=/microsoft.tv/gfwlist +server=/yahoo.com.co/127.0.0.1#5335 +ipset=/yahoo.com.co/gfwlist +server=/gucci.com/127.0.0.1#5335 +ipset=/gucci.com/gfwlist +server=/thetype.com/127.0.0.1#5335 +ipset=/thetype.com/gfwlist +server=/redditstatic.com/127.0.0.1#5335 +ipset=/redditstatic.com/gfwlist +server=/2014cheapbeatsbydre.com/127.0.0.1#5335 +ipset=/2014cheapbeatsbydre.com/gfwlist +server=/yahoo.com.bz/127.0.0.1#5335 +ipset=/yahoo.com.bz/gfwlist +server=/minivilledequebec.ca/127.0.0.1#5335 +ipset=/minivilledequebec.ca/gfwlist +server=/yahoo.com.br/127.0.0.1#5335 +ipset=/yahoo.com.br/gfwlist +server=/attwirelessinternet.com/127.0.0.1#5335 +ipset=/attwirelessinternet.com/gfwlist +server=/yahoo.com.au/127.0.0.1#5335 +ipset=/yahoo.com.au/gfwlist +server=/yahoo.com.ar/127.0.0.1#5335 +ipset=/yahoo.com.ar/gfwlist +server=/translatetheweb.com/127.0.0.1#5335 +ipset=/translatetheweb.com/gfwlist +server=/yahoo.com.ai/127.0.0.1#5335 +ipset=/yahoo.com.ai/gfwlist +server=/calgon.ru/127.0.0.1#5335 +ipset=/calgon.ru/gfwlist +server=/scitation.org/127.0.0.1#5335 +ipset=/scitation.org/gfwlist +server=/brands098.com/127.0.0.1#5335 +ipset=/brands098.com/gfwlist +server=/pnas.org/127.0.0.1#5335 +ipset=/pnas.org/gfwlist +server=/yahoo.co.za/127.0.0.1#5335 +ipset=/yahoo.co.za/gfwlist +server=/wiiugamepad.com/127.0.0.1#5335 +ipset=/wiiugamepad.com/gfwlist +server=/futureofbusinesssurvey.org/127.0.0.1#5335 +ipset=/futureofbusinesssurvey.org/gfwlist +server=/uproxy.org/127.0.0.1#5335 +ipset=/uproxy.org/gfwlist +server=/adobedemo.com/127.0.0.1#5335 +ipset=/adobedemo.com/gfwlist +server=/intel.cu/127.0.0.1#5335 +ipset=/intel.cu/gfwlist +server=/volvobuses.us/127.0.0.1#5335 +ipset=/volvobuses.us/gfwlist +server=/herokucharge.com/127.0.0.1#5335 +ipset=/herokucharge.com/gfwlist +server=/nikereuseashoe.com/127.0.0.1#5335 +ipset=/nikereuseashoe.com/gfwlist +server=/bmw-motorrad.gr/127.0.0.1#5335 +ipset=/bmw-motorrad.gr/gfwlist +server=/volvotrucks.com.pt/127.0.0.1#5335 +ipset=/volvotrucks.com.pt/gfwlist +server=/yahoo.co.uz/127.0.0.1#5335 +ipset=/yahoo.co.uz/gfwlist +server=/yahoo.co.uk/127.0.0.1#5335 +ipset=/yahoo.co.uk/gfwlist +server=/yahoo.co.tz/127.0.0.1#5335 +ipset=/yahoo.co.tz/gfwlist +server=/yahoo.co.th/127.0.0.1#5335 +ipset=/yahoo.co.th/gfwlist +server=/yahoo.co.nz/127.0.0.1#5335 +ipset=/yahoo.co.nz/gfwlist +server=/mingpaovan.com/127.0.0.1#5335 +ipset=/mingpaovan.com/gfwlist +server=/itunesradio.tw/127.0.0.1#5335 +ipset=/itunesradio.tw/gfwlist +server=/1degree.com.au/127.0.0.1#5335 +ipset=/1degree.com.au/gfwlist +server=/nikeplus.org/127.0.0.1#5335 +ipset=/nikeplus.org/gfwlist +server=/yahoo.co.kr/127.0.0.1#5335 +ipset=/yahoo.co.kr/gfwlist +server=/wikidot.com/127.0.0.1#5335 +ipset=/wikidot.com/gfwlist +server=/volvobuses.kr/127.0.0.1#5335 +ipset=/volvobuses.kr/gfwlist +server=/yahoo.co.id/127.0.0.1#5335 +ipset=/yahoo.co.id/gfwlist +server=/firestone.co.cr/127.0.0.1#5335 +ipset=/firestone.co.cr/gfwlist +server=/yahoo.co.cr/127.0.0.1#5335 +ipset=/yahoo.co.cr/gfwlist +server=/intel.nz/127.0.0.1#5335 +ipset=/intel.nz/gfwlist +server=/officialdrdre.com/127.0.0.1#5335 +ipset=/officialdrdre.com/gfwlist +server=/yahoo.co.ck/127.0.0.1#5335 +ipset=/yahoo.co.ck/gfwlist +server=/ieee-ceda.org/127.0.0.1#5335 +ipset=/ieee-ceda.org/gfwlist +server=/voathai.com/127.0.0.1#5335 +ipset=/voathai.com/gfwlist +server=/lolstatic.com/127.0.0.1#5335 +ipset=/lolstatic.com/gfwlist +server=/pascherbeatsmonster.com/127.0.0.1#5335 +ipset=/pascherbeatsmonster.com/gfwlist +server=/yahoo.co.ao/127.0.0.1#5335 +ipset=/yahoo.co.ao/gfwlist +server=/wholekidsfoundation.org/127.0.0.1#5335 +ipset=/wholekidsfoundation.org/gfwlist +server=/parse.com/127.0.0.1#5335 +ipset=/parse.com/gfwlist +server=/yahoo.cm/127.0.0.1#5335 +ipset=/yahoo.cm/gfwlist +server=/yahoo.cl/127.0.0.1#5335 +ipset=/yahoo.cl/gfwlist +server=/yahoo.cg/127.0.0.1#5335 +ipset=/yahoo.cg/gfwlist +server=/yahoo.cat/127.0.0.1#5335 +ipset=/yahoo.cat/gfwlist +server=/beatsmusic.wang/127.0.0.1#5335 +ipset=/beatsmusic.wang/gfwlist +server=/yahoo.bt/127.0.0.1#5335 +ipset=/yahoo.bt/gfwlist +server=/yahoo.bs/127.0.0.1#5335 +ipset=/yahoo.bs/gfwlist +server=/shopee.com.br/127.0.0.1#5335 +ipset=/shopee.com.br/gfwlist +server=/yahoo.bg/127.0.0.1#5335 +ipset=/yahoo.bg/gfwlist +server=/ruby-lang.org/127.0.0.1#5335 +ipset=/ruby-lang.org/gfwlist +server=/fbthirdpartypixel.com/127.0.0.1#5335 +ipset=/fbthirdpartypixel.com/gfwlist +server=/google.gm/127.0.0.1#5335 +ipset=/google.gm/gfwlist +server=/linear-abematv.akamaized.net/127.0.0.1#5335 +ipset=/linear-abematv.akamaized.net/gfwlist +server=/yahoo.be/127.0.0.1#5335 +ipset=/yahoo.be/gfwlist +server=/fightforux.com/127.0.0.1#5335 +ipset=/fightforux.com/gfwlist +server=/windowsphone-int.com/127.0.0.1#5335 +ipset=/windowsphone-int.com/gfwlist +server=/vcloudair.net/127.0.0.1#5335 +ipset=/vcloudair.net/gfwlist +server=/uun98.com/127.0.0.1#5335 +ipset=/uun98.com/gfwlist +server=/yahoo.as/127.0.0.1#5335 +ipset=/yahoo.as/gfwlist +server=/yahoo.am/127.0.0.1#5335 +ipset=/yahoo.am/gfwlist +server=/vfsco.com.au/127.0.0.1#5335 +ipset=/vfsco.com.au/gfwlist +server=/fox7austin.com/127.0.0.1#5335 +ipset=/fox7austin.com/gfwlist +server=/huluspain.com/127.0.0.1#5335 +ipset=/huluspain.com/gfwlist +server=/applestore.hk/127.0.0.1#5335 +ipset=/applestore.hk/gfwlist +server=/scala-lang.org/127.0.0.1#5335 +ipset=/scala-lang.org/gfwlist +server=/gemini.yahoo.com/127.0.0.1#5335 +ipset=/gemini.yahoo.com/gfwlist +server=/nvidia.com.au/127.0.0.1#5335 +ipset=/nvidia.com.au/gfwlist +server=/ads.yahoo.com/127.0.0.1#5335 +ipset=/ads.yahoo.com/gfwlist +server=/disneyinflight.com/127.0.0.1#5335 +ipset=/disneyinflight.com/gfwlist +server=/gamesstack.com/127.0.0.1#5335 +ipset=/gamesstack.com/gfwlist +server=/volvotrucks.co.bw/127.0.0.1#5335 +ipset=/volvotrucks.co.bw/gfwlist +server=/beatsdreus.com/127.0.0.1#5335 +ipset=/beatsdreus.com/gfwlist +server=/pixanalytics.com/127.0.0.1#5335 +ipset=/pixanalytics.com/gfwlist +server=/drebeatsaustralia-cheap.com/127.0.0.1#5335 +ipset=/drebeatsaustralia-cheap.com/gfwlist +server=/foxcollegesports.com/127.0.0.1#5335 +ipset=/foxcollegesports.com/gfwlist +server=/wdc.com/127.0.0.1#5335 +ipset=/wdc.com/gfwlist +server=/tiberiumalliances.com/127.0.0.1#5335 +ipset=/tiberiumalliances.com/gfwlist +server=/els-cdn.com/127.0.0.1#5335 +ipset=/els-cdn.com/gfwlist +server=/sandisk.sg/127.0.0.1#5335 +ipset=/sandisk.sg/gfwlist +server=/sandisk.nl/127.0.0.1#5335 +ipset=/sandisk.nl/gfwlist +server=/commandandconquer.com/127.0.0.1#5335 +ipset=/commandandconquer.com/gfwlist +server=/iphoto.se/127.0.0.1#5335 +ipset=/iphoto.se/gfwlist +server=/photonicssociety.org/127.0.0.1#5335 +ipset=/photonicssociety.org/gfwlist +server=/sandisk.in/127.0.0.1#5335 +ipset=/sandisk.in/gfwlist +server=/finish.bg/127.0.0.1#5335 +ipset=/finish.bg/gfwlist +server=/tug.org/127.0.0.1#5335 +ipset=/tug.org/gfwlist +server=/sandisk.hk/127.0.0.1#5335 +ipset=/sandisk.hk/gfwlist +server=/disneypeoplesurveys.com/127.0.0.1#5335 +ipset=/disneypeoplesurveys.com/gfwlist +server=/intel.co.cr/127.0.0.1#5335 +ipset=/intel.co.cr/gfwlist +server=/sandisk.de/127.0.0.1#5335 +ipset=/sandisk.de/gfwlist +server=/google.pl/127.0.0.1#5335 +ipset=/google.pl/gfwlist +server=/sandisk.com.tw/127.0.0.1#5335 +ipset=/sandisk.com.tw/gfwlist +server=/sandisk.com.tr/127.0.0.1#5335 +ipset=/sandisk.com.tr/gfwlist +server=/sandisk.com.br/127.0.0.1#5335 +ipset=/sandisk.com.br/gfwlist +server=/sandisk.com.au/127.0.0.1#5335 +ipset=/sandisk.com.au/gfwlist +server=/rakuten.com/127.0.0.1#5335 +ipset=/rakuten.com/gfwlist +server=/intel.com.pr/127.0.0.1#5335 +ipset=/intel.com.pr/gfwlist +server=/dreamforce.com/127.0.0.1#5335 +ipset=/dreamforce.com/gfwlist +server=/beatsbydresstudio.com/127.0.0.1#5335 +ipset=/beatsbydresstudio.com/gfwlist +server=/cheapbeatssale4u.com/127.0.0.1#5335 +ipset=/cheapbeatssale4u.com/gfwlist +server=/hipzoom.net/127.0.0.1#5335 +ipset=/hipzoom.net/gfwlist +server=/sandisk.com/127.0.0.1#5335 +ipset=/sandisk.com/gfwlist +server=/nist.gov/127.0.0.1#5335 +ipset=/nist.gov/gfwlist +server=/jqueryui.com/127.0.0.1#5335 +ipset=/jqueryui.com/gfwlist +server=/azurecosmos.net/127.0.0.1#5335 +ipset=/azurecosmos.net/gfwlist +server=/lin.ee/127.0.0.1#5335 +ipset=/lin.ee/gfwlist +server=/hpstorethailand.com/127.0.0.1#5335 +ipset=/hpstorethailand.com/gfwlist +server=/nvidia.co.in/127.0.0.1#5335 +ipset=/nvidia.co.in/gfwlist +server=/vkuservideo.net/127.0.0.1#5335 +ipset=/vkuservideo.net/gfwlist +server=/vkuserlive.net/127.0.0.1#5335 +ipset=/vkuserlive.net/gfwlist +server=/vkuseraudio.com/127.0.0.1#5335 +ipset=/vkuseraudio.com/gfwlist +server=/database.asahi.com/127.0.0.1#5335 +ipset=/database.asahi.com/gfwlist +server=/vkmessenger.com/127.0.0.1#5335 +ipset=/vkmessenger.com/gfwlist +server=/vklive.app/127.0.0.1#5335 +ipset=/vklive.app/gfwlist +server=/vkgo.app/127.0.0.1#5335 +ipset=/vkgo.app/gfwlist +server=/monsterbeatssydneyaustralia.com/127.0.0.1#5335 +ipset=/monsterbeatssydneyaustralia.com/gfwlist +server=/vkcache.com/127.0.0.1#5335 +ipset=/vkcache.com/gfwlist +server=/myavfun.com/127.0.0.1#5335 +ipset=/myavfun.com/gfwlist +server=/intel.sx/127.0.0.1#5335 +ipset=/intel.sx/gfwlist +server=/blogspot.sn/127.0.0.1#5335 +ipset=/blogspot.sn/gfwlist +server=/historyofdota.net/127.0.0.1#5335 +ipset=/historyofdota.net/gfwlist +server=/foxacrossamerica.com/127.0.0.1#5335 +ipset=/foxacrossamerica.com/gfwlist +server=/vanish.co.za/127.0.0.1#5335 +ipset=/vanish.co.za/gfwlist +server=/costco.com/127.0.0.1#5335 +ipset=/costco.com/gfwlist +server=/vk.design/127.0.0.1#5335 +ipset=/vk.design/gfwlist +server=/alfera.com.my/127.0.0.1#5335 +ipset=/alfera.com.my/gfwlist +server=/youtube.no/127.0.0.1#5335 +ipset=/youtube.no/gfwlist +server=/vk.com/127.0.0.1#5335 +ipset=/vk.com/gfwlist +server=/bgr.in/127.0.0.1#5335 +ipset=/bgr.in/gfwlist +server=/vk-cdn.me/127.0.0.1#5335 +ipset=/vk-cdn.me/gfwlist +server=/woolite.com/127.0.0.1#5335 +ipset=/woolite.com/gfwlist +server=/businessweekmag.com/127.0.0.1#5335 +ipset=/businessweekmag.com/gfwlist +server=/fox23.com/127.0.0.1#5335 +ipset=/fox23.com/gfwlist +server=/xo.com/127.0.0.1#5335 +ipset=/xo.com/gfwlist +server=/huobitoken.com/127.0.0.1#5335 +ipset=/huobitoken.com/gfwlist +server=/vzw.com/127.0.0.1#5335 +ipset=/vzw.com/gfwlist +server=/ebay.lt/127.0.0.1#5335 +ipset=/ebay.lt/gfwlist +server=/verizonwireless.com/127.0.0.1#5335 +ipset=/verizonwireless.com/gfwlist +server=/nmbmw.com/127.0.0.1#5335 +ipset=/nmbmw.com/gfwlist +server=/appleid-iclou.com/127.0.0.1#5335 +ipset=/appleid-iclou.com/gfwlist +server=/pokemonhome.com/127.0.0.1#5335 +ipset=/pokemonhome.com/gfwlist +server=/iphone-yh.com/127.0.0.1#5335 +ipset=/iphone-yh.com/gfwlist +server=/logicool.co.jp/127.0.0.1#5335 +ipset=/logicool.co.jp/gfwlist +server=/verizonbusinessfios.com/127.0.0.1#5335 +ipset=/verizonbusinessfios.com/gfwlist +server=/hp-invent.com/127.0.0.1#5335 +ipset=/hp-invent.com/gfwlist +server=/iphone4.com/127.0.0.1#5335 +ipset=/iphone4.com/gfwlist +server=/volvotrucks.lv/127.0.0.1#5335 +ipset=/volvotrucks.lv/gfwlist +server=/uplynk.com/127.0.0.1#5335 +ipset=/uplynk.com/gfwlist +server=/static-verizon.com/127.0.0.1#5335 +ipset=/static-verizon.com/gfwlist +server=/ouroath.com/127.0.0.1#5335 +ipset=/ouroath.com/gfwlist +server=/facegbook.com/127.0.0.1#5335 +ipset=/facegbook.com/gfwlist +server=/bmw-plant-munich.com/127.0.0.1#5335 +ipset=/bmw-plant-munich.com/gfwlist +server=/oath.com/127.0.0.1#5335 +ipset=/oath.com/gfwlist +server=/gemfury.com/127.0.0.1#5335 +ipset=/gemfury.com/gfwlist +server=/uber.com/127.0.0.1#5335 +ipset=/uber.com/gfwlist +server=/bmw-connecteddrive.ie/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ie/gfwlist +server=/twttr.com/127.0.0.1#5335 +ipset=/twttr.com/gfwlist +server=/twtrdns.net/127.0.0.1#5335 +ipset=/twtrdns.net/gfwlist +server=/paypal-mainstreet.net/127.0.0.1#5335 +ipset=/paypal-mainstreet.net/gfwlist +server=/mini-georgia.com/127.0.0.1#5335 +ipset=/mini-georgia.com/gfwlist +server=/amazon.com.br/127.0.0.1#5335 +ipset=/amazon.com.br/gfwlist +server=/hpfeedback.com/127.0.0.1#5335 +ipset=/hpfeedback.com/gfwlist +server=/twitteroauth.com/127.0.0.1#5335 +ipset=/twitteroauth.com/gfwlist +server=/leagueoflegends.net/127.0.0.1#5335 +ipset=/leagueoflegends.net/gfwlist +server=/twitterinc.com/127.0.0.1#5335 +ipset=/twitterinc.com/gfwlist +server=/youtube.al/127.0.0.1#5335 +ipset=/youtube.al/gfwlist +server=/hkcitizenmedia.com/127.0.0.1#5335 +ipset=/hkcitizenmedia.com/gfwlist +server=/twitter.com/127.0.0.1#5335 +ipset=/twitter.com/gfwlist +server=/webex.ca/127.0.0.1#5335 +ipset=/webex.ca/gfwlist +server=/primevideo.cc/127.0.0.1#5335 +ipset=/primevideo.cc/gfwlist +server=/twitpic.com/127.0.0.1#5335 +ipset=/twitpic.com/gfwlist +server=/alterauserforums.net/127.0.0.1#5335 +ipset=/alterauserforums.net/gfwlist +server=/twimg.com/127.0.0.1#5335 +ipset=/twimg.com/gfwlist +server=/ebay.de/127.0.0.1#5335 +ipset=/ebay.de/gfwlist +server=/tellapart.com/127.0.0.1#5335 +ipset=/tellapart.com/gfwlist +server=/ameblo.jp/127.0.0.1#5335 +ipset=/ameblo.jp/gfwlist +server=/t.co/127.0.0.1#5335 +ipset=/t.co/gfwlist +server=/pscp.tv/127.0.0.1#5335 +ipset=/pscp.tv/gfwlist +server=/ads-twitter.com/127.0.0.1#5335 +ipset=/ads-twitter.com/gfwlist +server=/yshyqxx.com/127.0.0.1#5335 +ipset=/yshyqxx.com/gfwlist +server=/softbankrobotics.com/127.0.0.1#5335 +ipset=/softbankrobotics.com/gfwlist +server=/miniso.pe/127.0.0.1#5335 +ipset=/miniso.pe/gfwlist +server=/openstreetmap.org/127.0.0.1#5335 +ipset=/openstreetmap.org/gfwlist +server=/servicetalk.io/127.0.0.1#5335 +ipset=/servicetalk.io/gfwlist +server=/heroku-app.com/127.0.0.1#5335 +ipset=/heroku-app.com/gfwlist +server=/mini-connected.ee/127.0.0.1#5335 +ipset=/mini-connected.ee/gfwlist +server=/sonyprotechnosupport.co.jp/127.0.0.1#5335 +ipset=/sonyprotechnosupport.co.jp/gfwlist +server=/newyorker.com/127.0.0.1#5335 +ipset=/newyorker.com/gfwlist +server=/unityads.unity3d.com/127.0.0.1#5335 +ipset=/unityads.unity3d.com/gfwlist +server=/beatsbydreinexpensive.com/127.0.0.1#5335 +ipset=/beatsbydreinexpensive.com/gfwlist +server=/softbank-telecom.net/127.0.0.1#5335 +ipset=/softbank-telecom.net/gfwlist +server=/alphera.com.my/127.0.0.1#5335 +ipset=/alphera.com.my/gfwlist +server=/sonyglobalsolutions.jp/127.0.0.1#5335 +ipset=/sonyglobalsolutions.jp/gfwlist +server=/bmw.com.cy/127.0.0.1#5335 +ipset=/bmw.com.cy/gfwlist +server=/sonydna.com/127.0.0.1#5335 +ipset=/sonydna.com/gfwlist +server=/starbucksrtd.com/127.0.0.1#5335 +ipset=/starbucksrtd.com/gfwlist +server=/rb-crisis.com/127.0.0.1#5335 +ipset=/rb-crisis.com/gfwlist +server=/sony.si/127.0.0.1#5335 +ipset=/sony.si/gfwlist +server=/sony.se/127.0.0.1#5335 +ipset=/sony.se/gfwlist +server=/uug25.com/127.0.0.1#5335 +ipset=/uug25.com/gfwlist +server=/monsterbeatsalestore.com/127.0.0.1#5335 +ipset=/monsterbeatsalestore.com/gfwlist +server=/youtube.com.sa/127.0.0.1#5335 +ipset=/youtube.com.sa/gfwlist +server=/onedrive.live.com/127.0.0.1#5335 +ipset=/onedrive.live.com/gfwlist +server=/pypi.org/127.0.0.1#5335 +ipset=/pypi.org/gfwlist +server=/volvotrucks.mk/127.0.0.1#5335 +ipset=/volvotrucks.mk/gfwlist +server=/bestbuybusiness.com/127.0.0.1#5335 +ipset=/bestbuybusiness.com/gfwlist +server=/alphabet.eu/127.0.0.1#5335 +ipset=/alphabet.eu/gfwlist +server=/sony.net/127.0.0.1#5335 +ipset=/sony.net/gfwlist +server=/worldemojiawards.com/127.0.0.1#5335 +ipset=/worldemojiawards.com/gfwlist +server=/dvdstudiopro.com/127.0.0.1#5335 +ipset=/dvdstudiopro.com/gfwlist +server=/crysis.jp/127.0.0.1#5335 +ipset=/crysis.jp/gfwlist +server=/readthedocs-hosted.com/127.0.0.1#5335 +ipset=/readthedocs-hosted.com/gfwlist +server=/ap.org/127.0.0.1#5335 +ipset=/ap.org/gfwlist +server=/cbscorporation.com/127.0.0.1#5335 +ipset=/cbscorporation.com/gfwlist +server=/marveldimensionofheroes.com/127.0.0.1#5335 +ipset=/marveldimensionofheroes.com/gfwlist +server=/overcast.fm/127.0.0.1#5335 +ipset=/overcast.fm/gfwlist +server=/sony.gr/127.0.0.1#5335 +ipset=/sony.gr/gfwlist +server=/findmybeats.com/127.0.0.1#5335 +ipset=/findmybeats.com/gfwlist +server=/vimeo-staging.com/127.0.0.1#5335 +ipset=/vimeo-staging.com/gfwlist +server=/fbinc.com/127.0.0.1#5335 +ipset=/fbinc.com/gfwlist +server=/dkk37.com/127.0.0.1#5335 +ipset=/dkk37.com/gfwlist +server=/sony.fr/127.0.0.1#5335 +ipset=/sony.fr/gfwlist +server=/paypalcommunity.org/127.0.0.1#5335 +ipset=/paypalcommunity.org/gfwlist +server=/sony.eu/127.0.0.1#5335 +ipset=/sony.eu/gfwlist +server=/vjmedia.com.hk/127.0.0.1#5335 +ipset=/vjmedia.com.hk/gfwlist +server=/hkgolden.com/127.0.0.1#5335 +ipset=/hkgolden.com/gfwlist +server=/bridgestone-plt-eng.com/127.0.0.1#5335 +ipset=/bridgestone-plt-eng.com/gfwlist +server=/miniso.ma/127.0.0.1#5335 +ipset=/miniso.ma/gfwlist +server=/visualarts.gr.jp/127.0.0.1#5335 +ipset=/visualarts.gr.jp/gfwlist +server=/sony.es/127.0.0.1#5335 +ipset=/sony.es/gfwlist +server=/sony.ee/127.0.0.1#5335 +ipset=/sony.ee/gfwlist +server=/sony.de/127.0.0.1#5335 +ipset=/sony.de/gfwlist +server=/sony.com.vn/127.0.0.1#5335 +ipset=/sony.com.vn/gfwlist +server=/sony.com.tw/127.0.0.1#5335 +ipset=/sony.com.tw/gfwlist +server=/sony.com.tr/127.0.0.1#5335 +ipset=/sony.com.tr/gfwlist +server=/msturing.org/127.0.0.1#5335 +ipset=/msturing.org/gfwlist +server=/sony.com.sv/127.0.0.1#5335 +ipset=/sony.com.sv/gfwlist +server=/yahoo.com.hk/127.0.0.1#5335 +ipset=/yahoo.com.hk/gfwlist +server=/getdirect.tv/127.0.0.1#5335 +ipset=/getdirect.tv/gfwlist +server=/sony.com.ph/127.0.0.1#5335 +ipset=/sony.com.ph/gfwlist +server=/sony.com.pa/127.0.0.1#5335 +ipset=/sony.com.pa/gfwlist +server=/ebayseller.com/127.0.0.1#5335 +ipset=/ebayseller.com/gfwlist +server=/adobeaemcloud.com/127.0.0.1#5335 +ipset=/adobeaemcloud.com/gfwlist +server=/paypal.com/127.0.0.1#5335 +ipset=/paypal.com/gfwlist +server=/sony.com.my/127.0.0.1#5335 +ipset=/sony.com.my/gfwlist +server=/disqusservice.com/127.0.0.1#5335 +ipset=/disqusservice.com/gfwlist +server=/scholar.google.com.gt/127.0.0.1#5335 +ipset=/scholar.google.com.gt/gfwlist +server=/easportsworld.com/127.0.0.1#5335 +ipset=/easportsworld.com/gfwlist +server=/starbuckspoq.com/127.0.0.1#5335 +ipset=/starbuckspoq.com/gfwlist +server=/nikeseason.com/127.0.0.1#5335 +ipset=/nikeseason.com/gfwlist +server=/akamaized-staging.net/127.0.0.1#5335 +ipset=/akamaized-staging.net/gfwlist +server=/twinprime.com/127.0.0.1#5335 +ipset=/twinprime.com/gfwlist +server=/sony.com.hk/127.0.0.1#5335 +ipset=/sony.com.hk/gfwlist +server=/intel.tv/127.0.0.1#5335 +ipset=/intel.tv/gfwlist +server=/facebookads.com/127.0.0.1#5335 +ipset=/facebookads.com/gfwlist +server=/sony.com.au/127.0.0.1#5335 +ipset=/sony.com.au/gfwlist +server=/goolge.com/127.0.0.1#5335 +ipset=/goolge.com/gfwlist +server=/adidas.be/127.0.0.1#5335 +ipset=/adidas.be/gfwlist +server=/sony.com/127.0.0.1#5335 +ipset=/sony.com/gfwlist +server=/sony.co.uk/127.0.0.1#5335 +ipset=/sony.co.uk/gfwlist +server=/googleventures.com/127.0.0.1#5335 +ipset=/googleventures.com/gfwlist +server=/buck.build/127.0.0.1#5335 +ipset=/buck.build/gfwlist +server=/wordpress.tv/127.0.0.1#5335 +ipset=/wordpress.tv/gfwlist +server=/beatsheadphonesforcheap.net/127.0.0.1#5335 +ipset=/beatsheadphonesforcheap.net/gfwlist +server=/sony.co.th/127.0.0.1#5335 +ipset=/sony.co.th/gfwlist +server=/sony.co.nz/127.0.0.1#5335 +ipset=/sony.co.nz/gfwlist +server=/sony.co.jp/127.0.0.1#5335 +ipset=/sony.co.jp/gfwlist +server=/sony.co.in/127.0.0.1#5335 +ipset=/sony.co.in/gfwlist +server=/applecare.eu/127.0.0.1#5335 +ipset=/applecare.eu/gfwlist +server=/sony.co.id/127.0.0.1#5335 +ipset=/sony.co.id/gfwlist +server=/cloudinsights.com/127.0.0.1#5335 +ipset=/cloudinsights.com/gfwlist +server=/sony.co.cr/127.0.0.1#5335 +ipset=/sony.co.cr/gfwlist +server=/bmwvalueservice.com/127.0.0.1#5335 +ipset=/bmwvalueservice.com/gfwlist +server=/edgefonts.net/127.0.0.1#5335 +ipset=/edgefonts.net/gfwlist +server=/visa.com.vc/127.0.0.1#5335 +ipset=/visa.com.vc/gfwlist +server=/sony.ch/127.0.0.1#5335 +ipset=/sony.ch/gfwlist +server=/finish.co.za/127.0.0.1#5335 +ipset=/finish.co.za/gfwlist +server=/sony.bg/127.0.0.1#5335 +ipset=/sony.bg/gfwlist +server=/webex.co.jp/127.0.0.1#5335 +ipset=/webex.co.jp/gfwlist +server=/exhentai.org/127.0.0.1#5335 +ipset=/exhentai.org/gfwlist +server=/touchsmartpc.net/127.0.0.1#5335 +ipset=/touchsmartpc.net/gfwlist +server=/sony.ba/127.0.0.1#5335 +ipset=/sony.ba/gfwlist +server=/beatsbydresales.us/127.0.0.1#5335 +ipset=/beatsbydresales.us/gfwlist +server=/ftcdn.net/127.0.0.1#5335 +ipset=/ftcdn.net/gfwlist +server=/sony.at/127.0.0.1#5335 +ipset=/sony.at/gfwlist +server=/canon.pt/127.0.0.1#5335 +ipset=/canon.pt/gfwlist +server=/canon.fi/127.0.0.1#5335 +ipset=/canon.fi/gfwlist +server=/globalsign.ch/127.0.0.1#5335 +ipset=/globalsign.ch/gfwlist +server=/sony-promotion.eu/127.0.0.1#5335 +ipset=/sony-promotion.eu/gfwlist +server=/bitstream.com/127.0.0.1#5335 +ipset=/bitstream.com/gfwlist +server=/thefoxnation.com/127.0.0.1#5335 +ipset=/thefoxnation.com/gfwlist +server=/sony-mea.com/127.0.0.1#5335 +ipset=/sony-mea.com/gfwlist +server=/sony-latin.com/127.0.0.1#5335 +ipset=/sony-latin.com/gfwlist +server=/msnewskids.org/127.0.0.1#5335 +ipset=/msnewskids.org/gfwlist +server=/sony-africa.com/127.0.0.1#5335 +ipset=/sony-africa.com/gfwlist +server=/pearsonclinical.de/127.0.0.1#5335 +ipset=/pearsonclinical.de/gfwlist +server=/ibm.net/127.0.0.1#5335 +ipset=/ibm.net/gfwlist +server=/paxlicense.org/127.0.0.1#5335 +ipset=/paxlicense.org/gfwlist +server=/scholar.google.fr/127.0.0.1#5335 +ipset=/scholar.google.fr/gfwlist +server=/sourcingforebay.com.cn/127.0.0.1#5335 +ipset=/sourcingforebay.com.cn/gfwlist +server=/baterias-hp.com/127.0.0.1#5335 +ipset=/baterias-hp.com/gfwlist +server=/wixsite.com/127.0.0.1#5335 +ipset=/wixsite.com/gfwlist +server=/bmw.kg/127.0.0.1#5335 +ipset=/bmw.kg/gfwlist +server=/ipad.de/127.0.0.1#5335 +ipset=/ipad.de/gfwlist +server=/applestore.com.eg/127.0.0.1#5335 +ipset=/applestore.com.eg/gfwlist +server=/nexitally.com/127.0.0.1#5335 +ipset=/nexitally.com/gfwlist +server=/snapads.com/127.0.0.1#5335 +ipset=/snapads.com/gfwlist +server=/snap-dev.net/127.0.0.1#5335 +ipset=/snap-dev.net/gfwlist +server=/sc-cdn.net/127.0.0.1#5335 +ipset=/sc-cdn.net/gfwlist +server=/cloudappsecurity.com/127.0.0.1#5335 +ipset=/cloudappsecurity.com/gfwlist +server=/buyfast-paysmart.net/127.0.0.1#5335 +ipset=/buyfast-paysmart.net/gfwlist +server=/smartonerobotics.com/127.0.0.1#5335 +ipset=/smartonerobotics.com/gfwlist +server=/epochweekly.com/127.0.0.1#5335 +ipset=/epochweekly.com/gfwlist +server=/facebooknude.com/127.0.0.1#5335 +ipset=/facebooknude.com/gfwlist +server=/smartoneholdings.com/127.0.0.1#5335 +ipset=/smartoneholdings.com/gfwlist +server=/nevex.com/127.0.0.1#5335 +ipset=/nevex.com/gfwlist +server=/youtube.es/127.0.0.1#5335 +ipset=/youtube.es/gfwlist +server=/s-rewards.hk/127.0.0.1#5335 +ipset=/s-rewards.hk/gfwlist +server=/ip73.com/127.0.0.1#5335 +ipset=/ip73.com/gfwlist +server=/paypal-activate.org/127.0.0.1#5335 +ipset=/paypal-activate.org/gfwlist +server=/hkcircleapp.com/127.0.0.1#5335 +ipset=/hkcircleapp.com/gfwlist +server=/miniso-nz.com/127.0.0.1#5335 +ipset=/miniso-nz.com/gfwlist +server=/faceook.com/127.0.0.1#5335 +ipset=/faceook.com/gfwlist +server=/ebaytechblog.com/127.0.0.1#5335 +ipset=/ebaytechblog.com/gfwlist +server=/barkadahansasmartone.com/127.0.0.1#5335 +ipset=/barkadahansasmartone.com/gfwlist +server=/leagueoflegends.kr/127.0.0.1#5335 +ipset=/leagueoflegends.kr/gfwlist +server=/nest.com/127.0.0.1#5335 +ipset=/nest.com/gfwlist +server=/samsungknox.com/127.0.0.1#5335 +ipset=/samsungknox.com/gfwlist +server=/bingvisualsearch.com/127.0.0.1#5335 +ipset=/bingvisualsearch.com/gfwlist +server=/samsunggalaxyfriends.com/127.0.0.1#5335 +ipset=/samsunggalaxyfriends.com/gfwlist +server=/huffingtonpost.jp/127.0.0.1#5335 +ipset=/huffingtonpost.jp/gfwlist +server=/youtube.com.sv/127.0.0.1#5335 +ipset=/youtube.com.sv/gfwlist +server=/samsungcloud.com/127.0.0.1#5335 +ipset=/samsungcloud.com/gfwlist +server=/samsungapps.com/127.0.0.1#5335 +ipset=/samsungapps.com/gfwlist +server=/samsung.com/127.0.0.1#5335 +ipset=/samsung.com/gfwlist +server=/microsoft.cl/127.0.0.1#5335 +ipset=/microsoft.cl/gfwlist +server=/taylorandfrancis.com/127.0.0.1#5335 +ipset=/taylorandfrancis.com/gfwlist +server=/466453.com/127.0.0.1#5335 +ipset=/466453.com/gfwlist +server=/theguardian.com/127.0.0.1#5335 +ipset=/theguardian.com/gfwlist +server=/x.co/127.0.0.1#5335 +ipset=/x.co/gfwlist +server=/alphabet.uk/127.0.0.1#5335 +ipset=/alphabet.uk/gfwlist +server=/bloomberg.tv/127.0.0.1#5335 +ipset=/bloomberg.tv/gfwlist +server=/game-platform.net/127.0.0.1#5335 +ipset=/game-platform.net/gfwlist +server=/ebay.ch/127.0.0.1#5335 +ipset=/ebay.ch/gfwlist +server=/asp.net/127.0.0.1#5335 +ipset=/asp.net/gfwlist +server=/hackyourconsole.com/127.0.0.1#5335 +ipset=/hackyourconsole.com/gfwlist +server=/walmartimages.com/127.0.0.1#5335 +ipset=/walmartimages.com/gfwlist +server=/netacad.net/127.0.0.1#5335 +ipset=/netacad.net/gfwlist +server=/steelbrick.com/127.0.0.1#5335 +ipset=/steelbrick.com/gfwlist +server=/social.com/127.0.0.1#5335 +ipset=/social.com/gfwlist +server=/site.com/127.0.0.1#5335 +ipset=/site.com/gfwlist +server=/placesdocs.com/127.0.0.1#5335 +ipset=/placesdocs.com/gfwlist +server=/vimeogoods.com/127.0.0.1#5335 +ipset=/vimeogoods.com/gfwlist +server=/ciscokinetic.com/127.0.0.1#5335 +ipset=/ciscokinetic.com/gfwlist +server=/discord.gg/127.0.0.1#5335 +ipset=/discord.gg/gfwlist +server=/dropboxforums.com/127.0.0.1#5335 +ipset=/dropboxforums.com/gfwlist +server=/g.co/127.0.0.1#5335 +ipset=/g.co/gfwlist +server=/sfdcstatic.com/127.0.0.1#5335 +ipset=/sfdcstatic.com/gfwlist +server=/sequence.com/127.0.0.1#5335 +ipset=/sequence.com/gfwlist +server=/salesforcemarketingcloud.com/127.0.0.1#5335 +ipset=/salesforcemarketingcloud.com/gfwlist +server=/lolfanart.net/127.0.0.1#5335 +ipset=/lolfanart.net/gfwlist +server=/salesforceliveagent.com/127.0.0.1#5335 +ipset=/salesforceliveagent.com/gfwlist +server=/relateiq.com/127.0.0.1#5335 +ipset=/relateiq.com/gfwlist +server=/iphoto.wang/127.0.0.1#5335 +ipset=/iphoto.wang/gfwlist +server=/welcometobestbuy.ca/127.0.0.1#5335 +ipset=/welcometobestbuy.ca/gfwlist +server=/ingka.com/127.0.0.1#5335 +ipset=/ingka.com/gfwlist +server=/bmw.az/127.0.0.1#5335 +ipset=/bmw.az/gfwlist +server=/quotable.com/127.0.0.1#5335 +ipset=/quotable.com/gfwlist +server=/pardot.com/127.0.0.1#5335 +ipset=/pardot.com/gfwlist +server=/disneyme.com/127.0.0.1#5335 +ipset=/disneyme.com/gfwlist +server=/force.com/127.0.0.1#5335 +ipset=/force.com/gfwlist +server=/bestbuytradein.com/127.0.0.1#5335 +ipset=/bestbuytradein.com/gfwlist +server=/exacttarget.com/127.0.0.1#5335 +ipset=/exacttarget.com/gfwlist +server=/paypalcorp.com/127.0.0.1#5335 +ipset=/paypalcorp.com/gfwlist +server=/vmwidm.com/127.0.0.1#5335 +ipset=/vmwidm.com/gfwlist +server=/desk.com/127.0.0.1#5335 +ipset=/desk.com/gfwlist +server=/tellmewhygame.com/127.0.0.1#5335 +ipset=/tellmewhygame.com/gfwlist +server=/demandware.com/127.0.0.1#5335 +ipset=/demandware.com/gfwlist +server=/bridge-studio.co.uk/127.0.0.1#5335 +ipset=/bridge-studio.co.uk/gfwlist +server=/data.com/127.0.0.1#5335 +ipset=/data.com/gfwlist +server=/zohostatic.in/127.0.0.1#5335 +ipset=/zohostatic.in/gfwlist +server=/cloudcraze.com/127.0.0.1#5335 +ipset=/cloudcraze.com/gfwlist +server=/chatter.com/127.0.0.1#5335 +ipset=/chatter.com/gfwlist +server=/needforspeedproven.com/127.0.0.1#5335 +ipset=/needforspeedproven.com/gfwlist +server=/pinterest.in/127.0.0.1#5335 +ipset=/pinterest.in/gfwlist +server=/vector.im/127.0.0.1#5335 +ipset=/vector.im/gfwlist +server=/startpage.com/127.0.0.1#5335 +ipset=/startpage.com/gfwlist +server=/bmw.ro/127.0.0.1#5335 +ipset=/bmw.ro/gfwlist +server=/beyondcore.com/127.0.0.1#5335 +ipset=/beyondcore.com/gfwlist +server=/appexchange.com/127.0.0.1#5335 +ipset=/appexchange.com/gfwlist +server=/appcloud.com/127.0.0.1#5335 +ipset=/appcloud.com/gfwlist +server=/respawnbyrazer.com/127.0.0.1#5335 +ipset=/respawnbyrazer.com/gfwlist +server=/razerzone.jp/127.0.0.1#5335 +ipset=/razerzone.jp/gfwlist +server=/bmwsfl.com/127.0.0.1#5335 +ipset=/bmwsfl.com/gfwlist +server=/razerzone.com/127.0.0.1#5335 +ipset=/razerzone.com/gfwlist +server=/visadpsonline.us/127.0.0.1#5335 +ipset=/visadpsonline.us/gfwlist +server=/beatsbydrdre-store.com/127.0.0.1#5335 +ipset=/beatsbydrdre-store.com/gfwlist +server=/imod.com/127.0.0.1#5335 +ipset=/imod.com/gfwlist +server=/uplinq.com/127.0.0.1#5335 +ipset=/uplinq.com/gfwlist +server=/snapdragonbooth.com/127.0.0.1#5335 +ipset=/snapdragonbooth.com/gfwlist +server=/alphabet.co.uk/127.0.0.1#5335 +ipset=/alphabet.co.uk/gfwlist +server=/snapdragon.cn/127.0.0.1#5335 +ipset=/snapdragon.cn/gfwlist +server=/thesun.ie/127.0.0.1#5335 +ipset=/thesun.ie/gfwlist +server=/qualphone.com/127.0.0.1#5335 +ipset=/qualphone.com/gfwlist +server=/qualcommventures.cn/127.0.0.1#5335 +ipset=/qualcommventures.cn/gfwlist +server=/qualcommretail.com/127.0.0.1#5335 +ipset=/qualcommretail.com/gfwlist +server=/qualcommmea.com/127.0.0.1#5335 +ipset=/qualcommmea.com/gfwlist +server=/creativecommons.org/127.0.0.1#5335 +ipset=/creativecommons.org/gfwlist +server=/volvotrucks.at/127.0.0.1#5335 +ipset=/volvotrucks.at/gfwlist +server=/adobesc.com/127.0.0.1#5335 +ipset=/adobesc.com/gfwlist +server=/cups.org/127.0.0.1#5335 +ipset=/cups.org/gfwlist +server=/qualcomm.fr/127.0.0.1#5335 +ipset=/qualcomm.fr/gfwlist +server=/ieee-uffc.org/127.0.0.1#5335 +ipset=/ieee-uffc.org/gfwlist +server=/qualcomm.de/127.0.0.1#5335 +ipset=/qualcomm.de/gfwlist +server=/fbsbx.net/127.0.0.1#5335 +ipset=/fbsbx.net/gfwlist +server=/applestore.ch/127.0.0.1#5335 +ipset=/applestore.ch/gfwlist +server=/monsterdrebeats-usa.com/127.0.0.1#5335 +ipset=/monsterdrebeats-usa.com/gfwlist +server=/foxnewsopinion.com/127.0.0.1#5335 +ipset=/foxnewsopinion.com/gfwlist +server=/stackexchange.com/127.0.0.1#5335 +ipset=/stackexchange.com/gfwlist +server=/seamonkey-project.org/127.0.0.1#5335 +ipset=/seamonkey-project.org/gfwlist +server=/bmw.com.sg/127.0.0.1#5335 +ipset=/bmw.com.sg/gfwlist +server=/briantreepayments.net/127.0.0.1#5335 +ipset=/briantreepayments.net/gfwlist +server=/qualcomm.co.kr/127.0.0.1#5335 +ipset=/qualcomm.co.kr/gfwlist +server=/freessl.com/127.0.0.1#5335 +ipset=/freessl.com/gfwlist +server=/intel.io/127.0.0.1#5335 +ipset=/intel.io/gfwlist +server=/qualcomm.co.in/127.0.0.1#5335 +ipset=/qualcomm.co.in/gfwlist +server=/qualcomm.co.id/127.0.0.1#5335 +ipset=/qualcomm.co.id/gfwlist +server=/freewechat.com/127.0.0.1#5335 +ipset=/freewechat.com/gfwlist +server=/minibrossard.com/127.0.0.1#5335 +ipset=/minibrossard.com/gfwlist +server=/qprize.com/127.0.0.1#5335 +ipset=/qprize.com/gfwlist +server=/pixtronix.com/127.0.0.1#5335 +ipset=/pixtronix.com/gfwlist +server=/meetsmartbook.com/127.0.0.1#5335 +ipset=/meetsmartbook.com/gfwlist +server=/iskoot.com/127.0.0.1#5335 +ipset=/iskoot.com/gfwlist +server=/brewmp.com/127.0.0.1#5335 +ipset=/brewmp.com/gfwlist +server=/mini.com.ph/127.0.0.1#5335 +ipset=/mini.com.ph/gfwlist +server=/johren.net/127.0.0.1#5335 +ipset=/johren.net/gfwlist +server=/shopifycdn.com/127.0.0.1#5335 +ipset=/shopifycdn.com/gfwlist +server=/dailymail.dk/127.0.0.1#5335 +ipset=/dailymail.dk/gfwlist +server=/hellosmartbook.com/127.0.0.1#5335 +ipset=/hellosmartbook.com/gfwlist +server=/echosign.com/127.0.0.1#5335 +ipset=/echosign.com/gfwlist +server=/haskellstack.org/127.0.0.1#5335 +ipset=/haskellstack.org/gfwlist +server=/gobianywhere.com/127.0.0.1#5335 +ipset=/gobianywhere.com/gfwlist +server=/berkanawireless.com/127.0.0.1#5335 +ipset=/berkanawireless.com/gfwlist +server=/trmini.com/127.0.0.1#5335 +ipset=/trmini.com/gfwlist +server=/bmw.com.ec/127.0.0.1#5335 +ipset=/bmw.com.ec/gfwlist +server=/wwwapple.net/127.0.0.1#5335 +ipset=/wwwapple.net/gfwlist +server=/fqcebook.com/127.0.0.1#5335 +ipset=/fqcebook.com/gfwlist +server=/pearsonclinical.co.uk/127.0.0.1#5335 +ipset=/pearsonclinical.co.uk/gfwlist +server=/hktshop.com/127.0.0.1#5335 +ipset=/hktshop.com/gfwlist +server=/dentalhypotheses.com/127.0.0.1#5335 +ipset=/dentalhypotheses.com/gfwlist +server=/hkt.com/127.0.0.1#5335 +ipset=/hkt.com/gfwlist +server=/hkt-eye.com/127.0.0.1#5335 +ipset=/hkt-eye.com/gfwlist +server=/hkt-enterprise.com/127.0.0.1#5335 +ipset=/hkt-enterprise.com/gfwlist +server=/researchkit.org/127.0.0.1#5335 +ipset=/researchkit.org/gfwlist +server=/esmarthealth.com/127.0.0.1#5335 +ipset=/esmarthealth.com/gfwlist +server=/edgedatg.com/127.0.0.1#5335 +ipset=/edgedatg.com/gfwlist +server=/kindle.co.uk/127.0.0.1#5335 +ipset=/kindle.co.uk/gfwlist +server=/mini-me.com/127.0.0.1#5335 +ipset=/mini-me.com/gfwlist +server=/brightcove.services/127.0.0.1#5335 +ipset=/brightcove.services/gfwlist +server=/hpuniversity.info/127.0.0.1#5335 +ipset=/hpuniversity.info/gfwlist +server=/bmw-clubs-international.com/127.0.0.1#5335 +ipset=/bmw-clubs-international.com/gfwlist +server=/oup.com/127.0.0.1#5335 +ipset=/oup.com/gfwlist +server=/nine.com.au/127.0.0.1#5335 +ipset=/nine.com.au/gfwlist +server=/panasonic.com/127.0.0.1#5335 +ipset=/panasonic.com/gfwlist +server=/att-rsvp.com/127.0.0.1#5335 +ipset=/att-rsvp.com/gfwlist +server=/sun.com/127.0.0.1#5335 +ipset=/sun.com/gfwlist +server=/bmw-connecteddrive.jp/127.0.0.1#5335 +ipset=/bmw-connecteddrive.jp/gfwlist +server=/covid19-rx.org/127.0.0.1#5335 +ipset=/covid19-rx.org/gfwlist +server=/avinetworks.com/127.0.0.1#5335 +ipset=/avinetworks.com/gfwlist +server=/oracleimg.com/127.0.0.1#5335 +ipset=/oracleimg.com/gfwlist +server=/oraclecloud.com/127.0.0.1#5335 +ipset=/oraclecloud.com/gfwlist +server=/bmw-ksa.com/127.0.0.1#5335 +ipset=/bmw-ksa.com/gfwlist +server=/beatsforme.com/127.0.0.1#5335 +ipset=/beatsforme.com/gfwlist +server=/oracle.com/127.0.0.1#5335 +ipset=/oracle.com/gfwlist +server=/intel.by/127.0.0.1#5335 +ipset=/intel.by/gfwlist +server=/typesquare.com/127.0.0.1#5335 +ipset=/typesquare.com/gfwlist +server=/nvidia.tt.omtrdc.net/127.0.0.1#5335 +ipset=/nvidia.tt.omtrdc.net/gfwlist +server=/azureiotsolutions.com/127.0.0.1#5335 +ipset=/azureiotsolutions.com/gfwlist +server=/tegrazone.kr/127.0.0.1#5335 +ipset=/tegrazone.kr/gfwlist +server=/tegrazone.com/127.0.0.1#5335 +ipset=/tegrazone.com/gfwlist +server=/bloombergradio.com/127.0.0.1#5335 +ipset=/bloombergradio.com/gfwlist +server=/fgacebook.com/127.0.0.1#5335 +ipset=/fgacebook.com/gfwlist +server=/wsj.net/127.0.0.1#5335 +ipset=/wsj.net/gfwlist +server=/nvidiaforhp.com/127.0.0.1#5335 +ipset=/nvidiaforhp.com/gfwlist +server=/google.com.ly/127.0.0.1#5335 +ipset=/google.com.ly/gfwlist +server=/nvidia.se/127.0.0.1#5335 +ipset=/nvidia.se/gfwlist +server=/nvidia.ro/127.0.0.1#5335 +ipset=/nvidia.ro/gfwlist +server=/applw.com/127.0.0.1#5335 +ipset=/applw.com/gfwlist +server=/nvidia.pl/127.0.0.1#5335 +ipset=/nvidia.pl/gfwlist +server=/airwick.pt/127.0.0.1#5335 +ipset=/airwick.pt/gfwlist +server=/scholar.google.co.kr/127.0.0.1#5335 +ipset=/scholar.google.co.kr/gfwlist +server=/foxnewssunday.com/127.0.0.1#5335 +ipset=/foxnewssunday.com/gfwlist +server=/nvidia.mx/127.0.0.1#5335 +ipset=/nvidia.mx/gfwlist +server=/snapstore.io/127.0.0.1#5335 +ipset=/snapstore.io/gfwlist +server=/nvidia.lu/127.0.0.1#5335 +ipset=/nvidia.lu/gfwlist +server=/azureplanetscale.net/127.0.0.1#5335 +ipset=/azureplanetscale.net/gfwlist +server=/nvidia.in/127.0.0.1#5335 +ipset=/nvidia.in/gfwlist +server=/nvidia.de/127.0.0.1#5335 +ipset=/nvidia.de/gfwlist +server=/mobilemarketo.com/127.0.0.1#5335 +ipset=/mobilemarketo.com/gfwlist +server=/addthiscdn.com/127.0.0.1#5335 +ipset=/addthiscdn.com/gfwlist +server=/yourmonsterbeats.com/127.0.0.1#5335 +ipset=/yourmonsterbeats.com/gfwlist +server=/fbmarketing.com/127.0.0.1#5335 +ipset=/fbmarketing.com/gfwlist +server=/nvidia.com.tr/127.0.0.1#5335 +ipset=/nvidia.com.tr/gfwlist +server=/firebaseio.com/127.0.0.1#5335 +ipset=/firebaseio.com/gfwlist +server=/thanksloyalty.com/127.0.0.1#5335 +ipset=/thanksloyalty.com/gfwlist +server=/beatsireland.net/127.0.0.1#5335 +ipset=/beatsireland.net/gfwlist +server=/my29tv.com/127.0.0.1#5335 +ipset=/my29tv.com/gfwlist +server=/nvidia.com.pe/127.0.0.1#5335 +ipset=/nvidia.com.pe/gfwlist +server=/nvidia.com/127.0.0.1#5335 +ipset=/nvidia.com/gfwlist +server=/nextmedia.com/127.0.0.1#5335 +ipset=/nextmedia.com/gfwlist +server=/nvidia.co.uk/127.0.0.1#5335 +ipset=/nvidia.co.uk/gfwlist +server=/sandisk.it/127.0.0.1#5335 +ipset=/sandisk.it/gfwlist +server=/nvidia.at/127.0.0.1#5335 +ipset=/nvidia.at/gfwlist +server=/gputechconf.jp/127.0.0.1#5335 +ipset=/gputechconf.jp/gfwlist +server=/inikesneakers.com/127.0.0.1#5335 +ipset=/inikesneakers.com/gfwlist +server=/gputechconf.in/127.0.0.1#5335 +ipset=/gputechconf.in/gfwlist +server=/geotrust.com/127.0.0.1#5335 +ipset=/geotrust.com/gfwlist +server=/cheapbeatsie.com/127.0.0.1#5335 +ipset=/cheapbeatsie.com/gfwlist +server=/gputechconf.com.tw/127.0.0.1#5335 +ipset=/gputechconf.com.tw/gfwlist +server=/mortein.com.au/127.0.0.1#5335 +ipset=/mortein.com.au/gfwlist +server=/starbucks.co.th/127.0.0.1#5335 +ipset=/starbucks.co.th/gfwlist +server=/beatscheapforsale.com/127.0.0.1#5335 +ipset=/beatscheapforsale.com/gfwlist +server=/fedoramagazine.org/127.0.0.1#5335 +ipset=/fedoramagazine.org/gfwlist +server=/volvogroup.de/127.0.0.1#5335 +ipset=/volvogroup.de/gfwlist +server=/bridgestone.com.ar/127.0.0.1#5335 +ipset=/bridgestone.com.ar/gfwlist +server=/niketradeweb.com/127.0.0.1#5335 +ipset=/niketradeweb.com/gfwlist +server=/godaddy.com/127.0.0.1#5335 +ipset=/godaddy.com/gfwlist +server=/realclearreligion.org/127.0.0.1#5335 +ipset=/realclearreligion.org/gfwlist +server=/monsterbeatsforsale.com/127.0.0.1#5335 +ipset=/monsterbeatsforsale.com/gfwlist +server=/neuralink.com/127.0.0.1#5335 +ipset=/neuralink.com/gfwlist +server=/adsense.com/127.0.0.1#5335 +ipset=/adsense.com/gfwlist +server=/ebayrtm.com/127.0.0.1#5335 +ipset=/ebayrtm.com/gfwlist +server=/pstatic.net/127.0.0.1#5335 +ipset=/pstatic.net/gfwlist +server=/plug.game/127.0.0.1#5335 +ipset=/plug.game/gfwlist +server=/nikeairmax.com/127.0.0.1#5335 +ipset=/nikeairmax.com/gfwlist +server=/mac.rs/127.0.0.1#5335 +ipset=/mac.rs/gfwlist +server=/navercorp.com/127.0.0.1#5335 +ipset=/navercorp.com/gfwlist +server=/livejasmin.com/127.0.0.1#5335 +ipset=/livejasmin.com/gfwlist +server=/voalingala.com/127.0.0.1#5335 +ipset=/voalingala.com/gfwlist +server=/pcmarket.com.hk/127.0.0.1#5335 +ipset=/pcmarket.com.hk/gfwlist +server=/cometotheduckside.com/127.0.0.1#5335 +ipset=/cometotheduckside.com/gfwlist +server=/intel.re/127.0.0.1#5335 +ipset=/intel.re/gfwlist +server=/apple.uk/127.0.0.1#5335 +ipset=/apple.uk/gfwlist +server=/grafolio.com/127.0.0.1#5335 +ipset=/grafolio.com/gfwlist +server=/seselah.com/127.0.0.1#5335 +ipset=/seselah.com/gfwlist +server=/mozilla.net/127.0.0.1#5335 +ipset=/mozilla.net/gfwlist +server=/google.hn/127.0.0.1#5335 +ipset=/google.hn/gfwlist +server=/lanik.us/127.0.0.1#5335 +ipset=/lanik.us/gfwlist +server=/voaindonesia.com/127.0.0.1#5335 +ipset=/voaindonesia.com/gfwlist +server=/volvobuses.co/127.0.0.1#5335 +ipset=/volvobuses.co/gfwlist +server=/docs.rs/127.0.0.1#5335 +ipset=/docs.rs/gfwlist +server=/applefilmmaker.com/127.0.0.1#5335 +ipset=/applefilmmaker.com/gfwlist +server=/hongkongfp.com/127.0.0.1#5335 +ipset=/hongkongfp.com/gfwlist +server=/coova.net/127.0.0.1#5335 +ipset=/coova.net/gfwlist +server=/mdn.mozillademos.org/127.0.0.1#5335 +ipset=/mdn.mozillademos.org/gfwlist +server=/fbbmarket.com/127.0.0.1#5335 +ipset=/fbbmarket.com/gfwlist +server=/geeksquadwebroot.org/127.0.0.1#5335 +ipset=/geeksquadwebroot.org/gfwlist +server=/bigcharts.com/127.0.0.1#5335 +ipset=/bigcharts.com/gfwlist +server=/google.com.uy/127.0.0.1#5335 +ipset=/google.com.uy/gfwlist +server=/foxsportsnetmilwaukee.com/127.0.0.1#5335 +ipset=/foxsportsnetmilwaukee.com/gfwlist +server=/mwf-service.akamaized.net/127.0.0.1#5335 +ipset=/mwf-service.akamaized.net/gfwlist +server=/img-s-msn-com.akamaized.net/127.0.0.1#5335 +ipset=/img-s-msn-com.akamaized.net/gfwlist +server=/img-prod-cms-rt-microsoft-com.akamaized.net/127.0.0.1#5335 +ipset=/img-prod-cms-rt-microsoft-com.akamaized.net/gfwlist +server=/kijijiforbusiness.ca/127.0.0.1#5335 +ipset=/kijijiforbusiness.ca/gfwlist +server=/fesebook.com/127.0.0.1#5335 +ipset=/fesebook.com/gfwlist +server=/matrix.to/127.0.0.1#5335 +ipset=/matrix.to/gfwlist +server=/onedrive.org/127.0.0.1#5335 +ipset=/onedrive.org/gfwlist +server=/mut.ch/127.0.0.1#5335 +ipset=/mut.ch/gfwlist +server=/hpmarketplace.com/127.0.0.1#5335 +ipset=/hpmarketplace.com/gfwlist +server=/nicomanga.jp/127.0.0.1#5335 +ipset=/nicomanga.jp/gfwlist +server=/windowsupdate.com/127.0.0.1#5335 +ipset=/windowsupdate.com/gfwlist +server=/youtube.com.uy/127.0.0.1#5335 +ipset=/youtube.com.uy/gfwlist +server=/windowssearch.com/127.0.0.1#5335 +ipset=/windowssearch.com/gfwlist +server=/yahoo.ba/127.0.0.1#5335 +ipset=/yahoo.ba/gfwlist +server=/windowsmarketplace.com/127.0.0.1#5335 +ipset=/windowsmarketplace.com/gfwlist +server=/windowscommunity.net/127.0.0.1#5335 +ipset=/windowscommunity.net/gfwlist +server=/dettolthailand.com/127.0.0.1#5335 +ipset=/dettolthailand.com/gfwlist +server=/windows.com/127.0.0.1#5335 +ipset=/windows.com/gfwlist +server=/windows-int.net/127.0.0.1#5335 +ipset=/windows-int.net/gfwlist +server=/wbd.ms/127.0.0.1#5335 +ipset=/wbd.ms/gfwlist +server=/vsallin.net/127.0.0.1#5335 +ipset=/vsallin.net/gfwlist +server=/epochweek.com/127.0.0.1#5335 +ipset=/epochweek.com/gfwlist +server=/virtualearth.net/127.0.0.1#5335 +ipset=/virtualearth.net/gfwlist +server=/mingpao.com/127.0.0.1#5335 +ipset=/mingpao.com/gfwlist +server=/userpxt.io/127.0.0.1#5335 +ipset=/userpxt.io/gfwlist +server=/dgg.gg/127.0.0.1#5335 +ipset=/dgg.gg/gfwlist +server=/trafficmanager.net/127.0.0.1#5335 +ipset=/trafficmanager.net/gfwlist +server=/paypaly.com/127.0.0.1#5335 +ipset=/paypaly.com/gfwlist +server=/tfsallin.net/127.0.0.1#5335 +ipset=/tfsallin.net/gfwlist +server=/direcpath.net/127.0.0.1#5335 +ipset=/direcpath.net/gfwlist +server=/bmw-connecteddrive.lu/127.0.0.1#5335 +ipset=/bmw-connecteddrive.lu/gfwlist +server=/visaplus.com/127.0.0.1#5335 +ipset=/visaplus.com/gfwlist +server=/cheap-beats-by-dre.net/127.0.0.1#5335 +ipset=/cheap-beats-by-dre.net/gfwlist +server=/windowsuem.com/127.0.0.1#5335 +ipset=/windowsuem.com/gfwlist +server=/surface.com/127.0.0.1#5335 +ipset=/surface.com/gfwlist +server=/facebookmobile.com/127.0.0.1#5335 +ipset=/facebookmobile.com/gfwlist +server=/youtube.com.my/127.0.0.1#5335 +ipset=/youtube.com.my/gfwlist +server=/cheapdrebeats8.net/127.0.0.1#5335 +ipset=/cheapdrebeats8.net/gfwlist +server=/staffhub.ms/127.0.0.1#5335 +ipset=/staffhub.ms/gfwlist +server=/aspnetcdn.com/127.0.0.1#5335 +ipset=/aspnetcdn.com/gfwlist +server=/skypeassets.com/127.0.0.1#5335 +ipset=/skypeassets.com/gfwlist +server=/skype.net/127.0.0.1#5335 +ipset=/skype.net/gfwlist +server=/stripe.network/127.0.0.1#5335 +ipset=/stripe.network/gfwlist +server=/12diasderegalosdeitunes.com.ve/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.com.ve/gfwlist +server=/sharepointonline.com/127.0.0.1#5335 +ipset=/sharepointonline.com/gfwlist +server=/auricularemonsterbeats.com/127.0.0.1#5335 +ipset=/auricularemonsterbeats.com/gfwlist +server=/applesurveys.com/127.0.0.1#5335 +ipset=/applesurveys.com/gfwlist +server=/minimoncton.ca/127.0.0.1#5335 +ipset=/minimoncton.ca/gfwlist +server=/faceobok.com/127.0.0.1#5335 +ipset=/faceobok.com/gfwlist +server=/marketo.tv/127.0.0.1#5335 +ipset=/marketo.tv/gfwlist +server=/asus.com/127.0.0.1#5335 +ipset=/asus.com/gfwlist +server=/gettyimages.no/127.0.0.1#5335 +ipset=/gettyimages.no/gfwlist +server=/bmw.ee/127.0.0.1#5335 +ipset=/bmw.ee/gfwlist +server=/acrobat.com/127.0.0.1#5335 +ipset=/acrobat.com/gfwlist +server=/bridgestone.cl/127.0.0.1#5335 +ipset=/bridgestone.cl/gfwlist +server=/sfbassets.net/127.0.0.1#5335 +ipset=/sfbassets.net/gfwlist +server=/sfbassets.com/127.0.0.1#5335 +ipset=/sfbassets.com/gfwlist +server=/s-microsoft.com/127.0.0.1#5335 +ipset=/s-microsoft.com/gfwlist +server=/bingads.com/127.0.0.1#5335 +ipset=/bingads.com/gfwlist +server=/visa.com.gt/127.0.0.1#5335 +ipset=/visa.com.gt/gfwlist +server=/projectsangam.com/127.0.0.1#5335 +ipset=/projectsangam.com/gfwlist +server=/scholar.google.com.pe/127.0.0.1#5335 +ipset=/scholar.google.com.pe/gfwlist +server=/projectmurphy.net/127.0.0.1#5335 +ipset=/projectmurphy.net/gfwlist +server=/powerbi.com/127.0.0.1#5335 +ipset=/powerbi.com/gfwlist +server=/faceid99.com/127.0.0.1#5335 +ipset=/faceid99.com/gfwlist +server=/voxfieldguide.com/127.0.0.1#5335 +ipset=/voxfieldguide.com/gfwlist +server=/powerappscdn.net/127.0.0.1#5335 +ipset=/powerappscdn.net/gfwlist +server=/sohfrance.org/127.0.0.1#5335 +ipset=/sohfrance.org/gfwlist +server=/outlook.com/127.0.0.1#5335 +ipset=/outlook.com/gfwlist +server=/dvdstudiopro.org/127.0.0.1#5335 +ipset=/dvdstudiopro.org/gfwlist +server=/outingsapp.com/127.0.0.1#5335 +ipset=/outingsapp.com/gfwlist +server=/opticsforthecloud.net/127.0.0.1#5335 +ipset=/opticsforthecloud.net/gfwlist +server=/youtube.com.hn/127.0.0.1#5335 +ipset=/youtube.com.hn/gfwlist +server=/garena.live/127.0.0.1#5335 +ipset=/garena.live/gfwlist +server=/nxta.org/127.0.0.1#5335 +ipset=/nxta.org/gfwlist +server=/fscebook.com/127.0.0.1#5335 +ipset=/fscebook.com/gfwlist +server=/feacboo.com/127.0.0.1#5335 +ipset=/feacboo.com/gfwlist +server=/mymicrosoft.com/127.0.0.1#5335 +ipset=/mymicrosoft.com/gfwlist +server=/msudalosti.com/127.0.0.1#5335 +ipset=/msudalosti.com/gfwlist +server=/paily.net/127.0.0.1#5335 +ipset=/paily.net/gfwlist +server=/polymerproject.org/127.0.0.1#5335 +ipset=/polymerproject.org/gfwlist +server=/msocsp.com/127.0.0.1#5335 +ipset=/msocsp.com/gfwlist +server=/msocdn.com/127.0.0.1#5335 +ipset=/msocdn.com/gfwlist +server=/msftnet.org/127.0.0.1#5335 +ipset=/msftnet.org/gfwlist +server=/msfteducation.ca/127.0.0.1#5335 +ipset=/msfteducation.ca/gfwlist +server=/oxfordbibliographies.com/127.0.0.1#5335 +ipset=/oxfordbibliographies.com/gfwlist +server=/msedge.net/127.0.0.1#5335 +ipset=/msedge.net/gfwlist +server=/pokemonbw.com/127.0.0.1#5335 +ipset=/pokemonbw.com/gfwlist +server=/bmw-motorrad.ca/127.0.0.1#5335 +ipset=/bmw-motorrad.ca/gfwlist +server=/mschallenge2018.com/127.0.0.1#5335 +ipset=/mschallenge2018.com/gfwlist +server=/bmw-konzernarchiv.de/127.0.0.1#5335 +ipset=/bmw-konzernarchiv.de/gfwlist +server=/api.viu.now.com/127.0.0.1#5335 +ipset=/api.viu.now.com/gfwlist +server=/disney.co.uk/127.0.0.1#5335 +ipset=/disney.co.uk/gfwlist +server=/mpnevolution.com/127.0.0.1#5335 +ipset=/mpnevolution.com/gfwlist +server=/bmwcharitygolf.com/127.0.0.1#5335 +ipset=/bmwcharitygolf.com/gfwlist +server=/morphcharts.com/127.0.0.1#5335 +ipset=/morphcharts.com/gfwlist +server=/financeleadsonline.com/127.0.0.1#5335 +ipset=/financeleadsonline.com/gfwlist +server=/microsoftuwp.com/127.0.0.1#5335 +ipset=/microsoftuwp.com/gfwlist +server=/microsofttranslator.com/127.0.0.1#5335 +ipset=/microsofttranslator.com/gfwlist +server=/microsofttradein.com/127.0.0.1#5335 +ipset=/microsofttradein.com/gfwlist +server=/microsoftstream.com/127.0.0.1#5335 +ipset=/microsoftstream.com/gfwlist +server=/docs.com/127.0.0.1#5335 +ipset=/docs.com/gfwlist +server=/javcc.com/127.0.0.1#5335 +ipset=/javcc.com/gfwlist +server=/ipod.co.uk/127.0.0.1#5335 +ipset=/ipod.co.uk/gfwlist +server=/hotmail.com/127.0.0.1#5335 +ipset=/hotmail.com/gfwlist +server=/dellcdn.com/127.0.0.1#5335 +ipset=/dellcdn.com/gfwlist +server=/microsoftpartnercommunity.com/127.0.0.1#5335 +ipset=/microsoftpartnercommunity.com/gfwlist +server=/microsoftonline.com/127.0.0.1#5335 +ipset=/microsoftonline.com/gfwlist +server=/ciscosoftware.com/127.0.0.1#5335 +ipset=/ciscosoftware.com/gfwlist +server=/microsoftinternetsafety.net/127.0.0.1#5335 +ipset=/microsoftinternetsafety.net/gfwlist +server=/parastorage.com/127.0.0.1#5335 +ipset=/parastorage.com/gfwlist +server=/applenewsformat.com/127.0.0.1#5335 +ipset=/applenewsformat.com/gfwlist +server=/pokemonchampionships.com/127.0.0.1#5335 +ipset=/pokemonchampionships.com/gfwlist +server=/microsofthouse.net/127.0.0.1#5335 +ipset=/microsofthouse.net/gfwlist +server=/microsofthouse.com/127.0.0.1#5335 +ipset=/microsofthouse.com/gfwlist +server=/appleshare.info/127.0.0.1#5335 +ipset=/appleshare.info/gfwlist +server=/microsoftcommunitytraining.com/127.0.0.1#5335 +ipset=/microsoftcommunitytraining.com/gfwlist +server=/microsoftcloudworkshop.com/127.0.0.1#5335 +ipset=/microsoftcloudworkshop.com/gfwlist +server=/detaliczny.com/127.0.0.1#5335 +ipset=/detaliczny.com/gfwlist +server=/att-bundles.com/127.0.0.1#5335 +ipset=/att-bundles.com/gfwlist +server=/microsoftadvertisingregionalawards.com/127.0.0.1#5335 +ipset=/microsoftadvertisingregionalawards.com/gfwlist +server=/itsbetterwhenyouwinit.com/127.0.0.1#5335 +ipset=/itsbetterwhenyouwinit.com/gfwlist +server=/faebookc.com/127.0.0.1#5335 +ipset=/faebookc.com/gfwlist +server=/alibabacloud.co.in/127.0.0.1#5335 +ipset=/alibabacloud.co.in/gfwlist +server=/microsoft365.com/127.0.0.1#5335 +ipset=/microsoft365.com/gfwlist +server=/microsoft-sbs-domains.com/127.0.0.1#5335 +ipset=/microsoft-sbs-domains.com/gfwlist +server=/nintendostore.com/127.0.0.1#5335 +ipset=/nintendostore.com/gfwlist +server=/microsoft-ppe.com/127.0.0.1#5335 +ipset=/microsoft-ppe.com/gfwlist +server=/scdn.co/127.0.0.1#5335 +ipset=/scdn.co/gfwlist +server=/ebaycbt.co.kr/127.0.0.1#5335 +ipset=/ebaycbt.co.kr/gfwlist +server=/microsoft-int.com/127.0.0.1#5335 +ipset=/microsoft-int.com/gfwlist +server=/volvogroup.kr/127.0.0.1#5335 +ipset=/volvogroup.kr/gfwlist +server=/gaming-notebooks.com/127.0.0.1#5335 +ipset=/gaming-notebooks.com/gfwlist +server=/coupang.com/127.0.0.1#5335 +ipset=/coupang.com/gfwlist +server=/live.net/127.0.0.1#5335 +ipset=/live.net/gfwlist +server=/live.com.au/127.0.0.1#5335 +ipset=/live.com.au/gfwlist +server=/fpacebook.com/127.0.0.1#5335 +ipset=/fpacebook.com/gfwlist +server=/live.com/127.0.0.1#5335 +ipset=/live.com/gfwlist +server=/volvotrucks.kz/127.0.0.1#5335 +ipset=/volvotrucks.kz/gfwlist +server=/bighead.group/127.0.0.1#5335 +ipset=/bighead.group/gfwlist +server=/ingads.com/127.0.0.1#5335 +ipset=/ingads.com/gfwlist +server=/internetexplorer.com/127.0.0.1#5335 +ipset=/internetexplorer.com/gfwlist +server=/durex.co.za/127.0.0.1#5335 +ipset=/durex.co.za/gfwlist +server=/umass.edu/127.0.0.1#5335 +ipset=/umass.edu/gfwlist +server=/rakuten.co.jp/127.0.0.1#5335 +ipset=/rakuten.co.jp/gfwlist +server=/hummingbird.ms/127.0.0.1#5335 +ipset=/hummingbird.ms/gfwlist +server=/hotmail.org/127.0.0.1#5335 +ipset=/hotmail.org/gfwlist +server=/hotmail.eu/127.0.0.1#5335 +ipset=/hotmail.eu/gfwlist +server=/google.li/127.0.0.1#5335 +ipset=/google.li/gfwlist +server=/adobesigncdn.com/127.0.0.1#5335 +ipset=/adobesigncdn.com/gfwlist +server=/gigjam.com/127.0.0.1#5335 +ipset=/gigjam.com/gfwlist +server=/bitnamistudio.com/127.0.0.1#5335 +ipset=/bitnamistudio.com/gfwlist +server=/jiyu-kobo.co.jp/127.0.0.1#5335 +ipset=/jiyu-kobo.co.jp/gfwlist +server=/studywatchbyverily.com/127.0.0.1#5335 +ipset=/studywatchbyverily.com/gfwlist +server=/gearstactics.com/127.0.0.1#5335 +ipset=/gearstactics.com/gfwlist +server=/verisign.se/127.0.0.1#5335 +ipset=/verisign.se/gfwlist +server=/dropboxusercontent.com/127.0.0.1#5335 +ipset=/dropboxusercontent.com/gfwlist +server=/disney.ro/127.0.0.1#5335 +ipset=/disney.ro/gfwlist +server=/monsterbeatsbydrdrestudio.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrdrestudio.com/gfwlist +server=/gears5.com/127.0.0.1#5335 +ipset=/gears5.com/gfwlist +server=/gameuxmasterguide.com/127.0.0.1#5335 +ipset=/gameuxmasterguide.com/gfwlist +server=/fasttrackreadysupport.com/127.0.0.1#5335 +ipset=/fasttrackreadysupport.com/gfwlist +server=/efproject.net/127.0.0.1#5335 +ipset=/efproject.net/gfwlist +server=/dtvce.com/127.0.0.1#5335 +ipset=/dtvce.com/gfwlist +server=/beth.games/127.0.0.1#5335 +ipset=/beth.games/gfwlist +server=/cs4hs.com/127.0.0.1#5335 +ipset=/cs4hs.com/gfwlist +server=/assetsadobe.com/127.0.0.1#5335 +ipset=/assetsadobe.com/gfwlist +server=/swisssign.li/127.0.0.1#5335 +ipset=/swisssign.li/gfwlist +server=/microsoftstore.com/127.0.0.1#5335 +ipset=/microsoftstore.com/gfwlist +server=/crmdynint-gcc.com/127.0.0.1#5335 +ipset=/crmdynint-gcc.com/gfwlist +server=/escandinavia-arg.com/127.0.0.1#5335 +ipset=/escandinavia-arg.com/gfwlist +server=/pki-posta.ch/127.0.0.1#5335 +ipset=/pki-posta.ch/gfwlist +server=/ciscoconnectcloud.net/127.0.0.1#5335 +ipset=/ciscoconnectcloud.net/gfwlist +server=/centralvalidation.com/127.0.0.1#5335 +ipset=/centralvalidation.com/gfwlist +server=/ibeats-uk.com/127.0.0.1#5335 +ipset=/ibeats-uk.com/gfwlist +server=/brazilpartneruniversity.com/127.0.0.1#5335 +ipset=/brazilpartneruniversity.com/gfwlist +server=/bluehatil.com/127.0.0.1#5335 +ipset=/bluehatil.com/gfwlist +server=/binads.com/127.0.0.1#5335 +ipset=/binads.com/gfwlist +server=/ebay.com.au/127.0.0.1#5335 +ipset=/ebay.com.au/gfwlist +server=/galaxyappstore.com/127.0.0.1#5335 +ipset=/galaxyappstore.com/gfwlist +server=/aka.ms/127.0.0.1#5335 +ipset=/aka.ms/gfwlist +server=/facebuok.com/127.0.0.1#5335 +ipset=/facebuok.com/gfwlist +server=/femalefounderscomp.com/127.0.0.1#5335 +ipset=/femalefounderscomp.com/gfwlist +server=/minispygear.com/127.0.0.1#5335 +ipset=/minispygear.com/gfwlist +server=/dns.sb/127.0.0.1#5335 +ipset=/dns.sb/gfwlist +server=/macbookpro.co/127.0.0.1#5335 +ipset=/macbookpro.co/gfwlist +server=/volvotruckrental.be/127.0.0.1#5335 +ipset=/volvotruckrental.be/gfwlist +server=/darivoa.com/127.0.0.1#5335 +ipset=/darivoa.com/gfwlist +server=/theopportunityproject.org/127.0.0.1#5335 +ipset=/theopportunityproject.org/gfwlist +server=/mac-mini.com/127.0.0.1#5335 +ipset=/mac-mini.com/gfwlist +server=/foxsports-newyork.com/127.0.0.1#5335 +ipset=/foxsports-newyork.com/gfwlist +server=/springerlink.com/127.0.0.1#5335 +ipset=/springerlink.com/gfwlist +server=/bmw-motorrad-motorsport.com/127.0.0.1#5335 +ipset=/bmw-motorrad-motorsport.com/gfwlist +server=/microsoft.si/127.0.0.1#5335 +ipset=/microsoft.si/gfwlist +server=/centrino.net/127.0.0.1#5335 +ipset=/centrino.net/gfwlist +server=/verisign.com.br/127.0.0.1#5335 +ipset=/verisign.com.br/gfwlist +server=/nature.com/127.0.0.1#5335 +ipset=/nature.com/gfwlist +server=/microsoft.red/127.0.0.1#5335 +ipset=/microsoft.red/gfwlist +server=/fnacebook.com/127.0.0.1#5335 +ipset=/fnacebook.com/gfwlist +server=/bmwsummerschool.com/127.0.0.1#5335 +ipset=/bmwsummerschool.com/gfwlist +server=/fox7.com/127.0.0.1#5335 +ipset=/fox7.com/gfwlist +server=/ebayclub.com/127.0.0.1#5335 +ipset=/ebayclub.com/gfwlist +server=/golang.com/127.0.0.1#5335 +ipset=/golang.com/gfwlist +server=/volvogroup.jp/127.0.0.1#5335 +ipset=/volvogroup.jp/gfwlist +server=/casoneexchange.com/127.0.0.1#5335 +ipset=/casoneexchange.com/gfwlist +server=/ebaymotors.com/127.0.0.1#5335 +ipset=/ebaymotors.com/gfwlist +server=/aokwholesale.net/127.0.0.1#5335 +ipset=/aokwholesale.net/gfwlist +server=/stacksnippets.net/127.0.0.1#5335 +ipset=/stacksnippets.net/gfwlist +server=/cobatt.com/127.0.0.1#5335 +ipset=/cobatt.com/gfwlist +server=/soccerfinancier.ca/127.0.0.1#5335 +ipset=/soccerfinancier.ca/gfwlist +server=/microsoft.jp/127.0.0.1#5335 +ipset=/microsoft.jp/gfwlist +server=/microsoft.io/127.0.0.1#5335 +ipset=/microsoft.io/gfwlist +server=/microsoft.hu/127.0.0.1#5335 +ipset=/microsoft.hu/gfwlist +server=/microsoft.eu/127.0.0.1#5335 +ipset=/microsoft.eu/gfwlist +server=/facebool.info/127.0.0.1#5335 +ipset=/facebool.info/gfwlist +server=/bienvenuechezbestbuy.ca/127.0.0.1#5335 +ipset=/bienvenuechezbestbuy.ca/gfwlist +server=/minifs.com/127.0.0.1#5335 +ipset=/minifs.com/gfwlist +server=/privacytools.io/127.0.0.1#5335 +ipset=/privacytools.io/gfwlist +server=/microsoft.es/127.0.0.1#5335 +ipset=/microsoft.es/gfwlist +server=/aclweb.org/127.0.0.1#5335 +ipset=/aclweb.org/gfwlist +server=/qoo10.jp/127.0.0.1#5335 +ipset=/qoo10.jp/gfwlist +server=/jiayoulu.com/127.0.0.1#5335 +ipset=/jiayoulu.com/gfwlist +server=/miniso.jp/127.0.0.1#5335 +ipset=/miniso.jp/gfwlist +server=/headphonesretailer.com/127.0.0.1#5335 +ipset=/headphonesretailer.com/gfwlist +server=/ebaysweden.com/127.0.0.1#5335 +ipset=/ebaysweden.com/gfwlist +server=/pearsonclinical.be/127.0.0.1#5335 +ipset=/pearsonclinical.be/gfwlist +server=/faceboof.com/127.0.0.1#5335 +ipset=/faceboof.com/gfwlist +server=/microsoft.ca/127.0.0.1#5335 +ipset=/microsoft.ca/gfwlist +server=/wal.co/127.0.0.1#5335 +ipset=/wal.co/gfwlist +server=/sony.ro/127.0.0.1#5335 +ipset=/sony.ro/gfwlist +server=/yammer.com/127.0.0.1#5335 +ipset=/yammer.com/gfwlist +server=/myciscobenefits.com/127.0.0.1#5335 +ipset=/myciscobenefits.com/gfwlist +server=/onedrive.eu/127.0.0.1#5335 +ipset=/onedrive.eu/gfwlist +server=/onedrive.co/127.0.0.1#5335 +ipset=/onedrive.co/gfwlist +server=/launchpadlibrarian.com/127.0.0.1#5335 +ipset=/launchpadlibrarian.com/gfwlist +server=/globalsign.es/127.0.0.1#5335 +ipset=/globalsign.es/gfwlist +server=/1drv.com/127.0.0.1#5335 +ipset=/1drv.com/gfwlist +server=/msnkids.com/127.0.0.1#5335 +ipset=/msnkids.com/gfwlist +server=/sony-hes.co.jp/127.0.0.1#5335 +ipset=/sony-hes.co.jp/gfwlist +server=/directvatlantaga.com/127.0.0.1#5335 +ipset=/directvatlantaga.com/gfwlist +server=/msnewskids.net/127.0.0.1#5335 +ipset=/msnewskids.net/gfwlist +server=/neborder.com/127.0.0.1#5335 +ipset=/neborder.com/gfwlist +server=/msn.com/127.0.0.1#5335 +ipset=/msn.com/gfwlist +server=/microsoftnewskids.org/127.0.0.1#5335 +ipset=/microsoftnewskids.org/gfwlist +server=/beatsbydreausale.net/127.0.0.1#5335 +ipset=/beatsbydreausale.net/gfwlist +server=/amamanualofstyle.com/127.0.0.1#5335 +ipset=/amamanualofstyle.com/gfwlist +server=/hbomax.com/127.0.0.1#5335 +ipset=/hbomax.com/gfwlist +server=/microsoftnewskids.net/127.0.0.1#5335 +ipset=/microsoftnewskids.net/gfwlist +server=/xboxlive.com/127.0.0.1#5335 +ipset=/xboxlive.com/gfwlist +server=/visaeverywhereshop.com/127.0.0.1#5335 +ipset=/visaeverywhereshop.com/gfwlist +server=/microsoftnewskids.com/127.0.0.1#5335 +ipset=/microsoftnewskids.com/gfwlist +server=/microsoftnewsforkids.org/127.0.0.1#5335 +ipset=/microsoftnewsforkids.org/gfwlist +server=/riotcdn.net/127.0.0.1#5335 +ipset=/riotcdn.net/gfwlist +server=/microsoftnewsforkids.com/127.0.0.1#5335 +ipset=/microsoftnewsforkids.com/gfwlist +server=/microsoftnews.net/127.0.0.1#5335 +ipset=/microsoftnews.net/gfwlist +server=/sprinklesapp.com/127.0.0.1#5335 +ipset=/sprinklesapp.com/gfwlist +server=/drebeatssite.com/127.0.0.1#5335 +ipset=/drebeatssite.com/gfwlist +server=/impermium.com/127.0.0.1#5335 +ipset=/impermium.com/gfwlist +server=/msunlimitedcloudsummit.com/127.0.0.1#5335 +ipset=/msunlimitedcloudsummit.com/gfwlist +server=/cashpassport.com.br/127.0.0.1#5335 +ipset=/cashpassport.com.br/gfwlist +server=/microsoftpartnersolutions.com/127.0.0.1#5335 +ipset=/microsoftpartnersolutions.com/gfwlist +server=/microsoftlatamholiday.com/127.0.0.1#5335 +ipset=/microsoftlatamholiday.com/gfwlist +server=/awsloft-johannesburg.com/127.0.0.1#5335 +ipset=/awsloft-johannesburg.com/gfwlist +server=/microsoft-give.com/127.0.0.1#5335 +ipset=/microsoft-give.com/gfwlist +server=/masalladeloslimites.com/127.0.0.1#5335 +ipset=/masalladeloslimites.com/gfwlist +server=/flipwithsurface.com/127.0.0.1#5335 +ipset=/flipwithsurface.com/gfwlist +server=/dictate.ms/127.0.0.1#5335 +ipset=/dictate.ms/gfwlist +server=/bluehatnights.com/127.0.0.1#5335 +ipset=/bluehatnights.com/gfwlist +server=/appleappstore.net/127.0.0.1#5335 +ipset=/appleappstore.net/gfwlist +server=/veet.tv/127.0.0.1#5335 +ipset=/veet.tv/gfwlist +server=/bing.net/127.0.0.1#5335 +ipset=/bing.net/gfwlist +server=/iproperty.com.sg/127.0.0.1#5335 +ipset=/iproperty.com.sg/gfwlist +server=/bmw-auslieferungszentrum.com/127.0.0.1#5335 +ipset=/bmw-auslieferungszentrum.com/gfwlist +server=/visadns.com/127.0.0.1#5335 +ipset=/visadns.com/gfwlist +server=/adwordsexpress.com/127.0.0.1#5335 +ipset=/adwordsexpress.com/gfwlist +server=/airiti.com/127.0.0.1#5335 +ipset=/airiti.com/gfwlist +server=/softbankhawksstore.jp/127.0.0.1#5335 +ipset=/softbankhawksstore.jp/gfwlist +server=/visafulfillment.com/127.0.0.1#5335 +ipset=/visafulfillment.com/gfwlist +server=/google.com.au/127.0.0.1#5335 +ipset=/google.com.au/gfwlist +server=/gitlab.com/127.0.0.1#5335 +ipset=/gitlab.com/gfwlist +server=/thehealthsite.com/127.0.0.1#5335 +ipset=/thehealthsite.com/gfwlist +server=/google.tt/127.0.0.1#5335 +ipset=/google.tt/gfwlist +server=/gotcosmos.com/127.0.0.1#5335 +ipset=/gotcosmos.com/gfwlist +server=/youtube.com.gt/127.0.0.1#5335 +ipset=/youtube.com.gt/gfwlist +server=/cosmosdb.info/127.0.0.1#5335 +ipset=/cosmosdb.info/gfwlist +server=/pearsonclinical.se/127.0.0.1#5335 +ipset=/pearsonclinical.se/gfwlist +server=/azurewebsites.net/127.0.0.1#5335 +ipset=/azurewebsites.net/gfwlist +server=/azurestackvalidation.com/127.0.0.1#5335 +ipset=/azurestackvalidation.com/gfwlist +server=/huobi.me/127.0.0.1#5335 +ipset=/huobi.me/gfwlist +server=/azureiotsuite.com/127.0.0.1#5335 +ipset=/azureiotsuite.com/gfwlist +server=/volvobuses.hu/127.0.0.1#5335 +ipset=/volvobuses.hu/gfwlist +server=/wiifit.com/127.0.0.1#5335 +ipset=/wiifit.com/gfwlist +server=/samsungqbe.com/127.0.0.1#5335 +ipset=/samsungqbe.com/gfwlist +server=/azuredns-prd.info/127.0.0.1#5335 +ipset=/azuredns-prd.info/gfwlist +server=/azuredigitaltwins.com/127.0.0.1#5335 +ipset=/azuredigitaltwins.com/gfwlist +server=/azuredigitaltwin.com/127.0.0.1#5335 +ipset=/azuredigitaltwin.com/gfwlist +server=/blogger.com/127.0.0.1#5335 +ipset=/blogger.com/gfwlist +server=/wikia.org/127.0.0.1#5335 +ipset=/wikia.org/gfwlist +server=/azurecosmosdb.com/127.0.0.1#5335 +ipset=/azurecosmosdb.com/gfwlist +server=/botframework.com/127.0.0.1#5335 +ipset=/botframework.com/gfwlist +server=/fox11.com/127.0.0.1#5335 +ipset=/fox11.com/gfwlist +server=/sandisk.co.kr/127.0.0.1#5335 +ipset=/sandisk.co.kr/gfwlist +server=/hf-iphone.com/127.0.0.1#5335 +ipset=/hf-iphone.com/gfwlist +server=/azurecontainer.io/127.0.0.1#5335 +ipset=/azurecontainer.io/gfwlist +server=/azurecomcdn.net/127.0.0.1#5335 +ipset=/azurecomcdn.net/gfwlist +server=/darwinsource.org/127.0.0.1#5335 +ipset=/darwinsource.org/gfwlist +server=/ciscoconnectcloud.com/127.0.0.1#5335 +ipset=/ciscoconnectcloud.com/gfwlist +server=/applereach.net/127.0.0.1#5335 +ipset=/applereach.net/gfwlist +server=/ctan.org/127.0.0.1#5335 +ipset=/ctan.org/gfwlist +server=/conscrypt.org/127.0.0.1#5335 +ipset=/conscrypt.org/gfwlist +server=/azure-mobile.net/127.0.0.1#5335 +ipset=/azure-mobile.net/gfwlist +server=/hpapplicationscenter.com/127.0.0.1#5335 +ipset=/hpapplicationscenter.com/gfwlist +server=/nikelink.com/127.0.0.1#5335 +ipset=/nikelink.com/gfwlist +server=/meetyourdevices.com/127.0.0.1#5335 +ipset=/meetyourdevices.com/gfwlist +server=/visa.sk/127.0.0.1#5335 +ipset=/visa.sk/gfwlist +server=/mycdn.me/127.0.0.1#5335 +ipset=/mycdn.me/gfwlist +server=/mini.com.bn/127.0.0.1#5335 +ipset=/mini.com.bn/gfwlist +server=/avseesee.com/127.0.0.1#5335 +ipset=/avseesee.com/gfwlist +server=/facebookphoto.com/127.0.0.1#5335 +ipset=/facebookphoto.com/gfwlist +server=/imgsmail.ru/127.0.0.1#5335 +ipset=/imgsmail.ru/gfwlist +server=/google.com/127.0.0.1#5335 +ipset=/google.com/gfwlist +server=/logitech.fr/127.0.0.1#5335 +ipset=/logitech.fr/gfwlist +server=/logitech.com/127.0.0.1#5335 +ipset=/logitech.com/gfwlist +server=/logitech.biz/127.0.0.1#5335 +ipset=/logitech.biz/gfwlist +server=/logi.com/127.0.0.1#5335 +ipset=/logi.com/gfwlist +server=/licdn.com/127.0.0.1#5335 +ipset=/licdn.com/gfwlist +server=/lgelectronics.122.2o7.net/127.0.0.1#5335 +ipset=/lgelectronics.122.2o7.net/gfwlist +server=/mywaytopay.net/127.0.0.1#5335 +ipset=/mywaytopay.net/gfwlist +server=/gab.com/127.0.0.1#5335 +ipset=/gab.com/gfwlist +server=/lgrecyclingprogram.com/127.0.0.1#5335 +ipset=/lgrecyclingprogram.com/gfwlist +server=/clearasil.us/127.0.0.1#5335 +ipset=/clearasil.us/gfwlist +server=/lghvac.com/127.0.0.1#5335 +ipset=/lghvac.com/gfwlist +server=/customizedbeatsbydre.com/127.0.0.1#5335 +ipset=/customizedbeatsbydre.com/gfwlist +server=/rapidssl.com/127.0.0.1#5335 +ipset=/rapidssl.com/gfwlist +server=/naturalvoices.com/127.0.0.1#5335 +ipset=/naturalvoices.com/gfwlist +server=/listinganalytics.net/127.0.0.1#5335 +ipset=/listinganalytics.net/gfwlist +server=/yahoo.ae/127.0.0.1#5335 +ipset=/yahoo.ae/gfwlist +server=/lg.com/127.0.0.1#5335 +ipset=/lg.com/gfwlist +server=/google.sm/127.0.0.1#5335 +ipset=/google.sm/gfwlist +server=/headphonezip.com/127.0.0.1#5335 +ipset=/headphonezip.com/gfwlist +server=/xscale.com/127.0.0.1#5335 +ipset=/xscale.com/gfwlist +server=/joeswall.com/127.0.0.1#5335 +ipset=/joeswall.com/gfwlist +server=/plantsvszombies2.com/127.0.0.1#5335 +ipset=/plantsvszombies2.com/gfwlist +server=/xn--ztsq84g.cn/127.0.0.1#5335 +ipset=/xn--ztsq84g.cn/gfwlist +server=/ebaya.com/127.0.0.1#5335 +ipset=/ebaya.com/gfwlist +server=/vpro.com/127.0.0.1#5335 +ipset=/vpro.com/gfwlist +server=/vokevr.com/127.0.0.1#5335 +ipset=/vokevr.com/gfwlist +server=/trustedanalytics.com/127.0.0.1#5335 +ipset=/trustedanalytics.com/gfwlist +server=/paypal-japan.com/127.0.0.1#5335 +ipset=/paypal-japan.com/gfwlist +server=/applepodcasts.com/127.0.0.1#5335 +ipset=/applepodcasts.com/gfwlist +server=/thunderbolttechnology.net/127.0.0.1#5335 +ipset=/thunderbolttechnology.net/gfwlist +server=/google.com.eg/127.0.0.1#5335 +ipset=/google.com.eg/gfwlist +server=/siport.com/127.0.0.1#5335 +ipset=/siport.com/gfwlist +server=/sensorynetworks.com/127.0.0.1#5335 +ipset=/sensorynetworks.com/gfwlist +server=/researchintel.com/127.0.0.1#5335 +ipset=/researchintel.com/gfwlist +server=/openjsf.org/127.0.0.1#5335 +ipset=/openjsf.org/gfwlist +server=/reconjet.com/127.0.0.1#5335 +ipset=/reconjet.com/gfwlist +server=/bmw-motorrad.it/127.0.0.1#5335 +ipset=/bmw-motorrad.it/gfwlist +server=/reconinstruments.com/127.0.0.1#5335 +ipset=/reconinstruments.com/gfwlist +server=/imgurinc.com/127.0.0.1#5335 +ipset=/imgurinc.com/gfwlist +server=/opendroneid.org/127.0.0.1#5335 +ipset=/opendroneid.org/gfwlist +server=/openamt.com/127.0.0.1#5335 +ipset=/openamt.com/gfwlist +server=/niosii.com/127.0.0.1#5335 +ipset=/niosii.com/gfwlist +server=/nextgenerationcenter.com/127.0.0.1#5335 +ipset=/nextgenerationcenter.com/gfwlist +server=/smartone.com/127.0.0.1#5335 +ipset=/smartone.com/gfwlist +server=/nervanasys.com/127.0.0.1#5335 +ipset=/nervanasys.com/gfwlist +server=/lookinside.com/127.0.0.1#5335 +ipset=/lookinside.com/gfwlist +server=/canon-se.com.tw/127.0.0.1#5335 +ipset=/canon-se.com.tw/gfwlist +server=/wwwapplemusic.com/127.0.0.1#5335 +ipset=/wwwapplemusic.com/gfwlist +server=/itnel.com/127.0.0.1#5335 +ipset=/itnel.com/gfwlist +server=/intelvmwarecybersecurity.com/127.0.0.1#5335 +ipset=/intelvmwarecybersecurity.com/gfwlist +server=/intelsalestraining.com/127.0.0.1#5335 +ipset=/intelsalestraining.com/gfwlist +server=/bloomberg.co.jp/127.0.0.1#5335 +ipset=/bloomberg.co.jp/gfwlist +server=/2013newbeatsworld.com/127.0.0.1#5335 +ipset=/2013newbeatsworld.com/gfwlist +server=/intelrealsense.com/127.0.0.1#5335 +ipset=/intelrealsense.com/gfwlist +server=/battlefield1943.com/127.0.0.1#5335 +ipset=/battlefield1943.com/gfwlist +server=/duckduckgo.uk/127.0.0.1#5335 +ipset=/duckduckgo.uk/gfwlist +server=/intelquark.com/127.0.0.1#5335 +ipset=/intelquark.com/gfwlist +server=/drebeats-monsteraustralia.com/127.0.0.1#5335 +ipset=/drebeats-monsteraustralia.com/gfwlist +server=/pokemonultrasunmoon.com/127.0.0.1#5335 +ipset=/pokemonultrasunmoon.com/gfwlist +server=/ukipad.com/127.0.0.1#5335 +ipset=/ukipad.com/gfwlist +server=/intelnervana.com/127.0.0.1#5335 +ipset=/intelnervana.com/gfwlist +server=/intellinuxwireless.net/127.0.0.1#5335 +ipset=/intellinuxwireless.net/gfwlist +server=/buyitnow.tv/127.0.0.1#5335 +ipset=/buyitnow.tv/gfwlist +server=/intellearningseries.com/127.0.0.1#5335 +ipset=/intellearningseries.com/gfwlist +server=/inteliotmarketplace.com/127.0.0.1#5335 +ipset=/inteliotmarketplace.com/gfwlist +server=/frostbite.com/127.0.0.1#5335 +ipset=/frostbite.com/gfwlist +server=/intelgo.net/127.0.0.1#5335 +ipset=/intelgo.net/gfwlist +server=/ipods.com/127.0.0.1#5335 +ipset=/ipods.com/gfwlist +server=/espadoldettol.com.ar/127.0.0.1#5335 +ipset=/espadoldettol.com.ar/gfwlist +server=/intelcloudfinder.com/127.0.0.1#5335 +ipset=/intelcloudfinder.com/gfwlist +server=/googlevideo.com/127.0.0.1#5335 +ipset=/googlevideo.com/gfwlist +server=/dacebook.com/127.0.0.1#5335 +ipset=/dacebook.com/gfwlist +server=/fasebook.com/127.0.0.1#5335 +ipset=/fasebook.com/gfwlist +server=/intelcapital.com/127.0.0.1#5335 +ipset=/intelcapital.com/gfwlist +server=/intelatom.net/127.0.0.1#5335 +ipset=/intelatom.net/gfwlist +server=/intelapacstore.com/127.0.0.1#5335 +ipset=/intelapacstore.com/gfwlist +server=/nikesku.com/127.0.0.1#5335 +ipset=/nikesku.com/gfwlist +server=/facebook-ebook.com/127.0.0.1#5335 +ipset=/facebook-ebook.com/gfwlist +server=/doceapower.com/127.0.0.1#5335 +ipset=/doceapower.com/gfwlist +server=/bmw-i-pure-impulse.com/127.0.0.1#5335 +ipset=/bmw-i-pure-impulse.com/gfwlist +server=/wariolandshakeit.com/127.0.0.1#5335 +ipset=/wariolandshakeit.com/gfwlist +server=/crosswalk-project.net/127.0.0.1#5335 +ipset=/crosswalk-project.net/gfwlist +server=/intel.bg/127.0.0.1#5335 +ipset=/intel.bg/gfwlist +server=/coreextreme.com/127.0.0.1#5335 +ipset=/coreextreme.com/gfwlist +server=/ebaypakistan.net/127.0.0.1#5335 +ipset=/ebaypakistan.net/gfwlist +server=/ebay.mn/127.0.0.1#5335 +ipset=/ebay.mn/gfwlist +server=/firestonebpco.com/127.0.0.1#5335 +ipset=/firestonebpco.com/gfwlist +server=/mailhealth.com/127.0.0.1#5335 +ipset=/mailhealth.com/gfwlist +server=/opinionjournal.com/127.0.0.1#5335 +ipset=/opinionjournal.com/gfwlist +server=/facebook.com/127.0.0.1#5335 +ipset=/facebook.com/gfwlist +server=/applenews.berlin/127.0.0.1#5335 +ipset=/applenews.berlin/gfwlist +server=/skysportsonline.com/127.0.0.1#5335 +ipset=/skysportsonline.com/gfwlist +server=/hp3dprinter.com/127.0.0.1#5335 +ipset=/hp3dprinter.com/gfwlist +server=/iphone.es/127.0.0.1#5335 +ipset=/iphone.es/gfwlist +server=/clusterconnection.com/127.0.0.1#5335 +ipset=/clusterconnection.com/gfwlist +server=/playmation.com/127.0.0.1#5335 +ipset=/playmation.com/gfwlist +server=/cilk.net/127.0.0.1#5335 +ipset=/cilk.net/gfwlist +server=/disney.bg/127.0.0.1#5335 +ipset=/disney.bg/gfwlist +server=/launchpad.wang/127.0.0.1#5335 +ipset=/launchpad.wang/gfwlist +server=/bitstamp.net/127.0.0.1#5335 +ipset=/bitstamp.net/gfwlist +server=/microsoft.se/127.0.0.1#5335 +ipset=/microsoft.se/gfwlist +server=/ieee.ca/127.0.0.1#5335 +ipset=/ieee.ca/gfwlist +server=/wireshark.org/127.0.0.1#5335 +ipset=/wireshark.org/gfwlist +server=/celeron.net/127.0.0.1#5335 +ipset=/celeron.net/gfwlist +server=/volvotrucks.net/127.0.0.1#5335 +ipset=/volvotrucks.net/gfwlist +server=/bmw-motorrad.lu/127.0.0.1#5335 +ipset=/bmw-motorrad.lu/gfwlist +server=/celeron.com/127.0.0.1#5335 +ipset=/celeron.com/gfwlist +server=/buyaltera.com/127.0.0.1#5335 +ipset=/buyaltera.com/gfwlist +server=/visabank.org/127.0.0.1#5335 +ipset=/visabank.org/gfwlist +server=/alterauserforums.com/127.0.0.1#5335 +ipset=/alterauserforums.com/gfwlist +server=/sqlite.org/127.0.0.1#5335 +ipset=/sqlite.org/gfwlist +server=/alterauserforum.net/127.0.0.1#5335 +ipset=/alterauserforum.net/gfwlist +server=/neow.in/127.0.0.1#5335 +ipset=/neow.in/gfwlist +server=/ocbmwdealers.com/127.0.0.1#5335 +ipset=/ocbmwdealers.com/gfwlist +server=/foxla.com/127.0.0.1#5335 +ipset=/foxla.com/gfwlist +server=/bmw.tm/127.0.0.1#5335 +ipset=/bmw.tm/gfwlist +server=/vercel-dns.com/127.0.0.1#5335 +ipset=/vercel-dns.com/gfwlist +server=/alteraforums.net/127.0.0.1#5335 +ipset=/alteraforums.net/gfwlist +server=/alteraforum.com/127.0.0.1#5335 +ipset=/alteraforum.com/gfwlist +server=/intel.vu/127.0.0.1#5335 +ipset=/intel.vu/gfwlist +server=/facebol.com/127.0.0.1#5335 +ipset=/facebol.com/gfwlist +server=/paypal-labs.com/127.0.0.1#5335 +ipset=/paypal-labs.com/gfwlist +server=/statuspage.io/127.0.0.1#5335 +ipset=/statuspage.io/gfwlist +server=/intel.vn/127.0.0.1#5335 +ipset=/intel.vn/gfwlist +server=/intel.vg/127.0.0.1#5335 +ipset=/intel.vg/gfwlist +server=/conscrypt.com/127.0.0.1#5335 +ipset=/conscrypt.com/gfwlist +server=/rebates.jp/127.0.0.1#5335 +ipset=/rebates.jp/gfwlist +server=/intel.uy/127.0.0.1#5335 +ipset=/intel.uy/gfwlist +server=/verisign.com.es/127.0.0.1#5335 +ipset=/verisign.com.es/gfwlist +server=/harpercollinschildrensbooks.co.uk/127.0.0.1#5335 +ipset=/harpercollinschildrensbooks.co.uk/gfwlist +server=/sony.com.ec/127.0.0.1#5335 +ipset=/sony.com.ec/gfwlist +server=/ffacebook.com/127.0.0.1#5335 +ipset=/ffacebook.com/gfwlist +server=/intel.tt/127.0.0.1#5335 +ipset=/intel.tt/gfwlist +server=/intel.tn/127.0.0.1#5335 +ipset=/intel.tn/gfwlist +server=/intel.tm/127.0.0.1#5335 +ipset=/intel.tm/gfwlist +server=/pimg.tw/127.0.0.1#5335 +ipset=/pimg.tw/gfwlist +server=/instagramtr.com/127.0.0.1#5335 +ipset=/instagramtr.com/gfwlist +server=/intel.tl/127.0.0.1#5335 +ipset=/intel.tl/gfwlist +server=/hipaa6020.com/127.0.0.1#5335 +ipset=/hipaa6020.com/gfwlist +server=/intel.tj/127.0.0.1#5335 +ipset=/intel.tj/gfwlist +server=/faseboox.com/127.0.0.1#5335 +ipset=/faseboox.com/gfwlist +server=/beatspascher-fr.net/127.0.0.1#5335 +ipset=/beatspascher-fr.net/gfwlist +server=/intel.st/127.0.0.1#5335 +ipset=/intel.st/gfwlist +server=/videodelivery.net/127.0.0.1#5335 +ipset=/videodelivery.net/gfwlist +server=/intel.sk/127.0.0.1#5335 +ipset=/intel.sk/gfwlist +server=/dot-mac.de/127.0.0.1#5335 +ipset=/dot-mac.de/gfwlist +server=/intel.ie/127.0.0.1#5335 +ipset=/intel.ie/gfwlist +server=/intel.sc/127.0.0.1#5335 +ipset=/intel.sc/gfwlist +server=/intel.ro/127.0.0.1#5335 +ipset=/intel.ro/gfwlist +server=/nytcn.me/127.0.0.1#5335 +ipset=/nytcn.me/gfwlist +server=/volvopenta.se/127.0.0.1#5335 +ipset=/volvopenta.se/gfwlist +server=/intel.pn/127.0.0.1#5335 +ipset=/intel.pn/gfwlist +server=/foxstudiolot.com/127.0.0.1#5335 +ipset=/foxstudiolot.com/gfwlist +server=/speybay.com/127.0.0.1#5335 +ipset=/speybay.com/gfwlist +server=/intel.ph/127.0.0.1#5335 +ipset=/intel.ph/gfwlist +server=/intel.pa/127.0.0.1#5335 +ipset=/intel.pa/gfwlist +server=/intel.nu/127.0.0.1#5335 +ipset=/intel.nu/gfwlist +server=/directtv-dish.com/127.0.0.1#5335 +ipset=/directtv-dish.com/gfwlist +server=/minihalifax.com/127.0.0.1#5335 +ipset=/minihalifax.com/gfwlist +server=/intel.mu/127.0.0.1#5335 +ipset=/intel.mu/gfwlist +server=/desktopmovie.com/127.0.0.1#5335 +ipset=/desktopmovie.com/gfwlist +server=/dl-iphone.com/127.0.0.1#5335 +ipset=/dl-iphone.com/gfwlist +server=/intel.mn/127.0.0.1#5335 +ipset=/intel.mn/gfwlist +server=/intel.mg/127.0.0.1#5335 +ipset=/intel.mg/gfwlist +server=/thefind.com/127.0.0.1#5335 +ipset=/thefind.com/gfwlist +server=/bmwchampionshipusa.com/127.0.0.1#5335 +ipset=/bmwchampionshipusa.com/gfwlist +server=/mastercard.hu/127.0.0.1#5335 +ipset=/mastercard.hu/gfwlist +server=/intel.me/127.0.0.1#5335 +ipset=/intel.me/gfwlist +server=/yahoo.ws/127.0.0.1#5335 +ipset=/yahoo.ws/gfwlist +server=/twnextdigital.com/127.0.0.1#5335 +ipset=/twnextdigital.com/gfwlist +server=/bridgestoneperformancemedia.net/127.0.0.1#5335 +ipset=/bridgestoneperformancemedia.net/gfwlist +server=/vmwarevmc.com/127.0.0.1#5335 +ipset=/vmwarevmc.com/gfwlist +server=/macbookair.es/127.0.0.1#5335 +ipset=/macbookair.es/gfwlist +server=/vfsco.de/127.0.0.1#5335 +ipset=/vfsco.de/gfwlist +server=/intel.lu/127.0.0.1#5335 +ipset=/intel.lu/gfwlist +server=/intel.lt/127.0.0.1#5335 +ipset=/intel.lt/gfwlist +server=/intel.lk/127.0.0.1#5335 +ipset=/intel.lk/gfwlist +server=/intel.lc/127.0.0.1#5335 +ipset=/intel.lc/gfwlist +server=/intel.ke/127.0.0.1#5335 +ipset=/intel.ke/gfwlist +server=/freebsd.org/127.0.0.1#5335 +ipset=/freebsd.org/gfwlist +server=/ieeecsc.org/127.0.0.1#5335 +ipset=/ieeecsc.org/gfwlist +server=/intel.jp/127.0.0.1#5335 +ipset=/intel.jp/gfwlist +server=/google.gr/127.0.0.1#5335 +ipset=/google.gr/gfwlist +server=/delvenetworks.com/127.0.0.1#5335 +ipset=/delvenetworks.com/gfwlist +server=/intel.it/127.0.0.1#5335 +ipset=/intel.it/gfwlist +server=/qualcomm.co.jp/127.0.0.1#5335 +ipset=/qualcomm.co.jp/gfwlist +server=/intel.in/127.0.0.1#5335 +ipset=/intel.in/gfwlist +server=/ruten.com.tw/127.0.0.1#5335 +ipset=/ruten.com.tw/gfwlist +server=/intel.sg/127.0.0.1#5335 +ipset=/intel.sg/gfwlist +server=/onlinemonsterbeatsonsale.com/127.0.0.1#5335 +ipset=/onlinemonsterbeatsonsale.com/gfwlist +server=/intel.ht/127.0.0.1#5335 +ipset=/intel.ht/gfwlist +server=/intel.hn/127.0.0.1#5335 +ipset=/intel.hn/gfwlist +server=/intel.hk/127.0.0.1#5335 +ipset=/intel.hk/gfwlist +server=/nutramigen.net/127.0.0.1#5335 +ipset=/nutramigen.net/gfwlist +server=/2ch.net/127.0.0.1#5335 +ipset=/2ch.net/gfwlist +server=/intel.gs/127.0.0.1#5335 +ipset=/intel.gs/gfwlist +server=/intel.gm/127.0.0.1#5335 +ipset=/intel.gm/gfwlist +server=/5ch.net/127.0.0.1#5335 +ipset=/5ch.net/gfwlist +server=/intel.gl/127.0.0.1#5335 +ipset=/intel.gl/gfwlist +server=/intel.ge/127.0.0.1#5335 +ipset=/intel.ge/gfwlist +server=/intel.gd/127.0.0.1#5335 +ipset=/intel.gd/gfwlist +server=/udacity.com/127.0.0.1#5335 +ipset=/udacity.com/gfwlist +server=/singtaonewscorp.com/127.0.0.1#5335 +ipset=/singtaonewscorp.com/gfwlist +server=/intel.es/127.0.0.1#5335 +ipset=/intel.es/gfwlist +server=/intel.ec/127.0.0.1#5335 +ipset=/intel.ec/gfwlist +server=/intel.de/127.0.0.1#5335 +ipset=/intel.de/gfwlist +server=/intel.cz/127.0.0.1#5335 +ipset=/intel.cz/gfwlist +server=/yahoo.co.ve/127.0.0.1#5335 +ipset=/yahoo.co.ve/gfwlist +server=/wikia.nocookie.net/127.0.0.1#5335 +ipset=/wikia.nocookie.net/gfwlist +server=/intel.com.uy/127.0.0.1#5335 +ipset=/intel.com.uy/gfwlist +server=/intel.com.tr/127.0.0.1#5335 +ipset=/intel.com.tr/gfwlist +server=/intel.com.pe/127.0.0.1#5335 +ipset=/intel.com.pe/gfwlist +server=/pillbeatsblackfridaysale.com/127.0.0.1#5335 +ipset=/pillbeatsblackfridaysale.com/gfwlist +server=/ibook.co.nz/127.0.0.1#5335 +ipset=/ibook.co.nz/gfwlist +server=/intel.com.jm/127.0.0.1#5335 +ipset=/intel.com.jm/gfwlist +server=/bmw.nl/127.0.0.1#5335 +ipset=/bmw.nl/gfwlist +server=/bloombergarcade.com/127.0.0.1#5335 +ipset=/bloombergarcade.com/gfwlist +server=/minihalifax.ca/127.0.0.1#5335 +ipset=/minihalifax.ca/gfwlist +server=/intel.com.ec/127.0.0.1#5335 +ipset=/intel.com.ec/gfwlist +server=/intel.com.co/127.0.0.1#5335 +ipset=/intel.com.co/gfwlist +server=/intel.com.bo/127.0.0.1#5335 +ipset=/intel.com.bo/gfwlist +server=/intel.com.au/127.0.0.1#5335 +ipset=/intel.com.au/gfwlist +server=/nikeshoes4u.com/127.0.0.1#5335 +ipset=/nikeshoes4u.com/gfwlist +server=/google.cv/127.0.0.1#5335 +ipset=/google.cv/gfwlist +server=/intel.com.ar/127.0.0.1#5335 +ipset=/intel.com.ar/gfwlist +server=/minisoindia.com/127.0.0.1#5335 +ipset=/minisoindia.com/gfwlist +server=/intel.co.uk/127.0.0.1#5335 +ipset=/intel.co.uk/gfwlist +server=/intel.co.il/127.0.0.1#5335 +ipset=/intel.co.il/gfwlist +server=/intel.co.id/127.0.0.1#5335 +ipset=/intel.co.id/gfwlist +server=/canon.ba/127.0.0.1#5335 +ipset=/canon.ba/gfwlist +server=/mega.co.nz/127.0.0.1#5335 +ipset=/mega.co.nz/gfwlist +server=/intel.cm/127.0.0.1#5335 +ipset=/intel.cm/gfwlist +server=/intel.cg/127.0.0.1#5335 +ipset=/intel.cg/gfwlist +server=/workspaceair.com/127.0.0.1#5335 +ipset=/workspaceair.com/gfwlist +server=/appdynamics.fr/127.0.0.1#5335 +ipset=/appdynamics.fr/gfwlist +server=/intel.cc/127.0.0.1#5335 +ipset=/intel.cc/gfwlist +server=/myoctocat.com/127.0.0.1#5335 +ipset=/myoctocat.com/gfwlist +server=/uug27.com/127.0.0.1#5335 +ipset=/uug27.com/gfwlist +server=/crosswalk-project.com/127.0.0.1#5335 +ipset=/crosswalk-project.com/gfwlist +server=/bmwusaservice.com/127.0.0.1#5335 +ipset=/bmwusaservice.com/gfwlist +server=/beatdrdres.com/127.0.0.1#5335 +ipset=/beatdrdres.com/gfwlist +server=/vmwareidentity.com/127.0.0.1#5335 +ipset=/vmwareidentity.com/gfwlist +server=/paypalhere.org/127.0.0.1#5335 +ipset=/paypalhere.org/gfwlist +server=/intel.az/127.0.0.1#5335 +ipset=/intel.az/gfwlist +server=/intel.at/127.0.0.1#5335 +ipset=/intel.at/gfwlist +server=/businessinsider.my/127.0.0.1#5335 +ipset=/businessinsider.my/gfwlist +server=/intel.ai/127.0.0.1#5335 +ipset=/intel.ai/gfwlist +server=/click-url.com/127.0.0.1#5335 +ipset=/click-url.com/gfwlist +server=/intel.ag/127.0.0.1#5335 +ipset=/intel.ag/gfwlist +server=/69vj.com/127.0.0.1#5335 +ipset=/69vj.com/gfwlist +server=/bnef.com/127.0.0.1#5335 +ipset=/bnef.com/gfwlist +server=/pycon.org/127.0.0.1#5335 +ipset=/pycon.org/gfwlist +server=/intel.ae/127.0.0.1#5335 +ipset=/intel.ae/gfwlist +server=/gettyimages.ca/127.0.0.1#5335 +ipset=/gettyimages.ca/gfwlist +server=/beatsbydrecheaponlinesales.com/127.0.0.1#5335 +ipset=/beatsbydrecheaponlinesales.com/gfwlist +server=/s81c.com/127.0.0.1#5335 +ipset=/s81c.com/gfwlist +server=/pinterest.mx/127.0.0.1#5335 +ipset=/pinterest.mx/gfwlist +server=/webofknowledge.com/127.0.0.1#5335 +ipset=/webofknowledge.com/gfwlist +server=/mastercardmoments.com/127.0.0.1#5335 +ipset=/mastercardmoments.com/gfwlist +server=/applemasters.info/127.0.0.1#5335 +ipset=/applemasters.info/gfwlist +server=/bestbuystores.com/127.0.0.1#5335 +ipset=/bestbuystores.com/gfwlist +server=/justdoit.us/127.0.0.1#5335 +ipset=/justdoit.us/gfwlist +server=/pearsoned.com/127.0.0.1#5335 +ipset=/pearsoned.com/gfwlist +server=/ibm.eu/127.0.0.1#5335 +ipset=/ibm.eu/gfwlist +server=/pugpig-dev.com/127.0.0.1#5335 +ipset=/pugpig-dev.com/gfwlist +server=/xoom-experience.com/127.0.0.1#5335 +ipset=/xoom-experience.com/gfwlist +server=/e-bay.com/127.0.0.1#5335 +ipset=/e-bay.com/gfwlist +server=/visa.co.cr/127.0.0.1#5335 +ipset=/visa.co.cr/gfwlist +server=/blpcareers.com/127.0.0.1#5335 +ipset=/blpcareers.com/gfwlist +server=/dowjoneson.com/127.0.0.1#5335 +ipset=/dowjoneson.com/gfwlist +server=/strepsils.hr/127.0.0.1#5335 +ipset=/strepsils.hr/gfwlist +server=/lolclub.org/127.0.0.1#5335 +ipset=/lolclub.org/gfwlist +server=/foxtel.com/127.0.0.1#5335 +ipset=/foxtel.com/gfwlist +server=/hpstore.corpmerchandise.com/127.0.0.1#5335 +ipset=/hpstore.corpmerchandise.com/gfwlist +server=/pros.ee/127.0.0.1#5335 +ipset=/pros.ee/gfwlist +server=/www8-hp.com/127.0.0.1#5335 +ipset=/www8-hp.com/gfwlist +server=/verisign.fr/127.0.0.1#5335 +ipset=/verisign.fr/gfwlist +server=/strepsils.ch/127.0.0.1#5335 +ipset=/strepsils.ch/gfwlist +server=/touchsmartpc.org/127.0.0.1#5335 +ipset=/touchsmartpc.org/gfwlist +server=/singtao.com/127.0.0.1#5335 +ipset=/singtao.com/gfwlist +server=/beats-headphones-buy-cheap.com/127.0.0.1#5335 +ipset=/beats-headphones-buy-cheap.com/gfwlist +server=/mystrikingly.com/127.0.0.1#5335 +ipset=/mystrikingly.com/gfwlist +server=/serviceshp.com/127.0.0.1#5335 +ipset=/serviceshp.com/gfwlist +server=/realclearmarkets.com/127.0.0.1#5335 +ipset=/realclearmarkets.com/gfwlist +server=/ebay.org/127.0.0.1#5335 +ipset=/ebay.org/gfwlist +server=/printspots.net/127.0.0.1#5335 +ipset=/printspots.net/gfwlist +server=/paylike.com/127.0.0.1#5335 +ipset=/paylike.com/gfwlist +server=/printspots.com/127.0.0.1#5335 +ipset=/printspots.com/gfwlist +server=/custombeatsforcheap.com/127.0.0.1#5335 +ipset=/custombeatsforcheap.com/gfwlist +server=/epochmall.com/127.0.0.1#5335 +ipset=/epochmall.com/gfwlist +server=/printersetupsupport.com/127.0.0.1#5335 +ipset=/printersetupsupport.com/gfwlist +server=/leavinghpinc.com/127.0.0.1#5335 +ipset=/leavinghpinc.com/gfwlist +server=/videopress.com/127.0.0.1#5335 +ipset=/videopress.com/gfwlist +server=/instantink.com/127.0.0.1#5335 +ipset=/instantink.com/gfwlist +server=/ieeesmc.org/127.0.0.1#5335 +ipset=/ieeesmc.org/gfwlist +server=/inkchoice.com/127.0.0.1#5335 +ipset=/inkchoice.com/gfwlist +server=/i-123-hp.com/127.0.0.1#5335 +ipset=/i-123-hp.com/gfwlist +server=/bmwofannapolis.com/127.0.0.1#5335 +ipset=/bmwofannapolis.com/gfwlist +server=/powerofresolve.ca/127.0.0.1#5335 +ipset=/powerofresolve.ca/gfwlist +server=/powersunitedvr.com/127.0.0.1#5335 +ipset=/powersunitedvr.com/gfwlist +server=/hpwallart.com/127.0.0.1#5335 +ipset=/hpwallart.com/gfwlist +server=/amazon-launchpad.com/127.0.0.1#5335 +ipset=/amazon-launchpad.com/gfwlist +server=/startupschool.org/127.0.0.1#5335 +ipset=/startupschool.org/gfwlist +server=/paypal-retail.com/127.0.0.1#5335 +ipset=/paypal-retail.com/gfwlist +server=/needforspeedeliminator.com/127.0.0.1#5335 +ipset=/needforspeedeliminator.com/gfwlist +server=/cheapbeatsbydreoutlets2013.com/127.0.0.1#5335 +ipset=/cheapbeatsbydreoutlets2013.com/gfwlist +server=/parstream.org/127.0.0.1#5335 +ipset=/parstream.org/gfwlist +server=/hpveer.com/127.0.0.1#5335 +ipset=/hpveer.com/gfwlist +server=/panasonic.jp/127.0.0.1#5335 +ipset=/panasonic.jp/gfwlist +server=/anigema.jp/127.0.0.1#5335 +ipset=/anigema.jp/gfwlist +server=/yahoo.ge/127.0.0.1#5335 +ipset=/yahoo.ge/gfwlist +server=/hptrainingcenter.com/127.0.0.1#5335 +ipset=/hptrainingcenter.com/gfwlist +server=/yahoo.dm/127.0.0.1#5335 +ipset=/yahoo.dm/gfwlist +server=/telegram.space/127.0.0.1#5335 +ipset=/telegram.space/gfwlist +server=/duckduckgo.co/127.0.0.1#5335 +ipset=/duckduckgo.co/gfwlist +server=/pearson.ch/127.0.0.1#5335 +ipset=/pearson.ch/gfwlist +server=/cbsi.video/127.0.0.1#5335 +ipset=/cbsi.video/gfwlist +server=/standardsuniversity.org/127.0.0.1#5335 +ipset=/standardsuniversity.org/gfwlist +server=/ebaysocial.com/127.0.0.1#5335 +ipset=/ebaysocial.com/gfwlist +server=/hpsprocket.com/127.0.0.1#5335 +ipset=/hpsprocket.com/gfwlist +server=/googlee.com/127.0.0.1#5335 +ipset=/googlee.com/gfwlist +server=/pearsonclinical.com.br/127.0.0.1#5335 +ipset=/pearsonclinical.com.br/gfwlist +server=/beatsbydresingapores.com/127.0.0.1#5335 +ipset=/beatsbydresingapores.com/gfwlist +server=/epochtimes.eu/127.0.0.1#5335 +ipset=/epochtimes.eu/gfwlist +server=/bmw-yachtsport.com/127.0.0.1#5335 +ipset=/bmw-yachtsport.com/gfwlist +server=/bmw.in/127.0.0.1#5335 +ipset=/bmw.in/gfwlist +server=/applestore.co.jp/127.0.0.1#5335 +ipset=/applestore.co.jp/gfwlist +server=/hpsmartupdate.com/127.0.0.1#5335 +ipset=/hpsmartupdate.com/gfwlist +server=/hpsmartstage.com/127.0.0.1#5335 +ipset=/hpsmartstage.com/gfwlist +server=/hpsmarts.com/127.0.0.1#5335 +ipset=/hpsmarts.com/gfwlist +server=/foxfdm.com/127.0.0.1#5335 +ipset=/foxfdm.com/gfwlist +server=/hpshopping.hk/127.0.0.1#5335 +ipset=/hpshopping.hk/gfwlist +server=/bmw-special-sales.com/127.0.0.1#5335 +ipset=/bmw-special-sales.com/gfwlist +server=/hpshoping.com/127.0.0.1#5335 +ipset=/hpshoping.com/gfwlist +server=/visa.ro/127.0.0.1#5335 +ipset=/visa.ro/gfwlist +server=/hpshop.com/127.0.0.1#5335 +ipset=/hpshop.com/gfwlist +server=/verisign.jobs/127.0.0.1#5335 +ipset=/verisign.jobs/gfwlist +server=/myfoxlubbock.com/127.0.0.1#5335 +ipset=/myfoxlubbock.com/gfwlist +server=/xoom.io/127.0.0.1#5335 +ipset=/xoom.io/gfwlist +server=/apple.ch/127.0.0.1#5335 +ipset=/apple.ch/gfwlist +server=/hpserver.com/127.0.0.1#5335 +ipset=/hpserver.com/gfwlist +server=/hpsalescentral.com/127.0.0.1#5335 +ipset=/hpsalescentral.com/gfwlist +server=/pvp.tv/127.0.0.1#5335 +ipset=/pvp.tv/gfwlist +server=/hpprintersupplies.com/127.0.0.1#5335 +ipset=/hpprintersupplies.com/gfwlist +server=/google.mu/127.0.0.1#5335 +ipset=/google.mu/gfwlist +server=/youtube.iq/127.0.0.1#5335 +ipset=/youtube.iq/gfwlist +server=/playhearthstone.com/127.0.0.1#5335 +ipset=/playhearthstone.com/gfwlist +server=/nikefootballcleats.com/127.0.0.1#5335 +ipset=/nikefootballcleats.com/gfwlist +server=/disneychannelroadtrip.com/127.0.0.1#5335 +ipset=/disneychannelroadtrip.com/gfwlist +server=/hpprinterdrivers.com/127.0.0.1#5335 +ipset=/hpprinterdrivers.com/gfwlist +server=/bmw.com.mt/127.0.0.1#5335 +ipset=/bmw.com.mt/gfwlist +server=/hpphotoscanners.com/127.0.0.1#5335 +ipset=/hpphotoscanners.com/gfwlist +server=/beatscustomblackfriday.com/127.0.0.1#5335 +ipset=/beatscustomblackfriday.com/gfwlist +server=/hppavillionlaptop.com/127.0.0.1#5335 +ipset=/hppavillionlaptop.com/gfwlist +server=/appleonline.com/127.0.0.1#5335 +ipset=/appleonline.com/gfwlist +server=/rentaride.com/127.0.0.1#5335 +ipset=/rentaride.com/gfwlist +server=/ipod.co.nz/127.0.0.1#5335 +ipset=/ipod.co.nz/gfwlist +server=/ccna5.net/127.0.0.1#5335 +ipset=/ccna5.net/gfwlist +server=/hpmicrcartridge.com/127.0.0.1#5335 +ipset=/hpmicrcartridge.com/gfwlist +server=/hpmemorychips.com/127.0.0.1#5335 +ipset=/hpmemorychips.com/gfwlist +server=/hplipopensource.com/127.0.0.1#5335 +ipset=/hplipopensource.com/gfwlist +server=/pinterest.ie/127.0.0.1#5335 +ipset=/pinterest.ie/gfwlist +server=/beatsbydresolohdonline-canada.com/127.0.0.1#5335 +ipset=/beatsbydresolohdonline-canada.com/gfwlist +server=/instagramphoto.com/127.0.0.1#5335 +ipset=/instagramphoto.com/gfwlist +server=/sohcradio.com/127.0.0.1#5335 +ipset=/sohcradio.com/gfwlist +server=/beatsbydre-studio.com/127.0.0.1#5335 +ipset=/beatsbydre-studio.com/gfwlist +server=/zsh.org/127.0.0.1#5335 +ipset=/zsh.org/gfwlist +server=/hpkeyboard.com/127.0.0.1#5335 +ipset=/hpkeyboard.com/gfwlist +server=/bnetshopus.akamaized.net/127.0.0.1#5335 +ipset=/bnetshopus.akamaized.net/gfwlist +server=/foxrichmond.com/127.0.0.1#5335 +ipset=/foxrichmond.com/gfwlist +server=/hpinstantink.ca/127.0.0.1#5335 +ipset=/hpinstantink.ca/gfwlist +server=/hpinkjet.com/127.0.0.1#5335 +ipset=/hpinkjet.com/gfwlist +server=/ebay.ph/127.0.0.1#5335 +ipset=/ebay.ph/gfwlist +server=/hpinc.net/127.0.0.1#5335 +ipset=/hpinc.net/gfwlist +server=/hpinc.info/127.0.0.1#5335 +ipset=/hpinc.info/gfwlist +server=/hpiie.org/127.0.0.1#5335 +ipset=/hpiie.org/gfwlist +server=/javdove8.xyz/127.0.0.1#5335 +ipset=/javdove8.xyz/gfwlist +server=/hpgpas.com/127.0.0.1#5335 +ipset=/hpgpas.com/gfwlist +server=/imoviegallery.com/127.0.0.1#5335 +ipset=/imoviegallery.com/gfwlist +server=/yahoo.vg/127.0.0.1#5335 +ipset=/yahoo.vg/gfwlist +server=/hpeprint.com/127.0.0.1#5335 +ipset=/hpeprint.com/gfwlist +server=/hpengage.com/127.0.0.1#5335 +ipset=/hpengage.com/gfwlist +server=/miitomo.com/127.0.0.1#5335 +ipset=/miitomo.com/gfwlist +server=/aibaobei.me/127.0.0.1#5335 +ipset=/aibaobei.me/gfwlist +server=/hpdrivers.org/127.0.0.1#5335 +ipset=/hpdrivers.org/gfwlist +server=/paypalprepagata.com/127.0.0.1#5335 +ipset=/paypalprepagata.com/gfwlist +server=/hpdreamcolor.com/127.0.0.1#5335 +ipset=/hpdreamcolor.com/gfwlist +server=/hpdesignjetl25500.com/127.0.0.1#5335 +ipset=/hpdesignjetl25500.com/gfwlist +server=/graphengine.io/127.0.0.1#5335 +ipset=/graphengine.io/gfwlist +server=/alivevue.com/127.0.0.1#5335 +ipset=/alivevue.com/gfwlist +server=/hpdaas.com/127.0.0.1#5335 +ipset=/hpdaas.com/gfwlist +server=/speedtest.com.hk/127.0.0.1#5335 +ipset=/speedtest.com.hk/gfwlist +server=/needforspeedshowdown.com/127.0.0.1#5335 +ipset=/needforspeedshowdown.com/gfwlist +server=/miniargentina.com/127.0.0.1#5335 +ipset=/miniargentina.com/gfwlist +server=/heptio.com/127.0.0.1#5335 +ipset=/heptio.com/gfwlist +server=/hpcustomersupport.com/127.0.0.1#5335 +ipset=/hpcustomersupport.com/gfwlist +server=/loanbuilder.com/127.0.0.1#5335 +ipset=/loanbuilder.com/gfwlist +server=/bmw-motorrad.com.mx/127.0.0.1#5335 +ipset=/bmw-motorrad.com.mx/gfwlist +server=/attinternetservice.com/127.0.0.1#5335 +ipset=/attinternetservice.com/gfwlist +server=/hpcu.org/127.0.0.1#5335 +ipset=/hpcu.org/gfwlist +server=/mobileinternational.com/127.0.0.1#5335 +ipset=/mobileinternational.com/gfwlist +server=/mini-connected.fr/127.0.0.1#5335 +ipset=/mini-connected.fr/gfwlist +server=/volvoce.com/127.0.0.1#5335 +ipset=/volvoce.com/gfwlist +server=/staticflickr.com/127.0.0.1#5335 +ipset=/staticflickr.com/gfwlist +server=/hpconnectedstage.com/127.0.0.1#5335 +ipset=/hpconnectedstage.com/gfwlist +server=/api-priconne-redive.cygames.jp/127.0.0.1#5335 +ipset=/api-priconne-redive.cygames.jp/gfwlist +server=/linuxfoundation.org/127.0.0.1#5335 +ipset=/linuxfoundation.org/gfwlist +server=/nativeincolour.com.au/127.0.0.1#5335 +ipset=/nativeincolour.com.au/gfwlist +server=/alphabet.no/127.0.0.1#5335 +ipset=/alphabet.no/gfwlist +server=/nbcuniversal.com/127.0.0.1#5335 +ipset=/nbcuniversal.com/gfwlist +server=/hpconnected.org/127.0.0.1#5335 +ipset=/hpconnected.org/gfwlist +server=/pinterest.jp/127.0.0.1#5335 +ipset=/pinterest.jp/gfwlist +server=/ebayanunsios.net/127.0.0.1#5335 +ipset=/ebayanunsios.net/gfwlist +server=/hpcomputerservices.com/127.0.0.1#5335 +ipset=/hpcomputerservices.com/gfwlist +server=/hpcomputers.com/127.0.0.1#5335 +ipset=/hpcomputers.com/gfwlist +server=/fecbooc.com/127.0.0.1#5335 +ipset=/fecbooc.com/gfwlist +server=/bmw.com.br/127.0.0.1#5335 +ipset=/bmw.com.br/gfwlist +server=/hpcmw.net/127.0.0.1#5335 +ipset=/hpcmw.net/gfwlist +server=/wifi-mx.com/127.0.0.1#5335 +ipset=/wifi-mx.com/gfwlist +server=/rpmfusion.org/127.0.0.1#5335 +ipset=/rpmfusion.org/gfwlist +server=/icloud.se/127.0.0.1#5335 +ipset=/icloud.se/gfwlist +server=/eastweek.com.hk/127.0.0.1#5335 +ipset=/eastweek.com.hk/gfwlist +server=/hpccp.com/127.0.0.1#5335 +ipset=/hpccp.com/gfwlist +server=/hpbluecarpet.net/127.0.0.1#5335 +ipset=/hpbluecarpet.net/gfwlist +server=/applepaycash.net/127.0.0.1#5335 +ipset=/applepaycash.net/gfwlist +server=/hpbluecarpet.com/127.0.0.1#5335 +ipset=/hpbluecarpet.com/gfwlist +server=/cybermondaybeats4sale.com/127.0.0.1#5335 +ipset=/cybermondaybeats4sale.com/gfwlist +server=/hpbestbuy.com/127.0.0.1#5335 +ipset=/hpbestbuy.com/gfwlist +server=/line-scdn.net/127.0.0.1#5335 +ipset=/line-scdn.net/gfwlist +server=/bitbank.cc/127.0.0.1#5335 +ipset=/bitbank.cc/gfwlist +server=/iphoto.no/127.0.0.1#5335 +ipset=/iphoto.no/gfwlist +server=/hp3dmetals.com/127.0.0.1#5335 +ipset=/hp3dmetals.com/gfwlist +server=/hp.io/127.0.0.1#5335 +ipset=/hp.io/gfwlist +server=/nikegolf.ca/127.0.0.1#5335 +ipset=/nikegolf.ca/gfwlist +server=/hp.company/127.0.0.1#5335 +ipset=/hp.company/gfwlist +server=/applepay.rs/127.0.0.1#5335 +ipset=/applepay.rs/gfwlist +server=/hp-ww.com/127.0.0.1#5335 +ipset=/hp-ww.com/gfwlist +server=/hp-mns.com/127.0.0.1#5335 +ipset=/hp-mns.com/gfwlist +server=/hp-invent.info/127.0.0.1#5335 +ipset=/hp-invent.info/gfwlist +server=/verizon.net/127.0.0.1#5335 +ipset=/verizon.net/gfwlist +server=/hp-infolab.com/127.0.0.1#5335 +ipset=/hp-infolab.com/gfwlist +server=/nextmag.com.tw/127.0.0.1#5335 +ipset=/nextmag.com.tw/gfwlist +server=/hp-imagine.com/127.0.0.1#5335 +ipset=/hp-imagine.com/gfwlist +server=/splatoon2tournament.com/127.0.0.1#5335 +ipset=/splatoon2tournament.com/gfwlist +server=/tvbanywhere.com.sg/127.0.0.1#5335 +ipset=/tvbanywhere.com.sg/gfwlist +server=/gnu.org/127.0.0.1#5335 +ipset=/gnu.org/gfwlist +server=/paypa1.org/127.0.0.1#5335 +ipset=/paypa1.org/gfwlist +server=/alterauserforum.com/127.0.0.1#5335 +ipset=/alterauserforum.com/gfwlist +server=/battlefieldv.com/127.0.0.1#5335 +ipset=/battlefieldv.com/gfwlist +server=/livingyourambition.com/127.0.0.1#5335 +ipset=/livingyourambition.com/gfwlist +server=/zoho.eu/127.0.0.1#5335 +ipset=/zoho.eu/gfwlist +server=/demoprint.com/127.0.0.1#5335 +ipset=/demoprint.com/gfwlist +server=/google.com.vn/127.0.0.1#5335 +ipset=/google.com.vn/gfwlist +server=/david-laserscanner.com/127.0.0.1#5335 +ipset=/david-laserscanner.com/gfwlist +server=/compaq.org/127.0.0.1#5335 +ipset=/compaq.org/gfwlist +server=/oneworldmanystories.com/127.0.0.1#5335 +ipset=/oneworldmanystories.com/gfwlist +server=/thesun.co.uk/127.0.0.1#5335 +ipset=/thesun.co.uk/gfwlist +server=/campushp.com/127.0.0.1#5335 +ipset=/campushp.com/gfwlist +server=/as-hp.ca/127.0.0.1#5335 +ipset=/as-hp.ca/gfwlist +server=/8008206616.com/127.0.0.1#5335 +ipset=/8008206616.com/gfwlist +server=/123hplaserjet.com/127.0.0.1#5335 +ipset=/123hplaserjet.com/gfwlist +server=/123-hp.com/127.0.0.1#5335 +ipset=/123-hp.com/gfwlist +server=/mysimsracing.com/127.0.0.1#5335 +ipset=/mysimsracing.com/gfwlist +server=/jos.com/127.0.0.1#5335 +ipset=/jos.com/gfwlist +server=/hkbnes.net/127.0.0.1#5335 +ipset=/hkbnes.net/gfwlist +server=/hkbn.com.hk/127.0.0.1#5335 +ipset=/hkbn.com.hk/gfwlist +server=/csifund.org/127.0.0.1#5335 +ipset=/csifund.org/gfwlist +server=/youporn.com/127.0.0.1#5335 +ipset=/youporn.com/gfwlist +server=/disney.fr/127.0.0.1#5335 +ipset=/disney.fr/gfwlist +server=/appleid.com/127.0.0.1#5335 +ipset=/appleid.com/gfwlist +server=/googlecode.com/127.0.0.1#5335 +ipset=/googlecode.com/gfwlist +server=/dicela.com/127.0.0.1#5335 +ipset=/dicela.com/gfwlist +server=/huffingtonpost.de/127.0.0.1#5335 +ipset=/huffingtonpost.de/gfwlist +server=/travelex.com.om/127.0.0.1#5335 +ipset=/travelex.com.om/gfwlist +server=/fcacebook.com/127.0.0.1#5335 +ipset=/fcacebook.com/gfwlist +server=/disney.pl/127.0.0.1#5335 +ipset=/disney.pl/gfwlist +server=/xda-developers.com/127.0.0.1#5335 +ipset=/xda-developers.com/gfwlist +server=/xn--gogl-0nd52e.com/127.0.0.1#5335 +ipset=/xn--gogl-0nd52e.com/gfwlist +server=/xn--ggle-55da.com/127.0.0.1#5335 +ipset=/xn--ggle-55da.com/gfwlist +server=/xn--flw351e.com/127.0.0.1#5335 +ipset=/xn--flw351e.com/gfwlist +server=/scholar.google.co.il/127.0.0.1#5335 +ipset=/scholar.google.co.il/gfwlist +server=/xn--9trs65b.com/127.0.0.1#5335 +ipset=/xn--9trs65b.com/gfwlist +server=/gfotolia.com/127.0.0.1#5335 +ipset=/gfotolia.com/gfwlist +server=/ieeer10.org/127.0.0.1#5335 +ipset=/ieeer10.org/gfwlist +server=/atlassian.com/127.0.0.1#5335 +ipset=/atlassian.com/gfwlist +server=/filipino-music.net/127.0.0.1#5335 +ipset=/filipino-music.net/gfwlist +server=/withgoogle.com/127.0.0.1#5335 +ipset=/withgoogle.com/gfwlist +server=/bmw.com.do/127.0.0.1#5335 +ipset=/bmw.com.do/gfwlist +server=/jsbridgestone.com/127.0.0.1#5335 +ipset=/jsbridgestone.com/gfwlist +server=/miniso.ie/127.0.0.1#5335 +ipset=/miniso.ie/gfwlist +server=/alphabet.co.hu/127.0.0.1#5335 +ipset=/alphabet.co.hu/gfwlist +server=/webappfieldguide.com/127.0.0.1#5335 +ipset=/webappfieldguide.com/gfwlist +server=/waze.com/127.0.0.1#5335 +ipset=/waze.com/gfwlist +server=/waymo.com/127.0.0.1#5335 +ipset=/waymo.com/gfwlist +server=/ministeagathe.com/127.0.0.1#5335 +ipset=/ministeagathe.com/gfwlist +server=/verilystudywatch.org/127.0.0.1#5335 +ipset=/verilystudywatch.org/gfwlist +server=/ebayit.com/127.0.0.1#5335 +ipset=/ebayit.com/gfwlist +server=/volvotrucks.am/127.0.0.1#5335 +ipset=/volvotrucks.am/gfwlist +server=/verilystudyhub.com/127.0.0.1#5335 +ipset=/verilystudyhub.com/gfwlist +server=/appsonebay.net/127.0.0.1#5335 +ipset=/appsonebay.net/gfwlist +server=/volvobuses.ph/127.0.0.1#5335 +ipset=/volvobuses.ph/gfwlist +server=/google.lu/127.0.0.1#5335 +ipset=/google.lu/gfwlist +server=/starbucks.ph/127.0.0.1#5335 +ipset=/starbucks.ph/gfwlist +server=/unfiltered.news/127.0.0.1#5335 +ipset=/unfiltered.news/gfwlist +server=/thinkquarterly.com/127.0.0.1#5335 +ipset=/thinkquarterly.com/gfwlist +server=/iosinthecar.com/127.0.0.1#5335 +ipset=/iosinthecar.com/gfwlist +server=/tensorflow.org/127.0.0.1#5335 +ipset=/tensorflow.org/gfwlist +server=/nintendonyc.com/127.0.0.1#5335 +ipset=/nintendonyc.com/gfwlist +server=/synergyse.com/127.0.0.1#5335 +ipset=/synergyse.com/gfwlist +server=/animezilla.com/127.0.0.1#5335 +ipset=/animezilla.com/gfwlist +server=/stxmosquitoproject.com/127.0.0.1#5335 +ipset=/stxmosquitoproject.com/gfwlist +server=/tribler.org/127.0.0.1#5335 +ipset=/tribler.org/gfwlist +server=/bmw-grouparchives.com/127.0.0.1#5335 +ipset=/bmw-grouparchives.com/gfwlist +server=/zencoder.com/127.0.0.1#5335 +ipset=/zencoder.com/gfwlist +server=/freedomplatform.tv/127.0.0.1#5335 +ipset=/freedomplatform.tv/gfwlist +server=/ninemediaroom.com.au/127.0.0.1#5335 +ipset=/ninemediaroom.com.au/gfwlist +server=/dilcdn.com/127.0.0.1#5335 +ipset=/dilcdn.com/gfwlist +server=/gfx.ms/127.0.0.1#5335 +ipset=/gfx.ms/gfwlist +server=/brazzers.com/127.0.0.1#5335 +ipset=/brazzers.com/gfwlist +server=/stcroixmosquitoproject.com/127.0.0.1#5335 +ipset=/stcroixmosquitoproject.com/gfwlist +server=/bbgwatch.com/127.0.0.1#5335 +ipset=/bbgwatch.com/gfwlist +server=/stcroixmosquito.com/127.0.0.1#5335 +ipset=/stcroixmosquito.com/gfwlist +server=/adobestock.com/127.0.0.1#5335 +ipset=/adobestock.com/gfwlist +server=/blogspot.co.nz/127.0.0.1#5335 +ipset=/blogspot.co.nz/gfwlist +server=/enfamil.es/127.0.0.1#5335 +ipset=/enfamil.es/gfwlist +server=/aorus.com/127.0.0.1#5335 +ipset=/aorus.com/gfwlist +server=/illianacomputerrecycling.com/127.0.0.1#5335 +ipset=/illianacomputerrecycling.com/gfwlist +server=/ebay-25-assets.s3-us-west-1.amazonaws.com/127.0.0.1#5335 +ipset=/ebay-25-assets.s3-us-west-1.amazonaws.com/gfwlist +server=/apole.com/127.0.0.1#5335 +ipset=/apole.com/gfwlist +server=/solveforx.com/127.0.0.1#5335 +ipset=/solveforx.com/gfwlist +server=/screenwisetrendspanel.com/127.0.0.1#5335 +ipset=/screenwisetrendspanel.com/gfwlist +server=/screenwisetrends.com/127.0.0.1#5335 +ipset=/screenwisetrends.com/gfwlist +server=/mastercard.es/127.0.0.1#5335 +ipset=/mastercard.es/gfwlist +server=/easports.jp/127.0.0.1#5335 +ipset=/easports.jp/gfwlist +server=/jwpltx.com/127.0.0.1#5335 +ipset=/jwpltx.com/gfwlist +server=/finishinfo.com/127.0.0.1#5335 +ipset=/finishinfo.com/gfwlist +server=/login-paypal.info/127.0.0.1#5335 +ipset=/login-paypal.info/gfwlist +server=/sfx.ms/127.0.0.1#5335 +ipset=/sfx.ms/gfwlist +server=/run.app/127.0.0.1#5335 +ipset=/run.app/gfwlist +server=/huffingtonpost.com/127.0.0.1#5335 +ipset=/huffingtonpost.com/gfwlist +server=/fontshop.com/127.0.0.1#5335 +ipset=/fontshop.com/gfwlist +server=/cnivogue.com.au/127.0.0.1#5335 +ipset=/cnivogue.com.au/gfwlist +server=/ridepenguin.com/127.0.0.1#5335 +ipset=/ridepenguin.com/gfwlist +server=/m12.vc/127.0.0.1#5335 +ipset=/m12.vc/gfwlist +server=/esbeatsbydrebuy.com/127.0.0.1#5335 +ipset=/esbeatsbydrebuy.com/gfwlist +server=/quiksee.com/127.0.0.1#5335 +ipset=/quiksee.com/gfwlist +server=/happymeal.co.nz/127.0.0.1#5335 +ipset=/happymeal.co.nz/gfwlist +server=/questvisual.com/127.0.0.1#5335 +ipset=/questvisual.com/gfwlist +server=/paypalindia.com/127.0.0.1#5335 +ipset=/paypalindia.com/gfwlist +server=/foxrobots.com/127.0.0.1#5335 +ipset=/foxrobots.com/gfwlist +server=/dtci.co/127.0.0.1#5335 +ipset=/dtci.co/gfwlist +server=/projectara.com/127.0.0.1#5335 +ipset=/projectara.com/gfwlist +server=/adobess.com/127.0.0.1#5335 +ipset=/adobess.com/gfwlist +server=/bmwmagazine.de/127.0.0.1#5335 +ipset=/bmwmagazine.de/gfwlist +server=/privacysandbox.com/127.0.0.1#5335 +ipset=/privacysandbox.com/gfwlist +server=/news.net.au/127.0.0.1#5335 +ipset=/news.net.au/gfwlist +server=/pixate.com/127.0.0.1#5335 +ipset=/pixate.com/gfwlist +server=/kindleoasis.us/127.0.0.1#5335 +ipset=/kindleoasis.us/gfwlist +server=/bmw-authority-vehicles.com/127.0.0.1#5335 +ipset=/bmw-authority-vehicles.com/gfwlist +server=/picasaweb.com/127.0.0.1#5335 +ipset=/picasaweb.com/gfwlist +server=/amerikaninsesi.org/127.0.0.1#5335 +ipset=/amerikaninsesi.org/gfwlist +server=/connectionslearning.com/127.0.0.1#5335 +ipset=/connectionslearning.com/gfwlist +server=/ebay-us.com/127.0.0.1#5335 +ipset=/ebay-us.com/gfwlist +server=/panoramio.com/127.0.0.1#5335 +ipset=/panoramio.com/gfwlist +server=/pageview.mobi/127.0.0.1#5335 +ipset=/pageview.mobi/gfwlist +server=/brand-protection-team.com/127.0.0.1#5335 +ipset=/brand-protection-team.com/gfwlist +server=/pagespeedmobilizer.com/127.0.0.1#5335 +ipset=/pagespeedmobilizer.com/gfwlist +server=/vfsco.ca/127.0.0.1#5335 +ipset=/vfsco.ca/gfwlist +server=/geek-squad.org/127.0.0.1#5335 +ipset=/geek-squad.org/gfwlist +server=/colorprotechnology.com/127.0.0.1#5335 +ipset=/colorprotechnology.com/gfwlist +server=/beatsdrdreneon.com/127.0.0.1#5335 +ipset=/beatsdrdreneon.com/gfwlist +server=/mini-tahiti.com/127.0.0.1#5335 +ipset=/mini-tahiti.com/gfwlist +server=/youav.com/127.0.0.1#5335 +ipset=/youav.com/gfwlist +server=/blackfridaydrebeatsnew.com/127.0.0.1#5335 +ipset=/blackfridaydrebeatsnew.com/gfwlist +server=/monsterheadphone.net/127.0.0.1#5335 +ipset=/monsterheadphone.net/gfwlist +server=/thegeorgiascene.com/127.0.0.1#5335 +ipset=/thegeorgiascene.com/gfwlist +server=/shopbmwusa.com/127.0.0.1#5335 +ipset=/shopbmwusa.com/gfwlist +server=/on2.com/127.0.0.1#5335 +ipset=/on2.com/gfwlist +server=/towerauction.com/127.0.0.1#5335 +ipset=/towerauction.com/gfwlist +server=/on.here/127.0.0.1#5335 +ipset=/on.here/gfwlist +server=/drdrebeatsretail2013.com/127.0.0.1#5335 +ipset=/drdrebeatsretail2013.com/gfwlist +server=/fury.help/127.0.0.1#5335 +ipset=/fury.help/gfwlist +server=/azureiotcentral.com/127.0.0.1#5335 +ipset=/azureiotcentral.com/gfwlist +server=/near.by/127.0.0.1#5335 +ipset=/near.by/gfwlist +server=/mobileview.page/127.0.0.1#5335 +ipset=/mobileview.page/gfwlist +server=/itunes.co/127.0.0.1#5335 +ipset=/itunes.co/gfwlist +server=/meet.new/127.0.0.1#5335 +ipset=/meet.new/gfwlist +server=/gettyimages.com.au/127.0.0.1#5335 +ipset=/gettyimages.com.au/gfwlist +server=/m-power.com/127.0.0.1#5335 +ipset=/m-power.com/gfwlist +server=/material.io/127.0.0.1#5335 +ipset=/material.io/gfwlist +server=/workplace.com/127.0.0.1#5335 +ipset=/workplace.com/gfwlist +server=/nikefree.com/127.0.0.1#5335 +ipset=/nikefree.com/gfwlist +server=/canon.com.by/127.0.0.1#5335 +ipset=/canon.com.by/gfwlist +server=/madewithcode.com/127.0.0.1#5335 +ipset=/madewithcode.com/gfwlist +server=/like.com/127.0.0.1#5335 +ipset=/like.com/gfwlist +server=/lanternal.com/127.0.0.1#5335 +ipset=/lanternal.com/gfwlist +server=/veet.dk/127.0.0.1#5335 +ipset=/veet.dk/gfwlist +server=/jibemobile.com/127.0.0.1#5335 +ipset=/jibemobile.com/gfwlist +server=/bmw-motorrad.cz/127.0.0.1#5335 +ipset=/bmw-motorrad.cz/gfwlist +server=/setapp.com/127.0.0.1#5335 +ipset=/setapp.com/gfwlist +server=/renovacionoffice.com/127.0.0.1#5335 +ipset=/renovacionoffice.com/gfwlist +server=/enfagrow.com.ph/127.0.0.1#5335 +ipset=/enfagrow.com.ph/gfwlist +server=/akamai-platform.net/127.0.0.1#5335 +ipset=/akamai-platform.net/gfwlist +server=/cloudcone.com/127.0.0.1#5335 +ipset=/cloudcone.com/gfwlist +server=/youtube.at/127.0.0.1#5335 +ipset=/youtube.at/gfwlist +server=/gvt9.com/127.0.0.1#5335 +ipset=/gvt9.com/gfwlist +server=/gannett.com/127.0.0.1#5335 +ipset=/gannett.com/gfwlist +server=/gvt6.com/127.0.0.1#5335 +ipset=/gvt6.com/gfwlist +server=/beatsbydreus.com/127.0.0.1#5335 +ipset=/beatsbydreus.com/gfwlist +server=/binoculus.com/127.0.0.1#5335 +ipset=/binoculus.com/gfwlist +server=/pricelessaruba.com/127.0.0.1#5335 +ipset=/pricelessaruba.com/gfwlist +server=/momo5188.com/127.0.0.1#5335 +ipset=/momo5188.com/gfwlist +server=/scholar.google.co.id/127.0.0.1#5335 +ipset=/scholar.google.co.id/gfwlist +server=/gvt1.com/127.0.0.1#5335 +ipset=/gvt1.com/gfwlist +server=/gvt0.com/127.0.0.1#5335 +ipset=/gvt0.com/gfwlist +server=/veetcentroamerica.com/127.0.0.1#5335 +ipset=/veetcentroamerica.com/gfwlist +server=/bwh88.net/127.0.0.1#5335 +ipset=/bwh88.net/gfwlist +server=/gsuite.com/127.0.0.1#5335 +ipset=/gsuite.com/gfwlist +server=/gstatic.com/127.0.0.1#5335 +ipset=/gstatic.com/gfwlist +server=/ggsrv.com/127.0.0.1#5335 +ipset=/ggsrv.com/gfwlist +server=/bumpshare.com/127.0.0.1#5335 +ipset=/bumpshare.com/gfwlist +server=/visa.dk/127.0.0.1#5335 +ipset=/visa.dk/gfwlist +server=/aboutamazon.de/127.0.0.1#5335 +ipset=/aboutamazon.de/gfwlist +server=/szwinnertechnology.com/127.0.0.1#5335 +ipset=/szwinnertechnology.com/gfwlist +server=/gooogle.com/127.0.0.1#5335 +ipset=/gooogle.com/gfwlist +server=/sony.com.ar/127.0.0.1#5335 +ipset=/sony.com.ar/gfwlist +server=/googlr.com/127.0.0.1#5335 +ipset=/googlr.com/gfwlist +server=/pinterest.pt/127.0.0.1#5335 +ipset=/pinterest.pt/gfwlist +server=/scholarpedia.org/127.0.0.1#5335 +ipset=/scholarpedia.org/gfwlist +server=/capitalgames.com/127.0.0.1#5335 +ipset=/capitalgames.com/gfwlist +server=/nurofen.no/127.0.0.1#5335 +ipset=/nurofen.no/gfwlist +server=/googlesverige.com/127.0.0.1#5335 +ipset=/googlesverige.com/gfwlist +server=/googlesource.com/127.0.0.1#5335 +ipset=/googlesource.com/gfwlist +server=/visa.co.za/127.0.0.1#5335 +ipset=/visa.co.za/gfwlist +server=/finish.pt/127.0.0.1#5335 +ipset=/finish.pt/gfwlist +server=/amazonpay.com/127.0.0.1#5335 +ipset=/amazonpay.com/gfwlist +server=/googleplay.com/127.0.0.1#5335 +ipset=/googleplay.com/gfwlist +server=/futureshop.ca/127.0.0.1#5335 +ipset=/futureshop.ca/gfwlist +server=/googlephotos.com/127.0.0.1#5335 +ipset=/googlephotos.com/gfwlist +server=/googlepagecreator.com/127.0.0.1#5335 +ipset=/googlepagecreator.com/gfwlist +server=/srebrenica360.com/127.0.0.1#5335 +ipset=/srebrenica360.com/gfwlist +server=/googlemaps.com/127.0.0.1#5335 +ipset=/googlemaps.com/gfwlist +server=/visaluxuryhotels.com/127.0.0.1#5335 +ipset=/visaluxuryhotels.com/gfwlist +server=/yale.edu/127.0.0.1#5335 +ipset=/yale.edu/gfwlist +server=/googlefiber.net/127.0.0.1#5335 +ipset=/googlefiber.net/gfwlist +server=/hpsoftware.com/127.0.0.1#5335 +ipset=/hpsoftware.com/gfwlist +server=/ecoforme.jp/127.0.0.1#5335 +ipset=/ecoforme.jp/gfwlist +server=/minisothailand.com/127.0.0.1#5335 +ipset=/minisothailand.com/gfwlist +server=/applemusic.wang/127.0.0.1#5335 +ipset=/applemusic.wang/gfwlist +server=/w.wiki/127.0.0.1#5335 +ipset=/w.wiki/gfwlist +server=/localbitcoinschain.com/127.0.0.1#5335 +ipset=/localbitcoinschain.com/gfwlist +server=/macintosh.eu/127.0.0.1#5335 +ipset=/macintosh.eu/gfwlist +server=/microsoftsiteselection.com/127.0.0.1#5335 +ipset=/microsoftsiteselection.com/gfwlist +server=/googlebot.com/127.0.0.1#5335 +ipset=/googlebot.com/gfwlist +server=/newisiknowledge.com/127.0.0.1#5335 +ipset=/newisiknowledge.com/gfwlist +server=/edninfo.com/127.0.0.1#5335 +ipset=/edninfo.com/gfwlist +server=/vaginacontest.com/127.0.0.1#5335 +ipset=/vaginacontest.com/gfwlist +server=/intheknow.com.au/127.0.0.1#5335 +ipset=/intheknow.com.au/gfwlist +server=/etwealth.com/127.0.0.1#5335 +ipset=/etwealth.com/gfwlist +server=/facebookinc.com/127.0.0.1#5335 +ipset=/facebookinc.com/gfwlist +server=/beatsblackfridaydeals.net/127.0.0.1#5335 +ipset=/beatsblackfridaydeals.net/gfwlist +server=/pornhd.com/127.0.0.1#5335 +ipset=/pornhd.com/gfwlist +server=/strepsils.com.co/127.0.0.1#5335 +ipset=/strepsils.com.co/gfwlist +server=/google.net/127.0.0.1#5335 +ipset=/google.net/gfwlist +server=/google.dev/127.0.0.1#5335 +ipset=/google.dev/gfwlist +server=/youtubego.in/127.0.0.1#5335 +ipset=/youtubego.in/gfwlist +server=/vanish.no/127.0.0.1#5335 +ipset=/vanish.no/gfwlist +server=/google.co.bw/127.0.0.1#5335 +ipset=/google.co.bw/gfwlist +server=/faceboook.com/127.0.0.1#5335 +ipset=/faceboook.com/gfwlist +server=/goo.gl/127.0.0.1#5335 +ipset=/goo.gl/gfwlist +server=/microsoftreactor.net/127.0.0.1#5335 +ipset=/microsoftreactor.net/gfwlist +server=/gonglchuangl.net/127.0.0.1#5335 +ipset=/gonglchuangl.net/gfwlist +server=/gogle.com/127.0.0.1#5335 +ipset=/gogle.com/gfwlist +server=/gmodules.com/127.0.0.1#5335 +ipset=/gmodules.com/gfwlist +server=/gmail.com/127.0.0.1#5335 +ipset=/gmail.com/gfwlist +server=/volvosaatio.fi/127.0.0.1#5335 +ipset=/volvosaatio.fi/gfwlist +server=/dettol.co.ke/127.0.0.1#5335 +ipset=/dettol.co.ke/gfwlist +server=/umagazine.com.hk/127.0.0.1#5335 +ipset=/umagazine.com.hk/gfwlist +server=/gipscorp.com/127.0.0.1#5335 +ipset=/gipscorp.com/gfwlist +server=/volvotrucks.co.il/127.0.0.1#5335 +ipset=/volvotrucks.co.il/gfwlist +server=/directvdsl.tv/127.0.0.1#5335 +ipset=/directvdsl.tv/gfwlist +server=/getbumptop.com/127.0.0.1#5335 +ipset=/getbumptop.com/gfwlist +server=/gerritcodereview.com/127.0.0.1#5335 +ipset=/gerritcodereview.com/gfwlist +server=/gcr.io/127.0.0.1#5335 +ipset=/gcr.io/gfwlist +server=/gateway.dev/127.0.0.1#5335 +ipset=/gateway.dev/gfwlist +server=/thomsonreuters.co.uk/127.0.0.1#5335 +ipset=/thomsonreuters.co.uk/gfwlist +server=/google.co.cr/127.0.0.1#5335 +ipset=/google.co.cr/gfwlist +server=/g-tun.com/127.0.0.1#5335 +ipset=/g-tun.com/gfwlist +server=/ghcr.io/127.0.0.1#5335 +ipset=/ghcr.io/gfwlist +server=/fuchsia.dev/127.0.0.1#5335 +ipset=/fuchsia.dev/gfwlist +server=/entermediadb.org/127.0.0.1#5335 +ipset=/entermediadb.org/gfwlist +server=/gettyimages.nl/127.0.0.1#5335 +ipset=/gettyimages.nl/gfwlist +server=/shadowsocks.org/127.0.0.1#5335 +ipset=/shadowsocks.org/gfwlist +server=/pieceofplastic.com/127.0.0.1#5335 +ipset=/pieceofplastic.com/gfwlist +server=/deepmind.com/127.0.0.1#5335 +ipset=/deepmind.com/gfwlist +server=/rakuten.ne.jp/127.0.0.1#5335 +ipset=/rakuten.ne.jp/gfwlist +server=/beatsbydrdre-officials5.com/127.0.0.1#5335 +ipset=/beatsbydrdre-officials5.com/gfwlist +server=/dombosco.com.br/127.0.0.1#5335 +ipset=/dombosco.com.br/gfwlist +server=/foofle.com/127.0.0.1#5335 +ipset=/foofle.com/gfwlist +server=/iamakamai.com/127.0.0.1#5335 +ipset=/iamakamai.com/gfwlist +server=/directvonline.com/127.0.0.1#5335 +ipset=/directvonline.com/gfwlist +server=/firebaseapp.com/127.0.0.1#5335 +ipset=/firebaseapp.com/gfwlist +server=/amazon-lantern.com/127.0.0.1#5335 +ipset=/amazon-lantern.com/gfwlist +server=/visa.de/127.0.0.1#5335 +ipset=/visa.de/gfwlist +server=/redditmail.com/127.0.0.1#5335 +ipset=/redditmail.com/gfwlist +server=/episodic.com/127.0.0.1#5335 +ipset=/episodic.com/gfwlist +server=/nikechosen.com/127.0.0.1#5335 +ipset=/nikechosen.com/gfwlist +server=/dialogflow.com/127.0.0.1#5335 +ipset=/dialogflow.com/gfwlist +server=/corporatecashpassport.com/127.0.0.1#5335 +ipset=/corporatecashpassport.com/gfwlist +server=/devsitetest.how/127.0.0.1#5335 +ipset=/devsitetest.how/gfwlist +server=/blogspot.co.ke/127.0.0.1#5335 +ipset=/blogspot.co.ke/gfwlist +server=/vcanedge.com/127.0.0.1#5335 +ipset=/vcanedge.com/gfwlist +server=/linemobile.com/127.0.0.1#5335 +ipset=/linemobile.com/gfwlist +server=/dataliberation.org/127.0.0.1#5335 +ipset=/dataliberation.org/gfwlist +server=/dartsearch.net/127.0.0.1#5335 +ipset=/dartsearch.net/gfwlist +server=/crr.com/127.0.0.1#5335 +ipset=/crr.com/gfwlist +server=/dotmac.de/127.0.0.1#5335 +ipset=/dotmac.de/gfwlist +server=/coova.org/127.0.0.1#5335 +ipset=/coova.org/gfwlist +server=/media.prod.mdn.mozit.cloud/127.0.0.1#5335 +ipset=/media.prod.mdn.mozit.cloud/gfwlist +server=/coova.com/127.0.0.1#5335 +ipset=/coova.com/gfwlist +server=/sciencedirect.com/127.0.0.1#5335 +ipset=/sciencedirect.com/gfwlist +server=/azure-test.net/127.0.0.1#5335 +ipset=/azure-test.net/gfwlist +server=/oculusrift.com/127.0.0.1#5335 +ipset=/oculusrift.com/gfwlist +server=/codespot.com/127.0.0.1#5335 +ipset=/codespot.com/gfwlist +server=/cobrasearch.com/127.0.0.1#5335 +ipset=/cobrasearch.com/gfwlist +server=/bestbuyus.com/127.0.0.1#5335 +ipset=/bestbuyus.com/gfwlist +server=/chronicle.security/127.0.0.1#5335 +ipset=/chronicle.security/gfwlist +server=/4beatsbydre.com/127.0.0.1#5335 +ipset=/4beatsbydre.com/gfwlist +server=/chromecast.com/127.0.0.1#5335 +ipset=/chromecast.com/gfwlist +server=/caijinglengyan.com/127.0.0.1#5335 +ipset=/caijinglengyan.com/gfwlist +server=/cheapbeatsbydrestudioutlet.com/127.0.0.1#5335 +ipset=/cheapbeatsbydrestudioutlet.com/gfwlist +server=/softbankmobile.net/127.0.0.1#5335 +ipset=/softbankmobile.net/gfwlist +server=/bloombergapps.com/127.0.0.1#5335 +ipset=/bloombergapps.com/gfwlist +server=/t21.nikkei.co.jp/127.0.0.1#5335 +ipset=/t21.nikkei.co.jp/gfwlist +server=/buyaple.com/127.0.0.1#5335 +ipset=/buyaple.com/gfwlist +server=/12diasdepresentesdeitunes.com/127.0.0.1#5335 +ipset=/12diasdepresentesdeitunes.com/gfwlist +server=/bumptunes.com/127.0.0.1#5335 +ipset=/bumptunes.com/gfwlist +server=/bumptop.com/127.0.0.1#5335 +ipset=/bumptop.com/gfwlist +server=/sing68.com/127.0.0.1#5335 +ipset=/sing68.com/gfwlist +server=/bmwcenternet.com/127.0.0.1#5335 +ipset=/bmwcenternet.com/gfwlist +server=/amazondevicesupport.com/127.0.0.1#5335 +ipset=/amazondevicesupport.com/gfwlist +server=/bumptop.ca/127.0.0.1#5335 +ipset=/bumptop.ca/gfwlist +server=/fanatical.com/127.0.0.1#5335 +ipset=/fanatical.com/gfwlist +server=/bmw-mdrivetour.com/127.0.0.1#5335 +ipset=/bmw-mdrivetour.com/gfwlist +server=/blogblog.com/127.0.0.1#5335 +ipset=/blogblog.com/gfwlist +server=/billpoint.tv/127.0.0.1#5335 +ipset=/billpoint.tv/gfwlist +server=/stateofthemap.com/127.0.0.1#5335 +ipset=/stateofthemap.com/gfwlist +server=/google.ch/127.0.0.1#5335 +ipset=/google.ch/gfwlist +server=/appl-e.com/127.0.0.1#5335 +ipset=/appl-e.com/gfwlist +server=/thomsonreuters.in/127.0.0.1#5335 +ipset=/thomsonreuters.in/gfwlist +server=/visa.co.ni/127.0.0.1#5335 +ipset=/visa.co.ni/gfwlist +server=/ibooksauthor.com/127.0.0.1#5335 +ipset=/ibooksauthor.com/gfwlist +server=/baselinestudy.org/127.0.0.1#5335 +ipset=/baselinestudy.org/gfwlist +server=/bandpage.com/127.0.0.1#5335 +ipset=/bandpage.com/gfwlist +server=/gumtree.sg/127.0.0.1#5335 +ipset=/gumtree.sg/gfwlist +server=/paypal-comunidad.com/127.0.0.1#5335 +ipset=/paypal-comunidad.com/gfwlist +server=/appleoriginalproductions.com/127.0.0.1#5335 +ipset=/appleoriginalproductions.com/gfwlist +server=/apture.com/127.0.0.1#5335 +ipset=/apture.com/gfwlist +server=/carcare-and-tireshop.jp/127.0.0.1#5335 +ipset=/carcare-and-tireshop.jp/gfwlist +server=/appbridge.it/127.0.0.1#5335 +ipset=/appbridge.it/gfwlist +server=/appbridge.io/127.0.0.1#5335 +ipset=/appbridge.io/gfwlist +server=/firestonecomercial.co.cr/127.0.0.1#5335 +ipset=/firestonecomercial.co.cr/gfwlist +server=/custombeatsny.com/127.0.0.1#5335 +ipset=/custombeatsny.com/gfwlist +server=/api.ai/127.0.0.1#5335 +ipset=/api.ai/gfwlist +server=/yande.re/127.0.0.1#5335 +ipset=/yande.re/gfwlist +server=/angulardart.org/127.0.0.1#5335 +ipset=/angulardart.org/gfwlist +server=/visaitalia.com/127.0.0.1#5335 +ipset=/visaitalia.com/gfwlist +server=/adgoogle.net/127.0.0.1#5335 +ipset=/adgoogle.net/gfwlist +server=/abc.xyz/127.0.0.1#5335 +ipset=/abc.xyz/gfwlist +server=/verisign.de/127.0.0.1#5335 +ipset=/verisign.de/gfwlist +server=/yahoo.ps/127.0.0.1#5335 +ipset=/yahoo.ps/gfwlist +server=/monstercasquebeatspascher.net/127.0.0.1#5335 +ipset=/monstercasquebeatspascher.net/gfwlist +server=/dlercloud.org/127.0.0.1#5335 +ipset=/dlercloud.org/gfwlist +server=/akamai-staging.net/127.0.0.1#5335 +ipset=/akamai-staging.net/gfwlist +server=/google.ws/127.0.0.1#5335 +ipset=/google.ws/gfwlist +server=/microsoftiotcentral.com/127.0.0.1#5335 +ipset=/microsoftiotcentral.com/gfwlist +server=/google.to/127.0.0.1#5335 +ipset=/google.to/gfwlist +server=/flutterapp.com/127.0.0.1#5335 +ipset=/flutterapp.com/gfwlist +server=/google.sr/127.0.0.1#5335 +ipset=/google.sr/gfwlist +server=/google.so/127.0.0.1#5335 +ipset=/google.so/gfwlist +server=/google.sk/127.0.0.1#5335 +ipset=/google.sk/gfwlist +server=/facebook30.com/127.0.0.1#5335 +ipset=/facebook30.com/gfwlist +server=/google.si/127.0.0.1#5335 +ipset=/google.si/gfwlist +server=/theman.in/127.0.0.1#5335 +ipset=/theman.in/gfwlist +server=/google.sh/127.0.0.1#5335 +ipset=/google.sh/gfwlist +server=/google.se/127.0.0.1#5335 +ipset=/google.se/gfwlist +server=/my20dc.com/127.0.0.1#5335 +ipset=/my20dc.com/gfwlist +server=/itunes.com/127.0.0.1#5335 +ipset=/itunes.com/gfwlist +server=/google.pt/127.0.0.1#5335 +ipset=/google.pt/gfwlist +server=/visa.com.hn/127.0.0.1#5335 +ipset=/visa.com.hn/gfwlist +server=/google.ps/127.0.0.1#5335 +ipset=/google.ps/gfwlist +server=/google.nl/127.0.0.1#5335 +ipset=/google.nl/gfwlist +server=/drdre-beats.com/127.0.0.1#5335 +ipset=/drdre-beats.com/gfwlist +server=/alchemysynth.com/127.0.0.1#5335 +ipset=/alchemysynth.com/gfwlist +server=/klik.me/127.0.0.1#5335 +ipset=/klik.me/gfwlist +server=/google.mv/127.0.0.1#5335 +ipset=/google.mv/gfwlist +server=/fireside.fm/127.0.0.1#5335 +ipset=/fireside.fm/gfwlist +server=/beatsbydre-club.com/127.0.0.1#5335 +ipset=/beatsbydre-club.com/gfwlist +server=/cisconetapp.com/127.0.0.1#5335 +ipset=/cisconetapp.com/gfwlist +server=/google.mn/127.0.0.1#5335 +ipset=/google.mn/gfwlist +server=/google.ml/127.0.0.1#5335 +ipset=/google.ml/gfwlist +server=/google.mg/127.0.0.1#5335 +ipset=/google.mg/gfwlist +server=/nextmedia.com.tw/127.0.0.1#5335 +ipset=/nextmedia.com.tw/gfwlist +server=/cpan.org/127.0.0.1#5335 +ipset=/cpan.org/gfwlist +server=/foxest.com/127.0.0.1#5335 +ipset=/foxest.com/gfwlist +server=/apple.no/127.0.0.1#5335 +ipset=/apple.no/gfwlist +server=/bollywoodlife.com/127.0.0.1#5335 +ipset=/bollywoodlife.com/gfwlist +server=/verilylifesciences.com/127.0.0.1#5335 +ipset=/verilylifesciences.com/gfwlist +server=/google.lt/127.0.0.1#5335 +ipset=/google.lt/gfwlist +server=/nikebetterworld.info/127.0.0.1#5335 +ipset=/nikebetterworld.info/gfwlist +server=/bookmybridgestonetyre.com/127.0.0.1#5335 +ipset=/bookmybridgestonetyre.com/gfwlist +server=/google.kz/127.0.0.1#5335 +ipset=/google.kz/gfwlist +server=/google.ki/127.0.0.1#5335 +ipset=/google.ki/gfwlist +server=/duckduckgo.pl/127.0.0.1#5335 +ipset=/duckduckgo.pl/gfwlist +server=/drdrebeatsdesale.com/127.0.0.1#5335 +ipset=/drdrebeatsdesale.com/gfwlist +server=/monsterbeatssales.com/127.0.0.1#5335 +ipset=/monsterbeatssales.com/gfwlist +server=/google.jo/127.0.0.1#5335 +ipset=/google.jo/gfwlist +server=/google.is/127.0.0.1#5335 +ipset=/google.is/gfwlist +server=/niketraining.com/127.0.0.1#5335 +ipset=/niketraining.com/gfwlist +server=/ebay.co.za/127.0.0.1#5335 +ipset=/ebay.co.za/gfwlist +server=/minilaval.ca/127.0.0.1#5335 +ipset=/minilaval.ca/gfwlist +server=/besthentaitube.com/127.0.0.1#5335 +ipset=/besthentaitube.com/gfwlist +server=/historyofdota.org/127.0.0.1#5335 +ipset=/historyofdota.org/gfwlist +server=/scholar.google.cz/127.0.0.1#5335 +ipset=/scholar.google.cz/gfwlist +server=/google.iq/127.0.0.1#5335 +ipset=/google.iq/gfwlist +server=/nikefoampositeshoes.com/127.0.0.1#5335 +ipset=/nikefoampositeshoes.com/gfwlist +server=/dvdstudiopro.us/127.0.0.1#5335 +ipset=/dvdstudiopro.us/gfwlist +server=/google.im/127.0.0.1#5335 +ipset=/google.im/gfwlist +server=/google.ie/127.0.0.1#5335 +ipset=/google.ie/gfwlist +server=/google.hu/127.0.0.1#5335 +ipset=/google.hu/gfwlist +server=/minisojordan.com/127.0.0.1#5335 +ipset=/minisojordan.com/gfwlist +server=/nikeshoesgroup.com/127.0.0.1#5335 +ipset=/nikeshoesgroup.com/gfwlist +server=/pocketbiketrader.com/127.0.0.1#5335 +ipset=/pocketbiketrader.com/gfwlist +server=/google.hr/127.0.0.1#5335 +ipset=/google.hr/gfwlist +server=/pinterest.ca/127.0.0.1#5335 +ipset=/pinterest.ca/gfwlist +server=/akamqi.com/127.0.0.1#5335 +ipset=/akamqi.com/gfwlist +server=/google.gl/127.0.0.1#5335 +ipset=/google.gl/gfwlist +server=/f8.com/127.0.0.1#5335 +ipset=/f8.com/gfwlist +server=/verisign.com/127.0.0.1#5335 +ipset=/verisign.com/gfwlist +server=/ebayla.org/127.0.0.1#5335 +ipset=/ebayla.org/gfwlist +server=/google.gg/127.0.0.1#5335 +ipset=/google.gg/gfwlist +server=/ntdtv.jp/127.0.0.1#5335 +ipset=/ntdtv.jp/gfwlist +server=/google.ge/127.0.0.1#5335 +ipset=/google.ge/gfwlist +server=/foxandfriends.com/127.0.0.1#5335 +ipset=/foxandfriends.com/gfwlist +server=/beatsbydre-sell.com/127.0.0.1#5335 +ipset=/beatsbydre-sell.com/gfwlist +server=/fotolia-noticias.com/127.0.0.1#5335 +ipset=/fotolia-noticias.com/gfwlist +server=/google.es/127.0.0.1#5335 +ipset=/google.es/gfwlist +server=/google.ee/127.0.0.1#5335 +ipset=/google.ee/gfwlist +server=/google.dz/127.0.0.1#5335 +ipset=/google.dz/gfwlist +server=/nytco.com/127.0.0.1#5335 +ipset=/nytco.com/gfwlist +server=/z5.com/127.0.0.1#5335 +ipset=/z5.com/gfwlist +server=/francecasquebeatssolde.com/127.0.0.1#5335 +ipset=/francecasquebeatssolde.com/gfwlist +server=/visa.co.ve/127.0.0.1#5335 +ipset=/visa.co.ve/gfwlist +server=/bcovlive-a.akamaihd.net/127.0.0.1#5335 +ipset=/bcovlive-a.akamaihd.net/gfwlist +server=/google.dj/127.0.0.1#5335 +ipset=/google.dj/gfwlist +server=/google.com.vc/127.0.0.1#5335 +ipset=/google.com.vc/gfwlist +server=/ciscoinvestments.com/127.0.0.1#5335 +ipset=/ciscoinvestments.com/gfwlist +server=/cnnpolitics.com/127.0.0.1#5335 +ipset=/cnnpolitics.com/gfwlist +server=/google.com.tr/127.0.0.1#5335 +ipset=/google.com.tr/gfwlist +server=/cowboom.com/127.0.0.1#5335 +ipset=/cowboom.com/gfwlist +server=/google.com.na/127.0.0.1#5335 +ipset=/google.com.na/gfwlist +server=/iphone.pt/127.0.0.1#5335 +ipset=/iphone.pt/gfwlist +server=/nytchina.com/127.0.0.1#5335 +ipset=/nytchina.com/gfwlist +server=/egghead.io/127.0.0.1#5335 +ipset=/egghead.io/gfwlist +server=/edx.org/127.0.0.1#5335 +ipset=/edx.org/gfwlist +server=/google.com.qa/127.0.0.1#5335 +ipset=/google.com.qa/gfwlist +server=/regiongold.com/127.0.0.1#5335 +ipset=/regiongold.com/gfwlist +server=/google.com.pr/127.0.0.1#5335 +ipset=/google.com.pr/gfwlist +server=/google.com.pk/127.0.0.1#5335 +ipset=/google.com.pk/gfwlist +server=/greatfire.org/127.0.0.1#5335 +ipset=/greatfire.org/gfwlist +server=/free-sns.com/127.0.0.1#5335 +ipset=/free-sns.com/gfwlist +server=/google.com.ph/127.0.0.1#5335 +ipset=/google.com.ph/gfwlist +server=/githubusercontent.com/127.0.0.1#5335 +ipset=/githubusercontent.com/gfwlist +server=/google.com.pg/127.0.0.1#5335 +ipset=/google.com.pg/gfwlist +server=/books.com.tw/127.0.0.1#5335 +ipset=/books.com.tw/gfwlist +server=/bmwworld.net/127.0.0.1#5335 +ipset=/bmwworld.net/gfwlist +server=/cloudflare.com/127.0.0.1#5335 +ipset=/cloudflare.com/gfwlist +server=/google.com.pe/127.0.0.1#5335 +ipset=/google.com.pe/gfwlist +server=/google.com.pa/127.0.0.1#5335 +ipset=/google.com.pa/gfwlist +server=/google.com.ng/127.0.0.1#5335 +ipset=/google.com.ng/gfwlist +server=/visa.com.hr/127.0.0.1#5335 +ipset=/visa.com.hr/gfwlist +server=/facebooktv.org/127.0.0.1#5335 +ipset=/facebooktv.org/gfwlist +server=/google.com.mm/127.0.0.1#5335 +ipset=/google.com.mm/gfwlist +server=/securepaypal.info/127.0.0.1#5335 +ipset=/securepaypal.info/gfwlist +server=/google.com.lb/127.0.0.1#5335 +ipset=/google.com.lb/gfwlist +server=/facebookvacation.com/127.0.0.1#5335 +ipset=/facebookvacation.com/gfwlist +server=/mastercard.pl/127.0.0.1#5335 +ipset=/mastercard.pl/gfwlist +server=/google.com.jm/127.0.0.1#5335 +ipset=/google.com.jm/gfwlist +server=/facebookdevelopergarage.com/127.0.0.1#5335 +ipset=/facebookdevelopergarage.com/gfwlist +server=/scholar.google.it/127.0.0.1#5335 +ipset=/scholar.google.it/gfwlist +server=/google.com.gi/127.0.0.1#5335 +ipset=/google.com.gi/gfwlist +server=/google.com.fj/127.0.0.1#5335 +ipset=/google.com.fj/gfwlist +server=/google.com.et/127.0.0.1#5335 +ipset=/google.com.et/gfwlist +server=/careerfundas.com/127.0.0.1#5335 +ipset=/careerfundas.com/gfwlist +server=/google.com.ec/127.0.0.1#5335 +ipset=/google.com.ec/gfwlist +server=/douwriteright.com/127.0.0.1#5335 +ipset=/douwriteright.com/gfwlist +server=/google.com.do/127.0.0.1#5335 +ipset=/google.com.do/gfwlist +server=/beatthatquote.com/127.0.0.1#5335 +ipset=/beatthatquote.com/gfwlist +server=/foxnewshealth.com/127.0.0.1#5335 +ipset=/foxnewshealth.com/gfwlist +server=/google.com.co/127.0.0.1#5335 +ipset=/google.com.co/gfwlist +server=/ikea.net/127.0.0.1#5335 +ipset=/ikea.net/gfwlist +server=/mdialog.com/127.0.0.1#5335 +ipset=/mdialog.com/gfwlist +server=/google.com.bn/127.0.0.1#5335 +ipset=/google.com.bn/gfwlist +server=/images-amazon.com/127.0.0.1#5335 +ipset=/images-amazon.com/gfwlist +server=/fosebook.com/127.0.0.1#5335 +ipset=/fosebook.com/gfwlist +server=/psiphon3.com/127.0.0.1#5335 +ipset=/psiphon3.com/gfwlist +server=/google.com.ai/127.0.0.1#5335 +ipset=/google.com.ai/gfwlist +server=/google.com.ag/127.0.0.1#5335 +ipset=/google.com.ag/gfwlist +server=/engineeringvillage.com/127.0.0.1#5335 +ipset=/engineeringvillage.com/gfwlist +server=/mini.co.me/127.0.0.1#5335 +ipset=/mini.co.me/gfwlist +server=/worldsfastestgamer.net/127.0.0.1#5335 +ipset=/worldsfastestgamer.net/gfwlist +server=/google.co.zw/127.0.0.1#5335 +ipset=/google.co.zw/gfwlist +server=/google.co.zm/127.0.0.1#5335 +ipset=/google.co.zm/gfwlist +server=/google.co.za/127.0.0.1#5335 +ipset=/google.co.za/gfwlist +server=/google.co.vi/127.0.0.1#5335 +ipset=/google.co.vi/gfwlist +server=/google.co.ve/127.0.0.1#5335 +ipset=/google.co.ve/gfwlist +server=/beatssaleus.com/127.0.0.1#5335 +ipset=/beatssaleus.com/gfwlist +server=/google.co.ug/127.0.0.1#5335 +ipset=/google.co.ug/gfwlist +server=/geodesummit.com/127.0.0.1#5335 +ipset=/geodesummit.com/gfwlist +server=/google.co.th/127.0.0.1#5335 +ipset=/google.co.th/gfwlist +server=/jable.tv/127.0.0.1#5335 +ipset=/jable.tv/gfwlist +server=/google.co.nz/127.0.0.1#5335 +ipset=/google.co.nz/gfwlist +server=/google.co.mz/127.0.0.1#5335 +ipset=/google.co.mz/gfwlist +server=/netflixdnstest1.com/127.0.0.1#5335 +ipset=/netflixdnstest1.com/gfwlist +server=/bingworld.com/127.0.0.1#5335 +ipset=/bingworld.com/gfwlist +server=/nypost.com/127.0.0.1#5335 +ipset=/nypost.com/gfwlist +server=/pokemonletsgopikachu.com/127.0.0.1#5335 +ipset=/pokemonletsgopikachu.com/gfwlist +server=/google.co.ls/127.0.0.1#5335 +ipset=/google.co.ls/gfwlist +server=/google.co.kr/127.0.0.1#5335 +ipset=/google.co.kr/gfwlist +server=/instagmania.com/127.0.0.1#5335 +ipset=/instagmania.com/gfwlist +server=/google.co.ke/127.0.0.1#5335 +ipset=/google.co.ke/gfwlist +server=/google.co.in/127.0.0.1#5335 +ipset=/google.co.in/gfwlist +server=/airav.cc/127.0.0.1#5335 +ipset=/airav.cc/gfwlist +server=/stlouisbmw.net/127.0.0.1#5335 +ipset=/stlouisbmw.net/gfwlist +server=/g.page/127.0.0.1#5335 +ipset=/g.page/gfwlist +server=/barrons-advisor.com/127.0.0.1#5335 +ipset=/barrons-advisor.com/gfwlist +server=/asproex.com/127.0.0.1#5335 +ipset=/asproex.com/gfwlist +server=/bluefootcms.com/127.0.0.1#5335 +ipset=/bluefootcms.com/gfwlist +server=/javhdfree.net/127.0.0.1#5335 +ipset=/javhdfree.net/gfwlist +server=/loli.net/127.0.0.1#5335 +ipset=/loli.net/gfwlist +server=/google.cm/127.0.0.1#5335 +ipset=/google.cm/gfwlist +server=/google.ci/127.0.0.1#5335 +ipset=/google.ci/gfwlist +server=/volvotrucks.com.co/127.0.0.1#5335 +ipset=/volvotrucks.com.co/gfwlist +server=/dierectv.com/127.0.0.1#5335 +ipset=/dierectv.com/gfwlist +server=/google.com.cy/127.0.0.1#5335 +ipset=/google.com.cy/gfwlist +server=/google.cd/127.0.0.1#5335 +ipset=/google.cd/gfwlist +server=/google.bt/127.0.0.1#5335 +ipset=/google.bt/gfwlist +server=/womensnikeshox.com/127.0.0.1#5335 +ipset=/womensnikeshox.com/gfwlist +server=/google.bs/127.0.0.1#5335 +ipset=/google.bs/gfwlist +server=/beatsbydre-outletstore.com/127.0.0.1#5335 +ipset=/beatsbydre-outletstore.com/gfwlist +server=/bmw-connecteddrive.co.uk/127.0.0.1#5335 +ipset=/bmw-connecteddrive.co.uk/gfwlist +server=/tvbanywhere.com/127.0.0.1#5335 +ipset=/tvbanywhere.com/gfwlist +server=/google.bj/127.0.0.1#5335 +ipset=/google.bj/gfwlist +server=/google.bi/127.0.0.1#5335 +ipset=/google.bi/gfwlist +server=/pashtovoa.com/127.0.0.1#5335 +ipset=/pashtovoa.com/gfwlist +server=/google.bg/127.0.0.1#5335 +ipset=/google.bg/gfwlist +server=/google.bf/127.0.0.1#5335 +ipset=/google.bf/gfwlist +server=/google.ba/127.0.0.1#5335 +ipset=/google.ba/gfwlist +server=/google.am/127.0.0.1#5335 +ipset=/google.am/gfwlist +server=/swisssigner.com/127.0.0.1#5335 +ipset=/swisssigner.com/gfwlist +server=/google.al/127.0.0.1#5335 +ipset=/google.al/gfwlist +server=/applepremiumreseller.com.au/127.0.0.1#5335 +ipset=/applepremiumreseller.com.au/gfwlist +server=/ibook.eu/127.0.0.1#5335 +ipset=/ibook.eu/gfwlist +server=/uux68.com/127.0.0.1#5335 +ipset=/uux68.com/gfwlist +server=/google.ad/127.0.0.1#5335 +ipset=/google.ad/gfwlist +server=/blizzak-juken.jp/127.0.0.1#5335 +ipset=/blizzak-juken.jp/gfwlist +server=/youtubekids.com/127.0.0.1#5335 +ipset=/youtubekids.com/gfwlist +server=/youtubei.googleapis.com/127.0.0.1#5335 +ipset=/youtubei.googleapis.com/gfwlist +server=/beats-bydreoutletssale.net/127.0.0.1#5335 +ipset=/beats-bydreoutletssale.net/gfwlist +server=/texttobuy.org/127.0.0.1#5335 +ipset=/texttobuy.org/gfwlist +server=/vaultify.info/127.0.0.1#5335 +ipset=/vaultify.info/gfwlist +server=/appstore.co.id/127.0.0.1#5335 +ipset=/appstore.co.id/gfwlist +server=/ieee-region6.org/127.0.0.1#5335 +ipset=/ieee-region6.org/gfwlist +server=/youtubego.com/127.0.0.1#5335 +ipset=/youtubego.com/gfwlist +server=/zee5.com/127.0.0.1#5335 +ipset=/zee5.com/gfwlist +server=/japanknowledge.com/127.0.0.1#5335 +ipset=/japanknowledge.com/gfwlist +server=/wiisportsresort.com/127.0.0.1#5335 +ipset=/wiisportsresort.com/gfwlist +server=/freebs.com/127.0.0.1#5335 +ipset=/freebs.com/gfwlist +server=/binancezh.com/127.0.0.1#5335 +ipset=/binancezh.com/gfwlist +server=/youtubegaming.com/127.0.0.1#5335 +ipset=/youtubegaming.com/gfwlist +server=/riotpin.com/127.0.0.1#5335 +ipset=/riotpin.com/gfwlist +server=/youtubeeducation.com/127.0.0.1#5335 +ipset=/youtubeeducation.com/gfwlist +server=/facebooik.org/127.0.0.1#5335 +ipset=/facebooik.org/gfwlist +server=/youtube.ug/127.0.0.1#5335 +ipset=/youtube.ug/gfwlist +server=/adobetcstrialdvd.com/127.0.0.1#5335 +ipset=/adobetcstrialdvd.com/gfwlist +server=/leagueoflegends.org/127.0.0.1#5335 +ipset=/leagueoflegends.org/gfwlist +server=/monsterbeats8beatsbydre.com/127.0.0.1#5335 +ipset=/monsterbeats8beatsbydre.com/gfwlist +server=/paypal-login.info/127.0.0.1#5335 +ipset=/paypal-login.info/gfwlist +server=/youtube.tn/127.0.0.1#5335 +ipset=/youtube.tn/gfwlist +server=/findercdn.me/127.0.0.1#5335 +ipset=/findercdn.me/gfwlist +server=/computer.org/127.0.0.1#5335 +ipset=/computer.org/gfwlist +server=/iphone.host/127.0.0.1#5335 +ipset=/iphone.host/gfwlist +server=/visaeurope.ch/127.0.0.1#5335 +ipset=/visaeurope.ch/gfwlist +server=/foxnews.cc/127.0.0.1#5335 +ipset=/foxnews.cc/gfwlist +server=/youtube.co/127.0.0.1#5335 +ipset=/youtube.co/gfwlist +server=/youtube.sn/127.0.0.1#5335 +ipset=/youtube.sn/gfwlist +server=/beatsbydrdre-onsale.com/127.0.0.1#5335 +ipset=/beatsbydrdre-onsale.com/gfwlist +server=/youtube.sk/127.0.0.1#5335 +ipset=/youtube.sk/gfwlist +server=/blogspot.com.ar/127.0.0.1#5335 +ipset=/blogspot.com.ar/gfwlist +server=/dropboxforum.com/127.0.0.1#5335 +ipset=/dropboxforum.com/gfwlist +server=/forbes.com/127.0.0.1#5335 +ipset=/forbes.com/gfwlist +server=/debugproject.com/127.0.0.1#5335 +ipset=/debugproject.com/gfwlist +server=/globalsign.eu/127.0.0.1#5335 +ipset=/globalsign.eu/gfwlist +server=/youtube.pr/127.0.0.1#5335 +ipset=/youtube.pr/gfwlist +server=/youtube.pl/127.0.0.1#5335 +ipset=/youtube.pl/gfwlist +server=/swissstick.com/127.0.0.1#5335 +ipset=/swissstick.com/gfwlist +server=/volvotruckcenter.fi/127.0.0.1#5335 +ipset=/volvotruckcenter.fi/gfwlist +server=/youtube.ph/127.0.0.1#5335 +ipset=/youtube.ph/gfwlist +server=/youtube.nl/127.0.0.1#5335 +ipset=/youtube.nl/gfwlist +server=/youtube.ma/127.0.0.1#5335 +ipset=/youtube.ma/gfwlist +server=/youtube.lv/127.0.0.1#5335 +ipset=/youtube.lv/gfwlist +server=/youtube.lk/127.0.0.1#5335 +ipset=/youtube.lk/gfwlist +server=/pearsoneducationbooks.com/127.0.0.1#5335 +ipset=/pearsoneducationbooks.com/gfwlist +server=/youtube.la/127.0.0.1#5335 +ipset=/youtube.la/gfwlist +server=/mini.com.br/127.0.0.1#5335 +ipset=/mini.com.br/gfwlist +server=/applestor.com/127.0.0.1#5335 +ipset=/applestor.com/gfwlist +server=/google.com.bh/127.0.0.1#5335 +ipset=/google.com.bh/gfwlist +server=/buyshoponly.com/127.0.0.1#5335 +ipset=/buyshoponly.com/gfwlist +server=/dcard.tw/127.0.0.1#5335 +ipset=/dcard.tw/gfwlist +server=/blogspot.co.za/127.0.0.1#5335 +ipset=/blogspot.co.za/gfwlist +server=/battlefield5.com/127.0.0.1#5335 +ipset=/battlefield5.com/gfwlist +server=/youtube.kr/127.0.0.1#5335 +ipset=/youtube.kr/gfwlist +server=/youtube.soy/127.0.0.1#5335 +ipset=/youtube.soy/gfwlist +server=/youtube.ie/127.0.0.1#5335 +ipset=/youtube.ie/gfwlist +server=/tokyomotion.net/127.0.0.1#5335 +ipset=/tokyomotion.net/gfwlist +server=/akafms.net/127.0.0.1#5335 +ipset=/akafms.net/gfwlist +server=/youtube.gr/127.0.0.1#5335 +ipset=/youtube.gr/gfwlist +server=/youtube.ge/127.0.0.1#5335 +ipset=/youtube.ge/gfwlist +server=/ikea.com/127.0.0.1#5335 +ipset=/ikea.com/gfwlist +server=/youtube.fi/127.0.0.1#5335 +ipset=/youtube.fi/gfwlist +server=/canon.pl/127.0.0.1#5335 +ipset=/canon.pl/gfwlist +server=/itsoc.org/127.0.0.1#5335 +ipset=/itsoc.org/gfwlist +server=/kijjiji.ca/127.0.0.1#5335 +ipset=/kijjiji.ca/gfwlist +server=/repswing.com/127.0.0.1#5335 +ipset=/repswing.com/gfwlist +server=/craigslist.org/127.0.0.1#5335 +ipset=/craigslist.org/gfwlist +server=/sahabatsetiasmartone.com/127.0.0.1#5335 +ipset=/sahabatsetiasmartone.com/gfwlist +server=/applepay.com.tw/127.0.0.1#5335 +ipset=/applepay.com.tw/gfwlist +server=/youtube.dk/127.0.0.1#5335 +ipset=/youtube.dk/gfwlist +server=/youtube.de/127.0.0.1#5335 +ipset=/youtube.de/gfwlist +server=/brilliant.org/127.0.0.1#5335 +ipset=/brilliant.org/gfwlist +server=/facebook-texas-holdem.net/127.0.0.1#5335 +ipset=/facebook-texas-holdem.net/gfwlist +server=/youtube.cr/127.0.0.1#5335 +ipset=/youtube.cr/gfwlist +server=/youtube.com.tw/127.0.0.1#5335 +ipset=/youtube.com.tw/gfwlist +server=/youtube.com.tr/127.0.0.1#5335 +ipset=/youtube.com.tr/gfwlist +server=/samsungdm.com/127.0.0.1#5335 +ipset=/samsungdm.com/gfwlist +server=/visa.com.ec/127.0.0.1#5335 +ipset=/visa.com.ec/gfwlist +server=/bmw-motorrad.ru/127.0.0.1#5335 +ipset=/bmw-motorrad.ru/gfwlist +server=/directtv-deals.tv/127.0.0.1#5335 +ipset=/directtv-deals.tv/gfwlist +server=/identrust.co.uk/127.0.0.1#5335 +ipset=/identrust.co.uk/gfwlist +server=/sony.ru/127.0.0.1#5335 +ipset=/sony.ru/gfwlist +server=/youtube.com.pt/127.0.0.1#5335 +ipset=/youtube.com.pt/gfwlist +server=/pugetsoundmini.com/127.0.0.1#5335 +ipset=/pugetsoundmini.com/gfwlist +server=/technologyandsociety.org/127.0.0.1#5335 +ipset=/technologyandsociety.org/gfwlist +server=/google.com.sg/127.0.0.1#5335 +ipset=/google.com.sg/gfwlist +server=/googleanalytics.com/127.0.0.1#5335 +ipset=/googleanalytics.com/gfwlist +server=/youtube.com.pe/127.0.0.1#5335 +ipset=/youtube.com.pe/gfwlist +server=/directvdeals.com/127.0.0.1#5335 +ipset=/directvdeals.com/gfwlist +server=/youtube.com.pa/127.0.0.1#5335 +ipset=/youtube.com.pa/gfwlist +server=/voakorea.com/127.0.0.1#5335 +ipset=/voakorea.com/gfwlist +server=/youtube.com.om/127.0.0.1#5335 +ipset=/youtube.com.om/gfwlist +server=/successwithteams.com/127.0.0.1#5335 +ipset=/successwithteams.com/gfwlist +server=/youtube.com.mx/127.0.0.1#5335 +ipset=/youtube.com.mx/gfwlist +server=/paypal-database.com/127.0.0.1#5335 +ipset=/paypal-database.com/gfwlist +server=/youtube.com.mt/127.0.0.1#5335 +ipset=/youtube.com.mt/gfwlist +server=/youtube.com.mk/127.0.0.1#5335 +ipset=/youtube.com.mk/gfwlist +server=/youtube.com.lv/127.0.0.1#5335 +ipset=/youtube.com.lv/gfwlist +server=/youtube.com.lb/127.0.0.1#5335 +ipset=/youtube.com.lb/gfwlist +server=/youtube.com.kw/127.0.0.1#5335 +ipset=/youtube.com.kw/gfwlist +server=/barrons.com/127.0.0.1#5335 +ipset=/barrons.com/gfwlist +server=/youtube.com.jo/127.0.0.1#5335 +ipset=/youtube.com.jo/gfwlist +server=/pinterest.com.bo/127.0.0.1#5335 +ipset=/pinterest.com.bo/gfwlist +server=/paypalme.com/127.0.0.1#5335 +ipset=/paypalme.com/gfwlist +server=/news.co.uk/127.0.0.1#5335 +ipset=/news.co.uk/gfwlist +server=/youtube.com.jm/127.0.0.1#5335 +ipset=/youtube.com.jm/gfwlist +server=/myfoxtwincities.com/127.0.0.1#5335 +ipset=/myfoxtwincities.com/gfwlist +server=/o365weve-ppe.com/127.0.0.1#5335 +ipset=/o365weve-ppe.com/gfwlist +server=/youtube.com.hk/127.0.0.1#5335 +ipset=/youtube.com.hk/gfwlist +server=/cosmosdb.net/127.0.0.1#5335 +ipset=/cosmosdb.net/gfwlist +server=/youtube.com.gr/127.0.0.1#5335 +ipset=/youtube.com.gr/gfwlist +server=/youtube.com.eg/127.0.0.1#5335 +ipset=/youtube.com.eg/gfwlist +server=/moov.hk/127.0.0.1#5335 +ipset=/moov.hk/gfwlist +server=/youtube.com.ee/127.0.0.1#5335 +ipset=/youtube.com.ee/gfwlist +server=/youtube.com.do/127.0.0.1#5335 +ipset=/youtube.com.do/gfwlist +server=/youtube.com.by/127.0.0.1#5335 +ipset=/youtube.com.by/gfwlist +server=/tiktok.com/127.0.0.1#5335 +ipset=/tiktok.com/gfwlist +server=/yogify.com/127.0.0.1#5335 +ipset=/yogify.com/gfwlist +server=/youtube.com.bo/127.0.0.1#5335 +ipset=/youtube.com.bo/gfwlist +server=/wii-u.com/127.0.0.1#5335 +ipset=/wii-u.com/gfwlist +server=/youtube.com.bd/127.0.0.1#5335 +ipset=/youtube.com.bd/gfwlist +server=/moneywithfacebook.com/127.0.0.1#5335 +ipset=/moneywithfacebook.com/gfwlist +server=/youtube.com.au/127.0.0.1#5335 +ipset=/youtube.com.au/gfwlist +server=/nikestyles.com/127.0.0.1#5335 +ipset=/nikestyles.com/gfwlist +server=/routledgehandbooks.com/127.0.0.1#5335 +ipset=/routledgehandbooks.com/gfwlist +server=/dailymailonline.com/127.0.0.1#5335 +ipset=/dailymailonline.com/gfwlist +server=/ajtalk.com/127.0.0.1#5335 +ipset=/ajtalk.com/gfwlist +server=/verizondigitalmedia.com/127.0.0.1#5335 +ipset=/verizondigitalmedia.com/gfwlist +server=/youtube.co.za/127.0.0.1#5335 +ipset=/youtube.co.za/gfwlist +server=/bestbuys.com/127.0.0.1#5335 +ipset=/bestbuys.com/gfwlist +server=/youtube.co.tz/127.0.0.1#5335 +ipset=/youtube.co.tz/gfwlist +server=/vsphere.com/127.0.0.1#5335 +ipset=/vsphere.com/gfwlist +server=/youtube.co.nz/127.0.0.1#5335 +ipset=/youtube.co.nz/gfwlist +server=/12diasderegalosdeitunes.gt/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.gt/gfwlist +server=/squarecapital.com/127.0.0.1#5335 +ipset=/squarecapital.com/gfwlist +server=/attnetclient.com/127.0.0.1#5335 +ipset=/attnetclient.com/gfwlist +server=/youtube.co.kr/127.0.0.1#5335 +ipset=/youtube.co.kr/gfwlist +server=/whatsappbrand.com/127.0.0.1#5335 +ipset=/whatsappbrand.com/gfwlist +server=/ebay.pk/127.0.0.1#5335 +ipset=/ebay.pk/gfwlist +server=/youtube.co.il/127.0.0.1#5335 +ipset=/youtube.co.il/gfwlist +server=/mcdonalds.hk/127.0.0.1#5335 +ipset=/mcdonalds.hk/gfwlist +server=/ppaypal.com/127.0.0.1#5335 +ipset=/ppaypal.com/gfwlist +server=/stackpath.com/127.0.0.1#5335 +ipset=/stackpath.com/gfwlist +server=/bittrex.com/127.0.0.1#5335 +ipset=/bittrex.com/gfwlist +server=/youtube.co.ae/127.0.0.1#5335 +ipset=/youtube.co.ae/gfwlist +server=/youtube.ch/127.0.0.1#5335 +ipset=/youtube.ch/gfwlist +server=/airtunes.info/127.0.0.1#5335 +ipset=/airtunes.info/gfwlist +server=/castro.fm/127.0.0.1#5335 +ipset=/castro.fm/gfwlist +server=/youtube.by/127.0.0.1#5335 +ipset=/youtube.by/gfwlist +server=/youtube.am/127.0.0.1#5335 +ipset=/youtube.am/gfwlist +server=/ggpht.com/127.0.0.1#5335 +ipset=/ggpht.com/gfwlist +server=/bmw.co.jp/127.0.0.1#5335 +ipset=/bmw.co.jp/gfwlist +server=/get.page/127.0.0.1#5335 +ipset=/get.page/gfwlist +server=/get.dev/127.0.0.1#5335 +ipset=/get.dev/gfwlist +server=/instagtram.com/127.0.0.1#5335 +ipset=/instagtram.com/gfwlist +server=/registry.google/127.0.0.1#5335 +ipset=/registry.google/gfwlist +server=/airwick.ro/127.0.0.1#5335 +ipset=/airwick.ro/gfwlist +server=/googleadservices.com/127.0.0.1#5335 +ipset=/googleadservices.com/gfwlist +server=/googleadapis.com/127.0.0.1#5335 +ipset=/googleadapis.com/gfwlist +server=/google-analytics.com/127.0.0.1#5335 +ipset=/google-analytics.com/gfwlist +server=/bmw-motorrad.ro/127.0.0.1#5335 +ipset=/bmw-motorrad.ro/gfwlist +server=/facvebook.com/127.0.0.1#5335 +ipset=/facvebook.com/gfwlist +server=/doubleclick.com/127.0.0.1#5335 +ipset=/doubleclick.com/gfwlist +server=/app-measurement.com/127.0.0.1#5335 +ipset=/app-measurement.com/gfwlist +server=/db.tt/127.0.0.1#5335 +ipset=/db.tt/gfwlist +server=/foxaffiliateportal.com/127.0.0.1#5335 +ipset=/foxaffiliateportal.com/gfwlist +server=/whatsapp.org/127.0.0.1#5335 +ipset=/whatsapp.org/gfwlist +server=/slack-edge.com/127.0.0.1#5335 +ipset=/slack-edge.com/gfwlist +server=/manorama.com/127.0.0.1#5335 +ipset=/manorama.com/gfwlist +server=/vimeocdn.com/127.0.0.1#5335 +ipset=/vimeocdn.com/gfwlist +server=/microsoft.ro/127.0.0.1#5335 +ipset=/microsoft.ro/gfwlist +server=/cbs.com/127.0.0.1#5335 +ipset=/cbs.com/gfwlist +server=/customdrdrebeats.com/127.0.0.1#5335 +ipset=/customdrdrebeats.com/gfwlist +server=/intercomassets.com/127.0.0.1#5335 +ipset=/intercomassets.com/gfwlist +server=/monsterbeatsbydrefactory.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrefactory.com/gfwlist +server=/blogspot.ru/127.0.0.1#5335 +ipset=/blogspot.ru/gfwlist +server=/blogspot.rs/127.0.0.1#5335 +ipset=/blogspot.rs/gfwlist +server=/blogspot.re/127.0.0.1#5335 +ipset=/blogspot.re/gfwlist +server=/monstersbeatbydres.com/127.0.0.1#5335 +ipset=/monstersbeatbydres.com/gfwlist +server=/beatbydre2013.com/127.0.0.1#5335 +ipset=/beatbydre2013.com/gfwlist +server=/nexpart.com/127.0.0.1#5335 +ipset=/nexpart.com/gfwlist +server=/ehgt.org/127.0.0.1#5335 +ipset=/ehgt.org/gfwlist +server=/mastercard.co.kr/127.0.0.1#5335 +ipset=/mastercard.co.kr/gfwlist +server=/beatsmonstersales.com/127.0.0.1#5335 +ipset=/beatsmonstersales.com/gfwlist +server=/blogspot.pe/127.0.0.1#5335 +ipset=/blogspot.pe/gfwlist +server=/visa.com.ru/127.0.0.1#5335 +ipset=/visa.com.ru/gfwlist +server=/blogspot.no/127.0.0.1#5335 +ipset=/blogspot.no/gfwlist +server=/opencollective.com/127.0.0.1#5335 +ipset=/opencollective.com/gfwlist +server=/goldnikeclub.com/127.0.0.1#5335 +ipset=/goldnikeclub.com/gfwlist +server=/slackb.com/127.0.0.1#5335 +ipset=/slackb.com/gfwlist +server=/fr-beatsbydrestore.com/127.0.0.1#5335 +ipset=/fr-beatsbydrestore.com/gfwlist +server=/m.me/127.0.0.1#5335 +ipset=/m.me/gfwlist +server=/blogspot.md/127.0.0.1#5335 +ipset=/blogspot.md/gfwlist +server=/blogspot.lu/127.0.0.1#5335 +ipset=/blogspot.lu/gfwlist +server=/fptolia.com/127.0.0.1#5335 +ipset=/fptolia.com/gfwlist +server=/gitlab-assets.oss-cn-hongkong.aliyuncs.com/127.0.0.1#5335 +ipset=/gitlab-assets.oss-cn-hongkong.aliyuncs.com/gfwlist +server=/blogspot.ie/127.0.0.1#5335 +ipset=/blogspot.ie/gfwlist +server=/blogspot.hk/127.0.0.1#5335 +ipset=/blogspot.hk/gfwlist +server=/blogspot.gr/127.0.0.1#5335 +ipset=/blogspot.gr/gfwlist +server=/blogspot.fr/127.0.0.1#5335 +ipset=/blogspot.fr/gfwlist +server=/blogspot.fi/127.0.0.1#5335 +ipset=/blogspot.fi/gfwlist +server=/ebayvietnam.net/127.0.0.1#5335 +ipset=/ebayvietnam.net/gfwlist +server=/iphoneimessage.com/127.0.0.1#5335 +ipset=/iphoneimessage.com/gfwlist +server=/blogspot.dk/127.0.0.1#5335 +ipset=/blogspot.dk/gfwlist +server=/blogspot.de/127.0.0.1#5335 +ipset=/blogspot.de/gfwlist +server=/blogspot.cz/127.0.0.1#5335 +ipset=/blogspot.cz/gfwlist +server=/digitalid.ch/127.0.0.1#5335 +ipset=/digitalid.ch/gfwlist +server=/akamai-thailand.com/127.0.0.1#5335 +ipset=/akamai-thailand.com/gfwlist +server=/gwktravelex.nl/127.0.0.1#5335 +ipset=/gwktravelex.nl/gfwlist +server=/blogspot.com.uy/127.0.0.1#5335 +ipset=/blogspot.com.uy/gfwlist +server=/blogspot.com.tr/127.0.0.1#5335 +ipset=/blogspot.com.tr/gfwlist +server=/pixnet.cc/127.0.0.1#5335 +ipset=/pixnet.cc/gfwlist +server=/bestbuy.ca/127.0.0.1#5335 +ipset=/bestbuy.ca/gfwlist +server=/direcpath.com/127.0.0.1#5335 +ipset=/direcpath.com/gfwlist +server=/t.me/127.0.0.1#5335 +ipset=/t.me/gfwlist +server=/blogspot.com.eg/127.0.0.1#5335 +ipset=/blogspot.com.eg/gfwlist +server=/disney.in/127.0.0.1#5335 +ipset=/disney.in/gfwlist +server=/canon.fr/127.0.0.1#5335 +ipset=/canon.fr/gfwlist +server=/blogspot.com.cy/127.0.0.1#5335 +ipset=/blogspot.com.cy/gfwlist +server=/blogspot.com.br/127.0.0.1#5335 +ipset=/blogspot.com.br/gfwlist +server=/blogspot.com.au/127.0.0.1#5335 +ipset=/blogspot.com.au/gfwlist +server=/youtube.si/127.0.0.1#5335 +ipset=/youtube.si/gfwlist +server=/tandberg-china.com/127.0.0.1#5335 +ipset=/tandberg-china.com/gfwlist +server=/blogspot.co.il/127.0.0.1#5335 +ipset=/blogspot.co.il/gfwlist +server=/blogspot.cl/127.0.0.1#5335 +ipset=/blogspot.cl/gfwlist +server=/go-disneyworldgo.com/127.0.0.1#5335 +ipset=/go-disneyworldgo.com/gfwlist +server=/mini.tm/127.0.0.1#5335 +ipset=/mini.tm/gfwlist +server=/blogspot.ch/127.0.0.1#5335 +ipset=/blogspot.ch/gfwlist +server=/directvpomise.com/127.0.0.1#5335 +ipset=/directvpomise.com/gfwlist +server=/ao3.org/127.0.0.1#5335 +ipset=/ao3.org/gfwlist +server=/needforspeedboost.com/127.0.0.1#5335 +ipset=/needforspeedboost.com/gfwlist +server=/blogspot.ba/127.0.0.1#5335 +ipset=/blogspot.ba/gfwlist +server=/sundanceignite2016.com/127.0.0.1#5335 +ipset=/sundanceignite2016.com/gfwlist +server=/gobuyonlinestore.net/127.0.0.1#5335 +ipset=/gobuyonlinestore.net/gfwlist +server=/pornhub.com/127.0.0.1#5335 +ipset=/pornhub.com/gfwlist +server=/bmw-connecteddrive.sg/127.0.0.1#5335 +ipset=/bmw-connecteddrive.sg/gfwlist +server=/blogspot.am/127.0.0.1#5335 +ipset=/blogspot.am/gfwlist +server=/binance.charity/127.0.0.1#5335 +ipset=/binance.charity/gfwlist +server=/blogspot.ae/127.0.0.1#5335 +ipset=/blogspot.ae/gfwlist +server=/geforce.com/127.0.0.1#5335 +ipset=/geforce.com/gfwlist +server=/dtv2009offers.com/127.0.0.1#5335 +ipset=/dtv2009offers.com/gfwlist +server=/sa78gs.wpc.edgecastcdn.net/127.0.0.1#5335 +ipset=/sa78gs.wpc.edgecastcdn.net/gfwlist +server=/nexcat.com/127.0.0.1#5335 +ipset=/nexcat.com/gfwlist +server=/gigabyte2.azureedge.net/127.0.0.1#5335 +ipset=/gigabyte2.azureedge.net/gfwlist +server=/udfs.com/127.0.0.1#5335 +ipset=/udfs.com/gfwlist +server=/gigabyte.com/127.0.0.1#5335 +ipset=/gigabyte.com/gfwlist +server=/wal-mart.com/127.0.0.1#5335 +ipset=/wal-mart.com/gfwlist +server=/c-spanvideo.org/127.0.0.1#5335 +ipset=/c-spanvideo.org/gfwlist +server=/vanish.cl/127.0.0.1#5335 +ipset=/vanish.cl/gfwlist +server=/workplaceusecases.com/127.0.0.1#5335 +ipset=/workplaceusecases.com/gfwlist +server=/zuckerberg.net/127.0.0.1#5335 +ipset=/zuckerberg.net/gfwlist +server=/zuckerberg.com/127.0.0.1#5335 +ipset=/zuckerberg.com/gfwlist +server=/wwwfacebook.com/127.0.0.1#5335 +ipset=/wwwfacebook.com/gfwlist +server=/bmwhk.com/127.0.0.1#5335 +ipset=/bmwhk.com/gfwlist +server=/bmw.com.pa/127.0.0.1#5335 +ipset=/bmw.com.pa/gfwlist +server=/singtaola.com/127.0.0.1#5335 +ipset=/singtaola.com/gfwlist +server=/2013beatshdcybermonday.com/127.0.0.1#5335 +ipset=/2013beatshdcybermonday.com/gfwlist +server=/cdn77.scoreuniverse.com/127.0.0.1#5335 +ipset=/cdn77.scoreuniverse.com/gfwlist +server=/supportfacebook.com/127.0.0.1#5335 +ipset=/supportfacebook.com/gfwlist +server=/sportstream.com/127.0.0.1#5335 +ipset=/sportstream.com/gfwlist +server=/sportsfacebook.com/127.0.0.1#5335 +ipset=/sportsfacebook.com/gfwlist +server=/shopfacebook.com/127.0.0.1#5335 +ipset=/shopfacebook.com/gfwlist +server=/fcebook.com/127.0.0.1#5335 +ipset=/fcebook.com/gfwlist +server=/nextstop.com/127.0.0.1#5335 +ipset=/nextstop.com/gfwlist +server=/visa.so/127.0.0.1#5335 +ipset=/visa.so/gfwlist +server=/youtube.com.az/127.0.0.1#5335 +ipset=/youtube.com.az/gfwlist +server=/wwwdecide.com/127.0.0.1#5335 +ipset=/wwwdecide.com/gfwlist +server=/mastercard.rs/127.0.0.1#5335 +ipset=/mastercard.rs/gfwlist +server=/uun86.com/127.0.0.1#5335 +ipset=/uun86.com/gfwlist +server=/mobilefacebook.com/127.0.0.1#5335 +ipset=/mobilefacebook.com/gfwlist +server=/bmw-int1.com/127.0.0.1#5335 +ipset=/bmw-int1.com/gfwlist +server=/nflxsearch.net/127.0.0.1#5335 +ipset=/nflxsearch.net/gfwlist +server=/disney.fi/127.0.0.1#5335 +ipset=/disney.fi/gfwlist +server=/disney.io/127.0.0.1#5335 +ipset=/disney.io/gfwlist +server=/swtor.com/127.0.0.1#5335 +ipset=/swtor.com/gfwlist +server=/midentsolutions.com/127.0.0.1#5335 +ipset=/midentsolutions.com/gfwlist +server=/markzuckerberg.com/127.0.0.1#5335 +ipset=/markzuckerberg.com/gfwlist +server=/scholar.google.com/127.0.0.1#5335 +ipset=/scholar.google.com/gfwlist +server=/canon-europa.com/127.0.0.1#5335 +ipset=/canon-europa.com/gfwlist +server=/vimeoondemand.com/127.0.0.1#5335 +ipset=/vimeoondemand.com/gfwlist +server=/singpao.com.hk/127.0.0.1#5335 +ipset=/singpao.com.hk/gfwlist +server=/oxfordhandbooks.com/127.0.0.1#5335 +ipset=/oxfordhandbooks.com/gfwlist +server=/repsneakermall.com/127.0.0.1#5335 +ipset=/repsneakermall.com/gfwlist +server=/liverail.tv/127.0.0.1#5335 +ipset=/liverail.tv/gfwlist +server=/mastercard.sk/127.0.0.1#5335 +ipset=/mastercard.sk/gfwlist +server=/facebookportal.com/127.0.0.1#5335 +ipset=/facebookportal.com/gfwlist +server=/ecapi-pchome.cdn.hinet.net/127.0.0.1#5335 +ipset=/ecapi-pchome.cdn.hinet.net/gfwlist +server=/internet.org/127.0.0.1#5335 +ipset=/internet.org/gfwlist +server=/apple.cl/127.0.0.1#5335 +ipset=/apple.cl/gfwlist +server=/howtohackfacebook-account.com/127.0.0.1#5335 +ipset=/howtohackfacebook-account.com/gfwlist +server=/hifacebook.info/127.0.0.1#5335 +ipset=/hifacebook.info/gfwlist +server=/bmwmagazine.com/127.0.0.1#5335 +ipset=/bmwmagazine.com/gfwlist +server=/monsterbydrebeat.com/127.0.0.1#5335 +ipset=/monsterbydrebeat.com/gfwlist +server=/groups.com/127.0.0.1#5335 +ipset=/groups.com/gfwlist +server=/leaguehighschool.com/127.0.0.1#5335 +ipset=/leaguehighschool.com/gfwlist +server=/volvotrucks.qa/127.0.0.1#5335 +ipset=/volvotrucks.qa/gfwlist +server=/gfacecbook.com/127.0.0.1#5335 +ipset=/gfacecbook.com/gfwlist +server=/dettol.pt/127.0.0.1#5335 +ipset=/dettol.pt/gfwlist +server=/veet.com/127.0.0.1#5335 +ipset=/veet.com/gfwlist +server=/yahoo.co.vi/127.0.0.1#5335 +ipset=/yahoo.co.vi/gfwlist +server=/fundraisingwithfacebook.com/127.0.0.1#5335 +ipset=/fundraisingwithfacebook.com/gfwlist +server=/spore.com/127.0.0.1#5335 +ipset=/spore.com/gfwlist +server=/applenews.hamburg/127.0.0.1#5335 +ipset=/applenews.hamburg/gfwlist +server=/friendfeed.com/127.0.0.1#5335 +ipset=/friendfeed.com/gfwlist +server=/friendfeed-media.com/127.0.0.1#5335 +ipset=/friendfeed-media.com/gfwlist +server=/friendfeed-api.com/127.0.0.1#5335 +ipset=/friendfeed-api.com/gfwlist +server=/dot.net/127.0.0.1#5335 +ipset=/dot.net/gfwlist +server=/friendfed.com/127.0.0.1#5335 +ipset=/friendfed.com/gfwlist +server=/viacomcbs.com/127.0.0.1#5335 +ipset=/viacomcbs.com/gfwlist +server=/amerikaovozi.com/127.0.0.1#5335 +ipset=/amerikaovozi.com/gfwlist +server=/firestonecompleteautocare.com/127.0.0.1#5335 +ipset=/firestonecompleteautocare.com/gfwlist +server=/freefacebookads.net/127.0.0.1#5335 +ipset=/freefacebookads.net/gfwlist +server=/epochstories.com/127.0.0.1#5335 +ipset=/epochstories.com/gfwlist +server=/potenza.jp/127.0.0.1#5335 +ipset=/potenza.jp/gfwlist +server=/swisstsa.li/127.0.0.1#5335 +ipset=/swisstsa.li/gfwlist +server=/wiremoneytoirelandwithxoomeasierandcheaper.com/127.0.0.1#5335 +ipset=/wiremoneytoirelandwithxoomeasierandcheaper.com/gfwlist +server=/youtubego.co.in/127.0.0.1#5335 +ipset=/youtubego.co.in/gfwlist +server=/freefacebook.net/127.0.0.1#5335 +ipset=/freefacebook.net/gfwlist +server=/freeb.com/127.0.0.1#5335 +ipset=/freeb.com/gfwlist +server=/hulunetwork.com/127.0.0.1#5335 +ipset=/hulunetwork.com/gfwlist +server=/mini-connected.ch/127.0.0.1#5335 +ipset=/mini-connected.ch/gfwlist +server=/shopbeatsdre.com/127.0.0.1#5335 +ipset=/shopbeatsdre.com/gfwlist +server=/kk.stream/127.0.0.1#5335 +ipset=/kk.stream/gfwlist +server=/myfoxhurricane.com/127.0.0.1#5335 +ipset=/myfoxhurricane.com/gfwlist +server=/bbyintl.com/127.0.0.1#5335 +ipset=/bbyintl.com/gfwlist +server=/fracebook.com/127.0.0.1#5335 +ipset=/fracebook.com/gfwlist +server=/google.com.bd/127.0.0.1#5335 +ipset=/google.com.bd/gfwlist +server=/leaguesharp.info/127.0.0.1#5335 +ipset=/leaguesharp.info/gfwlist +server=/yjcontentdelivery.com/127.0.0.1#5335 +ipset=/yjcontentdelivery.com/gfwlist +server=/shotwithgeforce.com/127.0.0.1#5335 +ipset=/shotwithgeforce.com/gfwlist +server=/fescebook.com/127.0.0.1#5335 +ipset=/fescebook.com/gfwlist +server=/uun95.com/127.0.0.1#5335 +ipset=/uun95.com/gfwlist +server=/ferabook.com/127.0.0.1#5335 +ipset=/ferabook.com/gfwlist +server=/fececbook.com/127.0.0.1#5335 +ipset=/fececbook.com/gfwlist +server=/feceboox.com/127.0.0.1#5335 +ipset=/feceboox.com/gfwlist +server=/azure.net/127.0.0.1#5335 +ipset=/azure.net/gfwlist +server=/mcdonalds.com.hk/127.0.0.1#5335 +ipset=/mcdonalds.com.hk/gfwlist +server=/heyzo.com/127.0.0.1#5335 +ipset=/heyzo.com/gfwlist +server=/beatsbydre2081.com/127.0.0.1#5335 +ipset=/beatsbydre2081.com/gfwlist +server=/hpcodewarsbcn.com/127.0.0.1#5335 +ipset=/hpcodewarsbcn.com/gfwlist +server=/fecbbok.com/127.0.0.1#5335 +ipset=/fecbbok.com/gfwlist +server=/dmm-extension.com/127.0.0.1#5335 +ipset=/dmm-extension.com/gfwlist +server=/vmglobal.net/127.0.0.1#5335 +ipset=/vmglobal.net/gfwlist +server=/bmw-m.com/127.0.0.1#5335 +ipset=/bmw-m.com/gfwlist +server=/akamaiphillipines.net/127.0.0.1#5335 +ipset=/akamaiphillipines.net/gfwlist +server=/cheapestbeatsdrdre.com/127.0.0.1#5335 +ipset=/cheapestbeatsdrdre.com/gfwlist +server=/nextechafrica.net/127.0.0.1#5335 +ipset=/nextechafrica.net/gfwlist +server=/visa-atm.com/127.0.0.1#5335 +ipset=/visa-atm.com/gfwlist +server=/fdacebook.info/127.0.0.1#5335 +ipset=/fdacebook.info/gfwlist +server=/gcrtires.com/127.0.0.1#5335 +ipset=/gcrtires.com/gfwlist +server=/fcebookk.com/127.0.0.1#5335 +ipset=/fcebookk.com/gfwlist +server=/online-deals.net/127.0.0.1#5335 +ipset=/online-deals.net/gfwlist +server=/linegame.jp/127.0.0.1#5335 +ipset=/linegame.jp/gfwlist +server=/xn--gogl-1nd42e.com/127.0.0.1#5335 +ipset=/xn--gogl-1nd42e.com/gfwlist +server=/bmw.com.mo/127.0.0.1#5335 +ipset=/bmw.com.mo/gfwlist +server=/parstream.com/127.0.0.1#5335 +ipset=/parstream.com/gfwlist +server=/fbworkmail.com/127.0.0.1#5335 +ipset=/fbworkmail.com/gfwlist +server=/bloomberglaw.com/127.0.0.1#5335 +ipset=/bloomberglaw.com/gfwlist +server=/ieee-ecce.org/127.0.0.1#5335 +ipset=/ieee-ecce.org/gfwlist +server=/nurofen.ie/127.0.0.1#5335 +ipset=/nurofen.ie/gfwlist +server=/faccebook.com/127.0.0.1#5335 +ipset=/faccebook.com/gfwlist +server=/ssl-certificate.ch/127.0.0.1#5335 +ipset=/ssl-certificate.ch/gfwlist +server=/volvotruckcenter.se/127.0.0.1#5335 +ipset=/volvotruckcenter.se/gfwlist +server=/qualcomm.com/127.0.0.1#5335 +ipset=/qualcomm.com/gfwlist +server=/fbsbx.com/127.0.0.1#5335 +ipset=/fbsbx.com/gfwlist +server=/faacebok.com/127.0.0.1#5335 +ipset=/faacebok.com/gfwlist +server=/duckduckgo.com/127.0.0.1#5335 +ipset=/duckduckgo.com/gfwlist +server=/fbreg.com/127.0.0.1#5335 +ipset=/fbreg.com/gfwlist +server=/paypal-search.com/127.0.0.1#5335 +ipset=/paypal-search.com/gfwlist +server=/nvidia.com.tw/127.0.0.1#5335 +ipset=/nvidia.com.tw/gfwlist +server=/attexperts.com/127.0.0.1#5335 +ipset=/attexperts.com/gfwlist +server=/soundofhope.org/127.0.0.1#5335 +ipset=/soundofhope.org/gfwlist +server=/swissign.com/127.0.0.1#5335 +ipset=/swissign.com/gfwlist +server=/fbinnovation.com/127.0.0.1#5335 +ipset=/fbinnovation.com/gfwlist +server=/12diasderegalosdeitunes.com.hn/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.com.hn/gfwlist +server=/wwwebay.net/127.0.0.1#5335 +ipset=/wwwebay.net/gfwlist +server=/thawte.de/127.0.0.1#5335 +ipset=/thawte.de/gfwlist +server=/fbfeedback.com/127.0.0.1#5335 +ipset=/fbfeedback.com/gfwlist +server=/mairbeats.com/127.0.0.1#5335 +ipset=/mairbeats.com/gfwlist +server=/vmwaredemandcenter.com/127.0.0.1#5335 +ipset=/vmwaredemandcenter.com/gfwlist +server=/fbboostyourbusiness.com/127.0.0.1#5335 +ipset=/fbboostyourbusiness.com/gfwlist +server=/motionpictureser.com/127.0.0.1#5335 +ipset=/motionpictureser.com/gfwlist +server=/paisapay.cc/127.0.0.1#5335 +ipset=/paisapay.cc/gfwlist +server=/bloombergspace.com/127.0.0.1#5335 +ipset=/bloombergspace.com/gfwlist +server=/statics-marketingsites-eus-ms-com.akamaized.net/127.0.0.1#5335 +ipset=/statics-marketingsites-eus-ms-com.akamaized.net/gfwlist +server=/lghvacstory.com/127.0.0.1#5335 +ipset=/lghvacstory.com/gfwlist +server=/blzddistkr1-a.akamaihd.net/127.0.0.1#5335 +ipset=/blzddistkr1-a.akamaihd.net/gfwlist +server=/newsmaxtv.com/127.0.0.1#5335 +ipset=/newsmaxtv.com/gfwlist +server=/bowsersinsidestory.com/127.0.0.1#5335 +ipset=/bowsersinsidestory.com/gfwlist +server=/fb.careers/127.0.0.1#5335 +ipset=/fb.careers/gfwlist +server=/instagram-press.com/127.0.0.1#5335 +ipset=/instagram-press.com/gfwlist +server=/theepochtimessubscribe.com/127.0.0.1#5335 +ipset=/theepochtimessubscribe.com/gfwlist +server=/intel.tf/127.0.0.1#5335 +ipset=/intel.tf/gfwlist +server=/fasebokk.com/127.0.0.1#5335 +ipset=/fasebokk.com/gfwlist +server=/faicbooc.com/127.0.0.1#5335 +ipset=/faicbooc.com/gfwlist +server=/ntnews.com.au/127.0.0.1#5335 +ipset=/ntnews.com.au/gfwlist +server=/unlocklimitlesslearning.com/127.0.0.1#5335 +ipset=/unlocklimitlesslearning.com/gfwlist +server=/minidealernet.com/127.0.0.1#5335 +ipset=/minidealernet.com/gfwlist +server=/mastercard.jo/127.0.0.1#5335 +ipset=/mastercard.jo/gfwlist +server=/monsterbeatsitaly.com/127.0.0.1#5335 +ipset=/monsterbeatsitaly.com/gfwlist +server=/fadebook.com/127.0.0.1#5335 +ipset=/fadebook.com/gfwlist +server=/facxebook.com/127.0.0.1#5335 +ipset=/facxebook.com/gfwlist +server=/facwebook.com/127.0.0.1#5335 +ipset=/facwebook.com/gfwlist +server=/doubleclick.net/127.0.0.1#5335 +ipset=/doubleclick.net/gfwlist +server=/biomedcentral.com/127.0.0.1#5335 +ipset=/biomedcentral.com/gfwlist +server=/facrbook.com/127.0.0.1#5335 +ipset=/facrbook.com/gfwlist +server=/bmw-art-journey.com/127.0.0.1#5335 +ipset=/bmw-art-journey.com/gfwlist +server=/hulugo.com/127.0.0.1#5335 +ipset=/hulugo.com/gfwlist +server=/fackebook.com/127.0.0.1#5335 +ipset=/fackebook.com/gfwlist +server=/getdropbox.com/127.0.0.1#5335 +ipset=/getdropbox.com/gfwlist +server=/facewook.com/127.0.0.1#5335 +ipset=/facewook.com/gfwlist +server=/icloud.pt/127.0.0.1#5335 +ipset=/icloud.pt/gfwlist +server=/facewbook.co/127.0.0.1#5335 +ipset=/facewbook.co/gfwlist +server=/huffingtonpost.ca/127.0.0.1#5335 +ipset=/huffingtonpost.ca/gfwlist +server=/facevbook.com/127.0.0.1#5335 +ipset=/facevbook.com/gfwlist +server=/muji.com.hk/127.0.0.1#5335 +ipset=/muji.com.hk/gfwlist +server=/facetook.com/127.0.0.1#5335 +ipset=/facetook.com/gfwlist +server=/facesounds.com/127.0.0.1#5335 +ipset=/facesounds.com/gfwlist +server=/facesbooc.com/127.0.0.1#5335 +ipset=/facesbooc.com/gfwlist +server=/faceobook.com/127.0.0.1#5335 +ipset=/faceobook.com/gfwlist +server=/vmwarecloud.com/127.0.0.1#5335 +ipset=/vmwarecloud.com/gfwlist +server=/sharepoint.com/127.0.0.1#5335 +ipset=/sharepoint.com/gfwlist +server=/facegbok.com/127.0.0.1#5335 +ipset=/facegbok.com/gfwlist +server=/faceebot.com/127.0.0.1#5335 +ipset=/faceebot.com/gfwlist +server=/faceebook.com/127.0.0.1#5335 +ipset=/faceebook.com/gfwlist +server=/monsterbeatshere.com/127.0.0.1#5335 +ipset=/monsterbeatshere.com/gfwlist +server=/disneytvajobs.com/127.0.0.1#5335 +ipset=/disneytvajobs.com/gfwlist +server=/facedbook.com/127.0.0.1#5335 +ipset=/facedbook.com/gfwlist +server=/facecook.org/127.0.0.1#5335 +ipset=/facecook.org/gfwlist +server=/secretchina.com/127.0.0.1#5335 +ipset=/secretchina.com/gfwlist +server=/foxredeem.com/127.0.0.1#5335 +ipset=/foxredeem.com/gfwlist +server=/archlinux.org/127.0.0.1#5335 +ipset=/archlinux.org/gfwlist +server=/revolv.com/127.0.0.1#5335 +ipset=/revolv.com/gfwlist +server=/facebopk.com/127.0.0.1#5335 +ipset=/facebopk.com/gfwlist +server=/faceboot.com/127.0.0.1#5335 +ipset=/faceboot.com/gfwlist +server=/applestorepro.eu/127.0.0.1#5335 +ipset=/applestorepro.eu/gfwlist +server=/googel.com/127.0.0.1#5335 +ipset=/googel.com/gfwlist +server=/faceboom.com/127.0.0.1#5335 +ipset=/faceboom.com/gfwlist +server=/facebooll.com/127.0.0.1#5335 +ipset=/facebooll.com/gfwlist +server=/huffingtonpost.kr/127.0.0.1#5335 +ipset=/huffingtonpost.kr/gfwlist +server=/facebookw.com/127.0.0.1#5335 +ipset=/facebookw.com/gfwlist +server=/google.com.mt/127.0.0.1#5335 +ipset=/google.com.mt/gfwlist +server=/pre-bmwgroup.jobs/127.0.0.1#5335 +ipset=/pre-bmwgroup.jobs/gfwlist +server=/facebooktv.net/127.0.0.1#5335 +ipset=/facebooktv.net/gfwlist +server=/custombeatssbydreus.com/127.0.0.1#5335 +ipset=/custombeatssbydreus.com/gfwlist +server=/realclearpolitics.com/127.0.0.1#5335 +ipset=/realclearpolitics.com/gfwlist +server=/calgon.com/127.0.0.1#5335 +ipset=/calgon.com/gfwlist +server=/facebooksuppliers.com/127.0.0.1#5335 +ipset=/facebooksuppliers.com/gfwlist +server=/sourcingforebay.tv/127.0.0.1#5335 +ipset=/sourcingforebay.tv/gfwlist +server=/hketgroup.com/127.0.0.1#5335 +ipset=/hketgroup.com/gfwlist +server=/simility.com/127.0.0.1#5335 +ipset=/simility.com/gfwlist +server=/facebooksupplier.com/127.0.0.1#5335 +ipset=/facebooksupplier.com/gfwlist +server=/facebookstudios.net/127.0.0.1#5335 +ipset=/facebookstudios.net/gfwlist +server=/facebookstories.com/127.0.0.1#5335 +ipset=/facebookstories.com/gfwlist +server=/facebooksafety.com/127.0.0.1#5335 +ipset=/facebooksafety.com/gfwlist +server=/nintendo.at/127.0.0.1#5335 +ipset=/nintendo.at/gfwlist +server=/evernote.com/127.0.0.1#5335 +ipset=/evernote.com/gfwlist +server=/facebooks.com/127.0.0.1#5335 +ipset=/facebooks.com/gfwlist +server=/facebookporno.net/127.0.0.1#5335 +ipset=/facebookporno.net/gfwlist +server=/facebookporn.org/127.0.0.1#5335 +ipset=/facebookporn.org/gfwlist +server=/speeddreamride.com/127.0.0.1#5335 +ipset=/speeddreamride.com/gfwlist +server=/ebaydlassifieds.com/127.0.0.1#5335 +ipset=/ebaydlassifieds.com/gfwlist +server=/disney.my/127.0.0.1#5335 +ipset=/disney.my/gfwlist +server=/facebookpoke.org/127.0.0.1#5335 +ipset=/facebookpoke.org/gfwlist +server=/instagranm.com/127.0.0.1#5335 +ipset=/instagranm.com/gfwlist +server=/facebookpoke.net/127.0.0.1#5335 +ipset=/facebookpoke.net/gfwlist +server=/bridgestone.co.th/127.0.0.1#5335 +ipset=/bridgestone.co.th/gfwlist +server=/amazonworkdocs.com/127.0.0.1#5335 +ipset=/amazonworkdocs.com/gfwlist +server=/facebookphonenumber.net/127.0.0.1#5335 +ipset=/facebookphonenumber.net/gfwlist +server=/minicooper.ca/127.0.0.1#5335 +ipset=/minicooper.ca/gfwlist +server=/facebookook.com/127.0.0.1#5335 +ipset=/facebookook.com/gfwlist +server=/xn--yt8h.la/127.0.0.1#5335 +ipset=/xn--yt8h.la/gfwlist +server=/disney.se/127.0.0.1#5335 +ipset=/disney.se/gfwlist +server=/bml.info/127.0.0.1#5335 +ipset=/bml.info/gfwlist +server=/duckduckgo.de/127.0.0.1#5335 +ipset=/duckduckgo.de/gfwlist +server=/ebaysoho.com/127.0.0.1#5335 +ipset=/ebaysoho.com/gfwlist +server=/itunes-radio.net/127.0.0.1#5335 +ipset=/itunes-radio.net/gfwlist +server=/facebooknfl.com/127.0.0.1#5335 +ipset=/facebooknfl.com/gfwlist +server=/rgpub.io/127.0.0.1#5335 +ipset=/rgpub.io/gfwlist +server=/savethedate.foo/127.0.0.1#5335 +ipset=/savethedate.foo/gfwlist +server=/icloud.ie/127.0.0.1#5335 +ipset=/icloud.ie/gfwlist +server=/facebookmarketing.info/127.0.0.1#5335 +ipset=/facebookmarketing.info/gfwlist +server=/facebookmanager.info/127.0.0.1#5335 +ipset=/facebookmanager.info/gfwlist +server=/ipadair.fr/127.0.0.1#5335 +ipset=/ipadair.fr/gfwlist +server=/facebookmail.tv/127.0.0.1#5335 +ipset=/facebookmail.tv/gfwlist +server=/nikeairmaxs.com/127.0.0.1#5335 +ipset=/nikeairmaxs.com/gfwlist +server=/fox35orlando.com/127.0.0.1#5335 +ipset=/fox35orlando.com/gfwlist +server=/kijijiautos.ca/127.0.0.1#5335 +ipset=/kijijiautos.ca/gfwlist +server=/headphoneshome.com/127.0.0.1#5335 +ipset=/headphoneshome.com/gfwlist +server=/facebooklogin.com/127.0.0.1#5335 +ipset=/facebooklogin.com/gfwlist +server=/appleipodsettlement.com/127.0.0.1#5335 +ipset=/appleipodsettlement.com/gfwlist +server=/cdngarenanow-a.akamaihd.net/127.0.0.1#5335 +ipset=/cdngarenanow-a.akamaihd.net/gfwlist +server=/facebooki.com/127.0.0.1#5335 +ipset=/facebooki.com/gfwlist +server=/facebookhub.com/127.0.0.1#5335 +ipset=/facebookhub.com/gfwlist +server=/visa.pt/127.0.0.1#5335 +ipset=/visa.pt/gfwlist +server=/mastercard.co.za/127.0.0.1#5335 +ipset=/mastercard.co.za/gfwlist +server=/ebayheels.com/127.0.0.1#5335 +ipset=/ebayheels.com/gfwlist +server=/facebookhome.cc/127.0.0.1#5335 +ipset=/facebookhome.cc/gfwlist +server=/paypal-innovationlab.com/127.0.0.1#5335 +ipset=/paypal-innovationlab.com/gfwlist +server=/ebayoncampus.com/127.0.0.1#5335 +ipset=/ebayoncampus.com/gfwlist +server=/facebookgraphsearch.com/127.0.0.1#5335 +ipset=/facebookgraphsearch.com/gfwlist +server=/facebookcoronavirus.com/127.0.0.1#5335 +ipset=/facebookcoronavirus.com/gfwlist +server=/facebookconsultant.org/127.0.0.1#5335 +ipset=/facebookconsultant.org/gfwlist +server=/facebookcom.com/127.0.0.1#5335 +ipset=/facebookcom.com/gfwlist +server=/frescolib.org/127.0.0.1#5335 +ipset=/frescolib.org/gfwlist +server=/facebookclub.com/127.0.0.1#5335 +ipset=/facebookclub.com/gfwlist +server=/facebookbrand.net/127.0.0.1#5335 +ipset=/facebookbrand.net/gfwlist +server=/gettyimages.com.mx/127.0.0.1#5335 +ipset=/gettyimages.com.mx/gfwlist +server=/facebookadvertisingsecrets.com/127.0.0.1#5335 +ipset=/facebookadvertisingsecrets.com/gfwlist +server=/facebook.us/127.0.0.1#5335 +ipset=/facebook.us/gfwlist +server=/facebook.shop/127.0.0.1#5335 +ipset=/facebook.shop/gfwlist +server=/disqus.com/127.0.0.1#5335 +ipset=/disqus.com/gfwlist +server=/wixapps.net/127.0.0.1#5335 +ipset=/wixapps.net/gfwlist +server=/facebook.nl/127.0.0.1#5335 +ipset=/facebook.nl/gfwlist +server=/fecebook.net/127.0.0.1#5335 +ipset=/fecebook.net/gfwlist +server=/huobigroup.com/127.0.0.1#5335 +ipset=/huobigroup.com/gfwlist +server=/vidmpreview.com/127.0.0.1#5335 +ipset=/vidmpreview.com/gfwlist +server=/facebook.hu/127.0.0.1#5335 +ipset=/facebook.hu/gfwlist +server=/facebook.net/127.0.0.1#5335 +ipset=/facebook.net/gfwlist +server=/canon.com/127.0.0.1#5335 +ipset=/canon.com/gfwlist +server=/facebook.br/127.0.0.1#5335 +ipset=/facebook.br/gfwlist +server=/paypal-prepagata.com/127.0.0.1#5335 +ipset=/paypal-prepagata.com/gfwlist +server=/terapeack.com/127.0.0.1#5335 +ipset=/terapeack.com/gfwlist +server=/facebook-texas-holdem.com/127.0.0.1#5335 +ipset=/facebook-texas-holdem.com/gfwlist +server=/nyt.net/127.0.0.1#5335 +ipset=/nyt.net/gfwlist +server=/oculusbrand.com/127.0.0.1#5335 +ipset=/oculusbrand.com/gfwlist +server=/facebook-pmdcenter.net/127.0.0.1#5335 +ipset=/facebook-pmdcenter.net/gfwlist +server=/curseforge.com/127.0.0.1#5335 +ipset=/curseforge.com/gfwlist +server=/francemail.com/127.0.0.1#5335 +ipset=/francemail.com/gfwlist +server=/shopcustomizedbeats.com/127.0.0.1#5335 +ipset=/shopcustomizedbeats.com/gfwlist +server=/storesense.com/127.0.0.1#5335 +ipset=/storesense.com/gfwlist +server=/vfsco.se/127.0.0.1#5335 +ipset=/vfsco.se/gfwlist +server=/facebook-newsroom.com/127.0.0.1#5335 +ipset=/facebook-newsroom.com/gfwlist +server=/facebook-forum.com/127.0.0.1#5335 +ipset=/facebook-forum.com/gfwlist +server=/easic.com/127.0.0.1#5335 +ipset=/easic.com/gfwlist +server=/easportsfootball.com/127.0.0.1#5335 +ipset=/easportsfootball.com/gfwlist +server=/miniworkshop.com/127.0.0.1#5335 +ipset=/miniworkshop.com/gfwlist +server=/nike-org.com/127.0.0.1#5335 +ipset=/nike-org.com/gfwlist +server=/facebook-corp.com/127.0.0.1#5335 +ipset=/facebook-corp.com/gfwlist +server=/microsoft.cz/127.0.0.1#5335 +ipset=/microsoft.cz/gfwlist +server=/faceboock.com/127.0.0.1#5335 +ipset=/faceboock.com/gfwlist +server=/paypal-business.org/127.0.0.1#5335 +ipset=/paypal-business.org/gfwlist +server=/visa.com.sg/127.0.0.1#5335 +ipset=/visa.com.sg/gfwlist +server=/bmw.com.ph/127.0.0.1#5335 +ipset=/bmw.com.ph/gfwlist +server=/bookclubcorner.com/127.0.0.1#5335 +ipset=/bookclubcorner.com/gfwlist +server=/faceboobok.com/127.0.0.1#5335 +ipset=/faceboobok.com/gfwlist +server=/beatswirelesscuffie.com/127.0.0.1#5335 +ipset=/beatswirelesscuffie.com/gfwlist +server=/faceboo.com/127.0.0.1#5335 +ipset=/faceboo.com/gfwlist +server=/betternike.com/127.0.0.1#5335 +ipset=/betternike.com/gfwlist +server=/facebomok.com/127.0.0.1#5335 +ipset=/facebomok.com/gfwlist +server=/fteproxy.org/127.0.0.1#5335 +ipset=/fteproxy.org/gfwlist +server=/attuverseonline.com/127.0.0.1#5335 +ipset=/attuverseonline.com/gfwlist +server=/braintreeps.com/127.0.0.1#5335 +ipset=/braintreeps.com/gfwlist +server=/renovacionxboxlive.com/127.0.0.1#5335 +ipset=/renovacionxboxlive.com/gfwlist +server=/facebokok.com/127.0.0.1#5335 +ipset=/facebokok.com/gfwlist +server=/facebokk.com/127.0.0.1#5335 +ipset=/facebokk.com/gfwlist +server=/canonproprinters.com/127.0.0.1#5335 +ipset=/canonproprinters.com/gfwlist +server=/beatsbydreonlines-ireland.com/127.0.0.1#5335 +ipset=/beatsbydreonlines-ireland.com/gfwlist +server=/facebokc.com/127.0.0.1#5335 +ipset=/facebokc.com/gfwlist +server=/facebokbook.com/127.0.0.1#5335 +ipset=/facebokbook.com/gfwlist +server=/facebocke.com/127.0.0.1#5335 +ipset=/facebocke.com/gfwlist +server=/faceboak.com/127.0.0.1#5335 +ipset=/faceboak.com/gfwlist +server=/google.co.uk/127.0.0.1#5335 +ipset=/google.co.uk/gfwlist +server=/drebeats-singapore.net/127.0.0.1#5335 +ipset=/drebeats-singapore.net/gfwlist +server=/facebkkk.com/127.0.0.1#5335 +ipset=/facebkkk.com/gfwlist +server=/desktopmovies.net/127.0.0.1#5335 +ipset=/desktopmovies.net/gfwlist +server=/botstop.com/127.0.0.1#5335 +ipset=/botstop.com/gfwlist +server=/arphic.com/127.0.0.1#5335 +ipset=/arphic.com/gfwlist +server=/facebdok.com/127.0.0.1#5335 +ipset=/facebdok.com/gfwlist +server=/dailymail.co.uk/127.0.0.1#5335 +ipset=/dailymail.co.uk/gfwlist +server=/ext-twitch.tv/127.0.0.1#5335 +ipset=/ext-twitch.tv/gfwlist +server=/facebboook.com/127.0.0.1#5335 +ipset=/facebboook.com/gfwlist +server=/facebbook.com/127.0.0.1#5335 +ipset=/facebbook.com/gfwlist +server=/faceabook.com/127.0.0.1#5335 +ipset=/faceabook.com/gfwlist +server=/volvotrucks.sg/127.0.0.1#5335 +ipset=/volvotrucks.sg/gfwlist +server=/face-book.com/127.0.0.1#5335 +ipset=/face-book.com/gfwlist +server=/vct.news/127.0.0.1#5335 +ipset=/vct.news/gfwlist +server=/facdebook.com/127.0.0.1#5335 +ipset=/facdebook.com/gfwlist +server=/cashbycashapp.com/127.0.0.1#5335 +ipset=/cashbycashapp.com/gfwlist +server=/newton.com/127.0.0.1#5335 +ipset=/newton.com/gfwlist +server=/beats-headphones.us/127.0.0.1#5335 +ipset=/beats-headphones.us/gfwlist +server=/firestonecomercial.com.mx/127.0.0.1#5335 +ipset=/firestonecomercial.com.mx/gfwlist +server=/facbool.com/127.0.0.1#5335 +ipset=/facbool.com/gfwlist +server=/alphera.co.in/127.0.0.1#5335 +ipset=/alphera.co.in/gfwlist +server=/facbook.com/127.0.0.1#5335 +ipset=/facbook.com/gfwlist +server=/facbeok.com/127.0.0.1#5335 +ipset=/facbeok.com/gfwlist +server=/youtube.co.zw/127.0.0.1#5335 +ipset=/youtube.co.zw/gfwlist +server=/faacebook.com/127.0.0.1#5335 +ipset=/faacebook.com/gfwlist +server=/dotfacebook.net/127.0.0.1#5335 +ipset=/dotfacebook.net/gfwlist +server=/webex.co.uk/127.0.0.1#5335 +ipset=/webex.co.uk/gfwlist +server=/adobesign.com/127.0.0.1#5335 +ipset=/adobesign.com/gfwlist +server=/bmw-connecteddrive.hu/127.0.0.1#5335 +ipset=/bmw-connecteddrive.hu/gfwlist +server=/como-hackearfacebook.com/127.0.0.1#5335 +ipset=/como-hackearfacebook.com/gfwlist +server=/china-facebook.com/127.0.0.1#5335 +ipset=/china-facebook.com/gfwlist +server=/celebgramme.com/127.0.0.1#5335 +ipset=/celebgramme.com/gfwlist +server=/careersatfb.com/127.0.0.1#5335 +ipset=/careersatfb.com/gfwlist +server=/fbf8.com/127.0.0.1#5335 +ipset=/fbf8.com/gfwlist +server=/reactjs.org/127.0.0.1#5335 +ipset=/reactjs.org/gfwlist +server=/atlasdmt.com/127.0.0.1#5335 +ipset=/atlasdmt.com/gfwlist +server=/youtube.hu/127.0.0.1#5335 +ipset=/youtube.hu/gfwlist +server=/canon.be/127.0.0.1#5335 +ipset=/canon.be/gfwlist +server=/alphabet.asia/127.0.0.1#5335 +ipset=/alphabet.asia/gfwlist +server=/bloombergbriefs.com/127.0.0.1#5335 +ipset=/bloombergbriefs.com/gfwlist +server=/epicbrowser.com/127.0.0.1#5335 +ipset=/epicbrowser.com/gfwlist +server=/myrewardzone.com/127.0.0.1#5335 +ipset=/myrewardzone.com/gfwlist +server=/beautyandthebeastmusical.co.uk/127.0.0.1#5335 +ipset=/beautyandthebeastmusical.co.uk/gfwlist +server=/beatsbydreboxingdayca.com/127.0.0.1#5335 +ipset=/beatsbydreboxingdayca.com/gfwlist +server=/acebooik.com/127.0.0.1#5335 +ipset=/acebooik.com/gfwlist +server=/youtube.co.jp/127.0.0.1#5335 +ipset=/youtube.co.jp/gfwlist +server=/admob.com/127.0.0.1#5335 +ipset=/admob.com/gfwlist +server=/whatsapp.net/127.0.0.1#5335 +ipset=/whatsapp.net/gfwlist +server=/paypal-plaza.com/127.0.0.1#5335 +ipset=/paypal-plaza.com/gfwlist +server=/whatsapp.info/127.0.0.1#5335 +ipset=/whatsapp.info/gfwlist +server=/rakuten.tw/127.0.0.1#5335 +ipset=/rakuten.tw/gfwlist +server=/verisign.info/127.0.0.1#5335 +ipset=/verisign.info/gfwlist +server=/typekit.net/127.0.0.1#5335 +ipset=/typekit.net/gfwlist +server=/vfsco.com.br/127.0.0.1#5335 +ipset=/vfsco.com.br/gfwlist +server=/whatsapp.cc/127.0.0.1#5335 +ipset=/whatsapp.cc/gfwlist +server=/blizzcon-a.akamaihd.net/127.0.0.1#5335 +ipset=/blizzcon-a.akamaihd.net/gfwlist +server=/nsimg.net/127.0.0.1#5335 +ipset=/nsimg.net/gfwlist +server=/oculusvr.com/127.0.0.1#5335 +ipset=/oculusvr.com/gfwlist +server=/visa.lt/127.0.0.1#5335 +ipset=/visa.lt/gfwlist +server=/rbbusinessshop.com/127.0.0.1#5335 +ipset=/rbbusinessshop.com/gfwlist +server=/wwwpaypass.com/127.0.0.1#5335 +ipset=/wwwpaypass.com/gfwlist +server=/steamgames.com/127.0.0.1#5335 +ipset=/steamgames.com/gfwlist +server=/gbnews.uk/127.0.0.1#5335 +ipset=/gbnews.uk/gfwlist +server=/maskedsingerfox.com/127.0.0.1#5335 +ipset=/maskedsingerfox.com/gfwlist +server=/facebook-pmdcenter.org/127.0.0.1#5335 +ipset=/facebook-pmdcenter.org/gfwlist +server=/oculus.com/127.0.0.1#5335 +ipset=/oculus.com/gfwlist +server=/gvt3.com/127.0.0.1#5335 +ipset=/gvt3.com/gfwlist +server=/nbabot.net/127.0.0.1#5335 +ipset=/nbabot.net/gfwlist +server=/bmw.tt/127.0.0.1#5335 +ipset=/bmw.tt/gfwlist +server=/directvlosangeles.com/127.0.0.1#5335 +ipset=/directvlosangeles.com/gfwlist +server=/epochtimes.pl/127.0.0.1#5335 +ipset=/epochtimes.pl/gfwlist +server=/web-instagram.net/127.0.0.1#5335 +ipset=/web-instagram.net/gfwlist +server=/online-instagram.com/127.0.0.1#5335 +ipset=/online-instagram.com/gfwlist +server=/facebhook.com/127.0.0.1#5335 +ipset=/facebhook.com/gfwlist +server=/theinstagramhack.com/127.0.0.1#5335 +ipset=/theinstagramhack.com/gfwlist +server=/volvopenta.nl/127.0.0.1#5335 +ipset=/volvopenta.nl/gfwlist +server=/lnstagram-help.com/127.0.0.1#5335 +ipset=/lnstagram-help.com/gfwlist +server=/canon-emea.com/127.0.0.1#5335 +ipset=/canon-emea.com/gfwlist +server=/bmwm.com/127.0.0.1#5335 +ipset=/bmwm.com/gfwlist +server=/kingstagram.com/127.0.0.1#5335 +ipset=/kingstagram.com/gfwlist +server=/instgram.com/127.0.0.1#5335 +ipset=/instgram.com/gfwlist +server=/instastyle.tv/127.0.0.1#5335 +ipset=/instastyle.tv/gfwlist +server=/vhxqa1.com/127.0.0.1#5335 +ipset=/vhxqa1.com/gfwlist +server=/blzmedia-a.akamaihd.net/127.0.0.1#5335 +ipset=/blzmedia-a.akamaihd.net/gfwlist +server=/gopivotal.com/127.0.0.1#5335 +ipset=/gopivotal.com/gfwlist +server=/braintreepayments.org/127.0.0.1#5335 +ipset=/braintreepayments.org/gfwlist +server=/instanttelegram.com/127.0.0.1#5335 +ipset=/instanttelegram.com/gfwlist +server=/tvmedia.net.au/127.0.0.1#5335 +ipset=/tvmedia.net.au/gfwlist +server=/21centuryaccess.com/127.0.0.1#5335 +ipset=/21centuryaccess.com/gfwlist +server=/volvobuses.com.ar/127.0.0.1#5335 +ipset=/volvobuses.com.ar/gfwlist +server=/geeksquad.com/127.0.0.1#5335 +ipset=/geeksquad.com/gfwlist +server=/time.gov/127.0.0.1#5335 +ipset=/time.gov/gfwlist +server=/amplifyframework.com/127.0.0.1#5335 +ipset=/amplifyframework.com/gfwlist +server=/sundayready.com/127.0.0.1#5335 +ipset=/sundayready.com/gfwlist +server=/instagrem.com/127.0.0.1#5335 +ipset=/instagrem.com/gfwlist +server=/licensebuttons.net/127.0.0.1#5335 +ipset=/licensebuttons.net/gfwlist +server=/thomsonreuters.com.br/127.0.0.1#5335 +ipset=/thomsonreuters.com.br/gfwlist +server=/instagramtips.com/127.0.0.1#5335 +ipset=/instagramtips.com/gfwlist +server=/zeronet.io/127.0.0.1#5335 +ipset=/zeronet.io/gfwlist +server=/aanaan.com/127.0.0.1#5335 +ipset=/aanaan.com/gfwlist +server=/hplatexknowledgecenter.com/127.0.0.1#5335 +ipset=/hplatexknowledgecenter.com/gfwlist +server=/pypl.tv/127.0.0.1#5335 +ipset=/pypl.tv/gfwlist +server=/riotforgegames.com/127.0.0.1#5335 +ipset=/riotforgegames.com/gfwlist +server=/instagramdi.com/127.0.0.1#5335 +ipset=/instagramdi.com/gfwlist +server=/sourcingforebay.net/127.0.0.1#5335 +ipset=/sourcingforebay.net/gfwlist +server=/zeenews-fonts.s3.amazonaws.com/127.0.0.1#5335 +ipset=/zeenews-fonts.s3.amazonaws.com/gfwlist +server=/instagramm.com/127.0.0.1#5335 +ipset=/instagramm.com/gfwlist +server=/drdrebeatsuk.com/127.0.0.1#5335 +ipset=/drdrebeatsuk.com/gfwlist +server=/paypalbeacon.com/127.0.0.1#5335 +ipset=/paypalbeacon.com/gfwlist +server=/instagramkusu.com/127.0.0.1#5335 +ipset=/instagramkusu.com/gfwlist +server=/mray.club/127.0.0.1#5335 +ipset=/mray.club/gfwlist +server=/origin.com/127.0.0.1#5335 +ipset=/origin.com/gfwlist +server=/icloud.vn/127.0.0.1#5335 +ipset=/icloud.vn/gfwlist +server=/thinkdifferent.us/127.0.0.1#5335 +ipset=/thinkdifferent.us/gfwlist +server=/instagramcn.com/127.0.0.1#5335 +ipset=/instagramcn.com/gfwlist +server=/instagramci.com/127.0.0.1#5335 +ipset=/instagramci.com/gfwlist +server=/pixiv.net/127.0.0.1#5335 +ipset=/pixiv.net/gfwlist +server=/pokemonvgc.com/127.0.0.1#5335 +ipset=/pokemonvgc.com/gfwlist +server=/apple.pl/127.0.0.1#5335 +ipset=/apple.pl/gfwlist +server=/canon.com.cy/127.0.0.1#5335 +ipset=/canon.com.cy/gfwlist +server=/vanish.ch/127.0.0.1#5335 +ipset=/vanish.ch/gfwlist +server=/booking.com/127.0.0.1#5335 +ipset=/booking.com/gfwlist +server=/payypal.com/127.0.0.1#5335 +ipset=/payypal.com/gfwlist +server=/workers.dev/127.0.0.1#5335 +ipset=/workers.dev/gfwlist +server=/intel.sy/127.0.0.1#5335 +ipset=/intel.sy/gfwlist +server=/instagda.com/127.0.0.1#5335 +ipset=/instagda.com/gfwlist +server=/foxsportsneworleans.com/127.0.0.1#5335 +ipset=/foxsportsneworleans.com/gfwlist +server=/instafallow.com/127.0.0.1#5335 +ipset=/instafallow.com/gfwlist +server=/steemit.com/127.0.0.1#5335 +ipset=/steemit.com/gfwlist +server=/foxsportssupports.com/127.0.0.1#5335 +ipset=/foxsportssupports.com/gfwlist +server=/instachecker.com/127.0.0.1#5335 +ipset=/instachecker.com/gfwlist +server=/instaadder.com/127.0.0.1#5335 +ipset=/instaadder.com/gfwlist +server=/scholar.google.si/127.0.0.1#5335 +ipset=/scholar.google.si/gfwlist +server=/dnsvisa.com/127.0.0.1#5335 +ipset=/dnsvisa.com/gfwlist +server=/igtv.com/127.0.0.1#5335 +ipset=/igtv.com/gfwlist +server=/igsonar.com/127.0.0.1#5335 +ipset=/igsonar.com/gfwlist +server=/yahoo.com.om/127.0.0.1#5335 +ipset=/yahoo.com.om/gfwlist +server=/volvobuses.se/127.0.0.1#5335 +ipset=/volvobuses.se/gfwlist +server=/google.dk/127.0.0.1#5335 +ipset=/google.dk/gfwlist +server=/ebuyheadphones.com/127.0.0.1#5335 +ipset=/ebuyheadphones.com/gfwlist +server=/cdninstagram.com/127.0.0.1#5335 +ipset=/cdninstagram.com/gfwlist +server=/applepremiumresellers.com.au/127.0.0.1#5335 +ipset=/applepremiumresellers.com.au/gfwlist +server=/palestineremix.com/127.0.0.1#5335 +ipset=/palestineremix.com/gfwlist +server=/acheterdesfollowersinstagram.com/127.0.0.1#5335 +ipset=/acheterdesfollowersinstagram.com/gfwlist +server=/achat-followers-instagram.com/127.0.0.1#5335 +ipset=/achat-followers-instagram.com/gfwlist +server=/globaledu.org/127.0.0.1#5335 +ipset=/globaledu.org/gfwlist +server=/battlefront2.com/127.0.0.1#5335 +ipset=/battlefront2.com/gfwlist +server=/swisssign-group.com/127.0.0.1#5335 +ipset=/swisssign-group.com/gfwlist +server=/amebaownd.com/127.0.0.1#5335 +ipset=/amebaownd.com/gfwlist +server=/thomsonreuters.com.ar/127.0.0.1#5335 +ipset=/thomsonreuters.com.ar/gfwlist +server=/airwatchqa.com/127.0.0.1#5335 +ipset=/airwatchqa.com/gfwlist +server=/s2stagehance.com/127.0.0.1#5335 +ipset=/s2stagehance.com/gfwlist +server=/airwatchexpress.com/127.0.0.1#5335 +ipset=/airwatchexpress.com/gfwlist +server=/air-watch.com/127.0.0.1#5335 +ipset=/air-watch.com/gfwlist +server=/vsphere.net/127.0.0.1#5335 +ipset=/vsphere.net/gfwlist +server=/foxuv.com/127.0.0.1#5335 +ipset=/foxuv.com/gfwlist +server=/paragon.com/127.0.0.1#5335 +ipset=/paragon.com/gfwlist +server=/miniofmonrovia.com/127.0.0.1#5335 +ipset=/miniofmonrovia.com/gfwlist +server=/wireguard.com/127.0.0.1#5335 +ipset=/wireguard.com/gfwlist +server=/aliverewind.com/127.0.0.1#5335 +ipset=/aliverewind.com/gfwlist +server=/aliveitsm.com/127.0.0.1#5335 +ipset=/aliveitsm.com/gfwlist +server=/hpcustomersupport.net/127.0.0.1#5335 +ipset=/hpcustomersupport.net/gfwlist +server=/nyansa.com/127.0.0.1#5335 +ipset=/nyansa.com/gfwlist +server=/kubeapps.com/127.0.0.1#5335 +ipset=/kubeapps.com/gfwlist +server=/durex.cl/127.0.0.1#5335 +ipset=/durex.cl/gfwlist +server=/cloudhealthtech.com/127.0.0.1#5335 +ipset=/cloudhealthtech.com/gfwlist +server=/dockerizer.com/127.0.0.1#5335 +ipset=/dockerizer.com/gfwlist +server=/mastercard.com.ph/127.0.0.1#5335 +ipset=/mastercard.com.ph/gfwlist +server=/bitnamiapp.com/127.0.0.1#5335 +ipset=/bitnamiapp.com/gfwlist +server=/shopee.com/127.0.0.1#5335 +ipset=/shopee.com/gfwlist +server=/badaas.com/127.0.0.1#5335 +ipset=/badaas.com/gfwlist +server=/bronto.com/127.0.0.1#5335 +ipset=/bronto.com/gfwlist +server=/officialbeatsbydrestore.com/127.0.0.1#5335 +ipset=/officialbeatsbydrestore.com/gfwlist +server=/sway-cdn.com/127.0.0.1#5335 +ipset=/sway-cdn.com/gfwlist +server=/vnware.net/127.0.0.1#5335 +ipset=/vnware.net/gfwlist +server=/cyber-bay.org/127.0.0.1#5335 +ipset=/cyber-bay.org/gfwlist +server=/sonydesign.com/127.0.0.1#5335 +ipset=/sonydesign.com/gfwlist +server=/forzaracingchampionship.com/127.0.0.1#5335 +ipset=/forzaracingchampionship.com/gfwlist +server=/vmworld2010.com/127.0.0.1#5335 +ipset=/vmworld2010.com/gfwlist +server=/vmwlearningplatform.com/127.0.0.1#5335 +ipset=/vmwlearningplatform.com/gfwlist +server=/vmwgcomms.com/127.0.0.1#5335 +ipset=/vmwgcomms.com/gfwlist +server=/vmwarestuff.com/127.0.0.1#5335 +ipset=/vmwarestuff.com/gfwlist +server=/vmwarelearningplatform.com/127.0.0.1#5335 +ipset=/vmwarelearningplatform.com/gfwlist +server=/vmwaregrid.com/127.0.0.1#5335 +ipset=/vmwaregrid.com/gfwlist +server=/tvb.com/127.0.0.1#5335 +ipset=/tvb.com/gfwlist +server=/streamable.com/127.0.0.1#5335 +ipset=/streamable.com/gfwlist +server=/foxkansas.com/127.0.0.1#5335 +ipset=/foxkansas.com/gfwlist +server=/fbcdn.com/127.0.0.1#5335 +ipset=/fbcdn.com/gfwlist +server=/awsautoscaling.com/127.0.0.1#5335 +ipset=/awsautoscaling.com/gfwlist +server=/casquebeatsfracheter.com/127.0.0.1#5335 +ipset=/casquebeatsfracheter.com/gfwlist +server=/vmwareausnews.com/127.0.0.1#5335 +ipset=/vmwareausnews.com/gfwlist +server=/pickshoesclothes.com/127.0.0.1#5335 +ipset=/pickshoesclothes.com/gfwlist +server=/hcaptchastatus.com/127.0.0.1#5335 +ipset=/hcaptchastatus.com/gfwlist +server=/dettol.pk/127.0.0.1#5335 +ipset=/dettol.pk/gfwlist +server=/scholar.google.co.nz/127.0.0.1#5335 +ipset=/scholar.google.co.nz/gfwlist +server=/realitykings.com/127.0.0.1#5335 +ipset=/realitykings.com/gfwlist +server=/hulupurchase.com/127.0.0.1#5335 +ipset=/hulupurchase.com/gfwlist +server=/drebeatsbydreoutlet.com/127.0.0.1#5335 +ipset=/drebeatsbydreoutlet.com/gfwlist +server=/shops-disney.com/127.0.0.1#5335 +ipset=/shops-disney.com/gfwlist +server=/spoti.fi/127.0.0.1#5335 +ipset=/spoti.fi/gfwlist +server=/foxnewsradio.com/127.0.0.1#5335 +ipset=/foxnewsradio.com/gfwlist +server=/e-hentai.org/127.0.0.1#5335 +ipset=/e-hentai.org/gfwlist +server=/firestonecomercial.com.br/127.0.0.1#5335 +ipset=/firestonecomercial.com.br/gfwlist +server=/sonypicturesstudios.com/127.0.0.1#5335 +ipset=/sonypicturesstudios.com/gfwlist +server=/feacebook.com/127.0.0.1#5335 +ipset=/feacebook.com/gfwlist +server=/ampproject.org/127.0.0.1#5335 +ipset=/ampproject.org/gfwlist +server=/virsto.com/127.0.0.1#5335 +ipset=/virsto.com/gfwlist +server=/vfabric.net/127.0.0.1#5335 +ipset=/vfabric.net/gfwlist +server=/dcard.io/127.0.0.1#5335 +ipset=/dcard.io/gfwlist +server=/youtube.sa/127.0.0.1#5335 +ipset=/youtube.sa/gfwlist +server=/ssdevrd.com/127.0.0.1#5335 +ipset=/ssdevrd.com/gfwlist +server=/snapvolumes.com/127.0.0.1#5335 +ipset=/snapvolumes.com/gfwlist +server=/mini-connected.be/127.0.0.1#5335 +ipset=/mini-connected.be/gfwlist +server=/steamcommunity-a.akamaihd.net/127.0.0.1#5335 +ipset=/steamcommunity-a.akamaihd.net/gfwlist +server=/facfacebook.com/127.0.0.1#5335 +ipset=/facfacebook.com/gfwlist +server=/itfromtheinside.com/127.0.0.1#5335 +ipset=/itfromtheinside.com/gfwlist +server=/hwslabs.com/127.0.0.1#5335 +ipset=/hwslabs.com/gfwlist +server=/greenplum.net/127.0.0.1#5335 +ipset=/greenplum.net/gfwlist +server=/foxlexington.com/127.0.0.1#5335 +ipset=/foxlexington.com/gfwlist +server=/iphone.com.gr/127.0.0.1#5335 +ipset=/iphone.com.gr/gfwlist +server=/udtrucksmeena.com/127.0.0.1#5335 +ipset=/udtrucksmeena.com/gfwlist +server=/getboxer.com/127.0.0.1#5335 +ipset=/getboxer.com/gfwlist +server=/9to5toys.com/127.0.0.1#5335 +ipset=/9to5toys.com/gfwlist +server=/mastercard.co.id/127.0.0.1#5335 +ipset=/mastercard.co.id/gfwlist +server=/xamarin.com/127.0.0.1#5335 +ipset=/xamarin.com/gfwlist +server=/starbucks.de/127.0.0.1#5335 +ipset=/starbucks.de/gfwlist +server=/mini-clubs-international.com/127.0.0.1#5335 +ipset=/mini-clubs-international.com/gfwlist +server=/gemfire.net/127.0.0.1#5335 +ipset=/gemfire.net/gfwlist +server=/dvh30n.vip/127.0.0.1#5335 +ipset=/dvh30n.vip/gfwlist +server=/property.com.au/127.0.0.1#5335 +ipset=/property.com.au/gfwlist +server=/dat.foundation/127.0.0.1#5335 +ipset=/dat.foundation/gfwlist +server=/bbycontent.com/127.0.0.1#5335 +ipset=/bbycontent.com/gfwlist +server=/disney.ch/127.0.0.1#5335 +ipset=/disney.ch/gfwlist +server=/fbacebook.com/127.0.0.1#5335 +ipset=/fbacebook.com/gfwlist +server=/play4free.com/127.0.0.1#5335 +ipset=/play4free.com/gfwlist +server=/businessinsider.sg/127.0.0.1#5335 +ipset=/businessinsider.sg/gfwlist +server=/cpedge.com/127.0.0.1#5335 +ipset=/cpedge.com/gfwlist +server=/slack-msgs.com/127.0.0.1#5335 +ipset=/slack-msgs.com/gfwlist +server=/javcc.cc/127.0.0.1#5335 +ipset=/javcc.cc/gfwlist +server=/barefootnetworks.com/127.0.0.1#5335 +ipset=/barefootnetworks.com/gfwlist +server=/cfblob.com/127.0.0.1#5335 +ipset=/cfblob.com/gfwlist +server=/cloudcone.net/127.0.0.1#5335 +ipset=/cloudcone.net/gfwlist +server=/paypal.info/127.0.0.1#5335 +ipset=/paypal.info/gfwlist +server=/howtogetmo.co.uk/127.0.0.1#5335 +ipset=/howtogetmo.co.uk/gfwlist +server=/google.ne/127.0.0.1#5335 +ipset=/google.ne/gfwlist +server=/cisco.evergage.com/127.0.0.1#5335 +ipset=/cisco.evergage.com/gfwlist +server=/rethink.net/127.0.0.1#5335 +ipset=/rethink.net/gfwlist +server=/tailf.com/127.0.0.1#5335 +ipset=/tailf.com/gfwlist +server=/scholar.google.com.co/127.0.0.1#5335 +ipset=/scholar.google.com.co/gfwlist +server=/cloudflareresolve.com/127.0.0.1#5335 +ipset=/cloudflareresolve.com/gfwlist +server=/webex.fr/127.0.0.1#5335 +ipset=/webex.fr/gfwlist +server=/merakigo.com/127.0.0.1#5335 +ipset=/merakigo.com/gfwlist +server=/oxfordlawtrove.com/127.0.0.1#5335 +ipset=/oxfordlawtrove.com/gfwlist +server=/stackpath.dev/127.0.0.1#5335 +ipset=/stackpath.dev/gfwlist +server=/svpply.com/127.0.0.1#5335 +ipset=/svpply.com/gfwlist +server=/spyjinx.com/127.0.0.1#5335 +ipset=/spyjinx.com/gfwlist +server=/collector.xhamster.com/127.0.0.1#5335 +ipset=/collector.xhamster.com/gfwlist +server=/dukgo.com/127.0.0.1#5335 +ipset=/dukgo.com/gfwlist +server=/ettrade.com.hk/127.0.0.1#5335 +ipset=/ettrade.com.hk/gfwlist +server=/bmw-connecteddrive.com.br/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com.br/gfwlist +server=/pokemonswordshield.com/127.0.0.1#5335 +ipset=/pokemonswordshield.com/gfwlist +server=/kicksnike1.com/127.0.0.1#5335 +ipset=/kicksnike1.com/gfwlist +server=/fbthirdpartypixel.org/127.0.0.1#5335 +ipset=/fbthirdpartypixel.org/gfwlist +server=/steamcdn-a.akamaihd.net/127.0.0.1#5335 +ipset=/steamcdn-a.akamaihd.net/gfwlist +server=/gmoney.org/127.0.0.1#5335 +ipset=/gmoney.org/gfwlist +server=/youtube.com.pk/127.0.0.1#5335 +ipset=/youtube.com.pk/gfwlist +server=/fox46charlotte.com/127.0.0.1#5335 +ipset=/fox46charlotte.com/gfwlist +server=/apple-store.wang/127.0.0.1#5335 +ipset=/apple-store.wang/gfwlist +server=/phprcdn.com/127.0.0.1#5335 +ipset=/phprcdn.com/gfwlist +server=/nintendo.co.za/127.0.0.1#5335 +ipset=/nintendo.co.za/gfwlist +server=/kindleproject.com/127.0.0.1#5335 +ipset=/kindleproject.com/gfwlist +server=/sagepub.com/127.0.0.1#5335 +ipset=/sagepub.com/gfwlist +server=/itunes.hk/127.0.0.1#5335 +ipset=/itunes.hk/gfwlist +server=/hpofficejetprinter.com/127.0.0.1#5335 +ipset=/hpofficejetprinter.com/gfwlist +server=/bbyurl.us/127.0.0.1#5335 +ipset=/bbyurl.us/gfwlist +server=/monsterbeatsbydre2015.com/127.0.0.1#5335 +ipset=/monsterbeatsbydre2015.com/gfwlist +server=/mac.eu/127.0.0.1#5335 +ipset=/mac.eu/gfwlist +server=/unbrandedproducts.com/127.0.0.1#5335 +ipset=/unbrandedproducts.com/gfwlist +server=/videochampion.com/127.0.0.1#5335 +ipset=/videochampion.com/gfwlist +server=/bmw-motorrad.sk/127.0.0.1#5335 +ipset=/bmw-motorrad.sk/gfwlist +server=/beddit.tv/127.0.0.1#5335 +ipset=/beddit.tv/gfwlist +server=/convrgencegame.com/127.0.0.1#5335 +ipset=/convrgencegame.com/gfwlist +server=/starwarsbattlefront2.com/127.0.0.1#5335 +ipset=/starwarsbattlefront2.com/gfwlist +server=/gettyimages.at/127.0.0.1#5335 +ipset=/gettyimages.at/gfwlist +server=/tandberg.com/127.0.0.1#5335 +ipset=/tandberg.com/gfwlist +server=/aaagradeheadphones.com/127.0.0.1#5335 +ipset=/aaagradeheadphones.com/gfwlist +server=/static-cisco.com/127.0.0.1#5335 +ipset=/static-cisco.com/gfwlist +server=/bmwgroupfs.com/127.0.0.1#5335 +ipset=/bmwgroupfs.com/gfwlist +server=/blogspot.it/127.0.0.1#5335 +ipset=/blogspot.it/gfwlist +server=/applestore.qa/127.0.0.1#5335 +ipset=/applestore.qa/gfwlist +server=/strepsils.co.kr/127.0.0.1#5335 +ipset=/strepsils.co.kr/gfwlist +server=/obsrvbl.com/127.0.0.1#5335 +ipset=/obsrvbl.com/gfwlist +server=/anthemthegame.com/127.0.0.1#5335 +ipset=/anthemthegame.com/gfwlist +server=/mini101.ca/127.0.0.1#5335 +ipset=/mini101.ca/gfwlist +server=/observable.net/127.0.0.1#5335 +ipset=/observable.net/gfwlist +server=/applestore.kr/127.0.0.1#5335 +ipset=/applestore.kr/gfwlist +server=/minimotoringschool.com/127.0.0.1#5335 +ipset=/minimotoringschool.com/gfwlist +server=/bbthat.com/127.0.0.1#5335 +ipset=/bbthat.com/gfwlist +server=/adobetag.com/127.0.0.1#5335 +ipset=/adobetag.com/gfwlist +server=/londonmithraeum.com/127.0.0.1#5335 +ipset=/londonmithraeum.com/gfwlist +server=/mybridgestoneeducation.com/127.0.0.1#5335 +ipset=/mybridgestoneeducation.com/gfwlist +server=/kingkong.com.tw/127.0.0.1#5335 +ipset=/kingkong.com.tw/gfwlist +server=/zb.io/127.0.0.1#5335 +ipset=/zb.io/gfwlist +server=/huluinstantmessenger.com/127.0.0.1#5335 +ipset=/huluinstantmessenger.com/gfwlist +server=/bmwgroup-werke.com/127.0.0.1#5335 +ipset=/bmwgroup-werke.com/gfwlist +server=/mysdn.net/127.0.0.1#5335 +ipset=/mysdn.net/gfwlist +server=/mysdn.info/127.0.0.1#5335 +ipset=/mysdn.info/gfwlist +server=/onedrive.net/127.0.0.1#5335 +ipset=/onedrive.net/gfwlist +server=/multiplydiversity.com/127.0.0.1#5335 +ipset=/multiplydiversity.com/gfwlist +server=/redditmedia.com/127.0.0.1#5335 +ipset=/redditmedia.com/gfwlist +server=/alphabet.lu/127.0.0.1#5335 +ipset=/alphabet.lu/gfwlist +server=/mastercard.be/127.0.0.1#5335 +ipset=/mastercard.be/gfwlist +server=/foxnewsgo.tv/127.0.0.1#5335 +ipset=/foxnewsgo.tv/gfwlist +server=/ipodtouch.co/127.0.0.1#5335 +ipset=/ipodtouch.co/gfwlist +server=/apple.tw/127.0.0.1#5335 +ipset=/apple.tw/gfwlist +server=/fonts.net/127.0.0.1#5335 +ipset=/fonts.net/gfwlist +server=/visa.hu/127.0.0.1#5335 +ipset=/visa.hu/gfwlist +server=/applecomputerinc.info/127.0.0.1#5335 +ipset=/applecomputerinc.info/gfwlist +server=/froogle.com/127.0.0.1#5335 +ipset=/froogle.com/gfwlist +server=/paypal-security.org/127.0.0.1#5335 +ipset=/paypal-security.org/gfwlist +server=/nordstrom.com/127.0.0.1#5335 +ipset=/nordstrom.com/gfwlist +server=/nikehightops.com/127.0.0.1#5335 +ipset=/nikehightops.com/gfwlist +server=/volvogroup.be/127.0.0.1#5335 +ipset=/volvogroup.be/gfwlist +server=/solarcity.com/127.0.0.1#5335 +ipset=/solarcity.com/gfwlist +server=/visa.tc/127.0.0.1#5335 +ipset=/visa.tc/gfwlist +server=/100classicbooks.com/127.0.0.1#5335 +ipset=/100classicbooks.com/gfwlist +server=/internetofeverything.com/127.0.0.1#5335 +ipset=/internetofeverything.com/gfwlist +server=/mypearsonenglish.ch/127.0.0.1#5335 +ipset=/mypearsonenglish.ch/gfwlist +server=/thomsonreuters.com.pe/127.0.0.1#5335 +ipset=/thomsonreuters.com.pe/gfwlist +server=/gpstheseries.com/127.0.0.1#5335 +ipset=/gpstheseries.com/gfwlist +server=/volvotrucks.hu/127.0.0.1#5335 +ipset=/volvotrucks.hu/gfwlist +server=/lojaiphone.com.br/127.0.0.1#5335 +ipset=/lojaiphone.com.br/gfwlist +server=/ultimaonline.com/127.0.0.1#5335 +ipset=/ultimaonline.com/gfwlist +server=/finish.ro/127.0.0.1#5335 +ipset=/finish.ro/gfwlist +server=/spaindisney.com/127.0.0.1#5335 +ipset=/spaindisney.com/gfwlist +server=/dnaspaces.io/127.0.0.1#5335 +ipset=/dnaspaces.io/gfwlist +server=/areyoucreditwise.com/127.0.0.1#5335 +ipset=/areyoucreditwise.com/gfwlist +server=/cs.co/127.0.0.1#5335 +ipset=/cs.co/gfwlist +server=/9to5mac.com/127.0.0.1#5335 +ipset=/9to5mac.com/gfwlist +server=/longtailvideo.com/127.0.0.1#5335 +ipset=/longtailvideo.com/gfwlist +server=/minibrossard.ca/127.0.0.1#5335 +ipset=/minibrossard.ca/gfwlist +server=/bmw.co.uk/127.0.0.1#5335 +ipset=/bmw.co.uk/gfwlist +server=/canon.es/127.0.0.1#5335 +ipset=/canon.es/gfwlist +server=/findacard.com/127.0.0.1#5335 +ipset=/findacard.com/gfwlist +server=/cloupia.net/127.0.0.1#5335 +ipset=/cloupia.net/gfwlist +server=/instagy.com/127.0.0.1#5335 +ipset=/instagy.com/gfwlist +server=/appledaily.hk/127.0.0.1#5335 +ipset=/appledaily.hk/gfwlist +server=/nvidia.com.ve/127.0.0.1#5335 +ipset=/nvidia.com.ve/gfwlist +server=/ciscowebseminars.com/127.0.0.1#5335 +ipset=/ciscowebseminars.com/gfwlist +server=/ciscovideo.com/127.0.0.1#5335 +ipset=/ciscovideo.com/gfwlist +server=/ciscoturk.net/127.0.0.1#5335 +ipset=/ciscoturk.net/gfwlist +server=/ciscotr.com/127.0.0.1#5335 +ipset=/ciscotr.com/gfwlist +server=/ciscotaccc.com/127.0.0.1#5335 +ipset=/ciscotaccc.com/gfwlist +server=/nicoseiga.jp/127.0.0.1#5335 +ipset=/nicoseiga.jp/gfwlist +server=/disney.co.il/127.0.0.1#5335 +ipset=/disney.co.il/gfwlist +server=/ciscospark.jp/127.0.0.1#5335 +ipset=/ciscospark.jp/gfwlist +server=/download.91porn005.me/127.0.0.1#5335 +ipset=/download.91porn005.me/gfwlist +server=/69story.com/127.0.0.1#5335 +ipset=/69story.com/gfwlist +server=/microsoftonline-p.com/127.0.0.1#5335 +ipset=/microsoftonline-p.com/gfwlist +server=/icloudo.de/127.0.0.1#5335 +ipset=/icloudo.de/gfwlist +server=/ciscoprice.com/127.0.0.1#5335 +ipset=/ciscoprice.com/gfwlist +server=/geeksquadforums.com/127.0.0.1#5335 +ipset=/geeksquadforums.com/gfwlist +server=/nhentai.net/127.0.0.1#5335 +ipset=/nhentai.net/gfwlist +server=/ciscopowercube.com/127.0.0.1#5335 +ipset=/ciscopowercube.com/gfwlist +server=/softbankbb.com/127.0.0.1#5335 +ipset=/softbankbb.com/gfwlist +server=/foxnetworksinfo.com/127.0.0.1#5335 +ipset=/foxnetworksinfo.com/gfwlist +server=/beatsbydresdanmark.net/127.0.0.1#5335 +ipset=/beatsbydresdanmark.net/gfwlist +server=/login-paypal.com/127.0.0.1#5335 +ipset=/login-paypal.com/gfwlist +server=/ciscopartnermarketing.com/127.0.0.1#5335 +ipset=/ciscopartnermarketing.com/gfwlist +server=/fox28media.com/127.0.0.1#5335 +ipset=/fox28media.com/gfwlist +server=/leagueoflegends.ca/127.0.0.1#5335 +ipset=/leagueoflegends.ca/gfwlist +server=/minitroisrivieres.ca/127.0.0.1#5335 +ipset=/minitroisrivieres.ca/gfwlist +server=/pearsoncred.com/127.0.0.1#5335 +ipset=/pearsoncred.com/gfwlist +server=/imessage.tv/127.0.0.1#5335 +ipset=/imessage.tv/gfwlist +server=/battlebreakers.com/127.0.0.1#5335 +ipset=/battlebreakers.com/gfwlist +server=/makeeu.com/127.0.0.1#5335 +ipset=/makeeu.com/gfwlist +server=/ipple.com/127.0.0.1#5335 +ipset=/ipple.com/gfwlist +server=/nintendo.net/127.0.0.1#5335 +ipset=/nintendo.net/gfwlist +server=/ciscolive.com/127.0.0.1#5335 +ipset=/ciscolive.com/gfwlist +server=/bmw-connecteddrive.tw/127.0.0.1#5335 +ipset=/bmw-connecteddrive.tw/gfwlist +server=/veet.cl/127.0.0.1#5335 +ipset=/veet.cl/gfwlist +server=/sforce.com/127.0.0.1#5335 +ipset=/sforce.com/gfwlist +server=/canon.co.uk/127.0.0.1#5335 +ipset=/canon.co.uk/gfwlist +server=/foftolia.com/127.0.0.1#5335 +ipset=/foftolia.com/gfwlist +server=/bmw.co.nz/127.0.0.1#5335 +ipset=/bmw.co.nz/gfwlist +server=/digitaloceanspaces.com/127.0.0.1#5335 +ipset=/digitaloceanspaces.com/gfwlist +server=/ciscoerate.com/127.0.0.1#5335 +ipset=/ciscoerate.com/gfwlist +server=/epochtimes.co.il/127.0.0.1#5335 +ipset=/epochtimes.co.il/gfwlist +server=/calgon.it/127.0.0.1#5335 +ipset=/calgon.it/gfwlist +server=/paypal-qrshopping.org/127.0.0.1#5335 +ipset=/paypal-qrshopping.org/gfwlist +server=/monsterbeatsbydrdre-nz.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrdre-nz.com/gfwlist +server=/beatsdresale2013.com/127.0.0.1#5335 +ipset=/beatsdresale2013.com/gfwlist +server=/rolls-roycemotorcarsna.com/127.0.0.1#5335 +ipset=/rolls-roycemotorcarsna.com/gfwlist +server=/gravatar.com/127.0.0.1#5335 +ipset=/gravatar.com/gfwlist +server=/ebayuae.net/127.0.0.1#5335 +ipset=/ebayuae.net/gfwlist +server=/persianepochtimes.com/127.0.0.1#5335 +ipset=/persianepochtimes.com/gfwlist +server=/bsw.co.jp/127.0.0.1#5335 +ipset=/bsw.co.jp/gfwlist +server=/etviet.com/127.0.0.1#5335 +ipset=/etviet.com/gfwlist +server=/guambmw.com/127.0.0.1#5335 +ipset=/guambmw.com/gfwlist +server=/oxfordmedicine.com/127.0.0.1#5335 +ipset=/oxfordmedicine.com/gfwlist +server=/cisco-warrantyfinder.com/127.0.0.1#5335 +ipset=/cisco-warrantyfinder.com/gfwlist +server=/ebay.ca/127.0.0.1#5335 +ipset=/ebay.ca/gfwlist +server=/the-tls.co.uk/127.0.0.1#5335 +ipset=/the-tls.co.uk/gfwlist +server=/perl.org/127.0.0.1#5335 +ipset=/perl.org/gfwlist +server=/hpmobile.com/127.0.0.1#5335 +ipset=/hpmobile.com/gfwlist +server=/cciesecuritylabs.com/127.0.0.1#5335 +ipset=/cciesecuritylabs.com/gfwlist +server=/mastercard.cz/127.0.0.1#5335 +ipset=/mastercard.cz/gfwlist +server=/myfoxla.com/127.0.0.1#5335 +ipset=/myfoxla.com/gfwlist +server=/bridgestonecomercial.com.br/127.0.0.1#5335 +ipset=/bridgestonecomercial.com.br/gfwlist +server=/volvogroup.fr/127.0.0.1#5335 +ipset=/volvogroup.fr/gfwlist +server=/spiedigitallibrary.org/127.0.0.1#5335 +ipset=/spiedigitallibrary.org/gfwlist +server=/academynetriders.com/127.0.0.1#5335 +ipset=/academynetriders.com/gfwlist +server=/paypalnetwork.net/127.0.0.1#5335 +ipset=/paypalnetwork.net/gfwlist +server=/881903.com/127.0.0.1#5335 +ipset=/881903.com/gfwlist +server=/yahoo.com.gi/127.0.0.1#5335 +ipset=/yahoo.com.gi/gfwlist +server=/webex.com.br/127.0.0.1#5335 +ipset=/webex.com.br/gfwlist +server=/bmw-connecteddrive.si/127.0.0.1#5335 +ipset=/bmw-connecteddrive.si/gfwlist +server=/foxdeportes.com/127.0.0.1#5335 +ipset=/foxdeportes.com/gfwlist +server=/bbystatic.com/127.0.0.1#5335 +ipset=/bbystatic.com/gfwlist +server=/netflixdnstest9.com/127.0.0.1#5335 +ipset=/netflixdnstest9.com/gfwlist +server=/cloudapp.net/127.0.0.1#5335 +ipset=/cloudapp.net/gfwlist +server=/teslamotors.com/127.0.0.1#5335 +ipset=/teslamotors.com/gfwlist +server=/webex.co.nz/127.0.0.1#5335 +ipset=/webex.co.nz/gfwlist +server=/webex.co.kr/127.0.0.1#5335 +ipset=/webex.co.kr/gfwlist +server=/sony.be/127.0.0.1#5335 +ipset=/sony.be/gfwlist +server=/bmw-saudiarabia.com/127.0.0.1#5335 +ipset=/bmw-saudiarabia.com/gfwlist +server=/myfoxdfw.com/127.0.0.1#5335 +ipset=/myfoxdfw.com/gfwlist +server=/webex.co.it/127.0.0.1#5335 +ipset=/webex.co.it/gfwlist +server=/webex.co.in/127.0.0.1#5335 +ipset=/webex.co.in/gfwlist +server=/madvr.net/127.0.0.1#5335 +ipset=/madvr.net/gfwlist +server=/mmdnn.com/127.0.0.1#5335 +ipset=/mmdnn.com/gfwlist +server=/google.com.sb/127.0.0.1#5335 +ipset=/google.com.sb/gfwlist +server=/gettyimages.co.jp/127.0.0.1#5335 +ipset=/gettyimages.co.jp/gfwlist +server=/canon.ru/127.0.0.1#5335 +ipset=/canon.ru/gfwlist +server=/mini.com.mx/127.0.0.1#5335 +ipset=/mini.com.mx/gfwlist +server=/bmw.ch/127.0.0.1#5335 +ipset=/bmw.ch/gfwlist +server=/europepmc.org/127.0.0.1#5335 +ipset=/europepmc.org/gfwlist +server=/pixfs.net/127.0.0.1#5335 +ipset=/pixfs.net/gfwlist +server=/apple.ru/127.0.0.1#5335 +ipset=/apple.ru/gfwlist +server=/canon.ro/127.0.0.1#5335 +ipset=/canon.ro/gfwlist +server=/miniwidget.ca/127.0.0.1#5335 +ipset=/miniwidget.ca/gfwlist +server=/visa.com.ph/127.0.0.1#5335 +ipset=/visa.com.ph/gfwlist +server=/ieee-npss.org/127.0.0.1#5335 +ipset=/ieee-npss.org/gfwlist +server=/ebaybags.com/127.0.0.1#5335 +ipset=/ebaybags.com/gfwlist +server=/cheapbeatsbydr.com/127.0.0.1#5335 +ipset=/cheapbeatsbydr.com/gfwlist +server=/canon.no/127.0.0.1#5335 +ipset=/canon.no/gfwlist +server=/intel.af/127.0.0.1#5335 +ipset=/intel.af/gfwlist +server=/currently.com/127.0.0.1#5335 +ipset=/currently.com/gfwlist +server=/canon.me/127.0.0.1#5335 +ipset=/canon.me/gfwlist +server=/qualcomm.co.uk/127.0.0.1#5335 +ipset=/qualcomm.co.uk/gfwlist +server=/macbookair.co.kr/127.0.0.1#5335 +ipset=/macbookair.co.kr/gfwlist +server=/cheapbeatsbydrestudioedition.com/127.0.0.1#5335 +ipset=/cheapbeatsbydrestudioedition.com/gfwlist +server=/sinoinsider.com/127.0.0.1#5335 +ipset=/sinoinsider.com/gfwlist +server=/maddenseason.net/127.0.0.1#5335 +ipset=/maddenseason.net/gfwlist +server=/foxnews.com/127.0.0.1#5335 +ipset=/foxnews.com/gfwlist +server=/lovemarca.com/127.0.0.1#5335 +ipset=/lovemarca.com/gfwlist +server=/canon.lu/127.0.0.1#5335 +ipset=/canon.lu/gfwlist +server=/verisign.vn/127.0.0.1#5335 +ipset=/verisign.vn/gfwlist +server=/easportsfootballclub.com/127.0.0.1#5335 +ipset=/easportsfootballclub.com/gfwlist +server=/prepsure.com/127.0.0.1#5335 +ipset=/prepsure.com/gfwlist +server=/intel.com.my/127.0.0.1#5335 +ipset=/intel.com.my/gfwlist +server=/myferrariheadphones.com/127.0.0.1#5335 +ipset=/myferrariheadphones.com/gfwlist +server=/ebay-inc.com/127.0.0.1#5335 +ipset=/ebay-inc.com/gfwlist +server=/bmwjamaica.com/127.0.0.1#5335 +ipset=/bmwjamaica.com/gfwlist +server=/canon.ie/127.0.0.1#5335 +ipset=/canon.ie/gfwlist +server=/cloudvolumes.com/127.0.0.1#5335 +ipset=/cloudvolumes.com/gfwlist +server=/globalsign.be/127.0.0.1#5335 +ipset=/globalsign.be/gfwlist +server=/pricelesshongkong.com/127.0.0.1#5335 +ipset=/pricelesshongkong.com/gfwlist +server=/hkteducation.com/127.0.0.1#5335 +ipset=/hkteducation.com/gfwlist +server=/foxnews.org/127.0.0.1#5335 +ipset=/foxnews.org/gfwlist +server=/ebaystore77.com/127.0.0.1#5335 +ipset=/ebaystore77.com/gfwlist +server=/macbookpros.com/127.0.0.1#5335 +ipset=/macbookpros.com/gfwlist +server=/mini.kz/127.0.0.1#5335 +ipset=/mini.kz/gfwlist +server=/lihkg.com/127.0.0.1#5335 +ipset=/lihkg.com/gfwlist +server=/mini.sk/127.0.0.1#5335 +ipset=/mini.sk/gfwlist +server=/yahoo.com.fj/127.0.0.1#5335 +ipset=/yahoo.com.fj/gfwlist +server=/steam-chat.com/127.0.0.1#5335 +ipset=/steam-chat.com/gfwlist +server=/foxdigitalmovies.com/127.0.0.1#5335 +ipset=/foxdigitalmovies.com/gfwlist +server=/google.com.af/127.0.0.1#5335 +ipset=/google.com.af/gfwlist +server=/nikegadgets.com/127.0.0.1#5335 +ipset=/nikegadgets.com/gfwlist +server=/shopifycloud.com/127.0.0.1#5335 +ipset=/shopifycloud.com/gfwlist +server=/canon.com.tr/127.0.0.1#5335 +ipset=/canon.com.tr/gfwlist +server=/canon.com.my/127.0.0.1#5335 +ipset=/canon.com.my/gfwlist +server=/paypalonline.org/127.0.0.1#5335 +ipset=/paypalonline.org/gfwlist +server=/disneymagicmoments.co.il/127.0.0.1#5335 +ipset=/disneymagicmoments.co.il/gfwlist +server=/rea.io/127.0.0.1#5335 +ipset=/rea.io/gfwlist +server=/bmwcolorado.com/127.0.0.1#5335 +ipset=/bmwcolorado.com/gfwlist +server=/volvotrucks.cl/127.0.0.1#5335 +ipset=/volvotrucks.cl/gfwlist +server=/speedxtra.com/127.0.0.1#5335 +ipset=/speedxtra.com/gfwlist +server=/emojipedia.org/127.0.0.1#5335 +ipset=/emojipedia.org/gfwlist +server=/canon.com.au/127.0.0.1#5335 +ipset=/canon.com.au/gfwlist +server=/instantssl.com/127.0.0.1#5335 +ipset=/instantssl.com/gfwlist +server=/canon.dk/127.0.0.1#5335 +ipset=/canon.dk/gfwlist +server=/iphine.com/127.0.0.1#5335 +ipset=/iphine.com/gfwlist +server=/mastercard.co.jp/127.0.0.1#5335 +ipset=/mastercard.co.jp/gfwlist +server=/itunes.co.th/127.0.0.1#5335 +ipset=/itunes.co.th/gfwlist +server=/foxrad.io/127.0.0.1#5335 +ipset=/foxrad.io/gfwlist +server=/newbemany.com/127.0.0.1#5335 +ipset=/newbemany.com/gfwlist +server=/bmw-sudan.com/127.0.0.1#5335 +ipset=/bmw-sudan.com/gfwlist +server=/facebook.design/127.0.0.1#5335 +ipset=/facebook.design/gfwlist +server=/canon.co.za/127.0.0.1#5335 +ipset=/canon.co.za/gfwlist +server=/x18r.com/127.0.0.1#5335 +ipset=/x18r.com/gfwlist +server=/mini.com.uy/127.0.0.1#5335 +ipset=/mini.com.uy/gfwlist +server=/ingkacentres.com/127.0.0.1#5335 +ipset=/ingkacentres.com/gfwlist +server=/scp-wiki.net/127.0.0.1#5335 +ipset=/scp-wiki.net/gfwlist +server=/i-scmp.com/127.0.0.1#5335 +ipset=/i-scmp.com/gfwlist +server=/bmwi.ca/127.0.0.1#5335 +ipset=/bmwi.ca/gfwlist +server=/thisispolaris.com/127.0.0.1#5335 +ipset=/thisispolaris.com/gfwlist +server=/canon.ca/127.0.0.1#5335 +ipset=/canon.ca/gfwlist +server=/kyurem.com/127.0.0.1#5335 +ipset=/kyurem.com/gfwlist +server=/canon.bg/127.0.0.1#5335 +ipset=/canon.bg/gfwlist +server=/canon.com.hk/127.0.0.1#5335 +ipset=/canon.com.hk/gfwlist +server=/volvotrucks.gr/127.0.0.1#5335 +ipset=/volvotrucks.gr/gfwlist +server=/visadigitalconcierge.com/127.0.0.1#5335 +ipset=/visadigitalconcierge.com/gfwlist +server=/alphera.my/127.0.0.1#5335 +ipset=/alphera.my/gfwlist +server=/foxplus.com/127.0.0.1#5335 +ipset=/foxplus.com/gfwlist +server=/advancediddetection.com/127.0.0.1#5335 +ipset=/advancediddetection.com/gfwlist +server=/intel.co.ae/127.0.0.1#5335 +ipset=/intel.co.ae/gfwlist +server=/ntc.party/127.0.0.1#5335 +ipset=/ntc.party/gfwlist +server=/canon.am/127.0.0.1#5335 +ipset=/canon.am/gfwlist +server=/rbgrads.com/127.0.0.1#5335 +ipset=/rbgrads.com/gfwlist +server=/softbankventuresasia.com/127.0.0.1#5335 +ipset=/softbankventuresasia.com/gfwlist +server=/hkcsl.com/127.0.0.1#5335 +ipset=/hkcsl.com/gfwlist +server=/canon-me.com/127.0.0.1#5335 +ipset=/canon-me.com/gfwlist +server=/voashona.com/127.0.0.1#5335 +ipset=/voashona.com/gfwlist +server=/instagramn.com/127.0.0.1#5335 +ipset=/instagramn.com/gfwlist +server=/google.gy/127.0.0.1#5335 +ipset=/google.gy/gfwlist +server=/canon-europe.com/127.0.0.1#5335 +ipset=/canon-europe.com/gfwlist +server=/mastercardbiz.com/127.0.0.1#5335 +ipset=/mastercardbiz.com/gfwlist +server=/volvotrucks.ae/127.0.0.1#5335 +ipset=/volvotrucks.ae/gfwlist +server=/akamaihd.com/127.0.0.1#5335 +ipset=/akamaihd.com/gfwlist +server=/adobe-aemassets-value.com/127.0.0.1#5335 +ipset=/adobe-aemassets-value.com/gfwlist +server=/login-account.net/127.0.0.1#5335 +ipset=/login-account.net/gfwlist +server=/canon-ebm.com.hk/127.0.0.1#5335 +ipset=/canon-ebm.com.hk/gfwlist +server=/www-facebook.com/127.0.0.1#5335 +ipset=/www-facebook.com/gfwlist +server=/pearsonclinical.dk/127.0.0.1#5335 +ipset=/pearsonclinical.dk/gfwlist +server=/eanordic.com/127.0.0.1#5335 +ipset=/eanordic.com/gfwlist +server=/dynamics.com/127.0.0.1#5335 +ipset=/dynamics.com/gfwlist +server=/bmwshop.ca/127.0.0.1#5335 +ipset=/bmwshop.ca/gfwlist +server=/c-ij.com/127.0.0.1#5335 +ipset=/c-ij.com/gfwlist +server=/couriermail.com.au/127.0.0.1#5335 +ipset=/couriermail.com.au/gfwlist +server=/airmax360.com/127.0.0.1#5335 +ipset=/airmax360.com/gfwlist +server=/bwh8.net/127.0.0.1#5335 +ipset=/bwh8.net/gfwlist +server=/mastercard.ke/127.0.0.1#5335 +ipset=/mastercard.ke/gfwlist +server=/bwh1.net/127.0.0.1#5335 +ipset=/bwh1.net/gfwlist +server=/alibabacloud.com/127.0.0.1#5335 +ipset=/alibabacloud.com/gfwlist +server=/mydirectvchannels.com/127.0.0.1#5335 +ipset=/mydirectvchannels.com/gfwlist +server=/itunesradio.tv/127.0.0.1#5335 +ipset=/itunesradio.tv/gfwlist +server=/lordofultima.com/127.0.0.1#5335 +ipset=/lordofultima.com/gfwlist +server=/flow.dev/127.0.0.1#5335 +ipset=/flow.dev/gfwlist +server=/beats-deal.com/127.0.0.1#5335 +ipset=/beats-deal.com/gfwlist +server=/d29vzk4ow07wi7.cloudfront.net/127.0.0.1#5335 +ipset=/d29vzk4ow07wi7.cloudfront.net/gfwlist +server=/download.i91av.org/127.0.0.1#5335 +ipset=/download.i91av.org/gfwlist +server=/le-direct.tv/127.0.0.1#5335 +ipset=/le-direct.tv/gfwlist +server=/linefriends.com/127.0.0.1#5335 +ipset=/linefriends.com/gfwlist +server=/hddirectv.com/127.0.0.1#5335 +ipset=/hddirectv.com/gfwlist +server=/arewereadyyet.com/127.0.0.1#5335 +ipset=/arewereadyyet.com/gfwlist +server=/adidas.com/127.0.0.1#5335 +ipset=/adidas.com/gfwlist +server=/volvobuses.es/127.0.0.1#5335 +ipset=/volvobuses.es/gfwlist +server=/diretv.com/127.0.0.1#5335 +ipset=/diretv.com/gfwlist +server=/direectv.com/127.0.0.1#5335 +ipset=/direectv.com/gfwlist +server=/telekom.com/127.0.0.1#5335 +ipset=/telekom.com/gfwlist +server=/mini.com.mo/127.0.0.1#5335 +ipset=/mini.com.mo/gfwlist +server=/comodo.com/127.0.0.1#5335 +ipset=/comodo.com/gfwlist +server=/hpstore-china.com/127.0.0.1#5335 +ipset=/hpstore-china.com/gfwlist +server=/directvsports.com/127.0.0.1#5335 +ipset=/directvsports.com/gfwlist +server=/pearsonclinical.nl/127.0.0.1#5335 +ipset=/pearsonclinical.nl/gfwlist +server=/strepsils.com.br/127.0.0.1#5335 +ipset=/strepsils.com.br/gfwlist +server=/mini-bosnia.com/127.0.0.1#5335 +ipset=/mini-bosnia.com/gfwlist +server=/flatmates.com.au/127.0.0.1#5335 +ipset=/flatmates.com.au/gfwlist +server=/directvpromise.com/127.0.0.1#5335 +ipset=/directvpromise.com/gfwlist +server=/powerbook.eu/127.0.0.1#5335 +ipset=/powerbook.eu/gfwlist +server=/bamgrid.com/127.0.0.1#5335 +ipset=/bamgrid.com/gfwlist +server=/mycardbenefits.com/127.0.0.1#5335 +ipset=/mycardbenefits.com/gfwlist +server=/bmwoftulsa.com/127.0.0.1#5335 +ipset=/bmwoftulsa.com/gfwlist +server=/wkap.nl/127.0.0.1#5335 +ipset=/wkap.nl/gfwlist +server=/blogspot.cf/127.0.0.1#5335 +ipset=/blogspot.cf/gfwlist +server=/paypal.com.sg/127.0.0.1#5335 +ipset=/paypal.com.sg/gfwlist +server=/adobeaemcloud.net/127.0.0.1#5335 +ipset=/adobeaemcloud.net/gfwlist +server=/ebaymotorsblog.com/127.0.0.1#5335 +ipset=/ebaymotorsblog.com/gfwlist +server=/breitbart.com/127.0.0.1#5335 +ipset=/breitbart.com/gfwlist +server=/nextfilm.com.hk/127.0.0.1#5335 +ipset=/nextfilm.com.hk/gfwlist +server=/directvnewhampshire.com/127.0.0.1#5335 +ipset=/directvnewhampshire.com/gfwlist +server=/malayalamanorama.com/127.0.0.1#5335 +ipset=/malayalamanorama.com/gfwlist +server=/knoxemm.com/127.0.0.1#5335 +ipset=/knoxemm.com/gfwlist +server=/mastercard-email.com/127.0.0.1#5335 +ipset=/mastercard-email.com/gfwlist +server=/beats-seller.com/127.0.0.1#5335 +ipset=/beats-seller.com/gfwlist +server=/directvmonitoring.com/127.0.0.1#5335 +ipset=/directvmonitoring.com/gfwlist +server=/ebay.com.ph/127.0.0.1#5335 +ipset=/ebay.com.ph/gfwlist +server=/directvmetropolisil.com/127.0.0.1#5335 +ipset=/directvmetropolisil.com/gfwlist +server=/theclasshroom.com/127.0.0.1#5335 +ipset=/theclasshroom.com/gfwlist +server=/bmw.fi/127.0.0.1#5335 +ipset=/bmw.fi/gfwlist +server=/entermediadb.net/127.0.0.1#5335 +ipset=/entermediadb.net/gfwlist +server=/ficeboock.com/127.0.0.1#5335 +ipset=/ficeboock.com/gfwlist +server=/xdsummit.com/127.0.0.1#5335 +ipset=/xdsummit.com/gfwlist +server=/discord.gifts/127.0.0.1#5335 +ipset=/discord.gifts/gfwlist +server=/scholar.google.ch/127.0.0.1#5335 +ipset=/scholar.google.ch/gfwlist +server=/directvkentucky.com/127.0.0.1#5335 +ipset=/directvkentucky.com/gfwlist +server=/directvinternet.com/127.0.0.1#5335 +ipset=/directvinternet.com/gfwlist +server=/bmwmotorrad.com.ph/127.0.0.1#5335 +ipset=/bmwmotorrad.com.ph/gfwlist +server=/bestbuyethics.com/127.0.0.1#5335 +ipset=/bestbuyethics.com/gfwlist +server=/visceralgames.com/127.0.0.1#5335 +ipset=/visceralgames.com/gfwlist +server=/apnews.com/127.0.0.1#5335 +ipset=/apnews.com/gfwlist +server=/volvotrucks.com.tw/127.0.0.1#5335 +ipset=/volvotrucks.com.tw/gfwlist +server=/paypalnet.org/127.0.0.1#5335 +ipset=/paypalnet.org/gfwlist +server=/skyassets.com/127.0.0.1#5335 +ipset=/skyassets.com/gfwlist +server=/bmwmuseum.net/127.0.0.1#5335 +ipset=/bmwmuseum.net/gfwlist +server=/bmw-arts-design.com/127.0.0.1#5335 +ipset=/bmw-arts-design.com/gfwlist +server=/dettol.cz/127.0.0.1#5335 +ipset=/dettol.cz/gfwlist +server=/gettyimages.se/127.0.0.1#5335 +ipset=/gettyimages.se/gfwlist +server=/paypal-activate.info/127.0.0.1#5335 +ipset=/paypal-activate.info/gfwlist +server=/disney.co.th/127.0.0.1#5335 +ipset=/disney.co.th/gfwlist +server=/ebay.com.sg/127.0.0.1#5335 +ipset=/ebay.com.sg/gfwlist +server=/icloud.sk/127.0.0.1#5335 +ipset=/icloud.sk/gfwlist +server=/mini.rs/127.0.0.1#5335 +ipset=/mini.rs/gfwlist +server=/starbucks.es/127.0.0.1#5335 +ipset=/starbucks.es/gfwlist +server=/directvdealer.com/127.0.0.1#5335 +ipset=/directvdealer.com/gfwlist +server=/google.ae/127.0.0.1#5335 +ipset=/google.ae/gfwlist +server=/nike-us.com/127.0.0.1#5335 +ipset=/nike-us.com/gfwlist +server=/elite.com/127.0.0.1#5335 +ipset=/elite.com/gfwlist +server=/tesla.com/127.0.0.1#5335 +ipset=/tesla.com/gfwlist +server=/niken7.com/127.0.0.1#5335 +ipset=/niken7.com/gfwlist +server=/appstore.my/127.0.0.1#5335 +ipset=/appstore.my/gfwlist +server=/ipod.com/127.0.0.1#5335 +ipset=/ipod.com/gfwlist +server=/ebay.it/127.0.0.1#5335 +ipset=/ebay.it/gfwlist +server=/hpallinoneprinter.com/127.0.0.1#5335 +ipset=/hpallinoneprinter.com/gfwlist +server=/directvbusiness.com/127.0.0.1#5335 +ipset=/directvbusiness.com/gfwlist +server=/adguard-vpn.com/127.0.0.1#5335 +ipset=/adguard-vpn.com/gfwlist +server=/scmp.com/127.0.0.1#5335 +ipset=/scmp.com/gfwlist +server=/iphonexs.tv/127.0.0.1#5335 +ipset=/iphonexs.tv/gfwlist +server=/voanouvel.com/127.0.0.1#5335 +ipset=/voanouvel.com/gfwlist +server=/imgix.net/127.0.0.1#5335 +ipset=/imgix.net/gfwlist +server=/xbox360.com/127.0.0.1#5335 +ipset=/xbox360.com/gfwlist +server=/directvboston.com/127.0.0.1#5335 +ipset=/directvboston.com/gfwlist +server=/beatsbydretoutlet.com/127.0.0.1#5335 +ipset=/beatsbydretoutlet.com/gfwlist +server=/directvadsales.com/127.0.0.1#5335 +ipset=/directvadsales.com/gfwlist +server=/directv-newyork.com/127.0.0.1#5335 +ipset=/directv-newyork.com/gfwlist +server=/abc.com/127.0.0.1#5335 +ipset=/abc.com/gfwlist +server=/bbc.com/127.0.0.1#5335 +ipset=/bbc.com/gfwlist +server=/applestore.wang/127.0.0.1#5335 +ipset=/applestore.wang/gfwlist +server=/cashpassport.co.za/127.0.0.1#5335 +ipset=/cashpassport.co.za/gfwlist +server=/directtvdeals.tv/127.0.0.1#5335 +ipset=/directtvdeals.tv/gfwlist +server=/shopping-days.net/127.0.0.1#5335 +ipset=/shopping-days.net/gfwlist +server=/directtv.net/127.0.0.1#5335 +ipset=/directtv.net/gfwlist +server=/mypearsonshop.mx/127.0.0.1#5335 +ipset=/mypearsonshop.mx/gfwlist +server=/dkrecttv.com/127.0.0.1#5335 +ipset=/dkrecttv.com/gfwlist +server=/eu-consumer-empowerment.com/127.0.0.1#5335 +ipset=/eu-consumer-empowerment.com/gfwlist +server=/tailwindtraders.com/127.0.0.1#5335 +ipset=/tailwindtraders.com/gfwlist +server=/mastercard.kz/127.0.0.1#5335 +ipset=/mastercard.kz/gfwlist +server=/paypalcredit.com/127.0.0.1#5335 +ipset=/paypalcredit.com/gfwlist +server=/pinterest.co.in/127.0.0.1#5335 +ipset=/pinterest.co.in/gfwlist +server=/blogspot.com.es/127.0.0.1#5335 +ipset=/blogspot.com.es/gfwlist +server=/squarecloudservices.com/127.0.0.1#5335 +ipset=/squarecloudservices.com/gfwlist +server=/braveux.com/127.0.0.1#5335 +ipset=/braveux.com/gfwlist +server=/developer.microsoft.com/127.0.0.1#5335 +ipset=/developer.microsoft.com/gfwlist +server=/videolan.org/127.0.0.1#5335 +ipset=/videolan.org/gfwlist +server=/nginx.com/127.0.0.1#5335 +ipset=/nginx.com/gfwlist +server=/softether-download.com/127.0.0.1#5335 +ipset=/softether-download.com/gfwlist +server=/nbc.com/127.0.0.1#5335 +ipset=/nbc.com/gfwlist +server=/facebookgraphsearch.info/127.0.0.1#5335 +ipset=/facebookgraphsearch.info/gfwlist +server=/ebay.com.my/127.0.0.1#5335 +ipset=/ebay.com.my/gfwlist +server=/nurofengel.com/127.0.0.1#5335 +ipset=/nurofengel.com/gfwlist +server=/audiencenetwork.tv/127.0.0.1#5335 +ipset=/audiencenetwork.tv/gfwlist +server=/bmw-motorrad.hu/127.0.0.1#5335 +ipset=/bmw-motorrad.hu/gfwlist +server=/xboxone.co/127.0.0.1#5335 +ipset=/xboxone.co/gfwlist +server=/audiencenetwork.com/127.0.0.1#5335 +ipset=/audiencenetwork.com/gfwlist +server=/leaguoflegends.com/127.0.0.1#5335 +ipset=/leaguoflegends.com/gfwlist +server=/guardianapis.com/127.0.0.1#5335 +ipset=/guardianapis.com/gfwlist +server=/attdns.com/127.0.0.1#5335 +ipset=/attdns.com/gfwlist +server=/att-idns.net/127.0.0.1#5335 +ipset=/att-idns.net/gfwlist +server=/vfsco.us/127.0.0.1#5335 +ipset=/vfsco.us/gfwlist +server=/beats-dre-us.com/127.0.0.1#5335 +ipset=/beats-dre-us.com/gfwlist +server=/bmwworld.com/127.0.0.1#5335 +ipset=/bmwworld.com/gfwlist +server=/darwinsource.com/127.0.0.1#5335 +ipset=/darwinsource.com/gfwlist +server=/tvpromise.com/127.0.0.1#5335 +ipset=/tvpromise.com/gfwlist +server=/newsnowfox.com/127.0.0.1#5335 +ipset=/newsnowfox.com/gfwlist +server=/synaptic.net/127.0.0.1#5335 +ipset=/synaptic.net/gfwlist +server=/travelex.com.my/127.0.0.1#5335 +ipset=/travelex.com.my/gfwlist +server=/instagrm.com/127.0.0.1#5335 +ipset=/instagrm.com/gfwlist +server=/mini-connected.pl/127.0.0.1#5335 +ipset=/mini-connected.pl/gfwlist +server=/newsconcierge.com.au/127.0.0.1#5335 +ipset=/newsconcierge.com.au/gfwlist +server=/airwick.hu/127.0.0.1#5335 +ipset=/airwick.hu/gfwlist +server=/bmw-motorrad.com/127.0.0.1#5335 +ipset=/bmw-motorrad.com/gfwlist +server=/beatsbydreforsalesonline.com/127.0.0.1#5335 +ipset=/beatsbydreforsalesonline.com/gfwlist +server=/vmwarecertificationvideos.com/127.0.0.1#5335 +ipset=/vmwarecertificationvideos.com/gfwlist +server=/itcanwait.com/127.0.0.1#5335 +ipset=/itcanwait.com/gfwlist +server=/chinapower.csis.org/127.0.0.1#5335 +ipset=/chinapower.csis.org/gfwlist +server=/enterprisepaging.com/127.0.0.1#5335 +ipset=/enterprisepaging.com/gfwlist +server=/bmw-motorrad.si/127.0.0.1#5335 +ipset=/bmw-motorrad.si/gfwlist +server=/vmwservices.com/127.0.0.1#5335 +ipset=/vmwservices.com/gfwlist +server=/currently.net/127.0.0.1#5335 +ipset=/currently.net/gfwlist +server=/miniusatires.com/127.0.0.1#5335 +ipset=/miniusatires.com/gfwlist +server=/canon.net/127.0.0.1#5335 +ipset=/canon.net/gfwlist +server=/geforce.com.tw/127.0.0.1#5335 +ipset=/geforce.com.tw/gfwlist +server=/paypalshopping.com/127.0.0.1#5335 +ipset=/paypalshopping.com/gfwlist +server=/omghk.com/127.0.0.1#5335 +ipset=/omghk.com/gfwlist +server=/vod-abematv.akamaized.net/127.0.0.1#5335 +ipset=/vod-abematv.akamaized.net/gfwlist +server=/costco-static.com/127.0.0.1#5335 +ipset=/costco-static.com/gfwlist +server=/budatt.com/127.0.0.1#5335 +ipset=/budatt.com/gfwlist +server=/csis.org/127.0.0.1#5335 +ipset=/csis.org/gfwlist +server=/librarylovefest.com/127.0.0.1#5335 +ipset=/librarylovefest.com/gfwlist +server=/scnshop.cc/127.0.0.1#5335 +ipset=/scnshop.cc/gfwlist +server=/baicaonetwork.com/127.0.0.1#5335 +ipset=/baicaonetwork.com/gfwlist +server=/attwirelessonline.com/127.0.0.1#5335 +ipset=/attwirelessonline.com/gfwlist +server=/intel.mx/127.0.0.1#5335 +ipset=/intel.mx/gfwlist +server=/lexuemei.com/127.0.0.1#5335 +ipset=/lexuemei.com/gfwlist +server=/appbridge.ca/127.0.0.1#5335 +ipset=/appbridge.ca/gfwlist +server=/yahoo.com.bo/127.0.0.1#5335 +ipset=/yahoo.com.bo/gfwlist +server=/ebaylocal.net/127.0.0.1#5335 +ipset=/ebaylocal.net/gfwlist +server=/ogp.me/127.0.0.1#5335 +ipset=/ogp.me/gfwlist +server=/disneystreaming.com/127.0.0.1#5335 +ipset=/disneystreaming.com/gfwlist +server=/intelplay.com/127.0.0.1#5335 +ipset=/intelplay.com/gfwlist +server=/attwifi.com/127.0.0.1#5335 +ipset=/attwifi.com/gfwlist +server=/bestrecipes.com.au/127.0.0.1#5335 +ipset=/bestrecipes.com.au/gfwlist +server=/visa.com.my/127.0.0.1#5335 +ipset=/visa.com.my/gfwlist +server=/travelex.co.uk/127.0.0.1#5335 +ipset=/travelex.co.uk/gfwlist +server=/mega.nz/127.0.0.1#5335 +ipset=/mega.nz/gfwlist +server=/sysinternals.com/127.0.0.1#5335 +ipset=/sysinternals.com/gfwlist +server=/foxsoccerplus.net/127.0.0.1#5335 +ipset=/foxsoccerplus.net/gfwlist +server=/attuverseoffers.com/127.0.0.1#5335 +ipset=/attuverseoffers.com/gfwlist +server=/goduckgo.com/127.0.0.1#5335 +ipset=/goduckgo.com/gfwlist +server=/scholar.google.lv/127.0.0.1#5335 +ipset=/scholar.google.lv/gfwlist +server=/bmw.kz/127.0.0.1#5335 +ipset=/bmw.kz/gfwlist +server=/scholar.google.com.bo/127.0.0.1#5335 +ipset=/scholar.google.com.bo/gfwlist +server=/yahoo.com.af/127.0.0.1#5335 +ipset=/yahoo.com.af/gfwlist +server=/attpublicpolicy.com/127.0.0.1#5335 +ipset=/attpublicpolicy.com/gfwlist +server=/youtube.co.ma/127.0.0.1#5335 +ipset=/youtube.co.ma/gfwlist +server=/firestone.cl/127.0.0.1#5335 +ipset=/firestone.cl/gfwlist +server=/usatoday.com/127.0.0.1#5335 +ipset=/usatoday.com/gfwlist +server=/tver.jp/127.0.0.1#5335 +ipset=/tver.jp/gfwlist +server=/attjoy.com/127.0.0.1#5335 +ipset=/attjoy.com/gfwlist +server=/nicovideo.jp/127.0.0.1#5335 +ipset=/nicovideo.jp/gfwlist +server=/pise.pw/127.0.0.1#5335 +ipset=/pise.pw/gfwlist +server=/attglobal.net/127.0.0.1#5335 +ipset=/attglobal.net/gfwlist +server=/pearson.pl/127.0.0.1#5335 +ipset=/pearson.pl/gfwlist +server=/zeplin.dev/127.0.0.1#5335 +ipset=/zeplin.dev/gfwlist +server=/attcollaborate.com/127.0.0.1#5335 +ipset=/attcollaborate.com/gfwlist +server=/akamii.com/127.0.0.1#5335 +ipset=/akamii.com/gfwlist +server=/tearapeak.com/127.0.0.1#5335 +ipset=/tearapeak.com/gfwlist +server=/fox26.com/127.0.0.1#5335 +ipset=/fox26.com/gfwlist +server=/foxsports.com.ar/127.0.0.1#5335 +ipset=/foxsports.com.ar/gfwlist +server=/mylcloud.net/127.0.0.1#5335 +ipset=/mylcloud.net/gfwlist +server=/foxfaq.com/127.0.0.1#5335 +ipset=/foxfaq.com/gfwlist +server=/naver.net/127.0.0.1#5335 +ipset=/naver.net/gfwlist +server=/onejav.com/127.0.0.1#5335 +ipset=/onejav.com/gfwlist +server=/beats-bydreoutletsale.net/127.0.0.1#5335 +ipset=/beats-bydreoutletsale.net/gfwlist +server=/attinnovationspace.com/127.0.0.1#5335 +ipset=/attinnovationspace.com/gfwlist +server=/ebayinc.net/127.0.0.1#5335 +ipset=/ebayinc.net/gfwlist +server=/disneymagicmoments.co.uk/127.0.0.1#5335 +ipset=/disneymagicmoments.co.uk/gfwlist +server=/att.jobs/127.0.0.1#5335 +ipset=/att.jobs/gfwlist +server=/launchpadlibrarian.org/127.0.0.1#5335 +ipset=/launchpadlibrarian.org/gfwlist +server=/pogo.com/127.0.0.1#5335 +ipset=/pogo.com/gfwlist +server=/att-promotions.com/127.0.0.1#5335 +ipset=/att-promotions.com/gfwlist +server=/oreilly.com/127.0.0.1#5335 +ipset=/oreilly.com/gfwlist +server=/arxiv.org/127.0.0.1#5335 +ipset=/arxiv.org/gfwlist +server=/ak1.net/127.0.0.1#5335 +ipset=/ak1.net/gfwlist +server=/google.com.my/127.0.0.1#5335 +ipset=/google.com.my/gfwlist +server=/att-mail.com/127.0.0.1#5335 +ipset=/att-mail.com/gfwlist +server=/directvcookevilletn.com/127.0.0.1#5335 +ipset=/directvcookevilletn.com/gfwlist +server=/microsoftaffiliates.com/127.0.0.1#5335 +ipset=/microsoftaffiliates.com/gfwlist +server=/accbusiness.com/127.0.0.1#5335 +ipset=/accbusiness.com/gfwlist +server=/cyber-bay.info/127.0.0.1#5335 +ipset=/cyber-bay.info/gfwlist +server=/e-bay.net/127.0.0.1#5335 +ipset=/e-bay.net/gfwlist +server=/bitbucket.org/127.0.0.1#5335 +ipset=/bitbucket.org/gfwlist +server=/miniso.pk/127.0.0.1#5335 +ipset=/miniso.pk/gfwlist +server=/mini.com.gt/127.0.0.1#5335 +ipset=/mini.com.gt/gfwlist +server=/pinterest.id/127.0.0.1#5335 +ipset=/pinterest.id/gfwlist +server=/foxnewsgo.net/127.0.0.1#5335 +ipset=/foxnewsgo.net/gfwlist +server=/amazon.jp/127.0.0.1#5335 +ipset=/amazon.jp/gfwlist +server=/womenwill.in/127.0.0.1#5335 +ipset=/womenwill.in/gfwlist +server=/mastercard.co.th/127.0.0.1#5335 +ipset=/mastercard.co.th/gfwlist +server=/pchome.com.tw/127.0.0.1#5335 +ipset=/pchome.com.tw/gfwlist +server=/xbox.com/127.0.0.1#5335 +ipset=/xbox.com/gfwlist +server=/nintendodsi.com/127.0.0.1#5335 +ipset=/nintendodsi.com/gfwlist +server=/cfna.com/127.0.0.1#5335 +ipset=/cfna.com/gfwlist +server=/ntdtv.co.kr/127.0.0.1#5335 +ipset=/ntdtv.co.kr/gfwlist +server=/mortein.co.za/127.0.0.1#5335 +ipset=/mortein.co.za/gfwlist +server=/xn--hxtr4rozx.xn--czr694b/127.0.0.1#5335 +ipset=/xn--hxtr4rozx.xn--czr694b/gfwlist +server=/bmw-yemen.com/127.0.0.1#5335 +ipset=/bmw-yemen.com/gfwlist +server=/thawte.com/127.0.0.1#5335 +ipset=/thawte.com/gfwlist +server=/xn--gtvz22d.xn--hxt814e/127.0.0.1#5335 +ipset=/xn--gtvz22d.xn--hxt814e/gfwlist +server=/attdns.net/127.0.0.1#5335 +ipset=/attdns.net/gfwlist +server=/apple.lv/127.0.0.1#5335 +ipset=/apple.lv/gfwlist +server=/dealsbeatsblackfriday.com/127.0.0.1#5335 +ipset=/dealsbeatsblackfriday.com/gfwlist +server=/fbredex.com/127.0.0.1#5335 +ipset=/fbredex.com/gfwlist +server=/xindelu.com/127.0.0.1#5335 +ipset=/xindelu.com/gfwlist +server=/epochmediagroup.com/127.0.0.1#5335 +ipset=/epochmediagroup.com/gfwlist +server=/bmw.mu/127.0.0.1#5335 +ipset=/bmw.mu/gfwlist +server=/bmw.is/127.0.0.1#5335 +ipset=/bmw.is/gfwlist +server=/scholar.google.com.tr/127.0.0.1#5335 +ipset=/scholar.google.com.tr/gfwlist +server=/radian6.com/127.0.0.1#5335 +ipset=/radian6.com/gfwlist +server=/audible.com/127.0.0.1#5335 +ipset=/audible.com/gfwlist +server=/volvogroup.nl/127.0.0.1#5335 +ipset=/volvogroup.nl/gfwlist +server=/account-paypal.net/127.0.0.1#5335 +ipset=/account-paypal.net/gfwlist +server=/mini-connected.es/127.0.0.1#5335 +ipset=/mini-connected.es/gfwlist +server=/amazonimages.com/127.0.0.1#5335 +ipset=/amazonimages.com/gfwlist +server=/wwapple.net/127.0.0.1#5335 +ipset=/wwapple.net/gfwlist +server=/1010.com.hk/127.0.0.1#5335 +ipset=/1010.com.hk/gfwlist +server=/localizestatus.com/127.0.0.1#5335 +ipset=/localizestatus.com/gfwlist +server=/bidbay.com/127.0.0.1#5335 +ipset=/bidbay.com/gfwlist +server=/codei.sh/127.0.0.1#5335 +ipset=/codei.sh/gfwlist +server=/webobjects.eu/127.0.0.1#5335 +ipset=/webobjects.eu/gfwlist +server=/voaafaanoromoo.com/127.0.0.1#5335 +ipset=/voaafaanoromoo.com/gfwlist +server=/softbankbb.net/127.0.0.1#5335 +ipset=/softbankbb.net/gfwlist +server=/mings-fashion.com/127.0.0.1#5335 +ipset=/mings-fashion.com/gfwlist +server=/webobjects.de/127.0.0.1#5335 +ipset=/webobjects.de/gfwlist +server=/nikelives.com/127.0.0.1#5335 +ipset=/nikelives.com/gfwlist +server=/touchid.tv/127.0.0.1#5335 +ipset=/touchid.tv/gfwlist +server=/latamvmwareforum.com/127.0.0.1#5335 +ipset=/latamvmwareforum.com/gfwlist +server=/spektral.cc/127.0.0.1#5335 +ipset=/spektral.cc/gfwlist +server=/nintendo.fi/127.0.0.1#5335 +ipset=/nintendo.fi/gfwlist +server=/siri.com/127.0.0.1#5335 +ipset=/siri.com/gfwlist +server=/eamobile.com/127.0.0.1#5335 +ipset=/eamobile.com/gfwlist +server=/steamstatic.com/127.0.0.1#5335 +ipset=/steamstatic.com/gfwlist +server=/nintendonetwork.net/127.0.0.1#5335 +ipset=/nintendonetwork.net/gfwlist +server=/vfsco.pe/127.0.0.1#5335 +ipset=/vfsco.pe/gfwlist +server=/bmwmotorrad.com.au/127.0.0.1#5335 +ipset=/bmwmotorrad.com.au/gfwlist +server=/macbooksale.com/127.0.0.1#5335 +ipset=/macbooksale.com/gfwlist +server=/quicktime.com.au/127.0.0.1#5335 +ipset=/quicktime.com.au/gfwlist +server=/fox32chicago.com/127.0.0.1#5335 +ipset=/fox32chicago.com/gfwlist +server=/xn--4vq475g.com/127.0.0.1#5335 +ipset=/xn--4vq475g.com/gfwlist +server=/pullstring.net/127.0.0.1#5335 +ipset=/pullstring.net/gfwlist +server=/macrumors.com/127.0.0.1#5335 +ipset=/macrumors.com/gfwlist +server=/googlesyndication.com/127.0.0.1#5335 +ipset=/googlesyndication.com/gfwlist +server=/facdbook.com/127.0.0.1#5335 +ipset=/facdbook.com/gfwlist +server=/api.news/127.0.0.1#5335 +ipset=/api.news/gfwlist +server=/youtube.ua/127.0.0.1#5335 +ipset=/youtube.ua/gfwlist +server=/foxbusiness.com/127.0.0.1#5335 +ipset=/foxbusiness.com/gfwlist +server=/wixmp.com/127.0.0.1#5335 +ipset=/wixmp.com/gfwlist +server=/paxful.com/127.0.0.1#5335 +ipset=/paxful.com/gfwlist +server=/macreach.net/127.0.0.1#5335 +ipset=/macreach.net/gfwlist +server=/mini-vietnam.com/127.0.0.1#5335 +ipset=/mini-vietnam.com/gfwlist +server=/macpazar.com/127.0.0.1#5335 +ipset=/macpazar.com/gfwlist +server=/bridgestoneperformance.com/127.0.0.1#5335 +ipset=/bridgestoneperformance.com/gfwlist +server=/myfoxaustin.com/127.0.0.1#5335 +ipset=/myfoxaustin.com/gfwlist +server=/aka-ai.com/127.0.0.1#5335 +ipset=/aka-ai.com/gfwlist +server=/macossierra.com/127.0.0.1#5335 +ipset=/macossierra.com/gfwlist +server=/bmwlifestyle.ca/127.0.0.1#5335 +ipset=/bmwlifestyle.ca/gfwlist +server=/macos.com.au/127.0.0.1#5335 +ipset=/macos.com.au/gfwlist +server=/scholar.google.pt/127.0.0.1#5335 +ipset=/scholar.google.pt/gfwlist +server=/discord.co/127.0.0.1#5335 +ipset=/discord.co/gfwlist +server=/macmini.com/127.0.0.1#5335 +ipset=/macmini.com/gfwlist +server=/khanacademy.org/127.0.0.1#5335 +ipset=/khanacademy.org/gfwlist +server=/beatsheadphonesdealer.com/127.0.0.1#5335 +ipset=/beatsheadphonesdealer.com/gfwlist +server=/scholar.google.com.au/127.0.0.1#5335 +ipset=/scholar.google.com.au/gfwlist +server=/beatsheadphones2u.com/127.0.0.1#5335 +ipset=/beatsheadphones2u.com/gfwlist +server=/cloudflarestream.com/127.0.0.1#5335 +ipset=/cloudflarestream.com/gfwlist +server=/macintoshsoftware.com/127.0.0.1#5335 +ipset=/macintoshsoftware.com/gfwlist +server=/ethereum.foundation/127.0.0.1#5335 +ipset=/ethereum.foundation/gfwlist +server=/verizonmedia.com/127.0.0.1#5335 +ipset=/verizonmedia.com/gfwlist +server=/apple.jo/127.0.0.1#5335 +ipset=/apple.jo/gfwlist +server=/machos.net/127.0.0.1#5335 +ipset=/machos.net/gfwlist +server=/ulol.com/127.0.0.1#5335 +ipset=/ulol.com/gfwlist +server=/ebay-inc.org/127.0.0.1#5335 +ipset=/ebay-inc.org/gfwlist +server=/blpevents.com/127.0.0.1#5335 +ipset=/blpevents.com/gfwlist +server=/swisssign.org/127.0.0.1#5335 +ipset=/swisssign.org/gfwlist +server=/slashdot.org/127.0.0.1#5335 +ipset=/slashdot.org/gfwlist +server=/mktroute.com/127.0.0.1#5335 +ipset=/mktroute.com/gfwlist +server=/macboxset.com/127.0.0.1#5335 +ipset=/macboxset.com/gfwlist +server=/stxmosquitoproject.net/127.0.0.1#5335 +ipset=/stxmosquitoproject.net/gfwlist +server=/easylist.to/127.0.0.1#5335 +ipset=/easylist.to/gfwlist +server=/battlefieldheroes.com/127.0.0.1#5335 +ipset=/battlefieldheroes.com/gfwlist +server=/ebaymainstreet.com/127.0.0.1#5335 +ipset=/ebaymainstreet.com/gfwlist +server=/mac.com/127.0.0.1#5335 +ipset=/mac.com/gfwlist +server=/cqcorea.com/127.0.0.1#5335 +ipset=/cqcorea.com/gfwlist +server=/ssx3.com/127.0.0.1#5335 +ipset=/ssx3.com/gfwlist +server=/chinapress.com.my/127.0.0.1#5335 +ipset=/chinapress.com.my/gfwlist +server=/bmwusa.com/127.0.0.1#5335 +ipset=/bmwusa.com/gfwlist +server=/pivotalinitiative.com/127.0.0.1#5335 +ipset=/pivotalinitiative.com/gfwlist +server=/iwork.wang/127.0.0.1#5335 +ipset=/iwork.wang/gfwlist +server=/firestone.com.ar/127.0.0.1#5335 +ipset=/firestone.com.ar/gfwlist +server=/minicaribbean.com/127.0.0.1#5335 +ipset=/minicaribbean.com/gfwlist +server=/cheapbeats.us/127.0.0.1#5335 +ipset=/cheapbeats.us/gfwlist +server=/cisconetspace.com/127.0.0.1#5335 +ipset=/cisconetspace.com/gfwlist +server=/thegooglestore.com/127.0.0.1#5335 +ipset=/thegooglestore.com/gfwlist +server=/adidas.ru/127.0.0.1#5335 +ipset=/adidas.ru/gfwlist +server=/yahoo.at/127.0.0.1#5335 +ipset=/yahoo.at/gfwlist +server=/badgen.net/127.0.0.1#5335 +ipset=/badgen.net/gfwlist +server=/archlinuxarm.org/127.0.0.1#5335 +ipset=/archlinuxarm.org/gfwlist +server=/bluemix.com/127.0.0.1#5335 +ipset=/bluemix.com/gfwlist +server=/ilife.gr/127.0.0.1#5335 +ipset=/ilife.gr/gfwlist +server=/huffingtonpost.fr/127.0.0.1#5335 +ipset=/huffingtonpost.fr/gfwlist +server=/superuser.com/127.0.0.1#5335 +ipset=/superuser.com/gfwlist +server=/bmw.co.th/127.0.0.1#5335 +ipset=/bmw.co.th/gfwlist +server=/vfsco.sk/127.0.0.1#5335 +ipset=/vfsco.sk/gfwlist +server=/bmw-diplomatic-sales.com/127.0.0.1#5335 +ipset=/bmw-diplomatic-sales.com/gfwlist +server=/kindleoasis.com/127.0.0.1#5335 +ipset=/kindleoasis.com/gfwlist +server=/mini.com.mk/127.0.0.1#5335 +ipset=/mini.com.mk/gfwlist +server=/playparagon.com/127.0.0.1#5335 +ipset=/playparagon.com/gfwlist +server=/cheapbeatsbydre-au.com/127.0.0.1#5335 +ipset=/cheapbeatsbydre-au.com/gfwlist +server=/paypal-photocard.com/127.0.0.1#5335 +ipset=/paypal-photocard.com/gfwlist +server=/apple.co.cr/127.0.0.1#5335 +ipset=/apple.co.cr/gfwlist +server=/micstl.com/127.0.0.1#5335 +ipset=/micstl.com/gfwlist +server=/vaultify.net/127.0.0.1#5335 +ipset=/vaultify.net/gfwlist +server=/finalcutpro.com/127.0.0.1#5335 +ipset=/finalcutpro.com/gfwlist +server=/pearson-studium.ch/127.0.0.1#5335 +ipset=/pearson-studium.ch/gfwlist +server=/facetime.net/127.0.0.1#5335 +ipset=/facetime.net/gfwlist +server=/bmw-abudhabi.com/127.0.0.1#5335 +ipset=/bmw-abudhabi.com/gfwlist +server=/advertiserscommunity.com/127.0.0.1#5335 +ipset=/advertiserscommunity.com/gfwlist +server=/aple.com/127.0.0.1#5335 +ipset=/aple.com/gfwlist +server=/bmwfilms.com/127.0.0.1#5335 +ipset=/bmwfilms.com/gfwlist +server=/eworld.com/127.0.0.1#5335 +ipset=/eworld.com/gfwlist +server=/momoshop.com.tw/127.0.0.1#5335 +ipset=/momoshop.com.tw/gfwlist +server=/zencdn.net/127.0.0.1#5335 +ipset=/zencdn.net/gfwlist +server=/bcsecure01-a.akamaihd.net/127.0.0.1#5335 +ipset=/bcsecure01-a.akamaihd.net/gfwlist +server=/soasta-dswb.com/127.0.0.1#5335 +ipset=/soasta-dswb.com/gfwlist +server=/directvconnect.com/127.0.0.1#5335 +ipset=/directvconnect.com/gfwlist +server=/githubapp.com/127.0.0.1#5335 +ipset=/githubapp.com/gfwlist +server=/serverlesslibrary.net/127.0.0.1#5335 +ipset=/serverlesslibrary.net/gfwlist +server=/volvobuses.ca/127.0.0.1#5335 +ipset=/volvobuses.ca/gfwlist +server=/ecgapp.net/127.0.0.1#5335 +ipset=/ecgapp.net/gfwlist +server=/volvotrucks.ps/127.0.0.1#5335 +ipset=/volvotrucks.ps/gfwlist +server=/earpod.net/127.0.0.1#5335 +ipset=/earpod.net/gfwlist +server=/huobi.sc/127.0.0.1#5335 +ipset=/huobi.sc/gfwlist +server=/dokusho-ojikan.jp/127.0.0.1#5335 +ipset=/dokusho-ojikan.jp/gfwlist +server=/tubetubetube.com/127.0.0.1#5335 +ipset=/tubetubetube.com/gfwlist +server=/airgonetworks.com/127.0.0.1#5335 +ipset=/airgonetworks.com/gfwlist +server=/sony.lv/127.0.0.1#5335 +ipset=/sony.lv/gfwlist +server=/dvdstudiopro.biz/127.0.0.1#5335 +ipset=/dvdstudiopro.biz/gfwlist +server=/iphonecases5.com/127.0.0.1#5335 +ipset=/iphonecases5.com/gfwlist +server=/digitalhub.com/127.0.0.1#5335 +ipset=/digitalhub.com/gfwlist +server=/bridgestone.com.sg/127.0.0.1#5335 +ipset=/bridgestone.com.sg/gfwlist +server=/yahoo.so/127.0.0.1#5335 +ipset=/yahoo.so/gfwlist +server=/oninstagram.com/127.0.0.1#5335 +ipset=/oninstagram.com/gfwlist +server=/buymeacoff.ee/127.0.0.1#5335 +ipset=/buymeacoff.ee/gfwlist +server=/ebaycareers.com/127.0.0.1#5335 +ipset=/ebaycareers.com/gfwlist +server=/sulwerphoto.com/127.0.0.1#5335 +ipset=/sulwerphoto.com/gfwlist +server=/intel.mt/127.0.0.1#5335 +ipset=/intel.mt/gfwlist +server=/sm.ms/127.0.0.1#5335 +ipset=/sm.ms/gfwlist +server=/yahoo.fi/127.0.0.1#5335 +ipset=/yahoo.fi/gfwlist +server=/joox.com/127.0.0.1#5335 +ipset=/joox.com/gfwlist +server=/test-ipv6.com/127.0.0.1#5335 +ipset=/test-ipv6.com/gfwlist +server=/dajiyuan.com/127.0.0.1#5335 +ipset=/dajiyuan.com/gfwlist +server=/coreml.net/127.0.0.1#5335 +ipset=/coreml.net/gfwlist +server=/chomp.com/127.0.0.1#5335 +ipset=/chomp.com/gfwlist +server=/volvobrandshop.com/127.0.0.1#5335 +ipset=/volvobrandshop.com/gfwlist +server=/volvo-truck.nl/127.0.0.1#5335 +ipset=/volvo-truck.nl/gfwlist +server=/camelspaceeffect.com/127.0.0.1#5335 +ipset=/camelspaceeffect.com/gfwlist +server=/mushymush.tv/127.0.0.1#5335 +ipset=/mushymush.tv/gfwlist +server=/termius.com/127.0.0.1#5335 +ipset=/termius.com/gfwlist +server=/buyaapl.com/127.0.0.1#5335 +ipset=/buyaapl.com/gfwlist +server=/degruyter.com/127.0.0.1#5335 +ipset=/degruyter.com/gfwlist +server=/fontsinuse.com/127.0.0.1#5335 +ipset=/fontsinuse.com/gfwlist +server=/alphabet.biz/127.0.0.1#5335 +ipset=/alphabet.biz/gfwlist +server=/googleusercontent.com/127.0.0.1#5335 +ipset=/googleusercontent.com/gfwlist +server=/cepacol.ca/127.0.0.1#5335 +ipset=/cepacol.ca/gfwlist +server=/ebay-fashion.com/127.0.0.1#5335 +ipset=/ebay-fashion.com/gfwlist +server=/swiftbank.us/127.0.0.1#5335 +ipset=/swiftbank.us/gfwlist +server=/isiknowledge.com/127.0.0.1#5335 +ipset=/isiknowledge.com/gfwlist +server=/cnpmjs.org/127.0.0.1#5335 +ipset=/cnpmjs.org/gfwlist +server=/cheapheadphonessale.com/127.0.0.1#5335 +ipset=/cheapheadphonessale.com/gfwlist +server=/visa.co.th/127.0.0.1#5335 +ipset=/visa.co.th/gfwlist +server=/buckbuild.com/127.0.0.1#5335 +ipset=/buckbuild.com/gfwlist +server=/applle.com/127.0.0.1#5335 +ipset=/applle.com/gfwlist +server=/wwwhuluplus.com/127.0.0.1#5335 +ipset=/wwwhuluplus.com/gfwlist +server=/applezh.com/127.0.0.1#5335 +ipset=/applezh.com/gfwlist +server=/paypal-knowledge.com/127.0.0.1#5335 +ipset=/paypal-knowledge.com/gfwlist +server=/amazonfctours.com/127.0.0.1#5335 +ipset=/amazonfctours.com/gfwlist +server=/appleweb.net/127.0.0.1#5335 +ipset=/appleweb.net/gfwlist +server=/cheapbeatsbydre99.com/127.0.0.1#5335 +ipset=/cheapbeatsbydre99.com/gfwlist +server=/eater.com/127.0.0.1#5335 +ipset=/eater.com/gfwlist +server=/bmw.com.bo/127.0.0.1#5335 +ipset=/bmw.com.bo/gfwlist +server=/appletaiwan.com/127.0.0.1#5335 +ipset=/appletaiwan.com/gfwlist +server=/mastercard.at/127.0.0.1#5335 +ipset=/mastercard.at/gfwlist +server=/appleshop.co.uk/127.0.0.1#5335 +ipset=/appleshop.co.uk/gfwlist +server=/microsoftedge.com/127.0.0.1#5335 +ipset=/microsoftedge.com/gfwlist +server=/mini-kuwait.com/127.0.0.1#5335 +ipset=/mini-kuwait.com/gfwlist +server=/awseducate.org/127.0.0.1#5335 +ipset=/awseducate.org/gfwlist +server=/calvappd.me/127.0.0.1#5335 +ipset=/calvappd.me/gfwlist +server=/fundpaypal.com/127.0.0.1#5335 +ipset=/fundpaypal.com/gfwlist +server=/nikeinstock.com/127.0.0.1#5335 +ipset=/nikeinstock.com/gfwlist +server=/apples-msk.ru/127.0.0.1#5335 +ipset=/apples-msk.ru/gfwlist +server=/feceboock.com/127.0.0.1#5335 +ipset=/feceboock.com/gfwlist +server=/futhead.com/127.0.0.1#5335 +ipset=/futhead.com/gfwlist +server=/realcleareducation.com/127.0.0.1#5335 +ipset=/realcleareducation.com/gfwlist +server=/carstagram.com/127.0.0.1#5335 +ipset=/carstagram.com/gfwlist +server=/mastercardezsavings.com/127.0.0.1#5335 +ipset=/mastercardezsavings.com/gfwlist +server=/directvlebanontn.com/127.0.0.1#5335 +ipset=/directvlebanontn.com/gfwlist +server=/bangbros.com/127.0.0.1#5335 +ipset=/bangbros.com/gfwlist +server=/ieee-edusociety.org/127.0.0.1#5335 +ipset=/ieee-edusociety.org/gfwlist +server=/uwpcommunitytoolkit.com/127.0.0.1#5335 +ipset=/uwpcommunitytoolkit.com/gfwlist +server=/clearlinux.org/127.0.0.1#5335 +ipset=/clearlinux.org/gfwlist +server=/jamanetwork.com/127.0.0.1#5335 +ipset=/jamanetwork.com/gfwlist +server=/chinadigitaltimes.net/127.0.0.1#5335 +ipset=/chinadigitaltimes.net/gfwlist +server=/taboola.com/127.0.0.1#5335 +ipset=/taboola.com/gfwlist +server=/google.lk/127.0.0.1#5335 +ipset=/google.lk/gfwlist +server=/mirrorsedge2d.com/127.0.0.1#5335 +ipset=/mirrorsedge2d.com/gfwlist +server=/appleonline.net/127.0.0.1#5335 +ipset=/appleonline.net/gfwlist +server=/hponlineprinting.com/127.0.0.1#5335 +ipset=/hponlineprinting.com/gfwlist +server=/media-amazon.com/127.0.0.1#5335 +ipset=/media-amazon.com/gfwlist +server=/steamuserimages-a.akamaihd.net/127.0.0.1#5335 +ipset=/steamuserimages-a.akamaihd.net/gfwlist +server=/bmw-bahrain.com/127.0.0.1#5335 +ipset=/bmw-bahrain.com/gfwlist +server=/u.nu/127.0.0.1#5335 +ipset=/u.nu/gfwlist +server=/wariowarediy.com/127.0.0.1#5335 +ipset=/wariowarediy.com/gfwlist +server=/pximg.net/127.0.0.1#5335 +ipset=/pximg.net/gfwlist +server=/kobbeatssbydredk.com/127.0.0.1#5335 +ipset=/kobbeatssbydredk.com/gfwlist +server=/facebooklivestaging.net/127.0.0.1#5335 +ipset=/facebooklivestaging.net/gfwlist +server=/sony.pt/127.0.0.1#5335 +ipset=/sony.pt/gfwlist +server=/ebay.co.nz/127.0.0.1#5335 +ipset=/ebay.co.nz/gfwlist +server=/visa.gp/127.0.0.1#5335 +ipset=/visa.gp/gfwlist +server=/crates.io/127.0.0.1#5335 +ipset=/crates.io/gfwlist +server=/paypal-sptam.com/127.0.0.1#5335 +ipset=/paypal-sptam.com/gfwlist +server=/mozilla.community/127.0.0.1#5335 +ipset=/mozilla.community/gfwlist +server=/applecomputers.co.nz/127.0.0.1#5335 +ipset=/applecomputers.co.nz/gfwlist +server=/pxt.io/127.0.0.1#5335 +ipset=/pxt.io/gfwlist +server=/testonfox.com/127.0.0.1#5335 +ipset=/testonfox.com/gfwlist +server=/applecomputerimac.com/127.0.0.1#5335 +ipset=/applecomputerimac.com/gfwlist +server=/homephoneplus.com/127.0.0.1#5335 +ipset=/homephoneplus.com/gfwlist +server=/applecomputer.hu/127.0.0.1#5335 +ipset=/applecomputer.hu/gfwlist +server=/nike-dunksb.com/127.0.0.1#5335 +ipset=/nike-dunksb.com/gfwlist +server=/applecomputer.com.tw/127.0.0.1#5335 +ipset=/applecomputer.com.tw/gfwlist +server=/applecomputer.co.nz/127.0.0.1#5335 +ipset=/applecomputer.co.nz/gfwlist +server=/wordpress.org/127.0.0.1#5335 +ipset=/wordpress.org/gfwlist +server=/careerjournal.com/127.0.0.1#5335 +ipset=/careerjournal.com/gfwlist +server=/bmw.vn/127.0.0.1#5335 +ipset=/bmw.vn/gfwlist +server=/applecomputer-imac.com/127.0.0.1#5335 +ipset=/applecomputer-imac.com/gfwlist +server=/privatemarketplaces.net/127.0.0.1#5335 +ipset=/privatemarketplaces.net/gfwlist +server=/beatsbydrerealstore.com/127.0.0.1#5335 +ipset=/beatsbydrerealstore.com/gfwlist +server=/applecom.com/127.0.0.1#5335 +ipset=/applecom.com/gfwlist +server=/emcs.org/127.0.0.1#5335 +ipset=/emcs.org/gfwlist +server=/hayabusa.media/127.0.0.1#5335 +ipset=/hayabusa.media/gfwlist +server=/appleclub.com.hk/127.0.0.1#5335 +ipset=/appleclub.com.hk/gfwlist +server=/paypass.net/127.0.0.1#5335 +ipset=/paypass.net/gfwlist +server=/zee5.tv/127.0.0.1#5335 +ipset=/zee5.tv/gfwlist +server=/applecentre.com.au/127.0.0.1#5335 +ipset=/applecentre.com.au/gfwlist +server=/ghostgames.com/127.0.0.1#5335 +ipset=/ghostgames.com/gfwlist +server=/eaplay.com/127.0.0.1#5335 +ipset=/eaplay.com/gfwlist +server=/applecentar.rs/127.0.0.1#5335 +ipset=/applecentar.rs/gfwlist +server=/globalsign.com.au/127.0.0.1#5335 +ipset=/globalsign.com.au/gfwlist +server=/bitwarden.com/127.0.0.1#5335 +ipset=/bitwarden.com/gfwlist +server=/oculusconnect.com/127.0.0.1#5335 +ipset=/oculusconnect.com/gfwlist +server=/beatsjoy.com/127.0.0.1#5335 +ipset=/beatsjoy.com/gfwlist +server=/dropboxapi.com/127.0.0.1#5335 +ipset=/dropboxapi.com/gfwlist +server=/facebooklogin.info/127.0.0.1#5335 +ipset=/facebooklogin.info/gfwlist +server=/dice.se/127.0.0.1#5335 +ipset=/dice.se/gfwlist +server=/appleaustralia.com.au/127.0.0.1#5335 +ipset=/appleaustralia.com.au/gfwlist +server=/appleafrica.com/127.0.0.1#5335 +ipset=/appleafrica.com/gfwlist +server=/grss-ieee.org/127.0.0.1#5335 +ipset=/grss-ieee.org/gfwlist +server=/apple-inc.net/127.0.0.1#5335 +ipset=/apple-inc.net/gfwlist +server=/apple-hk.com/127.0.0.1#5335 +ipset=/apple-hk.com/gfwlist +server=/braintreegateway.tv/127.0.0.1#5335 +ipset=/braintreegateway.tv/gfwlist +server=/bmw-corporate-sales.com/127.0.0.1#5335 +ipset=/bmw-corporate-sales.com/gfwlist +server=/bestmallawards.com/127.0.0.1#5335 +ipset=/bestmallawards.com/gfwlist +server=/ipodnano.com/127.0.0.1#5335 +ipset=/ipodnano.com/gfwlist +server=/apple-dns.com/127.0.0.1#5335 +ipset=/apple-dns.com/gfwlist +server=/mini.com.ar/127.0.0.1#5335 +ipset=/mini.com.ar/gfwlist +server=/elsevier-ae.com/127.0.0.1#5335 +ipset=/elsevier-ae.com/gfwlist +server=/apple-darwin.org/127.0.0.1#5335 +ipset=/apple-darwin.org/gfwlist +server=/apple-darwin.net/127.0.0.1#5335 +ipset=/apple-darwin.net/gfwlist +server=/ebay.com.hk/127.0.0.1#5335 +ipset=/ebay.com.hk/gfwlist +server=/verisign.org/127.0.0.1#5335 +ipset=/verisign.org/gfwlist +server=/huluplus.com/127.0.0.1#5335 +ipset=/huluplus.com/gfwlist +server=/apple-darwin.com/127.0.0.1#5335 +ipset=/apple-darwin.com/gfwlist +server=/nextplus.com.hk/127.0.0.1#5335 +ipset=/nextplus.com.hk/gfwlist +server=/joinclubhouse.com/127.0.0.1#5335 +ipset=/joinclubhouse.com/gfwlist +server=/line-beta.me/127.0.0.1#5335 +ipset=/line-beta.me/gfwlist +server=/appl4e.com/127.0.0.1#5335 +ipset=/appl4e.com/gfwlist +server=/paypal-activate.com/127.0.0.1#5335 +ipset=/paypal-activate.com/gfwlist +server=/rprimelab.com/127.0.0.1#5335 +ipset=/rprimelab.com/gfwlist +server=/bdn.dev/127.0.0.1#5335 +ipset=/bdn.dev/gfwlist +server=/packagist.org/127.0.0.1#5335 +ipset=/packagist.org/gfwlist +server=/bmw.com.mk/127.0.0.1#5335 +ipset=/bmw.com.mk/gfwlist +server=/miniitalianjob.com/127.0.0.1#5335 +ipset=/miniitalianjob.com/gfwlist +server=/flickr.com/127.0.0.1#5335 +ipset=/flickr.com/gfwlist +server=/volvobuses.com.kw/127.0.0.1#5335 +ipset=/volvobuses.com.kw/gfwlist +server=/ap0le.com/127.0.0.1#5335 +ipset=/ap0le.com/gfwlist +server=/epochtimes.jp/127.0.0.1#5335 +ipset=/epochtimes.jp/gfwlist +server=/iphonegermany.com/127.0.0.1#5335 +ipset=/iphonegermany.com/gfwlist +server=/vipshoes2.com/127.0.0.1#5335 +ipset=/vipshoes2.com/gfwlist +server=/forgecdn.net/127.0.0.1#5335 +ipset=/forgecdn.net/gfwlist +server=/1to1computing.com.au/127.0.0.1#5335 +ipset=/1to1computing.com.au/gfwlist +server=/pearson-anaya.com/127.0.0.1#5335 +ipset=/pearson-anaya.com/gfwlist +server=/prostores.com/127.0.0.1#5335 +ipset=/prostores.com/gfwlist +server=/appleone.host/127.0.0.1#5335 +ipset=/appleone.host/gfwlist +server=/volvobuses.co.uk/127.0.0.1#5335 +ipset=/volvobuses.co.uk/gfwlist +server=/ilife.wang/127.0.0.1#5335 +ipset=/ilife.wang/gfwlist +server=/bmwmotorrad.co.kr/127.0.0.1#5335 +ipset=/bmwmotorrad.co.kr/gfwlist +server=/jfrog.org/127.0.0.1#5335 +ipset=/jfrog.org/gfwlist +server=/directv-4-you.com/127.0.0.1#5335 +ipset=/directv-4-you.com/gfwlist +server=/ingka.dev/127.0.0.1#5335 +ipset=/ingka.dev/gfwlist +server=/myfoxphoenix.com/127.0.0.1#5335 +ipset=/myfoxphoenix.com/gfwlist +server=/appleone.blog/127.0.0.1#5335 +ipset=/appleone.blog/gfwlist +server=/dropbox.com/127.0.0.1#5335 +ipset=/dropbox.com/gfwlist +server=/appleone.audio/127.0.0.1#5335 +ipset=/appleone.audio/gfwlist +server=/appletv.wang/127.0.0.1#5335 +ipset=/appletv.wang/gfwlist +server=/flic.kr/127.0.0.1#5335 +ipset=/flic.kr/gfwlist +server=/thomsonreuters.ca/127.0.0.1#5335 +ipset=/thomsonreuters.ca/gfwlist +server=/ipod.is/127.0.0.1#5335 +ipset=/ipod.is/gfwlist +server=/youtube.com.sg/127.0.0.1#5335 +ipset=/youtube.com.sg/gfwlist +server=/visa.mq/127.0.0.1#5335 +ipset=/visa.mq/gfwlist +server=/signalprocessingsociety.org/127.0.0.1#5335 +ipset=/signalprocessingsociety.org/gfwlist +server=/apple-pay.rs/127.0.0.1#5335 +ipset=/apple-pay.rs/gfwlist +server=/appletv.com/127.0.0.1#5335 +ipset=/appletv.com/gfwlist +server=/mini.bg/127.0.0.1#5335 +ipset=/mini.bg/gfwlist +server=/kindle4rss.com/127.0.0.1#5335 +ipset=/kindle4rss.com/gfwlist +server=/duckduckhack.com/127.0.0.1#5335 +ipset=/duckduckhack.com/gfwlist +server=/appleid.berlin/127.0.0.1#5335 +ipset=/appleid.berlin/gfwlist +server=/appleid-uk.us/127.0.0.1#5335 +ipset=/appleid-uk.us/gfwlist +server=/verizonenterprise.com/127.0.0.1#5335 +ipset=/verizonenterprise.com/gfwlist +server=/appleid-applemx.us/127.0.0.1#5335 +ipset=/appleid-applemx.us/gfwlist +server=/hibdontire.com/127.0.0.1#5335 +ipset=/hibdontire.com/gfwlist +server=/bmwmperformance.com/127.0.0.1#5335 +ipset=/bmwmperformance.com/gfwlist +server=/bmwmotorrad.com.sg/127.0.0.1#5335 +ipset=/bmwmotorrad.com.sg/gfwlist +server=/meadjohnson.net/127.0.0.1#5335 +ipset=/meadjohnson.net/gfwlist +server=/uo.com/127.0.0.1#5335 +ipset=/uo.com/gfwlist +server=/learnwithleague.com/127.0.0.1#5335 +ipset=/learnwithleague.com/gfwlist +server=/appleinsider.com/127.0.0.1#5335 +ipset=/appleinsider.com/gfwlist +server=/squarefoot.com.hk/127.0.0.1#5335 +ipset=/squarefoot.com.hk/gfwlist +server=/steamunlocked.net/127.0.0.1#5335 +ipset=/steamunlocked.net/gfwlist +server=/volvotrucks.fi/127.0.0.1#5335 +ipset=/volvotrucks.fi/gfwlist +server=/mini.ro/127.0.0.1#5335 +ipset=/mini.ro/gfwlist +server=/beatsshopstore.com/127.0.0.1#5335 +ipset=/beatsshopstore.com/gfwlist +server=/scholar.google.is/127.0.0.1#5335 +ipset=/scholar.google.is/gfwlist +server=/akaeai.com/127.0.0.1#5335 +ipset=/akaeai.com/gfwlist +server=/sneaker666.com/127.0.0.1#5335 +ipset=/sneaker666.com/gfwlist +server=/verisign.biz/127.0.0.1#5335 +ipset=/verisign.biz/gfwlist +server=/getws1.com/127.0.0.1#5335 +ipset=/getws1.com/gfwlist +server=/shadowcomplex.com/127.0.0.1#5335 +ipset=/shadowcomplex.com/gfwlist +server=/go.com/127.0.0.1#5335 +ipset=/go.com/gfwlist +server=/dailymail.com/127.0.0.1#5335 +ipset=/dailymail.com/gfwlist +server=/hbfile.net/127.0.0.1#5335 +ipset=/hbfile.net/gfwlist +server=/bmw.cz/127.0.0.1#5335 +ipset=/bmw.cz/gfwlist +server=/venmo.com/127.0.0.1#5335 +ipset=/venmo.com/gfwlist +server=/visiontimesjp.com/127.0.0.1#5335 +ipset=/visiontimesjp.com/gfwlist +server=/app-store.wang/127.0.0.1#5335 +ipset=/app-store.wang/gfwlist +server=/marketodesigner.com/127.0.0.1#5335 +ipset=/marketodesigner.com/gfwlist +server=/premiumfs.de/127.0.0.1#5335 +ipset=/premiumfs.de/gfwlist +server=/change.org/127.0.0.1#5335 +ipset=/change.org/gfwlist +server=/alphera-finance.co.in/127.0.0.1#5335 +ipset=/alphera-finance.co.in/gfwlist +server=/tidalhifi.com/127.0.0.1#5335 +ipset=/tidalhifi.com/gfwlist +server=/bazel.build/127.0.0.1#5335 +ipset=/bazel.build/gfwlist +server=/aws-iot-hackathon.com/127.0.0.1#5335 +ipset=/aws-iot-hackathon.com/gfwlist +server=/20thcenturystudios.jp/127.0.0.1#5335 +ipset=/20thcenturystudios.jp/gfwlist +server=/wp.com/127.0.0.1#5335 +ipset=/wp.com/gfwlist +server=/nimg.jp/127.0.0.1#5335 +ipset=/nimg.jp/gfwlist +server=/ibook.com/127.0.0.1#5335 +ipset=/ibook.com/gfwlist +server=/bridgestone-brand.com/127.0.0.1#5335 +ipset=/bridgestone-brand.com/gfwlist +server=/twitch.tv/127.0.0.1#5335 +ipset=/twitch.tv/gfwlist +server=/mastercard.co.il/127.0.0.1#5335 +ipset=/mastercard.co.il/gfwlist +server=/imac.co.nz/127.0.0.1#5335 +ipset=/imac.co.nz/gfwlist +server=/applewallet.com/127.0.0.1#5335 +ipset=/applewallet.com/gfwlist +server=/xn--4vq477m.com/127.0.0.1#5335 +ipset=/xn--4vq477m.com/gfwlist +server=/metcams.com/127.0.0.1#5335 +ipset=/metcams.com/gfwlist +server=/applepaysupplies.tv/127.0.0.1#5335 +ipset=/applepaysupplies.tv/gfwlist +server=/applepaysupplies.info/127.0.0.1#5335 +ipset=/applepaysupplies.info/gfwlist +server=/applepaysupplies.com/127.0.0.1#5335 +ipset=/applepaysupplies.com/gfwlist +server=/applepaycash.tv/127.0.0.1#5335 +ipset=/applepaycash.tv/gfwlist +server=/kindle.it/127.0.0.1#5335 +ipset=/kindle.it/gfwlist +server=/womenwill.mx/127.0.0.1#5335 +ipset=/womenwill.mx/gfwlist +server=/googlecapital.com/127.0.0.1#5335 +ipset=/googlecapital.com/gfwlist +server=/hp.com/127.0.0.1#5335 +ipset=/hp.com/gfwlist +server=/dreprofy.com/127.0.0.1#5335 +ipset=/dreprofy.com/gfwlist +server=/glyphsapp.com/127.0.0.1#5335 +ipset=/glyphsapp.com/gfwlist +server=/nikelunarglide.com/127.0.0.1#5335 +ipset=/nikelunarglide.com/gfwlist +server=/mastercard.fr/127.0.0.1#5335 +ipset=/mastercard.fr/gfwlist +server=/iphone.wang/127.0.0.1#5335 +ipset=/iphone.wang/gfwlist +server=/applepay.info/127.0.0.1#5335 +ipset=/applepay.info/gfwlist +server=/wirelessgroup.co.uk/127.0.0.1#5335 +ipset=/wirelessgroup.co.uk/gfwlist +server=/miniusa.com/127.0.0.1#5335 +ipset=/miniusa.com/gfwlist +server=/ebay-inc.net/127.0.0.1#5335 +ipset=/ebay-inc.net/gfwlist +server=/gettyimages.dk/127.0.0.1#5335 +ipset=/gettyimages.dk/gfwlist +server=/wixstatic.com/127.0.0.1#5335 +ipset=/wixstatic.com/gfwlist +server=/albeats.com/127.0.0.1#5335 +ipset=/albeats.com/gfwlist +server=/apple-pay.com/127.0.0.1#5335 +ipset=/apple-pay.com/gfwlist +server=/thesims3.com/127.0.0.1#5335 +ipset=/thesims3.com/gfwlist +server=/womenwill.com/127.0.0.1#5335 +ipset=/womenwill.com/gfwlist +server=/whosthehost.com/127.0.0.1#5335 +ipset=/whosthehost.com/gfwlist +server=/paypal-community.net/127.0.0.1#5335 +ipset=/paypal-community.net/gfwlist +server=/gvt5.com/127.0.0.1#5335 +ipset=/gvt5.com/gfwlist +server=/fox5atlanta.com/127.0.0.1#5335 +ipset=/fox5atlanta.com/gfwlist +server=/coreduo.com/127.0.0.1#5335 +ipset=/coreduo.com/gfwlist +server=/iwork.com/127.0.0.1#5335 +ipset=/iwork.com/gfwlist +server=/apple.news/127.0.0.1#5335 +ipset=/apple.news/gfwlist +server=/aboutamazon.com/127.0.0.1#5335 +ipset=/aboutamazon.com/gfwlist +server=/beatshopuk.com/127.0.0.1#5335 +ipset=/beatshopuk.com/gfwlist +server=/itun.es/127.0.0.1#5335 +ipset=/itun.es/gfwlist +server=/visa.mn/127.0.0.1#5335 +ipset=/visa.mn/gfwlist +server=/musickit.net/127.0.0.1#5335 +ipset=/musickit.net/gfwlist +server=/tidal.com/127.0.0.1#5335 +ipset=/tidal.com/gfwlist +server=/googledanmark.com/127.0.0.1#5335 +ipset=/googledanmark.com/gfwlist +server=/applemusic.hamburg/127.0.0.1#5335 +ipset=/applemusic.hamburg/gfwlist +server=/bmw.ps/127.0.0.1#5335 +ipset=/bmw.ps/gfwlist +server=/youtube.gt/127.0.0.1#5335 +ipset=/youtube.gt/gfwlist +server=/hm.com/127.0.0.1#5335 +ipset=/hm.com/gfwlist +server=/kraken.com/127.0.0.1#5335 +ipset=/kraken.com/gfwlist +server=/adobetechcommdemo.com/127.0.0.1#5335 +ipset=/adobetechcommdemo.com/gfwlist +server=/applemusic.com/127.0.0.1#5335 +ipset=/applemusic.com/gfwlist +server=/bloombergenvironment.com/127.0.0.1#5335 +ipset=/bloombergenvironment.com/gfwlist +server=/line-cdn.net/127.0.0.1#5335 +ipset=/line-cdn.net/gfwlist +server=/heydoga.com/127.0.0.1#5335 +ipset=/heydoga.com/gfwlist +server=/applemusic.berlin/127.0.0.1#5335 +ipset=/applemusic.berlin/gfwlist +server=/pinterest.nl/127.0.0.1#5335 +ipset=/pinterest.nl/gfwlist +server=/deluxe.com.hk/127.0.0.1#5335 +ipset=/deluxe.com.hk/gfwlist +server=/bmw.dk/127.0.0.1#5335 +ipset=/bmw.dk/gfwlist +server=/zohomeetups.com/127.0.0.1#5335 +ipset=/zohomeetups.com/gfwlist +server=/volvobuses.hk/127.0.0.1#5335 +ipset=/volvobuses.hk/gfwlist +server=/applewatch.wang/127.0.0.1#5335 +ipset=/applewatch.wang/gfwlist +server=/114av.xyz/127.0.0.1#5335 +ipset=/114av.xyz/gfwlist +server=/volvogrouptruckcenter.nl/127.0.0.1#5335 +ipset=/volvogrouptruckcenter.nl/gfwlist +server=/nbcudigitaladops.com/127.0.0.1#5335 +ipset=/nbcudigitaladops.com/gfwlist +server=/monsterbeatspascher.net/127.0.0.1#5335 +ipset=/monsterbeatspascher.net/gfwlist +server=/globalsign.com.hk/127.0.0.1#5335 +ipset=/globalsign.com.hk/gfwlist +server=/itunesparty.com/127.0.0.1#5335 +ipset=/itunesparty.com/gfwlist +server=/appl.com/127.0.0.1#5335 +ipset=/appl.com/gfwlist +server=/macbookpro.us/127.0.0.1#5335 +ipset=/macbookpro.us/gfwlist +server=/durex.jp/127.0.0.1#5335 +ipset=/durex.jp/gfwlist +server=/ipod.gr/127.0.0.1#5335 +ipset=/ipod.gr/gfwlist +server=/beatspromotions.com/127.0.0.1#5335 +ipset=/beatspromotions.com/gfwlist +server=/macbookair.net/127.0.0.1#5335 +ipset=/macbookair.net/gfwlist +server=/wwwitunes.com/127.0.0.1#5335 +ipset=/wwwitunes.com/gfwlist +server=/dev-guardianapis.com/127.0.0.1#5335 +ipset=/dev-guardianapis.com/gfwlist +server=/minidowntown.ca/127.0.0.1#5335 +ipset=/minidowntown.ca/gfwlist +server=/handbags-nike.com/127.0.0.1#5335 +ipset=/handbags-nike.com/gfwlist +server=/macbookair.kr/127.0.0.1#5335 +ipset=/macbookair.kr/gfwlist +server=/visa.com.ua/127.0.0.1#5335 +ipset=/visa.com.ua/gfwlist +server=/nintendo.dk/127.0.0.1#5335 +ipset=/nintendo.dk/gfwlist +server=/macbookair.hk/127.0.0.1#5335 +ipset=/macbookair.hk/gfwlist +server=/macbookair.com.au/127.0.0.1#5335 +ipset=/macbookair.com.au/gfwlist +server=/cheapbeatsdrestudios.com/127.0.0.1#5335 +ipset=/cheapbeatsdrestudios.com/gfwlist +server=/macbookair.com/127.0.0.1#5335 +ipset=/macbookair.com/gfwlist +server=/mailonsunday.ie/127.0.0.1#5335 +ipset=/mailonsunday.ie/gfwlist +server=/macbook.hk/127.0.0.1#5335 +ipset=/macbook.hk/gfwlist +server=/digital-rb.com/127.0.0.1#5335 +ipset=/digital-rb.com/gfwlist +server=/hopstop.tv/127.0.0.1#5335 +ipset=/hopstop.tv/gfwlist +server=/ymail.com/127.0.0.1#5335 +ipset=/ymail.com/gfwlist +server=/citylab.com/127.0.0.1#5335 +ipset=/citylab.com/gfwlist +server=/bootstrapcdn.com/127.0.0.1#5335 +ipset=/bootstrapcdn.com/gfwlist +server=/mastercard.ro/127.0.0.1#5335 +ipset=/mastercard.ro/gfwlist +server=/bridgestonewx.com/127.0.0.1#5335 +ipset=/bridgestonewx.com/gfwlist +server=/nintendoswitch.com/127.0.0.1#5335 +ipset=/nintendoswitch.com/gfwlist +server=/firestone.com.mx/127.0.0.1#5335 +ipset=/firestone.com.mx/gfwlist +server=/hulurussia.com/127.0.0.1#5335 +ipset=/hulurussia.com/gfwlist +server=/offrezdesipods.com/127.0.0.1#5335 +ipset=/offrezdesipods.com/gfwlist +server=/myipod.net/127.0.0.1#5335 +ipset=/myipod.net/gfwlist +server=/coinbase.com/127.0.0.1#5335 +ipset=/coinbase.com/gfwlist +server=/realclearpolicy.com/127.0.0.1#5335 +ipset=/realclearpolicy.com/gfwlist +server=/eafootballworld.com/127.0.0.1#5335 +ipset=/eafootballworld.com/gfwlist +server=/hptechventures.com/127.0.0.1#5335 +ipset=/hptechventures.com/gfwlist +server=/cloudflareok.com/127.0.0.1#5335 +ipset=/cloudflareok.com/gfwlist +server=/scholar.google.ae/127.0.0.1#5335 +ipset=/scholar.google.ae/gfwlist +server=/pricelesstoronto.ca/127.0.0.1#5335 +ipset=/pricelesstoronto.ca/gfwlist +server=/intelforchange.com/127.0.0.1#5335 +ipset=/intelforchange.com/gfwlist +server=/mastercard.co.ke/127.0.0.1#5335 +ipset=/mastercard.co.ke/gfwlist +server=/rimg.com.tw/127.0.0.1#5335 +ipset=/rimg.com.tw/gfwlist +server=/orbitera.com/127.0.0.1#5335 +ipset=/orbitera.com/gfwlist +server=/ipodrip.ca/127.0.0.1#5335 +ipset=/ipodrip.ca/gfwlist +server=/foxnewsaroundtheworld.com/127.0.0.1#5335 +ipset=/foxnewsaroundtheworld.com/gfwlist +server=/ipodprices.com/127.0.0.1#5335 +ipset=/ipodprices.com/gfwlist +server=/thecompaqstore.com/127.0.0.1#5335 +ipset=/thecompaqstore.com/gfwlist +server=/apple-enews.com/127.0.0.1#5335 +ipset=/apple-enews.com/gfwlist +server=/approvedusedbmw.com/127.0.0.1#5335 +ipset=/approvedusedbmw.com/gfwlist +server=/netname.com.br/127.0.0.1#5335 +ipset=/netname.com.br/gfwlist +server=/ipodcentre.nl/127.0.0.1#5335 +ipset=/ipodcentre.nl/gfwlist +server=/vmmark.com/127.0.0.1#5335 +ipset=/vmmark.com/gfwlist +server=/gravitytank.com/127.0.0.1#5335 +ipset=/gravitytank.com/gfwlist +server=/discord.com/127.0.0.1#5335 +ipset=/discord.com/gfwlist +server=/ipod.ru/127.0.0.1#5335 +ipset=/ipod.ru/gfwlist +server=/disneymeetingsandevents.com/127.0.0.1#5335 +ipset=/disneymeetingsandevents.com/gfwlist +server=/bridgestone-business-service.jp/127.0.0.1#5335 +ipset=/bridgestone-business-service.jp/gfwlist +server=/huffingtonpost.co.za/127.0.0.1#5335 +ipset=/huffingtonpost.co.za/gfwlist +server=/ipod.rs/127.0.0.1#5335 +ipset=/ipod.rs/gfwlist +server=/ipod.net/127.0.0.1#5335 +ipset=/ipod.net/gfwlist +server=/visa.com.bz/127.0.0.1#5335 +ipset=/visa.com.bz/gfwlist +server=/rt.com/127.0.0.1#5335 +ipset=/rt.com/gfwlist +server=/element.io/127.0.0.1#5335 +ipset=/element.io/gfwlist +server=/stark-verlag.ch/127.0.0.1#5335 +ipset=/stark-verlag.ch/gfwlist +server=/razersupport.com/127.0.0.1#5335 +ipset=/razersupport.com/gfwlist +server=/bestbuycharityclassic.com/127.0.0.1#5335 +ipset=/bestbuycharityclassic.com/gfwlist +server=/ipod.hk/127.0.0.1#5335 +ipset=/ipod.hk/gfwlist +server=/battlefrontii.com/127.0.0.1#5335 +ipset=/battlefrontii.com/gfwlist +server=/javfinder.sh/127.0.0.1#5335 +ipset=/javfinder.sh/gfwlist +server=/instagram-engineering.com/127.0.0.1#5335 +ipset=/instagram-engineering.com/gfwlist +server=/ipod.fr/127.0.0.1#5335 +ipset=/ipod.fr/gfwlist +server=/bmw.de/127.0.0.1#5335 +ipset=/bmw.de/gfwlist +server=/amp.akamaized.net/127.0.0.1#5335 +ipset=/amp.akamaized.net/gfwlist +server=/kidgrid.tv/127.0.0.1#5335 +ipset=/kidgrid.tv/gfwlist +server=/funnyordie.com/127.0.0.1#5335 +ipset=/funnyordie.com/gfwlist +server=/ipod.es/127.0.0.1#5335 +ipset=/ipod.es/gfwlist +server=/nikerunner.com/127.0.0.1#5335 +ipset=/nikerunner.com/gfwlist +server=/microsoft.md/127.0.0.1#5335 +ipset=/microsoft.md/gfwlist +server=/ipod.com.au/127.0.0.1#5335 +ipset=/ipod.com.au/gfwlist +server=/9nation.com.au/127.0.0.1#5335 +ipset=/9nation.com.au/gfwlist +server=/wionews.com/127.0.0.1#5335 +ipset=/wionews.com/gfwlist +server=/microsoftready.com/127.0.0.1#5335 +ipset=/microsoftready.com/gfwlist +server=/fox6now.com/127.0.0.1#5335 +ipset=/fox6now.com/gfwlist +server=/getbraintree.com/127.0.0.1#5335 +ipset=/getbraintree.com/gfwlist +server=/ipod.cm/127.0.0.1#5335 +ipset=/ipod.cm/gfwlist +server=/akamai-thailand.net/127.0.0.1#5335 +ipset=/akamai-thailand.net/gfwlist +server=/bmw-motorrad.tw/127.0.0.1#5335 +ipset=/bmw-motorrad.tw/gfwlist +server=/cambridgedigital.net/127.0.0.1#5335 +ipset=/cambridgedigital.net/gfwlist +server=/ebay.us/127.0.0.1#5335 +ipset=/ebay.us/gfwlist +server=/realclearpublicaffairs.com/127.0.0.1#5335 +ipset=/realclearpublicaffairs.com/gfwlist +server=/beatsdresalestore.com/127.0.0.1#5335 +ipset=/beatsdresalestore.com/gfwlist +server=/signal.org/127.0.0.1#5335 +ipset=/signal.org/gfwlist +server=/ieee-pes.org/127.0.0.1#5335 +ipset=/ieee-pes.org/gfwlist +server=/appleclassicipod.com/127.0.0.1#5335 +ipset=/appleclassicipod.com/gfwlist +server=/realclearscience.com/127.0.0.1#5335 +ipset=/realclearscience.com/gfwlist +server=/volvodefense.com/127.0.0.1#5335 +ipset=/volvodefense.com/gfwlist +server=/paypalhere.com/127.0.0.1#5335 +ipset=/paypalhere.com/gfwlist +server=/bmw.ie/127.0.0.1#5335 +ipset=/bmw.ie/gfwlist +server=/imacapplecomputer.com/127.0.0.1#5335 +ipset=/imacapplecomputer.com/gfwlist +server=/youtube.com/127.0.0.1#5335 +ipset=/youtube.com/gfwlist +server=/vhxqa4.com/127.0.0.1#5335 +ipset=/vhxqa4.com/gfwlist +server=/bmwgroup.com/127.0.0.1#5335 +ipset=/bmwgroup.com/gfwlist +server=/yahoo.sr/127.0.0.1#5335 +ipset=/yahoo.sr/gfwlist +server=/cygwin.com/127.0.0.1#5335 +ipset=/cygwin.com/gfwlist +server=/manoramayearbook.in/127.0.0.1#5335 +ipset=/manoramayearbook.in/gfwlist +server=/airtunes.com/127.0.0.1#5335 +ipset=/airtunes.com/gfwlist +server=/iphoneclaro.com.br/127.0.0.1#5335 +ipset=/iphoneclaro.com.br/gfwlist +server=/mini.de/127.0.0.1#5335 +ipset=/mini.de/gfwlist +server=/targetimg1.com/127.0.0.1#5335 +ipset=/targetimg1.com/gfwlist +server=/beats-sale.com/127.0.0.1#5335 +ipset=/beats-sale.com/gfwlist +server=/elderscrolls.com/127.0.0.1#5335 +ipset=/elderscrolls.com/gfwlist +server=/stripecdn.com/127.0.0.1#5335 +ipset=/stripecdn.com/gfwlist +server=/uun96.com/127.0.0.1#5335 +ipset=/uun96.com/gfwlist +server=/hbabit.com/127.0.0.1#5335 +ipset=/hbabit.com/gfwlist +server=/adobe-audience-finder.com/127.0.0.1#5335 +ipset=/adobe-audience-finder.com/gfwlist +server=/gettyimages.es/127.0.0.1#5335 +ipset=/gettyimages.es/gfwlist +server=/beatsoutletonlines.com/127.0.0.1#5335 +ipset=/beatsoutletonlines.com/gfwlist +server=/bybeatsdre.com/127.0.0.1#5335 +ipset=/bybeatsdre.com/gfwlist +server=/qualcomm-email.com/127.0.0.1#5335 +ipset=/qualcomm-email.com/gfwlist +server=/paypal-online.org/127.0.0.1#5335 +ipset=/paypal-online.org/gfwlist +server=/bmwmotorsport.com/127.0.0.1#5335 +ipset=/bmwmotorsport.com/gfwlist +server=/nikebuy.com/127.0.0.1#5335 +ipset=/nikebuy.com/gfwlist +server=/bmw-grouparchiv.de/127.0.0.1#5335 +ipset=/bmw-grouparchiv.de/gfwlist +server=/applemx-icloud.com/127.0.0.1#5335 +ipset=/applemx-icloud.com/gfwlist +server=/disney.ph/127.0.0.1#5335 +ipset=/disney.ph/gfwlist +server=/tr.com/127.0.0.1#5335 +ipset=/tr.com/gfwlist +server=/iphonecase2013.com/127.0.0.1#5335 +ipset=/iphonecase2013.com/gfwlist +server=/iphone5s5case.com/127.0.0.1#5335 +ipset=/iphone5s5case.com/gfwlist +server=/mini-dubai.com/127.0.0.1#5335 +ipset=/mini-dubai.com/gfwlist +server=/electronjs.org/127.0.0.1#5335 +ipset=/electronjs.org/gfwlist +server=/paypal-scoop.com/127.0.0.1#5335 +ipset=/paypal-scoop.com/gfwlist +server=/monsterbeats-solo.com/127.0.0.1#5335 +ipset=/monsterbeats-solo.com/gfwlist +server=/google.com.sv/127.0.0.1#5335 +ipset=/google.com.sv/gfwlist +server=/macappsto.re/127.0.0.1#5335 +ipset=/macappsto.re/gfwlist +server=/nintendo.ch/127.0.0.1#5335 +ipset=/nintendo.ch/gfwlist +server=/kijijii.ca/127.0.0.1#5335 +ipset=/kijijii.ca/gfwlist +server=/beatsbydredr.com/127.0.0.1#5335 +ipset=/beatsbydredr.com/gfwlist +server=/faasbook.com/127.0.0.1#5335 +ipset=/faasbook.com/gfwlist +server=/iphone-vip3.com/127.0.0.1#5335 +ipset=/iphone-vip3.com/gfwlist +server=/ipodrocks.com.au/127.0.0.1#5335 +ipset=/ipodrocks.com.au/gfwlist +server=/apple.bg/127.0.0.1#5335 +ipset=/apple.bg/gfwlist +server=/sunglassessale2014.com/127.0.0.1#5335 +ipset=/sunglassessale2014.com/gfwlist +server=/ebayca.org/127.0.0.1#5335 +ipset=/ebayca.org/gfwlist +server=/amazon.sg/127.0.0.1#5335 +ipset=/amazon.sg/gfwlist +server=/nflxext.com/127.0.0.1#5335 +ipset=/nflxext.com/gfwlist +server=/iphone-vip1.com/127.0.0.1#5335 +ipset=/iphone-vip1.com/gfwlist +server=/mastercard.co.ve/127.0.0.1#5335 +ipset=/mastercard.co.ve/gfwlist +server=/zert.ch/127.0.0.1#5335 +ipset=/zert.ch/gfwlist +server=/mastercard.com.my/127.0.0.1#5335 +ipset=/mastercard.com.my/gfwlist +server=/iphone-cn.com/127.0.0.1#5335 +ipset=/iphone-cn.com/gfwlist +server=/ovid.com/127.0.0.1#5335 +ipset=/ovid.com/gfwlist +server=/iphone-cd.com/127.0.0.1#5335 +ipset=/iphone-cd.com/gfwlist +server=/icloudmusic.net/127.0.0.1#5335 +ipset=/icloudmusic.net/gfwlist +server=/osm.org/127.0.0.1#5335 +ipset=/osm.org/gfwlist +server=/drdremonsterdre.com/127.0.0.1#5335 +ipset=/drdremonsterdre.com/gfwlist +server=/dditsadn.com/127.0.0.1#5335 +ipset=/dditsadn.com/gfwlist +server=/accountpaypal.org/127.0.0.1#5335 +ipset=/accountpaypal.org/gfwlist +server=/starbucks.bg/127.0.0.1#5335 +ipset=/starbucks.bg/gfwlist +server=/beats-bydreoutletonline.com/127.0.0.1#5335 +ipset=/beats-bydreoutletonline.com/gfwlist +server=/designeriphonescases.com/127.0.0.1#5335 +ipset=/designeriphonescases.com/gfwlist +server=/visa.es/127.0.0.1#5335 +ipset=/visa.es/gfwlist +server=/fox-corporation.com/127.0.0.1#5335 +ipset=/fox-corporation.com/gfwlist +server=/webex.com.au/127.0.0.1#5335 +ipset=/webex.com.au/gfwlist +server=/swoosh.tv/127.0.0.1#5335 +ipset=/swoosh.tv/gfwlist +server=/bestiphonestuff.com/127.0.0.1#5335 +ipset=/bestiphonestuff.com/gfwlist +server=/linetv.tw/127.0.0.1#5335 +ipset=/linetv.tw/gfwlist +server=/intelnet.component/127.0.0.1#5335 +ipset=/intelnet.component/gfwlist +server=/applestore.cm/127.0.0.1#5335 +ipset=/applestore.cm/gfwlist +server=/mastercardbiz.ca/127.0.0.1#5335 +ipset=/mastercardbiz.ca/gfwlist +server=/kijijiauto.ca/127.0.0.1#5335 +ipset=/kijijiauto.ca/gfwlist +server=/beatsheadphones1.com/127.0.0.1#5335 +ipset=/beatsheadphones1.com/gfwlist +server=/ipadair.jp/127.0.0.1#5335 +ipset=/ipadair.jp/gfwlist +server=/bejeweledstars.com/127.0.0.1#5335 +ipset=/bejeweledstars.com/gfwlist +server=/patreon.com/127.0.0.1#5335 +ipset=/patreon.com/gfwlist +server=/travelex.com.hk/127.0.0.1#5335 +ipset=/travelex.com.hk/gfwlist +server=/vod-dash-ww-live.akamaized.net/127.0.0.1#5335 +ipset=/vod-dash-ww-live.akamaized.net/gfwlist +server=/ubuntu.com/127.0.0.1#5335 +ipset=/ubuntu.com/gfwlist +server=/fixtracking.com/127.0.0.1#5335 +ipset=/fixtracking.com/gfwlist +server=/applecare.cc/127.0.0.1#5335 +ipset=/applecare.cc/gfwlist +server=/ipadair.cm/127.0.0.1#5335 +ipset=/ipadair.cm/gfwlist +server=/ipadair.cl/127.0.0.1#5335 +ipset=/ipadair.cl/gfwlist +server=/ipad3.com/127.0.0.1#5335 +ipset=/ipad3.com/gfwlist +server=/pearsoncanada.ca/127.0.0.1#5335 +ipset=/pearsoncanada.ca/gfwlist +server=/privilege.tw/127.0.0.1#5335 +ipset=/privilege.tw/gfwlist +server=/ebayforeclosure.org/127.0.0.1#5335 +ipset=/ebayforeclosure.org/gfwlist +server=/scholar.google.com.uy/127.0.0.1#5335 +ipset=/scholar.google.com.uy/gfwlist +server=/paypal-security.net/127.0.0.1#5335 +ipset=/paypal-security.net/gfwlist +server=/alphera.net/127.0.0.1#5335 +ipset=/alphera.net/gfwlist +server=/paypal.me/127.0.0.1#5335 +ipset=/paypal.me/gfwlist +server=/dremonsterbeatsoutlets.com/127.0.0.1#5335 +ipset=/dremonsterbeatsoutlets.com/gfwlist +server=/fox2news.com/127.0.0.1#5335 +ipset=/fox2news.com/gfwlist +server=/beatsnzsale.com/127.0.0.1#5335 +ipset=/beatsnzsale.com/gfwlist +server=/webpkgcache.com/127.0.0.1#5335 +ipset=/webpkgcache.com/gfwlist +server=/ebookforipad.com/127.0.0.1#5335 +ipset=/ebookforipad.com/gfwlist +server=/uun79.com/127.0.0.1#5335 +ipset=/uun79.com/gfwlist +server=/volvobuses.jo/127.0.0.1#5335 +ipset=/volvobuses.jo/gfwlist +server=/foxsports.com.mx/127.0.0.1#5335 +ipset=/foxsports.com.mx/gfwlist +server=/verisign.us/127.0.0.1#5335 +ipset=/verisign.us/gfwlist +server=/quicktime.com/127.0.0.1#5335 +ipset=/quicktime.com/gfwlist +server=/rarbg.to/127.0.0.1#5335 +ipset=/rarbg.to/gfwlist +server=/volvobuses.sg/127.0.0.1#5335 +ipset=/volvobuses.sg/gfwlist +server=/paypal-business.com/127.0.0.1#5335 +ipset=/paypal-business.com/gfwlist +server=/imac.eu/127.0.0.1#5335 +ipset=/imac.eu/gfwlist +server=/apple-imac.com/127.0.0.1#5335 +ipset=/apple-imac.com/gfwlist +server=/tvappstore.net/127.0.0.1#5335 +ipset=/tvappstore.net/gfwlist +server=/ebaybenefits.com/127.0.0.1#5335 +ipset=/ebaybenefits.com/gfwlist +server=/kindle.fr/127.0.0.1#5335 +ipset=/kindle.fr/gfwlist +server=/applestore.com.pt/127.0.0.1#5335 +ipset=/applestore.com.pt/gfwlist +server=/google.co.ma/127.0.0.1#5335 +ipset=/google.co.ma/gfwlist +server=/starbucks.ie/127.0.0.1#5335 +ipset=/starbucks.ie/gfwlist +server=/applestoreonline.com/127.0.0.1#5335 +ipset=/applestoreonline.com/gfwlist +server=/facebook-covid-19.com/127.0.0.1#5335 +ipset=/facebook-covid-19.com/gfwlist +server=/veetbangladesh.com/127.0.0.1#5335 +ipset=/veetbangladesh.com/gfwlist +server=/nintendo.it/127.0.0.1#5335 +ipset=/nintendo.it/gfwlist +server=/hinet.net/127.0.0.1#5335 +ipset=/hinet.net/gfwlist +server=/applestore.net/127.0.0.1#5335 +ipset=/applestore.net/gfwlist +server=/ysm.yahoo.com/127.0.0.1#5335 +ipset=/ysm.yahoo.com/gfwlist +server=/line-apps-beta.com/127.0.0.1#5335 +ipset=/line-apps-beta.com/gfwlist +server=/disneyarena.com/127.0.0.1#5335 +ipset=/disneyarena.com/gfwlist +server=/globalvoicesonline.org/127.0.0.1#5335 +ipset=/globalvoicesonline.org/gfwlist +server=/kijij.ca/127.0.0.1#5335 +ipset=/kijij.ca/gfwlist +server=/volvotrucks.my/127.0.0.1#5335 +ipset=/volvotrucks.my/gfwlist +server=/applestore.com.sn/127.0.0.1#5335 +ipset=/applestore.com.sn/gfwlist +server=/pricelesssurprises.com/127.0.0.1#5335 +ipset=/pricelesssurprises.com/gfwlist +server=/volvotrucks.by/127.0.0.1#5335 +ipset=/volvotrucks.by/gfwlist +server=/quiz.directory/127.0.0.1#5335 +ipset=/quiz.directory/gfwlist +server=/biorxiv.org/127.0.0.1#5335 +ipset=/biorxiv.org/gfwlist +server=/applestore.com.ro/127.0.0.1#5335 +ipset=/applestore.com.ro/gfwlist +server=/appstore.hk/127.0.0.1#5335 +ipset=/appstore.hk/gfwlist +server=/sandisk.co.jp/127.0.0.1#5335 +ipset=/sandisk.co.jp/gfwlist +server=/minikelowna.ca/127.0.0.1#5335 +ipset=/minikelowna.ca/gfwlist +server=/bmw.sk/127.0.0.1#5335 +ipset=/bmw.sk/gfwlist +server=/applestore.com.pl/127.0.0.1#5335 +ipset=/applestore.com.pl/gfwlist +server=/applestore.com.my/127.0.0.1#5335 +ipset=/applestore.com.my/gfwlist +server=/skillshare.com/127.0.0.1#5335 +ipset=/skillshare.com/gfwlist +server=/sony-olympus-medical.com/127.0.0.1#5335 +ipset=/sony-olympus-medical.com/gfwlist +server=/bmw-motorrad.cr/127.0.0.1#5335 +ipset=/bmw-motorrad.cr/gfwlist +server=/appye.com/127.0.0.1#5335 +ipset=/appye.com/gfwlist +server=/applestore.com.hr/127.0.0.1#5335 +ipset=/applestore.com.hr/gfwlist +server=/bag-glasses1.com/127.0.0.1#5335 +ipset=/bag-glasses1.com/gfwlist +server=/applestore.com.gr/127.0.0.1#5335 +ipset=/applestore.com.gr/gfwlist +server=/simplyipod.com/127.0.0.1#5335 +ipset=/simplyipod.com/gfwlist +server=/bill-safe.com/127.0.0.1#5335 +ipset=/bill-safe.com/gfwlist +server=/priceless.com/127.0.0.1#5335 +ipset=/priceless.com/gfwlist +server=/newhampshirebmw.com/127.0.0.1#5335 +ipset=/newhampshirebmw.com/gfwlist +server=/volvobuses.pk/127.0.0.1#5335 +ipset=/volvobuses.pk/gfwlist +server=/vjav.com/127.0.0.1#5335 +ipset=/vjav.com/gfwlist +server=/google.com.sa/127.0.0.1#5335 +ipset=/google.com.sa/gfwlist +server=/hpsupport.com/127.0.0.1#5335 +ipset=/hpsupport.com/gfwlist +server=/applestore.com/127.0.0.1#5335 +ipset=/applestore.com/gfwlist +server=/cixp.net/127.0.0.1#5335 +ipset=/cixp.net/gfwlist +server=/bridgestonemerchandise.com/127.0.0.1#5335 +ipset=/bridgestonemerchandise.com/gfwlist +server=/fox247.com/127.0.0.1#5335 +ipset=/fox247.com/gfwlist +server=/ethereum.org/127.0.0.1#5335 +ipset=/ethereum.org/gfwlist +server=/ebayfashion.com/127.0.0.1#5335 +ipset=/ebayfashion.com/gfwlist +server=/oxfordre.com/127.0.0.1#5335 +ipset=/oxfordre.com/gfwlist +server=/battlelog.com/127.0.0.1#5335 +ipset=/battlelog.com/gfwlist +server=/sarajevopodopsadom.com/127.0.0.1#5335 +ipset=/sarajevopodopsadom.com/gfwlist +server=/danemarket.com/127.0.0.1#5335 +ipset=/danemarket.com/gfwlist +server=/gv.com/127.0.0.1#5335 +ipset=/gv.com/gfwlist +server=/esm.run/127.0.0.1#5335 +ipset=/esm.run/gfwlist +server=/netflixdnstest4.com/127.0.0.1#5335 +ipset=/netflixdnstest4.com/gfwlist +server=/aplestore.com/127.0.0.1#5335 +ipset=/aplestore.com/gfwlist +server=/apple.xn--czr694b/127.0.0.1#5335 +ipset=/apple.xn--czr694b/gfwlist +server=/aplleipods.com/127.0.0.1#5335 +ipset=/aplleipods.com/gfwlist +server=/ebayfashion.net/127.0.0.1#5335 +ipset=/ebayfashion.net/gfwlist +server=/vimeo-staging2.com/127.0.0.1#5335 +ipset=/vimeo-staging2.com/gfwlist +server=/apple.so/127.0.0.1#5335 +ipset=/apple.so/gfwlist +server=/apple.sa/127.0.0.1#5335 +ipset=/apple.sa/gfwlist +server=/soundcloud.com/127.0.0.1#5335 +ipset=/soundcloud.com/gfwlist +server=/canon.rs/127.0.0.1#5335 +ipset=/canon.rs/gfwlist +server=/ebaycdn.net/127.0.0.1#5335 +ipset=/ebaycdn.net/gfwlist +server=/instagram.com/127.0.0.1#5335 +ipset=/instagram.com/gfwlist +server=/mastercard.ca/127.0.0.1#5335 +ipset=/mastercard.ca/gfwlist +server=/foxnewslatino.com/127.0.0.1#5335 +ipset=/foxnewslatino.com/gfwlist +server=/google.md/127.0.0.1#5335 +ipset=/google.md/gfwlist +server=/simcity.com/127.0.0.1#5335 +ipset=/simcity.com/gfwlist +server=/excitebots.com/127.0.0.1#5335 +ipset=/excitebots.com/gfwlist +server=/visaconciergelac.com/127.0.0.1#5335 +ipset=/visaconciergelac.com/gfwlist +server=/marvelspotlightplays.com/127.0.0.1#5335 +ipset=/marvelspotlightplays.com/gfwlist +server=/beatssaustraliabuy.com/127.0.0.1#5335 +ipset=/beatssaustraliabuy.com/gfwlist +server=/apple.net/127.0.0.1#5335 +ipset=/apple.net/gfwlist +server=/ebay.fr/127.0.0.1#5335 +ipset=/ebay.fr/gfwlist +server=/researchkit.net/127.0.0.1#5335 +ipset=/researchkit.net/gfwlist +server=/youtube.fr/127.0.0.1#5335 +ipset=/youtube.fr/gfwlist +server=/apple.lt/127.0.0.1#5335 +ipset=/apple.lt/gfwlist +server=/apple.lk/127.0.0.1#5335 +ipset=/apple.lk/gfwlist +server=/apple.kr/127.0.0.1#5335 +ipset=/apple.kr/gfwlist +server=/facebookswagstore.com/127.0.0.1#5335 +ipset=/facebookswagstore.com/gfwlist +server=/netflix.ca/127.0.0.1#5335 +ipset=/netflix.ca/gfwlist +server=/shopmonsterbeats.com/127.0.0.1#5335 +ipset=/shopmonsterbeats.com/gfwlist +server=/cafr.ca/127.0.0.1#5335 +ipset=/cafr.ca/gfwlist +server=/zerohedge.com/127.0.0.1#5335 +ipset=/zerohedge.com/gfwlist +server=/nordstrommedia.com/127.0.0.1#5335 +ipset=/nordstrommedia.com/gfwlist +server=/apple.hr/127.0.0.1#5335 +ipset=/apple.hr/gfwlist +server=/static-nike.com/127.0.0.1#5335 +ipset=/static-nike.com/gfwlist +server=/nikestares.com/127.0.0.1#5335 +ipset=/nikestares.com/gfwlist +server=/instagram-brand.com/127.0.0.1#5335 +ipset=/instagram-brand.com/gfwlist +server=/maxgo.com/127.0.0.1#5335 +ipset=/maxgo.com/gfwlist +server=/mini-connected.it/127.0.0.1#5335 +ipset=/mini-connected.it/gfwlist +server=/apple.eu/127.0.0.1#5335 +ipset=/apple.eu/gfwlist +server=/blzddist1-a.akamaihd.net/127.0.0.1#5335 +ipset=/blzddist1-a.akamaihd.net/gfwlist +server=/beatsbydre4usales.com/127.0.0.1#5335 +ipset=/beatsbydre4usales.com/gfwlist +server=/industrialtoys.com/127.0.0.1#5335 +ipset=/industrialtoys.com/gfwlist +server=/bloombergbna.com/127.0.0.1#5335 +ipset=/bloombergbna.com/gfwlist +server=/apple.es/127.0.0.1#5335 +ipset=/apple.es/gfwlist +server=/twitterstat.us/127.0.0.1#5335 +ipset=/twitterstat.us/gfwlist +server=/disney.com/127.0.0.1#5335 +ipset=/disney.com/gfwlist +server=/apple.cz/127.0.0.1#5335 +ipset=/apple.cz/gfwlist +server=/apexlegends.com/127.0.0.1#5335 +ipset=/apexlegends.com/gfwlist +server=/vfsforgit.org/127.0.0.1#5335 +ipset=/vfsforgit.org/gfwlist +server=/apple.co.uk/127.0.0.1#5335 +ipset=/apple.co.uk/gfwlist +server=/pinterest.pe/127.0.0.1#5335 +ipset=/pinterest.pe/gfwlist +server=/foxnewsgo.org/127.0.0.1#5335 +ipset=/foxnewsgo.org/gfwlist +server=/apple.co.th/127.0.0.1#5335 +ipset=/apple.co.th/gfwlist +server=/12diasderegalosdeitunes.hn/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.hn/gfwlist +server=/apple.co.mz/127.0.0.1#5335 +ipset=/apple.co.mz/gfwlist +server=/pypl.com/127.0.0.1#5335 +ipset=/pypl.com/gfwlist +server=/guangming.com.my/127.0.0.1#5335 +ipset=/guangming.com.my/gfwlist +server=/beatssingapores.com/127.0.0.1#5335 +ipset=/beatssingapores.com/gfwlist +server=/headphonesol.com/127.0.0.1#5335 +ipset=/headphonesol.com/gfwlist +server=/volvogroup.mx/127.0.0.1#5335 +ipset=/volvogroup.mx/gfwlist +server=/viacom.com/127.0.0.1#5335 +ipset=/viacom.com/gfwlist +server=/vfsco.ro/127.0.0.1#5335 +ipset=/vfsco.ro/gfwlist +server=/hsfacebook.com/127.0.0.1#5335 +ipset=/hsfacebook.com/gfwlist +server=/bmw-motorrad.co.id/127.0.0.1#5335 +ipset=/bmw-motorrad.co.id/gfwlist +server=/riot.net/127.0.0.1#5335 +ipset=/riot.net/gfwlist +server=/bmw-motorrad.com.br/127.0.0.1#5335 +ipset=/bmw-motorrad.com.br/gfwlist +server=/x-art.com/127.0.0.1#5335 +ipset=/x-art.com/gfwlist +server=/pricelessbeijing.com/127.0.0.1#5335 +ipset=/pricelessbeijing.com/gfwlist +server=/pinterest.com.ec/127.0.0.1#5335 +ipset=/pinterest.com.ec/gfwlist +server=/ebaymall.com/127.0.0.1#5335 +ipset=/ebaymall.com/gfwlist +server=/xn--qoq462m.com/127.0.0.1#5335 +ipset=/xn--qoq462m.com/gfwlist +server=/bmwsports.com/127.0.0.1#5335 +ipset=/bmwsports.com/gfwlist +server=/apple.ca/127.0.0.1#5335 +ipset=/apple.ca/gfwlist +server=/vip-beats.com/127.0.0.1#5335 +ipset=/vip-beats.com/gfwlist +server=/thismon.ee/127.0.0.1#5335 +ipset=/thismon.ee/gfwlist +server=/mastercard.md/127.0.0.1#5335 +ipset=/mastercard.md/gfwlist +server=/apple.ae/127.0.0.1#5335 +ipset=/apple.ae/gfwlist +server=/mini-antilles.fr/127.0.0.1#5335 +ipset=/mini-antilles.fr/gfwlist +server=/yahoo.it/127.0.0.1#5335 +ipset=/yahoo.it/gfwlist +server=/iutunes.com/127.0.0.1#5335 +ipset=/iutunes.com/gfwlist +server=/winticket.jp/127.0.0.1#5335 +ipset=/winticket.jp/gfwlist +server=/businessinsider.in/127.0.0.1#5335 +ipset=/businessinsider.in/gfwlist +server=/kfs.io/127.0.0.1#5335 +ipset=/kfs.io/gfwlist +server=/btt804.com/127.0.0.1#5335 +ipset=/btt804.com/gfwlist +server=/itunesradio.rio/127.0.0.1#5335 +ipset=/itunesradio.rio/gfwlist +server=/mucinexprofessional.com/127.0.0.1#5335 +ipset=/mucinexprofessional.com/gfwlist +server=/onionshare.org/127.0.0.1#5335 +ipset=/onionshare.org/gfwlist +server=/road-crew.com/127.0.0.1#5335 +ipset=/road-crew.com/gfwlist +server=/dollarfotoclub.com/127.0.0.1#5335 +ipset=/dollarfotoclub.com/gfwlist +server=/globalvoices.org/127.0.0.1#5335 +ipset=/globalvoices.org/gfwlist +server=/indazn.com/127.0.0.1#5335 +ipset=/indazn.com/gfwlist +server=/foxsports.com.bo/127.0.0.1#5335 +ipset=/foxsports.com.bo/gfwlist +server=/itunes.us/127.0.0.1#5335 +ipset=/itunes.us/gfwlist +server=/itunes.rio/127.0.0.1#5335 +ipset=/itunes.rio/gfwlist +server=/jinnaju.com/127.0.0.1#5335 +ipset=/jinnaju.com/gfwlist +server=/monsterbeatssalg.com/127.0.0.1#5335 +ipset=/monsterbeatssalg.com/gfwlist +server=/google.ro/127.0.0.1#5335 +ipset=/google.ro/gfwlist +server=/bmw-eg.com/127.0.0.1#5335 +ipset=/bmw-eg.com/gfwlist +server=/shorturl.at/127.0.0.1#5335 +ipset=/shorturl.at/gfwlist +server=/pearsonvue.net/127.0.0.1#5335 +ipset=/pearsonvue.net/gfwlist +server=/miniso-au.com/127.0.0.1#5335 +ipset=/miniso-au.com/gfwlist +server=/gtv1.org/127.0.0.1#5335 +ipset=/gtv1.org/gfwlist +server=/12joursdecadeauxdeitunes.com/127.0.0.1#5335 +ipset=/12joursdecadeauxdeitunes.com/gfwlist +server=/hanime1.me/127.0.0.1#5335 +ipset=/hanime1.me/gfwlist +server=/nikeoutletstore.com/127.0.0.1#5335 +ipset=/nikeoutletstore.com/gfwlist +server=/imstagram.com/127.0.0.1#5335 +ipset=/imstagram.com/gfwlist +server=/github-cloud.s3.amazonaws.com/127.0.0.1#5335 +ipset=/github-cloud.s3.amazonaws.com/gfwlist +server=/stackapps.com/127.0.0.1#5335 +ipset=/stackapps.com/gfwlist +server=/statsmakemecry.com/127.0.0.1#5335 +ipset=/statsmakemecry.com/gfwlist +server=/fflick.com/127.0.0.1#5335 +ipset=/fflick.com/gfwlist +server=/billpointnewzealand.com/127.0.0.1#5335 +ipset=/billpointnewzealand.com/gfwlist +server=/zopim.com/127.0.0.1#5335 +ipset=/zopim.com/gfwlist +server=/12diasderegalosdeitunes.com/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.com/gfwlist +server=/bmw-motorrad.at/127.0.0.1#5335 +ipset=/bmw-motorrad.at/gfwlist +server=/12diasderegalosdeitunes.co.ni/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.co.ni/gfwlist +server=/cambridgemaths.org/127.0.0.1#5335 +ipset=/cambridgemaths.org/gfwlist +server=/applecensorship.com/127.0.0.1#5335 +ipset=/applecensorship.com/gfwlist +server=/avatargarenanow-a.akamaihd.net/127.0.0.1#5335 +ipset=/avatargarenanow-a.akamaihd.net/gfwlist +server=/duck.com/127.0.0.1#5335 +ipset=/duck.com/gfwlist +server=/xbox.org/127.0.0.1#5335 +ipset=/xbox.org/gfwlist +server=/star-latam.com/127.0.0.1#5335 +ipset=/star-latam.com/gfwlist +server=/shopee.ph/127.0.0.1#5335 +ipset=/shopee.ph/gfwlist +server=/netflixdnstest6.com/127.0.0.1#5335 +ipset=/netflixdnstest6.com/gfwlist +server=/starcraft.com/127.0.0.1#5335 +ipset=/starcraft.com/gfwlist +server=/volvotrucks.com.ar/127.0.0.1#5335 +ipset=/volvotrucks.com.ar/gfwlist +server=/netlify.com/127.0.0.1#5335 +ipset=/netlify.com/gfwlist +server=/sublimetext.com/127.0.0.1#5335 +ipset=/sublimetext.com/gfwlist +server=/icloudbrowser.net/127.0.0.1#5335 +ipset=/icloudbrowser.net/gfwlist +server=/getbootstrap.com/127.0.0.1#5335 +ipset=/getbootstrap.com/gfwlist +server=/pinterest.th/127.0.0.1#5335 +ipset=/pinterest.th/gfwlist +server=/parkinfo.com/127.0.0.1#5335 +ipset=/parkinfo.com/gfwlist +server=/wwwicloud.com/127.0.0.1#5335 +ipset=/wwwicloud.com/gfwlist +server=/acebook.com/127.0.0.1#5335 +ipset=/acebook.com/gfwlist +server=/pobl-content.com/127.0.0.1#5335 +ipset=/pobl-content.com/gfwlist +server=/now.sh/127.0.0.1#5335 +ipset=/now.sh/gfwlist +server=/harpercollinsadvantage.com/127.0.0.1#5335 +ipset=/harpercollinsadvantage.com/gfwlist +server=/mini-windsor.com/127.0.0.1#5335 +ipset=/mini-windsor.com/gfwlist +server=/icloudsecure.net/127.0.0.1#5335 +ipset=/icloudsecure.net/gfwlist +server=/apple-expo.com/127.0.0.1#5335 +ipset=/apple-expo.com/gfwlist +server=/bmw-connecteddrive.com/127.0.0.1#5335 +ipset=/bmw-connecteddrive.com/gfwlist +server=/ebayauction.com/127.0.0.1#5335 +ipset=/ebayauction.com/gfwlist +server=/akamaitechnologies.com/127.0.0.1#5335 +ipset=/akamaitechnologies.com/gfwlist +server=/icloudo.com/127.0.0.1#5335 +ipset=/icloudo.com/gfwlist +server=/uun89.com/127.0.0.1#5335 +ipset=/uun89.com/gfwlist +server=/icloudpay.net/127.0.0.1#5335 +ipset=/icloudpay.net/gfwlist +server=/reutersagency.cn/127.0.0.1#5335 +ipset=/reutersagency.cn/gfwlist +server=/icloudnet.net/127.0.0.1#5335 +ipset=/icloudnet.net/gfwlist +server=/projectbaseline.com/127.0.0.1#5335 +ipset=/projectbaseline.com/gfwlist +server=/newscommercial.co.uk/127.0.0.1#5335 +ipset=/newscommercial.co.uk/gfwlist +server=/mastercard.com.au/127.0.0.1#5335 +ipset=/mastercard.com.au/gfwlist +server=/geeksquadservices.org/127.0.0.1#5335 +ipset=/geeksquadservices.org/gfwlist +server=/youtube.sg/127.0.0.1#5335 +ipset=/youtube.sg/gfwlist +server=/vanish.ie/127.0.0.1#5335 +ipset=/vanish.ie/gfwlist +server=/android.com/127.0.0.1#5335 +ipset=/android.com/gfwlist +server=/scholar.google.com.ph/127.0.0.1#5335 +ipset=/scholar.google.com.ph/gfwlist +server=/instagramhilecim.com/127.0.0.1#5335 +ipset=/instagramhilecim.com/gfwlist +server=/apple.hamburg/127.0.0.1#5335 +ipset=/apple.hamburg/gfwlist +server=/init.shop/127.0.0.1#5335 +ipset=/init.shop/gfwlist +server=/visa.cl/127.0.0.1#5335 +ipset=/visa.cl/gfwlist +server=/scholar.google.co.uk/127.0.0.1#5335 +ipset=/scholar.google.co.uk/gfwlist +server=/i-cable.com/127.0.0.1#5335 +ipset=/i-cable.com/gfwlist +server=/icloud.org/127.0.0.1#5335 +ipset=/icloud.org/gfwlist +server=/nike.xn--hxt814e/127.0.0.1#5335 +ipset=/nike.xn--hxt814e/gfwlist +server=/icloud.om/127.0.0.1#5335 +ipset=/icloud.om/gfwlist +server=/icloud.lv/127.0.0.1#5335 +ipset=/icloud.lv/gfwlist +server=/facebookmarketingpartner.com/127.0.0.1#5335 +ipset=/facebookmarketingpartner.com/gfwlist +server=/bmwofcentralpa.com/127.0.0.1#5335 +ipset=/bmwofcentralpa.com/gfwlist +server=/paypall.com/127.0.0.1#5335 +ipset=/paypall.com/gfwlist +server=/bitcoin.org/127.0.0.1#5335 +ipset=/bitcoin.org/gfwlist +server=/nike.ci/127.0.0.1#5335 +ipset=/nike.ci/gfwlist +server=/thescottishsun.co.uk/127.0.0.1#5335 +ipset=/thescottishsun.co.uk/gfwlist +server=/bloomberglp.com/127.0.0.1#5335 +ipset=/bloomberglp.com/gfwlist +server=/mini.com/127.0.0.1#5335 +ipset=/mini.com/gfwlist +server=/disneysubscription.com/127.0.0.1#5335 +ipset=/disneysubscription.com/gfwlist +server=/volvobuses.co.nz/127.0.0.1#5335 +ipset=/volvobuses.co.nz/gfwlist +server=/git.io/127.0.0.1#5335 +ipset=/git.io/gfwlist +server=/icloud-content.com/127.0.0.1#5335 +ipset=/icloud-content.com/gfwlist +server=/itripto.com/127.0.0.1#5335 +ipset=/itripto.com/gfwlist +server=/tutanota.com/127.0.0.1#5335 +ipset=/tutanota.com/gfwlist +server=/wholesaleonlinemart.com/127.0.0.1#5335 +ipset=/wholesaleonlinemart.com/gfwlist +server=/wholesalefine.com/127.0.0.1#5335 +ipset=/wholesalefine.com/gfwlist +server=/bmw-connecteddrive.my/127.0.0.1#5335 +ipset=/bmw-connecteddrive.my/gfwlist +server=/iamakamai.net/127.0.0.1#5335 +ipset=/iamakamai.net/gfwlist +server=/mini.com.gr/127.0.0.1#5335 +ipset=/mini.com.gr/gfwlist +server=/5lml.com/127.0.0.1#5335 +ipset=/5lml.com/gfwlist +server=/avinin.com/127.0.0.1#5335 +ipset=/avinin.com/gfwlist +server=/pwnedpasswords.com/127.0.0.1#5335 +ipset=/pwnedpasswords.com/gfwlist +server=/voatour.com/127.0.0.1#5335 +ipset=/voatour.com/gfwlist +server=/bmw-motorrad.nl/127.0.0.1#5335 +ipset=/bmw-motorrad.nl/gfwlist +server=/swisssign.ch/127.0.0.1#5335 +ipset=/swisssign.ch/gfwlist +server=/visa.pl/127.0.0.1#5335 +ipset=/visa.pl/gfwlist +server=/sb.sb/127.0.0.1#5335 +ipset=/sb.sb/gfwlist +server=/nikesportswear.com/127.0.0.1#5335 +ipset=/nikesportswear.com/gfwlist +server=/thebeatsheadphonesale.com/127.0.0.1#5335 +ipset=/thebeatsheadphonesale.com/gfwlist +server=/tteshop.com/127.0.0.1#5335 +ipset=/tteshop.com/gfwlist +server=/stackauth.com/127.0.0.1#5335 +ipset=/stackauth.com/gfwlist +server=/tradevip1.com/127.0.0.1#5335 +ipset=/tradevip1.com/gfwlist +server=/buzzav.com/127.0.0.1#5335 +ipset=/buzzav.com/gfwlist +server=/topbeatsforsale.com/127.0.0.1#5335 +ipset=/topbeatsforsale.com/gfwlist +server=/topbeatsdealer.com/127.0.0.1#5335 +ipset=/topbeatsdealer.com/gfwlist +server=/cdn-terapeak.com/127.0.0.1#5335 +ipset=/cdn-terapeak.com/gfwlist +server=/rolfoundation.org/127.0.0.1#5335 +ipset=/rolfoundation.org/gfwlist +server=/bmw.mq/127.0.0.1#5335 +ipset=/bmw.mq/gfwlist +server=/kodi.wiki/127.0.0.1#5335 +ipset=/kodi.wiki/gfwlist +server=/marvelsuperheroseptember.com/127.0.0.1#5335 +ipset=/marvelsuperheroseptember.com/gfwlist +server=/the-monster-beats.com/127.0.0.1#5335 +ipset=/the-monster-beats.com/gfwlist +server=/hpservices.com/127.0.0.1#5335 +ipset=/hpservices.com/gfwlist +server=/zeriamerikes.com/127.0.0.1#5335 +ipset=/zeriamerikes.com/gfwlist +server=/nintendo.com/127.0.0.1#5335 +ipset=/nintendo.com/gfwlist +server=/apple.us/127.0.0.1#5335 +ipset=/apple.us/gfwlist +server=/myhulu.com/127.0.0.1#5335 +ipset=/myhulu.com/gfwlist +server=/visaeurope.si/127.0.0.1#5335 +ipset=/visaeurope.si/gfwlist +server=/fragrancebay.com/127.0.0.1#5335 +ipset=/fragrancebay.com/gfwlist +server=/szcheapmonsterheadphones.com/127.0.0.1#5335 +ipset=/szcheapmonsterheadphones.com/gfwlist +server=/sustainthesound.com/127.0.0.1#5335 +ipset=/sustainthesound.com/gfwlist +server=/starbuckssummergame.ca/127.0.0.1#5335 +ipset=/starbuckssummergame.ca/gfwlist +server=/awayoutgame.com/127.0.0.1#5335 +ipset=/awayoutgame.com/gfwlist +server=/amazonbusinessblog.com/127.0.0.1#5335 +ipset=/amazonbusinessblog.com/gfwlist +server=/mgo-images.com/127.0.0.1#5335 +ipset=/mgo-images.com/gfwlist +server=/ebay-confirm.com/127.0.0.1#5335 +ipset=/ebay-confirm.com/gfwlist +server=/superearsenjoy.com/127.0.0.1#5335 +ipset=/superearsenjoy.com/gfwlist +server=/swiftcapital.com/127.0.0.1#5335 +ipset=/swiftcapital.com/gfwlist +server=/pixinsight.com.tw/127.0.0.1#5335 +ipset=/pixinsight.com.tw/gfwlist +server=/atlasonepoint.com/127.0.0.1#5335 +ipset=/atlasonepoint.com/gfwlist +server=/billpoint.us/127.0.0.1#5335 +ipset=/billpoint.us/gfwlist +server=/automobile.fr/127.0.0.1#5335 +ipset=/automobile.fr/gfwlist +server=/jitsi.org/127.0.0.1#5335 +ipset=/jitsi.org/gfwlist +server=/miniwholesaleconnect.com/127.0.0.1#5335 +ipset=/miniwholesaleconnect.com/gfwlist +server=/lolshop.co.kr/127.0.0.1#5335 +ipset=/lolshop.co.kr/gfwlist +server=/disney.pt/127.0.0.1#5335 +ipset=/disney.pt/gfwlist +server=/bbycastatic.ca/127.0.0.1#5335 +ipset=/bbycastatic.ca/gfwlist +server=/bowenpress.com/127.0.0.1#5335 +ipset=/bowenpress.com/gfwlist +server=/specialtyheadphones.com/127.0.0.1#5335 +ipset=/specialtyheadphones.com/gfwlist +server=/dlfacebook.com/127.0.0.1#5335 +ipset=/dlfacebook.com/gfwlist +server=/associates-amazon.com/127.0.0.1#5335 +ipset=/associates-amazon.com/gfwlist +server=/secomtrust.net/127.0.0.1#5335 +ipset=/secomtrust.net/gfwlist +server=/predictivetechnologies.com/127.0.0.1#5335 +ipset=/predictivetechnologies.com/gfwlist +server=/browserleaks.com/127.0.0.1#5335 +ipset=/browserleaks.com/gfwlist +server=/appleexpo.info/127.0.0.1#5335 +ipset=/appleexpo.info/gfwlist +server=/sneakerpage.net/127.0.0.1#5335 +ipset=/sneakerpage.net/gfwlist +server=/translatewiki.org/127.0.0.1#5335 +ipset=/translatewiki.org/gfwlist +server=/voanoticias.com/127.0.0.1#5335 +ipset=/voanoticias.com/gfwlist +server=/pricelesstv.com/127.0.0.1#5335 +ipset=/pricelesstv.com/gfwlist +server=/agzy1.com/127.0.0.1#5335 +ipset=/agzy1.com/gfwlist +server=/intel.eu/127.0.0.1#5335 +ipset=/intel.eu/gfwlist +server=/researchkit.hk/127.0.0.1#5335 +ipset=/researchkit.hk/gfwlist +server=/icloudmail.net/127.0.0.1#5335 +ipset=/icloudmail.net/gfwlist +server=/shop-headphones.net/127.0.0.1#5335 +ipset=/shop-headphones.net/gfwlist +server=/bridgestonevan.com/127.0.0.1#5335 +ipset=/bridgestonevan.com/gfwlist +server=/btt904.com/127.0.0.1#5335 +ipset=/btt904.com/gfwlist +server=/shoers.com/127.0.0.1#5335 +ipset=/shoers.com/gfwlist +server=/opentranslatorstothings.org/127.0.0.1#5335 +ipset=/opentranslatorstothings.org/gfwlist +server=/bmwstepconnections.com/127.0.0.1#5335 +ipset=/bmwstepconnections.com/gfwlist +server=/nike.com.br/127.0.0.1#5335 +ipset=/nike.com.br/gfwlist +server=/sanvaras.com/127.0.0.1#5335 +ipset=/sanvaras.com/gfwlist +server=/travelex.co.nz/127.0.0.1#5335 +ipset=/travelex.co.nz/gfwlist +server=/minilaval.com/127.0.0.1#5335 +ipset=/minilaval.com/gfwlist +server=/visa.com.kh/127.0.0.1#5335 +ipset=/visa.com.kh/gfwlist +server=/prostudiobeatscybersale.com/127.0.0.1#5335 +ipset=/prostudiobeatscybersale.com/gfwlist +server=/promonsterbeatsbydre.com/127.0.0.1#5335 +ipset=/promonsterbeatsbydre.com/gfwlist +server=/powerbeatsbydrdre.com/127.0.0.1#5335 +ipset=/powerbeatsbydrdre.com/gfwlist +server=/lol-europe.com/127.0.0.1#5335 +ipset=/lol-europe.com/gfwlist +server=/evise.com/127.0.0.1#5335 +ipset=/evise.com/gfwlist +server=/nikepromax.com/127.0.0.1#5335 +ipset=/nikepromax.com/gfwlist +server=/minivancouver.ca/127.0.0.1#5335 +ipset=/minivancouver.ca/gfwlist +server=/personeelsland.com/127.0.0.1#5335 +ipset=/personeelsland.com/gfwlist +server=/store-bridgestonesports.com/127.0.0.1#5335 +ipset=/store-bridgestonesports.com/gfwlist +server=/cbsi.com/127.0.0.1#5335 +ipset=/cbsi.com/gfwlist +server=/lgsalesportal.com/127.0.0.1#5335 +ipset=/lgsalesportal.com/gfwlist +server=/billpoint.info/127.0.0.1#5335 +ipset=/billpoint.info/gfwlist +server=/volvotrucks.ph/127.0.0.1#5335 +ipset=/volvotrucks.ph/gfwlist +server=/beatsfactorycollection.com/127.0.0.1#5335 +ipset=/beatsfactorycollection.com/gfwlist +server=/xlstudio.com/127.0.0.1#5335 +ipset=/xlstudio.com/gfwlist +server=/bmw-motorrad.bg/127.0.0.1#5335 +ipset=/bmw-motorrad.bg/gfwlist +server=/offerairjordanlebron.com/127.0.0.1#5335 +ipset=/offerairjordanlebron.com/gfwlist +server=/nhncorp.jp/127.0.0.1#5335 +ipset=/nhncorp.jp/gfwlist +server=/sbnation.com/127.0.0.1#5335 +ipset=/sbnation.com/gfwlist +server=/newschristmasshopping.com/127.0.0.1#5335 +ipset=/newschristmasshopping.com/gfwlist +server=/volvobuses.com.tw/127.0.0.1#5335 +ipset=/volvobuses.com.tw/gfwlist +server=/newlysprung.net/127.0.0.1#5335 +ipset=/newlysprung.net/gfwlist +server=/bmwusatires.com/127.0.0.1#5335 +ipset=/bmwusatires.com/gfwlist +server=/newestbeatsbydre.com/127.0.0.1#5335 +ipset=/newestbeatsbydre.com/gfwlist +server=/newbeatsblackfriday.com/127.0.0.1#5335 +ipset=/newbeatsblackfriday.com/gfwlist +server=/negoziomonsterbeats.com/127.0.0.1#5335 +ipset=/negoziomonsterbeats.com/gfwlist +server=/nikebetrue.com/127.0.0.1#5335 +ipset=/nikebetrue.com/gfwlist +server=/abcheadphones.com/127.0.0.1#5335 +ipset=/abcheadphones.com/gfwlist +server=/gamer-cds.cdn.hinet.net/127.0.0.1#5335 +ipset=/gamer-cds.cdn.hinet.net/gfwlist +server=/pdxbmw.com/127.0.0.1#5335 +ipset=/pdxbmw.com/gfwlist +server=/msads.net/127.0.0.1#5335 +ipset=/msads.net/gfwlist +server=/scholar.google.co.jp/127.0.0.1#5335 +ipset=/scholar.google.co.jp/gfwlist +server=/racked.com/127.0.0.1#5335 +ipset=/racked.com/gfwlist +server=/gameon-masters.com/127.0.0.1#5335 +ipset=/gameon-masters.com/gfwlist +server=/globalspec.com/127.0.0.1#5335 +ipset=/globalspec.com/gfwlist +server=/mybeatsbydrestudio.com/127.0.0.1#5335 +ipset=/mybeatsbydrestudio.com/gfwlist +server=/webobjects.co.uk/127.0.0.1#5335 +ipset=/webobjects.co.uk/gfwlist +server=/beatsearbudsheadphoness.com/127.0.0.1#5335 +ipset=/beatsearbudsheadphoness.com/gfwlist +server=/ms4dre.com/127.0.0.1#5335 +ipset=/ms4dre.com/gfwlist +server=/monstersdebea.com/127.0.0.1#5335 +ipset=/monstersdebea.com/gfwlist +server=/blogspot.qa/127.0.0.1#5335 +ipset=/blogspot.qa/gfwlist +server=/monsterproduct.net/127.0.0.1#5335 +ipset=/monsterproduct.net/gfwlist +server=/thomsonreuters.es/127.0.0.1#5335 +ipset=/thomsonreuters.es/gfwlist +server=/kindle.in/127.0.0.1#5335 +ipset=/kindle.in/gfwlist +server=/54647.online/127.0.0.1#5335 +ipset=/54647.online/gfwlist +server=/js.org/127.0.0.1#5335 +ipset=/js.org/gfwlist +server=/worldhack.com/127.0.0.1#5335 +ipset=/worldhack.com/gfwlist +server=/monsterbeatstang.com/127.0.0.1#5335 +ipset=/monsterbeatstang.com/gfwlist +server=/myfoxchicago.com/127.0.0.1#5335 +ipset=/myfoxchicago.com/gfwlist +server=/zohoschools.com/127.0.0.1#5335 +ipset=/zohoschools.com/gfwlist +server=/businessfocus.io/127.0.0.1#5335 +ipset=/businessfocus.io/gfwlist +server=/fortnite.com/127.0.0.1#5335 +ipset=/fortnite.com/gfwlist +server=/v8.dev/127.0.0.1#5335 +ipset=/v8.dev/gfwlist +server=/yahoo.is/127.0.0.1#5335 +ipset=/yahoo.is/gfwlist +server=/alphabet.de/127.0.0.1#5335 +ipset=/alphabet.de/gfwlist +server=/monsterbeatsonlinestoreuk.com/127.0.0.1#5335 +ipset=/monsterbeatsonlinestoreuk.com/gfwlist +server=/bmw.com.ar/127.0.0.1#5335 +ipset=/bmw.com.ar/gfwlist +server=/nikeb.com/127.0.0.1#5335 +ipset=/nikeb.com/gfwlist +server=/monsterbeatsmall.com/127.0.0.1#5335 +ipset=/monsterbeatsmall.com/gfwlist +server=/faebook.com/127.0.0.1#5335 +ipset=/faebook.com/gfwlist +server=/tvmost.com.hk/127.0.0.1#5335 +ipset=/tvmost.com.hk/gfwlist +server=/geforce.co.kr/127.0.0.1#5335 +ipset=/geforce.co.kr/gfwlist +server=/drdrefnac.com/127.0.0.1#5335 +ipset=/drdrefnac.com/gfwlist +server=/venmo.org/127.0.0.1#5335 +ipset=/venmo.org/gfwlist +server=/swag.live/127.0.0.1#5335 +ipset=/swag.live/gfwlist +server=/ebaydts.com/127.0.0.1#5335 +ipset=/ebaydts.com/gfwlist +server=/bestshoesale2014.net/127.0.0.1#5335 +ipset=/bestshoesale2014.net/gfwlist +server=/monsterbeatsbydreshop.com/127.0.0.1#5335 +ipset=/monsterbeatsbydreshop.com/gfwlist +server=/pearsonclinical.in/127.0.0.1#5335 +ipset=/pearsonclinical.in/gfwlist +server=/hulu.us/127.0.0.1#5335 +ipset=/hulu.us/gfwlist +server=/tiburon.com/127.0.0.1#5335 +ipset=/tiburon.com/gfwlist +server=/comodoca4.com/127.0.0.1#5335 +ipset=/comodoca4.com/gfwlist +server=/apple.tt/127.0.0.1#5335 +ipset=/apple.tt/gfwlist +server=/monsterbeatsbydre-usa.com/127.0.0.1#5335 +ipset=/monsterbeatsbydre-usa.com/gfwlist +server=/minispecialoffers.ca/127.0.0.1#5335 +ipset=/minispecialoffers.ca/gfwlist +server=/geek-squads.net/127.0.0.1#5335 +ipset=/geek-squads.net/gfwlist +server=/scholar.google.com.py/127.0.0.1#5335 +ipset=/scholar.google.com.py/gfwlist +server=/ebaycourse.com/127.0.0.1#5335 +ipset=/ebaycourse.com/gfwlist +server=/omscr.com/127.0.0.1#5335 +ipset=/omscr.com/gfwlist +server=/monsterbeatsbydrdre-usa.com/127.0.0.1#5335 +ipset=/monsterbeatsbydrdre-usa.com/gfwlist +server=/leagueoflegends.com/127.0.0.1#5335 +ipset=/leagueoflegends.com/gfwlist +server=/beatsbydrdreoutlet.com/127.0.0.1#5335 +ipset=/beatsbydrdreoutlet.com/gfwlist +server=/coolmonster.net/127.0.0.1#5335 +ipset=/coolmonster.net/gfwlist +server=/ospray.net/127.0.0.1#5335 +ipset=/ospray.net/gfwlist +server=/myfoxcharlotte.com/127.0.0.1#5335 +ipset=/myfoxcharlotte.com/gfwlist +server=/electricluxury.com/127.0.0.1#5335 +ipset=/electricluxury.com/gfwlist +server=/huffingtonpost.es/127.0.0.1#5335 +ipset=/huffingtonpost.es/gfwlist +server=/monsterbeatsau.com/127.0.0.1#5335 +ipset=/monsterbeatsau.com/gfwlist +server=/unravel2.com/127.0.0.1#5335 +ipset=/unravel2.com/gfwlist +server=/bloombergforeducation.com/127.0.0.1#5335 +ipset=/bloombergforeducation.com/gfwlist +server=/islamiccenterofnewlondon.com/127.0.0.1#5335 +ipset=/islamiccenterofnewlondon.com/gfwlist +server=/easportsactiveonline.com/127.0.0.1#5335 +ipset=/easportsactiveonline.com/gfwlist +server=/dungeonkeeper.com.cn/127.0.0.1#5335 +ipset=/dungeonkeeper.com.cn/gfwlist +server=/branchportal.com/127.0.0.1#5335 +ipset=/branchportal.com/gfwlist +server=/microsoftsilverlight.org/127.0.0.1#5335 +ipset=/microsoftsilverlight.org/gfwlist +server=/gfw.press/127.0.0.1#5335 +ipset=/gfw.press/gfwlist +server=/telesell.com/127.0.0.1#5335 +ipset=/telesell.com/gfwlist +server=/monsterbeats-onsale.com/127.0.0.1#5335 +ipset=/monsterbeats-onsale.com/gfwlist +server=/leagueoflegendsscripts.com/127.0.0.1#5335 +ipset=/leagueoflegendsscripts.com/gfwlist +server=/monster-beats-headphones.com/127.0.0.1#5335 +ipset=/monster-beats-headphones.com/gfwlist +server=/facebookhome.com/127.0.0.1#5335 +ipset=/facebookhome.com/gfwlist +server=/paypal-signin.us/127.0.0.1#5335 +ipset=/paypal-signin.us/gfwlist +server=/mmonsterheadphones.net/127.0.0.1#5335 +ipset=/mmonsterheadphones.net/gfwlist +server=/yo1health.com/127.0.0.1#5335 +ipset=/yo1health.com/gfwlist +server=/bcrncdn.com/127.0.0.1#5335 +ipset=/bcrncdn.com/gfwlist +server=/troisrivieresmini.com/127.0.0.1#5335 +ipset=/troisrivieresmini.com/gfwlist +server=/pinterest.com.au/127.0.0.1#5335 +ipset=/pinterest.com.au/gfwlist +server=/beatsdrdre-it.com/127.0.0.1#5335 +ipset=/beatsdrdre-it.com/gfwlist +server=/bmw-welt.tv/127.0.0.1#5335 +ipset=/bmw-welt.tv/gfwlist +server=/cup.com.hk/127.0.0.1#5335 +ipset=/cup.com.hk/gfwlist +server=/voachinese.com/127.0.0.1#5335 +ipset=/voachinese.com/gfwlist +server=/passiontimes.hk/127.0.0.1#5335 +ipset=/passiontimes.hk/gfwlist +server=/marvelsdoubleagent.com/127.0.0.1#5335 +ipset=/marvelsdoubleagent.com/gfwlist +server=/bmw-motorrad.bo/127.0.0.1#5335 +ipset=/bmw-motorrad.bo/gfwlist +server=/adobedtm.com/127.0.0.1#5335 +ipset=/adobedtm.com/gfwlist +server=/facnbook.com/127.0.0.1#5335 +ipset=/facnbook.com/gfwlist +server=/intercamcashpassport.com.mx/127.0.0.1#5335 +ipset=/intercamcashpassport.com.mx/gfwlist +server=/mini.com.tr/127.0.0.1#5335 +ipset=/mini.com.tr/gfwlist +server=/ebaycafe.com/127.0.0.1#5335 +ipset=/ebaycafe.com/gfwlist +server=/cloudflare-ipfs.com/127.0.0.1#5335 +ipset=/cloudflare-ipfs.com/gfwlist +server=/akamaitech.net/127.0.0.1#5335 +ipset=/akamaitech.net/gfwlist +server=/ebayca.com/127.0.0.1#5335 +ipset=/ebayca.com/gfwlist +server=/webrtc.org/127.0.0.1#5335 +ipset=/webrtc.org/gfwlist +server=/nikeusa.com/127.0.0.1#5335 +ipset=/nikeusa.com/gfwlist +server=/pypl.net/127.0.0.1#5335 +ipset=/pypl.net/gfwlist +server=/galegroup.com/127.0.0.1#5335 +ipset=/galegroup.com/gfwlist +server=/nike-uk.com/127.0.0.1#5335 +ipset=/nike-uk.com/gfwlist +server=/v2ray.cool/127.0.0.1#5335 +ipset=/v2ray.cool/gfwlist +server=/foxsports.gt/127.0.0.1#5335 +ipset=/foxsports.gt/gfwlist +server=/bmw-motorrad.ec/127.0.0.1#5335 +ipset=/bmw-motorrad.ec/gfwlist +server=/ibeatsbydre.cc/127.0.0.1#5335 +ipset=/ibeatsbydre.cc/gfwlist +server=/icloud.ch/127.0.0.1#5335 +ipset=/icloud.ch/gfwlist +server=/pinterest.kr/127.0.0.1#5335 +ipset=/pinterest.kr/gfwlist +server=/southfloridamini.com/127.0.0.1#5335 +ipset=/southfloridamini.com/gfwlist +server=/ebay.co.ve/127.0.0.1#5335 +ipset=/ebay.co.ve/gfwlist +server=/hotbeatsonsale.com/127.0.0.1#5335 +ipset=/hotbeatsonsale.com/gfwlist +server=/bmw-jordan.com/127.0.0.1#5335 +ipset=/bmw-jordan.com/gfwlist +server=/gettyimages.hk/127.0.0.1#5335 +ipset=/gettyimages.hk/gfwlist +server=/mastercard.ua/127.0.0.1#5335 +ipset=/mastercard.ua/gfwlist +server=/headset987.com/127.0.0.1#5335 +ipset=/headset987.com/gfwlist +server=/canon.hu/127.0.0.1#5335 +ipset=/canon.hu/gfwlist +server=/veet.co.uk/127.0.0.1#5335 +ipset=/veet.co.uk/gfwlist +server=/topbeatsbydrdreoutlet.com/127.0.0.1#5335 +ipset=/topbeatsbydrdreoutlet.com/gfwlist +server=/microsoft.de/127.0.0.1#5335 +ipset=/microsoft.de/gfwlist +server=/bloombergprep.com/127.0.0.1#5335 +ipset=/bloombergprep.com/gfwlist +server=/minidurham.ca/127.0.0.1#5335 +ipset=/minidurham.ca/gfwlist +server=/headphoneses.com/127.0.0.1#5335 +ipset=/headphoneses.com/gfwlist +server=/aimei133.com/127.0.0.1#5335 +ipset=/aimei133.com/gfwlist +server=/dragonagekeep.com/127.0.0.1#5335 +ipset=/dragonagekeep.com/gfwlist +server=/classicnike.com/127.0.0.1#5335 +ipset=/classicnike.com/gfwlist +server=/freebasics.com/127.0.0.1#5335 +ipset=/freebasics.com/gfwlist +server=/ebayshop.com/127.0.0.1#5335 +ipset=/ebayshop.com/gfwlist +server=/gobeatsye.com/127.0.0.1#5335 +ipset=/gobeatsye.com/gfwlist +server=/openresty.org/127.0.0.1#5335 +ipset=/openresty.org/gfwlist +server=/bmw-albania.com/127.0.0.1#5335 +ipset=/bmw-albania.com/gfwlist +server=/ausbeatsbydrdre.com/127.0.0.1#5335 +ipset=/ausbeatsbydrdre.com/gfwlist +server=/citizenlab.org/127.0.0.1#5335 +ipset=/citizenlab.org/gfwlist +server=/gmnetworks.net/127.0.0.1#5335 +ipset=/gmnetworks.net/gfwlist +server=/alphabet.fr/127.0.0.1#5335 +ipset=/alphabet.fr/gfwlist +server=/dmed.technology/127.0.0.1#5335 +ipset=/dmed.technology/gfwlist +server=/ieeefoundation.org/127.0.0.1#5335 +ipset=/ieeefoundation.org/gfwlist +server=/frcasquesbeats.com/127.0.0.1#5335 +ipset=/frcasquesbeats.com/gfwlist +server=/chickstagram.com/127.0.0.1#5335 +ipset=/chickstagram.com/gfwlist +server=/blogspot.mk/127.0.0.1#5335 +ipset=/blogspot.mk/gfwlist +server=/bloombergvault.com/127.0.0.1#5335 +ipset=/bloombergvault.com/gfwlist +server=/drebeats-france.com/127.0.0.1#5335 +ipset=/drebeats-france.com/gfwlist +server=/haskell.org/127.0.0.1#5335 +ipset=/haskell.org/gfwlist +server=/paypalshopping.net/127.0.0.1#5335 +ipset=/paypalshopping.net/gfwlist +server=/etheadphones.com/127.0.0.1#5335 +ipset=/etheadphones.com/gfwlist +server=/huluusa.com/127.0.0.1#5335 +ipset=/huluusa.com/gfwlist +server=/nikesb.com/127.0.0.1#5335 +ipset=/nikesb.com/gfwlist +server=/mastercard.ba/127.0.0.1#5335 +ipset=/mastercard.ba/gfwlist +server=/drebeatstudio.com/127.0.0.1#5335 +ipset=/drebeatstudio.com/gfwlist +server=/hplip.net/127.0.0.1#5335 +ipset=/hplip.net/gfwlist +server=/bmw.com.uy/127.0.0.1#5335 +ipset=/bmw.com.uy/gfwlist +server=/bmw-motorrad.rs/127.0.0.1#5335 +ipset=/bmw-motorrad.rs/gfwlist +server=/paypal.ca/127.0.0.1#5335 +ipset=/paypal.ca/gfwlist +server=/physiology.org/127.0.0.1#5335 +ipset=/physiology.org/gfwlist +server=/wix.com/127.0.0.1#5335 +ipset=/wix.com/gfwlist +server=/drebeatsforsaleus.com/127.0.0.1#5335 +ipset=/drebeatsforsaleus.com/gfwlist +server=/bestbuycanadaltd.ca/127.0.0.1#5335 +ipset=/bestbuycanadaltd.ca/gfwlist +server=/akamainewzealand.com/127.0.0.1#5335 +ipset=/akamainewzealand.com/gfwlist +server=/lsnzxzy1.com/127.0.0.1#5335 +ipset=/lsnzxzy1.com/gfwlist +server=/chaturbate.com/127.0.0.1#5335 +ipset=/chaturbate.com/gfwlist +server=/lih.kg/127.0.0.1#5335 +ipset=/lih.kg/gfwlist +server=/ebay.jp/127.0.0.1#5335 +ipset=/ebay.jp/gfwlist +server=/nikeclub.com/127.0.0.1#5335 +ipset=/nikeclub.com/gfwlist +server=/kktix.com/127.0.0.1#5335 +ipset=/kktix.com/gfwlist +server=/diddykongracing.com/127.0.0.1#5335 +ipset=/diddykongracing.com/gfwlist +server=/bahamut.com.tw/127.0.0.1#5335 +ipset=/bahamut.com.tw/gfwlist +server=/drebeats-studio.com/127.0.0.1#5335 +ipset=/drebeats-studio.com/gfwlist +server=/amebame.com/127.0.0.1#5335 +ipset=/amebame.com/gfwlist +server=/minigrandriver.com/127.0.0.1#5335 +ipset=/minigrandriver.com/gfwlist +server=/enterprisessl.com/127.0.0.1#5335 +ipset=/enterprisessl.com/gfwlist +server=/drdreheadphonesusstore.com/127.0.0.1#5335 +ipset=/drdreheadphonesusstore.com/gfwlist +server=/pinterest.vn/127.0.0.1#5335 +ipset=/pinterest.vn/gfwlist +server=/instagramlogin.com/127.0.0.1#5335 +ipset=/instagramlogin.com/gfwlist +server=/drdrebeatssale7.com/127.0.0.1#5335 +ipset=/drdrebeatssale7.com/gfwlist +server=/akamaitechnologies.net/127.0.0.1#5335 +ipset=/akamaitechnologies.net/gfwlist +server=/centos.org/127.0.0.1#5335 +ipset=/centos.org/gfwlist +server=/visaglobalfinance.com/127.0.0.1#5335 +ipset=/visaglobalfinance.com/gfwlist +server=/oauthz.com/127.0.0.1#5335 +ipset=/oauthz.com/gfwlist +server=/faesebook.com/127.0.0.1#5335 +ipset=/faesebook.com/gfwlist +server=/v8project.org/127.0.0.1#5335 +ipset=/v8project.org/gfwlist +server=/drdrebeats-headphone.com/127.0.0.1#5335 +ipset=/drdrebeats-headphone.com/gfwlist +server=/discountbeatsstore.com/127.0.0.1#5335 +ipset=/discountbeatsstore.com/gfwlist +server=/bridgestonegz.com/127.0.0.1#5335 +ipset=/bridgestonegz.com/gfwlist +server=/microsoftcloud.com/127.0.0.1#5335 +ipset=/microsoftcloud.com/gfwlist +server=/mach-os.net/127.0.0.1#5335 +ipset=/mach-os.net/gfwlist +server=/azureserviceprofiler.com/127.0.0.1#5335 +ipset=/azureserviceprofiler.com/gfwlist +server=/gannettdigital.com/127.0.0.1#5335 +ipset=/gannettdigital.com/gfwlist +server=/mr-tireman.jp/127.0.0.1#5335 +ipset=/mr-tireman.jp/gfwlist +server=/battlefield.com/127.0.0.1#5335 +ipset=/battlefield.com/gfwlist +server=/gloryofheracles.com/127.0.0.1#5335 +ipset=/gloryofheracles.com/gfwlist +server=/trithucvn.net/127.0.0.1#5335 +ipset=/trithucvn.net/gfwlist +server=/paypalcommunity.com/127.0.0.1#5335 +ipset=/paypalcommunity.com/gfwlist +server=/linefriends.com.tw/127.0.0.1#5335 +ipset=/linefriends.com.tw/gfwlist +server=/azure-dns.info/127.0.0.1#5335 +ipset=/azure-dns.info/gfwlist +server=/vkontakte.ru/127.0.0.1#5335 +ipset=/vkontakte.ru/gfwlist +server=/mingw.org/127.0.0.1#5335 +ipset=/mingw.org/gfwlist +server=/custombeatsdeals.com/127.0.0.1#5335 +ipset=/custombeatsdeals.com/gfwlist +server=/sitepoint.com/127.0.0.1#5335 +ipset=/sitepoint.com/gfwlist +server=/afewmomentswith.com/127.0.0.1#5335 +ipset=/afewmomentswith.com/gfwlist +server=/visa.com.tr/127.0.0.1#5335 +ipset=/visa.com.tr/gfwlist +server=/drdrebeatsdiscount.com/127.0.0.1#5335 +ipset=/drdrebeatsdiscount.com/gfwlist +server=/cuffiesaldi.com/127.0.0.1#5335 +ipset=/cuffiesaldi.com/gfwlist +server=/ibook.net/127.0.0.1#5335 +ipset=/ibook.net/gfwlist +server=/wholecitiesfoundation.org/127.0.0.1#5335 +ipset=/wholecitiesfoundation.org/gfwlist +server=/beatsua.com/127.0.0.1#5335 +ipset=/beatsua.com/gfwlist +server=/cozydrdrebeats.com/127.0.0.1#5335 +ipset=/cozydrdrebeats.com/gfwlist +server=/techliquidators.com/127.0.0.1#5335 +ipset=/techliquidators.com/gfwlist +server=/cmhalq.com/127.0.0.1#5335 +ipset=/cmhalq.com/gfwlist +server=/soccermatchpass.com/127.0.0.1#5335 +ipset=/soccermatchpass.com/gfwlist +server=/nikeshoesmarket.com/127.0.0.1#5335 +ipset=/nikeshoesmarket.com/gfwlist +server=/pixnet.pro/127.0.0.1#5335 +ipset=/pixnet.pro/gfwlist +server=/volvotrucks.ba/127.0.0.1#5335 +ipset=/volvotrucks.ba/gfwlist +server=/mastercard.pt/127.0.0.1#5335 +ipset=/mastercard.pt/gfwlist +server=/nikegenealogy.com/127.0.0.1#5335 +ipset=/nikegenealogy.com/gfwlist +server=/cheapnikeoutlet.com/127.0.0.1#5335 +ipset=/cheapnikeoutlet.com/gfwlist +server=/cbsimg.net/127.0.0.1#5335 +ipset=/cbsimg.net/gfwlist +server=/foxentertainment.com/127.0.0.1#5335 +ipset=/foxentertainment.com/gfwlist +server=/cdnlab.live/127.0.0.1#5335 +ipset=/cdnlab.live/gfwlist +server=/kissjav.com/127.0.0.1#5335 +ipset=/kissjav.com/gfwlist +server=/windy.com/127.0.0.1#5335 +ipset=/windy.com/gfwlist +server=/cheapwirelessbeats.com/127.0.0.1#5335 +ipset=/cheapwirelessbeats.com/gfwlist +server=/adobelogin.com/127.0.0.1#5335 +ipset=/adobelogin.com/gfwlist +server=/cheapshoesvip.com/127.0.0.1#5335 +ipset=/cheapshoesvip.com/gfwlist +server=/sony.lt/127.0.0.1#5335 +ipset=/sony.lt/gfwlist +server=/ntdtvla.com/127.0.0.1#5335 +ipset=/ntdtvla.com/gfwlist +server=/ds-vod-abematv.akamaized.net/127.0.0.1#5335 +ipset=/ds-vod-abematv.akamaized.net/gfwlist +server=/cheapmonsterbeatssale.com/127.0.0.1#5335 +ipset=/cheapmonsterbeatssale.com/gfwlist +server=/buypass.se/127.0.0.1#5335 +ipset=/buypass.se/gfwlist +server=/alpherafs.co.nz/127.0.0.1#5335 +ipset=/alpherafs.co.nz/gfwlist +server=/bestbuysgeeksquad.com/127.0.0.1#5335 +ipset=/bestbuysgeeksquad.com/gfwlist +server=/livephotos.tv/127.0.0.1#5335 +ipset=/livephotos.tv/gfwlist +server=/att-japan.com/127.0.0.1#5335 +ipset=/att-japan.com/gfwlist +server=/ginzasonypark.jp/127.0.0.1#5335 +ipset=/ginzasonypark.jp/gfwlist +server=/cheapheadsetshop.com/127.0.0.1#5335 +ipset=/cheapheadsetshop.com/gfwlist +server=/paypal-survey.org/127.0.0.1#5335 +ipset=/paypal-survey.org/gfwlist +server=/buycheapbeatsbydre.com/127.0.0.1#5335 +ipset=/buycheapbeatsbydre.com/gfwlist +server=/zeit.co/127.0.0.1#5335 +ipset=/zeit.co/gfwlist +server=/cheapbeatsla.com/127.0.0.1#5335 +ipset=/cheapbeatsla.com/gfwlist +server=/cheapbeatsheadphones.us/127.0.0.1#5335 +ipset=/cheapbeatsheadphones.us/gfwlist +server=/mastercard.com.ng/127.0.0.1#5335 +ipset=/mastercard.com.ng/gfwlist +server=/volvotrucks.com.kw/127.0.0.1#5335 +ipset=/volvotrucks.com.kw/gfwlist +server=/unpkg.com/127.0.0.1#5335 +ipset=/unpkg.com/gfwlist +server=/hpvirtualthin.com/127.0.0.1#5335 +ipset=/hpvirtualthin.com/gfwlist +server=/zeitworld.com/127.0.0.1#5335 +ipset=/zeitworld.com/gfwlist +server=/huluim.com/127.0.0.1#5335 +ipset=/huluim.com/gfwlist +server=/monstercheapbeatss.com/127.0.0.1#5335 +ipset=/monstercheapbeatss.com/gfwlist +server=/liberapay.org/127.0.0.1#5335 +ipset=/liberapay.org/gfwlist +server=/visa.com.pa/127.0.0.1#5335 +ipset=/visa.com.pa/gfwlist +server=/guccimuseo.com/127.0.0.1#5335 +ipset=/guccimuseo.com/gfwlist +server=/aweencore.com/127.0.0.1#5335 +ipset=/aweencore.com/gfwlist +server=/ebay-discoveries.com/127.0.0.1#5335 +ipset=/ebay-discoveries.com/gfwlist +server=/news.com.au/127.0.0.1#5335 +ipset=/news.com.au/gfwlist +server=/independentoperatorcn.com/127.0.0.1#5335 +ipset=/independentoperatorcn.com/gfwlist +server=/paypal-prepaid.com/127.0.0.1#5335 +ipset=/paypal-prepaid.com/gfwlist +server=/rakuten-static.com/127.0.0.1#5335 +ipset=/rakuten-static.com/gfwlist +server=/iebay.com/127.0.0.1#5335 +ipset=/iebay.com/gfwlist +server=/alphabet.us/127.0.0.1#5335 +ipset=/alphabet.us/gfwlist +server=/outletbeatsshop.com/127.0.0.1#5335 +ipset=/outletbeatsshop.com/gfwlist +server=/casquemonsterbeats.com/127.0.0.1#5335 +ipset=/casquemonsterbeats.com/gfwlist +server=/casquebeatspascher2013.com/127.0.0.1#5335 +ipset=/casquebeatspascher2013.com/gfwlist +server=/s-bluemix.net/127.0.0.1#5335 +ipset=/s-bluemix.net/gfwlist +server=/casquebeatsmer.net/127.0.0.1#5335 +ipset=/casquebeatsmer.net/gfwlist +server=/ebayinternetsalestax.com/127.0.0.1#5335 +ipset=/ebayinternetsalestax.com/gfwlist +server=/primevideo.tv/127.0.0.1#5335 +ipset=/primevideo.tv/gfwlist +server=/bloombergtaxtech.com/127.0.0.1#5335 +ipset=/bloombergtaxtech.com/gfwlist +server=/foxsports.com.gt/127.0.0.1#5335 +ipset=/foxsports.com.gt/gfwlist +server=/foxsoccer.tv/127.0.0.1#5335 +ipset=/foxsoccer.tv/gfwlist +server=/buybeatsbydre-uk.com/127.0.0.1#5335 +ipset=/buybeatsbydre-uk.com/gfwlist +server=/mini-connected.co.uk/127.0.0.1#5335 +ipset=/mini-connected.co.uk/gfwlist +server=/buy-from-shanghai.com/127.0.0.1#5335 +ipset=/buy-from-shanghai.com/gfwlist +server=/javbus22.com/127.0.0.1#5335 +ipset=/javbus22.com/gfwlist +server=/volvobuses.at/127.0.0.1#5335 +ipset=/volvobuses.at/gfwlist +server=/royalsocietypublishing.org/127.0.0.1#5335 +ipset=/royalsocietypublishing.org/gfwlist +server=/visa.ca/127.0.0.1#5335 +ipset=/visa.ca/gfwlist +server=/fonolia.com/127.0.0.1#5335 +ipset=/fonolia.com/gfwlist +server=/directvhouston.com/127.0.0.1#5335 +ipset=/directvhouston.com/gfwlist +server=/biitii.com/127.0.0.1#5335 +ipset=/biitii.com/gfwlist +server=/tmsnrt.rs/127.0.0.1#5335 +ipset=/tmsnrt.rs/gfwlist +server=/ebayglobalshipping.com/127.0.0.1#5335 +ipset=/ebayglobalshipping.com/gfwlist +server=/beatswholesale.us/127.0.0.1#5335 +ipset=/beatswholesale.us/gfwlist +server=/vtvan.com/127.0.0.1#5335 +ipset=/vtvan.com/gfwlist +server=/beatsshop-uk.com/127.0.0.1#5335 +ipset=/beatsshop-uk.com/gfwlist +server=/x.com/127.0.0.1#5335 +ipset=/x.com/gfwlist +server=/facebo-ok.com/127.0.0.1#5335 +ipset=/facebo-ok.com/gfwlist +server=/airwick.hr/127.0.0.1#5335 +ipset=/airwick.hr/gfwlist +server=/nike.shop/127.0.0.1#5335 +ipset=/nike.shop/gfwlist +server=/spiritclubs.com/127.0.0.1#5335 +ipset=/spiritclubs.com/gfwlist +server=/youtube.ca/127.0.0.1#5335 +ipset=/youtube.ca/gfwlist +server=/beatspromonsterjp.com/127.0.0.1#5335 +ipset=/beatspromonsterjp.com/gfwlist +server=/beatspillnewcolor.com/127.0.0.1#5335 +ipset=/beatspillnewcolor.com/gfwlist +server=/foxsoccerplus.com/127.0.0.1#5335 +ipset=/foxsoccerplus.com/gfwlist +server=/mini.nc/127.0.0.1#5335 +ipset=/mini.nc/gfwlist +server=/beatsoutletanytime.com/127.0.0.1#5335 +ipset=/beatsoutletanytime.com/gfwlist +server=/priceless.org/127.0.0.1#5335 +ipset=/priceless.org/gfwlist +server=/bridgestonerewards.com/127.0.0.1#5335 +ipset=/bridgestonerewards.com/gfwlist +server=/starwarsjedifallenorder.com/127.0.0.1#5335 +ipset=/starwarsjedifallenorder.com/gfwlist +server=/mcisco.com/127.0.0.1#5335 +ipset=/mcisco.com/gfwlist +server=/drebeatsoutletstore.com/127.0.0.1#5335 +ipset=/drebeatsoutletstore.com/gfwlist +server=/yahoo.ca/127.0.0.1#5335 +ipset=/yahoo.ca/gfwlist +server=/vanish.pt/127.0.0.1#5335 +ipset=/vanish.pt/gfwlist +server=/paypal-europe.com/127.0.0.1#5335 +ipset=/paypal-europe.com/gfwlist +server=/picsee.pro/127.0.0.1#5335 +ipset=/picsee.pro/gfwlist +server=/natgeomaps.com/127.0.0.1#5335 +ipset=/natgeomaps.com/gfwlist +server=/eamythic.net/127.0.0.1#5335 +ipset=/eamythic.net/gfwlist +server=/alphabet.com.pl/127.0.0.1#5335 +ipset=/alphabet.com.pl/gfwlist +server=/beatsinsingapore.com/127.0.0.1#5335 +ipset=/beatsinsingapore.com/gfwlist +server=/beatsincanada.com/127.0.0.1#5335 +ipset=/beatsincanada.com/gfwlist +server=/travelex.qa/127.0.0.1#5335 +ipset=/travelex.qa/gfwlist +server=/gfashion.com/127.0.0.1#5335 +ipset=/gfashion.com/gfwlist +server=/visaluxuryhotelcollection.com/127.0.0.1#5335 +ipset=/visaluxuryhotelcollection.com/gfwlist +server=/vimeo.fr/127.0.0.1#5335 +ipset=/vimeo.fr/gfwlist +server=/beatsheadphonesale.com/127.0.0.1#5335 +ipset=/beatsheadphonesale.com/gfwlist +server=/etvonline.hk/127.0.0.1#5335 +ipset=/etvonline.hk/gfwlist +server=/pearson.es/127.0.0.1#5335 +ipset=/pearson.es/gfwlist +server=/yamaxun.com/127.0.0.1#5335 +ipset=/yamaxun.com/gfwlist +server=/mini.com.mt/127.0.0.1#5335 +ipset=/mini.com.mt/gfwlist +server=/bmwdelawarevalley.com/127.0.0.1#5335 +ipset=/bmwdelawarevalley.com/gfwlist +server=/paypal-gift.com/127.0.0.1#5335 +ipset=/paypal-gift.com/gfwlist +server=/muji.eu/127.0.0.1#5335 +ipset=/muji.eu/gfwlist +server=/icloud.hu/127.0.0.1#5335 +ipset=/icloud.hu/gfwlist +server=/ibm.com/127.0.0.1#5335 +ipset=/ibm.com/gfwlist +server=/casquebeatsbydrdresolohd.com/127.0.0.1#5335 +ipset=/casquebeatsbydrdresolohd.com/gfwlist +server=/bridgestonetire.ca/127.0.0.1#5335 +ipset=/bridgestonetire.ca/gfwlist +server=/openssl.org/127.0.0.1#5335 +ipset=/openssl.org/gfwlist +server=/beatselectronic.net/127.0.0.1#5335 +ipset=/beatselectronic.net/gfwlist +server=/telegram.org/127.0.0.1#5335 +ipset=/telegram.org/gfwlist +server=/softbank-telecom.com/127.0.0.1#5335 +ipset=/softbank-telecom.com/gfwlist +server=/icloud.com/127.0.0.1#5335 +ipset=/icloud.com/gfwlist +server=/beatsforcheap-usa.com/127.0.0.1#5335 +ipset=/beatsforcheap-usa.com/gfwlist +server=/ius.io/127.0.0.1#5335 +ipset=/ius.io/gfwlist +server=/amazon.com.au/127.0.0.1#5335 +ipset=/amazon.com.au/gfwlist +server=/abow.jp/127.0.0.1#5335 +ipset=/abow.jp/gfwlist +server=/beatsfactoroutlets.com/127.0.0.1#5335 +ipset=/beatsfactoroutlets.com/gfwlist +server=/beatsfacstore.com/127.0.0.1#5335 +ipset=/beatsfacstore.com/gfwlist +server=/bmw.lt/127.0.0.1#5335 +ipset=/bmw.lt/gfwlist +server=/ebayforcharity.org/127.0.0.1#5335 +ipset=/ebayforcharity.org/gfwlist +server=/flickr.net/127.0.0.1#5335 +ipset=/flickr.net/gfwlist +server=/eracom.com.tw/127.0.0.1#5335 +ipset=/eracom.com.tw/gfwlist +server=/beatsdresolo2013.com/127.0.0.1#5335 +ipset=/beatsdresolo2013.com/gfwlist +server=/thomsonreuters.com.hk/127.0.0.1#5335 +ipset=/thomsonreuters.com.hk/gfwlist +server=/webkit.org/127.0.0.1#5335 +ipset=/webkit.org/gfwlist +server=/yandex.ru/127.0.0.1#5335 +ipset=/yandex.ru/gfwlist +server=/firestonetire.com/127.0.0.1#5335 +ipset=/firestonetire.com/gfwlist +server=/fotiolia.com/127.0.0.1#5335 +ipset=/fotiolia.com/gfwlist +server=/youtube.tv/127.0.0.1#5335 +ipset=/youtube.tv/gfwlist +server=/monsterbeatsbydreaustraliacheap.com/127.0.0.1#5335 +ipset=/monsterbeatsbydreaustraliacheap.com/gfwlist +server=/connaissancesfinancierespratiques.ca/127.0.0.1#5335 +ipset=/connaissancesfinancierespratiques.ca/gfwlist +server=/nikeshoescity.com/127.0.0.1#5335 +ipset=/nikeshoescity.com/gfwlist +server=/beatsdrdre2014.com/127.0.0.1#5335 +ipset=/beatsdrdre2014.com/gfwlist +server=/amazonaws.co.uk/127.0.0.1#5335 +ipset=/amazonaws.co.uk/gfwlist +server=/beatsdanmark2013.com/127.0.0.1#5335 +ipset=/beatsdanmark2013.com/gfwlist +server=/lgappstv.com/127.0.0.1#5335 +ipset=/lgappstv.com/gfwlist +server=/ebayenterprise.tv/127.0.0.1#5335 +ipset=/ebayenterprise.tv/gfwlist +server=/ipadair.com.br/127.0.0.1#5335 +ipset=/ipadair.com.br/gfwlist +server=/hashicorp.com/127.0.0.1#5335 +ipset=/hashicorp.com/gfwlist +server=/accountpaypal.com/127.0.0.1#5335 +ipset=/accountpaypal.com/gfwlist +server=/berkeley.edu/127.0.0.1#5335 +ipset=/berkeley.edu/gfwlist +server=/audiomonsterbeatsonline.com/127.0.0.1#5335 +ipset=/audiomonsterbeatsonline.com/gfwlist +server=/beatsbydrew.com/127.0.0.1#5335 +ipset=/beatsbydrew.com/gfwlist +server=/mastercard.dk/127.0.0.1#5335 +ipset=/mastercard.dk/gfwlist +server=/beatsbydrevipde.com/127.0.0.1#5335 +ipset=/beatsbydrevipde.com/gfwlist +server=/beatsbydreuk.com/127.0.0.1#5335 +ipset=/beatsbydreuk.com/gfwlist +server=/beatsbydresaleonlines-nz.com/127.0.0.1#5335 +ipset=/beatsbydresaleonlines-nz.com/gfwlist +server=/microsoftadc.com/127.0.0.1#5335 +ipset=/microsoftadc.com/gfwlist +server=/worldsecureemail.com/127.0.0.1#5335 +ipset=/worldsecureemail.com/gfwlist +server=/onmanorama.com/127.0.0.1#5335 +ipset=/onmanorama.com/gfwlist +server=/bmw.rs/127.0.0.1#5335 +ipset=/bmw.rs/gfwlist +server=/msftauth.net/127.0.0.1#5335 +ipset=/msftauth.net/gfwlist +server=/beatsbydresingaporesale.com/127.0.0.1#5335 +ipset=/beatsbydresingaporesale.com/gfwlist +server=/foxnewsrundown.com/127.0.0.1#5335 +ipset=/foxnewsrundown.com/gfwlist +server=/akamai-platform-staging.com/127.0.0.1#5335 +ipset=/akamai-platform-staging.com/gfwlist +server=/nokiantyres.com/127.0.0.1#5335 +ipset=/nokiantyres.com/gfwlist +server=/bmw-motorrad.ch/127.0.0.1#5335 +ipset=/bmw-motorrad.ch/gfwlist +server=/beatsbydreshop-uk.com/127.0.0.1#5335 +ipset=/beatsbydreshop-uk.com/gfwlist +server=/mini-connected.fi/127.0.0.1#5335 +ipset=/mini-connected.fi/gfwlist +server=/kamisama-day.jp/127.0.0.1#5335 +ipset=/kamisama-day.jp/gfwlist +server=/natgeokidsbooks.co.uk/127.0.0.1#5335 +ipset=/natgeokidsbooks.co.uk/gfwlist +server=/linearcollider.org/127.0.0.1#5335 +ipset=/linearcollider.org/gfwlist +server=/beatsbydresalesonline-australia.com/127.0.0.1#5335 +ipset=/beatsbydresalesonline-australia.com/gfwlist +server=/intel.uk/127.0.0.1#5335 +ipset=/intel.uk/gfwlist +server=/9to5google.com/127.0.0.1#5335 +ipset=/9to5google.com/gfwlist +server=/coronavirusnow.com/127.0.0.1#5335 +ipset=/coronavirusnow.com/gfwlist +server=/beatsbydreonlinesale-nz.com/127.0.0.1#5335 +ipset=/beatsbydreonlinesale-nz.com/gfwlist +server=/madvr.com/127.0.0.1#5335 +ipset=/madvr.com/gfwlist +server=/youtube.co.at/127.0.0.1#5335 +ipset=/youtube.co.at/gfwlist +server=/youtube.rs/127.0.0.1#5335 +ipset=/youtube.rs/gfwlist +server=/sonyentertainmentnetwork.com/127.0.0.1#5335 +ipset=/sonyentertainmentnetwork.com/gfwlist +server=/beatsbydreofficialdanmark.com/127.0.0.1#5335 +ipset=/beatsbydreofficialdanmark.com/gfwlist +server=/beatsbydrenls.com/127.0.0.1#5335 +ipset=/beatsbydrenls.com/gfwlist +server=/alpherafs.com.my/127.0.0.1#5335 +ipset=/alpherafs.com.my/gfwlist +server=/beatsbydreirelandsale.com/127.0.0.1#5335 +ipset=/beatsbydreirelandsale.com/gfwlist +server=/openvpn.net/127.0.0.1#5335 +ipset=/openvpn.net/gfwlist +server=/beatsbydreireland-sales.com/127.0.0.1#5335 +ipset=/beatsbydreireland-sales.com/gfwlist +server=/beatsbydrehut.com/127.0.0.1#5335 +ipset=/beatsbydrehut.com/gfwlist +server=/graneodin.com.mx/127.0.0.1#5335 +ipset=/graneodin.com.mx/gfwlist +server=/beatsbydrehd.com/127.0.0.1#5335 +ipset=/beatsbydrehd.com/gfwlist +server=/youtube.co.cr/127.0.0.1#5335 +ipset=/youtube.co.cr/gfwlist +server=/akamai-sucks.net/127.0.0.1#5335 +ipset=/akamai-sucks.net/gfwlist +server=/amazonbusiness.org/127.0.0.1#5335 +ipset=/amazonbusiness.org/gfwlist +server=/metartnetwork.com/127.0.0.1#5335 +ipset=/metartnetwork.com/gfwlist +server=/beatsbydrediscountonline.net/127.0.0.1#5335 +ipset=/beatsbydrediscountonline.net/gfwlist +server=/akastream.com/127.0.0.1#5335 +ipset=/akastream.com/gfwlist +server=/beatsbydredealscybermonday.com/127.0.0.1#5335 +ipset=/beatsbydredealscybermonday.com/gfwlist +server=/createspace.com/127.0.0.1#5335 +ipset=/createspace.com/gfwlist +server=/beatsbydredealsblackfriday.com/127.0.0.1#5335 +ipset=/beatsbydredealsblackfriday.com/gfwlist +server=/volvotrucks.nl/127.0.0.1#5335 +ipset=/volvotrucks.nl/gfwlist +server=/visa.com.lk/127.0.0.1#5335 +ipset=/visa.com.lk/gfwlist +server=/beatsbydrecheap-outletstore.com/127.0.0.1#5335 +ipset=/beatsbydrecheap-outletstore.com/gfwlist +server=/metro.co.uk/127.0.0.1#5335 +ipset=/metro.co.uk/gfwlist +server=/beatsbydrecasquesfr.com/127.0.0.1#5335 +ipset=/beatsbydrecasquesfr.com/gfwlist +server=/instagramizlenme.com/127.0.0.1#5335 +ipset=/instagramizlenme.com/gfwlist +server=/bmw-driving-center.co.kr/127.0.0.1#5335 +ipset=/bmw-driving-center.co.kr/gfwlist +server=/digitalocean.com/127.0.0.1#5335 +ipset=/digitalocean.com/gfwlist +server=/earngeek.com/127.0.0.1#5335 +ipset=/earngeek.com/gfwlist +server=/googleapis.com/127.0.0.1#5335 +ipset=/googleapis.com/gfwlist +server=/beatsbydreauofficial.com/127.0.0.1#5335 +ipset=/beatsbydreauofficial.com/gfwlist +server=/protonstatus.com/127.0.0.1#5335 +ipset=/protonstatus.com/gfwlist +server=/beatsbydre411.com/127.0.0.1#5335 +ipset=/beatsbydre411.com/gfwlist +server=/travelcontroller.com/127.0.0.1#5335 +ipset=/travelcontroller.com/gfwlist +server=/beatsbydre-us.com/127.0.0.1#5335 +ipset=/beatsbydre-us.com/gfwlist +server=/sandisk.co.uk/127.0.0.1#5335 +ipset=/sandisk.co.uk/gfwlist +server=/paypal-mobilemoney.com/127.0.0.1#5335 +ipset=/paypal-mobilemoney.com/gfwlist +server=/hpcpi.com/127.0.0.1#5335 +ipset=/hpcpi.com/gfwlist +server=/positivessl.com/127.0.0.1#5335 +ipset=/positivessl.com/gfwlist +server=/paypal-biz.com/127.0.0.1#5335 +ipset=/paypal-biz.com/gfwlist +server=/beatsbydre-chen.com/127.0.0.1#5335 +ipset=/beatsbydre-chen.com/gfwlist +server=/beatsbydre-beatsheadphone.com/127.0.0.1#5335 +ipset=/beatsbydre-beatsheadphone.com/gfwlist +server=/beatsbydrdres.com/127.0.0.1#5335 +ipset=/beatsbydrdres.com/gfwlist +server=/mariobroswii.com/127.0.0.1#5335 +ipset=/mariobroswii.com/gfwlist +server=/ic.ac.uk/127.0.0.1#5335 +ipset=/ic.ac.uk/gfwlist +server=/pearsonassessment.nl/127.0.0.1#5335 +ipset=/pearsonassessment.nl/gfwlist +server=/vgcareers.net/127.0.0.1#5335 +ipset=/vgcareers.net/gfwlist +server=/ciscofax.com/127.0.0.1#5335 +ipset=/ciscofax.com/gfwlist +server=/beatsbydrdre-store.us/127.0.0.1#5335 +ipset=/beatsbydrdre-store.us/gfwlist +server=/netflixdnstest7.com/127.0.0.1#5335 +ipset=/netflixdnstest7.com/gfwlist +server=/akamaitech.com/127.0.0.1#5335 +ipset=/akamaitech.com/gfwlist +server=/hwgo.com/127.0.0.1#5335 +ipset=/hwgo.com/gfwlist +server=/disneycruisebrasil.com/127.0.0.1#5335 +ipset=/disneycruisebrasil.com/gfwlist +server=/nationalgeographicpartners.com/127.0.0.1#5335 +ipset=/nationalgeographicpartners.com/gfwlist +server=/beatsbydrdre-headphones.com/127.0.0.1#5335 +ipset=/beatsbydrdre-headphones.com/gfwlist +server=/disney.id/127.0.0.1#5335 +ipset=/disney.id/gfwlist +server=/vfsco.pl/127.0.0.1#5335 +ipset=/vfsco.pl/gfwlist +server=/briantreepayments.tv/127.0.0.1#5335 +ipset=/briantreepayments.tv/gfwlist +server=/bmw-motorrad.dz/127.0.0.1#5335 +ipset=/bmw-motorrad.dz/gfwlist +server=/beatsbeatsmonster.com/127.0.0.1#5335 +ipset=/beatsbeatsmonster.com/gfwlist +server=/bloombergnext.com/127.0.0.1#5335 +ipset=/bloombergnext.com/gfwlist +server=/beatsbydreoordopjes.com/127.0.0.1#5335 +ipset=/beatsbydreoordopjes.com/gfwlist +server=/beatsaudifonos.com/127.0.0.1#5335 +ipset=/beatsaudifonos.com/gfwlist +server=/beatsallsale.com/127.0.0.1#5335 +ipset=/beatsallsale.com/gfwlist +server=/pugpig.com/127.0.0.1#5335 +ipset=/pugpig.com/gfwlist +server=/beats123.com/127.0.0.1#5335 +ipset=/beats123.com/gfwlist +server=/beatstoreusa.com/127.0.0.1#5335 +ipset=/beatstoreusa.com/gfwlist +server=/dw.com/127.0.0.1#5335 +ipset=/dw.com/gfwlist +server=/touchsmartpc.com/127.0.0.1#5335 +ipset=/touchsmartpc.com/gfwlist +server=/now-ashare.com/127.0.0.1#5335 +ipset=/now-ashare.com/gfwlist +server=/freefblikes.com/127.0.0.1#5335 +ipset=/freefblikes.com/gfwlist +server=/youtubego.id/127.0.0.1#5335 +ipset=/youtubego.id/gfwlist +server=/beatmonstersaustralia.net/127.0.0.1#5335 +ipset=/beatmonstersaustralia.net/gfwlist +server=/appdomain.cloud/127.0.0.1#5335 +ipset=/appdomain.cloud/gfwlist +server=/disneyenconcert.com/127.0.0.1#5335 +ipset=/disneyenconcert.com/gfwlist +server=/beatbydreuk2014.com/127.0.0.1#5335 +ipset=/beatbydreuk2014.com/gfwlist +server=/applecentar.co.rs/127.0.0.1#5335 +ipset=/applecentar.co.rs/gfwlist +server=/oncars.in/127.0.0.1#5335 +ipset=/oncars.in/gfwlist +server=/supplybestjerseys.com/127.0.0.1#5335 +ipset=/supplybestjerseys.com/gfwlist +server=/beatbydremonster.com/127.0.0.1#5335 +ipset=/beatbydremonster.com/gfwlist +server=/flatpak.org/127.0.0.1#5335 +ipset=/flatpak.org/gfwlist +server=/ebayclassifiedsgroup.org/127.0.0.1#5335 +ipset=/ebayclassifiedsgroup.org/gfwlist +server=/beatbd.com/127.0.0.1#5335 +ipset=/beatbd.com/gfwlist +server=/kindleoasis.info/127.0.0.1#5335 +ipset=/kindleoasis.info/gfwlist +server=/awetv.com/127.0.0.1#5335 +ipset=/awetv.com/gfwlist +server=/anfutong.com/127.0.0.1#5335 +ipset=/anfutong.com/gfwlist +server=/fontshop-prod-responsive-images.s3.amazonaws.com/127.0.0.1#5335 +ipset=/fontshop-prod-responsive-images.s3.amazonaws.com/gfwlist +server=/ntd.com/127.0.0.1#5335 +ipset=/ntd.com/gfwlist +server=/auricularesbeatsmarkt.com/127.0.0.1#5335 +ipset=/auricularesbeatsmarkt.com/gfwlist +server=/auricularesbeatsbaratosshop.com/127.0.0.1#5335 +ipset=/auricularesbeatsbaratosshop.com/gfwlist +server=/llnw.net/127.0.0.1#5335 +ipset=/llnw.net/gfwlist +server=/audiobeatsau.com/127.0.0.1#5335 +ipset=/audiobeatsau.com/gfwlist +server=/vfsco.ie/127.0.0.1#5335 +ipset=/vfsco.ie/gfwlist +server=/newsmax.com/127.0.0.1#5335 +ipset=/newsmax.com/gfwlist +server=/aucheapbeats.com/127.0.0.1#5335 +ipset=/aucheapbeats.com/gfwlist +server=/applepay.berlin/127.0.0.1#5335 +ipset=/applepay.berlin/gfwlist +server=/verisign.com.tw/127.0.0.1#5335 +ipset=/verisign.com.tw/gfwlist +server=/cnnmoneystream.com/127.0.0.1#5335 +ipset=/cnnmoneystream.com/gfwlist +server=/instagramq.com/127.0.0.1#5335 +ipset=/instagramq.com/gfwlist +server=/hpshooping.com/127.0.0.1#5335 +ipset=/hpshooping.com/gfwlist +server=/bridgestonetire.com/127.0.0.1#5335 +ipset=/bridgestonetire.com/gfwlist +server=/5beatsbydre.com/127.0.0.1#5335 +ipset=/5beatsbydre.com/gfwlist +server=/chromium.org/127.0.0.1#5335 +ipset=/chromium.org/gfwlist +server=/2drdrebeats.com/127.0.0.1#5335 +ipset=/2drdrebeats.com/gfwlist +server=/av1688.cc/127.0.0.1#5335 +ipset=/av1688.cc/gfwlist +server=/2013pascherbeatsbydre.com/127.0.0.1#5335 +ipset=/2013pascherbeatsbydre.com/gfwlist +server=/mini-bahrain.com/127.0.0.1#5335 +ipset=/mini-bahrain.com/gfwlist +server=/bloomberg.com.br/127.0.0.1#5335 +ipset=/bloomberg.com.br/gfwlist +server=/2013beatsbydreshop.com/127.0.0.1#5335 +ipset=/2013beatsbydreshop.com/gfwlist +server=/telebay.com/127.0.0.1#5335 +ipset=/telebay.com/gfwlist +server=/adidas.ie/127.0.0.1#5335 +ipset=/adidas.ie/gfwlist +server=/bingagencyawards.com/127.0.0.1#5335 +ipset=/bingagencyawards.com/gfwlist +server=/vaultify.com/127.0.0.1#5335 +ipset=/vaultify.com/gfwlist +server=/accuweather.com/127.0.0.1#5335 +ipset=/accuweather.com/gfwlist +server=/thebeatsbydre.com/127.0.0.1#5335 +ipset=/thebeatsbydre.com/gfwlist +server=/artstationmedia.com/127.0.0.1#5335 +ipset=/artstationmedia.com/gfwlist +server=/volvo.com/127.0.0.1#5335 +ipset=/volvo.com/gfwlist +server=/facebookmsn.com/127.0.0.1#5335 +ipset=/facebookmsn.com/gfwlist +server=/ssl-images-amazon.com/127.0.0.1#5335 +ipset=/ssl-images-amazon.com/gfwlist +server=/bmw-connecteddrive.pt/127.0.0.1#5335 +ipset=/bmw-connecteddrive.pt/gfwlist +server=/easyanticheat.net/127.0.0.1#5335 +ipset=/easyanticheat.net/gfwlist +server=/globalsign.net/127.0.0.1#5335 +ipset=/globalsign.net/gfwlist +server=/billmelater.com/127.0.0.1#5335 +ipset=/billmelater.com/gfwlist +server=/nikeonlinestore.com/127.0.0.1#5335 +ipset=/nikeonlinestore.com/gfwlist +server=/primeday.info/127.0.0.1#5335 +ipset=/primeday.info/gfwlist +server=/4ebaytraders.com/127.0.0.1#5335 +ipset=/4ebaytraders.com/gfwlist +server=/youtube.kz/127.0.0.1#5335 +ipset=/youtube.kz/gfwlist +server=/bmw-dubai.com/127.0.0.1#5335 +ipset=/bmw-dubai.com/gfwlist +server=/gdansk-amazon.com/127.0.0.1#5335 +ipset=/gdansk-amazon.com/gfwlist +server=/rentaride.de/127.0.0.1#5335 +ipset=/rentaride.de/gfwlist +server=/google.com.br/127.0.0.1#5335 +ipset=/google.com.br/gfwlist +server=/solostudioksale.com/127.0.0.1#5335 +ipset=/solostudioksale.com/gfwlist +server=/bmw-asia.com/127.0.0.1#5335 +ipset=/bmw-asia.com/gfwlist +server=/scholar.google.lt/127.0.0.1#5335 +ipset=/scholar.google.lt/gfwlist +server=/pixiv.org/127.0.0.1#5335 +ipset=/pixiv.org/gfwlist +server=/dropboxcaptcha.com/127.0.0.1#5335 +ipset=/dropboxcaptcha.com/gfwlist +server=/downloadsforipod.com/127.0.0.1#5335 +ipset=/downloadsforipod.com/gfwlist +server=/akamai-access.net/127.0.0.1#5335 +ipset=/akamai-access.net/gfwlist +server=/alphabet.lv/127.0.0.1#5335 +ipset=/alphabet.lv/gfwlist +server=/amazonsdi.com/127.0.0.1#5335 +ipset=/amazonsdi.com/gfwlist +server=/amazonpay.in/127.0.0.1#5335 +ipset=/amazonpay.in/gfwlist +server=/ieee-cas.org/127.0.0.1#5335 +ipset=/ieee-cas.org/gfwlist +server=/scholar.google.com.ar/127.0.0.1#5335 +ipset=/scholar.google.com.ar/gfwlist +server=/free-aa.com/127.0.0.1#5335 +ipset=/free-aa.com/gfwlist +server=/bmw-kuwait.com/127.0.0.1#5335 +ipset=/bmw-kuwait.com/gfwlist +server=/paypalservice.com/127.0.0.1#5335 +ipset=/paypalservice.com/gfwlist +server=/cbspressexpress.com/127.0.0.1#5335 +ipset=/cbspressexpress.com/gfwlist +server=/huanyuju.com/127.0.0.1#5335 +ipset=/huanyuju.com/gfwlist +server=/mearki.com/127.0.0.1#5335 +ipset=/mearki.com/gfwlist +server=/bloombergbeta.com/127.0.0.1#5335 +ipset=/bloombergbeta.com/gfwlist +server=/raspberrypi.org/127.0.0.1#5335 +ipset=/raspberrypi.org/gfwlist +server=/eaassets-a.akamaihd.net/127.0.0.1#5335 +ipset=/eaassets-a.akamaihd.net/gfwlist +server=/titanfall.com/127.0.0.1#5335 +ipset=/titanfall.com/gfwlist +server=/itunes12days.com/127.0.0.1#5335 +ipset=/itunes12days.com/gfwlist +server=/playartifact.com/127.0.0.1#5335 +ipset=/playartifact.com/gfwlist +server=/ebaystatic.com/127.0.0.1#5335 +ipset=/ebaystatic.com/gfwlist +server=/my45.com/127.0.0.1#5335 +ipset=/my45.com/gfwlist +server=/pricelessarabia.com/127.0.0.1#5335 +ipset=/pricelessarabia.com/gfwlist +server=/directvcinema.com/127.0.0.1#5335 +ipset=/directvcinema.com/gfwlist +server=/skyoceanrescue.it/127.0.0.1#5335 +ipset=/skyoceanrescue.it/gfwlist +server=/appledarwin.net/127.0.0.1#5335 +ipset=/appledarwin.net/gfwlist +server=/volvotrucks.co.ao/127.0.0.1#5335 +ipset=/volvotrucks.co.ao/gfwlist +server=/bioware.com/127.0.0.1#5335 +ipset=/bioware.com/gfwlist +server=/openapiservice.com/127.0.0.1#5335 +ipset=/openapiservice.com/gfwlist +server=/amazon.it/127.0.0.1#5335 +ipset=/amazon.it/gfwlist +server=/amazon.fr/127.0.0.1#5335 +ipset=/amazon.fr/gfwlist +server=/amazon.com/127.0.0.1#5335 +ipset=/amazon.com/gfwlist +server=/facebookappcenter.org/127.0.0.1#5335 +ipset=/facebookappcenter.org/gfwlist +server=/cam4.com/127.0.0.1#5335 +ipset=/cam4.com/gfwlist +server=/12diasderegalosdeitunes.co.cr/127.0.0.1#5335 +ipset=/12diasderegalosdeitunes.co.cr/gfwlist +server=/book.com.tw/127.0.0.1#5335 +ipset=/book.com.tw/gfwlist +server=/thegatewaypundit.com/127.0.0.1#5335 +ipset=/thegatewaypundit.com/gfwlist +server=/nikecompany.com/127.0.0.1#5335 +ipset=/nikecompany.com/gfwlist +server=/amazon.co.uk/127.0.0.1#5335 +ipset=/amazon.co.uk/gfwlist +server=/amazon.ca/127.0.0.1#5335 +ipset=/amazon.ca/gfwlist +server=/amazon.ae/127.0.0.1#5335 +ipset=/amazon.ae/gfwlist +server=/paily.org/127.0.0.1#5335 +ipset=/paily.org/gfwlist +server=/bmw.si/127.0.0.1#5335 +ipset=/bmw.si/gfwlist +server=/amazonauthorinsights.com/127.0.0.1#5335 +ipset=/amazonauthorinsights.com/gfwlist +server=/bitly.com/127.0.0.1#5335 +ipset=/bitly.com/gfwlist +server=/amaaozn.com/127.0.0.1#5335 +ipset=/amaaozn.com/gfwlist +server=/aboutamazon.pl/127.0.0.1#5335 +ipset=/aboutamazon.pl/gfwlist +server=/paypalx.com/127.0.0.1#5335 +ipset=/paypalx.com/gfwlist +server=/webtype.com/127.0.0.1#5335 +ipset=/webtype.com/gfwlist +server=/fortuneinsight.com/127.0.0.1#5335 +ipset=/fortuneinsight.com/gfwlist +server=/xn--fiqs8sxootzz.xn--hxt814e/127.0.0.1#5335 +ipset=/xn--fiqs8sxootzz.xn--hxt814e/gfwlist +server=/nintendowii.com/127.0.0.1#5335 +ipset=/nintendowii.com/gfwlist +server=/oculusforbusiness.com/127.0.0.1#5335 +ipset=/oculusforbusiness.com/gfwlist +server=/aboutamazon.fr/127.0.0.1#5335 +ipset=/aboutamazon.fr/gfwlist +server=/azure.com/127.0.0.1#5335 +ipset=/azure.com/gfwlist +server=/carebay.com/127.0.0.1#5335 +ipset=/carebay.com/gfwlist +server=/a2z.com/127.0.0.1#5335 +ipset=/a2z.com/gfwlist +server=/myfoxlosangeles.com/127.0.0.1#5335 +ipset=/myfoxlosangeles.com/gfwlist +server=/vanish.com.co/127.0.0.1#5335 +ipset=/vanish.com.co/gfwlist +server=/primevideo.com/127.0.0.1#5335 +ipset=/primevideo.com/gfwlist +server=/beatsstudiosite.com/127.0.0.1#5335 +ipset=/beatsstudiosite.com/gfwlist +server=/comodoca3.com/127.0.0.1#5335 +ipset=/comodoca3.com/gfwlist +server=/bextbuy.com/127.0.0.1#5335 +ipset=/bextbuy.com/gfwlist +server=/foxcincy.com/127.0.0.1#5335 +ipset=/foxcincy.com/gfwlist +server=/accountpaypal.net/127.0.0.1#5335 +ipset=/accountpaypal.net/gfwlist +server=/riotgames.co.kr/127.0.0.1#5335 +ipset=/riotgames.co.kr/gfwlist +server=/facebookatschool.com/127.0.0.1#5335 +ipset=/facebookatschool.com/gfwlist +server=/alphera-finance.com.hk/127.0.0.1#5335 +ipset=/alphera-finance.com.hk/gfwlist +server=/ikids.com/127.0.0.1#5335 +ipset=/ikids.com/gfwlist +server=/applexpo.net/127.0.0.1#5335 +ipset=/applexpo.net/gfwlist +server=/justmysocks1.net/127.0.0.1#5335 +ipset=/justmysocks1.net/gfwlist +server=/fox247.tv/127.0.0.1#5335 +ipset=/fox247.tv/gfwlist +server=/bmwsafari.com/127.0.0.1#5335 +ipset=/bmwsafari.com/gfwlist +server=/weeklytimesnow.com.au/127.0.0.1#5335 +ipset=/weeklytimesnow.com.au/gfwlist +server=/kindle.com/127.0.0.1#5335 +ipset=/kindle.com/gfwlist +server=/elasticbeanstalk.com/127.0.0.1#5335 +ipset=/elasticbeanstalk.com/gfwlist +server=/minisovietam.vn/127.0.0.1#5335 +ipset=/minisovietam.vn/gfwlist +server=/pixplug.in/127.0.0.1#5335 +ipset=/pixplug.in/gfwlist +server=/iaablog.com/127.0.0.1#5335 +ipset=/iaablog.com/gfwlist +server=/verygoodnike.com/127.0.0.1#5335 +ipset=/verygoodnike.com/gfwlist +server=/isexlove.tw/127.0.0.1#5335 +ipset=/isexlove.tw/gfwlist +server=/containersonaws.com/127.0.0.1#5335 +ipset=/containersonaws.com/gfwlist +server=/moreheadphones.com/127.0.0.1#5335 +ipset=/moreheadphones.com/gfwlist +server=/usa-beatsbydreheadphonesonsale.net/127.0.0.1#5335 +ipset=/usa-beatsbydreheadphonesonsale.net/gfwlist +server=/mingpaotor.com/127.0.0.1#5335 +ipset=/mingpaotor.com/gfwlist +server=/ebaychina.net/127.0.0.1#5335 +ipset=/ebaychina.net/gfwlist +server=/paypal-hrsystem.com/127.0.0.1#5335 +ipset=/paypal-hrsystem.com/gfwlist +server=/cloudfront.net/127.0.0.1#5335 +ipset=/cloudfront.net/gfwlist +server=/awstrust.com/127.0.0.1#5335 +ipset=/awstrust.com/gfwlist +server=/awsedstart.com/127.0.0.1#5335 +ipset=/awsedstart.com/gfwlist +server=/akahost.net/127.0.0.1#5335 +ipset=/akahost.net/gfwlist +server=/cabletv.com.hk/127.0.0.1#5335 +ipset=/cabletv.com.hk/gfwlist +server=/awsautopilot.com/127.0.0.1#5335 +ipset=/awsautopilot.com/gfwlist +server=/mythicentertainment.net/127.0.0.1#5335 +ipset=/mythicentertainment.net/gfwlist +server=/ehtracker.org/127.0.0.1#5335 +ipset=/ehtracker.org/gfwlist +server=/instagramium.com/127.0.0.1#5335 +ipset=/instagramium.com/gfwlist +server=/heroku.me/127.0.0.1#5335 +ipset=/heroku.me/gfwlist +server=/amazonaws.tv/127.0.0.1#5335 +ipset=/amazonaws.tv/gfwlist +server=/bluemix.net/127.0.0.1#5335 +ipset=/bluemix.net/gfwlist +server=/airwick.de/127.0.0.1#5335 +ipset=/airwick.de/gfwlist +server=/durex.cz/127.0.0.1#5335 +ipset=/durex.cz/gfwlist +server=/kirbysepicyarn.com/127.0.0.1#5335 +ipset=/kirbysepicyarn.com/gfwlist +server=/alicloud.com/127.0.0.1#5335 +ipset=/alicloud.com/gfwlist +server=/alibabacloud.com.sg/127.0.0.1#5335 +ipset=/alibabacloud.com.sg/gfwlist +server=/alibabacloud.com.hk/127.0.0.1#5335 +ipset=/alibabacloud.com.hk/gfwlist +server=/half.tv/127.0.0.1#5335 +ipset=/half.tv/gfwlist +server=/microsoftadvertising.com/127.0.0.1#5335 +ipset=/microsoftadvertising.com/gfwlist +server=/toutapp.com/127.0.0.1#5335 +ipset=/toutapp.com/gfwlist +server=/digital-id.ch/127.0.0.1#5335 +ipset=/digital-id.ch/gfwlist +server=/spacex.com/127.0.0.1#5335 +ipset=/spacex.com/gfwlist +server=/volvotrucks.com/127.0.0.1#5335 +ipset=/volvotrucks.com/gfwlist +server=/ogameblog.com/127.0.0.1#5335 +ipset=/ogameblog.com/gfwlist +server=/yimg.com/127.0.0.1#5335 +ipset=/yimg.com/gfwlist +server=/oxfordartonline.com/127.0.0.1#5335 +ipset=/oxfordartonline.com/gfwlist +server=/magento.net/127.0.0.1#5335 +ipset=/magento.net/gfwlist +server=/s.team/127.0.0.1#5335 +ipset=/s.team/gfwlist +server=/google.co.ck/127.0.0.1#5335 +ipset=/google.co.ck/gfwlist +server=/mastercard.cl/127.0.0.1#5335 +ipset=/mastercard.cl/gfwlist +server=/westerndigital.com/127.0.0.1#5335 +ipset=/westerndigital.com/gfwlist +server=/quipelements.com/127.0.0.1#5335 +ipset=/quipelements.com/gfwlist +server=/nikefrance.com/127.0.0.1#5335 +ipset=/nikefrance.com/gfwlist +server=/justduckit.com/127.0.0.1#5335 +ipset=/justduckit.com/gfwlist +server=/beijingnike.com/127.0.0.1#5335 +ipset=/beijingnike.com/gfwlist +server=/bmw-drivingexperience.com/127.0.0.1#5335 +ipset=/bmw-drivingexperience.com/gfwlist +server=/bypasscensorship.org/127.0.0.1#5335 +ipset=/bypasscensorship.org/gfwlist +server=/motolia.com/127.0.0.1#5335 +ipset=/motolia.com/gfwlist +server=/x.team/127.0.0.1#5335 +ipset=/x.team/gfwlist +server=/bmw-motorrad.de/127.0.0.1#5335 +ipset=/bmw-motorrad.de/gfwlist +server=/google.fi/127.0.0.1#5335 +ipset=/google.fi/gfwlist +server=/faceboks.com/127.0.0.1#5335 +ipset=/faceboks.com/gfwlist +server=/heroku.com/127.0.0.1#5335 +ipset=/heroku.com/gfwlist +server=/ffotolia.com/127.0.0.1#5335 +ipset=/ffotolia.com/gfwlist +server=/zoho.in/127.0.0.1#5335 +ipset=/zoho.in/gfwlist +server=/newslicensing.co.uk/127.0.0.1#5335 +ipset=/newslicensing.co.uk/gfwlist +server=/o365weve-dev.com/127.0.0.1#5335 +ipset=/o365weve-dev.com/gfwlist +server=/etpress.com.hk/127.0.0.1#5335 +ipset=/etpress.com.hk/gfwlist +server=/warp.plus/127.0.0.1#5335 +ipset=/warp.plus/gfwlist +server=/disneyworld-go.com/127.0.0.1#5335 +ipset=/disneyworld-go.com/gfwlist +server=/faciometrics.com/127.0.0.1#5335 +ipset=/faciometrics.com/gfwlist +server=/sonypicturesanimation.com/127.0.0.1#5335 +ipset=/sonypicturesanimation.com/gfwlist +server=/ebayclassifieds.tv/127.0.0.1#5335 +ipset=/ebayclassifieds.tv/gfwlist +server=/bmw.pt/127.0.0.1#5335 +ipset=/bmw.pt/gfwlist +server=/mastercard.no/127.0.0.1#5335 +ipset=/mastercard.no/gfwlist +server=/enablementadobe.com/127.0.0.1#5335 +ipset=/enablementadobe.com/gfwlist +server=/disneymagicmomentsme.com/127.0.0.1#5335 +ipset=/disneymagicmomentsme.com/gfwlist +server=/maddenchampionship.com/127.0.0.1#5335 +ipset=/maddenchampionship.com/gfwlist +server=/ozvoice.org/127.0.0.1#5335 +ipset=/ozvoice.org/gfwlist +server=/longman.ch/127.0.0.1#5335 +ipset=/longman.ch/gfwlist +server=/thedailysnkr.com/127.0.0.1#5335 +ipset=/thedailysnkr.com/gfwlist +server=/adobespark.com/127.0.0.1#5335 +ipset=/adobespark.com/gfwlist +server=/pricelesssydney.com/127.0.0.1#5335 +ipset=/pricelesssydney.com/gfwlist +server=/adobeplatinumclub.com/127.0.0.1#5335 +ipset=/adobeplatinumclub.com/gfwlist +server=/finishinfo.it/127.0.0.1#5335 +ipset=/finishinfo.it/gfwlist +server=/akamai-regression.net/127.0.0.1#5335 +ipset=/akamai-regression.net/gfwlist +server=/adobelanding.com/127.0.0.1#5335 +ipset=/adobelanding.com/gfwlist +server=/akamaimagicmath.net/127.0.0.1#5335 +ipset=/akamaimagicmath.net/gfwlist +server=/americasvoice.news/127.0.0.1#5335 +ipset=/americasvoice.news/gfwlist +server=/redis.io/127.0.0.1#5335 +ipset=/redis.io/gfwlist +server=/tiktokcdn.com/127.0.0.1#5335 +ipset=/tiktokcdn.com/gfwlist +server=/deadspacegame.com/127.0.0.1#5335 +ipset=/deadspacegame.com/gfwlist +server=/adobe.ly/127.0.0.1#5335 +ipset=/adobe.ly/gfwlist +server=/pearsonelt.ch/127.0.0.1#5335 +ipset=/pearsonelt.ch/gfwlist +server=/weiyuksj.com/127.0.0.1#5335 +ipset=/weiyuksj.com/gfwlist +server=/10xfotolia.com/127.0.0.1#5335 +ipset=/10xfotolia.com/gfwlist +server=/typekit.com/127.0.0.1#5335 +ipset=/typekit.com/gfwlist +server=/xn--ruq8a011kt6y.xn--hxt814e/127.0.0.1#5335 +ipset=/xn--ruq8a011kt6y.xn--hxt814e/gfwlist +server=/needforspeed.com/127.0.0.1#5335 +ipset=/needforspeed.com/gfwlist +server=/liverail.com/127.0.0.1#5335 +ipset=/liverail.com/gfwlist +server=/postgresql.org/127.0.0.1#5335 +ipset=/postgresql.org/gfwlist +server=/azure-dns.com/127.0.0.1#5335 +ipset=/azure-dns.com/gfwlist +server=/contest.com/127.0.0.1#5335 +ipset=/contest.com/gfwlist +server=/githubassets.com/127.0.0.1#5335 +ipset=/githubassets.com/gfwlist +server=/openai.com/127.0.0.1#5335 +ipset=/openai.com/gfwlist +server=/notepad-plus-plus.org/127.0.0.1#5335 +ipset=/notepad-plus-plus.org/gfwlist +server=/pahabicilemezsurprizler.com/127.0.0.1#5335 +ipset=/pahabicilemezsurprizler.com/gfwlist +server=/verisign.dk/127.0.0.1#5335 +ipset=/verisign.dk/gfwlist +server=/lua.org/127.0.0.1#5335 +ipset=/lua.org/gfwlist +server=/bridgestonesyb.com/127.0.0.1#5335 +ipset=/bridgestonesyb.com/gfwlist +server=/jupyter.org/127.0.0.1#5335 +ipset=/jupyter.org/gfwlist +server=/swissign.li/127.0.0.1#5335 +ipset=/swissign.li/gfwlist +server=/mastercardservices.com/127.0.0.1#5335 +ipset=/mastercardservices.com/gfwlist +server=/nvidia.nl/127.0.0.1#5335 +ipset=/nvidia.nl/gfwlist +server=/iphoneplus.wang/127.0.0.1#5335 +ipset=/iphoneplus.wang/gfwlist +server=/doi.org/127.0.0.1#5335 +ipset=/doi.org/gfwlist +server=/ituneslogin.net/127.0.0.1#5335 +ipset=/ituneslogin.net/gfwlist +server=/instituteofwar.org/127.0.0.1#5335 +ipset=/instituteofwar.org/gfwlist +server=/53worldsweeps.com/127.0.0.1#5335 +ipset=/53worldsweeps.com/gfwlist +server=/nikesellorder.com/127.0.0.1#5335 +ipset=/nikesellorder.com/gfwlist +server=/apache.org/127.0.0.1#5335 +ipset=/apache.org/gfwlist +server=/msnbc.com/127.0.0.1#5335 +ipset=/msnbc.com/gfwlist +server=/whimn.com.au/127.0.0.1#5335 +ipset=/whimn.com.au/gfwlist +server=/volvobuses.in/127.0.0.1#5335 +ipset=/volvobuses.in/gfwlist +server=/blogebay.com/127.0.0.1#5335 +ipset=/blogebay.com/gfwlist +server=/xda-cdn.com/127.0.0.1#5335 +ipset=/xda-cdn.com/gfwlist +server=/volvotrucks.kg/127.0.0.1#5335 +ipset=/volvotrucks.kg/gfwlist +server=/r-project.org/127.0.0.1#5335 +ipset=/r-project.org/gfwlist +server=/watch-ebay.org/127.0.0.1#5335 +ipset=/watch-ebay.org/gfwlist +server=/visa.co.jp/127.0.0.1#5335 +ipset=/visa.co.jp/gfwlist +server=/ted.com/127.0.0.1#5335 +ipset=/ted.com/gfwlist +server=/swisssign.com/127.0.0.1#5335 +ipset=/swisssign.com/gfwlist +server=/swjedifallenorder.com/127.0.0.1#5335 +ipset=/swjedifallenorder.com/gfwlist +server=/itunesstore.co/127.0.0.1#5335 +ipset=/itunesstore.co/gfwlist +server=/unity3d.com/127.0.0.1#5335 +ipset=/unity3d.com/gfwlist +server=/vfsco.es/127.0.0.1#5335 +ipset=/vfsco.es/gfwlist +server=/hkheadline.com/127.0.0.1#5335 +ipset=/hkheadline.com/gfwlist +server=/uplay.com/127.0.0.1#5335 +ipset=/uplay.com/gfwlist +server=/outletnike.com/127.0.0.1#5335 +ipset=/outletnike.com/gfwlist +server=/jquery.com/127.0.0.1#5335 +ipset=/jquery.com/gfwlist +server=/beatssales.com/127.0.0.1#5335 +ipset=/beatssales.com/gfwlist +server=/mini.tn/127.0.0.1#5335 +ipset=/mini.tn/gfwlist +server=/ampproject.com/127.0.0.1#5335 +ipset=/ampproject.com/gfwlist +server=/volvotrucks.pk/127.0.0.1#5335 +ipset=/volvotrucks.pk/gfwlist +server=/nke6.com/127.0.0.1#5335 +ipset=/nke6.com/gfwlist +server=/adobeprojectm.com/127.0.0.1#5335 +ipset=/adobeprojectm.com/gfwlist +server=/amp.dev/127.0.0.1#5335 +ipset=/amp.dev/gfwlist +server=/microsoft.lu/127.0.0.1#5335 +ipset=/microsoft.lu/gfwlist +server=/pearsonassessment.no/127.0.0.1#5335 +ipset=/pearsonassessment.no/gfwlist +server=/ebayclassifieds.org/127.0.0.1#5335 +ipset=/ebayclassifieds.org/gfwlist +server=/finenike.com/127.0.0.1#5335 +ipset=/finenike.com/gfwlist +server=/sstatic.net/127.0.0.1#5335 +ipset=/sstatic.net/gfwlist +server=/mastercard.com.ge/127.0.0.1#5335 +ipset=/mastercard.com.ge/gfwlist +server=/mini.ma/127.0.0.1#5335 +ipset=/mini.ma/gfwlist +server=/fonts.com/127.0.0.1#5335 +ipset=/fonts.com/gfwlist +server=/mathoverflow.net/127.0.0.1#5335 +ipset=/mathoverflow.net/gfwlist +server=/disney.ca/127.0.0.1#5335 +ipset=/disney.ca/gfwlist +server=/remirepo.net/127.0.0.1#5335 +ipset=/remirepo.net/gfwlist +server=/redislabs.com/127.0.0.1#5335 +ipset=/redislabs.com/gfwlist +server=/playapex.com/127.0.0.1#5335 +ipset=/playapex.com/gfwlist +server=/mit.net/127.0.0.1#5335 +ipset=/mit.net/gfwlist +server=/javfull.net/127.0.0.1#5335 +ipset=/javfull.net/gfwlist +server=/pythonhosted.org/127.0.0.1#5335 +ipset=/pythonhosted.org/gfwlist +server=/huluad.com/127.0.0.1#5335 +ipset=/huluad.com/gfwlist +server=/golos-ameriki.ru/127.0.0.1#5335 +ipset=/golos-ameriki.ru/gfwlist +server=/bmwspecialoffers.ca/127.0.0.1#5335 +ipset=/bmwspecialoffers.ca/gfwlist +server=/apple.ie/127.0.0.1#5335 +ipset=/apple.ie/gfwlist +server=/abema.io/127.0.0.1#5335 +ipset=/abema.io/gfwlist +server=/metacpan.org/127.0.0.1#5335 +ipset=/metacpan.org/gfwlist +server=/pearson.fr/127.0.0.1#5335 +ipset=/pearson.fr/gfwlist +server=/yahoo.mw/127.0.0.1#5335 +ipset=/yahoo.mw/gfwlist +server=/askfacebook.org/127.0.0.1#5335 +ipset=/askfacebook.org/gfwlist +server=/bmw-fleet.net/127.0.0.1#5335 +ipset=/bmw-fleet.net/gfwlist +server=/bandcamp.com/127.0.0.1#5335 +ipset=/bandcamp.com/gfwlist +server=/dtlgalleryint.cloudapp.net/127.0.0.1#5335 +ipset=/dtlgalleryint.cloudapp.net/gfwlist +server=/hkgolden.media/127.0.0.1#5335 +ipset=/hkgolden.media/gfwlist +server=/fury.io/127.0.0.1#5335 +ipset=/fury.io/gfwlist +server=/foxla.tv/127.0.0.1#5335 +ipset=/foxla.tv/gfwlist +server=/visualstudio.eu/127.0.0.1#5335 +ipset=/visualstudio.eu/gfwlist +server=/visualstudio.co/127.0.0.1#5335 +ipset=/visualstudio.co/gfwlist +server=/sqlserveronlinux.com/127.0.0.1#5335 +ipset=/sqlserveronlinux.com/gfwlist +server=/talentlens.com/127.0.0.1#5335 +ipset=/talentlens.com/gfwlist +server=/kindleoasis.org/127.0.0.1#5335 +ipset=/kindleoasis.org/gfwlist +server=/sankie.net/127.0.0.1#5335 +ipset=/sankie.net/gfwlist +server=/nugettest.org/127.0.0.1#5335 +ipset=/nugettest.org/gfwlist +server=/appleinclegal.com/127.0.0.1#5335 +ipset=/appleinclegal.com/gfwlist +server=/nintendo.se/127.0.0.1#5335 +ipset=/nintendo.se/gfwlist +server=/apple.co.nz/127.0.0.1#5335 +ipset=/apple.co.nz/gfwlist +server=/hulupremium.com/127.0.0.1#5335 +ipset=/hulupremium.com/gfwlist +server=/nike-usa.com/127.0.0.1#5335 +ipset=/nike-usa.com/gfwlist +server=/bmw-group.net/127.0.0.1#5335 +ipset=/bmw-group.net/gfwlist +server=/leagueoflegends.info/127.0.0.1#5335 +ipset=/leagueoflegends.info/gfwlist +server=/msdn.com/127.0.0.1#5335 +ipset=/msdn.com/gfwlist +server=/microsoftreactor.org/127.0.0.1#5335 +ipset=/microsoftreactor.org/gfwlist +server=/att.net/127.0.0.1#5335 +ipset=/att.net/gfwlist +server=/bmw.lk/127.0.0.1#5335 +ipset=/bmw.lk/gfwlist +server=/epigeum.com/127.0.0.1#5335 +ipset=/epigeum.com/gfwlist +server=/nextdigital.com.hk/127.0.0.1#5335 +ipset=/nextdigital.com.hk/gfwlist +server=/appcenter.ms/127.0.0.1#5335 +ipset=/appcenter.ms/gfwlist +server=/hhvm.com/127.0.0.1#5335 +ipset=/hhvm.com/gfwlist +server=/guccitimeless.com/127.0.0.1#5335 +ipset=/guccitimeless.com/gfwlist +server=/acpica.com/127.0.0.1#5335 +ipset=/acpica.com/gfwlist +server=/snap-telemetry.io/127.0.0.1#5335 +ipset=/snap-telemetry.io/gfwlist +server=/openvinotoolkit.org/127.0.0.1#5335 +ipset=/openvinotoolkit.org/gfwlist +server=/protonmail.ch/127.0.0.1#5335 +ipset=/protonmail.ch/gfwlist +server=/intellinuxgraphics.net/127.0.0.1#5335 +ipset=/intellinuxgraphics.net/gfwlist +server=/binance.vision/127.0.0.1#5335 +ipset=/binance.vision/gfwlist +server=/epochtimes.de/127.0.0.1#5335 +ipset=/epochtimes.de/gfwlist +server=/bmw-connecteddrive.kr/127.0.0.1#5335 +ipset=/bmw-connecteddrive.kr/gfwlist +server=/golang.org/127.0.0.1#5335 +ipset=/golang.org/gfwlist +server=/go.dev/127.0.0.1#5335 +ipset=/go.dev/gfwlist +server=/go-lang.org/127.0.0.1#5335 +ipset=/go-lang.org/gfwlist +server=/scholar.google.lu/127.0.0.1#5335 +ipset=/scholar.google.lu/gfwlist +server=/gitlab-static.net/127.0.0.1#5335 +ipset=/gitlab-static.net/gfwlist +server=/findyourlimits.com/127.0.0.1#5335 +ipset=/findyourlimits.com/gfwlist +server=/eastore.com/127.0.0.1#5335 +ipset=/eastore.com/gfwlist +server=/whisolutions.com/127.0.0.1#5335 +ipset=/whisolutions.com/gfwlist +server=/expertmaker.com/127.0.0.1#5335 +ipset=/expertmaker.com/gfwlist +server=/akamah.com/127.0.0.1#5335 +ipset=/akamah.com/gfwlist +server=/mini-ksa.com/127.0.0.1#5335 +ipset=/mini-ksa.com/gfwlist +server=/github.dev/127.0.0.1#5335 +ipset=/github.dev/gfwlist +server=/page.link/127.0.0.1#5335 +ipset=/page.link/gfwlist +server=/npmjs.org/127.0.0.1#5335 +ipset=/npmjs.org/gfwlist +server=/gputechconf.com.au/127.0.0.1#5335 +ipset=/gputechconf.com.au/gfwlist +server=/oath.cloud/127.0.0.1#5335 +ipset=/oath.cloud/gfwlist +server=/youtube.pk/127.0.0.1#5335 +ipset=/youtube.pk/gfwlist +server=/paypal-apps.com/127.0.0.1#5335 +ipset=/paypal-apps.com/gfwlist +server=/terapeak.ca/127.0.0.1#5335 +ipset=/terapeak.ca/gfwlist +server=/google.tn/127.0.0.1#5335 +ipset=/google.tn/gfwlist +server=/flutter.dev/127.0.0.1#5335 +ipset=/flutter.dev/gfwlist +server=/newenergyfinance.com/127.0.0.1#5335 +ipset=/newenergyfinance.com/gfwlist +server=/pearsonvue.com/127.0.0.1#5335 +ipset=/pearsonvue.com/gfwlist +server=/fedoraproject.org/127.0.0.1#5335 +ipset=/fedoraproject.org/gfwlist +server=/simplify.com/127.0.0.1#5335 +ipset=/simplify.com/gfwlist +server=/hpconnected.us/127.0.0.1#5335 +ipset=/hpconnected.us/gfwlist +server=/identrust.com/127.0.0.1#5335 +ipset=/identrust.com/gfwlist +server=/volvobuses.com.pt/127.0.0.1#5335 +ipset=/volvobuses.com.pt/gfwlist +server=/reactjs.com/127.0.0.1#5335 +ipset=/reactjs.com/gfwlist +server=/react.com/127.0.0.1#5335 +ipset=/react.com/gfwlist +server=/airwick.es/127.0.0.1#5335 +ipset=/airwick.es/gfwlist +server=/blogspot.bg/127.0.0.1#5335 +ipset=/blogspot.bg/gfwlist +server=/nomadproject.io/127.0.0.1#5335 +ipset=/nomadproject.io/gfwlist +server=/ebayhots.com/127.0.0.1#5335 +ipset=/ebayhots.com/gfwlist +server=/partylikeits1986.org/127.0.0.1#5335 +ipset=/partylikeits1986.org/gfwlist +server=/google.ht/127.0.0.1#5335 +ipset=/google.ht/gfwlist +server=/finlitsummit.org/127.0.0.1#5335 +ipset=/finlitsummit.org/gfwlist +server=/bridgestonerapiddelivery.com/127.0.0.1#5335 +ipset=/bridgestonerapiddelivery.com/gfwlist +server=/botorch.org/127.0.0.1#5335 +ipset=/botorch.org/gfwlist +server=/bmw-powertrain.com/127.0.0.1#5335 +ipset=/bmw-powertrain.com/gfwlist +server=/atscaleconference.com/127.0.0.1#5335 +ipset=/atscaleconference.com/gfwlist +server=/yahoo.com.sa/127.0.0.1#5335 +ipset=/yahoo.com.sa/gfwlist +server=/disneyinternational.com/127.0.0.1#5335 +ipset=/disneyinternational.com/gfwlist +server=/dotdeb.org/127.0.0.1#5335 +ipset=/dotdeb.org/gfwlist +server=/masterintelligence.com/127.0.0.1#5335 +ipset=/masterintelligence.com/gfwlist +server=/wimpmusic.com/127.0.0.1#5335 +ipset=/wimpmusic.com/gfwlist +server=/xn--q41am8x.com/127.0.0.1#5335 +ipset=/xn--q41am8x.com/gfwlist +server=/eac-cdn.com/127.0.0.1#5335 +ipset=/eac-cdn.com/gfwlist +server=/deepl.com/127.0.0.1#5335 +ipset=/deepl.com/gfwlist +server=/slack-imgs.com/127.0.0.1#5335 +ipset=/slack-imgs.com/gfwlist +server=/ubuntuforums.org/127.0.0.1#5335 +ipset=/ubuntuforums.org/gfwlist +server=/paypal-team.com/127.0.0.1#5335 +ipset=/paypal-team.com/gfwlist +server=/officialbeatsbydreshop.com/127.0.0.1#5335 +ipset=/officialbeatsbydreshop.com/gfwlist +server=/instagramtakiphilesi.com/127.0.0.1#5335 +ipset=/instagramtakiphilesi.com/gfwlist +server=/ubuntu.net/127.0.0.1#5335 +ipset=/ubuntu.net/gfwlist +server=/durex.com.au/127.0.0.1#5335 +ipset=/durex.com.au/gfwlist +server=/yahoo.com.py/127.0.0.1#5335 +ipset=/yahoo.com.py/gfwlist +server=/bmw.nc/127.0.0.1#5335 +ipset=/bmw.nc/gfwlist +server=/apple.me/127.0.0.1#5335 +ipset=/apple.me/gfwlist +server=/afpforum.com/127.0.0.1#5335 +ipset=/afpforum.com/gfwlist +server=/park-now.com/127.0.0.1#5335 +ipset=/park-now.com/gfwlist +server=/appleiphone.hu/127.0.0.1#5335 +ipset=/appleiphone.hu/gfwlist +server=/macruby.net/127.0.0.1#5335 +ipset=/macruby.net/gfwlist +server=/webflow.com/127.0.0.1#5335 +ipset=/webflow.com/gfwlist +server=/swift.org/127.0.0.1#5335 +ipset=/swift.org/gfwlist +server=/fantv.hk/127.0.0.1#5335 +ipset=/fantv.hk/gfwlist +server=/singtaousa.com/127.0.0.1#5335 +ipset=/singtaousa.com/gfwlist +server=/foxsports.com.uy/127.0.0.1#5335 +ipset=/foxsports.com.uy/gfwlist +server=/mytvsuper.com/127.0.0.1#5335 +ipset=/mytvsuper.com/gfwlist +server=/zohouniversity.com/127.0.0.1#5335 +ipset=/zohouniversity.com/gfwlist +server=/scholar.google.de/127.0.0.1#5335 +ipset=/scholar.google.de/gfwlist +server=/serverfault.com/127.0.0.1#5335 +ipset=/serverfault.com/gfwlist +server=/zohostatic.com/127.0.0.1#5335 +ipset=/zohostatic.com/gfwlist +server=/tasteofpremium.jp/127.0.0.1#5335 +ipset=/tasteofpremium.jp/gfwlist +server=/disneyinternationalhd.com/127.0.0.1#5335 +ipset=/disneyinternationalhd.com/gfwlist +server=/zohomerchandise.com/127.0.0.1#5335 +ipset=/zohomerchandise.com/gfwlist +server=/epochtimes.co.uk/127.0.0.1#5335 +ipset=/epochtimes.co.uk/gfwlist +server=/shopee.sg/127.0.0.1#5335 +ipset=/shopee.sg/gfwlist +server=/minneapolisbmw.com/127.0.0.1#5335 +ipset=/minneapolisbmw.com/gfwlist +server=/cloudflareinsights.com/127.0.0.1#5335 +ipset=/cloudflareinsights.com/gfwlist +server=/pokemongoldsilver.com/127.0.0.1#5335 +ipset=/pokemongoldsilver.com/gfwlist +server=/pin.it/127.0.0.1#5335 +ipset=/pin.it/gfwlist +server=/bmw.no/127.0.0.1#5335 +ipset=/bmw.no/gfwlist +server=/wpvip.com/127.0.0.1#5335 +ipset=/wpvip.com/gfwlist +server=/hpdriver.com/127.0.0.1#5335 +ipset=/hpdriver.com/gfwlist +server=/akamai-access.com/127.0.0.1#5335 +ipset=/akamai-access.com/gfwlist +server=/webofscience.com/127.0.0.1#5335 +ipset=/webofscience.com/gfwlist +server=/huobi.com/127.0.0.1#5335 +ipset=/huobi.com/gfwlist +server=/veet.jp/127.0.0.1#5335 +ipset=/veet.jp/gfwlist +server=/hkopentv.com/127.0.0.1#5335 +ipset=/hkopentv.com/gfwlist +server=/nikebbn.com/127.0.0.1#5335 +ipset=/nikebbn.com/gfwlist +server=/valvesoftware.com/127.0.0.1#5335 +ipset=/valvesoftware.com/gfwlist +server=/rsshub.app/127.0.0.1#5335 +ipset=/rsshub.app/gfwlist +server=/softbank-robotics.com/127.0.0.1#5335 +ipset=/softbank-robotics.com/gfwlist +server=/jstor.org/127.0.0.1#5335 +ipset=/jstor.org/gfwlist +server=/realclearlife.com/127.0.0.1#5335 +ipset=/realclearlife.com/gfwlist +server=/cheapsalemonster.com/127.0.0.1#5335 +ipset=/cheapsalemonster.com/gfwlist +server=/attbusiness.net/127.0.0.1#5335 +ipset=/attbusiness.net/gfwlist +server=/shopify.dev/127.0.0.1#5335 +ipset=/shopify.dev/gfwlist +server=/xn--74q035i.xn--hxt814e/127.0.0.1#5335 +ipset=/xn--74q035i.xn--hxt814e/gfwlist +server=/calendarserver.org/127.0.0.1#5335 +ipset=/calendarserver.org/gfwlist +server=/zeit-world.net/127.0.0.1#5335 +ipset=/zeit-world.net/gfwlist +server=/scholar.google.com.sv/127.0.0.1#5335 +ipset=/scholar.google.com.sv/gfwlist +server=/getprintersupports.com/127.0.0.1#5335 +ipset=/getprintersupports.com/gfwlist +server=/tinyurl.com/127.0.0.1#5335 +ipset=/tinyurl.com/gfwlist +server=/miktex.org/127.0.0.1#5335 +ipset=/miktex.org/gfwlist +server=/github-avatars.oss-cn-hongkong.aliyuncs.com/127.0.0.1#5335 +ipset=/github-avatars.oss-cn-hongkong.aliyuncs.com/gfwlist +server=/dditscdn.com/127.0.0.1#5335 +ipset=/dditscdn.com/gfwlist +server=/pinterest.ec/127.0.0.1#5335 +ipset=/pinterest.ec/gfwlist +server=/d2anahhhmp1ffz.cloudfront.net/127.0.0.1#5335 +ipset=/d2anahhhmp1ffz.cloudfront.net/gfwlist +server=/vk-cdn.net/127.0.0.1#5335 +ipset=/vk-cdn.net/gfwlist +server=/forzarc.com/127.0.0.1#5335 +ipset=/forzarc.com/gfwlist +server=/fontexplorerx.com/127.0.0.1#5335 +ipset=/fontexplorerx.com/gfwlist +server=/discordstatus.com/127.0.0.1#5335 +ipset=/discordstatus.com/gfwlist +server=/foxsoccershop.com/127.0.0.1#5335 +ipset=/foxsoccershop.com/gfwlist +server=/bridgestone.co.id/127.0.0.1#5335 +ipset=/bridgestone.co.id/gfwlist +server=/fbhome.com/127.0.0.1#5335 +ipset=/fbhome.com/gfwlist +server=/travelex.com/127.0.0.1#5335 +ipset=/travelex.com/gfwlist +server=/nintendo.es/127.0.0.1#5335 +ipset=/nintendo.es/gfwlist +server=/terapeak.info/127.0.0.1#5335 +ipset=/terapeak.info/gfwlist +server=/rb.gy/127.0.0.1#5335 +ipset=/rb.gy/gfwlist +server=/privatemarketplaces.us/127.0.0.1#5335 +ipset=/privatemarketplaces.us/gfwlist +server=/kindle.es/127.0.0.1#5335 +ipset=/kindle.es/gfwlist +server=/egmontbooks.co.uk/127.0.0.1#5335 +ipset=/egmontbooks.co.uk/gfwlist +server=/quip.com/127.0.0.1#5335 +ipset=/quip.com/gfwlist +server=/typenetwork.com/127.0.0.1#5335 +ipset=/typenetwork.com/gfwlist +server=/sony.hu/127.0.0.1#5335 +ipset=/sony.hu/gfwlist +server=/volvotrucks.sk/127.0.0.1#5335 +ipset=/volvotrucks.sk/gfwlist +server=/pse.is/127.0.0.1#5335 +ipset=/pse.is/gfwlist +server=/foxbusinessgo.com/127.0.0.1#5335 +ipset=/foxbusinessgo.com/gfwlist +server=/mpv.io/127.0.0.1#5335 +ipset=/mpv.io/gfwlist +server=/madvrlabs.llc/127.0.0.1#5335 +ipset=/madvrlabs.llc/gfwlist +server=/secure-paypal.info/127.0.0.1#5335 +ipset=/secure-paypal.info/gfwlist +server=/freefacebook.com/127.0.0.1#5335 +ipset=/freefacebook.com/gfwlist +server=/garena.ph/127.0.0.1#5335 +ipset=/garena.ph/gfwlist +server=/visa-news.jp/127.0.0.1#5335 +ipset=/visa-news.jp/gfwlist +server=/liberapay.com/127.0.0.1#5335 +ipset=/liberapay.com/gfwlist +server=/codeish.co/127.0.0.1#5335 +ipset=/codeish.co/gfwlist +server=/swjfo.com/127.0.0.1#5335 +ipset=/swjfo.com/gfwlist +server=/mini.co.za/127.0.0.1#5335 +ipset=/mini.co.za/gfwlist +server=/mastercard.co.nz/127.0.0.1#5335 +ipset=/mastercard.co.nz/gfwlist +server=/xdty.org/127.0.0.1#5335 +ipset=/xdty.org/gfwlist +server=/ebaynow.com/127.0.0.1#5335 +ipset=/ebaynow.com/gfwlist +server=/card.io/127.0.0.1#5335 +ipset=/card.io/gfwlist +server=/bayareabmw.com/127.0.0.1#5335 +ipset=/bayareabmw.com/gfwlist +server=/mini-lebanon.com/127.0.0.1#5335 +ipset=/mini-lebanon.com/gfwlist +server=/hitun.io/127.0.0.1#5335 +ipset=/hitun.io/gfwlist +server=/guim.co.uk/127.0.0.1#5335 +ipset=/guim.co.uk/gfwlist +server=/paradisehotelquizfox.com/127.0.0.1#5335 +ipset=/paradisehotelquizfox.com/gfwlist +server=/duckgo.com/127.0.0.1#5335 +ipset=/duckgo.com/gfwlist +server=/peerj.com/127.0.0.1#5335 +ipset=/peerj.com/gfwlist +server=/universitypressscholarship.com/127.0.0.1#5335 +ipset=/universitypressscholarship.com/gfwlist +server=/duckduckgo.nl/127.0.0.1#5335 +ipset=/duckduckgo.nl/gfwlist +server=/businessinsider.jp/127.0.0.1#5335 +ipset=/businessinsider.jp/gfwlist +server=/duckduckgo.co.uk/127.0.0.1#5335 +ipset=/duckduckgo.co.uk/gfwlist +server=/vod-thumb-ww-live.akamaized.net/127.0.0.1#5335 +ipset=/vod-thumb-ww-live.akamaized.net/gfwlist +server=/internationalconnectionsacademy.com/127.0.0.1#5335 +ipset=/internationalconnectionsacademy.com/gfwlist +server=/www-paypal.info/127.0.0.1#5335 +ipset=/www-paypal.info/gfwlist +server=/joinmaidez.com/127.0.0.1#5335 +ipset=/joinmaidez.com/gfwlist +server=/braintreepayments.com/127.0.0.1#5335 +ipset=/braintreepayments.com/gfwlist +server=/cispaletter.org/127.0.0.1#5335 +ipset=/cispaletter.org/gfwlist +server=/vuvuzela.io/127.0.0.1#5335 +ipset=/vuvuzela.io/gfwlist +server=/demdex.net/127.0.0.1#5335 +ipset=/demdex.net/gfwlist +server=/softbank.tv/127.0.0.1#5335 +ipset=/softbank.tv/gfwlist +server=/contentful.com/127.0.0.1#5335 +ipset=/contentful.com/gfwlist +server=/akadns6.net/127.0.0.1#5335 +ipset=/akadns6.net/gfwlist +server=/cloudconvert.com/127.0.0.1#5335 +ipset=/cloudconvert.com/gfwlist +server=/adidas.nl/127.0.0.1#5335 +ipset=/adidas.nl/gfwlist +server=/vanish.ro/127.0.0.1#5335 +ipset=/vanish.ro/gfwlist +server=/myconstructionworld.net/127.0.0.1#5335 +ipset=/myconstructionworld.net/gfwlist +server=/epochtimes.com.br/127.0.0.1#5335 +ipset=/epochtimes.com.br/gfwlist +server=/xtube.com/127.0.0.1#5335 +ipset=/xtube.com/gfwlist +server=/bmw.co.il/127.0.0.1#5335 +ipset=/bmw.co.il/gfwlist +server=/harperapps.com/127.0.0.1#5335 +ipset=/harperapps.com/gfwlist +server=/thtmod1.com/127.0.0.1#5335 +ipset=/thtmod1.com/gfwlist +server=/customnikeshoes.com/127.0.0.1#5335 +ipset=/customnikeshoes.com/gfwlist +server=/volvotruckcenter.kr/127.0.0.1#5335 +ipset=/volvotruckcenter.kr/gfwlist +server=/wwwmacbookair.com/127.0.0.1#5335 +ipset=/wwwmacbookair.com/gfwlist +server=/monsterbeatsfactory.net/127.0.0.1#5335 +ipset=/monsterbeatsfactory.net/gfwlist +server=/clubhouseapi.com/127.0.0.1#5335 +ipset=/clubhouseapi.com/gfwlist +server=/directvrichmond.com/127.0.0.1#5335 +ipset=/directvrichmond.com/gfwlist +server=/tbr.tangbr.net/127.0.0.1#5335 +ipset=/tbr.tangbr.net/gfwlist +server=/t66y.com/127.0.0.1#5335 +ipset=/t66y.com/gfwlist +server=/babble.com/127.0.0.1#5335 +ipset=/babble.com/gfwlist +server=/mozilla.org/127.0.0.1#5335 +ipset=/mozilla.org/gfwlist +server=/bmw-motorcycle.com/127.0.0.1#5335 +ipset=/bmw-motorcycle.com/gfwlist +server=/ipodtouch.com/127.0.0.1#5335 +ipset=/ipodtouch.com/gfwlist +server=/visa.lv/127.0.0.1#5335 +ipset=/visa.lv/gfwlist +server=/verisign.name/127.0.0.1#5335 +ipset=/verisign.name/gfwlist +server=/akamai.net/127.0.0.1#5335 +ipset=/akamai.net/gfwlist +server=/prime-video.com/127.0.0.1#5335 +ipset=/prime-video.com/gfwlist +server=/foxsports-world.com/127.0.0.1#5335 +ipset=/foxsports-world.com/gfwlist +server=/oculuscasino.net/127.0.0.1#5335 +ipset=/oculuscasino.net/gfwlist +server=/adobeawards.com/127.0.0.1#5335 +ipset=/adobeawards.com/gfwlist +server=/canon.ge/127.0.0.1#5335 +ipset=/canon.ge/gfwlist +server=/osakamotion.net/127.0.0.1#5335 +ipset=/osakamotion.net/gfwlist +server=/visaluxuryhotels.com.ar/127.0.0.1#5335 +ipset=/visaluxuryhotels.com.ar/gfwlist +server=/volvotrucks.tm/127.0.0.1#5335 +ipset=/volvotrucks.tm/gfwlist +server=/readthedocs.org/127.0.0.1#5335 +ipset=/readthedocs.org/gfwlist +server=/openmaps.org/127.0.0.1#5335 +ipset=/openmaps.org/gfwlist +server=/durex.dk/127.0.0.1#5335 +ipset=/durex.dk/gfwlist +server=/javhd.com/127.0.0.1#5335 +ipset=/javhd.com/gfwlist +server=/theinitium.com/127.0.0.1#5335 +ipset=/theinitium.com/gfwlist +server=/isexomega.tw/127.0.0.1#5335 +ipset=/isexomega.tw/gfwlist +server=/iijav.com/127.0.0.1#5335 +ipset=/iijav.com/gfwlist +server=/dmm.com/127.0.0.1#5335 +ipset=/dmm.com/gfwlist +server=/gouri.xyz/127.0.0.1#5335 +ipset=/gouri.xyz/gfwlist +server=/bridgestoneamericas.com/127.0.0.1#5335 +ipset=/bridgestoneamericas.com/gfwlist +server=/fanhaodian.com/127.0.0.1#5335 +ipset=/fanhaodian.com/gfwlist +server=/verisign.tw/127.0.0.1#5335 +ipset=/verisign.tw/gfwlist +server=/zoho.com/127.0.0.1#5335 +ipset=/zoho.com/gfwlist +server=/paipal.com/127.0.0.1#5335 +ipset=/paipal.com/gfwlist +server=/cheapbeatsbydrenz.net/127.0.0.1#5335 +ipset=/cheapbeatsbydrenz.net/gfwlist +server=/520aa.tv/127.0.0.1#5335 +ipset=/520aa.tv/gfwlist +server=/ebay-sales.com/127.0.0.1#5335 +ipset=/ebay-sales.com/gfwlist +server=/pc.com/127.0.0.1#5335 +ipset=/pc.com/gfwlist +server=/dmgmediaprivacy.co.uk/127.0.0.1#5335 +ipset=/dmgmediaprivacy.co.uk/gfwlist +server=/nintendo.eu/127.0.0.1#5335 +ipset=/nintendo.eu/gfwlist +server=/gettyimages.com.br/127.0.0.1#5335 +ipset=/gettyimages.com.br/gfwlist +server=/terapeak.com/127.0.0.1#5335 +ipset=/terapeak.com/gfwlist +server=/uun92.com/127.0.0.1#5335 +ipset=/uun92.com/gfwlist +server=/paypal-here.com/127.0.0.1#5335 +ipset=/paypal-here.com/gfwlist +server=/cheapbeatsbus.com/127.0.0.1#5335 +ipset=/cheapbeatsbus.com/gfwlist +server=/uun87.com/127.0.0.1#5335 +ipset=/uun87.com/gfwlist +server=/bestbuy-jobs.com/127.0.0.1#5335 +ipset=/bestbuy-jobs.com/gfwlist +server=/imac.one/127.0.0.1#5335 +ipset=/imac.one/gfwlist +server=/pinterest.hu/127.0.0.1#5335 +ipset=/pinterest.hu/gfwlist +server=/p3.csgfnmdb.com/127.0.0.1#5335 +ipset=/p3.csgfnmdb.com/gfwlist +server=/press.vin/127.0.0.1#5335 +ipset=/press.vin/gfwlist +server=/viewpointsfromfacebook.com/127.0.0.1#5335 +ipset=/viewpointsfromfacebook.com/gfwlist +server=/dlmobilegarena-a.akamaihd.net/127.0.0.1#5335 +ipset=/dlmobilegarena-a.akamaihd.net/gfwlist +server=/achievementanalytics.com/127.0.0.1#5335 +ipset=/achievementanalytics.com/gfwlist +server=/latex-project.org/127.0.0.1#5335 +ipset=/latex-project.org/gfwlist +server=/javwide.com/127.0.0.1#5335 +ipset=/javwide.com/gfwlist +server=/pureapk.com/127.0.0.1#5335 +ipset=/pureapk.com/gfwlist +server=/ucla.edu/127.0.0.1#5335 +ipset=/ucla.edu/gfwlist +server=/fxn.ws/127.0.0.1#5335 +ipset=/fxn.ws/gfwlist +server=/verisign.com.au/127.0.0.1#5335 +ipset=/verisign.com.au/gfwlist +server=/epochtimes.com.au/127.0.0.1#5335 +ipset=/epochtimes.com.au/gfwlist +server=/yourtv.com.au/127.0.0.1#5335 +ipset=/yourtv.com.au/gfwlist +server=/alphabet.cz/127.0.0.1#5335 +ipset=/alphabet.cz/gfwlist +server=/adguard.com/127.0.0.1#5335 +ipset=/adguard.com/gfwlist +server=/facebook-pmdcenter.com/127.0.0.1#5335 +ipset=/facebook-pmdcenter.com/gfwlist +server=/visa.com.tt/127.0.0.1#5335 +ipset=/visa.com.tt/gfwlist +server=/yahoo.com.sb/127.0.0.1#5335 +ipset=/yahoo.com.sb/gfwlist +server=/airitilibrary.com/127.0.0.1#5335 +ipset=/airitilibrary.com/gfwlist +server=/atypi.org/127.0.0.1#5335 +ipset=/atypi.org/gfwlist +server=/blogspot.sg/127.0.0.1#5335 +ipset=/blogspot.sg/gfwlist +server=/osmfoundation.org/127.0.0.1#5335 +ipset=/osmfoundation.org/gfwlist +server=/postini.com/127.0.0.1#5335 +ipset=/postini.com/gfwlist +server=/hutpromos.com/127.0.0.1#5335 +ipset=/hutpromos.com/gfwlist +server=/creativecommons.engineering/127.0.0.1#5335 +ipset=/creativecommons.engineering/gfwlist +server=/ccstatic.org/127.0.0.1#5335 +ipset=/ccstatic.org/gfwlist +server=/scholar.google.bg/127.0.0.1#5335 +ipset=/scholar.google.bg/gfwlist +server=/bmw-motorrad.com.my/127.0.0.1#5335 +ipset=/bmw-motorrad.com.my/gfwlist +server=/unwire.hk/127.0.0.1#5335 +ipset=/unwire.hk/gfwlist +server=/nikeselling.com/127.0.0.1#5335 +ipset=/nikeselling.com/gfwlist +server=/ssl-lvlt.cdn.ea.com/127.0.0.1#5335 +ipset=/ssl-lvlt.cdn.ea.com/gfwlist +server=/alphera.com.hk/127.0.0.1#5335 +ipset=/alphera.com.hk/gfwlist +server=/rsf.org/127.0.0.1#5335 +ipset=/rsf.org/gfwlist +server=/ieeeusa.org/127.0.0.1#5335 +ipset=/ieeeusa.org/gfwlist +server=/mingpaomonthly.com/127.0.0.1#5335 +ipset=/mingpaomonthly.com/gfwlist +server=/foxsports.info/127.0.0.1#5335 +ipset=/foxsports.info/gfwlist +server=/embed.ly/127.0.0.1#5335 +ipset=/embed.ly/gfwlist +server=/businessinsider.nl/127.0.0.1#5335 +ipset=/businessinsider.nl/gfwlist +server=/supermario.com/127.0.0.1#5335 +ipset=/supermario.com/gfwlist +server=/starbucks.com.tr/127.0.0.1#5335 +ipset=/starbucks.com.tr/gfwlist +server=/sonypicturesmuseum.com/127.0.0.1#5335 +ipset=/sonypicturesmuseum.com/gfwlist +server=/volvospares.com/127.0.0.1#5335 +ipset=/volvospares.com/gfwlist +server=/mini.hu/127.0.0.1#5335 +ipset=/mini.hu/gfwlist +server=/cheapheadsetmall.com/127.0.0.1#5335 +ipset=/cheapheadsetmall.com/gfwlist +server=/bloombergbreakaway.com/127.0.0.1#5335 +ipset=/bloombergbreakaway.com/gfwlist +server=/chrome.com/127.0.0.1#5335 +ipset=/chrome.com/gfwlist +server=/wd.com/127.0.0.1#5335 +ipset=/wd.com/gfwlist +server=/bmw.se/127.0.0.1#5335 +ipset=/bmw.se/gfwlist +server=/iphoneunlockimei.com/127.0.0.1#5335 +ipset=/iphoneunlockimei.com/gfwlist +server=/travelex.fr/127.0.0.1#5335 +ipset=/travelex.fr/gfwlist +server=/ebayauthenticate.com.cn/127.0.0.1#5335 +ipset=/ebayauthenticate.com.cn/gfwlist +server=/scholar.google.ru/127.0.0.1#5335 +ipset=/scholar.google.ru/gfwlist +server=/dotcernpilot.info/127.0.0.1#5335 +ipset=/dotcernpilot.info/gfwlist +server=/minimotorsport.com/127.0.0.1#5335 +ipset=/minimotorsport.com/gfwlist +server=/fflnk.net/127.0.0.1#5335 +ipset=/fflnk.net/gfwlist +server=/lolesports.com/127.0.0.1#5335 +ipset=/lolesports.com/gfwlist +server=/foxcreativeuniversity.com/127.0.0.1#5335 +ipset=/foxcreativeuniversity.com/gfwlist +server=/ea.tt.omtrdc.net/127.0.0.1#5335 +ipset=/ea.tt.omtrdc.net/gfwlist +server=/indiancolleges.com/127.0.0.1#5335 +ipset=/indiancolleges.com/gfwlist +server=/mariokart7.com/127.0.0.1#5335 +ipset=/mariokart7.com/gfwlist +server=/mastercardcenter.com/127.0.0.1#5335 +ipset=/mastercardcenter.com/gfwlist +server=/bestbuyrewardzone.ca/127.0.0.1#5335 +ipset=/bestbuyrewardzone.ca/gfwlist +server=/zaobao.com.sg/127.0.0.1#5335 +ipset=/zaobao.com.sg/gfwlist +server=/theguardiandns.com/127.0.0.1#5335 +ipset=/theguardiandns.com/gfwlist +server=/managed-pki.de/127.0.0.1#5335 +ipset=/managed-pki.de/gfwlist +server=/ox.ac.uk/127.0.0.1#5335 +ipset=/ox.ac.uk/gfwlist +server=/nytstyle.com/127.0.0.1#5335 +ipset=/nytstyle.com/gfwlist +server=/vox-cdn.com/127.0.0.1#5335 +ipset=/vox-cdn.com/gfwlist +server=/visa.com.co/127.0.0.1#5335 +ipset=/visa.com.co/gfwlist +server=/bmwi.jp/127.0.0.1#5335 +ipset=/bmwi.jp/gfwlist +server=/polygon.com/127.0.0.1#5335 +ipset=/polygon.com/gfwlist +server=/foxtelevisionstations.com/127.0.0.1#5335 +ipset=/foxtelevisionstations.com/gfwlist +server=/yours-customised.mini.com/127.0.0.1#5335 +ipset=/yours-customised.mini.com/gfwlist +server=/voazimbabwe.com/127.0.0.1#5335 +ipset=/voazimbabwe.com/gfwlist +server=/runningnike.com/127.0.0.1#5335 +ipset=/runningnike.com/gfwlist +server=/voatibetan.com/127.0.0.1#5335 +ipset=/voatibetan.com/gfwlist +server=/vfsco.co.uk/127.0.0.1#5335 +ipset=/vfsco.co.uk/gfwlist +server=/voanews.eu/127.0.0.1#5335 +ipset=/voanews.eu/gfwlist +server=/0plkijj.vip/127.0.0.1#5335 +ipset=/0plkijj.vip/gfwlist +server=/shopspeedtv.com/127.0.0.1#5335 +ipset=/shopspeedtv.com/gfwlist +server=/billmelater.info/127.0.0.1#5335 +ipset=/billmelater.info/gfwlist +server=/sipriyearbook.org/127.0.0.1#5335 +ipset=/sipriyearbook.org/gfwlist +server=/addison-wesley.ch/127.0.0.1#5335 +ipset=/addison-wesley.ch/gfwlist +server=/naver.com/127.0.0.1#5335 +ipset=/naver.com/gfwlist +server=/battle.net/127.0.0.1#5335 +ipset=/battle.net/gfwlist +server=/voaafrique.com/127.0.0.1#5335 +ipset=/voaafrique.com/gfwlist +server=/amerikaninsesi.com/127.0.0.1#5335 +ipset=/amerikaninsesi.com/gfwlist +server=/intel.us/127.0.0.1#5335 +ipset=/intel.us/gfwlist +server=/livrariart.com.br/127.0.0.1#5335 +ipset=/livrariart.com.br/gfwlist +server=/psg-int-centralus.cloudapp.net/127.0.0.1#5335 +ipset=/psg-int-centralus.cloudapp.net/gfwlist +server=/mini.gp/127.0.0.1#5335 +ipset=/mini.gp/gfwlist +server=/fb.com/127.0.0.1#5335 +ipset=/fb.com/gfwlist +server=/visa.com.do/127.0.0.1#5335 +ipset=/visa.com.do/gfwlist +server=/passport.net/127.0.0.1#5335 +ipset=/passport.net/gfwlist +server=/hplaptop.com/127.0.0.1#5335 +ipset=/hplaptop.com/gfwlist +server=/skyoceanrescue.com/127.0.0.1#5335 +ipset=/skyoceanrescue.com/gfwlist +server=/easttouch.com.hk/127.0.0.1#5335 +ipset=/easttouch.com.hk/gfwlist +server=/facebooc.com/127.0.0.1#5335 +ipset=/facebooc.com/gfwlist +server=/bmw.com.tr/127.0.0.1#5335 +ipset=/bmw.com.tr/gfwlist +server=/facebolk.com/127.0.0.1#5335 +ipset=/facebolk.com/gfwlist +server=/telekom.de/127.0.0.1#5335 +ipset=/telekom.de/gfwlist +server=/bandag.cc/127.0.0.1#5335 +ipset=/bandag.cc/gfwlist +server=/realclearhistory.com/127.0.0.1#5335 +ipset=/realclearhistory.com/gfwlist +server=/realclearfoundation.org/127.0.0.1#5335 +ipset=/realclearfoundation.org/gfwlist +server=/airwick.jp/127.0.0.1#5335 +ipset=/airwick.jp/gfwlist +server=/ea.com/127.0.0.1#5335 +ipset=/ea.com/gfwlist +server=/jtvnw.net/127.0.0.1#5335 +ipset=/jtvnw.net/gfwlist +server=/voxcreative.com/127.0.0.1#5335 +ipset=/voxcreative.com/gfwlist +server=/volvopenta.it/127.0.0.1#5335 +ipset=/volvopenta.it/gfwlist +server=/youtube.com.ph/127.0.0.1#5335 +ipset=/youtube.com.ph/gfwlist +server=/andysparis.com/127.0.0.1#5335 +ipset=/andysparis.com/gfwlist +server=/zb.com/127.0.0.1#5335 +ipset=/zb.com/gfwlist +server=/harpercollins.com/127.0.0.1#5335 +ipset=/harpercollins.com/gfwlist +server=/volvopenta.com.br/127.0.0.1#5335 +ipset=/volvopenta.com.br/gfwlist +server=/9to5terminal.com/127.0.0.1#5335 +ipset=/9to5terminal.com/gfwlist +server=/nikedunksshoes.com/127.0.0.1#5335 +ipset=/nikedunksshoes.com/gfwlist +server=/placemyad.com.au/127.0.0.1#5335 +ipset=/placemyad.com.au/gfwlist +server=/mylogiclab.com/127.0.0.1#5335 +ipset=/mylogiclab.com/gfwlist +server=/microsoft.pl/127.0.0.1#5335 +ipset=/microsoft.pl/gfwlist +server=/youtube.co.in/127.0.0.1#5335 +ipset=/youtube.co.in/gfwlist +server=/newsapi.com.au/127.0.0.1#5335 +ipset=/newsapi.com.au/gfwlist +server=/farfetch.net/127.0.0.1#5335 +ipset=/farfetch.net/gfwlist +server=/thewonderful101.com/127.0.0.1#5335 +ipset=/thewonderful101.com/gfwlist +server=/llnwi.net/127.0.0.1#5335 +ipset=/llnwi.net/gfwlist +server=/newcastlenewslocal.com.au/127.0.0.1#5335 +ipset=/newcastlenewslocal.com.au/gfwlist +server=/geelongadvertiser.com.au/127.0.0.1#5335 +ipset=/geelongadvertiser.com.au/gfwlist +server=/officecdn-microsoft-com.akamaized.net/127.0.0.1#5335 +ipset=/officecdn-microsoft-com.akamaized.net/gfwlist +server=/scholar.google.be/127.0.0.1#5335 +ipset=/scholar.google.be/gfwlist +server=/lawdata.com.tw/127.0.0.1#5335 +ipset=/lawdata.com.tw/gfwlist +server=/volvobuses.be/127.0.0.1#5335 +ipset=/volvobuses.be/gfwlist +server=/bossae.com/127.0.0.1#5335 +ipset=/bossae.com/gfwlist +server=/nikeby.com/127.0.0.1#5335 +ipset=/nikeby.com/gfwlist +server=/nikeprice.com/127.0.0.1#5335 +ipset=/nikeprice.com/gfwlist +server=/nypostreprints.com/127.0.0.1#5335 +ipset=/nypostreprints.com/gfwlist +server=/nbcsports.com/127.0.0.1#5335 +ipset=/nbcsports.com/gfwlist +server=/connectedcommerce.tv/127.0.0.1#5335 +ipset=/connectedcommerce.tv/gfwlist +server=/rbdigitalab.com/127.0.0.1#5335 +ipset=/rbdigitalab.com/gfwlist +server=/bmw-yeg.ca/127.0.0.1#5335 +ipset=/bmw-yeg.ca/gfwlist +server=/minimontroyal.com/127.0.0.1#5335 +ipset=/minimontroyal.com/gfwlist +server=/akami.net/127.0.0.1#5335 +ipset=/akami.net/gfwlist +server=/paypalnetwork.org/127.0.0.1#5335 +ipset=/paypalnetwork.org/gfwlist +server=/chips.com/127.0.0.1#5335 +ipset=/chips.com/gfwlist +server=/banned.video/127.0.0.1#5335 +ipset=/banned.video/gfwlist +server=/bmw-world.tv/127.0.0.1#5335 +ipset=/bmw-world.tv/gfwlist +server=/facebookworld.com/127.0.0.1#5335 +ipset=/facebookworld.com/gfwlist +server=/adcommerce.tv/127.0.0.1#5335 +ipset=/adcommerce.tv/gfwlist +server=/my13la.com/127.0.0.1#5335 +ipset=/my13la.com/gfwlist +server=/16fhgdty.xyz/127.0.0.1#5335 +ipset=/16fhgdty.xyz/gfwlist +server=/developers.facebook.com/127.0.0.1#5335 +ipset=/developers.facebook.com/gfwlist +server=/camelotherald.com/127.0.0.1#5335 +ipset=/camelotherald.com/gfwlist +server=/yandex.ua/127.0.0.1#5335 +ipset=/yandex.ua/gfwlist +server=/hket.com/127.0.0.1#5335 +ipset=/hket.com/gfwlist +server=/wmcloud.org/127.0.0.1#5335 +ipset=/wmcloud.org/gfwlist +server=/tegrazone.co/127.0.0.1#5335 +ipset=/tegrazone.co/gfwlist +server=/gvt7.com/127.0.0.1#5335 +ipset=/gvt7.com/gfwlist +server=/hulustream.com/127.0.0.1#5335 +ipset=/hulustream.com/gfwlist +server=/whatthefox.com/127.0.0.1#5335 +ipset=/whatthefox.com/gfwlist +server=/scholar.google.sk/127.0.0.1#5335 +ipset=/scholar.google.sk/gfwlist +server=/indiaipad.com/127.0.0.1#5335 +ipset=/indiaipad.com/gfwlist +server=/bridgestonecomercial.cl/127.0.0.1#5335 +ipset=/bridgestonecomercial.cl/gfwlist +server=/discountbeatsbydre-us.com/127.0.0.1#5335 +ipset=/discountbeatsbydre-us.com/gfwlist +server=/scholar.l.google.com/127.0.0.1#5335 +ipset=/scholar.l.google.com/gfwlist +server=/historyofdota.com/127.0.0.1#5335 +ipset=/historyofdota.com/gfwlist +server=/alpherafs.ie/127.0.0.1#5335 +ipset=/alpherafs.ie/gfwlist +server=/finishkilpailu.fi/127.0.0.1#5335 +ipset=/finishkilpailu.fi/gfwlist +server=/myfoxorlando.com/127.0.0.1#5335 +ipset=/myfoxorlando.com/gfwlist +server=/ch9.ms/127.0.0.1#5335 +ipset=/ch9.ms/gfwlist +server=/my20houston.com/127.0.0.1#5335 +ipset=/my20houston.com/gfwlist +server=/google.rw/127.0.0.1#5335 +ipset=/google.rw/gfwlist +server=/bentobox.tv/127.0.0.1#5335 +ipset=/bentobox.tv/gfwlist +server=/vfsco.jp/127.0.0.1#5335 +ipset=/vfsco.jp/gfwlist +server=/fssta.com/127.0.0.1#5335 +ipset=/fssta.com/gfwlist +server=/ieeeoes.org/127.0.0.1#5335 +ipset=/ieeeoes.org/gfwlist +server=/ebaylocationsdevacances.com/127.0.0.1#5335 +ipset=/ebaylocationsdevacances.com/gfwlist +server=/alivevm.com/127.0.0.1#5335 +ipset=/alivevm.com/gfwlist +server=/aranzadi.es/127.0.0.1#5335 +ipset=/aranzadi.es/gfwlist +server=/foxsports.net.br/127.0.0.1#5335 +ipset=/foxsports.net.br/gfwlist +server=/paypal-cardcash.com/127.0.0.1#5335 +ipset=/paypal-cardcash.com/gfwlist +server=/yahoo.com/127.0.0.1#5335 +ipset=/yahoo.com/gfwlist +server=/foxcareers.com/127.0.0.1#5335 +ipset=/foxcareers.com/gfwlist +server=/nikebetterworld.org/127.0.0.1#5335 +ipset=/nikebetterworld.org/gfwlist +server=/ipod.co/127.0.0.1#5335 +ipset=/ipod.co/gfwlist +server=/me.com/127.0.0.1#5335 +ipset=/me.com/gfwlist +server=/drdrebeats-usa.com/127.0.0.1#5335 +ipset=/drdrebeats-usa.com/gfwlist +server=/mastercard.com.br/127.0.0.1#5335 +ipset=/mastercard.com.br/gfwlist +server=/privacysimplified.com/127.0.0.1#5335 +ipset=/privacysimplified.com/gfwlist +server=/javbus.com/127.0.0.1#5335 +ipset=/javbus.com/gfwlist +server=/nebay.net/127.0.0.1#5335 +ipset=/nebay.net/gfwlist +server=/paypal-business.net/127.0.0.1#5335 +ipset=/paypal-business.net/gfwlist +server=/headphonesbeatsaudio.com/127.0.0.1#5335 +ipset=/headphonesbeatsaudio.com/gfwlist +server=/blogspot.td/127.0.0.1#5335 +ipset=/blogspot.td/gfwlist +server=/volvogroup.se/127.0.0.1#5335 +ipset=/volvogroup.se/gfwlist +server=/epochtimes.nl/127.0.0.1#5335 +ipset=/epochtimes.nl/gfwlist +server=/volvotrucks.az/127.0.0.1#5335 +ipset=/volvotrucks.az/gfwlist +server=/r10s.jp/127.0.0.1#5335 +ipset=/r10s.jp/gfwlist +server=/bmw.cl/127.0.0.1#5335 +ipset=/bmw.cl/gfwlist +server=/ciscopress.ch/127.0.0.1#5335 +ipset=/ciscopress.ch/gfwlist +server=/canon.co.il/127.0.0.1#5335 +ipset=/canon.co.il/gfwlist +server=/youtube.jo/127.0.0.1#5335 +ipset=/youtube.jo/gfwlist +server=/anm.co.uk/127.0.0.1#5335 +ipset=/anm.co.uk/gfwlist +server=/kijijiraps.ca/127.0.0.1#5335 +ipset=/kijijiraps.ca/gfwlist +server=/ebayads.com/127.0.0.1#5335 +ipset=/ebayads.com/gfwlist +server=/playstation.net/127.0.0.1#5335 +ipset=/playstation.net/gfwlist +server=/geek-squad.net/127.0.0.1#5335 +ipset=/geek-squad.net/gfwlist +server=/gettyimages.pt/127.0.0.1#5335 +ipset=/gettyimages.pt/gfwlist +server=/applemagickeyboard.com/127.0.0.1#5335 +ipset=/applemagickeyboard.com/gfwlist +server=/easynike.com/127.0.0.1#5335 +ipset=/easynike.com/gfwlist +server=/slackcertified.com/127.0.0.1#5335 +ipset=/slackcertified.com/gfwlist +server=/volvogroup.com/127.0.0.1#5335 +ipset=/volvogroup.com/gfwlist +server=/neweconomyforum.com/127.0.0.1#5335 +ipset=/neweconomyforum.com/gfwlist +server=/microsoft.uz/127.0.0.1#5335 +ipset=/microsoft.uz/gfwlist +server=/pinterest.com.vn/127.0.0.1#5335 +ipset=/pinterest.com.vn/gfwlist +server=/volvotruckcenter.no/127.0.0.1#5335 +ipset=/volvotruckcenter.no/gfwlist +server=/paypal-center.net/127.0.0.1#5335 +ipset=/paypal-center.net/gfwlist +server=/paypa1.com/127.0.0.1#5335 +ipset=/paypa1.com/gfwlist +server=/diablo3.com/127.0.0.1#5335 +ipset=/diablo3.com/gfwlist +server=/visasignaturehotels.com/127.0.0.1#5335 +ipset=/visasignaturehotels.com/gfwlist +server=/gfw.report/127.0.0.1#5335 +ipset=/gfw.report/gfwlist +server=/thetread.com/127.0.0.1#5335 +ipset=/thetread.com/gfwlist +server=/texture.com/127.0.0.1#5335 +ipset=/texture.com/gfwlist +server=/swoosh.com/127.0.0.1#5335 +ipset=/swoosh.com/gfwlist +server=/next.hk/127.0.0.1#5335 +ipset=/next.hk/gfwlist +server=/creditcardsbay.com/127.0.0.1#5335 +ipset=/creditcardsbay.com/gfwlist +server=/vtsociety.org/127.0.0.1#5335 +ipset=/vtsociety.org/gfwlist +server=/thisav.com/127.0.0.1#5335 +ipset=/thisav.com/gfwlist +server=/visaeurope.lu/127.0.0.1#5335 +ipset=/visaeurope.lu/gfwlist +server=/oreilly.review/127.0.0.1#5335 +ipset=/oreilly.review/gfwlist +server=/nineentertainmentco.com.au/127.0.0.1#5335 +ipset=/nineentertainmentco.com.au/gfwlist +server=/mini.co.cr/127.0.0.1#5335 +ipset=/mini.co.cr/gfwlist +server=/paypal-learning.com/127.0.0.1#5335 +ipset=/paypal-learning.com/gfwlist +server=/minilondon.co/127.0.0.1#5335 +ipset=/minilondon.co/gfwlist +server=/makeitopen.com/127.0.0.1#5335 +ipset=/makeitopen.com/gfwlist +server=/pokemonletsgoeevee.com/127.0.0.1#5335 +ipset=/pokemonletsgoeevee.com/gfwlist +server=/mini.com.hr/127.0.0.1#5335 +ipset=/mini.com.hr/gfwlist +server=/customizedbeatbydre.com/127.0.0.1#5335 +ipset=/customizedbeatbydre.com/gfwlist +server=/weverse.io/127.0.0.1#5335 +ipset=/weverse.io/gfwlist +server=/bitmex.com/127.0.0.1#5335 +ipset=/bitmex.com/gfwlist +server=/dynacw.com/127.0.0.1#5335 +ipset=/dynacw.com/gfwlist +server=/lede-project.org/127.0.0.1#5335 +ipset=/lede-project.org/gfwlist +server=/oculuscdn.com/127.0.0.1#5335 +ipset=/oculuscdn.com/gfwlist +server=/realamericanstories.net/127.0.0.1#5335 +ipset=/realamericanstories.net/gfwlist +server=/beatsbydresonline-nz.com/127.0.0.1#5335 +ipset=/beatsbydresonline-nz.com/gfwlist +server=/wwe9.com/127.0.0.1#5335 +ipset=/wwe9.com/gfwlist +server=/volvotrucks.id/127.0.0.1#5335 +ipset=/volvotrucks.id/gfwlist +server=/pearsonclinical.fr/127.0.0.1#5335 +ipset=/pearsonclinical.fr/gfwlist +server=/cloudflareapps.com/127.0.0.1#5335 +ipset=/cloudflareapps.com/gfwlist +server=/beatsbydresalemall2013.com/127.0.0.1#5335 +ipset=/beatsbydresalemall2013.com/gfwlist +server=/disneymagicmoments.it/127.0.0.1#5335 +ipset=/disneymagicmoments.it/gfwlist +server=/paypalprepagata.net/127.0.0.1#5335 +ipset=/paypalprepagata.net/gfwlist +server=/geti2p.net/127.0.0.1#5335 +ipset=/geti2p.net/gfwlist +server=/rakuten.ca/127.0.0.1#5335 +ipset=/rakuten.ca/gfwlist +server=/scholar.google.com.mx/127.0.0.1#5335 +ipset=/scholar.google.com.mx/gfwlist +server=/graph.org/127.0.0.1#5335 +ipset=/graph.org/gfwlist +server=/bisq.io/127.0.0.1#5335 +ipset=/bisq.io/gfwlist +server=/opgg-static.akamaized.net/127.0.0.1#5335 +ipset=/opgg-static.akamaized.net/gfwlist +server=/ttvnw.net/127.0.0.1#5335 +ipset=/ttvnw.net/gfwlist +server=/desktopmovie.net/127.0.0.1#5335 +ipset=/desktopmovie.net/gfwlist +server=/ioffergift.com/127.0.0.1#5335 +ipset=/ioffergift.com/gfwlist +server=/internationalsaimoe.com/127.0.0.1#5335 +ipset=/internationalsaimoe.com/gfwlist +server=/idservice.inc/127.0.0.1#5335 +ipset=/idservice.inc/gfwlist +server=/beatsbydreblackfridaypro.com/127.0.0.1#5335 +ipset=/beatsbydreblackfridaypro.com/gfwlist +server=/squirrelgroup.net/127.0.0.1#5335 +ipset=/squirrelgroup.net/gfwlist +server=/volvotrucks.dk/127.0.0.1#5335 +ipset=/volvotrucks.dk/gfwlist +server=/blogspot.sk/127.0.0.1#5335 +ipset=/blogspot.sk/gfwlist +server=/alphabet.ch/127.0.0.1#5335 +ipset=/alphabet.ch/gfwlist +server=/paypal-pages.com/127.0.0.1#5335 +ipset=/paypal-pages.com/gfwlist +server=/microsoft.ua/127.0.0.1#5335 +ipset=/microsoft.ua/gfwlist +server=/cnn.it/127.0.0.1#5335 +ipset=/cnn.it/gfwlist +server=/bmw-motorrad.com.do/127.0.0.1#5335 +ipset=/bmw-motorrad.com.do/gfwlist +server=/ieeecss.org/127.0.0.1#5335 +ipset=/ieeecss.org/gfwlist +server=/rsg.sc/127.0.0.1#5335 +ipset=/rsg.sc/gfwlist +server=/mini-grouparchive.com/127.0.0.1#5335 +ipset=/mini-grouparchive.com/gfwlist +server=/paypal.hk/127.0.0.1#5335 +ipset=/paypal.hk/gfwlist +server=/intel.jo/127.0.0.1#5335 +ipset=/intel.jo/gfwlist +server=/takegoto.com/127.0.0.1#5335 +ipset=/takegoto.com/gfwlist +server=/sb-mobile.jp/127.0.0.1#5335 +ipset=/sb-mobile.jp/gfwlist +server=/scholar.google.ro/127.0.0.1#5335 +ipset=/scholar.google.ro/gfwlist +server=/fox10phoenix.com/127.0.0.1#5335 +ipset=/fox10phoenix.com/gfwlist +server=/socalbmw.com/127.0.0.1#5335 +ipset=/socalbmw.com/gfwlist +server=/eubluecardvisa.com/127.0.0.1#5335 +ipset=/eubluecardvisa.com/gfwlist +server=/tiendabestbuy.com/127.0.0.1#5335 +ipset=/tiendabestbuy.com/gfwlist +server=/bloomberg.com/127.0.0.1#5335 +ipset=/bloomberg.com/gfwlist +server=/moviesanywhere.com/127.0.0.1#5335 +ipset=/moviesanywhere.com/gfwlist +server=/bmwtampabay.com/127.0.0.1#5335 +ipset=/bmwtampabay.com/gfwlist +server=/mini.md/127.0.0.1#5335 +ipset=/mini.md/gfwlist +server=/appleantilles.com/127.0.0.1#5335 +ipset=/appleantilles.com/gfwlist +server=/hpprinterinstalls.com/127.0.0.1#5335 +ipset=/hpprinterinstalls.com/gfwlist +server=/disney-studio.net/127.0.0.1#5335 +ipset=/disney-studio.net/gfwlist +server=/verisign.com.hk/127.0.0.1#5335 +ipset=/verisign.com.hk/gfwlist +server=/ebayparts.com/127.0.0.1#5335 +ipset=/ebayparts.com/gfwlist +server=/visa.com.uy/127.0.0.1#5335 +ipset=/visa.com.uy/gfwlist +server=/disney.de/127.0.0.1#5335 +ipset=/disney.de/gfwlist +server=/mastercard.com.ve/127.0.0.1#5335 +ipset=/mastercard.com.ve/gfwlist +server=/intercom.com/127.0.0.1#5335 +ipset=/intercom.com/gfwlist +server=/stripe.com/127.0.0.1#5335 +ipset=/stripe.com/gfwlist +server=/paypalobjects.com/127.0.0.1#5335 +ipset=/paypalobjects.com/gfwlist +server=/alphabet.info/127.0.0.1#5335 +ipset=/alphabet.info/gfwlist +server=/bmw.ua/127.0.0.1#5335 +ipset=/bmw.ua/gfwlist +server=/nikehelp.com/127.0.0.1#5335 +ipset=/nikehelp.com/gfwlist +server=/adidas.hu/127.0.0.1#5335 +ipset=/adidas.hu/gfwlist +server=/verisign.com.sg/127.0.0.1#5335 +ipset=/verisign.com.sg/gfwlist +server=/cdn77.org/127.0.0.1#5335 +ipset=/cdn77.org/gfwlist +server=/ea-anz-press.com/127.0.0.1#5335 +ipset=/ea-anz-press.com/gfwlist +server=/xbox.co/127.0.0.1#5335 +ipset=/xbox.co/gfwlist +server=/vk.link/127.0.0.1#5335 +ipset=/vk.link/gfwlist +server=/squirrelvpn.com/127.0.0.1#5335 +ipset=/squirrelvpn.com/gfwlist +server=/molesports.com/127.0.0.1#5335 +ipset=/molesports.com/gfwlist +server=/stheadline.com/127.0.0.1#5335 +ipset=/stheadline.com/gfwlist +server=/gettyimages.be/127.0.0.1#5335 +ipset=/gettyimages.be/gfwlist +server=/irribay.com/127.0.0.1#5335 +ipset=/irribay.com/gfwlist +server=/walmart.pharmacy/127.0.0.1#5335 +ipset=/walmart.pharmacy/gfwlist +server=/bmw-connecteddrive.fi/127.0.0.1#5335 +ipset=/bmw-connecteddrive.fi/gfwlist +server=/handbagsoutletebay.com/127.0.0.1#5335 +ipset=/handbagsoutletebay.com/gfwlist +server=/terrapeak.com/127.0.0.1#5335 +ipset=/terrapeak.com/gfwlist +server=/travelexmoneycard.com/127.0.0.1#5335 +ipset=/travelexmoneycard.com/gfwlist +server=/paypal-dynamic.com/127.0.0.1#5335 +ipset=/paypal-dynamic.com/gfwlist +server=/dealtree.org/127.0.0.1#5335 +ipset=/dealtree.org/gfwlist +server=/thepaypalshop.com/127.0.0.1#5335 +ipset=/thepaypalshop.com/gfwlist +server=/dreambmw.ca/127.0.0.1#5335 +ipset=/dreambmw.ca/gfwlist +server=/bmw-connecteddrive.ca/127.0.0.1#5335 +ipset=/bmw-connecteddrive.ca/gfwlist +server=/softbankworld.com/127.0.0.1#5335 +ipset=/softbankworld.com/gfwlist +server=/bastropfirestone.com/127.0.0.1#5335 +ipset=/bastropfirestone.com/gfwlist +server=/buypass-ssl.com/127.0.0.1#5335 +ipset=/buypass-ssl.com/gfwlist +server=/geeksquad.tv/127.0.0.1#5335 +ipset=/geeksquad.tv/gfwlist +server=/disney.co.kr/127.0.0.1#5335 +ipset=/disney.co.kr/gfwlist +server=/proquest.com/127.0.0.1#5335 +ipset=/proquest.com/gfwlist +server=/mini.ua/127.0.0.1#5335 +ipset=/mini.ua/gfwlist +server=/bestbuycoffeemakers.com/127.0.0.1#5335 +ipset=/bestbuycoffeemakers.com/gfwlist +server=/bmw-m-safetycar.com/127.0.0.1#5335 +ipset=/bmw-m-safetycar.com/gfwlist +server=/apple.is/127.0.0.1#5335 +ipset=/apple.is/gfwlist +server=/pinterest.co.nz/127.0.0.1#5335 +ipset=/pinterest.co.nz/gfwlist +server=/finishbrasil.com.br/127.0.0.1#5335 +ipset=/finishbrasil.com.br/gfwlist +server=/surflite.co/127.0.0.1#5335 +ipset=/surflite.co/gfwlist +server=/mastercard.com.co/127.0.0.1#5335 +ipset=/mastercard.com.co/gfwlist +server=/paypalhere.net/127.0.0.1#5335 +ipset=/paypalhere.net/gfwlist +server=/psyccareers.com/127.0.0.1#5335 +ipset=/psyccareers.com/gfwlist +server=/microsoft.ee/127.0.0.1#5335 +ipset=/microsoft.ee/gfwlist +server=/vfsco.in/127.0.0.1#5335 +ipset=/vfsco.in/gfwlist +server=/bmw.gp/127.0.0.1#5335 +ipset=/bmw.gp/gfwlist diff --git a/luci-app-ssr-plus/root/etc/ssrplus/netflix.list b/luci-app-ssr-plus/root/etc/ssrplus/netflix.list new file mode 100644 index 00000000..f98f711b --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/netflix.list @@ -0,0 +1,25 @@ +amazonaws.com +aws.amazon.com +awsstatic.com +fast.com +netflix.com +netflix.net +nflxext.com +nflximg.net +nflxso.net +nflxvideo.net +netflixdnstest0.com +netflixdnstest1.com +netflixdnstest2.com +netflixdnstest3.com +netflixdnstest4.com +netflixdnstest5.com +netflixdnstest6.com +netflixdnstest7.com +netflixdnstest8.com +netflixdnstest9.com +hulu.com +huluim.com +hbonow.com +hbogo.com +hbo.com diff --git a/luci-app-ssr-plus/root/etc/ssrplus/netflixip.list b/luci-app-ssr-plus/root/etc/ssrplus/netflixip.list new file mode 100644 index 00000000..54057996 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/netflixip.list @@ -0,0 +1,15 @@ +23.246.0.0/18 +37.77.184.0/21 +38.72.126.0/24 +45.57.0.0/17 +64.120.128.0/17 +66.197.128.0/17 +69.53.224.0/19 +103.87.204.0/22 +108.175.32.0/20 +185.2.220.0/22 +185.9.188.0/22 +192.173.64.0/18 +198.38.96.0/19 +198.45.48.0/20 +208.75.76.0/22 diff --git a/luci-app-ssr-plus/root/etc/ssrplus/oversea_list.conf b/luci-app-ssr-plus/root/etc/ssrplus/oversea_list.conf new file mode 100644 index 00000000..ae50fb90 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/oversea_list.conf @@ -0,0 +1,192 @@ +server=/v.youku.com/127.0.0.1#5335 +server=/api.youku.com/127.0.0.1#5335 +server=/v2.tudou.com/127.0.0.1#5335 +server=/www.tudou.com/127.0.0.1#5335 +server=/s.plcloud.music.qq.com/127.0.0.1#5335 +server=/i.y.qq.com/127.0.0.1#5335 +server=/hot.vrs.sohu.com/127.0.0.1#5335 +server=/live.tv.sohu.com/127.0.0.1#5335 +server=/pad.tv.sohu.com/127.0.0.1#5335 +server=/my.tv.sohu.com/127.0.0.1#5335 +server=/hot.vrs.letv.com/127.0.0.1#5335 +server=/data.video.qiyi.com/127.0.0.1#5335 +server=/cache.video.qiyi.com/127.0.0.1#5335 +server=/cache.vip.qiyi.com/127.0.0.1#5335 +server=/vv.video.qq.com/127.0.0.1#5335 +server=/tt.video.qq.com/127.0.0.1#5335 +server=/ice.video.qq.com/127.0.0.1#5335 +server=/tjsa.video.qq.com/127.0.0.1#5335 +server=/a10.video.qq.com/127.0.0.1#5335 +server=/xyy.video.qq.com/127.0.0.1#5335 +server=/vcq.video.qq.com/127.0.0.1#5335 +server=/vsh.video.qq.com/127.0.0.1#5335 +server=/vbj.video.qq.com/127.0.0.1#5335 +server=/bobo.video.qq.com/127.0.0.1#5335 +server=/flvs.video.qq.com/127.0.0.1#5335 +server=/bkvv.video.qq.com/127.0.0.1#5335 +server=/info.zb.qq.com/127.0.0.1#5335 +server=/geo.js.kankan.xunlei.com/127.0.0.1#5335 +server=/web-play.pptv.com/127.0.0.1#5335 +server=/web-play.pplive.cn/127.0.0.1#5335 +server=/dyn.ugc.pps.tv/127.0.0.1#5335 +server=/v.pps.tv/127.0.0.1#5335 +server=/inner.kandian.com/127.0.0.1#5335 +server=/ipservice.163.com/127.0.0.1#5335 +server=/so.open.163.com/127.0.0.1#5335 +server=/zb.s.qq.com/127.0.0.1#5335 +server=/ip.kankan.xunlei.com/127.0.0.1#5335 +server=/vxml.56.com/127.0.0.1#5335 +server=/music.sina.com.cn/127.0.0.1#5335 +server=/play.baidu.com/127.0.0.1#5335 +server=/v.iask.com/127.0.0.1#5335 +server=/tv.weibo.com/127.0.0.1#5335 +server=/wtv.v.iask.com/127.0.0.1#5335 +server=/video.sina.com.cn/127.0.0.1#5335 +server=/www.yinyuetai.com/127.0.0.1#5335 +server=/api.letv.com/127.0.0.1#5335 +server=/live.gslb.letv.com/127.0.0.1#5335 +server=/static.itv.letv.com/127.0.0.1#5335 +server=/ip.apps.cntv.cn/127.0.0.1#5335 +server=/vdn.apps.cntv.cn/127.0.0.1#5335 +server=/vdn.live.cntv.cn/127.0.0.1#5335 +server=/vip.sports.cntv.cn/127.0.0.1#5335 +server=/a.play.api.3g.youku.com/127.0.0.1#5335 +server=/i.play.api.3g.youku.com/127.0.0.1#5335 +server=/api.3g.youku.com/127.0.0.1#5335 +server=/tv.api.3g.youku.com/127.0.0.1#5335 +server=/play.api.3g.youku.com/127.0.0.1#5335 +server=/play.api.3g.tudou.com/127.0.0.1#5335 +server=/tv.api.3g.tudou.com/127.0.0.1#5335 +server=/api.3g.tudou.com/127.0.0.1#5335 +server=/api.tv.sohu.com/127.0.0.1#5335 +server=/access.tv.sohu.com/127.0.0.1#5335 +server=/iface.iqiyi.com/127.0.0.1#5335 +server=/iface2.iqiyi.com/127.0.0.1#5335 +server=/cache.m.iqiyi.com/127.0.0.1#5335 +server=/dynamic.app.m.letv.com/127.0.0.1#5335 +server=/dynamic.meizi.app.m.letv.com/127.0.0.1#5335 +server=/dynamic.search.app.m.letv.com/127.0.0.1#5335 +server=/dynamic.live.app.m.letv.com/127.0.0.1#5335 +server=/listso.m.areainfo.ppstream.com/127.0.0.1#5335 +server=/epg.api.pptv.com/127.0.0.1#5335 +server=/play.api.pptv.com/127.0.0.1#5335 +server=/m.letv.com/127.0.0.1#5335 +server=/interface.bilibili.com/127.0.0.1#5335 +server=/3g.music.qq.com/127.0.0.1#5335 +server=/mqqplayer.3g.qq.com/127.0.0.1#5335 +server=/proxy.music.qq.com/127.0.0.1#5335 +server=/proxymc.qq.com/127.0.0.1#5335 +server=/ip2.kugou.com/127.0.0.1#5335 +server=/ip.kugou.com/127.0.0.1#5335 +server=/client.api.ttpod.com/127.0.0.1#5335 +server=/mobi.kuwo.cn/127.0.0.1#5335 +server=/mobilefeedback.kugou.com/127.0.0.1#5335 +server=/tingapi.ting.baidu.com/127.0.0.1#5335 +server=/music.baidu.com/127.0.0.1#5335 +server=/serviceinfo.sdk.duomi.com/127.0.0.1#5335 +server=/music.163.com/127.0.0.1#5335 +server=/www.xiami.com/127.0.0.1#5335 +server=/spark.api.xiami.com/127.0.0.1#5335 +server=/iplocation.geo.qiyi.com/127.0.0.1#5335 +server=/sns.video.qq.com/127.0.0.1#5335 +server=/v5.pc.duomi.com/127.0.0.1#5335 +server=/tms.is.ysten.com/127.0.0.1#5335 +server=/internal.check.duokanbox.com/127.0.0.1#5335 +server=/openapi.youku.com/127.0.0.1#5335 +server=/y.qq.com/127.0.0.1#5335 +ipset=/v.youku.com/oversea +ipset=/api.youku.com/oversea +ipset=/v2.tudou.com/oversea +ipset=/www.tudou.com/oversea +ipset=/s.plcloud.music.qq.com/oversea +ipset=/i.y.qq.com/oversea +ipset=/hot.vrs.sohu.com/oversea +ipset=/live.tv.sohu.com/oversea +ipset=/pad.tv.sohu.com/oversea +ipset=/my.tv.sohu.com/oversea +ipset=/hot.vrs.letv.com/oversea +ipset=/data.video.qiyi.com/oversea +ipset=/cache.video.qiyi.com/oversea +ipset=/cache.vip.qiyi.com/oversea +ipset=/vv.video.qq.com/oversea +ipset=/tt.video.qq.com/oversea +ipset=/ice.video.qq.com/oversea +ipset=/tjsa.video.qq.com/oversea +ipset=/a10.video.qq.com/oversea +ipset=/xyy.video.qq.com/oversea +ipset=/vcq.video.qq.com/oversea +ipset=/vsh.video.qq.com/oversea +ipset=/vbj.video.qq.com/oversea +ipset=/bobo.video.qq.com/oversea +ipset=/flvs.video.qq.com/oversea +ipset=/bkvv.video.qq.com/oversea +ipset=/info.zb.qq.com/oversea +ipset=/geo.js.kankan.xunlei.com/oversea +ipset=/web-play.pptv.com/oversea +ipset=/web-play.pplive.cn/oversea +ipset=/dyn.ugc.pps.tv/oversea +ipset=/v.pps.tv/oversea +ipset=/inner.kandian.com/oversea +ipset=/ipservice.163.com/oversea +ipset=/so.open.163.com/oversea +ipset=/zb.s.qq.com/oversea +ipset=/ip.kankan.xunlei.com/oversea +ipset=/vxml.56.com/oversea +ipset=/music.sina.com.cn/oversea +ipset=/play.baidu.com/oversea +ipset=/v.iask.com/oversea +ipset=/tv.weibo.com/oversea +ipset=/wtv.v.iask.com/oversea +ipset=/video.sina.com.cn/oversea +ipset=/www.yinyuetai.com/oversea +ipset=/api.letv.com/oversea +ipset=/live.gslb.letv.com/oversea +ipset=/static.itv.letv.com/oversea +ipset=/ip.apps.cntv.cn/oversea +ipset=/vdn.apps.cntv.cn/oversea +ipset=/vdn.live.cntv.cn/oversea +ipset=/vip.sports.cntv.cn/oversea +ipset=/a.play.api.3g.youku.com/oversea +ipset=/i.play.api.3g.youku.com/oversea +ipset=/api.3g.youku.com/oversea +ipset=/tv.api.3g.youku.com/oversea +ipset=/play.api.3g.youku.com/oversea +ipset=/play.api.3g.tudou.com/oversea +ipset=/tv.api.3g.tudou.com/oversea +ipset=/api.3g.tudou.com/oversea +ipset=/api.tv.sohu.com/oversea +ipset=/access.tv.sohu.com/oversea +ipset=/iface.iqiyi.com/oversea +ipset=/iface2.iqiyi.com/oversea +ipset=/cache.m.iqiyi.com/oversea +ipset=/dynamic.app.m.letv.com/oversea +ipset=/dynamic.meizi.app.m.letv.com/oversea +ipset=/dynamic.search.app.m.letv.com/oversea +ipset=/dynamic.live.app.m.letv.com/oversea +ipset=/listso.m.areainfo.ppstream.com/oversea +ipset=/epg.api.pptv.com/oversea +ipset=/play.api.pptv.com/oversea +ipset=/m.letv.com/oversea +ipset=/interface.bilibili.com/oversea +ipset=/3g.music.qq.com/oversea +ipset=/mqqplayer.3g.qq.com/oversea +ipset=/proxy.music.qq.com/oversea +ipset=/proxymc.qq.com/oversea +ipset=/ip2.kugou.com/oversea +ipset=/ip.kugou.com/oversea +ipset=/client.api.ttpod.com/oversea +ipset=/mobi.kuwo.cn/oversea +ipset=/mobilefeedback.kugou.com/oversea +ipset=/tingapi.ting.baidu.com/oversea +ipset=/music.baidu.com/oversea +ipset=/serviceinfo.sdk.duomi.com/oversea +ipset=/music.163.com/oversea +ipset=/www.xiami.com/oversea +ipset=/spark.api.xiami.com/oversea +ipset=/iplocation.geo.qiyi.com/oversea +ipset=/sns.video.qq.com/oversea +ipset=/v5.pc.duomi.com/oversea +ipset=/tms.is.ysten.com/oversea +ipset=/internal.check.duokanbox.com/oversea +ipset=/openapi.youku.com/oversea +ipset=/y.qq.com/oversea diff --git a/luci-app-ssr-plus/root/etc/ssrplus/white.list b/luci-app-ssr-plus/root/etc/ssrplus/white.list new file mode 100644 index 00000000..9055fcb9 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/ssrplus/white.list @@ -0,0 +1,7 @@ +bilibili.com +bilibili.cn +bilivideo.com +bilivideo.cn +biliapi.com +biliapi.net +apple.com \ No newline at end of file diff --git a/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus b/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus new file mode 100755 index 00000000..3ff99ae4 --- /dev/null +++ b/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus @@ -0,0 +1,37 @@ +#!/bin/sh +uci -q batch <<-EOF >/dev/null +delete ucitrack.@shadowsocksr[-1] +add ucitrack shadowsocksr +set ucitrack.@shadowsocksr[-1].init=shadowsocksr +commit ucitrack +delete firewall.shadowsocksr +set firewall.shadowsocksr=include +set firewall.shadowsocksr.type=script +set firewall.shadowsocksr.path=/var/etc/shadowsocksr.include +set firewall.shadowsocksr.reload=1 +commit firewall +EOF +rm -rf /etc/config/shadowsocksr-opkg /etc/ssrplus/*opkg +touch /etc/ssrplus/china_ssr.txt +touch /etc/ssrplus/deny.list +touch /etc/ssrplus/white.list +touch /etc/ssrplus/black.list +touch /etc/ssrplus/netflix.list +touch /etc/ssrplus/netflixip.list +touch /etc/ssrplus/gfw_base.conf +touch /etc/ssrplus/gfw_list.conf +touch /etc/ssrplus/oversea_list.conf +touch /etc/ssrplus/ad.conf +touch /etc/config/shadowsocksr +if [ ! -s "/etc/config/shadowsocksr" ]; then +/etc/init.d/shadowsocksr reset +fi +sed -i "s/option type 'vmess'"/"option type 'v2ray'\n\toption v2ray_protocol 'vmess'/g" /etc/config/shadowsocksr +sed -i "s/option type 'vless'"/"option type 'v2ray'\n\toption v2ray_protocol 'vless'/g" /etc/config/shadowsocksr +if [ -s "/etc/uwsgi/vassals/luci-webui.ini" ];then + limit=$(cat /etc/uwsgi/vassals/luci-webui.ini | grep -Eo "limit-as.*"|grep -Eo "[0-9]+") + [ $limit -lt 5000 ] && sed -i '/limit-as/c\limit-as = 5000' /etc/uwsgi/vassals/luci-webui.ini && \ + /etc/init.d/uwsgi restart +fi +rm -rf /tmp/luci-modulecache /tmp/luci-indexcache +exit 0 diff --git a/luci-app-ssr-plus/root/usr/bin/ssr-monitor b/luci-app-ssr-plus/root/usr/bin/ssr-monitor new file mode 100755 index 00000000..b84d8550 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/bin/ssr-monitor @@ -0,0 +1,114 @@ +#!/bin/sh +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# +. $IPKG_INSTROOT/etc/init.d/shadowsocksr +LOCK_FILE="/var/lock/ssr-monitor.lock" +[ -f "$LOCK_FILE" ] && exit 2 +touch "$LOCK_FILE" +server_process_count=$1 +redir_tcp_process=$2 +redir_udp_process=$3 +kcp_process=$4 +local_process=$5 +pdnsd_process=$6 +if [ -z "$pdnsd_process" ]; then + pdnsd_process=0 +fi +i=0 +GLOBAL_SERVER=$(uci_get_by_type global global_server) +server=$(uci_get_by_name $GLOBAL_SERVER server) +kcp_port=$(uci_get_by_name $GLOBAL_SERVER kcp_port) +server_port=$(uci_get_by_name $GLOBAL_SERVER server_port) +password=$(uci_get_by_name $GLOBAL_SERVER kcp_password) +kcp_param=$(uci_get_by_name $GLOBAL_SERVER kcp_param) +[ "$password" != "" ] && password="--key "${password} + +while [ "1" == "1" ]; do #死循环 + sleep 000030s + #redir tcp + if [ "$redir_tcp_process" -gt 0 ]; then + icount=$(busybox ps -w | grep ssr-retcp | grep -v grep | wc -l) + if [ "$icount" == 0 ]; then + logger -t "$NAME" "ssrplus redir tcp error.restart!" + echolog "ssrplus redir tcp error.restart!" + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi + #redir udp + if [ "$redir_udp_process" -gt 0 ]; then + icount=$(busybox ps -w | grep ssr-reudp | grep -v grep | wc -l) + if [ "$icount" == 0 ]; then + logger -t "$NAME" "ssrplus redir udp error.restart!" + echolog "ssrplus redir udp error.restart!" + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi + #server + if [ "$server_process_count" -gt 0 ]; then + icount=$(busybox ps -w | grep ssr-server | grep -v grep | wc -l) + if [ "$icount" -lt "$server_process_count" ]; then #如果进程挂掉就重启它 + logger -t "$NAME" "ssrplus server error.restart!" + echolog "ssrplus server error.restart!" + kill -9 $(busybox ps -w | grep ssr-server | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi + #kcptun + if [ "$kcp_process" -gt 0 ]; then + icount=$(busybox ps -w | grep kcptun-client | grep -v grep | wc -l) + if [ "$icount" -lt "$kcp_process" ]; then #如果进程挂掉就重启它 + logger -t "$NAME" "ssrplus kcptun error.restart!" + echolog "ssrplus kcptun error.restart!" + killall -q -9 kcptun-client + (/usr/bin/kcptun-client -r $server:$kcp_port -l :$server_port $password $kcp_param &) + fi + fi + #localsocks + if [ "$local_process" -gt 0 ]; then + icount=$(busybox ps -w | grep ssr-local | grep -v grep | wc -l) + if [ "$icount" -lt "$local_process" ]; then #如果进程挂掉就重启它 + logger -t "$NAME" "global socks server error.restart!" + echolog "global socks server error.restart!" + kill -9 $(busybox ps -w | grep ssr-local | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi + #pdnsd + if [ "$pdnsd_process" -eq 1 ]; then + icount=$(busybox ps -w | grep $TMP_BIN_PATH/pdnsd | grep -v grep | wc -l) + if [ "$icount" -lt "$pdnsd_process" ]; then #如果进程挂掉就重启它 + logger -t "$NAME" "pdnsd tunnel error.restart!" + echolog "pdnsd tunnel error.restart!" + if [ -f /var/run/pdnsd.pid ]; then + kill $(cat /var/run/pdnsd.pid) >/dev/null 2>&1 + else + kill -9 $(ps | grep $TMP_PATH/pdnsd.conf | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + fi + ln_start_bin $(first_type pdnsd) pdnsd -c $TMP_PATH/pdnsd.conf + fi + fi + #dns2socks + if [ "$pdnsd_process" -eq 2 ]; then + icount=$(busybox ps -w | grep -e ssrplus-dns -e "dns2socks 127.0.0.1 $tmp_dns_port" | grep -v grep | wc -l) + if [ "$icount" -lt 2 ]; then #如果进程挂掉就重启它 + logger -t "$NAME" "dns2socks $dnsstr tunnel error.restart!" + echolog "dns2socks $dnsstr tunnel error.restart!" + dnsstr=$(uci_get_by_type global tunnel_forward 8.8.4.4:53) + dnsserver=$(echo "$dnsstr" | awk -F ':' '{print $1}') + dnsport=$(echo "$dnsstr" | awk -F ':' '{print $2}') + kill -9 $(busybox ps -w | grep ssrplus-dns | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + kill -9 $(busybox ps -w | grep "dns2socks 127.0.0.1 $tmp_dns_port" | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + ln_start_bin $(first_type microsocks) microsocks -i 127.0.0.1 -p $tmp_dns_port ssrplus-dns + ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_dns_port $dnsserver:$dnsport 127.0.0.1:$dns_port -q + fi + fi +done diff --git a/luci-app-ssr-plus/root/usr/bin/ssr-rules b/luci-app-ssr-plus/root/usr/bin/ssr-rules new file mode 100755 index 00000000..06aa942b --- /dev/null +++ b/luci-app-ssr-plus/root/usr/bin/ssr-rules @@ -0,0 +1,424 @@ +#!/bin/sh +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# +TAG="_SS_SPEC_RULE_" # comment tag +IPT="iptables -t nat" # alias of iptables +FWI=$(uci get firewall.shadowsocksr.path 2>/dev/null) # firewall include file +usage() { + cat <<-EOF + Usage: ssr-rules [options] + + Valid options are: + + -s ip address of shadowsocksr remote server + -l port number of shadowsocksr local server + -S ip address of shadowsocksr remote UDP server + -L port number of shadowsocksr local UDP server + -i a file content is bypassed ip list + -a lan ip of access control, need a prefix to + define access control mode + -b wan ip of will be bypassed + -w wan ip of will be forwarded + -B lan ip of will be bypassed proxy + -p lan ip of will be global proxy + -G lan ip of will be game mode proxy + -D proxy ports + -F shunt mode + -N shunt server IP + -M shunt proxy mode + -m Interface name + -I a file content is bypassed shunt ip list + -e extra options for iptables + -o apply the rules to the OUTPUT chain + -O apply the global rules to the OUTPUT chain + -u enable udprelay mode, TPROXY is required + -U enable udprelay mode, using different IP + and ports for TCP and UDP + -f flush the rules + -g gfwlist mode + -r router mode + -c oversea mode + -z all mode + -h show this help message and exit + EOF + exit $1 +} + +loger() { + # 1.alert 2.crit 3.err 4.warn 5.notice 6.info 7.debug + logger -st ssr-rules[$$] -p$1 $2 +} + +flush_r() { + flush_iptables() { + local ipt="iptables -t $1" + local DAT=$(iptables-save -t $1) + eval $(echo "$DAT" | grep "$TAG" | sed -e 's/^-A/$ipt -D/' -e 's/$/;/') + for chain in $(echo "$DAT" | awk '/^:SS_SPEC/{print $1}'); do + $ipt -F ${chain:1} 2>/dev/null && $ipt -X ${chain:1} + done + } + flush_iptables nat + flush_iptables mangle + ip rule del fwmark 0x01/0x01 table 100 2>/dev/null + ip route del local 0.0.0.0/0 dev lo table 100 2>/dev/null + ipset -X ss_spec_lan_ac 2>/dev/null + ipset -X ss_spec_wan_ac 2>/dev/null + ipset -X ssr_gen_router 2>/dev/null + ipset -X fplan 2>/dev/null + ipset -X bplan 2>/dev/null + ipset -X gmlan 2>/dev/null + ipset -X oversea 2>/dev/null + ipset -X whitelist 2>/dev/null + ipset -X blacklist 2>/dev/null + ipset -X netflix 2>/dev/null + [ -n "$FWI" ] && echo '#!/bin/sh' >$FWI + return 0 +} + +ipset_r() { + [ -f "$IGNORE_LIST" ] && /usr/share/shadowsocksr/chinaipset.sh $IGNORE_LIST + $IPT -N SS_SPEC_WAN_AC + $IPT -I SS_SPEC_WAN_AC -p tcp ! --dport 53 -d $server -j RETURN + ipset -N gmlan hash:net 2>/dev/null + for ip in $LAN_GM_IP; do ipset -! add gmlan $ip; done + case "$RUNMODE" in + router) + ipset -! -R <<-EOF || return 1 + create ss_spec_wan_ac hash:net + $(gen_spec_iplist | sed -e "s/^/add ss_spec_wan_ac /") + EOF + $IPT -A SS_SPEC_WAN_AC -m set --match-set ss_spec_wan_ac dst -j RETURN + $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j RETURN + $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -m set ! --match-set china dst -j SS_SPEC_WAN_FW + $IPT -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW + ;; + gfw) + ipset -N gfwlist hash:net 2>/dev/null + $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j RETURN + $IPT -A SS_SPEC_WAN_AC -m set --match-set gfwlist dst -j SS_SPEC_WAN_FW + $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -m set ! --match-set china dst -j SS_SPEC_WAN_FW + ;; + oversea) + ipset -N oversea hash:net 2>/dev/null + $IPT -I SS_SPEC_WAN_AC -m set --match-set oversea dst -j SS_SPEC_WAN_FW + $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -j SS_SPEC_WAN_FW + $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j SS_SPEC_WAN_FW + ;; + all) + $IPT -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW + ;; + esac + ipset -N fplan hash:net 2>/dev/null + for ip in $LAN_FP_IP; do ipset -! add fplan $ip; done + $IPT -I SS_SPEC_WAN_AC -m set --match-set fplan src -j SS_SPEC_WAN_FW + ipset -N bplan hash:net 2>/dev/null + for ip in $LAN_BP_IP; do ipset -! add bplan $ip; done + $IPT -I SS_SPEC_WAN_AC -m set --match-set bplan src -j RETURN + ipset -N whitelist hash:net 2>/dev/null + ipset -N blacklist hash:net 2>/dev/null + $IPT -I SS_SPEC_WAN_AC -m set --match-set blacklist dst -j SS_SPEC_WAN_FW + $IPT -I SS_SPEC_WAN_AC -m set --match-set whitelist dst -j RETURN + if [ $(ipset list music -name -quiet | grep music) ]; then + $IPT -I SS_SPEC_WAN_AC -m set --match-set music dst -j RETURN 2>/dev/null + fi + for ip in $WAN_BP_IP; do ipset -! add whitelist $ip; done + for ip in $WAN_FW_IP; do ipset -! add blacklist $ip; done + if [ "$SHUNT_PORT" != "0" ]; then + ipset -N netflix hash:net 2>/dev/null + for ip in $(cat ${SHUNT_LIST:=/dev/null} 2>/dev/null); do ipset -! add netflix $ip; done + case "$SHUNT_PORT" in + 0) ;; + 1) + $IPT -I SS_SPEC_WAN_AC -p tcp -m set --match-set netflix dst -j REDIRECT --to-ports $local_port + ;; + *) + $IPT -I SS_SPEC_WAN_AC -p tcp -m set --match-set netflix dst -j REDIRECT --to-ports $SHUNT_PORT + if [ "$SHUNT_PROXY" == "1" ]; then + $IPT -I SS_SPEC_WAN_AC -p tcp -d $SHUNT_IP -j REDIRECT --to-ports $local_port + else + ipset -! add whitelist $SHUNT_IP + fi + ;; + esac + fi + return $? +} + +fw_rule() { + $IPT -N SS_SPEC_WAN_FW + $IPT -A SS_SPEC_WAN_FW -d 0.0.0.0/8 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 10.0.0.0/8 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 127.0.0.0/8 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 169.254.0.0/16 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 172.16.0.0/12 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 192.168.0.0/16 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 224.0.0.0/4 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 240.0.0.0/4 -j RETURN + $IPT -A SS_SPEC_WAN_FW -p tcp $PROXY_PORTS -j REDIRECT --to-ports $local_port 2>/dev/null || { + loger 3 "Can't redirect, please check the iptables." + exit 1 + } + return $? +} + +ac_rule() { + if [ -n "$LAN_AC_IP" ]; then + case "${LAN_AC_IP:0:1}" in + w | W) + MATCH_SET="-m set --match-set ss_spec_lan_ac src" + ;; + b | B) + MATCH_SET="-m set ! --match-set ss_spec_lan_ac src" + ;; + *) + loger 3 "Bad argument \`-a $LAN_AC_IP\`." + return 2 + ;; + esac + fi + ipset -! -R <<-EOF || return 1 + create ss_spec_lan_ac hash:net + $(for ip in ${LAN_AC_IP:1}; do echo "add ss_spec_lan_ac $ip"; done) + EOF + if [ -z "$Interface" ]; then + $IPT -I PREROUTING 1 -p tcp $EXT_ARGS $MATCH_SET -m comment --comment "$TAG" -j SS_SPEC_WAN_AC + else + for name in $Interface; do + local IFNAME=$(uci -P /var/state get network.$name.ifname 2>/dev/null) + [ -n "$IFNAME" ] && $IPT -I PREROUTING 1 ${IFNAME:+-i $IFNAME} -p tcp $EXT_ARGS $MATCH_SET -m comment --comment "$TAG" -j SS_SPEC_WAN_AC + done + fi + + case "$OUTPUT" in + 1) + $IPT -I OUTPUT 1 -p tcp $EXT_ARGS -m comment --comment "$TAG" -j SS_SPEC_WAN_AC + ;; + 2) + ipset -! -R <<-EOF || return 1 + create ssr_gen_router hash:net + $(gen_spec_iplist | sed -e "s/^/add ssr_gen_router /") + EOF + $IPT -N SS_SPEC_ROUTER && \ + $IPT -A SS_SPEC_ROUTER -m set --match-set ssr_gen_router dst -j RETURN && \ + $IPT -A SS_SPEC_ROUTER -j SS_SPEC_WAN_FW + $IPT -I OUTPUT 1 -p tcp -m comment --comment "$TAG" -j SS_SPEC_ROUTER + ;; + esac + return $? +} + +tp_rule() { + [ -n "$TPROXY" ] || return 0 + ip rule add fwmark 0x01/0x01 table 100 + ip route add local 0.0.0.0/0 dev lo table 100 + local ipt="iptables -t mangle" + $ipt -N SS_SPEC_TPROXY + $ipt -A SS_SPEC_TPROXY -p udp --dport 53 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 0.0.0.0/8 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 10.0.0.0/8 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 127.0.0.0/8 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 169.254.0.0/16 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 172.16.0.0/12 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 192.168.0.0/16 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 224.0.0.0/4 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 240.0.0.0/4 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp ! --dport 53 -d $SERVER -j RETURN + [ "$server" != "$SERVER" ] && ipset -! add whitelist $SERVER + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set bplan src -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set --match-set fplan src -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + case "$RUNMODE" in + router) + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set ss_spec_wan_ac dst -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set china dst -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp --dport 443 -j DROP + $ipt -A SS_SPEC_TPROXY -p udp --dport 80 -j DROP + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gmlan src -m set ! --match-set china dst -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set ! --match-set ss_spec_wan_ac dst -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + ;; + gfw) + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set china dst -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp --dport 443 -j DROP + $ipt -A SS_SPEC_TPROXY -p udp --dport 80 -j DROP + $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set --match-set gfwlist dst -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gmlan src -m set ! --match-set china dst -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + ;; + oversea) + $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set --match-set oversea src -m dst -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gmlan src -m set -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set --match-set china dst -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + ;; + all) + $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + ;; + esac + if [ -z "$Interface" ]; then + $ipt -I PREROUTING 1 -p udp $EXT_ARGS $MATCH_SET -m comment --comment "$TAG" -j SS_SPEC_TPROXY + else + for name in $Interface; do + local IFNAME=$(uci -P /var/state get network.$name.ifname 2>/dev/null) + [ -n "$IFNAME" ] && $ipt -I PREROUTING 1 ${IFNAME:+-i $IFNAME} -p udp $EXT_ARGS $MATCH_SET -m comment --comment "$TAG" -j SS_SPEC_TPROXY + done + fi + return $? +} + +get_wan_ip() { + cat <<-EOF | grep -E "^([0-9]{1,3}\.){3}[0-9]{1,3}" + $server + $SERVER + $WAN_BP_IP + EOF +} + +gen_spec_iplist() { + cat <<-EOF + 0.0.0.0/8 + 10.0.0.0/8 + 100.64.0.0/10 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.0.0.0/24 + 192.0.2.0/24 + 192.88.99.0/24 + 192.168.0.0/16 + 198.18.0.0/15 + 198.51.100.0/24 + 203.0.113.0/24 + 224.0.0.0/4 + 240.0.0.0/4 + 255.255.255.255 + $(get_wan_ip) + EOF +} + +gen_include() { + [ -n "$FWI" ] || return 0 + extract_rules() { + echo "*$1" + iptables-save -t $1 | grep SS_SPEC_ | sed -e "s/^-A \(OUTPUT\|PREROUTING\)/-I \1 1/" + echo 'COMMIT' + } + cat <<-EOF >>$FWI + iptables-save -c | grep -v "SS_SPEC" | iptables-restore -c + iptables-restore -n <<-EOT + $(extract_rules nat) + $(extract_rules mangle) + EOT + EOF + return 0 +} + +while getopts ":m:s:l:S:L:i:e:a:B:b:w:p:G:D:F:N:M:I:oOuUfgrczh" arg; do + case "$arg" in + m) + Interface=$OPTARG + ;; + s) + server=$OPTARG + ;; + l) + local_port=$OPTARG + ;; + S) + SERVER=$OPTARG + ;; + L) + LOCAL_PORT=$OPTARG + ;; + i) + IGNORE_LIST=$OPTARG + ;; + e) + EXT_ARGS=$OPTARG + ;; + a) + LAN_AC_IP=$OPTARG + ;; + B) + LAN_BP_IP=$OPTARG + ;; + b) + WAN_BP_IP=$(for ip in $OPTARG; do echo $ip; done) + ;; + w) + WAN_FW_IP=$OPTARG + ;; + p) + LAN_FP_IP=$OPTARG + ;; + G) + LAN_GM_IP=$OPTARG + ;; + D) + PROXY_PORTS=$OPTARG + ;; + F) + SHUNT_PORT=$OPTARG + ;; + N) + SHUNT_IP=$OPTARG + ;; + M) + SHUNT_PROXY=$OPTARG + ;; + I) + SHUNT_LIST=$OPTARG + ;; + o) + OUTPUT=1 + ;; + O) + OUTPUT=2 + ;; + u) + TPROXY=1 + ;; + U) + TPROXY=2 + ;; + g) + RUNMODE=gfw + ;; + r) + RUNMODE=router + ;; + c) + RUNMODE=oversea + ;; + z) + RUNMODE=all + ;; + f) + flush_r + exit 0 + ;; + h) usage 0 ;; + esac +done + +if [ -z "$server" -o -z "$local_port" ]; then + usage 2 +fi + +case "$TPROXY" in +1) + SERVER=$server + LOCAL_PORT=$local_port + ;; +2) + : ${SERVER:?"You must assign an ip for the udp relay server."} + : ${LOCAL_PORT:?"You must assign a port for the udp relay server."} + ;; +esac + +flush_r && fw_rule && ipset_r && ac_rule && tp_rule && gen_include +RET=$? +[ "$RET" = 0 ] || loger 3 "Start failed!" +exit $RET diff --git a/luci-app-ssr-plus/root/usr/bin/ssr-switch b/luci-app-ssr-plus/root/usr/bin/ssr-switch new file mode 100755 index 00000000..5a2a3709 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/bin/ssr-switch @@ -0,0 +1,155 @@ +#!/bin/sh /etc/rc.common +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +. $IPKG_INSTROOT/etc/init.d/shadowsocksr +LOCK_FILE="/var/lock/ssr-switch.lock" +[ -f "$LOCK_FILE" ] && exit 2 +touch "$LOCK_FILE" +LOG_FILE=/var/log/ssrplus.log + +cycle_time=60 +switch_time=3 +normal_flag=0 +server_locate=0 +server_count=0 +ENABLE_SERVER=nil +[ -n "$1" ] && cycle_time=$1 +[ -n "$2" ] && switch_time=$2 +DEFAULT_SERVER=$(uci_get_by_type global global_server) +CURRENT_SERVER=$DEFAULT_SERVER + +#判断代理是否正常 +check_proxy() { + local result=0 + local try_count=$(uci_get_by_type global switch_try_count 3) + for i in $(seq 1 $try_count); do + /usr/bin/ssr-check www.google.com 80 $switch_time 1 + if [ "$?" == "0" ]; then + # echolog "Check Google Proxy Success, count=$i" + result=0 + break + else + # echolog "Check Google Proxy Fail, count=$i" + /usr/bin/ssr-check www.baidu.com 80 $switch_time 1 + if [ "$?" == "0" ]; then + result=1 + else + result=2 + fi + fi + sleep 1 + done + return $result +} + +test_proxy() { + local servername=$(uci_get_by_name $1 server) + local serverport=$(uci_get_by_name $1 server_port) + ipset add whitelist $servername 2>/dev/null + tcping -q -c 3 -i 1 -t 2 -p $serverport $servername + if [ "$?" -gt "0" ]; then + ipset del whitelist $servername 2>/dev/null + return 1 + fi + /usr/bin/ssr-check $servername $serverport $switch_time + local ret=$? + ipset del whitelist $servername 2>/dev/null + if [ "$ret" == "0" ]; then + return 0 + else + return 1 + fi +} + +search_proxy() { + let server_count=server_count+1 + [ "$normal_flag" == "1" -a "$server_count" -le "$server_locate" ] && return 0 + [ "$(uci_get_by_name $1 switch_enable 0)" != "1" ] && return 1 + [ $ENABLE_SERVER != nil ] && return 0 + [ "$1" == "$CURRENT_SERVER" ] && return 0 + local servername=$(uci_get_by_name $1 server) + local serverport=$(uci_get_by_name $1 server_port) + ipset add whitelist $servername 2>/dev/null + /usr/bin/ssr-check $servername $serverport $switch_time + local ret=$? + ipset del whitelist $servername 2>/dev/null + if [ "$ret" == "0" ]; then + server_locate=$server_count + ENABLE_SERVER=$1 + return 0 + else + return 1 + fi +} + +#选择可用的代理 +select_proxy() { + config_load $NAME + ENABLE_SERVER=nil + mkdir -p /var/run /var/etc + server_count=0 + config_foreach search_proxy servers +} + +#切换代理 +switch_proxy() { + /etc/init.d/shadowsocksr restart $1 + return 0 +} + +start() { + #不支持kcptun启用时的切换 + [ $(uci_get_by_name $DEFAULT_SERVER kcp_enable) = "1" ] && return 1 + while [ "1" == "1" ]; do #死循环 + sleep 0000$cycle_time + LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") + #判断当前代理是否为缺省服务器 + if [ "$CURRENT_SERVER" != "$DEFAULT_SERVER" ]; then + #echo "not default proxy" + echolog "Current server is not default Main server, try to switch back." + #检查缺省服务器是否正常 + if test_proxy $DEFAULT_SERVER; then + #echo "switch to default proxy" + echolog "Main server is avilable." + #缺省服务器正常,切换回来 + CURRENT_SERVER=$DEFAULT_SERVER + switch_proxy $CURRENT_SERVER + echolog "switch to default "$(uci_get_by_name $CURRENT_SERVER alias)" proxy!" + else + echolog "Main server is NOT avilable.Continue using current server." + fi + fi + #判断当前代理是否正常 + #echolog "Start checking if the current server is available." + check_proxy + current_ret=$? + if [ "$current_ret" == "1" ]; then + #当前代理错误,判断有无可用的服务器 + #echo "current error" + echolog "Current server error, try to switch another server." + select_proxy + if [ "$ENABLE_SERVER" != nil ]; then + #有其他服务器可用,进行切换 + #echo $(uci_get_by_name $new_proxy server) + echolog "Another server is avilable, now switching server." + CURRENT_SERVER=$ENABLE_SERVER + switch_proxy $CURRENT_SERVER + normal_flag=1 + echolog "Switch to "$(uci_get_by_name $CURRENT_SERVER alias)" proxy!" + else + switch_proxy $CURRENT_SERVER + normal_flag=1 + echolog "Try restart current server." + fi + else + normal_flag=0 + # echolog "ShadowsocksR No Problem." + fi + done +} diff --git a/luci-app-ssr-plus/root/usr/share/rpcd/acl.d/luci-app-ssr-plus.json b/luci-app-ssr-plus/root/usr/share/rpcd/acl.d/luci-app-ssr-plus.json new file mode 100644 index 00000000..2c381259 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/rpcd/acl.d/luci-app-ssr-plus.json @@ -0,0 +1,11 @@ +{ + "luci-app-ssr-plus": { + "description": "Grant UCI access for luci-app-ssr-plus", + "read": { + "uci": ["shadowsocksr"] + }, + "write": { + "uci": ["shadowsocksr"] + } + } +} \ No newline at end of file diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/chinaipset.sh b/luci-app-ssr-plus/root/usr/share/shadowsocksr/chinaipset.sh new file mode 100755 index 00000000..4015644f --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/chinaipset.sh @@ -0,0 +1,7 @@ +#!/bin/sh +[ -f "$1" ] && china_ip=$1 +ipset -! flush china 2>/dev/null +ipset -! -R <<-EOF || exit 1 + create china hash:net + $(cat ${china_ip:=/etc/ssrplus/china_ssr.txt} | sed -e "s/^/add china /") +EOF diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua new file mode 100755 index 00000000..e7f1a0cd --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua @@ -0,0 +1,284 @@ +local ucursor = require"luci.model.uci".cursor() +local json = require "luci.jsonc" +local server_section = arg[1] +local proto = arg[2] +local local_port = arg[3] or "0" +local socks_port = arg[4] or "0" +local server = ucursor:get_all("shadowsocksr", server_section) +local outbound_settings = nil +function vmess_vless() + outbound_settings = { + vnext = { + { + address = server.server, + port = tonumber(server.server_port), + users = { + { + id = server.vmess_id, + security = (server.v2ray_protocol == "vmess" or not server.v2ray_protocol) and server.security or nil, + encryption = (server.v2ray_protocol == "vless") and server.vless_encryption or nil, + flow = (server.xtls == '1') and (server.vless_flow and server.vless_flow or "xtls-rprx-splice") or nil + } + } + } + } + } +end +function trojan_shadowsocks() + outbound_settings = { + servers = { + { + address = server.server, + port = tonumber(server.server_port), + password = server.password, + method = (server.v2ray_protocol == "shadowsocks") and server.encrypt_method_v2ray_ss or nil, + flow = (server.v2ray_protocol == "trojan") and (server.xtls == '1') and (server.vless_flow and server.vless_flow or "xtls-rprx-splice") or nil, + ivCheck = (server.v2ray_protocol == "shadowsocks") and (server.ivCheck == '1') or nil + } + } + } +end +function socks_http() + outbound_settings = { + servers = { + { + address = server.server, + port = tonumber(server.server_port), + users = (server.auth_enable == "1") and { + { + user = server.username, + pass = server.password + } + } or nil + } + } + } +end +local outbound = {} +function outbound:new(o) + o = o or {} + setmetatable(o, self) + self.__index = self + return o +end +function outbound:handleIndex(index) + local switch = { + vmess = function() + vmess_vless() + end, + vless = function() + vmess_vless() + end, + trojan = function() + trojan_shadowsocks() + end, + shadowsocks = function() + trojan_shadowsocks() + end, + socks = function() + socks_http() + end, + http = function() + socks_http() + end + } + if switch[index] then + switch[index]() + end +end +local settings = outbound:new() +settings:handleIndex(server.v2ray_protocol) +local Xray = { + log = { + -- error = "/var/ssrplus.log", + loglevel = "warning" + }, + -- 传入连接 + inbound = (local_port ~= "0") and { + -- listening + port = tonumber(local_port), + protocol = "dokodemo-door", + settings = {network = proto, followRedirect = true}, + sniffing = {enabled = true, destOverride = {"http", "tls"}} + } or nil, + -- 开启 socks 代理 + inboundDetour = (proto:find("tcp") and socks_port ~= "0") and { + { + -- socks + protocol = "socks", + port = tonumber(socks_port), + settings = {auth = "noauth", udp = true} + } + } or nil, + -- 传出连接 + outbound = { + protocol = server.v2ray_protocol, + settings = outbound_settings, + -- 底层传输配置 + streamSettings = { + network = server.transport or "tcp", + security = (server.xtls == '1') and "xtls" or (server.tls == '1') and "tls" or nil, + tlsSettings = (server.tls == '1' and (server.insecure == "1" or server.tls_host or server.fingerprint)) and { + -- tls + fingerprint = server.fingerprint, + allowInsecure = (server.insecure == "1") and true or nil, + serverName = server.tls_host + } or nil, + xtlsSettings = (server.xtls == '1' and (server.insecure == "1" or server.tls_host)) and { + -- xtls + allowInsecure = (server.insecure == "1") and true or nil, + serverName = server.tls_host + } or nil, + tcpSettings = (server.transport == "tcp" and server.tcp_guise == "http") and { + -- tcp + header = { + type = server.tcp_guise, + request = { + -- request + path = {server.http_path} or {"/"}, + headers = {Host = {server.http_host} or {}} + } + } + } or nil, + kcpSettings = (server.transport == "kcp") and { + mtu = tonumber(server.mtu), + tti = tonumber(server.tti), + uplinkCapacity = tonumber(server.uplink_capacity), + downlinkCapacity = tonumber(server.downlink_capacity), + congestion = (server.congestion == "1") and true or false, + readBufferSize = tonumber(server.read_buffer_size), + writeBufferSize = tonumber(server.write_buffer_size), + header = {type = server.kcp_guise}, + seed = server.seed or nil + } or nil, + wsSettings = (server.transport == "ws") and (server.ws_path or server.ws_host or server.tls_host) and { + -- ws + path = server.ws_path, + headers = (server.ws_host or server.tls_host) and { + -- headers + Host = server.ws_host or server.tls_host + } or nil + } or nil, + httpSettings = (server.transport == "h2") and { + -- h2 + path = server.h2_path or "", + host = {server.h2_host} or nil, + read_idle_timeout = tonumber(server.read_idle_timeout) or nil, + health_check_timeout = tonumber(server.health_check_timeout) or nil + } or nil, + quicSettings = (server.transport == "quic") and { + -- quic + security = server.quic_security, + key = server.quic_key, + header = {type = server.quic_guise} + } or nil, + grpcSettings = (server.transport == "grpc") and { + -- grpc + serviceName = server.serviceName or "", + multiMode = (server.mux == "1") and true or false, + idle_timeout = tonumber(server.idle_timeout) or nil, + health_check_timeout = tonumber(server.health_check_timeout) or nil, + permit_without_stream = (server.permit_without_stream == "1") and true or nil, + initial_windows_size = tonumber(server.initial_windows_size) or nil + } or nil + }, + mux = (server.mux == "1" and server.xtls ~= "1" and server.transport ~= "grpc") and { + -- mux + enabled = true, + concurrency = tonumber(server.concurrency) + } or nil + } or nil +} +local cipher = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA" +local cipher13 = "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384" +local trojan = { + log_level = 3, + run_type = (proto == "nat" or proto == "tcp") and "nat" or "client", + local_addr = "0.0.0.0", + local_port = tonumber(local_port), + remote_addr = server.server, + remote_port = tonumber(server.server_port), + udp_timeout = 60, + -- 传入连接 + password = {server.password}, + -- 传出连接 + ssl = { + verify = (server.insecure == "0") and true or false, + verify_hostname = (server.tls == "1") and true or false, + cert = (server.certificate) and server.certpath or nil, + cipher = cipher, + cipher_tls13 = cipher13, + sni = server.tls_host, + alpn = {"h2", "http/1.1"}, + curve = "", + reuse_session = true, + session_ticket = (server.tls_sessionTicket == "1") and true or false + }, + udp_timeout = 60, + tcp = { + -- tcp + no_delay = true, + keep_alive = true, + reuse_port = true, + fast_open = (server.fast_open == "1") and true or false, + fast_open_qlen = 20 + } +} +local naiveproxy = { + proxy = (server.username and server.password and server.server and server.server_port) and "https://" .. server.username .. ":" .. server.password .. "@" .. server.server .. ":" .. server.server_port, + listen = (proto == "redir") and "redir" .. "://0.0.0.0:" .. tonumber(local_port) or "socks" .. "://0.0.0.0:" .. tonumber(local_port), + ["insecure-concurrency"] = tonumber(server.concurrency) or 1 +} +local ss = { + server = (server.kcp_enable == "1") and "127.0.0.1" or server.server, + server_port = tonumber(server.server_port), + local_address = "0.0.0.0", + local_port = tonumber(local_port), + mode = (proto == "tcp,udp") and "tcp_and_udp" or proto .. "_only", + password = server.password, + method = server.encrypt_method_ss, + timeout = tonumber(server.timeout), + fast_open = (server.fast_open == "1") and true or false, + reuse_port = true +} +local config = {} +function config:new(o) + o = o or {} + setmetatable(o, self) + self.__index = self + return o +end +function config:handleIndex(index) + local switch = { + ss = function() + ss.protocol = socks_port + if server.plugin and server.plugin ~= "none" then + ss.plugin = server.plugin + ss.plugin_opts = server.plugin_opts or nil + end + print(json.stringify(ss, 1)) + end, + ssr = function() + ss.protocol = server.protocol + ss.protocol_param = server.protocol_param + ss.method = server.encrypt_method + ss.obfs = server.obfs + ss.obfs_param = server.obfs_param + print(json.stringify(ss, 1)) + end, + v2ray = function() + print(json.stringify(Xray, 1)) + end, + trojan = function() + print(json.stringify(trojan, 1)) + end, + naiveproxy = function() + print(json.stringify(naiveproxy, 1)) + end + } + if switch[index] then + switch[index]() + end +end +local f = config:new() +f:handleIndex(server.type) diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/genred2config.sh b/luci-app-ssr-plus/root/usr/share/shadowsocksr/genred2config.sh new file mode 100755 index 00000000..3750d3f9 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/genred2config.sh @@ -0,0 +1,95 @@ +#!/bin/sh +argv1=$1 +argv2=$2 +argv3=$3 +argv4=$4 +argv5=$5 +argv6=$6 +argv7=$7 +argv8=$8 +argv9=$9 +cat <<-EOF >$argv1 + base { + log_debug = off; + log_info = off; + log = stderr; + daemon = on; + redirector = iptables; + reuseport = on; + } +EOF +tcp() { + if [ "$argv7" == "0" ]; then + cat <<-EOF >>$argv1 + redsocks { + bind = "0.0.0.0:$argv4"; + relay = "$argv5:$argv6"; + type = socks5; + autoproxy = 0; + timeout = 10; + } + EOF + else + cat <<-EOF >>$argv1 + redsocks { + bind = "0.0.0.0:$argv4"; + relay = "$argv5:$argv6"; + type = socks5; + autoproxy = 0; + timeout = 10; + login = "$argv8"; + password = "$argv9"; + } + EOF + fi +} +udp() { + if [ "$argv7" == "0" ]; then + cat <<-EOF >>$argv1 + redudp { + bind = "0.0.0.0:$argv4"; + relay = "$argv5:$argv6"; + type = socks5; + udp_timeout = 10; + } + EOF + else + cat <<-EOF >>$argv1 + redudp { + bind = "0.0.0.0:$argv4"; + relay = "$argv5:$argv6"; + type = socks5; + udp_timeout = 10; + login = "$argv8"; + password = "$argv9"; + } + EOF + fi +} +case "$argv2" in +socks5) + case "$argv3" in + tcp) + tcp + ;; + udp) + udp + ;; + *) + tcp + udp + ;; + esac + ;; +*) + cat <<-EOF >>$argv1 + redsocks { + bind = "0.0.0.0:$argv4"; + type = direct; + interface = $argv3; + autoproxy = 0; + timeout = 10; + } + EOF + ;; +esac diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh new file mode 100755 index 00000000..66d2b255 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh @@ -0,0 +1,47 @@ +#!/bin/sh +. $IPKG_INSTROOT/etc/init.d/shadowsocksr +netflix() { + if [ -f "$TMP_DNSMASQ_PATH/gfw_list.conf" ]; then + for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done + for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done + fi + cat /etc/ssrplus/netflix.list | sed '/^$/d' | sed '/#/d' | sed "/.*/s/.*/server=\/&\/127.0.0.1#$1\nipset=\/&\/netflix/" >$TMP_DNSMASQ_PATH/netflix_forward.conf +} +mkdir -p $TMP_DNSMASQ_PATH +if [ "$(uci_get_by_type global run_mode router)" == "oversea" ]; then + cp -rf /etc/ssrplus/oversea_list.conf $TMP_DNSMASQ_PATH/ +else + cp -rf /etc/ssrplus/gfw_list.conf $TMP_DNSMASQ_PATH/ + cp -rf /etc/ssrplus/gfw_base.conf $TMP_DNSMASQ_PATH/ +fi +case "$(uci_get_by_type global netflix_server nil)" in +nil) + rm -f $TMP_DNSMASQ_PATH/netflix_forward.conf + ;; +$(uci_get_by_type global global_server nil) | $switch_server | same) + netflix $dns_port + ;; +*) + netflix $tmp_shunt_dns_port + ;; +esac +for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done +for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done +for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done +for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done +for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done +for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done +cat /etc/ssrplus/black.list | sed '/^$/d' | sed '/#/d' | sed "/.*/s/.*/server=\/&\/127.0.0.1#$dns_port\nipset=\/&\/blacklist/" >$TMP_DNSMASQ_PATH/blacklist_forward.conf +cat /etc/ssrplus/white.list | sed '/^$/d' | sed '/#/d' | sed "/.*/s/.*/server=\/&\/127.0.0.1\nipset=\/&\/whitelist/" >$TMP_DNSMASQ_PATH/whitelist_forward.conf +cat /etc/ssrplus/deny.list | sed '/^$/d' | sed '/#/d' | sed "/.*/s/.*/address=\/&\//" >$TMP_DNSMASQ_PATH/denylist.conf +if [ "$(uci_get_by_type global adblock 0)" == "1" ]; then + cp -f /etc/ssrplus/ad.conf $TMP_DNSMASQ_PATH/ + if [ -f "$TMP_DNSMASQ_PATH/ad.conf" ]; then + for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done + fi +else + rm -f $TMP_DNSMASQ_PATH/ad.conf +fi diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/ssrplusupdate.sh b/luci-app-ssr-plus/root/usr/share/shadowsocksr/ssrplusupdate.sh new file mode 100755 index 00000000..9424cfac --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/ssrplusupdate.sh @@ -0,0 +1,6 @@ +#!/bin/sh +/usr/bin/lua /usr/share/shadowsocksr/update.lua +sleep 2s +/usr/share/shadowsocksr/chinaipset.sh /var/etc/ssrplus/china_ssr.txt +sleep 2s +/usr/bin/lua /usr/share/shadowsocksr/subscribe.lua diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua new file mode 100755 index 00000000..ee0177d5 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua @@ -0,0 +1,638 @@ +#!/usr/bin/lua + +------------------------------------------------ +-- This file is part of the luci-app-ssr-plus subscribe.lua +-- @author William Chan +------------------------------------------------ +require "luci.model.uci" +require "nixio" +require "luci.util" +require "luci.sys" +require "luci.jsonc" +-- these global functions are accessed all the time by the event handler +-- so caching them is worth the effort +local tinsert = table.insert +local ssub, slen, schar, sbyte, sformat, sgsub = string.sub, string.len, string.char, string.byte, string.format, string.gsub +local jsonParse, jsonStringify = luci.jsonc.parse, luci.jsonc.stringify +local b64decode = nixio.bin.b64decode +local cache = {} +local nodeResult = setmetatable({}, {__index = cache}) -- update result +local name = 'shadowsocksr' +local uciType = 'servers' +local ucic = luci.model.uci.cursor() +local proxy = ucic:get_first(name, 'server_subscribe', 'proxy', '0') +local switch = ucic:get_first(name, 'server_subscribe', 'switch', '1') +local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url', {}) +local filter_words = ucic:get_first(name, 'server_subscribe', 'filter_words', '过期时间/剩余流量') +local save_words = ucic:get_first(name, 'server_subscribe', 'save_words', '') +local v2_ss = luci.sys.exec('type -t -p ss-redir sslocal') ~= "" and "ss" or "v2ray" +local v2_tj = luci.sys.exec('type -t -p trojan') ~= "" and "trojan" or "v2ray" +local log = function(...) + print(os.date("%Y-%m-%d %H:%M:%S ") .. table.concat({...}, " ")) +end +local encrypt_methods_ss = { + -- aead + "aes-128-gcm", + "aes-192-gcm", + "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305" + --[[ stream + "table", + "rc4", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "salsa20", + "chacha20", + "chacha20-ietf" ]] +} +-- 分割字符串 +local function split(full, sep) + full = full:gsub("%z", "") -- 这里不是很清楚 有时候结尾带个\0 + local off, result = 1, {} + while true do + local nStart, nEnd = full:find(sep, off) + if not nEnd then + local res = ssub(full, off, slen(full)) + if #res > 0 then -- 过滤掉 \0 + tinsert(result, res) + end + break + else + tinsert(result, ssub(full, off, nStart - 1)) + off = nEnd + 1 + end + end + return result +end +-- urlencode +local function get_urlencode(c) + return sformat("%%%02X", sbyte(c)) +end + +local function urlEncode(szText) + local str = szText:gsub("([^0-9a-zA-Z ])", get_urlencode) + str = str:gsub(" ", "+") + return str +end + +local function get_urldecode(h) + return schar(tonumber(h, 16)) +end +local function UrlDecode(szText) + return szText:gsub("+", " "):gsub("%%(%x%x)", get_urldecode) +end + +-- trim +local function trim(text) + if not text or text == "" then + return "" + end + return (sgsub(text, "^%s*(.-)%s*$", "%1")) +end +-- md5 +local function md5(content) + local stdout = luci.sys.exec('echo \"' .. urlEncode(content) .. '\" | md5sum | cut -d \" \" -f1') + -- assert(nixio.errno() == 0) + return trim(stdout) +end +-- base64 +local function base64Decode(text) + local raw = text + if not text then + return '' + end + text = text:gsub("%z", "") + text = text:gsub("_", "/") + text = text:gsub("-", "+") + local mod4 = #text % 4 + text = text .. string.sub('====', mod4 + 1) + local result = b64decode(text) + if result then + return result:gsub("%z", "") + else + return raw + end +end +-- 检查数组(table)中是否存在某个字符值 +-- https://www.04007.cn/article/135.html +local function checkTabValue(tab) + local revtab = {} + for k,v in pairs(tab) do + revtab[v] = true + end + return revtab +end +-- 处理数据 +local function processData(szType, content) + local result = {type = szType, local_port = 1234, kcp_param = '--nocomp'} + if szType == 'ssr' then + local dat = split(content, "/%?") + local hostInfo = split(dat[1], ':') + result.server = hostInfo[1] + result.server_port = hostInfo[2] + result.protocol = hostInfo[3] + result.encrypt_method = hostInfo[4] + result.obfs = hostInfo[5] + result.password = base64Decode(hostInfo[6]) + local params = {} + for _, v in pairs(split(dat[2], '&')) do + local t = split(v, '=') + params[t[1]] = t[2] + end + result.obfs_param = base64Decode(params.obfsparam) + result.protocol_param = base64Decode(params.protoparam) + local group = base64Decode(params.group) + if group then + result.alias = "[" .. group .. "] " + end + result.alias = result.alias .. base64Decode(params.remarks) + elseif szType == 'vmess' then + local info = jsonParse(content) + result.type = 'v2ray' + result.v2ray_protocol = 'vmess' + result.server = info.add + result.server_port = info.port + result.transport = info.net + result.vmess_id = info.id + result.alias = info.ps + -- result.mux = 1 + -- result.concurrency = 8 + if info.net == 'ws' then + result.ws_host = info.host + result.ws_path = info.path + end + if info.net == 'h2' then + result.h2_host = info.host + result.h2_path = info.path + end + if info.net == 'tcp' then + if info.type and info.type ~= "http" then + info.type = "none" + end + result.tcp_guise = info.type + result.http_host = info.host + result.http_path = info.path + end + if info.net == 'kcp' then + result.kcp_guise = info.type + result.mtu = 1350 + result.tti = 50 + result.uplink_capacity = 5 + result.downlink_capacity = 20 + result.read_buffer_size = 2 + result.write_buffer_size = 2 + end + if info.net == 'quic' then + result.quic_guise = info.type + result.quic_key = info.key + result.quic_security = info.securty + end + if info.security then + result.security = info.security + end + if info.tls == "tls" or info.tls == "1" then + result.tls = "1" + result.tls_host = info.host + result.insecure = 1 + else + result.tls = "0" + end + -- https://www.v2fly.org/config/protocols/vmess.html#vmess-md5-认证信息-淘汰机制 + if info.aid and (tonumber(info.aid) > 0) then + result.server = nil + end + elseif szType == "ss" then + local idx_sp = 0 + local alias = "" + if content:find("#") then + idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + end + local info = content:sub(1, idx_sp - 1) + local hostInfo = split(base64Decode(info), "@") + local host = split(hostInfo[2], ":") + local userinfo = base64Decode(hostInfo[1]) + local method = userinfo:sub(1, userinfo:find(":") - 1) + local password = userinfo:sub(userinfo:find(":") + 1, #userinfo) + result.alias = UrlDecode(alias) + result.type = v2_ss + result.password = password + result.server = host[1] + if host[2]:find("/%?") then + local query = split(host[2], "/%?") + result.server_port = query[1] + local params = {} + for _, v in pairs(split(query[2], '&')) do + local t = split(v, '=') + params[t[1]] = t[2] + end + if params.plugin then + local plugin_info = UrlDecode(params.plugin) + local idx_pn = plugin_info:find(";") + if idx_pn then + result.plugin = plugin_info:sub(1, idx_pn - 1) + result.plugin_opts = plugin_info:sub(idx_pn + 1, #plugin_info) + else + result.plugin = plugin_info + end + -- 部分机场下发的插件名为 simple-obfs,这里应该改为 obfs-local + if result.plugin == "simple-obfs" then + result.plugin = "obfs-local" + end + end + else + result.server_port = host[2]:gsub("/","") + end + if not checkTabValue(encrypt_methods_ss)[method] then + -- 1202 年了还不支持 SS AEAD 的屑机场 + result.server = nil + elseif v2_ss == "v2ray" then + result.v2ray_protocol = "shadowsocks" + result.encrypt_method_v2ray_ss = method + else + result.encrypt_method_ss = method + end + elseif szType == "sip008" then + result.type = v2_ss + result.server = content.server + result.server_port = content.server_port + result.password = content.password + result.plugin = content.plugin + result.plugin_opts = content.plugin_opts + result.alias = content.remarks + if not checkTabValue(encrypt_methods_ss)[content.method] then + result.server = nil + elseif v2_ss == "v2ray" then + result.v2ray_protocol = "shadowsocks" + result.encrypt_method_v2ray_ss = content.method + else + result.encrypt_method_ss = content.method + end + elseif szType == "ssd" then + result.type = v2_ss + result.server = content.server + result.server_port = content.port + result.password = content.password + result.plugin_opts = content.plugin_options + result.alias = "[" .. content.airport .. "] " .. content.remarks + if content.plugin == "simple-obfs" then + result.plugin = "obfs-local" + else + result.plugin = content.plugin + end + if not checkTabValue(encrypt_methods_ss)[content.encryption] then + result.server = nil + elseif v2_ss == "v2ray" then + result.v2ray_protocol = "shadowsocks" + result.encrypt_method_v2ray_ss = content.method + else + result.encrypt_method_ss = content.method + end + elseif szType == "trojan" then + local idx_sp = 0 + local alias = "" + if content:find("#") then + idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + end + local info = content:sub(1, idx_sp - 1) + local hostInfo = split(info, "@") + local host = split(hostInfo[2], ":") + local userinfo = hostInfo[1] + local password = userinfo + result.alias = UrlDecode(alias) + result.type = v2_tj + result.v2ray_protocol = "trojan" + result.server = host[1] + -- 按照官方的建议 默认验证ssl证书 + result.insecure = "0" + result.tls = "1" + if host[2]:find("?") then + local query = split(host[2], "?") + result.server_port = query[1] + local params = {} + for _, v in pairs(split(query[2], '&')) do + local t = split(v, '=') + params[t[1]] = t[2] + end + if params.sni then + -- 未指定peer(sni)默认使用remote addr + result.tls_host = params.sni + end + else + result.server_port = host[2] + end + result.password = password + elseif szType == "vless" then + local idx_sp = 0 + local alias = "" + if content:find("#") then + idx_sp = content:find("#") + alias = content:sub(idx_sp + 1, -1) + end + local info = content:sub(1, idx_sp - 1) + local hostInfo = split(info, "@") + local host = split(hostInfo[2], ":") + local uuid = hostInfo[1] + if host[2]:find("?") then + local query = split(host[2], "?") + local params = {} + for _, v in pairs(split(UrlDecode(query[2]), '&')) do + local t = split(v, '=') + params[t[1]] = t[2] + end + result.alias = UrlDecode(alias) + result.type = 'v2ray' + result.v2ray_protocol = 'vless' + result.server = host[1] + result.server_port = query[1] + result.vmess_id = uuid + result.vless_encryption = params.encryption or "none" + result.transport = params.type and (params.type == 'http' and 'h2' or params.type) or "tcp" + if not params.type or params.type == "tcp" then + if params.security == "xtls" then + result.xtls = "1" + result.tls_host = params.sni + result.vless_flow = params.flow + else + result.xtls = "0" + end + end + if params.type == 'ws' then + result.ws_host = params.host + result.ws_path = params.path or "/" + end + if params.type == 'http' then + result.h2_host = params.host + result.h2_path = params.path or "/" + end + if params.type == 'kcp' then + result.kcp_guise = params.headerType or "none" + result.mtu = 1350 + result.tti = 50 + result.uplink_capacity = 5 + result.downlink_capacity = 20 + result.read_buffer_size = 2 + result.write_buffer_size = 2 + result.seed = params.seed + end + if params.type == 'quic' then + result.quic_guise = params.headerType or "none" + result.quic_key = params.key + result.quic_security = params.quicSecurity or "none" + end + if params.type == 'grpc' then + result.serviceName = params.serviceName + end + if params.security == "tls" then + result.tls = "1" + result.tls_host = params.sni + else + result.tls = "0" + end + else + result.server_port = host[2] + end + end + if not result.alias then + if result.server and result.server_port then + result.alias = result.server .. ':' .. result.server_port + else + result.alias = "NULL" + end + end + -- alias 不参与 hashkey 计算 + local alias = result.alias + result.alias = nil + local switch_enable = result.switch_enable + result.switch_enable = nil + result.hashkey = md5(jsonStringify(result)) + result.alias = alias + result.switch_enable = switch_enable + return result +end +-- wget +local function wget(url) + local stdout = luci.sys.exec('uclient-fetch -q --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" --no-check-certificate -O- "' .. url .. '"') + return trim(stdout) +end + +local function check_filer(result) + do + -- 过滤的关键词列表 + local filter_word = split(filter_words, "/") + -- 保留的关键词列表 + local check_save = false + if save_words ~= nil and save_words ~= "" and save_words ~= "NULL" then + check_save = true + end + local save_word = split(save_words, "/") + + -- 检查结果 + local filter_result = false + local save_result = true + + -- 检查是否存在过滤关键词 + for i, v in pairs(filter_word) do + if tostring(result.alias):find(v, nil, true) then + filter_result = true + end + end + + -- 检查是否打开了保留关键词检查,并且进行过滤 + if check_save == true then + for i, v in pairs(save_word) do + if tostring(result.alias):find(v, nil, true) then + save_result = false + end + end + else + save_result = false + end + + -- 不等时返回 + if filter_result == true or save_result == true then + return true + else + return false + end + end +end + +local execute = function() + -- exec + do + if proxy == '0' then -- 不使用代理更新的话先暂停 + log('服务正在暂停') + luci.sys.init.stop(name) + end + for k, url in ipairs(subscribe_url) do + local raw = wget(url) + if #raw > 0 then + local nodes, szType + local groupHash = md5(url) + cache[groupHash] = {} + tinsert(nodeResult, {}) + local index = #nodeResult + -- SSD 似乎是这种格式 ssd:// 开头的 + if raw:find('ssd://') then + szType = 'ssd' + local nEnd = select(2, raw:find('ssd://')) + nodes = base64Decode(raw:sub(nEnd + 1, #raw)) + nodes = jsonParse(nodes) + local extra = {airport = nodes.airport, port = nodes.port, encryption = nodes.encryption, password = nodes.password} + local servers = {} + -- SS里面包着 干脆直接这样 + for _, server in ipairs(nodes.servers) do + tinsert(servers, setmetatable(server, {__index = extra})) + end + nodes = servers + -- SS SIP008 直接使用 Json 格式 + elseif jsonParse(raw) then + nodes = jsonParse(raw).servers or jsonParse(raw) + if nodes[1].server and nodes[1].method then + szType = 'sip008' + end + else + -- ssd 外的格式 + nodes = split(base64Decode(raw):gsub(" ", "_"), "\n") + end + for _, v in ipairs(nodes) do + if v then + local result + if szType then + result = processData(szType, v) + elseif not szType then + local node = trim(v) + local dat = split(node, "://") + if dat and dat[1] and dat[2] then + local dat3 = "" + if dat[3] then + dat3 = "://" .. dat[3] + end + if dat[1] == 'ss' or dat[1] == 'trojan' then + result = processData(dat[1], dat[2] .. dat3) + else + result = processData(dat[1], base64Decode(dat[2])) + end + end + else + log('跳过未知类型: ' .. szType) + end + -- log(result) + if result then + -- 中文做地址的 也没有人拿中文域名搞,就算中文域也有Puny Code SB 机场 + if not result.server or not result.server_port or result.alias == "NULL" or check_filer(result) or result.server:match("[^0-9a-zA-Z%-%.%s]") or cache[groupHash][result.hashkey] then + log('丢弃无效节点: ' .. result.type .. ' 节点, ' .. result.alias) + else + -- log('成功解析: ' .. result.type ..' 节点, ' .. result.alias) + result.grouphashkey = groupHash + tinsert(nodeResult[index], result) + cache[groupHash][result.hashkey] = nodeResult[index][#nodeResult[index]] + end + end + end + end + log('成功解析节点数量: ' .. #nodes) + else + log(url .. ': 获取内容为空') + end + end + end + -- diff + do + if next(nodeResult) == nil then + log("更新失败,没有可用的节点信息") + if proxy == '0' then + luci.sys.init.start(name) + log('订阅失败, 恢复服务') + end + return + end + local add, del = 0, 0 + ucic:foreach(name, uciType, function(old) + if old.grouphashkey or old.hashkey then -- 没有 hash 的不参与删除 + if not nodeResult[old.grouphashkey] or not nodeResult[old.grouphashkey][old.hashkey] then + ucic:delete(name, old['.name']) + del = del + 1 + else + local dat = nodeResult[old.grouphashkey][old.hashkey] + ucic:tset(name, old['.name'], dat) + -- 标记一下 + setmetatable(nodeResult[old.grouphashkey][old.hashkey], {__index = {_ignore = true}}) + end + else + if not old.alias then + if old.server or old.server_port then + old.alias = old.server .. ':' .. old.server_port + log('忽略手动添加的节点: ' .. old.alias) + else + ucic:delete(name, old['.name']) + end + else + log('忽略手动添加的节点: ' .. old.alias) + end + end + end) + for k, v in ipairs(nodeResult) do + for kk, vv in ipairs(v) do + if not vv._ignore then + local section = ucic:add(name, uciType) + ucic:tset(name, section, vv) + ucic:set(name, section, "switch_enable", switch) + add = add + 1 + end + end + end + ucic:commit(name) + -- 如果原有服务器节点已经不见了就尝试换为第一个节点 + local globalServer = ucic:get_first(name, 'global', 'global_server', '') + if globalServer ~= "nil" then + local firstServer = ucic:get_first(name, uciType) + if firstServer then + if not ucic:get(name, globalServer) then + luci.sys.call("/etc/init.d/" .. name .. " stop > /dev/null 2>&1 &") + ucic:commit(name) + ucic:set(name, ucic:get_first(name, 'global'), 'global_server', ucic:get_first(name, uciType)) + ucic:commit(name) + log('当前主服务器节点已被删除,正在自动更换为第一个节点。') + luci.sys.call("/etc/init.d/" .. name .. " start > /dev/null 2>&1 &") + else + log('维持当前主服务器节点。') + luci.sys.call("/etc/init.d/" .. name .. " restart > /dev/null 2>&1 &") + end + else + log('没有服务器节点了,停止服务') + luci.sys.call("/etc/init.d/" .. name .. " stop > /dev/null 2>&1 &") + end + end + log('新增节点数量: ' .. add, '删除节点数量: ' .. del) + log('订阅更新成功') + end +end + +if subscribe_url and #subscribe_url > 0 then + xpcall(execute, function(e) + log(e) + log(debug.traceback()) + log('发生错误, 正在恢复服务') + local firstServer = ucic:get_first(name, uciType) + if firstServer then + luci.sys.call("/etc/init.d/" .. name .. " restart > /dev/null 2>&1 &") -- 不加&的话日志会出现的更早 + log('重启服务成功') + else + luci.sys.call("/etc/init.d/" .. name .. " stop > /dev/null 2>&1 &") -- 不加&的话日志会出现的更早 + log('停止服务成功') + end + end) +end diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua new file mode 100755 index 00000000..3e832712 --- /dev/null +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua @@ -0,0 +1,198 @@ +#!/usr/bin/lua + +------------------------------------------------ +-- This file is part of the luci-app-ssr-plus update.lua +-- By Mattraks +------------------------------------------------ +require "luci.sys" +require "luci.model.uci" +local icount = 0 +local args = arg[1] +local uci = luci.model.uci.cursor() +local TMP_DNSMASQ_PATH = "/tmp/dnsmasq.d/dnsmasq-ssrplus.d" +local TMP_PATH = "/var/etc/ssrplus" +-- match comments/title/whitelist/ip address/excluded_domain +local comment_pattern = "^[!\\[@]+" +local ip_pattern = "^%d+%.%d+%.%d+%.%d+" +local domain_pattern = "([%w%-%_]+%.[%w%.%-%_]+)[%/%*]*" +local excluded_domain = {"apple.com", "sina.cn", "sina.com.cn", "baidu.com", "byr.cn", "jlike.com", "weibo.com", "zhongsou.com", "youdao.com", "sogou.com", "so.com", "soso.com", "aliyun.com", "taobao.com", "jd.com", "qq.com"} +-- gfwlist parameter +local mydnsip = '127.0.0.1' +local mydnsport = '5335' +local ipsetname = 'gfwlist' +local bc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +-- base64decoding +local function base64_dec(data) + data = string.gsub(data, '[^' .. bc .. '=]', '') + return (data:gsub('.', function(x) + if (x == '=') then + return '' + end + local r, f = '', (bc:find(x) - 1) + for i = 6, 1, -1 do + r = r .. (f % 2 ^ i - f % 2 ^ (i - 1) > 0 and '1' or '0') + end + return r; + end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x) + if (#x ~= 8) then + return '' + end + local c = 0 + for i = 1, 8 do + c = c + (x:sub(i, i) == '1' and 2 ^ (8 - i) or 0) + end + return string.char(c) + end)) +end +-- check excluded domain +local function check_excluded_domain(value) + for k, v in ipairs(excluded_domain) do + if value:find(v) then + return true + end + end +end +-- gfwlist转码至dnsmasq格式 +local function generate_gfwlist(type) + local domains = {} + local out = io.open("/tmp/ssr-update." .. type, "w") + for line in io.lines("/tmp/ssr-update.tmp") do + if not (string.find(line, comment_pattern) or string.find(line, ip_pattern) or check_excluded_domain(line)) then + local start, finish, match = string.find(line, domain_pattern) + if (start) then + domains[match] = true + end + end + end + for k, v in pairs(domains) do + out:write(string.format("server=/%s/%s#%s\n", k, mydnsip, mydnsport)) + out:write(string.format("ipset=/%s/%s\n", k, ipsetname)) + end + out:close() + os.remove("/tmp/ssr-update.tmp") +end + +-- adblock转码至dnsmasq格式 +local function generate_adblock(type) + local domains = {} + local out = io.open("/tmp/ssr-update." .. type, "w") + for line in io.lines("/tmp/ssr-update.tmp") do + if not (string.find(line, comment_pattern)) then + local start, finish, match = string.find(line, domain_pattern) + if (start) then + domains[match] = true + end + end + end + for k, v in pairs(domains) do + out:write(string.format("address=/%s/\n", k)) + end + out:close() + os.remove("/tmp/ssr-update.tmp") +end + +local log = function(...) + if args then + print("{ret=" .. table.concat({...}, ",retcount=") .. "}") + else + print(os.date("%Y-%m-%d %H:%M:%S ") .. table.concat({...}, " ")) + end +end + +local function update(url, file, type, file2) + local Num = 1 + local refresh_cmd = "uclient-fetch --no-check-certificate -q -O /tmp/ssr-update." .. type .. " " .. url + local sret = luci.sys.call(refresh_cmd) + if sret == 0 then + if type == "gfw_data" then + local gfwlist = io.open("/tmp/ssr-update." .. type, "r") + local decode = gfwlist:read("*a") + if not decode:find("google") then + decode = base64_dec(decode) + end + gfwlist:close() + -- 写回gfwlist + gfwlist = io.open("/tmp/ssr-update.tmp", "w") + gfwlist:write(decode) + gfwlist:close() + generate_gfwlist(type) + Num = 2 + end + if type == "ad_data" then + local adblock = io.open("/tmp/ssr-update." .. type, "r") + local decode = adblock:read("*a") + if decode:find("address=") then + adblock:close() + else + adblock:close() + -- 写回adblock + adblock = io.open("/tmp/ssr-update.tmp", "w") + adblock:write(decode) + adblock:close() + generate_adblock(type) + end + end + local new_md5 = luci.sys.exec("echo -n $([ -f '/tmp/ssr-update." .. type .. "' ] && md5sum /tmp/ssr-update." .. type .. " | awk '{print $1}')") + local old_md5 = luci.sys.exec("echo -n $([ -f '" .. file .. "' ] && md5sum " .. file .. " | awk '{print $1}')") + if new_md5 == old_md5 then + if args then + log(1) + else + log("你已经是最新数据,无需更新!") + end + else + icount = luci.sys.exec("cat /tmp/ssr-update." .. type .. " | wc -l") + luci.sys.exec("cp -f /tmp/ssr-update." .. type .. " " .. file) + if file2 then + luci.sys.exec("cp -f /tmp/ssr-update." .. type .. " " .. file2) + end + if type == "gfw_data" or type == "ad_data" then + luci.sys.call("/usr/share/shadowsocksr/gfw2ipset.sh") + else + luci.sys.call("/usr/share/shadowsocksr/chinaipset.sh " .. TMP_PATH .. "/china_ssr.txt") + end + if args then + log(0, tonumber(icount) / Num) + else + log("更新成功! 新的总纪录数:" .. tostring(tonumber(icount) / Num)) + end + end + else + if args then + log(-1) + else + log("更新失败!") + end + end + os.remove("/tmp/ssr-update." .. type) +end + +if args then + if args == "gfw_data" then + update(uci:get_first("shadowsocksr", "global", "gfwlist_url"), "/etc/ssrplus/gfw_list.conf", args, TMP_DNSMASQ_PATH .. "/gfw_list.conf") + os.exit(0) + end + if args == "ip_data" then + update(uci:get_first("shadowsocksr", "global", "chnroute_url"), "/etc/ssrplus/china_ssr.txt", args, TMP_PATH .. "/china_ssr.txt") + os.exit(0) + end + if args == "ad_data" then + update(uci:get_first("shadowsocksr", "global", "adblock_url"), "/etc/ssrplus/ad.conf", args, TMP_DNSMASQ_PATH .. "/ad.conf") + os.exit(0) + end + if args == "nfip_data" then + update(uci:get_first("shadowsocksr", "global", "nfip_url"), "/etc/ssrplus/netflixip.list", args) + os.exit(0) + end +else + log("正在更新【GFW列表】数据库") + update(uci:get_first("shadowsocksr", "global", "gfwlist_url"), "/etc/ssrplus/gfw_list.conf", "gfw_data", TMP_DNSMASQ_PATH .. "/gfw_list.conf") + log("正在更新【国内IP段】数据库") + update(uci:get_first("shadowsocksr", "global", "chnroute_url"), "/etc/ssrplus/china_ssr.txt", "ip_data", TMP_PATH .. "/china_ssr.txt") + if uci:get_first("shadowsocksr", "global", "adblock", "0") == "1" then + log("正在更新【广告屏蔽】数据库") + update(uci:get_first("shadowsocksr", "global", "adblock_url"), "/etc/ssrplus/ad.conf", "ad_data", TMP_DNSMASQ_PATH .. "/ad.conf") + end + -- log("正在更新【Netflix IP段】数据库") + -- update(uci:get_first("shadowsocksr", "global", "nfip_url"), "/etc/ssrplus/netflixip.list", "nfip_data") +end diff --git a/luci-app-tencentcloud-cos/.gitignore b/luci-app-tencentcloud-cos/.gitignore new file mode 100644 index 00000000..496ee2ca --- /dev/null +++ b/luci-app-tencentcloud-cos/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/luci-app-tencentcloud-cos/Makefile b/luci-app-tencentcloud-cos/Makefile new file mode 100644 index 00000000..81400402 --- /dev/null +++ b/luci-app-tencentcloud-cos/Makefile @@ -0,0 +1,52 @@ +include $(TOPDIR)/rules.mk + + +PKG_NAME:=luci-app-tencentcloud-cos +PKG_VERSION=1.0 +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk +include $(TOPDIR)/feeds/luci/luci.mk + +define Package/luci-app-tencentcloud-cos + SECTION:=luci + CATEGORY:=LuCI + SUBMENU:=3. Applications + TITLE:=COSFS Client for LuCI + PKGARCH:=all + DEPENDS=+vsftpd-alt +endef + +define Package/luci-app-tencentcloud-cos/description + This package contains LuCI configuration pages for 腾讯云COS. +endef + +define Build/Prepare +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/luci-app-tencentcloud-cos/install + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_DIR) $(1)/etc + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller + + $(INSTALL_CONF) ./files/root/etc/config/cosclient $(1)/etc/config/cosclient + $(INSTALL_CONF) ./files/root/etc/passwd-cosfs $(1)/etc/passwd-cosfs + $(INSTALL_BIN) ./files/root/etc/init.d/cosclient $(1)/etc/init.d/cosclient + $(INSTALL_BIN) ./files/root/etc/uploadData $(1)/etc/uploadData + $(INSTALL_BIN) ./files/root/etc/uci-defaults/cosclient $(1)/etc/uci-defaults/cosclient + $(INSTALL_DATA) ./files/root/usr/lib/lua/luci/model/cbi/cosclient.lua $(1)/usr/lib/lua/luci/model/cbi/cosclient.lua + $(INSTALL_DATA) ./files/root/usr/lib/lua/luci/controller/cosclient.lua $(1)/usr/lib/lua/luci/controller/cosclient.lua +endef + +$(eval $(call BuildPackage,luci-app-tencentcloud-cos)) diff --git a/luci-app-tencentcloud-cos/files/root/etc/config/cosclient b/luci-app-tencentcloud-cos/files/root/etc/config/cosclient new file mode 100644 index 00000000..7ea3d0ab --- /dev/null +++ b/luci-app-tencentcloud-cos/files/root/etc/config/cosclient @@ -0,0 +1,9 @@ +config cosclient + option secretid '' + option secretkey '' + option bucket '' + option region '' + option sharename '' + option folder 'cos' + option siteid '' + diff --git a/luci-app-tencentcloud-cos/files/root/etc/init.d/cosclient b/luci-app-tencentcloud-cos/files/root/etc/init.d/cosclient new file mode 100644 index 00000000..578f51e2 --- /dev/null +++ b/luci-app-tencentcloud-cos/files/root/etc/init.d/cosclient @@ -0,0 +1,51 @@ +#!/bin/sh /etc/rc.common +START=100 + +run_cos() +{ + local enable + config_get_bool enable $1 enable + + if [ $enable ]; then + local bucket + local region + local folder + local secretid + local secretkey + local requestAddrPre="http://cos." + local requestAddrEnd=".myqcloud.com" + + config_get bucket $1 bucket + config_get region $1 region + config_get folder $1 folder + config_get secretid $1 secretid + config_get secretkey $1 secretkey + local flodername="/home/ftp/"$folder + if [ ! -d "$flodername" ];then + mkdir $flodername + fi + echo $bucket":"$secretid":"$secretkey > /etc/passwd-cosfs + uci set vsftpd.@anonymous[-1].enable=1 + uci set vsftpd.@anonymous[-1].enable=1 + uci set vsftpd.@anonymous[-1].enable=1 + uci set vsftpd.@anonymous[-1].enable=1 + uci commit vsftpd + /etc/init.d/vsftpd restart + cosfs $bucket $flodername -ourl=$requestAddrPre$region$requestAddrEnd -odbglevel=info -onoxattr -oallow_other + echo "COSFS Client has started." + fi +} + +start() +{ + count=`mount -v | grep fuse.cosfs | awk '{print $3}' | wc -l` + if [ "$count" -ge 1 ]; then + mount -v | grep fuse.cosfs | awk '{print $3}' | xargs umount + fi + config_load cosclient + config_foreach run_cos cosclient +} +stop(){ + echo "STOP" +} + diff --git a/luci-app-tencentcloud-cos/files/root/etc/passwd-cosfs b/luci-app-tencentcloud-cos/files/root/etc/passwd-cosfs new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-tencentcloud-cos/files/root/etc/uci-defaults/cosclient b/luci-app-tencentcloud-cos/files/root/etc/uci-defaults/cosclient new file mode 100644 index 00000000..31fc34c2 --- /dev/null +++ b/luci-app-tencentcloud-cos/files/root/etc/uci-defaults/cosclient @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@cosclient[-1] + add ucitrack cosclient + set ucitrack.@cosclient[-1].init=cosclient + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-tencentcloud-cos/files/root/etc/uploadData b/luci-app-tencentcloud-cos/files/root/etc/uploadData new file mode 100644 index 00000000..6c4c4b5b --- /dev/null +++ b/luci-app-tencentcloud-cos/files/root/etc/uploadData @@ -0,0 +1,44 @@ +#!/bin/bash + +runflag=$1 +if [[ $1 -eq 1 ]]; then + enabled=$2 + secretId=$3 + secretKey=$4 + bucket=$5 + region=$6 + uin=`/etc/openw $3 $4` + siteid=`uci get cosclient.@cosclient[-1].siteid` + siteurl="openwrt" + siteapp="openwrt" + plugintype="cos" + if [[ ! $siteid ]]; then + $siteid="openwrt_"$(rand 1 50) + `uci set cosclient.@cosclient[-1].sitid=$siteid` + `uci commit cosclient` + fi + . /usr/share/libubox/jshn.sh + json_init + json_add_string "action" "save_config" + json_add_string "plugin_type" "cos" + json_add_object "data" + json_add_string "site_id" $siteid + json_add_string "site_url" $siteurl + json_add_string "site_app" $siteapp + json_add_string "uin" $uin + json_add_string "cust_sec_on" "2" + json_add_object "others" + json_add_string "cos_bucket" $bucket + json_add_string "cos_region" $region + + + postdata=`json_dump` + `curl -X POST https://openapp.qq.com/api/public/index.php/upload -H "Content-Type: application/json" -d "$postdata"` +fi + +function rand(){ + min=$1 + max=$(($2-$min+1)) + num=$(date +%s%N) + echo $(($num%$max+$min)) +} \ No newline at end of file diff --git a/luci-app-tencentcloud-cos/files/root/usr/lib/lua/luci/controller/cosclient.lua b/luci-app-tencentcloud-cos/files/root/usr/lib/lua/luci/controller/cosclient.lua new file mode 100644 index 00000000..91cc5def --- /dev/null +++ b/luci-app-tencentcloud-cos/files/root/usr/lib/lua/luci/controller/cosclient.lua @@ -0,0 +1,6 @@ +module("luci.controller.cosclient", package.seeall) + +function index() + entry({"admin", "tencentcloud"}, firstchild(), "腾讯云设置", 30).dependent=false + entry({"admin", "tencentcloud", "cosclient"}, cbi("cosclient"), _("对象存储(COS)"), 1) + end \ No newline at end of file diff --git a/luci-app-tencentcloud-cos/files/root/usr/lib/lua/luci/model/cbi/cosclient.lua b/luci-app-tencentcloud-cos/files/root/usr/lib/lua/luci/model/cbi/cosclient.lua new file mode 100644 index 00000000..3c44ebdc --- /dev/null +++ b/luci-app-tencentcloud-cos/files/root/usr/lib/lua/luci/model/cbi/cosclient.lua @@ -0,0 +1,57 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2010 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 +]]-- + +require("luci.sys") + +m = Map("cosclient", translate("COSFS Client"), translate("Configure COSFS Client.")) + +s = m:section(TypedSection, "cosclient", "") +s.addremove = false +s.anonymous = true + +enable = s:option(Flag, "enable", translate("EnableCos")) +secretid = s:option(Value, "secretid", translate("secretId")) +secretkey = s:option(Value, "secretkey", translate("secretKey")) +bucket = s:option(Value, "bucket", translate("BucketName")) +region = s:option(Value, "region", translate("Region")) +folder = s:option(Value, "folder", translate("FolderName")) + +local apply=luci.http.formvalue("cbi.apply") +if apply then +local key, val +local Enable +local Secretid +local Secretkey +local Bucket +local Region +for key, val in pairs(luci.http.formvalue()) do + if(string.find(key,"enable")) + then + Enable=val + elseif(string.find(key,"secretid")) + then + Secretid=val + elseif(string.find(key,"secretkey")) + then + Secretkey=val + elseif(string.find(key,"bucket")) + then + Bucket=val + elseif(string.find(key,"region")) + then + Region=val + end +end + luci.sys.call("/etc/uploadData 1 "..Enable.." "..Secretid.." "..Secretkey.." "..Bucket.." "..Region.." > /dev/null") +end + +return m diff --git a/luci-app-tencentddns/LICENSE b/luci-app-tencentddns/LICENSE new file mode 100644 index 00000000..989e2c59 --- /dev/null +++ b/luci-app-tencentddns/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/luci-app-tencentddns/Makefile b/luci-app-tencentddns/Makefile new file mode 100644 index 00000000..2f43dff6 --- /dev/null +++ b/luci-app-tencentddns/Makefile @@ -0,0 +1,86 @@ +# +# Copyright (C) 2020 tencentcloud +# +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-tencentddns +PKG_VERSION:=0.1.0 +PKG_RELEASE:=1 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=tencentcloud + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/luci-app-tencentddns + SECTION:=luci + CATEGORY:=LuCI + SUBMENU:=3. Applications + TITLE:=LuCI Support for tencentddns + PKGARCH:=all + DEPENDS:=+openssl-util +curl +endef + +define Package/luci-app-tencentddns/description + LuCI Support for TencentDDNS. +endef + +define Build/Prepare + $(foreach po,$(wildcard ${CURDIR}/files/luci/i18n/*.po), \ + po2lmo $(po) $(PKG_BUILD_DIR)/$(patsubst %.po,%.lmo,$(notdir $(po)));) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/luci-app-tencentddns/postinst +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + if [ -f /etc/uci-defaults/luci-tencentddns ]; then + ( . /etc/uci-defaults/luci-tencentddns ) && \ + rm -f /etc/uci-defaults/luci-tencentddns + fi + rm -rf /tmp/luci-indexcache /tmp/luci-modulecache +fi +exit 0 +endef + +define Package/luci-app-tencentddns/prerm +#!/bin/sh +/etc/init.d/tencentddns stop +exit 0 +endef + +define Package/luci-app-tencentddns/conffiles +/etc/config/tencentddns +endef + +define Package/luci-app-tencentddns/install + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n + $(INSTALL_DATA) $(PKG_BUILD_DIR)/tencentddns.*.lmo $(1)/usr/lib/lua/luci/i18n/ + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller + $(INSTALL_DATA) ./files/luci/controller/*.lua $(1)/usr/lib/lua/luci/controller/ + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/tencentddns + $(INSTALL_DATA) ./files/luci/model/cbi/*.lua $(1)/usr/lib/lua/luci/model/cbi/ + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_DATA) ./files/root/etc/config/tencentddns $(1)/etc/config/tencentddns + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/root/etc/init.d/tencentddns $(1)/etc/init.d/tencentddns + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./files/root/etc/uci-defaults/luci-tencentddns $(1)/etc/uci-defaults/luci-tencentddns + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) ./files/root/usr/sbin/tencentddns $(1)/usr/sbin/tencentddns + $(INSTALL_DIR) $(1)/etc + $(INSTALL_BIN) ./files/root/etc/tencentddnsupload $(1)/etc/tencentddnsupload +endef + +$(eval $(call BuildPackage,luci-app-tencentddns)) diff --git a/luci-app-tencentddns/files/luci/controller/tencentddns.lua b/luci-app-tencentddns/files/luci/controller/tencentddns.lua new file mode 100644 index 00000000..39bd044e --- /dev/null +++ b/luci-app-tencentddns/files/luci/controller/tencentddns.lua @@ -0,0 +1,5 @@ +module("luci.controller.tencentddns",package.seeall) +function index() +entry({"admin", "tencentcloud"}, firstchild(), "腾讯云设置", 30).dependent=false +entry({"admin", "tencentcloud", "tencentddns"},cbi("tencentddns"),_("TencentDDNS"),2) +end diff --git a/luci-app-tencentddns/files/luci/i18n/tencentddns.zh-cn.po b/luci-app-tencentddns/files/luci/i18n/tencentddns.zh-cn.po new file mode 100644 index 00000000..412b6065 --- /dev/null +++ b/luci-app-tencentddns/files/luci/i18n/tencentddns.zh-cn.po @@ -0,0 +1,60 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "TencentDDNS" +msgstr "腾讯云DDNS" + +msgid "enable" +msgstr "启用" + +msgid "Clean Before Update" +msgstr "清除所有同名记录" + +msgid "Clean Before Update mean" +msgstr "如果有相同的域名的A解析记录,DDNS会将其覆盖" + +msgid "Base" +msgstr "基本设置" + +msgid "Key ID" +msgstr "密钥ID" + +msgid "Key ID Mean" +msgstr "DNSPod后台密钥管理中的ID" + +msgid "Key Token" +msgstr "密钥Token" + +msgid "Key Token Mean" +msgstr "DNSPod后台密钥管理中的Token" + + +msgid "WAN-IP Source" +msgstr "WAN-IP来源" + +msgid "Select WAN-IP Source" +msgstr "选择WAN-IP来源" + +msgid "Select the WAN-IP Source for TencentDDNS, like wan/internet" +msgstr "动态域名的IP来源,如wan/internet" + +msgid "Main Domain" +msgstr "主域名" + +msgid "Sub Domain" +msgstr "子域名" + +msgid "For example: test.github.com -> github.com" +msgstr "例如: test.github.com 则填: github.com" + +msgid "For example: test.github.com -> test" +msgstr "例如: test.github.com, 则填: test" + +msgid "Inspection Time" +msgstr "检查时间" + +msgid "Unit: Minute, Range: 1-59" +msgstr "域名检查间隔时间,单位分钟,范围1-59" + +msgid "Update Log" +msgstr "更新记录" diff --git a/luci-app-tencentddns/files/luci/model/cbi/tencentddns.lua b/luci-app-tencentddns/files/luci/model/cbi/tencentddns.lua new file mode 100644 index 00000000..52af23ae --- /dev/null +++ b/luci-app-tencentddns/files/luci/model/cbi/tencentddns.lua @@ -0,0 +1,83 @@ +local a=require"luci.sys" +local e=luci.model.uci.cursor() +local e=require"nixio.fs" +require("luci.sys") +local t,e,o + +t=Map("tencentddns",translate("TencentDDNS")) + +e=t:section(TypedSection,"base",translate("Base")) +e.anonymous=true + +enable=e:option(Flag,"enable",translate("enable")) +enable.rmempty=false + +enable=e:option(Flag,"clean",translate("Clean Before Update"),translate("Clean Before Update mean")) +enable.rmempty=false + +token=e:option(Value,"key_id",translate("Key ID"),translate("Key ID Mean")) +email=e:option(Value,"key_token",translate("Key Token"),translate("Key Token Mean")) +email.password = true + +iface=e:option(ListValue,"interface",translate("WAN-IP Source"),translate("Select the WAN-IP Source for TencentDDNS, like wan/internet")) +iface:value("",translate("Select WAN-IP Source")) +iface:value("internet") +iface:value("wan") + +iface.rmempty=false +main=e:option(Value,"main_domain",translate("Main Domain"),translate("For example: test.github.com -> github.com")) +main.rmempty=false +sub=e:option(Value,"sub_domain",translate("Sub Domain"),translate("For example: test.github.com -> test")) +sub.rmempty=false +time=e:option(Value,"time",translate("Inspection Time"),translate("Unit: Minute, Range: 1-59")) +time.rmempty=false + +e=t:section(TypedSection,"base",translate("Update Log")) +e.anonymous=true +local a="/var/log/tencentddns.log" +tvlog=e:option(TextValue,"sylogtext") +tvlog.rows=16 +tvlog.readonly="readonly" +tvlog.wrap="off" + +function tvlog.cfgvalue(e,e) + sylogtext="" + if a and nixio.fs.access(a) then + sylogtext=luci.sys.exec("tail -n 100 %s"%a) + end + return sylogtext +end + + +tvlog.write=function(e,e,e) +end +local e=luci.http.formvalue("cbi.apply") +if e then + local key, val + local Enable + local Keyid + local Keytoken + local Domain + local Subdomian + for key, val in pairs(luci.http.formvalue()) do + if(string.find(key,"enable")) + then + Enable=val + elseif(string.find(key,"key_id")) + then + Keyid=val + elseif(string.find(key,"key_token")) + then + Keytoken=val + elseif(string.find(key,"main_domain")) + then + Domain=val + elseif(string.find(key,"sub_domain")) + then + Subdomian=val + end + end + io.popen("/etc/tencentddnsupload 1 "..Keyid.." "..Domain.." "..Subdomian.." > /dev/null") + io.popen("/etc/init.d/tencentddns restart") +end +return t diff --git a/luci-app-tencentddns/files/root/etc/config/tencentddns b/luci-app-tencentddns/files/root/etc/config/tencentddns new file mode 100644 index 00000000..8a5496a2 --- /dev/null +++ b/luci-app-tencentddns/files/root/etc/config/tencentddns @@ -0,0 +1,5 @@ + +config base 'base' + option enable '0' + option time '10' + option siteid '' diff --git a/luci-app-tencentddns/files/root/etc/init.d/tencentddns b/luci-app-tencentddns/files/root/etc/init.d/tencentddns new file mode 100644 index 00000000..7f9767f7 --- /dev/null +++ b/luci-app-tencentddns/files/root/etc/init.d/tencentddns @@ -0,0 +1,65 @@ +#!/bin/sh /etc/rc.common + +START=80 +NAME=tencentddns + +NE_TIPS='TencentDDNS NOT ENABLED' + +restart() { + start +} + +uci_get_by_name() { + local ret=$(uci get $NAME.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_bool_by_name() { + case "$(uci_get_by_name $1 $2)" in + 1|on|true|yes|enabled) return 0;; + esac + return 1 +} + +add_hotplug() { + cat < "/etc/hotplug.d/iface/${START}-${NAME}" +#!/bin/sh /etc/rc.common + +[ "Z\$ACTION" = "Zifup" -a "Z\$INTERFACE" = "Zwan" ] || exit 0 + +DATE=\$(date +'%Y-%m-%d %H:%M:%S') +( sleep 10 && ( echo "\$DATE IFUP-WAN" && /usr/sbin/tencentddns ) >> /var/log/tencentddns.log 2>&1 ) & + +exit 0 +EOF + chmod +x "/etc/hotplug.d/iface/${START}-${NAME}" +} + +start() { + $(uci_bool_by_name base enable) || { + stop + return 0 + } + + add_hotplug + + sed -i "/${NE_TIPS}/d" /var/log/tencentddns.log + + time=$(uci_get_by_name base time 10) + [ 0 -lt $time -a $time -lt 60 ] || time=10 + + [ -f /etc/crontabs/root ] || mkdir -p /etc/crontabs && touch /etc/crontabs/root + sed -i '/tencentddns/d' /etc/crontabs/root + echo "*/$time * * * * /usr/sbin/tencentddns >> /var/log/tencentddns.log 2>&1" >> /etc/crontabs/root + /etc/init.d/cron restart + + ( /usr/sbin/tencentddns >> /var/log/tencentddns.log 2>&1 ) & +} + +stop() { + rm -rf "/etc/hotplug.d/iface/${START}-${NAME}" + sed -i '/tencentddns/d' /etc/crontabs/root >/dev/null 2>&1 + /etc/init.d/cron restart + echo "${NE_TIPS}" > /var/log/tencentddns.log +} + diff --git a/luci-app-tencentddns/files/root/etc/tencentddnsupload b/luci-app-tencentddns/files/root/etc/tencentddnsupload new file mode 100644 index 00000000..48b70470 --- /dev/null +++ b/luci-app-tencentddns/files/root/etc/tencentddnsupload @@ -0,0 +1,41 @@ +#!/bin/bash + +function rand(){ + min=$1 + max=$(($2-$min+1)) + num=$(date +%s%N) + echo $(($num%$max+$min)) +} + +runflag=$1 +if [[ $1 -eq 1 ]]; then + uin=$2 + domain=$3 + subdomain=$4 + siteid=`uci get tencentddns.base.siteid` + siteurl="openwrt" + siteapp="openwrt" + plugintype="ddns" + if [[ ! $siteid ]]; then + siteid="openwrt_"$(rand 1 50) + uci set tencentddns.base.siteid=$siteid + uci commit tencentddns + fi + . /usr/share/libubox/jshn.sh + json_init + json_add_string "action" "save_config" + json_add_string "plugin_type" "ddns" + json_add_object "data" + json_add_string "site_id" $siteid + json_add_string "site_url" $siteurl + json_add_string "site_app" $siteapp + json_add_string "uin" $uin + json_add_string "cust_sec_on" "2" + json_add_object "others" + json_add_string "domain" $domain + json_add_string "sub_domain" $subdomain + + + postdata=`json_dump` + `curl -X POST https://openapp.qq.com/api/public/index.php/upload -H "Content-Type: application/json" --data-raw "$postdata"` +fi \ No newline at end of file diff --git a/luci-app-tencentddns/files/root/etc/uci-defaults/luci-tencentddns b/luci-app-tencentddns/files/root/etc/uci-defaults/luci-tencentddns new file mode 100644 index 00000000..1062f429 --- /dev/null +++ b/luci-app-tencentddns/files/root/etc/uci-defaults/luci-tencentddns @@ -0,0 +1,10 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@tencentddns[-1] + add ucitrack tencentddns + set ucitrack.@tencentddns[-1].init=tencentddns + commit ucitrack +EOF + +exit 0 diff --git a/luci-app-tencentddns/files/root/usr/sbin/tencentddns b/luci-app-tencentddns/files/root/usr/sbin/tencentddns new file mode 100755 index 00000000..e29fdfdb --- /dev/null +++ b/luci-app-tencentddns/files/root/usr/sbin/tencentddns @@ -0,0 +1,166 @@ +#!/bin/sh + +NAME=tencentddns +log_file=/var/log/$NAME.log + +uci_get_by_name() { + local ret=$(uci get $NAME.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_bool_by_name() { + case "$(uci_get_by_name $1 $2)" in + 1|on|true|yes|enabled) return 0;; + esac + return 1 +} + +intelnetip() { + tmp_ip=`curl -sL --connect-timeout 3 ns1.dnspod.net:6666` + if [ "Z$tmp_ip" == "Z" ]; then + tmp_ip=`curl -sL --connect-timeout 3 members.3322.org/dyndns/getip` + fi + if [ "Z$tmp_ip" == "Z" ]; then + tmp_ip=`curl -sL --connect-timeout 3 14.215.150.17:6666` + fi + if [ "Z$tmp_ip" == "Z" ]; then + tmp_ip=`curl -sL --connect-timeout 3 whatismyip.akamai.com` + fi + echo -n $tmp_ip +} + +resolve2ip() { + # resolve2ip domain + domain=$1 + tmp_ip=`nslookup $domain f1g1ns1.dnspod.net 2>/dev/null | sed '/^Server/d; /#53$/d' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | tail -n1` + if [ "Z$tmp_ip" == "Z" ]; then + tmp_ip=`nslookup $domain f1g1ns2.dnspod.net 2>/dev/null | sed '/^Server/d; /#53$/d' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | tail -n1` + fi + if [ "Z$tmp_ip" == "Z" ]; then + tmp_ip=`nslookup $domain 114.114.115.115 2>/dev/null | sed '/^Server/d; /#53$/d' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | tail -n1` + fi + if [ "Z$tmp_ip" == "Z" ]; then + tmp_ip=`curl -sL --connect-timeout 3 "119.29.29.29/d?dn=$domain"` + fi + echo -n $tmp_ip +} + +check_tencentddns() { + echo "$DATE WAN-IP: ${ip}" + if [ "Z$ip" == "Z" ]; then + echo "$DATE ERROR, cant get WAN-IP..." + return 0 + fi + current_ip=$(resolve2ip "$sub_dm.$main_dm") + if [ "Z$current_ip" == "Z" ]; then + rrid='' # NO Resolve IP Means new Record_ID + fi + echo "$DATE DOMAIN-IP: ${current_ip}" + if [ "Z$ip" == "Z$current_ip" ]; then + echo "$DATE IP dont need UPDATE..." + return 0 + else + echo "$DATE UPDATING..." + return 1 + fi +} + +urlencode() { + # urlencode url + out='' + for c in $(echo -n $1 | sed 's/[^\n]/&\n/g'); do + case $c in + [a-zA-Z0-9._-]) out="$out$c" ;; + *) out="$out$(printf '%%%02X' "'$c")" ;; + esac + done + echo -n $out +} + +send_request() { + curl -s -X POST https://dnsapi.cn/$1 -d "login_token=$ak_id,$ak_token&format=json&"$2 +} + +get_recordid() { + sed 's/"records"/\n/g' | sed -n '2p' | sed 's/ttl/\n/g' | sed -n 's/.*"id[^0-9]*\([0-9]*\).*/\1\n/p' | sort -ru | sed /^$/d +} + + +get_recordid2() { + sed 's/"record"/\n/g' | sed -n '2p' | sed -n 's/.*"id[^0-9]*\([0-9]*\).*/\1\n/p' | sort -ru | sed /^$/d +} + +query_recordid() { + send_request "Record.List" "domain=$main_dm&sub_domain=$sub_dm&record_type=A" +} + +update_record() { + send_request "Record.Modify" "domain=$main_dm&sub_domain=$sub_dm&record_id=$1&record_type=A&record_line=%e9%bb%98%e8%ae%a4&value=$ip" +} + +add_record() { + send_request "Record.Create" "domain=$main_dm&sub_domain=$sub_dm&record_type=A&record_line=%e9%bb%98%e8%ae%a4&value=$ip" +} + +del_record() { + send_request "Record.Remove" "domain=$main_dm&record_id=$1" +} + +do_ddns_record() { + if uci_bool_by_name base clean ; then + query_recordid | get_recordid | while read rr; do + echo "$DATE Clean record $sub_dm.$main_dm: $rr" + del_record $rr >/dev/null + timestamp=$(date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ") + done + rrid='' + fi + if [ "Z$rrid" == "Z" ]; then + rrid=`query_recordid | get_recordid` + fi + if [ "Z$rrid" == "Z" ]; then + rrid=`add_record | get_recordid2` + echo "$DATE ADD record $rrid" + else + update_record $rrid >/dev/null 2>&1 + echo "$DATE UPDATE record $rrid" + fi + if [ "Z$rrid" == "Z" ]; then + # failed + echo "$DATE # ERROR, Please Check Config/Time" + else + # save rrid + uci set tencentddns.base.record_id=$rrid + uci commit tencentddns + echo "$DATE # UPDATED($ip)" + fi +} + +clean_log() { + if [ $(cat $log_file 2>/dev/null | wc -l) -ge 16 ]; then + rm -f $log_file && touch $log_file + echo "$DATE Log Cleaned" + fi +} + +[ -x /usr/bin/openssl -a -x /usr/bin/curl -a -x /bin/sed ] || + ( echo "Need [ openssl + curl + sed ]" && exit 1 ) + +ak_id=$(uci_get_by_name base key_id) +ak_token=$(uci_get_by_name base key_token) +rrid=$(uci_get_by_name base record_id) +main_dm=$(uci_get_by_name base main_domain) +sub_dm=$(uci_get_by_name base sub_domain) + +iface=$(uci_get_by_name base interface) +if [ "Z$iface" == "Zinternet" -o "Z$iface" == "Z" ]; then + ip=$(intelnetip) +else + ip=$(ubus call network.interface.$iface status | grep '"address"' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1) +fi + +DATE=$(date +'%Y-%m-%d %H:%M:%S') +timestamp=$(date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ") + +clean_log +check_tencentddns || do_ddns_record diff --git a/luci-app-tencentddns/tools/po2lmo/Makefile b/luci-app-tencentddns/tools/po2lmo/Makefile new file mode 100644 index 00000000..ad2c1332 --- /dev/null +++ b/luci-app-tencentddns/tools/po2lmo/Makefile @@ -0,0 +1,12 @@ + +INSTALL = install +PREFIX = /usr/bin + +po2lmo: src/po2lmo.o src/template_lmo.o + $(CC) $(LDFLAGS) -o src/po2lmo src/po2lmo.o src/template_lmo.o + +install: + $(INSTALL) -m 755 src/po2lmo $(PREFIX) + +clean: + $(RM) src/po2lmo src/*.o diff --git a/luci-app-tencentddns/tools/po2lmo/src/po2lmo.c b/luci-app-tencentddns/tools/po2lmo/src/po2lmo.c new file mode 100644 index 00000000..0da792b6 --- /dev/null +++ b/luci-app-tencentddns/tools/po2lmo/src/po2lmo.c @@ -0,0 +1,247 @@ +/* + * lmo - Lua Machine Objects - PO to LMO conversion tool + * + * Copyright (C) 2009-2012 Jo-Philipp Wich + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "template_lmo.h" + +static void die(const char *msg) +{ + fprintf(stderr, "Error: %s\n", msg); + exit(1); +} + +static void usage(const char *name) +{ + fprintf(stderr, "Usage: %s input.po output.lmo\n", name); + exit(1); +} + +static void print(const void *ptr, size_t size, size_t nmemb, FILE *stream) +{ + if( fwrite(ptr, size, nmemb, stream) == 0 ) + die("Failed to write stdout"); +} + +static int extract_string(const char *src, char *dest, int len) +{ + int pos = 0; + int esc = 0; + int off = -1; + + for( pos = 0; (pos < strlen(src)) && (pos < len); pos++ ) + { + if( (off == -1) && (src[pos] == '"') ) + { + off = pos + 1; + } + else if( off >= 0 ) + { + if( esc == 1 ) + { + switch (src[pos]) + { + case '"': + case '\\': + off++; + break; + } + dest[pos-off] = src[pos]; + esc = 0; + } + else if( src[pos] == '\\' ) + { + dest[pos-off] = src[pos]; + esc = 1; + } + else if( src[pos] != '"' ) + { + dest[pos-off] = src[pos]; + } + else + { + dest[pos-off] = '\0'; + break; + } + } + } + + return (off > -1) ? strlen(dest) : -1; +} + +static int cmp_index(const void *a, const void *b) +{ + uint32_t x = ((const lmo_entry_t *)a)->key_id; + uint32_t y = ((const lmo_entry_t *)b)->key_id; + + if (x < y) + return -1; + else if (x > y) + return 1; + + return 0; +} + +static void print_uint32(uint32_t x, FILE *out) +{ + uint32_t y = htonl(x); + print(&y, sizeof(uint32_t), 1, out); +} + +static void print_index(void *array, int n, FILE *out) +{ + lmo_entry_t *e; + + qsort(array, n, sizeof(*e), cmp_index); + + for (e = array; n > 0; n--, e++) + { + print_uint32(e->key_id, out); + print_uint32(e->val_id, out); + print_uint32(e->offset, out); + print_uint32(e->length, out); + } +} + +int main(int argc, char *argv[]) +{ + char line[4096]; + char key[4096]; + char val[4096]; + char tmp[4096]; + int state = 0; + int offset = 0; + int length = 0; + int n_entries = 0; + void *array = NULL; + lmo_entry_t *entry = NULL; + uint32_t key_id, val_id; + + FILE *in; + FILE *out; + + if( (argc != 3) || ((in = fopen(argv[1], "r")) == NULL) || ((out = fopen(argv[2], "w")) == NULL) ) + usage(argv[0]); + + memset(line, 0, sizeof(key)); + memset(key, 0, sizeof(val)); + memset(val, 0, sizeof(val)); + + while( (NULL != fgets(line, sizeof(line), in)) || (state >= 2 && feof(in)) ) + { + if( state == 0 && strstr(line, "msgid \"") == line ) + { + switch(extract_string(line, key, sizeof(key))) + { + case -1: + die("Syntax error in msgid"); + case 0: + state = 1; + break; + default: + state = 2; + } + } + else if( state == 1 || state == 2 ) + { + if( strstr(line, "msgstr \"") == line || state == 2 ) + { + switch(extract_string(line, val, sizeof(val))) + { + case -1: + state = 4; + break; + default: + state = 3; + } + } + else + { + switch(extract_string(line, tmp, sizeof(tmp))) + { + case -1: + state = 2; + break; + default: + strcat(key, tmp); + } + } + } + else if( state == 3 ) + { + switch(extract_string(line, tmp, sizeof(tmp))) + { + case -1: + state = 4; + break; + default: + strcat(val, tmp); + } + } + + if( state == 4 ) + { + if( strlen(key) > 0 && strlen(val) > 0 ) + { + key_id = sfh_hash(key, strlen(key)); + val_id = sfh_hash(val, strlen(val)); + + if( key_id != val_id ) + { + n_entries++; + array = realloc(array, n_entries * sizeof(lmo_entry_t)); + entry = (lmo_entry_t *)array + n_entries - 1; + + if (!array) + die("Out of memory"); + + entry->key_id = key_id; + entry->val_id = val_id; + entry->offset = offset; + entry->length = strlen(val); + + length = strlen(val) + ((4 - (strlen(val) % 4)) % 4); + + print(val, length, 1, out); + offset += length; + } + } + + state = 0; + memset(key, 0, sizeof(key)); + memset(val, 0, sizeof(val)); + } + + memset(line, 0, sizeof(line)); + } + + print_index(array, n_entries, out); + + if( offset > 0 ) + { + print_uint32(offset, out); + fsync(fileno(out)); + fclose(out); + } + else + { + fclose(out); + unlink(argv[2]); + } + + fclose(in); + return(0); +} diff --git a/luci-app-tencentddns/tools/po2lmo/src/template_lmo.c b/luci-app-tencentddns/tools/po2lmo/src/template_lmo.c new file mode 100644 index 00000000..27205a72 --- /dev/null +++ b/luci-app-tencentddns/tools/po2lmo/src/template_lmo.c @@ -0,0 +1,328 @@ +/* + * lmo - Lua Machine Objects - Base functions + * + * Copyright (C) 2009-2010 Jo-Philipp Wich + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "template_lmo.h" + +/* + * Hash function from http://www.azillionmonkeys.com/qed/hash.html + * Copyright (C) 2004-2008 by Paul Hsieh + */ + +uint32_t sfh_hash(const char *data, int len) +{ + uint32_t hash = len, tmp; + int rem; + + if (len <= 0 || data == NULL) return 0; + + rem = len & 3; + len >>= 2; + + /* Main loop */ + for (;len > 0; len--) { + hash += sfh_get16(data); + tmp = (sfh_get16(data+2) << 11) ^ hash; + hash = (hash << 16) ^ tmp; + data += 2*sizeof(uint16_t); + hash += hash >> 11; + } + + /* Handle end cases */ + switch (rem) { + case 3: hash += sfh_get16(data); + hash ^= hash << 16; + hash ^= data[sizeof(uint16_t)] << 18; + hash += hash >> 11; + break; + case 2: hash += sfh_get16(data); + hash ^= hash << 11; + hash += hash >> 17; + break; + case 1: hash += *data; + hash ^= hash << 10; + hash += hash >> 1; + } + + /* Force "avalanching" of final 127 bits */ + hash ^= hash << 3; + hash += hash >> 5; + hash ^= hash << 4; + hash += hash >> 17; + hash ^= hash << 25; + hash += hash >> 6; + + return hash; +} + +uint32_t lmo_canon_hash(const char *str, int len) +{ + char res[4096]; + char *ptr, prev; + int off; + + if (!str || len >= sizeof(res)) + return 0; + + for (prev = ' ', ptr = res, off = 0; off < len; prev = *str, off++, str++) + { + if (isspace(*str)) + { + if (!isspace(prev)) + *ptr++ = ' '; + } + else + { + *ptr++ = *str; + } + } + + if ((ptr > res) && isspace(*(ptr-1))) + ptr--; + + return sfh_hash(res, ptr - res); +} + +lmo_archive_t * lmo_open(const char *file) +{ + int in = -1; + uint32_t idx_offset = 0; + struct stat s; + + lmo_archive_t *ar = NULL; + + if (stat(file, &s) == -1) + goto err; + + if ((in = open(file, O_RDONLY)) == -1) + goto err; + + if ((ar = (lmo_archive_t *)malloc(sizeof(*ar))) != NULL) + { + memset(ar, 0, sizeof(*ar)); + + ar->fd = in; + ar->size = s.st_size; + + fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC); + + if ((ar->mmap = mmap(NULL, ar->size, PROT_READ, MAP_SHARED, ar->fd, 0)) == MAP_FAILED) + goto err; + + idx_offset = ntohl(*((const uint32_t *) + (ar->mmap + ar->size - sizeof(uint32_t)))); + + if (idx_offset >= ar->size) + goto err; + + ar->index = (lmo_entry_t *)(ar->mmap + idx_offset); + ar->length = (ar->size - idx_offset - sizeof(uint32_t)) / sizeof(lmo_entry_t); + ar->end = ar->mmap + ar->size; + + return ar; + } + +err: + if (in > -1) + close(in); + + if (ar != NULL) + { + if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED)) + munmap(ar->mmap, ar->size); + + free(ar); + } + + return NULL; +} + +void lmo_close(lmo_archive_t *ar) +{ + if (ar != NULL) + { + if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED)) + munmap(ar->mmap, ar->size); + + close(ar->fd); + free(ar); + + ar = NULL; + } +} + + +lmo_catalog_t *_lmo_catalogs = NULL; +lmo_catalog_t *_lmo_active_catalog = NULL; + +int lmo_load_catalog(const char *lang, const char *dir) +{ + DIR *dh = NULL; + char pattern[16]; + char path[PATH_MAX]; + struct dirent *de = NULL; + + lmo_archive_t *ar = NULL; + lmo_catalog_t *cat = NULL; + + if (!lmo_change_catalog(lang)) + return 0; + + if (!dir || !(dh = opendir(dir))) + goto err; + + if (!(cat = malloc(sizeof(*cat)))) + goto err; + + memset(cat, 0, sizeof(*cat)); + + snprintf(cat->lang, sizeof(cat->lang), "%s", lang); + snprintf(pattern, sizeof(pattern), "*.%s.lmo", lang); + + while ((de = readdir(dh)) != NULL) + { + if (!fnmatch(pattern, de->d_name, 0)) + { + snprintf(path, sizeof(path), "%s/%s", dir, de->d_name); + ar = lmo_open(path); + + if (ar) + { + ar->next = cat->archives; + cat->archives = ar; + } + } + } + + closedir(dh); + + cat->next = _lmo_catalogs; + _lmo_catalogs = cat; + + if (!_lmo_active_catalog) + _lmo_active_catalog = cat; + + return 0; + +err: + if (dh) closedir(dh); + if (cat) free(cat); + + return -1; +} + +int lmo_change_catalog(const char *lang) +{ + lmo_catalog_t *cat; + + for (cat = _lmo_catalogs; cat; cat = cat->next) + { + if (!strncmp(cat->lang, lang, sizeof(cat->lang))) + { + _lmo_active_catalog = cat; + return 0; + } + } + + return -1; +} + +static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash) +{ + unsigned int m, l, r; + uint32_t k; + + l = 0; + r = ar->length - 1; + + while (1) + { + m = l + ((r - l) / 2); + + if (r < l) + break; + + k = ntohl(ar->index[m].key_id); + + if (k == hash) + return &ar->index[m]; + + if (k > hash) + { + if (!m) + break; + + r = m - 1; + } + else + { + l = m + 1; + } + } + + return NULL; +} + +int lmo_translate(const char *key, int keylen, char **out, int *outlen) +{ + uint32_t hash; + lmo_entry_t *e; + lmo_archive_t *ar; + + if (!key || !_lmo_active_catalog) + return -2; + + hash = lmo_canon_hash(key, keylen); + + for (ar = _lmo_active_catalog->archives; ar; ar = ar->next) + { + if ((e = lmo_find_entry(ar, hash)) != NULL) + { + *out = ar->mmap + ntohl(e->offset); + *outlen = ntohl(e->length); + return 0; + } + } + + return -1; +} + +void lmo_close_catalog(const char *lang) +{ + lmo_archive_t *ar, *next; + lmo_catalog_t *cat, *prev; + + for (prev = NULL, cat = _lmo_catalogs; cat; prev = cat, cat = cat->next) + { + if (!strncmp(cat->lang, lang, sizeof(cat->lang))) + { + if (prev) + prev->next = cat->next; + else + _lmo_catalogs = cat->next; + + for (ar = cat->archives; ar; ar = next) + { + next = ar->next; + lmo_close(ar); + } + + free(cat); + break; + } + } +} diff --git a/luci-app-tencentddns/tools/po2lmo/src/template_lmo.h b/luci-app-tencentddns/tools/po2lmo/src/template_lmo.h new file mode 100644 index 00000000..57f59aa5 --- /dev/null +++ b/luci-app-tencentddns/tools/po2lmo/src/template_lmo.h @@ -0,0 +1,92 @@ +/* + * lmo - Lua Machine Objects - General header + * + * Copyright (C) 2009-2012 Jo-Philipp Wich + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _TEMPLATE_LMO_H_ +#define _TEMPLATE_LMO_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if (defined(__GNUC__) && defined(__i386__)) +#define sfh_get16(d) (*((const uint16_t *) (d))) +#else +#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\ + +(uint32_t)(((const uint8_t *)(d))[0]) ) +#endif + + +struct lmo_entry { + uint32_t key_id; + uint32_t val_id; + uint32_t offset; + uint32_t length; +} __attribute__((packed)); + +typedef struct lmo_entry lmo_entry_t; + + +struct lmo_archive { + int fd; + int length; + uint32_t size; + lmo_entry_t *index; + char *mmap; + char *end; + struct lmo_archive *next; +}; + +typedef struct lmo_archive lmo_archive_t; + + +struct lmo_catalog { + char lang[6]; + struct lmo_archive *archives; + struct lmo_catalog *next; +}; + +typedef struct lmo_catalog lmo_catalog_t; + + +uint32_t sfh_hash(const char *data, int len); +uint32_t lmo_canon_hash(const char *data, int len); + +lmo_archive_t * lmo_open(const char *file); +void lmo_close(lmo_archive_t *ar); + + +extern lmo_catalog_t *_lmo_catalogs; +extern lmo_catalog_t *_lmo_active_catalog; + +int lmo_load_catalog(const char *lang, const char *dir); +int lmo_change_catalog(const char *lang); +int lmo_translate(const char *key, int keylen, char **out, int *outlen); +void lmo_close_catalog(const char *lang); + +#endif diff --git a/luci-app-wifidog/LICENSE b/luci-app-wifidog/LICENSE new file mode 100644 index 00000000..d6a93266 --- /dev/null +++ b/luci-app-wifidog/LICENSE @@ -0,0 +1,340 @@ +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + diff --git a/luci-app-wifidog/Makefile b/luci-app-wifidog/Makefile new file mode 100644 index 00000000..4e9ab2fd --- /dev/null +++ b/luci-app-wifidog/Makefile @@ -0,0 +1,20 @@ +#PO = wifidog +#by walkingsky + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI wifidog config +LUCI_DEPENDS:=+wifidog +LUCI_PKGARCH:=all +PKG_NAME:=luci-app-wifidog +PKG_VERSION:=2.0 +PKG_RELEASE:=2 + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature +# +# +# +# + diff --git a/luci-app-wifidog/README.md b/luci-app-wifidog/README.md new file mode 100644 index 00000000..9b170313 --- /dev/null +++ b/luci-app-wifidog/README.md @@ -0,0 +1,40 @@ +luci-wifidog +=========== + +wifidog的luci管理界面,基于lede的可编译package + + +--- +## 安装方法 + +克隆本项目到本地 +将目录名称由 luci-wifidog 改名成 luci-app-wifidog +复制 luci-app-wifidog 目录到本地lede的目录树中,目录结构如下:lede/package/feeds/luci/luci-app-wifidog + +注意:里面的脚本要注意文件格式及可执行属性,到了linux系统里要用chmod及dos2unix命令作适当调整 +/etc/init.d/wifidog +/etc/uci-defaults/luci-wifidog + + +## 编译 + +编译是sdk环境中要有wifidog选项: +1. 执行make menuconfig,在LuCI -》3. Applications-》luci-app-wifidog 找到该包,勾选上。 +2. 编译整个sdk + +--- +## 使用方法 for wifidog v1.3.0 + +首先需要安装wifidog +```bash +opkg update +opkg install wifidog +``` + + +拷贝各文件到相应文件夹中替换原文件, __注意:__ +/etc/uci-defaults  +/etc/init.d/wifidog 替换源文件, 并使用 chmod +x wifidog 增加可执行权限. + +在LUCI中就可以看见出现wifidog配置菜单了,填写相应参数,保存+应用; +LUCI -> System -> Startup  找到Wiifidog 启用之,重启路由器即可自动执行脚本运行wifidog,并生效配置。 diff --git a/luci-app-wifidog/luasrc/controller/wifidog.lua b/luci-app-wifidog/luasrc/controller/wifidog.lua new file mode 100644 index 00000000..7fe8a113 --- /dev/null +++ b/luci-app-wifidog/luasrc/controller/wifidog.lua @@ -0,0 +1,16 @@ +--[[ + walkingsky + tangxn_1@163.com +]]-- + +module("luci.controller.wifidog", package.seeall) + + +function index() + local fs = require "nixio.fs" + --if fs.access("/usr/bin/wifidog") then + entry({"admin", "services","wifidog"}, cbi("wifidog/wifidog_cfg"), "wifidog配置") + --end + +end + diff --git a/luci-app-wifidog/luasrc/model/cbi/wifidog/wifidog_cfg.lua b/luci-app-wifidog/luasrc/model/cbi/wifidog/wifidog_cfg.lua new file mode 100644 index 00000000..68a486a0 --- /dev/null +++ b/luci-app-wifidog/luasrc/model/cbi/wifidog/wifidog_cfg.lua @@ -0,0 +1,116 @@ +--[[ + walkingsky + tangxn_1@163.com +]]-- + +local sys = require "luci.sys" +local fs = require "nixio.fs" +local uci = require "luci.model.uci".cursor() + +m = Map("wifidog", "wifidog执行参数配置","") + +--if fs.access("/usr/bin/wifidog") then + + s = m:section(TypedSection, "wifidog", "wifidog配置") + s.anonymous = true + s.addremove = false + + + s:tab("general", "通用配置") + s:tab("servers", "认证服务器配置") + s:tab("advanced", "高级配置") + + + --通用配置 + wifi_enable = s:taboption("general",Flag, "wifidog_enable", translate("是否启用wifidog"),"打开或关闭wifidog") + + local t = io.popen("ifconfig | grep HWaddr | awk -F\" \" '{print $5}' | awk '$1~//{print;exit}' | sed 's/://g'") + local temp = t:read("*all") + gatewayID = s:taboption("general",Value,"gateway_id","设备id(GatewayID)","默认为路由器MAC地址") + gatewayID.default=temp + + gateway_interface = s:taboption("general",Value,"gateway_interface","内网接口","设置内网接口,默认'br-lan'") + externalinterface = s:taboption("general",Value,"externalinterface","外网接口","WAN口接口,默认eth0.2") + externalinterface.default = "eth0.2" + + + + --服务器配置项 + + server_hostname = s:taboption("servers",Value,"server_hostname","认证服务器:主机名","域名或ip") + server_httpport = s:taboption("servers",Value,"server_httpport","认证服务器:web服务端口","默认80端口") + server_path = s:taboption("servers",Value,"server_path","认证服务器:url路径","最后要加/,例如:'/','/wifidog/';默认'/wifidog/'") + server_sslAvailable = s:taboption("servers",Flag,"server_sslAvailable","启用SSL","默认不打开") + server_sslport = s:taboption("servers",Value,"server_sslport","SSL端口","默认'443'") + server_LoginScriptPathFragment = s:taboption("servers",Value,"server_LoginScriptPathFragment","服务器login接口脚本url路径段","默认'login/?'") + server_PortalScriptPathFragment = s:taboption("servers",Value,"server_PortalScriptPathFragment","服务器portal接口脚本url路径段","默认'portal/?'") + server_PingScriptPathFragment = s:taboption("servers",Value,"server_PingScriptPathFragment","服务器ping接口脚本url路径段","默认'ping/?'") + server_AuthScriptPathFragment = s:taboption("servers",Value,"server_AuthScriptPathFragment","服务器auth接口脚本url路径段","默认'auth/?'") + server_MsgScriptPathFragment = s:taboption("servers",Value,"server_MsgScriptPathFragment","服务器消息接口脚本url路径段","默认'gw_message.php?'") + + --gateway_hostname.default = "www.test.com" + server_httpport.default = "80" + server_path.default = "/wifidog/" + server_sslAvailable.default = server_sslAvailable.disabled + server_sslport.default = "443" + server_LoginScriptPathFragment.default = "login/?" + server_PortalScriptPathFragment.default = "portal/?" + server_PingScriptPathFragment.default = "ping/?" + server_AuthScriptPathFragment.default = "auth/?" + server_MsgScriptPathFragment.default = "gw_message.php?" + + --高级配置 + + --deamo_enable = s:taboption("advanced",Flag, "deamo_enable", "是否启用监护功能","检测wifidog意外退出后,重启wifidog") + --deamo_enable:depends("wifidog_enable","1") + gateway_port = s:taboption("advanced",Value, "gateway_port", "wifidog监听端口","默认'2060'") + gateway_port.default = "2060" + + check_interval = s:taboption("advanced",Value, "check_interval", "和服务器通讯间隔,单位秒","默认'60'") + check_interval.default = "60" + + client_timeout = s:taboption("advanced",Value, "client_timeout", "客户端掉线超时时间倍数,(通讯间隔的倍数)","默认'5',即5倍的服务器通讯时间间隔后,仍然检测不到客户端,则自动下线该客户端") + client_timeout.default = "5" + + s = m:section(TypedSection, "trustedmaclist", "MAC白名单列表","") + s.anonymous = true + s.addremove = true + s.template = "cbi/tblsection" + + mac = s:option(Value, "mac", "mac地址") + mac.rmempty = false + mac.datatype = "list(macaddr)" + + --sys.net.arptable(function(entry) + ip.neighbors(function(entry) + mac:value( + entry["HW address"], + entry["HW address"] .. " (" .. entry["IP address"] .. ")" + ) + end) + + s = m:section(TypedSection, "allowrule", "默认允许访问的服务","") + s.anonymous = true + s.addremove = true + s.template = "cbi/tblsection" + + udp_tcp = s:option(ListValue, "protocol","协议") + udp_tcp:value('tcp') + udp_tcp:value('udp') + --udp_tcp:value('icmp') + + ip = s:option(Value, "ip", "IP地址") + ip.datatype = "ip4addr" + ip.rmempty = false + + port = s:option(Value,"port","端口号") + port.rmempty = false + port.datatype = "range(1,65535)" + +--else +-- m.pageaction = false +--end + + +return m + diff --git a/luci-app-wifidog/root/etc/config/wifidog b/luci-app-wifidog/root/etc/config/wifidog new file mode 100644 index 00000000..9b4c5422 --- /dev/null +++ b/luci-app-wifidog/root/etc/config/wifidog @@ -0,0 +1,27 @@ +config wifidog 'wifidog' + option wifidog_enable '1' + + + option gateway_interface 'br-lan' + option externalinterface 'eth0.2' + + + option server_hostname 'www.test.com' + option server_httpport '80' + option server_path '/wifidog/' + + option server_sslAvailable '0' + option server_sslport '443' + option server_LoginScriptPathFragment 'login/?' + option server_PortalScriptPathFragment 'portal/?' + option server_PingScriptPathFragment 'ping/?' + option server_AuthScriptPathFragment 'auth/?' + option server_MsgScriptPathFragment 'gw_message.php?' + + option gateway_port '2060' + option check_interval '60' + option client_timeout '5' + +config trustedmaclist + +config allowrule diff --git a/luci-app-wifidog/root/etc/init.d/wifidog b/luci-app-wifidog/root/etc/init.d/wifidog new file mode 100644 index 00000000..372e1235 --- /dev/null +++ b/luci-app-wifidog/root/etc/init.d/wifidog @@ -0,0 +1,152 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org +#modify by walkingsky + +START=65 +USE_PROCD=1 +EXTRA_COMMANDS="status" +EXTRA_HELP=" status Print the status of the service" + +local mac_args="TrustedMACList " +local allowrule="" + +add_mac(){ + config_load wifidog + local cfg="$1" + config_get mac "$cfg" mac + if [ "$mac_args" = "TrustedMACList " ]; then + mac_args="$mac_args $mac" + else + mac_args="$mac_args,$mac" + fi +} + + +add_allowrule(){ + config_load wifidog + local cfg="$1" + config_get protocol "$cfg" protocol + config_get ip "$cfg" ip + config_get port "$cfg" port + + allowrule="$allowrule + FirewallRule allow $protocol port $port to $ip " +} + + +#wifidog ?? +create_config(){ + + config_load wifidog + + + gateway_id=`ifconfig | grep HWaddr | awk -F" " '{print $5}' | awk '$1~//{print;exit}' | sed 's/://g'` + config_get gateway_id "wifidog" "gateway_id" $gateway_id + config_get externalinterface "wifidog" "externalinterface" "eth0.2" + config_get gateway_interface "wifidog" "gateway_interface" "br-lan" + config_get server_hostname "wifidog" "server_hostname" "www.test.com" + config_get server_httpport "wifidog" "server_httpport" "80" + config_get server_path "wifidog" "server_path" "/wifidog/" + + config_get server_sslAvailable "wifidog" "server_sslAvailable" "0" + config_get server_sslport "wifidog" "server_sslport" "443" + config_get server_LoginScriptPathFragment "wifidog" "server_LoginScriptPathFragment" "login/?" + config_get server_PortalScriptPathFragment "wifidog" "server_PortalScriptPathFragment" "portal/?" + config_get server_PingScriptPathFragment "wifidog" "server_PingScriptPathFragment" "ping/?" + config_get server_AuthScriptPathFragment "wifidog" "server_AuthScriptPathFragment" "auth/?" + config_get server_MsgScriptPathFragment "wifidog" "server_MsgScriptPathFragment" "gw_message.php?" + config_get gateway_port "wifidog" "gateway_port" "2060" + config_get check_interval "wifidog" "check_interval" "60" + config_get client_timeout "wifidog" "client_timeout" "5" + + + if [ $server_sslAvailable -eq 0 ]; then + server_sslAvailable="no" + else + server_sslAvailable="yes" + fi + + config_foreach add_mac trustedmaclist + config_foreach add_allowrule allowrule + + if [ "$mac_args" = "TrustedMACList " ]; then + $mac_args="" + fi + + echo " +GatewayID $gateway_id +GatewayInterface $gateway_interface +externalinterface $externalinterface + +GatewayPort $gateway_port + +AuthServer { + Hostname $server_hostname + SSLAvailable $server_sslAvailable + SSLPort $server_sslport + HTTPPort $server_httpport + Path $server_path + LoginScriptPathFragment $server_LoginScriptPathFragment + PortalScriptPathFragment $server_PortalScriptPathFragment + MsgScriptPathFragment $server_MsgScriptPathFragment + PingScriptPathFragment $server_PingScriptPathFragment + AuthScriptPathFragment $server_AuthScriptPathFragment +} + +CheckInterval $check_interval +ClientTimeout $client_timeout + +$mac_args + +FirewallRuleSet validating-users { + FirewallRule allow to 0.0.0.0/0 +} + +FirewallRuleSet known-users { + FirewallRule allow to 0.0.0.0/0 +} + +FirewallRuleSet global { + $allowrule +} + +FirewallRuleSet unknown-users { + FirewallRule allow udp port 53 + FirewallRule allow tcp port 53 + FirewallRule allow udp port 67 + FirewallRule allow tcp port 67 +} + +FirewallRuleSet locked-users { + FirewallRule block to 0.0.0.0/0 +} +" > /etc/wifidog.conf + + + +} + +start_service() { + config_load wifidog + + config_get wifidog_enable "wifidog" "wifidog_enable" "0" + if [ $wifidog_enable -eq 0 ]; then + stop + exit + fi + + create_config + + sleep 1 + procd_open_instance + # -s: log to syslog + # -f: run in foreground + procd_set_param command /usr/bin/wifidog -s -f + procd_set_param respawn # respawn automatically if something died + procd_set_param file /etc/wifidog.conf + procd_close_instance +} + +status() { + /usr/bin/wdctl status +} diff --git a/luci-app-wifidog/root/etc/uci-defaults/luci-wifidog b/luci-app-wifidog/root/etc/uci-defaults/luci-wifidog new file mode 100644 index 00000000..1ae0190f --- /dev/null +++ b/luci-app-wifidog/root/etc/uci-defaults/luci-wifidog @@ -0,0 +1,13 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@wifidog[-1] + add ucitrack wifidog + set ucitrack.@wifidog[-1].init=wifidog + #delete ucitrack.@firewall[0].affects + add_list ucitrack.@firewall[0].affects=wifidog + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 \ No newline at end of file diff --git a/luci-app-wifidog/root/usr/sbin/wifidog_check.sh b/luci-app-wifidog/root/usr/sbin/wifidog_check.sh new file mode 100644 index 00000000..fbfe94ba --- /dev/null +++ b/luci-app-wifidog/root/usr/sbin/wifidog_check.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# +#walkingsky +#tangxn_1@163.com + +local run=`ps | grep "wifidog -c /tmp/wifidog.conf" | wc -l` + +if [ $run -lt 2 ]; then + wifidog -c /tmp/wifidog.conf +fi \ No newline at end of file diff --git a/luci-app-wifidog/root/usr/share/rpcd/acl.d/luci-app-wifidog.json b/luci-app-wifidog/root/usr/share/rpcd/acl.d/luci-app-wifidog.json new file mode 100644 index 00000000..a4eefdeb --- /dev/null +++ b/luci-app-wifidog/root/usr/share/rpcd/acl.d/luci-app-wifidog.json @@ -0,0 +1,11 @@ +{ + "luci-app-wifidog": { + "description": "Grant UCI access for luci-app-wifidog", + "read": { + "uci": [ "wifidog" ] + }, + "write": { + "uci": [ "wifidog" ] + } + } +} diff --git a/luci-app-wolplus/Makefile b/luci-app-wolplus/Makefile new file mode 100644 index 00000000..aeecba00 --- /dev/null +++ b/luci-app-wolplus/Makefile @@ -0,0 +1,18 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for Wakeup-On-Lan-plus +LUCI_DEPENDS:=+etherwake +LUCI_PKGARCH:=all +PKG_VERSION:=1.0.2 +PKG_RELEASE:=1 + +PKG_MAINTAINER:=siwind + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-wolplus/luasrc/controller/wolplus.lua b/luci-app-wolplus/luasrc/controller/wolplus.lua new file mode 100644 index 00000000..f5eb1a2f --- /dev/null +++ b/luci-app-wolplus/luasrc/controller/wolplus.lua @@ -0,0 +1,33 @@ +module("luci.controller.wolplus", package.seeall) +local t, a +local x = luci.model.uci.cursor() + +function index() + if not nixio.fs.access("/etc/config/wolplus") then return end + entry({"admin", "services", "wolplus"}, cbi("wolplus"), _("wolplus"), 95).dependent = true + entry( {"admin", "services", "wolplus", "awake"}, post("awake") ).leaf = true +end + +function awake(sections) + lan = x:get("wolplus",sections,"maceth") + mac = x:get("wolplus",sections,"macaddr") + local e = {} + cmd = "/usr/bin/etherwake -D -i " .. lan .. " -b " .. mac .. " 2>&1" + local p = io.popen(cmd) + local msg = "" + if p then + while true do + local l = p:read("*l") + if l then + if #l > 100 then l = l:sub(1, 100) .. "..." end + msg = msg .. l + else + break + end + end + p:close() + end + e["data"] = msg + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/luci-app-wolplus/luasrc/model/cbi/wolplus.lua b/luci-app-wolplus/luasrc/model/cbi/wolplus.lua new file mode 100644 index 00000000..b7b4c789 --- /dev/null +++ b/luci-app-wolplus/luasrc/model/cbi/wolplus.lua @@ -0,0 +1,35 @@ +local i = require "luci.sys" +local t, e +t = Map("wolplus", translate("WOL Plus"), translate("Wake up your LAN device")) +t.template = "wolplus/index" +e = t:section(TypedSection, "macclient", translate("macclient")) +e.template = "cbi/tblsection" +e.anonymous = true +e.addremove = true +a = e:option(Value, "name", translate("name")) +a.optional = false +nolimit_mac = e:option(Value, "macaddr", translate("macaddr")) +nolimit_mac.rmempty = false +i.net.mac_hints(function(e, t) nolimit_mac:value(e, "%s (%s)" % {e, t}) end) +nolimit_eth = e:option(Value, "maceth", translate("maceth")) +nolimit_eth.rmempty = false +for t, e in ipairs(i.net.devices()) do if e ~= "lo" then nolimit_eth:value(e) end end +btn = e:option(Button, "_awake",translate("awake")) +btn.inputtitle = translate("awake") +btn.inputstyle = "apply" +btn.disabled = false +btn.template = "wolplus/awake" +function gen_uuid(format) + local uuid = i.exec("echo -n $(cat /proc/sys/kernel/random/uuid)") + if format == nil then + uuid = string.gsub(uuid, "-", "") + end + return uuid +end +function e.create(e, t) + local uuid = gen_uuid() + t = uuid + TypedSection.create(e, t) +end + +return t diff --git a/luci-app-wolplus/luasrc/view/wolplus/awake.htm b/luci-app-wolplus/luasrc/view/wolplus/awake.htm new file mode 100644 index 00000000..91cd71b1 --- /dev/null +++ b/luci-app-wolplus/luasrc/view/wolplus/awake.htm @@ -0,0 +1,3 @@ +<%+cbi/valueheader%> + " style="font-size: 100%;" type="button" onclick="onclick_awake(this.id)" <%=attr("name", section) .. attr("id", cbid) .. attr("value", self.inputtitle)%> /> +<%+cbi/valuefooter%> diff --git a/luci-app-wolplus/luasrc/view/wolplus/index.htm b/luci-app-wolplus/luasrc/view/wolplus/index.htm new file mode 100644 index 00000000..2991f946 --- /dev/null +++ b/luci-app-wolplus/luasrc/view/wolplus/index.htm @@ -0,0 +1,22 @@ +<% include("cbi/map") %> + + diff --git a/luci-app-wolplus/po/zh-cn/wolplus.po b/luci-app-wolplus/po/zh-cn/wolplus.po new file mode 100644 index 00000000..0c1d987b --- /dev/null +++ b/luci-app-wolplus/po/zh-cn/wolplus.po @@ -0,0 +1,26 @@ +msgid "wolplus" +msgstr "网络唤醒Plus" + +msgid "WOL Plus" +msgstr "网络唤醒Plus-增强版" + +msgid "Wake up your LAN device" +msgstr "网络唤醒您的局域网设备" + +msgid "macclient" +msgstr "客户端MAC设备列表" + +msgid "name" +msgstr "名称" + +msgid "macaddr" +msgstr "客户端MAC" + +msgid "maceth" +msgstr "网络接口" + +msgid "awake" +msgstr "唤醒" + +msgid "Please [Save & Apply] your changes first" +msgstr "请先保存并应用您的设置" diff --git a/luci-app-wolplus/po/zh_Hans/wolplus.po b/luci-app-wolplus/po/zh_Hans/wolplus.po new file mode 100644 index 00000000..608d97e7 --- /dev/null +++ b/luci-app-wolplus/po/zh_Hans/wolplus.po @@ -0,0 +1,26 @@ +msgid "wolplus" +msgstr "网络唤醒Plus" + +msgid "WOL Plus" +msgstr "网络唤醒Plus-增强版" + +msgid "Wake up your LAN device" +msgstr "网络唤醒您的局域网设备" + +msgid "macclient" +msgstr "客户端MAC设备列表" + +msgid "name" +msgstr "名称" + +msgid "macaddr" +msgstr "客户端MAC地址" + +msgid "maceth" +msgstr "用于唤醒的网络接口" + +msgid "awake" +msgstr "唤醒" + +msgid "Please [Save & Apply] your changes first" +msgstr "请先保存并应用您的设置" diff --git a/luci-app-wolplus/root/etc/config/wolplus b/luci-app-wolplus/root/etc/config/wolplus new file mode 100644 index 00000000..e69de29b diff --git a/luci-app-wolplus/root/etc/uci-defaults/luci-app-WOL-plus b/luci-app-wolplus/root/etc/uci-defaults/luci-app-WOL-plus new file mode 100644 index 00000000..61c4b1e5 --- /dev/null +++ b/luci-app-wolplus/root/etc/uci-defaults/luci-app-WOL-plus @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@wolplus[-1] + add ucitrack wolplus + set ucitrack.@wolplus[-1].init=wolplus + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-wolplus/root/usr/share/rpcd/acl.d/luci-app-services-wolplus.json b/luci-app-wolplus/root/usr/share/rpcd/acl.d/luci-app-services-wolplus.json new file mode 100644 index 00000000..08cbfba5 --- /dev/null +++ b/luci-app-wolplus/root/usr/share/rpcd/acl.d/luci-app-services-wolplus.json @@ -0,0 +1,11 @@ +{ + "luci-app-services-wolplus": { + "description": "Grant UCI access for luci-app-services-wolplus", + "read": { + "uci": [ "wolplus" ] + }, + "write": { + "uci": [ "wolplus" ] + } + } +} diff --git a/luci-theme-argon/.gitignore b/luci-theme-argon/.gitignore new file mode 100644 index 00000000..e1e0fe55 --- /dev/null +++ b/luci-theme-argon/.gitignore @@ -0,0 +1,3 @@ + +README_ZH.md +README.md diff --git a/luci-theme-argon/Makefile b/luci-theme-argon/Makefile new file mode 100644 index 00000000..1533ac99 --- /dev/null +++ b/luci-theme-argon/Makefile @@ -0,0 +1,27 @@ +# +# Copyright (C) 2008-2019 Jerrykuku +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Argon Theme +LUCI_DEPENDS:= +PKG_VERSION:=1.7.2 +PKG_RELEASE:=20210309 + +include $(TOPDIR)/feeds/luci/luci.mk + + +define Package/luci-theme-argon/postinst +#!/bin/sh +sed -i ":a;$!N;s/tmpl.render.*sysauth_template.*return/local scope = { duser = default_user, fuser = user }\nlocal ok, res = luci.util.copcall\(luci.template.render_string, [[<% include\(\"themes\/\" .. theme .. \"\/sysauth\"\) %>]], scope\)\nif ok then\nreturn res\nend\nreturn luci.template.render\(\"sysauth\", scope\)/;ba" /usr/lib/lua/luci/dispatcher.lua +sed -i ":a;$!N;s/t.render.*sysauth_template.*return/local scope = { duser = h, fuser = a }\nlocal ok, res = luci.util.copcall\(luci.template.render_string, [[<% include\(\"themes\/\" .. theme .. \"\/sysauth\"\) %>]], scope\)\nif ok then\nreturn res\nend\nreturn luci.template.render\(\"sysauth\", scope\)/;ba" /usr/lib/lua/luci/dispatcher.lua +[ -f /usr/lib/lua/luci/view/themes/argon/out_header_login.htm ] && mv -f /usr/lib/lua/luci/view/themes/argon/out_header_login.htm /usr/lib/lua/luci/view/header_login.htm +rm -Rf /var/luci-modulecache +rm -Rf /var/luci-indexcache +exit 0 +endef + +# call BuildPackage - OpenWrt buildroot signature \ No newline at end of file diff --git a/luci-theme-argon/Screenshots/screenshot_pc.jpg b/luci-theme-argon/Screenshots/screenshot_pc.jpg new file mode 100644 index 00000000..4c355449 Binary files /dev/null and b/luci-theme-argon/Screenshots/screenshot_pc.jpg differ diff --git a/luci-theme-argon/Screenshots/screenshot_phone.jpg b/luci-theme-argon/Screenshots/screenshot_phone.jpg new file mode 100644 index 00000000..8237a036 Binary files /dev/null and b/luci-theme-argon/Screenshots/screenshot_phone.jpg differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css b/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css new file mode 100644 index 00000000..ec12c7cd --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css @@ -0,0 +1,3069 @@ +/** + * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + * + * luci-theme-argon + * Copyright 2020 Jerryk + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ +/* + * Font generate by Icomoon + */ +/* + * Common Styles + */ +@import url("fonts.css?v=3"); +@import url("pure-min.css?v=1"); +:root { + /** general **/ + --primary: #5e72e4; + --dark-primary: #483d8b; + --background-color: #f4f5f7; + --font-color: #525f7f; + /** login form **/ + --login-form-background-color: #ffffff; + --darker: black; + --default: #525461; + --warning: #fb6340; + --footer-color: #aaa; + --menubar-background: #fff; + --menubar-scrollbar-thumb: #f6f9fc; + --menubar-text-color: #4c4c4c; + --blue: #5e72e4; + --indigo: #5603ad; + --purple: #8965e0; + --pink: #f3a4b5; + --red: #f5365c; + --orange: #fb6340; + --yellow: #ffd600; + --green: #2dce89; + --teal: #11cdef; + --cyan: #2bffc6; + --white: #fff; + --gray: #8898aa; + --gray-dark: #32325d; + --light: #ced4da; + --lighter: #e9ecef; + --secondary: #f7fafc; + --success: #2dce89; + --info: #11cdef; + --danger: #f5365c; + --light: #adb5bd; + --dark: #212529; + --neutral: #fff; + --login-form-bg-color: rgba(244, 245, 247, 0.8); + --blur-radius: 10px; + --blur-opacity: 0.5; + --blur-radius-dark: 10px; + --blur-opacity-dark: 0.5; + --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; + --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; +} +[data-theme="dark"] { + --primary: #483d8b; + --dark-primary: #483d8b; + --background-color: #1e1e1e; + --font-color: #cccccc; + --darker: black; + --default: #525461; + --warning: #fb6340; + --footer-color: #aaa; + --menubar-background: #fff; + --menubar-scrollbar-thumb: #f6f9fc; + --menubar-text-color: #4c4c4c; + --blue: #5e72e4; + --indigo: #5603ad; + --purple: #8965e0; + --pink: #f3a4b5; + --red: #f5365c; + --orange: #fb6340; + --yellow: #ffd600; + --green: #2dce89; + --teal: #11cdef; + --cyan: #2bffc6; + --white: #fff; + --gray: #8898aa; + --gray-dark: #32325d; + --light: #ced4da; + --lighter: #e9ecef; + --secondary: #f7fafc; + --success: #2dce89; + --info: #11cdef; + --danger: #f5365c; + --light: #adb5bd; + --dark: #212529; + --neutral: #fff; + --login-form-bg-color: rgba(244, 245, 247, 0.8); + --blur-radius: 10px; + --blur-opacity: 0.5; + --blur-radius-dark: 10px; + --blur-opacity-dark: 0.5; + --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; + --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; +} +html, +body { + margin: 0px; + padding: 0px; + height: 100%; + font-size: 16px; + font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + font-family: var(--font-family-sans-serif); +} +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + font-size: 0.875rem; + background-color: #f4f5f7; + background-color: var(--background-color); + color: #525f7f; + color: var(--font-color); +} +* { + margin: 0; + padding: 0; + box-sizing: border-box; + -webkit-tap-highlight-color: transparent; +} +::selection { + background-color: #5e72e4; + background-color: var(--primary); + color: #ffffff; + color: var(--white); +} +a:link, +a:visited, +a:active { + color: #5e72e4; + color: var(--primary); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +li { + list-style-type: none; +} +@-webkit-keyframes sparkle { + from { + background-position: 0 0; + } + to { + background-position: 0 -64px; + } +} +@-moz-keyframes sparkle { + from { + background-position: 0 0; + } + to { + background-position: 0 -64px; + } +} +@-o-keyframes sparkle { + from { + background-position: 0 0; + } + to { + background-position: 0 -64px; + } +} +@keyframes sparkle { + from { + background-position: 0 0; + } + to { + background-position: 0 -64px; + } +} +/*********************** +* +* Login Page +* +***************************/ +.login-page { + height: 100%; +} +.login-page .video { + position: absolute; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background-color: #000; + background-color: var(--darker); + overflow: hidden; +} +.login-page .video video { + width: 100%; + height: auto; +} +.login-page .volume-control { + position: fixed; + right: 1rem; + top: 1rem; + width: 1.5rem; + height: 1.5rem; + z-index: 5000; + cursor: pointer; + background-size: contain; + background-image: url(../img/volume_high.svg); +} +.login-page .volume-control.mute { + background-image: url(../img/volume_off.svg); +} +.login-page .main-bg { + position: fixed; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-image: url(../img/blank.png); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + transition: all 0.5s; +} +.login-page .login-container { + height: 100%; + margin-left: 4.5rem; + position: absolute; + top: 0px; + display: flex; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + align-items: flex-start; + min-height: 100%; + z-index: 2; + width: 420px; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 35px -5px; + margin-left: 5%; + background: transparent; +} +.login-page .login-container .login-form { + display: flex; + flex-direction: column; + -webkit-box-align: center; + align-items: center; + position: absolute; + top: 0px; + width: 100%; + min-height: 100%; + max-width: 420px; + background-color: #fff; + background-color: var(--white); +} +.login-page .login-container .login-form .brand { + display: flex; + -webkit-box-align: center; + align-items: center; + margin: 50px auto 100px 50px; + color: #525461; + color: var(--default); +} +.login-page .login-container .login-form .brand .icon { + width: 50px; + height: auto; + margin-right: 25px; +} +.login-page .login-container .login-form .brand .brand-text { + font-size: 1.25rem; + font-weight: 700; + font-family: "TypoGraphica"; +} +.login-page .login-container .login-form .brand:hover { + text-decoration: none; +} +.login-page .login-container .login-form .form-login { + width: 100%; + padding: 20px 50px; + box-sizing: border-box; +} +.login-page .login-container .login-form .form-login .errorbox { + text-align: center; + color: #fb6340; + color: var(--warning); +} +.login-page .login-container .login-form .form-login .input-group { + margin-bottom: 1.25rem; + position: relative; +} +.login-page .login-container .login-form .form-login .input-group::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #525461; + color: var(--default); + font-size: 1.5rem; + position: absolute; + z-index: 100; + left: 10px; + top: 10px; +} +.login-page .login-container .login-form .form-login .input-group .border { + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + border-bottom: 1px #5e72e4 solid; + border-bottom: 1px var(--primary) solid; + transform: scaleX(0); + transition: transform 0.3s; +} +.login-page .login-container .login-form .form-login .input-group input { + font-size: 1rem; + line-height: 1.5em; + display: block; + width: 100%; + padding: 0.5rem 0.75rem 0.5rem 3rem; + margin: 0.825rem 0; + box-sizing: border-box; + transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); + color: #525461; + color: var(--default); + border: 0; + border-radius: 0; + border-bottom: 1px solid #fff; + border-bottom: 1px solid var(--white); + background-color: transparent; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); + outline: none; +} +.login-page .login-container .login-form .form-login .input-group input:focus + .border { + transform: scaleX(1); +} +.login-page .login-container .login-form .form-login .input-group .cbi-input-password { + margin-bottom: 2rem; + position: relative; +} +.login-page .login-container .login-form .form-login .user-icon::before { + content: "\e971"; +} +.login-page .login-container .login-form .form-login .pass-icon::before { + content: "\e910"; +} +.login-page .login-container .login-form .cbi-button-apply { + width: 100% !important; + box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; + font-weight: 600; + font-size: 15px; + color: #fff; + color: var(--white); + text-align: center; + width: 100%; + cursor: pointer; + min-height: 50px; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + border-radius: 6px; + outline: none; + border-width: initial; + border-style: none; + border-color: initial; + border-image: initial; + padding: 10px 0px; + margin: 30px 0px 100px; + transition: all 0.3s !important; + letter-spacing: 0.8rem; +} +.login-page .login-container .login-form .cbi-button-apply:hover, +.login-page .login-container .login-form .cbi-button-apply :focus { + opacity: 0.9; +} +.login-page .login-container footer { + box-sizing: border-box; + width: 100%; + text-align: center; + line-height: 1.6rem; + display: flex; + justify-content: space-evenly; + margin-top: auto; + padding: 0px 0px 30px; + z-index: 10; + color: #525461; + color: var(--default); + position: absolute; + bottom: 0; +} +.login-page .login-container footer .ftc { + position: absolute; + bottom: 30px; + width: 100%; +} +.login-page .login-container footer .luci-link { + display: block; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(var(--blur-radius)); + backdrop-filter: blur(var(--blur-radius)); + background-color: rgba(244, 245, 247, var(--blur-opacity)); + } +} +/*********************** +* +* Header +* +***************************/ +header { + width: 100%; + padding: 0 0 0 0; + position: relative; +} +header .container { + margin-top: rem; + padding: 0.5rem 1rem 0 1rem; +} +header .container .pull-right > * { + position: relative; + top: 0.45rem; + cursor: pointer; +} +header::after { + content: ""; + position: absolute; + height: 2rem; + width: 100%; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; +} +header.bg-primary { + background-color: #5e72e4 !important; + background-color: var(--primary) !important; +} +header .fill { + padding: 0.8rem 0; + border-bottom: 0px solid rgba(255, 255, 255, 0.08) !important; +} +header .fill .container { + height: 2rem; + padding: 0 1.25rem; +} +header .fill .container .brand { + font-size: 1.5rem; + color: #fff; + color: var(--white); + font-family: "TypoGraphica"; + text-decoration: none; + padding-left: 1rem; + cursor: default; + vertical-align: text-bottom; + display: none; +} +/*********************** +* +* Footer +* +***************************/ +footer { + text-align: right; + padding: 1rem; + color: #aaa; + color: var(--footer-color); + font-size: 0.8rem; +} +footer a { + color: #aaa; + color: var(--footer-color); + text-decoration: none; +} +/*********************** +* +* Main +* +***************************/ +@keyframes anim-rotate { + 0% { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.main { + top: 0rem; + bottom: 0rem; + position: relative; + height: 100%; + width: 100%; + height: calc(100% - 4rem); +} +.main .main-left { + float: left; + width: 15%; + width: calc(0% + 15rem); + height: 100%; + background-color: #fff !important; + background-color: var(--menubar-background) !important; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + overflow-x: auto; + position: fixed; + z-index: 100; + transition: width 0.2s ease-in-out; +} +.main .main-left::-webkit-scrollbar { + width: 5px; + height: 1px; +} +.main .main-left::-webkit-scrollbar-thumb { + background-color: #f6f9fc; + background-color: var(--menubar-scrollbar-thumb); +} +.main .main-left::-webkit-scrollbar-track { + background-color: #fff; + background-color: var(--menubar-background); +} +.main .main-left .sidenav-header { + padding: 1.5rem; + text-align: center; +} +.main .main-left .sidenav-header .brand { + font-size: 1.8rem; + color: #5e72e4; + color: var(--primary); + font-family: "TypoGraphica", sans-serif; + text-decoration: none; + padding-left: 0; + cursor: default; + vertical-align: text-bottom; + white-space: nowrap; +} +.main .main-left .nav { + margin-top: 0.5rem; +} +.main .main-left .nav li { + padding: 0rem; + cursor: pointer; +} +.main .main-left .nav li a { + color: #525f7f; + color: var(--default); + display: block; +} +.main .main-left .nav li:nth-last-child(1) { + font-size: 1.2rem; +} +.main .main-left .nav li:nth-last-child(1) .menu:after { + content: ""; +} +.main .main-left .nav li.slide { + padding: 0; +} +.main .main-left .nav li.slide ul { + display: none; +} +.main .main-left .nav li.slide ul li a { + position: relative; + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: #4c4c4c; + color: var(--menubar-text-color); + transition: all 0.2s; + font-size: 0.875rem; +} +.main .main-left .nav li.slide ul li a::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + background-color: var(--primary); + transition: all 0.2s; +} +.main .main-left .nav li.slide ul li a:hover::after { + color: #000; + color: var(--darker); + width: 100%; +} +.main .main-left .nav li.slide .menu { + display: block; + margin: 0.1rem 0.5rem 0.1rem 0.5rem; + padding: 0.675rem 0 0.675rem 2.5rem; + border-radius: 0.375rem; + text-decoration: none; + cursor: default; + font-size: 1rem; + transition: all 0.2s; + position: relative; +} +.main .main-left .nav li.slide .menu::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + left: 0.8rem; + content: "\e915"; + color: #5e72e4; + color: var(--primary); +} +.main .main-left .nav li.slide .menu::after { + position: absolute; + right: 0.5rem; + top: 0.8rem; + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -moz-osx-font-smoothing: grayscale; + content: '\e90f'; + transition: all 0.15s ease; + color: #ced4da; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + transition: all 0.3s; +} +.main .main-left .nav li.slide .menu:hover, +.main .main-left .nav li.slide .menu.active { + cursor: pointer; + color: #fff; + background: #5e72e4; + background: var(--primary); +} +.main .main-left .nav li.slide .menu:hover a, +.main .main-left .nav li.slide .menu.active a { + color: #000; +} +.main .main-left .nav li.slide .menu:hover a::after, +.main .main-left .nav li.slide .menu.active a::after { + color: #000; + width: 100%; +} +.main .main-left .nav li.slide .menu:hover::before, +.main .main-left .nav li.slide .menu.active::before { + color: #fff !important; +} +.main .main-left .nav li.slide .menu:hover::after, +.main .main-left .nav li.slide .menu.active::after { + color: #fff; +} +.main .main-left .nav li.slide .menu.active::after { + transform: rotate(90deg); +} +.main .main-left .nav li.slide .menu[data-title=Status]:before { + content: "\e906"; + color: #5e72e4; + color: var(--primary); +} +.main .main-left .nav li.slide .menu[data-title=System]:before { + content: "\e90a"; + color: #fb6340; +} +.main .main-left .nav li.slide .menu[data-title=Services]:before { + content: "\e909"; + color: #11cdef; +} +.main .main-left .nav li.slide .menu[data-title=NAS]:before { + content: "\e90c"; + color: #f3a4b5; +} +.main .main-left .nav li.slide .menu[data-title=VPN]:before { + content: "\e90b"; + color: #aaad03; +} +.main .main-left .nav li.slide .menu[data-title=Network]:before { + content: "\e908"; + color: #8965e0; +} +.main .main-left .nav li.slide .menu[data-title=Bandwidth_Monitor]:before { + content: "\e90d"; + color: #2dce89; +} +.main .main-left .nav li.slide .menu[data-title=Docker]:before { + content: "\e911"; + color: #6699ff; +} +.main .main-left .nav li.slide .menu[data-title=Statistics]:before { + content: "\e913"; + color: #5603ad; +} +.main .main-left .nav li.slide .menu[data-title=Control]:before { + content: "\e912"; + color: #5e72e4; + color: var(--primary); +} +.main .main-left .nav li.slide .menu[data-title=Asterisk]:before { + content: "\e914"; + color: #fb6340; +} +.main .main-left .nav li.slide .menu[data-title=Logout]:before { + content: "\e907"; + color: #adb5bd; +} +.main .main-left .nav li.slide .slide-menu li a { + position: relative; + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: rgba(0, 0, 0, 0.6); + transition: all 0.2s; + font-size: 0.875rem; +} +.main .main-left .nav li.slide .slide-menu li a::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + background-color: var(--primary); + transition: all 0.2s; +} +.main .main-left .nav li.slide .slide-menu li a:hover::after { + color: #000; + width: 100%; +} +.main .main-left .nav li.slide .slide-menu .active a { + color: #000; +} +.main .main-left .nav li.slide .slide-menu .active a::after { + color: #000; + width: 100%; +} +.main .main-left .nav li.slide:last-child > .menu::after { + content: ""; +} +.main .main-right { + width: 85%; + width: calc(100% - 15rem); + float: right; + height: auto; + transition: width 0.3s ease-in-out; +} +.main .main-right #maincontent { + position: relative; + z-index: 50; +} +.main .main-right #maincontent .container { + margin: 0 1.25rem 1rem 1.25rem; +} +.main .main-right #maincontent .container p { + color: #32325d; + line-height: 1.5em; +} +.main .main-right #maincontent .container > div:nth-child(1).alert-message.warning > a { + font: inherit; + overflow: visible; + text-transform: none; + display: inline-block; + margin-bottom: 0; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + min-width: 6rem; + padding: 0.5rem 1rem; + font-size: 0.9rem; + line-height: 1.42857143; + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; + margin-top: 2rem; + text-decoration: inherit; +} +.main .loading { + position: fixed; + width: 100%; + height: 100%; + z-index: 2000; + display: flex; + align-items: center; + justify-content: center; + background-color: #f8f9fe; + top: 0; +} +.main .loading span { + display: block; + text-align: center; + margin-top: 2rem; + color: #5e72e4; + color: var(--primary); + font-size: 2rem; +} +.main .loading span .loading-img { + animation: anim-rotate 2s infinite linear; + margin-right: 0.4rem; + display: inline-block; +} +.main .loading span .loading-img::before { + content: "\e603"; +} +/* button style */ +.cbi-button { + -webkit-appearance: none; + text-transform: uppercase; + height: auto; + color: rgba(0, 0, 0, 0.87); + background-color: #F0F0F0; + transition: all 0.2s ease-in-out; + display: inline-block; + padding: 0.75rem 0.8rem; + border: none; + border-radius: 0.2rem; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 0.875rem; + width: auto !important; + line-height: 1em; +} +.cbi-button:hover, +.cbi-button:focus, +.cbi-button:active { + outline: 0; + text-decoration: none; +} +.cbi-button:hover, +.cbi-button:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} +.cbi-button:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.cbi-button:disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.6; + box-shadow: none; +} +.cbi-button-check { + margin-top: 0.25rem !important; +} +form.inline + form.inline, +.cbi-button + .cbi-button { + margin-left: 0rem; +} +.cbi-button-reset, +.cbi-input-remove { + color: #fff !important; + background-color: #f0ad4e !important; + border-color: #eea236 !important; +} +.cbi-input-find, +.cbi-input-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-find, +.cbi-input-reload, +.cbi-button-reload { + color: #fff !important; + background-color: #337ab7 !important; + border-color: #2e6da4 !important; +} +.cbi-value-field .cbi-input-apply, +.cbi-button-apply, +.cbi-button-edit { + color: #fff !important; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + border-color: #5e72e4 !important; + border-color: var(--primary) !important; +} +.cbi-button-add { + margin-left: 1.5rem; +} +.node-services-vssr .ssr-button { + margin-left: 0.3rem; +} +.cbi-section-remove > .cbi-button, +.cbi-button-remove { + color: #fff !important; + background-color: #fb6340 !important; + border-color: #fb6340 !important; +} +.cbi-value-field .cbi-button-add, +.cbi-value-field .cbi-button-remove, +.cbi-value-field .cbi-button-neutral { + min-width: 2.5rem !important; +} +/* input */ +.cbi-value input[type="password"], +.cbi-value input[type="text"] { + min-width: 15rem; +} +/* select */ +.cbi-value-field .cbi-dropdown { + min-width: 15rem; +} +select { + min-width: 20rem; + appearance: none; + -webkit-appearance: none; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTY1MzQ4MDM3OTIyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1ODMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4qIHsgdGV4dC1zaGFkb3c6IHRyYW5zcGFyZW50IDBweCAwcHggMHB4LCByZ2JhKDAsIDAsIDAsIDAuNSkgMHB4IDBweCAwcHggIWltcG9ydGFudDsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMjAuNDggMjQ1Ljc2aDk4My4wNEw1MTIgNzc4LjI0eiIgcC1pZD0iMjU4NCIgZmlsbD0iIzcwNzA3MCI+PC9wYXRoPjwvc3ZnPg==') !important; + background-position: 96%; + background-size: 8px; + background-repeat: no-repeat; +} +.th[data-type="button"], +.td[data-type="button"], +.th[data-type="fvalue"], +.td[data-type="fvalue"] { + flex: 1 1 2em; + text-align: center; +} +/*textarea*/ +.cbi-input-textarea { + width: 100%; + min-height: 14rem; + padding: 0.8rem; + font-size: 0.8rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: black; +} +/* change */ +.uci-change-list { + font-family: monospace; +} +.uci-change-list ins, +.uci-change-legend-label ins { + text-decoration: none; + border: 1px solid #00FF00; + background-color: #CCFFCC; + display: block; + padding: 2px; +} +.uci-change-list del, +.uci-change-legend-label del { + text-decoration: none; + border: 1px solid #FF0000; + background-color: #FFCCCC; + display: block; + font-style: normal; + padding: 2px; +} +.uci-change-list var, +.uci-change-legend-label var { + text-decoration: none; + border: 1px solid #CCCCCC; + background-color: #EEEEEE; + display: block; + font-style: normal; + padding: 2px; +} +.uci-change-list var ins, +.uci-change-list var del { + border: none; + white-space: pre; + font-style: normal; + padding: 0px; +} +.uci-change-list ins strong { + display: inline; +} +.uci-change-legend { + padding: 5px; +} +.uci-change-legend-label { + display: flex; + align-items: center; + width: auto; + float: left; + margin-right: 2rem; +} +.uci-change-legend-label > ins, +.uci-change-legend-label > del, +.uci-change-legend-label > var { + float: left; + margin-right: 4px; + width: 10px; + height: 10px; + display: block; +} +.uci-change-legend-label var ins, +.uci-change-legend-label var del { + line-height: 0; + border: none; +} +.uci-change-list var, +.uci-change-list del, +.uci-change-list ins { + padding: 0.5rem; +} +/* other fix */ +input[type="checkbox"] { + appearance: none !important; + -webkit-appearance: none !important; + border: 1px solid #dee2e6; + width: 16px !important; + height: 16px !important; + padding: 0; + cursor: pointer; + transition: all 0.2s; + margin: 0.9rem 0.25rem 0 0.25rem; +} +input[type="checkbox"]:checked { + border: 1px solid #5e72e4; + border: 1px solid var(--primary); + background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important; + background-color: #5e72e4; + background-color: var(--primary); + background-size: 70%; + background-repeat: no-repeat; + background-position: center; +} +ul li .cbi-input-checkbox { + margin: 0.5rem 0.25rem !important; +} +.cbi-input-radio { + appearance: none !important; + -webkit-appearance: none !important; + border: 1px solid #dee2e6; + width: 16px !important; + height: 16px !important; + padding: 0; + border-radius: 50%; + cursor: pointer; + transition: all 0.2s; + margin: 0.25rem 0; +} +.cbi-input-radio:checked { + border: 1px solid #5e72e4; + border: 1px solid var(--primary); + background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e') !important; + background-color: #5e72e4; + background-color: var(--primary); + background-size: 70%; + background-repeat: no-repeat; + background-position: center; +} +.toggle { + position: relative; + display: block; + width: 40px; + height: 20px; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + transform: translate3d(0, 0, 0); + margin: 1em 0; +} +.toggle:before { + content: ""; + position: relative; + top: 3px; + left: 3px; + width: 34px; + height: 14px; + display: block; + background: #9A9999; + border-radius: 8px; + transition: background 0.2s ease; +} +.toggle span { + position: absolute; + top: 0; + left: 0; + width: 20px; + height: 20px; + display: block; + background: white; + border-radius: 10px; + box-shadow: 0 3px 8px rgba(154, 153, 153, 0.5); + transition: all 0.2s ease; +} +.toggle span:before { + content: ""; + position: absolute; + display: block; + margin: -18px; + width: 56px; + height: 56px; + background: rgba(79, 46, 220, 0.5); + border-radius: 50%; + transform: scale(0); + opacity: 1; + pointer-events: none; +} +.cbi-input-checkbox:checked + .toggle:before { + background: #947ADA; +} +.cbi-input-checkbox:checked + .toggle span { + background: #4F2EDC; + transform: translateX(20px); + transition: all 0.2s cubic-bezier(0.8, 0.4, 0.3, 1.25), background 0.15s ease; + box-shadow: 0 3px 8px rgba(79, 46, 220, 0.2); +} +.cbi-input-checkbox:checked + .toggle span:before { + transform: scale(1); + opacity: 0; + transition: all 0.4s ease; +} +.cbi-value-field .cbi-input-checkbox, +.cbi-value-field .cbi-input-radio { + margin-top: 0.5rem; + height: 1rem; +} +.td .cbi-input-checkbox, +.td .cbi-input-radio { + margin-top: 0; +} +.cbi-value-field > input + .cbi-value-description { + padding: 0; +} +.cbi-value-field > ul > li { + display: flex; +} +.cbi-value-field > ul > li > label { + margin-top: 0rem; +} +.cbi-value-field > ul > li .ifacebadge { + background-color: #eee; + margin-left: 0.4rem; + margin-top: -0.5rem; +} +.cbi-section-table-row > .cbi-value-field .cbi-dropdown { + min-width: 7rem; +} +.cbi-section-create { + margin: 0; + padding-left: 1rem; + align-items: center; +} +.cbi-section-create > * { + margin: 0.25rem; +} +.cbi-section-remove { + padding: 0.5rem; +} +div.cbi-value var, +td.cbi-value-field var, +.td.cbi-value-field var { + font-style: italic; + color: #0069D6; +} +small { + font-size: 90%; + white-space: normal; + line-height: 1.42857143; +} +.cbi-button-up, +.cbi-button-down { + display: inline-block; + min-width: 0; + padding: 0.2rem 0.6rem; + font-size: 1.2rem; + color: #5e72e4 !important; + color: var(--primary) !important; +} +.cbi-optionals { + padding: 1rem 1rem 0 1rem; + border-top: 1px solid #CCC; +} +.cbi-dropdown-container { + position: relative; +} +.cbi-tooltip-container { + cursor: help; +} +.cbi-tooltip { + position: absolute; + z-index: 1000; + left: -1000px; + opacity: 0; + transition: opacity 0.25s ease-out; + pointer-events: none; + box-shadow: 0 0 2px #444; +} +.cbi-tooltip-container:hover .cbi-tooltip { + left: auto; + opacity: 1; + transition: opacity 0.25s ease-in; +} +.cbi-map-descr + fieldset { + margin-top: 1rem; +} +.cbi-section > legend { + display: none !important; +} +.cbi-section-error { + padding: 1.5rem; + color: #fb6340; + font-weight: 600; +} +fieldset > fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} +.zonebadge .cbi-tooltip { + padding: 0.25rem; + background: inherit; + margin: -1.5rem 0 0 -0.5rem; +} +.zonebadge-empty { + background: repeating-linear-gradient(45deg, rgba(204, 204, 204, 0.5), rgba(204, 204, 204, 0.5) 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); + color: #404040; +} +.zone-forwards { + display: flex; + min-width: 10rem; +} +.zone-forwards > * { + flex: 1 1 45%; +} +.zone-forwards > span { + flex-basis: 10%; + text-align: center; + padding: 0 0.25rem; +} +.zone-forwards .zone-src, +.zone-forwards .zone-dest { + display: flex; + flex-direction: column; +} +#diag-rc-output > pre { + background-color: #fff; + display: block; + padding: 8.5px; + margin: 0 0 18px; + line-height: 1.5rem; + white-space: pre-wrap; + word-wrap: break-word; + font-size: 1.4rem; + color: #404040; +} +input[name="ping"], +input[name="traceroute"], +input[name="nslookup"] { + width: 80%; +} +/* fix progress bar */ +#swaptotal > div, +#swapfree > div, +#memfree > div, +#membuff > div, +#conns > div, +#memtotal > div { + width: 100% !important; + height: 1.6rem !important; + line-height: 1.6rem; + border-radius: 0.25rem; +} +#swaptotal > div > div, +#swapfree > div > div, +#memfree > div > div, +#membuff > div > div, +#conns > div > div, +#memtotal > div > div { + height: 100% !important; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + background-image: url(../img/trafficbar.png); + background-position: left top; + animation: sparkle 1500ms linear infinite; +} +/* fix multiple table */ +table table, +.table .table { + border: none; +} +.cbi-value-field table, +.cbi-value-field .table { + border: none; +} +td > table > tbody > tr > td, +.td > .table > .tbody > .tr > .td { + border: none; +} +.cbi-value-field > table > tbody > tr > td, +.cbi-value-field > .table > .tbody > .tr > .td { + border: none; +} +/* button style */ +.cbi-page-actions .cbi-button-apply, +.cbi-section-actions .cbi-button-edit, +.cbi-button-edit.important, +.cbi-button-apply.important, +.cbi-button-reload.important, +.cbi-button-action.important { + color: #fff; + background-color: #337ab7; +} +.cbi-page-actions .cbi-button-save, +.cbi-button-add.important, +.cbi-button-save.important, +.cbi-button-positive.important { + color: #fff; + background-color: #5bc0de; +} +.cbi-button-remove.important, +.cbi-button-reset.important, +.cbi-button-negative.important { + color: #fff; + background-color: #d9534f; +} +.cbi-button-find, +.cbi-button-link, +.cbi-button-neutral { + color: #fff !important; + border: 1px solid #f0ad4e !important; + background-color: #f0ad4e !important; +} +.cbi-button-edit, +.cbi-button-apply, +.cbi-button-reload, +.cbi-button-action { + color: #2e6da4; + border: 1px solid #2e6da4; + background-color: transparent; +} +.cbi-page-actions .cbi-button-apply + .cbi-button-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-positive { + color: #46b8da; + border: 1px solid #46b8da; + background-color: transparent; +} +.cbi-section-remove > .cbi-button, +.cbi-button-remove, +.cbi-button-reset, +.cbi-button-negative { + color: #fff !important; + border: 1px solid #d43f3a !important; + background-color: #fb6340 !important; +} +.cbi-page-actions .cbi-button-link:first-child { + float: left; +} +.a-to-btn { + text-decoration: none; +} +/* table */ +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; + background-color: #e9ecef; + background-color: var(--lighter); +} +.td.cbi-section-actions { + text-align: right; + vertical-align: middle; +} +.td.cbi-section-actions > * { + display: flex; +} +.td.cbi-section-actions > * > *, +.td.cbi-section-actions > * > form > * { + flex: 1 1 4em; + margin: 0 1px; +} +.td.cbi-section-actions > * > form { + display: inline-flex; + margin: 0; +} +/* desc */ +/* luci */ +.hidden { + display: none; +} +.left, +.left::before { + text-align: left !important; +} +.right, +.right::before { + text-align: right !important; +} +.center, +.center::before { + text-align: center !important; +} +.top { + align-self: flex-start !important; + vertical-align: top !important; +} +.bottom { + align-self: flex-end !important; + vertical-align: bottom !important; +} +.inline { + display: inline; +} +.cbi-page-actions { + border-top: 0px solid #eee; + padding-top: 0rem; + text-align: right; +} +#xhr_poll_status { + cursor: pointer; + display: inline-block; +} +#xhr_poll_status > .label.success { + background-color: #fff !important; + color: #32325d !important; +} +.label { + padding: 0.3rem 0.8rem; + font-size: 0.8rem; + font-weight: bold; + color: #ffffff !important; + text-transform: uppercase; + white-space: nowrap; + background-color: #bfbfbf; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + text-shadow: none; + text-decoration: none; +} +.notice { + background-color: #5BC0DE; +} +.showSide { + display: none; + color: #fff; + font-size: 1.4rem; +} +.darkMask { + width: 100%; + height: 100%; + position: fixed; + background-color: rgba(0, 0, 0, 0.56); + z-index: 99; + left: 0; + top: 0; + display: none; +} +#cbi-firewall-redirect table *, +#cbi-network-switch_vlan table *, +#cbi-firewall-zone table * { + font-size: small; +} +#cbi-firewall-redirect table input[type="text"], +#cbi-network-switch_vlan table input[type="text"], +#cbi-firewall-zone table input[type="text"] { + width: 5rem; +} +#cbi-firewall-redirect table select, +#cbi-network-switch_vlan table select, +#cbi-firewall-zone table select { + min-width: 3.5rem; +} +#cbi-network-switch_vlan .th, +#cbi-network-switch_vlan .td { + flex-basis: 12%; +} +/* language fix */ +body.lang_pl.node-main-login .cbi-value-title { + width: 12rem; +} +/* applyreboot fix */ +#applyreboot-container { + margin: 2rem; +} +#applyreboot-section { + margin: 2rem; + line-height: 300%; +} +.table { + display: table; + position: relative; + color: #525f7f; + border-collapse: collapse; +} +.tr { + display: table-row; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} +.thead { + display: table-header-group; +} +.tbody { + display: table-row-group; +} +.tfoot { + display: table-footer-group; +} +.td, +.th { + vertical-align: middle; + text-align: center; + display: table-cell; + padding: 1rem; + white-space: nowrap; +} +.th { + font-weight: bold; +} +.tr.placeholder { + height: 4em; +} +.tr.placeholder > .td { + position: absolute; + left: 0; + right: 0; + bottom: 0; + text-align: center; + background: inherit; +} +.table[width="33%"], +.th[width="33%"], +.td[width="33%"] { + width: 33%; + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.table[width="100%"], +.th[width="100%"], +.td[width="100%"] { + width: 100%; +} +.table-titles .th { + padding: 0.75rem 1rem; + color: #8898aa; + background-color: #f6f9fc; +} +.col-1 { + flex: 1 1 30px !important; + -webkit-flex: 1 1 30px !important; +} +.col-2 { + flex: 2 2 60px !important; + -webkit-flex: 2 2 60px !important; +} +.col-3 { + flex: 3 3 90px !important; + -webkit-flex: 3 3 90px !important; +} +.col-4 { + flex: 4 4 120px !important; + -webkit-flex: 4 4 120px !important; +} +.col-5 { + flex: 5 5 150px !important; + -webkit-flex: 5 5 150px !important; +} +.col-6 { + flex: 6 6 180px !important; + -webkit-flex: 6 6 180px !important; +} +.col-7 { + flex: 7 7 210px !important; + -webkit-flex: 7 7 210px !important; +} +.col-8 { + flex: 8 8 240px !important; + -webkit-flex: 8 8 240px !important; +} +.col-9 { + flex: 9 9 270px !important; + -webkit-flex: 9 9 270px !important; +} +.col-10 { + flex: 10 10 300px !important; + -webkit-flex: 10 10 300px !important; + white-space: inherit; +} +.cbi-rowstyle-2 .cbi-button-up, +.cbi-rowstyle-2 .cbi-button-down { + background-color: #FFF !important; +} +.cbi-button-up, +.cbi-button-down, +.cbi-value-helpicon, +.showSide, +.main > .loading > span { + font-family: 'argon' !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.cbi-button-up { + transform: rotate(180deg); +} +select { + padding: 0.36rem 0.8rem; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; +} +select, +input { + font-size: 0.875rem; + transition: all 0.15s ease-in-out; + line-height: 1.5; + padding: 0.625rem 0.75rem; + color: #8898aa; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + background-color: #fff; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); + outline: none; + transition: box-shadow 0.15s ease; + margin: 0.25rem; +} +select:not([multiple="multiple"]):focus, +input:focus { + border-color: #5e72e4; + border-color: var(--primary); + outline: 0; + background-color: #fff; + box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, 0.1); +} +select[multiple="multiple"] { + height: auto; +} +code { + color: #0099CC; +} +abbr { + color: #005470; + text-decoration: underline; + cursor: help; +} +hr { + margin: 1rem 0; + border-color: #EEE; + opacity: 0.1; +} +.kpi { + font-size: 0.875rem; +} +fieldset[id^="cbi-apply-"] { + position: fixed; + z-index: 200; + width: 20rem; + margin-left: -10rem; + margin-top: -5rem; + height: 10rem; + left: 50%; + top: 50%; + padding: 1rem; + box-sizing: border-box; + font-size: 1.2rem; + text-align: center; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + transition: all 0.3s; +} +[id^="cbi-apply-"] > .panel-title { + border-bottom: none; +} +[id^="cbi-apply-"] > [id^="cbi-apply-"] { + position: initial; + width: auto; + height: auto; + font-size: 0.875rem; + margin-left: 0rem; + margin-top: 0.8rem; + display: block; +} +.cbi-section > h3:first-child, +.panel-title { + font-size: 1.125rem; + width: 100%; + display: block; + margin: 0; + padding: 0.8755rem 1.5rem; + border-bottom: 1px solid #ddd; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: normal; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +table, +.table { + width: 100%; +} +table > tbody > tr > td, +table > tbody > tr > th, +table > tfoot > tr > td, +table > tfoot > tr > th, +table > thead > tr > td, +table > thead > tr > th, +.table > .tbody > .tr > .td, +.table > .tbody > .tr > .th, +.table > .tfoot > .tr > .td, +.table > .tfoot > .tr > .th, +.table > .thead > .tr > .td, +.table > .thead > .tr > .th { + padding: 0.5rem; + border-top: 1px solid #ddd; +} +.cbi-section-table-cell { + white-space: nowrap; + align-self: flex-end; + flex: 1 1 auto; +} +.cbi-section-table { + font-size: 0.875rem; + border: none; + margin: 0 !important; +} +.status-bar { + font-size: 0.875rem; +} +.cbi-section-table-row:last-child { + margin-bottom: 0; +} +.cbi-section-table-row > .cbi-value-field .cbi-input-select, +.cbi-section-table-row > .cbi-value-field .cbi-input-text, +.cbi-section-table-row > .cbi-value-field .cbi-input-password, +.cbi-section-table-row > .cbi-value-field .cbi-dropdown { + width: 100%; +} +.cbi-section-table-row > .cbi-value-field [data-dynlist] > input, +.cbi-section-table-row > .cbi-value-field input.cbi-input-password { + width: calc(100% - 1.5rem); +} +div > table > tbody > tr:nth-of-type(2n), +div > .table > .tbody > .tr:nth-of-type(2n) { + background-color: #f9f9f9; +} +div > table > tbody > tr:nth-of-type(2n), +div > .table > .tbody > .tr:nth-of-type(2n) { + background-color: #f9f9f9; +} +.danger { + background-color: #f5365c !important; + background-color: var(--danger) !important; + color: #fff !important; +} +.warning { + background-color: #fb6340 !important; + background-color: var(--warning) !important; + color: #fff !important; +} +.notice { + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + color: #fff !important; +} +.success { + background-color: #2dce89 !important; + background-color: var(--success) !important; + color: #fff !important; +} +.errorbox, +.alert-message { + margin: 0 0 0 0; + padding: 1rem 2rem; + border: 0; + font-weight: normal; + font-style: normal; + line-height: 1.5em; + font-family: inherit; + min-width: inherit; + overflow: auto; + border-radius: 0.3rem; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); +} +.errorbox { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.alert-message.warning { + margin-bottom: 1rem; +} +.error { + color: red; +} +h1 { + font-size: 2rem; + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} +h2 { + margin: 0 0 1rem 0; + font-size: 1.25rem; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + color: #32325d; + border-radius: 0.375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); +} +#cbi-dropbear h2, +#cbi-dropbear .cbi-map-descr, +#cbi-dropbear .cbi-map-descr abbr, +#cbi-rc h2, +#cbi-rc .cbi-map-descr, +#cbi-distfeedconf h2, +#cbi-distfeedconf .cbi-map-descr, +#cbi-customfeedconf h2, +#cbi-customfeedconf .cbi-map-descr, +#cbi-download h2, +#cbi-filelist h2 { + color: #32325d !important; +} +h3 { + font-size: 1.15rem; + width: 100%; + display: block; + margin: 1rem 0; + color: #32325d; + font-weight: bold; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + border-radius: 0.375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); +} +fieldset { + margin: 1.25rem 0 0 0; + padding: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 0.375rem; + background-color: #fff; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + -webkit-overflow-scrolling: touch; +} +fieldset > legend { + display: none !important; +} +fieldset > fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} +fieldset.cbi-section p { + padding: 1em; +} +.panel-title { + width: 100%; + display: block; + margin-bottom: 0; + padding: 0.8755rem 1.5rem; + background-color: #fff; + border-bottom: 1px solid #ddd; + margin-bottom: 0rem; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: 600; +} +table { + border-spacing: 0; + border-collapse: collapse; + width: 100%; +} +table > tbody > tr > td, +table > tfoot > tr > td, +table > thead > tr > td { + font-size: 0.875rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 1.5rem; + border-top: 1px solid #ddd; +} +table > tbody > tr > th, +table > tfoot > tr > th, +table > thead > tr > th { + padding-right: 1.5rem; + padding-left: 1.5rem; + color: #8898aa; + background-color: #f6f9fc; + font-size: 0.65rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + letter-spacing: 1px; + text-transform: uppercase; + border-bottom: 1px solid #e9ecef; +} +table > tbody > tr:first-child > td, +table > tfoot > tr:first-child > td, +table > thead > tr:first-child > td { + border-top: 0px; +} +.cbi-section-table-cell { + text-align: center; +} +.cbi-section-table-row { + text-align: center; +} +fieldset > table > tbody > tr:nth-of-type(2n) { + background-color: #f9f9f9; +} +/* fix multiple table */ +table table { + border: none; +} +.cbi-value-field table { + border: none; +} +td > table > tbody > tr > td { + border: none; +} +.cbi-value-field > table > tbody > tr > td { + border: none; +} +/* table */ +.tabs { + margin: 0 0 1rem 0; + padding: 0 1rem; + background-color: #FFFFFF; + border-radius: 0.375rem; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); + white-space: nowrap; + overflow-x: auto; +} +.tabs::-webkit-scrollbar { + width: 1px; + height: 5px; +} +.tabs::-webkit-scrollbar-thumb { + background-color: #f6f9fc; +} +.tabs::-webkit-scrollbar-track { + background-color: #fff; +} +.tabs li[class~="active"], +.tabs li:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + color: #5e72e4; + color: var(--primary); + background-color: #dce1fe; + margin-bottom: 0; + border-radius: 0; +} +.tabs li[class~="active"] a, +.tabs li:hover a { + color: #5e72e4; + color: var(--primary); +} +.tabs li { + font-size: 0.875rem; + display: inline-block; + padding: 0.875rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); +} +.tabs li a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; +} +.tabs li:hover { + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); +} +.cbi-tabmenu { + color: white; + padding: 0.5rem 1rem 0 1rem; + white-space: nowrap; + overflow-x: auto; + border-bottom: 1px solid #ddd !important; +} +.cbi-tabmenu::-webkit-scrollbar { + width: 1px; + height: 5px; +} +.cbi-tabmenu::-webkit-scrollbar-thumb { + background-color: #f6f9fc; +} +.cbi-tabmenu::-webkit-scrollbar-track { + background-color: #fff; +} +.cbi-tabmenu li { + background: #dce3e9; + display: inline-block; + font-size: 0.875rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + padding: 0.5rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); +} +.cbi-tabmenu li a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; +} +.cbi-tabmenu li:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + color: #5e72e4; + color: var(--primary); + background-color: #dce1fe; + margin-bottom: 0; +} +.cbi-tabmenu li:hover a { + color: #525f7f; +} +.cbi-tabmenu li[class~="cbi-tab"] { + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + color: var(--primary); + background-color: #dce1fe; + margin-bottom: 0; +} +.cbi-tabmenu li[class~="cbi-tab"] a { + color: #5e72e4; + color: var(--primary); +} +.cbi-tab-descr { + margin: 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; +} +.cbi-dropdown { + display: inline-flex; + cursor: pointer; + position: relative; + padding: 0; + height: auto; +} +.cbi-dropdown:focus { + outline: 2px solid #4b6e9b; +} +.cbi-dropdown > ul { + margin: 0 !important; + padding: 0; + list-style: none; + overflow-x: hidden; + overflow-y: auto; + display: flex; + width: 100%; +} +.cbi-dropdown > ul.preview { + display: none; +} +.cbi-dropdown > .open { + border: 0px outset #eee; + flex-basis: 15px; + background: #fff; +} +.cbi-dropdown > .open, +.cbi-dropdown > .more { + flex-grow: 0; + flex-shrink: 0; + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; + line-height: 2em; + padding: 0 0.25em; +} +.cbi-dropdown > .more, +.cbi-dropdown > ul > li[placeholder] { + color: #777; + font-weight: bold; + text-shadow: 1px 1px 0px #fff; + display: none; +} +.cbi-dropdown > ul > li { + display: none; + padding: 0.25em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + flex-shrink: 1; + flex-grow: 1; + align-items: center; + align-self: center; + min-height: 20px; +} +.cbi-dropdown > ul > li .hide-open { + display: initial; +} +.cbi-dropdown > ul > li .hide-close { + display: none; +} +.cbi-dropdown > ul > li[display]:not([display="0"]) { + border-left: 1px solid #ccc; +} +.cbi-dropdown[empty] > ul { + max-width: 1px; +} +.cbi-dropdown > ul > li > form { + display: none; + margin: 0; + padding: 0; + pointer-events: none; +} +.cbi-dropdown > ul > li img { + vertical-align: middle; + margin-right: 0.25em; +} +.cbi-dropdown > ul > li > form > input[type="checkbox"] { + margin: 0; + height: auto; +} +.cbi-dropdown > ul > li input[type="text"] { + height: 20px; +} +.cbi-dropdown[open] { + position: relative; + border-color: #5e72e4; + border-color: var(--primary); +} +.cbi-dropdown[open] > ul.dropdown { + display: block; + background: #fff; + border-color: #5e72e4; + border-color: var(--primary); + position: absolute; + z-index: 1000; + max-width: none; + min-width: 100%; + width: auto; + box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.05); +} +.cbi-dropdown > ul > li[display], +.cbi-dropdown[open] > ul.preview, +.cbi-dropdown[open] > ul.dropdown > li, +.cbi-dropdown[multiple] > ul > li > label, +.cbi-dropdown[multiple][open] > ul.dropdown > li, +.cbi-dropdown[multiple][more] > .more, +.cbi-dropdown[multiple][empty] > .more { + flex-grow: 1; + display: flex; + align-items: center; +} +.cbi-dropdown[empty] > ul > li, +.cbi-dropdown[optional][open] > ul.dropdown > li[placeholder], +.cbi-dropdown[multiple][open] > ul.dropdown > li > form { + display: block; +} +.cbi-dropdown[open] > ul.dropdown > li .hide-open { + display: none; +} +.cbi-dropdown[open] > ul.dropdown > li .hide-close { + display: initial; +} +.cbi-dropdown[open] > ul.dropdown > li { + border-bottom: 1px solid #ccc; +} +.cbi-dropdown[open] > ul.dropdown > li[selected] { + background: #b0d0f0; +} +.cbi-dropdown[open] > ul.dropdown > li.focus { + background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%); +} +.cbi-dropdown[open] > ul.dropdown > li:last-child { + margin-bottom: 0; + border-bottom: none; +} +.cbi-dropdown[disabled] { + pointer-events: none; + opacity: 0.6; +} +.cbi-dropdown .zonebadge { + width: 100%; +} +.cbi-dropdown[open] .zonebadge { + width: 100%; +} +.cbi-dropdown { + font-size: 0.875rem; + transition: all 0.15s ease-in-out; + line-height: 1.5; + height: calc(2.75rem + 2px); + padding: 0m; + color: #8898aa; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + background-color: #fff; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); + margin: 0.25rem; +} +.cbi-value-field .cbi-dropdown { + min-width: 20rem; +} +.cbi-value-field .cbi-dropdown .zonebadge > .ifacebadge { + padding: 0rem 1rem; + margin: 0rem 0.3rem; + border: 1px solid #6C6C6C; +} +select[multiple="multiple"] { + height: auto; +} +.cbi-dropdown > ul { + margin: 0 !important; + padding: 0; + list-style: none; + overflow-x: hidden; + overflow-y: hidden; + display: flex; + width: 100%; +} +.cbi-section > legend { + display: none !important; +} +.cbi-section-remove:nth-of-type(2n), +.cbi-section-node:nth-of-type(2n) { + background-color: #f9f9f9; +} +.cbi-section-node-tabbed { + padding: 0; + margin-top: 0; +} +.cbi-section-node { + background: #fff; + border: 0; + border-radius: 0.375rem; + margin-bottom: 0px; + box-shadow: 0 0 0rem 0 rgba(136, 152, 170, 0.15); + overflow-x: auto; + overflow-y: hidden; + padding: 0rem 0; +} +#cbi-network-lan.cbi-section-node { + overflow-x: visible; + overflow-y: visible; +} +.cbi-section-node .cbi-value { + padding: 0.3rem 1rem 0.3rem 1rem; +} +.cbi-tabcontainer > .cbi-value:nth-of-type(2n) { + background-color: #f9f9f9; +} +.cbi-value-field, +.cbi-value-description { + display: table-cell; + line-height: 1.6; + font-size: 0.875rem; +} +.cbi-value-helpicon > img { + display: none; +} +.cbi-value-helpicon:before { + content: "\f059"; +} +.cbi-value-description { + font-size: small; + opacity: 0.5; + padding: 0.5rem; +} +.cbi-value-title { + word-wrap: break-word; + font-size: 0.875rem; + line-height: 1.6; + color: #525f7f; + padding: 0.7rem; + padding-left: 0; + width: 23rem; + float: left; + text-align: right; + display: table-cell; +} +.cbi-value { + padding: 0.3rem 1rem; + display: inline-block; + width: 100%; +} +.cbi-section-table-descr > .cbi-section-table-cell, +.cbi-section-table-titles > .cbi-section-table-cell { + border: none; +} +.cbi-rowstyle-1 { + background-color: #fff; +} +.cbi-rowstyle-2 { + background-color: #fefefe; +} +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; +} +/* desc */ +.cbi-section-descr { + padding: 1rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + line-height: 1.5em; + color: #525f7f; +} +.cbi-map-descr { + margin: 0rem 1.5rem 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; +} +/* input */ +.cbi-value input[type="password"], +.cbi-value input[type="text"] { + min-width: 20rem; +} +input[type="checkbox"] { + height: auto; +} +/* select */ +.cbi-value-field .ifacebadge { + display: inline-flex; + border-bottom: 0px solid #CCCCCC; + padding: 0.5rem 1rem; + box-shadow: none; +} +td > .ifacebadge { + background-color: #F0F0F0; + font-size: 0.9rem; +} +.ifacebadge > img { + float: right; + margin: 0 0.3rem; +} +/*textarea*/ +.cbi-input-textarea { + width: 100%; + border: 0; + outline: none; + min-height: 14rem; + padding: 0.8rem; + font-size: 0.8rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: black; +} +#syslog { + width: 100%; + min-height: 15rem; + padding: 1rem; + line-height: 1.4em; + font-size: small; + color: #1e1e1e; + border-radius: 0; + background-color: #fff; + border: none; + outline: none; +} +.ifacebadge { + display: inline-flex; + border-bottom: 0px solid #CCCCCC; + padding: 0.5rem 1rem; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + background: #fff; +} +td > .ifacebadge, +.td > .ifacebadge { + background-color: #e9ecef; + font-size: 0.9rem; + border-radius: 0.2rem; +} +.ifacebadge > em, +.ifacebadge > img { + display: inline-block; + margin: 0 0.3rem; + align-self: flex-start; +} +.ifacebadge span { + line-height: 1.6em; +} +.network-status-table { + display: flex; + flex-wrap: wrap; +} +.network-status-table .ifacebox { + margin: 1rem; + flex-grow: 1; +} +.network-status-table .ifacebox-body { + display: flex; + flex-direction: column; + height: 100%; +} +.network-status-table .ifacebox-body > span { + flex: 10 10 auto; + height: 100%; + line-height: 1.7em; + padding-left: 2rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.network-status-table .ifacebox-body > div { + display: flex; + flex-wrap: wrap; +} +.network-status-table .ifacebox-body .ifacebadge { + flex: 1 1 auto; + margin: 0; + padding: 0.5em; + min-width: 220px; + background-color: #fff; + align-items: center; +} +.ifacebox { + border: 1px solid #ccc; + border-radius: 0.375rem; + background-color: #f9f9f9; + display: inline-flex; + flex-direction: column; + line-height: 1.2em; + min-width: 100px; + overflow: hidden; +} +.ifacebox-head { + padding: 1rem; + background: #eee; +} +.ifacebox-head.active { + background: #5e72e4; + background: var(--primary); + color: #fff; +} +.ifacebox-body { + padding: 0.5em; +} +.cbi-image-button { + margin-left: 0.5rem; +} +#iwsvg, +#iwsvg2, +#bwsvg { + border: none !important; + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + overflow: hidden; +} +.cbi-image-button { + margin-left: 0.5rem; +} +.zonebadge { + padding: 0.2rem 0.5rem; + display: inline-block; + cursor: pointer; +} +.zonebadge > .ifacebadge { + padding: 0.2rem 1rem; + margin: 0.3rem; + border: 1px solid #6C6C6C; +} +.zonebadge > input[type="text"] { + padding: 0.16rem 1rem; + min-width: 10rem; + margin-top: 0.3rem; +} +.cbi-value-field .cbi-input-checkbox, +.cbi-value-field .cbi-input-radio { + margin: 0.9rem 0.25rem 0 0.25rem; + height: 1rem; + line-height: 1.6; +} +.cbi-input-checkbox { + margin: 0.9rem 0.25rem 0 0.25rem; +} +.cbi-value-field .cbi-input-radio { + margin: 0rem 0.25rem; +} +.cbi-value-field > input + .cbi-value-description { + padding: 0; +} +.cbi-value-field > ul > li { + display: flex; + align-items: center; + font-size: 0.875rem; +} +.cbi-value-field > ul > li .ifacebadge { + font-size: 0.875rem; + background-color: #eee; + display: flex; + align-items: center; + margin-left: 0rem; + margin-top: 0rem; +} +.cbi-section-table-row > .cbi-value-field .cbi-input-select { + min-width: 7rem; +} +.cbi-section-create > .cbi-button-add { + margin: 0.5rem 0.5rem 0.5rem 0.5rem; +} +.cbi-section-remove { + padding: 0.5rem; +} +div.cbi-value var, +td.cbi-value-field var { + font-style: italic; + color: #0069D6; +} +small { + font-size: 90%; + white-space: normal; + line-height: 1.42857143; +} +.cbi-optionals { + padding: 1rem 1rem 0 1rem; + border-top: 1px solid #CCC; +} +input[name="ping"], +input[name="traceroute"], +input[name="nslookup"] { + width: 80%; +} +.label { + padding: 0.3rem 0.8rem; + font-size: 0.8rem; + font-weight: bold; + color: #fff !important; + text-transform: uppercase; + white-space: nowrap; + background-color: #32325d; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + text-shadow: none; + text-decoration: none; +} +/* fix status overview */ +.node-status-overview > .main fieldset:nth-child(4) td:nth-child(2) { + white-space: normal; +} +.node-status-overview > .main #wan4_i, +.node-status-overview > .main #wan6_i { + width: 80px !important; +} +/* fix status processes */ +.node-status-processes > .main table tr td:nth-child(3) { + white-space: normal; +} +/* fix system reboot */ +.node-system-reboot > .main > .main-right p, +.node-system-reboot > .main > .main-right h3 { + padding-left: 2rem; + color: #fff; +} +/* fix Services Network Shares*/ +.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title { + margin-bottom: 1rem; + width: auto; +} +.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field { + display: list-item; +} +.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description { + padding-top: 1rem; +} +/* fix System Software*/ +.node-system-packages > .main table tr td:nth-child(1) { + width: auto !important; +} +.node-system-packages > .main table tr td:nth-last-child(1) { + white-space: normal; + font-size: small; + color: #404040; +} +.node-system-packages > .main .cbi-tabmenu > li > a, +.tabs > li > a { + padding: 0.5rem 0.8rem; +} +.node-system-packages > .main .cbi-value > pre { + background-color: #eee; + padding: 0.5rem; + overflow: auto; +} +.node-system-packages > .main .cbi-page-actions { + padding: 1rem 0; +} +.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; +} +.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + width: 100% !important; + background-color: #fff !important; + height: 1.4rem !important; + border-radius: 0.25rem; + margin: 0.5rem 0; + overflow: hidden; +} +.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div { + border-right: 0 !important; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; +} +.node-system-leds .cbi-section em { + display: block; +} +.cbi-tabmenu + .cbi-section { + margin-top: 0; +} +.cbi-section { + background: #fff; + border: 0; + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + overflow-x: auto; + overflow-y: hidden; +} +.cbi-section em { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; + text-align: center; +} +.cbi-section h4 { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; +} +#content_syslog { + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + overflow: hidden; +} +.node-system-packages .cbi-section-node .cbi-value { + padding: 0.5rem 1rem; + font-size: 0.875rem; +} +.node-system-packages br { + display: none; +} +/* fix network firewall*/ +.node-network-firewall > .main .cbi-section-table-row > .cbi-value-field .cbi-input-select { + min-width: 4rem; +} +.node-network-firewall .cbi-section-table { + width: 100% !important; +} +.node-status-iptables fieldset, +.node-system-packages fieldset, +.node-system-flashops fieldset { + margin-top: 0; +} +.node-status-iptables .cbi-tabmenu, +.node-system-packages .cbi-tabmenu, +.node-system-flashops .cbi-tabmenu { + border: none; +} +.node-system-flashops form.inline + form.inline { + margin-left: 0; +} +.Changes .cbi-section { + font-size: 0.875rem; + padding: 1rem; +} +.node-network-diagnostics { + font-size: 0.875rem; +} +.node-network-diagnostics #diag-rc-output { + display: block; + padding: 1rem; +} +.node-network-diagnostics #diag-rc-output pre { + font-size: 0.875rem; +} +.node-network-diagnostics .cbi-section div { + padding: 0 1.5rem; +} +.node-network-diagnostics input { + margin: 0.25rem !important; +} +.node-network-wireless .cbi-button-add { + margin-left: 0; +} +/* fix nlbw/display*/ +#detail-bubble.in { + z-index: 500; +} +.node-nlbw-display .cbi-section ul { + padding: 0.875rem 1.5rem; +} +.node-nlbw-backup form { + margin-left: 1.5rem; +} +.node-nas-usb_printer em { + display: block; +} +@media screen and (max-width: 1600px) { + .main .main-left { + width: calc(0% + 13rem); + } + .main .main-right { + width: calc(100% - 13rem); + } + .cbi-button { + /*padding: 0.3rem 1.5rem;*/ + font-size: 0.8rem; + } + header > .container > .pull-right > * { + top: 0.35rem; + } + .label { + padding: 0.2rem 0.6rem; + } + .cbi-value-title { + width: 15rem; + padding-right: 0.6rem; + } + fieldset { + padding: 0; + } + .cbi-input-textarea { + font-size: small; + } + .node-status-iptables > .main fieldset li > a { + padding: 0.3rem 0.6rem; + } +} +@media screen and (max-width: 1280px) { + header > .container { + margin-top: 0.25rem; + } + .main .main-left { + width: calc(0% + 13rem); + } + .main .main-right { + width: calc(100% - 13rem); + } + .cbi-tabmenu > li > a, + .tabs > li > a { + padding: 0.2rem 0.5rem; + } + .panel-title { + font-size: 1.1rem; + padding-bottom: 1rem; + } + table { + font-size: 0.7rem !important; + width: 100% !important; + } + .main > .main-left > .nav > li, + .main > .main-left > .nav > li a, + .main > .main-left > .nav > .slide > .menu { + font-size: 0.9rem; + } + .main > .main-left > .nav > .slide > .slide-menu > li > a { + font-size: 0.7rem; + } +} +@media screen and (min-width: 600px) { + ::-webkit-scrollbar { + width: 10px; + height: 10px; + } + ::-webkit-scrollbar, + ::-webkit-scrollbar-corner { + background: transparent; + } + ::-webkit-scrollbar-thumb { + background: #9e9e9e; + } + ::-webkit-scrollbar-thumb:hover { + background: #757575; + } + ::-webkit-scrollbar-thumb:active { + background: #424242; + } +} +@media screen and (max-width: 992px) { + .main .main-left { + width: 0; + position: fixed; + z-index: 100; + } + .main .main-right { + width: 100%; + } + .showSide { + padding: 0.1rem; + position: relative; + display: inline-block; + } + .showSide:hover { + text-decoration: none; + } + .showSide:before { + content: "\e20e"; + font-size: 1.7rem; + } + header > .fill > .container > .brand { + display: inline-block; + } + .cbi-value-title { + width: 9rem; + padding-right: 1rem; + } + .node-network-diagnostics > .main .cbi-map fieldset > div * { + width: 100% !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] { + margin: 3rem 0 0 0 !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] { + margin: 0 !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div select, + .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] { + margin: 1rem 0 0 0 !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div { + width: 100% !important; + } + #diag-rc-output > pre { + font-size: 1rem; + } +} +@media screen and (max-width: 480px) { + body { + font-size: 0.8rem; + } + .pull-right { + float: right; + margin-top: 0rem !important; + } + .login-page .video video { + width: auto !important; + height: 100% !important; + } + .login-page .login-container { + margin-left: 0rem !important; + width: 100%; + } + .login-page .login-container .login-form { + max-width: 480px; + } + .login-page .login-container .login-form .form-login .input-group::before { + color: #525461; + } + .login-page .login-container .login-form .form-login .input-group input { + color: #525461; + border-bottom: white 1px solid; + border-bottom: var(--white) 1px solid; + border-radius: 0; + } + fieldset { + padding: 0; + margin: 1rem 0 0 0; + } + .toggle { + margin: 0; + } + h2 { + font-size: 1.125rem; + } + .panel-title { + font-size: 1rem; + padding-bottom: 1rem; + } + #maincontent > .container { + margin: 0 1rem 1.5rem 1rem; + } + .main > .main-left > .nav > .slide > .menu { + font-size: 1rem; + } + .main > .main-left > .nav > .slide > .slide-menu > li > a { + font-size: 0.9rem; + } + .main > .main-left > .nav > .slide > .menu:after { + top: 0.9rem; + } + #ethinfo td { + padding: 0.75rem 0.2rem !important; + } + .cbi-value-title { + width: 100%; + min-width: 0rem !important; + display: block; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + text-align: left; + padding: 0 0.25rem; + } + .cbi-value input[type="password"], + .cbi-value input[type="text"] { + min-width: 15rem; + } + select, + input { + width: 100% !important; + min-width: auto; + margin: 0.25rem 0; + } + input { + box-sizing: border-box; + } + .cbi-value > .cbi-value-field > div > input { + width: calc(100% - 1.5rem) !important; + } + .cbi-value > .cbi-value-field { + display: inline-block; + width: 100%; + position: relative; + } + .cbi-value-field .cbi-input-checkbox, + .cbi-value-field .cbi-input-radio { + margin: 0rem 0.25rem 0 0.25rem; + height: 1rem; + line-height: 1.6; + } + .cbi-page-actions > div > input { + display: none; + } + .tabs::-webkit-scrollbar, + .cbi-tabmenu::-webkit-scrollbar { + width: 0px; + height: 0px; + } + .tabs > li > a { + font-size: 0.9rem; + } + select, + input { + font-size: 0.9rem; + } + .mobile-hide { + display: none !important; + } + .node-status-realtime table > tbody > tr > td, + .node-status-realtime table > tfoot > tr > td, + .node-status-realtime table > thead > tr > td { + font-size: 0.8125rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 0rem; + border-top: 1px solid #ddd; + width: auto; + text-align: center; + } + .node-system-packages > .main .cbi-value.cbi-value-last > div { + width: 100% !important; + } + .node-system-packages .cbi-section-node .cbi-value { + padding: 0.3rem 1rem; + } + .node-system-packages > .main .cbi-value .cbi-value-field input { + width: 100%; + } + .node-system-leds .cbi-section em { + display: block; + } + .node-status-iptables > .main div > .cbi-map > form { + position: static !important; + margin: 0 0 2rem 0; + padding: 2rem; + border: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + border-radius: 0.375rem; + background-color: #FFF; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + -webkit-overflow-scrolling: touch; + } + .node-status-iptables > .main div > .cbi-map > form input[type="submit"] { + width: 100% !important; + margin: 0; + } + .node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"] { + margin-top: 1rem; + } + .cbi-value input[type="text"]:has(+ img) { + width: 10rem !important; + } + .cbi-button-add { + margin-left: 0.5rem; + } + .node-network-network .cbi-section-table tr, + .node-network-network .cbi-section-table td { + display: block; + } + .node-network-network .cbi-section-table td { + width: 100% !important; + text-align: center !important; + padding: 0.8rem 1.5rem !important; + } + .node-network-network .cbi-section-table .cbi-section-table-titles { + display: flex; + } + .node-network-network .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + flex: 1 !important; + } + .node-services-vssr .status-info { + font-size: 0.75rem; + } + .node-services-vssr .icon-con { + margin-top: 0.4rem; + } + .node-services-vssr .icon-con img { + width: 2.3rem !important; + height: auto; + } +} diff --git a/luci-theme-argon/htdocs/luci-static/argon/css/dark.css b/luci-theme-argon/htdocs/luci-static/argon/css/dark.css new file mode 100644 index 00000000..9288375f --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/css/dark.css @@ -0,0 +1 @@ +body{background:#1e1e1e;color:#cccccc}.login-page .login-container .login-form{background-color:#1e1e1e}.login-page .login-container .login-form .brand{color:#adb5bd}.login-page .login-container .login-form .form-login .input-group::before{color:#adb5bd}.login-page .login-container .login-form .form-login .input-group input{background-color:transparent !important;color:#adb5bd;border-bottom:#adb5bd 1px solid !important;border-radius:0;border-top:none !important;border-left:none !important;border-right:none !important;box-shadow:none}.login-page .login-container .login-form .form-login .input-group input:focus{border-top:none !important;border-left:none !important;border-right:none !important}.login-page .login-container .login-form .form-login .cbi-button-apply{background-color:#483d8b !important;background-color:var(--dark-primary) !important}.login-page .login-container .login-form .form-login .cbi-button-apply:hover,.login-page .login-container .login-form .form-login .cbi-button-apply:focus{opacity:.9}.login-page .login-container footer{color:#adb5bd}header::after{background-color:#1e1e1e !important}.main .main-left{background-color:#333333 !important;box-shadow:0 0 .5rem 0 rgba(0,0,0,0.15)}.main .main-left .sidenav-header .brand{color:#ccc}.main .main-left .nav .slide .slide-menu .active a{color:#cccccc}.main .main-left .nav .slide .slide-menu .active a::after{background-color:#cccccc !important}.main .main-left .nav .slide .slide-menu li a{color:#cccccc}.main .main-left .nav .slide .slide-menu li a:hover{background:none !important}.main .main-left .nav .slide .menu.active{background-color:#483d8b !important;background-color:var(--dark-primary) !important;color:#cccccc !important}.main .main-left .nav .slide .menu.active a::after{background-color:#cccccc !important}.main .main-left .nav li a{color:#cccccc !important}.main .main-left .nav li a:hover{background-color:#483d8b !important;background-color:var(--dark-primary) !important;color:#cccccc !important}.main .main-left::-webkit-scrollbar-thumb{background-color:#252526 !important}.main .main-left::-webkit-scrollbar-track{background-color:#333}.main .main-right{background-color:#1e1e1e}h2{color:#ccc;background:#333333}h3{color:#ccc;border-bottom:0;background:#333333}a:-webkit-any-link{color:-webkit-link;cursor:pointer;color:#483d8b;color:var(--dark-primary)}input:-webkit-autofill{background-color:#3c3c3c !important}.cbi-value-field .cbi-input-apply,.cbi-button-apply,.cbi-button-edit{color:#fff !important;background-color:#483d8b !important;background-color:var(--dark-primary) !important;border-color:#483d8b !important;border-color:var(--dark-primary) !important}.cbi-section em{color:#483d8b;color:var(--dark-primary)}header.bg-primary{background-color:#1e1e1e !important}.cbi-map-descr{color:#ccc}.cbi-section{background:none;box-shadow:0 0 .5rem 0 rgba(0,0,0,0.35)}.panel-title{color:#ccc;background-color:#333333;border-bottom:0px}table>tbody>tr>td,table>tfoot>tr>td,table>thead>tr>td{color:#ccc}fieldset>table>tbody>tr:nth-of-type(2n){background-color:#252526}table>tbody>tr>td,table>tfoot>tr>td,table>thead>tr>td{border-top:1px solid #252526}#swaptotal>div>div,#swapfree>div>div,#memfree>div>div,#membuff>div>div,#conns>div>div,#memtotal>div>div{background-color:#483d8b !important;background-color:var(--dark-primary) !important}#swaptotal>div>div>div>small,#swapfree>div>div>div>small,#memfree>div>div>div>small,#membuff>div>div>div>small,#conns>div>div>div>small,#memtotal>div>div>div>small{color:#ccc !important}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last{line-height:1.8em}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"]{border:1px solid #999999 !important;background-color:transparent !important}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div{background-color:#32325d !important}table>tbody>tr>th,table>tfoot>tr>th,table>thead>tr>th{background-color:#252526;border-bottom:black 1px solid !important}.cbi-rowstyle-2{background-color:#1e1e1e}.cbi-rowstyle-1{background-color:#252526}.cbi-section>h3:first-child,.panel-title{color:#ccc;border-bottom:0}.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell{background-color:#1e1e1f}.cbi-button{color:#ccc;background-color:#252526}.cbi-section-node{background:none;border-radius:0 0 .375rem .375rem;padding:0rem}abbr{color:#483d8b;color:var(--dark-primary)}div>table>tbody>tr:nth-of-type(2n),div>.table>.tbody>.tr:nth-of-type(2n){background-color:#252526}#content_syslog{box-shadow:0 0 .5rem 0 rgba(0,0,0,0.35)}#syslog{color:#ccc;background-color:#1e1e1e}#iwsvg,#iwsvg2,#bwsvg{overflow:hidden;box-shadow:0 0 .5rem 0 rgba(0,0,0,0.35);background-color:#1e1e1e !important}.tabs{background-color:#252526}.tabs>li[class~="active"]>a{color:#ccc}.tabs>li[class~="active"],.tabs>li:hover{border-bottom:.18751rem solid #483d8b;border-bottom:.18751rem solid var(--dark-primary);color:#ccc;background-color:#181819}.cbi-tabmenu>li>a,.tabs>li>a{color:#ccc}.cbi-tabmenu>li>a:hover,.tabs>li>a:hover{color:#ccc}.cbi-tabmenu>li{background:#2d2d2d}.cbi-tabmenu{border-bottom:0 solid #ddd !important}.cbi-tabmenu li[class~="cbi-tab"] a{color:#ccc}.cbi-tabmenu>li:hover{color:#ccc;background:#2d2d2d}.cbi-tabmenu>li[class~="cbi-tab"]{background-color:#181819}.cbi-tabcontainer>.cbi-value:nth-of-type(2n){background-color:#252526}.cbi-value-title{color:#ccc}select,input{color:#ccc;background-color:transparent;border:1px solid #3c3c3c !important;box-shadow:0 3px 2px rgba(0,0,0,0.05)}select:not([multiple="multiple"]):focus,input:focus{border-color:#483d8b !important;border-color:var(--dark-primary) !important;background-color:transparent;outline:0;box-shadow:none}select{background-color:#1e1e1e !important}#cbi-dropbear h2,#cbi-dropbear .cbi-map-descr,#cbi-dropbear .cbi-map-descr abbr,#cbi-rc h2,#cbi-rc .cbi-map-descr,#cbi-distfeedconf h2,#cbi-distfeedconf .cbi-map-descr,#cbi-customfeedconf h2,#cbi-customfeedconf .cbi-map-descr,#cbi-download h2,#cbi-filelist h2{color:#ccc !important}.cbi-value-field>ul>li .ifacebadge{background-color:#3c3c3c}.cbi-section-descr{color:#ccc}.cbi-input-textarea{background-color:#1e1e1e;color:#ccc}.cbi-section-remove:nth-of-type(2n),.cbi-section-node:nth-of-type(2n){background-color:#1e1e1e}.node-system-packages>.main table tr td:nth-last-child(1){color:#ccc}.node-system-packages>.main .cbi-value>pre{background-color:#333}.cbi-section-node .cbi-value{padding:1rem 1rem .3rem 1rem}.ifacebox{background-color:none;border:1px solid #1e1e1e}.ifacebox-head{color:#666}.ifacebox-body{background-color:#333}.zonebadge strong{color:#333}.zonebadge>.ifacebadge{background-color:#3c3c3c}div.cbi-value var,td.cbi-value-field var{color:#483d8b;color:var(--dark-primary)}#diag-rc-output>pre{color:#ccc;background-color:#1e1e1e}.node-services-vssr .block{background-color:#1e1e1e !important;box-shadow:0 0 .5rem 0 rgba(0,0,0,0.35)}.node-services-vssr .block h4{color:#ccc !important}.node-services-vssr .status-bar{color:#ccc;box-shadow:0 0 .5rem 0 rgba(0,0,0,0.35);background-color:#1e1e1e}.node-services-vssr .cbi-section-table-row{color:#ccc;background-color:#3c3c3c !important;box-shadow:0 0 5px 0 rgba(0,0,0,0.35)}.node-services-vssr .cbi-section-table-row.fast{background:#483d8b !important;background:var(--dark-primary) !important;color:#fff}.node-services-vssr .ssr-button{color:#ccc}.node-services-vssr .incon:nth-child(2){border-right:#1e1e1e 1px solid}.main .main-right #maincontent .container p{color:#ccc}#xhr_poll_status>.label.success{color:#ccc !important;background-color:darkolivegreen !important}.notice{background-color:#483d8b !important;background-color:var(--dark-primary) !important}.cbi-input-find,.cbi-input-save,.cbi-button-add,.cbi-button-save,.cbi-button-find,.cbi-input-reload,.cbi-button-reload{background-color:darkseagreen !important;border-color:darkseagreen !important}.cbi-button-reset,.cbi-input-remove{color:#fff !important;background-color:darkorange !important;border-color:darkorange !important}.cbi-page-actions .cbi-button-apply,.cbi-section-actions .cbi-button-edit,.cbi-button-edit.important,.cbi-button-apply.important,.cbi-button-reload.important,.cbi-button-action.important{border:1px #483d8b solid !important;border:1px var(--dark-primary) solid !important}fieldset[id^="cbi-apply-"]{background-color:#333333}#detail-bubble>div{border:1px solid #ccc;border-radius:2px;padding:5px;background:#252525}.cbi-section-error{color:darkorange}.node-services-vssr .block h4 span{color:#ccc !important}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.login-page .login-container .login-form{-webkit-backdrop-filter:blur(var(--blur-radius-dark));backdrop-filter:blur(var(--blur-radius-dark));background-color:rgba(0, 0, 0, var(--blur-opacity-dark))}}@media screen and (max-width:480px){.node-status-iptables>.main div>.cbi-map>form{background-color:#1e1e1e;box-shadow:0 0 .5rem 0 rgba(0,0,0,0.35)}} \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css b/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css new file mode 100644 index 00000000..cfe4fc3e --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css @@ -0,0 +1,186 @@ +/** + * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + * + * luci-theme-argon + * Copyright 2020 Jerryk + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ + + + @font-face { + font-family: 'Google Sans'; + src: url('data:application/font-woff2;charset=utf-8;base64,d09GMgABAAAAAFW8ABIAAAAA2DgAAFVQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGoI0G9x4HKUeBmAAhAIIgTwJnnURDAqB3UiBvQwLhQIAATYCJAOKAAQgBYRnB41NDIQAGz7EJ5hubiR/lNsGgFCW81d/0QXsVni3jdDeRWCO9bMDLTIPKCA+/y/Z//+fkJyM4UAPm1rm+7lslg6TcoycK1yhVF4Fd00lKYMnOBQOl+CKjFHEfIuq31ySSDU87HzeHbmNsgX6LmfjlEVKdIfIiz8bD8xUr+9MmpvlGb1NBxps4YKro8j/gJhCqGbPZIYkd4vYzcfT4a9PuRMK1fqG8BHfIPbCDjeuZ6suWAX5jxolVYEh44GfRhVJC1foEkk8ZPN8ThiPb2Zfje53BraN/ElOXvKI5mxmT3NJ7iJGEsIRQpAHr2BNUKtRatQcqkaVquqL1cT5Maf1erYl2ZYt2Y7NSexwE7dNZtIOdXbTBeauPmsJ8Aj0T4BwIkCe/3//nneufb+MkK7UgargKiNVKhgd+M71OfX3WU46s2sXGR/YVhOl6LTpR46u1rVA7ACCZBUAjp8o3Mb9lkK1dKPgAG3zf8E2llgYIAISdWTLHRx5CMgBCta0Z+Yi8y26//uuIl7Upl9vc3NFk6a+oqmuTstV4J34R2wRW6D7iC1iD4lt5DPMIndJQKjb7i/yLJQwkilFFrz0kxpam69aImwe0hqlvfiZvTRCyIsFK01LLM+5vft/iRJkBjXyID++8zyztHK0ApYyAN3XB5lsaKEsacguL5LNAiXRF8D/oLvjThiR0QEHbnKVpma4F8Ugg/DXnlLKlGXNsOzxP23mSrItA2l9zP8u3ycdwQYI5JSZecHdcFGlalI0R9D0KTqgok5+WAxd6f63u6eRj+q9CXdo69XN5KtJEAtaQtOFkr7K/9/rrE7t7tPTB4HLM8hMgI7y6cM5MBF33OIOaUVPiMtZzSxW79/3pP/ff/rSR+Cxvii5VFBBAocPsn2E7KmWhKtbklV1oMpTB9MhJwEdcCaUp1OIq0l5swghLpazXKawWK6Gf74//FfzZk+oL3saDF7HlHooeFOatUIB++qhUgkCJDmas3+bXh6TsM84QAmoZDsz6TTd5PoA8LOQmdmdDZQ+ALhvhD+oyYFTHHJazVNvizXT+8jAj7G0980AExtN61DFowRRiLv/PHayHp9a0B0WnsjDXSIiXQkllBBCF0oQEff/vSxnF7o5nXlFU5OJPj4V4GwYS234pLXfe5s1USMRFBQQBATU9LoBACfh4oM7vwQvu0sn4cpHYU92pYpIjb4EC92Zetc9xH33aYMe+I74EQ+MN17EJwZhakiSq1R7vY0w1WKrbbbbYaf95ZJbHnkF0TBpPIePCpt/djVsZWR5EC5ahdZT66M1dtMRTj/xncj3hKCBtuhttstvANajW3t2Bffxde26QMwp+b3LwYMGv3Cv+/d8PPnYnuXAMwDAy5E6ulMexR1DNflkFvod7PdoXGrqP3pUWEd+VHhn/szwKwL9hQYgcovi4ZGuvcHmW2mznTY77CzC0MDUDMVIYCHwwUCGZvi3Odz1CVetURG1FGMigUav2tHQlL29GxodFjmMA3S97S4TSQPTPWhmIMwNfHpKpDENIgOuXc+LviRYLaFSGPX7d2IikYGRiZmFDzt/AbxuhkYRSGQ0gMnu4ChAtXo9umo029STHgjT+J5xKDojxNjpNfUVjHgbLwg1ZkAT0CSEBtIidBgVUOXK+t0f0J8o/6BcQNy6w2CE+M3SE44BYUIxQxY8n2EAoodOHTbn3zAEShINLR2PMhUCRif/rCIXUqRPKYF3RF6odwIhpzF93wsQZIRdnzbYNRB9zKWRhKg0iXla1/N4SEAvWQ2NpEHfC1oJF+/YnojlTTEfq5iWEnCjwevU0gri4r9i88tF7WgwUiGkVD/tD1EiFDVB1dBDKWKiN886QDYU+0U24gIcIhHPl0SkJdLR0NMysDLetUGeYcyQOZ+t4wLkZhHKIhwvhkUNFrURcfzFoySgJWIkYaWvCpmyqeRSqkelPrUGVEpIepP14acftUGr3QhjoSqccavFTHNZzF8tFljM35KvsbLD5dZSWGcTle3NqrfHXir7qZxgcYbKnxyucLhBdIXgJpNHFzWJjuyJj+QkR35JnxMgN7dUexMQK/59ATlhgCIy6Gl7j+JtIjVUVoiotBQZvgUaDDljqIsFCJreUYsXU93H7f3BIWH4Xs7cgbtTCpfkRfNO5ahS61VRZ2WTynTcK82OpjwX2DLutqxe8kDLzbJ3tVpbETIjFt5i0c1bZHrtKlNcBAkQYIKCWwEI5zTjyAxXImpDrmCJxJUSg14yQFuawyhohzYjl28VKBVmmQhl8lbLX5TMBDbAksc8zlfiklGQMFEb2BoFGDVXQkOEM40sDBqGEZwLhimh4cDXipjs+t4RkoXziEweUaLttfbzL2iaFMiJPaoQYkeXjT+Zndk0QNdCj6yNkAQwiqp3sSrWQev9CDxmwWOCqwW6ZWG/l6Np7NnoO0bJO7eQPmf5D7VBAKvYlsBPBpVNoq2iXTFVn/SayBX5o8ejvmMNq9TEer1EBsyI61ulMz0eE2hGxm6aNkcLW+mLSt9Lxo5SUAagLYpaiuJV3dxiEHEAXh52/qC1m3I9PuNjakm/bgx14REhjDWacX3cjR4/AJipRwvxYCdJltYUP0iBgzzlB8vrVgMlDMNIMvA90+qCYEjCIDkhvDgUxT8gOcfUBmL6oWdA3wTMyiM3diwB5bjLAYiHADPuj89t2E0QHLshBatAAw68p7GCx/zrj1mAGMsFZTDuAmdOaEl+WGXNtOTQ8prKKNiJGqQ83ETJ0c4YyAgA4INZGWIZ6ofaTE0nL7CrNwkkrpJDueV+GJZSiizdVEw+GLupU7XzfR/51FIWeUgcTg8MMALKwXJuG1ru/NwUSocY65eyrkuSDHsWYIZp9sJxe7OdJVnYTHAugQPkRgShBKOFYISurN+E4YRTiCCIXJWiROPEUImlVoNKTaJaJLVpxNGKp5NAL5FBEqM6TKrQxq3EeJPQJq+cKabhTUeZMdwJL1WqtNtoKZid+DoNMT7Tqg0gjnmJhsDrbwEQIUEEf0l8ASSLAlAHgJddCigg9pjj4thYLg8DazG/8fEICo0hY9UA4AMAIBZAgCDK3uUptpRLOL2876ukphQyqqO/7JNOOcHfvHpxVKKdnIBzRK08X9MqiW5hJMfU4weBqjkwEGjFHgBE/egsgCABrcrtgdwClQ1/xPUAKOlzJkFMJ4DlHXK+T6IR8z5gFSEarS0EzX8gNM5PNJjoJgmai8eVRpjLar6loqVw/jhkSHs0UGwxaCO7UIPDPTU9LPS/RzUx42XW1PveqTa3s7HcbO5zZ3pCJozeQjP5QOu+OQDcCiOjE6m+F5zlxszn6onYZRjr6bARPii1VwI1E9ZhOLfeANB7bM+5IV9SYwulUhY+ETS+U4i0KzvtSKNtKImXiJzbXXy44wTXL6OFG1pjRl9nsEuR2u3XrBbOz8DUSiVPV95Apkmbwd5S0/ZXG2ebGG4OChhPecLXNYkrFPOBmSJvsywSji+xyDEZGMaAollBZ5HR8ZglBOjHZpDgOYGWfygwMZUy1O0mQEZxNLrw6VjXuS1A02MuG8a43W4jjKvvwzAk0m6hoZJrdkbuCzAqv7smhjUxEtA3w8Y571NNvZ9zn16mKq/vSQqUuAEjDPXox7GRlKo3oakoLz01Ga3nhAYX5uayOa8TuP6tBIJG2a+P7K6JL4gkGQOUichCyUbLwcjFyiPKxysgKKRUtKoUq0tUj6Q+jQa0GtIpodeIQSmjxkyaMGvKohkfzVn1Y7QMZy3aupVYbxPa5pW3xTYK29nsGPHWJ+lzyQGHGR0BH0ehY3wcp3YS7Qn0FOMZ9JzoBd5LgleUXlN5w+At0Tu89wQfKH2k8mk1+OwLxlcG3zC+X25A5FDwo2Ij8aXlS8fMwp9VCCeD2gLEc0kQKImbl0oym1Q+0qGMJ1qZ3EWi0qY+aB4U0bKWLjp9dKaY2Cxx8SkStlJLYtONUz96QwSrJFvCbdlob+3C62yeEq/Qp5KtthE5zZouOjpLQtqE07o7f4LRX4L8ff3Gbxv9C0H+43CBr4ucLgl2jd2tvzN74hPis690vvmOReRVuuagoC9bLbOXzX7HxWacpAc0P66DDGiNBuyYfg+YBJjZ/4OXLnH5Xqd1d2JA1rbvgxsFW6f4hDhcP0+4NSBgNA9UwBUqzHpLS5TudCMpe/3EymcWNERMAjqAFPacDiG7qEs0ggNa4J2NU4qNMezqqwUAsh7E9YCa9y75E/D1YTYZwb4xAHo/jt3UpjuXC1zHC9nAaRUvcBNDEYx975NNMzEa6WAMY0NwXsEBGjopxKrnAklrztkM76JkdGzy8+neLexww/SDoCUHsKUJIqp33q4tscdwNA4wo69nJhz7K8KJng4MNZaeQE0FqZNwNChaHN0q8uVAOCl4aSRDqYxaQm3odMOoQBmANwSrcgyP5IZqjClTJaRMtQX/E60LOBcxLg3rPhQRXgYwceG4SUJPSo+FkpJi0sRGpdi0OuCUPrJpSQjHbFeyDjEq+SZkSciRT9r80qVPlXr82/hYHhrFJSYlJaWJTh7BZ8ueLWW+CQn5jdqnHt+ry5G6EbqMY2Ah4xhMSJhv8KQWChLRA7MESirqx5AoEeakx104WaoyLbXRTYUBhjyRPNNf/vaPf/3nfxdcfMzsEpfcdoCOhiqlCjTodEbc0pY9KwkrbMzU+FhOITIvCAo/oCiggAMhckHhiNpo8RgJWIkESTiN8ZqNgrNwKG6GozcFNUIr5mL+4gJ00R1xFA0gVAykfrajeIiJkcH51hAsJMyP4WSio6Oih74JiYmNi0+RMEo5n1QhHiK06OjoODy28q4D2R9VQeIu3BoRgQZg4kZBUmsJnWkEczVdPHUGdayAszgDntZSljwRBxBmjRJFmeUq9F+PuaGuDeLJ+QPOj0xr0MLWjnEz5fmfxuLwuy8NAW69ZQMZ5IA7opCv+egju/aGuGOqKrqB5/9pvC5IP6VTh1bQ+pTyPt2g4ykVbbpC+TrWE3qfsUkMPOethkMpgyMaWw1rM0NcUbNKPFb6N9VSoBLF30x0LGIkSNXXUGNMNvuPI5zzk19hUUQTFgAS8XCE9bvanCZ5UUM7mhrfh6aH9nnRt0nfg/0c/Xr3O9/f0L+s/8L+1waoeM+AtgPGD1g54HD6rgF7F+0//5etA0O1jv7tWwfxWmf/la2D60W64A+YxiFOp4VqMdtGoC8dyl86nL71iGGA2rTgJkCNEgaBKbkPGqGKfNsDvu8jsvnfxJU/4BynJWnm/5fKorTVHueqdjoQ3TTPPjJ/fnopx+uEINHGCnBqYgkoSsFiJMlUrIm2yvU3wkTICQAAIR0C6dnBV5FFUe7YlhOTHpqdwC1KgnSFSrXWVV/DuXIYBShpyDhUENwVXCLESZWvREud9YYcoOeWXjpys7NueE5hakmWq4EyHeGRDbQSC3s+Yqafc2ShavDIVk8zyAr6WEpqzcEBnyyHUgxkQT9lnZg7LLB1Az5l2Kv3e8iEMj62lgmqHpDHNGtF/SgyoLFjaBjSYyY+oFhEjivOass10aWYoz8mTGQjw6MfstTEBUZAmd9DIohMdeKRuvsYWVN2u+CMJrxc2mNkj1PyTy6T7YgotWNwfxYONZGPTajaCwlhSU8saBUKClaA71kxmm0KdrAf2LFNMFKwA/+IA2c9ogd7lh/KeE38DdvrHuwZs7OYk6KxPFx6Ghwe/NkXdxFa+MNxqKrw4EciqkzpNicDmPNuJy67/JR+hgWsYmpuhKq9y1nH5bddsR7w7p+knReQnzYoQhgZEBAIRWKJVCZXKCFYp9FiFE6bDHqOJ1EmoZA/6rz3lEUSLU7EqPzQuG21I9kBo+V6+XfHVTdh3uCZ9Dc3ckZkeY7nFgovQm68t3a5XEWyPX6V9Rzk/yKSrpFSDWW7S73/yPFSJsdTh6cS0R6kvBNJZMGixEmWrVipMm111l1fg43wBiVHI6+XziKvOgu97CzwojPf8848z/IzfEQUce4Wet99UeBdvrd5PjXyNMcThu+GzCDhPvHwnn2ER/fsY0Q3oWHypdNFfcVPP+cTLJXvG/pNoZbJbFa5YNMaagQTs5KOR7GVdjub0pgD7aJ3sSyWb166NIFTDZnJtfxe/dBu8VwPM9R/5HZ+jIhXlt2jUqq+bA1BjVBptzYXRrGEiN4uae6ED9LulJzxN2+ndDkc8qhAAZWoQjWKKKEmUJ2I2Pw5P/1SHQEGCVJII4MsEMRQuQB63BJEF49TMYBcXqUA8pZfbTxMg8QAMpihKIbQhAYAzuvdlLV7URYcpZ41ljrZuweoH+KYAXgPAMBe/QFApjMraQr0OYAfKADwsv74BKhBRjNQG6o6mpD6dbqu1Y0ZRB4oD5bHyFbZITtlt5wgp1N6Uzb6O/2n+c9w6pzG6i4EarKliU69hDuMli2y/R7E/8F8+729tf3W03r8fLV/+f/5F6fvHL1zpAPtbU8729bS5lRY+O1iOVbO+/utc4Bee7Af/FwQsO4eAdxP9WFY7i/2ifwVP5G/7Ot/CRpTU2l0BpPF5nB5AF8gFIklUplcoVSpNVqd3mBMM4GQ2QJbbXaH04W40z1eX4YfDQRDmVnhSHaSJRpJW2DMhHETZsxdvGL5ytWr1qzbsH7jpi2bt27bsWvn7r17Dh44dBjq2u7Y1XqurEH39nKoWgz1AMf3A8Apg2Htoco2FIBTh9jD6HFzTnBtXVNzfUM2J7k8nRiAC//+h1FTR04aP2XqtMmzZsPcpYsWHD+sbFgP4PRFAJBX8L5DUxsD+XU7UN0KtBj3xJrfb8i6Q7ChAvw+WqzBIEtE1iNVckRyjs7kMUyMvBiuIaqpAOc2kckHipTIRMhMBPMVjWbJ2cr62J4hV8GOSTzSZMpH/z4/UmTJU6B4i9x5vXNmjx0zetTIEZXDhyVDBg8aONh1HrvRSgrOKMEIgm1d5mkc+q5tBLIj4azMUDCA+jO8nnQ34nI67DYrzCZv70+3t54lMQpTvp1vVysiYrSaOyYvgUyhdN4QtGmC7xrV6ZnsTiplJSt4cJstr/azMKVr2kopLiQg3a/U6XOnmxvKwjjoSe1AIazix8bhfRKUiotaLaV9Wmd0SH0ZQIOAJZkA7SGfjsBsbtzLiLtTi/SnAbRpy5jUrNjM62ZEDbuVgbu9t8RLJdQApVRcEBO/b/oRFwgzcgPjFrZJqnIcyOLtoH4Bz/nz/KIczJQI0vLkQxMqwHGWxWDP8PITMlRYkbVF+Zc9Zo+3S7USCW5ikvzQEX3yQ1dulheEMD90m58JKXU3Nj7IswwY6n2ECcY+s110kk7PpzNWLn0ZzRQ/4sn4tgLhuUUHEvBT9EIn1LEsKfk59TqRVb+OZpDaI7Lpu5B3D4QgMvGSiDApp6ttr/nN2lZtt1RFtyMey59N0T2CCBB+WSLYHmS0lykw+1c3LJdY7N4DyfCUZvypnaAUiWk/xKCreqg/UuTmlxj28PanfmrdvLyQaiWL1KpZpplPguwO4Jizkn8Ck8TsKNE3cFc4qaw69u4aKtYtJsNzyTZeeRjWM7RpjhPrbzgdJAyfkpyeUhGYbU257s664FZl6zk5HZFxJ51eJyith1oVsDzkWwXXIjEbkdvkUlxGJBkXYTK/QZTcVH7DlbjySVCXAa/x+HXOOKPy0zDFEyL4D80TubAeZgrPHjy5ub1eHG6UsuWkWqEsQqu+q1Y63eg/0B+OTQIYopBX08TqG37qD4fcKckqlD9ycndnoc2MncLXSHcayCxHJXknW8OeZtmZXXBLgC5eE3kO7x3kJsTTPDh989VbCxM09bKftDIMTPmbuatWEgVRtWaLwolV0nDXThefBxdGTBxPjlAXKz7XfRLJRUVZlOB2V/ybYi40cjY7xXfT26NY2jOKZlZCEtBuJY6xwUA0aU9ZxHvChbOChrrR20VCMZe0zlv19+0O3D7mScIR0gdSWJRYtrp+OY9skoJJ+ZQ/+IWkAQ0p5lQ25U2RJdVOfyLtQjITqSy4ezEWlI0ZPTZ6WYhVjY4b0OnYbRTIDsWDrJ2cVeky0OEoGYhI0cJLFhpZ9eFY2BTMDbk+dF2zYL7kJFS3KUrOWUV4qixPcVKw21O1AV0GcDvkSShwIJH1wiKCcJCu9aW3Reua/RzG9WUaYDu9JBo4g5iyMmNld3WHfESmjRUEk4931jQknjDiNIQ9DJeCOQn99zCSCsHddOQ0K0qpTmJ2vIyQAVYLOPYMolEgsLwtfzvKYUXHkY3XTwwwsqYbtmt3OAE6DdrrlYpAmBuJS9ePD3DgSezMb4oLKQFWl205gr+SULLlOIG6I5s/Wq3LbHkC3C+5kbXUS4RWGoU7VPKNxhCAdlY12CvhOksNJYIPcyRYwAOLbhCPMXZjU6VP2O5Hitv5o1j8kHic9JT3/O6RRflnsVkSjgFj7FrpThCao1XhgIPF++NrNmCl8eaLVIv8sjIVRkrRi9ViODWC6Qbnxpfln8A1fhAZVqaZ/V4jwzoHMzAfnbWw1623SzRt2afqhhbmuCSnWG3IHUIHe0KXDlPjin7P0WjbMujLtSips6hDJEVwTQCSZvKREQS0DohbkyL+mSDRyfEtBNMjoSrwmiHypHu7+RTriJsty1M/NIBX8nwfGSED5tNq7ZqlvG6zJletvLAkuidO5T6x1kisPX2MKS5aujoeUmQivxAkSPxEcPzNFjdDrjsCraI3KwDcEv0k3OZDdEU40baoRtolrLLteTbB3TTkZi0VR/a1043dYc57hNCeQHlBIfJl4lgD2rtV+oTfJgZmEHYksiG7syvTOvWXXOtfiQKpJARmY8vyGTRzSMEAjPAZ30RduCVXTIyktVb9Xbp3qw7CWmTvaGhtbPEN1BDgW4WaOCPCRd5mbKLgROQzDcyqXLMIHaVg9pSXpnuTKnbCm8OtyvkE0J6QR7Yfk8klgBe+5KIwEI5eGjjR1UrIdVVl3c0KtZeGJ9je+xYl4bkwEaaI0tAF3ZIVCP+QxxD2m//szXxuxy2ObwQs21OGtnlWaJEj7TQHs9p85Tg4MN8gl9z/QIFgSjj1LuVvm+gJ1XvXmvZrrW8mVr77VvjZn+ipB08TToy73DWeKvWWGzg35BM7lv8nVi1m2SY6vVD4lfRzwykl5+J87WPzpsJjCNyaneITCxwvyv/ttgrjhG28TxkEQ+nhPgt5R8AJfGRtuFrxKRvTkA5CX/THSMhhkPKi3VLe1Ad32y9z28pta6ynTvjP0zqL2hYBE4zx54oNOfTyF2pnB4ahj41SU+pesiE3g5Vsm0ZG5hPLA/gMfZEfzybh4HY1/4T4awwFThTlL12semo5gk3+Xyzc3zSmIlSwIRxqxRsnfTy+ENy3/hTu0BOGwyCrIYHyfDsVNOBPEPEipMI394MEiOAIrUsAANwCAJCLAe4IjI8B+A4EoG8F1MXA711BAOATrp1+7BQGgdVkISRIIZEVJRo1gadbT04U6UjCsbMm6jh2kdYdeGdsB1E2JAALhT5o4AFKcujkVq7PAhTHcm9LPYYOYEHEgdNRcwzvmalLETJhpyKktZdj2lcjbyFDJU0tuFpaBwatRPMOn8/uYRAwxhFY4OC9QHEfkfOABYTkF3cJu6H8ihyKZAlAWPKLwXUpLVPDeEaouC5LbRoMunQdBnGYYwwIAVi3I61GmobJVmOCJeN0JI2Gf3O7i9koFDbxgMPC0C3801Iz4LmQ0mSTnaQGIoHKucRVn072jURpOYmxpJuH0L6T2IrgJDZjYa6jQiRHxhigFDqH29B5D3PY1WHYCtK5rr/1c8sPPl/+XnDG42Z0O6mzevsw86KfniasB/RTcsAEgjQRZwr8QWrMSO4QB8psh0H3N7ylbf8wYUyGAZ0RBNApQLOQrHwwDw0CVAcdHGwhvoVjGyoZtqs9tzkgi8WkOuVMYV3nUzHTdZcxAsfpww8XTDVnhb95BUtrgtnKzJaVcP/8EFnZYm0bAylrku+nDkbo0dlML89Vl1bnfyVWSxsjj1et63r9dqPkBB57g7xmI4JK2ItCWTb4okXkWw5USq2xT9g1U1ROMjMm12HNcl11lf3MboygixK8892LfBsCsgHoMCChzl9mhnOwe+kifvBxZ7HN6NCpXORmrLft7ptxqciLyt3UWspDtxt29/SWRxonuB8d6zID1Smnl+5ptiSGyFZEwIzZVBaLor1sOlRjL9rmY2HyENCY1jDQMtI8VTdckng579JIjiAvuUgXO43l0niwSvExPyTDpVaxnK/K3Ubv40fouXQ3zyjVNYvLufBdzQ/cr77Pteo7cVlVnQCzixTbBkmwBUYjwReqbWwr2wJJ+iO1rrBUIsrZ86Szs24C6lv7lJ4cRhr6Xh2NEu8IYuRJvbZUoNK1Vol/c0rH9vOWQrtQ+jiGQxJ5wPCzZNIXthqjgl2AEPxX0vHCDetLMCeVt8nGjUkYQSU2F72Gs+E9kld76F+4YH0BimJ33hW3n4/5D40akU31+DXyolYujTDuxKRSiKRGnkOeLEdhgu07AEMcMuwhRQnUsEhTuBkTUVyW2kUSh7W7cH2eKnbpCCY8qFuN0gsNi3m+smXhpbNe8NgqqURh27zJnYOAIQQtrunc0hPVLaWeI6fiSvfgxydll5jS9XQDmR/Qq+Z8sBVGnUkQpGAl/x0dQIM+GeucHIjj6TWHQxQknQJBDGGgsMuD2jDDD77fCDDeb44SKWEBtUFG8WhQECVyBA5GxQxDyqJDZCY1eu2NwkEwkOFVpkXPE/yLsJmexsYiYBwBpxt8FdiEYau5PuWPPE7ctG1OZgxJBqOLWduLp9HOvlOyh5em9MO3Ifb215HR2bEhcP68+fSQAnrwpdGJ6hgD5zOcL3QMmoFKk2iMZBIGamapvlQ/nonsrEIx+4/bvnNb3g0WR95U6TSVCfCgX16JOgG6qjFIoQXqyv4aEGWdXjebLFoYdS9WJDYWBeBriJvYpkb+kLx4D0/0BPs4PYJ19NqE2bB0acXBcFBQtyd/irDL+2pGFjBtqfEAelJ7XDLPZBTsPYuOFPNUCDeqK6b4Ducy1L5SSUIRD6LkqJTXTDa+sNruXIoZMwuQWYVMQk9PgJEi4Fk0GdKLgWfxyYzfKB4nkNV6miudxjJKgmpZhqRDbj7BXws0nx58XjMzI8P2utodzdLaTPWM9PTxRd7oRalFVcjs+F6dgoCBQXVFQIAcWK/0ZDb2E8+cJVqZDZeNPlbrMrOrLNjf8zqnho+3aEvm1ph9XYYCAoRUe3iXt6a5vdSmEmYu8m3a0MjmmjG0vhicX7zxoo2RtR63UTTQ4KtL1ZNire6LQyQW0CJFASwIUN6GEGA/n/4qaWp4Ep+lPqqPuflWVVfBeuEMfzaPpc+4EIXzdE0rgnXdmFfMM7sEXkSrIK8Y5tRrVJuwyRjLHjF8/9xDNl9ljZqR18awJZ1Vw2VJmmwsZdWqIiBK1NMkXz9PPyo0KRu5OrizAJQIqKwLzLyMCAvNBu43lDCztJGs+mKwqA6jhfIiqInr0jkKyI3d5RzDc+JZ+uOxDca7cI/T0HPVvkvGuoLbG+k+U9H4C9GjbwabCKw4UWUo1AO4qYVPc6OMkaRW5xXZzpTV2s9+qXbuOGmcv/5QrYgPuzo4dhHsUiUs1NUp7tRiy/e1NBwf+Gzz3rTUjZDZWGzJnvv/5ektzSX/fwrZcxzNnXN+vWql5Dyh5nAxW/K/bc3VMm3tok6OFNCa+S+cOeGajtQ3Yam526vtaQk2CWK41vGnQ9k5KS33FQ/YsGEcX23+WHFZuqZutIwa1HKXYBWpvznx0/5uYaixF6yGn/OrwQo31djj+zIDfd4R3a6XzOQTVc1S5Qg1gUvGsYaP9Xggbr/mas9KYOW4gjtdIVwx+okzQs/xPamNofTk+nLLP0+n4GeeYHLUcNFCewILomw9zs0L7K/4vKyhSABuxPX4uEWVxVM0yl2u0O7jDLdme6MZrT0xV8TFVj9KtZExFhiP6R2gPWOmH+mlZvBzl7I6RhhtuxIg4YWz6moNF6uVkusElylrkn21rERGhx+y1xR1BWJx4zLT5gR4EOxB3DOWuYcWqGKKBK0ON8v6IUeJfQANVAK9OI/iyEtrpTjj3XzhD1t3taoE1pd6yeUNHIWOHIvb7t3q4lyJpYSl7WaPJO7CwugOa0+rj+dy1MUTGQFuz+QtFB89top/VGh+0zzkw3mDKyqmUxjVwHf/ix+BfnFdfU6nEE3tz0qwyw/42PxbA1c/enTDmnk1NOD7Nf9HEES3CA7t5AJ8pxfqf/v3vL18mzbdM8N7OyOb70d0zCRm4NT3AbGfMGIU9B3ODD4nB+4+epo+lP7xzRJeF3Tt1EOK/eFr54/NjnDCNIAvlZCMeMOIMiJCIRLdWwaID3AA4DRufCkEPI9m6Qr/ubF6rrrwUldXbhjcV1ndV54wljeKhpu//rVnA1cdyjbvC5mZg5Q5vtHoirTx0fRqmJRSBUnXGGv7L2zoOy6AA1v5iB/IRHmzDj2uZ9FRak0a4HVlJOc1JTduDAtygBoAN85d66npuobCaZNkJdnX1F4S3tzVN4dz96Ei7ZrUPQLf2MH3X6jo36f5uuy1622HPUTdm6QrfNX+Z33pbbbeeQxH5Hx2NwlMJB7YUZ6IfxUebXjUvJzkba+aFyNwBcf6q2taca6nC8zMn5enrr8s9TwzwMdM0evy+7oL67SzswRZUT16AOTf+e7/3p8x9bljJhK0g2gmzCQOivkdeYhMfyCbGbLoz46Blva4qZ0DLB3JZ5ykM9PTXR0DSqZ2ki46Uy5Oh9Mz9smc3n7cWj7nluW7BwThANyvKSfO7SRdtVn/+rcvkxbOhgGeO0M6FoWDlgGo+4GDPOVT6fsgPS/oGMrv7f7vXCHz9oESgBHDfJCwusgtANx8PuB2CwQCRMDfOvhu5DcZvv3IfOjwvNRNywXCZTzeVqFgG69sd8PqrQ0+GaS9+0OhbgloAfOtjSZzHWwEa+b0mLYwBeA7EJ5A5zX3tjEJbi3jPwZjxheNqQZkPTnz4uKQdbEevkSY7gMkeJ54setjSz9NmOD72zLuQ57gvbo6Fh75Pja2aYHlI+fXgnWtdBYnVDPiwUqmt9nabKpiruyrl+UqXuQo7qffYdDn9/v2wUclSHxyX8zlhGn4WUY/um4qGKgv1cN6bNM+k5MdcL3LfZcKB3zBDc4BVxUW2q72HJ9PQhsDSwu9Kk+Gjd/pdqMrw6ZWS4B9wP+a8FdkzSgv7dQUxRZ0ENDg9JlhTD1AuvkLR2EyzHWlzJCagyKdMU8uz5SVVVZfuAh5d+Dv4jJpNtffLvLfLqOMaaKU02llIIWtTZcr7QaZyKqWy9aeQyj44oBXlytUoHK53N6AoacEtDpdbqncyGqYbUsz3on8GvKE5vifI5hnLuJTXDbb6vvgIP2XblNBfi9oyvCD9C86lMELDfUmEy6JXIi2UK0tSUvTlZbrIMY1XLlJU6pRAoXLdg2CBJu/RLPksgK1odCgM5aWGw0sD8RkgRw2C4SYbLa5CbA5YH5bEF3xBijXeyDoLIy+hiuTayNqjSHAxvSTuHkKWTBHrNOCBUfBiwtLMGxPQKPWRSqapcmWQXqJxKyRyVnnAr1c5/LBaiV66fUZsFL9KHrtzhQKiGGu0UzgXCsKqtmUucTwmD/EyNtcwiShzsO1Kr9R8zlJaBKl+GwYvt/NGI/hGW6s7ugx+FiLzRA14+jPQGd5vX0XYf/XSxJoGlyfShfdU0o2vEUo9sKQRxcWSVC5UuFaN/gmnRuM0nYfoQkhyu3dVVK8o6zMv892l1RU7Cgp2lEWdjVYGQu/NdiYAnlIKoloNdLsgFTKAilTMaK0PqTnKVxKSBtCZ83yh0Kz/YE5Royah6zt2yxkP+9Pm02vRy+ZzG7X6ZrJlCldebiubOsZhemXfTQutycxH/O+ze2pKurqqSgTK4NKmQw5g/FCQa1GExkqVeNgNj3vRjLxjIm248UxC33Mm5SUv2YzD/8uU+LWtcrbVFYGxquXesZqsedH5vGN7lE219hgEAxrcI/OKr8/YHZ6EJ/edadqdVZwZSEjRoVVd257RsydNWYM3BFjuAcrLvfaP3I8nI9273JOgfzeTIESNbh1rQo2l5YSC6sXpU9WnjrCKQP0zjE299hgEAxvE6ctD6AvIbuN/YtCzkSQ0/FoaPkaeXoXKq+RoxdQuAZGyZHevx6D1kuNgQR3OoXWWKaFvdAf6GenojxPYYw+Wk8rxtRSicGKbbMwJR/9NaOvoezMFe1q7/S3TPtzB0abtF/wn+89gX7rhhsTMyfP+PHZJUuL1Rhq0lb0QqjJD1ZdGCvDrWmTu7m42LMwt6QkL3B5RjocY1GUGM1FkKgZPr3rq65IrsvT60mnjS2lo98a2GeJVCrxLHt5X2IuwcPNwTJvUwnGX5uAac5psd3EXVr5KDDKBKAjx/OrQMxdfue4EZC05Zt2sxIAdav/jvmVjml7ilZDRz/UMdKoFcwe/m+DZdzFFQJIYLCHgmvqNRhQUCOxpfmIl52E3KBbqgwUSA2GMF9h2u6mroG1GiWiF3JNMjD+cxalaChqgbOH8dSaZ22/el95/9eOxv6F6webhmecRs8HwxWBQKQieB49nWEY0Wzx4gf/nrOjb0ImJjHzQN+cPl3BIVG/54wavIN+smJwaOHgJ5ipnpwTXaEFff7EcMuYEL53j+eZxbvjMTtMRc8zv9YWnuJiTnALY3s4vo4s2MfD7Pit4ONIJzqEUTqKWue9kTmKOt77Bt+HSjwHd2A74F+jHtw1zsMDLAVzrmTPdUGHxCWf348xI29nDpp9A36Aze/Klg53YjdKQZ7QJfa2ZmUL3LEusjrdrOfa6GndD4E0rbSxIgfy2jH+oFQpcdh5PDswwhLLgmG1gPtdvLkfLiIrwji9F9DrvWFMcUSmsVRZjO2I29hWZbGkuhAhP6jR8IOIEOC7hIKNeRZeZz7pPq4RNrUhiKm90eLIqHGNcJEFDpGcj4gEQbUaDGvkKxAx30leXof48NdwVRZjmxsxtje/qhZNWNaE6Q1fRy94nZjGsEwjd2H1AohQEFKridG/JQDpDq7ektaG2HUdNXa7sxLUNLoGkWZyxOkuFrdQEram/ldr88w2k7t3Ml2G65K0dUcOkqMU8ax2Jp/3b0b8X/HUn1zBGGTMTlR45nVDhgah/OtWKNIDYb8aM6aJSANWQMZWN2Jsq4BATZZoAsbufdc+YWQ1n+vgA6hWB6AOQCBw5l1aIOD87WgydKHXe1swcJZUkZ1fkWVFNRaLScUGhUwnJxlNCoalSQRJEiGVkEQjcLLRn6jk+J3Xb4UH9jY0DiDvZsIojDhcoMzQhZ76/L0Cc/7XizxM+9W/BYPL0ASD1r+TDT+9TkwgKBWrfPLkLSG5NhQqj1j9GusKNfN+qp1HQdW2FSrmg1QHLwWlQk6xhGWySF4FoGuCjFpOGp/m4JDRpEe4ZivY7nR6FpgrzQsELo9AFNRqmXFaKPRG4H3yeM0Pr0sdLI20PJd6Wx6ijDjJkGfP+KTWtYj8ueTy3kKb40T9P1HDD68P8xZVCGmTIt1sxl06zCGhSctxla5hTirfIeaLICadElj2+BJiVQMyMEiTQqXqDDuVCgW5r1KSdx2yxzhinA6FUA6HGSr7835QVCPEy0QyZ6IzO5HOeO53Bp08MuPVy0TSElzesHwTKrObIBUP5NPtHAr60+vAWMJSWVLfn+Fli3qtmJd5+UdgSN8foZbZPUdOD46c1bNlVmDNj8CY+aPno/gTvbZ/yxt9ZPiRwl3/7O1VMOb06NMFsffI1x5GVrT1WjQworkZGkLPBkroyFQ7UCJHluEPtAdDju2cKVSYOoWz3REMOeNhPPM7sF2YQMTYTKLtwHcmHo6P6kMlFsxEsC/xzN75NlHfABfp613f2fqWRRW8Hz0r/VJ0wgk8xCJWpyTV7TQeK7xQXi5Z2aNH02m+wOvLqcPGpfSPe+8f+Gh9xAH2Q2H0Th4sr4QgeVUefPvO0v8KMu3FLnKK04ortVZ/d5A7JY78SGnEkW+J/auKU9Ugt/eR1BVh/VpZ4dg3SwggTybJish1nnw/CyHvWyNSplkEqS0TFctnRCZbmwZyZc8jyUFmxVYaNP1glgnMPBS9oc1ua9sQvdEOgfaN0RvWmOJptikbngRe0UEWiw6+YjD/FjBZv2/YDG9G/b8/ww9S86e8TsTwEx/n76O2w+vR9fD6jX59+nekA/EjSxHsV35Ia0SLAKV7xND4LDd5SD6iUiE6gdRlCBJCRDRg4gC2CUFZmCtMj0iMchSQgzMR8uo0rZBWdi+BcdyEL6HURAI8uv1l1NQVaXFbanPWJslcuhAx3/FrSlI48gWf8DM+4VFC/OOEGT0e4VOzzwnq/+PK9PoygwEsMFcaZ0h+sVhNiR3yi6wpIimJ9TTDT4Ms7V/chcyS5PrU91umxKUcoVCOpDBG9DcmjFiJc9IBkGepQDwsMIYbJTGpRSzN4KxUZkhhUYS4Up+mbyGIkeQCYr7laTmjR3VOiv4Em9bIhFYqh8Hb8eZBtLxNnexc0sGUhNOWaK2/l6S2n4ACWR2DjWpVtBiVKNbtxoP4pOEHT3FpNN5JH1jJa8ZdRTsUIpFCycktslJLcuwH7j543zJ42Z+17rXugncRL3Vlw8MdRBoL0BdLdLlGI1i/kp6yxp2RmYFEpfVWRRGSvq2wo18wtuDdhVFxLTGxrXH4K7tTI3JPTB93Boe9gJd7CleoVZWaTMx4rtGYe2n2P5kwn097/qQzHk5iRD2W9mFdY7h6diY5zX5w8Eu6OmCU0MHkQmpIG7rrpqiLhnDxHx7C9GzrGbmsMbt75SorkXeYx+viJdoFno5FMTGLohsSM9E5IKdnssfJpkeS7+664vf9lM5iG88UPo0rxpzcL+VPlk83+3tEez3KuF42JHd2/7ntM1bmB56WhyDdH+gVYOpO0VR1LhQwW2FHL6DjU2VywS6zh3rE2O8X4AtfafHDy5jqly8eOj6tWMJaczH43zUNOZHlWJxVkrtpQ0FJ2Ml0zHWA0qdoOFzbbNjFisxz/lsla3gtfr8ZREY4nOP8RXQv7UhYWn9b8m6ziUYk+py1S0NB2Djg7w8uTdtvVPFuos6DaBjTzDQWy03UmdPkYlgv1YI2A6YEY4jOz1WCuhyxLKAsDwGYdCjTZFAPLVGaWJTXJwQ5v9pOs45zK9pKG1qsN1mGymb8zJXpnZWmECHAKziNLXVwD6vHXm3+v3XEeIWvYNqSSZ/z0oW/Q6Hb5sBx7OdqxztDNeIR2/PSczfXLqu1hDw2+XEoscbAD3hIH2POwadInf+nH3qKq7WYGixWsK4qzSiEqQyw/w/uCOWyEHP6FqK1IBkWFwLLIBJkhLaXeg0dNRY74LHzuOkSCddtAwC+A5jp6QhAFO/wb5M3gEKvnvmd0C5419HbG8ODYn5uFlUanf7RBtvCqsNnRRWmn2dJU2/KPZL1k2iddM4gYgYBw09Oegb5AcVZAy7YfzwvnrYLvdUbwjSFQ4KOsKyxHXpsuPMK4IUT4B/oT3SQTNoOrCVzpk2Q1rbC6/jI9XA/OrwrWj8ntZnbDaFuYkNQa/Rhimy14IB35aDZL5xV3C81uNr077+xyebf7Ab/DBs9PHWwqN6pS/fx5WDdvvZlqsM84NC/fwSvJ/NwXNymuNjDsbFHYus/ZQimnRxIdcHMb4lJ5MH/9F/zlKCGc7LHQ6KO8cvZ+IZhYSw244eZGHXxhiGrVeSIOZZANBMGRZhlDuhibBOrV8bO/A8EBULQJBCYwPcCrFs8c4f0yybXi4RNaLNiUwfp/J2PTewW29V90NW9Q3ISYXbEOUoTqYyz58E+Ek4i1YPz4uzZlaM0DhaCf86CjgEpSIePiLyAv9MTE+nf4RdEpNOHgCsQ12oLezcbPATMeaozru5l++uecduIvdLWpqyhF3Egl3y0acHBg4cOLvwAY0sXiPNh4bYGrD56F7wL2wN8PsYdL685XF3tWVi1enVjjdvtT2/0jk9HJnq9YFiz1zaUL+0x8BxU05rNtvKnpFbW7SCOYh+rTh6rrSVGq9b6pijrm5rT9DlQDWSqg2DW418MKKs5PNj+ZOXEYmFTwf49JU08ww+vF5PcUCzDPwv2JqV4UAsR5dzCNVugFjsCNteC5nB1WeXRvFns9KBHbMvUPqi0ekK1C3NSySYax4KLOvhfc/ayQs7vkFIMOtKdTEyOjcoH6y1wi80OtzTAJr6NasPwyu9NnjqxSuBPY9NtfAFCaRwWG1zazuezbCCbTe61gm9wmVu4VvMFx+GkrlbIZmNhyOnYsmYbqwSqSNoEAta5mh2/6qiRuIisEeP0jpnD/LD+uKidOUiOyJEddL251xvCFGfLNObq2cP4oTFTXTrTgHZDY75JOrhWR4hDzFC+jn3qwHzj9yq1V6LCPbfMtfylx9+JBOkJON+KGX3dV382Es2O5gTf3F4dCVYYxFx/y7jgZ0L/88DhD5mE0pKSaFupLuOap8UwLr2a+fe5G2InthcKI3YXhJkTh6lxeEj1zm3QKg6kcW3Lulea/jSoVFCwaVESMZ1HdP6bmejMDqRjI5NH+iXjj5uJHBRyxfnuC5A86r/7nJNQ+fkV6U0Vb+pVsJuVUd5sW9eG/iZX6be01QqChs994RpcgHY7h+aiPJiaK6UjLMbW7di4Et7QfR3v2zORftuRi+Q2Cilf41M/PUejkdE70d3W5ASVOZvDmzD0gb0f4fOKk2KItRRDrRz6slcz/T1Ab5LyNd5MJGdESVJpvFf3xWLND1TsAC3KNWmng0N+HYsDEmVKKQ2TuA8l5f6SukP7l3KbZdCEhmY5LSgWexbSIpElB0t2E88rkdAIjxv9S8qNqm7WpOe7VVUmbOKs8eMt+XFx/yYmCrIPLLFIAIlNIyLLF+XlrdT+GVWB2sU79o2YnkTIS0p0ETkqetL7ePzbeCB5/JkuvhzUCAQPV8jkLqOCeG79FmD7n/oPYpXYYRo9CZM/MaEq4AAunsusICYHSaRAMnt0U+KRy6pFA9FFhBiZ1ayiq0/QiC3oVXUqqTh72LzUQNW46NQ6LMVp30k7ZE0mBpNfYu1RVlICo3Jp6pYBfojb0Pu+VMLRFYQWvMimFYutWlFcC3HFUYI0XS/HP/03Lu5DQuJ7PP6fhMR1IxMTZiYSZiQmjSCq/TXBqrVRmK86SaOf7O+WiE5bicnWZFIwmRgkEad7lr9o+SXjZxle6p0+pKO1sPC+Azty5MbkRVD7tym5b8V2ns4lTNr3flwGA4QEXMehbo3e4LGbXyAMhvs5k3HdzWAgNxg5M47Mlx6eZ/24hULZkkLeDu4h4z418D0/6gXj3VIKZSm5Zp6Q51lumYGzPq4QRqncx/uCiaO3t18erKe8qMGpr6yPLxeb7hvy3XmEt7ZpzrvAU26OizsUG3s4Ng7pGctL/JrbKE1qDv6b5L6L2T0W14N86X/pTMhIbMA25F2pu2b5bORb1c11+4XzvnkW1C94aLq8tNZdN9I5bqRDYFA4ReOEiz3QdOMdOQ00BZptqPiVEKpP6A+XB6ijl+glc1YPPlNmw+VoyQ9GxK4+xa2hOsrXBLtV5DuXBRfQRoMTSxqcVPbBdco42FOmzoTSU+jswVq8PViHLwbr8WGnBu/bQBuaoAE0SwNosi3umYbYEoppM01CO2kS2lqT0DaahLa0VRgoq6moXlNRla2KqWDraKSfqHmhHE8UBivwn8FKPDdYjecHy/BMpwr/sG346A3NRp9qNvseEBjoHftUGxqjnaJe7RSNs7100Be2D9Bnmo9+1nz0jebT3oqe6SstRC9pIXpfC9EbdgjQa3YEqvrvQlBG5eR0R3/4a+jnXRn1p8oH/7SGEf2L/gXzndY553B0TUJbSr5N68k4aPOX7hDlaIHugUT27Q8DvGZQ92GCT9Njan/kqru9+4PGawpN0JRERe6z1UCTqCZHQN8HunbjZu2m5e3mce2Whe0+S5X1TLttZbt9WZt21mO0/Yn2f4H9B9puCO1HA7cWrvaDdptAh3kgLoWby2HeWpDngv8u4LcDlK/gX9MGnab2h869k73c2benOk/1+nSc6fWs8TKDGWp+0btkibd9OydHTy4VYOwf0OK725+LDwhUK4/zhCf6DEpjxpRFJBeYUhI/OnVii73LL+aU2VZ/iK8l3/Oj2l+trP+B/4+hDvHckQC5phsFtCpvpWKAv+WOBViV8QisigLwqK29jvYDS5BzuirhrdUpm9lj41xHJW9bFc4OeB9BINuYTnpscqPuRNp9/42uzsbllIRjAVNv4AAshMwC3GprJfgV4B3HP+o+jIyi2SMDdNyQ2JZ3swMdIb7FfoTBqW6IbAO2GSA8v1IKA7BcW0pz8e2/RmNpW8oSX38gABc1pJh8Bt43gB5XFzjab+qmLxOArSlnAji8qBPxA2s7bsCB6gZG5QwFyh8m2Ips1gxLVGkd1AWQyY0sIeJD0jrX10bpBmlihcc6ZACTMhJGmsoInK1x++aqAULasCsG/plRNFgAOaRWNgdZnm2kecX061S/LazATiOgtapdHdQakLUgNeXe/Lbrolb55oluXpRfYvSTUcZc1dqhknPMWHHF4iPD0JZfb58OOpUpQ7VrloLqRm+na2zcVTZRY6pHulG9La6y+qh5HWe4qurnruo9SP4LTmpEaoCYierT20ptkADaiA2xxEAyw9Y4+dBGo0BmJSLI/LTdlpzYYSZQuzCZDZmd2WZShIlregqRJRsuLjL7s703c0fWfm6iPh1Z2/RZPKJGsULMzrzqe01aDTZ6uoH1kb4h66xLIcuSdSapr6aNBBFRuMhkbmxq7mUaXpZhThau1XP6TW2QqodLGbWfy23pNdoTftEytg2YSIw1syGiG3L2OF/kIEALhwEo6Z5TjDIYib60AwW8fOSIUtJEUqyESxQybNoORSvsFLC2d5HCt6SvimN+s+70sz7Px3/E83pPaLnqqjJFiUmMy/X1WSUrcw4mlqZp6YayWtqGtFWjOCvJLAv7tSQGGJ3+DkGEwEhYf4NZdHE+EfbhNKXjhBSr0L3D8iJL16RuKFLCj7Kjf9wQ7T0d4zqGHP4D18ApX/t0Wm6to+Uq3pOcOtYl45g+sQswUoYRZhEQ7n3pXa05TDDz0MKR/Xobq74UCK4GCIcc7PCosR6kFgXqDaaBrlHw1TiLpnTspz17zuAw8foJD02JBv+Gd/lQhgfLrk1ZDptdTWWdGuuwZx172AqYdEVSpZtBjbO49kHSRnmInp51sQO3KxwOIZgbczTsSozBxBgpZSokNxFJK/Y+tPBsJQrypnaMJgybuG+Ilw5hOAz8UfimMndZYGmoEy3S6/GcL1x0HqcZg3K9RldNS+zTHLshUdh4t22WrCenhiwpnEUf8IRSVNCSHdgKpbi13taIiMsotcqVdXFE0G9kb2ePIO24R7ba2N0SRivslmarpYcxhpaiwUBkNajD9LweZRjlSFoWQ3KTmfIhZpTcSamOynJXAktbU8JqltomN5V2Zw8PVvipPo/qJiY3adf9LZbodwJrDxTjRR6bOj6GhPpoCPDWNV2StrilegU6tfjo78hOpG07qKXV4eUBbcTKuwJT2VQTaUckmju+SYAQqBT5EWGlyNqDmkt/k1rL2lJRCxEVmH3oX8RhSeFpuAwuhQOAutxEfyG45KfdWfVYQlgDqVHCFdPLuNGwpIFogwQEu3e56bJsixAPqYNoiPYQObCzhREW4yYYcywi520YC78f2+NoqQy2NtgjW2iasLIDYLQaV3EESaP3TDYoCL6safNE12UG8A+FQ7PWYDwso6z8mPMOwBYY8Fd4CU6Dg2EOuDch4YgEbt6u0WYqs9XJVTisCXmHumA3CV0ZUvWZnXED9lq69OON463zLY1Y8I/GAdYnV+hbJriSoPUGQ4fif9N2qv1ZDlNhZnimC8Z6v4kgGobbki5V2FYEJRHLwtoVbc2521HVYhwaqCtslavHwevVuUs+U4Ur4JXknKYBUqbubqHVArPVwc2I8komZs3yZZJXEETQAqLukZJVD+WayaUtzJtMzQSFSuT2Ft0eYl9tlZCYDIleEXmCgvcoXLbxWL9Y1/RKqIKoeAkxVXwmJxw4Wcqnlh2rWAZM50x5VJhBYdSmmytLpsttJW+cei/GlyzivyZvT3hPwrcyEGzKjmE6o8rKuSnM32q5gZsLFROFDQYfVHjGuhm2qGQLdg4zzExMxYiraZ/mWNTVScfE5Qm3DQCa3bThdw4XI+mQUqKq2xCqBiPkskMiziIiqrWoXMeBlgoLOBBkhICmPFwDGNzeDaIwU25riH3c1kSZaCe/+RrtJP3z/c86xte3wiofO+/1p5Y6ouO+3uL9CjvgvfDkdHeJyCWmPAmbks9lb6uZn86L22ughHHJiLKyA/CodTTEMa5HppTt1sktn8XfgYHMJrVzNuPYSiiPzP2MyTD0lEUAkLvLgbTa2QAZ3Fe7B0TAg1UdIIOWYM1Rt06Di6HE2C0aKAwXdl/owjaGd8ML8ETCRTMtkSRLplgiGI1saZy1xbTdTVsvhaF05yKiUF+Vw3GeSdvWoyYifCZKQRRXiqWbzSWaLSPLmrXdL2KTHflZyjyI4O2d0Qu1BqDJBDyGiWzgCsDCYAIGbKaOEqbhSfIEE5EMkzdgwBL+2Ti78KKddmR7iDZGHBp6Bv5XBp9RYPAfuBOug9/At869gY/A2hgDxglD7BxbGjPpMM7ud87CGkMPIjDWYu7cjt3LYrnKskMHyzhtHo5qYA+Mu04ewIGwDkNn58AsqXeU90qtfF91fli5jCil2J08TLSkHSo7ejKWfxehcfhFj1U993DWb27l06MzajwS9gjISA7J11264T0LWRlOSbNcQfk5V25sLWSaJF8UAQi/3Np2TJbBBwyqT18vgO2Eaifqivq0UQJFV7EETFqgEU4YiWBjE6g10P6erEPgtQ46Yj+fAUlbFMaK/PG0QKx1k8KRxFoIg4YIUrzIc0I3Z/K+g9xE4+D9KI2EdjeqQVrRrkZpcWmxG+6SRhilK/pkOPAn3cv5JNc4sOWAU9n80NCRpzZBFIowrH4n7nJz3GU3F5MriXYigQMIrBPoE2gQyInMvf5tYmmYH9H60d4zOLbQjH27IU6MlZyPY10a92hLO0XzEeDukxHNiHot88P4gva7k0BXpDFgsSWqSK9lc8LTNa+burqWWd9hmDLbtKP3JVJ40Md6VhW+Bg/BD4/Qdey0pQOh04jlMNCK9ZMHjRgmXlC4oaSGdKlLUUUrH/CZImYANlx155UYInwR1lIsX0zxdoXT+m+kl1PtPxPZm5V6bW2Ffo2+rq4KIQwEC+QGA4Y4rh1ffGERRv6EwOGsuF8QTwGEywYVbuQVcD/gT3ga8Or+JA0STiBst0F0UodieAwU63squl1Tr2osvMuwpDDpVFO44JphYk4T8kJqkCfI87IRh2c3wk1jhXR2VaWKBnq4anMqt1dd1WJAq8YVP0yvo3rd476qyGDAdMtoO1mvnilDort2zxCoaevuo7eVCqxbiJno5aJYqqWgG1Ggtg15OaklsSYYs3AcCmPVFPMTlzWPIYlUv6K7laoKsnJhJOKle4b7Vxohl0Gf3LeLz9dwMuk4HMkbUtM4YqRt7DreZxPIllMF0m1f1XK7CZmt2qCWnWJ4/c5nW2h5VTXTwDQccMJjmK6oYUX3+kx1yLYBp26Z70M2q08HidXNewa58x6/APDHAWsD9m1yEg1Qz45Y/LnCt+AVOAS9N0sLeT10cckCDiTQ4E/O2mJl5g00dkFnF+x1yNdxSD908v6OpvpZWWfKdsE0y8KD5AkDziYmwqdoq/4OMzFDDw1YIFMstfAaqphQTGGTQp2eajK2X86Mx9DvqkHF8GSgamQ48NRLe+tkuZEL9G3nC2o2IgNonZYtc9U277feSR43n0z2XWO8U+GtcAocDDshfKVJkVcpUT7DgANkDHCNwevmZyuqGeiSpLQKharYjgXKa9eoeSAfmJDa03VSa+58gta/xycMPJVuI2v3zOmtF8zck1RSiAIXbVi9p4RRmJnIPhMTZT9uG1BFIreTEKey0LRyBj6GLJGDiu4ylxUpqre0sjOdyEBH3+mybseGAXFaLkgGYkj72lIwtWEoDY8R0XbWgorcTwgLdoD155tNiIBAyOVAnKNAThcEOp8gt1TcQGyq0PcaTdHuVYXwbI5sV5rk7Ta0+zMI92rvcEgvS3f3OKWqzxbbqjOX+FVPuaCvpt/0k1Cgvzbez3AdHA7fgc/DmXBwroYN0A7gG/DB5LNmfQT3wE1wlLkgqKEFdn8AS0f/sY9ZOJSVrtMnA/hikii3gK35+NZEkARYIpnlZ0Za2JfvwrjZg+Hs/SnDh83HAW+AE1VUkf2BdTk+z5y0cwyggJ/Bu2AfM2clTPVodBJNXtDPEX4VdvcF98gzZp+W+JtJccH2IbaMsaEtdqVONbSXE1KWsBG7hBkGk1enYMv4HKIGWIbhEzEU2mJn5RTxcvlcloqRuKtQkZA7CZDPDEUrRnyn/rpXK57qb/nahi++Ur3aU7PnK2r3VLzJhzcht/Cv+1phUeELywffn4XiJfaU5iy/bf62emV3sQXAXLdMdpPaLzC+D9pmOV/xK8TpDU683upXjiAT+anDd5F4Sg9WM+/+7YP57DdC1JRLtLOr/M2c4LIt1igMKdRiQ2hUUKGFBUKstFpqV1iFt8xXAC1+hYiHWcbVODF3Y1IEceCpzCtSahMqeGXprseFHTA5XjJOAR9r6CAWNAuzvRB5odPyQe1IuoUyTHA2v8OKc1oty5FluhPhoQ52qDtNpUgR+xrGPsGGM4EEEibNx90F14xASOBr7joSkM8TrnbGbdXuyiBKmkoaFnjNlr6M5DNN8Gp3IF51XmV2tit7se+cqB8UuGwwosopSqpYycp0dB7Ys9Uo1VKkkKKrC/FpaMi9B7yiYQ5caoxumk3bCNLhymw97HiOwSHt2LUgFtP+s7g8CpCw0dtrfoB0VC1TOZpPTrpR1dq4LJeZavVQiha0QHk4tBWy3OzH6bqsgWj6eIcI9mDef6Y9Qhs/X8kUQbu1tSdU5t5dUwOUMMM+ZkGwYm++uEiiO0KgdcfR0U0HHtLKeCgtT4Wf9W5d2vfMgSGf27LXcBk1nmI+duPtC2kJu+r2XhQigwyU4wXBwmG4B1TUWRHBNkzyYWSTIYJkeErZ+XSol3rjwvCDU/a60RGqxN9cfDxoTyoKYfXRzgqtmFybVftGJlERNTG5cMv6qb1y/5y7FHchFTHEw2ZCiSsT/h4j+vVAbwit5zbIE8mp6vEep0utUJdSUKAIGImhNEWp2+6Bt8kVE6cdDtcM97VUlndWKQ4i6V3m1IKi/tl1Rqg71J+e+XBnSVs4CB1fcNNA7oW8Babl9sXMc12GFRqTwshve8fgNaB5z9rzdGRRpxEmIilsdfMFkSUraHNFYSamRrHit6IhfPBBmYjZSyjOt1a136dSuYQeG9mDyeLZpXhKwkmEGKvYJxrKqRRXAzBWxe01waQyazIPEAp7MJo6Zdtu68qC3ThRCytbZVF0qJBm89kEgivbBlKcYcZmzFrJu1vR4hYSskgFrCSb9RkK0+JhyrEVMrHMN7CMMefXlyQqRdsCttbIMOKePYsRnGostTkePiDS5XhW7qBoRjGwlHH7V6y49f9rCA1tJ3H0WSU91Rq8NvCwRomM4aqsphv3dYgmTzTYOSS+QdDf8KSP9YkYTb5NmkyK/ZlIZ0gnPWLLjFOok/jfE7F3N8H1Ur5zVV3MGiyTDDHhJn76DicgYDutsb8dUjG9rTXvDoCbzQOscvc+TGGxyogayn7NlNOSWX7JnB76nzHU+KrUI//Gbnqj43hu8Z1QUIDStfwqa5OtL8mZpCsTuERhCFFU826a3V3P+q+ea3zY+tmAMeTgFprYlwzD7r9a8yuAF/vX+DqshRg+BffB5bDR7HX73H47d1k8p4Ea7AMmRtz4yAn3oqThUya8X/gKZUm4KwWfUXg/vAinwRHwT/gFfH5V28iNiaGbhmEbHDZOsuaBgJ/1fynvzuSujFcmIz5YwVizGXLJQtgIzbEGp95r7yEN9X/5FeC7v/U+qr+9nhN6m4536F5PCK+sStPzAxs3LrDhZBu221DZ8M6IL0ac2fCt6NPR7RHPsWHZBvuTTaSDrNuknuOm6YrF70TGh+RuMy8K4GaRRC+TRu/X0V1Oi9MCWmm/zubyzs4ppJxVrlSGrGvLrdZQYG95IBAiWsuJxJBwUrlQGDIuKjcaQzlby3NyptWMKq+pKf3saCm9gaKpcS79uuzREwDCqfP5kuO5ON1HrB/1pFHOF/g5p1vxRu+JbdwAeKR6v6kv9/4CqndOoP7J0Ow74haVrgj69/q+UjtpYquSoxwcXaLg6i3MTrFJ4/VnNmSDoIrg8VZs9vE4XzoMqdGiM1h4iZDmc1k3yFgi4UQbDTqiU49P4vKWuytOnfUk5ouwrreatZhUZYrrIeQRyCAPeqvD5/Yr9jHur2Otnorzs61rLU9yT5zwSobcKRXDUdaapSbxVj9it5UWy+uqPqmSuONRHF8d6wnMv1S5AfAqrUvPWU3qXScXmIfYKRnEXg03bw1e99RAv4Z85fV/oOvaVtF9G3BVicTX35V+vLnKmnL2ipZYBLhOAVweUxcNPO8YmHhmLxXv9yuLwHw/bem5Sg3uaiO9kkjWGy6nqFRJKp2AXBNSLoFVR23g2h2nqJM0fiWvFMGYVKZMsiDc1689sz3smSHba+aiILBc4uuGqI71ED+eVyLzvCLAovHuKK4caJAB3T6SoDjQmochdYN/GVSEonJK7eKFS2WAgOU1XomK8nw2KdDN4VKdWOh2HwdZr6GV3Gt/lS+iDCoB5gluMS/Kpek08NVIEkF/Xo8+k4R3z7kyQUKma53J/LMEwHjqDwDkAJ5u1O3cEXn7VAlfaojC2i8+zQQ1G0u0qdXHErYazDfv8Tkh6AtvG7zsxgHA5fv6NRfWPVE/PXiLgK1qMTkgtFKZuv9h7vWBvlKgz5P2brK+kU1krHwB2Nhe9XSQHiRPbkXoA2+fkLZ6KnfE0bWX4hLpweE5U8KIJH/rBqyJY9obxJz4o15D/IiZmImZ2IhZM3O4osaryaSKdCEldtrWbqIlZbmmkSCGrh2RKI0TIYTMqKEsyQDnsjmRRqQ+CSCt7Zp40k32g93ViIy1hylJB+Kfawd+PUPwbqC60Pbr8af0Rqb2ZpD35g3ZBWEQ4BZ2E6SjERqR5gOypWcoBIBo8yMzHanlsQcpre0hOCd7KD6BHpo+qT0MdXp6WbqsRklbH0W6DEAPMpnaQ4h29lBi/NFDc8faw7Cm5PVnuTJcmgrdDdBTJx101JssRpRoNV0uS4WKXLCrdn3z5UsTIVMS0jVeD6F6Kdx2enm3p74i21bFgXc85JxCMPR2Vb4rLYIRW7Yf6/Uv0qkHoY3W16rybRtcTdTPL+8FYeinso/sa6UnEJBBBVxNosLwo244EX5GEzfosx3u0zHF4vgyWsQqLhNVkgNuL51YleemjBAm6VjAssPzTUxEVFQsxLBy1IaJ2Y/06ysNdOAWGsSWrhht1LkOdaC/MU4BXAK5BQkWItRvwoSLEHmGXGyMWDXUVEttceIlSJSkTpt3ZIr8xDTpMmTKqkN7Mk++gpaOYe/Lt576GmioRCOlGmuiqWaaK9NCS61CYIVRRjtktifGmGyCRdZZGQrGu2akGaGRgUlhocoJt8LBYut99MEny21yzhmbtdbGVG39rp2zzvu77T2TT7X3f/t7+m7RwRvT3Asudpt/7qVxOuuki266KrdUhR66F+rfhvvora9+nulvoAEGGWKwvZYZZqjhKr3wyn6XbbXNFTddDY8KFGC7HXbb46SddjllrA0OO+JglKiCiVGjCH+pz4pRHff5lRoA67p3CeqmcoKketMwSrwG/L6d3mD88p8tVpvd4XS5PV6fnwkIYmYBs7Kxc3ByQbil8/DyyeCHCggKyZQlLCJbjlx58g1VoFCRYiVKlSk3TIVKVarV1DjwXTeJtn7zVlCiSTW5T23+WlsCmtoPppQyDAeVdxrmX7LD8Bgbnc/NxqxYjhE2uOO5nlMjrIOHuPuGw4fg/LK+/MyvEDqPBOvGjym7wl3awQcWX3/nMt0ooJAiigPalRsRQCBBgPWcKU+kT8yxRY9A66x06sakIFQJG6RcjCfPksmS0Vk5Xx9Wqubtt7xvVW3/r6C6kbId/4AKnJz9gfIxZ2qgfGxWhXJQRSwjItPBHslLFUgNiJbUkFVBS0ZIS3FIS4DTUiWnpS6RloAKqdtQHPxUcINxYFBR4HqvwlD1gMGhlf7jIPAAcMd9RlP9WyLE4u/FBy8MM393CIi2YUajMdsEekcj3HETHXbmiJ/YOesEw2D1mwtM5BLkdeGSWMq6AYYjeGBAC7yEEXZQepYY0HU4uGJnhZwZ6CYQEb6Lpfwgc7RgJwHNODsKl9gJvwzoDjlBwLih+4hbO2fuIkFZVOyE5Qo8hLlDQOBn5skiVX9BG7IM6/KGuB+N3oeNbQnNM/XXAE/UThEHBAX5PEdxBSINCDuhEk4MQ/5EEzfk+/zv5bmQHBH+Qxd2Cwk7yZlCCTkk6Kb43SRPQEZ5frKf120Tbz1T+oBuXuAfsodrI6dzu7m5aROEayS72H6yk705Dna+l53dzcZxrBwEYJZjYXEvM6uQDDE9IJNCNjHiXmmMbka6Y6DBo6fZyLpUOFpqLqChOmoqHBWlNqCkeBSUTrKcDEdGzgekZEeSQo6Y5AOi5F4Az0jmsB0Gnbx0NjEpQiPaXqkEFZlKcChJlCSndJpsYjdSAgLJ8csR1UmmVRmXz5/7evzi3vf8J/qjF2pZ7blneY2OhoeUDo9savdod7hGq8Ndu2oPaH+4Q9vDDVofJldiuG+37boVdos2hytUGm7akl2p1daS//gbunWnUGXvMnT7GPilsH0567s5pF039ORjExF/Dnz74wfcvengd5f5mcHqsZEo7R4EOMsJLbT2VOgkBuFedTIXSkF4BwQfos3IrF5yEu4bxCoDAAAA') format('woff2'), + url('data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAGw8ABIAAAAA2DgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAABsIAAAABwAAAAchAIKSUdERUYAAFhcAAAAiQAAATQq2xtHR1BPUwAAXgAAAA4eAAAueIspnAJHU1VCAABY6AAABRYAABKe0ti5NU9TLzIAAAIQAAAAVQAAAGBo/J16Y21hcAAABWQAAAGYAAACAvsSjndjdnQgAAAQjAAAAIIAAAC8FwsLm2ZwZ20AAAb8AAAICwAAD3VvxKKUZ2FzcAAAWFAAAAAMAAAADAAHABtnbHlmAAATlAAAP2QAAG7Ii71PBmhlYWQAAAGUAAAANgAAADYY+Sd1aGhlYQAAAcwAAAAhAAAAJA8wDDZobXR4AAACaAAAAvsAAAUAjaApAmxvY2EAABEQAAACggAAAoI4BhyQbWF4cAAAAfAAAAAgAAAAIAQ9AhduYW1lAABS+AAAATQAAAJnkYfHqXBvc3QAAFQsAAAEIQAABs0y50E9cHJlcAAADwgAAAGBAAACAM4gBt0AAQAAAAIAxddkoRtfDzz1AB8D6AAAAADVg7ZYAAAAANjaLOj+k/8DDNQDiAAAAAgAAgAAAAAAAHjaY2BkYGA+9u8cAwPPlX+T/wfzXGEAiiADRgcAtmQHfAAAAAABAAABQAC2AAoARAAEAAIAEAAvAJoAAAJBAOoAAwACeNpjYGHiYJzAwMrAwNTFFMHAwOANoRnjGEIYjYCi3KzMzKxMLEwsQDl2BiTg7u/vznCAgVdJlPnIv0cMDMwvGOUUGBjng+QY/zGdAVIKDEIA7CIMcgAAAHjabZPfS1NhGMe/73NWFqhDKye6Zup0Gdv8WW5NnahRVORqpmXpxaK6yAJD8CIrgkJZaJEXXUR1G5QkJPTrosD+gMK6KLwIJTQsRcrIi1zfc84mIg4+fN/z7Hmf9z3P9znSgEYkftNkFpWqHuVyDQ5xwKEFsF264MYIyhkPks3qMVziRQ3mGXtJ1fe4IXIDpaoHHkklNuYcppYTD0kjLnOt5+MPfGoeleJDNTWg/sKtdWGnPIBV2hGSb8x9Q3WRTQhpeo1XCGGBz+nIkosIqX+MR/j8jurj/7Vx3c9YGe+fxbx+BKUbqdow0qjpEmb9KhSqGu7nnakF6gOS1Tig+hHhWXnSyj15cFKdvL9TXYJdjnJdgSAmUIGJ2IRa5HoMQa2DuaWkif83I0Ccqpt9+owsdYH7ShkTJGkbkaSmkCIWbKAWKD9s+Mk7+JEjmShI9J7nOyUFhXIKDbynVc/hXUpUH6r43vnqC4rEiQKpZs/ZeyN2iz2sZ51tjHmxRdUhg+9yzzj7DM95DrsaxD7MwSYa9zrhl3GUaOuJn7VnUWz0fTX3YdXeIsnwwhX3Ig59sOpeYCE2RxXWy034sBrev47neAwvVqJ7Qc8kgEaj72ug3aXmmT6sBJNIInsxGZuiH4tyEN5lH1bDvhiq92Ml9EJa2FeqXsvSz/vO0L+b2K3uIKIGkKse0peo+XnIMdRo1znvX1GcgL54lrmMQ5xRvzoJFwlgKBZWzciWHmxVv+j7KOOj5rejz55e05jhNs7+NMKqk/cX5u9CBl5jh9BHbYwz9AL2dVbYLdOwawMmliFqL/lBnjDniInWST1AhslvBC1FrPmdPOPzI3MeeY4DM5wRN6klTZxVH1XHBRtn0lx3Iod5NubZmGdjXjbjNgMzz1hLlN9tFH3kHGkm9XFtjcfayQllRRnxqhIc55wWJVSuIFPtYX+jaCMtJEzySSReW69xnnSTjni8l1yNP58lueQ0sDRCPgGxVOpT8l7dXhpcIz6Y/BHu/5zu3X4AeNpjYGBgZoBgGQZGBhD4A+QxgvksDA+AtAmDApAlwsDLUMfwn9GQMZjpGNMtpjsKTAqcCtwKIgpSCnIKSgpqClYKLgolCmsUlRQnKk5WElIS/f8fqJsXqHsBUFcQii5hBQkFGbAuS0xd/7/+f/z/0P+J/wv//v/75u/rB8ceHHiw/8GOB1sfbHmw8cG6B3MeTH6Q8kD3/o77Xvc9752+dxLqcpIBIxsDXCsjE5BgQlcADBoWVjZ2Dk4ubh5ePn4BQSFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHV09fQNDI2MTUzNzC0sraxtbO3sHRydnF1c3dw9PL28fXz//gMCg4JDQsPCIyKjomNi4+IREhrb2zu7JM+YtXrRk2dLlK1evWrN2/boNGzdv3bJtx/Y9u/fuYyhKSc28XLGwIPtWWRZDxyyGYgaG9HKw63JqGFbsakzOA7Fza68kNbVOP3zk9JkLF8+e28lwkOH6zavXgDKV5y8xtPQ093b1T5jYN3Uaw5Q5c2cfOnq8kIHhWBVQGgCq95OkeNqNV19v3MYRX1L3/07B2QhcA1TRJbYkAlDKWwvZNRJCpztZUmufpLNCynZDHu9kO01iJ21lp4lb1a1rY/veut9iab+c8hQ/5MPkU6i/2eWdZMENSizJnT87Mzs7M7sbbvznxb//9ewfT//+tyd/PfzLnx9/8/Wfvnr08OCPf/j9l188uP/5Z5/+7pN7d+/sj0fZME0+/u3tWzf34uij3RuDna3+9Wu/+fXmxvrVtd57P2s36otW3mx0RGfcWFpkeaOJbnNp0VKVjqpqpLoecBVuRe7mdtRddVw3doSrQlXyuvSmI5lNCTFEYBTGQsTmjtjc2ot4VyaaCMzgDcjQl2e0oqfsziBSvQDQKXhNwzPw6hny+pQsuGJ9KUc5m/OAD53c0p1y558xZhILNQyEK6IxePMaa7mDpINea9qz+Bok8kmbDfFmH4mJVfT2IsWT/fgquJntKd12JuwX4pHpJ4pnnKuKJ4b9SLrKSoRTwNsRPGaljnSFy+N4cvx6gbiFC1k2W8mF9XwrD63nO3vRUZsx/nwQvbQtu5OsxPnPQYuOOGOhxtqEJSQBnAC2aWFlXto1ze8chYwdampJIzScYRYaV5viLJZNbINrG0W+VhQyG5SSoYRT7hJwNYM7NNzvFdw1UNpE+ZbZFmOaaB54CSsTNsphLayHLXvexloQ6iUw34K3brFXLWvecnLI3NboiXWY10PnSEvaLjgPwUm4wxkOlhPbKUHQZyZ+42QGN/aiVy0G+foLjhV6lha7uX0tECdhvRVh9bq5dS1IENoEznldjrBW4U5EvImDmEd0ry4tUnTxSIwdEefvvisfdCFG5GnFTwJpgoxCS7QvIzDnvPVM9BLiQKKgrQOV7fJEDZMAXd7uyR7FQUrc7EJuz3m5VfKsD9gH8FSlpRpivKKaYmVG+ZB9aCgVolTFirIuGD93RZdfvCczMUTMhf3ojrMfp5CtQpGqklhx8hJbQYZctDCJbs6uBZjNJqLuetC/ibSk6XMpV3kelvw0SwledZHpsiCJ1dX41IgulypMswQc3VgzI/eA7IqUj+BXTBe+2hHo7u3RmMFeJFsjMRLwaRjKFNN2eBY7Ms60jzEeprGlxfJJPSrKkU1Z7mX7+Ew4GyZiaBCUj2dxd84i9sF1Gic2SJ3+W/ovN0R3BA5605GaQ4y5fBSbIGF9XSn+J5N1ioljTbVw2f7VFLIKCACaVHfeBO/OwB69Cbz2vokVVfIp1iJXfeKoT+NgxpKqwyGXvC0uC/rowWv0JqqMzmGWUjmqUOwBsQEEj4aIXgjsJXIacRhW8mea1OfBGyJRRK0BVNseTUcd9nkS8yQBFvniOlyV8ef7KQUXFdq+mU8f1R6/VO5gLKOUcVQVNX8/HQsX9VlRmhrvk40lWMd2IsUcKYVUFkz0emCGeF9V/HX6oT0IRDrGIpI+no712B7M1d4haU5XuDFYbE/7Eo5DfRjSJ5OIRnUb2Vb2zsnzkl+SqFO3UWJLfrabYCPgbd7jeqlTRDI5YZ2gGIIMY90jRozXzVefBfntqneC0e1+YJhrWios245Uf8pS1Q2dLwJl/2QZRJq8tY39pKQXipxX9tbh3hBR5dBoruxBVCyPHr9OQ53pgplhwOhCSxuhO7W3aew1Siu6tXSre6rmYaFVCTYYcpWmcxIE6MNoM2ZOm2smgD5U8YKiJ5IUQMkb6zmZDZBTwcTRIBX0OpPj7/rYgRNBbxyT+ppWRCO0aGkEk7sqRHybKwpNpjWprespnEY3dKtqm4lmplR+0/GF946Ov2PGc27xUMzQLJ8VWVnk3dhRd+NgZEZVigrOUVFRubMtfb64iWwQbhV1DNNHVnG1E2Db0HN7Zry6YaoDRaXVE6yHGCo67AJTTFy16MOQWuKqsgHOeuKlzayaWKZfXSzntlVFtadi1J5vodDLLBmZrRleZsvOFToMVfRC1/XaHlBpGkRlpxTrkPHVw6CIYvM9CGb0h5ST1akna0STM2JZi3toYsMvvgdB7a2jZO3/U1YrVlPVNY2qkV/7cVVzZoE2zHJt2EbyhqkTwPqZlFTa8tvvUIa2/HPAn4dpl2DkpcJK+OYbmNIn1TWN0SDSrUrmmGXzmiC0wfvahHYTxDasee0YLrSj42N2EEy5jRNgd8MzcV6Qi9EmOh8GMXo9ehOw9OgtMqlZZGnrTNUvxJs1rb9JFDNhtNGLmUSCcquFU2/JKUOjz9tw12XtTx+mApaXc6vqFwxlYrC9y1I2p/Wfyv8RjpxMHydZLM8i1GOsB9Z6/u2U2lnsvEYXqzw/+xOySIdGRzU7dH6hvalOAfA+1vfx90XN0ceJU47RKErF09iL5PvqtCTcD6Zjp37b1yldjD2DHUSPgSVPfU87ibLwL/suvQ65TmujGL8fFEfbx7S6T7S4JwHn93DO6lg4bWGjvEdbFSfumq+LnMSB516a6jqkLy4XcZbapvMwzvyiza0r7Iq5/ojiZoE9oORFV5xLMW4Sk+MfFmJTqmxs8ngHkvP2OZAkP4+rhXqq3VvQhMZhF6/4BRfN4CmS0/CR9S1bbu7ACXQHayw7DbrXTa9UL4IfI3MajyqlPhaPXHKF2hVf4bDQEYrzWyiJQK4txFJiO5WC7k67kfkSyVpcoJMBnWIKXmcBt7ITsLVA4ZZOjl8t0AVppu3rqbYvoY06cqpOZW/VRlFm3TSxhqbNz3/JhNFf8gul8pbcw43QVT8lxYUdAN9ZiLUEWPKCLPkvhv5kWgB42lWHy1IaQRhGewCReNdUkIvwNQIy0MQxxnjXGe+jJCpCJzRjdjxGWFrlRsu3YDu4Mq/Wm18p0NLvqzp1jkN/rRauLQ3PIjStNpS1jMYi4c9Xwm+xCCnqqAtCTXRwVSZUyxqXJRcXJcJ5qYNfJRs/zToqZgdnpsapSXCLhJOixnGBcFTQOCy0cLBA2F/g2MtrOHmCnSPsZgk7WRfb84StjMZmhrCRcbHOW1jjhFXexg+4WIHGdxCW04RvKcLSHKEsbBRNG/mcRs5Mxq+zScJ8Yh2ZBIHHCUi3kY4RUrOEuSghuRHf82Lb0X9eomezPfsSd46cKDU/8xk5zafkjJpS43xMDvGQHFMhNckn5CgfkcM8LA2byQk1osKKqU88IoM8ICMqoIKOM2T8Nx5YXVSehumq4kcuPd+49fO1Hp1q0w/f+kw2vUbXMO7Vzd0dS+1X/Ida4zHIXlR1A4GDaqMbCt4rJpgQgg0uBv5K49373eeb9qNvg/oQ77O32DM2WIGEAAAAeNo9jE0OgjAQhT+7ctljuGZtSIixBIEISjHRw3ghj8JhOIHltYJ5mcy8vzETezNhzQe7+2IhzNuEQ5ij/uN4oRc8rRDvjiGxUXPTPSa/EnPkvMmo15znwSt1n/Jarsq6f8tJb6T1lGrHfZd65qLEwFG/Tso00uPPQqlaTrcAQr8lpQAAAAAAHgAeACYALgBUAG4AwgEcAZIB4gHyAhACLgJYAngCmAKqAsYC2AMUAywDZAO8A+YELgR0BJAE/AVEBXIFpgW+BeAF+AY+BrwG+AdQB4gHtAfgCAIIWAiACJQIugjsCQQJMAlWCZIJyAoSClQKtArQCvwLGgtMC3QLkgu0C84L4Av6DBIMIgw0DMoNEg1MDZIN4A4cDoQOtg7sDzIPWA9sD7QP5BAgEGgQsBDaETwRchGiEbwR5hIIEiQSRhKAEpISzBMUExwTQhOEE+AUOBR8FJIVAhVEFdQWOBZEFloWYhbMFuYXHBdEF0wXVBduF3YXnBe2GBAYGBhSGF4Ybhh+GI4Y1BjsGQQZHBk0GU4ZpBniGloachqKGqIavBrUGuwbBBs8G3gbkBuoG8Ab2BvwHAocKhyGHJ4cthzOHOgdAB06HYwdpB28HdQd7B4GHiAexB8kHzwfVB9sH4Yfnh+2H84gHCB0IIwgpCC8INQg7CEGITwhkiGqIcIh2iH0IgwiViJwIoQi5CNSI6QkBCSIJJAkmCSgJLIkxCTmJQYlECUcJSglNiVQJWAldiWKJaAlqCYQJkYmXCZwJoImiiaSJqwm8Cc6J2wnpCf6KAwoRiiwKQgplCoIKngq+CtcK7AsLCyALM4tMC10LaguAi5YLmQuui8UL3Avpi+wL7ovxC/OL9gv4i/sMAQwDjAYMEwwYjCSMNYw/DE6MXgxkDH0MjQyPDJaMmIyajJyMnoygjKKMpIymjKqMswy1DLcMwozEjMaMyIzKjMyMzozQjNKM1IzWjNiM2ozoDOoM7AzuDPiM+o0XjRmNJw0rjTANNw1SjXiNew1/jYINhI2HDdkAAB42q19CXgb1bXwnBlJI2vfd2tfLEuyZK22ZVuK9yV24sQribMvzkBCIiBNCCn71o1XaF8XtrYPWlp4P+URoNDSlle29lHa/0FLKWlLKe2jO5QubBn/994ZybKdkP7/98fyWDNzl3PPOfcs955zQ9HUOoqCv9HPUAzFUrqHgOVoGUcDlUzGYqnWKOh9jN6nh7/x58AXO/n/pp85tZ8+59QXKfQPqLp/ravvaaqw+A71EGpbSukp1Qml3lBBDcfSqVZjLmNmApZwLpvPpC1mkywwNqlYIwuFnE70Cy+++Sb/zoshpyMUcjhDuDmaysCfQSvCqTkhoyXoWTKZ1mdQaxlzoIB+M2NjN4yN0c/87Gc/E+q40WUHfQ/lpDxUfzlioO0ezgx2vVTh5jQyhckOlB3kSgXYFXaF3Oo0VNRyXYWKpWNpQ3t7Mjm/ZX5en8nE0mnhmmotoI7Ib4Ylv2yA/AYK6BfQ5bOXqI6ZjysvaRx1fwz9XqLEd8fdo56PuUeBNn/M/OzARweeQP/Qn2effRZMH/0oGpF78RZ4ndFRAaoZIc5abmhlUpYwE7EwaIgZPflJtQZlrDmQa4FIwQ3WXKQFctluKCBMolsWPUZ/zZTFmtOA2ZDPZcMRM7zOrRsY/IB5rWY4xZyzOT7ZPjAwrRltSEZmt/O3tmYShZ8U0pltO5Qz0/Kt69zpoYZ3IbhlIL4uK52aUa5LeF3Jht+HZkegJWv9bzYX5gfb4qGM9SSFKNq0+Dpjor9BaSkjwm6SKlKZcqMxqWeTRS4X4XK5JOvRch5PkrVzrL6SNCK8xmKG9mRMjy8xYUwGYRSZNILdpIEAA1YgwAf8MrPJkqFWvO+GpXd3rEsk1rW0jJMPPJrj+wIdHbFYsRgDru5VrPpwTxI/TQpX/kH6U8FTHNxdakl2dydbSvza+tfd1ceEj+KLr9Oz9EnKT8Upc1lJS+OcycGZpHhMaChoHCErG5EF/BjafCFSBdpiZQVgrcaCVVZgEGVMbsjQkr5yZmD74OH+3g5wOBCMnRv0w85iKGV/o6f3l8lnY9nUxvTRuVRvb88FA6VDQfC3u+Oj8f5sZF0iFPLyTxxqeiIHWutEIr0+geYdmhvUZWRuyO8j00KYExkyGdD70uIRSDIqSo3eS9XkPZl7BSuGCEF51759w919s7N93dk/X3vtnyfjEy9VKi9NxFFdE6orEeuyQl0roQJmQzRzWROpN4xa2CzWmiRtoLoROAJXIbiMlOp+o47VodpkvhaSULBizrUWrFrEvJEAO7aWPmg9IBuUnm89yIx1jLKj8IW98nBvhP7AB+hIb1i+t3nvXixjuqk8vA6vUUo0TxQKkMo4qZSW40FjtsqgORoKoGkSyGVQ+xl4/cGBB9HnD/jyIK6fWbyReoQ6Smko5f0aFgxUKYNAshYI6QRhpIVM3tCIZZFG07NxI+O1YkGk95h24f7BCMdgTsA1mp94PD6zrxu6+O/A3ACRi0TuoT6UlOJ+qdKAJYqIcVHabRYlnaxexgEiHQXNhI6K+ykG1yOUZAInx386jkRvFpVoRbw4SeadB/GiSuvhWCvHSitaNZlgSGhbVs4ZOpdtgYBf5L43jvf2XrJhwyV9fccn2idbWibb2ycTicl23dZ/27Xr37YK14nhD46Pf3BYuBLYEugSRrJURqkeYCQVqQp3h6BjI4WMPvC/j8S/k5+ic9NrPnJqslb+ZwhOJ4bSaeP0DZxeWnGqqlAW8gXMRhgwGRvppgVwtYBwmXi8kAm6i9F8j2KsITvbWdqeP/B96OXXTz3RWeiON+Z9pZDH29+aPye77+CzEwLuIouvw+9Qfy1UpGx7Sg86PfeuDnQ6TwvLtagrHhvnkQp9Iz6Zj80TPGEezqQFOGKQy6RF0YMAEvGHZK6Ixp+eM6wb041lwz2RSG9TMVcYGcpli+pxw96Jzm2FfFOmp2tfSRcc6/B2lH3FYKDDt66UTXXkI778TGo6lxsxS8wzxc5teUE3IfzQPoRPBeJEZ1mjAbmUk8sbEGobCI70VW725QCJSjNmaj2SjxfxX4Py5tnZScmvbirDi3xh/U2/gjH+foJzhINTqE0fFSpb7GrObjf4WE4mAYlPXTGYOYOEYCA9T+RwHQZqw8aszFrzNd55ZcuQdlS3vq13arInWDZNx2EH/6pTkhsr7u7sOrdXF93Y5e4a3tCzZsrXGIa5iR9AomOhXN7XJYwR8SqFaGKigmiMWlOQU7k4lcqE2NWkrg6yyrH5gtFa3/UKtn3u3GKi+f6+e+hALrurVD63u6mvCX/68UfXs6+jsLsb1Mk3aFvH7u7OfeWJSG+0qReTKtobEXHza8K/+nIDQ3MI0TJhyiBeBF/OZ4YxKPGfh6/xJ6x038TMqZvRGBhS7100hkYqSuWoYjnyjyjIopCMcseS4EjCu0k4moSZJCSTmsYc16iuaAKcpo7V5ucPHYrNz9dGmaufnkvsVa/16r8/x3WWMk2Z3NbO4tZcJpIpdXHlXF9/Ntffn+vauLGra3KyS5efb++YsUts62L52XR6Nh9bZ5PYZzra5/NwW3c6XSym0938/YPthcHBQvvg6WgjCXISiQmTp0obkUdKUFVsSzAzhurUFYnzHyJZSueW+gidhghZBBJ5ajQRqMS/CdMCWQQSCfNBsBUlWK5T2gf1VkNFqtQh4YxFp6FOdNKnEaPVX7iq+p0/vCRZaapt8QvUt0jbDkr3oMOoNghtE9Ff3zizXA3sENvtX1IHdV20L9MMRO5TbfAg/AZZqPL7aJboykIuZJainwJcyv8Uwq93f238Wsm148KYu6hH4V14jNi0zrKOlXAsxXBaYk8xcopKbpmPYRrgWYl/uuCbfA/5fWzgyIAg94qoz0fEPiVin6FcKIc6LUKIfwn1e/k1uMuvdX9NsGXegceQLeOimpC9728yVHQNHNLMMWKXZwWpvFIGaqARlpnr3w23NgW6C+midty8e33n5kwh5nPP6EMC1oFJ97QEM8FUsb3Z1zHXOp0rjEXc+WDzCps+t/i/mBL9H1QHNUAVyn5NmDMNcK4ypzG5XCYNw0py0JHjOpQJkLMJjsWmeWzLfDI2b7Ai6zxJ5q5kGWsG/OEImkz+JQsMmQF6NI2wiKtj2DSyx5YZk7Du/r17T5x33n17xgZDHTrbcEtuLpOdyUR67ZJej7vZN33j7OxN09M3zQ62OQcm48PD2ezISHbDwn379t23gK6bLooGQpHsfLFjS9bXmOLfbYzPFWdvnJpC9W6ccpW8bw13dQ2PdHaOCGPXossNSNezyLJqKwca9qjgKhWMqMCkArkKVLRUjSwbpBWkFMPKKxSNB4/cEswTJSRU5iuIdyEDgYgPuR4MMqEY8GwD3fwQ/72hefjmNpfEtQ3bDE88AWagx8Z4nsiz9ajfPOpXjzggQmXLPokLwi7uw2HYF4ZwmNJHOL28Im9rgAaacnJCv6VDGVGYYcVp9K2QXT6o6VCzcenreoD81rZcIt9X3NnOvwEQLLgbc4GvfivY7vF2hL9OP5OeLWTHzRLDbLFjPguf8uVczpz/Vf6RYLvb3R74m6jT6K8TfkV2hMvCsRqOZSquhqodIakztpcTGAEGbV/Zvv0rC+uvbu2Kbi+NXzE2dsX4FZu6W2+a0e24e9++u3d0thdbW4avnpm5evjczmI/ogvGz40IPwpktaIeFUaOMmAsKOTVHo1VFRWDAtGcMdCv/8mBO2Zn7zjwk59c+slPXnol/cymL+zb94VNEzdeeeWNp36Mx4HahT+hdpVUtOxAM93Dwjz7UZZmWUop55SodUZEtoDpQ3XzHv+sh9v4hyDKvwDD/A76mYk/rv/jRH27DViKYwnCNggtNcjrpHi1JX2g1s4UauRv6/nviTheRDgOU7lyABkEMrfFTTe6ufZGkDSaGml5YyMbtnDhhoqA/SqQWzA/zJ+ZBliYFJBqxSKDlQWg+JVdu76ye92HE50Brmv0qnXrrhod2h5weCX8P2BW2tyy8w7djnsWFu7Z0Zbpak4IZEmEXOtS61y2nuPJc8Xx0hzBowdJTKWUaqC5hgYlGrBSXjUpBN/SmNH70LeAHo96Cg5OTfH/ggbN/xfkTmVhgH+EEtuj7iQ2t+oB1AgjF+3aDK40RYxuUs6B7IBnUTktth+0Uk5BV7QNov1gQc4QETGoOzwf7jpsWx/cVxycKmwv6WbW+Q5v6IW/8/rRcwtUtU/6XNSWhmoq2xRyjbxCX8PAAAOvMoC+MHIp4YQ0mueHKsLCA4InAxlzA5gDDGtGoEmgZz9Cm2vvnw7hQV0LRyX8s/wBCUxd+d9Vvvi5sPZSbpDSmCOkchFejBnEUVPQzlfQCK+eEMozBiIXzGUFq9JLga7oSQW8+IHr4B+EzUKAQT9WhJ5jr0pePTYpkfxu4HcSySRq6AF6FGH2qetO3Uevu45vr431QtSumjKWG+RqGWpWXW0WtwqZCCYSkBYXYK9EMjXLX4+uqL0nPwRfPZWlpz7E56o2C6NEfLrc92GqhFipDVYbkZC7a9u2u/buJdexy0dHLx8Trrpd9+zZc88u4ToxevXU1NWjwpUSZYIXjUGFbBM0yxRWTqFQURaMU9WyWbYkGfSBJUGoX/9G556urj2dt0y92dTl93c13UY/k9/e1bU9z5+Ei8KdPl9nmH9H9AsWnyNjNCLpbC9r6Qin8HAGeUXBVGhxmKin0CqbzMqGC5GCdYVhRo9ObNlbHXNPV7rn1u6ZnuloizDwtZeNOWO77t4rjHz6E9mR2AHPFYnLI+f3COOfvKY2/k5RZ4TKZq2LU+zXglZLqZWYRapaAjEqllyZekxowYg4NrAcHX8p7ulKrEvR39v1nYNTfwytidRQkp7uUDD8SxIIIsxc4O8KY8y8hfnIjWSUBOElRnWUIzGWizVUzI2cmanIgxDcrYEmDXxaAxdoYJ8GejWATBaNnCKKEtnfmfmaa7zk8CRhCYOC3MKWgAeqrs/ucf2EfnN39/TwxsTabW27urs3F5TrlIMdhfGe3uSmPYPntesSM92+8obejvQal845O56Zybb0eP2hzu5kc86q8+2c6t8SF+UHRiTR98ayQkoDR9MVmcA8eHoHkAOCsPSr78Jvnp6ij01MnLpaqFdC4x4nayjmslIjMTZwErpiFDgBzyDsVeirJo4of94+0jO1eXp6fqp0ZEI3eOlG+A7fPrN//ww8xXdtvExYo9AgePYRvaF5kK2pCyJpjNZMAU3MgGbLfciNeHgL/84MmoxvDw7SLJaGgPiAYm5HdU1YVmhMrArVNwn1xVktNIGuePWCGCcB/ZYrVBLt52Y/o5V8dMtjs5/WSfS3zaJ2/9LaSmvQlS6hqS5razv1DoHPgODbXZUbDSvlBjBEHDFGIoxA8uqeE5ITu1/9y67vSB7fBRU4h/8tWPkv8h+DGP8j0h62t/rE8eLG5NXxVptCMgj+svMhyYmdf5qCUbicfx7i/KX8A6huGNXVkLpI6jTIOOw+1hTskv+IZGoYrkB9Ps9/EK7hbXO0f2Lu1M8nBDm4eBXYGRtZZUdqGutoVlxlx2t12MNf/91LLvkuYxt4762B1etBUF0PyiB4T/50/KdENQEVWryK+lO1XYqTMJyk2q4VyVVk/QZCqNnv5hn5wHvnCe2q4LPwBOFF1f0sTVYMRbIFEKkCT/V+fe4KyeVzSK08+/LLeF1/sQlOLh4ga14McksQ1rAxASf54I0D6P0Oeox6s7r+KK6JZayBHfPZUfqZSwW55kf68yStodxoBt9dPiYLwT9CMBSChlA0RMtC3Ldl8B8yWJCBRAZ/lcEXZTAngwEZZGQglYFMZorEQBoDd4xzKyt2RWVaB8M60A2pQaEGk5ozsZUn/RD1g8IPfvaxBtjQsKOBljXAPxqgt+E7DXSwAeT4I6NKWwSpcOiP6E8MWTAZ/Af9Fdx14R322ecPVb12bNrUu0UWM0JtQFAwVcmR+cps6uL5lnXm9V3Nw+aymysvHJ6QWGYLmZG4bSAyMFhu1cXHWic2mdSe9v6QL9WS3b+Ff3Q4lB2Nj8R1po6W5qyAKzznsY1upkJUY9lgDnHqRk7NVqSKioyqmJWiGsD6LhwJEOZhM++j9eTzVsnElERine/oP79cPr8/gFfG44mxZHIsocuFEZWeG4zkBi4ZGz82MJaa7eiYTQlXgV+CCB4pol0j5v9GwQZnK43KVSuOq+w/bISfPNzTc3hk4yHbmHE0lxhPJscT+XHjWscFG3SDx8bGLhkYK3uTra2z7e2zrekWb2mc4AD36VyGA7aR0yoqqGPNchzU9Z6JYH6vEmbZ8hEZd8dmG7IsJiS2zR15Mvg4BieuGzg2juDIRQafO5UdDeeqKJhrb59LibBo0fhtlJfKlH3Xep/y0lIvaLycRsPaDJxNWbmuERoakZvaiDFD3NR5wSqorfxU6cP63LTonhhbaMxRL164puvQ8OiBIs2fx6THmndlhryV9TfR3r5s56QaATc2fHyk9/BalaZjfdPmQNcw9HvL8bESoY0LXRbo55Flkix7rIoKGMwcbZBVrscqcUhDyzWcQiu/VE7LAcE1n0YA4f2tGNE5GQEsq5nwcCNgQRS4eMuW+Egi5jV4Lb7UlVdOwX1jhdRQRLWRbUg2t4zx60T62GgLwomXSlFryi0ymUUWljFeGbeRgQcZuIABC7OHoRmvtuKUVSxNnAURLsU1I72MaUcUciyN5xhZiw2LerkLAqfx32WBlStOT1xkGtety6+bkdg3dfTsL5f393Rssksmrju/ZTSRGG1pWZtIrG15bbLoixc2T7ZHWvsuHh871tfaNMxbjl0OsZbpYud0Al2LMwlBz6LL24jfLMjq0qgsrI4QkqpYFAKniRuNwjzD01+PxQGCRh8ooall3pSf3zE10NbUG0GW63MDkez+c/iHoaO/J7U2yr8qzGs8vf8X/WPku2ipdNmvUVTUsspDUviiFKR/VcI9SrheCQeVoFUmkaHBKFnRgCHyaflKFYv4fDYYtDsCAUcz8lM2C1/twS08jftafGXRLfblQF5+wKHn1A5txSKrSCVK+LoSPqOEy3BPHmVJuVUpkePOBLmIXP30it7oSE6wmvSEGNWOLzbLbQqPa2q0Z6n/9/6TnZDKImF64NQjY2NUDbd/J7rcivQnq2ZkGLNqhWjECL5aASEX2YoR5N2Upl4/7+ln99wxiz2b7r9Kvsc/L/nb7K3VtqhPVP01qsIolvy1Ur2/hsoxKcSfIcpXNuqdIZWZU8k8HCWryNhKSCRqptq7WSCrdTVx68iMhXlr20aDc644OzfZ0R7uDkx1tOEr8KORbD6RyJ+7GRN9sBwfifEvQ/tQOTEa419ZwoEGyTPEX0qzTCuCYl7OX6djrwmJeXN28/apvmJ0TRD3Fc5V+2kZjfK/rMlLPN7lvhFb0Sr/yX2hXxzp7T0yOkquyYnW1olkckNr64akbuiS0dFLhoTrWHK2WJxNClfSb3GxiU6TcRE5rQlxskYOT3FhdJolOV0dndi9H6kuqzlArZjYxYklNdWB9JZkCsJ12gr4tVVFlQsP/AzMy7UVxkMT0hs1eKREdxoR2ysrSIOa6uAJFU4jagL0CnjgSQlWF/01/TExdaROdUgHwrmq9lh7qrkGj6A6RLrvotXIZkZ0l1MypUh3/WnobjXX0Vw7nQzYvU2h7hAi+YbmgmKzrnkwyv9KXIv4OhpjEzVczrI+q6/g2+uT/NgHBd8HfA/5mCYf+NR3q+Ejasir4SE1/Ksa1E0yrklZwfvWrMj8xM7RZ0Q7J3w6z6i2g73kF91+wLrWOJpI9eU7urvGc7OZ3n2WEf9McykeHxldm9/cphvr9LekI0FvRKPTDrXHe4MdWX9fxO0KKI3G0XxyMEz01uJbMEx/jLIjKuksdiPHypQaTimrNNiVwrZ6OoN31hFc4Zxe3M5F6slkRZ5OwYwAeTVnaJqbmzp+XGcMeuxaj01u0od7ITb2L/8yxv+u2WTRb2Rlwho5wtdfgBfmnoYxy7EhgYRQ1YogflS46kZ1E4dKsCJu2T7V0xbrDU2ROag7bzus4Z8Z7msZiYKXp0fCWdI+iy7vovZZ5FtIEXlZxZIvRTwgdtNt9OfmfjgNPL8HPoskNKnD0KiOBvtQSo20AdXTKJb5UJlqdSUE2NmjcPnM5XB0+s7pq5BO5vn9cBN/AG7kafgUv0+QeWp0+SlqU0nWWpRSkFWUiqW1lkjGWsiwyMZnA499dduVl+66/8GdV125E5h3H330Xf7U44/jNuTI1n8PtSEnfpKsIteIYykIfhIEXnpu8+foz27mn5j1ws/5q+HYqWbsh6DK/4nq1ftIiJiK1T5SCBLIuf8I/xzk+J3DsDA2zH96jMBvRT6SA/kyAeTLBJBxpec0AdGXsYS7AEnEHLYQsvkimIm9IqxBo78W/OTh2ajPF50dtZjDKT/6lwqbLZfMjdwbjQ/Eo/eOzA1k4/cm21QSVSF1bzwr+ljrF6+jbkV9Loud0AfWj40xtvcOCmU8CC5/FS6KM+g5Q6DmYwkQ4W09DCHZRbZgiDJmAcIYeMzhVp/f72tF8IxWYcwjYFIFBExbEgNTB6bQZ4j6A7wJl1BOvDMSk4JaCh6pVO00ck6JGtp3qaFVDQ+o4Q41fBLNbgp7LpUK3h0RFmZTrcFwRNhdD4hTWTDJM3gSw6725lBCb22ke/0Ft70tHoyTm0De8wejQaf1WSKd3tqX08d2NVEPIRmkRJJNeb9O2FBLrthOQwxjru3SNTesUUzCx2r7Zx8FM//7N4nMJroRx2n5Mee6GY9WUmFUNc4VI5/o+oCncESPbqxBi1WPJCb8Yr53oHt7Pr+9e6D3HOuYZyhU0I3yV4zm86N3jcqnphoGD/T2nj+IvslHCt61Ov7T8lTQm9mhhgX1jn7Bx0f23zeoNBUom5gWLhxVKDmFgjG7OLNUBCYmhJgI62++HNYUESSZwpEV/g+Wl1b8g7ft8docxju83Xwh/1+tGXr7AK11ODPznet3GMdVxVRhjc0uUTTIPnTY55Y8HI4ozz9/2LIhJdcNSuzx3lh2U36qzYuUXou/PcpqdepBZfOEh2l0CzZlHzVPe+gW5AfEqUjZ6DKrWXucs9vNrCKI4DezZjE0hoRdCSvjJUBEwquFiFDWgpVFxGKtLNk4i7ArzIK+znC4M11sGx5qK6aLoRC6OHsCQ+3FX5ZCoVIojK/hGzqKa3o6iun2WKw93dHR29PRkW43W+PtMxG8yyt+auswCURrO9VVDphYGoDmrKBTSmWcEflU0CAFOSB7WG5TVbRyCYnGI8F4JBaPCEfkxeBIPKQS0C+T8UCmBOgvwjUJk/j73Xff/cFHtn/EL/Fdv/2hY1/60pcmvzwwNQD+19rbX+N/jr5+Ga9p4nlP/5XsvaKZL6vNfLMw+8fG6L/yV03yu1DZ1KIN/kKfpDJUD9IgqjZpyS1Vce4w55YSMSDG51XNmpoejQg7/uHlq4xCzJWwahvEXEL2IZOA2fgv5T2F8cus6/RjbW3jY7Nz04nobGq+lJvOK8aVa5KBgruzZ+FQyMP/uWNNrMniHJtjQ4mW2eJ0Yucm5Dl3tWRKTtfMmuiwLbepeX0m0evzBjsdMWsoZfHNT8dGLB9NmdUGbd6e7XLRyg6RhzrpeVhLf5fsvbeXQ/o7pPAZKSD98a4UrpHCMSn8XgovSqEoHZXSUUQcqVVJJTOZpLhWUqlUVmykp+t36b1eNFy39QYf+uvxWOl5nxn/tXirf/G+ZAB08Gdxbb9AXVpeM5CGbBoCaTCnQZIGeSHNtcch7pUrh0Jxbq4AYwXoKEC0ANMh6AtBLgThEBRChRCb90x7aM/XFl8um1FpZApr261zVtqK62KrGO92z+NfIcpT/IfuY8QDml8dl7hiUtTWhGrTXdhR/i+uu7v6SU+l0acVX1tb+vrSriajR2k3ueNxd8jmC3aArruudAsqhT6tpMaagdZ0v8noUqsSXm/C68BrEFGEn/sQfjxUguotJ56I/ChCRyOgiIAswoVlP5bRDFkmkyXCCVruSXCep9XgEJbGKLwMkUSDE7dwayNcta7lhvqFLVoc2xfWJvavj/Qae1KRrH7IONefn8uOS0yjrS2lCFjz7q6utjDoQr2x/nGjUpfucLoDkUJsYwf/Tk8gMeAvhkCnbW0KhKnFRaTX8vA/8JrOT/2Ip3QM9SPqSTF2Yh/8Bj5ISSnVCbw6LsEzK9WKrQZ9AL7AfxLu7YO2Af73qA0xBk9HUzpUV7KMd5JUG9Vaboy1ccoCeAtczBvzshIPYC5QWkEu0l8II8DkR1Q/K72ZakQIcljwglt139d8JoKv3doYbzTTnek2R3yT2mTQpN6H3BBtdluDMnqKnpo6rlOrDEWEjy66AhvoE2hm2MtaFk1M+jMUllvnM8AgZZ/BNruRxIQgLUqf6MHz2AOPQIDEBjrxLoPWybFmHHyrpYRYCcP7RNNe2hUIoE8Rf1zhsMvV1OSCR/B9p9/fiZ8Wo42NUfwrxOsgov2W6H8tjl/TqjhZA9nVkGjJQjVSNulMdZUpI0hmFsH7xweFiEz4D34cYgO33jpw69AAoqkZtoCGfl5HQwOP+cQC0+Ah94pFzB8302MQJ36/s6x7iQI7FaUexlEyICdLzlsIVxszbOAH84Mj9DOXojaQb4rtfsQn74n2ZRNtQ23oKN2DOmWDhmtQYi4jGwo1RxCxG/6BYLxrbxf6gHd8bgyaMttKpW2Z9zYzG9/7d+K/gIS6Ga5C45ffJ1WSNe96AbimGgojqdo7qM7QohGUCBIHtbXc95oKPqT6rIo+qoIFFai8Cs2QScXNmhBpwGTS/UYG18o+JXtBxuyRHZbRkzLolUFOBkEZGGXgkHEOHcFzrCq+hLkdE+RXvTcX8OMYTbYK2TUZZVpq1ZlsNpNZEw/kLAZpONcR+2O40aI12w1Gh94038rko01tFKaDFbZQ99HPIDrICd3RXIZfiHNN95C4zKAVreGzTKPv7G5v310qkWuwHImUgyF8RU127luzZl+ncB1pGkwkBpuEK4GhHcmMd4nM+DGRGT/GMgM9Ty2+Td9BP6fzg9xO6QLUC6Cn0HsAOK/2/pll7xvwe2oRHq2+ZwDxmB8U4vvtYv3vkrEmkd5/nPB4lNI+GPVzUdHMXbk8JsbidyMXICPESxGVIKx/vyzav12bM96Qy+eZDqUjJHZKs860Z/2SQXzqQ63TufCaZoc7H2wvpXsToXQ1ggrBSuKFmKsQDpC1rGegSKMnlKWsoTU6tpGeofUUQPs0FctCLHua8p20Syyv17LBs5fvos1ieauB9aLyRlS+tLL8dbXy3bRFLG/2kvIBVL68svzltfIdqEE0E8o6htb5cQWGtqMaw7gGrpJFsxrX+RiziTJQblQrV/YxQY5ioP/bDLQw8EMGbmDgZSQPGanKzamAxDekk0L4zCHsDCE6+YQAqbq4PjYsKGwyN4xkc5L+2PwQ/19D80AZLJ2xWJfZOOFw6A0Oh+GDWxslrq1PPEF/QRuzxTo7Y7Zm7XGHAb8yOE79rRpYRRN//loSH2KiEmUHjunRqk0cK+HUrJqltPKKvhbhI1q02HAkKm4pyieHYdXjWK6H4IdL8T78W4d3wSuSxq+JgT8kpmtPmn9G8BUTi0YSI5Wn1pcLh6Vglu6W0jYpd6cNrrLBnA2KtlEb/a4N7Daw6Ww2ZTDGBZnKBwxgMoDSwBWVSCwl8Y4XcXHaahtg2PXSQpXN/SuFiuCRnSb0iv7wDVNaQa54l4kb95ZPTp4mICvfDz4icuqE0DrF3i9sXxmiRZF5S2KeCK82CXMBfiHwHqg0Sic9A9rlvL2yfCf8QSyvVStDZy/fBb8Wy5t1SsSqoF8+F4Tyl9fKd8CvBN6mQePFFWiwLuNtYT5Qd5I+4uIYOsQ+JDJGhvpgV8FE/aaufCcMiuVZKdOxqvzinxFMsrryXVAWy6vlDB5DQ90Y0FzDuwZ/Ya4gPoCTspaVVqdeaqMrUqecqBkxX+cMNj7ejvB7Bfv+fNHe3z81xViERxZv9e/IKXGP04cu95IYKCf2uDVOjgaHlXM4NBILDnHQyJd73NiO0K+OvCOGxf61a5fF3131zDPQMwB9dUF4bw68UeMd+kIit1pFuRWt0tar9rIzEJAuk1sk5ojgMS3K3c2inPP6mUYlknMsQPTM5TvpfWL5gI8JnL18F71DLB8NMl5UPoTKJ1eWv65WvpveKZaPpEn5HCqfWln+8lr5DnpbVe76s7gCQ8dYkXMEuQvIy+2Hl+FFxAuaE8oGKdMgpKGRYPACXjCwshG25/bbk5/7nPC58Oabk7fckiRXEjN/klHRbyBO8lExRF2zha40GRo5s4HBcZQOWQwZi4IgFPciKYvgPEewVBFtCNwRZbGCsCZOCUlHYMnQj41u+/LeTWtDHaHe0W137d00Fu4I8ZJcEtLFnrHL1sKey0ezLfz3i2voTTefs/fuXZFiqJi9edOee3Y1dYU7+Y9f1AR/cI1eM8m/NHr11MCFTbzZJfAGibUhtGgTaS0TecNkYVzaGbCql83JleU7iU7D5a1mJnj28l20SizfaGO8qLxdvUyuCOUvr5XvoBVVuWJpwhVo8EhWyxW6j/TRKcqJv1fnvRIZjzN4IbEGU11sm4ayI0oZVXZOpdJQtA1Z8uiPOA311fUjYa+iNguxJ7QU1jV1y+owt2NCnNuX31mKcgNq3eJbtBHpK7xiZQV7XMKp1KjbuNvE2RUVN1TiylqMqbA6L4nkqjHc9Xk6ZJ+strFeDUcGg93l7JyI9kcizs7+wUyxdzq9radza24u19exsEYuXS8Z7wh1B8fX5Fq7h7tPvUdLune0pWcKXEJiPmdN9842hEchXuVlhMc+gsccfEecZ/EWxmWboZMmgI1LtFpZPg8/FMsnE0z47OULxObE5XMpxofKt6LysyvL/6pWvh2+J5bPdJHyZVT+nJXlT9bKZ+Gp6rxvKeMKDF1ANXbW8w6pwzhrddrgmVqd7FKd7nobDdVhLkCskkI82k9dUp6KhbhY6usyQA7MizK4SwaDMsCxATQO42FLe0vQVwK6BG+UIFvqK9ElSRv42jhFDhw5btAHPofPYUr1cyllRaEGuRDaQyIqYoLZhAyT2LyweaX7oxivQwypM4TqWE8TeYFMGRkyCkn4hQxx8KoYnrWd0W7DkHXvmv6ddu+2rlpwRmxnZthXWT98sHHoGrqAQzS6Nqq/PxK3DDatCPCJ+IOZ7lwqmeupRW50D/UXL8PBG7G1pXfiI3GtuRrzg2NsjCTGpkB5ygZkkyHzTTTU2IpSW9OFsf83kwx5IvD7gxOnt8m6t+VOF6BTGl9tlE0oRir9q0J2sOwUYmQwPw+J8+WkyJ++AONCeinILuP/leXz8FuxfNDPhM5evgCviOWbQ0Tvhdll80Uof7JWPgsvV3k5kBP0Xpxdwf/IhqduIX38pziG9GqbbOdSH9gC+3ld+TyUlmyy4qryi/+D3vJ15QvQtmST+USbbKFmky2+jd7+FslJwSbrLbcorUHrpPUT1setkhNWuMYKB60wY4UBKyD6mqxgdSoqNllFr5SCVAz3ITE24hx5f/vNLtptNfttcpI+JHy1eKt/LyDhJUhvtCD8uumfkvgfZ1nrTXFsE8eyXhNUvMqVuX0CRyLNjvU7DpbHuv30awSvVHp6zy8lB41SfSpwmWOuvejaNbjb0dfXVzo0nBiJxYbjidFYbCSuG7iof/CCNX4L09ztbOuOeNRDjelEt7v81YWJ4wMT8fXp9LoEvq6PE91O9piw/JwQ5WfVB2iMmP2KGWiWLZOfQjwFptUGkRd+t2T3uUQ7buOZy+fhH0t2X/Ds5Qvw+mq7b3Zl+V/VyrfDG1W7r5WUz7Kngf9krXwW/nQ6u29nvSwvUCb4LbIxyJoeZXhIq+K0WqfUKe4grYhAQu5qfUrY38Rljhfxyt43qxl5H8bZXngpbG7gJ3XJXwyC72UEn4fYiM2Ur2wyG2TNHDISLbKKQlExsBVZLcYPc+6ZLESJxWoULEQL2Y9jLBlYbO09MtqdcxRcCfytnHXmXfydLvtTwXByQ+svJ1qzT/qa4J4DpdFLhuxRTzy8fw365oh5E4tDDijpk7PF/0S/0wX+MR1F1hFfh78QWs2KvPBjkXcsNtop2m11cmFl+TzxB3F5u5UOnb18oSo7weOgsV3oVC/JhVr5k7XyWfhp1S60NdPELvQxABfUyzayr0/62CzC9IOqz6yAELILVdIlmPCe0GITnSHxcGEcR6MNc6yb0yorYlTc8rge9p8I7OmcWhFIQyJ7cAyNENlDP/PjvqXQnr5fgFkIoqmG9tTGcLI2hiw8WR23shG8MjRuZJ7UjRvpVSyjbwFeiBeTLYsXG5zCcRR0Ne/idckkkrUOxI2lcjPSsQYtFzfAVgPIDGAwsI5mztFQsRg5i7yCI1XoCuuvJUPVkn1JNGNdPlSufnHnjAkpcx9Pwu38g9DM/xhG+O3Jj8+JySmXrV172ZhOSNEYXnMxWfw5Wh6uZqhcM0kyNIT59DrzFLIfglQWWf6xssNt49zBLGfq5EymIBvn1O2cGhEvqBQdL2JNZJZL6NNbSqvBDgmWkxAyNlTxec7tW2khDRz0eitD9YFkdG81olWIJestFnt762yjns7OnmXxZW8JUa5AddAbYYLE3x8rzwyxR9ifsIyVBfZ3AA8DHAMYAXgJ4LsAmwEGALkIRaDRyxcAvg7wWfgK0NcDXAowhtwr/BoaARSIU6CBoRal8G2kLnEARSYj7mnOL4WB483NSobsLRQyZPuHDXTsGd2zIS/PbaBnL7xQWiph/tlBt0MrwxJdfUF5g9UKMisorZyyQW/X0w1SPXdCCmUpSKTQ+aoUHpXCJ6RwrhQm8XIdfvoLKVwoPSF9XMqsk4JTCr+WAqrRJQWHFLQigCJMFeEf3vIQNrLml4vm+n2d2zrxgmZXzOhymowul5Fu74zFi+hZZ8FlMjldRmMjsT999CTsp39ImanHyh//jP5hPa0vW51DCj1YGiRRCV1qk8xK6C8pgVValRHlXqVEouSOSGBB8rSEZiXQIJHoZdqwli4VtDPaL2n/oZWw2oj2Wi1j1nIFZPo/aQZzQg8v6d/V01/Ww6x+QU8X9fCsHr6Me7tFj4ikh0v1sF+PRPA6PY0KO/XQoAe9Hpsywr+tVRQkD2XQXDtE9jS3kHl3CN0gJ6GCcRHB1rAQ90LixTIIK38O2BuVPmbAm7Z7Wt0N6FtvlJ7UagyhcMbu1ocKxbOfabT6vhuMtON054Gc5IPV80BQGWbgNGUY+XtvVcskkYzC+7saSnVCxuorGuGkJELWEgjWkiwwGVJrSk2tBlfIAXzIqXObNzlGGY8VK9X6NuT3sRohomF5RnsyZ27EKhi1QttGJW4rVs64FSJfk4s3U/dRR3Us9SxFnbqVPEsAD7NE5n6f7L18n/rSiufPkufPVp8v3gyzqI0I9ewif+pW0taXTgmxu+PUc5CEB2p7Zgi+fB3bfry3t6Wlp6flud6WZA/62kv2fhbfoa9G7fkpPY33aPTUa2QPB3GOcO4HlQcfvEZJUZt4kpAxkxWqp9Of/3watC+23H13SzVXPo90t1CWEcqSFS22+LnPpZ9+ehcq+OKLFCxuXHwbzqGfQ6TSPAi0rkJSbzA1ImCFf4f/zvEtLvqh4KkRBJ8TtkA72R9Tkj4akd21lf4GlaDGyulQQf6CnGblXBPra9P8RENrNZxbiyw15KzEtEUtzWpZLW1yciZphY5xtLq67CGEJZBQFzHeRcj4I+FGuSwOfsFHplQDENiMOYCPGUJ/yAI8vXVw8+gV8+ZtG2h6wzbzlitGIuOeJlfGPXbc9eqbDPPmq64PjvV02KPFAyMDbq3WPTByoGgx9WnVG8cHzDabeWB8o1fQi3L4HbxEcoXsyDPVmOwyNa2RyUkGGw6aiaXFA6oywhot3udFgjKDD+TK4WOxiDEw1n9/T/wTnWW63NlM033uPppupu9oanrklTvueOXi+Be/GL+YnOHyYbiFaaVk+PwEkZaBgjWgD3zzU498/dMD9AceeeSUqXrey/morFkoK0TvFAgcbORTA5/+epT+wynTI+S8oD/A68iPWzU/8f5zeoDwrJhnpaNx1tnKOS6u7/8cvfdTSWR3sNRR6s+UCUcCgVwjbZLMgF5KUw+DjaqaT6iNONLHo0yQCuDd8YCJczg5hyPAqjiWhA6KvnzNUiBxtkveer4+bXr+24cOffv8fzu8buqiiWvHx6+dGNoZbFXxf4WjspbMga/qzv/G+ehzaN369ddPTFy/viXYuvmgu2nwI5kLEBwbF19grmDISmzZcbUDMg6wOzi7HZnv3A0+8LFq7gakSpF2iSXnaxkrkuUBwEuABQhYeJHtim8dPPitQxs+0vaBNVt6D/X0HOo954jmZbiO3fXA4Sh6c+hbB9uyR7r7LujtvbBv88jnI8nDX1tYygeYpFWUjoqW7XjvRabk5J+QPS+jUzIwyeCHstdlmKZY0mdiiKbJFTHSMiFE2jCdNWv1jWsmkB03kUgzM5Lpfv7XAt860TykEWFNlIvSPWTScKyNY03VaNLa8DwgtdSycYiBY33hSF9vpW/TQauKvz06sz59jvvA+jlF3u/paQbdwNHhsSO9XLf7xvXDnYkhqNg9wQEcn2NZZGjEQMQf9pR1LotXxmlSnEbjxbkv3hrNhVjj/8tsl0ePOHbr+lp7RiXm4UTPhYODF61JDJslBz56ILkmFFoTaeptQp9TW7qbw23rR8MO/8DRoeGjg357jA9/6HqYig4nWoabm0cSieEown8zwtBtjHxlzGvzhRdijSTgz4Lw14TGc9p9/rOkErxw8eDgxUND5NrUF43iY2DwVdd/dGT0aF/f0dGRo/0L0eGWluGocBX6dKE5cy+yQSLIEy2WgwZkZhuVsoonyXnYitKj9NgiBU6qU1QiNpbT2tCEI5lEyaUNVbydUMuKW0ppIvHjJGz4/fLk6MvnbZKJm8LJK6+c2rJly9rXJBLrlo6+g+XywT5/nadCMuauTJBcKLhvLDUy+9O+pey5ZU4Lyc+i76Sfp2JUoewJgSHK+XF6ls3NGWwGmzwWdggZWlDNz8okM+Jg0mkh9f80eVqny9vSr8zdei02moj6TR6LD4/otRWJXMJXuTwpjkPM60I0kPwewVukRpEGS1k0EQOHDD5ZJdPLZdhKnOUimXg8E2Eai6NcUVlpDHAebSMyqCs6qQk7VwhqvOwUq53RUh3HaahSpczKwZ2NUsyjOBHjE5hSk69NLRvzltHf1vmZqxIda2QjpKtDxwoqrsqBRHSU/DvCSyfVX47mwdDBZTAd3RHOzVasSc7gtlrdBkbe2Zbwr6BoErkVq7BhPMvAV2QhvR+Zt4y+tjwB7SYRMatG+MLKvLR6fIhzEDmT56BxJqh25AcHMu3tMfBHOAPtJ0zrt/lt8kQ0eBquXca2wgkcZ+dcn77GCFSdKXgGPk5B19RraGD0hwIBkm92RpbmaYHE/Dp6Omi3B3FqmsjfbjK+NqqPGig3dff1GTQZBRcwZmSVaJLLRDNRe5uUg7aY3cM5tXawQ0Wlw8cEisOMrRqmpJYd975MvWLcWMzXxxDdaZXbFR7naysZun7wI73D4sBfEbLs4O3T8XIdHnASHtNWw4DAx19B488gCetLgKGVa3ZgRraGOYPVYJVnkkHP6fi3OuizcG99Gt/ZmLaa5HdGduU7arl/KxiVjIMZQuOIYrkaAEOE85JhuIRhREP21aP4Z+QqHsNZIT8zyKdSyyAleU7MUwjOHnwCbUHLepVcNqXzhuOcV1bxhr1hS6mnk+tpUDdZXJxNawHL0oxKxjK1QCFyAK0gRfGJD/88p61OnGJ25Awm0/sw2mtTl1yiMwYbkWeIk6qM6SDEzsJnq3KuMH0OIV3eROXKHgiEOTogq2isnIatBDQBDdvUaGA9nBabnoISr5FH0OHGFSr7jPLwYlFVW5AA3D450BatCsApQTefUebV5B3tJnmyIWQh29TuAKdxy3CenNvkNoW8Fm1tLyWZEfkHw1cvraSrqVCNIn1aTJXlP1OPayzG6nJ2765HqiC5qrJKhC1F5cseR8zCOWOyii/CxXwxnzSl59Qpq80QWAKxVC+gVoJJL5dTudPKpBrEYnLvciaBrtPl+gpSqH4QS7m/mA8OID7wYOyCo5FT0g5ZxeFgPSYta1nJAEkyOeuofwZ5IhD9jfOe/v7uO+aWkfs0MqMKB60i61uRsgV0Ro7WySo6HWtuQD5ZPRQEiOUwrO55WZdLc16Y7/SHif7MlBv9CqeM8yidsorTqW9ORLiE3soZtXrQQ0WOo/KRWIrVhi3M7nDujBN75USmwzlD04pZvDofciVtyFSNGatTFZ83gS6/JGcINCFp6sVHCNiIcRPg0FQwuA1ueZNllTitTVeCLTjDaQKw0m+DN7duJfCaPGZ/8oorpvi1yzy5Kqw1y7TOtRP28SQWHLNL/YqsA/0WDolnZrxFP07ySZupZNmJk0kdLHIevCFOqfTiBFMkb+0NzdhExWATrIuwS86YY7oKenrryqzTU4/Vg3+6HFRatsw5FXjkc4RHkGx0y5R+zolBVSoJj3gVlTo2EZAdW8Yly3Jiz+AKrMqTrZPvWHWtTppd5RAsl+cI5isRflNUa9mRauYMMmUIzRsEdkqZUjYkHI1WrlHTQBGtJfIGATe2Et6VOPZXNdoqkH8zefy43hh027VumydvMBl/sxrqekQjVZUJIIZfAhyqOQAkz1ivpAxSzqCsqBQ4P91e3cQST4tbmfwrbmQVp3oLQgqwdabgLhjxxhXP/2BkoGU0Ch6eHolk7KbOhxFvuhffggk4rEPSZHGR/wJZW8JR0V+FA+iZvP4ZaEm5hqVnqK6HPFPUnjlQuTZSV7mi3H70TIWefb72zAsfRM/UQjmS6/AG6uMAPq/5BMnFFfJpCmSNjgl//qtv3auDQLFAjsET2/CR/rV1fb2O2sXPdGK7OMdkGjYg3sU7xLqHxBSTM8b/121EXNcfDPanUgPB4EAqFo/HmuPxZpjOz7a2zuaFa3FDOr0B/xL4hbwDsr4nrtWKZ00fzIZ2tK2hj8RS6/gbKbEs6BBMNgSRzYxMDE5jq56ttOI8U/F8b3PAfq3Z6rXZArJOxUA8PRx0bP/8P+Bfr7X4TSaXx22PZ4opT96xvSi0Pw1e1H4Ir+WFZJxaw6nVIaeZc4bq1vIMdbE4dUFqtX5ZooT3j6g65VG7IxJyRoN2j8cSN7SruxK53paOsTxMp1utXo/Pbmtsc1nMjoQ1FC+2tLi92VwZr2kJa83kzGhrWVE7M7qh7vRzRN+CmG7TBQH2qXu+2tXaukayA+6Kv/WHtpErrr+eEnE2Azjuz43H5JZxVhWHHFikF3XuM4xJyCMxB1hxPIi+54+qu2QRJ84XarK32X/wGZXCb8gOBbsCMJNosToamxob0Rx6tG1aoexvC3b4BH2D8ekjZ9x5cKSx0cPZlZzdbmSN4kCqrER2PvKnZaej3UGr5bzMTIPe3+YLdQZcobDLFQ41wrS/w99YcP9r4HxZoN2LbopNLmdTk9PVJI57Hfl/JFbMCycI8+LWe966Fw7UJgZDYPUT3goi2ddeDhWC8EIQgkFoDnK5Zog0v9BMNzergimwpThbsxtwLgLW7STBDB/kSc5XEMZTvxsjbunUD8pSd/Dzse6wy2GwDbe2DtkMDtf6nMXrsdo8Xqs92mxzRJucMO3K+B0tOmXUnOrsTJmiKl2LI9P9istkanSZzc4v+WxWn9dm94o4H0c4f57gHFGc8XD348wJpVFp55QI3CQ5Fh1PmJVHC2qhHsSpWaUOY7wrEOzCFGgNhVyN4XAjHKriW8T/4xjlGPWCfMmR/0PhGzqaMkowHa5DQDUK558/wCooTqogmwlkFZ/M84zZd8NtR+Pfyd/CVybgVXyy/J0TQlvnorpO0pa5G99Po7bt5N6SxPe96H2BvgfdWy3V92Fyb4vi+3PQfYKUtydIe+g+QN47SHtb0H2cvHeS9f9N6L6F3LtaMOzpxduoX1IX16+fFjJs4Piu3SMXnySxUbdRPyPnTWvxTpewE7csMR6VvlzMEPPvXBisO1X67yeFMc4tvkO9SB1Ffer9+D6K2vwJdbGOBuc/MD3x+5+I52WrT+itYmZS5synZX8wVA3AEVPTTntadq0vWoL6cr2L722ow80EP7J3Trc/Mo/eJ8n7Xe34foaap9N0C7rfY8T3GxdvoUOMDt2zOXwfQPjcTfD5ogzf70D1c+R+dyfhFXS/kbS3NyzQO083wmvoXkPotZ/6A+2BNLr/GaH3B6h+2gwvovvP5PCcPY8yIb/pfeKYqPeJY4Lmfz6QicD+KO2Fx1DfXnJ/LdVGy+A36N63Ft9fSrUBT+49Q5hu5xF/s5o3qV7Km9RKtCJ8JG8SVuRNgv90iZMCvfZS+2gL0v80dSCF/28WH8Ivt+z/ZkmW7Wf6v1mSVXH//+v/ZbmaHAkQ6g6hz1Z4NMv3DcVibk887gGd8IqcHOBpbvaQh/fgoqVgsIQr8AeF/5flTzjzGf/yDfWvi9XHZNy7F210hD6Jxr0Pswx/gj60+LgYL+krm/RHpRCT4qT130sltmVp64cyy5mgPhaSf35lwvqqKEgK+B/R2xf30C/X7ytCxhrgf4QPPXwZH3oIixpU5vblZfDM/yZOUCVFUDv30nsWn0RlGijNiQYGEPXwchturRZuwt9bizc596KLpOUyHusP6bWLtzNOMtYbygvXWp+y0oetsNcKYSuYrUAL0SfX6Z/Wv6VnjuphQQ9RPTj0oNYju0HPKaXQ/lcpPCuFOzGajklpkxQel8KHcRwKFKVwN0Lbu1LmWilsxQVAgU8jx2fSLwtD2VJNmp+vpqKmWukzxKL8VYxFIWEnOBZlbVcsRp61CbEoJhfByU30wuIv6F9RJup35btYmczUJoEnJfCwBO6UwJwERiXwlgT+RwLflYBC4pA0Sxi5RKKQaKA4pYE+DfxaA1/UPKihr9XAYQ2YNSENjV7KTRpOaYKiSf8NHSR15+tu0DG8Dn6rg5M6+JbuBzr6Zh3oyirdUKcOtDqPjpbr9JQCijsVMK2AtAK8CrhfAXcqIKWAFxXwhAKuUsBWBcQVoFiKzxHQUhJOxxbOn00uoelQLWalGmCkJ2Kbrgat5OtiVm4XY1Z6omLISk8zvYBDVgodOGKlg8x//gRjXnycuVzHUhx/hPoaweGPGOniHuaqGu8l6/iTuepSXG9Rg8rczlyF6h3mL8D1UFv3MsrFJ8mzJ/iLxGc3MarFXzDXoWdP8RXSvoKKLzKq58n+Nt6tG6QWqOPU1dQnqTupBxA/ToQDQXZhnAuYuEBggT3+Ae748QW28EmuUFhgB+/kBgcX2OkHuOnpBdbp4JzOBTb5US6ZXGBLt3Kl0gK75d+5LVsW2IOXcwcPLuBN84VlUuqfvYjS7J/aZUeexcrTo70r7iVn27cNvt++smTFpq73LPdn2/eXX3ThhW+/WbfVCu/U37x8xj1j+v732eF+u69uw5bm6m/21u01v0/QAWN7761lO7313/94hj3qP55+Y/2u+k3i5de6HW3q/wDKYGr9eNqVkMFKw0AQhv9t04qIHhQEe9qDeGtMW3rqqebQS04p9CgGuqSBJVs2baE3H8GnEE+efASPPpR/krUS6cUsZL/Zmf+fYQBc4B0C9XePJ8cCZ3hz3MIJPh23cSPg2MOVeHDcwbmwjru4FK+sFN4po8dKVbLANV4ct9j3w3EbQ3w59nAneo476ImF4y5uxTNCGKyxh0WGFCtsIKkNMMCYNGPW8F1DMYp4QvikKV807/igKqpI8Vb02vG/ZCVCs97bLF1t5DAYjOXMmFQrGUWhL6day7hMFTJWhbI7taSg2XGOBDk94YTzJGdQ9kmxZU3CXohVutWJbWonjejHp/9XW/tO6qt07x91+51EHneoJpMH7aLaQsHtGKrKjfrcaYARU8oWmcnl0A+CEf4zZWO8b66qbSp42m1TV2wjVRQ9J8WOkzhle++9eB0n2SRbUzdbstma7bvesT22JxnPeMfjZLOUBdGrQEj8gWg/gOhViPIBiN5ER4IPvujwAXwi3nvjtbHESPeee95t58nPqID6/vkeh/E/H7ulQwUqUYVq+OBHDQKoRR3qEUQDGtGEZkzBVEzDdMzATMzCbMzBXMzDfCzAQizCYizBUizDcqzASqzCaqzBWqzDeoSwAWG0IIJWtKEdG9GBTnRhEzZjC7ZiG7ajGz3oRR/6MYAdGMRO7MJu7MEQ9mIY+7AfB3AQh4T+ERzBURzDcZzASZzCaZxBFGehsQIP4lpch1dwN37A9bgdt+AePIyHWImb8Q2uwV2sYjVuow834nV8Rz/uxSP4C3/ibzyAx/AO3sLjiCGOO5DAe9DxNt7FR3gfH+BD/IgkPsXH+ARPIIU/cCe+wGf4HGn8jF9xE0ZhYAwZmLBwH2ycQxYOcsjDxTgm8BPO4wImcRmuwOV4EffjIq7EVbgav+A3vIQv8SSewlf4Fl+zhgHW4mk8g+fxAt7As3gOb+IGPIpX8RpeZh3rcSuDbMDvbGQTmzmFUzmN0zmDMzmLszmHczmP87mAC7mIi7mES7mMy7mCK7mKq7mGa7mO6xniBobZwghb2cZ2bmQHO9nFTdzMLdzKbdzObvawl33s5wB3cJA7uYu7uYdD3Mth7uN+HuBBHuJhjvAIj/IYj/MET/IUT/MMozxLjTHGmaDOJFNM0+Aox2gyQ4s2s/68ZYTDPeEC9nvYGylgawHbC9glMRIORwp4ifd62NFWNZB3bL/mOPZEPhtQmLAnLJWOtLRXDY8MDVUNJWzXNxgy7ZTtHwzl8lndqXZCmun6dHXoS3lgemArqExGY8KS1cKiMeXTyhvKjyo/prypvCuq08IMYaPCxoSZlfLcEVOERZMicitdgW7UVTds7e1ruqA7diihW3bGsDTXdhptSy/j7kRZvtlNO3pZRVPSzjvlB8Z4+Yyccb5sRk4f162yE91Ipd2yIZZRLqRBKbXyGd2RNCh1lphUWWSNnsYib1AK/0OlvlKvVFfq9bSVuKes1Kx0FalfqXKTPilHgNThJms8AW7SrzZLlCtFXu4SeW+JCLzpokCNdZOBuJ3JaPJ1BHN6xojbpm1JFhCvxrATssWrUIFMusn6UqWbDAppMd3JGSk1P5fV4kpIXLfknrp43nF0Kz4pdyVs09SUPPmOZTbn6o5pWCkpdVIp9GfNfE5OEj+DCuoyedM1sqY3wRg3Erq6yLm8ZoqgNuXompgiW009Jzvq5YhL7UHxuo24Zlq2lFMrrlVQVpvT466h7uA9znBnIOVo47q4byygxfOuigq5SAF7Aq5hJlSmrtAVimvZYLFTsWK3ZIW6iMoUu1Vm0LZTpvev/BeWnuwcAAAAAAEAAgAHAAr//wAPeNpjYGRgYOABYhMgZmJgY2BkeADEDxkeAXmPgZCR4QnDbyD7D6MdAyOjPaM9kP2NQYRBB6jDhsGLIYIhjaGEoYlhAsM8hmUM6xi2MexjOMZwjuEawz2GZwzvgPpZgPqc4TTIDi6ICFM9TXjoNhJH50PpIihdCqUjobQL0BZGhhfAsGAAAPKGIUgAAAB42sVYW0ycRRT+zl5/FliW7XahK12WFWvFSpE2pjEN1kpJ2VIgCLUhhkih3NxuG7o21hjS8GBMY3w0aowPpumjDz4YTUwffDDqgw8+iDWxsUZbL6j1Xi8tfjP/D/x7I9y2ZpM585+Z+c4358ycmVkIAB9elhhcrW0dvYgMnZ5MYufo5NHH0ZkcTKcwBhf7YG4OBoXAASc1Hnj5vZoWH+ShB3tjiBVoV1qBGyVDg8k0dg2njh9Dy8jk4BBak+OjgziSTD1xDGPJ40NJpFidRPqE0jyVVuUZjRfSZYBluYXtttBLaL8UZdT7dZ8NuqzUJXRZoUvRZRDVaMb92ItTmMIzeB4v4FWcx+t4ExfwHj7CJ7iEK/gRf+CmeMQvYdpRI2dNBPHp7yrpl1nHlNPlPOtyuaZcs+5+9zueqCft+dAb8g54X/F+ZpQZLcawcdY4Z1wwMYy3LPmxJa+bsqTBkmOWfMOUPsOSE5b81JSlPZac//7X5FYWt2SDJZstOa2jJ+VmFKXCZcqA32wPRC25m54F/RtChJqY1m7Uvtuuy9NW3YH9qKOnQ2wNo4o+3cQRt6GGfq/AZkTJy4lhjDBCF3EUo4zN53gJbxOzDrU4iRQjN04ch1RKhKY3yw7G0clIbmV8dqMN3egnQgpPYhrP0WrciqaKoUPHuUZzLVbNtOTUtXhBXv8HIx+2oIlruBWdOIwjSHItn9HxuhUesvslVoDLrWNRgno0Yhf3cwcO4TFMIM2WaBE9YZ9/NK/9Yls2uB634T7sQQK9GGA+F92+vnbt86zJY7M41rxcUw3YiRZmmB48Sm1knWZmn08kx856WvBwXSxmC2F2XMsM7Lyrs7DXjurm1/wOFubylTO18wtn4K0WycX4mLvKPPeXh2PnEbJhrGy0kz5WK119LW3Zbi+4MG45Ixz0U8y6zeT2t+MGrL6Fe6m5ir75zOvs4/0LNyd7i+jTXY2r1yd8eAnO8/NTOcDsm8lhZsHjDr0ys/uwJl4JZPUOU5r7r3D//COrGdn5TLScsflRIlyni3l7ZTj5EWu4M+0n4Wox86NHma8y7x9rx89vKcZMb8+LIzixrrbyW43zHM08XSbxdJHs5mdQz5tM9jk+hWeLziGXjbnTgtb7pSrDtoM9Zli7IR5qc3dylUZxFth/HvyWsXs9+C6jZ3Hu9BpX4lInd0iz3CVR6islKBskJBslLFVSLZskIrUSk+1yjzTK7XKn1MtW2SH3SpPcLdtki6gXTZ0+W9Wbz09GlXm5Kp61mtEwOY6Q5Th5ndQ8L5KvyDWOD/P2/iLtTctr8q5c0neqRiTkAfq9h78Eusi6S9d6KDsoW/EI93Uf9Zf51izQRoRSG8LehX7CvPVV4XGcT4w7vIkrcA+/uqkd4AwmuPtOcSdM4xo5trP3T1p28X2qZCd+0PIgX6dKduB7LQ8wskruw+/0f5eOeyd+ZXkQv7DswM8sD/CN6yDmtyzb8Q3LfSv0xNer9MSVJTyh2q8u0a4YBhjB63qG7fhLz+FPPQcH10cZ/tGav7VGdD7bz1pCI/axRUT1CzLHdeMc3/3v63HRgowvszU7knaNi6s8zpzZtgSCkaFvyNEk6EtPjpeyNVczNIp1DF9yxofxMFH6NPJie2ZLIgPLo71i+uSQdcIb2sYXxF1859dwRjPMIIaUiE9KpUzKxS8VEtCZI2hlDtXrA9zATcxxIP0rTnGJm1nKof+tUTlWZRn5D/8+UWEAAHjazVp5jCRVGf+quqqP6mump6en59pjFnaXhV0u5Vx31w0iKIoHKqIQ5ZIIAiEYQ5TVJSauJGJc+cPgRNGYDYjAiJKQkbConWiitMgiaTFrtEJEsVEGsVH7j/L3fq+quvqcnhlCqF+qu45X7/i+733Xe2KIiCMXyZVinXPuBRfJ1BW33HSdbP7ETVddK6dc9/Gbr5ddYqGMeJ6ossNcG9deddP1ksSVqe7wG5cCfpMSk81G0byE10780fhfSnvnnjz+iydcs/2k7Z/cfuf2GkpXWVdONstJaHuXnCNXy+fkLvmePCA/xvmY/BLfFz1XSl4DNY6j/2Wck2Lj6yKeJfn7Ba9hJLy6kcGZxZnDfR7/I14dJYv4nfGek30o+XldWhKsdbf3rHrqf9vAtw1800CbE3g7ie9Mfj2OZwa/UPdVfIc3huHVjBieGfgOvxhHToroY0km0MtJmZGNskl2y1HDMnIov4GjvUP+hNZToGBdug7PRUvtT2od94v8rbeeB1foQ/CkErxBuXpXjVVyKwvK2OiRA1iSB0wZAQwZBUxwsYD3NwCG7Afi8iv5Na6fAGLyJBCTpwFT/gjY+Hf4TVzGANAXMEGLEspNAAZoUga/Jsk9VYvFWix+H2e7NupIoycjuC5AHi5D6/vZ7hMo+TTKmdbFiormI+bLKDtHSgSoySoPUiS4nvcWvAZQAxreQXBkEf91xRlcVQPa9qilEVC6F2d7le7kjH7e/65fTbKGI+xzo11SOvoxzIjqUSooaQzrrnZSe5j6erZRW80I9ciC+TGYXn7vh5SnoWlvYsareaFnRIozwuaMsDgjkjIFGDINxKA5ZiRu5KA1EvjibLxNyiznaI6zM8eZNsIaRznTpqB3xvGtqnec9RZZ7wTrnWS9BTkGMKBtN+P9NqAs24GknAKU5U1AWU4HTDkD2ChnAjE5C7DQi7PR451AHHr6HIzhXDlPMvIOIC3vAzLyfiALC3MRrj8I5OVmYIN8GlgvnwGy8llgRm6TL6EnB4CEfBkoy53yDfzeBZTlm/IttP5tIC7flXvQ1r1yP+p8CBiDZXgE14tARn4OlKUCZKhT1lGnrKNmykkNcOQoUKKWGTGSRlJmjJSRkg2GYziy3kgbaZQxyJ9Ac0+BWjOgvgENY5F7SrMb8hBkNwbtX5O93oLshxQri7df7hYzv0eVzNyYvQA17KUEHfY1xn3QKEdxPe8tQXvb0CsVPHXx7Hn817wjeFf1Dvnaui6v4UG5V5rmD+3aJmhFv+fpaLvhNcM5s4SzueYevNRh35Z06xFt6bKluvf73tpGz992rLgXLjnS0DqAI16K1sazGY7eDbWZS664ndow/HZofnWMSWukeofO0SOt96XDUqetaf2vRNe36CpOa6whrdv78Lz2KGgFK74/YftypcseUjqddAJ9+9vHaI3awoYjbwa1BaNucTlSquHb+QgdWlYnoGlvL6qnjl/qrKHTOkclrcuLWlr7zHxd+rBueHmIaoSgBX9+NLttau8aorIzjOfQ8lr5reKcE0pCI/Rij6iZGPgPnXX26kW3x9DtCUdG+TCluwYtvEi/b9F7hdqwAt2t/rWO9vvgzbM2t7+HMEj+elNE6yZ6mbX2Wd6lozrnBTwV2JKafo+yzRa//HlRb48Llu81uWJzph7tP7KWlwR6HcT1ocjo7EBCvX04F0hXaAdFu+E1ZosCnbpT2Sv/ztUlIyVe7ScPQ2vrgO5uoAE7dRhkZqlT1v1v6mvzyLvnBeWignmxoCjZkmxQ8zDoWvF5UPOt22Hy4SDuH/ZeVP4G5VhJcs076Ft5pa8XdV1ajhnxtEnfyi3K8G8j+r2+IjrU4YEVOQI3UtdRn19uQAfec3yY0XWtMXiqd08pX0xTknSphnRwI3IXiZ079IvLPvyirQ+UQu0XBPf8P8K+LnKORvugatcWteLfV9v0qtvlpR1t6wHntG9Jg7Zc9gK907XoFgfIdz3SQjSfUO/Hu3bZUD4rZHI+yEn4tH8Yz6vheGq+bN7HcvO4v4+RdZVx9SLuqt4BnxcLpEaFfaswSlwKZbrR2eNOm9XhndUDbq5k1g8fzwUapys7s6w0K1nsPcc0z3pFzD3jyWPkWEBHc6ZsAWKyFbDkOMBmfBeX4+UERFgqykvJDsCRE4G0nCQn47mK+zJyKpBl9JeRNwM5OQ3IMxIcYSQ4ykiwwEhwjJFgkZHguLwFKDGOsxjHmXK7fAXXdwAJ+ap8DdHlQSAmXwcSjPIyjPIyjPJGGeWNI4K6G7GXiuYsjMmWV/HmdIzzDDwd5YjLOHeg/R2IDHciGhbZg1EI2hfZjYjyrYA+VP/XMRupD/1/Qkg7wz/PRG9jaM9GhBrH6AWRnzpOxbkJ9EwTSVBuC6i9nTRWFE6DWmnQeBsoMsaM3xxocPwAbiUw2pPxfxauokcW5y5eZUBTfZyIvrewPhyFgDNC/ugxBFDXMR9x3G1B36NIhzgWkqJkZppjCCA4x3yU8HUJbw0+bx2K7yord4r/OwUunBz22LfE4Ev3kRyIrUSBGWMLNFa8vA0SMgX5uBstKHk4Q8zM1Sq2Tu1xfgA+bwu8HEJ7yE2VHV59/q9NlzR9y75EPVLx2wnwqG/hm0NlxOiJRf2x6Nz2Y83I71C9bMKiN3Wt4ZFfo7Oh4jmVDbYjUXFzWR20jIYEnvf+HPWGfE+s2B67Uts3aKOLeLcYWLf+9GwbvRPqeae79DDaPZIB7fI1+3vvg/jfm+9rlM7+dW5dQ52DZKm4Gvvo03Cp02ca3uZ2z+MW33VU0YvbKx97iMZrx6Mg+oLk1zmHXu625YG/1tdDcLX32R7ld+mlYJZqXVjTXt9y8hZKb1BnPcxjRXUdNSrnYbNb1/XufUSW7B6ytGl1OoSRlorvHHgBaqWq1MYtu31dTHmVvD5E77HWU15tnnaHTq609EowH1agk1XOoum9oH5Rs8rT29RLdqQ9e6DMN4ajZx/PsTF0P0VLET2FZdfEgkyL8uj78r1bZ2YGrd4Eubmof963n0ur1iFuz6xjazU016nF2/IHi5QI189sKI+9MuTYddsO+e1QR61aT608h9Q3VtgpbwMMORcw5e1ATM4DLDkfsLmGE5d3Ajm5AEjKuwBH3g2k5UIgI++R9+KtWufJc51nhOs8o/IBoMDVnjH5EFCUi4Fx+TBQkkuACfkIUJaPApNyKTDFtaBx+Q6QkHsAS+4FTPm+3I/rB4CkPCg/hO+t1nym5UdAjis/ea785OUn8hhqOAxMyuOAIT8FJuVnQJYrQpb8FTDkb4AtLwCG/B3ISR1IyouAI/8A0vJPICMvAUVZAnLyMpCUfwGOvAKk5d9ARhpAEfHJf1Dnf4Gi/A+wpQmoFe/z0ecU/PYMME1dMMs1u1n6uRNcm9vIVbnjEDfM4RsVZ21ihHUMPe1jGVttRlSzG3XsAaZlLzDJdTeDvBzl6pvmn0n+xci/UfIvS/6NgHsX4oniXIGcs8i5MXLOIudK5JxNzsXJuTI5lyDnkuRcipxzyLm0fAyYlk8Bc+TimNwKbOUegQ2M5jaTr6NcuTO4cqc5mgNHHwQ9FsDXHPk6Rb4WyFeLfLXI1zL56pCvo+SrQ74WfL6qlb5xqQJb5DeAXvUbl98CW+QpQK8AzsrvgDl5BtgqzwIzXAecgFyoXR6vgn8FcK+JsZtc17wU80WNagojeATjXESrp7LVnfimiQjFTF6uopF4Mf4cqLdJe7TyBjq6s5Kr9N9rgzJIr+N46u3WYrD/NIAqLnPQlUh+zV1ZTczacUWglYUN7Zr2oKrD1hhd/3stcsWRKKu6wi9rXN2rdVr/IH9H37LeyvEtU2NF51X9uwPd1rFv/sttq6Ua9ALlD/jrtzrT7/r9qtJX1li2xmiWcmXZd7W2wexklX0/EK4Mu+F7l1nchs52qj1C3TzAu30Rb2N+cF+7vTGdwe/hTdXbo4Uh5rTO97tvBE01OMO8nKTR0z+Ic96XikqQcWYGutLOBz6r+e9rkXXvK0ndhXbq+lJYZzbbXcYLM7lPxGIu0Yb1jXMXnPL/svQDDPxn6QvkYVnVLrsYfYIEfYIc7NQ61jEHW6us/gitvkGrP06La8gVQIF2V+/Ki8ktQJLWN07rW+ROuRitY5rWMUPr6NA6pmkdM7SOjhwBRmkjE7SRNm1knNYxh77s5q6iEncMJZhjzjOjnI/sGMozZ6zzxDbzxCP0YuL0YmLME6foy1jME8/Rf9lAz8Wh52LQc5mgzzJFn8WktzJLb8Wht1Kmt+LQW1lHb2WS3soovZX19FYK9FbG6K1k6K1k6a1spC0vc7dRglnqHLPUeeah88xD55mHHqHnYtFn2UCfxaHPMk2fZYY+yzR9ljR9lln6LA59Foc+y3r6LFl6K1l6K7PMX+bpPTjkxzj5USQnxsmJIj0Rg57ILD2RUdxtoSTFuRsyQ8nROyKVnMzJLnBnDyTjMsjFFZCHGyAHt4b7JKto4UnU/xQ4/DQ4+4zaNYlftY/pGtmH/zQ1wcIAXaNXaiN7S3wt2wg0cp9IROXTk9z7q3xgg/lnk7un9M4zJTsm5cWipNiUlDglxaGkJMjPJHmYiuwSi5E/CdI4RRqnuE6gsvOb5Fq5EfU+zjFug2Sq+ab37lT0On3gzVBTBvl/E5LX2hFnUb4t9jFG+bYo3xZXQ2z2Ok4pT7DvSfY9Fel7mjKdifTapLRZlDaL0mZR2hIcTdpf71ASkOFOsphcjt8dHEcJfYqF2X+TOwhbNDXCdQwrQgG9W63AnYRGZKWjdQZtnMaSZbZltPFPtWKylRg95mhNdtjWs8O39n+9JfMNAAAAAAABAAAAANWkJwgAAAAA1YO2WAAAAADY2izo') format('woff'); + font-weight: normal; + font-style: normal; +} + +/* Logo Font */ +@font-face { + font-family: 'TypoGraphica'; + src: url('../fonts/TypoGraphica.eot?#iefix') format('embedded-opentype'), url('../fonts/TypoGraphica.woff') format('woff'), url('../fonts/TypoGraphica.ttf') format('truetype'), url('../fonts/TypoGraphica.svg#TypoGraphica') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* ICON Font */ + +@font-face { + font-family: 'argon'; + src: url('../fonts/argon.eot?u6kthm'); + src: url('../fonts/argon.eot?u6kthm#iefix') format('embedded-opentype'), + url('../fonts/argon.ttf?u6kthm') format('truetype'), + url('../fonts/argon.woff?u6kthm') format('woff'), + url('../fonts/argon.svg?u6kthm#argon') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +[class^="icon-"], +[class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-expand_more:before { + content: "\e20b"; +} + +.icon-menu:before { + content: "\e20e"; +} + +.icon-favorite:before { + content: "\e291"; +} + +.icon-spinner:before { + content: "\e603"; +} + +.icon-delete:before { + content: "\e900"; +} + +.icon-edit:before { + content: "\e901"; +} + +.icon-use:before { + content: "\e902"; +} + +.icon-loading:before { + content: "\e903"; +} + +.icon-switch:before { + content: "\e904"; +} + +.icon-error:before { + content: "\e905"; +} + +.icon-dashboard:before { + content: "\e906"; +} + +.icon-logout:before { + content: "\e907"; +} + +.icon-Network:before { + content: "\e908"; +} + +.icon-services:before { + content: "\e909"; +} + +.icon-system:before { + content: "\e90a"; +} + +.icon-vpn:before { + content: "\e90b"; +} + +.icon-storage:before { + content: "\e90c"; +} + +.icon-statistics:before { + content: "\e90d"; +} + +.icon-hello-world:before { + content: "\e90e"; +} + +.icon-angle-right:before { + content: "\e90f"; +} + +.icon-password:before { + content: "\e910"; +} + +.icon-user:before { + content: "\e971"; +} + +.icon-question:before { + content: "\f059"; +} + +.icon-docker:before { + content: "\e911"; +} + +.icon-control:before { + content: "\e912"; +} + +.icon-statistics1:before { + content: "\e913"; +} + +.icon-asterisk:before { + content: "\e914"; +} + +.icon-app:before { + content: "\e915"; +} \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css b/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css new file mode 100644 index 00000000..81dbb150 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css @@ -0,0 +1,11 @@ +/*! +Pure v2.0.3 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/pure-css/pure/blob/master/LICENSE.md +*/ +/*! +normalize.css v | MIT License | git.io/normalize +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto}.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:rgba(0,0,0,.8);border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129fea;outline:1px auto #129fea}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0} \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/favicon.ico b/luci-theme-argon/htdocs/luci-static/argon/favicon.ico new file mode 100644 index 00000000..46113368 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/favicon.ico differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot new file mode 100644 index 00000000..efce636a Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg new file mode 100644 index 00000000..c555b759 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg @@ -0,0 +1,1191 @@ + + + + +Created by FontForge 20090622 at Tue Jul 23 03:29:07 2019 + By deploy user +TypoGraphica ©Sharkshock Productions 2015. All Rights Reserved + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf new file mode 100644 index 00000000..e11f89a0 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff new file mode 100644 index 00000000..fef38ca0 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.eot b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.eot new file mode 100644 index 00000000..e28f6db5 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.eot differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg new file mode 100644 index 00000000..1e12b5f6 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg @@ -0,0 +1,38 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.ttf b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.ttf new file mode 100644 index 00000000..3d062dcf Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.ttf differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.woff b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.woff new file mode 100644 index 00000000..ef1e9c2c Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.woff differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/android-icon-192x192.png b/luci-theme-argon/htdocs/luci-static/argon/icon/android-icon-192x192.png new file mode 100644 index 00000000..7c17009d Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/android-icon-192x192.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-144x144.png b/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-144x144.png new file mode 100644 index 00000000..5308d66b Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-144x144.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-60x60.png b/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-60x60.png new file mode 100644 index 00000000..f18dfa49 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-60x60.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-72x72.png b/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-72x72.png new file mode 100644 index 00000000..bb3e2423 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-72x72.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml b/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml new file mode 100644 index 00000000..c5541482 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-16x16.png b/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-16x16.png new file mode 100644 index 00000000..308843a0 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-16x16.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-32x32.png b/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-32x32.png new file mode 100644 index 00000000..bfcd0970 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-32x32.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-96x96.png b/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-96x96.png new file mode 100644 index 00000000..d0fe1ed0 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-96x96.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/manifest.json b/luci-theme-argon/htdocs/luci-static/argon/icon/manifest.json new file mode 100644 index 00000000..2817bc81 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/icon/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "Openwrt", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/icon/ms-icon-144x144.png b/luci-theme-argon/htdocs/luci-static/argon/icon/ms-icon-144x144.png new file mode 100644 index 00000000..5308d66b Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/icon/ms-icon-144x144.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg b/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg new file mode 100644 index 00000000..654e2fe2 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg b/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg new file mode 100644 index 00000000..26a52a53 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/img/blank.png b/luci-theme-argon/htdocs/luci-static/argon/img/blank.png new file mode 100644 index 00000000..9f4100e6 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/img/blank.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/img/trafficbar.png b/luci-theme-argon/htdocs/luci-static/argon/img/trafficbar.png new file mode 100644 index 00000000..c9a99ce0 Binary files /dev/null and b/luci-theme-argon/htdocs/luci-static/argon/img/trafficbar.png differ diff --git a/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg b/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg new file mode 100644 index 00000000..f01ad5c7 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg b/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg new file mode 100644 index 00000000..0598d584 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js b/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js new file mode 100644 index 00000000..d467083b --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ + +/* + * Font generate by Icomoon + */ +(function ($) { + $(".main > .loading").fadeOut(); + + /** + * trim text, Remove spaces, wrap + * @param text + * @returns {string} + */ + function trimText(text) { + return text.replace(/[ \t\n\r]+/g, " "); + } + + + var lastNode = undefined; + var mainNodeName = undefined; + + var nodeUrl = ""; + (function (node) { + if (node[0] == "admin") { + luciLocation = [node[1], node[2]]; + } else { + luciLocation = node; + } + + for (var i in luciLocation) { + nodeUrl += luciLocation[i]; + if (i != luciLocation.length - 1) { + nodeUrl += "/"; + } + } + })(luciLocation); + + /** + * get the current node by Burl (primary) + * @returns {boolean} success? + */ + function getCurrentNodeByUrl() { + var ret = false; + if (!$('body').hasClass('logged-in')) { + luciLocation = ["Main", "Login"]; + return true; + } + $(".main > .main-left > .nav > .slide > .active").next(".slide-menu").stop(true).slideUp("fast"); + $(".main > .main-left > .nav > .slide > .menu").removeClass("active"); + $(".main > .main-left > .nav > .slide > .menu").each(function () { + var ulNode = $(this); + + ulNode.next().find("a").each(function () { + var that = $(this); + var href = that.attr("href"); + + if (href.indexOf(nodeUrl) != -1) { + ulNode.click(); + ulNode.next(".slide-menu").stop(true, true); + lastNode = that.parent(); + lastNode.addClass("active"); + ret = true; + return true; + } + }); + }); + return ret; + } + + /** + * menu click + */ + $(".main > .main-left > .nav > .slide > .menu").click(function () { + var ul = $(this).next(".slide-menu"); + var menu = $(this); + if (!menu.hasClass("exit")) { + $(".main > .main-left > .nav > .slide > .active").next(".slide-menu").stop(true).slideUp("fast"); + $(".main > .main-left > .nav > .slide > .menu").removeClass("active"); + if (!ul.is(":visible")) { + menu.addClass("active"); + ul.addClass("active"); + ul.stop(true).slideDown("fast"); + } else { + ul.stop(true).slideUp("fast", function () { + menu.removeClass("active"); + ul.removeClass("active"); + }); + } + + return false; + } + + }); + + + + +// define what element should be observed by the observer +// and what types of mutations trigger the callback + if ($("#cbi-dhcp-lan-ignore").length > 0) { + observer.observe(document.getElementById("cbi-dhcp-lan-ignore"), { + subtree: true, + attributes: true + }); + } + + /** + * hook menu click and add the hash + */ + $(".main > .main-left > .nav > .slide > .slide-menu > li > a").click(function () { + if (lastNode != undefined) + lastNode.removeClass("active"); + $(this).parent().addClass("active"); + $(".main > .loading").fadeIn("fast"); + return true; + }); + + /** + * fix menu click + */ + $(".main > .main-left > .nav > .slide > .slide-menu > li").click(function () { + if (lastNode != undefined) + lastNode.removeClass("active"); + $(this).addClass("active"); + $(".main > .loading").fadeIn("fast"); + window.location = $($(this).find("a")[0]).attr("href"); + return false; + }); + + /** + * fix submenu click + */ + $("#maincontent > .container > .tabs > li").click(function () { + $(".main > .loading").fadeIn("fast"); + window.location = $($(this).find("a")[0]).attr("href"); + return false; + }); + + /** + * get current node and open it + */ + if (getCurrentNodeByUrl()) { + mainNodeName = "node-" + luciLocation[0] + "-" + luciLocation[1]; + mainNodeName = mainNodeName.replace(/[ \t\n\r\/]+/g, "_").toLowerCase(); + $("body").addClass(mainNodeName); + } + $(".cbi-button-up").val(""); + $(".cbi-button-down").val(""); + + + /** + * hook other "A Label" and add hash to it. + */ + $("#maincontent > .container").find("a").each(function () { + var that = $(this); + var onclick = that.attr("onclick"); + if (onclick == undefined || onclick == "") { + that.click(function () { + var href = that.attr("href"); + if (href.indexOf("#") == -1) { + $(".main > .loading").fadeIn("fast"); + return true; + } + }); + } + }); + + /** + * Sidebar expand + */ + var showSide = false; + $(".showSide").click(function () { + if (showSide) { + $(".darkMask").stop(true).fadeOut("fast"); + $(".main-left").width(0); + $(".main-right").css("overflow-y", "auto"); + showSide = false; + } else { + $(".darkMask").stop(true).fadeIn("fast"); + $(".main-left").width("15rem"); + $(".main-right").css("overflow-y", "hidden"); + showSide = true; + } + }); + + + $(".darkMask").click(function () { + if (showSide) { + showSide = false; + $(".darkMask").stop(true).fadeOut("fast"); + $(".main-left").width(0); + $(".main-right").css("overflow-y", "auto"); + } + }); + + $(window).resize(function () { + if ($(window).width() > 921) { + $(".main-left").css("width", ""); + $(".darkMask").stop(true); + $(".darkMask").css("display", "none"); + showSide = false; + } + }); + + /** + * fix legend position + */ + $("legend").each(function () { + var that = $(this); + that.after("" + that.text() + ""); + }); + + $(".cbi-section-table-titles, .cbi-section-table-descr, .cbi-section-descr").each(function () { + var that = $(this); + if (that.text().trim() == "") { + that.css("padding", "0px"); + } + }); + + $(".node-main-login > .main .cbi-value.cbi-value-last .cbi-input-text").focus(function () { + //$(".node-main-login > .main > .main-right > .login-bg").addClass("blur"); + }); + $(".node-main-login > .main .cbi-value.cbi-value-last .cbi-input-text").blur(function () { + //$(".node-main-login > .main > .main-right > .login-bg").removeClass("blur"); + }); + + + $(".main-right").focus(); + $(".main-right").blur(); + $("input").attr("size", "0"); + + if (mainNodeName != undefined) { + console.log(mainNodeName); + switch (mainNodeName) { + case "node-status-system_log": + case "node-status-kernel_log": + $("#syslog").focus(function () { + $("#syslog").blur(); + $(".main-right").focus(); + $(".main-right").blur(); + }); + break; + case "node-status-firewall": + var button = $(".node-status-firewall > .main fieldset li > a"); + button.addClass("cbi-button cbi-button-reset a-to-btn"); + break; + case "node-system-reboot": + var button = $(".node-system-reboot > .main > .main-right p > a"); + button.addClass("cbi-button cbi-input-reset a-to-btn"); + break; + } + } + +})(jQuery); diff --git a/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less b/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less new file mode 100644 index 00000000..6d77ffd9 --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less @@ -0,0 +1,3862 @@ +// compress: false +/** + * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + * + * luci-theme-argon + * Copyright 2020 Jerryk + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ + +/* + * Font generate by Icomoon + */ + +/* + * Common Styles + */ + +@import url("fonts.css?v=3"); +@import url("pure-min.css?v=1"); + +:root { + /** general **/ + --primary: #5e72e4; + --dark-primary: #483d8b; + --background-color: #f4f5f7; + --font-color: #525f7f; + /** login form **/ + --login-form-background-color: #ffffff; + --login-form-bg-color: rgba(244, 245, 247, 0.8); + --blur-radius: 10px; + --blur-opacity: 0.5; + + --white: #fff; + --darker: black; + --default: #525461; + + --warning: #fb6340; + --footer-color: #aaa; + --menubar-background: #fff; + --menubar-scrollbar-thumb: #f6f9fc; + --menubar-text-color: #4c4c4c; + --blue: #5e72e4; + --indigo: #5603ad; + --purple: #8965e0; + --pink: #f3a4b5; + --red: #f5365c; + --orange: #fb6340; + --yellow: #ffd600; + --green: #2dce89; + --teal: #11cdef; + --cyan: #2bffc6; + --white: #fff; + --gray: #8898aa; + --gray-dark: #32325d; + --light: #ced4da; + --lighter: #e9ecef; + --secondary: #f7fafc; + --success: #2dce89; + --info: #11cdef; + --danger: #f5365c; + --light: #adb5bd; + --dark: #212529; + --neutral: #fff; + --login-form-bg-color: rgba(244, 245, 247, 0.8); + + --blur-radius: 10px; + --blur-opacity: 0.5; + --blur-radius-dark: 10px; + --blur-opacity-dark: 0.5; + --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; + --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; +} + +[data-theme="dark"] { + --primary: #483d8b; + --dark-primary: #483d8b; + --background-color: #1e1e1e; + --font-color: #cccccc; + --white: #fff; + --darker: black; + --default: #525461; + + --warning: #fb6340; + --footer-color: #aaa; + --menubar-background: #fff; + --menubar-scrollbar-thumb: #f6f9fc; + --menubar-text-color: #4c4c4c; + --blue: #5e72e4; + --indigo: #5603ad; + --purple: #8965e0; + --pink: #f3a4b5; + --red: #f5365c; + --orange: #fb6340; + --yellow: #ffd600; + --green: #2dce89; + --teal: #11cdef; + --cyan: #2bffc6; + --white: #fff; + --gray: #8898aa; + --gray-dark: #32325d; + --light: #ced4da; + --lighter: #e9ecef; + --secondary: #f7fafc; + --success: #2dce89; + --info: #11cdef; + --danger: #f5365c; + --light: #adb5bd; + --dark: #212529; + --neutral: #fff; + --login-form-bg-color: rgba(244, 245, 247, 0.8); + + --blur-radius: 10px; + --blur-opacity: 0.5; + --blur-radius-dark: 10px; + --blur-opacity-dark: 0.5; + --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; + --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; +} + +html, +body { + margin: 0px; + padding: 0px; + height: 100%; + font-size: 16px; + font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + font-family: var(--font-family-sans-serif); +} + +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + font-size: 0.875rem; + background-color: #f4f5f7; + background-color: var(--background-color); + color: #525f7f; + color: var(--font-color); + +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + -webkit-tap-highlight-color: transparent; + +} + +::selection { + background-color: #5e72e4; + background-color: var(--primary); + color: #ffffff; + color: var(--white); +} + +a:link, +a:visited, +a:active { + color: #5e72e4; + color: var(--primary); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +li { + list-style-type: none; +} + +@-webkit-keyframes sparkle { + from { + background-position: 0 0; + } + + to { + background-position: 0 -64px; + } +} + +@-moz-keyframes sparkle { + from { + background-position: 0 0; + } + + to { + background-position: 0 -64px; + } +} + +@-o-keyframes sparkle { + from { + background-position: 0 0; + } + + to { + background-position: 0 -64px; + } +} + +@keyframes sparkle { + from { + background-position: 0 0; + } + + to { + background-position: 0 -64px; + } +} + +/*********************** +* +* Login Page +* +***************************/ + +.login-page { + height: 100%; + + .video { + position: absolute; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background-color: #000; + background-color: var(--darker); + overflow: hidden; + + video { + width: 100%; + height: auto; + } + } + + .volume-control { + position: fixed; + right: 1rem; + top: 1rem; + width: 1.5rem; + height: 1.5rem; + z-index: 5000; + cursor: pointer; + background-size: contain; + background-image: url(../img/volume_high.svg); + + &.mute { + background-image: url(../img/volume_off.svg); + } + } + + .main-bg { + position: fixed; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-image: url(../img/blank.png); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + transition: all 0.5s; + } + + .login-container { + height: 100%; + margin-left: 4.5rem; + position: absolute; + top: 0px; + display: flex; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + align-items: flex-start; + min-height: 100%; + z-index: 2; + width: 420px; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 35px -5px; + margin-left: 5%; + background: transparent; + + .login-form { + display: flex; + flex-direction: column; + -webkit-box-align: center; + align-items: center; + position: absolute; + top: 0px; + width: 100%; + min-height: 100%; + max-width: 420px; + background-color: #fff; + background-color: var(--white); + + .brand { + display: flex; + -webkit-box-align: center; + align-items: center; + margin: 50px auto 100px 50px; + color: #525461; + color: var(--default); + + .icon { + width: 50px; + height: auto; + margin-right: 25px; + } + + .brand-text { + font-size: 1.25rem; + font-weight: 700; + font-family: "TypoGraphica"; + + } + + &:hover { + text-decoration: none; + } + } + + .form-login { + width: 100%; + padding: 20px 50px; + box-sizing: border-box; + + .errorbox { + text-align: center; + color: #fb6340; + color: var(--warning); + } + + .input-group { + margin-bottom: 1.25rem; + position: relative; + + &::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #525461; + color: var(--default); + font-size: 1.5rem; + position: absolute; + z-index: 100; + left: 10px; + top: 10px; + } + + .border { + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + border-bottom: 1px #5e72e4 solid; + border-bottom: 1px var(--primary) solid; + transform: scaleX(0); + transition: transform 0.3s; + } + + input { + font-size: 1rem; + line-height: 1.5em; + display: block; + width: 100%; + padding: .5rem .75rem 0.5rem 3rem; + margin: 0.825rem 0; + box-sizing: border-box; + transition: all .3s cubic-bezier(.68, -.55, .265, 1.55); + color: #525461; + color: var(--default); + border: 0; + border-radius: 0; + border-bottom: 1px solid #fff; + border-bottom: 1px solid var(--white); + background-color: transparent; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, .05); + outline: none; + + &:focus+.border { + transform: scaleX(1); + } + } + + .cbi-input-password { + margin-bottom: 2rem; + position: relative; + } + } + + .user-icon::before { + content: "\e971"; + } + + .pass-icon::before { + content: "\e910"; + + } + } + + .cbi-button-apply { + width: 100% !important; + box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; + font-weight: 600; + font-size: 15px; + color: #fff; + color: var(--white); + text-align: center; + width: 100%; + cursor: pointer; + min-height: 50px; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + border-radius: 6px; + outline: none; + border-width: initial; + border-style: none; + border-color: initial; + border-image: initial; + padding: 10px 0px; + margin: 30px 0px 100px; + transition: all 0.3s !important; + letter-spacing: 0.8rem; + + &:hover, + :focus { + opacity: 0.9; + } + } + } + + footer { + box-sizing: border-box; + width: 100%; + text-align: center; + line-height: 1.6rem; + display: flex; + justify-content: space-evenly; + margin-top: auto; + padding: 0px 0px 30px; + z-index: 10; + color: #525461; + color: var(--default); + position: absolute; + bottom: 0; + + .ftc { + position: absolute; + bottom: 30px; + width: 100%; + } + + .luci-link { + display: block; + } + } + } +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(var(--blur-radius)); + backdrop-filter: blur(var(--blur-radius)); + background-color: rgba(244, 245, 247, var(--blur-opacity)); + + } +} + + + +/*********************** +* +* Header +* +***************************/ + + +header { + width: 100%; + padding: 0 0 0 0; + position: relative; + + .container { + margin-top: rem; + padding: 0.5rem 1rem 0 1rem; + + .pull-right>* { + position: relative; + top: 0.45rem; + cursor: pointer; + } + } + + &::after { + content: ""; + position: absolute; + height: 2rem; + width: 100%; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + } + + &.bg-primary { + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + } + + .fill { + padding: 0.8rem 0; + border-bottom: 0px solid rgba(255, 255, 255, .08) !important; + + .container { + height: 2rem; + padding: 0 1.25rem; + + .brand { + font-size: 1.5rem; + color: #fff; + color: var(--white); + font-family: "TypoGraphica"; + text-decoration: none; + padding-left: 1rem; + cursor: default; + vertical-align: text-bottom; + display: none; + } + } + } +} + + + + + +/*********************** +* +* Footer +* +***************************/ + +footer { + + text-align: right; + padding: 1rem; + color: #aaa; + color: var(--footer-color); + font-size: 0.8rem; + + a { + color: #aaa; + color: var(--footer-color); + text-decoration: none; + } +} + + + +/*********************** +* +* Main +* +***************************/ + +@keyframes anim-rotate { + 0% { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + + 100% { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +.main { + top: 0rem; + bottom: 0rem; + position: relative; + height: 100%; + width: 100%; + height: calc(100% - 4rem); + + .main-left { + float: left; + width: 15%; + width: calc(0% + 15rem); + height: 100%; + background-color: #fff !important; + background-color: var(--menubar-background) !important; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + overflow-x: auto; + position: fixed; + z-index: 100; + transition: width 0.2s ease-in-out; + + &::-webkit-scrollbar { + width: 5px; + height: 1px; + } + + &::-webkit-scrollbar-thumb { + background-color: #f6f9fc; + background-color: var(--menubar-scrollbar-thumb); + + } + + &::-webkit-scrollbar-track { + background-color: #fff; + background-color: var(--menubar-background); + } + + .sidenav-header { + padding: 1.5rem; + text-align: center; + + .brand { + font-size: 1.8rem; + color: #5e72e4; + color: var(--primary); + font-family: "TypoGraphica", sans-serif; + text-decoration: none; + padding-left: 0; + cursor: default; + vertical-align: text-bottom; + white-space: nowrap; + } + } + + .nav { + margin-top: 0.5rem; + + li { + padding: 0rem; + cursor: pointer; + + a { + color: #525f7f; + color: var(--default); + display: block; + } + + &:nth-last-child(1) { + font-size: 1.2rem; + + .menu:after { + content: ""; + } + } + + &.slide { + padding: 0; + + ul { + display: none; + + li { + a { + position: relative; + + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: #4c4c4c; + color: var(--menubar-text-color); + transition: all 0.2s; + font-size: 0.875rem; + + &::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + background-color: var(--primary); + transition: all 0.2s; + } + + &:hover { + &::after { + color: #000; + color: var(--darker); + width: 100%; + } + } + } + } + } + + .menu { + display: block; + margin: 0.1rem .5rem 0.1rem .5rem; + padding: .675rem 0 .675rem 2.5rem; + border-radius: .375rem; + text-decoration: none; + cursor: default; + font-size: 1rem; + transition: all 0.2s; + position: relative; + + &::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + left: 0.8rem; + content: "\e915"; + color: #5e72e4; + color: var(--primary); + } + + &::after { + position: absolute; + right: 0.5rem; + top: 0.8rem; + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: '\e90f'; + transition: all .15s ease; + color: #ced4da; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + transition: all 0.3s; + } + + &:hover, + &.active { + cursor: pointer; + color: #fff; + background: #5e72e4; + background: var(--primary); + + a { + color: #000; + + &::after { + color: #000; + width: 100%; + } + } + + &::before { + color: #fff !important; + } + + &::after { + color: #fff; + + } + } + + &.active { + &::after { + + transform: rotate(90deg); + } + } + + } + + .menu[data-title=Status]:before { + content: "\e906"; + color: #5e72e4; + color: var(--primary); + } + + .menu[data-title=System]:before { + content: "\e90a"; + color: #fb6340; + } + + .menu[data-title=Services]:before { + content: "\e909"; + color: #11cdef; + } + + .menu[data-title=NAS]:before { + content: "\e90c"; + color: #f3a4b5; + } + + .menu[data-title=VPN]:before { + content: "\e90b"; + color: #aaad03; + } + + .menu[data-title=Network]:before { + content: "\e908"; + color: #8965e0; + } + + .menu[data-title=Bandwidth_Monitor]:before { + content: "\e90d"; + color: #2dce89; + } + + .menu[data-title=Docker]:before { + content: "\e911"; + color: #6699ff; + } + + .menu[data-title=Statistics]:before { + content: "\e913"; + color: #5603ad; + } + + .menu[data-title=Control]:before { + content: "\e912"; + color: #5e72e4; + color: var(--primary); + } + + .menu[data-title=Asterisk]:before { + content: "\e914"; + color: #fb6340; + } + + .menu[data-title=Logout]:before { + content: "\e907"; + color: #adb5bd; + } + + .slide-menu { + li { + a { + position: relative; + + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: rgba(0, 0, 0, .6); + transition: all 0.2s; + font-size: 0.875rem; + + &::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + background-color: var(--primary); + transition: all 0.2s; + } + + &:hover::after { + color: #000; + width: 100%; + } + } + } + + .active { + a { + color: #000; + + &::after { + color: #000; + width: 100%; + } + } + } + } + + &:last-child>.menu::after { + content: ""; + } + } + } + } + } + + .main-right { + width: 85%; + width: calc(100% - 15rem); + float: right; + height: auto; + transition: width 0.3s ease-in-out; + + #maincontent { + + position: relative; + z-index: 50; + + .container { + margin: 0 1.25rem 1rem 1.25rem; + + p { + color: #32325d; + line-height: 1.5em; + } + } + + .container>div:nth-child(1).alert-message.warning>a { + font: inherit; + overflow: visible; + text-transform: none; + display: inline-block; + margin-bottom: 0; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + min-width: 6rem; + padding: 0.5rem 1rem; + font-size: 0.9rem; + line-height: 1.42857143; + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; + margin-top: 2rem; + text-decoration: inherit; + } + } + } + + .loading { + position: fixed; + width: 100%; + height: 100%; + z-index: 2000; + display: flex; + align-items: center; + justify-content: center; + background-color: #f8f9fe; + top: 0; + + span { + display: block; + text-align: center; + margin-top: 2rem; + color: #5e72e4; + color: var(--primary); + font-size: 2rem; + + .loading-img { + animation: anim-rotate 2s infinite linear; + margin-right: 0.4rem; + display: inline-block; + + &::before { + content: "\e603"; + } + } + + } + } +} + + +/* button style */ + +.cbi-button { + -webkit-appearance: none; + text-transform: uppercase; + height: auto; + font-size: 0.875rem; + color: rgba(0, 0, 0, 0.87); + background-color: #F0F0F0; + transition: all 0.2s ease-in-out; + display: inline-block; + padding: 0.75rem 0.8rem; + border: none; + border-radius: 0.2rem; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: .875rem; + width: auto !important; + line-height: 1em; +} + +.cbi-button:hover, +.cbi-button:focus, +.cbi-button:active { + outline: 0; + text-decoration: none; +} + +.cbi-button:hover, +.cbi-button:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +.cbi-button:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +.cbi-button:disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; +} + +.cbi-button-check { + margin-top: 0.25rem !important; +} + +form.inline+form.inline, +.cbi-button+.cbi-button { + margin-left: 0rem; +} + +.cbi-button-reset, +.cbi-input-remove { + + color: #fff !important; + background-color: #f0ad4e !important; + border-color: #eea236 !important; +} + +.cbi-input-find, +.cbi-input-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-find, +.cbi-input-reload, +.cbi-button-reload { + + color: #fff !important; + background-color: #337ab7 !important; + border-color: #2e6da4 !important; +} + +.cbi-value-field .cbi-input-apply, +.cbi-button-apply, +.cbi-button-edit { + + color: #fff !important; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + border-color: #5e72e4 !important; + border-color: var(--primary) !important; +} + +.cbi-button-add { + margin-left: 1.5rem; +} + +.node-services-vssr .ssr-button { + margin-left: 0.3rem; + +} + +.cbi-section-remove>.cbi-button, +.cbi-button-remove { + color: #fff !important; + background-color: #fb6340 !important; + border-color: #fb6340 !important; +} + +.cbi-value-field .cbi-button-add, +.cbi-value-field .cbi-button-remove, +.cbi-value-field .cbi-button-neutral { + + min-width: 2.5rem !important; +} + + +/* input */ +.cbi-value input[type="password"], +.cbi-value input[type="text"] { + min-width: 15rem; +} + +/* select */ +.cbi-value-field .cbi-dropdown { + min-width: 15rem; +} + +select { + min-width: 20rem; + appearance: none; + -webkit-appearance: none; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTY1MzQ4MDM3OTIyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1ODMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4qIHsgdGV4dC1zaGFkb3c6IHRyYW5zcGFyZW50IDBweCAwcHggMHB4LCByZ2JhKDAsIDAsIDAsIDAuNSkgMHB4IDBweCAwcHggIWltcG9ydGFudDsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMjAuNDggMjQ1Ljc2aDk4My4wNEw1MTIgNzc4LjI0eiIgcC1pZD0iMjU4NCIgZmlsbD0iIzcwNzA3MCI+PC9wYXRoPjwvc3ZnPg==') !important; + background-position: 96%; + background-size: 8px; + background-repeat: no-repeat; + +} + +.th[data-type="button"], +.td[data-type="button"], +.th[data-type="fvalue"], +.td[data-type="fvalue"] { + flex: 1 1 2em; + text-align: center; +} + + + +/*textarea*/ + +.cbi-input-textarea { + width: 100%; + min-height: 14rem; + padding: 0.8rem; + font-size: 0.8rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: black; +} + + + +/* change */ + +.uci-change-list { + font-family: monospace; +} + +.uci-change-list ins, +.uci-change-legend-label ins { + text-decoration: none; + border: 1px solid #00FF00; + background-color: #CCFFCC; + display: block; + padding: 2px; +} + +.uci-change-list del, +.uci-change-legend-label del { + text-decoration: none; + border: 1px solid #FF0000; + background-color: #FFCCCC; + display: block; + font-style: normal; + padding: 2px; +} + +.uci-change-list var, +.uci-change-legend-label var { + text-decoration: none; + border: 1px solid #CCCCCC; + background-color: #EEEEEE; + display: block; + font-style: normal; + padding: 2px; + +} + +.uci-change-list var ins, +.uci-change-list var del { + border: none; + white-space: pre; + font-style: normal; + padding: 0px; +} + +.uci-change-list ins strong { + display: inline; +} + +.uci-change-legend { + padding: 5px; +} + +.uci-change-legend-label { + display: flex; + align-items: center; + width: auto; + float: left; + margin-right: 2rem; +} + +.uci-change-legend-label>ins, +.uci-change-legend-label>del, +.uci-change-legend-label>var { + float: left; + margin-right: 4px; + width: 10px; + height: 10px; + display: block; +} + +.uci-change-legend-label var ins, +.uci-change-legend-label var del { + line-height: 0; + border: none; +} + +.uci-change-list var, +.uci-change-list del, +.uci-change-list ins { + padding: 0.5rem; +} + +/* other fix */ +input[type="checkbox"] { + appearance: none !important; + -webkit-appearance: none !important; + border: 1px solid #dee2e6; + + width: 16px !important; + height: 16px !important; + padding: 0; + cursor: pointer; + transition: all 0.2s; + + margin: 0.9rem 0.25rem 0 0.25rem; +} + +input[type="checkbox"]:checked { + border: 1px solid #5e72e4; + border: 1px solid var(--primary); + background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important; + background-color: #5e72e4; + background-color: var(--primary); + background-size: 70%; + background-repeat: no-repeat; + background-position: center; +} + +ul li .cbi-input-checkbox { + margin: 0.5rem 0.25rem !important; +} + +.cbi-input-radio { + appearance: none !important; + -webkit-appearance: none !important; + border: 1px solid #dee2e6; + + width: 16px !important; + height: 16px !important; + padding: 0; + border-radius: 50%; + cursor: pointer; + transition: all 0.2s; + margin: 0.25rem 0; +} + +.cbi-input-radio:checked { + border: 1px solid #5e72e4; + border: 1px solid var(--primary); + background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e') !important; + background-color: #5e72e4; + background-color: var(--primary); + background-size: 70%; + background-repeat: no-repeat; + background-position: center; +} + + +.toggle { + position: relative; + display: block; + width: 40px; + height: 20px; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + transform: translate3d(0, 0, 0); + margin: 1em 0; +} + +.toggle:before { + content: ""; + position: relative; + top: 3px; + left: 3px; + width: 34px; + height: 14px; + display: block; + background: #9A9999; + border-radius: 8px; + transition: background 0.2s ease; +} + +.toggle span { + position: absolute; + top: 0; + left: 0; + width: 20px; + height: 20px; + display: block; + background: white; + border-radius: 10px; + box-shadow: 0 3px 8px rgba(154, 153, 153, 0.5); + transition: all 0.2s ease; +} + +.toggle span:before { + content: ""; + position: absolute; + display: block; + margin: -18px; + width: 56px; + height: 56px; + background: rgba(79, 46, 220, 0.5); + border-radius: 50%; + transform: scale(0); + opacity: 1; + pointer-events: none; +} + +.cbi-input-checkbox:checked+.toggle:before { + background: #947ADA; +} + +.cbi-input-checkbox:checked+.toggle span { + background: #4F2EDC; + transform: translateX(20px); + transition: all 0.2s cubic-bezier(0.8, 0.4, 0.3, 1.25), background 0.15s ease; + box-shadow: 0 3px 8px rgba(79, 46, 220, 0.2); +} + +.cbi-input-checkbox:checked+.toggle span:before { + transform: scale(1); + opacity: 0; + transition: all 0.4s ease; +} + + +.cbi-value-field .cbi-input-checkbox, +.cbi-value-field .cbi-input-radio { + margin-top: 0.5rem; + height: 1rem; +} + +.td .cbi-input-checkbox, +.td .cbi-input-radio { + margin-top: 0; +} + +.cbi-value-field>input+.cbi-value-description { + padding: 0; +} + +.cbi-value-field>ul>li { + display: flex; +} + +.cbi-value-field>ul>li>label { + margin-top: 0rem; +} + +.cbi-value-field>ul>li .ifacebadge { + background-color: #eee; + margin-left: 0.4rem; + margin-top: -0.5rem; +} + +.cbi-section-table-row>.cbi-value-field .cbi-dropdown { + min-width: 7rem; +} + +.cbi-section-create { + margin: 0; + padding-left: 1rem; + align-items: center; + +} + +.cbi-section-create>* { + margin: 0.25rem; +} + +.cbi-section-remove { + padding: 0.5rem; +} + +div.cbi-value var, +td.cbi-value-field var, +.td.cbi-value-field var { + font-style: italic; + color: #0069D6; +} + +small { + font-size: 90%; + white-space: normal; + line-height: 1.42857143; +} + +.cbi-button-up, +.cbi-button-down { + display: inline-block; + min-width: 0; + padding: 0.2rem 0.6rem; + font-size: 1.2rem; + color: #5e72e4 !important; + color: var(--primary) !important; +} + +.cbi-optionals { + padding: 1rem 1rem 0 1rem; + border-top: 1px solid #CCC; +} + +.cbi-dropdown-container { + position: relative; +} + +.cbi-tooltip-container { + cursor: help; +} + +.cbi-tooltip { + position: absolute; + z-index: 1000; + left: -1000px; + opacity: 0; + transition: opacity .25s ease-out; + pointer-events: none; + box-shadow: 0 0 2px #444; +} + +.cbi-tooltip-container:hover .cbi-tooltip { + left: auto; + opacity: 1; + transition: opacity .25s ease-in; +} + +.cbi-map-descr+fieldset { + margin-top: 1rem; +} + +.cbi-section>legend { + display: none !important; +} + +.cbi-section-error { + padding: 1.5rem; + color: #fb6340; + font-weight: 600; +} + +fieldset>fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} + + +.zonebadge .cbi-tooltip { + padding: .25rem; + background: inherit; + margin: -1.5rem 0 0 -.5rem; +} + +.zonebadge-empty { + background: repeating-linear-gradient(45deg, rgba(204, 204, 204, 0.5), rgba(204, 204, 204, 0.5) 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); + color: #404040; +} + +.zone-forwards { + display: flex; + min-width: 10rem; +} + +.zone-forwards>* { + flex: 1 1 45%; +} + +.zone-forwards>span { + flex-basis: 10%; + text-align: center; + padding: 0 .25rem; +} + +.zone-forwards .zone-src, +.zone-forwards .zone-dest { + display: flex; + flex-direction: column; +} + +#diag-rc-output>pre { + background-color: #fff; + display: block; + padding: 8.5px; + margin: 0 0 18px; + line-height: 1.5rem; + white-space: pre-wrap; + word-wrap: break-word; + font-size: 1.4rem; + color: #404040; +} + +input[name="ping"], +input[name="traceroute"], +input[name="nslookup"] { + width: 80%; +} + + +/* fix progress bar */ +#swaptotal>div, +#swapfree>div, +#memfree>div, +#membuff>div, +#conns>div, +#memtotal>div { + width: 100% !important; + height: 1.6rem !important; + line-height: 1.6rem; + border-radius: .25rem; +} + +#swaptotal>div>div, +#swapfree>div>div, +#memfree>div>div, +#membuff>div>div, +#conns>div>div, +#memtotal>div>div { + height: 100% !important; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + background-image: url(../img/trafficbar.png); + background-position: left top; + animation: sparkle 1500ms linear infinite; +} + +/* fix multiple table */ + +table table, +.table .table { + border: none; +} + +.cbi-value-field table, +.cbi-value-field .table { + border: none; +} + +td>table>tbody>tr>td, +.td>.table>.tbody>.tr>.td { + border: none; +} + +.cbi-value-field>table>tbody>tr>td, +.cbi-value-field>.table>.tbody>.tr>.td { + border: none; +} + +/* button style */ + + + +.cbi-page-actions .cbi-button-apply, +.cbi-section-actions .cbi-button-edit, +.cbi-button-edit.important, +.cbi-button-apply.important, +.cbi-button-reload.important, +.cbi-button-action.important { + color: #fff; + background-color: #337ab7; +} + +.cbi-page-actions .cbi-button-save, +.cbi-button-add.important, +.cbi-button-save.important, +.cbi-button-positive.important { + color: #fff; + background-color: #5bc0de; +} + +.cbi-button-remove.important, +.cbi-button-reset.important, +.cbi-button-negative.important { + color: #fff; + background-color: #d9534f; +} + + + +.cbi-button-find, +.cbi-button-link, +.cbi-button-neutral { + color: #fff !important; + border: 1px solid #f0ad4e !important; + background-color: #f0ad4e !important; +} + +.cbi-button-edit, +.cbi-button-apply, +.cbi-button-reload, +.cbi-button-action { + color: #2e6da4; + border: 1px solid #2e6da4; + background-color: transparent; +} + +.cbi-page-actions .cbi-button-apply+.cbi-button-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-positive { + color: #46b8da; + border: 1px solid #46b8da; + background-color: transparent; +} + +.cbi-section-remove>.cbi-button, +.cbi-button-remove, +.cbi-button-reset, +.cbi-button-negative { + color: #fff !important; + border: 1px solid #d43f3a !important; + background-color: #fb6340 !important; +} + +.cbi-page-actions .cbi-button-link:first-child { + float: left; +} + +.a-to-btn { + text-decoration: none; +} + +/* table */ + + +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; + background-color: #e9ecef; + background-color: var(--lighter); +} + +.td.cbi-section-actions { + text-align: right; + vertical-align: middle; +} + +.td.cbi-section-actions>* { + display: flex; +} + +.td.cbi-section-actions>*>*, +.td.cbi-section-actions>*>form>* { + flex: 1 1 4em; + margin: 0 1px; +} + +.td.cbi-section-actions>*>form { + display: inline-flex; + margin: 0; +} + +/* desc */ + + + + + + +/* luci */ + +.hidden { + display: none +} + +.left, +.left::before { + text-align: left !important; +} + +.right, +.right::before { + text-align: right !important; +} + +.center, +.center::before { + text-align: center !important; +} + +.top { + align-self: flex-start !important; + vertical-align: top !important; +} + +.bottom { + align-self: flex-end !important; + vertical-align: bottom !important; +} + +.inline { + display: inline; +} + +.cbi-page-actions { + border-top: 0px solid #eee; + padding-top: 0rem; + text-align: right; +} + + + + + +#xhr_poll_status { + cursor: pointer; + display: inline-block; + +} + +#xhr_poll_status>.label.success { + background-color: #fff !important; + color: #32325d !important; +} + +.label { + padding: 0.3rem 0.8rem; + font-size: 0.8rem; + font-weight: bold; + color: #ffffff !important; + text-transform: uppercase; + white-space: nowrap; + background-color: #bfbfbf; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + text-shadow: none; + text-decoration: none; +} + +.notice { + background-color: #5BC0DE; +} + +.showSide { + display: none; + color: #fff; + font-size: 1.4rem; +} + +.darkMask { + width: 100%; + height: 100%; + position: fixed; + background-color: rgba(0, 0, 0, 0.56); + z-index: 99; + left: 0; + top: 0; + display: none; +} + + +#cbi-firewall-redirect table *, +#cbi-network-switch_vlan table *, +#cbi-firewall-zone table * { + font-size: small; +} + +#cbi-firewall-redirect table input[type="text"], +#cbi-network-switch_vlan table input[type="text"], +#cbi-firewall-zone table input[type="text"] { + width: 5rem; +} + +#cbi-firewall-redirect table select, +#cbi-network-switch_vlan table select, +#cbi-firewall-zone table select { + min-width: 3.5rem; +} + +#cbi-network-switch_vlan .th, +#cbi-network-switch_vlan .td { + flex-basis: 12%; +} + +/* language fix */ +body.lang_pl.node-main-login .cbi-value-title { + width: 12rem; +} + +/* applyreboot fix */ + +#applyreboot-container { + margin: 2rem; +} + +#applyreboot-section { + margin: 2rem; + line-height: 300%; +} + + + +.table { + display: table; + position: relative; + color: #525f7f; + border-collapse: collapse; +} + +.tr { + display: table-row; + border-bottom: 1px solid rgba(0, 0, 0, .05); +} + +.thead { + display: table-header-group; +} + +.tbody { + display: table-row-group; +} + +.tfoot { + display: table-footer-group; +} + +.td, +.th { + vertical-align: middle; + text-align: center; + display: table-cell; + padding: 1rem; + white-space: nowrap; +} + + + +.th { + font-weight: bold; +} + +.tr.placeholder { + height: 4em; +} + +.tr.placeholder>.td { + position: absolute; + left: 0; + right: 0; + bottom: 0; + text-align: center; + background: inherit; +} + +.table[width="33%"], +.th[width="33%"], +.td[width="33%"] { + width: 33%; + padding-left: 1.5rem; + padding-right: 1.5rem +} + +.table[width="100%"], +.th[width="100%"], +.td[width="100%"] { + width: 100%; +} + +.table-titles .th { + padding: 0.75rem 1rem; + color: #8898aa; + background-color: #f6f9fc; +} + +.col-1 { + flex: 1 1 30px !important; + -webkit-flex: 1 1 30px !important; +} + +.col-2 { + flex: 2 2 60px !important; + -webkit-flex: 2 2 60px !important; +} + +.col-3 { + flex: 3 3 90px !important; + -webkit-flex: 3 3 90px !important; +} + +.col-4 { + flex: 4 4 120px !important; + -webkit-flex: 4 4 120px !important; +} + +.col-5 { + flex: 5 5 150px !important; + -webkit-flex: 5 5 150px !important; +} + +.col-6 { + flex: 6 6 180px !important; + -webkit-flex: 6 6 180px !important; +} + +.col-7 { + flex: 7 7 210px !important; + -webkit-flex: 7 7 210px !important; +} + +.col-8 { + flex: 8 8 240px !important; + -webkit-flex: 8 8 240px !important; +} + +.col-9 { + flex: 9 9 270px !important; + -webkit-flex: 9 9 270px !important; +} + +.col-10 { + flex: 10 10 300px !important; + -webkit-flex: 10 10 300px !important; + white-space: inherit; +} + + + +.cbi-rowstyle-2 .cbi-button-up, +.cbi-rowstyle-2 .cbi-button-down { + background-color: #FFF !important; + +} + +.cbi-button-up, +.cbi-button-down, +.cbi-value-helpicon, +.showSide, +.main>.loading>span { + font-family: 'argon' !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.cbi-button-up { + transform: rotate(180deg); +} + + +select { + padding: 0.36rem 0.8rem; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; +} + +select, +input { + font-size: .875rem; + transition: all .15s ease-in-out; + line-height: 1.5; + + padding: .625rem .75rem; + color: #8898aa; + border: 1px solid #dee2e6; + border-radius: .25rem; + background-color: #fff; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, .05); + outline: none; + transition: box-shadow .15s ease; + margin: 0.25rem; +} + +select:not([multiple="multiple"]):focus, +input:focus { + border-color: #5e72e4; + border-color: var(--primary); + outline: 0; + background-color: #fff; + box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, .1); +} + + + +select[multiple="multiple"] { + height: auto; +} + +code { + color: #0099CC; +} + +abbr { + color: #005470; + text-decoration: underline; + cursor: help; +} + + +hr { + margin: 1rem 0; + border-color: #EEE; + opacity: 0.1; +} + + + + + +.kpi { + font-size: 0.875rem; +} + + +fieldset[id^="cbi-apply-"] { + position: fixed; + z-index: 200; + width: 20rem; + margin-left: -10rem; + margin-top: -5rem; + height: 10rem; + left: 50%; + top: 50%; + padding: 1rem; + box-sizing: border-box; + font-size: 1.2rem; + text-align: center; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + transition: all 0.3s; +} + +[id^="cbi-apply-"]>.panel-title { + border-bottom: none; + +} + +[id^="cbi-apply-"]>[id^="cbi-apply-"] { + position: initial; + width: auto; + height: auto; + font-size: 0.875rem; + margin-left: 0rem; + margin-top: .8rem; + display: block; +} + +.cbi-section>h3:first-child, +.panel-title { + font-size: 1.125rem; + width: 100%; + display: block; + margin: 0; + padding: 0.8755rem 1.5rem; + border-bottom: 1px solid #ddd; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: normal; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +table { + border-spacing: 0; + border-collapse: collapse; +} + +table, +.table { + width: 100%; +} + +table>tbody>tr>td, +table>tbody>tr>th, +table>tfoot>tr>td, +table>tfoot>tr>th, +table>thead>tr>td, +table>thead>tr>th, +.table>.tbody>.tr>.td, +.table>.tbody>.tr>.th, +.table>.tfoot>.tr>.td, +.table>.tfoot>.tr>.th, +.table>.thead>.tr>.td, +.table>.thead>.tr>.th { + padding: .5rem; + border-top: 1px solid #ddd; + +} + +.cbi-section-table-cell { + white-space: nowrap; + align-self: flex-end; + flex: 1 1 auto; +} + +.cbi-section-table { + font-size: 0.875rem; + border: none; + margin: 0 !important; +} + +.status-bar { + font-size: 0.875rem; +} + +.cbi-section-table-row:last-child { + margin-bottom: 0; +} + +.cbi-section-table-row>.cbi-value-field .cbi-input-select, +.cbi-section-table-row>.cbi-value-field .cbi-input-text, +.cbi-section-table-row>.cbi-value-field .cbi-input-password, +.cbi-section-table-row>.cbi-value-field .cbi-dropdown { + width: 100%; +} + +.cbi-section-table-row>.cbi-value-field [data-dynlist]>input, +.cbi-section-table-row>.cbi-value-field input.cbi-input-password { + width: calc(100% - 1.5rem); +} + +div>table>tbody>tr:nth-of-type(2n), +div>.table>.tbody>.tr:nth-of-type(2n) { + background-color: #f9f9f9; +} + +div>table>tbody>tr:nth-of-type(2n), +div>.table>.tbody>.tr:nth-of-type(2n) { + background-color: #f9f9f9; +} + +.danger { + background-color: #f5365c !important; + background-color: var(--danger) !important; + color: #fff !important; +} + +.warning { + background-color: #fb6340 !important; + background-color: var(--warning) !important; + color: #fff !important; +} + +.notice { + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + color: #fff !important; +} + +.success { + background-color: #2dce89 !important; + background-color: var(--success) !important; + color: #fff !important; +} + +.errorbox, +.alert-message { + margin: 0 0 0 0; + padding: 1rem 2rem; + border: 0; + font-weight: normal; + font-style: normal; + line-height: 1.5em; + font-family: inherit; + min-width: inherit; + overflow: auto; + border-radius: 0.3rem; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); +} + +.errorbox { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.alert-message.warning{ + margin-bottom: 1rem; +} +.error { + color: red; +} + + + +h1 { + font-size: 2rem; + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} + + + +h2 { + margin: 0 0 1rem 0; + font-size: 1.25rem; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + color: #32325d; + border-radius: .375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, .03); +} + + +#cbi-dropbear h2, +#cbi-dropbear .cbi-map-descr, +#cbi-dropbear .cbi-map-descr abbr, +#cbi-rc h2, +#cbi-rc .cbi-map-descr, +#cbi-distfeedconf h2, +#cbi-distfeedconf .cbi-map-descr, +#cbi-customfeedconf h2, +#cbi-customfeedconf .cbi-map-descr, +#cbi-download h2, +#cbi-filelist h2 { + color: #32325d !important; +} + + +h3 { + font-size: 1.15rem; + width: 100%; + display: block; + margin: 1rem 0; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: bold; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + border-radius: 0.375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); +} + + + +fieldset { + margin: 1.25rem 0 0 0; + padding: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + + border: 1px solid rgba(0, 0, 0, .05); + border-radius: .375rem; + background-color: #fff; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); + + -webkit-overflow-scrolling: touch; +} + + + +fieldset>legend { + display: none !important; +} + +fieldset>fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} + +fieldset.cbi-section p { + padding: 1em; +} + +.panel-title { + width: 100%; + display: block; + margin-bottom: 0; + padding: 0.8755rem 1.5rem; + background-color: #fff; + border-bottom: 1px solid #ddd; + margin-bottom: 0rem; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: 600; +} + +table { + border-spacing: 0; + border-collapse: collapse; + width: 100%; +} + +table>tbody>tr>td, +table>tfoot>tr>td, +table>thead>tr>td { + font-size: .875rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 1.5rem; + border-top: 1px solid #ddd; + +} + +table>tbody>tr>th, +table>tfoot>tr>th, +table>thead>tr>th { + + padding-right: 1.5rem; + padding-left: 1.5rem; + color: #8898aa; + background-color: #f6f9fc; + font-size: .65rem; + padding-top: .75rem; + padding-bottom: .75rem; + letter-spacing: 1px; + text-transform: uppercase; + border-bottom: 1px solid #e9ecef; +} + +table>tbody>tr:first-child>td, +table>tfoot>tr:first-child>td, +table>thead>tr:first-child>td { + border-top: 0px; +} + +.cbi-section-table-cell { + text-align: center; +} + +.cbi-section-table-row { + text-align: center; +} + +fieldset>table>tbody>tr:nth-of-type(2n) { + background-color: #f9f9f9; +} + + + + + +/* fix multiple table */ + +table table { + border: none; +} + +.cbi-value-field table { + border: none; +} + +td>table>tbody>tr>td { + border: none; +} + +.cbi-value-field>table>tbody>tr>td { + border: none; +} + + + + + + +/* table */ + +.tabs { + margin: 0 0 1rem 0; + padding: 0 1rem; + background-color: #FFFFFF; + border-radius: 0.375rem; + box-shadow: 0 4px 8px rgba(0, 0, 0, .03); + white-space: nowrap; + overflow-x: auto; + + &::-webkit-scrollbar { + width: 1px; + height: 5px; + } + + &::-webkit-scrollbar-thumb { + background-color: #f6f9fc + } + + &::-webkit-scrollbar-track { + background-color: #fff; + } + + li[class~="active"], + li:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + color: #5e72e4; + color: var(--primary); + background-color: #dce1fe; + margin-bottom: 0; + border-radius: 0; + + a { + color: #5e72e4; + color: var(--primary); + } + } + + li { + font-size: 0.875rem; + display: inline-block; + padding: 0.875rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); + + a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; + } + + &:hover { + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + } + } +} + +.cbi-tabmenu { + color: white; + padding: 0.5rem 1rem 0 1rem; + white-space: nowrap; + overflow-x: auto; + border-bottom: 1px solid #ddd !important; + + &::-webkit-scrollbar { + width: 1px; + height: 5px; + } + + &::-webkit-scrollbar-thumb { + background-color: #f6f9fc + } + + &::-webkit-scrollbar-track { + background-color: #fff; + } + + li { + background: #dce3e9; + display: inline-block; + font-size: 0.875rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + padding: 0.5rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); + + a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; + } + + &:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + color: #5e72e4; + color: var(--primary); + background-color: #dce1fe; + margin-bottom: 0; + + a { + color: #525f7f; + } + } + } + + li[class~="cbi-tab"] { + border-bottom: 0.18751rem solid #5e72e4; + border-bottom: 0.18751rem solid var(--primary); + color: var(--primary); + background-color: #dce1fe; + margin-bottom: 0; + + a { + color: #5e72e4; + color: var(--primary); + } + } +} + +.cbi-tab-descr { + margin: 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; +} + +.cbi-dropdown { + display: inline-flex; + cursor: pointer; + position: relative; + padding: 0; + height: auto; +} + +.cbi-dropdown:focus { + outline: 2px solid #4b6e9b; +} + +.cbi-dropdown>ul { + margin: 0 !important; + padding: 0; + list-style: none; + overflow-x: hidden; + overflow-y: auto; + display: flex; + width: 100%; +} + +.cbi-dropdown>ul.preview { + display: none; +} + +.cbi-dropdown>.open { + border: 0px outset #eee; + flex-basis: 15px; + background: #fff; +} + +.cbi-dropdown>.open, +.cbi-dropdown>.more { + flex-grow: 0; + flex-shrink: 0; + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; + line-height: 2em; + padding: 0 .25em; +} + +.cbi-dropdown>.more, +.cbi-dropdown>ul>li[placeholder] { + color: #777; + font-weight: bold; + text-shadow: 1px 1px 0px #fff; + display: none; +} + +.cbi-dropdown>ul>li { + display: none; + padding: .25em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + flex-shrink: 1; + flex-grow: 1; + align-items: center; + align-self: center; + min-height: 20px; +} + +.cbi-dropdown>ul>li .hide-open { + display: initial; +} + +.cbi-dropdown>ul>li .hide-close { + display: none; +} + +.cbi-dropdown>ul>li[display]:not([display="0"]) { + border-left: 1px solid #ccc; +} + +.cbi-dropdown[empty]>ul { + max-width: 1px; +} + +.cbi-dropdown>ul>li>form { + display: none; + margin: 0; + padding: 0; + pointer-events: none; +} + +.cbi-dropdown>ul>li img { + vertical-align: middle; + margin-right: .25em; +} + +.cbi-dropdown>ul>li>form>input[type="checkbox"] { + margin: 0; + height: auto; +} + +.cbi-dropdown>ul>li input[type="text"] { + height: 20px; +} + +.cbi-dropdown[open] { + position: relative; + border-color: #5e72e4; + border-color: var(--primary); +} + +.cbi-dropdown[open]>ul.dropdown { + display: block; + background: #fff; + border-color: #5e72e4; + border-color: var(--primary); + position: absolute; + z-index: 1000; + max-width: none; + min-width: 100%; + width: auto; + box-shadow: 0 1px 3px rgba(50, 50, 93, .15), 0 1px 0 rgba(0, 0, 0, .05); +} + +.cbi-dropdown>ul>li[display], +.cbi-dropdown[open]>ul.preview, +.cbi-dropdown[open]>ul.dropdown>li, +.cbi-dropdown[multiple]>ul>li>label, +.cbi-dropdown[multiple][open]>ul.dropdown>li, +.cbi-dropdown[multiple][more]>.more, +.cbi-dropdown[multiple][empty]>.more { + flex-grow: 1; + display: flex; + align-items: center; +} + +.cbi-dropdown[empty]>ul>li, +.cbi-dropdown[optional][open]>ul.dropdown>li[placeholder], +.cbi-dropdown[multiple][open]>ul.dropdown>li>form { + display: block; +} + +.cbi-dropdown[open]>ul.dropdown>li .hide-open { + display: none; +} + +.cbi-dropdown[open]>ul.dropdown>li .hide-close { + display: initial; +} + +.cbi-dropdown[open]>ul.dropdown>li { + border-bottom: 1px solid #ccc; +} + +.cbi-dropdown[open]>ul.dropdown>li[selected] { + background: #b0d0f0; +} + +.cbi-dropdown[open]>ul.dropdown>li.focus { + background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%); +} + +.cbi-dropdown[open]>ul.dropdown>li:last-child { + margin-bottom: 0; + border-bottom: none; +} + +.cbi-dropdown[disabled] { + pointer-events: none; + opacity: .6; +} + +.cbi-dropdown .zonebadge { + width: 100%; +} + +.cbi-dropdown[open] .zonebadge { + width: 100%; +} + +.cbi-dropdown { + font-size: .875rem; + transition: all .15s ease-in-out; + line-height: 1.5; + height: calc(2.75rem + 2px); + padding: 0m; + color: #8898aa; + border: 1px solid #dee2e6; + border-radius: .25rem; + background-color: #fff; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, .05); + margin: 0.25rem; +} + +.cbi-value-field .cbi-dropdown { + min-width: 20rem; +} + +.cbi-value-field .cbi-dropdown .zonebadge>.ifacebadge { + padding: 0rem 1rem; + margin: 0rem 0.3rem; + border: 1px solid #6C6C6C; +} + + + +select[multiple="multiple"] { + height: auto; +} + +.cbi-dropdown>ul { + margin: 0 !important; + padding: 0; + list-style: none; + overflow-x: hidden; + overflow-y: hidden; + display: flex; + width: 100%; +} + + + +.cbi-section>legend { + display: none !important; +} + + + + + +.cbi-section-remove:nth-of-type(2n), +.cbi-section-node:nth-of-type(2n) { + background-color: #f9f9f9; +} + +.cbi-section-node-tabbed { + padding: 0; + margin-top: 0; + +} + +.cbi-section-node { + background: #fff; + border: 0; + border-radius: .375rem; + margin-bottom: 0px; + box-shadow: 0 0 0rem 0 rgba(136, 152, 170, .15); + overflow-x: auto; + overflow-y: hidden; + padding: 0rem 0; +} + +#cbi-network-lan.cbi-section-node { + overflow-x: visible; + overflow-y: visible; +} + + + +.cbi-section-node .cbi-value { + padding: 0.3rem 1rem 0.3rem 1rem; +} + + +.cbi-tabcontainer>.cbi-value:nth-of-type(2n) { + background-color: #f9f9f9; +} + +.cbi-value-field, +.cbi-value-description { + display: table-cell; + line-height: 1.6; + font-size: 0.875rem; + +} + + + +.cbi-value-helpicon>img { + display: none; +} + +.cbi-value-helpicon:before { + content: "\f059"; +} + +.cbi-value-description { + font-size: small; + opacity: 0.5; + padding: 0.5rem; +} + +.cbi-value-title { + word-wrap: break-word; + font-size: 0.875rem; + line-height: 1.6; + color: #525f7f; + padding: .7rem; + padding-left: 0; + width: 23rem; + float: left; + text-align: right; + display: table-cell; +} + +.cbi-value { + padding: 0.3rem 1rem; + display: inline-block; + width: 100%; +} + +.cbi-section-table-descr>.cbi-section-table-cell, +.cbi-section-table-titles>.cbi-section-table-cell { + border: none; +} + +.cbi-rowstyle-1 { + background-color: #fff; +} + +.cbi-rowstyle-2 { + background-color: #fefefe; +} + + + +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; +} + +/* desc */ +.cbi-section-descr { + padding: 1rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + line-height: 1.5em; + color: #525f7f; +} + +.cbi-map-descr { + margin: 0rem 1.5rem 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; +} + + + + +/* input */ +.cbi-value input[type="password"], +.cbi-value input[type="text"] { + min-width: 20rem; +} + +input[type="checkbox"] { + height: auto; +} + +/* select */ + + +.cbi-value-field .ifacebadge { + display: inline-flex; + border-bottom: 0px solid #CCCCCC; + padding: 0.5rem 1rem; + + box-shadow: none; +} + +td>.ifacebadge { + background-color: #F0F0F0; + font-size: 0.9rem; +} + +.ifacebadge>img { + float: right; + margin: 0 0.3rem; +} + +/*textarea*/ + +.cbi-input-textarea { + width: 100%; + border: 0; + outline: none; + min-height: 14rem; + padding: 0.8rem; + font-size: 0.8rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: black; +} + +#syslog { + width: 100%; + min-height: 15rem; + padding: 1rem; + line-height: 1.4em; + font-size: small; + color: #1e1e1e; + border-radius: 0; + background-color: #fff; + border: none; + outline: none; +} + + + + + + + + + + +.ifacebadge { + display: inline-flex; + border-bottom: 0px solid #CCCCCC; + padding: 0.5rem 1rem; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + background: #fff; +} + +td>.ifacebadge, +.td>.ifacebadge { + background-color: #e9ecef; + font-size: 0.9rem; + border-radius: 0.2rem; +} + +.ifacebadge>em, +.ifacebadge>img { + display: inline-block; + margin: 0 0.3rem; + align-self: flex-start; +} + + + +.ifacebadge span { + line-height: 1.6em; +} + +.network-status-table { + display: flex; + flex-wrap: wrap; +} + +.network-status-table .ifacebox { + margin: 1rem; + flex-grow: 1; +} + +.network-status-table .ifacebox-body { + display: flex; + flex-direction: column; + height: 100%; +} + +.network-status-table .ifacebox-body>span { + flex: 10 10 auto; + height: 100%; + line-height: 1.7em; + padding-left: 2rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.network-status-table .ifacebox-body>div { + display: flex; + flex-wrap: wrap; +} + +.network-status-table .ifacebox-body .ifacebadge { + flex: 1 1 auto; + margin: 0; + padding: .5em; + min-width: 220px; + background-color: #fff; + align-items: center; +} + +.ifacebox { + + border: 1px solid #ccc; + border-radius: 0.375rem; + background-color: #f9f9f9; + display: inline-flex; + flex-direction: column; + line-height: 1.2em; + min-width: 100px; + overflow: hidden; +} + +.ifacebox-head { + padding: 1rem; + background: #eee; +} + +.ifacebox-head.active { + background: #5e72e4; + background: var(--primary); + color: #fff; +} + +.ifacebox-body { + padding: 0.5em; +} + +.cbi-image-button { + margin-left: 0.5rem; +} + +#iwsvg, +#iwsvg2, +#bwsvg { + border: none !important; + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); + overflow: hidden; +} + + + +.cbi-image-button { + margin-left: 0.5rem; +} + +.zonebadge { + padding: 0.2rem 0.5rem; + display: inline-block; + cursor: pointer; +} + +.zonebadge>.ifacebadge { + padding: 0.2rem 1rem; + margin: 0.3rem; + border: 1px solid #6C6C6C; +} + +.zonebadge>input[type="text"] { + padding: 0.16rem 1rem; + min-width: 10rem; + margin-top: 0.3rem; +} + +.cbi-value-field .cbi-input-checkbox, +.cbi-value-field .cbi-input-radio { + margin: 0.9rem 0.25rem 0 0.25rem; + height: 1rem; + line-height: 1.6; +} + +.cbi-input-checkbox { + margin: 0.9rem 0.25rem 0 0.25rem; +} + +.cbi-value-field .cbi-input-radio { + margin: 0rem 0.25rem; +} + + +.cbi-value-field>input+.cbi-value-description { + padding: 0; +} + +.cbi-value-field>ul>li { + display: flex; + align-items: center; + font-size: 0.875rem; +} + + + +.cbi-value-field>ul>li .ifacebadge { + font-size: 0.875rem; + background-color: #eee; + display: flex; + align-items: center; + margin-left: 0rem; + margin-top: 0rem; +} + +.cbi-section-table-row>.cbi-value-field .cbi-input-select { + min-width: 7rem; +} + +.cbi-section-create>.cbi-button-add { + margin: 0.5rem 0.5rem 0.5rem 0.5rem; +} + +.cbi-section-remove { + padding: 0.5rem; +} + +div.cbi-value var, +td.cbi-value-field var { + font-style: italic; + color: #0069D6; +} + +small { + font-size: 90%; + white-space: normal; + line-height: 1.42857143; +} + + +.cbi-optionals { + padding: 1rem 1rem 0 1rem; + border-top: 1px solid #CCC; +} + + +input[name="ping"], +input[name="traceroute"], +input[name="nslookup"] { + width: 80%; +} + + + +.label { + padding: 0.3rem 0.8rem; + font-size: 0.8rem; + font-weight: bold; + color: #fff !important; + text-transform: uppercase; + white-space: nowrap; + background-color: #32325d; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + text-shadow: none; + text-decoration: none; +} + + + + + + + +/* fix status overview */ + +.node-status-overview>.main fieldset:nth-child(4) td:nth-child(2) { + white-space: normal; +} + +.node-status-overview>.main #wan4_i, +.node-status-overview>.main #wan6_i { + width: 80px !important; +} + +/* fix status processes */ + +.node-status-processes>.main table tr td:nth-child(3) { + white-space: normal; +} + + +/* fix system reboot */ + +.node-system-reboot>.main>.main-right p, +.node-system-reboot>.main>.main-right h3 { + padding-left: 2rem; + color: #fff; +} + +/* fix Services Network Shares*/ +.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title { + margin-bottom: 1rem; + width: auto; +} + +.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-field { + display: list-item; +} + +.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-description { + padding-top: 1rem; +} + +/* fix System Software*/ +.node-system-packages>.main table tr td:nth-child(1) { + width: auto !important; +} + +.node-system-packages>.main table tr td:nth-last-child(1) { + white-space: normal; + font-size: small; + color: #404040; +} + +.node-system-packages>.main .cbi-tabmenu>li>a, +.tabs>li>a { + padding: 0.5rem 0.8rem; +} + +.node-system-packages>.main .cbi-value>pre { + background-color: #eee; + padding: 0.5rem; + overflow: auto; +} + +.node-system-packages>.main .cbi-page-actions { + padding: 1rem 0; +} + +.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; + + div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + width: 100% !important; + background-color: #fff !important; + height: 1.4rem !important; + border-radius: 0.25rem; + margin: 0.5rem 0; + overflow: hidden; + + div { + border-right: 0 !important; + background-color: #5e72e4 !important; + background-color: var(--primary) !important; + } + } + +} + +.node-system-leds .cbi-section em { + display: block; +} + +.cbi-tabmenu+.cbi-section { + margin-top: 0; +} + +.cbi-section { + background: #fff; + border: 0; + border-radius: .375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); + overflow-x: auto; + overflow-y: hidden; + + em { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; + text-align: center; + } + + h4 { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; + } + + +} + + + + + +#content_syslog { + border-radius: .375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); + overflow: hidden; +} + +.node-system-packages .cbi-section-node .cbi-value { + padding: 0.5rem 1rem; + font-size: 0.875rem; +} + +.node-system-packages br { + display: none; +} + +/* fix network firewall*/ +.node-network-firewall>.main .cbi-section-table-row>.cbi-value-field .cbi-input-select { + min-width: 4rem; +} + +.node-network-firewall .cbi-section-table { + width: 100% !important; +} + +.node-status-iptables fieldset, +.node-system-packages fieldset, +.node-system-flashops fieldset { + margin-top: 0; +} + +.node-status-iptables .cbi-tabmenu, +.node-system-packages .cbi-tabmenu, +.node-system-flashops .cbi-tabmenu { + border: none; +} + +.node-system-flashops form.inline+form.inline { + margin-left: 0; +} + +.Changes .cbi-section { + font-size: 0.875rem; + padding: 1rem; +} + +.node-network-diagnostics { + font-size: 0.875rem; + + #diag-rc-output { + display: block; + padding: 1rem; + + pre { + font-size: 0.875rem; + } + + } + + .cbi-section div { + padding: 0 1.5rem; + } + +} + + +.node-network-diagnostics input { + margin: 0.25rem !important; +} + +.node-network-wireless .cbi-button-add{ + margin-left: 0; +} + + + +/* fix nlbw/display*/ +#detail-bubble.in { + z-index: 500; +} + +.node-nlbw-display .cbi-section ul { + padding: 0.875rem 1.5rem; +} + +.node-nlbw-backup form { + margin-left: 1.5rem; +} + +.node-nas-usb_printer em { + display: block; +} + + +@media screen and (max-width: 1600px) { + + .main { + .main-left { + width: calc(0% + 13rem); + } + + .main-right { + width: calc(100% - 13rem); + } + } + + + .cbi-button { + /*padding: 0.3rem 1.5rem;*/ + font-size: 0.8rem; + } + + header>.container>.pull-right>* { + top: 0.35rem; + } + + .label { + padding: 0.2rem 0.6rem; + } + + .cbi-value-title { + width: 15rem; + padding-right: 0.6rem; + } + + fieldset { + padding: 0; + } + + .cbi-input-textarea { + font-size: small; + } + + .node-status-iptables>.main fieldset li>a { + padding: 0.3rem 0.6rem; + } + + +} + + +@media screen and (max-width: 1280px) { + + header>.container { + margin-top: 0.25rem; + } + + .main { + .main-left { + width: calc(0% + 13rem); + } + + .main-right { + width: calc(100% - 13rem); + } + } + + + + .cbi-tabmenu>li>a, + .tabs>li>a { + padding: 0.2rem 0.5rem; + } + + .panel-title { + font-size: 1.1rem; + padding-bottom: 1rem; + } + + table { + font-size: 0.7rem !important; + width: 100% !important; + } + + .main>.main-left>.nav>li, + .main>.main-left>.nav>li a, + .main>.main-left>.nav>.slide>.menu { + font-size: 0.9rem; + } + + .main>.main-left>.nav>.slide>.slide-menu>li>a { + font-size: 0.7rem; + } +} + +@media screen and (min-width: 600px) { + ::-webkit-scrollbar { + width: 10px; + height: 10px; + } + + ::-webkit-scrollbar, + ::-webkit-scrollbar-corner { + background: transparent; + } + + ::-webkit-scrollbar-thumb { + background: #9e9e9e; + } + + ::-webkit-scrollbar-thumb:hover { + background: #757575; + } + + ::-webkit-scrollbar-thumb:active { + background: #424242; + } +} + +@media screen and (max-width: 992px) { + .main { + .main-left { + width: 0; + position: fixed; + z-index: 100; + } + + .main-right { + width: 100%; + } + } + + .showSide { + padding: 0.1rem; + position: relative; + display: inline-block; + + &:hover { + text-decoration: none; + } + } + + .showSide:before { + content: "\e20e"; + font-size: 1.7rem; + } + + + + header>.fill>.container>.brand { + display: inline-block; + } + + .cbi-value-title { + width: 9rem; + padding-right: 1rem; + } + + .node-network-diagnostics>.main .cbi-map fieldset>div * { + width: 100% !important; + } + + .node-network-diagnostics>.main .cbi-map fieldset>div input[type="text"] { + margin: 3rem 0 0 0 !important; + } + + .node-network-diagnostics>.main .cbi-map fieldset>div:nth-child(4) input[type="text"] { + margin: 0 !important; + } + + .node-network-diagnostics>.main .cbi-map fieldset>div select, + .node-network-diagnostics>.main .cbi-map fieldset>div input[type="button"] { + margin: 1rem 0 0 0 !important; + } + + .node-network-diagnostics>.main .cbi-map fieldset>div { + width: 100% !important; + } + + #diag-rc-output>pre { + font-size: 1rem; + } + + +} + +@media screen and (max-width: 480px) { + body { + font-size: 0.8rem; + } + + .pull-right { + float: right; + margin-top: 0rem !important; + } + + .login-page .video { + video { + width: auto !important; + height: 100% !important; + } + } + + .login-page .login-container { + margin-left: 0rem !important; + width: 100%; + + .login-form { + max-width: 480px; + + .form-login { + .input-group { + &::before { + color: #525461; + } + + input { + color: #525461; + border-bottom: white 1px solid; + border-bottom: var(--white) 1px solid; + border-radius: 0; + } + + } + } + } + + } + + + + fieldset { + padding: 0; + margin: 1rem 0 0 0; + } + + .toggle { + margin: 0; + } + + h2 { + font-size: 1.125rem; + } + + .panel-title { + font-size: 1rem; + padding-bottom: 1rem; + } + + #maincontent>.container { + margin: 0 1rem 1.5rem 1rem; + } + + .main>.main-left>.nav>.slide>.menu { + font-size: 1rem; + } + + .main>.main-left>.nav>.slide>.slide-menu>li>a { + font-size: 0.9rem; + } + + + .main>.main-left>.nav>.slide>.menu:after { + top: 0.9rem; + } + + + #ethinfo td { + padding: 0.75rem 0.2rem !important; + + } + + .cbi-value-title { + width: 100%; + min-width: 0rem !important; + display: block; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + text-align: left; + padding: 0 0.25rem; + } + + .cbi-value input[type="password"], + .cbi-value input[type="text"] { + min-width: 15rem; + } + + select, + input { + width: 100% !important; + min-width: auto; + margin: 0.25rem 0; + } + + input { + box-sizing: border-box; + } + + .cbi-value>.cbi-value-field>div>input { + width: calc(100% - 1.5rem) !important; + } + + .cbi-value>.cbi-value-field { + display: inline-block; + width: 100%; + position: relative; + } + + .cbi-value-field .cbi-input-checkbox, + .cbi-value-field .cbi-input-radio { + margin: 0rem 0.25rem 0 0.25rem; + height: 1rem; + line-height: 1.6; + } + + .cbi-page-actions>div>input { + display: none; + } + + + .tabs, + .cbi-tabmenu { + &::-webkit-scrollbar { + width: 0px; + height: 0px; + } + + } + + + .tabs>li>a { + font-size: 0.9rem; + } + + select, + input { + font-size: 0.9rem; + } + + .mobile-hide { + display: none !important; + } + + + + .node-status-realtime { + + table>tbody>tr>td, + table>tfoot>tr>td, + table>thead>tr>td { + font-size: .8125rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 0rem; + border-top: 1px solid #ddd; + width: auto; + text-align: center; + } + } + + + .node-system-packages>.main .cbi-value.cbi-value-last>div { + width: 100% !important; + } + + .node-system-packages .cbi-section-node .cbi-value { + padding: 0.3rem 1rem; + } + + .node-system-packages>.main .cbi-value .cbi-value-field input { + width: 100%; + } + + .node-system-leds .cbi-section em { + display: block; + } + + .node-status-iptables>.main div>.cbi-map>form { + position: static !important; + margin: 0 0 2rem 0; + padding: 2rem; + border: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + border-radius: 0.375rem; + background-color: #FFF; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); + -webkit-overflow-scrolling: touch; + } + + .node-status-iptables>.main div>.cbi-map>form input[type="submit"] { + width: 100% !important; + margin: 0; + } + + .node-status-iptables>.main div>.cbi-map>form input[type="submit"]+input[type="submit"] { + margin-top: 1rem; + } + + .cbi-value input[type="text"]:has(+ img) { + width: 10rem !important; + } + + .cbi-button-add { + margin-left: 0.5rem; + } + + .node-network-network { + .cbi-section-table { + + tr, + td { + display: block; + } + + td { + width: 100% !important; + text-align: center !important; + padding: 0.8rem 1.5rem !important; + } + + .cbi-section-table-titles { + display: flex; + + .cbi-section-table-cell { + flex: 1 !important; + } + } + } + } + + .node-services-vssr { + .status-info { + font-size: 0.75rem; + } + + .icon-con { + margin-top: 0.4rem; + + img { + width: 2.3rem !important; + height: auto; + } + } + } +} \ No newline at end of file diff --git a/luci-theme-argon/htdocs/luci-static/argon/less/dark.less b/luci-theme-argon/htdocs/luci-static/argon/less/dark.less new file mode 100644 index 00000000..fd284eda --- /dev/null +++ b/luci-theme-argon/htdocs/luci-static/argon/less/dark.less @@ -0,0 +1,611 @@ +// compress: true +/** + * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + * + * luci-theme-argon + * Copyright 2020 Jerryk + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ + +body { + background: #1e1e1e; + color: #cccccc; +} + +.login-page .login-container { + + .login-form { + background-color: #1e1e1e; + + .brand { + color: #adb5bd; + } + + .form-login { + .input-group { + &::before { + color: #adb5bd; + } + + input { + background-color: transparent !important; + color: #adb5bd; + border-bottom: #adb5bd 1px solid !important; + border-radius: 0; + border-top: none !important; + border-left: none !important; + border-right: none !important; + box-shadow: none; + + &:focus { + border-top: none !important; + border-left: none !important; + border-right: none !important; + } + } + } + + .cbi-button-apply { + background-color: #483d8b !important; + background-color: var(--dark-primary) !important; + &:hover, + &:focus { + opacity: 0.9; + } + } + } + + + } + + footer { + color: #adb5bd; + } + +} + +header::after { + background-color: #1e1e1e !important; +} + + +.main { + .main-left { + + background-color: #333333 !important; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .15); + + .sidenav-header .brand { + color: #ccc; + } + + .nav { + .slide { + .slide-menu { + .active { + a { + color: #cccccc; + + &::after { + background-color: #cccccc !important; + } + } + } + + li { + a { + color: #cccccc; + } + + a:hover { + background: none !important; + } + } + } + + .menu.active { + background-color: #483d8b !important; + background-color: var(--dark-primary) !important; + color: #cccccc !important; + + a::after { + background-color: #cccccc !important; + } + } + } + + li { + a { + color: #cccccc !important; + } + + a:hover { + background-color: #483d8b !important; + background-color: var(--dark-primary) !important; + color: #cccccc !important; + + + } + } + } + + + &::-webkit-scrollbar-thumb { + background-color: #252526 !important; + } + + &::-webkit-scrollbar-track { + background-color: #333; + } + } + + .main-right { + background-color: #1e1e1e; + } +} + +h2 { + color: #ccc; + background: #333333; +} + +h3 { + color: #ccc; + border-bottom: 0; + background: #333333; +} + +a:-webkit-any-link { + color: -webkit-link; + cursor: pointer; + color: #483d8b; + color: var(--dark-primary); +} + + +input:-webkit-autofill { + background-color: #3c3c3c !important; +} + +.cbi-value-field .cbi-input-apply, +.cbi-button-apply, +.cbi-button-edit { + color: #fff !important; + background-color: #483d8b !important; + background-color: var(--dark-primary) !important; + border-color: #483d8b !important; + border-color: var(--dark-primary) !important; +} + + +.cbi-section em { + color: #483d8b; + color: var(--dark-primary); +} + + + +header.bg-primary { + background-color: #1e1e1e !important; +} + + + +.cbi-map-descr { + color: #ccc; +} + +.cbi-section { + background: none; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35) +} + +.panel-title { + color: #ccc; + background-color: #333333; + border-bottom: 0px; +} + +table>tbody>tr>td, +table>tfoot>tr>td, +table>thead>tr>td { + color: #ccc; +} + +fieldset>table>tbody>tr:nth-of-type(2n) { + background-color: #252526; +} + +table>tbody>tr>td, +table>tfoot>tr>td, +table>thead>tr>td { + border-top: 1px solid #252526; +} + +#swaptotal>div>div, +#swapfree>div>div, +#memfree>div>div, +#membuff>div>div, +#conns>div>div, +#memtotal>div>div { + background-color: #483d8b !important; + background-color: var(--dark-primary) !important; +} + +#swaptotal>div>div>div>small, +#swapfree>div>div>div>small, +#memfree>div>div>div>small, +#membuff>div>div>div>small, +#conns>div>div>div>small, +#memtotal>div>div>div>small { + + color: #ccc !important; +} + +.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; + + div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + background-color: transparent !important; + + div { + background-color: #32325d !important; + } + } + +} + + +table>tbody>tr>th, +table>tfoot>tr>th, +table>thead>tr>th { + + background-color: #252526; + border-bottom: black 1px solid !important; +} + +.cbi-rowstyle-2 { + background-color: #1e1e1e; +} + +.cbi-rowstyle-1 { + background-color: #252526; +} + +.cbi-section>h3:first-child, +.panel-title { + color: #ccc; + border-bottom: 0; +} + +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + background-color: #1e1e1f; +} + +.cbi-button { + color: #ccc; + background-color: #252526; +} + +.cbi-section-node { + background: none; + border-radius: 0 0 .375rem .375rem; + padding: 0rem; +} + +abbr { + color: #483d8b; + color: var(--dark-primary); + +} + +div>table>tbody>tr:nth-of-type(2n), +div>.table>.tbody>.tr:nth-of-type(2n) { + background-color: #252526; +} + +#content_syslog { + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35) +} + +#syslog { + color: #ccc; + background-color: #1e1e1e; +} + +#iwsvg, +#iwsvg2, +#bwsvg { + overflow: hidden; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); + background-color: #1e1e1e !important; +} + +.tabs { + background-color: #252526; +} + +.tabs>li[class~="active"]>a { + color: #ccc; +} + +.tabs>li[class~="active"], +.tabs>li:hover { + border-bottom: 0.18751rem solid #483d8b; + border-bottom: 0.18751rem solid var(--dark-primary); + color: #ccc; + background-color: #181819; +} + +.cbi-tabmenu>li>a, +.tabs>li>a { + color: #ccc; + + &:hover { + color: #ccc; + } +} + +.cbi-tabmenu>li { + background: #2d2d2d; +} + +.cbi-tabmenu { + border-bottom: 0px solid #ddd !important; +} + +.cbi-tabmenu li[class~="cbi-tab"] a { + color: #ccc; +} + +.cbi-tabmenu>li:hover { + color: #ccc; + background: #2d2d2d; +} + +.cbi-tabmenu>li[class~="cbi-tab"] { + background-color: #181819; +} + +.cbi-tabcontainer>.cbi-value:nth-of-type(2n) { + background-color: #252526; +} + +.cbi-value-title { + color: #ccc; +} + +select, +input { + color: #ccc; + background-color: transparent; + border: 1px solid #3c3c3c !important; + box-shadow: 0 3px 2px rgba(0, 0, 0, .05); +} + +select:not([multiple="multiple"]):focus, +input:focus { + border-color: #483d8b !important; + border-color: var(--dark-primary) !important; + background-color: transparent; + outline: 0; + box-shadow: none; +} + +select { + background-color: #1e1e1e !important; +} + +#cbi-dropbear h2, +#cbi-dropbear .cbi-map-descr, +#cbi-dropbear .cbi-map-descr abbr, +#cbi-rc h2, +#cbi-rc .cbi-map-descr, +#cbi-distfeedconf h2, +#cbi-distfeedconf .cbi-map-descr, +#cbi-customfeedconf h2, +#cbi-customfeedconf .cbi-map-descr, +#cbi-download h2, +#cbi-filelist h2 { + color: #ccc !important; +} + +.cbi-value-field>ul>li .ifacebadge { + background-color: #3c3c3c; +} + +.cbi-section-descr { + color: #ccc; +} + +.cbi-input-textarea { + background-color: #1e1e1e; + color: #ccc; +} + + + +.cbi-section-remove:nth-of-type(2n), +.cbi-section-node:nth-of-type(2n) { + background-color: #1e1e1e; +} + +.node-system-packages>.main table tr td:nth-last-child(1) { + color: #ccc; +} +.node-system-packages > .main .cbi-value > pre { + background-color: #333; +} + +.cbi-section-node .cbi-value { + padding: 1rem 1rem 0.3rem 1rem; +} + +.ifacebox { + background-color: none; + border: 1px solid #1e1e1e; +} + +.ifacebox-head { + color: #666; +} + +.ifacebox-body { + background-color: #333; +} + +.zonebadge strong { + color: #333; +} + +.zonebadge>.ifacebadge { + background-color: #3c3c3c; +} + +div.cbi-value var, +td.cbi-value-field var { + color: #483d8b; + color: var(--dark-primary); +} + +#diag-rc-output>pre { + color: #ccc; + background-color: #1e1e1e; +} + +.node-services-vssr .block { + background-color: #1e1e1e !important; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); +} + +.node-services-vssr .block h4 { + color: #ccc !important; +} + +.node-services-vssr .status-bar { + color: #ccc; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); + background-color: #1e1e1e; +} + +.node-services-vssr .cbi-section-table-row { + color: #ccc; + background-color: #3c3c3c !important; + box-shadow: 0 0 5px 0 rgba(0, 0, 0, .35) +} + +.node-services-vssr .cbi-section-table-row.fast { + background: #483d8b !important; + background: var(--dark-primary) !important; + color: #fff; +} + +.node-services-vssr .ssr-button { + color: #ccc; + +} + +.node-services-vssr .incon:nth-child(2) { + border-right: #1e1e1e 1px solid; +} + +.main .main-right #maincontent .container p { + color: #ccc; +} + +#xhr_poll_status>.label.success { + color: #ccc !important; + + background-color: darkolivegreen !important; +} + +.notice { + background-color: #483d8b !important; + background-color: var(--dark-primary) !important; +} + +.cbi-input-find, +.cbi-input-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-find, +.cbi-input-reload, +.cbi-button-reload { + background-color: darkseagreen !important; + border-color: darkseagreen !important; +} + +.cbi-button-reset, +.cbi-input-remove { + color: #fff !important; + background-color: darkorange !important; + border-color: darkorange !important; +} + +.cbi-page-actions .cbi-button-apply, +.cbi-section-actions .cbi-button-edit, +.cbi-button-edit.important, +.cbi-button-apply.important, +.cbi-button-reload.important, +.cbi-button-action.important { + border: 1px #483d8b solid !important; + border: 1px var(--dark-primary) solid !important; +} + + + +fieldset[id^="cbi-apply-"] { + background-color: #333333; +} + +#detail-bubble>div { + border: 1px solid #ccc; + border-radius: 2px; + padding: 5px; + background: #252525; +} + +.cbi-section-error { + color: darkorange; +} + +.node-services-vssr .block h4 span{ + color: #ccc !important; +} + +@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(var(--blur-radius-dark)); + backdrop-filter: blur(var(--blur-radius-dark)); + background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); + } +} + +@media screen and (max-width: 480px) { + .node-status-iptables>.main div>.cbi-map>form { + background-color: #1e1e1e; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); + } +} \ No newline at end of file diff --git a/luci-theme-argon/luasrc/view/themes/argon/footer.htm b/luci-theme-argon/luasrc/view/themes/argon/footer.htm new file mode 100644 index 00000000..51dd014f --- /dev/null +++ b/luci-theme-argon/luasrc/view/themes/argon/footer.htm @@ -0,0 +1,88 @@ +<%# + Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + + luci-theme-argon + Copyright 2019 Jerrykuku + + Have a bug? Please create an issue here on GitHub! + https://github.com/jerrykuku/luci-theme-argon/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008-2016 Jo-Philipp Wich + Copyright 2012 David Menting + + MUI: + https://github.com/muicss/mui + + luci-theme-material: + https://github.com/LuttyYang/luci-theme-material/ + + Agron Theme + https://demos.creative-tim.com/argon-dashboard/index.html + + Login background + https://unsplash.com/ + + Font generate by Icomoon + https://icomoon.io/ + + Licensed to the public under the Apache License 2.0 +-%> + +<% + local ver = require "luci.version" + local disp = require "luci.dispatcher" + local request = disp.context.path + local category = request[1] + local tree = disp.node() + local categories = disp.node_childs(tree) +%> + + + + + + + + + + + diff --git a/luci-theme-argon/luasrc/view/themes/argon/header.htm b/luci-theme-argon/luasrc/view/themes/argon/header.htm new file mode 100644 index 00000000..73019411 --- /dev/null +++ b/luci-theme-argon/luasrc/view/themes/argon/header.htm @@ -0,0 +1,321 @@ +<%# + Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template + + luci-theme-argon + Copyright 2020 Jerryk + + Have a bug? Please create an issue here on GitHub! + https://github.com/jerrykuku/luci-theme-argon/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008-2016 Jo-Philipp Wich + Copyright 2012 David Menting + + MUI: + https://github.com/muicss/mui + + Agron Theme + https://demos.creative-tim.com/argon-dashboard/index.html + + Licensed to the public under the Apache License 2.0 +-%> + +<% + local sys = require "luci.sys" + local util = require "luci.util" + local http = require "luci.http" + local disp = require "luci.dispatcher" + local fs = require "nixio.fs" + local nutil = require "nixio.util" + local uci = require 'luci.model.uci'.cursor() + + local boardinfo = util.ubus("system", "board") + + local request = disp.context.path + local request2 = disp.context.request + + local category = request[1] + local cattree = category and disp.node(category) + + local leaf = request2[#request2] + + local tree = disp.node() + local node = disp.context.dispatched + + local categories = disp.node_childs(tree) + + local c = tree + local i, r + + -- tag all nodes leading to this page + for i, r in ipairs(request) do + if c.nodes and c.nodes[r] then + c = c.nodes[r] + c._menu_selected = true + end + end + + -- send as HTML5 + http.prepare_content("text/html") + + local function nodeurl(prefix, name, query) + local u = url(prefix, name) + if query then + u = u .. http.build_querystring(query) + end + return pcdata(u) + end + + local function render_tabmenu(prefix, node, level) + if not level then + level = 1 + end + + local childs = disp.node_childs(node) + if #childs > 0 then + if level > 2 then + write('
    ') + end + + local selected_node + local selected_name + local i, v + + for i, v in ipairs(childs) do + local nnode = node.nodes[v] + if nnode._menu_selected then + selected_node = nnode + selected_name = v + end + + if level > 2 then + write('
  • %s
  • ' %{ + v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', + nodeurl(prefix, v, nnode.query), + striptags(translate(nnode.title)) + }) + end + end + + if level > 2 then + write('
') + end + + if selected_node then + render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) + end + end + end + + local function render_submenu(prefix, node) + local childs = disp.node_childs(node) + if #childs > 0 then + write('
    ') + + for i, r in ipairs(childs) do + local nnode = node.nodes[r] + local title = pcdata(striptags(translate(nnode.title))) + + write('
  • %s
  • ' %{ + title, + nodeurl(prefix, r, nnode.query), + title + }) + end + + write('
') + end + end + + local function render_topmenu() + local childs = disp.node_childs(cattree) + if #childs > 0 then + write('') + end + end + + local function render_changes() + -- calculate the number of unsaved changes + if tree.nodes[category] and tree.nodes[category].ucidata then + local ucichanges = 0 + for i, j in pairs(require("luci.model.uci").cursor():changes()) do + for k, l in pairs(j) do + for m, n in pairs(l) do + ucichanges = ucichanges + 1; + end + end + end + + if ucichanges > 0 then + write('%s: %d' %{ + url(category, 'uci/changes'), + http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), + translate('Unsaved Changes'), + ucichanges + }) + end + end + end + + math.randomseed(os.time()) + + -- Custom settings + local mode = 'normal' + local dark_css = fs.readfile('/www/luci-static/argon/css/dark.css') + local bar_color = '#5e72e4' + local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity + if fs.access('/etc/config/argon') then + primary = uci:get_first('argon', 'global', 'primary') + dark_primary = uci:get_first('argon', 'global', 'dark_primary') + blur_radius = uci:get_first('argon', 'global', 'blur') + blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') + blur_opacity = uci:get_first('argon', 'global', 'transparency') + blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') + mode = uci:get_first('argon', 'global', 'mode') + bar_color = mode == 'dark' and dark_primary or primary + end + + +-%> + + + + + + + <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> + - LuCI + + + + + + + + + + + + - LuCI"> + - LuCI"> + + + + + + + + + + + + + + + <% if node and node.css then %> + + <% end -%> + <% if css then %> + + <% end -%> + + + + + + + +
+
+ + <% render_topmenu() %> +
+
+
+
+
+ + <%=boardinfo.hostname or "?"%> +
+ <% render_changes() %> + +
+
+
+
+
+
+
+ <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> +
+

<%:No password set!%>

+

<%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> +

+ +
+ <%- end -%> + + + + <% if category then render_tabmenu(category, cattree) end %> diff --git a/luci-theme-argon/luasrc/view/themes/argon/header_login.htm b/luci-theme-argon/luasrc/view/themes/argon/header_login.htm new file mode 100644 index 00000000..6a83d8d6 --- /dev/null +++ b/luci-theme-argon/luasrc/view/themes/argon/header_login.htm @@ -0,0 +1,135 @@ +<%# + Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template + + luci-theme-argon + Copyright 2020 Jerryk + + Have a bug? Please create an issue here on GitHub! + https://github.com/jerrykuku/luci-theme-argon/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008-2016 Jo-Philipp Wich + Copyright 2012 David Menting + + MUI: + https://github.com/muicss/mui + + Agron Theme + https://demos.creative-tim.com/argon-dashboard/index.html + + Licensed to the public under the Apache License 2.0 +-%> + +<% + local sys = require "luci.sys" + local util = require "luci.util" + local http = require "luci.http" + local disp = require "luci.dispatcher" + + local fs = require "nixio.fs" + local nutil = require "nixio.util" + local uci = require 'luci.model.uci'.cursor() + local boardinfo = util.ubus("system", "board") + + local request = disp.context.path + local request2 = disp.context.request + + local category = request[1] + local cattree = category and disp.node(category) + + local leaf = request2[#request2] + + local tree = disp.node() + local node = disp.context.dispatched + + local categories = disp.node_childs(tree) + + local c = tree + local i, r + + math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 9))) + + -- Custom settings + local mode = 'normal' + local dark_css = fs.readfile('/www/luci-static/argon/css/dark.css') + local bar_color = '#5e72e4' + local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity + if fs.access('/etc/config/argon') then + primary = uci:get_first('argon', 'global', 'primary') + dark_primary = uci:get_first('argon', 'global', 'dark_primary') + blur_radius = uci:get_first('argon', 'global', 'blur') + blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') + blur_opacity = uci:get_first('argon', 'global', 'transparency') + blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') + mode = uci:get_first('argon', 'global', 'mode') + bar_color = mode == 'dark' and dark_primary or primary + end +-%> + + + + + + + <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI + + + + + + + + + + + + + - LuCI"> + - LuCI"> + + + + + + + + + + + + + + + + <% if node and node.css then %> + + <% end -%> + <% if css then %> + + <% end -%> + + + + + + + \ No newline at end of file diff --git a/luci-theme-jj/luasrc/view/themes/JJTheme/header_login.htm b/luci-theme-argon/luasrc/view/themes/argon/out_header_login.htm similarity index 100% rename from luci-theme-jj/luasrc/view/themes/JJTheme/header_login.htm rename to luci-theme-argon/luasrc/view/themes/argon/out_header_login.htm diff --git a/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm b/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm new file mode 100644 index 00000000..f4ec24ab --- /dev/null +++ b/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm @@ -0,0 +1,170 @@ +<%# + Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template + + luci-theme-argon + Copyright 2020 Jerryk + + Have a bug? Please create an issue here on GitHub! + https://github.com/jerrykuku/luci-theme-argon/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008-2016 Jo-Philipp Wich + Copyright 2012 David Menting + + MUI: + https://github.com/muicss/mui + + Agron Theme + https://demos.creative-tim.com/argon-dashboard/index.html + + Licensed to the public under the Apache License 2.0 +-%> + +<%+header_login%> +<% + local util = require "luci.util" + local boardinfo = util.ubus("system", "board") + local fs = require "nixio.fs" + local nutil = require "nixio.util" + local uci = require 'luci.model.uci'.cursor() + local theme_dir = media .. "/background/" + function glob(...) + local iter, code, msg = fs.glob(...) + if iter then + return nutil.consume(iter) + else + return nil, code, msg + end + end + + function getExtension(str) + return str:match(".+%.(%w+)$") + end + + function fetchMedia(path) + local bgArr = {} + local numBg = 0 + for i, f in ipairs(glob(path)) do + attr = fs.stat(f) + if attr then + local ext = getExtension(fs.basename(f)) + if ext == "jpg" or ext == "png" or ext == "gif" or ext == "mp4" then + local bg = {} + bg.type = ext + bg.url = theme_dir .. fs.basename(f) + table.insert(bgArr,bg) + numBg = numBg + 1 + end + end + end + return bgArr,numBg + end + + local bgcount = 0 + local currentBg = {} + local bgs = {} + local theme_dir = media .. "/background/" + local bing_background = fs.access('/etc/config/argon') and uci:get_first('argon', 'global', 'bing_background') or "0" + bgs,bgcount=fetchMedia("/www" .. theme_dir .. "*") +%> + - - - - - - \ No newline at end of file diff --git a/luci-theme-jj/luasrc/view/themes/JJTheme/header.htm b/luci-theme-jj/luasrc/view/themes/JJTheme/header.htm deleted file mode 100644 index e06cb01e..00000000 --- a/luci-theme-jj/luasrc/view/themes/JJTheme/header.htm +++ /dev/null @@ -1,341 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2016 Jo-Philipp Wich - Copyright 2021 Jackson Chan - Licensed to the public under the Apache License 2.0. --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - - local ver = require "luci.version" - local unameinfo = nixio.uname() or { } - local sysinfo = luci.util.ubus("system", "info") or { } - - local boardinfo = util.ubus("system", "board") - - local request = disp.context.path - local request2 = disp.context.request - - local category = request[1] - local cattree = category and disp.node(category) - - local leaf = request2[#request2] - - local tree = disp.node() - local node = disp.context.dispatched - - local categories = disp.node_childs(tree) - - local c = tree - local i, r - - -- tag all nodes leading to this page - for i, r in ipairs(request) do - if c.nodes and c.nodes[r] then - c = c.nodes[r] - c._menu_selected = true - end - end - - -- send as HTML5 - http.prepare_content("text/html") - - local function nodeurl(prefix, name, query) - local u = url(prefix, name) - if query then - u = u .. http.build_querystring(query) - end - return pcdata(u) - end - - local function render_tabmenu(prefix, node, level) - if not level then - level = 1 - end - - local childs = disp.node_childs(node) - if #childs > 0 then - if level > 2 then - write('
    ') - end - - local selected_node - local selected_name - local i, v - - for i, v in ipairs(childs) do - local nnode = node.nodes[v] - if nnode._menu_selected then - selected_node = nnode - selected_name = v - end - - if level > 2 then - write('
  • %s
  • ' %{ - v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', - nodeurl(prefix, v, nnode.query), - striptags(translate(nnode.title)) - }) - end - end - - if level > 2 then - write('
') - end - - if selected_node then - render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) - end - end - end - - local function render_submenu(prefix, node) - local childs = disp.node_childs(node) - if #childs > 0 then - write('') - end - end - - local function render_topmenu() - local childs = disp.node_childs(cattree) - if #childs > 0 then - write('') - end - end - - local function render_changes() - -- calculate the number of unsaved changes - if tree.nodes[category] and tree.nodes[category].ucidata then - local ucichanges = 0 - - for i, j in pairs(require("luci.model.uci").cursor():changes()) do - for k, l in pairs(j) do - for m, n in pairs(l) do - ucichanges = ucichanges + 1; - end - end - end - - if ucichanges > 0 then - write('%s: %d' %{ - url(category, 'uci/changes'), - http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), - translate('Unsaved Changes'), - ucichanges - }) - end - end - end --%> - - - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - - LuCI - - - - <% if not category then %> - - <% end -%> - - - <% if node and node.css then %> - - <% end -%> - - <% if css then %> - - <% end -%> - - - - - - - <% if not category then %> -