ssh-delivery 0.2.8 → 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/README.md CHANGED
@@ -32,6 +32,12 @@ module.exports = {
32
32
  host: 'gate.myweb.com',
33
33
  username: 'root',
34
34
  password: 'secret',
35
+ // Optional: Socks5 proxy settings for connecting to the first SSH server in the chain
36
+ socksProxyHost: '127.0.0.1',
37
+ socksProxyPort: 1080,
38
+ // socksProxyUsername and socksProxyPassword are optional if your proxy requires authentication
39
+ // socksProxyUsername: 'proxyUser',
40
+ // socksProxyPassword: 'proxyPass',
35
41
  },
36
42
  web: {
37
43
  host: 'myweb.com',
@@ -85,6 +91,11 @@ module.exports = {
85
91
  host: 'gate.myweb.com',
86
92
  username: 'root',
87
93
  password: 'secret',
94
+ // Optional Socks5 proxy settings:
95
+ // socksProxyHost: '127.0.0.1',
96
+ // socksProxyPort: 1080,
97
+ // socksProxyUsername: 'proxyUser',
98
+ // socksProxyPassword: 'proxyPass',
88
99
  },
89
100
  web: {
90
101
  host: 'myweb.com',
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ import { DeliveryOptions, ServerOptions, TaskOptions } from './types';
3
+ import { NodeSSH } from 'node-ssh';
4
+ export declare class DeliveryAlt {
5
+ private options;
6
+ constructor(options: DeliveryOptions);
7
+ run(taskName: string): Promise<void>;
8
+ runShellCommands(commands: string | string[]): Promise<void>;
9
+ createSshConnection(serverOptions: ServerOptions): Promise<NodeSSH>;
10
+ prepareUploadArchive(taskOptions: TaskOptions): Promise<string>;
11
+ uploadFile({ ssh, srcPath, dstPath }: {
12
+ ssh: NodeSSH;
13
+ srcPath: string;
14
+ dstPath: string;
15
+ }): Promise<void>;
16
+ unpackArchiveOnRemoteServer({ ssh, archivePath, dstPath, }: {
17
+ ssh: NodeSSH;
18
+ archivePath: string;
19
+ dstPath: string;
20
+ }): Promise<void>;
21
+ }
@@ -0,0 +1,423 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
+ return new (P || (P = Promise))(function (resolve, reject) {
29
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33
+ });
34
+ };
35
+ var __generator = (this && this.__generator) || function (thisArg, body) {
36
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
37
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
38
+ function verb(n) { return function (v) { return step([n, v]); }; }
39
+ function step(op) {
40
+ if (f) throw new TypeError("Generator is already executing.");
41
+ while (_) try {
42
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
43
+ if (y = 0, t) op = [op[0] & 2, t.value];
44
+ switch (op[0]) {
45
+ case 0: case 1: t = op; break;
46
+ case 4: _.label++; return { value: op[1], done: false };
47
+ case 5: _.label++; y = op[1]; op = [0]; continue;
48
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
49
+ default:
50
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
51
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
52
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
53
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
54
+ if (t[2]) _.ops.pop();
55
+ _.trys.pop(); continue;
56
+ }
57
+ op = body.call(thisArg, _);
58
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
59
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
60
+ }
61
+ };
62
+ var __importDefault = (this && this.__importDefault) || function (mod) {
63
+ return (mod && mod.__esModule) ? mod : { "default": mod };
64
+ };
65
+ Object.defineProperty(exports, "__esModule", { value: true });
66
+ exports.DeliveryAlt = void 0;
67
+ var tunnel_1 = __importDefault(require("./tunnel"));
68
+ var node_ssh_1 = require("node-ssh");
69
+ var path_1 = __importDefault(require("path"));
70
+ var fs_1 = __importDefault(require("fs"));
71
+ var tar = __importStar(require("tar"));
72
+ var string_1 = require("./utils/string");
73
+ var child_process_1 = require("child_process");
74
+ var DeliveryAlt = /** @class */ (function () {
75
+ function DeliveryAlt(options) {
76
+ Object.keys(options.servers).forEach(function (key) {
77
+ var _a;
78
+ options.servers[key].name = key;
79
+ (_a = options.servers[key]).port || (_a.port = 22);
80
+ });
81
+ Object.keys(options.tasks).forEach(function (key) {
82
+ options.tasks[key].name = key;
83
+ });
84
+ this.options = options;
85
+ }
86
+ DeliveryAlt.prototype.run = function (taskName) {
87
+ var _a;
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ var taskOptions, dstServerOptions, ssh, uploadingArchivePath, remoteArchivePath;
90
+ return __generator(this, function (_b) {
91
+ switch (_b.label) {
92
+ case 0:
93
+ taskOptions = this.options.tasks[taskName];
94
+ if (!taskOptions) {
95
+ throw new Error('unknown task');
96
+ }
97
+ dstServerOptions = this.options.servers[taskOptions.dst.server];
98
+ if (!dstServerOptions) {
99
+ throw new Error('unknown dst server');
100
+ }
101
+ if (!((_a = taskOptions.before) === null || _a === void 0 ? void 0 : _a.run)) return [3 /*break*/, 2];
102
+ return [4 /*yield*/, this.runShellCommands(taskOptions.before.run)];
103
+ case 1:
104
+ _b.sent();
105
+ _b.label = 2;
106
+ case 2: return [4 /*yield*/, this.createSshConnection(dstServerOptions)];
107
+ case 3:
108
+ ssh = _b.sent();
109
+ return [4 /*yield*/, this.prepareUploadArchive(taskOptions)];
110
+ case 4:
111
+ uploadingArchivePath = _b.sent();
112
+ remoteArchivePath = "/tmp/".concat(uploadingArchivePath.split(path_1.default.sep).slice(-1)[0]);
113
+ return [4 /*yield*/, this.uploadFile({
114
+ ssh: ssh,
115
+ srcPath: uploadingArchivePath,
116
+ dstPath: remoteArchivePath,
117
+ })];
118
+ case 5:
119
+ _b.sent();
120
+ return [4 /*yield*/, this.unpackArchiveOnRemoteServer({
121
+ ssh: ssh,
122
+ archivePath: remoteArchivePath,
123
+ dstPath: taskOptions.dst.path,
124
+ })];
125
+ case 6:
126
+ _b.sent();
127
+ fs_1.default.unlinkSync(uploadingArchivePath);
128
+ ssh.dispose();
129
+ if (!taskOptions.after) return [3 /*break*/, 8];
130
+ return [4 /*yield*/, this.runShellCommands(taskOptions.after.run)];
131
+ case 7:
132
+ _b.sent();
133
+ _b.label = 8;
134
+ case 8: return [2 /*return*/];
135
+ }
136
+ });
137
+ });
138
+ };
139
+ DeliveryAlt.prototype.runShellCommands = function (commands) {
140
+ return __awaiter(this, void 0, void 0, function () {
141
+ var line1, line2, _loop_1, _i, commands_1, command;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ if (typeof commands === 'string') {
146
+ commands = [commands];
147
+ }
148
+ line1 = '================================';
149
+ line2 = '--------------------------------';
150
+ _loop_1 = function (command) {
151
+ return __generator(this, function (_b) {
152
+ switch (_b.label) {
153
+ case 0:
154
+ console.info("".concat(line1, "\n\u2022 Run: ").concat(command, "\n").concat(line2));
155
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
156
+ var _a = command.split(' '), mainCommand = _a[0], args = _a.slice(1);
157
+ var proc = (0, child_process_1.spawn)(mainCommand, args);
158
+ proc.stdout.on('data', function (data) {
159
+ console.info('\x1b[1m', data.toString(), '\x1b[0m');
160
+ });
161
+ proc.stderr.on('data', function (data) {
162
+ console.error('\x1b[31m', data.toString(), '\x1b[0m');
163
+ });
164
+ proc.on('exit', function (code) {
165
+ if (code === 0) {
166
+ resolve();
167
+ }
168
+ else {
169
+ reject();
170
+ }
171
+ });
172
+ })];
173
+ case 1:
174
+ _b.sent();
175
+ console.info("".concat(line1, "\n\n"));
176
+ return [2 /*return*/];
177
+ }
178
+ });
179
+ };
180
+ _i = 0, commands_1 = commands;
181
+ _a.label = 1;
182
+ case 1:
183
+ if (!(_i < commands_1.length)) return [3 /*break*/, 4];
184
+ command = commands_1[_i];
185
+ return [5 /*yield**/, _loop_1(command)];
186
+ case 2:
187
+ _a.sent();
188
+ _a.label = 3;
189
+ case 3:
190
+ _i++;
191
+ return [3 /*break*/, 1];
192
+ case 4: return [2 /*return*/];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ DeliveryAlt.prototype.createSshConnection = function (serverOptions) {
198
+ return __awaiter(this, void 0, void 0, function () {
199
+ var serversChain, dstConnectionTarget, tunnelsChain, i, gateServer, targetServer, prevTunnelAddress, tunnel, lastTunnelAddress, ssh, connectionConfig, error_1;
200
+ var _this = this;
201
+ return __generator(this, function (_a) {
202
+ switch (_a.label) {
203
+ case 0:
204
+ process.stdout.write('• Prepare SSH connection... ');
205
+ serversChain = (function () {
206
+ var result = [];
207
+ var addServerToChain = function (server) {
208
+ result.push(server);
209
+ if (server.via) {
210
+ var viaServer = _this.options.servers[server.via];
211
+ if (!viaServer) {
212
+ throw new Error("via server \"".concat(server.via, "\" for dst server \"").concat(server.name, "\" not found"));
213
+ }
214
+ addServerToChain(viaServer);
215
+ }
216
+ };
217
+ addServerToChain(serverOptions);
218
+ return result;
219
+ })().reverse();
220
+ dstConnectionTarget = {
221
+ host: serverOptions.host,
222
+ port: serverOptions.port,
223
+ };
224
+ if (!(serversChain.length > 1)) return [3 /*break*/, 5];
225
+ tunnelsChain = [];
226
+ i = 0;
227
+ _a.label = 1;
228
+ case 1:
229
+ if (!(i <= serversChain.length - 2)) return [3 /*break*/, 4];
230
+ gateServer = serversChain[i];
231
+ targetServer = serversChain[i + 1];
232
+ if (i > 0) {
233
+ prevTunnelAddress = tunnelsChain[i - 1].address();
234
+ gateServer.host = prevTunnelAddress.address;
235
+ gateServer.port = prevTunnelAddress.port;
236
+ }
237
+ return [4 /*yield*/, (0, tunnel_1.default)({
238
+ username: gateServer.username,
239
+ password: gateServer.password,
240
+ host: gateServer.host,
241
+ port: gateServer.port,
242
+ dstHost: targetServer.host,
243
+ dstPort: targetServer.port,
244
+ localHost: '127.0.0.1',
245
+ localPort: 0,
246
+ socksProxyHost: gateServer.socksProxyHost,
247
+ socksProxyPort: gateServer.socksProxyPort,
248
+ socksProxyUsername: gateServer.socksProxyUsername,
249
+ socksProxyPassword: gateServer.socksProxyPassword,
250
+ })];
251
+ case 2:
252
+ tunnel = _a.sent();
253
+ tunnelsChain.push(tunnel);
254
+ _a.label = 3;
255
+ case 3:
256
+ i++;
257
+ return [3 /*break*/, 1];
258
+ case 4:
259
+ lastTunnelAddress = tunnelsChain[tunnelsChain.length - 1].address();
260
+ dstConnectionTarget.host = lastTunnelAddress.address;
261
+ dstConnectionTarget.port = lastTunnelAddress.port;
262
+ _a.label = 5;
263
+ case 5:
264
+ ssh = new node_ssh_1.NodeSSH();
265
+ console.log("\n\u2022 Attempting SSH connection to ".concat(dstConnectionTarget.host, ":").concat(dstConnectionTarget.port));
266
+ connectionConfig = {
267
+ host: dstConnectionTarget.host,
268
+ port: dstConnectionTarget.port,
269
+ username: serverOptions.username,
270
+ tryKeyboard: true,
271
+ readyTimeout: 30000,
272
+ algorithms: {
273
+ kex: [
274
+ 'curve25519-sha256',
275
+ 'curve25519-sha256@libssh.org',
276
+ 'ecdh-sha2-nistp256',
277
+ 'ecdh-sha2-nistp384',
278
+ 'ecdh-sha2-nistp521',
279
+ 'diffie-hellman-group14-sha256',
280
+ 'diffie-hellman-group16-sha512',
281
+ 'diffie-hellman-group18-sha512',
282
+ 'diffie-hellman-group-exchange-sha256'
283
+ ],
284
+ cipher: [
285
+ 'chacha20-poly1305@openssh.com',
286
+ 'aes128-gcm',
287
+ 'aes128-gcm@openssh.com',
288
+ 'aes256-gcm',
289
+ 'aes256-gcm@openssh.com',
290
+ 'aes128-ctr',
291
+ 'aes192-ctr',
292
+ 'aes256-ctr'
293
+ ],
294
+ serverHostKey: [
295
+ 'ssh-ed25519',
296
+ 'ecdsa-sha2-nistp256',
297
+ 'ecdsa-sha2-nistp384',
298
+ 'ecdsa-sha2-nistp521',
299
+ 'rsa-sha2-512',
300
+ 'rsa-sha2-256',
301
+ 'ssh-rsa'
302
+ ],
303
+ hmac: [
304
+ 'umac-128-etm@openssh.com',
305
+ 'hmac-sha2-256-etm@openssh.com',
306
+ 'hmac-sha2-512-etm@openssh.com',
307
+ 'hmac-sha2-256',
308
+ 'hmac-sha2-512',
309
+ 'umac-128@openssh.com'
310
+ ]
311
+ }
312
+ };
313
+ if (serverOptions.password) {
314
+ connectionConfig.password = serverOptions.password;
315
+ console.log('• Using password authentication');
316
+ }
317
+ if (serverOptions.privateKey) {
318
+ connectionConfig.privateKey = serverOptions.privateKey;
319
+ if (serverOptions.passphrase) {
320
+ connectionConfig.passphrase = serverOptions.passphrase;
321
+ }
322
+ console.log('• Using private key authentication');
323
+ }
324
+ if (serverOptions.agent) {
325
+ connectionConfig.agent = serverOptions.agent;
326
+ console.log('• Using SSH agent');
327
+ }
328
+ _a.label = 6;
329
+ case 6:
330
+ _a.trys.push([6, 8, , 9]);
331
+ return [4 /*yield*/, ssh.connect(connectionConfig)];
332
+ case 7:
333
+ _a.sent();
334
+ console.log('• SSH connection established successfully');
335
+ process.stdout.write('DONE\n');
336
+ return [2 /*return*/, ssh];
337
+ case 8:
338
+ error_1 = _a.sent();
339
+ console.log('\n• SSH connection failed');
340
+ console.error(" Error: ".concat(error_1.message));
341
+ console.error(" Host: ".concat(dstConnectionTarget.host, ":").concat(dstConnectionTarget.port));
342
+ console.error(" Username: ".concat(serverOptions.username));
343
+ throw error_1;
344
+ case 9: return [2 /*return*/];
345
+ }
346
+ });
347
+ });
348
+ };
349
+ DeliveryAlt.prototype.prepareUploadArchive = function (taskOptions) {
350
+ return __awaiter(this, void 0, void 0, function () {
351
+ var archivePath, srcPath, result;
352
+ return __generator(this, function (_a) {
353
+ switch (_a.label) {
354
+ case 0:
355
+ process.stdout.write('• Prepare archive... ');
356
+ archivePath = path_1.default.resolve(process.cwd(), "".concat((0, string_1.makeRandomFileName)(), ".tgz"));
357
+ srcPath = path_1.default.resolve(taskOptions.src.path);
358
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
359
+ tar.c({
360
+ gzip: true,
361
+ file: archivePath,
362
+ cwd: srcPath,
363
+ }, fs_1.default.readdirSync(srcPath), function (err) {
364
+ if (err) {
365
+ return reject(err);
366
+ }
367
+ return resolve(archivePath);
368
+ });
369
+ })];
370
+ case 1:
371
+ result = _a.sent();
372
+ process.stdout.write('DONE\n');
373
+ return [2 /*return*/, result];
374
+ }
375
+ });
376
+ });
377
+ };
378
+ DeliveryAlt.prototype.uploadFile = function (_a) {
379
+ var ssh = _a.ssh, srcPath = _a.srcPath, dstPath = _a.dstPath;
380
+ return __awaiter(this, void 0, void 0, function () {
381
+ return __generator(this, function (_b) {
382
+ switch (_b.label) {
383
+ case 0:
384
+ process.stdout.write('• Upload archive... ');
385
+ return [4 /*yield*/, ssh.putFile(srcPath, dstPath)];
386
+ case 1:
387
+ _b.sent();
388
+ process.stdout.write('DONE\n');
389
+ return [2 /*return*/];
390
+ }
391
+ });
392
+ });
393
+ };
394
+ DeliveryAlt.prototype.unpackArchiveOnRemoteServer = function (_a) {
395
+ var ssh = _a.ssh, archivePath = _a.archivePath, dstPath = _a.dstPath;
396
+ return __awaiter(this, void 0, void 0, function () {
397
+ var command, result;
398
+ return __generator(this, function (_b) {
399
+ switch (_b.label) {
400
+ case 0:
401
+ process.stdout.write('• Unpack archive on server: \n');
402
+ command = "mkdir -p ".concat(dstPath, " && umask 0000 && mkdir -p ").concat(archivePath, "_extr && tar zxf ").concat(archivePath, " -C ").concat(archivePath, "_extr && cp -r ").concat(archivePath, "_extr/* ").concat(dstPath, " && rm ").concat(archivePath, "* -rf && echo ").concat(dstPath, " && ls -alh ").concat(dstPath);
403
+ return [4 /*yield*/, ssh.execCommand(command)];
404
+ case 1:
405
+ result = _b.sent();
406
+ if (result.stdout) {
407
+ process.stdout.write(result.stdout);
408
+ }
409
+ if (result.stderr) {
410
+ process.stderr.write(result.stderr);
411
+ }
412
+ if (result.code !== 0) {
413
+ throw new Error("Remote command failed with code ".concat(result.code));
414
+ }
415
+ return [2 /*return*/];
416
+ }
417
+ });
418
+ });
419
+ };
420
+ return DeliveryAlt;
421
+ }());
422
+ exports.DeliveryAlt = DeliveryAlt;
423
+ //# sourceMappingURL=delivery-alt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-alt.js","sourceRoot":"","sources":["../src/delivery-alt.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { DeliveryOptions, ServerOptions, TaskOptions } from './types';
2
3
  import { Client } from 'ssh2';
