browser-commander 0.24.0 → 0.26.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.
Files changed (72) hide show
  1. package/.jscpd-baseline.json +1 -1
  2. package/CHANGELOG.md +32 -0
  3. package/README.md +7 -4
  4. package/package.json +4 -1
  5. package/src/browser/attach/snapshot.js +4 -28
  6. package/src/browser/browser-cookie-credentials.js +15 -8
  7. package/src/browser/browser-cookies.js +36 -30
  8. package/src/browser/browser-profile-files.js +31 -0
  9. package/src/browser/browser-profiles.js +11 -13
  10. package/src/browser/browser-sources.js +39 -9
  11. package/src/browser/browser-sources.json +610 -25
  12. package/src/browser/launcher.js +14 -0
  13. package/src/browser/migration/capabilities.json +117 -0
  14. package/src/browser/migration/chromium-history.sql +22 -0
  15. package/src/browser/migration/chromium-writers.js +85 -0
  16. package/src/browser/migration/cookies.js +4 -1
  17. package/src/browser/migration/data-classes.js +68 -0
  18. package/src/browser/migration/domains.js +32 -0
  19. package/src/browser/migration/firefox-history.js +106 -0
  20. package/src/browser/migration/firefox.js +39 -25
  21. package/src/browser/migration/history.js +161 -2
  22. package/src/browser/migration/index.js +229 -83
  23. package/src/browser/migration/os-crypt-keys.js +1 -5
  24. package/src/browser/migration/password-metadata.js +95 -0
  25. package/src/browser/migration/passwords.js +78 -41
  26. package/src/browser/migration/safari-import.js +100 -0
  27. package/src/browser/migration/safari.js +110 -0
  28. package/src/browser/migration/sqlite-snapshot.js +31 -65
  29. package/src/browser/migration/validation.js +48 -0
  30. package/src/browser/real-browser.js +18 -1
  31. package/src/browser/safari-access.js +45 -0
  32. package/src/browser/safari-cookies.js +39 -36
  33. package/src/browser/safari-launch.js +42 -0
  34. package/src/browser/safari-profiles.js +83 -0
  35. package/src/browser/safari-support.js +98 -0
  36. package/src/browser/storage-state.js +28 -8
  37. package/src/browser/system-browser.js +31 -143
  38. package/src/browser/webdriver.js +64 -19
  39. package/src/cli/args.js +2 -0
  40. package/src/cli/commands.js +2 -0
  41. package/src/cli/high-level-methods.js +2 -0
  42. package/src/cli/sessions.js +5 -0
  43. package/src/core/webdriver-page.js +62 -0
  44. package/src/exports.js +6 -0
  45. package/src/traces/recorder.js +5 -0
  46. package/tests/e2e/safari.e2e.test.js +104 -0
  47. package/tests/unit/browser/attach/snapshot.test.js +30 -0
  48. package/tests/unit/browser/browser-cookies.test.js +35 -0
  49. package/tests/unit/browser/catalogue-launch.test.js +93 -0
  50. package/tests/unit/browser/cookie-sources.test.js +92 -17
  51. package/tests/unit/browser/credential-catalogue.test.js +50 -0
  52. package/tests/unit/browser/firefox-cookie-expiry.test.js +79 -0
  53. package/tests/unit/browser/migration/data-classes.test.js +89 -0
  54. package/tests/unit/browser/migration/domain-isolation.test.js +212 -0
  55. package/tests/unit/browser/migration/firefox-history.test.js +130 -0
  56. package/tests/unit/browser/migration/history-metadata.test.js +74 -0
  57. package/tests/unit/browser/migration/index.test.js +16 -1
  58. package/tests/unit/browser/migration/opera-keys.test.js +22 -0
  59. package/tests/unit/browser/migration/safari-data.test.js +143 -0
  60. package/tests/unit/browser/migration/sqlite-snapshot.test.js +56 -1
  61. package/tests/unit/browser/migration/validation.test.js +63 -0
  62. package/tests/unit/browser/migration/yandex.test.js +84 -0
  63. package/tests/unit/browser/real-browser.test.js +19 -0
  64. package/tests/unit/browser/safari-cookies.test.js +26 -1
  65. package/tests/unit/browser/safari-profiles.test.js +111 -0
  66. package/tests/unit/browser/safari.test.js +192 -0
  67. package/tests/unit/browser/webdriver.test.js +48 -3
  68. package/tests/unit/cli/dispatcher.test.js +5 -1
  69. package/tests/unit/cli/main.test.js +5 -0
  70. package/tests/unit/scripts/browser-support.test.js +14 -7
  71. package/tests/unit/scripts/check-pipeline-status.test.js +33 -1
  72. package/tests/unit/scripts/migration-support.test.js +31 -0
@@ -39,7 +39,29 @@
39
39
  "darwin": ["com.google.chrome"],
