Dunkler Saftanwender
Elite Hacker
- Registriert
- 9. Mai 2024
- Beiträge
- 1.554
- Reaktionspunkte
- 1.829
- Punkte
- 1.680
die Macs die die gleiche Anzahl von Live Sendern, VOD und Serien haben mir rausschreibe und diese dann bei bedarf gegen die nicht mehr funktionierende austausche. So habe ich immer nur eine Mac Adresse die ich nutze.
Portals ist darauf aufgebaut viiiiiiiel Macs zu haben.
Das ist ja Sinn und Zweck.
Also, ich habe schon massenhaft geprüfte Macs und viele Portale. Das Problem ist jedoch, dass nicht jeder "Hit" solcher Scanner auch in der Praxis funktioniert.Ich kann dir glaub noch nicht ganz folgen.
Ein Scanner der "Massenhaft" Panele und dort Macs prüft ist zb der Priacy Scanner.
Dem kannst ne .txt mit deinen gewünschten Panelen reinwürgen und er prüft die alle dann mit gewähltem Mac-Präfix für dich durch.
Was du nicht bekommen wirst ist ein Tool das dir Latenzen oder gar mögliche Bandbreiten anzeigt.
Das ist evtl sogar möglich wenn nen Scanner deiner Wahl nimmst und dich mit ChatGPT mal paar Tage hinsetzt.
Nur für Was? Es spielen zuviele Faktoren rein so das solche Angaben nicht wirklich brauchbar sind.
Netzauslastung, welcher Tag, wieviele Kunden hängen grad am Server, gibt es ein Grossereignis. ect.
#!/bin/bash
URL="http://webflowmalta.club:8080"
channel="http://localhost/ch/3427_"
name="best"
### Installiere ffmpeg falls nicht vorhanden ###
command -v ffmpeg >/dev/null 2>&1 || { sudo apt update && sudo apt install -y ffmpeg; }
output_dir="$(pwd)" # aktuelles Verzeichnis, wo das Script gestartet wurde
mkdir -p "$output_dir"
> "$output_dir/${name}mactest.txt"
while IFS= read -r MAC; do
sleep 1
echo "check: $MAC"
response=$(curl -s -i -H "User-Agent: Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG250 stbapp ver: 4 rev: 2721 Mobile Safari/533.3" -H "Cookie: mac=$MAC; stb_lang=en; timezone=Europe/Amsterdam;" "$URL/portal.php?type=stb&action=handshake&JsHttpRequest=1-xml")
token=$(echo "$response" | grep -oP '(?<="token":")[^"]*')
link=$(curl -s -H "User-Agent: Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG250 stbapp ver: 4 rev: 2721 Mobile Safari/533.3" -H "Cookie: mac=$MAC; stb_lang=en; timezone=Europe/Amsterdam;" -H "Authorization: Bearer $token" "$URL/portal.php?type=itv&action=create_link&cmd=$channel&series=&forced_storage=undefined&disable_ad=0&download=0&JsHttpRequest=1-xml")
ffplay=$(echo "$link" | jq -r 'try .js.cmd catch ""')
if [ -z "$ffplay" ]; then
echo "$MAC fail"
continue
fi
ffprobe_output=$(ffprobe -v error -print_format json -show_streams "$ffplay" 2>/dev/null)
if echo "$ffprobe_output" | jq -e '.streams[]?.codec_name?' >/dev/null 2>&1; then
echo "$MAC fail"
else
echo "$MAC ok"
echo "$MAC" >> "$output_dir/${name}mactest.txt"
fi
done < <(awk '{print $1}' mac.txt)
echo "Ergebnis gespeichert in: $output_dir/${name}mactest.txt"
exit 0
#!/bin/bash
# Pfad zur M3U-Datei
m3u_file="$1"
# Überprüfen, ob eine Datei angegeben wurde
if [ -z "$m3u_file" ]; then
echo "Bitte geben Sie eine M3U-Datei an."
exit 1
fi
# Überprüfen, ob die Datei existiert
if [ ! -f "$m3u_file" ]; then
echo "Die Datei '$m3u_file' existiert nicht."
exit 1
fi
# Funktion zum Verarbeiten eines einzelnen Streams
process_stream() {
local extinf="$1"
local stream_url="$2"
# Extrahieren der tvg-id, tvg-logo und des Kanalnamens
tvgid=$(echo "$extinf" | grep -oP 'tvg-id="\K[^"]+')
tvglogo=$(echo "$extinf" | grep -oP 'tvg-logo="\K[^"]+')
channel_name=$(echo "$extinf" | sed -n 's/.*,\(.*\)/\1/p')
# ffprobe-Befehl ausführen und Ausgabe in JSON formatieren
ffprobe_output=$(ffprobe -v error -print_format json -show_streams "$stream_url")
# Überprüfen, ob ffprobe erfolgreich war
if [ $? -ne 0 ]; then
echo "ffprobe konnte den Stream $stream_url nicht analysieren. Überspringen."
return
fi
# Auflösung extrahieren
width=$(echo "$ffprobe_output" | jq -r '.streams[] | select(.codec_type=="video") | .width')
height=$(echo "$ffprobe_output" | jq -r '.streams[] | select(.codec_type=="video") | .height')
framerate=$(echo "$ffprobe_output" | jq -r '.streams[] | select(.codec_type=="video") | .avg_frame_rate')
# Audioinformationen extrahieren
audio_info=$(echo "$ffprobe_output" | jq -r '[.streams[] | select(.codec_type=="audio")][0] | {codec_name, channels, sample_rate}')
audio_codec=$(echo "$audio_info" | jq -r '.codec_name')
audio_channels=$(echo "$audio_info" | jq -r '.channels')
audio_sample_rate=$(echo "$audio_info" | jq -r '.sample_rate')
# Ergebnisse anzeigen und in die Datei schreiben
echo "#EXTINF:-1 tvg-id=\"$tvgid\" tvg-logo=\"$tvglogo\" group-title=\"${height}P $audio_codec\",$channel_name ${height}P "$framerate"FPS $audio_codec" >> quality.m3u
echo "$stream_url" >> quality.m3u
echo "EXTINF: $extinf"
echo "tvg-id: $tvgid"
echo "tvg-logo: $tvglogo"
echo "Channel Name: $channel_name"
echo "Stream URL: $stream_url"
echo "Auflösung: ${width}x${height}"
echo "Framerate: $framerate"
echo "Audio Codec: $audio_codec"
echo "Audio Channels: $audio_channels"
echo "Audio Sample Rate: $audio_sample_rate"
echo "-----------------------------"
}
# Array zum Speichern von Prozessen
pids=()
# Funktion zum parallelen Verarbeiten
parallel_process() {
local extinf="$1"
local stream_url="$2"
process_stream "$extinf" "$stream_url" &
pids+=($!)
}
# Lesen der M3U-Datei und Verarbeiten der Einträge
count=0
while IFS= read -r line; do
if [[ "$line" == \#EXTINF:* ]]; then
extinf="$line"
elif [[ "$line" != \#* ]]; then
stream_url="$line"
parallel_process "$extinf" "$stream_url"
((count++))
# Starten Sie bis zu 6 parallele Prozesse gleichzeitig
if (( count % 6 == 0 )); then
# Warten auf alle Hintergrundprozesse
for pid in "${pids[@]}"; do
wait "$pid"
done
# Leeren Sie das Array
pids=()
fi
fi
done < "$m3u_file"
# Warten auf alle verbleibenden Hintergrundprozesse
for pid in "${pids[@]}"; do
wait "$pid"
done
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?