summaryrefslogtreecommitdiffstats
path: root/elchos/root-image
diff options
context:
space:
mode:
Diffstat (limited to 'elchos/root-image')
-rw-r--r--elchos/root-image/etc/collectd.conf84
-rw-r--r--elchos/root-image/etc/fstab0
-rw-r--r--elchos/root-image/etc/hostname1
-rw-r--r--elchos/root-image/etc/locale.conf1
-rw-r--r--elchos/root-image/etc/pam.d/su6
-rw-r--r--elchos/root-image/etc/sudoers.d/g_wheel1
-rwxr-xr-xelchos/root-image/etc/systemd/scripts/choose-mirror26
-rw-r--r--elchos/root-image/etc/systemd/system/Reaktor.service14
-rw-r--r--elchos/root-image/etc/systemd/system/choose-mirror.service10
-rw-r--r--elchos/root-image/etc/systemd/system/collectd.service.d/wait.conf2
-rw-r--r--elchos/root-image/etc/systemd/system/dhcpcd.service.d/force-reboot.conf2
-rw-r--r--elchos/root-image/etc/systemd/system/elch-hostname.service11
-rw-r--r--elchos/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount8
-rw-r--r--elchos/root-image/etc/systemd/system/getty@tty1.service.d/run_krebs_secret.conf3
-rw-r--r--elchos/root-image/etc/systemd/system/hddtemp.service.d/monitor_all_disks.conf3
-rw-r--r--elchos/root-image/etc/systemd/system/ntpdate.service.d/set_hwclock.conf2
-rw-r--r--elchos/root-image/etc/systemd/system/pacman-init.service15
-rw-r--r--elchos/root-image/etc/systemd/system/start-ncdc@.service13
-rw-r--r--elchos/root-image/etc/systemd/system/tor-configure-hidden.service11
-rw-r--r--elchos/root-image/etc/udev/rules.d/81-dhcpcd.rules1
-rwxr-xr-xelchos/root-image/krebs/bin/add-reaktor-secret.sh24
-rwxr-xr-xelchos/root-image/krebs/bin/macid.sh2
-rwxr-xr-xelchos/root-image/krebs/bin/reaktor-shell.sh4
-rwxr-xr-xelchos/root-image/krebs/bin/refresh-shares.ship11
-rwxr-xr-xelchos/root-image/krebs/bin/set-hostname.sh5
-rwxr-xr-xelchos/root-image/krebs/bin/start-ncdc.ship26
-rwxr-xr-xelchos/root-image/krebs/bin/tor-get-hidden-service.sh2
-rwxr-xr-xelchos/root-image/krebs/bin/tor_configure_hidden_service.ship16
-rwxr-xr-xelchos/root-image/krebs/bin/tor_publish_ssh.ship12
-rwxr-xr-xelchos/root-image/krebs/bin/update-search.sh5
-rwxr-xr-xelchos/root-image/krebs/bin/vim_sane_defaults.ship10
-rw-r--r--elchos/root-image/krebs/config.sh3
-rw-r--r--elchos/root-image/krebs/etc/authorized_keys6
-rw-r--r--elchos/root-image/krebs/etc/vsftpd.conf12
-rw-r--r--elchos/root-image/krebs/lib/_punani_db57
-rw-r--r--elchos/root-image/krebs/lib/color7
-rw-r--r--elchos/root-image/krebs/lib/core80
-rw-r--r--elchos/root-image/krebs/lib/filehooker152
-rw-r--r--elchos/root-image/krebs/lib/iso7
-rw-r--r--elchos/root-image/krebs/lib/krebs16
-rw-r--r--elchos/root-image/krebs/lib/network100
-rw-r--r--elchos/root-image/krebs/lib/punani99
-rw-r--r--elchos/root-image/krebs/lib/retiolum99
-rw-r--r--elchos/root-image/krebs/lib/tahoe34
-rw-r--r--elchos/root-image/krebs/lib/tor19
-rw-r--r--elchos/root-image/krebs/lib/vim40
-rwxr-xr-xelchos/root-image/root/.automated_script.sh34
-rw-r--r--elchos/root-image/root/.zlogin1
-rwxr-xr-xelchos/root-image/root/customize_root_image.sh76
-rwxr-xr-xelchos/root-image/usr/bin/ncdcbin0 -> 4242384 bytes
50 files changed, 1173 insertions, 0 deletions
diff --git a/elchos/root-image/etc/collectd.conf b/elchos/root-image/etc/collectd.conf
new file mode 100644
index 00000000..30480f2e
--- /dev/null
+++ b/elchos/root-image/etc/collectd.conf
@@ -0,0 +1,84 @@
+#Hostname "elch_<macid>"
+Interval 10
+
+LoadPlugin syslog
+<Plugin syslog>
+ LogLevel info
+</Plugin>
+
+LoadPlugin md
+LoadPlugin cpu
+LoadPlugin df
+LoadPlugin disk
+#LoadPlugin ping
+LoadPlugin hddtemp
+LoadPlugin interface
+LoadPlugin load
+LoadPlugin memory
+LoadPlugin network
+LoadPlugin uptime
+LoadPlugin users
+LoadPlugin write_graphite
+
+<Plugin df>
+# Device "/dev/sda1"
+# Device "192.168.0.2:/mnt/nfs"
+ FSType "ext2"
+ FSType "ext3"
+ FSType "ext4"
+ FSType "btrfs"
+ FSType "ntfs"
+ FSType "ntfs-3g"
+ FSType "vfat"
+
+ IgnoreSelected false
+</Plugin>
+
+<Plugin disk>
+ Disk "/[vsh]d[abcdefg][12345678]/"
+ IgnoreSelected false
+</Plugin>
+
+<Plugin hddtemp>
+ Host "127.0.0.1"
+ Port 7634
+ #TranslateDevicename false
+</Plugin>
+
+<Plugin interface>
+ Interface "lo"
+ IgnoreSelected true
+</Plugin>
+
+
+#<Plugin ping>
+ #Host "elchhub.krebsco.de"
+ #Host "elchstats.krebsco.de"
+ #Interval 1.0
+ #Timeout 0.9
+# TTL 255
+# SourceAddress "1.2.3.4"
+# Device "eth0"
+# MaxMissed -1
+#</Plugin>
+
+
+#<Plugin sensors>
+# Sensor "it8712-isa-0290/temperature-temp1"
+# Sensor "it8712-isa-0290/fanspeed-fan3"
+# Sensor "it8712-isa-0290/voltage-in8"
+# IgnoreSelected false
+#</Plugin>
+
+
+<Plugin "write_graphite">
+ <Carbon>
+ Host "elchstats.nsupdate.info"
+ Port "2003"
+ Prefix "elch."
+ #Postfix ""
+ EscapeCharacter "_"
+ StoreRates false
+ AlwaysAppendDS false
+ </Carbon>
+</Plugin>
diff --git a/elchos/root-image/etc/fstab b/elchos/root-image/etc/fstab
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/elchos/root-image/etc/fstab
diff --git a/elchos/root-image/etc/hostname b/elchos/root-image/etc/hostname
new file mode 100644
index 00000000..ef8963cd
--- /dev/null
+++ b/elchos/root-image/etc/hostname
@@ -0,0 +1 @@
+filebitch
diff --git a/elchos/root-image/etc/locale.conf b/elchos/root-image/etc/locale.conf
new file mode 100644
index 00000000..01ec548f
--- /dev/null
+++ b/elchos/root-image/etc/locale.conf
@@ -0,0 +1 @@
+LANG=en_US.UTF-8
diff --git a/elchos/root-image/etc/pam.d/su b/elchos/root-image/etc/pam.d/su
new file mode 100644
index 00000000..a2910423
--- /dev/null
+++ b/elchos/root-image/etc/pam.d/su
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth sufficient pam_wheel.so trust use_uid
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
diff --git a/elchos/root-image/etc/sudoers.d/g_wheel b/elchos/root-image/etc/sudoers.d/g_wheel
new file mode 100644
index 00000000..8c45359f
--- /dev/null
+++ b/elchos/root-image/etc/sudoers.d/g_wheel
@@ -0,0 +1 @@
+%wheel ALL=(ALL) NOPASSWD: ALL
diff --git a/elchos/root-image/etc/systemd/scripts/choose-mirror b/elchos/root-image/etc/systemd/scripts/choose-mirror
new file mode 100755
index 00000000..0ae08067
--- /dev/null
+++ b/elchos/root-image/etc/systemd/scripts/choose-mirror
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+get_cmdline() {
+ local param
+ for param in $(< /proc/cmdline); do
+ case "${param}" in
+ $1=*) echo "${param##*=}";
+ return 0
+ ;;
+ esac
+ done
+}
+
+mirror=$(get_cmdline mirror)
+[[ $mirror = auto ]] && mirror=$(get_cmdline archiso_http_srv)
+[[ $mirror ]] || exit 0
+
+mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
+cat >/etc/pacman.d/mirrorlist << EOF
+#
+# Arch Linux repository mirrorlist
+# Generated by archiso
+#
+
+Server = ${mirror%%/}/\$repo/os/\$arch
+EOF
diff --git a/elchos/root-image/etc/systemd/system/Reaktor.service b/elchos/root-image/etc/systemd/system/Reaktor.service
new file mode 100644
index 00000000..e57be81a
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/Reaktor.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Reaktor for user %i
+After=network.target nss-lookup.target
+
+[Service]
+Type=normal
+#TODO - make reaktor path variable
+User=reaktor
+ExecStart=/krebs/painload/Reaktor/index elchos/config.py
+Restart=always
+RestartSec=3
+
+[Install]
+WantedBy=multi-user.target
diff --git a/elchos/root-image/etc/systemd/system/choose-mirror.service b/elchos/root-image/etc/systemd/system/choose-mirror.service
new file mode 100644
index 00000000..1e4d771d
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/choose-mirror.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Choose mirror from the kernel command line
+ConditionKernelCommandLine=mirror
+
+[Service]
+Type=oneshot
+ExecStart=/etc/systemd/scripts/choose-mirror
+
+[Install]
+WantedBy=multi-user.target
diff --git a/elchos/root-image/etc/systemd/system/collectd.service.d/wait.conf b/elchos/root-image/etc/systemd/system/collectd.service.d/wait.conf
new file mode 100644
index 00000000..05d8b43c
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/collectd.service.d/wait.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecStartPre=/usr/bin/sleep 20
diff --git a/elchos/root-image/etc/systemd/system/dhcpcd.service.d/force-reboot.conf b/elchos/root-image/etc/systemd/system/dhcpcd.service.d/force-reboot.conf
new file mode 100644
index 00000000..5b506341
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/dhcpcd.service.d/force-reboot.conf
@@ -0,0 +1,2 @@
+[Service]
+StartLimitAction=reboot-force
diff --git a/elchos/root-image/etc/systemd/system/elch-hostname.service b/elchos/root-image/etc/systemd/system/elch-hostname.service
new file mode 100644
index 00000000..8af94772
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/elch-hostname.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=change elchOS hostname
+Before=network.target nss-lookup.target multi-user.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/krebs/bin/set-hostname.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/elchos/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/elchos/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount
new file mode 100644
index 00000000..4eab5513
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount
@@ -0,0 +1,8 @@
+[Unit]
+Description=Temporary /etc/pacman.d/gnupg directory
+
+[Mount]
+What=tmpfs
+Where=/etc/pacman.d/gnupg
+Type=tmpfs
+Options=mode=0755
diff --git a/elchos/root-image/etc/systemd/system/getty@tty1.service.d/run_krebs_secret.conf b/elchos/root-image/etc/systemd/system/getty@tty1.service.d/run_krebs_secret.conf
new file mode 100644
index 00000000..29e5be5f
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/getty@tty1.service.d/run_krebs_secret.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=-/usr/bin/agetty --autologin reaktor --noclear %I 38400 linux
diff --git a/elchos/root-image/etc/systemd/system/hddtemp.service.d/monitor_all_disks.conf b/elchos/root-image/etc/systemd/system/hddtemp.service.d/monitor_all_disks.conf
new file mode 100644
index 00000000..e6b8fcda
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/hddtemp.service.d/monitor_all_disks.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=/bin/bash -c "/usr/bin/hddtemp -dF hddtemp -d /dev/[vsh]d[a-z]"
diff --git a/elchos/root-image/etc/systemd/system/ntpdate.service.d/set_hwclock.conf b/elchos/root-image/etc/systemd/system/ntpdate.service.d/set_hwclock.conf
new file mode 100644
index 00000000..e57550c8
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/ntpdate.service.d/set_hwclock.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecStart=/usr/bin/hwclock --systohc --utc -w
diff --git a/elchos/root-image/etc/systemd/system/pacman-init.service b/elchos/root-image/etc/systemd/system/pacman-init.service
new file mode 100644
index 00000000..23b81445
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/pacman-init.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Initializes Pacman keyring
+Wants=haveged.service
+After=haveged.service
+Requires=etc-pacman.d-gnupg.mount
+After=etc-pacman.d-gnupg.mount
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/pacman-key --init
+ExecStart=/usr/bin/pacman-key --populate archlinux
+
+[Install]
+WantedBy=multi-user.target
diff --git a/elchos/root-image/etc/systemd/system/start-ncdc@.service b/elchos/root-image/etc/systemd/system/start-ncdc@.service
new file mode 100644
index 00000000..7b5b1b8e
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/start-ncdc@.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=ncdc autoconfig and startup for %i
+After=network.target local-fs.target multi-user.target elch-hostname.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+#KillMode=none
+ExecStart=/usr/bin/tmux new-session -n startup -d "/bin/sh /krebs/bin/start-ncdc.ship"
+ExecStop=/usr/bin/sudo -u %i /usr/bin/tmux send-keys -t dcpp:ncdc "/quit" C-m
+
+[Install]
+WantedBy=multi-user.target
diff --git a/elchos/root-image/etc/systemd/system/tor-configure-hidden.service b/elchos/root-image/etc/systemd/system/tor-configure-hidden.service
new file mode 100644
index 00000000..c9b8f20f
--- /dev/null
+++ b/elchos/root-image/etc/systemd/system/tor-configure-hidden.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Announce Tor Hidden Address
+After=network.target nss-lookup.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/krebs/bin/tor_configure_hidden_service.ship
+
+[Install]
+WantedBy=multi-user.target
diff --git a/elchos/root-image/etc/udev/rules.d/81-dhcpcd.rules b/elchos/root-image/etc/udev/rules.d/81-dhcpcd.rules
new file mode 100644
index 00000000..1c4053c0
--- /dev/null
+++ b/elchos/root-image/etc/udev/rules.d/81-dhcpcd.rules
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="en*|eth*", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service"
diff --git a/elchos/root-image/krebs/bin/add-reaktor-secret.sh b/elchos/root-image/krebs/bin/add-reaktor-secret.sh
new file mode 100755
index 00000000..92681449
--- /dev/null
+++ b/elchos/root-image/krebs/bin/add-reaktor-secret.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+set -euf
+green='\e[0;32m'
+red='\e[0;31m'
+nc='\e[0m'
+black='\e[0;30m'
+
+printf "${green}Add a Reaktor Secret ${nc}\n"
+printf "${red}(no spaces in input plox)${nc}\n"
+
+nick=${1:-}
+while test -z "${nick:-}" ;do
+ printf "provide Nick Name:\n"
+ read nick
+done
+
+secret=${2:-}
+while test -z "${secret:-}" ;do
+ printf "provide Secret:$black\n"
+ read secret
+done
+
+echo "$nick $secret" >> /krebs/painload/Reaktor/admin.lst
+printf "${green}done${nc}"
diff --git a/elchos/root-image/krebs/bin/macid.sh b/elchos/root-image/krebs/bin/macid.sh
new file mode 100755
index 00000000..0fccc84b
--- /dev/null
+++ b/elchos/root-image/krebs/bin/macid.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+ip addr | grep ether | awk '{print $2}' | sort |md5sum | awk '{print $1}' | dd bs=1 count=6 2>/dev/null
diff --git a/elchos/root-image/krebs/bin/reaktor-shell.sh b/elchos/root-image/krebs/bin/reaktor-shell.sh
new file mode 100755
index 00000000..c5548cb8
--- /dev/null
+++ b/elchos/root-image/krebs/bin/reaktor-shell.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+echo "IP Addresses:"
+/krebs/painload/Reaktor/elchos/commands/ips || echo "no IPs!"
+/krebs/bin/add-reaktor-secret.sh
diff --git a/elchos/root-image/krebs/bin/refresh-shares.ship b/elchos/root-image/krebs/bin/refresh-shares.ship
new file mode 100755
index 00000000..46d15f46
--- /dev/null
+++ b/elchos/root-image/krebs/bin/refresh-shares.ship
@@ -0,0 +1,11 @@
+#!/bin/sh
+#TODO:
+#!/usr/bin/env ship
+set -euf
+#@include filehooker
+. /krebs/lib/filehooker
+ncdc_user="elch"
+
+share_all_partitions
+systemctl restart hddtemp.service
+exit 0
diff --git a/elchos/root-image/krebs/bin/set-hostname.sh b/elchos/root-image/krebs/bin/set-hostname.sh
new file mode 100755
index 00000000..31101a18
--- /dev/null
+++ b/elchos/root-image/krebs/bin/set-hostname.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+hostn="elch_$(/krebs/bin/macid.sh)"
+hostnamectl set-hostname "$hostn"
+hostname $hostn
+echo "$hostn" > /etc/hostname
diff --git a/elchos/root-image/krebs/bin/start-ncdc.ship b/elchos/root-image/krebs/bin/start-ncdc.ship
new file mode 100755
index 00000000..37d7cf45
--- /dev/null
+++ b/elchos/root-image/krebs/bin/start-ncdc.ship
@@ -0,0 +1,26 @@
+#!/usr/bin/env ship
+set -euf
+#@include filehooker
+. /krebs/lib/filehooker
+#@include network
+
+# load elch-config
+. /krebs/config.sh
+ncdc_user="elch"
+
+useradd -m $ncdc_user ||:
+
+sudo -u $ncdc_user /usr/bin/tmux new-session -s dcpp -n ncdc -d ncdc 2>/dev/null || echo "ncdc is already running"
+
+nick=$(cat /etc/hostname)
+echo "using nick $nick"
+ncdc_configure_nick "$nick"
+sleep 1
+dc_hub="$DC_HUB"
+echo "connecting to $dc_hub"
+ncdc_configure_hub "$dc_hub" "elch"
+
+
+share_all_partitions
+
+exit 0
diff --git a/elchos/root-image/krebs/bin/tor-get-hidden-service.sh b/elchos/root-image/krebs/bin/tor-get-hidden-service.sh
new file mode 100755
index 00000000..c9946366
--- /dev/null
+++ b/elchos/root-image/krebs/bin/tor-get-hidden-service.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+cat /var/lib/tor/hidden_service/hostname
diff --git a/elchos/root-image/krebs/bin/tor_configure_hidden_service.ship b/elchos/root-image/krebs/bin/tor_configure_hidden_service.ship
new file mode 100755
index 00000000..1e026d26
--- /dev/null
+++ b/elchos/root-image/krebs/bin/tor_configure_hidden_service.ship
@@ -0,0 +1,16 @@
+#!/bin/sh
+#@include core
+. /krebs/lib/core
+#@include network
+. /krebs/lib/network
+#@include tor
+. /krebs/lib/tor
+
+sleep_time=5
+test -w "$torrc" || ( error "$torrc is not writable!"; exit 1 ) || exit 1
+
+configure_hidden_service
+test ! -e $hidden_service_dir/hostname && \
+ info "hidden service file does not exist, restarting tor" && \
+ systemctl restart tor && \
+ sleep 1
diff --git a/elchos/root-image/krebs/bin/tor_publish_ssh.ship b/elchos/root-image/krebs/bin/tor_publish_ssh.ship
new file mode 100755
index 00000000..2ecee9fb
--- /dev/null
+++ b/elchos/root-image/krebs/bin/tor_publish_ssh.ship
@@ -0,0 +1,12 @@
+#!/usr/bin/env ship
+#@include core
+. /krebs/lib/core
+#@include network
+. /krebs/lib/network
+#@include tor
+. /krebs/lib/tor
+
+test -w "$torrc" || ( error "$torrc is not writable!"; exit 1 ) || exit 1
+
+configure_hidden_service
+cat $hidden_service_dir/hostname | send_irc
diff --git a/elchos/root-image/krebs/bin/update-search.sh b/elchos/root-image/krebs/bin/update-search.sh
new file mode 100755
index 00000000..665f6543
--- /dev/null
+++ b/elchos/root-image/krebs/bin/update-search.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+for i in /media/vag*;do
+ updatedb -l 0 -o "$i/mlocate.db" -U "$i"
+done
+echo "update complete"
diff --git a/elchos/root-image/krebs/bin/vim_sane_defaults.ship b/elchos/root-image/krebs/bin/vim_sane_defaults.ship
new file mode 100755
index 00000000..fcc7ffcf
--- /dev/null
+++ b/elchos/root-image/krebs/bin/vim_sane_defaults.ship
@@ -0,0 +1,10 @@
+#!/bin/sh
+#@strict
+#@include core
+. /krebs/lib/core
+#@include vim
+. /krebs/lib/vim
+#@mainifyme
+touch $vimrc
+info "configuring vim"
+vim_conf_sane_defaults
diff --git a/elchos/root-image/krebs/config.sh b/elchos/root-image/krebs/config.sh
new file mode 100644
index 00000000..33bdaa2b
--- /dev/null
+++ b/elchos/root-image/krebs/config.sh
@@ -0,0 +1,3 @@
+IRC_SERVER=irc.freenode.net
+STATS_SERVER=elchstats.nsupdate.info
+DC_HUB="adcs://elchhub.nsupdate.info:2781"
diff --git a/elchos/root-image/krebs/etc/authorized_keys b/elchos/root-image/krebs/etc/authorized_keys
new file mode 100644
index 00000000..f9446825
--- /dev/null
+++ b/elchos/root-image/krebs/etc/authorized_keys
@@ -0,0 +1,6 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7YrLdnXDRU2XEdZDu1BmgiT0Vaxplf3bfvSm+5o3g4AcR2yCv7h2D633c9uA0gq52EJ3V5m8B1ZcxqA0zqDptKwx+ZTMUGDls7StH5xpJyk9j5gf8DzyDLQPQG2IYszCH+8esKjo3BOFxfey8NaX+k6gvQsG3lyV0PjLvvIy4gDuMn6dPZfVAlwNYFOUNgwpku3W3A0d+UFyVjt3/sgZxM+8C3y6QE1gwT5/NfBbHM5vaEqjHcVq1ui+7a4iOXFGKkZDcd7EX6cQZSbCzZL7sZ0OmB1WpAsDCvIXfzX1YfNA0sso7ldSF6ZUGNgwEk1LootnQlCK/dfbM+i62SZ+1 tv@iiso
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCv9TTt4FkzT3jlQ0VS2tX/GpQO9Ef0wIQ+g96foe4qSniBwR667T1gIhURrod/p7N9oQcWRrNohjgmSBZRYA0kW6ZyqYJkLvRv54nXv6j/8Xq2nG/KVfDqL0kp8if+JGeFlQElpWJiAbGifYkopFy69QiLYU2ndR7aPbx+5qm/dcwPJ7K+n6dyePynCZadtcabm3PuBFUxGLdT9ImDXMOPfXxPMlN/3eb78byuEuHnhCIvIGLMBGx+8QTXvu7kHpZObvkbsF1xjVs9fDpwVLjh7GWdwf3BZ/agFlI24ffyqCPFnuaxUVyfUZeqf4twRsIZkTTB47lHDhYiVkyGe8gd root@pigstarter.de
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl3RTOHd5DLiVeUbUr/GSiKoRWknXQnbkIf+uNiFO+XxiqZVojPlumQUVhasY8UzDzj9tSDruUKXpjut50FhIO5UFAgsBeMJyoZbgY/+R+QKU00Q19+IiUtxeFol/9dCO+F4o937MC0OpAC10LbOXN/9SYIXueYk3pJxIycXwUqhYmyEqtDdVh9Rx32LBVqlBoXRHpNGPLiswV2qNe0b5p919IGcslzf1XoUzfE3a3yjk/XbWh/59xnl4V7Oe7+iQheFxOT6rFA30WYwEygs5As//ZYtxvnn0gA02gOnXJsNjOW9irlxOUeP7IOU6Ye3WRKFRR0+7PS+w8IJLag2xb makefu@pornocauster
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp83zynhIueJJsWlSEykVSBrrgBFKq38+vT8bRfa+csqyjZBl2SQFuCPo+Qbh49mwchpZRshBa9jQEIGqmXxv/PYdfBFQuOFgyUq9ZcTZUXqeynicg/SyOYFW86iiqYralIAkuGPfQ4howLPVyjTZtWeEeeEttom6p6LMY5Aumjz2em0FG0n9rRFY2fBzrdYAgk9C0N6ojCs/Gzknk9SGntA96MDqHJ1HXWFMfmwOLCnxtE5TY30MqSmkrJb7Fsejwjoqoe9Y/mCaR0LpG2cStC1+37GbHJNH0caCMaQCX8qdfgMVbWTVeFWtV6aWOaRgwLrPDYn4cHWQJqTfhtPrNQ== death@uriel
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/mUvSqIroFofp8a+nL6TBgAVvIk8IvFeOsHnRQsvhZX8ddk1+JICipsGwqsT2wRAk9rhcnLU/OdF+PXvykztNa1x4XxNACKnLfWBMk/VGadUkCwsdIwuu80nQfaEz5vNrjgNLfCaNoUa6sg0A2eyyuWH/vruPyfPJNDXA/ZQdXxJCSSfZUnIFW4qjAf4hZ+TK1CY7xECZQ3r+aqhJmSFe3T+ul5ZQLl6fmHP4oTf7sFNV4/fHY8RMxCPMztdyUJc3HB5MhI94VytjXuTSBDAgi5567bH1j1aBco4mAezfgHZy2eqeNVzYmFM/cVGEqyRIjokGYa72ZuGZ5Y58HjVDL8olweUVqOm11ref8+tBovyrHzjNKn6YiiMPYb0j03vBecqZYDA6n24s2WgEniL5WALhi5Y1NgUo1W9WDefhA2xC7p9xSy8kxs1UJH6g9U8SuHY2geJ/dYf3jixB3q/PwAfntejPkX1Pwy+rBVirA1vYIYgOWeifUyq6tYHxVo/kVEbyYkE1B6pBGwRdsWDwT3y02DO3OZFq9QX/0zkJtv2lkMR0LDk8WjZjilfqs1UivDCNY3ZQF+SOvUzeAkQFWSSU+yKlZOGPWcqNUVw8SQCw5/doIKjIclekWJ9KSD1VjTImx2oqYNqOa0kfvX+4cU+ECI1daCR6cjYiuizBIQ== pedro
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTUWm/fISw/gbuHvf3kwxGEuk1aY5HrNNvr8QXCQv0khDdaYmZSELbtFQtE04WGTWmackNcLpld5mETVyCM0BjOgqMJYQNhtywxfYcodEY5xxHCuGgA3S1t94MZub+DRodXCfB0yUV85Wbb0sltkMTJufMwYmLEGxSLRukxAOcNsXdjlyro96csmYrIiV6R7+REnz8OcR7sKlI4tvKA1mbvWmjbDBd1MZ8Jc0Lwf+b0H/rH69wEQIcB5HRHHJIChoAk0t2azSjXagk1+4AebONZTCKvTHxs/D2wUBIzoxyjmh5S0aso/cKw8qpKcl/A2mZiIvW3KMlJAM5U+RQKMrr c1ko
diff --git a/elchos/root-image/krebs/etc/vsftpd.conf b/elchos/root-image/krebs/etc/vsftpd.conf
new file mode 100644
index 00000000..68e66fa1
--- /dev/null
+++ b/elchos/root-image/krebs/etc/vsftpd.conf
@@ -0,0 +1,12 @@
+anonymous_enable=YES
+dirmessage_enable=YES
+xferlog_enable=YES
+connect_from_port_20=YES
+ftpd_banner=Welcome to the Elch share, use dc++ if you can. This Instance has 10 slots
+listen=YES
+no_anon_password=YES
+anon_root=/media
+max_per_ip=2
+max_clients=10
+local_max_rate=1000000
+seccomp_sandbox=NO
diff --git a/elchos/root-image/krebs/lib/_punani_db b/elchos/root-image/krebs/lib/_punani_db
new file mode 100644
index 00000000..e5bf15b1
--- /dev/null
+++ b/elchos/root-image/krebs/lib/_punani_db
@@ -0,0 +1,57 @@
+_punanidb_pacman_=
+_pu