IPTV 在 CF 上部署代码实现免梯观看 4gtv,并分享 4gtv 节目源。

zkkm2580 · 2026年06月20日 · 最后由 zkkm2580 回复于 2026年06月20日 · 26 次阅读

很多喜欢看电视直播的小伙伴,手里都有台湾 4GTV 的直播源(M3U 列表)。但人在国内直连,往往会遇到两个让人抓狂的问题:

网络筑墙:必须开启代理(挂梯子)才能加载和播放。 混合内容报错:很多播放器无法在 HTTPS 环境下直接播放 HTTP 协议的视频流分片。 今天就教大家一个完全免费、无需服务器的终极解决方案——利用 Cloudflare Worker 搭建一个属于你自己的流媒体中转站。只要部署一次,全家设备不用挂梯子,直接用 IPTV 播放器就能流畅观看!

💡 核心原理 普通的代理只能帮你代理 M3U 文本列表,播放器拿到列表后,去拉取真正的视频数据(TS 分片)时依然会卡死。

我们这个方案的强悍之处在于:让 Cloudflare 的海外节点化身“全职保姆”,在后台实时帮你抓取并下载视频流数据,再用“Stream 流式管道”实时同步传回给国内的播放器。相当于 Cloudflare 成了你的专属海外加速中转站!

🛠️ 核心代码部署步骤 第一步:复制专属中转脚本 (worker.js) 登录你的 Cloudflare 后台,创建一个新的 Worker,将原有的代码全部清空,复制并粘贴以下优化版的流媒体中转代码:

export default { async fetch(request, env, ctx) { // 🎯 替换为你手里的 4GTV 原始 M3U 播放列表地址 const targetUrl = "http://...:**/4.m3u"; const url = new URL(request.url);

const fakeHeaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Accept": "/", "Accept-Language": "en-US,en;q=0.9", "Connection": "keep-alive" };

const tsUrl = url.searchParams.get("ts"); if (tsUrl) { try { const decodedUrl = decodeURIComponent(tsUrl);

const tsResponse = await fetch(decodedUrl, { method: "GET", headers: fakeHeaders, redirect: "follow", cf: { cacheEverything: false, cacheTtl: 0 } });

if (!tsResponse.ok) { return new Response(Fetch TS failed: ${tsResponse.status}, { status: tsResponse.status }); }

const { readable, writable } = new TransformStream(); tsResponse.body.pipeTo(writable);

return new Response(readable, { status: tsResponse.status, statusText: tsResponse.statusText, headers: { "Content-Type": tsResponse.headers.get("Content-Type") || "video/mp2t", "Access-Control-Allow-Origin": "*", "Cache-Control": "no-store, no-cache, must-revalidate, max-age=0", "Pragma": "no-cache" } });

} catch (e) { return new Response("Proxy TS Error: " + e.message, { status: 500 }); } }

try { const response = await fetch(targetUrl, { method: "GET", headers: fakeHeaders, cf: { cacheEverything: false, cacheTtl: 0 } });

if (!response.ok) { return new Response(Target M3U status: ${response.status}, { status: response.status }); }

let text = await response.text(); const baseUrl = new URL(targetUrl); const lines = text.split("\n");

const rewrittenLines = lines.map(line => { const trimmed = line.trim(); if (trimmed === "" || trimmed.startsWith("#")) return line;

let absoluteTsUrl = trimmed; try { absoluteTsUrl = new URL(trmmed, baseUrl.href).href; } catch (e) { return line; }

return ${url.origin}${url.pathname}?ts=${encodeURIComponent(absoluteTsUrl)}; });

return new Response(rewrittenLines.join("\n"), { status: 200, headers: { "Content-Type": "application/x-mpegURL; charset=utf-8", "Access-Control-Allow-Origin": "*", "Cache-Control": "no-store, no-cache, must-revalidate" } });

} catch (error) { return new Response("Proxy M3U Error: " + error.message, { status: 500 }); } } }; 第二步:保存并绑定域名 代码粘贴完成后,点击右上角的 Save and Deploy(保存并部署)。 ⚠️ 避坑关键点:Cloudflare 默认赠送的 *.workers.dev 免费域名在国内遭到了严重的网络干扰。请务必在 Worker 详情页的 Settings -> Triggers -> Custom Domains(自定义域名)中,绑定一个你自己拥有的、国内可正常直连的域名(例如 4gtvc.yourdomain.com)。 📺 怎么使用? 绑定好你自己的自定义域名后,你的专属直播源地址就诞生了!它会长成这样: https://你的自定义域名.com/

打开你常用的 IPTV 播放器(如电脑端的 PotPlayer、VLC,电视盒子的 IPTV Pro,或者手机端播放器),直接将你的自定义域名网址当做 M3U 链接添加进去。

点击播放,你会发现——关闭梯子,电视直播也一样秒开、丝滑、不卡顿!

免费额度:Cloudflare Worker 免费版每天提供 10 万次 免费请求额度,对于个人或家庭日常看电视来说完全是用不完的。 安全性:代码中加入了强力的跨域头(CORS)和严格的缓存控制,能完美兼容目前市面上所有的 Web 网页播放器和各类盒子客户端。

4gtv 节目源: 链接:https://pan.baidu.com/s/1fUL4qK6RqtrzivTOD5eLSg?pwd=4w87 提取码:4w87 上述代码帖出来乱七八九的,我做成文件复制粘帖,需要的下载:4gtv 部署代码.zip 链接:https://pan.baidu.com/s/1x6jDXj6xat0XbnsAKGl5Ow?pwd=xgb3 提取码:xgb3

节目源需要梯看,任何梯都可以,部署到 CF 上更方便。

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