1 个不稳定版本
0.1.0 | 2022 年 12 月 15 日 |
---|
#1840 in 命令行工具
360KB
8K SLoC
AdbOrc
AdbOrc 使创建伪分布式 Android 设备网络变得容易。它是对 adb
的简单封装,允许您轻松地将设备与其他网络用户共享。在网络内部安全地共享设备用于测试、调试或开发。
概述
AdbOrc 中网络节点的操作模式有三种
-
供应商 - 网络上连接一个或多个 Android 设备的机器。《供应商》,正如其名所示,向网络提供设备。网络中可以有任意数量的 供应商。
-
消费者 - 网络上想要使用一个或多个 Android 设备的机器。《消费者》,正如其名所示,从网络中消耗设备。网络中可以有任意数量的 消费者。
-
市场制造商 - 网络上作为 供应商 和 消费者 之间的中间人的机器。《市场制造商》负责匹配供应商和消费者以及处理网络的所有元数据。网络中恰好有一个 市场制造商。对于供应商和消费者,市场制造商作为网络的代理。
网络上的系统可以运行上述模式的任意组合。例如,一个系统可以同时是 供应商 和 消费者。它也可以同时是 市场制造商 和 消费者。
将设备提供给网络就像以 供应商 的身份加入网络并选择您希望提供的设备一样简单。
要使用网络中的设备,您需要以 消费者 的身份加入网络并列出网络内的可用设备。然后您可以选择您希望使用的设备,并让 市场制造商 为您预留它们。一旦您使用完设备,您可以将其释放回网络。
所有预留设备仅供预留它们的 消费者 使用。设备可以通过 adb
直接使用。预留设备的屏幕镜像也由 AdbOrc 通过 scrcpy
直接支持。
供应商、消费者和MarketMaker之间的所有通信都使用Noise协议框架进行加密。加密密钥使用X25519曲线和ChaChaPoly密码套件生成,以Blake2s作为哈希函数。使用XX_25519_ChaChaPoly_BLAKE2s握手模式。
默认情况下,网络中供应商和消费者之间的设备通信未加密。然而,供应商可以选择使用相同的Noise协议密码套件加密与消费者之间的设备通信(使用KK模式)。这可以通过在作为供应商加入网络时简单地启用secure_mode来实现。
使用方法
在机器上启动MarketMaker以启动网络
$ adborc marketmaker start
从另一台机器作为供应商加入网络
$ adborc supplier start <MarketMaker_IP>
# Or, if you wish to enable secure mode
$ adborc supplier start <MarketMaker_IP> --secure
# Supply specific devices to the network
$ adborc supplier supply --devices "<android_serial1>,<android_serial2>,..."
# Or, supply all connected devices
$ adborc supplier supply
从另一台机器作为消费者加入网络
$ adborc consumer start <MarketMaker_IP>
# List available devices
$ adborc consumer list-available
# Reserve devices
$ adborc consumer reserve <device_id>
# Use the devices via adb
$ adb shell
# Or, use the devices via scrcpy
$ adborc consumer scrcpy <device_id>
有关更详细的使用说明,请参阅命令参考
安装
从源代码安装
# Assuming you have the rust toolchain installed
$ cargo install --git https://github.com/mobi-nex/adborc.git
# Or, if you want to build from local source
$ git clone https://github.com/mobi-nex/adborc.git
$ cd adborc
$ cargo install --path .
从crates.io安装
# Assuming you have the rust toolchain installed
$ cargo install adborc
注意:AdbOrc在消费者/供应商模式下需要系统上安装adb。如果您想使用设备屏幕镜像,还需要在系统上安装scrcpy。有关更多详细信息,请参阅依赖关系部分。
从发行版(仅限Windows)
您可以从这里下载最新发行版。发行版包含所有依赖项,包括adb和scrcpy。只需解压缩存档,然后从解压缩目录中在命令行上运行adborc.exe。
依赖项
AdbOrc依赖于以下内容
对于MarketMaker模式,上述所有内容都不需要。
为了使消费者模式正常工作,所需的adb最低版本是1.0.41。
可选地,可以使用scrcpy进行屏幕镜像。所需的scrcpy最低版本是1.13。
为了使供应商模式正常工作,所需的adb最低版本是1.0.41,最小修订号为33.0.1。
注意:scrcpy对于供应商模式不是必需的。
您可以使用以下方式覆盖AdbOrc使用的默认adb
和scrcpy
# Full path to the adb executable
$ adborc set-adb-path <path_to_adb>
# Full path to the scrcpy executable
$ adborc set-scrcpy-path <path_to_scrcpy>
有关更多详细信息,请参阅命令参考
贡献
欢迎贡献!请随时提交问题和拉取请求。
只需在提交PR之前运行cargo fmt
和cargo clippy
即可。
许可证
AdbOrc根据Apache License 2.0授权。有关更多详细信息,请参阅LICENSE
依赖项
~9–20MB
~251K SLoC