• v1.0.0 048a553c53

    NatTypeTester-NG v1.0.0
    All checks were successful
    Build Linux / build-linux (push) Successful in 1m42s
    Release Linux / release-linux (push) Successful in 2m45s
    Stable

    Ghost released this 2026-06-19 18:02:43 +00:00 | 1 commits to master since this release

    Initial 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.toml is 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_64NatTypeTester-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_64
    
    Downloads