msoap

shell2http

msoap

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 PM
Downloads 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
  • -form mode: parse query parameters into environment variables and handle uploaded files
  • -cgi mode: 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

  1. MacOS: brew install msoap/tools/shell2http
  2. Or download binaries from Releases
  3. Run: shell2http /date "date" /hello "echo 'Hello World'"
  4. Visit http://localhost:8080/date to 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