XZB-1248 / Spark

✨Spark is a web-based, cross-platform and full-featured Remote Administration Tool (RAT) written in Go that allows you control all your devices anywhere. Spark是一个Go编写的,网页UI、跨平台以及多功能的远程控制和监控工具,你可以随时随地监控和控制所有设备。
BSD 2-Clause "Simplified" License
1.85k stars 505 forks source link

使用主机名而不是用户名作为识别客户端的唯一值 #48

Closed kuerme closed 1 year ago

kuerme commented 1 year ago

Please make sure of the following things.

Version / 版本

v0.2.1

Describe the bug / 问题描述

当Windows客户端的用户名相同时,Spark只会识别1个客户端,其他同名客户端会强制被退出; 建议以客户端主机名为唯一值,而不是用户名;

Reproduction / 复现方式

在虚机环境中,使用同用户名的客户机启动client.exe; Spark服务器后端有且只会展示最后一个运行client.exe的客户机;

Logs / 日志

No response

Additional information / 附加说明

No response

XZB-1248 commented 1 year ago

这并不是bug,是故意为之。 设计之初就设定了不能多次运行。 识别设备靠的是machineID,如果服务端发现相同ID已经在线,会发送指令让前者下线。

现在所有的操作都靠machineID,如果要修改的话,基本上不可能了,除非推倒重来。

XZB-1248 commented 1 year ago

如果只是同用户名,应该是不会让其他设备退出的。可能是虚拟机和物理机获取到的machineID相同,导致另一个设备被迫下线。

kuerme commented 1 year ago

嗯,刚刚已经发现了,并不是通过用户名,而应该时你说的MachineID; 我发现彻底更改用户名后还是会被下线; 我现在试下能否在虚机里吗MachineID改掉;

kuerme commented 1 year ago

@XZB-1248 麻烦关闭掉这个Issue,这个功能没毛病;

fantasylidong commented 1 year ago

补充一下MachineID修改办法: 1、以管理员模式运行regedit 2、MachineID位于 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography 位置 3、使用uuid生成网页生成uuid进行替换