File size: 5,009 Bytes
14bc0f1 9ed15df 14bc0f1 9ed15df 14bc0f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# ๐บ tvproxy
## ๐ M3U8 Proxy Dockerizzato
Un server proxy leggero basato su **Flask** e **Requests**, progettato per:
- ๐ฅ Scaricare e modificare flussi **.m3u / .m3u8**
- ๐ Proxare i segmenti `.ts`, mantenendo header personalizzati
- ๐ซ Superare restrizioni come **Referer**, **User-Agent**, ecc.
- ๐ณ Essere facilmente **dockerizzabile** su qualsiasi macchina o server
---
## โ๏ธ Deploy su Render
1. Vai su **Projects โ Deploy a Web Service โ Public Git Repo**
2. Inserisci il repo: `https://github.com/nzo66/tvproxy` โ **Connect**
3. Dai un nome a piacere
4. Imposta **Instance Type** su `Free`
5. Clicca su **Deploy Web Service**
---
## ๐ค Deploy su HuggingFace
`ricora di fare factory rebuild per aggiornare il proxy se ci sono aggiornamenti!`
1. Crea un nuovo **Space**
2. Scegli un nome qualsiasi e imposta **Docker** come tipo
3. Lascia **Public** e crea lo Space
4. Vai in alto a destra โ `โฎ` โ **Files** โ carica **DockerfileHF** rinominandolo **Dockerfile**
5. Infine vai su `โฎ` โ **Embed this Space** per ottenere il **Direct URL**
---
## ๐ณ Docker (Locale o Server)
### โ
Costruzione e Avvio
```bash
git clone https://github.com/nzo66/tvproxy.git
cd tvproxy
docker build -t tvproxy .
docker run -d -p 7860:7860 --name tvproxy tvproxy
```
---
## ๐ง Termux (Dispositivi Android)
### โ
Costruzione e Avvio
```bash
pkg install git python -y
git clone https://github.com/nzo66/tvproxy.git
cd tvproxy
pip install -r requirements.txt'
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
```
---
## ๐ Avvio con Python (Locale)
### โ
Setup e Avvio
```bash
# Clona il repository
git clone https://github.com/nzo66/tvproxy.git
cd tvproxy
# Installa le dipendenze
pip install -r requirements.txt
# Avvia il server
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
```
---
## ๐ ๏ธ Gestione Docker
- ๐ Logs: `docker logs -f tvproxy`
- โ Stop: `docker stop tvproxy`
- ๐ Start: `docker start tvproxy`
- ๐งน Rimozione: `docker rm -f tvproxy`
---
## ๐ ๏ธ Come Utilizzare
Assicurati di sostituire i placeholder come `<server-ip>` con l'indirizzo IP o l'hostname effettivo del tuo server e `<URL_...>` con gli URL specifici.
---
### 1. Proxy per Liste M3U Complete ๐ก
Questo endpoint รจ progettato per proxare l'intera lista M3U. ร particolarmente utile per garantire compatibilitร e stabilitร , con supporto menzionato per formati come Vavoo e Daddylive.
**Formato URL:**
```text
http://<server-ip>:7860/proxy?url=<URL_LISTA_M3U>
```
**Dove:**
- `<server-ip>`: L'indirizzo IP o hostname del tuo server proxy.
- `<URL_LISTA_M3U>`: L'URL completo della lista M3U che vuoi proxare.
> ๐ **Nota:** Questo endpoint รจ ideale per gestire l'intera collezione di flussi contenuta in un file M3U.
---
### 2. Proxy per Singoli Flussi M3U8 (con Headers Personalizzati) ๐บโจ
Questo endpoint รจ specifico per proxare singoli flussi video `.m3u8`. La sua caratteristica distintiva รจ la capacitร di inoltrare headers HTTP personalizzati, essenziale per scenari che richiedono autenticazione specifica o per simulare richieste da client particolari.
**Formato URL Base:**
```text
http://<server-ip>:7860/proxy/m3u?url=<URL_FLUSSO_M3U8>
```
**Esempio:**
```text
http://<server-ip>:7860/proxy/m3u?url=https://example.com/stream.m3u8
```
**Dove:**
- `<server-ip>`: L'indirizzo IP o hostname del tuo server proxy.
- `<URL_FLUSSO_M3U8>`: L'URL completo del singolo flusso M3U8.
#### ๐ฏ Aggiungere Headers HTTP Personalizzati (Opzionale)
Per includere headers personalizzati nella richiesta al flusso M3U8, accodali all'URL del proxy. Ogni header deve essere prefissato da `&h_`, seguito dal nome dell'header, un segno di uguale (`=`), e il valore dell'header.
**Formato per gli Headers:**
```text
&h_<NOME_HEADER>=<VALORE_HEADER>
```
**Esempio con Headers Personalizzati:**
```text
http://<server-ip>:7860/proxy/m3u?url=https://example.com/stream.m3u8&h_user-agent=Mozilla/5.0...&h_referer=https://ilovetoplay.xyz/&h_origin=https://ilovetoplay.xyz
```
> โ ๏ธ **Attenzione:**
> - Ricorda di sostituire `Mozilla/5.0...` con lo User-Agent completo che intendi utilizzare.
> - Se i valori degli header contengono caratteri speciali (es. spazi, due punti), assicurati che siano correttamente URL-encoded per evitare errori.
---
## โ
Caratteristiche
- ๐ Supporta **.m3u** e **.m3u8** automaticamente
- ๐งพ Inoltra gli **HTTP Headers** necessari (Auth, Referer, etc.)
- ๐ Supera restrizioni geografiche o di accesso
- ๐ฅ๏ธ Compatibile con **qualsiasi player IPTV**
- ๐ณ Totalmente dockerizzato, pronto per il deploy
- ๐ Avviabile anche direttamente con **Python**
---
## ๐ Fine!
> Ora puoi guardare flussi M3U8 ovunque, senza restrizioni!
> Enjoy the Stream ๐ |