Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions README.es-ES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@


# YouTubeKit Server

Servidor de extracción remota para [YouTubeKit](https://github.com/alexeichhorn/YouTubeKit), que se ejecuta en Cloudflare Workers.

## Descripción general

Este servidor permite la extracción remota de transmisiones de YouTube cuando la extracción local falla. Utiliza una arquitectura basada en WebSocket en la que el servidor orquesta solicitudes HTTP a través del dispositivo del cliente, asegurando que las URLs de las transmisiones sigan siendo reproducibles en la red del cliente.

## Cómo funciona

1. El cliente establece una conexión WebSocket con el ID del video
2. El servidor utiliza [youtubei.js](https://github.com/LuanRT/YouTube.js) para determinar las solicitudes necesarias
3. El servidor envía las especificaciones de las solicitudes HTTP al cliente a través de WebSocket
4. El cliente ejecuta las solicitudes y devuelve las respuestas
5. El servidor procesa las respuestas y extrae las URLs de las transmisiones
6. Las URLs de las transmisiones se envían de vuelta al cliente

Esta arquitectura garantiza que las transmisiones funcionen con la dirección IP y ubicación del cliente, evitando restricciones geográficas.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Evita una garantía absoluta sobre las restricciones geográficas.

La frase indica que la arquitectura “garantiza” el funcionamiento y evita las restricciones geográficas. El flujo descrito no demuestra ese resultado en todos los casos. Usa una formulación condicionada y documenta las limitaciones aplicables.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.es-ES.md` at line 20, Reformula la afirmación en README.es-ES.md para
eliminar la garantía absoluta sobre el funcionamiento de las transmisiones y la
evasión de restricciones geográficas. Usa lenguaje condicionado que indique que
puede ayudar o permitirlo en ciertos casos, y añade las limitaciones aplicables
según el flujo descrito.


## Despliegue

### Requisitos previos

- Cuenta de [Cloudflare Workers](https://workers.cloudflare.com/)
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/) instalado

### Desplegar en Cloudflare Workers

```bash
npm install
npm run deploy
```

Para desarrollo local:

```bash
npm run dev
```

## Limitación de tasa

Las solicitudes están limitadas por ID de aplicación (`X-AppID-v1`) utilizando un Durable Object con ventanas ancladas:

- la ventana diaria comienza con la primera solicitud y dura 24 horas
- la ventana semanal comienza con la primera solicitud y dura 7 días
- cuando una ventana expira, la siguiente solicitud inicia una nueva ventana

Configure los límites mediante variables de entorno en `wrangler.toml`:

- `RATE_LIMIT_DAILY_REQUESTS`: solicitudes máximas por ID de aplicación en cada ventana de 24 horas.
- `RATE_LIMIT_WEEKLY_REQUESTS`: solicitudes máximas por ID de aplicación en cada ventana de 7 días.