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!) - v1.8.0 Beta3

I think this is right.
The order of operations matters here — trying to disable monitoring after the fact is too late. Discovered this by doing it the wrong way first, then restoring again. (Only for the second go-round, monitoring had already been disabled by me.)

Thanks guys!!!!!
Just kill the script before doing any VPN/WG major slot work in the UI. Make sure it's not running. That's the simplest answer. 👍
 
Seeking feedback... I've been wanting to add an indicator showing how busy a certain connection was, and borrowed some functionality from RTRMON. Initially it was just a colored block (green/yellow/red) indicating bandwidth being consumed, but since I was getting actual numbers, I decided to just use them. I'm now wondering... is seeing incoming Mbps enough, or shall I just get it over with, sacrifice a little more screen space and show outgoing Mpbs as well?

1759358441048.png
 
Last edited:
Seeking feedback... I've been wanting to add an indicator showing how busy a certain connection was, and borrowed some functionality from RTRMON. Initially it was just a colored block (green/yellow/red) indicating bandwidth being consumed, but since I was getting actual numbers, I decided to just use them. I'm now wondering... is seeing incoming Mbps enough, or shall I just get it over with, sacrifice a little more screen space and show outgoing Mpbs as well?

View attachment 68144
I think it would be a great addition to vpnmon. If your gonna paint a picture why stop halfway. 😊
 
is seeing incoming Mbps enough, or shall I just get it over with, sacrifice a little more screen space and show outgoing Mpbs as well?
Download would be generally more useful for me but if you can squeeze them both in why not?

:D
 
Here's an early VPNMON-R3 beta... this update just contains the UI change indicating connection speed over the course of the timer. Please let me know if you see any inconsistencies!

What's new!?
v1.8.0b2 - (October 2, 2025)
- MINOR:
Added more visibility to the main UI, and included both TX and RX stats for each connection. Please know, these stats are basically the average connection speed across the length of the timer. They may not be entirely 100% accurate, and are a close approximation of the speeds encountered during this period of time. At the moment, the ranges for Green = 0 - 100Mbps, Yellow = 100 - 250Mbps, Red = > 250Mbps. Config menu item #14 allows you to modify these values based on your own personal preferences and bandwidth.
- PATCH: Fixed a few small inconsistencies across the script.

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"

Significant Screenshots:

1759443026206.png


1759458564033.png


1759458589880.png
 
Last edited:
I might be confused, Sould the TX showing on my vpn1 slot be RX.

VPNMON-R3 - v1.8.0b1 (S)how/(H)ide Operations Menu Thu Oct 2 19:42:53 EDT 2025

Port | Mon | IFace | Health | WAN State | Public WAN IP | Ping-->WAN | RxMbps | TxMbps | City Exit / Uptime
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
WAN0 | [X] | eth0 | [ OK ] | Active | xxx.xxx.xxx.xxx | [ 11.278] | [ 6] | [ 0] | Salem: 4d 11h:08m
WAN1 | [X] | [n/a] | [n/a ] | Inactive | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------

OpenVPN

Slot | Mon | Svrs | Health | VPN State | Public VPN IP | Ping-->VPN | RxMbps | TxMbps | City Exit / Time Connected
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
VPN1 | [X] | [ 8] | [ OK ] | Connected | 45.130.83.25 | [ 16.573] | [ 0] | [ 5] | New York: 1d 01h:38m
VPN2 | [X] | [ 8] | [ OK ] | Connected | 173.239.240.9 | [ 15.470] | [ 0] | [ 0] | Edison: 2d 08h:27m
VPN3 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
VPN4 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
VPN5 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------

Wireguard

Slot | Mon | Svrs | Health | WG State | Public WG IP | Ping--->WG | RxMbps | TxMbps | City Exit / Time Connected
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
WGC1 | [X] | [ 2] | [ OK ] | Connected | 79.127.160.188 | [ 21.737] | [ 0] | [ 0] | Boston: 2d 08h:26m
WGC2 | [X] | [ 2] | [ OK ] | Connected | 79.127.160.194 | [ 21.126] | [ 0] | [ 0] | Boston: 2d 08h:25m
WGC3 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
WGC4 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
WGC5 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
 

