GithubHelp home page GithubHelp logo

wyx2685 / xrayr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xrayr-project/xrayr

312.0 6.0 114.0 5.94 MB

A Xray backend framework that can easily support many panels. 一个基于Xray的后端框架,支持V2ay,Trojan,Shadowsocks协议,极易扩展,支持多面板对接

Home Page: https://xrayr-project.github.io/XrayR-doc/

License: Mozilla Public License 2.0

Go 99.72% Dockerfile 0.28%

xrayr's Introduction

本分支需要配合修改过的V2board面板进行使用

https://github.com/wyx2685/v2board

XrayR

Github All Releases

English|Iranian|Vietnamese

A Xray backend framework that can easily support many panels.

一个基于Xray的后端框架,支持V2ay,Trojan,Shadowsocks协议,极易扩展,支持多面板对接。

如果您喜欢本项目,可以右上角点个star+watch,持续关注本项目的进展。

使用教程:详细使用教程

免责声明

本项目只是本人个人学习开发并维护,本人不保证任何可用性,也不对使用本软件造成的任何后果负责。

特点

  • 永久开源且免费。
  • 支持V2ray,Trojan, Shadowsocks多种协议。
  • 支持Vless和XTLS等新特性。
  • 支持单实例对接多面板、多节点,无需重复启动。
  • 支持限制在线IP
  • 支持节点端口级别、用户级别限速。
  • 配置简单明了。
  • 修改配置自动重启实例。
  • 方便编译和升级,可以快速更新核心版本, 支持Xray-core新特性。

功能介绍

功能 vmess vless trojan shadowsocks
获取节点信息
获取用户信息
用户流量统计
服务器信息上报
自动申请tls证书
自动续签tls证书
在线人数统计
在线用户限制
审计规则
节点端口限速
按照用户限速
自定义DNS

支持前端

前端 vmess vless trojan shadowsocks
sspanel-uim √ (单端口多用户和V2ray-Plugin)
v2board
PMPanel
ProxyPanel
WHMCS (V2RaySocks)
GoV2Panel
BunPanel

软件安装

一键安装

wget -N https://raw.githubusercontent.com/wyx2685/XrayR-release/master/install.sh && bash install.sh

手动安装

手动安装教程

配置文件及详细使用教程

详细使用教程

Thanks

Licence

Mozilla Public License Version 2.0

Telgram

XrayR后端讨论

XrayR通知

Stargazers over time

Stargazers over time

xrayr's People

Contributors

amin550 avatar autisticshark avatar betaxab avatar danielblackbeard avatar dependabot[bot] avatar github-aiko avatar ihategfw avatar isluckys avatar jat001 avatar joshuacylinder avatar mengxin239 avatar misakano7545 avatar nagaame avatar oppo9008 avatar pennymorant avatar pingpromax avatar pocketw avatar qiuzi avatar ravecat-dev avatar rebecca554owen avatar septrum101 avatar theresaarcher avatar wyx2685 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

xrayr's Issues

对接多节点问题

大佬你好,我用修改版的XrayR对接了一个vless节点,按照原版的XrayR方法在下面再对接一个Trojan节点,能启动成功,面板信号也变黄了,证明通讯了嘛,但节点ping不通,请大佬指点

最新版本在进行流媒体测试时异常崩溃

在做流媒体测试时发生异常崩溃,xrayr重启

