Skip to content

amintikk/m3u-finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

m3u-finder

m3u-Finder logo

License: GPLv3 Python 3.9+ GitHub Search API Tkinter GUI

A practical M3U finder/validator for public GitHub playlists.

  • channels mode: finds playlists, extracts matching channels, validates streams, and builds a clean M3U.
  • playlists mode: validates full playlists by sample and saves approved playlists unchanged.

Highlights

  • Dual search pipeline: repository search + code search
  • http, ffprobe, or dual validation
  • 2-phase validation in playlists mode (fast + reliable)
  • Optional static-stream detection (to reduce false positives)
  • GUI with real-time logs, progress, tables, and ffplay preview
  • Default output folder: playlists/

Requirements

  • Python 3.9+
  • GitHub token (GITHUB_TOKEN)
  • Optional: ffmpeg / ffprobe / ffplay (Required for video stream validation and preview)
    • Windows: Run winget install Gyan.FFmpeg
    • Linux (Ubuntu/Debian): Run sudo apt install ffmpeg
    • macOS: Run brew install ffmpeg

Quick Start

Create .env in the project root:

GITHUB_TOKEN=your_github_token

Run CLI (channels mode by default):

python m3u_finder.py --keywords "dazn,bein"

Run playlist mode:

python m3u_finder.py --mode playlists --keywords "boing,clan"

Run GUI:

python m3u_finder_gui.py

Output

  • Channels mode: playlists/<keywords>.m3u
  • Playlists mode: playlists/<keywords>_playlists/

Main Files

  • m3u_finder.py - CLI engine
  • m3u_finder_gui.py - Desktop GUI
  • telegram_bot.py - Optional Telegram bot

Notes

  • Public repositories only
  • GitHub Search API has rate limits and a 1000-result cap per query
  • Validation is technical/experimental (streams may later go offline)

About

Tool to find public M3U playlists, validate streams, and generate a clean M3U based on keywords.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages