ZeroTierOne/netcon/zerotier-intercept

55 lines
958 B
Bash
Executable File

#!/bin/sh
# usage:
# /usr/bin/intercept program <args>
if [ $# = 0 ] ; then
echo "$0: insufficient arguments"
exit
fi
case "$1" in
on)
if [ -z "$LD_PRELOAD" ]
then
export LD_PRELOAD="/lib/libzerotierintercept.so"
else
echo $LD_PRELOAD | grep -q "/lib/libzerotierintercept\.so" || \
export LD_PRELOAD="/lib/libzerotierintercept.so $LD_PRELOAD"
fi
;;
off)
export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/lib\/libzerotierintercept.so \?//'`
if [ -z "$LD_PRELOAD" ]
then
unset LD_PRELOAD
fi
;;
show|sh)
echo "LD_PRELOAD=\"$LD_PRELOAD\""
;;
-h|-?)
echo ""
;;
*)
if [ -z "$LD_PRELOAD" ]
then
export LD_PRELOAD="/lib/libzerotierintercept.so"
else
echo $LD_PRELOAD | grep -q "/lib/libzerotierintercept\.so" || \
export LD_PRELOAD="/lib/libzerotierintercept.so $LD_PRELOAD"
fi
if [ $# = 0 ]
then
${SHELL:-/bin/sh}
fi
if [ $# -gt 0 ]
then
exec "$@"
fi
;;
esac
#EOF