New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@yume-chan/adb-daemon-webusb

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@yume-chan/adb-daemon-webusb

Adb daemon transport connection for `@yume-chan/adb` using WebUSB API.

  • 0.0.21
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
40
decreased by-77.01%
Maintainers
1
Weekly downloads
 
Created
Source

@yume-chan/adb-daemon-webusb

ADB daemon transport device for @yume-chan/adb using WebUSB (MDN, Spec) API.

Use in browser

ChromeEdgeFirefoxInternet ExplorerSafari
611791NoNoNo

1: Chrome for Android is supported, Chrome for iOS is NOT supported.

Use in Node.js

Node.jsusb NPM Package
10.52.8.1

Node.js doesn't have native support for WebUSB API, but the usb NPM package provides a WebUSB compatible API.

To use a custom WebUSB API implementation, pass it to the constructor of AdbDaemonWebUsbDevice, AdbDaemonWebUsbDeviceManager and AdbDaemonWebUsbConnectionWatcher via the usbManager parameter.

AdbDaemonWebUsbDevice

constructor

public constructor(
    device: USBDevice,
    filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER]
    usbManager: USB
);

Create a new instance of AdbDaemonWebUsbDevice using a specified USBDevice instance.

USBDevice and USB types are from WebUSB API.

The filters parameter specifies the classCode, subclassCode and protocolCode to use when searching for ADB interface. The default value is [{ classCode: 0xff, subclassCode: 0x42, protocolCode: 0x1 }], defined by Google.

raw

public get raw(): USBDevice;

Gets the raw USBDevice from the device. Allow sending/receiving USB packets to other interfaces/endpoints. For example can be used with @yume-chan/aoa package.

connect

public async connect(): Promise<
    ReadableWritablePair<AdbPacketData, Consumable<AdbPacketInit>>
>

Claim the device and create a pair of AdbPacket streams to the ADB interface.

AdbDaemonWebUsbDeviceManager

A helper class that wraps the WebUSB API.

BROWSER

public static readonly BROWSER: AdbDaemonWebUsbDeviceManager | undefined;

Gets the instance of AdbDaemonWebUsbDeviceManager using browser WebUSB implementation.

May be undefined if the browser does not support WebUSB.

constructor

public constructor(usbManager: USB);

Create a new instance of AdbDaemonWebUsbDeviceManager using the specified WebUSB API implementation.

requestDevice

public async requestDevice(
    filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER]
): Promise<AdbDaemonWebUsbDevice | undefined>

Request access to a connected device. This is a convince method for usb.requestDevice().

The filters parameter must have classCode, subclassCode and protocolCode fields for selecting the ADB interface. It can also have vendorId, productId or serialNumber fields to limit the displayed device list.

Returns an AdbDaemonWebUsbDevice instance, or undefined if the user cancelled the picker.

getDevices

public async getDevices(
    filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER]
): Promise<AdbDaemonWebUsbDevice[]>

Get all connected and authenticated devices.

This is a convince method for usb.getDevices().

Note on secure context

WebUSB requires a secure context (HTTPS).

localhost is considered secure, so local development works. But to access a self-hosted server running on another machine, either add a certificate, or add the domain name to the allowlist on each client machine:

  1. Open chrome://flags/#unsafely-treat-insecure-origin-as-secure
  2. Add the protocol and domain part of your url (e.g. http://192.168.0.100:9000) to the input box
  3. Choose Enable from the dropdown menu
  4. Restart browser

Keywords

FAQs

Package last updated on 25 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc