# StreamPlayer VPN Edition

[![Android](https://img.shields.io/badge/Platform-Android-green.svg)](https://android.com)
[![License](https://badge.fba7af7372a48fda78fb377067a7233d.com/MIT-blue.svg)](LICENSE)

**StreamPlayer con VPN integrada** - App de streaming deportivo con Mullvad VPN built-in.

## Características

- **Streaming**: Reproducción de canales en vivo
- **VPN Integrada**: Con Mullvad WireGuard - sin app externa
- **Android TV**: Optimizado para Android TV y control remoto
- **DNS over HTTPS**: Múltiples servidores DNS con fallback automático

## Instalación

### Opción 1: Descargar APK
Descargar el APK desde la sección de Releases de este repositorio.

### Opción 2: Compilar
```bash
# Clonar repositorio
git clone <repo-url>
cd <project-dir>

# Compilar
./gradlew assembleDebug

# APK en: app/build/outputs/apk/debug/app-debug.apk
```

## Uso de la VPN

1. **Primera vez**: Tocar el botón "Conectar VPN" en el menú
2. **Permiso**: Aceptar el permiso de VPN cuando se solicite
3. **Listo**: La VPN se conecta automáticamente

### Cambiar servidor VPN
Para cambiar el servidor Mullvad:
1. Descargar config desde [Mullvad Servers](https://mullvad.net/servers/)
2. Reemplazar el archivo `app/src/main/res/raw/mullvad.conf`
3. Recompilar

## Requisitos

- **Android**: 7.0 (API 24) o superior
- **VPN**: WireGuard integrado (no requiere app externa)

## Configuración de Actualizaciones

Para habilitar las actualizaciones automáticas, configura la URL en `app/build.gradle`:

```gradle
buildConfigField "String", "UPDATE_CHECK_URL", '"https://your-gitea-instance.com/api/v1/repos/user/repo/releases/latest"'
```

Opcionalmente, configura un token de API en `UpdateManager.java` si tu repositorio es privado.

## Estructura

```
app/src/main/
├── java/com/streamplayer/
│   ├── MainActivity.java      # UI principal
│   ├── VpnManager.java        # Gestión VPN
│   ├── UpdateManager.java     # Sistema de actualizaciones
│   └── ...
├── res/raw/
│   └── mullvad.conf           # Configuración VPN
└── AndroidManifest.xml
```

## Disclaimer

Esta aplicación es para fines educativos. El usuario es responsable de cumplir con los términos de servicio de las plataformas de streaming.
