44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
CFLAGS = -std=gnu99 -pie -fPIC -pedantic -Wno-imports -Wunused -Wno-missing-field-initializers -Wextra -Wunreachable-code -O3
 | 
						|
 | 
						|
all: wireguard_mount wireguard_resolve vpn
 | 
						|
 | 
						|
wireguard_mount: src/wireguard-mount.c
 | 
						|
	mkdir -p bin
 | 
						|
	gcc $(CFLAGS) -o bin/wireguard-mount src/wireguard-mount.c -lsystemd
 | 
						|
 | 
						|
wireguard_resolve: src/resolve.c src/resolve.s
 | 
						|
	mkdir -p bin
 | 
						|
	gcc -shared -o bin/wireguard-resolve.so -nostdlib -fPIC src/resolve.c src/resolve.s
 | 
						|
 | 
						|
vpn: src/vpn.c
 | 
						|
	mkdir -p bin
 | 
						|
	gcc $(CFLAGS) -o bin/vpn src/vpn.c
 | 
						|
 | 
						|
format: src scripts
 | 
						|
	clang-format -i src/*.c
 | 
						|
	ruff --fix scripts
 | 
						|
	black scripts
 | 
						|
 | 
						|
install_mount: systemd bin
 | 
						|
	mkdir -p /snacks/wireguard/bin
 | 
						|
	cp bin/wireguard-mount /snacks/wireguard/bin/wireguard-mount
 | 
						|
	cp systemd/wireguard-mount.service /etc/systemd/system/wireguard-mount.service
 | 
						|
	chmod -R 755 /snacks/wireguard
 | 
						|
	systemctl daemon-reload
 | 
						|
	systemctl enable wireguard-mount
 | 
						|
	systemctl start wireguard-mount
 | 
						|
 | 
						|
install_basic: systemd scripts bin
 | 
						|
	mkdir -p /snacks/wireguard/bin
 | 
						|
	mkdir -p /snacks/wireguard/scripts
 | 
						|
	cp systemd/vpnclient-wg-basic.service /etc/systemd/system/vpnclient-wg-basic.service
 | 
						|
	cp scripts/connect_basic.py /snacks/wireguard/scripts/connect_basic.py
 | 
						|
	cp scripts/inner_basic.sh /snacks/wireguard/scripts/inner_basic.sh
 | 
						|
	cp scripts/is_root_namespace.py /snacks/wireguard/scripts/is_root_namespace.py
 | 
						|
	cp scripts/dns.nft /snacks/wireguard/scripts/dns.nft
 | 
						|
	cat scripts/vpn_prompt.sh >> /etc/zsh/zshrc
 | 
						|
	cp bin/vpn /usr/local/bin/vpn
 | 
						|
	setcap cap_sys_admin,cap_sys_ptrace=ep /usr/local/bin/vpn
 | 
						|
	chmod -R 755 /snacks/wireguard
 | 
						|
	systemctl daemon-reload
 |