What's new

VPNMON VPNMON-R2 v2.52 -Mar 27, 2023- Monitor your VPN connection's Health (Thread locked/closed)

  • 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!

Hi,

I have just installed and configured the script but I have some issues. I obtain the message

Code:
Thu Feb 23 16:03:37 CET 2023 - VPNMON-R2 - Successfully wrote a new config file
Thu Feb 23 16:04:05 CET 2023 - VPNMON-R2 - API call made to update WAN0 city to Munich
Thu Feb 23 16:04:06 CET 2023 - VPNMON-R2 - API call made to update VPN city to Zurich
Thu Feb 23 16:09:27 CET 2023 - VPNMON-R2 ----------> ERROR: Unable to reach NordVPN API! Load reading is not possible.
Thu Feb 23 16:19:19 CET 2023 - VPNMON-R2 - Successfully wrote a new config file
Thu Feb 23 16:19:42 CET 2023 - VPNMON-R2 - API call made to update WAN0 city to Munich
Thu Feb 23 16:19:42 CET 2023 - VPNMON-R2 - API call made to update VPN city to Zurich

What am I doing wrong?
 
Hi,

I have just installed and configured the script but I have some issues. I obtain the message

Code:
Thu Feb 23 16:03:37 CET 2023 - VPNMON-R2 - Successfully wrote a new config file
Thu Feb 23 16:04:05 CET 2023 - VPNMON-R2 - API call made to update WAN0 city to Munich
Thu Feb 23 16:04:06 CET 2023 - VPNMON-R2 - API call made to update VPN city to Zurich
Thu Feb 23 16:09:27 CET 2023 - VPNMON-R2 ----------> ERROR: Unable to reach NordVPN API! Load reading is not possible.
Thu Feb 23 16:19:19 CET 2023 - VPNMON-R2 - Successfully wrote a new config file
Thu Feb 23 16:19:42 CET 2023 - VPNMON-R2 - API call made to update WAN0 city to Munich
Thu Feb 23 16:19:42 CET 2023 - VPNMON-R2 - API call made to update VPN city to Zurich

What am I doing wrong?
Looks like you're having problems reaching https://api.nordvpn.com -- I would make sure you've whitelisted it, and made sure you can reach that URL from your router? And that skynet/diversion aren't blocking it for whatever reason?
 
When I try this url, I receive that from WLAN and also LTE


Code:
{
    "message": "404 Not Found"
}

I think the api url is wrong, isnt it?
It's the right URL... it just needs more meat on the bone...

Code:
curl --silent --retry 3 https://api.nordvpn.com/v1/servers?limit=16384 | jq --raw-output '.[] | select(.locations[].country.name == "United States") | .station'

But the true test is making sure you're not blocking this URL. I guess it's also very possible that this server is not reporting a load? Highly unlikely or usual... but if you want to send me the IP/hostname of the VPN server that's giving you this issue, I can dig into it further?
 
It's the right URL... it just needs more meat on the bone...

Code:
curl --silent --retry 3 https://api.nordvpn.com/v1/servers?limit=16384 | jq --raw-output '.[] | select(.locations[].country.name == "United States") | .station'

But the true test is making sure you're not blocking this URL. I guess it's also very possible that this server is not reporting a load? Highly unlikely or usual... but if you want to send me the IP/hostname of the VPN server that's giving you this issue, I can dig into it further?
VPNMON is running on a completely fresh installed merlin after factory reset. If you can point me the direction I have to look up in the config, I will do.

Meanwhile these is the Server:
89.37.173.142, Port 1194

I can connect to the server through VPN Client. That's not the Problem.
 
VPNMON is running on a completely fresh installed merlin after factory reset. If you can point me the direction I have to look up in the config, I will do.

Meanwhile these is the Server:
89.37.173.142, Port 1194

I can connect to the server through VPN Client. That's not the Problem.
It's pulling a load number for me... so that might mean you're blocking the IP for the api.nordvpn.com server somehow?

