# wireguard-activate

## WireGuard

### WireGuard Activate

1. Tạo file demon service activate

```bash
nano /etc/systemd/system/wg-http-activate.service

# enable service
systemctl daemon-reload
systemctl enable wg-http-activate.service
```

Nội dung file `wg-http-activate.service`

```ini
[Unit]
Description=Activate WireGuard HTTP Trigger
After=network-online.target wg-quick@wg0.service
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/u01/crontab/00-start-wg.sh

[Install]
WantedBy=multi-user.target
```

2. Tạo script start wireguard

```bash
nano /u01/crontab/00-start-wg.sh
```

Nội dung file `00-start-wg.sh`

```bash
#!/bin/bash

WG_INTERFACE="wg0"
CLIENT_NAME="${CLIENT_NAME:-client1}"
PING_IP="10.8.0.1"
SERVER_URL="${SERVER_URL:-http://server_address/healthcheck}"
URL="http://10.8.0.1"

# neu wg chua chay thi bat
if ! /usr/bin/wg show $WG_INTERFACE >/dev/null 2>&1; then
  /usr/bin/wg-quick up $WG_INTERFACE
fi

# doi interface on dinh
sleep 5

# kiem tra neu chua ping duoc thi goi http de kich hoat
if ! ping -c 1 $PING_IP >/dev/null 2>&1; then
  /usr/bin/curl -m 5 $URL >/dev/null 2>&1
fi

exit 0


```
