Summary
Add support for automatic LibreSpeed server discovery using a .well-known endpoint.
Instead of requiring:
librespeed-cli --server-json https://example.com/speedtest/server.json
allow a simpler CLI:
librespeed-cli example.com
The CLI would automatically fetch:
https://example.com/.well-known/librespeed
or:
https://example.com/.well-known/librespeed.json
and retrieve the server.json location.
Proposed Flow
Example:
librespeed-cli vincejv.com
CLI behavior:
- Request:
https://example.com/.well-known/librespeed
- Response example:
{
"server_json": "https://internal.example.com/speedtest/server.json"
}
- CLI automatically uses the discovered server list.
Equivalent internally to:
librespeed-cli --server-json https://internal.example.com/speedtest/server.json
Benefits
- Much simpler CLI
- Easier self-hosting
- Easier branding/custom domains
- Standardized discovery mechanism
- Similar to other
.well-known discovery standards
Suggested Fallback Behavior
If .well-known/librespeed is not found:
Backward Compatibility
This feature would be fully backward compatible since existing flags (--server-json, --local-json) would continue working unchanged.
Additional Idea
Potential future support:
librespeed-cli example.com
with automatic discovery using DNS SVCB/HTTPS records.
Example DNS record:
_librespeed.example.com. IN HTTPS 1 . alpn="h2" path="/speedtest/server.json"
or:
_librespeed.example.com. IN SVCB 1 speed.example.com. path="/speedtest/server.json"
CLI behavior:
- Query
_librespeed.<domain> SVCB/HTTPS records
- Extract target host and optional path metadata
- Automatically retrieve the LibreSpeed
server.json
This avoids hardcoded path guessing and provides a standards-based discovery mechanism similar to modern service discovery approaches.
Fallback order could be:
- DNS SVCB/HTTPS discovery
.well-known/librespeed
- Explicit
--server-json
Summary
Add support for automatic LibreSpeed server discovery using a
.well-knownendpoint.Instead of requiring:
allow a simpler CLI:
The CLI would automatically fetch:
or:
and retrieve the
server.jsonlocation.Proposed Flow
Example:
CLI behavior:
{ "server_json": "https://internal.example.com/speedtest/server.json" }Equivalent internally to:
Benefits
.well-knowndiscovery standardsSuggested Fallback Behavior
If
.well-known/librespeedis not found:fallback to existing behavior
optionally try:
/speedtest/server.jsonhttps://speedtest.<domain>/server.jsonBackward Compatibility
This feature would be fully backward compatible since existing flags (
--server-json,--local-json) would continue working unchanged.Additional Idea
Potential future support:
with automatic discovery using DNS SVCB/HTTPS records.
Example DNS record:
or:
CLI behavior:
_librespeed.<domain>SVCB/HTTPS recordsserver.jsonThis avoids hardcoded path guessing and provides a standards-based discovery mechanism similar to modern service discovery approaches.
Fallback order could be:
.well-known/librespeed--server-json