mrkplz
9
Thank you @admon.
Just sharing for anyone who may be interested.
Here’s a basic script for changing my wg server endpoint and applying different vpn policy.
It seems working like a charm. Firewall rules gets updated automatically, triggered by the change of state of the wgclient interface.
#!/bin/sh
#Turning VPN down
uci set network.wgclient.disabled='1'
ubus -v call network.interface.wgclient down
ubus -v call network reload
echo "VPN is down"
sleep 2
#Change policy (e.g. 0 is for global proxy, 3 is for Target domain policy)
uci set vpnpolicy.route_policy.proxy_mode='3'
uci commit vpnpolicy
echo "Policy updated..."
sleep 1
#Choosing peer
uci set network.wgclient.config='peer_6429'
echo "Wireguard Turkey server selected"
#Turning VPN up
uci set network.wgclient.disabled='0'
ubus -v call network reload
sleep 2
ubus -v call network.interface.wgclient up
echo "VPN Connected!"