Operator Guides¶
How-to documentation for skywire operators. Conceptual overview and the latest install methods stay in the repo-root README; this directory holds the in-depth setup/usage guides.
For per-command help text (flags, usage, examples), see the generated
command reference — docs/skywire/ mirrors the
cobra subcommand tree.
Setup¶
- install.md — install via
go install/go run, Linux packages, Docker, NixOS, release binaries - install-generator.md — compose a copy-paste install command (platform, mirror, auto-update, config flags, optional in-browser keygen)
- permissions.md — VPN client CAP_NET_ADMIN, VPN server iptables/sysctl, file system + survey
- configuration.md — which of
autoconfig/config gento use - config-gen.md — how the JSON config is produced, and every SKYENV variable with its default
- config-runtime.md — changing a running visor without editing the config, and what persists across a restart
- docker.md — running a visor in a container: build, run, generate or change its config
- hypervisor.md — the hypervisor web UI and its password, pairing a desk tab, the terminal UI, adding a remote hypervisor
- ../wasm-visor-ui-tour.md — a screenshot tour of the desk, the wasm-visor UI: its windows, the dashboard as a browser tab, netscrape, websh
- network-visualizer.md — the transport-graph UI (
cli tp viz), which is not the hypervisor interface - visor.md — running
skywire visor, process control / while-loop pattern, transport setup, runtime files - public-visor.md — make a visor reachable from the internet:
is_public, a stabletransport_port, router port-forwarding and host firewall (TCP and UDP), transport-type → protocol map, and reachability troubleshooting - browser-visor.md — how a visor runs in a browser tab: the exec worker, vnet, the desk, deep links and where the module comes from
- host-bridge.md — give a browser visor the sockets of its computer: transports at an address of its own, and ports of the computer forwarded to it, such as its SOCKS proxy
Application usage¶
- vpn.md — Skywire VPN client/server with
skywire cli vpn - socks5.md — Skywire SOCKS5 proxy client with
skywire cli proxy - skynet.md — SkyNet P2P port forwarding with
skywire cli skynet - linuxontab.md — run LinuxOnTab inside the desk with the tab visor as its network
- mesh-addresses.md — every form of a mesh address: hex and base32 keys, ports, site names, short names and route prefixes
- publish-a-site.md — serve a site or a port to the network by your visor key, with no domain or open port
- resolving-proxy.md — the
.dmsg/.skynetresolving SOCKS5 proxies (skywire cli resolver): reach visors and deployment services by public key over dmsg/skynet from a browser orcurl— the supported way to view deployment-service data now that the CLI has no plain-HTTP fallback - dmsg-lan-gateway.md — turn one board with a visor into a
.dmsg/.skynetgateway for your whole LAN (OpenWRT / DD-WRT), so any device reaches dmsg-only deployment services with no per-device skywire install (viaskywire autoconfig --dmsgweb-addr) - standalone-skychat.md —
skywire app skychat --standalone --tcp-listen :PORTfor visor-independent chat-app with direct-TCP entry point; port-forwarding caveats - standalone-dmsgpty-host.md —
skywire dmsg pty host --tcplisten :PORTfor visor-independent pty server with DMSG + TCP modes; port-forwarding caveats
CLI & network operations¶
- cli.md — conventions that apply across the whole command tree:
--json/--jq/--shapeoutput, one-call runtime introspection withvisor state,--viaremoting,util foreachfan-out,gotmesh fetches, and theskywire --tuiinteractive browser - transports.md — the three sources of transport truth (local, remote-via-TPS, TPD), querying the network's transport graph, creating/removing transports locally and on remote visors, autoconnect
- multipath.md — multiplexed route groups: starting apps with
--mux, per-leg telemetry (proxy mux info), reshaping live groups,mux-bwmeasurements, and the WASM/Starlark routing-policy engine - dmsg-tools.md — the dmsg relay network from the CLI: carriers (tcp/quic/wss/WebTransport), server reachability probing (
mdisc check,dmsg conf probe,self-ping), per-server pinning, and the standalone curl/cat/scp/iperf utilities - deployment-health.md — health, pprof profiles, and logs of the deployment services and any visor, fetched over dmsg:
svc health, the discovery read APIs, and the survey-whitelist-gated/debugsurfaces - custom-deployment.md — run a whole deployment in one visor, join visors to it, and set up the DNS and TLS for its dmsg server's wss name and for a browse origin
Advanced¶
- remote-visor-cli.md — drive a visor on another machine with
skywire cli --via: the trust model (hypervisors/ dmsgpty whitelist), hypervisor attach vs the full CLI bridge, the two-terminal remote-diagnosis session, and what of it works against the Android app's visor - manual-routing.md — manual route creation, multi-hop routes, route-finder, troubleshooting
- privacy-and-performance.md — tuning the visor along the privacy ↔ performance spectrum: IP/data/metadata privacy,
min_hops, multiplexed & rotating routes,ar_transport_limit,no_direct_transports,persistent_transports, and a maximum-privacy recipe
Maintainer¶
- testing.md — pre-PR
make format checkworkflow - release.md — creating a GitHub release with goreleaser