Posts Tagged with proxy

用Privoxy实现Socks代理转HTTP代理


SSH端口动态转发只能实现Socks代理,但是并不是所有应用都支持Socks代理,比如Last.fm, Windows Live Writer, Opera...所以有个HTTP代理是很有必要的。

tinyproxy不错,可惜只支持POSIX OS。很无奈现在在公司处理普通的工作还是需要Windows。。。所以找到了privoxy,一个cross-platform的web proxy,支持包括广告过滤,cookie管理等很多高级功能,当然也有我们需要的socks转发

设置非常非常简单:
编辑privoxy安装目录下的config.txt,或者启动privoxy,在Options菜单里选择Edit Main Configuration也成。
在配置文件里加入listen-address和forward-socks4a的设置,例如

# 监听本地的8118端口并转发至8080端口
listen-address 127.0.0.1:8118
forward-socks4a / 127.0.0.1:8080 .

需要注意的是:

  1. 出于安全考虑,如果只给本机使用,listen-address的ip要设置成127.0.0.1,如果要给其他人共享,最好同时也设置permit-access(参考配置文件的说明)
  2. forward-socks4也可以做转发,和forward-socks4a的区别在与forward-socks4的dns解析发生在本地而socks4a发生在socks server上

题外话:今儿iPhone发售,表参道那边儿已经有1500个哥们儿在排队了。。。我。。。还是去打酱油吧

用ssh作socks代理


昨天写了通过http代理连接ssh,那么反过来呢,用ssh来作代理,至于作用嘛。。。不用多讲,国内的兄弟都知道,什么?你不知道?那你一定没听过gfw。。。

1. 先找一个提供ssh的服务器,国外的很多主机商都会提供ssh账户,比如dreamhost

2. 从本地连接服务器:

ssh -D port user@server

user和server就是ssh的服务器和用户名,port可以自己随便挑一个,比如8080,3128之类的常用的代理端口

3. 在浏览器里设置代理服务器地址为 127.0.0.1,端口号就是刚才选的那个,注意代理服务器类型是socks5不是http

ok,大功告成

通过http代理服务器连接ssh


今天着实让我很惊讶,ssh居然不能直接设置代理服务器,而必须通过tunnel(或者就是我太挫,没找到其他办法)

1. 找个Tunnel,比如corkscrew(下载地址) ,然后解开tar包,编译安装

./configure

make && make install


2. 设置ssh,编辑ssh配置文件,/etc/ssh/ssh_config
vi /etc/ssh/ssh_config

然后加入
Host *
ProxyCommand corkscrew proxy_server proxy_port %h %p

如果需要验证文件的话,还要在后面加入验证文件,如下
        ProxyCommand corkscrew proxy_server proxy_port %h %p authfile

ok,现在可以直接ssh了
ssh username@server