Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matitalatina/netsons-ddns
Dynamic DNS using netsons
https://github.com/matitalatina/netsons-ddns
Last synced: about 2 months ago
JSON representation
Dynamic DNS using netsons
- Host: GitHub
- URL: https://github.com/matitalatina/netsons-ddns
- Owner: matitalatina
- Created: 2019-06-23T15:21:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T06:39:08.000Z (almost 2 years ago)
- Last Synced: 2024-05-02T02:13:18.862Z (8 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.59 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Netsons DDNS
**[Update 2020-06-09]** *Netsons added [Google reCAPTCHA](https://www.google.com/recaptcha/intro/v3.html) on login page. So my app fails to login. I think there's no quick solution to overcome this issue. I'm open to pull requests if someone finds a solution.*
*In the meantime, I switched my DDNS to [namecheap](https://www.namecheap.com/). [It's waaaay easier](https://www.namecheap.com/support/knowledgebase/article.aspx/29/11/how-do-i-use-a-browser-to-dynamically-update-the-hosts-ip) to keep DNS updated.*This projects aim to handle a DDNS using the domain provider Netsons.
Unfortunately, Netsons doesn't expose any API to keep updated the DNS records. So I created this project.## Why you should use this application
If you have this situation like mine:
- You have a dynamic IP assigned from your internet provider.
- You have a domain handled by Netsons.
- You want to keep updated an `A` DNS record in order to point always to your dynamic IP.## Requirements
- Node.js installed.
- The `A` DNS record already existing on Netsons. It keeps updated, but it doesn't create it.## Getting Started
- Clone this project.
- Go to the project root.
- `npm install`: it installs the project dependencies.
- `npm run build`: it builds the Node.Js app in the `dist/` folder.
- You need to put the `.env` file inside the `dist/` folder to add your configuration. You can see an example inside `.env.example` file.
You can avoid this step. You should provide those parameters inside your environment when you run the app.
- `node dist/index.js` to start it.## How it works
This is the flow that follows:
- Login on netsons website. Fetch the required cookies.
- Download HTML page of your domain management page.
- Parse your DNS records and find the entry you want to edit.
- Update the entry record.## FAQ
- *Where can I find `NETSONS_DOMAIN_ID` environment variable?* You can find it in the netsons URL, when you are on your domain page edit.
`https://www.netsons.com/manage/index.php?m=pdns&domainid=`.