Route: Add vlessRoute and some local things
							parent
							
								
									88e81f8dff
								
							
						
					
					
						commit
						ee9f907616
					
				| 
						 | 
				
			
			@ -31,13 +31,6 @@
 | 
			
		|||
  - 解析后的 IP 仅在路由选择时起作用,转发的数据包中依然使用原始域名;
 | 
			
		||||
- `"IPOnDemand"`:当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配;
 | 
			
		||||
 | 
			
		||||
> `domainMatcher`: "hybrid" | "linear"
 | 
			
		||||
 | 
			
		||||
域名匹配算法,根据不同的设置使用不同的算法。此处选项会影响所有未单独指定匹配算法的 `RuleObject`。
 | 
			
		||||
 | 
			
		||||
- `"hybrid"`:使用新的域名匹配算法,速度更快且占用更少。默认值。
 | 
			
		||||
- `"linear"`:使用原来的域名匹配算法。
 | 
			
		||||
 | 
			
		||||
> `rules`: \[[RuleObject](#ruleobject)\]
 | 
			
		||||
 | 
			
		||||
对应一个数组,数组中每一项是一个规则。
 | 
			
		||||
| 
						 | 
				
			
			@ -62,9 +55,12 @@
 | 
			
		|||
  "ip": ["0.0.0.0/8", "10.0.0.0/8", "fc00::/7", "fe80::/10", "geoip:cn"],
 | 
			
		||||
  "port": "53,443,1000-2000",
 | 
			
		||||
  "sourcePort": "53,443,1000-2000",
 | 
			
		||||
  "localPort": "53,443,1000-2000",
 | 
			
		||||
  "network": "tcp",
 | 
			
		||||
  "source": ["10.0.0.1"],
 | 
			
		||||
  "sourceIP": ["10.0.0.1"],
 | 
			
		||||
  "localIP": ["192.168.0.25"],
 | 
			
		||||
  "user": ["love@xray.com"],
 | 
			
		||||
  "vlessRoute": "53,443,1000-2000",
 | 
			
		||||
  "inboundTag": ["tag-vmess"],
 | 
			
		||||
  "protocol": ["http", "tls", "quic", "bittorrent"],
 | 
			
		||||
  "attrs": { ":method": "GET" },
 | 
			
		||||
| 
						 | 
				
			
			@ -120,6 +116,10 @@
 | 
			
		|||
- `a`:a 为正整数,且小于 65536。当目标端口为 a 时,此规则生效。
 | 
			
		||||
- 以上两种形式的混合,以逗号 "," 分隔。形如:`"53,443,1000-2000"`。
 | 
			
		||||
 | 
			
		||||
> `localPort`:number | string
 | 
			
		||||
 | 
			
		||||
本地入站的端口,格式和 `port`/`sourcePort` 一致,在入站监听一个端口范围时可能有用。
 | 
			
		||||
 | 
			
		||||
> `network`: "tcp" | "udp" | "tcp,udp"
 | 
			
		||||
 | 
			
		||||
可选的值有 "tcp"、"udp" 或 "tcp,udp",当连接方式是指定的方式时,此规则生效。
 | 
			
		||||
| 
						 | 
				
			
			@ -128,16 +128,37 @@
 | 
			
		|||
 | 
			
		||||
当然其他很明显能匹配任何流量的写法比如指定 1-65535 的 port 或者 0.0.0.0/0 + ::/0 的 ip 也有类似作用
 | 
			
		||||
 | 
			
		||||
> `source`: \[string\]
 | 
			
		||||
> `sourceIP`: \[string\]
 | 
			
		||||
 | 
			
		||||
一个数组,数组内每一项代表一个 IP 范围,形式有 IP、CIDR、GeoIP 和从文件中加载 IP。当某一项匹配来源 IP 时,此规则生效。
 | 
			
		||||
 | 
			
		||||
别名: `source`
 | 
			
		||||
 | 
			
		||||
> `localIP`: \[string\]
 | 
			
		||||
 | 
			
		||||
格式同其他 IP, 用以指定本地入站使用的 IP(使用 0.0.0.0 监听全部IP时不同的实际进入 IP 将产生不同的 localIP).
 | 
			
		||||
 | 
			
		||||
对 UDP 无效(UDP 面向报文的原因无法跟踪), 总是看到 listen 的 IP
 | 
			
		||||
 | 
			
		||||
> `user`: \[string\]
 | 
			
		||||
 | 
			
		||||
一个数组,数组内每一项是一个邮箱地址。当某一项匹配来源用户时,此规则生效。
 | 
			
		||||
 | 
			
		||||
类似于域名,其也支持类似 `regexp:` 开头的正则进行匹配。(同样需要替换`\`为`\\`, 见domain部分的解释)
 | 
			
		||||
 | 
			
		||||
> `vlessRoute` number | string
 | 
			
		||||
 | 
			
		||||
当 vless 入站的UUID最后的第七和第八个字节均为00时,vless将允许这两位置入任何字节,并将其作为 vlessRoute 数据,允许用户不更改任何外部字段的情况下根据需求自定义部分服务端路由。
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
--------------↓↓↓↓------------------
 | 
			
		||||
xxxxxxxx-xxxx-0000-xxxx-xxxxxxxxxxxx
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
配置中使用的是大端序编码为uint16后的数据(听不懂的话,把这四位当成一个十六进制数并化为十进制) 如 `0001→1` `000e→14` `38b2→14514`. 这么做的原因是这里的写法同 `port`, 可以像指定 port 一样自由指定许多段进行路由。
 | 
			
		||||
 | 
			
		||||
tip: 这不会影响其他用例鉴权的安全性,只要是合法的 UUID,第 13 个字母显然不可能为 0(因为它储存了 UUID 版本), 使用 Xray 的任意字符串映射 UUID 也不会落在上面,因为其生成的是 UUID v5, 即便如此也剩下了 14 字节用作鉴权。
 | 
			
		||||
 | 
			
		||||
> `inboundTag`: \[string\]
 | 
			
		||||
 | 
			
		||||
一个数组,数组内每一项是一个标识。当某一项匹配入站协议的标识时,此规则生效。
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue