Skip to content

hamboy75/PtP-Proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

📡 PtP-Proxy

High-performance IPTV HLS proxy, restreamer and VOD tunnel — written in C++, self-hosted, zero runtime dependencies.

Downloads, documentation and release notes:
🌐 https://ptp-proxy.webtool.es


What it does

PtP-Proxy is a multipurpose HLS streaming server that sits between your media clients (Smart TV, Android, VLC, Kodi, ffplay…) and the upstream IPTV or VOD sources. It runs as a single static binary with no external runtime required.

Operating modes

Mode Description
Proxy Transparently rewrites remote HLS playlists and forwards segments/keys. Supports per-channel authentication headers. No FFmpeg needed.
Restream Launches one FFmpeg process per channel, generates its own HLS output (disk or RAM), and serves it to any number of simultaneous clients.
Raw Tunnel Range-aware HTTP tunnel for MP4/MKV VOD. Persistent TCP connection to the CDN, no memory buffering, native seek support.
VOD Streaming Full VOD pipeline with #EXT-X-ENDLIST signaling, CDN URL caching and metadata caching.

Features

Feature Details
⚡ Async I/O Built on Boost.Asio / Boost.Beast — handles hundreds of concurrent streams
🔒 TLS Upstream TLS 1.2 + 1.3 and optional HTTPS listener
🛡️ Security Anti-SSRF controls, IP filtering, HMAC stream tokens
🎬 Transcoding Optional CPU (x264) or GPU (NVENC) via FFmpeg
🧠 RAM segments HLS segmentation in RAM — no disk writes
🔑 DRM Transparent proxy of AES-128 HLS keys
📊 Metrics Prometheus-compatible /metrics endpoint
🗓️ Caching PHP claim cache (30 s TTL), CDN URL cache (5 min), VOD metadata cache (5 min)
🪟 Windows Service Built-in --install-service support — no NSSM or Task Scheduler needed
🐧 Linux Runs as a systemd service (unit file included in zip)
🏠 Self-hosted Fully local, no cloud, no telemetry

Download

Pre-built binaries for all supported platforms are available on the project website:

Platform Architecture Link
Windows x64 ptp-proxy.webtool.es/download
Linux x64 ptp-proxy.webtool.es/download
Linux ARM64 ptp-proxy.webtool.es/download
Linux ARMv7 ptp-proxy.webtool.es/download

Releases are versioned by build date (e.g. v20260307).
All past releases are also available on the Releases page.


Quick start

# 1. Extract the zip
# 2. Copy the example config
cp config-example.json config.json

# 3. Edit config.json — set server.port, add your channels
# 4. Run
./ptp-proxy --config config.json       # Linux
ptp-proxy.exe --config config.json    # Windows

# 5. Check it's up
curl http://localhost:8180/health
# → ok

# 6. Get the M3U playlist
curl http://localhost:8180/playlist.m3u

Windows service

# Install
ptp-proxy.exe --install-service --config "C:\path\to\config.json"
# Start
Start-Service ptp-proxy

Linux systemd

# A systemd unit file is included in the zip
sudo cp ptp-proxy.service /etc/systemd/system/
sudo systemctl enable --now ptp-proxy

API endpoints

Method Path Description
GET /health Liveness check — returns ok
GET /playlist.m3u M3U playlist of all configured channels
GET /channels/<id>/playlist.m3u8 HLS playlist for a single channel
GET /stream?t=<token> Secure-token stream URL
GET /metrics Prometheus metrics (localhost only)
GET /api/channels Channel list as JSON (localhost only)

Configuration example

{
  "server": {
    "host": "0.0.0.0",
    "port": 8180
  },
  "logging": {
    "file": "ptp-proxy.log",
    "level": "info"
  },
  "channels": [
    {
      "id": "channel1",
      "name": "My Channel",
      "mode": "proxy",
      "url": "https://example.com/live/stream.m3u8",
      "headers": {
        "User-Agent": "MyPlayer/1.0"
      }
    }
  ]
}

See config-example.json (included in every release zip) for the full reference.


System requirements

Windows: Windows 10 / Server 2016 or later, x64. OpenSSL DLLs are bundled in the zip.

Linux x64: glibc 2.31+ (Ubuntu 20.04 / Debian 11 or newer).

Linux ARM64 / ARMv7: same glibc requirement; tested on Raspberry Pi 4/5 and similar SBCs.

FFmpeg: only required if you use restream or transcoding mode.
Install separately: apt install ffmpeg / winget install FFmpeg.


License

Copyright (c) 2025-2026 ptp-proxy.webtool.es — All rights reserved.

Permission is granted to download and use the pre-built binaries provided
through official channels (https://ptp-proxy.webtool.es) for personal or
commercial purposes.

Redistribution, modification, reverse-engineering or sublicensing of the
binaries is not permitted without explicit written permission.

Source code is not published.

About

High-performance IPTV HLS proxy, restreamer and VOD tunnel — self-hosted, no dependencies

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors