Обновлён 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
> **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)
---
<a id="howtouse"></a>
## Как использовать этот список?
Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате:
```
iptv.axenov.dev/<ID>
iptv.axenov.dev?<ID> (устаревший формат)
iptv.axenov.dev/?<ID> (устаревший формат)
```
где `<ID>` - один из идентификаторов, указанных в [`playlists.ini`](playlists.ini) в квадратных скобках.
Либо провернуть всё то же самое через браузер.
<a id="iniformat"></a>
## Формат `playlists.ini`
```ini
@@ -99,8 +84,6 @@ redirect = 1
Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными.
<a id="api"></a>
## API
Можно получать состояние плейлистов из этого сборника при помощи метода:
@@ -184,8 +167,6 @@ GET https://iptv.axenov.dev/<ID>/json
* `code` -- [код ошибки curl](https://curl.se/libcurl/c/libcurl-errors.html)
* `message` -- текст ошибки curl
<a id="deploy"></a>
## Развёртывание проекта
Локально достаточно выполнить `./iptv init && ./iptv open`.
@@ -193,13 +174,16 @@ GET https://iptv.axenov.dev/<ID>/json
На сервере опционально можно настроить реверс-прокси до контейнера, например, чтобы настроить доступ по доменному
имени, изменить порт, подключить SSL-сертификаты или др.
### Apache
Если на сервере, на котором запускаются контейнеры, стоит apache2, то, чтобы использовать его как реверс-прокси, нужно:
```
$ sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests
$ sudo nano /etc/apache2/sites-available/iptv.conf
```
```apacheconf
```
# example.com заменить на свой адрес
<VirtualHost example.com:80>
@@ -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
```
<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
@@ -312,7 +326,6 @@ cd src && composer clear-views
Для сохранения в файл следует добавить `> myfile.m3u` или `>> myfile.m3u` в конец команды.
<a id="howtomake"></a>
## Как создать свой собственный плейлист?
1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini):
@@ -334,19 +347,15 @@ cd src && composer clear-views
4. Вручную: удалить нерабочие, мусорные и продублировавшиеся (по ссылкам) каналы.
5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат.
<a id="stack"></a>
## Использованный стек
* [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
<a id="license"></a>
## Лицензия
[The MIT License](LICENSE)