Feature: HTTP proxy support

This commit is contained in:
xjasonlyu
2021-07-16 18:39:46 +08:00
parent 33e2aed86c
commit ab2f4043f7
3 changed files with 107 additions and 5 deletions

View File

@@ -50,8 +50,10 @@ func parseProxy(s string) (proxy.Proxy, error) {
return proxy.NewDirect(), nil
case proto.Reject.String():
return proxy.NewReject(), nil
case proto.HTTP.String():
return proxy.NewHTTP(parseAddrUser(u))
case proto.Socks5.String():
return proxy.NewSocks5(parseSocks(u))
return proxy.NewSocks5(parseAddrUser(u))
case proto.Shadowsocks.String():
return proxy.NewShadowsocks(parseShadowsocks(u))
default:
@@ -59,7 +61,7 @@ func parseProxy(s string) (proxy.Proxy, error) {
}
}
func parseSocks(u *url.URL) (address, username, password string) {
func parseAddrUser(u *url.URL) (address, username, password string) {
address = u.Host
username = u.User.Username()
password, _ = u.User.Password()