diff options
-rwxr-xr-x | sri-hash | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sri-hash b/sri-hash new file mode 100755 index 0000000..5979c39 --- /dev/null +++ b/sri-hash @@ -0,0 +1,34 @@ +#/bin/sh +# +# SRI Hash Generator +# + +# Parameters +BASENAME="`basename $0`" +URI="$1" + +# Check +if [ -z "$URI" ]; then + echo "usage: $BASENAME <file-or-url>" + exit 1 +fi + +# Get file +if echo "$URI" | grep -q '^http'; then + echo "downloading $URI and generating hash..." + HASH="`curl $URI | openssl dgst -sha384 -binary | openssl base64 -A`" + echo "" +else + if [ -e "$URI" ]; then + # See https://www.srihash.org/ + HASH="`openssl dgst -sha384 -binary $URI | openssl base64 -A`" + else + echo "file not found: $URI" + exit 1 + fi +fi + +# Generate +cat <<EOF +<script src="$URI" integrity="sha384-$HASH" crossorigin="anonymous"></script> +EOF |