lim 0.52.3 → 0.53.0
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/JSON_OUTPUT.md +22 -20
- package/dist/base-command.d.ts +5 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +3 -0
- package/dist/base-command.js.map +1 -1
- package/dist/commands/android/blocklist/add.d.ts +18 -0
- package/dist/commands/android/blocklist/add.d.ts.map +1 -0
- package/dist/commands/android/blocklist/add.js +50 -0
- package/dist/commands/android/blocklist/add.js.map +1 -0
- package/dist/commands/android/blocklist/add.test.d.ts +2 -0
- package/dist/commands/android/blocklist/add.test.d.ts.map +1 -0
- package/dist/commands/android/blocklist/add.test.js +52 -0
- package/dist/commands/android/blocklist/add.test.js.map +1 -0
- package/dist/commands/android/blocklist/clear.d.ts +16 -0
- package/dist/commands/android/blocklist/clear.d.ts.map +1 -0
- package/dist/commands/android/blocklist/clear.js +40 -0
- package/dist/commands/android/blocklist/clear.js.map +1 -0
- package/dist/commands/android/blocklist/list.d.ts +16 -0
- package/dist/commands/android/blocklist/list.d.ts.map +1 -0
- package/dist/commands/android/blocklist/list.js +43 -0
- package/dist/commands/android/blocklist/list.js.map +1 -0
- package/dist/commands/android/blocklist/remove.d.ts +18 -0
- package/dist/commands/android/blocklist/remove.d.ts.map +1 -0
- package/dist/commands/android/blocklist/remove.js +51 -0
- package/dist/commands/android/blocklist/remove.js.map +1 -0
- package/dist/commands/android/create.d.ts +1 -0
- package/dist/commands/android/create.d.ts.map +1 -1
- package/dist/commands/android/create.js +8 -0
- package/dist/commands/android/create.js.map +1 -1
- package/dist/commands/ios/blocklist/add.d.ts +18 -0
- package/dist/commands/ios/blocklist/add.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/add.js +50 -0
- package/dist/commands/ios/blocklist/add.js.map +1 -0
- package/dist/commands/ios/blocklist/add.test.d.ts +2 -0
- package/dist/commands/ios/blocklist/add.test.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/add.test.js +52 -0
- package/dist/commands/ios/blocklist/add.test.js.map +1 -0
- package/dist/commands/ios/blocklist/clear.d.ts +16 -0
- package/dist/commands/ios/blocklist/clear.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/clear.js +40 -0
- package/dist/commands/ios/blocklist/clear.js.map +1 -0
- package/dist/commands/ios/blocklist/list.d.ts +16 -0
- package/dist/commands/ios/blocklist/list.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/list.js +43 -0
- package/dist/commands/ios/blocklist/list.js.map +1 -0
- package/dist/commands/ios/blocklist/remove.d.ts +18 -0
- package/dist/commands/ios/blocklist/remove.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/remove.js +51 -0
- package/dist/commands/ios/blocklist/remove.js.map +1 -0
- package/dist/commands/ios/create.d.ts +1 -0
- package/dist/commands/ios/create.d.ts.map +1 -1
- package/dist/commands/ios/create.js +8 -0
- package/dist/commands/ios/create.js.map +1 -1
- package/dist/commands/xcode/test.d.ts +3 -0
- package/dist/commands/xcode/test.d.ts.map +1 -1
- package/dist/commands/xcode/test.js +113 -15
- package/dist/commands/xcode/test.js.map +1 -1
- package/dist/json-contract.test.js +80 -0
- package/dist/json-contract.test.js.map +1 -1
- package/dist/lib/blocklist.d.ts +5 -0
- package/dist/lib/blocklist.d.ts.map +1 -0
- package/dist/lib/blocklist.js +25 -0
- package/dist/lib/blocklist.js.map +1 -0
- package/dist/lib/blocklist.test.d.ts +2 -0
- package/dist/lib/blocklist.test.d.ts.map +1 -0
- package/dist/lib/blocklist.test.js +15 -0
- package/dist/lib/blocklist.test.js.map +1 -0
- package/dist/xcode-test-rerun.test.d.ts +2 -0
- package/dist/xcode-test-rerun.test.d.ts.map +1 -0
- package/dist/xcode-test-rerun.test.js +26 -0
- package/dist/xcode-test-rerun.test.js.map +1 -0
- package/package.json +10 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/android/blocklist/list.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,kFAAgF;AAEhF,MAAqB,oBAAqB,SAAQ,0BAAW;IAe3D,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,kDAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAlCM,4BAAO,GAAG,wDAAwD,CAAC;AAEnE,6BAAQ,GAAG;IAChB,0CAA0C;IAC1C,oEAAoE;CACrE,CAAC;AAEK,0BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,+EAA+E;KAC7F,CAAC;CACH,CAAC;kBAbiB,oBAAoB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class AndroidBlocklistRemove extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static strict: boolean;
|
|
7
|
+
static flags: {
|
|
8
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/android/blocklist/remove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,MAAM,CAAC,OAAO,SAAmD;IACjE,MAAM,CAAC,WAAW,SAE2D;IAE7E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,MAAM,UAAS;IAEtB,MAAM,CAAC,KAAK;;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const blocklist_1 = require("../../../lib/blocklist");
|
|
6
|
+
const instance_client_factory_1 = require("../../../lib/instance-client-factory");
|
|
7
|
+
class AndroidBlocklistRemove extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const { argv, flags } = await this.parse(AndroidBlocklistRemove);
|
|
10
|
+
this.setParsedFlags(flags);
|
|
11
|
+
const names = argv;
|
|
12
|
+
if (names.length === 0) {
|
|
13
|
+
this.error('Name at least one domain to unblock, or run `blocklist clear` to unblock everything.');
|
|
14
|
+
}
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
const resolvedInstance = this.resolveAndroidInstance(flags.id);
|
|
17
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getAndroidInstanceClient)(this.client, resolvedInstance);
|
|
18
|
+
try {
|
|
19
|
+
const blocked = await client.setBlockedDomains((0, blocklist_1.removeFromBlocklist)(await client.getBlockedDomains(), names));
|
|
20
|
+
if (flags.json) {
|
|
21
|
+
this.outputJson({ ok: true, instanceId: resolvedInstance.id, domains: blocked });
|
|
22
|
+
}
|
|
23
|
+
else if (blocked.length === 0) {
|
|
24
|
+
this.output('The blocklist is empty');
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.output(`Blocklist: ${blocked.join(', ')}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
disconnect();
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
AndroidBlocklistRemove.summary = 'Unblock domains on a running Android instance';
|
|
37
|
+
AndroidBlocklistRemove.description = 'Remove entries from the blocklist exactly as they were added: removing example.com leaves ' +
|
|
38
|
+
'"*.example.com" in place. A name the blocklist does not hold is ignored.';
|
|
39
|
+
AndroidBlocklistRemove.examples = [
|
|
40
|
+
"<%= config.bin %> android blocklist remove facebook.com '*.facebook.com'",
|
|
41
|
+
'<%= config.bin %> android blocklist remove instagram.com --id <instance-ID>',
|
|
42
|
+
];
|
|
43
|
+
AndroidBlocklistRemove.strict = false;
|
|
44
|
+
AndroidBlocklistRemove.flags = {
|
|
45
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
46
|
+
id: core_1.Flags.string({
|
|
47
|
+
description: 'Android instance ID to target. Defaults to the last created Android instance.',
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
exports.default = AndroidBlocklistRemove;
|
|
51
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/android/blocklist/remove.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,sDAA6D;AAC7D,kFAAgF;AAEhF,MAAqB,sBAAuB,SAAQ,0BAAW;IAoB7D,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAgB,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,kDAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC5C,IAAA,+BAAmB,EAAC,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,CAC7D,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA7CM,8BAAO,GAAG,+CAA+C,CAAC;AAC1D,kCAAW,GAChB,4FAA4F;IAC5F,0EAA0E,CAAC;AAEtE,+BAAQ,GAAG;IAChB,0EAA0E;IAC1E,6EAA6E;CAC9E,CAAC;AAEK,6BAAM,GAAG,KAAK,CAAC;AAEf,4BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,+EAA+E;KAC7F,CAAC;CACH,CAAC;kBAlBiB,sBAAsB"}
|
|
@@ -19,6 +19,7 @@ export default class AndroidCreate extends BaseCommand {
|
|
|
19
19
|
'hard-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
20
|
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
21
|
tunnel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
22
|
+
'blocked-domain': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
22
23
|
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
23
24
|
'reuse-if-exists': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
24
25
|
'install-asset': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAG3F,KAAK,YAAY,GAAG,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAE3E,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,YAAY,GACnB,2BAA2B,CAAC,IAAI,CASlC;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAC+J;IAEjL,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAG3F,KAAK,YAAY,GAAG,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAE3E,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,YAAY,GACnB,2BAA2B,CAAC,IAAI,CASlC;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAC+J;IAEjL,MAAM,CAAC,QAAQ,WAWb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0GV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgN3B"}
|
|
@@ -122,6 +122,8 @@ class AndroidCreate extends base_command_1.BaseCommand {
|
|
|
122
122
|
params.spec.inactivityTimeout = flags['inactivity-timeout'];
|
|
123
123
|
if (flags.tunnel)
|
|
124
124
|
params.spec.tunnel = flags.tunnel;
|
|
125
|
+
if (flags['blocked-domain'])
|
|
126
|
+
params.spec.blockedDomains = flags['blocked-domain'];
|
|
125
127
|
const labels = (0, formatting_1.parseLabels)(flags.label);
|
|
126
128
|
if (flags['display-name'] || labels) {
|
|
127
129
|
params.metadata = {};
|
|
@@ -266,6 +268,7 @@ AndroidCreate.examples = [
|
|
|
266
268
|
'<%= config.bin %> android create --os-version 15 --model tablet',
|
|
267
269
|
'<%= config.bin %> android create --jurisdiction us --label env=dev',
|
|
268
270
|
'<%= config.bin %> android create --tunnel staging',
|
|
271
|
+
"<%= config.bin %> android create --blocked-domain facebook.com --blocked-domain '*.facebook.com'",
|
|
269
272
|
'<%= config.bin %> android create --no-connect',
|
|
270
273
|
'<%= config.bin %> android create --daemon=false',
|
|
271
274
|
'<%= config.bin %> android create --record --events --app-logs com.example.myapp --persist-ttl 24h',
|
|
@@ -317,6 +320,11 @@ AndroidCreate.flags = {
|
|
|
317
320
|
description: 'Name of a private tunnel, created in the console (Network) and run with lim tunnel run, that the ' +
|
|
318
321
|
'instance must attach to before it becomes ready.',
|
|
319
322
|
}),
|
|
323
|
+
'blocked-domain': core_1.Flags.string({
|
|
324
|
+
description: 'Domain the emulator cannot resolve, set before the instance becomes ready: an exact name, or a quoted ' +
|
|
325
|
+
'"*." wildcard that covers subdomains but not the name itself. Repeat to block more.',
|
|
326
|
+
multiple: true,
|
|
327
|
+
}),
|
|
320
328
|
label: core_1.Flags.string({
|
|
321
329
|
description: 'Metadata label in key=value format. Repeat to attach multiple labels.',
|
|
322
330
|
multiple: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class IosBlocklistAdd extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static strict: boolean;
|
|
7
|
+
static flags: {
|
|
8
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SAI2B;IAE7C,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,MAAM,UAAS;IAEtB,MAAM,CAAC,KAAK;;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const blocklist_1 = require("../../../lib/blocklist");
|
|
6
|
+
const instance_client_factory_1 = require("../../../lib/instance-client-factory");
|
|
7
|
+
class IosBlocklistAdd extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const { argv, flags } = await this.parse(IosBlocklistAdd);
|
|
10
|
+
this.setParsedFlags(flags);
|
|
11
|
+
const names = argv;
|
|
12
|
+
if (names.length === 0) {
|
|
13
|
+
this.error('Name at least one domain to block.');
|
|
14
|
+
}
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
const resolvedInstance = this.resolveIosInstance(flags.id);
|
|
17
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
18
|
+
try {
|
|
19
|
+
const blocked = await client.setBlockedDomains((0, blocklist_1.addToBlocklist)(await client.getBlockedDomains(), names));
|
|
20
|
+
if (flags.json) {
|
|
21
|
+
this.outputJson({ ok: true, instanceId: resolvedInstance.id, domains: blocked });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.output(`Blocklist: ${blocked.join(', ')}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
disconnect();
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
IosBlocklistAdd.summary = 'Block domains on a running iOS instance';
|
|
34
|
+
IosBlocklistAdd.description = 'A blocked domain does not resolve on the device. Each entry is an exact name, or a *. wildcard that ' +
|
|
35
|
+
'covers every subdomain but not the name itself, so blocking a whole site takes both example.com and ' +
|
|
36
|
+
'"*.example.com". Quote wildcards so the shell does not expand them. Safari and apps that already hold a ' +
|
|
37
|
+
'connection keep it until they reconnect.';
|
|
38
|
+
IosBlocklistAdd.examples = [
|
|
39
|
+
"<%= config.bin %> ios blocklist add facebook.com '*.facebook.com'",
|
|
40
|
+
'<%= config.bin %> ios blocklist add instagram.com --id <instance-ID>',
|
|
41
|
+
];
|
|
42
|
+
IosBlocklistAdd.strict = false;
|
|
43
|
+
IosBlocklistAdd.flags = {
|
|
44
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
45
|
+
id: core_1.Flags.string({
|
|
46
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
exports.default = IosBlocklistAdd;
|
|
50
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/add.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,sDAAwD;AACxD,kFAA4E;AAE5E,MAAqB,eAAgB,SAAQ,0BAAW;IAsBtD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAgB,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC5C,IAAA,0BAAc,EAAC,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,CACxD,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA7CM,uBAAO,GAAG,yCAAyC,CAAC;AACpD,2BAAW,GAChB,sGAAsG;IACtG,sGAAsG;IACtG,0GAA0G;IAC1G,0CAA0C,CAAC;AAEtC,wBAAQ,GAAG;IAChB,mEAAmE;IACnE,sEAAsE;CACvE,CAAC;AAEK,sBAAM,GAAG,KAAK,CAAC;AAEf,qBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,uEAAuE;KACrF,CAAC;CACH,CAAC;kBApBiB,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.test.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/add.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 add_1 = __importDefault(require("./add"));
|
|
7
|
+
const remove_1 = __importDefault(require("./remove"));
|
|
8
|
+
const instance_client_factory_1 = require("../../../lib/instance-client-factory");
|
|
9
|
+
jest.mock('../../../lib/instance-client-factory', () => ({ getIosInstanceClient: jest.fn() }));
|
|
10
|
+
function setup(command, argv, current) {
|
|
11
|
+
const client = {
|
|
12
|
+
getBlockedDomains: jest.fn().mockResolvedValue(current),
|
|
13
|
+
setBlockedDomains: jest.fn().mockImplementation(async (domains) => domains),
|
|
14
|
+
};
|
|
15
|
+
const disconnect = jest.fn();
|
|
16
|
+
jest.mocked(instance_client_factory_1.getIosInstanceClient).mockResolvedValue({ client, disconnect });
|
|
17
|
+
const instance = Object.assign(Object.create(command.prototype), {
|
|
18
|
+
parse: async () => ({ argv, flags: { json: true, id: 'ios_test' } }),
|
|
19
|
+
setParsedFlags: jest.fn(),
|
|
20
|
+
withAuth: async (run) => run(),
|
|
21
|
+
resolveIosInstance: () => ({ id: 'ios_test' }),
|
|
22
|
+
outputJson: jest.fn(),
|
|
23
|
+
error: (message) => {
|
|
24
|
+
throw new Error(message);
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(instance, 'client', { value: {} });
|
|
28
|
+
return { instance, client, disconnect };
|
|
29
|
+
}
|
|
30
|
+
beforeEach(() => jest.clearAllMocks());
|
|
31
|
+
test('add appends to the blocklist the instance holds', async () => {
|
|
32
|
+
const { instance, client, disconnect } = setup(add_1.default, ['*.facebook.com'], ['facebook.com']);
|
|
33
|
+
await instance.run();
|
|
34
|
+
expect(client.setBlockedDomains).toHaveBeenCalledWith(['facebook.com', '*.facebook.com']);
|
|
35
|
+
expect(instance.outputJson).toHaveBeenCalledWith({
|
|
36
|
+
ok: true,
|
|
37
|
+
instanceId: 'ios_test',
|
|
38
|
+
domains: ['facebook.com', '*.facebook.com'],
|
|
39
|
+
});
|
|
40
|
+
expect(disconnect).toHaveBeenCalledTimes(1);
|
|
41
|
+
});
|
|
42
|
+
test('remove drops only the named entries', async () => {
|
|
43
|
+
const { instance, client } = setup(remove_1.default, ['facebook.com'], ['facebook.com', '*.facebook.com']);
|
|
44
|
+
await instance.run();
|
|
45
|
+
expect(client.setBlockedDomains).toHaveBeenCalledWith(['*.facebook.com']);
|
|
46
|
+
});
|
|
47
|
+
test('add refuses an empty request before connecting', async () => {
|
|
48
|
+
const { instance } = setup(add_1.default, [], []);
|
|
49
|
+
await expect(instance.run()).rejects.toThrow('Name at least one domain to block.');
|
|
50
|
+
expect(instance_client_factory_1.getIosInstanceClient).not.toHaveBeenCalled();
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=add.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.test.js","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/add.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAoC;AACpC,sDAA0C;AAC1C,kFAA4E;AAE5E,IAAI,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAE/F,SAAS,KAAK,CACZ,OAA2D,EAC3D,IAAc,EACd,OAAiB;IAEjB,MAAM,MAAM,GAAG;QACb,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC;QACvD,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC;KACtF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,8CAAoB,CAAC,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAW,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/D,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;QACpE,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,KAAK,EAAE,GAAwB,EAAE,EAAE,CAAC,GAAG,EAAE;QACnD,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,KAAK,EAAE,CAAC,OAAe,EAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAEvC,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,aAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACtG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;QAC/C,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAChC,gBAAkB,EAClB,CAAC,cAAc,CAAC,EAChB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACnC,CAAC;IACF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,aAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACnF,MAAM,CAAC,8CAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACtD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class IosBlocklistClear extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=clear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/clear.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,MAAM,CAAC,OAAO,SAAoD;IAElE,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const instance_client_factory_1 = require("../../../lib/instance-client-factory");
|
|
6
|
+
class IosBlocklistClear extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const { flags } = await this.parse(IosBlocklistClear);
|
|
9
|
+
this.setParsedFlags(flags);
|
|
10
|
+
await this.withAuth(async () => {
|
|
11
|
+
const resolvedInstance = this.resolveIosInstance(flags.id);
|
|
12
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
13
|
+
try {
|
|
14
|
+
await client.setBlockedDomains([]);
|
|
15
|
+
if (flags.json) {
|
|
16
|
+
this.outputJson({ ok: true, instanceId: resolvedInstance.id, domains: [] });
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.output('The blocklist is empty');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
disconnect();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
IosBlocklistClear.summary = 'Unblock every domain on a running iOS instance';
|
|
29
|
+
IosBlocklistClear.examples = [
|
|
30
|
+
'<%= config.bin %> ios blocklist clear',
|
|
31
|
+
'<%= config.bin %> ios blocklist clear --id <instance-ID>',
|
|
32
|
+
];
|
|
33
|
+
IosBlocklistClear.flags = {
|
|
34
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
35
|
+
id: core_1.Flags.string({
|
|
36
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
exports.default = IosBlocklistClear;
|
|
40
|
+
//# sourceMappingURL=clear.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/clear.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,kFAA4E;AAE5E,MAAqB,iBAAkB,SAAQ,0BAAW;IAexD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAhCM,yBAAO,GAAG,gDAAgD,CAAC;AAE3D,0BAAQ,GAAG;IAChB,uCAAuC;IACvC,0DAA0D;CAC3D,CAAC;AAEK,uBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,uEAAuE;KACrF,CAAC;CACH,CAAC;kBAbiB,iBAAiB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class IosBlocklistList extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,MAAM,CAAC,OAAO,SAAwD;IAEtE,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB3B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const instance_client_factory_1 = require("../../../lib/instance-client-factory");
|
|
6
|
+
class IosBlocklistList extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const { flags } = await this.parse(IosBlocklistList);
|
|
9
|
+
this.setParsedFlags(flags);
|
|
10
|
+
await this.withAuth(async () => {
|
|
11
|
+
const resolvedInstance = this.resolveIosInstance(flags.id);
|
|
12
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
13
|
+
try {
|
|
14
|
+
const blocked = await client.getBlockedDomains();
|
|
15
|
+
if (flags.json) {
|
|
16
|
+
this.outputJson({ instanceId: resolvedInstance.id, domains: blocked });
|
|
17
|
+
}
|
|
18
|
+
else if (blocked.length === 0) {
|
|
19
|
+
this.output('The blocklist is empty');
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.output(blocked.join('\n'));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
disconnect();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
IosBlocklistList.summary = 'List the domains blocked on a running iOS instance';
|
|
32
|
+
IosBlocklistList.examples = [
|
|
33
|
+
'<%= config.bin %> ios blocklist list',
|
|
34
|
+
'<%= config.bin %> ios blocklist list --id <instance-ID> --json',
|
|
35
|
+
];
|
|
36
|
+
IosBlocklistList.flags = {
|
|
37
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
38
|
+
id: core_1.Flags.string({
|
|
39
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
exports.default = IosBlocklistList;
|
|
43
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/list.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,kFAA4E;AAE5E,MAAqB,gBAAiB,SAAQ,0BAAW;IAevD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAlCM,wBAAO,GAAG,oDAAoD,CAAC;AAE/D,yBAAQ,GAAG;IAChB,sCAAsC;IACtC,gEAAgE;CACjE,CAAC;AAEK,sBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,uEAAuE;KACrF,CAAC;CACH,CAAC;kBAbiB,gBAAgB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class IosBlocklistRemove extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static strict: boolean;
|
|
7
|
+
static flags: {
|
|
8
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/remove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,MAAM,CAAC,OAAO,SAA+C;IAC7D,MAAM,CAAC,WAAW,SAE2D;IAE7E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,MAAM,UAAS;IAEtB,MAAM,CAAC,KAAK;;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const blocklist_1 = require("../../../lib/blocklist");
|
|
6
|
+
const instance_client_factory_1 = require("../../../lib/instance-client-factory");
|
|
7
|
+
class IosBlocklistRemove extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const { argv, flags } = await this.parse(IosBlocklistRemove);
|
|
10
|
+
this.setParsedFlags(flags);
|
|
11
|
+
const names = argv;
|
|
12
|
+
if (names.length === 0) {
|
|
13
|
+
this.error('Name at least one domain to unblock, or run `blocklist clear` to unblock everything.');
|
|
14
|
+
}
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
const resolvedInstance = this.resolveIosInstance(flags.id);
|
|
17
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
18
|
+
try {
|
|
19
|
+
const blocked = await client.setBlockedDomains((0, blocklist_1.removeFromBlocklist)(await client.getBlockedDomains(), names));
|
|
20
|
+
if (flags.json) {
|
|
21
|
+
this.outputJson({ ok: true, instanceId: resolvedInstance.id, domains: blocked });
|
|
22
|
+
}
|
|
23
|
+
else if (blocked.length === 0) {
|
|
24
|
+
this.output('The blocklist is empty');
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.output(`Blocklist: ${blocked.join(', ')}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
disconnect();
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
IosBlocklistRemove.summary = 'Unblock domains on a running iOS instance';
|
|
37
|
+
IosBlocklistRemove.description = 'Remove entries from the blocklist exactly as they were added: removing example.com leaves ' +
|
|
38
|
+
'"*.example.com" in place. A name the blocklist does not hold is ignored.';
|
|
39
|
+
IosBlocklistRemove.examples = [
|
|
40
|
+
"<%= config.bin %> ios blocklist remove facebook.com '*.facebook.com'",
|
|
41
|
+
'<%= config.bin %> ios blocklist remove instagram.com --id <instance-ID>',
|
|
42
|
+
];
|
|
43
|
+
IosBlocklistRemove.strict = false;
|
|
44
|
+
IosBlocklistRemove.flags = {
|
|
45
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
46
|
+
id: core_1.Flags.string({
|
|
47
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
exports.default = IosBlocklistRemove;
|
|
51
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/ios/blocklist/remove.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,sDAA6D;AAC7D,kFAA4E;AAE5E,MAAqB,kBAAmB,SAAQ,0BAAW;IAoBzD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAgB,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC5C,IAAA,+BAAmB,EAAC,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,CAC7D,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA7CM,0BAAO,GAAG,2CAA2C,CAAC;AACtD,8BAAW,GAChB,4FAA4F;IAC5F,0EAA0E,CAAC;AAEtE,2BAAQ,GAAG;IAChB,sEAAsE;IACtE,yEAAyE;CAC1E,CAAC;AAEK,yBAAM,GAAG,KAAK,CAAC;AAEf,wBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,uEAAuE;KACrF,CAAC;CACH,CAAC;kBAlBiB,kBAAkB"}
|
|
@@ -15,6 +15,7 @@ export default class IosCreate extends BaseCommand {
|
|
|
15
15
|
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
16
|
'force-bundle-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
17
|
tunnel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
'blocked-domain': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
19
|
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
20
|
model: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
21
|
'os-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAajD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,WAAW,SAC4K;IAE9L,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAajD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,WAAW,SAC4K;IAE9L,MAAM,CAAC,QAAQ,WAcb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkHV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2R3B"}
|
|
@@ -111,6 +111,8 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
111
111
|
params.spec.forceBundleId = flags['force-bundle-id'];
|
|
112
112
|
if (flags.tunnel)
|
|
113
113
|
params.spec.tunnel = flags.tunnel;
|
|
114
|
+
if (flags['blocked-domain'])
|
|
115
|
+
params.spec.blockedDomains = flags['blocked-domain'];
|
|
114
116
|
const labels = (0, formatting_1.parseLabels)(flags.label);
|
|
115
117
|
if (flags['display-name'] || labels) {
|
|
116
118
|
params.metadata = {};
|
|
@@ -316,6 +318,7 @@ IosCreate.examples = [
|
|
|
316
318
|
'<%= config.bin %> ios create --attach <xcode-instance-ID>',
|
|
317
319
|
'<%= config.bin %> ios create --force-bundle-id com.example.myapp',
|
|
318
320
|
'<%= config.bin %> ios create --tunnel staging',
|
|
321
|
+
"<%= config.bin %> ios create --blocked-domain facebook.com --blocked-domain '*.facebook.com'",
|
|
319
322
|
'<%= config.bin %> ios create --record --events --app-logs com.example.myapp --persist-ttl 24h',
|
|
320
323
|
];
|
|
321
324
|
IosCreate.args = {
|
|
@@ -353,6 +356,11 @@ IosCreate.flags = {
|
|
|
353
356
|
description: 'Name of a private tunnel, created in the console (Network) and run with lim tunnel run, that the ' +
|
|
354
357
|
'instance must attach to before it becomes ready.',
|
|
355
358
|
}),
|
|
359
|
+
'blocked-domain': core_1.Flags.string({
|
|
360
|
+
description: 'Domain the simulator cannot resolve, set before the instance becomes ready: an exact name, or a quoted ' +
|
|
361
|
+
'"*." wildcard that covers subdomains but not the name itself. Repeat to block more.',
|
|
362
|
+
multiple: true,
|
|
363
|
+
}),
|
|
356
364
|
label: core_1.Flags.string({
|
|
357
365
|
description: 'Metadata label in key=value format. Repeat to attach multiple labels.',
|
|
358
366
|
multiple: true,
|