2011年7月22日星期五

轻松在Linux中翻墙

操作系统:Linux (debian\ubuntu\opensuse\fedora)
浏览器:Firefox
优点:A方案支持断线自动重连,B方案操作简单;智能判断网址并切换代理。

第一步A方案:安装并配置expect

在 debian/ubuntu 终端中输入 : apt-get install expect
在 opensuse 终端中输入:zypper in expect
在 fedora 终端中输入: yum install expect

安装完毕后新建一个文件,比如命名为 sshgfw , 将如下代码复制进去,并根据代码中的注释将部分代码修改为你自己的SSH帐号信息。

#!/usr/bin/expect
set timeout 60

spawn /usr/bin/ssh -D 7070 -g username@yourserver.com
#这里的 username 为你自己的用户名,yourserver.com 为你自己的服务器域名或ip
expect {
"password:" {
send "password\r"
#将第二个 password 改为你自己的密码
}
}
interact {
timeout 60 { send " "}
}


然后为该文件加上可执行权限 chmod a+x sshgfw, 然后就可以在它所在的目录 ./sshgfw 执行就行了。当然也可以把它复制到 /usr/local/bin 或 /usr/bin 等目录下,以方便本机所有用户都可以快捷的使用。

注:ssh 加上 -g (即在代码中的 ssh -D 7070 -g ) 可使局域网内其它机器使用我的机器做代理. 以我的情况为例:我在一个局域网内的 ip 为 192.168.1.16 , 当我联上服务器之后,我就可以使用 localhost:7070 做代理,同时我的局域网内的其它 ip 为 192.168.1.* 的机器,就可以用代理 192.168.1.16:7070 来穿墙啦。

第一步B方案:在终端直接登陆

打开终端,输入:ssh -D 7070 username@yourserver.com,回车;
输入密码后,回车,即可登陆。

第二步:配置Firefox浏览器

首先需要安装AutoProxy扩展。重启浏览器后,选中gfwList(...)。接着你会看到Firefox主界面右上角出现有一个“福”字图案,点击“福”。点击“代理服务器——编辑代理服务器”。将其他代理服务器删除,只留一个名为 “ssh -D”的。修改完毕后,点击确定。

好了,享受你的Facebook,享受你的Twitter吧。

原文在 http://freeissky.blog128.fc2blog.net/blog-entry-5.html

没有评论:

发表评论