From 748e4c0d70f1321cc33efd9a3fc1e0fa03e5ce8d Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Sat, 5 Oct 2024 00:11:16 +0200 Subject: [PATCH] epik: add User-Agent (#2290) --- docs/content/dns/zz_gen_epik.md | 2 +- docs/data/zz_cli_help.toml | 2 +- providers/dns/epik/epik.toml | 2 +- providers/dns/epik/internal/client.go | 6 ++++++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/content/dns/zz_gen_epik.md b/docs/content/dns/zz_gen_epik.md index 0e3e2a0dcc..a065a17784 100644 --- a/docs/content/dns/zz_gen_epik.md +++ b/docs/content/dns/zz_gen_epik.md @@ -60,7 +60,7 @@ More information [here]({{% ref "dns#configuration-and-credentials" %}}). ## More information -- [API documentation](https://docs.userapi.epik.com/v2/#/) +- [API documentation](https://docs-userapi.epik.com/v2/) diff --git a/docs/data/zz_cli_help.toml b/docs/data/zz_cli_help.toml index 86cf9a336e..94275c0649 100644 --- a/docs/data/zz_cli_help.toml +++ b/docs/data/zz_cli_help.toml @@ -41,7 +41,7 @@ GLOBAL OPTIONS: --dns value Solve a DNS-01 challenge using the specified provider. Can be mixed with other types of challenges. Run 'lego dnshelp' for help on usage. --dns.disable-cp (deprecated) use dns.propagation-disable-ans instead. (default: false) --dns.propagation-disable-ans By setting this flag to true, disables the need to await propagation of the TXT record to all authoritative name servers. (default: false) - --dns.propagation-rns By setting this flag, use all the recursive nameservers to check the propagation of the TXT record. (default: false) + --dns.propagation-rns By setting this flag to true, use all the recursive nameservers to check the propagation of the TXT record. (default: false) --dns.propagation-wait value By setting this flag, disables all the propagation checks of the TXT record and uses a wait duration instead. (default: 0s) --dns.resolvers value [ --dns.resolvers value ] Set the resolvers to use for performing (recursive) CNAME resolving and apex domain determination. For DNS-01 challenge verification, the authoritative DNS server is queried directly. Supported: host:port. The default is to use the system resolvers, or Google's DNS resolvers if the system's cannot be determined. --http-timeout value Set the HTTP timeout value to a specific value in seconds. (default: 0) diff --git a/providers/dns/epik/epik.toml b/providers/dns/epik/epik.toml index 555d51c6b4..a07ef83ab5 100644 --- a/providers/dns/epik/epik.toml +++ b/providers/dns/epik/epik.toml @@ -19,4 +19,4 @@ lego --email you@example.com --dns epik --domains my.example.org run EPIK_HTTP_TIMEOUT = "API request timeout" [Links] - API = "https://docs.userapi.epik.com/v2/#/" + API = "https://docs-userapi.epik.com/v2/" diff --git a/providers/dns/epik/internal/client.go b/providers/dns/epik/internal/client.go index 0ca46c2cb6..1a802dfd30 100644 --- a/providers/dns/epik/internal/client.go +++ b/providers/dns/epik/internal/client.go @@ -15,6 +15,10 @@ import ( const defaultBaseURL = "https://usersapiv2.epik.com/v2" +// The API server don't support User-Agent starting with `go-`, then this User-Agent is different from the other implementation. +// https://github.com/go-acme/lego/issues/2268#issuecomment-2394007004 +const defaultUserAgent = "goacme/lego" + // Client the Epik API client. type Client struct { signature string @@ -97,6 +101,8 @@ func (c Client) RemoveHostRecord(ctx context.Context, domain string, recordID st } func (c Client) do(req *http.Request, result any) error { + req.Header.Set("User-Agent", defaultUserAgent) + resp, err := c.HTTPClient.Do(req) if err != nil { return errutils.NewHTTPDoError(req, err)