Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add hostnames and geoip to connection panel #3

Open
atagar opened this issue Dec 21, 2019 · 0 comments
Open

Add hostnames and geoip to connection panel #3

atagar opened this issue Dec 21, 2019 · 0 comments

Comments

@atagar
Copy link
Collaborator

atagar commented Dec 21, 2019

Migrated from ticket 18547.

Many releases ago Nyx ​showed hostnames on the connection panel, but dropped this because it leaked our connections to our DNS provider. We can still get this information, but it must be on every relay or none at all.

Turns out Onionoo already supports exactly what we want! In particular here's the query we want.

Note that ​Onionoo supports gzip compression and we want to take advantage since it drops the size of our replies from 1.5 MB to 432.6 KB.

For this we want a new Daemon subclass in tracker.py. This class would have a single relay_details(fingerprint) method that returns a struct with these attributes. If we meet the following two constraints then it calls Onionoo to update our cache...

  1. We make a request for a fingerprint the cache doesn't have.
  2. It's been over an hour since the relays_published date in our last reply (like the consensus Onionoo updates hourly, so no point in requesting more frequently).

Note that we might not want all of these geoip fields (we'll need to fiddle with the panel to see what is nice to have).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant