All Projects → openatx → Atxserver2

openatx / Atxserver2

Licence: mit
Smart Phone Management. Reimplement of atx-server with Python

Projects that are alternatives of or similar to Atxserver2

H1ve
An Easy / Quick / Cheap Integrated Platform
Stars: ✭ 368 (-50.54%)
Mutual labels:  platform
Falcon
DEITY Falcon - Progressive Web App library for any type of website. Fully Open Source, Platform Agnostic and headless. OSL3.0. Supports Magento 2 PWA storefront, Wordpress PWA and BigCommerce PWA Storefront. Built with ReactJS, NodeJS and GraphQL. Join our community and become a contributor at https://slack.deity.io
Stars: ✭ 501 (-32.66%)
Mutual labels:  platform
Consulo
Platform repository of Consulo. Plugins implementation hold in their repositories
Stars: ✭ 632 (-15.05%)
Mutual labels:  platform
Radialmenu
A highly customizable radial menu that's very easy to setup.
Stars: ✭ 371 (-50.13%)
Mutual labels:  smartphone
Nodequant
一个基于Node.js的开源量化交易平台,轻巧地开发和部署量化投资策略
Stars: ✭ 444 (-40.32%)
Mutual labels:  platform
Kplcloud
基于Kubernetes的PaaS平台
Stars: ✭ 512 (-31.18%)
Mutual labels:  platform
Uxp
This is a GitHub mirror of the Unified XUL Platform. The main repository can be found at https://repo.palemoon.org/MoonchildProductions/UXP/
Stars: ✭ 363 (-51.21%)
Mutual labels:  platform
Qr Filetransfer
Transfer files over WiFi between your computer and your smartphone from the terminal
Stars: ✭ 738 (-0.81%)
Mutual labels:  smartphone
Hypatia
A JavaScript open source LMS (eLearning platform) for MOOCs and online courses
Stars: ✭ 478 (-35.75%)
Mutual labels:  platform
Textpattern
A flexible, elegant, fast and easy-to-use content management system written in PHP.
Stars: ✭ 572 (-23.12%)
Mutual labels:  platform
Agent
👮 A PHP desktop/mobile user agent parser with support for Laravel, based on Mobiledetect
Stars: ✭ 3,891 (+422.98%)
Mutual labels:  platform
Esp8266 Sniffer
An easy experiment which uses the ESP8266 wifi module to look for near smartphones around you
Stars: ✭ 410 (-44.89%)
Mutual labels:  smartphone
Qlib
Qlib is an AI-oriented quantitative investment platform, which aims to realize the potential, empower the research, and create the value of AI technologies in quantitative investment. With Qlib, you can easily try your ideas to create better Quant investment strategies. An increasing number of SOTA Quant research works/papers are released in Qlib.
Stars: ✭ 7,582 (+919.09%)
Mutual labels:  platform
Anahita
Anahita is a platform and framework for developing open science and knowledge sharing applications on a social networking foundation.
Stars: ✭ 369 (-50.4%)
Mutual labels:  platform
Termuxarch
You can use setupTermuxArch.bash 📲 to install Arch Linux in Amazon, Android, Chromebook and Windows. https://sdrausty.github.io/TermuxArch/docs/install
Stars: ✭ 653 (-12.23%)
Mutual labels:  smartphone
Infinit
The Infinit policy-based software-defined storage platform.
Stars: ✭ 363 (-51.21%)
Mutual labels:  platform
Cdap
An open source framework for building data analytic applications.
Stars: ✭ 509 (-31.59%)
Mutual labels:  platform
Opstrace
Secure observability, deployed in your own network. An open source alternative to SaaS solutions like Datadog, SignalFx, ...
Stars: ✭ 743 (-0.13%)
Mutual labels:  platform
Containerum
Web UI for Kubernetes with teamwork and CI/CD support
Stars: ✭ 702 (-5.65%)
Mutual labels:  platform
Stresstestplatform
基于Jmeter实现的在线压测和管理Jmx的平台。
Stars: ✭ 515 (-30.78%)
Mutual labels:  platform

atxserver2

移动设备管理平台(支持Android和iOS), 欢迎加入QQ群交流

image-20190619180012756

img

部署方案1 (docker-compose方式)

代码Clone到本地

接下来切换到代码目录,只需要再执行一条命令即可。

