diff options
-rwxr-xr-x | gosher | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -146,6 +146,24 @@ serve_index(){ exit 0 } +### Serve an HTML URL through a redirect page +## function +serve_redirect(){ + url=$1 + cat<< EOF +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> + <head> + <title>gopher redirect</title> + </head> + <body> + Click to be redirected to: <a href="$url">$url</a> + </body> +EOF + +} + + GOPHERDIR=${1:-"./"} @@ -160,6 +178,10 @@ selector=$(echo $selector | sed -r 's:\$.*::g;s:\r::g' ) } case $selector in + /URL:*) + url=$(echo $selector | cut -d ":" -f 2-) + serve_redirect $url + ;; /?*|"") RP1=$(realpath "${GOPHERDIR}"/"${selector}" || "") [ $? -eq 0 ] || invalid_selector "$selector" |