Can you run this from an SSH window on your router and see what you get? And if you happen to be running into any potential blocking issues, is there anything interesting in your syslog bychance?

Code:
curl --silent --retry 3 https://api.nordvpn.com/v1/servers?limit=16384 | jq '.[] | select(.station == "89.37.173.142") | .load'
 
It's pulling a load number for me... so that might mean you're blocking the IP for the api.nordvpn.com server somehow?

Can you run this from an SSH window on your router and see what you get? And if you happen to be running into any potential blocking issues, is there anything interesting in your syslog bychance?

Code:
curl --silent --retry 3 https://api.nordvpn.com/v1/servers?limit=16384 | jq '.[] | select(.station == "89.37.173.142") | .load'

This is what I get

Code:
ASUSWRT-Merlin TUF-AX5400 388.1_0-gnuton1 Thu Jan 19 18:45:59 UTC 2023
user1984@TUF-AX5400-7D10:/tmp/home/root# curl --silent --retry 3 https://api.nordvpn.com/v1/servers?limit=16384 | jq
 '.[] | select(.station == "89.37.173.142") | .load'
error: cannot allocate memory
Aborted

Syslog
Code:
Feb 24 15:06:11 kernel: potentially unexpected fatal signal 6.
Feb 24 15:06:11 kernel: CPU: 1 PID: 22767 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:11 kernel: Hardware name: Generic DT based system
Feb 24 15:06:11 kernel: task: cf39f800 ti: ce8a2000 task.ti: ce8a2000
Feb 24 15:06:11 kernel: PC is at 0xb6d9b0e4
Feb 24 15:06:11 kernel: LR is at 0xbed150c0
Feb 24 15:06:11 kernel: pc : [<b6d9b0e4>]    lr : [<bed150c0>]    psr: 000f0010
Feb 24 15:06:11 kernel: sp : bed150c0  ip : 00000000  fp : bed156a8
Feb 24 15:06:11 kernel: r10: bed15368  r9 : 00000000  r8 : 02047ec0
Feb 24 15:06:11 kernel: r7 : 000000af  r6 : bed15618  r5 : 00000006  r4 : bed15140
Feb 24 15:06:11 kernel: r3 : 00000008  r2 : 00000000  r1 : bed150c0  r0 : 00000000
Feb 24 15:06:11 kernel: Flags: nzcv  IRQs on  FIQs on  Mode USER_32  ISA ARM  Segment user
Feb 24 15:06:11 kernel: Control: 10c5387d  Table: 0ef7404a  DAC: 00000015
Feb 24 15:06:11 kernel: CPU: 1 PID: 22767 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:11 kernel: Hardware name: Generic DT based system
Feb 24 15:06:11 kernel: [<c0026f20>] (unwind_backtrace) from [<c0022cf8>] (show_stack+0x10/0x14)
Feb 24 15:06:11 kernel: [<c0022cf8>] (show_stack) from [<c045a80c>] (dump_stack+0x8c/0xa0)
Feb 24 15:06:11 kernel: [<c045a80c>] (dump_stack) from [<c003ab8c>] (get_signal+0x490/0x558)
Feb 24 15:06:11 kernel: [<c003ab8c>] (get_signal) from [<c0022290>] (do_signal+0xc8/0x3ac)
Feb 24 15:06:11 kernel: [<c0022290>] (do_signal) from [<c0022718>] (do_work_pending+0x94/0xa4)
Feb 24 15:06:11 kernel: [<c0022718>] (do_work_pending) from [<c001f58c>] (work_pending+0xc/0x20)
Feb 24 15:06:16 kernel: potentially unexpected fatal signal 6.
Feb 24 15:06:16 kernel: CPU: 0 PID: 22800 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:16 kernel: Hardware name: Generic DT based system
Feb 24 15:06:16 kernel: task: cf2fb400 ti: ce8a2000 task.ti: ce8a2000
Feb 24 15:06:16 kernel: PC is at 0xb6dc30e4
Feb 24 15:06:16 kernel: LR is at 0xbeee10c0
Feb 24 15:06:16 kernel: pc : [<b6dc30e4>]    lr : [<beee10c0>]    psr: 000f0010
Feb 24 15:06:16 kernel: sp : beee10c0  ip : 00000000  fp : beee16a8
Feb 24 15:06:16 kernel: r10: beee1368  r9 : 00000000  r8 : 01d35ec0
Feb 24 15:06:16 kernel: r7 : 000000af  r6 : beee1618  r5 : 00000006  r4 : beee1140
Feb 24 15:06:17 kernel: r3 : 00000008  r2 : 00000000  r1 : beee10c0  r0 : 00000000
Feb 24 15:06:17 kernel: Flags: nzcv  IRQs on  FIQs on  Mode USER_32  ISA ARM  Segment user
Feb 24 15:06:17 kernel: Control: 10c5387d  Table: 0edc004a  DAC: 00000015
Feb 24 15:06:17 kernel: CPU: 0 PID: 22800 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:17 kernel: Hardware name: Generic DT based system
Feb 24 15:06:17 kernel: [<c0026f20>] (unwind_backtrace) from [<c0022cf8>] (show_stack+0x10/0x14)
Feb 24 15:06:17 kernel: [<c0022cf8>] (show_stack) from [<c045a80c>] (dump_stack+0x8c/0xa0)
Feb 24 15:06:17 kernel: [<c045a80c>] (dump_stack) from [<c003ab8c>] (get_signal+0x490/0x558)
Feb 24 15:06:17 kernel: [<c003ab8c>] (get_signal) from [<c0022290>] (do_signal+0xc8/0x3ac)
Feb 24 15:06:17 kernel: [<c0022290>] (do_signal) from [<c0022718>] (do_work_pending+0x94/0xa4)
Feb 24 15:06:17 kernel: [<c0022718>] (do_work_pending) from [<c001f58c>] (work_pending+0xc/0x20)
Feb 24 15:06:22 kernel: potentially unexpected fatal signal 6.
Feb 24 15:06:22 kernel: CPU: 0 PID: 22850 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:22 kernel: Hardware name: Generic DT based system
Feb 24 15:06:22 kernel: task: d39fbc00 ti: d4c14000 task.ti: d4c14000
Feb 24 15:06:22 kernel: PC is at 0xb6cff0e4
Feb 24 15:06:22 kernel: LR is at 0xbe93e0c0
Feb 24 15:06:22 kernel: pc : [<b6cff0e4>]    lr : [<be93e0c0>]    psr: 000f0010
Feb 24 15:06:22 kernel: sp : be93e0c0  ip : 00000000  fp : be93e6a8
Feb 24 15:06:22 kernel: r10: be93e368  r9 : 00000000  r8 : 00e9dec0
Feb 24 15:06:22 kernel: r7 : 000000af  r6 : be93e618  r5 : 00000006  r4 : be93e140
Feb 24 15:06:22 kernel: r3 : 00000008  r2 : 00000000  r1 : be93e0c0  r0 : 00000000
Feb 24 15:06:22 kernel: Flags: nzcv  IRQs on  FIQs on  Mode USER_32  ISA ARM  Segment user
Feb 24 15:06:22 kernel: Control: 10c5387d  Table: 0ef7404a  DAC: 00000015
Feb 24 15:06:22 kernel: CPU: 0 PID: 22850 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:22 kernel: Hardware name: Generic DT based system
Feb 24 15:06:22 kernel: [<c0026f20>] (unwind_backtrace) from [<c0022cf8>] (show_stack+0x10/0x14)
Feb 24 15:06:22 kernel: [<c0022cf8>] (show_stack) from [<c045a80c>] (dump_stack+0x8c/0xa0)
Feb 24 15:06:22 kernel: [<c045a80c>] (dump_stack) from [<c003ab8c>] (get_signal+0x490/0x558)
Feb 24 15:06:22 kernel: [<c003ab8c>] (get_signal) from [<c0022290>] (do_signal+0xc8/0x3ac)
Feb 24 15:06:22 kernel: [<c0022290>] (do_signal) from [<c0022718>] (do_work_pending+0x94/0xa4)
Feb 24 15:06:22 kernel: [<c0022718>] (do_work_pending) from [<c001f58c>] (work_pending+0xc/0x20)
Feb 24 15:06:27 kernel: potentially unexpected fatal signal 6.
Feb 24 15:06:27 kernel: CPU: 0 PID: 22882 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:27 kernel: Hardware name: Generic DT based system
Feb 24 15:06:27 kernel: task: ce7df000 ti: ce820000 task.ti: ce820000
Feb 24 15:06:27 kernel: PC is at 0xb6cf60e4
Feb 24 15:06:27 kernel: LR is at 0xbeb060c0
Feb 24 15:06:27 kernel: pc : [<b6cf60e4>]    lr : [<beb060c0>]    psr: 000f0010
Feb 24 15:06:27 kernel: sp : beb060c0  ip : 00000000  fp : beb066a8
Feb 24 15:06:27 kernel: r10: beb06368  r9 : 00000000  r8 : 013c4ec0
Feb 24 15:06:27 kernel: r7 : 000000af  r6 : beb06618  r5 : 00000006  r4 : beb06140
Feb 24 15:06:27 kernel: r3 : 00000008  r2 : 00000000  r1 : beb060c0  r0 : 00000000
Feb 24 15:06:27 kernel: Flags: nzcv  IRQs on  FIQs on  Mode USER_32  ISA ARM  Segment user
Feb 24 15:06:27 kernel: Control: 10c5387d  Table: 0ed4404a  DAC: 00000015
Feb 24 15:06:27 kernel: CPU: 0 PID: 22882 Comm: jq Tainted: P           O    4.1.52 #1
Feb 24 15:06:27 kernel: Hardware name: Generic DT based system
Feb 24 15:06:27 kernel: [<c0026f20>] (unwind_backtrace) from [<c0022cf8>] (show_stack+0x10/0x14)
Feb 24 15:06:27 kernel: [<c0022cf8>] (show_stack) from [<c045a80c>] (dump_stack+0x8c/0xa0)
Feb 24 15:06:27 kernel: [<c045a80c>] (dump_stack) from [<c003ab8c>] (get_signal+0x490/0x558)
Feb 24 15:06:27 kernel: [<c003ab8c>] (get_signal) from [<c0022290>] (do_signal+0xc8/0x3ac)
Feb 24 15:06:27 kernel: [<c0022290>] (do_signal) from [<c0022718>] (do_work_pending+0x94/0xa4)
Feb 24 15:06:27 kernel: [<c0022718>] (do_work_pending) from [<c001f58c>] (work_pending+0xc/0x20)
Feb 24 15:06:29 scMerlin: tailtop dead, restarting...
 
