一文搞懂 Cloudflare Worker:IPTV 玩家必備神器!
整理版優先睇
Cloudflare Workers 幾乎零成本解決 IPTV 直播源代理、加速同改寫問題,仲可以將現有 PHP 腳本搬到邊緣計算。
呢篇文章主要係講 Cloudflare Workers 點樣幫 IPTV 玩家解決直播源訪問慢、運營商限制、跨地區訪問呢啲常見問題。作者本身係一個鍾意折騰嘅玩家,佢發現好多 IPTV 相關嘅源同工具都需要自備服務器,成本高又麻煩,於是介紹 Cloudflare Workers 呢個幾乎零成本嘅解決方案。整體結論係:Cloudflare Workers 憑藉零冷啟動、全球300+城市節點、免費10萬次請求/日嘅額度,可以做到代理、加速、改寫、隱藏四大功能,仲可以將現有 PHP 腳本用 AI 轉換成 Worker JS,徹底免除服務器依賴。
文章首先解釋咗咩係 Cloudflare Workers:一個基於 V8 Isolate 嘅無服務器執行環境,同傳統 AWS Lambda 唔同,佢冇冷啟動問題,響幾毫秒內啟動,並喺離用戶最近嘅節點運行。仲配套有 KV、R2、D1、Queues、Cron 等工具,免費額度對個人玩家好夠用。
接住落嚟,文章詳細講咗喺 IPTV 場景下嘅五大應用:直播源代理、m3u8 重寫、隱藏真實源地址、跨地區訪問、自定義播放邏輯。尤其係 m3u8 重寫,可以自動替換 ts 地址,解決好多源播唔到嘅問題。最後佢分享咗點樣將現有 PHP 腳本轉換成 Worker JS,包括用 AI 直接轉換,同埋要注意同步轉異步、file_get_contents 變 fetch、輸出 response 呢啲細節。
- Cloudflare Workers 零冷啟動、全球節點,免費額度夠個人玩家用,係 IPTV 神器。
- IPTV 常見痛點:源訪問慢、運營商限制、跨地區限制,Worker 做中轉代理即可解決。
- m3u8 重寫係關鍵功能,自動替換 ts 地址,解決播唔到嘅問題。
- 可以將現有 PHP 代理腳本用 AI 轉換成 Worker JS,免除服務器成本。
- 轉換時注意同步轉異步、file_get_contents 變 fetch、輸出方式改 Response 呢啲坑。
IPTV 玩家嘅煩惱同救星
喺折騰 IPTV 嘅過程中,成日遇到直播源訪問慢、卡頓、唔打得開、被運營商限制、跨地區睇唔到等問題。自建服務又要買服務器,成本高又麻煩。
幾乎零成本又非常強大嘅工具
呢個就係 Cloudflare Worker。隨住雲計算發展,我哋經歷咗物理服務器 → 虛擬機 → 容器 → Serverless,而家新趨勢係邊緣計算——將計算推到用戶身邊。
邊緣計算(Edge Computing)
Cloudflare Workers 憑藉極低成本同超強能力,成為開發者手裏嘅「神器」,尤其係 IPTV 場景,可以直接改變使用體驗。
Cloudflare Worker 係乜?點解係瑞士軍刀?
簡單講,Cloudflare Workers 係運行喺全球邊緣節點上嘅無服務器執行環境。同傳統 Serverless 唔同,佢基於 V8 Isolate,無冷啟動,響幾毫秒內啟動,直接喺離用戶最近嘅節點運行。
- ✅ 零冷啟動:幾乎即時響應
- ✅ 全球分發:300+ 城市節點自動部署
- ✅ 多語言支持:JS / TS / Wasm(Rust / Go 等)
- ✅ 無需服務器:唔使買 VPS、唔使維護
仲有強大配套:KV 做緩存配置、R2 對象存儲免出站流量、D1 邊緣 SQLite、Queues 異步任務、Cron 定時任務。免費額度每日 10 萬次請求,對個人玩家好夠用。
免費額度好夠用
喺 IPTV 場景下嘅五大玩法
對於 IPTV 玩家,呢部分先係核心。好多源嘅問題其實係被運營商限速、DNS 污染、跨地區限制。Worker 可以做到以下幾個功能:
- 1 🚀 直播源代理:原始地址 http://xxx/live.m3u8 變成 https://你的域名?url=xxx,利用 Cloudflare CDN 加速,提高訪問成功率。
- 2 🔁 m3u8 重寫:自動解析 m3u8 並替換 ts 地址為 Worker 路徑,所有請求統一走代理,解決「源能睇但卡/斷」嘅關鍵問題。
- 3 🔐 隱藏真實源地址:用 Worker 隱藏 URL,防止被人直接盜用。
- 4 🌍 跨地區訪問:從 Cloudflare 節點發起請求,實現「曲線跨區」訪問。
- 5 🧠 自定義播放邏輯:多線路自動切換、Token 鑑權、動態生成 m3u、簡單 API 網關等進階玩法。
m3u8 重寫係關鍵修復手段
隱藏真實源地址
曲線跨區
將 PHP 腳本搬上 Worker:AI 幫你轉換
好多 IPTV 玩家手裏都有現成 PHP 代理腳本,但需要服務器先跑到。Cloudflare Workers 可以解決呢個問題:將 PHP 邏輯改寫成 JavaScript。
PHP → Worker(JS)
例如常見 PHP 代理邏輯:
<?php
$url = $_GET['url'];
header("Content-Type: application/vnd.apple.mpegurl");
echo file_get_contents($url);
?>
轉換成 Worker 版本:
export default {
async fetch(request) {
const url = new URL(request.url)
const target = url.searchParams.get("url")
if (!target) {
return new Response("Missing url", { status: 400 })
}
const resp = await fetch(target)
return new Response(resp.body, {
headers: {
"Content-Type": "application/vnd.apple.mpegurl",
},
})
}
}
功能完全一致,但唔需要服務器,全球加速,部署更簡單。而且呢啲 PHP 腳本結構好規律,好適合用 AI 直接轉換。你只需要將 PHP 代碼丟俾 AI,叫佢改寫成 Cloudflare Worker(JS),通常就會得到可直接部署嘅代碼。
常見轉換場景包括:代理接口(file_get_contents → fetch)、Token 獲取拼接、m3u8 內容替換(str_replace → replace)、Header 偽造(stream_context_create → headers)。
注意同步轉異步
但要注意以下坑:PHP 係同步,Worker 係異步,必須 async/await;file_get_contents 唔完全等價 fetch,要考慮 Header、重定向、編碼;輸出方式唔同(echo vs return Response);部分函數如 curl 要改寫。
總結:無服務器嘅邊緣工具時代
成個操作嘅核心價值係:將依賴服務器嘅 IPTV 工具變成無服務器嘅邊緣工具。帶嚟嘅變化好明顯:唔使買 VPS、全球訪問更穩定、延遲更低、更容易擴展。
唔使買 VPS
全球訪問更穩定
延遲更低
更容易擴展

