Commit graph

29 commits

Author SHA1 Message Date
Jan Christian Grünhage 8b906b777a
chore: replace homegrown public IP lookup with library 2023-01-15 13:37:31 +01:00
Jan Christian Grünhage 8cd963ad59
chore: fix clippy lints 2023-01-14 21:48:07 +01:00
Jan Christian Grünhage 3e1152edfe
chore: improve error handling 2023-01-14 21:46:14 +01:00
Jan Christian Grünhage 276a22e7f6
chore: improve logging granularity 2023-01-02 00:48:07 +01:00
Jan Christian Grünhage 6ba565c9de
chore: update license 2023-01-01 23:03:13 +01:00
Jan Christian Grünhage a2cf322135
fix: don't use XDG spec, because this is a system service 2023-01-01 22:51:26 +01:00
Jan Christian Grünhage 1193a1967d
chore: make clippy happy 2023-01-01 22:29:36 +01:00
Jan Christian Grünhage 5f25f85a5e chore: fork and rename
I'm forking this, with the following changes:
 - daemon instead of CLI tool run via cron
 - mandatory config file
 - use cloudflare crate instead of home grown API client
 - IPv6 support
 - CNPLv6+ licensed instead of MIT licensed
2021-05-23 15:33:28 +02:00
Jan Christian Grünhage 0c6eb9a9eb feat: use log crate instead of println
To make debugging easier, this switches to env_logger and the log crate.
This helps with getting to the output of the underlying crates this
builds on.

BREAKING CHANGE: this changes the output, so if you parse the output in
your scripts, then this might break it.
2020-04-20 23:21:01 +02:00
Jan Christian Grünhage 37bd9b1f24 fix: only write IP cache after API call
previously, when the API call would fail (for whatever reason),
the cached IP had already been written, so following executions
wouldn't attempt to update the IP, even though the previous
attempt had failed.
2020-04-20 23:13:42 +02:00
Jan Christian Grünhage ec8b893f6a feat: migrate to api tokens
Cloudflare's v4 API provides three ways of authenticating,
with the API tokens being the new, standard conform, recommended
way. This patch removes the use of the old auth_key + email combo
and replaces it with API tokens.

BREAKING CHANGE: auth keys can't be used anymore, switch to api tokens
2020-04-20 23:04:31 +02:00
Rostislav Raykov 143bbb7a33 feat: Better report different HTTP status responses 2020-03-22 23:30:42 +01:00
Rostislav Raykov 7ceb5c3c50 feat: Update type of cloudflare response
Turns out that the results field can be null
2020-03-22 23:30:10 +01:00
Rostislav Raykov cfd5cb9da9 feat: Use anyhow for error handling 2020-03-22 22:10:50 +01:00
Rostislav Raykov 536b184693 feat: Update usage to work with new versions of libs 2020-03-21 22:43:04 +01:00
Rostislav Raykov 8cbad9d7f1 feat: Add option to pass a config file 2019-09-23 10:58:41 +02:00
Rostislav Raykov b654f4523e fix: Check the response object before trying to extract a dns record id from it 2019-09-23 10:58:04 +02:00
Rostislav Raykov afaf2918c6 refactor: Use quicli convenience functions for fs stuff 2019-09-22 22:27:28 +02:00
Rostislav Raykov 39cc9223d2 style: Format the code with cargo fmt 2019-09-18 11:12:50 +02:00
Rostislav Raykov 5c19f6e387 docs: Update README with CLI arguments 2019-09-18 10:15:11 +02:00
Rostislav Raykov 867f5dfe53 feat: Remove one printed message 2019-09-17 21:55:53 +02:00
Rostislav Raykov 1e04c69d5e refactor: Remove the unused log command argument 2019-09-17 21:45:50 +02:00
Rostislav Raykov b1f1c63585 feat: Initial implementation of the whole flow 2019-09-17 21:43:17 +02:00
Rostislav Raykov a61da424bf fix: Correctly parse update response 2019-09-17 21:42:56 +02:00
Rostislav Raykov 6f5890a81b fix: Remove whitespace from current IP 2019-09-17 18:28:26 +02:00
Rostislav Raykov 8e938e3299 refactor: Some renaming and using the status of the update operation 2019-09-17 18:00:30 +02:00
Rostislav Raykov 5c9ec1029b feat: Scaffold the CLI interface and use dependencies 2019-09-17 17:36:00 +02:00
Rostislav Raykov f01cba4dc5 feat: Add helper functions for network requests and caching 2019-09-17 17:33:35 +02:00
Rostislav Raykov 4feaf4a17d feat: Initial commit
Basically the output of cargo init with some
extra metadata added to the package
2019-09-17 13:44:12 +02:00