#tui #command-line #terminal #cli

bin+lib manga-tui

Terminal-based manga reader and downloader with image rendering support

6 releases (breaking)

new 0.5.0 Jan 6, 2025
0.4.0 Nov 2, 2024
0.3.1 Aug 26, 2024
0.2.0 Aug 9, 2024
0.1.0 Aug 4, 2024

#189 in Command-line interface

Download history 33/week @ 2024-09-22 20/week @ 2024-09-29 22/week @ 2024-10-06 22/week @ 2024-10-13 12/week @ 2024-10-20 140/week @ 2024-10-27 52/week @ 2024-11-03 12/week @ 2024-11-10 15/week @ 2024-11-17 5/week @ 2024-11-24 1/week @ 2024-12-01 32/week @ 2024-12-08 6/week @ 2024-12-15 3/week @ 2024-12-22 149/week @ 2025-01-05

158 downloads per month

MIT license

620KB
15K SLoC

📖 Manga-tui 🖥️

Terminal-based manga reader and downloader written in rust 🦀

https://github.com/user-attachments/assets/2b693bd3-ec30-4d6e-bcc4-6cf457a860b1

Table of contents

Features

  • Advanced search (with filters)

https://github.com/user-attachments/assets/c1e21aa1-8a51-4c47-baea-9f56dcd0d6a4

  • Read manga in your terminal with terminals such as: Wezterm, iTerm2, Kitty, Ghostty

https://github.com/user-attachments/assets/70f321ff-13d1-4c4b-9c37-604271456ab2

  • Reading history is stored locally (with no login required)

https://github.com/user-attachments/assets/47e88e89-f73c-4575-9645-2abb80ca7d63

  • Download manga (available formats: cbz, epub and raw images)

https://github.com/user-attachments/assets/ba785668-7cf1-4367-93f9-6e6e1f72c12c

  • Download all chapters of a manga (available formats: cbz, epub and raw images)

https://github.com/user-attachments/assets/26ad493f-633c-41fc-9d09-49b316118923

Join the discord server for further help, feature requests or to chat with contributors

Dependencies

On linux you may need to install the D-bus secret service library

Debian

sudo apt install libdbus-1-dev pkg-config

Fedora

sudo dnf install dbus-devel pkgconf-pkg-config

Arch

sudo pacman -S dbus pkgconf

Installation

Using cargo

cargo install manga-tui --locked

AUR

You can install manga-tui from the AUR with using an AUR helper.

paru -S manga-tui

Nix

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'

Binary release

Download a binary from the releases page

Image rendering

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)

Usage

After installation just run the binary

manga-tui

Configuration

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 history
  • config, 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 downloaded
  • errorLogs, for storing posible errors / bugs

If 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

Motivation

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

Credits

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 ⭐

Dependencies

~80MB
~1M SLoC