Add curl utility

Crafty Docker doesn't have access to curl, wget, netcat, etc. This
helper script adds the ability to download a file.
This commit is contained in:
themodernhakr 2025-03-11 02:01:50 -05:00
parent f11d06dc08
commit 4720f63667

View File

@ -0,0 +1,19 @@
function __curl() {
read -r proto server path <<<"$(printf '%s' "${1//// }")"
if [ "$proto" != "http:" ]; then
printf >&2 "sorry, %s supports only http\n" "${FUNCNAME[0]}"
return 1
fi
DOC=/${path// //}
HOST=${server//:*}
PORT=${server//*:}
[ "${HOST}" = "${PORT}" ] && PORT=80
exec 3<>"/dev/tcp/${HOST}/$PORT"
printf 'GET %s HTTP/1.0\r\nHost: %s\r\n\r\n' "${DOC}" "${HOST}" >&3
(while read -r line; do
[ "$line" = $'\r' ] && break
done && cat) <&3
exec 3>&-
}