rico93 V2Ray后端配置 面板节点设置 | 手动安装

标签: none

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_UimSSRPanel
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

首先下载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.节点类型为 V2RayV2Ray 中转
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 后端


扫描二维码,在手机上阅读!

添加新评论