喺搞 IPTV 嘅過程中,好多人都會遇到呢啲問題:
直播源存取慢、窒甚至打唔開 部分地址俾營運商限制 需要跨地區存取(例如睇外地源) 自己起服務仲要買伺服器,成本高又麻煩
其實,有一個幾乎零成本、又非常強大嘅工具可以解決呢啲問題——
👉 Cloudflare Worker
喺雲端運算嘅發展過程中,我哋已經經歷咗:
物理伺服器 → 虛擬機 → 容器 → Serverless(無伺服器)
而家,一個新嘅趨勢越嚟越明顯——
👉 將計算「推到用家身邊」
這就是邊緣運算(Edge Computing)。
喺眾多方案中,Cloudflare Workers 憑住極低成本 + 超強能力,逐漸成為開發者(尤其係鍾意搞嘢嘅玩家)手上嘅「神器」。
尤其係喺 IPTV 場景下,佢甚至可以直接改變你嘅使用體驗。


簡單嚟講:
👉 Cloudflare Workers 係運行喺全球邊緣節點上嘅無伺服器執行環境
同傳統 Serverless(例如 AWS Lambda)唔同,佢有一個關鍵優勢:
⚡ 基於 V8 Isolate,無冷啟動
傳統函數運算:
啟動容器 → 載入環境 → 執行代碼(有延遲)
Workers:
⚡ 幾毫秒內啟動 🌍 直接喺離用家最近嘅節點運行
🚀 核心特點一覽
✅ 零冷啟動:幾乎即時回應 ✅ 全球分發:300+ 城市節點自動部署 ✅ 多語言支援:JS / TS / Wasm(Rust / Go 等) ✅ 無需伺服器:唔使買 VPS、唔使維護



