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

outdated

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_api_lite)
  • 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.

1
likes
0
points
668
downloads

Publisher

verified publisherbraid.business

Weekly Downloads

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

Repository (GitLab)
View/report issues

License

unknown (license)

Dependencies

http, matrix_api_lite

More

Packages that depend on matrix_homeserver_recommendations