summaryrefslogtreecommitdiff
path: root/examples/file-server/browse-files.sh
diff options
context:
space:
mode:
Diffstat (limited to 'examples/file-server/browse-files.sh')
-rwxr-xr-xexamples/file-server/browse-files.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/examples/file-server/browse-files.sh b/examples/file-server/browse-files.sh
new file mode 100755
index 0000000..c93716d
--- /dev/null
+++ b/examples/file-server/browse-files.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Serves files and directory listings.
+
+ROOT="/srv/tlsd/files"
+
+while read -r LINE
+do
+ echo "${SHA256}: ${LINE}" 1>&2
+ FILEPATH="${ROOT}/$(echo "${LINE}" | sed -e 's/\.\.//g')"
+ if [ -d "${FILEPATH}" ]
+ then ls -l "${FILEPATH}"
+ elif [ -f "${FILEPATH}" ]
+ then cat "${FILEPATH}"
+ else echo "${FILEPATH} is neither a file nor a directory";
+ fi
+done