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
190 lines (135 loc) · 6.72 KB
/
README.md
File metadata and controls
190 lines (135 loc) · 6.72 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
<table>
<tr>
<td width="150" border="0">
<img width="150px" src="./KaizokuFrontend/public/kaizoku.net.png" alt="Kaizoku.NET"></img>
</td>
<td>
<strong>Kaizoku.NET</strong> — a community-maintained build of <a href="https://github.com/maxpiva/Kaizoku.NET">maxpiva/Kaizoku.NET</a>. Tracks upstream and lands fixes and features ahead of upstream cadence.<br/><br/>
<strong>What does it do?</strong><br/>
Subscribe to a series and Kaizoku.NET automatically downloads it. When the series is updated on any of your configured providers, new chapters are downloaded automatically — drop and forget.
</td>
</tr>
</table>
> **Lineage:** [OAE](https://github.com/oae/kaizoku) (original frontend) → [maxpiva](https://github.com/maxpiva/Kaizoku.NET) (.NET port + Mihon bridge) → this community-maintained build.
---
## 🎯 What It Does
Kaizoku.NET is a **series manager** focused on simplicity, speed, and reliability. It uses [Mihon extensions](https://github.com/mihonapp/mihon) to connect with multiple sources.
---
## ✨ Key Features
- 🧙♂️ **Startup Wizard** — Automatically imports your existing library.
- 🔁 **Temporary vs Permanent Sources**
- Chapters download from **temporary** sources only when no permanent source provides them.
- Auto-deleted if a **permanent** source later provides them.
- 🔎 **Multi-Search & Multi-Linking** — Link a single series to multiple sources.
- 📥 **Automatic Downloads, Retries, and Rescheduling**
- 🔄 **Auto-Updates** — Extensions stay current.
- 🧹 **Filename Normalization** — Consistent naming for easy reimport.
- 🧾 **ComicInfo.xml Injection** — Chapters include rich metadata from the original source.
- 🖼️ **Extras**
- `cover.jpg` per series
- `kaizoku.json` for full metadata mapping
- And more.
---
## 🛠️ Under the Hood
- **Frontend**: Next.js UI originally derived from [Kaizoku Next by OAE](https://github.com/oae/kaizoku/tree/next), with significant redesign in this build.
- **Backend**: .NET engine that manages schedules, downloads, and metadata, with a Mihon Bridge for running Mihon Android extensions on .NET.
---
## 🤔 Running Android libraries on .NET — how?
Mihon extensions are distributed as Android APKs and require an Android runtime. To bridge that gap:
1. The Java/Android compatibility layer originally created by the [Suwayomi](https://github.com/Suwayomi/Suwayomi-Server) team is adapted (KCEF replaced with JCEF Maven) into a Java 8 Android compat layer with required dependencies included.
2. [IKVM](https://github.com/ikvmnet/ikvm) runs that compatibility layer on .NET.
---
## 🐳 Docker
Images are published to GitHub Container Registry for both `amd64` and `arm64`:
```
ghcr.io/quickkill0/kaizoku.net:main
```
### 📁 Volumes
| Container Path | Description |
|----------------|----------------------------|
| `/config` | Application configuration |
| `/series` | Downloaded series |
### 🌐 Ports
| Port | Service | Required | Notes |
|-------|----------------|----------|---------------|
| 9833 | Kaizoku.NET UI | ✅ | Web interface |
### 👤 Permissions
| Variable | Default | Description |
|----------|---------|-----------------------|
| `UID` | 99 | Host user ID |
| `PGID` | 100 | Host group ID |
| `UMASK` | 022 | File permission mask |
Ensure the specified UID and PGID have write access to your mounted `/config` and `/series` directories.
### 🌐 Network Mode
Host networking is recommended for optimal performance under heavy parallel downloading and provider querying.
### 🚀 Run
```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 \
ghcr.io/quickkill0/kaizoku.net:main
```
Replace `/path/to/your/config` and `/path/to/your/series` with real paths on your host.
---
## 📦 Docker Compose
```yaml
services:
kaizoku-net:
container_name: kaizoku-net
image: 'ghcr.io/quickkill0/kaizoku.net:main'
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>ghcr.io/quickkill0/kaizoku.net:main</Repository>
<Registry>https://github.com/Quickkill0/Kaizoku.NET/pkgs/container/kaizoku.net</Registry>
<Network>host</Network>
<MyID>kaizoku-net</MyID>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://github.com/Quickkill0/Kaizoku.NET/issues</Support>
<Project>https://github.com/Quickkill0/Kaizoku.NET</Project>
<Overview>Community-maintained build of Kaizoku.NET — a feature-complete series manager powered by Mihon extensions.</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/Quickkill0/Kaizoku.NET/main/unraid/kaizoku-net.xml</TemplateURL>
<Icon>https://raw.githubusercontent.com/Quickkill0/Kaizoku.NET/main/KaizokuFrontend/public/kaizoku.net.png</Icon>
</Container>
```
---
## 🖥️ Desktop App
A tray application based on Avalonia is available in the [Releases](https://github.com/Quickkill0/Kaizoku.NET/releases). Currently tested on **Windows**. Linux and macOS testing is welcome.
---
## 🧱 Build From Source
Build instructions are in progress. Until they land, see the workflows in `.github/workflows/` for the canonical build steps used by CI.
---
## ⚠️ Resource Usage
Kaizoku.NET can be memory-intensive when managing large libraries or running many parallel searches and downloads. Plan resources accordingly.
---
## ⚙️ Issues
If you encounter problems, check the `logs` folder. Logs there can be reviewed or attached when reporting an issue.
---
## 🤝 Contributing
PRs are welcome. For larger changes, open an issue first to discuss scope.