Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Host static files on subdomains with optional authentication. Use when you need to serve HTML, images, CSS, JS, or any static content on a dedicated subdomain. Supports file upload, basic auth, quota management, and automatic SSL via Caddy. Commands include sf sites (create/list/delete), sf upload (files/directories), sf files (list/delete).
Host static files on subdomains with optional authentication. Use when you need to serve HTML, images, CSS, JS, or any static content on a dedicated subdomain. Supports file upload, basic auth, quota management, and automatic SSL via Caddy. Commands include sf sites (create/list/delete), sf upload (files/directories), sf files (list/delete).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Host static content on *.{domain} subdomains with automatic SSL.
# Create site sf sites create mysite # โ https://mysite.498as.com # Upload file sf upload ./index.html mysite # Upload directory sf upload ./dist mysite # Add authentication sf sites auth mysite admin:secretpass123 # List files sf files mysite # Delete file sf files mysite delete path/to/file.txt # Delete site sf sites delete mysite
export SF_API_URL=http://localhost:3000 # API endpoint export SF_API_KEY=sk_xxxxx # Your API key
# 1. Create the site sf sites create docs # 2. Upload the build directory sf upload ./build docs # 3. Verify curl -I https://docs.498as.com
# 1. Create site with auth sf sites create private sf sites auth private user:strongpassword # 2. Upload sensitive files sf upload ./reports private # 3. Share URL + credentials # https://private.498as.com (user / strongpassword)
# Overwrite existing file sf upload ./new-version.pdf mysite --overwrite # Or delete and re-upload sf files mysite delete old-file.pdf sf upload ./new-file.pdf mysite
CommandDescriptionsf sites listList all sitessf sites create <name>Create new sitesf sites delete <name>Delete site and all filessf sites auth <name> <user:pass>Set basic authsf sites auth <name> --removeRemove auth
sf upload <path> <site> [subdir] [--overwrite] [--json] path: File or directory to upload site: Target site name subdir: Optional subdirectory --overwrite: Replace existing files --json: Output JSON
CommandDescriptionsf files <site>List all filessf files <site> delete <path>Delete specific file
sf stats # Global stats sf stats <site> # Site-specific stats
Base: $SF_API_URL with Authorization: Bearer $SF_API_KEY MethodPathDescriptionGET/sitesList sitesPOST/sitesCreate siteDELETE/sites/{name}Delete sitePATCH/sites/{name}Update authGET/sites/{name}/filesList filesPOST/sites/{name}/filesUpload fileDELETE/sites/{name}/files/{path}Delete fileGET/statsGlobal statsGET/stats/{name}Site statsGET/healthHealth check
Site names: lowercase, alphanumeric, hyphens only (max 63 chars) File size: 50MB default (configurable) Quota: 100MB per site default Rate limit: 100 requests/minute per API key
# Check service status systemctl status kleo-static-files # Check if port is listening curl http://localhost:3000/health
# Verify key is set echo $SF_API_KEY # Create new key if needed bun run /opt/kleo-static-files/scripts/create-key.ts "new-key"
# Check current usage sf stats mysite # Delete unused files sf files mysite delete large-file.zip
# Verify DNS points to server dig mysite.498as.com # Check Caddy config cat /etc/caddy/sites.d/static-files.caddy # Resync Caddy bun run /opt/kleo-static-files/scripts/sync-caddy.ts --reload
curl -fsSL https://raw.githubusercontent.com/498AS/kleo-static-files/main/install.sh | sudo bash The installer outputs JSON with connection details between KLEO_SF_CONFIG_BEGIN and KLEO_SF_CONFIG_END markers. Parse this to get api_url and api_key.
export SF_API_URL=http://localhost:3000 export SF_API_KEY=sk_xxxxx # from installer output
sudo /opt/kleo-static-files/install.sh --status See references/install.md for manual installation.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.