Skip to content

Instantly share code, notes, and snippets.

@johan149
Last active January 30, 2023 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save johan149/4bf9f7c24ebc2f3310100904433cbb63 to your computer and use it in GitHub Desktop.
Save johan149/4bf9f7c24ebc2f3310100904433cbb63 to your computer and use it in GitHub Desktop.
#!/bin/bash
check_internet_connection() {
return $(ping -c 1 www.google.com > /dev/null)
}
while [ 1 ]; do
check_internet_connection
# already have internet connection
if [ $? -eq 0 ]; then
echo "$(date +%Y-%m-%d\ %H:%M:%S) "internet connection state online"
sleep 10
else
echo "$(date +%Y-%m-%d\ %H:%M:%S) lost internet connection, auto reconnect..."
#check active network devices
#nmcli conn show --active
DID1=$(sudo nmcli conn show --active|grep ethernet|awk '{print $(NF-2)}')
DNAME1=$(sudo nmcli conn show --active|grep ethernet|awk '{print $(NF-0)}')
#nmcli con down $(nmcli conn show --active|grep ethernet|awk '{print $(NF-2)}')
#release ip
sudo dhclient -v -r $DNAME1
#try to obtain a new ip
sudo dhclient -v $DNAME1
# disables the network device
sudo nmcli con down $DID1
sleep 5
# enables the network device
sudo nmcli con up $DID1
nmcli device reapply $DNAME1
sudo nmcli conn show --active
sleep 3
#restarts anydesk
sudo killall anydesk
sleep 1
sudo systemctl start anydesk
sleep 1
sudo anydesk --restart-service
sleep 2
sudo anydesk --get-status && echo && sudo anydesk --get-id && echo
sleep 10
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment