写了段找Twitter可用ip的Python脚本

标签:Python

众所周知,Twitter已经被GFW了,大陆屁民得翻墙才能访问。不过翻墙的开销肯定是大于不翻墙的,所以我这种懒人都是又空才翻墙的。

Twitter属于最高级别的关键字封锁+ip污染+ip封锁,但好在twitter的ip有很多,难免有几个漏网之鱼,于是可以用这篇文章介绍的网站来查询ip,并用ping来进行验证是否可用。
当找到可用ip时,就可以在hosts文件里写上“128.242.240.148 twitter.com”之类的设置,并直接用https://twitter.com/来访问twitter了(注意是https)。

由于懒得自己写ping程序,所以在网上找了个纯Python的实现,得和下面的代码放在一起:http://svn.pylucid.net/pylucid/CodeSnippets/ping.py

最后就是代码了,懒得去检查你的域名是否输入正确了,反正错了也不会怀孕:
import re
import socket
import sys
import urllib2

import ping

if len(sys.argv) > 1:
  domain = sys.argv[1]
else:
  print 'Please enter a domain:',
  domain = raw_input()

content = urllib2.urlopen('https://www.mob.net/~ted/tools/dns.php3?domain=' + domain).read()
pattern = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
ips = pattern.findall(content)

available = False

if ips:
  ips = set(ips)

  for ip in ips:
    try:
      delay = ping.do_one(ip, timeout=2)
      if delay is not None:
        print ip, delay
        available = True
    except socket.error:
      pass

if not available:
 print 'Cannot find available ip.'
目前在公司(应该是网通线路)找到twitter的6个可用ip,可惜ghs仍然全面杯具。

4条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?