ShadowSocks多用户管理系统(SS-Panel-smarty-Edition+SSR+锐速)搭建教程
[hermit autoplay="true" mode="circulation" preload="auto"]netease_songlist#:30569173[/hermit]
现在很多人都用VPS 搭建了 shadowsocks 科学上网,刚开始 一两台VPS自用随便装,后来 VPS 买着买着就多了,闲置资源也多了,就开始考虑如何集中管理。看到网上很多人都在用SS-Panel 搭建,教程也多这里就不啰嗦了,直接 GOOGLE搜索一大堆。我就来耍耍一个修改版的 SS-Panel。
GitHub : https://github.com/Ahref-Group/SS-Panel-smarty-Edition
搭建需求:
PHP >= 5.4
PDO Extension
MCrypt Extension
Mysql >= 5.1
系统推荐用Ubuntu 14.04、Debian 7系统,32位、64位均可,推荐64位。
我选用的是 Debian 7 64bit
推荐一个非常好用的密码生成网站:
http://randomkeygen.com/
软件需求:
Xshell 5 (SSH连接):https://www.netsarang.com/download/down_xsh.html
Xftp 5 (FTP连接):https://www.netsarang.com/download/down_xfp.html
因为习惯用 Xshell 连接SSH ,所以 也一样习惯性的使用他们家的 Xftp ,真心好用方便的一对组合。在Xshell 成功连接 SSH 后,任意目录下 CTRL+ALT+F 就可以打开Xftp非常方便。
- 打开 Xshell 5 如下图操作:
点击左侧“键盘”,在右边选择“ASC”ASCII 127"。这样做可以避免在点击“BACKSPACE”按钮的时候出现“^H”符号而不删除错误字符。
- Xftp 默认的文本编辑器是 windows 自带的,非常不好用,推荐自定义。
菜单栏“工具”---“选项”---“高级”标签页---编辑器路径。修改为你常用的编辑器就可以了。我这里是EverEdit,其实Notepad++也不错。
搭建前端
也就是搭建web环境,LNMP/LAMP都可以,又或者NGINX + PHP 7 + MariaDB 10都行,只要能访问网站就行。我这里用的是军哥的 LNMP 1.3,简单方便。
LNMP一键安装包:http://lnmp.org/install.html
更新系统的预装软件:
apt-get update && apt-get upgrade -y
安装运行LNMP、SSpanel、SSR需要的软件:
apt-get install -y redis-server screen m2crypto git python-pip
使用screen命令建立一个独立会话来安装 LNMP:
screen -S lnmp
开始安装LNMP:
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
运行安装脚本后,需要回答几个问题如下图:
安装过程有些漫长,要看你的VPS性能如何,耐心等待就是了。
漫长等待过后,LNMP安装完成了就会如下图:
创建虚拟机
lnmp vhost add
过程很简单:
- 输入域名。我这里输入的是 ss.hopol.cn ,当然你要输入你自己的域名,或者直接输入IP也可以。
- 是否输入更多域名。否,输入 n <回车>
- 输入网站文件保存路径。默认是你刚输入的域名,直接 <回车>
- 是否添加伪静态规则。是,输入 y <回车>
- 伪静态规则模板,默认other,直接 <回车>
- 是否保存网站访问记录。一般都不查阅,输入 n <回车>
- 是否添加MySQL数据库用户,不添加,输入 n <回车>
创建数据库及用户
打开phpmyadmin,用刚才安装时候设置的 root 密码登录。
新建一个数据库用户 sspanel
这样数据库和用户都创建了,当然用户名及密码你要记住。
安装 SS-Panel-smarty-Edition
浏览器打开 https://github.com/Ahref-Group/SS-Panel-smarty-Edition
下载 SS-Panel-smarty-Edition-smarty.zip到桌面并且解压
请按需修改 /lib/config-sample.php 的设置,然后把文件重命名成 /lib/config.php
将 lib/Ss/Code/config-sample.php 改名为 config.php 内容不用修改。
打开 /sql 目录,将目录下 的*.sql 文件通过phpmyadmin 导入到数据库sspanel中。
打开 Xshell 5 连上 VPS 的 SSH 后
输入命令 cd /home/wwwroot/ss.hopol.cn
这里的 ss.hopol.cn 是我刚才安装的目录,你要按照你自己安装的名称修改才能打开。
按键盘 CTRL + ALT + F , 打开 Xftp,找到 /home/wwwroot/ss.hopol.cn 目录,将刚才下载并且修改过的的网站文件上传。
请确保目录 lib/Ss 有读写权限
SSH下 输入 chmod -R 777 Ss (lib目录下)
打开你的网址就可以看到 网站界面,数据库*.SQL下默认有一个邀请码为 233 。用这个邀请码注册第一个用户。然后打开数据库 找到 ss_user_admin 插入一个 uid=1 id=1 ,就设置了你刚才注册的第一个用户为管理员,以后通过 http://网址/admin 打开管理页面。
官方已经更新 ,默认不带 邀请码。 请按照官方的教程手动添加管理员。
PS. 用户等级:
A-免费用户
B-普通用户
C-普通节点不限流量用户
D-高级用户
E-高级节点不限流量用户
配置节点
分两种情况
同在一台VPS下的节点配置
一、安装节点负载
将桌面 SS-Panel-smarty-Edition-smarty 文件夹根目录下的 serverinfo.py 修改后复制到 VPS的 /root 目录下。
在SSH下输入命令
apt-get install gcc python-dev
pip install psutil
运行测试
python serverinfo.py //本脚本可独立于Shadowsocks服务端运行
如果正常会看到反馈信息。懒得截图了,累。
后台运行方式很多种,我这里用的是nohup:
nohup python /root/serverinfo.py >/dev/null 2>&1 &
二、SSR后端安装
还是喜欢用SSR https://github.com/breakwa11/shadowsocks-rss
教程:https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup(manyuser-with-mysql)
- 安装 cymysql
cd && pip install cymysql - 下载 SSR 源码
cd && git clone -b manyuser https://github.com/breakwa11/shadowsocks.git - 修改 SSR 配置文件
A. 通过Xftp来修改。输入目录:/root/shadowsocks,将apiconfig.py改名为userapiconfig.py后修改内容。API_INTERFACE = 'sspanelv2' //修改接口类型
B. 将 mysql.json改名为usermysql.json修改内容如下:
C. 将 config.json改名为user-config.json,然后编辑:
"method":"aes-256-cfb", //修改成您要的加密方式的名称
"protocol": "auth_sha1_compatible", //修改成您要的协议插件名称
"obfs": "tls1.0_session_auth_compatible", //修改成您要的混淆插件名称 - 运行测试
python /root/shadowsocks/server.py
如果正常 就用 nohup 后台运行
在 /shadowsocks 目录下
chmod +x *.sh
nohup /root/shadowsocks/run.sh >/dev/null 2>&1 &
三、安装锐速破解版
因为我的VPS 都是 KVM ,所以必须安装锐速。
破解版用的是91yun 的:https://www.91yun.org/archives/683
SSH 下输入命令:
cd && wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh
查看锐速是否启动
/serverspeeder/bin/serverSpeeder.sh status
重启锐速
/serverspeeder/bin/serverSpeeder.sh restart
在不同的VPS下安装节点
这里拿一台 Virmach 买的 128M内存的 KVM 来做测试。
首先选用的系统是
Debian 7.0.0 x86 Minimal v1 (gen 2)
Debian 7.0.0 x86 Minimal v1 (gen 2) - Min 2GB HDD
小内存没办法了。
打开 /etc/apt/sources.list 把开头为 deb cdrom 的行 用 “#”注释掉。
之后运行命令 apt-get update 更新下,会看到如下错误:
There is no public key available for the following key IDs: xxxxxxxxxxxxxxxx
输入命令修复错误:
aptitude install debian-keyring debian-archive-keyring
再运行 apt-get update 就不会再看到错误了。
安装需要的软件
apt-get install -y redis-server m2crypto git python-pip
一、安装节点负载
入上面教程一样,修改serverinfo.py的时候要根据后台节点服务器列表修改相应的ID
二、安装 SSR
同上,只是在修改usermysql.json内容的时候:
“host”: "127.0.0.1" # 改为你对应前端网站服务器的IP,或者域名
三、安装锐速破解版
同上。
异常排查
如果节点无法访问数据库可能是vps的3306端口被iptables防火墙规则屏蔽了外部链接。
Debian7的方法
打开防火墙规则文件。
/etc/iptables.rules
删掉原来的3306规则(ACCEPT和DROP),然后加上这个规则。
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
然后重载iptables配置文件
iptables-restore < /etc/iptables.rules
Centos6的方法
打开防火墙规则文件。
/etc/sysconfig/iptables
删掉原来的3306规则(ACCEPT和DROP),然后加上这个规则。
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
然后重启iptables
/etc/init.d/iptables restart
开机启动
很多时候忘记了设置开机启动
Centos系统:
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
Ubuntu/Debian系统:
chmod +x /etc/rc.local
vi /etc/rc.local
这个面板坑很多更新教程请浏览
https://lala.im/2362.html