Servidor WebSocket multiplataforma ligero diseñado para actuar como puente de impresión y comunicación de hardware en segundo plano. Se ejecuta silenciosamente en la bandeja del sistema, cuenta con arranque automático integrado y ofrece una interfaz de control simple basada en CustomTkinter.
- Arranque Automático: Se integra nativamente con el sistema operativo (Windows Registry, Linux
.desktopy macOS LaunchAgents) al ejecutarse por primera vez. - Ejecución Silenciosa: Inicia minimizado directamente en los íconos ocultos o bandeja del sistema para no interrumpir al usuario.
- Servidor Asíncrono: Servidor WebSocket independiente basado en hilos (
threading+asyncio) para garantizar que la interfaz gráfica nunca se congele. - Interfaz Minimalista: Un único botón central ON/OFF con monitoreo de dirección de exposición y conteo de clientes conectados en tiempo real.
PrintKodeTap/
├── assets/
│ └── icon.png # Ícono de la aplicación (64x64 recomendado)
├── src/
│ ├── __init__.py
│ ├── autostart.py # Configuración de inicio automático con el OS
│ ├── server.py # Servidor WebSocket (Asyncio + Threads)
│ ├── gui.py # Interfaz gráfica CustomTkinter
│ └── tray.py # Control del System Tray (Bandeja de sistema)
├── main.py # Punto de entrada de la aplicación
├── requirements.txt # Dependencias del proyecto
└── build.py # Script automatizado de compilación con PyInstaller
-
Python 3.13 o superior.
-
Un archivo de imagen válido en assets/icon.png (esencial para el System Tray, la app fallará si no existe).
Activa tu entorno virtual bridge e instala las dependencias requeridas:
.\bridge\Scripts\Activate.ps1Activar entorno (Linux / macOS)
source bridge/bin/activateInstalar paquetes requeridos
pip install -r requirements.txtPara ejecutar y probar la aplicación en modo desarrollo sin compilar:
python main.pyNota: La aplicación iniciará oculta directamente en la bandeja del sistema. Haz doble clic sobre el ícono o clic derecho -> "Abrir Interfaz" para desplegar la ventana de control.
El script de empaquetado genera un único binario independiente, portable y libre de consolas de comandos en segundo plano. Debes ejecutar la compilación de forma nativa en el sistema operativo objetivo (PyInstaller no realiza compilación cruzada).
python build.py-
Ubicación del Ejecutable (/dist): Windows: dist/PrintKodeTap.exe
-
Linux: dist/PrintKodeTap (Recuerda aplicar chmod +x PrintKodeTap antes de distribuirlo)
-
macOS: dist/PrintKodeTap.app (Requeres aprobación manual en Ajustes > Privacidad si se ejecuta en equipos de terceros sin firmar)