var Antizapret = "HTTPS proxy.antizapret.prostovpn.org:3143; PROXY proxy.antizapret.prostovpn.org:3128"; var proxyi2p = "PROXY 127.0.0.1:4444"; var proxyTor = "PROXY 127.0.0.1:9050"; var proxyJonDo = "PROXY 127.0.0.1:4001"; var proxyUltraSurf = "PROXY 127.0.0.1:9666"; var proxyFiddler = "PROXY 127.0.0.1:8888"; var proxyPsiphon3 = "PROXY 127.0.0.1:12345"; function FindProxyForURL (url, host) { var AntizapretDomains = [ "2ip.ru", "seasonvar.ru", "rutracker.org", ]; var TorDomains = [ "ipgeobase.ru", "whoer.net", ]; var JonDoDomains = [ "site.ru" ]; var UltraSurfDomains = [ "site2.ru", ]; var FiddlerDomains = [ "site3.ru", ]; var Psiphon3Domains = [ "site4.ru", ]; // ********************************************************************************** var domain, hostL = host.toLowerCase(); for (domain of AntizapretDomains) if (dnsDomainIs(hostL, domain)) return Antizapret; else var domain, hostL = host.toLowerCase(); for (domain of TorDomains) if (dnsDomainIs(hostL, domain)) return proxyTor; else var domain, hostL = host.toLowerCase(); for (domain of JonDoDomains) if (dnsDomainIs(hostL, domain)) return proxyJonDo; else var domain, hostL = host.toLowerCase(); for (domain of UltraSurfDomains) if (dnsDomainIs(hostL, domain)) return proxyUltraSurf; else var domain, hostL = host.toLowerCase(); for (domain of FiddlerDomains) if (dnsDomainIs(hostL, domain)) return proxyFiddler; else var domain, hostL = host.toLowerCase(); for (domain of Psiphon3Domains) if (dnsDomainIs(hostL, domain)) return proxyPsiphon3; else if (shExpMatch(host, "*.i2p")) { return proxyi2p; } else if (shExpMatch(host, "*.onion")) { return proxyTor; } else return 'DIRECT'; } |