MCPcopy
hub / github.com/yusing/godoxy

github.com/yusing/godoxy @v0.29.7 sqlite

repository ↗ · DeepWiki ↗ · release v0.29.7 ↗
3,776 symbols 14,347 edges 519 files 514 documented · 14%
README

Quality Gate Status GitHub last commit Lines of Code

Demo Discord

輕量、易用、 高效能,且帶有主頁和配置面板的反向代理

網站 | 文檔 | Discord
EN | 中文

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

目錄

運行示例

https://demo.godoxy.dev

主要特點

  • 簡單易用
  • 透過 Docker標籤或 WebUI 輕鬆設定
  • 簡單的多節點設置
  • 詳細的錯誤訊息,便於故障排除
  • 存取控制 (ACL):連線/請求層級存取控制
  • IP/CIDR
  • 國家 (需要 Maxmind 帳戶)
  • 時區 (需要 Maxmind 帳戶)
  • 存取日誌記錄
  • 定時發送摘要 (允許和拒絕的連線次數)
  • 自動化
  • 使用 Let's Encrypt 自動管理 SSL 憑證 (使用 DNS-01 驗證)
  • Docker 容器自動配置
  • 設定檔與容器狀態變更時自動熱重載
  • 容器運行時支援
  • Docker
  • Podman
  • 閒置休眠:根據流量停止和喚醒容器 (參見截圖)
  • Docker 容器
  • Proxmox LXC 容器
  • Proxmox 整合
  • 自動路由綁定:透過比對主機名稱、IP 或別名自動將路由綁定至 Proxmox 節點或 LXC 容器
  • LXC 生命週期控制:可直接從 WebUI 啟動、停止、重新啟動容器
  • 即時日誌:透過 WebSocket 串流節點和 LXC 容器的 journalctl 日誌
  • 流量管理
  • HTTP 反向代理
  • TCP/UDP 連接埠轉送
  • OpenID Connect 支援:輕鬆實現單點登入 (SSO) 並保護您的應用程式
  • ForwardAuth 支援:整合任何 auth provider (例如 TinyAuth)
  • 客製化
  • HTTP 中介軟體
  • 支援自訂錯誤頁面
  • 網頁使用者介面 (Web UI)
  • 應用程式一覽
  • 設定編輯器
  • 執行時間與系統指標
  • Docker
    • 容器生命週期管理 (啟動、停止、重新啟動)
    • 透過 WebSocket 即時串流容器日誌
  • Proxmox
    • LXC 容器生命週期管理 (啟動、停止、重新啟動)
    • 透過 WebSocket 即時串流節點和 LXC 容器 journalctl 日誌
  • 跨平台支援
  • 支援 linux/amd64linux/arm64
  • 高效能
  • Go 語言編寫

前置需求

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

  • A 記錄:*.y.z -> 10.0.10.1
  • AAAA 記錄:*.y.z -> ::ffff:a00:a01

安裝

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

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

  1. 準備一個新目錄用於 docker compose 和配置文件。

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

shell /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/godoxy/main/scripts/setup.sh)"

  1. 現在可以在 WebUI https://godoxy.yourdomain.com 進行額外配置

手動安裝

  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

  1. .env.example 下載到 .env

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

  1. 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

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)主機。

更新:

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

卸載:

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

截圖

閒置休眠

閒置休眠

監控

Routes Servers
路由 伺服器

自行編譯

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

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

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

  4. 使用 make get 獲取依賴

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

Star History

Star History Chart

🔼 回到頂部

Extension points exported contracts — how you extend this code

CustomValidator (Interface)
(no doc) [17 implementers]
internal/serialization/validation.go
HealthMonitor (Interface)
(no doc) [16 implementers]
internal/types/health.go
File (Interface)
(no doc) [16 implementers]
internal/logging/accesslog/file_access_logger.go
Stream (Interface)
(no doc) [7 implementers]
internal/net/types/stream.go
ProviderImpl (Interface)
(no doc) [5 implementers]
internal/route/provider/provider.go
Watcher (Interface)
(no doc) [4 implementers]
internal/watcher/watcher.go
Entrypoint (Interface)
Entrypoint is the main HTTP entry point for the proxy: it performs domain-based route lookup, applies middleware, manage [2 …
internal/entrypoint/types/entrypoint.go
Initializer (Interface)
(no doc) [3 implementers]
internal/jsonstore/jsonstore.go

Core symbols most depended-on inside this repo

Get
called by 339
internal/entrypoint/entrypoint.go
Error
called by 304
internal/notif/base.go
String
called by 297
internal/types/routes.go
New
called by 268
internal/net/gphttp/middleware/middleware.go
Close
called by 223
internal/net/types/stream.go
Set
called by 202
internal/route/route.go
Add
called by 199
internal/entrypoint/types/entrypoint.go
Load
called by 168
agent/pkg/agent/new_agent.go

Shape

Function 1,613
Method 1,558
Struct 419
TypeAlias 86
Interface 70
FuncType 28
Class 2

Languages

Go98%
TypeScript2%
Python1%

Modules by API surface

cmd/rules-cheatsheet-gen/main.go85 symbols
internal/entrypoint/inbound_mtls_test.go61 symbols
internal/route/route.go57 symbols
internal/route/rules/http_flow_block_test.go48 symbols
internal/entrypoint/sni_passthrough_fastpath_test.go45 symbols
internal/entrypoint/sni_passthrough.go44 symbols
internal/types/routes.go43 symbols
cmd/bench_server/handler.go41 symbols
internal/config/state.go40 symbols
internal/net/gphttp/middleware/middleware.go39 symbols
internal/autocert/provider.go37 symbols
internal/logging/accesslog/fields.go36 symbols

Dependencies from manifests, versioned

cloud.google.com/go/authv0.20.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.22.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azidentityv1.14.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.12.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdnsv1.2.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatednsv1.3.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraphv0.10.0 · 1×
github.com/Azure/go-ansitermv0.0.0-2025010203350 · 1×
github.com/AzureAD/microsoft-authentication-library-for-gov1.7.2 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×

For agents

$ claude mcp add godoxy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact