cloudcheck 8.4.0__cp312-cp312-musllinux_1_2_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,39 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Cisco(BaseProvider):
6
+ v2fly_company: str = "cisco"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "CISCO-25-ARIN", "org_name": "Cisco Systems Inc.", "country": "US", "asns": [25949]}
9
+ # {"org_id": "CISCO-32-ARIN", "org_name": "Cisco Systems, Inc.", "country": "US", "asns": [63096]}
10
+ # {"org_id": "CISCOR-ARIN", "org_name": "CIS Corporation", "country": "US", "asns": [3792]}
11
+ # {"org_id": "CISL-7-ARIN", "org_name": "Cisco Systems Ironport Division", "country": "US", "asns": [16417,30214,30215,30238,40427]}
12
+ # {"org_id": "CS-2787-ARIN", "org_name": "Cisco Systems Inc", "country": "US", "asns": [398699]}
13
+ # {"org_id": "CS-2821-ARIN", "org_name": "Cisco IoT", "country": "US", "asns": [36180,393544]}
14
+ # {"org_id": "CS-2825-ARIN", "org_name": "Cisco Systems, Inc.", "country": "US", "asns": [396922]}
15
+ # {"org_id": "CS-2831-ARIN", "org_name": "CISCO SYSTEMS, INC.", "country": "US", "asns": [109,2051,3943,22183,23460,26092,36519,40590,54140,399780]}
16
+ # {"org_id": "CS-691-ARIN", "org_name": "Cisco Systems Cloud Division", "country": "US", "asns": [1343,32644]}
17
+ # {"org_id": "CS-985-ARIN", "org_name": "Cisco Systems, Inc.", "country": "US", "asns": [55219]}
18
+ # {"org_id": "OPEND-2-ARIN", "org_name": "Cisco OpenDNS, LLC", "country": "US", "asns": [25605,30607,36692]}
19
+ # {"org_id": "ORG-CIL21-RIPE", "org_name": "Cisco International Limited", "country": "GB", "asns": [201799]}
20
+ # {"org_id": "ORG-CL586-RIPE", "org_name": "CISCOM Ltd", "country": "RU", "asns": [61035]}
21
+ # {"org_id": "ORG-CSNA1-RIPE", "org_name": "Cisco Systems Norway AS", "country": "NO", "asns": [58298]}
22
+ # {"org_id": "WEX-ARIN", "org_name": "Cisco Webex LLC", "country": "US", "asns": [6577,13445,16472,26152,53258,399937]}
23
+ org_ids: List[str] = [
24
+ "CISCO-25-ARIN",
25
+ "CISCO-32-ARIN",
26
+ "CISCOR-ARIN",
27
+ "CISL-7-ARIN",
28
+ "CS-2787-ARIN",
29
+ "CS-2821-ARIN",
30
+ "CS-2825-ARIN",
31
+ "CS-2831-ARIN",
32
+ "CS-691-ARIN",
33
+ "CS-985-ARIN",
34
+ "OPEND-2-ARIN",
35
+ "ORG-CIL21-RIPE",
36
+ "ORG-CL586-RIPE",
37
+ "ORG-CSNA1-RIPE",
38
+ "WEX-ARIN",
39
+ ]
@@ -0,0 +1,40 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List, Dict
3
+
4
+
5
+ class Cloudflare(BaseProvider):
6
+ v2fly_company: str = "cloudflare"
7
+ tags: List[str] = ["cdn"]
8
+ # {"org_id": "CLOUD14-ARIN", "org_name": "Cloudflare, Inc.", "country": "US", "asns": [13335,14789,394536,395747,400095]}
9
+ # {"org_id": "ORG-CHKL1-AP-APNIC", "org_name": "Cloudflare Hong Kong, LLC", "country": "US", "asns": [133877]}
10
+ # {"org_id": "ORG-CI4-AP-APNIC", "org_name": "Cloudflare, Inc.", "country": "US", "asns": [132892]}
11
+ # {"org_id": "ORG-CI40-RIPE", "org_name": "Cloudflare Inc", "country": "US", "asns": [202623,203898]}
12
+ # {"org_id": "ORG-CLL6-RIPE", "org_name": "Cloudflare London, LLC", "country": "US", "asns": [209242]}
13
+ # {"org_id": "ORG-CSL5-AP-APNIC", "org_name": "Cloudflare Sydney, LLC", "country": "US", "asns": [139242]}
14
+ org_ids: List[str] = [
15
+ "CLOUD14-ARIN",
16
+ "ORG-CHKL1-AP-APNIC",
17
+ "ORG-CI4-AP-APNIC",
18
+ "ORG-CI40-RIPE",
19
+ "ORG-CLL6-RIPE",
20
+ "ORG-CSL5-AP-APNIC",
21
+ ]
22
+ _bucket_name_regex = r"[a-z0-9_][a-z0-9-\.]{1,61}[a-z0-9]"
23
+ regexes: Dict[str, List[str]] = {
24
+ "STORAGE_BUCKET_NAME": [_bucket_name_regex],
25
+ "STORAGE_BUCKET_HOSTNAME": [
26
+ r"(" + _bucket_name_regex + r")\.(r2\.dev)",
27
+ r"(" + _bucket_name_regex + r")\.(r2\.cloudflarestorage\.com)",
28
+ ],
29
+ }
30
+
31
+ _ips_url = "https://api.cloudflare.com/client/v4/ips"
32
+
33
+ def fetch_cidrs(self):
34
+ response = self.request(self._ips_url)
35
+ ranges = set()
36
+ response_json = response.json()
37
+ for ip_type in ("ipv4_cidrs", "ipv6_cidrs"):
38
+ for ip_range in response_json.get("result", {}).get(ip_type, []):
39
+ ranges.add(ip_range)
40
+ return list(ranges)
@@ -0,0 +1,18 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Cloudfront(BaseProvider):
6
+ tags: List[str] = ["cdn"]
7
+
8
+ _ips_url = "https://d7uri8nf7uskq.cloudfront.net/tools/list-cloudfront-ips"
9
+
10
+ def fetch_cidrs(self):
11
+ response = self.request(self._ips_url)
12
+ ranges = set()
13
+ response_json = response.json()
14
+ if not isinstance(response_json, dict):
15
+ raise ValueError(f"Invalid response format: {type(response_json)}")
16
+ for r in response_json.values():
17
+ ranges.update(r)
18
+ return list(ranges)
@@ -0,0 +1,11 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Dell(BaseProvider):
6
+ v2fly_company: str = "dell"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "DCC-25-ARIN", "org_name": "Dell, Inc.", "country": "US", "asns": [3612,3613,3614,3615,7977,12257,14876,17187,23144,30614,46507,46977,53878,54701,64208]}
9
+ org_ids: List[str] = [
10
+ "DCC-25-ARIN",
11
+ ]
@@ -0,0 +1,30 @@
1
+ import csv
2
+ from cloudcheck.providers.base import BaseProvider
3
+ from typing import List, Dict
4
+
5
+
6
+ class DigitalOcean(BaseProvider):
7
+ v2fly_company: str = "digitalocean"
8
+ tags: List[str] = ["cloud"]
9
+ # {"org_id": "DO-13-ARIN", "org_name": "DigitalOcean, LLC", "country": "US", "asns": [14061,46652,62567,393406,394362]}
10
+ org_ids: List[str] = [
11
+ "DO-13-ARIN",
12
+ ]
13
+ _bucket_name_regex = r"[a-z0-9][a-z0-9-]{2,62}"
14
+ regexes: Dict[str, List[str]] = {
15
+ "STORAGE_BUCKET_NAME": [_bucket_name_regex],
16
+ "STORAGE_BUCKET_HOSTNAME": [
17
+ r"(" + _bucket_name_regex + r")\.([a-z]{3}[\d]{1}\.digitaloceanspaces\.com)"
18
+ ],
19
+ }
20
+
21
+ _ips_url = "https://www.digitalocean.com/geo/google.csv"
22
+
23
+ def fetch_cidrs(self):
24
+ response = self.request(self._ips_url)
25
+ do_ips = csv.DictReader(
26
+ response.content.decode("utf-8").splitlines(),
27
+ fieldnames=["range", "country", "region", "city", "postcode"],
28
+ )
29
+ ranges = set(i["range"] for i in do_ips)
30
+ return list(ranges)
@@ -0,0 +1,22 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Fastly(BaseProvider):
6
+ v2fly_company: str = "fastly"
7
+ tags: List[str] = ["cdn"]
8
+ # {"org_id": "SKYCA-3-ARIN", "org_name": "Fastly, Inc.", "country": "US", "asns": [895,54113,394192]}
9
+ org_ids: List[str] = [
10
+ "SKYCA-3-ARIN",
11
+ ]
12
+
13
+ _ips_url = "https://api.fastly.com/public-ip-list"
14
+
15
+ def fetch_cidrs(self):
16
+ response = self.request(self._ips_url)
17
+ j = response.json()
18
+ if j and isinstance(j, dict):
19
+ addresses = j.get("addresses", [])
20
+ if addresses and isinstance(addresses, list):
21
+ return list(set(addresses))
22
+ return []
@@ -0,0 +1,28 @@
1
+ import ipaddress
2
+ from cloudcheck.providers.base import BaseProvider
3
+ from typing import List
4
+
5
+
6
+ class GitHub(BaseProvider):
7
+ v2fly_company: str = "github"
8
+ tags: List[str] = ["cdn"]
9
+ # {"org_id": "GITHU-ARIN", "org_name": "GitHub, Inc.", "country": "US", "asns": [36459]}
10
+ org_ids: List[str] = [
11
+ "GITHU-ARIN",
12
+ ]
13
+
14
+ _ips_url = "https://api.github.com/meta"
15
+
16
+ def fetch_cidrs(self):
17
+ response = self.request(self._ips_url)
18
+ ranges = set()
19
+ response_json = response.json()
20
+ for k, v in response_json.items():
21
+ if isinstance(v, list):
22
+ for n in v:
23
+ try:
24
+ ipaddress.ip_network(n)
25
+ ranges.add(n)
26
+ except ValueError:
27
+ pass
28
+ return list(ranges)
@@ -0,0 +1,61 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List, Dict
3
+
4
+
5
+ class Google(BaseProvider):
6
+ v2fly_company: str = "google"
7
+ # domains = ["googleapis.cn", "googleapis.com", "cloud.google.com", "gcp.gvt2.com", "appspot.com", "firebaseio.com", "google"]
8
+ tags: List[str] = ["cloud"]
9
+ # {"org_id": "GAL-53-ARIN", "org_name": "Google Access LLC", "country": "US", "asns": [32381]}
10
+ # {"org_id": "GF-ARIN", "org_name": "Google Fiber Inc.", "country": "US", "asns": [6432,16591,19448]}
11
+ # {"org_id": "GL-946-ARIN", "org_name": "Google LLC", "country": "US", "asns": [33715]}
12
+ # {"org_id": "GOGL-ARIN", "org_name": "Google LLC", "country": "US", "asns": [13949,15169,19425,22577,22859,26684,36039,36040,40873]}
13
+ # {"org_id": "GOOGL-1-ARIN", "org_name": "Google LLC", "country": "US", "asns": [36383,36384,36385,36411,36520]}
14
+ # {"org_id": "GOOGL-2-ARIN", "org_name": "Google LLC", "country": "US", "asns": [16550,19527,26910,36561,55023,394089,395973,396178,396982]}
15
+ # {"org_id": "GOOGL-5-ARIN", "org_name": "Google LLC", "country": "US", "asns": [394639]}
16
+ # {"org_id": "GOOGL-9-ARIN", "org_name": "Google LLC", "country": "US", "asns": [394507]}
17
+ # {"org_id": "GOOGL-ARIN", "org_name": "Google, LLC", "country": "US", "asns": [36492]}
18
+ # {"org_id": "ORG-GAPP2-AP-APNIC", "org_name": "Google Asia Pacific Pte. Ltd.", "country": "SG", "asns": [139070,139190]}
19
+ # {"org_id": "ORG-GCEL1-RIPE", "org_name": "Google Cloud EMEA Ltd", "country": "IE", "asns": [209504,209519,209539,214609,214611]}
20
+ # {"org_id": "ORG-GIL4-RIPE", "org_name": "Google Ireland Limited", "country": "IE", "asns": [43515]}
21
+ # {"org_id": "ORG-GKL1-AFRINIC", "org_name": "Google Kenya Limited", "country": "KE", "asns": [36987]}
22
+ # {"org_id": "ORG-GSG10-RIPE", "org_name": "Google Switzerland GmbH", "country": "CH", "asns": [41264]}
23
+ # {"org_id": "ORG-GSPL5-AP-APNIC", "org_name": "Google Singapore Pte. Ltd.", "country": "SG", "asns": [45566]}
24
+ org_ids: List[str] = [
25
+ "GAL-53-ARIN",
26
+ "GF-ARIN",
27
+ "GL-946-ARIN",
28
+ "GOGL-ARIN",
29
+ "GOOGL-1-ARIN",
30
+ "GOOGL-2-ARIN",
31
+ "GOOGL-5-ARIN",
32
+ "GOOGL-9-ARIN",
33
+ "GOOGL-ARIN",
34
+ "ORG-GAPP2-AP-APNIC",
35
+ "ORG-GCEL1-RIPE",
36
+ "ORG-GIL4-RIPE",
37
+ "ORG-GKL1-AFRINIC",
38
+ "ORG-GSG10-RIPE",
39
+ "ORG-GSPL5-AP-APNIC",
40
+ ]
41
+ _bucket_name_regex = r"[a-z0-9][a-z0-9-_\.]{1,61}[a-z0-9]"
42
+ _firebase_bucket_name_regex = r"[a-z0-9][a-z0-9-\.]{1,61}[a-z0-9]"
43
+ regexes: Dict[str, List[str]] = {
44
+ "STORAGE_BUCKET_NAME": [_bucket_name_regex, _firebase_bucket_name_regex],
45
+ "STORAGE_BUCKET_HOSTNAME": [
46
+ r"(" + _firebase_bucket_name_regex + r")\.(firebaseio\.com)",
47
+ r"(" + _bucket_name_regex + r")\.(storage\.googleapis\.com)",
48
+ ],
49
+ }
50
+
51
+ _ips_url = "https://www.gstatic.com/ipranges/cloud.json"
52
+
53
+ def fetch_cidrs(self):
54
+ response = self.request(self._ips_url)
55
+ ranges = set()
56
+ for p in response.json()["prefixes"]:
57
+ try:
58
+ ranges.add(p["ipv4Prefix"])
59
+ except KeyError:
60
+ ranges.add(p["ipv6Prefix"])
61
+ return list(ranges)
@@ -0,0 +1,7 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Heroku(BaseProvider):
6
+ v2fly_company: str = "heroku"
7
+ tags: List[str] = ["cloud"]
@@ -0,0 +1,18 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List, Dict
3
+
4
+
5
+ class Hetzner(BaseProvider):
6
+ v2fly_company: str = "hetzner"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "ORG-HOA1-RIPE", "org_name": "Hetzner Online GmbH", "country": "DE", "asns": [24940,212317,213230,215859]}
9
+ org_ids: List[str] = [
10
+ "ORG-HOA1-RIPE",
11
+ ]
12
+ _bucket_name_regex = r"[a-z0-9][a-z0-9-_\.]{1,61}[a-z0-9]"
13
+ regexes: Dict[str, List[str]] = {
14
+ "STORAGE_BUCKET_NAME": [_bucket_name_regex],
15
+ "STORAGE_BUCKET_HOSTNAME": [
16
+ r"(" + _bucket_name_regex + r")\.(your-objectstorage\.com)"
17
+ ],
18
+ }
@@ -0,0 +1,12 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class HPE(BaseProvider):
6
+ # Hewlett Packard Enterprise Development, L.P.
7
+ v2fly_company: str = "hpe"
8
+ tags: List[str] = ["cloud"]
9
+ # {"org_id": "HPE-15-ARIN", "org_name": "HEWLETT PACKARD ENTERPRISE COMPANY", "country": "US", "asns": [157,1033,1034,13481,20096,22149,25867,27510,40617,395714,395992,396063,397363,397957,398199,399185,399610,400054,400624,400737,400763]}
10
+ org_ids: List[str] = [
11
+ "HPE-15-ARIN",
12
+ ]
@@ -0,0 +1,17 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Huawei(BaseProvider):
6
+ v2fly_company: str = "huawei"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "ORG-HIPL2-AP-APNIC", "org_name": "HUAWEI INTERNATIONAL PTE. LTD.", "country": "SG", "asns": [131444,136907,141180,149167,151610]}
9
+ # {"org_id": "ORG-HT57-RIPE", "org_name": "HUAWEI TECHNOLOGIES(UK)CO.,LTD", "country": "GB", "asns": [206798]}
10
+ # {"org_id": "ORG-HT61-RIPE", "org_name": "Huawei Tech(UAE)FZ-LLC", "country": "AE", "asns": [206204]}
11
+ # {"org_id": "ORG-HTB10-RIPE", "org_name": "Huawei Technologies (Netherlands) B.V.", "country": "NL", "asns": [200756]
12
+ org_ids: List[str] = [
13
+ "ORG-HIPL2-AP-APNIC",
14
+ "ORG-HT57-RIPE",
15
+ "ORG-HT61-RIPE",
16
+ "ORG-HTB10-RIPE",
17
+ ]
@@ -0,0 +1,57 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class IBM(BaseProvider):
6
+ v2fly_company: str = "ibm"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "AWDIC-ARIN", "org_name": "Advanced Workstations Division, IBM Corporation", "country": "US", "asns": [706]}
9
+ # {"org_id": "IAD-7-ARIN", "org_name": "IBM AS/400 Division", "country": "US", "asns": [10337]}
10
+ # {"org_id": "IBM-1-ARIN", "org_name": "IBM", "country": "US", "asns": [763,10676,12237,15293,17390,18703,19152,19604,19898,22722,23145,23257,26543,27477,27530,29834,393850,395473]}
11
+ # {"org_id": "IBM-1-Z-ARIN", "org_name": "IBM", "country": "US", "asns": [163,547,1747,1786,1956,1997,2538,3082,3383]}
12
+ # {"org_id": "IBM-43-ARIN", "org_name": "IBM", "country": "US", "asns": [2560]}
13
+ # {"org_id": "IBMC-14-ARIN", "org_name": "IBM Corporation", "country": "US", "asns": [19765]}
14
+ # {"org_id": "IBMC-24-ARIN", "org_name": "IBM Cloud", "country": "US", "asns": [13749,13884,21844,30315,36351,36420,46702,46703,46704]}
15
+ # {"org_id": "IBML-1-ARIN", "org_name": "ibml", "country": "US", "asns": [40847]}
16
+ # {"org_id": "ICNS-4-ARIN", "org_name": "IBM Canada Network Services Company", "country": "CA", "asns": [3059]}
17
+ # {"org_id": "ORG-ACL6-AP-APNIC", "org_name": "FIBMESH IN LIMITED", "country": "IN", "asns": [133082,149779]}
18
+ # {"org_id": "ORG-CIF2-RIPE", "org_name": "COMPAGNIE IBM FRANCE SAS", "country": "FR", "asns": [202213]}
19
+ # {"org_id": "ORG-IBBC1-RIPE", "org_name": "IBM BTO Business Consulting Services Sp. z o.o.", "country": "PL", "asns": [200138]}
20
+ # {"org_id": "ORG-IBMC1-RIPE", "org_name": "INTERNATIONAL BUSINESS MACHINES CORPORATION", "country": "US", "asns": [204764,209394]}
21
+ # {"org_id": "ORG-IBMO1-RIPE", "org_name": "International Business Machines of Belgium Ltd", "country": "BE", "asns": [15776]}
22
+ # {"org_id": "ORG-IBSI1-AP-APNIC", "org_name": "IBM Business Services, Inc", "country": "PH", "asns": [133377]}
23
+ # {"org_id": "ORG-IDG12-RIPE", "org_name": "IBM Deutschland GmbH", "country": "DE", "asns": [214585]}
24
+ # {"org_id": "ORG-IIAT1-RIPE", "org_name": "IBM Israel-Science and technology Ltd.", "country": "IL", "asns": [50995]}
25
+ # {"org_id": "ORG-INZL1-AP-APNIC", "org_name": "IBM New Zealand Limited", "country": "NZ", "asns": [24189]}
26
+ # {"org_id": "ORG-IR9-RIPE", "org_name": "IBM Romania SRL", "country": "RO", "asns": [61179]}
27
+ # {"org_id": "ORG-IRS1-RIPE", "org_name": "IBM Romania S.R.L.", "country": "RO", "asns": [43283]}
28
+ # {"org_id": "ORG-ISPL9-AP-APNIC", "org_name": "IBM Singapore Pte Ltd", "country": "SG", "asns": [10120,134667,135291,136468,138450]}
29
+ # {"org_id": "ORG-IUL5-RIPE", "org_name": "IBM United Kingdom Limited", "country": "GB", "asns": [203652]}
30
+ # {"org_id": "ORG-LS306-RIPE", "org_name": "LTD SibMediaFon", "country": "RU", "asns": [48507]}
31
+ # {"org_id": "ORG-SCG6-RIPE", "org_name": "IBM Deutschland GmbH", "country": "DE", "asns": [50524]}
32
+ org_ids: List[str] = [
33
+ "AWDIC-ARIN",
34
+ "IAD-7-ARIN",
35
+ "IBM-1-ARIN",
36
+ "IBM-1-Z-ARIN",
37
+ "IBM-43-ARIN",
38
+ "IBMC-14-ARIN",
39
+ "IBMC-24-ARIN",
40
+ "IBML-1-ARIN",
41
+ "ICNS-4-ARIN",
42
+ "ORG-ACL6-AP-APNIC",
43
+ "ORG-CIF2-RIPE",
44
+ "ORG-IBBC1-RIPE",
45
+ "ORG-IBMC1-RIPE",
46
+ "ORG-IBMO1-RIPE",
47
+ "ORG-IBSI1-AP-APNIC",
48
+ "ORG-IDG12-RIPE",
49
+ "ORG-IIAT1-RIPE",
50
+ "ORG-INZL1-AP-APNIC",
51
+ "ORG-IR9-RIPE",
52
+ "ORG-IRS1-RIPE",
53
+ "ORG-ISPL9-AP-APNIC",
54
+ "ORG-IUL5-RIPE",
55
+ "ORG-LS306-RIPE",
56
+ "ORG-SCG6-RIPE",
57
+ ]
@@ -0,0 +1,24 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Imperva(BaseProvider):
6
+ v2fly_company: str = ""
7
+ domains: List[str] = ["imperva.com"]
8
+ tags: List[str] = ["waf"]
9
+ # {"org_id": "IMPER-62-ARIN", "org_name": "IMPERVA INC", "country": "US", "asns": [62571]}
10
+ org_ids: List[str] = [
11
+ "IMPER-62-ARIN",
12
+ ]
13
+
14
+ _ips_url = "https://my.imperva.com/api/integration/v1/ips"
15
+
16
+ def fetch_cidrs(self):
17
+ response = self.request(self._ips_url)
18
+ ranges = set()
19
+ data = response.json()
20
+ for ipv4 in data.get("ipRanges", []):
21
+ ranges.add(ipv4)
22
+ for ipv6 in data.get("ipv6Ranges", []):
23
+ ranges.add(ipv6)
24
+ return list(ranges)
@@ -0,0 +1,17 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Kamatera(BaseProvider):
6
+ tags: List[str] = ["cloud"]
7
+ # {"org_id": "KAMAT-ARIN", "org_name": "Kamatera, Inc.", "country": "US", "asns": [36007,54913,396948,396949]}
8
+ # {"org_id": "ORG-KI35-RIPE", "org_name": "Kamatera Inc", "country": "US", "asns": [41436,204548,210329,215728]}
9
+ # {"org_id": "ORG-KI4-AP-APNIC", "org_name": "Kamatera, Inc.", "country": "US", "asns": [64022]}
10
+ org_ids: List[str] = [
11
+ "KAMAT-ARIN",
12
+ "ORG-KI35-RIPE",
13
+ "ORG-KI4-AP-APNIC",
14
+ ]
15
+ domains: List[str] = [
16
+ "kamatera.com",
17
+ ]
@@ -0,0 +1,31 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Oracle(BaseProvider):
6
+ v2fly_company: str = "oracle"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "ORACLE-4-ARIN", "org_name": "Oracle Corporation", "country": "US", "asns": [90,1630,3457,4184,4191,4192,6142,7160,10884,11049,11479,11506,11625,11887,13832,14506,14544,14919,15135,15179,18837,18916,20037,20054,22435,29976,31898,31925,33517,36282,40921,46403,46558,54253,63295,393218,393314,393676,393773,395010,395738,399966,401341]}
9
+ # {"org_id": "ORACLE-4-Z-ARIN", "org_name": "Oracle Corporation", "country": "US", "asns": [792,793,794,1215,1216,1217,1218,1219]}
10
+ # {"org_id": "ORG-OAI2-RIPE", "org_name": "Oracle America Inc.", "country": "US", "asns": [34135]}
11
+ # {"org_id": "ORG-OC1-AP-APNIC", "org_name": "Oracle Corporation", "country": "US", "asns": [23885,24185,38538,136025]}
12
+ # {"org_id": "ORG-OCMS1-AP-APNIC", "org_name": "ORACLE CUSTOMER MANAGEMENT SOLUTIONS PTY. LTD.", "country": "AU", "asns": [138207]}
13
+ # {"org_id": "ORG-OSA29-RIPE", "org_name": "Oracle Svenska AB", "country": "SE", "asns": [15519,39467,43894,43898,52019,57748,60285,200705,200981,203267,206209]}
14
+ org_ids: List[str] = [
15
+ "ORACLE-4-ARIN",
16
+ "ORACLE-4-Z-ARIN",
17
+ "ORG-OAI2-RIPE",
18
+ "ORG-OC1-AP-APNIC",
19
+ "ORG-OCMS1-AP-APNIC",
20
+ "ORG-OSA29-RIPE",
21
+ ]
22
+
23
+ _ips_url = "https://docs.oracle.com/en-us/iaas/tools/public_ip_ranges.json"
24
+
25
+ def fetch_cidrs(self):
26
+ response = self.request(self._ips_url)
27
+ ranges = set()
28
+ for region in response.json()["regions"]:
29
+ for cidr in region["cidrs"]:
30
+ ranges.add(cidr["cidr"])
31
+ return list(ranges)
@@ -0,0 +1,15 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class OVH(BaseProvider):
6
+ tags: List[str] = ["cloud"]
7
+ # {"org_id": "ORG-OS3-RIPE", "org_name": "OVH SAS", "country": "FR", "asns": [16276,35540]}
8
+ org_ids: List[str] = [
9
+ "ORG-OS3-RIPE",
10
+ ]
11
+ domains: List[str] = [
12
+ "ovh",
13
+ "ovh.com",
14
+ "ovhcloud.com",
15
+ ]
@@ -0,0 +1,21 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Rackspace(BaseProvider):
6
+ tags: List[str] = ["cloud"]
7
+ # {"org_id": "ORG-BEN1-RIPE", "org_name": "D-hosting die Rackspace & Connectivity GmbH", "country": "DE", "asns": [44716]}
8
+ # {"org_id": "ORG-RA33-RIPE", "org_name": "Rackspace Ltd.", "country": "GB", "asns": [15395,39921,44009]}
9
+ # {"org_id": "ORG-RGG2-RIPE", "org_name": "Rackspace Germany GmbH", "country": "DE", "asns": [213735,213740]}
10
+ # {"org_id": "ORG-RHKL1-AP-APNIC", "org_name": "Rackspace.com Hong Kong Limited", "country": "HK", "asns": [45187,58683]}
11
+ # {"org_id": "RACKS-8-ARIN", "org_name": "Rackspace Hosting", "country": "US", "asns": [10532,12200,19994,22720,27357,33070,33439,36248,54636,397485]}
12
+ org_ids: List[str] = [
13
+ "ORG-BEN1-RIPE",
14
+ "ORG-RA33-RIPE",
15
+ "ORG-RGG2-RIPE",
16
+ "ORG-RHKL1-AP-APNIC",
17
+ "RACKS-8-ARIN",
18
+ ]
19
+ domains: List[str] = [
20
+ "rackspace.com",
21
+ ]
@@ -0,0 +1,15 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Salesforce(BaseProvider):
6
+ v2fly_company: str = "salesforce"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "ORG-SI12-AP-APNIC", "org_name": "SalesForce.com, Inc.", "country": "US", "asns": [45422,133869,133942]}
9
+ # {"org_id": "SALES-44-ARIN", "org_name": "Salesforce, Inc.", "country": "US", "asns": [393517,396417]}
10
+ # {"org_id": "SALESF-3-ARIN", "org_name": "Salesforce.com, Inc.", "country": "US", "asns": [14340,22606,32542,32870,394808]}
11
+ org_ids: List[str] = [
12
+ "ORG-SI12-AP-APNIC",
13
+ "SALES-44-ARIN",
14
+ "SALESF-3-ARIN",
15
+ ]
@@ -0,0 +1,15 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Scaleway(BaseProvider):
6
+ tags: List[str] = ["cloud"]
7
+ # {"org_id": "ORG-TT1-RIPE", "org_name": "SCALEWAY S.A.S.", "country": "FR", "asns": [12876,29447,202023]}
8
+ # {"org_id": "SUC-48-ARIN", "org_name": "SCALEWAY US CORPORATION", "country": "US", "asns": [54265]}
9
+ org_ids: List[str] = [
10
+ "ORG-TT1-RIPE",
11
+ "SUC-48-ARIN",
12
+ ]
13
+ domains: List[str] = [
14
+ "scaleway.com",
15
+ ]
@@ -0,0 +1,15 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Tencent(BaseProvider):
6
+ v2fly_company: str = "tencent"
7
+ tags: List[str] = ["cloud"]
8
+ # {"org_id": "ORG-STCS1-AP-APNIC", "org_name": "Shenzhen Tencent Computer Systems Company Limited", "country": "CN", "asns": [132203,132591]}
9
+ # {"org_id": "ORG-TCCC1-AP-APNIC", "org_name": "Tencent Cloud Computing (Beijing) Co., Ltd", "country": "CN", "asns": [133478]}
10
+ # {"org_id": "ORG-TCL14-AP-APNIC", "org_name": "Tencent (Thailand) Company Limited", "country": "TH", "asns": [137876]}
11
+ org_ids: List[str] = [
12
+ "ORG-STCS1-AP-APNIC",
13
+ "ORG-TCCC1-AP-APNIC",
14
+ "ORG-TCL14-AP-APNIC",
15
+ ]
@@ -0,0 +1,15 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Wasabi(BaseProvider):
6
+ tags: List[str] = ["cloud"]
7
+ # {"org_id": "BLUEA-2-ARIN", "org_name": "Wasabi Technologies, Inc.", "country": "US", "asns": [395717]}
8
+ # {"org_id": "ORG-WTI2-AP-APNIC", "org_name": "Wasabi Technologies Inc.", "country": "US", "asns": [140642]}
9
+ org_ids: List[str] = [
10
+ "BLUEA-2-ARIN",
11
+ "ORG-WTI2-AP-APNIC",
12
+ ]
13
+ domains: List[str] = [
14
+ "wasabi.com",
15
+ ]
@@ -0,0 +1,25 @@
1
+ from cloudcheck.providers.base import BaseProvider
2
+ from typing import List
3
+
4
+
5
+ class Zoho(BaseProvider):
6
+ v2fly_company: str = "zoho"
7
+ # {"org_id": "ORG-ZCB1-RIPE", "org_name": "ZOHO Corporation B.V", "country": "NL", "asns": [205111]}
8
+ # {"org_id": "ORG-ZCPL1-AP-APNIC", "org_name": "ZOHO Corporation Private Limited", "country": "IN", "asns": [56201]}
9
+ # {"org_id": "ORG-ZCPL2-AP-APNIC", "org_name": "Zoho Corporation PTY LTD", "country": "AU", "asns": [139006]}
10
+ # {"org_id": "ORG-ZCPL4-AP-APNIC", "org_name": "ZOHO CORPORATION PTE. LTD.", "country": "SG", "asns": [135102]}
11
+ # {"org_id": "ORG-ZJC1-AP-APNIC", "org_name": "Zoho Japan Corporation", "country": "JP", "asns": [141757]}
12
+ # {"org_id": "ORG-ZSTL1-RIPE", "org_name": "Zoho Software Trading LLC", "country": "AE", "asns": [214227]}
13
+ # {"org_id": "ZCC-22-ARIN", "org_name": "Zoho Canada Corporation", "country": "CA", "asns": [401636]}
14
+ # {"org_id": "ZOHOC-ARIN", "org_name": "ZOHO", "country": "US", "asns": [2639,397849,400780]}
15
+ tags: List[str] = ["cloud"]
16
+ org_ids: List[str] = [
17
+ "ORG-ZCB1-RIPE",
18
+ "ORG-ZCPL1-AP-APNIC",
19
+ "ORG-ZCPL2-AP-APNIC",
20
+ "ORG-ZCPL4-AP-APNIC",
21
+ "ORG-ZJC1-AP-APNIC",
22
+ "ORG-ZSTL1-RIPE",
23
+ "ZCC-22-ARIN",
24
+ "ZOHOC-ARIN",
25
+ ]