Skip to content
ย 
ย 

Latest commit

ย 

History

486 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

tvproxy ๐Ÿ“บ

Un server proxy avanzato e dockerizzato basato su Flask e Requests, progettato per superare restrizioni e accedere a flussi M3U/M3U8 senza interruzioni con funzionalitร  avanzate di monitoraggio e ottimizzazione.

  • ๐Ÿ“ฅ Scarica e modifica flussi .m3u e .m3u8 al volo
  • ๐Ÿ” Proxa i segmenti .ts mantenendo header personalizzati
  • ๐Ÿšซ Supera restrizioni comuni come Referer, User-Agent, ecc.
  • ๐Ÿณ Facilmente dockerizzabile su qualsiasi macchina, server o piattaforma cloud
  • ๐Ÿงช Dashboard web completa per amministrazione e monitoraggio in tempo reale
  • โšก Sistema di pre-buffering per eliminare il buffering durante lo streaming
  • ๐ŸŒŸ Proxy DaddyLive dedicati con gestione separata e blacklist automatica
  • ๐Ÿ” Risoluzione Vavoo integrata per link Vavoo.to
  • ๐Ÿ“Š WebSocket real-time per statistiche live e aggiornamenti istantanei
  • ๐Ÿ›ก๏ธ Sistema di blacklist intelligente per proxy con errori 429
  • ๐Ÿ”ง Configurazione dinamica senza riavvio del server

๐Ÿ“š Indice


๐Ÿ” Configurazione Autenticazione (OBBLIGATORIA)

Variabili d'Ambiente di Sicurezza

Variabile Descrizione Obbligatoria Default
ADMIN_PASSWORD Password per accedere alla dashboard di amministrazione SรŒ password123
SECRET_KEY Chiave segreta per le sessioni Flask (deve essere univoca e sicura) SรŒ Nessuna
ADMIN_USERNAME Username per l'accesso (configurabile dalla web UI) No admin
ALLOWED_IPS Lista di IP autorizzati separati da virgola No Tutti gli IP

โš ๏ธ Obbligatorio: impostare ADMIN_PASSWORD e SECRET_KEY.
๐Ÿ”‘ Usa un valore univoco per SECRET_KEY, ad esempio generato con:
openssl rand -hex 32
oppure:
python -c 'import secrets; print(secrets.token_hex(32))'


๐Ÿณ Esempio Docker

docker run -d -p 7860:7860 \
  -e ADMIN_PASSWORD=tua_password_sicura \
  -e SECRET_KEY=1f4d8e9a6c57bd2eec914d93cfb7a3efb9ae67f2643125c89cc3c50e75c4d4c3 \
  --name tvproxy tvproxy

๐Ÿ“ฆ Esempio .env (Termux / Python)

ADMIN_PASSWORD=tua_password_sicura
SECRET_KEY=1f4d8e9a6c57bd2eec914d93cfb7a3efb9ae67f2643125c89cc3c50e75c4d4c3

๐Ÿ’พ Configurazione per Server con RAM Limitata (1 GB)

๐Ÿ“ƒ .env ottimizzato

# OBBLIGATORIO
ADMIN_PASSWORD=tua_password_sicura
SECRET_KEY=chiave_segreta_generata

# Ottimizzazioni memoria
REQUEST_TIMEOUT=30
KEEP_ALIVE_TIMEOUT=120
MAX_KEEP_ALIVE_REQUESTS=100
POOL_CONNECTIONS=5
POOL_MAXSIZE=10

# Cache ridotta
CACHE_TTL_M3U8=2
CACHE_TTL_TS=60
CACHE_TTL_KEY=60
CACHE_MAXSIZE_M3U8=50
CACHE_MAXSIZE_TS=200
CACHE_MAXSIZE_KEY=50

# Pre-buffering ridotto
PREBUFFER_ENABLED=true
PREBUFFER_MAX_SEGMENTS=2
PREBUFFER_MAX_SIZE_MB=20
PREBUFFER_MAX_MEMORY_PERCENT=15

๐Ÿšซ Disattivare la Cache per Streaming Diretto

Se vuoi disabilitare completamente la cache (ad esempio per streaming diretto e contenuti sempre aggiornati), puoi farlo aggiungendo questa riga al tuo file .env oppure dall'interfaccia web:

CACHE_ENABLED=False

โ˜๏ธ Piattaforme di Deploy

โ–ถ๏ธ Render

  1. Projects โ†’ New โ†’ Web Service โ†’ Public Git Repo.
  2. Repository: https://github.com/nzo66/tvproxy โ†’ Connect.
  3. Scegli un nome, Instance Type Free (o superiore).
  4. Aggiungi le variabili ADMIN_PASSWORD e SECRET_KEY nell'area Environment.
  5. (Opzionale) Aggiungi SOCKS5_PROXY, HTTP_PROXY, HTTPS_PROXY, DADDY_PROXY.
  6. Create Web Service.

