mirror of
https://github.com/SophiaAtkinson/yourls-bash.git
synced 2025-06-27 06:57:41 -07:00
Create yourls
This commit is contained in:
69
yourls
Normal file
69
yourls
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Configure these 2 lines and leave the rest
|
||||||
|
YOURLS_HOST="https://sho.rt/"
|
||||||
|
YOURLS_KEY="eb9444558f" # see sho.rt/admin/tools.php
|
||||||
|
|
||||||
|
yourls_help() {
|
||||||
|
echo "Shorten URLs with YOURLS"
|
||||||
|
echo
|
||||||
|
echo "Usage:"
|
||||||
|
echo " ${0##*/} <url>"
|
||||||
|
echo " ${0##*/} <url> -k <KEYWORD> -t <TITLE> -f <FORMAT>"
|
||||||
|
echo " ${0##*/} <url> --help"
|
||||||
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo " -h | --help Show this screen"
|
||||||
|
echo " -k | --keyword <KEYWORD> Custom keyword"
|
||||||
|
echo " -t | --title <TITLE> Custom title"
|
||||||
|
echo " -f | --format <FORMAT> Ouput format (json, xml, simple)"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# If no param or param is -h|--help
|
||||||
|
if [ -z "$1" ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
|
||||||
|
yourls_help
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Assuming first parameter is the URL
|
||||||
|
URL=$1;
|
||||||
|
shift;
|
||||||
|
|
||||||
|
POSITIONAL=()
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
case $key in
|
||||||
|
-k|--keyword)
|
||||||
|
KEYWORD="$2"
|
||||||
|
shift # argument
|
||||||
|
shift # value
|
||||||
|
;;
|
||||||
|
-t|--title)
|
||||||
|
TITLE="$2"
|
||||||
|
shift # argument
|
||||||
|
shift # value
|
||||||
|
;;
|
||||||
|
-f|--format)
|
||||||
|
FORMAT="$2"
|
||||||
|
shift # argument
|
||||||
|
shift # value
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
yourls_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*) # unknown option
|
||||||
|
echo "${0##*/}: unknown option $1"
|
||||||
|
echo "Try '${0##*/} --help' for more information."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$FORMAT" ]; then
|
||||||
|
FORMAT="simple"
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -s "$YOURLS_HOST/yourls-api.php?signature=$YOURLS_KEY&action=shorturl&url=$URL&keyword=$KEYWORD&title=$TITLE&format=$FORMAT"
|
||||||
|
|
Reference in New Issue
Block a user