summaryrefslogtreecommitdiff
path: root/bin/inet2.sh
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2023-12-30 15:23:30 -0500
committerFreya Murphy <freya@freyacat.org>2023-12-30 15:23:30 -0500
commit9ea034f42095bb1a61d1e8ee628575cb2bbee7e6 (patch)
tree123e5758aa4b078eea5dce59ebe4f1afaf7ec523 /bin/inet2.sh
parentstubnet (diff)
downloadfreyanet-9ea034f42095bb1a61d1e8ee628575cb2bbee7e6.tar.gz
freyanet-9ea034f42095bb1a61d1e8ee628575cb2bbee7e6.tar.bz2
freyanet-9ea034f42095bb1a61d1e8ee628575cb2bbee7e6.zip
refactor
Diffstat (limited to '')
-rwxr-xr-xbin/inet2.sh (renamed from inet2.initd)90
1 files changed, 38 insertions, 52 deletions
diff --git a/inet2.initd b/bin/inet2.sh
index 5fe8c7c..7a93cbb 100755
--- a/inet2.initd
+++ b/bin/inet2.sh
@@ -1,20 +1,6 @@
-#!/sbin/openrc-run
-name="inet2"
-description="Sets up wireguard interfaces connected via the host's internet connection"
+#!/usr/bin/env sh
-extra_started_commands="reloadwg"
-
-run() {
- printf '$ \x1b[32;1m%s\x1b[0m\n' "$*"
- "$@"
-}
-step() {
- printf '\x1b[34;1m>> %s\x1b[0m\n' "$*"
-}
-
-getval() {
- /usr/local/bin/config.awk /run/inet2/inet2.conf "$@"
-}
+. /var/lib/inet2/inet2.sh
runscripts() {
if [ -n "$(getval "interface $2" "$1")" ]; then
@@ -25,23 +11,24 @@ runscripts() {
fi
}
-
-
start() {
+ step "Starting inet2"
+ step "Removing old Wireguard interfaces"
for file in /sys/class/net/*; do # Clear all wireguard interfaces
type=$(cat "$file/type")
if [ "$type" = "65534" ]; then
- ifname="$(basename $file)"
- ip link del "$ifname"
+ ifname="$(basename $file)"
+ run ip link del "$ifname"
fi
done
- rm -rf /run/inet2/config 2>/dev/null
- rm -rf /run/inet2/wg 2>/dev/null
- cp /config/inet2.conf /run/inet2/inet2.conf
- mkdir /run/inet2/wg
-
+ rm -fr /run/inet2/wg 2> /dev/null
+ mkdir -p /run/inet2/wg
+
+ mkbirdconfig.sh
+
+ step "Setting loopback addresses"
getval Loopback | while read -r addr; do
run ip addr add "$addr" dev lo
done
@@ -84,36 +71,35 @@ start() {
}
stop() {
- if [ -f /run/inet2/inet2.conf ]; then
- getval Loopback | while read -r addr; do
- run ip addr del "$addr" dev lo
- done
+ step "Stopping inet2"
+ step "Removing loopback"
+ getval Loopback | while read -r addr; do
+ run ip addr del "$addr" dev lo
+ done
- getval interface | while read -r inter; do
- runscripts PreDown "$inter"
-
- step "Bringing $inter down"
- run ip link del "$inter"
-
- runscripts PostDown "$inter"
- done
+ getval interface | while read -r inter; do
+ runscripts PreDown "$inter"
- rm -rf /run/inet2/inet2.conf
- fi
+ step "Bringing $inter down"
+ run ip link del "$inter"
+
+ runscripts PostDown "$inter"
+ done
}
-# just reloads the wireguard configs for existing interfaces
-# for if a peer's domain name resolves to a different ip address now
-# and it needs to be re-resolved without taking down the connection
-reloadwg() {
- if [ -f /run/inet2/inet2.conf ]; then
- getval interface | while read -r inter; do
- step "Generating config for $inter"
- run mkwgconfig.sh "$inter" /run/inet2/wg/"$inter" /config/inet2.conf
-
- step "Setting Wireguard config for $inter"
- run wg setconf "$inter" /run/inet2/wg/"$inter"
- done
- fi
+reload() {
+ getval interface | while read -r inter; do
+ step "Generating config for $inter"
+ run mkwgconfig.sh "$inter" /run/inet2/wg/"$inter" /config/inet2.conf
+
+ step "Setting Wireguard config for $inter"
+ run wg setconf "$inter" /run/inet2/wg/"$inter"
+ done
+}
+
+restart() {
+ stop
+ start
}
+$1