ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΡΠ΅Π»Π΅ΠΊΠ°Π½Π°Π»ΠΎΠ², ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π½Π° ΡΠΏΡΡΠ½ΠΈΠΊΠ΅ Turksat 42Β°E.
- 14 ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ²: Π’ΠΠ’, Π‘Π’Π‘, ΠΠ’Π, Π ΠΠ Π’Π, Π ΠΎΡΡΠΈΡ 24, Π Π’Π ΠΠ»Π°Π½Π΅ΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° 7 Π΄Π½Π΅ΠΉ Π²ΠΏΠ΅ΡΡΠ΄ + Π²ΡΠ΅ΡΠ°ΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ EPG ΡΠ°Π· Π² ΡΡΡΠΊΠΈ ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° iptvx.one
- ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ "Π‘ΠΠΠ§ΠΠ‘" β ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²ΡΠ΄Π΅Π»Π΅Π½Π°
- Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ β ΡΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈ Π²ΡΠ΅Ρ ΡΡΠ°Π·Ρ
- Π‘Π΄Π²ΠΈΠ³ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° β Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
- PWA (Progressive Web App) β ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
- ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ , ΠΏΠ»Π°Π½ΡΠ΅ΡΠ°Ρ ΠΈ ΠΠ
- Π’ΡΠΌΠ½Π°Ρ ΡΠ΅ΠΌΠ° β ΠΏΡΠΈΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°
| ΠΠ°Π½Π°Π» | ID Π² EPG |
|---|---|
| 5 International | piaty-int |
| ΠΠΎΠΌΠ°ΡΠ½ΠΈΠΉ International | domashny-int |
| ΠΠ·Π²Π΅ΡΡΠΈΡ | izvestia |
| ΠΠ’Π ΠΠΈΡ | ntv-mir |
| ΠΠ’Π ΠΡΠ°Π²ΠΎ | ntv-pravo |
| ΠΠ’Π Π‘Π΅ΡΠΈΠ°Π» | ntv-serial |
| ΠΠ’Π Π‘ΡΠΈΠ»Ρ | ntv-style |
| ΠΠ΅ΡΠ΅Ρ International | perec-int |
| Π ΠΠ International | rentv-int |
| Π Π’Π ΠΠ»Π°Π½Π΅ΡΠ° | rtr-planeta-eu |
| Π ΠΎΡΡΠΈΡ 24 | rossia-24 |
| Π‘Π’Π‘ International | sts-int |
| Π’ΠΠ’ International | tnt-int-eu |
| Π’ΠΠ’ Music | tnt-music |
Π‘ΠΏΡΡΠ½ΠΈΠΊΠΎΠ²ΠΎΠ΅ Π²Π΅ΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ IPTV-Π²Π΅ΡΡΠΈΠΈ ΠΊΠ°Π½Π°Π»Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΄Π²ΠΈΠ³:
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ βοΈ Π² ΡΠ°ΠΏΠΊΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ + ΠΈ β Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ΄Π²ΠΈΠ³Π° (ΠΎΡ -12 Π΄ΠΎ +12 ΡΠ°ΡΠΎΠ²)
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² localStorage Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° Π³Π»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°:
Android / Chrome:
- ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π±Π°Π½Π½Π΅Ρ Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ TV RU 42EΒ»
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΒ» β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅
iPhone / iPad:
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΒ» (β¬οΈ) Π² Safari
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ° ΡΠΊΡΠ°Π½ ΠΠΎΠΌΠΎΠΉΒ»
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΠ±Π°Π²ΠΈΡΡΒ»
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
- PHP 7.4+ (Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ gzip)
- ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ (Apache/Nginx)
- ~200 MB ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ XML-ΡΠ°ΠΉΠ»Π° EPG
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅
index.phpΠ² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅ - Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ ΡΡΠΎ PHP ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²Π° Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
- ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ EPG Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (~30 MB Π°ΡΡ ΠΈΠ² β ~185 MB XML)
/your-directory/
βββ index.php # ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
βββ sw.js # Service Worker Π΄Π»Ρ PWA
βββ site.webmanifest # ΠΠ°Π½ΠΈΡΠ΅ΡΡ Π΄Π»Ρ PWA
βββ favicon.ico # ΠΠΊΠΎΠ½ΠΊΠ° ΡΠ°ΠΉΡΠ°
βββ favicon.svg # SVG ΠΈΠΊΠΎΠ½ΠΊΠ°
βββ favicon-96x96.png # PNG ΠΈΠΊΠΎΠ½ΠΊΠ° 96x96
βββ apple-touch-icon.png # ΠΠΊΠΎΠ½ΠΊΠ° Π΄Π»Ρ iOS
βββ web-app-manifest-192x192.png # PWA ΠΈΠΊΠΎΠ½ΠΊΠ° 192x192
βββ web-app-manifest-512x512.png # PWA ΠΈΠΊΠΎΠ½ΠΊΠ° 512x512
βββ epg_lite.xml # ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΡΡ EPG (ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ)
βββ epg_cache.json # ΠΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ (ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ)
Π Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π° index.php ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ:
$cache_time = 3600; // ΠΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (1 ΡΠ°Ρ)
$xml_max_age = 86400; // ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π²ΠΎΠ·ΡΠ°ΡΡ XML-ΡΠ°ΠΉΠ»Π° (24 ΡΠ°ΡΠ°)Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°Π½Π°Π», Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π΅Π³ΠΎ ID Π² EPG ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ² $channels_by_id:
$channels_by_id = [
'channel-id' => 'ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅',
// ...
];GET /?action=update_cache
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ JSON Ρ Π»ΠΎΠ³ΠΎΠΌ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ.
GET /?action=get_data&date=2025-12-04&channel=all
GET /?action=get_data&date=2025-12-04&channel=tnt-int-eu
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
dateβ Π΄Π°ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ YYYY-MM-DD (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΡΠ΅Π³ΠΎΠ΄Π½Ρ)channelβ ID ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈallΠ΄Π»Ρ Π²ΡΠ΅Ρ
- Backend: PHP (Π±Π΅Π· ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²)
- Frontend: Vanilla JavaScript, CSS3
- ΠΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ : iptvx.one EPG_LITE
- Π¨ΡΠΈΡΡΡ: Inter, JetBrains Mono (Google Fonts)
MIT License β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ.
- iptvx.one β Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ EPG Π΄Π°Π½Π½ΡΡ
- Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ vanlife.bez.coffee β Π·Π° ΠΈΠ΄Π΅Ρ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π‘Π΄Π΅Π»Π°Π½ΠΎ Ρ β€οΈ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΌΠΎΡΡΠΈΡ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠ²ΠΎΠ΅ Π’Π Π² ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΡΡ
