package proxy

Import Path
	golang.org/x/net/proxy (on go.dev)

Dependency Relation
	imports 8 packages, and imported by one package

Involved Source Files dial.go direct.go per_host.go Package proxy provides support for a variety of protocols to proxy network data. socks5.go
Package-Level Type Names (total 6, in which 4 are exported)
/* sort exporteds by: | */
Auth contains authentication parameters that specific Dialers may require. Password string User string func SOCKS5(network, address string, auth *Auth, forward Dialer) (Dialer, error)
A ContextDialer dials using a context. ( ContextDialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) *PerHost *golang.org/x/net/internal/socks.Dialer *crypto/tls.Dialer *net.Dialer
A Dialer is a means to establish a connection. Custom dialers should also implement ContextDialer. Dial connects to the given address via the proxy. *PerHost *golang.org/x/net/internal/socks.Dialer *crypto/tls.Dialer *net.Dialer func FromEnvironment() Dialer func FromEnvironmentUsing(forward Dialer) Dialer func FromURL(u *url.URL, forward Dialer) (Dialer, error) func SOCKS5(network, address string, auth *Auth, forward Dialer) (Dialer, error) func FromEnvironmentUsing(forward Dialer) Dialer func FromURL(u *url.URL, forward Dialer) (Dialer, error) func NewPerHost(defaultDialer, bypass Dialer) *PerHost func SOCKS5(network, address string, auth *Auth, forward Dialer) (Dialer, error)
A PerHost directs connections to a default Dialer unless the host name requested matches one of a number of exceptions. AddFromString parses a string that contains comma-separated values specifying hosts that should use the bypass proxy. Each value is either an IP address, a CIDR range, a zone (*.example.com) or a host name (localhost). A best effort is made to parse the string and errors are ignored. AddHost specifies a host name that will use the bypass proxy. AddIP specifies an IP address that will use the bypass proxy. Note that this will only take effect if a literal IP address is dialed. A connection to a named host will never match an IP. AddNetwork specifies an IP range that will use the bypass proxy. Note that this will only take effect if a literal IP address is dialed. A connection to a named host will never match. AddZone specifies a DNS suffix that will use the bypass proxy. A zone of "example.com" matches "example.com" and all of its subdomains. Dial connects to the address addr on the given network through either defaultDialer or bypass. DialContext connects to the address addr on the given network through either defaultDialer or bypass. *PerHost : ContextDialer *PerHost : Dialer func NewPerHost(defaultDialer, bypass Dialer) *PerHost
Package-Level Functions (total 8, in which 7 are exported)
Dial works like DialContext on net.Dialer but using a dialer returned by FromEnvironment. The passed ctx is only used for returning the Conn, not the lifetime of the Conn. Custom dialers (registered via RegisterDialerType) that do not implement ContextDialer can leak a goroutine for as long as it takes the underlying Dialer implementation to timeout. A Conn returned from a successful Dial after the context has been cancelled will be immediately closed.
FromEnvironment returns the dialer specified by the proxy-related variables in the environment and makes underlying connections directly.
FromEnvironmentUsing returns the dialer specify by the proxy-related variables in the environment and makes underlying connections using the provided forwarding Dialer (for instance, a *net.Dialer with desired configuration).
FromURL returns a Dialer given a URL specification and an underlying Dialer for it to make network requests.
NewPerHost returns a PerHost Dialer that directs connections to either defaultDialer or bypass, depending on whether the connection matches one of the configured rules.
RegisterDialerType takes a URL scheme and a function to generate Dialers from a URL with that scheme and a forwarding Dialer. Registered schemes are used by FromURL.
SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given address with an optional username and password. See RFC 1928 and RFC 1929.
Package-Level Variables (total 4, in which 1 is exported)
Direct implements Dialer by making network connections directly using net.Dial or net.DialContext.