From d47683dc022d688e3b7a74593f35133cebc441d0 Mon Sep 17 00:00:00 2001 From: Koray Yanik Date: Thu, 10 Mar 2022 09:24:27 +0000 Subject: [PATCH] Check user-agent to serve different CSS for mobile --- bashserv | 2 +- handle_get.sh | 35 +++++++++++++++++++++++++++++++---- handle_requests.sh | 12 ++++++------ static/mobile.css | 7 +++++++ 4 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 static/mobile.css diff --git a/bashserv b/bashserv index b408fd7..99fcf7a 160000 --- a/bashserv +++ b/bashserv @@ -1 +1 @@ -Subproject commit b408fd74161e03f3f670debf78df2473af4fb7ac +Subproject commit 99fcf7aa5be5210c082dd9c483717e1fb1204f93 diff --git a/handle_get.sh b/handle_get.sh index 469f4c3..7c48d54 100755 --- a/handle_get.sh +++ b/handle_get.sh @@ -1,14 +1,41 @@ #!/bin/bash -echo "[$(date +%T)] GET $1 ($2)" >> get.log +echo "[$(date +%T)] GET $REQUEST_PATH_SANE ($REQUEST_PATH)" >> Get.log -./handle_requests.sh $@ +./handle_requests.sh "$@" if [ $? -eq 0 ]; then exit 0 fi -if [ -z "$1" -o "$1" == "index.html" ]; then - body="\n\n$WAKEBOARD_TITLE\n\n\n\n" +while [[ $# -gt 0 ]]; do + length="$1" + key="$2" + shift + shift + + value="" + for i in $(seq 1 $length); do + value+="$1 " + shift + done + + case $key in + User-Agent) + if [[ $value =~ Mobile ]]; then + mobile=1 + fi + ;; + esac +done + +if [ -z "$REQUEST_PATH_SANE" -o "$REQUEST_PATH_SANE" == "index.html" ]; then + body="\n\n$WAKEBOARD_TITLE\n\n" + if [ $mobile ]; then + body+="\n\n" + else + body+="\n\n" + fi + body+="\n\n\n" IFS=$'\n' diff --git a/handle_requests.sh b/handle_requests.sh index 6c0ccd4..f55724a 100755 --- a/handle_requests.sh +++ b/handle_requests.sh @@ -1,7 +1,7 @@ #!/bin/bash -if [[ "$1" =~ ^refresh ]]; then - ip=$(echo "$1" | cut -d '/' -f2) +if [[ "$REQUEST_PATH_SANE" =~ ^refresh ]]; then + ip=$(echo "$REQUEST_PATH_SANE" | cut -d '/' -f2) body="{\n\"time\": \"$(date +%T)\",\n" body+="\"status\": \"unknown\"\n}\n" @@ -30,8 +30,8 @@ EOF exit 0 fi -if [[ "$1" =~ ^status ]]; then - ip=$(echo "$1" | cut -d '/' -f2) +if [[ "$REQUEST_PATH_SANE" =~ ^status ]]; then + ip=$(echo "$REQUEST_PATH_SANE" | cut -d '/' -f2) if [ ! -r "status/$ip" ]; then body="{\n\"status\": \"unknown\"\n}\n" @@ -46,8 +46,8 @@ EOF exit 0 fi -if [[ "$1" =~ ^wol ]]; then - mac=$(echo "$1" | cut -d '/' -f2) +if [[ "$REQUEST_PATH_SANE" =~ ^wol ]]; then + mac=$(echo "$REQUEST_PATH_SANE" | cut -d '/' -f2) wol "$mac" > /dev/null body="{\"response\": \"ok\"}\n" diff --git a/static/mobile.css b/static/mobile.css new file mode 100644 index 0000000..fa0ed5e --- /dev/null +++ b/static/mobile.css @@ -0,0 +1,7 @@ +body { + background: #aa0000; +} + +table { + background: #bbbbbb; +}
HostnameIP AddressMAC AddressWakeup