Cloudflare Workers 唔止係「寫啲 JS」嘅地方,佢仲有一整套生態👇
🧰 強大配套能力
🗂 KV(鍵值儲存):做快取、設定中心 📦 R2(物件儲存):無出站流量費用 🗄 D1(資料庫):邊緣 SQLite 📬 Queues(佇列):異步任務處理 ⏰ Cron:定時任務
💰 免費額度都好勁
每天 10 萬次請求免費 對個人用家嚟講基本夠用
👉 用嚟搞 IPTV、做小工具,幾乎零成本



對於 IPTV 用家,呢一部分先係核心,亦係好多人開始用 Workers 嘅原因👇
🚀 1. 直播源代理(最常用)
好多 IPTV 源問題其實係:
俾營運商限速 DNS 污染 跨地區限制
👉 Worker 可以做中轉:
原始地址:http://xxx/live.m3u8
↓
Worker地址:https://你的域名?url=xxx
效果:
✅ 提高存取成功率 ✅ 利用 Cloudflare CDN 加速 ✅ 穩定性更好
🔁 2. m3u8 改寫(非常關鍵)
好多源嘅問題在於:
m3u8 打得開,但 ts 播唔到 ❌
原因:
ts 地址係內網 IP 或者寫死本地地址
Worker 可以:
自動解析 m3u8 替換 ts 地址為 Worker 路徑 所有請求統一經代理
👉 呢一步係好多「源睇到但窒/斷」嘅關鍵修復手段
🔐 3. 隱藏真實源地址
如果你有:
捉封包得到嘅源 私有源
可以用 Worker:
隱藏真實 URL 防止俾人直接盜用
🌍 4. 跨地區存取
比如:
某啲 IPTV 只允許本地存取 或者分區域 CDN
Worker 可以:
從 Cloudflare 節點發起請求 實現「曲線跨區」存取
🧠 5. 自訂播放邏輯
進階玩法包括:
🔀 多線路自動切換 🔑 Token 鑑權 📃 動態生成 m3u 📊 簡單 API 閘道


喺搞 IPTV 嘅過程中,好多人手上其實已經積累咗唔少現成資源,例如:
各種 PHP 代理腳本 捉封包後整理嘅接口 一啲帶 token 嘅播放邏輯
但問題係:
❗ 呢啲 PHP 腳本都需要伺服器先至行到
而呢個就係 Cloudflare Workers 可以解決嘅一個「隱藏大招」。
💡 思路好簡單:PHP → Worker(JS)
核心邏輯其實就係:
👉 將原本運行喺伺服器上嘅 PHP 邏輯,改寫成 Worker 嘅 JavaScript
例如常見 PHP 代理邏輯:
<?php
$url = $_GET['url'];
header("Content-Type: application/vnd.apple.mpegurl");
echo file_get_contents($url);
?>✨ 轉換成 Worker 版本
export default {
async fetch(request) {
const url = new URL(request.url)
const target = url.searchParams.get("url")
if (!target) {
return new Response("Missing url", { status: 400 })
}
const resp = await fetch(target)
return new Response(resp.body, {
headers: {
"Content-Type": "application/vnd.apple.mpegurl",
},
})
}
}👉 功能完全一致,但:
❌ 唔需要伺服器 ✅ 全球加速 ✅ 部署更簡單
🤖 點解話「可以用 AI 嚟做轉換」?
呢個係一個非常實用嘅小技巧👇
好多 IPTV 相關嘅 PHP 腳本,其實結構都好規律:
獲取參數(GET/POST) 請求遠程接口 處理返回數據 輸出結果
👉 呢種模式非常適合用 AI 直接轉換。
🧠 實際用法
你只需要:
👉 將 PHP 代碼丟俾 AI,並說明:
把這段 PHP 改寫成 Cloudflare Worker(JS),保持邏輯一致
通常就會得到:
可直接部署嘅 Worker 代碼 順便優化(例如 header、異常處理等)

