Xray让不同UUID的用户走不同的路由routing - user篇

需求

想问个需求。xray里怎么配置不同的uuid用户,走不同的routing?  防止朋友看Netflix影响小鸡ip解锁,给朋友uuid分流到warp,


参考



思路

对inbound的client设置email

对outbound设置tag

routing中设置根据user的路由策略


实践

以你已经搭好了一个正常使用的梯子 为前提.


编辑你的Xray配置文件. 比如, 在这个位置 /usr/local/etc/xray/config.json

* 推荐使用Xftp, 直接用系统记事本编辑.

* 推荐用 notepad3 替换系统记事本. 对Linux环境下的LF换行比较友好.

https://www.appinn.com/notepad-replacer/


添加一个用户, 给你的朋友使用, 设置email属性

注意看clients结构, 是用一对 [] 包起来的一些 {}. 你用一键脚本跑出来的配置文件应该只有一对{}, 你把它复制一份, 接在原来的{}下面, 一起放在 inbound的这一对 [] 里面. 而且因为JSON格式, 这两对 {} 之间要用逗号分开. 

然后给复制出来的client, 新设置一个UUID.

你可以通过v2rayN生成一个. 为了设置简便, 可以先复制一份节点信息.


给新添加的用户设置email

如果你的一键脚本本身就有email属性的字段, 那么你只要给新的client设置一个新的邮箱. 如果没有, 那么添加一个email属性, 邮箱不需要实际存在. 比如:

"email": "user2@x.com"

同样的, 因为JSON文件格式的要求, 添加的属性的上一行末尾注意添加一个英文逗号.


在VPS上确认一下文件是否修改正确了. 万一你在电脑上编辑的内容没有同步到VPS呢.
cat /usr/local/etc/xray/config.json
测试配置文件格式正确
/usr/local/bin/xray run -config /usr/local/etc/xray/config.json -test

* 如果你不是用官方脚本安装的, xray和配置文件的位置可能不一样.

重启Xray服务

service xray restart
在v2rayN中 Ctrl+R 测试新生成的节点, 确认可以正常使用.


设置warp的outbound的tag

以socks代理的形式安装warp, 比如:

bash <(curl -fsSL git.io/warp.sh) s5

那么可以设置一个socks的outbound, 设置一个tag

{
    "protocol": "socks",
    "settings": {
        "servers": [{
            "address": "127.0.0.1",
            "port": 40000 //warp socks5 port
        }]
     },
    "tag": "socks5-warp"
},

整个outbound像这样的: 


routing中设置根据user的路由策略

找到config.json配置文件中的"routing", 再找到其下的"rules". 注意观察 "rules" 是一对 []. 我们在里面添加一对{} 如下:
{
     "type": "field",
     "user": ["user2@x.com"],  // 这里写某个client的email
     "outboundTag": "socks5-warp" // 这里写outbound的tag
},

这样就可以简单地把某个client进来的全部走warp出去了.

改完像这个样子 


测试配置文件格式正确

/usr/local/bin/xray run -config /usr/local/etc/xray/config.json -test

* 如果你不是用官方脚本安装的, xray和配置文件的位置可能不一样.

重启Xray服务
service xray restart


测试

将v2rayN设置为全局, 使用不同的节点, 访问测IP的网站. 



评论

The Hot3 in Last 30 Days

无服务器 自建短链服务 Url-Shorten-Worker 完整的部署教程

ClouDNS .asia免费域名 托管到CloudFlare开CDN白嫖Websocket WS通道翻墙 / desec.io