ssh_tunnel_proxy 2.1.3 → 3.0.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/LICENSE +19 -3
- package/MIGRATION.md +227 -0
- package/README.md +360 -212
- package/build/bridge.d.ts +14 -0
- package/build/bridge.d.ts.map +1 -0
- package/build/bridge.js +12 -0
- package/build/bridge.js.map +1 -0
- package/build/connection.d.ts +60 -0
- package/build/connection.d.ts.map +1 -0
- package/build/connection.js +198 -0
- package/build/connection.js.map +1 -0
- package/build/credentials.d.ts +24 -0
- package/build/credentials.d.ts.map +1 -0
- package/build/credentials.js +102 -0
- package/build/credentials.js.map +1 -0
- package/build/errors.d.ts +19 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +64 -0
- package/build/errors.js.map +1 -0
- package/build/forward-spec.d.ts +34 -0
- package/build/forward-spec.d.ts.map +1 -0
- package/build/forward-spec.js +175 -0
- package/build/forward-spec.js.map +1 -0
- package/build/index.d.ts +19 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +71 -0
- package/build/index.js.map +1 -0
- package/build/legacy.d.ts +70 -0
- package/build/legacy.d.ts.map +1 -0
- package/build/legacy.js +188 -0
- package/build/legacy.js.map +1 -0
- package/build/local-forward.d.ts +31 -0
- package/build/local-forward.d.ts.map +1 -0
- package/build/local-forward.js +231 -0
- package/build/local-forward.js.map +1 -0
- package/build/model.d.ts +126 -0
- package/build/model.d.ts.map +1 -0
- package/build/model.js +55 -0
- package/build/model.js.map +1 -0
- package/build/port-policy.d.ts +43 -0
- package/build/port-policy.d.ts.map +1 -0
- package/build/port-policy.js +138 -0
- package/build/port-policy.js.map +1 -0
- package/build/remote-forward.d.ts +40 -0
- package/build/remote-forward.d.ts.map +1 -0
- package/build/remote-forward.js +226 -0
- package/build/remote-forward.js.map +1 -0
- package/build/tunnel.d.ts +121 -0
- package/build/tunnel.d.ts.map +1 -0
- package/build/tunnel.js +599 -0
- package/build/tunnel.js.map +1 -0
- package/examples/config.example.json +86 -0
- package/examples/setup_ssh.sh +12 -0
- package/examples/tunnel-cli.js +461 -0
- package/examples/tunnel-worker.js +98 -0
- package/examples/zrok-termux.ts +147 -0
- package/package.json +43 -53
- package/proto/sshtunnel/v1/tunnel.proto +343 -0
- package/dist/TestMessage.d.ts +0 -13
- package/dist/TestMessage.js +0 -32
- package/dist/TestMessage.js.map +0 -1
- package/dist/cjs/TestMessage.d.ts +0 -13
- package/dist/cjs/TestMessage.js +0 -32
- package/dist/cjs/TestMessage.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -73
- package/dist/cjs/index.js +0 -621
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/keypair_storage.d.ts +0 -12
- package/dist/cjs/keypair_storage.js +0 -143
- package/dist/cjs/keypair_storage.js.map +0 -1
- package/dist/cjs/ngrok_service.d.ts +0 -11
- package/dist/cjs/ngrok_service.js +0 -40
- package/dist/cjs/ngrok_service.js.map +0 -1
- package/dist/cjs/ssh2-node.d.ts +0 -1
- package/dist/cjs/ssh2-node.js +0 -221
- package/dist/cjs/ssh2-node.js.map +0 -1
- package/dist/esm/TestMessage.d.ts +0 -13
- package/dist/esm/TestMessage.js +0 -29
- package/dist/esm/TestMessage.js.map +0 -1
- package/dist/esm/index.d.ts +0 -73
- package/dist/esm/index.js +0 -616
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/keypair_storage.d.ts +0 -12
- package/dist/esm/keypair_storage.js +0 -117
- package/dist/esm/keypair_storage.js.map +0 -1
- package/dist/esm/ngrok_service.d.ts +0 -11
- package/dist/esm/ngrok_service.js +0 -37
- package/dist/esm/ngrok_service.js.map +0 -1
- package/dist/esm/ssh2-node.d.ts +0 -1
- package/dist/esm/ssh2-node.js +0 -194
- package/dist/esm/ssh2-node.js.map +0 -1
- package/dist/index.d.ts +0 -73
- package/dist/index.js +0 -620
- package/dist/index.js.map +0 -1
- package/dist/keypair_storage.d.ts +0 -12
- package/dist/keypair_storage.js +0 -120
- package/dist/keypair_storage.js.map +0 -1
- package/dist/ngrok_service.d.ts +0 -11
- package/dist/ngrok_service.js +0 -40
- package/dist/ngrok_service.js.map +0 -1
- package/dist/ssh2-node.d.ts +0 -1
- package/dist/ssh2-node.js +0 -188
- package/dist/ssh2-node.js.map +0 -1
- package/dist/types/TestMessage.d.ts +0 -13
- package/dist/types/index.d.ts +0 -73
- package/dist/types/keypair_storage.d.ts +0 -12
- package/dist/types/ngrok_service.d.ts +0 -11
- package/dist/types/ssh2-node.d.ts +0 -1
- package/ssh2-node +0 -2
package/dist/cjs/TestMessage.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TestMessage = void 0;
|
|
4
|
-
var crypto_1 = require("crypto");
|
|
5
|
-
var TestMessage = (function () {
|
|
6
|
-
function TestMessage() {
|
|
7
|
-
}
|
|
8
|
-
TestMessage.prototype.generateMessage = function (to, from, action, contents) {
|
|
9
|
-
return {
|
|
10
|
-
envelope: {
|
|
11
|
-
to: to,
|
|
12
|
-
from: from,
|
|
13
|
-
timestamp: new Date(),
|
|
14
|
-
action: action
|
|
15
|
-
},
|
|
16
|
-
contents: (contents) ? contents : (0, crypto_1.randomUUID)()
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
TestMessage.prototype.signMessage = function (msg, key) {
|
|
20
|
-
var s = key.createSign('sha1');
|
|
21
|
-
s.update(msg);
|
|
22
|
-
return s.sign();
|
|
23
|
-
};
|
|
24
|
-
TestMessage.prototype.verifyMessage = function (msg, signature, key) {
|
|
25
|
-
var v = key.createVerify('sha1');
|
|
26
|
-
v.update(msg);
|
|
27
|
-
return v.verify(signature);
|
|
28
|
-
};
|
|
29
|
-
return TestMessage;
|
|
30
|
-
}());
|
|
31
|
-
exports.TestMessage = TestMessage;
|
|
32
|
-
//# sourceMappingURL=TestMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestMessage.js","sourceRoot":"","sources":["../../src/TestMessage.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAEpC;IAAA;IAyBA,CAAC;IAvBU,qCAAe,GAAtB,UAAuB,EAAU,EAAE,IAAY,EAAE,MAAc,EAAE,QAAe;QAC5E,OAAO;YACH,QAAQ,EAAE;gBACN,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM;aACjB;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,mBAAU,GAAE;SACjD,CAAA;IACL,CAAC;IAEM,iCAAW,GAAlB,UAAmB,GAAU,EAAE,GAAG;QAC9B,IAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEM,mCAAa,GAApB,UAAqB,GAAU,EAAE,SAAS,EAAE,GAAG;QAC3C,IAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACL,kBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,kCAAW"}
|
package/dist/cjs/index.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node" />
|
|
5
|
-
import { Server, Socket } from 'net';
|
|
6
|
-
import { Writable } from 'stream';
|
|
7
|
-
import { EventEmitter } from 'events';
|
|
8
|
-
import { Client, Channel } from 'electron-ssh2';
|
|
9
|
-
import { KeypairStorage } from './keypair_storage';
|
|
10
|
-
import { NgrokApi } from './ngrok_service';
|
|
11
|
-
import { main } from './ssh2-node';
|
|
12
|
-
interface Listener {
|
|
13
|
-
[key: string]: Server;
|
|
14
|
-
}
|
|
15
|
-
interface RemotePort {
|
|
16
|
-
[key: string]: Socket;
|
|
17
|
-
}
|
|
18
|
-
export type SSHConfig = {
|
|
19
|
-
hostname: string;
|
|
20
|
-
username: string;
|
|
21
|
-
password?: string;
|
|
22
|
-
host?: string;
|
|
23
|
-
port?: string;
|
|
24
|
-
proxy_ports?: Array<string>;
|
|
25
|
-
remote_ports?: Array<string>;
|
|
26
|
-
private_key?: string | null;
|
|
27
|
-
private_key_filename?: string | null;
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
server_name?: string;
|
|
30
|
-
service_name?: string;
|
|
31
|
-
compress?: string;
|
|
32
|
-
cypher?: string;
|
|
33
|
-
exec?: Array<string>;
|
|
34
|
-
shell?: boolean;
|
|
35
|
-
ngrok_api?: string;
|
|
36
|
-
keepaliveInterval?: number;
|
|
37
|
-
};
|
|
38
|
-
export declare class SSHTunnelProxy extends EventEmitter {
|
|
39
|
-
protected client: Client;
|
|
40
|
-
protected keypairStorage: KeypairStorage;
|
|
41
|
-
protected config: SSHConfig;
|
|
42
|
-
protected listener: Listener;
|
|
43
|
-
protected remote_port: RemotePort;
|
|
44
|
-
protected retries: number;
|
|
45
|
-
protected networkOnline: boolean;
|
|
46
|
-
protected _tunnelReadyTimeout: ReturnType<typeof setTimeout>;
|
|
47
|
-
debug_en: boolean;
|
|
48
|
-
debug_ssh: boolean;
|
|
49
|
-
constructor();
|
|
50
|
-
protected shutdown_client(opts: any): void;
|
|
51
|
-
protected close_sockets(proxy_ports: Array<string>): void;
|
|
52
|
-
protected close_remote_forwards(remote_ports: Array<string>): void;
|
|
53
|
-
protected setup_local_forward(socket: Socket, remote_hostname: string, remote_port: string): void;
|
|
54
|
-
protected setup_remote_forward(remote_forward_str: string): Promise<number>;
|
|
55
|
-
setupRemotePorts(remote_ports: Array<string>): Promise<void>;
|
|
56
|
-
setupProxyPorts(proxy_ports: Array<string>): Promise<void>;
|
|
57
|
-
execCmd(cmd: string, dataStream?: Writable, errStream?: Writable): Promise<void>;
|
|
58
|
-
protected remote_shell(err: Error, stream: Channel): void;
|
|
59
|
-
protected cleanup_events(client: Client): void;
|
|
60
|
-
do_ssh_connect(opts: SSHConfig): Promise<void>;
|
|
61
|
-
validate_port_number(port: number, whitelist: object): boolean;
|
|
62
|
-
validate_local_forward(proxy_ports: Array<string>, whitelist: object): boolean;
|
|
63
|
-
protected ssh_retry_connect(opts: SSHConfig): void;
|
|
64
|
-
protected ssh_start_tunnel(opts: SSHConfig): Promise<unknown>;
|
|
65
|
-
connectSSH(opts: SSHConfig, whitelist: object | null): Promise<void>;
|
|
66
|
-
onNetworkOnline(): void;
|
|
67
|
-
onNetworkOffline(): void;
|
|
68
|
-
generateAndStoreKeypair(serviceName: string, account: string): void;
|
|
69
|
-
getPublicKey(serviceName: string, account: string): void;
|
|
70
|
-
getClient(): Client;
|
|
71
|
-
protected debug(...args: any[]): void;
|
|
72
|
-
}
|
|
73
|
-
export { KeypairStorage, NgrokApi, main as sshcli };
|