一個輕量級、易於使用且高效能的反向代理,具有網頁介面和儀表板。
加入我們的 Discord 獲取幫助和討論
目錄
主要特點
- 容易使用
- 輕鬆配置
- 簡單的多節點設置
- 錯誤訊息清晰詳細,易於排除故障
- 自動 SSL 憑證管理(參見 支援的 DNS-01 驗證提供商)
- 自動配置 Docker 容器
- 容器狀態/配置文件變更時自動熱重載
- 閒置休眠:在閒置時停止容器,有流量時喚醒(可選,參見截圖)
- HTTP(s) 反向代理
- HTTP 中介軟體支援
- 自訂錯誤頁面支援
- TCP 和 UDP 埠轉發
- 網頁介面,具有應用儀表板和配置編輯器
- 支援 linux/amd64、linux/arm64
- 使用 Go 編寫
入門指南
完整文檔請參見 Wiki
前置需求
設置 DNS 記錄指向運行 GoDoxy
的機器,例如:
- A 記錄:
*.y.z
->10.0.10.1
- AAAA 記錄:
*.y.z
->::ffff:a00:a01
安裝
-
拉取最新的 Docker 映像
docker pull ghcr.io/yusing/go-proxy:latest
-
建立新目錄,
cd
進入後運行安裝,或手動安裝docker run --rm -v .:/setup ghcr.io/yusing/go-proxy /app/godoxy setup
-
(可選) 設置網頁介面登入
-
設置隨機 JWT 密鑰
sed -i "s|API_JWT_SECRET=.*|API_JWT_SECRET=$(openssl rand -base64 32)|g" .env
-
更改網頁介面認證的使用者名稱和密碼
USERNAME=admin PASSWORD=some-password sed -i "s|API_USERNAME=.*|API_USERNAME=${USERNAME}|g" .env sed -i "s|API_PASSWORD=.*|API_PASSWORD=${PASSWORD}|g" .env
-
-
(可選) 設置其他 Docker 節點的
docker-socket-proxy
(參見 多 Docker 節點設置),然後在config.yml
中添加它們 -
啟動容器
docker compose up -d
-
現在您可以進行額外的配置
- 使用文字編輯器(如 Visual Studio Code)
- 通過網頁介面
https://gp.y.z
手動安裝
-
建立
config
目錄,然後將config.example.yml
下載到config/config.yml
mkdir -p config && wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/config.example.yml -O config/config.yml
-
將
.env.example
下載到.env
wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/.env.example -O .env
-
將
compose.example.yml
下載到compose.yml
wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/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 └── .env
在 VSCode 中使用 JSON Schema
複製 .vscode/settings.example.json
到 .vscode/settings.json
並根據需要修改
截圖
閒置休眠
自行編譯
-
克隆儲存庫
git clone https://github.com/yusing/go-proxy --depth=1
-
如果尚未安裝,請安裝/升級 go (>=1.22) 和
make
-
如果之前編譯過(go < 1.22),請使用
go clean -cache
清除快取 -
使用
make get
獲取依賴 -
使用
make build
編譯二進制檔案