tabby-rdp 0.4.0 → 0.5.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/dist/signin.js CHANGED
@@ -7,6 +7,7 @@ exports.loadCredentials = loadCredentials;
7
7
  exports.hasCredentials = hasCredentials;
8
8
  exports.saveCredentials = saveCredentials;
9
9
  exports.forgetCredentials = forgetCredentials;
10
+ exports.forgetCredentialsOrFail = forgetCredentialsOrFail;
10
11
  exports.forgetCredentialsFor = forgetCredentialsFor;
11
12
  exports.moveCredentialsFor = moveCredentialsFor;
12
13
  exports.askCredentials = askCredentials;
@@ -36,6 +37,16 @@ function vaultOn() {
36
37
  function storeName() {
37
38
  return vaultOn() ? 'Tabby\'s Vault' : 'the keychain';
38
39
  }
40
+ /**
41
+ * Vault changes one after another: each of Tabby's loads the whole encrypted contents, changes them and writes them
42
+ * back, so two at once (two desktops signing in together) would lose one's change.
43
+ */
44
+ let vaultQueue = Promise.resolve();
45
+ function queued(work) {
46
+ const next = vaultQueue.then(work, work);
47
+ vaultQueue = next.catch(() => null);
48
+ return next;
49
+ }
39
50
  /** How a Vault entry is found: by the same key as the keychain's; its `description` is only for a listing. */
40
51
  function vaultKey(key) {
41
52
  return { key };
@@ -46,9 +57,12 @@ function vaultName(key) {
46
57
  }
47
58
  // The system keychain can keep a call waiting indefinitely: on Linux, a locked or missing keyring waits for an unlock
48
59
  // prompt, which a session without a keyring prompter never shows. Give up after a while. A call that never returns
49
- // also keeps one of Node's few worker threads, which the rest of Tabby needs: after one, stop using the keychain.
60
+ // also keeps one of Node's few worker threads (four), which the rest of Tabby needs for files and name lookups: after
61
+ // one, stop using the keychain. And one call at a time: several started together (a list of saved accounts, each
62
+ // asking whether it has a password) would each keep a thread before the first is given up on.
50
63
  const KEYCHAIN_TIMEOUT_MS = 10000;
51
64
  let keychainStuck = false;
65
+ let keychainQueue = Promise.resolve();
52
66
  // Tabby ships keytar (tabby-ssh keeps SSH passwords with it). Without it, nothing is remembered.
53
67
  function keytar() {
54
68
  if (keychainStuck) {
@@ -61,14 +75,26 @@ function keytar() {
61
75
  return null;
62
76
  }
63
77
  }
64
- function answered(call) {
65
- return new Promise((resolve, reject) => {
78
+ /**
79
+ * A keychain call, after the ones before it: its answer, undefined without a keychain, or an error when it doesn't
80
+ * answer in time (or one before it didn't: it is then not made at all).
81
+ */
82
+ function keychain(call) {
83
+ const run = () => new Promise((resolve, reject) => {
84
+ const store = keytar();
85
+ if (!store) {
86
+ resolve(undefined);
87
+ return;
88
+ }
66
89
  const timer = setTimeout(() => {
67
90
  keychainStuck = true;
68
91
  reject(new Error('the keychain did not answer'));
69
92
  }, KEYCHAIN_TIMEOUT_MS);
70
- Promise.resolve(call).then(value => { clearTimeout(timer); resolve(value); }, error => { clearTimeout(timer); reject(error); });
93
+ Promise.resolve(call(store)).then(value => { clearTimeout(timer); resolve(value); }, error => { clearTimeout(timer); reject(error); });
71
94
  });
95
+ const next = keychainQueue.then(run, run);
96
+ keychainQueue = next.catch(() => null);
97
+ return next;
72
98
  }
73
99
  function parseCredentials(saved) {
74
100
  try {
@@ -95,7 +121,7 @@ async function loadCredentials(key) {
95
121
  catch { }
96
122
  }
97
123
  try {
98
- return parseCredentials(await answered(keytar()?.getPassword(KEYCHAIN_SERVICE, key)));
124
+ return parseCredentials(await keychain(store => store.getPassword(KEYCHAIN_SERVICE, key)));
99
125
  }
100
126
  catch {
101
127
  return null;
@@ -107,6 +133,9 @@ async function loadCredentials(key) {
107
133
  * entries can't be seen then: 'unknown'), where loadCredentials would prompt for the passphrase.
108
134
  */
109
135
  async function hasCredentials(key) {
136
+ if (keychainStuck && !vaultOn()) {
137
+ return 'unknown';
138
+ }
110
139
  if (vaultOn()) {
111
140
  try {
112
141
  if (!vault.isOpen()) {
@@ -122,7 +151,7 @@ async function hasCredentials(key) {
122
151
  }
123
152
  }
124
153
  try {
125
- return parseCredentials(await answered(keytar()?.getPassword(KEYCHAIN_SERVICE, key))) ? 'yes' : 'no';
154
+ return parseCredentials(await keychain(store => store.getPassword(KEYCHAIN_SERVICE, key))) ? 'yes' : 'no';
126
155
  }
127
156
  catch {
128
157
  return 'unknown';
@@ -130,28 +159,30 @@ async function hasCredentials(key) {
130
159
  }
131
160
  async function saveCredentials(key, credentials, label) {
132
161
  if (vaultOn()) {
133
- await vault.addSecret({ type: exports.VAULT_SECRET_TYPE, key: { ...vaultKey(key), description: label ?? vaultName(key) }, value: JSON.stringify(credentials) });
162
+ await queued(() => vault.addSecret({ type: exports.VAULT_SECRET_TYPE, key: { ...vaultKey(key), description: label ?? vaultName(key) }, value: JSON.stringify(credentials) }));
134
163
  // Not in two places: what the keychain had for it goes.
135
164
  try {
136
- await answered(keytar()?.deletePassword(KEYCHAIN_SERVICE, key));
165
+ await keychain(store => store.deletePassword(KEYCHAIN_SERVICE, key));
137
166
  }
138
167
  catch { }
139
168
  return;
140
169
  }
141
- await answered(keytar()?.setPassword(KEYCHAIN_SERVICE, key, JSON.stringify(credentials)));
170
+ await keychain(store => store.setPassword(KEYCHAIN_SERVICE, key, JSON.stringify(credentials)));
142
171
  }
143
172
  async function forgetCredentials(key) {
144
- if (vaultOn()) {
145
- try {
146
- await vault.removeSecret(exports.VAULT_SECRET_TYPE, vaultKey(key));
147
- }
148
- catch { }
149
- }
150
173
  try {
151
- await answered(keytar()?.deletePassword(KEYCHAIN_SERVICE, key));
174
+ await forgetCredentialsOrFail(key);
152
175
  }
153
176
  catch { }
154
177
  }
178
+ /** As forgetCredentials, but a store that wouldn't (a Vault prompt cancelled, a keychain not answering) is reported. */
179
+ async function forgetCredentialsOrFail(key) {
180
+ if (vaultOn()) {
181
+ await queued(() => vault.removeSecret(exports.VAULT_SECRET_TYPE, vaultKey(key)));
182
+ }
183
+ // No keychain at all is not a failure to forget; one that didn't answer is.
184
+ await keychain(store => store.deletePassword(KEYCHAIN_SERVICE, key));
185
+ }
155
186
  /** Every saved entry's key and value, from the Vault (when on) and the keychain. */
156
187
  async function allCredentials() {
157
188
  const entries = [];
@@ -167,7 +198,7 @@ async function allCredentials() {
167
198
  catch { }
168
199
  }
169
200
  try {
170
- entries.push(...await answered(keytar()?.findCredentials(KEYCHAIN_SERVICE)) ?? []);
201
+ entries.push(...await keychain(store => store.findCredentials(KEYCHAIN_SERVICE)) ?? []);
171
202
  }
172
203
  catch { }
173
204
  return entries;
@@ -1 +1 @@
1
- {"version":3,"file":"signin.js","sourceRoot":"","sources":["../src/signin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signin.js","sourceRoot":"","sources":["../src/signin.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SSHChannelStream = void 0;
4
4
  const stream_1 = require("stream");
5
+ /**
6
+ * What may wait in the stream for its reader. The channel can't be told to slow down (russh hands the data over as
7
+ * it arrives), so a reader that has stopped for good would otherwise have the whole of what the server sends pile up
8
+ * here.
9
+ */
10
+ const MAX_PENDING = 64 * 1024 * 1024;
5
11
  /** Node Duplex over an SSH channel, so tls.connect() can run on top of it. */
6
12
  class SSHChannelStream extends stream_1.Duplex {
7
13
  constructor(channel) {
8
14
  super();
9
15
  this.channel = channel;
10
16
  channel.data$.subscribe({
11
- next: d => this.push(Buffer.from(d.buffer, d.byteOffset, d.byteLength)),
17
+ next: d => {
18
+ if (!this.push(Buffer.from(d.buffer, d.byteOffset, d.byteLength)) && this.readableLength > MAX_PENDING) {
19
+ this.destroy(new Error('the desktop\'s data isn\'t being read: connection closed'));
20
+ }
21
+ },
12
22
  error: e => this.destroy(e instanceof Error ? e : new Error(String(e))),
13
23
  });
14
24
  channel.eof$.subscribe(() => this.push(null));
@@ -1 +1 @@
1
- {"version":3,"file":"sshChannelStream.js","sourceRoot":"","sources":["../src/sshChannelStream.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAY/B,8EAA8E;AAC9E,MAAa,gBAAiB,SAAQ,eAAM;IACxC,YAAqB,OAAmB;QACpC,KAAK,EAAE,CAAA;QADU,YAAO,GAAP,OAAO,CAAY;QAEpC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YACvE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1E,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,IAAI,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,4EAA4E;IACnE,KAAK,KAAY,CAAC;IAElB,MAAM,CAAE,KAAa,EAAE,SAAyB,EAAE,QAAoC;QAC3F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzH,CAAC;IAEQ,MAAM,CAAE,QAAoC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IAEQ,QAAQ,CAAE,KAAmB,EAAE,QAAoC;QACxE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QACtC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;CACJ;AA7BD,4CA6BC"}
1
+ {"version":3,"file":"sshChannelStream.js","sourceRoot":"","sources":["../src/sshChannelStream.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAY/B;;;;GAIG;AACH,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEpC,8EAA8E;AAC9E,MAAa,gBAAiB,SAAQ,eAAM;IACxC,YAAqB,OAAmB;QACpC,KAAK,EAAE,CAAA;QADU,YAAO,GAAP,OAAO,CAAY;QAEpC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,EAAE;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,WAAW,EAAE,CAAC;oBACrG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAA;gBACvF,CAAC;YACL,CAAC;YACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1E,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,IAAI,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,4EAA4E;IACnE,KAAK,KAAY,CAAC;IAElB,MAAM,CAAE,KAAa,EAAE,SAAyB,EAAE,QAAoC;QAC3F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzH,CAAC;IAEQ,MAAM,CAAE,QAAoC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IAEQ,QAAQ,CAAE,KAAmB,EAAE,QAAoC;QACxE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QACtC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;CACJ;AAjCD,4CAiCC"}
package/dist/ui.js CHANGED
@@ -50,6 +50,8 @@ let RemoteDesktopConfig = class RemoteDesktopConfig extends tabby_core_1.ConfigP
50
50
  desk: false,
51
51
  // macOS: ⌘ acts as Ctrl on the remote desktop (false: ⌘ is the Windows/Super key).
52
52
  macShortcuts: true,
53
+ // Send the characters typed (Unicode) rather than key positions: dead keys, layouts the remote lacks.
54
+ unicodeKeys: false,
53
55
  // Play the remote desktop's sound (applies on the next connect).
54
56
  sound: true,
55
57
  // H.264 in the graphics pipeline, decoded by the browser, where it can (applies on the next connect).
@@ -67,6 +69,8 @@ let RemoteDesktopConfig = class RemoteDesktopConfig extends tabby_core_1.ConfigP
67
69
  accounts: [],
68
70
  // Sharpness for particular desktops, overriding `sharpness`: [{ desktop: <session key>, sharpness }].
69
71
  desktopSharpness: [],
72
+ // Folders shared with remote desktops as drives (\\tsclient\<name>): [{ path, name, readOnly }]; see drives.ts.
73
+ sharedFolders: [],
70
74
  // Certificates of desktops behind hosts, trusted on first use: [{ desktop: <session key>, sha256 }].
71
75
  trustedCertificates: [],
72
76
  // The on-screen display naming a desktop for a moment (see osd.ts).
@@ -310,6 +314,12 @@ function settingsMenu(desktop, pane, help) {
310
314
  checked: current.connectionStatus,
311
315
  click: () => desktop.updateSettings({ connectionStatus: !current.connectionStatus }),
312
316
  },
317
+ {
318
+ type: 'checkbox',
319
+ label: 'Send text as typed (characters rather than key positions: dead keys, other layouts)',
320
+ checked: current.unicodeKeys,
321
+ click: () => desktop.updateSettings({ unicodeKeys: !current.unicodeKeys }),
322
+ },
313
323
  ...process.platform === 'darwin' ? [{
314
324
  type: 'checkbox',
315
325
  label: 'Mac shortcuts on the remote desktop (⌘C, ⌘V, ⌘Z… act as Ctrl+C, Ctrl+V…; off: ⌘ is the Windows key)',
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/dist/vms.js CHANGED
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.scanVMs = scanVMs;
4
4
  exports.vmSpec = vmSpec;
5
+ const desktops_1 = require("./desktops");
6
+ const hyperv_1 = require("./hyperv");
5
7
  /**
6
8
  * RDP security the server chose when offered TLS and NLA (RDP_NEG_RSP): Windows and GNOME Remote Desktop take NLA
7
9
  * (2), xrdp only TLS (1). A Linux VM that takes NLA is GNOME's, whose sign-in the plugin manages over SSH to that VM:
@@ -14,6 +16,7 @@ const XRDP_LIKE = '1';
14
16
  // wake.ts) within a second; the protocol the server chose, or 0 without a negotiation response ('' if none).
15
17
  // Read-only: starts nothing, changes nothing.
16
18
  const SCAN_SCRIPT = String.raw `
19
+ echo TRD_SH
17
20
  command -v virsh >/dev/null 2>&1 || exit 0
18
21
  probe () {
19
22
  if command -v python3 >/dev/null 2>&1; then
@@ -55,9 +58,20 @@ for uri in qemu:///system qemu:///session; do
55
58
  done
56
59
  done
57
60
  `;
58
- /** The host's VMs that have (or, being off, may have) a desktop: running ones whose RDP answers, and Windows ones that are off. */
59
- async function scanVMs(target) {
60
- const out = await target.exec('sh -s', SCAN_SCRIPT);
61
+ /**
62
+ * The host's VMs that have (or, being off, may have) a desktop: libvirt's running ones whose RDP answers, and Windows
63
+ * ones that are off; on a Windows host, Hyper-V's. `host.windows` says the host is known to run Windows, and is set
64
+ * when the scan finds out: such a host isn't asked for libvirt again (its shell takes a while to say it has no sh).
65
+ */
66
+ async function scanVMs(target, host = {}) {
67
+ const out = host.windows ? '' : await target.exec('sh -s', SCAN_SCRIPT);
68
+ // No sh answered: a Windows host (cmd.exe or PowerShell as its SSH shell), which is where Hyper-V is. Asked only
69
+ // then, so that a Linux host costs nothing extra.
70
+ if (!/^TRD_SH$/m.test(out)) {
71
+ const vms = await (0, hyperv_1.scanHyperV)(target);
72
+ host.windows = true;
73
+ return vms.map(vm => ({ hyperv: vm.id, name: vm.name, state: vm.state, windows: true, address: '', rdp: false }));
74
+ }
61
75
  const found = [];
62
76
  for (const line of out.split('\n')) {
63
77
  const m = /^TRD_VM ([^|]+)\|([^|]*)\|([^|]*)\|([^|]*)\|(\d*)\s*$/.exec(line.trim());
@@ -77,6 +91,9 @@ async function scanVMs(target) {
77
91
  }
78
92
  /** A found VM as a desktop behind its host: started by name when it's off (see wake.ts). */
79
93
  function vmSpec(vm) {
94
+ if (vm.hyperv) {
95
+ return (0, desktops_1.hyperVSpec)(vm.hyperv, vm.name, { found: vm.state });
96
+ }
80
97
  return {
81
98
  id: `${vm.address}:3389`,
82
99
  name: vm.name,
package/dist/vms.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vms.js","sourceRoot":"","sources":["../src/vms.ts"],"names":[],"mappings":";;AAuEA,0BAkBC;AAGD,wBAUC;AAvFD;;;;GAIG;AACH,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB,qFAAqF;AACrF,iHAAiH;AACjH,iHAAiH;AACjH,6GAA6G;AAC7G,8CAA8C;AAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA+BP,GAAG;;;;;;;;;;CAUzB,CAAA;AAED,mIAAmI;AAC5H,KAAK,UAAU,OAAO,CAAE,MAAoB;IAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACnD,MAAM,KAAK,GAAc,EAAE,CAAA;IAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACnF,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,SAAQ;QACZ,CAAC;QACD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/C,2FAA2F;QAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAA;QAC9D,MAAM,EAAE,GAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QACnG,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,4FAA4F;AAC5F,SAAgB,MAAM,CAAE,EAAW;IAC/B,OAAO;QACH,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,OAAO;QACxB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QACrC,IAAI,EAAE,EAAE,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,EAAE,CAAC,KAAK;KAClB,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"vms.js","sourceRoot":"","sources":["../src/vms.ts"],"names":[],"mappings":"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"}
package/dist/wake.js CHANGED
@@ -4,13 +4,18 @@ exports.parseWake = parseWake;
4
4
  exports.wakeFromText = wakeFromText;
5
5
  exports.shutDownWhenIdle = shutDownWhenIdle;
6
6
  exports.rdpAnswers = rdpAnswers;
7
+ exports.desktopUp = desktopUp;
7
8
  exports.wakeDesktop = wakeDesktop;
8
9
  exports.waitForRdp = waitForRdp;
9
10
  const deskScript_1 = require("./deskScript");
11
+ const hyperv_1 = require("./hyperv");
10
12
  const MAC = /^[0-9a-f]{2}([:-]?)[0-9a-f]{2}(\1[0-9a-f]{2}){4}$/i;
11
13
  const IPV4 = /^\d{1,3}(\.\d{1,3}){3}$/;
12
14
  /** A `wake` config value, checked; undefined when absent or unusable. */
13
15
  function parseWake(raw) {
16
+ if ((0, hyperv_1.vmId)(raw?.hyperv)) {
17
+ return { hyperv: (0, hyperv_1.vmId)(raw.hyperv) };
18
+ }
14
19
  if (typeof raw?.vm === 'string' && raw.vm.trim()) {
15
20
  return { vm: raw.vm.trim() };
16
21
  }
@@ -149,8 +154,15 @@ async function rdpAnswers(target, host, port) {
149
154
  const out = await target.exec('sh -s', `H=${(0, deskScript_1.shq)(host)}\nP=${port}\n${PROBE_SCRIPT}`);
150
155
  return /^RD_OPEN$/m.test(out);
151
156
  }
157
+ /** Whether the desktop is up: its RDP server answers, or, for a Hyper-V VM (reached through its host), it runs. */
158
+ async function desktopUp(target, host, port, wake) {
159
+ return wake && 'hyperv' in wake ? (await (0, hyperv_1.hyperVState)(target, wake.hyperv)).running : rdpAnswers(target, host, port);
160
+ }
152
161
  /** Starts the desktop as `wake` says. Resolves with what was done; throws with the reason when it couldn't. */
153
162
  async function wakeDesktop(target, wake) {
163
+ if ('hyperv' in wake) {
164
+ return (0, hyperv_1.startHyperV)(target, wake.hyperv);
165
+ }
154
166
  const script = 'vm' in wake
155
167
  ? `VM=${(0, deskScript_1.shq)(wake.vm)}\n${VM_SCRIPT}`
156
168
  : `MAC=${(0, deskScript_1.shq)(wake.mac)}\nBCAST=${(0, deskScript_1.shq)(wake.broadcast ?? '255.255.255.255')}\nPORT=${wake.port ?? 9}\n${WOL_SCRIPT}`;
@@ -162,16 +174,16 @@ async function wakeDesktop(target, wake) {
162
174
  return /^RD_OK (.*)$/m.exec(out)?.[1] ?? 'no result';
163
175
  }
164
176
  /**
165
- * Probes until the RDP server answers (true), the time is up or `stopped()` (false). At most one probe every
166
- * 3 s; `progress` is called every 5 s.
177
+ * Probes until the desktop is up (true; see desktopUp), the time is up or `stopped()` (false). At most one probe
178
+ * every 3 s; `progress` is called every 5 s.
167
179
  */
168
- async function waitForRdp(target, host, port, timeoutMs, stopped, progress) {
180
+ async function waitForRdp(target, host, port, timeoutMs, stopped, progress, wake) {
169
181
  const deadline = Date.now() + timeoutMs;
170
182
  const ticker = setInterval(() => stopped() || progress(), 5000);
171
183
  try {
172
184
  while (Date.now() < deadline && !stopped()) {
173
185
  const started = Date.now();
174
- if (await rdpAnswers(target, host, port).catch(() => false)) {
186
+ if (await desktopUp(target, host, port, wake).catch(() => false)) {
175
187
  return !stopped();
176
188
  }
177
189
  await new Promise(resolve => setTimeout(resolve, Math.max(0, 3000 - (Date.now() - started))));
package/dist/wake.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wake.js","sourceRoot":"","sources":["../src/wake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wake.js","sourceRoot":"","sources":["../src/wake.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabby-rdp",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Remote desktops in Tabby's SSH tabs: Linux (GNOME) and Windows, through the SSH connection, with clipboard, files and sound. Built on IronRDP.",
5
5
  "keywords": [
6
6
  "tabby-plugin",