forked from maxpiva/Kaizoku.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.md
More file actions
245 lines (164 loc) · 8.1 KB
/
README.md
File metadata and controls
245 lines (164 loc) · 8.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# Kaizoku.NET 2.0
> [!WARNING]
> The current main branch no longer uses or includes Suwayomi.
> You can test using the **2.0** pre-release Docker tag, but make sure to back up your configuration directory (including the database), as everything will be rewritten.
>
> The migration process has been working so far, but as always, proceed with caution.
>
> We are currently fixing remaining bugs and minor issues before the final 2.0 release. There is no formal 2.0 release available yet.
>
> [2.0 Announcement](https://github.com/maxpiva/Kaizoku.NET/discussions/23)
https://github.com/user-attachments/assets/ac0af0eb-5b4a-4377-b777-9fcafbc329ae
Video has brigthness issues, blame Microsoft.
<table>
<tr>
<td width="150" border="0">
<img width="150px" src="./KaizokuFrontend/public/kaizoku.net.png" alt="Kaizoku"></img>
</td>
<td>
<strong>Kaizoku.NET</strong> is a modern fork of the original <strong>Kaizoku</strong> and <strong>Kaizoku Next Gen</strong> by OAE, built to fill the void and bring a streamlined series manager back to life.<br/>
<strong>What does it do?</strong> <br/>
When you subscribe to a series, it will automatically download it. Whenever the series is updated in any of your configured providers, new chapters will be downloaded automatically, in a “drop and forget” fashion.
</td>
</tr>
</table>
This is a **feature-complete** application (not a preview). While it may contain bugs, it *definitely doesn’t contain spiders*, yet.
---
## 🎯 What It Does
Kaizoku.NET is a **series manager** that prioritizes simplicity, speed, and reliability, just like the original Kaizoku, but with powerful new features under the hood.
It uses the power of **MIHON extensions** to connect with multiple sources.
---
## ✨ Key Features
- 🧙♂️ **Startup Wizard**
Automatically imports your existing library.
- 🔁 **Temporary vs Permanent Sources**
- Chapters are only downloaded from **temporary** sources when there is no permanent sources
- Auto-deleted if a **permanent** source later provides them.
- 🔎 **Multi-Search & Multi-Linking**
Search and link one series to **multiple sources/providers**.
- 📥 **Automatic Downloads, Retries, and Rescheduling**
- 🔄 **Auto-Updates**
Extensions are kept up to date.
- 🧹 **Filename Normalization**
Rebuild your library easily with consistent naming, that will help you reimport it back when needed.
- 🧾 **ComicInfo.xml Injection**
Chapters include rich metadata from the original source.
- 🖼️ **Extras**
- `cover.jpg` per series
- `kaizoku.json` for full metadata mapping
- And much more...
---
## 🛠️ Under the Hood
Kaizoku.NET is composed of:
- **Frontend**: A beautiful UI forked from [Kaizoku Next by OAE](https://github.com/oae/kaizoku/tree/next) (Next.js).
- **Backend**: A custom .NET engine that manages schedules, downloads, and metadata, with a Mihon Bridge that enables the use of Mihon Android extensions.
---
## ⚙️ Issues
- If you encounter any issues, check the `logs` folder. You can review the logs there or upload them to share feedback.
## 🤔 Running Android libraries on .NET, is that possible?
Only the **MIHON** extensions are actively maintained, and they are distributed as Android APKs. So we need to hack around that!
By leveraging the Java/Android bridge originally created by the [Suwayomi](https://github.com/Suwayomi/Suwayomi-Server) team, and adapting parts of it to fit our use case, including replacing KCEF with JCEF Maven we can generate a Java 8 Android compatibility layer with all required Java dependencies included.
Then use [IKVM](https://github.com/ikvmnet/ikvm) to run this on .NET.
---
## 🐳 Docker Support
- Available for both `amd64` and `arm64`.
### 📁 Volumes
| Container Path | Description |
|----------------|----------------------------------|
| `/config` | Stores application configuration |
| `/series` | Stores series |
---
### 🌐 Ports
| Port | Service | Required | Notes |
|-------|------------------|----------|------------------------------|
| 9833 | Kaizoku.NET UI | ✅ | Web interface |
---
### 👤 Permissions
| Variable | Value | Description |
|----------|-------|--------------------------------|
| `UID` | 99 | Host user ID |
| `PGID` | 100 | Host group ID |
| `UMASK` | 022 | File permission mask (default) |
> Ensure the specified UID and PGID have write access to your mounted `/config` and `/series` directories.
---
### 🌐 Network Mode
It is recommended to use **host networking** for optimal performance when downloading a lot and querying multiple providers in parallel.
---
### 🚀 Example: One-Liner Run Command
```bash
docker run -d \
--name kaizoku-net \
--network host \
-p 9833:9833 \
-e UID=99 \
-e PGID=100 \
-e UMASK=022 \
-v /path/to/your/config:/config \
-v /path/to/your/series:/series \
maxpiva/kaizoku-net:latest
```
Replace /path/to/your/config and /path/to/your/series with real paths on your host.
---
## Docker Compose Example
```yaml
services:
kaizoku-net:
container_name: kaizoku-net
image: 'maxpiva/kaizoku-net:latest'
volumes:
- '/path/to/your/series:/series'
- '/path/to/your/config:/config'
environment:
- UMASK=022
- PGID=100
- UID=99
ports:
- '9833:9833'
```
---
## 🐳 Unraid Template
```xml
<Container>
<Name>Kaizoku.NET</Name>
<Repository>maxpiva/kaizoku-net:latest</Repository>
<Registry>https://hub.docker.com/r/maxpiva/kaizoku-net</Registry>
<Network>host</Network>
<MyID>kaizoku-net</MyID>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://github.com/maxpiva/kaizoku-net/issues</Support>
<Project>https://github.com/maxpiva/kaizoku-net</Project>
<Overview>Kaizoku.NET – a feature-complete series manager powered by Suwayomi extensions. Forked from Kaizoku Next by OAE.</Overview>
<Category>MediaManager:Comics</Category>
<Config Name="Config Folder" Target="/config" Default="/mnt/user/appdata/kaizoku-net" Mode="rw" Description="Path to store configuration, database, and settings." Type="Path" />
<Config Name="Series Folder" Target="/series" Default="/mnt/user/media/series" Mode="rw" Description="Path where series and chapters will be downloaded." Type="Path" />
<Config Name="UID" Target="UID" Default="99" Mode="rw" Description="User ID to run the container as." Type="Variable" />
<Config Name="PGID" Target="PGID" Default="100" Mode="rw" Description="Group ID to run the container as." Type="Variable" />
<Config Name="UMASK" Target="UMASK" Default="022" Mode="rw" Description="UMASK for file permissions." Type="Variable" />
<WebUI>http://[IP]:9833</WebUI>
<TemplateURL>https://raw.githubusercontent.com/maxpiva/kaizoku-net/main/unraid/kaizoku-net.xml</TemplateURL>
<Icon>https://raw.githubusercontent.com/maxpiva/Kaizoku.NET/refs/heads/main/KaizokuFrontend/public/kaizoku.net.png</Icon>
</Container>
```
---
## 🖥️ Desktop App
- A **tray application** based on Avalonia is available in the [Releases](https://github.com/maxpiva/Kaizoku.NET/releases).
- Currently tested only on **Windows**. Testers for Linux and macOS are welcome, as I’m unable to verify it myself.
---
## 🧱 Build It Yourself
It should be straightforward to build.
Documentation coming soon™ (once laziness subsides).
---
## ⚠️ Resource Usage
Be aware: **Kaizoku.NET** can be **memory-intensive**, especially when managing large libraries or doing parallel searches and downloads.
---
## 🤝 Contributing
### Frontend Devs ! You're Needed 🙏
Help clean up the mess left behind by our overenthusiastic friend, GitHub Copilot.
### Backend Devs ! PRs Welcome
This was a **rushed 1-month project**. There are known race conditions and an import system that’s... let’s say *aggressively functional*.
PRs are welcome to improve stability and architecture.
---
## 🏴☠️ Brace Yourself
This app *just works™* until it doesn't. But it's here.
Start managing your series with the style it deserves.