#!/bin/sh # env # Written in 2019 by Leslie # Modified in 2019 by Lucas # CC0 1.0 Universal/Public domain - No rights reserved # # To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any # warranty. You should have received a copy of the CC0 Public Domain # Dedication along with this software. If not, see # . usage() { printf "Usage: %s url\n" "${0##*/}" >&2 exit 1 } if [ $# -ne 1 ]; then usage fi case $1 in "https://invidio.us/watch?v="*) ;; *) printf "%s: Not an invidio.us url.\n" "${0##*/}" >&2 exit 1 esac video_id= for param in $(printf "%s\n" "${1##*"?"}" | tr "&" "\n"); do k=${param%%=*} [ "$k" = v ] || continue v=${param#*=} if [ ${#v} -ne 11 ]; then printf "%s: "%s": not a video id.\n" "${0##*/}" "$v" >&2 continue fi video_id=$v break done if [ -z "$video_id" ]; then printf "%s: no video ID in URL.\n" "${0##*/}" >&2 exit 1 fi dl_option=$(ftp -o - "$1" 2>/dev/null \ | grep "