What's new
  • 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!

VPNMON VPNMON-R3 v1.7.0 -Sep 20, 2025- Monitor OpenVPN/Wireguard WAN/Dual-WAN Health & Random Reset Multiple Connections (Available in AMTM!)

This will probably be the last beta before the final stable release... some minor cosmetic tweaks! Enjoy 1.6.0 beta 4!

What's new?
v1.6.0b4 - (TBA)
- PATCH:
Added the router uptime value under the WAN monitoring section, some visual enhancements to the main UI, and providing content values in the logs when you get "invalid ping response received" messages, showing exactly what it was coming back with.

Download link:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R3/develop/vpnmon-r3.sh" -o "/jffs/scripts/vpnmon-r3.sh" && chmod 755 "/jffs/scripts/vpnmon-r3.sh"
I don't know if it is specific to this version but my experience is if you are monitoring WG VPN clients (Haven't tested with Open VPN) and you decide to manually change the server from say Chicago to New York I have found it necessary to first go into VPMON and unmonitor the slot before going into the router's GUI and uploading a new conf file and starting it. Failing to do so may require you upload a saved router configuration to get your VPN clients functioning and then after the router reboots and your prior VPN client is running go into VPMON unmonitoring the slot then change the server using the router's GUI. I have tried other VPMON options such as pause but only thing that has worked for me as to follow the steps I outlined above.
 
I don't know if it is specific to this version but my experience is if you are monitoring WG VPN clients (Haven't tested with Open VPN) and you decide to manually change the server from say Chicago to New York I have found it necessary to first go into VPMON and unmonitor the slot before going into the router's GUI and uploading a new conf file and starting it. Failing to do so may require you upload a saved router configuration to get your VPN clients functioning and then after the router reboots and your prior VPN client is running go into VPMON unmonitoring the slot then change the server using the router's GUI. I have tried other VPMON options such as pause but only thing that has worked for me as to follow the steps I outlined above.
I never mess with any slot configs in the UI unless for some reason I have to upload some kind of cert like with OVPN. I use the automation component of VPNMON-R3, and would have both of those profiles listed. It would then randomly choose between the two and fill in the appropriate server info going from Chicago to New York without having to mess with the UI.

Have you tried this approach?
 
I never mess with any slot configs in the UI unless for some reason I have to upload some kind of cert like with OVPN. I use the automation component of VPNMON-R3, and would have both of those profiles listed. It would then randomly choose between the two and fill in the appropriate server info going from Chicago to New York without having to mess with the UI.

Have you tried this approach?
No, I haven't because my use case is I have one slot for my personal more secure non IoT devices to use and I want this slot to have the maximum possible speed, another slot is used for IoT devices where speed isn't critical and finally a third slot with an international server in the land of my wife's birth. When I decided to change a slot's location it is because I have noticed a slowdown particularly on the slot I connect to for my personal devices. If my download speeds, which I monitor using spdMerlin, starts consistently testing below 600 Mbps then I may try a different server which in the case of my VPN provider usually means a different city.

One other thing I have noticed with VPMON after it gained the capability to monitor WG clients and send emails. In a previous discussion we both said that WG clients seemed to be much more stable than OpenVPN clients. When I set up email notifications I started getting more emails regarding a WG client resetting so I adjusted the number of emails allowed down and the ping max up to 950 ms. I have tried using both 8.8.8.8 and 8.8.4.4 as ping targets with no noticeable impact. I was still getting more email than I wanted so I turned off notifications. Still think WG clients are totally reliable as when I check their status they always seem to be up even though VPMON shows they may have reconnected.

VPMON is still useful to me so thank you for your work on this application.
 
No, I haven't because my use case is I have one slot for my personal more secure non IoT devices to use and I want this slot to have the maximum possible speed, another slot is used for IoT devices where speed isn't critical and finally a third slot with an international server in the land of my wife's birth. When I decided to change a slot's location it is because I have noticed a slowdown particularly on the slot I connect to for my personal devices. If my download speeds, which I monitor using spdMerlin, starts consistently testing below 600 Mbps then I may try a different server which in the case of my VPN provider usually means a different city.

One other thing I have noticed with VPMON after it gained the capability to monitor WG clients and send emails. In a previous discussion we both said that WG clients seemed to be much more stable than OpenVPN clients. When I set up email notifications I started getting more emails regarding a WG client resetting so I adjusted the number of emails allowed down and the ping max up to 950 ms. I have tried using both 8.8.8.8 and 8.8.4.4 as ping targets with no noticeable impact. I was still getting more email than I wanted so I turned off notifications. Still think WG clients are totally reliable as when I check their status they always seem to be up even though VPMON shows they may have reconnected.

VPMON is still useful to me so thank you for your work on this application.
Have you tried using the Recovery Timeout Opportunities? I've set mine to 3 and that has really helped stability of the connection, instead of having it reset after 1 failed response.

I'm only getting emails nightly now after it goes through it's scheduled reset. Email rate limiting is also an option now if you find it too spammy. ;)
 
