avleen / bashttpd Goto Github PK
View Code? Open in Web Editor NEWA web server written in bash
License: MIT License
A web server written in bash
License: MIT License
http://mywiki.wooledge.org/BashFAQ/031
Double square brackets solve a lot of problems with code expansion and tidiness.
We should really use them, not the old [
/ test
It would be easier to use if the script were able to listen to the port itself. This might require calling itself recursively. But the appropriate functionality can be switched with command line options.
mac osx newb trying to figure out this github projet......... please entitle how to get this web server started...
± |master ✓| → socat TCP4-LISTEN:8080 EXEC:/usr/local/bin/bashttpd.sh
-bash: socat: command not found
Trying to serve a binary file not only generates incorrect output but can easily make a mess of the terminal connected to stderr.
You might be able to use the file
command for determining this.
Parse POST request?
you can listen on socket directly with bash
http://nerotux.tuxfamily.org/articles.php?article_id=72
If you get an error with netcat about option "-e" missing, it's because linux use by default an alternative version of netcat: GNU-Netcat.
To use Traditional netcat:
sudo apt install netcat
sudo rm /etc/alternatives/nc
sudo ln -s /bin/nc.traditional /etc/alternatives/nc
Now use the alias "nc" instead "netcat":
:;while true;do nc -lp 8080 -e ./bashttpd ;done
(ctrl-z to stop file descriptor listening and kill -9 %1
2 times to kill the process)
If you want to load the process in background: :;while true;do nc -lp 8080 -e ./bashttpd ;done&
Bash is not portable.
POSIX sh would ensure portability across UNIX-like architectures.
Perhaps a nice copyleft license would suit your tastes?
server.sh: line 155: syntax error near unexpected token <' server.sh: line 155:
read -r CONTENT_TYPE < <(file -b --mime-type "$file") && '
This can be done with:
:;while [ $? -eq 0 ];do nc -lp 8888 -e ./bashttpd ;done
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.