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  } | 
