ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

iptv-proxy + Traefik 免费 HTTPS 部署教程:给你的 IPTV 代理加上安全锁

2026/8/19 18:39:34 拓冰建站 浏览量
iptv-proxy + Traefik 免费 HTTPS 部署教程:给你的 IPTV 代理加上安全锁 iptv-proxy Traefik 免费 HTTPS 部署教程给你的 IPTV 代理加上安全锁【免费下载链接】iptv-proxyReverse proxy on iptv m3u and m3u8 file and xtream codes client api项目地址: https://gitcode.com/gh_mirrors/ip/iptv-proxyiptv-proxy 是一个专为 IPTV 场景打造的开源反向代理工具能够把 m3u/m3u8 播放列表与 Xtream codes 客户端 API 统一代理到自己的服务器上。本教程将带你使用 Docker 一键部署 iptv-proxy并借助 Traefik 自动申请免费 HTTPS 证书让 IPTV 代理全程加密、安全又省心。整个过程无需购买证书只需一个域名即可为你的 IPTV 代理加上安全锁 为什么建议给 IPTV 代理加上 HTTPS很多 IPTV 播放器默认通过http 明文拉取 m3u 列表和直播流这带来两个隐患⚠️账号泄露播放列表 URL 中常携带username和password明文传输极易被中间人截获⚠️内容篡改运营商或黑客可在链路上插入广告、替换源地址导致播放异常甚至被钓鱼而启用 HTTPS 后播放列表与直播流全程加密配合 Traefik 自动续期Lets Encrypt 免费证书零成本解决安全问题这也是本套iptv-proxy 部署方案最大的亮点。iptv-proxy 是什么两大核心代理模式iptv-proxy 核心能力是代理它会把原始源地址改写为指向你自己的服务器从而隐藏真实上游。核心逻辑可参考 cmd/root.go 中的参数定义以及 pkg/server/routes.go 中的路由实现。 M3U / M3U8 播放列表代理把远程或本地的 m3u 文件解析后将所有频道地址替换为代理地址输出一个新的iptv.m3u。若列表内是 m3u8 流则自动走 m3u8 反向代理。 Xtream codes 客户端 API 代理完整代理 Xtream codes 协议支持Live 直播、VOD 点播、Series 剧集和 EPG 节目单所有请求都会经过你的代理转发。IPTV 源(上游) ──► iptv-proxy ──► Traefik(HTTPS) ──► 播放器 (改写地址) (免费证书/加密)简单理解你的播放器永远只看到你的域名看不到上游真实地址这就是 IPTV 代理的核心价值。部署前准备工作清单在开始 iptv-proxy 部署之前请确认以下条件全部满足 ✅一个域名如iptv.example.com并解析到你的服务器 IP服务器80 和 443 端口已开放证书签发和 HTTPS 访问都需要已安装Docker与Docker Compose准备好 m3u 播放列表远程 URL 或本地文件本地文件放入iptv目录即可 本方案默认使用项目自带的 docker-compose.yml它已经内置了 iptv-proxy 服务定义改动量很小。第一步获取 iptv-proxy 项目源码打开终端克隆项目到服务器git clone https://gitcode.com/gh_mirrors/ip/iptv-proxy cd iptv-proxy项目内已经带好了 Traefik 相关文件目录结构如下iptv-proxy/ ├── docker-compose.yml # iptv-proxy 单服务配置无 HTTPS ├── iptv/ # 存放本地 m3u 文件可留空 └── traefik/ ├── docker-compose.yml # 本次要用的iptv-proxy Traefik 组合 └── Traefik/ └── traefik.yaml # Traefik 主配置证书签发接下来所有操作都在traefik目录的 docker-compose.yml 基础上进行。第二步配置 iptv-proxy 核心环境变量关键编辑 traefik/docker-compose.yml重点关注iptv-proxy服务下的environment部分环境变量作用本教程推荐值M3U_URLm3u 来源支持远程 URL 或本地路径/root/iptv/iptv.m3uPORTiptv-proxy 监听端口8080HOSTNAME对外域名用于生成代理地址iptv.example.comADVERTISED_PORT对外暴露端口反代场景必须设 443443HTTPS代理地址是否使用 https 协议1USER/PASSWORD访问代理的账号密码自定XTREAM_USER等Xtream 上游账号可选按需填写其中HTTPS: 1与ADVERTISED_PORT: 443是本教程的成败关键它们决定生成的所有频道地址都以https://你的域名:443/...形式输出否则播放器会拿到错误的 http 地址导致无法播放。如果你使用 Xtream 源同样在 traefik/docker-compose.yml 中配置XTREAM_BASE_URL、XTREAM_USER、XTREAM_PASSWORD即可全部启动参数也可参考 cmd/root.go。第三步修改 Traefik 配置启用免费 HTTPS 证书Traefik 会自动通过 Lets Encrypt 签发并续期免费证书你只需要做两件事1. 修改 ACME 邮箱打开 traefik/Traefik/traefik.yaml把默认的ACMEEMAIL.COM换成你的真实邮箱certificatesResolvers: mydnschallenge: acme: email: your-emailexample.com # 改成你的邮箱 storage: /etc/traefik/acme.json tlsChallenge: {} httpChallenge: entryPoint: web2. 确认域名路由回到 traefik/docker-compose.yml把标签中的iptv.proxyexample.xyz全部替换为你的域名labels: - traefik.enabletrue - traefik.http.routers.iptv-proxy.ruleHost(iptv.example.com) - traefik.http.routers.iptv-proxy.entrypointswebsecure - traefik.http.routers.iptv-proxy.tls.certresolvermydnschallenge - traefik.http.services.iptv-proxy.loadbalancer.server.port8080这里的关键是certresolvermydnschallenge它与 traefik.yaml 中的解析器名称一一对应Traefik 会自动完成证书申请、校验与续期完全免费。第四步一条命令启动完整部署在traefik目录下执行docker-compose up -d首次启动时 Traefik 会自动申请证书稍等片刻即可验证 HTTPS 是否生效 浏览器打开https://iptv.example.com/iptv.m3u?username你的用户password你的密码✅ 若正常下载到 m3u 文件且地址栏显示小锁图标说明免费 HTTPS 已配置成功 把该链接填入 IPTV 播放器如 TiviMate、PotPlayer即可流畅观看生成的新 m3u 中所有频道地址都会被改写为指向你的域名例如https://iptv.example.com/xxx/你的用户/你的密码/0/channel1常见问题排查FAQ❓ 证书一直申请失败检查三点域名是否正确解析到本机 IP、80 端口是否开放、traefik.yaml 中的邮箱是否填写正确。❓ 播放列表能打开但频道全部无法播放多半是HOSTNAME或ADVERTISED_PORT配置有误请确认两者分别为你的域名和443同时确保HTTPS: 1已设置。❓ 上游是 Xtream 源却只出了 m3u 列表确认 Xtream 三个环境变量已填写并重启容器使配置生效。代理相关的认证逻辑可查阅 pkg/server/routes.go。❓ 本地 m3u 文件如何挂载把文件放入项目根目录的iptv文件夹并设置M3U_URL: /root/iptv/你的文件.m3u容器内会自动挂载。总结通过本教程你已成功完成iptv-proxy Traefik 免费 HTTPS 部署iptv-proxy 负责把 m3u/m3u8 与 Xtream 源安全地代理到自己的服务器Traefik 负责自动签发和续期 Lets Encrypt 免费证书。整个过程只需一个域名和三条配置即可让你的 IPTV 代理获得企业级的加密保护从此告别明文泄露与内容劫持的烦恼。快去试试吧 【免费下载链接】iptv-proxyReverse proxy on iptv m3u and m3u8 file and xtream codes client api项目地址: https://gitcode.com/gh_mirrors/ip/iptv-proxy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考