关于twhirl与翻墙

作者:Bearice  来源:熊窝

前几天玩被失踪,应该说是幸运呢,还是不幸呢?,赶上光缆被上帝OOXX,错过了相当难熬的一段时间。不过回来之后一段时间内访问国外站点的线路依然很不畅通,我现在使用的是北方网通,似乎南方电信的同学们早就好了?

自从光缆断掉以后twhirl就成了废品,不是因为墙,而是因为光缆。费了不少功夫让他恢复,今天听说Twitter的IP被封了,改host的方 法已经不管用了(原因似乎是这个:http://twitpic.com/f2ha8),于是吧我用的一些方法写出来,仅供参考使用。

在无法直接访问twitter服务器的时候使用twhirl或者其他本地twitter客户端的方法大致有以下几种:

方法一:自己搭建API代理

优点:速度比较快

缺点:有些客户端不支持

方法:请参考 http://bit.ly/jFdjKhttp://www.appinn.com/twip/ (密码是f**kg*w,*请脑补)

我弄了一个代理,但是似乎不是很好用(我好笨-ToT)

方法二:使用翻墙代理/VPN

优点:设置方便

缺点:适用范围小,不能精确控制代理访问。

对于Windows系统来说,大部分程序会自动使用IE里面的代理设置进行连接,尤其是基于AIR的某些客户端,假如你使用了某门,某界,某 Freedur之类的代理,他会自动设置IE的代理,而VPN更加是默认路由了本机所有的外部访问流量。这样一来访问Twitter或者国内一些网站自然 没有问题,但是一旦访问国内网站就比较郁闷了。

方法三:使用Sockscap劫持部分程序流量到代理

优点:控制比较精确(基于程序的控制)

缺点:速度不一定快(取决于代理)

如果你使用的翻墙工具支持Socks代理(什么是Socks代理?去问Google大神。一般我们用的代理中SSH、某门是Socks代理,而其他的大多是HTTP代理),那么可以使用Sockscap将某一特定程序产生的流量转发到代理,从而实现翻墙。

实现方法:首先去搞一个sockscap回来,然后启动后设置界面如下:

twhirl1

服务器一般来说是127.0.0.1 也就是本机 端口就根据翻墙软件不同而不同了。我设置SSH时本地端口选择了7070所以这里就填入7070。

然后选择在主界面使用新建按钮选择程序:

twhirl2

选择Twhirl的主文件

twhirl3然后点运行就可以使用代理运行twhirl而不影响其他程序了。这个方法同样适用于其他不支持单独代理设置的程序。

方法四:使用VPN+路由表进行精确路由

优点:控制精确(基于IP)

缺点:设置复杂

很多人都有VPN帐号,但是不长用,因为他会吧所有本机访问外部网络的流量都转到VPN上去。下面的方法适用于你只想吧某些网站的流量转到VPN上时使用。

首先如果你用的VPN是不需要客户端,或者他的客户端会添加一个虚拟宽带连接而不是虚拟网卡的话,事情会简单一些(比如这个

首先你需要取消这个连接的默认路由:(由于某些蛋痛原因,我现在用日文系统,所以大家根据图标和按钮位置自己找一下吧- -)

点击放大

点击放大

之后需要配置一下路由表,连上在cmd中先ipconfig看一下接口编号:

1.C:UsersBearice>route print
2.===========================================================================
3.接口列表
4. 30 ........................... vpn.itshidden.com
5. 20 ...00 16 44 81 60 44 ...... Realtek RTL8187B Wireless 802.11b/g 54Mbps USB 2.0 Network Adapter #2
6. 10 ...00 03 25 4a 6d 0c ...... Realtek RTL8101E Family PCI-E Fast Ethernet NIC (NDIS 6.0)

我们可以看到第一个编号为30的连接就是我们的VPN。记下这个ID,待会儿要用。
然后就可以添加路由记录了,比如twitter的IP是168.143.161.20:

01.C:UsersBearice>route add 168.143.161.20 0.0.0.0 if 30
02. 好吧!
03.C:UsersBearice>route print
04.=省略=
05.IPv4 路由表
06.===========================================================================
07.活动路由:
08.网络目标        网络掩码          网关       接口   跃点数
09.   168.143.161.20  255.255.255.255        在链路上     192.168.1.115     26

路由记录已经存在了,现在我们ping twitter.com:

01.C:UsersBearice>ping www.twitter.com
02. 
03.正在 Ping www.twitter.com [168.143.161.20] 具有 32 字节的数据:
04.来自 168.143.161.20 的回复: 字节=32 时间=627ms TTL=243
05.来自 168.143.161.20 的回复: 字节=32 时间=652ms TTL=243
06.来自 168.143.161.20 的回复: 字节=32 时间=630ms TTL=243
07.来自 168.143.161.20 的回复: 字节=32 时间=1326ms TTL=243
08. 
09.168.143.161.20 的 Ping 统计信息:
10.    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
11.往返行程的估计时间(以毫秒为单位):
12.    最短 = 627ms,最长 = 1326ms,平均 = 808ms

虽然延迟很高,但是如果不加路由根本ping不到。
现在再运行twhirl或者用浏览器登录twitter,可以不用https.
PS: 如果添加路由时使用参数 -p 那么你添加的路由不会随关机而消失。 另外添加的路由记录在VPN没有连接时是不生效的(这也是为什么某些需要客户端的VPN不能这么玩的原因了,那些客户端添加的网卡基本上都是一直连接着 的,即便你VPN没有连接,另外一个原因就是这些VPN客户端也会操作路由表,容易出问题)。


没有评论: