#timezone #localtime #geolocation

app tzupdate

Set the system timezone based on IP geolocation

2 stable releases

3.1.0 Sep 28, 2023
3.0.0 May 12, 2023

#3 in #directory-traversal

37 downloads per month

MIT license

272 lines

tzupdate | Tests

tzupdate is a fully automated utility to set the system time using geolocation.


  • Small, easy to understand codebase
  • Queries multiple geolocation services in parallel and returns the first with a successful result
  • Protects against directory traversal and invalid results when linking /etc/localtime


cargo install tzupdate


# tzupdate
Set system timezone to Europe/London.

Internally, this geolocates you, gets the timezone for that geolocation, and then updates the system's local time zone.

You can see what tzupdate would do without actually doing it by passing -p, and specify an alternative IP address by using -i. This is not an exhaustive list of options, see tzupdate --help for that.


~468K SLoC