Mullvad VPN Status

Checks if you are connected via Mullvad VPN.

Image preview of Mullvad VPN Status plugin.

mullvad-vpn-status.5m.sh

Edit
Open on GitHub
#!/bin/zsh

# <xbar.title>Mullvad VPN Status</xbar.title>
# <xbar.version>v0.1.0</xbar.version>
# <xbar.author>Nils Stein</xbar.author>
# <xbar.author.github>n-stone</xbar.author.github>
# <xbar.desc>Checks if you are connected via Mullvad VPN.</xbar.desc>
# <xbar.image>https://imgur.com/a0uvsfX.png</xbar.image>
# <xbar.dependencies>"font awesome 5 free" (https://use.fontawesome.com/releases/v5.15.4/fontawesome-free-5.15.4-desktop.zip),jq</xbar.dependencies>

# Make sure homebrew is on the path
export PATH="/opt/homebrew/bin:$PATH"

# Mullvad Icon as Base64
MULLVAD_ICON="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HX+tCcx+kt7oaLEjYGAbuLjuaMoecLkDDD0Zsim7UpBKKBaB9zP6pjwweAv0rXlza5/j9AHI0qzSN8DBITBWoux1n3eHu+f27532/H4A01pyZ510YWkAAA0caVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmQ0ZWY5MWViLTg3ODEtNDFlNi04OWQ4LWUxZTQxNDJlNWVhMCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpkODFhYmRiOS1hMzI2LTQ4OTktYWRhNy0wMzlhNzQxNDg5ZTciCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjMmY5MTZhZC0zMzUwLTRlZGItODFkMi1jYmIyNTkwNzcxOGUiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJNYWMgT1MiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjM4ODgwMzQ3MjkzMDI1IgogICBHSU1QOlZlcnNpb249IjIuMTAuMjgiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ODZiMWVmNDQtNjRlMS00ZWVlLThhM2UtNDZhMzVhNzIyMDg5IgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKE1hYyBPUykiCiAgICAgIHN0RXZ0OndoZW49IjIwMjEtMTItMDdUMTM6MzI6MjcrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+hjOjiAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAmcwAAJnMB82x1CgAAAAd0SU1FB+UMBwwgG8SB4QMAAAaiSURBVHja5ZttbJ5lFcd/V7uNlXZzg7mOFMIUxqZTw7I46qbBaHxZFo0lGHyJHyQRlxhiOqMgwRAjaTDq4gddJOrAELVoNBBxwkZ8iaBkhGim2YIC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"

SECURE=" "
NOT_SECURE=" "
NO_CONNECTION=" "

if ping -q -W 1 -c 1 1.1.1.1 > /dev/null; then
    MULLVAD_JSON=$(curl -s https://am.i.mullvad.net/json)
    if [ $(echo $MULLVAD_JSON | jq -r .'mullvad_exit_ip') = 'true' ]; then
        echo "$SECURE | font='FontAwesome5Free-Solid' | size=16 | trim=false | templateImage=$MULLVAD_ICON"
        echo "---"
        echo "Hostname:	$(echo $MULLVAD_JSON | jq -r .'mullvad_exit_ip_hostname')"
        echo "IP: 			$(echo $MULLVAD_JSON | jq -r .'ip')"
        echo "Country: 		$(echo $MULLVAD_JSON | jq -r .'country')"
        echo "City: 		$(echo $MULLVAD_JSON | jq -r .'city')"
        echo "Type: 		$(echo $MULLVAD_JSON | jq -r .'mullvad_server_type')"
        echo "Organization:	$(echo $MULLVAD_JSON | jq -r .'organization')"
        echo "---"
        echo "Refresh now (normally every 5m) | refresh=true"
    else
        echo "$NOT_SECURE | font='FontAwesome5Free-Solid' | size=16 | trim=false | templateImage=$MULLVAD_ICON"
        echo "---"
        echo "disconnected"
        echo "---"
        echo "Refresh now (normally every 5m) | refresh=true"
    fi
else
    echo "$NO_CONNECTION | font='FontAwesome5Free-Solid' | size=16 | trim=false | templateImage=$MULLVAD_ICON"
    echo "---"
    echo "offline"
    echo "---"
    echo "Refresh now (normally every 5m) | refresh=true"
fi

exit 0