RetroFed Forum
Your home away from modern life.
bash-server: A minimal HTTP server that maps URL endpoints to shell commands
Post Reply
AuthorMessage
danhab99 programming.dev danhab99@programming.dev
Joined: 2023-07-03
(edited) Quote

I cannot ever be sure about this but this might have come to me in a dream. I just thought about why it's so hard to implement a web-server in bash, basically all the functionality of the webserver must be implemented in bash but the http handling can be compiled.

This program lets you declare endpoints and map them to shell commands, query args get passed as ENV vars, methods are enforced, body is passed in stdin and the response is the stdout.

I also learned I really like declaring flake.nix files for all my personal projects, I hope it helps you install what I create!

15   Original
CameronDev programming.dev CameronDev@programming.dev
Joined: 2023-06-18
#2 · (edited) Quote Reply

Unauthenticated RCE <3

Joking aside, I have done something similar to allow turning off my server from a http endpoint. Your method does seem a lot cleaner and more flexible though.

14
sip programming.dev sip@programming.dev
Joined: 2023-06-18
#3 · Quote Reply

cgi

9
purplemonkeymad programming.dev purplemonkeymad@programming.dev
Joined: 2023-08-08
#4 · Quote Reply

cgi

Yea have you not be able to do this with Apache etc forever? You can even define the endpoint with a very unix like every endpoint is a file.

On fact was there not even a vulnerability that was caused by the fact the CGI can run bash?

2
brian programming.dev brian@programming.dev
Joined: 2023-06-13
#5 · Quote Reply

for the common use cases, I imagine you're better off using https://github.com/adnanh/webhook instead. handles security etc. don't think it lets you return responses but at that point you probably want a proper server framework

3
Post Reply
Back to top