本帖最后由 sany217 于 2023-8-25 15:21 编辑
一直在内网用着本地部署的rustdesk,不是mstsc不香,主要是不想记那么多IP和密码。最开始使用客户端本机保存连接密码,
后来看到v5star大佬的帖子https://www.52pojie.cn/thread-1708319-1-1.html又搞了API服务,其他电脑也可以同步本机的通讯录了,
缺点是密码未同步(等官方后期升级吧)。效果如下:
最近rustdesk升级了客户端(版本号1.2开头),结果API服务跛了,无法登录。由于API服务接口仅有一个php文件,而且注释很友好,
先抓了几个包。然后再结合GMCN大佬的Python版本https://www.52pojie.cn/thread-1792530-1-1.html直接手搓了1.2的接口。
新版确实好看点儿,效果如下:
抓包过程也看一下吧,都是http包,主要login、loginout、ab、heartbeat几个接口,
接口文件下载
index2.rar
(5.45 KB, 下载次数: 172)
扯了半天就放了个接口文件,这跟自建API服务器标题差远了,好吧,接着水。。。
1、说明(前面说得太多,不敢再写介绍了)
话说文件只有一个php脚本,主力系统又是windows,手搓接口容易,测试可不简单:修改接口、终端上传、配置测试。。。
几百行代码记事本手搓,谁能一次就过?行不通?那就本地搭一个吧。就这一个文件的接口,搞nginx、php搭环境这就有点儿大炮打蚊子意思了,
那就拿aardio写一个吧。为了保证便携性,选了php 5.2,再顺手打了个包,主程序26MB+93.7KB接口文件压缩完7.25MB,
随便找个windows电脑丢上去(解压+运行,PC需放行相关端口)就可以了。
核心代码如下:
[JavaScript] 纯文本查看 复制代码 import wsock.tcp.simpleHttpServer;
import process.php.5.2;
//放 *.php 文件的工程目录「内嵌资源」属性必须为 false
var documentRoot = "/res/www/";
process.php.startPort = 91;
process.php.startIp = ..wsock.tcp.client.getLocalIp();
process.php.app = function(response,request,session){
if(!..io.exist(request.path)){
response.errorStatus(404);
}
import process.php.cgi;
if( string.endWith(request.path,".php",true) ){
process.php.cgi(response,request,phpCgiPath,phpIniPath);
}
else {
response.loadcode( request.path );
}
}
var php = process.php(, documentRoot);
2.界面截图
3.下载地址
https://wwwg.lanzouc.com/b04ehcwte
密码:27tn
4.使用方法
解压到windows Server或PC任意位置(当然本机也是可以的),运行PHPServer_all.exe即可。
初次使用需在软件启动后,通过浏览器执行http://xx.xx.xx.xx:91/index2.php?ac=runonce 生成数据库,
若由v5star大佬前期版本升级而来,可执行http://xx.xx.xx.xx:91/index2.php?ac=datamig 迁移原通讯录数据。
rustdesk客户端配置API服务器http://xx.xx.xx.xx:91/index2.php?s=
(客户端版本为1.2.x以下配置为http://xx.xx.xx.xx:91/index.php?s=)
客户端登录默认账号密码均为admin
备注:其他php代码测试,直接将脚本文件放到res/www/目录下,便可使用浏览器访问相关页面。 |