138 lines
3.7 KiB
Bash
138 lines
3.7 KiB
Bash
|
#!/bin/bash
|
||
|
# -*- mode: sh; tab-width: 8; coding: utf-8-unix -*-
|
||
|
|
||
|
prog=$( basename $0 .bash )
|
||
|
PREFIX=/usr/local
|
||
|
ROLE=proxy
|
||
|
|
||
|
USAGE="host|to_tor|tor|from_tor|client|whonix|gateway|vda|nat|workstation|ping|ssl|status|test|refresh|update|up|down"
|
||
|
|
||
|
[ -f /usr/local/etc/testforge/testforge.bash ] && . /usr/local/etc/testforge/testforge.bash
|
||
|
[ $( id -u ) -eq 0 ] || { ERROR $prog should be run as root ; exit 1 ; }
|
||
|
|
||
|
. /usr/local/sbin/proxy_whonix_lib.bash || \
|
||
|
{ ERROR loading /usr/local/sbin/proxy_whonix_host_lib.bash ; exit 2; }
|
||
|
#. /usr/local/bin/proxy_ping_lib.bash || \
|
||
|
# { ERROR loading /usr/local/bin/proxy_ping_lib.bash ; exit 2; }
|
||
|
. /usr/local/bin/usr_local_base.bash || exit 2
|
||
|
proxy_whonix_mode
|
||
|
|
||
|
## proxy_whonix_test_mode - proxy_whonix_host.bash test
|
||
|
proxy_whonix_test_mode () { DBUG proxy_whonix_test_mode $* ;
|
||
|
if [ $MODE = tor -o $MODE = whonix -o $MODE = host ]; then
|
||
|
/usr/local/sbin/proxy_whonix_host.bash test || return 1$?
|
||
|
fi
|
||
|
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
## proxy_whonix_status - proxy_ping_test.bash "$MODE"
|
||
|
proxy_whonix_status () { DBUG proxy_whonix_status $* ;
|
||
|
$PREFIX/bin/proxy_ping_test.bash "$MODE" || return 1$?
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
## proxy_whonix_refresh
|
||
|
proxy_whonix_refresh () { DBUG proxy_whonix_refresh $* ;
|
||
|
local USAGE="python|pip"
|
||
|
|
||
|
if [ "$#" -eq 0 ] ; then
|
||
|
echo USAGE: $prog $USAGE
|
||
|
elif [ "$1" = '-h' ] || [ "$1" = '--help' ] ; then
|
||
|
echo USAGE: $prog $USAGE or:
|
||
|
elif [ "$1" = 'python' ] ; then
|
||
|
/usr/local/bin/testforge_clean_usr_local_lib.bash
|
||
|
elif [ "$1" = 'pip' ] ; then
|
||
|
/usr/local/bin/base_pip_upgrade.bash -p 2 -i 0
|
||
|
/usr/local/bin/base_pip_upgrade.bash -p 3 -i 0
|
||
|
base_sheebang_after_pip.bash
|
||
|
else
|
||
|
:
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
UPGRADE_USAGE="python|pip"
|
||
|
## proxy_whonix_update - $UPGRADE_USAGE
|
||
|
proxy_whonix_update() {
|
||
|
|
||
|
if [ "$#" -eq 0 ] ; then
|
||
|
echo USAGE: $prog $UPGRADE_USAGE
|
||
|
elif [ "$1" = '-h' ] || [ "$1" = '--help' ] ; then
|
||
|
echo USAGE: $prog $USAGE or:
|
||
|
elif [ "$1" = 'python' ] ; then
|
||
|
:
|
||
|
elif [ "$1" = 'pip' ] ; then
|
||
|
:
|
||
|
else
|
||
|
:
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
TEST_USAGE="ssl|ping|mode|libvirt|ga"
|
||
|
## proxy_whonix_test - test $TEST_USAGE
|
||
|
proxy_whonix_test () { DBUG proxy_whonix_test $* ;
|
||
|
if [ "$#" -eq 0 ] ; then
|
||
|
echo USAGE: $prog $TEST_USAGE
|
||
|
elif [ "$1" = '-h' ] || [ "$1" = '--help' ] ; then
|
||
|
echo USAGE: $prog $USAGE or:
|
||
|
elif [ "$1" = 'ssl' ] ; then
|
||
|
$PREFIX/sbin/proxy_test_ssl.bash "$@" || exit 3$?
|
||
|
elif [ "$1" = 'mode' ] ; then
|
||
|
proxy_whonix_test_mode || exit 4$?
|
||
|
elif [ "$1" = 'ping' ] ; then
|
||
|
$PREFIX/sbin/proxy_ping_test.bash "$@" || exit 4$?
|
||
|
elif [ "$1" = 'libvirt' ] ; then
|
||
|
$PREFIX/bin/proxy_ping_lib.bash proxy_libvirt_test || exit 5$?
|
||
|
elif [ "$1" = 'ga' ] ; then
|
||
|
$PREFIX/bin/proxy_libvirt_ga_test.bash || exit 5$?
|
||
|
else
|
||
|
:
|
||
|
fi
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
WD=$PWD
|
||
|
if [ "$#" -eq 0 ] ; then
|
||
|
echo USAGE: $prog $USAGE
|
||
|
exit 0
|
||
|
|
||
|
elif [ "$1" = '-h' ] || [ "$1" = '--help' ] ; then
|
||
|
echo USAGE: $prog $USAGE or:
|
||
|
grep '^## ' $0 | sed -e 's/^## //'
|
||
|
exit 0
|
||
|
|
||
|
elif [ "$1" = client ] ; then
|
||
|
shift
|
||
|
|
||
|
elif [ "$1" = ws -o "$1" = 'workstation' -o "$1" = 'gateway' ] ; then
|
||
|
[ $1 = ws ] && arg=workstation || arg=$1
|
||
|
shift
|
||
|
$PREFIX/sbin/proxy_whonix_guest_$arg.bash "$*" || exit 3$?
|
||
|
|
||
|
elif [ 'to_tor' -o "$1" = 'tor' -o "$1" = 'from_tor' -o "$1" = 'whonix' ] ; then
|
||
|
$PREFIX/sbin/proxy_whonix_host.bash "$@" || exit $?
|
||
|
|
||
|
elif [ "$1" = host ] ; then
|
||
|
shift
|
||
|
$PREFIX/sbin/proxy_whonix_host.bash "$@" || exit $?
|
||
|
|
||
|
elif [ "$1" = refresh -o "$1" = update -o "$1" = 'test' -o "$1" = 'status' ] ; then
|
||
|
arg=$1;shift
|
||
|
proxy_whonix_$arg "$@"
|
||
|
|
||
|
elif [ "$1" = 'down' -o "$1" = 'up' ] ; then
|
||
|
arg=$1;shift
|
||
|
proxy_whonix_$arg "$@"
|
||
|
|
||
|
elif [ "$1" = hourly -o "$1" = 'refresh' ] ; then
|
||
|
:
|
||
|
|
||
|
else
|
||
|
DBUG $prog $*
|
||
|
eval "$@"
|
||
|
exit $?
|
||
|
|
||
|
fi
|
||
|
|
||
|
exit 0
|