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 —
config genflags, hypervisor web UI, hypervisor TUI, remote hypervisors, network visualization UI - 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
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 - 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
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