Repository navigation
OpenRad v1.1.0 — Linux TAP authorization and service security
OpenRad 1.1.0 fixes Linux TAP setup from the shared background service and includes the service, identity, and protocol security changes made since 1.0.0. Fresh Linux x86-64 and Windows x64 builds are included. Windows support remains experimental.
Linux interface fix
The detached VPN service could not reliably use the launching terminal's sudo -v authorization, even after the password was accepted. OpenRad now tries existing noninteractive sudo authorization, then opens the system permission dialog through the session's Polkit agent. Only the short-lived TAP helper is elevated; OpenRad never collects the administrator password.
Interface setup runs in a separate worker, with bounded authorization/setup waits, cancellation on Disconnect/Stop, and protection against duplicate pending retries. Actual setup errors do not trigger a second authorization prompt. Guidance is updated in English, Portuguese, Russian, and Vietnamese.
Allow the system permission dialog when connecting. Polkit/pkexec and a session authentication agent must be running. See the Linux guide for headless setups and troubleshooting.
Other changes since 1.0.0
- Bound local service clients to 32 workers and queued commands to 128; enforce aggregate local I/O deadlines and request-size limits.
- Resolve curl and elevated PowerShell through protected OS paths, restrict module lookup, and embed validated adapter setup scripts.
- Reject remote loopback peer candidates and IPv4-mapped IPv6 bypasses while retaining private LAN candidates and explicitly local control deployments.
- Sanitize terminal control characters in remote names and validate imported device names.
- Use bounded regular-file reads for identities, passwords, settings, moduli, and installation records; reject FIFOs promptly and retain corrupt/broken preferences.
- Keep private passwords and IPC buffers in zeroized memory; clear Windows overlapped buffers only after completion/cancellation.
- Prevent duplicate device registration when credential storage is unavailable or locked; retain incomplete private profiles and existing identity storage.
Read the full changelog, 41-file change inventory, and release verification and platform limits.
Downloads
| Package | Use |
|---|---|
| Linux archive | CLI and desktop; glibc 2.35+ |
| Windows installer | Offline setup with the pinned signed TAP driver |
| Windows setup ZIP | Installer and documentation |
| Windows portable ZIP | Requires an installed TAP adapter and elevation |
Verify downloads with SHA256SUMS. Packages include guides, synthetic screenshots, build/import metadata, and dependency notices; the installer includes corresponding driver source.
Upgrade and validation
Use Disconnect or openrad stop, close the old desktop, and replace both Linux binaries together or run the Windows installer. Keep the CLI beside the desktop. The previous background service retains its old code until restarted. Existing identities, memberships, favorites, and saved lists are preserved.
Passed: 279 default Linux tests, four offscreen rendering tests, formatting and Clippy for both targets, all Windows test compilation, 30 mocked PowerShell cases, eight isolated Wine installer-flow cases, and two selected Windows security/I/O tests under Wine. All release executables report 1.1.0. Linux was built with Rust 1.95 on Debian 12; Windows was cross-built with Rust 1.98.1/MinGW-w64.
Package audits verified 1,137 internal archive checksums, 498 installer-manifest entries, exact extracted executable/worker payloads, source provenance, binary versions/imports, and external SHA-256 checksums.
The privileged Linux TAP/Polkit session path and native Windows TAP/UAC/VPN interoperability were not exercised by these synthetic checks. Windows runtime validation remains outstanding; cross-compilation and Wine do not establish native support.