很早之前自己找教程搭建pptpd失败了好几次就没再去搞过了。今天可以说是“旧情复燃”,只不过是换了种方式,没想到却简单得多。

服务器端

以我的Centos为例

1. 安装shadowsocks
yum -y install python python-pip
pip install shadowsocks
2. 配置shadowsocks
vim /etc/shadowsocks.json

输入配置内容

{
    "server": "服务器的ip",
    "local_address": "127.0.0.1",
    "local_port":1080,
    "port_password": {
        "端口1": "密码1",
        "端口2": "密码2",
         .....
        "端口n": "密码n" 
    },
    "timeout": 300,
    "method": "aes-256-cfb"
}

2017-10-11 15:42:42 星期三 更新
多端口貌似不能用了,单独一个端口可以继续使用,默认设置多个设备都可以用一个端口。

{
    "server": "服务器的ip",
    "server_port": 端口号,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password": "密码",
    "timeout": 300,
    "method": "aes-256-cfb"
}

然后就是开启/关闭服务
开启服务:ssserver -c /etc/shadowsocks.json -d start
关闭服务:ssserver -c /etc/shadowsocks.json -d stop

Android客户端

自行下载 shadowsocks App

操作界面
操作也是很简单的

  1. 配置名称 : 任意
  2. 服务器 : vps ip
  3. 远程端口 : vps 开放端口号
  4. 密码 : 字面意思
  5. 加密方法 : 与服务器端保持一直

Linux客户端

安装 shadowsocks
yaourt -S shadowsocks-qt5

添加配置基本与android相同
connection -> add -> manually

终端

以我的 Arch 为例

1.安装shadowsocks

yaourt -S python2.7 python-pip
pip install shadowsocks

编辑文件vim /etc/shadowsocks.json,填写代理信息:

{
    "server":"my_server_ip",
    "server_port":8388,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"mypassword",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
}

后台启动/停止shadowsocks
启动:sslocal -c /etc/shadowsocks.json -d start
停止:sslocal -c /etc/shadowsocks.json -d stop

2. sock5转http

Shadowsocks使用socks5协议,而终端很多工具目前只支持http和https等协议,所以我们为终端设置Shadowsocks的思路就是将socks5协议转换成http协议,然后为终端设置即可。

简而言之,我们需要一个代理的代理去支持我的vpn,因为Shadowsocks不支持我们常用的传输协议。
这里我用到的是 privoxy ,附带一个比较详细的博文介绍

2.1 安装 privoxy
yaourt -S privoxy
2.2 配置 privoxy

终端输入 sudo vim /etc/privoxy/config

修改如下

# listen-address  127.0.0.1:8118 找到这句并改成以下
listen-address  0.0.0.0:8118
# 添加一句
forward-socks5   /               127.0.0.1:1080 .

然后再是重启一下服务 就可以使用代理

sudo systemctl restart privoxy

现在,你可以在某个命令前面加上http_proxy=http://localhost:8118设置代理。
(8118 端口是 privoxy 的默认端口

2.3 验证代理是否成功

没有挂代理的时候:

curl ip.gs
Current IP / 当前 IP: (手动马赛克)
ISP / 运营商:  ChinaTelecom
City / 城市: Wuhan Hubei
Country / 国家: China

挂了代理的时候:

http_proxy=http://localhost:8118 curl ip.gs
Current IP / 当前 IP: (手动马赛克)
ISP / 运营商:  digitalocean.com
City / 城市:  London
Country / 国家: United Kingdom

如果要在当前shell内一直使用代理,只要设置
export http_proxy=http://127.0.0.1:8118/
即可
如果想在当前shell取消代理,则 $ unset http_proxy
如果想要在终端内一直使用代理,也可以在 ~/.bashrc 中设置一下也可。

vim ~/.bashrc

添加一句

export http_proxy=http://127.0.0.1:8118/

最后是source一下让它立刻生效

source ~/.bashrc

3. Proxychains

无疑,无论是临时使用 http_proxy=http://127.0.0.1:8118/ ,当前shell 设置代理,还是全局设置都不是很方便。这里提供一种方式,你只需要在你想要代理的命令前输入 proxychains4 即可。

3.1 安装
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
./configure
(sudo) make && make install
cp ./src/proxychains.conf /etc/proxychians.conf
cd .. && rm -rf proxychains-ng
3.2 修改配置
vim /etc/proxychains.conf

输入以下操作

strict_chain
proxy_dns 
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
quiet_mode

[ProxyList]
socks5  127.0.0.1 1080
3.3 测试
proxychains4 curl ip.gs
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
Current IP / 当前 IP: (手动马赛克)
ISP / 运营商:  digitalocean.com
City / 城市:  London
Country / 国家: United Kingdom
Categories: 宅技术

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Related Posts

宅技术

OwnCloud 作为图床的简易使用方法

今天因为薛昊买VPS了,赚点访问量简单写一下吧。 OwnCloud是开 Read more…

宅技术

ShadowSocks-Qt5 崩溃解决记录

自从把Linux强制全局代理很长时间了,已经不知道怎么改回去了…… 结 Read more…

宅技术

Ghost博客安装简明指南

前言 Ghost 是一套基于 Node.js 构建的开源博客平台(Op Read more…