๐Ÿค– HuggingFace Spaces

  1. Crea un nuovo Space (SDK: Docker).
  2. Carica DockerfileHF come Dockerfile.
  3. Vai in Settings โ†’ Secrets e aggiungi ADMIN_PASSWORD e SECRET_KEY.
  4. OBBLIGATORIO: Aggiungi DADDY_PROXY per servizi DaddyLive (SOCKS5 non supportato su HF).
  5. (Opzionale) Aggiungi HTTP_PROXY + HTTPS_PROXY per proxy generali.
  6. Dopo ogni modifica alle variabili fai Factory Rebuild.

Configurazione Ottimizzata per HuggingFace

Per HuggingFace Spaces, รจ OBBLIGATORIO utilizzare questa configurazione ottimizzata. Aggiungi le seguenti variabili nei Secrets del tuo Space:

# OBBLIGATORIO
ADMIN_PASSWORD=tua_password_sicura
SECRET_KEY=chiave_segreta_generata

# OBBLIGATORIO per HuggingFace - Proxy DaddyLive
DADDY_PROXY=http://user:pass@proxy1:8080,https://user:pass@proxy2:8080

# Cache Ottimizzata
CACHE_TTL_M3U8=5
CACHE_MAXSIZE_M3U8=500
CACHE_TTL_TS=600
CACHE_MAXSIZE_TS=8000
CACHE_TTL_KEY=600
CACHE_MAXSIZE_KEY=1000

# Pool di Connessioni Potenziato
POOL_CONNECTIONS=50
POOL_MAXSIZE=300
MAX_KEEP_ALIVE_REQUESTS=5000
KEEP_ALIVE_TIMEOUT=900
REQUEST_TIMEOUT=45

# Pre-buffering ottimizzato
PREBUFFER_ENABLED=true
PREBUFFER_MAX_SEGMENTS=3
PREBUFFER_MAX_SIZE_MB=50
PREBUFFER_MAX_MEMORY_PERCENT=25

# Domini senza proxy
NO_PROXY_DOMAINS=github.com,raw.githubusercontent.com

Perchรฉ questa configurazione?

  • DADDY_PROXY Obbligatorio: HuggingFace richiede proxy HTTP/HTTPS per servizi DaddyLive
  • Cache Ottimizzata: Valori piรน elevati per gestire meglio i flussi video frequenti
  • Pool di Connessioni Potenziato: Gestisce piรน connessioni simultanee nell'ambiente cloud
  • Timeout Bilanciati: Equilibrio tra stabilitร  e performance per connessioni di lunga durata
  • Pre-buffering Intelligente: Riduce il buffering durante lo streaming

โš ๏ธ IMPORTANTE: Su HuggingFace Spaces, i proxy SOCKS5 non sono supportati. Usa solo proxy HTTP/HTTPS per DADDY_PROXY.


๐Ÿ’ป Setup Locale

๐Ÿณ Docker

git clone https://github.com/nzo66/tvproxy.git
cd tvproxy
docker build -t tvproxy .

docker run -d -p 7860:7860 \
  -e ADMIN_PASSWORD=tua_password_sicura \
  -e SECRET_KEY=chiave_segreta_generata \
  --name tvproxy tvproxy

๐Ÿง Termux (Android)

pkg update && pkg upgrade
pkg install git python nano -y

git clone https://github.com/nzo66/tvproxy.git
cd tvproxy
pip install -r requirements.txt

echo "ADMIN_PASSWORD=tua_password_sicura" > .env
echo "SECRET_KEY=chiave_segreta_generata" >> .env

gunicorn app:app -w 4 --worker-class gevent -b 0.0.0.0:7860

๐Ÿ Python

git clone https://github.com/nzo66/tvproxy.git
cd tvproxy
pip install -r requirements.txt

echo "ADMIN_PASSWORD=tua_password_sicura" > .env
echo "SECRET_KEY=chiave_segreta_generata" >> .env

gunicorn app:app -w 4 --worker-class gevent --worker-connections 100 \
        -b 0.0.0.0:7860 --timeout 120 --keep-alive 5 \
        --max-requests 1000 --max-requests-jitter 100

๐ŸŽ›๏ธ Dashboard di Amministrazione

  • ๐Ÿ  Home: http://<server-ip>:7860/
  • ๐Ÿ” Login: http://<server-ip>:7860/login
  • ๐Ÿ“Š Dashboard: http://<server-ip>:7860/dashboard
  • โš™๏ธ Config: http://<server-ip>:7860/admin/config
  • ๐Ÿ“ Log: http://<server-ip>:7860/admin/logs
  • ๐Ÿ‘ฅ Client: http://<server-ip>:7860/admin/clients
  • ๐Ÿ“ˆ API Stats: http://<server-ip>:7860/stats