Attachments

  • Screenshot 2025-10-02 195735.png
    Screenshot 2025-10-02 195735.png
    176.3 KB · Views: 5
I might be confused, Sould the TX showing on my vpn1 slot be RX.

VPNMON-R3 - v1.8.0b1 (S)how/(H)ide Operations Menu Thu Oct 2 19:42:53 EDT 2025

Port | Mon | IFace | Health | WAN State | Public WAN IP | Ping-->WAN | RxMbps | TxMbps | City Exit / Uptime
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
WAN0 | [X] | eth0 | [ OK ] | Active | xxx.xxx.xxx.xxx | [ 11.278] | [ 6] | [ 0] | Salem: 4d 11h:08m
WAN1 | [X] | [n/a] | [n/a ] | Inactive | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------

OpenVPN

Slot | Mon | Svrs | Health | VPN State | Public VPN IP | Ping-->VPN | RxMbps | TxMbps | City Exit / Time Connected
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
VPN1 | [X] | [ 8] | [ OK ] | Connected | 45.130.83.25 | [ 16.573] | [ 0] | [ 5] | New York: 1d 01h:38m
VPN2 | [X] | [ 8] | [ OK ] | Connected | 173.239.240.9 | [ 15.470] | [ 0] | [ 0] | Edison: 2d 08h:27m
VPN3 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
VPN4 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
VPN5 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------

Wireguard

Slot | Mon | Svrs | Health | WG State | Public WG IP | Ping--->WG | RxMbps | TxMbps | City Exit / Time Connected
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
WGC1 | [X] | [ 2] | [ OK ] | Connected | 79.127.160.188 | [ 21.737] | [ 0] | [ 0] | Boston: 2d 08h:26m
WGC2 | [X] | [ 2] | [ OK ] | Connected | 79.127.160.194 | [ 21.126] | [ 0] | [ 0] | Boston: 2d 08h:25m
WGC3 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
WGC4 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
WGC5 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
Yes... Nice catch. Let me look into that!
 
I might be confused, Sould the TX showing on my vpn1 slot be RX.

VPNMON-R3 - v1.8.0b1 (S)how/(H)ide Operations Menu Thu Oct 2 19:42:53 EDT 2025

Port | Mon | IFace | Health | WAN State | Public WAN IP | Ping-->WAN | RxMbps | TxMbps | City Exit / Uptime
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
WAN0 | [X] | eth0 | [ OK ] | Active | xxx.xxx.xxx.xxx | [ 11.278] | [ 6] | [ 0] | Salem: 4d 11h:08m
WAN1 | [X] | [n/a] | [n/a ] | Inactive | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------

OpenVPN

Slot | Mon | Svrs | Health | VPN State | Public VPN IP | Ping-->VPN | RxMbps | TxMbps | City Exit / Time Connected
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
VPN1 | [X] | [ 8] | [ OK ] | Connected | 45.130.83.25 | [ 16.573] | [ 0] | [ 5] | New York: 1d 01h:38m
VPN2 | [X] | [ 8] | [ OK ] | Connected | 173.239.240.9 | [ 15.470] | [ 0] | [ 0] | Edison: 2d 08h:27m
VPN3 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
VPN4 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
VPN5 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------

Wireguard

Slot | Mon | Svrs | Health | WG State | Public WG IP | Ping--->WG | RxMbps | TxMbps | City Exit / Time Connected
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
WGC1 | [X] | [ 2] | [ OK ] | Connected | 79.127.160.188 | [ 21.737] | [ 0] | [ 0] | Boston: 2d 08h:26m
WGC2 | [X] | [ 2] | [ OK ] | Connected | 79.127.160.194 | [ 21.126] | [ 0] | [ 0] | Boston: 2d 08h:25m
WGC3 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
WGC4 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
WGC5 | [ ] | [0000] | [n/a ] | Disconnected | [n/a] | [n/a] | [n/a ] | [n/a ] | [n/a]
-------|-----|--------|--------|--------------|-----------------|------------|--------|------------------------------------------
So yeah... you were correct in your assessment. Looking at my RTRMON code, those values are actually reversed, even though I am pulling the right RX and TX values. They seem to be reversed at the source. I've made this change, and published Beta 2:

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"

Please let me know if it looks better! Also, I've added a Config Menu item #14 that allows you to change these values to your own preferences. Thanks for taking a look!
 
