From 4a08a95fcf586041b3cada9ef595af17f6d11e63 Mon Sep 17 00:00:00 2001
From: peterpt <7487321+peterpt@users.noreply.github.com>
Date: Tue, 11 Apr 2023 14:09:38 +0100
Subject: [PATCH] Delete iptv-check
---
iptv-check | 358 -----------------------------------------------------
1 file changed, 358 deletions(-)
delete mode 100755 iptv-check
diff --git a/iptv-check b/iptv-check
deleted file mode 100755
index 6542f5f..0000000
--- a/iptv-check
+++ /dev/null
@@ -1,358 +0,0 @@
-#!/bin/bash
-#variables
-path=$(pwd)
-sname=$0
-wfile="$path/oklist.m3u"
-
-#setup colors
-cyan='\e[0;36m'
-green='\033[92m'
-red='\e[1;31m'
-yellow='\e[0;33m'
-orange='\e[38;5;166m'
-
-# Check if temp directory exists
-if [[ ! -d $path/temp ]]
-then
-mkdir "$path/temp" >/dev/null 2>&1
-fi
-
-# Clean any files from previous run in temp folder
-rm -rf "$path/temp/*" >/dev/null 2>&1
-
-# Warning is a simple message that will display every 40 checks on streams to explain user how to quit
-warn() {
-if [[ $i -gt $wrn ]]
-then
-wrn=$((wrn+40))
-else
-if [[ $i == "$wrn" ]]
-then
-echo ""
-echo -e "$red""Press CTRL+C To Stop or Abort IPTV list check"
-echo ""
-fi
-fi
-}
-
-#Ctrl+C Interrupt to stop the script
-trap ctrl_c INT
-function ctrl_c() {
-if [[ -f "$path/temp/pid.tmp" ]]
-then
-pid=$(sed -n 1p < "$path/temp/pid.tmp")
-rpid=$(ps -p "$pid" -o pid= | awk '{print$1}')
-if [[ "$rpid" == "$pid" ]]
-then
-kill $pid >/dev/null 2>&1
-exit 1
-else
-exit 1
-fi
-else
-exit 1
-fi
-
-}
-
-logo() {
-echo -e "$green" "IPTV-Check Tool 1.0"
-echo -e "$yellow" "-------------------------------------"
-echo -e "$blue" "http://github.com/peterpt"
-echo -e "$yellow" "-------------------------------------"
-echo ""
-
-# checkig for wget if it is installed
-which wget > /dev/null 2>&1
- if [ "$?" -eq "1" ]; then
- echo -e "$red" "Wget Missing"
-echo ""
-echo -e "$yellow" "Try : apt-get install wget"
-exit 1
-fi
-}
-
-# The difference between writefile and writefile2 is that (writefile2) is to process the output from m3u files based in xml codes
-# while function (writefile) is to process in output file the conventional m3u files without xml codes in it
-function writefile2() {
-if [[ -f "$wfile" ]]
-then
-gturlline=$(grep -n "\<$chkf\>"<$path/temp/2 | tr ":" "\n" | sed -n 1p)
-stdata=$(sed -n "$gturlline p"< $path/temp/2 | awk '{$1=""; print $0}')
-echo "#EXTINF:-1 ,$stdata" >> "$wfile"
-echo "$chkf" >> "$wfile"
-echo "" >> "$wfile"
-else
-echo "#EXTM3U" > "$wfile"
-echo "" >> "$wfile"
-gturlline=$(grep -n "\<$chkf\>"<$path/temp/2 | tr ":" "\n" | sed -n 1p)
-stdata=$(sed -n "$gturlline p"< $path/temp/2 | awk '{$1=""; print $0}')
-echo "#EXTINF:-1 ,$stdata" >> "$wfile"
-echo "$chkf" >> "$wfile"
-echo "" >> "$wfile"
-fi
-}
-
-
-function writefile() {
-# checks if tool already created previously an m3u file
-if [[ -f "$wfile" ]]
-then
-#searchs for that specific url in original file and get line number
-gturlline=$(grep -n "$chkf"<$path/temp/1 | tr ":" "\n" | sed -n 1p)
-# This variavble will get the line number before the previous url (this is to get channel name)
-defline=$((gturlline-1))
-stdata=$(sed -n "$defline p"< $path/temp/1)
-echo "$stdata" >> "$wfile"
-echo "$chkf" >> "$wfile"
-echo "" >> "$wfile"
-else
-echo "#EXTM3U" > "$wfile"
-echo "" >> "$wfile"
-gturlline=$(grep -n "$chkf"<$path/temp/1 | tr ":" "\n" | sed -n 1p)
-defline=$((gturlline-1))
-stdata=$(sed -n "$defline p"< $path/temp/1)
-echo "$stdata" >> "$wfile"
-echo "$chkf" >> "$wfile"
-echo "" >> "$wfile"
-fi
-}
-
-# Function for m3u files with xml content
-function xmlproc() {
-
-# Find http links only and delete all the other xml codes in the file , this works with many tests i did , but it may need more filtering for m3u files with more xml funtions in it
-grep -F "http" <$path/temp/1 | sed 's///g' | sed 's/^.*http/http/' | sed 's/&.*|//' | sed -e 's/\(.ts\).*\(=\)/\1\2/' | sed 's/=/ /g' | sed "s~~ ~g" > $path/temp/2
-srvnmb=$(wc -l "$path/temp/2" | awk '{print$1}')
-rm -rf "$path/temp/stream" >/dev/null 2>&1
-rm -rf "$path/temp/pid.tmp" >/dev/null 2>&1
-echo ""
-echo -e "$red""Press CTRL+C To Stop or Abort IPTV list check"
-echo ""
-for i in $(seq "$srvnmb")
-do
-chkf=$(sed -n "${i}p" < "$path/temp/2" | awk {'print$1}')
-chkurl=$(echo "$chkf" | head -c 4)
-case "$chkurl" in
-http|rtmp|HTTP)
-wget -q "$chkf" -O "$path/temp/stream" & echo $! > "$path/temp/pid.tmp"
-pid=$(sed -n 1p < "$path/temp/pid.tmp")
-sleep 4
-rpid=$(ps -p "$pid" -o pid= | awk '{print$1}')
-if [[ "$rpid" == "$pid" ]]
-then
-kill $pid
-fi
-if [[ ! -f "$path/temp/stream" ]]
-then
-echo -e "$yellow" "Error reading captured file"
-else
-stsz=$(wc -c "$path/temp/stream" | awk '{print$1}')
-if [[ "$stsz" -le "100" ]]
-then
-echo -e "$green" "Link:$yellow $i$green of :$yellow$srvnmb$green is$red OFF"
-else
-echo -e "$green" "Link:$yellow $i$green of :$yellow$srvnmb$green is$green ON"
-writefile2
-fi
-fi
-;;
-*)
-;;
-esac
-rm -rf "$path/temp/stream" >/dev/null 2>&1
-rm -rf "$path/temp/pid.tmp" >/dev/null 2>&1
-warn
-done
-if [[ "$exts" == "0" ]]
-then
-if [[ -f "$wfile" ]]
-then
-echo ""
-echo -e "$green" "Job Finished"
-echo ""
-echo -e "$yellow" "You can find your new iptv list in :"
-echo -e "$orange" "$wfile"
-exit 1
-fi
-else
-echo ""
-echo -e "$green" "Job Finished"
-echo ""
-echo -e "$yellow" "Your iptv list was update in :"
-echo -e "$orange" "$wfile"
-exit 1
-fi
-}
-
-# Function that will download for specific time the test stream
-function teststream() {
-wrn="0"
-# Checks if tool already created a previous m3u file
-if [[ -f "$wfile" ]]
-then
-exts="1"
-else
-exts="0"
-fi
-
-# checks if m3u file have xml content
-ckf=$(grep "- " <$path/temp/1)
-if [[ ! -z "$ckf" ]]
-then
-xmlproc
-fi
-#checks for the http links in m3u file
-glnk=$(grep -F "http" < "$path/temp/1" | sed '/EXTINF/d' | sed '/EXTM3U/d' | awk '!a[$0]++' | sed '/^$/d')
-
-#Write all the http links only to a new file so they can be checked ahead
-echo "$glnk" | tr " " "\n" > "$path/temp/2"
-# Counts how many links must be checked
-srvnmb=$(wc -l "$path/temp/2" | awk '{print$1}')
-# removes any previous temp pid files and stream captures from previous run
-rm -rf "$path/temp/stream" >/dev/null 2>&1
-rm -rf "$path/temp/pid.tmp" >/dev/null 2>&1
-echo ""
-echo -e "$red""Press CTRL+C To Stop or Abort IPTV list check"
-echo ""
-
-# Starts the stream checks
-for i in $(seq "$srvnmb")
-do
-chkf=$(sed -n "${i}p" < "$path/temp/2")
-# To avoid errors in previous filter , it checks if the link starts with http , rtmp or HTTP
-chkurl=$(echo "$chkf" | head -c 4)
-case "$chkurl" in
-http|rtmp|HTTP)
-# start the stream download with wget , creates a file with the pid from wget
-wget -q "$chkf" -O "$path/temp/stream" & echo $! > "$path/temp/pid.tmp"
-
-# reads current wget pid
-pid=$(sed -n 1p < "$path/temp/pid.tmp")
-
-# 4 seconds is the time that wget will download the stream befores gets killed
-sleep 4
-# checks if wget pid is still active
-rpid=$(ps -p "$pid" -o pid= | awk '{print$1}')
-
-if [[ "$rpid" == "$pid" ]]
-then
-# kills wget pid
-kill $pid
-fi
-
-# checks if downlaoded stream file it is in temp directory
-if [[ ! -f "$path/temp/stream" ]]
-then
-echo -e "$yellow" "Error reading captured file"
-else
-# checks the size of the stream file
-stsz=$(wc -c "$path/temp/stream" | awk '{print$1}')
-# In case stream file is less than 100 bytes then it is not valid
-if [[ "$stsz" -le "100" ]]
-then
-echo -e "$green" "Link:$yellow $i$green of :$yellow$srvnmb$green is$red OFF"
-else
-echo -e "$green" "Link:$yellow $i$green of :$yellow$srvnmb$green is$green ON"
-#file have more than 100 bytes , then it is a valid stream , goto write file fuction
-writefile
-fi
-fi
-;;
-*)
-;;
-esac
-rm -rf "$path/temp/stream" >/dev/null 2>&1
-rm -rf "$path/temp/pid.tmp" >/dev/null 2>&1
-warn
-done
-if [[ "$exts" == "0" ]]
-then
-if [[ -f "$wfile" ]]
-then
-echo ""
-echo -e "$green" "Job Finished"
-echo ""
-echo -e "$yellow" "You can find your new iptv list in :"
-echo -e "$orange" "$wfile"
-exit 1
-fi
-else
-echo ""
-echo -e "$green" "Job Finished"
-echo ""
-echo -e "$yellow" "Your iptv list was update in :"
-echo -e "$orange" "$wfile"
-exit 1
-fi
-}
-
-# Case user m3u file is remote (http) then run this function
-function remotef() {
-# wil download the remote m3u file to temp folder and will check its size
-wget "{$file}" -O "$path/temp/1" >/dev/null 2>&1
-flsz=$(wc -c "$path/temp/1" | awk '{print$1}')
-if [[ "$flsz" -le "10" ]]
-then
-echo -e "$yellow" "The remote link is down or the file size of it"
-echo -e "$yellow" " is too small to be an m3u iptv list file"
-echo ""
-exit 0
-fi
-teststream
-}
-
-# Local m3u file is loaded here
-function localf(){
-if [[ ! -f "$file" ]]
-then
-echo -e "$yellow" "The file you specified does not exist"
-echo -e "$yellow" "in :$green $file "
-echo ""
-echo -e "$yellow" "Make sure you wrote the right path of it"
-exit 1
-fi
-cp "$file" "$path/temp/1" >/dev/null 2>&1
-flsz=$(wc -c "$path/temp/1" | awk '{print$1}')
-if [[ "$flsz" -le "10" ]]
-then
-echo -e "$yellow" "The file you specified is too small to be an m3u iptv file"
-exit 0
-fi
-teststream
-}
-if [[ -z $1 ]]
-then
-echo -e "$green" "IPTV-Check Tool 1.0"
-echo -e "$yellow" "-------------------------------------"
-echo -e "$blue" "http://github.com/peterpt"
-echo -e "$yellow" "-------------------------------------"
-echo ""
-echo -e "$orange" "Example for remote list to check :"
-echo -e "$green" "$0 http://someurl/somelist.m3u"
-echo ""
-echo -e "$orange" "Example for local list to check :"
-echo -e "$green" "$0 /root/mylist.m3u"
-echo ""
-echo -e "$yellow" "-------------------------------------"
-echo ""
-exit 1
-fi
-# If a null file name is not found then executes the script again deflecting wget errors to dev/null
-if [[ ! -f $path/null ]]
-then
-echo "0" > $path/null
-exec $sname $1 2>/dev/null
-exit 1
-fi
-# here it means that script already was loaded and restarted , so delete the null file for the next start
-rm -rf $path/null >/dev/null 2>&1
-logo
-file="$1"
-#check if user input is a remote or local file by searching for http word in the user input variable
-echo "$file" | grep "http" >/dev/null 2>&1
-if [ "$?" -eq "0" ]; then
-remotef
-else
-localf
-fi