commit 061c125fda8388661ff58907db6d134a2c718ef1
parent f4b3abe4f004c0db422c0cc54e27095980f628c2
Author: archiveanon <>
Date: Sat, 21 Jun 2025 17:08:37 +0000
Add README
Diffstat:
A | README.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.