好的交通协管都是逼出来的

来源:牧码志


朝廷阅兵在即,稳定要紧,自宣和六年以来,杀伐决断,无所不用其极。

上有所好,下必甚焉。大墙之内,小墙林立。在家上网,要翻GFW,到了公司,还得翻LGFW(Less Great Firewall)。银河系是大,可像模像样的网站也就那么几个,被功夫网拦掉几个,再被小功夫网滤掉几个,掰着手指头一算,好么,还得搭上几个。

PAC一直是我的交 通协管,原来也就是和功夫网作阵地战,因此配置得简单一些。但现在要判断是在家还是在公司,从而自动决定是否将一些被公司网关过滤掉的网站加入使用代理访 问的网址列表,并决定是使用公司网关作为代理来访问没有被屏蔽的网址还是直接访问互联网,甚至还要对公司内部网站使用直接访问的方式。因此重写了PAC, 从此两点一线间,可以无缝切换了。

JAVASCRIPT:
  1. function FindProxyForURL(url, host){
  2.     url = url.toLowerCase();
  3.     host = host.toLowerCase();
  4.     //Your Freedom
  5.     var freedom = "PROXY 127.0.0.1:8080";
  6.  
  7.     //Sufferers under the despotic power of GFW
  8.     var sufferers = new Array();
  9.     sufferers.push('*123cha.com*');
  10.     sufferers.push('*twitter.com*');
  11.     sufferers.push('*friendfeed.com*');
  12.     sufferers.push('*your-freedom.net*');
  13.     sufferers.push('*blogspot.com*');
  14.     sufferers.push('*7-zip.org*');
  15.     sufferers.push('*middle-way.net*');
  16.  
  17.     //As I say, if the despotic power of GFW disappoints me, holding a candle to the devil outrages me.
  18.     var furiesOfYuri = new Array();
  19.     furiesOfYuri.push('*web.qq.com*');
  20.     furiesOfYuri.push('*delicious.com*');
  21.    
  22.     var gateway = "DIRECT";
  23.     //If my IP address is as below, it indicates that I am in the office.
  24.     if(myIpAddress() == '10.1.29.29'){
  25.         //Use the gateway of my company's network to visit the internet
  26.         gateway = "PROXY 192.168.8.108:8080";
  27.         //Append URLs blocked by the company to the sufferers
  28.         sufferers = sufferers.concat(furiesOfYuri);
  29.     }
  30.  
  31.     //No one can take my freedom away
  32.     for(var i = 0;i <sufferers.length;i++){
  33.         if(shExpMatch(host,sufferers[i])){
  34.             return freedom;
  35.         }
  36.     }
  37.  
  38.     if(isPlainHostName(host)){
  39.         //Visit local network directly
  40.         return "DIRECT";
  41.     }else{
  42.         //Visit other URLs by gateway, which either indicates visiting directly at home or by the gateway of company in my office
  43.         return gateway;
  44.     }
  45. }

没有评论: