Install
openclaw skills install @ctz168/aitun-tunnelExpose local web pages and HTTP services to the public internet via secure tunnels. Perfect for AI agents that build websites locally and need to share them publicly.
openclaw skills install @ctz168/aitun-tunnelUse this skill when:
Do NOT use this skill when:
pip install aitun
Or install via one-line script (Linux/macOS):
curl -fsSL https://aitun.cc/install.sh | bash
Windows (PowerShell):
irm https://aitun.cc/install.ps1 | iex
Or if already installed, verify:
which aitun
Ensure the local web service is running on a port. For static HTML files:
# Serve a directory with a built HTML page
python3 -m http.server 8080 --directory /path/to/html/dir
For other frameworks, start their dev server:
npm run dev -- -p 3000flask run --port 5000Option A: Free instant tunnel (no sign-up, 24-hour limit)
Free tunnels use proxy address mode (path-based routing). No subdomain is assigned — the public URL uses the format aitun.cc/<tunnel-code>. Simply run without a token:
aitun -p 8080 &
AITUN_PID=$!
sleep 3
The output will contain the public URL, e.g.:
https://aitun.cc/abc123Option B: Custom subdomain (requires sign-in at aitun.cc)
Registered users can create custom subdomains with two domain levels:
myapp.t.aitun.cc (up to 5 subdomains)myapp.aitun.cc (up to 2 subdomains)# Check availability
curl -s https://aitun.cc/aitun-api/subdomain/check/myapp
# Register via website: https://aitun.cc
# Then use your token:
aitun -p 8080 -k YOUR_TOKEN
Tell the user their website is now publicly accessible:
Your website is now live at: https://aitun.cc/abc123
This free tunnel expires in 24 hours.
For a permanent subdomain (e.g., myapp.aitun.cc), register at https://aitun.cc
When done, stop the tunnel:
kill $AITUN_PID 2>/dev/null
The aitun command (installed via pip install aitun, or alternatively curl -fsSL https://aitun.cc/install.sh | bash / irm https://aitun.cc/install.ps1 | iex on Windows) accepts these flags:
| Flag | Description |
|---|---|
-p PORT | Local HTTP service port (optional; omit for TCP-only mode with --tcp-ports) |
-k TOKEN | Auth token for registered subdomain (omit for free tunnel) |
--host HOST | Local service address (default: localhost) |
--tcp-ports PORTS | TCP forwarding ports, comma-separated (e.g., 22,3306; requires -k). Use without -p for TCP-only mode |
--p2p | Enable P2P direct connection (default: enabled) |
--no-p2p | Disable P2P, force server relay mode |
--daemon | Run as background daemon |
--stop | Stop running daemon |
-p flag is optional. Omit it when using --tcp-ports only (TCP-only mode, e.g., SSH/RDP forwarding without HTTP)-p is specified, the local service must be running before starting aitun (the client checks port availability)aitun.cc/abc123), NOT subdomainsxxx.t.aitun.cc): up to 5 per userxxx.aitun.cc): up to 2 per user