Go to file
localhost 82e3669bf7 feat(admin): email cold storage requests with approval and Glacier restore
Classify inbound mail as archive / cold_storage / other. Cold storage
requests look up the video and its file size, and check whether it is
still live on YouTube. Live videos get a link plus a "why do you need
it" email; the reply queues the request for approval. Dead videos go
straight to a new admin queue. Approving starts the Glacier restore and
emails the requester that an automated email follows within 48 hours.

Ingested mail is moved to an "ingested" IMAP folder. A one-time
catch-up scan of the whole inbox picks up old cold storage mails as
pending requests, and reruns on next start if any classification failed.

Extract startRestore from the admin restore route and mark the restore
row failed when initiating Glacier restore throws.

Requires a new cold_requests table (no migrations in repo).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 21:06:44 +02:00
.github/workflows bullshit 2024-12-03 20:39:27 +01:00
cold commit cold helper scripts 2026-07-23 21:30:47 +02:00
public change fonts 2026-03-31 20:31:29 +02:00
ranges new ranges 2026-04-19 23:29:46 +02:00
scripts ranges update + trust based limit 2026-04-11 19:49:11 +02:00
src feat(admin): email cold storage requests with approval and Glacier restore 2026-09-23 21:06:44 +02:00
videos why dont empty folders show on github? 2023-03-03 19:01:13 +01:00
.gitignore gitignore 2026-03-31 20:32:14 +02:00
Dockerfile just a quick little rewrite, no big deal 2024-12-03 20:33:43 +01:00
LICENSE legal stuff 2024-12-03 20:34:55 +01:00
README.md readme 2023-03-03 23:05:57 +01:00
bun.lockb feat(admin): email archive requests with AI triage, replace MCP 2026-09-23 19:03:09 +02:00
docker-compose.yml bypass captcha keys 2026-04-29 11:36:21 +02:00
package.json feat(admin): email archive requests with AI triage, replace MCP 2026-09-23 19:03:09 +02:00
tsconfig.json just a quick little rewrite, no big deal 2024-12-03 20:33:43 +01:00

README.md

Preservetube's backend is responsible for downloading and processing YouTube videos.

For more information on Preservetube, please check the main repository.