Closed cloudwu closed 1 year ago
thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', config/src/lib.rs:204:15
配置文件如下
verbose: true dns_start_ip: 10.0.0.10 # 可以指定多个 DNS 服务器,如果不指定则使用系统默认的 DNS 服务器。一般最好指定,否则Wi-Fi切换的时候可能会出现 DNS 服务器无法访问的问题。 # 一般 DHCP 获取 IP 的时候会自动获取 DNS 服务器,切换 Wi-Fi 的时候,DNS 服务器也会发生变化。 dns_servers: - 8.8.8.8:53 - 114.114.114.114:53 - tcp://114.114.114.114:53 dns_timeout: 1s tun_bypass_direct: true # 直连的域名直接返回真实IP,不走tun # redir 模式使用 iptable 的 redirect 功能: iptables -t nat -A PREROUTING -d 11.0.0.0/16 -p tcp -j REDIRECT --to-ports 1300 # redir 模式下只支持 tcp 流量。默认使用 tun 模式。特殊设备不支持 tun 的情况,可以使用 redir 模式。 redir_mode: false tun_name: tun0 tun_ip: 10.0.0.1 tun_cidr: 10.0.0.0/16 dns_listen: 0.0.0.0:53 gateway_mode: false ping_timeout: 2s # probe_timeout 时间内如果可以建立 TCP 连接则直连(443端口会额外建立 SSL 连接),否则走代理。不要调的太低,国内有些网站会有很长的 SSL 握手时间。 # 如果目标端口为 443,TCP 连接的超时时间为 probe_timeout, SSL 连接超时时间也为 probe_timeout,总的超时时间为 probe_timeout * 2; # 如果目标端口不为 443,TCP 连接的超时时间为 probe_timeout。 probe_timeout: 200ms connect_timeout: 1s read_timeout: 30s write_timeout: 5s # geoip 数据库路径,如果使用相对路径,相对于可执行文件的路径。默认会搜索可执行文件同级目录下的 geoip.mmdb 文件 # 可以从 https://github.com/Hackl0us/GeoIP2-CN 下载 mmdb 格式的文件 geo_ip: Country.mmdb max_connect_errors: 2 # ss 服务器重试次数,到达重试次数后会自动选择下一个最快的服务器 ping_urls: - host: www.facebook.com port: 80 path: / - host: www.youtube.com port: 80 path: / - host: twitter.com port: 80 path: / servers: - name: socks5 addr: 127.0.0.1:1080 protocol: Socks5 # Https or Http or Socks5 or Shadowsocks rules: # - 'DOMAIN,audio-ssl.itunes.apple.com,DIRECT' # - 'DOMAIN,gspe1-ssl.ls.apple.com,REJECT' # - 'DOMAIN-SUFFIX,aaplimg.com,DIRECT' # - 'DOMAIN-SUFFIX,apple.co,DIRECT' # - 'DOMAIN-KEYWORD,bbcfmt,PROXY' # - 'DOMAIN-KEYWORD,uk-live,PROXY' # - 'DOMAIN-SUFFIX,snssdk.com,DIRECT' # - 'DOMAIN-SUFFIX,toutiao.com,PROBE' # - 'IP-CIDR,19.23.212.0/16,PROXY' # - 'IP-CIDR,19.23.21.0/16,PROBE' - 'GEOIP,CN,DIRECT' - 'MATCH,PROBE'
这个报错是 tun_cidr 缺少 / 分隔符,但是粘贴的配置文件是正常的。我保存下来测试也是没问题的。
tun_cidr
/
tun_cidr: 10.0.0.0/16
有没有可能实际运行的配置文件的 / 是中文或者有不可见字符之类的。
我删了几行和我的机场 ip 有关的配置,可能是那里配错了。晚上再试试。
另外,建议加强配置解析的错误信息(行号/具体原因等),这对于用户自己排错有帮助。可能还需要一个只校验配置文件的命令行选项。
配置文件如下