{"id":18547752,"url":"https://github.com/johnramsden/lindyndns","last_synced_at":"2025-07-24T07:08:47.219Z","repository":{"id":102820740,"uuid":"189292728","full_name":"johnramsden/lindyndns","owner":"johnramsden","description":"Linode Dynamic DNS Client","archived":false,"fork":false,"pushed_at":"2019-06-16T01:15:32.000Z","size":98,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-15T13:59:14.428Z","etag":null,"topics":["linode","linode-api","linux","rust","rust-lang"],"latest_commit_sha":null,"homepage":null,"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/johnramsden.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-29T20:22:20.000Z","updated_at":"2021-04-16T21:04:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"2fea4654-f68b-478b-8421-637c1507e2af","html_url":"https://github.com/johnramsden/lindyndns","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/johnramsden/lindyndns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnramsden%2Flindyndns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnramsden%2Flindyndns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnramsden%2Flindyndns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnramsden%2Flindyndns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnramsden","download_url":"https://codeload.github.com/johnramsden/lindyndns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnramsden%2Flindyndns/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266807195,"owners_count":23987427,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["linode","linode-api","linux","rust","rust-lang"],"created_at":"2024-11-06T20:31:04.957Z","updated_at":"2025-07-24T07:08:47.196Z","avatar_url":"https://github.com/johnramsden.png","language":"Rust","readme":"# lindyndns\n\n[![Build Status](https://travis-ci.com/johnramsden/lindyndns.svg?branch=master)](https://travis-ci.com/johnramsden/lindyndns)\n\nLinode Dynamic DNS Client\n\n## Linode Setup\n\nCreate a linode account for the user. For added security, create the domain they will be using\nand give them only access to that domain.\n\nHave the user [create an API key](https://cloud.linode.com/profile/tokens) with domain read/write and IP read scopes, or give them access to an API key that has read/write permissions for domains.\n\nTo allow `lindyndns` to update, but not create a domain, create the domain and give the user access to update only the one domain they need access to.\n\n## Configuration\n\nCreate a `config.toml`, (with each `\u003cVARIABLE\u003e` replaced):\n\n```toml\napi_token = \"\u003cAPI_KEY\u003e\"\ndomain = \"\u003cDOMAIN\u003e\"\nsoa_email = \"\u003cEMAIL\u003e\"\n```\n\n### Configuration file locations:\n\nUser:\n\n* *Linux*\n    * `$XDG_CONFIG_HOME/lindyndns/config.toml`\n* *MacOS*\n    * `~/Library/Preferences/lindyndns/config.toml`\n* *Windows*\n    * `%APPDATA%\\lindyndns\\config.toml`\n\nSystem wide:\n\n* *Linux*\n    * `/etc/xdg/lindyndns/config.toml`\n* *MacOS*\n    * `/Library/Preferences/lindyndns/config.toml`\n* *Windows*\n    * `%APPDATA%\\lindyndns\\config.toml`\n\n## Usage\n\nRunning `lindyndns` will create the specified domain if the user has permissions to create a domain, otherwise an error message will be printed.\n\nIf all permissions are correct, running `lindyndns` will update the specified domain, and print the IP address of the user.\n\n### Scheduling\n\nAfter creating configuration, start the service. The config should be system\nwide if running the system service.\n\n#### Linux\n\n``` \nsystemctl enable --now lindyndns.timer\n```\n\n#### MacOS\n\n``` \nlaunchctl bootstrap system /Library/LaunchDaemons/ca.johnramsden.lindyndns.plist\n```\n\nModify the update interval by editing `/Library/LaunchDaemons/ca.johnramsden.lindyndns.plist`.\n\nCheck it's running with `launchctl list | grep lindyndns`\n\n#### Windows\n\nIf installed from the `.exe` installer, a schedule of job should have been created in the windows scheduler which will run every half hour.\n\n## Installing\n\nSeveral pre-built packages are available depending on the platform under the [releases page](https://github.com/johnramsden/lindyndns/releases).\n\n*  Linux: \n    * tarball\n    * `.deb` package\n*  MacOS\n    * tarball\n    * `.pkg`\n*  Windows\n    * zip archive\n    * `.exe` installer\n\n## Building\n\nClone the repo.\n\nWith rust and cargo installed run:\n\n```\ncargo build --release\n```\n\nFreeBSD example:\n\n```\npkg install rust git\ngit clone https://github.com/johnramsden/lindyndns.git\ncd lindyndns\ncargo build --release\n```\n\nThe binary will be at `target/release/lindyndns`. Move it to `/usr/local/bin/lindyndns`, add a configfile to `/etc/xdg/lindyndns/config.toml` and create a crontab entry to run `lindyndns` regularly.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnramsden%2Flindyndns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnramsden%2Flindyndns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnramsden%2Flindyndns/lists"}