Commit Graph

1161 Commits

Author SHA1 Message Date
Tim Wilkinson 1eecdf2d6f Add ip rules for extra links by reusing the tun infrastructure. 2022-10-04 22:06:04 -07:00
Tim Wilkinson 806f137ae0 Add xlinks to vpn firewall zone 2022-10-04 22:06:04 -07:00
Tim Wilkinson 64e4c1e3cd Support adding extra network links to OLSR
This is useful for non-AREDN backbone links, etc.
2022-10-04 22:06:04 -07:00
Steve 7f4342ffb7
add help link to pages missing it (#513) 2022-10-03 20:49:26 -05:00
Steve 72572034be
add ntp update period to basic setup page (#510)
* add ntp update period to basic setup page

* ensure current value as selected

* include case where reverts to daily after upgrade

* persist ntp_period across upgrades
2022-10-02 18:46:57 -05:00
Steve bf105adf84
fix recoverymode script (#512) 2022-09-27 22:03:55 -05:00
Tim Wilkinson c341bba378
Switch to more active wifi reset (#508) 2022-09-20 18:29:03 -05:00
Tim Wilkinson 808f4b1aa1
Remove an old "Lua version" display tag (#509) 2022-09-20 18:26:44 -05:00
Steve f9a63a3f25
update help file for new adv config format (#504) 2022-09-12 16:09:57 -05:00
Tim Wilkinson b8fe2578a3
Add more 3XX redirects + 401 authentication (#506)
* Add more 3XX directs

* Allow pages which require user authentication
2022-09-12 16:09:19 -05:00
Tim Wilkinson 5efd0276fe Add a wifi scan trigger for when the nodes detected becomes zero 2022-09-10 12:39:44 -07:00
Steve e37708641e
simplify AdvConfig display (#501) 2022-09-09 09:41:52 -05:00
Tim Wilkinson 238d0fcd70
Stop node's LQM neighbors including itself (#502) 2022-09-09 08:50:39 -05:00
Tim Wilkinson 6ba17b8e5a
Snapshot hostnames after updates so we have a consistent copy to display (#488) 2022-09-06 09:58:18 -05:00
Tim Wilkinson 3f89bb4290
Fix bad match for NAT dhcp address. (#500) 2022-09-06 09:57:06 -05:00
Steve b6a4ee6bb2
add units to setup and advconf pages (#499) 2022-09-04 11:05:54 -05:00
Steve cb62d5bf49
change support link to button (#496) 2022-08-29 16:49:45 -05:00
Tim Wilkinson 0cd4fd3edc
If redirect ends at an https link assume it is valid (we cannot check it) (#491) 2022-08-29 10:31:03 -05:00
Tim Wilkinson d463923b29 Moved example routes file 2022-08-28 08:17:35 -07:00
Tim Wilkinson 4ca403e1a1 Examples 2022-08-28 08:17:35 -07:00
Tim Wilkinson 9daf640c85 Optionally include static routes (and preserve them across upgrades) 2022-08-28 08:17:35 -07:00
Tim Wilkinson 1824b945c8 Dont validate hostname in NAT mode.
Hostname is always valid for NAT but not in the valid_hosts table.
2022-08-22 08:04:15 -07:00
Tim Wilkinson 8a2b6f968d
A simple way to keep a user swconfig override across upgrades (#481) 2022-08-16 14:03:13 -05:00
Steve AB7PA 696df41d5a
update node help file for adv wan settings (#480) 2022-08-15 17:22:17 -05:00
Tim Wilkinson 46f48a92f2 Remove 172.16.0.0/12 route 2022-08-15 11:16:24 -07:00
Tim Wilkinson 471f200782 Added missing callbacks 2022-08-15 11:16:24 -07:00
Tim Wilkinson a8d3be4403 Make the options booleans 2022-08-15 11:16:24 -07:00
Tim Wilkinson e1ddbabb85 Migrate LAN-to-WAN options to advance configuration 2022-08-15 11:16:24 -07:00
Tim Wilkinson ac012ae7b2 Improve non-WAN firewalling 2022-08-15 11:16:24 -07:00
Tim Wilkinson c240d8a4a9 Block forwarding between LAN and WAN when necessary.
When "Prevent LAN devices from accessing WAN" is enabled
2022-08-15 11:16:24 -07:00
Steve AB7PA 9214a749b8
reorder advconfig settings (#477) 2022-08-09 21:44:45 -05:00
Tim Wilkinson 4426aa8016
Remove spectal scan (#441) 2022-08-02 21:27:31 -05:00
Tim Wilkinson 102c4112c0
Prefix 'WiFi' to WAN address when WiFi wan is enabled (#470) 2022-08-02 18:57:44 -05:00
Tim Wilkinson c3a317d424
Provide status about state of wan wifi connection (#472)
* Provide status about state of wan wifi connection

* Updated icons

* One more icon
2022-08-02 18:56:27 -05:00
Tim Wilkinson 47fc5f78ef
Password visible toggle (#469)
* Add toggle to show password fields

* Fix permissions
2022-08-02 18:55:08 -05:00
Steve AB7PA fddde5ea53
update html help file for adv svc feature (#459) 2022-07-31 14:12:53 -05:00
Steve AB7PA 7b768e6ce1
add svc alert icon (#461) 2022-07-31 14:12:17 -05:00
Tim Wilkinson 665fa4924f Fix missing "http" proto when checking non-links 2022-07-27 12:22:10 -07:00
Tim Wilkinson e8d90a9404 Add a visual indicator when a service is not being published. 2022-07-27 12:22:10 -07:00
Tim Wilkinson 1e78f85edc Immediatley run service check code when installing/removing package 2022-07-26 23:48:24 -07:00
Tim Wilkinson d16e9e4f90 If address ping fails, also try an arping in case local device blocks pings 2022-07-26 23:48:24 -07:00
Tim Wilkinson e591ffa801 Also include AR750 2022-07-25 14:39:24 -07:00
Tim Wilkinson d9ef1423c2 Add WAN VLAN support to the Mikrotik hAP 2022-07-25 14:39:24 -07:00
Steve AB7PA 6272209324
adjust admin categories (#455) 2022-07-25 16:38:18 -05:00
Tim Wilkinson 49a3d7738b Deal with lan on AR300M always having the same mac address 2022-07-24 08:12:30 -07:00
Paul K3PGM b859a79127
Fully validate node and tactical names; give better messages when invalid. (#450) 2022-07-22 18:49:58 -05:00
Tim Wilkinson 12e33e3d21 Layer-3 test (both tcp and udp) of non-http services 2022-07-21 15:16:45 -07:00
Tim Wilkinson 6eb4f64d23 Run an hourly check on the services we publish and disable any that
are not reachable
2022-07-21 15:16:45 -07:00
Tim Wilkinson ed1529678b WIP 2022-07-21 15:16:45 -07:00
Tim Wilkinson 9993244143 Fix issues with tactical names 2022-07-21 15:15:47 -07:00
Tim Wilkinson f0bfad55d0 wifi_chanbw should always be a string 2022-07-21 15:15:05 -07:00
Tim Wilkinson 43fe20f2bd
Fix random iperf failures (#445) 2022-07-21 09:50:28 -05:00
Steve AB7PA 02ec015d90
allow long filename display (#444) 2022-07-20 18:15:13 -05:00
Tim Wilkinson cf8abafd65
iPerf3 as part of the api (#443) 2022-07-20 14:42:05 -05:00
Tim Wilkinson d166393bb8
Ping tool (to complement the iperf3 tool) (#440)
* Ping tool (to complement the iperf3 tool)

* Make ping-tool part of the api (like traceroute)

* Bump api version
2022-07-19 20:27:44 -05:00
Steve AB7PA ce67430b45
make Keep Settings more prominent (#439) 2022-07-19 17:47:12 -05:00
Tim Wilkinson 675beca8f8
Prevent < and > being used in service names (#437) 2022-07-18 08:46:01 -05:00
Tim Wilkinson ba55aed754
Arrays are 1-indexed (not zero) (#432) 2022-07-14 13:05:33 -05:00
dman776 f55cdee1d2
Initial framework api for read/write 07/13/2022 (#359)
* add login page controller

* update copyright

* initial update

* add options method

* add setup_basic controller

* initial pass of rework of setup_basic

* add stubs for setup_optional and setup_advanced

* setup_basic get mesh_rf functions complete

* add additional properties for setup_basic

* add maxpower for setup_basic

* add error checking for controllers

* cleanup

* add /apriprotected to basic auth list

* change to dot notation style
2022-07-13 16:36:53 -05:00
Tim Wilkinson abee30e537
Reduce colors and improve scan information (#429)
* Reduce colors

* Noise -> Ambient noise
2022-07-13 16:21:39 -05:00
Tim Wilkinson dd590a6102
Handle dtd bridge device (#431) 2022-07-13 16:19:56 -05:00
Tim Wilkinson 79a63e8ad8
Default DHCP limits in NAT mode if fields are blank (#430) 2022-07-13 16:19:24 -05:00
dman776 2e09886d4b
Fix tacticalname (#426)
* fix tactical node names fixes#420

* make / optional

* revert last change
2022-07-13 16:18:08 -05:00
dman776 55642e05be
rename supportdata extention from tgz to gz (#427) 2022-07-06 15:27:08 -05:00
Tim Wilkinson 82b0cb5903
Heatmap spectral view (#423) 2022-07-01 09:53:18 -05:00
Steve Lewis AB7PA 4e6b68c612 allow zero length wan wifi client passphrase 2022-06-30 08:55:41 -07:00
Steve AB7PA 480185bd0b
set default non-nil values on setup (#417) 2022-06-29 15:45:54 -05:00
Tim Wilkinson 7887497cb3 Allow auto-distance to be overridden when LQM cannot determine the
distance to other nodes
2022-06-27 15:29:39 -07:00
Tim Wilkinson afe30ffc6e
Graph in SNR + fixes (#412)
Feedback from Joe and others to adjust the noise floor (which is lower
for subchannels). Label with SNR because that's easier to compare to the
SNR values people are already familiar with.
2022-06-25 20:45:28 -05:00
Tim Wilkinson b4c5691110
3GHz fixes and optimizations (#411) 2022-06-24 22:24:28 -05:00
Tim Wilkinson 4b37c6a033
Spectral wifi information (#410)
* Add spectral channel information

* Add spectral graph
2022-06-24 16:50:05 -05:00
Tim Wilkinson b006c1040a Stop map update claiming success when it actually fails 2022-06-23 14:46:15 -07:00
Tim Wilkinson f8d71b6552 Never block short DtD links regardless of quality.
Ignore invalid mac from arp table when building lookup table.
 This avoids a problem where a mac can be in the table twice,
 once valid and once invalid with an old ip address.
2022-06-22 11:57:29 -07:00
Tim Wilkinson a65e09e2ad Remove #NOPROP from /etc/ethers where it was being incorectly parsed.
The AREDN code now cross references entries in /etc/ethers with those in
/etc/hosts to determine if an IP is #NOPROP.
2022-06-21 08:32:48 -07:00
Tim Wilkinson ad441ba600 Fix error when re-enabling wifi mesh with lqm on 2022-06-17 14:27:48 -07:00
Tim Wilkinson 148e9bea13 Off by default on upgrade, on my default on fresh install 2022-06-16 20:34:39 -07:00
Tim Wilkinson bdb46624f0 DtD links have to be close by 2022-06-16 20:34:39 -07:00
Tim Wilkinson 6b1ec622aa DtD links have to be close by 2022-06-16 20:34:39 -07:00
Tim Wilkinson 28f25cf951 Allow user to force certain macs to be accepted 2022-06-16 20:34:39 -07:00
Tim Wilkinson c57d384ca6 LQM on by default 2022-06-16 20:34:39 -07:00
Tim Wilkinson fb2ec36bb6 LQM2 2022-06-16 20:34:39 -07:00
Joe AE6XE 79318f0b40 aredn: Add definition for PBE M5 300-ISO 2022-06-15 22:11:40 -07:00
Tim Wilkinson 8dc74c117f Fix display of unknown radio model 2022-06-13 14:49:24 -07:00
Tim Wilkinson 0a6f4a7a48 Missing channels -4 and -3 2022-06-08 11:45:03 -07:00
Tim Wilkinson 40fb320290 Fix 5GHz AP bad channel dropdown 2022-06-07 21:49:30 -07:00
Steve AB7PA 6aff2636c0
report node hardware better on Status page 06/07/2022 (#383)
* report hwtype better for UBNT nodes

* add Ubiquiti mfg to radios.json

* change field name

* edit field name to model
2022-06-07 21:31:30 -05:00
Steve AB7PA c4bd018a5c
restrict msg banner to nonprotected pages (#384)
* restrict aredn messages to non-protected pages

* fix typo
2022-06-07 21:30:27 -05:00
Steve AB7PA bf8c6ee093
add hardware type to Status page (#382) 2022-06-04 22:45:00 -05:00
Steve AB7PA fc9a946286
fix typo in radios.json (#380) 2022-06-03 21:44:27 -05:00
Tim Wilkinson b86213a66f
LQM fixes 6 (#379) 2022-05-31 21:54:02 -05:00
Tim Wilkinson 0faf41072a
Restart manager when we restart the firewall (#378) 2022-05-30 14:56:50 -05:00
Tim Wilkinson ba94a86ce3 Fix empty initial lqm status.
Limit distance between DtD nodes which are considered at the same site.
Some network setups use non-ham networks to connect nodes over DtD links.
These should not be consider the same site, so we limit how far appart DtDed
nodes can be when optimizing.
2022-05-26 23:32:37 -07:00
Tim Wilkinson 2f96f2bc7a Really old sysinfo.json dont have link_info 2022-05-25 21:55:27 -07:00
Steve Lewis AB7PA 47826f809c correct typo on latency status 2022-05-25 12:33:18 -05:00
Steve Lewis AB7PA 086aeb18e3 add qmark to RF Neigh status column 2022-05-25 12:33:18 -05:00
Steve Lewis AB7PA 8218555bd8 add LQM status codes to on-node help 2022-05-25 12:33:18 -05:00
Steve Lewis AB7PA 885b046636 correct registered service mark and minor format changes 2022-05-25 10:05:35 -07:00
Tim Wilkinson 53632d322d
LQM fixes 4 (#370)
* Tidy LQM status
Remove TX Estimate which was duplicating information on the mesh page and
confusing folk.
Sort by name to stop the display jumping around.

* Split out ping and tx qualities and use average of both.

* Improve keeping re-discovered nodes in pending

* Remove .local.mesh from hostname (they're there sometimes)

* Identify why poor quality traffic is blocked
2022-05-24 10:35:36 -05:00
Steve AB7PA 2fb911948a
update the onboard node help file (#367) 2022-05-23 07:45:16 -05:00
Tim Wilkinson 988c7f251b
Turn LQM off when not enabled!! (#369) 2022-05-23 07:44:37 -05:00
Tim Wilkinson b680d2019e
LQM fixes 3 (#366) 2022-05-22 21:06:02 -05:00
Tim Wilkinson 754ced48b0
Inverted test for different port forward (#368) 2022-05-22 21:05:08 -05:00
Tim Wilkinson 1ceb7b2140
LQM fixes 2 (#365) 2022-05-20 21:23:57 -05:00
Tim Wilkinson a8b7f8a216
LQM improvements (#364) 2022-05-20 08:10:01 -05:00
Tim Wilkinson 3f3b71b10c
Add missing .local.mesh to neighbor links (#363) 2022-05-19 10:51:41 -05:00
Tim Wilkinson b23ab5ee8a
Link Quality Management (#360)
* Link Quality Management experiment (built in)

* Protect LQM pages

* Omit "empty" mac addresses

* Integrate LQM v0.2
Includes proposed UI if this were built-in.
When LQM is enabled (advanced settings) the usual distance inputs are
replaced with "min snr' and "max distance" inputs which are the major
ones you might tweak, as well as a link to the LQM status page.
Other controls are now available (so protected) in advanced settings.

* Improve LQM updating

* Use running snr averages

* Merge app changes

* AREDN-ize the UI

* Improve status language

* Improved DtD detection

* Improve quality reporting

* Link Quality category

* Enable by default

* Better intergration

* Link => Neighbor

* Formatting

* Make sure initial page is populated without extra fetch

* Handle empty lqm.info

* Update with latest experiment algorithm changes

* Validate LQM settings before applying them

* Algorithm updates

* Improve quality reporting

* %% -> %

* Default max distance now 50 miles

* Get actual noise if radio will provide it

* low_snr => min_snr

* Dont print node description if we dont have one

* Remove properties duplicated from setup page

* Localize max distance. Miles in GB and US, Kilometers everywhere else.

* Ping link quality testing

* UDP 'ping' for quality check

* Change Active Settings title

* Expand ping test

* Improve messaging

* Add a ping penalty for neighbors which cannot be contacted in a timely manner.

* Remove user_blocks config option. No one needs to use this anymore.

* Localize distances on lqm page

* Improve status reporting

* First run emergency node setup.
When a node first runs LQM, if the default settings fail to connect to
a node we will now adjust them so that at least one node is viable.

* Restore blocking of mac addresses

* LQM now off by default
fixed #47
2022-05-18 12:49:00 -05:00
Tim Wilkinson 276d1411f1 Fix updating of dmz mode in /etc/config/aredn 2022-05-12 05:19:56 -07:00
Tim Wilkinson 15b4ff734a
Firmware sideload support (#358) 2022-05-08 11:13:11 -05:00
dman776 f09b38c6d2
enhancement: advanced config categories 05/06/2022 (#357) 2022-05-06 21:03:03 -05:00
Tim Wilkinson 77c88f2738
Wait for iperf3 daemon to startup before returning. (#350) 2022-04-29 13:26:48 -05:00
Tim Wilkinson 15c83780a5
Correct the frequency for 3GHz radio (#345) 2022-04-29 13:25:47 -05:00
Tim Wilkinson ac78a4a40a
succssfully -> successfully (#349) 2022-04-28 09:05:29 -05:00
Tim Wilkinson 3660b26fbb
Add cross origin access to remove remote access limitation. (#347) 2022-04-27 19:39:14 -05:00
Tim Wilkinson e3558c02de
Only preserve wan_intf if set (#348) 2022-04-27 19:38:16 -05:00
Tim Wilkinson 1c6c596d38
Only start vtund server if we have active clients. 04/27/2022 (#343)
Without active clients the server will fail to start. This is okay, except this
error code causes the package installer to incorrectly report an install problem
requiring an unnecessary reboot.
2022-04-27 11:38:56 -05:00
Tim Wilkinson 7aff95711e
Improve rss_monitor startup (#346) 04/27/2022
And shut down if we hae no wifi to monitor
2022-04-27 10:38:54 -05:00
Tim Wilkinson 3f2adcc002
Tiny iperf3 UI (#338) 04/26/2022
* Tiny iperf3 UI

* Added advancedconfig switch

* Add udp/tcp protocol selection

* Validate server names
Add .local.mesh if missing
2022-04-26 21:08:46 -05:00
Tim Wilkinson 0632a63853
Missing year (in one place) when updating snr log (#341) 2022-04-23 20:37:26 -05:00
Tim Wilkinson c83cef5928
Old version - now in mgr/snrlog.lua (#339) 04/22/2022 2022-04-22 07:38:09 -05:00
Tim Wilkinson c42ac68767 Include iperf3 by default 2022-04-20 20:50:19 -07:00
Tim Wilkinson 63ed346f40
Update docs for VLAN change (#334) 2022-04-19 20:40:12 -05:00
Tim Wilkinson 1905d1a514 Stop postupgrade from ditching the vlan info 2022-04-19 17:24:46 -07:00
Tim Wilkinson 7515d6f841 Set WAN VLAN by number rather than by device.
This is more obviously what you want to do, and it makes supporting
devices with switches easier.
2022-04-19 17:24:46 -07:00
Tim Wilkinson 4f1b13deb6 Dont support this feature on devices with switch chips. 2022-04-19 17:24:46 -07:00
Tim Wilkinson 7b77f111ce Support changing the VLAN tag on WAN 2022-04-19 17:24:46 -07:00
Tim Wilkinson d707ca89ac Add port dump to supporttool data 2022-04-19 15:25:42 -07:00
Tim Wilkinson 2e4b51105c Handle nil links from olsrd 2022-04-19 04:34:41 -07:00
Tim Wilkinson aec90d47ae
Missing lanlimit when print port in nat mode (#328) 2022-04-08 04:15:13 -05:00
Tim Wilkinson ce05aeb727
Make sure services are published even when no dtd or lan connected. (#327) 04/06/2022
If wifi is disabled, we will be using a "fake" device for the meshrf. However, this requires that the
underlying physical device is attached, and this might not be the case on devices with present
multiple ethernets (e.g. eth0 and eth1). Detect this and add an extra Hna4 config to OLSR to allow it to
keep using the wifi_ip even when no physical ethernet is attached.
2022-04-06 15:57:54 -05:00
Tim Wilkinson c3f2fcd400
Optimize getRemoteNodes (#326) 2022-04-05 19:30:36 -05:00
Tim Wilkinson b26476f5e2
Fix displaying "Previous neighbors" with empty hostnames (#325)
* Dont display previous neighbors with empty hostnames
* Use IP address when name missing
* Fix bug where missing names became ever growing string of whitespace
2022-04-04 22:16:35 -04:00
Tim Wilkinson e0ac3e9349
Fix bad gateway when switching to LAN NAT mode (#321) 03/30/2022 2022-03-30 15:14:01 -05:00
Tim Wilkinson fc55e44001
Run NTPD daily to sync time against network clock (#319) 2022-03-27 20:13:18 -05:00
Tim Wilkinson 75d42693d3
Stop people removing tunnel components (which will break things now) (#320) 2022-03-25 14:15:44 -05:00
Tim Wilkinson a322c4a113
Add periodic tasks in the style of cron hourly, daily and weekly scripts (#317) 2022-03-24 21:52:32 -05:00
Tim Wilkinson e07836215e
Fix wifi channel type (#314) 2022-03-22 06:33:30 -05:00
Steve AB7PA b13e04b2d8
reduce slider chunkiness (#316) 2022-03-22 06:33:00 -05:00
Tim Wilkinson 6b4ccbf5ad
advancedconfig: tun wan only (#310)
* Prevent tunnel traffic being sent over the mesh (unless explicitly enabled)
* Boolean settings will use default value if value not yet set
2022-03-20 22:55:11 -03:00
Tim Wilkinson 69c0d51216
Add @ back in as a valid password character (#312) 2022-03-20 17:46:56 -05:00
Tim Wilkinson ce2f47e06d
Improve history matching as poor history entries could break "Previous Neighbors" (#307) 2022-03-19 09:21:22 -05:00
Tim Wilkinson a716167fa1
Found some pieces that I forgot to remove (#308) 2022-03-19 09:20:28 -05:00
Tim Wilkinson 85edc542fc Fix uploading data to AREDN Servers 2022-03-18 17:57:05 -07:00
Tim Wilkinson 321e58bd37
Include tunnels by default (#302)
* Include tunnels by default

* Tunnels are always installed so no longer need this flag
2022-03-17 20:57:48 -05:00
Tim Wilkinson caebaea106
Automatically update package dependencies if package install fails (#303) 2022-03-17 20:36:08 -05:00
Tim Wilkinson ebd4a9e07e
Fix use of coordinate to center map (#304)
* Fix use of coordinate to center map

* Typo
2022-03-17 20:35:35 -05:00
Tim Wilkinson 57f81e48cc
Automatically update package dependencies if package install fails (#300) 2022-03-17 14:28:20 -05:00
Tim Wilkinson f9b787c604
Dont truncate aliases on upgrade (#301) 2022-03-17 14:26:52 -05:00
Tim Wilkinson 3595dd3ac2
Make sure we copy /etc/config/vtun to /etc/config.mesh/vtun when installing tunnels. (#299) 2022-03-17 06:23:40 -05:00
Tim Wilkinson ad78e077f0
Improve the firmware upgrade process (#294)
* Improve the firmware upgrade process

The old firmware upgrade process attempted to free up RAM by reusing
the 'upgrade_kill_prep' script which is later used by '/sbin/sysupgrade'.
Unfortuantely this doesn't work as intented. While the script will go about
killing various services, 'procd' just goes and starts them up again using
quite a bit more memory in the process. Instead this script just kills
the various daemons 'no questions asked' and then runs the associated
'/etc/init.d/xxx stop' script to instruct 'procd' not the start them up again.
This gets us to the place the original script was trying to go.

+ A syntax fix in '007' patch (need spaces around the [ .. ])

* Inline the style for the firmware page to avoid sleep before flash

* Minor reliability improvements

* Clear away services even earlier
2022-03-16 21:45:26 -05:00
Tim Wilkinson 7a4ae6d057
Modify the style sheet URL to let the browser cache (#297)
while still supporting switching the style
2022-03-16 21:43:18 -05:00