#!/bin/bash set -euo pipefail # Copyright (C) 2025 Nicolás Ortega Froysa All rights reserved. # Author: Nicolás Ortega Froysa # # This software is provided 'as-is', without any express or implied # warranty. In no event will the authors be held liable for any damages # arising from the use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software # in a product, an acknowledgment in the product documentation would be # appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be # misrepresented as being the original software. # # 3. This notice may not be removed or altered from any source # distribution. INVID_BASE="${INVID_BASE:-https://inv.nadeko.net}" CLIP=0 if [ $# -lt 1 ] then >&2 echo "Usage: $0 [-c] " exit 1 fi for arg in "$@" do case "$arg" in -c|--clip) CLIP=1 ;; -h|--help) echo "Usage: $0 " exit 0 ;; *) YT_URL="$arg" ;; esac done if [ -z "${YT_URL:-}" ] then >&2 echo "No URL provided" exit 1 elif [[ $YT_URL == *"youtu.be"* ]] then INVID_URL="${INVID_BASE}/watch?v=${YT_URL##*/}" elif [[ $YT_URL == *"www.youtube.com"* ]] then INVID_URL="${INVID_BASE}/${YT_URL##*/}" else >&2 echo "Invalid URL: $YT_URL" exit 1 fi if [ $CLIP -eq 0 ] then echo "$INVID_URL" else if [ "$XDG_SESSION_TYPE" = "wayland" ] then if ! command -v wl-copy &> /dev/null then echo "wl-copy not found, cannot copy to clipboard" exit 1 fi echo "$INVID_URL" | wl-copy else if ! command -v xclip &> /dev/null then echo "xclip not found, cannot copy to clipboard" exit 1 fi echo "$INVID_URL" | xclip -sel clip fi fi