Skip to content

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 gen to 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 stable transport_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 / .skynet resolving SOCKS5 proxies (skywire cli resolver): reach visors and deployment services by public key over dmsg/skynet from a browser or curl — 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 / .skynet gateway for your whole LAN (OpenWRT / DD-WRT), so any device reaches dmsg-only deployment services with no per-device skywire install (via skywire autoconfig --dmsgweb-addr)
  • standalone-skychat.md — skywire app skychat --standalone --tcp-listen :PORT for visor-independent chat-app with direct-TCP entry point; port-forwarding caveats
  • standalone-dmsgpty-host.md — skywire dmsg pty host --tcplisten :PORT for 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/--shape output, one-call runtime introspection with visor state, --via remoting, util foreach fan-out, got mesh fetches, and the skywire --tui interactive 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-bw measurements, 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 /debug surfaces
  • 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 check workflow
  • release.md — creating a GitHub release with goreleaser