Getting Started
Install Tubo, join a Tubo network, and publish your first HTTP or TCP/TLS service in under 5 minutes.
1. Install
The easiest way to install Tubo is the one-line installer:
$ curl -fsSL https://www.tubo.click/install.sh | sh
By default this upgrades a writable existing tubo on PATH; otherwise it installs to ~/.local/bin. If you use the default location, make sure that directory is on your PATH.
Install a specific version:
$ curl -fsSL https://www.tubo.click/install.sh | sh -s -- --version v0.12.1
Build from source:
$ git clone https://github.com/origama/tubo.git $ cd tubo && go build -o tubo ./cmd/tubo
Verify the installation:
$ tubo version tubo v0.12.1 protocol 1.1
2. Join the public network
Tubo ships with a public relay network. Joining it takes one command and saves configuration
to ~/.config/tubo/config.yaml:
$ tubo join ✓ Joined public Tubo network relay relay.tubo.click:4001 cluster home namespace default
3. Publish a service
Run tubo attach next to any HTTP service. Tubo joins the swarm, signs
a service announcement, and starts accepting libp2p streams.
# Attach an HTTP service running on 127.0.0.1:8080 $ tubo attach http://127.0.0.1:8080 --name myapi -d ✓ Service published name myapi service id svc_abc123def456 visibility unlisted access invite token required ✓ Share token (give this to the person who needs access): tubo connect --token eyJhbGci... --local 127.0.0.1:9000
Copy the tubo connect --token ... line and give it to whoever needs access.
4. Connect from another machine
On any machine with Tubo installed, run the connect command with the token:
$ tubo connect --token eyJhbGci... --local 127.0.0.1:9000 ✓ Tunnel ready local http://127.0.0.1:9000 service myapi (svc_abc123def456) path relayed via relay.tubo.click $ curl http://127.0.0.1:9000/healthz OK
5. Manage processes
Tubo uses a daemonless model. Long-running commands (attach, connect,
relay, gateway) stay in the foreground by default.
Use -d to detach them.
# List all detached processes on this machine $ tubo ps PROCESS STATUS PORT attach-myapi running — connect-myapi-9000 running 9000 # Follow logs $ tubo logs process/attach-myapi # Stop a process $ tubo stop process/attach-myapi # Clean up terminated processes $ tubo rm --stale
Next steps
- Core Concepts — understand roles, clusters, namespaces, and trust
- Private Swarms — run a fully isolated network with a PSK swarm key
- Access Control — grants, leases, revocation
- CLI Reference — every command and flag