UStackUStack
Decoy icon

Decoy

Decoy:macOS 本機模擬伺服器工具,輕鬆測試 API、Webhook。無需複雜設定,加速開發流程。

Decoy

什麼是 Decoy?

什麼是 Decoy?

Decoy 是一款強大且直觀的原生 macOS 應用程式,專為需要輕鬆建立和管理本機模擬伺服器的開發人員而設計。它透過提供直接、無需設定的環境,簡化了模擬 API 端點、測試 Webhook 整合和偵錯網路相關程式碼的過程。與傳統方法(通常涉及複雜的組態、Docker 容器或雲端通道服務)不同,Decoy 可在您的 Mac 上提供即時體驗。

Decoy 以 SwiftUI 和 Network.framework 等現代 macOS 技術建置,針對效能和資源效率進行了優化。它可立即啟動,消耗最少的記憶體,並允許即時變更模擬回應,確保無縫的開發工作流程。無論您是建置新應用程式、與第三方服務整合,還是測試網路故障和逾時等邊緣案例,Decoy 都提供了加速開發週期的靈活性和控制力。

主要功能

  • 輕鬆建立模擬伺服器: 使用自訂方法、路徑定義端點,並將它們分組到專案中以便於管理。
  • 即時請求監控: 查看所有傳入請求的詳細資訊,包括標頭、內文、來源 IP 和時間戳記。JSON 內文會自動格式化以便閱讀。
  • 彈性的回應模擬: 使用任何 HTTP 狀態碼進行設定,從 7 種不同的內文類型(純文字、JSON、HTML、XML、檔案、空白、重定向)中選擇,設定自訂標頭,並模擬延遲。
  • 參數化路徑: 支援動態路徑,如 /users/:id,以符合各種請求參數。
  • 多種回應內文類型: 輕鬆提供 JSON、HTML、XML、純文字、檔案(圖片、PDF)、空白回應或執行重定向。
  • 即時變更: 對端點或回應的修改會在下一個傳入請求時立即生效。
  • 請求匯出: 將請求詳細資訊複製為 cURL、JavaScript fetch 或 Ruby 程式碼片段,以便輕鬆偵錯和共用。
  • 自動 CORS 處理: 自動新增 CORS 標頭,確保瀏覽器型請求無縫運作。
  • 檔案回應: 直接將靜態檔案作為回應提供。
  • 原生 macOS 體驗: 使用 SwiftUI 建置,提供快速、響應迅速且記憶體效率高的應用程式。無需 Docker、雲端通道或複雜的組態檔案。
  • 專案分組: 在自訂子網域(例如 api.decoy.my)下組織端點。
  • 回應快照: 檢閱為每個請求傳送的確切回應。
  • 自訂網域: 使用預設網域,如 decoy.mylvh.me,或設定您自己的網域。
  • 詳細請求檢查: 檢查標頭、內文(二進位資料提供十六進位傾印)、來源 IP、時間戳記以及每個請求的唯一 UUID。
  • 重定向支援: 輕鬆設定 301、302、307 和 308 重定向,並自動處理 Location 標頭。
  • 持續儲存: 請求會儲存到 SQLite 資料庫,確保即使應用程式意外退出也不會遺失資料。

如何使用 Decoy

開始使用 Decoy 的設計非常簡單:

  1. 安裝 Decoy: 從 Mac App Store 下載並安裝 Decoy。
  2. 建立專案: 啟動 Decoy 並建立一個新專案。您可以指定自訂子網域(例如 myapi)或使用預設的 decoy.my 網域。
  3. 定義端點: 在您的專案中新增端點。指定 HTTP 方法(GET、POST、PUT、DELETE 等)和路徑(例如 /users/products/:id)。
  4. 設定回應: 為每個端點定義所需的回應。選擇狀態碼,選擇內文類型(JSON、文字、檔案等),新增任何必要的標頭,並可選擇設定延遲以模擬網路延遲。
  5. 指向您的應用程式: 將您的應用程式、腳本或服務設定為將請求傳送至 Decoy 提供的位址(例如 http://myapi.decoy.my:8998)。
  6. 監控和偵錯: 當請求進來時,Decoy 會即時顯示它們。您可以檢查傳入請求的所有詳細資訊,並驗證傳送的回應。
  7. 迭代: 即時變更您的端點設定或回應。Decoy 會立即套用這些變更,從而實現快速迭代和偵錯。

使用案例

  • API 開發與測試: 在前端開發期間模擬後端 API 回應,讓團隊能夠平行工作,無需等待後端完成。測試各種回應情境,包括錯誤代碼和邊緣案例。
  • Webhook 整合測試: 透過設定 Decoy 來接收和檢查這些內文,輕鬆測試您的應用程式如何處理來自 Stripe、GitHub 或 Slack 等第三方服務的傳入 Webhook。
  • 行動應用程式開發: 模擬行動應用程式的網路請求,以測試 UI 行為、離線情境和錯誤處理,而無需依賴即時後端。
  • 測試網路彈性: 透過在 Decoy 的回應中引入延遲來模擬緩慢的網路條件或逾時,有助於建置更能優雅處理延遲的更強健應用程式。
  • 爬蟲程式與機器人開發: 透過提供來自本機模擬伺服器的可預測回應來測試與網路服務互動的爬蟲程式或機器人。

常見問題

  • Decoy 的系統需求是什麼? Decoy 需要 macOS 14 Sonoma 或更高版本。

  • Decoy 是免費的嗎? Decoy 是一款付費應用程式,可在 Mac App Store 上購買,售價為 €24.99。

  • 我需要 Docker 或 Node.js 才能使用 Decoy 嗎? 否,Decoy 是一款獨立的原生 macOS 應用程式。其核心功能不需要 Docker、Node.js 或任何其他外部運行環境。

  • Decoy 可以處理 HTTPS 請求嗎? 目前,Decoy 主要專注於 HTTP 請求。對於 HTTPS 模擬,您通常需要設定反向代理或使用不同的工具集。

  • 請求是如何儲存的? 傳入的請求會儲存到本機 SQLite 資料庫,確保即使應用程式意外關閉,您的請求歷史記錄也會被保留。