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
dotnetCLI) 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.csanaliza el JavaScript ofuscado y reconstruye el HLS real (idéntico al app móvil). - Reproducción:
Views/PlayerWindowusa LibVLC con los mismos headers/User-Agent del APK para evitar bloqueos de origen. - Verificación remota:
DeviceRegistryServicesincroniza con tu dashboard y bloquea toda la UI hasta que el servidor permita el dispositivo. - Actualizaciones forzadas:
UpdateServiceconsulta las releases de Gitea y puede abrir el browser o descargar la nueva versión. - DNS de Google:
WindowsDnsServicefuerza 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
- Compila o publica el
.exe. - Ejecuta una vez como administrador para que el cambio de DNS quede aplicado.
- Configura tus endpoints (
AppVersion.DeviceRegistryUrl,LatestReleaseApi) si necesitas apuntar a otros servicios. - Distribuye el
.exey 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
Releases
27
StreamPlayer v11.0.1
Latest
Languages
Java
96%
Python
2.5%
Dockerfile
1.5%