blob: 8ed0098ee79bb008d8e62ec15c723142794f7fe9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/bin/bash
LIBROOT="$(cd "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}")" && pwd)"
function wg::install() {
case $OSRELEASE in
ubuntu)
apt update -y
apt install -y wireguard
;;
arch)
pacman -Sy --noconfirm wireguard-tools
pacman -Sy --noconfirm iptables
;;
esac
}
function wg::start() {
dev=$1
privatekey=$2
localip=$3
localip6=$4
port=$5
ip link del dev $dev type wireguard
ip link add dev $dev type wireguard
ip address add dev $dev $localip
ip -6 addr add $localip6 dev $dev
wg set wg0 listen-port $port private-key $privatekey
ip link set up dev $dev
}
function wg::gen_peer(){
numpath=$1
peer=$2
}
function wg::genkey() {
wg genkey | tee privatekey | wg pubkey > publickey
}
function wg::client_stop() {
ip link set down dev $1
ip link del dev $1
}
echo "lib wg loaded."
|