mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-30 18:07:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/ucode
 | |
| 
 | |
| let ubus = require('ubus').connect();
 | |
| let uci = require('uci').cursor();
 | |
| 
 | |
| function restart() {
 | |
| 	system('/etc/init.d/spotfilter restart');
 | |
| 	system('/etc/init.d/uhttpd restart');
 | |
| }
 | |
| 
 | |
| switch(ARGV[0]) {
 | |
| case 'dump':
 | |
| 	let clients = ubus.call('spotfilter', 'client_list', { interface: 'hotspot'});
 | |
| 	printf('%.J\n', clients);
 | |
| 	break;
 | |
| case 'clients':
 | |
| 	let clients = ubus.call('spotfilter', 'client_list', { interface: 'hotspot'});
 | |
| 	let res = {};
 | |
| 	let t = time();
 | |
| 
 | |
| 	for (let c, val in clients) {
 | |
| 		res[c] = {
 | |
| 			status: val.state ? 'Authenticated' : 'Garden',
 | |
|                         idle: val.idle || 0,
 | |
| 			time: val.data.connect ? t - val.data.connect : 0,
 | |
| 			ip4addr: val.ip4addr || '',
 | |
| 			ip6addr: val.ip6addr || '',
 | |
| 			packets_ul: val.packets_ul || 0,
 | |
| 			bytes_ul: val.bytes_ul || 0,
 | |
| 			packets_dl: val.packets_dl || 0,
 | |
| 			bytes_dl: val.bytes_dl || 0,
 | |
| 		};
 | |
| 	}
 | |
| 	printf('%.J\n', res);
 | |
| 	break;
 | |
| case 'remove':
 | |
| 	ubus.call('spotfilter', 'client_remove', { interface: 'hotspot', address: ARGV[1] || ''});
 | |
| 	break;
 | |
| case 'restart':
 | |
| 	restart();
 | |
| 	break;
 | |
| case 'log':
 | |
| 	system('logread -f | grep uspot:');
 | |
| 	break;
 | |
| case 'debugon':
 | |
| case 'debugoff':
 | |
| 	uci.set('uspot', 'config', 'debug', 1);
 | |
| 	uci.commit();
 | |
| 	restart();
 | |
| 	break;
 | |
| default:
 | |
| 	break;
 | |
| }
 | 
