A tool for adding anime to your anidb list.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
x3 7d95c8f995
Retry bug fix
2年前
src Retry bug fix 2年前
subm init 2年前
.gitignore init 2年前
.gitmodules init 2年前
Makefile Better field parsing 2年前
README.md C-c handling + 1 todo 2年前

README.md

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
  • Decode escaping from server
  • Use a config file
  • Add newline escape to server
  • Add myliststats cmd as --stats arg
  • Add support for compression
  • Implement session saving between different invocations, and session destroying
  • Automatically remove found anime from wishlist
  • Make deleting from mylist possible, with
    • Name regexes,
    • If file is not found at a scan
  • Buffer up mylistadd api cmds when waiting for ratelimit
  • Handle C-c gracefully at any time
  • Rework cmd line args
    • Should be multiple ‘menus’ like caniadd add [paths...], caniadd uptime, caniadd watched...
  • After some time passes between now and cache moddate and it's not watched, then query and update it
  • Update cache entry is modify is used
  • Pretty hashing with color and progress bars and the other fancy stuff
  • Keep track of files not in AniDB. Maybe with a NULL lid?
  • Write -h page, and maybe a man page too