docs: update about build

This commit is contained in:
Yujia Qiao 2022-01-02 16:38:31 +08:00 committed by Yujia Qiao
parent d772215dc8
commit b4bb02f845
3 changed files with 11 additions and 2 deletions

View File

@ -10,11 +10,18 @@ readme = "README.md"
build = "build.rs"
[features]
default = ["server", "client", "tls", "noise", "notify"]
default = ["server", "client", "tls", "noise", "hot-reload"]
# Run as a server
server = []
# Run as a client
client = []
# TLS support
tls = ["tokio-native-tls"]
# Noise support
noise = ["snowstorm", "base64"]
# Configuration hot-reload support
hot-reload = ["notify"]
# Feature to enable tokio-console. Disabled by default.
# Don't enable it unless for debugging purposes.

View File

@ -16,6 +16,8 @@ rathole, like [frp](https://github.com/fatedier/frp) and [ngrok](https://github.
## Quickstart
A full-powered `rathole` can be obtained from the [release](https://github.com/rapiz1/rathole/releases) page. Or [build from source](docs/build-guide.md) for other platforms and customizing the binary.
To use rathole, you need a server with a public IP, and a device behind the NAT, where some services that need to be exposed to the Internet.
Assuming you have a NAS at home behind the NAT, and want to expose its ssh service to the Internet:

View File

@ -8,7 +8,7 @@ cargo build --release
```
## Customize the build
`rathole` comes with lots of *crate features* that determine whether a certain feature will be compiled or not. Supported features can be checked out in `Cargo.toml`.
`rathole` comes with lots of *crate features* that determine whether a certain feature will be compiled or not. Supported features can be checked out in `[features]` of [Cargo.toml](../Cargo.toml).
For example, to build `rathole` with the `client` and `noise` feature:
```