All pastes #282478 Raw Edit

xenalise

public shellscript v1 · immutable
#282478 ·published 2006-12-17 16:43 UTC
rendered paste body
#!/bin/bash## webd httpd server# Copyright (c) 2006 Target Creation Ltd#dynamic_request (){	export QUERY_STRING="$query"	echo -e "HTTP/1.1 200 OK\r"	"$filename"	echo -e "\r"	exit 0}static_request(){	echo -e "HTTP/1.1 200 OK\r"	echo -e "Content-Type: `/usr/bin/file -bi \"$filename\"`\r"	echo -e "\r"	cat "$filename"	echo -e "\r"}dir_list(){	echo -e "HTTP/1.1 200 OK\r"	echo -e "Content-Type: text/html;charset=UTF-8\r"	echo -e "\r"	tmpl_header;	echo -e "<h1>Listing of $url</h1>\r"	echo -e "<pre>Details								Name</pre>\r"	echo -e "<pre>"	( cd "$filename"		for f in `ls`; do			#desc=`ls -ld "$f"`			desc=`ls -ld "$f"`			desc="${desc% $f}"			href="${url%/}/$f"			echo -e "$desc			<a href=\"$f\">$f</a>"		done	)	echo "</pre>"	echo -e "\r"	echo -e "\r"	tmpl_footer;	echo -e "\r"}404_page (){	echo -e "HTTP/1.1 404 Not Found\r"	echo -e "Content-Type: text/html;charset=UTF-8\r"	echo -e "\r"	tmpl_header;	echo -e "<h1>404: Resource Not Found</h1>\r"	echo -e "The resource you requested could not be found on this server. Please \r"	echo -e "ensure you typed the address/url correctly and try again.\r"	tmpl_footer;	echo -e "\r"}tmpl_header (){	cat "/var/www/webd/header.html"}tmpl_footer (){	cat "/var/www/webd/footer.html"}base=/var/wwwread requestwhile /bin/true; do	read header	[ "$header" == $'\r' ] && break;doneurl="${request#GET }"url="${url% HTTP/*}"query="${url#*\?}"url="${url%%\?*}"filename="$base$url"if [ "$query" != "$url" -a -x "$filename" ]; then	dynamic_request;fiif [ -f "$filename" ]; then	if [ -x "$filename" ]; then		dynamic_request;	fi	static_request;else	if [ -d "$filename" ]; then		if [ -f "$filename/index.pl" ]; then			filename="${filename}/index.pl"			if [ -x "$filename" ]; then				dynamic_request;			fi			static_request;		else			dir_list;		fi	else		404_page;	fifi