mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
新增繁中README (未完成)
This commit is contained in:
parent
339411530b
commit
e48b9bbb0a
2 changed files with 147 additions and 5 deletions
12
README.md
12
README.md
|
@ -6,13 +6,16 @@
|
||||||
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
|
|
||||||
A [lightweight](docs/benchmark_result.md), easy-to-use, and efficient reverse proxy and load balancer with a web UI.
|
[繁體中文文檔請看此](README_CHT.md)
|
||||||
|
|
||||||
**Table of content**
|
A lightweight, easy-to-use, and [performant](docs/benchmark_result.md) reverse proxy with a web UI.
|
||||||
|
|
||||||
|
## Table of content
|
||||||
|
|
||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
|
|
||||||
- [go-proxy](#go-proxy)
|
- [go-proxy](#go-proxy)
|
||||||
|
- [Table of content](#table-of-content)
|
||||||
- [Key Points](#key-points)
|
- [Key Points](#key-points)
|
||||||
- [Getting Started](#getting-started)
|
- [Getting Started](#getting-started)
|
||||||
- [Setup](#setup)
|
- [Setup](#setup)
|
||||||
|
@ -33,7 +36,8 @@ A [lightweight](docs/benchmark_result.md), easy-to-use, and efficient reverse pr
|
||||||
- Auto configuration for docker containers
|
- Auto configuration for docker containers
|
||||||
- Auto hot-reload on container state / config file changes
|
- Auto hot-reload on container state / config file changes
|
||||||
- Stop containers on idle, wake it up on traffic _(optional)_
|
- Stop containers on idle, wake it up on traffic _(optional)_
|
||||||
- Support HTTP(s), TCP and UDP
|
- HTTP(s) reserve proxy
|
||||||
|
- TCP and UDP port forwarding
|
||||||
- Web UI for configuration and monitoring (See [screenshots](https://github.com/yusing/go-proxy-frontend?tab=readme-ov-file#screenshots))
|
- Web UI for configuration and monitoring (See [screenshots](https://github.com/yusing/go-proxy-frontend?tab=readme-ov-file#screenshots))
|
||||||
- Written in **[Go](https://go.dev)**
|
- Written in **[Go](https://go.dev)**
|
||||||
|
|
||||||
|
@ -135,6 +139,4 @@ See [providers.example.yml](providers.example.yml) for examples
|
||||||
|
|
||||||
5. build binary with `make build`
|
5. build binary with `make build`
|
||||||
|
|
||||||
6. start your container with `make up` (docker) or `bin/go-proxy` (binary)
|
|
||||||
|
|
||||||
[🔼Back to top](#table-of-content)
|
[🔼Back to top](#table-of-content)
|
||||||
|
|
140
README_CHT.md
Normal file
140
README_CHT.md
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
# go-proxy
|
||||||
|
|
||||||
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
|
|
||||||
|
一個輕量化、易用且[高效](docs/benchmark_result.md)的反向代理工具
|
||||||
|
|
||||||
|
## 目錄
|
||||||
|
|
||||||
|
<!-- TOC -->
|
||||||
|
|
||||||
|
- [go-proxy](#go-proxy)
|
||||||
|
- [目錄](#目錄)
|
||||||
|
- [重點](#重點)
|
||||||
|
- [入門指南](#入門指南)
|
||||||
|
- [安裝](#安裝)
|
||||||
|
- [命令行參數](#命令行參數)
|
||||||
|
- [環境變量](#環境變量)
|
||||||
|
- [VSCode 中使用 JSON Schema](#vscode-中使用-json-schema)
|
||||||
|
- [配置文件](#配置文件)
|
||||||
|
- [透過文件配置](#透過文件配置)
|
||||||
|
- [已知問題](#已知問題)
|
||||||
|
- [源碼編譯](#源碼編譯)
|
||||||
|
|
||||||
|
## 重點
|
||||||
|
|
||||||
|
- 易用
|
||||||
|
- 不需花費太多時間就能輕鬆配置
|
||||||
|
- 除錯簡單
|
||||||
|
- 自動處理 HTTPS 證書(參見[可用的 DNS 供應商](docs/dns_providers.md))
|
||||||
|
- 透過 Docker 容器自動配置
|
||||||
|
- 容器狀態變更時自動熱重載
|
||||||
|
- 容器閒置時自動暫停/停止,入站時自動喚醒
|
||||||
|
- HTTP(s)反向代理
|
||||||
|
- TCP/UDP 端口轉發
|
||||||
|
- 用於配置和監控的前端 Web 面板([截圖](https://github.com/yusing/go-proxy-frontend?tab=readme-ov-file#screenshots))
|
||||||
|
- 使用 **[Go](https://go.dev)** 編寫
|
||||||
|
|
||||||
|
[🔼 返回頂部](#目錄)
|
||||||
|
|
||||||
|
## 入門指南
|
||||||
|
|
||||||
|
### 安裝
|
||||||
|
|
||||||
|
1. 設置 DNS 記錄,例如:
|
||||||
|
|
||||||
|
- A 記錄: `*.y.z` -> `10.0.10.1`
|
||||||
|
- AAAA 記錄: `*.y.z` -> `::ffff:a00:a01`
|
||||||
|
|
||||||
|
2. 安裝 `go-proxy` [參見這裡](docs/docker.md)
|
||||||
|
|
||||||
|
3. 配置 `go-proxy`
|
||||||
|
- 使用文本編輯器 (推薦 Visual Studio Code [參見 VSCode 使用 schema](#vscode-中使用-json-schema))
|
||||||
|
- 或通過 `http://gp.y.z` 使用網頁配置編輯器
|
||||||
|
|
||||||
|
[🔼 返回頂部](#目錄)
|
||||||
|
|
||||||
|
### 命令行參數
|
||||||
|
|
||||||
|
| 參數 | 描述 | 示例 |
|
||||||
|
| ----------- | -------------- | -------------------------- |
|
||||||
|
| 空 | 啟動代理服務器 | |
|
||||||
|
| `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.example.json) 到 `.vscode/settings.json` 並根據需求修改
|
||||||
|
|
||||||
|
[🔼 返回頂部](#目錄)
|
||||||
|
|
||||||
|
### 配置文件
|
||||||
|
|
||||||
|
參見 [config.example.yml](config.example.yml) 了解更多
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# 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](docs/docker.md#fields)
|
||||||
|
|
||||||
|
參見範例 [providers.example.yml](providers.example.yml)
|
||||||
|
|
||||||
|
[🔼 返回頂部](#目錄)
|
||||||
|
|
||||||
|
## 已知問題
|
||||||
|
|
||||||
|
- 證書“更新”實際上是獲取新證書而不是更新現有證書
|
||||||
|
|
||||||
|
- `autocert` 配置不能熱重載
|
||||||
|
|
||||||
|
[🔼 返回頂部](#目錄)
|
||||||
|
|
||||||
|
## 源碼編譯
|
||||||
|
|
||||||
|
1. 獲取源碼 `git clone https://github.com/yusing/go-proxy --depth=1`
|
||||||
|
|
||||||
|
2. 安裝/升級 [go 版本 (>=1.22)](https://go.dev/doc/install) 和 `make`(如果尚未安裝)
|
||||||
|
|
||||||
|
3. 如果之前編譯過(go 版本 < 1.22),請使用 `go clean -cache` 清除緩存
|
||||||
|
|
||||||
|
4. 使用 `make get` 獲取依賴項
|
||||||
|
|
||||||
|
5. 使用 `make build` 編譯
|
||||||
|
|
||||||
|
[🔼 返回頂部](#目錄)
|
Loading…
Add table
Reference in a new issue