Convert Figma logo to code with AI

Suwayomi logoSuwayomi-Server

A rewrite of Tachiyomi for the Desktop

3,923
201
3,923
104

Top Related Projects

6,180

Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.

3,981

Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS and Kobo Sync support

Free and open source manga reader for Android

Quick Overview

Suwayomi-Server is an open-source manga reader server that provides a backend for various manga reader clients. It allows users to browse, download, and read manga from multiple sources, offering a self-hosted solution for manga enthusiasts.

Pros

  • Self-hosted solution, providing control over data and privacy
  • Supports multiple manga sources and extensions
  • Compatible with various client applications, including web and mobile interfaces
  • Active development and community support

Cons

  • Requires technical knowledge to set up and maintain
  • May have legal implications depending on the manga sources used
  • Performance can vary based on the hosting hardware and network conditions
  • Limited built-in features compared to some commercial manga reader applications

Getting Started

To set up Suwayomi-Server:

  1. Ensure you have Java 8 or later installed on your system.
  2. Download the latest release from the GitHub repository.
  3. Run the server using the following command:
java -jar suwayomi-server.jar
  1. Access the web interface at http://localhost:4567 in your browser.
  2. Install desired extensions and start browsing manga.

For more detailed instructions and configuration options, refer to the project's documentation on GitHub.

Competitor Comparisons

6,180

Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.

Pros of Kavita

  • More comprehensive media management features, including support for ebooks and comics
  • User-friendly web interface with a modern design
  • Built-in OPDS support for easy integration with e-reader apps

Cons of Kavita

  • Larger resource footprint due to additional features
  • Steeper learning curve for initial setup and configuration
  • Less focus on manga-specific optimizations compared to Suwayomi-Server

Code Comparison

