Skip to content

[Public] A CLI to interact with Cloudflare API and manipulate DNS records.

License

Notifications You must be signed in to change notification settings

mrinjamul/mrinjamulcf-cli

Repository files navigation

mrinjamulcf-cli

📦 A CLI to sync domains from local to Cloudflare.

Installation

From source

If you want to build mrinjamulcf-cli from source, you need Go 1.16 or higher. You can then use go build to build everything:

git clone https://github.com/mrinjamul/mrinjamulcf-cli.git
cd mrinjamulcf-cli
go mod download
make install

From prebuilt binaries:

You can download prebuilt binaries from the Release page,

Via Homebrew

    brew tap mrinjamul/main
    brew install mrinjamulcf-cli

Prerequisites

we need to have a Cloudflare account and API key.

and we need to have a top level domain.

set up .env file with content,

CF_ZID="your-zone-id"
CF_TOK="your-api-key"

Available envs:

  • CF_ZID: Cloudflare zone id (required)
  • CF_TOK: Cloudflare API key (required)
  • DOMAIN_NAME: Top level domain name (optional)
  • RECORD_FILE: Path to file with domains (optional)
  • RESTRICTED_FILE: Path to file with restricted domains (optional)

or

  • CONFIG_FILE: location to configuration file (optional)

Configurations

Use environment variables to configure the CLI.

or you can use configuaration file $HOME/.mrinjamulcli.json

Sample config file:

{
  "cf_token": "your-api-key",
  "zone_id": "your-zone-id",
  "domain_name": "your-domain.com",
  "record_file": "records.json",
  "restricted_file": "restricted.json"
  "record_type": ["A", "CNAME"]
}

Usage

mrinjamulcf-cli is a CLI to sync domains from local to Cloudflare.

    mrinjamul.in CLI

    Usage:
    mrinjamul [flags]
    mrinjamul [command]

    Available Commands:
    completion  Generate the autocompletion script for the specified shell
    export      export DNS records to file.
    fmt         format the records
    help        Help about any command
    sync        sync with remote DNS.
    version     prints version.

    Flags:
    -h, --help   help for mrinjamul

    Use "mrinjamul [command] --help" for more information about a command.

mrinjamulcf-cli fmt --check will check if the records are ok.

    format the records

    Usage:
    mrinjamul fmt [flags]

    Flags:
    -c, --check           checks if the records has for errors
        --domain string   specify the domain name
    -f, --file string     specify the records file
    -h, --help            help for fmt

mrinjamulcf-cli sync will sync the records from local to remote.

    sync with remote DNS.

    Usage:
    mrinjamul sync [flags]

    Flags:
        --domain string   specify the domain name
        --dry-run         dry run the sync
    -f, --file string     specify the records file
    -h, --help            help for sync
    -p, --proxied         set all records proxied

mrinjamulcf-cli export will export the records to a file.

    export DNS records to file.

    Usage:
    mrinjamul export [flags]

    Flags:
        --domain string   specify the domain name
    -f, --file string     specify the export file
    -h, --help            help for export

mrinjamulcf-cli version will print the version.

    prints version.

    Usage:
    mrinjamul version [flags]

    Flags:
    -h, --help   help for version

License

About

[Public] A CLI to interact with Cloudflare API and manipulate DNS records.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published