Skip to content

Latest commit

 

History

History
163 lines (111 loc) · 5.44 KB

README_CHT.md

File metadata and controls

163 lines (111 loc) · 5.44 KB

GoDoxy

Quality Gate Status Lines of Code Security Rating Maintainability Rating Vulnerabilities

English Documentation

一個輕量級、易於使用且高效能的反向代理,具有網頁介面和儀表板。

截圖

加入我們的 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

安裝

  1. 拉取最新的 Docker 映像

    docker pull ghcr.io/yusing/go-proxy:latest
  2. 建立新目錄,cd 進入後運行安裝,或手動安裝

    docker run --rm -v .:/setup ghcr.io/yusing/go-proxy /app/godoxy setup
  3. (可選) 設置網頁介面登入

    • 設置隨機 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
  4. (可選) 設置其他 Docker 節點的 docker-socket-proxy(參見 多 Docker 節點設置),然後在 config.yml 中添加它們

  5. 啟動容器 docker compose up -d

  6. 現在您可以進行額外的配置

    • 使用文字編輯器(如 Visual Studio Code)
    • 通過網頁介面 https://gp.y.z

🔼回到頂部

手動安裝

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

    mkdir -p config && wget https://raw.githubusercontent.com/yusing/go-proxy/v0.8/config.example.yml -O config/config.yml

  2. .env.example 下載到 .env

    wget https://raw.githubusercontent.com/yusing/go-proxy/v0.8/.env.example -O .env

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

    wget https://raw.githubusercontent.com/yusing/go-proxy/v0.8/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 並根據需要修改

🔼回到頂部

截圖

閒置休眠

閒置休眠

🔼回到頂部

自行編譯

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

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

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

  4. 使用 make get 獲取依賴

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

🔼回到頂部