Skip to main content
WideWired
Docs

Devices

Install the client, handle platform differences, approve and manage devices, and use the wwnet command line.

Device status

The device list is under Configuration → Devices.

Column Meaning
Device Hostname
Alias Optional display name
Virtual address Overlay IP in the current network
Platform Operating system and architecture
Approval Pending / Approved / Blocked
Online Current online state
Last communication Most recent service synchronization

Details shows static inventory: operating system, kernel, architecture, CPU model, memory and swap capacity, interfaces, and disk capacity. It does not show live CPU, memory, disk, or network utilization. These fields remain empty until the first report.

Installing the client

Desktop and server platforms

System Architectures Service manager Install location
Linux x86-64, ARM64 systemd; procd on OpenWrt /usr/local/bin; /usr/bin on OpenWrt
macOS Apple Silicon only launchd /usr/local/bin
Windows x86-64, ARM64 Windows service %ProgramData%\wwnet

Prerequisites

No public IP or inbound port is required.

Getting the install command

Open Configuration → Devices in the console and choose Add device. The generated command already contains the site domain and current network ID.

Linux / macOS:

curl -fsSL https://<your site's API domain>/wwnet/install/join/<network-id>.sh | sudo sh

Windows (Administrator PowerShell):

powershell -c "irm https://<your site's API domain>/wwnet/install/join/<network-id>.ps1|iex"

The angle brackets illustrate the format. Copy the complete generated command and do not substitute values manually.

The installer selects the version for the current platform, verifies the download, installs the background service and registers the device with the network ID. The device then enters Pending.

Linux

Linux supports x86-64 (x86_64 / amd64) and ARM64 (aarch64 / arm64). The installer uses OpenWrt/procd when /sbin/procd and /etc/rc.common exist; other environments require systemd. An unmatched system is rejected.

Before installation, confirm that /dev/net/tun is available. On OpenWrt, also confirm that the partition containing /usr has enough installation space.

Inspect systemd and its logs:

systemctl status wwnet
journalctl -u wwnet -n 100 --no-pager

OpenWrt:

/etc/init.d/wwnet status
logread | grep wwnet

macOS

Only Apple Silicon Macs are supported. uname -m returns arm64 in a native Apple Silicon terminal. If it returns x86_64, confirm the chip under About This Mac and retry outside a Rosetta terminal.

sudo requests the current macOS user password. Inspect launchd with:

sudo launchctl list | grep wwnet

The client creates an automatically numbered utun interface. It requires no manual configuration and is removed during uninstall.

Windows

A regular PowerShell triggers Windows elevation and continues as Administrator after confirmation; an already elevated PowerShell can run the command directly.

Windows or corporate endpoint protection may require approval on first download or execution. The installer verifies the release-manifest signature and binary SHA-256. Do not bypass a verification failure or use a program from another source.

Inspect the Windows service:

Get-Service wwnet

The client creates a wintun adapter visible under Network Connections. It requires no manual configuration and must remain enabled. Uninstall removes it automatically.

Mobile devices

Android, iOS and HarmonyOS use the WideWired mobile app. After installing the app:

  1. Select the site where the account is registered.
  2. Enter the 12-character network ID shown in the console.
  3. Select Connect and allow the system to create a VPN connection.
  4. Return to Configuration → Devices and approve the new device.

A mobile device can reach overlay peers and published site routes, and can apply forward rules where it is the source device. It does not act as a peer relay, site-route device or forwarding exit, and it does not run device automation scripts.

Managing devices

Approving a device

A newly registered device is Pending and cannot communicate. Under Configuration → Devices, verify the hostname and platform, then approve it. Once Approved, the system creates links to the other devices.

The network ID is not an authentication credential, so approval is required before a device receives network access.

Editing a device

Edit supports:

After changing an overlay IP, update scripts, firewall rules and monitoring configuration that reference the old address.

Blocking and unblocking

Blocking retains the device record and configuration. Existing connections may take a short time to stop. Unblocking returns the device to Approved. Blocking does not uninstall the client or mobile app.

Peer relay

When Peer relay is enabled, the device can forward traffic for two other devices that cannot connect directly. It uses the device and its bandwidth and does not incur cloud-relay charges.

