rico大佬写了一个可以和SSPanel-Uim 对接的后端. 可以在面板管理小鸡设置了, 这里介绍后端手动配置流程.项目wiki上手确实有点难.
项目面板优先选择 rico维护的面板.
Anankke的面板更新会延迟一点, 发现bug 修复了也要等pr才能生效,dev的分支bug也多.
选择你想用的面板.
rico面板: github.com/rico93/ss-panel-v3-mod_Uim
v2Ray付费的后端: pay-v2ray-sspanel-v3-mod_Uim-plugin
免费的在rico 咕咕咕群里有存档.自己找.
课前准备:
本教程按照 nginx + rico-v2ray + TLS + WS (+ CF 可选) 配置.
序号1开头的为基础条件和注意事项,本文不作讲解.
序号2开头的本文内容.
1.Cloudflare 账号一下简称CF
1.域名一个 Nameserver 填写 CF的
1.acme.sh
1.TLS证书 (acme.sh cf_dns 认证)
1.rico 的免费或者付费后端 (建议付费给rico丢面包)
1.CentOS 7.6 现在还没出8 使用cat /etc/redhat-release
查看
1.BBR
1.nginx 1.16
1.nginx ws配置
1.SElinux 和防火墙可选,建议都开启
2.rico 后端配置
2.rico 面板节点设置
简单介绍:
作为 V2Ray 后端支持 TCP、KCP、WS 等协议。
WS + TLS,TLS 可以自动配置 (由 acme.sh 提供)。
如果需要 Caddy 或者 Nginx 来反向代理,请将第一个端口设定为 0,让程序切成本地监听。
V2Ray 的 Grpc API 接口默认是 2333 (这 2333 不是连接端口)。这里不要修改
后端支持两种连接方式
1.数据库连接 ss-panel-v3-mod_Uim
和 SSRPanel
2.webAPI ss-panel-v3-mod_Uim
rico 后端配置 (普通安装后端)
首次安装
参数解释: 这里可以对应配置文件里面的参数,本文不用脚本安装
--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 rico记忆中 免费版的安装脚本用这个参数可以安装本地压缩包
首先下载rico 的后端文件,把原有的v2ray 可执行程序替换才下载的后端. 注意关闭程序操作.
1.用v2 官方的脚本装好
bash <(curl -L -s https://install.direct/go.sh)
2.下载rico 后端把下载的v2ray
替换 /usr/bin/v2ray/v2ray
3.修改/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:
1.修改面板.config.php
文件 $System_Config['muKey']='55fUxDGFzH3n';
设置一个复杂的密码
2.把面板地址填在panelUrl
3.面板设置的muKey
填写在 panelKey
4.usemysql
这个后面要填 0
5.修改面板对应的nodeid
6.配置结束w
mysql/数据库连接:
1.修改mysql
节点,把 数据库地址, 数据库端口, 数据库用户名, 数据库密码, 数据库表名 依次填入.
2.usemysql
这个后面要填 1
3.修改面板对应的nodeid
4.配置结束w
rico 面板节点设置
1.添加/修改
一个节点。
2.节点类型为 V2Ray
或 V2Ray 中转
。
3.单端口多用户启用
-> 修改为 -> 只启用普通端口
。
4.填写节点地址,按照下面格式.
例子:
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 提供) 非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
rico 的wiki
普通安装后端-安装 V2Ray,仅适用于付费版
[配置] 作为 V2Ray 后端
nat国内服务器端口转发到香港服务器但是不知道面板的ip地址格式是怎么填的,请问改怎么填
大佬 免费版本和付费版本最大区别是在哪里啊?是不是没什么差别
你好,我看见你的文章被盗了,不知道有没有经过你的授权。附上链接*
可以使用单端口多用户吗
不可以
V2RAY的免费版本在哪获取啊,完全找不到.
你好,作为 ss 后端添加v2ray plugin 也是跟v2ray后端一样的操作吗?
不知道
没太理解,就是用了RICO93收费或免费里v2ray文件,之后安装原版的v2ray文件,用原版的v2ray文件的配置使用了RICO93的配置文件,之后对接面板?,
能出个详细点的教程么,
我安装了v2ray原版,然后用免费版的替换了/usr/bin/v2ray 里面的 v2ray,systemctl restart v2ray无效失败,看文件应该是替换进去的没有被识别为程序,systemctl status v2ray 显示状态为failed.
放弃手动这个方式了,装了v2+caddy,结果caddy废了总是不能tls,自己安装的 Nginx 解决 ..... T_T
2.下载rico 后端把下载的v2ray替换 /usr/bin/v2ray/v2ray 这一步命令能否详细一些?
下载的后端是一个zip压缩包, 解压里面的 v2ray 替换到 /usr/bin/v2ray/v2ray
就可以了
这2天都试了一下,节点还是不在线,ws+tls域名配置是不是与套了CDN的不一样?
套cdn 配置没有区别
大佬请问是把/usr/bin/v2ray/v2ray中的四个文件替换成下载的后端中的四个文件吗,还有就是配置完以后怎么运行对接,我完全按教程配置完后节点一直无法对接上
手动安装就用v2ray 官方的脚本安装完, 替换成rico93的后端就可以 只用替换 v2ray.
对接就按照这个笔记就可以对接上.
用官方的脚本安装完在/usr/bin/v2ray/v2ray中只有v2ray v2ctl geosite.dat geoip.dat这四个文件 但是下载的后端里有12个文件 这要怎么替换呢
只用替换 v2ray
感谢!刚刚没看清回复 配置好只要sudo systemctl start v2ray.service就可以对接了吧,我启动后v2ray运行正常但是节点始终是灰色的
嗯嗯,今天看了你的文章已经顿时醒悟了,已经成功配置。手机上不知道怎么回复评论就新添加一条吧,另外这个免费版和收费版有什么区别?对于普通用户
写文章的时候 免费版和收费版的区别不大.
之后的没有留意了.
大佬。我设置2天了。搞不定
那个Inside port是可以自己自定义的吗?还是说是默认的某个端口。不是2333把?怎么找呀。
Inside port 在自己的面板里面设置.
2333是后端的API接口不用修改或者占用了