2017-02-01 08:38:03 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2017-02-05 13:14:47 +00:00
|
|
|
# run this using the `eotk` wrapper, else you might not pick up the
|
|
|
|
# necessary PATH to `tor`, etc...
|
|
|
|
|
|
|
|
here=`pwd` # absolute pathnames are required by tor
|
2017-02-01 08:38:03 +00:00
|
|
|
|
|
|
|
log=$here/__gok$$.log
|
|
|
|
dir=$here/__gok$$.dir
|
2017-02-05 13:14:47 +00:00
|
|
|
|
2017-02-01 08:38:03 +00:00
|
|
|
mkdir $dir || exit 1
|
|
|
|
chmod 700 $dir || exit 1
|
|
|
|
cat >$dir/config <<EOF
|
|
|
|
DataDirectory $dir/
|
|
|
|
Log info file $dir/tor.log
|
|
|
|
PidFile $dir/tor.pid
|
|
|
|
RunAsDaemon 1
|
|
|
|
SocksPort 0
|
|
|
|
HiddenServiceDir $dir
|
|
|
|
HiddenServicePort 1 127.0.0.1:1
|
|
|
|
EOF
|
|
|
|
|
|
|
|
tor -f $dir/config >$log 2>&1
|
|
|
|
|
|
|
|
loops=0
|
|
|
|
while [ ! -f $dir/hostname ] ; do
|
|
|
|
sleep 1 # wait
|
|
|
|
loops=`expr $loops + 1`
|
2017-02-07 14:02:25 +00:00
|
|
|
if [ $loops = 30 ] ; then
|
2017-02-01 08:38:03 +00:00
|
|
|
echo tor failed to launch in $dir
|
2017-02-07 14:02:25 +00:00
|
|
|
kill -TERM `cat $dir/tor.pid` # try to shut it down
|
2017-02-01 08:38:03 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
kill -TERM `cat $dir/tor.pid` # shut it down
|
|
|
|
|
|
|
|
onion=`cat $dir/hostname`
|
|
|
|
onion=`basename $onion .onion`
|
|
|
|
file=$onion.key
|
|
|
|
|
|
|
|
mv $dir/private_key $file || exit 1
|
2017-02-05 13:14:47 +00:00
|
|
|
|
2017-02-01 08:38:03 +00:00
|
|
|
rm -r $dir $log || exit 1
|
|
|
|
|
|
|
|
echo $file
|
|
|
|
|
|
|
|
exit 0
|