Go to file
Stefan Hacker 08d331d1f8 first commit 2026-02-08 15:55:58 +01:00
app first commit 2026-02-08 15:55:58 +01:00
build/reports/problems first commit 2026-02-08 15:55:58 +01:00
gradle/wrapper first commit 2026-02-08 15:55:58 +01:00
website first commit 2026-02-08 15:55:58 +01:00
README.md first commit 2026-02-08 15:55:58 +01:00
build.gradle first commit 2026-02-08 15:55:58 +01:00
gradle.properties first commit 2026-02-08 15:55:58 +01:00
gradlew first commit 2026-02-08 15:55:58 +01:00
gradlew.bat first commit 2026-02-08 15:55:58 +01:00
local.properties first commit 2026-02-08 15:55:58 +01:00
settings.gradle first commit 2026-02-08 15:55:58 +01:00

README.md

WireGuard TV

Ein WireGuard VPN Client speziell entwickelt für Amazon Fire TV Stick mit vollständiger D-Pad Fernbedienungs-Navigation.

Beschreibung

WireGuard TV ermöglicht es, eine sichere VPN-Verbindung auf dem Amazon Fire TV Stick herzustellen. Die App ist vollständig für die Bedienung mit der Fire TV Fernbedienung optimiert und bietet eine intuitive Leanback-Oberfläche.

Features

  • D-Pad Navigation - Vollständig mit Fire TV Fernbedienung bedienbar
  • Web-Interface - Configs per Browser vom Smartphone oder PC hochladen und verwalten
  • Datei-Import - .conf Dateien vom lokalen Speicher importieren (per ADB übertragen)
  • Auto-Connect - Automatische Verbindung beim Gerätestart (pro Tunnel konfigurierbar)
  • Geo-Location Anzeige - Zeigt aktuelle öffentliche IP mit Land und Flagge an
  • Status Anzeige - RX/TX Bytes, Verbindungsstatus in Echtzeit
  • Web-Server Autostart - Optional Server beim Gerätestart automatisch starten
  • Passwortschutz - Web-Interface kann mit Passwort geschützt werden
  • Kill Switch - Internet blockieren wenn VPN getrennt (in Einstellungen)

Installation

Voraussetzungen

  • Amazon Fire TV Stick (1. Generation oder neuer)
  • Computer mit ADB (Android Debug Bridge)
  • Beide Geräte im selben Netzwerk

Fire TV für ADB vorbereiten

  1. Entwickleroptionen aktivieren:

    • Einstellungen > Mein Fire TV > Info
    • 7x auf "Fire TV Stick" klicken bis "Du bist jetzt Entwickler" erscheint
  2. ADB aktivieren:

    • Einstellungen > Mein Fire TV > Entwickleroptionen
    • "ADB-Debugging" aktivieren
    • "Apps aus unbekannten Quellen" aktivieren
  3. IP-Adresse herausfinden:

    • Einstellungen > Mein Fire TV > Info > Netzwerk
    • IP-Adresse notieren (z.B. 192.168.1.100)

ADB installieren

# Debian/Ubuntu
sudo apt install adb

# Fedora
sudo dnf install android-tools

# Arch Linux
sudo pacman -S android-tools

App installieren

# Mit Fire TV verbinden
adb connect 192.168.1.100:5555

# Beim ersten Mal: Auf dem TV "Erlauben" wählen und "Immer von diesem Computer erlauben" anhaken

# Verbindung prüfen
adb devices

# App installieren
adb install wireguard-tv.apk

# Oder bei Update:
adb install -r wireguard-tv.apk

Benutzung

WireGuard-Konfiguration hinzufügen

Methode 1: Web-Upload (empfohlen)

