delonix net tunnel
Expõe uma porta local à internet pública via pinggy/ngrok/cloudflare (`kind: Gateway`).
Exposes a local port to the public internet via pinggy/ngrok/cloudflare (`kind: Gateway`).
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
a porta local do túnel 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
the tunnel's 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: delonix net tunnel [OPTIONS] <COMMAND>
Commands:
expose One-shot expose of a local port, no manifest needed
apply Apply the `kind: Gateway` documents of a manifest (idempotent)
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 help (see a summary with '-h')
COMMAND MAP:
Lifecycle expose
Declarative apply
EXAMPLES:
# a local port on the public internet, with no account and no public IP on
# this host
delonix net tunnel expose 8080
# apply the `kind: Gateway` documents of a manifest instead of a one-shot
# expose
delonix net tunnel apply -f delonix-manifest.yaml
SEE ALSO:
delonix get · delonix delete · delonix net httproute apply · delonix net
ingress publish
delonix › net › tunnelExemplosExamples
delonix get gatewaysNAME PROVIDER LOCAL PORT PUBLIC URL STATUS UPTIME
test1 pinggy 18234 https://oxipg-197-148-40-67.free.pinggy.net Running Up 34 secondsdelonix describe gateway demodelonix delete gateway demotunnel/demo: removedtunnel apply
Apply the kind: Gateway documents of a manifest (idempotent)
Usage: delonix 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 help (see a summary with '-h')
EXAMPLES:
# the `kind: Gateway` documents of the manifest here — idempotent, an
# unchanged tunnel is left alone
delonix net tunnel apply
# from a file, where the token comes from a `kind: Secret` instead of the
# shell history
delonix net tunnel apply -f delonix-manifest.yaml
SEE ALSO:
delonix net tunnel expose · delonix get · delonix secret create · delonix
stack apply
delonix › net › tunnel › applyExemplosExamples
delonix net tunnel apply -f tunel.yamltunnel expose
One-shot expose of a local port, no manifest needed
Usage: delonix net tunnel expose [OPTIONS] <LOCAL_PORT>
Arguments:
<LOCAL_PORT>
Local TCP port to expose
Options:
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-p, --provider <PROVIDER>
`pinggy` | `ngrok` | `cloudflare`
[default: pinggy]
[possible values: pinggy, ngrok, cloudflare]
-n, --name <NAME>
Name (default: `tunnel-<port>`)
--hostname <HOSTNAME>
Custom/reserved hostname — `ngrok` uses it as `--url` (a reserved domain on your account); `cloudflare` only accepts it together with `--token` (a NAMED tunnel), where it is informational — the route itself lives in the Cloudflare dashboard for that tunnel
--token <TOKEN>
Provider token: pinggy pro token, ngrok authtoken, or a cloudflare NAMED tunnel's token (`cloudflared tunnel token <name>` or the Zero Trust dashboard) — switches `--provider cloudflare` from an anonymous quick tunnel to that tunnel
--token-secret <TOKEN_SECRET>
--insecure-skip-tls-verify
Skip TLS verification of the LOCAL backend's cert (self-signed HTTPS on `localhost:<local-port>`). Never affects the public tunnel URL. No-op for `pinggy`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# pinggy needs no account and no extra binary — it is plain ssh, and the
# free URL is ephemeral
delonix net tunnel expose 8080
# a name of your own, instead of the `tunnel-<port>` default
delonix net tunnel expose 8080 --name demo
# ngrok, with the authtoken read from a secret rather than typed into argv
delonix net tunnel expose 8080 --provider ngrok --token-secret ngrok-token
# a cloudflare quick tunnel — random trycloudflare.com URL, no account,
# `cloudflared` must be on PATH
delonix net tunnel expose 8080 --provider cloudflare
# a cloudflare NAMED tunnel you already created — its public hostname is
# whatever you configured for it in the dashboard
delonix net tunnel expose 8080 --provider cloudflare --token-secret cf-tunnel-token
SEE ALSO:
delonix get · delonix delete · delonix net tunnel apply · delonix net
httproute apply
delonix › net › tunnel › exposeValidado 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.
Validated live in this very session: real HTTPS traffic from the internet reached a local server through the tunnel (HTTP 200) using exactly this command.
ExemplosExamples
delonix net tunnel expose 8080 --name demotunnel/demo: running — https://oxipg-197-148-40-67.free.pinggy.netLaboratórioLab
Uma porta local, uma URL pública — sem conta, sem router.
delonix net tunnel expose 8080
delonix get gatewaysOne local port, one public URL — no account, no router config.
delonix net tunnel expose 8080
delonix get gatewaysDesafioChallenge
Aponta a porta local 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.