May 23 14:53:37 formal-body XrayR[5963]: panic: runtime error: index out of range [-1]
May 23 14:53:37 formal-body XrayR[5963]: goroutine 51 [running]:
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/app/proxyman/outbound.(*Handler).Dial(0xc000f04300, {0x4a7e540, 0x78b40a0}, {{0x4a7e7e0, 0xc0046b4e50}, 0x968, 0x3})
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/app/proxyman/outbound/handler.go:288 +0xd1d
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/proxy/wireguard.(*netBindClient).connectTo(0xc0024f6aa0, 0xc0013ad020)
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/proxy/wireguard/bind.go:131 +0x4b
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/proxy/wireguard.(*netBindClient).Send(0xc0024f6aa0, {0xc0014ff908, 0x1, 0x7fb8dfda7108?}, {0x4a87708?, 0xc0013ad020})
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/proxy/wireguard/bind.go:174 +0x56
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Peer).SendBuffers(0xc00253f208, {0xc0014ff908, 0x1, 0x1})
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/peer.go:136 +0x202
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Peer).SendHandshakeInitiation(0xc00253f208, 0xb0?)
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/send.go:136 +0x3fe
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Peer).SendStagedPackets(0xc00253f208)
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/send.go:350 +0xe5
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Peer).SendKeepalive(0xc00253f208?)
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/send.go:96 +0x205
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Device).upLocked(0xc00190c508)
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/device.go:186 +0x1e5
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Device).changeState(0xc00190c508, 0x1)
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/device.go:153 +0xce
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/wireguard/device.(*Device).Up(...)
May 23 14:53:37 formal-body XrayR[5963]: golang.zx2c4.com/[email protected]/device/device.go:210
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/proxy/wireguard.(*tunnel).BuildDevice(0xc002406000, {0xc0000f4a00, 0xfc}, {0x4a87750, 0xc0024f6aa0})
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/proxy/wireguard/tun.go:73 +0x1cb
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).makeVirtualTun(0xc000156000, 0xc0024f6aa0)
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/proxy/wireguard/client.go:248 +0xb9
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).processWireGuard(0xc000156000, {0x4a76650, 0xc000f04300})
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/proxy/wireguard/client.go:120 +0x2d8
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).Process(0xc000156000, {0x4a7e460, 0xc0024e5e30}, 0xc000fe6000, {0x4a76650, 0xc000f04300})
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/proxy/wireguard/client.go:138 +0x105
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/xray-core/app/proxyman/outbound.(*Handler).Dispatch(0xc000f04300, {0x4a7e460, 0xc0024e5e30}, 0xc000fe6000)
May 23 14:53:37 formal-body XrayR[5963]: github.com/xtls/[email protected]/app/proxyman/outbound/handler.go:209 +0x3e2
May 23 14:53:37 formal-body XrayR[5963]: github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).routedDispatch(0xc00111a310, {0x4a7e460, 0xc0024e5e30}, 0xc000fe6000, {{0x4a7e738, 0xc0014b71c0}, 0x1bb, 0x2})
May 23 14:53:37 formal-body XrayR[5963]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:495 +0xda6
May 23 14:53:37 formal-body XrayR[5963]: github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).Dispatch.func1()
May 23 14:53:37 formal-body XrayR[5963]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:294 +0x3e5
May 23 14:53:37 formal-body XrayR[5963]: created by github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).Dispatch in goroutine 50
May 23 14:53:37 formal-body XrayR[5963]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:267 +0x48a
May 23 14:53:37 formal-body systemd[1]: XrayR.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
May 23 14:53:37 formal-body systemd[1]: XrayR.service: Failed with result 'exit-code'.
May 23 14:53:47 formal-body systemd[1]: XrayR.service: Scheduled restart job, restart counter is at 1.
May 23 14:53:47 formal-body systemd[1]: Stopped XrayR Service.
May 23 14:53:47 formal-body systemd[1]: Started XrayR Service.
May 23 14:53:47 formal-body XrayR[6152]: XrayR 0.9.2 (A Xray backend that supports many panels)

custum_dns无法读取

自定义custom_dns导致XrayR panic:

custom_dns设置如下:

[
   "servers": [
      "https+local://1.1.1.1/dns-query", 
      "localhost"
   ]
]

Reality的SNI无法显示在V2board订阅里面

XrayR使用Reality配置, 我用小火箭读取你对应的V2board订阅后,无法自动得到SNI。如果手动添加SNI小火箭的配置中没有问题。不知道是XRayR, V2board的问题,还是小火箭的问题。

How to compile this project

Hello, I want to ask you how to compile this project, I tried the command [ go build -o XrayR -ldflags "-s -w" ]
After compiling and booting, there is no network connection

vless+ws+tls in sing-box client

Hello, good day, thanks for your good script.
vless-ws-tls configurations do not work in the sing box client, how can we solve the problem?

transmission protocol configuration

Greetings and courtesy
Please help me about transmission protocol configuration.
I use the following code to use VMess +WS and everything is fine.

{
"path": "/",
"headers": {
"Host": "mysite.com"
}
}

But when I use TCP or use Vless with any transmission protocol
In the V2rayNG program, the request host part remains empty.
Please write me the correct transmission protocol configuration that can be used in TCP and Vless.
Do you allow me to contact you via Telegram or WeChat so that I can provide you with my server information and make a Vless node for me at a cost or as a gift?
thank you

V2rayN 订阅出错

xrayr日志显示是V2ray对接成功,面板也是VLess黄色,但订阅拉取出来是hy

SS-metron使用reality报错

