Meshtastic should be the obvious answer for this but in my limited experience the app(s) and code are buggy on even the most typical hardware. Wish it wasn’t the case but it is.
I think people need to think more about what the actual scenario they have in mind is because it seems most people think of mesh radio as some backup for the government shutting the internet down. When in reality it’s almost useless for that since it’s so easy to jam or flood mesh radio.
The mesh networks are dealing with, by definition, a sparse and widely distributed set of devices which are independently configured and controlled, and in their current widely available form are only dealing with terrestrial communication. Without that point of centralisation you would need to focus on targetted regional jamming, as from a practical standpoint you cannot perform wideband RF jamming over an entire country - signal jammers don't scale that well, and geographic features come into play. As an example you might effectively block mesh networks from operating reliably in a given city, but if people were to move outside of that area then the mesh would operate again. Geography is both a strength and a weakness here: a mountain range will impede direct communication with someone on the other side, but it will also have the same effect on jammers which will vastly increase the cost to deploy them in a ubiquitous fashion.
Jamming is done in military scenarios too, but in that case it’s limited by the fact that a jammer is a big transmitter painting itself with a big sign that says “fire missile here.” Civilian mesh doesn’t have that fallback.
I've been tinkering with the tech to make city-wide flrc meshes joined together over the internet, my estimates are that it should be at least able to support thousands of users per region.