the proxy client library
supported SOCKS4, SOCKS4A, SOCKS5, HTTP, HTTPS etc proxy protocols
- Direct
- Reject
- Blackhole
- HTTP
- HTTPS
- SOCKS4
- SOCKS4A
- SOCKS5
- SOCKS5 with TLS
- ShadowSocks
- SSH Agent
- VMess
The full documentation is available on Godoc.
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"github.com/RouterScript/ProxyClient"
)
func main() {
proxy, _ := url.Parse("http://localhost:8080")
dial, _ := proxyclient.NewClient(proxy)
client := &http.Client{
Transport: &http.Transport{
DialContext: dial.Context,
},
}
request, err := client.Get("http://www.example.com")
if err != nil {
panic(err)
}
content, err := ioutil.ReadAll(request.Body)
if err != nil {
panic(err)
}
fmt.Println(string(content))
}