summaryrefslogtreecommitdiffstats
path: root/filehooker/root-image/krebs
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2014-03-17 09:27:05 +0100
committermakefu <github@syntax-fehler.de>2014-03-17 09:27:05 +0100
commit004afecb81c443a4ab459cfd7f4468ad692f6dd7 (patch)
tree95c3aa03df3e4a7f26073fd67d8d816a8f395529 /filehooker/root-image/krebs
parent50006d90a290a3d3e9c57ed1317062f0500e1890 (diff)
add ncdc startup script
Diffstat (limited to 'filehooker/root-image/krebs')
-rw-r--r--filehooker/root-image/krebs/bin/start-ncdc.ship17
-rwxr-xr-xfilehooker/root-image/krebs/bin/tor_announce.ship9
-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/filehooker23
4 files changed, 47 insertions, 2 deletions
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
+}