情况
由于最近在中国某个地方爆发了 riot, 所以境内很多网站又是无法访问 (twitter.com、facebook.com 等),让我们这些网民很无奈。
使用 SSH 翻墙
我曾经介绍过如何使用 SSH 来建立一个 SOCKS 代理服务器,让你能够在 Firefox 里正常访问以上所提起的网址。然而不是所有 Linux 软件都能支持代理服务器。如果你最热爱的 Linux 工具需要访问”被封”的网站,又没有嵌入的代理支持,该怎么办呢?
遇到这种情况当然不要放弃该软件… 毕竟我们用的系统是 Linux 而不是以前让我们咳声叹气,丧失信心的 Windows,总有一个方法去解决问题。
举个例子吧
我不久前发现了 Twitter 这个网站。我一开始不经常用,也搞不明白别人为什么对这个 web 2.0 服务都着了迷。后来我在推特上跟的人越来越多,跟着我的人亦是日益增多,不知不觉我也迷上了该网站,天天都会上。凡是经常用推特的人一般都会用一个推特的客户端,这才能跟得上朋友们的状态更新和最火热的网络新闻。本人作为 Ubuntu 的用户,我自然就选了 Gwibber 这个基于 GNOME 的客户端来访问我的推特。这个软件功能很丰富,用起来得心应手,不过总有一个问题让我有点遗憾,就是 Gwibber 还不听从 GNOME 的代理设置。平时这也不是一个很大的问题,但是每遇中国网络封锁较严重时,都会让我暂时无法使用该软件。
解决方案… Tsocks
经过几个 Google 搜索,我最终很高兴地发现 Linux 有一个能够强迫任何软件通过 SOCKS 代理上网的工具,其名就是 tsocks。Tsocks 是一个透明 SOCKS 代理软件,只要你电脑有一个连接到国外服务器的 SSH 隧道,你就能让任何软件翻墙。
安装并配置 Tsocks
以下说明都是为了那些使用 Ubuntu 的 Linux 用户,不过在别的 Linux 发行版下,安装的过程应该与此差不多。
在终端中:
sudo apt-get install tsocks
修改配置文件:
sudo nano /etc/tsocks.conf
将其内容改成以下几行并保存退出:
local = 192.168.1.0/255.255.255.0 #local表示本地的网络,也就是不使用socks代理的网络 server = 127.0.0.1 # SOCKS 服务器的 IP server_type = 5 # SOCKS 服务版本 server_port = 9999 #SOCKS 服务使用的端口
你可能需要修改一下以上内容,用你自己的 SSH 隧道设置。
运行软件
用 tsocks 运行你的软件很简单,在终端中:
tsocks 你的软件 &
我现在运行 Gwibber 都是这样运行的:
tsocks gwibber &
祝你们翻墙愉快!
EDIT—————–>
我今天还发现了另外一个工具,其功能似乎比 tsocks 要更丰富,配置起来更简单,而且不会那么容易出错。这个工具就是 proxychains。以下有配置方法:
sudo apt-get install proxychains
修改配置文件 (/etc/proxychains.conf),应该如下:
# proxychains.conf VER 2.0 # # HTTP, SOCKS4, SOCKS5 tunneling proxifier. # # The option below identifies how the ProxyList is treated. # only one option should be uncommented at time, # otherwise the last appearing option will be accepted # # Dynamic - Each connection will be done via chained proxies # all proxies chained in the order as they appear in the list # at least one proxy must be online to play in chain # (dead proxies are skipped) # otherwise EINTR is returned to the app # # Strict - Each connection will be done via chained proxies # all proxies chained in the order as they appear in the list # all proxies must be online to play in chain # otherwise EINTR is returned to the app # # Random - Each connection will be done via random proxy # (or proxy chain, see chain_len) from the list # this option is good for scans dynamic_chain #strict_chain #random_chain # Make sense only if random_chain chain_len = 2 # Quiet mode (no output) #quiet_mode # Write stats about good proxies to proxychains.stats #write_stats #Some timeouts in milliseconds # tcp_read_time_out 15000 tcp_connect_time_out 10000 [ProxyList] # ProxyList format # type host port [user pass] # (values separated by 'tab' or 'blank') # # # Examples: # # socks5 192.168.67.78 1080 lamer secret # http 192.168.89.3 8080 justu hidden # socks4 192.168.1.49 1080 # http 192.168.39.93 8080 # # # proxy types: http, socks4, socks5 # ( auth types supported: "basic"-http "user/pass"-socks ) # #http 10.0.0.5 3128 socks5 127.0.0.1 9999 socks4 127.0.0.1 9050
注意事项:
- 要选 dynamic_chain 而不是 random_chain
- 可以列举几个代理服务器,proxychains 会按顺序用,代理无法访问即自动选用下一个
- 代理服务器要根据自己电脑的情况自行调整
运行 proxychains
运行 proxychains 跟运行 tsocks 完全一样。在终端中:
proxychains 你的软件 &
比如说:
proxychains chromium-browser &
我还是推荐你使用 proxychains!
Tags: china, 翻墙, firewall, gfw, gwibber, Linux, proxychains, SOCKS, tsocks, Ubuntu, 封锁, 封杀
一个外国人不远千里来到中国,不但学会了翻墙,还教会千千万万中国人学会翻墙,这是怎样的精神 ^_^
我是来膜拜你的中文的
呵呵,我的中文还没那么好!希望我在这里写的帖子能够帮助别的网民
Jonathan你真是太强了!
感謝你写的又一篇好文!我已经转载至LinuxDesktop了。
谢谢,我后来找到了一个更好的工具 (proxychains)。刚刚更新了贴子
我也郁闷Gwibber呢。太感谢了!
这篇文章太实用了,赞啊!
其实windows也有类似的工具,SocksCap32。还有一个GPL协议的FreeCap,不过已经停止更新好久了。
还有一个功能类似的软件,proxychains
另外可以用privoxy把socks代理转换成http代理,让opera之类不支持socks代理的软件可以用
谢谢你的评论。用 privoxy 将socks代理转换成 http 代理这个想法很不错,以前我都没想过。我今天也刚刚试了 proxychains,觉得它比 tsocks 好用一些… 已经更新了原文。
到这里去看看http://alonweb.com/user/register
也挺不错的 荷兰的VPN
你的中文让人不得不赞一个
谢谢你的夸奖!
那个免费 VPN 网站看起来不错~
注册之后
sudo apt-get install openvpn
wget http://static.alonweb.com/downloads/alonweb.tar.gz
sudo tar -C /etc -zxvf alonweb.tar.gz
sudo /etc/init.d/openvpn start
似乎这个挺适合我这种不求钻研的人
正在试你的方法 呵呵
我学了9年的英语,还是不能熟练地看懂凯恩斯的The General Theory of Employment, Interest, and Money
惭愧阿 一定要向你请教学英语的绝招才行了(因为正准备考研~哈哈)
我不由得心生敬佩..
外国友人啊
哥们你太强了…我是专程从twitter上过来膜拜你的…
哎,什么时候我的英文能说的和你的中文一样溜就好了…
呵呵,我的中文还不够好…
好心人呐…方法学习了
路过也来膜拜一个!
不得不说,高级
想不到你是一个外国人啊,中文真的不错。
我国政府给给国外友人添了一点麻烦,但中国人民是友好的。
呵呵,你不用替政府说对不起… 我早就知道在中国要把政府和老百姓分得很清楚~
反正 GFW 也是政府给我们的一个挑战… 没有了墙也就没有了关于翻墙的文章
我代表我自己给你颁发中文写作八级证书
要是真的能给就好了!
不是中国人写的?
中文这么好
厉害啊
完全看不出来啊
真的看不出来吗?
是看不出来是一个老外写的中文。
你看看我的英文博客,能看出是中国人写的吗?很想听听你的意见。
你的英文写得很好,是不是出过国?待在国内的人很少能达到这个水平~我读的时候虽然还看到了一些小小的语法错,但是基本上我还是看不出来是中国人写的,读起来觉得很自然… 接着努力啊~
兄弟,你的中文很好。
太赞了。
感谢博主这篇文章,确实为翻墙带来有益信息。以前只知道vidalia……
另外,contact you 没有看到什么表格呀?
最后就是说这么多和谐的东西,小心被跨省……
什么叫被跨省…?
有典故,跨省追捕
呵呵,原来是这个意思!
哈哈,没有想到这么快就回复了。没有营养的话我就不说了。Google一下跨省追捕就知道怎么回事了。
不过也很高兴国际友人对这方面的宣传。确实很多不错的相关资料都没有了,封在墙外的翻墙资料和没有资料无异。
找个时间把Twitter和Facebook更新,也来推吧博主。
晚上了,恭祝一切顺利。
跨省=跨省追捕
This means the government cross through different province to arrest you.
Of course, it’s a joke.
I’m impressed by your Chinese. I wonder how long you have been learning it.
Your Chinese is even better than mine.
proxychains is really handy!
Haha, I’m going to have to keep looking over my shoulder now!
I’ve been studying Chinese for three years now, two of those in China – but I doubt my Chinese is better than yours!
most of the time, after running
proxychains chromium-browser
the browser just hang, I have to kill it.
then chromium can’t be used again until I reinstall it. It’s kind of odd~~
But “proxychains update-manager” works perfectly perfect.
请教一个问题:看你的截图,ubuntu桌面下方有一栏,应该是程序的快捷访问,如何添加的,谢谢!
问个比较菜的问题 请问装好好 在装好后如何访问网站 比如 http://twitter.com/
在已启动了 proxychains 的终端里打开 firefox 就行了… 上什么网页都应该能显示了。
你好,我按照你说的弄了后在终端里面输入 proxychains firefox &
firefox打开了,但是不管输入什么网址,网页都打不开,这是什么情况呢?
听起来,这个可能是 proxychains 的配置问题,如果你打不开网页,大概是因为 proxychains 没有连接到你的 SOCKS 服务器…
nice post, it’s GFW not GWF btw
Google的Picasa目前好像还是无法访问吧,不知Linux上有没有类似修改hosts这样比较基础的翻墙方法?毕竟Picasa的封锁不像twitter那么严重
不知道你能否访问以下网址?如果能的话,打开题为 “更好地登录 Google 的服务“ 那篇博文,看里面有关说明。好像这篇文章已经被删了,现在只能在 Google 阅读器里看。
http://www.google.com/reader/view/#stream/feed%2Fhttp%3A%2F%2Fwww.kenengba.com%2Ffeed
原来文章是在GoogleBlog上,我的第一个博客也是建在上面,只是没多久就疯了。。。
文章看到了,受益匪浅,赞一个~个人感觉ubuntu 9比起 8 来音质好了一大截子~
中文水平好的让我认为你就是个中国人。
支持你,兄弟!
你的中文真不错~~