-
NatTypeTester-NG v1.0.0
Stablereleased this
2026-06-19 18:02:43 +00:00 | 1 commits to master since this releaseInitial release — a cross-platform NAT type detection tool using the STUN
protocols, built with Python and PySide6 (Qt). Loosely based on HMBSbige's
NatTypeTester. The feature set below is what shipped in 1.0.0.Classic NAT typing (RFC 3489)
- Full RFC 3489 test sequence (Test I, Test I-to-changed-address, Test II,
Test III) with STUN transaction-id validation. - Detection of Open Internet, Full Cone, (Port) Restricted Cone, Symmetric NAT,
Symmetric UDP firewall, and UDP-blocked conditions.
Modern behavior detection (RFC 5389 / 5780)
- XOR-MAPPED-ADDRESS and OTHER-ADDRESS handling.
- Mapping behavior classification: Endpoint-Independent, Address-Dependent,
and Address-and-Port-Dependent. - Filtering behavior classification across the same three categories.
- Binding test plus mapping/filtering tests over the selected transport.
Transports
- UDP with configurable timeout and retries.
- TCP with message framing, segment reassembly, timeout, and clean teardown.
- TLS with certificate validation, certifi CA bundle, optional cert-skip, and
friendly certificate-error messages. - Transport-aware test execution and coordinated shutdown of all transports.
Servers & configuration
- Protocol (classic/modern) and transport selectors.
- Built-in STUN server lists with custom-server entry and validation,
protocol-aware default ports (incl. TLS), and server-compatibility hints. - Transport-aware server lists; no persistent settings (privacy by default).
Results & display
- Public IP/port and local IP/port readout, color-coded NAT-type indicator,
human-readable NAT-type descriptions, and a prominent NAT-type banner. - Copy-to-clipboard and RFC 5322 timestamps for results.
UI / UX
- Light and dark themes with a toggle (light by default), refined typography,
compact card layout, and SVG icons. - Menu bar with Help/About and NAT-types reference dialogs.
- Progress indicator, cancel button, status-bar progress, keyboard shortcuts,
and tab navigation; responsive UI during tests.
Error handling
- Clear messaging for DNS-resolution failures, network timeouts, unsupported
servers, and malformed STUN responses; cancel-safe operation.
Cross-platform & packaging
- Verified on Linux, macOS, and Windows; bundled application assets.
- PyInstaller single-file build (
nattypetester.spec,scripts/build.py) with
the certifi CA bundle and runtime SVG icons embedded. - Automated Linux build and release via Forgejo Actions (
.forgejo/workflows/)
with headless smoke testing and zero external/marketplace actions. pyproject.tomlis the single source of truth for the version; the frozen
binary reads it at runtime.- Release notes are generated from this
CHANGELOG.md(with a commit-log fallback).
Linux x86_64 —
NatTypeTester-NG-1.0.0-linux-x86_64.tar.gz(verify with the.sha256):tar xzf NatTypeTester-NG-1.0.0-linux-x86_64.tar.gz chmod +x NatTypeTester-NG-1.0.0-linux-x86_64 ./NatTypeTester-NG-1.0.0-linux-x86_64Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Full RFC 3489 test sequence (Test I, Test I-to-changed-address, Test II,