xtream-player/README.md
2026-03-09 21:07:34 +01:00

77 lines
2.2 KiB
Markdown

# 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`, and `Custom streams`
- search + filtering
- EPG (`get_short_epg`) for live channels
- playback of Xtream streams and custom URLs
## Requirements
- Java 17+
- Maven 3.9+
## Run
```bash
mvn -q compile exec:java
```
The app runs on:
- `http://localhost:8080`
Default login credentials (first run):
- **Username**: `admin`
- **Password**: `admin`
Optional: change port:
```bash
PORT=8090 mvn -q compile exec:java
```
## User Management
To manage users (add, delete, update passwords), use the `UserManager` CLI tool:
```bash
# 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](USERS_MANAGEMENT.md) for detailed user management documentation.
## Docker (JRE 17)
Build image:
```bash
docker build -t xtream-player:latest .
```
Run container:
```bash
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`). `m3u8` is usually better for browsers.