🔧 常見轉換場景
喺 IPTV 搞嘢入面,最常見嘅幾類👇
📡 1. 代理接口
file_get_contents($url)
👉 轉成:
fetch(url)
🔑 2. Token 獲取 + 拼接
PHP:
$token = file_get_contents("api"); echo "http://xxx/live.m3u8?token=".$token;
Worker:
const tokenResp = await fetch("api") const token = await tokenResp.text() return new Response(`http://xxx/live.m3u8?token=${token}`)
🔁 3. m3u8 內容替換
PHP:
$str = file_get_contents($url); $str = str_replace("old", "new", $str); echo $str;
Worker:
let text = await resp.text()
text = text.replace(/old/g, "new")
return new Response(text)🧩 4. Header 偽造
PHP:
$options = [ "http" => [ "header" => "User-Agent: okhttp" ] ];
Worker:
fetch(url, {
headers: {
"User-Agent": "okhttp"
}
})⚠️ 轉換時要注意嘅陷阱
唔好直接無腦複製,注意呢啲👇
❗ 1. PHP 係同步,Worker 係異步
PHP:順序執行 Worker:必須 async/await
❗ 2. file_get_contents ≠ fetch 完全等價
需要考慮:
Header 重定向 編碼
❗ 3. 輸出方式唔同
PHP:echo Worker:return Response
❗ 4. 部分函數無法直接替代
例如:
curl → fetch(但參數唔同) include → 需要改結構
當然,除咗常見嘅 PHP 腳本,其他腳本例如酷9 js/py都可以轉換成 CF Worker JS 使用,只需注意輸出格式就得。


呢一套操作嘅核心價值其實係:
👉 將「依賴伺服器」嘅 IPTV 工具,變成「無伺服器」嘅邊緣工具
帶來嘅變化非常明顯:
💰 唔使買 VPS 🌍 全球存取更穩定 ⚡ 延遲更低 🧩 更容易擴展
Cloudflare Workers 帶來嘅唔止係「免費伺服器」,而係一種全新嘅思路:
👉 將計算放到離用家最近嘅地方
對於 IPTV 用家嚟講,佢嘅價值可以總結為四個字:
代理、加速、改寫、隱藏



在折騰 IPTV 的過程中,很多人都會遇到這些問題:
直播源訪問慢、卡頓甚至無法打開 部分地址被運營商限制 需要跨地區訪問(例如看外地源) 自建服務還要買服務器,成本高還麻煩
其實,有一個幾乎零成本、又非常強大的工具可以解決這些問題——
👉 Cloudflare Worker
在雲計算的發展過程中,我們已經經歷了:
物理服務器 → 虛擬機 → 容器 → Serverless(無服務器)
而現在,一個新的趨勢正在變得越來越明顯——
👉 把計算“推到用戶身邊”
這就是邊緣計算(Edge Computing)。
在眾多方案中,Cloudflare Workers 憑藉極低成本 + 超強能力,逐漸成為開發者(尤其是愛折騰的玩家)手裏的“神器”。
尤其是在 IPTV 場景下,它甚至可以直接改變你的使用體驗。


簡單來說:
👉 Cloudflare Workers 是運行在全球邊緣節點上的無服務器執行環境
和傳統 Serverless(比如 AWS Lambda)不同,它有一個關鍵優勢:
⚡ 基於 V8 Isolate,無冷啓動
傳統函數計算:
啓動容器 → 加載環境 → 執行代碼(有延遲)
Workers:
⚡ 幾毫秒內啓動 🌍 直接在離用戶最近的節點運行
🚀 核心特點一覽
✅ 零冷啓動:幾乎即時響應 ✅ 全球分發:300+ 城市節點自動部署 ✅ 多語言支持:JS / TS / Wasm(Rust / Go 等) ✅ 無需服務器:不用買 VPS、不用維護



Cloudflare Workers 不只是“寫點 JS”的地方,它還有一整套生態👇
🧰 強大配套能力
🗂 KV(鍵值存儲):做緩存、配置中心 📦 R2(對象存儲):無出站流量費用 🗄 D1(數據庫):邊緣 SQLite 📬 Queues(隊列):異步任務處理 ⏰ Cron:定時任務
💰 免費額度也很頂
每天 10 萬次請求免費 對個人玩家來說基本夠用
👉 用來折騰 IPTV、做小工具,幾乎零成本



對於IPTV玩家,這一部分才是核心,也是很多人開始用 Workers 的原因👇
🚀 1. 直播源代理(最常用)
很多 IPTV 源問題其實是:
被運營商限速 DNS 污染 跨地區限制
👉 Worker 可以做中轉:
原始地址:http://xxx/live.m3u8
↓
Worker地址:https://你的域名?url=xxx
效果:
✅ 提高訪問成功率 ✅ 利用 Cloudflare CDN 加速 ✅ 穩定性更好
🔁 2. m3u8 重寫(非常關鍵)
很多源的問題在於:
m3u8 能打開,但 ts 播不了 ❌
原因:
ts 地址是內網 IP 或寫死本地地址
Worker 可以:
自動解析 m3u8 替換 ts 地址為 Worker 路徑 所有請求統一走代理
👉 這一步是很多“源能看但卡/斷”的關鍵修復手段
🔐 3. 隱藏真實源地址
如果你有:
抓包得到的源 私有源
可以用 Worker:
隱藏真實 URL 防止被別人直接盜用
🌍 4. 跨地區訪問
比如:
某些 IPTV 只允許本地訪問 或者分區域 CDN
Worker 可以:
從 Cloudflare 節點發起請求 實現“曲線跨區”訪問
🧠 5. 自定義播放邏輯
進階玩法包括:
🔀 多線路自動切換 🔑 Token 鑑權 📃 動態生成 m3u 📊 簡單 API 網關