40
40
  "linux": ["google-chrome.desktop", "google-chrome-stable.desktop"],
41
41
  "win32": ["ChromeHTML"]
42
- }
42
+ },
43
+ "executableNames": ["google-chrome", "google-chrome-stable", "chrome"],
44
+ "executables": {
45
+ "darwin": [
46
+ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
47
+ "{home}/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
48
+ ],
49
+ "win32": [
50
+ "{localAppData}/Google/Chrome/Application/chrome.exe",
51
+ "{programFiles}/Google/Chrome/Application/chrome.exe",
52
+ "{programFilesX86}/Google/Chrome/Application/chrome.exe"
53
+ ],
54
+ "linux": [
55
+ "/usr/bin/google-chrome",
56
+ "/usr/bin/google-chrome-stable",
57
+ "/usr/bin/chrome",
58
+ "/usr/local/bin/google-chrome",
59
+ "/usr/local/bin/google-chrome-stable",
60
+ "/usr/local/bin/chrome",
61
+ "/opt/google/chrome/google-chrome"
62
+ ]
63
+ },
64
+ "controlProtocol": "cdp"
43
65
  },
44
66
  {
45
67
  "id": "chrome-beta",
@@ -59,7 +81,24 @@
59
81
  "darwin": ["com.google.chrome.beta"],
60
82
  "linux": ["google-chrome-beta.desktop"],
61
83
  "win32": ["ChromeBHTML"]
62
- }
84
+ },
85
+ "executableNames": ["google-chrome-beta"],
86
+ "executables": {
87
+ "darwin": [
88
+ "/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta",
89
+ "{home}/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta"
90
+ ],
91
+ "win32": [
92
+ "{localAppData}/Google/Chrome Beta/Application/chrome.exe",
93
+ "{programFiles}/Google/Chrome Beta/Application/chrome.exe",
94
+ "{programFilesX86}/Google/Chrome Beta/Application/chrome.exe"
95
+ ],
96
+ "linux": [
97
+ "/usr/bin/google-chrome-beta",
98
+ "/usr/local/bin/google-chrome-beta"
99
+ ]
100
+ },
101
+ "controlProtocol": "cdp"
63
102
  },
64
103
  {
65
104
  "id": "chrome-dev",
@@ -79,7 +118,24 @@
79
118
  "darwin": ["com.google.chrome.dev"],
80
119
  "linux": ["google-chrome-unstable.desktop"],
81
120
  "win32": ["ChromeDHTML"]
82
- }
121
+ },
122
+ "executableNames": ["google-chrome-unstable"],
123
+ "executables": {
124
+ "darwin": [
125
+ "/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev",
126
+ "{home}/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev"
127
+ ],
128
+ "win32": [
129
+ "{localAppData}/Google/Chrome Dev/Application/chrome.exe",
130
+ "{programFiles}/Google/Chrome Dev/Application/chrome.exe",
131
+ "{programFilesX86}/Google/Chrome Dev/Application/chrome.exe"
132
+ ],
133
+ "linux": [
134
+ "/usr/bin/google-chrome-unstable",
135
+ "/usr/local/bin/google-chrome-unstable"
136
+ ]
137
+ },
138
+ "controlProtocol": "cdp"
83
139
  },
84
140
  {
85
141
  "id": "chrome-canary",
@@ -97,7 +153,20 @@
97
153
  "default": {
98
154
  "darwin": ["com.google.chrome.canary"],
99
155
  "win32": ["ChromeSSHTM"]
100
- }
156
+ },
157
+ "executableNames": ["google-chrome-canary"],
158
+ "executables": {
159
+ "darwin": [
160
+ "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
161
+ "{home}/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary"
162
+ ],
163
+ "win32": [
164
+ "{localAppData}/Google/Chrome SxS/Application/chrome.exe",
165
+ "{programFiles}/Google/Chrome SxS/Application/chrome.exe",
166
+ "{programFilesX86}/Google/Chrome SxS/Application/chrome.exe"
167
+ ]
168
+ },
169
+ "controlProtocol": "cdp"
101
170
  },
102
171
  {
103
172
  "id": "chromium",
@@ -116,7 +185,26 @@
116
185
  "default": {
117
186
  "darwin": ["org.chromium.chromium"],
118
187
  "linux": ["chromium.desktop", "chromium-browser.desktop"]
119
- }
188
+ },
189
+ "executableNames": ["chromium", "chromium-browser"],
190
+ "executables": {
191
+ "darwin": [
192
+ "/Applications/Chromium.app/Contents/MacOS/Chromium",
193
+ "{home}/Applications/Chromium.app/Contents/MacOS/Chromium"
194
+ ],
195
+ "win32": [
196
+ "{localAppData}/Chromium/Application/chrome.exe",
197
+ "{programFiles}/Chromium/Application/chrome.exe",
198
+ "{programFilesX86}/Chromium/Application/chrome.exe"
199
+ ],
200
+ "linux": [
201
+ "/usr/bin/chromium",
202
+ "/usr/bin/chromium-browser",
203
+ "/usr/local/bin/chromium",
204
+ "/usr/local/bin/chromium-browser"
205
+ ]
206
+ },
207
+ "controlProtocol": "cdp"
120
208
  },
