IPMage is a tool for managing and updating your public IP address with DNS services. Currently, it supports Cloudflare, and it is designed to automatically update your DNS records if your public IP address changes.
- Fetches your current public IP address.
- Automatically updates DNS records with Cloudflare if the IP address changes.
- .NET 8.0 or later
The tool requires a settings.json
file in the root of the application directory. The configuration file should have the following structure:
{
"logLevel": "information",
"services": [
{
"serviceType": "cloudflare",
"name": "e.g. domain.name (only used for logging)",
"apiKey": "your-api-key",
"zoneId": "your-zone-id",
"recordId": "your-record-id"
}
]
}
- logLevel: Specifies the level of logging. Options include
debug
,information
,warning
, anderror
. - services: An array of DNS service configurations.
- serviceType: The type of DNS service. Currently, only
cloudflare
is supported. - name: A descriptive name for the domain (used only for logging).
- apiKey: Your Cloudflare API key.
- zoneId: The Cloudflare Zone ID for the domain.
- recordId: The Cloudflare Record ID of the DNS record to update.
- serviceType: The type of DNS service. Currently, only
- Ensure that you have created a
settings.json
file in the root directory with the necessary configuration. - Execute the application. It will check your public IP address and update the Cloudflare DNS record if there is a change.
Feel free to submit issues or pull requests to improve the tool. Make sure to follow the standard GitHub workflow for contributions.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or feedback, please open an issue on the GitHub repository.