lego icon indicating copy to clipboard operation
lego copied to clipboard

Support for provider: Strato

Open mwLabs-eu opened this issue 1 year ago • 14 comments

Welcome

  • [X] Yes, I've searched similar issues on GitHub and didn't find any.
  • [X] Yes, the DNS provider exposes a public API.
  • [X] Yes, I know that the lego maintainers don't have an account in all DNS providers in the world.
  • [ ] Yes, I'm able to create a pull request and be able to maintain the implementation.
  • [X] Yes, I'm able to test an implementation if someone creates a pull request to add the support of this DNS provider.

How do you use lego?

Other

Link to the DNS provider

https://www.strato.de

Link to the API documentation

https://github.com/flixma/certbot-dns-strato

Additional Notes

Using Lego implemented into Zoraxy.

I´ve added a URL to a Cerbot plugin for this provider, as I don't know if documentation is available. But with this provider it its already implemented for nginx proxy manager. I hope this helps too.

mwLabs-eu avatar May 29 '24 14:05 mwLabs-eu

Hello,

The implementation https://github.com/FlixMa/certbot-dns-strato/blob/main/certbot_dns_strato/dns_strato.py doesn't use an API but HTML scrapping.

In lego, we only use API because lego can be used with many domains and HTML scrapping is slow and weak.

I don't know if a real API exists or not, but I recommend contacting Strato to ask them.

ldez avatar May 29 '24 15:05 ldez

I found this API doc but it's not for handling DNS entries.

So I found no useful API for lego.

I still recommend contacting Strato to ask them.

As a workaround, if you have a domain owned by another DNS provider, you can use CNAME.

ldez avatar May 29 '24 15:05 ldez

Thanks for the quick answer and explanation. Totally makes sense.

I´ve opened a ticket at Strato and asked for an API. Will update ASAP then.

mwLabs-eu avatar May 29 '24 16:05 mwLabs-eu

Thanks for the quick answer and explanation. Totally makes sense.

I´ve opened a ticket at Strato and asked for an API. Will update ASAP then.

As I am also a strato customer, I would be interested in any progress =)

izgimmer avatar Jun 08 '24 19:06 izgimmer

Oof, sorry. Totally forgot to answer.

Strato does NOT offer API for this.

mwLabs-eu avatar Jun 08 '24 19:06 mwLabs-eu

To bad, thanks for the feedback.

izgimmer avatar Jun 08 '24 19:06 izgimmer

As a workaround, if you have a domain owned by another DNS provider, you can use CNAME.

https://letsencrypt.org/2019/10/09/onboarding-your-customers-with-lets-encrypt-and-acme.html#the-advantages-of-a-cname

ldez avatar Jun 08 '24 19:06 ldez

needed

neumeier-cloud avatar Oct 25 '24 11:10 neumeier-cloud

@neumeier-cloud I need you to read the issue before posting:

  • https://github.com/go-acme/lego/issues/2197#issuecomment-2137640961
  • https://github.com/go-acme/lego/issues/2197#issuecomment-2156153458

I need you to contact Strato to ask them to add an API for DNS record management.

ldez avatar Oct 25 '24 11:10 ldez

Remark: No discouragement, but I happen to be a strato customer for a long time. I have given up asking them every year or so about having a dns api. Also they still don't offer v6 reverse DNS on their v-servers. Apart from that their virtual servers combined with a capable dns provider like hetzner (via robot) it works for me.

kappuchino avatar Oct 26 '24 23:10 kappuchino

I am a strato customer aswell and in the docs it says that lego can use an external exec to set the DNS-records so i build a shell script that uses the source behind https://github.com/flixma/certbot-dns-strato.

https://github.com/luca910/traefik-strato

luca910 avatar Oct 30 '24 11:10 luca910

in the docs it says that lego can use an external exec to set the DNS-records

In which documentation?


As I said my first comment, flixma/certbot-dns-strato uses HTML scrapping because there is no API.

HTML scrapping is slow and weak:

  • the pages need to be loaded
  • if Strato changes a text or the HTML structure then the implementation will be broken

ldez avatar Oct 30 '24 11:10 ldez

in the docs it says that lego can use an external exec to set the DNS-records

In which documentation?

https://go-acme.github.io/lego/dns/exec/

luca910 avatar Oct 30 '24 11:10 luca910

ok your sentence was extremely ambiguous, I trough it was inside a Strato documentation.

ldez avatar Oct 30 '24 12:10 ldez