前言
无意间发现一个能限速的simple网络代理平台,可以实现创建多协议多用户的节点,目前平台还处于开发中,仅支持shadowsocks/trojan两种协议,openvpn、ikev2、WireGuar、V2ray还处于待开发中。
ss据作者版本描述可以限速,亲测无效,有可能是我的vps问题,欢迎大家测试并留言。 
功能及搭建条件
平台支持如下功能:
- 创建、删除、查询VPN客户端配置
- 配置数据持久化
- 用户级限速
- 容器化部署
- 使用grpc api管理
- 使用http api管理
- 使用命令行工具(spctl)管理
- 使用grpc+protobuf与VPN对接,可自由插拔不同VPN
- prometheus数据指标采集
- 使用dashboard管理
(待开发)
搭建条件 VPS弱鸡一台(1核CPU、192/512M内存);域名一个(可有可无,有域名可以搭建trojan协议节点)
操作系统:CentOS7+,
一键安装
搭建按以下命令一行一行输入回车即可执行。这边默认已准备好具备ssl证书域名**(www.yugogo.tk)**,申请部署证书不会的朋友参见[此处](https://yugogo.xyz/?p=1382)充电。
安装依赖程序
#安装必要条件docker和dockercompose
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
#若是Centos系统需要手动启动,其他系统默认自启
systemctl start docker
#查看是否能用docker
docker run hello-world
curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#检测docker-compose是否能用
docker-compose –version
#下载simple主程序
yum -y install wget
wget https://github.com/fregie/simple/releases/download/v1.0.2/simple-docker-compose.tar.gz
tar -xzf simple-docker-compose.tar.gz
cd docker
初始化配置
启动前修改相关文件配置:第一步骤:打开/root/docker/config.yaml 修改为host参数,改为自己的域名;若不启用trojan协议可以忽略以下第二、三步骤,点击跳过。
grpc_addr: “0.0.0.0:4433”
grpc_gateway_addr: “0.0.0.0:4443”
prom_addr: “0.0.0.0:4442”
host: 你自己的域名
sqlite: /opt/simple/simple.db
services:
- “adapter-trojan:10001”
- “adapter-shadowsocks:10003”
第二步骤(非必选项):打开/root/docker/trojan-go/server.json 修改password、ssl、websocket等参数,见突亮代码行:
{
“run_type”: “server”,
“local_addr”: “0.0.0.0”,
“local_port”: 2443,
“remote_addr”: “www.bing.com“,
“remote_port”: 80,
“sqlite”: “/opt/trojan/trojan.db”,
“password”: [
“用户1的密码(自定义)”
],
“ssl”: {
“verify_hostname”: true,
“cert”: “(ssl证书路径,给为自己的路径)如:/etc/ssl/certs/cert.crt”,
“key”: “(ssl密匙路径)如:/etc/ssl/certs/private.key”
},
“mux”: {
“enabled”: true,
“concurrency”: 4,
“idle_timeout”: 60
},
“websocket”: {
“enabled”: true,
“path”: “/yugogo”
},
“api”: {
“enabled”: true,
“api_addr”: “0.0.0.0”,
“api_port”: 2552
}
}
第三步骤(非必选项):若不启用trojan协议可以忽略。先拷贝ssl证书和密匙文件到/root/docker/trojan-go/命令如下:若没有ssl证书,参见[页尾](https://yugogo.xyz/?p=1590&preview=true#%E5%9F%9F%E5%90%8D%E7%94%B3%E8%AF%B7%E9%83%A8%E7%BD%B2ssl%E8%AF%81%E4%B9%A6)申请证书
cp /etc/ssl/certs/cert.crt ~/docker/trojan-go/
cp /etc/ssl/certs/private.key ~/docker/trojan-go/
打开/root/docker/docker-compose.yaml,修改ssl证书路径,见突亮代码行:
version: ‘3’
services:
trojan:
image: fregie/trojan-go:latest
ports:
- 2443:2443
- 2552:2552
volumes:
- ./trojan-go/server.json:/etc/trojan-go/config.json
- ./trojan-go/cert.crt:/etc/ssl/certs/cert.crt
- ./trojan-go/private.key:/etc/ssl/certs/private.key
- ./trojan-go/data:/opt/trojan
networks:
- simple
adapter-trojan:
image: fregie/adapter-trojan:latest
depends_on:
- trojan
ports:
- 10001:10001
environment:
ADDR: 0.0.0.0:10001
TROJAN_ADDR: trojan:2552
volumes:
- ./trojan-go/server.json:/server.json
networks:
- simple
adapter-shadowsocks:
image: fregie/adapter-shadowsocks:latest
ports:
- 10003:10003
- 50000-50100:50000-50100
environment:
ADDR: 0.0.0.0:10003
PORT_RANGE: 50000-50100
networks:
- simple
simple:
image: fregie/simple:latest
depends_on:
- adapter-shadowsocks
- adapter-trojan
- trojan
ports:
- 4433:4433
- 4444:4444
- 4442:4442
volumes:
- ./config.yaml:/config.yaml
- ./simple:/opt/simple
networks:
- simple
networks:
simple:
driver: bridge
启动主程序/spctl节点管理
不启动trojan则可以直接跳过上述第二、三步骤,直接按照以下命令启动主程序。
#启动主程序
docker-compose up -d
#安装命令管理工具cpctl
wget https://github.com/fregie/simple/releases/download/v1.0.2/spctl
chmod +x spctl
echo ‘grpcAddr: 127.0.0.1:4433’ > $HOME/.spctl
#查看可用协议
./spctl get protos
#创建ss节点
./spctl create session –proto ss –type url –name ss-01
#创建trojan节点
./spctl create session –proto trojan –type url –name trojan-01
#创建trojan限速12.5MB/s节点
./spctl create session –proto trojan –type url –name trojan-02 –limit 100
#创建trojan限速2MB/s节点
./spctl create session –proto trojan –type url –name trojan-03 –limit 16
#创建trojan限速500KB/s节点
./spctl create session –proto trojan –type url –name trojan-04 –limit 4
#查看ss-01节点信息
./spctl get session ss-01 –conf
#查看全部节点信息
./spctl get sessions
#删除指定节点信息
./spctl delete session ss-01
后记
simple注意事项
关闭重启trojan管理命令:docker-compose down && docker-compose up trojan管理所有命令必须在/root/docker/目录下执行,否则不生效。 修改配置务必关闭再重启才能生效,命令如下:docker-compose down && docker-compose up -d VPS若启用BBR网络加速,请使用相匹配的内核版,否则simple平台使用到的docker启动会失败。如搬瓦工的VPS只能使用原版BBR或魔改版BBR,BBR Plus不支持。
BBR网络加速命令:
wget -N –no-check-certificate “https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh“ && chmod +x tcp.sh && ./tcp.sh
域名申请部署ssl证书
以下就是域名申请部署ssl证书的命令,需一行一行回车执行。注意:把www.yugogo.tk更换为自己的域名
cd /root
curl https://get.acme.sh sh -s email=my@example.com
yum -y install socat
~/.acme.sh/acme.sh –issue -d www.yugogo.tk –standalone
~/.acme.sh/acme.sh –installcert -d www.yugogo.tk –key-file /root/certs/www.yugogo.tk.key –fullchain-file /root/certs/fullchain.crt
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lanhebe@gmail.com