Sign inSign up

stefangenov/goip

By stefangenov

Updated about 2 years ago

Automatically updates IP address in various dns providers.

Image
0

1.2K

stefangenov/goip repository overview

goip

A multi provider dns ip address updater.

Inspiration

My ISP has a fee for static IPs. I don't want to pay that fee

What Is It?

This tool will query https://icanhazip.com and listen for changes. If any changes are detected, it will set the IP in the chosen provider. The configuration file for the providers must be stored either in /app/config.json, or project root ./config.json

Roadmap

  • More providers?
  • Container Image
  • More details how to run this

Getting Started

Docker
docker run -e CLOUDFLARE_API_TOKEN={{TOKEN}} -v ./config.json:/app/config.json stefangenov/goip
From Source
go run main.go

This will start goip with the default provider cloudflare and check for updates every 15 minutes.

Providers

Providers are what tells goip how to handle the change in IP address.

Cloudflare

Cloudflare provider gives you the ability to work with multiple zones at the same time as well as multiple records in each zone. The provider also gives you the ability to partially configure parameters of the created record.

Environment

The following env variables must be present:

  • CLOUDFLARE_API_TOKEN: This must be a token that has Zone.DNS permissions
Configuration
{
    "cloudflare": {
        "zones": [
            {
                "name": "stefangenov.site",
                "records": [
                    {
                        "name": "stefangenov.site",
                        "proxied": true
                    },
                    {
                        "name": "*-public.stefangenov.site",
                        "proxied": true
                    }
                ]
            }
        ]
    }
}

Tag summary

Content type

Image

Digest

sha256:91a622049

Size

14.5 MB

Last updated

over 2 years ago

docker pull stefangenov/goip