Español
Introducción¶
WebMoniter es un sistema de tareas basado en Python, FastAPI y APScheduler, diseñado para la gestión unificada de:
- Monitoreo de plataformas: Huya, Weibo, Bilibili, Douyin, Douyu, Xiaohongshu.
- Tareas programadas: 30 tareas de registro (check-in) y recordatorios, incluyendo actualización de cookies de Weibo, iKuuu, Tieba, Super Topic de Weibo, Rainyun, Aliyun Drive, Freenom, notificaciones meteorológicas, etc. (más el ejemplo
demo_task; verTASK_SPECSensrc/jobs/metadata.py). - Notificaciones multicanal: 18 tipos de canales como WeChat Work, DingTalk, Feishu, Telegram, Bark, WxPusher, Email, etc.
- Gestión Web responsive para configuración, tareas, datos, logs y contraseñas. La navegación, barras de herramientas, diálogos y controles usan un estilo Liquid Glass, con barra lateral en escritorio, navegación inferior en móvil y alternativas accesibles para movimiento y transparencia.
La configuración admite recarga en caliente; los cambios en config.yml suelen surtir efecto en aproximadamente 5 segundos.
Vista General de Funciones¶
Para más detalles sobre la interfaz y las funciones, consulte la Página Principal de Documentación y la Interfaz de Gestión Web.
Expandir más detalles del proyecto
### Plataformas Soportadas | Plataforma | type | Dinámicas | Inicio/Fin de Vivo | |:--:|:--:|:--:|:--:| | Huya | `huya` | No | Sí | | Weibo | `weibo` | Sí | No | | Bilibili | `bilibili` | Sí | Sí | | Douyin | `douyin` | No | Sí | | Douyu | `douyu` | No | Sí | | Xiaohongshu | `xhs` | Sí | No | ### Selección de Tareas Programadas | Tarea | Nodo de Configuración | Hora Predeterminada | |:--:|:--:|:--:| | Limpieza de Logs | `log_cleanup` | 02:10 | | Actualización Cookie Weibo | `weibo` | 21:00 | | Registro iKuuu | `checkin` | 08:00 | | Registro Rainyun | `rainyun` | 08:30 | | Registro Tieba | `tieba` | 08:10 | | Weibo Super Topic | `weibo_chaohua` | 23:45 | | Aliyun Drive | `aliyun` | 05:30 | | Notificación Clima | `weather` | 07:30 | ### Selección de Canales de Notificación | Canal | type | Imagen/Texto | |:--:|:--:|:--:| | Robot de grupo WeChat Work | `wecom_bot` | Sí | | Robot DingTalk | `dingtalk_bot` | Sí | | Robot Feishu | `feishu_bot` | No | | Telegram | `telegram_bot` | Sí | | WxPusher | `wxpusher` | Sí | | Bark | `bark` | No | | PushPlus | `pushplus` | Sí |Inicio Rápido¶
Docker¶
La imagen ligera latest es adecuada para la mayoría de las tareas de monitoreo y registros HTTP. La imagen completa full incluye adicionalmente el navegador y las dependencias de registro vía navegador, necesarias para tareas que requieren inicio de sesión web como la actualización de cookies de Weibo, iKuuu, Rainyun, etc. En amd64, la imagen full utiliza Google Chrome Stable + chromedriver de la misma versión.
Arranque con Docker Compose Imagen Ligera (Recomendado)
git clone https://github.com/666fy666/WebMoniter.git
cd WebMoniter
cp config/config.yml.sample config.yml
# Imagen ligera: Iniciar
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml up -d
# Imagen ligera: Ver logs, detener, iniciar, reiniciar, eliminar contenedores/redes
docker compose -f docker/docker-compose.yml logs -f
docker compose -f docker/docker-compose.yml stop
docker compose -f docker/docker-compose.yml start
docker compose -f docker/docker-compose.yml restart
docker compose -f docker/docker-compose.yml down
Acceda a http://localhost:8866, cuenta predeterminada admin / 123. Por favor, cambie la contraseña tras el primer inicio de sesión.
Para tareas de navegador como actualización de cookies de Weibo, iKuuu, Rainyun, etc., utilice la imagen completa:
docker compose -f docker/docker-compose.full.yml pull
docker compose -f docker/docker-compose.full.yml up -d
docker compose -f docker/docker-compose.full.yml logs -f
docker compose -f docker/docker-compose.full.yml stop
docker compose -f docker/docker-compose.full.yml start
docker compose -f docker/docker-compose.full.yml restart
docker compose -f docker/docker-compose.full.yml down
Contenedor Único · Imagen Ligera
docker pull fengyu666/webmoniter:latest
docker run -d --name webmoniter --restart unless-stopped \
-p 8866:8866 --shm-size=128m \
-e TZ=Asia/Shanghai \
-v "$(pwd)/config.yml:/app/config.yml" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/logs:/app/logs" \
fengyu666/webmoniter:latest
docker stop webmoniter
docker start webmoniter
docker restart webmoniter
# Eliminar contenedor; si está corriendo use docker rm -f webmoniter
docker rm webmoniter
docker image rm fengyu666/webmoniter:latest
Contenedor Único · Imagen Completa
docker pull fengyu666/webmoniter:full
docker run -d --name webmoniter-full --restart unless-stopped \
-p 8866:8866 --shm-size=256m \
-e TZ=Asia/Shanghai \
-e CHROME_BIN=/usr/bin/chromium \
-e CHROMEDRIVER_PATH=/usr/bin/chromedriver \
-v "$(pwd)/config.yml:/app/config.yml" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/logs:/app/logs" \
fengyu666/webmoniter:full
docker stop webmoniter-full
docker start webmoniter-full
docker restart webmoniter-full
# Eliminar contenedor; si está corriendo use docker rm -f webmoniter-full
docker rm webmoniter-full
docker image rm fengyu666/webmoniter:full
Ejecución Local¶
git clone https://github.com/666fy666/WebMoniter.git
cd WebMoniter
uv python install 3.11
uv venv --python 3.11
uv sync --locked --extra dev --extra rainyun
cp config/config.yml.sample config.yml
uv run python main.py
Si no utiliza el registro mediante navegador, puede instalar solo las dependencias principales y de desarrollo:
uv sync --locked --extra dev
Paquete "Un Click" para Windows¶
Descargue WebMoniter-vX.X.X-windows-x64.zip desde Releases, descomprima, copie config.yml.sample como config.yml y ejecute WebMoniter.exe con doble clic.
Panel Qinglong¶
Los usuarios de Qinglong pueden configurar a través de variables de entorno y ejecutar tareas programadas usando python -m src.ql <task_id>. Para más detalles, vea la Guía de compatibilidad con Panel Qinglong.
Configuración¶
El archivo de configuración central es config.yml en la raíz del repositorio. Para el primer uso, copie la plantilla:
cp config/config.yml.sample config.yml
Para más información sobre los elementos de configuración, consulte:
Accesos a Funciones¶
| Función | Documentación |
|---|---|
| Instalación y Despliegue | installation.md |
| Interfaz de Gestión Web | guides/web-ui.md |
| Configuración de Tareas | guides/tasks.md |
| Tareas de Monitoreo | guides/tasks/monitors.md |
| Tareas de Registro | guides/tasks/checkin.md |
| Canales de Notificación | guides/push-channels.md |
| REST API | API.md |
| Descripción de Arquitectura | ARCHITECTURE.md |
| Desarrollo Secundario | SECONDARY_DEVELOPMENT.md |
| Preguntas Frecuentes | faq.md |
Notas de Desarrollo
uv sync --extra dev --extra rainyun
uv run ruff check .
uv run black --check .
uv run pytest -q
Agradecimientos¶
Algunas ideas de registro y notificaciones se basaron en los siguientes proyectos: