司开星的博客

Centos7中使用shadowsocks建立多用户并控制流量全记录

manyuser安装及启用

下载及依赖库安装

下载manyuser

shadowsocks manyuser是一个shadowsocks多用户修改版。官方地址:https://github.com/mengskysama/shadowsocks/tree/manyuser

下载:
git clone -b manyuser https://github.com/mengskysama/shadowsocks.git
会在当前目录下载manyuser。
解压出来为/shadowsocks/shadowsocks

安装及使用Mysql

manyuser使用Mysql存储数据。故需要先安装mysql,centos7中默认为mariaDB(myspl修改版)

yum install mariadb-server mariadb

  • 启动及关闭:
    systemctl start mariadb
    systemctl enable mariadb

  • 修改密码:
    /usr/bin/mysql_secure_installation

  • 登录:
    mysql -u root -p

  • 根据manyuser官方指南需要创建一个shadowsocks数据库:
    create database shadowsocks

  • 选择数据库
    use shadowsocks

  • 导入下载的manyuser的/shadowsocks/shadowsocks/下的shadowsocks.sql脚本:
    source /shadowsocks/shadowsocks/shadowsocks.sql
    脚本会自动在数据库中建立一个user表。
    查看脚本写入的内容:
    show tables

  • 查看表内容:
    select * from user
    其中:

1
2
3
4
5
6
7
8
9
10
11
passwd: server pass

port: server port

t: last keepalive time

u: upload transfer

d: download transer

transfer_enable: if u + d > transfer_enable this server will be stop (db_transfer.py del_server_out_of_bound_safe)
  • 添加内容:
    insert into user() values()

  • 修改内容
    update 表名称 set 列名称=新值 where 更新条件;

  • 新建一个数据库用户以方便shadowsocks程序管理数据库:
    create user ssuser@localhost identified by 'passwd'
    授权:
    grant all on shadowsocks.* to 'ssuser'@'localhost'

安装其他依赖

yum install m2crypto
pip install cymysql

配置文件

vi Config.py

1
2
3
4
5
6
7
8
9
10
11
12
#Config Example
MYSQL_HOST = 'localhost'
MYSQL_PORT = 3306
MYSQL_USER = 'ssuser'
MYSQL_PASS = 'passwd'
MYSQL_DB = 'shadowsocks'

MANAGE_PASS = 'ss233333333'
#if you want manage in other server you should set this value to global ip
MANAGE_BIND_IP = '127.0.0.1'
#make sure this port is idle
MANAGE_PORT = 23333

防火墙配置

不要忘记在系统防火墙中开启需要使用的端口:
firewall-cmd --zone=public --add-port=50000/tcp --permanent
firewall-cmd --reload

启动

python server.py
如果没有报错就说明启动正常了。
后台运行且注销也不停止:
nohup python server.py > /dev/null 2>&1 &

开机启动:(无法正常执行)
开机启动mariadb:
systemctl enable mariadb
开机启动many-user:

1
2
cd /shadowsocks/shadowsocks/ # server.py配置文件在这个目录中,调用要先进入这个目录
python server.py --fast-open

本地配置

本地配置的服务器IP填VPS的IP,端口和密码填VPS上服务开启后显示的端口和密码(也就是数据库表中的port和passwd),加密方式选rc4-md5。即可正常使用。

RHEL 及 CentOS 7 安裝 Apache, MariaDB, PHP(LAMP)
21分钟 MySQL 入门教程
mysql导入sql脚本
mysql 创建用户与授权、修改密码