๐Ÿ†• Nuove Funzionalitร  Dashboard

  • ๐Ÿ“Š Statistiche Real-time: WebSocket per aggiornamenti istantanei
  • ๐Ÿ›ก๏ธ Gestione Proxy: Monitoraggio blacklist e stato proxy
  • โšก Pre-buffering: Controllo e configurazione del sistema di pre-buffering
  • ๐Ÿ’พ Gestione Memoria: Monitoraggio RAM e pulizia automatica
  • ๐Ÿ‘ฅ Tracking Client: Statistiche sui client connessi e loro utilizzo
  • ๐Ÿ”ง Configurazione Dinamica: Modifica impostazioni senza riavvio

๐Ÿงฐ Utilizzo del Proxy

Sostituisci <server-ip> con l'indirizzo del tuo server.

๐Ÿ’ก Liste M3U

http://<server-ip>:7860/proxy?url=<URL_LISTA_M3U>

๐Ÿ“บ Flussi M3U8 con headers

http://<server-ip>:7860/proxy/m3u?url=<URL_FLUSSO_M3U8>&h_<HEADER>=<VALORE>

Esempio:

.../proxy/m3u?url=https://example.com/stream.m3u8&h_user-agent=VLC/3.0.20&h_referer=https://example.com/

๐Ÿ” Risoluzione DaddyLive 2025

http://<server-ip>:7860/proxy/resolve?url=<URL_DADDYLIVE>

๐ŸŒŸ Risoluzione Vavoo

http://<server-ip>:7860/proxy/vavoo?url=<URL_VAVOO>

Esempio:

.../proxy/vavoo?url=https://vavoo.to/vavoo-iptv/play/277580225585f503fbfc87

โšก Pre-buffering Manuale

http://<server-ip>:7860/proxy/prebuffer?m3u8_url=<URL_M3U8>&stream_id=<ID_STREAM>

๐Ÿ”‘ Chiavi AES-128

http://<server-ip>:7860/proxy/key?url=<URL_CHIAVE>&h_<HEADER>=<VALORE>

๐Ÿ” Configurazione Proxy (Opzionale)

Proxy Generali

Variabile Descrizione Esempio
SOCKS5_PROXY Uno o piรน proxy SOCKS5, separati da virgola socks5://user:pass@host:port,...
HTTP_PROXY Proxy HTTP (usare in coppia con HTTPS_PROXY) http://user:pass@host:port,...
HTTPS_PROXY Proxy HTTPS (di solito uguale a HTTP_PROXY) http://user:pass@host:port,...
NO_PROXY_DOMAINS Domini da escludere dal proxy, separati da virgola github.com,vavoo.to

๐ŸŒŸ Proxy DaddyLive Dedicati

Variabile Descrizione Esempio
DADDY_PROXY Proxy dedicati solo per DaddyLive, separati da virgola socks5://user:pass@host:port,...

Riconoscimento Automatico: Il sistema rileva automaticamente il tipo di proxy (SOCKS5, HTTP, HTTPS) e normalizza gli URL.

Esempio .env completo:

ADMIN_PASSWORD=tua_password_sicura
SECRET_KEY=chiave_segreta_generata

# Proxy Generali
SOCKS5_PROXY=socks5://user:pass@host1:1080,socks5://user:pass@host2:1080
HTTP_PROXY=http://user:pass@host:8080
HTTPS_PROXY=http://user:pass@host:8080

# Proxy DaddyLive Dedicati
DADDY_PROXY=socks5://user:pass@daddy1:1080,http://user:pass@daddy2:8080

# Domini senza proxy
NO_PROXY_DOMAINS=github.com,raw.githubusercontent.com,vavoo.to

๐ŸŒŸ Proxy DaddyLive Dedicati

Come Funziona

Il sistema utilizza proxy dedicati per i servizi DaddyLive, identificati automaticamente da:

  • Domini: newkso.ru (qualsiasi sottodominio)
  • Path: URL che contengono /stream- nel percorso
  • Fallback: Se i proxy DaddyLive non sono disponibili, usa i proxy normali

Vantaggi

  • ๐ŸŽฏ Ottimizzazione: Proxy dedicati per servizi specifici
  • ๐Ÿ›ก๏ธ Blacklist Separata: Gestione errori 429 indipendente
  • ๐Ÿ“Š Statistiche Dedicati: Monitoraggio separato per proxy DaddyLive
  • ๐Ÿ”„ Fallback Automatico: Passaggio ai proxy normali se necessario

Configurazione

# Proxy dedicati per DaddyLive
DADDY_PROXY=socks5://user:pass@daddy1:1080,http://user:pass@daddy2:8080,https://user:pass@daddy3:8080

