/mangadesk

Terminal client for MangaDex 📖

Primary LanguageGoMIT LicenseMIT

mangadesk - Terminal client for MangaDex 📖

Top Language License Go Report Downloads

Download manga directly from your terminal to read!

demo.gif

This client retrieves information straight from MangaDex v5's API.
As the API is still a WIP, some changes (probably breaking) might be expected.

Features ✨

  • Download chapters straight to your computer.
  • Login to keep track of your followed manga.
  • Keep track of already downloaded manga.
  • Download multiple chapters together.
  • Searching!
  • Responsive UI (kind of)
  • Written in Golang :)

Works for Windows/Linux/macOS.

Installation 🔧

This application runs as a standalone executable, and does not install itself.

Check out the releases page for relevant files. To update, just download the latest release.

For bleeding edge 🗡 updates, you may compile from source:

git clone https://github.com/darylhjd/mangadesk.git
cd mangadesk
go get -d ./...
go build

NOTE: The application will create a usr folder in the same directory as where you run the application to store your credentials/configurations.

Uninstall ❌

To uninstall, simply delete the executable and its related folders and files (namely, the usr folder).

Your downloads will not be removed by deleting the executable.

Usage ✍

To run the application, navigate to the directory where you stored the executable, and run the following command:

$ ./mangadesk 

Steps may differ for different OSes. For example, in Windows, use a backslash \ instead.

Keybindings ⌨

Operation Binding Page
Login/Logout Ctrl + L All
Keybindings/Help Ctrl + K All
Search Ctrl + S All
Next/Prev Page Ctrl + F/B Some
Escape Esc Some
Select multiple chapters Ctrl + E Manga Page
Toggle select all Ctrl + A Manga Page

Settings ⚙

You may change the appropriate settings in the usr_config.json file, which is stored in the usr folder.

Download Folder

  • downloadDir

By default, all downloads will be stored in a folder titled downloads.

You can change this by changing the downloadDir field.

Languages

  • langauges

By default, only English (en) translated chapters will be shown.

You may change your desired language(s) through the languages field. Please use comma-separated ISO language codes.

Download Quality

  • downloadQuality

Valid options are data (high quality) or data-saver (lower quality).

Any other empty/invalid option will default to data.

Force Port 443

  • forcePort443

Valid options are true or false. It is false by default.

Set to true if you are having trouble downloading or are using networks that block traffic to non-standard ports (such as school/office networks). More info.

As Zip

  • asZip

Valid options are true or false. It is false by default.

Set to true if you want your chapter downloads to be compressed into a zip folder.

Zip Type

  • zipType

Valid options are zip or cbz. This is ignored if asZip is set to false.

Any other empty/invalid option will default to zip.

Issues ☠

Check out the Issues page for current issues/feature requests.

Contributing 🤝

Always welcome and appreciated :)

Please take some time to familiarise yourself with the contributing guidelines.

Learning points 🧠

  • Creating TUIs with tview/tcell.
  • Working with the filesystem in Golang.
  • Goroutines & Context.
  • Go Project structure.