summaryrefslogtreecommitdiffstats
path: root/bin/algo-config
blob: 38e3659be79b29415d182eb2161248da75d1d19b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env bash
set -eu
set -o pipefail

script_path="$(realpath "$(dirname "$0")")"
secrets_bin="${script_path}/secrets"
config_path="$(echo /mnt/algo/configs/*/wireguard)"

"$secrets_bin" open
trap '"$secrets_bin" close' EXIT

if [ -z "${VIRTUAL_ENV:-}" ]; then
    # shellcheck disable=SC1090
    . "${script_path}/helpers/algo-virtualenv"
    python -m pip install segno
fi

fixup_configs() {
    name=$(shift)
    sed -i 's/^\(Address.*\) *,.*/\1/' "$config_path"/"${name}".conf
    sed -i 'g/^DNS/d' "$config_path"/"${name}".conf
    cp "$config_path"/"${name}".conf "$config_path"/"${name}"-not-captive.conf
    sed -i 's|^AllowedIPs.*|AllowedIPs = 0.0.0.0/0|' "$config_path"/"${name}".conf
    sed -i 's|^AllowedIPs.*|AllowedIPs = 10.49.0.0/24|' "$config_path"/"${name}"-not-captive.conf
}

# hornet
fixup_configs hornet
sudo cp "$config_path"/hornet.conf /etc/wireguard/algo-captive.conf
sudo cp "$config_path"/hornet-not-captive.conf /etc/wireguard/algo.conf

# tozt
fixup_configs tozt
scp "$config_path"/tozt-not-captive.conf root@tozt.net:/etc/wireguard/algo.conf
cp "$config_path"/tozt-not-captive.conf /mnt/puppet/tozt/wireguard
$secrets_bin sync tozt

# partofme
fixup_configs partofme
scp "$config_path"/partofme-not-captive.conf root@partofme:/etc/wireguard/algo.conf
cp "$config_path"/partofme-not-captive.conf /mnt/puppet/partofme/wireguard
$secrets_bin sync partofme

# mail
fixup_configs mail
scp "$config_path"/mail-not-captive.conf root@mail.tozt.net:/etc/wireguard/algo.conf
cp "$config_path"/mail-not-captive.conf /mnt/puppet/mail/wireguard
$secrets_bin sync mail

# mail2
fixup_configs mail2
scp "$config_path"/mail2-not-captive.conf root@mail2.tozt.net:/etc/wireguard/algo.conf
cp "$config_path"/mail2-not-captive.conf /mnt/puppet/mail2/wireguard
$secrets_bin sync mail2

# phone
fixup_configs phone
echo "algo-captive"
segno --scale=5 --output="$config_path"/phone.png "$(cat "$config_path"/phone.conf)"
sxiv "$config_path/phone.png"
echo "algo"
segno --scale=5 --output="$config_path"/phone-not-captive.png "$(cat "$config_path"/phone-not-captive.conf)"
sxiv "$config_path/phone-not-captive.png"