48 lines
		
	
	
		
			873 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			873 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
if_cmd() {
 | 
						|
    doas ifconfig $@
 | 
						|
}
 | 
						|
 | 
						|
destroy_interface() {
 | 
						|
    if_cmd $1 > /dev/null 2>&1
 | 
						|
    [ $? -eq 0 ] && ( doas ifconfig $1 down \
 | 
						|
                      && doas ifconfig $1 destroy )
 | 
						|
}
 | 
						|
 | 
						|
destroy_all() {
 | 
						|
    destroy_interface iwx0
 | 
						|
    destroy_interface re0
 | 
						|
    destroy_interface ure0
 | 
						|
}
 | 
						|
 | 
						|
setup_wifi() {
 | 
						|
    destroy_interface re0
 | 
						|
    destroy_interface ure0
 | 
						|
    destroy_interface iwx0
 | 
						|
    doas route -n flush
 | 
						|
    if_cmd iwx0 -joinlist
 | 
						|
    if_cmd iwx0 join DiscMate wpakey GeekConnection23
 | 
						|
    if_cmd iwx0 inet autoconf
 | 
						|
    if_cmd iwx0 inet6 autoconf
 | 
						|
    if_cmd iwx0 up
 | 
						|
}
 | 
						|
 | 
						|
setup_eth() {
 | 
						|
    destroy_interface re0
 | 
						|
    destroy_interface ure0
 | 
						|
    destroy_interface iwx0
 | 
						|
    doas route -n flush
 | 
						|
    if_cmd $1 inet autoconf
 | 
						|
    if_cmd $1 inet6 autoconf
 | 
						|
    if_cmd $1 up
 | 
						|
}
 | 
						|
 | 
						|
case $1 in
 | 
						|
    wifi) setup_wifi; ;;
 | 
						|
    re) setup_eth re0; ;;
 | 
						|
    ure) setup_eth ure0; ;;
 | 
						|
esac
 | 
						|
 | 
						|
 |