delonix net tunnel
Expõe uma porta local à internet pública via pinggy/ngrok/cloudflare (`kind: Tunnel`).
Exposes a local port to the public internet via pinggy/ngrok/cloudflare (`kind: Tunnel`).
Faz UMA coisa: leva tráfego da internet pública até UMA porta local — sem conta,
sem IP público, sem configurar o router. Junta-se ao httproute apontando
--local-port para a porta onde o proxy L7 escuta, e o routing por Host
do lado de lá continua a decidir para que container vai cada pedido — uma só URL pública, vários
backends. Três providers, cada um o binário/mecanismo REAL desse serviço (nunca simulado):
pinggy (zero binário extra — ssh puro, já uma dependência do
projecto), ngrok (precisa do agente ngrok no PATH; a URL pública sai
da API local do próprio agente) e cloudflare (precisa de cloudflared;
por agora só o quick-tunnel efémero *.trycloudflare.com, sem conta — um tunnel
NOMEADO com domínio próprio precisa da API do Cloudflare, ainda por implementar).
Does ONE thing: carries traffic from the public internet down to ONE local
port — no account, no public IP, no router config. Pairs with httproute by pointing
--local-port at the port the L7 proxy listens on, and Host-based routing
on the other end still decides which container each request goes to — one public URL, several
backends. Three providers, each the REAL binary/mechanism of that service (never simulated):
pinggy (zero extra binary — plain ssh, already a project dependency),
ngrok (needs the ngrok agent on PATH; the public URL comes from the
agent's own local API) and cloudflare (needs cloudflared; for now
only the ephemeral quick-tunnel *.trycloudflare.com, no account — a NAMED tunnel with
its own domain needs the Cloudflare API, not implemented yet).
📄 Implementação real em Rust: cmd/tunnel.rs
Usage: dlx net tunnel [OPTIONS] <COMMAND>
Commands:
apply Apply the `kind: Tunnel` documents of a manifest (idempotent)
expose One-shot expose of a local port, no manifest needed
ls List tunnels (state + public URL)
describe Human-readable detail of one tunnel
rm Stop and remove a tunnel
help Print this message or the help of the given subcommand(s)
Options:
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-h, --help Print helptunnel apply
Apply the kind: Tunnel documents of a manifest (idempotent)
Usage: dlx net tunnel apply [OPTIONS]
Options:
-f, --file <FILE>
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-h, --help Print helpExemplos
delonix net tunnel apply -f tunel.yamltunnel expose
One-shot expose of a local port, no manifest needed
Usage: dlx net tunnel expose [OPTIONS] --provider <PROVIDER> --local-port <LOCAL_PORT>
Options:
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
--name <NAME> Name (default: `tunnel-<port>`)
--provider <PROVIDER> `pinggy` | `ngrok` | `cloudflare`
--local-port <LOCAL_PORT>
--hostname <HOSTNAME>
--token <TOKEN>
--token-secret <TOKEN_SECRET>
-h, --help Print helpValidado ao vivo nesta mesma sessão: tráfego HTTPS real da internet chegou a um servidor local através do tunnel (HTTP 200) usando exactamente este comando.
Exemplos
delonix net tunnel expose --name demo --provider pinggy --local-port 8080tunnel/demo: running — https://oxipg-197-148-40-67.free.pinggy.nettunnel ls
List tunnels (state + public URL)
Usage: dlx net tunnel ls [OPTIONS]
Options:
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-h, --help Print helpExemplos
delonix net tunnel lsNAME PROVIDER LOCAL PORT PUBLIC URL STATUS UPTIME
test1 pinggy 18234 https://oxipg-197-148-40-67.free.pinggy.net Running Up 34 secondstunnel describe
Human-readable detail of one tunnel
Usage: dlx net tunnel describe [OPTIONS] <NAME>
Arguments:
<NAME>
Options:
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-h, --help Print helpExemplos
delonix net tunnel describe demotunnel rm
Stop and remove a tunnel
Usage: dlx net tunnel rm [OPTIONS] <NAME>
Arguments:
<NAME>
Options:
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-h, --help Print helpExemplos
delonix net tunnel rm demotunnel/demo: removedLaboratórioLab
Uma porta local, uma URL pública — sem conta, sem router.
delonix net tunnel expose --provider pinggy --local-port 8080
delonix net tunnel lsOne local port, one public URL — no account, no router config.
delonix net tunnel expose --provider pinggy --local-port 8080
delonix net tunnel lsDesafioChallenge
Aponta o --local-port do tunnel para a porta onde o
proxy L7 (httproute) escuta, e confirma que a MESMA URL pública consegue servir vários
containers backend diferentes, decididos pelo Host do pedido.
Point the tunnel's --local-port at the port the L7 proxy
(httproute) listens on, and confirm the SAME public URL can serve several different
backend containers, decided by the request's Host.