An HTTP server designed to execute shell commands, suitable for development, prototyping, or remote control, requiring just two command-line arguments to set up.
- v1.18.0
- Published at
- 8d ago
- 1,508
- Stars
- 190,795
- Download
- Synced at
- 7d ago
Latest release
v1.18.0Oct 11, 2026, 06:34 PMDownloads slow? Switch the source anytime above
README
Project Overview
shell2http is an HTTP server designed to execute shell commands. It is suitable for development, prototyping, or remote control, facilitating rapid iteration and testing of shell-based functionalities. Easy to set up using just two command-line arguments: URL-path and shell command.
Key Features
- Trigger shell command execution via HTTP requests
- Supports multiple HTTP methods via
METHOD:prefix -formmode: parse query parameters into environment variables and handle uploaded files-cgimode: CGI-style execution with HTTP request info as environment variables-basic-auth: HTTP Basic Authentication support-cache: Cache command output for N seconds-timeout: Set command execution timeout-cert/-key: HTTPS support-export-vars: Export specific environment variables-include-stderr: Include stderr in output
Target Audience
- Developers who need a quick HTTP API to execute shell commands
- System administrators and DevOps engineers
- Prototyping and remote control scenarios
Quick Start
- MacOS:
brew install msoap/tools/shell2http - Or download binaries from Releases
- Run:
shell2http /date "date" /hello "echo 'Hello World'" - Visit
http://localhost:8080/dateto execute
Core Advantages
- Minimal configuration — two arguments to start
- Supports form parsing, CGI mode, auth, and HTTPS
- Cross-platform (MacOS/Linux/Windows/Raspberry Pi)
- Open-source and free
System Requirements
- OS: MacOS, Linux, Windows, Raspberry Pi
- Architectures: x86_64, arm64
Release history
Sort