121
209
  {
122
210
  "id": "edge",
@@ -136,12 +224,33 @@
136
224
  "darwin": ["com.microsoft.edgemac"],
137
225
  "linux": ["microsoft-edge.desktop"],
138
226
  "win32": ["MSEdgeHTM"]
139
- }
227
+ },
228
+ "executableNames": ["microsoft-edge", "microsoft-edge-stable", "msedge"],
229
+ "executables": {
230
+ "darwin": [
231
+ "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",
232
+ "{home}/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
233
+ ],
234
+ "win32": [
235
+ "{localAppData}/Microsoft/Edge/Application/msedge.exe",
236
+ "{programFiles}/Microsoft/Edge/Application/msedge.exe",
237
+ "{programFilesX86}/Microsoft/Edge/Application/msedge.exe"
238
+ ],
239
+ "linux": [
240
+ "/usr/bin/microsoft-edge",
241
+ "/usr/bin/microsoft-edge-stable",
242
+ "/usr/bin/msedge",
243
+ "/usr/local/bin/microsoft-edge",
244
+ "/usr/local/bin/microsoft-edge-stable",
245
+ "/usr/local/bin/msedge"
246
+ ]
247
+ },
248
+ "controlProtocol": "cdp"
140
249
  },
141
250
  {
142
251
  "id": "edge-beta",
143
252
  "family": "chromium",
144
- "aliases": ["microsoft-edge-beta"],
253
+ "aliases": ["microsoft-edge-beta", "msedge-beta"],
145
254
  "roots": {
146
255
  "darwin": ["{appSupport}/Microsoft Edge Beta"],
147
256
  "win32": ["{localAppData}/Microsoft/Edge Beta/User Data"],
@@ -155,12 +264,29 @@
155
264
  "default": {
156
265
  "darwin": ["com.microsoft.edgemac.beta"],
157
266
  "linux": ["microsoft-edge-beta.desktop"]
158
- }
267
+ },
268
+ "executableNames": ["microsoft-edge-beta"],
269
+ "executables": {
270
+ "darwin": [
271
+ "/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta",
272
+ "{home}/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta"
273
+ ],
274
+ "win32": [
275
+ "{localAppData}/Microsoft/Edge Beta/Application/msedge.exe",
276
+ "{programFiles}/Microsoft/Edge Beta/Application/msedge.exe",
277
+ "{programFilesX86}/Microsoft/Edge Beta/Application/msedge.exe"
278
+ ],
279
+ "linux": [
280
+ "/usr/bin/microsoft-edge-beta",
281
+ "/usr/local/bin/microsoft-edge-beta"
282
+ ]
283
+ },
284
+ "controlProtocol": "cdp"
159
285
  },
160
286
  {
161
287
  "id": "edge-dev",
162
288
  "family": "chromium",
163
- "aliases": ["microsoft-edge-dev"],
289
+ "aliases": ["microsoft-edge-dev", "msedge-dev"],
164
290
  "roots": {
165
291
  "darwin": ["{appSupport}/Microsoft Edge Dev"],
166
292
  "win32": ["{localAppData}/Microsoft/Edge Dev/User Data"],
@@ -174,7 +300,24 @@
174
300
  "default": {
175
301
  "darwin": ["com.microsoft.edgemac.dev"],
176
302
  "linux": ["microsoft-edge-dev.desktop"]
177
- }
303
+ },
304
+ "executableNames": ["microsoft-edge-dev"],
305
+ "executables": {
306
+ "darwin": [
307
+ "/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev",
308
+ "{home}/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev"
309
+ ],
310
+ "win32": [
311
+ "{localAppData}/Microsoft/Edge Dev/Application/msedge.exe",
312
+ "{programFiles}/Microsoft/Edge Dev/Application/msedge.exe",
313
+ "{programFilesX86}/Microsoft/Edge Dev/Application/msedge.exe"
314
+ ],
315
+ "linux": [
316
+ "/usr/bin/microsoft-edge-dev",
317
+ "/usr/local/bin/microsoft-edge-dev"
318
+ ]
319
+ },
320
+ "controlProtocol": "cdp"
178
321
  },
