aude-tunnel(7)
NAME
aude-tunnel —
which other devices reach this computer's aude
sessions
SYNOPSIS
aude |
tunnel tailnet |
funnel | trycloudflare |
none |
DESCRIPTION
Because the listener of aude-rc(7) listens only at 127.0.0.1, only this computer reaches it. A tunnel lets other devices reach the listener.
‘aude tunnel’ starts the
listener if necessary. The listener writes
tunnel.json. ‘aude
tunnel’ prints the new reach: the URL and its QR code. If no
device is listed and no pairing window is open, it prints only
‘tunnel <word>’.
While the listener listens, it runs the tunnel's program, which it
finds on PATH. The program stops with the listener.
It continues if all aude processes get SIGKILL. A pairing window, or
‘aude tunnel’ with the same word,
starts a failed program again.
TUNNELS
tailnet- The devices of this machine's tailnet reach the listener through
‘
tailscale serve’. Tailscale 1.52.0 or later must run. Log in to Tailscale. Turn on HTTPS certificates in the tailnet. On Linux, run ‘sudo tailscale set --operator=$USER’ once. funnel- The internet reaches the listener through
‘
tailscale funnel’. Also turn on Funnel for this machine in the tailnet policy. trycloudflare- The internet reaches the listener through a quick tunnel of
‘
cloudflared’ 2025.6.1 or later, with no account. The name changes at each start, so scan the new URL. none- Only this computer reaches the listener, as with no tunnel.json.
With a tunnel, the URL gives the tunnel's domain name and no port:
AUDE:<name>/<fingerprint>FILES
- ~/.aude/rc/tunnel.json
- One JSON string, the tunnel's word:
‘
"trycloudflare"aude tunnel’ writes it. You can also write it while no aude process runs.
EXIT STATUS
‘aude tunnel’ exits 0 when
it prints the reach, open or closed. It exits 8 when the tunnel or the port
fails. It exits 6 when aude cannot read or write a file. It exits 64 for an
unknown word.
EXAMPLES
$ aude tunnel trycloudflare devices reach this machine at AUDE:<name>$/<fingerprint>: my phone <the QR code> $ aude devices this machine CIWVK7ZHMCBW6Z5BRVKUL6VJGK7Z tunnel trycloudflare my phone 43MINEMOLU2QDYIRISB6HVGMMF6X
DIAGNOSTICS
- devices cannot reach this machine: the <tunnel> tunnel <finding> — see aude-tunnel(7)
- The finding is one of:
- has no program on PATH
- Install the program.
- has a program older than aude needs
- Update the program.
- has a service that does not run, or is logged out
- Start Tailscale. Then log in.
- is refused by its provider
- Turn on HTTPS certificates. For
funnel, also turn on Funnel. - did not serve in time, exited <n>, was killed by signal <n>, wrote a line past <n> bytes, could not start its program: <reason>
- Run the program by hand to see the cause. The quick tunnel service can refuse it, or a network can block it.
- does not know if its program still runs
- Stop the program if it runs.
- rc could not read tunnel.json: <defect>
- ‘
aude devices’ exits 6. Run ‘aude tunnel’. - unknown tunnel '<word>' — available: funnel none tailnet trycloudflare
- could not attach — this platform has no TLS client; attach from a Mac or a phone
- A terminal on Linux cannot dial a tunnel.
SEE ALSO
CAVEATS
With funnel and
trycloudflare, a person who finds the name can reach
the listener. The listener refuses a device that it does not list. But while
other devices hold all the handshake slots, your devices cannot attach.
The tunnel's operator sees who dials, when, and how much data, and can stop the tunnel. The operator cannot read the data.
The public logs of TLS certificates show the name of
tailnet and funnel.
The listener is not tested over Tailscale's tunnels.