ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

iptv-proxy 认证机制全解析:如何用用户名密码保护 M3U 与 Xtream 端点

iptv-proxy 认证机制全解析:如何用用户名密码保护 M3U 与 Xtream 端点 iptv-proxy 认证机制全解析如何用用户名密码保护 M3U 与 Xtream 端点【免费下载链接】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 播放列表与 Xtream Codes 客户端 API 统一代理到你自己的服务器上而它的认证机制正是保护这些 M3U 与 Xtream 端点的第一道防线。本文面向新手用最简单的方式讲清 iptv-proxy 的账号密码认证原理、配置方法与避坑要点帮你用一套用户名密码安全暴露直播、点播、回看等全部 IPTV 能力。说明项目仓库内置的图片均为第三方 JSON 库的压测图与本主题无关因此本文不强行配图以清晰的结构化文字与示例为主。iptv-proxy 是什么为 IPTV 流量加一层门卫简单说iptv-proxy 做三件事把原始 M3U/M3U8 播放列表里的真实流媒体地址改写为代理地址隐藏上游服务器信息把 Xtream Codes 客户端的get.php、player_api.php、xmltv.php等接口整体代理在代理层统一校验用户名与密码未通过认证的请求一律返回401 Unauthorized。也就是说无论你使用 M3U 文件还是 Xtream 协议最终所有访问都会经过同一个认证入口而认证逻辑集中在 pkg/server/handlers.go 与路由注册文件 pkg/server/routes.go 中。认证机制的核心设计一套凭据双重保护iptv-proxy 的认证机制非常直观只依赖两组关键参数参数作用--user/--password代理对外暴露的新账号密码用于 M3U 与 Xtream 端点的认证--xtream-user/--xtream-password上游 Xtream 供应商的真实账号密码仅用于内部转发认证时authenticate 会从请求中读取username与password与配置值比对不一致立即返回 401而 GET/POST 两种请求方式分别由 authenticate 与 appAuthenticate 处理POST 场景主要服务 Android 等外部播放器应用。M3U 端点认证配置三步完成M3U 认证配置方法很简单启动时加两个参数即可iptv-proxy --m3u-url http://example.com/get.php?usernameuserpasswordpasstypem3u_plusoutputm3u8 \ --port 8080 --hostname proxyexample.com \ --user test --password passwordtest启动后播放列表被改写并暴露到带认证的端点http://proxyexample.com:8080/iptv.m3u?usernametestpasswordpasswordtest播放器加载这个地址时iptv-proxy 校验通过后才返回 M3U 文件而文件里每一个频道地址也被重写为包含用户名/密码/频道序号的代理路径见 pkg/server/server.go 的replaceURL逻辑进一步保证后续每次拉流都经过认证。默认--user usertest --password passwordtest正式使用务必修改命令行参数定义在 cmd/root.go。Xtream 端点保护把上游凭据藏起来Xtream 场景下iptv-proxy 的认证机制会做一次凭据替换上游的真实账号xtream_user/xtream_password只保存在服务端客户端一律使用你指定的新账号访问。iptv-proxy --xtream-user xtream_user --xtream-password xtream_password \ --xtream-base-url http://example.com:1234 \ --user test --password passwordtest --port 8080 --hostname proxyexample.com客户端得到的新地址http://proxyexample.com:8080/get.php?usernametestpasswordpasswordtesttypem3u_plusoutputtsget.php、player_api.php、xmltv.php等全部接口都挂载了 authenticate 中间件同时/live/用户/密码/频道ID、/movie/...、/series/...等拉流路径把账号密码内嵌在 URL 中流量经由代理转发到上游直播、点播、剧集、EPG 与 HLS 切片一应俱全。在 Docker 中一键部署并启用认证想快速体验推荐用 Docker 一键部署。编辑 docker-compose.yml 中的环境变量即可开启认证environment: M3U_URL: /root/iptv/iptv.m3u # 或远程 M3U 地址 PORT: 8080 HOSTNAME: localhost XTREAM_USER: xtream_user XTREAM_PASSWORD: xtream_password XTREAM_BASE_URL: http://example.tv:8080 USER: test # 对外认证用户名 PASSWORD: testpassword # 对外认证密码启动docker-compose up -d若启用 HTTPS只需设置HTTPS: 1并把ADVERTISED_PORT设为 443示例见 traefik/docker-compose.yml代理链接会自动切换为 https凭据在传输中也不会明文暴露。常见问题与安全建议访问返回 401检查播放器地址中的username/password是否与--user/--password一致只想用 M3U 不想开 Xtream不传--xtream-*参数即可反过来也一样端口不一致导致播放失败部署在反向代理后时务必用--advertised-port声明对外端口对应 Docker 的ADVERTISED_PORT否则生成的流地址端口会出错安全提醒官方 README 也注明当前认证适合测试场景TODO 中计划升级为数据库 Token 的真实认证建议将其部署在内网或搭配防火墙、Traefik 等反向代理使用并尽快修改默认密码。小结iptv-proxy 用一套简洁的用户名密码认证机制把 M3U 与 Xtream 两类端点的访问统一保护起来对外隐藏上游凭据、对内改写流地址并逐请求校验。理解 cmd/root.go 的参数、pkg/server/routes.go 的路由挂载与 pkg/server/handlers.go 的校验逻辑你就能在几分钟内部署一个带认证的 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),仅供参考
返回列表