summaryrefslogtreecommitdiff
path: root/openwrt/kamikaze/uanytun
diff options
context:
space:
mode:
authorChristian Pointner <equinox@anytun.org>2009-02-05 19:02:37 +0000
committerChristian Pointner <equinox@anytun.org>2009-02-05 19:02:37 +0000
commita4cab19e1cade3ef7dc867b481a7c00055bdd35d (patch)
treedd3cea48a1aac9105c1af8652af1ee85a84e4ff3 /openwrt/kamikaze/uanytun
parentadded openwrt initscript and config (diff)
moved uanytun-sslcrypt kamikaze package to default (uanytun)
Diffstat (limited to 'openwrt/kamikaze/uanytun')
-rw-r--r--openwrt/kamikaze/uanytun/Makefile60
-rw-r--r--openwrt/kamikaze/uanytun/files/uanytun.config73
-rwxr-xr-xopenwrt/kamikaze/uanytun/files/uanytun.init74
3 files changed, 207 insertions, 0 deletions
diff --git a/openwrt/kamikaze/uanytun/Makefile b/openwrt/kamikaze/uanytun/Makefile
new file mode 100644
index 0000000..583ead0
--- /dev/null
+++ b/openwrt/kamikaze/uanytun/Makefile
@@ -0,0 +1,60 @@
+#
+# Copyright (C) 2008 Christian Pointner,
+# <equinox@anytun.org>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# This Makefile builds uAnytun Package for OpenWRT
+#
+# $Id: $
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=uanytun
+PKG_VERSION:=0.3-rc1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.anytun.org/~equinox/
+PKG_MD5SUM:=4ada32936048fce0e615f550e7b12a85
+
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/uanytun
+ SECTION:=net
+ CATEGORY:=Network
+ DEPENDS:=+kmod-tun +libopenssl
+ TITLE:=micro anycast tunneling daemon
+ URL:=http://www.anytun.org/
+ MAINTAINER:=Christian Pointner <equinox@anytun.org>
+ SUBMENU:=VPN
+endef
+
+define Build/Configure
+ (cd $(PKG_BUILD_DIR)/src; \
+ touch include.mk; \
+ ln -s linux/tun.c . \
+ )
+endef
+
+define Build/Compile
+ rm -rf $(PKG_INSTALL_DIR)
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR)/src \
+ $(TARGET_CONFIGURE_OPTS) \
+ TARGET=Linux \
+ CFLAGS="$(TARGET_CFLAGS) -DUSE_SSL_CRYPTO -I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="$(TARGET_LDFLAGS) -ldl -lcrypto"
+ $(STRIP) $(PKG_BUILD_DIR)/src/uanytun
+endef
+
+define Package/uanytun/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/uanytun $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,uanytun))
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 "."
+}