-
PAC-通用跨设备的智能“跨栏”法
发表于 2011年01月23日 2 条评论作为一个身在天朝的资深互联网从业者或是使用者,有一项众所周知的运动是难免要参与的。由于是全民健身运动的重要组成部分,网上自然遍地大把大把的各类跨栏方法,VPN、HTTP TUNNEL、Tor、Auto Proxy等等五花八门,各有各的特点。不过作为一个重度的Geek,我有跨栏需求的上网设备包括Windows、Linux Server、iPhone、Windows Mobile等十件上下,一一搞下来还是有些小蛋疼的。 虽然不折腾就会死,但真的往死里折腾还是能免则免了。
总的来说,需求无非就是要让一些会一头撞死在墙上的访问(非死不可之类,你肯定懂的)去到一个有门或者有窗又或者有戏的地方,从而正常的过去,让那些本来就和谐美满的访问各找各妈。而且不出意外的话,这些访问基本上十有八九都是http或者https。于是就想起一个很久很久以前就存在的东西——PAC。
PAC是Proxy Auto Config的简写,主流的浏览器和上网设备都支持,通过一个JavaScript语法的脚本,PAC能根据你访问的URL决定这个请求是走http代理、socks代理或是直接请求。所以,使用的前提是你必须有一个有门或者有窗又或者有戏的地方(赞美Whygod师弟,赞助了海外SSH帐号一枚),没有的同学还请先找你们的自由门或者无界什么的。另外一个相对简单些,特别是对技术宅们来说简单得多的需求,就是有一个能发布完整文件的地方(能上传文件并且无需登录就可以打开的就好)。PAC在这里的作用主要在于实现不同的请求策略,类似于AutoProxy,但这个是在Web上放置的,对任意设备、任意浏览器来说,只需指定PAC文件的url就可以了,不需要考虑其他浏览器上有没有AutoProxy,要不要同步设置。
好了,废话说完,上代码:
function FindProxyForURL(url, host) { var proxyDomains = [ "facebook.com", "fbcdn.net", "twitter.com", ]; for (var i = 0; i < proxyDomains.length; i++) { if (dnsDomainIs(host, proxyDomains[i])) { return "SOCKS5 a.b.c.d:p"; } } return "DIRECT"; }其中可以根据需要修改的地方有:
- a.b.c.d和p,应为你的有门或者有窗又或者有戏的地方。
- proxyDomains里可以增加其他的域名后缀如appspot等。
- return的代理如果是HTTP类型的,则应将SOCKS5替换为PROXY。
- 如果在代理不可用的情况下,还是要走直接访问,或者是有备用代理,可以这样改:return "PROXY a.b.c.d:p; SOCKS a.b.c.d2:p2; DIRECT"; 。
更多的PAC语法,可以自行Google。
Update [2011-02-12]:
如果所在地区存在DNS污染,可以通过启用Remote DNS来解决。
Firefox下,由于Remote DNS性能一般较差,并非默认开启,需要打开about:config,并在过滤器中输入network.proxy.socks_remote_dns,双击将其设置为True。
Chrome可以通过插件来开启这个,IE就没办法了。
相关日志:
-
为什么Google的工程师也买不起房
发表于 2010年10月20日 2 条评论这个话题的由头来自这里:“Google2011校招笔试题暗示搞软件没前途,囧”,这是在招聘现场的面试题,但从我个人的招聘经验来看,后面几乎肯定是会问及原因以便更深入的考核人才。 这里说说我在仅仅只是看到题目时,大约5分钟内对此问题的相关思考。 这个时间对于面试来说,已经不少了,需要在表达前面的考虑时进一步抓紧思考压缩时间了。
首先考虑回答其作为选择题的答案,我毫不犹豫的选择了“永远买不起房”,原因是早有科学实验表明,正常人最多七天不吃不喝就挂了。当然,我也会选择再花30秒左右的时间做一下简单计算或者是题目基本完成后重新验算。 在这个回答背后还有一个原因是我并不相信Google会要那种只懂得在“真空”、“过程中无能量损耗”的假定下表现良好的做题天才。
后来李开复在新浪微博上对此回复:“不吃不喝早死了”,大概也算是间接的支持了我这个观点。
让我们从快速检查的角度再来考虑,用简略的方式来做一个估算:首先200万的房子需要5年才能买。而10%的增长在5次后心算一下大约是1.6上下一点,但必然大于1.55。因此,5年后房子应该在310万以上,工程师需要3年的时间完成这部分积累。而又由于3年时间房价再增长30%,也就是增值93万以上,因此8年内肯定买不起。最后,第9年是400万以上的基数增长,从此,这房子是真的不用考虑了。
在我向人讲解我的上述思路的时候,想到了另外一个更加快捷计算方法:首先我们假定房价至少翻倍这工程师才有可能买得起房,也就是400万,400万后由于涨幅高于年收入不用考虑了。400万Google工程师需要10年的时间来积累,而无比明显的是,八到九年,10%的增长必然已经导致翻倍。 同时,由于在达到400万前,工程师的存款增长高于房价增长,因此,10年内不存在买得起房的可能。
最后,如果能进入面试流程。还得告诉面试官我的前面两个思路,并且告诉他们为什么我认同“不吃不喝早死了”,依然会做验算:一方面是出于谨慎;另一方面是我很是向往Google的免费三餐(特意找了个链接:http://www.dianping.com/group/fubai/topic/108841/lz)因此我相信那位工程师确实不需要为吃喝付出什么,住宿也可以在公司十年如一日的睡袋解决。其次,如果能开动脑筋帮工程师(也许就是你未来的同事,也许就是将来的你)解决“丈母娘难题”,那就更好了。 比如说先上车后补票,找个年收入在12万上下也许要略高些的美女跟你一起共建和谐社会,SO你可以跟丈母娘保证8年后你们一起拥有爱巢。 这个答案是绕开了“不贷款,不涨工资,没有其他收入,每年不吃不喝不消费”的要求,梗着脖子说美女的收入不是你的收入。 也许这不够优雅也许弄巧成拙,只说前面的考虑更好些。 反正在10分钟内,我没有想到更好的方法了。
最后感叹一句:杯具啊!
相关日志:
-
[转载]我奋斗了十八年不是为了和你一起喝杯咖啡
发表于 2009年05月26日 没有评论3年前,麦子的一篇《我奋斗了18年才和你坐在一起喝咖啡》引起多少共鸣,一个农家子弟经过18年的奋斗,才取得和大都会里的同龄人平起平坐的权利,一代人的真实写照。然而,3年过去,我恍然发觉,他言之过早。18年又如何?再丰盛的年华叠加,我仍不能和你坐在一起喝咖啡。
那年我25,无数个夙兴夜寐,换来一个学位,额上的抬头纹分外明显,脚下却半步也不敢停歇。如果不想让户口打回原籍,子子孙孙无穷匮,得赶紧地找份留京工作。你呢?你不着急,魔兽世界和红色警报?早玩腻了!你野心勃勃地筹划着“创业创业”。当时李彦宏、陈天桥、周云帆,牛人们还没有横空出世,百度、Google、完美时空更是遥远的名词,可青春所向披靡不可一世,你在校园里建起配送网站,大张旗鼓地招兵买马,大小媒体的记者蜂拥而至。334寝室很快在全楼名噪一时,小姑娘们从天南地北寄来粉粉的信纸,仰慕地写道:“从报上得知你的精彩故事……”得空,爬上楼顶吹吹风,你眉飞色舞地转向我,以照顾自己人的口气说,兄弟,一起发财如何?
好呀,可惜,我不能。创业于你,是可进可退可攻可守的棋,启动资金有三姑六眷帮忙筹集,就算铩羽而归,父母那三室一厅、温暖的灶台也永不落空。失败于我,意味着覆水难收一败涂地,每年夏天,为了节省三五百块钱的机器钱,爹娘要扛着腰肌劳损在大日头下收割5亩农田。我穿着借来的西服完成了第一次面试,戴着借来的手表与心爱的女孩进行了第一次约会。当你拿到了第一笔投资兴奋地报告全班时,我冷静地穿越大半个北京城,去做最后一份家教。没错,“这活儿技术含量忒低”,但在第一个月工资下发前,我租来的立锥之地与口粮全靠它维持。
不多久,互联网就遭遇了寒流,你也对创业意兴阑珊,进了家国有性质的通信公司,我被一家外企聘用。坐井观天的我,竟傻傻地以为扳回了一局。明面上的工资,我比你超出一截,税后8000,出差住5星级宾馆,一年带薪休假10天。玩命一样地投入工作,坚信几年后也有个童话般的结尾,“和公主过上幸福的生活”。
好景不长,很快,我明白了为什么大家说白领是句骂人的话。写字楼的套餐,标价35,几乎没人搭理它。午餐时间,最抢手的是各层拐角处的微波炉,“白领”们端着带来的便当,排起了长长的队伍。后来,物业允许快餐公司入住,又出现了“千人排队等丽华”的盛况。这些月入近万的人士节约到抠门的程度。一位同事,10块钱的感冒药都找保险公司理赔;另一位,在脏乱差的火车站耗上3个小时,为的是18:00后返程能多得150元的晚餐补助。
这幕幕喜剧未能令我发笑,我读得懂,每个数字后都凝结着加班加点与忍气吞声;俯首帖耳被老板盘剥,为的是一平米一平米构筑起自己的小窝。白手起家的过程艰辛而漫长,整整3年,我没休过一次长假没吃过一回鸭脖子;听到“华为25岁员工胡新宇过劳死”的新闻,也半点儿不觉得惊讶,以血汗、青春换银子的现象在这个行业太普遍了。下次,当你在上地看见一群人穿着西装革履拎着IBM笔记本奋力挤上4毛钱的公交车,千万别奇怪,我们就是一群IT民工。
惟一让人欣慰的是,我们离理想中的目标一步步靠近。
阅读全文 »相关日志:



最近评论