Skip to content

ExitLane v0.2.0-beta.2

Choose a tag to compare

@kevindraai kevindraai released this 28 Jul 07:52
f01e6bf

ExitLane v0.2.0-beta.2

ExitLane v0.2.0-beta.2 is a beta stabilization release focused on NordVPN
latency visibility, provider authentication feedback, appliance management,
password recovery guidance, and international maintainer-facing output.

This release includes the implementation from PR #42 and the updated
evidence-driven release process from PR #43.

Highlights

  • Automatically loads quick-choice country latencies.
  • Measures and displays latency for the exact active NordVPN server.
  • Deduplicates active-server measurements and avoids request storms.
  • Preserves VPN connected state when optional latency telemetry fails.
  • Provides localized feedback for invalid, expired, and revoked NordVPN tokens.
  • Recognizes the current NordVPN Linux CLI wording for invalid access tokens.
  • Prevents provider stdout, stderr, tokens, or raw CLI output from reaching
    browser feedback or logs.
  • Adds local password-recovery guidance.
  • Adds protected restart, reboot, and shutdown actions under Settings > System.
  • Standardizes Debian installer output and maintainer comments in English.

Security

  • Provider authentication accepts only allowlisted stable error codes and
    redacts tokens and raw provider output.
  • Restart, reboot, and shutdown use authenticated, CSRF-protected POST routes
    with a fixed action allowlist.
  • System actions execute fixed absolute systemctl argument vectors without a
    shell or user-controlled command string.
  • Accepted, started, and failed system actions are recorded in the audit log.
  • No free-form privileged command execution or broad new sudo permission was
    introduced.

Upgrade notes

  • No database schema migration is required.
  • Existing installations can use the documented Debian upgrade procedure.
  • A current backup or Proxmox snapshot is recommended before upgrading beta
    systems.

Verification

  • Final release commit: f01e6bf4d49183952613fe54085866b69f445424.
  • 339 backend tests passed.
  • 26 frontend test files passed.
  • Ruff lint and formatting, Python compilation, JavaScript syntax, JSON and
    EN/NL i18n validation, Bash syntax, and ShellCheck passed.
  • Bandit reported no findings; pip-audit reported no known vulnerabilities.
  • Network-namespace killswitch syntax, idempotence, DNS, IPv4, IPv6, and reboot
    restoration checks passed.
  • Wheel and source distribution built successfully with package version
    0.2.0b2; package-content inspection found no instance data or secrets.
  • Final-main CI, CodeQL, dependency review, Gitleaks, Python audit, package
    build, and ZAP passive baseline checks passed.
  • Safe-instance verification covered automatic quick-choice latency, localized
    provider feedback, password recovery, application restart, reboot, shutdown,
    and recovery.
  • The exact active server changed from fr825.nordvpn.com to
    fr770.nordvpn.com after reconnect; fresh snapshots reported the matching
    server latencies while repeated reads reused the fresh cache.

Known beta limitations

  • ExitLane has no signed automatic update channel; operators must verify that
    upgrade source code comes from the trusted repository.
  • TLS termination remains external to ExitLane. Direct Internet exposure is not
    supported.
  • Independent security review and penetration testing remain future work.

Feedback

Please report reproducible problems through GitHub Issues and include:

  • the ExitLane version;
  • the Debian version;
  • whether the installation was clean or upgraded;
  • clear reproduction steps;
  • relevant redacted logs.