Der einfachste Weg - funktioniert mit jedem Gerät im gleichen Netzwerk:

  1. In WireGuard TV App: "Web-Upload" wählen und Server starten
  2. Die angezeigte URL (z.B. http://192.168.1.100:8080) im Browser öffnen
  3. Im Tab "Config hochladen":
    • .conf Datei auswählen ODER Config-Text direkt einfügen
    • Namen vergeben und hochladen
  4. Der Tunnel erscheint sofort in der App

Web-Interface Features:

  • Tunnel verwalten (Verbinden, Trennen, Löschen, Bearbeiten)
  • Autostart pro Tunnel aktivieren/deaktivieren
  • Geo-Location Anzeige (IP, Land, Stadt)
  • Server-Einstellungen (Port, Passwort, Autostart)

Methode 2: Datei-Import (via ADB)

  1. Config-Datei per ADB übertragen:

    adb push meine-config.conf /sdcard/Download/
    
  2. In WireGuard TV App: "Datei importieren" wählen

  3. Die Datei aus der Liste auswählen

Unterstützte Pfade:

  • /sdcard/Download/
  • /sdcard/WireGuard/
  • /sdcard/wireguard/

Methode 3: Manuell eingeben

  1. "Tunnel hinzufügen" wählen
  2. Alle Felder manuell ausfüllen (Private Key, Addresses, Public Key, Endpoint, etc.)

Tunnel verbinden

  • Tunnel mit D-Pad auswählen
  • Enter/OK drücken
  • "Verbinden" wählen

Autostart aktivieren

  1. Tunnel mit D-Pad auswählen und Enter drücken
  2. "Autostart beim Boot" aktivieren
  3. Der Tunnel verbindet sich automatisch beim Gerätestart

Hinweis: Beim ersten Aktivieren wird der Tunnel sofort verbunden, damit die VPN-Berechtigung erteilt wird (erforderlich für Autostart).

Tastenkürzel

Taste Funktion
Enter/OK Tunnel-Aktionen öffnen
Zurück Navigation zurück
D-Pad Zwischen Elementen navigieren

Web-Interface

Das integrierte Web-Interface ermöglicht die komfortable Verwaltung vom Smartphone oder PC aus.

Server starten

  1. In der App: "Web-Upload" > "Server starten"
  2. URL wird angezeigt (z.B. http://192.168.1.100:8080)
  3. URL im Browser öffnen

Tabs

  • Tunnel verwalten - Alle Tunnel anzeigen, verbinden, trennen, löschen, Autostart
  • Config hochladen - Neue Konfiguration per Datei oder Text hinzufügen
  • Einstellungen - Server-Port, Passwort, Autostart konfigurieren

Einstellungen

  • Port - Standard: 8080 (änderbar)
  • Passwortschutz - Optional, schützt das Web-Interface
  • Server-Autostart - Server automatisch beim Gerätestart starten

Projekt-Struktur

wireguard-tv/
├── app/                        # Fire TV App
│   └── src/main/
│       ├── java/.../
│       │   ├── ui/             # Activities, Fragments, Presenter
│       │   ├── vpn/            # WireGuard Tunnel Service
│       │   ├── web/            # HTTP Server & Web-Interface
│       │   ├── data/           # Repository, Settings (DataStore)
│       │   ├── model/          # Data Classes
│       │   ├── receiver/       # Boot Receiver
│       │   ├── tile/           # Quick Settings Tile
│       │   └── util/           # Hilfsklassen (IpGeoService)
│       └── res/                # Layouts, Drawables, Values
│
├── build.gradle                # Root Build Config
└── settings.gradle             # Projekt-Einstellungen

Build (für Entwickler)

Voraussetzungen

  • Android Studio Hedgehog (2023.1.1) oder neuer
  • JDK 17
  • Android SDK 34

Android Studio installieren

# Flatpak (empfohlen)
flatpak install flathub com.google.AndroidStudio
flatpak run com.google.AndroidStudio

# Oder Snap
sudo snap install android-studio --classic

Bauen

Mit Android Studio:

  1. Projekt öffnen (File > Open)
  2. Gradle Sync abwarten
  3. Build > Build Bundle(s) / APK(s) > Build APK(s)

Mit Kommandozeile:

# Debug Build
./gradlew assembleDebug

# Release Build
./gradlew assembleRelease

# APK Speicherort
ls -la app/build/outputs/apk/debug/app-debug.apk

Debugging

ADB Verbindung

# Verbinden
adb connect 192.168.1.100:5555

# Verbindung prüfen
adb devices

# Trennen
adb disconnect 192.168.1.100:5555

# ADB Server neu starten (bei Problemen)
adb kill-server && adb start-server

Logs anzeigen

# Live Log der WireGuard TV App
adb logcat -s WireGuardTV:* AndroidRuntime:E

# Nur Crash-Logs
adb logcat -s AndroidRuntime:E

# Log in Datei speichern
adb logcat -d > debug.log

# Log leeren (vor Test)
adb logcat -c

# Boot-Logs prüfen (für Autostart-Debugging)
adb logcat -s BootReceiver:* WireGuardTV:*

App neu installieren

# Deinstallieren
adb uninstall de.hackernet.wireguardtv

# Neu installieren
adb install app/build/outputs/apk/debug/app-debug.apk

Häufige Probleme

"Offline" bei adb devices:

adb disconnect
adb kill-server
adb start-server
adb connect 192.168.1.100:5555

App-Update schlägt fehl:

adb uninstall de.hackernet.wireguardtv
adb install app-debug.apk

VPN-Berechtigung fehlt:

  • VPN manuell einmal verbinden
  • Berechtigung wird automatisch angefragt

Technische Details

Eigenschaft Wert
Min SDK 22 (Android 5.1, Fire TV Stick 1. Gen)
Target SDK 34 (Android 14)
WireGuard Backend wireguard-android Tunnel Library
UI Framework AndroidX Leanback
Datenspeicherung Jetpack DataStore
Web Server Embedded HTTP Server
Geo-Location ip-api.com (kostenlos)

Sicherheitshinweise

  • Der Web-Server ist nur im lokalen Netzwerk erreichbar
  • Passwortschutz für das Web-Interface wird empfohlen
  • Der Server startet nicht automatisch (optional aktivierbar)
  • Configs werden verschlüsselt im App-internen Speicher gespeichert
  • HTTP-Verbindung zu ip-api.com ist explizit erlaubt (für Geo-Location)

Lizenz

MIT License - siehe LICENSE Datei


Autor

HackerSoft - HACKER-NET Telekommunikation

Website: HACKER-NET.DE