autotako

Service to monitor moombox for completed livestream downloads to upload for distribution
git clone https://code.alwayswait.ing/autotako
Log | Files | Refs | README

commit 061c125fda8388661ff58907db6d134a2c718ef1
parent f4b3abe4f004c0db422c0cc54e27095980f628c2
Author: archiveanon <>
Date:   Sat, 21 Jun 2025 17:08:37 +0000

Add README

Diffstat:
AREADME.md | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -0,0 +1,61 @@ +# autotako + +autotako is a daemon to facilitate distributions of downloaded livestreams. + +This is specifically tailored to the stack used on https://archives.alwayswait.ing/, which is +powered by the following: + +- [moombox][], which manages YouTube streams to download and provides an API to monitor status +- [dufs][], which powers the public-facing file browser and exposes a WebDAV interface to punt +files to (aside: guests also have read-only access via WebDAV; note that Windows does not take +kindly to colons in filenames) +- [qbittorrent][] (specifically the "no x" release packaged by stable Debian) + +[moombox]: https://github.com/nosoop/moombox +[dufs]: https://github.com/sigoden/dufs +[qbittorrent]: https://packages.debian.org/bookworm/qbittorrent-nox + +Of those, dufs is the only application that needs to be exposed to the web (and in the author's +case, is running on a public VPS; the others are running together behind a firewalled system). + +## Setup + +Again, you probably don't need to run this unless you want to distribute streams for some +reason. If you want an interface to archive streams for yourself, all you need is [moombox][]. + +1. Install and configure the dependencies. This project expects a working moombox instance, but +that is not specified as a package dependency since it'll operate as a completely separate +service. +2. Install autotako in a virtual environment. (Only tested in editable mode.) +3. Copy the `config.example.toml` to `config.toml`, and make adjustments as needed. +4. Run `autotako`. Note that the `config.toml` needs to be in the process's working directory. + - There are additional options; `autotako --help` for a list. + +## Operation + +autotako displays a page for each moombox task; the following operations are available: + +- Clicking on the stream title takes you to the moombox page for that task. +- Clicking on the 'edit' icon for the torrent name in the second column lets you adjust upload +info and add a note to the upload. The tool tries to set the name based on known keywords, +falling back to extraction based on standardized Japanese livestreaming 'topic' syntax. + - The upload info should be set before the upload is started. + - autotako is hardcoded to upload items that contain specific terms by default. +- The icons in the last column are as follows: + - The stopwatch is lit if the system will automatically perform an upload. + - The upload button can be clicked to force-start an upload. Uploads are an idempotent + operation; if one is ongoing clicking this will wait on an existing upload task. + - If a warning icon is present, the system is not configured to upload for the given + channel, and no upload can be performed. + - If the icon is a checkbox, clicking it *will* force a reupload of files. Torrents are not + regenerated. + +autotako polls moombox every two minutes, then automatically uploads the contents of any +completed task that meets the upload criteria. + +(I've seen the polling fail before, though...) + +## Maintenance + +YouTube may break the download process moombox uses at any point. moombox's schema may also +change at any point.