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 ๐Ÿš€