ワンクリックで
astro-wp-tunnel
將本地 WordPress Playground 透過 Cloudflare Tunnel 曝露到外網,給編輯、客戶或 Astro build 管線使用。支援永久網址(需自有 domain 掛在 Cloudflare)與臨時網址兩種模式。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
將本地 WordPress Playground 透過 Cloudflare Tunnel 曝露到外網,給編輯、客戶或 Astro build 管線使用。支援永久網址(需自有 domain 掛在 Cloudflare)與臨時網址兩種模式。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | astro-wp-tunnel |
| description | 將本地 WordPress Playground 透過 Cloudflare Tunnel 曝露到外網,給編輯、客戶或 Astro build 管線使用。支援永久網址(需自有 domain 掛在 Cloudflare)與臨時網址兩種模式。 |
| type | tool-usage |
| triggers | ["本地 WordPress 要讓別人看到","要把 localhost:8888 曝露到外網","建立 Cloudflare Tunnel","npm run wp:tunnel 設定"] |
把本地 WordPress Playground(http://localhost:8888)透過 Cloudflare Tunnel 曝露到網際網路。跨 macOS / Windows / Linux,不需要手動安裝 cloudflared(npm 套件內建 binary)。
astro-wp 安裝(有 scripts/wp-tunnel.mjs 與 npm run wp:tunnel)npm run wp:start 或 npm run dev)問使用者:
你有自己掛在 Cloudflare 的 domain 嗎?(例如
example.com已在 Cloudflare 管理 DNS)
- 有 → 請告訴我要用哪個子網域,例如
wp.example.com。會建立永久固定網址。- 沒有 → 直接啟動,會拿到
xxx-xxx.trycloudflare.com臨時網址,每次啟動都會變。
把使用者提供的 hostname 寫入 wp-bridge.config.ts 的 tunnel.hostname:
tunnel: {
hostname: "wp.example.com", // 使用者給的值
},
執行:
npm run wp:tunnel
第一次執行時腳本會:
cloudflared tunnel login(請使用者選擇對應的 Cloudflare zone)~/.cloudflared/<tunnel-id>.yml 設定檔之後每次啟動都會用同一個網址 https://wp.example.com。
確保 wp-bridge.config.ts 的 tunnel.hostname 是空字串("")。
執行:
npm run wp:tunnel
明確告知使用者:
⚠️ 這是臨時網址,每次啟動都會變。如果需要給人分享的固定網址,請在 Cloudflare 上註冊一個 domain(一年約 10 美金),再切回永久模式。
終端機會印出 https://xxx-xxx.trycloudflare.com,使用者可以直接把這個網址分享出去。
使用者訪問 tunnel 網址應該看到 WordPress 首頁。如果看到 404 或空白,檢查:
http://localhost:8888 是否正常(Playground 是否啟動)wp-bridge.config.ts 的 port 是否正確永久模式的設定檔會自動加上 httpHostHeader: localhost:8888,讓 WordPress 收到的請求看起來像來自本地,不需要修改 WP 的 siteurl 或 home 設定。圖片、API 路徑都會維持原狀。
| 症狀 | 處理 |
|---|---|
cloudflared npm package not found | 使用者可能沒跑 npm install。執行 npm install cloudflared 補上 |
| 瀏覽器沒開 | 手動跑 npx cloudflared tunnel login,貼 URL 到瀏覽器 |
| DNS route 失敗 | 先到 Cloudflare Dashboard 檢查該 hostname 是否已被其他 CNAME 佔用,刪除後重試 |
| 網址連上但一直 loading | 檢查本地 http://localhost:8888 是否真的能通 |
| WordPress 的圖片壞掉 | 確認使用的是永久模式,且 config.yml 有 httpHostHeader |
*.workers.dev(Workers 專用,不能給 Tunnel 用)brew install cloudflared(npm 套件已經內建 binary)siteurl / home(用 httpHostHeader 解決)wp:tunnel(需要互動登入)