mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-12-24 13:27:56 +08:00
132 lines
8.1 KiB
TOML
132 lines
8.1 KiB
TOML
# 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 |