Repository navigation
OpenRad v1.2.0 — Broadcast controls and Windows recovery
OpenRad 1.2.0 adds saved outgoing broadcast controls, improves shared-engine and frontend processing, and fixes Windows TAP error 995 and official Radmin adapter recovery. Fresh Linux x86-64 and Windows x64 builds include all changes since 1.1.0. Windows support remains experimental.
Windows installer refresh — 2026-10-04
The three Windows downloads and SHA256SUMS have been refreshed. The installer now closes official Radmin VPN before creating/repairing OpenRad's TAP, including first installation, repair and the already-installed launch path. Preparation failure stops installation before files or TAP changes.
- Force-terminate both
RvRvpnGui.exeandRvControlSvc.exe, even if service-stop requests are refused. Use exact-image termination and a taskkill fallback. - Try administrator recovery, escalate to a temporary SYSTEM task, and make one final administrator attempt if SYSTEM fails.
- Try GUID-bound NetAdapter, CIM, netsh, PnP and PnPUtil disabling, including PnPUtil's supported force fallback. Verify two seconds of stopped/disabled state and handle immediate restarts.
- Carry the large initial program through private UTF-8 stdin to respect Windows' command-line limit. Keep trusted system tools/modules, encoded SYSTEM workers, protected diagnostic IPC and cleanup.
- Recognize numbered official adapter descriptions and identify the exact adapter/address in remaining conflicts.
This refresh passed 295 default tests, 53 synthetic PowerShell cases, nine isolated installer-flow cases and fourteen selected Windows Rust tests under Wine, plus formatting, Clippy for both targets and compilation of all Windows tests. Packaging verified 518 internal Windows archive checksums, 505 installer-manifest entries, exact extracted binaries/worker, driver/source hashes, notices and all relative documentation links.
The Linux archive remains byte-for-byte unchanged. The original v1.2.0 tag and GitHub's automatically generated source archives still refer to the initial release. Refreshed Windows source: 25afcb8, recorded in each Windows package's BUILD-INFO.json. See the refresh guide and 19-file inventory.
Download the installer again, stop/disconnect OpenRad and close its desktop before updating. The installer closes official Radmin itself. Identities and saved settings are retained. Native installation with Radmin initially running remains unverified; Windows support remains experimental.
Broadcast controls
Choose one recipient in Settings → Outgoing broadcasts, or use openrad broadcast-peer with a RID, exact device name or VPN IP. Use --all or 0.0.0.0 to restore all eligible recipients.
The preference is saved by RID, shared between desktop and CLI, and applies without reconnecting. Querying, choosing a RID and restoring all recipients also work while disconnected. Name/IP selection requires a loaded roster and rejects ambiguous matches. An unavailable selected peer causes outgoing broadcasts to be dropped without fallback; incoming broadcasts and normal unicast/multicast routing are preserved.
Read the CLI reference or the new Brazilian Portuguese CLI guide. Controls and messages are translated into English, Portuguese, Russian and Vietnamese.
Windows fixes
- Start the first overlapped TAP read on the persistent engine thread after setup handoff. The previous read could be canceled when its setup thread exited, producing OS error 995 immediately after interface setup.
- Continue selected official-adapter recovery when the Radmin service refuses to stop or its process cannot be terminated. The refresh force-terminates both known Radmin images even after a refused stop request and verifies stopped/disabled state before proceeding.
- Return bounded SYSTEM-worker failure details through a temporary current-user/SYSTEM protected named pipe. Show readable errors instead of raw PowerShell CLIXML and retain useful service-stop and adapter-disable details.
Recovery preserves the user's profile and identity, and leaves Radmin's startup configuration intact. See Windows migration and troubleshooting.
Engine and frontend improvements
- Route outgoing frames through one bounded FIFO forwarding worker and cache indexed authenticated endpoints, preserving dispatch order and cancellation.
- Reject inbound frames from replaced channel generations before TAP delivery.
- Parse setup records on attachment workers, transfer owned buffers, and index incoming admission/cleanup by connection and peer IDs.
- Deduplicate catalog pages in expected linear time, cache joined-network names, release replaced snapshots outside the notice lock, and avoid repeated atomic exchanges for pending wake notifications.
The performance guide explains the scope of synthetic measurements. This release does not claim measured live VPN throughput or whole-client CPU/RSS improvement.
Read the full changelog, 32-file change inventory, and release verification and platform limits.
Downloads
| Package | Use |
|---|---|
| Linux archive | CLI and desktop; glibc 2.35+ for the desktop, 2.34+ for CLI |
| Windows installer | Offline setup with the pinned signed TAP-Windows6 driver |
| Windows setup ZIP | Installer and documentation |
| Windows portable ZIP | Requires an installed dedicated TAP adapter and elevation |
Verify downloads with SHA256SUMS. Packages include guides, synthetic screenshots, build/import metadata, dependency notices and internal checksums. Refreshed Windows build metadata identifies the later source commit above. The installer also includes corresponding driver source, installer source and an audited installation manifest.
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. Restart the background service so it loads the new engine. Existing identities, memberships, favorites, saved lists and credential-storage choices are preserved.
Initial release validation: 293 default Linux tests, five optional CPU-rendering tests with twenty reviewed synthetic captures, formatting and Clippy for both targets, compilation of all Windows tests, 38 synthetic PowerShell cases, eight isolated Wine installer-flow cases and twelve selected Windows Rust tests under Wine. All fresh executables report 1.2.0. Linux was built with Rust 1.95 on Debian 12; Windows was cross-built with Rust 1.98.1/MinGW-w64.
Initial package audits verified 1,155 internal archive checksums, 504 installer-manifest entries, exact extracted executables and embedded setup worker, all relative documentation links, source provenance, binary versions/imports, pinned driver/source hashes and external SHA-256 checksums.
The privileged Linux TAP/Polkit session path and native Windows TAP, UAC, SYSTEM recovery, named-pipe ACLs, credential storage and real Radmin interoperability were not established by these synthetic checks. Cross-compilation, mocked PowerShell cmdlets and Wine do not establish native Windows support. The applications are unsigned; the bundled TAP driver retains its upstream signature.