go-proxy/README_CHT.md at v. · yusing/go-proxy
2025-1-31 08:37:6 Author: github.com(查看原文) 阅读量:7 收藏

Open in github.dev Open in a new github.dev tab Open in codespace

Latest commit

author

yusing

Jan 31, 2025

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.9/config.example.yml -O config/config.yml

  2. .env.example 下載到 .env

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

  3. 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 並根據需要修改

🔼回到頂部

截圖

閒置休眠

閒置休眠

🔼回到頂部

自行編譯

  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 編譯二進制檔案

🔼回到頂部


文章来源: https://github.com/yusing/go-proxy/blob/v0.9/README_CHT.md
如有侵权请联系:admin#unsafe.sh