diff options
author | makefu <root@pigstarter.de> | 2014-03-09 12:45:23 +0100 |
---|---|---|
committer | makefu <root@pigstarter.de> | 2014-03-09 12:45:23 +0100 |
commit | 5c9d8118729c2e5524324bc340da45405ce69505 (patch) | |
tree | 12a3d3c0a81e05c8e3274039be8634166054041f /ship | |
parent | 2c7569f73fc49f0ba0279d6db877bdfcfdee9bb7 (diff) |
add filehooker ncdc pseudocode
Diffstat (limited to 'ship')
-rw-r--r-- | ship/lib/filehooker | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ship/lib/filehooker b/ship/lib/filehooker new file mode 100644 index 00000000..fac84b93 --- /dev/null +++ b/ship/lib/filehooker @@ -0,0 +1,56 @@ +#@include core +#@include tmux +# +netshare= +dc_hub=${dc_hub:-adcs://localhost:2781} +ncdc_user=hooker +ncdc_install(){ +curl http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.19.tar.gz | tar xz -C /usr/bin/ +} + + + +ncdc_configure(){ + # 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 +# not implemented yet +# /set active +# /share $random $netshare +: +} +ncdc_configure_netshare(){ + :${1?provide path to share} + rnd=`hexdump -n 2 -e '/2 "%u"' /dev/urandom` + rnd_name="share_$rnd" + info "setting active as true" + info "adding share" + (echo "/set active true" ; + echo "/share $rnd_name $1") | ncdc_configure + +} +ncdc_configure_hub(){ + info "configuring DC Hub: $dc_hub, activating autconnect" + (echo "/open c1 $dc_hub" ; + echo "/hset autoconnect true") | ncdc_configure +} +ncdc_autostart(){ +# only systemd +# punani install tmux +cat > /etc/systemd/system/ncdc@.service <<EOF +[Unit] +Description=ncdc +Requires=network.target local-fs.target + +[Service] +Type=oneshot +RemainAfterExit=yes +KillMode=none +User=%I +ExecStart=/usr/bin/tmux new-session -s dcpp -n ncdc -d ncdc +ExecStop=/usr/bin/tmux send-keys -t dcpp:ncdc "/quit" C-m + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable ncdc@$ncdc_user +} |