Package: pyCloudFlareUpdater
CloudFlare 'A' Record UpdaterDDNS Service for updating dynamically your CloudFlare 'A' Records when your public IP changesIndexPurposeInstallationUsageLicensePurposeAs a continuation of therecently created pyGoDaddyUpdater,
here you haveCloudFlare Updater. This group aims to createDDNSOpenSource clients that are available for every
user/sysadmin with the most common DNS providers.If you are aCloudFlareuser (you have your own domain, CNAMES, etc.) maybe you have noticed that there is noDynamic
DNS(DDNS) update service, so you have to manually put yourpublic IPat your domain 'A' Record whenever it
changes.Therefore, other possibilities exists such ashaving a No-IP domainand make all your CNAMEs point to that DNS,
enabling redirection from the source domain (e.g.: example.com) to anwwwdomain (e.g.:www.example.com).With this script/service, you can configure adaemonwhich will be running in the background, periodically checking
for your public IP for seeing if it has changed. If you want also, you can configure it to run only once.InstallationNOTICE: THIS SCRIPT IS ONLY RUNNING ON SYSTEMS WITH PYTHON 3 AND ABOVEThere are two possibilities for installing this script:1. Usingsetup.pyStart bycloningthis repository. For that, you will need to haveGitinstalled. Then, run on Git Bash:git clone https://gitlab.javinator9889.com/ddns-clients/pyCloudFlareUpdater.gitThere is another possibility so you candirectly downloada compressed file with all the necessary data. Just unzip
it and continue with the steps below.For installing, you will needadministratorpermissions, as the script is creating a new command so you can run
it from everywhere:cd pyCloudFlareUpdater
sudo python3 setup.py install2. Usingpip(easier and faster)I assume you havepipinstalled, so for using this package:sudo pip install pyCloudFlareUpdater
# If you have any error saying that at least Python 3 is needed
# try with the following one:
sudo pip3 install pyCloudFlareUpdaterUsageFirst of all, go to yourCloudflare user accountoptions, and find the section (usually at the bottom of the page)
that saysAPI Keys.Obtain theGlobal API Keyand save it on a safe location, we will use it later.Once you have installed the script, the execution is simple (from your command line):$ cloudflare_ddns [OPTIONS]The available options are:--domain DOMAIN: specifieswhich domainwill be updated. That is, if your site is hosted atwww.example.com, then your
domain isexample.com.--name NAME: here the 'A' Record name must be included. In most cases, this name usually matches the domain.--time TIME: change theupdate check intervaltime (in minutes). By default, it is 5 minutes.--key KEY: theCloudflare keyyou obtained as explained before.--mail MAIL: theCloudflare mailyou use to login into your account.--proxied: use this option for making all the requests to your websiteaccess firstCloudflare servers (the
same as enabling this option).--no_daemonize: include this option for running this scriptonly once.--pid PID FILE: define your own PID file, in which the running daemon PID will be saved. By default, it is:/var/run/cloudflare.pid.--log LOG FILE: define your own LOG file, in which the running daemon logs will be saved. By default, it is:/var/log/cloudflare.log.--preferences PREFERENCES FILE: if you are planning to dynamically updatemore than onedomain at the same
time, you can define a custom preferences file (if not, each time you run the daemon it will be overwritten).--user USERNAME: if for any reason you need to run this script as another user (for example, because of the
permissions for saving logs and the PID file), include here your username (you must run the script as admin).--group GROUP NAME: if for any reason you need to run this script as another group (for example, because of the
permissions for saving logs and the PID file), include here your username (you must run the script as admin).The first time you execute this script (or for defining a new preferences file), you must include (only the first time):Domain.Name.Key.Mail.Proxied.Then, each time you execute the script with noextra argumentsorproviding the preferences fileyou will not need
to include the options mentioned above.LicensepyCloudFlareUpdater
                  Copyright (C) 2019 - Javinator9889

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
      the Free Software Foundation, either version 3 of the License, or
                   (at your option) any later version.

       This program is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
               GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
    along with this program. If not, see <http://www.gnu.org/licenses/>.