summaryrefslogtreecommitdiffstats
path: root/retiolum/scripts/tinc_setup/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'retiolum/scripts/tinc_setup/install.sh')
-rwxr-xr-xretiolum/scripts/tinc_setup/install.sh46
1 files changed, 29 insertions, 17 deletions
diff --git a/retiolum/scripts/tinc_setup/install.sh b/retiolum/scripts/tinc_setup/install.sh
index 9df38df7..a6b50b8a 100755
--- a/retiolum/scripts/tinc_setup/install.sh
+++ b/retiolum/scripts/tinc_setup/install.sh
@@ -1,11 +1,18 @@
#! /bin/sh
# USE WITH GREAT CAUTION
+set -eu
+
+if test "${nosudo-false}" != true -a `id -u` != 0; then
+ echo "we're going sudo..." >&2
+ exec sudo "$0" "$@"
+ exit 23 # go to hell
+fi
#make -C ../../ update
set -e
DIRNAME=`dirname $0`
CURR=`readlink -f ${DIRNAME}`
-MYBIN=../../bin
+MYBIN=${CURR}/../../bin
netname=retiolum
# create configuration directory for $netname
mkdir -p /etc/tinc/$netname/hosts
@@ -15,45 +22,50 @@ echo "added known hosts:"
ls -1 hosts | LC_ALL=C sort
echo "delete the nodes you do not trust!"
+hostname="${HOSTNAME-`cat /etc/hostname`}"
myname="${1:-}"
if [ ! "$myname" ]
then
- echo "select username: "
+ printf "select node name [$hostname]: "
read myname
+ if test -z "$myname"; then
+ myname="$hostname"
+ fi
fi
if [ ! -e "hosts/$myname" ]
then
+
+ # TODO eloop until we found a free IPv4
+ # myipv4=$(echo 42.$(for i in `seq 1 3`; do echo "ibase=16;`bin/fillxx xx|tr [a-f] [A-F]`" | bc; done)|tr \ .)/32
+
myipv4="${2:-}"
- mynet4=10.7.7.0
+ mynet4=10.243.0.0
if [ ! "$myipv4" ]
then
- echo "select v4 subnet ip (1-255) :"
+ printf 'select v4 subnet ip (1-255): '
read v4num
- myipv4=10.7.7.$v4num
- if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ];
- then
- echo "check"
- else
- echo "you are made of stupid. bailing out"
- exit 1
- fi
+ until $MYBIN/check-free-retiolum-v4 $v4num; do
+ echo "your're an idiot!"
+ printf 'select unused v4 subnet ip (1-255): '
+ read v4num
+ done
+ myipv4="10.243.0.$v4num"
fi
echo "Subnet = $myipv4" > hosts/$myname
- myipv6=`${CURR}/../../bin/fillxx 42:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`/128
+ myipv6=`$MYBIN/fillxx 42:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`/128
echo "Subnet = $myipv6" >> hosts/$myname
else
echo "own host file already exists! will not write again!"
fi
-cp $CURR/tinc-up /etc/tinc/$netname/
-
cat>tinc.conf<<EOF
Name = $myname
-ConnectTo = supernode
-ConnectTo = kaah
+ConnectTo = euer
+ConnectTo = oxberg
ConnectTo = pa_sharepoint
+ConnectTo = supernode
Device = /dev/net/tun
EOF