Wednesday, July 27, 2011

一劳永逸的翻墙方式 ssh -D(linux+firefox)


综述

操作系统: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 " "}
}
view raw This Gist brought to you by GitHub.

加上可执行权限 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浏览器

假设你正使用Firefox »浏览器阅读本文。

扩展一键安装:AutoProxy »

xpi-offical

点击立即安装,安装后,重新启动Firefox。然后你会看到如下对话框,选择gfwlist (P.R.China)后,点击确定。

gfwlist

接着你会看到Firefox主界面右上角出现有一个“福”字图案,点击“福”。

fu

点击“代理服务器——编辑代理服务器”。

edit

随即出现如下画面,你会看到如GAppProxy、Tor和Your Freedom这样一系列代理服务器名称。

before

将GAppProxy一栏的参数修改为如下图所示。

after

修改完毕后,点击确定。至此配置已全部就绪。

版权信息:您可以自由复制、传播、演绎本作品且无需署名、无需注明原始出处。

No comments: