Hello everyone,
I have finally found a way to connect the venusgx device to my home network using Wireguard as a VPN.
I hope it's useful to somebody, as other posts in this community have been for me.
Venus OS does have the Wireguard kernel module but was missing the wg command, following their documentation I was able to COMPILE from source the wg command with:
opkg update opkg install git git clone https://git.zx2c4.com/wireguard-tools opkg install coreutils make -C wireguard-tools/src -j$(nproc) sudo make -C wireguard-tools/src install
and in order to SETUP Wireguard i then used:
ip link add dev wg0 type wireguard ip address add dev wg0 10.0.77.4/24 wg setconf wg0 /data/wireguard/venusgx_wg.conf ip link set up dev wg0
Notes:
- It might be good to add the
PersistentKeepalive = 24
parameter in the peer configuration file to keep the connection live on a cellular connection, you might also need to play with the value 24, if it's dropping the connection.
- The setup of Wireguard goes away after rebooting, so you might need to put a script in /data/rc.local for that, and
- The compile from source binaries (wg) will go away on a system update so you need to handle that as well.
I have an entry in /data/rc.local pointing to a script that has this on my system for the automated compile part:
#!/bin/bash
running_file_name=$(basename "$0")
echo "-"
echo "[Running '$running_file_name']"
if [ -x "$(command -v wg)" ] ; then
echo "wireguard already installed"
exit
fi
if [ ! -x "$(command -v install)" ] ; then
echo "command install not found, checking internet connection"
curl --output /dev/null --silent --retry 15 --retry-max-time 120 --retry-connrefused -w "\n" "8.8.8.8" #wait for internet connection
exit_status=$?
if [ $exit_status -ne 0 ]; then
echo "failed detecting connection to internet"
exit 100
fi
echo "installing coreutils"
opkg update
opkg install coreutils
fi
if [ -x "$(command -v install)" ] ; then
echo "installing wireguard"
if [ ! -d "wireguard-tools" ] ; then
echo "cloning wireguard git repository"
git clone https://git.zx2c4.com/wireguard-tools
else
echo "wireguard git repository already exists"
fi
make -C wireguard-tools/src -j$(nproc)
sudo make -C wireguard-tools/src install
echo "wireguard installed"
else
echo "install command not found, failed installing"
fi