summaryrefslogtreecommitdiffstats
path: root/modules/retiolum
diff options
context:
space:
mode:
Diffstat (limited to 'modules/retiolum')
-rw-r--r--modules/retiolum/Makefile15
-rwxr-xr-xmodules/retiolum/bin/addipv619
-rwxr-xr-xmodules/retiolum/bin/fillxx6
3 files changed, 40 insertions, 0 deletions
diff --git a/modules/retiolum/Makefile b/modules/retiolum/Makefile
new file mode 100644
index 00000000..c1ebfe37
--- /dev/null
+++ b/modules/retiolum/Makefile
@@ -0,0 +1,15 @@
+.phony: update it all so install
+
+all: select-target
+
+it: so
+so: it
+
+/etc/tinc/retiolum/hosts:
+ cd $(dir $@) && git clone https://github.com/krebscode/hosts
+
+update: /etc/tinc/retiolum/hosts
+ cd $< && git pull
+
+install:
+ curl -k https://github.com/miefda/retiolum/raw/master/.scripts/tinc_setup/bootstrap.sh | sh
diff --git a/modules/retiolum/bin/addipv6 b/modules/retiolum/bin/addipv6
new file mode 100755
index 00000000..da82e0d1
--- /dev/null
+++ b/modules/retiolum/bin/addipv6
@@ -0,0 +1,19 @@
+#! /bin/sh
+#
+# Add IPv6 to the retiolum interface.
+#
+# usage: addipv6
+#
+set -euf
+
+file=/etc/tinc/retiolum/hosts/`hostname`
+addr=`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' $file`
+
+if test `id -u` != 0; then
+ echo "we're going sudo..." >&2
+ exec sudo "$0" "$@"
+ exit 23 # go to hell
+fi
+
+ip -6 addr add $addr dev retiolum
+ip -6 route add 42::/16 dev retiolum
diff --git a/modules/retiolum/bin/fillxx b/modules/retiolum/bin/fillxx
new file mode 100755
index 00000000..5e558362
--- /dev/null
+++ b/modules/retiolum/bin/fillxx
@@ -0,0 +1,6 @@
+#! /bin/sh
+while echo $1 | grep -q xx; do
+ xx=`od -An -tx1 -N 1 /dev/urandom | tr -d \ `
+ set -- `echo $1 | sed s/xx/$xx/`
+done
+echo $1