โšก Sistema di Pre-Buffering

Caratteristiche

  • ๐Ÿš€ Pre-scarica: I segmenti successivi vengono scaricati in background
  • ๐Ÿ’พ Gestione Memoria: Controllo automatico dell'uso RAM
  • ๐Ÿ”„ Pulizia Automatica: Rimozione buffer inattivi
  • โš™๏ธ Configurabile: Parametri personalizzabili dall'interfaccia web

Configurazione

# Pre-buffering
PREBUFFER_ENABLED=true
PREBUFFER_MAX_SEGMENTS=3
PREBUFFER_MAX_SIZE_MB=50
PREBUFFER_CLEANUP_INTERVAL=300
PREBUFFER_MAX_MEMORY_PERCENT=30
PREBUFFER_EMERGENCY_THRESHOLD=90

Endpoint di Gestione

  • ๐Ÿ“Š Stato: /admin/prebuffer/status
  • ๐Ÿงน Pulizia: /admin/prebuffer/clear
  • ๐Ÿงช Test: /admin/prebuffer/test
  • ๐Ÿ’พ Memoria: /admin/memory/status

๐Ÿ” Risoluzione Vavoo

Supporto Integrato

Il sistema include risoluzione automatica per link Vavoo:

  • ๐Ÿ”— Pattern Supportati:

    • https://vavoo.to/vavoo-iptv/play/[ID]
    • https://vavoo.to/play/[ID]
  • ๐ŸŽฏ Endpoint Dedicato: /proxy/vavoo?url=<URL_VAVOO>

Esempio

http://<server-ip>:7860/proxy/vavoo?url=https://vavoo.to/vavoo-iptv/play/277580225585f503fbfc87

Caratteristiche

  • ๐Ÿ”„ Retry Automatico: Tentativi multipli per errori temporanei
  • ๐Ÿ›ก๏ธ Gestione Errori: Fallback all'URL originale in caso di errore
  • ๐Ÿ“Š Logging Dettagliato: Tracciamento completo del processo di risoluzione

๐Ÿ›ก๏ธ Sistema di Blacklist Proxy

Gestione Errori 429

  • โฐ Blacklist Temporanea: 5 minuti per errori 429
  • ๐Ÿ”’ Blacklist Permanente: 1 ora dopo 5 errori consecutivi
  • ๐Ÿ”„ Pulizia Automatica: Rimozione automatica dei proxy scaduti
  • ๐Ÿ“Š Statistiche Separate: Conteggi distinti per proxy normali e DaddyLive

Configurazione

# Domini senza proxy (evitano blacklist)
NO_PROXY_DOMAINS=github.com,raw.githubusercontent.com,vavoo.to

๐Ÿณ Gestione Docker Rapida

docker logs -f tvproxy      # log in tempo reale
docker stop tvproxy         # ferma il container
docker start tvproxy        # avvia il container
docker rm -f tvproxy        # rimuovi il container

โœ… Caratteristiche Principali

๐Ÿ”ง Funzionalitร  Core

  • โœ… Supporto automatico .m3u / .m3u8
  • โœ… Headers personalizzati (Authorization, Referer, ...)
  • โœ… Aggira restrizioni geografiche
  • โœ… Compatibile con qualsiasi player IPTV
  • โœ… Totalmente dockerizzato

๐ŸŽ›๏ธ Dashboard Avanzata

  • โœ… Dashboard web completa con statistiche, log, configurazioni
  • โœ… Autenticazione sicura + whitelist IP
  • โœ… Monitoraggio RAM / rete in tempo reale
  • โœ… Cache intelligente M3U8 / TS / AES
  • โœ… Configurazioni dinamiche senza riavvio

๐ŸŒŸ Nuove Funzionalitร 

  • โœ… Proxy DaddyLive dedicati con gestione separata
  • โœ… Sistema di pre-buffering per eliminare il buffering
  • โœ… Risoluzione Vavoo integrata
  • โœ… WebSocket real-time per statistiche live
  • โœ… Sistema di blacklist intelligente per proxy
  • โœ… Tracking client con statistiche dettagliate
  • โœ… Gestione memoria avanzata con pulizia automatica
  • โœ… Retry logic per errori temporanei
  • โœ… Riconoscimento automatico tipo proxy (SOCKS5, HTTP, HTTPS)
  • โœ… Statistiche IP (IPv4, IPv6, hostname) separate per tipo proxy

๐ŸŽ‰ Enjoy the Stream!

Goditi i tuoi flussi preferiti ovunque, senza restrizioni, con controllo completo e monitoraggio avanzato. Il sistema ora include funzionalitร  enterprise per gestione proxy avanzata, pre-buffering intelligente e risoluzione automatica di servizi popolari.

About

FREE PROXY

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages