rustdesk-api icon indicating copy to clipboard operation
rustdesk-api copied to clipboard

关于PC端链接超时或者链接不上的问题以及解决方案 | About the problem of timeout or connection failure on PC and how to solve it

Open lejianwen opened this issue 1 year ago • 13 comments

因为server不会发起客户端的secure_tcp请求,所以客户端超时。 相关代码代码位置在https://github.com/rustdesk/rustdesk/blob/master/src/client.rs


    if !key.is_empty() && !token.is_empty() {
    // mainly for the security of token
    allow_err!(secure_tcp(&mut socket, key).await);
    }

可看到当keytoken都不为空时,会调用secure_tcp,但是server端不会响应,所以客户端超时 但不登录API账户,则不会有token,所以非登录状态下不会超时,但非登录状态下还是可以加密链接的,所以可以将secure_tcp直接返回 secure_tcp 代码位置在

src/common.rs#L1255

解决方案

  1. server端指定key。
hbbs -r <relay-server-ip[:port]> -k <key>
hbbr -k <key>

比如

hbbs -r <relay-server-ip[:port]> -k abc1234567
hbbr -k abc1234567
  1. server端使用系统生成的key,或者自定义的密钥对,但如果client已登录,链接时容易超时或者链接不上,可以退出登录后再链接就可以了,webclient可以不用退出登录

  2. server端使用系统生成的key,或者自定义的密钥对,fork官方客户端的代码将secure_tcp修改成直接返回,然后通过Github Actions编译,下载编译后的客户端。 参考官方文档

  3. 使用我fork的客户端,已经修改了secure_tcp,可以直接下载使用,下载地址

  4. 使用其他fork的server

对链接加密要求不高的可以使用1,对链接加密要求高的可以使用345

lejianwen avatar Dec 30 '24 05:12 lejianwen

这个问题是不是只有等官方新版本的server端更新修复才能解决?

nizongdai avatar Jan 14 '25 04:01 nizongdai

这个问题是不是只有等官方新版本的server端更新修复才能解决?

官方应该不会管这个,这个只有登录了账号才会遇到这个问题,而api是pro才有的功能,开源版不会遇到这个问题

lejianwen avatar Jan 14 '25 04:01 lejianwen

想问下方法三修改客户端具体怎么改呀,直接把common改成:pub async fn secure_tcp(conn: &mut FramedStream, key: &str) -> ResultType<()> { let rs_pk = get_rs_pk(key); if !key.is_empty() { return Ok(()); }就行吗

LiuLiHuaYue avatar Feb 20 '25 11:02 LiuLiHuaYue

想问下方法三修改客户端具体怎么改呀,直接把common改成:pub async fn secure_tcp(conn: &mut FramedStream, key: &str) -> ResultType<()> { let rs_pk = get_rs_pk(key); if !key.is_empty() { return Ok(()); }就行吗

直接返回Ok就可以了 https://github.com/rustdesk/rustdesk/commit/22eb19faa2693c4745777e99d2b1a2c87ddf1ca9

lejianwen avatar Feb 20 '25 11:02 lejianwen

1.3.8的版本有更新么

755713372 avatar Mar 10 '25 07:03 755713372

1.3.8的版本有更新么

忘记更新了,昨天同步了下是1.3.9了

lejianwen avatar Mar 11 '25 03:03 lejianwen

你好,还有一个问题咨询下就是我现在有一个Mac的机器,安装你这个dmg格式无法安装到机器中,我是M4芯片

755713372 avatar Mar 11 '25 06:03 755713372

直接返回OK后windows客户端使用正常,windows端和安卓端都连不上安卓端提示unknown reason

baixuetianya avatar Mar 25 '25 13:03 baixuetianya

请问,是只有桌面版才会有这个问题吗?

inkss avatar Mar 28 '25 16:03 inkss

请问,是只有桌面版才会有这个问题吗?

是的,web端应该没这个问题

lejianwen avatar Mar 29 '25 11:03 lejianwen

为什么server端指定key以后, server端 不会响应 secure_tcp呢? 现在Server端是强制使用KEY了,不指定也会强制生成一个的

ihipop avatar Apr 11 '25 03:04 ihipop

1.3.9 版本貌似无法使用,换回 1.3.7 正常。

Image

ceeim avatar Apr 27 '25 15:04 ceeim

1.3.9 版本貌似无法使用,换回 1.3.7 正常。

Image

同样的问题,不知道哪里没设置对

zzz929625 avatar Apr 28 '25 03:04 zzz929625