SSPanel-Uim 后端详细搭建过程

发布于 2021-02-02  521 次阅读


本文章转载https://www.opsit.cn/435.html,在此基础上更新增加了步骤,更加明了。

0x01 系统要求

Centos 7、512M以上内存,小内存的机器会导致后端经常掉线;

0x02 安装工具&关闭防火墙

必备工具如果已经安装了就略过

yum -y install vim git wget screen zip unzip

更新系统和安装环境包,一行一条代码,等待上一条执行完毕了再执行下一条

yum -y update
yum -y groupinstall "Development Tools"

安装加密包,让后端支持更多加密方式:

cd ~
wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig && cd ~

关闭 CentOS 7 的防火墙并禁用:

systemctl stop firewalld.service
systemctl disable firewalld.service

0x03 安装后端

克隆安装后端程序,一行一条代码,等待上一条执行完毕了再执行下一条

yum -y install epel-release
yum -y install python-pip
git clone https://github.com/Anankke/shadowsocks-mod.git
cd shadowsocks-mod
git reset --hard efc986b731164aae3fef6fb5b9e8802754e63e3e
pip install -r requirements.txt
cp apiconfig.py userapiconfig.py
cp config.json user-config.json

0x04 配置后端

后端开始配置前需要先在前端面板上新建一个节点并记录好新建节点的[code]ID[/code]稍后配置后端需要这个节点的ID
在前端新建节点,我新建的节点ID是3

修改后端配置文件,后端节点的默认配置文件路径是:/root/shadowsocks-mod/

vim userapiconfig.py

修改配置文件中的以下参数,其他的不懂别乱改

NODE_ID  #改为面板对应的节点ID,上一步新建的节点ID
API_INTERFACE  #改为 glzjinmod
MYSQL_HOST  #如果面板和节点在一台机这里是localhost或者127.0.0.1 如果是远程面板,这里是远程面板数据库的IP
MYSQL_USER  #改为面板机数据库用户名
MYSQL_PASS  #改面板机数据库的密码
MYSQL_DB  #改为面板机数据库的名字

配置文件说明如下:

# Config
#节点ID
NODE_ID = 1
#自动化测速,为0不测试,此处以小时为单位,要和 ss-panel 设置的小时数一致
SPEEDTEST = 6
#云安全,自动上报与下载封禁IP,1为开启,0为关闭
CLOUDSAFE = 1
#自动封禁SS密码和加密方式错误的 IP,1为开启,0为关闭
ANTISSATTACK = 0
#是否接受上级下发的命令,如果你要用这个命令,请参考我(此处指 glzjin )之前写的东西,公钥放在目录下的 ssshell.asc
AUTOEXEC = 1
#单端口多用户设置,看重大更新说明
MU_SUFFIX = 'zhaoj.in'
MU_REGEX = '%5m%id.%suffix'
#不明觉厉
SERVER_PUB_ADDR = '127.0.0.1' # mujson_mgr need this to generate ssr link
#访问面板方式
API_INTERFACE = 'modwebapi' #glzjinmod (数据库方式连接),modwebapi (http api)
#mudb,不要管
MUDB_FILE = 'mudb.json'
# HTTP API 的相关信息,看重大更新说明。
# 面板地址,区分https和http
WEBAPI_URL = 'https://zhaoj.in'
# 此处为.config.php中的muKey
WEBAPI_TOKEN = 'glzjin'
# Mysql 数据库连接信息
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_USER = 'ss'
MYSQL_PASS = 'ss'
MYSQL_DB = 'shadowsocks'
# 是否启用SSL连接,0为关,1为开
MYSQL_SSL_ENABLE = 0
# 客户端证书目录
MYSQL_SSL_CERT = '/root/shadowsocks/client-cert.pem'
MYSQL_SSL_KEY = '/root/shadowsocks/client-key.pem'
MYSQL_SSL_CA = '/root/shadowsocks/ca.pem'
# API,不用管
API_HOST = '127.0.0.1'
API_PORT = 80
API_PATH = '/mu/v2/'
API_TOKEN = 'abcdef'
API_UPDATE_TIME = 60
# Manager 不用管
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

如果你的机器使用宝塔(bt.cn)面板,此处修改配置可以用宝塔面板修改,更加方便一些(个人感觉)

0x05 启动后端

后端相关参数配置完毕后,进入shadowsocks-mod目录执行 ./logrun.sh这样后端就跑起来了

cd /root/shadowsocks-mod
./logrun.sh

上一步让后端跑起来了,但是怎么知道后端运行有没有报错呢,我们来执行[code] ./tail.sh [/code]来查看运行日志,如果日志没有错误那么后端就正常运行。或者执行python server.py 这个命令是调试模式,如果执行python server.py运行没有错误就可以跳过这一步直接运行 ./logrun.sh 

cd /root/shadowsocks-mod
./tail.sh

0x06 前端验证

现在后端已经跑起来了,那么我们还需要去前端节点列表查看这个节点是否在线,远程节点可能需要等几分钟才显示正常。

0x07 安装 BBR 加速(不支持 OpenVZ)【可选步骤】:

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"
chmod +x tcp.sh
./tcp.sh

公交车司机终于在众人的指责中将座位让给了老太太