技术 一键部署 M3U 代理服务器 免除 VPN 直接观看 4GTV 等直播源 (11.03 更新)

lolee · 2024年10月22日 · 最后由 Gell 回复于 2024年12月10日 · 7032 次阅读

全部代码由 AI 代写

需要回滚版本将 latest 替换成版本号 默认 latest 是最新版

v1.0 仅支持x86
v1.1 2024.10.29 更新 :支持多架构(amd64, arm64, arm/v7)
v1.2 2024.10.30 更新 :支持拖拽上传M3U文件、支持URL导入M3U文件、集成编辑器、集成播放器、域名白名单优化。
v1.3 2024.11.03 更新 :支持自定义管理界面访问路径,自定义访问令牌,自定义M3U文件名。

一键部署脚本

bash <(curl -s https://raw.githubusercontent.com/chinggirltube/M3U-Proxy/refs/heads/main/m3u_proxy_installer.sh)

注意:此脚本需要 root 权限才能正确执行。请使用 root 用户运行脚本。

安装 Docker 和 Docker Compose:这些操作通常需要 root 权限。
创建和修改系统目录:脚本可能需要在 /home 或其他系统目录下创建文件夹,这通常需要 root 权限。
管理 Docker 服务:启动、停止和管理 Docker 容器通常需要 root 权限或 Docker 组成员资格。

手动部署

说明链接 https://github.com/chinggirltube/M3U-Proxy

M3U 代理服务器使用说明

M3U Proxy 是专为解决地理限制问题而设计。它通过在可访问区域部署代理服务器,巧妙地绕过了内容提供商的地域限制。用户只需将本地播放器连接到这个代理服务器,就能享受原本无法直接访问的节目。

主要功能

  1. 代理 M3U 播放列表:实时更新您的频道列表,确保您始终能访问最新的内容。
  2. 域名白名单:允许您控制哪些域名可以被代理访问,增加安全性。
  3. IP 白名单:限制只有特定的 IP 地址可以访问您的播放列表,提供额外的安全层。
  4. 管理界面:提供一个用户友好的界面,让您可以轻松管理服务器设置、查看统计信息等。
  5. 日志记录:记录重要事件和错误,帮助您监控和排查问题。

安装步骤

  1. 准备工作

    • 确保您的系统已安装 Docker 和 Docker Compose。
    • 准备好您的 M3U 播放列表文件。
  2. 安装过程

    • 运行安装脚本,选择"Docker 管理"菜单。
    • 在子菜单中选择"部署 M3U Proxy"选项。
    • 按照提示输入必要的信息(如安装目录、端口号等)。
    • 脚本会自动完成安装和配置过程。

  1. 安装后配置
    • 安装完成后,您会看到管理界面的地址、用户名和密码。
    • 使用这些信息登录管理界面,进行进一步的设置。

使用说明

  1. 添加频道列表
    • 将您的频道列表添加到 iptv.m3u 文件中,或者上传您自己的 iptv.m3u 文件替换现有文件。

  1. 管理白名单

    • 使用 whitelist.txt 文件管理域名白名单。
    • 使用 ip_whitelist.txt 文件管理 IP 白名单。
  2. 更新白名单

    • 每次修改 iptv.m3u 文件后,请在管理界面中点击"刷新域名白名单"按钮。

  1. 使用代理后的播放列表
    • 在您的播放器中使用新的 M3U 文件地址(形如 http://您的服务器IP:端口/iptv.m3u)。

注意事项

  • 确保您的防火墙允许访问您设置的端口。
  • 定期检查日志文件,了解服务器的运行状况。
  • 保持您的 Docker 和 M3U Proxy 更新到最新版本,以获得最佳性能和安全性。

故障排除

如果遇到问题:

  1. 检查 Docker 容器是否正在运行。
  2. 查看日志文件中是否有错误信息。
  3. 确保所有必要的文件都存在于指定的目录中。
  4. 检查您的网络连接和防火墙设置。

安全建议

  • 定期更改管理员密码。
  • 谨慎使用 IP 白名单功能,确保不会意外锁定自己。(在管理面板添加自己的 IP)
  • 只添加您 M3U 列表里的域名或者 IP 到白名单中。

访问管理界面

启动容器后,您可以通过浏览器访问管理界面:

http://您的服务器IP:5001/admin

使用您设置的管理员用户名和密码登录。

注意:不支持 DRM 加密的直播源

祝您使用愉快!

M3U Proxy 更新说明 (2024-10-29)

新增功能:支持多架构(amd64, arm64, arm/v7)

M3U Proxy 更新说明 (2024-10-30)

新增功能:支持拖拽上传 M3U 文件、支持 URL 导入 M3U 文件、集成编辑器、集成播放器、域名白名单优化

1. Web 界面功能增强

  • 文件上传优化

    • 支持拖拽上传 M3U 文件
    • 上传后刷新编辑器内容
    • 改进文件编码支持
  • 在线编辑器

    • 集成编辑器
    • 实时预览
    • 一键保存功能
  • 远程导入功能

    • 支持通过 URL 导入 M3U 文件
    • 自动验证 M3U 文件有效性

2. 内置播放器

  • 基础播放功能
    • 集成播放器
    • 深色主题界面
    • 左侧频道列表
    • 支持频道预览图标

3. 域名白名单优化

  • 完全同步机制
  • 支持多种导入方式同步

使用说明

1. M3U 文件管理

  • 上传文件

    1. 点击"选择文件"或直接拖拽文件到上传区域
  • 在线编辑

    1. 直接在编辑器中修改内容
    2. 点击"保存更改"按钮保存
  • 远程导入

    1. 在远程导入框中输入 M3U 文件的 URL
    2. 点击"导入"按钮
    3. 确认导入后自动更新内容

2. 播放器使用

  • 访问播放器

    1. 点击管理界面右上角的"打开播放器"
    2. 或直接访问 /player 路径
  • 播放控制

    1. 从左侧列表选择频道
    2. 使用播放器控制栏控制播放
    3. 支持全屏播放

3. 注意事项

  • 远程导入和上传后 更新域名白名单
  • 播放器页面需要登录才能访问

技术说明

  • 优化了文件编码处理,支持多种编码格式
  • 改进了域名白名单同步机制
  • 添加了更多的错误处理和日志记录

M3U Proxy 更新说明 (2024-11-03)

1. 安全访问增强

  • 管理面板路径自定义

    • 支持自定义管理界面访问路径
    • 默认路径为 /admin
    • 可通过 Web 界面随时修改
  • M3U 文件访问安全控制

    • 支持自定义访问令牌
    • 支持自定义 M3U 文件名
    • 自动生成安全的访问链接

2. Web 界面优化

  • 安全配置面板
    • 添加安全配置管理卡片
    • 实时预览访问链接
    • 一键生成随机令牌

3. 配置管理优化

  • 配置文件持久化
    • 使用 JSON 文件存储配置
    • 容器重启后配置不丢失

补充

很多各种报错的 基本上是一键脚本的问题 建议有动手动能力 还是手动部署吧 详细的都在 https://github.com/chinggirltube/M3U-Proxy 还是搞不定的可以 TG 我 但是不保证 7x24 在线 只要我在 我有时间 一定会指导部署

Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 8, in sys.exit(main()) File "/usr/local/lib/python3.9/dist-packages/compose/cli/main.py", line 81, in main command_func() File "/usr/local/lib/python3.9/dist-packages/compose/cli/main.py", line 200, in perform_command project = project_from_options('.', options) File "/usr/local/lib/python3.9/dist-packages/compose/cli/command.py", line 60, in project_from_options return get_project( File "/usr/local/lib/python3.9/dist-packages/compose/cli/command.py", line 152, in get_project client = get_client( File "/usr/local/lib/python3.9/dist-packages/compose/cli/docker_client.py", line 41, in get_client client = docker_client( File "/usr/local/lib/python3.9/dist-packages/compose/cli/docker_client.py", line 124, in docker_client kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version) TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'

报错呢

ajun59420 回复

可手动部署 说明在下面链接 https://github.com/chinggirltube/M3U-Proxy

能否在管理界面新增上传 m3u 文件,或者可在管理界面修改已有 m3u 文件

总是提示加载 M3U 文件时出错

大佬,我在 istore os 终端输入脚本,提示如下:(No such file or directory) root@iStoreOS:~# bash <(curl -s https://raw.githubusercontent.com/chinggirltube/M3U-Proxy/refs/heads/main/m3u_proxy_installer.sh) bash: /dev/fd/64: No such file or directory

lihonest 回复

m3u 文件里的格式是否标准

lolee 回复

这玩意你放在软路由上没意义.. 部署在境外的服务器是为了方便不用 VPN 直接观看 使用场景是:不用为了看个电视节目还要开启 VPN 或者 给家里长辈观看 不需要给他们的电视上安装一个 VPN 的客户端或者安装一个软路由折腾.. 只要有网就能看 例如 大佬的 4gtv 和其它需要翻墙才可以看的直播源 也不用为了偶尔看看 还要去用到推流 太浪费资源

cciccicc 回复

有这样的计划

大佬 我在威联通一键部署提示 [admin@jiguoqing ~]# bash <(curl -s https://raw.githubusercontent.com/chinggirltube/M3U-Proxy/refs/heads/main/m3u_proxy_installer.sh) -sh: syntax error near unexpected token `(' 这是咋回事

作者怎么里面文件跟你的不一样

作者这样是成功了吗

在 /home/m3u-proxy 目录中运行以下命令启动容器: docker-compose up -d 变成这样了

16675066650 回复

看起来 成功了

亲测可用 一键脚本可能权限问题用不了 手动安装成功,感谢 up 主的耐心指导:💯 💯

群晖部署成功。家里路由下可以看。但是外面就看不了。只能本地观看是吧!

ptzzy2569 回复

正确的玩法是部署在境外的 VPS 上....才能实现在家或者在外,都不需要开启 VPN 直接观看。

很不错的教程,已经弄好了,谢谢!

建议代码中加入防火墙端口放行部分

lolee 请问可把所有网址跑在服务器上吗? 提及了此话题。 10月28日 11:54

是不是 arm 的不支持呢?Network m3u-proxy_default Created0.1s d image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform w [+] Running 3/3u-proxy-m3u-proxy-1

什么时候能支持 arm 啊

hxnsz 回复

按你这样说,我就是只能干等了😂

liuqin 回复

等我更新....明天吧

lolee 回复

静候佳音哈

lolee 回复

lz 威武😊

hxnsz 回复

2024.10.29 更新:支持多架构(amd64, arm64, arm/v7)

lolee 回复

感谢大佬!!!

有个问题,代理 4GTV 没问题,但是如果是 mytvsuper 的就看不到,不知道什么回事,有咩有成功的吗

使用 https:// IPV6 解析的域名:端口/iptv.m3u 能正常读取该容器的 M3U 文件,但无法播放。其中 iptv.m3u 文件内容就是从 pixman 容器下载的 4gtv.m3u,里面是类似这样的:http://192.168.2.1:5000/litv/4gtv-4gtv002 是不是要把 192.168.2.1 改成如同前面的 IPV6 解析的域名?用的是 lucky 加 IPV6 域名映射外网的。

按照流程走的,设置完毕后订阅频道无法观看。请问是哪里设错了。

coco 回复

你的 vps 服务器代理的是你家里的内网 ip 地址 当然不行.... 你上传的 m3u 频道列表的地址应该是公网的 ... 在你的 vps 上部署 大佬的 pixman 然后部署 m3u-proxy 服务器 ip 填你 vps 的 ip 最后上传的 m3u 是你 vps 上下载的 m3u..

lolee 回复

移动家宽路由器(可翻),部署 pixman 然后部署 m3u-proxy 服务器可行不?M3U 里的地址可以用能解析路由器 IPV6 地址的域名不?(IPV4 得不到)

wangsmile 回复

没有这样测试过..你可以试试 有条件还是将 pixman 和 m3u-proxy 都部署在 vps 上吧

wangsmile 回复

感谢大佬回复

楼主 这代理后是跑服务器流量吗 还是

我用 lucky 反代后输入地址访问如下提示: 400 Bad Request The plain HTTP request was sent to HTTPS port

楼主 我弄成功了 可以正常看了 但是这代理后是跑服务器流量啊 10M 宽带只能 2 个人看 多人看就卡死 请问楼主怎么解决很人看呢?CDN 可以吗 有没有 CDN 推流教程

16675066650 回复

😂 当然是你服务器的流量....要不怎么代理?

4G 一部分节目不能看,是什么问题?

4gtv 能看 但 hami 不能 好奇怪 可以加个 debug log?

你好,博主请问下,可以把部署好的直播源在在群晖 IPTV 管理里面吗,

老大,想问一下,你这个跟 011 推流,效果是一样的吗?能推 mytvsuper 吗?

lihonest 回复

不支持 DRM 加密的播放源

感谢分享。为防止 fofa 群扫和穷举爆破,有下面 2 点建议(fofa 扫到一堆此项目)

1:http://ip:port/admin 的 admin,admin 可以自定义为其他

2:http://ip:port/iptv.m3u 加强为→ http://ip:port/XXXXXXX/XXX.m3u XXXXXXX 为自定义 token

leonseason 回复

已添加,请更新最新版

老大,东森购物那些和 TVBS 剧集台这些看不了,是什么问题?

老大 可修复 hami.m3u 看不到的问题吗

squat 回复

hami 需要台湾的 vps 吧

lolee 回复

是的 但它的 hinet.net 应该有加密 (或者其他影响 我完全不熟悉这方面) 之后我转用了 o11 做推流就播到 hami

squat 回复

老哥,你的 hami 账号可以付费共享吗

574509027 回复

它每年双 11 都做 1111twd 优惠 能看 f1 英超 奥运等 自己去买一个独享用很抵的

有那位大佬帮忙布署有偿

56 楼 已删除
squat 回复

给个购买链接 谢谢老哥

58 楼 已删除

大佬,这个一键部署代理服务器的话,还是需要消耗 VPS 的流量是吧?

能代理 ipv6 直播源吗,我的网络环境只有 ipv4,而现在的直播源大多都是 ipv6 的!

有一台 serv00 服务器,试一试代理 ipv6 直播源

N1 科学上网后,用一键脚本架设成功,其中走了不少弯路,其实就是架好后要把 yml 的服务器 ip 改为你路由器绑的域名,开放 N1 的 5001 端口就可以了。感谢帖主的好文!

lolee 回复

bug:

右上角 打开放器 →打开播放器

返回管理界面 - 只返回 admin 的 bug

一键代码不会 v1.0 更新到 latest

Future Vision:

主页支持 https 上传证书和私钥

能否支持在线的 m3u 订阅,还是只能本地的 m3u 文件才行。

The media could not be loaded, either because the server or network failed or because the format is not supported.

能否实现,来访 UA 的白名单这个功能?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号