StreamPlayer Desktop (Windows)

Este branch contiene únicamente la versión de escritorio desarrollada con .NET 8 + Avalonia. Replica todas las funciones del APK Android original (resolución de streams ofuscados, verificación remota de dispositivos, control de actualizaciones y reproducción protegida) pero genera un .exe listo para Windows.

Estructura

windows/StreamPlayer.Desktop/
├── App.axaml / App.axaml.cs
├── Program.cs
├── AppVersion.cs
├── Models/               # ChannelSection, LiveEvent, UpdateInfo, etc.
├── Services/             # StreamUrlResolver, UpdateService, DeviceRegistryService, WindowsDnsService…
├── ViewModels/           # MainWindowViewModel con bloqueo previo y refrescos
├── Views/                # MainWindow, PlayerWindow (LibVLC), diálogos de update/bloqueo
└── StreamPlayer.Desktop.csproj

Requisitos

  • .NET SDK 8.0
  • Windows 10/11 x64
  • Visual Studio 2022 (o dotnet CLI) con workloads “.NET desktop”.
  • VLC runtimes incluidos vía VideoLAN.LibVLC.Windows.

Cómo compilar

git checkout windows-only
cd windows/StreamPlayer.Desktop
dotnet restore
dotnet build -c Release
# Para distribuir:
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true

El .exe resultante queda en windows/StreamPlayer.Desktop/bin/Release/net8.0/win-x64/publish/.

Características clave

  • Resolución de stream: Services/StreamUrlResolver.cs analiza el JavaScript ofuscado y reconstruye el HLS real (idéntico al app móvil).
  • Reproducción: Views/PlayerWindow usa LibVLC con los mismos headers/User-Agent del APK para evitar bloqueos de origen.
  • Verificación remota: DeviceRegistryService sincroniza con tu dashboard y bloquea toda la UI hasta que el servidor permita el dispositivo.
  • Actualizaciones forzadas: UpdateService consulta las releases de Gitea y puede abrir el browser o descargar la nueva versión.
  • DNS de Google: WindowsDnsService fuerza 8.8.8.8 / 8.8.4.4 solicitando elevación (UAC); si el usuario rechaza, se muestra el mensaje para configurar manualmente antes de iniciar el player.

Uso

  1. Compila o publica el .exe.
  2. Ejecuta una vez como administrador para que el cambio de DNS quede aplicado.
  3. Configura tus endpoints (AppVersion.DeviceRegistryUrl, LatestReleaseApi) si necesitas apuntar a otros servicios.
  4. Distribuye el .exe y sube releases/manifest igual que con el APK.

Este branch no incluye ningún archivo Android; es solo el código fuente de la versión Windows. Para la versión móvil sigue usando main.

Description
Android StreamPlayer app
Readme 305 MiB
2026-03-02 21:44:53 +00:00
Languages
Java 96%
Python 2.5%
Dockerfile 1.5%