Kavita (C#):

public async Task<bool> DirectoryExists(string path)
{
    return await Task.Run(() => Directory.Exists(path));
}

Suwayomi-Server (Kotlin):

suspend fun directoryExists(path: String): Boolean = withContext(Dispatchers.IO) {
    File(path).isDirectory
}

Both examples show asynchronous directory existence checks, but Kavita uses C# with Task-based asynchronous programming, while Suwayomi-Server uses Kotlin coroutines for concurrency.

3,981

Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS and Kobo Sync support

Pros of Komga

  • More mature and stable project with a larger user base
  • Supports a wider range of comic book formats (CBZ, CBR, PDF, EPUB)
  • Better integration with external tools and services (e.g., Calibre, OPDS)

Cons of Komga

  • Limited to local files, no support for online sources
  • Heavier resource usage, especially for large libraries
  • Less customizable reading experience compared to Suwayomi-Server

Code Comparison

Komga (Java):

@GetMapping("/{bookId}/pages/{pageNumber}")
public ResponseEntity<ByteArrayResource> getBookPage(@PathVariable String bookId, @PathVariable int pageNumber) {
  return bookController.getBookPage(bookId, pageNumber);
}

Suwayomi-Server (Kotlin):

@GET("/api/v1/manga/{mangaId}/chapter/{chapterIndex}")
suspend fun getChapter(
    @Path("mangaId") mangaId: String,
    @Path("chapterIndex") chapterIndex: Int
): Response<Chapter>

Both projects use similar RESTful API structures, but Komga focuses on book-centric operations while Suwayomi-Server is manga-oriented. Komga's codebase is in Java, while Suwayomi-Server uses Kotlin, which may affect development preferences and performance characteristics.

Free and open source manga reader for Android

Pros of tachiyomiJ2K

  • More feature-rich and customizable user interface
  • Faster manga reading experience with optimized page loading
  • Integrated with a wider range of manga sources

Cons of tachiyomiJ2K

  • Limited to Android devices, unlike Suwayomi-Server's cross-platform support
  • Potentially higher resource usage due to additional features
  • Less suitable for self-hosting or server-based setups

Code Comparison

tachiyomiJ2K (Kotlin):

override fun setupNavigation() {
    binding.bottomNav.setupWithNavController(navController)
    binding.bottomNav.setOnNavigationItemReselectedListener { }
}

Suwayomi-Server (Kotlin):

fun getChapters(mangaId: Int): List<Chapter> {
    return transaction {
        Chapter.find { Chapters.manga eq mangaId }.sortedByDescending { it.sourceOrder }
    }
}

The code snippets show different aspects of the projects. tachiyomiJ2K focuses on UI navigation, while Suwayomi-Server deals with database operations for manga chapters.

Both projects use Kotlin, but their focus differs. tachiyomiJ2K is geared towards Android app development, while Suwayomi-Server is designed as a backend service for manga management and distribution.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

BuildStablePreviewSupport Server
CIstable releasepreviewDiscord

Table of Content

What is Suwayomi?

drawing

A free and open source manga reader server that runs extensions built for Mihon (Tachiyomi).

Suwayomi is an independent Mihon (Tachiyomi) compatible software and is not a Fork of Mihon (Tachiyomi).

Suwayomi-Server is as multi-platform as you can get. Any platform that runs java and/or has a modern browser can run it. This includes Windows, Linux, macOS, chrome OS, etc. Follow Downloading and Running the app for installation instructions.

You can use Mihon (Tachiyomi) to access your Suwayomi-Server. For more info look here.

Features

[!NOTE]

These are capabilities of Suwayomi-Server, the actual working support is provided by each front-end app, checkout their respective readme for more info.

  • Installing and executing Mihon (Tachiyomi)'s Extensions, So you'll get the same sources
  • Searching and browsing installed sources
  • A library to save your mangas and categories to put them into
  • Automated library updates to check for new chapters
  • Automated download of new chapters
  • Viewing latest updated chapters
  • Ability to download Manga for offline read
  • Backup and restore support powered by Mihon (Tachiyomi)-compatible Backups
  • Automated backup creations
  • Tracking via MyAnimeList, AniList, MangaUpdates
  • FlareSolverr support to bypass Cloudflare protection
  • Automated WebUI updates (supports the default WebUI and VUI)

Suwayomi client projects

You need a client/user interface app as a front-end for Suwayomi-Server, if you Directly Download Suwayomi-Server you'll get a bundled version of Suwayomi-WebUI with it.

Here's a list of known clients/user interfaces for Suwayomi-Server (checkout the respective GitHub repository for their features):

Actively Developed Clients
  • Suwayomi-WebUI: The web front-end that Suwayomi-Server ships with by default.
  • Suwayomi-VUI: A Suwayomi-Server preview focused web frontend built with svelte
  • Tachidesk-VaadinUI: A Web front-end for Suwayomi-Server built with Vaadin.
Inactive Clients (functional but outdated)
  • Tachidesk-JUI: The native desktop front-end for Suwayomi-Server.
  • Tachidesk-Sorayomi: A Flutter front-end for Desktop(Linux, windows, etc.), Web and Android with a User Interface inspired by Mihon (Tachiyomi).
Abandoned Clients (functionality unknown)
  • Tachidesk-qtui: A C++/Qt front-end for mobile devices(Android/linux), feature support is basic.
  • Tachidesk-GTK: A native Rust/GTK desktop client.
  • Equinox: A web user interface made with Vue.js.

Downloading and Running the app

Using Operating System Specific Bundles

To facilitate the use of Suwayomi we provide bundle releases that include The Java Runtime Environment, ElectronJS and the Suwayomi-Launcher.

If a bundle for your operating system or cpu architecture is not provided then refer to Advanced Methods

Windows

Download the latest win32(Windows 32-bit) or win64(Windows 64-bit) release from the releases section or a preview one from the preview repository.

Unzip the downloaded file and double-click on one of the launcher scripts.

macOS

Download the latest macOS-x64(older macOS systems) or macOS-arm64(Apple M1 and newer) release from the releases section or a preview one from the preview repository.

Unzip the downloaded file and double-click on one of the launcher scripts.

GNU/Linux

Download the latest linux-x64(x86_64) release from the releases section or a preview one from the preview repository.

tar xvf the downloaded file and double-click on one of the launcher scripts or run them using the terminal.

Other methods of getting Suwayomi

Docker

Check our Official Docker release Suwayomi Container for running Suwayomi Server in a docker container. Source code for our container is available at docker-tachidesk, an example compose file can also be found there. By default, the server will be running on http://localhost:4567 open this url in your browser.

Arch Linux

You can install Suwayomi from the AUR:

yay -S tachidesk

Debian/Ubuntu

Download the latest deb package from the release section or Install from the MPR

git clone https://mpr.makedeb.org/suwayomi-server.git
cd suwayomi-server
makedeb -si

Ubuntu

sudo add-apt-repository ppa:suwayomi/suwayomi-server
sudo apt update
sudo apt install suwayomi-server

NixOS

You can deploy Suwayomi on NixOS using the module services.suwayomi-server in your configuration:

{
  services.suwayomi-server = {
    enable = true;
  };
}

For more information, see the NixOS manual.

You can also directly use the package from nixpkgs.

Advanced Methods

Running the jar release directly

In order to run the app you need the following:

  • The jar release of Suwayomi-Server
  • The Java Runtime Environment(JRE) 8 or newer
  • A Browser like Google Chrome, Firefox, Edge, etc.
  • ElectronJS (optional)

Download the latest .jar release from the releases section or a preview jar build from the preview repository.

Make sure you have The Java Runtime Environment installed on your system, Double-click on the jar file or run java -jar Suwayomi-Server-vX.Y.Z-rxxxx.jar from a Terminal/Command Prompt window to run the app which will open a new browser window automatically.

Using Suwayomi Remotely

You can run Suwayomi on your computer or a server and connect to it remotely through one of our clients or the bundled web interface with a web browser. This method of using Suwayomi is requiring a bit of networking/firewall/port forwarding/server configuration/etc. knowledge on your side, if you can run a Minecraft server and configure it, then you are good to go.

Check out this wiki page for a guide on configuring Suwayomi-Server.

If you face issues with your setup then we are happy to provide help, just join our discord server(a discord badge is on the top of the page, you are just a click-clack away!).

Syncing With Mihon (Tachiyomi)

The Suwayomi extension and tracker

  • You can install the Suwayomi extension inside Mihon (Tachiyomi).
  • The extension will load your Suwayomi library.
  • By manipulating extension search filters you can browse your categories.
  • You can enable the Suwayomi tracker to track reading progress with your Suwayomi server.
    • Note: to sync from
      • Mihon (Tachiyomi) to Suwayomi: Mihon (Tachiyomi) automatically updates the chapters read status when it's updating the tracker (e.g. while reading)
      • Suwayomi to Mihon (Tachiyomi): To sync Mihon (Tachiyomi) with Suwayomi, you have to open the manga's track information, then, Mihon (Tachiyomi) will automatically update its chapter list with the state from Suwayomi

Other methods

Checkout this issue for tracking progress.

Troubleshooting and Support

See this troubleshooting wiki page.

Contributing and Technical info

See CONTRIBUTING.md.

Credit

This project is a spiritual successor of TachiWeb-Server, Many of the ideas and the groundwork adopted in this project comes from TachiWeb.

The AndroidCompat module was originally developed by @null-dev for TachiWeb-Server and is licensed under Apache License Version 2.0 and Copyright 2019 Andy Bao and contributors.

Parts of Mihon (Tachiyomi) is adopted into this codebase, also licensed under Apache License Version 2.0 and Copyright 2015 Javier Tomás.

You can obtain a copy of Apache License Version 2.0 from http://www.apache.org/licenses/LICENSE-2.0

Changes to both codebases is licensed under MPL v. 2.0 as the rest of this project.

License

Copyright (C) Contributors to the Suwayomi project

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.

Disclaimer

The developer of this application does not have any affiliation with the content providers available.