mangal.mp4
curl -sSL mangal.metafates.one/run | sh
Note This script does not install anything, it just downloads, verifies and runs Mangal. Not available on Windows.
- Lua Scrapers!!! You can add any source you want by creating your own (or using someone's else) scraper with Lua 5.1. See mangal-scrapers repository
- 4 Built-in sources - Mangadex, Manganelo, Mangakakalot & Mangapill
- Download & Read Manga - I mean, it would be strange if you couldn't, right?
- 4 Different export formats - PDF, CBZ, ZIP and plain images
- 3 Different modes - TUI, Mini and Inline
- Fast? - YES.
- Monolith - ZERO runtime dependencies. Even Lua is built in.
- Fancy - (οΎ>Ο<)οΎ :qο½₯::ο½₯οΎββ ,qο½₯:ο½₯οΎββ
- Cross-Platform - Linux, macOS, Windows, Termux
- Anilist integration - Track your manga progress on Anilist when reading with Mangal.
Install using this shell script
curl -sSL mangal.metafates.one/install | sh
This script will automatically detect OS & Distro and use the best option available.
For example, on macOS it will try to use Homebrew, on Ubuntu it will install the .deb
package and so on...
AUR package (maintained by @balajsra, thank you)
Install using Homebrew
brew tap metafates/mangal
brew install mangal
Install using Scoop (thanks to @SonaliBendre for adding it to the official bucket)
scoop bucket add extras
scoop install mangal
Thanks to @T-Dynamos for adding it to the termux-packages
pkg install mangal
Install using Nix. Thanks to @bertof for adding it to the nixpkgs
# NixOS
nix-env -iA nixos.mangal
# Non NixOS
nix-env -iA nixpkgs.mangal
Install using Docker. (thanks to @ArabCoders for reference)
docker pull metafates/mangal
To run
docker run --rm -ti -e "TERM=xterm-256color" -v $(PWD)/mangal/downloads:/downloads -v $(PWD)/mangal/config:/config metafates/mangal
Visit this link to install Go.
Clone the repo
git clone --depth 1 https://github.com/metafates/mangal.git
cd mangal
GNU Make (Recommended)
make install # if you want to compile and install mangal to path
make build # if you want to just build the binary
If you don't have GNU Make use this
go install # to install
go build # to build
If you want to build mangal for other architecture, say ARM, you'll have to set env variables GOOS
and GOARCH
GOOS=linux GOARCH=arm64 make build
Available GOOS and GOARCH combinations
Download the pre-compiled binaries from the releases page and copy them to the desired location.
Just run mangal
and you're ready to go.
Keybinds
Bind | Description |
---|---|
? | Show help |
β/j β/k β/l β/h | Navigate |
g | Go to first |
G | Go to last |
/ | Filter |
esc | Back |
space | Select one |
tab | Select all |
v | Select volume |
backspace | Unselect all |
enter | Confirm |
o | Open URL |
r | Read |
q | Quit |
ctrl+c | Force quit |
a | Select Anilist manga (chapters list) |
d | Delete single history entry |
Mini mode tries to mimic ani-cli
To run: mangal mini
Inline mode is intended for use with other scripts.
Example of usage:
mangal inline --source Manganelo --query "death note" --manga first --chapters all -d
This will download all chapters of the "Death Note" from Manganelo.
Type mangal help inline
for more information
See mangal help
for more information
Mangal uses TOML format for configuration under the mangal.toml
filename.
Config path depends on the OS.
To find yours, use mangal where --config
.
For example, on Linux it would be ~/.config/mangal/mangal.toml
.
Use env variable MANGAL_CONFIG_PATH
to set custom config path.
See
mangal env
to show all available env variables.
Command | Description |
---|---|
mangal config get |
Get config value for specific key |
mangal config set |
Set config value for specific key |
mangal config info |
List all config fields with description for each |
mangal config init |
Write current config to a file |
TLDR; To browse and install a custom scraper from mangal-scrapers repository run
mangal sources install
Mangal has a Lua5.1 VM built-in + some useful libraries, such as headless chrome, http client, html parser and so on...
Check the defined modules for more information.
For scrapers examples, check the mangal-scrapers repository
This command will create example.lua
file in the mangal where --sources
directory.
mangal gen --name example --url https://example.com
Open the file and edit it as you wish. Take a look at the comments for more information. See mangal-scrapers repository for examples.
You can test it by running mangal run <filepath>
It should automatically appear in the list of available scrapers.
New to Lua? Quick start guide
Mangal also supports integration with anilist.
It will mark chapters as read on Anilsit when you read them inside mangal.
For more information see wiki
Maybe I'll add more sites in the future, like myanimelist. Open for suggestions!
- kaizoku - Self-hosted manga downloader with mangal as its core π
- mangadesk - Terminal client for MangaDex
- ani-cli - A cli tool to browse and play anime
- manga-py - Universal manga downloader
- animdl - A highly efficient, fast, powerful and light-weight anime downloader and streamer
- tachiyomi - Free and open source manga reader for Android
- bubbletea, bubbles & lipgloss - Made mangal shine! The best TUI libraries ever β¨
- gopher-lua - Made it possible to write custom scrapers with Lua β€οΈ
- cobra and viper - Responsible for the awesome CLI & config experience π
- pdfcpu - Fast pdf processor in pure go π
- And many others!
And of course, thanks to all the contributors! You are awesome!
If you find this project useful or want to say thank you, please consider starring it, that would mean a lot to me β