A tool for adding anime to your anidb list.
Go to file
2022-01-08 20:36:22 +01:00
src Handle negative errcodes 2022-01-08 20:36:22 +01:00
subm init 2022-01-08 19:53:58 +01:00
.gitignore init 2022-01-08 19:53:58 +01:00
.gitmodules init 2022-01-08 19:53:58 +01:00
Makefile init 2022-01-08 19:53:58 +01:00
README.md Add depends 2022-01-08 20:09:55 +01:00

Caniadd will add files to an AniDB list.

None of the already existing clients did exactly what I wanted, so here I am. Caniadd is still in developement, but is is already usable. That is, it implements logging in, encryption, ed2k hashing and adding files, basic ratelimit, keepalive, and file caching.

In the future I want to write an mpv plugin that will use the cached database from caniadd to automatically mark an episode watched on AniDB. That will be the peak comfy animu list management experience.

Install

You'll need to download the developement package for sqlite3. Caniadd also needs pthreads, but that's probably already there.

git clone --recurse-submodules https://git.lain.church/x3/caniadd
cd caniadd
make
./caniadd -h

Things to do:

  • NAT handling
  • Multi thread hashing
  • Read/write timeout in net
  • Api ratelimit (the other part)
  • Decode escaping from server
  • Use a config file
  • Add newline escape to server
  • Better field parsing, remove the horrors at code 310
  • Add myliststats cmd as --stats arg
  • Add support for compression
  • Make deleting from mylist possible, with
    • Name regexes,
    • If file is not found at a scan
  • Use api_cmd style in api_encrypt_init
  • Buffer up mylistadd api cmds when waiting for ratelimit
  • Handle C-c gracefully at any time
  • Write -h page, and maybe a man page too