mirror of
https://github.com/Ap0dexMe0/o11pro-unpacked.git
synced 2026-07-15 18:30:02 +02:00
287 lines
9.9 KiB
Markdown
287 lines
9.9 KiB
Markdown
# O11 Pro Cracked – Unpacked Version
|
||
|
||
**O11 Pro** is a streaming media server capable of proxying, remuxing, and redistributing IPTV/OTT live and VOD streams. It features a built-in web UI, EPG support, HLS/DASH handling, and DRM decryption via CDM integration.
|
||
|
||
---
|
||
|
||
## Install (one-liner)
|
||
|
||
```bash
|
||
# With curl (requires root)
|
||
sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/Ap0dexMe0/o11pro-unpacked/main/install.sh)"
|
||
|
||
# With wget (requires root)
|
||
sudo sh -c "$(wget -O- https://raw.githubusercontent.com/Ap0dexMe0/o11pro-unpacked/main/install.sh)"
|
||
|
||
# With fetch / BSD (requires root)
|
||
sudo sh -c "$(fetch -o - https://raw.githubusercontent.com/Ap0dexMe0/o11pro-unpacked/main/install.sh)"
|
||
```
|
||
|
||
---
|
||
|
||
## Further Reading
|
||
|
||
| Document | Description |
|
||
| ---------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
||
| [DISCLAIMER](docs/DISCLAIMER.md) | To avoid misunderstandings, here are some things to know about this release |
|
||
| [CHANGELOG](docs/CHANGELOGS.md) | A completed changelog released |
|
||
| [API](docs/API.md) | Complete REST API reference: endpoints, methods, and authentication details |
|
||
| [WSL](docs/WSL.md) | Complete WSL setup guide |
|
||
| [MONITORING](docs/MONITORING.md) | Real-time attack detection: HTTP proxy monitor, audit logging, process/file/network surveillance |
|
||
|
||
---
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
# Minimum: just set a port
|
||
./o11pro -p 8080
|
||
|
||
# With web UI login credentials
|
||
./o11pro -p 8080 -user admin -password yourpassword
|
||
|
||
# Headless mode (no web UI)
|
||
./o11pro -p 8080 -headless
|
||
|
||
# With separate EPG and streaming ports
|
||
./o11pro -p 8080 -epgport 8081 -streamport 8082
|
||
|
||
# Debug mode
|
||
./o11pro -p 8080 -v 3 -stdout
|
||
```
|
||
|
||
When started without `-user` and `-password`, a temporary admin account is auto-generated and printed to the log:
|
||
|
||
```
|
||
WARN: Use temporary account to login to Web UI: admin / OtoN4Fx0
|
||
```
|
||
|
||
Open `http://<your-ip>:<port>` in a browser to access the web interface.
|
||
|
||
---
|
||
|
||
## Command-Line Options
|
||
|
||
### Server & Network
|
||
|
||
| Flag | Description | Default |
|
||
| ------------- | ----------------------------------------------------- | ----------------- |
|
||
| `-p` | HTTP port to listen on (required) | `0` (must be set) |
|
||
| `-b` | HTTP bind address | `0.0.0.0` |
|
||
| `-https` | Enable HTTPS (requires `server.crt` and `server.key`) | `false` |
|
||
| `-baseurl` | HTTP base URL for reverse proxy setups | *(empty)* |
|
||
| `-streamport` | Dedicated streaming port (0 = same as HTTP port) | `0` |
|
||
| `-streambind` | Streaming bind address | `0.0.0.0` |
|
||
| `-epgport` | EPG (Electronic Program Guide) port | `0` |
|
||
| `-epgbind` | EPG bind address | `0.0.0.0` |
|
||
| `-allow` | Comma-separated IP whitelist for no-auth admin access | *(empty)* |
|
||
|
||
---
|
||
|
||
### Authentication & Security
|
||
|
||
| Flag | Description | Default |
|
||
| ------------ | ----------------------- | ---------------------------------- |
|
||
| `-user` | Static admin username | *(empty – temp account generated)* |
|
||
| `-password` | Static admin password | *(empty – temp account generated)* |
|
||
| `-jwtsecret` | JWT secret for sessions | *(random)* |
|
||
|
||
---
|
||
|
||
### Configuration & Files
|
||
|
||
| Flag | Description | Default |
|
||
| ------------ | ---------------------- | ----------------- |
|
||
| `-c` | Main config file path | `o11.cfg` |
|
||
| `-job` | Jobs config file | `o11-job.cfg` |
|
||
| `-rec` | Recordings config file | `o11-rec.cfg` |
|
||
| `-path` | Working directory | current directory |
|
||
| `-providers` | Providers directory | `providers/` |
|
||
| `-keys` | KID:KEY fallback file | `keys.txt` |
|
||
| `-f` | FFmpeg binary path | `ffmpeg` |
|
||
| `-tsplay` | Tsplay binary path | `tsplay` |
|
||
|
||
---
|
||
|
||
### Logging
|
||
|
||
| Flag | Description | Default |
|
||
| ---------------- | --------------------------------- | --------- |
|
||
| `-v` | Log level (0–5) | `2` |
|
||
| `-stdout` | Output logs to stdout | `false` |
|
||
| `-logsize` | Max log size (MB) | `100` |
|
||
| `-logscount` | Log rotation count | `7` |
|
||
| `-logtomain` | Send stream logs to main log | `false` |
|
||
| `-logtomainonly` | Only main log output | `false` |
|
||
| `-V` | Enable module-specific debug logs | *(empty)* |
|
||
|
||
---
|
||
|
||
### Runtime Behavior
|
||
|
||
| Flag | Description | Default |
|
||
| ---------------- | ------------------------------- | --------- |
|
||
| `-headless` | Run without web UI | `false` |
|
||
| `-noautostart` | Disable auto-start of providers | `false` |
|
||
| `-flushperiod` | Config flush interval (seconds) | `300` |
|
||
| `-keep` | Keep temporary files | `true` |
|
||
| `-noramfs` | Disable RAMFS requirement | `false` |
|
||
| `-remuxondisk` | Store remux temp files on disk | `false` |
|
||
| `-debugspeed` | Show stream download queue | `false` |
|
||
| `-defaultprovid` | Default provider ID | *(empty)* |
|
||
|
||
---
|
||
|
||
### Playlist & Naming
|
||
|
||
| Flag | Description | Default |
|
||
| --------------------- | ------------------------- | ------------------ |
|
||
| `-plstreamname` | Stream name format | `[%p] %s` |
|
||
| `-alteventdateformat` | Alternate EPG date format | `false` |
|
||
| `-novodmetadata` | Disable VOD metadata | `false` |
|
||
| `-pipeoutputcmd` | Pipe output command | `tsplay -stdin %s` |
|
||
|
||
---
|
||
|
||
### Replay Mode
|
||
|
||
| Flag | Description | Default |
|
||
| ------------- | ----------------- | ----------------- |
|
||
| `-replay` | Local stream path | *(empty)* |
|
||
| `-replaymode` | Replay mode | `internalremuxer` |
|
||
|
||
---
|
||
|
||
### User-Agent & HTTP
|
||
|
||
| Flag | Description | Default |
|
||
| ---- | ------------------ | ---------------- |
|
||
| `-a` | Default User-Agent | Chrome 122 macOS |
|
||
|
||
---
|
||
|
||
### VOD Downloader
|
||
|
||
| Flag | Description | Default |
|
||
| -------------- | ----------------------------- | --------- |
|
||
| `-manifest` | Download manifest and convert | *(empty)* |
|
||
| `-video` | Video track index | all |
|
||
| `-audio` | Audio track indexes | all |
|
||
| `-subs` | Subtitle indexes | none |
|
||
| `-extrasubs` | External subtitle URL | *(empty)* |
|
||
| `-maxsegments` | Max segments | `0` |
|
||
| `-dashperiod` | DASH period index | `-2` |
|
||
|
||
---
|
||
|
||
### DRM / CDM
|
||
|
||
| Flag | Description | Default |
|
||
| ------------ | --------------------- | ---------- |
|
||
| `-usecdm` | Enable CDM decryption | `false` |
|
||
| `-cdmtype` | CDM type | `widevine` |
|
||
| `-cdmmode` | CDM mode | `internal` |
|
||
| `-script` | CDM script | `auto` |
|
||
| `-cdmparams` | Script parameters | *(empty)* |
|
||
| `-key` | KID:KEY pair | *(empty)* |
|
||
| `-doh` | DNS-over-HTTPS URL | *(empty)* |
|
||
| `-H` | Custom HTTP headers | *(empty)* |
|
||
|
||
---
|
||
|
||
## Web UI Pages
|
||
|
||
| Page | Route | Description |
|
||
| ---------- | --------------------------- | ------------------------- |
|
||
| Providers | `/providers` | Manage IPTV/OTT providers |
|
||
| Linear | `/linear` | Live stream control |
|
||
| Events | `/events/:provider?` | Scheduled streams |
|
||
| VOD | `/vod` | Video-on-demand library |
|
||
| Recordings | `/recordings/:provider?` | Stream recordings |
|
||
| Monitoring | `/monitoring` | Live stream status |
|
||
| Logs | `/logs/:provider?/:stream?` | Log viewer |
|
||
| Users | `/users` | User management |
|
||
| Config | `/config` | System configuration |
|
||
| Help | `/help` | Documentation |
|
||
| Login | `/login` | Authentication |
|
||
|
||
---
|
||
|
||
## Examples
|
||
|
||
### Basic IPTV Proxy
|
||
|
||
```bash
|
||
./o11pro -p 8080 -user admin -password mysecretpass
|
||
```
|
||
|
||
### Separate Streaming + EPG
|
||
|
||
```bash
|
||
./o11pro -p 8080 -streamport 9090 -epgport 9091
|
||
```
|
||
|
||
### HTTPS Mode
|
||
|
||
```bash
|
||
./o11pro -p 8443 -https
|
||
```
|
||
|
||
### Full Debug Mode
|
||
|
||
```bash
|
||
./o11pro -p 8080 -v 5 -stdout
|
||
```
|
||
|
||
---
|
||
|
||
## Directory Structure
|
||
|
||
```
|
||
o11pro-unpacked/
|
||
├── hls/
|
||
├── dl/
|
||
├── epg/
|
||
├── fonts/
|
||
├── logos/
|
||
├── logs/
|
||
├── manifests/
|
||
├── offair/
|
||
├── overlay/
|
||
├── providers/
|
||
├── rec/
|
||
├── scripts/
|
||
├── keys.txt
|
||
├── o11.cfg
|
||
├── o11-job.cfg
|
||
└── o11-rec.cfg
|
||
```
|
||
|
||
---
|
||
|
||
## EPG Access
|
||
|
||
| Format | URL |
|
||
| ---------- | ----------------------------------- |
|
||
| XML (gzip) | `http://ip:epgport/provider.xml.gz` |
|
||
| XML | `http://ip:epgport/provider.xml` |
|
||
| API | `/epg/:provider?/:stream?` |
|
||
|
||
---
|
||
|
||
## Notes
|
||
|
||
* `-p` is required
|
||
* Temp admin is generated if no credentials provided
|
||
* HTTPS requires valid cert + key
|
||
* `-manifest` runs download-only mode
|
||
* Multiple `-key` and `-H` flags supported
|
||
|
||
---
|
||
|
||
## Credits
|
||
|
||
* Nulled with his bullshit Backdoor (Cracked O11Pro)
|
||
* Lossui011
|
||
|
||
--- |