lobstercage-cli 0.1.3 → 0.2.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/README.md +3 -3
- package/dist/commands/apikeys.d.ts +32 -0
- package/dist/commands/apikeys.d.ts.map +1 -0
- package/dist/commands/apikeys.js +161 -0
- package/dist/commands/apikeys.js.map +1 -0
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +6 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/proxy.d.ts +24 -0
- package/dist/commands/proxy.d.ts.map +1 -0
- package/dist/commands/proxy.js +134 -0
- package/dist/commands/proxy.js.map +1 -0
- package/dist/commands/ssh-config.d.ts +19 -0
- package/dist/commands/ssh-config.d.ts.map +1 -0
- package/dist/commands/ssh-config.js +148 -0
- package/dist/commands/ssh-config.js.map +1 -0
- package/dist/commands/tunnel.d.ts +17 -1
- package/dist/commands/tunnel.d.ts.map +1 -1
- package/dist/commands/tunnel.js +275 -27
- package/dist/commands/tunnel.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +6 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +6 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +6 -4
- package/dist/lib/output.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -6
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SSH Config Command
|
|
4
|
+
*
|
|
5
|
+
* Generates and installs SSH config for LobsterCage cages.
|
|
6
|
+
* Enables `ssh agent@my-cage.lobster`, VS Code Remote SSH, scp, sftp.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.sshConfigHandler = sshConfigHandler;
|
|
46
|
+
exports.createSshConfigCommand = createSshConfigCommand;
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const os = __importStar(require("os"));
|
|
50
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
51
|
+
const output = __importStar(require("../lib/output"));
|
|
52
|
+
const SSH_CONFIG_PATH = path.join(os.homedir(), '.ssh', 'config');
|
|
53
|
+
const BEGIN_MARKER = '# --- LobsterCage ---';
|
|
54
|
+
const END_MARKER = '# --- End LobsterCage ---';
|
|
55
|
+
function generateBlock() {
|
|
56
|
+
const lines = [
|
|
57
|
+
BEGIN_MARKER,
|
|
58
|
+
'Host *.lobster',
|
|
59
|
+
' ProxyCommand lobster proxy %n',
|
|
60
|
+
' User agent',
|
|
61
|
+
' StrictHostKeyChecking no',
|
|
62
|
+
' UserKnownHostsFile /dev/null',
|
|
63
|
+
' LogLevel ERROR',
|
|
64
|
+
END_MARKER,
|
|
65
|
+
];
|
|
66
|
+
return lines.join('\n');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* SSH config command handler
|
|
70
|
+
*/
|
|
71
|
+
async function sshConfigHandler(options) {
|
|
72
|
+
if (options.print) {
|
|
73
|
+
console.log(generateBlock());
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (options.remove) {
|
|
77
|
+
return removeSshConfig();
|
|
78
|
+
}
|
|
79
|
+
return installSshConfig();
|
|
80
|
+
}
|
|
81
|
+
function removeSshConfig() {
|
|
82
|
+
if (!fs.existsSync(SSH_CONFIG_PATH)) {
|
|
83
|
+
output.info('No SSH config file found.');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const existing = fs.readFileSync(SSH_CONFIG_PATH, 'utf-8');
|
|
87
|
+
const beginIdx = existing.indexOf(BEGIN_MARKER);
|
|
88
|
+
const endIdx = existing.indexOf(END_MARKER);
|
|
89
|
+
if (beginIdx === -1 || endIdx === -1) {
|
|
90
|
+
output.info('No LobsterCage SSH config block found.');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const before = existing.slice(0, beginIdx);
|
|
94
|
+
const after = existing.slice(endIdx + END_MARKER.length);
|
|
95
|
+
const updated = (before + after).replace(/\n{3,}/g, '\n\n').trim();
|
|
96
|
+
fs.writeFileSync(SSH_CONFIG_PATH, updated ? updated + '\n' : '', { mode: 0o600 });
|
|
97
|
+
output.success('LobsterCage SSH config removed.');
|
|
98
|
+
}
|
|
99
|
+
function installSshConfig() {
|
|
100
|
+
// Ensure ~/.ssh directory exists
|
|
101
|
+
const sshDir = path.dirname(SSH_CONFIG_PATH);
|
|
102
|
+
if (!fs.existsSync(sshDir)) {
|
|
103
|
+
fs.mkdirSync(sshDir, { mode: 0o700 });
|
|
104
|
+
}
|
|
105
|
+
const block = generateBlock();
|
|
106
|
+
let existing = '';
|
|
107
|
+
if (fs.existsSync(SSH_CONFIG_PATH)) {
|
|
108
|
+
existing = fs.readFileSync(SSH_CONFIG_PATH, 'utf-8');
|
|
109
|
+
// Check if block already exists
|
|
110
|
+
const beginIdx = existing.indexOf(BEGIN_MARKER);
|
|
111
|
+
const endIdx = existing.indexOf(END_MARKER);
|
|
112
|
+
if (beginIdx !== -1 && endIdx !== -1) {
|
|
113
|
+
// Replace existing block
|
|
114
|
+
const before = existing.slice(0, beginIdx);
|
|
115
|
+
const after = existing.slice(endIdx + END_MARKER.length);
|
|
116
|
+
const updated = before + block + after;
|
|
117
|
+
fs.writeFileSync(SSH_CONFIG_PATH, updated, { mode: 0o600 });
|
|
118
|
+
output.success('LobsterCage SSH config updated.');
|
|
119
|
+
printUsage();
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Append new block
|
|
124
|
+
const sep = existing && !existing.endsWith('\n') ? '\n\n' : existing ? '\n' : '';
|
|
125
|
+
fs.writeFileSync(SSH_CONFIG_PATH, existing + sep + block + '\n', { mode: 0o600 });
|
|
126
|
+
output.success('LobsterCage SSH config installed.');
|
|
127
|
+
printUsage();
|
|
128
|
+
}
|
|
129
|
+
function printUsage() {
|
|
130
|
+
console.log();
|
|
131
|
+
console.log(' You can now SSH into cages with:');
|
|
132
|
+
console.log(` ${chalk_1.default.cyan('ssh agent@my-cage.lobster')}`);
|
|
133
|
+
console.log();
|
|
134
|
+
console.log(' Or use VS Code Remote SSH, scp, sftp, etc.');
|
|
135
|
+
console.log();
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create ssh-config command
|
|
139
|
+
*/
|
|
140
|
+
function createSshConfigCommand(program) {
|
|
141
|
+
program
|
|
142
|
+
.command('ssh-config')
|
|
143
|
+
.description('Install SSH config for *.lobster hosts')
|
|
144
|
+
.option('--print', 'Print the config block without installing')
|
|
145
|
+
.option('--remove', 'Remove the LobsterCage SSH config block')
|
|
146
|
+
.action(sshConfigHandler);
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=ssh-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh-config.js","sourceRoot":"","sources":["../../src/commands/ssh-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,9 +16,25 @@ export declare function tunnelHandler(nameOrId: string, options: {
|
|
|
16
16
|
/**
|
|
17
17
|
* SSH command handler
|
|
18
18
|
*
|
|
19
|
-
*
|
|
19
|
+
* Spawns a real SSH session using `lobster proxy` as ProxyCommand.
|
|
20
|
+
* This gives you real SSH features: scp, sftp, VS Code Remote SSH, port forwarding.
|
|
20
21
|
*/
|
|
21
22
|
export declare function sshHandler(nameOrId: string, options: {
|
|
23
|
+
json?: boolean;
|
|
24
|
+
}, extraArgs?: string[]): Promise<void>;
|
|
25
|
+
export declare function dashboardHandler(nameOrId: string, options: {
|
|
26
|
+
port?: string;
|
|
27
|
+
noBrowser?: boolean;
|
|
28
|
+
json?: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Port-forward command handler
|
|
32
|
+
*
|
|
33
|
+
* Creates an HTTPS proxy URL for accessing a port in a cage,
|
|
34
|
+
* and optionally starts a local HTTP proxy server.
|
|
35
|
+
*/
|
|
36
|
+
export declare function portForwardHandler(nameOrId: string, options: {
|
|
37
|
+
port: string;
|
|
22
38
|
localPort?: string;
|
|
23
39
|
json?: boolean;
|
|
24
40
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqIpC;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3B,SAAS,GAAE,MAAM,EAAO,GACvB,OAAO,CAAC,IAAI,CAAC,CAqDf;AAmCD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAwEf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CA0Ff;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC3D"}
|
package/dist/commands/tunnel.js
CHANGED
|
@@ -43,10 +43,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
44
|
exports.tunnelHandler = tunnelHandler;
|
|
45
45
|
exports.sshHandler = sshHandler;
|
|
46
|
+
exports.dashboardHandler = dashboardHandler;
|
|
47
|
+
exports.portForwardHandler = portForwardHandler;
|
|
46
48
|
exports.createTunnelCommands = createTunnelCommands;
|
|
47
49
|
const ora_1 = __importDefault(require("ora"));
|
|
48
50
|
const ws_1 = __importDefault(require("ws"));
|
|
49
51
|
const net = __importStar(require("net"));
|
|
52
|
+
const child_process_1 = require("child_process");
|
|
53
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
50
54
|
const api = __importStar(require("../lib/api"));
|
|
51
55
|
const output = __importStar(require("../lib/output"));
|
|
52
56
|
const utils_1 = require("../lib/utils");
|
|
@@ -62,17 +66,44 @@ async function createTunnel(wsUrl, token, localPort, remotePort) {
|
|
|
62
66
|
const ws = new ws_1.default(wsUrl, {
|
|
63
67
|
headers: {
|
|
64
68
|
'Authorization': `Bearer ${token}`,
|
|
65
|
-
'X-Remote-Port': remotePort.toString(),
|
|
66
69
|
},
|
|
67
70
|
});
|
|
68
|
-
let
|
|
71
|
+
let authenticated = false;
|
|
69
72
|
ws.on('open', () => {
|
|
70
|
-
|
|
71
|
-
output.info(`Connection established to remote port ${remotePort}`);
|
|
73
|
+
// Auth is handled via header — wait for auth_ok
|
|
72
74
|
});
|
|
73
|
-
ws.on('message', (
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
ws.on('message', (raw) => {
|
|
76
|
+
try {
|
|
77
|
+
const msg = JSON.parse(raw.toString());
|
|
78
|
+
if (msg.type === 'auth_ok') {
|
|
79
|
+
authenticated = true;
|
|
80
|
+
output.info(`Connection established to remote port ${remotePort}`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (msg.type === 'auth_error' || msg.type === 'error') {
|
|
84
|
+
output.error(`Tunnel error: ${msg.error || msg.message || 'Unknown error'}`);
|
|
85
|
+
if (!socket.destroyed)
|
|
86
|
+
socket.destroy();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (msg.type === 'data' && msg.payload) {
|
|
90
|
+
// Decode base64 payload and write raw bytes to TCP socket
|
|
91
|
+
if (socket.writable) {
|
|
92
|
+
socket.write(Buffer.from(msg.payload, 'base64'));
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (msg.type === 'close') {
|
|
97
|
+
if (!socket.destroyed)
|
|
98
|
+
socket.end();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// Not JSON — treat as raw binary (shouldn't happen)
|
|
104
|
+
if (socket.writable) {
|
|
105
|
+
socket.write(raw);
|
|
106
|
+
}
|
|
76
107
|
}
|
|
77
108
|
});
|
|
78
109
|
ws.on('close', () => {
|
|
@@ -88,7 +119,11 @@ async function createTunnel(wsUrl, token, localPort, remotePort) {
|
|
|
88
119
|
});
|
|
89
120
|
socket.on('data', (data) => {
|
|
90
121
|
if (ws.readyState === ws_1.default.OPEN) {
|
|
91
|
-
|
|
122
|
+
// Wrap TCP data in JSON envelope with base64 encoding
|
|
123
|
+
ws.send(JSON.stringify({
|
|
124
|
+
type: 'data',
|
|
125
|
+
payload: data.toString('base64'),
|
|
126
|
+
}));
|
|
92
127
|
}
|
|
93
128
|
});
|
|
94
129
|
socket.on('close', () => {
|
|
@@ -173,41 +208,234 @@ async function tunnelHandler(nameOrId, options) {
|
|
|
173
208
|
/**
|
|
174
209
|
* SSH command handler
|
|
175
210
|
*
|
|
176
|
-
*
|
|
211
|
+
* Spawns a real SSH session using `lobster proxy` as ProxyCommand.
|
|
212
|
+
* This gives you real SSH features: scp, sftp, VS Code Remote SSH, port forwarding.
|
|
213
|
+
*/
|
|
214
|
+
async function sshHandler(nameOrId, options, extraArgs = []) {
|
|
215
|
+
try {
|
|
216
|
+
(0, utils_1.requireAuth)();
|
|
217
|
+
// Verify the cage exists and is running before spawning SSH
|
|
218
|
+
const spinner = (0, ora_1.default)('Connecting...').start();
|
|
219
|
+
const cageId = await (0, utils_1.resolveCageId)(nameOrId);
|
|
220
|
+
const cageStatus = await api.getCage(cageId);
|
|
221
|
+
if (cageStatus.status !== 'running') {
|
|
222
|
+
spinner.stop();
|
|
223
|
+
output.error(`Cage is not running (status: ${cageStatus.status})`);
|
|
224
|
+
process.exit(1);
|
|
225
|
+
}
|
|
226
|
+
spinner.stop();
|
|
227
|
+
if (options.json) {
|
|
228
|
+
output.json({
|
|
229
|
+
command: `ssh -o ProxyCommand="lobster proxy ${nameOrId}" agent@${nameOrId}`,
|
|
230
|
+
cage: nameOrId,
|
|
231
|
+
user: 'agent',
|
|
232
|
+
});
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Build SSH args — extra args (e.g. -L 8787:localhost:8787) are passed through
|
|
236
|
+
const sshArgs = [
|
|
237
|
+
'-o', `ProxyCommand=lobster proxy ${nameOrId}`,
|
|
238
|
+
'-o', 'StrictHostKeyChecking=no',
|
|
239
|
+
'-o', 'UserKnownHostsFile=/dev/null',
|
|
240
|
+
'-o', 'LogLevel=ERROR',
|
|
241
|
+
...extraArgs,
|
|
242
|
+
`agent@${nameOrId}`,
|
|
243
|
+
];
|
|
244
|
+
// Spawn SSH with inherited stdio so it's fully interactive
|
|
245
|
+
const child = (0, child_process_1.spawn)('ssh', sshArgs, {
|
|
246
|
+
stdio: 'inherit',
|
|
247
|
+
});
|
|
248
|
+
child.on('exit', (code) => {
|
|
249
|
+
process.exit(code ?? 0);
|
|
250
|
+
});
|
|
251
|
+
child.on('error', (err) => {
|
|
252
|
+
output.error(`Failed to start SSH: ${err.message}`);
|
|
253
|
+
output.info('Make sure `ssh` is installed and in your PATH.');
|
|
254
|
+
process.exit(1);
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
catch (err) {
|
|
258
|
+
(0, error_handler_1.handleError)(err, { json: options.json, context: 'setting up SSH' });
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Dashboard command handler
|
|
263
|
+
*
|
|
264
|
+
* Opens the OpenClaw Control UI by:
|
|
265
|
+
* 1. Reading the gateway token from inside the cage
|
|
266
|
+
* 2. Tunneling to port 18789 (OpenClaw gateway)
|
|
267
|
+
* 3. Opening the browser with the token in the URL
|
|
177
268
|
*/
|
|
178
|
-
|
|
179
|
-
|
|
269
|
+
const OPENCLAW_GW_PORT = 18789;
|
|
270
|
+
async function fetchGatewayToken(cageId) {
|
|
271
|
+
try {
|
|
272
|
+
// Try env var first, then config file
|
|
273
|
+
const result = await api.execInCage(cageId, [
|
|
274
|
+
'sh', '-c',
|
|
275
|
+
'echo "${OPENCLAW_GATEWAY_TOKEN:-}" || true',
|
|
276
|
+
]);
|
|
277
|
+
const envToken = result.stdout?.trim();
|
|
278
|
+
if (envToken)
|
|
279
|
+
return envToken;
|
|
280
|
+
// Fall back to config file
|
|
281
|
+
const configResult = await api.execInCage(cageId, [
|
|
282
|
+
'sh', '-c',
|
|
283
|
+
'node -e "const f=require(\'fs\');try{const c=JSON.parse(f.readFileSync(process.env.HOME+\'/.openclaw/openclaw.json\',\'utf8\'));console.log(c.gateway?.auth?.token||\'\')}catch{}" 2>/dev/null || true',
|
|
284
|
+
]);
|
|
285
|
+
const configToken = configResult.stdout?.trim();
|
|
286
|
+
if (configToken)
|
|
287
|
+
return configToken;
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
// Non-fatal — dashboard may not require auth
|
|
291
|
+
}
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
async function dashboardHandler(nameOrId, options) {
|
|
295
|
+
const localPort = options.port ? parseInt(options.port, 10) : OPENCLAW_GW_PORT;
|
|
180
296
|
if (isNaN(localPort) || localPort < 1 || localPort > 65535) {
|
|
181
|
-
output.error('Invalid
|
|
297
|
+
output.error('Invalid port number');
|
|
182
298
|
process.exit(1);
|
|
183
299
|
}
|
|
184
|
-
const spinner = (0, ora_1.default)('
|
|
300
|
+
const spinner = (0, ora_1.default)('Connecting to OpenClaw dashboard...').start();
|
|
185
301
|
try {
|
|
186
302
|
(0, utils_1.requireAuth)();
|
|
187
303
|
const cageId = await (0, utils_1.resolveCageId)(nameOrId);
|
|
188
|
-
|
|
304
|
+
const cageStatus = await api.getCage(cageId);
|
|
305
|
+
if (cageStatus.status !== 'running') {
|
|
306
|
+
spinner.stop();
|
|
307
|
+
output.error(`Cage is not running (status: ${cageStatus.status})`);
|
|
308
|
+
process.exit(1);
|
|
309
|
+
}
|
|
310
|
+
// Fetch gateway token from inside the cage
|
|
311
|
+
spinner.text = 'Fetching gateway token...';
|
|
312
|
+
const token = await fetchGatewayToken(cageId);
|
|
313
|
+
spinner.text = 'Setting up tunnel...';
|
|
189
314
|
const tunnel = await api.initiateTunnel(cageId, {
|
|
190
|
-
type: '
|
|
315
|
+
type: 'port',
|
|
316
|
+
port: OPENCLAW_GW_PORT,
|
|
191
317
|
});
|
|
192
318
|
spinner.stop();
|
|
319
|
+
// Build URL with token if available
|
|
320
|
+
const baseUrl = `http://localhost:${localPort}`;
|
|
321
|
+
const dashUrl = token
|
|
322
|
+
? `${baseUrl}/?gatewayUrl=ws://localhost:${localPort}&token=${encodeURIComponent(token)}`
|
|
323
|
+
: baseUrl;
|
|
193
324
|
if (options.json) {
|
|
194
325
|
output.json({
|
|
195
|
-
|
|
326
|
+
url: dashUrl,
|
|
196
327
|
localPort,
|
|
197
|
-
remotePort:
|
|
328
|
+
remotePort: OPENCLAW_GW_PORT,
|
|
329
|
+
token: token || undefined,
|
|
198
330
|
wsUrl: tunnel.wsUrl,
|
|
199
331
|
expiresAt: tunnel.expiresAt,
|
|
200
332
|
});
|
|
201
333
|
return;
|
|
202
334
|
}
|
|
203
|
-
output.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
335
|
+
output.success(`OpenClaw dashboard tunneled to ${chalk_1.default.cyan(baseUrl)}`);
|
|
336
|
+
if (!token) {
|
|
337
|
+
output.warning('Could not read gateway token — you may need to enter it manually.');
|
|
338
|
+
}
|
|
339
|
+
if (!options.noBrowser) {
|
|
340
|
+
try {
|
|
341
|
+
const open = (await Promise.resolve().then(() => __importStar(require('open')))).default;
|
|
342
|
+
await open(dashUrl);
|
|
343
|
+
output.info('Opened browser. Press Ctrl+C to close the tunnel.');
|
|
344
|
+
}
|
|
345
|
+
catch {
|
|
346
|
+
output.info(`Open ${chalk_1.default.cyan(dashUrl)} in your browser. Press Ctrl+C to close.`);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
output.info('Press Ctrl+C to close the tunnel.');
|
|
351
|
+
}
|
|
352
|
+
await createTunnel(tunnel.wsUrl, tunnel.token, localPort, OPENCLAW_GW_PORT);
|
|
208
353
|
}
|
|
209
354
|
catch (err) {
|
|
210
|
-
(0, error_handler_1.handleError)(err, { spinner, json: options.json, context: '
|
|
355
|
+
(0, error_handler_1.handleError)(err, { spinner, json: options.json, context: 'opening dashboard' });
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Port-forward command handler
|
|
360
|
+
*
|
|
361
|
+
* Creates an HTTPS proxy URL for accessing a port in a cage,
|
|
362
|
+
* and optionally starts a local HTTP proxy server.
|
|
363
|
+
*/
|
|
364
|
+
async function portForwardHandler(nameOrId, options) {
|
|
365
|
+
const remotePort = parseInt(options.port, 10);
|
|
366
|
+
if (isNaN(remotePort) || remotePort < 1 || remotePort > 65535) {
|
|
367
|
+
output.error('Invalid port number');
|
|
368
|
+
process.exit(1);
|
|
369
|
+
}
|
|
370
|
+
const localPort = options.localPort ? parseInt(options.localPort, 10) : undefined;
|
|
371
|
+
const spinner = (0, ora_1.default)('Creating port forward...').start();
|
|
372
|
+
try {
|
|
373
|
+
(0, utils_1.requireAuth)();
|
|
374
|
+
const cageId = await (0, utils_1.resolveCageId)(nameOrId);
|
|
375
|
+
const pf = await api.createPortForward(cageId, remotePort);
|
|
376
|
+
spinner.stop();
|
|
377
|
+
if (options.json) {
|
|
378
|
+
output.json({
|
|
379
|
+
proxyUrl: pf.proxyUrl,
|
|
380
|
+
tunnelId: pf.tunnelId,
|
|
381
|
+
expiresAt: pf.expiresAt,
|
|
382
|
+
...(localPort ? { localPort } : {}),
|
|
383
|
+
});
|
|
384
|
+
if (!localPort)
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
if (!localPort) {
|
|
388
|
+
// Just print the proxy URL
|
|
389
|
+
output.success(`Port forward created`);
|
|
390
|
+
console.log();
|
|
391
|
+
console.log(` Proxy URL: ${pf.proxyUrl}`);
|
|
392
|
+
console.log(` Expires: ${pf.expiresAt}`);
|
|
393
|
+
console.log();
|
|
394
|
+
console.log(` Example: curl ${pf.proxyUrl}/`);
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
// Start local HTTP proxy
|
|
398
|
+
const http = await Promise.resolve().then(() => __importStar(require('http')));
|
|
399
|
+
const https = await Promise.resolve().then(() => __importStar(require('https')));
|
|
400
|
+
const { URL } = await Promise.resolve().then(() => __importStar(require('url')));
|
|
401
|
+
const proxyBase = new URL(pf.proxyUrl);
|
|
402
|
+
const server = http.createServer((req, res) => {
|
|
403
|
+
// Append local path to proxy base path (don't replace it)
|
|
404
|
+
const localPath = req.url || '/';
|
|
405
|
+
const basePath = proxyBase.pathname.replace(/\/$/, '');
|
|
406
|
+
const targetUrl = new URL(basePath + localPath, proxyBase);
|
|
407
|
+
const proxyReq = https.request(targetUrl, {
|
|
408
|
+
method: req.method,
|
|
409
|
+
headers: {
|
|
410
|
+
...req.headers,
|
|
411
|
+
host: proxyBase.host,
|
|
412
|
+
},
|
|
413
|
+
}, (proxyRes) => {
|
|
414
|
+
res.writeHead(proxyRes.statusCode || 502, proxyRes.headers);
|
|
415
|
+
proxyRes.pipe(res);
|
|
416
|
+
});
|
|
417
|
+
proxyReq.on('error', (err) => {
|
|
418
|
+
if (!res.headersSent) {
|
|
419
|
+
res.writeHead(502);
|
|
420
|
+
res.end(`Proxy error: ${err.message}`);
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
req.pipe(proxyReq);
|
|
424
|
+
});
|
|
425
|
+
server.listen(localPort, '127.0.0.1', () => {
|
|
426
|
+
output.success(`Port forward listening on http://localhost:${localPort}`);
|
|
427
|
+
console.log(` → forwarding to cage port ${remotePort}`);
|
|
428
|
+
console.log(` Press Ctrl+C to stop`);
|
|
429
|
+
});
|
|
430
|
+
process.on('SIGINT', () => {
|
|
431
|
+
output.info('\nClosing port forward...');
|
|
432
|
+
server.close(() => process.exit(0));
|
|
433
|
+
});
|
|
434
|
+
// Keep alive
|
|
435
|
+
await new Promise(() => { });
|
|
436
|
+
}
|
|
437
|
+
catch (err) {
|
|
438
|
+
(0, error_handler_1.handleError)(err, { spinner, json: options.json, context: 'creating port forward' });
|
|
211
439
|
}
|
|
212
440
|
}
|
|
213
441
|
/**
|
|
@@ -224,9 +452,29 @@ function createTunnelCommands(program) {
|
|
|
224
452
|
.action(tunnelHandler);
|
|
225
453
|
program
|
|
226
454
|
.command('ssh <name>')
|
|
227
|
-
.description('SSH into a cage (
|
|
228
|
-
.option('
|
|
229
|
-
.
|
|
230
|
-
.
|
|
455
|
+
.description('SSH into a running cage (extra args passed to ssh)')
|
|
456
|
+
.option('--json', 'Output SSH command as JSON (don\'t connect)')
|
|
457
|
+
.allowUnknownOption()
|
|
458
|
+
.passThroughOptions()
|
|
459
|
+
.action((name, opts, cmd) => {
|
|
460
|
+
// cmd.args contains the <name> plus any extra passthrough args
|
|
461
|
+
const extra = cmd.args.slice(1);
|
|
462
|
+
return sshHandler(name, opts, extra);
|
|
463
|
+
});
|
|
464
|
+
program
|
|
465
|
+
.command('dashboard <name>')
|
|
466
|
+
.description('Open the OpenClaw dashboard for a running cage')
|
|
467
|
+
.option('-p, --port <port>', 'Local port (default: 18789)')
|
|
468
|
+
.option('--no-browser', 'Don\'t open browser automatically')
|
|
469
|
+
.option('--json', 'Output tunnel info as JSON (don\'t connect)')
|
|
470
|
+
.action(dashboardHandler);
|
|
471
|
+
program
|
|
472
|
+
.command('port-forward <name>')
|
|
473
|
+
.alias('pf')
|
|
474
|
+
.description('Forward a port from a cage to localhost')
|
|
475
|
+
.requiredOption('-p, --port <port>', 'Remote port in the cage')
|
|
476
|
+
.option('-l, --local-port <port>', 'Local port to listen on (starts local proxy)')
|
|
477
|
+
.option('--json', 'Output as JSON')
|
|
478
|
+
.action(portForwardHandler);
|
|
231
479
|
}
|
|
232
480
|
//# sourceMappingURL=tunnel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -67,7 +67,10 @@ const auth_1 = require("./commands/auth");
|
|
|
67
67
|
const cages_1 = require("./commands/cages");
|
|
68
68
|
const env_1 = require("./commands/env");
|
|
69
69
|
const tunnel_1 = require("./commands/tunnel");
|
|
70
|
+
const proxy_1 = require("./commands/proxy");
|
|
70
71
|
const exec_1 = require("./commands/exec");
|
|
72
|
+
const ssh_config_1 = require("./commands/ssh-config");
|
|
73
|
+
const apikeys_1 = require("./commands/apikeys");
|
|
71
74
|
const billing_1 = require("./commands/billing");
|
|
72
75
|
const output = __importStar(require("./lib/output"));
|
|
73
76
|
const api_1 = require("./lib/api");
|
|
@@ -96,7 +99,10 @@ program
|
|
|
96
99
|
(0, cages_1.createCageCommands)(program);
|
|
97
100
|
(0, env_1.createEnvCommands)(program);
|
|
98
101
|
(0, tunnel_1.createTunnelCommands)(program);
|
|
102
|
+
(0, proxy_1.createProxyCommand)(program);
|
|
99
103
|
(0, exec_1.createExecCommand)(program);
|
|
104
|
+
(0, ssh_config_1.createSshConfigCommand)(program);
|
|
105
|
+
(0, apikeys_1.createApiKeyCommands)(program);
|
|
100
106
|
(0, billing_1.createBillingCommands)(program);
|
|
101
107
|
// Global error handling
|
|
102
108
|
process.on('uncaughtException', (err) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -84,6 +84,12 @@ export declare function scanEnvVars(cageId: string): Promise<{
|
|
|
84
84
|
warnings: SecurityWarning[];
|
|
85
85
|
}>;
|
|
86
86
|
export declare function initiateTunnel(cageId: string, request: TunnelRequest): Promise<TunnelResponse>;
|
|
87
|
+
export interface PortForwardResponse {
|
|
88
|
+
tunnelId: string;
|
|
89
|
+
proxyUrl: string;
|
|
90
|
+
expiresAt: string;
|
|
91
|
+
}
|
|
92
|
+
export declare function createPortForward(cageId: string, port: number): Promise<PortForwardResponse>;
|
|
87
93
|
export declare function getAccount(): Promise<Account>;
|
|
88
94
|
export declare function getUsage(period?: 'day' | 'week' | 'month'): Promise<Usage>;
|
|
89
95
|
export declare function getBillingStatus(): Promise<BillingStatus>;
|