mangadex-fs 0.1.4

FUSE driver using MangaDex API.
mangadex-fs-0.1.4 is not a library.
Visit the last successful build: mangadex-fs-0.2.1

mangadex-fs crates.io

FUSE driver for your weeb needs.

This is a basic implementation of FUSE driver utilising MangaDex undocumented API. Manga information, chapters and individual pages are cached in memory so excessive requests don't accidently DDOS the server.


Usage

  1. cargo install mangadex-fs (or clone this repo),
  2. checkout mangadex-fs --help (or cargo run --release -- --help) on how to use,
  3. please don't abuse MangaDex server, use with consideration,
  4. have fun reading.

Notes

  • cd <mount>/<manga>/
    ls -1a | grep -e "^1." | xargs -d '\n' feh --image-bg "black" -Z -. -d -S filename --version-sort
    

    creates a good reader from matching regular expression (all chapters from volume 1 in this case). Obviously you need to have feh installed.

    Be careful not to grep any substantial amount of chapters or you may find yourself blacklisted on mangadex.

  • You can enable logging by setting RUST_LOG environment variable. More here.

  • Your code is a dumpster fire

    I bet! This is my first time using Rust for something more complicated than Hello world. If you have any guidelines or want to contribute go ahead, any help would be appreciated.


TODO

  • check some edge cases:
    • read more into file permission,
    • multiple chapters formatted to same directory name,
    • generating valid entry names,
  • limit requests frequency,
  • adding manga by name,
  • attach some uid & gid to entries,
  • manage filehandles instead of sloppily parsing paths (but hey it works),
  • some IPC would be really neat for managing manga at runtime,
  • less cloning, mr. borrow checker show me the way,
  • maybe publish a crate.