diff options
Diffstat (limited to 'ship/lib/filehooker')
-rw-r--r-- | ship/lib/filehooker | 50 |
1 files changed, 41 insertions, 9 deletions
diff --git a/ship/lib/filehooker b/ship/lib/filehooker index 5e6def5d..3c881f91 100644 --- a/ship/lib/filehooker +++ b/ship/lib/filehooker @@ -9,13 +9,12 @@ ncdc_config(){ } ncdc_configure_netshare(){ - :${1?provide path to share} + : "${1?provide path to share}" rnd=`hexdump -n 2 -e '/2 "%u"' /dev/urandom` - rnd_name="share_$rnd" - info "setting active as true" + rnd_name="${2:-share_$rnd}" info "adding share" - (echo "/set active true" ; - echo "/share $rnd_name $1") | ncdc_config + + (echo "/share $rnd_name $1") | ncdc_config } ncdc_configure_nick(){ @@ -28,6 +27,7 @@ ncdc_configure_hub(){ hubname="hub_$rnd" hub=${1?adcs://localhost:2781} info "configuring DC Hub: $hub, activating autconnect" + info "setting active as true" (echo "/open ${hubname} ${hub}" ; echo "/hset autoconnect true") | ncdc_config } @@ -62,8 +62,38 @@ EOF systemctl enable ncdc@$ncdc_user } +# 20gig in bytes +min_netshare_size=${min_netshare_size:-20000000000} +get_disksize(){ +fdisk -l ${1?provide disk} | grep '^Disk ' | cut -d\ -f 5 +} + +prepare_netshares(){ + count=0 + fdisk -l | grep '^Disk ' | egrep '(/dev/sd|/dev/hd)' | cut -d\ -f 2 | tr -d : | while read disk;do + size=$(get_disksize $disk) + if test "$size" -gt "$min_netshare_size"; + then + info "using $disk with $size bytes" + dd if=/dev/zero of=$disk bs=1M count=1 >/dev/null + sleep 1 + (printf "o\nn\np\n\n\n\nw\n\n") |fdisk $disk >/dev/null ||: + #partprobe $disk + mkfs.btrfs -f ${disk}1 >/dev/null + uuid="$(blkid ${disk}1 -o value | head -n 1)" + mountpoint="/media/vag${count}" + mkdir -p "$mountpoint" + echo "UUID=$uuid $mountpoint btrfs rw,relatime,space_cache 0 0" >> /etc/fstab + echo "$mountpoint" + : $((count++)) + else + info "skipping $disk" + fi + done +} install_tor_announce(){ # systemd only +info "writing tor_announce.service" cat > /etc/systemd/system/tor_announce.service<<EOF [Unit] Description=Announce Tor Hidden Address @@ -77,9 +107,11 @@ ExecStart=/usr/bin/tor_announce [Install] WantedBy=multi-user.target EOF - -http_get conf.krebsco.de/tor_publish_ssh > /usr/bin/tor_annouce -chmod +x /usr/bin/tor_annouce +info "writing tor_announce to /usr/bin/tor_announce" +printf '#!/bin/sh\nsleep 20\n' > /usr/bin/tor_announce +http_get conf.krebsco.de/tor_publish_ssh >> /usr/bin/tor_announce +chmod +x /usr/bin/tor_announce +info "enable tor_announce" systemctl enable tor_announce -systemctl start tor_announce +#systemctl start tor_announce } |