-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: fmrl
action: blob
revision:
path_from: fmrl-svg.cgi
revision_from: refs/heads/master:
path_to:
revision_to:

git.thebackupbox.net

fmrl

git://git.thebackupbox.net/fmrl

blob of:

fmrl

/ fmrl-svg.cgi

refs/heads/master:/fmrl-svg.cgi
 #!/bin/sh
 user="$(printf "%s\n" "$QUERY_STRING" | tr '&' '\n' | grep ^user= | cut -d= -f2-)"
 host="${HTTP_HOST}"
 if [ -z "$user" ];then
   printf 'Content-Type: text/plain\r\n\r\n'
 else
   file="/var/www/fmrl/.users/$user"
   last_modified="$(stat -c '%Y' "${file}")"
   if [ "${HTTP_IF_MODIFIED_SINCE}" ];then
     if_modified_since="$(date "+%s" --date="$(printf '%s\n' "${HTTP_IF_MODIFIED_SINCE}" | cut -d+ -f1)")"
     if [ "${if_modified_since}" -ge "${last_modified}" ];then
       printf 'Status: 304 Not Modified\r\n\r\n'
       exit 0
     fi
   fi
   #u_avatar="https://thebackupbox.net$(jq -r .avatar.original < "$file" | html_entities_encode)"
   u_avatar="data:image/png;base64,$(wget -qO- http://thebackupbox.net$(jq -r .avatar.original < "$file") | base64 | tr -d '\n')"
   u_name="$(jq -r .name < "$file" | html_entities_encode)"
   u_emoji="$(jq -r .emoji < "$file" | html_entities_encode)"
   u_status="$(jq -r .status < "$file" | html_entities_encode)"
   u_media="$(jq -r .media < "$file" | html_entities_encode)"
   u_media_type="$(jq -r .media_type < "$file" | tr -cd '0-9')"
   media_verb="reading,watching,watching,listening to,listening to,playing"
   u_media_verb="$(printf "%s\n" "$media_verb" | cut -d, -f${u_media_type})"
   printf "Expires: %s\r\n" "$(rfc7231date)"
   printf "Content-Type: image/svg+xml\r\n\r\n"
   printf '<svg width="600px" height="60px" viewBox="0 0 600 60" xmlns="http://www.w3.org/2000/svg">\r\n'
   printf '<rect width="600px" height="60px" fill="black" />'
   printf '<image width="48" height="48" x="6" y="6" href="%s"/>' "$u_avatar"
   printf '<text x="56" y="18" fill="lime" stroke="green">fmrl status for: %s &lt;%s@%s&gt;</text>' "$u_name" "$user" "$host"
   printf '<text x="56" y="36" fill="lime" stroke="green">%s %s</text>' "$u_emoji" "$u_status"
   printf '<text font-size="smaller" x="56" y="52" fill="lime" stroke="green">%s %s</text>' "$u_media_verb" "$u_media"
   printf '</svg>'
 fi

-- Response ended

-- Page fetched on Sun Jun 2 17:55:46 2024