m3u-editor

m3ue活跃维护

一站式 IPTV 编辑器,可管理 M3U 播放列表和 EPG 节目单,输出 Xtream API,并支持 .strm 文件同步与自定义脚本、Webhook 后处理。

A full-featured IPTV editor, including features similar to xteve or threadfin. With full EPG management, Xtream API output, ability to store and sync .strm files, post processing with ability to call custom scripts, send webhook requests, or send an email, and much more!

v0.14.1发布于 2026-11-06 13:51 UTC889star +2 / 7 天124fork同步于 2026-11-10 17:54 UTC

怎么上手

由 README 提炼,执行前请确认
docker compose -f docker-compose.proxy.yml up -d
硬件要求按 README 说明

README 未说明具体硬件要求;硬件加速需使用分离的 m3u-proxy 容器,All-in-One 单容器部署不支持硬件加速。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

自托管的 IPTV 编辑器,类似 xteve/threadfin,管理播放列表、EPG 与 Xtream 输出

一站式 IPTV 编辑器,可管理 M3U 播放列表和 EPG 节目单,输出 Xtream API,并支持 .strm 文件同步与自定义脚本、Webhook 后处理。

核心能力

  • 编辑 m3u、m3u8、m3u+ 与 Xtream Codes 播放列表
  • 管理 XMLTV 本地/远程 EPG 并集成 Schedules Direct
  • 输出 Xtream API 供播放器直接接入
  • 同步 .strm 文件并管理剧集
  • 后处理支持自定义脚本、Webhook 与邮件通知

容易踩的坑

