icecast improvements
[distro-setup] / brc2
diff --git a/brc2 b/brc2
index d46028dfddb744c985d3b90658ea963047787180..104907e67c76f2d4df1f737ff986a3300d9db381 100644 (file)
--- a/brc2
+++ b/brc2
@@ -4750,9 +4750,24 @@ ftoc() {
   units "tempF($1)" tempC
 }
 
-# note: requires dns setup of live.iankelling.org, & if i'm home, port
-# forwarding in wrt-setup-local.  todo: automate that.
-local-icecast() {
+# local icecast
+localic() {
+  local mod=false
+  cedit live /p/c/machine_specific/vps/filesystem/var/lib/bind/db.iankelling.org <<'EOF' || mod=true
+live   CNAME   b8.nz.
+EOF
+  if $mod; then
+    ip=$(ip r show default | sed -r 's/.*src ([^ ]*).*/\1/' | head -n1)
+    if [[ ! $ip ]] && timeout 1 ping -c 1 $ip; then
+      echo "error: failed to get ip: $ip" >&2
+      exit 1
+    fi
+    cat >/p/c/cmc-firewall-data-http <<EOF
+http_ip=$ip
+EOF
+    bindpush
+    wrt-setup
+  fi
   web-conf -e ian@iankelling.org -f 8000 - apache2 live.iankelling.org  <<'EOF'
 <Location "/fsf.webm">
 AuthType Basic
@@ -4769,8 +4784,23 @@ AuthUserFile "/etc/icecast-fsf-tech-htpasswd"
 Require valid-user
 </Location>
 EOF
+  s cat /etc/letsencrypt/live/live.iankelling.org/{fullchain,privkey}.pem | s dd of=/etc/icecast2/fullchainpluskey.pem
+  ser start icecast2
+}
+# li icecast
+liic() {
+  cedit live /p/c/machine_specific/vps/filesystem/var/lib/bind/db.iankelling.org <<'EOF' || bindpush
+live   A       72.14.176.105
+       AAAA    2600:3c00::f03c:91ff:fe6d:baf8
+EOF
+}
+# icecast rm -r
+icrmr() {
+  find /var/icecast -type f -delete
+  ssh li.b8.nz find /var/icecast -type f -delete
 }
 
+
 # obs screen switching of
 obof() {
   ls -l /tmp/no-obs-auto-scene-switch