Initial commit: MangaReader iOS App

 Features:
- App iOS completa para leer manga sin publicidad
- Scraper con WKWebView para manhwaweb.com
- Sistema de descargas offline
- Lector con zoom y navegación
- Favoritos y progreso de lectura
- Compatible con iOS 15+ y Sideloadly/3uTools

📦 Contenido:
- Backend Node.js con Puppeteer (opcional)
- App iOS con SwiftUI
- Scraper de capítulos e imágenes
- Sistema de almacenamiento local
- Testing completo
- Documentación exhaustiva

🧪 Prueba: Capítulo 789 de One Piece descargado exitosamente
  - 21 páginas descargadas
  - 4.68 MB total
  - URLs verificadas y funcionales

🎉 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-02-04 15:34:18 +01:00
commit b474182dd9
6394 changed files with 1063909 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
import { Socket } from "net";
export type ProgressType = "upload" | "download" | "list";
/**
* Describes progress of file transfer.
*/
export interface ProgressInfo {
/** A name describing this info, e.g. the filename of the transfer. */
readonly name: string;
/** The type of transfer, typically "upload" or "download". */
readonly type: ProgressType;
/** Transferred bytes in current transfer. */
readonly bytes: number;
/** Transferred bytes since last counter reset. Useful for tracking multiple transfers. */
readonly bytesOverall: number;
}
export type ProgressHandler = (info: ProgressInfo) => void;
/**
* Tracks progress of one socket data transfer at a time.
*/
export declare class ProgressTracker {
bytesOverall: number;
protected readonly intervalMs = 500;
protected onStop: (stopWithUpdate: boolean) => void;
protected onHandle: ProgressHandler;
/**
* Register a new handler for progress info. Use `undefined` to disable reporting.
*/
reportTo(onHandle?: ProgressHandler): void;
/**
* Start tracking transfer progress of a socket.
*
* @param socket The socket to observe.
* @param name A name associated with this progress tracking, e.g. a filename.
* @param type The type of the transfer, typically "upload" or "download".
*/
start(socket: Socket, name: string, type: ProgressType): void;
/**
* Stop tracking transfer progress.
*/
stop(): void;
/**
* Call the progress handler one more time, then stop tracking.
*/
updateAndStop(): void;
}