docker-compose up

部署方案2 (手动部署)

Step 1

先准备好一个rethinkdb服务器(推荐部署到Linux上) 具体方法查看RethinkDB安装文档

Step 2

安装并启动Server,这里需要Python3.6以上版本

先将代码clone到本地,使用下面的方法安装依赖

pip3 install -r requirements.txt

最简单的启动方法 (默认连接的rethinkdb地址 localhost:28015)

# 启动方式,这也是最简单的启动方法
python3 main.py

# 指定认证方式
python3 main.py --auth simple # 默认是一个非常simple的认证,输入邮箱就可以
python3 main.py --auth openid # 网易内部使用
# 其他的认证方式还有待添加,非常欢迎PR

# 设置监听端口
python3 main.py --port 4000 # 默认监听的就是这个地址

# 默认支持运行在Nginx下,支持 X-Real-Ip/X-Forwarded-For
# 如果不需要可以通过 --no-xheaders 关闭该功能

通过环境变量的修改,可以更改RethinkDB的连接地址

# Linux环境
# the bellow is default value
export RDB_HOST=localhost
export RDB_PORT=28015
export RDB_USER=admin
export RDB_PASSWD=
export RDB_DBNAME=atxserver2

python3 main.py

启动之后,浏览器打开 http://localhost:4000,完成认证之后就可以顺利的看到设备列表页了。不过目前还是空的,什么都没有。

image

Step 3: Android设备接入

接下来,进行安卓设备接入。这时需要用到另外一个项目 atxserver2-android-provider 这个项目运行需要Python3.6+和NodeJS

如果你用的是Linux系统,推荐使用Docker部署,其他平台需要用源码部署,具体请参考文档 atxserver2-android-provider

SERVER_URL="http://10.0.0.1:4000" # 这个修改成自己的atxserver2地址
IMAGE="codeskyblue/atxserver2-android-provider"
docker pull $IMAGE
docker run --rm --privileged -v /dev/bus/usb:/dev/bus/usb --net host \
    ${IMAGE} python main.py --server ${SERVER_URL}

该镜像会把所有必要的资源 (atx-uiautomator.apk, minicap, minitouch, atx-agent) 全部推送到手机上。 一切就绪后,你可以进行远程真机的操作了。

atxserver2-remotecontrol

Step 3: iOS设备接入

参考项目介绍 atxserver2-ios-provider

私有设备接入(Beta)

目前只实现了Android

atxserver2-android-provider启动的时候可以通过传递参数 --owner=xingxing 声明该provider所有连接的设备属于xingxing这个组所有,或者[email protected] 声明为panpan个人所有

通过点击导航栏的下拉菜单,点击用户信息,在这个标签页下可以获取个人的token,也可以进行组的管理。(目前还没有组成员管理的功能)

管理员功能

默认第一个登录的用户会成为管理员

管理员有哪些特权呢?

  1. 可以释放他人正在使用的设备。(按住ALT,然后双击正在使用按钮)
  2. 使用他人的身份占用设备(参考API文档)
  3. 获取设备的source信息(参考API文档)
  4. 将他人设置为管理员,导航栏可以看到后台管理链接
  5. 有权修改资产编号字段

操作指南

鼠标操作

  • Right-Click: BACK
  • Middle-Click: HOME

Developers

目前采用tornado+rethinkdb

目录结构参考了django, 代码绝大多数都用到的async的功能

|-- static  静态目录
|-- templates 前端界面
|-- web  网页代码
      |-- urls.py 路由整合文件
      |-- settings.py 配置文件
      |-- database.py 数据库操作相关
      |-- utils.py 常用配置
      |-- views 每个界面的逻辑
        |-- slave.py 与atxslave通信用
        |-- device.py 设备相关路由
        |-- base.py 基于RequestHandler的基类

接口

详情点击 接口REST API

Examples:

Thanks

微信打赏

以前我一直对打赏这种行为不屑一顾,但真正的收到社区成员千翻百计找到我的打赏码打赏的时候还是很开心,感觉工作得到的人认可,很开心。我也有时候会打赏别人,让激动的心情有了发泄的出口。 请不要打赏太多,知道了你们的心意就好了。我将会用收到的money通通拿来去楼下咖啡店买咖啡,买饮料。^_^

wechat

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].