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

GeoIP support for timezones and admins #303

Open
shazow opened this issue Mar 16, 2019 · 0 comments
Open

GeoIP support for timezones and admins #303

shazow opened this issue Mar 16, 2019 · 0 comments
Labels

Comments

@shazow
Copy link
Owner

shazow commented Mar 16, 2019

It would be nice if we could automagically detect users' timezones based on their IP.

Another fun feature would be to add the detected country for admin /whois output.

The challenge here is that it's hard to do GeoIP without querying an external service and that's less fun. At the very least, features that ping external services should be disableable. It should certainly fail gracefully (ie. not crash) if using an external service and it's not available.

If we can figure out a non-resource-intensive-yet-reliable way to do this without an external service, then I'm a strong +1.

One option is to use something like https://github.com/oschwald/geoip2-golang and let the user supply the database. Though would be nice if we could automagically fetch it.

Another option would be to have an "official" ssh-chat provider of this database, or at least a redirect to a download URL.

Seems distros have no problem with downloading it from the source: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/geoip-updater.nix

No shortage of random Go packages downloading it:
https://github.com/search?q=geolite.maxmind.com%2Fdownload%2Fgeoip%2Fdatabase+language%3Ago&type=Code

@shazow shazow added the Someday label Mar 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant