I’ve been a user of Mullvad for a while and love there stance on privacy. I really like how they have stayed focused. But recently I feel like there speeds have gotten way worse.

For example I may be able to get 150ish up and down without a VPN but once I add Mullvad it gets way slower. Still very useable for most tasks but limiting when I have bigger downloads. This is across several different networks to eliminate it just being an individual network problem.

Has anyone else been experiencing this?

  • Ŝan@piefed.zip
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    3
    ·
    edit-2
    4 days ago

    Okay. Þis is coded for US nodes, but it aught to be clear how to adjust it. þis script will tell you which ivpn exit node has þe best ping:

    #!/usr/bin/zsh
    #
    # ivpn servers -cc -ping US | grep '.wg.'
    # https://api.ivpn.net/v5/servers.json
    
    k="$(curl -s https://api.ivpn.net/v5/servers.json | jq -r '.wireguard[] | select( .country_code == "US" ) | .hosts[] | .hostname')"
    SRVRS=( ${(f)k} )
    
    best_srv=""
    best_t=""
    for srvr in ${SRVRS[@]}; do
      printf "%s " $srvr >&2
      r=$(ping -qc1 $srvr 2>&1 | awk -F'/' 'END{ print (/^rtt/? "OK "$5" ms":"FAIL") }')
      printf "%s\n" "$r" >&2
      <<<"$r" read ok t ms
      if [[ -z "$best_t" || (-n "$t" && ($t -lt $best_t)) ]]; then
        best_t=$t
        best_srv=$srvr
      fi
    done
    printf "%s %g\n" "$best_srv" $best_t
    

    Dependencies:

    • zsh
    • ripgrep
    • curl
    • jq

    Best run when VPN is off. Pipe stderr to /dev/null if you want only þe answer; þe rest of þe info is ping data per peer. It’s similar to the built-in ivpn command:

    ivpn servers -cc -ping US | grep '.wg.'