• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SiMayRemotelyOS: 本项目是一个Windows远程控制系统,项目完全采用C#.NET开发,实现了 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

SiMayRemotelyOS

开源软件地址:

https://gitee.com/dotnetchina/SiMayRemoteMonitorOS

开源软件介绍:

系统介绍

  • SiMay远程控制管理系统是一个Windows远程控制系统,底层基于IOCP的异步通信模型,实时监控海量客户端,目前功能已实现:逐行扫描远程桌面协助、经典的文件管理、实时远程语音、实时摄像头、经典注册表管理、命令行终端、实时系统进程管理、用户桌面视图墙轮播等功能。并且可捕获UAC,WinLogon桌面。系统实现了中间会话服务器,可支持不同平台多主控端同时监控同一被控端。被控服务端支持绿色启动及以系统服务方式安装,项目完全采用C#.NET开发,代码仅供参考,项目不定时更新,欢迎关注点星星,fork。欢迎入群技术交流:905958449 :laughing: :blush:

企业功能定制项

  • 远程桌面升级(综合性能提升50%、带宽占用更小)、Web版远程桌面、(摄像头、语音、屏幕广播)、文件分发、支持远程服务器桌面等功能,欢迎进群咨询群主。

申明

  • 作为创作者,我对由此软件引起的任何行为和/或损害不承担任何责任。 您对自己的行为承担全部责任,并承认此软件仅用于教育和研究目的。 不得用于您不拥有或有权使用的任何系统。 使用此软件,您自动同意上述内容,感谢支持。

背景

  • 本项目仅为个人项目,经过几次重构,系统相对比较成熟了,决定开源反馈开源社区,希望更多人能和我一起进步,欢迎吐槽改进。

主控界面创建服务端远程桌面文件管理语音传输注册表管理中间服务器

系统项目结构

SiMay.Core【公共核心功能】

  • SiMay.Basic --基础通用库
  • SiMay.Core.Standard --系统核心统一公共库【统一通讯指令丶共用组件丶通信数据实体等..】
  • SiMay.Serialize.Standard --轻量级高性能二进制序列化库【作用:系统通信数据实体化】
  • SiMay.ModelBinder --调用绑定器

SiMay.RemoteMonitor【主控制端】

  • SiMay.RemoteControls.Core --主控端核心库
  • SiMay.RemoteMonitor.Windows --Windows主控管理端
  • SiMay.RemoteMonitor.Web --Web主控端
  • SiMay.RemoteMonitorForWebSite --Web监控前端

SiMay.Platform【平台实现】

  • SiMay.Platform.Windows -- 基于Windows的功能实现

SiMay.RemoteService【远程被控服务端】

  • SiMay.RemoteService.Loader --内存加载Loader,实现远程内存载入被控端核心库
  • SiMay.ServiceCore --被控端核心库

SiMay.SessionProvider【会话提供层】

  • SiMay.Net.SessionProvider --会话提供库【作用:提供服务器监听模式或者中间会话代理协议】
  • SiMay.Net.SessionProvider.Core --代理协议统一公用库【作用:统一中间库和服务器的通信指令及序列化等】
  • SiMay.Net.SessionProviderServiceCore -- 中间服务核心库
  • SiMay.Net.SessionProviderService --中间会话代理服务器【作用:提供保持服务端会话保持丶数据转发功能,基于此实现多平台端监控】

SiMay.Sockets【通信层】

  • SiMay.Socket.Standard --轻量级通信引擎
  • SiMaySocketTestApp --通信引擎测试程序

编译

  • 1.Bin为编译目录,重新生成后,主控程序将编译到此目录,Bin->dat目录为被控服务端目录,被控服务端编译后在此。(没有目录新建一下)

运行

  • 1.局域网

主控端:打开位与Bin目录下的主控端程序SiMayRemoteMonitor.exe,确认系统设置服务器地址为0.0.0.0(监听本机所有网卡),端口默认5200,使用会话模式为=本地服务器,然后保存配置重启程序,重启后日志输出监听成功,即主控端设置正确。

被控服务端创建:打开主控端-->创建客户-->地址输入本机物理地址(或127.0.0.1),端口设置为服务端监听端口(默认5200)-->点击连接测试检查配置是否正确-->创建服务端文件,服务端文件即为配置完成的被控端程序(如提示找不到文件,请检查被控服务程序是否存在[编译步骤是否正确]),双击运行被控服务程序即可在主控端看见服务在线信息,如主控端无在线信息,请检查上述步骤是否配置正确。

  • 2.广域网

条件:需要主控端处于公网环境(或者设置路由内网映射、使用内网映射工具[如花生壳,内网通]),并且开放主控端监听端口(注意检查端口是否开放、防火墙通行规则)。创建客户端-->被控服务端连接至主控端的公网地址,端口即可

  • 3.中间服务器部署

条件:需要中间服务器处于公网环境(建议部署在公网服务器,或者设置路由内网映射),并且开放中间服务器监听端口(默认522端口、注意检查端口是否开放、防火墙通行规则)。

