From 592504d2e0621f24c094ad7c80721966e9d335eb Mon Sep 17 00:00:00 2001 From: AnthonyAxenov Date: Mon, 3 Mar 2025 14:47:33 +0800 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D1=91?= =?UTF-8?q?=D0=BD=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 99 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 54 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 8713bef..e1f0949 100644 --- a/README.md +++ b/README.md @@ -19,53 +19,38 @@ Список проверяется и обновляется мной вручную. Гарантию работоспособности никто не даёт. -## English description - -> **Mirrored repo**: https://git.axenov.dev/anthony/iptv - -This repo contains IPTV-playlists free to use with your media-player. - -Most of them are in russian or CIS languages but you can find something interesting here for yourself. - -Also there are some handy tools to make your own playlist or find channels you want in playlists listed here. - -You can use this repo according to [LICENSE](LICENSE) conditions. - -I'm too lazy to translate and support the whole project in ru and en, sorry, guys. +* [Как использовать этот список?](#как-использовать-этот-список) +* [Формат `playlists.ini`](#формат-playlistsini) +* [API](#api) +* [Развёртывание проекта](#развёртывание-проекта) + * [Apache](#apache) + * [Nginx](#nginx) +* [Расширенные возможности](#расширенные-возможности) + * [Собственный код html/css/js](#собственный-код-htmlcssjs-) + * [Очистка кеша twig](#очистка-кеша-twig) + * [Скачать все плейлисты](#скачать-все-плейлисты) + * [Проверить каналы плейлиста](#проверить-каналы-плейлиста) + * [Поиск каналов в одном плейлисте](#поиск-каналов-в-одном-плейлисте) + * [Поиск каналов во всех плейлистах](#поиск-каналов-во-всех-плейлистах) + * [Создать плейлист из нужных каналов](#создать-плейлист-из-нужных-каналов) +* [Как создать свой собственный плейлист?](#как-создать-свой-собственный-плейлист) +* [Использованный стек](#использованный-стек) +* [Лицензия](#лицензия) --- -## Документация - -- [Как использовать этот список?](#howtouse) -- [Формат playlists.ini](#iniformat) -- [API](#api) -- [Развёртывание проекта](#deploy) -- [Расширенные возможности](#tools) -- [Как создать свой собственный плейлист](#howtomake) -- [Использованный стек](#stack) -- [Лицензия](#license) - ---- - - - ## Как использовать этот список? Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате: ``` iptv.axenov.dev/ -iptv.axenov.dev? (устаревший формат) -iptv.axenov.dev/? (устаревший формат) ``` где `` - один из идентификаторов, указанных в [`playlists.ini`](playlists.ini) в квадратных скобках. Либо провернуть всё то же самое через браузер. - - ## Формат `playlists.ini` ```ini @@ -99,8 +84,6 @@ redirect = 1 Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными. - - ## API Можно получать состояние плейлистов из этого сборника при помощи метода: @@ -184,8 +167,6 @@ GET https://iptv.axenov.dev//json * `code` -- [код ошибки curl](https://curl.se/libcurl/c/libcurl-errors.html) * `message` -- текст ошибки curl - - ## Развёртывание проекта Локально достаточно выполнить `./iptv init && ./iptv open`. @@ -193,13 +174,16 @@ GET https://iptv.axenov.dev//json На сервере опционально можно настроить реверс-прокси до контейнера, например, чтобы настроить доступ по доменному имени, изменить порт, подключить SSL-сертификаты или др. +### Apache + Если на сервере, на котором запускаются контейнеры, стоит apache2, то, чтобы использовать его как реверс-прокси, нужно: ``` $ sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests $ sudo nano /etc/apache2/sites-available/iptv.conf ``` -```apacheconf + +``` # example.com заменить на свой адрес @@ -232,13 +216,43 @@ $ sudo nano /etc/apache2/sites-available/iptv.conf # Enter # Ctrl+X ``` + ```shell $ sudo a2ensite iptv $ # для подгрузки включенных модулей выполнить именно restart, а не reload $ sudo systemctl restart apache2 ``` - +### Nginx + +``` +$ sudo nano /etc/nginx/sites-available/iptv.conf +``` + +``` +# example.com заменить на свой адрес + +server { + listen 80; + listen [::]:80; + server_name example.com; + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + location / { + proxy_pass http://127.0.0.1:8080; + } +} + +# Ctrl+O +# Enter +# Ctrl+X +``` + +```shell +$ sudo ln -s /etc/nginx/sites-available/iptv.conf /etc/nginx/sites-enabled/iptv.conf +$ sudo systemctl reload apache2 +``` + ## Расширенные возможности ### Собственный код html/css/js @@ -312,7 +326,6 @@ cd src && composer clear-views Для сохранения в файл следует добавить `> myfile.m3u` или `>> myfile.m3u` в конец команды. - ## Как создать свой собственный плейлист? 1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini): @@ -334,19 +347,15 @@ cd src && composer clear-views 4. Вручную: удалить нерабочие, мусорные и продублировавшиеся (по ссылкам) каналы. 5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат. - - ## Использованный стек * [docker compose](https://docs.docker.com/compose/) -* [php8.1-fpm](https://www.php.net/releases/8.1/en.php) -* [FlightPHP](https://flightphp.com/learn) +* [php8.3-fpm](https://www.php.net/releases/8.3/ru.php) +* [SlimPHP v4](https://www.slimframework.com/docs/v4/) * [Bootstrap 5](https://getbootstrap.com/docs/5.0/getting-started/introduction/) * [nginx](https://nginx.org/ru/) * bash - - ## Лицензия [The MIT License](LICENSE)