{"repo":"ccding/go-stun","free":true,"listed":false,"github":"https://github.com/ccding/go-stun","clone":"git clone https://github.com/ccding/go-stun.git","description":"A go implementation of the STUN client (RFC 3489 and RFC 5389)","language":"Go","stars":721,"topics":["stun","go","nat-traversal","rfc-5389","webrtc","golang"],"license":"Apache-2.0","category":"cli-tools","readme_excerpt":"go-stun go-stun is a Go library and command-line client for STUN over UDP and TCP. It can discover the public IP address and port assigned to a socket and, for UDP when the server supports the required probes, classify the client's NAT behavior. STUN is one building block for NAT traversal. This project does not implement a complete UDP hole-punching, ICE, or TURN solution. Features - Discover a socket's public (server-reflexive) IP address and port. - Perform basic STUN Binding transactions over UDP or TCP. - Send [RFC 5389] Binding requests with SOFTWARE and FINGERPRINT attributes. - Perform classic NAT type discovery based on [RFC 3489]. - Test NAT mapping and filtering behavior as described by [RFC 5780]. - Select the STUN server and local IP address or port. - Reuse an existing net.PacketConn from library code. - Communicate with RFC 3489-only servers through an explicit compatibility mode. Install the command This README documents the current master branch. With Go 1.16 or newer, install that branch explicitly until the next release is tagged: The newest tag, v0.1.5 , predates RFC 3489 compatibility mode, the -legacy flag, and ErrBehaviorDiscoveryUnsupported . Use @latest only if you need the older released interface. Ensure your Go binary directory (usually $GOBIN or $GOPATH/bin ) is on PATH , then run: To build from a source checkout instead: Command-line usage Running go-stun with no options uses the default server and an automatically selected local address. Example","default_branch":null,"files":null,"tree":[],"storefront":"/r/ccding","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ccding/go-stun/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}