/install aitun-skill
AiTun Tunnel - Expose Local Web Pages to the Public Internet
When to Use
Use this skill when:
- You've built a web page, dashboard, or web app locally and need to share it publicly
- You need to test a local HTTP service from an external device
- You want to demo a locally-running application to someone
- You need a public webhook endpoint for an external service to call
- You want to expose a local API for integration testing
- You built a website for a user and they want to see it in their browser
Do NOT use this skill when:
- The content only needs to be viewed locally
- The user asks for a file download (use file sharing instead)
Instructions
Step 1: Install aitun
pip install aitun
Or if already installed, verify:
which aitun || pip show aitun
Step 2: Start the local web service
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:
- Next.js:
npm run dev -- -p 3000 - Flask:
flask run --port 5000 - Any HTTP service on any port
Step 3: Create a tunnel
Option 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/\x3Ctunnel-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/abc123
Option B: Custom subdomain (requires Google sign-in at aitun.cc)
Registered users can create custom subdomains with two domain levels:
- Standard domain:
myapp.t.aitun.cc(up to 5 subdomains) - Short domain:
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
Step 4: Share the public URL
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
Step 5: Clean up
When done, stop the tunnel:
kill $AITUN_PID 2>/dev/null
CLI Reference
The aitun command (installed via pip install aitun) accepts these flags:
| Flag | Description |
|---|---|
-p PORT |
Local service port (default: 8080) |
-k TOKEN |
Auth token for registered subdomain (omit for free tunnel) |
-s SERVER |
Server address (default: aitun.cc:6639) |
--host HOST |
Local service address (default: localhost) |
--tcp-ports PORTS |
TCP forwarding ports, comma-separated (e.g., 22,3306; requires -k) |
--p2p |
Enable P2P direct connection (default: enabled) |
--no-p2p |
Disable P2P, force server relay mode |
--daemon |
Run as background daemon |
--stop |
Stop running daemon |
Common Mistakes to Avoid
- Do NOT use
-lflag — it does not exist. Use-pfor the local port. - Do NOT use
--freeflag — free tunnel is the default when no-ktoken is provided. - Do NOT use
--subdomainflag — subdomain is configured on the server after authentication, not via CLI. - Do NOT use
aitun-connect— this command does not exist in the pip package. - The command is
aitun(notaitun-client) afterpip install aitun. - Always use
-pto specify the local port. The default is 8080 if omitted.
API Reference
Check subdomain availability
GET https://aitun.cc/aitun-api/subdomain/check/{name}
Response: { "available": true, "name": "...", "url": "https://name.t.aitun.cc" }
Google OAuth login
POST https://aitun.cc/aitun-api/auth/google
Body: { "access_token": "\x3Cgoogle-access-token>" }
Response: { "user": { ..., "token": "\x3Cjwt-token>" } }
Register subdomain (requires auth)
POST https://aitun.cc/aitun-api/subdomain/register
Headers: Authorization: Bearer \x3Ctoken>
Body: { "name": "myapp", "domain_base": "t.aitun.cc" }
Notes
- Free tunnels use proxy address mode (path-based URL like
aitun.cc/abc123), NOT subdomains - Free tunnels expire after 24 hours, auto-renewed on restart
- Registered subdomains remain active for 30 days of inactivity; use heartbeat to renew
- Standard domain subdomains (
xxx.t.aitun.cc): up to 5 per user - Short domain subdomains (
xxx.aitun.cc): up to 2 per user - All traffic is encrypted end-to-end
- Reserved subdomains (www, api, admin, test, etc.) cannot be registered
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install aitun-skill - 安装完成后,直接呼叫该 Skill 的名称或使用
/aitun-skill触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Aitun Skill 是什么?
Expose 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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 27 次。
如何安装 Aitun Skill?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install aitun-skill」即可一键安装,无需额外配置。
Aitun Skill 是免费的吗?
是的,Aitun Skill 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Aitun Skill 支持哪些平台?
Aitun Skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Aitun Skill?
由 SamAI.cc(@ctz168)开发并维护,当前版本 v3.0.0。