]> git.immae.eu Git - perso/Immae/Config/tinc/hosts.git/commitdiff
Merge branch 'master' into android
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Wed, 12 Feb 2020 00:12:02 +0000 (01:12 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Wed, 12 Feb 2020 00:12:02 +0000 (01:12 +0100)
ImmaeEu-down [changed mode: 0755->0644]
ImmaeEu-up [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index d5e9ccf..8a0ef22
@@ -1,11 +1,16 @@
-#!/bin/sh
+#!/system/xbin/sh
 # This file closes down the tap device.
 
-. /tmp/tinc_$NETNAME
-rm -f /tmp/tinc_$NETNAME
-ip -6 route del default via $GWIP
+source /sdcard/.tinc/vars
+rm /sdcard/.tinc/vars
+
+ip -6 rule del from all lookup 100
+ip route del table 100 $REMOTEADDRESS
+ip -6 route del table 100 $GWIP dev vpn6
+ip -6 route del table 100 ::/1 via $GWIP dev vpn6
 for MYIP in $MYIPS; do
-       ip -6 addr del $MYIP/96 dev $INTERFACE
+       ip -6 addr del $MYIP/96 dev vpn6
 done
-ip -6 link set $INTERFACE down
+ip -6 link set vpn6 down
+
 
old mode 100755 (executable)
new mode 100644 (file)
index 56710a1..0921046
@@ -1,24 +1,18 @@
-#!/bin/sh
-# This file sets up the tap device.
-# It gives you the freedom to do anything you want with it.
-# Use the correct name for the tap device:
-# The environment variable $INTERFACE is set to the right name
-# on most platforms, but if it doesn't work try to set it manually.
+#!/system/xbin/sh
 
-# Give it the right ip and netmask. Remember, the subnet of the
-# tap device must be larger than that of the individual Subnets
-# as defined in the host configuration file!
-SUBDOMAIN=`cat /etc/tinc/$NETNAME/tinc_domaine`
-while [ -z "$MYIPS" -o -z "$GWIP" ]; do
-       MYIPS=`getent hosts ${SUBDOMAIN}.immae.eu | cut -d' ' -f1 | tr "\\n" ' '`
-       GWIP=`getent hosts gw.vpn.immae.eu | head -n1 | cut -d' ' -f1`
-       sleep 5
-done
-rm -f /tmp/tinc_$NETNAME
-echo -e "MYIPS=\"$MYIPS\"\nGWIP=\"$GWIP\"" > /tmp/tinc_$NETNAME
-ip -6 link set $INTERFACE up mtu 1280
+SUBDOMAIN=$(cat /sdcard/.tinc/tinc_domaine | tr -c -d "[a-zA-Z0-9.]")
+
+MYIPS=$(nslookup $SUBDOMAIN.immae.eu |sed -n "/$SUBDOMAIN.immae.eu/"',$p' | grep ^Address | sed -e "s/^[^:]*:[^0-9]*//" | tr '\n' ' ')
+GWIP=$(nslookup gw.vpn.immae.eu |sed -n "/gw.vpn.immae.eu/"',$p' | grep ^Address | head -n1 | sed -e "s/^[^:]*:[^0-9]*//" | tr '\n' ' ')
+
+echo -e "MYIPS=\"$MYIPS\"\nGWIP=\"$GWIP\"" > /sdcard/.tinc/vars
+ip -6 link set vpn6 up mtu 1280
 for MYIP in $MYIPS; do
-       ip -6 addr add $MYIP/96 dev $INTERFACE
+       ip -6 addr add $MYIP/96 dev vpn6
 done
-ip -6 route add default via $GWIP
-(cd /etc/tinc/$NETNAME/hosts && git pull -q origin master) || true
+ORIGINAL_GATEWAY=$(for a in $(ip rule show | grep lookup | sed -r 's/.* lookup ([^ ]+).*/\1/'); do ip route show table $a | grep ^default | cut -d ' ' -f 2-5; done | head -1)
+
+ip -6 rule add prio 100 from all lookup 100
+ip route add table 100 $REMOTEADDRESS $ORIGINAL_GATEWAY 
+ip -6 route add table 100 $GWIP dev vpn6
+ip -6 route add table 100 ::/1 via $GWIP dev vpn6