From e1d0877d56180dc1b36a53b10ce4c516190b8c7e Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Thu, 14 Dec 2023 09:45:26 +0000 Subject: add pactl-tunnel-sink --- bin/pactl-tunnel-sink | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 bin/pactl-tunnel-sink diff --git a/bin/pactl-tunnel-sink b/bin/pactl-tunnel-sink new file mode 100755 index 00000000..5ad8df25 --- /dev/null +++ b/bin/pactl-tunnel-sink @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -e +. ~/src/dotfiles/lib-src/posix-defuns.sh + +[ \( "$1" = --client -o "$1" = --server \) -a "$#" -eq 2 ] \ + || fail "usage: pactl-tunnel-sink --client|--server ADDRESS" + +addr=$2 +port=4656 +def= mod= + +cleanup() { + set +e + [ -n "$def" ] && pactl set-default-sink "$def" + [ -n "$mod" ] && pactl unload-module "$mod" +} +trap cleanup INT TERM EXIT + +case "$1" in + --client) + def="$(pactl get-default-sink)" + mod="$(pactl load-module module-tunnel-sink server=tcp:$addr:$port)" + pactl set-default-sink "tunnel-sink.tcp:$addr:$port" + ;; + + --server) + sudo firewall-cmd --add-port=$port/tcp + mod="$(pactl load-module module-native-protocol-tcp port=$port listen=$addr)" + ;; +esac + +read -n 1 -r -s -p "Press any key to exit .." -- cgit v1.2.3