Skip to content

mabels/cloudflare-go

This branch is 3566 commits ahead of, 3300 commits behind cloudflare/cloudflare-go:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

808e72b · Jul 20, 2024
Jul 17, 2024
Jan 1, 2024
Jul 5, 2024
Jun 5, 2024
Jan 26, 2024
Jun 24, 2024
Nov 29, 2022
Mar 27, 2024
Mar 30, 2023
Dec 6, 2023
Oct 30, 2023
Jul 4, 2022
Jul 17, 2024
Nov 22, 2018
Jan 10, 2022
Mar 15, 2023
Jun 10, 2024
Jun 10, 2024
Aug 7, 2023
Aug 7, 2023
Aug 11, 2022
Aug 7, 2023
Aug 24, 2023
Aug 24, 2023
Jun 26, 2023
Aug 7, 2023
Aug 1, 2023
Nov 20, 2023
Nov 20, 2023
Sep 8, 2023
Aug 1, 2023
Aug 7, 2023
Aug 7, 2023
Mar 7, 2024
Mar 7, 2024
Feb 5, 2024
Feb 5, 2024
May 6, 2024
May 6, 2024
Jan 30, 2024
Jan 30, 2024
Aug 15, 2023
Aug 2, 2023
Sep 18, 2023
Sep 18, 2023
Jun 26, 2023
Jun 26, 2023
Jan 17, 2024
Jan 29, 2024
Aug 7, 2023
Aug 24, 2023
Sep 18, 2023
Sep 18, 2023
Aug 7, 2023
Aug 24, 2023
Aug 7, 2023
Mar 13, 2023
Aug 7, 2023
Mar 10, 2023
Aug 7, 2023
Oct 4, 2023
Oct 4, 2023
Sep 15, 2023
Sep 15, 2023
Oct 18, 2023
Oct 18, 2023
Aug 25, 2022
Aug 7, 2023
Aug 11, 2022
Aug 7, 2023
Mar 1, 2021
May 14, 2021
Aug 7, 2023
Apr 26, 2022
Aug 7, 2023
Aug 31, 2022
Aug 7, 2023
Aug 7, 2023
May 17, 2021
Aug 7, 2023
Mar 1, 2021
Mar 1, 2021
Sep 15, 2023
Aug 8, 2023
Aug 7, 2023
May 15, 2023
Mar 30, 2023
Aug 7, 2023
Apr 21, 2023
Jul 8, 2024
Jul 8, 2024
Nov 28, 2023
Aug 7, 2023
Aug 24, 2023
Sep 9, 2022
Mar 10, 2023
Aug 7, 2023
Oct 21, 2022
Oct 2, 2023
Oct 2, 2023
Aug 7, 2023
Aug 24, 2023
Oct 9, 2023
Oct 9, 2023
Sep 12, 2023
Sep 12, 2023
Mar 1, 2024
Dec 19, 2023
Aug 7, 2023
Feb 22, 2023
Aug 7, 2023
Jan 9, 2023
Dec 4, 2023
Dec 4, 2023
Aug 7, 2023
Aug 7, 2023
Jan 24, 2024
Jan 24, 2024
Aug 7, 2023
Aug 7, 2023
Mar 25, 2024
Mar 25, 2024
Mar 27, 2024
Dec 28, 2022
Aug 7, 2023
Jun 19, 2023
Mar 27, 2024
Aug 7, 2023
Aug 7, 2023
Aug 7, 2023
Aug 11, 2022
Aug 7, 2023
Aug 30, 2022
Aug 7, 2023
Aug 25, 2022
Mar 28, 2023
Aug 17, 2022
Mar 18, 2022
Dec 28, 2022
Aug 7, 2023
Sep 28, 2022
Aug 7, 2023
Aug 11, 2022
Aug 7, 2023
Aug 11, 2022
Aug 7, 2023
Aug 11, 2022
Aug 7, 2023
Mar 30, 2023
Mar 30, 2023
Mar 30, 2023
Jul 3, 2024
Jul 4, 2024
Jul 5, 2024
Jul 5, 2024
Aug 7, 2023
Jun 22, 2022
Jul 11, 2024
Jul 11, 2024
Aug 28, 2023
Aug 28, 2023
Feb 5, 2024
Feb 5, 2024
Aug 7, 2023
Oct 28, 2022
Aug 7, 2023
Oct 28, 2022
Aug 7, 2023
Oct 28, 2022
Aug 7, 2023
Oct 28, 2022
Aug 7, 2023
Oct 28, 2022
Nov 17, 2023
Nov 17, 2023
Aug 7, 2023
Apr 4, 2022
Dec 13, 2023
Aug 11, 2022
Aug 7, 2023
Aug 7, 2023
Sep 26, 2023
May 22, 2023
Nov 17, 2023
Sep 9, 2022
Nov 17, 2023
Aug 7, 2023
Aug 11, 2022
Aug 24, 2023
Jul 7, 2022
Aug 7, 2023
May 14, 2021
Dec 19, 2023
Aug 7, 2023
Dec 19, 2023
Aug 7, 2023
May 16, 2022
Aug 7, 2023
Feb 2, 2022
Apr 10, 2024
Apr 10, 2024
Aug 7, 2023
May 16, 2022
Feb 8, 2024
Aug 7, 2023
Jul 13, 2022
Jul 9, 2022
Oct 28, 2022
Aug 7, 2023
Dec 28, 2022
Aug 7, 2023
Aug 7, 2023
Sep 29, 2023
Sep 29, 2023
Aug 7, 2023
Aug 7, 2023
Aug 24, 2023
Aug 7, 2023
Mar 1, 2021
Aug 7, 2023
Dec 7, 2023
Dec 7, 2023
Dec 7, 2023
Dec 7, 2023
Dec 7, 2023
Dec 7, 2023
Dec 7, 2023
Dec 7, 2023
Aug 7, 2023
Aug 7, 2023
Aug 7, 2023
Oct 28, 2022
Jan 30, 2024
Jan 30, 2024
Aug 24, 2023
Aug 24, 2023
Nov 14, 2023
Aug 9, 2023
Aug 7, 2023
Oct 12, 2022
Sep 23, 2022
Aug 7, 2023
Jan 30, 2023
Aug 7, 2023
Apr 18, 2023
Aug 7, 2023
Mar 1, 2021
Jan 9, 2022
Aug 7, 2023
Apr 19, 2023
Aug 7, 2023
Jul 18, 2023
Feb 17, 2024
Aug 1, 2021
Feb 19, 2024
Jul 5, 2023
Sep 30, 2022
Oct 28, 2022
Jul 5, 2023
May 8, 2024
May 8, 2024
Aug 7, 2023
May 14, 2021
Aug 7, 2023
May 14, 2021
Aug 7, 2023
May 14, 2021
Aug 7, 2023
May 14, 2021
Aug 7, 2023
Sep 28, 2022
Aug 7, 2023
Aug 24, 2023
Jan 29, 2024
Jan 29, 2024
Aug 7, 2023
Jul 17, 2024
Jul 16, 2024
Oct 11, 2023
Oct 9, 2023
Jul 17, 2024
Jul 17, 2024
Aug 7, 2023
Jun 22, 2023
Jun 19, 2024
Aug 24, 2023
Apr 22, 2024
Apr 22, 2024
Aug 7, 2023
Jul 4, 2022
Jun 20, 2024
Jun 20, 2024
Aug 7, 2023
Dec 22, 2022
Aug 7, 2023
Oct 16, 2022
Sep 1, 2023
Aug 7, 2023
Oct 21, 2022
Jun 8, 2023
Aug 7, 2023
Oct 21, 2022
Aug 7, 2023
Aug 24, 2023
Aug 7, 2023
Oct 21, 2022
Aug 7, 2023
Oct 21, 2022
Aug 7, 2023
Aug 7, 2023
Mar 1, 2021
Oct 21, 2022
Dec 22, 2022
May 26, 2022
Aug 7, 2023
Aug 7, 2023
Jul 1, 2021
Aug 24, 2023
Aug 7, 2023
Aug 3, 2023
Aug 7, 2023
Oct 28, 2022
Sep 15, 2023
Aug 14, 2023
Apr 11, 2024
Aug 22, 2023
Aug 9, 2022
Feb 29, 2024
Feb 29, 2024
Aug 22, 2023
Nov 30, 2022
Aug 22, 2023
Nov 20, 2022
Feb 29, 2024
Feb 29, 2024
Aug 22, 2023
Oct 21, 2022
Nov 30, 2022
Aug 22, 2023
Nov 30, 2022
Aug 7, 2023
Nov 30, 2022
Aug 22, 2023
Oct 28, 2022
Aug 22, 2023
Aug 9, 2022
Apr 11, 2024
Feb 15, 2024
Jan 30, 2024
Aug 7, 2023
Aug 7, 2023
Oct 21, 2022
Mar 2, 2021
Aug 10, 2023
Aug 10, 2023
Aug 7, 2023
Jul 20, 2024
May 3, 2024
May 3, 2024

