在Archlinux中架设多用户Shadowsocks代理

本文将介绍Shadowsocks go版的安装配置 ,该版本支持多用户,方便我们分享给小伙伴.
如果不需要多账户功能,可以查阅我另外一篇博文 架设自己的翻墙代理Shadowsocks

一. VPS的选择

Bandwagonhost – 相当便宜的VPS,我买的Micro-128 套餐,一年才5.99刀. 白天速度不错,但是晚上不稳定,不过有四个机房任意切换,很是方便. 看看邮件网页足够.作为备用也不错.

Linode –本站点所在VPS,性能良好,日本节点速度很快,上海这边平均ping值40ms, 缺点是日本节点对新用户限制开放.得找小伙伴帮忙刷机转你或者淘宝代购. 在此感谢帮我刷了多次机器的黒崎時や,没他的话我还在各个VPS之间徘徊.

OneAsiaHost – 我用过速度的最快的VPS, 本来站点安置在该VPS,但是他的服务响应速度太慢.之前被DDOS攻击,VPS被直接关闭.发了Ticket 3个小时以后才回我. 做站点是不合适的.不过SS完全没问题. 建议大家购买一个季度12刀的套餐.

Vultr – 稳定好用, 可惜日本节点绕美国,要不就选这个了. 推荐购买硅谷节点.

二. Shadowsocks-Go 安装配置

本文所用系统为Archlinux,其他发行版大同小异,希望对各位有所帮助.

  1. 安装Go

    pacman -S go
  2. 下载shadowsocks-server

    mkdir ~/go
    export GOPATH=~/go
    export PATH=$PATH:~/go/bin
    go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server
  3. 将程序移至/usr/bin目录下

    mv  ~/go/bin/shadowsocks-server /usr/bin/
  4. 建立配置文件Shadowsocks

    mkdir /etc/shadowsocks
    cat > /etc/shadowsocks/config.json<<-EOF
    {
    "server":"0.0.0.0",
    "server_port":8989,
    "local_port":1080,
    "password":"BIHell",
    "method":"aes-256-cfb",
    "timeout":600
    }
    EOF
    多用户配置文件格式如下,一个端口为一个用户.
    {
    "port_password":{
         "8989":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "method":"aes-256-cfb",
    "timeout":600
    }
  5. 启动服务器端程序

    shadowsocks-server -c /etc/shadowsocks/config.json

    我们也可以通过服务来启动SS,在Archlinux中服务被称为Units. 先创建一个配置units文件
    vim /etc/systemd/system/shadowsocks-go.service

    内容如下
    [Unit]
    Description=shadowsocks-go is a lightweight tunnel proxy which can help you get through firewalls. It is a port of shadowsocks.

[Service]
ExecStart=/usr/bin/shadowsocks-server -c /etc/shadowsocks/config.json > /dev/null &
Type=idle
Restart=always

[Install]
WantedBy=multi-user.target
启动SS

systemctl start  shadowsocks-go.service
开启自动启动
systemctl enable  shadowsocks-go.service

三. 客户端

可以参考我另外一篇博文 架设自己的翻墙代理Shadowsocks

参考文档

Adding custom units/services to systemd on Arch Linux
systemd
go port of shadowsocks

坚持原创技术分享,您的支持将鼓励我继续创作!