Go Networking

Go Reference

This repository holds supplementary Go networking libraries.


The easiest way to install is to run go get -u You can also manually git clone the repository to $GOPATH/src/

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see The main issue tracker for the net repository is located at Prefix your issue with "x/net:" in the subject line, so it is easy to find.

Expand ▾ Collapse ▴


Path Synopsis
bpf Package bpf implements marshaling and unmarshaling of programs for the Berkeley Packet Filter virtual machine, and provides a Go implementation of the virtual machine.
context Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
context/ctxhttp Package ctxhttp provides helper functions for performing context-aware HTTP requests.
dict Package dict implements the Dictionary Server Protocol as defined in RFC 2229.
dns/dnsmessage Package dnsmessage provides a mostly RFC 1035 compliant implementation of DNS message packing and unpacking.
html Package html implements an HTML5-compliant tokenizer and parser.
html/atom Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
html/charset Package charset provides common text encodings for HTML documents.
http/httpguts Package httpguts provides functions implementing various details of the HTTP specification.
http/httpproxy Package httpproxy provides support for HTTP proxy determination based on environment variables, as provided by net/http's ProxyFromEnvironment function.
http2 Package http2 implements the HTTP/2 protocol.
http2/h2c Package h2c implements the unencrypted "h2c" form of HTTP/2.
http2/h2i The h2i command is an interactive HTTP/2 console.
http2/hpack Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
icmp Package icmp provides basic functions for the manipulation of messages used in the Internet Control Message Protocols, ICMPv4 and ICMPv6.
idna Package idna implements IDNA2008 using the compatibility processing defined by UTS (Unicode Technical Standard) #46, which defines a standard to deal with the transition from IDNA2003.
internal/iana Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA).
internal/socket Package socket provides a portable interface for socket system calls.
internal/socks Package socks provides a SOCKS version 5 client implementation.
internal/sockstest Package sockstest provides utilities for SOCKS testing.
internal/timeseries Package timeseries implements a time series structure for stats collection.
ipv4 Package ipv4 implements IP-level socket options for the Internet Protocol version 4.
ipv6 Package ipv6 implements IP-level socket options for the Internet Protocol version 6.
nettest Package nettest provides utilities for network testing.
netutil Package netutil provides network utility functions, complementing the more common ones in the net package.
proxy Package proxy provides support for a variety of protocols to proxy network data.
publicsuffix Package publicsuffix provides a public suffix list based on data from A public suffix is one under which Internet users can directly register names.
route Package route provides basic functions for the manipulation of packet routing facilities on BSD variants.
trace Package trace implements tracing of requests and long-lived objects.
webdav Package webdav provides a WebDAV server implementation.
webdav/internal/xml Package xml implements a simple XML 1.0 parser that understands XML name spaces.
websocket Package websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
xsrftoken Package xsrftoken provides methods for generating and validating secure XSRF tokens.
MODULE http2/h2demo