**[New release and installation instructions available here now!](https://github.com/Inpacchi/Manga-Tagger/releases/tag/v1.0.2)**
(I posted this in /r/selfhosted as well)
After about three arduous weeks of programming and testing, I have finally finished working on Manga Tagger. For those of you who collect digital comics, you may be familiar with Comic Tagger. Well, that’s what inspired this project of mine. It does the same thing as Comic Tagger, but tailored to Japanese manga, working directly with Free Manga Downloader.
For those of you who don’t know about FMD – you should definitely be using it to grab your manga. I’ve seen a few posts in search about methods of downloading manga, but I haven’t seen FMD mentioned. This is the best one I’ve came across in searching all the tools available, and it works extremely well (outside of not grabbing metadata.)
Onto Manga Tagger: I programmed it to be completely automated and it watches the FMD download directory for any new files that are downloaded to automatically process them. Manga Tagger renames them to a comic-esque format (My Hero Academia 001.cbz) and applies metadata in the form of comicinfo.xml. I used the ComicRack way instead of ComicBookLover as it’s the more supported format.
Manga Tagger grabs metadata from Anilist and MyAnimeList collectively (to get all relevant information.) MyAnimeList doesn’t have a native API so I make use of the Jikan library, and although it doesn’t natively implement any rate limiting, I programmed this functionality into Manga Tagger so that it’s not being abused. To also help on rate limiting, I make use of MongoDB to store any information so that it can easily be reused without having to be scraped again, and also so that it’s easily malleable (instead of dropping to a flat file or a static comicinfo.xml)
Manga Tagger is multi-threaded (or as multi-threaded as Python can be) and allows for multiple files to be processed at a time. It also has a fairly comprehensive logging solution, with support for console, files, JSON, TCP and JSON TCP. It keeps track of everything that was done, and has just enough information in the standard logs that if an error were to be encountered (it happens; we’re dealing with the internet after all) it can not only be easily traced, but easily reproduced and should allow for fairly fast fixes.
I currently use DataDog for log monitoring and it’s the best thing since sliced bread, I swear. The way logging is handled has really helped in development and pushed me to do a more robust logging implementation, without needing all the debug information.
Unfortunately, Manga Tagger is only available on and currently tailored to Windows at this time due to Free Manga Downloader being a Windows-only application. It runs entirely in the background via NSSM or you can open the console with the included install/run.bat files.
**Please note**: FMD is no longer in active development, **however** there is a forked repo currently in active development called [Free Manga Downloader 2](https://github.com/dazedcat19/FMD2) – this is what I use, and it’s been a godsend. I was able to download a fair bit of manga and keep up-to-date with them using Manga Tagger.
Please feel free to use it as you please, make any changes as needed, and ask any questions that may arise! I’ve followed this community for quite a while (almost as long as I follow /r/homelab) so I’m happy to finally have something to contribute that might help you all in your quest of hosting things yourself, as I do myself.