2020-12-24 13:01:21 +01:00
# Tachidesk
2021-01-22 08:43:25 +01:00
A free and open source manga reader that runs extensions built for [Tachiyomi ](https://tachiyomi.org/ ).
2021-01-22 08:55:11 +01:00
Tachidesk is as multi-platform as you can get. Any platform that runs java and/or has a modern browser can run it.
2020-12-24 13:01:21 +01:00
2021-01-21 22:04:49 +01:00
Ability to read and write Tachiyomi compatible backups and syncing is a planned feature.
2020-12-24 13:01:21 +01:00
## How do I run the thing?
2021-01-22 21:53:40 +01:00
#### 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.
2021-01-21 21:53:53 +01:00
#### Running pre-built jar packages
2021-01-22 00:09:24 +01:00
Download the latest (or a working more stable) release from [the repo branch ](https://github.com/AriaMoradi/Tachidesk/tree/repo ) or obtain it from [the releases section ](https://github.com/AriaMoradi/Tachidesk/releases ).
2021-01-21 21:53:53 +01:00
2021-01-21 23:10:47 +01:00
Double click on the jar file or run `java -jar Tachidesk-latest.jar` or `java -jar Tachidesk-vX.Y.Z-rxxx.jar`
2021-01-21 21:53:53 +01:00
The server will be running on `http://localhost:4567` open this url in your browser.
2021-01-28 12:38:37 +01:00
#### Running on Docker
Check [arbuilder's repo ](https://github.com/arbuilder/Tachidesk-docker ) out for more details and the dockerfile.
2021-01-22 21:53:40 +01:00
2021-01-21 21:53:53 +01:00
## Building from source
### Get Android stubs jar
2021-01-19 19:10:44 +01:00
#### Manual download
Download [android.jar ](https://raw.githubusercontent.com/AriaMoradi/Tachidesk/android-jar/android.jar ) and put it under `AndroidCompat/lib` .
#### Building from source(needs `bash`, `curl`, `base64`, `zip` to work)
2021-01-21 21:53:53 +01:00
Run `scripts/getAndroid.sh` from project's root directory to download and rebuild the jar file from Google's repository.
2021-01-20 00:47:43 +01:00
### building the jar
2021-01-21 23:10:47 +01:00
Run `./gradlew shadowJar` the resulting built jar file will be `server/build/Tachidesk-vX.Y.Z-rxxx.jar` .
2021-01-21 23:15:14 +01:00
## Running for development purposes
2021-01-21 21:53:53 +01:00
### `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,
2020-12-24 20:06:39 +01:00
first cd into `webUI/react` then run `yarn` to install the node modules(do this only once)
2020-12-24 13:16:42 +01:00
then `yarn start` to start the client if a new browser window doesn't start automatically,
2021-01-22 00:09:24 +01:00
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.
2020-12-24 13:01:21 +01:00
2021-01-21 21:53:53 +01:00
## Is this application usable? Should I test it?
2021-01-22 21:53:40 +01:00
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.
2021-01-22 21:58:32 +01:00
There are almost no quality of life features, including no library, no downloading for offline enjoyment and sadly no MangaDex search.
2021-01-22 21:53:40 +01:00
Anyways, for more info checkout [finished milestone #1 ](https://github.com/AriaMoradi/Tachidesk/issues/2 ) and [milestone #2 ](https://github.com/AriaMoradi/Tachidesk/projects/1 ) to see what's implemented.
2020-12-25 01:05:23 +01:00
2021-01-28 12:38:37 +01:00
## How does it work?
This project has two components:
1. **server:** contains the implementation of [tachiyomi's extensions library ](https://github.com/tachiyomiorg/extensions-lib ) and uses an Android compatibility library to run apk extensions. All this concludes to serving a REST API to `webUI` .
2. **webUI:** A react SPA project that works with the server to do the presentation.
2021-01-21 11:11:03 +01:00
## Credit
2021-01-21 11:28:49 +01:00
The `AndroidCompat` module and `scripts/getAndroid.sh` was originally developed by [@null-dev ](https://github.com/null-dev ) for [TachiWeb-Server ](https://github.com/Tachiweb/TachiWeb-server ) and is licensed under `Apache License Version 2.0` .
2021-01-21 11:12:17 +01:00
Parts of [tachiyomi ](https://github.com/tachiyomiorg/tachiyomi ) is adopted into this codebase, also licensed under `Apache License Version 2.0` .
2021-01-21 11:11:03 +01:00
2021-01-29 16:41:38 +01:00
You can obtain a copy of `Apache License Version 2.0` from http://www.apache.org/licenses/LICENSE-2.0
2021-01-26 20:37:54 +01:00
2021-01-29 16:41:38 +01:00
Changes to both codebases is licensed under `MPL v. 2.0` as the rest of this project.
2021-01-26 20:32:04 +01:00
2020-12-24 13:01:21 +01:00
## License
2021-01-21 11:28:15 +01:00
Copyright (C) 2020-2021 Aria Moradi and contributors
2020-12-24 13:01:21 +01:00
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
2021-01-03 00:46:17 +01:00
file, You can obtain one at http://mozilla.org/MPL/2.0/.