.github | ||
AndroidCompat | ||
gradle/wrapper | ||
server | ||
webUI | ||
.gitattributes | ||
.gitignore | ||
build.gradle.kts | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle.kts |
Tachidesk
A free and open source manga reader that runs extensions built for Tachiyomi.
Tachidesk is as multi-platform as you can get. Any platform that runs java and/or has a modern browser can run it.
Ability to read and write Tachiyomi compatible backups and syncing is a planned feature.
Is this application usable? Should I test it?
Here is a list of current features:
- Installing and executing Tachiyomi's Extensions, So you'll get the same sources.
- A library to save your mangas and categories to put them into.
- Searching and browsing installed sources.
- A decent chapter reader.
- Ability to download Mangas for offline read(This partially works)
Note: Keep in mind that Tachidesk is alpha software and can break rarely and/or with each update, so you may have to delete your data to fix it. See General troubleshooting and Support and help if it happens.
Anyways, for more info checkout finished milestone #1 and milestone #2 to see what's implemented in more detail.
Downloading and Running the app
All Operating Systems
You should have The Java Runtime Environment(JRE) 8 or newer and a modern browser installed. Also an internet connection is required as almost everything this app does is downloading stuff.
Download the latest jar release from the releases section.
Double click on the jar file or run java -jar Tachidesk-vX.Y.Z-rxxx.jar
from a Terminal/Command Prompt window to run the app which will open a new browser window automatically. Also the System Tray Icon is your friend if you need to open the browser window again or close Tachidesk.
Windows
Download the latest win32 release from the releases section.
The Windows specific build has java bundled inside, so you don't have to install java to use it. Unzip Tachidesk-vX.Y.Z-rxxx-win32.zip
and run server.exe
. The rest works like the previous section.
Arch Linux
You can install Tachidesk from the AUR
yay -S tachidesk
Docker
Check arbuilder's repo out for more details and the dockerfile.
General troubleshooting
If the app breaks try deleting the directory below and re-running the app (This will delete all your data!) and if the problem persists open an issue.
On Mac OS X : /Users/<Account>/Library/Application Support/Tachidesk
On Windows XP : C:\Documents and Settings\<Account>\Application Data\Local Settings\Tachidesk
On Windows 7 and later : C:\Users\<Account>\AppData\Local\Tachidesk
On Unix/Linux : /home/<account>/.local/share/Tachidesk
Support and help
Join Tachidesk's discord server to hang out with the community and receive support and help.
How does it work?
This project has two components:
- server: contains the implementation of tachiyomi's extensions library and uses an Android compatibility library to run apk extensions. All this concludes to serving a REST API to
webUI
. - webUI: A react SPA project that works with the server to do the presentation.
Building from source
Prerequisite: Get Android stubs jar
Manual download
Download android.jar and put it under AndroidCompat/lib
.
Automated download(needs bash
, curl
, base64
, zip
to work)
Run AndroidCompat/getAndroid.sh
(MacOS/Linux) or AndroidCompat/getAndroid.ps1
(Windows) from project's root directory to download and rebuild the jar file from Google's repository.
Prerequisite: Software dependencies
You need this software packages installed in order to build this project:
- Java Development Kit and Java Runtime Environment version 8 or newer(both Oracle JDK and OpenJDK works)
- Nodejs LTS or latest
- Yarn
building the full-blown jar
Run ./gradlew :webUI:copyBuild server:shadowJar
, the resulting built jar file will be server/build/Tachidesk-vX.Y.Z-rxxx.jar
.
building without webUI
bundled(server only)
Delete the server/src/main/resources/react
directory if exists from previous runs, then run ./gradlew server:shadowJar
, the resulting built jar file will be server/build/Tachidesk-vX.Y.Z-rxxx.jar
.
building the Windows package
Run ./gradlew :server:windowsPackage
to build a server only bundle and ./gradlew :webUI:copyBuild :server:windowsPackage
to get a full bundle , the resulting built zip package file will be server/build/Tachidesk-vX.Y.Z-rxxx-win32.zip
.
Running for development purposes
server
module
Follow Get Android stubs jar then run ./gradlew :server:run --stacktrace
to run the server
webUI
module
How to do it is described in webUI/react/README.md
but for short,
first cd into webUI/react
then run yarn
to install the node modules(do this only once)
then yarn start
to start the development server, if a new browser window doesn't get opned automatically,
then open http://127.0.0.1:3000
in a modern browser. This is a create-react-app
project
and supports HMR and all the other goodies you'll need.
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
.
Parts of tachiyomi is adopted into this codebase, also licensed under Apache License Version 2.0
.
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/.