summaryrefslogtreecommitdiffstats
path: root/ship/src
diff options
context:
space:
mode:
authormakefu <root@pigstarter.de>2014-02-21 13:29:26 +0100
committermakefu <root@pigstarter.de>2014-02-21 13:29:26 +0100
commitd2bd337c5d965b85cae5b5c14dd82f914bdbbe62 (patch)
treebd03a4ea6ba974674d51d6a1cacbc087d777d9bf /ship/src
parentc7d16155f4c86d8711bddee23b9799faf4bfe63a (diff)
parent823bb86ca91da435ce631e9c17ffdcf9f803e6ae (diff)
Merge branch 'master' of https://github.com/krebscode/painload
Diffstat (limited to 'ship/src')
-rw-r--r--ship/src/find-supers-tinc4
-rw-r--r--ship/src/refresh-supers26
2 files changed, 28 insertions, 2 deletions
diff --git a/ship/src/find-supers-tinc b/ship/src/find-supers-tinc
index edbb5a7b..3ea53d35 100644
--- a/ship/src/find-supers-tinc
+++ b/ship/src/find-supers-tinc
@@ -1,6 +1,6 @@
#!/bin/sh
+#@info
#@include core
#@include retiolum
-find_supernodes | cut -d\ -f 1 | shuf | head -n 5 \
- | xargs -n1 printf "ConnectTo=%s\n"
+find_supernodes
diff --git a/ship/src/refresh-supers b/ship/src/refresh-supers
new file mode 100644
index 00000000..26909a94
--- /dev/null
+++ b/ship/src/refresh-supers
@@ -0,0 +1,26 @@
+#!/bin/sh
+#@info
+# usage: [DEBUG=1] [tincconf=/not/tinc/retiolum/tinc.conf] $0
+#@include core
+#@include retiolum
+ # using find_supernodes
+ # tinc_path
+ # netname
+
+#@strict
+#@mainifyme
+
+max_connect_to=${max_connect_to:-5}
+tincconf=${tincconf:-$tinc_path/$netname/tinc.conf}
+tmp_tincconf=$(mktemp)
+defer "rm -f $tmp_tincconf"
+
+sed '/[ ]*ConnectTo=/d' "$tincconf" > "$tmp_tincconf"
+
+find_supernodes | cut -d\ -f 1 | shuf \
+ | head -n "${max_connect_to}" \
+ | xargs -n1 printf "ConnectTo=%s\n" >> "$tmp_tincconf"
+
+info "replacing old tinc.conf with one"
+test "${DEBUG:-}" && diff "$tincconf" "$tmp_tincconf"
+mv "$tmp_tincconf" "$tincconf"