May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: panic: runtime error: invalid memory address or nil pointer dereference
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x70 pc=0x3343cf4]
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: goroutine 1 [running]:
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/service/controller.InboundBuilder(0xc002682870, 0xc001048800, {0xc0019b90f8, 0x13})
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/service/controller/inboundbuilder.go:229 +0x10f4
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/service/controller.(*Controller).addNewTag(0xc001a3aea0, 0xc001048800)
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/service/controller/controller.go:327 +0x74
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/service/controller.(*Controller).Start(0xc001a3aea0)
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/service/controller/controller.go:93 +0x225
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/panel.(*Panel).Start(0xc0019a3600)
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/panel/panel.go:211 +0x5ff
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/cmd.run()
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/cmd/root.go:106 +0x1c5
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/cmd.init.func1(0xc0019b2700?, {0x444cc4b?, 0x4?, 0x444cb3b?})
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/cmd/root.go:27 +0x13
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/spf13/cobra.(*Command).execute(0x780d740, {0xc000072910, 0x2, 0x2})
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/spf13/[email protected]/command.go:987 +0xab1
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/spf13/cobra.(*Command).ExecuteC(0x780d740)
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/spf13/[email protected]/command.go:1115 +0x3ff
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/spf13/cobra.(*Command).Execute(...)
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/spf13/[email protected]/command.go:1039
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/cmd.Execute(...)
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/cmd/root.go:120
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: main.main()
May 26 15:50:25 ip-172-26-13-184 XrayR[2310222]: github.com/wyx2685/XrayR/main.go:9 +0x1a
May 26 15:50:25 ip-172-26-13-184 systemd[1]: XrayR.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
May 26 15:50:25 ip-172-26-13-184 systemd[1]: XrayR.service: Failed with result 'exit-code'.

最新版本(20240521)报错 panic: runtime error: index out of range [-1] ,经常反复自动重启

使用配套的v2b+reality
新版更新之后经常反复自动重启,log如下

May 25 15:25:58 vm001 XrayR[3706]: panic: runtime error: index out of range [-1]
May 25 15:25:58 vm001 XrayR[3706]: goroutine 1326 [running]:
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/app/proxyman/outbound.(*Handler).Dial(0xc000d44380, {0x4a7e540, 0x78b40a0}, {{0x4a7e7e0, 0xc001f02f50}, 0x968, 0x3})
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/app/proxyman/outbound/handler.go:288 +0xd1d
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/proxy/wireguard.(*netBindClient).connectTo(0xc001efd4a0, 0xc001f1b0b0)
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/proxy/wireguard/bind.go:131 +0x4b
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/proxy/wireguard.(*netBindClient).Send(0xc001efd4a0, {0xc001f184c8, 0x1, 0x7fb3da899108?}, {0x4a87708?, 0xc001f1b0b0})
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/proxy/wireguard/bind.go:174 +0x56
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Peer).SendBuffers(0xc002667508, {0xc001f184c8, 0x1, 0x1})
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/peer.go:136 +0x202
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Peer).SendHandshakeInitiation(0xc002667508, 0xb0?)
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/send.go:136 +0x3fe
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Peer).SendStagedPackets(0xc002667508)
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/send.go:350 +0xe5
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Peer).SendKeepalive(0xc002667508?)
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/send.go:96 +0x205
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Device).upLocked(0xc001908288)
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/device.go:186 +0x1e5
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Device).changeState(0xc001908288, 0x1)
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/device.go:153 +0xce
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/wireguard/device.(*Device).Up(...)
May 25 15:25:58 vm001 XrayR[3706]: golang.zx2c4.com/[email protected]/device/device.go:210
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/proxy/wireguard.(*tunnel).BuildDevice(0xc0023b6000, {0xc00238a000, 0xfc}, {0x4a87750, 0xc001efd4a0})
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/proxy/wireguard/tun.go:73 +0x1cb
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).makeVirtualTun(0xc000d783f0, 0xc001efd4a0)
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/proxy/wireguard/client.go:248 +0xb9
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).processWireGuard(0xc000d783f0, {0x4a76650, 0xc000d44380})
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/proxy/wireguard/client.go:120 +0x2d8
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).Process(0xc000d783f0, {0x4a7e460, 0xc001ef9d40}, 0xc001e9b5e0, {0x4a76650, 0xc000d44380})
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/proxy/wireguard/client.go:138 +0x105
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/xray-core/app/proxyman/outbound.(*Handler).Dispatch(0xc000d44380, {0x4a7e460, 0xc001ef9d40}, 0xc001e9b5e0)
May 25 15:25:58 vm001 XrayR[3706]: github.com/xtls/[email protected]/app/proxyman/outbound/handler.go:209 +0x3e2
May 25 15:25:58 vm001 XrayR[3706]: github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).routedDispatch(0xc001941dc0, {0x4a7e460, 0xc001ef9d40}, 0xc001e9b5e0, {{0x4a7e738, 0xc001466a60}, 0x50, 0x2})
May 25 15:25:58 vm001 XrayR[3706]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:495 +0xda6
May 25 15:25:58 vm001 XrayR[3706]: github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).Dispatch.func1()
May 25 15:25:58 vm001 XrayR[3706]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:294 +0x3e5
May 25 15:25:58 vm001 XrayR[3706]: created by github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).Dispatch in goroutine 1325
May 25 15:25:58 vm001 XrayR[3706]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:267 +0x48a
May 25 15:25:58 vm001 systemd[1]: XrayR.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
May 25 15:25:58 vm001 systemd[1]: XrayR.service: Failed with result 'exit-code'.
May 25 15:25:58 vm001 systemd[1]: XrayR.service: Consumed 1.680s CPU time.
May 25 15:26:08 vm001 systemd[1]: XrayR.service: Scheduled restart job, restart counter is at 11.
May 25 15:26:08 vm001 systemd[1]: Stopped XrayR Service.
May 25 15:26:08 vm001 systemd[1]: XrayR.service: Consumed 1.680s CPU time.
May 25 15:26:08 vm001 systemd[1]: Started XrayR Service.
May 25 15:26:09 vm001 XrayR[3731]: XrayR 0.9.2 (A Xray backend that supports many panels)
May 25 15:26:09 vm001 XrayR[3731]: 2024/05/25 15:26:09 Start the panel..
May 25 15:26:09 vm001 XrayR[3731]: 2024/05/25 15:26:09 [Debug] infra/conf: kernel mode is enabled as it's supported and permission is sufficient
May 25 15:26:09 vm001 XrayR[3731]: 2024/05/25 15:26:09 Xray Core Version: 1.8.11
May 25 15:26:09 vm001 XrayR[3731]: 2024/05/25 15:26:09 [Warning] core: Xray 1.8.11 started

