Mangal.mov
β¨ Mangal is feature rich, configurable manga browser & downloader written in Go with support for different formats
βοΈ One of the most important features of Mangal is that it supports user defined scrapers that can be added with just a few lines of config file (see config & limitations)
π¦ Works in both modes - TUI & Inline. Use it as a standalone app or integrate with scripts
πΏ This app is inspired by awesome ani-cli. Check it out!
Currently, Mangal supports these formats
- Epub
- CBZ
- Zip
- Plain (just images)
Type
mangal formats
for more info
TUI.mov
For more information about inline mode type
mangal inline --help
# Search manga. Returns a list of found manga
mangal inline --query "death note"
# Search manga. Returns a JSON list of found manga
mangal inline --query "death note" --json
# Get chapters of first manga in the list
mangal inline --query "death note" --manga 1
# Download first chapter of the first manga in the list
mangal inline --query "death note" --manga 1 --chapter 1
TLDR: Use
mangal config where
to show where config should be located andmangal config init
to create default config
Config is located at the OS default config directory.
- Unix -
$XDG_CONFIG_HOME/mangal/config.toml
if$XDG_CONFIG_HOME
exists, else$HOME/.config/mangal/config.toml
- Darwin (macOS) -
$HOME/Library/Application\ Support/mangal/config.toml
- Windows -
%AppData%\mangal\config.toml
You can load config from custom path by using --config
flag
mangal --config /user/configs/config.toml
By default, Mangal uses manganelo as a source
Click here to show config example
# Which sources to use. You can use several sources, it won't affect perfomance'
use = ['manganelo']
# Available options: pdf, epub, cbz, zip, plain (just images)
format = "pdf"
# If false, then OS default pdf reader will be used
use_custom_reader = false
custom_reader = "zathura"
# Custom download path, can be either relative (to the current directory) or absolute
download_path = '.'
# Add images to cache
# If set to true mangal could crash when trying to redownload something really quickly
# Usually happens on slow machines
cache_images = false
[ui]
# Fullscreen mode
fullscreen = true
# Input prompt icon
prompt = ">"
# Input placeholder
placeholder = "What shall we look for?"
# Selected chapter mark
mark = "βΌ"
# Search window title
title = "Mangal"
[sources]
[sources.manganelo]
# Base url
base = 'https://ww5.manganelo.tv'
# Search endpoint. Put %s where the query should be
search = 'https://ww5.manganelo.tv/search/%s'
# Selector of entry anchor (<a></a>) on search page
manga_anchor = '.search-story-item a.item-title'
# Selector of entry title on search page
manga_title = '.search-story-item a.item-title'
# Manga chapters anchors selector
chapter_anchor = 'li.a-h a.chapter-name'
# Manga chapters titles selector
chapter_title = 'li.a-h a.chapter-name'
# Reader page images selector
reader_page = '.container-chapter-reader img'
# Random delay between requests
random_delay_ms = 500 # ms
# Are chapters listed in reversed order on that source?
# reversed order -> from newest chapter to oldest
reversed_chapters_order = true
The ultimate manga downloader multitool
Usage:
mangal [flags]
mangal [command]
Available Commands:
cleanup Remove cached and temp files
completion Generate the autocompletion script for the specified shell
config Config actions
formats Information about available formats
help Help about any command
inline Search & Download manga in inline mode
version Show version
Flags:
-c, --config string use config from path
-f, --format string use custom format
-h, --help help for mangal
Use "mangal [command] --help" for more information about a command.
go install github.com/metafates/mangal@latest
git clone https://github.com/metafates/mangal.git
cd mangal
go install
brew tap metafates/tap
brew install metafates/tap/mangal
Soon... π΄
git clone https://github.com/metafates/mangal.git
cd mangal
go build
You can also cross build for windows, linux & macos by running
cross-compile.py
Built binaries will be stored in the
bin
folder
Even though many manga sites will work, there exists some (serious) limitations to which sites could be added
- Navigation layout should follow this model
- Each manga have a separate page
- Manga page should have a some form of chapters list (not lazy loaded)
- Each chapter should have a separate reader page with all images
Some sites that work well
I'm planning to make a more advanced scraper creation system to overcome this roadblocks somewhere in the future
Logo taken from here