179
322
  {
180
323
  "id": "brave",
@@ -194,7 +337,28 @@
194
337
  "darwin": ["com.brave.browser"],
195
338
  "linux": ["brave-browser.desktop", "brave.desktop"],
196
339
  "win32": ["BraveHTML"]
197
- }
340
+ },
341
+ "executableNames": ["brave-browser", "brave-browser-stable", "brave"],
342
+ "executables": {
343
+ "darwin": [
344
+ "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
345
+ "{home}/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
346
+ ],
347
+ "win32": [
348
+ "{localAppData}/BraveSoftware/Brave-Browser/Application/brave.exe",
349
+ "{programFiles}/BraveSoftware/Brave-Browser/Application/brave.exe",
350
+ "{programFilesX86}/BraveSoftware/Brave-Browser/Application/brave.exe"
351
+ ],
352
+ "linux": [
353
+ "/usr/bin/brave-browser",
354
+ "/usr/bin/brave-browser-stable",
355
+ "/usr/bin/brave",
356
+ "/usr/local/bin/brave-browser",
357
+ "/usr/local/bin/brave-browser-stable",
358
+ "/usr/local/bin/brave"
359
+ ]
360
+ },
361
+ "controlProtocol": "cdp"
198
362
  },
199
363
  {
200
364
  "id": "vivaldi",
@@ -214,7 +378,26 @@
214
378
  "darwin": ["com.vivaldi.vivaldi"],
215
379
  "linux": ["vivaldi.desktop", "vivaldi-stable.desktop"],
216
380
  "win32": ["VivaldiHTM"]
217
- }
381
+ },
382
+ "executableNames": ["vivaldi", "vivaldi-stable"],
383
+ "executables": {
384
+ "darwin": [
385
+ "/Applications/Vivaldi.app/Contents/MacOS/Vivaldi",
386
+ "{home}/Applications/Vivaldi.app/Contents/MacOS/Vivaldi"
387
+ ],
388
+ "win32": [
389
+ "{localAppData}/Vivaldi/Application/vivaldi.exe",
390
+ "{programFiles}/Vivaldi/Application/vivaldi.exe",
391
+ "{programFilesX86}/Vivaldi/Application/vivaldi.exe"
392
+ ],
393
+ "linux": [
394
+ "/usr/bin/vivaldi",
395
+ "/usr/bin/vivaldi-stable",
396
+ "/usr/local/bin/vivaldi",
397
+ "/usr/local/bin/vivaldi-stable"
398
+ ]
399
+ },
400
+ "controlProtocol": "cdp"
218
401
  },
219
402
  {
220
403
  "id": "opera",
@@ -235,7 +418,22 @@
235
418
  "darwin": ["com.operasoftware.opera"],
236
419
  "linux": ["opera.desktop", "opera_opera.desktop"],
237
420
  "win32": ["OperaStable"]
238
- }
421
+ },
422
+ "executableNames": ["opera"],
423
+ "executables": {
424
+ "darwin": [
425
+ "/Applications/Opera.app/Contents/MacOS/Opera",
426
+ "{home}/Applications/Opera.app/Contents/MacOS/Opera"
427
+ ],
428
+ "win32": [
429
+ "{localAppData}/Programs/Opera/opera.exe",
430
+ "{localAppData}/Programs/Opera/launcher.exe",
431
+ "{programFiles}/Programs/Opera/opera.exe",
432
+ "{programFilesX86}/Programs/Opera/opera.exe"
433
+ ],
434
+ "linux": ["/usr/bin/opera", "/usr/local/bin/opera"]
435
+ },
436
+ "controlProtocol": "cdp"
239
437
  },
240
438
  {
241
439
  "id": "opera-gx",
@@ -255,7 +453,22 @@
255
453
  "default": {
256
454
  "darwin": ["com.operasoftware.operagx"],
257
455
  "win32": ["OperaGXStable"]
258
- }
456
+ },
457
+ "executableNames": ["opera-gx"],
458
+ "executables": {
459
+ "darwin": [
460
+ "/Applications/Opera GX.app/Contents/MacOS/Opera GX",
461
+ "{home}/Applications/Opera GX.app/Contents/MacOS/Opera GX"
462
+ ],
463
+ "win32": [
464
+ "{localAppData}/Programs/Opera GX/opera.exe",
465
+ "{localAppData}/Programs/Opera GX/launcher.exe",
466
+ "{programFiles}/Programs/Opera GX/opera.exe",
467
+ "{programFilesX86}/Programs/Opera GX/opera.exe"
468
+ ],
469
+ "linux": ["/usr/bin/opera-gx", "/usr/local/bin/opera-gx"]
470
+ },
471
+ "controlProtocol": "cdp"
259
472
  },