Hey @Viktor Jaep any plans of adding AirVPN to the script?
Actually, it's looking highly likely now after finding this: https://airvpn.org/api/status/

I'm always on the lookout to see if any of the major VPN providers are giving us the option of hooking into their services with a public facing API... many don't... I'm glad AirVPN has made this available!

I'll get working on this! Thanks for the suggestion, @machinist :)
 
@Viktor Jaep Fantastic, looking forward to it!
I made some progress this evening, @machinist ... but I'm getting some strange results. When I populate my list of available AirVPN IPs from the API: https://airvpn.org/api/status/ -- it seems like half of them are either offline. Others that are online, won't accept a connection... then that other small percentage of the time, it will let me connect to one. After like 3 or 4 VPN resets it seems I can finally connect to a valid random server. I put a note in with AirVPN support about this, and see what their take is. If you want to play with an alpha, just let me know... else I'll release something down the road when I feel comfortable putting a beta out there.

1677380178145.png


Edit: got word back from support... and explained some things! I'm back on-track. ;)
 
Last edited:
Any idea why nightly reset seems to no long do anything? I previously it worked fine, but now it's not reset in 18 days (on 2 routers, both on 2.41)
 

Attachments

  • AX58_No_nightly_reset.PNG
    AX58_No_nightly_reset.PNG
    17.2 KB · Views: 27
