What's new

VPNMON [BETA] VPNMON-R2 BETA is CLOSED. Thank you all for your help!!

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

So I have not been able to find a way around this obstacle... because it's circular logic...

It confirms what I suspected right from the start - it detects the session it has just started and then complains about itself! :p


The weird thing is why it never showed that same behavior for me...

And THAT is the really curious thing to me … why you don’t see it. Is it something to do with the various terminal/ssh clients we use? I don’t get it … at all.

I’d be happy to do you a demo video again! :eek:
 
New BETA is available... looking for feedback especially from those using AirVPN. Thanks again to @machinist for his suggestion/push to get this implemented. :) Please read the [OP] for any further info/screenshots.

What's new?:
v2.45b1 - (Revisions as of Feb 26, 2023)
- MAJOR:
We added another major VPN Provider -- AirVPN -- to the mix of compatible VPN services that play well with APIs, giving us the ability to use these for SuperRandom(r) functionality in the country (or countries) of your choice. Also, provides us with the ability to use the AirVPN Recommended Servers feature, for those who want their servers to stay closer or more optimized for speed. AirVPN gives us the same range of capabilities that NordVPN gives, including reporting on the current server Load, or resetting the connection if the load exceeds your specified amount... Also, the ability to whitelist your AirVPN servers in Skynet so they don't get blocked (as they so frequently do).... so, really happy to get this one added. Note: This assumes you have all (up to) 5 VPN slots configured and working with AirVPN config, using OpenVPN, TLS authentication & encryption - which is pretty much the standard out there.
- FIXED: Minor code improvements and optimizations.

Beta Download:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R2/master/vpnmon-r2-2.45b1.sh" -o "/jffs/scripts/vpnmon-r2.sh" && chmod 755 "/jffs/scripts/vpnmon-r2.sh"
 
Last edited:
@Viktor Jaep Amazing, take a bow Viktor. You move at lightning pace.

I'll see if I can test it in the coming days. Will report back. I use the recommended servers feature, as well.

Thanks again
 
@Viktor Jaep Amazing, take a bow Viktor. You move at lightning pace.

I'll see if I can test it in the coming days. Will report back. I use the recommended servers feature, as well.

Thanks again
Please know that when you query AirVPN for recommended servers, you only get 2.. so I divide those up across the 5 slots and alternate them... but hey, at least there's 2! :)
 
@Viktor Jaep Amazing, take a bow Viktor. You move at lightning pace.

I'll see if I can test it in the coming days. Will report back. I use the recommended servers feature, as well.

Thanks again
Hey @machinist ... wanted to check back in with you to see if you had any luck with testing VPNMON-R2 with AirVPN?
 
Hey @machinist ... wanted to check back in with you to see if you had any luck with testing VPNMON-R2 with AirVPN?
Sorry mate, have not had the time. And I'm away next entire weekend too. I'll see if I can get to it either tonight or one of the coming days. I know you worked fast on my request, sorry for the delay.
 
Sorry mate, have not had the time. And I'm away next entire weekend too. I'll see if I can get to it either tonight or one of the coming days. I know you worked fast on my request, sorry for the delay.
No rush! ;)
 
Speaking of Beta... I was side-eyeing Mullvad today, and starting to dive into the possibility of supporting Wireguard here in the near future. They have a rudimentary API, but I think it might just work... should be fun! :p

Surfshark is another good possiblity... and might be easy to implement since VPNMON-R2 already supports its OpenVPN cousin.

Anyone have any prefs?
 
Speaking of Beta... I was side-eyeing Mullvad today, and starting to dive into the possibility of supporting Wireguard here in the near future. They have a rudimentary API, but I think it might just work... should be fun! :p

Surfshark is another good possiblity... and might be easy to implement since VPNMON-R2 already supports its OpenVPN cousin.

Anyone have any prefs?
Surfshark with wireguard would be nice.... Is Express VPN difficult to implement like nordvpn?
 
Surfshark with wireguard would be nice.... Is Express VPN difficult to implement like nordvpn?
Last I checked, ExpressVPN didn't have any public APIs exposed, which makes it very difficult to implement. I'm thinking of adding Mullvad next.
 
Last I checked, ExpressVPN didn't have any public APIs exposed, which makes it very difficult to implement. I'm thinking of adding Mullvad next.
Mullvad is ok for privacy, not so good for streaming (bypassing geoblocking), it will be a welcomed addition anyway (surfshark also, when you have the time)... Thanks for your work....
 
Hey @iTyPsIDg ... I've published a new beta that includes the API fixes, that may hopefully prevent some of the issues you're facing while abroad. Let me know how this works out...

v2.45b2
- FIXED:
Made some modifications to the NordVPN API calls in order to hopefully provide a faster response for those dealing with bandwidth or other possible throttling limitations in other countries, like Turkey. Thanks to @iTyPsIDg for helping troubleshoot while out there!

Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R2/master/vpnmon-r2-2.45b2.sh" -o "/jffs/scripts/vpnmon-r2.sh" && chmod 755 "/jffs/scripts/vpnmon-r2.sh"
 
Hey @iTyPsIDg ... I've published a new beta that includes the API fixes, that may hopefully prevent some of the issues you're facing while abroad. Let me know how this works out...

