Network Quality Server

Welcome!

The Network Quality Server project was created as a place to share example servers that can used by the networkQuality command line tool available in macOS 12.

You can find a textual description of what a server needs to implement here

There’s also 2 complete reference server implementations, one written in Swift and the other in Go. Also provided are configurations for HTTP server/proxy servers: Apache Traffic Server, Apache HTTPD and nginx.

All the samples require an SSL certificate to run.

Using networkQuality against your server

The networkQuality CLI takes a -C switch allowing you to point it at your server.

user@myhost ~ % networkQuality -C https://networkquality.example.com:8443/config
==== SUMMARY ====
Upload capacity: 29.662 Mbps
Download capacity: 541.622 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (1825 RPM)

NOTE: The networkQuality CLI tool will only connect to a server presenting a valid SSL certificiate. If you are using a custom CA, ensure the CA is trusted by the system.

There are more options available to affect behavior of this utility. See the manpage of networkQuality for more info.

Contributing

Please review how to contribute if you would like to submit a pull request.

Asking Questions and Discussing Ideas

If you have any questions you’d like to ask publicly, or ideas you’d like to discuss, please raise a GitHub issue.

Project Maintenance

Project maintenance involves, but not limited to, adding clarity to incoming issues and reviewing pull requests. Project maintainers can approve and merge pull requests. Reviewing a pull request involves judging that a proposed contribution follows the project’s guidelines, as described by the guide to contributing.

Project maintainers are expected to always follow the project’s Code of Conduct, and help to model it for others.

Project Governance

Although we expect this to happen very infrequently, we reserve the right to make changes, including changes to the configuration format and scope, to the project at any time.

GitHub

https://github.com/network-quality/server