Skip to content

Commit

Permalink
doc/test: update readme && fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
Ehco1996 committed Feb 14, 2021
1 parent ffa5520 commit 10c58e3
Show file tree
Hide file tree
Showing 2 changed files with 194 additions and 173 deletions.
43 changes: 30 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,44 +23,64 @@ ehco is a network relay tool and a typo :)
* 从远程启动
* benchmark


## TODO

* 热重载配置


## 使用说明

使用隧道需要至少两台主机,并且在两台主机上都安装了ehco
使用隧道需要至少两台主机, 并且在两台主机上都安装了ehco

> ehco的可执行文件可以从项目的[release](https://github.com/Ehco1996/ehco/releases)页面下载
* 中转机器 A 假设机器A的IP是 1.1.1.1
* 落地机器 B 假设机器B的IP是 2.2.2.2 并且落地机器B的5555端口跑着一个SS/v2ray服务


### 案例一 不用隧道直接通过中转机器中转用户流量

直接在中转机器A上输入: `ehco -l 0.0.0.0:1234 -r 2.2.2.2:5555`

> 该命令表示将所有从中转机器A的1234端口进入的流量直接转发到落地机器B的5555端口
用户即可通过 中转机器A的1234端口访问到落地机器B的5555端口的SS/v2ray服务了

### 案例二 用mwss隧道中转用户流量

在落地机器B上输入: `ehco -l 0.0.0.0:443 -lt mwss -r 127.0.0.1:5555`

> 该命令表示将所有从落地机器B的443端口进入的wss流量解密后转发到落地机器B的5555端口
在中转机器A上输入: `ehco -l 0.0.0.0:1234 -r wss://2.2.2.2:443 -tt mwss`

> 该命令表示将所有从A的1234端口进入的流量通过wss加密后转发到落地机器B的443端口
用户即可通过 中转机器A的1234端口访问到落地机器B的5555端口的SS/v2ray服务了

## 配置文件

> ehco支持从 `配置文件` / `http接口` 里读取 `json` 格式的配置并启动
配置文件格式要求如下(更多例子可以参考项目里的 `config.json` 文件):

``` json
{
"relay_configs": [
{
"listen": "127.0.0.1:1234", // 监听端口
"listen_type": "raw", // 监听类型
"transport_type": "raw", // 传输类型
"tcp_remotes": [ // tcp转发节点 ,支持配置多个节点,配置多个节点时会自动负载均衡
"0.0.0.0:5201"
],
"udp_remotes": [
"0.0.0.0:5201" // udp转发节点 ,支持配置多个节点,配置多个节点时会自动负载均衡
]
},
]
}
```

## Benchmark

iperf:


```sh
``` sh
# run iperf server on 5201
iperf3 -s

Expand All @@ -70,7 +90,6 @@ go run cmd/ehco/main.go -l 0.0.0.0:1234 -r 0.0.0.0:5201

# 直接转发END


# 通过ws隧道转发
# listen 1234 relay over ws to 1236
go run cmd/ehco/main.go -l 0.0.0.0:1235 -r ws://0.0.0.0:1236 -tt ws
Expand All @@ -79,7 +98,6 @@ go run cmd/ehco/main.go -l 0.0.0.0:1235 -r ws://0.0.0.0:1236 -tt ws
go run cmd/ehco/main.go -l 0.0.0.0:1236 -lt ws -r 0.0.0.0:5201
# 通过ws隧道转发END


# 通过wss隧道转发
# listen 1234 relay over wss to 1236
go run cmd/ehco/main.go -l 0.0.0.0:1235 -r wss://0.0.0.0:1236 -tt wss
Expand All @@ -88,7 +106,6 @@ go run cmd/ehco/main.go -l 0.0.0.0:1235 -r wss://0.0.0.0:1236 -tt wss
go run cmd/ehco/main.go -l 0.0.0.0:1236 -lt wss -r 0.0.0.0:5201
# 通过wss隧道转发END


# 通过mwss隧道转发 和wss相比 速度会慢,但是能减少延迟
# listen 1237 relay over mwss to 1238
go run cmd/ehco/main.go -l 0.0.0.0:1237 -r wss://0.0.0.0:1238 -tt mwss
Expand Down
Loading

0 comments on commit 10c58e3

Please sign in to comment.