注意,如果某个ID无效被重置,请多试几个ID,比如我mac电脑上,以mac开头的ID都会被重置为其他随机ID
本项目旨在为 RustDesk
提供自定义 ID 生成功能,方便用户记忆和管理设备。主要功能为模拟官方加密算法,将用户输入的自定义 ID 加密并输出加密后的 ID,将其替换到配置文件中的 enc_id
字段即可。
MacOS
配置文件位置
~/Library/Preferences/com.carriez.RustDesk/RustDesk.toml
Windows
配置文件位置
C:\Users\username\AppData\Roaming\RustDesk\config\RustDesk.toml
Windows
下服务模式(指定--service
)的配置文件,会覆盖C:\Users\username
下的RustDesk.toml
C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml
- 生成加密后的自定义 ID
- 对加密后的 ID 进行解密验证
- 使用 UUID 作为加密和解密密钥
-
Windows:
- 按下
Win + R
打开运行对话框。 - 输入
regedit
并回车打开注册表编辑器。 - 导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography
。 - 将
MachineGuid
值复制为uuid
参数。
- 按下
-
MacOS:
- 打开终端。
- 输入以下命令:
ioreg -rd1 -c IOPlatformExpertDevice | grep IOPlatformUUID
- 将输出中的 UUID 复制为
uuid
参数。
- 将代码克隆到本地
- 在对应的配置文件中找到
enc_id
字段 - 运行
cargo run -- --eid $enc_id --uuid $uuid
命令 - 程序会输出解密后的 ID,与当前 ID 比较是否一致
- 将代码克隆到本地
- 运行
cargo run -- --eid $custom_id --uuid $uuid
命令 - 程序会输出加密后的 ID,复制并替换到配置文件中的
enc_id
字段
程序运行示例:
cargo run -- --id 123456 --uuid 12345678-1234-1234-1234-123456789012
该程序使用sodiumoxide
库中的crypto::secretbox
模块进行对称加密。加密密钥来自提供的 UUID 字符串。
- 将自定义 ID 字符串转换为字节数组。
- 将 UUID 字符串转换为字节数组,并调整其大小以匹配密钥长度要求。
- 使用
sodiumoxide::crypto::secretbox
模块创建密钥和nonce
。 - 根据
encrypt
参数选择加密或解密操作。 - 使用
secretbox::seal
或secretbox::open
函数进行加密或解密操作。 - 将加密后的字节数组转换为
base64
编码字符串,并输出到控制台。
欢迎您对该项目进行贡献!您可以通过以下方式参与:
- 提交代码补丁或问题报告
- 提供反馈和建议
- 帮助推广项目
如果有任何问题,欢迎到 github issue 进行讨论,或发送电子邮件到 [email protected] 来联系我