fix vpn host naming
[distro-setup] / trusted-network
index c0ed8a5094fcdadd153b291e4461dbf7251b37d2..a4325339c541c7db0c11c75dc8d16802cfae312d 100755 (executable)
@@ -1,4 +1,25 @@
 #!/bin/bash
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+#     http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Usage: run to trust or untrust dns. public wifi sometimes needs to
 # trust dns initially to log in.
@@ -8,8 +29,6 @@
 
 source /a/bin/bash-bear-trap/bash-bear
 
-readonly this_file=$(readlink -f -- "${BASH_SOURCE[0]}")
-readonly this_dir="${this_file%/*}"
 script_name="${BASH_SOURCE[0]}"
 script_name="${script_name##*/}"
 
@@ -57,13 +76,17 @@ if $trust; then
     fi
   fi
 
-  rm -fv /etc/systemd/resolved.conf.d/untrusted-network.conf
+  # https://github.com/jonathanio/update-systemd-resolved
+  # suggests this will help prevent leakage into a vpn interface
+  cat >/etc/systemd/resolved.conf.d/untrusted-network.conf <<EOF
+Domains=~.
+EOF
 else  #untrusted
   # https://wiki.archlinux.org/index.php/Systemd-resolved#Manually
   cat >/etc/systemd/resolved.conf.d/untrusted-network.conf <<EOF
 [Resolve]
 DNS=${servers[@]}
-Domains=b8.nz
+Domains=~. b8.nz
 DNSOverTLS=yes
 EOF
 
@@ -88,7 +111,7 @@ fi
 
 
 # wait for networkmanager to come back
-for f in {1..20}; do
+for ((i=0; i<10; i++)); do
   if read -r _ _ _ _  gateway_if _ < <(ip route get 8.8.8.8); then
     break
   fi