v2sub
v2sub copied to clipboard
建议在go程序里面不读取环境变量设置的代理
我设置http-proxy
等环境变量让系统里的程序自动使用v2ray代理, 路由规则的是绕过大陆.
当节点不可用的时候, 我用本程序v2sub -sub
更新订阅[1]设置代理的时候却发现因为节点不可用, 且程序走了代理, 无法获取在境外服务器上的订阅信息.
[1]默认不使用最新的订阅, 这可能是你没发现问题的原因, 因为有可能出现缓存订阅里的节点全部失效的情况, 因此这个issue是需要解决的
我的解决办法是在
func GetSub(url string, ch chan<- []string)
函数第一行加上
http.DefaultTransport.(*http.Transport).Proxy = nil
嗯,是有这个问题。
目前用的 http.DefaultTransport
使用 ProxyFromEnvironment
作为 Proxy,即默认使用环境变量代理。
更好的办法还是使用自定义的 http client。通过 flag 允许用户控制 是否通过命令行代理获取订阅信息。
多谢你的建议,我会改进这个问题。