在折騰 IPTV 的過程中,很多人手裏其實已經積累了不少現成資源,比如:
各種 PHP 代理腳本 抓包後整理的接口 一些帶 token 的播放邏輯
但問題是:
❗ 這些 PHP 腳本都需要服務器才能跑
而這正是 Cloudflare Workers 可以解決的一個“隱藏大招”。
💡 思路很簡單:PHP → Worker(JS)
核心邏輯其實就是:
👉 把原本運行在服務器上的 PHP 邏輯,改寫成 Worker 的 JavaScript
例如常見 PHP 代理邏輯:
<?php
$url = $_GET['url'];
header("Content-Type: application/vnd.apple.mpegurl");
echo file_get_contents($url);
?>✨ 轉換成 Worker 版本
export default {
async fetch(request) {
const url = new URL(request.url)
const target = url.searchParams.get("url")
if (!target) {
return new Response("Missing url", { status: 400 })
}
const resp = await fetch(target)
return new Response(resp.body, {
headers: {
"Content-Type": "application/vnd.apple.mpegurl",
},
})
}
}👉 功能完全一致,但:
❌ 不需要服務器 ✅ 全球加速 ✅ 部署更簡單
🤖 為什麼說“可以用 AI 來做轉換”?
這是一個非常實用的小技巧👇
很多 IPTV 相關的 PHP 腳本,其實結構都很規律:
獲取參數(GET/POST) 請求遠程接口 處理返回數據 輸出結果
👉 這種模式非常適合用 AI 直接轉換。
🧠 實際用法
你只需要:
👉 把 PHP 代碼丟給 AI,並說明:
把這段 PHP 改寫成 Cloudflare Worker(JS),保持邏輯一致
通常就能得到:
可直接部署的 Worker 代碼 順帶優化(比如 header、異常處理等)

🔧 常見轉換場景
在 IPTV 折騰中,最常見的幾類👇
📡 1. 代理接口
file_get_contents($url)
👉 轉成:
fetch(url)
🔑 2. Token 獲取 + 拼接
PHP:
$token = file_get_contents("api"); echo "http://xxx/live.m3u8?token=".$token;
Worker:
const tokenResp = await fetch("api") const token = await tokenResp.text() return new Response(`http://xxx/live.m3u8?token=${token}`)
🔁 3. m3u8 內容替換
PHP:
$str = file_get_contents($url); $str = str_replace("old", "new", $str); echo $str;
Worker:
let text = await resp.text()
text = text.replace(/old/g, "new")
return new Response(text)🧩 4. Header 偽造
PHP:
$options = [ "http" => [ "header" => "User-Agent: okhttp" ] ];
Worker:
fetch(url, {
headers: {
"User-Agent": "okhttp"
}
})⚠️ 轉換時要注意的坑
別直接無腦複製,注意這些👇
❗ 1. PHP 是同步,Worker 是異步
PHP:順序執行 Worker:必須 async/await
❗ 2. file_get_contents ≠ fetch 完全等價
需要考慮:
Header 重定向 編碼
❗ 3. 輸出方式不同
PHP:echo Worker:return Response
❗ 4. 部分函數無法直接替代
例如:
curl → fetch(但參數不同) include → 需要改結構
當然了,除了常見的php腳本,其他腳本例如酷9 js/py也可以轉換成cf worker js使用,只需注意輸出格式就可以了。


這一套操作的核心價值其實是:
👉 把“依賴服務器”的 IPTV 工具,變成“無服務器”的邊緣工具
帶來的變化非常明顯:
💰 不用買 VPS 🌍 全球訪問更穩定 ⚡ 延遲更低 🧩 更容易擴展
Cloudflare Workers 帶來的不僅僅是“免費服務器”,而是一種全新的思路:
👉 把計算放到離用戶最近的地方
對於 IPTV 玩家來說,它的價值可以總結為四個字:
代理、加速、改寫、隱藏