So yeah... you were correct in your assessment. Looking at my RTRMON code, those values are actually reversed, even though I am pulling the right RX and TX values. They seem to be reversed at the source. I've made this change, and published Beta 2:

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"

Please let me know if it looks better! Also, I've added a Config Menu item #14 that allows you to change these values to your own preferences. Thanks for taking a look!
Initially looks great but did run into some wonkiness after doing a reset/reconnect. After the reset the rx/tx counters went to 0 for that slot. Wan still showing expected rx rate.
I tried stop/start vpnmon but no change. I will try to see if this repeats again later.
It did clear up sometime over night. That vpn slot is showing correct data this AM.
 
Initially looks great but did run into some wonkiness after doing a reset/reconnect. After the reset the rx/tx counters went to 0 for that slot. Wan still showing expected rx rate.
I tried stop/start vpnmon but no change. I will try to see if this repeats again later.
It did clear up sometime over night. That vpn slot is showing correct data this AM.
I see the same thing happen on the RTRMON side when resetting a slot. It doesn't show any traffic, but slowly starts ramping up. I've never really looked into why this happens, but I can certainly dig into it more.
 
Last edited:
Also, I've added a Config Menu item #14 that allows you to change these values to your own preferences.

@Viktor Jaep is it feasible to have separate configs for the WAN0/WAN1/Wireguard/OpenVPN sections or would that be "scope creep" and silly?
What are your thoughts?

In my case my main WAN0 HFC connection is 1000 Mbps down / 100 Mbps up, my WAN1 5G backup is about 80-200 down / 5-40 up (varies wildly).
I only have a couple of devices going via NordVPN (Wireguard) and VPN Director, and that never pulls more than 300-350 Mbps download, in Sydney at least.

So defining what constitutes Low/Medium/High utilisation "depends" on the interface if you see what I mean ... probably just over-complicating it!
 
@Viktor Jaep is it feasible to have separate configs for the WAN0/WAN1/Wireguard/OpenVPN sections or would that be "scope creep" and silly?
What are your thoughts?

In my case my main WAN0 HFC connection is 1000 Mbps down / 100 Mbps up, my WAN1 5G backup is about 80-200 down / 5-40 up (varies wildly).
I only have a couple of devices going via NordVPN (Wireguard) and VPN Director, and that never pulls more than 300-350 Mbps download, in Sydney at least.

So defining what constitutes Low/Medium/High utilisation "depends" on the interface if you see what I mean ... probably just over-complicating it!
I can always count on @Stephen Harrington to come up with a doozie! Lol. I can definitely think about it... Would make things a bit more complex to set things up, but definitely possible.

In the interim, maybe choose some values that overlap between both connections? I'll sleep on it! ;)
 
Upon reflection, I think ignore it! ;)
I can check that off my list then! LOL

However, I'm wrestling with possibly separating the TX and RX thresholds, since you did bring up a good point... your upload bandwidth is not symmetrical, and could benefit from it's own range. Would this be a worthy compromise? :)
 
Last edited:
Beta 3 is out, now featuring the ability to set your limits/thresholds for both RX and TX values, thanks to input from @Stephen Harrington!

What's new?
v1.8.0b3 - (October 5, 2025)
- MINOR:
Added more visibility to the main UI, and included both TX and RX stats for each connection. Please know, these stats are basically the average connection speed across the length of the timer. They may not be entirely 100% accurate, and are a close approximation of the speeds encountered during this period of time. At the moment, the RX ranges for Green = 0 - 100Mbps, Yellow = 100 - 250Mbps, Red = > 250Mbps. Config menu item #14 allows you to modify these values based on your own personal preferences and bandwidth. Separation between RX and TX thresholds has been added for those with asymmetrical internet connections, with thanks to @Stephen Harrington for the push in that direction! TX range defaults for Green = 0 - 15Mbps, Yellow = 15 - 25Mbps, Red = > 25Mbps.
- PATCH: Fixed a few small inconsistencies across the script.

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"

Significant Screenshots:


New addition to config menu item #14 letting you configure both RX and TX thresholds:

1759709210675.png


Config Menu showing your configured values:

1759709252300.png
 

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!

Staff online

Back
Top