{"id":16161903,"url":"https://github.com/mrrfv/nextdns-config-cloner","last_synced_at":"2025-03-18T22:30:51.714Z","repository":{"id":198866087,"uuid":"681374817","full_name":"mrrfv/nextdns-config-cloner","owner":"mrrfv","description":"Clone NextDNS profile configuration between accounts","archived":false,"fork":false,"pushed_at":"2024-12-12T14:58:48.000Z","size":35,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-17T00:03:45.985Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrrfv.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}},"created_at":"2023-08-21T22:03:30.000Z","updated_at":"2024-12-12T14:58:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"ef703a4c-5b49-484a-9ad1-7b3d50853c41","html_url":"https://github.com/mrrfv/nextdns-config-cloner","commit_stats":null,"previous_names":["mrrfv/nextdns-config-cloner"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrrfv%2Fnextdns-config-cloner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrrfv%2Fnextdns-config-cloner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrrfv%2Fnextdns-config-cloner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrrfv%2Fnextdns-config-cloner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrrfv","download_url":"https://codeload.github.com/mrrfv/nextdns-config-cloner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244318383,"owners_count":20433891,"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-10-10T02:28:13.969Z","updated_at":"2025-03-18T22:30:51.425Z","avatar_url":"https://github.com/mrrfv.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# nextdns-config-cloner\n\nThis script replaces the profile configuration of multiple child NextDNS accounts with that of a parent account in bulk, streamlining the management of multiple accounts.\n\n## Usage\n\n### Prerequisites\n\n- Node.js, preferably the latest version as experimental features are used. Tested on v20.1.0.\n- NextDNS accounts with profiles already created. The script does not create profiles, it only replaces their configuration.\n\n### Code \u0026 dependencies\n\nClone the repository:\n\n```bash\ngit clone https://github.com/mrrfv/nextdns-config-cloner\n```\n\nChange into the script directory and install the required dependencies using npm:\n\n```bash\ncd nextdns-config-cloner\nnpm install\n```\n\n### Configuration\n\nBefore you can use the script, you need to configure it. Create a `.config.json` file in the script directory with the following structure:\n\n```json\n{\n    \"parent_account_api_key\": \"YOUR_PARENT_ACCOUNT_API_KEY\",\n    \"parent_account_config_id\": \"YOUR_PARENT_ACCOUNT_CONFIG_ID\",\n    \"child_accounts\": [\n    {\n        \"name\": \"Child Account 1\",\n        \"api_key\": \"CHILD_ACCOUNT_1_API_KEY\",\n        \"config_id\": \"CHILD_ACCOUNT_1_CONFIG_ID\"\n    },\n    {\n        \"name\": \"Child Account 2\",\n        \"api_key\": \"CHILD_ACCOUNT_2_API_KEY\",\n        \"config_id\": \"CHILD_ACCOUNT_2_CONFIG_ID\"\n    }\n    // Add more child accounts as needed\n    ]\n}\n```\n\nReplace `YOUR_PARENT_ACCOUNT_API_KEY`, `YOUR_PARENT_ACCOUNT_CONFIG_ID`, `CHILD_ACCOUNT_1_API_KEY`, `CHILD_ACCOUNT_1_CONFIG_ID`, and so on, with the actual API keys and profile IDs of your NextDNS accounts. You can find the API key and profile ID of each account in the NextDNS web app.\n\n### Running the script\n\nOnce you have configured the script, you can run it by executing `node index.js` in the script directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrrfv%2Fnextdns-config-cloner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrrfv%2Fnextdns-config-cloner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrrfv%2Fnextdns-config-cloner/lists"}