No, I haven't because my use case is I have one slot for my personal more secure non IoT devices to use and I want this slot to have the maximum possible speed, another slot is used for IoT devices where speed isn't critical and finally a third slot with an international server in the land of my wife's birth. When I decided to change a slot's location it is because I have noticed a slowdown particularly on the slot I connect to for my personal devices. If my download speeds, which I monitor using spdMerlin, starts consistently testing below 600 Mbps then I may try a different server which in the case of my VPN provider usually means a different city.

One other thing I have noticed with VPMON after it gained the capability to monitor WG clients and send emails. In a previous discussion we both said that WG clients seemed to be much more stable than OpenVPN clients. When I set up email notifications I started getting more emails regarding a WG client resetting so I adjusted the number of emails allowed down and the ping max up to 950 ms. I have tried using both 8.8.8.8 and 8.8.4.4 as ping targets with no noticeable impact. I was still getting more email than I wanted so I turned off notifications. Still think WG clients are totally reliable as when I check their status they always seem to be up even though VPMON shows they may have reconnected.

VPMON is still useful to me so thank you for your work on this application.
@Viktor Jaep

I use vpn/wg in a similar manner. Rather than using both router UI and vpnmon to manage connections, I created a simple script to utilize
vpnmon server list automation. It just requires creating some directory structures in /opt/home to locate the .ovpn or .conf files provided
by you vpn provider. Out of habit I put the script in the bin directory I created.

agagne@rt-ax92u:/tmp/home/root# ls /opt/home
VPN1 WG1
VPN2 bin

Running the script:
agagne@rt-ax92u:/tmp/home/root# /opt/home/bin/gen-server-list-VPNMON-R3 vpn 1
zzz.xxx.yy.xxx
xxx.yyy.xx.zz

agagne@rt-ax92u:/tmp/home/root# /opt/home/bin/gen-server-list-VPNMON-R3 wg 1
ConnectionName,InterfaceIP/Sub,EndpointIP,EndpointPort,PrivateKey,PublicKey

The script will need some adjustment for PreSharedKey if that is needed.

Format: ConnectionName,InterfaceIP/Sub,EndpointIP,EndpointPort,PrivateKey,PublicKey,PreSharedKey(Opt)
Example: City WG,10.50.0.2/32,143.32.55.23,34334,fasdkaffkasdjfj=,221t949as2323kf=,23fj39fffjdaf=

Just add the full path for the script to vpnmon server list automation with the arguments appropriate for the slot you want to use and execute it.
Then run reset/reconnect. The script will read multiple config files if stored in the same directory.
 

Attachments

@Viktor Jaep

I use vpn/wg in a similar manner. Rather than using both router UI and vpnmon to manage connections, I created a simple script to utilize
vpnmon server list automation. It just requires creating some directory structures in /opt/home to locate the .ovpn or .conf files provided
by you vpn provider. Out of habit I put the script in the bin directory I created.

agagne@rt-ax92u:/tmp/home/root# ls /opt/home
VPN1 WG1
VPN2 bin

Running the script:
agagne@rt-ax92u:/tmp/home/root# /opt/home/bin/gen-server-list-VPNMON-R3 vpn 1
zzz.xxx.yy.xxx
xxx.yyy.xx.zz

agagne@rt-ax92u:/tmp/home/root# /opt/home/bin/gen-server-list-VPNMON-R3 wg 1
ConnectionName,InterfaceIP/Sub,EndpointIP,EndpointPort,PrivateKey,PublicKey

The script will need some adjustment for PreSharedKey if that is needed.

Format: ConnectionName,InterfaceIP/Sub,EndpointIP,EndpointPort,PrivateKey,PublicKey,PreSharedKey(Opt)
Example: City WG,10.50.0.2/32,143.32.55.23,34334,fasdkaffkasdjfj=,221t949as2323kf=,23fj39fffjdaf=

Just add the full path for the script to vpnmon server list automation with the arguments appropriate for the slot you want to use and execute it.
Then run reset/reconnect. The script will read multiple config files if stored in the same directory.
Pretty cool, @scootertramp !!

Now I want to find a way to mass download all .conf files from my VPN providers to create a master list! :)
 
@Viktor Jaep

Quick question on vpn logging. Would it be possible to add which slot these invalid pings are coming from?

Sep 19 2025 20:43:29 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1243 Sep 19 2025 20:51:06 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1244 Sep 19 2025 20:57:24 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1245 Sep 19 2025 21:06:09 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1246 Sep 19 2025 21:07:25 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1247 Sep 19 2025 21:08:41 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1248 Sep 19 2025 21:34:52 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1249 Sep 19 2025 21:37:24 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1250 Sep 19 2025 21:39:55 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
 
@Viktor Jaep

Quick question on vpn logging. Would it be possible to add which slot these invalid pings are coming from?

Sep 19 2025 20:43:29 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1243 Sep 19 2025 20:51:06 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1244 Sep 19 2025 20:57:24 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1245 Sep 19 2025 21:06:09 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1246 Sep 19 2025 21:07:25 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1247 Sep 19 2025 21:08:41 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1248 Sep 19 2025 21:34:52 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1249 Sep 19 2025 21:37:24 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
1250 Sep 19 2025 21:39:55 rt-ax92u VPNMON-R3[28132] - WARNING: Invalid VPN PING information received. Contents: Null
Absolutely! Will add it to my list!
If only there was an api for that.:cool:
If only. Lol 😋
 
