A local-first analyst dashboard for building and running gallery-dl archive jobs from a browser. It provides target queues, case-oriented folder paths, cookie options, command/config previews, presets, live logs, and stop controls.
Create a Python environment and install backend dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtInstall gallery-dl if it is not already available:
pip install gallery-dl
gallery-dl --versionStart the app:
python -m backend.mainOpen http://127.0.0.1:4000 in a browser.
To choose a different port:
python -m backend.main --port 5000- Enter or paste one or more target URLs.
- Enter the output directory path, for example
/home/user/osint-archives/case-name/target-name/. - Fill in case name, target label, notes, and folder naming mode.
- Choose the cookie mode.
- Enable metadata, archive, skip, and filename options.
- Review the generated command and JSON config preview.
- Click Run archive.
- Watch live logs.
- Stop the job or open the output folder when supported by the backend OS.
Cookie handling is explicit:
- No cookies runs
gallery-dlwithout cookie arguments. - Select cookies.txt passes
--cookies /path/to/cookies.txt. - Browser cookies only becomes usable after clicking Detect browser profiles and selecting a browser/profile. The backend returns profile labels only and relies on
gallery-dl --cookies-from-browser.
The backend never returns or prints raw cookie values.
GET /api/healthGET /api/gallery-dl/versionPOST /api/paths/validatePOST /api/config/renderPOST /api/config/savePOST /api/jobsGET /api/jobs/{job_id}GET /api/jobs/{job_id}/eventsPOST /api/jobs/{job_id}/stopPOST /api/paths/openPOST /api/library/scanGET /api/library/{root_id}/files/{relative_path}GET /api/library/{root_id}/metadata/{relative_path}GET /api/browser-profiles