## What's New in This Release This update brings significant improvements to performance, user experience, and stability across the application. We've revamped tables for better responsiveness, enhanced streaming capabilities, and fixed numerous bugs. ### 🔧 Major Improvements - **Table System Rewrite**: Completely refactored channel and stream tables for dramatically improved performance with large datasets - **Manual Stream Switching**: Added ability to manually switch between streams for a channel - **EPG Auto-Match Notifications**: Users now receive feedback about how many matches were found during auto-matching - **Improved Concurrency**: Replaced time.sleep with gevent.sleep for better performance when handling multiple streams ### 🖥️ UI/UX Enhancements - Added URL copy buttons for stream and channel URLs - Fixed spacing and padding in EPG and M3U tables for better readability on smaller displays - Added informative tooltips throughout the interface, including stream profiles and user-agent details - Improved table interactions: - Restored alternating row colors and hover effects - Added shift-click support for multiple row selection - Preserved drag-and-drop functionality - Adjusted logo display to prevent layout shifts with different sized logos - Improved sticky headers in tables ### 📺 Streaming & Channel Management - Fixed stream ordering in channel selection - Added M3U profile name to stream names for better identification - Fixed channel form not updating some properties after saving - Improved stream URL handling for search/replace patterns - Enhanced stream lock management for better reliability - Added stream name to channel status for better visibility - Properly track current stream ID during stream switches - Fixed issue with setting logos to default ### 📊 Stats & Monitoring - Added display of connected time for each client - Fixed issues with channel statistics randomly not working - Added current M3U profile information to stats - Added better logging for which channel clients are getting chunks from ### 🔄 EPG & M3U Processing - Improved EPG cache handling and cleanup of old cache files - Corrected content type for M3U file (using m3u instead of m3u8) - Fixed logo URL handling in M3U generation - Enhanced tuner count calculation to include only active M3U accounts ### 🐛 Bug Fixes - Fixed channel creation from streams - Fixed channel group saving - Improved error handling throughout the application - Fixed bugs in deleting stream profiles - Resolved mimetype detection issues - Fixed form display issues - Added proper requerying after form submissions and item deletions - Fixed bug overwriting tvg-id when loading TV Guide - Fixed bug that prevented large m3u's and epg's from uploading - Fixed typo in Stream Profile header column for Description (Thank you LoudSoftware for the PR!) - Fixed typo in m3u input processing (tv-chno instead of tvg-chno) (Thank you @www2a for the PR!) ## Technical Improvements - Increased thread stack size in uwsgi configuration - Changed proxy to use uwsgi socket - Added build timestamp to version information - Reduced excessive logging during M3U/EPG file importing - Improved store variable handling to increase application efficiency --- **The Dispatcharr Team** – Happy Streaming! 🚀 |
||
|---|---|---|
| .github/workflows | ||
| .idea | ||
| apps | ||
| core | ||
| dispatcharr | ||
| docker | ||
| frontend | ||
| scripts | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| 1.png | ||
| 2.png | ||
| 3.png | ||
| 4.png | ||
| 5.png | ||
| debian_install.sh | ||
| fixtures.json | ||
| LICENSE | ||
| manage.py | ||
| README.md | ||
| requirements.txt | ||
| version.py | ||
🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion
📖 What is Dispatcharr?
Dispatcharr is an open-source powerhouse for managing IPTV streams and EPG data with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.
Think of Dispatcharr as the *arr family’s IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.
🧪 What’s New in Beta
Dispatcharr has officially entered BETA, bringing powerful new features and improvements across the board:
✨ Proxy Streaming Engine — Optimize bandwidth, reduce provider connections, and increase stream reliability
📊 Real-Time Stats Dashboard — Live insights into stream health and client activity
🧠 EPG Auto-Match — Match program data to channels automatically
⚙️ Streamlink + FFmpeg Support — Flexible backend options for streaming and recording
🧼 UI & UX Enhancements — Smoother, faster, more responsive interface
🛁 Output Compatibility — HDHomeRun, M3U, and XMLTV EPG support for Plex, Jellyfin, and more
✨ Why You'll Love Dispatcharr
✅ Full IPTV Control — Import, organize, proxy, and monitor IPTV streams on your own terms
✅ Smart Playlist Handling — M3U import, filtering, grouping, and failover support
✅ Reliable EPG Integration — Match and manage TV guide data with ease
✅ Clean & Responsive Interface — Modern design that gets out of your way
✅ Fully Self-Hosted — Total control, zero reliance on third-party services
Screenshots
🚀 Get Started in Minutes
🐳 Quick Start with Docker (Recommended)
docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest
Customize ports and volumes to fit your setup.
🐳 Docker Compose Options
| Use Case | File | Description |
|---|---|---|
| All-in-One Deployment | docker-compose.aio.yml | ⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup. |
| Modular Deployment | docker-compose.yml | Separate containers for Dispatcharr, Celery, and Postgres — perfect if you want more granular control. |
| Development Environment | docker-compose.dev.yml | Developer-friendly setup with pre-configured ports and settings for contributing and testing. |
⚒️ Building from Source (For the Adventurous)
⚠️ Warning: Not officially supported — but if you're here, you know what you're doing!
If you are running a Debian based operating system you can install using the debian_install.sh script. If you are on another operating system and come up with a script let us know! We would love to add it here!
🤝 Want to Contribute?
We welcome PRs, issues, ideas, and suggestions!
Here’s how you can join the party:
- Follow our coding style and best practices.
- Be respectful, helpful, and open-minded.
- Respect the CC BY-NC-SA license.
Whether it’s writing docs, squashing bugs, or building new features, your contribution matters! 🙌
📚 Roadmap & Documentation
- 📚 Roadmap: Coming soon!
- 📖 Wiki: In progress — tutorials, API references, and advanced setup guides on the way!
❤️ Shoutouts
A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!
⚖️ License
Dispatcharr is licensed under CC BY-NC-SA 4.0:
- BY: Give credit where credit’s due.
- NC: No commercial use.
- SA: Share alike if you remix.
For full license details, see LICENSE.
✉️ Connect With Us
Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.