Línea de Comandos (CLI) y Modos de Ejecución
Además de la interfaz gráfica de escritorio habitual, el ejecutable de TelegramDL puede iniciarse desde la terminal con diversos parámetros y modos de operación.
Modos de Ejecución
Sección titulada «Modos de Ejecución»# WindowsTelegramDL.exe [opciones|URL]
# Linux / macOS./TelegramDL [opciones|URL]Parámetros Disponibles
Sección titulada «Parámetros Disponibles»| Parámetro | Alias | Descripción |
|---|---|---|
| (sin parámetros) | — | Inicia la aplicación completa en modo escritorio con interfaz Wails. |
<URL> |
— | Añadir Descarga Directa: Pasa una URL de Telegram directamente. Si la app está abierta, se añade a la cola activa; si está cerrada, se abre e inicia la descarga. |
--download <URL> |
-d |
Modo Descarga CLI Pura: Ejecuta la descarga en la propia consola en modo texto sin abrir la interfaz gráfica. |
--server |
-s, /server |
Modo Servidor Headless: Inicia el servidor REST y WebSocket sin abrir ninguna ventana gráfica. |
--update |
-u, /update |
Comprueba si existe una versión más reciente en GitHub y la instala automáticamente. |
--help |
-h, /? |
Muestra el mensaje de ayuda con la sintaxis de uso en consola. |
Descarga Directa por Argumento (<URL>)
Sección titulada «Descarga Directa por Argumento (<URL>)»Puedes pasar un enlace de Telegram directamente detrás del ejecutable para encolar o iniciar una descarga automáticamente:
# Ejemplo con canal público o usuarioTelegramDL.exe https://t.me/nombre_canal/123
# Ejemplo con canal privado y rango de mensajesTelegramDL.exe https://t.me/c/1794593738/30502-30505Comportamiento Inteligente
Sección titulada «Comportamiento Inteligente»- Si la aplicación YA está abierta: El proceso en consola detecta la instancia en ejecución mediante el sistema de bloqueo IPC y le transmite el enlace de forma transparente a través del puerto local (
/api/ipc/download). La interfaz gráfica abierta reflejará la nueva descarga en tiempo real en la cola. Si no hay nada en ejecución, empezará de inmediato; si ya hay tareas activas, se mantendrá ordenada en la cola. - Si la aplicación está CERRADA: El proceso abre TelegramDL en modo escritorio, inicializa la interfaz y encola la descarga en segundo plano. Si la cola estaba vacía, la descarga se procesa al momento de arrancar.
Modo Descarga por Consola Pura (--download <URL>)
Sección titulada «Modo Descarga por Consola Pura (--download <URL>)»Si prefieres realizar una descarga puntual sin abrir la ventana nativa ni mantener un servidor Web/WebSocket en segundo plano, utiliza la opción --download:
TelegramDL.exe --download https://t.me/nombre_canal/123En este modo:
- Se conecta directamente a la API MTProto de Telegram utilizando tus credenciales guardadas en la base de datos local.
- Muestra el progreso de la descarga en texto directamente en la terminal.
- Al finalizar la descarga, se cierra automáticamente devolviendo el control a la consola.
Modo Servidor Headless (--server)
Sección titulada «Modo Servidor Headless (--server)»El modo servidor es ideal para:
- Servidores domésticos o NAS (Synology, TrueNAS, etc.).
- Máquinas virtuales Linux o servidores sin entorno gráfico (headless).
- Despliegues en segundo plano que se controlan exclusivamente desde el teléfono móvil o navegador web mediante Acceso Remoto.
TelegramDL.exe --serverAl iniciarse en este modo:
- Adquiere el bloqueo de instancia única para evitar colisiones.
- Inicia la conexión MTProto con Telegram.
- Arranca el servidor HTTP y WebSocket en la IP y puerto configurados (por defecto
0.0.0.0:8000). - Permanece activo escuchando descargas y eventos del Listener hasta recibir una señal de terminación (
Ctrl+C/SIGINT).
Actualización Automática (--update)
Sección titulada «Actualización Automática (--update)»Puedes forzar una búsqueda y actualización automática de versión directamente desde la línea de comandos:
TelegramDL.exe --updateEl actualizador integrado (pkg/updater/updater.go):
- Consulta la API pública de releases en GitHub de TelegramDL.
- Compara la versión actual con la última versión publicada.
- Descarga el binario optimizado correspondiente a tu sistema operativo y arquitectura.
- Sustituye el ejecutable actual de forma atómica y segura.
Bloqueo de Instancia Única y Comunicación IPC
Sección titulada «Bloqueo de Instancia Única y Comunicación IPC»TelegramDL implementa un mecanismo de bloqueo inteligente y comunicación entre procesos (IPC) para evitar duplicidad de instancias y gestionar el reenvío de tareas:
- Si intentas abrir una segunda instancia sin argumentos, el sistema detecta que la aplicación ya está abierta y finaliza ordenadamente.
- Si pasas una URL como argumento mientras la app está abierta, la segunda instancia no se abre duplicada: se limita a enviar la descarga a la instancia activa vía IPC HTTP local y termina su ejecución notificando el éxito en consola.
- Al actualizarse, el nuevo proceso espera hasta 8 segundos para que el proceso anterior libere el bloqueo antes de tomar el relevo.