opkg update && opkg install ipset
echo "100 wg0" >> /etc/iproute2/rt_tables
wget -O /etc/hotplug.d/iface/50-tun-routes https://gist.githubusercontent.com/korzhyk/5038e1b63bbc45bef04be95b20969302/raw/50-tun-routes
uci batch <<EOF
add network rule
set network.@rule[-1].priority='100'
set network.@rule[-1].lookup='wg0'
set network.@rule[-1].mark='0x1'
EOF
uci commit network
service network restart
uci batch <<EOF
add firewall zone
set firewall.@zone[-1].name='tun'
set firewall.@zone[-1].masq='1'
set firewall.@zone[-1].output='ACCEPT'
set firewall.@zone[-1].forward='REJECT'
set firewall.@zone[-1].input='REJECT'
set firewall.@zone[-1].mtu_fix='1'
set firewall.@zone[-1].network='wg0'
add firewall forwarding
set firewall.@forwarding[-1].src='lan'
set firewall.@forwarding[-1].dest='tun'
add firewall ipset
set firewall.@ipset[-1].name='wg0'
set firewall.@ipset[-1].storage='hash'
set firewall.@ipset[-1].match='dst_net'
set firewall.@ipset[-1].loadfile='/tmp/lists/wg0.list'
add firewall rule
set firewall.@rule[-1].name='wg0'
set firewall.@rule[-1].src='lan'
set firewall.@rule[-1].dest='*'
set firewall.@rule[-1].proto='all'
set firewall.@rule[-1].ipset='wg0'
set firewall.@rule[-1].set_mark='0x1'
set firewall.@rule[-1].target='MARK'
EOF
uci commit firewall
service firewall restart