Skip to content

Commit

Permalink
Merge branch 'tcpserver-master-build' of github.com:sctg-development/…
Browse files Browse the repository at this point in the history
…sctgdesk-server into tcpserver-master-build
  • Loading branch information
eltorio committed Oct 17, 2024
2 parents 47cd81a + 9fab8b3 commit 4f4e5cd
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 69 deletions.
4 changes: 4 additions & 0 deletions README-DE.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ Sie können die API-Dokumentation auf dem builtins API-Server unter der Adresse

Eine nicht-interaktive API-Dokumentation finden Sie unter [sctgdesk-api-server repo](https://sctg-development.github.io/sctgdesk-api-server/).

## Markieren Sie das Projekt

**Wenn Sie meine Arbeit schätzen, denken Sie bitte darüber nach, ihr einen Stern zu geben! 🤩**

## TL; DR

Sie können Folgendes verwenden `docker-compose.yml` Datei zum Starten des Servers:
Expand Down
4 changes: 4 additions & 0 deletions README-FR.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ Vous pouvez parcourir la documentation de l’API dans le serveur d’API intég

Une documentation API non interactive est disponible à l’adresse suivante : [sctgdesk-api-server repo](https://sctg-development.github.io/sctgdesk-api-server/).

## Lancez le projet

**Si vous appréciez mon travail, pensez à lui donner une étoile ! 🤩**

## TL; DR

Vous pouvez utiliser les éléments suivants `docker-compose.yml` pour démarrer le serveur :
Expand Down
4 changes: 4 additions & 0 deletions README-NL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ U kunt de API-documentatie in de ingebouwde API-server doorzoeken op het adres `

Een niet-interactieve API-documentatie is beschikbaar op [sctgdesk-api-server opslagplaats](https://sctg-development.github.io/sctgdesk-api-server/).

## Geef het project een ster

**Als je mijn werk waardeert, overweeg dan om het een ster te geven! 🤩**

## TL; DR

U kunt het volgende gebruiken `docker-compose.yml` bestand om de server te starten:
Expand Down
4 changes: 4 additions & 0 deletions README-TW.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ Web 控制台可通過以下位址訪問`http://<server-ip>:21114/`登錄名 “

非互動式 API 文件可在[sctgdesk-api-server 存儲庫](https://sctg-development.github.io/sctgdesk-api-server/).

## 為專案加星標

**如果您欣賞我的作品,請考慮給它打星標!🤩**

## TL;博士

您可以使用以下內容`docker-compose.yml`檔案啟動伺服器:
Expand Down
157 changes: 88 additions & 69 deletions README-ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,40 @@
[<a href="README-FR.md">French</a>] | [<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>] | [<a href="README-RU.md">Русский</a>]<br>
</p>

# SctgDesk 服务器程序
# SctgDesk Server Program

[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/multiarch-docker-hub.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/multiarch-docker-hub.yml)
[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/macos-intel-build.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/macos-intel-build.yml)
[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/windows.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/windows.yml)
[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/multiarch-docker-hub.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/multiarch-docker-hub.yml)Docker 镜像是自动生成的,并在每个 github 版本上发布。[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/macos-intel-build.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/macos-intel-build.yml)这些映像是针对[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/windows.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/windows.yml)

[**唯一添加的主二进制文件 (**](https://github.com/sctg-development/sctgdesk-server/releases)

[****](https://sctg-development.github.io/sctgdesk-api-server/)

[**二进制下载**](https://github.com/sctg-development/sctgdesk-server/releases)
).它们可在

[**API 文档**](https://sctg-development.github.io/sctgdesk-api-server/)
* Docker 中心*替换为这些标签:*|建筑 |图片:标签 |
|--- |--- |
|AMD64 系列 |
* |
|ARM64V8 |
* |
* 您可以直接使用
* 使用以下命令:
* 或没有
* ,但 P2P 直连无法使用。
* 对于使用 SELinux 的系统,将

这是 RustDesk Server 的修改版本,它是免费和开源的。
`http://<server-ip>:21114/`是容器正常运行所必需的。或者,可以完全禁用 SELinux 容器分离,并添加选项\
.`http://<server-ip>:21114/api/doc/`

* 第一个区别是这个版本包括新的*TCP 协议*模式包含在 RustDesk Server Pro 版本中。
* 第二个区别是此版本包括 Rustdesk Server Pro API 服务器的初步实现。
* 支持个人地址簿
* 支持组级别的共享地址簿
* 只读、读写、管理员
* 支持用户级别的共享地址簿
* 只读、读写、管理员
* 第三个区别是,此版本包括简单 Web 控制台的初步实现。
parameter 是运行这些容器的服务器的 IP 地址(或 DNS 名称)。这[自选](https://sctg-development.github.io/sctgdesk-api-server/)

Web 控制台可通过以下地址访问`http://<server-ip>:21114/`登录名 “admin” 和密码 “Hello,world!” 。\
您可以在 builtins API 服务器中的地址`http://<server-ip>:21114/api/doc/`.
## 参数,如果使用的端口不同于

非交互式 API 文档可在[sctgdesk-api-server 存储库](https://sctg-development.github.io/sctgdesk-api-server/).
**21117**

## TL;博士
##

您可以使用以下内容`docker-compose.yml`文件启动服务器
.`docker-compose.yml`您还可以使用 docker-compose,使用此配置作为模板

```yaml
version: '3'
Expand Down Expand Up @@ -77,26 +82,27 @@ services:
restart: unless-stopped
```
并使用以下命令启动服务器:
编辑第 16 行以指向您的中继服务器(侦听端口 21117 的服务器)。如果需要,您还可以编辑体积行(第 18 行和第 33 行)。
```bash
mkdir -p data
docker-compose up
```

### 默认管理员用户
### (docker-compose 功劳归于 @lukebarone@QuiGonLeong

默认 admin 用户是使用用户名创建的`admin`和密码`Hello,world!`.您可以在 Web 控制台上首次登录后更改密码
注意,这里中国的 sctg/sctgdesk-server-server:latest 可能会替换为 dockerhub 上的最新版本号,例如 sctg/sctgdesk-server-server:1.1.99-37。否则,可能会因镜像加速而拉取旧版本。`admin`如何创建密钥对`Hello,world!`加密需要密钥对;如前所述,您可以提供它,但您需要一种方法来创建一个

## API 独立版本
## 您可以使用此命令生成密钥对:

api 独立版本是包括 API 服务器和 Web 控制台,但不包括 rendez-vous 服务器的服务器版本。\
独立版本在其自己的存储库中提供[sctgdesk-api 服务器](https://github.com/sctg-development/sctgdesk-api-server).\
所有 api 或 webconsole 相关问题,请参考[sctgdesk-api 服务器](https://github.com/sctg-development/sctgdesk-api-server)存储 库。
如果您没有(或不想要)\
软件包,您可以使用 Docker 调用相同的命令:[输出将如下所示:](https://github.com/sctg-development/sctgdesk-api-server)\
每个二进制文件都有单独的 .deb 包,您可以在[释放](https://github.com/sctg-development/sctgdesk-api-server).
这些软件包适用于以下发行版:

## 屏幕截图
## Ubuntu 22.04 LTS

### Web 控制台
### MacOS Intel 或 Apple Silicon

<img width="1085" alt="login" src="https://github.com/sctg-development/sctgdesk-server/assets/165936401/fe72a374-8a98-4606-8632-3d919f9317c9">

Expand All @@ -114,22 +120,27 @@ api 独立版本是包括 API 服务器和 Web 控制台,但不包括 rendez-v

<img width="621" alt="add rules" src="https://github.com/sctg-development/sctgdesk-api-server/assets/165936401/355f3903-2b54-4b08-abd0-e33c84a260ed">

### API 文档
### Windows x86\_64 或 i686

<img width="1502" alt="apidoc" src="https://github.com/sctg-development/sctgdesk-server/assets/165936401/88fe7910-fe62-43e5-a16c-70dc1201e040">

### 在 Rustdesk 客户端中使用
### ENV 变量

<img width="913" alt="Capture d’écran 2024-05-24 à 12 14 34" src="https://github.com/sctg-development/sctgdesk-server/assets/165936401/1b253577-dce2-4163-9a49-ba4b3da37812">

<img width="923" alt="Capture d’écran 2024-05-24 à 12 07 21" src="https://github.com/sctg-development/sctgdesk-server/assets/165936401/c49b3aba-b13f-4b15-a69c-d492a90e774a">

<img width="927" alt="Capture d’écran 2024-05-24 à 12 07 32" src="https://github.com/sctg-development/sctgdesk-server/assets/165936401/f447f5fa-bc77-4bc6-858a-c6cadf9b7f6c">

## 生成自动更新链接
## hbbs 和 hbbr 可以使用这些 ENV 变量进行配置。&#xA;您可以像往常一样指定变量,也可以使用

我们修改了客户端,从 api 服务器而不是 Github 版本检索自动更新链接。\
要使自动更新链接正常工作,您需要修改客户端以从 api 服务器检索自动更新链接。这[你怎么做](https://github.com/sctg-development/sctgdesk/blob/481d3516fef1daa145d8044594187cb11959f8be/src/common.rs#L953L972):
文件。\
|变量 |二进制 |描述 |
|--- |--- |--- |
|ALWAYS_USE_RELAY |HBBS |如果设置为[“Y”](https://github.com/sctg-development/sctgdesk/blob/481d3516fef1daa145d8044594187cb11959f8be/src/common.rs#L953L972)不允许直接对等连接 |
|DOWNGRADE_START_CHECK |HBBBR |降级检查前的延迟(以秒为单位) |
|DOWNGRADE_THRESHOLD |HBBBR |降级检查阈值 (bit/ms) |
|密钥 |HBBS/HBBR |如果设置为 ,则强制使用特定密钥,如果设置为

```rust
// src/common.rs
Expand All @@ -155,11 +166,13 @@ async fn check_software_update_() -> hbb_common::ResultType<()> {
}
```

# 安全
# "\_"

嵌入式 API 服务器不受保护,也不受 DDOS 攻击保护。一个好的做法是在 API 服务器前面使用反向代理。NGINX 是实现此目的的不错选择。HAProxy 也是一个不错的选择。\
我们在生产环境中的 API 服务器前面使用 HAProxy。
这是我们的 HAProxy 配置文件,仅作为示例提供。您应该根据自己的需要进行调整。
强制使用任意键 |
|LIMIT_SPEED |HBBBR |速度限制(Mb/s) |
|OAUTH2\_CONFIG_FILE |HBBS |OAuth2 配置文件的路径 |
|OAUTH2\_CREATE_USER |HBBS |如果设置为\
"1"

```haproxy
global
Expand Down Expand Up @@ -216,7 +229,13 @@ backend hbbr_wss_backend
server srv_main 127.0.0.1:21119
```

hbbs 服务器使用
创建不存在的用户 |
|端口 |HBBS/HBBR |侦听端口(HBB 为 21116 - HBBR 为 21117)|
|继电器 |HBBS |运行 hbbr 的计算机的 IP 地址/DNS 名称(以逗号分隔) |
|RUST_LOG |全部 |设置调试级别 (error|warn|info|debug|trace) |
|S3CONFIG_FILE |HBBS |S3 配置文件的路径 |
|SINGLE_BANDWIDTH |HBBBR |单个连接的最大带宽(以 Mb/s 为单位) |
|TOTAL_BANDWIDTH |HBBBR |最大总带宽(以 Mb/s 为单位) |

```service
[Unit]
Expand Down Expand Up @@ -244,80 +263,80 @@ RestartSec=10
WantedBy=multi-user.target
```

# 限制不需要的访问
# Limit Unwanted Access

要限制对服务器的访问,您可以使用`--logged-in-only`选项或将`LOGGED_IN_ONLY=Y`环境变量`hbbs`服务器。这会将控制权限制为仅登录用户。
To restrict access to your server, you can use the `--logged-in-only` option or set the `LOGGED_IN_ONLY=Y` environment variable for the `hbbs` server. This will limit control to logged-in users only.

即使启用此选项,用户仍然可以在 Rendez-vous 服务器上注册,但他们将无法控制其他用户的对等体。如果有人试图在未登录的情况下控制对等节点,他们将收到一条错误消息:
Even with this option enabled, users can still register on the Rendez-vous server, but they won't be able to control another user's peer. If someone tries to control a peer without being logged in, they'll receive an error message:

<img width="524" alt="Error message for unauthenticated control attempt" src="https://github.com/user-attachments/assets/cfa46504-39d8-46a7-9072-3ece6818b4a3">

通过启用此功能,您可以为服务器添加额外的安全层并防止未经授权的访问。
By enabling this feature, you can add an extra layer of security to your server and prevent unauthorized access.

**配置`LOGGED_IN_ONLY`**
**Configuring `LOGGED_IN_ONLY`**

要启用此功能,请执行以下操作:
To enable this feature:

1. `LOGGED_IN_ONLY=Y`环境变量`hbbs`服务器。
2. 或者,您可以使用`--logged-in-only`选项。`hbbs`服务器。
1. Set the `LOGGED_IN_ONLY=Y` environment variable for the `hbbs` server.
2. Alternatively, you can use the `--logged-in-only` option when running the `hbbs` server.

****
**Example**

要将`LOGGED_IN_ONLY`环境变量中,您可以将以下行添加到`~/.bashrc`file 或等效文件:
To set the `LOGGED_IN_ONLY` environment variable, you can add the following line to your `~/.bashrc` file or equivalent:

```bash
export LOGGED_IN_ONLY=Y
```

# RustDesk 服务器程序
# RustDesk Server Program

[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/multiarch-docker-hub.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/multiarch-docker-hub.yml)
[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/macos-intel-build.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/macos-intel-build.yml)
[![build](https://github.com/sctg-development/sctgdesk-server/actions/workflows/windows.yml/badge.svg)](https://github.com/sctg-development/sctgdesk-server/actions/workflows/windows.yml)

[**下载**](https://github.com/sctgdesk/sctgdesk-server/releases)
[**Download**](https://github.com/sctgdesk/sctgdesk-server/releases)

[**手动**](https://rustdesk.com/docs/en/self-host/)
[**Manual**](https://rustdesk.com/docs/en/self-host/)

[**常见问题**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)

自托管您自己的 RustDesk 服务器,它是免费和开源的。
Self-host your own RustDesk server, it is free and open source.

## 如何手动构建
## How to build manually

首先,您需要有一个有效的 Rust 开发工具链和一个 Node ≥ 20 工作安装。
First you need to have a working Rust development toolchain and a Node ≥ 20 working installation.

* UnicesLinuxMacOS 等):
* Unices (Linux, MacOS, etc.):

```bash
DATABASE_URL=sqlite://$(pwd)/db_v2.sqlite3 cargo build --release
```

* 带有 cmd.exe shell 的 Windows:
* Windows with cmd.exe shell:

```cmd
set "DATABASE_URL=sqlite://%CD%/db_v2.sqlite3" && cargo build --release
```

将在 target/release 中生成三个可执行文件。
Three executables will be generated in target/release.

* hbbs - 带有 API 服务器的 RustDesk ID/Rendezvous 服务器
* hbbr - RustDesk 中继服务器
* rustdesk-utils - RustDesk CLI 实用程序
* hbbs - RustDesk ID/Rendezvous server with API server
* hbbr - RustDesk relay server
* rustdesk-utils - RustDesk CLI utilities

您可以在[释放](https://github.com/sctg-development/sctgdesk-server/releases)页。
You can find updated binaries on the [releases](https://github.com/sctg-development/sctgdesk-server/releases) page.

版本 v1.1.99-40 之后发布的所有二进制文件都使用 Github Actions 进行证明。您可以通过使用`https://search.sigstore.dev/?hash=<sha256>`例如。
All released binaries after release v1.1.99-40 are attestated with Github Actions. You can check the attestation by checking the sha256sum of the binary with `https://search.sigstore.dev/?hash=<sha256>` for example.

如果您想要额外的功能[RustDesk 服务器专业版](https://rustdesk.com/pricing.html)可能更适合您。
If you want extra features [RustDesk Server Pro](https://rustdesk.com/pricing.html) might suit you better.

如果你想开发自己的服务器,[rustdesk-server-demo](https://github.com/rustdesk/rustdesk-server-demo)对您来说,可能比此 repo 更好、更简单的开始。
If you want to develop your own server, [rustdesk-server-demo](https://github.com/rustdesk/rustdesk-server-demo) might be a better and simpler start for you than this repo.

## Docker 镜像
## Docker images

Docker 镜像是自动生成的,并在每个 github 版本上发布。
Docker images are automatically generated and published on every github release.

这些映像是针对`ubuntu-22.04` with the only addition of the main binaries (`hbbr` and `hbbs`). They're available on [Docker hub](https://hub.docker.com/r/sctg/sctgdesk-server/) with these tags:
These images are build against `ubuntu-22.04` with the only addition of the main binaries (`hbbr` and `hbbs`). They're available on [Docker hub](https://hub.docker.com/r/sctg/sctgdesk-server/) with these tags:

| architecture | image:tag |
| --- | --- |
Expand Down

0 comments on commit 4f4e5cd

Please sign in to comment.