django-sspanel添加多节点

2018年5月9日更新:

这个页面不再更新,请参考下面两篇(2018年5月9日更新)

django-sspanel前端搭建: django-sspanel前端搭建

django-sspanel后端搭建: django-sspanel后端搭建

2017年12月26日更新:
面板作者更新了新功能,需要使用新版后端,需要更改api接口为ehcomod(原为sspanelv3ssr)均在文中体现,博主已重新搭建一次。

站长又买了个VPS,索性为augustdoit小站再添加一个节点。
在新的VPS上搭建后端,注意:如果你已经搭建好,请直接看如下章节

初始化配置文件-编辑usermysql.json 汗!这个链接没有做好,请手动寻找。

添加节点

修改宝塔数据库权限

获取源代码

cd
git clone https://github.com/Ehco1996/shadowsocksr.git

目录结构说明

根目录shadowsokcsr 多用户版数据库版本
子目录shadwosocksr/shadowsocks 单用户版本

安装依赖

cd shadowsocksr
./setup_cymysql.sh

初始化配置文件

bash ./initcfg.sh

编辑usermysql.json

vi usermysql.json

重要!! 数据库信息一定要与前端一致!!要填写新的节点ID

"host": "前端 mysql地址",    #数据库地址,我的是前端所在VPS的IP
"port": 3306,
"user": "sspanel",      # 数据库用户名
"password": "sspanel",  # 数据库密码
"db": "sspanel",        # 数据库名
"node_id": 2,           # 填写一个新的id,之后前端设置要与这个一样
"transfer_mul": 1.0,
"ssl_enable": 0,
"ssl_ca": "",
"ssl_cert": "",
"ssl_key": ""

编辑user-config.json

vi user-config.json

"method":"rc4-md5", #修改成您要的加密方式的名称
"protocol": "origin", #修改成您要的协议插件名称
"obfs": "plain", #修改成您要的混淆插件名称

如何选择参考:ShadowsocksR 推荐协议混淆设置

编辑userapiconfig.py

vi userapiconfig.py

API_INTERFACE = 'ehcomod' //修改接口类型

添加节点

浏览器登陆–左下角网站后台–节点列表–添加节点
节点信息跟刚设置的几个配置文件一一对应。
节点ID,上文usermysql.json配置文件新添加的"node_id": 2,所以新添加的节点ID也是2。
自定义加密0为不允许用户自定义加密,1为可以。

添加节点

修改宝塔数据库权限

宝塔数据库默认权限设置是只有本地,也就意味着新的VPS后端无法链接django-sspanel前端站点的数据库,也就无法成功添加新的节点,所以需要将数据库权限修改为所有人。为什么?看下面说明,目前指定IP只能指定1个!!

登陆前端站点宝塔面板,如图设置

数据库权限

宝塔数据库权限说明
本地服务器:限制当前数据库,只能在该服务器上访问。
所有人:任何人都可以远程连接至数据库。
IP地址:仅限指定的IP访问,仅支持一个IP。
若需要开启外网访问,仍需要在防火墙中放行Mysql端口(默认3306)。

服务的运行和停止

以下所有命令均在根目录shadowsocksr下执行

python server.py

输出

运行情况

CTRL+C终止运行
后台运行

screen -dmS shadowsocks python server.py

说明:后面有关于screen用法。

这时可用客户端测试链接情况了。如果服务端没有错误,而连接不上,需要检查防火墙配置,直接关闭

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service

节点最终效果

最终效果

其他运行方式(通过脚本运行)

后台运行(无log,ssh窗口关闭后也继续运行)

./run.sh

后台运行(输出log,ssh窗口关闭后也继续运行)

./logrun.sh

后台运行时查看运行情况

./tail.sh

停止运行

./stop.sh

注:通过脚本运行默认日志会保存在根目录的ssserver.log,可手动查看。

关于screen用法

以本文screen -dmS shadowsocks python server.py为例

screen -dmS 用来创建一个处于断开模式的会话,shadowsocks为session name。
screen -r shadowsocks 可以恢复指定的会话,忘记了可以用screen -ls来查看。
Ctrl+A+D 暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

详细用法见:linux screen 命令详解

相关参考

django-sspanel前端搭建: django-sspanel前端搭建

django-sspanel后端搭建: django-sspanel后端搭建