前提是你需要一个SSH账号

【Windows系统】 001 SSH + Bitvise Tunnelier 实现SOCKS代理

需要用到的工具:

1、Bitvise Tunnelier

设置:

1、SSH服务器IP:Port,验证方式

2、一般去掉 On Login 里面的 Open Terminal

3、默认

4、默认

5、打开SOCKS / HTTP Proxy Forwarding,Listen Interface 根据需要填写,如果只允许自己主机连接,则填127.0.0.1,端口默认的1080即可

6、SSH标签页是一些可选项,比如是否压缩之类的,根据需要设置

7、设置完之后可以点击左边的保存,方便下次直接登陆。然后点击Login,可以看到成功的日志

【IE代理设置】

1、Internet选项 – 连接 – 局域网设置

2、勾选“为LAN使用代理服务器” – 高级

3、在套接字栏填写刚刚设置的地址和端口,确定,OK

【Firefox代理设置】

1、选项 – 高级 – 网络 – 连接 – 设置

2、手动配置代理,在SOCKS主机栏填写刚刚设置的地址和端口,确定,OK

002 SSH + Bitvise Tunnelier + Privoxy 实现HTTP代理

上面是SOCK4代理方式,但是有些时候需要用到HTTP代理,则可以按照如下方式设置

需要用到的工具:

1、Bitvise Tunnelier

2、Privoxy

设置:

Bitvise Tunnelier的设置和上面相同,唯一需要设置的就是Privoxy,用来将SOCKS代理转为HTTP代理。

启动Privoxy之后,右键通知区域图标 – Edit… – Main Configuration,会打开config.txt,编辑如下两处:

1、修改HTTP代理的listen-address,包含IP:Port,如果只是自己使用,设置为127.0.0.1:8118

2、启用forward-socks4a,将HTTP转发到前面设置好的Tunnelier SOCKS代理上,OK

浏览器的设置就设置HTTP栏,填入Privoxy设置的地址和端口

【IE代理设置】

【Firefox代理设置】

【Linux系统】 003 Linux SSH 实现SOCKS代理

需要用到的工具:

无 (Linux系统直接支持SSH命令行)

设置:

1、启动代理服务

ssh -CfNg -D 0.0.0.0:1080 -l username xxx.xxx.xxx.xxx

各参数含义:

-C 传输时压缩数据

-f 输入密码登陆后,ssh进入后台运行

-N 不执行远程命令,只提供端口转发。仅用于ssh2协议

-g 允许远程主机连接ssh转发端口

-D 设置socks代理地址和监听端口,如果是只允许本地访问则指定IP为127.0.0.1

-l ssh登陆用户名

-i 指定ssh登陆用的私钥,如果是用公钥、私钥对登陆则需要指定

可以使用man ssh命令得到更详细的文档

2、浏览器SOCKS套接字代理配置

和001设置方式相同

004 Linux SSH + Privoxy 实现HTTP代理

需要用到的工具:

1、Privoxy

设置:

1、安装Privoxy

# apt-get install privoxy

2、配置Privoxy

# vim /etc/privoxy/config

搜索listen-address,并改成:

listen-address  0.0.0.0:8118

只允许本地的改成127.0.0.1

搜索forward-socks4,并改成:

1249 forward-socks4   /               127.0.0.1:1080  .

即socks代理的IP地址和端口,注意最后有一个点

如果对访问权限有要求,可以搜索permit-access并指定相应的IP:Port

备注:

socks4和socks4a的区别:

socks4:先在本地DNS解析域名,再通过代理服务器请求页面
socks4a:在代理服务器DNS解析域名

3、重启Privoxy

# /etc/init.d/privoxy restart

如果用 telnet IP Port 能连接上,则初步说明Privoxy配置成功

4、ssh开启socks4代理

ssh -CfNg -D 0.0.0.0:1080 -l username xxx.xxx.xxx.xxx

5、在浏览器中配置HTTP代理

和002配置方式相同