Install
openclaw skills install expiring-local-fileshareLets OpenClaw safely share single files from its local workspace via expiring, tokenized HTTP links (local-network/VPN only). Hours are configurable (default 1h). Optional one-time access. **Token cost:** ~200-500 tokens per use (skill body ~1k tokens, minimal execution overhead).
openclaw skills install expiring-local-fileshareShare single workspace files via expiring HTTP links (tokenized, local-network only).
Install:
clawhub install expiring-local-fileshare
Update:
clawhub update expiring-local-fileshare
{baseDir}/scripts/share.sh /path/to/file.md [port] [hours] [once]
Parameters:
file-path (required): Absolute path to fileport (optional): Port number (default: auto-assigned 8888+)hours (optional): Validity in hours (default: 1, max: 24)once (optional): Set to once or 1 for one-time accessOutput: Returns clickable HTTP link with token, valid for specified duration.
# Share a markdown file (1h, auto-port)
{baseDir}/scripts/share.sh ~/.openclaw/workspace/projects/my-project/README.md
# Share an image (12h, port 9000)
{baseDir}/scripts/share.sh ~/image.png 9000 12
# Share a file (one-time access, 1h)
{baseDir}/scripts/share.sh ~/secrets.txt 9001 1 once
http://192.168.0.219:PORT/?token=XXXXX~/.openclaw/workspace (override via FILESHARE_ALLOW_ANY_PATH=1, not recommended)Auto-detected MIME types:
.png → image/png.jpg, .jpeg → image/jpeg.md → text/markdown; charset=utf-8.txt → text/plain; charset=utf-8application/octet-streamThere is no background service by default.
# Kill a specific port
kill $(lsof -t -i:8888)
# Kill all fileshare servers started via this skill
pkill -f "share-file.js"
If installed into ~/.openclaw/skills:
rm -rf ~/.openclaw/skills/expiring-local-fileshare
# Kill a specific port
kill $(lsof -t -i:8888)
# Kill all fileshare servers started via this skill
pkill -f "share-file.js"
Wrong encoding (umlauts broken)? → Fixed in latest version (UTF-8 charset in headers)
Old version served? → Kill old server + restart (no-cache headers prevent browser caching)
Can't access from outside?
→ VPN required (home network topology uses NAT/masquerade, see docs/internal-fileshare.md)
Port already in use? → Use different port or kill existing server