基于 WebRTC + Vue3 + Electron + Nodejs 搭建的远程桌面
BilldDesk 远程桌面控制,目前实现了类似 ToDesk 、向日葵等远程桌面的功能。
名称 | 仓库 | star & fork | 线上地址 |
---|---|---|---|
远程桌面网页端 | billd-desk | https://desk.hsslive.cn | |
远程桌面客户端 | billd-desk-electron | ||
远程桌面移动端 | billd-desk-flutter | ||
远程桌面服务端 | billd-desk-server |
目前暂不实现以下功能:
线上接口:https://desk-api.hsslive.cn
接口文档:todo
pnpm i
更新 billd 相关依赖:
pnpm i billd-deploy@latest billd-utils@latest billd-scss@latest billd-html-webpack-plugin@latest
npm run dev
npm run build
npm run build:win
npm run build:mac
npm run build:linux
主要测试各个端之间远程时候的延迟。
TODO
b 站合集:BilldDesk 开源远程桌面控制
WebRTC 课程:https://www.hsslive.cn/article/151
npm config set registry https://registry.npmmirror.com
./node_modules/.bin/electron-rebuild
直接删了 node_modules 的 cpu-feature
downloadArtifact({
version,
artifactName: 'electron',
force: process.env.force_no_cache === 'true',
cacheRoot: process.env.electron_config_cache,
checksums:
process.env.electron_use_remote_checksums ??
process.env.npm_config_electron_use_remote_checksums
? undefined
: require('./checksums.json'),
platform,
arch,
})
.then(extractFile)
.catch((err) => {
console.error(err.stack);
process.exit(1);
});
修改为:downloadArtifact({
version,
artifactName: 'electron',
force: process.env.force_no_cache === 'true',
cacheRoot: process.env.electron_config_cache,
checksums:
process.env.electron_use_remote_checksums ??
process.env.npm_config_electron_use_remote_checksums
? undefined
: require('./checksums.json'),
platform,
arch,
mirrorOptions: {
mirror: 'https://npmmirror.com/mirrors/electron/',
platform,
arch,
},
})
.then(extractFile)
.catch((err) => {
console.error(err.stack);
process.exit(1);
});
1
ilylx2008 53 天前
牛逼,需要服务端中转吗?
|
2
xdeng 53 天前
在不理想的情况下 WebRTC 支持中转方式的。
|
3
Robertwhite 53 天前
请问一下,一台电脑控制另一台电脑的原理是啥?是操作系统留有统一的 API 吗?
|
4
oneisall8955 53 天前
牛逼
|
7
billdlive OP @Robertwhite 看 readme
|
8
wsyss 52 天前
能不能远程协助安卓手机?不用直接操作,可以涂鸦标记指引就 OK
|
11
billdlive OP @wsyss 完全自建,使用教程在 b 站,https://www.bilibili.com/video/BV1X61uYiEbP
|
12
Robertwhite 46 天前
@Robertwhite google 了下,原来只是把鼠标键盘操作实时同步到另一端就行了,之前还在想是怎么接管的😂,实时同步画面估计技术角度更难点
|