Commit Graph

6633 Commits

Author SHA1 Message Date
pxMan79
b039ff3087 fix(dns_baidu): prefer new Baidu DNS API with legacy BCD fallback (#6992)
* fix(acme): prefer new Baidu DNS API with legacy BCD fallback

Keep the existing BCD implementation and add fallback support for the newer Baidu DNS record API. Prefer the new API by default, then fall back to the legacy BCD API to reduce compatibility risk.

* fix(dns_baidu): route through _get/_post + restore legacy BCD auth headers

Per review: _baidu_dns_call now uses _get/_post with _H1.._H5 (no raw curl, no __HTTP_STATUS__ parsing); _baidu_bcd_post restores _H1.._H5 so the legacy BCD path sends the Authorization signature again (fixes 401).

---------

Co-authored-by: neil <github@neilpang.com>
2026-07-02 13:02:30 +08:00
bluenenschloss
c83eed4994 dns_inwx: fix IDN zone detection without python dependency (#7056)
* dns_inwx: fix IDN zone detection without python dependency

INWX returns zone names in Unicode form (e.g. lünenschloß.de) even when
the domain was registered as an IDN. When acme.sh passes the SAN in
punycode (xn--lnenschlo-o1a42a.de), _contains never matches and
_get_root falls through to the TLD, placing the TXT record in the wrong
zone.

Previous fix used python3 which is not available in all environments
(BusyBox, BSD, minimal containers). Replace with _idn()-based approach:
extract <string> values from the nameserver.list XML response, encode
each via _idn(), and compare to $h. When a match is found, use the
original Unicode zone name for createRecord.

Fixes #7038

* dns_inwx: fix shebang, use _egrep_o, shfmt cleanup

- Revert shebang to #!/usr/bin/env sh (POSIX sh, fixes ShellCheck)
- Replace grep -o with _egrep_o for portability
- shfmt -i 2: drop backslash continuation after pipe, fix indentation

Requested by @neilpang

* fix: drop closing </string> from _egrep_o pattern to avoid sed delimiter collision

---------

Co-authored-by: bluenenschloss <bernd.luenenschloss@7p-group.com>
2026-07-02 13:00:49 +08:00
neil
81100db2f3 fix https://github.com/acmesh-official/acme.sh/issues/6498 2026-07-01 21:59:41 +08:00
neil
a7ccfcf91d fix 2026-07-01 21:33:24 +08:00
neil
d0fcafe29b fix https://github.com/acmesh-official/acme.sh/issues/7035 2026-07-01 21:22:36 +08:00
Jonas Zürcher
ae8ef74c4b fix(dns_infomaniak): correctly detect API errors (#7048)
The add/rm success check never rejected anything: for any non-empty API
response it always reported "Record added"/"Record deleted" and returned
0, so the _err branch was dead code. A valid key looked fine only because
the API call genuinely created the record; an invalid key returning
{"result":"error"} produced the same "Record added" output even though
nothing was created.

Root cause, in:
  if [ -n "$response" ]; then
    if [ ! "$(echo "$response" | _contains '"result":"success"')" ]; then

  - _contains() ignores stdin (it reads only $1 and $2), so the piped
    "$response" was discarded.
  - The pattern '"result":"success"' was passed as $1 (the haystack),
    leaving $2 (the needle) empty, so it ran:
      echo '"result":"success"' | grep -- "" >/dev/null 2>&1
    grep with an empty pattern always matches.
  - That grep output is redirected to /dev/null, so the command
    substitution always captured "", making [ ! "" ] always true.

Fix: call _contains "$response" '"result":"success"' directly and branch
on its exit code, so error responses now correctly fail (return 1).

Co-authored-by: neil <github@neilpang.com>
2026-07-01 21:05:07 +08:00
SirNomad49
0925d5c522 Adding custom Port definitions for truenas (#7033)
* closing bracket and adding port for customer installations

* adding savedeployconfig

* fixing shfmt

* changeing

---------

Co-authored-by: neil <github@neilpang.com>
2026-07-01 20:55:55 +08:00
hostup
0d53d29f7e Update dns_hostup.sh to v2 API (#7014)
* Update dns_hostup.sh

Update to v2 api support; developer.hostup.se

* Update dns_hostup.sh
2026-07-01 20:44:21 +08:00
neil
c38182897d fix ghostbsd 2026-07-01 18:59:14 +08:00
Alexander Stehlik
2998106bd1 fix(dns_desec): fix rate limit and compatibility issues (#7027)
* fix(dns_desec): sleep after DNS record change to prevent rate limit issues

Also: make sure the subname is lowercase to fix tests where
the acmetestXyzRandomName subdomain is used.

* fix: make regexes POSIX-compatible (for OpenBSD)

* chore: use _sleep instead of sleep to follow acme.sh standards
2026-07-01 18:54:24 +08:00
Jeroen Moors
b3579ff18d Implement support for DNS Level27 (#7043)
* Add Level27 DNS API support

Implements dns_level27_add and dns_level27_rm for the Level27 (level27.eu) DNS API, used for ACME dns-01 challenges.

- Authenticates with a persistent API key via the Authorization header.
- Resolves the registered zone with domains?filter and exact fullname match (supports DNS alias mode).
- Removes the challenge record by its exact TXT value, leaving other records intact (wildcard-safe).
- Optional LEVEL27_API override for non-default/staging endpoints.

* A little better documentation

---------

Co-authored-by: Jeroen Moors <jeroen.moors@level27.be>
2026-06-29 01:27:41 +08:00
Jakub Kołodziejczak
0dc97187e1 docs: introduce contributing doc (#7052)
prevents friction and frustrations like in issue #7050

closes #7050
2026-06-29 00:41:15 +08:00
regisvidal-bitmapz
365d2d10f3 Fix dns_namesilo_rm failing to remove TXT record (#6969)
* Fixes #6907
2026-06-19 14:24:20 +02:00
SpeedGriffon
db098055de Fix RouterOS deploy (#7034)
* routeros: save ROUTER_OS_ADDITIONAL_SERVICES as base64

* routeros: remove cer_3
2026-06-19 14:23:03 +02:00
neil
4575877d48 add GhostBSD 2026-06-05 23:01:42 +02:00
Bill
d98fa53f62 Updated AWS Route53 service endpoint to the dual-stack endpoint (#6994)
* Update to dual-stack service endpoint
2026-06-05 22:06:49 +02:00
aitor422
9b597b3f1b Add CDMON Api (#6984)
* Added CDMon DNS API
2026-06-05 22:02:14 +02:00
rajcz
58d9c8d7f6 acme.sh: validate cert response before writing .cer (#7006) 2026-06-05 19:38:50 +02:00
Adrian Fedoreanu
a2f046306e dns_1984hosting: cleanup, memoize zone id (#6978)
* dns_1984hosting: cleanup, memoize zone id, optional OTP
2026-06-05 19:28:08 +02:00
neil
b463471951 fix localaddress
https://github.com/acmesh-official/acme.sh/issues/7009#issuecomment-4633681701
2026-06-05 19:22:25 +02:00
neil
0e5f1518aa upgrade 2026-06-04 22:57:50 +02:00
neil
2e4e5d7955 add tribblix 2026-06-04 22:34:36 +02:00
terafin
c7c903fba3 ci: add GitHub Container Registry (ghcr.io) publishing (#7005) 2026-06-04 21:25:38 +02:00
Thomas
dfbe2c5bff fix _getAKI() on OpenBSD (#7007)
The order of the arguments does matter for OpenBSD's grep (bug or
feature).
2026-06-04 21:15:12 +02:00
neil
5713c1d39d remove dns_hetzner.sh
https://github.com/acmesh-official/acme.sh/issues/6990#issuecomment-4576551997
2026-05-30 11:48:06 +02:00
neil
b7e9214e2d minor 2026-05-30 11:47:25 +02:00
Jakob Næss
206f4494ac Add Poweradmin DNS API plugin (dns_poweradmin) (#6943)
* Add Poweradmin DNS API plugin (dns_poweradmin)
2026-05-24 22:34:56 +02:00
Simon V.
d9ce7fefa1 ARI - Add support for switching ACME Server during renewal (#6983)
* ARI - Add support for switching ACME Server during renewal

https://github.com/acmesh-official/acme.sh/issues/6964

* Restore old condition while adding malformed
2026-05-24 22:25:52 +02:00
Markus Ebner
ce07759ced [dnsapi] add IP-Projects dns hook (#6959) 2026-05-24 22:24:00 +02:00
Tom Sommer
010bd1111a Improve Simply.com API (#6933)
Improve Simply.com API (#6933)
2026-05-24 22:20:40 +02:00
hebbet
85408bfb4d Update renewal condition in acme.sh script 2026-05-16 11:16:20 +02:00
neil
7c91ee1fc0 Merge pull request #6949 from acmesh-official/dev
fix format
2026-05-06 20:59:36 +02:00
neil
1687cbd5b4 fix format 2026-05-06 20:58:54 +02:00
neil
d2780eb04e Merge pull request #6948 from acmesh-official/dev
sync
2026-05-06 20:52:11 +02:00
neil
eaf4b62ba9 fix for ari 2026-05-06 20:51:49 +02:00
neil
47378b5630 start 3.1.4 2026-05-06 20:51:49 +02:00
neil
ac75c54ade support NO_ARI=1
https://github.com/acmesh-official/acme.sh/discussions/6938
2026-05-06 20:51:49 +02:00
neil
36667ab656 fix ari
https://github.com/acmesh-official/acme.sh/issues/6942#issuecomment-4382355708
2026-05-06 20:51:49 +02:00
neil
7b19070d98 fix ari
https://github.com/acmesh-official/acme.sh/issues/6942#issuecomment-4381535765
2026-05-06 20:51:49 +02:00
neil
7985319687 add wiki 2026-05-06 20:51:49 +02:00
neil
7735cdf3ab Merge pull request #6937 from acmesh-official/dev
sync
2026-05-02 10:56:54 +02:00
neil
d35876e885 revert 2026-05-02 10:56:13 +02:00
Curd Becker
355b121c79 Add deployment plugin for Windows RDP via OpenSSH (#6925)
* Add deployment plugin for Windows RDP via OpenSSH
2026-05-02 10:56:13 +02:00
Alexander Sulfrian
3230d00c3d Allow renew time relative to the expiration date (#4457)
* Allow renew time relative to the expiration date
2026-05-02 10:56:13 +02:00
neil
fe5490e0ec fix OpenIndiana.yml 2026-05-02 10:56:13 +02:00
neil
0d77231350 add --dns-persist-days 2026-05-02 10:56:13 +02:00
neil
8d5a5a0e0d support ARI by default 2026-05-02 10:56:13 +02:00
neil
cbb8e9068c support dns-persist-01 2026-05-02 10:56:13 +02:00
nsantorelli
96f87844cd Add EuroDNS DNS API plugin (dns_eurodns) (#6903)
Co-authored-by: Nicolas Santorelli <nsantorelli@eurodns.com>
2026-05-02 10:56:13 +02:00
Alexey Pakhomov
8e71268d03 Fix write error $_CRONTAB -l in crontab file (#6920) 2026-05-02 10:56:13 +02:00