Command-as-a-Service CaaS

Turn any CLI tool into an HTTPS-accessible API endpoint. Run local commands remotely through a secure tunnel — without writing a web server, deploying containers, or opening firewall ports.


How It Works

The NFLTR agent listens for incoming HTTP requests and maps them to local command execution. When a request arrives, the agent spawns the configured command, feeds it the request body as stdin, and returns stdout as the HTTP response. The whole pipeline runs over the encrypted gRPC tunnel.

CALLER curl / webhook GitHub Action NFLTR SERVER HTTPS Ingress Route → Agent AGENT — YOUR MACHINE nfltr command exec() your-script stdin ← request body stdout → response body

CLI Examples

Expose a script

# Start the agent with a command backend
nfltr command ./deploy.sh

# Callers hit: https://your-agent.nfltr.xyz/
# The request body is piped to deploy.sh's stdin
# deploy.sh's stdout becomes the HTTP response

Expose a database query

# Turn psql into an HTTP API
nfltr command psql -- -U app -d mydb -c

# POST body = SQL query, response = query results

Multi-command routing

# Different commands for different paths
nfltr command ./default-handler.sh \
  --route "/health:curl -s http://localhost:3000/health" \
  --route "/deploy:./scripts/deploy.sh" \
  --route "/logs:journalctl -u myservice -n 50"

Use as a webhook handler

# Handle GitHub webhooks with a local script
nfltr command ./webhook-handler.sh

# Set the GitHub webhook URL to: https://your-agent.nfltr.xyz/

Request/Response Flow

HTTP Request Maps To
POST bodystdin of command
URL pathRoute selection / command args
Query paramsAvailable as env vars
Responsestdout of command
Exit code ≠ 0HTTP 500 + stderr

Security

💡 When to use CaaS vs SSH

Use Command-as-a-Service when you want to expose a specific command as an HTTP endpoint (webhooks, API automation). Use SSH tunneling when you need full interactive shell access.

Use Cases

Turn any command into an API

One CLI flag converts your script into an authenticated HTTPS endpoint.

CLI Reference Webhook Relay →