- 容易使用
- 輕鬆配置
- 簡單的多節點設置
- 錯誤訊息清晰詳細,易於排除故障
- 自動 SSL 憑證管理(參見 支援的 DNS-01 驗證提供商)
- 自動配置 Docker 容器
- 容器狀態/配置文件變更時自動熱重載
- 閒置休眠:在閒置時停止容器,有流量時喚醒(可選,參見截圖)
- HTTP(s) 反向代理
- OpenID Connect 支持
- HTTP 中介軟體支援
- 自訂錯誤頁面支援
- TCP 和 UDP 埠轉發
- 網頁介面,具有應用儀表板和配置編輯器
- 支援 linux/amd64、linux/arm64
- 使用 Go 編寫
設置 DNS 記錄指向運行 GoDoxy
的機器,例如:
- A 記錄:
*.y.z
->10.0.10.1
- AAAA 記錄:
*.y.z
->::ffff:a00:a01
注意: GoDoxy 設計為(且僅在)host
網路模式下運作,請勿更改。如需更改監聽埠,請修改 .env
。
-
準備一個新目錄用於 docker compose 和配置文件。
-
在目錄內運行安裝腳本,或手動安裝
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/go-proxy/main/scripts/setup.sh)"
-
啟動容器
docker compose up -d
並等待就緒 -
現在可以在 WebUI
https://godoxy.yourdomain.com
進行額外配置
-
建立
config
目錄,然後將config.example.yml
下載到config/config.yml
mkdir -p config && wget https://raw.githubusercontent.com/yusing/go-proxy/main/config.example.yml -O config/config.yml
-
將
.env.example
下載到.env
wget https://raw.githubusercontent.com/yusing/go-proxy/main/.env.example -O .env
-
將
compose.example.yml
下載到compose.yml
wget https://raw.githubusercontent.com/yusing/go-proxy/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
-
克隆儲存庫
git clone https://github.com/yusing/go-proxy --depth=1
-
如果尚未安裝,請安裝/升級 go (>=1.22) 和
make
-
如果之前編譯過(go < 1.22),請使用
go clean -cache
清除快取 -
使用
make get
獲取依賴 -
使用
make build
編譯二進制檔案