沉寂的博客

沉寂的博客

RustDesk便携式自配置

240
2024-07-05
RustDesk便携式自配置

起因

每次出现新的远程控制软件,在最后总是会把一些基础功能进行限制,例如一开始的TeamViewer,后来的Todesk。

Todesk于2024年7月3日发布公告,内容摘录如下:

本次套餐版本升级后精简版不再支持非vip用户作为主控时使用,您可以更换下载的版本或者购买vip。原限免测试功能隐私屏,3D鼠标,远程打印在本次升级后不再支持非vip用户使用。

Todesk也即将对功能进行限制,用户使用精简版作为被控端时,主控端必须开通VIP。也就是说,如果我们没有开通VIP,就必须要在被控端上完整安装Todesk才能进行远程控制。

通过部署开源的RustDesk服务端,我们可以达到比较好的远程控制质量,也能在远程控制过程中体验到部分软件需要付费才能使用的功能。

但RustDesk并没有其他远程软件的“便携端”,发送给其他人后还需要手动配置服务器和公钥,这样就没有办法达到快速进行远程控制的目的了。有没有办法可以解决这个问题呢?

D67F795D-1FC2-4CED-9599-74FD7B123BD0.png

解决

通过查询,我们发现RustDesk的配置文件存放在C:\Users\UserName\AppData\Roaming\RustDesk\config目录下,用于保存中继服务器和公钥的配置文件为RustDesk2.toml,因此我们可以通过先向该目录输出配置文件,再启动RustDesk的方式,来达到自动配置的目的。

这里我们选择bat批处理来解决这个问题,这里的C:\Users\UserName\AppData\Roaming目录可以使用%AppData%环境变量来代替。

以下脚本可以实现自动创建配置文件夹、自动输出配置文件并启动RustDesk程序,执行完以上操作后批处理文件会自动删除。

@echo off

set "folderPath=%AppData%\RustDesk\config"
if not exist "%folderPath%" (
    mkdir "%folderPath%"
)

set "outputFile=%folderPath%\RustDesk2.toml"

(
echo [options]
echo verification-method = 'use-both-passwords'
echo relay-server = 'example.com'
echo key = 'ExampleKey'
echo custom-rendezvous-server = 'example.com'
) > "%outputFile%"

start "" "rustdesk-1.2.3-2-x86_64.exe"

del "%~f0"

将以上批处理保存为run.bat,创建一个自解压格式的压缩文件,放入批处理文件和RustDesk程序,并设置解压完成后自动运行批处理文件。对方解压完自解压文件后,批处理文件会自动运行,向RustDesk的配置文件目录写入配置,写入完成后批处理文件会自动删除。这样RustDesk启动后,就可以使用我们的自建服务器进行远程控制了,免去了配置的步骤,对于我们自己在多终端安装RustDesk,也是非常方便的。

B2165B2C-44D6-4C78-9BFF-C484F754250E.png