mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-12-24 13:27:56 +08:00
187 lines
7.4 KiB
TOML
187 lines
7.4 KiB
TOML
# 注意,本作示例文件的listen和dial的地址均为 127.0.0.1,是可以直接进行内网测试的; 如果你要用于其它用途,自行修改地址。
|
||
|
||
[app]
|
||
loglevel = 1
|
||
|
||
# 使用了default_uuid后, 下面其它dial和listen的uuid就可以省略
|
||
|
||
default_uuid = "a684455c-b14f-11ea-bf0d-42010aaa0003"
|
||
|
||
admin_pass = "adfadfadfadfa" # 用于 api服务器的登陆密码.只要给出, 且命令行给了-ea参数, 就会自动运行api服务, 在 127.0.0.1:48345
|
||
|
||
[dns]
|
||
# 只要dns模块存在并给出了servers,则所有域名请求都会被先解析成ip
|
||
# dns解析仅仅是为了能够精准分流, 如果你不需要分流, 没有自定义dns需求,则不需要dns模块
|
||
|
||
# dns解析的默认方式是先查A记录,没有A再查AAAA记录 (先查4后查6)
|
||
|
||
# strategy = 60
|
||
# strategy 为 dns查询时 针对ipv4 和 v6 到底先查谁 的一个策略配置。
|
||
# 0表示默认, 4表示先查ip4后查ip6, 6表示先查6后查4; 40表示只查ipv4, 60 表示只查ipv6。
|
||
# 在只查 ipv6时, 有可能查无结果, 此时将依然会把域名原封不动发送到节点, 而不是断开连接.
|
||
|
||
# ttl_strategy = 1
|
||
# ttl_strategy 为缓存过期时间的配置,小白暂时可以不管. 0表示默认(记录永不过期), 1表示严格按照dns查询到的TTL, 其他值则为自定义的秒数,然后程序会按这个时间周期性清理缓存。 (不可为负)
|
||
|
||
# listen = "udp://127.0.0.1:8053" # 如果listen给出, 则会开启一个dns监听, 你可以配置系统dns指向这里.
|
||
|
||
# 如果没有listen,则 vs的dns模块只用于 代理中传来域名信息的解析, 与外部无关
|
||
|
||
# listen与 下面配置的dokodemo方法有所不同, dokodemo只是全转发, 不参照我们配置的dns解析, 而listen则完全走 servers 和 hosts 的配置。
|
||
|
||
servers = [
|
||
"udp://114.114.114.114:53", # 如果把该url指向我们dokodemo监听的端口,就可以达到通过节点请求dns的目的.
|
||
#"udp://127.0.0.1:63782", # 如这一行 就是通过下面配置的dokodemo端口, 经过我们节点请求dns
|
||
|
||
#{ addr = "udp://8.8.8.8:53", domain = [ "google.com" ] }, # 还可以为特定域名指定特定服务器
|
||
#{ addr = "tls://223.5.5.5:853", domain = [ "twitter.com" ] } # 还可以 用 dns over tls
|
||
]
|
||
|
||
# servers 列表中的 第一项 将被作为 默认 dns 服务器, 必须保证能连上,所以建议填写确实能连上的dns服务器,否则可能出问题
|
||
|
||
[dns.hosts] # 自己定义的dns解析
|
||
"www.myfake.com" = "11.22.33.44"
|
||
"www.myfake2.com" = "11.222.33.44"
|
||
|
||
[[listen]]
|
||
protocol = "http"
|
||
host = "127.0.0.1"
|
||
port = 1080
|
||
# noroute = true # 如果设置了noroute,则从该listen接收到的数据绝对不会被分流.
|
||
|
||
[[listen]]
|
||
protocol = "socks5"
|
||
host = "127.0.0.1"
|
||
port = 10800
|
||
#fullcone = true
|
||
|
||
[[listen]]
|
||
protocol = "dokodemo" # dokodemo协议会指定一个目标,并通过我们的节点来请求
|
||
network = "udp" # 本监听为了监听dns请求,所以必须要指明监听的传输层为 udp
|
||
host = "127.0.0.1"
|
||
port = 63782
|
||
target = "udp://8.8.8.8:53" #必须写这种url格式,前面是udp或者tcp,后面要加端口, 我们要转发到udp地址,所以用udp。
|
||
|
||
# 这个dokodemo 协议 在这一个示例中, 专门用于监听dns请求, 会通过我们的dial 来转发到 target(8.8.8.8,即google的dns服务器)
|
||
|
||
# 我们电脑只要配置好dns服务器指向127.0.0.1:63782,就可以通过我们的节点去申请实际的udp的dns请求,这里就是通过我们的 my_vless1 这个节点转发。
|
||
# 只要是定向的流量,如果某客户端可以自己指定地址,那么我们就可以用dokodemo进行转发
|
||
|
||
[[dial]]
|
||
tag = "my_vless1"
|
||
protocol = "vlesss"
|
||
host = "127.0.0.1"
|
||
port = 4433
|
||
version = 0
|
||
insecure = true
|
||
tls_type = "utls"
|
||
|
||
|
||
[[dial]]
|
||
tag = "my_ws1"
|
||
protocol = "vlesss"
|
||
host = "127.0.0.1"
|
||
port = 4434
|
||
insecure = true
|
||
tls_type = "utls"
|
||
adv = "ws"
|
||
path = "/ohmygod_verysimple_is_very_simple"
|
||
#sendThrough = "63.77.15.11:0" # dial可以设置 sendThrough为自己的某一个ip地址,来达到选择特定的ip来拨号的目的。常用与 服务器有ipv4和ipv6双栈,而因为某些原因需要单独使用 v4 或者v6 的情况。 (这里给出的示例ip是假的,请改为你自己的ip地址)
|
||
|
||
|
||
[[dial]]
|
||
tag = "my_grpc"
|
||
protocol = "vlesss"
|
||
host = "127.0.0.1"
|
||
port = 4435
|
||
version = 0
|
||
insecure = true
|
||
tls_type = "utls"
|
||
adv = "grpc"
|
||
path = "ohmygod_verysimple_is_very_simple"
|
||
|
||
|
||
[[dial]]
|
||
tag = "my_direct"
|
||
protocol = "direct"
|
||
#fullcone = true
|
||
|
||
[[dial]]
|
||
tag = "my_reject"
|
||
protocol = "reject" # reject 和 v2ray的 blackhole 等价.
|
||
# extra = { type = "http" } #当 type 为 "http"时, reject 会发回一个简单的 HTTP 403 数据包,然后关闭连接。
|
||
|
||
# route就是分流规则,分流规则从上到下匹配,匹配到哪一个就用哪一个.
|
||
|
||
# 如果没匹配到任何 一个route项,那就会流向默认的 dial,即第一个 给出的 dial
|
||
|
||
# 下面这个route中,我们只给了tag, 没给其它限定条件,这个是无效的,永远匹配不到。
|
||
#[[route]]
|
||
#toTag = "my_vless1"
|
||
|
||
|
||
# 关于 [[route]] 的 toTag:
|
||
# direct并不需要 在dial中实际给出。 "proxy" 代表首个dial, 也不需要实际赋值该tag
|
||
|
||
|
||
[[route]]
|
||
country = ["US"]
|
||
toTag = "my_ws1"
|
||
|
||
# 上面这个规则的 意思就是所有向US国家的ip请求的数据 全都 通过 my_ws1 这个dial 拨号, 如果你写direct自然就直接直连
|
||
# country 的含义请阅读 vlesss.client.toml
|
||
|
||
# 比如下面这个就是 将CN国家的ip 导向自己的grpc节点
|
||
#[[route]]
|
||
#country = ["CN"]
|
||
#toTag = "my_grpc"
|
||
|
||
|
||
# 比如下面这个就是 将CN国家的ip进行直连
|
||
#[[route]]
|
||
#country = ["CN"]
|
||
#toTag = "direct"
|
||
|
||
# 本示例为了测试节点可用性, 默认将直连的路由注释掉了, 如果你在CN国家并想直连CN的ip, 请取消注释上面三行. 并移除其它路由CN的route项
|
||
|
||
|
||
# 下面这种 toTag 传入列表的用法 非常简洁, 可以达到负载均衡的效果,
|
||
# 每次路由US国家的流量都会随机从列表中选一项
|
||
#[[route]]
|
||
#country = ["US"]
|
||
#toTag = ["my_vps1","myvps2"]
|
||
|
||
|
||
|
||
# 如果所有route均不匹配,则数据会流向 "proxy" 这个tag 的 dial,如果 没有任何dial具有 "proxy" 这个标签名,则流向第一个dial
|
||
|
||
# 如果匹配了app.mycountry, 则数据会直接被直连.
|
||
# 其它分流匹配示例:
|
||
|
||
# 绕过局域网
|
||
#[[route]]
|
||
#ip = ["0.0.0.0/8","10.0.0.0/8","fe80::/10","172.16.0.0/12","192.168.0.0/16"]
|
||
#toTag = "direct"
|
||
|
||
# 关于ip中使用cidr匹配ipv6,可以参考 https://www.mediawiki.org/wiki/Help:Range_blocks/IPv6
|
||
# 比如要想路由所有的ipv6地址,可用 ip = ["::/0"]
|
||
|
||
|
||
# 域名匹配完全兼容 v2ray,请参考 https://www.v2fly.org/config/routing.html#ruleobject
|
||
# 下面简单说一下:
|
||
# 不包含冒号的项会使用字符串匹配方式 (MATCH), 而如果是 domain:的话,会依次尝试匹配其子域名; 如果是full:的话则会完整匹配该域名
|
||
# 还可以用正则表达式,不过太难了我就不在这里讲了. 懂正则的人有需求就用, 不懂正则就不要用.
|
||
#
|
||
# domain = ["domain:www.google.com","full:www.twitter.com", "geosite:cn","baidu"]
|
||
|
||
# 比如这个就是 将CN国家的域名 导向自己的grpc节点
|
||
[[route]]
|
||
domain = ["geosite:cn"]
|
||
toTag = "my_grpc"
|
||
|
||
# 其它匹配:
|
||
# network = ["tcp","udp"] # 匹配 实际客户数据的 传输层协议
|
||
# fromTag = ["tag1","tag2"] # 匹配 来自哪一个 listen 的 tag
|
||
# country = ["CN"] # 匹配 geoip 以及 cn 顶级域名.
|
||
|