From 36297b91320db0a40ebb214e3063187564339234 Mon Sep 17 00:00:00 2001 From: celeron533 Date: Tue, 3 Sep 2019 22:30:15 +0800 Subject: [PATCH] Refine PAC resources - Uncompress the text file for better version control - Touch the PAC files in first place --- .../Controller/Service/GfwListUpdater.cs | 2 +- .../Controller/Service/PACDaemon.cs | 23 +- shadowsocks-csharp/Data/abp.js | 792 ++ shadowsocks-csharp/Data/abp.js.gz | Bin 4613 -> 0 bytes shadowsocks-csharp/Data/proxy.pac.txt | 8040 +++++++++++++++++ shadowsocks-csharp/Data/proxy.pac.txt.gz | Bin 46605 -> 0 bytes .../Properties/Resources.Designer.cs | 52 +- shadowsocks-csharp/Properties/Resources.resx | 4 +- shadowsocks-csharp/shadowsocks-csharp.csproj | 4 +- 9 files changed, 8890 insertions(+), 27 deletions(-) create mode 100644 shadowsocks-csharp/Data/abp.js delete mode 100755 shadowsocks-csharp/Data/abp.js.gz create mode 100644 shadowsocks-csharp/Data/proxy.pac.txt delete mode 100755 shadowsocks-csharp/Data/proxy.pac.txt.gz diff --git a/shadowsocks-csharp/Controller/Service/GfwListUpdater.cs b/shadowsocks-csharp/Controller/Service/GfwListUpdater.cs index bc14b39b..d6f77345 100644 --- a/shadowsocks-csharp/Controller/Service/GfwListUpdater.cs +++ b/shadowsocks-csharp/Controller/Service/GfwListUpdater.cs @@ -69,7 +69,7 @@ namespace Shadowsocks.Controller } else { - abpContent = Utils.UnGzip(Resources.abp_js); + abpContent = Resources.abp_js; } List userruleLines = new List(); diff --git a/shadowsocks-csharp/Controller/Service/PACDaemon.cs b/shadowsocks-csharp/Controller/Service/PACDaemon.cs index 76be30aa..0520d858 100644 --- a/shadowsocks-csharp/Controller/Service/PACDaemon.cs +++ b/shadowsocks-csharp/Controller/Service/PACDaemon.cs @@ -27,6 +27,9 @@ namespace Shadowsocks.Controller public PACDaemon() { + TouchPACFile(); + TouchUserRuleFile(); + this.WatchPacFile(); this.WatchUserRuleFile(); } @@ -34,28 +37,20 @@ namespace Shadowsocks.Controller public string TouchPACFile() { - if (File.Exists(PAC_FILE)) - { - return PAC_FILE; - } - else + if (!File.Exists(PAC_FILE)) { - FileManager.UncompressFile(PAC_FILE, Resources.proxy_pac_txt); - return PAC_FILE; + File.WriteAllText(PAC_FILE, Resources.proxy_pac_txt); } + return PAC_FILE; } internal string TouchUserRuleFile() { - if (File.Exists(USER_RULE_FILE)) - { - return USER_RULE_FILE; - } - else + if (!File.Exists(USER_RULE_FILE)) { File.WriteAllText(USER_RULE_FILE, Resources.user_rule); - return USER_RULE_FILE; } + return USER_RULE_FILE; } internal string GetPACContent() @@ -66,7 +61,7 @@ namespace Shadowsocks.Controller } else { - return Utils.UnGzip(Resources.proxy_pac_txt); + return Resources.proxy_pac_txt; } } diff --git a/shadowsocks-csharp/Data/abp.js b/shadowsocks-csharp/Data/abp.js new file mode 100644 index 00000000..132987cf --- /dev/null +++ b/shadowsocks-csharp/Data/abp.js @@ -0,0 +1,792 @@ +// Generated by gfwlist2pac in precise mode +// https://github.com/clowwindy/gfwlist2pac + +// 2019-02-08: Updated to support shadowsocks-windows user rules. + +var proxy = "__PROXY__"; + +var userrules = __USERRULES__; +var rules = __RULES__; + +/* +* This file is part of Adblock Plus , +* Copyright (C) 2006-2014 Eyeo GmbH +* +* Adblock Plus is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 3 as +* published by the Free Software Foundation. +* +* Adblock Plus 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 Adblock Plus. If not, see . +*/ + +function createDict() +{ + var result = {}; + result.__proto__ = null; + return result; +} + +function getOwnPropertyDescriptor(obj, key) +{ + if (obj.hasOwnProperty(key)) + { + return obj[key]; + } + return null; +} + +function extend(subclass, superclass, definition) +{ + if (Object.__proto__) + { + definition.__proto__ = superclass.prototype; + subclass.prototype = definition; + } + else + { + var tmpclass = function(){}, ret; + tmpclass.prototype = superclass.prototype; + subclass.prototype = new tmpclass(); + subclass.prototype.constructor = superclass; + for (var i in definition) + { + if (definition.hasOwnProperty(i)) + { + subclass.prototype[i] = definition[i]; + } + } + } +} + +function Filter(text) +{ + this.text = text; + this.subscriptions = []; +} +Filter.prototype = { + text: null, + subscriptions: null, + toString: function() + { + return this.text; + } +}; +Filter.knownFilters = createDict(); +Filter.elemhideRegExp = /^([^\/\*\|\@"!]*?)#(\@)?(?:([\w\-]+|\*)((?:\([\w\-]+(?:[$^*]?=[^\(\)"]*)?\))*)|#([^{}]+))$/; +Filter.regexpRegExp = /^(@@)?\/.*\/(?:\$~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)?$/; +Filter.optionsRegExp = /\$(~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)$/; +Filter.fromText = function(text) +{ + if (text in Filter.knownFilters) + { + return Filter.knownFilters[text]; + } + var ret; + if (text.charAt(0) == "!") + { + ret = new CommentFilter(text); + } + else + { + ret = RegExpFilter.fromText(text); + } + Filter.knownFilters[ret.text] = ret; + return ret; +}; + +function InvalidFilter(text, reason) +{ + Filter.call(this, text); + this.reason = reason; +} +extend(InvalidFilter, Filter, { + reason: null +}); + +function CommentFilter(text) +{ + Filter.call(this, text); +} +extend(CommentFilter, Filter, { +}); + +function ActiveFilter(text, domains) +{ + Filter.call(this, text); + this.domainSource = domains; +} +extend(ActiveFilter, Filter, { + domainSource: null, + domainSeparator: null, + ignoreTrailingDot: true, + domainSourceIsUpperCase: false, + getDomains: function() + { + var prop = getOwnPropertyDescriptor(this, "domains"); + if (prop) + { + return prop; + } + var domains = null; + if (this.domainSource) + { + var source = this.domainSource; + if (!this.domainSourceIsUpperCase) + { + source = source.toUpperCase(); + } + var list = source.split(this.domainSeparator); + if (list.length == 1 && (list[0]).charAt(0) != "~") + { + domains = createDict(); + domains[""] = false; + if (this.ignoreTrailingDot) + { + list[0] = list[0].replace(/\.+$/, ""); + } + domains[list[0]] = true; + } + else + { + var hasIncludes = false; + for (var i = 0; i < list.length; i++) + { + var domain = list[i]; + if (this.ignoreTrailingDot) + { + domain = domain.replace(/\.+$/, ""); + } + if (domain == "") + { + continue; + } + var include; + if (domain.charAt(0) == "~") + { + include = false; + domain = domain.substr(1); + } + else + { + include = true; + hasIncludes = true; + } + if (!domains) + { + domains = createDict(); + } + domains[domain] = include; + } + domains[""] = !hasIncludes; + } + this.domainSource = null; + } + return this.domains; + }, + sitekeys: null, + isActiveOnDomain: function(docDomain, sitekey) + { + if (this.getSitekeys() && (!sitekey || this.getSitekeys().indexOf(sitekey.toUpperCase()) < 0)) + { + return false; + } + if (!this.getDomains()) + { + return true; + } + if (!docDomain) + { + return this.getDomains()[""]; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + while (true) + { + if (docDomain in this.getDomains()) + { + return this.domains[docDomain]; + } + var nextDot = docDomain.indexOf("."); + if (nextDot < 0) + { + break; + } + docDomain = docDomain.substr(nextDot + 1); + } + return this.domains[""]; + }, + isActiveOnlyOnDomain: function(docDomain) + { + if (!docDomain || !this.getDomains() || this.getDomains()[""]) + { + return false; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + for (var domain in this.getDomains()) + { + if (this.domains[domain] && domain != docDomain && (domain.length <= docDomain.length || domain.indexOf("." + docDomain) != domain.length - docDomain.length - 1)) + { + return false; + } + } + return true; + } +}); + +function RegExpFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + ActiveFilter.call(this, text, domains, sitekeys); + if (contentType != null) + { + this.contentType = contentType; + } + if (matchCase) + { + this.matchCase = matchCase; + } + if (thirdParty != null) + { + this.thirdParty = thirdParty; + } + if (sitekeys != null) + { + this.sitekeySource = sitekeys; + } + if (regexpSource.length >= 2 && regexpSource.charAt(0) == "/" && regexpSource.charAt(regexpSource.length - 1) == "/") + { + var regexp = new RegExp(regexpSource.substr(1, regexpSource.length - 2), this.matchCase ? "" : "i"); + this.regexp = regexp; + } + else + { + this.regexpSource = regexpSource; + } +} +extend(RegExpFilter, ActiveFilter, { + domainSourceIsUpperCase: true, + length: 1, + domainSeparator: "|", + regexpSource: null, + getRegexp: function() + { + var prop = getOwnPropertyDescriptor(this, "regexp"); + if (prop) + { + return prop; + } + var source = this.regexpSource.replace(/\*+/g, "*").replace(/\^\|$/, "^").replace(/\W/g, "\\$&").replace(/\\\*/g, ".*").replace(/\\\^/g, "(?:[\\x00-\\x24\\x26-\\x2C\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B-\\x7F]|$)").replace(/^\\\|\\\|/, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?").replace(/^\\\|/, "^").replace(/\\\|$/, "$").replace(/^(\.\*)/, "").replace(/(\.\*)$/, ""); + var regexp = new RegExp(source, this.matchCase ? "" : "i"); + this.regexp = regexp; + return regexp; + }, + contentType: 2147483647, + matchCase: false, + thirdParty: null, + sitekeySource: null, + getSitekeys: function() + { + var prop = getOwnPropertyDescriptor(this, "sitekeys"); + if (prop) + { + return prop; + } + var sitekeys = null; + if (this.sitekeySource) + { + sitekeys = this.sitekeySource.split("|"); + this.sitekeySource = null; + } + this.sitekeys = sitekeys; + return this.sitekeys; + }, + matches: function(location, contentType, docDomain, thirdParty, sitekey) + { + if (this.getRegexp().test(location) && this.isActiveOnDomain(docDomain, sitekey)) + { + return true; + } + return false; + } +}); +RegExpFilter.prototype["0"] = "#this"; +RegExpFilter.fromText = function(text) +{ + var blocking = true; + var origText = text; + if (text.indexOf("@@") == 0) + { + blocking = false; + text = text.substr(2); + } + var contentType = null; + var matchCase = null; + var domains = null; + var sitekeys = null; + var thirdParty = null; + var collapse = null; + var options; + var match = text.indexOf("$") >= 0 ? Filter.optionsRegExp.exec(text) : null; + if (match) + { + options = match[1].toUpperCase().split(","); + text = match.input.substr(0, match.index); + for (var _loopIndex6 = 0; _loopIndex6 < options.length; ++_loopIndex6) + { + var option = options[_loopIndex6]; + var value = null; + var separatorIndex = option.indexOf("="); + if (separatorIndex >= 0) + { + value = option.substr(separatorIndex + 1); + option = option.substr(0, separatorIndex); + } + option = option.replace(/-/, "_"); + if (option in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = 0; + } + contentType |= RegExpFilter.typeMap[option]; + } + else if (option.charAt(0) == "~" && option.substr(1) in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap[option.substr(1)]; + } + else if (option == "MATCH_CASE") + { + matchCase = true; + } + else if (option == "~MATCH_CASE") + { + matchCase = false; + } + else if (option == "DOMAIN" && typeof value != "undefined") + { + domains = value; + } + else if (option == "THIRD_PARTY") + { + thirdParty = true; + } + else if (option == "~THIRD_PARTY") + { + thirdParty = false; + } + else if (option == "COLLAPSE") + { + collapse = true; + } + else if (option == "~COLLAPSE") + { + collapse = false; + } + else if (option == "SITEKEY" && typeof value != "undefined") + { + sitekeys = value; + } + else + { + return new InvalidFilter(origText, "Unknown option " + option.toLowerCase()); + } + } + } + if (!blocking && (contentType == null || contentType & RegExpFilter.typeMap.DOCUMENT) && (!options || options.indexOf("DOCUMENT") < 0) && !/^\|?[\w\-]+:/.test(text)) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap.DOCUMENT; + } + try + { + if (blocking) + { + return new BlockingFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys, collapse); + } + else + { + return new WhitelistFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys); + } + } + catch (e) + { + return new InvalidFilter(origText, e); + } +}; +RegExpFilter.typeMap = { + OTHER: 1, + SCRIPT: 2, + IMAGE: 4, + STYLESHEET: 8, + OBJECT: 16, + SUBDOCUMENT: 32, + DOCUMENT: 64, + XBL: 1, + PING: 1, + XMLHTTPREQUEST: 2048, + OBJECT_SUBREQUEST: 4096, + DTD: 1, + MEDIA: 16384, + FONT: 32768, + BACKGROUND: 4, + POPUP: 268435456, + ELEMHIDE: 1073741824 +}; +RegExpFilter.prototype.contentType &= ~ (RegExpFilter.typeMap.ELEMHIDE | RegExpFilter.typeMap.POPUP); + +function BlockingFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys, collapse) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); + this.collapse = collapse; +} +extend(BlockingFilter, RegExpFilter, { + collapse: null +}); + +function WhitelistFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); +} +extend(WhitelistFilter, RegExpFilter, { +}); + +function Matcher() +{ + this.clear(); +} +Matcher.prototype = { + filterByKeyword: null, + keywordByFilter: null, + clear: function() + { + this.filterByKeyword = createDict(); + this.keywordByFilter = createDict(); + }, + add: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return; + } + var keyword = this.findKeyword(filter); + var oldEntry = this.filterByKeyword[keyword]; + if (typeof oldEntry == "undefined") + { + this.filterByKeyword[keyword] = filter; + } + else if (oldEntry.length == 1) + { + this.filterByKeyword[keyword] = [oldEntry, filter]; + } + else + { + oldEntry.push(filter); + } + this.keywordByFilter[filter.text] = keyword; + }, + remove: function(filter) + { + if (!(filter.text in this.keywordByFilter)) + { + return; + } + var keyword = this.keywordByFilter[filter.text]; + var list = this.filterByKeyword[keyword]; + if (list.length <= 1) + { + delete this.filterByKeyword[keyword]; + } + else + { + var index = list.indexOf(filter); + if (index >= 0) + { + list.splice(index, 1); + if (list.length == 1) + { + this.filterByKeyword[keyword] = list[0]; + } + } + } + delete this.keywordByFilter[filter.text]; + }, + findKeyword: function(filter) + { + var result = ""; + var text = filter.text; + if (Filter.regexpRegExp.test(text)) + { + return result; + } + var match = Filter.optionsRegExp.exec(text); + if (match) + { + text = match.input.substr(0, match.index); + } + if (text.substr(0, 2) == "@@") + { + text = text.substr(2); + } + var candidates = text.toLowerCase().match(/[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])/g); + if (!candidates) + { + return result; + } + var hash = this.filterByKeyword; + var resultCount = 16777215; + var resultLength = 0; + for (var i = 0, l = candidates.length; i < l; i++) + { + var candidate = candidates[i].substr(1); + var count = candidate in hash ? hash[candidate].length : 0; + if (count < resultCount || count == resultCount && candidate.length > resultLength) + { + result = candidate; + resultCount = count; + resultLength = candidate.length; + } + } + return result; + }, + hasFilter: function(filter) + { + return filter.text in this.keywordByFilter; + }, + getKeywordForFilter: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return this.keywordByFilter[filter.text]; + } + else + { + return null; + } + }, + _checkEntryMatch: function(keyword, location, contentType, docDomain, thirdParty, sitekey) + { + var list = this.filterByKeyword[keyword]; + for (var i = 0; i < list.length; i++) + { + var filter = list[i]; + if (filter == "#this") + { + filter = list; + } + if (filter.matches(location, contentType, docDomain, thirdParty, sitekey)) + { + return filter; + } + } + return null; + }, + matchesAny: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.filterByKeyword) + { + var result = this._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + } + return null; + } +}; + +function CombinedMatcher() +{ + this.blacklist = new Matcher(); + this.whitelist = new Matcher(); + this.resultCache = createDict(); +} +CombinedMatcher.maxCacheEntries = 1000; +CombinedMatcher.prototype = { + blacklist: null, + whitelist: null, + resultCache: null, + cacheEntries: 0, + clear: function() + { + this.blacklist.clear(); + this.whitelist.clear(); + this.resultCache = createDict(); + this.cacheEntries = 0; + }, + add: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.add(filter); + } + else + { + this.blacklist.add(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + remove: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.remove(filter); + } + else + { + this.blacklist.remove(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + findKeyword: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.findKeyword(filter); + } + else + { + return this.blacklist.findKeyword(filter); + } + }, + hasFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.hasFilter(filter); + } + else + { + return this.blacklist.hasFilter(filter); + } + }, + getKeywordForFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.getKeywordForFilter(filter); + } + else + { + return this.blacklist.getKeywordForFilter(filter); + } + }, + isSlowFilter: function(filter) + { + var matcher = filter instanceof WhitelistFilter ? this.whitelist : this.blacklist; + if (matcher.hasFilter(filter)) + { + return !matcher.getKeywordForFilter(filter); + } + else + { + return !matcher.findKeyword(filter); + } + }, + matchesAnyInternal: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + var blacklistHit = null; + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.whitelist.filterByKeyword) + { + var result = this.whitelist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + if (substr in this.blacklist.filterByKeyword && blacklistHit === null) + { + blacklistHit = this.blacklist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + } + } + return blacklistHit; + }, + matchesAny: function(location, docDomain) + { + var key = location + " " + docDomain + " "; + if (key in this.resultCache) + { + return this.resultCache[key]; + } + var result = this.matchesAnyInternal(location, 0, docDomain, null, null); + if (this.cacheEntries >= CombinedMatcher.maxCacheEntries) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + this.resultCache[key] = result; + this.cacheEntries++; + return result; + } +}; + +var userrulesMatcher = new CombinedMatcher(); +var defaultMatcher = new CombinedMatcher(); + +var direct = 'DIRECT;'; + +for (var i = 0; i < userrules.length; i++) { + userrulesMatcher.add(Filter.fromText(userrules[i])); +} + +for (var i = 0; i < rules.length; i++) { + defaultMatcher.add(Filter.fromText(rules[i])); +} + +function FindProxyForURL(url, host) { + if (userrulesMatcher.matchesAny(url, host) instanceof BlockingFilter) { + return proxy; + } + if (userrulesMatcher.matchesAny(url, host) instanceof WhitelistFilter) { + return direct; + } + if (defaultMatcher.matchesAny(url, host) instanceof BlockingFilter) { + return proxy; + } + return direct; +} diff --git a/shadowsocks-csharp/Data/abp.js.gz b/shadowsocks-csharp/Data/abp.js.gz deleted file mode 100755 index 740cb462a86e2b7384d230ecdb7c62ba840942a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4613 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 diff --git a/shadowsocks-csharp/Data/proxy.pac.txt b/shadowsocks-csharp/Data/proxy.pac.txt new file mode 100644 index 00000000..4b0a6a22 --- /dev/null +++ b/shadowsocks-csharp/Data/proxy.pac.txt @@ -0,0 +1,8040 @@ +// Generated by gfwlist2pac in precise mode +// https://github.com/clowwindy/gfwlist2pac + +// 2019-02-08: Updated to support shadowsocks-windows user rules. + +var proxy = "__PROXY__"; + +var userrules = []; +var rules = [ + "|http://85.17.73.31/", + "||agnesb.fr", + "||akiba-web.com", + "||altrec.com", + "||angela-merkel.de", + "||angola.org", + "||apartmentratings.com", + "||apartments.com", + "||arena.taipei", + "||asianspiss.com", + "||assimp.org", + "||athenaeizou.com", + "||azubu.tv", + "||bankmobilevibe.com", + "||banorte.com", + "||bash-hackers.org", + "||beeg.com", + "||global.bing.com", + "||bloombergview.com", + "||booktopia.com.au", + "||boysmaster.com", + "||bynet.co.il", + "||carfax.com", + ".casinobellini.com", + "||casinobellini.com", + "||centauro.com.br", + "||chobit.cc", + "||clearsurance.com", + "||images.comico.tw", + "||static.comico.tw", + "||counter.social", + "||costco.com", + "||crossfire.co.kr", + "||d2pass.com", + "||darpa.mil", + "||dawangidc.com", + "||deezer.com", + "||desipro.de", + "||dingchin.com.tw", + "||discordapp.com", + "||discordapp.net", + "||dish.com", + "|http://img.dlsite.jp/", + "||dm530.net", + "share.dmhy.org", + "@@|https://share.dmhy.org", + "||dmm.co.jp", + "|http://www.dmm.com/netgame", + "||dnvod.tv", + "||dvdpac.com", + "||eesti.ee", + "||esurance.com", + ".expekt.com", + "||expekt.com", + ".extmatrix.com", + "||extmatrix.com", + "||fakku.net", + "||fastpic.ru", + "||filesor.com", + "||financetwitter.com", + "||flipboard.com", + "||flitto.com", + "||fnac.be", + "||fnac.com", + "||funkyimg.com", + "||fxnetworks.com", + "||g-area.org", + "||gettyimages.com", + "||getuploader.com", + "|https://raw.githubusercontent.com/programthink/zhao", + "||glass8.eu", + "||glype.com", + "||go141.com", + "||guo.media", + "||hautelook.com", + "||hautelookcdn.com", + "||wego.here.com", + "||gamer-cds.cdn.hinet.net", + "||gamer2-cds.cdn.hinet.net", + "||hmvdigital.ca", + "||hmvdigital.com", + "||homedepot.com", + "||hoovers.com", + "||hulu.com", + "||huluim.com", + "|http://secure.hustler.com", + "|http://hustlercash.com", + "|http://www.hustlercash.com", + "||hybrid-analysis.com", + "||cdn*.i-scmp.com", + "||ilovelongtoes.com", + "|http://imgmega.com/*.gif.html", + "|http://imgmega.com/*.jpg.html", + "|http://imgmega.com/*.jpeg.html", + "|http://imgmega.com/*.png.html", + "|http://imgur.com/upload", + "|https://imgur.com/upload", + "||imlive.com", + "||tw.iqiyi.com", + "||javhub.net", + "||javhuge.com", + ".javlibrary.com", + "||javlibrary.com", + "||jcpenney.com", + "||jims.net", + "||jukujo-club.com", + "||juliepost.com", + "||kawaiikawaii.jp", + "||kendatire.com", + "||khatrimaza.org", + "||kkbox.com", + "||leisurepro.com", + "||lifemiles.com", + "||longtoes.com", + "||lovetvshow.com", + "|http://www.m-sport.co.uk", + "||macgamestore.com", + "||madonna-av.com", + "||mangafox.com", + "||mangafox.me", + "||manta.com", + "||matome-plus.com", + "||matome-plus.net", + "||mattwilcox.net", + "||metarthunter.com", + "||mfxmedia.com", + "||mojim.com", + "||kb.monitorware.com", + "||monster.com", + "||moodyz.com", + "||moonbingo.com", + "||mos.ru", + "||msha.gov", + "||muzu.tv", + "||mvg.jp", + ".mybet.com", + "||mybet.com", + "||nationwide.com", + "|http://www.nbc.com/live", + "||neo-miracle.com", + "||netflix.com", + "||nflximg.com", + "||nflximg.net", + "||nflxext.com", + "||nflxso.net", + "||nflxvideo.net", + "||nic.gov", + "|http://mo.nightlife141.com", + "||nordstrom.com", + "||nordstromimage.com", + "||nordstromrack.com", + "||nottinghampost.com", + "||npsboost.com", + "||ntdtv.cz", + "||s1.nudezz.com", + "||nusatrip.com", + "||nuuvem.com", + "||omni7.jp", + "||onapp.com", + "||ontrac.com", + "@@|http://blog.ontrac.com", + "||pandora.com", + ".pandora.tv", + "||parkansky.com", + "||phmsociety.org", + "|http://*.pimg.tw/", + "||pure18.com", + "||pytorch.org", + "||qq.co.za", + "||r18.com", + "|http://radiko.jp", + "||ramcity.com.au", + "||rd.com", + "||rdio.com", + "|https://riseup.net", + "||sadistic-v.com", + "||isc.sans.edu", + "|http://cdn*.search.xxx/", + "||shiksha.com", + "||slacker.com", + "||sm-miracle.com", + "||soylentnews.org", + "||spotify.com", + "||spreadshirt.es", + "||springboardplatform.com", + "||sprite.org", + "@@|http://store.sprite.org", + "||superokayama.com", + "||superpages.com", + "||swagbucks.com", + "||switch1.jp", + "||tapanwap.com", + "||gsp.target.com", + "||login.target.com", + "||rcam.target.com", + "||thinkgeek.com", + "||thebodyshop-usa.com", + "||tma.co.jp", + "||tracfone.com", + "||tryheart.jp", + "||turntable.fm", + "||twerkingbutt.com", + "||ulop.net", + "||uukanshu.com", + "||vegasred.com", + "||vevo.com", + "||vip-enterprise.com", + "|http://viu.tv/ch/", + "|http://viu.tv/encore/", + "||vmpsoft.com", + "|http://ecsm.vs.com/", + "||wanz-factory.com", + "||ssl.webpack.de", + "||wheretowatch.com", + "||wingamestore.com", + "||wizcrafts.net", + "||vod.wwe.com", + "||xfinity.com", + "||youwin.com", + "||ytn.co.kr", + "||zattoo.com", + "||zim.vn", + "||zozotown.com", + "||1.1.1.1", + "14.102.250.18", + "14.102.250.19", + "50.7.31.230:8898", + "174.142.105.153", + "69.65.19.160", + "||xn--4gq171p.com", + "||xn--czq75pvv1aj5c.org", + "||xn--i2ru8q2qg.com", + "||xn--oiq.cc", + "||xn--p8j9a0d9c9a.xn--q9jyb4c", + "||abebooks.com", + "|https://*.s3.amazonaws.com", + "||s3-ap-southeast-2.amazonaws.com", + "||43110.cf", + "||agro.hk", + "||apkmirror.com", + "||arte.tv", + "||bangdream.space", + "||behance.net", + "||bird.so", + "||zh.bitterwinter.org", + "||bnn.co", + "||businessinsider.com", + "||boomssr.com", + "||bwgyhw.com", + "||castbox.fm", + "||clyp.it", + "||cmcn.org", + "||cmx.im", + "||dailyview.tw", + "||depositphotos.com", + "||doubibackup.com", + "||doubmirror.cf", + "||fangeqiang.com", + "||cloud.feedly.com", + "||flyzy2005.com", + "||foreignpolicy.com", + "||free-ss.site", + "||blog.fuckgfw233.org", + "||g0v.social", + "||globalvoices.org", + "||glorystar.me", + "||goregrish.com", + "||hbo.com", + "||spaces.hightail.com", + "||hkgalden.com", + "||hkgolden.com", + "||hudson.org", + "||ipfs.io", + "||japantimes.co.jp", + "||jiji.com", + "||jintian.net", + "||jinx.com", + "||joinmastodon.org", + "||liangzhichuanmei.com", + "||lihkg.com", + "||line-scdn.net", + "||i.lithium.com", + "||cloud.mail.ru", + "||cdn-images.mailchimp.com", + "||mastodon.cloud", + "||mastodon.host", + "||mastodon.social", + "||matters.news", + "||me.me", + "||metart.com", + "||mohu.club", + "||mohu.ml", + "||motiyun.com", + "||msa-it.org", + "||dictionary.goo.ne.jp", + "||go.nesnode.com", + "||international-news.newsmagazine.asia", + "||nikkei.com", + "||niu.moe", + "||nofile.io", + "||now.com", + "||sukebei.nyaa.si", + "||openvpn.org", + "||onejav.com", + "||paste.ee", + "||my.pcloud.com", + "||picacomic.com", + "||pincong.rocks", + "||pixiv.net", + "||premproxy.com", + "||protonvpn.com", + "||api.pureapk.com", + "||quora.com", + "||quoracdn.net", + "||cdn.seatguru.com", + "||secure.raxcdn.com", + "||redd.it", + "||reddit.com", + ".redditlist.com", + "|http://redditlist.com", + "||redditmedia.com", + "||redditstatic.com", + "||rixcloud.com", + "||rixcloud.us", + "||rsdlmonitor.com", + "||shadowsocks.be", + "||shadowsocks9.com", + "||tn1.shemalez.com", + "||tn2.shemalez.com", + "||tn3.shemalez.com", + "||static.shemalez.com", + "||six-degrees.io", + "||softsmirror.cf", + "||sosreader.com", + "||sspanel.net", + "||sulian.me", + "||supchina.com", + "||teddysun.com", + "||textnow.me", + "||tineye.com", + "||top10vpn.com", + "||tubepornclassic.com", + "||uku.im", + "||unseen.is", + "||cn.uptodown.com", + "||uraban.me", + "||vrsmash.com", + "||vultryhw.com", + "||scache.vzw.com", + "||scache1.vzw.com", + "||scache2.vzw.com", + "||ss7.vzw.com", + "||ssr.tools", + "||taiwanjustice.net", + "||tinc-vpn.org", + "||wenzhao.ca", + "||whatsonweibo.com", + "||wire.com", + "||xm.com", + "||xuehua.us", + "||yes-news.com", + "||you-get.org", + "||zzcloud.me", + "||aex.com", + "||allcoin.com", + "||adcex.com", + "||bcex.ca", + "||bibox.com", + "||big.one", + "||binance.com", + "||bit-z.com", + "||bitcoinworld.com", + "||bitfinex.com", + "||bithumb.com", + "||bitinka.com.ar", + "||bitmex.com", + "||btc98.com", + "||btcbank.bank", + "||btctrade.im", + "||c2cx.com", + "||chaoex.com", + "||cobinhood.com", + "||coin2co.in", + "||coinbene.com", + ".coinegg.com", + "||coinegg.com", + "||coinex.com", + "||coingi.com", + "||coinrail.co.kr", + "||cointiger.com", + "||cointobe.com", + "||coinut.com", + "||discoins.com", + "||dragonex.io", + "||ebtcbank.com", + "||etherdelta.com", + "||exmo.com", + "||exrates.me", + "||exx.com", + "||fatbtc.com", + "||gate.io", + "||gatecoin.com", + "||hbg.com", + "||hitbtc.com", + "||huobi.com", + "||huobi.pro", + "||huobipro.com", + "||bx.in.th", + "||jex.com", + "||kex.com", + "||kspcoin.com", + "||kucoin.com", + "||lbank.info", + "||livecoin.net", + "||localbitcoins.com", + "||mercatox.com", + "||oex.com", + "||okex.com", + "||otcbtc.com", + "||rightbtc.com", + "||topbtc.com", + "||xbtce.com", + "||yobit.net", + "||zb.com", + "||read01.com", + "||kknews.cc", + "china-mmm.jp.net", + ".lsxszzg.com", + ".china-mmm.net", + "||china-mmm.net", + "china-mmm.sa.com", + ".allowed.org", + ".now.im", + "||amazon.co.jp", + ".amazon.com/Dalai-Lama", + "amazon.com/Prisoner-State-Secret-Journal-Premier", + "s3-ap-northeast-1.amazonaws.com", + "||aolchannels.aol.com", + "video.aol.ca/video-detail", + "video.aol.co.uk/video-detail", + "video.aol.com", + "||video.aol.com", + "||search.aol.com", + "www.aolnews.com", + ".avmo.pw", + ".avmoo.com", + "|http://avmoo.com", + ".avmoo.net", + "|http://avmoo.net", + "||avmoo.pw", + ".javmoo.xyz", + "|http://javmoo.xyz", + ".javtag.com", + "|http://javtag.com", + ".javzoo.com", + "|http://javzoo.com", + ".tellme.pw", + ".bbc.com", + "||bbc.com", + ".bbc.co.uk", + "||bbc.co.uk", + "||bbci.co.uk", + ".bbcchinese.com", + "||bbcchinese.com", + "|http://bbc.in", + ".1dumb.com", + ".25u.com", + ".2waky.com", + ".3-a.net", + ".4dq.com", + ".4mydomain.com", + ".4pu.com", + ".acmetoy.com", + ".almostmy.com", + ".americanunfinished.com", + ".authorizeddns.net", + ".authorizeddns.org", + ".authorizeddns.us", + ".bigmoney.biz", + ".changeip.name", + ".changeip.net", + ".changeip.org", + ".cleansite.biz", + ".cleansite.info", + ".cleansite.us", + ".compress.to", + ".ddns.info", + ".ddns.me.uk", + ".ddns.mobi", + ".ddns.ms", + ".ddns.name", + ".ddns.us", + ".dhcp.biz", + ".dns-dns.com", + ".dns-stuff.com", + ".dns04.com", + ".dns05.com", + ".dns1.us", + ".dns2.us", + ".dnset.com", + ".dnsrd.com", + ".dsmtp.com", + ".dumb1.com", + ".dynamic-dns.net", + ".dynamicdns.biz", + ".dynamicdns.co.uk", + ".dynamicdns.me.uk", + ".dynamicdns.org.uk", + ".dyndns.pro", + ".dynssl.com", + ".edns.biz", + ".epac.to", + ".esmtp.biz", + ".ezua.com", + ".faqserv.com", + ".fartit.com", + ".freeddns.com", + ".freetcp.com", + ".freewww.biz", + ".freewww.info", + ".ftp1.biz", + ".ftpserver.biz", + ".gettrials.com", + ".got-game.org", + ".gr8domain.biz", + ".gr8name.biz", + ".https443.net", + ".https443.org", + ".ikwb.com", + ".instanthq.com", + ".iownyour.biz", + ".iownyour.org", + ".isasecret.com", + ".itemdb.com", + ".itsaol.com", + ".jetos.com", + ".jkub.com", + ".jungleheart.com", + ".justdied.com", + ".lflink.com", + ".lflinkup.com", + ".lflinkup.net", + ".lflinkup.org", + ".longmusic.com", + ".mefound.com", + ".moneyhome.biz", + ".mrbasic.com", + ".mrbonus.com", + ".mrface.com", + ".mrslove.com", + ".my03.com", + ".mydad.info", + ".myddns.com", + ".myftp.info", + ".myftp.name", + ".mylftv.com", + ".mymom.info", + ".mynetav.net", + ".mynetav.org", + ".mynumber.org", + ".mypicture.info", + ".mypop3.net", + ".mypop3.org", + ".mysecondarydns.com", + ".mywww.biz", + ".myz.info", + ".ninth.biz", + ".ns01.biz", + ".ns01.info", + ".ns01.us", + ".ns02.biz", + ".ns02.info", + ".ns02.us", + ".ns1.name", + ".ns2.name", + ".ns3.name", + ".ocry.com", + ".onedumb.com", + ".onmypc.biz", + ".onmypc.info", + ".onmypc.net", + ".onmypc.org", + ".onmypc.us", + ".organiccrap.com", + ".otzo.com", + ".ourhobby.com", + ".pcanywhere.net", + ".port25.biz", + ".proxydns.com", + ".qhigh.com", + ".qpoe.com", + ".rebatesrule.net", + ".sellclassics.com", + ".sendsmtp.com", + ".serveuser.com", + ".serveusers.com", + ".sexidude.com", + ".sexxxy.biz", + ".sixth.biz", + ".squirly.info", + ".ssl443.org", + ".toh.info", + ".toythieves.com", + ".trickip.net", + ".trickip.org", + ".vizvaz.com", + ".wha.la", + ".wikaba.com", + ".www1.biz", + ".wwwhost.biz", + "@@|http://xx.wwwhost.biz", + ".x24hr.com", + ".xxuz.com", + ".xxxy.biz", + ".xxxy.info", + ".ygto.com", + ".youdontcare.com", + ".yourtrap.com", + ".zyns.com", + ".zzux.com", + "d1b183sg0nvnuh.cloudfront.net", + "|https://d1b183sg0nvnuh.cloudfront.net", + "d1c37gjwa26taa.cloudfront.net", + "|https://d1c37gjwa26taa.cloudfront.net", + "d3c33hcgiwev3.cloudfront.net", + "|https://d3c33hcgiwev3.cloudfront.net", + "||d3rhr7kgmtrq1v.cloudfront.net", + ".3d-game.com", + ".4irc.com", + ".b0ne.com", + ".chatnook.com", + ".darktech.org", + ".deaftone.com", + ".dtdns.net", + ".effers.com", + ".etowns.net", + ".etowns.org", + ".flnet.org", + ".gotgeeks.com", + ".scieron.com", + ".slyip.com", + ".slyip.net", + ".suroot.com", + ".blogdns.org", + ".dyndns.org", + ".dyndns-ip.com", + ".dyndns-pics.com", + ".from-sd.com", + ".from-pr.com", + ".is-a-hunter.com", + ".dynu.com", + ".dynu.net", + ".freeddns.org", + "cdninstagram.com", + "||cdninstagram.com", + "||facebook.br", + ".facebook.com", + "||facebook.com", + "@@||v6.facebook.com", + "||facebook.design", + "||connect.facebook.net", + "||facebook.hu", + "||facebook.in", + "||facebook.nl", + "||facebook.se", + "||facebookmail.com", + "||fb.com", + "||fb.me", + "||fbcdn.net", + "||fbsbx.com", + "||fbaddins.com", + "||fbworkmail.com", + ".instagram.com", + "||instagram.com", + "||m.me", + "||messenger.com", + "||oculus.com", + "||oculuscdn.com", + "||rocksdb.org", + "@@||ip6.static.sl-reverse.com", + "||thefacebook.com", + "||whatsapp.com", + "||whatsapp.net", + "|https://www.ftchinese.com", + ".ftchinese.com/channel/video", + ".ftchinese.com/premium/001081066", + ".ftchinese.com/story/00102753", + ".ftchinese.com/story/001026616", + ".ftchinese.com/story/001026749", + ".ftchinese.com/story/001026807", + ".ftchinese.com/story/001026808", + ".ftchinese.com/story/001026834", + ".ftchinese.com/story/001026880", + ".ftchinese.com/story/001027429", + ".ftchinese.com/story/001030341", + ".ftchinese.com/story/001030502", + ".ftchinese.com/story/001030803", + ".ftchinese.com/story/001031317", + ".ftchinese.com/story/001032617", + ".ftchinese.com/story/001032636", + ".ftchinese.com/story/001032692", + ".ftchinese.com/story/001032762", + ".ftchinese.com/story/001033138", + ".ftchinese.com/story/001034917", + ".ftchinese.com/story/001034926", + ".ftchinese.com/story/001034927", + ".ftchinese.com/story/001034928", + ".ftchinese.com/story/001034952", + ".ftchinese.com/story/001035890", + ".ftchinese.com/story/001035972", + ".ftchinese.com/story/001035993", + ".ftchinese.com/story/001036417", + ".ftchinese.com/story/001037090", + ".ftchinese.com/story/001037091", + ".ftchinese.com/story/001038178", + ".ftchinese.com/story/001038199", + ".ftchinese.com/story/001038220", + ".ftchinese.com/story/001038819", + ".ftchinese.com/story/001038862", + ".ftchinese.com/story/001039067", + ".ftchinese.com/story/001039178", + ".ftchinese.com/story/001039211", + ".ftchinese.com/story/001039271", + ".ftchinese.com/story/001039295", + ".ftchinese.com/story/001039369", + ".ftchinese.com/story/001039482", + ".ftchinese.com/story/001039534", + ".ftchinese.com/story/001039555", + ".ftchinese.com/story/001039576", + ".ftchinese.com/story/001039712", + ".ftchinese.com/story/001039779", + ".ftchinese.com/story/001039809", + ".ftchinese.com/story/001040134", + ".ftchinese.com/story/001040835", + ".ftchinese.com/story/001040890", + ".ftchinese.com/story/001040918", + ".ftchinese.com/story/001040992", + ".ftchinese.com/story/001041209", + ".ftchinese.com/story/001042100", + ".ftchinese.com/story/001042252", + ".ftchinese.com/story/001042272", + ".ftchinese.com/story/001042280", + ".ftchinese.com/story/001043029", + ".ftchinese.com/story/001043066", + ".ftchinese.com/story/001043096", + ".ftchinese.com/story/001043124", + ".ftchinese.com/story/001043152", + ".ftchinese.com/story/001043189", + ".ftchinese.com/story/001043428", + ".ftchinese.com/story/001043439", + ".ftchinese.com/story/001043534", + ".ftchinese.com/story/001043675", + ".ftchinese.com/story/001043680", + ".ftchinese.com/story/001043702", + ".ftchinese.com/story/001043849", + ".ftchinese.com/story/001044099", + ".ftchinese.com/story/001044776", + ".ftchinese.com/story/001044871", + ".ftchinese.com/story/001044897", + ".ftchinese.com/story/001045114", + ".ftchinese.com/story/001045139", + ".ftchinese.com/story/001045186", + ".ftchinese.com/story/001045755", + ".ftchinese.com/story/001046087", + ".ftchinese.com/story/001046105", + ".ftchinese.com/story/001046118", + ".ftchinese.com/story/001046132", + ".ftchinese.com/story/001046517", + ".ftchinese.com/story/001046822", + ".ftchinese.com/story/001046866", + ".ftchinese.com/story/001046942", + ".ftchinese.com/story/001047180", + ".ftchinese.com/story/001047206", + ".ftchinese.com/story/001047304", + ".ftchinese.com/story/001047317", + ".ftchinese.com/story/001047345", + ".ftchinese.com/story/001047358", + ".ftchinese.com/story/001047375", + ".ftchinese.com/story/001047381", + ".ftchinese.com/story/001047413", + ".ftchinese.com/story/001047456", + ".ftchinese.com/story/001047491", + ".ftchinese.com/story/001047545", + ".ftchinese.com/story/001047558", + ".ftchinese.com/story/001047568", + ".ftchinese.com/story/001047627", + ".ftchinese.com/story/001048293", + ".ftchinese.com/story/001048343", + ".ftchinese.com/story/001048710", + ".ftchinese.com/story/001049289", + ".ftchinese.com/story/001049360", + ".ftchinese.com/story/001049896", + ".ftchinese.com/story/001050152", + ".ftchinese.com/story/001051027", + ".ftchinese.com/story/001051161", + ".ftchinese.com/story/001051372", + ".ftchinese.com/story/001051479", + ".ftchinese.com/story/001052138", + ".ftchinese.com/story/001052161", + ".ftchinese.com/story/001052525", + ".ftchinese.com/story/001052549", + ".ftchinese.com/story/001052701", + ".ftchinese.com/story/001052965", + ".ftchinese.com/story/001053149", + ".ftchinese.com/story/001053150", + ".ftchinese.com/story/001053200", + ".ftchinese.com/story/001053425", + ".ftchinese.com/story/001053496", + ".ftchinese.com/story/001053526", + ".ftchinese.com/story/001053557", + ".ftchinese.com/story/001053906", + ".ftchinese.com/story/001054049", + ".ftchinese.com/story/001054103", + ".ftchinese.com/story/001054109", + ".ftchinese.com/story/001054119", + ".ftchinese.com/story/001054123", + ".ftchinese.com/story/001054139", + ".ftchinese.com/story/001054166", + ".ftchinese.com/story/001054168", + ".ftchinese.com/story/001054190", + ".ftchinese.com/story/001054437", + ".ftchinese.com/story/001054526", + ".ftchinese.com/story/001054607", + ".ftchinese.com/story/001054644", + ".ftchinese.com/story/001054786", + ".ftchinese.com/story/001054843", + ".ftchinese.com/story/001054925", + ".ftchinese.com/story/001054940", + ".ftchinese.com/story/001055051", + ".ftchinese.com/story/001055063", + ".ftchinese.com/story/001055069", + ".ftchinese.com/story/001055136", + ".ftchinese.com/story/001055170", + ".ftchinese.com/story/001055202", + ".ftchinese.com/story/001055242", + ".ftchinese.com/story/001055263", + ".ftchinese.com/story/001055274", + ".ftchinese.com/story/001055299", + ".ftchinese.com/story/001055480", + ".ftchinese.com/story/001055551", + ".ftchinese.com/story/001055559", + ".ftchinese.com/story/001055566", + ".ftchinese.com/story/001055840", + ".ftchinese.com/story/001056099", + ".ftchinese.com/story/001056108", + ".ftchinese.com/story/001056131", + ".ftchinese.com/story/001056375", + ".ftchinese.com/story/001056491", + ".ftchinese.com/story/001056529", + ".ftchinese.com/story/001056534", + ".ftchinese.com/story/001056538", + ".ftchinese.com/story/001056541", + ".ftchinese.com/story/001056554", + ".ftchinese.com/story/001056557", + ".ftchinese.com/story/001056560", + ".ftchinese.com/story/001056567", + ".ftchinese.com/story/001056574", + ".ftchinese.com/story/001056588", + ".ftchinese.com/story/001056594", + ".ftchinese.com/story/001056596", + ".ftchinese.com/story/001056684", + ".ftchinese.com/story/001056832", + ".ftchinese.com/story/001056833", + ".ftchinese.com/story/001056851", + ".ftchinese.com/story/001056874", + ".ftchinese.com/story/001056896", + ".ftchinese.com/story/001056927", + ".ftchinese.com/story/001057011", + ".ftchinese.com/story/001057018", + ".ftchinese.com/story/001057044", + ".ftchinese.com/story/001057162", + ".ftchinese.com/story/001057500", + ".ftchinese.com/story/001057504", + ".ftchinese.com/story/001057509", + ".ftchinese.com/story/001057518", + ".ftchinese.com/story/001057532", + ".ftchinese.com/story/001057533", + ".ftchinese.com/story/001057556", + ".ftchinese.com/story/001057580", + ".ftchinese.com/story/001057638", + ".ftchinese.com/story/001057644", + ".ftchinese.com/story/001057817", + ".ftchinese.com/story/001057875", + ".ftchinese.com/story/001058009", + ".ftchinese.com/story/001058056", + ".ftchinese.com/story/001058224", + ".ftchinese.com/story/001058257", + ".ftchinese.com/story/001058295", + ".ftchinese.com/story/001058328", + ".ftchinese.com/story/001058339", + ".ftchinese.com/story/001058344", + ".ftchinese.com/story/001058352", + ".ftchinese.com/story/001058413", + ".ftchinese.com/story/001058421", + ".ftchinese.com/story/001058440", + ".ftchinese.com/story/001058458", + ".ftchinese.com/story/001058468", + ".ftchinese.com/story/001058561", + ".ftchinese.com/story/001058566", + ".ftchinese.com/story/001058567", + ".ftchinese.com/story/001058585", + ".ftchinese.com/story/001058628", + ".ftchinese.com/story/001058656", + ".ftchinese.com/story/001058665", + ".ftchinese.com/story/001058678", + ".ftchinese.com/story/001058691", + ".ftchinese.com/story/001058721", + ".ftchinese.com/story/001058728", + ".ftchinese.com/story/001059464", + ".ftchinese.com/story/001059484", + ".ftchinese.com/story/001059537", + ".ftchinese.com/story/001059538", + ".ftchinese.com/story/001059551", + ".ftchinese.com/story/001059818", + ".ftchinese.com/story/001059914", + ".ftchinese.com/story/001059920", + ".ftchinese.com/story/001059957", + ".ftchinese.com/story/001060088", + ".ftchinese.com/story/001060156", + ".ftchinese.com/story/001060157", + ".ftchinese.com/story/001060160", + ".ftchinese.com/story/001060181", + ".ftchinese.com/story/001060185", + ".ftchinese.com/story/001060493", + ".ftchinese.com/story/001060495", + ".ftchinese.com/story/001060590", + ".ftchinese.com/story/001060846", + ".ftchinese.com/story/001060847", + ".ftchinese.com/story/001060875", + ".ftchinese.com/story/001060921", + ".ftchinese.com/story/001060946", + ".ftchinese.com/story/001061120", + ".ftchinese.com/story/001061474", + ".ftchinese.com/story/001061524", + ".ftchinese.com/story/001061642", + ".ftchinese.com/story/001062017", + ".ftchinese.com/story/001062020", + ".ftchinese.com/story/001062028", + ".ftchinese.com/story/001062092", + ".ftchinese.com/story/001062096", + ".ftchinese.com/story/001062147", + ".ftchinese.com/story/001062176", + ".ftchinese.com/story/001062188", + ".ftchinese.com/story/001062254", + ".ftchinese.com/story/001062374", + ".ftchinese.com/story/001062482", + ".ftchinese.com/story/001062496", + ".ftchinese.com/story/001062501", + ".ftchinese.com/story/001062508", + ".ftchinese.com/story/001062519", + ".ftchinese.com/story/001062554", + ".ftchinese.com/story/001062741", + ".ftchinese.com/story/001062794", + ".ftchinese.com/story/001063160", + ".ftchinese.com/story/001063359", + ".ftchinese.com/story/001063512", + ".ftchinese.com/story/001063668", + ".ftchinese.com/story/001063692", + ".ftchinese.com/story/001063763", + ".ftchinese.com/story/001063764", + ".ftchinese.com/story/001063826", + ".ftchinese.com/story/001064127", + ".ftchinese.com/story/001064312", + ".ftchinese.com/story/001064705", + ".ftchinese.com/story/001064807", + ".ftchinese.com/story/001065120", + ".ftchinese.com/story/001065168", + ".ftchinese.com/story/001065249", + ".ftchinese.com/story/001065287", + ".ftchinese.com/story/001065335", + ".ftchinese.com/story/001065337", + ".ftchinese.com/story/001065541", + ".ftchinese.com/story/001065715", + ".ftchinese.com/story/001065735", + ".ftchinese.com/story/001065756", + ".ftchinese.com/story/001065802", + ".ftchinese.com/story/001066112", + ".ftchinese.com/story/001066136", + ".ftchinese.com/story/001066140", + ".ftchinese.com/story/001066465", + ".ftchinese.com/story/001066881", + ".ftchinese.com/story/001066950", + ".ftchinese.com/story/001066959", + ".ftchinese.com/story/001067435", + "www.ftchinese.com/story/001067479", + ".ftchinese.com/story/001067528", + ".ftchinese.com/story/001067545", + ".ftchinese.com/story/001067572", + ".ftchinese.com/story/001067648", + ".ftchinese.com/story/001067650", + ".ftchinese.com/story/001067680", + ".ftchinese.com/story/001067692", + ".ftchinese.com/story/001067871", + ".ftchinese.com/story/001067923", + ".ftchinese.com/story/001068062", + ".ftchinese.com/story/001068248", + ".ftchinese.com/story/001068278", + ".ftchinese.com/story/001068379", + ".ftchinese.com/story/001068483", + ".ftchinese.com/story/001068506", + ".ftchinese.com/story/001068547", + ".ftchinese.com/story/001068616", + ".ftchinese.com/story/001068622", + ".ftchinese.com/story/001068707", + ".ftchinese.com/story/001069146", + ".ftchinese.com/story/001069373", + ".ftchinese.com/story/001069516", + ".ftchinese.com/story/001069517", + ".ftchinese.com/story/001069687", + ".ftchinese.com/story/001069741", + ".ftchinese.com/story/001069861", + ".ftchinese.com/story/001069952", + ".ftchinese.com/story/001070053", + ".ftchinese.com/story/001070177", + ".ftchinese.com/story/001070307", + ".ftchinese.com/story/001070809", + ".ftchinese.com/story/001070990", + ".ftchinese.com/story/001071042", + ".ftchinese.com/story/001071044", + ".ftchinese.com/story/001071106", + ".ftchinese.com/story/001071166", + ".ftchinese.com/story/001071181", + "ftchinese.com/story/001071200", + ".ftchinese.com/story/001071208", + ".ftchinese.com/story/001071238", + ".ftchinese.com/story/001071683", + ".ftchinese.com/story/001072271", + ".ftchinese.com/story/001072348", + ".ftchinese.com/story/001072677", + ".ftchinese.com/story/001072726", + ".ftchinese.com/story/001072794", + ".ftchinese.com/story/001072853", + ".ftchinese.com/story/001072895", + ".ftchinese.com/story/001072993", + ".ftchinese.com/story/001073043", + ".ftchinese.com/story/001073103", + ".ftchinese.com/story/001073157", + ".ftchinese.com/story/001073216", + ".ftchinese.com/story/001073246", + ".ftchinese.com/story/001073305", + ".ftchinese.com/story/001073307", + ".ftchinese.com/story/001073408", + ".ftchinese.com/story/001073537", + ".ftchinese.com/story/001073672", + ".ftchinese.com/story/001073849", + ".ftchinese.com/story/001073906", + ".ftchinese.com/story/001074089", + ".ftchinese.com/story/001074110", + ".ftchinese.com/story/001074128", + ".ftchinese.com/story/001074157", + ".ftchinese.com/story/001074246", + ".ftchinese.com/story/001074307", + ".ftchinese.com/story/001074347", + ".ftchinese.com/story/001074423", + ".ftchinese.com/story/001074454", + ".ftchinese.com/story/001074467", + ".ftchinese.com/story/001074493", + ".ftchinese.com/story/001074550", + ".ftchinese.com/story/001074562", + ".ftchinese.com/story/001074653", + ".ftchinese.com/story/001074693", + ".ftchinese.com/story/001074699", + ".ftchinese.com/story/001074712", + ".ftchinese.com/story/001074713", + ".ftchinese.com/story/001074768", + ".ftchinese.com/story/001074782", + ".ftchinese.com/story/001074794", + ".ftchinese.com/story/001074822", + ".ftchinese.com/story/001074874", + ".ftchinese.com/story/001074891", + ".ftchinese.com/story/001074918", + ".ftchinese.com/story/001075081", + ".ftchinese.com/story/001075134", + ".ftchinese.com/story/001075142", + ".ftchinese.com/story/001075216", + ".ftchinese.com/story/001075230", + ".ftchinese.com/story/001075238", + ".ftchinese.com/story/001075262", + ".ftchinese.com/story/001075269", + ".ftchinese.com/story/001075491", + ".ftchinese.com/story/001075500", + ".ftchinese.com/story/001075650", + ".ftchinese.com/story/001075678", + ".ftchinese.com/story/001075703", + ".ftchinese.com/story/001075739", + ".ftchinese.com/story/001076066", + ".ftchinese.com/story/001076142", + ".ftchinese.com/story/001076459", + ".ftchinese.com/story/001076470", + ".ftchinese.com/story/001076538", + ".ftchinese.com/story/001076573", + ".ftchinese.com/story/001076901", + ".ftchinese.com/story/001077067", + ".ftchinese.com/story/001077084", + ".ftchinese.com/story/001077235", + ".ftchinese.com/story/001077344", + ".ftchinese.com/story/001077390", + ".ftchinese.com/story/001077392", + ".ftchinese.com/story/001077465", + ".ftchinese.com/story/001077468", + ".ftchinese.com/story/001077492", + ".ftchinese.com/story/001077745", + ".ftchinese.com/story/001077768", + ".ftchinese.com/story/001077804", + ".ftchinese.com/story/001077852", + ".ftchinese.com/story/001078646", + ".ftchinese.com/story/001078928", + ".ftchinese.com/story/001078967", + ".ftchinese.com/story/001079559", + ".ftchinese.com/story/001079641", + ".ftchinese.com/story/001079909", + ".ftchinese.com/story/001079934", + ".ftchinese.com/story/001079992", + ".ftchinese.com/story/001080054", + ".ftchinese.com/story/001080109", + ".ftchinese.com/story/001080169", + ".ftchinese.com/story/001080226", + ".ftchinese.com/story/001080429", + ".ftchinese.com/story/001080471", + ".ftchinese.com/story/001080550", + ".ftchinese.com/story/001080581", + ".ftchinese.com/story/001080647", + ".ftchinese.com/story/001080778", + ".ftchinese.com/story/001080892", + ".ftchinese.com/story/001080915", + ".ftchinese.com/story/001080935", + ".ftchinese.com/story/001081059", + ".ftchinese.com/story/001081127", + ".ftchinese.com/tag/%E5%8D%81%E5%85%AB%E5%B1%8A%E4%B8%89%E4%B8%AD%E5%85%A8%E4%BC%9A", + ".ftchinese.com/tag/%E6%B8%A9%E5%AE%B6%E5%AE%9D", + ".ftchinese.com/tag/%E8%96%84%E7%86%99%E6%9D%A5", + ".ftchinese.com/video/1437", + ".ftchinese.com/video/1882", + ".ftchinese.com/video/2446", + ".ftchinese.com/video/2601", + ".ftchinese.com/comments", + "||1e100.net", + "||466453.com", + "||abc.xyz", + "||admob.com", + "||adsense.com", + "||agoogleaday.com", + "||ai.google", + "||ampproject.org", + "@@|https://www.ampproject.org", + "@@|https://cdn.ampproject.org", + "||android.com", + "||androidify.com", + "||androidtv.com", + "||api.ai", + ".appspot.com", + "||appspot.com", + "||autodraw.com", + "||blog.google", + "||blogblog.com", + "blogspot.com", + "/^https?:\\/\\/[^\\/]+blogspot\\.(.*)/", + ".blogspot.hk", + ".blogspot.jp", + ".blogspot.tw", + "||certificate-transparency.org", + "||chrome.com", + "||chromecast.com", + "||chromeexperiments.com", + "||chromercise.com", + "||chromestatus.com", + "||chromium.org", + "||com.google", + "||crbug.com", + "||creativelab5.com", + "||crisisresponse.google", + "||crrev.com", + "||data-vocabulary.org", + "||debug.com", + "||deepmind.com", + "||deja.com", + "||design.google", + "||digisfera.com", + "||domains.google", + "||duck.com", + "||environment.google", + "||feedburner.com", + "||firebaseio.com", + "||g.co", + "||gcr.io", + "||get.app", + "||get.how", + "||get.page", + "||getmdl.io", + "||getoutline.org", + "||ggpht.com", + "||gmail.com", + "||gmodules.com", + "||godoc.org", + "||golang.org", + "||goo.gl", + ".google.ae", + ".google.as", + ".google.am", + ".google.at", + ".google.az", + ".google.ba", + ".google.be", + ".google.bg", + ".google.ca", + ".google.cd", + ".google.ci", + ".google.co.id", + ".google.co.jp", + ".google.co.kr", + ".google.co.ma", + ".google.co.uk", + ".google.com", + ".google.de", + ".google.dj", + ".google.dk", + ".google.es", + ".google.fi", + ".google.fm", + ".google.fr", + ".google.gg", + ".google.gl", + ".google.gr", + ".google.ie", + ".google.is", + ".google.it", + ".google.jo", + ".google.kz", + ".google.lv", + ".google.mn", + ".google.ms", + ".google.nl", + ".google.nu", + ".google.no", + ".google.ro", + ".google.ru", + ".google.rw", + ".google.sc", + ".google.sh", + ".google.sk", + ".google.sm", + ".google.sn", + ".google.tk", + ".google.tm", + ".google.to", + ".google.tt", + ".google.vu", + ".google.ws", + "/^https?:\\/\\/([^\\/]+\\.)*google\\.(ac|ad|ae|af|al|am|as|at|az|ba|be|bf|bg|bi|bj|bs|bt|by|ca|cat|cd|cf|cg|ch|ci|cl|cm|co.ao|co.bw|co.ck|co.cr|co.id|co.il|co.in|co.jp|co.ke|co.kr|co.ls|co.ma|com|com.af|com.ag|com.ai|com.ar|com.au|com.bd|com.bh|com.bn|com.bo|com.br|com.bz|com.co|com.cu|com.cy|com.do|com.ec|com.eg|com.et|com.fj|com.gh|com.gi|com.gt|com.hk|com.jm|com.kh|com.kw|com.lb|com.ly|com.mm|com.mt|com.mx|com.my|com.na|com.nf|com.ng|com.ni|com.np|com.om|com.pa|com.pe|com.pg|com.ph|com.pk|com.pr|com.py|com.qa|com.sa|com.sb|com.sg|com.sl|com.sv|com.tj|com.tr|com.tw|com.ua|com.uy|com.vc|com.vn|co.mz|co.nz|co.th|co.tz|co.ug|co.uk|co.uz|co.ve|co.vi|co.za|co.zm|co.zw|cv|cz|de|dj|dk|dm|dz|ee|es|eu|fi|fm|fr|ga|ge|gg|gl|gm|gp|gr|gy|hk|hn|hr|ht|hu|ie|im|iq|is|it|it.ao|je|jo|kg|ki|kz|la|li|lk|lt|lu|lv|md|me|mg|mk|ml|mn|ms|mu|mv|mw|mx|ne|nl|no|nr|nu|org|pl|pn|ps|pt|ro|rs|ru|rw|sc|se|sh|si|sk|sm|sn|so|sr|st|td|tg|tk|tl|tm|tn|to|tt|us|vg|vn|vu|ws)\\/.*/", + "||googleapis.cn", + "||googleapis.com", + "||googleapps.com", + "||googleartproject.com", + "||googleblog.com", + "||googlebot.com", + "||googlechinawebmaster.com", + "||googlecode.com", + "||googlecommerce.com", + "||googledomains.com", + "||googlearth.com", + "||googleearth.com", + "||googledrive.com", + "||googlegroups.com", + "||googlehosted.com", + "||googleideas.com", + "||googleinsidesearch.com", + "||googlelabs.com", + "||googlemail.com", + "||googlemashups.com", + "||googlepagecreator.com", + "||googleplay.com", + "||googleplus.com", + "||googlescholar.com", + "||googlesource.com", + "||googleusercontent.com", + ".googlevideo.com", + "||googlevideo.com", + "||googleweblight.com", + "||googlezip.net", + "||groups.google.cn", + "||grow.google", + "||gstatic.com", + "||gvt0.com", + "||gvt1.com", + "@@||redirector.gvt1.com", + "||gvt3.com", + "||gwtproject.org", + "||html5rocks.com", + "||iam.soy", + "||igoogle.com", + "||itasoftware.com", + "||lers.google", + "||like.com", + "||madewithcode.com", + "||material.io", + "||nic.google", + "||on2.com", + "||panoramio.com", + "||picasaweb.com", + "||pki.goog", + "||polymer-project.org", + "||pride.google", + "||questvisual.com", + "||admin.recaptcha.net", + "||api.recaptcha.net", + "||api-secure.recaptcha.net", + "||api-verify.recaptcha.net", + "||redhotlabs.com", + "||registry.google", + "||safety.google", + "||savethedate.foo", + "||schema.org", + "||shattered.io", + "|http://sipml5.org/", + "||stories.google", + "||sustainability.google", + "||synergyse.com", + "||teachparentstech.org", + "||tensorflow.org", + "||thinkwithgoogle.com", + "||tiltbrush.com", + "||urchin.com", + "||waveprotocol.org", + "||waymo.com", + "||web.dev", + "||webmproject.org", + "||webrtc.org", + "||whatbrowser.org", + "||widevine.com", + "||withgoogle.com", + "||withyoutube.com", + "||x.company", + "||xn--ngstr-lra8j.com", + "||youtu.be", + ".youtube.com", + "||youtube.com", + "||youtube-nocookie.com", + "||youtubeeducation.com", + "||youtubegaming.com", + "||yt.be", + "||ytimg.com", + "||zynamics.com", + "||naughtyamerica.com", + "static01.nyt.com", + "||nyt.com", + "nytchina.com", + "nytcn.me", + "||nytcn.me", + "||nytco.com", + "|http://nyti.ms/", + ".nytimes.com", + "||nytimes.com", + "||nytimg.com", + "userapi.nytlog.com", + "cn.nytstyle.com", + "||nytstyle.com", + ".steamcommunity.com", + "||steamcommunity.com", + "|http://store.steampowered.com/app/333600", + "||t.me", + "||updates.tdesktop.com", + "||telegram.dog", + "||telegram.me", + "||telegram.org", + ".telegramdownload.com", + "||telesco.pe", + "||jtvnw.net", + "||ttvnw.net", + "||twitch.tv", + "||twitchcdn.net", + "||periscope.tv", + ".pscp.tv", + "||pscp.tv", + ".t.co", + "||t.co", + ".tweetdeck.com", + "||tweetdeck.com", + "||twimg.com", + ".twitpic.com", + "||twitpic.com", + ".twitter.com", + "||twitter.com", + "||twitter.jp", + "||vine.co", + "||gov.taipei", + ".gov.tw", + "|https://aiss.anws.gov.tw", + "||archives.gov.tw", + "||tacc.cwb.gov.tw", + "||data.gov.tw", + "||epa.gov.tw", + "||fa.gov.tw", + "||fda.gov.tw", + "||hpa.gov.tw", + "||immigration.gov.tw", + "||itaiwan.gov.tw", + "||mjib.gov.tw", + "||moeaic.gov.tw", + "||mofa.gov.tw", + "||mol.gov.tw", + "||mvdis.gov.tw", + "||nat.gov.tw", + "||nhi.gov.tw", + "||npa.gov.tw", + "||nsc.gov.tw", + "||ntbk.gov.tw", + "||ntbna.gov.tw", + "||ntbt.gov.tw", + "||ntsna.gov.tw", + "||pcc.gov.tw", + "||stat.gov.tw", + "||taipei.gov.tw", + "||taiwanjobs.gov.tw", + "||thb.gov.tw", + "||tipo.gov.tw", + "||wda.gov.tw", + "||teco-hk.org", + "||teco-mo.org", + "@@||aftygh.gov.tw", + "@@||aide.gov.tw", + "@@||tpde.aide.gov.tw", + "@@||arte.gov.tw", + "@@||chukuang.gov.tw", + "@@||cwb.gov.tw", + "@@||cycab.gov.tw", + "@@||dbnsa.gov.tw", + "@@||df.gov.tw", + "@@||eastcoast-nsa.gov.tw", + "@@||erv-nsa.gov.tw", + "@@||grb.gov.tw", + "@@||gysd.nyc.gov.tw", + "@@||hchcc.gov.tw", + "@@||hsinchu-cc.gov.tw", + "@@||iner.gov.tw", + "@@||klsio.gov.tw", + "@@||kmseh.gov.tw", + "@@||lungtanhr.gov.tw", + "@@||maolin-nsa.gov.tw", + "@@||matsu-news.gov.tw", + "@@||matsu-nsa.gov.tw", + "@@||matsucc.gov.tw", + "@@||moe.gov.tw", + "@@||mvdis.gov.tw", + "@@||nankan.gov.tw", + "@@||ncree.gov.tw", + "@@||necoast-nsa.gov.tw", + "@@||siraya-nsa.gov.tw", + "@@||cromotc.nat.gov.tw", + "@@||tax.nat.gov.tw", + "@@||necoast-nsa.gov.tw", + "@@||ner.gov.tw", + "@@||nmmba.gov.tw", + "@@||nmp.gov.tw", + "@@||nmvttc.gov.tw", + "@@||northguan-nsa.gov.tw", + "@@||npm.gov.tw", + "@@||nstm.gov.tw", + "@@||ntdmh.gov.tw", + "@@||ntl.gov.tw", + "@@||ntsec.gov.tw", + "@@||ntuh.gov.tw", + "@@||nvri.gov.tw", + "@@||penghu-nsa.gov.tw", + "@@||post.gov.tw", + "@@||siraya-nsa.gov.tw", + "@@||stdtime.gov.tw", + "@@||sunmoonlake.gov.tw", + "@@||taitung-house.gov.tw", + "@@||taoyuan.gov.tw", + "@@||tphcc.gov.tw", + "@@||trimt-nsa.gov.tw", + "@@||vghtpe.gov.tw", + "@@||vghks.gov.tw", + "@@||vghtc.gov.tw", + "@@||wanfang.gov.tw", + "@@||yatsen.gov.tw", + "@@||yda.gov.tw", + "||kinmen.org.tw", + ".v2ex.com", + "@@|http://v2ex.com", + "@@|http://cdn.v2ex.com", + "@@|http://cn.v2ex.com", + "@@|http://hk.v2ex.com", + "@@|http://i.v2ex.com", + "@@|http://lax.v2ex.com", + "@@|http://neue.v2ex.com", + "@@|http://pagespeed.v2ex.com", + "@@|http://static.v2ex.com", + "@@|http://workspace.v2ex.com", + "@@|http://www.v2ex.com", + "||data.flurry.com", + "page.bid.yahoo.com", + "tw.bid.yahoo.com", + "|https://tw.bid.yahoo.com", + "blogs.yahoo.co.jp", + "||search.yahoo.co.jp", + "buy.yahoo.com.tw/gdsale", + "hk.yahoo.com", + "hk.knowledge.yahoo.com", + "tw.money.yahoo.com", + "hk.myblog.yahoo.com", + "news.yahoo.com/china-blocks-bbc", + "||hk.news.yahoo.com", + "hk.rd.yahoo.com", + "hk.search.yahoo.com/search", + "hk.video.news.yahoo.com/video", + "meme.yahoo.com", + "tw.answers.yahoo.com", + "|https://tw.answers.yahoo.com", + "||tw.knowledge.yahoo.com", + "||tw.mall.yahoo.com", + "tw.yahoo.com", + "||tw.mobi.yahoo.com", + "tw.myblog.yahoo.com", + "||tw.news.yahoo.com", + "pulse.yahoo.com", + "||search.yahoo.com", + "upcoming.yahoo.com", + "video.yahoo.com", + "||yahoo.com.hk", + "||duckduckgo-owned-server.yahoo.net", + ".030buy.com", + ".0rz.tw", + "|http://0rz.tw", + "1-apple.com.tw", + "||1-apple.com.tw", + ".10.tt", + ".100ke.org", + ".1000giri.net", + "||1000giri.net", + ".10conditionsoflove.com", + "||10musume.com", + "123rf.com", + ".12bet.com", + "||12bet.com", + ".12vpn.com", + ".12vpn.net", + "||12vpn.com", + "||12vpn.net", + ".138.com", + "141hongkong.com/forum", + "||141jj.com", + ".141tube.com", + ".1688.com.au", + ".173ng.com", + "||173ng.com", + ".177pic.info", + ".17t17p.com", + "||18board.com", + "||18board.info", + "18onlygirls.com", + ".18p2p.com", + ".18virginsex.com", + ".1949er.org", + "zhao.1984.city", + "||zhao.1984.city", + "1984bbs.com", + "||1984bbs.com", + ".1984bbs.org", + "||1984bbs.org", + ".1991way.com", + "||1991way.com", + ".1998cdp.org", + ".1bao.org", + "|http://1bao.org", + ".1eew.com", + ".1mobile.com", + "|http://*.1mobile.tw", + "||1pondo.tv", + ".2-hand.info", + ".2000fun.com/bbs", + ".2008xianzhang.info", + "||2008xianzhang.info", + "||2017.hk", + "21andy.com/blog", + ".21pron.com", + "21sextury.com", + ".228.net.tw", + "||233abc.com", + "||24hrs.ca", + "24smile.org", + "2lipstube.com", + ".2shared.com", + "30boxes.com", + ".315lz.com", + "||32red.com", + "||36rain.com", + ".3a5a.com", + "3arabtv.com", + ".3boys2girls.com", + ".3proxy.ru", + ".3ren.ca", + ".3tui.net", + "||4bluestones.biz", + ".4chan.com", + ".4everproxy.com", + "||4everproxy.com", + "||4rbtv.com", + "||4shared.com", + "taiwannation.50webs.com", + "||51.ca", + "||51jav.org", + ".51luoben.com", + "||51luoben.com", + ".5278.cc", + ".5299.tv", + "5aimiku.com", + "5i01.com", + ".5isotoi5.org", + ".5maodang.com", + "||63i.com", + ".64museum.org", + "64tianwang.com", + "64wiki.com", + ".66.ca", + "666kb.com", + "6park.com", + "||6park.com", + "||6parker.com", + "||7capture.com", + ".7cow.com", + ".8-d.com", + "|http://8-d.com", + "85cc.net", + ".85cc.us", + "|http://85cc.us", + "|http://85st.com", + ".881903.com/page/zh-tw/", + "||881903.com", + ".888.com", + ".888poker.com", + "89.64.charter.constitutionalism.solutions", + "89-64.org", + "||89-64.org", + ".8news.com.tw", + ".8z1.net", + "||8z1.net", + ".9001700.com", + "|http://908taiwan.org/", + "||91porn.com", + "||91vps.club", + ".92ccav.com", + ".991.com", + "|http://991.com", + ".99btgc01.com", + "||99btgc01.com", + ".99cn.info", + "|http://99cn.info", + "||9bis.com", + "||9bis.net", + ".tibet.a.se", + "|http://tibet.a.se", + "||a-normal-day.com", + "a5.com.ru", + "|http://aamacau.com", + ".abc.com", + ".abc.net.au", + "||abc.net.au", + ".abchinese.com", + "abclite.net", + "|https://www.abclite.net", + ".ablwang.com", + ".aboluowang.com", + "||aboluowang.com", + ".aboutgfw.com", + ".abs.edu", + ".accim.org", + ".aceros-de-hispania.com", + ".acevpn.com", + "||acevpn.com", + ".acg18.me", + "|http://acg18.me", + "||acgkj.com", + ".acmedia365.com", + ".acnw.com.au", + "actfortibet.org", + "actimes.com.au", + "activpn.com", + "||activpn.com", + "||aculo.us", + "||addictedtocoffee.de", + ".adelaidebbs.com/bbs", + ".adpl.org.hk", + "|http://adpl.org.hk", + ".adult-sex-games.com", + "||adult-sex-games.com", + "adultfriendfinder.com", + "adultkeep.net/peepshow/members/main.htm", + "||advanscene.com", + "||advertfan.com", + ".ae.org", + "||aenhancers.com", + "||af.mil", + ".afantibbs.com", + "|http://afantibbs.com", + ".ai-kan.net", + "||ai-kan.net", + "ai-wen.net", + ".aiph.net", + "||aiph.net", + ".airasia.com", + "||airconsole.com", + "|http://download.aircrack-ng.org", + ".airvpn.org", + "||airvpn.org", + ".aisex.com", + "||ait.org.tw", + "aiweiwei.com", + ".aiweiweiblog.com", + "||aiweiweiblog.com", + "||www.ajsands.com", + "a248.e.akamai.net", + "||a248.e.akamai.net", + "rfalive1.akacast.akamaistream.net", + "voa-11.akacast.akamaistream.net", + "||abematv.akamaized.net", + "||linear-abematv.akamaized.net", + "||vod-abematv.akamaized.net", + "|https://fbcdn*.akamaihd.net/", + "rthklive2-lh.akamaihd.net", + ".akademiye.org/ug", + "|http://akademiye.org/ug", + "||akiba-online.com", + "||akow.org", + ".al-islam.com", + "||al-qimmah.net", + "||alabout.com", + ".alanhou.com", + "|http://alanhou.com", + ".alarab.qa", + "||alasbarricadas.org", + "alexlur.org", + "||alforattv.net", + ".alhayat.com", + ".alicejapan.co.jp", + "aliengu.com", + "||alkasir.com", + "||allconnected.co", + ".alldrawnsex.com", + "||alldrawnsex.com", + ".allervpn.com", + "||allfinegirls.com", + ".allgirlmassage.com", + "allgirlsallowed.org", + ".allgravure.com", + "alliance.org.hk", + ".allinfa.com", + "|http://allinfa.com", + ".alljackpotscasino.com", + "||allmovie.com", + "||almasdarnews.com", + ".alphaporno.com", + "||alternate-tools.com", + "alternativeto.net/software", + "alvinalexander.com", + "alwaysdata.com", + "||alwaysdata.com", + "||alwaysdata.net", + ".alwaysvpn.com", + "||alwaysvpn.com", + "||am730.com.hk", + "ameblo.jp", + "||ameblo.jp", + "www1.american.edu/ted/ice/tibet", + "||americangreencard.com", + "|http://www.americorps.gov", + "||amiblockedornot.com", + ".amigobbs.net", + ".amitabhafoundation.us", + "|http://amitabhafoundation.us", + ".amnesty.org", + "||amnesty.org", + "||amnesty.org.hk", + ".amnesty.tw", + ".amnestyusa.org", + "||amnestyusa.org", + ".amnyemachen.org", + ".amoiist.com", + ".amtb-taipei.org", + "androidplus.co/apk", + ".andygod.com", + "|http://andygod.com", + "annatam.com/chinese", + "||anchorfree.com", + "||ancsconf.org", + "||andfaraway.net", + "||android-x86.org", + "angelfire.com/hi/hayashi", + "||angularjs.org", + "animecrazy.net", + ".animeshippuuden.com", + "aniscartujo.com", + "||aniscartujo.com", + "||anobii.com", + "anonymise.us", + ".anonymitynetwork.com", + ".anonymizer.com", + "anontext.com", + ".anpopo.com", + ".answering-islam.org", + "|http://www.antd.org", + "||anthonycalzadilla.com", + ".anti1984.com", + "antichristendom.com", + ".antiwave.net", + "|http://antiwave.net", + ".anyporn.com", + ".anysex.com", + "|http://anysex.com", + "||aobo.com.au", + ".aofriend.com", + "|http://aofriend.com", + ".aofriend.com.au", + ".aojiao.org", + "||aomiwang.com", + "video.ap.org", + ".apetube.com", + "||apiary.io", + ".apigee.com", + "||apigee.com", + "apk-dl.com", + "apkdler.com/apk/view", + ".apkmonk.com/app", + "||apkplz.com", + "apkpure.com", + "||apkpure.com", + ".aplusvpn.com", + ".appdownloader.net/Android", + ".appledaily.com", + "||appledaily.com", + "appledaily.com.hk", + "||appledaily.com.hk", + "appledaily.com.tw", + "||appledaily.com.tw", + ".appshopper.com", + "|http://appshopper.com", + "||appsocks.net", + "||appsto.re", + ".aptoide.com", + "||aptoide.com", + "||archives.gov", + ".archive.fo", + "||archive.fo", + ".archive.is", + "||archive.is", + ".archive.li", + "||archive.li", + "||archive.org", + "archive.today", + "|https://archive.today", + ".arctosia.com", + "|http://arctosia.com", + "||areca-backup.org", + ".arethusa.su", + "||arethusa.su", + "||arlingtoncemetery.mil", + "||army.mil", + ".art4tibet1998.org", + "artofpeacefoundation.org", + "artsy.net", + "||asacp.org", + "asdfg.jp/dabr", + "asg.to", + ".asia-gaming.com", + ".asiaharvest.org", + "||asiaharvest.org", + "asianews.it", + "|http://japanfirst.asianfreeforum.com/", + "||asiansexdiary.com", + "||asianwomensfilm.de", + ".asiatgp.com", + ".asiatoday.us", + "||askstudent.com", + ".askynz.net", + "||askynz.net", + "||assembla.com", + "||astrill.com", + "||atc.org.au", + ".atchinese.com", + "|http://atchinese.com", + "atgfw.org", + ".atlaspost.com", + "||atlaspost.com", + "||atdmt.com", + ".atlanta168.com/forum", + ".atnext.com", + "||atnext.com", + "ice.audionow.com", + ".av.com", + "||av.movie", + ".av-e-body.com", + "avaaz.org", + "||avaaz.org", + ".avbody.tv", + ".avcity.tv", + ".avcool.com", + ".avdb.in", + "||avdb.in", + ".avdb.tv", + "||avdb.tv", + ".avfantasy.com", + ".avgle.com", + "||avgle.com", + "||avidemux.org", + "||avoision.com", + ".avyahoo.com", + "||axureformac.com", + ".azerbaycan.tv", + "azerimix.com", + "boxun*.azurewebsites.net", + "||boxun*.azurewebsites.net", + "forum.baby-kingdom.com", + "babynet.com.hk", + "backchina.com", + "||backchina.com", + ".backpackers.com.tw/forum", + "backtotiananmen.com", + ".badiucao.com", + "||badiucao.com", + ".badjojo.com", + "badoo.com", + "|http://*2.bahamut.com.tw", + "||baidu.jp", + ".baijie.org", + "|http://baijie.org", + "||bailandaily.com", + "||baixing.me", + "||bakgeekhome.tk", + ".banana-vpn.com", + "||banana-vpn.com", + ".band.us", + ".bandwagonhost.com", + "||bandwagonhost.com", + ".bangbrosnetwork.com", + ".bangchen.net", + "|http://bangchen.net", + "||bangyoulater.com", + "bannedbook.org", + "||bannedbook.org", + ".bannednews.org", + ".baramangaonline.com", + "|http://baramangaonline.com", + ".barenakedislam.com", + "||barnabu.co.uk", + "bartvpn.com", + ".bastillepost.com", + "bayvoice.net", + "||bayvoice.net", + "dajusha.baywords.com", + "||bbchat.tv", + "||bb-chat.tv", + ".bbg.gov", + ".bbkz.com/forum", + ".bbnradio.org", + "bbs-tw.com", + ".bbsdigest.com/thread", + "||bbsfeed.com", + "bbsland.com", + ".bbsmo.com", + ".bbsone.com", + "bbtoystore.com", + ".bcast.co.nz", + ".bcc.com.tw/board", + ".bcchinese.net", + ".bcmorning.com", + "bdsmvideos.net", + ".beaconevents.com", + ".bebo.com", + "||bebo.com", + ".beevpn.com", + "||beevpn.com", + ".behindkink.com", + "||beijing1989.com", + "beijingspring.com", + "||beijingspring.com", + ".beijingzx.org", + "|http://beijingzx.org", + ".belamionline.com", + ".bell.wiki", + "|http://bell.wiki", + "bemywife.cc", + "beric.me", + ".berlintwitterwall.com", + "||berlintwitterwall.com", + ".berm.co.nz", + ".bestforchina.org", + "||bestforchina.org", + ".bestgore.com", + ".bestpornstardb.com", + "||bestvpn.com", + ".bestvpnanalysis.com", + ".bestvpnserver.com", + ".bestvpnservice.com", + ".bestvpnusa.com", + "||bet365.com", + ".betfair.com", + "||betternet.co", + ".bettervpn.com", + "||bettervpn.com", + ".bettween.com", + "||bettween.com", + "||betvictor.com", + ".bewww.net", + ".beyondfirewall.com", + "||bfnn.org", + "||bfsh.hk", + ".bgvpn.com", + "||bgvpn.com", + ".bianlei.com", + "@@||bianlei.com", + "biantailajiao.com", + "biantailajiao.in", + ".biblesforamerica.org", + "|http://biblesforamerica.org", + ".bic2011.org", + "bigfools.com", + "||bigjapanesesex.com", + ".bignews.org", + "||bignews.org", + ".bigsound.org", + ".biliworld.com", + "|http://biliworld.com", + "|http://billypan.com/wiki", + ".binux.me", + "ai.binwang.me/couplet", + "bipic.net", + ".bit.do", + "|http://bit.do", + ".bit.ly", + "|http://bit.ly", + "||bitcointalk.org", + ".bitshare.com", + "||bitshare.com", + "bitsnoop.com", + ".bitvise.com", + "||bitvise.com", + "bizhat.com", + "||bl-doujinsouko.com", + ".bjnewlife.org", + ".bjs.org", + "bjzc.org", + "||bjzc.org", + ".blacklogic.com", + ".blackvpn.com", + "||blackvpn.com", + "blewpass.com", + "tor.blingblingsquad.net", + ".blinkx.com", + "||blinkx.com", + "blinw.com", + ".blip.tv", + "||blip.tv/", + ".blockcn.com", + "||blockcn.com", + "||blockless.com", + "||blog.de", + ".blog.jp", + "|http://blog.jp", + "@@||jpush.cn", + ".blogcatalog.com", + "||blogcatalog.com", + "||blogcity.me", + ".blogger.com", + "||blogger.com", + "blogimg.jp", + "||blog.kangye.org", + ".bloglines.com", + "||bloglines.com", + "||bloglovin.com", + "rconversation.blogs.com", + "blogtd.net", + ".blogtd.org", + "|http://blogtd.org", + "||bloodshed.net", + ".bloomberg.cn", + "||bloomberg.cn", + ".bloomberg.com", + "||bloomberg.com", + "bloomberg.de", + "||bloomberg.de", + "||assets.bwbx.io", + "||bloomfortune.com", + "blueangellive.com", + ".bmfinn.com", + ".bnews.co", + "||bnews.co", + "||bnrmetal.com", + "boardreader.com/thread", + "||boardreader.com", + ".bod.asia", + "|http://bod.asia", + ".bodog88.com", + ".bolehvpn.net", + "||bolehvpn.net", + "bonbonme.com", + ".bonbonsex.com", + ".bonfoundation.org", + ".bongacams.com", + "||boobstagram.com", + "||book.com.tw", + "bookepub.com", + "||books.com.tw", + "||botanwang.com", + ".bot.nu", + ".bowenpress.com", + "||bowenpress.com", + "||app.box.com", + "dl.box.net", + "||dl.box.net", + ".boxpn.com", + "||boxpn.com", + "boxun.com", + "||boxun.com", + ".boxun.tv", + "||boxun.tv", + "boxunblog.com", + "||boxunblog.com", + ".boxunclub.com", + "boyangu.com", + ".boyfriendtv.com", + ".boysfood.com", + "||br.st", + ".brainyquote.com/quotes/authors/d/dalai_lama", + "||brandonhutchinson.com", + "||braumeister.org", + ".bravotube.net", + "||bravotube.net", + ".brazzers.com", + "||brazzers.com", + ".break.com", + "||break.com", + "breakgfw.com", + "||breakgfw.com", + "breaking911.com", + ".breakingtweets.com", + "||breakingtweets.com", + "||breakwall.net", + "briian.com/6511/freegate", + ".briefdream.com/%E7%B4%A0%E6%A3%BA", + "brizzly.com", + "||brizzly.com", + "||brkmd.com", + "broadbook.com", + ".broadpressinc.com", + "||broadpressinc.com", + "bbs.brockbbs.com", + "brucewang.net", + ".brutaltgp.com", + "||brutaltgp.com", + ".bt2mag.com", + "||bt95.com", + ".btaia.com", + ".btbtav.com", + "|http://btdigg.org", + ".btku.me", + "||btku.me", + "||btku.org", + ".btspread.com", + ".btsynckeys.com", + ".budaedu.org", + "||budaedu.org", + ".buddhanet.com.tw/zfrop/tibet", + ".buddhistchannel.tv", + ".buffered.com", + "|http://buffered.com", + ".bullog.org", + "||bullog.org", + ".bullogger.com", + "||bullogger.com", + "bunbunhk.com", + ".busayari.com", + "|http://busayari.com", + ".businessinsider.com/bing-could-be-censoring-search-results-2014", + ".businessinsider.com/china-banks-preparing-for-debt-implosion-2014", + ".businessinsider.com/hong-kong-activists-defy-police-tear-gas-as-protests-continue-overnight-2014", + ".businessinsider.com/internet-outages-reported-in-north-korea-2014", + ".businessinsider.com/iphone-6-is-approved-for-sale-in-china-2014", + ".businessinsider.com/nfl-announcers-surface-tablets-2014", + ".businessinsider.com/panama-papers", + ".businessinsider.com/umbrella-man-hong-kong-2014", + "|http://www.businessinsider.com.au/*", + ".businessweek.com", + ".busu.org/news", + "|http://busu.org/news", + "busytrade.com", + ".buugaa.com", + ".buzzhand.com", + ".buzzhand.net", + ".buzzorange.com", + "||buzzorange.com", + "||bvpn.com", + "||bwh1.net", + "bwsj.hk", + "||bx.tl", + ".c-spanvideo.org", + "||c-spanvideo.org", + "||c-est-simple.com", + ".c100tibet.org", + "||cablegatesearch.net", + ".cachinese.com", + ".cacnw.com", + "|http://cacnw.com", + ".cactusvpn.com", + "||cactusvpn.com", + ".cafepress.com", + ".cahr.org.tw", + ".calameo.com/books", + "cn.calameo.com", + "|http://cn.calameo.com", + ".calgarychinese.ca", + ".calgarychinese.com", + ".calgarychinese.net", + "|http://blog.calibre-ebook.com", + "|http://google.calstate.edu", + "falun.caltech.edu", + ".its.caltech.edu/~falun/", + ".cam4.com", + ".cam4.jp", + ".cam4.sg", + ".camfrog.com", + "||camfrog.com", + "||cams.com", + ".cams.org.sg", + "canadameet.com", + ".canalporno.com", + "|http://bbs.cantonese.asia/", + ".canyu.org", + "||canyu.org", + ".cao.im", + ".caobian.info", + "||caobian.info", + "caochangqing.com", + "||caochangqing.com", + ".cap.org.hk", + "||cap.org.hk", + ".carabinasypistolas.com", + "cardinalkungfoundation.org", + "carmotorshow.com", + "ss.carryzhou.com", + ".cartoonmovement.com", + "||cartoonmovement.com", + ".casadeltibetbcn.org", + ".casatibet.org.mx", + "|http://casatibet.org.mx", + "cari.com.my", + "||caribbeancom.com", + ".casinoking.com", + ".casinoriva.com", + "||catch22.net", + ".catchgod.com", + "|http://catchgod.com", + "||catfightpayperview.xxx", + ".catholic.org.hk", + "||catholic.org.hk", + "catholic.org.tw", + "||catholic.org.tw", + ".cathvoice.org.tw", + "||cattt.com", + ".cbc.ca", + "||cbc.ca", + ".cbsnews.com/video", + ".cbtc.org.hk", + "||cccat.cc", + "||cccat.co", + ".ccdtr.org", + "||ccdtr.org", + ".cchere.com", + "||cchere.com", + ".ccim.org", + ".cclife.ca", + "cclife.org", + "cclifefl.org", + ".ccthere.com", + "||ccthere.com", + "||ccthere.net", + ".cctmweb.net", + ".cctongbao.com/article/2078732", + "ccue.ca", + "ccue.com", + ".ccvoice.ca", + ".ccw.org.tw", + ".cgdepot.org", + "|http://cgdepot.org", + "||cdbook.org", + ".cdcparty.com", + ".cdef.org", + "||cdef.org", + "||cdig.info", + "cdjp.org", + "||cdjp.org", + ".cdn-apple.com", + "||cdn-apple.com", + ".cdnews.com.tw", + "cdp1989.org", + "cdp1998.org", + "||cdp1998.org", + "cdp2006.org", + "||cdp2006.org", + ".cdpa.url.tw", + "cdpeu.org", + "cdpusa.org", + "cdpweb.org", + "||cdpweb.org", + "cdpwu.org", + "||cdpwu.org", + "||cdw.com", + ".cecc.gov", + "||cecc.gov", + "||cellulo.info", + "||cenews.eu", + "||centerforhumanreprod.com", + "||centralnation.com", + ".centurys.net", + "|http://centurys.net", + ".cfhks.org.hk", + ".cfos.de", + ".cftfc.com", + ".cgst.edu", + ".change.org", + "||change.org", + ".changp.com", + "||changp.com", + ".changsa.net", + "|http://changsa.net", + ".channel8news.sg/news8", + ".chapm25.com", + ".chaturbate.com", + ".chuang-yen.org", + "chengmingmag.com", + ".chenguangcheng.com", + "||chenguangcheng.com", + ".chenpokong.com", + ".chenpokong.net", + "|http://chenpokong.net", + "||cherrysave.com", + ".chhongbi.org", + "chicagoncmtv.com", + "|http://chicagoncmtv.com", + ".china-week.com", + "china101.com", + "||china101.com", + "||china18.org", + "||china21.com", + "china21.org", + "||china21.org", + ".china5000.us", + "chinaaffairs.org", + "||chinaaffairs.org", + "||chinaaid.me", + "chinaaid.us", + "chinaaid.org", + "chinaaid.net", + "chinacomments.org", + "||chinacomments.org", + ".chinachange.org", + "||chinachange.org", + "chinachannel.hk", + "||chinachannel.hk", + ".chinacitynews.be", + ".chinadialogue.net", + ".chinadigitaltimes.net", + "||chinadigitaltimes.net", + ".chinaelections.org", + "||chinaelections.org", + ".chinaeweekly.com", + "||chinaeweekly.com", + "||chinafreepress.org", + ".chinagate.com", + "chinageeks.org", + "chinagfw.org", + "||chinagfw.org", + ".chinagonet.com", + ".chinagreenparty.org", + "||chinagreenparty.org", + ".chinahorizon.org", + "||chinahorizon.org", + ".chinahush.com", + ".chinainperspective.com", + "||chinainterimgov.org", + "chinalaborwatch.org", + "chinalawtranslate.com", + ".chinapost.com.tw/taiwan/national/national-news", + "chinaxchina.com/howto", + "chinalawandpolicy.com", + ".chinamule.com", + "||chinamule.com", + "chinamz.org", + ".chinapress.com.my", + "||chinapress.com.my", + ".china-review.com.ua", + "|http://china-review.com.ua", + ".chinarightsia.org", + "chinasmile.net/forums", + "chinasocialdemocraticparty.com", + "||chinasocialdemocraticparty.com", + "chinasoul.org", + "||chinasoul.org", + ".chinasucks.net", + ".chinatimes.com/realtimenews/260409/", + "||chinatopsex.com", + ".chinatown.com.au", + "chinatweeps.com", + "chinaway.org", + ".chinaworker.info", + "||chinaworker.info", + "chinayouth.org.hk", + "chinayuanmin.org", + "||chinayuanmin.org", + ".chinese-hermit.net", + "chinese-leaders.org", + "chinese-memorial.org", + ".chinesedaily.com", + "||chinesedailynews.com", + ".chinesedemocracy.com", + "||chinesedemocracy.com", + "||chinesegay.org", + ".chinesen.de", + "||chinesen.de", + ".chinesenews.net.au/", + ".chinesepen.org", + ".chinesetalks.net/ch", + "||chineseupress.com", + ".chingcheong.com", + "||chingcheong.com", + ".chinman.net", + "|http://chinman.net", + "chithu.org", + "|http://chn.chosun.com", + "cnnews.chosun.com/client/news/viw.asp?cate=C01&mcate", + ".chrdnet.com", + "|http://chrdnet.com", + ".christianfreedom.org", + "|http://christianfreedom.org", + "christianstudy.com", + "||christianstudy.com", + "christusrex.org/www1/sdc", + ".chubold.com", + "chubun.com", + "chuizi.net", + "christiantimes.org.hk", + ".chrlawyers.hk", + "|http://chrlawyers.hk", + ".churchinhongkong.org/b5/index.php", + "|http://churchinhongkong.org/b5/index.php", + ".chushigangdrug.ch", + ".cienen.com", + ".cineastentreff.de", + ".cipfg.org", + "||circlethebayfortibet.org", + "||cirosantilli.com", + ".citizencn.com", + "||citizencn.com", + "|http://citizenlab.org", + "|http://www.citizenlab.org", + "||citizenscommission.hk", + ".citizenlab.org", + "citizensradio.org", + ".city365.ca", + "|http://city365.ca", + "city9x.com", + "||citypopulation.de", + ".citytalk.tw/event", + ".civicparty.hk", + "||civicparty.hk", + ".civildisobediencemovement.org", + "civilhrfront.org", + "||civilhrfront.org", + ".civiliangunner.com", + ".civilmedia.tw", + "||civilmedia.tw", + "psiphon.civisec.org", + "||vpn.cjb.net", + ".ck101.com", + "||ck101.com", + ".clarionproject.org/news/islamic-state-isis-isil-propaganda", + "||classicalguitarblog.net", + ".clb.org.hk", + "clearharmony.net", + "clearwisdom.net", + "clinica-tibet.ru", + ".clipfish.de", + "cloakpoint.com", + "||club1069.com", + "cmi.org.tw", + "|http://www.cmoinc.org", + "cmp.hku.hk", + "hkupop.hku.hk", + "||cmule.com", + "||cmule.org", + "||cms.gov", + "|http://vpn.cmu.edu", + "|http://vpn.sv.cmu.edu", + ".cn6.eu", + ".cna.com.tw", + "||cna.com.tw", + ".cnabc.com", + ".cnd.org", + "||cnd.org", + "download.cnet.com", + ".cnex.org.cn", + ".cnineu.com", + "wiki.cnitter.com", + ".cnn.com/video", + ".cnpolitics.org", + "||cnpolitics.org", + ".cn-proxy.com", + "|http://cn-proxy.com", + ".cnproxy.com", + "blog.cnyes.com", + "news.cnyes.com", + "||coat.co.jp", + ".cochina.co", + "||cochina.co", + "||cochina.org", + ".code1984.com/64", + "|http://goagent.codeplex.com", + "||codeshare.io", + "||codeskulptor.org", + "|http://tosh.comedycentral.com", + "comefromchina.com", + "||comefromchina.com", + ".comic-mega.me", + "commandarms.com", + "||commentshk.com", + ".communistcrimes.org", + "||communistcrimes.org", + "||communitychoicecu.com", + "||compileheart.com", + "||conoha.jp", + ".contactmagazine.net", + ".convio.net", + ".coobay.com", + "|http://www.cool18.com/bbs*/", + ".coolaler.com", + "||coolaler.com", + "coolder.com", + "||coolder.com", + "||coolloud.org.tw", + ".coolncute.com", + "||coolstuffinc.com", + "corumcollege.com", + ".cos-moe.com", + "|http://cos-moe.com", + ".cosplayjav.pl", + "|http://cosplayjav.pl", + ".cotweet.com", + "||cotweet.com", + ".coursehero.com", + "||coursehero.com", + "cpj.org", + "||cpj.org", + ".cq99.us", + "|http://cq99.us", + "crackle.com", + "||crackle.com", + ".crazys.cc", + ".crazyshit.com", + "||crchina.org", + "crd-net.org", + "creaders.net", + "||creaders.net", + ".creadersnet.com", + "||cristyli.com", + ".crocotube.com", + "|http://crocotube.com", + ".crossthewall.net", + "||crossthewall.net", + ".crossvpn.net", + "||crossvpn.net", + "||crucial.com", + "csdparty.com", + "||csdparty.com", + "||csuchen.de", + ".csw.org.uk", + ".ct.org.tw", + "||ct.org.tw", + ".ctao.org", + ".ctfriend.net", + ".ctitv.com.tw", + "cts.com.tw", + "|http://library.usc.cuhk.edu.hk/", + "|http://mjlsh.usc.cuhk.edu.hk/", + ".cuhkacs.org/~benng", + ".cuihua.org", + "||cuihua.org", + ".cuiweiping.net", + "||cuiweiping.net", + "||culture.tw", + ".cumlouder.com", + "||cumlouder.com", + "||curvefish.com", + ".cusu.hk", + "||cusu.hk", + ".cutscenes.net", + ".cw.com.tw", + "||cw.com.tw", + "|http://forum.cyberctm.com", + "cyberghostvpn.com", + "||cyberghostvpn.com", + "||cynscribe.com", + "cytode.us", + "||ifan.cz.cc", + "||mike.cz.cc", + "||nic.cz.cc", + ".d-fukyu.com", + "|http://d-fukyu.com", + "cl.d0z.net", + ".d100.net", + "||d100.net", + ".d2bay.com", + "|http://d2bay.com", + ".dabr.co.uk", + "||dabr.co.uk", + "dabr.eu", + "dabr.mobi", + "||dabr.mobi", + "||dabr.me", + "dadazim.com", + "||dadazim.com", + ".dadi360.com", + ".dafabet.com", + "dafagood.com", + "dafahao.com", + ".dafoh.org", + ".daftporn.com", + ".dagelijksestandaard.nl", + ".daidostup.ru", + "|http://daidostup.ru", + ".dailidaili.com", + "||dailidaili.com", + ".dailymotion.com", + "||dailymotion.com", + "daiphapinfo.net", + ".dajiyuan.com", + "||dajiyuan.de", + "dajiyuan.eu", + "dalailama.com", + ".dalailama.mn", + "|http://dalailama.mn", + ".dalailama.ru", + "||dalailama.ru", + "dalailama80.org", + ".dalailama-archives.org", + ".dalailamacenter.org", + "|http://dalailamacenter.org", + "dalailamafellows.org", + ".dalailamafilm.com", + ".dalailamafoundation.org", + ".dalailamahindi.com", + ".dalailamainaustralia.org", + ".dalailamajapanese.com", + ".dalailamaprotesters.info", + ".dalailamaquotes.org", + ".dalailamatrust.org", + ".dalailamavisit.org.nz", + ".dalailamaworld.com", + "||dalailamaworld.com", + "dalianmeng.org", + "||dalianmeng.org", + ".daliulian.org", + "||daliulian.org", + ".danke4china.net", + "||danke4china.net", + ".danwei.org", + "daolan.net", + ".daozhongxing.org", + "darktoy.net", + "||dastrassi.org", + "blog.daum.net/_blog", + ".david-kilgour.com", + "|http://david-kilgour.com", + "daxa.cn", + "||daxa.cn", + "cn.dayabook.com", + ".daylife.com/topic/dalai_lama", + "||db.tt", + ".dbc.hk/main", + "||dcard.tw", + "dcmilitary.com", + ".ddc.com.tw", + ".ddhw.info", + "||de-sci.org", + ".de-sci.org", + "packages.debian.org/zh-cn/lenny/gpass", + "||decodet.co", + ".definebabe.com", + "||delcamp.net", + "delicious.com/GFWbookmark", + ".democrats.org", + "||democrats.org", + "||desc.se", + "||dessci.com", + ".destroy-china.jp", + "||deutsche-welle.de", + "||devio.us", + "||devpn.com", + "||dfas.mil", + "dfn.org", + "dharmakara.net", + ".dharamsalanet.com", + ".diaoyuislands.org", + "||diaoyuislands.org", + ".difangwenge.org", + "|http://digiland.tw/", + "||digitalnomadsproject.org", + ".diigo.com", + "||diigo.com", + "||dilber.se", + "||furl.net", + ".dipity.com", + "||directcreative.com", + "|https://search.disconnect.me", + ".discuss.com.hk", + "||discuss.com.hk", + ".discuss4u.com", + "disp.cc", + ".disqus.com", + "||disqus.com", + ".dit-inc.us", + "||dit-inc.us", + ".dizhidizhi.com", + "||dizhuzhishang.com", + "djangosnippets.org", + ".djorz.com", + "||djorz.com", + "||dl-laby.jp", + "||dlsite.com", + "||dlyoutube.com", + "||dmcdn.net", + ".dnscrypt.org", + "||dnscrypt.org", + "||dns2go.com", + "||dnssec.net", + "doctorvoice.org", + ".dogfartnetwork.com/tour", + "gloryhole.com", + ".dojin.com", + ".dok-forum.net", + "||dolc.de", + "||dolf.org.hk", + "||dollf.com", + ".domain.club.tw", + ".domaintoday.com.au", + "chinese.donga.com", + "dongtaiwang.com", + "||dongtaiwang.com", + ".dongtaiwang.net", + "||dongtaiwang.net", + ".dongyangjing.com", + "|http://danbooru.donmai.us", + ".dontfilter.us", + "||dontmovetochina.com", + ".dorjeshugden.com", + ".dotplane.com", + "||dotplane.com", + "||dotsub.com", + ".dotvpn.com", + "||dotvpn.com", + ".doub.io", + "||doub.io", + "||dougscripts.com", + "||douhokanko.net", + "||doujincafe.com", + "dowei.org", + "dphk.org", + "dpp.org.tw", + "||dpp.org.tw", + "||dpr.info", + "||dragonsprings.org", + ".dreamamateurs.com", + ".drepung.org", + "||drgan.net", + ".drmingxia.org", + "|http://drmingxia.org", + "||dropbooks.tv", + "||dropbox.com", + "||api.dropboxapi.com", + "||notify.dropboxapi.com", + "||dropboxusercontent.com", + "drsunacademy.com", + ".drtuber.com", + ".dscn.info", + "|http://dscn.info", + ".dstk.dk", + "|http://dstk.dk", + "||dtiblog.com", + "||dtic.mil", + ".dtwang.org", + ".duanzhihu.com", + ".duckdns.org", + "|http://duckdns.org", + ".duckduckgo.com", + "||duckduckgo.com", + ".duckload.com/download", + "||duckmylife.com", + ".duga.jp", + "|http://duga.jp", + ".duihua.org", + "||duihua.org", + "||duihuahrjournal.org", + ".dunyabulteni.net", + ".duoweitimes.com", + "||duoweitimes.com", + "duping.net", + "||duplicati.com", + "dupola.com", + "dupola.net", + ".dushi.ca", + "||dvorak.org", + ".dw.com", + "||dw.com", + "||dw.de", + ".dw-world.com", + "||dw-world.com", + ".dw-world.de", + "|http://dw-world.de", + "www.dwheeler.com", + "dwnews.com", + "||dwnews.com", + "dwnews.net", + "||dwnews.net", + "xys.dxiong.com", + "||dynawebinc.com", + "||dysfz.cc", + ".dzze.com", + "||e-classical.com.tw", + "||e-gold.com", + ".e-gold.com", + ".e-hentai.org", + "||e-hentai.org", + ".e-hentaidb.com", + "|http://e-hentaidb.com", + "e-info.org.tw", + ".e-traderland.net/board", + ".e-zone.com.hk/discuz", + "|http://e-zone.com.hk/discuz", + ".e123.hk", + "||e123.hk", + ".earlytibet.com", + "|http://earlytibet.com", + ".earthcam.com", + ".earthvpn.com", + "||earthvpn.com", + "eastern-ark.com", + ".easternlightning.org", + ".eastturkestan.com", + "|http://www.eastturkistan.net/", + ".eastturkistan-gov.org", + ".eastturkistancc.org", + ".eastturkistangovernmentinexile.us", + "||eastturkistangovernmentinexile.us", + ".easyca.ca", + ".easypic.com", + ".ebony-beauty.com", + "ebookbrowse.com", + "ebookee.com", + "||ecfa.org.tw", + "ushuarencity.echainhost.com", + "||ecimg.tw", + "ecministry.net", + ".economist.com", + "bbs.ecstart.com", + "edgecastcdn.net", + "||edgecastcdn.net", + "/twimg\\.edgesuite\\.net\\/\\/?appledaily/", + "edicypages.com", + ".edmontonchina.cn", + ".edmontonservice.com", + "edoors.com", + ".edubridge.com", + "||edubridge.com", + ".edupro.org", + "||eevpn.com", + "efcc.org.hk", + ".efukt.com", + "|http://efukt.com", + "||eic-av.com", + "||eireinikotaerukai.com", + ".eisbb.com", + ".eksisozluk.com", + "||eksisozluk.com", + "electionsmeter.com", + "||elgoog.im", + ".ellawine.org", + ".elpais.com", + "||elpais.com", + ".eltondisney.com", + ".emaga.com/info/3407", + "emilylau.org.hk", + ".emanna.com/chineseTraditional", + "bitc.bme.emory.edu/~lzhou/blogs", + ".empfil.com", + ".emule-ed2k.com", + "|http://emule-ed2k.com", + ".emulefans.com", + "|http://emulefans.com", + ".emuparadise.me", + ".enanyang.my", + "||enewstree.com", + ".enfal.de", + "chinese.engadget.com", + "||engagedaily.org", + "englishforeveryone.org", + "||englishfromengland.co.uk", + "englishpen.org", + ".enlighten.org.tw", + "||entermap.com", + ".entnt.com", + "|http://entnt.com", + ".episcopalchurch.org", + ".epochhk.com", + "|http://epochhk.com", + "epochtimes-bg.com", + "||epochtimes-bg.com", + "epochtimes-romania.com", + "||epochtimes-romania.com", + "epochtimes.co.il", + "||epochtimes.co.il", + "epochtimes.co.kr", + "||epochtimes.co.kr", + "epochtimes.com", + "||epochtimes.com", + ".epochtimes.cz", + "epochtimes.de", + "epochtimes.fr", + ".epochtimes.ie", + ".epochtimes.it", + "epochtimes.jp", + "epochtimes.ru", + "epochtimes.se", + "epochtimestr.com", + ".epochweek.com", + "||epochweek.com", + "||epochweekly.com", + ".eporner.com", + ".equinenow.com", + "erabaru.net", + ".eracom.com.tw", + ".eraysoft.com.tr", + ".erepublik.com", + ".erights.net", + "||erights.net", + ".erktv.com", + "|http://erktv.com", + "||ernestmandel.org", + "||erodaizensyu.com", + "||erodoujinlog.com", + "||erodoujinworld.com", + "||eromanga-kingdom.com", + "||eromangadouzin.com", + ".eromon.net", + "|http://eromon.net", + ".eroprofile.com", + ".eroticsaloon.net", + ".eslite.com", + "||eslite.com", + "wiki.esu.im/%E8%9B%A4%E8%9B%A4%E8%AF%AD%E5%BD%95", + ".etaa.org.au", + ".etadult.com", + "etaiwannews.com", + "||etizer.org", + "||etokki.com", + ".ettoday.net/news/20151216/614081", + "etvonline.hk", + ".eu.org", + "||eu.org", + ".eucasino.com", + ".eulam.com", + ".eurekavpt.com", + "||eurekavpt.com", + ".euronews.com", + "||euronews.com", + "eeas.europa.eu/delegations/china/press_corner/all_news/news/2015/20150716_zh", + "eeas.europa.eu/statements-eeas/2015/151022", + ".evschool.net", + "|http://evschool.net", + "||exblog.jp", + "||blog.exblog.co.jp", + "@@||www.exblog.jp", + ".exchristian.hk", + "||exchristian.hk", + "|http://blog.excite.co.jp", + "||exmormon.org", + "||expatshield.com", + ".expecthim.com", + "||expecthim.com", + "experts-univers.com", + "||exploader.net", + ".expressvpn.com", + "||expressvpn.com", + ".extremetube.com", + "eyevio.jp", + "||eyevio.jp", + ".eyny.com", + "||eyny.com", + ".ezpc.tk/category/soft", + ".ezpeer.com", + "||facebookquotes4u.com", + ".faceless.me", + "||faceless.me", + "|http://facesoftibetanselfimmolators.info", + "||facesofnyfw.com", + ".faith100.org", + "|http://faith100.org", + ".faithfuleye.com", + "||faiththedog.info", + ".fakku.net", + ".falsefire.com", + "||falsefire.com", + "falun-co.org", + "falunart.org", + "||falunasia.info", + "|http://falunau.org", + ".falunaz.net", + "falundafa.org", + "falundafa-dc.org", + "||falundafa-florida.org", + "||falundafa-nc.org", + "||falundafa-pa.net", + "||falundafa-sacramento.org", + "falun-ny.net", + "||falundafaindia.org", + "falundafamuseum.org", + ".falungong.club", + ".falungong.de", + "falungong.org.uk", + "||falunhr.org", + "faluninfo.de", + "faluninfo.net", + ".falunpilipinas.net", + "||falunworld.net", + "familyfed.org", + ".fangeming.com", + "||fanglizhi.info", + "||fangong.org", + "fangongheike.com", + ".fanqiang.tk", + "fanqianghou.com", + "||fanqianghou.com", + ".fanqiangzhe.com", + "||fanqiangzhe.com", + "fapdu.com", + "faproxy.com", + ".fawanghuihui.org", + "fanqiangyakexi.net", + "fail.hk", + "||famunion.com", + ".fan-qiang.com", + ".fangbinxing.com", + "||fangbinxing.com", + "fangeming.com", + ".fangmincn.org", + "||fangmincn.org", + ".fanhaodang.com", + "||fanswong.com", + ".fanyue.info", + ".farwestchina.com", + "en.favotter.net", + "nytimes.map.fastly.net", + "||nytimes.map.fastly.net", + "||fast.wistia.com", + "||fastssh.com", + "||faststone.org", + "favstar.fm", + "||favstar.fm", + "faydao.com/weblog", + "||fbsbx.com", + ".fc2.com", + ".fc2china.com", + ".fc2cn.com", + "||fc2cn.com", + "fc2blog.net", + "|http://uygur.fc2web.com/", + "video.fdbox.com", + ".fdc64.de", + ".fdc64.org", + ".fdc89.jp", + "||fourface.nodesnoop.com", + "||feelssh.com", + "feer.com", + ".feifeiss.com", + "|http://feitianacademy.org", + ".feitian-california.org", + "||feministteacher.com", + ".fengzhenghu.com", + "||fengzhenghu.com", + ".fengzhenghu.net", + "||fengzhenghu.net", + ".fevernet.com", + "|http://ff.im", + "fffff.at", + "fflick.com", + ".ffvpn.com", + "fgmtv.net", + ".fgmtv.org", + ".fhreports.net", + "|http://fhreports.net", + ".figprayer.com", + "||figprayer.com", + ".fileflyer.com", + "||fileflyer.com", + "|http://feeds.fileforum.com", + ".files2me.com", + ".fileserve.com/file", + "fillthesquare.org", + "filmingfortibet.org", + ".filthdump.com", + ".finchvpn.com", + "||finchvpn.com", + "findmespot.com", + "||findyoutube.com", + "||findyoutube.net", + ".fingerdaily.com", + "finler.net", + ".firearmsworld.net", + "|http://firearmsworld.net", + ".fireofliberty.org", + "||fireofliberty.org", + ".firetweet.io", + "||firetweet.io", + ".flagsonline.it", + "fleshbot.com", + ".fleursdeslettres.com", + "|http://fleursdeslettres.com", + "||flgg.us", + "||flgjustice.org", + "||flickr.com", + "||staticflickr.com", + "flickrhivemind.net", + ".flickriver.com", + ".fling.com", + "||flipkart.com", + "||flog.tw", + ".flyvpn.com", + "||flyvpn.com", + "|http://cn.fmnnow.com", + "fofldfradio.org", + "blog.foolsmountain.com", + ".forum4hk.com", + "fangong.forums-free.com", + "pioneer-worker.forums-free.com", + "|https://ss*.4sqi.net", + "video.foxbusiness.com", + "|http://foxgay.com", + "||fringenetwork.com", + "||flecheinthepeche.fr", + ".fochk.org", + "|http://fochk.org", + "||focustaiwan.tw", + ".focusvpn.com", + "||fofg.org", + ".fofg-europe.net", + ".fooooo.com", + "||fooooo.com", + "footwiball.com", + ".fotile.me", + "||fourthinternational.org", + "||foxdie.us", + "||foxsub.com", + "foxtang.com", + ".fpmt.org", + "|http://fpmt.org", + ".fpmt.tw", + ".fpmt-osel.org", + "||fpmtmexico.org", + "fqok.org", + "||fqrouter.com", + "||franklc.com", + ".freakshare.com", + "|http://freakshare.com", + "||free4u.com.ar", + "free-gate.org", + ".free-hada-now.org", + "free-proxy.cz", + ".free.fr/adsl", + "kineox.free.fr", + "tibetlibre.free.fr", + "||freealim.com", + "whitebear.freebearblog.org", + "||freebrowser.org", + ".freechal.com", + ".freedomchina.info", + "||freedomchina.info", + ".freedomhouse.org", + "||freedomhouse.org", + ".freedomsherald.org", + "||freedomsherald.org", + ".freefq.com", + ".freefuckvids.com", + ".freegao.com", + "||freegao.com", + "freeilhamtohti.org", + ".freekwonpyong.org", + "||saveliuxiaobo.com", + ".freelotto.com", + "||freelotto.com", + "freeman2.com", + ".freeopenvpn.com", + "freemoren.com", + "freemorenews.com", + "freemuse.org/archives/789", + "freenet-china.org", + "freenewscn.com", + "cn.freeones.com", + ".freeoz.org/bbs", + "||freeoz.org", + "||freessh.us", + "free4u.com.ar", + ".free-ssh.com", + "||free-ssh.com", + ".freechina.news/", + "||freechinaforum.org", + "||freechinaweibo.com", + ".freedomcollection.org/interviews/rebiya_kadeer", + ".freeforums.org", + "||freenetproject.org", + ".freeoz.org", + ".freetibet.net", + "||freetibet.org", + ".freetibetanheroes.org", + "|http://freetibetanheroes.org", + ".freeviewmovies.com", + ".freevpn.me", + "|http://freevpn.me", + "||freewallpaper4.me", + ".freewebs.com", + ".freewechat.com", + "||freewechat.com", + "freeweibo.com", + "||freeweibo.com", + ".freexinwen.com", + ".freeyoutubeproxy.net", + "||freeyoutubeproxy.net", + "friendfeed.com", + "friendfeed-media.com/e99a4ebe2fb4c1985c2a58775eb4422961aa5a2e", + "friends-of-tibet.org", + ".friendsoftibet.org", + "freechina.net", + "|http://www.zensur.freerk.com/", + "freevpn.nl", + "freeyellow.com", + "hk.frienddy.com/hk", + "|http://adult.friendfinder.com/", + ".fring.com", + "||fring.com", + ".fromchinatousa.net", + "||frommel.net", + ".frontlinedefenders.org", + ".frootvpn.com", + "||frootvpn.com", + "||fscked.org", + ".fsurf.com", + ".ftv.com.tw", + "fucd.com", + ".fuckcnnic.net", + "||fuckcnnic.net", + "fuckgfw.org", + "||fullerconsideration.com", + "fulue.com", + ".funf.tw", + "funp.com", + ".fuq.com", + ".furhhdl.org", + "||furinkan.com", + ".futurechinaforum.org", + "||futuremessage.org", + ".fux.com", + ".fuyin.net", + ".fuyindiantai.org", + ".fuyu.org.tw", + "||fw.cm", + ".fxcm-chinese.com", + "||fxcm-chinese.com", + "fzh999.com", + "fzh999.net", + "fzlm.com", + ".g6hentai.com", + "|http://g6hentai.com", + "||g-queen.com", + "||gabocorp.com", + ".gaeproxy.com", + ".gaforum.org", + ".galaxymacau.com", + "||galenwu.com", + ".galstars.net", + "||game735.com", + "gamebase.com.tw", + "gamejolt.com", + "|http://wiki.gamerp.jp", + "||gamer.com.tw", + ".gamer.com.tw", + ".gamez.com.tw", + "||gamez.com.tw", + ".gamousa.com", + ".gaoming.net", + "||gaoming.net", + "ganges.com", + ".gaopi.net", + "|http://gaopi.net", + ".gaozhisheng.org", + ".gaozhisheng.net", + "gardennetworks.com", + "||gardennetworks.org", + "72.52.81.22", + "||gartlive.com", + "||gate-project.com", + "||gather.com", + ".gatherproxy.com", + "gati.org.tw", + ".gaybubble.com", + ".gaycn.net", + ".gayhub.com", + "||gaymap.cc", + ".gaymenring.com", + ".gaytube.com", + "||images-gaytube.com", + ".gaywatch.com", + "|http://gaywatch.com", + ".gazotube.com", + "||gazotube.com", + "||gcc.org.hk", + "||gclooney.com", + "||gcmasia.com", + ".gcpnews.com", + "|http://gcpnews.com", + ".gdbt.net/forum", + "gdzf.org", + "||geek-art.net", + "geekerhome.com/2010/03/xixiang-project-cross-gfw", + "||geekheart.info", + ".gekikame.com", + "|http://gekikame.com", + ".gelbooru.com", + "|http://gelbooru.com", + ".geocities.co.jp", + ".geocities.com/SiliconValley/Circuit/5683/download.html", + "hk.geocities.com", + "geocities.jp", + ".gerefoundation.org", + "||getastrill.com", + ".getchu.com", + ".getcloak.com", + "||getcloak.com", + "||getfoxyproxy.org", + ".getfreedur.com", + "||getgom.com", + ".geti2p.net", + "||geti2p.net", + ".getlantern.org", + "||getlantern.org", + ".getjetso.com/forum", + "getiton.com", + ".getsocialscope.com", + "||getsync.com", + "gfbv.de", + ".gfgold.com.hk", + ".gfsale.com", + "||gfsale.com", + "gfw.org.ua", + ".gfw.press", + "||gfw.press", + ".ggssl.com", + "||ggssl.com", + ".ghostpath.com", + "||ghostpath.com", + "||ghut.org", + ".giantessnight.com", + "|http://giantessnight.com", + ".gifree.com", + "||giga-web.jp", + "tw.gigacircle.com", + "|http://cn.giganews.com/", + "gigporno.ru", + "||girlbanker.com", + ".git.io", + "||git.io", + "|http://softwaredownload.gitbooks.io", + "github.com/getlantern", + "|https://gist.github.com", + "http://cthlo.github.io/hktv", + "hahaxixi.github.io", + "|https://hahaxixi.github.io", + "||haoel.github.io", + "||rg3.github.io", + "||sikaozhe1997.github.io", + "||sodatea.github.io", + "||terminus2049.github.io", + "||toutyrater.github.io", + "wsgzao.github.io", + "|https://wsgzao.github.io", + ".gizlen.net", + "||gizlen.net", + ".gjczz.com", + "||gjczz.com", + "globaljihad.net", + "globalmediaoutreach.com", + "globalmuseumoncommunism.org", + "||globalrescue.net", + ".globaltm.org", + ".globalvoicesonline.org", + "||globalvoicesonline.org", + "||globalvpn.net", + ".glock.com", + "gluckman.com/DalaiLama", + "gmbd.cn", + "||gmhz.org", + "|http://www.gmiddle.com", + "|http://www.gmiddle.net", + ".gmll.org", + "||gnci.org.hk", + "go-pki.com", + "||goagent.biz", + "||goagentplus.com", + "gobet.cc", + "godfootsteps.org", + "||godfootsteps.org", + "godns.work", + "godsdirectcontact.co.uk", + ".godsdirectcontact.org", + "godsdirectcontact.org.tw", + ".godsimmediatecontact.com", + ".gogotunnel.com", + "||gohappy.com.tw", + ".gokbayrak.com", + ".goldbet.com", + "||goldbetsports.com", + "||goldeneyevault.com", + ".goldenfrog.com", + "||goldenfrog.com", + ".goldjizz.com", + "|http://goldjizz.com", + ".goldstep.net", + "||goldwave.com", + "gongmeng.info", + "gongm.in", + "gongminliliang.com", + ".gongwt.com", + "|http://gongwt.com", + "blog.goo.ne.jp/duck-tail_2009", + ".gooday.xyz", + "|http://gooday.xyz", + ".goodreads.com", + "||goodreads.com", + ".goodreaders.com", + "||goodreaders.com", + ".goodtv.com.tw", + ".goodtv.tv", + "||goofind.com", + ".googlesile.com", + ".gopetition.com", + "||gopetition.com", + ".goproxing.net", + ".gotrusted.com", + "||gotrusted.com", + "||gotw.ca", + "||grammaly.com", + "grandtrial.org", + ".graphis.ne.jp", + "||graphis.ne.jp", + "||graphql.org", + "greatfirewall.biz", + "||greatfirewallofchina.net", + ".greatfirewallofchina.org", + "||greatfirewallofchina.org", + "||greenfieldbookstore.com.hk", + ".greenparty.org.tw", + "||greenpeace.org", + ".greenreadings.com/forum", + "great-firewall.com", + "great-roc.org", + "greatroc.org", + "greatzhonghua.org", + ".greenpeace.com.tw", + ".greenvpn.net", + "||greenvpn.net", + ".greenvpn.org", + "||grotty-monday.com", + "gs-discuss.com", + "||gtricks.com", + "guancha.org", + "guaneryu.com", + ".guardster.com", + ".gun-world.net", + "gunsandammo.com", + "||gutteruncensored.com", + "||gvm.com.tw", + ".gzm.tv", + "||gzone-anime.info", + "||clementine-player.org", + "echofon.com", + "||greasespot.net", + "||www.klip.me", + "@@||site.locql.com", + "||stephaniered.com", + "@@||download.syniumsoftware.com", + "|http://ub0.cc", + "wozy.in", + "gospelherald.com", + "||gospelherald.com", + "|http://hk.gradconnection.com/", + "||grangorz.org", + "greatfire.org", + "||greatfire.org", + "greatfirewallofchina.org", + "||greatroc.tw", + ".gts-vpn.com", + "|http://gts-vpn.com", + ".gu-chu-sum.org", + "|http://gu-chu-sum.org", + ".guaguass.com", + "|http://guaguass.com", + ".guaguass.org", + "|http://guaguass.org", + ".guangming.com.my", + "guishan.org", + "||guishan.org", + ".gumroad.com", + "||gumroad.com", + "||gunsamerica.com", + "guruonline.hk", + "|http://gvlib.com", + ".gyalwarinpoche.com", + ".gyatsostudio.com", + ".h528.com", + ".h5dm.com", + ".h5galgame.me", + "||h-china.org", + ".h-moe.com", + "|http://h-moe.com", + "h1n1china.org", + ".hacg.club", + "||hacg.club", + ".hacg.in", + "|http://hacg.in", + ".hacg.li", + "|http://hacg.li", + ".hacg.me", + "|http://hacg.me", + ".hacg.red", + "|http://hacg.red", + ".hacken.cc/bbs", + ".hacker.org", + "||hackthatphone.net", + "hahlo.com", + "||hakkatv.org.tw", + ".handcraftedsoftware.org", + "|http://bbs.hanminzu.org/", + ".hanunyi.com", + ".hao.news/news", + "|http://ae.hao123.com", + "|http://ar.hao123.com", + "|http://br.hao123.com", + "|http://en.hao123.com", + "|http://id.hao123.com", + "|http://jp.hao123.com", + "|http://ma.hao123.com", + "|http://mx.hao123.com", + "|http://sa.hao123.com", + "|http://th.hao123.com", + "|http://tw.hao123.com", + "|http://vn.hao123.com", + "|http://hk.hao123img.com", + "|http://ld.hao123img.com", + "||happy-vpn.com", + ".haproxy.org", + "||hardsextube.com", + ".harunyahya.com", + "|http://harunyahya.com", + "bbs.hasi.wang", + "have8.com", + "@@||haygo.com", + ".hclips.com", + "||hdlt.me", + "||hdtvb.net", + ".hdzog.com", + "|http://hdzog.com", + "||heartyit.com", + ".heavy-r.com", + ".hec.su", + "|http://hec.su", + ".hecaitou.net", + "||hecaitou.net", + ".hechaji.com", + "||hechaji.com", + "||heeact.edu.tw", + ".hegre-art.com", + "|http://hegre-art.com", + "||cdn.helixstudios.net", + "||helplinfen.com", + "||helloandroid.com", + "||helloqueer.com", + ".helloss.pw", + "hellotxt.com", + "||hellotxt.com", + ".hentai.to", + ".hellouk.org/forum/lofiversion", + ".helpeachpeople.com", + "||helpeachpeople.com", + "||helpster.de", + ".helpzhuling.org", + "hentaitube.tv", + ".hentaivideoworld.com", + "||id.heroku.com", + "heqinglian.net", + "||heungkongdiscuss.com", + ".hexieshe.com", + "||hexieshe.com", + "||hexieshe.xyz", + "||hexxeh.net", + "app.heywire.com", + ".heyzo.com", + ".hgseav.com", + ".hhdcb3office.org", + ".hhthesakyatrizin.org", + "hi-on.org.tw", + "hidden-advent.org", + "||hidden-advent.org", + "hidecloud.com/blog/2008/07/29/fuck-beijing-olympics.html", + "||hide.me", + ".hidein.net", + ".hideipvpn.com", + "||hideipvpn.com", + ".hideman.net", + "||hideman.net", + "hideme.nl", + "||hidemy.name", + ".hidemyass.com", + "||hidemyass.com", + "hidemycomp.com", + "||hidemycomp.com", + ".hihiforum.com", + ".hihistory.net", + "||hihistory.net", + ".higfw.com", + "highpeakspureearth.com", + "||highrockmedia.com", + "||hiitch.com", + "||hikinggfw.org", + ".hilive.tv", + ".himalayan-foundation.org", + "himalayanglacier.com", + ".himemix.com", + "||himemix.com", + ".himemix.net", + "times.hinet.net", + ".hitomi.la", + "|http://hitomi.la", + ".hiwifi.com", + "@@||hiwifi.com", + "hizbuttahrir.org", + "hizb-ut-tahrir.info", + "hizb-ut-tahrir.org", + ".hjclub.info", + ".hk-pub.com/forum", + "|http://hk-pub.com", + ".hk01.com", + "||hk01.com", + ".hk32168.com", + "||hk32168.com", + "||hkacg.com", + "||hkacg.net", + ".hkatvnews.com", + "hkbc.net", + ".hkbf.org", + ".hkbookcity.com", + "||hkbookcity.com", + ".hkchurch.org", + "hkci.org.hk", + ".hkcmi.edu", + "||hkcnews.com", + "||hkcoc.com", + "hkday.net", + ".hkdailynews.com.hk/china.php", + "hkdf.org", + ".hkej.com", + ".hkepc.com/forum/viewthread.php?tid=1153322", + "china.hket.com", + "||hkfaa.com", + "hkfreezone.com", + "hkfront.org", + "m.hkgalden.com", + "|https://m.hkgalden.com", + ".hkgreenradio.org/home", + ".hkheadline.com*blog", + ".hkheadline.com/instantnews", + "hkhkhk.com", + "hkhrc.org.hk", + "hkhrm.org.hk", + "||hkip.org.uk", + "1989report.hkja.org.hk", + "hkjc.com", + ".hkjp.org", + ".hklft.com", + ".hklts.org.hk", + "||hklts.org.hk", + "news.hkpeanut.com", + "hkptu.org", + ".hkreporter.com", + "||hkreporter.com", + "|http://hkupop.hku.hk/", + ".hkusu.net", + "||hkusu.net", + ".hkvwet.com", + ".hkwcc.org.hk", + "||hkzone.org", + ".hmonghot.com", + "|http://hmonghot.com", + ".hmv.co.jp/", + "hnjhj.com", + "||hnjhj.com", + ".hnntube.com", + "||hola.com", + "||hola.org", + "holymountaincn.com", + "holyspiritspeaks.org", + "||holyspiritspeaks.org", + "||derekhsu.homeip.net", + ".homeperversion.com", + "|http://homeservershow.com", + "|http://old.honeynet.org/scans/scan31/sub/doug_eric/spam_translation.html", + ".hongkongfp.com", + "||hongkongfp.com", + "hongmeimei.com", + "||hongzhi.li", + ".hootsuite.com", + "||hootsuite.com", + ".hopedialogue.org", + "|http://hopedialogue.org", + ".hopto.org", + ".hornygamer.com", + ".hornytrip.com", + "|http://hornytrip.com", + ".hotav.tv", + ".hotels.cn", + "hotfrog.com.tw", + "hotgoo.com", + ".hotpornshow.com", + "hotpot.hk", + ".hotshame.com", + "||hotspotshield.com", + ".hotvpn.com", + "||hotvpn.com", + "||hougaige.com", + "||howtoforge.com", + "||hoxx.com", + ".hqcdp.org", + "||hqcdp.org", + "||hqjapanesesex.com", + "hqmovies.com", + ".hrcir.com", + ".hrcchina.org", + ".hrea.org", + ".hrichina.org", + "||hrichina.org", + ".hrtsea.com", + ".hrw.org", + "||hrw.org", + "hrweb.org", + "||hsjp.net", + "||hsselite.com", + "|http://hst.net.tw", + ".hstern.net", + ".hstt.net", + ".htkou.net", + "||htkou.net", + ".hua-yue.net", + ".huaglad.com", + "||huaglad.com", + ".huanghuagang.org", + "||huanghuagang.org", + ".huangyiyu.com", + ".huaren.us", + "||huaren.us", + ".huaren4us.com", + ".huashangnews.com", + "|http://huashangnews.com", + "bbs.huasing.org", + "huaxia-news.com", + "huaxiabao.org", + "huaxin.ph", + "||huayuworld.org", + ".huffingtonpost.com/rebiya-kadeer", + "||hugoroy.eu", + "||huhaitai.com", + "||huhamhire.com", + "huiyi.in", + ".hulkshare.com", + "humanrightsbriefing.org", + "||hung-ya.com", + "||hungerstrikeforaids.org", + "||huping.net", + "hurgokbayrak.com", + ".hurriyet.com.tr", + ".hut2.ru", + "||hutianyi.net", + "hutong9.net", + "huyandex.com", + ".hwadzan.tw", + "||hwayue.org.tw", + "||hwinfo.com", + "||hxwk.org", + "hxwq.org", + "||hyperrate.com", + "ebook.hyread.com.tw", + "||ebook.hyread.com.tw", + "||i1.hk", + "||i2p2.de", + "||i2runner.com", + "||i818hk.com", + ".i-cable.com", + ".i-part.com.tw", + ".iamtopone.com", + "iask.ca", + "||iask.ca", + "iask.bz", + "||iask.bz", + ".iav19.com", + "ibiblio.org/pub/packages/ccic", + ".iblist.com", + "||iblogserv-f.net", + "ibros.org", + "|http://cn.ibtimes.com", + ".ibvpn.com", + "||ibvpn.com", + "icams.com", + "blogs.icerocket.com/tag", + ".icij.org", + "||icij.org", + "||icl-fi.org", + ".icoco.com", + "||icoco.com", + "||furbo.org", + "||warbler.iconfactory.net", + "||iconpaper.org", + "||icu-project.org", + "w.idaiwan.com/forum", + "||iddddg.com", + "idemocracy.asia", + ".identi.ca", + "||identi.ca", + "||idiomconnection.com", + "|http://www.idlcoyote.com", + ".idouga.com", + ".idreamx.com", + "forum.idsam.com", + ".idv.tw", + ".ieasy5.com", + "|http://ieasy5.com", + ".ied2k.net", + ".ienergy1.com", + "|http://if.ttt/", + "ifanqiang.com", + ".ifcss.org", + "||ifcss.org", + "ifjc.org", + ".ift.tt", + "|http://ift.tt", + "||ifreewares.com", + "||igcd.net", + ".igfw.net", + "||igfw.net", + ".igfw.tech", + "||igfw.tech", + ".igmg.de", + "||ignitedetroit.net", + ".igotmail.com.tw", + "||igvita.com", + "||ihakka.net", + ".ihao.org/dz5", + "||iicns.com", + ".ikstar.com", + "||illusionfactory.com", + "||ilove80.be", + "||im.tv", + "@@||myvlog.im.tv", + "||im88.tw", + ".imgchili.net", + "|http://imgchili.net", + ".imageab.com", + ".imagefap.com", + "||imagefap.com", + "||imageflea.com", + "imageshack.us", + "||imagevenue.com", + "||imagezilla.net", + ".imb.org", + "|http://imb.org", + "|http://www.imdb.com/name/nm0482730", + ".imdb.com/title/tt0819354", + ".imdb.com/title/tt1540068", + ".imdb.com/title/tt4908644", + ".img.ly", + "||img.ly", + ".imkev.com", + "||imkev.com", + ".imlive.com", + ".immoral.jp", + "impact.org.au", + "impp.mn", + "|http://tech2.in.com/video/", + "in99.org", + "in-disguise.com", + ".incapdns.net", + ".incloak.com", + "||incloak.com", + "||incredibox.fr", + "||indiandefensenews.in", + "timesofindia.indiatimes.com/dalai", + "timesofindia.indiatimes.com/defaultinterstitial.cms", + ".indiemerch.com", + "||indiemerch.com", + "info-graf.fr", + "website.informer.com", + ".initiativesforchina.org", + ".inkui.com", + ".inmediahk.net", + "||inmediahk.net", + "||innermongolia.org", + "|http://blog.inoreader.com", + ".inote.tw", + ".insecam.org", + "|http://insecam.org", + "||insidevoa.com", + ".institut-tibetain.org", + "|http://internet.org/", + "internetdefenseleague.org", + "internetfreedom.org", + "||internetpopculture.com", + ".inthenameofconfuciusmovie.com", + "||inthenameofconfuciusmovie.com", + "inxian.com", + "||inxian.com", + "ipalter.com", + ".ipfire.org", + "||iphone4hongkong.com", + "||iphonehacks.com", + "||iphonetaiwan.org", + "||iphonix.fr", + "||ipicture.ru", + ".ipjetable.net", + "||ipjetable.net", + ".ipobar.com/read.php?", + "ipoock.com/img", + ".iportal.me", + "|http://iportal.me", + "||ippotv.com", + ".ipredator.se", + "||ipredator.se", + ".iptv.com.tw", + "||iptvbin.com", + "||ipvanish.com", + "iredmail.org", + "chinese.irib.ir", + "||ironbigfools.compython.net", + "||ironpython.net", + ".ironsocket.com", + "||ironsocket.com", + ".is.gd", + ".islahhaber.net", + ".islam.org.hk", + "|http://islam.org.hk", + ".islamawareness.net/Asia/China", + ".islamhouse.com", + "||islamhouse.com", + ".islamicity.com", + ".islamicpluralism.org", + ".islamtoday.net", + ".isaacmao.com", + "||isaacmao.com", + "||isgreat.org", + "||ismaelan.com", + ".ismalltits.com", + "||ismprofessional.net", + "isohunt.com", + "||israbox.com", + ".issuu.com", + "||issuu.com", + ".istars.co.nz", + "oversea.istarshine.com", + "||oversea.istarshine.com", + "blog.istef.info/2007/10/21/myentunnel", + ".istiqlalhewer.com", + ".istockphoto.com", + "isunaffairs.com", + "isuntv.com", + "itaboo.info", + "||itaboo.info", + ".italiatibet.org", + "download.ithome.com.tw", + "ithelp.ithome.com.tw", + "||itshidden.com", + ".itsky.it", + ".itweet.net", + "|http://itweet.net", + ".iu45.com", + ".iuhrdf.org", + "||iuhrdf.org", + ".iuksky.com", + ".ivacy.com", + "||ivacy.com", + ".iverycd.com", + ".ivpn.net", + "||ixquick.com", + ".ixxx.com", + "iyouport.com", + "||iyouport.com", + ".izaobao.us", + "||gmozomg.izihost.org", + ".izles.net", + ".izlesem.org", + "||j.mp", + "blog.jackjia.com", + "jamaat.org", + ".jamyangnorbu.com", + "|http://jamyangnorbu.com", + ".jandyx.com", + "||janwongphoto.com", + "||japan-whores.com", + ".jav.com", + ".jav101.com", + ".jav2be.com", + "||jav2be.com", + ".jav68.tv", + ".javakiba.org", + "|http://javakiba.org", + ".javbus.com", + "||javbus.com", + "||javfor.me", + ".javhd.com", + ".javhip.com", + ".javmobile.net", + "|http://javmobile.net", + ".javmoo.com", + ".javseen.com", + "|http://javseen.com", + "jbtalks.cc", + "jbtalks.com", + "jbtalks.my", + ".jdwsy.com", + "jeanyim.com", + "||jfqu36.club", + "||jfqu37.xyz", + "||jgoodies.com", + ".jiangweiping.com", + "||jiangweiping.com", + "||jiaoyou8.com", + ".jiehua.cz", + "||hk.jiepang.com", + "||tw.jiepang.com", + "jieshibaobao.com", + ".jigglegifs.com", + "56cun04.jigsy.com", + "jigong1024.com", + "daodu14.jigsy.com", + "specxinzl.jigsy.com", + "wlcnew.jigsy.com", + ".jihadology.net", + "|http://jihadology.net", + "jinbushe.org", + "||jinbushe.org", + ".jingsim.org", + "zhao.jinhai.de", + "jingpin.org", + "||jingpin.org", + "jinpianwang.com", + ".jinroukong.com", + "ac.jiruan.net", + "||jitouch.com", + ".jizzthis.com", + "jjgirls.com", + ".jkb.cc", + "|http://jkb.cc", + "jkforum.net", + "||jma.go.jp", + "research.jmsc.hku.hk/social", + "weiboscope.jmsc.hku.hk", + ".jmscult.com", + "|http://jmscult.com", + "||joachims.org", + "||jobso.tv", + ".sunwinism.joinbbs.net", + ".journalchretien.net", + "||journalofdemocracy.org", + ".joymiihub.com", + ".joyourself.com", + "jpopforum.net", + ".jubushoushen.com", + "||jubushoushen.com", + ".juhuaren.com", + "||juliereyc.com", + "||junauza.com", + ".june4commemoration.org", + ".junefourth-20.net", + "||junefourth-20.net", + "||bbs.junglobal.net", + ".juoaa.com", + "|http://juoaa.com", + "justfreevpn.com", + ".justicefortenzin.org", + "justpaste.it", + "justtristan.com", + "juyuange.org", + "juziyue.com", + "||juziyue.com", + "||jwmusic.org", + "@@||music.jwmusic.org", + ".jyxf.net", + "||k-doujin.net", + "||ka-wai.com", + ".kagyu.org", + "||kagyu.org.za", + ".kagyumonlam.org", + ".kagyunews.com.hk", + ".kagyuoffice.org", + "||kagyuoffice.org", + "||kagyuoffice.org.tw", + ".kaiyuan.de", + ".kakao.com", + "||kakao.com", + ".kalachakralugano.org", + ".kankan.today", + ".kannewyork.com", + "||kannewyork.com", + ".kanshifang.com", + "||kanshifang.com", + "||kantie.org", + "kanzhongguo.com", + "kanzhongguo.eu", + ".kaotic.com", + "||karayou.com", + "karkhung.com", + ".karmapa.org", + ".karmapa-teachings.org", + "||kawase.com", + ".kba-tx.org", + ".kcoolonline.com", + ".kebrum.com", + "||kebrum.com", + ".kechara.com", + ".keepandshare.com/visit/visit_page.php?i=688154", + ".keezmovies.com", + ".kendincos.net", + ".kenengba.com", + "||kenengba.com", + "||keontech.net", + ".kepard.com", + "||kepard.com", + "wiki.keso.cn/Home", + "||keycdn.com", + ".khabdha.org", + ".khmusic.com.tw", + "||kichiku-doujinko.com", + ".kik.com", + "||kik.com", + "bbs.kimy.com.tw", + ".kindleren.com", + "|http://kindleren.com", + "|http://www.kindleren.com", + ".kingdomsalvation.org", + "||kingdomsalvation.org", + "kinghost.com", + "||kingstone.com.tw", + ".kink.com", + "killwall.com", + "||killwall.com", + "||kinmen.travel", + ".kir.jp", + ".kissbbao.cn", + "|http://kiwi.kz", + "||kk-whys.co.jp", + ".kmuh.org.tw", + ".knowledgerush.com/kr/encyclopedia", + ".kobo.com", + "||kobo.com", + ".kobobooks.com", + "||kobobooks.com", + "||kodingen.com", + "@@||www.kodingen.com", + "||kompozer.net", + ".konachan.com", + "|http://konachan.com", + ".kone.com", + "||koolsolutions.com", + ".koornk.com", + "||koornk.com", + "||koranmandarin.com", + ".korenan2.com", + "|http://gojet.krtco.com.tw", + ".ksdl.org", + ".ksnews.com.tw", + "||ktzhk.com", + ".kui.name/event", + "kun.im", + ".kurashsultan.com", + "||kurtmunger.com", + "kusocity.com", + "||kwcg.ca", + "kwongwah.com.my", + ".kxsw.life", + "||kxsw.life", + ".kyofun.com", + "kyohk.net", + "||kyoyue.com", + ".kyzyhello.com", + "||kyzyhello.com", + ".kzeng.info", + "||kzeng.info", + "la-forum.org", + "ladbrokes.com", + "||labiennale.org", + ".lagranepoca.com", + "||lagranepoca.com", + ".lalulalu.com", + ".lama.com.tw", + "||lama.com.tw", + ".lamayeshe.com", + "|http://lamayeshe.com", + "|http://www.lamenhu.com", + ".lamnia.co.uk", + "||lamnia.co.uk", + "lamrim.com", + ".lanterncn.cn", + "|http://lanterncn.cn", + ".lantosfoundation.org", + ".laod.cn", + "|http://laod.cn", + "laogai.org", + "||laogai.org", + "laomiu.com", + ".laoyang.info", + "|http://laoyang.info", + "||laptoplockdown.com", + ".laqingdan.net", + "||laqingdan.net", + "||larsgeorge.com", + ".lastcombat.com", + "|http://lastcombat.com", + "||lastfm.es", + "latelinenews.com", + ".latibet.org", + "||le-vpn.com", + ".leafyvpn.net", + "||leafyvpn.net", + "leeao.com.cn/bbs/forum.php", + "lefora.com", + "||left21.hk", + ".legalporno.com", + ".legsjapan.com", + "|http://leirentv.ca", + "leisurecafe.ca", + "||lematin.ch", + ".lemonde.fr", + "||lenwhite.com", + "lerosua.org", + "||lerosua.org", + "blog.lester850.info", + "||lesoir.be", + ".letou.com", + "letscorp.net", + "||letscorp.net", + "||ss.levyhsu.com", + "||cdn.assets.lfpcontent.com", + ".lhakar.org", + "|http://lhakar.org", + ".lhasocialwork.org", + ".liangyou.net", + "||liangyou.net", + ".lianyue.net", + "||liaowangxizang.net", + ".liaowangxizang.net", + "||liberal.org.hk", + ".libertytimes.com.tw", + "blogs.libraryinformationtechnology.com/jxyz", + ".lidecheng.com/blog/fucking-gfw", + ".lighten.org.tw", + ".lightnovel.cn", + "@@|https://www.lightnovel.cn", + "limiao.net", + "linkuswell.com", + "abitno.linpie.com/use-ipv6-to-fuck-gfw", + "||line.me", + "||line-apps.com", + ".linglingfa.com", + "||lingvodics.com", + ".link-o-rama.com", + "|http://link-o-rama.com", + ".linkideo.com", + "||api.linksalpha.com", + "||apidocs.linksalpha.com", + "||www.linksalpha.com", + "||help.linksalpha.com", + "||linux.org.hk", + "linuxtoy.org/archives/installing-west-chamber-on-ubuntu", + ".lionsroar.com", + ".lipuman.com", + "||liquidvpn.com", + "||greatfire.us7.list-manage.com", + "||listentoyoutube.com", + "listorious.com", + ".liu-xiaobo.org", + "||liudejun.com", + ".liuhanyu.com", + ".liujianshu.com", + "||liujianshu.com", + ".liuxiaobo.net", + "|http://liuxiaobo.net", + "liuxiaotong.com", + "||liuxiaotong.com", + ".livedoor.jp", + ".liveleak.com", + "||liveleak.com", + ".livestation.com", + "livestream.com", + "||livestream.com", + "||livingonline.us", + "||livingstream.com", + "||livevideo.com", + ".livevideo.com", + ".liwangyang.com", + "lizhizhuangbi.com", + "lkcn.net", + ".llss.me/", + ".load.to", + ".lobsangwangyal.com", + ".localdomain.ws", + "||localdomain.ws", + "localpresshk.com", + "||lockestek.com", + "logbot.net", + "||logiqx.com", + "secure.logmein.com", + "||secure.logmein.com", + ".londonchinese.ca", + ".longhair.hk", + "longmusic.com", + "||longtermly.net", + "||lookpic.com", + ".looktoronto.com", + "|http://looktoronto.com", + ".lotsawahouse.org/tibetan-masters/fourteenth-dalai-lama", + ".lotuslight.org.hk", + ".lotuslight.org.tw", + "hkreporter.loved.hk", + "||lpsg.com", + "||lrfz.com", + ".lrip.org", + "||lrip.org", + ".lsd.org.hk", + "||lsd.org.hk", + "lsforum.net", + ".lsm.org", + "||lsm.org", + ".lsmchinese.org", + "||lsmchinese.org", + ".lsmkorean.org", + "||lsmkorean.org", + ".lsmradio.com/rad_archives", + ".lsmwebcast.com", + ".ltn.com.tw", + "|http://ltn.com.tw", + ".luke54.com", + ".luke54.org", + ".lupm.org", + "||lupm.org", + "||lushstories.com", + "luxebc.com", + "lvhai.org", + "||lvhai.org", + "||lvv2.com", + ".lyfhk.net", + "|http://lyfhk.net", + ".lzmtnews.org", + "||lzmtnews.org", + "http://*.m-team.cc", + ".macrovpn.com", + "macts.com.tw", + "||mad-ar.ch", + "||madrau.com", + "||madthumbs.com", + "||magic-net.info", + "mahabodhi.org", + "my.mail.ru", + ".maiplus.com", + "|http://maiplus.com", + ".maizhong.org", + "makkahnewspaper.com", + ".mamingzhe.com", + "manicur4ik.ru", + ".maplew.com", + "|http://maplew.com", + "||marc.info", + "marguerite.su", + "||martincartoons.com", + "maskedip.com", + ".maiio.net", + ".mail-archive.com", + ".malaysiakini.com", + "||makemymood.com", + ".manchukuo.net", + ".maniash.com", + "|http://maniash.com", + ".mansion.com", + ".mansionpoker.com", + "||martau.com", + "|http://blog.martinoei.com", + ".martsangkagyuofficial.org", + "|http://martsangkagyuofficial.org", + "maruta.be/forget", + ".marxist.com", + "||marxist.net", + ".marxists.org/chinese", + "||matainja.com", + "||mathable.io", + "||mathiew-badimon.com", + "||matsushimakaede.com", + "|http://maturejp.com", + "mayimayi.com", + ".maxing.jp", + ".mcaf.ee", + "|http://mcaf.ee", + "||mcadforums.com", + "mcfog.com", + "mcreasite.com", + ".md-t.org", + "||md-t.org", + "||meansys.com", + ".media.org.hk", + ".mediachinese.com", + "||mediachinese.com", + ".mediafire.com/?", + ".mediafire.com/download", + ".mediafreakcity.com", + "||mediafreakcity.com", + ".medium.com", + "||medium.com", + ".meetav.com", + "||meetup.com", + "mefeedia.com", + "jihadintel.meforum.org", + "||mega.nz", + "||megaproxy.com", + "||megarotic.com", + "megavideo.com", + "||megurineluka.com", + "meirixiaochao.com", + ".meltoday.com", + ".memehk.com", + "||memehk.com", + "memorybbs.com", + ".memri.org", + ".memrijttm.org", + ".mercyprophet.org", + "|http://mercyprophet.org", + "||mergersandinquisitions.org", + ".meridian-trust.org", + "|http://meridian-trust.org", + ".meripet.biz", + "|http://meripet.biz", + ".meripet.com", + "|http://meripet.com", + "merit-times.com.tw", + "meshrep.com", + ".mesotw.com/bbs", + "metacafe.com/watch", + "||meteorshowersonline.com", + "|http://www.metro.taipei/", + ".metrohk.com.hk/?cmd=detail&categoryID=2", + "||metrolife.ca", + ".metroradio.com.hk", + "|http://metroradio.com.hk", + "meyou.jp", + ".meyul.com", + "||mgoon.com", + "||mgstage.com", + "||mh4u.org", + "mhradio.org", + "|http://michaelanti.com", + "||michaelmarketl.com", + "|http://bbs.mikocon.com", + ".microvpn.com", + "|http://microvpn.com", + "middle-way.net", + ".mihk.hk/forum", + ".mihr.com", + "mihua.org", + "||mikesoltys.com", + ".milph.net", + "|http://milph.net", + ".milsurps.com", + "mimiai.net", + ".mimivip.com", + ".mimivv.com", + ".mindrolling.org", + "|http://mindrolling.org", + ".minghui.or.kr", + "|http://minghui.or.kr", + "minghui.org", + "||minghui.org", + "minghui-a.org", + "minghui-b.org", + "minghui-school.org", + ".mingjinglishi.com", + "||mingjinglishi.com", + "mingjingnews.com", + "||mingjingtimes.com", + ".mingpao.com", + "||mingpao.com", + ".mingpaocanada.com", + ".mingpaomonthly.com", + "|http://mingpaomonthly.com", + "mingpaonews.com", + ".mingpaony.com", + ".mingpaosf.com", + ".mingpaotor.com", + ".mingpaovan.com", + ".mingshengbao.com", + ".minhhue.net", + ".miniforum.org", + ".ministrybooks.org", + ".minzhuhua.net", + "||minzhuhua.net", + "minzhuzhanxian.com", + "minzhuzhongguo.org", + "||miroguide.com", + "mirrorbooks.com", + ".mist.vip", + "thecenter.mit.edu", + ".mitao.com.tw", + ".mitbbs.com", + "||mitbbs.com", + "mitbbsau.com", + ".mixero.com", + "||mixero.com", + "mixpod.com", + ".mixx.com", + "||mixx.com", + "||mizzmona.com", + ".mk5000.com", + ".mlcool.com", + "||mlzs.work", + ".mm-cg.com", + "||mmaaxx.com", + ".mmmca.com", + "mnewstv.com", + "||mobatek.net", + ".mobile01.com", + "||mobile01.com", + "||mobileways.de", + ".mobypicture.com", + "|http://moby.to", + "||moeerolibrary.com", + "wiki.moegirl.org", + ".mofaxiehui.com", + ".mofos.com", + "||mog.com", + "molihua.org", + "||mondex.org", + ".money-link.com.tw", + "|http://money-link.com.tw", + "|http://www.monlamit.org", + ".moonbbs.com", + "||moonbbs.com", + "c1522.mooo.com", + "||monitorchina.org", + "bbs.morbell.com", + "||morningsun.org", + "||moroneta.com", + ".motherless.com", + "|http://motherless.com", + "motor4ik.ru", + ".mousebreaker.com", + ".movements.org", + "||movements.org", + "||moviefap.com", + "||www.moztw.org", + ".mp3buscador.com", + "mp3ye.eu", + "||mpettis.com", + "mpfinance.com", + "mpinews.com", + "mponline.hk", + ".mqxd.org", + "|http://mqxd.org", + "mrtweet.com", + "||mrtweet.com", + "news.hk.msn.com", + "news.msn.com.tw", + "msguancha.com", + ".mswe1.org", + "|http://mswe1.org", + "||mthruf.com", + "muchosucko.com", + "||multiply.com", + "multiproxy.org", + "multiupload.com", + ".mullvad.net", + "||mullvad.net", + ".mummysgold.com", + ".murmur.tw", + "|http://murmur.tw", + ".musicade.net", + ".muslimvideo.com", + "||muzi.com", + "||muzi.net", + "||mx981.com", + ".my-formosa.com", + ".my-proxy.com", + ".my-private-network.co.uk", + "||my-private-network.co.uk", + "forum.my903.com", + ".myactimes.com/actimes", + "||myanniu.com", + ".myaudiocast.com", + "||myaudiocast.com", + ".myav.com.tw/bbs", + ".mybbs.us", + ".myca168.com", + ".mycanadanow.com", + "||bbs.mychat.to", + "||mychinamyhome.com", + ".mychinamyhome.com", + ".mychinanet.com", + ".mychinanews.com", + "||mychinanews.com", + ".mychinese.news", + "||mycnnews.com", + "||mykomica.org", + "mycould.com/discuz", + ".myeasytv.com", + "||myeclipseide.com", + ".myforum.com.hk", + "||myforum.com.hk", + "||myforum.com.uk", + ".myfreecams.com", + ".myfreepaysite.com", + ".myfreshnet.com", + ".myiphide.com", + "||myiphide.com", + "forum.mymaji.com", + "mymediarom.com/files/box", + "||mymoe.moe", + "||mymusic.net.tw", + "||myparagliding.com", + "||mypopescu.com", + "myradio.hk/podcast", + ".myreadingmanga.info", + "mysinablog.com", + ".myspace.com", + "||myspacecdn.com", + ".mytalkbox.com", + ".mytizi.com", + "||naacoalition.org", + "old.nabble.com", + "||naitik.net", + ".nakuz.com/bbs", + "||nalandabodhi.org", + "||nalandawest.org", + ".namgyal.org", + "namgyalmonastery.org", + "||namsisi.com", + ".nanyang.com", + "||nanyang.com", + ".nanyangpost.com", + "||nanyangpost.com", + ".nanzao.com", + "||jpl.nasa.gov", + "||pds.nasa.gov", + "||solarsystem.nasa.gov", + ".nakido.com", + "||nakido.com", + ".naol.ca", + ".naol.cc", + "uighur.narod.ru", + ".nat.moe", + "||nat.moe", + "cyberghost.natado.com", + "||national-lottery.co.uk", + "news.nationalgeographic.com/news/2014/06/140603-tiananmen-square", + ".nationsonline.org/oneworld/tibet", + "||line.naver.jp", + "||navyfamily.navy.mil", + "||navyreserve.navy.mil", + "||nko.navy.mil", + "||usno.navy.mil", + "naweeklytimes.com", + ".nbtvpn.com", + "|http://nbtvpn.com", + "nccwatch.org.tw", + ".nch.com.tw", + ".ncn.org", + "||ncn.org", + "||etools.ncol.com", + ".nde.de", + ".ndr.de", + ".ned.org", + "||nekoslovakia.net", + "||nepusoku.com", + "||net-fits.pro", + "bbs.netbig.com", + ".netbirds.com", + "netcolony.com", + "bolin.netfirms.com", + "||netme.cc", + "netsneak.com", + ".network54.com", + "networkedblogs.com", + ".networktunnel.net", + "neverforget8964.org", + "new-3lunch.net", + ".new-akiba.com", + ".new96.ca", + ".newcenturymc.com", + "|http://newcenturymc.com", + "newcenturynews.com", + "||newchen.com", + ".newchen.com", + ".newgrounds.com", + "newipnow.com", + ".newlandmagazine.com.au", + ".newnews.ca", + "news100.com.tw", + "newschinacomment.org", + ".newscn.org", + "||newscn.org", + "newspeak.cc/story", + ".newsancai.com", + "||newsancai.com", + ".newsdetox.ca", + ".newsdh.com", + "||newstamago.com", + "||newstapa.org", + "newstarnet.com", + ".newtaiwan.com.tw", + "newtalk.tw", + "||newtalk.tw", + "newyorktimes.com", + "||nexon.com", + ".next11.co.jp", + ".nextmag.com.tw", + ".nextmedia.com", + "||nexton-net.jp", + "nexttv.com.tw", + ".nfjtyd.com", + "||co.ng.mil", + "||nga.mil", + "ngensis.com", + ".nhentai.net", + "|http://nhentai.net", + ".nhk-ondemand.jp", + ".nicovideo.jp/watch", + "||nighost.org", + "av.nightlife141.com", + "ninecommentaries.com", + ".ninjacloak.com", + "||ninjaproxy.ninja", + "nintendium.com", + "taiwanyes.ning.com", + "usmgtcg.ning.com/forum", + "||niusnews.com", + "||njactb.org", + "njuice.com", + "||njuice.com", + "nlfreevpn.com", + ".ddns.net/", + ".gooddns.info", + "||gotdns.ch", + ".maildns.xyz", + ".no-ip.org", + ".opendn.xyz", + ".servehttp.com", + "sytes.net", + ".whodns.xyz", + ".zapto.org", + "|http://dynupdate.no-ip.com/", + "||nobel.se", + "nobelprize.org/nobel_prizes/peace/laureates/1989", + "nobelprize.org/nobel_prizes/peace/laureates/2010", + "nobodycanstop.us", + "||nobodycanstop.us", + "||nokogiri.org", + "||nokola.com", + "noodlevpn.com", + ".norbulingka.org", + "nordvpn.com", + "||nordvpn.com", + "||novelasia.com", + ".news.now.com", + "|http://news.now.com", + "news.now.com%2Fhome", + "||nownews.com", + ".nowtorrents.com", + ".noypf.com", + "||noypf.com", + "||npa.go.jp", + ".npnt.me", + "|http://npnt.me", + ".nps.gov", + ".nradio.me", + "|http://nradio.me", + ".nrk.no", + "||nrk.no", + ".ntd.tv", + "||ntd.tv", + ".ntdtv.com", + "||ntdtv.com", + ".ntdtv.co.kr", + "ntdtv.ca", + "ntdtv.org", + "ntdtv.ru", + "ntdtvla.com", + ".ntrfun.com", + "||cbs.ntu.edu.tw", + "||media.nu.nl", + ".nubiles.net", + "||nuexpo.com", + ".nukistream.com", + "||nurgo-software.com", + "||nutaku.net", + ".nuvid.com", + "||nvdst.com", + "nuzcom.com", + ".nvquan.org", + ".nvtongzhisheng.org", + "|http://nvtongzhisheng.org", + ".nwtca.org", + "|http://nyaa.eu", + ".nydus.ca", + "nylon-angel.com", + "nylonstockingsonline.com", + ".nzchinese.com", + "||nzchinese.net.nz", + "observechina.net", + ".obutu.com", + "ocaspro.com", + "occupytiananmen.com", + "oclp.hk", + ".ocreampies.com", + "||october-review.org", + "offbeatchina.com", + "officeoftibet.com", + "|http://ofile.org", + "||ogaoga.org", + "twtr2src.ogaoga.org", + ".ogate.org", + "||ogate.org", + "www2.ohchr.org/english/bodies/cat/docs/ngos/II_China_41.pdf", + ".oikos.com.tw/v4", + ".oiktv.com", + "oizoblog.com", + ".ok.ru", + "||ok.ru", + ".okayfreedom.com", + "||okayfreedom.com", + "okk.tw", + "|http://filmy.olabloga.pl/player", + "old-cat.net", + "||olumpo.com", + ".olympicwatch.org", + "omgili.com", + "||omnitalk.com", + "||omnitalk.org", + "cling.omy.sg", + "forum.omy.sg", + "news.omy.sg", + "showbiz.omy.sg", + "||on.cc", + "||onedrive.live.com", + "||onion.city", + ".onlinecha.com", + "||onlineyoutube.com", + ".onlytweets.com", + "|http://onlytweets.com", + "onmoon.net", + "onmoon.com", + ".onthehunt.com", + "|http://onthehunt.com", + ".oopsforum.com", + "open.com.hk", + "openallweb.com", + "opendemocracy.net", + "||opendemocracy.net", + ".openervpn.in", + "openid.net", + "||openid.net", + ".openleaks.org", + "||openleaks.org", + "openvpn.net", + "||openvpn.net", + "||openwebster.com", + ".openwrt.org.cn", + "@@||openwrt.org.cn", + "my.opera.com/dahema", + "||demo.opera-mini.net", + ".opus-gaming.com", + "|http://opus-gaming.com", + "www.orchidbbs.com", + ".organcare.org.tw", + "organharvestinvestigation.net", + ".orgasm.com", + ".orgfree.com", + "||orient-doll.com", + "orientaldaily.com.my", + "||orientaldaily.com.my", + "||orn.jp", + "t.orzdream.com", + "||t.orzdream.com", + "tui.orzdream.com", + "||orzistic.org", + "||osfoora.com", + ".otnd.org", + "||otnd.org", + "||otto.de", + "||ourdearamy.com", + "oursogo.com", + ".oursteps.com.au", + "||oursteps.com.au", + ".oursweb.net", + "||ourtv.hk", + "xinqimeng.over-blog.com", + "||overplay.net", + "share.ovi.com/media", + "|http://owl.li", + "|http://ht.ly", + "|http://htl.li", + "|http://mash.to", + "www.owind.com", + "|http://www.oxid.it", + "oyax.com", + "oyghan.com/wps", + ".ozchinese.com/bbs", + "||ow.ly", + "bbs.ozchinese.com", + ".ozvoice.org", + "||ozvoice.org", + ".ozxw.com", + ".ozyoyo.com", + "||pachosting.com", + ".pacificpoker.com", + ".packetix.net", + "||pacopacomama.com", + ".padmanet.com", + "page2rss.com", + "||pagodabox.com", + ".palacemoon.com", + "forum.palmislife.com", + "||eriversoft.com", + ".paldengyal.com", + "paljorpublications.com", + ".paltalk.com", + "||pandapow.co", + ".pandapow.net", + ".pandavpn-jp.com", + ".panluan.net", + "||panluan.net", + "||pao-pao.net", + "paper.li", + "paperb.us", + ".paradisehill.cc", + ".paradisepoker.com", + ".partycasino.com", + ".partypoker.com", + ".passion.com", + "||passion.com", + ".passiontimes.hk", + "pastebin.com", + ".pastie.org", + "||pastie.org", + "||blog.pathtosharepoint.com", + "pbs.org/wgbh/pages/frontline/gate", + "pbs.org/wgbh/pages/frontline/tankman", + "pbs.org/wgbh/pages/frontline/tibet", + "video.pbs.org", + "pbwiki.com", + "||pbworks.com", + "||developers.box.net", + "||wiki.oauth.net", + "||wiki.phonegap.com", + "||wiki.jqueryui.com", + "||pbxes.com", + "||pbxes.org", + "pcdvd.com.tw", + ".pchome.com.tw", + "|http://pcij.org", + ".pcstore.com.tw", + "||pct.org.tw", + "pdetails.com", + "||pdproxy.com", + "||peace.ca", + "peacefire.org", + "peacehall.com", + "||peacehall.com", + "|http://pearlher.org", + ".peeasian.com", + ".pekingduck.org", + "||pekingduck.org", + ".pemulihan.or.id", + "|http://pemulihan.or.id", + "||pen.io", + "penchinese.com", + "||penchinese.net", + ".penchinese.net", + "pengyulong.com", + "penisbot.com", + "||blog.pentalogic.net", + ".penthouse.com", + ".pentoy.hk/%E4%B8%AD%E5%9C%8B", + ".pentoy.hk/%E6%99%82%E4%BA%8B", + ".peoplebookcafe.com", + ".peoplenews.tw", + "||peoplenews.tw", + ".peopo.org", + "||peopo.org", + ".percy.in", + ".perfectgirls.net", + "perfectvpn.net", + ".persecutionblog.com", + ".persiankitty.com", + "pfd.org.hk", + "phapluan.org", + "phayul.com", + "philborges.com", + "philly.com", + "||phncdn.com", + "||photodharma.net", + "||photofocus.com", + "||phuquocservices.com", + "||picacomiccn.com", + ".picidae.net", + "||img*.picturedip.com", + "picturesocial.com", + "||pin-cong.com", + ".pin6.com", + "||pin6.com", + ".ping.fm", + "||ping.fm", + "||pinimg.com", + ".pinkrod.com", + "||pinoy-n.com", + "||pinterest.at", + "||pinterest.co.kr", + "||pinterest.co.uk", + ".pinterest.com", + "||pinterest.com", + "||pinterest.de", + "||pinterest.dk", + "||pinterest.fr", + "||pinterest.jp", + "||pinterest.nl", + "||pinterest.se", + ".pipii.tv", + ".piposay.com", + "piraattilahti.org", + ".piring.com", + "||pixelqi.com", + "||css.pixnet.in", + "||pixnet.net", + ".pixnet.net", + ".pk.com", + "||placemix.com", + "|http://pictures.playboy.com", + "||playboy.com", + ".playboyplus.com", + "||playboyplus.com", + "||player.fm", + ".playno1.com", + "||playno1.com", + "||playpcesor.com", + "plays.com.tw", + "||m.plixi.com", + "plm.org.hk", + "plunder.com", + ".plurk.com", + "||plurk.com", + ".plus28.com", + ".plusbb.com", + ".pmatehunter.com", + "|http://pmatehunter.com", + ".pmates.com", + "||po2b.com", + "pobieramy.top", + "||podictionary.com", + ".pokerstars.com", + "||pokerstars.com", + ".pokerstars.net", + "zh.pokerstrategy.com", + "politicalchina.org", + "politicalconsultation.org", + ".politiscales.net", + "||poloniex.com", + ".polymerhk.com", + "|http://polymerhk.com", + ".popo.tw", + "||popvote.hk", + ".popyard.com", + "||popyard.org", + ".porn.com", + ".porn2.com", + ".porn5.com", + ".pornbase.org", + ".pornerbros.com", + "||pornhd.com", + ".pornhost.com", + ".pornhub.com", + "||pornhub.com", + ".pornhubdeutsch.net", + "|http://pornhubdeutsch.net", + "||pornmm.net", + ".pornoxo.com", + ".pornrapidshare.com", + "||pornrapidshare.com", + ".pornsharing.com", + "|http://pornsharing.com", + ".pornsocket.com", + ".pornstarclub.com", + "||pornstarclub.com", + ".porntube.com", + ".porntubenews.com", + ".porntvblog.com", + "||porntvblog.com", + ".pornvisit.com", + ".portablevpn.nl", + "||poskotanews.com", + ".post01.com", + ".post76.com", + "||post76.com", + ".post852.com", + "postadult.com", + ".postimg.org", + "||potvpn.com", + "||powercx.com", + ".powerphoto.org", + "||www.powerpointninja.com", + "||presidentlee.tw", + "||cdn.printfriendly.com", + ".pritunl.com", + "provpnaccounts.com", + "||provpnaccounts.com", + ".proxfree.com", + "||proxfree.com", + "proxyanonimo.es", + ".proxynetwork.org.uk", + "||proxynetwork.org.uk", + "||pts.org.tw", + ".pttvan.org", + "pubu.com.tw", + "puffinbrowser.com", + "pureinsight.org", + ".pushchinawall.com", + ".putty.org", + "||putty.org", + "||calebelston.com", + "||blog.fizzik.com", + "||nf.id.au", + "||sogrady.me", + "||vatn.org", + "||ventureswell.com", + "||whereiswerner.com", + ".power.com", + "||power.com", + "powerapple.com", + "||powerapple.com", + "||abc.pp.ru", + "heix.pp.ru", + "||prayforchina.net", + "||premeforwindows7.com", + "||presentationzen.com", + "||prestige-av.com", + "prisoner-state-secret-journal-premier", + ".prisoneralert.com", + "||pritunl.com", + "||privacybox.de", + ".private.com/home", + "||privateinternetaccess.com", + "privatepaste.com", + "||privatepaste.com", + "privatetunnel.com", + "||privatetunnel.com", + "||privatevpn.com", + "||procopytips.com", + "provideocoalition.com", + "||prosiben.de", + "proxifier.com", + "api.proxlet.com", + "||proxomitron.info", + ".proxpn.com", + "||proxpn.com", + ".proxylist.org.uk", + "||proxylist.org.uk", + ".proxypy.net", + "||proxypy.net", + "proxyroad.com", + ".proxytunnel.net", + "||proyectoclubes.com", + "prozz.net", + "psblog.name", + "||psblog.name", + "||psiphon.ca", + ".psiphon3.com", + "||psiphon3.com", + ".psiphontoday.com", + ".ptt.cc", + "||ptt.cc", + ".puffstore.com", + ".puuko.com", + "||pullfolio.com", + ".punyu.com/puny", + "||pureconcepts.net", + "||pureinsight.org", + "||purepdf.com", + "||purevpn.com", + ".purplelotus.org", + ".pursuestar.com", + "||pursuestar.com", + ".pussyspace.com", + ".putihome.org", + ".putlocker.com/file", + "pwned.com", + "python.com", + ".python.com.tw", + "|http://python.com.tw", + "pythonhackers.com/p", + "ss.pythonic.life/", + ".qanote.com", + "||qanote.com", + ".qgirl.com.tw", + "||qiandao.today", + ".qi-gong.me", + "||qi-gong.me", + "||qiangyou.org", + ".qidian.ca", + ".qienkuen.org", + "||qienkuen.org", + "||qiwen.lu", + "qixianglu.cn", + "bbs.qmzdd.com", + ".qkshare.com", + "qoos.com", + "||qoos.com", + "blog.qooza.hk/dafengqixi", + "||efksoft.com", + "||qstatus.com", + "||qtweeter.com", + "||qtrac.eu", + ".quannengshen.org", + "|http://quannengshen.org", + "quantumbooter.net", + "||quitccp.net", + ".quitccp.net", + "||quitccp.org", + ".quitccp.org", + ".quora.com/Chinas-Future", + ".quran.com", + "|http://quran.com", + ".quranexplorer.com", + "qusi8.net", + ".qvodzy.org", + "nemesis2.qx.net/pages/MyEnTunnel", + "qxbbs.org", + ".ra.gg", + "|http://ra.gg/", + ".radicalparty.org", + "||rael.org", + "radicalparty.org", + "radioaustralia.net.au", + ".radiohilight.net", + "||radiohilight.net", + "opml.radiotime.com", + "||radiovaticana.org", + "||radiovncr.com", + "||raggedbanner.com", + "||raidcall.com.tw", + ".raidtalk.com.tw", + ".rainbowplan.org/bbs", + "|https://raindrop.io/", + ".raizoji.or.jp", + "|http://raizoji.or.jp", + "rangwang.biz", + "rangzen.com", + "rangzen.net", + "rangzen.org", + "|http://blog.ranxiang.com/", + "ranyunfei.com", + "||ranyunfei.com", + ".rapbull.net", + "|http://rapidgator.net/", + "||rapidmoviez.com", + "rapidvpn.com", + "||rapidvpn.com", + ".raremovie.cc", + "|http://raremovie.cc", + ".raremovie.net", + "|http://raremovie.net", + "||rawgit.com", + "||rawgithub.com", + "||razyboard.com", + "rcinet.ca", + ".read100.com", + ".readingtimes.com.tw", + "||readingtimes.com.tw", + "||readmoo.com", + ".readydown.com", + "|http://readydown.com", + ".realcourage.org", + ".realitykings.com", + "||realitykings.com", + ".realraptalk.com", + ".realsexpass.com", + ".recordhistory.org", + ".recovery.org.tw", + "|http://online.recoveryversion.org", + "||recoveryversion.com.tw", + "||red-lang.org", + "redballoonsolidarity.org", + ".redchinacn.net", + "|http://redchinacn.net", + "redchinacn.org", + "redtube.com", + "referer.us", + "||referer.us", + "||reflectivecode.com", + "relaxbbs.com", + ".relay.com.tw", + ".releaseinternational.org", + "religioustolerance.org", + "renminbao.com", + "||renminbao.com", + ".renyurenquan.org", + "||renyurenquan.org", + "|http://certificate.revocationcheck.com", + "subacme.rerouted.org", + "||resilio.com", + ".reuters.com", + "||reuters.com", + "||reutersmedia.net", + ".revleft.com", + "retweetist.com", + "||retweetrank.com", + "revver.com", + ".rfa.org", + "||rfa.org", + ".rfachina.com", + ".rfamobile.org", + "rfaweb.org", + "||rferl.org", + ".rfi.fr", + "||rfi.fr", + "|http://rfi.my/", + "|http://vds.rightster.com/", + ".rigpa.org", + ".rileyguide.com", + "riku.me/", + ".ritouki.jp", + "||ritter.vg", + ".rlwlw.com", + "||rlwlw.com", + ".rmjdw.com", + ".rmjdw132.info", + ".roadshow.hk", + ".roboforex.com", + "||robustnessiskey.com", + "||rocket-inc.net", + "|http://www2.rocketbbs.com/11/bbs.cgi?id=5mus", + "|http://www2.rocketbbs.com/11/bbs.cgi?id=freemgl", + "||rojo.com", + "||ronjoneswriter.com", + "||rolia.net", + ".roodo.com", + ".rosechina.net", + ".rotten.com", + ".rsf.org", + "||rsf.org", + ".rsf-chinese.org", + "||rsf-chinese.org", + ".rsgamen.org", + "||phosphation13.rssing.com", + ".rssmeme.com", + "||rssmeme.com", + "||rtalabel.org", + ".rthk.hk", + "|http://rthk.hk", + ".rthk.org.hk", + "|http://rthk.org.hk", + ".rti.org.tw", + "||rti.org.tw", + ".rtycminnesota.org", + ".ruanyifeng.com/blog*some_ways_to_break_the_great_firewall", + "rukor.org", + ".runbtx.com", + ".rushbee.com", + ".ruten.com.tw", + "rutube.ru", + ".ruyiseek.com", + ".rxhj.net", + "|http://rxhj.net", + ".s1s1s1.com", + "||s-cute.com", + ".s-dragon.org", + "||s1heng.com", + "|http://www.s4miniarchive.com", + "||s8forum.com", + "cdn1.lp.saboom.com", + "||sacks.com", + "sacom.hk", + "||sacom.hk", + "||sadpanda.us", + ".safervpn.com", + "||safervpn.com", + ".saintyculture.com", + "|http://saintyculture.com", + ".saiq.me", + "||saiq.me", + "||sakuralive.com", + ".sakya.org", + ".salvation.org.hk", + "||salvation.org.hk", + ".samair.ru/proxy/type-01", + ".sambhota.org", + ".cn.sandscotaicentral.com", + "|http://cn.sandscotaicentral.com", + ".sanmin.com.tw", + "sapikachu.net", + "savemedia.com", + "||savethesounds.info", + ".savetibet.de", + "||savetibet.de", + "savetibet.fr", + "savetibet.nl", + ".savetibet.org", + "||savetibet.org", + "savetibet.ru", + ".savetibetstore.org", + "||savetibetstore.org", + "savevid.com", + "||say2.info", + ".sbme.me", + "|http://sbme.me", + ".sbs.com.au/yourlanguage", + ".scasino.com", + "|http://www.sciencemag.org/content/344/6187/953", + ".sciencenets.com", + ".scmp.com", + "||scmp.com", + ".scmpchinese.com", + "||scramble.io", + ".scribd.com", + "||scribd.com", + "||scriptspot.com", + "seapuff.com", + "domainhelp.search.com", + ".searchtruth.com", + "secretchina.com", + "||secretchina.com", + "||secretgarden.no", + ".secretsline.biz", + "||secretsline.biz", + "||securetunnel.com", + "securityinabox.org", + "|https://securityinabox.org", + ".securitykiss.com", + "||securitykiss.com", + "||seed4.me", + "news.seehua.com", + "seesmic.com", + "||seevpn.com", + "||seezone.net", + "sejie.com", + ".sendspace.com", + "|http://tweets.seraph.me/", + "sesawe.net", + "||sesawe.net", + ".sesawe.org", + "||sethwklein.net", + ".setn.com", + ".settv.com.tw", + "forum.setty.com.tw", + ".sevenload.com", + "||sevenload.com", + ".sex.com", + ".sex-11.com", + "||sex3.com", + "||sex8.cc", + ".sexandsubmission.com", + ".sexbot.com", + ".sexhu.com", + ".sexhuang.com", + "sexinsex.net", + "||sexinsex.net", + ".sextvx.com", + "67.220.91.15", + "67.220.91.18", + "67.220.91.23", + "|http://*.sf.net", + ".sfileydy.com", + "||sfshibao.com", + ".sftindia.org", + ".sftuk.org", + "||sftuk.org", + "||shadeyouvpn.com", + "shadow.ma", + ".shadowsky.xyz", + ".shadowsocks.asia", + "||www.shadowsocks.com", + ".shadowsocks.com", + "||shadowsocks.com.hk", + ".shadowsocks.org", + "||shadowsocks.org", + "||shadowsocks-r.com", + "|http://cn.shafaqna.com", + ".shambalapost.com", + ".shambhalasun.com", + ".shangfang.org", + "||shangfang.org", + "shapeservices.com", + ".sharebee.com", + "||sharecool.org", + "sharpdaily.com.hk", + "||sharpdaily.com.hk", + ".sharpdaily.hk", + ".sharpdaily.tw", + ".shat-tibet.com", + "sheikyermami.com", + ".shellfire.de", + "||shellfire.de", + ".shenshou.org", + "shenyun.com", + "shenyunperformingarts.org", + "||shenyunperformingarts.org", + "shenzhoufilm.com", + "||shenzhoufilm.com", + "||sherabgyaltsen.com", + ".shiatv.net", + ".shicheng.org", + "shinychan.com", + "shipcamouflage.com", + ".shireyishunjian.com", + ".shitaotv.org", + "||shixiao.org", + "||shizhao.org", + "shizhao.org", + "shkspr.mobi/dabr", + "||shodanhq.com", + "||shooshtime.com", + ".shop2000.com.tw", + ".shopping.com", + ".showhaotu.com", + ".showtime.jp", + ".shutterstock.com", + "||shutterstock.com", + "ch.shvoong.com", + ".shwchurch.org", + "||www.shwchurch.org", + ".shwchurch3.com", + "|http://shwchurch3.com", + ".siddharthasintent.org", + "||sidelinesnews.com", + ".sidelinessportseatery.com", + ".sijihuisuo.club", + ".sijihuisuo.com", + ".silkbook.com", + "||simbolostwitter.com", + "simplecd.org", + "||simplecd.org", + "@@||simplecd.me", + "simpleproductivityblog.com", + "bbs.sina.com/", + "bbs.sina.com%2F", + "blog.sina.com.tw", + "dailynews.sina.com/", + "dailynews.sina.com%2F", + "forum.sina.com.hk", + "home.sina.com", + "||magazines.sina.com.tw", + "news.sina.com.hk", + "news.sina.com.tw", + "news.sinchew.com.my", + ".sinchew.com.my/node/", + ".sinchew.com.my/taxonomy/term", + ".singaporepools.com.sg", + "||singaporepools.com.sg", + ".singfortibet.com", + ".singpao.com.hk", + "singtao.com", + "||singtao.com", + "news.singtao.ca", + ".singtaousa.com", + "||singtaousa.com", + "sino-monthly.com", + "||sinocast.com", + "sinocism.com", + "sinomontreal.ca", + ".sinonet.ca", + ".sinopitt.info", + ".sinoants.com", + "||sinoants.com", + ".sinoquebec.com", + ".sierrafriendsoftibet.org", + "sis.xxx", + "||sis001.com", + "sis001.us", + ".site2unblock.com", + "||site90.net", + ".sitebro.tw", + "||sitekreator.com", + "||siteks.uk.to", + "||sitemaps.org", + ".sjrt.org", + "|http://sjrt.org", + "||sjum.cn", + "||sketchappsources.com", + "||skimtube.com", + "||skybet.com", + "|http://users.skynet.be/reves/tibethome.html", + ".skyking.com.tw", + "bbs.skykiwi.com", + "|http://www.skype.com/intl/", + "|http://www.skype.com/zh-Hant", + "||skyvegas.com", + ".xskywalker.com", + "||xskywalker.com", + "||skyxvpn.com", + "m.slandr.net", + ".slaytizle.com", + ".sleazydream.com", + "||slheng.com", + "||slideshare.net", + "forum.slime.com.tw", + ".slinkset.com", + "||slickvpn.com", + ".slutload.com", + "||smartdnsproxy.com", + ".smarthide.com", + "||app.smartmailcloud.com", + "smchbooks.com", + ".smh.com.au/world/death-of-chinese-playboy-leaves-fresh-scratches-in-party-paintwork-20120903-25a8v", + "smhric.org", + ".smith.edu/dalailama", + ".smyxy.org", + "||snapchat.com", + ".snaptu.com", + "||snaptu.com", + "||sndcdn.com", + "sneakme.net", + "snowlionpub.com", + "home.so-net.net.tw/yisa_tsai", + "||soc.mil", + ".socks-proxy.net", + "||socks-proxy.net", + ".sockscap64.com", + "||sockslist.net", + ".socrec.org", + "|http://socrec.org", + ".sod.co.jp", + ".softether.org", + "||softether.org", + ".softether-download.com", + "||softether-download.com", + "||cdn.softlayer.net", + "||sogclub.com", + "sohcradio.com", + "||sohcradio.com", + ".sokmil.com", + "||sorting-algorithms.com", + ".sostibet.org", + ".soumo.info", + "||soup.io", + "@@||static.soup.io", + ".sobees.com", + "||sobees.com", + "socialwhale.com", + ".softether.co.jp", + "||softwarebychuck.com", + "blog.sogoo.org", + "soh.tw", + "||soh.tw", + "sohfrance.org", + "||sohfrance.org", + "chinese.soifind.com", + "sokamonline.com", + ".solidaritetibet.org", + ".solidfiles.com", + "||somee.com", + ".songjianjun.com", + "||songjianjun.com", + ".sonicbbs.cc", + ".sonidodelaesperanza.org", + ".sopcast.com", + ".sopcast.org", + ".sorazone.net", + "||sos.org", + "bbs.sou-tong.org", + ".soubory.com", + "|http://soubory.com", + ".soul-plus.net", + ".soulcaliburhentai.net", + "||soulcaliburhentai.net", + "||soundcloud.com", + ".soundofhope.kr", + "soundofhope.org", + "||soundofhope.org", + "||soupofmedia.com", + "|http://sourceforge.net/p*/shadowsocksgui/", + ".sourcewadio.com", + "southnews.com.tw", + "sowers.org.hk", + "||wlx.sowiki.net", + "||spankbang.com", + ".spankingtube.com", + ".spankwire.com", + "||spb.com", + "||speakerdeck.com", + "||speedify.com", + "spem.at", + "||spencertipping.com", + "||spendee.com", + "||spicevpn.com", + ".spideroak.com", + "||spideroak.com", + ".spike.com", + ".spotflux.com", + "||spotflux.com", + ".spring4u.info", + "|http://spring4u.info", + "||sproutcore.com", + "||sproxy.info", + "||srocket.us", + ".ss-link.com", + "||ss-link.com", + ".ssglobal.co/wp", + "|http://ssglobal.co", + ".ssglobal.me", + "||ssh91.com", + ".sspro.ml", + "|http://sspro.ml", + ".ssrshare.com", + "||ssrshare.com", + "||sss.camp", + "||sstmlt.moe", + "sstmlt.net", + "||sstmlt.net", + "|http://stackoverflow.com/users/895245", + ".stage64.hk", + "||stage64.hk", + "||standupfortibet.org", + "stanford.edu/group/falun", + "usinfo.state.gov", + "||statueofdemocracy.org", + ".starfishfx.com", + ".starp2p.com", + "||starp2p.com", + ".startpage.com", + "||startpage.com", + ".startuplivingchina.com", + "|http://startuplivingchina.com", + "||static-economist.com", + "||stc.com.sa", + "||steel-storm.com", + ".steganos.com", + "||steganos.com", + ".steganos.net", + ".stepchina.com", + "ny.stgloballink.com", + "hd.stheadline.com/news/realtime", + "sthoo.com", + "||sthoo.com", + ".stickam.com", + "stickeraction.com/sesawe", + ".stileproject.com", + ".sto.cc", + ".stoporganharvesting.org", + "||storagenewsletter.com", + ".storm.mg", + "||storm.mg", + ".stoptibetcrisis.net", + "||stoptibetcrisis.net", + "||storify.com", + ".stormmediagroup.com", + "||stoweboyd.com", + "stranabg.com", + "||straplessdildo.com", + "||streamingthe.net", + "streema.com/tv/NTDTV_Chinese", + "cn.streetvoice.com/article", + "cn.streetvoice.com/diary", + "cn2.streetvoice.com", + "tw.streetvoice.com", + ".strikingly.com", + "||strongvpn.com", + ".strongwindpress.com", + ".student.tw/db", + "||studentsforafreetibet.org", + "||stumbleupon.com", + "stupidvideos.com", + ".successfn.com", + "panamapapers.sueddeutsche.de", + ".sugarsync.com", + "||sugarsync.com", + ".sugobbs.com", + "||sugumiru18.com", + "||suissl.com", + "summify.com", + ".sumrando.com", + "||sumrando.com", + "sun1911.com", + ".sunporno.com", + "||sunmedia.ca", + "||sunporno.com", + ".sunskyforum.com", + ".sunta.com.tw", + ".sunvpn.net", + ".suoluo.org", + ".superfreevpn.com", + ".supervpn.net", + "||supervpn.net", + ".superzooi.com", + "|http://superzooi.com", + ".suppig.net", + ".suprememastertv.com", + "|http://suprememastertv.com", + ".surfeasy.com", + "||surfeasy.com", + ".surfeasy.com.au", + "|http://surfeasy.com.au", + "||surrenderat20.net", + ".suyangg.com", + "|http://suyangg.com", + ".svsfx.com", + ".swissinfo.ch", + "||swissinfo.ch", + ".swissvpn.net", + "||swissvpn.net", + "switchvpn.net", + "||switchvpn.net", + ".sydneytoday.com", + "||sydneytoday.com", + ".sylfoundation.org", + "||syncback.com", + "sysresccd.org", + ".sytes.net", + "blog.syx86.com/2009/09/puff", + "blog.syx86.cn/2009/09/puff", + ".szbbs.net", + ".szetowah.org.hk", + "||t-g.com", + ".t35.com", + ".t66y.com", + "||t66y.com", + ".taa-usa.org", + "|http://taa-usa.org", + ".taaze.tw", + "||taaze.tw", + "|http://www.tablesgenerator.com/", + "tabtter.jp", + ".tacem.org", + ".taconet.com.tw", + "||taedp.org.tw", + ".tafm.org", + ".tagwa.org.au", + "tagwalk.com", + "||tagwalk.com", + "tahr.org.tw", + ".taipeisociety.org", + "||taipeisociety.org", + ".taiwanbible.com", + ".taiwancon.com", + ".taiwandaily.net", + "||taiwandaily.net", + ".taiwandc.org", + ".taiwanjustice.com", + "taiwankiss.com", + "taiwannation.com", + "taiwannation.com.tw", + "||taiwanncf.org.tw", + "||taiwannews.com.tw", + "|http://www.taiwanonline.cc/", + "taiwantp.net", + "||taiwantt.org.tw", + "taiwanus.net", + "taiwanyes.com", + "taiwan-sex.com", + ".talk853.com", + ".talkboxapp.com", + "||talkboxapp.com", + ".talkcc.com", + "||talkcc.com", + ".talkonly.net", + "||talkonly.net", + "||tamiaode.tk", + "||tanc.org", + "tangben.com", + ".tangren.us", + ".taoism.net", + "|http://taoism.net", + ".taolun.info", + "||taolun.info", + ".tapatalk.com", + "||tapatalk.com", + "blog.taragana.com", + ".tascn.com.au", + "||taup.net", + "|http://www.taup.org.tw", + ".taweet.com", + "||taweet.com", + ".tbcollege.org", + "||tbcollege.org", + ".tbi.org.hk", + ".tbicn.org", + ".tbjyt.org", + "||tbpic.info", + ".tbrc.org", + "tbs-rainbow.org", + ".tbsec.org", + "||tbsec.org", + "tbskkinabalu.page.tl", + ".tbsmalaysia.org", + ".tbsn.org", + "||tbsn.org", + ".tbsseattle.org", + ".tbssqh.org", + "|http://tbssqh.org", + "tbswd.org", + ".tbtemple.org.uk", + ".tbthouston.org", + ".tccwonline.org", + ".tcewf.org", + "tchrd.org", + "tcnynj.org", + "||tcpspeed.co", + ".tcpspeed.com", + "||tcpspeed.com", + ".tcsofbc.org", + ".tcsovi.org", + ".tdm.com.mo", + "teamamericany.com", + "||techviz.net", + "||teck.in", + ".teeniefuck.net", + "teensinasia.com", + ".telecomspace.com", + "||telegraph.co.uk", + ".tenacy.com", + "||tenzinpalmo.com", + ".tew.org", + ".thaicn.com", + "||theatrum-belli.com", + "theblemish.com", + "||thebcomplex.com", + ".thebobs.com", + "||thebobs.com", + ".thechinabeat.org", + "|http://www.thechinastory.org/yearbooks/yearbook-2012/", + ".thedalailamamovie.com", + "|http://thedalailamamovie.com", + "||thedw.us", + "thefrontier.hk/tf", + "cn.thegay.com", + "|http://thegioitinhoc.vn/", + ".thegly.com", + ".thehots.info", + "thehousenews.com", + "||thehun.net", + ".theinitium.com", + "||theinitium.com", + ".thenewslens.com", + "||thenewslens.com", + ".thepiratebay.org", + "||thepiratebay.org", + ".theporndude.com", + "||theporndude.com", + "||theportalwiki.com", + "thereallove.kr", + "therock.net.nz", + "thespeeder.com", + "||thestandnews.com", + "thetibetcenter.org", + "thetibetconnection.org", + ".thetibetmuseum.org", + ".thetibetpost.com", + "||thetibetpost.com", + "||thetinhat.com", + "thetrotskymovie.com", + "thevivekspot.com", + "||thewgo.org", + ".theync.com", + "|http://theync.com", + ".thinkingtaiwan.com", + ".thisav.com", + "|http://thisav.com", + ".thlib.org", + "||thomasbernhard.org", + ".thongdreams.com", + "threatchaos.com", + "||throughnightsfire.com", + ".thumbzilla.com", + "||thywords.com", + ".thywords.com.tw", + "tiananmenmother.org", + ".tiananmenduizhi.com", + "||tiananmenduizhi.com", + "||tiananmenuniv.com", + "||tiananmenuniv.net", + "||tiandixing.org", + ".tianhuayuan.com", + ".tianlawoffice.com", + "||tianti.io", + "tiantibooks.org", + "||tiantibooks.org", + "tianyantong.org.cn", + ".tianzhu.org", + ".tibet.at", + "tibet.ca", + ".tibet.com", + "||tibet.com", + "tibet.fr", + ".tibet.net", + "||tibet.net", + "tibet.nu", + ".tibet.org", + "||tibet.org", + ".tibet.sk", + "tibet.org.tw", + ".tibet.to", + ".tibet-envoy.eu", + "||tibet-envoy.eu", + ".tibet-foundation.org", + ".tibet-house-trust.co.uk", + "tibet-info.net", + "tibet-initiative.de", + "||tibet-initiative.de", + ".tibet-munich.de", + ".tibet3rdpole.org", + "|http://tibet3rdpole.org", + "tibetaction.net", + "||tibetaction.net", + ".tibetaid.org", + "tibetalk.com", + ".tibetan.fr", + "tibetan-alliance.org", + ".tibetanarts.org", + ".tibetanbuddhistinstitute.org", + "|http://tibetanbuddhistinstitute.org", + "tibetancommunity.org", + ".tibetanjournal.com", + ".tibetanlanguage.org", + ".tibetanliberation.org", + "||tibetanliberation.org", + ".tibetcollection.com", + ".tibetanaidproject.org", + ".tibetancommunityuk.net", + "|http://tibetancommunityuk.net", + "tibetanculture.org", + "tibetanfeministcollective.org", + ".tibetanpaintings.com", + ".tibetanphotoproject.com", + ".tibetanpoliticalreview.org", + ".tibetanreview.net", + "|http://tibetansports.org", + ".tibetanwomen.org", + "|http://tibetanwomen.org", + ".tibetanyouth.org", + ".tibetanyouthcongress.org", + "||tibetanyouthcongress.org", + ".tibetcharity.dk", + "tibetcharity.in", + ".tibetchild.org", + ".tibetcity.com", + ".tibetcorps.org", + ".tibetexpress.net", + "|http://tibetexpress.net", + "tibetfocus.com", + "tibetfund.org", + ".tibetgermany.com", + "||tibetgermany.de", + ".tibethaus.com", + ".tibetheritagefund.org", + "tibethouse.jp", + "tibethouse.org", + "||tibethouse.us", + ".tibetinfonet.net", + ".tibetjustice.org", + ".tibetkomite.dk", + "|http://tibetmuseum.org", + "tibetnetwork.org", + "||tibetnetwork.org", + ".tibetoffice.ch", + "|http://tibetoffice.ch", + "tibetoffice.eu", + "tibetoffice.org", + "tibetonline.com", + "||tibetonline.com", + ".tibetoffice.com.au", + "|http://tibetoffice.com.au", + "||tibetonline.tv", + ".tibetonline.tv", + ".tibetoralhistory.org", + "|http://tibetoralhistory.org", + ".tibetpolicy.eu", + ".tibetrelieffund.co.uk", + "tibetsites.com", + ".tibetsociety.com", + "||tibetsociety.com", + ".tibetsun.com", + ".tibetsupportgroup.org", + "|http://tibetsupportgroup.org", + ".tibetswiss.ch", + ".tibettelegraph.com", + "tibettimes.net", + "||tibetwrites.org", + ".ticket.com.tw", + ".tigervpn.com", + "||tigervpn.com", + ".timdir.com", + "|http://timdir.com", + ".time.com", + "|http://time.com", + ".timsah.com", + "||blog.tiney.com", + "tintuc101.com", + ".tiny.cc", + "|http://tiny.cc", + "tinychat.com", + "||tinypaste.com", + ".tistory.com", + "||tkcs-collins.com", + ".tmagazine.com", + "||tmagazine.com", + ".tmdfish.com", + "|http://tmi.me", + ".tmpp.org", + "|http://tmpp.org", + ".tnaflix.com", + "||tnaflix.com", + ".tngrnow.com", + ".tngrnow.net", + ".tnp.org", + "|http://tnp.org", + ".to-porno.com", + "||to-porno.com", + "togetter.com", + ".tokyo-247.com", + ".tokyo-hot.com", + "||tokyo-porn-tube.com", + "||tokyocn.com", + "tw.tomonews.net", + ".tongil.or.kr", + ".tono-oka.jp", + "tonyyan.net", + ".toodoc.com", + "toonel.net", + "top81.ws", + ".topnews.in", + ".toppornsites.com", + "|http://toppornsites.com", + ".torguard.net", + "||torguard.net", + "||top.tv", + ".topshareware.com", + ".topsy.com", + "||topsy.com", + "||toptip.ca", + "tora.to", + ".torcn.com", + ".torproject.org", + "||torproject.org", + "torrentprivacy.com", + "||torrentprivacy.com", + "|http://torrentproject.se", + "||torrenty.org", + "||torrentz.eu", + "||torvpn.com", + "||totalvpn.com", + ".toutiaoabc.com", + "towngain.com", + "toypark.in", + "toytractorshow.com", + ".tparents.org", + ".tpi.org.tw", + "||tpi.org.tw", + "traffichaus.com", + "||transparency.org", + "||treemall.com.tw", + "trendsmap.com", + "||trendsmap.com", + ".trialofccp.org", + "||trialofccp.org", + ".trimondi.de/SDLE", + ".trouw.nl", + "|http://trouw.nl", + ".trt.net.tr", + "trtc.com.tw", + ".truebuddha-md.org", + "|http://truebuddha-md.org", + "trulyergonomic.com", + ".truth101.co.tv", + "|http://truth101.co.tv", + ".truthontour.org", + "|http://truthontour.org", + ".truveo.com", + ".tsctv.net", + ".tsemtulku.com", + "tsquare.tv", + ".tsu.org.tw", + "tsunagarumon.com", + ".tsctv.net", + "||tt-rss.org", + "||tt1069.com", + ".tttan.com", + "||tttan.com", + "bb.ttv.com.tw/bb", + "tu8964.com", + ".tubaholic.com", + ".tube.com", + "tube8.com", + "||tube8.com", + ".tube911.com", + "||tube911.com", + ".tubecup.com", + ".tubegals.com", + ".tubeislam.com", + "|http://tubeislam.com", + ".tubestack.com", + "||tubewolf.com", + ".tuibeitu.net", + "tuidang.net", + ".tuidang.org", + "||tuidang.org", + ".tuidang.se", + "bbs.tuitui.info", + ".tumutanzi.com", + "|http://tumutanzi.com", + "||tumview.com", + ".tunein.com", + "|http://tunein.com", + "||tunnelbear.com", + ".tunnelr.com", + "||tunnelr.com", + ".tuo8.blue", + "||tuo8.blue", + ".tuo8.cc", + ".tuo8.club", + "||tuo8.club", + ".tuo8.fit", + ".tuo8.hk", + ".tuo8.in", + ".tuo8.ninja", + ".tuo8.org", + "||tuo8.fit", + "||tuo8.org", + ".tuo8.pw", + "|http://tuo8.pw", + "||tuo8.red", + ".tuo8.space", + "tuitwit.com", + ".turansam.org", + ".turbobit.net", + "|http://turbobit.net", + ".turbohide.com", + "||turbohide.com", + ".tushycash.com", + "|http://tushycash.com", + "||app.tutanota.com", + ".tuvpn.com", + "||tuvpn.com", + "|http://tuzaijidi.com", + "|http://*.tuzaijidi.com", + ".tw01.org", + "|http://tw01.org", + ".tumblr.com", + "||tumblr.com", + "||lecloud.net", + "|http://cosmic.monar.ch", + "||slutmoonbeam.com", + "|http://blog.soylent.com", + ".tv.com", + "|http://tv.com", + "tvants.com", + "forum.tvb.com", + "news.tvb.com/list/world", + "news.tvb.com/local", + "news.tvbs.com.tw", + ".tvboxnow.com", + "|http://tvboxnow.com/", + "tvider.com", + ".tvmost.com.hk", + ".tvplayvideos.com", + "||tvunetworks.com", + ".tw-blog.com", + "|https://tw-blog.com", + ".tw-npo.org", + ".twaitter.com", + "twapperkeeper.com", + "||twapperkeeper.com", + "||twaud.io", + ".twaud.io", + ".twavi.com", + ".twbbs.net.tw", + "twbbs.org", + "twbbs.tw", + "||twblogger.com", + "tweepmag.com", + ".tweepml.org", + "||tweepml.org", + ".tweetbackup.com", + "||tweetbackup.com", + "tweetboard.com", + "||tweetboard.com", + ".tweetboner.biz", + "||tweetboner.biz", + ".tweetcs.com", + "|http://tweetcs.com", + "|http://deck.ly", + "||mtw.tl", + "||tweetedtimes.com", + "||tweetmylast.fm", + "tweetphoto.com", + "||tweetphoto.com", + "||tweetrans.com", + "tweetree.com", + "||tweetree.com", + ".tweettunnel.com", + "||tweettunnel.com", + "||tweetwally.com", + "tweetymail.com", + "||twelve.today", + ".tweez.net", + "|http://tweez.net", + "||twftp.org", + "||twgreatdaily.com", + "twibase.com", + ".twibble.de", + "||twibble.de", + "twibbon.com", + "||twibs.com", + ".twicountry.org", + "|http://twicountry.org", + "twicsy.com", + ".twiends.com", + "|http://twiends.com", + ".twifan.com", + "|http://twifan.com", + "twiffo.com", + "||twiffo.com", + ".twilightsex.com", + "twilog.org", + "twimbow.com", + "||twindexx.com", + "twipple.jp", + "||twipple.jp", + "||twip.me", + "twishort.com", + "||twishort.com", + "twistar.cc", + "||twister.net.co", + "||twisterio.com", + "twisternow.com", + "twistory.net", + "twitbrowser.net", + "||twitcause.com", + "||twitgether.com", + "||twiggit.org", + "twitgoo.com", + "twitiq.com", + "||twitiq.com", + ".twitlonger.com", + "||twitlonger.com", + "|http://tl.gd/", + "twitmania.com", + "twitoaster.com", + "||twitoaster.com", + "||twitonmsn.com", + ".twit2d.com", + "||twit2d.com", + ".twitstat.com", + "||twitstat.com", + "||firstfivefollowers.com", + "||retweeteffect.com", + "||tweeplike.me", + "||tweepguide.com", + "||turbotwitter.com", + ".twitvid.com", + "||twitvid.com", + "|http://twt.tl", + "twittbot.net", + "||ads-twitter.com", + "||twttr.com", + "||twitter4j.org", + ".twittercounter.com", + "||twittercounter.com", + "twitterfeed.com", + ".twittergadget.com", + "||twittergadget.com", + ".twitterkr.com", + "||twitterkr.com", + "||twittermail.com", + "||twitterrific.com", + "twittertim.es", + "||twittertim.es", + "twitthat.com", + "||twitturk.com", + ".twitturly.com", + "||twitturly.com", + ".twitzap.com", + "twiyia.com", + "||twstar.net", + ".twtkr.com", + "|http://twtkr.com", + ".twnorth.org.tw", + "twskype.com", + "twtrland.com", + "twurl.nl", + ".twyac.org", + "||twyac.org", + ".txxx.com", + ".tycool.com", + "||tycool.com", + "||typepad.com", + "@@||www.typepad.com", + "@@||static.typepad.com", + "||blog.expofutures.com", + "||legaltech.law.com", + "||blogs.tampabay.com", + "||contests.twilio.com", + ".embr.in", + "||embr.in", + ".u9un.com", + "||u9un.com", + ".ubddns.org", + "|http://ubddns.org", + "||uberproxy.net", + ".uc-japan.org", + "||uc-japan.org", + ".srcf.ucam.org/salon/", + "|http://china.ucanews.com/", + "||ucdc1998.org", + "|http://hum*.uchicago.edu/faculty/ywang/history", + "||uderzo.it", + ".udn.com", + "||udn.com", + "||udn.com.tw", + "udnbkk.com/bbs", + "||uforadio.com.tw", + "ufreevpn.com", + ".ugo.com", + "||uhdwallpapers.org", + "||uhrp.org", + ".uighur.nl", + "||uighur.nl", + "uighurbiz.net", + ".ulike.net", + "ukcdp.co.uk", + "ukliferadio.co.uk", + "||ukliferadio.co.uk", + "ultravpn.fr", + "||ultravpn.fr", + "ultraxs.com", + "umich.edu/~falun", + "||unblock.cn.com", + ".unblocker.yt", + "unblock-us.com", + "||unblock-us.com", + ".unblockdmm.com", + "|http://unblockdmm.com", + "||unblocksit.es", + "uncyclomedia.org", + ".uncyclopedia.hk/wiki", + "|http://uncyclopedia.hk", + "|http://uncyclopedia.tw", + "underwoodammo.com", + "||underwoodammo.com", + "||unholyknight.com", + ".uni.cc", + "||cldr.unicode.org", + ".unification.net", + ".unification.org.tw", + "||unirule.cloud", + ".unitedsocialpress.com", + ".unix100.com", + "||unknownspace.org", + ".unodedos.com", + "unpo.org", + ".untraceable.us", + "|http://untraceable.us", + "||uocn.org", + "tor.updatestar.com", + ".upholdjustice.org", + ".upload4u.info", + "uploaded.net/file", + "|http://uploaded.net/file", + "|http://uploaded.to/file", + ".uploadstation.com/file", + ".upmedia.mg", + "||upmedia.mg", + ".upornia.com", + "|http://upornia.com", + "||uproxy.org", + "|http://tor.cn.uptodown.com/", + ".upwill.org", + "ur7s.com", + "||urbansurvival.com", + "myshare.url.com.tw/", + "||urlborg.com", + "||urlparser.com", + "us.to", + "||usacn.com", + ".usaip.eu", + "||usaip.eu", + "dalailama.usc.edu", + "iipdigital.usembassy.gov", + "||usfk.mil", + "||usma.edu", + "||usmc.mil", + ".usocctn.com", + "|http://tarr.uspto.gov/", + "||tsdr.uspto.gov", + ".ustream.tv", + "||ustream.tv", + ".usunitednews.com", + "|http://usunitednews.com", + "usus.cc", + ".utopianpal.com", + "||utopianpal.com", + ".uu-gg.com", + ".uvwxyz.xyz", + "||uvwxyz.xyz", + ".uwants.com", + ".uwants.net", + "uyghur.co.uk", + "|http://uyghur-j.org", + "||uyghuramerican.org", + ".uyghurcanadiansociety.org", + ".uyghurensemble.co.uk", + "||uyghurcongress.org", + ".uyghurpen.org", + ".uyghurpress.com", + "|https://uyghurpress.com", + ".uyghurstudies.org", + "|http://uyghurstudies.org", + "uygur.org", + "|http://uymaarip.com/", + ".v2ray.com", + "||v2ray.com", + ".van001.com", + ".van698.com", + ".vanemu.cn", + ".vanilla-jp.com", + ".vanpeople.com", + "vansky.com", + "||vaticannews.va", + "||vcf-online.org", + "||vcfbuilder.org", + ".vegasred.com", + ".velkaepocha.sk", + ".venbbs.com", + ".venchina.com", + ".venetianmacao.com", + "||venetianmacao.com", + "veoh.com", + "mysite.verizon.net", + "vermonttibet.org", + ".versavpn.com", + "||versavpn.com", + "||verybs.com", + ".vft.com.tw", + ".viber.com", + "||viber.com", + ".vica.info", + ".victimsofcommunism.org", + "|http://victimsofcommunism.org", + "||vid.me", + "||vidble.com", + "videobam.com", + "||videobam.com", + ".videodetective.com", + ".videomega.tv", + "||videomega.tv", + ".videomo.com", + "videopediaworld.com", + ".videopress.com", + ".vidinfo.org/video", + "vietdaikynguyen.com", + ".vijayatemple.org", + "vimeo.com", + "||vimeo.com", + "||vimperator.org", + "||vincnd.com", + "||vinniev.com", + "|http://www.lib.virginia.edu/area-studies/Tibet/tibet.html", + ".virtualrealporn.com", + "||virtualrealporn.com", + "visibletweets.com", + "|http://ny.visiontimes.com", + ".vital247.org", + "||viu.com", + ".vivahentai4u.net", + ".vivatube.com", + ".vivthomas.com", + "||vivthomas.com", + ".vjav.com", + "||vjav.com", + ".vjmedia.com.hk", + ".vllcs.org", + "|http://vllcs.org", + "||vmixcore.com", + "||vnet.link", + "cn.voa.mobi", + "tw.voa.mobi", + ".voachineseblog.com", + "||voachineseblog.com", + "voagd.com", + ".voacantonese.com", + "||voacantonese.com", + "voachinese.com", + "||voachinese.com", + ".voanews.com", + "||voanews.com", + "voatibetan.com", + "||voatibetan.com", + ".voatibetanenglish.com", + "||voatibetanenglish.com", + ".vocativ.com", + "vocn.tv", + ".vot.org", + "||vot.org", + ".vovo2000.com", + "|http://vovo2000.com", + ".voxer.com", + "||voxer.com", + ".voy.com", + "||vpn.ac", + ".vpn4all.com", + "||vpn4all.com", + ".vpnaccount.org", + "|http://vpnaccount.org", + ".vpnaccounts.com", + "||vpnaccounts.com", + ".vpncomparison.org", + ".vpncup.com", + "||vpncup.com", + "vpnbook.com", + ".vpncoupons.com", + "|http://vpncoupons.com", + ".vpndada.com", + "||vpndada.com", + ".vpnfan.com", + "vpnfire.com", + ".vpnfires.biz", + ".vpnforgame.net", + "||vpnforgame.net", + "||vpngate.jp", + ".vpngate.net", + "||vpngate.net", + ".vpngratis.net", + "vpnhq.com", + ".vpnmaster.com", + "||vpnmaster.com", + ".vpnmentor.com", + "||vpnmentor.com", + ".vpninja.net", + "||vpninja.net", + ".vpnintouch.com", + "||vpnintouch.net", + "vpnjack.com", + "||vpnjack.com", + ".vpnpick.com", + "||vpnpick.com", + "||vpnpop.com", + "||vpnpronet.com", + ".vpnreactor.com", + "||vpnreactor.com", + "||vpnreviewz.com", + ".vpnsecure.me", + "||vpnsecure.me", + ".vpnshazam.com", + "||vpnshazam.com", + ".vpnshieldapp.com", + "||vpnshieldapp.com", + ".vpnsp.com", + ".vpntraffic.com", + ".vpntunnel.com", + "||vpntunnel.com", + ".vpnuk.info", + "||vpnuk.info", + "||vpnunlimitedapp.com", + ".vpnvip.com", + "||vpnvip.com", + ".vpnworldwide.com", + ".vporn.com", + "||vporn.com", + ".vpser.net", + "@@||vpser.net", + "vraiesagesse.net", + ".vrmtr.com", + "||vtunnel.com", + "||vuku.cc", + "lists.w3.org/archives/public", + "||w3schools.com", + "||waffle1999.com", + ".wahas.com", + ".waigaobu.com", + "waikeung.org/php_wind", + ".wailaike.net", + ".waiwaier.com", + "|http://waiwaier.com", + "||wallmama.com", + "wallornot.org", + "||wallpapercasa.com", + ".wallproxy.com", + "@@||wallproxy.com.cn", + "||waltermartin.com", + "||waltermartin.org", + "||www.wan-press.org", + "||wanderinghorse.net", + "||wangafu.net", + "||wangjinbo.org", + ".wangjinbo.org", + "wanglixiong.com", + ".wango.org", + "||wango.org", + "wangruoshui.net", + "www.wangruowang.org", + "want-daily.com", + "wapedia.mobi/zhsimp", + "||waselpro.com", + ".watchinese.com", + ".wattpad.com", + "||wattpad.com", + ".makzhou.warehouse333.com", + "washeng.net", + ".watch8x.com", + "||watchmygf.net", + "||wav.tv", + ".wdf5.com", + ".wearehairy.com", + ".wearn.com", + "||wearn.com", + "|http://hkcoc.weather.com.hk", + "||hudatoriq.web.id", + "||web2project.net", + "webbang.net", + ".webevader.org", + ".webfreer.com", + "weblagu.com", + ".webjb.org", + ".webrush.net", + "webs-tv.net", + ".websitepulse.com/help/testtools.china-test", + "|http://www.websnapr.com", + ".webwarper.net", + "|http://webwarper.net", + "webworkerdaily.com", + ".weekmag.info", + "||wefightcensorship.org", + ".wefong.com", + "weiboleak.com", + ".weihuo.org", + "weijingsheng.org", + ".weiming.info", + "||weiming.info", + "weiquanwang.org", + "|http://weisuo.ws", + ".welovecock.com", + ".wemigrate.org", + "|http://wemigrate.org", + "wengewang.com", + "||wengewang.org", + ".wenhui.ch", + "|http://trans.wenweipo.com/gb/", + ".wenxuecity.com", + "||wenxuecity.com", + ".wenyunchao.com", + "||wenyunchao.com", + ".westca.com", + "||westca.com", + "||westernwolves.com", + ".westkit.net", + "||westpoint.edu", + ".westernshugdensociety.org", + "wetpussygames.com", + ".wetplace.com", + "wexiaobo.org", + "||wexiaobo.org", + "wezhiyong.org", + "||wezone.net", + ".wforum.com", + "||wforum.com/", + ".whatblocked.com", + "||whatblocked.com", + ".wheatseeds.org", + "||wheelockslatin.com", + ".whippedass.com", + ".whoer.net", + "||whoer.net", + "whotalking.com", + "whylover.com", + "||whyx.org", + "|http://zh.ecdm.wikia.com", + "|http://evchk.wikia.com", + "fq.wikia.com", + "zh.pttpedia.wikia.com/wiki/%E7%BF%92%E5%8C%85%E5%AD%90%E4%B9%8B%E4%BA%82", + "cn.uncyclopedia.wikia.com", + "zh.uncyclopedia.wikia.com", + "||wikileaks.ch", + "||wikileaks.com", + "||wikileaks.de", + "||wikileaks.eu", + "||wikileaks.lu", + ".wikileaks.org", + "||wikileaks.org", + "||wikileaks.pl", + ".wikileaks-forum.com", + "wildammo.com", + ".williamhill.com", + "||collateralmurder.com", + "||collateralmurder.org", + "wikilivres.info/wiki/%E9%9B%B6%E5%85%AB%E5%AE%AA%E7%AB%A0", + "||wikimapia.org", + "|http://zh.wikisource.org", + "||zh.wikinews.org", + "||ja.wikipedia.org", + "zh.wikipedia.org", + "||ug.m.wikipedia.org", + "zh.m.wikipedia.org", + "|https://zh.m.wikipedia.org", + "|https://zh.wikipedia.org", + "wuu.wikipedia.org", + "|https://wuu.wikipedia.org", + "zh-yue.wikipedia.org", + "|https://zh-yue.wikipedia.org", + "||wikiwiki.jp", + "||casino.williamhill.com", + "||sports.williamhill.com", + "||vegas.williamhill.com", + "||willw.net", + "||windowsphoneme.com", + ".windscribe.com", + "||windscribe.com", + "||community.windy.com", + "||wingy.site", + "winning11.com", + "winwhispers.info", + "||wiredbytes.com", + "||wiredpen.com", + ".wisdompubs.org", + ".wisevid.com", + "||wisevid.com", + ".witnessleeteaching.com", + ".witopia.net", + ".wjbk.org", + "||wjbk.org", + "|http://wn.com", + ".wnacg.com", + ".wnacg.org", + ".wo.tc", + "||woeser.com", + "|http://woesermiddle-way.net/", + ".wokar.org", + "|http://wokar.org", + "wolfax.com", + "||wolfax.com", + "||woolyss.com", + "woopie.jp", + "||woopie.jp", + "woopie.tv", + "||woopie.tv", + "||workatruna.com", + ".workerdemo.org.hk", + ".workerempowerment.org", + "||workersthebig.net", + ".worldcat.org", + "worldjournal.com", + ".worldvpn.net", + "||worldvpn.net", + "||videopress.com", + ".wordpress.com", + "|http://*.wordpress.com", + "||chenshan20042005.wordpress.com", + "||chinaview.wordpress.com", + "||cnbbnews.wordpress.com", + "||freedominfonetweb.wordpress.com", + "||hka8964.wordpress.com", + "||hkanews.wordpress.com", + "||hqsbnet.wordpress.com", + "||hqsbonline.wordpress.com", + "||investigating.wordpress.com", + "||jobnewera.wordpress.com", + "||minghuiyw.wordpress.com", + "||wo3ttt.wordpress.com", + "||sujiatun.wordpress.com", + "||xijie.wordpress.com", + "||wp.com", + ".wow.com", + ".wow-life.net", + "||wowlegacy.ml", + "||wowporn.com", + "||wowgirls.com", + ".wowrk.com", + "woxinghuiguo.com", + ".woyaolian.org", + "|http://woyaolian.org", + ".wpoforum.com", + "||wpoforum.com", + ".wqyd.org", + "||wqyd.org", + "wrchina.org", + "wretch.cc", + ".wsj.com", + "||wsj.com", + ".wsj.net", + "||wsj.net", + ".wsjhk.com", + ".wtbn.org", + ".wtfpeople.com", + "wuerkaixi.com", + "||wufafangwen.com", + "wufi.org.tw", + "||wuguoguang.com", + "wujie.net", + "wujieliulan.com", + "||wujieliulan.com", + "wukangrui.net", + "||wuw.red", + "||wuyanblog.com", + ".wwitv.com", + "||wwitv.com", + "wzyboy.im/post/160", + ".x-berry.com", + "||x-berry.com", + "||x-art.com", + "||x-wall.org", + "x1949x.com", + "x365x.com", + "xanga.com", + "||xbabe.com", + ".xbookcn.com", + "||xbookcn.com", + "||xcafe.in", + "||xcity.jp", + ".xcritic.com", + "|http://cdn*.xda-developers.com", + ".xerotica.com", + "destiny.xfiles.to/ubbthreads", + ".xfm.pp.ru", + ".xgmyd.com", + "||xgmyd.com", + "xhamster.com", + "||xhamster.com", + ".xianba.net", + ".xianchawang.net", + ".xianjian.tw", + "|http://xianjian.tw", + ".xianqiao.net", + ".xiaobaiwu.com", + ".xiaochuncnjp.com", + ".xiaod.in", + ".xiaohexie.com", + "||xiaolan.me", + "||xiaoma.org", + "||xiaohexie.com", + "xiezhua.com", + ".xihua.es", + "forum.xinbao.de/forum", + ".xing.com", + "|http://xing.com", + ".xinmiao.com.hk", + "||xinmiao.com.hk", + "xinsheng.net", + "xinshijue.com", + "xinhuanet.org", + "|http://xinyubbs.net", + ".xiongpian.com", + ".xiuren.org", + "xizang-zhiye.org", + "xjp.cc", + "||xjp.cc", + "||xjtravelguide.com", + "xlfmtalk.com", + "||xlfmwz.info", + "||xml-training-guide.com", + "xmovies.com", + "||xnxx.com", + "xpdo.net", + "||xpud.org", + ".xrentdvd.com", + ".xskywalker.net", + "||xtube.com", + "blog.xuite.net", + "vlog.xuite.net", + "xuzhiyong.net", + "||xuchao.org", + "xuchao.net", + "||xuchao.net", + "xvideo.cc", + ".xvideos.com", + "||xvideos.com", + "||xvideos.es", + ".xkiwi.tk/", + ".xxbbx.com", + ".xxlmovies.com", + "||xxx.com", + ".xxx.xxx", + "|http://xxx.xxx", + ".xxxfuckmom.com", + "||xxxx.com.au", + ".xxxymovies.com", + "|http://xxxymovies.com", + "xys.org", + "xysblogs.org", + "xyy69.com", + "xyy69.info", + "||yakbutterblues.com", + "||yam.com", + "||yam.org.tw", + ".yanghengjun.com", + "yangjianli.com", + ".yasni.co.uk", + "||yasni.co.uk", + ".yayabay.com/forum", + ".ydy.com", + ".yeahteentube.com", + "||yeahteentube.com", + "||yecl.net", + "||yeelou.com", + "yeeyi.com", + "yegle.net", + "||yegle.net", + ".yes.xxx", + "||yes123.com.tw", + "||yesasia.com", + "||yesasia.com.hk", + ".yes-news.com", + "|http://yes-news.com", + ".yespornplease.com", + "||yespornplease.com", + "|http://yeyeclub.com", + "||yhcw.net", + ".yibada.com", + ".yibaochina.com", + ".yidio.com", + "||yidio.com", + "yilubbs.com", + "xa.yimg.com", + ".yingsuoss.com", + ".yipub.com", + "||yipub.com", + "yinlei.org/mt", + ".yizhihongxing.com", + ".yobt.com", + ".yobt.tv", + "||yobt.tv", + ".yogichen.org", + "||yogichen.org", + ".yolasite.com", + ".yomiuri.co.jp", + "yong.hu", + ".yorkbbs.ca", + "||youxu.info", + ".youjizz.com", + "||youjizz.com", + ".youmaker.com", + "||youmaker.com", + ".youngpornvideos.com", + "youngspiration.hk", + ".youpai.org", + "||youpai.org", + ".your-freedom.net", + "||yourepeat.com", + ".yourprivatevpn.com", + "||yourprivatevpn.com", + ".yousendit.com", + "||yousendit.com", + ".youthnetradio.org/tmit/forum", + "blog.youthwant.com.tw", + "me.youthwant.com.tw", + "share.youthwant.com.tw", + "topic.youthwant.com.tw", + ".youporn.com", + "||youporn.com", + ".youporngay.com", + "||youporngay.com", + ".yourlisten.com", + "|http://yourlisten.com", + ".yourlust.com", + "|http://yourlust.com", + "youshun12.com", + ".youtubecn.com", + "youversion.com", + "||youversion.com", + "blog.youxu.info/2010/03/14/west-chamber", + "ytht.net", + "yuanming.net", + ".yuanzhengtang.org", + ".yulghun.com", + "||yunchao.net", + "||yuntipub.com", + ".yuvutu.com", + "||yvesgeleyn.com", + ".ywpw.com/forums/history/post/A0/p0/html/227", + "yx51.net", + ".yyii.org", + "||yyii.org", + ".yzzk.com", + "|http://yzzk.com", + "zacebook.com", + ".zalmos.com", + "||zalmos.com", + "||zannel.com", + ".zaobao.com", + "||zaobao.com", + "|http://zaobao.com.sg", + "||zaobao.com.sg", + ".zaozon.com", + "||zdnet.com.tw", + ".zello.com", + "||zello.com", + ".zengjinyan.org", + ".zenmate.com", + "||zenmate.com", + "||zenmate.com.ru", + "||zeronet.io", + "||zeutch.com", + ".zfreet.com", + ".zgsddh.com", + "zgzcjj.net", + ".zhanbin.net", + "||zhanbin.net", + ".zhangboli.net", + "||zhangtianliang.com", + "||zhanlve.org", + "zhenghui.org", + ".zhengjian.org", + "||zhengjian.org", + "zhengwunet.org", + "zhenlibu.info", + "||zhenlibu.info", + ".zhenlibu1984.com", + "||zhenlibu1984.com", + "|http://zhenxiang.biz", + ".zhinengluyou.com", + "zhongguo.ca", + "|http://zhongguorenquan.org", + "zhongguotese.net", + "||zhongguotese.net", + "||zhongmeng.org", + ".zhoushuguang.com", + "||zhreader.com", + ".zhuangbi.me", + "||zhuangbi.me", + ".zhuanxing.cn", + "||zhuatieba.com", + "zhuichaguoji.org", + "||zhuichaguoji.org", + "|http://book.zi5.me", + ".ziddu.com/download", + "||zillionk.com", + ".zinio.com", + "||zinio.com", + ".ziporn.com", + ".zippyshare.com", + ".zkaip.com", + "||zkaip.com", + "realforum.zkiz.com", + "||zmw.cn", + ".zodgame.us", + "zomobo.net", + ".zonaeuropa.com", + "||zonaeuropa.com", + "||zonghexinwen.com", + ".zonghexinwen.net", + "||zoogvpn.com", + "||zootool.com", + ".zoozle.net", + "writer.zoho.com", + "||zorrovpn.com", + "||zpn.im", + "||zspeeder.me", + ".zsrhao.com", + ".zuo.la", + "||zuo.la", + "||zuobiao.me", + ".zuola.com", + "||zuola.com", + "||zvereff.com", + ".zynaima.com", + "zyzc9.com", + ".zzcartoon.com", + "64memo", + "aHR0cHM6Ly95ZWNsLm5ldA", + "freenet", + ".google.*/falun", + "phobos.apple.com*/video", + "q=freedom", + "q%3Dfreedom", + "remembering_tiananmen_20_years", + "search*safeweb", + "q=triangle", + "q%3DTriangle", + "ultrareach", + "ultrasurf", + "@@||aliyun.com", + "@@||baidu.com", + "@@||chinaso.com", + "@@||chinaz.com", + "@@|http://nrch.culture.tw/", + "@@||dl.google.com", + "@@||kh.google.com", + "@@||khm.google.com", + "@@||khm0.google.com", + "@@||khm1.google.com", + "@@||khm2.google.com", + "@@||khm3.google.com", + "@@||khmdb.google.com", + "@@||tools.google.com", + "@@||clientservices.googleapis.com", + "@@||fonts.googleapis.com", + "@@||khm.googleapis.com", + "@@||khm0.googleapis.com", + "@@||khm1.googleapis.com", + "@@||khm2.googleapis.com", + "@@||khm3.googleapis.com", + "@@||khmdb.googleapis.com", + "@@||storage.googleapis.com", + "@@||translate.googleapis.com", + "@@||update.googleapis.com", + "@@||safebrowsing.googleapis.com", + "@@||cn.gravatar.com", + "@@||connectivitycheck.gstatic.com", + "@@||csi.gstatic.com", + "@@||fonts.gstatic.com", + "@@||ssl.gstatic.com", + "@@||haosou.com", + "@@||ip.cn", + "@@||jike.com", + "@@|http://translate.google.cn", + "@@|http://www.google.cn/maps", + "@@||http2.golang.org", + "@@||gov.cn", + "@@||qq.com", + "@@||sina.cn", + "@@||sina.com.cn", + "@@||sogou.com", + "@@||so.com", + "@@||soso.com", + "@@||uluai.com.cn", + "@@||weibo.com", + "@@||yahoo.cn", + "@@||youdao.com", + "@@||zhongsou.com", + "@@|http://ime.baidu.jp" +]; + +/* +* This file is part of Adblock Plus , +* Copyright (C) 2006-2014 Eyeo GmbH +* +* Adblock Plus is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 3 as +* published by the Free Software Foundation. +* +* Adblock Plus 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 Adblock Plus. If not, see . +*/ + +function createDict() +{ + var result = {}; + result.__proto__ = null; + return result; +} + +function getOwnPropertyDescriptor(obj, key) +{ + if (obj.hasOwnProperty(key)) + { + return obj[key]; + } + return null; +} + +function extend(subclass, superclass, definition) +{ + if (Object.__proto__) + { + definition.__proto__ = superclass.prototype; + subclass.prototype = definition; + } + else + { + var tmpclass = function(){}, ret; + tmpclass.prototype = superclass.prototype; + subclass.prototype = new tmpclass(); + subclass.prototype.constructor = superclass; + for (var i in definition) + { + if (definition.hasOwnProperty(i)) + { + subclass.prototype[i] = definition[i]; + } + } + } +} + +function Filter(text) +{ + this.text = text; + this.subscriptions = []; +} +Filter.prototype = { + text: null, + subscriptions: null, + toString: function() + { + return this.text; + } +}; +Filter.knownFilters = createDict(); +Filter.elemhideRegExp = /^([^\/\*\|\@"!]*?)#(\@)?(?:([\w\-]+|\*)((?:\([\w\-]+(?:[$^*]?=[^\(\)"]*)?\))*)|#([^{}]+))$/; +Filter.regexpRegExp = /^(@@)?\/.*\/(?:\$~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)?$/; +Filter.optionsRegExp = /\$(~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)$/; +Filter.fromText = function(text) +{ + if (text in Filter.knownFilters) + { + return Filter.knownFilters[text]; + } + var ret; + if (text.charAt(0) == "!") + { + ret = new CommentFilter(text); + } + else + { + ret = RegExpFilter.fromText(text); + } + Filter.knownFilters[ret.text] = ret; + return ret; +}; + +function InvalidFilter(text, reason) +{ + Filter.call(this, text); + this.reason = reason; +} +extend(InvalidFilter, Filter, { + reason: null +}); + +function CommentFilter(text) +{ + Filter.call(this, text); +} +extend(CommentFilter, Filter, { +}); + +function ActiveFilter(text, domains) +{ + Filter.call(this, text); + this.domainSource = domains; +} +extend(ActiveFilter, Filter, { + domainSource: null, + domainSeparator: null, + ignoreTrailingDot: true, + domainSourceIsUpperCase: false, + getDomains: function() + { + var prop = getOwnPropertyDescriptor(this, "domains"); + if (prop) + { + return prop; + } + var domains = null; + if (this.domainSource) + { + var source = this.domainSource; + if (!this.domainSourceIsUpperCase) + { + source = source.toUpperCase(); + } + var list = source.split(this.domainSeparator); + if (list.length == 1 && (list[0]).charAt(0) != "~") + { + domains = createDict(); + domains[""] = false; + if (this.ignoreTrailingDot) + { + list[0] = list[0].replace(/\.+$/, ""); + } + domains[list[0]] = true; + } + else + { + var hasIncludes = false; + for (var i = 0; i < list.length; i++) + { + var domain = list[i]; + if (this.ignoreTrailingDot) + { + domain = domain.replace(/\.+$/, ""); + } + if (domain == "") + { + continue; + } + var include; + if (domain.charAt(0) == "~") + { + include = false; + domain = domain.substr(1); + } + else + { + include = true; + hasIncludes = true; + } + if (!domains) + { + domains = createDict(); + } + domains[domain] = include; + } + domains[""] = !hasIncludes; + } + this.domainSource = null; + } + return this.domains; + }, + sitekeys: null, + isActiveOnDomain: function(docDomain, sitekey) + { + if (this.getSitekeys() && (!sitekey || this.getSitekeys().indexOf(sitekey.toUpperCase()) < 0)) + { + return false; + } + if (!this.getDomains()) + { + return true; + } + if (!docDomain) + { + return this.getDomains()[""]; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + while (true) + { + if (docDomain in this.getDomains()) + { + return this.domains[docDomain]; + } + var nextDot = docDomain.indexOf("."); + if (nextDot < 0) + { + break; + } + docDomain = docDomain.substr(nextDot + 1); + } + return this.domains[""]; + }, + isActiveOnlyOnDomain: function(docDomain) + { + if (!docDomain || !this.getDomains() || this.getDomains()[""]) + { + return false; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + for (var domain in this.getDomains()) + { + if (this.domains[domain] && domain != docDomain && (domain.length <= docDomain.length || domain.indexOf("." + docDomain) != domain.length - docDomain.length - 1)) + { + return false; + } + } + return true; + } +}); + +function RegExpFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + ActiveFilter.call(this, text, domains, sitekeys); + if (contentType != null) + { + this.contentType = contentType; + } + if (matchCase) + { + this.matchCase = matchCase; + } + if (thirdParty != null) + { + this.thirdParty = thirdParty; + } + if (sitekeys != null) + { + this.sitekeySource = sitekeys; + } + if (regexpSource.length >= 2 && regexpSource.charAt(0) == "/" && regexpSource.charAt(regexpSource.length - 1) == "/") + { + var regexp = new RegExp(regexpSource.substr(1, regexpSource.length - 2), this.matchCase ? "" : "i"); + this.regexp = regexp; + } + else + { + this.regexpSource = regexpSource; + } +} +extend(RegExpFilter, ActiveFilter, { + domainSourceIsUpperCase: true, + length: 1, + domainSeparator: "|", + regexpSource: null, + getRegexp: function() + { + var prop = getOwnPropertyDescriptor(this, "regexp"); + if (prop) + { + return prop; + } + var source = this.regexpSource.replace(/\*+/g, "*").replace(/\^\|$/, "^").replace(/\W/g, "\\$&").replace(/\\\*/g, ".*").replace(/\\\^/g, "(?:[\\x00-\\x24\\x26-\\x2C\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B-\\x7F]|$)").replace(/^\\\|\\\|/, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?").replace(/^\\\|/, "^").replace(/\\\|$/, "$").replace(/^(\.\*)/, "").replace(/(\.\*)$/, ""); + var regexp = new RegExp(source, this.matchCase ? "" : "i"); + this.regexp = regexp; + return regexp; + }, + contentType: 2147483647, + matchCase: false, + thirdParty: null, + sitekeySource: null, + getSitekeys: function() + { + var prop = getOwnPropertyDescriptor(this, "sitekeys"); + if (prop) + { + return prop; + } + var sitekeys = null; + if (this.sitekeySource) + { + sitekeys = this.sitekeySource.split("|"); + this.sitekeySource = null; + } + this.sitekeys = sitekeys; + return this.sitekeys; + }, + matches: function(location, contentType, docDomain, thirdParty, sitekey) + { + if (this.getRegexp().test(location) && this.isActiveOnDomain(docDomain, sitekey)) + { + return true; + } + return false; + } +}); +RegExpFilter.prototype["0"] = "#this"; +RegExpFilter.fromText = function(text) +{ + var blocking = true; + var origText = text; + if (text.indexOf("@@") == 0) + { + blocking = false; + text = text.substr(2); + } + var contentType = null; + var matchCase = null; + var domains = null; + var sitekeys = null; + var thirdParty = null; + var collapse = null; + var options; + var match = text.indexOf("$") >= 0 ? Filter.optionsRegExp.exec(text) : null; + if (match) + { + options = match[1].toUpperCase().split(","); + text = match.input.substr(0, match.index); + for (var _loopIndex6 = 0; _loopIndex6 < options.length; ++_loopIndex6) + { + var option = options[_loopIndex6]; + var value = null; + var separatorIndex = option.indexOf("="); + if (separatorIndex >= 0) + { + value = option.substr(separatorIndex + 1); + option = option.substr(0, separatorIndex); + } + option = option.replace(/-/, "_"); + if (option in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = 0; + } + contentType |= RegExpFilter.typeMap[option]; + } + else if (option.charAt(0) == "~" && option.substr(1) in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap[option.substr(1)]; + } + else if (option == "MATCH_CASE") + { + matchCase = true; + } + else if (option == "~MATCH_CASE") + { + matchCase = false; + } + else if (option == "DOMAIN" && typeof value != "undefined") + { + domains = value; + } + else if (option == "THIRD_PARTY") + { + thirdParty = true; + } + else if (option == "~THIRD_PARTY") + { + thirdParty = false; + } + else if (option == "COLLAPSE") + { + collapse = true; + } + else if (option == "~COLLAPSE") + { + collapse = false; + } + else if (option == "SITEKEY" && typeof value != "undefined") + { + sitekeys = value; + } + else + { + return new InvalidFilter(origText, "Unknown option " + option.toLowerCase()); + } + } + } + if (!blocking && (contentType == null || contentType & RegExpFilter.typeMap.DOCUMENT) && (!options || options.indexOf("DOCUMENT") < 0) && !/^\|?[\w\-]+:/.test(text)) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap.DOCUMENT; + } + try + { + if (blocking) + { + return new BlockingFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys, collapse); + } + else + { + return new WhitelistFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys); + } + } + catch (e) + { + return new InvalidFilter(origText, e); + } +}; +RegExpFilter.typeMap = { + OTHER: 1, + SCRIPT: 2, + IMAGE: 4, + STYLESHEET: 8, + OBJECT: 16, + SUBDOCUMENT: 32, + DOCUMENT: 64, + XBL: 1, + PING: 1, + XMLHTTPREQUEST: 2048, + OBJECT_SUBREQUEST: 4096, + DTD: 1, + MEDIA: 16384, + FONT: 32768, + BACKGROUND: 4, + POPUP: 268435456, + ELEMHIDE: 1073741824 +}; +RegExpFilter.prototype.contentType &= ~ (RegExpFilter.typeMap.ELEMHIDE | RegExpFilter.typeMap.POPUP); + +function BlockingFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys, collapse) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); + this.collapse = collapse; +} +extend(BlockingFilter, RegExpFilter, { + collapse: null +}); + +function WhitelistFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); +} +extend(WhitelistFilter, RegExpFilter, { +}); + +function Matcher() +{ + this.clear(); +} +Matcher.prototype = { + filterByKeyword: null, + keywordByFilter: null, + clear: function() + { + this.filterByKeyword = createDict(); + this.keywordByFilter = createDict(); + }, + add: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return; + } + var keyword = this.findKeyword(filter); + var oldEntry = this.filterByKeyword[keyword]; + if (typeof oldEntry == "undefined") + { + this.filterByKeyword[keyword] = filter; + } + else if (oldEntry.length == 1) + { + this.filterByKeyword[keyword] = [oldEntry, filter]; + } + else + { + oldEntry.push(filter); + } + this.keywordByFilter[filter.text] = keyword; + }, + remove: function(filter) + { + if (!(filter.text in this.keywordByFilter)) + { + return; + } + var keyword = this.keywordByFilter[filter.text]; + var list = this.filterByKeyword[keyword]; + if (list.length <= 1) + { + delete this.filterByKeyword[keyword]; + } + else + { + var index = list.indexOf(filter); + if (index >= 0) + { + list.splice(index, 1); + if (list.length == 1) + { + this.filterByKeyword[keyword] = list[0]; + } + } + } + delete this.keywordByFilter[filter.text]; + }, + findKeyword: function(filter) + { + var result = ""; + var text = filter.text; + if (Filter.regexpRegExp.test(text)) + { + return result; + } + var match = Filter.optionsRegExp.exec(text); + if (match) + { + text = match.input.substr(0, match.index); + } + if (text.substr(0, 2) == "@@") + { + text = text.substr(2); + } + var candidates = text.toLowerCase().match(/[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])/g); + if (!candidates) + { + return result; + } + var hash = this.filterByKeyword; + var resultCount = 16777215; + var resultLength = 0; + for (var i = 0, l = candidates.length; i < l; i++) + { + var candidate = candidates[i].substr(1); + var count = candidate in hash ? hash[candidate].length : 0; + if (count < resultCount || count == resultCount && candidate.length > resultLength) + { + result = candidate; + resultCount = count; + resultLength = candidate.length; + } + } + return result; + }, + hasFilter: function(filter) + { + return filter.text in this.keywordByFilter; + }, + getKeywordForFilter: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return this.keywordByFilter[filter.text]; + } + else + { + return null; + } + }, + _checkEntryMatch: function(keyword, location, contentType, docDomain, thirdParty, sitekey) + { + var list = this.filterByKeyword[keyword]; + for (var i = 0; i < list.length; i++) + { + var filter = list[i]; + if (filter == "#this") + { + filter = list; + } + if (filter.matches(location, contentType, docDomain, thirdParty, sitekey)) + { + return filter; + } + } + return null; + }, + matchesAny: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.filterByKeyword) + { + var result = this._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + } + return null; + } +}; + +function CombinedMatcher() +{ + this.blacklist = new Matcher(); + this.whitelist = new Matcher(); + this.resultCache = createDict(); +} +CombinedMatcher.maxCacheEntries = 1000; +CombinedMatcher.prototype = { + blacklist: null, + whitelist: null, + resultCache: null, + cacheEntries: 0, + clear: function() + { + this.blacklist.clear(); + this.whitelist.clear(); + this.resultCache = createDict(); + this.cacheEntries = 0; + }, + add: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.add(filter); + } + else + { + this.blacklist.add(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + remove: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.remove(filter); + } + else + { + this.blacklist.remove(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + findKeyword: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.findKeyword(filter); + } + else + { + return this.blacklist.findKeyword(filter); + } + }, + hasFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.hasFilter(filter); + } + else + { + return this.blacklist.hasFilter(filter); + } + }, + getKeywordForFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.getKeywordForFilter(filter); + } + else + { + return this.blacklist.getKeywordForFilter(filter); + } + }, + isSlowFilter: function(filter) + { + var matcher = filter instanceof WhitelistFilter ? this.whitelist : this.blacklist; + if (matcher.hasFilter(filter)) + { + return !matcher.getKeywordForFilter(filter); + } + else + { + return !matcher.findKeyword(filter); + } + }, + matchesAnyInternal: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + var blacklistHit = null; + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.whitelist.filterByKeyword) + { + var result = this.whitelist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + if (substr in this.blacklist.filterByKeyword && blacklistHit === null) + { + blacklistHit = this.blacklist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + } + } + return blacklistHit; + }, + matchesAny: function(location, docDomain) + { + var key = location + " " + docDomain + " "; + if (key in this.resultCache) + { + return this.resultCache[key]; + } + var result = this.matchesAnyInternal(location, 0, docDomain, null, null); + if (this.cacheEntries >= CombinedMatcher.maxCacheEntries) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + this.resultCache[key] = result; + this.cacheEntries++; + return result; + } +}; + +var userrulesMatcher = new CombinedMatcher(); +var defaultMatcher = new CombinedMatcher(); + +var direct = 'DIRECT;'; + +for (var i = 0; i < userrules.length; i++) { + userrulesMatcher.add(Filter.fromText(userrules[i])); +} + +for (var i = 0; i < rules.length; i++) { + defaultMatcher.add(Filter.fromText(rules[i])); +} + +function FindProxyForURL(url, host) { + if (userrulesMatcher.matchesAny(url, host) instanceof BlockingFilter) { + return proxy; + } + if (userrulesMatcher.matchesAny(url, host) instanceof WhitelistFilter) { + return direct; + } + if (defaultMatcher.matchesAny(url, host) instanceof BlockingFilter) { + return proxy; + } + return direct; +} diff --git a/shadowsocks-csharp/Data/proxy.pac.txt.gz b/shadowsocks-csharp/Data/proxy.pac.txt.gz deleted file mode 100755 index 4192a6b4d11f1766659f9395bb76fbaf2c84ca85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46605 zcmV)PK()UgiwFprnO|H40B~||czG^xVPh_Icys`iUFpvAIuZVl#62J+B(~=5nzSIq zE+m8m0wICe+NcN{J}T=Sj9S(ru>F%tE#MpZ~W*R-~7ive)s#|{^`&E_{TSY*wZw-<_7&QfBRtv z4#3yH_Kk0R^Qkh8JRc9$Es8{{h^9mfu6e<{hKY&`14_XPSqW+JN-6S+ zCfTG2&&8u`DeI#RTd%neK*)+qUWOv$R}u1#*O1UoHYU?m%AyOeB}p*kJRzJ(R)#F| zLKK+Bkd~qBCMX0o* z40)D`LXhxZK|yn{wk~x>!rI^|Y6?k42FW<9Wm~f%q7@}_mT=un0y%7M13@D)zibCP$&n^vwo<*_ZeB;rKafbm@=7~4;38}tUucBCbia!-fy5S$CZ@+>e&9AXQ6|f9a zZw95AD^Ubqm5qg#SBQ3swOKm>L_RZwC68JZDs5$x@p^`#r$nrm0MoH(ahNpkVJ+en zD_C}yf@To4@m)`>WRzD_24^TtRu)N9ayc(?a-J~VN4|@`bN13E&%ToBOO-5P;tRN{ z;vG|4YnHCFTitw0H#1HquCzxrH&6Ui-09@@g!9*oQ_lqhuI4__}V)molsgja8dr(<&xr8MZ zof#JrofI;G!s5&^OyI9C~n3 zuob&naFMWcm-{K0^D)*ii>txtUR7Bu-{5`27#uS~79m~&^9H(Us?`!2&-qi!KMIy; zaM~uJmzRY=fp5$zGjKVHwJhWN!-fi_L6#OO$Mal{Dc?)Vs{z^v(Q)%@VmgqQ-$PD& z+7v0!!OG$$V*aLyi!jn-Pz^Z~ikGWg)GW$qVNs`;Mn5Tb&OR}eXEE>-3_8GsPnHw5 zE3#{$A{r{j6HPb#pH6N&^Z*CukA7W~Aq*2^4n4*-3xPSgr z37UtQ@ary+l|ap6aVf_Y0+lEd&E2-PdIiwDit*?(>K0rBEmiC#l8`WNR#cF|3h*SV z!{c#lWlGQ7k~3AN&(F^f6ICiM7}g{nnQ6O|V)^WdljS{w_E+#5wNfFM8*$b}9$`>G zV0?q7wPRX(EhW1hf^2<`r1BFrmUo|~DNcqDW0s$12t!z_QS&MZRb zu{x;CJb0uk^!~9iep3cSQ{EUl1L21=ZBR5U!Xv8LxuKK4vT<)W%K3Q~n73&*?q!RZ zDby5}3*y0GEz){@2$Z!jujQjeu4zOYPyg4yZ}#41z4f+-wYNFWV5c6#-vRu2-gdYC z!SQ$+SOf6xx8R4*@38Ap|K$02KY1H}ZOU1!R{P|in_%-AItGs({|pY*^}1nS4pBdh z4OMLG_V~~3Ka)wgQa~U_1gef-PHY{Yq7(Df`#(=#?&03>u#hX~mzt+dp-HKH!S+*F9F#lKEH+=iuX0!I9vq>+hVSirCdv$>ntu0>xMkcphg-Kj<2nmV4 z$PLa@EU@ zgxXMg|9J$#uJ=S^-t(x?xiG+|Ck%hgM0Qs$O5*2IR*Gn<6g}ATvz2WqLX6P1n&7Xh zHT8d1-s67?{L*Y^WgB~E&f|;@y>oVd+_&rXfub1SA}Oje6OqMVbH0Kn5P3Dtq*aD3Ltn%f%Nj<1L_>6)*I=KNsT75BK$o$V zZl>Dsk%}m7S&{QDYC}Z!Eu=uZL@`ZHc$vT)+vYQ!AxAZhZ5@PNb*?c@f-~0gc?{Xq z;iqs4wR?inw(smg1KU-KgQ^fAYcvqTy1Md{ozIvx% z%|2~6C{(hzlgZ{?5TAI5sCC6Ti)KnRv2^~4DQ=cu3_*Mj^*#k#X)qaQy+ecWj#e_Y zUwjImsNP#_Jel&GW&B|gw(khLc|up5H#G6Nig|*$fXGIrlS(ru8CWVi$hNN}1S!v` znb#_@r-gwrU(~XYWdxwU@3Ji{@Uy`{8V7DLJnxoaP*$6@-9MW)#PnMik@DGFO$f*0 zc=B!w$uVgN({z~Z+X}MIRy?s*6VkF=Ynj{5=WClOTg4jx7?>&du8%o*^9J8eaT&~D zwFfmiGx^7K3H#tn3-kJ=X_@MaR<^vk@j|V0jF$m!aFAl!ym4Vo$~W7U`kB+$mSc7s zkApjxTEg1q!7AZYkUt*%EH+vm=bu#SWNCXA`G%H5m2Rt+$O{66oS5SH6NOEvvho)DoIr_~KsB_J!8SB-BN8KF42o6w z3D}Osx?VL_sHJw-EGdzrv3%owwGu|&z*>%Z)-Vcx=A{Lw-7r%1SOeK>uMJY5o)(1Z zvS8jPy*dpO`YtB%q%9h82El|)5qtF_{PdJhCmnzF|6jj z^@i5PMF}`#$Lr~Bm1Cp8m$Adi%jBngJjM;{4Xh-|In-d1c$6U%%NvhJqSV8jITi?= zolk5VZ@}`8U$Bgc)o+0G#1ZXxu+lJO>eU|_^wQNIcmyxf>eppkE5-SDP#6V&joHq@ z02hDnVA#BIFt9R%L@J;tNDqIHXnIYe!`O#@fl8umKbzhymbq9=lJjWiO15CE*C<3a zD5>Qu#(s4hzm_vv=71B%t`(<@q|H0TB=MyKKJO1Js3DA48OQ~6CCuf5fE9_7MX+egI~|5OjOCnSkY}*SindT5QmEZAp~4ea*5U!pw|F^O zr-Xi7PYFiH@}SP-7^Qdo@i2l#xs3$m4{~9HCN+bN6H*)13gr({F-|}&;wPxdk18Z= zNw}1nflcN370v)TLR}~V@k;?YekG-`Y9UUeYMftCSNNxLGlpc-p3fGz-rK;z0yZik z^SY(4ys_Bpm;f?wsxhE??1lh$6bx%&eNV7ppt@jF)C?tq4;4GbRU1zs1Pcgc zqnVXBhgWXYu3Qz3&>t7RW=0qJS1lz(zVV_wb4B0 zU1fpSV^HlItKr5XX(nZ}QmY~3v5?fqP9Esc22?$93~3kqe!nyAXRvX6;&LO>3OY~& z_hb4`0>bo!jihsIV6$W7t2Red3_d_C zi}pg=pk+1mOoPyn=t*S}!;v~ERX^wq@F39_0{wT)00FwO-(MjN(8|&4*5cpV{9D4m zA$1CYY`yQudl`{cQf2!q5lkUeN%YEuL56G?=v9vfdDWvqOlB30VQ&oL23yx*}#!mpfU z0rEb&bjptfjpMqC$CW+C;ouDOGB&)43%r1Ye!F$O-Mp)X69r9ndwhP*kiF0CJ|%Vd z`Pq^zn0hkrq{R26A-xF`1(s@>=(Uy3z;$DF#0Tbl^8RSY_I11oH^-e!*2T4G({82c zTqAB%k7oUO33I%Oc0uyx#ZphDPYlx}+9frps zimkeRs8*cq!+Zziy`Wh>x}ETO z^&RZ$Gn-`WorN1EYKB0nJkvmFJHf^-UK2Q*Vvvubsvr*}e>@UdQR*2m4-_vhK9+FGWW zw!vZN?VN1~rjtA4+rW1-A?MDv+wD&aGQK};-5CedqL`NC>EJHi;dpZPr`_Qc zEQslJa`ys%zo4Fi^@2Qs$=!XAo4{R9$IZz-T8`VTJ5R^sWDnkyXE+P zAGl?~et&d}Lol73B6@$=Y}}Q3*eqz4!{+GD_#tqM!@a*gx-;%?)(c|VERZVxX6J5T z|KQdO_Wp6ZAg1Gj5$vD#?wEqjg6ZBRJR{ z-2)-mZ=8xBm<|i-Y46tQ_Q7FE6&#jS!NFg^Md!HfV+ zY(Y#%_f&RRFPNnco3*>1APs$I14A0Rr~Jca@7BZ)+XbfEVY?(xP*t3r4lM3j>aY#g z3z9qe?&Nlx1<66faQ1@3ZtGUppcO2rg57>Wf7%_~b}*O@?*6npxux%6zg|#J`;FU& z0VcQZ3nsS_2&V0lV*D=X-f@#4l6>QvoU)b*pG_l~|HYdTf zKvxM4OGjgD_Tra4C%-yxV5D5J;Sf*L>W7MPRA1x^JpZQUdIxL+^_ANOv50hktO(Z|CA zbMm-Ec{nbaTaJh0f(G`NG_b#RHYb?eR++zBBE)t(x97p%9o#z=utmzP ztN6PGo21|_aJzB90_`S|AGoY}YWKf`0|yg5@%7=~yu3Em?jAlY0rzhsaovoWG!|f(08* z{9uW&3l{AB@Pm_k@di0^yL+&qVL=rfw{CL^PPhdPeB2)wWc=V>Qv=fib>+BVlQo#! zn>yeaTp*=Sn*~biX&1Pw;B;7!@za7WEB?t}Aj(fml#J8S?N{(m3%2|Q>$Q7>d;mS# znekw~b2m${Ua%b!n|a-q5_U$oEr4LNz!w{AHts$iY!1q-WST9RDg_D%%B66qTp-J2}Hw7}jv`U|G~ zOoEGd}3r@b<d@TgP8~>$uT>9KQ9_pQ%57w)xiar{DVJ{#!pge(QMZ|M=-IUOY#Q{QO&|pMF)u zz7B-Y2=U8r{mk$GIQ`d?E!2!=Mg7fNc(EhS**pG?6|nK2hBw#ruYU^|3-}J)r#=r@4Bcz{=r}W`hoxd z@^}3F?RziAzy8(xw)frde7rI_M37!4(3i@F$W_g}#x-IhQU~ZZwYrj9UDqAm>4h?B zU3P~FS&+J&W(HO_0@p%!y%}n)u413T)mbI&G=Mq|gyaSccAZ9b*mf0a5RQ{iuDIAd zJXi!F1?~qxMW72$BdR&=4Y;6_t*$r}I&3pmTQ@QDSF#4-RgN3rE$|B?KzC4%owmB# zR^r$s%G(|9C@0LVbw?p?>JT^X|k`)v&5ab`tNE@(Q@=Iv}7rSY*s|DnR4cMs^nGLiy zU?*EofYt_X79b-VNNwO^1Gx>@Woa%pklR3M19qKW?X35AFiobnZ};;X=C$v9x8qe) z9E+f8;GT^qJL7f@C=O31pR9SZ2X1h~Wo^&!{0tM^Q1J}EJVS{KC!XOQSEk|r2FIX1 zqw_OLFo`@PflH`xFWNIw2d%5$@TPvFi~g;jdO+#lO#c>7J)G3iJk1mBg?;cI}`0O4Xtzg~b+&z-+A-YGUAALlF7`(XMv*S|;uX+JPiKjSaY`0|YNXZ(0_{^at>Tg;u$bB@dD za6blSG|XPOOAhnXGpU{l!21)`pBB%whQ^9}E}nwpQuC+yCvK2^iU$9yZuo`cI=1H} zd0xcx@_1$pH&Q&a%QI`9S^Lbc&pgJ-aL+t>=9g!lJ@W!rjNwY?XAaWsiIyt(v&e9r z*R!Z`aqtsU-m}V{Rq?FkvubcI94>l#*6p*t;nE&lDS(TdaF^0kUU1v&Qx>=>=_za6 zy!341XOlde%d^RFcZ3VZr-~rQ=W#Y zYt<&#+-JOgmE2(BLYZ>h_H@J5Qo|TC1Pn&OMwWoS(%p`*EVc+n?kF#DaOPm4n2Q9Z z8sikbbe;wSl-V6adNo%;RgKgk5^T}&A%jDaiJ9!&VTLAm%K^}E+$g6#4~-no8#cs3 zmh~AI3B6!*m$&L{Go82*SrgW+b@v^l3BnNQhT740NJeF*V>g7mb)S~%Z!y1)-*eKn z3|==8g;22}LYy|k*4q+mUA0Y{8PPQoZQJZ%|(J9vdU_9{6e^O3?rL# zF2=9GRs|}myogyMhfhM^S~^Ee7{*XSDUHgAc@sIMKf0SiXy-3j3t4^dFRvMqI%&J! z;1W|R%IQ1aw1!|opSKe=o}Z^U}gOp!}eB`FN8h`QNe`iACezf8yE&5X_o=|cpc*7#(`4&>VbFbPMuO`rWio_ErorV*6 zE|OYHr3p!2L^^@*=g)`tiVl!|Y7Lv`t=P3p=4|5NGR|s6w^RH+?7(O}bS+1IlI&ZQ?wggR?mh=G7eB&c$%8 z#T2b@=|cLZw^Z=G{C`b`%g2@p#0dD&nXtkSZTv*hxQnw^tfvqQGQ z!t0y%ze01a_$+>r^XxMTK)9c0CE%T*L5dlCD$g%MEmSJeZBXyJC0FPEWVn{-EkP-6 z?}=YQOE2$f;yo#2pYMqUZ~1$w@|ejAHqv{R&VqSQS2vDec|LlVO1E`lAW{|UoV7K% zW=v(s3$ah)&QfxJX1OE&ll(u*M)=z{Bm z;YdZ^r}^$~-J1)Q-&OV|6g7hw@IxDhD{#VZw!$^8LkSQ=$2yIubC@V6+YDRk93jb}j22AOUPh5DD2D;SwPUUm0ycEQJ&FX6j4bX666KY>}ZPr*jH81N+w>QE7>qOLo*r;RBFsdsOg)(;F!X2)RG(m84Wt)#d zd|+0S>t;9GkW=@`fEbo*RZIYqxq*cuB(J;UI3N2>ikmer_@_t0xvX0g7}PIc#wh~m zJyZtrk19g7>N-Hd&hj`7h+zpT(cPkGpk@P^+(OE>VLiJO+*?upAQ)HoOyXS>@m z>-KVW<)Sn@gSLB_t2!`MxXnZ*?Ln}G2frrkg^*n3C%tGAA0}oGlGtwB2Qr9XTX&4_ z*ny4XWi<<%E8z&syWCE?|4v{3IoidtgO?vA8(y21O16ENsdX4k<>YGTJyu8Pt>@}O zGaWg}`a8Jpvult^Wp$p5qVpCV);DeqsKZ9(+q`|DH{KpLSzCsj3cfKoFm40Ls>r;a zPNpv(n8?MY9q}K;dP9N>i3JOBAZf!~j+rIy{GAww^Y@VdoNT7__YFGytq(YWxJ8tP z^i9Ei-@k-oZY1n;iI8 z;2+E90U1(JDwL%`93LApi0Hd_T0?-X*E5xQS|7V^PuKQN5V3XFX$^E$djYaG9Ae!@ z5hF4HbHq#?Z?hCwm6;+hhku-t7AkEEdp;8%wJ`H4;UOV?qNMKk)oRR@$uhDEE zbg}Yg3x^(_GPg}~zEMo#qJ5LmC=yzR7y$RN%2mu)sepZ2h;E`VR9hJ|kYP$TM=!S< z$A+H(E?;QC9NQ(>&OcDJxKU-0MGbUH-PkJY1FF~NCal8F@jTXMv>B&zg?SnA*P^w7@gc#P(N^X3!wgjei71d#( zQgPKRx~#|^bOoaakqR-8VM6;^X*SeN24T(B|KmD%VUvw=ZwXp_e38&&Nk_r?L>?AI zE)Z!{DSJn$&zQ!pe4{ApV~~zRZBM~U@`&$Rvem}PrKA#vm;Tx_Ja|l~>Z<`(ufCe; zTE<_+VMM6D{P(*(PpVm76Cm8#7get9DoY7NPghusi)!z>hkvxTybjYh+T#uZsDM9tZVVZUVOGjK_T!FYlp(9t4vUzL zEkk(cKH*5zh+&3gWms(|^^>J=lUsQb5k7>eFfzwZK)`Uqw^lhX7<{#bW&MTHT4y)0 zX6mb}!X7s^ZrHgRbT;o9?O{w8!>llDgOn^8H&;)Pcw)0eOxrEPdh@ldEqRkTnjP)8po!!RQbX&Zqs z+<5(tqC%-UALwHr=&hZ0ID~t#Bv|PyBFiIWJn(%~WnJk-l~Hh^eak#nRZqqSNJ)u_ zO&8l>4GU9tF54p3HtE!WndLDN6tJV|7i$h|s5KM1xmidn*)+I;4f7o`7@G_W3YS7i ztL#m<>bDXY&i>QPe$OyAA`KZ+zL%t&tNSTMTl1X|{pi(elW(kSm$kZBUy;YKgrGUw z-;|yqB+=uDj}@)$8|c{RD38=C{r;CmZ)zDzeo}Ynke*!$2bK~qX=46 zZ5ww^1j8@U1)KH@9mMZ(c+mujpe*h=^o>!E>9OXHEU49{f!)v^ytX1~;Nzl2p^21dqL4HbDLXj^&INf zBt0e>_WNM|8mOO2CgJasxu*+3DXi5ll&jeG|-_w2IO&iNqQW69@xw6=xKPv#wL9QTl;NXpk6q$CBKorx^hZydpkG1+>dk9CH~q95l_LhMci{^M>JXfT4QMYGy`vc1Uh0`pOoo(=RbiLm zOmCPcJ{7E%B~<|li21nYCguhOx2n-#vzzo@VSCIQc~uN#GYMn$8pvkKjKup2$aK;d z(!i71uWJ}(of1t-O)15k21Q6FO&(!^7iv^XMhEaFRTG#r9-4V9gA{{nI>PEKRHD1K zTn#nXfQhx)YXw5BlaO*Y<+nXW6d z<$4Um6N#3mTh`}sg=*DN*fLXV@tEPju9?&%s+a8aNGH)M1w2-AMv*AxR_55*e->Fj z@{}k_lT>!Db+Z#^i@ad@BeuQ(0(vhVr1EAV3HL^3^$l2~m}Dr{?c*Oy;Ng6YX_uR$ zp)6-=*EO)M)Yc-B&^t8Fd&C4T8iut_vr1}c1^=YsClFLxlqE)gE2)Q%u8iPS8xw}S z;;XQXiKM(T_8^^TKuj}{6A-ls~Fga8hmUqVL0@mkR<%M`461Cz4 zhc1=!4u)>rg)F?UE*S1q@lh~X>6E49pX#Z!|IeYG0xSIE^=rX_bUH3mXL|Fw=mUBzNTQH|AZ<{_Zqj*K!j!r+o`xn7y^h`q-hsB^8=IJs1 zsl;c_N6-bz&?PN%^?AHWtiXRO+Y+^4!yIcdW?pYNIj2bNu|K7lAV~;+d#|F~ByDg_ zwcI( zWvw?puL4*zsb#FP!P8?&RE$Op>4?)xn1V6;(qeJg0|`|eOPYlci+PP2(gs=e(2#zp zw?~@S%fkq4gBCT$!&se%2Vm6@$qXch2Hq9pqe?H?Won?(HkgwNddk2#o*n4-DNyCDbQ^2c5Xc!zG8UJrrEUrx z@ikK?GDQum`qYbZz5|i*rnCwL#|RxNckFypzNKlio{P?kFn~3ad@&9e!If^WBYzdHjlG;Comg(IDW(vSzj9-Wa8bG{=?e;0b0{tE zSD-Ly$2F$b@-d0X&i|r6U$FAgkjCwisq8X@ae8GeQ*K94s$CVy_~ei&Xc+A(ouUSd zjhQk7c0LcNSK%%E>^;7QSM7{xi87+LVCrQIwFpi+YmSvtI%)K)izdn`P{UhB&eYKA zqta!0J*(InGD)h8wKK@7{{c2^WpX^ykT^@n-laYUhkOv$FVvV-2(Q|3!uB%2M_@DAy6FML8FS_h+g_^LmI<@4b|)jmxR`OK z08(iaNWEIJ)F8&iK{;&1)4*5?T7Z6?>|zpYFc(v!9xH9uLd8 zGml;Jm=v&N+TAfOo(9#>Q6EN=;Dka=auq7N;13de8*w#yX*0Hvlb!q9#7xkEwb|y( z8V$|qKv|ez6aaLc(^eZe84}X>noB!&ea*d7epxAjO_Rf6KkyyiX%B2;hAkF!x-{5` zElwHg=H+pCoa?e0He?tcAu*zHKNGYAnYO9nDbQw?Sg4ch|$ zrx%)p#4dnZ%;e}rve=apgC8kglVqq?&|xBE@d_vLMEX=D1$7_Et}^1wL{_n^jCl0v%w5{i)4L%h6VKxs}NJe zs$vyFe-&e!Lo8z3!wP=Vm8onK|9Ja^9Yeo!;N!b?3J|__$J7JwL#b_6ymK^Q_ojww zMk8qx#whZ5sBf}nF*N2FD{G}|l411@o|tX7bTghaZt}}`)gH=jGpxr(E44da`ya_r ze~+WbuA~|eq_7dbz0`7ua-;e6{L~G{aTy~vUKliBahs6_1~-gNJK5+qpp^B@^%O+G zwC=YM8wlD7?>;)#x@Av@ih(rE*ep>&308N908Vhn%$OLKmheC4n0MCScVMP6kxdOg>cKKcfeR;=2G zVWNs45MtCT{mfRO*|15|uAxvW2K|v7*T&DsDBPXSt^+c#DDPZ8dV}N6`k-b81f(X~ zQfA~-QxId&vJ1|~pyrlgz#%D6yHm2DEv1UL zzCY+rX9YGT>^lg4bxuAl#gt}(N%aAT9`j+;r*BAuEWp{xRy(~RNBwM%59P<{G)$DFJ z>^we3$ENE9H<5R1aZ~<=wut(`%9vN(t077?UzsBn45683JVNBdQi=ggpeSzWhW7z6 zEGf7ArW43}eKlp?m2=Z%yL<0B3~UsT_bHdbOp-VXuB|hYAa7|z zup=md_NEaV$nem~Vh*9|2=7iEGW02sW%xACnozi|Gv1C6rPo9KPFpCrH58XY5*db? zW!?AKGz*3Ls$R~h4r9{5e#Y@e_Ox>@CETOtwK+#537nrgRvq*NM>mcbXv}2U?gk=E zlFj6OO7VKjw)^5&c6#`6M6B}d!HOKk51|iHR2^Bjx|6N=YBxxtHV9HTf~RrCum7+L zGbNco`0}}Yi%v^x6HOX5+K*kW5~NB}36g&isr@lg-psi)-jKb{#IuYb4Q{M2lD`5R z2C%`lW4<1la2d?x<$!Z4%#I)pv9nr-rt6gsf{2ZG=7qdsHOLUqKwaeim+lp|VKAYP zAaI6h9lg5}#TJ574idOliav}-yFS%nGkRooJJuwjl@W#>cFUHLI#+kl%}j|GvGq(X zJ#~E!^*Rs-bxlX?@cI5n&AU;p8dBYexL=<>XtX$<+FHcx;afpJv+3ZQ`V`*I@QqDJ zh1!M5YpU(MA!t|~h@KjC#Ne1&b3sSf8-mySPF9#K@wwKhT3&=qFP<8?VJJD8MBl_P zjc&RLc1(EbyjGyTi6a_t2{ECS*`vjH)!N1ko61dpg2snM`X6Uk*CV-3M1KuDAa(c7 z+}UOK0U^FY;td2ZNXSXtiKm@78#~jJ))l{Ex?&rM4E1ysIKIb_|%C$&H)q5oLi?`ay*3o-i)9!8S6D63kad++)+l zY8IcdBT=Ewebb9f{#X8(v2RQb{iqto8jp7ZzOClP4tl8aA+Ck=`Me$ora#v#EzE!g zJXZdNnsT%gW^g{XjkSi$2t0yHLi!zj% zIHDB*_IKmwd}oK8W4c+?CP^p*fjx9+RGTi5=0eTvLdhdk6hB`@ZZez5Tbg!N`D-6KYfvVzqL~}L`&l8trlVq z;OxI^9D|q9_Q4H1(mS|$(Wa|uvB0gej5tJ7n<~jgNlLDM6a=lVRW?xoYoibtgrD4p zje&h9mWykAD6ufq{Hgy3TEJFgv{IL&EUPzGHyYAg5IWZ=`f^=RFrPzk-AqR&2aw*3 zW5g9I_ZpTCAlj#|A0fc*Hz_7uS>al;14gJ4Y>zPO#!8yv0e9sX^oH37xW%yJQW=+i zCGyd==C9!otD@c4lN5`~y}LzLnA zIke?i?0vjU;{@J^CY?5+nn(gAkdC$wz_BzeTYR-OCOiPgvf)*spSPXHtb_%*izpGW zDAp*KAbIpc!Gt%l)f4<3peBqC3u=hR)G>}m$S_^SIsPQr+E?qFM@$J*^Tc)fSE0ME z&J@#(io0@#GSgL?-Uze$L)gX`tm`%zTL=y*PadJen?4(1;~PCGHv9~7NYMki4_`Mr z$aTMomnZ{Mp$7=$Rk;bO<6&9pDf6EwoyRaKH02X8J+31Sm=x9Uw%#Ld%|#0cS|%Y! zc$STqX)grZmQvbd_35^5kqSOW^raX8!}ITU@NatoVa0b!|LuRVAHLn-1eTdqI8ZfkN zrkV4Y*?oET zBHEDSQDL*2&~$3_Q5iOBH|59C!`;M-_p2WK-5N~vbcA64O~Qa;cPUuHn?yNww+(S~ zF7d~QBoIsr-@wMCUHBN$F%pP3qr}=>^h?roNRmlBvtx#$4-NIVV-|OdrnMNCff$EN zaFZw`ek||T8O}%H)Yv8~@IT{Y&Kb+f!^POzjeAj<9?>iHuGXiy__^$m@ucJ#0$|D2 z2M`upy(#xjjKsJm`NfMestBkcf6Bhne$@3_X=E{2&l|J~=(3g`) z3;_aJ>Om=%uN-5em)*%iL77f%WW#q2jmOP;!!ZJ=YZjSMLc{ zQ=6FNxDIT;?231;Rh3_Cd7P!Gd7-t3Sm;^n_CAk;rI$3lyq9*q={zoBcr!T1{aU=K zE8~~wuUYFz;OM;!)yA-3ep%~X!1}eyX8dq!i~xPZ z$M&jMJUic+zSn_2=BpcSoW~Zi2dj#S`mgmSXu-92uXELw70cMD5>Gwbq#uFLq7MM_ zx?GQE7eg8(A3=I6SD&${%OPx{ARLEpDg)d0(VXG=00`wthAJk`o#%+l(+Z(xJ!>jhqSXa7ZJoFG9+<_i}ek?>2QfkDN2ziRwNQA5)mk}j*;T$8{Me~dVM3nxZKLEF2=e=vdq^CN;c~1ll8w&hE-~HWeFlopuH#-|3z!f51NVWq6?IkX63s&DHj3HDaf>TT|HnU$k?cnk zH2wzpAOASv-!F4$>C-)XQ%=1CGc{e+x_C%%QSmy7Z=akkj+Kg5oboIP< z43~(U1ZD`olOoeNL9b$!yE(BtSqKxUZDZ575b>?MF8u0 z^sK%YP-}dH6{Uu_nq0@OHy`A|wfHm5N@)XyQwz^iJxgzZV*QY8+O6vO6+*W=3>XJv zA8jGMva`1#71(1n*X(_!EhQmIfjbneVi09N1)72HdE;bE=ClBh#&W7Hf#J)*{96LS zdv)R#%;;^KL8Z6YdDuy8^d11pQlN}(?NqbD-6fXms;UU8@h?O-g71DVF)_b=Y*e<(Ax-y;iis0qSBngy3!Ab| zaC<9_dv}Pu=(Hb?CPqg3`jciUi=#O9h{wKfs?N5I9`6s{r?N7dazULj35+Uya zRih}-$X(BJ zBjrtxAm(eaGG+mbqs;2IZ@2}uRz5NJ3jaBwC+b=y#bG{vb4q6m{#m9` z7cchuXUrhKdiwS0=TBe$d29BwOg^;9E$#ryk_v71>G}Cy**9M{&e@&bwnzF=zhlnd z23cI-(s3}zxSWtF0Nj1;X)VPt*JUZBL|>&sVlpTtE$zxiuvfu1M)O(}FjTWf_#5n@ z5gX8KV`ng_d&!^gjLBK2uO(M)3};F+Pd_fA48HLp4)cBo1!E)&kyVM(PPP`gLT`fNC3f>-6BqTJZL z@}Zmd(?s`&-CF0H!|Ao_WS+8Pu|cyIm7(mQmrHF1SzK&&ky?7jB(OKu^afvQ`zmP; zrwPgz#+!w}$)l zK7LkxHS)7`WIwBGEM+wK$1jlbo74qn8EP#<$Ft+t?=Yc>N*+>b0oH}--esHawusnSJ3pql^ zYnl_erog>#wpifRCn^-JNyl?$lMr~OYKh}=)p455tc5S$sWHlD@t7JxVmt#%1kbUQ z9erb*>T!rUpdP6{bSvGt;*BT(<(C%>cYempuYj-L*3;?P%>nn0ovXBrL=LjnmRl9b zKt*bUe}2z40UTfHV+V_>F;fnuvgQn3&ImcJXY*jts%&I&Y0P2-^6)2omz{eN1<1_&bE`KPte*)y#ixaWKP~i*7}|YEgD~S!R?)G_oL6Y7vF*8l zuH0DvcR)ZDWJm9UY#117V zN#{1!TliZLj8@ftS?rm655@Os3ThQF#$9v_daDCe@7)3Xm<5H~8VZPCKfjJ1Yizdl zrLn<155g8~8^R1U<}HqXZm&cEVc-{#QzMZ60u5AvZoLw;RViCbcbUH|S$L~W!YicN>n+{eGN4G*Q1&1G+eBJm%AjD9wEtiDJ> zH{ZmaX_GEKAJQtGhpLPJjyg_t1#7s(Y5HG2lB02g&IMy^HCqm+;caAD7RJP%f8N|1V z_pxq2B6``@gqI0aw|G)B#Ty^f`lmksA>ekzLAN1u#809<` z_f#=?`WDkfMGRxS39B+avv0AHI(e&y1Q;q!_wB8BprdTK&no!v9dr0v;AANsXvD!`a7>j~;>H(HC_y9CxA<9ITTc0+HfbOIq z2D&l&m^NK|awidY3W&KklC~tU-`pnmeK5P}Whgo#=t=Ok${X%rWuJ9gu9BpHxhg^q zG`XO4b>m>(F$U^E4QqufLV9T2Y}Si=;-5~RemK3G_qZ$Z@zoD0^uz&DpYlpEUufY| z>x;Rlc5hutq&vG!r)_rGGbyvX(u7%o%j2Ek_VgEH4JM+$Da=UI={II5M-xt;zkL1S zepKMtgw|%IfYLAU9iwsvoew^XmJP~>!LX$PXxWSsK@Hf#@(4U*6s4g=;~#j`*vCP# z*RB;sndhG6Q-(5=RZ-RF*AZ}Le$~Od%^ln^-{3k?`W(76`q*h%RX>s6eSI$8R(luq z`NM4<<0gY%SeT{~u?-|ul)$iU_+QHF7q`C#L1Rzjc~vO6!2 zTu9X9uWHcu;RUXAcq+33Sp@kh_pNm{J~f38F)fSyk2eX8bstpYpuC5-4-VC+D6leB z=KPrB$3{7AckrS9VF&f*66ary+XsHWM|O}6TJ2EqzEBND|NQCY+a4LqvuRM^+7Pe4 zzA5+k-5$^Z+^l9Nc?p5(wY>2uSc%lu70SMvX1=1A(6l;4&4;*Kw@EYmI=Jp5v=}So zGY(*2i4aF^$-?z1vtJ{@^b%xp<`U|V_AJOUxbCXzaN1Di7I%8AbAFF5;_d)lb zi`^#x?))*Tjv4Utaq}gd+i~r{ecX^aFQ!SI5OmX~P8D>{z0LF*8di#K&u!7DzMmpS znOzEnA$8##Y*h$9_6754pLIjgU35EBqve_;%I1zLf{FRn+-^I4B9oXMUqQ^=0Iz(R zL)=7y;!A#A2?MZxG#C+9x|l@Db$2?FglIVjyF+y_?WCidhoFr8C$3icma|K~sPEHF zW|s+>HC;)}O--m|l`e;bGkdmjFc{v}siSR2q^zy>#%e};9n2>7P=*CFG&NrQ0Zd_M zbVV6FL}5Kp`FT)nt7sn@P*(*RbR1~k7>{yk3H%uSzD{1FA;Z}W$*xJ_gedO32{f}u zCyDaEFkrMqx74I91UG1*^zkJMv`SADtvDb;LSxs!hw!AP-rx0be_4=;Ft}1S%np@#~?F`_HiLh2TY-rqJH2HtJoZw9bKcO#eckHrflY_W<(DYtx13l zQQ`~?b_eOb0L&}YrEMJ-JO-p5yZI_r*{|PP*(kS`#^WtsCaOBqY7zY3>gBZKA;!0) zjXGU6?koo;K95f>Ak^G(-o04UXLEh@#ZGZOpaXp8xg-kS26fT&8Y#tHyT#(gjP0WI z?#=XL@hMNZS9hD%6503K&Rcm@FcG#{##QQ|swH;IB708jaoyE!xa|#W>QZ~?|1wU~ zP*{J%;1Bzr6I%-U(gDlhgCF;T;R|B!llZsmyuc)8=lq$SbD!^Q;+sI~F-4T&ch6W( z-40Ii=iA3RAB~QtR5T`sF`vi~b$zp@p!b@TMJF>|JcFbK1qwF`AgRyLTDQOc>LG zi{Zp}i3ajAZs-!o$8jPQ8WsA+Q5<8eGcCzRa9%Ddya`RWffy|Zb%qjfmm}M*i#kM3 zbky5?eef#z*iDAME0%!w12G~Wr6U=K^LM_d8XnV%|3K5-W16WR(_Z_>v{wBG+WTXg z{}1Ux^B-u}$Fw(kKPikCnrZ7DvaR;XKc;1h6pjGd#FrQ`A?tT(r3Q@8u9`{hl)6it zdyqHB=(&FHqi_1FnA;jP)htG0V1LiGuWTTp0lk{8IcTbz+iQ;v{$sKmPllFMz}}|A zz)*SgqsWcG$f8Ve?BYvcW^B|eFQWG`t;%#|;d;1gOo7R8zJ0r0TDtL$QkM^JT+`&zxIIs5D$oaa88eDp;_bdnaG-Dux%wf{4S+2+M~-8(o|*fgFBzu zlNNaNq*fP9`GdL94OWdgI6f8+sH${#P}Q3jSE4+k0M{itKx*D}xbTF<{nyi{pP!z; zoz8K^UuY8prX8G}+TN6Y*+Iz}>-A)dN8UtFNH5(M1e#e}@%gq`LNN1M=9!M2qIv*Q zVwtpu&KRD1Vr4jI+n6*;Bp6q)?0G|IX07S0AD%IC)W!GXpi^KQt^~*fjFrhQCMYJ9 zlKFzq#NHVw(3&?IR;E>0QK{~*yPb6>*H)E=r4DGiH5>ztFlNiI9e{Y?K)5l2Yt7Nh z%ZDTm#;Z9SId4g@F}DJ%QPm7)*4Q$97{g&Erl+(m%&uO zczXK$!w+}&hq(YG3!<)PrKqlPV=h`P2$VNX#X4iHMZq8QuFWnLSTY3N&lsHI#(X9= zsJk_Dxj&0?dY^PMoe!!DtEB)K@PDdrGq7tyf?9&o%bT7LoW|?9=Tk}GdsUnONXaks z+VeNE=fDg$cvf=^Qw=@tKxSm{Au8Z=w%%BH8*1JdhZ(KGj&0t|j;Xxw#&!Ns*!bf!VBX}tJS zbw2(6;pybZ;uK?@{xjNOPQF*|KR>RwMR{u#=J;{b;F%SGT{wbx75v-q-Ws#EOvL@P zQN|b{G_&^leiif960jlXWWg~obkp6{jZo;0{Z12R8YKuSZJOj~ZGGMX#dF-{V#6-L z+BuO;kL<mP#Rx}epux-OuG+Y1IU1+S8sb!wm;4m3%;CEJDzL!-`op=xV zxT%0I!)?BAUCbeA%^-lS&1}%(*=#MbcaRu^*NU^hQYwDNlP;Ldk|-^ZFptdjAk-xqwQ!fcxl0d<=Y&gsu+wuo6Wbv+LFy$ z34`E=Xu4>OS!F8EX=IRGD5txd{=f$_X%SiraClz(KjGOZSXC)UG+q6T5G;!-&En#! zs+;Q8yOV&XSyD3^7Zd!F@7MJaK0JQsmz*#`4k~P7a~_*1YO>OK`9IOj(^@An&;9eU z(yQk|-iQkD>(f`hL(m*bRanhX+@Yn?0LD{fJ?qFu`OA8X`~IA%#f_+V&KbTveOqT% zn8Geva*v7r<8F;pS(@^m2rMEVDIixzrQ&eT-xawHZg2Of?2v~Hds$G!P8mt+xYM>|6s{rEw*9rY&+Fhr&@lS2f`C4Ka0hR^`TG5%F}q zNt8Ywwr9GoM^mLEz1tNrjC1&3y>5|whq?0RzN`n_1&UC;hZxt=*5{sYm8op$CPzaB zVAKN`!Pscm12|P2xK}MRzODPSR(|@tQ*7R;T}@he8iHW z?9QcU$tMsbdo8JFoC9(dB{BG;na{Gxqy45XE2=t7N!&jGY#4%G-32cZu(UNvnz}PV zS2_&N1kTHaRvEhyT=km?itCy7)z*oD%)+3$ea>vA?0Do}d{9EhSvz`@M+4IwHcLJo z3!S0lypT;$?erEsq-HoXef^r>0K^(PB!bS0S111gw4@Ox%*Rbj z=rha-Q}C#_8Qjn+itDs@Lph;58ry0%ltqK=scS#Ie0~1;51$s!Ob#YkeF^~)3%~vF z`Q;(~>GR8{PhY-1q`!Ro^!3ZjDt&#lIoK^df_Tv!08=7hi6&DM|bJRi;K-sSs%@4kIo59BU7_C%KhF1jmKUv-|oN4GsP@BkZhWr}p7KBMVG zTRL^<=abW>Tia>fIdL4*@B8#O->>z*@ac2(m`rDgJ-$%7pS1P4?v>G4q6*vfE*v$c zLp`W-u0ED8$$KY~2JmxJp|o@fk_S<)l|a6XhWV3Oy}6K(dxS!aN8^m6%j-BQqv>4K zy=1L0Ev@ANS{(|)P98gyAAzCIyg9{L#)cike7aVdZZ|Wu|A%E{p?zS>w}+g#n-qw? zoC@cPEHv24mJ3h0MxoJhw7YZEEymJ}KCOl6BmXa4F~pg;u5kmIUfCd8x!<@undG4H z@?pkF+)Rr?(Qol3H0w4q!{ewoWon0E%(Zw$V(3`ZcL>d_u9zpI)7>h)&_G)J)8h=W zN-zXvx85#W0!r**72)=QBv8T8VG6s%ca~!JHDB?cUt3Ov>yk zs!n*VB$H3S@ir6?a%M}~>nO(qe_*n2=nm(Og??w zy?v{+IMF&=P?vy9hIv2xbyDDSXt4}yD8n1485KaR}A2w2jAVIcWhP8SWq zS}i0rH#hESe0$QTV)%4)q|)MdKlyY1u!vw z?9}HGgN%eG((x`f&wYon<`n^mIzq%FqIWUy$})a-$xOG&%Bd4*Gz7V z;*rbRf=6>xkjHc>W!<`)Yip29kjye+2)mY@n0cJ6lDw~ zZoNZ~DE7|9N^(xtRTJ;a1Bwwmb9c>zUctS)fvVy;k2mr7^yx_;&tgkyftcybSFDCs z&+1}|J(Y<_nY|FVNA5#V@G#-6k~P#-B4B!f#LKs>-s$H=qXbT5;kDi~L2N0n1x9jI zE=mS=Sla1cKy~%gnnOpMWXtb<{yzTjCArfw_H*(~dW~majQGOQy0F|}PkH_)g2Q0> z%DL!fL@&-|HJ1qXN+b@~9T*5CQjrE5=UUfR*XF#g@#in)*nN75L~0j2qiZ8}`^yTf zl&i+4Ewk@+34{5~ZYWn9eG@h?fJRjgLw4HfE4xIvN1=~4tbgu+M_{!#?Fzaz%0;+Q zCfi9OTW?qc-C{s`d^ve1Cg8!1LgiH@@L^=%D&!g5ST>ycb_&uTF`1$1c!jU2%rBmct>hKv?W;-WRbL&xUqMoSx%01V1|5v%rd(+5d^dH{cXv~344rLGAQHv+@ax9L z0!y?UILFwN9Dan`s3hbBX~#-3TcZa(l>+V5cvGAj>n1$6c$I-2#1`rtH1Y8KiQ3>X zB{n3e^J!duGpF`EnkD`^`m`(+4uebRQ8ZZ49eYPcQm=fp6@(QO2E!M=0iEKmpr*7p zGYQk!E_Q84Z_1Q1TLouqLqlz+_cJxi6`hUcsW#*hrY(a>xj9kQ`Ln2_Y7>??K_03qT&T*Afc&D_+Sz&mINd_nt zaAx+6Im;R8F&xbLWdWp$e}k60qD zSh2q7sEUm$s)j#FlSZ*zS6vJ~&}CeP?}dA|;V#P0kc8l9C(aR2S6MymYL`1SGPm#1 zkIOwvUfH*8#G3y=jHJyyjuA`|^|!Uo?-tWq%cpCR_5s+nsBaiz1ks$^0No%zd0!+g zvD>uA6`%B$GrM3pGl{rBmv(HVoa)@w>Z;ZQ=F8NbFT+W9q-WQKHX znYbRI6G@j!5;W^Dta)gCj!!ms|$F!dmx2?j0UdHZdRxE?^ zjfdhVEXW{)Ho25!7-_xRct68~v(DSkm$-z!s)mk=qMUbsJz8_lvP2+YncR6?R|0_8 zQUJpG1QOk*bR37Ow1=YmbMy!BZ6K=-B5og`su#mWd&KD=HFUr{g0S%_*lxdfv?6yLONtxYw zK1PvguG;3pD4uF@9rOkQ&>Hc2Zc_P6bM{*jvh0KFW5}CmN93I1fvHL?3Ll|^uQlqW zIR_u`Sg5^4*go;c2%p=d_V+goIw~wOtewqv(41DwBa~LF^CS&}JD}BiRzRa3fJu0E zS&90~odF2E0P!(YsXA+btFl_WFS2NI zwlVkvg*%V2H5>NL#KiBsxT9WTiviMVk1qW6^C#{ffE{MuLg#`5X|H(35`17c(OuAc zBz~J3&-VSOW-0G=0QuaPQIYEcwP2&5`|j8XnXs_V7J?X-hzRK(CgE$!U}l8im3;0B z)^~HmZ{lVOCn_|SFJg-*p&{L7#FN_M2L}3}hH2iw#wVZE+Af)tl2Y=T?Ra3WK!jY+ zr}MCF8r88?JjNs4kjrT2pkSfP-!+dMI_!GgWwEBkE3ZdR+&K4FO)8u!3=$qe>&?70 z7`;B2{_V>lxI?TX1&mA!l2+66LG?Wkc)V8pIg3#U=na}uDVZ+^cNkQ=XFeb*Cqj$z z{Hl7B2p&VbQIb@-(mx`j2_KQ-p3EZ};PIV%O@e}(IAVP|%42Q(+E?vkyn5B5a~)iF zfZeAHV}38_b%Rp_zib~pZ$;7AF{xODt^0Fy00}3+m4+=yur_f}3M|^Cy}0oy!-9D!YHP9Gqb*pFegOi{*}tVr-Lbw{Lskoi z8wN9@4>BtDjH2CnRsI-8Cs@|?qZjyteBMM)KRy7Xbca?S6v3nwr|?W6@k;=aTwZH+=g79s`^AoG2_ zIp%d4-8O)?T6i@)BmwFw*WDv`s}){1$_#ldM@J=QL$d79(|e&NGuV7CYOAo4lEcO zNRnTv_hL{D=Nr{^Fnped0WkPVo}$}8)^DujRz#Vk=R{sUA9H1xnd9PCcmZXUS<{)# zGz;Rde}2gC6~k2*rSh!vgf6QG^o0chtm8$0eu*F>REx3ax8DJLljJn5{_OaUx~+k? zMyyHpkhf>5&U9`rd!m`Nf=l|J9ouLOZC4S$TU8E@Con)^V?StBb%^s} zvqlCHtsYQl#=Rig@5HS30GCsfDS>;M)Ya|ljq3ZmSZlRvtXA<$;zDtlO~pGz%<} zZN(qmMPHT3Bs9rA(Ky14z8(rlHY`IWzlSU__)bb!dbjbTW8`a3U1c)(5iOR2W@e?T z#j5zIwakstAMsoz;ZI$$JiD5nA*a0w+~ukR+Y`2cMvs_ym`2lZo_sR4cfW@uP=b%k zv`@d>h3_HinTq$=MrmM@EJ^J3WGFM~px&4X&`4iQpS1`(lAIr+C$L2h=@W>?tJSf) z(ewQ}2to(3X%?}hno7=bKvQD2Q^afr6V-IAhaA6^O?!rnwOZ(n8z}8_PetKH!XXKJ z0$xLC863(9@7Onb@4mlB{q^B0;-!)*tO6w=l`%3(mnE zgF@xZed&?F=JF9Qv&a%-APZ22S>R^UJ>8)2$MWzbJ-5F*#WXtJYEW;`?cap*mj(Hdol z3CJ5ODG7RGBnDqg#+Ka%XKGGV&lkdDr%NQ+qb(S>K*pHspmwlg2lHj)oR#%@P1ZEu za1VJz`M|RgUL?2=`gIw-@bVyx*hlV31*KsbH7!j(WQ=iT_B`bh?y@axt9y9kgF#N&43!Y%y&I--`PL_dRK{5 z@0?}}+-~SF+|e$dKYjW{h>dPCoY3Crrh{YK9?F_oTBWEs@U$f(e7ff1kStD(;-^L_bng)jh-g|-Zoo)WTpqv7FIg`+K!F;WFF~=_m?+ ziHvcauw&~xi2@QDtDghp^B411{j^gXiKFn)4C8tIY9nT0k9{xEyW&yUo~N$_<+#5Y z9DD0Hzztyg28gDJjAgdAoqX-ANIc-*b{I(`>S_g1iQjV+VQgLiYK(k`hIkw9oVWc%GkSw2)lxnBO@l|^Njexe=L#3|A zII|~%Mx?B{yPYg94oil$Bn6)v=bm{=A$V^&W3BuoCQN`S{olvZ`MB6BdBq*Kx4$qnFp zRr32USXp(<8IL&OeOYtv8f^PVTD|g)t(4f z&1Mq}ptMh!p#_18kap1~kxT21Cp8IUXOiCKgb`aW-E0Xb_L~xi_<9T2$Ky0_cd)Pg z7W6K9ZcV6un~AyEOvM>zC^JP>S@C1JJdOq{&;j7!Dkv?PDNqOI=W;6aFgqE8pf)uK z>0t4}x)9r(1bmV=9~`xI^G!!(`t*?&?=XEiefn~GdinI_(+@CJDYPCmqJ#fFs^Oys zOBSmO<4(}tQV6wqpc@yI{IXK3zN9%T;xFx~D)Nnm2U5e*5yW7Bbjo`N57IpKXX}Iv&fJU%!39 zU|c=NwfZbBT(k7`^|=L)FR z=zjY2iMnS3lUf241DPc@XtMK4C<1-@q~$4vV_zr63P40T6li9xbcpkqBCOe@4GM4T zwlE*{nV~^w7C@KKBeDhJG`gPpH_&njDvOKE`Odap0O9Eg2n5<1L$$fsgl+@RN7Qvu z{mvOgEWF9&=hrY*loo|{H4DUAt)*VAJ8yVAEf-d7jlo+AnBn!;rTYS^_3N3^rIidY zvFp&8S{&|&Dj&fR_XeI`p4L4aU3lq)YA`}9$6eKJ1f~S1WzNiza|*f>n{xA~pOA0I z`rPQ-I+XPt7SZ;wcJbSRjM{`^-Q!+IBXqV6)Y+XQmemq`>huBB&P9x!h-()jc5m6V z>knjo`(x)0?C0ZpG(xv#Nz-QhzN;Ewg}}iUu8k8p-&7y=_DQO#8~aKHJ(tb*rgg5+ zHb=fmk62vZW_=(%{xd!MQ@Y;oWYriQCGi}?p#LAq;sxtDnXBUB4kCQN25S94kLziWd?0E-q^s1a#vGx{tkSD=(;@6|vp8+&iQ-^poe`H|t|~faQV{ z5CnDfn-}oZpSfyV1Y))((bjii8#9SfFnQ98(@JTZO5$L|G9(Xz{FsQLT89Os$4C_G z-i!#AynVDFiXQPn>3JB}k5+M(!+GSdTNWPhNS7V~p5=Zw=37?qP{g$=t8b%z?|Hc} zUd+}Z6^uje4*A|hA_XkpNQ{q=*39!(d9w74H#|_eZ&2{lyq}RUM`ibo-rdw=21OBGJh zv;Wl9&Y%ADr+=mZUjM{&-&f~*AqI<<54+ym%L=A}>deha6N$U5qf4i!Oj6SlV2>Jj zA9t6_)_{wqYhjD9$ugsky*I=6Sd8K zFefeN?QvAie?Uo7VJHfFMxxJ0VQvhf1a#7J^`xsIdJuAK&O|Yh)r7ldKM%69QOuW6 zI=ygbpVC&s-agGP(RHoMap^KZnTAH^aA=(8mWBkb_wr_`s34JLGa<^_t1bjv4m(1h zeM`xzmmcC&Z@N`3rjp44$#iye&&M7LY;*hZBMh%2?;uX_kQ8$|zVzcR0X+x!pq5Cb zjc(PwfcXA1^$<7X`E5pjs1@M7y9@WJao;R$7goHz2(XR|$3cY0NN}SdwS6#M`VCQK zsQaX}z7@Ga8i<}g80bWY%F&+Wj4GS%Orn#@Nb+BZUDlLhi{7fu#JvlL(d=^rG|0m6bGdCe+G&IBFt*XNIkOIf)1)2dc6bJdESv0l~sc@TF70(6xOV%aOJO3gxl zne9MojgRI7%0|c8Yls@K$fwfscoe`_H}qp+O*tE?MUu^I+{gWlJ}s~^+XCSg34;JW zkZX2?tqcvekGTVWR@i(>!J74BfmLhHIWC#JZcG$erG$4r;1IC*^`>(hc!$}`yQ6+2 zjM$QCERSlSK^I1H2E)B}2Z{m!tf2`mjq~1_jyh2>``%ycqB-^HT8eZ%T+}{JQA_<_ z_=4&#=$-!)>uSSdwsI}(_r%fHhg+$LHfm2;rLoM9)1*HZjz>^R@6;HYEt~=-*V(ru zQ(kdv?J$k9`Mx6N)oQ;+cLl#t-OL6#gyU*TR(dTi^^16fAwU= z$*a8dn1fActdT)(80A`nHpCnMspeWM&mMljQmme_yigxxI5W4SHS>-2M^lL+B{k>O z<&z(H*jtWfn8e8*3b39=%O_|78eh1OARb6bJ#n=uMb3dkB`=_x;s*9le)sZ|Uw{3{ zuYUWJ-+lhcx8MBa>#z5CzWn6dx1W4{PRzd|9@pD+SLDQ90Cm+wV;_&;n|cWb$-C6QX-goTmS61 zxIgmAvjv=^Lx}9VLn)4Q1N$PGzAyt4oQW=v&CzcqtWAsDNgKnHF>K%0wK zdDr&4A*}TN2z)-Tx#kqN4euaAiApM+dEXP)OW!(zXDS?zjV<=U)>|S??8NOAfCkx0Km?0_{wk58Af#0xT0HizU}Y*N z67A%k*ZKCYFgmRXgX>pJl_`^p$Uq+@DUfm7mGdNck2&|4Tl0Yrs9HTyRjdgRW0o9= ziQu{vnoLHDni+hlq;VYt*O`A)cePz|+f?{F=kOnvKsias%#hbL~mC1n<_K#GS?BACVvIBh zP#GA^Otmp?Xn{*e%iSpU7$&nuyVN5T&M>YE~FXzyNXA z6R|L_;rM2>%KCuB>1N4Z zHaPEWk_HE)Dm+h0iePIcj9oO$s?vH34A2{m&4XrTu0)C89NJ}$5wBVksjV~Rcmc9h z`@LdT8%tUr4L1+1H#E%Jp$Dsta3O;c2qsmMJIbOKlS|4H;a>BNS{Sf$Bz%jiVg|4$ zV3DNrs)|QVxl}s@fdedZ%mvX1SpV-{MnmpWp<0L;G?LVFYgd&2;_ZnqMw3wpxg^(yK$ zc;lw0hut8E1__+MGw*`{@1%@$PHj@-k7O%MP-m(X?V(v1t4L?ZtP`?RO9jowdo=U7 zmTsg9OrczDN_cg~<1BFz0_~ucb-ep?0tBe=JZg*uq&6ZO#nqK058leu89%;BR%-kG zP^t}myA*?_FpY(Wy#{7|J#rsP13+Yq4hN#{8=hOj=iF<(>jfGpRI#G&W}xFtk4J@7{D zynNlnLsWm9^QPEm8RTm8p7$HWChrUgy^OHE@Y`^iSjuwcV>|N8<(eIXkPJUiG)!(d zcb7E-Ymp9YaJHz?J2piG(m9*~e1Po4P12I>@@f;NU34*B# z-34;0zWm+@-)kL+Ooq4GlH)H|j`4$2|4+!&;7%B94; zw<(l@S4pGw#KJqQj90>$(C4BlZotDWoX187S zYg~kA7lEOBnwjEmN}Vc_HPG4qwq1YCVF*Ph8#si#i&hxJMYS}CpHeK5h5>YHNW;Jr zI006!T~pMkmXUyRsCIm3;IJj#B`o7kO`YW`T*-iViLj9!HXhJBBd#M8{aF6E1*46N zESqTo_MQYKLTh76YqZKltsF~I*4;oUCtA!TF@hKkZo&|>C4OL3iz zfs6Z>u#WZ1NN-F^^Ueq*hPE{%x``o_T6-z2Rdy{~q=oI)nJUwX&K|6aJC45JEiNt= z;m?)&rOG~dP&D@2hVi>|#YzuSaBWzU%4T!u&Xl_=N(q{@x0^3b<0?h}V)d)?ckN&b} zX@jd^JIiP$!G>gek;`FagL$I8q9Ro2Ahr+oh#N%HF8ak>S92>8V+v$ukGWgHTtZ9$ zSulu;V=c)gRm!KF03I1t=~{RRA2Nn?4ESca${&CGSBy0Cl}l&~4Gf;{!b~9{1}KE8 zsrnaTb8X?;O3uzN2IM4XjW{g{E;E}FuKbN*O4meI-@)dIg<{Rpib}0%yo=X!u#1ZeqiAW6<`2q7n&a4HIC5mh}iKH5Z4QWr*_7bu$VbcK1*Ol28u6=wwBUW13A0 zIlhU8C@~%Eniu{_Q9r$H#43`}qLTN&R7sli6=D@us{QjUi~Cnsi-#AF-d{X^a6bwP ztR>!tAh-d{nY`|JtYv{;^<$RjkF$d zq#=iJcT~Y^c`jJC>Q_5lgme)#R1(aFb9L9#(U%9c;JNOt( zD6O<&i;MFSG!F>tgrr2aYb{lYjIP8KjjpkW5hxH^BoIbNe%c6ZnSe&t9s8VJ;6O^y zeGZUKO*#nTb!?LqDjGOPT4EeS@@52}7aD?8Nxz^h0gPeYW|;nm@6Rvkec#6y^NR;# z=+Oweyw584?%XaR2EX6mW-S)L(&h?Rn8fH**?Z$2U=13_P9V9+Bxy!$q#mWkLVO0J z1MIpDcgqnpes&?O5?~1siKq|}J_Z3iPDU^Ur2Gc>tezf}iDfC?l!7I!NQ4%_#Sq7H zBG{&6c)42A4@5qN5?0A*+zBFTnJ}Y-0H)}*)?-zFPYEY#rzrDCmfk}@Jhm-Ohif8oYa^s^_WKi^KN2AZm3eDzmkX=H6c1t|YIudw za{H_!!FszcD+Oh#MTTpYH_A3DiWiObz9|dgM%oQmML!bO@MSU zG{S|1&{b`+#&4f0*P{JeIPtXojBdfO-dDxoP&2^TaDtkl5(6;-k~MA0KmlPmryv~l zSvVB8e1>`Oo)jgab0idm@H97d_buK9W$20Mc?DV%^iRSNZEoxKD0mm zz!Vr#y$q?8gSUnPD7f7pf{~G~StT+>RMxfV3=OSWj@GY=oagLz1HtwjEHHbZu~DFt zm$U<=xr+0I$LBDb5R%kja_pfs6-4iE9dSFSxtcQo7NWAC?5^vn2QU~+VXysWQ5nD2 ze#IuL%9^HzX-OceBJ7PJ*iO5vXskasAaY6ML@sKY=G*S-UFfyBE8X1nMil4{IwUv&`NY{KjPB(766e~pSy;6#}Tg`;p!bK_Kz@CcgVQ|cd+*(=3cx#zX=@3pJ)@%;W@w^80TaY!BDWaTpMvJrY z-oQJ^RMJ60xC_KeV8u-Ot;y41zycBgjfq-QAv3<(`B!CyUYVL2QeiQGs}7^Pdeu!Y8EI@s1XX^`;kgon&+l#ZhS_?Wnkf8au|=o zXQVCJnK!Xap?#kw>1v727N~?pG4||qG$x2U$Us^uJt~(%G7;s;Q&SYa1Rs!H^M)Y%6UNp$Q{DEj(F~$ob)D z(dLgYP$(sFUT7{3VPdPt7u`;P)LunV4FFf@q3`bwfMyC1q{E4HZM@rL-MNnJX5ouR zj~`rKJvgS$iIseK1^b1QP?}Z@5iXe%3k zg+2Ad5t2en30SoRMAjnQ9}c3s!=yoou%mP>Q-_jBa60&^(C-&+pcCDjTl!RM>DaaB zu4IeI9f2r4wBoc@R^g?OchG9m(WAJ+7#3PSD=ivq64Sy=$D6r{gsE==D=n?fl+Fw% z$>2cE<*;TTSQg!WncFNrefiPLKfZnnZ`INPM&NS6YgFJAHC2v&3j<}NZja6_?Ye&t24TlGNC{*92?;S8 z-qs_8iWePaN1S^%WME|68#A>LgtQo-QY#b@E^Ky>`@7AQAml)C^->Cpjhus=kv2Ja z44fJz)qXx#3wL>riT1CXtfmsnDa5?7Z1CJF8^+?{o9+yZjJzHuK!RMFbH*ujZriMs zEx+nV%!o&Jz4WVw=;|Q`DAPosU2|(mfut!oTR8eWhh=TMd-O0UIy%96yrBQQxyuAc zImIxy`~DG)2uM=#BInBqH-nmR_aDIL!-rT12oQr1v&K%jPX@}7c@OvG5rFN_;8eiU zu<4tY0qbNUIX8Txg_u)WU`(m$z5QW)GON(6lUSE5=xQ5M9hRn)$gMR_c=tCSE9n%6TrZn zrks%=&SXknfzx22gvqGCtOr;*tWNq|C1?WRp_-t^M#LyvOf12W(6j2M#8oX~JzFIl z?;r?9wdF)DXtFFYkv1*)(Beb`RSXTI8F%B+n~@wMrX)35%N1_!02)~psLFt(C9+(% zj!CLiiba#uP(g{E^|u94l9ee);s|}O*WT<;=w==khE5Mc7eb5HD#3)7TxQ7_tQ5{^ z$gxW*DC2T!#4CtgRm0UIi zMlKIpRq}^7oYay&$1m`CLU<01&|yi-QlvaZ~#M%_uD!4<2LwZHD}mT`GXq?Kr=BUmY;oGNpZ&Nt;Sb+GshNNyY$ zz6YqWa`fhpCp0i`B}A1JPg4LR!jZY(kSI|s;K1%Z_c@seoX2p&Fo3CP7ml5~z8!Z$ zGxxQG`<)(bHevTZg0!`YuVoMzy0@&k;IJLY3XtHiChuQAr<8Mop~*?g-M1a61yxB? zOi@PfJieV!;z_N?YU5}H%iAJRHfkf+wlX6z+m&HSiEDdkikv{KDjX1W6Cg&hVrs3~ z5s+1@gtZD&2%E^d%$Z|3qLiy(J%F`Ah_~KgJBoyxW|f!Wj-ofm#As;;Wv{drEKIvK zb!L$@U~H;+d>^GS{A~9~${MxL6-00&T2rdcX$p=HM9I{SYJsO9Z$#U$Y9UyQZTH~H zC<3SAQEc}e)Fadl$0K)31gaf;Y$3$B&l^lzA_x9VyU$c08PkRc-q7hoK%sD?|85`z zLnh(jboWn4l(>qoXS)^`ug{9b=NcL(NZ6b*3F zWWkMqD(S~HZYpm#VC`8bjlSSqI}uawzHA~N{e`QkRBQUD9&ZGVsXS;{fQ0g$h>%LS zKZL+=n1^OPwWOP7!cqwL7AJ~lDg9kddraJBD$Bu`DSC%MT5gGY%GE}M@5*L zx*EqOcj1s?s??^*0Y3Wh2Cyl|Nm&?r0RiGT4A?n~W0E)oWitkOYN9m~ zBnEMwmg#-|lME;_y7+z@S__RnUwBNM1%i9^kd6l2T52VizS)e2RI8jEH?@9~6^aK5 zJU~-UV3pT3;o$UCW;hQD*oM8-9Kg7YXB{v2{}~U#!6yXk@#&iHa}&54Uu*~P$XH}* z>PA^lKvp@;C>fg-xG~V}`l%9JZ_u}E(hKwjOkg|q>V&B4E-SJ5C4t;|=iGJe3K`d_ zo%!)hvGwiY-UV<+6j(EF>@igqg_;*K@>NqU1z}<<#ZoJ@R6?w0Th*o6PC%gM%E>58 zjM2=-$Ey>dGb?VcKw;OdnO$DJKL&HYE+w=RI_u2OI4v#loZgwj_*FV&h=x?9DfP7Y zA7Ex?)*_A>VKS^W zR`Q@h?Q?Jsi!U=)WyT53Rhem=5=JCg>DzK8R0$AiirR0;M!~B)qgiW{TPF3}m>sK|;&S7VNd9DRk~?CA3+lX@znTj?C22GDY*W z#TOra@+{(}A#K791Q|?hy^(+2BLt+Fa-uadtiQyp$R;$>DLUc0mGvqZr=^%fnqYUs z1$7xF4v7%Nl+-Zl$s`~(2HHs6DYq$Hp(Q{TuF>me*sAOs>fJB{vJJKh0!pzGbwhLw7U;WugSDn;wE{01Vlz zJQln4ApM62flbjk+DV(T143GitnjN}OnE6)IVph?zUkbHBodu8cW6Dq$=J-Jd7>K` znGoq&(iA^+lR$`o0LxN2_|DhxsY>_^Pc8rg)qw&D=s6%n#Z3!(6hqZAgHYkjEw&DS zTNw+;D|1m`Y;|H1HD%q*NRfSXF%8hjYV$S~le5lATDafle4{c>pd>z+0s?aPLS3s& zP0;Snr>LZ6NC%HqEyAHIB)kcZAuYpIj)}rdP4G!WdQ{Y4AEp~u7*i&4Qfu_Lg<37~ zE#^s!Isn~Fa)gvDGDlxRE< z;!ps(i6t;uCMdikG`Sx)N%Wv?nG9KG)6FSR81qt;)4WLVz>>8D4w1Od89dtQdDN^h z(M4jmTv(aO9Sc`gS`M$8o`B-64t?3&u!m~^jC|pFj1;)~_XmiP!^-f`68C!u?Dw-s zK!jZXs1i0d!c);ds0!#R?7VY$wNkL)_l$-m$f-9Nj6-veXj873e1v&B(DPNc7{pSD zQVABb5!Q`_o`%c9mONdT8RsL2Gg-&B6(_-^s;yh9ja(Y7&35czy3>x!Wq;^}V}w>~ zNzDntRWmsYj2?0zncRycV%W=ERNFxs35Av-GCT8xaX~tVNY8Zz&oB3&*Be~INm5T( zGE2N3UWshQj0ZS{2U(9IK8;4Lj(F`|l8+PVR56zpm^m7-TudaHy`0%&?7C4z8S7qD zn4VS%7Sd}NSWs-;da9FgoES?|S2^3C*anXy5UH!ZQxJeCt;5ZrZ7a}ll_A7J-e(~4 zHZ=w-VG^oj1uhfF=Roj~#VO#8AQIX61D$%BWq6Op0#W;o2XD1G*J3*gM)N~aR3c$F zL4wy*>xjDLj_75P)Wer)@q6ApW_SA$AciE%N;@$;M?wsn$a>@`qe*AiqGCSzC&0O_ z(vh3? z?S`G8DOB2dm-%PB3+)3ReLz83^(g7|*7aBq&Def7z&w0bOs&z8$R%0jqT+367d_Rc zkjzDBk5>UFBVBJ$%40#6w^3uW@t54T#$=)>u(7<2k{jKwgZUyBff~*XQ=QcwOHC#* zC*h$Cu)0E+A4L$UZfO1*c1{NTPG+6cm3VzM5_j}G4NLZ#rk-Wk0mJlA0y6_`hpqSh z`hh|Tzcv}Yjex`$ok>ePZkjh$CLDiYj!-Jj46QhNf;J*UPYoR=!~RitVvZ%|#&l-_ z8RN3O; z8{kon3m(y2OiY9#Q|OA(6dhwcK_+a1;A!Y-j3(=6GJkH zn6`1d6Oh4p)rLVX3_m;@fi%NAIvv>EnZapDMT@jk}=5A*SMB_lqeSr?;uzu z%L&l)PHky2GKTV3`jwoTnw_E(-qe%)g%Gu>pvP`5Yc|Vd2(gHgJT)@pArH|=rJ(vA>Ola3(eT*Alq;N?jHHH6$xvTHVet|;j)J7$Q(d>^s%d43L9RtB;uXbX zh(cmRnnbGpB0837nZo)wK&6tKh`}8;trAK`y;7wTVahFPDQ3OuSiJNtud^itAEOk) zH9`}s_7en*4{1=ORwcUIj+z>8$g0k>n3C_~6YPX0BQKWM26;B3^TBr2AEZYdZ3hC@ z-3Y>zBigfGiw$xSfDB}l4$b^sX4UREFe3RqmB$MzwqOx3Reg||! z#h@usHxP4L4z+?oYc%{O^2YSu+<8+5(vf|~^ejh+r9}o(=i)fiqOU8VHF6-T6@v(G?J@&6#d zn=!iy0>kQ|doX67Tbi&BBDB(%D<;eJGbV;QettB@=7m`Mmw1T1?%XrnzkeUnVsnYs zq#?RTc+DeVMY~$E^4<*QMB8ln01_yDltR@lN3mTnBp%MJQuVu{}BuSF%Lab2v zZ{^aT2BfmI{=$K(Fvm;mJX@&}qa}JfCNKvlg#=JvT!l7=;#5I6CSU?2$UoK{dl}1g zc-CiYqgd~agPIXbRiXUkN=}Lx)3%gYNm1g$DWZ^%l2pU^?qp{sMpQ~-WkT(*lEom@ zu92x?H~$zMncIf;n%Is~gpt|0R3PItBx@R~HH~>Z_!_N*19N3m=?1&i^Iih!#Z@LJ zwnn$oRgJYRO^{g(M9|-1be=Hu3Bn^j1e8eQxwd@CNV`Q)3w(YEHyKEyS)iwd}k#9ct|H zdyhYS@56_o#;C5Se(3kJ_nthV%JiR4&LK~QsFav)UY^{&762vDQ~VYV;MXGH6*~r>z&;-u@Cn2L-7|RH$ z6xbt21UTFVI5<+Ty)QpJNb9GqvM{})OC-pmGF!?xe><|HTJOUT-BgE7iBt@^1B9M* zBI|}ZW1a-#;SUR+F)-duid5`5;rUik(mwGO{X96yrb^*AtWMF(BnjGgn(P-k)Hiw; zB(yj@qaRrf74DemsFjuxEVJ;(MqJ*w&%J0^)rL4J<~s_8Ovr??8qE zgYQ7jaiQlD%!*r%ObND)B#lFRK^Sqf6#gOUEsQ3F@+%Wh!+^IRbRL9TdPL1 zgDb>i=yljkQkdCh8*YBa?^cxjTHDqe*h3T?+3x+re{)qVDr4Q^;^Fxr>~5CGnmHkv z#zgHHvK3&$wYzwH^*9a~1l)i40KWb19m+@qp2Y6_SrBvdI*Fx%`jILJfO75N#AQcQ z6Q`z}Or}|RcfQNSER!3ljh|>h3S@1Zg0*rcZSe83>)uFnhK!w);1V*k$6(~7o%YJ> z<_N5c7Uvoq+2x`bo#Pbk*%mz2yh8tGv4ZNr{E2wT$LIu6s-)L2cL4HmXcuODgW;U�Mxn>UADC2Pa-z5&%}3i1lpk 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 diff --git a/shadowsocks-csharp/Properties/Resources.Designer.cs b/shadowsocks-csharp/Properties/Resources.Designer.cs index 5740858f..93e90665 100644 --- a/shadowsocks-csharp/Properties/Resources.Designer.cs +++ b/shadowsocks-csharp/Properties/Resources.Designer.cs @@ -61,12 +61,27 @@ namespace Shadowsocks.Properties { } /// - /// Looks up a localized resource of type System.Byte[]. + /// Looks up a localized string similar to // Generated by gfwlist2pac in precise mode + ///// https://github.com/clowwindy/gfwlist2pac + /// + ///// 2019-02-08: Updated to support shadowsocks-windows user rules. + /// + ///var proxy = "__PROXY__"; + /// + ///var userrules = __USERRULES__; + ///var rules = __RULES__; + /// + ////* + ///* This file is part of Adblock Plus <http://adblockplus.org/>, + ///* Copyright (C) 2006-2014 Eyeo GmbH + ///* + ///* Adblock Plus is free software: you can redistribute it and/or modify + ///* it under the terms of the GNU General Public License version 3 as + ///* published by t [rest of string was truncated]";. /// - internal static byte[] abp_js { + internal static string abp_js { get { - object obj = ResourceManager.GetObject("abp_js", resourceCulture); - return ((byte[])(obj)); + return ResourceManager.GetString("abp_js", resourceCulture); } } @@ -138,12 +153,33 @@ namespace Shadowsocks.Properties { } /// - /// Looks up a localized resource of type System.Byte[]. + /// Looks up a localized string similar to // Generated by gfwlist2pac in precise mode + ///// https://github.com/clowwindy/gfwlist2pac + /// + ///// 2019-02-08: Updated to support shadowsocks-windows user rules. + /// + ///var proxy = "__PROXY__"; + /// + ///var userrules = []; + ///var rules = [ + /// "|http://85.17.73.31/", + /// "||agnesb.fr", + /// "||akiba-web.com", + /// "||altrec.com", + /// "||angela-merkel.de", + /// "||angola.org", + /// "||apartmentratings.com", + /// "||apartments.com", + /// "||arena.taipei", + /// "||asianspiss.com", + /// "||assimp.org", + /// "||athenaeizou.com", + /// "||azubu.tv", + /// [rest of string was truncated]";. /// - internal static byte[] proxy_pac_txt { + internal static string proxy_pac_txt { get { - object obj = ResourceManager.GetObject("proxy_pac_txt", resourceCulture); - return ((byte[])(obj)); + return ResourceManager.GetString("proxy_pac_txt", resourceCulture); } } diff --git a/shadowsocks-csharp/Properties/Resources.resx b/shadowsocks-csharp/Properties/Resources.resx index 081bd8d8..c2e4d0b2 100755 --- a/shadowsocks-csharp/Properties/Resources.resx +++ b/shadowsocks-csharp/Properties/Resources.resx @@ -119,7 +119,7 @@ - ..\Data\abp.js.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Data\abp.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312 ..\Data\ja.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 @@ -134,7 +134,7 @@ ..\data\privoxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Data\proxy.pac.txt.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Data\proxy.pac.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 ..\Resources\ss32Fill.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj index a37293c3..b65f466b 100644 --- a/shadowsocks-csharp/shadowsocks-csharp.csproj +++ b/shadowsocks-csharp/shadowsocks-csharp.csproj @@ -256,10 +256,8 @@ Designer - - @@ -271,6 +269,8 @@ Settings.Designer.cs + +