Pages

Monday, 27 June 2016

利用usocks+后端的socks proxy(或http proxy)翻墙

首先登陆linux vps,
easy_install pycrypto
easy_install pyyaml
git clone https://github.com/upsuper/usocks
cd usocks


root@AR:~/usocks# ls
LICENSE  README.md  src
root@AR:~/usocks# cd src
root@AR:~/usocks/src# cp config.sample.yaml config.yaml
root@AR:~/usocks/src# nano config.yaml
root@AR:~/usocks/src# cat config.yaml
---
client:

  backend:  &backend
    type: plain_tcp
    server: remosthost  # change this to the server address
    port: 4194

  key: &key
   # preshared_key
  address: localhost  # listen address
  port: 1080  # local port
    
server:

  backend:  *backend

  frontend:
    type: redirect
    server: localhost
    port: 20080  # target port

  key: your_key

(在服务器端的配置文件上,可以不修改client部分)
以上config.yaml文件里的倒数第3行,port的值要设为在服务器上所运行的某个socks代理服务器(比如mocks,参见

又一个轻量级的socks server程序-mocks攻略的端口号。

port的值也可设为在服务器上所运行的某个http代理服务器的端口号,比如8118
可见usocks其实是个tunnel程序,跟socks毫无关系,usocks的后端程序既可以是socks代理服务器程序,也可以是http代理服务器程序。

root@AR:~/usocks/src# nohup python server.py > /dev/null &
这样,服务器端就搭建好了。

在客户机器。
git clone https://github.com/upsuper/usocks
cd usocks
cd src
cp config.sample.yaml config.yaml
nano config.yaml

config.yaml的内容如下:


---
client:

  backend:  &backend
    type: plain_tcp
    server: your_vps_ip  # change this to the server address
    port: 4194

  key: your_key
   # preshared_key
  address: localhost  # listen address
  port: 1180  # local port


server:

  backend:  *backend

  frontend:
    type: redirect
    server: localhost
    port: 20080  # target port


  key: your_key

然后运行python client.py
这样,客户端就搭建好了。

然后,设置浏览器的socks5代理为127.0.0.1:1180,即可翻墙。
(如果服务器上,usocks的后端程序是http代理服务器程序,则需相应的设置
浏览器的http代理为127.0.0.1:1180,即可翻墙。

项目地址:https://github.com/upsuper/usocks