v2.45b2
- FIXED:
Made some modifications to the NordVPN API calls in order to hopefully provide a faster response for those dealing with bandwidth or other possible throttling limitations in other countries, like Turkey. Thanks to @iTyPsIDg for helping troubleshoot while out there!

Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R2/master/vpnmon-r2-2.45b2.sh" -o "/jffs/scripts/vpnmon-r2.sh" && chmod 755 "/jffs/scripts/vpnmon-r2.sh"
So far, it's hanging at Checking NordVPN Server Load. I may have to turn that off again.

Update, it just came back with the following:
1679517594655.png
 
So far, it's hanging at Checking NordVPN Server Load. I may have to turn that off again.

Update, it just came back with the following: View attachment 48769
Try doing a reset... it will re-populate your VPN slots with the "NordVPN - City - Hostname" format, which it uses to grab the load.
 
Will do. FYI - This command finally finished but with an error:
Bash:
time curl --silent --retry 3 https://api.nordvpn.com/server | jq --raw-output '.[] | select(.country == "United States") | .ip_address'
Command exited with non-zero status 18
real    38m 29.21s
user    0m 0.29s
sys     0m 0.16s
parse error: Unfinished string at EOF at line 1, column 1347238
 
Will do. FYI - This command finally finished but with an error:
Bash:
time curl --silent --retry 3 https://api.nordvpn.com/server | jq --raw-output '.[] | select(.country == "United States") | .ip_address'
Command exited with non-zero status 18
real    38m 29.21s
user    0m 0.29s
sys     0m 0.16s
parse error: Unfinished string at EOF at line 1, column 1347238
That's ridiculous! Looks like you definitely need to stick with the recommended servers option in this case ;)

I would also turn off the option to whitelist and update Skynet. Just another API query you don't need in your case out there.
 
I just issued the reset command; however, it will likely time out.

Bash:
        printf "${CGreen}\r [Reaching out to NordVPN API to download Server IPs]          "                                           
        sleep 1                                                                                                                       
                                                                                                                                      
        svrcount=0                                                                                                                     
        while [ $svrcount -ne 60 ]                                                                                                     
          do                                                                                                                           
            svrcount=$(($svrcount+1))                                                                                                 
            #curl --silent --retry 3 "https://api.nordvpn.com/v1/servers?limit=16384" | jq --raw-output '.[] | select(.locations[].country.name == "'"$NordVPNRandomCountry"'") | .station' > /jffs/scripts/NordVPN.txt
            NORDLINES="curl --silent --retry 3 "https://api.nordvpn.com/v1/servers?limit=16384" | jq --raw-output '.[] | select(.locations[].country.name == \"$NordVPNRandomCountry\") | .station' > /jffs/scripts/NordVPN.txt"
            NORDLINES="$(eval $NORDLINES 2>/dev/null)"; if echo $NORDLINES | grep -qoE '\berror.*\b'; then printf "${CRed}\r [Error Occurred]"; sleep 1; fi
            LINES=$(cat /jffs/scripts/NordVPN.txt | wc -l) >/dev/null 2>&1 #Check to see how many lines/server IPs are in this file

Line 9 is unlikely to finish running.
1679519193001.png
 
I just issued the reset command; however, it will likely time out.

Bash:
        printf "${CGreen}\r [Reaching out to NordVPN API to download Server IPs]          "                                        
        sleep 1                                                                                                                    
                                                                                                                                   
        svrcount=0                                                                                                                  
        while [ $svrcount -ne 60 ]                                                                                                  
          do                                                                                                                        
            svrcount=$(($svrcount+1))                                                                                              
            #curl --silent --retry 3 "https://api.nordvpn.com/v1/servers?limit=16384" | jq --raw-output '.[] | select(.locations[].country.name == "'"$NordVPNRandomCountry"'") | .station' > /jffs/scripts/NordVPN.txt
            NORDLINES="curl --silent --retry 3 "https://api.nordvpn.com/v1/servers?limit=16384" | jq --raw-output '.[] | select(.locations[].country.name == \"$NordVPNRandomCountry\") | .station' > /jffs/scripts/NordVPN.txt"
            NORDLINES="$(eval $NORDLINES 2>/dev/null)"; if echo $NORDLINES | grep -qoE '\berror.*\b'; then printf "${CRed}\r [Error Occurred]"; sleep 1; fi
            LINES=$(cat /jffs/scripts/NordVPN.txt | wc -l) >/dev/null 2>&1 #Check to see how many lines/server IPs are in this file

Line 9 is unlikely to finish running. View attachment 48771
Perhaps it would be best to just use the five recommended servers and keep those populated in your five slots. Then making sure you're not updating and whitelisting Skynet. And definitely don't use super random. To turn off all fancy options, and just rely on the five servers in your slots to randomize or round Robin across.
 
I think you're correct. That might be my only option while I'm here. I can set vpnmgr to update each slot instead, then use your script to cycle through those.
 
I think you're correct. That might be my only option while I'm here. I can set vpnmgr to update each slot instead, then use your script to cycle through those.
Hopefully it's just temporary! ;(
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top