You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
687 B
29 lines
687 B
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
function onOSX () {
|
|
return [[ $(uname) == "Darwin" ]]
|
|
}
|
|
|
|
function findLocalService () {
|
|
|
|
local SVC="$1"
|
|
|
|
if onOSX; then
|
|
local OUT="$(
|
|
echo -e "spawn -noecho dns-sd -Z $SVC\nexpect -timeout 1 eof {}" |
|
|
expect -f - |
|
|
grep SRV | egrep -v '^\s*;'
|
|
)"
|
|
local PORT="$(echo $OUT | awk '{print $5}')"
|
|
local HOST="$(echo $OUT | awk '{print $6}')"
|
|
else
|
|
# linux only for now
|
|
local OUT="$(avahi-browse -p -t -r $SVC | grep '^=' | head -1)"
|
|
local NAME="$(echo \"$AL\" | cut -d';' -f 8)"
|
|
local PORT="$(echo \"$AL\" | cut -d';' -f 9)"
|
|
fi
|
|
|
|
echo $HOST:$PORT
|
|
}
|
|
|