diff options
Diffstat (limited to 'openwrt/kamikaze/uanytun/files')
-rw-r--r-- | openwrt/kamikaze/uanytun/files/uanytun.config | 73 | ||||
-rwxr-xr-x | openwrt/kamikaze/uanytun/files/uanytun.init | 74 |
2 files changed, 147 insertions, 0 deletions
diff --git a/openwrt/kamikaze/uanytun/files/uanytun.config b/openwrt/kamikaze/uanytun/files/uanytun.config new file mode 100644 index 0000000..e71bb9d --- /dev/null +++ b/openwrt/kamikaze/uanytun/files/uanytun.config @@ -0,0 +1,73 @@ +config "client1" + option disabled 0 + option username 'nobody' + option groupname 'nogroup' +# option chroot "/var/run/uanytun" + +# option interface '<ip-address>' +# option port '4444' +# option sender_id '1' + + option cipher 'aes-ctr' +# option cipher 'null' +# option cipher 'aes-ctr-128' +# option cipher 'aes-ctr-192' +# option cipher 'aes-ctr-256' + option auth_algo 'sha1' +# option auth_algo 'null' + +# option dev 'anytun0' + option type 'tun' + option ifconfig '192.168.123.1/24' + + option remote_host 'example.com' + option remote_port '4444' + + option window_size 0 + option mux 1 + +# option kd_prf 'null' +# option kd_prf 'aes-ctr' +# option kd_prf 'aes-ctr-128' +# option kd_prf 'aes-ctr-192' +# option kd_prf 'aes-ctr-256' +# option ld_kdr '0' +# option key '0123456789ABCDEF0123456789ABCDEF' +# option salt '0123456789ABCD0123456789ABCD' + option passphrase 'hello-world-one' + + +config "client2" + option disabled 1 + option username 'nobody' + option groupname 'nogroup' + + option cipher 'aes-ctr' + option auth_algo 'sha1' + option type 'tun' + option ifconfig '192.168.123.2/24' + + option remote_host 'example.com' + option remote_port '4444' + + option window_size 0 + option mux 2 + option passphrase 'hello-world-two' + + +config "client3" + option disabled 1 + option username 'nobody' + option groupname 'nogroup' + + option cipher 'aes-ctr' + option auth_algo 'sha1' + option type 'tun' + option ifconfig '192.168.123.3/24' + + option remote_host 'example.com' + option remote_port '4444' + + option window_size 0 + option mux 3 + option passphrase 'hello-world-three' diff --git a/openwrt/kamikaze/uanytun/files/uanytun.init b/openwrt/kamikaze/uanytun/files/uanytun.init new file mode 100755 index 0000000..27296ca --- /dev/null +++ b/openwrt/kamikaze/uanytun/files/uanytun.init @@ -0,0 +1,74 @@ +#!/bin/sh /etc/rc.common +START=50 + +BIN=uanytun +DESC=uanytun +RUN_D=/var/run + +uanytun() { + local name + name=${2%%.pid} + name=${name##/var/run/uanytun.} + echo "$name" > $2 +} + +option_cb() { + local varname="$1" + local value="$2" + + if ! echo "$CONFIG_OPTIONS" | grep " $varname " > /dev/null; then + CONFIG_OPTIONS="$CONFIG_OPTIONS $varname " + fi +} + +foreach_config() { + local cfg="$1" + local name + local option + local value + local DAEMONARGS="" + + config_get name "$cfg" TYPE + for option in $CONFIG_OPTIONS + do + config_get value "$cfg" "$option" + if [ "x$option" == "xdisabled" ]; then + if [ $value -eq 1 ]; then + echo -n " $name(disabled)" + return + fi + continue + fi + + option=`echo $option | tr '_' '-'` + if [ -n "$value" ]; then + DAEMONARGS="$DAEMONARGS --$option $value" + fi + done + echo -n " $name" + local status="OK" + $BIN --write-pid "$RUN_D/$BIN.$name.pid" $DAEMONARGS || status="failed" + echo -n "($status)" +} + +start() { + echo -n "Starting $DESC:" + config_load uanytun + config_foreach foreach_config "" + echo "." +} + +stop() { + echo -n "Stopping $DESC:" + local name + local pidfile + + for pidfile in `ls $RUN_D/$BIN.*.pid 2> /dev/null`; do + name=${pidfile%%.pid} + name=${name##$RUN_D/$BIN.} + echo -n " $name" + kill `cat $pidfile` || true + rm -f $pidfile + done + echo "." +} |