rico93 大佬写了一个可以和 SSPanel-Uim 对接的后端. 可以在面板管理小鸡设置了, 这里介绍后端手动配置流程. 项目 wiki 上手确实有点难
项目面板优先选择 rico 维护的面板. Anankke 的面板更新会延迟一点, 发现 bug 修复了也要等 pr 才能生效, dev 的分支 bug 也多
v2Ray 付费的后端: pay-v2ray-sspanel-v3-mod_Uim-plugin
项目变成私有的了 散了散了 v2rayv3/pay-v2ray-sspanel-v3-mod_Uim-plugin
免费的在 rico 咕咕咕群里有存档. 自己找
准备工作
必需条件
适用于 nginx + rico93 V2Ray 后端 + TLS + WS (+ Cloudflare 可选) 配置。基础条件和注意事项, 本文不作讲解
- Cloudflare 账号一下简称 CF
- 域名一个, Nameserver 填写 CF 的
- 使用
acme.sh
配置 TLS 证书 (cf_dns 认证) - CentOS 7.6 使用
cat /etc/redhat-release
查看 - 启用 BBR
- nginx 1.16, 且完成 WS 配置
- 建议开启 SELinux 和防火墙 (可选)
rico93 后端配置
- rico 的免费或者付费后端 (建议付费给 rico 丢面包)
- rico 后端配置
- rico 面板节点设置
简单介绍
如果需要 Caddy 或者 Nginx 来反向代理, 请将第一个端口设定为 0, 让程序切成本地监听。V2Ray 的 grpc API 接口默认是 2333 (这 2333 不是连接端口)。这里不要修改
后端支持两种连接方式
- 数据库连接
ss-panel-v3-mod_Uim
和SSRPanel
- webAPI
ss-panel-v3-mod_Uim
rico93 后端安装
虽然支持使用脚本安装, 但是本文不用脚本安装
安装脚本
这里可以对应配置文件里面的参数
--panelurl https://google.com # 表示 WEBAPI URL
--panelkey 55fUxDGFzH3n # 表示 MU KEY
--nodeid 123456 # 节点 ID, 可以为 0
--downwithpanel 1 # 前端面板异常下线时, 0 为节点端不下线、1 为节点跟着下线
--mysqlhost https://bing.com # 数据库访问域名
--mysqldbname demo_dbname # 数据库名
--mysqluser demo_user # 数据库用户名
--mysqlpasswd demo_dbpassword # 数据库密码
--mysqlport 3306 # 数据库连接端口
--speedtestrate 6 # 测速周期
--paneltype 0 # 面板类型, 0 为 ss-panel-v3-mod、1 为 SSRPANEL
--usemysql 0 # 连接方式, 0 为 webapi, 1 为 MySQL 数据库连接, 请注意 SSRPANEL 必须使用数据库连接
--lsdn xx.xx.xx.xx # xx.xx.xx.xx 是你要设定的 dns 地址
--cfkey xxxx # cloudflare key
--cfemail xxxx # cloudflare email
--local xxx.zip # rico93 记忆中, 免费版的安装脚本用这个参数可以安装本地压缩包
手动安装
简单来讲就是把原有的 v2ray 可执行程序替换成 rico93 的后端程序
首先下载 rico93 的后端程序, 把原有的 v2ray 可执行程序替换成刚下载的后端. 注意关闭程序操作
-
使用官方的脚本安装 V2Ray 官方程序, 这样能省去很多设置步骤
bash <(curl -L -s https://install.direct/go.sh)
-
下载 rico93 的后端文件
v2ray-linux-64.zip
-
解压后把
v2ray
替换到/usr/bin/v2ray/v2ray
-
修改
/etc/v2ray/config.json
文件, 复制这个模板, 并配置结尾的sspanel:{}
{ "api": { "services": [ "HandlerService", "LoggerService", "StatsService", "RuleService" ], "tag": "api" }, "inbounds": [ { "listen": "127.0.0.1", "port": 2333, "protocol": "dokodemo-door", "settings": { "address": "127.0.0.1" }, "tag": "api" } ], "log": { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "info" }, "outbounds": [ { "protocol": "freedom", "settings": {} }, { "protocol": "blackhole", "settings": {}, "tag": "blocked" } ], "policy": { "levels": { "0": { "connIdle": 300, "downlinkOnly": 5, "handshake": 4, "statsUserDownlink": true, "statsUserUplink": true, "uplinkOnly": 2 } }, "system": { "statsInboundDownlink": false, "statsInboundUplink": false } }, "reverse": {}, "routing": { "settings": { "rules": [ { "ip": [ "0.0.0.0/8", "10.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24", "192.0.2.0/24", "192.168.0.0/16", "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "::1/128", "fc00::/7", "fe80::/10" ], "outboundTag": "blocked", "protocol": [ "bittorrent" ], "type": "field" }, { "inboundTag": [ "api" ], "outboundTag": "api", "type": "field" }, { "domain": [ "regexp:(api|ps|sv|offnavi|newvector|ulog\\.imap|newloc)(\\.map|)\\.(baidu|n\\.shifen)\\.com", "regexp:(.+\\.|^)(360|so)\\.(cn|com)", "regexp:(.?)(xunlei|sandai|Thunder|XLLiveUD)(.)" ], "outboundTag": "blocked", "type": "field" } ] }, "strategy": "rules" }, "stats": {}, "sspanel": { "nodeid": 123456, "checkRate": 60, "SpeedTestCheckRate": 6, "panelUrl": "https://google.com", "panelKey": "55fUxDGFzH3n", "downWithPanel": 1, "mysql": { "host": "https://bing.com", "port": 3306, "user": "demo_user", "password": "demo_dbpassword", "dbname": "demo_dbname" }, "paneltype": 0, "usemysql": 0 } }
webAPI
- 修改面板
.config.php
文件$System_Config['muKey']='55fUxDGFzH3n';
设置一个复杂的密码 - 把面板地址填在
panelUrl
- 面板设置的
muKey
填写在panelKey
usemysql
这个后面要填0
- 修改面板对应的
nodeid
- 配置结束w
数据库连接 (mysql)
- 修改
mysql
节点, 把数据库地址
,数据库端口
,数据库用户名
,数据库密码
,数据库表名
依次填入 usemysql
这个后面要填1
- 修改面板对应的
nodeid
- 配置结束w
rico93 面板节点设置
添加/修改
一个节点- 节点类型选择
V2Ray
或V2Ray 中转
单端口多用户启用
-> 修改为 ->只启用普通端口
- 填写节点地址, 按照下面格式
例子:
1.1.1.1; 443; 4; tls; ws; path=/v2ray|host=tls的域名|inside_port=10550|outside_port=443
没有CDN的域名或者IP;外部端口;AlterId;协议层;附加协议;额外参数
判断逻辑:
- 如果
外部端口
是0
或者为空
, 则默认监听本地[127.0.0.1:inside_port]
(inside_port 下方有解释) - 如果
外部端口
不是0
, 则监听[0.0.0.0:外部端口]
, 此时无需设置inside_port
- 默认使用 Caddy 来提供 TLS, 控制代码不会生成 TLS 相关的配置。Caddyfile 可以在本项目的
/Docker/Caddy_V2ray/Caddyfile
文件中看到 - 若
outside_port
存在, 则 PHP 端会在生成订阅时候使用outside_port
覆盖port
额外参数: 额外参数使用 |
来分隔
inside_port # 为内部监听端口, 当宿主机安装多个后端时, 请确保每个不一样
outside_port # 用于重写外部端口, 当使用 WS + TLS 协议或 NAT 类型节点试使用
path # 为访问路径, 当协议为 WS 时使用。
host # 用于定义 headers, 当协议为 WS 时使用。
server # 用于当节点藏在 CDN 后时覆盖第一个地址
配置示例
// TCP 示例, 请注意后面有两个分号
非CDN域名或者ip;非0;2;tcp;;
// WS
非CDN域名或者ip;8080;2;ws;;path=/v2ray|host=这里可以用加了CDN的域名
// WS + TLS (自动配置)
非CDN域名或者ip;非0;2;tls;ws;path=/v2ray|host=tls的域名|inside_port=10550
// WS + TLS (Caddy / nginx 提供)
非CDN域名或者ip;0;2;tls;ws;path=/v2ray|host=tls的域名|inside_port=10550|outside_port=443
// nat 鸡 ws
非CDN域名或者ip;非0;2;ws;;path=/v2ray|host=这里可以用加了CDN的域名
// nat 鸡 ws + tls (自动配置), 因为部分商家并不提供 80 & 443 访问, 所以请考虑手动申请 SSL 证书
非CDN域名或者ip;非0;2;tls;ws;path=/v2ray|host=tls的域名
// nat 鸡 ws + tls (Caddy 提供), 因为部分商家并不提供 80 & 443 访问, 所以请考虑手动申请 SSL 证书
非CDN域名或者ip;0;2;tls;ws;path=/v2ray|host=tls的域名|inside_port=10550|outside_port=11120
以下为 KCP 示例部分, 支持所有 V2Ray 的 type
// none: 默认值, 不进行伪装, 发送的数据是没有特征的数据包。
非CDN域名或者ip;非0;2;kcp;noop;
// srtp: 伪装成 SRTP 数据包, 会被识别为视频通话数据 (如 FaceTime)
非CDN域名或者ip;非0;2;kcp;srtp;
// utp: 伪装成 uTP 数据包, 会被识别为 BT 下载数据。
非CDN域名或者ip;非0;2;kcp;utp;
// wechat-video: 伪装成微信视频通话的数据包
非CDN域名或者ip;非0;2;kcp;wechat-video;
// dtls: 伪装成 DTLS 1.2 数据包
非CDN域名或者ip;非0;2;kcp;dtls;
// wireguard: 伪装成 WireGuard 数据包 (并不是真正的 WireGuard 协议)
非CDN域名或者ip;非0;2;kcp;wireguard;
实例:
(订阅)
有这个的是订阅时获取到的值. (后端)
后端用的值
服务器IP: 111.222.333.444
服务器域名: us.exp.com
v2ray(后端): 监听内网 127.0.0.1
v2ray(后端): 监听端口 9999
AlterId(订阅)(后端): 4
协议层(订阅)(后端): tls
附加协议(订阅)(后端): ws
额外参数: path=/v2ray|host=us.exp.com|inside_port=9999|server=us.exp.com|outside_port=443
ws路径(订阅)(后端): path=/v2ray
Host地址(订阅)(后端): host=us.exp.com
监听端口(后端): inside_port=9999
如果套了cf这里写套了cf的域名(订阅): server=us.exp.com
外网访问的端口(订阅): outside_port=443
完整地址:
111.222.333.444;0;4;tls;ws;path=/v2ray|host=us.exp.com|inside_port=9999|server=us.exp.com|outside_port=443
原文 - rico93 的 wiki
普通安装后端-安装 V2Ray, 仅适用于付费版
[配置] 作为 V2Ray 后端
仓库备份 v2ray-sspanel-v3-mod_Uim-plugin