print socket location
This commit is contained in:
		
							parent
							
								
									aa9fa8b135
								
							
						
					
					
						commit
						f112eebf44
					
				
							
								
								
									
										40
									
								
								bin/telebit.js
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										40
									
								
								bin/telebit.js
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -3,6 +3,7 @@ | ||||
| 'use strict'; | ||||
| 
 | ||||
| var pkg = require('../package.json'); | ||||
| var os = require('os'); | ||||
| 
 | ||||
| //var url = require('url');
 | ||||
| var path = require('path'); | ||||
| @ -19,6 +20,7 @@ var argv = process.argv.slice(2); | ||||
| var argIndex = argv.indexOf('--config'); | ||||
| var confpath; | ||||
| var useTty; | ||||
| var state = {}; | ||||
| if (-1 === argIndex) { | ||||
|   argIndex = argv.indexOf('-c'); | ||||
| } | ||||
| @ -71,12 +73,11 @@ function help() { | ||||
|   console.info(''); | ||||
| } | ||||
| 
 | ||||
| var verstr = '' + pkg.name + ' v' + pkg.version; | ||||
| var verstr = [ pkg.name + ' v' + pkg.version ]; | ||||
| if (!confpath) { | ||||
|   confpath = path.join(require('os').homedir(), '.config/telebit/telebit.yml'); | ||||
|   verstr += ' (--config "' + confpath + '")'; | ||||
|   confpath = path.join(os.homedir(), '.config/telebit/telebit.yml'); | ||||
|   verstr.push('(--config "' + confpath + '")'); | ||||
| } | ||||
| console.info(verstr + '\n'); | ||||
| 
 | ||||
