README_CHT.md

August 28, 2026 · View on GitHub

Quality Gate Status GitHub last commit Lines of Code

Demo Discord

輕量、易用、高效能,且帶有 WebUI 的反向代理。

網站 | 文檔 | Discord
EN | 简体中文 | 繁體中文

有疑問? 問 ChatGPT!(鳴謝 @ismesid

運行示例

https://demo.godoxy.dev

快速開始

設置 DNS 記錄指向運行 GoDoxy 的機器,例如:

  • A 記錄:*.domain.com -> 10.0.10.1
  • AAAA 記錄:*.domain.com -> ::ffff:a00:a01

Note

GoDoxy 僅在 host 網路模式下運作,請勿更改。

如需更改監聽埠,請修改 .env

  1. 準備一個新目錄用於 Docker Compose 和設定檔。

  2. 在目錄內運行安裝腳本,或手動安裝

    /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/godoxy/main/scripts/setup.sh)"
    
  3. 從產生的 compose.yml 啟動 Docker Compose 服務:

    docker compose up -d
    
  4. 現在可以在 WebUI https://godoxy.yourdomain.com 進行額外配置

主要特點

  • 簡單安裝
  • 自動路由
    • 探索 Docker 和 Podman 容器
    • 設定檔與容器狀態變更時自動熱重載
    • 使用 DNS-01 提供者管理 Let's Encrypt 憑證
  • 流量管理
  • 存取控制
    • IP/CIDR 規則
    • 需 MaxMind 帳戶的國家和時區規則
    • 存取日誌
    • 定時存取摘要
  • 閒置休眠
    • 根據流量停止和喚醒 Docker 容器
    • 根據流量停止和喚醒 Proxmox LXC 容器
  • Proxmox 整合
    • 將路由自動綁定至節點或 LXC 容器
    • 從 WebUI 啟動、停止和重新啟動 LXC 容器
    • 透過 WebSocket 串流節點和 LXC 日誌
  • 平台支援
    • Linux amd64
    • Linux arm64

GoDoxy 如何運作

  1. 列出所有容器
  2. 讀取每個容器的名稱、標籤和連接埠設定
  3. 在適用時建立路由 (類似 NPM 的「Virtual Host」)
  4. 監看容器與設定變更並自動更新

Note

GoDoxy 使用 proxy.aliases 標籤作為子網域;若未設定,則預設使用 Docker Compose 的 container_name 欄位。

例如設定標籤 proxy.aliases: qbt 後,可透過 qbt.domain.com 存取應用程式。

截圖

閒置休眠

閒置休眠

指標與日誌

Routes Servers
路由 伺服器

Proxmox 整合

GoDoxy 可透過配置的提供者自動探索和管理 Proxmox 節點和 LXC 容器。

自動路由綁定

路由透過反向查詢自動連結至 Proxmox 資源:

  1. 節點級路由 (VMID = 0):當主機名稱、IP 或別名符合 Proxmox 節點名稱或 IP 時
  2. 容器級路由 (VMID > 0):當主機名稱、IP 或別名符合 LXC 容器時

這可實現無需手動綁定的無縫代理配置:

routes:
  pve-node-01:
    host: pve-node-01.internal
    port: 8006
    # 自動連結至 Proxmox 節點 pve-node-01

WebUI 管理

您可以從 WebUI:

  • LXC 生命週期控制:啟動、停止、重新啟動容器
  • 節點日誌:串流節點的即時 journalctl 或日誌檔案輸出
  • LXC 日誌:串流容器的即時 journalctl 或日誌檔案輸出

更新 / 卸載系統代理 (System Agent)

安裝腳本同時支援 systemd 與 Alpine/OpenRC(rc-service)主機。

更新:

sh -c "$(curl -fsSL https://github.com/yusing/godoxy/raw/refs/heads/main/scripts/install-agent.sh)" -- update

卸載:

sh -c "$(curl -fsSL https://github.com/yusing/godoxy/raw/refs/heads/main/scripts/install-agent.sh)" -- uninstall

手動安裝

  1. 建立 config 目錄,然後將 config.example.yml 下載到 config/config.yml

    mkdir -p config && wget https://raw.githubusercontent.com/yusing/godoxy/main/config.example.yml -O config/config.yml

  2. .env.example 下載到 .env

    wget https://raw.githubusercontent.com/yusing/godoxy/main/.env.example -O .env

  3. compose.example.yml 下載到 compose.yml

    wget https://raw.githubusercontent.com/yusing/godoxy/main/compose.example.yml -O compose.yml

資料夾結構

├── certs
   ├── cert.crt
   └── priv.key
├── compose.yml
├── config
   ├── config.yml
   ├── middlewares
   ├── middleware1.yml
   ├── middleware2.yml
   ├── provider1.yml
   └── provider2.yml
├── data
   ├── metrics # metrics data
   ├── uptime.json
   └── system_info.json
└── .env

從原始碼編譯

  1. 克隆儲存庫 git clone https://github.com/yusing/godoxy --depth=1

  2. 如果尚未安裝,請安裝/升級 go (>=1.22)shadowtree

  3. 如果之前編譯過(go < 1.22),請使用 go clean -cache 清除快取

  4. 使用 shadowtree mod-tidy 獲取依賴

  5. 使用 shadowtree build 編譯二進制檔案

Star History

Star History Chart