Using SkyNet port forwarding¶
SkyNet enables peer-to-peer port forwarding over Skywire transports. Unlike DmsgWeb which routes through DMSG servers, SkyNet uses direct peer-to-peer connections (STCPR, SUDPH) when available.
Running a SkyNet Server¶
To expose a local port over the Skywire network:
# Start a server exposing local port 8080
skywire cli skynet srv start --ports 8080
# Start with a custom name
skywire cli skynet srv start --ports 3000 --name my-web-server
# Restrict access to specific public keys (whitelist)
skywire cli skynet srv start --ports 8080 --whitelist 02abc...,03def...
Check server status:
Stop a server (by instance name, default skynet-<first-port>):
Connecting with SkyNet Client¶
To forward a remote SkyNet server port to your localhost:
# Connect to a remote server and forward to local port
skywire cli skynet start --pk <server-public-key> --remote 8080 --local 9000
# A non-HTTP service (database, SSH, …) works the same way
skywire cli skynet start --pk <server-pk> --remote 3306 --local 3306
This makes the remote service available at localhost:9000.
Check client status:
Stop a client:
Example: Exposing a Web Server¶
On the server visor:
# Start a local web server (e.g., on port 8080)
python -m http.server 8080
# Expose it via SkyNet
skywire cli skynet srv start --ports 8080
On the client visor: