zurl

zurl allows you to use urlalacon to paste tinyurls zurl can pick up urls from command line or from X11 clipboard (-x option)

zurlencode needs to be put into a seperate file when submitted to -workers!

#!/usr/bin/env zsh
PROG=$0
usage() {
	print "usage:"
	print "$PROG [-x] [url]"
	print ""
	print -- "-x:\n\tgrab url from X11 clipboard"
}
[ $# -eq 0 ] &&                                        usage && exit
[ $# -gt 1 ] && print "Only one parameter allowed." && usage && exit 3
zurlencode() {
	setopt localoptions extendedglob
	input=( ${(s::)1} )
	URLREPLY=${(j::)input/(#b)([^A-Za-z0-9_.!~*\'\(\)-])/%${(l:2::0:)$(([##16]#match))}}
}
if [[ "$1" = "-x" ]] ;then
	URL=$(xclip -o 2>/dev/null)
else
	URL=$1
fi
autoload -U tcp_open
TCP_SILENT=1
zurlencode $URL
tcp_open -q urlalacon.com 80 urlalacon || return 2
tcp_send -s urlalacon -- "GET /?url=${URLREPLY}&alacon=1 HTTP/1.1"
tcp_send -s urlalacon -- "Host: urlalacon.com"
tcp_send -s urlalacon -- "Accept-Charset: utf-8"
tcp_send -s urlalacon -- ""
tcp_read -b -d -s urlalacon
tcp_close -q urlalacon
print ${${tcp_lines[149]/*href=/}/>*}
 
code/scripts/zurl.txt · Last modified: 2010/01/05 09:20 (external edit)