/install boxed-http-server
boxed-http-server
A lightweight static HTTP server based on WebAssembly sandbox, with support for HTTP Basic authentication and HTTP proxy/reverse proxy.
Trigger When
Use this skill when the user describes (触发场景):
- Starting a static file server (启动静态文件服务器)
- Configuring HTTP Basic authentication (配置 HTTP 认证)
- Setting up HTTP proxy or reverse proxy (设置 HTTP 代理或反向代理)
- Running a local development server (搭建本地开发服务器)
- Deploying a static website (部署静态网站)
- Adding authentication to a static site (为静态网站添加认证保护)
Prerequisites
- openclaw-wasm-sandbox plugin: Must be installed and enabled, version
>=0.4.0 - wasm file download: Download required before first use
Download wasm File
wasm-sandbox-download({
url: "https://raw.githubusercontent.com/guyoung/wasm-sandbox-openclaw-skills/main/boxed-http-server/files/boxed_http_server_component.wasm",
dest: "~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm"
})
Or via command line:
curl -L -o ~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm \
"https://raw.githubusercontent.com/guyoung/wasm-sandbox-openclaw-skills/main/boxed-http-server/files/boxed_http_server_component.wasm"
Start Static File Server
wasm-sandbox-serve({
wasmFile: "~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm",
workDir: ["~/.openclaw/skills/boxed-http-server/files"]
})
Or via command line:
openclaw wasm-sandbox serve ~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm \
-i 192.168.1.100 -p 8080 --work-dir /path/to/website
HTTP Basic Authentication
Protect your website with username/password authentication:
wasm-sandbox-serve({
wasmFile: "~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm",
workDir: ["~/.openclaw/skills/boxed-http-server/files"],
args: ["--config-var", "username=admin", "--config-var", "password=admin"]
})
HTTP Proxy / Reverse Proxy
Proxy external APIs through the server. Requires allowedOutboundHosts for the target domain:
wasm-sandbox-serve({
wasmFile: "~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm",
workDir: ["~/.openclaw/skills/boxed-http-server/files"],
allowedOutboundHosts: ["https://httpbin.org"],
args: ["--config-var", "proxy=\"[{\\\"path\\\": \\\"/httpbin\\\",\\\"target\\\" :\\\"https://httpbin.org\\\",\\\"headers\\\": {\\\"Authorization\\\": \\\"Bearer abcd1234\\\"}}]\""]
})
Combined Example: Static Site + API Proxy
Serve a static website while proxying external APIs to avoid CORS issues:
wasm-sandbox-serve({
wasmFile: "~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm",
workDir: ["/home/user/website"],
allowedOutboundHosts: ["https://api.weather.com", "https://wttr.in"],
args: ["--config-var", "proxy=\"[{\\\"path\\\": \\\"/weather\\\",\\\"target\\\": \\\"https://wttr.in\\\"}]\""]
})
Then update your frontend to call /weather instead of the external API directly.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
wasmFile |
string | Yes | Path to the wasm component file |
workDir |
string[] | Yes | Website root directories (served as static files) |
allowedOutboundHosts |
string[] | No | Allowed external domains for proxy mode |
args |
string[] | No | Command-line args for auth and proxy config |
CLI Options (for openclaw wasm-sandbox serve)
| Option | Short | Description |
|---|---|---|
--ip \x3Cip> |
-i |
Socket IP to bind to |
--port \x3Cport> |
-p |
Socket port to bind to (0-65535) |
--work-dir \x3Cdir> |
Website root directory | |
--config-var \x3Cvar> |
WASI config variables | |
--allowed-outbound-hosts \x3Chosts> |
Allowed external domains (proxy mode) |
Available args Config
--config-var username=\x3Cusername>- Set Basic auth username--config-var password=\x3Cpassword>- Set Basic auth password--config-var proxy=\x3CJSON>- Set proxy rules in JSON format
proxy Config Format
[
{
"path": "/httpbin",
"target": "https://httpbin.org",
"headers": {
"Authorization": "Bearer abcd1234"
}
}
]
| Field | Type | Description |
|---|---|---|
path |
string | Proxy path prefix (requests matching this prefix will be proxied) |
target |
string | Target full URL |
headers |
object | Optional custom headers to add to the proxied request |
Security Model
Boxed HTTP Server runs inside WebAssembly sandbox with capability-based security:
- No implicit access: WASM module has zero access by default
- Explicit grants only: Access must be explicitly allowed via configuration
- Network isolation: Outbound network access is denied by default
- Resource limits: Supports timeout, memory, stack size, and fuel limits
Architecture
User Request
↓
OpenClaw Gateway
↓
Wasm Sandbox Plugin
↓
boxed_http_server_component.wasm
↓
├── Static File Handler (workDir)
├── Basic Auth Handler (args: username/password)
└── Proxy Handler (args: proxy config)
↓
Response to Client
Example: Full Deployment
Deploy a static website at http://192.168.158.134:8080:
# 1. Download wasm file (if not exists)
curl -L -o ~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm \
"https://raw.githubusercontent.com/guyoung/wasm-sandbox-openclaw-skills/main/boxed-http-server/files/boxed_http_server_component.wasm"
# 2. Start server
openclaw wasm-sandbox serve \
~/.openclaw/skills/boxed-http-server/files/boxed_http_server_component.wasm \
-i 192.168.158.134 \
-p 8080 \
--work-dir /home/user/website
Troubleshooting
| Issue | Solution |
|---|---|
| "wasm file not found" | Run the download step first |
| "Connection refused" | Check IP and port, ensure firewall allows access |
| "CORS errors in frontend" | Use proxy mode to route external APIs through the server |
| "Authentication not working" | Ensure username and password are set in args |
| "Proxy returns 403" | Add target domain to allowedOutboundHosts |
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install boxed-http-server - 安装完成后,直接呼叫该 Skill 的名称或使用
/boxed-http-server触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Boxed HTTP Server 是什么?
WebAssembly sandbox static HTTP server with HTTP Basic auth and proxy support. Use when starting a static file server, configuring HTTP authentication, setti... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 118 次。
如何安装 Boxed HTTP Server?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install boxed-http-server」即可一键安装,无需额外配置。
Boxed HTTP Server 是免费的吗?
是的,Boxed HTTP Server 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Boxed HTTP Server 支持哪些平台?
Boxed HTTP Server 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Boxed HTTP Server?
由 guyoung(@guyoung)开发并维护,当前版本 v1.0.1。