260
473
  {
261
474
  "id": "yandex",
@@ -275,7 +488,26 @@
275
488
  "darwin": ["ru.yandex.desktop.yandex-browser"],
276
489
  "linux": ["yandex-browser.desktop"],
277
490
  "win32": ["YandexHTML"]
278
- }
491
+ },
492
+ "executableNames": ["yandex-browser", "yandex-browser-stable"],
493
+ "executables": {
494
+ "darwin": [
495
+ "/Applications/Yandex.app/Contents/MacOS/Yandex",
496
+ "{home}/Applications/Yandex.app/Contents/MacOS/Yandex"
497
+ ],
498
+ "win32": [
499
+ "{localAppData}/Yandex/YandexBrowser/Application/browser.exe",
500
+ "{programFiles}/Yandex/YandexBrowser/Application/browser.exe",
501
+ "{programFilesX86}/Yandex/YandexBrowser/Application/browser.exe"
502
+ ],
503
+ "linux": [
504
+ "/usr/bin/yandex-browser",
505
+ "/usr/bin/yandex-browser-stable",
506
+ "/usr/local/bin/yandex-browser",
507
+ "/usr/local/bin/yandex-browser-stable"
508
+ ]
509
+ },
510
+ "controlProtocol": "cdp"
279
511
  },
280
512
  {
281
513
  "id": "arc",
@@ -295,7 +527,20 @@
295
527
  "default": {
296
528
  "darwin": ["company.thebrowser.browser"],
297
529
  "win32": ["ArcHTML"]
298
- }
530
+ },
531
+ "executableNames": ["arc"],
532
+ "executables": {
533
+ "darwin": [
534
+ "/Applications/Arc.app/Contents/MacOS/Arc",
535
+ "{home}/Applications/Arc.app/Contents/MacOS/Arc"
536
+ ],
537
+ "win32": [
538
+ "{localAppData}/Programs/Arc/Arc.exe",
539
+ "{programFiles}/Programs/Arc/Arc.exe",
540
+ "{programFilesX86}/Programs/Arc/Arc.exe"
541
+ ]
542
+ },
543
+ "controlProtocol": "cdp"
299
544
  },
300
545
  {
301
546
  "id": "firefox",
@@ -310,7 +555,21 @@
310
555
  "darwin": ["org.mozilla.firefox"],
311
556
  "linux": ["firefox.desktop", "firefox-esr.desktop"],
312
557
  "win32": ["FirefoxHTML", "FirefoxURL"]
313
- }
558
+ },
559
+ "executableNames": ["firefox"],
560
+ "executables": {
561
+ "darwin": [
562
+ "/Applications/Firefox.app/Contents/MacOS/firefox",
563
+ "{home}/Applications/Firefox.app/Contents/MacOS/firefox"
564
+ ],
565
+ "win32": [
566
+ "{localAppData}/Mozilla Firefox/firefox.exe",
567
+ "{programFiles}/Mozilla Firefox/firefox.exe",
568
+ "{programFilesX86}/Mozilla Firefox/firefox.exe"
569
+ ],
570
+ "linux": ["/usr/bin/firefox", "/usr/local/bin/firefox"]
571
+ },
572
+ "controlProtocol": "bidi"
314
573
  },
315
574
  {
316
575
  "id": "firefox-developer",
@@ -323,7 +582,26 @@
323
582
  },
324
583
  "default": {
325
584
  "darwin": ["org.mozilla.firefoxdeveloperedition"]
326
- }
585
+ },
586
+ "executableNames": ["firefox-developer-edition", "firefox"],
587
+ "executables": {
588
+ "darwin": [
589
+ "/Applications/Firefox Developer Edition.app/Contents/MacOS/firefox",
590
+ "{home}/Applications/Firefox Developer Edition.app/Contents/MacOS/firefox"
591
+ ],
592
+ "win32": [
593
+ "{localAppData}/Firefox Developer Edition/firefox.exe",
594
+ "{programFiles}/Firefox Developer Edition/firefox.exe",
595
+ "{programFilesX86}/Firefox Developer Edition/firefox.exe"
596
+ ],
597
+ "linux": [
598
+ "/usr/bin/firefox-developer-edition",
599
+ "/usr/bin/firefox",
600
+ "/usr/local/bin/firefox-developer-edition",
601
+ "/usr/local/bin/firefox"
602
+ ]
603
+ },
604
+ "controlProtocol": "bidi"
327
605
  },
328
606
  {
329
607
  "id": "firefox-nightly",
@@ -337,7 +615,26 @@
337
615
  "default": {
338
616
  "darwin": ["org.mozilla.nightly"],
339
617
  "linux": ["firefox-nightly.desktop"]
340
- }
618
+ },
619
+ "executableNames": ["firefox-nightly", "firefox"],
620
+ "executables": {
621
+ "darwin": [
622
+ "/Applications/Firefox Nightly.app/Contents/MacOS/firefox",
623
+ "{home}/Applications/Firefox Nightly.app/Contents/MacOS/firefox"
624
+ ],
625
+ "win32": [
626
+ "{localAppData}/Firefox Nightly/firefox.exe",
627
+ "{programFiles}/Firefox Nightly/firefox.exe",
628
+ "{programFilesX86}/Firefox Nightly/firefox.exe"
629
+ ],
630
+ "linux": [
631
+ "/usr/bin/firefox-nightly",
632
+ "/usr/bin/firefox",
633
+ "/usr/local/bin/firefox-nightly",
634
+ "/usr/local/bin/firefox"
635
+ ]
636
+ },
637
+ "controlProtocol": "bidi"
341
638
  },