I don't know if it is specific to this version but my experience is if you are monitoring WG VPN clients (Haven't tested with Open VPN) and you decide to manually change the server from say Chicago to New York I have found it necessary to first go into VPMON and unmonitor the slot before going into the router's GUI and uploading a new conf file and starting it. Failing to do so may require you upload a saved router configuration to get your VPN clients functioning and then after the router reboots and your prior VPN client is running go into VPMON unmonitoring the slot then change the server using the router's GUI. I have tried other VPMON options such as pause but only thing that has worked for me as to follow the steps I outlined above.

This just happened to me, and I still don’t have my router running properly again.
 
This just happened to me, and I still don’t have my router running properly again.
Try to upload your saved backup configuration again. If that doesn't work, then factory reset reload backup configuration and then if you were running BACKUPMON install that script again then restore a backup from a day when the router was running correctly and you should have everything including your scripts back and running.
 
Try to upload your saved backup configuration again. If that doesn't work, then factory reset reload backup configuration and then if you were running BACKUPMON install that script again then restore a backup from a day when the router was running correctly and you should have everything including your scripts back and running.
What do you think is causing the inability for the router to accept a new fresh config like this? Or am I misreading the actual issue?
 
What do you think is causing the inability for the router to accept a new fresh config like this? Or am I misreading the actual issue?
If you are talking about the router not recovering after reloading a saved configuration it might be because the conflict still exists between the router and VPMON and you really need to stop the monitoring of the slots before restoring the routers configuration. When I loaded saved configuration recently to fix a VPN problem, slot monitoring had been switched off prior to restoring. As for what causes the issue in the first place when you try to load a new VPN configuration the old one stops and VPMON within ms tries to restart it, and perhaps you get a mishmash of a configuration. One solution might be instead of VPMON being so quick to restart monitored slots you have the option wait for 20-30 seconds before VPMON kicks in instead of a maximum 999 ms. If you make a change to VPMON to allow a longer reset time I would be willing to experiment and see if a longer delay solves the issue.
 
If you are talking about the router not recovering after reloading a saved configuration it might be because the conflict still exists between the router and VPMON and you really need to stop the monitoring of the slots before restoring the routers configuration. When I loaded saved configuration recently to fix a VPN problem, slot monitoring had been switched off prior to restoring. As for what causes the issue in the first place when you try to load a new VPN configuration the old one stops and VPMON within ms tries to restart it, and perhaps you get a mishmash of a configuration. One solution might be instead of VPMON being so quick to restart monitored slots you have the option wait for 20-30 seconds before VPMON kicks in instead of a maximum 999 ms. If you make a change to VPMON to allow a longer reset time I would be willing to experiment and see if a longer delay solves the issue.
The easiest thing to do really is to just stop the script before making any major changes to an OVPN slot, like uploading a new .conf file or something. That way it won't interfere, try to stop/start services, or try updating field values.
 
The easiest thing to do really is to just stop the script before making any major changes to an OVPN slot, like uploading a new .conf file or something. That way it won't interfere, try to stop/start services, or try updating field values.
I agree if you stop monitoring the slots or disable the script then no issues but for people that don't do that or stop the script then they end up with an unstable router with corrupted VPN functionality.
 
I agree if you stop monitoring the slots or disable the script then no issues but for people that don't do that or stop the script then they end up with an unstable router with corrupted VPN functionality.
OK, I'll agree to that... if you want to keep VPNMON running while doing major updates on the OVPN slot in the UI, then yes... definitely 'unmonitor' the slot first. :P
 
Last edited:
Nothing better than pumping out some code on a lazy Saturday! Enjoy v1.7.0 introducing some new functionality! :)

What's new!?
v1.7.0 - (September 20, 2025)
- MINOR:
Added the ability to choose between a Random or Sequential way to pick the next server off your custom Server Lists. Statistically, there's a higher chance of the script randomly picking the same server on smaller server lists compared to ones numbered in the thousands. This way, for those with smaller lists, you can sequentially step through your list in a round-robin fashion. Once it reaches the end of your custom Server List, it will start back from the beginning. This option is now available in the (C)onfiguration menu -> (1) Custom options ->(13) Server List Item Selection Method.
- PATCH: Added more visibility to the WARNING log item that complains about invalid PING information received, and will now show which VPN/WG slot made the complaint. Thanks much for the suggestion, @scootertramp!

Download link (or update directly within AMTM/VPNMON-R3):
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R3/main/vpnmon-r3.sh" -o "/jffs/scripts/vpnmon-r3.sh" && chmod 755 "/jffs/scripts/vpnmon-r3.sh"

Significant Screenshots:

1758398145262.png


1758398376497.png


Showing the new slot# visibility in this particular WARNING verbiage:
1758399168889.png
 
Last edited:

Similar threads

Latest threads

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!
Back
Top