@devicefarmer/adbkit 2.11.3 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/dependabot.yml +46 -0
- package/CONTRIBUTING.md +28 -0
- package/README.md +749 -759
- package/bin/adbkit +1 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +84 -0
- package/dist/src/Callback.d.ts +2 -0
- package/dist/src/Callback.d.ts.map +1 -0
- package/dist/src/Callback.js +3 -0
- package/dist/src/Callback.js.map +1 -0
- package/dist/src/ClientOptions.d.ts +6 -0
- package/dist/src/ClientOptions.d.ts.map +1 -0
- package/dist/src/ClientOptions.js +3 -0
- package/dist/src/ClientOptions.js.map +1 -0
- package/dist/src/CpuStats.d.ts +17 -0
- package/dist/src/CpuStats.d.ts.map +1 -0
- package/dist/src/CpuStats.js +3 -0
- package/dist/src/CpuStats.js.map +1 -0
- package/dist/src/Device.d.ts +5 -0
- package/dist/src/Device.d.ts.map +1 -0
- package/dist/src/Device.js +3 -0
- package/dist/src/Device.js.map +1 -0
- package/dist/src/DeviceWithPath.d.ts +9 -0
- package/dist/src/DeviceWithPath.d.ts.map +1 -0
- package/dist/src/DeviceWithPath.js +3 -0
- package/dist/src/DeviceWithPath.js.map +1 -0
- package/dist/src/ExtendedPublicKey.d.ts +7 -0
- package/dist/src/ExtendedPublicKey.d.ts.map +1 -0
- package/dist/src/ExtendedPublicKey.js +3 -0
- package/dist/src/ExtendedPublicKey.js.map +1 -0
- package/dist/src/Features.d.ts +2 -0
- package/dist/src/Features.d.ts.map +1 -0
- package/dist/src/Features.js +3 -0
- package/dist/src/Features.js.map +1 -0
- package/dist/src/Forward.d.ts +6 -0
- package/dist/src/Forward.d.ts.map +1 -0
- package/dist/src/Forward.js +3 -0
- package/dist/src/Forward.js.map +1 -0
- package/dist/src/FramebufferMeta.d.ts +60 -0
- package/dist/src/FramebufferMeta.d.ts.map +1 -0
- package/dist/src/FramebufferMeta.js +3 -0
- package/dist/src/FramebufferMeta.js.map +1 -0
- package/dist/src/FramebufferStreamWithMeta.d.ts +10 -0
- package/dist/src/FramebufferStreamWithMeta.d.ts.map +1 -0
- package/dist/src/FramebufferStreamWithMeta.js +3 -0
- package/dist/src/FramebufferStreamWithMeta.js.map +1 -0
- package/dist/src/Properties.d.ts +2 -0
- package/dist/src/Properties.d.ts.map +1 -0
- package/dist/src/Properties.js +3 -0
- package/dist/src/Properties.js.map +1 -0
- package/dist/src/Reverse.d.ts +5 -0
- package/dist/src/Reverse.d.ts.map +1 -0
- package/dist/src/Reverse.js +3 -0
- package/dist/src/Reverse.js.map +1 -0
- package/dist/src/SocketOptions.d.ts +6 -0
- package/dist/src/SocketOptions.d.ts.map +1 -0
- package/dist/src/SocketOptions.js +3 -0
- package/dist/src/SocketOptions.js.map +1 -0
- package/dist/src/StartActivityOptions.d.ts +12 -0
- package/dist/src/StartActivityOptions.d.ts.map +1 -0
- package/dist/src/StartActivityOptions.js +3 -0
- package/dist/src/StartActivityOptions.js.map +1 -0
- package/dist/src/StartServiceOptions.d.ts +57 -0
- package/dist/src/StartServiceOptions.d.ts.map +1 -0
- package/dist/src/StartServiceOptions.js +3 -0
- package/dist/src/StartServiceOptions.js.map +1 -0
- package/dist/src/TrackerChangeSet.d.ts +7 -0
- package/dist/src/TrackerChangeSet.d.ts.map +1 -0
- package/dist/src/TrackerChangeSet.js +3 -0
- package/dist/src/TrackerChangeSet.js.map +1 -0
- package/dist/src/WithToString.d.ts +4 -0
- package/dist/src/WithToString.d.ts.map +1 -0
- package/dist/src/WithToString.js +3 -0
- package/dist/src/WithToString.js.map +1 -0
- package/dist/src/adb/DeviceClient.d.ts +376 -0
- package/dist/src/adb/DeviceClient.d.ts.map +1 -0
- package/dist/src/adb/DeviceClient.js +517 -0
- package/dist/src/adb/DeviceClient.js.map +1 -0
- package/dist/src/adb/auth.d.ts +8 -0
- package/dist/src/adb/auth.d.ts.map +1 -0
- package/dist/src/adb/auth.js +87 -0
- package/dist/src/adb/auth.js.map +1 -0
- package/dist/src/adb/client.d.ts +29 -0
- package/dist/src/adb/client.d.ts.map +1 -0
- package/dist/src/adb/client.js +73 -0
- package/dist/src/adb/client.js.map +1 -0
- package/dist/src/adb/command/host/connect.d.ts +6 -0
- package/dist/src/adb/command/host/connect.d.ts.map +1 -0
- package/dist/src/adb/command/host/connect.js +36 -0
- package/dist/src/adb/command/host/connect.js.map +1 -0
- package/dist/src/adb/command/host/devices.d.ts +10 -0
- package/dist/src/adb/command/host/devices.d.ts.map +1 -0
- package/dist/src/adb/command/host/devices.js +40 -0
- package/dist/src/adb/command/host/devices.js.map +1 -0
- package/dist/src/adb/command/host/deviceswithpaths.d.ts +9 -0
- package/dist/src/adb/command/host/deviceswithpaths.d.ts.map +1 -0
- package/dist/src/adb/command/host/deviceswithpaths.js +46 -0
- package/dist/src/adb/command/host/deviceswithpaths.js.map +1 -0
- package/dist/src/adb/command/host/disconnect.d.ts +6 -0
- package/dist/src/adb/command/host/disconnect.d.ts.map +1 -0
- package/dist/src/adb/command/host/disconnect.js +35 -0
- package/dist/src/adb/command/host/disconnect.js.map +1 -0
- package/dist/src/adb/command/host/index.d.ts +9 -0
- package/dist/src/adb/command/host/index.d.ts.map +1 -0
- package/dist/src/adb/command/host/index.js +23 -0
- package/dist/src/adb/command/host/index.js.map +1 -0
- package/dist/src/adb/command/host/kill.d.ts +6 -0
- package/dist/src/adb/command/host/kill.d.ts.map +1 -0
- package/dist/src/adb/command/host/kill.js +24 -0
- package/dist/src/adb/command/host/kill.js.map +1 -0
- package/dist/src/adb/command/host/trackdevices.d.ts +6 -0
- package/dist/src/adb/command/host/trackdevices.d.ts.map +1 -0
- package/dist/src/adb/command/host/trackdevices.js +27 -0
- package/dist/src/adb/command/host/trackdevices.js.map +1 -0
- package/dist/src/adb/command/host/transport.d.ts +6 -0
- package/dist/src/adb/command/host/transport.d.ts.map +1 -0
- package/dist/src/adb/command/host/transport.js +24 -0
- package/dist/src/adb/command/host/transport.js.map +1 -0
- package/dist/src/adb/command/host/version.d.ts +7 -0
- package/dist/src/adb/command/host/version.d.ts.map +1 -0
- package/dist/src/adb/command/host/version.js +29 -0
- package/dist/src/adb/command/host/version.js.map +1 -0
- package/dist/src/adb/command/host-serial/forward.d.ts +6 -0
- package/dist/src/adb/command/host-serial/forward.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/forward.js +33 -0
- package/dist/src/adb/command/host-serial/forward.js.map +1 -0
- package/dist/src/adb/command/host-serial/getdevicepath.d.ts +6 -0
- package/dist/src/adb/command/host-serial/getdevicepath.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/getdevicepath.js +26 -0
- package/dist/src/adb/command/host-serial/getdevicepath.js.map +1 -0
- package/dist/src/adb/command/host-serial/getserialno.d.ts +6 -0
- package/dist/src/adb/command/host-serial/getserialno.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/getserialno.js +24 -0
- package/dist/src/adb/command/host-serial/getserialno.js.map +1 -0
- package/dist/src/adb/command/host-serial/getstate.d.ts +6 -0
- package/dist/src/adb/command/host-serial/getstate.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/getstate.js +24 -0
- package/dist/src/adb/command/host-serial/getstate.js.map +1 -0
- package/dist/src/adb/command/host-serial/index.d.ts +7 -0
- package/dist/src/adb/command/host-serial/index.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/index.js +19 -0
- package/dist/src/adb/command/host-serial/index.js.map +1 -0
- package/dist/src/adb/command/host-serial/listforwards.d.ts +8 -0
- package/dist/src/adb/command/host-serial/listforwards.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/listforwards.js +34 -0
- package/dist/src/adb/command/host-serial/listforwards.js.map +1 -0
- package/dist/src/adb/command/host-serial/waitfordevice.d.ts +6 -0
- package/dist/src/adb/command/host-serial/waitfordevice.d.ts.map +1 -0
- package/dist/src/adb/command/host-serial/waitfordevice.js +33 -0
- package/dist/src/adb/command/host-serial/waitfordevice.js.map +1 -0
- package/dist/src/adb/command/host-transport/clear.d.ts +6 -0
- package/dist/src/adb/command/host-transport/clear.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/clear.js +39 -0
- package/dist/src/adb/command/host-transport/clear.js.map +1 -0
- package/dist/src/adb/command/host-transport/framebuffer.d.ts +12 -0
- package/dist/src/adb/command/host-transport/framebuffer.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/framebuffer.js +113 -0
- package/dist/src/adb/command/host-transport/framebuffer.js.map +1 -0
- package/dist/src/adb/command/host-transport/getfeatures.d.ts +8 -0
- package/dist/src/adb/command/host-transport/getfeatures.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/getfeatures.js +35 -0
- package/dist/src/adb/command/host-transport/getfeatures.js.map +1 -0
- package/dist/src/adb/command/host-transport/getpackages.d.ts +7 -0
- package/dist/src/adb/command/host-transport/getpackages.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/getpackages.js +45 -0
- package/dist/src/adb/command/host-transport/getpackages.js.map +1 -0
- package/dist/src/adb/command/host-transport/getproperties.d.ts +8 -0
- package/dist/src/adb/command/host-transport/getproperties.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/getproperties.js +37 -0
- package/dist/src/adb/command/host-transport/getproperties.js.map +1 -0
- package/dist/src/adb/command/host-transport/index.d.ts +28 -0
- package/dist/src/adb/command/host-transport/index.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/index.js +61 -0
- package/dist/src/adb/command/host-transport/index.js.map +1 -0
- package/dist/src/adb/command/host-transport/install.d.ts +6 -0
- package/dist/src/adb/command/host-transport/install.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/install.js +42 -0
- package/dist/src/adb/command/host-transport/install.js.map +1 -0
- package/dist/src/adb/command/host-transport/isinstalled.d.ts +6 -0
- package/dist/src/adb/command/host-transport/isinstalled.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/isinstalled.js +37 -0
- package/dist/src/adb/command/host-transport/isinstalled.js.map +1 -0
- package/dist/src/adb/command/host-transport/listreverses.d.ts +8 -0
- package/dist/src/adb/command/host-transport/listreverses.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/listreverses.js +38 -0
- package/dist/src/adb/command/host-transport/listreverses.js.map +1 -0
- package/dist/src/adb/command/host-transport/local.d.ts +8 -0
- package/dist/src/adb/command/host-transport/local.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/local.js +24 -0
- package/dist/src/adb/command/host-transport/local.js.map +1 -0
- package/dist/src/adb/command/host-transport/log.d.ts +8 -0
- package/dist/src/adb/command/host-transport/log.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/log.js +24 -0
- package/dist/src/adb/command/host-transport/log.js.map +1 -0
- package/dist/src/adb/command/host-transport/logcat.d.ts +9 -0
- package/dist/src/adb/command/host-transport/logcat.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/logcat.js +37 -0
- package/dist/src/adb/command/host-transport/logcat.js.map +1 -0
- package/dist/src/adb/command/host-transport/monkey.d.ts +8 -0
- package/dist/src/adb/command/host-transport/monkey.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/monkey.js +50 -0
- package/dist/src/adb/command/host-transport/monkey.js.map +1 -0
- package/dist/src/adb/command/host-transport/reboot.d.ts +6 -0
- package/dist/src/adb/command/host-transport/reboot.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/reboot.js +24 -0
- package/dist/src/adb/command/host-transport/reboot.js.map +1 -0
- package/dist/src/adb/command/host-transport/remount.d.ts +6 -0
- package/dist/src/adb/command/host-transport/remount.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/remount.js +24 -0
- package/dist/src/adb/command/host-transport/remount.js.map +1 -0
- package/dist/src/adb/command/host-transport/reverse.d.ts +6 -0
- package/dist/src/adb/command/host-transport/reverse.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/reverse.js +33 -0
- package/dist/src/adb/command/host-transport/reverse.js.map +1 -0
- package/dist/src/adb/command/host-transport/root.d.ts +6 -0
- package/dist/src/adb/command/host-transport/root.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/root.js +32 -0
- package/dist/src/adb/command/host-transport/root.js.map +1 -0
- package/dist/src/adb/command/host-transport/screencap.d.ts +8 -0
- package/dist/src/adb/command/host-transport/screencap.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/screencap.js +36 -0
- package/dist/src/adb/command/host-transport/screencap.js.map +1 -0
- package/dist/src/adb/command/host-transport/shell.d.ts +9 -0
- package/dist/src/adb/command/host-transport/shell.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/shell.js +27 -0
- package/dist/src/adb/command/host-transport/shell.js.map +1 -0
- package/dist/src/adb/command/host-transport/startactivity.d.ts +13 -0
- package/dist/src/adb/command/host-transport/startactivity.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/startactivity.js +166 -0
- package/dist/src/adb/command/host-transport/startactivity.js.map +1 -0
- package/dist/src/adb/command/host-transport/startservice.d.ts +7 -0
- package/dist/src/adb/command/host-transport/startservice.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/startservice.js +17 -0
- package/dist/src/adb/command/host-transport/startservice.js.map +1 -0
- package/dist/src/adb/command/host-transport/sync.d.ts +7 -0
- package/dist/src/adb/command/host-transport/sync.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/sync.js +25 -0
- package/dist/src/adb/command/host-transport/sync.js.map +1 -0
- package/dist/src/adb/command/host-transport/tcp.d.ts +8 -0
- package/dist/src/adb/command/host-transport/tcp.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/tcp.js +24 -0
- package/dist/src/adb/command/host-transport/tcp.js.map +1 -0
- package/dist/src/adb/command/host-transport/tcpip.d.ts +6 -0
- package/dist/src/adb/command/host-transport/tcpip.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/tcpip.js +32 -0
- package/dist/src/adb/command/host-transport/tcpip.js.map +1 -0
- package/dist/src/adb/command/host-transport/trackjdwp.d.ts +7 -0
- package/dist/src/adb/command/host-transport/trackjdwp.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/trackjdwp.js +25 -0
- package/dist/src/adb/command/host-transport/trackjdwp.js.map +1 -0
- package/dist/src/adb/command/host-transport/uninstall.d.ts +6 -0
- package/dist/src/adb/command/host-transport/uninstall.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/uninstall.js +40 -0
- package/dist/src/adb/command/host-transport/uninstall.js.map +1 -0
- package/dist/src/adb/command/host-transport/usb.d.ts +6 -0
- package/dist/src/adb/command/host-transport/usb.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/usb.js +32 -0
- package/dist/src/adb/command/host-transport/usb.js.map +1 -0
- package/dist/src/adb/command/host-transport/waitbootcomplete.d.ts +6 -0
- package/dist/src/adb/command/host-transport/waitbootcomplete.d.ts.map +1 -0
- package/dist/src/adb/command/host-transport/waitbootcomplete.js +27 -0
- package/dist/src/adb/command/host-transport/waitbootcomplete.js.map +1 -0
- package/dist/src/adb/command.d.ts +17 -0
- package/dist/src/adb/command.d.ts.map +1 -0
- package/dist/src/adb/command.js +43 -0
- package/dist/src/adb/command.js.map +1 -0
- package/dist/src/adb/connection.d.ts +24 -0
- package/dist/src/adb/connection.d.ts.map +1 -0
- package/dist/src/adb/connection.js +115 -0
- package/dist/src/adb/connection.js.map +1 -0
- package/dist/src/adb/dump.d.ts +4 -0
- package/dist/src/adb/dump.d.ts.map +1 -0
- package/dist/src/adb/dump.js +38 -0
- package/dist/src/adb/dump.js.map +1 -0
- package/dist/src/adb/framebuffer/rgbtransform.d.ts +16 -0
- package/dist/src/adb/framebuffer/rgbtransform.d.ts.map +1 -0
- package/dist/src/adb/framebuffer/rgbtransform.js +47 -0
- package/dist/src/adb/framebuffer/rgbtransform.js.map +1 -0
- package/dist/src/adb/jdwptracker.d.ts +41 -0
- package/dist/src/adb/jdwptracker.d.ts.map +1 -0
- package/dist/src/adb/jdwptracker.js +85 -0
- package/dist/src/adb/jdwptracker.js.map +1 -0
- package/dist/src/adb/keycode.d.ts +292 -0
- package/dist/src/adb/keycode.d.ts.map +1 -0
- package/dist/src/adb/keycode.js +298 -0
- package/dist/src/adb/keycode.js.map +1 -0
- package/dist/src/adb/linetransform.d.ts +17 -0
- package/dist/src/adb/linetransform.d.ts.map +1 -0
- package/dist/src/adb/linetransform.js +93 -0
- package/dist/src/adb/linetransform.js.map +1 -0
- package/dist/src/adb/parser.d.ts +37 -0
- package/dist/src/adb/parser.d.ts.map +1 -0
- package/dist/src/adb/parser.js +269 -0
- package/dist/src/adb/parser.js.map +1 -0
- package/dist/src/adb/proc/stat.d.ts +30 -0
- package/dist/src/adb/proc/stat.d.ts.map +1 -0
- package/dist/src/adb/proc/stat.js +131 -0
- package/dist/src/adb/proc/stat.js.map +1 -0
- package/dist/src/adb/protocol.d.ts +17 -0
- package/dist/src/adb/protocol.d.ts.map +1 -0
- package/dist/src/adb/protocol.js +29 -0
- package/dist/src/adb/protocol.js.map +1 -0
- package/dist/src/adb/sync/entry.d.ts +8 -0
- package/dist/src/adb/sync/entry.d.ts.map +1 -0
- package/dist/src/adb/sync/entry.js +16 -0
- package/dist/src/adb/sync/entry.js.map +1 -0
- package/dist/src/adb/sync/pulltransfer.d.ts +10 -0
- package/dist/src/adb/sync/pulltransfer.d.ts.map +1 -0
- package/dist/src/adb/sync/pulltransfer.js +24 -0
- package/dist/src/adb/sync/pulltransfer.js.map +1 -0
- package/dist/src/adb/sync/pushtransfer.d.ts +13 -0
- package/dist/src/adb/sync/pushtransfer.d.ts.map +1 -0
- package/dist/src/adb/sync/pushtransfer.js +30 -0
- package/dist/src/adb/sync/pushtransfer.js.map +1 -0
- package/dist/src/adb/sync/stats.d.ts +23 -0
- package/dist/src/adb/sync/stats.d.ts.map +1 -0
- package/dist/src/adb/sync/stats.js +54 -0
- package/dist/src/adb/sync/stats.js.map +1 -0
- package/dist/src/adb/sync.d.ts +31 -0
- package/dist/src/adb/sync.d.ts.map +1 -0
- package/dist/src/adb/sync.js +322 -0
- package/dist/src/adb/sync.js.map +1 -0
- package/dist/src/adb/tcpusb/packet.d.ts +27 -0
- package/dist/src/adb/tcpusb/packet.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/packet.js +94 -0
- package/dist/src/adb/tcpusb/packet.js.map +1 -0
- package/dist/src/adb/tcpusb/packetreader.d.ts +26 -0
- package/dist/src/adb/tcpusb/packetreader.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/packetreader.js +100 -0
- package/dist/src/adb/tcpusb/packetreader.js.map +1 -0
- package/dist/src/adb/tcpusb/rollingcounter.d.ts +8 -0
- package/dist/src/adb/tcpusb/rollingcounter.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/rollingcounter.js +17 -0
- package/dist/src/adb/tcpusb/rollingcounter.js.map +1 -0
- package/dist/src/adb/tcpusb/server.d.ts +19 -0
- package/dist/src/adb/tcpusb/server.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/server.js +78 -0
- package/dist/src/adb/tcpusb/server.js.map +1 -0
- package/dist/src/adb/tcpusb/service.d.ts +37 -0
- package/dist/src/adb/tcpusb/service.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/service.js +173 -0
- package/dist/src/adb/tcpusb/service.js.map +1 -0
- package/dist/src/adb/tcpusb/servicemap.d.ts +10 -0
- package/dist/src/adb/tcpusb/servicemap.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/servicemap.js +42 -0
- package/dist/src/adb/tcpusb/servicemap.js.map +1 -0
- package/dist/src/adb/tcpusb/socket.d.ts +45 -0
- package/dist/src/adb/tcpusb/socket.d.ts.map +1 -0
- package/dist/src/adb/tcpusb/socket.js +284 -0
- package/dist/src/adb/tcpusb/socket.js.map +1 -0
- package/dist/src/adb/tracker.d.ts +17 -0
- package/dist/src/adb/tracker.d.ts.map +1 -0
- package/dist/src/adb/tracker.js +72 -0
- package/dist/src/adb/tracker.js.map +1 -0
- package/dist/src/adb/util.d.ts +10 -0
- package/dist/src/adb/util.d.ts.map +1 -0
- package/dist/src/adb/util.js +17 -0
- package/dist/src/adb/util.js.map +1 -0
- package/dist/src/adb.d.ts +13 -0
- package/dist/src/adb.d.ts.map +1 -0
- package/dist/src/adb.js +28 -0
- package/dist/src/adb.js.map +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +86 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +12 -0
- package/dist/src/index.js.map +1 -0
- package/package.json +53 -33
- package/.semaphore/publish.yml +0 -19
- package/.semaphore/semaphore.yml +0 -27
- package/index.js +0 -4
- package/lib/adb/auth.js +0 -78
- package/lib/adb/client.js +0 -576
- package/lib/adb/command/host/connect.js +0 -46
- package/lib/adb/command/host/devices.js +0 -64
- package/lib/adb/command/host/deviceswithpaths.js +0 -70
- package/lib/adb/command/host/disconnect.js +0 -46
- package/lib/adb/command/host/kill.js +0 -36
- package/lib/adb/command/host/trackdevices.js +0 -40
- package/lib/adb/command/host/transport.js +0 -36
- package/lib/adb/command/host/version.js +0 -42
- package/lib/adb/command/host-serial/forward.js +0 -45
- package/lib/adb/command/host-serial/getdevicepath.js +0 -38
- package/lib/adb/command/host-serial/getserialno.js +0 -38
- package/lib/adb/command/host-serial/getstate.js +0 -38
- package/lib/adb/command/host-serial/listforwards.js +0 -56
- package/lib/adb/command/host-serial/waitfordevice.js +0 -45
- package/lib/adb/command/host-transport/clear.js +0 -45
- package/lib/adb/command/host-transport/framebuffer.js +0 -114
- package/lib/adb/command/host-transport/getfeatures.js +0 -51
- package/lib/adb/command/host-transport/getpackages.js +0 -51
- package/lib/adb/command/host-transport/getproperties.js +0 -51
- package/lib/adb/command/host-transport/install.js +0 -48
- package/lib/adb/command/host-transport/isinstalled.js +0 -47
- package/lib/adb/command/host-transport/listreverses.js +0 -55
- package/lib/adb/command/host-transport/local.js +0 -36
- package/lib/adb/command/host-transport/log.js +0 -36
- package/lib/adb/command/host-transport/logcat.js +0 -48
- package/lib/adb/command/host-transport/monkey.js +0 -42
- package/lib/adb/command/host-transport/reboot.js +0 -36
- package/lib/adb/command/host-transport/remount.js +0 -36
- package/lib/adb/command/host-transport/reverse.js +0 -45
- package/lib/adb/command/host-transport/root.js +0 -46
- package/lib/adb/command/host-transport/screencap.js +0 -52
- package/lib/adb/command/host-transport/shell.js +0 -39
- package/lib/adb/command/host-transport/startactivity.js +0 -184
- package/lib/adb/command/host-transport/startservice.js +0 -33
- package/lib/adb/command/host-transport/sync.js +0 -38
- package/lib/adb/command/host-transport/tcp.js +0 -36
- package/lib/adb/command/host-transport/tcpip.js +0 -46
- package/lib/adb/command/host-transport/trackjdwp.js +0 -120
- package/lib/adb/command/host-transport/uninstall.js +0 -44
- package/lib/adb/command/host-transport/usb.js +0 -46
- package/lib/adb/command/host-transport/waitbootcomplete.js +0 -42
- package/lib/adb/command.js +0 -56
- package/lib/adb/connection.js +0 -117
- package/lib/adb/dump.js +0 -15
- package/lib/adb/framebuffer/rgbtransform.js +0 -55
- package/lib/adb/keycode.js +0 -225
- package/lib/adb/linetransform.js +0 -87
- package/lib/adb/parser.js +0 -291
- package/lib/adb/proc/stat.js +0 -137
- package/lib/adb/protocol.js +0 -45
- package/lib/adb/sync/entry.js +0 -23
- package/lib/adb/sync/pulltransfer.js +0 -31
- package/lib/adb/sync/pushtransfer.js +0 -40
- package/lib/adb/sync/stats.js +0 -54
- package/lib/adb/sync.js +0 -343
- package/lib/adb/tcpusb/packet.js +0 -112
- package/lib/adb/tcpusb/packetreader.js +0 -121
- package/lib/adb/tcpusb/rollingcounter.js +0 -21
- package/lib/adb/tcpusb/server.js +0 -79
- package/lib/adb/tcpusb/service.js +0 -203
- package/lib/adb/tcpusb/servicemap.js +0 -48
- package/lib/adb/tcpusb/socket.js +0 -312
- package/lib/adb/tracker.js +0 -89
- package/lib/adb/util.js +0 -13
- package/lib/adb.js +0 -29
- package/lib/cli.js +0 -66
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class ServiceMap {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.remotes = Object.create(null);
|
|
6
|
+
this.count = 0;
|
|
7
|
+
}
|
|
8
|
+
end() {
|
|
9
|
+
const ref = this.remotes;
|
|
10
|
+
for (const remoteId in ref) {
|
|
11
|
+
const remote = ref[remoteId];
|
|
12
|
+
remote.end();
|
|
13
|
+
}
|
|
14
|
+
this.remotes = Object.create(null);
|
|
15
|
+
this.count = 0;
|
|
16
|
+
}
|
|
17
|
+
insert(remoteId, socket) {
|
|
18
|
+
if (this.remotes[remoteId]) {
|
|
19
|
+
throw new Error(`Remote ID ${remoteId} is already being used`);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.count += 1;
|
|
23
|
+
return (this.remotes[remoteId] = socket);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
get(remoteId) {
|
|
27
|
+
return this.remotes[remoteId] || null;
|
|
28
|
+
}
|
|
29
|
+
remove(remoteId) {
|
|
30
|
+
let remote;
|
|
31
|
+
if ((remote = this.remotes[remoteId])) {
|
|
32
|
+
delete this.remotes[remoteId];
|
|
33
|
+
this.count -= 1;
|
|
34
|
+
return remote;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.default = ServiceMap;
|
|
42
|
+
//# sourceMappingURL=servicemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servicemap.js","sourceRoot":"","sources":["../../../../src/adb/tcpusb/servicemap.ts"],"names":[],"mappings":";;AAEA,MAAqB,UAAU;IAA/B;QACU,YAAO,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,UAAK,GAAG,CAAC,CAAC;IAmCnB,CAAC;IAjCQ,GAAG;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;SACd;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,QAAgB,EAAE,MAAe;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,wBAAwB,CAAC,CAAC;SAChE;aAAM;YACL,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;SAC1C;IACH,CAAC;IAEM,GAAG,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,QAAgB;QAC5B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC;SACf;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF;AArCD,6BAqCC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import Client from '../client';
|
|
4
|
+
import * as Net from 'net';
|
|
5
|
+
import SocketOptions from '../../SocketOptions';
|
|
6
|
+
declare class AuthError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
declare class UnauthorizedError extends Error {
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
export default class Socket extends EventEmitter {
|
|
13
|
+
private readonly client;
|
|
14
|
+
private readonly serial;
|
|
15
|
+
private socket;
|
|
16
|
+
private options;
|
|
17
|
+
static AuthError: typeof AuthError;
|
|
18
|
+
static UnauthorizedError: typeof UnauthorizedError;
|
|
19
|
+
private ended;
|
|
20
|
+
private reader;
|
|
21
|
+
private authorized;
|
|
22
|
+
private syncToken;
|
|
23
|
+
private remoteId;
|
|
24
|
+
private services;
|
|
25
|
+
private remoteAddress?;
|
|
26
|
+
private token?;
|
|
27
|
+
private signature?;
|
|
28
|
+
version: number;
|
|
29
|
+
maxPayload: number;
|
|
30
|
+
constructor(client: Client, serial: string, socket: Net.Socket, options?: SocketOptions);
|
|
31
|
+
end(): Socket;
|
|
32
|
+
private _error;
|
|
33
|
+
private _handle;
|
|
34
|
+
private _handleSyncPacket;
|
|
35
|
+
private _handleConnectionPacket;
|
|
36
|
+
private _handleAuthPacket;
|
|
37
|
+
private _handleOpenPacket;
|
|
38
|
+
private _forwardServicePacket;
|
|
39
|
+
write(chunk: Buffer | string): boolean;
|
|
40
|
+
private _createToken;
|
|
41
|
+
private _skipNull;
|
|
42
|
+
private _deviceId;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/adb/tcpusb/socket.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAUhD,cAAM,SAAU,SAAQ,KAAK;gBACf,OAAO,EAAE,MAAM;CAM5B;AAED,cAAM,iBAAkB,SAAQ,KAAK;;CAOpC;AAED,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAiB5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IAnBjB,OAAc,SAAS,mBAAa;IACpC,OAAc,iBAAiB,2BAAqB;IAEpD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,SAAS,CAAC,CAAS;IACpB,OAAO,SAAK;IACZ,UAAU,SAAQ;gBAGN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,OAAO,GAAE,aAAkB;IAmB9B,GAAG,IAAI,MAAM;IAYpB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;IAqCf,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,iBAAiB;IAmDzB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,qBAAqB;IActB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAO7C,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;CAkBlB"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const events_1 = require("events");
|
|
30
|
+
const crypto = __importStar(require("crypto"));
|
|
31
|
+
const debug_1 = __importDefault(require("debug"));
|
|
32
|
+
const bluebird_1 = __importDefault(require("bluebird"));
|
|
33
|
+
const packetreader_1 = __importDefault(require("./packetreader"));
|
|
34
|
+
const rollingcounter_1 = __importDefault(require("./rollingcounter"));
|
|
35
|
+
const packet_1 = __importDefault(require("./packet"));
|
|
36
|
+
const auth_1 = __importDefault(require("../auth"));
|
|
37
|
+
const servicemap_1 = __importDefault(require("./servicemap"));
|
|
38
|
+
const service_1 = __importDefault(require("./service"));
|
|
39
|
+
const debug = (0, debug_1.default)('adb:tcpusb:socket');
|
|
40
|
+
const UINT32_MAX = 0xffffffff;
|
|
41
|
+
const UINT16_MAX = 0xffff;
|
|
42
|
+
const AUTH_TOKEN = 1;
|
|
43
|
+
const AUTH_SIGNATURE = 2;
|
|
44
|
+
const AUTH_RSAPUBLICKEY = 3;
|
|
45
|
+
const TOKEN_LENGTH = 20;
|
|
46
|
+
class AuthError extends Error {
|
|
47
|
+
constructor(message) {
|
|
48
|
+
super(message);
|
|
49
|
+
Object.setPrototypeOf(this, AuthError.prototype);
|
|
50
|
+
this.name = 'AuthError';
|
|
51
|
+
Error.captureStackTrace(this, Socket.AuthError);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class UnauthorizedError extends Error {
|
|
55
|
+
constructor() {
|
|
56
|
+
super('Unauthorized access');
|
|
57
|
+
Object.setPrototypeOf(this, UnauthorizedError.prototype);
|
|
58
|
+
this.name = 'UnauthorizedError';
|
|
59
|
+
Error.captureStackTrace(this, Socket.UnauthorizedError);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
class Socket extends events_1.EventEmitter {
|
|
63
|
+
constructor(client, serial, socket, options = {}) {
|
|
64
|
+
super();
|
|
65
|
+
this.client = client;
|
|
66
|
+
this.serial = serial;
|
|
67
|
+
this.socket = socket;
|
|
68
|
+
this.options = options;
|
|
69
|
+
this.ended = false;
|
|
70
|
+
this.authorized = false;
|
|
71
|
+
this.syncToken = new rollingcounter_1.default(UINT32_MAX);
|
|
72
|
+
this.remoteId = new rollingcounter_1.default(UINT32_MAX);
|
|
73
|
+
this.services = new servicemap_1.default();
|
|
74
|
+
this.version = 1;
|
|
75
|
+
this.maxPayload = 4096;
|
|
76
|
+
let base;
|
|
77
|
+
(base = this.options).auth || (base.auth = () => bluebird_1.default.resolve(true));
|
|
78
|
+
this.socket.setNoDelay(true);
|
|
79
|
+
this.reader = new packetreader_1.default(this.socket)
|
|
80
|
+
.on('packet', this._handle.bind(this))
|
|
81
|
+
.on('error', (err) => {
|
|
82
|
+
debug(`PacketReader error: ${err.message}`);
|
|
83
|
+
return this.end();
|
|
84
|
+
})
|
|
85
|
+
.on('end', this.end.bind(this));
|
|
86
|
+
this.remoteAddress = this.socket.remoteAddress;
|
|
87
|
+
this.token = undefined;
|
|
88
|
+
this.signature = undefined;
|
|
89
|
+
}
|
|
90
|
+
end() {
|
|
91
|
+
if (this.ended) {
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
// End services first so that they can send a final payload before FIN.
|
|
95
|
+
this.services.end();
|
|
96
|
+
this.socket.end();
|
|
97
|
+
this.ended = true;
|
|
98
|
+
this.emit('end');
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
_error(err) {
|
|
102
|
+
this.emit('error', err);
|
|
103
|
+
return this.end();
|
|
104
|
+
}
|
|
105
|
+
_handle(packet) {
|
|
106
|
+
if (this.ended) {
|
|
107
|
+
return bluebird_1.default.resolve(false);
|
|
108
|
+
}
|
|
109
|
+
this.emit('userActivity', packet);
|
|
110
|
+
return bluebird_1.default.try(() => {
|
|
111
|
+
switch (packet.command) {
|
|
112
|
+
case packet_1.default.A_SYNC:
|
|
113
|
+
return bluebird_1.default.resolve(this._handleSyncPacket());
|
|
114
|
+
case packet_1.default.A_CNXN:
|
|
115
|
+
return this._handleConnectionPacket(packet);
|
|
116
|
+
case packet_1.default.A_OPEN:
|
|
117
|
+
return this._handleOpenPacket(packet).then((r) => !!r);
|
|
118
|
+
case packet_1.default.A_OKAY:
|
|
119
|
+
case packet_1.default.A_WRTE:
|
|
120
|
+
case packet_1.default.A_CLSE:
|
|
121
|
+
return this._forwardServicePacket(packet).then((r) => !!r);
|
|
122
|
+
case packet_1.default.A_AUTH:
|
|
123
|
+
return this._handleAuthPacket(packet);
|
|
124
|
+
default:
|
|
125
|
+
throw new Error(`Unknown command ${packet.command}`);
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
.catch(Socket.AuthError, () => {
|
|
129
|
+
this.end();
|
|
130
|
+
return false;
|
|
131
|
+
})
|
|
132
|
+
.catch(Socket.UnauthorizedError, () => {
|
|
133
|
+
this.end();
|
|
134
|
+
return false;
|
|
135
|
+
})
|
|
136
|
+
.catch((err) => {
|
|
137
|
+
this._error(err);
|
|
138
|
+
return false;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
_handleSyncPacket() {
|
|
142
|
+
// No need to do anything?
|
|
143
|
+
debug('I:A_SYNC');
|
|
144
|
+
debug('O:A_SYNC');
|
|
145
|
+
return this.write(packet_1.default.assemble(packet_1.default.A_SYNC, 1, this.syncToken.next()));
|
|
146
|
+
}
|
|
147
|
+
_handleConnectionPacket(packet) {
|
|
148
|
+
debug('I:A_CNXN', packet);
|
|
149
|
+
this.version = packet_1.default.swap32(packet.arg0);
|
|
150
|
+
this.maxPayload = Math.min(UINT16_MAX, packet.arg1);
|
|
151
|
+
return this._createToken().then((token) => {
|
|
152
|
+
this.token = token;
|
|
153
|
+
debug(`Created challenge '${this.token.toString('base64')}'`);
|
|
154
|
+
debug('O:A_AUTH');
|
|
155
|
+
return this.write(packet_1.default.assemble(packet_1.default.A_AUTH, AUTH_TOKEN, 0, this.token));
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
_handleAuthPacket(packet) {
|
|
159
|
+
debug('I:A_AUTH', packet);
|
|
160
|
+
switch (packet.arg0) {
|
|
161
|
+
case AUTH_SIGNATURE:
|
|
162
|
+
// Store first signature, ignore the rest
|
|
163
|
+
if (packet.data)
|
|
164
|
+
debug(`Received signature '${packet.data.toString('base64')}'`);
|
|
165
|
+
if (!this.signature) {
|
|
166
|
+
this.signature = packet.data;
|
|
167
|
+
}
|
|
168
|
+
debug('O:A_AUTH');
|
|
169
|
+
const b = this.write(packet_1.default.assemble(packet_1.default.A_AUTH, AUTH_TOKEN, 0, this.token));
|
|
170
|
+
return bluebird_1.default.resolve(b);
|
|
171
|
+
case AUTH_RSAPUBLICKEY:
|
|
172
|
+
if (!this.signature) {
|
|
173
|
+
throw new Socket.AuthError('Public key sent before signature');
|
|
174
|
+
}
|
|
175
|
+
if (!packet.data || packet.data.length < 2) {
|
|
176
|
+
throw new Socket.AuthError('Empty RSA public key');
|
|
177
|
+
}
|
|
178
|
+
debug(`Received RSA public key '${packet.data.toString('base64')}'`);
|
|
179
|
+
return auth_1.default.parsePublicKey(this._skipNull(packet.data).toString())
|
|
180
|
+
.then((key) => {
|
|
181
|
+
const digest = this.token.toString('binary');
|
|
182
|
+
const sig = this.signature.toString('binary');
|
|
183
|
+
if (!key.verify(digest, sig)) {
|
|
184
|
+
debug('Signature mismatch');
|
|
185
|
+
throw new Socket.AuthError('Signature mismatch');
|
|
186
|
+
}
|
|
187
|
+
debug('Signature verified');
|
|
188
|
+
return key;
|
|
189
|
+
})
|
|
190
|
+
.then((key) => {
|
|
191
|
+
if (!this.options.auth)
|
|
192
|
+
return;
|
|
193
|
+
return this.options.auth(key).catch(() => {
|
|
194
|
+
debug('Connection rejected by user-defined auth handler');
|
|
195
|
+
throw new Socket.AuthError('Rejected by user-defined handler');
|
|
196
|
+
});
|
|
197
|
+
})
|
|
198
|
+
.then(() => {
|
|
199
|
+
return this._deviceId();
|
|
200
|
+
})
|
|
201
|
+
.then((id) => {
|
|
202
|
+
this.authorized = true;
|
|
203
|
+
debug('O:A_CNXN');
|
|
204
|
+
return this.write(packet_1.default.assemble(packet_1.default.A_CNXN, packet_1.default.swap32(this.version), this.maxPayload, id));
|
|
205
|
+
});
|
|
206
|
+
default:
|
|
207
|
+
throw new Error(`Unknown authentication method ${packet.arg0}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
_handleOpenPacket(packet) {
|
|
211
|
+
if (!this.authorized) {
|
|
212
|
+
throw new Socket.UnauthorizedError();
|
|
213
|
+
}
|
|
214
|
+
const remoteId = packet.arg0;
|
|
215
|
+
const localId = this.remoteId.next();
|
|
216
|
+
if (!(packet.data && packet.data.length >= 2)) {
|
|
217
|
+
throw new Error('Empty service name');
|
|
218
|
+
}
|
|
219
|
+
const name = this._skipNull(packet.data);
|
|
220
|
+
debug(`Calling ${name}`);
|
|
221
|
+
const service = new service_1.default(this.client, this.serial, localId, remoteId, this);
|
|
222
|
+
return new bluebird_1.default((resolve, reject) => {
|
|
223
|
+
service.on('error', reject);
|
|
224
|
+
service.on('end', resolve);
|
|
225
|
+
this.services.insert(localId, service);
|
|
226
|
+
debug(`Handling ${this.services.count} services simultaneously`);
|
|
227
|
+
return service.handle(packet);
|
|
228
|
+
})
|
|
229
|
+
.catch(() => true)
|
|
230
|
+
.finally(() => {
|
|
231
|
+
this.services.remove(localId);
|
|
232
|
+
debug(`Handling ${this.services.count} services simultaneously`);
|
|
233
|
+
return service.end();
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
_forwardServicePacket(packet) {
|
|
237
|
+
if (!this.authorized) {
|
|
238
|
+
throw new Socket.UnauthorizedError();
|
|
239
|
+
}
|
|
240
|
+
const localId = packet.arg1;
|
|
241
|
+
const service = this.services.get(localId);
|
|
242
|
+
if (service) {
|
|
243
|
+
return service.handle(packet);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
debug('Received a packet to a service that may have been closed already');
|
|
247
|
+
return Promise.resolve(false);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
write(chunk) {
|
|
251
|
+
if (this.ended) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
return this.socket.write(chunk);
|
|
255
|
+
}
|
|
256
|
+
_createToken() {
|
|
257
|
+
return bluebird_1.default.promisify(crypto.randomBytes)(TOKEN_LENGTH);
|
|
258
|
+
}
|
|
259
|
+
_skipNull(data) {
|
|
260
|
+
return data.slice(0, -1); // Discard null byte at end
|
|
261
|
+
}
|
|
262
|
+
_deviceId() {
|
|
263
|
+
debug('Loading device properties to form a standard device ID');
|
|
264
|
+
return this.client
|
|
265
|
+
.getDevice(this.serial)
|
|
266
|
+
.getProperties()
|
|
267
|
+
.then(function (properties) {
|
|
268
|
+
const id = (function () {
|
|
269
|
+
const ref = ['ro.product.name', 'ro.product.model', 'ro.product.device'];
|
|
270
|
+
const results = [];
|
|
271
|
+
for (let i = 0, len = ref.length; i < len; i++) {
|
|
272
|
+
const prop = ref[i];
|
|
273
|
+
results.push(`${prop}=${properties[prop]};`);
|
|
274
|
+
}
|
|
275
|
+
return results;
|
|
276
|
+
})().join('');
|
|
277
|
+
return Buffer.from(`device::${id}\x00`);
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
exports.default = Socket;
|
|
282
|
+
Socket.AuthError = AuthError;
|
|
283
|
+
Socket.UnauthorizedError = UnauthorizedError;
|
|
284
|
+
//# sourceMappingURL=socket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../src/adb/tcpusb/socket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import Bluebird from 'bluebird';
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
4
|
+
import Device from '../Device';
|
|
5
|
+
import HostDevicesCommand from './command/host/devices';
|
|
6
|
+
import HostDevicesWithPathsCommand from './command/host/deviceswithpaths';
|
|
7
|
+
export default class Tracker extends EventEmitter {
|
|
8
|
+
private readonly command;
|
|
9
|
+
private deviceList;
|
|
10
|
+
private deviceMap;
|
|
11
|
+
private reader;
|
|
12
|
+
constructor(command: HostDevicesCommand | HostDevicesWithPathsCommand);
|
|
13
|
+
read(): Bluebird<Device[]>;
|
|
14
|
+
update(newList: Device[]): Tracker;
|
|
15
|
+
end(): Tracker;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/adb/tracker.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,2BAA2B,MAAM,iCAAiC,CAAC;AAG1E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAAY;IAKnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,MAAM,CAA+B;gBAEhB,OAAO,EAAE,kBAAkB,GAAG,2BAA2B;IAa/E,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;IAO1B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;IAmClC,GAAG,IAAI,OAAO;CAItB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const bluebird_1 = __importDefault(require("bluebird"));
|
|
7
|
+
const parser_1 = __importDefault(require("./parser"));
|
|
8
|
+
const events_1 = require("events");
|
|
9
|
+
class Tracker extends events_1.EventEmitter {
|
|
10
|
+
constructor(command) {
|
|
11
|
+
super();
|
|
12
|
+
this.command = command;
|
|
13
|
+
this.deviceList = [];
|
|
14
|
+
this.deviceMap = {};
|
|
15
|
+
this.reader = this.read()
|
|
16
|
+
.catch(bluebird_1.default.CancellationError, () => true)
|
|
17
|
+
.catch(parser_1.default.PrematureEOFError, () => {
|
|
18
|
+
throw new Error('Connection closed');
|
|
19
|
+
})
|
|
20
|
+
.catch((err) => this.emit('error', err))
|
|
21
|
+
.finally(() => {
|
|
22
|
+
this.command.parser.end().then(() => this.emit('end'));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
read() {
|
|
26
|
+
return this.command._readDevices().then((list) => {
|
|
27
|
+
this.update(list);
|
|
28
|
+
return this.read();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
update(newList) {
|
|
32
|
+
const changeSet = {
|
|
33
|
+
removed: [],
|
|
34
|
+
changed: [],
|
|
35
|
+
added: [],
|
|
36
|
+
};
|
|
37
|
+
const newMap = {};
|
|
38
|
+
for (let i = 0, len = newList.length; i < len; i++) {
|
|
39
|
+
const device = newList[i];
|
|
40
|
+
const oldDevice = this.deviceMap[device.id];
|
|
41
|
+
if (oldDevice) {
|
|
42
|
+
if (oldDevice.type !== device.type) {
|
|
43
|
+
changeSet.changed.push(device);
|
|
44
|
+
this.emit('change', device, oldDevice);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
changeSet.added.push(device);
|
|
49
|
+
this.emit('add', device);
|
|
50
|
+
}
|
|
51
|
+
newMap[device.id] = device;
|
|
52
|
+
}
|
|
53
|
+
const ref = this.deviceList;
|
|
54
|
+
for (let i = 0, len = ref.length; i < len; i++) {
|
|
55
|
+
const device = ref[i];
|
|
56
|
+
if (!newMap[device.id]) {
|
|
57
|
+
changeSet.removed.push(device);
|
|
58
|
+
this.emit('remove', device);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
this.emit('changeSet', changeSet);
|
|
62
|
+
this.deviceList = newList;
|
|
63
|
+
this.deviceMap = newMap;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
end() {
|
|
67
|
+
this.reader.cancel();
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.default = Tracker;
|
|
72
|
+
//# sourceMappingURL=tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../src/adb/tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Callback } from '../Callback';
|
|
3
|
+
import ExtendedPublicKey from '../ExtendedPublicKey';
|
|
4
|
+
import Bluebird from 'bluebird';
|
|
5
|
+
import { Duplex } from 'stream';
|
|
6
|
+
export default class Util {
|
|
7
|
+
static readAll(stream: Duplex, callback?: Callback<Buffer>): Bluebird<Buffer>;
|
|
8
|
+
static parsePublicKey(keyString: string, callback?: Callback<ExtendedPublicKey>): Bluebird<ExtendedPublicKey>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/adb/util.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,IAAI;WACT,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;WAItE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;CAGrH"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const parser_1 = __importDefault(require("./parser"));
|
|
7
|
+
const auth_1 = __importDefault(require("./auth"));
|
|
8
|
+
class Util {
|
|
9
|
+
static readAll(stream, callback) {
|
|
10
|
+
return new parser_1.default(stream).readAll().nodeify(callback);
|
|
11
|
+
}
|
|
12
|
+
static parsePublicKey(keyString, callback) {
|
|
13
|
+
return auth_1.default.parsePublicKey(keyString).nodeify(callback);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.default = Util;
|
|
17
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/adb/util.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,kDAA0B;AAM1B,MAAqB,IAAI;IAChB,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,QAA2B;QAC/D,OAAO,IAAI,gBAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAsC;QACpF,OAAO,cAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;CACF;AARD,uBAQC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Client from './adb/client';
|
|
2
|
+
import util from './adb/util';
|
|
3
|
+
interface Options {
|
|
4
|
+
host?: string;
|
|
5
|
+
port?: number;
|
|
6
|
+
bin?: string;
|
|
7
|
+
}
|
|
8
|
+
export default class Adb {
|
|
9
|
+
static util: typeof util;
|
|
10
|
+
static createClient(options?: Options): Client;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=adb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../../src/adb.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,OAAO,GAAG;IAEtB,MAAM,CAAC,IAAI,cAAQ;WAEL,YAAY,CAAC,OAAO,GAAE,OAAY,GAAG,MAAM;CAc1D"}
|
package/dist/src/adb.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const client_1 = __importDefault(require("./adb/client"));
|
|
7
|
+
// import { Keycode } from './adb/keycode';
|
|
8
|
+
const util_1 = __importDefault(require("./adb/util"));
|
|
9
|
+
class Adb {
|
|
10
|
+
static createClient(options = {}) {
|
|
11
|
+
const opts = {
|
|
12
|
+
bin: options.bin,
|
|
13
|
+
host: options.host || process.env.ADB_HOST,
|
|
14
|
+
port: options.port || 5037,
|
|
15
|
+
};
|
|
16
|
+
if (!opts.port) {
|
|
17
|
+
const port = parseInt(process.env.ADB_PORT || '5037', 10);
|
|
18
|
+
if (!isNaN(port)) {
|
|
19
|
+
opts.port = port;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return new client_1.default(opts);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = Adb;
|
|
26
|
+
// static Keycode = Keycode;
|
|
27
|
+
Adb.util = util_1.default;
|
|
28
|
+
//# sourceMappingURL=adb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../../src/adb.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAClC,2CAA2C;AAC3C,sDAA8B;AAS9B,MAAqB,GAAG;IAIf,MAAM,CAAC,YAAY,CAAC,UAAmB,EAAE;QAC9C,MAAM,IAAI,GAAkB;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;YAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;SAC3B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAClB;SACF;QACD,OAAO,IAAI,gBAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AAjBH,sBAkBC;AAjBC,4BAA4B;AACrB,QAAI,GAAG,cAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":""}
|