Support is actually good with those guys.

What was it, if you don't mind?

I'm fine with beta, thanks mate.
They were pretty responsive... definitely kudos to the AirVPN team!

Yeah, so each of these airvpn server/location objects come with 4 IPv4 addresses...

Code:
  {
            "public_name": "Acamar",
            "country_name": "United States",
            "country_code": "us",
            "location": "Miami",
            "continent": "America",
            "bw": 84,
            "bw_max": 1000,
            "users": 56,
            "currentload": 8,
            "ip_v4_in1": "173.44.55.154",
            "ip_v4_in2": "173.44.55.156",
            "ip_v4_in3": "173.44.55.157",
            "ip_v4_in4": "173.44.55.158",
            "ip_v6_in1": "2607:ff48:aa81:200:fb8:68cd:5d60:f39d",
            "ip_v6_in2": "2607:ff48:aa81:200:e636:daec:ff92:fb1c",
            "ip_v6_in3": "2607:ff48:aa81:200:7624:912a:38e8:a606",
            "ip_v6_in4": "2607:ff48:aa81:200:a3a7:a46c:8a8c:3a02",
            "ip_entry": "173.44.55.154",
            "ip_entry_alt": "173.44.55.156",
            "health": "ok"
}

I was assuming that all 4 are ones I should be able to connect to... however it turns out that only "ip_v4_in3" and "ip_v4_in4" are able to accept OpenVPN TLS connections. "in1" and "in2" are reserved for Wireguard or OpenVPN connections on non-standard ports. That's why I was striking out when servers wouldn't connect half the time. ;) They have some good docs here that they pointed me to: https://airvpn.org/specs/
 
