脚本功能
- 可选配置节点为WebAPI模式或MySQL模式
- 可选配置单端口多用户
- 可选启用BBR(CentOS 7 使用Mainline版本kernel,CentOS 8使用系统自带kernel)
- 可选注册为系统服务
- 可选安装saltstack客户端
Centos 7
yum install wget -y && wget https://raw.githubusercontent.com/SuicidalCat/Airport-toolkit/master/ssr_node_c7.sh && chmod +x ssr_node_c7.sh && ./ssr_node_c7.sh
Centos 8
dnf install wget -y && wget https://raw.githubusercontent.com/SuicidalCat/Airport-toolkit/master/ssr_node_c8.sh && chmod +x ssr_node_c8.sh && ./ssr_node_c8.sh
卸载
systemctl disable ssr_node && \rm /usr/lib/systemd/system/ssr_node.service && \rm -rf /soft/shadowsocks
服务启动停止
systemctl start ssr_node
systemctl stop ssr_node
systemctl enbale ssr_node
systemctl disable ssr_node
这里只记录常用方法,若用hyperapp见上面参考那篇文章。
安装docker
yum update
curl -fsSL https://get.docker.com/ | sh
启动docker
systemctl start docker
systemctl enable docker
准备工作:
#更新
yum update
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关SELINUX
vi /etc/sysconfig/selinux
#修改如下内容,重启生效
SELINUX=disabled
#SELINUXTYPE=targeted
部署docker版(普通配置)
默认环境变量 后面对接时用 -e 参数进行变更
NODE_ID=0
SPEEDTEST=6
CLOUDSAFE=0
AUTOEXEC=0
ANTISSATTACK=0
MU_SUFFIX=zhaoj.in
MU_REGEX=%5m%id.%suffix
API_INTERFACE=modwebapi
WEBAPI_URL=https://zhaoj.in
WEBAPI_TOKEN=glzjin
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=ss
MYSQL_PASS=ss
MYSQL_DB=shadowsocks
REDIRECT=github.com
FAST_OPEN=fals
webapi 方式对接
docker run -d --name=ssrmu -e NODE_ID=节点ID -e API_INTERFACE=modwebapi -e WEBAPI_URL=需要对接的地址 -e WEBAPI_TOKEN=前端设置的token --network=host --log-opt max-size=50m --log-opt max-file=3 --restart=always fanvinga/docker-ssrmu
数据库方式对接:
docker run -d --name=ssrmu -e NODE_ID=节点ID -e API_INTERFACE=glzjinmod -e MYSQL_HOST=MYSQL地址 -e MYSQL_USER=mysql用户名 -e MYSQL_DB=数据库名 -e MYSQL_PASS=数据库密码 --network=host --log-opt max-size=50m --log-opt max-file=3 --restart=always fanvinga/docker-ssrmu
参数解释
--name=随便起一个名字(dockername)
-e 环境变量名称=你需要的值
例如可以添加 -e MU_SUFFIX=jd.hk -e SPEEDTEST=12 -e REDIRECT=*:80#127.0.0.1:2333
这样就对接完成了。
docker常用命令
如果对接不成功,可以查看 log 进行排错
docker ps
#查看正在运行的 docker
docker logs -f dockername
#查看选定 docker 的 log
docker rm -f dockername
#删除指定 docker
docker start|stop|restart [id]
#启动停止重启容器
docker exec -it dockername bash
交互式进入容器
#删除指定 docker
docker system df
#查看容器使用的磁盘空间
docker system prune -a
#对 docker 进行全面垃圾回收