Thank you for the warning. You are correct. It's prune to command injection. I will validate the URL before executing it. This shoud suffice until archivebox's rest API is available in stable.
yasser_kaddoura
joined 1 month ago
I have a script that archives to:
- Internet Archive: Digital Library of Free & Borrowable Texts, Movies, Music & Wayback Machine
- Webpage archive
- Ghostarchive, a website archive
- Self-hosted https://archivebox.io/
I used to solely depend on archive.org, but after the recent attacks, I expanded my options.
Script: https://gist.github.com/YasserKa/9a02bc50e75e7239f6f0c8f04fe4cfb1
EDIT: Added script. Note that the script doesn't include archiving to
archivebox, since its API isn't available in stable verison yet. You can add a
function depending on your setup. Personally, I am depending on Caddy and
docker, so I am using caddy module [1] to execute commands with this in my Caddyfile
:
route /add {
@params query url=*
exec docker exec --user=archivebox archivebox archivebox add {http.request.uri.query.url} {
timeout 0
}
}
https://github.com/sergix44/XBackBone
My workflow: press global hotkey -> screenshot or screen record -> after finishing (file uploaded via API -> store file's link in clipboard -> notification).