Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
What DNS provider does it need to support?
Personally I'd just whip up a quick shell script or use something like Python, it's probably like 20 lines of code to make the necessary API request and you have much more freedom than some fixed software and fixed features.
Actually, right after posting this, I got it to work. It looks like ddclient queries checkip.dyndns.org for IP, and by default using SSL/443. HTTPS isn't working on checkip.dyndns.org at the moment, so queries were failing. I disabled SSL and it started to work.
I'm using Google Domains. Good suggestion on the API approach though, I'll consider that for next time it breaks on me.
Relevant example, with afraid.org you can do it with a wget or curl command.
The main required feature that complicates things a bit is rate limiting since a lot of providers do not appreciate getting lots of update requests to the same IP in a short period of time if you e.g. reboot repeatedly but also will eventually delete names that are never updated.
Ideally you'd check the public ip against the dns resolved ip (without cache) before launching an update and have a timeout (let's say 30s) after.