mirror of
				https://github.com/gnh1201/welsonjs.git
				synced 2025-10-30 20:41:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| ////////////////////////////////////////////////////////////////////////
 | |
| // TUN2SOCKS API
 | |
| ////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| var SHELL = require("lib/shell");
 | |
| var SYS = require("lib/system");
 | |
| 
 | |
| exports.VERSIONINFO = "TUN2SOCKS Lib (tun2socks.js) version 0.1";
 | |
| exports.global = global;
 | |
| exports.require = global.require;
 | |
| exports.binPath = "bin/tun2socks.exe";
 | |
| 
 | |
| /**
 | |
|  * @param {string} name
 | |
|  * @param {Object} options
 | |
|  */
 | |
| exports.assign = function(name, options) {
 | |
|     var defaultOptions = {
 | |
|         tunAddr: "10.0.0.2",
 | |
|         tunGw: "10.0.0.1",
 | |
|         proxyType: "socks",
 | |
|         proxyServer: "127.0.0.1:1080",
 | |
|         tunDns: "8.8.8.8,8.8.4.4", // Cloudflare DNS
 | |
|         tunName: name
 | |
|     }, _options = options, cmd = [];
 | |
|     
 | |
|     // fill with default options
 | |
|     for (var k in defaultOptions) {
 | |
|         if (!(k in _options)) {
 | |
|             _options[k] = defaultOptions[k];
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     // make command
 | |
|     cmd.push("tun2socks");
 | |
|     for (var k in _options) {
 | |
|         cmd.push('-' + k);
 | |
|         cmd.push(_options[k]);
 | |
|     }
 | |
| 
 | |
|     // return
 | |
|     SHELL.run(cmd);
 | |
| };
 |