Skip to main content

A script to keep the values in the Cloudflare DDNS service in sync with your local dynamic IP address.

Project description

cfdyndns-updater

Build Status

A script to keep the values in the Cloudflare DDNS service in sync with your local dynamic IP address. It starts an infinite loop that periodically performs checks, using an external service, whether your IP address has changed or not. If it is so, the script sends a request to Cloudflare API and updates the DNS records.

Requirements

  • Python 3.6+

How to use the script

  1. Write a configuration file in the following format:

    email: <your login to Cloudflare>
    api_key: <Cloudflare API key>
    periodicity: <timeout between checks in seconds>
    domains:
      - example.org    # 'proxied: true' is implied
      - www.example.org
      - domain: ssh.example.org
        proxied: false
      <...>
    

    You may place it into your home directory under the name of .cloudflare-ddns-config. On Linux, a system-wide configuration file is also supported: /etc/cloudflare-ddns-config.

  2. Install the package:

    pip install cfdyndns-updater
    
  3. Run the script!

    cfddns_updater
    

    It's possible to specify the path to any configuration file explicitly as the only positional argument:

    cfddns_updater config.yml
    

Exit codes

Exit code Explanation
2 invalid command line arguments
-1 the configuration file is not found
-2 validation of the configuration file was failed

Integration with a system manager

See Wiki pages for examples of configuration files for various system managers. If your favorite one is missing there, write your own configuration file for it and create a pull request. Any contributions are welcomed!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cfdyndns-updater-0.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

cfdyndns_updater-0.1.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file cfdyndns-updater-0.1.0.tar.gz.

File metadata

  • Download URL: cfdyndns-updater-0.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for cfdyndns-updater-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e04cd3c57008d0931e3a8fef651ca6f8f2c6315a789ff8dc1e28a2b64a8d1e79
MD5 0edd2bb0e7c7b72fa66fb5e06c85542b
BLAKE2b-256 54569a348fcd955bf532967a8b03daaba2676d14e85f7eccf43b068394358e12

See more details on using hashes here.

File details

Details for the file cfdyndns_updater-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cfdyndns_updater-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for cfdyndns_updater-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b753a0eacbb8588a7e1402ff026eea3638086e0b0399d2703bb86d89c7814d5
MD5 64ebf25e037c3a0548e1feb2231ad66a
BLAKE2b-256 d1b44717a0a64691d2a80794b996fb5a3246f2c58994096c5cc2aa109ffea56d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page