C#开源项目:SiMay远程控制管理系统
C#開源項目:SiMay遠程控制管理系統
Gitee倉庫截圖下方基于原項目倉庫readme
系統介紹
SiMay遠程控制管理系統是一個Windows遠程控制系統,底層基于IOCP的異步通信模型,能對海量客戶端實時監控,目前功能已實現:逐行掃描遠程桌面經典的文件管理、實時遠程語音、實時攝像頭、經典注冊表管理、命令行終端、實時系統進程管理、用戶桌面視圖墻輪播等功能。并且可捕獲UAC,WinLogon桌面。系統實現了中間會話服務器,可支持不同平臺多主控端同時監控同一被控端。被控服務端支持綠色啟動及以系統服務方式安裝,項目完全采用C#.NET開發,代碼僅供參考,項目不定時更新,歡迎關注點星星,fork。歡迎入群技術交流:905958449 :laughing: ?:blush:
申明
作為創作者,我對由此軟件引起的任何行為和/或損害不承擔任何責任。您對自己的行為承擔全部責任,并承認此軟件僅用于教育和研究目的。不得用于您不擁有或有權使用的任何系統。使用此軟件,您自動同意上述內容,感謝支持。
背景
本項目僅為個人項目,經過幾次重構,系統相對比較成熟了,決定開源反饋開源社區,希望更多人能和我一起進步,歡迎吐槽改進。
系統項目結構
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更新
跨平臺支持,重構中間會話服務器使其支持多主控端同步監控 --2020.2.15
二進制序列化器采用反射緩存,提高系統性能 -- 2020.1.25
屏幕視圖輪播 --2020.1.15
Web端主控端 --2020.5.15(預覽)
遠程核心庫加載并行控制 --未完成
遠程桌面,語音監聽,攝像頭監控支持錄制功能 --2.26
遠程核心庫載入更新(可實現功能快速升級及邏輯調整) -- 6.7
框架升級調整(實現"應用"的開放封閉設計原則,減少"應用代碼"對核心代碼的影響) --11.10
遠程被控端服務文件更新 --11.23 10.框架升級調整(應用模塊實現遠程同步調用) --11.13 11.框架升級調整(應用模塊支持多應用服務獨立連接并可斷線重連、增強復用性) --7.20 12.增加下載管理模塊 - 11.22
5.0更新
優化了通訊庫,支持FULL丶PACK數據處理方式,實現了更友好的配置接口
新增中間會話轉發服務,增加了SessionProvider層,控制端支持監聽模式丶中間會話模式,在此基礎上實現了Web監控服務,支持Web方式監控
增強了遠程桌面模塊,支持全屏監控的遠程鼠標控制及多屏幕切換
重構代碼結構,實現了組件化系統框架,屏蔽了系統底層實現細節,增強了可擴展性 --2019.5.19
遠程桌面增加了可視區域掃描算法,僅掃描可視區域變化部分,優化了遠程桌面模塊,速度更加快了 --2019.4.2
增強系統管理模塊,實現了進程實時監控 --8.28
語音監聽,視頻監控支持錄制功能 --6.0已實現
被控服務實現了以服務方式安裝,使用服務方式可實現Session隔離穿透捕獲桌面(鎖屏,UAC), --11.9
文件管理功文件夾傳輸重構優化 2019.7.13
系統傳輸數據消息實體化 -- 2019-6-4
二進制序列化器采用反射緩存,提高系統性能 --已實現
遠程桌面增加畫面質量調整,優化低速率網絡下的控制體驗,使畫面更加流暢 -- 7.27
支持遠程更新服務端 -- 7.27
增加列表排序功能 -- 7.27
注冊表組件更新,支持二進制丶多種類型數據編輯 -- 9.6
重構主控端,主控端邏輯核心庫與展示層徹底分離(如:基于核心庫橫向擴展Web主控端,實現多平臺邏輯復用) - 11.2
4.0更新
重寫了通訊層,解決網絡環境極差時頻繁斷開連接的情況,實現了對象池,以更好的并發能力應對大規模的客戶端數據交互
設計了更穩定的通訊層接口,通訊層徹底與邏輯層分離
優化了部分功能的通訊協議
優化了遠程桌面模塊
修復遠程桌面在高分屏筆記本時顯示不完全的問題
修復視頻監控顯示不完全的問題
增強了語音監聽模塊
優化了窗體上的設計,用戶體驗更好了
修復了系統管理
一些推薦
【開源Blazor控件庫】點擊瀏覽
【開源B/S項目】WTM
【開源WPF控件庫】點擊瀏覽
【開源WPF項目】點擊瀏覽
【開源Xamarin項目】全球優秀Xamarin.Forms項目收集
【開源Winform控件庫】HZHControls、SunnyUI
【開源Winform項目】SiMay遠程控制管理系統
【開源Qt控件庫】QWidgetDemo、Material風格的Qt控件
【開源Qt項目】點擊瀏覽
【更多分享】點擊瀏覽
資源分享
回復數字【01】:獲取DotNet技術資料
回復數字【02】:獲取Java技術資料
回復數字【03】:獲取Android技術資料
回復數字【04】:獲取C++技術資料
回復數字【05】:獲取Qt技術資料
回復數字【06】:獲取React資源
添加號主微信號【dotnet9】:備注【入群】加入與大佬們的技術交流
?
時間如流水,只能流去不流回。
公眾號:Dotnet9
號主微信號:dotnet9
原文作者:dWwwang
倉庫地址:SiMay遠程控制管理系統
編輯:沙漠之盡頭的狼
日期:2020-12-04
-好東西要轉發,設為"星標"★搶先看-
點擊閱讀原文,關注Dotnet9更多好文。
總結
以上是生活随笔為你收集整理的C#开源项目:SiMay远程控制管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在 Asp.Net Core 中 管
- 下一篇: IdentityServer4系列 |