Skip to content

Added Network Diagnostic - #151

Open
DreamOpenS wants to merge 8 commits into
skydevil88:masterfrom
DreamOpenS:master
Open

Added Network Diagnostic #151
DreamOpenS wants to merge 8 commits into
skydevil88:masterfrom
DreamOpenS:master

Conversation

@DreamOpenS

Copy link
Copy Markdown

Check Patch Notes (You Can Remove My Rebranding) In Return Of Frequent IP Updates

@DreamOpenS
DreamOpenS marked this pull request as draft August 21, 2026 07:15
@DreamOpenS
DreamOpenS marked this pull request as ready for review August 21, 2026 07:16
- Bump version/FileVersion to 1.1.1
- Verify in-app update checker points to XboxFastZ releases
- Preserve v1.1.0 Network Diagnostics, branding, and attribution
The updater downloaded XboxDownload-{os}-{arch}.zip but the publish
script produces XboxFastz-{os}-{arch}.zip, so in-app updates would 404.
Use the branded asset name so releases download correctly.
Add EndpointSelectorService for automatic, low-bandwidth endpoint/IP
selection using a cheap-to-expensive funnel:
ICMP reachability/latency -> small HTTP latency probes (packet-loss
estimation) -> small 4MB ranged speed test on the most promising
candidates -> rank by speed -> automatic selection.

Wire it into the Fastest Akamai IP auto-feature with the legacy
race-based selector retained as fallback. The Speed Test tab workflow
and per-IP full speed test remain unchanged.

Bump version/FileVersion to 1.2.0.
Corrective commit on top of fb62c15. The previous v1.2.0 implementation
fed IP.*.txt candidates into EndpointSelectorService, which violated the
independence requirement.

EndpointSelectorService now discovers candidates by DNS-resolving the
bounded, hardcoded download-domain catalog in DnsMappingGenerator.HostRules
(capped at 60 IPs) instead of reading IP.*.txt. The cheap-to-expensive
funnel is preserved: ICMP reachability -> tiny HTTP latency probes ->
4MB ranged speed test on the top 5 finalists -> rank by measured
throughput (latency tie-break) -> automatic selection.

ServiceViewModel.FastestAkamaiIpAsync no longer loads/parses IP.AkamaiV2.txt
and no longer falls back to the legacy IP-file race selector. On discovery
failure the currently working endpoint is preserved via a clear
EndpointDiscoveryResult; no silent IP-file fallback.

The legacy IP-file infrastructure is retained for the Speed Test tab and
backward compatibility; it is not deleted. SpeedTestService is not rewritten.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant