Flask-CloudflareRemote

Cloudflare proxy support for flask application


Keywords
client-ip, cloudflare, flask, remote
License
MIT
Install
pip install Flask-CloudflareRemote==1.1.2

Documentation

Flask-CloudflareRemote

Cloudflare proxy support for flask application.

It gets client ip from cloudflare headers and can allow request from cloudflare ips only.

Quickstart

Install flask_cloudflare_remote using pip:

$ pip install Flask-CloudflareRemote

Example usage

import flask
from flask_cloudflare_remote import CloudflareRemote


app = Flask(__name__)
cf = CloudflareRemote()

cf.init_app(app)

Configuration

  1. CF_DOMAIN: (default: 'www.cloudflare.com')
  2. CF_REQ_TIMEOUT: (default: 10)
  3. CF_IPs: (default: None) list of allowed cloudflare ips
  4. CF_IP4_URI: (default: '/ips-v4') ipv4 list uri
  5. CF_IP6_URI: (default: '/ips-v6') ipv6 list uri
  6. CF_IPv6_ENABLED: (default: False) enable ipv6
  7. CF_STRICT_ACCESS: (default: True) return forbidden if remote ip is not in allowed list
  8. CF_OVERRIDE_REMOTE: (default: True) override flask REMOTE_ADDR from request
  9. CF_HDR_CLIENT_IP: (default: 'CF-Connecting-IP') header key used for client ip

License MIT