blinksocks/lib/transports/index.js
2017-09-21 09:33:02 +08:00

1 line
1.0 KiB
JavaScript

'use strict';Object.defineProperty(exports,'__esModule',{value:true});exports.createRelay=createRelay;var _lodash=require('lodash.uniqueid');var _lodash2=_interopRequireDefault(_lodash);var _core=require('../core');var _tcp=require('./tcp');var _tls=require('./tls');var _websocket=require('./websocket');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function createRelay(transport,context){let relay=null;switch(transport){case'tcp':relay=new _core.Relay({context,Inbound:_tcp.TcpInbound,Outbound:_tcp.TcpOutbound});relay.id=(0,_lodash2.default)('tcp_');break;case'tls':relay=new _core.Relay({context,Inbound:_tls.TlsInbound,Outbound:_tls.TlsOutbound});relay.id=(0,_lodash2.default)('tls_');break;case'websocket':relay=__IS_CLIENT__?new _core.Relay({context,Inbound:_tcp.TcpInbound,Outbound:_websocket.WsOutbound}):new _core.Relay({context,Inbound:_websocket.WsInbound,Outbound:_tcp.TcpOutbound});relay.id=(0,_lodash2.default)('ws_');break;default:throw Error(`unknown transport: ${transport}`);}return relay}