UNPKG

@serve.zone/remoteingress

Version:

Provides a service for creating private tunnels and reaching private clusters from the outside, facilitating secure remote access as part of the @serve.zone stack.

31 lines 2.64 kB
import * as plugins from './plugins.js'; export class ConnectorPrivate { constructor(targetHost, targetPort = 4000) { this.targetHost = targetHost; this.targetPort = targetPort; this.connectToPublicRemoteConnector(); } connectToPublicRemoteConnector() { const options = { // Include CA certificate if necessary, for example: // ca: fs.readFileSync('path/to/ca.pem'), rejectUnauthorized: true // Only set this to true if you are sure about the server's certificate }; const tunnel = plugins.tls.connect(this.targetPort, options, () => { console.log('Connected to PublicRemoteConnector on port 4000'); }); tunnel.on('data', (data) => { const targetConnection = plugins.tls.connect({ host: this.targetHost, port: this.targetPort, // Include necessary options for the target connection }, () => { targetConnection.write(data); }); targetConnection.on('data', (backData) => { tunnel.write(backData); // Send data back through the tunnel }); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLnByaXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jb25uZWN0b3IucHJpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQVksVUFBa0IsRUFBRSxhQUFxQixJQUFJO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyw4QkFBOEI7UUFDcEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxvREFBb0Q7WUFDcEQseUNBQXlDO1lBQ3pDLGtCQUFrQixFQUFFLElBQUksQ0FBQyx1RUFBdUU7U0FDakcsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ2pDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQzNDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUNyQixzREFBc0Q7YUFDdkQsRUFBRSxHQUFHLEVBQUU7Z0JBQ04sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBRUgsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9DQUFvQztZQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=