主控端设置: 系统设置-->会话服务器地址 输入 中间服务器的公网地址,端口。-->设置会话模式为:中间会话模式-->确认AccessKey与中间服务器Accesskey一致。(中间会话服务器系统设置位于标题栏系统菜单右键)-->创建客户端并选择会话模式为中间会话模式,ip,端输入中间服务器的公网地址即可

  • 4.Web端监控编译SiMay.RemoteMonitor.Web.exe,Web服务为控制台形式无系统设置界面,可直接使用Windows控制端保存的系统配置文件SiMayConfig.ini,会话模式可使用服务器模式或者中间会话模式启动,启动成功后控制台打印监听成功或初始化成功字样即设置正确(服务器模式为监听成功,中间会话模式为初始化成功 及 WebSocket端口监听成功),如有被控端连接成功,控制台会实时打印上线连接信息,Web服务设置完成。

上述Web服务设置完成后,下一步需要部署Web网站SiMay.WebRemoteMonitor,首先打开Index.html文件编辑WebSocket连接地址,指向Web服务的公网地址与端口即可。

使用浏览器,访问SiMay.WebRemoteMonitor网站,页面弹出Id,Key输入框即表示与Web服务连接成功,输入SiMay.RemoteMonitorFor.Web.exe配置的账号密码即可登录,连接成功后页面可看到被控服务端计算机桌面视图,长按视图可打开更多功能。

技术

  • 组件式系统架构设计
  • 远程同步调用
  • 实体消息传输协议
  • 应用多连接会话支持
  • 可视区域逐行扫描算法的远程桌面
  • 中间会话服务转发,支持多个主控端同时实时监控
  • HOOK技术
  • WebSocket Web端监控
  • IOCP异步Socket高性能通信模型
  • 基于Windows WaInXX系列实现的语音通讯
  • 基于Dx组件捕获摄像头

开发环境

  • 建议 Visual Studio 2019 企业版

参与贡献

  • Fork 本仓库
  • 新建 Feat_xxx 分支
  • 提交代码
  • 新建 Pull Request

未来构想

  • 移动Web监控端
  • 跨平台的系统管理监控

SiMay远程监控管理系统更新及更新计划说明

6.0更新

  1. 跨平台支持,重构中间会话服务器使其支持多主控端同步监控 --2020.2.15
  2. 二进制序列化器采用反射缓存,提高系统性能 -- 2020.1.25
  3. 屏幕视图轮播 --2020.1.15
  4. Web端主控端 --2020.5.15(预览)
  5. 远程核心库加载并行控制 --未完成
  6. 远程桌面,语音监听,摄像头监控支持录制功能 --2.26
  7. 远程核心库载入更新(可实现功能快速升级及逻辑调整) -- 6.7
  8. 框架升级调整(实现"应用"的开放封闭设计原则,减少"应用代码"对核心代码的影响) --11.10
  9. 远程被控端服务文件更新 --11.2310.框架升级调整(应用模块实现远程同步调用) --11.1311.框架升级调整(应用模块支持多应用服务独立连接并可断线重连、增强复用性) --7.2012.增加下载管理模块 - 11.2213.远程桌面H264视频编码,体验更流畅、更省带宽 + 应用层流量拥塞控制,自动调整编码推送速率 -- 12.13

5.0更新

  1. 优化了通讯库,支持FULL丶PACK数据处理方式,实现了更友好的配置接口
  2. 新增中间会话转发服务,增加了SessionProvider层,控制端支持监听模式丶中间会话模式,在此基础上实现了Web监控服务,支持Web方式监控
  3. 增强了远程桌面模块,支持全屏监控的远程鼠标控制及多屏幕切换
  4. 重构代码结构,实现了组件化系统框架,屏蔽了系统底层实现细节,增强了可扩展性 --2019.5.19
  5. 远程桌面增加了可视区域扫描算法,仅扫描可视区域变化部分,优化了远程桌面模块,速度更加快了 --2019.4.2
  6. 增强系统管理模块,实现了进程实时监控 --8.28
  7. 语音监听,视频监控支持录制功能 --6.0已实现
  8. 被控服务实现了以服务方式安装,使用服务方式可实现Session隔离穿透捕获桌面(锁屏,UAC), --11.9
  9. 文件管理功文件夹传输重构优化 2019.7.13
  10. 系统传输数据消息实体化 -- 2019-6-4
  11. 二进制序列化器采用反射缓存,提高系统性能 --已实现
  12. 远程桌面增加画面质量调整,优化低速率网络下的控制体验,使画面更加流畅 -- 7.27
  13. 支持远程更新服务端 -- 7.27
  14. 增加列表排序功能 -- 7.27
  15. 注册表组件更新,支持二进制丶多种类型数据编辑 -- 9.6
  16. 重构主控端,主控端逻辑核心库与展示层彻底分离(如:基于核心库横向扩展Web主控端,实现多平台逻辑复用) - 11.2

4.0更新

  1. 重写了通讯层,解决网络环境极差时频繁断开连接的情况,实现了对象池,以更好的并发能力应对大规模的客户端数据交互
  2. 设计了更稳定的通讯层接口,通讯层彻底与逻辑层分离
  3. 优化了部分功能的通讯协议
  4. 优化了远程桌面模块
  5. 修复远程桌面在高分屏笔记本时显示不完全的问题
  6. 修复视频监控显示不完全的问题
  7. 增强了语音监听模块
  8. 优化了窗体上的设计,用户体验更好了
  9. 修复了系统管理

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap