吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11425|回复: 82
收起左侧

[原创工具] rustdesk1.2.X版自建API服务器

  [复制链接]
sany217 发表于 2023-8-24 14:30
本帖最后由 sany217 于 2023-8-25 15:21 编辑

一直在内网用着本地部署的rustdesk,不是mstsc不香,主要是不想记那么多IP和密码。最开始使用客户端本机保存连接密码,
后来看到v5star大佬的帖子https://www.52pojie.cn/thread-1708319-1-1.html又搞了API服务,其他电脑也可以同步本机的通讯录了,
缺点是密码未同步(等官方后期升级吧)。效果如下:
image.png

最近rustdesk升级了客户端(版本号1.2开头),结果API服务跛了,无法登录。由于API服务接口仅有一个php文件,而且注释很友好,
先抓了几个包。然后再结合GMCN大佬的Python版本https://www.52pojie.cn/thread-1792530-1-1.html直接手搓了1.2的接口。
新版确实好看点儿,效果如下:
image.png    image.png
抓包过程也看一下吧,都是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.界面截图
image.png

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/目录下,便可使用浏览器访问相关页面。

免费评分

参与人数 9吾爱币 +15 热心值 +8 收起 理由
yicx01 + 1 + 1 谢谢@Thanks!
caoxuexin + 1 + 1 热心回复!
westgoo + 1 + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wudiming + 1 + 1 楼主这个注册账户怎么用,请教下!感谢发布原创作品,吾爱破解论坛因你更精.
afangwyf + 1 + 1 热心回复!
meloay + 1 + 1 谢谢@Thanks!
cryman + 1 + 1 热心回复!
xyl52p + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xiaoun001 发表于 2023-8-27 20:05
sany217 发表于 2023-8-25 15:17
不用注册,默认用户名、密码都是admin

我也刚好有这个需求,但是实话说,做网络的,不会编程,依葫芦画瓢整了一段。只有添加,没有删除。
// 添加一个用户,链接地址为 http://XXXXX.xxxx.xxxx:端口/index2.php?ac=new&username=用户名&password=密码

if($ac=='new'){
        $username = trim($_GET['username']);
        $password = trim($_GET['password']);
        if( strlen($username) >0 && strlen($password) >0){
                echo 'new'.$username.$password;
                $sql2 = "select count(*) from rustdesk_users where username='{$username}'";
                echo $sql2;
                $ret = $db->querySingle($sql2);
                if($ret == 0){
                         $pwd = md5($password.'rustdesk');
                        //  echo $pwd;
                        $sql ="INSERT INTO rustdesk_users (username,password) VALUES ('".$username."','".$pwd."');";
                        $ret = $db->exec($sql);
                        if($ret == 1){
                                echo "用户.$username.添加成功";
                        }
                }else{
                        print "已存在该用户,换个用户名再来";
                }
        }else{
                print "用户名或者密码为空,检查后再来";
        }
}
v5star 发表于 2023-8-24 15:55
本帖最后由 v5star 于 2023-8-24 16:00 编辑

很好很强大,

其实,升级1.2.1后,连接延迟很大(大约在5~10秒),所以我就没有更新,1.1.9 都是毫秒级,如果想更新的话,把我那个接口的,加一行的就可以登录了(登录的那个接口)。
原来的代码:
[PHP] 纯文本查看 复制代码
$res = array(
            'access_token' => $token,
            'user' => array('name'=> $info['username'])
        );


修改后:
[PHP] 纯文本查看 复制代码
$res = array(
                'type' => 'access_token',//这行就是区别
                'access_token' =>$token,
               'user' => array('name'=> $info['username'])
            );

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
knxmy + 1 + 1 我很赞同!

查看全部评分

 楼主| sany217 发表于 2023-8-24 16:17
Sheal 发表于 2023-8-24 15:46
不错,已经私信v5star大佬了。不知道他能不能改个SQLite版! 丢进宝塔直接运行,什么都不用改。很方便

附件里的接口文件就是sqlite版的,一个脚本丢到服务器就可以了
bbs119 发表于 2023-8-24 14:41
之前测试过这个本地搭服务器远程,显示效果太差了,内网还是用radmin
yjd333 发表于 2023-8-24 15:46
远程桌面外加这个
RDP 优化操作 微软远程桌面 开启显卡加速、60FPS、USB设备重定向
https://blog.csdn.net/csdn_life18/article/details/108250846
auguston 发表于 2023-8-24 14:44
不知道远程效果怎么样,先感谢楼主分享
wyl0205 发表于 2023-8-24 15:02
先收藏下,我目前用的是群辉上的中转服务,没用API,只是自己用还好,本机连接后有连接记录,感觉API好像也就没那么重要了
zhang7069 发表于 2023-8-24 15:02
有用的资源又增加了,感谢楼主
土鸡炖蘑菇 发表于 2023-8-24 15:21
bbs119 发表于 2023-8-24 14:41
之前测试过这个本地搭服务器远程,显示效果太差了,内网还是用radmin

内网radmin 简直yyds
Sheal 发表于 2023-8-24 15:46
不错,已经私信v5star大佬了。不知道他能不能改个SQLite版! 丢进宝塔直接运行,什么都不用改。很方便
 楼主| sany217 发表于 2023-8-24 16:15
v5star 发表于 2023-8-24 15:55
很好很强大,

其实,升级1.2.1后,连接延迟很大(大约在5~10秒),所以我就没有更新,1.1.9 都 ...

近距离感谢大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 07:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表