Any idea why nightly reset seems to no long do anything? I previously it worked fine, but now it's not reset in 18 days (on 2 routers, both on 2.41)
That is pretty peculiar! Mine continues to reset each night... Could you try hitting the "R" key, and make sure it is able to get through the process?
 
That is pretty peculiar! Mine continues to reset each night... Could you try hitting the "R" key, and make sure it is able to get through the process?
So, this is nuts, they both reset over night, after 18 days of not doing it. Maybe it knew you were investigating? :D First screenshot attached

Second screenshot shows that hitting "R" resets the connection (you can see the changed VPN IP).

Logs don't reveal much, basically nothing between Feb 8 and Feb 20, then overnight:
Mon Feb 27 01:01:10 PST 2023 - VPNMON-R2 ----------> INFO: Executing scheduled VPN Reset
 

Attachments

  • AX58_No_nightly_resetv2.PNG
    AX58_No_nightly_resetv2.PNG
    16.1 KB · Views: 22
  • AX58_No_nightly_resetv3.PNG
    AX58_No_nightly_resetv3.PNG
    16.9 KB · Views: 20
So, this is nuts, they both reset over night, after 18 days of not doing it. Maybe it knew you were investigating? :D First screenshot attached

Second screenshot shows that hitting "R" resets the connection (you can see the changed VPN IP).

Logs don't reveal much, basically nothing between Feb 8 and Feb 20, then overnight:
Mon Feb 27 01:01:10 PST 2023 - VPNMON-R2 ----------> INFO: Executing scheduled VPN Reset
LOL that's absolutely whacky. The routers don't go into hybernation mode around 01:00, do they?? :) There's got to be more to this!

As a workaround, if you continue seeing this, perhaps setting up a manual cron job that executes "vpnmon-r2 -reset" command at a specific time?
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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