8bfa36b837
wip: add config file to webnsupdate
/ build (push) Successful in 1m7s
/ check (clippy) (push) Successful in 15s
/ check (module-ipv4-only-test) (push) Successful in 32s
/ check (module-ipv4-test) (push) Successful in 30s
/ check (module-ipv6-only-test) (push) Successful in 32s
/ check (module-ipv6-test) (push) Successful in 30s
/ check (module-nginx-test) (push) Successful in 32s
/ check (nextest) (push) Successful in 3s
/ check (treefmt) (push) Successful in 3s
/ report-size (push) Successful in 7s
2025-02-07 22:03:29 +01:00
172076eaad
feat(webnsupdate): parse IPv6 prefixes
...
/ build (push) Successful in 2s
/ check (clippy) (push) Successful in 2s
/ check (module-ipv4-only-test) (push) Successful in 7s
/ check (module-ipv4-test) (push) Successful in 7s
/ check (module-ipv6-only-test) (push) Successful in 7s
/ check (module-ipv6-test) (push) Successful in 7s
/ check (module-nginx-test) (push) Successful in 7s
/ check (nextest) (push) Successful in 2s
/ check (treefmt) (push) Successful in 3s
/ report-size (push) Successful in 2s
This allows us to better support IPv6 from fritzbox updates in the
future.
2025-02-05 23:17:49 +01:00
b775f8e811
refactor(nsupdate): send all commands at once
...
/ build (push) Successful in 1s
/ check (clippy) (push) Successful in 2s
/ check (module-ipv4-only-test) (push) Successful in 6s
/ check (module-ipv4-test) (push) Successful in 6s
/ check (module-ipv6-only-test) (push) Successful in 6s
/ check (module-ipv6-test) (push) Successful in 6s
/ check (module-nginx-test) (push) Successful in 6s
/ check (nextest) (push) Successful in 3s
/ check (treefmt) (push) Successful in 2s
/ report-size (push) Successful in 2s
This ensures `nsupdate` is only called once per IP update (even for both
IPv4 and IPv6 in a single call).
2025-02-05 22:47:13 +01:00
13c9c544a7
fix(webnsupdate): updating IPv6 in ipv4-only mode
...
/ build (push) Successful in 1s
/ check (clippy) (push) Successful in 2s
/ check (module-ipv4-only-test) (push) Successful in 7s
/ check (module-ipv4-test) (push) Successful in 7s
/ check (module-ipv6-only-test) (push) Successful in 7s
/ check (module-ipv6-test) (push) Successful in 7s
/ check (module-nginx-test) (push) Successful in 6s
/ check (nextest) (push) Successful in 2s
/ check (treefmt) (push) Successful in 2s
/ report-size (push) Successful in 1s
Dumb logic error T-T.
2025-01-31 21:46:27 +01:00
2f97008475
fix(webnsupdate): make IP none when query is empty
...
This happens when one of the IPs hasn't changed (but the other has) in
the FRITZ!Box DDNS client.
2025-01-31 21:25:41 +01:00
a39fa354e4
feat(webnsupdate): add support for fritzbox style updates
...
/ build (push) Successful in 1s
/ check (clippy) (push) Successful in 2s
/ check (module-ipv4-only-test) (push) Successful in 6s
/ check (module-ipv4-test) (push) Successful in 6s
/ check (module-ipv6-only-test) (push) Successful in 10s
/ check (module-ipv6-test) (push) Successful in 8s
/ check (module-nginx-test) (push) Successful in 10s
/ check (nextest) (push) Successful in 2s
/ check (treefmt) (push) Successful in 3s
/ report-size (push) Successful in 2s
Update now optionally accepts query params (e.g. `/update?ipv4=1.2.3.4`)
if present they will control how the update is made (only ipv4 and ipv6
are implemented right now).
Closes #80
2025-01-28 23:56:52 +01:00
34ce8a69f6
feat(webnsupdate): allow running in IPv4/6 only mode
...
This fixes issues when the IPv6/IPv4 is not working properly but updates
are still happening (like rn) T-T.
2025-01-26 22:25:41 +01:00
a2735b46b5
feat(webnsupdate): add handling for multiple IPs
...
/ build (push) Successful in 1s
/ check (push) Successful in 8s
/ report-size (push) Successful in 2s
Specifically, for when both and IPv6 and and IPv4 addr is provided. This
ensures we can forward both addrs to webnsupdate, instead of only
allowing IPv4.
2025-01-23 21:10:21 +01:00
2b953c4b75
fix(typos): typos caught more typos :3
...
/ build (push) Successful in 1s
/ check (push) Successful in 7s
/ report-size (push) Successful in 2s
Some typos where not a typo tho, just a test T-T. This fixes it.
2025-01-04 13:43:53 +01:00
e9d5b87ecc
fix(main): add more logging and default to info
...
/ build (push) Successful in 1s
/ check (push) Successful in 7s
/ report-size (push) Successful in 2s
`leo` fails to run with v0.3.3 so we are adding a bit more logging to
debug the case.
As part of this, change default log level to `info`.
2024-12-26 17:21:27 +01:00
bea38bc445
fix(clippy): enable more lints and fix issues
...
/ build (push) Successful in 3s
/ check (push) Successful in 7s
We also add some more metadata to the Cargo.toml manifest
2024-11-23 21:12:27 +01:00
846a0675d1
refactor: reorganize main.rs
/ build (push) Successful in 2s
/ check (push) Successful in 8s
2024-11-23 21:01:58 +01:00
750cbbff93
feat: replace axum-auth with tower_http
...
/ build (push) Successful in 3s
/ check (push) Successful in 7s
Slightly more involde in the auth code, but it makes the rest of the
application more straight forward.
Fixes #10
2024-11-23 20:39:06 +01:00
60aed649b1
feat: upgrade clap_verbosity_flag
...
/ build (push) Successful in 2s
/ check (push) Successful in 7s
Adds tracing support which simplyfies code.
2024-11-23 13:10:48 +01:00
442601f25a
feat: add -v verbosity flag
2024-10-28 10:39:14 +01:00
5745e1aaf7
feat: refactor and add ip saving
...
/ check (push) Successful in 4s
/ build (push) Successful in 2s
- clean up code to my new (and improved) standards
- print better miette diagnostigs for the error tests
- add an IP saving feature:
save the last IP that successfully updated the records and usa that
when restarting the service. This allows seamles upgrades of
`webnsupdate` without having to manually trigger a DNS update
2024-10-13 00:54:54 +02:00
15e2d2da06
[fix] everything: various bugs found in production
2024-06-02 15:48:55 +02:00
68658bf83f
[fix] webnsupdate: trim newlines from pass file
2024-05-09 00:59:33 +02:00
43d62fa7d6
webnsupdate: Init at version 0.1.0
2024-05-08 21:37:19 +02:00