STF粗介绍
通过浏览器控制和管理真实的智能手机设备
出品:
STF在东京开始在CyberAgent内部使用。
现在它是一个基于社区的开源项目。
特征
-
OS支持
-
Android的
- 支持版本2.3.3(SDK级别10)至8.1(SDK级别27)
- 支持Wear 5.1(但由于缺少权限,不支持5.0)
- 支持Fire OS,CyanogenMod和其他基于Android的分发版
- root对于任何当前功能都不是必需的
-
-
从浏览器中远程控制任何设备
-
实时屏幕视图
-
支持从您自己的键盘输入文字
- 支持元键
- 复制和粘贴支持(尽管在旧设备上可能会有点挑剔,但您可能需要长按并手动选择粘贴)支持
- 不幸的是,有时候不适用于非拉丁语言。
- 触摸屏上的多点触控支持通过触摸屏,通过按住Alt时拖动,在常规屏幕上支持双指捏合/旋转/缩放手势
-
拖放安装和启动.apk文件
- 如果在清单中指定,则启动主启动器活动
-
- 即使它不在同一网络上,也可以直接从设备访问本地服务器
-
在任何浏览器中轻松打开网站
- 实时检测安装的浏览器并显示为可选选项
- 如果用户选择了默认浏览器,则会自动检测到
- 执行shell命令并查看实时输出
- 显示和过滤设备日志
-
- adb在本地运行任何命令,包括shell访问
- Android Studio和其他IDE支持,在浏览器上观看设备屏幕时调试您的应用程序
- 支持Chrome远程调试工具
- 文件资源管理器访问设备文件系统
- 实验VNC支持(正在进行中)
- 支持截图,并可以调整他们的大小
-
-
管理您的设备库存
- 查看哪些设备已连接,离线/不可用(表示弱的USB连接),未经授权或拔下插头
- 查看谁在使用设备
- 通过电话号码,IMEI,ICCID,Android版本,运营商,产品名称和/或许多其他属性搜索设备,轻松但功能强大
- 在需要物理定位的设备上显示带有识别信息的明亮的红色屏幕
- 跟踪电池电量和健康状况
-
基本Play商店账户管理
- 列出,删除和添加新帐户(添加可能无法在所有设备上运行)
- 显示硬件规格
- 简单的REST API
状态
STF继续积极发展,但发展仍主要由个别团队成员资助,而且他们的无偿空闲时间导致进展缓慢。虽然对于许多开源项目来说是正常的,但STF在硬件方面相当沉重,因此有点收益。如果您或您的公司愿意支持未来的发展,请参阅如何成为赞助商。
短期目标
以下是我们计划尽快解决的一些问题。
- 性能
- 在用户界面中正确公开新的VNC功能
- 在使用之间正确重置用户数据(Android 4.0+)
- 设备的自动计划重新启动
- 更多!
有关安全的简要说明
由于产品已从内部网络中运行的内部工具发展而来,因此我们对用户的可信度做出了一定的假设。因此,不同进程之间几乎没有安全或加密。此外,设备在使用之间不会完全重置,可能会使帐户登录或暴露其他敏感数据。这对我们来说不是问题,因为我们所有的设备都是测试设备,只能用于测试帐户,但如果您计划将STF部署到多用户环境,则可能会成为一个问题。
要求
- Node.js >= 6.9 (latest stable version preferred),最新稳定版本首选
- ADB properly set up
- RethinkDB >= 2.2
- GraphicsMagick (for resizing screenshots) 用于调整屏幕截图
- ZeroMQ libraries installed
- Protocol Buffers libraries installed
- yasm installed (for compiling embedded libjpeg-turbo) 用于编译嵌入式libjpeg-turbo)
- pkg-config so that Node.js can find the libraries以便Node.js可以找到这些库
请注意,即使您已直接从NPM安装STF,也需要这些依赖项,因为它们不能包含在程序包中。
在Mac OS上,您可以使用自制软件来安装大部分依赖项:
brew安装rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
在Windows上,你是你自己的。理论上你可以通过Cygwin或类似的方式安装STF ,但我们从来没有尝试过。原则上,我们不会提供任何Windows安装支持,但如果您想知道该怎么做,请发送文档拉取请求。
我们还在Docker Hub中提供了一个Docker容器,作为openstf / stf。如果您想自己进行安装,可以使用我们的Dockerfile作为指导。