#!/bin/bash M3U_URL="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/iptv/kodi/kodi.m3u" TEMP_M3U="/tmp/kodi.m3u" # Download playlist wget -q -O "$TEMP_M3U" "$M3U_URL" if [[ $? -ne 0 ]]; then zenity --error --text="Failed to download playlist." exit 1 fi # Parse channel names and URLs channels=() urls=() while IFS= read -r line; do if [[ $line == \#EXTINF* ]]; then name="${line##*,}" read -r url channels+=("$name") urls+=("$url") fi done < "$TEMP_M3U" # Prepare zenity list zenity_entries=() for i in "${!channels[@]}"; do zenity_entries+=("${channels[$i]}") done # Channel picker chan=$(zenity --list --height=600 --width=400 --title="IPTV Channel Picker" --column="Channel Name" "${zenity_entries[@]}") if [[ -z "$chan" ]]; then exit 0 fi # Find and play for i in "${!channels[@]}"; do if [[ "${channels[$i]}" == "$chan" ]]; then mpv "${urls[$i]}" exit 0 fi done