GoDoxy/README_CHT.md
2024-09-19 21:16:38 +08:00

4.6 KiB
Raw Blame History

go-proxy

Quality Gate Status Lines of Code Security Rating Maintainability Rating Vulnerabilities

一個輕量化、易用且高效的反向代理工具

目錄

重點

  • 易用
    • 不需花費太多時間就能輕鬆配置
    • 除錯簡單
  • 自動處理 HTTPS 證書(參見可用的 DNS 供應商
  • 透過 Docker 容器自動配置
  • 容器狀態變更時自動熱重載
  • 容器閒置時自動暫停/停止,入站時自動喚醒
  • HTTP(s)反向代理
  • TCP/UDP 端口轉發
  • 用於配置和監控的前端 Web 面板(截圖
  • 使用 Go 編寫

🔼 返回頂部

入門指南

安裝

  1. 設置 DNS 記錄,例如:

    • A 記錄: *.y.z -> 10.0.10.1
    • AAAA 記錄: *.y.z -> ::ffff:a00:a01
  2. 安裝 go-proxy 參見這裡

  3. 配置 go-proxy

🔼 返回頂部

命令行參數

參數 描述 示例
啟動代理服務器
validate 驗證配置並退出
reload 強制刷新配置
ls-config 列出配置並退出 go-proxy ls-config | jq
ls-route 列出路由並退出 go-proxy ls-route | jq

使用 docker exec <容器名稱> /app/go-proxy <參數> 運行

環境變量

環境變量 描述 默認
GOPROXY_NO_SCHEMA_VALIDATION 禁用 schema 驗證 false boolean
GOPROXY_DEBUG 啟用調試輸出 false boolean

VSCode 中使用 JSON Schema

複製 .vscode/settings.example.json.vscode/settings.json 並根據需求修改

🔼 返回頂部

配置文件

參見 config.example.yml 了解更多

# autocert 配置
autocert:
  email: # ACME 電子郵件
  domains: # 域名列表
  provider: # DNS 供應商
  options: # 供應商個別配置
    - ...
# 配置文件 / docker
providers:
  include:
    - providers.yml
    - other_file_1.yml
    - ...
  docker:
    local: $DOCKER_HOST
    remote-1: tcp://10.0.2.1:2375
    remote-2: ssh://root:1234@10.0.2.2

🔼 返回頂部

透過文件配置

參見 Fields

參見範例 providers.example.yml

🔼 返回頂部

已知問題

  • 證書“更新”實際上是獲取新證書而不是更新現有證書

  • autocert 配置不能熱重載

🔼 返回頂部

源碼編譯

  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 編譯

🔼 返回頂部