You most probably can’t do it. Provider is determined by speedtest server and passed to browser/app via encrypted (https) communication connection which you can not change.
Likely you can only achieve what you want by getting one of the commercial VPN services (that is compatible with RouterOS) and route ALL your traffic via that VPN.
(which requires that your router has hardware acceleration for the chosen VPN, or else it will be quite slow)
All those methods that try to identify the traffic are going to fail, either now or in the future.
Yes, THAT is not a problem. The problem is to make this work “for any speedtest” as you originally asked!
You cannot know the IP and not even the DNS name of every speedtest in advance. That is where it fails.
no thats wrong you can make it easy throw this following code
ADD Role in Managle = Prerouting / TPC IP 6 protocol / in TSL HOST write speedtest and in action make add to address list
the rule will monitor any connection from speedtest website and APP and add all ip in address list (tested 100%)
just you can change aby website want in TSL HOST write speedtest
but you cant add all speedtest website in world this is possible so i was needed website one as i mentioned in top post
@telecomnetwork2022: @pe1chl is absolutely right, and it is perfectly useless to contradict him,
it is impossible to know in advance all the names and all the IPs of the dozens of thousands of speedtests that exist.
Just for example, not all speedtest have speed and test on name:
speedsmart . net
fast . com
meter . net
etc.
And tag “speed” you can broken connection, for example for “speed pay”, “fast pay”, etc.
(and with TLS 1.3 any “TLS” rule is absolutely useless)