summaryrefslogtreecommitdiffstats
path: root/bigeye/bigeyed
blob: 5aa3621088450270fb363f7a3a71b8ae388a485b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#! /bin/sh
#
# usage: bigeyed
# 

set -euf

mkdir -vp /tmp/bigeye
cd /tmp/bigeye

cleanup() {
  test -n "$spid" && kill -9 $spid && spid=
}

port=`touch /dev/bigeye 2>/dev/null && rm /dev/bigeye && echo 3 || echo 3333`

#python -m http.server $port & server=$!
python -m SimpleHTTPServer $port & spid=$?
trap cleanup EXIT HUP INT QUIT TERM

base64 -d>favicon.ico<<EOF
AAABAAEAICAQAAEABADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAVQAAAKoAAABVVQAAVVVVAP9VVQCqqgAAqqqqAP+qqgD//6oAVf//AKr//wD///8A
AAAAAAAAAAAAAAAAnHzMd3REQAAAAABERERHm8nMx3REQAAAAAAAAERERHmXx3dEAAAAAAAAAAAA
R0REzMREQAAAAzNLu0BAAAR0RMxEQAAAMzMURES7REAARHfEQAADMzNERERERLtEAAR3RAAAMzBE
R3dwRABEtEAER0AAMzgER3d3e0REAEtEAEQAAzGwRHMzAAAHREADtEAEAAMbBEcwAAAAAHdEADtE
AAAxS0RzAAEAAAALdEAztEADNERHMAAQAAAAALdDA7tAE0S0swAAABEAAAAHdDS7RBNLRLMAAAEA
ERAQC3M0N4QzS0tzABAQAAAAAQB0AEeHNEtLcBARABAAEAAAdDBHhBRLR3ABF1VVEREAAXRESIRE
S0dwF3FQUVUREAF0REiEd3d3wQVZQVVBQUEIh3iZhIfMzMwFlRRVVBQUC3x4iYQHd8fMAJFRQUFB
QAt6R0uEB8d0vIAJFBQUFAC3x0S7hAd4dEzIAVVBQUALd6REukcAd3hEzMgVFBQAt3dES6RAcAe4
hEd8yIiIjLd4SEtEAGcHe8xEd3fMjHd3hEzEQABmcES4hERHd3fHdETLRAAMJmYERIiIRERERESZ
tEAAzBEWYARMnIiIiIiIm0QADMchEXYAREnJycnMy0RADMybARISYABEREREtEREAMzJexAhIWEA
AERERERAAAzMebsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
EOF

hostname="`hostname`"
blink() {
  date="`date --rfc-3339=s`"
  echo $date
  # nobody will ever need more than 3 frames to initialize!
  frame=4
  device="/dev/`cd /sys/class/video4linux && ls | head -n 1`"
  mplayer -frames $frame -quiet \
      -vo jpeg \
      -tv driver=v4l2:device=$device \
      tv:// #1>/dev/null 2>/dev/null
  mv 0000000$frame.jpg  index.jpg
  cat>00000001.html<<EOF
    <!doctyle html>
    <META HTTP-EQUIV="REFRESH" CONTENT="2">
    <style type="text/css">
      body {
        background-color: black;
        color: white;
        font-family: monospace;
      }
    </style>
    <title>$hostname's bigeye</title>
    <p>$date</p>
    <p><img src="index.jpg" alt="ZOMBIECANCER" /></p>
EOF
  mv 00000001.html index.html
}

while blink; do
  sleep 1
done