XrayR可以report online users, 但是面板没有收到request

你的最新版本XrayR和v2board。

测试连接,XrayR节点 journalctl日志:

V2ray(ID=1) Report 1 online users

v2bord 面板节点,搜索alive关键词:

sudo cat /var/log/nginx/access.log | grep "alive"

为空, grep ``push''一大堆日志。

似乎XrayR没有报告到v2board。

流量统计不支持倍率统计

使用面板:https://github.com/wyx2685/V2board/
XrayR 0.9.1 安装方式
手动替换了 /usr/local/XrayR 中的程序文件,修改为支持reality的配置文件,并成功对接使用数天。
最近新增了一个0.01倍率的节点,发现倍率统计异常。
用户使用了4G流量,按照逻辑应该计费4*0.01=0.04G,但是实际却是4*100*0.01来统计的。另外,后台面板总流量统计正常显示。
后面试了一下,确实复现了。请问是我部署方式的问题还是程序设计bug?如果是后者,希望大佬能修复这个问题。
photo_2023-09-09_15-47-17

Linux下编译失败。。

好奇怪,Windows下能编译成功。Linux下编译失败了

编译命令用的 go build -o XrayR -ldflags "-s -w"

报错如下:
package github.com/XrayR-project/XrayR/main
imports github.com/XrayR-project/XrayR/panel
imports github.com/XrayR-project/XrayR/api
imports github.com/xtls/xray-core/infra/conf
imports github.com/xtls/xray-core/proxy/wireguard
imports gvisor.dev/gvisor/pkg/bufferv2
imports gvisor.dev/gvisor/pkg/atomicbitops
imports gvisor.dev/gvisor/pkg/state
imports gvisor.dev/gvisor/pkg/state/wire
imports gvisor.dev/gvisor/pkg/gohacks: build constraints exclude all Go files in /root/go/pkg/mod/gvisor.dev/[email protected]/pkg/gohacks

运行之后报错。。。

./XrayR -config config.yml 之后

报错如下:

Panel Start fialed: users is null
panic: Panel Start fialed: users is null

goroutine 1 [running]:
log.Panicf({0x341b6ce?, 0x38b1f80?}, {0xc0007f9e80?, 0xc0007d6ab0?, 0x2c704e0?})
log/log.go:391 +0x67
github.com/XrayR-project/XrayR/panel.(*Panel).Start(0xc0006a7b00)
github.com/XrayR-project/XrayR/panel/panel.go:207 +0x565
main.main()
github.com/XrayR-project/XrayR/main/main.go:97 +0x250

后端能否增加用户缓存

也就是说 网站挂了并不影响最后一次获取到的用户数据 保证客户还能使用节点
我觉得网站挂不影响节点这个很有用 大佬有空看看能不能实现

用户流量统计严重不准的问题

我用的你的v2board和改版的xrayR,节点工作正常,面板统计到的用户消耗的流量少的可怜,看了好久的油管视频,结果就统计了2MB左右,是怎么回事,求解

自定义入口报错