Selection still depends on platform capability and reachability. Disable the option on bandwidth-constrained or metered devices.

Deleting a device

Console deletion removes the device from the network and deletes its device record, but it does not remove the host program. To clean up the host, run:

wwnet uninstall

Command-line reference

Network and policy configuration lives in the console. wwnet handles registration, status, updates, leaving a network and uninstalling.

Command Purpose
wwnet Shows the status table: network, network address and one row per peer
wwnet join <network-id> Joins with the 12-character ID from the console
wwnet leave Leaves the network, restores network configuration and removes the service
wwnet uninstall Fully cleans the local installation without requiring the service
wwnet update Checks for and installs a new version immediately
wwnet version Shows the current version
wwnet help Shows command usage

join, leave and uninstall require Administrator rights. leave takes no network ID because one installation belongs to only one network at a time.

Status and paths

Run wwnet directly. It prints a two-column table; column widths grow with the content, so nothing is truncated. Human-readable output is always English.

Field Meaning
console The console this device reports to; open it in a browser
version Installed client version
status Connection state; see the table below
device name Local hostname
device id Device ID, as shown in the console
network name Network name, as shown in the console
network id 12-character network ID
network address This device's address inside the network
peers One row per peer: <name> (<network address>) - <path type>, <state>

A value the device cannot determine is printed as unknown. Path types are direct, peer relay and cloud relay; states are healthy, needs attention and checking.

status Meaning
connected Connected and able to communicate with peers
awaiting approval Registered and waiting for console approval
connecting Fetching or applying configuration
disconnecting Leaving and restoring local configuration
paused by an administrator An administrator paused this device in the console
needs attention Connectivity stopped, or the previous leave/uninstall did not finish; a reason row gives the detail
not joined to a network Installed but not joined
background service not running Background service is not running

Statuses that need you to act carry their next step in the table: approve at for a device awaiting approval, and what to do for a paused device or one that needs attention. When something needs attention the table adds rows in place: reason when the connection has stopped, and stage / code / reason / what to do when cleanup is incomplete.

Updating

The client checks for updates at startup and while running, and allows forward upgrades only. Every update verifies origin, signature and integrity. Check immediately with:

wwnet update

When a version is available, the command installs it and restarts the service. A version that fails its health observation automatically rolls back. Use wwnet version to inspect the current version.

Leaving a network

wwnet leave

The command disconnects the network, restores routes, DNS, firewall rules and the virtual adapter, deletes the local device identity and removes the service. To move to another network, complete leave before running the new network's install command; a direct second join returns E1042.

Uninstalling

wwnet uninstall

uninstall stops the service, restores network configuration and then removes the program and local data. It does not depend on the service, so it also handles a service that cannot start or an incomplete previous cleanup.

If restoration is incomplete, the client returns E1060 and reports needs attention. Repeat wwnet uninstall; do not remove program or recovery data before success.

Diagnostics

Crash reports and error logs remain locally with bounded retention and are not uploaded automatically. There is no local diagnostic bundle to export: when you need help, send the wwnet output together with the error code and time. See getting support.

Exit codes

Exit code Meaning
0 Success
1 Operation failed; read the error message
2 Invalid command or argument
4 Administrator rights required

Quick troubleshooting

Symptom Check and action
The install command fails immediately Check Administrator rights, architecture, curl and outbound access, then copy the complete command again from Configuration → Devices
Signature or SHA-256 verification fails Do not bypass verification; retry on another network and contact support if persistent
Linux has no /dev/net/tun Load TUN support or use a kernel/host environment that provides it
macOS reports that Intel is unsupported The current client requires Apple Silicon; check whether the terminal is running under Rosetta
Windows endpoint protection blocks the program Have an administrator allow it under organizational policy; do not use an unverified substitute
status is awaiting approval Approve the device in the console; this is the normal post-registration state
An approved device remains offline Inspect the peers rows in wwnet, the service and Last communication
Access fails after changing the virtual address Wait for configuration sync, check uniqueness and update every caller
status is background service not running Inspect the platform service and logs; the corresponding code is E1002
status is connecting Wait for configuration sync; for E1003, do not repeatedly restart the service
status is error Read the reason row for the detailed cause and code
needs attention Repeat wwnet uninstall; do not remove related directories before success

See troubleshooting for every error code.