342
639
  {
343
640
  "id": "librewolf",
@@ -351,7 +648,21 @@
351
648
  "default": {
352
649
  "darwin": ["io.gitlab.librewolf-community"],
353
650
  "linux": ["librewolf.desktop"]
354
- }
651
+ },
652
+ "executableNames": ["librewolf"],
653
+ "executables": {
654
+ "darwin": [
655
+ "/Applications/LibreWolf.app/Contents/MacOS/firefox",
656
+ "{home}/Applications/LibreWolf.app/Contents/MacOS/firefox"
657
+ ],
658
+ "win32": [
659
+ "{localAppData}/LibreWolf/librewolf.exe",
660
+ "{programFiles}/LibreWolf/librewolf.exe",
661
+ "{programFilesX86}/LibreWolf/librewolf.exe"
662
+ ],
663
+ "linux": ["/usr/bin/librewolf", "/usr/local/bin/librewolf"]
664
+ },
665
+ "controlProtocol": "bidi"
355
666
  },
356
667
  {
357
668
  "id": "waterfox",
@@ -365,7 +676,21 @@
365
676
  "default": {
366
677
  "darwin": ["net.waterfox.waterfox"],
367
678
  "linux": ["waterfox.desktop"]
368
- }
679
+ },
680
+ "executableNames": ["waterfox"],
681
+ "executables": {
682
+ "darwin": [
683
+ "/Applications/Waterfox.app/Contents/MacOS/firefox",
684
+ "{home}/Applications/Waterfox.app/Contents/MacOS/firefox"
685
+ ],
686
+ "win32": [
687
+ "{localAppData}/Waterfox/waterfox.exe",
688
+ "{programFiles}/Waterfox/waterfox.exe",
689
+ "{programFilesX86}/Waterfox/waterfox.exe"
690
+ ],
691
+ "linux": ["/usr/bin/waterfox", "/usr/local/bin/waterfox"]
692
+ },
693
+ "controlProtocol": "bidi"
369
694
  },
370
695
  {
371
696
  "id": "zen",
@@ -379,7 +704,26 @@
379
704
  "default": {
380
705
  "darwin": ["app.zen-browser.zen"],
381
706
  "linux": ["zen.desktop", "zen-browser.desktop"]
382
- }
707
+ },
708
+ "executableNames": ["zen-browser", "zen"],
709
+ "executables": {
710
+ "darwin": [
711
+ "/Applications/Zen.app/Contents/MacOS/firefox",
712
+ "{home}/Applications/Zen.app/Contents/MacOS/firefox"
713
+ ],
714
+ "win32": [
715
+ "{localAppData}/Zen Browser/zen.exe",
716
+ "{programFiles}/Zen Browser/zen.exe",
717
+ "{programFilesX86}/Zen Browser/zen.exe"
718
+ ],
719
+ "linux": [
720
+ "/usr/bin/zen-browser",
721
+ "/usr/bin/zen",
722
+ "/usr/local/bin/zen-browser",
723
+ "/usr/local/bin/zen"
724
+ ]
725
+ },
726
+ "controlProtocol": "bidi"
383
727
  },
384
728
  {
385
729
  "id": "floorp",
@@ -393,7 +737,21 @@
393
737
  "default": {
394
738
  "darwin": ["org.floorp.Floorp"],
395
739
  "linux": ["floorp.desktop"]
396
- }
740
+ },
741
+ "executableNames": ["floorp"],
742
+ "executables": {
743
+ "darwin": [
744
+ "/Applications/Floorp.app/Contents/MacOS/firefox",
745
+ "{home}/Applications/Floorp.app/Contents/MacOS/firefox"
746
+ ],
747
+ "win32": [
748
+ "{localAppData}/Floorp/floorp.exe",
749
+ "{programFiles}/Floorp/floorp.exe",
750
+ "{programFilesX86}/Floorp/floorp.exe"
751
+ ],
752
+ "linux": ["/usr/bin/floorp", "/usr/local/bin/floorp"]
753
+ },
754
+ "controlProtocol": "bidi"
397
755
  },
398
756
  {
399
757
  "id": "safari",
@@ -408,7 +766,9 @@
408
766
  },
