This article was last updated on 2025-08-25 16:00.

Rainbow IPTV Source Filter is a tool for filtering IPTV sources. It can detect and filter out unreachable or poor-quality sources, and merge the available sources into a specified output file.
⚠️ Notes
- This tool is designed to perform local availability tests on live sources within the same network environment as the IPTV playback device, and to merge the filtered valid sources into a target file. Please do not use this tool in scenarios involving cloud servers or environments that do not match the playback device’s network.
- By default, the tool uses
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36as the User-Agent (UA) for testing access. To modify it, please set a custom UA in the configuration file. If the default UA is used, you may need to adjust the player’s UA settings to ensure compatibility when playing the filtered sources (e.g., Tianguang Yinying player).
⚠️ Disclaimer
- This tool is for learning and research purposes only. Please do not use it for illegal purposes. Copying, modifying, and selling the tool commercially is strictly prohibited.
- All live sources in the project come from the internet. If there is any infringement, please contact the author for removal.
📦 Installation
Install with Go (Recommended)
If you have Golang installed, you can quickly install the tool with the following command:
1 | go install github.com/rambollwong/rainbow-iptv-source-filter/cmd/rainbow-iptv-source-filterd@latest |
Use Precompiled Binary
If Go is not installed, you can download the binary file suitable for your system from GitHub Releases.
🚀 Usage
After installation, you can start the program with the following commands:
1 | Linux or macOS |
Configuration File Preparation
Before running, please create a configuration file named config.yaml in the ./conf directory. For configuration details, please refer to the Configuration File Description below.
Running Log Example
If the configuration is correct, the program will start running and output logs, as shown below:

During the running process, red ERR logs may appear. As long as the program does not exit, this is normal.
After the program finishes running, it will output the message All Done..

⚙️ Configuration File Description
1 | programListSourceUrls: # List of network live sources, multiple sources supported, both `.m3u` and `.txt` formats are supported |
Implementation Details
- During the testing process, the tool automatically filters out sources whose URLs contain the keyword
audio. This is because such sources are typically audio streams rather than video live streams, which do not align with the intended use case of this tool. In the current version, if a source’stvg-namedoes not match itstitle, that source will also be filtered out. This behavior will be adjusted in future versions, wheretvg-namewill be used uniformly as the matching standard.- All channel names
tvg-namewill be converted to uppercase, and the-character will be removed.
📬 Contact Us
- Email:
ramboll.wong@hotmail.com - Telegram Technical Discussion Group: Join Now
- Blog:Ramboll’s Blog
🙏 Acknowledgments
Thanks to the following repositories for providing live source data support:
💰 Support with a Donation
If you like this project, feel free to buy the author a cup of lemonade ☕️. Your support is my motivation for continuous updates!
- WeChat Pay:
- Alipay: