diff options
Diffstat (limited to 'filehooker/root-image')
| -rw-r--r-- | filehooker/root-image/etc/systemd/system/start-ncdc.service | 13 | ||||
| -rw-r--r-- | filehooker/root-image/krebs/bin/start-ncdc.ship | 17 | ||||
| -rwxr-xr-x | filehooker/root-image/krebs/bin/tor_announce.ship | 9 | ||||
| -rw-r--r-- | filehooker/root-image/krebs/bin/vim_sane_defaults.ship (renamed from filehooker/root-image/krebs/bin/vim_sane_defaults) | 0 | ||||
| -rw-r--r-- | filehooker/root-image/krebs/lib/filehooker | 23 | ||||
| -rwxr-xr-x | filehooker/root-image/root/customize_root_image.sh | 5 | 
6 files changed, 63 insertions, 4 deletions
| diff --git a/filehooker/root-image/etc/systemd/system/start-ncdc.service b/filehooker/root-image/etc/systemd/system/start-ncdc.service new file mode 100644 index 00000000..8099678d --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/start-ncdc.service @@ -0,0 +1,13 @@ +[Unit] +Description=ncdc autoconfig +Requires=network.target local-fs.target + +[Service] +Type=oneshot +RemainAfterExit=yes +KillMode=none +ExecStart=sh /krebs/bin/startup_ncdc.ship +ExecStop=sudo -u hooker /usr/bin/tmux send-keys -t dcpp:ncdc "/quit" C-m + +[Install] +WantedBy=multi-user.target diff --git a/filehooker/root-image/krebs/bin/start-ncdc.ship b/filehooker/root-image/krebs/bin/start-ncdc.ship new file mode 100644 index 00000000..393c05cc --- /dev/null +++ b/filehooker/root-image/krebs/bin/start-ncdc.ship @@ -0,0 +1,17 @@ +#!/usr/bin/env ship +set -euf +#@include filehooker +. /krebs/lib/filehooker +#@include network +ncdc_user="hooker" +useradd -m $ncdc_user ||: + +dc_hub="adcs://elch.nsupdate.info:2781" +ncdc_configure_hub "$dc_hub" + +nick=$(get_hostname) +ncdc_configure_nick "$nick" + +share_all_partitions + +sudo -u $ncdc_user /usr/bin/tmux new-session -s dcpp -n ncdc -d ncdc diff --git a/filehooker/root-image/krebs/bin/tor_announce.ship b/filehooker/root-image/krebs/bin/tor_announce.ship index bf9d58dc..ec4f33b6 100755 --- a/filehooker/root-image/krebs/bin/tor_announce.ship +++ b/filehooker/root-image/krebs/bin/tor_announce.ship @@ -6,6 +6,7 @@  #@include tor  . /krebs/lib/tor +sleep_time=5  test -w "$torrc" || ( error "$torrc is not writable!"; exit 1 ) || exit 1  configure_hidden_service @@ -14,4 +15,10 @@ test ! -e $hidden_service_dir/hostname && \    systemctl restart tor && \    sleep 1 -cat $hidden_service_dir/hostname | send_irc +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 b/filehooker/root-image/krebs/bin/vim_sane_defaults.ship index fcc7ffcf..fcc7ffcf 100644 --- a/filehooker/root-image/krebs/bin/vim_sane_defaults +++ b/filehooker/root-image/krebs/bin/vim_sane_defaults.ship diff --git a/filehooker/root-image/krebs/lib/filehooker b/filehooker/root-image/krebs/lib/filehooker index 18376465..90d887bd 100644 --- a/filehooker/root-image/krebs/lib/filehooker +++ b/filehooker/root-image/krebs/lib/filehooker @@ -14,7 +14,9 @@ ncdc_configure_netshare(){      : "${1?provide path to share}"      rnd=`hexdump -n 2 -e '/2 "%u"' /dev/urandom`      rnd_name="${2:-share_$rnd}" -    info "adding share" +    info "removing old share $rnd_name" +    (echo "/unshare $rnd_name" ) | ncdc_config +    info "adding share $rnd_name ($1)"      (echo "/share $rnd_name $1") | ncdc_config  } @@ -117,3 +119,22 @@ info "enable tor_announce"  systemctl enable tor_announce  systemctl start tor_announce  } + +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"; +        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 +          : $((count++)) +          ncdc_configure_netshare "$mountpoint" "$(basename $mountpoint)" +        else +          info "skipping $disk" +        fi +    done +} diff --git a/filehooker/root-image/root/customize_root_image.sh b/filehooker/root-image/root/customize_root_image.sh index 7bbbfe02..2f5579d9 100755 --- a/filehooker/root-image/root/customize_root_image.sh +++ b/filehooker/root-image/root/customize_root_image.sh @@ -26,8 +26,8 @@ chmod 440 /etc/sudoers.d/g_wheel  sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist  sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf -/krebs/bin/vim_sane_defaults -sudo -u pimp /krebs/bin/vim_sane_defaults +/krebs/bin/vim_sane_defaults.ship +sudo -u pimp /krebs/bin/vim_sane_defaults.ship  test -e /usr/bin/ncdc || \    curl http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.19.tar.gz | \ @@ -38,5 +38,6 @@ systemctl enable  multi-user.target \                    choose-mirror.service \                    tor-announce.service \                    filehooker-hostname.service \ +                  start-ncdc.service \                    sshd.service \                    tor.service | 
