前段时间我写了一个名为easyrfb的东西,它也是基于python-vnc-viewer 的,但我从未发布过它。它没有完全涵盖您所要求的内容,但非常相似。希望它可能会有所帮助,现在可以在http://hydra.geht.net/easyrfb/找到它的一部分
请注意,那里的文件并不总是处于工作状态,因为这些文件直接链接到我的工作副本。但我不经常编辑。
它现在也可以在 GitHub 上找到:https ://github.com/hilbix/pyrfb/tree/easyrfb
这就是它在我身边的作用:
- 连接到本地运行的 Xvnc(技术上任何 VNC 服务器都可以)
- 不断将当前屏幕内容写入高度压缩的test.jpg
- 一些网页使用 AJAX 抓取并更新图像
- 该图像上的鼠标单击将作为鼠标单击转发到 VNC 服务器
- 可以使用表单模拟键盘输入
- 并且可以拍摄无损PNG截图
- 有一个 edit.html 可以根据 PNG 屏幕截图进行模糊匹配(称为模板)
- Shell 脚本可以检查这些模板是否匹配或等待它们匹配。
内部通信是使用 TCP、Unix-Sockets 和一些文件完成的,所以不难改变它,让每个组件运行在不同的位置:
- VNC 服务器(要显示的屏幕)
rfbimg.py
(它做 VNC -> 图像并提供控制.sock
)
- shell 脚本(如果需要,使用
sendsock.py
to talk to .sock
)
- 带有存根的 Web 服务(
AJAX
和GET
图像)(将命令转发到.sock
)
- 控制 Web 客户端(任何浏览器,甚至
lynx
可以telnet
做)
请不要向我索要文件! 使用来源,卢克!
心理健康警告!完整的画面是一大堆丑陋的、不干净的、令人头痛的面部手掌,产生了一些大部分不相关的随机放置的复杂脚本,名称错误和误导性,不干净的副本,未注释和未完成的半编辑,所有东西都硬编码到一台机器上,可能需要对未升级的软件包甚至更旧的东西进行一些未记录的本地 10 年前的调整。所以我不会把所有东西都分发出去。(即使这听起来很熟悉,不,我不是为微软工作。)