cloudcheck 8.5.1__cp314-cp314-macosx_11_0_arm64.whl → 8.7.2__cp314-cp314-macosx_11_0_arm64.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.
- cloudcheck/cloudcheck.cpython-314-darwin.so +0 -0
- cloudcheck/helpers.py +5 -3
- cloudcheck/providers/akamai.py +2 -0
- cloudcheck/providers/alibaba.py +2 -0
- cloudcheck/providers/amazon.py +2 -0
- cloudcheck/providers/arvancloud.py +2 -0
- cloudcheck/providers/backblaze.py +2 -0
- cloudcheck/providers/baidu.py +17 -0
- cloudcheck/providers/base.py +69 -20
- cloudcheck/providers/cachefly.py +26 -0
- cloudcheck/providers/cdnetworks.py +14 -0
- cloudcheck/providers/cisco.py +2 -0
- cloudcheck/providers/cloudflare.py +2 -0
- cloudcheck/providers/cloudfront.py +2 -0
- cloudcheck/providers/ddosguard.py +14 -0
- cloudcheck/providers/dell.py +2 -0
- cloudcheck/providers/digitalocean.py +2 -0
- cloudcheck/providers/dod.py +31 -0
- cloudcheck/providers/fastly.py +2 -0
- cloudcheck/providers/fbi.py +18 -0
- cloudcheck/providers/gabia.py +12 -0
- cloudcheck/providers/gcore.py +27 -0
- cloudcheck/providers/github.py +2 -0
- cloudcheck/providers/gocache.py +17 -0
- cloudcheck/providers/google.py +2 -0
- cloudcheck/providers/heroku.py +2 -0
- cloudcheck/providers/hetzner.py +2 -0
- cloudcheck/providers/hostway.py +13 -0
- cloudcheck/providers/hpe.py +2 -0
- cloudcheck/providers/huawei.py +2 -0
- cloudcheck/providers/ibm.py +2 -0
- cloudcheck/providers/imperva.py +4 -1
- cloudcheck/providers/kamatera.py +2 -0
- cloudcheck/providers/kinx.py +14 -0
- cloudcheck/providers/ktcloud.py +14 -0
- cloudcheck/providers/leaseweb.py +32 -0
- cloudcheck/providers/lgtelecom.py +13 -0
- cloudcheck/providers/microsoft.py +2 -0
- cloudcheck/providers/microsoft365.py +33 -0
- cloudcheck/providers/navercloud.py +15 -0
- cloudcheck/providers/nhncloud.py +15 -0
- cloudcheck/providers/oracle.py +2 -0
- cloudcheck/providers/ovh.py +2 -0
- cloudcheck/providers/qrator.py +16 -0
- cloudcheck/providers/quiccloud.py +38 -0
- cloudcheck/providers/rackspace.py +2 -0
- cloudcheck/providers/ru_fso.py +13 -0
- cloudcheck/providers/salesforce.py +2 -0
- cloudcheck/providers/scaleway.py +2 -0
- cloudcheck/providers/skbroadband.py +13 -0
- cloudcheck/providers/stormwall.py +14 -0
- cloudcheck/providers/sucuri.py +14 -0
- cloudcheck/providers/tencent.py +2 -0
- cloudcheck/providers/uk_mod.py +16 -0
- cloudcheck/providers/wasabi.py +2 -0
- cloudcheck/providers/x4b.py +14 -0
- cloudcheck/providers/yandex.py +107 -0
- cloudcheck/providers/zoho.py +2 -0
- cloudcheck/providers/zscaler.py +25 -0
- cloudcheck-8.7.2.dist-info/METADATA +252 -0
- cloudcheck-8.7.2.dist-info/RECORD +64 -0
- {cloudcheck-8.5.1.dist-info → cloudcheck-8.7.2.dist-info}/WHEEL +1 -1
- cloudcheck-8.5.1.dist-info/METADATA +0 -157
- cloudcheck-8.5.1.dist-info/RECORD +0 -37
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Leaseweb(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Leaseweb"
|
|
8
|
+
long_description: str = "A global hosting and cloud infrastructure provider offering dedicated servers, cloud hosting, and CDN services."
|
|
9
|
+
# {"org_id": "LC-1193-ARIN", "org_name": "Leaseweb Canada Inc.", "country": "CA", "asns": [32613,32804,40699]}
|
|
10
|
+
# {"org_id": "LU-76-ARIN", "org_name": "Leaseweb USA, Inc.", "country": "US", "asns": [7203]}
|
|
11
|
+
# {"org_id": "LU-ARIN", "org_name": "Leaseweb USA, Inc.", "country": "US", "asns": [15003,19148,25847,27411,30633,393886,394380,395954,396190,396362]}
|
|
12
|
+
# {"org_id": "ORG-FB8-RIPE", "org_name": "LeaseWeb Network B.V.", "country": "NL", "asns": [16265,38930,60626,202134,203774,203928]}
|
|
13
|
+
# {"org_id": "ORG-LAPL4-AP-APNIC", "org_name": "LEASEWEB AUSTRALIA PTY LIMITED", "country": "AU", "asns": [136988]}
|
|
14
|
+
# {"org_id": "ORG-LAPP1-AP-APNIC", "org_name": "LEASEWEB SINGAPORE PTE. LTD.", "country": "SG", "asns": [59253]}
|
|
15
|
+
# {"org_id": "ORG-LHKL5-AP-APNIC", "org_name": "LEASEWEB HONG KONG LIMITED", "country": "HK", "asns": [133752]}
|
|
16
|
+
# {"org_id": "ORG-LJK1-AP-APNIC", "org_name": "Leaseweb Japan K.K.", "country": "JP", "asns": [134351]}
|
|
17
|
+
# {"org_id": "ORG-LUL9-RIPE", "org_name": "Leaseweb UK Limited", "country": "GB", "asns": [205544]}
|
|
18
|
+
# {"org_id": "ORG-NA8-RIPE", "org_name": "Leaseweb Deutschland GmbH", "country": "DE", "asns": [28753]}
|
|
19
|
+
# {"org_id": "ORG-OB3-RIPE", "org_name": "LeaseWeb Netherlands B.V.", "country": "NL", "asns": [60781]}
|
|
20
|
+
org_ids: List[str] = [
|
|
21
|
+
"LC-1193-ARIN",
|
|
22
|
+
"LU-76-ARIN",
|
|
23
|
+
"LU-ARIN",
|
|
24
|
+
"ORG-FB8-RIPE",
|
|
25
|
+
"ORG-LAPL4-AP-APNIC",
|
|
26
|
+
"ORG-LAPP1-AP-APNIC",
|
|
27
|
+
"ORG-LHKL5-AP-APNIC",
|
|
28
|
+
"ORG-LJK1-AP-APNIC",
|
|
29
|
+
"ORG-LUL9-RIPE",
|
|
30
|
+
"ORG-NA8-RIPE",
|
|
31
|
+
"ORG-OB3-RIPE",
|
|
32
|
+
]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Lgtelecom(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cdn"]
|
|
7
|
+
short_description: str = "LG U+ (LG유플러스)"
|
|
8
|
+
long_description: str = "A Korean telecommunications company offering CDN services."
|
|
9
|
+
# {"org_id": "@aut-17853-APNIC", "org_name": null, "country": null, "asns": [17853]}
|
|
10
|
+
# {"asn":17853,"asn_name":"LGTELECOM-AS-KR","org_id":"@aut-17853-APNIC"}
|
|
11
|
+
org_ids: List[str] = [
|
|
12
|
+
"@aut-17853-APNIC",
|
|
13
|
+
]
|
|
@@ -5,6 +5,8 @@ from typing import List, Dict
|
|
|
5
5
|
class Microsoft(BaseProvider):
|
|
6
6
|
v2fly_company: str = "microsoft"
|
|
7
7
|
tags: List[str] = ["cloud"]
|
|
8
|
+
short_description: str = "Microsoft"
|
|
9
|
+
long_description: str = "A multinational technology corporation that develops, manufactures, licenses, supports and sells computer software, consumer electronics and personal computers. Known for products like Windows, Office, Azure cloud services, and Xbox."
|
|
8
10
|
# {"org_id": "MSFT-ARIN", "org_name": "Microsoft Corporation", "country": "US", "asns": [3598,5761,6182,6194,6291,6584,8068,8069,8070,8071,8072,8073,8074,8075,12076,13399,13811,14719,14783,17144,17345,20046,22692,23468,25796,26222,30135,30520,30575,31792,32476,36006,40066,46182,54396,63245,63314,395496,395524,395851,396463,397096,397466,397996,398575,398656,398657,398658,398659,398660,398661,398961,400572,400573,400574,400575,400576,400577,400578,400579,400580,400581,400582,400884]}
|
|
9
11
|
# {"org_id": "ORG-MA42-RIPE", "org_name": "Microsoft Limited", "country": "GB", "asns": [35106]}
|
|
10
12
|
# {"org_id": "ORG-MDMG3-RIPE", "org_name": "Microsoft Deutschland MCIO GmbH", "country": "DE", "asns": [200517]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Microsoft365(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Microsoft 365"
|
|
8
|
+
long_description: str = "A cloud-based productivity suite provided by Microsoft, including Office applications and cloud services."
|
|
9
|
+
|
|
10
|
+
_ips_url = "https://endpoints.office.com/endpoints/worldwide?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7"
|
|
11
|
+
|
|
12
|
+
def fetch_cidrs(self):
|
|
13
|
+
response = self.request(self._ips_url)
|
|
14
|
+
ranges = set()
|
|
15
|
+
if getattr(response, "status_code", 0) == 200:
|
|
16
|
+
response_json = response.json()
|
|
17
|
+
if isinstance(response_json, list):
|
|
18
|
+
for item in response_json:
|
|
19
|
+
if isinstance(item, dict):
|
|
20
|
+
ranges.update(item.get("ips", []))
|
|
21
|
+
return list(ranges)
|
|
22
|
+
|
|
23
|
+
def fetch_domains(self):
|
|
24
|
+
response = self.request(self._ips_url)
|
|
25
|
+
domains = set()
|
|
26
|
+
if getattr(response, "status_code", 0) == 200:
|
|
27
|
+
response_json = response.json()
|
|
28
|
+
if isinstance(response_json, list):
|
|
29
|
+
for item in response_json:
|
|
30
|
+
if isinstance(item, dict):
|
|
31
|
+
for domain in item.get("urls", []):
|
|
32
|
+
domains.add(domain.strip("*."))
|
|
33
|
+
return list(domains)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Navercloud(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Naver Cloud Platform (네이버 클라우드 플랫폼)"
|
|
8
|
+
long_description: str = (
|
|
9
|
+
"A Korean cloud computing platform provided by Naver Corporation."
|
|
10
|
+
)
|
|
11
|
+
# "org_id": "@aut-23576-APNIC", "org_name": null, "country": null, "asns": [23576,23982]}
|
|
12
|
+
# {"asn":23576,"asn_name":"nhn-AS-KR","org_id":"@aut-23576-APNIC"}
|
|
13
|
+
org_ids: List[str] = [
|
|
14
|
+
"@aut-23576-APNIC",
|
|
15
|
+
]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Nhncloud(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "NHN Cloud (NHN클라우드)"
|
|
8
|
+
long_description: str = (
|
|
9
|
+
"A Korean cloud computing platform provided by NHN Corporation."
|
|
10
|
+
)
|
|
11
|
+
# {"org_id": "@aut-10038-APNIC", "org_name": null, "country": null, "asns": [10038,45974,152291]}
|
|
12
|
+
# {"asn":45974,"asn_name":"NHN-AS-KR","org_id":"@aut-10038-APNIC"}
|
|
13
|
+
org_ids: List[str] = [
|
|
14
|
+
"@aut-10038-APNIC",
|
|
15
|
+
]
|
cloudcheck/providers/oracle.py
CHANGED
|
@@ -5,6 +5,8 @@ from typing import List
|
|
|
5
5
|
class Oracle(BaseProvider):
|
|
6
6
|
v2fly_company: str = "oracle"
|
|
7
7
|
tags: List[str] = ["cloud"]
|
|
8
|
+
short_description: str = "Oracle"
|
|
9
|
+
long_description: str = "A multinational technology corporation that provides database software, cloud engineering systems, and enterprise software products."
|
|
8
10
|
# {"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
11
|
# {"org_id": "ORACLE-4-Z-ARIN", "org_name": "Oracle Corporation", "country": "US", "asns": [792,793,794,1215,1216,1217,1218,1219]}
|
|
10
12
|
# {"org_id": "ORG-OAI2-RIPE", "org_name": "Oracle America Inc.", "country": "US", "asns": [34135]}
|
cloudcheck/providers/ovh.py
CHANGED
|
@@ -4,6 +4,8 @@ from typing import List
|
|
|
4
4
|
|
|
5
5
|
class OVH(BaseProvider):
|
|
6
6
|
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "OVHcloud"
|
|
8
|
+
long_description: str = "A French cloud computing company that provides web hosting, dedicated servers, and cloud infrastructure services."
|
|
7
9
|
# {"org_id": "ORG-OS3-RIPE", "org_name": "OVH SAS", "country": "FR", "asns": [16276,35540]}
|
|
8
10
|
org_ids: List[str] = [
|
|
9
11
|
"ORG-OS3-RIPE",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Qrator(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cdn"]
|
|
7
|
+
short_description: str = "Qrator"
|
|
8
|
+
long_description: str = (
|
|
9
|
+
"A DDoS protection and content delivery network service provider."
|
|
10
|
+
)
|
|
11
|
+
# {"org_id": "ORG-QLCS1-RIPE", "org_name": "Qrator Labs CZ s.r.o.", "country": "CZ", "asns": [200449,209671]}
|
|
12
|
+
# {"org_id": "ORG-QTF1-RIPE", "org_name": "Qrator Technologies FZ-LLC", "country": "AE", "asns": [211112]}
|
|
13
|
+
org_ids: List[str] = [
|
|
14
|
+
"ORG-QLCS1-RIPE",
|
|
15
|
+
"ORG-QTF1-RIPE",
|
|
16
|
+
]
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import ipaddress
|
|
2
|
+
from cloudcheck.providers.base import BaseProvider
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Quiccloud(BaseProvider):
|
|
7
|
+
v2fly_company: str = ""
|
|
8
|
+
tags: List[str] = ["cdn"]
|
|
9
|
+
short_description: str = "Quic.cloud"
|
|
10
|
+
long_description: str = (
|
|
11
|
+
"A content delivery network and edge computing platform providing CDN services."
|
|
12
|
+
)
|
|
13
|
+
# {"org_id": "QC-329-ARIN", "org_name": "QUIC CLOUD INC.", "country": "US", "asns": [26116]}
|
|
14
|
+
org_ids: List[str] = [
|
|
15
|
+
"QC-329-ARIN",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
_ips_url = "https://quic.cloud/ips"
|
|
19
|
+
|
|
20
|
+
def fetch_cidrs(self):
|
|
21
|
+
response = self.request(self._ips_url)
|
|
22
|
+
ranges = set()
|
|
23
|
+
if getattr(response, "status_code", 0) == 200:
|
|
24
|
+
text = response.text
|
|
25
|
+
# Strip HTML tags
|
|
26
|
+
text = (
|
|
27
|
+
text.replace("<br>", " ").replace("<br/>", " ").replace("<br />", " ")
|
|
28
|
+
)
|
|
29
|
+
# Split by whitespace
|
|
30
|
+
for token in text.split():
|
|
31
|
+
token = token.strip()
|
|
32
|
+
if token:
|
|
33
|
+
try:
|
|
34
|
+
ipaddress.ip_network(token, strict=False)
|
|
35
|
+
ranges.add(token)
|
|
36
|
+
except ValueError:
|
|
37
|
+
pass
|
|
38
|
+
return list(ranges)
|
|
@@ -4,6 +4,8 @@ from typing import List
|
|
|
4
4
|
|
|
5
5
|
class Rackspace(BaseProvider):
|
|
6
6
|
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Rackspace"
|
|
8
|
+
long_description: str = "A managed cloud computing company that provides hosting, cloud services, and managed infrastructure solutions."
|
|
7
9
|
# {"org_id": "ORG-BEN1-RIPE", "org_name": "D-hosting die Rackspace & Connectivity GmbH", "country": "DE", "asns": [44716]}
|
|
8
10
|
# {"org_id": "ORG-RA33-RIPE", "org_name": "Rackspace Ltd.", "country": "GB", "asns": [15395,39921,44009]}
|
|
9
11
|
# {"org_id": "ORG-RGG2-RIPE", "org_name": "Rackspace Germany GmbH", "country": "DE", "asns": [213735,213740]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class RUFSO(BaseProvider):
|
|
6
|
+
"""Russian Federal Security Service"""
|
|
7
|
+
|
|
8
|
+
tags: List[str] = ["gov"]
|
|
9
|
+
short_description: str = "Russian Federal Security Service"
|
|
10
|
+
long_description: str = "A Russian federal executive body responsible for counterintelligence, internal and border security, counterterrorism, and surveillance."
|
|
11
|
+
org_ids: List[str] = [
|
|
12
|
+
"ORG-TFGS1-RIPE",
|
|
13
|
+
]
|
|
@@ -5,6 +5,8 @@ from typing import List
|
|
|
5
5
|
class Salesforce(BaseProvider):
|
|
6
6
|
v2fly_company: str = "salesforce"
|
|
7
7
|
tags: List[str] = ["cloud"]
|
|
8
|
+
short_description: str = "Salesforce"
|
|
9
|
+
long_description: str = "A cloud-based software company that provides customer relationship management services and enterprise cloud computing solutions."
|
|
8
10
|
# {"org_id": "ORG-SI12-AP-APNIC", "org_name": "SalesForce.com, Inc.", "country": "US", "asns": [45422,133869,133942]}
|
|
9
11
|
# {"org_id": "SALES-44-ARIN", "org_name": "Salesforce, Inc.", "country": "US", "asns": [393517,396417]}
|
|
10
12
|
# {"org_id": "SALESF-3-ARIN", "org_name": "Salesforce.com, Inc.", "country": "US", "asns": [14340,22606,32542,32870,394808]}
|
cloudcheck/providers/scaleway.py
CHANGED
|
@@ -4,6 +4,8 @@ from typing import List
|
|
|
4
4
|
|
|
5
5
|
class Scaleway(BaseProvider):
|
|
6
6
|
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Scaleway"
|
|
8
|
+
long_description: str = "A French cloud computing company that provides virtual private servers, bare metal servers, and cloud infrastructure services."
|
|
7
9
|
# {"org_id": "ORG-TT1-RIPE", "org_name": "SCALEWAY S.A.S.", "country": "FR", "asns": [12876,29447,202023]}
|
|
8
10
|
# {"org_id": "SUC-48-ARIN", "org_name": "SCALEWAY US CORPORATION", "country": "US", "asns": [54265]}
|
|
9
11
|
org_ids: List[str] = [
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Skbroadband(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cdn"]
|
|
7
|
+
short_description: str = "SK Broadband (SK브로드밴드)"
|
|
8
|
+
long_description: str = "A Korean telecommunications company offering CDN services."
|
|
9
|
+
# {"org_id": "@aut-10049-APNIC", "org_name": null, "country": null, "asns": [9705,10049]}
|
|
10
|
+
# {"asn":10049,"asn_name":"SKNET-AS","country":null,"org":null,"org_id":"@aut-10049-APNIC"}
|
|
11
|
+
org_ids: List[str] = [
|
|
12
|
+
"@aut-10049-APNIC",
|
|
13
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Stormwall(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cdn"]
|
|
7
|
+
short_description: str = "StormWall"
|
|
8
|
+
long_description: str = (
|
|
9
|
+
"A DDoS protection and web application firewall service provider."
|
|
10
|
+
)
|
|
11
|
+
# {"org_id": "ORG-SS933-RIPE", "org_name": "StormWall s.r.o.", "country": "SK", "asns": [51558,59796]}
|
|
12
|
+
org_ids: List[str] = [
|
|
13
|
+
"ORG-SS933-RIPE",
|
|
14
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Sucuri(BaseProvider):
|
|
6
|
+
tags: List[str] = ["waf"]
|
|
7
|
+
short_description: str = "Sucuri"
|
|
8
|
+
long_description: str = (
|
|
9
|
+
"A website security and web application firewall service provider."
|
|
10
|
+
)
|
|
11
|
+
# {"org_id": "SUCUR-2-ARIN", "org_name": "Sucuri", "country": "US", "asns": [30148]}
|
|
12
|
+
org_ids: List[str] = [
|
|
13
|
+
"SUCUR-2-ARIN",
|
|
14
|
+
]
|
cloudcheck/providers/tencent.py
CHANGED
|
@@ -5,6 +5,8 @@ from typing import List
|
|
|
5
5
|
class Tencent(BaseProvider):
|
|
6
6
|
v2fly_company: str = "tencent"
|
|
7
7
|
tags: List[str] = ["cloud"]
|
|
8
|
+
short_description: str = "Tencent Cloud (腾讯云)"
|
|
9
|
+
long_description: str = "A Chinese cloud computing service provider and subsidiary of Tencent, offering cloud infrastructure and platform services."
|
|
8
10
|
# {"org_id": "ORG-STCS1-AP-APNIC", "org_name": "Shenzhen Tencent Computer Systems Company Limited", "country": "CN", "asns": [132203,132591]}
|
|
9
11
|
# {"org_id": "ORG-TCCC1-AP-APNIC", "org_name": "Tencent Cloud Computing (Beijing) Co., Ltd", "country": "CN", "asns": [133478]}
|
|
10
12
|
# {"org_id": "ORG-TCL14-AP-APNIC", "org_name": "Tencent (Thailand) Company Limited", "country": "TH", "asns": [137876]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class UKMoD(BaseProvider):
|
|
6
|
+
"""United Kingdom Ministry of Defense"""
|
|
7
|
+
|
|
8
|
+
tags: List[str] = ["gov"]
|
|
9
|
+
short_description: str = "United Kingdom Ministry of Defence"
|
|
10
|
+
long_description: str = "A U.K. government department responsible for implementing the defence policy of the United Kingdom and managing the British Armed Forces."
|
|
11
|
+
org_ids: List[str] = [
|
|
12
|
+
"ORG-DMOD1-RIPE",
|
|
13
|
+
]
|
|
14
|
+
domains: List[str] = [
|
|
15
|
+
"gov.uk",
|
|
16
|
+
]
|
cloudcheck/providers/wasabi.py
CHANGED
|
@@ -4,6 +4,8 @@ from typing import List
|
|
|
4
4
|
|
|
5
5
|
class Wasabi(BaseProvider):
|
|
6
6
|
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Wasabi"
|
|
8
|
+
long_description: str = "A cloud storage provider offering hot cloud storage services with high performance and low cost."
|
|
7
9
|
# {"org_id": "BLUEA-2-ARIN", "org_name": "Wasabi Technologies, Inc.", "country": "US", "asns": [395717]}
|
|
8
10
|
# {"org_id": "ORG-WTI2-AP-APNIC", "org_name": "Wasabi Technologies Inc.", "country": "US", "asns": [140642]}
|
|
9
11
|
org_ids: List[str] = [
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class X4b(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cdn"]
|
|
7
|
+
short_description: str = "X4B"
|
|
8
|
+
long_description: str = (
|
|
9
|
+
"A DDoS protection and content delivery network service provider."
|
|
10
|
+
)
|
|
11
|
+
# {"org_id": "ORG-XA1-AP-APNIC", "org_name": "X4B", "country": "AU", "asns": [136165]}
|
|
12
|
+
org_ids: List[str] = [
|
|
13
|
+
"ORG-XA1-AP-APNIC",
|
|
14
|
+
]
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Yandex(BaseProvider):
|
|
6
|
+
v2fly_company: str = "yandex"
|
|
7
|
+
short_description: str = "Yandex Cloud"
|
|
8
|
+
long_description: str = "Russian cloud computing and internet services provider, offering infrastructure, storage, and various digital services."
|
|
9
|
+
# {
|
|
10
|
+
# "org_id": "ORG-YA1-RIPE",
|
|
11
|
+
# "org_name": "YANDEX LLC",
|
|
12
|
+
# "country": "RU",
|
|
13
|
+
# "asns": [
|
|
14
|
+
# {
|
|
15
|
+
# "asn": 13238,
|
|
16
|
+
# "name": "YANDEX"
|
|
17
|
+
# },
|
|
18
|
+
# {
|
|
19
|
+
# "asn": 44534,
|
|
20
|
+
# "name": "yandex-office"
|
|
21
|
+
# },
|
|
22
|
+
# {
|
|
23
|
+
# "asn": 215109,
|
|
24
|
+
# "name": "YANDEX-COM"
|
|
25
|
+
# }
|
|
26
|
+
# ],
|
|
27
|
+
# "emails": [
|
|
28
|
+
# "gbragin@yandex-team.ru",
|
|
29
|
+
# "noc@yandex.net"
|
|
30
|
+
# ]
|
|
31
|
+
# },
|
|
32
|
+
# {
|
|
33
|
+
# "org_id": "ORG-YATR1-RIPE",
|
|
34
|
+
# "org_name": "Buyuk Reklam Cozumleri LLC",
|
|
35
|
+
# "country": "TR",
|
|
36
|
+
# "asns": [
|
|
37
|
+
# {
|
|
38
|
+
# "asn": 212066,
|
|
39
|
+
# "name": "YANDEX-COM-TR"
|
|
40
|
+
# }
|
|
41
|
+
# ]
|
|
42
|
+
# },
|
|
43
|
+
# {
|
|
44
|
+
# "org_id": "ORG-YCTL2-RIPE",
|
|
45
|
+
# "org_name": "Yandex.Telecom LLC",
|
|
46
|
+
# "country": "RU",
|
|
47
|
+
# "asns": [
|
|
48
|
+
# {
|
|
49
|
+
# "asn": 202611,
|
|
50
|
+
# "name": "YCTL"
|
|
51
|
+
# },
|
|
52
|
+
# {
|
|
53
|
+
# "asn": 213952,
|
|
54
|
+
# "name": "YACLOUDII"
|
|
55
|
+
# }
|
|
56
|
+
# ]
|
|
57
|
+
# },
|
|
58
|
+
# {
|
|
59
|
+
# "org_id": "ORG-YIJL1-RIPE",
|
|
60
|
+
# "org_name": "Y. Izdeu men Jarnama LLP",
|
|
61
|
+
# "country": "KZ",
|
|
62
|
+
# "asns": [
|
|
63
|
+
# {
|
|
64
|
+
# "asn": 207304,
|
|
65
|
+
# "name": "YANDEX-KZ"
|
|
66
|
+
# }
|
|
67
|
+
# ]
|
|
68
|
+
# },
|
|
69
|
+
# {
|
|
70
|
+
# "org_id": "ORG-YL30-RIPE",
|
|
71
|
+
# "org_name": "Yandex.OFD LLC",
|
|
72
|
+
# "country": "RU",
|
|
73
|
+
# "asns": [
|
|
74
|
+
# {
|
|
75
|
+
# "asn": 207207,
|
|
76
|
+
# "name": "YL30"
|
|
77
|
+
# }
|
|
78
|
+
# ]
|
|
79
|
+
# },
|
|
80
|
+
# {
|
|
81
|
+
# "org_id": "ORG-YL62-RIPE",
|
|
82
|
+
# "org_name": "Yandex.Cloud LLC",
|
|
83
|
+
# "country": "RU",
|
|
84
|
+
# "asns": [
|
|
85
|
+
# {
|
|
86
|
+
# "asn": 200350,
|
|
87
|
+
# "name": "YandexCloud"
|
|
88
|
+
# },
|
|
89
|
+
# {
|
|
90
|
+
# "asn": 210656,
|
|
91
|
+
# "name": "YACLOUDBMS"
|
|
92
|
+
# },
|
|
93
|
+
# {
|
|
94
|
+
# "asn": 215013,
|
|
95
|
+
# "name": "YACLOUDCDN"
|
|
96
|
+
# }
|
|
97
|
+
# ]
|
|
98
|
+
# }
|
|
99
|
+
org_ids: List[str] = [
|
|
100
|
+
"ORG-YA1-RIPE", # YANDEX LLC, RU
|
|
101
|
+
"ORG-YATR1-RIPE", # Buyuk Reklam Cozumleri LLC (ASN: 212066, YANDEX-COM-TR)
|
|
102
|
+
"ORG-YCTL2-RIPE", # Yandex.Telecom LLC, RU
|
|
103
|
+
"ORG-YIJL1-RIPE", # Y. Izdeu men Jarnama LLP, KZ (ASN: 207304, YANDEX-KZ)
|
|
104
|
+
"ORG-YL30-RIPE", # Yandex.OFD LLC, RU
|
|
105
|
+
"ORG-YL62-RIPE", # Yandex.Cloud LLC, RU
|
|
106
|
+
]
|
|
107
|
+
tags: List[str] = ["cloud"]
|
cloudcheck/providers/zoho.py
CHANGED
|
@@ -4,6 +4,8 @@ from typing import List
|
|
|
4
4
|
|
|
5
5
|
class Zoho(BaseProvider):
|
|
6
6
|
v2fly_company: str = "zoho"
|
|
7
|
+
short_description: str = "Zoho"
|
|
8
|
+
long_description: str = "An Indian software company that provides cloud-based business software and productivity tools including CRM, email, and office suites."
|
|
7
9
|
# {"org_id": "ORG-ZCB1-RIPE", "org_name": "ZOHO Corporation B.V", "country": "NL", "asns": [205111]}
|
|
8
10
|
# {"org_id": "ORG-ZCPL1-AP-APNIC", "org_name": "ZOHO Corporation Private Limited", "country": "IN", "asns": [56201]}
|
|
9
11
|
# {"org_id": "ORG-ZCPL2-AP-APNIC", "org_name": "Zoho Corporation PTY LTD", "country": "AU", "asns": [139006]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from cloudcheck.providers.base import BaseProvider
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Zscaler(BaseProvider):
|
|
6
|
+
tags: List[str] = ["cloud"]
|
|
7
|
+
short_description: str = "Zscaler"
|
|
8
|
+
long_description: str = "A cloud security company providing secure internet access, cloud security, and zero trust network access services."
|
|
9
|
+
|
|
10
|
+
_ips_url = "https://api.config.zscaler.com/zscaler.net/cenr/json"
|
|
11
|
+
|
|
12
|
+
def fetch_cidrs(self):
|
|
13
|
+
response = self.request(self._ips_url)
|
|
14
|
+
ranges = set()
|
|
15
|
+
if getattr(response, "status_code", 0) == 200:
|
|
16
|
+
response_json = response.json()
|
|
17
|
+
if isinstance(response_json, dict):
|
|
18
|
+
for domain, data in response_json.items():
|
|
19
|
+
for continent, cities in data.items():
|
|
20
|
+
for city, ranges_list in cities.items():
|
|
21
|
+
for range_data in ranges_list:
|
|
22
|
+
range_str = range_data.get("range")
|
|
23
|
+
if range_str:
|
|
24
|
+
ranges.add(range_str)
|
|
25
|
+
return list(ranges)
|