报错日志如下:
Jul 18 20:34:01 HK XrayR[881545]: XrayR 0.9.3 (A Xray backend that supports many panels)
Jul 18 20:34:01 HK XrayR[881545]: 2024/07/18 20:34:01 Start the panel..
Jul 18 20:34:01 HK XrayR[881545]: 2024/07/18 20:34:01 Failed to understand Inbound config, Please check: https://xtls.github.io/config/inbound.html for help: infra/conf: Listen on AnyIP but no Port(s) set in InboundDetour.
Jul 18 20:34:01 HK XrayR[881545]: panic: Failed to understand Inbound config, Please check: https://xtls.github.io/config/inbound.html for help: infra/conf: Listen on AnyIP but no Port(s) set in InboundDetour.

填写的custom_inbound.json如下:
[
{
"inbounds": [
{
"listen": "127.0.0.1",
"port": 50000,
"protocol": "VLESS",
"settings": {
"clients": [
{
"id": "idididid",
"level": 0,
"email": "[email protected]",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none",
"fallbacks": [
{
"dest": 80
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.python.org",
"fingerprint": "chrome",
"show": false,
"publicKey": "publicKeypublicKeypublicKeypublicKey",
"shortId": "shortId",
"spiderX": ""
}
},
"tag": "hk-in",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"allocate": {
"strategy": "always"
}
}
]
}
]
看上去好像是因为没有设置port,已经尝试"port": "50000",也不行,不知道应该怎么解决,麻烦大佬指点一下谢谢

面板只要添加reality节点就会报错

别的节点面板都可以正常添加,vlee+TLS也能正常添加,只要换成reality,右上角就报错显示“遇到了些问题”,我在reality安全配置中全部填完,还是报错,请问是什么原因

测试了一下vless+tls可以,但是 xtls-rprx-vision + reality有问题

测试了一下vless+tls可以,但是 xtls-rprx-vision + reality有问题.
v2b 下发到 shadowsrocket 的字段 vless-flow 是 none 而不是 xtls-rprx-vision, 我在 小火箭里手动修正为 xtls-rprx-vision 也无法连接.
我猜是 xraryr 的问题了.

#xrayr 跟换 NodeID  CertDomain ,
Log:
  Level: warning # Log level: none, error, warning, info, debug 
  AccessPath: # /etc/XrayR/access.Log
  ErrorPath: # /etc/XrayR/error.log
DnsConfigPath: # /etc/XrayR/dns.json # Path to dns config, check https://xtls.github.io/config/dns.html for help
RouteConfigPath: # /etc/XrayR/route.json # Path to route config, check https://xtls.github.io/config/routing.html for help
InboundConfigPath: # /etc/XrayR/custom_inbound.json # Path to custom inbound config, check https://xtls.github.io/config/inbound.html for help
OutboundConfigPath: # /etc/XrayR/custom_outbound.json # Path to custom outbound config, check https://xtls.github.io/config/outbound.html for help
ConnectionConfig:
  Handshake: 4 # Handshake time limit, Second
  ConnIdle: 30 # Connection idle time limit, Second
  UplinkOnly: 2 # Time limit when the connection downstream is closed, Second
  DownlinkOnly: 4 # Time limit when the connection is closed after the uplink is closed, Second
  BufferSize: 64 # The internal cache size of each connection, kB
Nodes:
 -
    PanelType: "NewV2board" # Panel type: SSpanel, V2board, NewV2board, PMpanel, Proxypanel, V2RaySocks
    ApiConfig:
      ApiHost: https://baidu.com
      ApiKey: bd123.
      NodeID: 3  
      NodeType: V2ray # Node type: V2ray, Shadowsocks, Trojan, Shadowsocks-Plugin
      Timeout: 30 # Timeout for the api request
      EnableVless: true # Enable Vless for V2ray Type
      VlessFlow: "xtls-rprx-vision" # Only support vless
      SpeedLimit: 0 # Mbps, Local settings will replace remote settings, 0 means disable
      DeviceLimit: 0 # Local settings will replace remote settings, 0 means disable
      RuleListPath: # /etc/XrayR/rulelist Path to local rulelist file
    ControllerConfig:
      ListenIP: 0.0.0.0 # IP address you want to listen
      SendIP: 0.0.0.0 # IP address you want to send pacakage
      UpdatePeriodic: 60 # Time to update the nodeinfo, how many sec.
      EnableDNS: false # Use custom DNS config, Please ensure that you set the dns.json well
      DNSType: AsIs # AsIs, UseIP, UseIPv4, UseIPv6, DNS strategy
      EnableProxyProtocol: false # Only works for WebSocket and TCP
      EnableFallback: false # Only support for Trojan and Vless
      EnableREALITY: true # Enable REALITY
      REALITYConfigs:
        Show: true # Show REALITY debug
        Dest: download.nvidia.com:443 # Required, Same as fallback
        ProxyProtocolVer: 0 # Send PROXY protocol version, 0 for disable
        ServerNames: # Required, list of available serverNames for the client, * wildcard is not supported at the moment.
          - download.nvidia.com
        PrivateKey: # 可不填
        MinClientVer: # Optional, minimum version of Xray client, format is x.y.z.
        MaxClientVer: # Optional, maximum version of Xray client, format is x.y.z.
        MaxTimeDiff: 0 # Optional, maximum allowed time difference, unit is in milliseconds.
        ShortIds: # 可不填

      CertConfig:
        CertMode: none # Option about how to get certificate: none, file, http, tls, dns. Choose "none" will forcedly disable the tls config.

xrayr 关键日志

Aug 21 23:14:35  XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        hs.c.AuthKey[:16]: [95 58 170 125 190 215 204 89 54 96 72 188 178 128 227 90]        AEAD: *aes.gcmAsm
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        hs.c.ClientVer: [1 8 1]
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        hs.c.ClientTime: 2023-08-21 23:14:35 +0800 CST
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        hs.c.ClientShortId: [168 216 214 131 0 0 0 0]
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        hs.c.conn == conn: true
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        len(s2cSaved): 99        Server Hello: 93
Aug 21 23:14:35 XrayR[1163063]: REALITY remoteAddr: 112.97.201.102:63976        handled: false

help request for using reality

Greetings and Regards
Thank you for your time
Please check the config file below and tell me if the settings I make in the V2board panel need to be the same in the Reality Xray backend section or not?

`
Nodes:

  • PanelType: "NewV2board" # Panel type: SSpanel, NewV2board, PMpanel, Proxypanel, V2RaySocks, GoV2Panel
    ApiConfig:
    ApiHost: "x"
    ApiKey: "x"
    NodeID: 1
    NodeType: V2ray # Node type: V2ray, Shadowsocks, Trojan, Shadowsocks-Plugin
    Timeout: 30 # Timeout for the api request
    EnableVless: true # Enable Vless for V2ray Type
    SpeedLimit: 0 # Mbps, Local settings will replace remote settings, 0 means disable
    DeviceLimit: 0 # Local settings will replace remote settings, 0 means disable
    RuleListPath: # /etc/XrayR/rulelist Path to local rulelist file
    ControllerConfig:
    ListenIP: 0.0.0.0 # IP address you want to listen
    SendIP: 0.0.0.0 # IP address you want to send pacakage
    UpdatePeriodic: 60 # Time to update the nodeinfo, how many sec.
    DeviceOnlineMinTraffic: 100 # V2board面板设备数限制统计阈值,大于此流量时上报设备数在线,单位kB,不填则默认上报
    EnableDNS: false # Use custom DNS config, Please ensure that you set the dns.json well
    DNSType: AsIs # AsIs, UseIP, UseIPv4, UseIPv6, DNS strategy
    EnableProxyProtocol: false # Only works for WebSocket and TCP
    AutoSpeedLimitConfig:
    Limit: 0 # Warned speed. Set to 0 to disable AutoSpeedLimit (mbps)
    WarnTimes: 0 # After (WarnTimes) consecutive warnings, the user will be limited. Set to 0 to punish overspeed user immediately.
    LimitSpeed: 0 # The speedlimit of a limited user (unit: mbps)
    LimitDuration: 0 # How many minutes will the limiting last (unit: minute)
    GlobalDeviceLimitConfig:
    Enable: false # Enable the global device limit of a user
    RedisAddr: 127.0.0.1:6379 # The redis server address
    RedisPassword: YOUR PASSWORD # Redis password
    RedisDB: 0 # Redis DB
    Timeout: 5 # Timeout for redis request
    Expiry: 60 # Expiry time (second)
    EnableFallback: false # Only support for Trojan and Vless
    FallBackConfigs: # Support multiple fallbacks
    - SNI: # TLS SNI(Server Name Indication), Empty for any
    Alpn: # Alpn, Empty for any
    Path: # HTTP PATH, Empty for any
    Dest: 80 # Required, Destination of fallback, check https://xtls.github.io/config/features/fallback.html for details.
    ProxyProtocolVer: 0 # Send PROXY protocol version, 0 for disable
    EnableREALITY: true# 是否开启 REALITY
    DisableLocalREALITYConfig: false # 是否忽略本地 REALITY 配置
    REALITYConfigs: # 本地 REALITY 配置
    Show: false # Show REALITY debug
    Dest: m.media-amazon.com:443 # REALITY 目标地址
    ProxyProtocolVer: 0 # Send PROXY protocol version, 0 for disable
    ServerNames: # Required, list of available serverNames for the client, * wildcard is not supported at the moment.
    - m.media-amazon.com
    PrivateKey: # 可不填
    MinClientVer: # Optional, minimum version of Xray client, format is x.y.z.
    MaxClientVer: # Optional, maximum version of Xray client, format is x.y.z.
    MaxTimeDiff: 0 # Optional, maximum allowed time difference, unit is in milliseconds.
    ShortIds: # 可不填
    - ""

`

流量统计功能缺失

管理后台和用户端都看不到流量使用情况

v2board和xrayR都是用的wyx2685 fork的最新版本

经常性错误

rejected common/drain: common/drain: unable to drain connection > EOF > proxy/shadowsocks: failed to match an user > proxy/shadowsocks: Not Found

连接上节点就时不时就出现这个错误,V2board也是用您的版本分支

协议:shadowsocks
加密:chacha20-poly1305

请问这该如何配置config.yml以减少上报错误

invalid request user id

I have since migrated from original xrayr to your xrayr. There have been problems in users' connections, the reasons of which I have not understood. It connects and after a few minutes, the connection will be disconnected. and eof and tls errors are displayed to the user. And the following error is displayed in xrayr log a lot.
Nov 12 15:16:07 RE2 XrayR[690136]: 2023/11/12 15:16:07 46.143.46.222:15817 rejected proxy/vless/encoding: invalid request user id

  • What do you think is the problem? I would like to use your xrayr, which has more features.
    Do you think I did something wrong?

  • Configurations:
    vision reality
    vless ws tls

  • I use xrayr's global device limit (based on redis), all nodes are set to 2

  • It should be noted that this error and these problems were not observed before the update to your version. (with the same configuration)

  • last update

  • Thank you for developing useful scripts and your good guidance and support.

api 和域名都输入正确,但是服务器无法连接,显示 server is not exist

Mar 10 15:47:02 45.95.214.52 XrayR[1373055]: 2024/03/10 15:47:02 Panel Start fialed: request https://panel.20230819.xyz/api/v1/server/UniProxy/config failed: {
Mar 10 15:47:02 45.95.214.52 XrayR[1373055]:     "message": "server is not exist"
Mar 10 15:47:02 45.95.214.52 XrayR[1373055]: }, <nil>
Mar 10 15:47:02 45.95.214.52 XrayR[1373055]: panic: Panel Start fialed: request https://panel.20230819.xyz/api/v1/server/UniProxy/config failed: {
Mar 10 15:47:02 45.95.214.52 XrayR[1373055]:     "message": "server is not exist"
Mar 10 15:47:02 45.95.214.52 XrayR[1373055]: }, <nil>

最新版XrayR频繁报错

Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: panic: runtime error: index out of range [-1]
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: goroutine 86 [running]:
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/app/proxyman/outbound.(*Handler).Dial(0xc000ef8300, {0x4a7e540, 0x78b40a0}, {{0x4a7e7e0, 0xc002561390}, 0x968, 0x3})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/app/proxyman/outbound/handler.go:288 +0xd1d
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/proxy/wireguard.(*netBindClient).connectTo(0xc004060aa0, 0xc00193dad0)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/proxy/wireguard/bind.go:131 +0x4b
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/proxy/wireguard.(*netBindClient).Send(0xc004060aa0, {0xc00254e378, 0x1, 0x7f9c69b30108?}, {0x4a87708?, 0xc00193dad0})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/proxy/wireguard/bind.go:174 +0x56
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Peer).SendBuffers(0xc0026cd208, {0xc00254e378, 0x1, 0x1})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/peer.go:136 +0x202
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Peer).SendHandshakeInitiation(0xc0026cd208, 0xb0?)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/send.go:136 +0x3fe
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Peer).SendStagedPackets(0xc0026cd208)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/send.go:350 +0xe5
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Peer).SendKeepalive(0xc0026cd208?)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/send.go:96 +0x205
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Device).upLocked(0xc001906288)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/device.go:186 +0x1e5
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Device).changeState(0xc001906288, 0x1)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/device.go:153 +0xce
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/wireguard/device.(*Device).Up(...)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: golang.zx2c4.com/[email protected]/device/device.go:210
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/proxy/wireguard.(*tunnel).BuildDevice(0xc002504000, {0xc0000f4b40, 0xfc}, {0x4a87750, 0xc004060aa0})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/proxy/wireguard/tun.go:73 +0x1cb
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).makeVirtualTun(0xc000d782a0, 0xc004060aa0)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/proxy/wireguard/client.go:248 +0xb9
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).processWireGuard(0xc000d782a0, {0x4a76650, 0xc000ef8300})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/proxy/wireguard/client.go:120 +0x2d8
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/proxy/wireguard.(*Handler).Process(0xc000d782a0, {0x4a7e460, 0xc000d20ea0}, 0xc0010254a0, {0x4a76650, 0xc000ef8300})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/proxy/wireguard/client.go:138 +0x105
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/xray-core/app/proxyman/outbound.(*Handler).Dispatch(0xc000ef8300, {0x4a7e460, 0xc000d20ea0}, 0xc0010254a0)
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/xtls/[email protected]/app/proxyman/outbound/handler.go:209 +0x3e2
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).routedDispatch(0xc00193fdc0, {0x4a7e460, 0xc000d20ea0}, 0xc0010254a0, {{0x4a7e738, 0xc00196ca30}, 0x1bb, 0x2})
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:495 +0xda6
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).Dispatch.func1()
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:294 +0x3e5
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: created by github.com/wyx2685/XrayR/app/mydispatcher.(*DefaultDispatcher).Dispatch in goroutine 85
Mai 24 02:36:07 v2202405224842270584 XrayR[2756]: github.com/wyx2685/XrayR/app/mydispatcher/default.go:267 +0x48a
Mai 24 02:36:07 v2202405224842270584 systemd[1]: XrayR.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Mai 24 02:36:07 v2202405224842270584 systemd[1]: XrayR.service: Failed with result 'exit-code'.
Mai 24 02:36:17 v2202405224842270584 systemd[1]: XrayR.service: Scheduled restart job, restart counter is at 20.
Mai 24 02:36:17 v2202405224842270584 systemd[1]: Stopped XrayR.service - XrayR Service.

