@yume-chan/adb 0.0.16 → 0.0.17
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/CHANGELOG.json +12 -0
- package/CHANGELOG.md +8 -1
- package/esm/adb.d.ts +8 -3
- package/esm/adb.d.ts.map +1 -1
- package/esm/adb.js +11 -6
- package/esm/adb.js.map +1 -1
- package/esm/auth.d.ts.map +1 -1
- package/esm/auth.js.map +1 -1
- package/esm/backend.d.ts +2 -2
- package/esm/backend.d.ts.map +1 -1
- package/esm/commands/base.d.ts.map +1 -1
- package/esm/commands/base.js.map +1 -1
- package/esm/commands/framebuffer.d.ts +17 -1
- package/esm/commands/framebuffer.d.ts.map +1 -1
- package/esm/commands/framebuffer.js +4 -15
- package/esm/commands/framebuffer.js.map +1 -1
- package/esm/commands/install.d.ts +2 -2
- package/esm/commands/install.d.ts.map +1 -1
- package/esm/commands/install.js +3 -2
- package/esm/commands/install.js.map +1 -1
- package/esm/commands/power.d.ts +1 -1
- package/esm/commands/power.js +1 -1
- package/esm/commands/reverse.d.ts +3 -3
- package/esm/commands/reverse.d.ts.map +1 -1
- package/esm/commands/reverse.js +9 -9
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/subprocess/command.d.ts +52 -0
- package/esm/commands/subprocess/command.d.ts.map +1 -0
- package/esm/commands/subprocess/command.js +83 -0
- package/esm/commands/subprocess/command.js.map +1 -0
- package/esm/commands/subprocess/index.d.ts +1 -53
- package/esm/commands/subprocess/index.d.ts.map +1 -1
- package/esm/commands/subprocess/index.js +1 -85
- package/esm/commands/subprocess/index.js.map +1 -1
- package/esm/commands/subprocess/protocols/none.d.ts +4 -4
- package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/none.js +5 -3
- package/esm/commands/subprocess/protocols/none.js.map +1 -1
- package/esm/commands/subprocess/protocols/shell.d.ts +4 -4
- package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/shell.js +6 -6
- package/esm/commands/subprocess/protocols/shell.js.map +1 -1
- package/esm/commands/subprocess/protocols/types.d.ts +7 -7
- package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
- package/esm/commands/sync/index.d.ts +1 -1
- package/esm/commands/sync/index.d.ts.map +1 -1
- package/esm/commands/sync/index.js +1 -1
- package/esm/commands/sync/index.js.map +1 -1
- package/esm/commands/sync/list.d.ts +2 -2
- package/esm/commands/sync/list.d.ts.map +1 -1
- package/esm/commands/sync/list.js +15 -43
- package/esm/commands/sync/list.js.map +1 -1
- package/esm/commands/sync/pull.d.ts +3 -2
- package/esm/commands/sync/pull.d.ts.map +1 -1
- package/esm/commands/sync/pull.js +15 -17
- package/esm/commands/sync/pull.js.map +1 -1
- package/esm/commands/sync/push.d.ts +2 -2
- package/esm/commands/sync/push.d.ts.map +1 -1
- package/esm/commands/sync/push.js +2 -5
- package/esm/commands/sync/push.js.map +1 -1
- package/esm/commands/sync/request.d.ts +1 -1
- package/esm/commands/sync/request.d.ts.map +1 -1
- package/esm/commands/sync/request.js +1 -1
- package/esm/commands/sync/request.js.map +1 -1
- package/esm/commands/sync/response.d.ts +4 -9
- package/esm/commands/sync/response.d.ts.map +1 -1
- package/esm/commands/sync/response.js +32 -23
- package/esm/commands/sync/response.js.map +1 -1
- package/esm/commands/sync/stat.d.ts +3 -3
- package/esm/commands/sync/stat.d.ts.map +1 -1
- package/esm/commands/sync/stat.js +13 -30
- package/esm/commands/sync/stat.js.map +1 -1
- package/esm/commands/sync/sync.d.ts +2 -2
- package/esm/commands/sync/sync.d.ts.map +1 -1
- package/esm/commands/sync/sync.js +7 -5
- package/esm/commands/sync/sync.js.map +1 -1
- package/esm/crypto.js +1 -1
- package/esm/crypto.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +1 -1
- package/esm/packet.d.ts +1 -1
- package/esm/packet.d.ts.map +1 -1
- package/esm/packet.js +1 -1
- package/esm/packet.js.map +1 -1
- package/esm/socket/dispatcher.d.ts +8 -3
- package/esm/socket/dispatcher.d.ts.map +1 -1
- package/esm/socket/dispatcher.js +9 -4
- package/esm/socket/dispatcher.js.map +1 -1
- package/esm/socket/index.d.ts +1 -1
- package/esm/socket/index.d.ts.map +1 -1
- package/esm/socket/index.js +1 -1
- package/esm/socket/index.js.map +1 -1
- package/esm/socket/socket.d.ts +3 -3
- package/esm/socket/socket.d.ts.map +1 -1
- package/esm/socket/socket.js +3 -3
- package/esm/socket/socket.js.map +1 -1
- package/esm/utils/base64.d.ts +23 -0
- package/esm/utils/base64.d.ts.map +1 -1
- package/esm/utils/base64.js +6 -0
- package/esm/utils/base64.js.map +1 -1
- package/package.json +13 -14
- package/src/adb.ts +12 -7
- package/src/auth.ts +1 -0
- package/src/backend.ts +3 -2
- package/src/commands/base.ts +1 -0
- package/src/commands/framebuffer.ts +21 -16
- package/src/commands/install.ts +6 -4
- package/src/commands/power.ts +1 -1
- package/src/commands/reverse.ts +11 -10
- package/src/commands/subprocess/command.ts +131 -0
- package/src/commands/subprocess/index.ts +1 -137
- package/src/commands/subprocess/protocols/none.ts +9 -6
- package/src/commands/subprocess/protocols/shell.ts +11 -10
- package/src/commands/subprocess/protocols/types.ts +8 -7
- package/src/commands/sync/index.ts +1 -1
- package/src/commands/sync/list.ts +18 -50
- package/src/commands/sync/pull.ts +17 -18
- package/src/commands/sync/push.ts +4 -7
- package/src/commands/sync/request.ts +3 -2
- package/src/commands/sync/response.ts +43 -39
- package/src/commands/sync/stat.ts +17 -39
- package/src/commands/sync/sync.ts +13 -12
- package/src/crypto.ts +1 -1
- package/src/features.ts +1 -1
- package/src/index.ts +0 -1
- package/src/packet.ts +1 -1
- package/src/socket/dispatcher.ts +9 -4
- package/src/socket/index.ts +1 -1
- package/src/socket/socket.ts +5 -4
- package/src/utils/base64.ts +23 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/stream/buffered.d.ts +0 -39
- package/esm/stream/buffered.d.ts.map +0 -1
- package/esm/stream/buffered.js +0 -143
- package/esm/stream/buffered.js.map +0 -1
- package/esm/stream/detect.d.ts +0 -2
- package/esm/stream/detect.d.ts.map +0 -1
- package/esm/stream/detect.js +0 -6
- package/esm/stream/detect.js.map +0 -1
- package/esm/stream/detect.native.d.ts +0 -240
- package/esm/stream/detect.native.d.ts.map +0 -1
- package/esm/stream/detect.native.js +0 -60
- package/esm/stream/detect.native.js.map +0 -1
- package/esm/stream/detect.polyfill.d.ts +0 -18
- package/esm/stream/detect.polyfill.d.ts.map +0 -1
- package/esm/stream/detect.polyfill.js +0 -4
- package/esm/stream/detect.polyfill.js.map +0 -1
- package/esm/stream/index.d.ts +0 -4
- package/esm/stream/index.d.ts.map +0 -1
- package/esm/stream/index.js +0 -4
- package/esm/stream/index.js.map +0 -1
- package/esm/stream/transform.d.ts +0 -124
- package/esm/stream/transform.d.ts.map +0 -1
- package/esm/stream/transform.js +0 -379
- package/esm/stream/transform.js.map +0 -1
- package/src/stream/buffered.ts +0 -168
- package/src/stream/detect.native.ts +0 -362
- package/src/stream/detect.polyfill.ts +0 -22
- package/src/stream/detect.ts +0 -7
- package/src/stream/index.ts +0 -3
- package/src/stream/transform.ts +0 -474
- package/tsconfig.test.json +0 -9
- package/web-streams-polyfill-4.0.0-beta.2.tgz +0 -0
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yume-chan/adb",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.0.17",
|
|
6
|
+
"tag": "@yume-chan/adb_v0.0.17",
|
|
7
|
+
"date": "Tue, 18 Oct 2022 09:32:30 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"none": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "Move stream utils to separate package"
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
},
|
|
4
16
|
{
|
|
5
17
|
"version": "0.0.16",
|
|
6
18
|
"tag": "@yume-chan/adb_v0.0.16",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Change Log - @yume-chan/adb
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 18 Oct 2022 09:32:30 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 0.0.17
|
|
6
|
+
Tue, 18 Oct 2022 09:32:30 GMT
|
|
7
|
+
|
|
8
|
+
### Updates
|
|
9
|
+
|
|
10
|
+
- Move stream utils to separate package
|
|
4
11
|
|
|
5
12
|
## 0.0.16
|
|
6
13
|
Sat, 28 May 2022 03:56:37 GMT
|
package/esm/adb.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { WritableStream, type ReadableWritablePair } from '@yume-chan/stream-extra';
|
|
1
2
|
import { type AdbCredentialStore } from './auth.js';
|
|
2
3
|
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, type AdbFrameBuffer } from './commands/index.js';
|
|
3
4
|
import { AdbFeatures } from './features.js';
|
|
4
5
|
import { type AdbPacketData, type AdbPacketInit } from './packet.js';
|
|
5
6
|
import { AdbIncomingSocketHandler, type AdbSocket, type Closeable } from './socket/index.js';
|
|
6
|
-
import { WritableStream, type ReadableWritablePair } from "./stream/index.js";
|
|
7
7
|
export declare enum AdbPropKey {
|
|
8
8
|
Product = "ro.product.name",
|
|
9
9
|
Model = "ro.product.model",
|
|
@@ -29,14 +29,19 @@ export declare class Adb implements Closeable {
|
|
|
29
29
|
private _device;
|
|
30
30
|
get device(): string | undefined;
|
|
31
31
|
private _features;
|
|
32
|
-
get features(): AdbFeatures[]
|
|
32
|
+
get features(): AdbFeatures[];
|
|
33
33
|
readonly subprocess: AdbSubprocess;
|
|
34
34
|
readonly power: AdbPower;
|
|
35
35
|
readonly reverse: AdbReverseCommand;
|
|
36
36
|
readonly tcpip: AdbTcpIpCommand;
|
|
37
37
|
constructor(connection: ReadableWritablePair<AdbPacketData, AdbPacketInit>, version: number, maxPayloadSize: number, banner: string);
|
|
38
38
|
private parseBanner;
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Add a handler for incoming socket.
|
|
41
|
+
* @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
|
|
42
|
+
* @returns A function to remove the handler.
|
|
43
|
+
*/
|
|
44
|
+
onIncomingSocket(handler: AdbIncomingSocketHandler): import("@yume-chan/event").RemoveEventListener;
|
|
40
45
|
createSocket(service: string): Promise<AdbSocket>;
|
|
41
46
|
createSocketAndWait(service: string): Promise<string>;
|
|
42
47
|
getProp(key: string): Promise<string>;
|
package/esm/adb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0D,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAmC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjK,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAiC,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAuB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyD,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE3I,OAAO,EAA0D,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAmC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjK,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAiC,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAuB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGlH,oBAAY,UAAU;IAClB,OAAO,oBAAoB;IAC3B,KAAK,qBAAqB;IAC1B,MAAM,sBAAsB;IAC5B,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,qBAAqB,WAAa,CAAC;AAEhD,qBAAa,GAAI,YAAW,SAAS;IACjC;;;;OAIG;WACiB,YAAY,CAC5B,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,eAAe,EAAE,kBAAkB,EACnC,cAAc,yCAA6B,GAC5C,OAAO,CAAC,GAAG,CAAC;IAsGf,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,IAAW,YAAY,kBAA2C;IAElE,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,IAAW,eAAe,uBAAoC;IAE9D,OAAO,CAAC,QAAQ,CAAqB;IACrC,IAAW,OAAO,uBAA4B;IAE9C,OAAO,CAAC,MAAM,CAAqB;IACnC,IAAW,KAAK,uBAA0B;IAE1C,OAAO,CAAC,OAAO,CAAqB;IACpC,IAAW,MAAM,uBAA2B;IAE5C,OAAO,CAAC,SAAS,CAAqB;IACtC,IAAW,QAAQ,kBAA6B;IAEhD,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,SAAgB,OAAO,EAAE,iBAAiB,CAAC;IAC3C,SAAgB,KAAK,EAAE,eAAe,CAAC;gBAGnC,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;IA+BlB,OAAO,CAAC,WAAW;IAiCnB;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,wBAAwB;IAI5C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASrD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjD,OAAO;IAID,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAInD;;;;;;OAMG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
package/esm/adb.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// cspell: ignore libusb
|
|
2
2
|
import { PromiseResolver } from '@yume-chan/async';
|
|
3
|
+
import { AbortController, DecodeUtf8Stream, GatherStringStream, WritableStream } from '@yume-chan/stream-extra';
|
|
3
4
|
import { AdbAuthenticationProcessor, ADB_DEFAULT_AUTHENTICATORS } from './auth.js';
|
|
4
5
|
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, escapeArg, framebuffer, install } from './commands/index.js';
|
|
5
6
|
import { AdbFeatures } from './features.js';
|
|
6
7
|
import { AdbCommand, calculateChecksum } from './packet.js';
|
|
7
8
|
import { AdbPacketDispatcher } from './socket/index.js';
|
|
8
|
-
import {
|
|
9
|
-
import { decodeUtf8, encodeUtf8 } from "./utils/index.js";
|
|
9
|
+
import { decodeUtf8, encodeUtf8 } from './utils/index.js';
|
|
10
10
|
export var AdbPropKey;
|
|
11
11
|
(function (AdbPropKey) {
|
|
12
12
|
AdbPropKey["Product"] = "ro.product.name";
|
|
@@ -53,6 +53,7 @@ export class Adb {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}), {
|
|
56
|
+
// Don't cancel the source ReadableStream on AbortSignal abort.
|
|
56
57
|
preventCancel: true,
|
|
57
58
|
signal: abortController.signal,
|
|
58
59
|
})
|
|
@@ -119,7 +120,7 @@ export class Adb {
|
|
|
119
120
|
get model() { return this._model; }
|
|
120
121
|
_device;
|
|
121
122
|
get device() { return this._device; }
|
|
122
|
-
_features;
|
|
123
|
+
_features = [];
|
|
123
124
|
get features() { return this._features; }
|
|
124
125
|
subprocess;
|
|
125
126
|
power;
|
|
@@ -149,7 +150,6 @@ export class Adb {
|
|
|
149
150
|
this.tcpip = new AdbTcpIpCommand(this);
|
|
150
151
|
}
|
|
151
152
|
parseBanner(banner) {
|
|
152
|
-
this._features = [];
|
|
153
153
|
const pieces = banner.split('::');
|
|
154
154
|
if (pieces.length > 1) {
|
|
155
155
|
const props = pieces[1];
|
|
@@ -179,8 +179,13 @@ export class Adb {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Add a handler for incoming socket.
|
|
184
|
+
* @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
|
|
185
|
+
* @returns A function to remove the handler.
|
|
186
|
+
*/
|
|
187
|
+
onIncomingSocket(handler) {
|
|
188
|
+
return this.dispatcher.onIncomingSocket(handler);
|
|
184
189
|
}
|
|
185
190
|
async createSocket(service) {
|
|
186
191
|
return this.dispatcher.createSocket(service);
|
package/esm/adb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAA2B,MAAM,WAAW,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AACjK,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAA0C,MAAM,aAAa,CAAC;AACpG,OAAO,EAA4B,mBAAmB,EAAkC,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"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"}
|
package/esm/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7D,oBAAY,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IAE1C;;;;OAIG;IACH,WAAW,IAAI,cAAc,CAAC;CACjC;AAED,oBAAY,WAAW;IACnB,KAAK,IAAI;IACT,SAAS,IAAI;IACb,SAAS,IAAI;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;;;;OAUG;IACH,CACI,eAAe,EAAE,kBAAkB,EACnC,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAC7C,aAAa,CAAC,aAAa,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAmBvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAwCvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,EAGxD,CAAC;AAEF,qBAAa,0BAA2B,YAAW,UAAU;IACzD,SAAgB,cAAc,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,OAAO,CAAC,cAAc,CAAwC;IAE9D,OAAO,CAAC,QAAQ,CAAuD;gBAGnE,cAAc,EAAE,SAAS,gBAAgB,EAAE,EAC3C,eAAe,EAAE,kBAAkB;IAMvC,OAAO,CAAC,cAAc,CAEpB;YAEa,mBAAmB;IAgBrB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAe5D,OAAO;CAGjB"}
|
package/esm/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/esm/backend.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { ReadableWritablePair } from '@yume-chan/stream-extra';
|
|
1
2
|
import type { ValueOrPromise } from '@yume-chan/struct';
|
|
2
|
-
import type { AdbPacketData, AdbPacketInit } from
|
|
3
|
-
import type { ReadableWritablePair } from "./stream/index.js";
|
|
3
|
+
import type { AdbPacketData, AdbPacketInit } from './packet.js';
|
|
4
4
|
export interface AdbBackend {
|
|
5
5
|
readonly serial: string;
|
|
6
6
|
readonly name: string | undefined;
|
package/esm/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,OAAO,IAAI,cAAc,CAAC,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;CACjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,cAAe,SAAQ,cAAc;IAC9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEA,GAAG,EAAE,GAAG;CAI9B"}
|
package/esm/commands/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,OAAO,cAAe,SAAQ,cAAc;IACpC,GAAG,CAAM;IAEnB,YAAmB,GAAQ;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Struct from
|
|
1
|
+
import Struct from '@yume-chan/struct';
|
|
2
2
|
import type { Adb } from '../adb.js';
|
|
3
3
|
export declare const AdbFrameBufferV1: Struct<{
|
|
4
4
|
bpp: number;
|
|
@@ -33,6 +33,22 @@ export declare const AdbFrameBufferV2: Struct<{
|
|
|
33
33
|
data: Uint8Array;
|
|
34
34
|
}, "size", {}, undefined>;
|
|
35
35
|
export declare type AdbFrameBufferV2 = typeof AdbFrameBufferV2['TDeserializeResult'];
|
|
36
|
+
/**
|
|
37
|
+
* ADB uses 8 int32 fields to describe bit depths
|
|
38
|
+
*
|
|
39
|
+
* The only combination I have seen is RGBA8888, which is
|
|
40
|
+
*
|
|
41
|
+
* red_offset: 0
|
|
42
|
+
* red_length: 8
|
|
43
|
+
* blue_offset: 16
|
|
44
|
+
* blue_length: 8
|
|
45
|
+
* green_offset: 8
|
|
46
|
+
* green_length: 8
|
|
47
|
+
* alpha_offset: 24
|
|
48
|
+
* alpha_length: 8
|
|
49
|
+
*
|
|
50
|
+
* But it doesn't mean that other combinations are not possible.
|
|
51
|
+
*/
|
|
36
52
|
export declare type AdbFrameBuffer = AdbFrameBufferV1 | AdbFrameBufferV2;
|
|
37
53
|
export declare function framebuffer(adb: Adb): Promise<AdbFrameBuffer>;
|
|
38
54
|
//# sourceMappingURL=framebuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAMrC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;yBAcuB,CAAC;AAErD,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAE7E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;yBAeuB,CAAC;AAErD,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEjE,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAanE"}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { BufferedReadableStream } from '@yume-chan/stream-extra';
|
|
2
|
+
import Struct from '@yume-chan/struct';
|
|
3
3
|
const Version = new Struct({ littleEndian: true })
|
|
4
4
|
.uint32('version');
|
|
5
|
-
/*
|
|
6
|
-
* ADB uses 8 int32 fields to describe bit depths
|
|
7
|
-
* The only combination I have seen is RGBA8888, which is
|
|
8
|
-
* red_offset: 0
|
|
9
|
-
* red_length: 8
|
|
10
|
-
* blue_offset: 16
|
|
11
|
-
* blue_length: 8
|
|
12
|
-
* green_offset: 8
|
|
13
|
-
* green_length: 8
|
|
14
|
-
* alpha_offset: 24
|
|
15
|
-
* alpha_length: 8
|
|
16
|
-
*/
|
|
17
5
|
export const AdbFrameBufferV1 = new Struct({ littleEndian: true })
|
|
18
6
|
.uint32('bpp')
|
|
19
7
|
.uint32('size')
|
|
@@ -45,10 +33,11 @@ export const AdbFrameBufferV2 = new Struct({ littleEndian: true })
|
|
|
45
33
|
.uint8Array('data', { lengthField: 'size' });
|
|
46
34
|
export async function framebuffer(adb) {
|
|
47
35
|
const socket = await adb.createSocket('framebuffer:');
|
|
48
|
-
const stream = new
|
|
36
|
+
const stream = new BufferedReadableStream(socket.readable);
|
|
49
37
|
const { version } = await Version.deserialize(stream);
|
|
50
38
|
switch (version) {
|
|
51
39
|
case 1:
|
|
40
|
+
// TODO: AdbFrameBuffer: does all v1 responses uses the same color space? Add it so the command returns same format for all versions.
|
|
52
41
|
return AdbFrameBufferV1.deserialize(stream);
|
|
53
42
|
case 2:
|
|
54
43
|
return AdbFrameBufferV2.deserialize(stream);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,MAAM,OAAO,GACT,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,SAAS,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GACzB,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAIrD,MAAM,CAAC,MAAM,gBAAgB,GACzB,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAsBrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAQ;IACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,OAAO,EAAE;QACb,KAAK,CAAC;YACF,qIAAqI;YACrI,OAAO,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,CAAC;YACF,OAAO,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD;YACI,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KACtD;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { WritableStream } from '@yume-chan/stream-extra';
|
|
2
|
+
import type { Adb } from '../adb.js';
|
|
3
3
|
export declare function install(adb: Adb): WritableStream<Uint8Array>;
|
|
4
4
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,wBAAgB,OAAO,CACnB,GAAG,EAAE,GAAG,GACT,cAAc,CAAC,UAAU,CAAC,CAuB5B"}
|
package/esm/commands/install.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { WrapWritableStream } from
|
|
2
|
-
import { escapeArg } from
|
|
1
|
+
import { WrapWritableStream } from '@yume-chan/stream-extra';
|
|
2
|
+
import { escapeArg } from './subprocess/index.js';
|
|
3
3
|
export function install(adb) {
|
|
4
4
|
const filename = `/data/local/tmp/${Math.random().toString().substring(2)}.apk`;
|
|
5
5
|
let sync;
|
|
6
6
|
return new WrapWritableStream({
|
|
7
7
|
async start() {
|
|
8
8
|
// TODO: install: support other install apk methods (streaming, etc.)
|
|
9
|
+
// TODO: install: support split apk formats (`adb install-multiple`)
|
|
9
10
|
// Upload apk file to tmp folder
|
|
10
11
|
sync = await adb.sync();
|
|
11
12
|
return sync.write(filename, undefined, undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,yBAAyB,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,UAAU,OAAO,CACnB,GAAQ;IAER,MAAM,QAAQ,GAAG,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhF,IAAI,IAAc,CAAC;IACnB,OAAO,IAAI,kBAAkB,CAAa;QACtC,KAAK,CAAC,KAAK;YACP,qEAAqE;YACrE,oEAAoE;YAEpE,gCAAgC;YAChC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,KAAK;YACP,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,oCAAoC;YACpC,MAAM,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEhF,uBAAuB;YACvB,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/esm/commands/power.d.ts
CHANGED
package/esm/commands/power.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// cspell: ignore fastboot
|
|
3
3
|
// cspell: ignore keyevent
|
|
4
4
|
// cspell: ignore longpress
|
|
5
|
-
import { AdbCommandBase } from
|
|
5
|
+
import { AdbCommandBase } from './base.js';
|
|
6
6
|
export class AdbPower extends AdbCommandBase {
|
|
7
7
|
reboot(name = '') {
|
|
8
8
|
return this.adb.createSocketAndWait(`reboot:${name}`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AutoDisposable } from '@yume-chan/event';
|
|
2
|
-
import type { Adb } from
|
|
2
|
+
import type { Adb } from '../adb.js';
|
|
3
3
|
import type { AdbIncomingSocketHandler, AdbSocket } from '../socket/index.js';
|
|
4
4
|
export interface AdbForwardListener {
|
|
5
5
|
deviceSerial: string;
|
|
@@ -19,8 +19,8 @@ export declare class AdbReverseCommand extends AutoDisposable {
|
|
|
19
19
|
/**
|
|
20
20
|
* @param deviceAddress The address adbd on device is listening on. Can be `tcp:0` to let adbd choose an available TCP port by itself.
|
|
21
21
|
* @param localAddress Native ADB client will open a connection to this address when reverse connection received. In WebADB, it's only used to uniquely identify a reverse tunnel registry, `handler` will be called to handle the connection.
|
|
22
|
-
* @param handler A callback to handle incoming connections
|
|
23
|
-
* @returns If `deviceAddress` is `tcp:0
|
|
22
|
+
* @param handler A callback to handle incoming connections. It must return `true` if it accepts the connection.
|
|
23
|
+
* @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`.
|
|
24
24
|
*/
|
|
25
25
|
add(deviceAddress: string, localAddress: string, handler: AdbIncomingSocketHandler): Promise<string>;
|
|
26
26
|
remove(deviceAddress: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../../src/commands/reverse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../../src/commands/reverse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG9E,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;CACtB;AAcD,qBAAa,iBAAkB,SAAQ,cAAc;IACjD,SAAS,CAAC,qBAAqB,wCAA+C;IAE9E,SAAS,CAAC,2BAA2B,sBAA6B;IAElE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,SAAS,CAAC,SAAS,UAAS;gBAET,GAAG,EAAE,GAAG;IAO3B,SAAS,CAAC,oBAAoB,WAAkB,SAAS,sBAKvD;YAEY,oBAAoB;YAKpB,WAAW;IASZ,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAYlD;;;;;OAKG;IACU,GAAG,CACZ,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,MAAM,CAAC;IAgCL,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ1C"}
|
package/esm/commands/reverse.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// cspell: ignore killforward
|
|
2
2
|
import { AutoDisposable } from '@yume-chan/event';
|
|
3
|
+
import { BufferedReadableStream, BufferedReadableStreamEndedError } from '@yume-chan/stream-extra';
|
|
3
4
|
import Struct from '@yume-chan/struct';
|
|
4
|
-
import {
|
|
5
|
-
import { decodeUtf8 } from "../utils/index.js";
|
|
5
|
+
import { decodeUtf8 } from '../utils/index.js';
|
|
6
6
|
const AdbReverseStringResponse = new Struct()
|
|
7
7
|
.string('length', { length: 4 })
|
|
8
8
|
.string('content', { lengthField: 'length', lengthFieldRadix: 16 });
|
|
@@ -19,7 +19,7 @@ export class AdbReverseCommand extends AutoDisposable {
|
|
|
19
19
|
constructor(adb) {
|
|
20
20
|
super();
|
|
21
21
|
this.adb = adb;
|
|
22
|
-
this.addDisposable(this.adb.
|
|
22
|
+
this.addDisposable(this.adb.onIncomingSocket(this.handleIncomingSocket));
|
|
23
23
|
}
|
|
24
24
|
handleIncomingSocket = async (socket) => {
|
|
25
25
|
let address = socket.serviceString;
|
|
@@ -29,7 +29,7 @@ export class AdbReverseCommand extends AutoDisposable {
|
|
|
29
29
|
};
|
|
30
30
|
async createBufferedStream(service) {
|
|
31
31
|
const socket = await this.adb.createSocket(service);
|
|
32
|
-
return new
|
|
32
|
+
return new BufferedReadableStream(socket.readable);
|
|
33
33
|
}
|
|
34
34
|
async sendRequest(service) {
|
|
35
35
|
const stream = await this.createBufferedStream(service);
|
|
@@ -51,23 +51,23 @@ export class AdbReverseCommand extends AutoDisposable {
|
|
|
51
51
|
/**
|
|
52
52
|
* @param deviceAddress The address adbd on device is listening on. Can be `tcp:0` to let adbd choose an available TCP port by itself.
|
|
53
53
|
* @param localAddress Native ADB client will open a connection to this address when reverse connection received. In WebADB, it's only used to uniquely identify a reverse tunnel registry, `handler` will be called to handle the connection.
|
|
54
|
-
* @param handler A callback to handle incoming connections
|
|
55
|
-
* @returns If `deviceAddress` is `tcp:0
|
|
54
|
+
* @param handler A callback to handle incoming connections. It must return `true` if it accepts the connection.
|
|
55
|
+
* @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`.
|
|
56
56
|
*/
|
|
57
57
|
async add(deviceAddress, localAddress, handler) {
|
|
58
58
|
const stream = await this.sendRequest(`reverse:forward:${deviceAddress};${localAddress}`);
|
|
59
59
|
// `tcp:0` tells the device to pick an available port.
|
|
60
|
-
//
|
|
60
|
+
// On Android >=8, device will respond with the selected port for all `tcp:` requests.
|
|
61
61
|
if (deviceAddress.startsWith('tcp:')) {
|
|
62
62
|
let length;
|
|
63
63
|
try {
|
|
64
64
|
length = Number.parseInt(decodeUtf8(await stream.read(4)), 16);
|
|
65
65
|
}
|
|
66
66
|
catch (e) {
|
|
67
|
-
if (!(e instanceof
|
|
67
|
+
if (!(e instanceof BufferedReadableStreamEndedError)) {
|
|
68
68
|
throw e;
|
|
69
69
|
}
|
|
70
|
-
//
|
|
70
|
+
// Android <8 doesn't have this response.
|
|
71
71
|
// (the stream is closed now)
|
|
72
72
|
// Can be safely ignored.
|
|
73
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../src/commands/reverse.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../src/commands/reverse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AdbCommandBase } from '../base.js';
|
|
2
|
+
import { AdbSubprocessProtocol, AdbSubprocessProtocolConstructor } from './protocols/index.js';
|
|
3
|
+
export interface AdbSubprocessOptions {
|
|
4
|
+
/**
|
|
5
|
+
* A list of `AdbSubprocessProtocolConstructor`s to be used.
|
|
6
|
+
*
|
|
7
|
+
* Different `AdbSubprocessProtocol` has different capabilities, thus requires specific adaptations.
|
|
8
|
+
* Check their documentations for details.
|
|
9
|
+
*
|
|
10
|
+
* The first protocol whose `isSupported` returns `true` will be used.
|
|
11
|
+
* If no `AdbSubprocessProtocol` is supported, an error will be thrown.
|
|
12
|
+
*
|
|
13
|
+
* @default [AdbSubprocessShellProtocol, AdbSubprocessNoneProtocol]
|
|
14
|
+
*/
|
|
15
|
+
protocols: AdbSubprocessProtocolConstructor[];
|
|
16
|
+
}
|
|
17
|
+
export interface AdbSubprocessWaitResult {
|
|
18
|
+
stdout: string;
|
|
19
|
+
stderr: string;
|
|
20
|
+
exitCode: number;
|
|
21
|
+
}
|
|
22
|
+
export declare class AdbSubprocess extends AdbCommandBase {
|
|
23
|
+
private createProtocol;
|
|
24
|
+
/**
|
|
25
|
+
* Spawns an executable in PTY (interactive) mode.
|
|
26
|
+
* @param command The command to run. If omitted, the default shell will be spawned.
|
|
27
|
+
* @param options The options for creating the `AdbSubprocessProtocol`
|
|
28
|
+
* @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
|
|
29
|
+
*/
|
|
30
|
+
shell(command?: string | string[], options?: Partial<AdbSubprocessOptions>): Promise<AdbSubprocessProtocol>;
|
|
31
|
+
/**
|
|
32
|
+
* Spawns an executable and pipe the output.
|
|
33
|
+
* @param command The command to run, or an array of strings containing both command and args.
|
|
34
|
+
* @param options The options for creating the `AdbSubprocessProtocol`
|
|
35
|
+
* @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
|
|
36
|
+
*/
|
|
37
|
+
spawn(command: string | string[], options?: Partial<AdbSubprocessOptions>): Promise<AdbSubprocessProtocol>;
|
|
38
|
+
/**
|
|
39
|
+
* Spawns a new process, waits until it exits, and returns the entire output.
|
|
40
|
+
* @param command The command to run
|
|
41
|
+
* @param options The options for creating the `AdbSubprocessProtocol`
|
|
42
|
+
* @returns The entire output of the command
|
|
43
|
+
*/
|
|
44
|
+
spawnAndWait(command: string | string[], options?: Partial<AdbSubprocessOptions>): Promise<AdbSubprocessWaitResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Spawns a new process, waits until it exits, and returns the entire output.
|
|
47
|
+
* @param command The command to run
|
|
48
|
+
* @returns The entire output of the command
|
|
49
|
+
*/
|
|
50
|
+
spawnAndWaitLegacy(command: string | string[]): Promise<string>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/subprocess/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAA6B,qBAAqB,EAAE,gCAAgC,EAA8B,MAAM,sBAAsB,CAAC;AAEtJ,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;;OAUG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAC;CACjD;AAMD,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAc,SAAQ,cAAc;YAC/B,cAAc;IA6B5B;;;;;OAKG;IACI,KAAK,CACR,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;OAKG;IACI,KAAK,CACR,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;OAKG;IACU,YAAY,CACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,uBAAuB,CAAC;IAuBnC;;;;OAIG;IACU,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAO/E"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { GatherStringStream, DecodeUtf8Stream } from '@yume-chan/stream-extra';
|
|
2
|
+
import { AdbCommandBase } from '../base.js';
|
|
3
|
+
import { AdbSubprocessNoneProtocol, AdbSubprocessShellProtocol } from './protocols/index.js';
|
|
4
|
+
const DEFAULT_OPTIONS = {
|
|
5
|
+
protocols: [AdbSubprocessShellProtocol, AdbSubprocessNoneProtocol],
|
|
6
|
+
};
|
|
7
|
+
export class AdbSubprocess extends AdbCommandBase {
|
|
8
|
+
async createProtocol(mode, command, options) {
|
|
9
|
+
const { protocols } = { ...DEFAULT_OPTIONS, ...options };
|
|
10
|
+
let Constructor;
|
|
11
|
+
for (const item of protocols) {
|
|
12
|
+
// It's async so can't use `Array#find`
|
|
13
|
+
if (await item.isSupported(this.adb)) {
|
|
14
|
+
Constructor = item;
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (!Constructor) {
|
|
19
|
+
throw new Error('No specified protocol is supported by the device');
|
|
20
|
+
}
|
|
21
|
+
if (Array.isArray(command)) {
|
|
22
|
+
command = command.join(' ');
|
|
23
|
+
}
|
|
24
|
+
else if (command === undefined) {
|
|
25
|
+
// spawn the default shell
|
|
26
|
+
command = '';
|
|
27
|
+
}
|
|
28
|
+
return await Constructor[mode](this.adb, command);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Spawns an executable in PTY (interactive) mode.
|
|
32
|
+
* @param command The command to run. If omitted, the default shell will be spawned.
|
|
33
|
+
* @param options The options for creating the `AdbSubprocessProtocol`
|
|
34
|
+
* @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
|
|
35
|
+
*/
|
|
36
|
+
shell(command, options) {
|
|
37
|
+
return this.createProtocol('pty', command, options);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Spawns an executable and pipe the output.
|
|
41
|
+
* @param command The command to run, or an array of strings containing both command and args.
|
|
42
|
+
* @param options The options for creating the `AdbSubprocessProtocol`
|
|
43
|
+
* @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
|
|
44
|
+
*/
|
|
45
|
+
spawn(command, options) {
|
|
46
|
+
return this.createProtocol('raw', command, options);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Spawns a new process, waits until it exits, and returns the entire output.
|
|
50
|
+
* @param command The command to run
|
|
51
|
+
* @param options The options for creating the `AdbSubprocessProtocol`
|
|
52
|
+
* @returns The entire output of the command
|
|
53
|
+
*/
|
|
54
|
+
async spawnAndWait(command, options) {
|
|
55
|
+
const shell = await this.spawn(command, options);
|
|
56
|
+
const stdout = new GatherStringStream();
|
|
57
|
+
const stderr = new GatherStringStream();
|
|
58
|
+
const [, , exitCode] = await Promise.all([
|
|
59
|
+
shell.stdout
|
|
60
|
+
.pipeThrough(new DecodeUtf8Stream())
|
|
61
|
+
.pipeTo(stdout),
|
|
62
|
+
shell.stderr
|
|
63
|
+
.pipeThrough(new DecodeUtf8Stream())
|
|
64
|
+
.pipeTo(stderr),
|
|
65
|
+
shell.exit
|
|
66
|
+
]);
|
|
67
|
+
return {
|
|
68
|
+
stdout: stdout.result,
|
|
69
|
+
stderr: stderr.result,
|
|
70
|
+
exitCode,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Spawns a new process, waits until it exits, and returns the entire output.
|
|
75
|
+
* @param command The command to run
|
|
76
|
+
* @returns The entire output of the command
|
|
77
|
+
*/
|
|
78
|
+
async spawnAndWaitLegacy(command) {
|
|
79
|
+
const { stdout } = await this.spawnAndWait(command, { protocols: [AdbSubprocessNoneProtocol] });
|
|
80
|
+
return stdout;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/subprocess/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAA2D,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAiBtJ,MAAM,eAAe,GAAyB;IAC1C,SAAS,EAAE,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;CACrE,CAAC;AAQF,MAAM,OAAO,aAAc,SAAQ,cAAc;IACrC,KAAK,CAAC,cAAc,CACxB,IAAmB,EACnB,OAA2B,EAC3B,OAAuC;QAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;QAEzD,IAAI,WAAyD,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC1B,uCAAuC;YACvC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClC,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;aACT;SACJ;QAED,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACvE;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/B;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAC9B,0BAA0B;YAC1B,OAAO,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CACR,OAA2B,EAC3B,OAAuC;QAEvC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CACR,OAA0B,EAC1B,OAAuC;QAEvC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CACrB,OAA0B,EAC1B,OAAuC;QAEvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAExC,MAAM,CAAC,EAAE,AAAD,EAAG,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,KAAK,CAAC,MAAM;iBACP,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;iBACnC,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,CAAC,MAAM;iBACP,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;iBACnC,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAA0B;QACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CACtC,OAAO,EACP,EAAE,SAAS,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAC7C,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|