Title here
Summary here
brew
# install wireguard and dependencies
> brew install \
wireguard-go \
wireguard-tools \
bash
# create wg config file in '/opt/homebrew/etc/wireguard'
> sudo cat <<EOF > /opt/homebrew/etc/wireguard/wg0.conf
[Interface]
Address = 10.15.0.2/32
PrivateKey = XXXxxx=
[Peer]
PublicKey = XXXxxx=
PresharedKey = XXXxxx=
AllowedIPs = 10.15.0.0/24
Endpoint = 192.168.0.1:51820
PersistentKeepalive = 25
EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>wireguard-wg0</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/wg-quick</string>
<string>up</string>
<string>wg0</string>
</array>
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<true/>
</dict>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/opt/homebrew/var/log/wireguard.err</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<!-- Adds in user-specific and Homebrew bin directories to start of PATH -->
<string>/opt/homebrew/bin/wg-quick:/opt/homebrew/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
</dict>
</plist>
# start and enable
> launchctl enable system/wireguard-wg0.plist
> launchctl bootstrap system /Library/LaunchDaemons/wireguard-wg0.plist
# reload
> launchctl unload system/wireguard-wg0.plist