Skywire Configuration¶
The skywire visor requires a JSON-formatted config file to run,
produced by skywire cli config gen.
The skywire-autoconfig script included with the skywire package
handles config generation and config updating for the user who
installed the package, as well as restarting the skywire systemd
service.
Detailed command flag documentation lives at /docs/skywire/cli/config/ and /docs/skywire/visor/. The most important flags are noted below.
Config gen¶
To run skywire, first generate a config:
*-b --bestproto use the best protocol (dmsg | direct) to connect to the skywire production deployment — recommended
* -i --ishv create a local hypervisor configuration (optional)
* -r --regen regenerate a config which may already exist, retaining the keys
* -x --retainhv retain any remote hypervisors set in the config (optional)
More options for configuration are displayed with skywire cli config gen --all.
NOTE: If you have installed skywire as a package or via the windows .msi
or mac installer, include the -p flag — and skywire cli config gen
must be run as root.
Hypervisor web UI¶
In order to expose the hypervisor UI, generate a config file with --is-hypervisor or -i flag:
After starting up the visor, the UI will be exposed by default on localhost:8000.
Hypervisor terminal UI¶
A terminal-based hypervisor that mirrors the web UI's read and write actions without requiring a browser:
Lists all visors connected to the running hypervisor and (when one is selected) shows transports, apps, route groups with full multi-hop paths, DMSG servers, and a row of hotkey-driven actions: start/stop apps, set min_hops/mux_routes, manage transports/routes, toggle resolving proxies, register skynet/forwarded ports, run dmsg connect-all, view services-health, reload or shutdown.
When a hypervisor has another hypervisor in its hypervisors config, the
parent hypervisor transparently sees and manages the child's connected visors —
write actions are routed through the child automatically.
Add remote hypervisor¶
Every visor can be controlled by one or more hypervisors. To allow a hypervisor to access a visor, the PubKey of the hypervisor needs to be specified in the configuration file. You can add a remote hypervisor to the config with:
OR:Network Visualization UI¶
Skywire includes a network visualization and visor control interface that can run in two modes.
Visor-embedded mode (recommended when visor is running):
This starts the UI as part of the visor, with direct access to local transport and route data.Standalone mode (network visualization only):
This runs a standalone visualization server using transport discovery data.The web UI (default localhost:8080) provides:
- Real-time network graph: Visual representation of visors and their connections in the Skywire network
- Transport information: View active transports with details on type (STCPR, SUDPH, DMSG), remote public keys, and connection status
- Geographic clustering: Visors are grouped by country and IP subnet for easier network topology understanding
- Click-to-copy: Easily copy public keys by clicking on nodes in the graph
- Visor control (visor mode): Direct interface for managing the local visor
Note: This is a separate UI from the hypervisor interface and caches transport data locally.