mirror of
https://gitlab.com/niansa/simpsh-httpd.git
synced 2025-03-06 20:53:36 +01:00
Add files via upload
This commit is contained in:
parent
c06d0172a4
commit
3d2d813801
7 changed files with 75 additions and 28 deletions
|
@ -6,11 +6,11 @@ export FILES="/var/www/html"
|
||||||
# Wie soll der Titel der Dateiliste sein, die aufgerufene URL ist in $URL enthalten.
|
# Wie soll der Titel der Dateiliste sein, die aufgerufene URL ist in $URL enthalten.
|
||||||
export HTMLTITLE="Datei: $URL"
|
export HTMLTITLE="Datei: $URL"
|
||||||
|
|
||||||
# Wo soll das Fertige HTML-Dokument gespeichert werden? Die Variable $HTMLFILEID muss enthalten sein!
|
# Wo soll das Fertige HTML-Dokument gespeichert werden? Die Variable $OUTFILEID muss enthalten sein!
|
||||||
export HTMLFILE="/tmp/simpsh-html.${HTMLFILEID}.html"
|
export OUTFILE="/tmp/simpsh-html.${OUTFILEID}.html"
|
||||||
|
|
||||||
# Welcher Content-Type soll bei einer Unbekannten Datei gesendet werden?
|
# Welcher Content-Type soll bei einem Unbekannten Dateityp gesendet werden?
|
||||||
export DEFAULTCONTENT="text/html"
|
export DEFAULTCONTENTTYPE="text/html"
|
||||||
|
|
||||||
# Port zum lauschen (Falls start-socat.sh als startscript verwendet wird)
|
# Port zum lauschen (Falls start-socat.sh als startscript verwendet wird)
|
||||||
export PORT=8888
|
export PORT=8888
|
||||||
|
|
22
filelist.sh
Normal file
22
filelist.sh
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
status="$URL"
|
||||||
|
|
||||||
|
# Statisches HTML
|
||||||
|
echo '<html>
|
||||||
|
<head>
|
||||||
|
<title>'"${HTMLTITLE}"'</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>'"$status"'</p>
|
||||||
|
<h2>Directory list:</h2><br />
|
||||||
|
<a href="../">..</a><br />' >> $OUTFILE
|
||||||
|
|
||||||
|
# Erstelle Dateiliste im HTML-Format
|
||||||
|
for i in $( ls "${FILE}" ); do
|
||||||
|
echo ' <a href="./'"${i}"'">'"${i}"'</a><br />' >> $OUTFILE
|
||||||
|
done
|
||||||
|
|
||||||
|
# Statisches HTML
|
||||||
|
echo ' </body>
|
||||||
|
</html>' >> $OUTFILE
|
|
@ -1,14 +1,6 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
if [ "$CONTENTTYPE" = "html" ]; then
|
echo "$ANSWER" >> $OUTFILE
|
||||||
echo 'HTTP/1.1 200 OK' >> $HTMLFILE
|
echo 'Date: '"$(date)" >> $OUTFILE
|
||||||
echo 'Date: '"$(date)" >> $HTMLFILE
|
echo 'Server: httpd' >> $OUTFILE
|
||||||
echo 'Server: httpd' >> $HTMLFILE
|
echo 'Content-Type: '"$CONTENTTYPE" >> $OUTFILE
|
||||||
echo 'Content-Type: text/html' >> $HTMLFILE
|
echo '' >> $OUTFILE
|
||||||
echo '' >> $HTMLFILE
|
|
||||||
else
|
|
||||||
echo 'HTTP/1.1 200 OK' >> $HTMLFILE
|
|
||||||
echo 'Date: '"$(date)" >> $HTMLFILE
|
|
||||||
echo 'Server: httpd' >> $HTMLFILE
|
|
||||||
echo 'Content-Type: '"$CONTENT" >> $HTMLFILE
|
|
||||||
echo '' >> $HTMLFILE
|
|
||||||
fi
|
|
||||||
|
|
2
init.sh
2
init.sh
|
@ -1,3 +1,3 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
export HTMLFILEID="$RANDOM"
|
export OUTFILEID="$RANDOM"
|
||||||
|
|
11
main.sh
11
main.sh
|
@ -12,11 +12,14 @@
|
||||||
# Eine kurze sicherheutsüberprüfung...
|
# Eine kurze sicherheutsüberprüfung...
|
||||||
. ./urlcheck.sh
|
. ./urlcheck.sh
|
||||||
|
|
||||||
# Schreibe fertiges HTML-Dokument
|
# Wenn das Dokument schon fertig ist, dann den folgenden Schritt überspringen
|
||||||
. ./writehtml.sh
|
if [ "$DONE" != "true" ]; then
|
||||||
|
# Schreibe fertiges HTML-Dokument
|
||||||
|
. ./sendfile.sh
|
||||||
|
fi
|
||||||
|
|
||||||
# Verwende unix2dos auf das Dokument...
|
# Verwende unix2dos auf das Dokument...
|
||||||
unix2dos $HTMLFILE &> /dev/null
|
unix2dos $OUTFILE &> /dev/null
|
||||||
|
|
||||||
# Gebe fertiges HTML-Dokument aus
|
# Gebe fertiges HTML-Dokument aus
|
||||||
cat $HTMLFILE
|
cat $OUTFILE
|
||||||
|
|
19
sendfile.sh
Normal file
19
sendfile.sh
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Überprüfe: Muss eine Dateiliste ausgegeben werden? Ist es ein PHP-script?
|
||||||
|
if [[ "$FILE" == *.php ]]; then
|
||||||
|
export ANSWER="HTTP/1.0 200 OK"
|
||||||
|
export CONTENTTYPE="text/html"
|
||||||
|
. ./httpheaders.sh
|
||||||
|
php "$FILE" >> $OUTFILE
|
||||||
|
elif [ -f "${FILE}" ]; then
|
||||||
|
export ANSWER="HTTP/1.0 200 OK"
|
||||||
|
export CONTENTTYPE="$DEFAULTCONTENTTYPE"
|
||||||
|
. ./httpheaders.sh
|
||||||
|
cat "${FILE}" >> ${OUTFILE}
|
||||||
|
else
|
||||||
|
export ANSWER="HTTP/1.0 200 OK"
|
||||||
|
export CONTENTTYPE="text/html"
|
||||||
|
. ./httpheaders.sh
|
||||||
|
. ./filelist.sh
|
||||||
|
fi
|
23
urlcheck.sh
23
urlcheck.sh
|
@ -8,12 +8,23 @@ fi
|
||||||
|
|
||||||
# Verhindere "/"-bug
|
# Verhindere "/"-bug
|
||||||
if [ -d "$FILE" ]; then
|
if [ -d "$FILE" ]; then
|
||||||
if [[ "$URL" != */ ]]; then
|
if [[ "$URL" != */ ]]; then
|
||||||
#newURL="$URL"'/'
|
export ANSWER='HTTP/1.0 302 Moved permanently
|
||||||
#export URL="$newURL"
|
|
||||||
#newFILE="$FILE"'/'
|
|
||||||
#export FILE="$newFILE"
|
|
||||||
echo 'HTTP/1.0 302 Moved permanently
|
|
||||||
Location: '"${WEBSITE}${URL}"'/'
|
Location: '"${WEBSITE}${URL}"'/'
|
||||||
|
export CONTENTTYPE="$DEFAULTCONTENTTYPE"
|
||||||
|
. ./httpheaders.sh
|
||||||
|
export DONE=true
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Erkenne index.html
|
||||||
|
if [ -f "${FILE}index.html" ]; then
|
||||||
|
export URL="${URL}index.html"
|
||||||
|
export FILE="${FILE}index.html"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Erkenne index.php
|
||||||
|
if [ -f "${FILE}index.php" ]; then
|
||||||
|
export URL="${URL}index.php"
|
||||||
|
export FILE="${FILE}index.php"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Reference in a new issue