mirror of https://github.com/rapiz1/rathole.git
docs: update README.md
This commit is contained in:
parent
f5ec8422e1
commit
d842fbb2da
23
README-zh.md
23
README-zh.md
|
@ -95,7 +95,7 @@ local_addr = "127.0.0.1:22" # 需要被转发的服务的地址
|
||||||
|
|
||||||
**推荐首先查看 [examples](./examples) 中的配置示例来快速理解配置格式**,如果有不清楚的地方再查阅完整配置格式。
|
**推荐首先查看 [examples](./examples) 中的配置示例来快速理解配置格式**,如果有不清楚的地方再查阅完整配置格式。
|
||||||
|
|
||||||
关于如何配置 Noise Protocol 和 TLS 来进行加密传输,参见 [Security](./docs/transport.md)。
|
关于如何配置 Noise Protocol 和 TLS 来进行加密传输,参见 [Transport](./docs/transport.md)。
|
||||||
|
|
||||||
下面是完整的配置格式。
|
下面是完整的配置格式。
|
||||||
|
|
||||||
|
@ -103,12 +103,16 @@ local_addr = "127.0.0.1:22" # 需要被转发的服务的地址
|
||||||
[client]
|
[client]
|
||||||
remote_addr = "example.com:2333" # Necessary. The address of the server
|
remote_addr = "example.com:2333" # Necessary. The address of the server
|
||||||
default_token = "default_token_if_not_specify" # Optional. The default token of services, if they don't define their own ones
|
default_token = "default_token_if_not_specify" # Optional. The default token of services, if they don't define their own ones
|
||||||
|
heartbeat_timeout = 40 # Optional. Set to 0 to disable the application-layer heartbeat test. The value must be greater than `server.heartbeat_interval`. Default: 40 seconds
|
||||||
|
|
||||||
[client.transport] # The whole block is optional. Specify which transport to use
|
[client.transport] # The whole block is optional. Specify which transport to use
|
||||||
type = "tcp" # Optional. Possible values: ["tcp", "tls", "noise"]. Default: "tcp"
|
type = "tcp" # Optional. Possible values: ["tcp", "tls", "noise"]. Default: "tcp"
|
||||||
nodelay = false # Optional. Determine whether to enable TCP_NODELAY for data transmission, if applicable, to improve the latency but decrease the bandwidth. Default: false
|
|
||||||
keepalive_secs = 10 # Optional. Specify `tcp_keepalive_time` in `tcp(7)`, if applicable. Default: 10 seconds
|
[client.transport.tcp] # Optional. Also affects `noise` and `tls`
|
||||||
keepalive_interval = 5 # Optional. Specify `tcp_keepalive_intvl` in `tcp(7)`, if applicable. Default: 5 seconds
|
proxy = "socks5://user:passwd@127.0.0.1:1080" # Optional. The proxy used to connect to the server. `http` and `socks5` is supported.
|
||||||
|
nodelay = false # Optional. Determine whether to enable TCP_NODELAY, if applicable, to improve the latency but decrease the bandwidth. Default: false
|
||||||
|
keepalive_secs = 20 # Optional. Specify `tcp_keepalive_time` in `tcp(7)`, if applicable. Default: 20 seconds
|
||||||
|
keepalive_interval = 8 # Optional. Specify `tcp_keepalive_intvl` in `tcp(7)`, if applicable. Default: 8 seconds
|
||||||
|
|
||||||
[client.transport.tls] # Necessary if `type` is "tls"
|
[client.transport.tls] # Necessary if `type` is "tls"
|
||||||
trusted_root = "ca.pem" # Necessary. The certificate of CA that signed the server's certificate
|
trusted_root = "ca.pem" # Necessary. The certificate of CA that signed the server's certificate
|
||||||
|
@ -123,6 +127,7 @@ remote_public_key = "key_encoded_in_base64" # Optional
|
||||||
type = "tcp" # Optional. The protocol that needs forwarding. Possible values: ["tcp", "udp"]. Default: "tcp"
|
type = "tcp" # Optional. The protocol that needs forwarding. Possible values: ["tcp", "udp"]. Default: "tcp"
|
||||||
token = "whatever" # Necessary if `client.default_token` not set
|
token = "whatever" # Necessary if `client.default_token` not set
|
||||||
local_addr = "127.0.0.1:1081" # Necessary. The address of the service that needs to be forwarded
|
local_addr = "127.0.0.1:1081" # Necessary. The address of the service that needs to be forwarded
|
||||||
|
nodelay = false # Optional. Determine whether to enable TCP_NODELAY for data transmission, if applicable, to improve the latency but decrease the bandwidth. Default: false
|
||||||
|
|
||||||
[client.services.service2] # Multiple services can be defined
|
[client.services.service2] # Multiple services can be defined
|
||||||
local_addr = "127.0.0.1:1082"
|
local_addr = "127.0.0.1:1082"
|
||||||
|
@ -130,12 +135,15 @@ local_addr = "127.0.0.1:1082"
|
||||||
[server]
|
[server]
|
||||||
bind_addr = "0.0.0.0:2333" # Necessary. The address that the server listens for clients. Generally only the port needs to be change.
|
bind_addr = "0.0.0.0:2333" # Necessary. The address that the server listens for clients. Generally only the port needs to be change.
|
||||||
default_token = "default_token_if_not_specify" # Optional
|
default_token = "default_token_if_not_specify" # Optional
|
||||||
|
heartbeat_interval = 30 # Optional. The interval between two application-layer heartbeat. Set to 0 to disable sending heartbeat. Default: 30 seconds
|
||||||
|
|
||||||
[server.transport] # Same as `[client.transport]`
|
[server.transport] # Same as `[client.transport]`
|
||||||
type = "tcp"
|
type = "tcp"
|
||||||
|
|
||||||
|
[server.transport.tcp] # Same as the client
|
||||||
nodelay = false
|
nodelay = false
|
||||||
keepalive_secs = 10
|
keepalive_secs = 20
|
||||||
keepalive_interval = 5
|
keepalive_interval = 8
|
||||||
|
|
||||||
[server.transport.tls] # Necessary if `type` is "tls"
|
[server.transport.tls] # Necessary if `type` is "tls"
|
||||||
pkcs12 = "identify.pfx" # Necessary. pkcs12 file of server's certificate and private key
|
pkcs12 = "identify.pfx" # Necessary. pkcs12 file of server's certificate and private key
|
||||||
|
@ -150,6 +158,7 @@ remote_public_key = "key_encoded_in_base64"
|
||||||
type = "tcp" # Optional. Same as the client `[client.services.X.type]
|
type = "tcp" # Optional. Same as the client `[client.services.X.type]
|
||||||
token = "whatever" # Necessary if `server.default_token` not set
|
token = "whatever" # Necessary if `server.default_token` not set
|
||||||
bind_addr = "0.0.0.0:8081" # Necessary. The address of the service is exposed at. Generally only the port needs to be change.
|
bind_addr = "0.0.0.0:8081" # Necessary. The address of the service is exposed at. Generally only the port needs to be change.
|
||||||
|
nodelay = false # Optional. Same as the client
|
||||||
|
|
||||||
[server.services.service2]
|
[server.services.service2]
|
||||||
bind_addr = "0.0.0.1:8082"
|
bind_addr = "0.0.0.1:8082"
|
||||||
|
@ -163,7 +172,7 @@ bind_addr = "0.0.0.1:8082"
|
||||||
|
|
||||||
比如将日志级别设置为 `error`:
|
比如将日志级别设置为 `error`:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
RUST_LOG=error ./rathole config.toml
|
RUST_LOG=error ./rathole config.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
14
README.md
14
README.md
|
@ -97,7 +97,7 @@ But the `[client]` and `[server]` block can also be put in one file. Then on the
|
||||||
|
|
||||||
Before heading to the full configuration specification, it's recommend to skim [the configuration examples](./examples) to get a feeling of the configuration format.
|
Before heading to the full configuration specification, it's recommend to skim [the configuration examples](./examples) to get a feeling of the configuration format.
|
||||||
|
|
||||||
See [Security](./docs/transport.md) for more details about encryption and the `transport` block.
|
See [Transport](./docs/transport.md) for more details about encryption and the `transport` block.
|
||||||
|
|
||||||
Here is the full configuration specification:
|
Here is the full configuration specification:
|
||||||
|
|
||||||
|
@ -105,13 +105,13 @@ Here is the full configuration specification:
|
||||||
[client]
|
[client]
|
||||||
remote_addr = "example.com:2333" # Necessary. The address of the server
|
remote_addr = "example.com:2333" # Necessary. The address of the server
|
||||||
default_token = "default_token_if_not_specify" # Optional. The default token of services, if they don't define their own ones
|
default_token = "default_token_if_not_specify" # Optional. The default token of services, if they don't define their own ones
|
||||||
heartbeat_timeout = 40 # Optional. Set to 0 to disable the application-layer heartbeat test. The value must be greater than `server.heartbeat_interval`. Default: 40 secs
|
heartbeat_timeout = 40 # Optional. Set to 0 to disable the application-layer heartbeat test. The value must be greater than `server.heartbeat_interval`. Default: 40 seconds
|
||||||
|
|
||||||
[client.transport] # The whole block is optional. Specify which transport to use
|
[client.transport] # The whole block is optional. Specify which transport to use
|
||||||
type = "tcp" # Optional. Possible values: ["tcp", "tls", "noise"]. Default: "tcp"
|
type = "tcp" # Optional. Possible values: ["tcp", "tls", "noise"]. Default: "tcp"
|
||||||
|
|
||||||
[client.transport.tcp] # Optional
|
[client.transport.tcp] # Optional. Also affects `noise` and `tls`
|
||||||
proxy = "socks5://user:passwd@127.0.0.1:1080" # Optional. Use the proxy to connect to the server
|
proxy = "socks5://user:passwd@127.0.0.1:1080" # Optional. The proxy used to connect to the server. `http` and `socks5` is supported.
|
||||||
nodelay = false # Optional. Determine whether to enable TCP_NODELAY, if applicable, to improve the latency but decrease the bandwidth. Default: false
|
nodelay = false # Optional. Determine whether to enable TCP_NODELAY, if applicable, to improve the latency but decrease the bandwidth. Default: false
|
||||||
keepalive_secs = 20 # Optional. Specify `tcp_keepalive_time` in `tcp(7)`, if applicable. Default: 20 seconds
|
keepalive_secs = 20 # Optional. Specify `tcp_keepalive_time` in `tcp(7)`, if applicable. Default: 20 seconds
|
||||||
keepalive_interval = 8 # Optional. Specify `tcp_keepalive_intvl` in `tcp(7)`, if applicable. Default: 8 seconds
|
keepalive_interval = 8 # Optional. Specify `tcp_keepalive_intvl` in `tcp(7)`, if applicable. Default: 8 seconds
|
||||||
|
@ -137,10 +137,12 @@ local_addr = "127.0.0.1:1082"
|
||||||
[server]
|
[server]
|
||||||
bind_addr = "0.0.0.0:2333" # Necessary. The address that the server listens for clients. Generally only the port needs to be change.
|
bind_addr = "0.0.0.0:2333" # Necessary. The address that the server listens for clients. Generally only the port needs to be change.
|
||||||
default_token = "default_token_if_not_specify" # Optional
|
default_token = "default_token_if_not_specify" # Optional
|
||||||
heartbeat_interval = 30 # Optional. The interval between two application-layer heartbeat. Set to 0 to disable sending heartbeat. Default: 30 secs
|
heartbeat_interval = 30 # Optional. The interval between two application-layer heartbeat. Set to 0 to disable sending heartbeat. Default: 30 seconds
|
||||||
|
|
||||||
[server.transport] # Same as `[client.transport]`
|
[server.transport] # Same as `[client.transport]`
|
||||||
type = "tcp"
|
type = "tcp"
|
||||||
|
|
||||||
|
[server.transport.tcp] # Same as the client
|
||||||
nodelay = false
|
nodelay = false
|
||||||
keepalive_secs = 20
|
keepalive_secs = 20
|
||||||
keepalive_interval = 8
|
keepalive_interval = 8
|
||||||
|
@ -168,7 +170,7 @@ bind_addr = "0.0.0.1:8082"
|
||||||
|
|
||||||
`rathole`, like many other Rust programs, use environment variables to control the logging level. `info`, `warn`, `error`, `debug`, `trace` are available.
|
`rathole`, like many other Rust programs, use environment variables to control the logging level. `info`, `warn`, `error`, `debug`, `trace` are available.
|
||||||
|
|
||||||
```
|
```shell
|
||||||
RUST_LOG=error ./rathole config.toml
|
RUST_LOG=error ./rathole config.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue