stunner: Check Your NAT Type with STUN

Summary
Stunner is a Go command-line tool that compares STUN responses from multiple servers to estimate your NAT behavior. Use it to assess how readily devices behind your network may connect through hole punching.
At a glance
- Language
- Go
- License
- MIT
- Stars
- 182
- Forks
- 10
- Added to OSRepos
- May 13, 2026
- Last analyzed
- October 3, 2026
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Stunner probes multiple STUN servers and compares the external IP and port mappings they observe. It turns those results into a best-effort NAT classification and an indication of how easy or hard hole punching may be.
It is useful when you need a quick network diagnostic, such as checking connectivity conditions for peer-to-peer connections. It is an experimental assessment, not a guarantee that a particular connection method will work.
Key Features
- Sends STUN Binding Requests to multiple servers for comparison.
- Fetches the Tailscale DERP map and selects servers automatically when none are specified.
- Accepts user-specified STUN servers and port settings.
- Supports binding to a chosen local IP address and port.
- Reports external mappings and an overall NAT classification in tables.
- Includes optional debug logging for STUN requests and responses.
Use Cases
- Network administrators can quickly inspect NAT behavior while troubleshooting connectivity.
- Developers building peer-to-peer applications can check whether a test network appears suitable for hole punching.
- Tailscale users can run a quick diagnostic using automatically selected DERP servers.
- Users comparing network environments can provide the same custom STUN servers to each test.
Project Facts
- Language: Go
- License: MIT
- Stars: 182
- Forks: 10
- Topics: network, tailscale
- Archived: No
Getting Started
Install with Go:
go install github.com/jaxxstorm/stunner@latest
Then run stunner to use automatically selected servers, or pass --stun-server values. See the README for installation alternatives and flags.
Considerations
- The README describes Stunner as an experimental proof of concept, and its NAT classification is a best-effort interpretation.
- Real NAT and firewall behavior can be more complex than the tests capture, so results may not predict whether a connection will succeed.
- Building from source requires Go 1.18 or later, as recommended by the project.
Source repository
Open the original repository on GitHub.
19 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

e2a: Open-Source Email API for Applications and AI Agents
September 29, 2026
e2a is an open-source email API designed for applications and AI agents, offering robust transactional email capabilities and real two-way inboxes. It supports both managed hosting and self-hosting with Docker, providing features like human-in-the-loop approval and advanced content screening. Built in Go, e2a aims to bridge email's universal addressability with the structured data world of AI agents.

Router: Optimize AI Model Selection and Costs for Agentic Systems
September 28, 2026
The Weave-OS Router is an intelligent model router for agentic systems, optimizing AI model selection for every request. It acts as a drop-in proxy for major AI providers, routing prompts to the most suitable model in under 50ms. This solution helps users significantly cut costs, often by 40-70%, simply by changing an endpoint.

KSail: The All-in-One Kubernetes SDK for Cluster Management and GitOps
September 27, 2026
KSail is a comprehensive Kubernetes SDK designed to simplify cluster creation, management, and operation across multiple distributions like Kind, K3d, Talos, and VCluster. It integrates essential features such as GitOps, secrets management, an AI assistant, and an MCP server, making cloud-native development accessible with just Docker or a cloud provider.

Memoh: An Open-Source Multi-Agent Platform with Dedicated AI Workspaces
September 26, 2026
Memoh is an innovative open-source multi-agent platform designed to provide each AI agent with its own dedicated cloud computer. This includes a filesystem, desktop, browser, network, and persistent long-term memory, ensuring agents remain online 24/7. Users can integrate their own API keys or host existing AI models, fostering a versatile and always-on environment for AI development and deployment.