mirror of
https://github.com/anthonyaxenov/iptv.git
synced 2024-11-22 05:24:45 +00:00
Скрипт ./iptv
This commit is contained in:
parent
7b913b5099
commit
950dfdb1b9
20
README.md
20
README.md
@ -49,6 +49,7 @@ I'm too lazy to translate and support the whole project in ru and en, sorry, guy
|
|||||||
---
|
---
|
||||||
|
|
||||||
<a id="howtouse"></a>
|
<a id="howtouse"></a>
|
||||||
|
|
||||||
## Как использовать этот список?
|
## Как использовать этот список?
|
||||||
|
|
||||||
Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате:
|
Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате:
|
||||||
@ -64,6 +65,7 @@ iptv.axenov.dev/?<ID> (устаревший формат)
|
|||||||
Либо провернуть всё то же самое через браузер.
|
Либо провернуть всё то же самое через браузер.
|
||||||
|
|
||||||
<a id="iniformat"></a>
|
<a id="iniformat"></a>
|
||||||
|
|
||||||
## Формат `playlists.ini`
|
## Формат `playlists.ini`
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
@ -98,6 +100,7 @@ redirect = 1
|
|||||||
Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными.
|
Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными.
|
||||||
|
|
||||||
<a id="api"></a>
|
<a id="api"></a>
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
Можно получать состояние плейлистов из этого сборника при помощи метода:
|
Можно получать состояние плейлистов из этого сборника при помощи метода:
|
||||||
@ -181,11 +184,18 @@ GET https://iptv.axenov.dev/<ID>/json
|
|||||||
* `message` -- текст ошибки curl
|
* `message` -- текст ошибки curl
|
||||||
|
|
||||||
<a id="deploy"></a>
|
<a id="deploy"></a>
|
||||||
|
|
||||||
## Развёртывание проекта
|
## Развёртывание проекта
|
||||||
|
|
||||||
1. Выполнить `cp src/.env.example src/.env`, установить необходимые параметры
|
### Aвтоматически
|
||||||
2. Выполнить `docker compose up -d --build`
|
|
||||||
3. Открыть `http://<APP_URL>:8080`
|
Выполнить `./iptv init`
|
||||||
|
|
||||||
|
### Вручную
|
||||||
|
|
||||||
|
1. Выполнить `cp src/.env.example src/.env`, установить необходимые параметры в файле `src/.env`
|
||||||
|
2. Выполнить `docker compose up -d --build` (или `./iptv up`)
|
||||||
|
3. Открыть `http://<APP_URL>:8080` в браузере (или `./iptv open`)
|
||||||
|
|
||||||
Если на сервере, на котором запускаются контейнеры, стоит apache2, то его можно использовать как реверс прокси:
|
Если на сервере, на котором запускаются контейнеры, стоит apache2, то его можно использовать как реверс прокси:
|
||||||
|
|
||||||
@ -235,6 +245,7 @@ $ sudo systemctl restart apache2
|
|||||||
```
|
```
|
||||||
|
|
||||||
<a id="tools"></a>
|
<a id="tools"></a>
|
||||||
|
|
||||||
## Дополнительные инструменты (`./tools`)
|
## Дополнительные инструменты (`./tools`)
|
||||||
|
|
||||||
### `download-all.sh`
|
### `download-all.sh`
|
||||||
@ -367,6 +378,7 @@ http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
|
|||||||
```
|
```
|
||||||
|
|
||||||
<a id="howtomake"></a>
|
<a id="howtomake"></a>
|
||||||
|
|
||||||
## Как создать свой собственный плейлист?
|
## Как создать свой собственный плейлист?
|
||||||
|
|
||||||
1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini):
|
1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini):
|
||||||
@ -389,6 +401,7 @@ http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
|
|||||||
5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат.
|
5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат.
|
||||||
|
|
||||||
<a id="stack"></a>
|
<a id="stack"></a>
|
||||||
|
|
||||||
## Использованный стек
|
## Использованный стек
|
||||||
|
|
||||||
* [docker compose](https://docs.docker.com/compose/)
|
* [docker compose](https://docs.docker.com/compose/)
|
||||||
@ -399,6 +412,7 @@ http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
|
|||||||
* bash
|
* bash
|
||||||
|
|
||||||
<a id="license"></a>
|
<a id="license"></a>
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
[The MIT License](LICENSE)
|
[The MIT License](LICENSE)
|
||||||
|
29
iptv
Executable file
29
iptv
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# https://gist.github.com/anthonyaxenov/89c99e09ddb195985707e2b24a57257d
|
||||||
|
|
||||||
|
CONTAINER="iptv-php" # the name of the container in which to 'exec' something
|
||||||
|
CONFIG="$(dirname $([ -L $0 ] && readlink -f $0 || echo $0))/docker-compose.yml" # path to compose yml file
|
||||||
|
CMD="docker-compose -f $CONFIG" # docker-compose command
|
||||||
|
APP_URL='http://localhost:8080/'
|
||||||
|
|
||||||
|
open_browser() {
|
||||||
|
if which xdg-open > /dev/null; then
|
||||||
|
xdg-open "$1" </dev/null >/dev/null 2>&1 & disown
|
||||||
|
elif which gnome-open > /dev/null; then
|
||||||
|
gnome-open "$1" </dev/null >/dev/null 2>&1 & disown
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'' | 'help' ) echo -e "Provide one of operations: \t init, start, stop, up, down, restart, rebuild, open";
|
||||||
|
echo "Otherwise all args will passed to 'docker exec -ti $CONTAINER ...'" ;;
|
||||||
|
'init' ) cp src/.env.example src/.env && nano src/.env && ./iptv up && ./iptv composer i && ./iptv open && echo -e "\nYou're welcome!\n\t$APP_URL";;
|
||||||
|
'up' ) $CMD up -d --build && ./iptv open ;; # build and start containers
|
||||||
|
'down' ) $CMD down --remove-orphans ;; # stop and remove containers
|
||||||
|
'start' ) $CMD start && ./iptv open ;; # start containers
|
||||||
|
'stop' ) $CMD stop ;; # stop containers
|
||||||
|
'restart' ) $CMD stop && $CMD start ;; # restart containers
|
||||||
|
'rebuild' ) $CMD down --remove-orphans && $CMD up -d --build ;; # rebuild containers
|
||||||
|
'open' ) open_browser $APP_URL ;;
|
||||||
|
* ) docker exec -ti $CONTAINER $@ # exec anything else in container
|
||||||
|
esac
|
@ -1,5 +1,5 @@
|
|||||||
APP_TITLE=
|
APP_TITLE='Плейлисты IPTV'
|
||||||
APP_URL=
|
APP_URL=http://localhost:8080
|
||||||
TWIG_CACHE=1
|
TWIG_CACHE=1
|
||||||
TWIG_DEBUG=0
|
TWIG_DEBUG=0
|
||||||
FLIGHT_CASE_SENSITIVE=0
|
FLIGHT_CASE_SENSITIVE=0
|
||||||
|
Loading…
Reference in New Issue
Block a user