id: feed_cloudflare_ips name: Cloudflare IPs Feed version: 1.0.0 description: "Cloudflare IP ranges feed connector — pull the official Cloudflare edge IP ranges (IPv4 and/or IPv6) and emit normalized IOCs (CIDR + type) for import into the Threat Indicator Manager. Intended as an allowlist / known-infrastructure feed (mark benign in TIM). Free, no authentication required; stdlib-only, no extra Python dependencies." changelog: "1.0.0 — Initial release: fetch Cloudflare ips-v4 / ips-v6." category: feed # Cloudflare publishes its edge IP ranges as free plain-text lists over HTTPS. config_schema: properties: family: type: string description: "Which addresses: v4, v6 or both (default both)" default: "both" insecure: type: boolean description: "Trust any TLS certificate (not secure)" default: false required: [] commands: - id: fetch_indicators name: feed-cloudflare-ips-fetch-indicators description: "Fetch the Cloudflare IP ranges and return normalized indicators." risk: read inputs_schema: properties: family: { type: string, description: "v4 | v6 | both (overrides the config default)" } max_indicators: { type: number, description: "Max indicators to return (0 = no limit, default 0)" } required: [] outputs_schema: { properties: {} } - id: test_connection name: feed-cloudflare-ips-test-connection description: "Verify the Cloudflare IPs feed is reachable (used by the Test button)." risk: read inputs_schema: properties: {} required: [] outputs_schema: { properties: {} }