godesk
Go 远程桌面软件设计草案,涵盖远程视图、控制、中继、认证和协作功能。

Go主要技术栈
0GitHub Stars
1Forks
43索引文件
未声明许可标记
2026-04-17最近更新
01 / PROJECT OVERVIEW
项目研究解读
Go 远程桌面软件设计草案,涵盖远程视图、控制、中继、认证和协作功能。 本仓库以 Go 为主要技术栈,当前快照索引 43 个文件。报告依据README 与目录结构整理,重点呈现项目用途、工程结构和复用方式,不把宣传描述等同于验证结论。
02 / CORE CAPABILITIES
值得关注的能力
- 01
围绕“Go 远程桌面软件设计草案,涵盖远程视图、控制、中继、认证和协作功能”提供公开实现或研究资料
- 02
以 Go 为主,保留 43 个可检查仓库文件
- 03
提供原始 GitHub 链接、目录导览和本地研究快照,便于复核与二次开发
03 / ENGINEERING
工程与仓库结构
仓库以 Go 为主要实现语言,研究快照包含 43 个文件、8 个主要顶层入口。已提供 README 作为使用与能力说明。 项目最近更新时间为 2026-04-17,许可标记为 未在 API 中声明。
01README.md
项目文件与实现资料
02cmd
命令行程序入口
03configs
运行配置与技能定义
04go.sum
项目文件与实现资料
05internal
内部服务与模块实现
06pkg
可复用公共包
04 / USE CASES
适合用在哪里
- 学习项目设计与实现
- 评估后用于二次开发
- 作为相关领域的研究参考
05 / QUICK START
从仓库开始
以下命令摘自项目 README 或根据仓库地址生成。请先阅读源仓库的安装要求、许可和脚本,再在自己的环境中运行。
git clone https://github.com/suifei/godesk.git
cd godesk06 / REPOSITORY MAP
目录证据导览
这里列出快照中的前 43 个索引文件中的代表路径,帮助你快速定位源码、文档、测试与资源。
.gitignore.vscode/launch.jsonREADME.mdcmd/client/main.gocmd/relay/main.gocmd/server/main.goconfigs/client_config.yamlconfigs/relay_config.yamlconfigs/server_config.yamlgo.suminternal/auth/session.gointernal/auth/user.gointernal/client/display.gointernal/client/filetransfer.gointernal/client/handler.gointernal/client/input.gointernal/protocol/auth.pb.gointernal/protocol/control.pb.gointernal/protocol/filetransfer.pb.gointernal/protocol/message.pb.gointernal/protocol/relay.pb.gointernal/protocol/screen.pb.gointernal/relay/hub.gointernal/relay/session.gointernal/server/capture.gointernal/server/control.gointernal/server/filetransfer.gointernal/server/handler.gopkg/keyboard/keyboard.gopkg/monitor/monitor.gopkg/network/tcp.gopkg/network/udp.gopkg/utils/compression.gopkg/utils/crypto.goproto/auth.protoproto/control.protoproto/filetransfer.protoproto/message.protoproto/relay.protoproto/screen.protoscripts/build.shscripts/generate_proto.shscripts/merge.sh
07 / SOURCE NOTES
README 原文摘录
保留原始说明便于复核。中文研究结论以当前快照为依据,后续变化请以 GitHub 仓库为准。
godesk
远程桌面软件功能点
1. 核心远程控制功能
- 远程视图:实时查看远程设备的屏幕
- 远程控制:使用本地鼠标和键盘控制远程设备
- 多显示器支持:支持查看和控制多个显示器
- 屏幕缩放:根据本地窗口大小调整远程屏幕显示
2. 连接和网络
- 点对点直连:在同一网络内实现直接连接
- 中继服务器:通过中继服务器实现跨网络连接
- NAT穿透:使用技术如STUN/TURN来实现NAT穿透
- 加密传输:使用SSL/TLS加密所有数据传输
- 带宽自适应:根据网络条件自动调整视频质量和帧率
3. 用户管理和认证
- 用户注册和登录系统
- 设备绑定和管理
- 访问权限控制:设置不同级别的访问权限
- 双因素认证:增强安全性
4. 文件传输
- 双向文件传输:从本地到远程,或从远程到本地
- 拖放支持:直接拖放文件进行传输
- 断点续传:支持大文件的断点续传
5. 远程音频
- 远程音频传输:听到远程设备的声音
- 双向语音通话:支持语音交流
6. 远程打印
- 将远程文档打印到本地打印机
7. 会话管理
- 多会话支持:同时连接多个远程设备
- 会话切换:快速在不同远程会话间切换
- 会话录制:记录远程控制会话
8. 安全特性
- 远程锁定:锁定远程设备屏幕
- 空闲时自动断开:长时间无操作自动断开连接
- 远程设备的访问日志
9. 协作功能
- 多人协作:允许多个用户同时查看/控制一个远程设备
- 屏幕标注:在远程屏幕上进行绘图标注
- 文字聊天:集成即时通讯功能
10. 性能优化
- 硬件加速:利用GPU进行视频编解码
- 智能压缩:根据屏幕内容选择最佳压缩算法
- 色彩模式:支持全色彩/高压缩模式切换
11. 跨平台支持
- 支持Windows, macOS, Linux等多个操作系统
- 移动端支持:iOS和Android应用
12. 自定义和扩展
- 快捷键定制
- 插件系统:支持功能扩展
- API接口:允许与其他系统集成
13. 辅助功能
- 远程重启:支持重启后自动重连
- 无人值守安装:便于大规模部署
- 远程命令行:直接访问远程设备的命令行界面
14. 报告和分析
- 使用统计:连接时长、数据传输量等
- 性能监控:CPU、内存、网络使用情况
- 问题诊断:网络连接问题的诊断工具
GoDESK 核心功能
- 核心远程控制功能(远程视图和控制)
- 连接和网络(直连和中继服务器)
- 基本的用户认证
- 简单的文件传输
remote-desktop-go/
├── cmd/
│ ├── server/
│ │ └── main.go
│ ├── client/
│ │ └── main.go
│ └── relay/
│ └── main.go
├── internal/
│ ├── server/
│ │ ├── capture.go
│ │ ├── control.go
│ │ ├── filetransfer.go
│ │ └── handler.go
│ ├── client/
│ │ ├── display.go
│ │ ├── input.go
│ │ ├── filetransfer.go
│ │ └── handler.go
│ ├── relay/
│ │ ├── hub.go
│ │ └── session.go
│ ├── auth/
│ │ ├── user.go
│ │ └── session.go
│ └── protocol/
│ ├── screen.pb.go
│ ├── control.pb.go
│ ├── auth.pb.go
│ ├── filetransfer.pb.go
│ └── relay.pb.go
├── pkg/
│ ├── network/
│ │ ├── tcp.go
│ │ └── udp.go
│ └── utils/
│ ├── compression.go
│ └── crypto.go
├── proto/
│ ├── screen.proto
│ ├── control.proto
│ ├── auth.proto
│ ├── filetransfer.proto
│ └── relay.proto
├── configs/
│ ├── server_config.yaml
│ ├── client_config.yaml
│ └── relay_config.yaml
├── scripts/
│ ├── build.sh
│ └── generate_proto.sh
├── go.mod
├── go.sum
└── README.md

