How To Use VX6

Rule One: IPv6 Endpoint Format

VX6 expects IPv6 endpoints in this format:

[ipv6]:port

Initialize and Start a Node

  1. Initialize node identity and network settings

    vx6 init \
      --name alice \
      --listen '[::]:4242' \
      --advertise '[2001:db8::10]:4242' \
      --bootstrap '[2001:db8::1]:4242'

    The bootstrap endpoint is any known live VX6 node. It is used for first contact, not as a permanent centralized controller.

  2. Start the node runtime

    vx6 node

Publish and Connect Services

Share SSH

vx6 service add --name ssh --target 127.0.0.1:22
vx6 reload

Connect from another node

vx6 connect --service alice.ssh --listen 127.0.0.1:2222
ssh -p 2222 user@127.0.0.1

Share a web app

vx6 service add --name web --target 127.0.0.1:8080
vx6 reload

vx6 connect --service alice.web --listen 127.0.0.1:9000
curl http://127.0.0.1:9000

Advanced Usage

File transfer

vx6 send --file ./backup.tar --to alice

Direct IPv6 by known address

vx6 connect --service ssh --addr '[2001:db8::10]:4242' --listen 127.0.0.1:2222

Hidden alias flow

vx6 service add \
  --name admin \
  --target 127.0.0.1:22 \
  --hidden \
  --alias hs-admin \
  --profile fast
vx6 reload

vx6 connect --service hs-admin --listen 127.0.0.1:2222

Run as background service

systemctl --user enable --now vx6
systemctl --user reload vx6
systemctl --user status vx6

Useful diagnostics

vx6 help
vx6 status
vx6 list
vx6 identity
vx6 debug registry
vx6 debug dht-get --service alice.ssh