diff options
Diffstat (limited to 'filehooker/root-image/krebs')
| -rwxr-xr-x | filehooker/root-image/krebs/bin/filehooker_configure_ncdc.ship | 15 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/bin/filehooker_configure_netshare.ship | 7 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/bin/refresh-shares.ship | 11 | ||||
| -rwxr-xr-x[-rw-r--r--] | filehooker/root-image/krebs/bin/start-ncdc.ship | 3 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/bin/tor-get-hidden-service.sh | 2 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/bin/tor_configure_hidden_service.ship (renamed from filehooker/root-image/krebs/bin/tor_announce.ship) | 8 | ||||
| -rwxr-xr-x[-rw-r--r--] | filehooker/root-image/krebs/bin/vim_sane_defaults.ship | 0 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/etc/Reaktor/commands/onion | 3 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/etc/Reaktor/commands/shares | 2 | ||||
| -rw-r--r-- | filehooker/root-image/krebs/etc/Reaktor/config.py | 39 | ||||
| -rw-r--r-- | filehooker/root-image/krebs/lib/filehooker | 28 | 
11 files changed, 78 insertions, 40 deletions
| diff --git a/filehooker/root-image/krebs/bin/filehooker_configure_ncdc.ship b/filehooker/root-image/krebs/bin/filehooker_configure_ncdc.ship deleted file mode 100755 index 62d3b4f7..00000000 --- a/filehooker/root-image/krebs/bin/filehooker_configure_ncdc.ship +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env ship -#TODO waiting for ship2 -#@info -#@strict -set -euf -#@include filehooker -. /krebs/lib/filehooker - -dc_hub="adcs://elch.nsupdate.info:2781" -nick="$(cat /etc/hostname)" - -ncdc_install - -ncdc_configure_nick "$nick" -ncdc_configure_hub "$dc_hub" diff --git a/filehooker/root-image/krebs/bin/filehooker_configure_netshare.ship b/filehooker/root-image/krebs/bin/filehooker_configure_netshare.ship deleted file mode 100755 index f45ffeac..00000000 --- a/filehooker/root-image/krebs/bin/filehooker_configure_netshare.ship +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -#@info -#@strict -#@include filehooker -#for i in $(prepare_netshares) ;do -   #ncdc_configure_netshare "$i"  "${i##*/}" -#done diff --git a/filehooker/root-image/krebs/bin/refresh-shares.ship b/filehooker/root-image/krebs/bin/refresh-shares.ship new file mode 100755 index 00000000..99c0b748 --- /dev/null +++ b/filehooker/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="hooker" + +share_all_partitions + +exit 0 diff --git a/filehooker/root-image/krebs/bin/start-ncdc.ship b/filehooker/root-image/krebs/bin/start-ncdc.ship index 393c05cc..e190ec06 100644..100755 --- a/filehooker/root-image/krebs/bin/start-ncdc.ship +++ b/filehooker/root-image/krebs/bin/start-ncdc.ship @@ -7,7 +7,7 @@ ncdc_user="hooker"  useradd -m $ncdc_user ||:  dc_hub="adcs://elch.nsupdate.info:2781" -ncdc_configure_hub "$dc_hub" +ncdc_configure_hub "$dc_hub" "elch"  nick=$(get_hostname)  ncdc_configure_nick "$nick" @@ -15,3 +15,4 @@ ncdc_configure_nick "$nick"  share_all_partitions  sudo -u $ncdc_user /usr/bin/tmux new-session -s dcpp -n ncdc -d ncdc +exit 0 diff --git a/filehooker/root-image/krebs/bin/tor-get-hidden-service.sh b/filehooker/root-image/krebs/bin/tor-get-hidden-service.sh new file mode 100755 index 00000000..c9946366 --- /dev/null +++ b/filehooker/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/filehooker/root-image/krebs/bin/tor_announce.ship b/filehooker/root-image/krebs/bin/tor_configure_hidden_service.ship index ec4f33b6..1e026d26 100755 --- a/filehooker/root-image/krebs/bin/tor_announce.ship +++ b/filehooker/root-image/krebs/bin/tor_configure_hidden_service.ship @@ -14,11 +14,3 @@ test ! -e $hidden_service_dir/hostname && \    info "hidden service file does not exist, restarting tor" && \    systemctl restart tor && \    sleep 1 - -while ! internet;do -  info "no internet yet, sleeping" -  sleep $sleep_time -done - -NICK=$(get_hostname) -cat "$hidden_service_dir/hostname" | send_irc diff --git a/filehooker/root-image/krebs/bin/vim_sane_defaults.ship b/filehooker/root-image/krebs/bin/vim_sane_defaults.ship index fcc7ffcf..fcc7ffcf 100644..100755 --- a/filehooker/root-image/krebs/bin/vim_sane_defaults.ship +++ b/filehooker/root-image/krebs/bin/vim_sane_defaults.ship diff --git a/filehooker/root-image/krebs/etc/Reaktor/commands/onion b/filehooker/root-image/krebs/etc/Reaktor/commands/onion new file mode 100755 index 00000000..1a202991 --- /dev/null +++ b/filehooker/root-image/krebs/etc/Reaktor/commands/onion @@ -0,0 +1,3 @@ +#!/bin/sh + +sudo -u tor /krebs/bin/tor-get-hidden-service.sh || echo "no hidden service configured" diff --git a/filehooker/root-image/krebs/etc/Reaktor/commands/shares b/filehooker/root-image/krebs/etc/Reaktor/commands/shares new file mode 100755 index 00000000..1601d584 --- /dev/null +++ b/filehooker/root-image/krebs/etc/Reaktor/commands/shares @@ -0,0 +1,2 @@ +#!/bin/sh +df -h | grep '/media/' diff --git a/filehooker/root-image/krebs/etc/Reaktor/config.py b/filehooker/root-image/krebs/etc/Reaktor/config.py new file mode 100644 index 00000000..501edb70 --- /dev/null +++ b/filehooker/root-image/krebs/etc/Reaktor/config.py @@ -0,0 +1,39 @@ +import socket + +debug = False + +name = socket.gethostname() + +irc_alarm_timeout = 300 +irc_hammer_interval = 10 +irc_kill_timeout = 360 +irc_nickname = name +irc_server = 'irc.freenode.org' +irc_port = 6667 +irc_channels = [ +  '#filehooker' +] + +def default_command(cmd): +  return { +    'capname': cmd, +    'pattern': '^(?:' + name + '|\\*):\\s*' + cmd + '\\s*(?:\\s+(?P<args>.*))?$', +    'argv': [ 'commands/' + cmd ] } + +commands = [ +  default_command('caps'), +  default_command('hello'), +  default_command('reload'), +  default_command('badcommand'), +  default_command('rev'), +  default_command('uptime'), +  default_command('shares'), +  default_command('onion'), +  default_command('nocommand'), +  # command not found +  { 'pattern': '^(?:' + name + '|\\*):.*', +    'argv': [ 'commands/respond','You are made of stupid!'] }, +  # "highlight" +  { 'pattern': '.*\\b' + name + '\\b.*', +    'argv': [ 'commands/say', 'I\'m famous' ] } +] diff --git a/filehooker/root-image/krebs/lib/filehooker b/filehooker/root-image/krebs/lib/filehooker index 90d887bd..c72d4d51 100644 --- a/filehooker/root-image/krebs/lib/filehooker +++ b/filehooker/root-image/krebs/lib/filehooker @@ -5,9 +5,12 @@  ncdc_user=${ncdc_user:-hooker}  ncdc_bin=${ncdc_bin:-/usr/bin/ncdc} +  ncdc_config(){      # maybe we want to use the running ncdc process and communicate via tmux send-keys ? -   (sleep 1;cat;printf "/quit\n") | sudo -u $ncdc_user "$ncdc_bin" +    txt="$(cat)" +    (sleep 1;printf "%s" "$txt";printf "/quit\n") | sudo -u $ncdc_user "$ncdc_bin" 2>/dev/null || \ +       sudo -u $ncdc_user /usr/bin/tmux send-keys -t dcpp:ncdc "$txt"  C-m  }  ncdc_configure_netshare(){ @@ -27,8 +30,8 @@ ncdc_configure_nick(){  }  ncdc_configure_hub(){      rnd=`hexdump -n 2 -e '/2 "%u"' /dev/urandom` -    hubname="hub_$rnd"      hub=${1?adcs://localhost:2781} +    hubname="${2:-hub_$rnd}"      info "configuring DC Hub: $hub, activating autconnect"      info "setting active as true"      (echo "/open ${hubname} ${hub}" ; @@ -119,20 +122,27 @@ info "enable tor_announce"  systemctl enable tor_announce  systemctl start tor_announce  } - +is_mounted(){ +    cat /etc/mtab| cut -d\  -f 1 | grep -q "^$1$" && info "$1 is already mounted" +}  share_all_partitions(){      count=0 -    find /dev -name '[shv]d[a-z][0-9]' | while read disk;do -        size=$(get_disksize $disk) -        if test "$size" -gt "$min_netshare_size"; +    # all /dev/sdX and all mapped devices +    (find /dev -name '[shv]d[a-z][0-9]';find /dev/mapper ! -type d)| while read disk;do +        size=$(get_disksize $disk 2>/dev/null) + +        if test "$size" -gt "$min_netshare_size" 2>/dev/null ; #&& ! is_mounted "$disk";          then            info "trying disk $disk"            mountpoint=/media/vag$count            mkdir -p $mountpoint -          umount $mountpoint 2>&1 >/dev/null && info "$mountpoint unmounted" || : -          ! mount $disk $mountpoint && error "cannot mount $disk"  && continue +          umount $disk >/dev/null 2>&1  && info "remounting $disk" || : +          umount $mountpoint  >/dev/null 2>&1 && info "unmounting old mountpoint $mountpoint" || : +          ! mount $disk $mountpoint   >/dev/null 2>&1 && error "cannot mount $disk"  && continue +          chown "$ncdc_user" "$mountpoint"            : $((count++)) -          ncdc_configure_netshare "$mountpoint" "$(basename $mountpoint)" +          ncdc_configure_netshare "$mountpoint" "$(basename $mountpoint)" 2>/dev/null +          info "$mountpoint is mounted and shared"          else            info "skipping $disk"          fi | 
