Files
v2ray_simple/examples/vlesss.client.toml
2022-12-27 19:47:14 +08:00

132 lines
8.1 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# this is a verysimple standard client config
# toml 格式 要注意的是,字符串类型 必须用 引号括起来
[app] # app 项是可选的
# 日志等级,默认为1. 0=debug, 1=info, 2=warning, 3=error, 4=dpanic, 5=panic, 6=fatal,
# 推荐开发、排错时用0, 入门时使用1熟练以后使用2; 显然日志越少越快, 设为6或者更大值的话性能是最好的.
#loglevel = 1
# 日志文件地址, 如果路径不存在,会自动创建父文件夹; 可以不为路径, 仅为名称,
# 但是如果只是名称的话,就会在工作目录创建日志,这可能不是想要的结果。
#
# 若未给出 或 给出的值为 vs_log则会自动在工作目录 生成 vs_log文件, 且:
# 若配置文件名称包含client则改为生成 vs_log_client 文件;
# 若配置文件名称包含 server, 则改为生成 vs_log_server 文件;
# 若设为空字符串,则不生成日志文件.
#logfile = "/var/log/verysimple/vs_log"
# 如果 default_uuid 给出了,且某个 需要uuid的地方没给出则会使用 default_uuid 的值
# default_uuid = "a684455c-b14f-11ea-bf0d-42010aaa0003"
# 一般而言 default_uuid 适合用于服务端因为客户端一般除了vless拨号以外还有socks5/http监听如果你设了 default_uuid,
# 那么会同时设置socks5的uuid虽然uuid对于socks5是无效的socks5使用用户名密码但是感觉也不太对劲。
# mycountry = "CN" #全局级的 国别分流配置, 见下面route的注释
# noreadv = true
# 也可以用命令行参数 -readv=false 来关闭 readv . readv开启 一般是会加速的, 但不排除减速可能.
# 你可以在测速时开关一下readv看看测速的变化, 如果遇到了readv减速的话 可以通过设置把它关闭。
# 配置udp闲置连接的超时时间. 因为udp是无状态协议, 一旦拨号,是没法确定服务端何时关闭连接的
# 这里单位为分钟,我们默认超时时间就为 3分钟. 如果你有特殊需求, 可以自行调节。
# 不建议过大,因为过大的话, 会造成大量占用本地udp端口的情况, 可能会导致 too many open files 错误
#
# 另外注意, 如果direct 启用了 fullcone 的话, 是不会使用超时的, 所以fullcone时要注意 too many open files 错误, 如果遇到了, 那么你要重启服务端和客户端.
#
# udp_timeout = 3
# read_timeout = 8 # 如果你的网络很差,建议你配置一下 read_timeout, vs默认是4秒写8就是8秒。
[[listen]]
tag = "my_socks5" # 可选, 但不可与其他tag重复
protocol = "socks5" # 必填, 作为本地入口 也可写为 http或者 socks5http; socks5http 与 clash的 "mixed" 等价, 可同时监听http和 socks5, 不过 socks5http 不支持 密码。
host = "127.0.0.1" # 必填, 可填ip或域名如果 network是unix的话要填一个文件名(不需要已存在,可以是完整路径).
port = 10800 # 必填
# 如果ip和host都 没给出,则默认为 127.0.0.1。 所以你的 listen 配置 必须给出正确的ip比如 0.0.0.0, 否则客户端可能无法访问。
#uuid = "user:xx\npass:yy" # 可选. 本行 示范了 protocol为 socks5 或者 http时, 当 user为 xx 且 密码为 yy 时所需的配置.
# user的值的结尾的右侧 和 pass 的左侧 中间用 \n 分隔开。 你也可以使用toml的 多行字符串的语法。但是本示例为了清晰起见还是明确把linefeed写出来了。 这个顺序不能改, 必须user在前 pass在后, 且都不能为空
#sniffing.enabled = true #可选,是否嗅探出 tls中的sni可以帮助 geosite 分流. 该项只能在listen填写而且一般都是在客户端填写服务端不用管。因为一般只有客户端需要分流。
[[dial]]
tag = "my_vlesss1" # 同listen对应配置, 可选, 但不可与其他tag重复
protocol = "vlesss" # vless 的 尾缀s 表示 使用tls
uuid = "a684455c-b14f-11ea-bf0d-42010aaa0003" # 这个只是一个示例uuid,请自己生成一个新的.
host = "127.0.0.1" # 同listen对应配置, 可填ip或域名如果 network是unix的话要填一个文件名(不需要已存在,可以是完整路径).
#network = "udp"
# network 目前支持 tcp,udp 和unix;如果不给出则默认为 tcp; dial和listen都可配置此项
# network和用什么协议无关.比如我们可以硬把一个 ss协议的数据通过 unix socket来传输.
# 如果用udp的话传输vless 时即可理解为 udp over udp 或者 tcp over udp, 底层用udp来传输tcp/udp的承载数据.
# 总之我们verysimple的理念就是 代理协议是什么协议 与 传输层使用什么协议是无关的
# ip = "127.0.0.1"
# 除了host之外也可使用 ip = "127.0.0.1"; 一般用了host就不需要再写ip,
# 但是如果用了cdn 的话, 就要单独提供 ip 和 host
# 单独提供 ip 的好处就是不用解析域名了
# 另外如果你的vps是ipv6机则 ipv6 两端要加中括号 , 变成类似 "[2408:0000]"" 这种
# tls = true
# 除了在 protocol 字段使用 s尾缀 之外还可以明示使用tls.
# 这两种方法不可重复使用.我们首选前者, 更简约, 当然如果你使用时需要频繁开关tls那么可以单独列出来 便于配置
#lazy = true #可选, 表示开启 tls lazy encrypt 功能; 只有vless支持, 且客户端和服务端的 vless都要开lazy,
# 而且 写明lazy的 [[dial]] 要放在所有 dial 中最前面的位置。
port = 4433 # 必填
version = 0 # 协议版本, 可省略, 省略则默认为最老版本
insecure = true # 我们示例使用自签名证书,所以要开启 insecure. 实际场合请使用真证书并关闭 insecure
tls_type = "utls" #是否使用 utls 来应用 chrome指纹进行伪装, 仅用于dial ; vs 1.2.5及以后版本建议这么写: tls_type = "utls" , 而不是 utls = "true"
# alpn=["http/1.1"] # 在开启tls时有效如果服务端和客户端都配置了alpn则 服务端和客户端 必须都有相同的alpn项才能建立tls连接
# 如果要使用 websocket/grpc ,则 客户端和服务端 都要配置 advancedLayer 和 path
# 下面cert和key用于 "客户端证书" (因为这个cert和key是在dial中而不是在listen中)。 小白可以无视,高级玩家可以用.
# 客户端证书的生成命令 详见 README.md
#cert = "client.crt"
#key = "client.key"
# adv = "ws" # 也可为 grpc 或 quic
# path = "/ohmygod_verysimple_is_very_simple" # ws的path和 grpc的serviceName 都在这个path里填写, 为了防探测这里越长越随机越好
# 据说下面三行配置可以增强防御, 注意因为下面使用了1.2你就没法使用utls, 见issue #205
# extra.tls_minVersion = "1.2"
# extra.tls_maxVersion = "1.2"
# extra.tls_cipherSuites = [ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"]
[[dial]]
tag = "mydirect"
protocol = "direct" # direct 这个dial 是不需要特地写出的, 程序会自动创建一个 tag 为 "direct" 的 direct 的 dial. 不过如果是需要控制一下fullcone 的话, 此时就要写出来,因为程序默认的 direct 是不开启 fullcone的。
# fullcone = true # 默认的fullcone是关闭状态, 可以取消注释以打开. 一般我们不建议打开fullcone
# route 是在我们代理界是分流的意思。
# route 是可选的,如果没给出的话,就不分流;
# 写了 country 后, 向该国家的ip发送的请求就会直连, 然后其他的过代理。country = ["CN"] 配置等价于 v2ray的 "geoip:cn"
# country的字母必须是两个而且必须大写。这个也会自动被用于顶级域名的国别分流
# 同时,必须要一个 名为 GeoLite2-Country.mmdb 的 文件 放在verysimple的相同目录下. 详情见 README.md
# 具体的其它详细 分流配置请参考 multi.client.toml 和 multi.server.toml 文件, 因为会涉及到多个dial
[[route]]
country = ["CN"]
domain = ["geosite:cn","geosite:private"]
ip = ["private"] # 所有内网ip等价于 v2ray的 "geoip:private"
toTag = "mydirect"
# domain的 geosite:private 和 ip的private 并不等价, domain包含 "localhost"等字符串, 见
# https://github.com/v2fly/domain-list-community/blob/master/data/private