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.1.2.tar.gz
(7.3 kB
view hashes)
Built Distribution
Close
Hashes for Flask_Shell2HTTP-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e909a1836bdce26af091e72ec61c2f87adb0bcd87a4bbc8fc1c4acb0504058d5 |
|
MD5 | 1961d29fc12977bf53f1f51839e73bb3 |
|
BLAKE2b-256 | 8fd7698053a5db56685c6c80a608c1d11c4440de18f6f7801df66edad3739f12 |