summaryrefslogtreecommitdiff
path: root/src/wg.sh
blob: d11c59a06f5487ba4dccd74bc9ad9040c658504f (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
#!/bin/bash
LIBROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
function wg::install() {
    case $OSRELEASE in
    ubuntu)
        apt update
        apt install wireguard
        ;;
   arch)
        pacman -Sy --noconfirm wireguard-tools
        ;;
   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."