If you're ever in the situation where you have access to a shell and need to download/install something, but don't have curl, wget, netcat or even telnet, find a handy bash script that lets you download a file from an HTTP source as a reply to this post.

It even fits in a single toot 😂

function __fakecurl() {
read proto server path <<<$(echo ${1//// })
DOC=/${path// //}
HOST=${server//:*}
PORT=${server//*:}
[[ x"${HOST}" == x"${PORT}" ]] && PORT=80

exec 3<>/dev/tcp/${HOST}/$PORT
echo -en "GET ${DOC} HTTP/1.1\r\nHost: ${HOST}\r\n\r\n" >&3
(while read line; do
[[ "$line" == $'\r' ]] && break
done && cat) <&3
exec 3>&-
}

@fribbledom Wouldn't this break if the server decided to send a chunked reply though? Probably setting HTTP to 1.0 would avoid that as it won't even support that

Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!