tabby-rdp 0.2.7 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -2
- package/README.md +182 -21
- package/dist/connectionStatus.js +140 -0
- package/dist/connectionStatus.js.map +1 -0
- package/dist/desk.js +21 -10
- package/dist/desk.js.map +1 -1
- package/dist/deskScript.js +3 -0
- package/dist/deskScript.js.map +1 -1
- package/dist/desktop.service.js +994 -53
- package/dist/desktop.service.js.map +1 -1
- package/dist/desktopForm.js +64 -19
- package/dist/desktopForm.js.map +1 -1
- package/dist/desktops.js +60 -21
- package/dist/desktops.js.map +1 -1
- package/dist/fileTransfer.js +152 -5
- package/dist/fileTransfer.js.map +1 -1
- package/dist/header.js +22 -7
- package/dist/header.js.map +1 -1
- package/dist/help.js +241 -0
- package/dist/help.js.map +1 -0
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/keyboard.js +142 -5
- package/dist/keyboard.js.map +1 -1
- package/dist/microphone.js +295 -0
- package/dist/microphone.js.map +1 -0
- package/dist/osd.js +79 -0
- package/dist/osd.js.map +1 -0
- package/dist/probe.js +33 -0
- package/dist/probe.js.map +1 -0
- package/dist/rdcleanpath.js +132 -7
- package/dist/rdcleanpath.js.map +1 -1
- package/dist/rdpFile.js +47 -0
- package/dist/rdpFile.js.map +1 -0
- package/dist/rdpProfile.js +367 -0
- package/dist/rdpProfile.js.map +1 -0
- package/dist/remoteSetup.js +90 -11
- package/dist/remoteSetup.js.map +1 -1
- package/dist/settingsPage.js +554 -0
- package/dist/settingsPage.js.map +1 -0
- package/dist/signin.js +21 -2
- package/dist/signin.js.map +1 -1
- package/dist/ssh.js +28 -0
- package/dist/ssh.js.map +1 -1
- package/dist/targets.js +148 -8
- package/dist/targets.js.map +1 -1
- package/dist/ui.js +163 -24
- package/dist/ui.js.map +1 -1
- package/dist/updates.js +123 -0
- package/dist/updates.js.map +1 -0
- package/dist/vms.js +90 -0
- package/dist/vms.js.map +1 -0
- package/dist/wake.js +124 -0
- package/dist/wake.js.map +1 -0
- package/package.json +2 -1
- package/vendor/IRONRDP-LICENSE +3 -3
- package/vendor/iron-remote-desktop-rdp.js +698 -451
- package/vendor/iron-remote-desktop.js +87 -81
- package/vendor/ironrdp_web_bg.wasm +0 -0
package/dist/signin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signin.js","sourceRoot":"","sources":["../src/signin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signin.js","sourceRoot":"","sources":["../src/signin.ts"],"names":[],"mappings":"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"}
|
package/dist/ssh.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isSSHTab = isSSHTab;
|
|
4
4
|
exports.isConnected = isConnected;
|
|
5
5
|
exports.openTcpStream = openTcpStream;
|
|
6
|
+
exports.execStream = execStream;
|
|
7
|
+
exports.pingRemote = pingRemote;
|
|
6
8
|
exports.execRemote = execRemote;
|
|
7
9
|
const sshChannelStream_1 = require("./sshChannelStream");
|
|
8
10
|
function isSSHTab(tab) {
|
|
@@ -50,6 +52,32 @@ async function openTcpStream(tab, host, port) {
|
|
|
50
52
|
stream.once('close', () => gone?.unsubscribe());
|
|
51
53
|
return stream;
|
|
52
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* A command on the remote whose stdin and stdout are the stream (a session channel, no PTY): e.g. `ssh -W` run there,
|
|
57
|
+
* for a tunnel that goes on from the remote. Its stderr is not part of it.
|
|
58
|
+
*/
|
|
59
|
+
async function execStream(tab, command) {
|
|
60
|
+
const ssh = client(tab);
|
|
61
|
+
const session = tab.sshSession;
|
|
62
|
+
const channel = await ssh.activateChannel(await ssh.openSessionChannel());
|
|
63
|
+
const stream = new sshChannelStream_1.SSHChannelStream(channel);
|
|
64
|
+
await channel.requestExec(command);
|
|
65
|
+
const gone = session?.willDestroy$?.subscribe(() => stream.destroy(new Error('the SSH connection closed')));
|
|
66
|
+
stream.once('close', () => gone?.unsubscribe());
|
|
67
|
+
return stream;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* One round trip to the SSH server: opening a session channel waits for the server's confirmation, and nothing
|
|
71
|
+
* runs on the remote until a command is requested on it, so this costs next to nothing there.
|
|
72
|
+
*/
|
|
73
|
+
async function pingRemote(tab) {
|
|
74
|
+
const ssh = client(tab);
|
|
75
|
+
const started = performance.now();
|
|
76
|
+
const channel = await ssh.openSessionChannel();
|
|
77
|
+
const ms = performance.now() - started;
|
|
78
|
+
ssh.activateChannel(channel).then((c) => c.close()).catch(() => null);
|
|
79
|
+
return ms;
|
|
80
|
+
}
|
|
53
81
|
// Printed after a command's output, so that execRemote knows all of it arrived.
|
|
54
82
|
const END = '__trd_exec_end__';
|
|
55
83
|
/**
|
package/dist/ssh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":";;AAcA,4BAGC;AAOD,kCAYC;AAWD,sCAeC;AAqBD,gCA6BC;
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":";;AAcA,4BAGC;AAOD,kCAYC;AAWD,sCAeC;AAMD,gCASC;AAMD,gCAOC;AAqBD,gCA6BC;AA1ID,yDAAqD;AAYrD,SAAgB,QAAQ,CAAE,GAAwC;IAC9D,gFAAgF;IAChF,OAAQ,GAAqB,EAAE,OAAO,EAAE,IAAI,KAAK,KAAK,IAAI,CAAC,CAAE,GAAc,CAAC,OAAO,EAAE,aAAa,CAAA;AACtG,CAAC;AAED,kHAAkH;AAClH,MAAM,SAAS,GAAG,IAAI,OAAO,EAAU,CAAA;AACvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAU,CAAA;AAErC,0EAA0E;AAC1E,SAAgB,WAAW,CAAE,GAAW;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAA;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACpB,+EAA+E;QAC/E,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,MAAM,CAAE,GAAW;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAA;IAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,qBAAqB,KAAK,UAAU,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,4GAA4G;AACrG,KAAK,UAAU,aAAa,CAAE,GAAW,EAAE,IAAY,EAAE,IAAY;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACtE,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,iBAAiB,EAAE,WAAW;QAC9B,cAAc,EAAE,CAAC;KACpB,CAAC,CAAC,CAAA;IACH,MAAM,MAAM,GAAG,IAAI,mCAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C,4GAA4G;IAC5G,mEAAmE;IACnE,MAAM,IAAI,GAAG,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAA;IAC3G,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACjB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAE,GAAW,EAAE,OAAe;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,IAAI,mCAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAA;IAC3G,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACjB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAE,GAAW;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAA;IAC9C,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAA;IACtC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC1E,OAAO,EAAE,CAAA;AACb,CAAC;AAED,gFAAgF;AAChF,MAAM,GAAG,GAAG,kBAAkB,CAAA;AAE9B;;;;;GAKG;AACH,SAAS,aAAa,CAAE,GAAQ,EAAE,EAAW,EAAE,GAAa;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAA;IAC9B,IAAI,OAAO,IAAI,EAAE,SAAS,KAAK,UAAU,EAAE,CAAC;QACxC,OAAM;IACV,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvF,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;AAC3B,CAAC;AAED,mHAAmH;AAC5G,KAAK,UAAU,UAAU,CAAE,GAAW,EAAE,OAAe,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK;IACzF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACzE,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACvF,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,UAAU,GAAG,EAAE,CAAC,CAAA;IACpD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAA;IACnB,IAAI,KAAiC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjH,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACzC,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QACrD,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAA;IACrB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAClD,CAAC"}
|
package/dist/targets.js
CHANGED
|
@@ -6,22 +6,35 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.RemoteTargets = void 0;
|
|
9
|
+
exports.RemoteTargets = exports.RDP_PROFILE_TYPE = void 0;
|
|
10
|
+
exports.isRDPTab = isRDPTab;
|
|
10
11
|
exports.desktopPaneOf = desktopPaneOf;
|
|
11
12
|
exports.parseSSHCommand = parseSSHCommand;
|
|
12
13
|
const core_1 = require("@angular/core");
|
|
13
14
|
const child_process_1 = require("child_process");
|
|
15
|
+
const net = require("net");
|
|
14
16
|
const stream_1 = require("stream");
|
|
15
17
|
const tabby_core_1 = require("tabby-core");
|
|
18
|
+
const desktops_1 = require("./desktops");
|
|
19
|
+
const desktopForm_1 = require("./desktopForm");
|
|
20
|
+
const deskScript_1 = require("./deskScript");
|
|
21
|
+
const probe_1 = require("./probe");
|
|
16
22
|
const ssh_1 = require("./ssh");
|
|
23
|
+
/** Tabby profile type of remote desktop tabs (see rdpProfile.ts). */
|
|
24
|
+
exports.RDP_PROFILE_TYPE = 'rdp';
|
|
17
25
|
function isLocalTerminal(tab) {
|
|
18
26
|
const t = tab;
|
|
19
27
|
return t?.profile?.type === 'local' && !!t.element?.nativeElement && typeof t.session?.getChildProcesses === 'function';
|
|
20
28
|
}
|
|
29
|
+
/** A remote desktop tab (RDP profile, connecting directly): the desktop fills it, there is no terminal under it. */
|
|
30
|
+
function isRDPTab(tab) {
|
|
31
|
+
const t = tab;
|
|
32
|
+
return t?.profile?.type === exports.RDP_PROFILE_TYPE && !!t.element?.nativeElement;
|
|
33
|
+
}
|
|
21
34
|
/** The pane a tab or tab-header action refers to: the pane itself, or a split's focused pane. */
|
|
22
35
|
function desktopPaneOf(tab) {
|
|
23
36
|
const pane = tab instanceof tabby_core_1.SplitTabComponent ? tab.getFocusedTab() : tab;
|
|
24
|
-
return (0, ssh_1.isSSHTab)(pane) || isLocalTerminal(pane) ? pane : null;
|
|
37
|
+
return (0, ssh_1.isSSHTab)(pane) || isLocalTerminal(pane) || isRDPTab(pane) ? pane : null;
|
|
25
38
|
}
|
|
26
39
|
// ---- system ssh --------------------------------------------------------------------------------
|
|
27
40
|
function run(file, args, timeoutMs = 10000) {
|
|
@@ -77,12 +90,15 @@ function parseSSHCommand(tokens) {
|
|
|
77
90
|
const destination = tokens[i];
|
|
78
91
|
return destination ? { options, destination } : null;
|
|
79
92
|
}
|
|
80
|
-
/** `user@hostname:port`
|
|
81
|
-
|
|
82
|
-
const out = await run('ssh', [...options, '-G', destination]);
|
|
93
|
+
/** `user@hostname:port` from `ssh -G` output (config aliases, defaults resolved). */
|
|
94
|
+
function keyFromConfig(out, destination) {
|
|
83
95
|
const get = (k) => new RegExp(`^${k} (.+)$`, 'm').exec(out)?.[1]?.trim();
|
|
84
96
|
return `${get('user') ?? ''}@${(get('hostname') ?? destination).toLowerCase()}:${get('port') ?? '22'}`;
|
|
85
97
|
}
|
|
98
|
+
/** `user@hostname:port` as ssh itself resolves it (config aliases, defaults). */
|
|
99
|
+
async function resolveKey(options, destination) {
|
|
100
|
+
return keyFromConfig(await run('ssh', [...options, '-G', destination]), destination);
|
|
101
|
+
}
|
|
86
102
|
/** A target reached with the system `ssh`, non-interactively (keys/agent/control master only). */
|
|
87
103
|
class SystemSSHTarget {
|
|
88
104
|
constructor(key, label, cmd) {
|
|
@@ -137,17 +153,100 @@ function sshFailure(label, stderr, code) {
|
|
|
137
153
|
}
|
|
138
154
|
// ---- Tabby SSH tabs ----------------------------------------------------------------------------
|
|
139
155
|
class TabbySSHTarget {
|
|
140
|
-
constructor(key, label, tab) {
|
|
156
|
+
constructor(key, label, tab, hostname) {
|
|
141
157
|
this.key = key;
|
|
142
158
|
this.label = label;
|
|
143
159
|
this.tab = tab;
|
|
160
|
+
this.hostname = hostname;
|
|
144
161
|
}
|
|
145
162
|
openTcp(host, port) { return (0, ssh_1.openTcpStream)(this.tab, host, port); }
|
|
146
163
|
exec(command, stdin) { return (0, ssh_1.execRemote)(this.tab, command, stdin); }
|
|
147
164
|
isOpen() { return (0, ssh_1.isConnected)(this.tab); }
|
|
165
|
+
ping() { return (0, ssh_1.pingRemote)(this.tab); }
|
|
166
|
+
execStream(command) { return (0, ssh_1.execStream)(this.tab, command); }
|
|
148
167
|
get reconnectSSH() {
|
|
149
168
|
return typeof this.tab.reconnect === 'function' ? () => this.tab.reconnect() : undefined;
|
|
150
169
|
}
|
|
170
|
+
get profileId() { return this.tab.profile?.id; }
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Remote script: the user's `ssh` clients in the foreground of a terminal, one `TRD_SSH <n>|<tty>|<args>` line each, the
|
|
174
|
+
* arguments separated by \037 (from /proc where there is one, so that quoted ones stay whole). Each one's terminal gets a
|
|
175
|
+
* probe, `$PROBE-<n>` (see probe.ts), which shows which Tabby pane that terminal is.
|
|
176
|
+
*/
|
|
177
|
+
const nestedSSHScript = (probe) => `PROBE=${(0, deskScript_1.shq)(probe)}\n` + String.raw `
|
|
178
|
+
n=0
|
|
179
|
+
for p in $(pgrep -u "$(id -u)" -x ssh 2>/dev/null); do
|
|
180
|
+
set -- $(ps -o tty= -o stat= -p "$p" 2>/dev/null)
|
|
181
|
+
case "$1:$2" in ?*:*+*) ;; *) continue ;; esac
|
|
182
|
+
[ "$1" = "?" ] && continue
|
|
183
|
+
n=$((n + 1))
|
|
184
|
+
if [ -r "/proc/$p/cmdline" ]; then args=$(tr '\000' '\037' < "/proc/$p/cmdline"); else args=$(ps -o args= -p "$p" | tr ' ' '\037'); fi
|
|
185
|
+
printf 'TRD_SSH %s|%s|%s\n' "$n" "$1" "$args"
|
|
186
|
+
printf '\033]7777;probe;%s-%s\007' "$PROBE" "$n" > "/dev/$1" 2>/dev/null || true
|
|
187
|
+
done
|
|
188
|
+
`;
|
|
189
|
+
/**
|
|
190
|
+
* A machine reached from an SSH tab's host with the `ssh` typed there: each command and tunnel runs that host's own
|
|
191
|
+
* ssh, non-interactively (its keys, or a forwarded agent). Like SystemSSHTarget, one hop further.
|
|
192
|
+
*/
|
|
193
|
+
class NestedSSHTarget {
|
|
194
|
+
constructor(key, label, outer, cmd) {
|
|
195
|
+
this.key = key;
|
|
196
|
+
this.label = label;
|
|
197
|
+
this.outer = outer;
|
|
198
|
+
this.cmd = cmd;
|
|
199
|
+
}
|
|
200
|
+
get via() { return this.outer.label; }
|
|
201
|
+
ssh(...extra) {
|
|
202
|
+
return ['ssh', ...this.cmd.options, '-o', 'BatchMode=yes', '-o', 'ConnectTimeout=15', ...extra, this.cmd.destination].map(deskScript_1.shq).join(' ');
|
|
203
|
+
}
|
|
204
|
+
openTcp(host, port) {
|
|
205
|
+
return this.outer.execStream(`exec ${this.ssh('-o', 'ExitOnForwardFailure=yes', '-W', `${host.includes(':') ? `[${host}]` : host}:${port}`)} 2>/dev/null`);
|
|
206
|
+
}
|
|
207
|
+
async exec(command, stdin) {
|
|
208
|
+
// ssh's exit status and last error line come after the output, so a failed login says why.
|
|
209
|
+
const out = await this.outer.exec(`e=$(mktemp); ${this.ssh('-T')} ${(0, deskScript_1.shq)(command)} 2>"$e"; r=$?; ` +
|
|
210
|
+
`printf '\n__trd_hop %s %s\n' "$r" "$(tail -n 1 "$e")"; rm -f "$e"`, stdin);
|
|
211
|
+
const m = /\n__trd_hop (\d+) ?(.*)\n?$/.exec(out);
|
|
212
|
+
if (m?.[1] === '255') {
|
|
213
|
+
throw new Error(/permission denied|password|keyboard-interactive|host key/i.test(m[2])
|
|
214
|
+
? `${this.outer.label} couldn't log in to ${this.label} by itself (${m[2].trim()}). The desktop goes through ${this.outer.label}'s own ssh, which needs a key for ${this.label} there, or agent forwarding.`
|
|
215
|
+
: `ssh from ${this.outer.label} to ${this.label} failed${m[2] ? `: ${m[2].trim()}` : ''}`);
|
|
216
|
+
}
|
|
217
|
+
return m ? out.slice(0, m.index) : out;
|
|
218
|
+
}
|
|
219
|
+
isOpen() { return this.outer.isOpen(); }
|
|
220
|
+
ping() { return this.outer.ping(); }
|
|
221
|
+
}
|
|
222
|
+
// ---- direct connections ------------------------------------------------------------------------
|
|
223
|
+
/** A remote desktop tab's RDP server, reached with a plain TCP connection from this computer (LAN, VPN). */
|
|
224
|
+
class DirectTarget {
|
|
225
|
+
constructor(label, direct) {
|
|
226
|
+
this.label = label;
|
|
227
|
+
this.direct = direct;
|
|
228
|
+
this.key = desktops_1.DIRECT_KEY;
|
|
229
|
+
}
|
|
230
|
+
openTcp(host, port) {
|
|
231
|
+
return new Promise((resolve, reject) => {
|
|
232
|
+
const socket = net.connect({ host, port });
|
|
233
|
+
const timer = setTimeout(() => socket.destroy(new Error(`${(0, desktopForm_1.formatAddress)(host, port)} did not answer`)), 15000);
|
|
234
|
+
socket.once('connect', () => {
|
|
235
|
+
clearTimeout(timer);
|
|
236
|
+
socket.setNoDelay(true);
|
|
237
|
+
// Notices a dead peer (sleep, a dropped VPN) where the SSH path has the SSH connection's keepalive.
|
|
238
|
+
socket.setKeepAlive(true, 10000);
|
|
239
|
+
resolve(socket);
|
|
240
|
+
});
|
|
241
|
+
socket.once('error', e => {
|
|
242
|
+
clearTimeout(timer);
|
|
243
|
+
reject(e);
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
exec() { return Promise.reject(new Error('A direct connection runs no commands')); }
|
|
248
|
+
// Each connection is its own socket; there is nothing to wait for between them.
|
|
249
|
+
isOpen() { return true; }
|
|
151
250
|
}
|
|
152
251
|
// ---- detection ---------------------------------------------------------------------------------
|
|
153
252
|
/**
|
|
@@ -167,10 +266,19 @@ let RemoteTargets = class RemoteTargets {
|
|
|
167
266
|
let target = null;
|
|
168
267
|
let pid;
|
|
169
268
|
try {
|
|
170
|
-
if ((
|
|
269
|
+
if (isRDPTab(pane)) {
|
|
270
|
+
// Made afresh each time (it holds no state), so that an edited profile applies on the next connection.
|
|
271
|
+
const profile = pane.profile;
|
|
272
|
+
// No `wake` for a direct one: starting a machine takes an SSH host to do it from.
|
|
273
|
+
const spec = (0, desktops_1.specOf)({ ...profile.options, name: profile.name, wake: undefined });
|
|
274
|
+
target = spec && new DirectTarget((0, desktopForm_1.formatAddress)(spec.host, spec.port), spec);
|
|
275
|
+
}
|
|
276
|
+
else if ((0, ssh_1.isSSHTab)(pane)) {
|
|
171
277
|
const o = pane.profile?.options ?? {};
|
|
172
278
|
const known = this.cache.get(pane)?.target;
|
|
173
|
-
|
|
279
|
+
// Named as its profile is (Tabby's imports end in "(.ssh/config)"), else by its address.
|
|
280
|
+
const named = (pane.profile?.name ?? '').replace(/\s*\(\.ssh\/config\)$/, '').trim();
|
|
281
|
+
target = known ?? new TabbySSHTarget(await this.key(['-l', o.user ?? '', '-p', String(o.port ?? 22)], o.host ?? ''), named || o.host || 'remote', pane, o.host || undefined);
|
|
174
282
|
}
|
|
175
283
|
else {
|
|
176
284
|
const found = await this.localSSH(pane);
|
|
@@ -190,6 +298,38 @@ let RemoteTargets = class RemoteTargets {
|
|
|
190
298
|
this.cache.set(pane, { target, pid });
|
|
191
299
|
return target;
|
|
192
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* `ssh` clients typed at a prompt in this pane, on its SSH tab's host: only those whose terminal there is this pane's
|
|
303
|
+
* (see probe.ts), since other panes and tabs can be on the same host. Empty elsewhere.
|
|
304
|
+
*/
|
|
305
|
+
async nestedSSH(pane) {
|
|
306
|
+
const outer = await this.targetOf(pane);
|
|
307
|
+
if (!(outer instanceof TabbySSHTarget)) {
|
|
308
|
+
return [];
|
|
309
|
+
}
|
|
310
|
+
const probe = `trd${Math.random().toString(36).slice(2, 10)}`;
|
|
311
|
+
const { result: out, ids } = await (0, probe_1.probesIn)(pane, probe, () => outer.exec('sh -s', nestedSSHScript(probe)));
|
|
312
|
+
const found = [];
|
|
313
|
+
for (const line of out.split('\n')) {
|
|
314
|
+
const m = /^TRD_SSH (\d+)\|([^|]*)\|(.*)$/.exec(line.trim());
|
|
315
|
+
const args = m?.[3].split('\x1f').filter(Boolean) ?? [];
|
|
316
|
+
const cmd = /(^|\/)ssh$/.test(args[0] ?? '') ? parseSSHCommand(args.slice(1)) : null;
|
|
317
|
+
if (m && cmd && ids.has(`${probe}-${m[1]}`)) {
|
|
318
|
+
found.push({ cmd, tty: m[2] });
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// One per destination.
|
|
322
|
+
return found.filter((f, i, all) => all.findIndex(g => g.cmd.destination === f.cmd.destination) === i);
|
|
323
|
+
}
|
|
324
|
+
/** A target for an `ssh` found by nestedSSH(), going through the pane's SSH connection. */
|
|
325
|
+
async nestedTarget(pane, nested) {
|
|
326
|
+
const outer = await this.targetOf(pane);
|
|
327
|
+
if (!(outer instanceof TabbySSHTarget)) {
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
const config = await outer.exec(`${['ssh', ...nested.cmd.options, '-G', nested.cmd.destination].map(deskScript_1.shq).join(' ')} 2>/dev/null`, '');
|
|
331
|
+
return new NestedSSHTarget(keyFromConfig(config, nested.cmd.destination), nested.cmd.destination, outer, nested.cmd);
|
|
332
|
+
}
|
|
193
333
|
key(options, destination) {
|
|
194
334
|
const id = JSON.stringify([options, destination]);
|
|
195
335
|
let key = this.keys.get(id);
|
package/dist/targets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
|