409
767
  "default": {
410
768
  "darwin": ["com.apple.safari"]
411
- }
769
+ },
770
+ "executables": { "darwin": ["/usr/bin/safaridriver"] },
771
+ "controlProtocol": "webdriver"
412
772
  },
413
773
  {
414
774
  "id": "safari-technology-preview",
@@ -423,7 +783,232 @@
423
783
  },
424
784
  "default": {
425
785
  "darwin": ["com.apple.safaritechnologypreview"]
426
- }
786
+ },
787
+ "executables": {
788
+ "darwin": [
789
+ "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver"
790
+ ]
791
+ },
792
+ "controlProtocol": "webdriver"
793
+ },
794
+ {
795
+ "id": "whale",
796
+ "family": "chromium",
797
+ "aliases": ["naver-whale"],
798
+ "roots": {
799
+ "darwin": ["{appSupport}/Naver/Whale"],
800
+ "win32": ["{localAppData}/Naver/Naver Whale/User Data"],
801
+ "linux": ["{config}/naver-whale"]
802
+ },
803
+ "default": {
804
+ "darwin": ["com.naver.Whale"],
805
+ "win32": ["WhaleHTM"],
806
+ "linux": ["naver-whale.desktop"]
807
+ },
808
+ "safeStorage": {
809
+ "service": "Whale Safe Storage",
810
+ "application": "whale",
811
+ "folder": "Whale Keys"
812
+ },
813
+ "executableNames": ["naver-whale", "whale"],
814
+ "executables": {
815
+ "darwin": [
816
+ "/Applications/Whale.app/Contents/MacOS/Whale",
817
+ "{home}/Applications/Whale.app/Contents/MacOS/Whale"
818
+ ],
819
+ "win32": [
820
+ "{localAppData}/Naver/Naver Whale/Application/whale.exe",
821
+ "{programFiles}/Naver/Naver Whale/Application/whale.exe",
822
+ "{programFilesX86}/Naver/Naver Whale/Application/whale.exe"
823
+ ],
824
+ "linux": [
825
+ "/usr/bin/naver-whale",
826
+ "/usr/bin/whale",
827
+ "/usr/local/bin/naver-whale",
828
+ "/usr/local/bin/whale"
829
+ ]
830
+ },
831
+ "controlProtocol": "cdp"
832
+ },
833
+ {
834
+ "id": "360se",
835
+ "family": "chromium",
836
+ "aliases": ["360-secure"],
837
+ "roots": {
838
+ "win32": ["{appData}/360se6/User Data"]
839
+ },
840
+ "default": {
841
+ "win32": ["360seURL"]
842
+ },
843
+ "safeStorage": {
844
+ "service": "360 Safe Storage",
845
+ "application": "360se",
846
+ "folder": "360 Keys"
847
+ },
848
+ "executableNames": ["360se"],
849
+ "executables": {
850
+ "win32": [
851
+ "{localAppData}/360/360se6/360se.exe",
852
+ "{programFiles}/360/360se6/360se.exe",
853
+ "{programFilesX86}/360/360se6/360se.exe"
854
+ ]
855
+ },
856
+ "controlProtocol": "cdp"
857
+ },
858
+ {
859
+ "id": "360chrome",
860
+ "family": "chromium",
861
+ "aliases": ["360-extreme"],
862
+ "roots": {
863
+ "win32": ["{localAppData}/360Chrome/Chrome/User Data"]
864
+ },
865
+ "default": {
866
+ "win32": ["360ChromeURL"]
867
+ },
868
+ "safeStorage": {
869
+ "service": "360Chrome Safe Storage",
870
+ "application": "360chrome",
871
+ "folder": "360Chrome Keys"
872
+ },
873
+ "executableNames": ["360chrome"],
874
+ "executables": {
875
+ "win32": [
876
+ "{localAppData}/360Chrome/Chrome/Application/360chrome.exe",
877
+ "{programFiles}/360Chrome/Chrome/Application/360chrome.exe",
878
+ "{programFilesX86}/360Chrome/Chrome/Application/360chrome.exe"
879
+ ]
880
+ },
881
+ "controlProtocol": "cdp"
882
+ },
883
+ {
884
+ "id": "qq",
885
+ "family": "chromium",
886
+ "aliases": ["qq-browser"],
887
+ "roots": {
888
+ "win32": ["{localAppData}/Tencent/QQBrowser/User Data"]
889
+ },
890
+ "default": {
891
+ "win32": ["QQBrowserURL"]
892
+ },
893
+ "safeStorage": {
894
+ "service": "QQBrowser Safe Storage",
895
+ "application": "qq",
896
+ "folder": "QQBrowser Keys"
897
+ },
898
+ "executableNames": ["qqbrowser"],
899
+ "executables": {
900
+ "win32": [
901
+ "{localAppData}/Tencent/QQBrowser/QQBrowser.exe",
902
+ "{programFiles}/Tencent/QQBrowser/QQBrowser.exe",
903
+ "{programFilesX86}/Tencent/QQBrowser/QQBrowser.exe"
904
+ ]
905
+ },
906
+ "controlProtocol": "cdp"
907
+ },
908
+ {
909
+ "id": "sogou",
910
+ "family": "chromium",
911
+ "aliases": ["sogou-explorer"],
912
+ "roots": {
913
+ "win32": ["{appData}/SogouExplorer"]
914
+ },
915
+ "default": {
916
+ "win32": ["SogouExplorer.HTML"]
917
+ },
918
+ "safeStorage": {
919
+ "service": "Sogou Safe Storage",
920
+ "application": "sogou",
921
+ "folder": "Sogou Keys"
922
+ },
923
+ "singleProfile": true,
924
+ "executableNames": ["sogouexplorer"],
925
+ "executables": {
926
+ "win32": [
927
+ "{localAppData}/SogouExplorer/SogouExplorer.exe",
928
+ "{programFiles}/SogouExplorer/SogouExplorer.exe",
929
+ "{programFilesX86}/SogouExplorer/SogouExplorer.exe"
930
+ ]
931
+ },
932
+ "controlProtocol": "cdp"
933
+ },
934
+ {
935
+ "id": "duckduckgo",
936
+ "family": "detection",
937
+ "aliases": [],
938
+ "roots": {
939
+ "darwin": [
940
+ "{home}/Library/Containers/com.duckduckgo.macos.browser/Data/Library/Application Support/DuckDuckGo"
941
+ ],
942
+ "win32": [
943
+ "{localAppData}/Packages/DuckDuckGo.DesktopBrowser_ya2fgkz3nks94/LocalState"
944
+ ]
945
+ },
946
+ "default": {
947
+ "darwin": ["com.duckduckgo.macos.browser"],
948
+ "win32": ["DuckDuckGoHTML"]
949
+ },
950
+ "singleProfile": true
951
+ },
952
+ {
953
+ "id": "tor",
954
+ "family": "firefox",
955
+ "aliases": ["tor-browser"],
956
+ "roots": {
957
+ "darwin": ["{appSupport}/TorBrowser-Data/Browser"],
958
+ "linux": [
959
+ "{home}/.local/share/torbrowser/tbb/x86_64/tor-browser/Browser/TorBrowser/Data/Browser"
960
+ ],
961
+ "win32": ["{home}/Desktop/Tor Browser/Browser/TorBrowser/Data/Browser"]
962
+ },
963
+ "default": {
964
+ "darwin": ["org.torproject.torbrowser"],
965
+ "linux": ["torbrowser.desktop"],
966
+ "win32": ["TorBrowserHTML"]
967
+ },
968
+ "executableNames": ["tor-browser"],
969
+ "executables": {
970
+ "darwin": [
971
+ "/Applications/Tor Browser.app/Contents/MacOS/firefox",
972
+ "{home}/Applications/Tor Browser.app/Contents/MacOS/firefox"
973
+ ],
974
+ "win32": [
975
+ "{localAppData}/Tor Browser/Browser/firefox.exe",
976
+ "{programFiles}/Tor Browser/Browser/firefox.exe",
977
+ "{programFilesX86}/Tor Browser/Browser/firefox.exe"
978
+ ],
979
+ "linux": ["/usr/bin/tor-browser", "/usr/local/bin/tor-browser"]
980
+ },
981
+ "controlProtocol": "bidi"
982
+ },
983
+ {
984
+ "id": "edge-canary",
985
+ "family": "chromium",
986
+ "aliases": ["msedge-canary", "microsoft-edge-canary"],
987
+ "roots": {
988
+ "darwin": ["{appSupport}/Microsoft Edge Canary"],
989
+ "win32": ["{localAppData}/Microsoft/Edge SxS/User Data"]
990
+ },
991
+ "safeStorage": {
992
+ "service": "Microsoft Edge Safe Storage",
993
+ "application": "microsoft-edge",
994
+ "folder": "Microsoft Edge Keys"
995
+ },
996
+ "default": {
997
+ "darwin": ["com.microsoft.edgemac.Canary"]
998
+ },
999
+ "executableNames": ["microsoft-edge-canary"],
1000
+ "executables": {
1001
+ "darwin": [
1002
+ "/Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary",
1003
+ "{home}/Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary"
1004
+ ],
1005
+ "win32": [
1006
+ "{localAppData}/Microsoft/Edge SxS/Application/msedge.exe",
1007
+ "{programFiles}/Microsoft/Edge SxS/Application/msedge.exe",
1008
+ "{programFilesX86}/Microsoft/Edge SxS/Application/msedge.exe"
1009
+ ]
1010
+ },
1011
+ "controlProtocol": "cdp"
427
1012
  }
428
1013
  ]
429
1014
  }