679 lines · 12.9 KB · TypeScript
RawDownload
// CDN Provider Interfaceexport interface CDNProvider {	name: string;	displayName: string;	checkIp: (ip: string) => boolean;	warningMessage: string;} const isIPInCIDR = (ip: string, cidr: string): boolean => {	const [network, prefixLength] = cidr.split("/");	if (!network || !prefixLength) return false;	const prefix = Number.parseInt(prefixLength, 10); 	// Convert IP addresses to 32-bit integers	const ipToInt = (ipStr: string): number => {		return (			ipStr				.split(".")				.reduce((acc, octet) => (acc << 8) + Number.parseInt(octet, 10), 0) >>>			0		);	}; 	const ipInt = ipToInt(ip);	const networkInt = ipToInt(network);	const mask = (0xffffffff << (32 - prefix)) >>> 0; 	return (ipInt & mask) === (networkInt & mask);}; // Cloudflare IP ranges// https://www.cloudflare.com/ips-v4const CLOUDFLARE_IP_RANGES = [	"173.245.48.0/20",	"103.21.244.0/22",	"103.22.200.0/22",	"103.31.4.0/22",	"141.101.64.0/18",	"108.162.192.0/18",	"190.93.240.0/20",	"188.114.96.0/20",	"197.234.240.0/22",	"198.41.128.0/17",	"162.158.0.0/15",	"104.16.0.0/13",	"104.24.0.0/14",	"172.64.0.0/13",	"131.0.72.0/22",]; // Fastly IP ranges// https://api.fastly.com/public-ip-listconst FASTLY_IP_RANGES = [	"23.235.32.0/20",	"43.249.72.0/22",	"103.244.50.0/24",	"103.245.222.0/23",	"103.245.224.0/24",	"104.156.80.0/20",	"140.248.64.0/18",	"140.248.128.0/17",	"146.75.0.0/17",	"151.101.0.0/16",	"157.52.64.0/18",	"167.82.0.0/17",	"167.82.128.0/20",	"167.82.160.0/20",	"167.82.224.0/20",	"172.111.64.0/18",	"185.31.16.0/22",	"199.27.72.0/21",	"199.232.0.0/16",]; // Bunny CDN IP addresses// https://bunnycdn.com/api/system/edgeserverlistconst BUNNY_CDN_IPS = new Set([	"89.187.188.227",	"89.187.188.228",	"139.180.134.196",	"89.187.162.249",	"89.187.162.242",	"185.102.217.65",	"185.93.1.243",	"156.146.40.49",	"185.59.220.199",	"185.59.220.198",	"195.181.166.158",	"185.180.12.68",	"138.199.24.209",	"138.199.24.211",	"79.127.216.111",	"79.127.216.112",	"89.187.169.47",	"138.199.24.218",	"185.40.106.117",	"200.25.45.4",	"200.25.57.5",	"193.162.131.1",	"200.25.11.8",	"200.25.53.5",	"200.25.13.98",	"41.242.2.18",	"200.25.62.5",	"200.25.38.69",	"200.25.42.70",	"200.25.36.166",	"194.242.11.186",	"94.20.154.22",	"185.93.1.244",	"143.244.49.177",	"138.199.46.66",	"138.199.37.227",	"138.199.37.231",	"138.199.37.230",	"138.199.37.229",	"138.199.46.69",	"138.199.46.68",	"138.199.46.67",	"185.93.1.246",	"138.199.37.232",	"195.181.163.196",	"107.182.163.162",	"195.181.163.195",	"84.17.46.53",	"212.102.40.114",	"84.17.46.54",	"138.199.40.58",	"143.244.38.134",	"143.244.38.136",	"185.152.64.17",	"84.17.59.115",	"89.187.165.194",	"138.199.15.193",	"37.19.216.130",	"185.93.1.247",	"185.93.3.244",	"143.244.49.179",	"143.244.49.180",	"138.199.9.104",	"185.152.66.243",	"143.244.49.178",	"169.150.221.147",	"200.25.18.73",	"84.17.63.178",	"200.25.32.131",	"37.19.207.34",	"37.19.207.38",	"192.189.65.146",	"143.244.45.177",	"185.93.1.249",	"185.93.1.250",	"169.150.215.115",	"209.177.87.197",	"156.146.56.162",	"156.146.56.161",	"185.93.2.246",	"185.93.2.245",	"212.102.40.113",	"185.93.2.244",	"143.244.50.82",	"143.244.50.83",	"156.146.56.163",	"129.227.217.178",	"129.227.217.179",	"200.25.69.94",	"200.25.16.103",	"102.67.138.155",	"156.146.43.65",	"195.181.163.203",	"195.181.163.202",	"156.146.56.169",	"156.146.56.170",	"156.146.56.166",	"156.146.56.171",	"169.150.207.210",	"156.146.56.167",	"143.244.50.84",	"143.244.50.85",	"143.244.50.86",	"143.244.50.87",	"156.146.56.168",	"169.150.207.211",	"212.102.50.59",	"146.185.248.15",	"143.244.50.90",	"143.244.50.91",	"143.244.50.88",	"143.244.50.209",	"143.244.50.213",	"143.244.50.214",	"143.244.49.183",	"143.244.50.89",	"143.244.50.210",	"143.244.50.211",	"143.244.50.212",	"5.42.206.66",	"94.46.27.186",	"169.150.207.213",	"169.150.207.214",	"169.150.207.215",	"169.150.207.212",	"169.150.219.114",	"169.150.202.210",	"169.150.242.193",	"185.93.1.251",	"169.150.207.216",	"169.150.207.217",	"169.150.238.19",	"102.219.126.20",	"156.59.66.182",	"122.10.251.130",	"185.24.11.18",	"138.199.36.7",	"138.199.36.8",	"138.199.36.9",	"138.199.36.10",	"138.199.36.11",	"138.199.37.225",	"84.17.46.49",	"84.17.37.217",	"169.150.225.35",	"169.150.225.36",	"169.150.225.37",	"169.150.225.38",	"169.150.225.39",	"169.150.225.34",	"169.150.236.97",	"169.150.236.98",	"169.150.236.99",	"169.150.236.100",	"93.189.63.149",	"143.244.56.49",	"143.244.56.50",	"143.244.56.51",	"169.150.247.40",	"169.150.247.33",	"169.150.247.34",	"169.150.247.35",	"169.150.247.36",	"169.150.247.37",	"169.150.247.38",	"169.150.247.39",	"38.142.94.218",	"87.249.137.52",	"38.104.169.186",	"66.181.163.74",	"84.17.38.227",	"84.17.38.228",	"84.17.38.229",	"84.17.38.230",	"84.17.38.231",	"84.17.38.232",	"169.150.225.41",	"169.150.225.42",	"169.150.249.162",	"169.150.249.163",	"169.150.249.164",	"169.150.249.165",	"169.150.249.166",	"169.150.249.167",	"169.150.249.168",	"169.150.249.169",	"185.131.64.124",	"103.112.0.22",	"37.236.234.2",	"169.150.252.209",	"212.102.46.118",	"192.169.120.162",	"93.180.217.214",	"37.19.203.178",	"107.155.47.146",	"193.201.190.174",	"156.59.95.218",	"129.227.186.154",	"195.238.127.98",	"200.25.22.6",	"204.16.244.92",	"200.25.70.101",	"139.180.209.182",	"103.108.231.41",	"103.108.229.5",	"103.216.220.9",	"169.150.225.40",	"212.102.50.49",	"212.102.50.52",	"109.61.83.242",	"109.61.83.243",	"212.102.50.50",	"169.150.225.43",	"45.125.247.57",	"103.235.199.170",	"128.1.35.170",	"38.32.110.58",	"169.150.220.228",	"169.150.220.229",	"169.150.220.230",	"169.150.220.231",	"138.199.4.179",	"207.211.214.145",	"109.61.86.193",	"103.214.20.95",	"178.175.134.51",	"138.199.4.178",	"172.255.253.140",	"185.24.11.19",	"109.61.83.244",	"109.61.83.245",	"84.17.38.250",	"84.17.38.251",	"146.59.69.202",	"146.70.80.218",	"200.25.80.74",	"79.127.213.214",	"79.127.213.215",	"79.127.213.216",	"79.127.213.217",	"195.69.140.112",	"109.61.83.247",	"109.61.83.246",	"185.93.2.248",	"109.61.83.249",	"109.61.83.250",	"109.61.83.251",	"46.199.75.115",	"141.164.35.160",	"109.61.83.97",	"109.61.83.98",	"109.61.83.99",	"129.227.179.18",	"185.180.14.250",	"152.89.160.26",	"5.189.202.62",	"98.98.242.142",	"156.59.92.126",	"84.17.59.117",	"79.127.216.66",	"79.127.204.113",	"79.127.237.132",	"169.150.236.104",	"169.150.236.105",	"37.27.135.61",	"158.51.123.205",	"156.146.43.70",	"156.146.43.71",	"156.146.43.72",	"180.149.231.175",	"185.93.2.243",	"143.244.56.52",	"143.244.56.53",	"143.244.56.54",	"143.244.56.55",	"143.244.56.56",	"143.244.56.57",	"143.244.56.58",	"144.76.236.44",	"88.198.57.50",	"78.46.69.199",	"136.243.16.49",	"138.201.86.122",	"136.243.42.90",	"88.99.95.221",	"178.63.2.112",	"5.9.98.45",	"136.243.42.10",	"169.150.236.106",	"169.150.236.107",	"185.93.1.242",	"185.93.1.245",	"143.244.60.193",	"195.181.163.194",	"79.127.188.193",	"79.127.188.196",	"79.127.188.194",	"79.127.188.195",	"104.166.144.106",	"156.59.126.78",	"185.135.85.154",	"38.54.5.37",	"38.54.3.92",	"185.165.170.74",	"207.121.75.132",	"207.121.80.12",	"207.121.80.172",	"207.121.90.60",	"138.199.24.219",	"185.93.2.251",	"138.199.46.65",	"154.95.86.76",	"5.9.99.73",	"78.46.92.118",	"144.76.65.213",	"78.46.156.89",	"88.198.9.155",	"144.76.79.22",	"37.19.207.37",	"208.83.234.224",	"79.127.237.104",	"79.127.243.187",	"45.156.248.73",	"79.127.134.225",	"79.127.134.226",	"79.127.134.227",	"79.127.134.228",	"79.127.134.229",	"79.127.134.230",	"79.127.134.231",	"79.127.134.130",	"79.127.134.131",	"79.127.134.132",	"79.127.134.234",	"79.127.134.235",	"185.111.111.154",	"185.111.111.155",	"185.111.111.156",	"185.111.111.157",	"185.111.111.158",	"185.111.111.159",	"185.111.111.160",	"141.227.142.242",	"94.128.254.166",	"195.206.229.69",	"200.25.86.90",	"148.113.190.161",	"46.151.194.242",	"46.151.194.243",	"212.102.40.120",	"213.170.143.100",	"154.93.86.71",	"143.244.60.196",	"143.244.60.197",	"143.244.60.195",	"79.127.134.129",	"79.127.134.133",	"152.233.22.97",	"152.233.22.98",	"152.233.22.100",	"152.233.22.99",	"152.233.22.101",	"152.233.22.102",	"152.233.22.103",	"116.202.155.146",	"116.202.193.178",	"116.202.224.168",	"188.40.126.227",	"88.99.26.189",	"168.119.39.238",	"88.99.26.97",	"168.119.12.188",	"176.9.139.55",	"142.132.223.79",	"142.132.223.80",	"142.132.223.81",	"46.4.116.17",	"46.4.119.81",	"167.235.114.167",	"159.69.68.171",	"178.63.21.52",	"46.4.120.152",	"116.202.80.247",	"5.9.71.119",	"195.201.11.156",	"78.46.123.17",	"46.4.113.143",	"136.243.2.236",	"195.201.81.217",	"148.251.42.123",	"94.130.68.122",	"88.198.22.103",	"46.4.102.90",	"157.90.180.205",	"162.55.135.11",	"195.201.109.59",	"148.251.41.244",	"116.202.235.16",	"128.140.70.141",	"78.46.74.86",	"78.46.74.85",	"178.63.41.242",	"178.63.41.247",	"178.63.41.234",	"104.237.53.74",	"104.237.54.154",	"104.237.51.58",	"64.185.235.90",	"64.185.234.114",	"64.185.232.194",	"64.185.232.178",	"64.185.232.82",	"103.60.15.169",	"103.60.15.170",	"103.60.15.171",	"103.60.15.172",	"103.60.15.173",	"103.60.15.162",	"103.60.15.163",	"103.60.15.164",	"103.60.15.165",	"103.60.15.166",	"103.60.15.167",

Lines 1–500 of 679.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t