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