48 lines
1.1 KiB
Bash
Executable file
48 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
urlencode() {
|
|
local LANG=C
|
|
local length="${#1}"
|
|
for (( i = 0; i < length; i++ )); do
|
|
local c="${1:i:1}"
|
|
case $c in
|
|
[a-zA-Z0-9.~_-]) printf "$c" ;;
|
|
*) printf '%%%02X' "'$c" ;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
|
|
# find true dir of executable
|
|
SOURCE="${BASH_SOURCE[0]}"
|
|
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
|
SOURCE="$(readlink "$SOURCE")"
|
|
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
|
done
|
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
|
|
|
|
|
if [ -z "$(pgrep lbrynet-daemon)" ]; then
|
|
echo "running lbrynet-daemon..."
|
|
$DIR/lbrynet-daemon --no-launch &
|
|
sleep 3 # let the daemon load before connecting
|
|
fi
|
|
|
|
ARG=${1:-}
|
|
|
|
if [ -z "$ARG" ]; then
|
|
URL=""
|
|
else
|
|
NAME=$(echo "$ARG" | cut -c 8-)
|
|
if [ -z "$NAME" -o "$NAME" == "lbry" ]; then
|
|
URL=""
|
|
else
|
|
URL="/?watch=$(urlencode "$NAME")"
|
|
fi
|
|
fi
|
|
|
|
/usr/bin/xdg-open "http://localhost:5279$URL"
|