Обновлён README

This commit is contained in:
2025-03-03 14:47:33 +08:00
parent 8004d43a4a
commit 592504d2e0

View File

@@ -19,53 +19,38 @@
Список проверяется и обновляется мной вручную. Список проверяется и обновляется мной вручную.
Гарантию работоспособности никто не даёт. Гарантию работоспособности никто не даёт.
## English description * [Как использовать этот список?](#как-использовать-этот-список)
* [Формат `playlists.ini`](#формат-playlistsini)
> **Mirrored repo**: https://git.axenov.dev/anthony/iptv * [API](#api)
* [Развёртывание проекта](#развёртывание-проекта)
This repo contains IPTV-playlists free to use with your media-player. * [Apache](#apache)
* [Nginx](#nginx)
Most of them are in russian or CIS languages but you can find something interesting here for yourself. * [Расширенные возможности](#расширенные-возможности)
* [Собственный код html/css/js](#собственный-код-htmlcssjs-)
Also there are some handy tools to make your own playlist or find channels you want in playlists listed here. * [Очистка кеша twig](#очистка-кеша-twig)
* [Скачать все плейлисты](#скачать-все-плейлисты)
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. * [Поиск каналов во всех плейлистах](#поиск-каналов-во-всех-плейлистах)
* [Создать плейлист из нужных каналов](#создать-плейлист-из-нужных-каналов)
* [Как создать свой собственный плейлист?](#как-создать-свой-собственный-плейлист)
* [Использованный стек](#использованный-стек)
* [Лицензия](#лицензия)
--- ---
## Документация
- [Как использовать этот список?](#howtouse)
- [Формат playlists.ini](#iniformat)
- [API](#api)
- [Развёртывание проекта](#deploy)
- [Расширенные возможности](#tools)
- [Как создать свой собственный плейлист](#howtomake)
- [Использованный стек](#stack)
- [Лицензия](#license)
---
<a id="howtouse"></a>
## Как использовать этот список? ## Как использовать этот список?
Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате: Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате:
``` ```
iptv.axenov.dev/<ID> iptv.axenov.dev/<ID>
iptv.axenov.dev?<ID> (устаревший формат)
iptv.axenov.dev/?<ID> (устаревший формат)
``` ```
где `<ID>` - один из идентификаторов, указанных в [`playlists.ini`](playlists.ini) в квадратных скобках. где `<ID>` - один из идентификаторов, указанных в [`playlists.ini`](playlists.ini) в квадратных скобках.
Либо провернуть всё то же самое через браузер. Либо провернуть всё то же самое через браузер.
<a id="iniformat"></a>
## Формат `playlists.ini` ## Формат `playlists.ini`
```ini ```ini
@@ -99,8 +84,6 @@ redirect = 1
Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными. Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными.
<a id="api"></a>
## API ## API
Можно получать состояние плейлистов из этого сборника при помощи метода: Можно получать состояние плейлистов из этого сборника при помощи метода:
@@ -184,8 +167,6 @@ GET https://iptv.axenov.dev/<ID>/json
* `code` -- [код ошибки curl](https://curl.se/libcurl/c/libcurl-errors.html) * `code` -- [код ошибки curl](https://curl.se/libcurl/c/libcurl-errors.html)
* `message` -- текст ошибки curl * `message` -- текст ошибки curl
<a id="deploy"></a>
## Развёртывание проекта ## Развёртывание проекта
Локально достаточно выполнить `./iptv init && ./iptv open`. Локально достаточно выполнить `./iptv init && ./iptv open`.
@@ -193,13 +174,16 @@ GET https://iptv.axenov.dev/<ID>/json
На сервере опционально можно настроить реверс-прокси до контейнера, например, чтобы настроить доступ по доменному На сервере опционально можно настроить реверс-прокси до контейнера, например, чтобы настроить доступ по доменному
имени, изменить порт, подключить SSL-сертификаты или др. имени, изменить порт, подключить SSL-сертификаты или др.
### Apache
Если на сервере, на котором запускаются контейнеры, стоит apache2, то, чтобы использовать его как реверс-прокси, нужно: Если на сервере, на котором запускаются контейнеры, стоит apache2, то, чтобы использовать его как реверс-прокси, нужно:
``` ```
$ sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests $ sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests
$ sudo nano /etc/apache2/sites-available/iptv.conf $ sudo nano /etc/apache2/sites-available/iptv.conf
``` ```
```apacheconf
```
# example.com заменить на свой адрес # example.com заменить на свой адрес
<VirtualHost example.com:80> <VirtualHost example.com:80>
@@ -232,13 +216,43 @@ $ sudo nano /etc/apache2/sites-available/iptv.conf
# Enter # Enter
# Ctrl+X # Ctrl+X
``` ```
```shell ```shell
$ sudo a2ensite iptv $ sudo a2ensite iptv
$ # для подгрузки включенных модулей выполнить именно restart, а не reload $ # для подгрузки включенных модулей выполнить именно restart, а не reload
$ sudo systemctl restart apache2 $ sudo systemctl restart apache2
``` ```
<a id="tools"></a> ### 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 ### Собственный код html/css/js
@@ -312,7 +326,6 @@ cd src && composer clear-views
Для сохранения в файл следует добавить `> myfile.m3u` или `>> myfile.m3u` в конец команды. Для сохранения в файл следует добавить `> myfile.m3u` или `>> myfile.m3u` в конец команды.
<a id="howtomake"></a>
## Как создать свой собственный плейлист? ## Как создать свой собственный плейлист?
1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini): 1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini):
@@ -334,19 +347,15 @@ cd src && composer clear-views
4. Вручную: удалить нерабочие, мусорные и продублировавшиеся (по ссылкам) каналы. 4. Вручную: удалить нерабочие, мусорные и продублировавшиеся (по ссылкам) каналы.
5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат. 5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат.
<a id="stack"></a>
## Использованный стек ## Использованный стек
* [docker compose](https://docs.docker.com/compose/) * [docker compose](https://docs.docker.com/compose/)
* [php8.1-fpm](https://www.php.net/releases/8.1/en.php) * [php8.3-fpm](https://www.php.net/releases/8.3/ru.php)
* [FlightPHP](https://flightphp.com/learn) * [SlimPHP v4](https://www.slimframework.com/docs/v4/)
* [Bootstrap 5](https://getbootstrap.com/docs/5.0/getting-started/introduction/) * [Bootstrap 5](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
* [nginx](https://nginx.org/ru/) * [nginx](https://nginx.org/ru/)
* bash * bash
<a id="license"></a>
## Лицензия ## Лицензия
[The MIT License](LICENSE) [The MIT License](LICENSE)