33 lines
964 B
Bash
Executable file
33 lines
964 B
Bash
Executable file
#!/bin/bash
|
|
|
|
while true; do
|
|
# Check both Mullvad connection and internet connectivity
|
|
if ! mullvad status | grep -q "Connected"; then
|
|
echo "$(date '+%H:%M:%S') - Mullvad reports as disconnected. Reconnecting..."
|
|
mullvad disconnect
|
|
sleep 2
|
|
mullvad connect
|
|
|
|
# Wait a moment for connection to establish
|
|
sleep 2
|
|
|
|
# Verify and report the new connection status
|
|
if mullvad status | grep -q "Connected"; then
|
|
echo "$(date '+%H:%M:%S') - Successfully reconnected to Mullvad"
|
|
fi
|
|
elif ! ping -c 1 google.com &>/dev/null; then
|
|
echo "$(date '+%H:%M:%S') - Ping to google.com failed. Reconnecting..."
|
|
mullvad disconnect
|
|
sleep 2
|
|
mullvad connect
|
|
|
|
# Wait a moment for connection to establish
|
|
sleep 2
|
|
|
|
# Verify and report the new connection status
|
|
if mullvad status | grep -q "Connected" && ping -c 1 google.com &>/dev/null; then
|
|
echo "$(date '+%H:%M:%S') - Successfully reconnected to Mullvad with internet access"
|
|
fi
|
|
fi
|
|
sleep 1
|
|
done
|