Commit Graph

439 Commits

Author SHA1 Message Date
jccint
f2adf3fc20 test(config): take into account the OS specific file separator (#985) 2026-01-13 09:42:53 -08:00
Mynacol
01d3cd1383 fix(njalla): add trailing slash to URL path (#978) 2026-01-13 09:40:50 -08:00
Joris
487873ed57 fix(desec): only update specified ip version (#961) 2026-01-13 09:36:31 -08:00
Quentin McGaw
3dbdc339bc chore(log): log out <none> when no IP is given to ipsToString 2026-01-13 11:26:52 +00:00
Jorge
212841c651 fix(dondominio): change key JSON paramater from apikey to password (#969)
Fix #923
2026-01-13 03:00:08 -08:00
jccint
cdaf05e4ab fix(ionos): use filepath/path for joining URL paths to avoid errors in Windows (#984) 2025-11-01 15:15:34 -04:00
Ehsan Shirvanian
95bcce2809 fix(route53): don't replace wildcard character * with any when sending update request (#1036)
Co-authored-by: Ehsan Shirvanian <ehsan@shirvanian.devm>
2025-10-07 16:27:43 +00:00
hyperring
78f30614b1 feat(providers): namesilo.com support (#866)
- Credits to @Zeustopher for writing most of the readme
2024-12-24 10:18:18 +01:00
Brian Shea
03154c35f8 feat(providers): add myaddr.tools (#885) 2024-12-24 09:51:51 +01:00
Quentin McGaw
be6679273f feat(custom): allow empty ipv4 and ipv6 keys
- Fix #875
2024-12-23 08:29:01 +00:00
erri120
71191fa707 fix(log): use go-chi realip middleware (#874) 2024-12-03 16:54:01 +01:00
Quentin McGaw
89564b763b fix(update): fetch IPv6 AAAA records and not only IPv4 2024-11-21 22:25:14 +00:00
Quentin McGaw
6198b48a68 chore(update): use newer LookupNetIP resolver function to use netip.Addr directly 2024-11-21 22:06:44 +00:00
Quentin McGaw
9ba1633300 fix(update): do not update if public IP is part of multiple IPs found in records 2024-11-21 22:02:09 +00:00
Quentin McGaw
6c3490f5c5 fix(netcup): allow wildcard domains (#863) 2024-11-20 15:38:22 +01:00
Quentin McGaw
9a62043ff6 fix(aliyun): error context fixed when handling bad request errors 2024-11-12 13:19:30 +00:00
Quentin McGaw
c23da1518e fix(all): trim space and lower case all response plain bodies 2024-11-12 13:04:45 +00:00
Quentin McGaw
5c9d04eae4 fix(ovh): handling of invalid JSON error bodies 2024-11-12 12:50:06 +00:00
Quentin McGaw
80670048ed fix(noip): handle response body messages before checking status code 2024-11-12 12:34:11 +00:00
Quentin McGaw
d221522e02 fix(dondominio): build host with raw owner to support wildcards 2024-11-12 12:32:53 +00:00
Quentin McGaw
9caf1bef53 fix(gandi.net): leave ttl as it is if not user specified 2024-11-07 09:22:15 +00:00
Quentin McGaw
46e1edb8f2 fix(gandi.net): update API url fix #852 2024-11-07 09:18:49 +00:00
Fred Cox
bb231bc736 fix(gcp): prevent crash for missing record (#846) 2024-10-22 17:51:24 +02:00
Amr Essam
949dcd9a30 feat(provider): vultr.com (#829) 2024-10-20 19:45:34 +02:00
Quentin McGaw
691ed320fd chore(lint): add new linters fatcontext, intrange and mirror 2024-10-20 13:15:20 +00:00
Quentin McGaw
8b5da2c580 chore(lint): add canonicalheader linter and fix issues 2024-10-20 13:14:02 +00:00
Quentin McGaw
05d566c807 chore(all): format code using gofumpt 2024-10-20 13:12:33 +00:00
Quentin McGaw
4c7c794494 chore(lint): upgrade linter from v1.56.2 to v1.61.0 2024-10-20 13:10:31 +00:00
niklasknoell
03f5d0b372 feat(providers): loopia.se (#842) 2024-10-20 13:53:26 +02:00
Quentin McGaw
6a683f5161 chore(provider): do not re-check the owner is not empty 2024-10-20 11:29:02 +00:00
likeaninja5
118132f238 fix(porkbun): update API url (#837) 2024-10-12 19:46:46 +02:00
Jonas Jacobsen
94e008dc19 feat(provider): domene.shop (#810) 2024-10-09 08:19:35 +02:00
Benjamin Temple
4254600bcf Provider Porkbun: Delete Default Parked DNS Entry for *.domain.tld (#774)
* Provider Porkbun: Delete Default Parked DNS Entry for *.domain.tld

Description:

By default, Porkbun creates default ALIAS and CNAME domain records pointing to `pixie.porkbun.com` (Porkbun's parked domain website)

The current logic flow prior to this PR would look for an A or AAAA domain record, and if none exists, attempt to delete the ALIAS record for any subdomain.
This updates the logic flow to only look for a conflicting ALIAS record for the top level `domain.tld`, and a conflicting CNAME record for the `*.domain.tld`. Additionally, we verify that the content of this record matches `pixie.porkbun.com` and we only delete for the expected default values.
If the value does not match the expected `pixie.porkbun.com` we produce more helpful error messages.

Test-Plan:

Created a new domain.tld on Porkbun
Verified the default records were created:
`ALIAS domain.tld -> pixie.porkbun.com`
`CNAME *.domain.tld -> pixie.porkbun.com`
Started DDNS-Updater
Verified that both domain records were successfully deleted and updated

Reset the ALIAS domain record to point to `not-pixie.porkbun.com`
Reset the CNAME domain record to point to `not-pixie.porkbun.com`
Started DDNS-Updater
Verified that both domain records failed with the expected conflicting record error message.

![screenshot_2024-08-17-0210 20](https://github.com/user-attachments/assets/eb567401-ad4b-454d-a7aa-70ab1db1e3e9)

- add `deleteDefaultConflictingRecordsIfNeeded` method
- handle non conflicting errors from `deleteSingleMatchingRecord`
- simplify comments by linking to documentation
- improve error wrappings

---------

Co-authored-by: Quentin McGaw <quentin.mcgaw@gmail.com>
2024-10-07 21:46:12 -07:00
Quentin McGaw
e10d778e5f feat(health): possibility to run health server outside docker and to disable it in a container
- disable health server if the health listening address:port is empty
- default health listening address:port to the empty string
- Docker default health listening address:port to 127.0.0.1:9999
- Fix #824
2024-10-01 17:17:18 +00:00
Quentin McGaw
c16287e48a fix(unix): umask behavior for file creation
- remove bad calculation of "our own" umask
- remove umask "union effect"
- do not touch system umask unless `UMASK` is set
- set system umask only if `UMASK` is set
2024-09-19 14:21:55 +00:00
Quentin McGaw
623cb536e1 fix(publicip/http): remove google provider which no longer works 2024-09-17 07:39:00 +00:00
dependabot[bot]
e019e371ea chore(deps): bump github.com/qdm12/gosplash from 0.1.0 to 0.2.0 (#783) 2024-09-16 18:06:11 +02:00
Quentin McGaw
3a6262ef2c feat(files): configurable UMASK defaulting to system umask 2024-09-16 14:33:37 +00:00
Quentin McGaw
6b9ed56b18 chore(persistence/json): non embedded rw mutex 2024-09-16 13:34:59 +00:00
Quentin McGaw
8c1b3e556c chore(porkbun): refactor API code to use a generic httpPost function 2024-09-16 12:46:49 +00:00
Quentin McGaw
c7dbbcbaa0 fix(dondominio): remove unneeded name field 2024-08-21 09:35:34 +00:00
Benjamin Temple
8f456977be fix(errors): 'agend' -> 'agent' typo in user agent banned error (#790) 2024-08-17 13:32:55 +02:00
Benjamin Temple
425da967a2 fix(porkbun): fix wildcard behavior (#773) 2024-08-07 17:44:09 +02:00
Benjamin Temple
1cd57d655e fix(porkbun): remove trailing '.' from alias delete request (#775) 2024-07-27 13:52:12 +02:00
Quentin McGaw
918df24488 change(all): deprecate provider_ip config field
- change should not affect any existing configurations
- change solves issues with dual stack updates (#767)
- was unneeded and adds unneeded complexity
2024-07-26 08:06:24 +00:00
Quentin McGaw
9f0ca6ceaa hotfix(ionos): settings validation 2024-07-03 19:17:49 +00:00
Quentin McGaw
7ad0d8dc57 fix(noip): force useProviderIP to false for IPv6 2024-07-03 14:55:52 +00:00
Quentin McGaw
c345a788e3 hotfix(duckdns): fix behavior for full domain strings 2024-06-27 17:03:05 +00:00
Quentin McGaw
158fed7c51 hotfix(goip): fix behavior for full domain strings 2024-06-27 16:53:13 +00:00
Quentin McGaw
07d7645d78 feat(config): read both owner and domain from domain
- retro-compatible change: keep using host/owner if set
- otherwise extract owner and eTLD+1 from domain field
- documentation updated to only use the `domain` field
2024-06-27 13:10:16 +00:00