Files
i2psnark-launcher/i2psnark
2020-05-10 17:22:06 -04:00

82 lines
1.5 KiB
Bash
Executable File

#!/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"