3
4
  export declare class Delivery {
package/dist/delivery.js CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __assign = (this && this.__assign) || function () {
3
4
  __assign = Object.assign || function(t) {
@@ -260,6 +261,10 @@ var Delivery = /** @class */ (function () {
260
261
  dstPort: targetServer.port,
261
262
  localHost: '127.0.0.1',
262
263
  localPort: 0,
264
+ socksProxyHost: gateServer.socksProxyHost,
265
+ socksProxyPort: gateServer.socksProxyPort,
266
+ socksProxyUsername: gateServer.socksProxyUsername,
267
+ socksProxyPassword: gateServer.socksProxyPassword,
263
268
  })];
264
269
  case 2:
265
270
  tunnel = _a.sent();
@@ -278,8 +283,35 @@ var Delivery = /** @class */ (function () {
278
283
  return [4 /*yield*/, new Promise(function (resolve, reject) {
279
284
  sshConnection
280
285
  .on('ready', function () { return resolve(); })
281
- // TODO on fail
282
- .connect(__assign(__assign({}, serverOptions), dstConnectionTarget));
286
+ .on('error', reject);
287
+ var connectionOptions = __assign(__assign(__assign({}, serverOptions), dstConnectionTarget), { hostVerifier: function () { return true; } });
288
+ if (serverOptions.socksProxyHost && serverOptions.socksProxyPort) {
289
+ var SocksClient = require('socks').SocksClient;
290
+ var socksOptions = {
291
+ proxy: {
292
+ host: serverOptions.socksProxyHost,
293
+ port: serverOptions.socksProxyPort,
294
+ type: 5,
295
+ userId: serverOptions.socksProxyUsername,
296
+ password: serverOptions.socksProxyPassword,
297
+ },
298
+ command: 'connect',
299
+ destination: {
300
+ host: serverOptions.host,
301
+ port: serverOptions.port,
302
+ },
303
+ timeout: 10000,
304
+ };
305
+ SocksClient.createConnection(socksOptions)
306
+ .then(function (info) {
307
+ connectionOptions.sock = info.socket;
308
+ sshConnection.connect(connectionOptions);
309
+ })
310
+ .catch(reject);
311
+ }
312
+ else {
313
+ sshConnection.connect(connectionOptions);
314
+ }
283
315
  })];
284
316
  case 6:
285
317
  _a.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAAoC;AAGpC,6BAA8B;AAC9B,8CAAwB;AACxB,0CAAoB;AACpB,uCAA2B;AAC3B,yCAAoD;AACpD,+CAAsC;AAEtC;IAEE,kBAAY,OAAwB;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;;YACvC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;YAChC,MAAA,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,IAAI,QAAJ,IAAI,GAAK,EAAE,EAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACG,sBAAG,GAAT,UAAU,QAAgB;;;;;;;wBAClB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,CAAC,WAAW,EAAE;4BAChB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;yBACjC;wBAEK,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACtE,IAAI,CAAC,gBAAgB,EAAE;4BACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;yBACvC;6BAEG,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,GAAG,CAAA,EAAvB,wBAAuB;wBACzB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;wBAAnD,SAAmD,CAAC;;4BAG7B,qBAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAA;;wBAAnE,gBAAgB,GAAG,SAAgD;wBAC5C,qBAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAA;;wBAAnE,oBAAoB,GAAG,SAA4C;wBACnE,iBAAiB,GAAG,eAAQ,oBAAoB,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;wBACtF,qBAAM,IAAI,CAAC,UAAU,CAAC;gCACpB,aAAa,EAAE,gBAAgB;gCAC/B,OAAO,EAAE,oBAAoB;gCAC7B,OAAO,EAAE,iBAAiB;6BAC3B,CAAC,EAAA;;wBAJF,SAIE,CAAC;wBACH,qBAAM,IAAI,CAAC,2BAA2B,CAAC;gCACrC,aAAa,EAAE,gBAAgB;gCAC/B,WAAW,EAAE,iBAAiB;gCAC9B,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI;6BAC9B,CAAC,EAAA;;wBAJF,SAIE,CAAC;wBAEH,YAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;6BAEhC,WAAW,CAAC,KAAK,EAAjB,wBAAiB;wBACnB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA;;wBAAlD,SAAkD,CAAC;;;;;;KAEtD;IAEK,mCAAgB,GAAtB,UAAuB,QAA2B;;;;;;wBAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;4BAChC,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;yBACvB;wBACK,KAAK,GAAG,kCAAkC,CAAC;wBAC3C,KAAK,GAAG,kCAAkC,CAAC;4CACtC,OAAO;;;;wCAChB,OAAO,CAAC,IAAI,CAAC,UAAG,KAAK,2BAAY,OAAO,eAAK,KAAK,CAAE,CAAC,CAAC;wCACtD,qBAAM,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;gDAChC,IAAA,KAAyB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAA1C,WAAW,QAAA,EAAK,IAAI,cAAsB,CAAC;gDAElD,IAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gDAEtC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI;oDACnC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAG,IAAe,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;gDAClE,CAAC,CAAC,CAAC;gDAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI;oDACnC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAG,IAAe,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;gDACpE,CAAC,CAAC,CAAC;gDAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI;oDAC5B,IAAI,IAAI,KAAK,CAAC,EAAE;wDACd,OAAO,EAAE,CAAC;qDACX;yDAAM;wDACL,MAAM,EAAE,CAAC;qDACV;gDACH,CAAC,CAAC,CAAC;4CACL,CAAC,CAAC,EAAA;;wCApBF,SAoBE,CAAC;wCACH,OAAO,CAAC,IAAI,CAAC,UAAG,KAAK,SAAM,CAAC,CAAC;;;;;8BAvBD,EAAR,qBAAQ;;;6BAAR,CAAA,sBAAQ,CAAA;wBAAnB,OAAO;sDAAP,OAAO;;;;;wBAAI,IAAQ,CAAA;;;;;;KAyB/B;IAED;;;OAGG;IACG,sCAAmB,GAAzB,UAA0B,aAA4B;;;;;;;wBACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;wBAE/C,YAAY,GAAoB,CAAC;4BACrC,IAAM,MAAM,GAAoB,EAAE,CAAC;4BACnC,IAAM,gBAAgB,GAAG,UAAC,MAAqB;gCAC7C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCACpB,IAAI,MAAM,CAAC,GAAG,EAAE;oCACd,IAAM,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oCACnD,IAAI,CAAC,SAAS,EAAE;wCACd,MAAM,IAAI,KAAK,CAAC,uBAAe,MAAM,CAAC,GAAG,iCAAqB,MAAM,CAAC,IAAI,iBAAa,CAAC,CAAC;qCACzF;oCACD,gBAAgB,CAAC,SAAS,CAAC,CAAC;iCAC7B;4BACH,CAAC,CAAC;4BACF,gBAAgB,CAAC,aAAa,CAAC,CAAC;4BAChC,OAAO,MAAM,CAAC;wBAChB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;wBAET,mBAAmB,GAAG;4BAC1B,IAAI,EAAE,aAAa,CAAC,IAAI;4BACxB,IAAI,EAAE,aAAa,CAAC,IAAI;yBACzB,CAAC;6BAGE,CAAA,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA,EAAvB,wBAAuB;wBACnB,YAAY,GAAgB,EAAE,CAAC;wBAC5B,CAAC,GAAG,CAAC;;;6BAAE,CAAA,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;wBACpC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC7B,YAAY,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAEzC,IAAI,CAAC,GAAG,CAAC,EAAE;4BACH,iBAAiB,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAqB,CAAC;4BAC3E,UAAU,CAAC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;4BAC5C,UAAU,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;yBAC1C;wBAEc,qBAAM,IAAA,gBAAY,EAAC;gCAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gCAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gCAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;gCACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gCACrB,OAAO,EAAE,YAAY,CAAC,IAAI;gCAC1B,OAAO,EAAE,YAAY,CAAC,IAAI;gCAC1B,SAAS,EAAE,WAAW;gCACtB,SAAS,EAAE,CAAC;gCACZ,cAAc,EAAE,UAAU,CAAC,cAAc;gCACzC,cAAc,EAAE,UAAU,CAAC,cAAc;gCACzC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;gCACjD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;6BAClD,CAAC,EAAA;;wBAbI,MAAM,GAAG,SAab;wBACF,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;;wBAxBkB,CAAC,EAAE,CAAA;;;wBA2B3C,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAqB,CAAC;wBAC7F,mBAAmB,CAAC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;wBACrD,mBAAmB,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;;;wBAG9C,aAAa,GAAG,IAAI,aAAM,EAAE,CAAC;wBAEnC,qBAAM,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;gCACtC,aAAa;qCACV,EAAE,CAAC,OAAO,EAAE,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC;qCAC5B,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gCACvB,IAAM,iBAAiB,kCAClB,aAAa,GACb,mBAAmB,KACtB,YAAY,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,GACzB,CAAC;gCACF,IAAI,aAAa,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,EAAE;oCACxD,IAAA,WAAW,GAAK,OAAO,CAAC,OAAO,CAAC,YAArB,CAAsB;oCACzC,IAAM,YAAY,GAAG;wCACnB,KAAK,EAAE;4CACL,IAAI,EAAE,aAAa,CAAC,cAAc;4CAClC,IAAI,EAAE,aAAa,CAAC,cAAc;4CAClC,IAAI,EAAE,CAAC;4CACP,MAAM,EAAE,aAAa,CAAC,kBAAkB;4CACxC,QAAQ,EAAE,aAAa,CAAC,kBAAkB;yCAC3C;wCACD,OAAO,EAAE,SAAS;wCAClB,WAAW,EAAE;4CACX,IAAI,EAAE,aAAa,CAAC,IAAI;4CACxB,IAAI,EAAE,aAAa,CAAC,IAAI;yCACzB;wCACD,OAAO,EAAE,KAAK;qCACf,CAAC;oCACF,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC;yCACvC,IAAI,CAAC,UAAC,IAAS;wCACd,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;wCACrC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oCAC3C,CAAC,CAAC;yCACD,KAAK,CAAC,MAAM,CAAC,CAAC;iCAClB;qCAAM;oCACL,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;iCAC1C;4BACH,CAAC,CAAC,EAAA;;wBAnCF,SAmCE,CAAC;wBAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAE/B,sBAAO,aAAa,EAAC;;;;KACtB;IAED;;;OAGG;IACG,uCAAoB,GAA1B,UAA2B,WAAwB;;;;;;wBACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBAExC,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAG,IAAA,2BAAkB,GAAE,SAAM,CAAC,CAAC;wBACzE,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAIpC,qBAAM,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;gCACvD,GAAG,CAAC,CAAC,CACH;oCACE,IAAI,EAAE,IAAI;oCACV,IAAI,EAAE,WAAW;oCACjB,GAAG,EAAE,OAAO;iCACb,EACD,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EACvB,UAAC,GAAG;oCACF,IAAI,GAAG,EAAE;wCACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;qCACpB;oCACD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;gCAC9B,CAAC,CACF,CAAC;4BACJ,CAAC,CAAC,EAAA;;wBAfI,MAAM,GAAG,SAeb;wBAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAE/B,sBAAO,MAAM,EAAC;;;;KACf;IAED;;;;;OAKG;IACG,6BAAU,GAAhB,UAAiB,EAAgG;YAA9F,aAAa,mBAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA;;;;;wBAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;wBAC7C,qBAAM,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;gCACtC,aAAa,CAAC,IAAI,CAAC,UAAC,GAAG,EAAE,IAAI;oCAC3B,IAAI,GAAG,EAAE;wCACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;qCACpB;oCAED,IAAM,UAAU,GAAG,YAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oCAChD,IAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oCAEpD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;wCACtB,OAAO,EAAE,CAAC;oCACZ,CAAC,CAAC,CAAC;oCAEH,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gCAC/B,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,EAAA;;wBAfF,SAeE,CAAC;wBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;;;;KAChC;IAED,8CAA2B,GAA3B,UAA4B,EAQ3B;YAPC,aAAa,mBAAA,EACb,WAAW,iBAAA,EACX,OAAO,aAAA;QAMP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACvD,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,IAAI,CAChB,mBAAY,OAAO,wCAEhB,WAAW,4BACZ,WAAW,iBAAO,WAAW,4BAC/B,WAAW,qBAAW,OAAO,oBAChC,WAAW,4BACT,OAAO,yBACJ,OAAO,MAAG,EACZ,UAAC,GAAG,EAAE,MAAM;gBACV,IAAI,GAAG,EAAE;oBACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpB;gBACD,MAAM;qBACH,EAAE,CAAC,OAAO,EAAE;oBACX,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;qBACD,EAAE,CAAC,MAAM,EAAE,UAAC,IAAY;oBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC;qBACD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAY;oBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACP,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACH,eAAC;AAAD,CAAC,AApSD,IAoSC;AApSY,4BAAQ"}
package/dist/tunnel.d.ts CHANGED
@@ -8,6 +8,10 @@ declare type TunnelConfig = ConnectConfig & {
8
8
  localPort: number;
9
9
  srcHost: string;
10
10
  srcPort: number;
11
+ socksProxyHost?: string;
12
+ socksProxyPort?: number;
13
+ socksProxyUsername?: string;
14
+ socksProxyPassword?: string;
11
15
  };
12
16
  declare function createTunnel(configArgs: Partial<TunnelConfig>): Promise<Server>;
13
17
  export default createTunnel;
package/dist/tunnel.js CHANGED
@@ -44,7 +44,6 @@ function bindSSHConnection(config, netConnection) {
44
44
  netConnection.emit('sshConnection', sshConnection, netConnection);
45
45
  sshConnection.forwardOut(config.srcHost, config.srcPort, config.dstHost, config.dstPort, function (err, sshStream) {
46
46
  if (err) {
47
- // Bubble up the error => netConnection => server
48
47
  netConnection.emit('error', err);
49
48
  return;
50
49
  }
@@ -89,11 +88,46 @@ function createServer(config) {
89
88
  });
90
89
  });
91
90
  connections.push(sshConnection, netConnection);
92
- try {
93
- sshConnection.connect(omit(config, ['localPort', 'localHost']));
91
+ var connectConfig = omit(config, ['localPort', 'localHost']);
92
+ connectConfig.hostVerifier = function () { return true; };
93
+ if (config.socksProxyHost && config.socksProxyPort) {
94
+ var SocksClient = require('socks').SocksClient;
95
+ var socksOptions = {
96
+ proxy: {
97
+ host: config.socksProxyHost,
98
+ port: config.socksProxyPort,
99
+ type: 5,
100
+ userId: config.socksProxyUsername,
101
+ password: config.socksProxyPassword,
102
+ },
103
+ command: 'connect',
104
+ destination: {
105
+ host: config.host,
106
+ port: config.port,
107
+ },
108
+ timeout: 10000,
109
+ };
110
+ SocksClient.createConnection(socksOptions)
111
+ .then(function (info) {
112
+ connectConfig.sock = info.socket;
113
+ try {
114
+ sshConnection.connect(connectConfig);
115
+ }
116
+ catch (error) {
117
+ server.emit('error', error);
118
+ }
119
+ })
120
+ .catch(function (error) {
121
+ server.emit('error', error);
122
+ });
94
123
  }
95
- catch (error) {
96
- server.emit('error', error);
124
+ else {
125
+ try {
126
+ sshConnection.connect(connectConfig);
127
+ }
128
+ catch (error) {
129
+ server.emit('error', error);
130
+ }
97
131
  }
98
132
  });
99
133
  server.on('close', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../src/tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../src/tunnel.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import { ConnectConfig } from 'ssh2';
2
2
  export declare type ServerOptions = ConnectConfig & {
3
3
  name: string;
4
4
  via?: string;
5
+ socksProxyHost?: string;
6
+ socksProxyPort?: number;
7
+ socksProxyUsername?: string;
8
+ socksProxyPassword?: string;
5
9
  };
6
10
  export declare type TaskOptions = {
7
11
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ssh-delivery",
3
- "version": "0.2.8",
3
+ "version": "0.3.1",
4
4
  "author": "Avin Lambrero",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -44,8 +44,9 @@
44
44
  "dependencies": {
45
45
  "lodash": "^4.17.21",
46
46
  "revalidator": "^0.3.1",
47
- "ssh2": "^1.11.0",
47
+ "ssh2": "^1.16.0",
48
48
  "tar": "^6.1.11",
49
- "yargs": "^17.5.1"
49
+ "yargs": "^17.5.1",
50
+ "socks": "^2.8.0"
50
51
  }
51
52
  }