.github | ||
AndroidCompat | ||
gradle/wrapper | ||
scripts | ||
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.
How do I run the thing?
Prerequisites
You should have java 8 or newer and a modern browser installed. Also an internet connection is required as almost everything this app does is downloading stuff.
Running pre-built jar packages
Download the latest (or a working more stable) release from the repo branch or obtain it from the releases section.
Double click on the jar file or run java -jar Tachidesk-latest.jar
or java -jar Tachidesk-vX.Y.Z-rxxx.jar
The server will be running on http://localhost:4567
open this url in your browser.
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
Get Android stubs jar
Manual download
Download android.jar and put it under AndroidCompat/lib
.
Building from source(needs bash
, curl
, base64
, zip
to work)
Run scripts/getAndroid.sh
from project's root directory to download and rebuild the jar file from Google's repository.
building the jar
Run ./gradlew shadowJar
the resulting built jar file will be server/build/Tachidesk-vX.Y.Z-rxxx.jar
.
Running for development purposes
server
module
Run ./gradlew :server:run -x :webUI:copyBuild --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 client if a new browser window doesn't start 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.
Is this application usable? Should I test it?
If you'd ask me, I'd tell you If you want to read your manga online from tachiyomi or in one place and bypass all the ads, you can use Tachidesk.
There are almost no quality of life features, including no library, no downloading for offline enjoyment and sadly no MangaDex search.
Anyways, for more info checkout finished milestone #1 and milestone #2 to see what's implemented.
Credit
The AndroidCompat
module and scripts/getAndroid.sh
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
.
Changes to both codebases is licensed under MPL v. 2.0
as the rest of this project.
You can obtain a copy of the license from http://www.apache.org/licenses/LICENSE-2.0
License
Copyright (C) 2020-2021 Aria Moradi and contributors
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/.