Collect metrics for binned counts of client polls per country for each rendezvous method
We now collect metrics on poll counts for each rendezvous method. To learn about potential censorship events it would be useful to also collect binned polling counts per country by adding a line:
client-[method]-ips [CC=NUM,CC=NUM,...,CC=NUM] NL
for each rendezvous method.
I think it's safer to still collect poll counts rather than unique IPs for clients to avoid the necessity of storing (even hashed) seen addresses in memory. The main trick is in how we learn the client's IP address to perform a country code lookup in the geoip database. For the domain fronting rendezvous method, we could use the X-Forwarded-For
header, but SQS does not offer details on the IP that sent the message. One way to do this is to pull the client IP out of the SDP offer. We already have some code for processing ice candidates and removing local addresses. Something similar could be done to extract the client IP.