MCPcopy
hub / github.com/Suwayomi/Suwayomi-Server

github.com/Suwayomi/Suwayomi-Server @v2.3.2230 sqlite

repository ↗ · DeepWiki ↗ · release v2.3.2230 ↗
6,067 symbols 10,787 edges 280 files 2,167 documented · 36%
README
Build Stable Preview Support Server
CI stable release preview Discord

Table of Contents

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, etc.
  • FlareSolverr support to bypass Cloudflare protection
  • Automated WebUI updates (supports the default WebUI and VUI)
  • OPDS and OPDS-PSE support (endpoint: /api/opds/v1.2)

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):

Integrated clients

These clients are built-in options, and the server can keep them automatically up-to-date.

Other clients (potentially inactive or abandoned)
  • Tachidesk-VaadinUI: Desktop app (windows, linux, mac); UI in the browser, manages its own suwayomi server instance
  • Moku: Desktop app (windows, linux, mac), can manage its own suwayomi server instance
  • Tachidesk-JUI: Desktop app (windows, linux, mac); can manage its own suwayomi server instance
  • Tachidesk-Sorayomi: Web app; Desktop app (windows, linux, mac); Android app; requires access to a running server
  • Tachidesk-qtui: Android app; iOS app Desktop app (linux); requires access to a running server
  • Suwayomi Client for KOReader: KOReader plugin; works anywhere KOReader can run (Android, Kindle, Kobo, etc.); requires access to a running server

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 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.

WebView support (GNU/Linux)

WebView support is implemented via JCEF. This is optional, and is only necessary to support some extensions.

To have a functional WebView, some X11 dependencies are required for rendering Chromium. These include libxrender, libxcomposite libxdamage, libxkbcommon and libxtst.

A CEF server is launched on startup, which loads the X11 libraries. If those are missing, you should see "Could not load 'jcef' library". If so, use ldd ~/.local/share/Tachidesk/bin/kcef/libjcef.so | grep not to figure out which libraries are not found on your system.

Refer to the Dockerfile for more details.

Note that it is required to have an X session active and available to Suwayomi (i.e. DISPLAY is set). It is not enough to have WAYLAND_DISPLAY, if your environment does not provide xwayland (or if you run Suwayomi as a service), you need to use a tool like Xvfb. The Dockerfile linked above also does this.

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 suwayomi-server-bin

Debian/Ubuntu

Download the latest deb package from the release section.

[!CAUTION] These options are outdated and unmaintained (relevant issue)

MPR

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

Ubuntu

sudo add-apt-repository ppa:suwayomi/tachidesk-server sudo apt update sudo apt install tachidesk-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) 21 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) and Neko

The Suwayomi extension and tracker

  • You can install and configure the Suwayomi extension inside Mihon (Tachiyomi) and forks.
  • 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

The Suwayomi merge source in Neko

  • You can enable the Suwayomi source in the Merge Source settings
  • You can merge titles in Neko with titles from your Suwayomi library.
  • You can enable 2-way automatic sync to track reading progress with your Suwayomi server.
  • Note: only applies to merged titles
    • Neko automatically updates the chapters read status in Suwayomi
    • During updates, Neko will automatically update its chapter list with the read state from Suwayomi
    • This only pulls if the status is read, to prevent marking read chapters as unread in Neko

Other methods

Checkout this issue for tracking progress.

Troubleshooting and Support

See this troubleshooting wiki page.

Contributing and Technical info

See CONTRIBUTING.md.

Translation

Feel free to translate the project on [

Extension points exported contracts — how you extend this code

Parcelable (Interface)
Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Pa [40 implementers]
AndroidCompat/src/main/java/android/os/Parcelable.java
Creator (Interface)
Interface that must be implemented and provided as a public CREATOR field that generates instances of your Parcelable cl [20 …
AndroidCompat/src/main/java/android/os/Parcelable.java
ClassLoaderCreator (Interface)
Specialization of Creator that allows you to receive the ClassLoader the object is being created in. [20 implementers]
AndroidCompat/src/main/java/android/os/Parcelable.java
Tracker (Interface)
Interface to allow customization of tracking behaviour. This is only intended for use by {@code dalvik.system.CloseG [4 …
AndroidCompat/src/main/java/dalvik/system/CloseGuard.java
ComponentCallbacks2 (Interface)
Extended ComponentCallbacks interface with a new callback for finer-grained memory management. This interface is [4 implementers]
AndroidCompat/src/main/java/android/content/ComponentCallbacks2.java

Core symbols most depended-on inside this repo

add
called by 342
AndroidCompat/src/main/java/libcore/net/MimeUtils.java
append
called by 331
AndroidCompat/src/main/java/android/util/ArrayMap.java
put
called by 122
AndroidCompat/src/main/java/android/util/LruCache.java
length
called by 106
AndroidCompat/src/main/java/android/text/Html.java
checkThread
called by 95
AndroidCompat/src/main/java/android/webkit/WebView.java
unparcel
called by 93
AndroidCompat/src/main/java/android/os/BaseBundle.java
substring
called by 84
AndroidCompat/src/main/java/android/text/TextUtils.java
charAt
called by 63
AndroidCompat/src/main/java/android/text/Html.java

Shape

Method 5,704
Class 276
Interface 65
Enum 22

Languages

Java100%

Modules by API surface

AndroidCompat/src/main/java/android/view/View.java960 symbols
AndroidCompat/src/main/java/android/view/ViewGroup.java306 symbols
AndroidCompat/src/main/java/android/webkit/WebView.java201 symbols
AndroidCompat/src/main/java/android/net/Uri.java198 symbols
AndroidCompat/src/main/java/android/content/pm/PackageManager.java170 symbols
AndroidCompat/src/main/java/android/webkit/WebViewProvider.java163 symbols
AndroidCompat/src/main/java/xyz/nulldev/androidcompat/androidimpl/FakePackageManager.java151 symbols
AndroidCompat/src/main/java/android/text/Layout.java146 symbols
AndroidCompat/src/main/java/android/graphics/Paint.java137 symbols
AndroidCompat/src/main/java/android/net/ConnectivityManager.java136 symbols
AndroidCompat/src/main/java/android/webkit/WebSettings.java127 symbols
AndroidCompat/src/main/java/android/content/Context.java124 symbols

Datastores touched

suwayomiDatabase · 1 repos

For agents

$ claude mcp add Suwayomi-Server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact