{"id":13436287,"url":"https://github.com/dlecan/generic-dns-update","last_synced_at":"2025-03-18T20:31:11.671Z","repository":{"id":55476422,"uuid":"47080756","full_name":"dlecan/generic-dns-update","owner":"dlecan","description":"Cross-platform tool to update DNS such as Gandi.net with your dynamic IP address ","archived":true,"fork":false,"pushed_at":"2022-01-20T17:17:31.000Z","size":113,"stargazers_count":10,"open_issues_count":9,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T08:48:52.638Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dlecan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-29T21:20:49.000Z","updated_at":"2023-07-25T13:59:01.000Z","dependencies_parsed_at":"2022-08-15T01:10:50.577Z","dependency_job_id":null,"html_url":"https://github.com/dlecan/generic-dns-update","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlecan%2Fgeneric-dns-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlecan%2Fgeneric-dns-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlecan%2Fgeneric-dns-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlecan%2Fgeneric-dns-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dlecan","download_url":"https://codeload.github.com/dlecan/generic-dns-update/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244301395,"owners_count":20430937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:46.250Z","updated_at":"2025-03-18T20:31:10.485Z","avatar_url":"https://github.com/dlecan.png","language":"Rust","funding_links":[],"categories":["Applications","Applications written in Rust","应用","应用 Applications"],"sub_categories":["贡献"],"readme":"# GDU | Generic DNS Update\n\n    This project is not maintained anymore.\n    I decided to replace it by combining Terraform and the Gandi Go provider\n\nSee:\n- https://medium.com/@matzhouse/dynamic-dns-with-terraform-and-route53-3fafe7c68970\n- https://registry.terraform.io/providers/go-gandi/gandi/latest/docs\n\n# Legacy description\n\nA cross-platform tool to update DNS zonefiles (such as Gandi.net) when you have a dynamic public IP address.\n\nIt's a DynDNS or equivalent alternative, available for several OS and configured by command line parameters.\n\nFor developpers, it's written in Rust and can be easily extended to add new DNS providers or new ways to detect your public IP address.\n\n## Features\n\n- [x] Detect your public IP address\n  - [x] By HTTP\n  - [ ] By DNS lookup\n\n- Create or update your DNS provider zonefiles to associate to public IP address with an A or AAAA DNS record.\n  - [x] Gandi.net\n  - [ ] Other providers\n\n- Run on several OS:\n  - [x] Linux x86_64\n  - [x] Linux ARMv6 and more, such as Raspberry PI all models, including PI2\n  - [x] Windows 32/64 bits\n  - [ ] OS X\n\n## Command line usage\n\n```\n$ gdu --help\n\nUSAGE:\n  gdu [FLAGS] [OPTIONS]\n\nFLAGS:\n    -n, --dry-run    Dry run, don't really update Gandi zone file\n    -f, --force      Force new zonefile creation even if IP address isn't modified\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n    -v               Verbose mode\n\nOPTIONS:\n    -a, --apikey \u003capikey\u003e              Your API key provided by Gandi\n    -d, --domain \u003cdomain\u003e              The domain name whose active zonefile will be updated, e.g. \"domain.com\"\n    -i, --ip-provider \u003cip_provider\u003e    IP address provider to use to get your own IP address.\n                                       Available values for \u003cip-provider\u003e:\n                                        opendns       : OpenDNS\n                                        -             : read IP address from stdin\n                                        sfrlaboxfibre : French 'SFR Labox Fibre' subscribers\n    -r, --record-name \u003crecord_name\u003e    Name of the A record to update or create (without domain)\n\n```\n\n## Installation\n\n### On Linux: Fedora, Debian, Ubuntu, Raspbian ...\n\nGDU is available as a native package (rpm/deb) for your distribution through package.io.\nGo to [package.io project page](https://packagecloud.io/dlecan/generic-dns-update/install) for installation instructions.\n\nThen\n\n```\nsudo apt-get install generic-dns-update\n```\n\n#### Linux cron configuration\n\nYou can configure GDU to check hourly if your IP address as been updated with cron.\n\nEdit as root or sudo the file `/etc/cron.hourly/gdu`, with the following content:\n\n```bash\n#!/bin/bash\n\ngdu -a YOUR_GANDI_KEY -d YOUR_DOMAIN -r YOUR_RECORD -i opendns \u003e\u003e /var/log/gdu.log 2\u003e\u00261\n\n```\n\n## Inspiration\n- https://github.com/brianpcurran/gandi-automatic-dns\n- https://github.com/Chralu/gandyn\n- https://github.com/jasontbradshaw/gandi-dyndns\n- https://github.com/lembregtse/gandi-dyndns\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlecan%2Fgeneric-dns-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdlecan%2Fgeneric-dns-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlecan%2Fgeneric-dns-update/lists"}