流量统计不准确

Reality节点看YouTub 4K视频测试时长30分钟 至少使用了几个G流量 但是节点显示只用了5MB流量
我看修改版的XrayR配置项不全,是不是没有开启流量统计功能?
json

请问如何配置privateKey

搭建中使用vless+reality,但是启动时报错,privateKey为空,小白不懂如何设置,谢谢。均为使用wyx2685前后端
image


xrayr后端配置
image

VLESS提示错误

V2BOARD搭配可食用的版本
xrayr 0.9.2 lastest

之前一直正常运行,今天就提示:
rejected proxy/vless/encoding: invalid request version

level=panic msg="app/proxyman/inbound: existing tag found: V2ray_0.0.0.0_443"

Hi,
When I create two nodes
I am currently facing an issue with the XrayR service where it goes into a panic state and then repeatedly attempts to restart. The following error message is seen in the logs:

level=panic msg="app/proxyman/inbound: existing tag found: V2ray_0.0.0.0_443"

Issue: The service reports a panic error due to duplicate tags in the configuration and repeatedly tries to restart.

Questions:

How can I identify which tags are duplicate? Is there a way for XrayR to specify which exact configuration is causing this error?

Is there a solution to prevent this issue? Are there methods for managing duplicate tags and avoiding this type of error in XrayR configurations?

