You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Chytanka** is a versatile and user-friendly PWA for reading manga, comics, and other visual stories. Whether you prefer to read from popular online platforms, your own server, or local files, Chytanka is here to enhance your reading experience.
3
+
**Chytanka** is a lightweight, privacy-friendly PWA for reading manga, comics, and visual stories — from online sources, your own server, or local files.
4
+
5
+
No accounts. No tracking. Just reading.
6
+
7
+
## 🚀 Get Started
8
+
9
+
👉 [https://chytanka.ink](https://chytanka.ink)
10
+
11
+
## ⚡ Why Chytanka?
12
+
13
+
- 🌍 Open anything — links, APIs, or local files
14
+
- 📂 No uploads — your files stay on your device
15
+
- 🧠 Smart behavior — auto-detect reading mode via tags
16
+
- 🎮 Gamepad ready — full control without mouse
17
+
- 🌓 Comfort first — night filter, fullscreen, responsive
> If multiple tags are present, the first matched tag wins.
196
+
197
+
##### 🔞 Content Flags
198
+
199
+
| Tag | Effect |
200
+
| -------- | --------------------- |
201
+
|`[nsfw]`| Marks episode as NSFW |
202
+
|`[sfw]`| (Reserved / optional) |
203
+
204
+
##### 🎨 Additional Tags (for future use)
205
+
206
+
These tags are parsed but may be used later:
207
+
208
+
-`[color]` – colored pages
209
+
-`[bw]` – black & white
210
+
-`[demo]` – demo content
211
+
-`[extra]` – bonus materials
212
+
213
+
#### ⚙️ How It Works
214
+
215
+
- Tags are case-insensitive
216
+
- Tags are detected as standalone words (e.g. rtl, not ultra)
217
+
- Parsed automatically from:
218
+
- file name
219
+
- episode title
220
+
221
+
#### 💡 Example
222
+
223
+
```
224
+
Attack on Titan - Chapter 1 [rtl][nsfw].cbz
225
+
```
226
+
227
+
Result:
228
+
229
+
- View mode → Right-to-left
230
+
- NSFW flag → enabled
231
+
232
+
#### 🧠 Notes
233
+
234
+
-*Tags are processed on episode load*
235
+
-*They override default viewer settings*
236
+
-*Designed for compatibility with local files (.cbz, .zip) and remote sources*
237
+
141
238
### 🖇️ **Embed Chytanka on Your Website**
142
239
143
-
Embed Chytanka using an iframe and interact with it via `postMessage`. Learn more in the [Embedding Guide](https://github.com/chytanka/chytanka.github.io/wiki/Embedding-Chytanka-on-Your-Website).
240
+
You can embed Chytanka into your website and control it via `postMessage`.
241
+
242
+
Perfect for:
243
+
244
+
- manga sites
245
+
- blogs
246
+
- personal collections
247
+
248
+
Learn more in the [Embedding Guide](https://github.com/chytanka/chytanka.github.io/wiki/Embedding-Chytanka-on-Your-Website).
144
249
145
250
---
146
251
147
-
## Development server
252
+
## 🛠️ Development
148
253
149
-
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
254
+
Chytanka requires a proxy server for handling some external sources.
> ⚠️ *Important*: Both Chytanka and the proxy must run on the *same host.*
152
258
153
-
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
259
+
### ▶️ Run locally on Windows
154
260
155
-
## Build
261
+
```bash
262
+
# Start proxy on the same host
263
+
set NODE_ENV=dev&&set HOST=192.168.0.0 && node index.js
264
+
```
265
+
266
+
```bash
267
+
# Start Chytanka app
268
+
ng serve --host 192.168.0.0
269
+
```
156
270
157
-
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
271
+
### 💡 Notes
158
272
159
-
## Running unit tests
273
+
-*The proxy handles CORS and headers for external image sources.*
274
+
-*Make sure both services use the same host IP (e.g., 192.168.0.0).*
275
+
-*Adjust the host if your network requires a different local IP.*
160
276
161
-
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
277
+
### 🧠 Why a Proxy?
162
278
163
-
## Running end-to-end tests
279
+
- Bypasses CORS restrictions from image hosts
280
+
- Normalizes headers
281
+
- Ensures safe and consistent fetching of external content
164
282
165
-
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
283
+
## 🔗 Other Chytanka Projects
166
284
167
-
## Further help
285
+
Chytanka is more than just a reader — it’s an ecosystem. Check out these companion projects:
168
286
169
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|**Meta Image Generator**| Generates social preview images (meta tags) for episodes |[chytanka-meta-image](https://github.com/chytanka/chytanka-meta-image)|
290
+
|**Chytanka Helper**| Browser extension: adds a button to open supported site links directly in Chytanka |[chytanka-helper](https://github.com/chytanka/chytanka-hepler)|
291
+
|**Opera GX Theme**| Custom theme for Opera GX tailored to Chytanka |[chytanka-gx-mod](https://github.com/chytanka/chytanka-gx-mod)|
292
+
|**Chytanka Make**| Create and edit CBZ files from images, reorder pages, add metadata |[chytanka-make](https://github.com/chytanka/chytanka-make)|
0 commit comments