1
1
mirror of https://github.com/anthonyaxenov/iptv.git synced 2024-12-21 13:55:37 +00:00

Readme + tools output misc

This commit is contained in:
Anthony Axenov 2022-10-23 20:43:56 +08:00
parent 1375740fd9
commit 9d10f63f14
Signed by: anthony
GPG Key ID: EA9EC32FF7CCD4EC
3 changed files with 7 additions and 107 deletions

104
README.md
View File

@ -239,7 +239,6 @@ $ sudo systemctl restart apache2
```
<a id="tools"></a>
## Расширенные возможности
### Собственный код html/css/js
@ -276,7 +275,7 @@ cd src && composer clear-views
Команда: `./tools/download-all.sh`
Скачивает все плейлисты из [`playlists.ini`](playlists.ini) в локальную директорию `./downloaded/`.
Скачивает все плейлисты из [`playlists.ini`](playlists.ini) в локальную директорию `./tools/downloaded/`.
### Проверить каналы плейлиста
@ -288,37 +287,6 @@ cd src && composer clear-views
Коды ошибок доступны [здесь](https://everything.curl.dev/usingcurl/returns).
Пример:
```
$ ./tools/check-pls.sh my.m3u8
Playlist: my.m3u8
Note 1: operation may take some time.
Note 2: press CTRL+C to skip current channel or CTRL+Z to kill process.
Note 3: results may be inaccurate, you should use proper IPTV software to re-check.
Note 4: error codes listed here - https://everything.curl.dev/usingcurl/returns
--------------------
[1] Канал Disney...
- OK: "http://ott-cdn.ucom.am/s60/04.m3u8"
[2] Канал Disney...
- ERROR 28 (-): "http://92.243.113.179:8080/Disney_Channel/index.m3u8?token=nts_tv"
[3] Disney канал ...
- OK: "http://ott-cdn.ucom.am/s60/index.m3u8 "
[4] Канал Disney...
- OK: "http://ott-cdn.ucom.am/s60/04.m3u8"
[5] Fox_Life_HD...
- ERROR 6 (-): "http://live-ng-01.more.tv/hls/Fox_Life_HD/index_1.m3u8"
[6] FOX_HD...
- ERROR 22 (404): "http://live-ng-01.more.tv/hls/FOX_HD/index_1.m3u8"
...
--------------------
Playlist: my.m3u8
Check stats
- Success: 995/999
- Failed: 4/999
```
### Поиск каналов в одном плейлисте
Команда: `./tools/find-in-pls.sh`
@ -327,62 +295,12 @@ Check stats
Поддерживаются `*.m3u` и `*.m3u8`; как локальные файлы, так по прямым ссылкам.
Пример:
```
$ ./tools/find-in-pls.sh disney a.m3u8
--------------------
Playlist: a.m3u8
Channel to find: disney
--------------------
267 FOUND: #EXTINF:-1 group-title="Disney" tvg-id="disney",Disney (1)
http://zabava-htlive.cdn.ngenix.net/hls/CH_DISNEY/bw2000000/variant.m3u8?version=2
270 FOUND: #EXTINF:-1 group-title="Disney" tvg-id="disney",Disney (2)
https://okkotv-live.cdnvideo.ru/channel/Disney.m3u8
--------------------
Playlist: a.m3u8
Channel found: disney
Found: 2
```
### Поиск каналов во всех плейлистах
Команда: `./tools/find-in-all.sh`
Находит каналы по заданному регулярному выражению во всех плейлистах, скачанных через `download-all.sh`.
Пример:
```
$ ./tools/find-in-all.sh (disney|СТС)
...
--------------------
Playlist: ./downloaded/kids.m3u.1
Channel to find: (disney|СТС)
--------------------
35 FOUND: #EXTINF:-1 tvg-name="СТС Kids HD" group-title="Детские", СТС Kids HD
https://okkotv-live.cdnvideo.ru/channel/CTC_Kids_HD.m3u8
59 FOUND: #EXTINF:-1 tvg-name="Disney канал" group-title="Детские", Disney канал
http://zabava-htlive.cdn.ngenix.net/hls/CH_DISNEY/bw2000000/variant.m3u8?version=2
83 FOUND: #EXTINF:-1 tvg-name="Канал Disney (okko tv)" group-title="Детские", Канал Disney (okko tv)
https://okkotv-live.cdnvideo.ru/channel/Disney.m3u8
--------------------
Playlist: ./downloaded/kids.m3u.1
Channel found: (disney|СТС)
Found: 3
--------------------
Playlist: ./downloaded/kz-all.m3u
Channel to find: (disney|СТС)
--------------------
Nothing found
...
```
### Создать плейлист из нужных каналов
Команда: `./tools/make-pls.sh`
@ -392,27 +310,9 @@ Nothing found
Отличается от `find-in-all.sh` тем, что тот выводит результат в человекочитаемом формате, а этот -- в готовом m3u
формате для сохранения в файл.
Пример:
```
./tools/make-pls.sh "(fox|disney)"
#EXTM3U
# Autogenerated at 09.06.2022
# https://github.com/anthonyaxenov/iptv
#EXTINF:-1,Канал Disney
http://ott-cdn.ucom.am/s60/04.m3u8
#EXTINF:-1,Канал Disney
http://92.243.113.179:8080/Disney_Channel/index.m3u8?token=nts_tv
#EXTINF:-1 ,Fox HD
http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
...
```
Для сохранения в файл следует добавить `> myfile.m3u` или `>> myfile.m3u` в конец команды.
<a id="howtomake"></a>
## Как создать свой собственный плейлист?
1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini):

View File

@ -49,7 +49,7 @@ awk '
if ($0 ~ /^#EXTINF:.+,/) {
total_count++
channel_name = substr($0, index($0, ",") + 1, length($0))
print "[" total_count "] " channel_name "..."
print "\n[" total_count "] " channel_name
}
if ($0 ~ /^http(s)?:\/\/.*/) {
url = sprintf("%c%s%c", 34, $0, 34) # 34 is "
@ -60,10 +60,10 @@ awk '
http_code = "-"
}
if (code == 0 || code == 63) {
print "\t- \033[32mOK:\033[0m " url
print "\033[32mOK:\033[0m " url
success_count++
} else {
print "\t- \033[91mERROR\033[0m " code " (" http_code "): " url
print "\033[91mERROR\033[0m " code " (" http_code "): " url
fail_count++
}
}

View File

@ -42,7 +42,7 @@ if [[ "$playlist" =~ $regex_url ]]; then
if [ $? -eq 0 ]; then
is_downloaded=1
playlist="$download_dir/$(ls -1 "$download_dir")"
cd -
cd - > /dev/null
else
echo "ERROR: cannot download playlist: $playlist"
exit 1
@ -74,8 +74,8 @@ if [ $found_count -eq 0 ]; then
echo -e "\033[91mNothing found\033[0m"
else
echo "--------------------"
echo -e "\033[20m\033[97mPlaylist:\033[0m $playlist_url"
echo -e "\033[20m\033[97mChannel:\033[0m $channel"
echo -e "\033[20m\033[97mPlaylist:\033[0m $playlist_url"
echo -e "\033[20m\033[97mFound:\033[0m\033[32m $found_count\033[0m"
fi