forked from coolaj86/telebit.js
		
	add client-side otp
This commit is contained in:
		
							parent
							
								
									a9c7b62383
								
							
						
					
					
						commit
						4f8a4fec8c
					
				| @ -124,6 +124,9 @@ function serveControls() { | |||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     //
 | ||||||
|  |     // without proper config
 | ||||||
|  |     //
 | ||||||
|     if (/\b(init|config)\b/.test(opts.pathname)) { |     if (/\b(init|config)\b/.test(opts.pathname)) { | ||||||
|       var conf = {}; |       var conf = {}; | ||||||
|       var fresh; |       var fresh; | ||||||
| @ -214,19 +217,28 @@ function serveControls() { | |||||||
|           return; |           return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // TODO check for message from remote about email
 |         listSuccess(); | ||||||
|         if (/\btelebit\.cloud\b/i.test(state.config.relay) && state.config.email && !state.token) { |  | ||||||
|           res.statusCode = 200; |  | ||||||
|           res.end('{"success":true,"code":"AWAIT_AUTH","message":"Check your email. You must verify your email address to activate this device."}'); |  | ||||||
|         } else { |  | ||||||
|           res.statusCode = 200; |  | ||||||
|           res.end('{"success":true}'); |  | ||||||
|         } |  | ||||||
|       }); |       }); | ||||||
| 
 | 
 | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     if (/restart/.test(opts.pathname)) { | ||||||
|  |       tun.end(); | ||||||
|  |       res.end('{"success":true}'); | ||||||
|  |       controlServer.close(function () { | ||||||
|  |         // TODO closeAll other things
 | ||||||
|  |         process.nextTick(function () { | ||||||
|  |           // system daemon will restart the process
 | ||||||
|  |           process.exit(22); // use non-success exit code
 | ||||||
|  |         }); | ||||||
|  |       }); | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     //
 | ||||||
|  |     // Check for proper config
 | ||||||
|  |     //
 | ||||||
|     if (!state.config.relay || !state.config.email || !state.config.agreeTos) { |     if (!state.config.relay || !state.config.email || !state.config.agreeTos) { | ||||||
|       res.statusCode = 400; |       res.statusCode = 400; | ||||||
|       res.end('{"error":{"code":"E_CONFIG","message":"Invalid config file. Please run \'telebit init\'"}}'); |       res.end('{"error":{"code":"E_CONFIG","message":"Invalid config file. Please run \'telebit init\'"}}'); | ||||||
| @ -368,19 +380,6 @@ function serveControls() { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (/restart/.test(opts.pathname)) { |  | ||||||
|       tun.end(); |  | ||||||
|       res.end('{"success":true}'); |  | ||||||
|       controlServer.close(function () { |  | ||||||
|         // TODO closeAll other things
 |  | ||||||
|         process.nextTick(function () { |  | ||||||
|           // system daemon will restart the process
 |  | ||||||
|           process.exit(22); // use non-success exit code
 |  | ||||||
|         }); |  | ||||||
|       }); |  | ||||||
|       return; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     if (/list/.test(opts.pathname)) { |     if (/list/.test(opts.pathname)) { | ||||||
|       listSuccess(); |       listSuccess(); | ||||||
|       return; |       return; | ||||||
| @ -478,7 +477,7 @@ function connectTunnel() { | |||||||
|     return i; |     return i; | ||||||
|   } |   } | ||||||
|   function getOtp() { |   function getOtp() { | ||||||
|     return leftpad(Math.random() * 9999, 4, '0'); |     return leftpad(Math.round(Math.random() * 9999), 4, '0'); | ||||||
|   } |   } | ||||||
|   process.on('SIGINT', sigHandler); |   process.on('SIGINT', sigHandler); | ||||||
|   state.net = state.net || { |   state.net = state.net || { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user