#!/bin/sh # # handler for i2psnark torrent files and magnet links # # version 0.2 # # zzz 2020-05-10 # if [ $# -ne 1 ] then echo "usage: $0 link" exit 1 fi ARG="$1" I2PURL=http://localhost:7657/ wget "$I2PURL" -o /dev/null -O /dev/null if [ $? -ne 0 ] then # check local install I2PROUTER="$HOME/i2p/i2prouter" if [ ! -x "$I2PROUTER" ] then # check system install I2PROUTER=i2prouter type "$I2PROUTER" > /dev/null 2>&1 if [ $? -ne 0 ] then echo "i2prouter is not installed" exit 1 fi fi "$I2PROUTER" status > /dev/null 2>&1 if [ $? -ne 0 ] then echo "Starting I2P..." "$I2PROUTER" start # wait up to 5 minutes i=0 while [ $i -lt 60 ] do wget "$I2PURL" -o /dev/null -O /dev/null if [ $? -ne 0 ] then echo "waiting for i2psnark..." sleep 10 break; fi echo "waiting for i2p..." sleep 5 true $((i++)) done else echo "I2P running but console not up?" exit 1 fi fi BROWSER=`grep '^routerconsole.browser=' "$HOME/.i2p/router.config" 2> /dev/null | cut -d '=' -f 2` if [ "x$BROWSER" = "x" ] then BROWSER=sensible-browser type "$BROWSER" > /dev/null 2>&1 if [ $? -ne 0 ] then BROWSER=firefox fi fi wget "${I2PURL}i2psnark/" -o /dev/null -O /dev/null if [ $? -ne 0 ] then echo "I2P is running but i2psnark is not, start it first" "$BROWSER" "${I2PURL}configwebapps" exit 1 fi # escape magnet params ARG=`echo "$ARG" | sed -e 's/?/%3F/g' | sed -e 's/&/%26/g'` "$BROWSER" "${I2PURL}i2psnark/?nofilter_newURL=$ARG#add"