Do newer versions of XrayR address this issue? If there are updates or newer versions that could help resolve this problem, please let me know.

I would appreciate any guidance or solutions you can provide for this issue.

Best regards,

redis上报IP问题

故障描述:在 v2board 设备数限制为1的情况下,设备链接无法使用

故障排查:

1、在xrayr配置文件中开启了

DeviceLimit: 0
EnableProxyProtocol: true
GlobalDeviceLimitConfig:
        Enable: true # 启用用户的全局设备限制
        RedisNetwork: tcp # Redis protocol, tcp or unix
        RedisAddr: XXXX:XXX # Redis server address, or unix socket path
        RedisUsername: # Redis username
        RedisPassword: XXXXX # Redis password
        RedisDB: XX # Redis DB
        Timeout: 5 # Timeout for redis request
        Expiry: 60 # Expiry time (second)

2、在 v2boared 面板设置设备数限制为 1

3、使用隧道中转链接,开启 ProxyProtocol ,版本协议为V2

3、在确认只有一个 IP 链接节点后,在redis中观察日志,发现上报了2个IP,分别是真实IP及隧道中转IP

     1| uuid @v2board.user| userid
      {
        "1.X.X.X": userid, #真实IP
        "2.X.X.X": userid  #隧道中转IP
      }

4、xrayr日志报错

[Warning] [3914293334] pp/mydispatcher: Devices reach the limit: Shadowsocks_0.0.0.0_XX| UUID @v2board.user| userid

也测了其他后端,同节点不同后端,如 soga 最新版本 2.10.4,支持下发 DeviceLimit,观察redis日志只会报上一个真实 IP,但不支持上报 IP 到 v2board 面板

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.