2013年9月3日 星期二

Web远程控制

0×00 简介

 SinSoul Web远程控制系统。这是一套基于HTTP协议的跨平台计算机远程控制系统,其最终目的是在任何网络环境下,使用任何能访问网页的设备(包括PC,平板,手机等)来控制您的计算机。
  任何人都可以在自己的HTTP服务器上架设控制端,以供自己和他人使用。控制端可运行于XAMP、SAE、BAE等各种平台之上,被控制端目前只有Windows版本。
  额……其实这只是我大三时数据库系统设计这门课的期末课程设计,大多数的代码也是在那时候编写的,现在看来自己都感到羞涩,只是前段时间用来做毕业设计,所以重新拿出来整理了一下,这只是一个玩具级的远程控制软件,距离实际使用还有很远很长的路。
  这是一套完全开放源代码的软件。

0×01 演示
1.演示地址:
请尽量使用非IE内核的浏览器进行测试。
新浪应用引擎(SAE):http://sswrc.sinaapp.com/
百度应用引擎(BAE):http://55wrc0.duapp.com/
Google AppEngine(GAE):

2.使用方法:
注册->登录->下载被控制端到被控制主机上运行并登录->回到网页刷新主机列表->选择主机进行控制。
若你是在百度应用引擎上测试,请在被控制端的托盘图标上右键->设置,将服务器地址改为:55wrc0.duapp.com

3.被控制端运行截图

4.控制端演示截图
(1)被控制主机选择

(2)主机控制界面


0×02 开源项目
1.项目地址

2.目录说明
Controller目录为控制端代码,根据实际情况修改后便可部署到PHP服务器。
Puppet/SSWRC_Windows_Client目录为Windows系统的被控制端完整源码。

3.开发文档
这里提供从设计到实现的文档,主要包含数据库设计,通信过程描述等。此开发文档采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。转载时请直接提供文件下载地址,严禁用于毕业设计出售,收取积分下载,关注某微博才提供下载等类似的无耻方式共享。

4.文档截图
        请根据目录确认是否包含你需要的内容。

0×03 控制端的部署
        这里以控制端在新浪应用引擎(SAE)的部署过程为例,演示如何在服务器中运行控制端。至于注册帐号,在本机配置SVN环境变量就不说了。
1.控制端在SAE平台的部署
(1)    在SAE上创建一个应用。
(2)    进入刚刚创建的这个应用,初始化MySQL。
(3)    初始化Memcache。
       这里可按自己的实际需求及云豆数来填写,1M应该也是够用的。
(4)    创建初始版本的代码,并复制页面下方的SVN仓库地址。
(5)    使用SVN检出代码。
       初次使用时会要求验证账号和密码,也可参照SAE的帮助文档使用图形界面版。
(6)    将控制端代码复制到刚才SVN检出的应用代码目录。
       将Controller目录的所有文件复制到检出的文件夹,并覆盖掉原来的index.php。
(7)    修改控制端代码。
       需要修改./function/目录中的ConnectDB和ConnectMC两个文件,请按要部署的平台来决定如何修改。
(8)    使用SVN提交代码。
      如果你的SVN环境变量配置好了,可以直接双击svn_add.bat来添加并提交代码到服务器。
(9)    建立数据库表项。
       访问你的应用的网址下的Install.php,并且点击“安装”来配置数据库表项,像下图这样就是成功了,如果出错一般是ConnectDB文件没有被正确的修改,或者是MySQL数据库没有正确配置。
(10) 删除Install.php。
           配置完成后你需要在SVN中删除Install.php,并更新代码到服务器。

2.控制端在BAE平台的部署
        控制端在百度应用引擎(BAE)的部署与SAE平台类似,只是在修改控制端代码时,需要修改你所创建的Mysql数据库名称。基于步骤相同。

3.控制端在XAMP平台的部署
        同样是在修改控制端代码时稍有不同,请按你自己搭建时的设置对代码进行更改。

0×04 被控制端的编译
如果是使用VS2010,并安装了DirectX SDK,直接打开解决方案应该就可顺利编译,因为捕获视频使用DirectShow,所以需要安装DirectX SDK。
1.对于其它版本的VS或另建解决方案进行编译的步骤参考
(1)新建Windows空项目的解决方案。
(2)添加被控制端的所有源代码及资源文件到解决方案。
(3)添加JsonCpp库的代码到解决方案。
(4)常规->字符集->使用多字节字符集。
(5)C/C++ ->代码生成->运行库:Debug版本时设为/MTd,Release版本时设为/MT。
(6)VC++目录的对应项中添加DXSDK的include目录和lib目录。
(7)至此,应该可以顺利编译了。

0×05 一些声明及致谢
        这并不是一个功能完备,经过严格测试的远程控制软件,只是我课余时间用来练手的小玩具,我不保证其稳定性,亦不保证和提供今后的版本更新及技术支持。这更不是黑客软件,严禁用于非法控制他人计算机,对于使用本软件及本软件的衍生版本所造成的任何损失及应承担的法律责任等,均与本人无关。
        在开发过程中也参考了很多大牛的代码,包括colin3dmax,MuziLei等,更多作者信息均保留在相应的代码注释中,在此再次对你们表示衷心的感谢。

沒有留言:

張貼留言