diff options
Diffstat (limited to 'god')
| -rw-r--r-- | god/icecrab/Makefile | 6 | ||||
| -rw-r--r-- | god/icecrab/icecast.xml | 174 | ||||
| -rw-r--r-- | god/icecrab/icecast2.conf | 19 | ||||
| -rw-r--r-- | god/kachelmann/.gitignore | 2 | ||||
| -rw-r--r-- | god/kachelmann/Makefile | 7 | ||||
| -rwxr-xr-x | god/kachelmann/wetter | 6 | ||||
| -rwxr-xr-x | god/meinsack/index | 85 | 
7 files changed, 299 insertions, 0 deletions
| diff --git a/god/icecrab/Makefile b/god/icecrab/Makefile new file mode 100644 index 00000000..36e91b76 --- /dev/null +++ b/god/icecrab/Makefile @@ -0,0 +1,6 @@ +.phony: debian + +debian: +	[ -e /usr/bin/icecast2 ] || apt-get install --yes icecast2 +	cp icecast2 /etc/default/icecast2 +	cp icecast.xml /etc/icecast2/icecast.xml diff --git a/god/icecrab/icecast.xml b/god/icecrab/icecast.xml new file mode 100644 index 00000000..7776dc36 --- /dev/null +++ b/god/icecrab/icecast.xml @@ -0,0 +1,174 @@ +<icecast> +    <limits> +        <clients>100</clients> +        <sources>2</sources> +        <threadpool>5</threadpool> +        <queue-size>524288</queue-size> +        <client-timeout>30</client-timeout> +        <header-timeout>15</header-timeout> +        <source-timeout>10</source-timeout> +        <!-- If enabled, this will provide a burst of data when a client  +             first connects, thereby significantly reducing the startup  +             time for listeners that do substantial buffering. However, +             it also significantly increases latency between the source +             client and listening client.  For low-latency setups, you +             might want to disable this. --> +        <burst-on-connect>1</burst-on-connect> +        <!-- same as burst-on-connect, but this allows for being more +             specific on how much to burst. Most people won't need to +             change from the default 64k. Applies to all mountpoints  --> +        <burst-size>65535</burst-size> +    </limits> + +    <authentication> +        <!-- Sources log in with username 'source' --> +        <source-password>shackit</source-password> +        <!-- Relays log in username 'relay' --> +        <relay-password>shackit</relay-password> + +        <!-- Admin logs in with the username given below --> +        <admin-user>admin</admin-user> +        <admin-password>aidsballs</admin-password> +    </authentication> + +    <!-- set the mountpoint for a shoutcast source to use, the default if not +         specified is /stream but you can change it here if an alternative is +         wanted or an extension is required +    <shoutcast-mount>/live.nsv</shoutcast-mount> +    --> + +    <!-- Uncomment this if you want directory listings --> +    <!-- +    <directory> +        <yp-url-timeout>15</yp-url-timeout> +        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> +    </directory> +     --> + +    <!-- This is the hostname other people will use to connect to your server. +    It affects mainly the urls generated by Icecast for playlists and yp +    listings. --> +    <hostname>krebs.shack</hostname> + +    <!-- You may have multiple <listener> elements --> +    <listen-socket> +        <port>8000</port> +        <!-- <bind-address>127.0.0.1</bind-address> --> +        <!-- <shoutcast-mount>/stream</shoutcast-mount> --> +    </listen-socket> +    <!-- +    <listen-socket> +        <port>8001</port> +    </listen-socket> +    --> + +    <!--<master-server>127.0.0.1</master-server>--> +    <!--<master-server-port>8001</master-server-port>--> +    <!--<master-update-interval>120</master-update-interval>--> +    <!--<master-password>hackme</master-password>--> + +    <!-- setting this makes all relays on-demand unless overridden, this is +         useful for master relays which do not have <relay> definitions here. +         The default is 0 --> +    <!--<relays-on-demand>1</relays-on-demand>--> + +    <!-- +    <relay> +        <server>127.0.0.1</server> +        <port>8001</port> +        <mount>/example.ogg</mount> +        <local-mount>/different.ogg</local-mount> +        <on-demand>0</on-demand> + +        <relay-shoutcast-metadata>0</relay-shoutcast-metadata> +    </relay> +    --> + +    <!-- Only define a <mount> section if you want to use advanced options, +         like alternative usernames or passwords +    <mount> +        <mount-name>/example-complex.ogg</mount-name> + +        <username>othersource</username> +        <password>hackmemore</password> + +        <max-listeners>1</max-listeners> +        <dump-file>/tmp/dump-example1.ogg</dump-file> +        <burst-size>65536</burst-size> +        <fallback-mount>/example2.ogg</fallback-mount> +        <fallback-override>1</fallback-override> +        <fallback-when-full>1</fallback-when-full> +        <intro>/example_intro.ogg</intro> +        <hidden>1</hidden> +        <no-yp>1</no-yp> +        <authentication type="htpasswd"> +                <option name="filename" value="myauth"/> +                <option name="allow_duplicate_users" value="0"/> +        </authentication> +        <on-connect>/home/icecast/bin/stream-start</on-connect> +        <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> +    </mount> + +    <mount> +        <mount-name>/auth_example.ogg</mount-name> +        <authentication type="url"> +            <option name="mount_add"       value="http://myauthserver.net/notify_mount.php"/> +            <option name="mount_remove"    value="http://myauthserver.net/notify_mount.php"/> +            <option name="listener_add"    value="http://myauthserver.net/notify_listener.php"/> +            <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> +        </authentication> +    </mount> + +    --> + +    <fileserve>1</fileserve> + +    <paths> +		<!-- basedir is only used if chroot is enabled --> +        <basedir>/usr/share/icecast2</basedir> + +        <!-- Note that if <chroot> is turned on below, these paths must both +             be relative to the new root, not the original root --> +        <logdir>/var/log/icecast2</logdir> +        <webroot>/usr/share/icecast2/web</webroot> +        <adminroot>/usr/share/icecast2/admin</adminroot> +        <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> --> + +        <!-- Aliases: treat requests for 'source' path as being for 'dest' path +             May be made specific to a port or bound address using the "port" +             and "bind-address" attributes. +          --> +        <!-- +        <alias source="/foo" dest="/bar"/> +          --> +        <!-- Aliases: can also be used for simple redirections as well, +             this example will redirect all requests for http://server:port/ to +             the status page +          --> +        <alias source="/" dest="/status.xsl"/> +    </paths> + +    <logging> +        <accesslog>access.log</accesslog> +        <errorlog>error.log</errorlog> +        <!-- <playlistlog>playlist.log</playlistlog> --> +      	<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> +      	<logsize>10000</logsize> <!-- Max size of a logfile --> +        <!-- If logarchive is enabled (1), then when logsize is reached +             the logfile will be moved to [error|access|playlist].log.DATESTAMP, +             otherwise it will be moved to [error|access|playlist].log.old. +             Default is non-archive mode (i.e. overwrite) +        --> +        <!-- <logarchive>1</logarchive> --> +    </logging> + +    <security> +        <chroot>0</chroot> +        <!-- +        <changeowner> +            <user>nobody</user> +            <group>nogroup</group> +        </changeowner> +        --> +    </security> +</icecast> diff --git a/god/icecrab/icecast2.conf b/god/icecrab/icecast2.conf new file mode 100644 index 00000000..3a2521ff --- /dev/null +++ b/god/icecrab/icecast2.conf @@ -0,0 +1,19 @@ +# Defaults for icecast2 initscript +# sourced by /etc/init.d/icecast2 +# installed at /etc/default/icecast2 by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Full path to the server configuration file +CONFIGFILE="/etc/icecast2/icecast.xml" + +# Name or ID of the user and group the daemon should run under +USERID=icecast2 +GROUPID=icecast + +# Edit /etc/icecast2/icecast.xml and change at least the passwords. +# Change this to true when done to enable the init.d script +ENABLE=true + diff --git a/god/kachelmann/.gitignore b/god/kachelmann/.gitignore new file mode 100644 index 00000000..050dfb2e --- /dev/null +++ b/god/kachelmann/.gitignore @@ -0,0 +1,2 @@ +conditions.pl +.*.swp diff --git a/god/kachelmann/Makefile b/god/kachelmann/Makefile new file mode 100644 index 00000000..3343d941 --- /dev/null +++ b/god/kachelmann/Makefile @@ -0,0 +1,7 @@ +.PHONY: infect +install: +		# punani -Ei w3m php php-xml-simple +		ln -s $$PWD/conditions  ../bin/conditions +		ln -s $$PWD/wetter ../bin/wetter +		ln -s ${INSTALL_DIR}conditions ${INSTALL_DIR}kachelmann + diff --git a/god/kachelmann/wetter b/god/kachelmann/wetter new file mode 100755 index 00000000..957e13e2 --- /dev/null +++ b/god/kachelmann/wetter @@ -0,0 +1,6 @@ +#!/usr/bin/perl +use XML::Simple; +my $result = `w3m -dump "http://www.google.com/ig/api?weather=70327-stuttgart&hl=de"`; +my $xml = new XML::Simple; +my $data = $xml->XMLin($result); +print ("$data->{weather}->{current_conditions}->{condition}->{data} bei $data->{weather}->{current_conditions}->{temp_c}->{data} Grad Zelsius\n"); diff --git a/god/meinsack/index b/god/meinsack/index new file mode 100755 index 00000000..7046d78c --- /dev/null +++ b/god/meinsack/index @@ -0,0 +1,85 @@ +#! /bin/sh +# +# //meinsack +# +# export plz +# export str +# export anr +# export ort +# +set -euf +cd $(dirname $(readlink -f $0))/.. # cd // + +plz=${plz+"&plz=$plz"} +str=${str+"&str=$str"} +anr=${anr+"&anr=$anr"} + +url="http://www.sita-deutschland.de/sita/ywbase_Abfallkalender_Stuttgart.nsf/frmSelect?ReadForm$plz$str$anr" + +# echo $url + +html="$(curl -fsS "$url" | iconv -f latin1 -t utf8)" + +if echo "$html" | fgrep -q 'Ihre Eingabe war nicht eindeutig'; then +  { +    echo "Error: multiple locations found" +    echo "$html" | +    query/jquery/index 'table.tab:nth-child(2n) .bordertop > .text' | +    sed ' +      s/[[:space:]]\+/ /g +      s/'"`printf '\xc2\xa0'`"'//g;# kill unicode non-breaking space +    ' | +    while read plz && +          read str && +          read ort && +          read bes1 && +          read bes2 && +          read anr; do +      str=$(echo "$str"|sed 's/<[^>]*>//g') +      echo "export anr=$anr if you meant \"$ort\"" +    done | sort | uniq +  } >&2 +  exit 2 +elif test $(echo "$html" | grep -c 'Abfallkalender für') -gt 1 && +     test -z "${ort-}"; then +  { +    echo "Error: multiple locations found" +    echo "$html" | +    query/jquery/index '.tab span.text,.subheadline' | +    sed -n ' +      s/[[:space:]]\+/ /g +      s/'"`printf '\xc2\xa0'`"'//g;# kill unicode non-breaking space +      s/^Abfallkalender.*[^0-9]\([0-9]\+\)[^(]*(\(.*\))/export ort=\2/p +    ' | sort | uniq +  } >&2 +  exit 3 +else +  result="$(echo "$html" | +  query/jquery/index '.tab span.text,.subheadline' | { +    if test -n "${ort-}"; then +      sed -n " +        /($ort)/,/^Abfallkalender/{p;b} +        /($ort)/,\${p;b} +      " +    else +      cat +    fi +  } | { +    grep -v Abfallkalender | +    sed ' +      s/'"`printf '\xc2\xa0'`"'//g;# kill unicode non-breaking space +      s/^[A-Z][a-z]\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\3-\2-\1/ +      s/^[0-9].*/  "&T00:00:00.000Z"/ +      $!s/$/,/ +      1s/^/[\n/ +      $s/$/\n]/ +    ' +  })" +  if ! echo "$result" | grep .; then +    { +      echo "Error: your query had no effect" +      echo "url=\"$url\"" +    } >&2 +    exit 4 +  fi +fi | 
