目次 - manga tracker
  • Go 85.6%
  • HTML 14%
  • JavaScript 0.2%
  • Makefile 0.2%
Find a file
Kendry Grullón 04e305656d
All checks were successful
Deploy mokuji / deploy (push) Successful in 11s
404: quita CTA 'buscar manga' redundante (search vive en /library)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 18:53:06 -04:00
.forgejo/workflows revertir step de tests en deploy.yml (runner lo cancela) 2026-05-23 22:53:12 -04:00
docs docs: plan de implementación onboarding full-screen + búsqueda unificada 2026-06-04 14:47:43 -04:00
internal library: search unificado en /library (biblioteca + catálogo) 2026-06-04 18:43:29 -04:00
migrations migrations/0012: digest_frequency + onboarded_at 2026-05-25 00:24:08 -04:00
web 404: quita CTA 'buscar manga' redundante (search vive en /library) 2026-06-04 18:53:06 -04:00
.air.toml agregar versión inyectada (VERSION, /version, footer) 2026-05-15 12:50:47 -04:00
.env.example docs: documentar MANGADEX_ENABLED y comportamiento all-off 2026-05-26 21:20:04 -04:00
.gitignore v0.7 final review fixes (3 críticos) 2026-05-25 07:45:45 -04:00
compose.yaml inicializar mokuji: docs de diseño + runner de migraciones + schema 0001 2026-05-13 00:33:11 -04:00
CONTRIBUTING.md docs: CONTRIBUTING con setup local, commits, ADR y voz 2026-05-25 21:37:22 -04:00
go.mod agregar rate limiting en /auth/start y /auth/verify 2026-05-13 20:07:31 -04:00
go.sum agregar rate limiting en /auth/start y /auth/verify 2026-05-13 20:07:31 -04:00
LICENSE agregar LICENSE (AGPL-3.0), SECURITY.md y ADR 0011 2026-05-13 20:13:21 -04:00
main.go auth: circuit breaker global de OTP contra email bombing (v1.0.4) 2026-06-04 13:07:49 -04:00
Makefile agregar versión inyectada (VERSION, /version, footer) 2026-05-15 12:50:47 -04:00
README.md docs: README rico v1.0 — hero, sources, stack, links a self-host y CONTRIBUTING 2026-05-25 21:39:29 -04:00
SECURITY.md copy: sweep voseo en README y SECURITY (dominicano) 2026-05-25 21:11:03 -04:00
VERSION auth: circuit breaker global de OTP contra email bombing (v1.0.4) 2026-06-04 13:07:49 -04:00

mokuji — una biblioteca para tu manga

mokuji

Una biblioteca pública y self-hostable para tu manga. Cataloga, sigue capítulos nuevos, enlaza a la fuente. Sin algoritmos.

version license Go

🏠 Instancia pública: mokuji.org 📖 Código: git.odin.do/kengru/mokuji

Qué hace

  • Biblioteca privada. Cataloga manga con estado (leyendo / por leer / completado), favoritos, y exporta a JSON cuando quieras.
  • Releases multi-source. Matchea automáticamente contra MangaDex, Asura Scans y Comick. Cuando hay capítulo nuevo aparece en /releases con link directo al reader.
  • Digest por email opt-in. Semanal por default (domingos), diario si lo pides, o apagado. Nunca predatory, sin "engagement tricks".
  • Perfil público opcional. En /u/{handle} si decides hacerlo visible; privado por default.

Stack

Go (stdlib net/http) + SQLite (vía modernc.org/sqlite, sin CGO) + html/template server-rendered + vanilla JS. Un solo binario estático ~13 MB. Email outbound vía SMTP. PWA instalable. Sin Docker requerido, sin base de datos externa, sin Redis, sin Node. Detalle por capa en docs/adr/.

Sources

Source Estado Notas
MangaDex siempre on API pública oficial.
Asura Scans opt-in default on Scanlation. Apaga con ASURA_ENABLED=false.
Comick opt-in default on Usa el subdominio API sin Cloudflare. Apaga con COMICK_ENABLED=false.

Bato.to y otros están en el backlog post-v1.0.

Empezar a contribuir o self-hostear

  • Self-hosting: docs/self-hosting.md. Cubre build, env vars, principios de deploy (sin atarse a una plataforma) y troubleshooting.
  • Contribuir: CONTRIBUTING.md. Setup local, convenciones de commits, cuándo ADR, flow de PRs, voz.
  • Decisiones arquitectónicas: docs/adr/. Una ADR por decisión cerrada. Si quieres entender el porqué de algo, está ahí.
  • Estado del proyecto: docs/estado.md. Snapshot de qué corre, qué falta, gotchas operativos.

Filosofía

  • File over App — el código y los datos deben sobrevivir cualquier herramienta.
  • Texto plano y formatos abiertos cuando sea posible.
  • Self-hosted donde aporta valor, comercial donde es claramente mejor.
  • Mínimo viable, expandir solo cuando duela un problema real.
  • Sin lock-in de plataforma ni de proveedor.
  • Comprensión sobre conveniencia — las primitivas de seguridad y core se entienden a fondo antes de usarse, idealmente leyéndose en menos de 100 líneas. Por eso CSRF, sessions y migrations son código propio chiquito en vez de librerías.

Licencia

AGPL-3.0.

Si corres mokuji para ti o tu grupo, puedes hacer lo que quieras con el código. Si lo corres como servicio público para otros users (al estilo de mokuji.org), debes ofrecer el código fuente —incluyendo tus modificaciones— a esos users. Esto es lo que distingue AGPL de GPL: cubre el caso del software como servicio.

Para reportar vulnerabilidades, mira SECURITY.md.