打造多用户 ShadowsocksR VPS 过程

2017/4/2

这是我自己的安装过程,非常方便,核心功能 lnmp 和 resilio sync 使用 docker 实现,省太多事了。
主要功能是:建立一个网页客户界面,方便管理 SSR 参数;shadowsocksR 读取每一个用户独立的 SSR 参数并启动;数据库默认只能被本机使用;

安装 Docker

参考这里的文章 进行 Docker 安装,我使用的是 Ubuntu 所以要看这里 Docker for Ubuntu,请务必注意自己的系统版本:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update -y && sudo apt-get install docker-ce -y 

   

安装 Resilio Sync

这是因为我偶尔有时候需要 VPS 跟我的笔记本同步一些数据,你不使用 Btsync 的话,就可以不安装,请跳过。

DATA_FOLDER=~/sync
WEBUI_PORT=8888
mkdir -p  $DATA_FOLDER/folders  
sudo docker run -d --name Sync  \
     -p 127.0.0.1:$WEBUI_PORT:8888 -p 55555 \
     -v $DATA_FOLDER:/mnt/sync \
     --restart=on-failure resilio/sync

然后在你自己的电脑上使用 :
ssh -N -L 9888:127.0.0.1:8888 username@your.vps.ip.or.domain
打开你的浏览器,网址输入 127.0.0.1:9888 就可以配置 Btsync 同步,从些之后你要跟你的 VPS 之间传输什么文件或者要做备份,就方便多了。

安装 lnmp

如果你要制作基于数据库的 shadowsocks 多用户使用,这一步建议你还是要进行的,这一步将会为你直接配置好数据库、web、php ,简单省事。

DOCKER_FOLDER=~/docker
cd $DOCKER_FOLDER\
    && git clone https://github.com/bao3/mini_lnmp.git \
    && cd mini_lnmp

接下来就是模仿 ~/mini_lnmp/nginx_conf/default.conf 写自己的网站配置,然后把自己的网站数据库放在 ~/mini_lnmp/sql ,把自己的网站证书放在 ssl 下面,将网站目录放在 webroot 。启动我们的网页服务器,记住 sql 里的数据库文件在第一次启动时,是自动导入,省心太多了,是不是?

docker run -d --restart=always -v ~/mini_lnmp:/mnt  \
        -p 127.0.0.1:1222:22 -p 80:80 -p 443:443   \
        -p 127.0.0.1:3306:3306 --name lnmp bao3/mini_lnmp

安装多用户版 shadowsocksr

十分建议你将 ss 服务端换成 shadowsocksR,也就是 SSR,主要是这个客户端既可以兼容旧的 SS 又支持新的混淆,非常的方便和安全,而且围绕它的周边软件非常多。

cd ~ \
    && git clone -b manyuser https://github.com/shadowsocksr-backup/shadowsocksr.git \
    && cd shadowsocksr \
    && bash initcfg.sh \
    && sed -i "s/API_INTERFACE =.*$/API_INTERFACE = 'sspanelv3ssr' /" userapiconfig.py \
    && sed -i 's/"host":.*/"host": "127.0.0.1" ,/' usermysql.json \
    && sed -i 's/"user":.*/"user": "sspanel" ,/' usermysql.json \
    && sed -i 's/"password":.*/"password": "sspanel" ,/' usermysql.json \
    && sed -i 's/"db":.*/"db": "sspanel" ,/' usermysql.json

然后修改 userapiconfig.py usermysql.json user-config.json等等,这个就属于 SSR 的配置问题咯。
但是 请确保你的系统安装了 python,pip,setuptools,然后还要安装 pip install cymysql 用以让 shadowsocksR 使用数据库方式来连接

sudo apt install python-pip -y
export LC_ALL=C
pip install cymysql

python server.py 看看能不能运行,OK 的话,就可以使用 supervisord 来保持后台了。

安装 Supervisor 保持后台运行

sudo apt install supervisor -y \
sudo  echo_supervisord_conf > /etc/supervisord.conf
sudo vim /etc/supervisord.conf   

在最后一行,加入:

  [program:ssr]
  command=/usr/bin/python /home/bao3/shadowsocksr/server.py
  user=bao3

完工