默认账号密码均为 admin,默认端口 36400,暴露公网前务必修改;All-in-One 部署不支持硬件加速,需要加速请用 proxy 分离部署;使用 Schedules Direct 需另行配置账号。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.14.1
  1. v0.14.1.1-devDev 0.14.1.1pre-release2026-11-09 · 2026-11-09 17:29 UTC
    查看更新说明

    What's Changed

    Features

    • feat(media-server): Emby/Jellyfin login via user auth (1c823f958)
    • feat: Grant several credentials in one device pairing (8abad0777)
    • feat: List every Arr integration per request search result (m3u-tv #137) (aa92afec8)

    Bug Fixes

    • fix(xtream): qualify related-series columns for alias logins (#1822) (87bbdd79f)
    • fix: check the connected IP on webhook requests to block DNS-rebinding SSRF (8ad2f71a9)
    • fix: retain selected artwork roles across EPG exports (#1750) (#1757) (89a9be92a)
    • fix: Honor Group Auto Sort on M3U playlists (#1821) (1c486c88d)
    • fix: Stable get_dvr_recordings paging when start times tie (af7d31ebe)

    Maintenance

    • chore: Pass IMDB ID with series/vod info endpoints (4e908097c)

    Docker Image

    docker pull sparkison/m3u-editor:dev-0.14.1.1
    
  2. v0.14.1.1-expExperimental 0.14.1.1pre-release2026-11-09 · 2026-11-09 17:28 UTC
    查看更新说明

    What's Changed

    [!WARNING] This is an experimental release. Use at your own risk.

    Features

    • feat(media-server): Emby/Jellyfin login via user auth (1c823f958)
    • feat: Grant several credentials in one device pairing (8abad0777)
    • feat: List every Arr integration per request search result (m3u-tv #137) (aa92afec8)

    Bug Fixes

    • fix(xtream): qualify related-series columns for alias logins (#1822) (87bbdd79f)
    • fix: check the connected IP on webhook requests to block DNS-rebinding SSRF (8ad2f71a9)
    • fix: retain selected artwork roles across EPG exports (#1750) (#1757) (89a9be92a)
    • fix: Honor Group Auto Sort on M3U playlists (#1821) (1c486c88d)
    • fix: Stable get_dvr_recordings paging when start times tie (af7d31ebe)

    Maintenance

    • chore: Pass IMDB ID with series/vod info endpoints (4e908097c)

    Docker Image

    docker pull sparkison/m3u-editor:experimental-0.14.1.1
    
  3. v0.14.1最新正式版2026-11-06 · 2026-11-06 13:51 UTC

    What's Changed

    Features

    • feat(sports): Add on-demand channel matching for the M3U TV app (7329a8eef)
    • feat: Add support for TheSportsDB (795e5bdd6)
    • feat: Add AED profile using ESPN API for automated EPG generation (8f9a5b7c8)
    • feat: Add ESPN API support (0aa4639d3)

    Bug Fixes

    • fix(vod): store the provider added date in the app timezone (045a14258)
    • fix(series): store provider last_modified in the app timezone (135962844)
    • fix(copilot): keep conversation switches from mixing streams or losing approvals (#1797, #1798) (aa5db8ff1)
    • fix(series): stop overlapping metadata fetches deleting live episodes (#1819) (dc67a397d)
    • fix(series): select metadata batches by id cursor, not offset (#1814) (53a9210fc)
    • fix(probe): detect quality from width as well as height (#1807) (b120b10ff)
    • fix(aiostreams): report manifest transport failures as connection failures (#1809) (de7327d40)
    • fix(auth): reject expired Playlist Auths on M3U and HDHR output (#1817) (96987cce9)
    • fix(playlists): repoint merged groups and categories when duplicating (#1816) (a682eed62)
    • fix(easy-editor): scope the channels heading to the selected playlist and type (#1815) (8eac4e0fb)
    • fix(merge): keep the valid channel name 0 in fallback matching (#1813) (4bf309389)
    • fix: Rate limiting applying universally instead of per route (7cb39bf8c)
    • fix(dvr): count each library file once, as measured on disk, in the disk quota (#1812) (b540a92a9)
    • fix(dvr): give every recording its own output file (#1811) (12f622a15)
    • fix(espn-api): Cache warming and response timeout fixes (ec1b42caf)
    • fix(series): refresh expired provider covers on sync (#1810) (c1cee7229)

    Maintenance

    • chore: Optimize Sports API fetching (0b5584a46)
    • chore: Show override and provider group names in processing pick lists (b0faf5439)
    • chore: Cleanup and optimize match cards and details on Sports page (e559dfa4b)
    • chore: Add sports view to parity M3U TV app sports screen (1f99d809c)
    • chore: Add sports fixtures XAPI endpoint (e4d18d859)
    • chore: Remove failing/flaky test (ce8a9c864)
    • chore(dev-deps): Update deps to resolve CVE's (6d1439689)
    • chore: Ensure busy game days don't drop games due to limits (a4f953e07)
    • chore: Add missing league logo to API endpoint (5582e17d9)
    • chore: Update ESPN AED profiles sync logic and add sync quick-action (f900272bb)

    New Contributors

    Full Changelog: https://github.com/m3ue/m3u-editor/compare/v0.14.0...v0.14.1

  4. v0.14.1-devDev 0.14.1pre-release2026-11-06 · 2026-11-06 13:50 UTC
    查看更新说明

    What's Changed

    Features

    • feat(sports): Add on-demand channel matching for the M3U TV app (7329a8eef)
    • feat: Add support for TheSportsDB (795e5bdd6)
    • feat: Add AED profile using ESPN API for automated EPG generation (8f9a5b7c8)
    • feat: Add ESPN API support (0aa4639d3)

    Bug Fixes

    • fix(vod): store the provider added date in the app timezone (045a14258)
    • fix(series): store provider last_modified in the app timezone (135962844)
    • fix(copilot): keep conversation switches from mixing streams or losing approvals (#1797, #1798) (aa5db8ff1)
    • fix(series): stop overlapping metadata fetches deleting live episodes (#1819) (dc67a397d)
    • fix(series): select metadata batches by id cursor, not offset (#1814) (53a9210fc)
    • fix(probe): detect quality from width as well as height (#1807) (b120b10ff)
    • fix(aiostreams): report manifest transport failures as connection failures (#1809) (de7327d40)
    • fix(auth): reject expired Playlist Auths on M3U and HDHR output (#1817) (96987cce9)
    • fix(playlists): repoint merged groups and categories when duplicating (#1816) (a682eed62)
    • fix(easy-editor): scope the channels heading to the selected playlist and type (#1815) (8eac4e0fb)
    • fix(merge): keep the valid channel name 0 in fallback matching (#1813) (4bf309389)
    • fix: Rate limiting applying universally instead of per route (7cb39bf8c)
    • fix(dvr): count each library file once, as measured on disk, in the disk quota (#1812) (b540a92a9)
    • fix(dvr): give every recording its own output file (#1811) (12f622a15)
    • fix(espn-api): Cache warming and response timeout fixes (ec1b42caf)
    • fix(series): refresh expired provider covers on sync (#1810) (c1cee7229)

    Maintenance

    • chore: Optimize Sports API fetching (0b5584a46)
    • chore: Show override and provider group names in processing pick lists (b0faf5439)
    • chore: Cleanup and optimize match cards and details on Sports page (e559dfa4b)
    • chore: Add sports view to parity M3U TV app sports screen (1f99d809c)
    • chore: Add sports fixtures XAPI endpoint (e4d18d859)
    • chore: Remove failing/flaky test (ce8a9c864)
    • chore(dev-deps): Update deps to resolve CVE's (6d1439689)
    • chore: Ensure busy game days don't drop games due to limits (a4f953e07)
    • chore: Add missing league logo to API endpoint (5582e17d9)
    • chore: Update ESPN AED profiles sync logic and add sync quick-action (f900272bb)

    Docker Image

    docker pull sparkison/m3u-editor:dev-0.14.1
    
  5. v0.14.1-expExperimental 0.14.1pre-release2026-11-06 · 2026-11-06 13:50 UTC
    查看更新说明

    What's Changed

    [!WARNING] This is an experimental release. Use at your own risk.

    Features

    • feat(sports): Add on-demand channel matching for the M3U TV app (7329a8eef)
    • feat: Add support for TheSportsDB (795e5bdd6)
    • feat: Add AED profile using ESPN API for automated EPG generation (8f9a5b7c8)
    • feat: Add ESPN API support (0aa4639d3)

    Bug Fixes

    • fix(vod): store the provider added date in the app timezone (045a14258)
    • fix(series): store provider last_modified in the app timezone (135962844)
    • fix(copilot): keep conversation switches from mixing streams or losing approvals (#1797, #1798) (aa5db8ff1)
    • fix(series): stop overlapping metadata fetches deleting live episodes (#1819) (dc67a397d)
    • fix(series): select metadata batches by id cursor, not offset (#1814) (53a9210fc)
    • fix(probe): detect quality from width as well as height (#1807) (b120b10ff)
    • fix(aiostreams): report manifest transport failures as connection failures (#1809) (de7327d40)
    • fix(auth): reject expired Playlist Auths on M3U and HDHR output (#1817) (96987cce9)
    • fix(playlists): repoint merged groups and categories when duplicating (#1816) (a682eed62)
    • fix(easy-editor): scope the channels heading to the selected playlist and type (#1815) (8eac4e0fb)
    • fix(merge): keep the valid channel name 0 in fallback matching (#1813) (4bf309389)
    • fix: Rate limiting applying universally instead of per route (7cb39bf8c)
    • fix(dvr): count each library file once, as measured on disk, in the disk quota (#1812) (b540a92a9)
    • fix(dvr): give every recording its own output file (#1811) (12f622a15)
    • fix(espn-api): Cache warming and response timeout fixes (ec1b42caf)
    • fix(series): refresh expired provider covers on sync (#1810) (c1cee7229)

    Maintenance

    • chore: Optimize Sports API fetching (0b5584a46)
    • chore: Show override and provider group names in processing pick lists (b0faf5439)
    • chore: Cleanup and optimize match cards and details on Sports page (e559dfa4b)
    • chore: Add sports view to parity M3U TV app sports screen (1f99d809c)
    • chore: Add sports fixtures XAPI endpoint (e4d18d859)
    • chore: Remove failing/flaky test (ce8a9c864)
    • chore(dev-deps): Update deps to resolve CVE's (6d1439689)
    • chore: Ensure busy game days don't drop games due to limits (a4f953e07)
    • chore: Add missing league logo to API endpoint (5582e17d9)
    • chore: Update ESPN AED profiles sync logic and add sync quick-action (f900272bb)

    Docker Image

    docker pull sparkison/m3u-editor:experimental-0.14.1
    

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    English | 中文

    A full-featured and powerful IPTV editor, including features similar to xteve or threadfin. Also includes full EPG management, full Xtream API output, series management with ability to store and sync .strm files, post processing with ability to call custom scripts, send webhook requests, or send an email, and much more!

    Works with m3u, m3u8, m3u+ and Xtream codes api!

    EPG support for XMLTV files (local or remote), XMLTV URLs, and full Schedules Direct integration.

    feature-card

    Questions/issues/suggestions

    Feel free to open an issue on this repo, or hit us up on Discord

    Join us on Discord

    Join our Discord server to ask questions and get help, help others, suggest new ideas, and offer suggestions for improvements! You can also try out and help test new features! 🎉

    🚀 How to run

    Managed Hosting

    Fully managed M3U Editor instances available via ElfHosted – no setup required 🪄

    Self hosted

    Prerequisites
    • Docker installed and setup on your system
    🐳 Docker quick start v0.8.x+

    [!IMPORTANT]

    • Default Username: admin
    • Default password: admin
    • Default port: 36400
    Use CaseFileDescription
    Modular Deploymentdocker-compose.proxy.yml⭐⭐ Recommended! Separate containers for m3u-editor, m3u-proxy (the external proxy setup is required for hardware acceleration), and Redis — perfect if you want more granular control (Postgres and NGINX can be easily added as a seperate container as well).
    Modular + VPNdocker-compose.proxy-vpnExample of modular deployment using Gluetun VPN.
    All-in-One Deploymentdocker-compose.aio.ymlA simple, all-in-one solution — everything runs in a single container for quick setup (hardware acceleration is not supported in this setup).

    🔥 Advanced docker setup v0.8.x+

    Use CaseFileDescription
    Fully Modular (Nginx)docker-compose.external-all.ymlExample of fully modular deployment with Nginx. See External Services Setup for full details and examples
    Fully Modular (Caddy)docker-compose.external-all-caddy.ymlExample of fully modular deployment with Caddy (alternative to Nginx). Includes automatic HTTPS support.

    View more in our getting started docs to get up and running in minutes! 🥳


    📸 Screenshots

    Dashboard

    Series detail

    Series editor

    Playlist output options

    Media servers

    Proxy stream monitor

    API


    🤝 Want to Contribute?

    Whether it’s writing docs, squashing bugs, or building new features, your contribution matters! ❤️

    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.
    1. Fork the repository
    2. Create a feature branch
    3. Add tests for new functionality
    4. Submit a pull request

    ⚖️ License

    m3u editor 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.