Xtream Player (Java + com.sun.httpserver)
Self-hosted HTML5 app for Xtream IPTV:
- User authentication - Built-in login with username/password (stored in H2 database)
- provider settings/login
- manual source preload (button
Load sources) with progress bar - sources are stored in local H2 DB and the UI reads them only through local API
- tabs for
Live,VOD,Series, andCustom streams - search + filtering
- EPG (
get_short_epg) for live channels - playback of Xtream streams and custom URLs
Requirements
- Java 17+
- Maven 3.9+
Run
mvn -q compile exec:java
The app runs on:
http://localhost:8080
Default login credentials (first run):
- Username:
admin - Password:
admin
Optional: change port:
PORT=8090 mvn -q compile exec:java
User Management
To manage users (add, delete, update passwords), use the UserManager CLI tool:
# Interactive mode
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager
# Add a user
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager add username password
# List all users
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager list
# Update password
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager update username new_password
# Delete user
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager delete username
See USERS_MANAGEMENT.md for detailed user management documentation.
Docker (JRE 17)
Build image:
docker build -t xtream-player:latest .
Run container:
docker run --rm -p 8080:8080 \
-e PORT=8080 \
-v xtream-player-data:/home/app/.xtream-player \
xtream-player:latest
Notes
- Config is stored in
~/.xtream-player/config.properties. - User credentials are stored in
~/.xtream-player/users.db(H2 database). - Preloaded sources (live/vod/series categories + lists) are stored in
~/.xtream-player/library/xtream-sources.mv.db. - Custom streams are stored in browser
localStorage. - Some Xtream servers/streams may not be browser-friendly (for example
ts).m3u8is usually better for browsers.
Description
Languages
Java
50%
JavaScript
43%
CSS
3.6%
HTML
3.1%
Dockerfile
0.2%