Repository files navigation

cloudflare-go

Go Reference Test Go Report Card

Note: This library is under active development as we expand it to cover our (expanding!) API. Consider the public API of this package a little unstable as we work towards a v1.0.

A Go library for interacting with Cloudflare's API v4. This library allows you to:

  • Manage and automate changes to your DNS records within Cloudflare
  • Manage and automate changes to your zones (domains) on Cloudflare, including adding new zones to your account
  • List and modify the status of WAF (Web Application Firewall) rules for your zones
  • Fetch Cloudflare's IP ranges for automating your firewall whitelisting

A command-line client, flarectl, is also available as part of this project.

Installation

You need a working Go environment. We officially support only currently supported Go versions according to Go project's release policy.

go get github.com/cloudflare/cloudflare-go

Getting Started

package main

import (
	"context"
	"fmt"
	"log"
	"os"

	"github.com/cloudflare/cloudflare-go"
)

func main() {
	// Construct a new API object using a global API key
	api, err := cloudflare.New(os.Getenv("CLOUDFLARE_API_KEY"), os.Getenv("CLOUDFLARE_API_EMAIL"))
	// alternatively, you can use a scoped API token
	// api, err := cloudflare.NewWithAPIToken(os.Getenv("CLOUDFLARE_API_TOKEN"))
	if err != nil {
		log.Fatal(err)
	}

	// Most API calls require a Context
	ctx := context.Background()

	// Fetch user details on the account
	u, err := api.UserDetails(ctx)
	if err != nil {
		log.Fatal(err)
	}
	// Print user details
	fmt.Println(u)
}

Also refer to the API documentation for how to use this package in-depth.

Experimental improvements

This library is starting to ship with experimental improvements that are not yet ready for production but will be introduced before the next major version. See experimental README for full details.

Contributing

Pull Requests are welcome, but please open an issue (or comment in an existing issue) to discuss any non-trivial changes before submitting code.

License

BSD licensed. See the LICENSE file for details.

About

Go library for the Cloudflare v4 API

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.9%
  • Other 0.1%