Version: 1.0.0 |
Author: barryanderson | Last Updated: Jul 17 2026, 00:26 UTC |
Checks your M3U account expiration dates on a schedule and emails you before (and when) they expire.
m3u-expiration-notifier-latest.zipaf83e50Checksums:
MD5: 3bc650df39ff169f519c1586af1a2bc1
SHA256: 2f154290bbea98f4e24d6162709074c01ebe7e2a65ec618a4a3000c42aa27574
| Version | Download | Built | Commit | MD5 | SHA256 |
|---|---|---|---|---|---|
1.0.0 |
Download | Jul 17 2026, 00:26 UTC | af83e50 |
3bc650df39ff169f519c1586af1a2bc1 | 2f154290bbea98f4e24d6162709074c01ebe7e2a65ec618a4a3000c42aa27574 |
Source: Browse Plugin
Metadata: View full manifest
A Dispatcharr plugin that watches your M3U/Xtream-Codes account expiration dates and emails you before (and when) they expire.
Dispatcharr tracks expiration on each M3U account’s default profile (M3UAccountProfile.exp_date), but only ever surfaces it as an in-app notification on a fixed 7-day window. This plugin generalises that into a configurable set of day-before-expiration thresholds, delivered by email, on a schedule you control.
Compatibility: tested against Dispatcharr 0.27.2. It likely works on other recent versions too, but that’s the only one verified so far.
30,14,7,3,1), plus an always-on notification the moment an account fully expires.Add this repo’s manifest URL under Dispatcharr’s plugin repository settings:
https://raw.githubusercontent.com/barryanderson/dispatcharr-m3u-expiration-notifier/master/manifest.json
The plugin will then appear in Dispatcharr’s Find Plugins store, ready to install.
plugin.py and plugin.json into /data/plugins/m3u_expiration_notifier/ inside your Dispatcharr container.| Setting | Description |
|---|---|
| Check Interval (hours) | How often the background check runs. Run Apply Schedule after changing this. |
| Warn X Days Before Expiration | Comma-separated day thresholds (e.g. 30,14,7,3,1). An email fires the first time an account is found within one of these windows. |
| Notify Email Address(es) | Comma-separated recipient list. |
| SMTP settings | Host, port, security (STARTTLS/SSL/None), username, password, and optional From address. |
SMTP settings aren’t checked automatically — if a scheduled check can’t deliver a notification (e.g. bad credentials), Dispatcharr’s in-app notification centre shows a warning until it’s fixed.
M3UAccountProfile.exp_date, filtered to active accounts/profiles with an expiration date set — the same population Dispatcharr’s own core expiration check uses.state.json file (kept alongside plugin.py) tracks, per profile, the expiration date it last saw and the most urgent threshold already notified for it. If the expiration date changes (e.g. a renewal), tracking resets and the notification cycle starts over.plugin.py) and wakes periodically to run the check directly.This plugin was built with the assistance of Claude Code, Anthropic’s CLI coding agent. Claude Code was used to help design and implement the plugin’s logic, diagnose bugs (including a state-tracking issue that could suppress notifications after a threshold change), and prepare this repository for distribution (manifest, licence, and documentation). All changes were reviewed by a human before release.