A minimalist REST API wrapper for python's subprocess API.
Project description
Flask-Shell2HTTP
A minimalist Flask extension that serves as a REST API wrapper for python's subprocess API.
- Convert any command-line tool into a REST API service.
- Execute pre-defined shell commands asynchronously and securely via flask's endpoints.
- Designed for development, prototyping or remote control.
Inspired by the work of awesome folks over at msoap/shell2http.
Use Cases
- Set a script that runs on a succesful POST request to an endpoint of your choice. See Example code.
- Map a base command to an endpoint and pass dynamic arguments to it. See Example code.
- Can also process multiple uploaded files in one command. See Example code.
- This is useful for internal docker-to-docker communications if you have lots of different binaries. See real-life example.
- Currently, all commands are run asynchronously, so result is not available directly. An option would be provided for this in future release.
Note: This extension is primarily meant for executing long-running shell commands/scripts (like nmap, code-analysis' tools) in background from an HTTP request and getting the result at a later time.
Documentation / Quick Start
Read the Quickstart from the documentation to get started!
Why?
This was initially made to integrate various command-line tools easily with IntelOwl.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Flask-Shell2HTTP-1.2.0.tar.gz
(7.5 kB
view hashes)
Built Distribution
Close
Hashes for Flask_Shell2HTTP-1.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a82a2a9d0378e8f2dcd0c69950dbacce9cc2bfed6815edf53f416c82fbbc391 |
|
MD5 | c4acb1d85c6ae018b611024b02822d04 |
|
BLAKE2b-256 | db9169842e88464bb9be2ad95c36360070670c7566575db122389bcb10a7fd54 |