[JavaScript] 白名单域名 黑名单域名 过滤 →→→→→进入此内容的聊天室

来自 , 2020-11-26, 写在 JavaScript, 查看 142 次.
URL http://www.code666.cn/view/37a749d8
  1. /*
  2.  * 本 PAC 地址:http://t.xd.cn/ 欢迎内部传播
  3.  * 本 PAC 通过 Dropbox 更新。需要编辑权限的,可以告诉你的 Dropbox 帐号,Share 一下就好了
  4.  *
  5.  * 建议复制一个临时文件来修改,用 jslint 检查语法
  6.  * Mac 下安装 jslint
  7.  * brew install jslint
  8.  * jslint -process index.pac
  9.  * 没装 brew 的,先装个:/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)
  10.  *
  11.  * 某些黑名单域名,用我的DNS服务器的话,就会解析到境内IP,解析到这些IP时,不需要翻墙
  12.  * DNS 服务器:180.153.139.245 180.153.139.246 上海电信服务器,网通用户请勿使用,否则境内很多大网站的 CDN 会把你分配到上海电信附近的服务器
  13.  *
  14.  * BTW,如果需要根据IP来翻墙,可以用 http://t.xd.cn/ip 但是IP列表非常多,客户端解析会很耗CPU
  15.  *
  16.  * by xdanger@gmail.com, 最近更新:2012.03.03 1:30
  17.  */
  18. function FindProxyForURL(url, host) {
  19.     var _socks_us = "SOCKS 115.182.64.62:8881";
  20.     var _socks_hk = "SOCKS 115.182.64.62:8883";
  21.     var _socks_tw = "SOCKS t.xd.cn:8888";
  22.     var _http_prx = "PROXY t.xd.cn:8890";
  23.     var _wl_dom = [ ".verycd.com", ".baidu.com", ".qq.com" ];
  24.     var _wl_url = [];
  25.     var _wl_add = [ ['203.208.0.0', '255.255.0.0'] ];
  26.     // 麻烦添加网站前先搜索一下,所有 .jp/.tw/.hk/.cc 域名已经都进去了
  27.     var _bl_dom = [
  28.             ".10gbfreehost.com",
  29.             ".1bao.org",
  30.             ".500px.com",
  31.             ".500px.net",
  32.             ".aboluowang.com",
  33.             ".addthis",
  34.             ".aircrack-ng.org",
  35.             ".amazon.com",
  36.             ".amazonaws.com",
  37.             ".amazonwebservices.com",
  38.             ".appspot.com",
  39.             ".asahichinese.com",
  40.             ".avhappy.com",
  41.             ".bang-olufsen.com",
  42.             ".bao.li",
  43.             ".battle.net",
  44.             ".bbc.co.uk",
  45.             ".bit.ly",
  46.             ".blogger.com",
  47.             ".blogsmithmedia.com",
  48.             ".blogspot.com",
  49.             ".bullogger.com",
  50.             ".caucho.com",
  51.             ".cc",
  52.             ".chinagfw.org",
  53.             ".cl.ly",
  54.             ".cmule.com",
  55.             ".cmule.info",
  56.             ".cmule3.info",
  57.             ".cmule5.info",
  58.             ".cnn.com",
  59.             ".curse.com",
  60.             ".daahoo.com",
  61.             ".dajiyuan.com",
  62.             ".davebalmain.com",
  63.             ".delicious.com",
  64.             ".demonoid",
  65.             ".developer.android.com",
  66.             ".dropbox.com",
  67.             ".dropboxatwork.com",
  68.             ".echofon.com",
  69.             ".engadget.com",
  70.             ".epochtimes.com",
  71.             ".evernote.com",
  72.             ".facebook.com",
  73.             ".facebook.net",
  74.             ".fbcdn.net",
  75.             ".fc2.com",
  76.             ".feedburner.com",
  77.             ".feedly.com",
  78.             ".ff.im",
  79.             ".flickr.com",
  80.             ".foursquare",
  81.             ".freakshare.com",
  82.             ".freemorenews.com",
  83.             ".fsck.com",
  84.             ".funp.com",
  85.             ".ggpht.com",
  86.             ".git-scm.com",
  87.             ".gitcasts.com",
  88.             ".golang.org",
  89.             // Google 解析到的是境内IP,不需要代理
  90.             // 而且国外服务器无法访问Google境内的IP,所以用了代理反而会连不上!
  91.             // 如果有个别域名确实需要代理,请加具体域名
  92.             //".google.com",
  93.             ".googleusercontent.com",
  94.             ".googlevideo.com",
  95.             ".googlevideo.com.cn",
  96.             ".grandfg.com",
  97.             ".greasespot.net",
  98.             ".gstatic.com",
  99.             ".hdbits.org",
  100.             ".hecaitou.net",
  101.             ".hellotxt",
  102.             ".hellowtext.com",
  103.             ".hemidemi.com",
  104.             ".hermanmiller.com",
  105.             ".hk",
  106.             ".html5quintus.com",
  107.             ".hulu.com",
  108.             ".ikan.pptv.com",
  109.             ".imageporter.com",
  110.             ".imageshack.us",
  111.             ".imdb.com",
  112.             ".imdb.com",
  113.             ".img.ly",
  114.             ".instagr.am",
  115.             ".instwall",
  116.             ".internic.com",
  117.             ".itunes.apple.com",
  118.             ".iyin.net",
  119.             ".j.mp",
  120.             ".jp",
  121.             ".kenengba.com",
  122.             ".lighthouseapp.com",
  123.             ".live.com",
  124.             ".livejournal.com",
  125.             ".loveyahu.nu",
  126.             ".mail-archive.com",
  127.             ".mediafire.com",
  128.             ".mindmeister.com",
  129.             ".mitbbs.com",
  130.             ".mobile01.com",
  131.             ".5i01.com",
  132.             ".myblog.yahoo.com",
  133.             ".myminicity.com",
  134.             ".namecheap.com",
  135.             ".nanorails.com",
  136.             ".netshelter.net",
  137.             ".opera.com",
  138.             ".pandora.com",
  139.             ".path.com",
  140.             ".peacehall.com",
  141.             ".pixnet.net",
  142.             ".photoload.ru",
  143.             ".pinyuan001.com",
  144.             ".playup.com",
  145.             ".plurk.com",
  146.             ".progit.org",
  147.             ".queenlook.com",
  148.             ".rfa.org",
  149.             ".rubygems.org",
  150.             ".safaribooksonline.com",
  151.             ".secretchina.com",
  152.             ".sgp.cm",
  153.             ".sourceforge.net",
  154.             ".staticflickr.com",
  155.             ".supersized.org",
  156.             ".t.co",
  157.             ".technorati.com",
  158.             ".thepiratebay.org",
  159.             ".torproject.org",
  160.             ".tumblr.com",
  161.             ".tw",
  162.             ".tw.yahoo.com",
  163.             ".twitpic",
  164.             ".twitter.com",
  165.             ".tweetdeck.com",
  166.             ".twitterfeed.com",
  167.             ".typepad.com",
  168.             ".ultraxs.com",
  169.             ".uncyclopedia",
  170.             ".ustream.tv",
  171.             ".uwants.com",
  172.             ".v2ex.com",
  173.             ".vimeo.com",
  174.             ".vimeocdn.com",
  175.             ".voanews.com",
  176.             ".vox.com",
  177.             ".w3schools.com",
  178.             ".wenxuecity.com",
  179.             ".wikileaks.org",
  180.             ".wikimedia.org",
  181.             ".wikinews.org",
  182.             ".wikipedia.org",
  183.             ".wunderlist.com",
  184.             ".wordpress.com",
  185.             ".wp.com",
  186.             ".wuala.com",
  187.             ".xuite.net",
  188.             ".xys.org",
  189.             ".xysblogs.org",
  190.             ".yfrog.com",
  191.             ".yimg.com",
  192.             ".yindows.com",
  193.             ".youtube.com",
  194.             ".zaobao.com",
  195.             ".zaozon.com",
  196.             ".ziphone.org",
  197.             ".zuo.la",
  198.             ".zuola.com",
  199.             "asahichinese.com",
  200.             "bit.ly",
  201.             "delicious.com",
  202.             "fbcdn-photos-a.akamaihd.net",
  203.             "fbcdn-profile-a.akamaihd.net",
  204.             "git-scm.com",
  205.             "html5quintus.com",
  206.             "instagr.am",
  207.             "path.com",
  208.             "plus.google.com",
  209.             "progit.org",
  210.             "sgp.com",
  211.             "twitter.com",
  212.             "t.co",
  213.             "vimeo.com",
  214.             "wunderlist.com",
  215.             "wordpress.com"
  216.     ];
  217.     // 尽量加域名,匹配速度会快,节约CPU。不行的再加URL模糊匹配
  218.     var _bl_url = [ "*/search?q=cache:*" ];
  219.     var _bl_add = [ ["180.168.41.0", "255.255.255.0"], ["66.6.36.36", "255.255.255.254"], ["74.125.31.103", "255.255.0.0"] ];
  220.     var i = 0;
  221.     // 判断境内IP
  222.     var ip = dnsResolve(host);
  223.     for (i = 0; i < _wl_add.length; i++) {
  224.         if (isInNet(ip, _wl_add[i][0], _wl_add[i][1])) { return "DIRECT"; }
  225.     }
  226.     // 白名单域名
  227.     for (i = 0; i < _wl_dom.length; i++) {
  228.         if (dnsDomainIs(host, _wl_dom[i])) { return "DIRECT"; }
  229.     }
  230.     // 白名单URL
  231.     for (i = 0; i < _wl_url.length; i++) {
  232.         if (shExpMatch(url, _wl_url[i])) { return "DIRECT"; }
  233.     }
  234.     // Dropbox 需要用 http 代理才能即时获取更新
  235.     /* HTTP 代理好像不好用
  236.     var _http_dom = [ '.dropbox.com' ];
  237.     for (i = 0; i < _http_dom.length; i++) {
  238.         if (dnsDomainIs(host, _http_dom[i])) { return _http_prx; }
  239.     }
  240.     */
  241.     // 使用美国代理
  242.     var _us_dom = [ '.pandora.com' ];
  243.     for (i = 0; i < _us_dom.length; i++) {
  244.         if (dnsDomainIs(host, _us_dom[i])) { return _socks_us; }
  245.     }
  246.     // 黑名单域名
  247.     for (i = 0; i < _bl_dom.length; i++) {
  248.         if (dnsDomainIs(host, _bl_dom[i])) { return _http_prx; }
  249.     }
  250.     // 黑名单URL
  251.     for (i = 0; i < _bl_url.length; i++) {
  252.         if (shExpMatch(url, _bl_url[i])) { return _http_prx; }
  253.     }
  254.     for (i = 0; i < _bl_add.length; i++) {
  255.         if (isInNet(ip, _bl_add[i][0], _bl_add[i][1])) { return _http_prx; }
  256.     }
  257.     // 默认
  258.     return "DIRECT";
  259. }
  260.  

回复 "白名单域名 黑名单域名 过滤"

这儿你可以回复上面这条便签

captcha