XIU2 / SNIProxy

🧷 自用的简单 SNIProxy(常用于网站负载均衡、基于域名(SNI)的端口转发等

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

listen IPv6存在解析问题

luminouskk opened this issue · comments

问题描述

最早是前几天在Debian10的服务器上出现的,后在Windows上可复现,同样操作替换为IPv4时正常。
image

listen仅IPv6或本地,比如:

listen_addr: [::]:443
listen_addr: [::1]:443

报错:配置文件解析失败: yaml: line 1: did not find expected node content

listen特定IPv6地址,比如:

listen_addr: [240c::6666]:443

报错:配置文件解析失败: yaml: line 1: did not find expected key

软件版本

v1.0.0

commented

噫,奇怪,你这个 Issues 问题 Github 怎么没有邮件通知我。。。
要不是我刚刚看该项目内容都没注意到这个 Issues 。。。


关于这个问题,我猜测是 yaml 解析导致的,可能是因为 IPv6 里包含 : 导致解析配置文件时识别错误的吧,我研究下如何解决。

试了下,确实是这个原因,最简单的解决办法就是给 [::]:443 加上引号(单引号双引号都行),例如:

listen_addr: '[::]:443'
commented

因为项目是调用 yaml 库来实现解析 yaml 配置文件的,如果修改解析规则的话,显然太复杂了。
看了下其他使用 yaml 格式做配置文件的软件,涉及到 IPv6 地址的,教程/示例中都是加上引号的,那我也遵循这个吧~

稍后我会更新一下教程示例、配置文件,把 listen_addr 的值都给加上引号算了,避免 IPv4 不加、IPv6 却加让新手迷糊。。。