34 lines
		
	
	
		
			792 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			34 lines
		
	
	
		
			792 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
#!/usr/bin/env python3
 | 
						|
 | 
						|
import json
 | 
						|
import os
 | 
						|
import requests
 | 
						|
import datetime
 | 
						|
import io
 | 
						|
 | 
						|
base_url="https://www.cloudflare.com/"
 | 
						|
uri_list=['ips-v4','ips-v6']
 | 
						|
dict=dict()
 | 
						|
dict['list']=list()
 | 
						|
def source_read_and_add(input_file):
 | 
						|
	output_list=list()
 | 
						|
 | 
						|
	for line in input_file.splitlines():
 | 
						|
		output_list.append(line)
 | 
						|
	return output_list
 | 
						|
 | 
						|
 | 
						|
for uri in uri_list:
 | 
						|
	url = base_url + uri
 | 
						|
	r=requests.get(url)
 | 
						|
	dict['list'] += source_read_and_add(r.text)
 | 
						|
 | 
						|
dict['type'] = "cidr"
 | 
						|
dict['matching_attributes']=["ip-dst","ip-src","domain|ip"]
 | 
						|
dict['name']="List of known Cloudflare IP ranges"
 | 
						|
dict['version']= int(datetime.date.today().strftime('%Y%m%d'))
 | 
						|
dict['description']="List of known Cloudflare IP ranges (https://www.cloudflare.com/ips/)"
 | 
						|
dict['list']=list(set(dict['list']))
 | 
						|
 | 
						|
print(json.dumps(dict))
 |