matrix_homeserver_recommendations 0.4.1 copy "matrix_homeserver_recommendations: ^0.4.1" to clipboard
matrix_homeserver_recommendations: ^0.4.1 copied to clipboard

Find, filter and benchmark public Matrix homeservers and check their capabilities

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.

0
likes
140
pub points
80%
popularity

Publisher

verified publisherwith-the-braid.cf

Find, filter and benchmark public Matrix homeservers and check their capabilities

Repository (GitLab)
View/report issues
Contributing

Documentation

API reference

License

EUPL-1.2 (LICENSE)

Dependencies

http, matrix

More

Packages that depend on matrix_homeserver_recommendations