Crates.io | manga-tui |
lib.rs | manga-tui |
version | 0.5.0 |
source | src |
created_at | 2024-08-04 15:52:18.518569 |
updated_at | 2025-01-06 23:17:42.920762 |
description | Terminal-based manga reader and downloader with image rendering support |
homepage | https://github.com/josueBarretogit/manga-tui |
repository | https://github.com/josueBarretogit/manga-tui |
max_upload_size | |
id | 1325094 |
size | 757,587 |
https://github.com/user-attachments/assets/2b693bd3-ec30-4d6e-bcc4-6cf457a860b1
https://github.com/user-attachments/assets/c1e21aa1-8a51-4c47-baea-9f56dcd0d6a4
https://github.com/user-attachments/assets/70f321ff-13d1-4c4b-9c37-604271456ab2
https://github.com/user-attachments/assets/47e88e89-f73c-4575-9645-2abb80ca7d63
https://github.com/user-attachments/assets/ba785668-7cf1-4367-93f9-6e6e1f72c12c
https://github.com/user-attachments/assets/26ad493f-633c-41fc-9d09-49b316118923
Track your reading history with anilist integration
On linux you may need to install the D-bus secret service library
sudo apt install libdbus-1-dev pkg-config
sudo dnf install dbus-devel pkgconf-pkg-config
sudo pacman -S dbus pkgconf
cargo install manga-tui --locked
You can install manga-tui
from the AUR with using an AUR helper.
paru -S manga-tui
If you have the Nix package manager, this repo provides a flake that builds the latest git version from source.
Simply run the following:
nix run 'github:josueBarretogit/manga-tui'
Or, to install persistently:
nix profile install 'github:josueBarretogit/manga-tui'
Download a binary from the releases page
Use a terminal that can render images such as Wezterm (Personally I recommend using this one It's the one used in the videos), iTerm2, Kitty and Ghostty
For more information see: image-support
[!WARNING] On windows image display is very buggy, see this issue for more information
No images will be displayed if the terminal does not have image support (but manga-tui
will still work as a manga downloader)
After installation just run the binary
manga-tui
Manga downloads and reading history is stored in the manga-tui
directory, to know where it is run:
manga-tui --data-dir
# or
manga-tui -d
On linux it will output something like: ~/.local/share/manga-tui
On the manga-tui
directory there will be 4 directories
history
, which contains a sqlite database to store reading historyconfig
, which contains the manga-tui-config.toml
config file with the following fields:# The format of the manga downloaded
# values : cbz , raw, epub
# default : cbz
download_type = "cbz"
# Download image quality, low quality means images are compressed and is recommended for slow internet connections
# values : low, high
# default : low
image_quality = "low"
# Pages around the currently selected page to try to prefetch
# values : 0-255
# default : 5
amount_pages = 5
# Whether or not bookmarking is done automatically, if false you decide which chapter to bookmark
# values : true, false
# default : true
auto_bookmark = true
# Whether or not downloading a manga counts as reading it on services like anilist
# values : true, false
# default : false
track_reading_when_download = false
mangaDownloads
, where manga will be downloadederrorLogs
, for storing posible errors / bugsIf you want to change the location of this directory you can set the environment variable MANGA_TUI_DATA_DIR
to some path pointing to a directory, like:
export MANGA_TUI_DATA_DIR="/home/user/Desktop/mangas"
By default manga-tui
will search mangas in english, you can change the language by running:
# `es` corresponds to the Iso code for spanish
manga-tui lang --set 'es'
Check the available languages and their Iso codes by running:
manga-tui lang --print
I wanted to make a "How linux user does ..." but for manga, here is the video also this is a great excuse to start reading manga again
Many thanks to Mangadex for providing the free API please consider supporting them ❤️
Many thanks to the Ratatui organization for making such a good library for making TUI's in rust 🐭
Many thanks to the developer of the Ratatui-image crate for providing a widget that renders images in the terminal 🖼️
Consider giving a star to this project ⭐