gotosocial/scripts/bundle_licenses.sh
kim 6801ce299a [chore] remove nollamas middleware for now (after discussions with a security advisor) (#4433)
i'll keep this on a separate branch for now while i experiment with other possible alternatives, but for now both our hacky implementation especially, and more popular ones (like anubis) aren't looking too great on the deterrent front: https://github.com/eternal-flame-AD/pow-buster

Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4433
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-09-17 14:16:53 +02:00

43 lines
2 KiB
Bash
Executable file

#!/bin/sh
set -ex
# Split on
# new line
IFS='
'
license_filter() { grep -iE '.*/license(\.\w+)?$'; }
OUTPUT='./web/assets/all_licenses.txt'
echo 'The GoToSocial software uses the following dependencies, whose licenses are reproduced in full:' > "$OUTPUT" # reset output
echo >> "$OUTPUT"
# Copy over any licenses in our golang dependencies
for file in $(find ./vendor | license_filter); do
echo "----------------------------------------------------------" >> "$OUTPUT"
echo >> "$OUTPUT"
echo "${file}:" >> "$OUTPUT"
echo >> "$OUTPUT"
cat "${file}" >> "$OUTPUT"
echo >> "$OUTPUT"
done
# Copy over any licenses in our javacsript dependencies
for file in $(find ./web/source | license_filter); do
echo "----------------------------------------------------------" >> "$OUTPUT"
echo >> "$OUTPUT"
echo "${file}:" >> "$OUTPUT"
echo >> "$OUTPUT"
cat "${file}" >> "$OUTPUT"
echo >> "$OUTPUT"
done
# Copy over misc other licenses
for file in ./LICENSE; do
echo "----------------------------------------------------------" >> "$OUTPUT"
echo >> "$OUTPUT"
echo "${file}:" >> "$OUTPUT"
echo >> "$OUTPUT"
cat "${file}" >> "$OUTPUT"
echo >> "$OUTPUT"
done