forked from coolaj86/telebit.js
		
	move intentional user messages and client data to CLI/UI
This commit is contained in:
		
							parent
							
								
									3a8f5fee4e
								
							
						
					
					
						commit
						553c385e34
					
				| @ -97,6 +97,7 @@ function connectTunnel() { | |||||||
|   if (!state.config.sortingHat) { |   if (!state.config.sortingHat) { | ||||||
|     state.config.sortingHat = path.resolve(__dirname, '..', 'lib/sorting-hat.js'); |     state.config.sortingHat = path.resolve(__dirname, '..', 'lib/sorting-hat.js'); | ||||||
|   } |   } | ||||||
|  |   // TODO sortingHat.print();
 | ||||||
| 
 | 
 | ||||||
|   // TODO Check undefined vs false for greenlock config
 |   // TODO Check undefined vs false for greenlock config
 | ||||||
|   var tun = remote.connect({ |   var tun = remote.connect({ | ||||||
| @ -107,6 +108,37 @@ function connectTunnel() { | |||||||
|   , net: state.net |   , net: state.net | ||||||
|   , insecure: state.config.relay_ignore_invalid_certificates |   , insecure: state.config.relay_ignore_invalid_certificates | ||||||
|   , token: state.token |   , token: state.token | ||||||
|  |   , handlers: { | ||||||
|  |       grant: function (grants) { | ||||||
|  |         console.info(""); | ||||||
|  |         console.info("Connect to your device by any of the following means:"); | ||||||
|  |         console.info(""); | ||||||
|  |         grants.forEach(function (arr) { | ||||||
|  |           if ('ssh+https' === arr[0]) { | ||||||
|  |             console.info("SSH+HTTPS"); | ||||||
|  |           } else if ('ssh' === arr[0]) { | ||||||
|  |             console.info("SSH"); | ||||||
|  |           } else if ('tcp' === arr[0]) { | ||||||
|  |             console.info("TCP"); | ||||||
|  |           } else if ('https' === arr[0]) { | ||||||
|  |             console.info("HTTPS"); | ||||||
|  |           } | ||||||
|  |           console.log('\t' + arr[0] + '://' + arr[1] + (arr[2] ? (':' + arr[2]) : '')); | ||||||
|  |           if ('ssh+https' === arr[0]) { | ||||||
|  |             console.info("\tex: ssh -o ProxyCommand='openssl s_client -connect %h:%p -quiet' " + arr[1] + " -p 443\n"); | ||||||
|  |           } else if ('ssh' === arr[0]) { | ||||||
|  |             console.info("\tex: ssh " + arr[1] + " -p " + arr[2] + "\n"); | ||||||
|  |           } else if ('tcp' === arr[0]) { | ||||||
|  |             console.info("\tex: netcat " + arr[1] + " " + arr[2] + "\n"); | ||||||
|  |           } else if ('https' === arr[0]) { | ||||||
|  |             console.info("\tex: curl https://" + arr[1] + "\n"); | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     , access_token: function (jwt) { | ||||||
|  |         console.info("Received updated access_token:", jwt); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   , greenlockConfig: { |   , greenlockConfig: { | ||||||
|       version: state.greenlock.version || 'draft-11' |       version: state.greenlock.version || 'draft-11' | ||||||
|     , server: state.greenlock.server || 'https://acme-v02.api.letsencrypt.org/directory' |     , server: state.greenlock.server || 'https://acme-v02.api.letsencrypt.org/directory' | ||||||
|  | |||||||
| @ -217,32 +217,9 @@ function _connect(state) { | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   function displayGrants(grants) { |   function noHandler(cmd) { | ||||||
|     // TODO sortingHat.print();
 |     console.warn("[telebit] state.handlers['" + cmd[1] + "'] not set"); | ||||||
|     console.log(""); |     console.warn(cmd[2]); | ||||||
|     console.log("Connect to your device by any of the following means:"); |  | ||||||
|     console.log(""); |  | ||||||
|     grants.forEach(function (arr) { |  | ||||||
|       if ('ssh+https' === arr[0]) { |  | ||||||
|         console.log("SSH+HTTPS"); |  | ||||||
|       } else if ('ssh' === arr[0]) { |  | ||||||
|         console.log("SSH"); |  | ||||||
|       } else if ('tcp' === arr[0]) { |  | ||||||
|         console.log("TCP"); |  | ||||||
|       } else if ('https' === arr[0]) { |  | ||||||
|         console.log("HTTPS"); |  | ||||||
|       } |  | ||||||
|       console.log('\t' + arr[0] + '://' + arr[1] + (arr[2] ? (':' + arr[2]) : '')); |  | ||||||
|       if ('ssh+https' === arr[0]) { |  | ||||||
|         console.log("\tex: ssh -o ProxyCommand='openssl s_client -connect %h:%p -quiet' " + arr[1] + " -p 443\n"); |  | ||||||
|       } else if ('ssh' === arr[0]) { |  | ||||||
|         console.log("\tex: ssh " + arr[1] + " -p " + arr[2] + "\n"); |  | ||||||
|       } else if ('tcp' === arr[0]) { |  | ||||||
|         console.log("\tex: netcat " + arr[1] + " " + arr[2] + "\n"); |  | ||||||
|       } else if ('https' === arr[0]) { |  | ||||||
|         console.log("\tex: curl https://" + arr[1] + "\n"); |  | ||||||
|       } |  | ||||||
|     }); |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   var connCallback; |   var connCallback; | ||||||
| @ -287,7 +264,19 @@ function _connect(state) { | |||||||
|         err = null; |         err = null; | ||||||
|       } else if (cmd[1] === 'grant') { |       } else if (cmd[1] === 'grant') { | ||||||
|         authenticated = true; |         authenticated = true; | ||||||
|         displayGrants(cmd[2]); |         if (state.handlers[cmd[1]]) { | ||||||
|  |           state.handlers[cmd[1]](cmd[2]); | ||||||
|  |         } else { | ||||||
|  |           noHandler(cmd); | ||||||
|  |         } | ||||||
|  |         return; | ||||||
|  |       } else if (cmd[1] === 'access_token') { | ||||||
|  |         authenticated = true; | ||||||
|  |         if (state.handlers[cmd[1]]) { | ||||||
|  |           state.handlers[cmd[1]](cmd[2]); | ||||||
|  |         } else { | ||||||
|  |           noHandler(cmd); | ||||||
|  |         } | ||||||
|         return; |         return; | ||||||
|       } else { |       } else { | ||||||
|         err = { message: 'unknown command "'+cmd[1]+'"', code: 'E_UNKNOWN_COMMAND' }; |         err = { message: 'unknown command "'+cmd[1]+'"', code: 'E_UNKNOWN_COMMAND' }; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user