No description
Find a file
SergeantPanda 0f915b71c1
v0.4.0
## 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! 🚀
2025-04-30 18:27:13 -05:00
.github/workflows Refactor CI workflow to update version.py with build timestamp in Dockerfile 2025-04-27 18:53:39 -05:00
.idea Initial commit 2025-02-18 11:14:09 -06:00
apps Removed unnecessary elif for invalid flag. 2025-04-30 18:22:27 -05:00
core Use timestamp instead of build number increase. 2025-04-27 17:46:27 -05:00
dispatcharr attempting to fix urls 2025-04-11 14:27:30 -04:00
docker Increase thread stack size in uwsgi configuration for improved performance 2025-04-27 19:15:00 -05:00
frontend Merge pull request #74 from LoudSoftware/patch-1 2025-04-30 18:01:57 -05:00
scripts Notify user of how many matches auto-match found. 2025-04-29 18:13:42 -05:00
.dockerignore Remote debugging initial commit. 2025-03-27 09:49:51 -05:00
.gitattributes Added gitattributes to support multi-platform development without getting noisy diffs. 2025-03-24 09:13:29 -05:00
.gitignore Ignore models. 2025-04-11 08:21:05 -05:00
1.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
2.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
3.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
4.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
5.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
debian_install.sh Added install script 2025-04-13 13:00:16 -05:00
fixtures.json Download Sentence Transformer model locally 2025-03-18 21:39:07 -05:00
LICENSE Create LICENSE 2025-02-18 11:22:47 -06:00
manage.py Initial commit 2025-02-18 11:14:09 -06:00
README.md Merge branch 'main' into dev 2025-04-15 10:08:36 -05:00
requirements.txt Added uwsgi. 2025-04-06 20:35:58 -05:00
version.py Use timestamp instead of build number increase. 2025-04-27 17:46:27 -05:00

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 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 familys IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🧪 Whats 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

image

image

image

image

image

🚀 Get Started in Minutes

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!
Heres 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 its 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 credits 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.


🚀 Happy Streaming! The Dispatcharr Team