使用的是Surge Mac版本 3.3.2(912),这个问题应该由来已久,最新版也依然存在
如果通过配置文件直接文本修改,写入一个proxy配置如下
proxy1 = vmess,xxxx.example.com,443,username=abcdefg,ws=true,tls13=true,ws-path=/v2,ws-headers=Host:xxxx.example.com|User-Agent:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"
这时,软件能正常使用。
如果通过UI界面修改任意选项,导致软件重新保存修改后的配置文件,该代理配置会被重写为
proxy1 = vmess, xxxx.example.com, 443, username=abcdefg, tls13=true, ws=true, ws-path=/v2, ws-headers=User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36|Host:xxxx.example.com
我能发现的差异在于ws-headers部分会被改写,双引号被去除,HOST部分会被变动位置。
然后这个自动改写的配置将会无法通过surge本身的校验,导致启动失败,报告invalid line
希望能修正这个bug
@SurgeTeam