opn-repo
opn-repo copied to clipboard
Speedtest wrapper - support multiple WAN interfaces
I have a multiwan setup, with multiple upstreams. I'd like to be able to speedtest both of them, or at least, select which outbound interface to test from at a minimum. Currently, it selects one of the interfaces pretty arbitrarily.
Both speedtest packages support specifying an outbound interface to use. It'd be nice to expose this through to the UI elements or even just the wrapper command line. It'd probably make sense to track the interface in the CSV as well, since I, and I suspect most, have different upstream capabilities on different interfaces and the mean between them isn't super useful.
As an additional note: I have IPv6 and I think that it's preferring that too, which may skew results somewhat since I know there is for example additional congestion control upstream of me for IPv4 traffic, so potentially, exposing IPv4 vs 6 would be useful as well.
It was the work of @mihakralj .. no idea if he' still active.
I am active - and I looked with horror at my Python wrapper and .js code that I did for speedtest plugin and... it is a messy kludge.
But exposing two speedtest CLI parameters in the GUI - and add one more field to CSV table - shouldn't be too much of a hassle.
@cpw, can you structure the request a bit clearly so I understand it better? From what I understand:
- adding the interface parameter to speedtest CLI command
- adding the interface field into data schema
- adding the interface field to OPNSense REST API
- adding the interface field selector to Speedtest GUI
- adding the interface field to the record for CSV append
What do we need to do re. IPv6? Is there a CLI command option?
I am active - and I looked with horror at my Python wrapper and .js code that I did for speedtest plugin and... it is a messy kludge.
But exposing two speedtest CLI parameters in the GUI - and add one more field to CSV table - shouldn't be too much of a hassle.
@cpw, can you structure the request a bit clearly so I understand it better? From what I understand:
1. adding the interface parameter to speedtest CLI command
yup
2. adding the interface field into data schema
yup
3. adding the interface field to OPNSense REST API
yup
4. adding the interface field selector to Speedtest GUI
yup
5. adding the interface field to the record for CSV append
yup
What do we need to do re. IPv6? Is there a CLI command option?
I just noticed that ipv6 might be a factor in some setups. I have IPv6 here, and it seems that the "official" speedtest client is definitely preferring ipv6 as a result. I'm not sure if there's anything we can do about it, because I don't think, at least with the official client, you can force ipv4 vs 6, but it's something to be aware of.