Matrix Homeserver Recommendations
Find, filter and benchmark public Matrix homeservers.
Features
- Dart native
- only two dependencies (
http,matrix) - extensible
- two predefined providers
- easily compare benchmarks
Usage
import 'package:matrix_homeserver_recommendations/matrix_homeserver_recommendations.dart';
Future<int> main() async {
print('Loading homeservers from joinMatrix.org...');
var joinMatrixParser = JoinmatrixOrgParser();
final homeservers = await joinMatrixParser.fetchHomeservers();
print('Found the following homeservers:');
for (var server in homeservers) {
print(server);
}
print('Performing response time benchmark...');
final result = await HomeserverListProvider.benchmarkHomeserver(
homeservers,
timeout: Duration(seconds: 10),
includeFailed: false,
);
print('The following response times were captured:');
for (var benchmark in result) {
print(benchmark);
}
print('Proposing a homeserver based on country code...');
var localeHomeserverParser = LocalHomeserverParser('ua');
final localHomeserver = localeHomeserverParser.fetchHomeservers().first;
print(localHomeserver);
print('Example completed.');
return 0;
}
Alternatively, you can simply implement your own server list by extending HomeserverListProvider. Please don't forget
to contribute your own implementation.
Additional information
Licensed under the terms and conditions of the EUPL 1.2.