Merge Metrics sub sites into main Tor Metrics website
At the same time we have a few mirrors run by iwakeh (CollecTor), Tom Ritter (CollecTor), me (Onionoo), and possibly other Tor community members in the future. These mirrors come with their own websites describing data formats.
I suggest we merge all these sub sites into the main Tor Metrics website and only leave a short notice with a version number and a manual redirect on the subdomains and on the mirrors. (An exception could be that mirror operators modify their mirror and keep a modified website reflecting the actual data formats available on their mirror.)
Basically, we would create three new Metrics website pages and move the single-page contents from current sub sites there (none of these pages exists yet!):
https://metrics.torproject.org/collector.html https://metrics.torproject.org/onionoo.html https://metrics.torproject.org/metrics-lib.html
We could add the list of mirrors to the Tor Metrics pages, including an indication whether they're up and how recent their data is.
And we would still keep the CollecTor and Onionoo subdomains. Though we wouldn't expect many users to go there, with the exception of developers pointing their applications to those URLs.
We could even incorporate the CollecTor directory listings on Tor Metrics by fetching CollecTor's index.json file (from the main instance and the mirrors) and letting users browse CollecTor files on Tor Metrics. Just the files would remain on CollecTor. Users would never see
https://collector.torproject.org/something in their browser bar and instead always see
https://metrics.torproject.org/something for anything related to Tor Metrics.
One technical issue we'd need to solve is that we should probably keep specifications in the sub project Git repositories and include them in Tor Metrics when putting together the
.war file. Maybe we can use a default Bootstrap design in the sub projects and avoid using the Tor logo and Tor name, and when we copy over the contents to Tor Metrics, we add those parts. One possible technical way to achieve this would be a Git submodule and some Ant magic.
Another issue is that we'll want to include a manual redirect from mirrors to Tor Metrics. But if a mirror is available as
.onion, we should include the
.onion for Tor Metrics rather than
https://metrics.torproject.org/. A quick fix would be to include both links, but maybe there's an alternative that is even more fool-proof by detecting how the user accesses the manual redirect page.
Yet another issue we need to talk about is that we'll need to make sure not to remove parts from the specification as long as there are mirrors running those versions. We'll need to include information like "since version X" and "remove in version Y" in specifications. This shouldn't be terribly hard, though we'll need to do some Git digging for Onionoo.