What's new

amtm amtm 6.2 - the Asuswrt-Merlin Terminal Menu, January 17, 2026

Begin by starting a separate thread as this is not related to amtm maintenance per se. Provide download links so that those interested may install and test.

How is this different than @Viktor Jaep's VPNMON script?
 
How is this different than @Viktor Jaep's VPNMON script?
It's similar in the way that VPNMON works in that it rotates WG connections and checks for tunnel health, but this is customized specifically for NordVPN's use. That's why I decided to scrap VPNMON-R2 almost 3 years ago, and created VPNMON-R3 in order to provide more flexibility so that you could use any VPN provider... not just NordVPN.
 
What is missing, however, is:
- scheduled endpoint rotation, and
- a watchdog that monitors the WireGuard tunnel health and reacts when a tunnel becomes unusable (for any reason, like for example Endpoint being decommissioned) by recreating it.

My solution consists of two scripts:
- nordwg_rotate.sh – forces WireGuard endpoint rotation according to schedules defined via cru
- nordwg_watchdog.sh – periodically checks WireGuard tunnel health and forces a new setup when an existing tunnel is not healthy

Thank you for your enthusiasm and contributions, @BrimoXD99, but did you check out VPNMON-R3 before starting your project? Because it does all this same stuff (and more). Obviously I don't want to stop you from building your own thing, because I know for a fact that coding is a ton of fun... and we welcome any and all contributions in this community!

Some backstory -- about 5 years ago, I built VPNMON-R2, but it was heavily customized specifically for different VPN providers, like NordVPN, AirVPN, etc... much like how yours operates today. But I realized I was constantly battling having to integrate yet another VPN provider with different standards, or dealing with changing standards on existing VPN providers... even VPN providers ditching their ability to use an API to get server information.

Blast from the past... VPNMON-R2 showing a customized NordVPN connection:

1769352839313.png


That's why I scrapped R2, and built VPNMON-R3 about 3 years ago... which is agnostic to any VPN provider, and allows you to query the VPN provider of your choice (including Nord) to pull country, city, or whatever data you please to assemble a server list that it will randomly (or round-robin) connect to as many times as you want each day. Also, it performs these services for OVPN or WG, or both. The health of the tunnels is a big component, and has multiple trip wires that it checks for every 60 seconds (or however long you want), before it determines it requires a reset.

For example, as you can see below, my WG2 connection has 2259 NordVPN servers it can randomly pick from and reconnect to on a periodic basis, or when the tunnel fails. My WG3 connection uses 47 AirVPN servers, and my OVPN5 connection (not running) uses 188 ProtonVPN servers.

1769351586982.png


I would definitely encourage you to continue development on your script, but as @visortgw recommended above, to start your own thread in the forum to support users who may be interested in running it first.
 
Last edited:
My goal is to add an entry to the amtm menu, under a defined key, so I can launch nordwg-menu.sh directly from amtm.
Is this possible, and if so, how should it be implemented?
Theoretically, that is possible. But amtm is entirely dynamic how it loads and drops extensions and not built to use user defined modifications at all.
 
Begin by starting a separate thread as this is not related to amtm maintenance per se. Provide download links so that those interested may install and test.

How is this different than @Viktor Jaep's VPNMON script?
Completely disagree.
My question specifically concerns the amtm configuration, specifically how to add a private script to the amtm menu, regardless of what the private script does.
How would sharing my script for testing answer my question about adding a private script to the amtm menu?
Are you asking how my script differs from VPNMON? How does your question relate to my goal?
 
Theoretically, that is possible. But amtm is entirely dynamic how it loads and drops extensions and not built to use user defined modifications at all.
Would it be too much to ask for a feature in amtm that would allow users to add one or two private scripts to the amtm menu?
I'm just throwing out an idea ;)
 
Thank you for your enthusiasm and contributions, @BrimoXD99, but did you check out VPNMON-R3 before starting your project? Because it does all this same stuff (and more). Obviously I don't want to stop you from building your own thing, because I know for a fact that coding is a ton of fun... and we welcome any and all contributions in this community!

Some backstory -- about 5 years ago, I built VPNMON-R2, but it was heavily customized specifically for different VPN providers, like NordVPN, AirVPN, etc... much like how yours operates today. But I realized I was constantly battling having to integrate yet another VPN provider with different standards, or dealing with changing standards on existing VPN providers... even VPN providers ditching their ability to use an API to get server information.

Blast from the past... VPNMON-R2 showing a customized NordVPN connection:

That's why I scrapped R2, and built VPNMON-R3 about 3 years ago... which is agnostic to any VPN provider, and allows you to query the VPN provider of your choice (including Nord) to pull country, city, or whatever data you please to assemble a server list that it will randomly (or round-robin) connect to as many times as you want each day. Also, it performs these services for OVPN or WG, or both. The health of the tunnels is a big component, and has multiple trip wires that it checks for every 60 seconds (or however long you want), before it determines it requires a reset.

For example, as you can see below, my WG2 connection has 2259 NordVPN servers it can randomly pick from and reconnect to on a periodic basis, or when the tunnel fails. My WG3 connection uses 47 AirVPN servers, and my OVPN5 connection (not running) uses 188 ProtonVPN servers.

I would definitely encourage you to continue development on your script, but as @visortgw recommended above, to start your own thread in the forum to support users who may be interested in running it first.
I've looked through your script and I'm impressed with what you've created.
I might test it someday, but then again, I'm not sure I want to "drive a truck" when my goal is to "drive a small car" 😁
One question: why use ping to monitor the status of a WG tunnel when there's a solid criterion: if the output of the "wg show wgcX" command doesn't include a line containing "latest handshake," then the tunnel is considered "dead"
 
Would it be too much to ask for a feature in amtm that would allow users to add one or two private scripts to the amtm menu?
I'm just throwing out an idea ;)
That is an idea I had in the back of my mind for a looong time. Let me ponder the technicalities for a while how to implement such a feature. Might be useful to developers of new scripts as well.
 
I've looked through your script and I'm impressed with what you've created.
I might test it someday, but then again, I'm not sure I want to "drive a truck" when my goal is to "drive a small car" 😁
Absolutely, totally understood. ;)

One question: why use ping to monitor the status of a WG tunnel when there's a solid criterion: if the output of the "wg show wgcX" command doesn't include a line containing "latest handshake," then the tunnel is considered "dead"
I use the wg show wgcX latest-handshakes to determine if the tunnel is up when the handshakes value is less than 200s. There could be instances where the tunnel hasn't gracefully crashed by itself, and handshakes could be > 200s... which is also why I'm using ping, incase the tunnel still manages to stay up between me and the provider, but there's something else amiss upstream. If one or more of these methods fail the smell test, then it just performs a reset.
 

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