| if (-1 !== argv.indexOf('-h') || -1 !== argv.indexOf('--help')) { | ||||
|   help(); | ||||
| @ -321,21 +322,14 @@ function askForConfig(answers, mainCb) { | ||||
| } | ||||
| 
 | ||||
| function parseConfig(err, text) { | ||||
|   var config; | ||||
| 
 | ||||
|   if (err) { | ||||
|     console.error("\nCouldn't load config:\n\n\t" + err.message + "\n"); | ||||
|     if ('ENOENT' === err.code) { | ||||
|       text = 'relay: \'\''; | ||||
|     } | ||||
|     //askForConfig();
 | ||||
|   } | ||||
|   console.info(verstr.join(' ')); | ||||
| 
 | ||||
|   try { | ||||
|     config = JSON.parse(text); | ||||
|     state.config = JSON.parse(text || '{}'); | ||||
|   } catch(e1) { | ||||
|     try { | ||||
|       config = YAML.safeLoad(text); | ||||
|       state.config = YAML.safeLoad(text || '{}'); | ||||
|     } catch(e2) { | ||||
|       console.error(e1.message); | ||||
|       console.error(e2.message); | ||||
| @ -344,12 +338,26 @@ function parseConfig(err, text) { | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   config = camelCopy(config); | ||||
|   state.config = camelCopy(state.config || {}) || {}; | ||||
|   state._ipc = common.pipename(state.config, true); | ||||
| 
 | ||||
|   if (!Object.keys(state.config).length) { | ||||
|     console.info('(' + state._ipc.comment + ": " + state._ipc.path + ')'); | ||||
|   } | ||||
|   console.info(""); | ||||
| 
 | ||||
|   if ((err && 'ENOENT' === err.code) || !Object.keys(state.config).length) { | ||||
|     if (!err || 'ENOENT' === err.code) { | ||||
|       //console.warn("Empty config file. Run 'telebit init' to configure.\n");
 | ||||
|     } else { | ||||
|       console.warn("Couldn't load config:\n\n\t" + err.message + "\n"); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   function putConfig(service, args) { | ||||
|     // console.log('got it', service, args);
 | ||||
|     var req = http.get({ | ||||
|       socketPath: common.pipename(config) | ||||
|       socketPath: state._ipc.path | ||||
|     , method: 'POST' | ||||
|     , path: '/rpc/' + service + '?_body=' + JSON.stringify(args) | ||||
|     }, function (resp) { | ||||
|  | ||||
| @ -45,16 +45,15 @@ function help() { | ||||
|   console.info(''); | ||||
| } | ||||
| 
 | ||||
| var verstr = '' + pkg.name + ' v' + pkg.version; | ||||
| var verstr = [ pkg.name + ' v' + pkg.version ]; | ||||
| if (-1 === confIndex) { | ||||
|   // We have two possible valid paths if no --config is given (i.e. run from an npm-only install)
 | ||||
|   //   * {install}/etc/telebitd.yml
 | ||||
|   //   * ~/.config/telebit/telebitd.yml
 | ||||
|   // We'll asume the later since the installers include --config in the system launcher script
 | ||||
|   confpath = path.join(state.homedir, '.config/telebit/telebitd.yml'); | ||||
|   verstr += ' (--config "' + confpath + '")'; | ||||
|   verstr.push('(--config "' + confpath + '")'); | ||||
| } | ||||
| console.info(verstr + '\n'); | ||||
| 
 | ||||
| if (-1 !== argv.indexOf('-h') || -1 !== argv.indexOf('--help')) { | ||||
|   help(); | ||||
| @ -405,9 +404,20 @@ function serveControls() { | ||||
| } | ||||
| 
 | ||||
| function parseConfig(err, text) { | ||||
|   var config; | ||||
| 
 | ||||
|   function run() { | ||||
|     if (!state.config) { | ||||
|       state.config = {}; | ||||
|     } | ||||
|     state._ipc = common.pipename(state.config, true); | ||||
|     console.info(''); | ||||
|     console.info(verstr.join(' ')); | ||||
|     if (!state.config.sock) { | ||||
|       console.info('(' + state._ipc.comment + ': "' + state._ipc.path + '")'); | ||||
|     } | ||||
|     console.info(''); | ||||
|     state.token = state.token || state.config.token || token; | ||||
| 
 | ||||
|     state._confpath = confpath; | ||||
|     if (!state.config.servernames) { | ||||
|       state.config.servernames = {}; | ||||
| @ -421,18 +431,11 @@ function parseConfig(err, text) { | ||||
|     serveControls(); | ||||
|   } | ||||
| 
 | ||||
|   if (err) { | ||||
|     console.warn("\nCouldn't load config:\n\n\t" + err.message + "\n"); | ||||
|     state.config = {}; | ||||
|     run(); | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|   try { | ||||
|     config = JSON.parse(text); | ||||
|     state.config = JSON.parse(text || '{}'); | ||||
|   } catch(e1) { | ||||
|     try { | ||||
|       config = YAML.safeLoad(text); | ||||
|       state.config = YAML.safeLoad(text || '{}'); | ||||
|     } catch(e2) { | ||||
|       console.error(e1.message); | ||||
|       console.error(e2.message); | ||||
| @ -441,24 +444,17 @@ function parseConfig(err, text) { | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   state.config = camelCopy(config); | ||||
|   state._ipc = common.pipename(state.config, true); | ||||
|   if (!state.config.sock) { | ||||
|     console.info('(' + state._ipc.comment + ': ' + state._ipc.path + ')'); | ||||
|   } | ||||
|   if (state.config.token && token) { | ||||
|     console.warn(); | ||||
|     console.warn("Found two tokens:"); | ||||
|     console.warn(); | ||||
|     console.warn("\t1. " + tokenpath); | ||||
|     console.warn("\n2. " + confpath); | ||||
|     console.warn(); | ||||
|     console.warn("Choosing the first."); | ||||
|     console.warn(); | ||||
|   } | ||||
|   state.token = token; | ||||
|   state.config = camelCopy(state.config || {}) || {}; | ||||
| 
 | ||||
|   run(); | ||||
| 
 | ||||
|   if ((err && 'ENOENT' === err.code) || !Object.keys(state.config).length) { | ||||
|     if (!err || 'ENOENT' === err.code) { | ||||
|       console.warn("Empty config file. Run 'telebit init' to configure.\n"); | ||||
|     } else { | ||||
|       console.warn("Couldn't load config:\n\n\t" + err.message + "\n"); | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| function connectTunnel() { | ||||
|  | ||||
| @ -17,7 +17,7 @@ common.pipename = function (config, newApi) { | ||||
|   , type: (/^win/i.test(os.platform()) ? 'pipe' : 'socket') | ||||
|   }; | ||||
|   if ('pipe' === _ipc.type) { | ||||
|     _ipc.path = '\\\\?\\pipe' + pipename.replace(/\//, '\\'); | ||||
|     _ipc.path = '\\\\?\\pipe' + _ipc.path.replace(/\//, '\\'); | ||||
|   } | ||||
|   if (newApi) { | ||||
|     return _ipc; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user