Skip to content

Commit 4240c47

Browse files
authored
Add Simplified Chinese Readme File. (#409)
1 parent 6e91f41 commit 4240c47

File tree

6 files changed

+353
-4
lines changed

6 files changed

+353
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ debian/debhelper-build-stamp
99
src/version.rs
1010
db_v2.sqlite3
1111
test.*
12+
.idea

README-DE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<a href="#ein-schlüsselpaar-erstellen">Schlüsselpaar</a> •
66
<a href="#debian-pakete">Debian-Pakete</a> •
77
<a href="#umgebungsvariablen">Umgebungsvariablen</a><br>
8-
[<a href="README.md">English</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-TW.md">繁體中文</a>]<br>
8+
[<a href="README.md">English</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-TW.md">繁體中文</a>] | [<a href="README-ZH.md">简体中文</a>]<br>
99
</p>
1010

1111
# RustDesk Server-Programm

README-NL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<a href="#hoe-maak-je-een-key-paar">Key paar</a> •
66
<a href="#deb-pakketten">Debian pakketten</a> •
77
<a href="#env-variabelen">ENV variabelen</a><br>
8-
[<a href="README.md">English</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-TW.md">繁體中文</a>]<br>
8+
[<a href="README.md">English</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-TW.md">繁體中文</a>] | [<a href="README-ZH.md">简体中文</a>]<br>
99
</p>
1010

1111
# RustDesk Server Programa

README-TW.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<a href="#如何建立金鑰對">金鑰對</a> •
66
<a href="#deb-套件">Debian</a> •
77
<a href="#ENV-環境參數">環境參數</a><br>
8-
[<a href="README.md">English</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-NL.md">Nederlands</a>]<br>
8+
[<a href="README.md">English</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-ZH.md">简体中文</a>]<br>
99
</p>
1010

1111
# RustDesk Server Program

README-ZH.md

Lines changed: 348 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,348 @@
1+
<p align="center">
2+
<a href="#如何自行构建">自行构建</a> •
3+
<a href="#Docker-镜像">Docker</a> •
4+
<a href="#基于-S6-overlay-的镜像">S6-overlay</a> •
5+
<a href="#如何创建密钥">密钥</a> •
6+
<a href="#deb-套件">Debian</a> •
7+
<a href="#ENV-环境参数">环境参数</a><br>
8+
[<a href="README.md">English</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-TW.md">繁体中文</a>]<br>
9+
</p>
10+
11+
# RustDesk Server Program
12+
13+
[![build](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml/badge.svg)](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml)
14+
15+
[**下载**](https://github.com/rustdesk/rustdesk-server/releases)
16+
17+
[**说明文件**](https://rustdesk.com/docs/zh-cn/self-host/)
18+
19+
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
20+
21+
自行搭建属于你的RustDesk服务器,所有的一切都是免费且开源的
22+
23+
## 如何自行构建
24+
25+
```bash
26+
cargo build --release
27+
```
28+
29+
执行后会在target/release目录下生成三个对应平台的可执行程序
30+
31+
- hbbs - RustDesk ID/会和服务器
32+
- hbbr - RustDesk 中继服务器
33+
- rustdesk-utils - RustDesk 命令行工具
34+
35+
您可以在 [releases](https://github.com/rustdesk/rustdesk-server/releases) 页面中找到最新的服务端软件。
36+
37+
如果您需要额外的功能支持,[RustDesk 专业版服务器](https://rustdesk.com/pricing.html) 获取更适合您。
38+
39+
如果您想开发自己的服务器,[rustdesk-server-demo](https://github.com/rustdesk/rustdesk-server-demo) 应该会比直接使用这个仓库更简单快捷。
40+
41+
## Docker 镜像
42+
43+
Docker镜像会在每次 GitHub 发布新的release版本时自动构建。我们提供两种类型的镜像。
44+
45+
### Classic 传统镜像
46+
47+
这个类型的镜像是基于 `ubuntu-20.04` 进行构建,镜像仅包含两个主要的可执行程序(`hbbr``hbbs`)。它们可以通过以下tag在 [Docker Hub](https://hub.docker.com/r/rustdesk/rustdesk-server/) 上获得:
48+
49+
| 架构 | image:tag |
50+
|---------| ----------------------------------------- |
51+
| amd64 | `rustdesk/rustdesk-server:latest` |
52+
| arm64v8 | `rustdesk/rustdesk-server:latest-arm64v8` |
53+
54+
您可以使用以下命令,直接通过 ``docker run`` 來启动这些镜像:
55+
56+
```bash
57+
docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
58+
docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
59+
```
60+
61+
或不使用 `--net=host` 参数启动, 但这样 P2P 直连功能将无法工作。
62+
63+
对于使用了 SELinux 的系统,您需要将 ``/root`` 替换为 ``/root:z``,以保证容器的正常运行。或者,也可以通过添加参数 ``--security-opt label=disable`` 来完全禁用 SELinux 容器隔离。
64+
65+
```bash
66+
docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
67+
docker run --name hbbr -p 21117:21117 -p 21119:21119 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
68+
```
69+
70+
`relay-server-ip` 参数是运行这些容器的服务器的 IP 地址(或 DNS 名称)。如果你不想使用 **21117** 作为 `hbbr` 的服务端口,可使用可选参数 `port` 进行指定。
71+
72+
您也可以使用 docker-compose 进行构建,以下为配置示例:
73+
74+
```yaml
75+
version: '3'
76+
77+
networks:
78+
rustdesk-net:
79+
external: false
80+
81+
services:
82+
hbbs:
83+
container_name: hbbs
84+
ports:
85+
- 21115:21115
86+
- 21116:21116
87+
- 21116:21116/udp
88+
- 21118:21118
89+
image: rustdesk/rustdesk-server:latest
90+
command: hbbs -r rustdesk.example.com:21117
91+
volumes:
92+
- ./data:/root
93+
networks:
94+
- rustdesk-net
95+
depends_on:
96+
- hbbr
97+
restart: unless-stopped
98+
99+
hbbr:
100+
container_name: hbbr
101+
ports:
102+
- 21117:21117
103+
- 21119:21119
104+
image: rustdesk/rustdesk-server:latest
105+
command: hbbr
106+
volumes:
107+
- ./data:/root
108+
networks:
109+
- rustdesk-net
110+
restart: unless-stopped
111+
```
112+
113+
编辑第16行来指定你的中继服务器 (默认端口监听在 21117 的那一个)。 如果需要的话,您也可以编辑 volume 信息 (第 18 和 33 行)。
114+
115+
(感谢 @lukebarone 和 @QuiGonLeong 协助提供的 docker-compose 配置示例)
116+
117+
## 基于 S6-overlay 的镜像
118+
119+
> 这些镜像是针对 `busybox:stable` 构建的,并添加了可执行程序(hbbr 和 hbbs)以及 [S6-overlay](https://github.com/just-containers/s6-overlay)。 它们可以使用以下tag在 [Docker hub](https://hub.docker.com/r/rustdesk/rustdesk-server-s6/) 上获取:
120+
121+
122+
| 架構 | version | image:tag |
123+
| --------- | ------- | -------------------------------------------- |
124+
| multiarch | latest | `rustdesk/rustdesk-server-s6:latest` |
125+
| amd64 | latest | `rustdesk/rustdesk-server-s6:latest-amd64` |
126+
| i386 | latest | `rustdesk/rustdesk-server-s6:latest-i386` |
127+
| arm64v8 | latest | `rustdesk/rustdesk-server-s6:latest-arm64v8` |
128+
| armv7 | latest | `rustdesk/rustdesk-server-s6:latest-armv7` |
129+
| multiarch | 2 | `rustdesk/rustdesk-server-s6:2` |
130+
| amd64 | 2 | `rustdesk/rustdesk-server-s6:2-amd64` |
131+
| i386 | 2 | `rustdesk/rustdesk-server-s6:2-i386` |
132+
| arm64v8 | 2 | `rustdesk/rustdesk-server-s6:2-arm64v8` |
133+
| armv7 | 2 | `rustdesk/rustdesk-server-s6:2-armv7` |
134+
| multiarch | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0` |
135+
| amd64 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-amd64` |
136+
| i386 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-i386` |
137+
| arm64v8 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-arm64v8` |
138+
| armv7 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-armv7` |
139+
140+
强烈建议您使用`major version` 或 `latest` tag 的 `multiarch` 架构的镜像。
141+
142+
S6-overlay 在此处作为监控程序,用以保证两个进程的运行,因此使用此镜像,您无需运行两个容器。
143+
144+
您可以使用 `docker run` 命令直接启动镜像,如下:
145+
146+
```bash
147+
docker run --name rustdesk-server \
148+
--net=host \
149+
-e "RELAY=rustdeskrelay.example.com" \
150+
-e "ENCRYPTED_ONLY=1" \
151+
-v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
152+
```
153+
154+
或刪去 `--net=host` 参数, 但 P2P 直连功能将无法工作。
155+
156+
```bash
157+
docker run --name rustdesk-server \
158+
-p 21115:21115 -p 21116:21116 -p 21116:21116/udp \
159+
-p 21117:21117 -p 21118:21118 -p 21119:21119 \
160+
-e "RELAY=rustdeskrelay.example.com" \
161+
-e "ENCRYPTED_ONLY=1" \
162+
-v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
163+
```
164+
165+
或着您也可以使用 docker-compose 文件:
166+
167+
```yaml
168+
version: '3'
169+
170+
services:
171+
rustdesk-server:
172+
container_name: rustdesk-server
173+
ports:
174+
- 21115:21115
175+
- 21116:21116
176+
- 21116:21116/udp
177+
- 21117:21117
178+
- 21118:21118
179+
- 21119:21119
180+
image: rustdesk/rustdesk-server-s6:latest
181+
environment:
182+
- "RELAY=rustdesk.example.com:21117"
183+
- "ENCRYPTED_ONLY=1"
184+
volumes:
185+
- ./data:/data
186+
restart: unless-stopped
187+
```
188+
189+
对于此容器镜像,除了在下面的环境变量部分指定的变量之外,您还可以使用以下`环境变量`
190+
191+
| 环境变量 | 是否可选 | 描述 |
192+
|----------------|------|--------------------------|
193+
| RELAY | 否 | 运行此容器的宿主机的 IP 地址/ DNS 名称 |
194+
| ENCRYPTED_ONLY | 是 | 如果设置为 **"1"**,将不接受未加密的连接。 |
195+
| KEY_PUB | 是 | 密钥对中的公钥(Public Key) |
196+
| KEY_PRIV | 是 | 密钥对中的私钥(Private Key) |
197+
198+
### 基于 S6-overlay 镜像的密钥管理
199+
200+
您可以将密钥对保存在 Docker volume 中,但我们建议不要将密钥写入文件系統中;因此,我们提供了一些方案。
201+
202+
在容器启动时,会检查密钥对是否存在(`/data/id_ed25519.pub` 和 `/data/id_ed25519`),如果其中一個密钥不存在,则会从环境变量或 Docker Secret 中重新生成它。
203+
然后检查密钥对的可用性:如果公钥和私钥不匹配,容器将停止运行。
204+
如果您未提供密钥,`hbbs` 将会在默认位置生成一个。
205+
206+
#### 使用 ENV 存储密钥对
207+
208+
您可以使用 Docker 环境变量來存储密钥。如下:
209+
210+
```bash
211+
docker run --name rustdesk-server \
212+
--net=host \
213+
-e "RELAY=rustdeskrelay.example.com" \
214+
-e "ENCRYPTED_ONLY=1" \
215+
-e "DB_URL=/db/db_v2.sqlite3" \
216+
-e "KEY_PRIV=FR2j78IxfwJNR+HjLluQ2Nh7eEryEeIZCwiQDPVe+PaITKyShphHAsPLn7So0OqRs92nGvSRdFJnE2MSyrKTIQ==" \
217+
-e "KEY_PUB=iEyskoaYRwLDy5+0qNDqkbPdpxr0kXRSZxNjEsqykyE=" \
218+
-v "$PWD/db:/db" -d rustdesk/rustdesk-server-s6:latest
219+
```
220+
221+
```yaml
222+
version: '3'
223+
224+
services:
225+
rustdesk-server:
226+
container_name: rustdesk-server
227+
ports:
228+
- 21115:21115
229+
- 21116:21116
230+
- 21116:21116/udp
231+
- 21117:21117
232+
- 21118:21118
233+
- 21119:21119
234+
image: rustdesk/rustdesk-server-s6:latest
235+
environment:
236+
- "RELAY=rustdesk.example.com:21117"
237+
- "ENCRYPTED_ONLY=1"
238+
- "DB_URL=/db/db_v2.sqlite3"
239+
- "KEY_PRIV=FR2j78IxfwJNR+HjLluQ2Nh7eEryEeIZCwiQDPVe+PaITKyShphHAsPLn7So0OqRs92nGvSRdFJnE2MSyrKTIQ=="
240+
- "KEY_PUB=iEyskoaYRwLDy5+0qNDqkbPdpxr0kXRSZxNjEsqykyE="
241+
volumes:
242+
- ./db:/db
243+
restart: unless-stopped
244+
```
245+
246+
#### 使用 Docker Secret 來保存密钥对
247+
248+
您还可以使用 Docker Secret 來保存密钥。
249+
如果您使用 **docker-compose** 或 **docker swarm**,推荐您使用。
250+
只需按照以下示例操作:
251+
252+
```bash
253+
cat secrets/id_ed25519.pub | docker secret create key_pub -
254+
cat secrets/id_ed25519 | docker secret create key_priv -
255+
docker service create --name rustdesk-server \
256+
--secret key_priv --secret key_pub \
257+
--net=host \
258+
-e "RELAY=rustdeskrelay.example.com" \
259+
-e "ENCRYPTED_ONLY=1" \
260+
-e "DB_URL=/db/db_v2.sqlite3" \
261+
--mount "type=bind,source=$PWD/db,destination=/db" \
262+
rustdesk/rustdesk-server-s6:latest
263+
```
264+
265+
```yaml
266+
version: '3'
267+
268+
services:
269+
rustdesk-server:
270+
container_name: rustdesk-server
271+
ports:
272+
- 21115:21115
273+
- 21116:21116
274+
- 21116:21116/udp
275+
- 21117:21117
276+
- 21118:21118
277+
- 21119:21119
278+
image: rustdesk/rustdesk-server-s6:latest
279+
environment:
280+
- "RELAY=rustdesk.example.com:21117"
281+
- "ENCRYPTED_ONLY=1"
282+
- "DB_URL=/db/db_v2.sqlite3"
283+
volumes:
284+
- ./db:/db
285+
restart: unless-stopped
286+
secrets:
287+
- key_pub
288+
- key_priv
289+
290+
secrets:
291+
key_pub:
292+
file: secrets/id_ed25519.pub
293+
key_priv:
294+
file: secrets/id_ed25519
295+
```
296+
297+
## 如何生成密钥对
298+
299+
加密需要一对密钥;您可以按照前面所述提供它,但需要一个工具去生成密钥对。
300+
301+
您可以使用以下命令生成一对密钥:
302+
303+
```bash
304+
/usr/bin/rustdesk-utils genkeypair
305+
```
306+
307+
如果您沒有(或不想)在系统上安装 `rustdesk-utils` 套件,您可以使用 Docker 执行相同的命令:
308+
309+
```bash
310+
docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
311+
```
312+
313+
运行后的输出内容如下:
314+
315+
```text
316+
Public Key: 8BLLhtzUBU/XKAH4mep3p+IX4DSApe7qbAwNH9nv4yA=
317+
Secret Key: egAVd44u33ZEUIDTtksGcHeVeAwywarEdHmf99KM5ajwEsuG3NQFT9coAfiZ6nen4hfgNICl7upsDA0f2e/jIA==
318+
```
319+
320+
## .deb 套件
321+
322+
每个可执行文件都有单独的 .deb 套件可供使用,您可以在 [releases](https://github.com/rustdesk/rustdesk-server/releases) 页面中找到它們。
323+
這些套件适用于以下发行版:
324+
325+
- Ubuntu 22.04 LTS
326+
- Ubuntu 20.04 LTS
327+
- Ubuntu 18.04 LTS
328+
- Debian 11 bullseye
329+
- Debian 10 buster
330+
331+
## ENV 环境变量
332+
333+
可以使用这些`环境变量`参数來配置 hbbs 和 hbbr。
334+
您可以像往常一样指定参数,或者使用 .env 文件。
335+
336+
| 参数 | 可执行文件 | 描述 |
337+
|-----------------------|---------------|--------------------------------------------------|
338+
| ALWAYS_USE_RELAY | hbbs | 如果设定为 **"Y"**,将关闭直接点对点连接功能 |
339+
| DB_URL | hbbs | 数据库配置 |
340+
| DOWNGRADE_START_CHECK | hbbr | 降级检查之前的延迟是啊尽(以秒为单位) |
341+
| DOWNGRADE_THRESHOLD | hbbr | 降级检查的阈值(bit/ms) |
342+
| KEY | hbbs/hbbr | 如果设置了此参数,将强制使用指定密钥对,如果设为 **"_"**,则强制使用任意密钥 |
343+
| LIMIT_SPEED | hbbr | 速度限制(以Mb/s为单位) |
344+
| PORT | hbbs/hbbr | 监听端口(hbbs为21116,hbbr为21117) |
345+
| RELAY_SERVERS | hbbs | 运行hbbr的机器的IP地址/DNS名称(用逗号分隔) |
346+
| RUST_LOG | all | 设置 debug level (error\|warn\|info\|debug\|trace) |
347+
| SINGLE_BANDWIDTH | hbbr | 单个连接的最大带宽(以Mb/s为单位) |
348+
| TOTAL_BANDWIDTH | hbbr | 最大总带宽(以Mb/s为单位) |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<a href="#how-to-create-a-keypair">Keypair</a> •
66
<a href="#deb-packages">Debian</a> •
77
<a href="#env-variables">Variables</a><br>
8-
[<a href="README-DE.md">Deutsch</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-TW.md">繁體中文</a>]<br>
8+
[<a href="README-DE.md">Deutsch</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-TW.md">繁體中文</a>] | [<a href="README-ZH.md">简体中文</a>]<br>
99
</p>
1010

1111
# RustDesk Server Program

0 commit comments

Comments
 (0)