Spaces:
Runtime error
Runtime error
Merge branch 'main' of https://huggingface.co/spaces/Agents-MCP-Hackathon/TDAgentTools
Browse files- app.py +10 -0
- pyproject.toml +1 -0
- requirements-dev.txt +200 -0
- subdomains/subdomains.txt +999 -0
- tdagent/tools/get_domain_information.py +334 -0
- uv.lock +129 -127
app.py
CHANGED
@@ -2,6 +2,12 @@ from typing import NamedTuple
|
|
2 |
|
3 |
import gradio as gr
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
from tdagent.tools.get_url_content import gr_get_url_http_content
|
6 |
from tdagent.tools.internal_company_user_search import gr_internal_company
|
7 |
from tdagent.tools.lookup_company_cloud_account_information import (
|
@@ -33,6 +39,10 @@ TOOLS = (
|
|
33 |
# ToolInfo("Query WHOIS", gr_query_whois),
|
34 |
ToolInfo("Query RDAP", gr_query_rdap),
|
35 |
ToolInfo("Virus Total URL info", gr_virus_total_url_info),
|
|
|
|
|
|
|
|
|
36 |
## Fake tools
|
37 |
ToolInfo("Fake company directory", gr_internal_company),
|
38 |
ToolInfo(
|
|
|
2 |
|
3 |
import gradio as gr
|
4 |
|
5 |
+
from tdagent.tools.get_domain_information import (
|
6 |
+
dns_enumeration_tool,
|
7 |
+
extractor_of_ioc_from_threatfox_tool,
|
8 |
+
geo_location_tool,
|
9 |
+
scrap_subdomains_tool,
|
10 |
+
)
|
11 |
from tdagent.tools.get_url_content import gr_get_url_http_content
|
12 |
from tdagent.tools.internal_company_user_search import gr_internal_company
|
13 |
from tdagent.tools.lookup_company_cloud_account_information import (
|
|
|
39 |
# ToolInfo("Query WHOIS", gr_query_whois),
|
40 |
ToolInfo("Query RDAP", gr_query_rdap),
|
41 |
ToolInfo("Virus Total URL info", gr_virus_total_url_info),
|
42 |
+
ToolInfo("Get IP's Location", geo_location_tool),
|
43 |
+
ToolInfo("DNS Enumerator", dns_enumeration_tool),
|
44 |
+
ToolInfo("Subdomain Retriever", scrap_subdomains_tool),
|
45 |
+
ToolInfo("Extractor of IoCs", extractor_of_ioc_from_threatfox_tool),
|
46 |
## Fake tools
|
47 |
ToolInfo("Fake company directory", gr_internal_company),
|
48 |
ToolInfo(
|
pyproject.toml
CHANGED
@@ -16,6 +16,7 @@ dependencies = [
|
|
16 |
"attackcti>=0.5.4",
|
17 |
"black>=25.1.0",
|
18 |
"cachetools>=6.0.0",
|
|
|
19 |
"gradio[mcp]>=5.32.1",
|
20 |
"python-whois>=0.9.5",
|
21 |
"requests>=2.32.3",
|
|
|
16 |
"attackcti>=0.5.4",
|
17 |
"black>=25.1.0",
|
18 |
"cachetools>=6.0.0",
|
19 |
+
"dnspython>=2.7.0",
|
20 |
"gradio[mcp]>=5.32.1",
|
21 |
"python-whois>=0.9.5",
|
22 |
"requests>=2.32.3",
|
requirements-dev.txt
CHANGED
@@ -1,109 +1,309 @@
|
|
1 |
# This file was autogenerated by uv via the following command:
|
2 |
# uv export --format requirements-txt --no-hashes --group dev --group test -o requirements-dev.txt
|
3 |
aiofiles==24.1.0
|
|
|
|
|
|
|
4 |
aiohappyeyeballs==2.6.1
|
|
|
5 |
aiohttp==3.12.8
|
|
|
6 |
aiosignal==1.3.2
|
|
|
7 |
annotated-types==0.7.0
|
|
|
8 |
anyio==4.9.0
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
async-timeout==5.0.1 ; python_full_version < '3.11'
|
|
|
10 |
attrs==25.3.0
|
|
|
11 |
audioop-lts==0.2.1 ; python_full_version >= '3.13'
|
|
|
12 |
boolean-py==5.0
|
|
|
13 |
cachecontrol==0.14.3
|
|
|
14 |
cachetools==6.0.0
|
|
|
15 |
certifi==2025.4.26
|
|
|
|
|
|
|
|
|
16 |
cfgv==3.4.0
|
|
|
17 |
charset-normalizer==3.4.2
|
|
|
18 |
click==8.2.1 ; sys_platform != 'emscripten'
|
|
|
|
|
|
|
19 |
colorama==0.4.6 ; sys_platform == 'win32'
|
|
|
|
|
|
|
|
|
20 |
coverage==7.8.2
|
|
|
21 |
cyclonedx-python-lib==9.1.0
|
|
|
22 |
defusedxml==0.7.1
|
|
|
23 |
distlib==0.3.9
|
|
|
|
|
|
|
24 |
exceptiongroup==1.3.0 ; python_full_version < '3.11'
|
|
|
|
|
|
|
25 |
fastapi==0.115.12
|
|
|
26 |
ffmpy==0.6.0
|
|
|
27 |
filelock==3.18.0
|
|
|
|
|
|
|
|
|
28 |
frozenlist==1.6.2
|
|
|
|
|
|
|
29 |
fsspec==2025.5.1
|
|
|
|
|
|
|
30 |
gradio==5.32.1
|
|
|
31 |
gradio-client==1.10.2
|
|
|
32 |
groovy==0.1.2
|
|
|
33 |
h11==0.16.0
|
|
|
|
|
|
|
34 |
hf-xet==1.1.2 ; platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'
|
|
|
35 |
httpcore==1.0.9
|
|
|
36 |
httpx==0.28.1
|
|
|
|
|
|
|
|
|
|
|
37 |
httpx-sse==0.4.0
|
|
|
38 |
huggingface-hub==0.32.4
|
|
|
|
|
|
|
39 |
identify==2.6.12
|
|
|
40 |
idna==3.10
|
|
|
|
|
|
|
|
|
|
|
41 |
iniconfig==2.1.0
|
|
|
42 |
jinja2==3.1.6
|
|
|
43 |
license-expression==30.4.1
|
|
|
44 |
markdown-it-py==3.0.0
|
|
|
45 |
markupsafe==3.0.2
|
|
|
|
|
|
|
46 |
mcp==1.9.0
|
|
|
47 |
mdurl==0.1.2
|
|
|
48 |
msgpack==1.1.0
|
|
|
49 |
multidict==6.4.4
|
|
|
|
|
|
|
50 |
mypy==1.16.0
|
51 |
mypy-extensions==1.1.0
|
|
|
52 |
nodeenv==1.9.1
|
|
|
53 |
numpy==2.2.6
|
|
|
|
|
|
|
54 |
orjson==3.10.18
|
|
|
55 |
packageurl-python==0.16.0
|
|
|
56 |
packaging==25.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
pandas==2.2.3
|
|
|
58 |
pathspec==0.12.1
|
|
|
59 |
pillow==11.2.1
|
|
|
60 |
pip==25.1.1
|
|
|
61 |
pip-api==0.0.34
|
|
|
62 |
pip-audit==2.9.0
|
63 |
pip-requirements-parser==32.0.1
|
|
|
64 |
platformdirs==4.3.8
|
|
|
|
|
|
|
65 |
pluggy==1.6.0
|
|
|
66 |
pre-commit==3.8.0
|
67 |
propcache==0.3.1
|
|
|
|
|
|
|
68 |
py-serializable==2.0.0
|
|
|
69 |
pydantic==2.11.5
|
|
|
|
|
|
|
|
|
|
|
70 |
pydantic-core==2.33.2
|
|
|
71 |
pydantic-settings==2.9.1
|
|
|
72 |
pydub==0.25.1
|
|
|
73 |
pygments==2.19.1
|
|
|
74 |
pyparsing==3.2.3
|
|
|
75 |
pytest==7.4.4
|
|
|
|
|
|
|
76 |
pytest-cov==4.1.0
|
77 |
pytest-randomly==3.16.0
|
78 |
python-dateutil==2.9.0.post0
|
|
|
|
|
|
|
79 |
python-dotenv==1.1.0
|
|
|
80 |
python-multipart==0.0.20
|
|
|
|
|
|
|
81 |
python-whois==0.9.5
|
|
|
82 |
pytz==2025.2
|
|
|
83 |
pyyaml==6.0.2
|
|
|
|
|
|
|
|
|
84 |
requests==2.32.3
|
|
|
|
|
|
|
|
|
|
|
85 |
rich==14.0.0
|
|
|
|
|
|
|
86 |
ruff==0.11.12
|
|
|
87 |
safehttpx==0.1.6
|
|
|
88 |
semantic-version==2.10.0
|
|
|
89 |
shellingham==1.5.4 ; sys_platform != 'emscripten'
|
|
|
90 |
six==1.17.0
|
|
|
91 |
sniffio==1.3.1
|
|
|
92 |
sortedcontainers==2.4.0
|
|
|
93 |
sse-starlette==2.3.6
|
|
|
94 |
starlette==0.46.2
|
|
|
|
|
|
|
|
|
95 |
toml==0.10.2
|
|
|
96 |
tomli==2.2.1 ; python_full_version <= '3.11'
|
|
|
|
|
|
|
|
|
97 |
tomlkit==0.13.2
|
|
|
98 |
tqdm==4.67.1
|
|
|
99 |
typer==0.16.0 ; sys_platform != 'emscripten'
|
|
|
100 |
typing-extensions==4.14.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
typing-inspection==0.4.1
|
|
|
|
|
|
|
102 |
tzdata==2025.2
|
|
|
103 |
urllib3==2.4.0
|
|
|
|
|
|
|
104 |
uvicorn==0.34.3 ; sys_platform != 'emscripten'
|
|
|
|
|
|
|
105 |
virtualenv==20.31.2
|
|
|
106 |
vt-py==0.21.0
|
|
|
107 |
websockets==15.0.1
|
|
|
108 |
xdoctest==1.2.0
|
109 |
yarl==1.20.0
|
|
|
|
1 |
# This file was autogenerated by uv via the following command:
|
2 |
# uv export --format requirements-txt --no-hashes --group dev --group test -o requirements-dev.txt
|
3 |
aiofiles==24.1.0
|
4 |
+
# via
|
5 |
+
# gradio
|
6 |
+
# vt-py
|
7 |
aiohappyeyeballs==2.6.1
|
8 |
+
# via aiohttp
|
9 |
aiohttp==3.12.8
|
10 |
+
# via vt-py
|
11 |
aiosignal==1.3.2
|
12 |
+
# via aiohttp
|
13 |
annotated-types==0.7.0
|
14 |
+
# via pydantic
|
15 |
anyio==4.9.0
|
16 |
+
# via
|
17 |
+
# gradio
|
18 |
+
# httpx
|
19 |
+
# mcp
|
20 |
+
# sse-starlette
|
21 |
+
# starlette
|
22 |
async-timeout==5.0.1 ; python_full_version < '3.11'
|
23 |
+
# via aiohttp
|
24 |
attrs==25.3.0
|
25 |
+
# via aiohttp
|
26 |
audioop-lts==0.2.1 ; python_full_version >= '3.13'
|
27 |
+
# via gradio
|
28 |
boolean-py==5.0
|
29 |
+
# via license-expression
|
30 |
cachecontrol==0.14.3
|
31 |
+
# via pip-audit
|
32 |
cachetools==6.0.0
|
33 |
+
# via tdagent
|
34 |
certifi==2025.4.26
|
35 |
+
# via
|
36 |
+
# httpcore
|
37 |
+
# httpx
|
38 |
+
# requests
|
39 |
cfgv==3.4.0
|
40 |
+
# via pre-commit
|
41 |
charset-normalizer==3.4.2
|
42 |
+
# via requests
|
43 |
click==8.2.1 ; sys_platform != 'emscripten'
|
44 |
+
# via
|
45 |
+
# typer
|
46 |
+
# uvicorn
|
47 |
colorama==0.4.6 ; sys_platform == 'win32'
|
48 |
+
# via
|
49 |
+
# click
|
50 |
+
# pytest
|
51 |
+
# tqdm
|
52 |
coverage==7.8.2
|
53 |
+
# via pytest-cov
|
54 |
cyclonedx-python-lib==9.1.0
|
55 |
+
# via pip-audit
|
56 |
defusedxml==0.7.1
|
57 |
+
# via py-serializable
|
58 |
distlib==0.3.9
|
59 |
+
# via virtualenv
|
60 |
+
dnspython==2.7.0
|
61 |
+
# via tdagent
|
62 |
exceptiongroup==1.3.0 ; python_full_version < '3.11'
|
63 |
+
# via
|
64 |
+
# anyio
|
65 |
+
# pytest
|
66 |
fastapi==0.115.12
|
67 |
+
# via gradio
|
68 |
ffmpy==0.6.0
|
69 |
+
# via gradio
|
70 |
filelock==3.18.0
|
71 |
+
# via
|
72 |
+
# cachecontrol
|
73 |
+
# huggingface-hub
|
74 |
+
# virtualenv
|
75 |
frozenlist==1.6.2
|
76 |
+
# via
|
77 |
+
# aiohttp
|
78 |
+
# aiosignal
|
79 |
fsspec==2025.5.1
|
80 |
+
# via
|
81 |
+
# gradio-client
|
82 |
+
# huggingface-hub
|
83 |
gradio==5.32.1
|
84 |
+
# via tdagent
|
85 |
gradio-client==1.10.2
|
86 |
+
# via gradio
|
87 |
groovy==0.1.2
|
88 |
+
# via gradio
|
89 |
h11==0.16.0
|
90 |
+
# via
|
91 |
+
# httpcore
|
92 |
+
# uvicorn
|
93 |
hf-xet==1.1.2 ; platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'
|
94 |
+
# via huggingface-hub
|
95 |
httpcore==1.0.9
|
96 |
+
# via httpx
|
97 |
httpx==0.28.1
|
98 |
+
# via
|
99 |
+
# gradio
|
100 |
+
# gradio-client
|
101 |
+
# mcp
|
102 |
+
# safehttpx
|
103 |
httpx-sse==0.4.0
|
104 |
+
# via mcp
|
105 |
huggingface-hub==0.32.4
|
106 |
+
# via
|
107 |
+
# gradio
|
108 |
+
# gradio-client
|
109 |
identify==2.6.12
|
110 |
+
# via pre-commit
|
111 |
idna==3.10
|
112 |
+
# via
|
113 |
+
# anyio
|
114 |
+
# httpx
|
115 |
+
# requests
|
116 |
+
# yarl
|
117 |
iniconfig==2.1.0
|
118 |
+
# via pytest
|
119 |
jinja2==3.1.6
|
120 |
+
# via gradio
|
121 |
license-expression==30.4.1
|
122 |
+
# via cyclonedx-python-lib
|
123 |
markdown-it-py==3.0.0
|
124 |
+
# via rich
|
125 |
markupsafe==3.0.2
|
126 |
+
# via
|
127 |
+
# gradio
|
128 |
+
# jinja2
|
129 |
mcp==1.9.0
|
130 |
+
# via gradio
|
131 |
mdurl==0.1.2
|
132 |
+
# via markdown-it-py
|
133 |
msgpack==1.1.0
|
134 |
+
# via cachecontrol
|
135 |
multidict==6.4.4
|
136 |
+
# via
|
137 |
+
# aiohttp
|
138 |
+
# yarl
|
139 |
mypy==1.16.0
|
140 |
mypy-extensions==1.1.0
|
141 |
+
# via mypy
|
142 |
nodeenv==1.9.1
|
143 |
+
# via pre-commit
|
144 |
numpy==2.2.6
|
145 |
+
# via
|
146 |
+
# gradio
|
147 |
+
# pandas
|
148 |
orjson==3.10.18
|
149 |
+
# via gradio
|
150 |
packageurl-python==0.16.0
|
151 |
+
# via cyclonedx-python-lib
|
152 |
packaging==25.0
|
153 |
+
# via
|
154 |
+
# gradio
|
155 |
+
# gradio-client
|
156 |
+
# huggingface-hub
|
157 |
+
# pip-audit
|
158 |
+
# pip-requirements-parser
|
159 |
+
# pytest
|
160 |
pandas==2.2.3
|
161 |
+
# via gradio
|
162 |
pathspec==0.12.1
|
163 |
+
# via mypy
|
164 |
pillow==11.2.1
|
165 |
+
# via gradio
|
166 |
pip==25.1.1
|
167 |
+
# via pip-api
|
168 |
pip-api==0.0.34
|
169 |
+
# via pip-audit
|
170 |
pip-audit==2.9.0
|
171 |
pip-requirements-parser==32.0.1
|
172 |
+
# via pip-audit
|
173 |
platformdirs==4.3.8
|
174 |
+
# via
|
175 |
+
# pip-audit
|
176 |
+
# virtualenv
|
177 |
pluggy==1.6.0
|
178 |
+
# via pytest
|
179 |
pre-commit==3.8.0
|
180 |
propcache==0.3.1
|
181 |
+
# via
|
182 |
+
# aiohttp
|
183 |
+
# yarl
|
184 |
py-serializable==2.0.0
|
185 |
+
# via cyclonedx-python-lib
|
186 |
pydantic==2.11.5
|
187 |
+
# via
|
188 |
+
# fastapi
|
189 |
+
# gradio
|
190 |
+
# mcp
|
191 |
+
# pydantic-settings
|
192 |
pydantic-core==2.33.2
|
193 |
+
# via pydantic
|
194 |
pydantic-settings==2.9.1
|
195 |
+
# via mcp
|
196 |
pydub==0.25.1
|
197 |
+
# via gradio
|
198 |
pygments==2.19.1
|
199 |
+
# via rich
|
200 |
pyparsing==3.2.3
|
201 |
+
# via pip-requirements-parser
|
202 |
pytest==7.4.4
|
203 |
+
# via
|
204 |
+
# pytest-cov
|
205 |
+
# pytest-randomly
|
206 |
pytest-cov==4.1.0
|
207 |
pytest-randomly==3.16.0
|
208 |
python-dateutil==2.9.0.post0
|
209 |
+
# via
|
210 |
+
# pandas
|
211 |
+
# python-whois
|
212 |
python-dotenv==1.1.0
|
213 |
+
# via pydantic-settings
|
214 |
python-multipart==0.0.20
|
215 |
+
# via
|
216 |
+
# gradio
|
217 |
+
# mcp
|
218 |
python-whois==0.9.5
|
219 |
+
# via tdagent
|
220 |
pytz==2025.2
|
221 |
+
# via pandas
|
222 |
pyyaml==6.0.2
|
223 |
+
# via
|
224 |
+
# gradio
|
225 |
+
# huggingface-hub
|
226 |
+
# pre-commit
|
227 |
requests==2.32.3
|
228 |
+
# via
|
229 |
+
# cachecontrol
|
230 |
+
# huggingface-hub
|
231 |
+
# pip-audit
|
232 |
+
# tdagent
|
233 |
rich==14.0.0
|
234 |
+
# via
|
235 |
+
# pip-audit
|
236 |
+
# typer
|
237 |
ruff==0.11.12
|
238 |
+
# via gradio
|
239 |
safehttpx==0.1.6
|
240 |
+
# via gradio
|
241 |
semantic-version==2.10.0
|
242 |
+
# via gradio
|
243 |
shellingham==1.5.4 ; sys_platform != 'emscripten'
|
244 |
+
# via typer
|
245 |
six==1.17.0
|
246 |
+
# via python-dateutil
|
247 |
sniffio==1.3.1
|
248 |
+
# via anyio
|
249 |
sortedcontainers==2.4.0
|
250 |
+
# via cyclonedx-python-lib
|
251 |
sse-starlette==2.3.6
|
252 |
+
# via mcp
|
253 |
starlette==0.46.2
|
254 |
+
# via
|
255 |
+
# fastapi
|
256 |
+
# gradio
|
257 |
+
# mcp
|
258 |
toml==0.10.2
|
259 |
+
# via pip-audit
|
260 |
tomli==2.2.1 ; python_full_version <= '3.11'
|
261 |
+
# via
|
262 |
+
# coverage
|
263 |
+
# mypy
|
264 |
+
# pytest
|
265 |
tomlkit==0.13.2
|
266 |
+
# via gradio
|
267 |
tqdm==4.67.1
|
268 |
+
# via huggingface-hub
|
269 |
typer==0.16.0 ; sys_platform != 'emscripten'
|
270 |
+
# via gradio
|
271 |
typing-extensions==4.14.0
|
272 |
+
# via
|
273 |
+
# anyio
|
274 |
+
# exceptiongroup
|
275 |
+
# fastapi
|
276 |
+
# gradio
|
277 |
+
# gradio-client
|
278 |
+
# huggingface-hub
|
279 |
+
# multidict
|
280 |
+
# mypy
|
281 |
+
# pydantic
|
282 |
+
# pydantic-core
|
283 |
+
# rich
|
284 |
+
# typer
|
285 |
+
# typing-inspection
|
286 |
+
# uvicorn
|
287 |
typing-inspection==0.4.1
|
288 |
+
# via
|
289 |
+
# pydantic
|
290 |
+
# pydantic-settings
|
291 |
tzdata==2025.2
|
292 |
+
# via pandas
|
293 |
urllib3==2.4.0
|
294 |
+
# via
|
295 |
+
# gradio
|
296 |
+
# requests
|
297 |
uvicorn==0.34.3 ; sys_platform != 'emscripten'
|
298 |
+
# via
|
299 |
+
# gradio
|
300 |
+
# mcp
|
301 |
virtualenv==20.31.2
|
302 |
+
# via pre-commit
|
303 |
vt-py==0.21.0
|
304 |
+
# via tdagent
|
305 |
websockets==15.0.1
|
306 |
+
# via gradio-client
|
307 |
xdoctest==1.2.0
|
308 |
yarl==1.20.0
|
309 |
+
# via aiohttp
|
subdomains/subdomains.txt
ADDED
@@ -0,0 +1,999 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
www
|
2 |
+
mail
|
3 |
+
ftp
|
4 |
+
localhost
|
5 |
+
webmail
|
6 |
+
smtp
|
7 |
+
pop
|
8 |
+
ns1
|
9 |
+
webdisk
|
10 |
+
ns2
|
11 |
+
cpanel
|
12 |
+
whm
|
13 |
+
autodiscover
|
14 |
+
autoconfig
|
15 |
+
m
|
16 |
+
imap
|
17 |
+
test
|
18 |
+
ns
|
19 |
+
blog
|
20 |
+
pop3
|
21 |
+
dev
|
22 |
+
www2
|
23 |
+
admin
|
24 |
+
forum
|
25 |
+
news
|
26 |
+
vpn
|
27 |
+
ns3
|
28 |
+
mail2
|
29 |
+
new
|
30 |
+
mysql
|
31 |
+
old
|
32 |
+
lists
|
33 |
+
support
|
34 |
+
mobile
|
35 |
+
mx
|
36 |
+
static
|
37 |
+
docs
|
38 |
+
beta
|
39 |
+
shop
|
40 |
+
sql
|
41 |
+
secure
|
42 |
+
demo
|
43 |
+
cp
|
44 |
+
calendar
|
45 |
+
wiki
|
46 |
+
web
|
47 |
+
media
|
48 |
+
email
|
49 |
+
images
|
50 |
+
img
|
51 |
+
www1
|
52 |
+
intranet
|
53 |
+
portal
|
54 |
+
video
|
55 |
+
sip
|
56 |
+
dns2
|
57 |
+
api
|
58 |
+
cdn
|
59 |
+
stats
|
60 |
+
dns1
|
61 |
+
ns4
|
62 |
+
www3
|
63 |
+
dns
|
64 |
+
search
|
65 |
+
staging
|
66 |
+
server
|
67 |
+
mx1
|
68 |
+
chat
|
69 |
+
wap
|
70 |
+
my
|
71 |
+
svn
|
72 |
+
mail1
|
73 |
+
sites
|
74 |
+
proxy
|
75 |
+
ads
|
76 |
+
host
|
77 |
+
crm
|
78 |
+
cms
|
79 |
+
backup
|
80 |
+
mx2
|
81 |
+
lyncdiscover
|
82 |
+
info
|
83 |
+
apps
|
84 |
+
download
|
85 |
+
remote
|
86 |
+
db
|
87 |
+
forums
|
88 |
+
store
|
89 |
+
relay
|
90 |
+
files
|
91 |
+
newsletter
|
92 |
+
app
|
93 |
+
live
|
94 |
+
owa
|
95 |
+
en
|
96 |
+
start
|
97 |
+
sms
|
98 |
+
office
|
99 |
+
exchange
|
100 |
+
ipv4
|
101 |
+
mail3
|
102 |
+
help
|
103 |
+
blogs
|
104 |
+
helpdesk
|
105 |
+
web1
|
106 |
+
home
|
107 |
+
library
|
108 |
+
ftp2
|
109 |
+
ntp
|
110 |
+
monitor
|
111 |
+
login
|
112 |
+
service
|
113 |
+
correo
|
114 |
+
www4
|
115 |
+
moodle
|
116 |
+
it
|
117 |
+
gateway
|
118 |
+
gw
|
119 |
+
i
|
120 |
+
stat
|
121 |
+
stage
|
122 |
+
ldap
|
123 |
+
tv
|
124 |
+
ssl
|
125 |
+
web2
|
126 |
+
ns5
|
127 |
+
upload
|
128 |
+
nagios
|
129 |
+
smtp2
|
130 |
+
online
|
131 |
+
ad
|
132 |
+
survey
|
133 |
+
data
|
134 |
+
radio
|
135 |
+
extranet
|
136 |
+
test2
|
137 |
+
mssql
|
138 |
+
dns3
|
139 |
+
jobs
|
140 |
+
services
|
141 |
+
panel
|
142 |
+
irc
|
143 |
+
hosting
|
144 |
+
cloud
|
145 |
+
de
|
146 |
+
gmail
|
147 |
+
s
|
148 |
+
bbs
|
149 |
+
cs
|
150 |
+
ww
|
151 |
+
mrtg
|
152 |
+
git
|
153 |
+
image
|
154 |
+
members
|
155 |
+
poczta
|
156 |
+
s1
|
157 |
+
meet
|
158 |
+
preview
|
159 |
+
fr
|
160 |
+
cloudflare-resolve-to
|
161 |
+
dev2
|
162 |
+
photo
|
163 |
+
jabber
|
164 |
+
legacy
|
165 |
+
go
|
166 |
+
es
|
167 |
+
ssh
|
168 |
+
redmine
|
169 |
+
partner
|
170 |
+
vps
|
171 |
+
server1
|
172 |
+
sv
|
173 |
+
ns6
|
174 |
+
webmail2
|
175 |
+
av
|
176 |
+
community
|
177 |
+
cacti
|
178 |
+
time
|
179 |
+
sftp
|
180 |
+
lib
|
181 |
+
facebook
|
182 |
+
www5
|
183 |
+
smtp1
|
184 |
+
feeds
|
185 |
+
w
|
186 |
+
games
|
187 |
+
ts
|
188 |
+
alumni
|
189 |
+
dl
|
190 |
+
s2
|
191 |
+
phpmyadmin
|
192 |
+
archive
|
193 |
+
cn
|
194 |
+
tools
|
195 |
+
stream
|
196 |
+
projects
|
197 |
+
elearning
|
198 |
+
im
|
199 |
+
iphone
|
200 |
+
control
|
201 |
+
voip
|
202 |
+
test1
|
203 |
+
ws
|
204 |
+
rss
|
205 |
+
sp
|
206 |
+
wwww
|
207 |
+
vpn2
|
208 |
+
jira
|
209 |
+
list
|
210 |
+
connect
|
211 |
+
gallery
|
212 |
+
billing
|
213 |
+
mailer
|
214 |
+
update
|
215 |
+
pda
|
216 |
+
game
|
217 |
+
ns0
|
218 |
+
testing
|
219 |
+
sandbox
|
220 |
+
job
|
221 |
+
events
|
222 |
+
dialin
|
223 |
+
ml
|
224 |
+
fb
|
225 |
+
videos
|
226 |
+
music
|
227 |
+
a
|
228 |
+
partners
|
229 |
+
mailhost
|
230 |
+
downloads
|
231 |
+
reports
|
232 |
+
ca
|
233 |
+
router
|
234 |
+
speedtest
|
235 |
+
local
|
236 |
+
training
|
237 |
+
edu
|
238 |
+
bugs
|
239 |
+
manage
|
240 |
+
s3
|
241 |
+
status
|
242 |
+
host2
|
243 |
+
ww2
|
244 |
+
marketing
|
245 |
+
conference
|
246 |
+
content
|
247 |
+
network-ip
|
248 |
+
broadcast-ip
|
249 |
+
english
|
250 |
+
catalog
|
251 |
+
msoid
|
252 |
+
mailadmin
|
253 |
+
pay
|
254 |
+
access
|
255 |
+
streaming
|
256 |
+
project
|
257 |
+
t
|
258 |
+
sso
|
259 |
+
alpha
|
260 |
+
photos
|
261 |
+
staff
|
262 |
+
e
|
263 |
+
auth
|
264 |
+
v2
|
265 |
+
web5
|
266 |
+
web3
|
267 |
+
mail4
|
268 |
+
devel
|
269 |
+
post
|
270 |
+
us
|
271 |
+
images2
|
272 |
+
master
|
273 |
+
rt
|
274 |
+
ftp1
|
275 |
+
qa
|
276 |
+
wp
|
277 |
+
dns4
|
278 |
+
www6
|
279 |
+
ru
|
280 |
+
student
|
281 |
+
w3
|
282 |
+
citrix
|
283 |
+
trac
|
284 |
+
doc
|
285 |
+
img2
|
286 |
+
css
|
287 |
+
mx3
|
288 |
+
adm
|
289 |
+
web4
|
290 |
+
hr
|
291 |
+
mailserver
|
292 |
+
travel
|
293 |
+
sharepoint
|
294 |
+
sport
|
295 |
+
member
|
296 |
+
bb
|
297 |
+
agenda
|
298 |
+
link
|
299 |
+
server2
|
300 |
+
vod
|
301 |
+
uk
|
302 |
+
fw
|
303 |
+
promo
|
304 |
+
vip
|
305 |
+
noc
|
306 |
+
design
|
307 |
+
temp
|
308 |
+
gate
|
309 |
+
ns7
|
310 |
+
file
|
311 |
+
ms
|
312 |
+
map
|
313 |
+
cache
|
314 |
+
painel
|
315 |
+
js
|
316 |
+
event
|
317 |
+
mailing
|
318 |
+
db1
|
319 |
+
c
|
320 |
+
auto
|
321 |
+
img1
|
322 |
+
vpn1
|
323 |
+
business
|
324 |
+
mirror
|
325 |
+
share
|
326 |
+
cdn2
|
327 |
+
site
|
328 |
+
maps
|
329 |
+
tickets
|
330 |
+
tracker
|
331 |
+
domains
|
332 |
+
club
|
333 |
+
images1
|
334 |
+
zimbra
|
335 |
+
cvs
|
336 |
+
b2b
|
337 |
+
oa
|
338 |
+
intra
|
339 |
+
zabbix
|
340 |
+
ns8
|
341 |
+
assets
|
342 |
+
main
|
343 |
+
spam
|
344 |
+
lms
|
345 |
+
social
|
346 |
+
faq
|
347 |
+
feedback
|
348 |
+
loopback
|
349 |
+
groups
|
350 |
+
m2
|
351 |
+
cas
|
352 |
+
loghost
|
353 |
+
xml
|
354 |
+
nl
|
355 |
+
research
|
356 |
+
art
|
357 |
+
munin
|
358 |
+
dev1
|
359 |
+
gis
|
360 |
+
sales
|
361 |
+
images3
|
362 |
+
report
|
363 |
+
google
|
364 |
+
idp
|
365 |
+
cisco
|
366 |
+
careers
|
367 |
+
seo
|
368 |
+
dc
|
369 |
+
lab
|
370 |
+
d
|
371 |
+
firewall
|
372 |
+
fs
|
373 |
+
eng
|
374 |
+
ann
|
375 |
+
mail01
|
376 |
+
mantis
|
377 |
+
v
|
378 |
+
affiliates
|
379 |
+
webconf
|
380 |
+
track
|
381 |
+
ticket
|
382 |
+
pm
|
383 |
+
db2
|
384 |
+
b
|
385 |
+
clients
|
386 |
+
tech
|
387 |
+
erp
|
388 |
+
monitoring
|
389 |
+
cdn1
|
390 |
+
images4
|
391 |
+
payment
|
392 |
+
origin
|
393 |
+
client
|
394 |
+
foto
|
395 |
+
domain
|
396 |
+
pt
|
397 |
+
pma
|
398 |
+
directory
|
399 |
+
cc
|
400 |
+
public
|
401 |
+
finance
|
402 |
+
ns11
|
403 |
+
test3
|
404 |
+
wordpress
|
405 |
+
corp
|
406 |
+
sslvpn
|
407 |
+
cal
|
408 |
+
mailman
|
409 |
+
book
|
410 |
+
ip
|
411 |
+
zeus
|
412 |
+
ns10
|
413 |
+
hermes
|
414 |
+
storage
|
415 |
+
free
|
416 |
+
static1
|
417 |
+
pbx
|
418 |
+
banner
|
419 |
+
mobil
|
420 |
+
kb
|
421 |
+
mail5
|
422 |
+
direct
|
423 |
+
ipfixe
|
424 |
+
wifi
|
425 |
+
development
|
426 |
+
board
|
427 |
+
ns01
|
428 |
+
st
|
429 |
+
reviews
|
430 |
+
radius
|
431 |
+
pro
|
432 |
+
atlas
|
433 |
+
links
|
434 |
+
in
|
435 |
+
oldmail
|
436 |
+
register
|
437 |
+
s4
|
438 |
+
images6
|
439 |
+
static2
|
440 |
+
id
|
441 |
+
shopping
|
442 |
+
drupal
|
443 |
+
analytics
|
444 |
+
m1
|
445 |
+
images5
|
446 |
+
images7
|
447 |
+
img3
|
448 |
+
mx01
|
449 |
+
www7
|
450 |
+
redirect
|
451 |
+
sitebuilder
|
452 |
+
smtp3
|
453 |
+
adserver
|
454 |
+
net
|
455 |
+
user
|
456 |
+
forms
|
457 |
+
outlook
|
458 |
+
press
|
459 |
+
vc
|
460 |
+
health
|
461 |
+
work
|
462 |
+
mb
|
463 |
+
mm
|
464 |
+
f
|
465 |
+
pgsql
|
466 |
+
jp
|
467 |
+
sports
|
468 |
+
preprod
|
469 |
+
g
|
470 |
+
p
|
471 |
+
mdm
|
472 |
+
ar
|
473 |
+
lync
|
474 |
+
market
|
475 |
+
dbadmin
|
476 |
+
barracuda
|
477 |
+
affiliate
|
478 |
+
mars
|
479 |
+
users
|
480 |
+
images8
|
481 |
+
biblioteca
|
482 |
+
mc
|
483 |
+
ns12
|
484 |
+
math
|
485 |
+
ntp1
|
486 |
+
web01
|
487 |
+
software
|
488 |
+
pr
|
489 |
+
jupiter
|
490 |
+
labs
|
491 |
+
linux
|
492 |
+
sc
|
493 |
+
love
|
494 |
+
fax
|
495 |
+
php
|
496 |
+
lp
|
497 |
+
tracking
|
498 |
+
thumbs
|
499 |
+
up
|
500 |
+
tw
|
501 |
+
campus
|
502 |
+
reg
|
503 |
+
digital
|
504 |
+
demo2
|
505 |
+
da
|
506 |
+
tr
|
507 |
+
otrs
|
508 |
+
web6
|
509 |
+
ns02
|
510 |
+
mailgw
|
511 |
+
education
|
512 |
+
order
|
513 |
+
piwik
|
514 |
+
banners
|
515 |
+
rs
|
516 |
+
se
|
517 |
+
venus
|
518 |
+
internal
|
519 |
+
webservices
|
520 |
+
cm
|
521 |
+
whois
|
522 |
+
sync
|
523 |
+
lb
|
524 |
+
is
|
525 |
+
code
|
526 |
+
click
|
527 |
+
w2
|
528 |
+
bugzilla
|
529 |
+
virtual
|
530 |
+
origin-www
|
531 |
+
top
|
532 |
+
customer
|
533 |
+
pub
|
534 |
+
hotel
|
535 |
+
openx
|
536 |
+
log
|
537 |
+
uat
|
538 |
+
cdn3
|
539 |
+
images0
|
540 |
+
cgi
|
541 |
+
posta
|
542 |
+
reseller
|
543 |
+
soft
|
544 |
+
movie
|
545 |
+
mba
|
546 |
+
n
|
547 |
+
r
|
548 |
+
developer
|
549 |
+
nms
|
550 |
+
ns9
|
551 |
+
webcam
|
552 |
+
construtor
|
553 |
+
ebook
|
554 |
+
ftp3
|
555 |
+
join
|
556 |
+
dashboard
|
557 |
+
bi
|
558 |
+
wpad
|
559 |
+
admin2
|
560 |
+
agent
|
561 |
+
wm
|
562 |
+
books
|
563 |
+
joomla
|
564 |
+
hotels
|
565 |
+
ezproxy
|
566 |
+
ds
|
567 |
+
sa
|
568 |
+
katalog
|
569 |
+
team
|
570 |
+
emkt
|
571 |
+
antispam
|
572 |
+
adv
|
573 |
+
mercury
|
574 |
+
flash
|
575 |
+
myadmin
|
576 |
+
sklep
|
577 |
+
newsite
|
578 |
+
law
|
579 |
+
pl
|
580 |
+
ntp2
|
581 |
+
x
|
582 |
+
srv1
|
583 |
+
mp3
|
584 |
+
archives
|
585 |
+
proxy2
|
586 |
+
ps
|
587 |
+
pic
|
588 |
+
ir
|
589 |
+
orion
|
590 |
+
srv
|
591 |
+
mt
|
592 |
+
ocs
|
593 |
+
server3
|
594 |
+
meeting
|
595 |
+
v1
|
596 |
+
delta
|
597 |
+
titan
|
598 |
+
manager
|
599 |
+
subscribe
|
600 |
+
develop
|
601 |
+
wsus
|
602 |
+
oascentral
|
603 |
+
mobi
|
604 |
+
people
|
605 |
+
galleries
|
606 |
+
wwwtest
|
607 |
+
backoffice
|
608 |
+
sg
|
609 |
+
repo
|
610 |
+
soporte
|
611 |
+
www8
|
612 |
+
eu
|
613 |
+
ead
|
614 |
+
students
|
615 |
+
hq
|
616 |
+
awstats
|
617 |
+
ec
|
618 |
+
security
|
619 |
+
school
|
620 |
+
corporate
|
621 |
+
podcast
|
622 |
+
vote
|
623 |
+
conf
|
624 |
+
magento
|
625 |
+
mx4
|
626 |
+
webservice
|
627 |
+
tour
|
628 |
+
s5
|
629 |
+
power
|
630 |
+
correio
|
631 |
+
mon
|
632 |
+
mobilemail
|
633 |
+
weather
|
634 |
+
international
|
635 |
+
prod
|
636 |
+
account
|
637 |
+
xx
|
638 |
+
pages
|
639 |
+
pgadmin
|
640 |
+
bfn2
|
641 |
+
webserver
|
642 |
+
www-test
|
643 |
+
maintenance
|
644 |
+
me
|
645 |
+
magazine
|
646 |
+
syslog
|
647 |
+
int
|
648 |
+
view
|
649 |
+
enews
|
650 |
+
ci
|
651 |
+
au
|
652 |
+
mis
|
653 |
+
dev3
|
654 |
+
pdf
|
655 |
+
mailgate
|
656 |
+
v3
|
657 |
+
ss
|
658 |
+
internet
|
659 |
+
host1
|
660 |
+
smtp01
|
661 |
+
journal
|
662 |
+
wireless
|
663 |
+
opac
|
664 |
+
w1
|
665 |
+
signup
|
666 |
+
database
|
667 |
+
demo1
|
668 |
+
br
|
669 |
+
android
|
670 |
+
career
|
671 |
+
listserv
|
672 |
+
bt
|
673 |
+
spb
|
674 |
+
cam
|
675 |
+
contacts
|
676 |
+
webtest
|
677 |
+
resources
|
678 |
+
1
|
679 |
+
life
|
680 |
+
mail6
|
681 |
+
transfer
|
682 |
+
app1
|
683 |
+
confluence
|
684 |
+
controlpanel
|
685 |
+
secure2
|
686 |
+
puppet
|
687 |
+
classifieds
|
688 |
+
tunet
|
689 |
+
edge
|
690 |
+
biz
|
691 |
+
host3
|
692 |
+
red
|
693 |
+
newmail
|
694 |
+
mx02
|
695 |
+
sb
|
696 |
+
physics
|
697 |
+
ap
|
698 |
+
epaper
|
699 |
+
sts
|
700 |
+
proxy1
|
701 |
+
ww1
|
702 |
+
stg
|
703 |
+
sd
|
704 |
+
science
|
705 |
+
star
|
706 |
+
www9
|
707 |
+
phoenix
|
708 |
+
pluto
|
709 |
+
webdav
|
710 |
+
booking
|
711 |
+
eshop
|
712 |
+
edit
|
713 |
+
panelstats
|
714 |
+
xmpp
|
715 |
+
food
|
716 |
+
cert
|
717 |
+
adfs
|
718 |
+
mail02
|
719 |
+
cat
|
720 |
+
edm
|
721 |
+
vcenter
|
722 |
+
mysql2
|
723 |
+
sun
|
724 |
+
phone
|
725 |
+
surveys
|
726 |
+
smart
|
727 |
+
system
|
728 |
+
twitter
|
729 |
+
updates
|
730 |
+
webmail1
|
731 |
+
logs
|
732 |
+
sitedefender
|
733 |
+
as
|
734 |
+
cbf1
|
735 |
+
sugar
|
736 |
+
contact
|
737 |
+
vm
|
738 |
+
ipad
|
739 |
+
traffic
|
740 |
+
dm
|
741 |
+
saturn
|
742 |
+
bo
|
743 |
+
network
|
744 |
+
ac
|
745 |
+
ns13
|
746 |
+
webdev
|
747 |
+
libguides
|
748 |
+
asp
|
749 |
+
tm
|
750 |
+
core
|
751 |
+
mms
|
752 |
+
abc
|
753 |
+
scripts
|
754 |
+
fm
|
755 |
+
sm
|
756 |
+
test4
|
757 |
+
nas
|
758 |
+
newsletters
|
759 |
+
rsc
|
760 |
+
cluster
|
761 |
+
learn
|
762 |
+
panelstatsmail
|
763 |
+
lb1
|
764 |
+
usa
|
765 |
+
apollo
|
766 |
+
pre
|
767 |
+
terminal
|
768 |
+
l
|
769 |
+
tc
|
770 |
+
movies
|
771 |
+
sh
|
772 |
+
fms
|
773 |
+
dms
|
774 |
+
z
|
775 |
+
base
|
776 |
+
jwc
|
777 |
+
gs
|
778 |
+
kvm
|
779 |
+
bfn1
|
780 |
+
card
|
781 |
+
web02
|
782 |
+
lg
|
783 |
+
editor
|
784 |
+
metrics
|
785 |
+
feed
|
786 |
+
repository
|
787 |
+
asterisk
|
788 |
+
sns
|
789 |
+
global
|
790 |
+
counter
|
791 |
+
ch
|
792 |
+
sistemas
|
793 |
+
pc
|
794 |
+
china
|
795 |
+
u
|
796 |
+
payments
|
797 |
+
ma
|
798 |
+
pics
|
799 |
+
www10
|
800 |
+
e-learning
|
801 |
+
auction
|
802 |
+
hub
|
803 |
+
sf
|
804 |
+
cbf8
|
805 |
+
forum2
|
806 |
+
ns14
|
807 |
+
app2
|
808 |
+
passport
|
809 |
+
hd
|
810 |
+
talk
|
811 |
+
ex
|
812 |
+
debian
|
813 |
+
ct
|
814 |
+
rc
|
815 |
+
2012
|
816 |
+
imap4
|
817 |
+
blog2
|
818 |
+
ce
|
819 |
+
sk
|
820 |
+
relay2
|
821 |
+
green
|
822 |
+
print
|
823 |
+
geo
|
824 |
+
multimedia
|
825 |
+
iptv
|
826 |
+
backup2
|
827 |
+
webapps
|
828 |
+
audio
|
829 |
+
ro
|
830 |
+
smtp4
|
831 |
+
pg
|
832 |
+
ldap2
|
833 |
+
backend
|
834 |
+
profile
|
835 |
+
oldwww
|
836 |
+
drive
|
837 |
+
bill
|
838 |
+
listas
|
839 |
+
orders
|
840 |
+
win
|
841 |
+
mag
|
842 |
+
apply
|
843 |
+
bounce
|
844 |
+
mta
|
845 |
+
hp
|
846 |
+
suporte
|
847 |
+
dir
|
848 |
+
pa
|
849 |
+
sys
|
850 |
+
mx0
|
851 |
+
ems
|
852 |
+
antivirus
|
853 |
+
web8
|
854 |
+
inside
|
855 |
+
play
|
856 |
+
nic
|
857 |
+
welcome
|
858 |
+
premium
|
859 |
+
exam
|
860 |
+
sub
|
861 |
+
cz
|
862 |
+
omega
|
863 |
+
boutique
|
864 |
+
pp
|
865 |
+
management
|
866 |
+
planet
|
867 |
+
ww3
|
868 |
+
orange
|
869 |
+
c1
|
870 |
+
zzb
|
871 |
+
form
|
872 |
+
ecommerce
|
873 |
+
tmp
|
874 |
+
plus
|
875 |
+
openvpn
|
876 |
+
fw1
|
877 |
+
hk
|
878 |
+
owncloud
|
879 |
+
history
|
880 |
+
clientes
|
881 |
+
srv2
|
882 |
+
img4
|
883 |
+
open
|
884 |
+
registration
|
885 |
+
mp
|
886 |
+
blackboard
|
887 |
+
fc
|
888 |
+
static3
|
889 |
+
server4
|
890 |
+
s6
|
891 |
+
ecard
|
892 |
+
dspace
|
893 |
+
dns01
|
894 |
+
md
|
895 |
+
mcp
|
896 |
+
ares
|
897 |
+
spf
|
898 |
+
kms
|
899 |
+
intranet2
|
900 |
+
accounts
|
901 |
+
webapp
|
902 |
+
ask
|
903 |
+
rd
|
904 |
+
www-dev
|
905 |
+
gw2
|
906 |
+
mall
|
907 |
+
bg
|
908 |
+
teste
|
909 |
+
ldap1
|
910 |
+
real
|
911 |
+
m3
|
912 |
+
wave
|
913 |
+
movil
|
914 |
+
portal2
|
915 |
+
kids
|
916 |
+
gw1
|
917 |
+
ra
|
918 |
+
tienda
|
919 |
+
private
|
920 |
+
po
|
921 |
+
2013
|
922 |
+
cdn4
|
923 |
+
gps
|
924 |
+
km
|
925 |
+
ent
|
926 |
+
tt
|
927 |
+
ns21
|
928 |
+
at
|
929 |
+
athena
|
930 |
+
cbf2
|
931 |
+
webmail3
|
932 |
+
mob
|
933 |
+
matrix
|
934 |
+
ns15
|
935 |
+
send
|
936 |
+
lb2
|
937 |
+
pos
|
938 |
+
2
|
939 |
+
cl
|
940 |
+
renew
|
941 |
+
admissions
|
942 |
+
am
|
943 |
+
beta2
|
944 |
+
gamma
|
945 |
+
mx5
|
946 |
+
portfolio
|
947 |
+
contest
|
948 |
+
box
|
949 |
+
mg
|
950 |
+
wwwold
|
951 |
+
neptune
|
952 |
+
mac
|
953 |
+
pms
|
954 |
+
traveler
|
955 |
+
media2
|
956 |
+
studio
|
957 |
+
sw
|
958 |
+
imp
|
959 |
+
bs
|
960 |
+
alfa
|
961 |
+
cbf4
|
962 |
+
servicedesk
|
963 |
+
wmail
|
964 |
+
video2
|
965 |
+
switch
|
966 |
+
sam
|
967 |
+
sky
|
968 |
+
ee
|
969 |
+
widget
|
970 |
+
reklama
|
971 |
+
msn
|
972 |
+
paris
|
973 |
+
tms
|
974 |
+
th
|
975 |
+
vega
|
976 |
+
trade
|
977 |
+
intern
|
978 |
+
ext
|
979 |
+
oldsite
|
980 |
+
learning
|
981 |
+
group
|
982 |
+
f1
|
983 |
+
ns22
|
984 |
+
ns20
|
985 |
+
demo3
|
986 |
+
bm
|
987 |
+
dom
|
988 |
+
pe
|
989 |
+
annuaire
|
990 |
+
portail
|
991 |
+
graphics
|
992 |
+
iris
|
993 |
+
one
|
994 |
+
robot
|
995 |
+
ams
|
996 |
+
s7
|
997 |
+
foro
|
998 |
+
gaia
|
999 |
+
vpn3
|
tdagent/tools/get_domain_information.py
ADDED
@@ -0,0 +1,334 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import json
|
2 |
+
import os
|
3 |
+
from concurrent.futures import ThreadPoolExecutor
|
4 |
+
from pathlib import Path
|
5 |
+
from typing import Any
|
6 |
+
|
7 |
+
import gradio as gr
|
8 |
+
import requests
|
9 |
+
import urllib3
|
10 |
+
from dns import message
|
11 |
+
|
12 |
+
|
13 |
+
_DNS_SERVER = "https://dns.google/dns-query" # can use others
|
14 |
+
_DNS_RECORD_TYPES = [
|
15 |
+
"A",
|
16 |
+
"AAAA",
|
17 |
+
"CNAME",
|
18 |
+
"MX",
|
19 |
+
"NS",
|
20 |
+
"SOA",
|
21 |
+
"TXT",
|
22 |
+
"RP",
|
23 |
+
"LOC",
|
24 |
+
"CAA",
|
25 |
+
"SPF",
|
26 |
+
"SRV",
|
27 |
+
"NSEC",
|
28 |
+
"RRSIG",
|
29 |
+
]
|
30 |
+
|
31 |
+
_COMMON_SUBDOMAINS_TXT_PATH = Path("./subdomains/subdomains.txt")
|
32 |
+
|
33 |
+
|
34 |
+
def get_geolocation(ip: str) -> dict[str, Any] | str:
|
35 |
+
"""Get location information from an ip address.
|
36 |
+
|
37 |
+
Returns the following information on an ip address:
|
38 |
+
1. IPv4
|
39 |
+
2. city
|
40 |
+
4. country_code
|
41 |
+
5. country_name
|
42 |
+
6. latitude
|
43 |
+
7. longitude
|
44 |
+
8. postal
|
45 |
+
9. state
|
46 |
+
|
47 |
+
Example:
|
48 |
+
>>> from pprint import pprint
|
49 |
+
>>> pprint(get_location("103.100.104.0"))
|
50 |
+
... {'IPv4': '103.100.104.0',
|
51 |
+
'city': None,
|
52 |
+
'country_code': 'NZ',
|
53 |
+
'country_name': 'New Zealand',
|
54 |
+
'latitude': -41,
|
55 |
+
'longitude': 174,
|
56 |
+
'postal': None,
|
57 |
+
'state': None}
|
58 |
+
|
59 |
+
Args:
|
60 |
+
ip: ip address
|
61 |
+
|
62 |
+
Returns:
|
63 |
+
Location information on the ip address.
|
64 |
+
"""
|
65 |
+
try:
|
66 |
+
return requests.get(
|
67 |
+
f"https://geolocation-db.com/json/{ip}",
|
68 |
+
timeout=0.5,
|
69 |
+
).json()
|
70 |
+
except Exception as e: # noqa: BLE001
|
71 |
+
return str(e)
|
72 |
+
|
73 |
+
|
74 |
+
def _request_dns_record(domain: str, record_type: str) -> str:
|
75 |
+
"""Utility to build dns resolve requests that do not use port 53.
|
76 |
+
|
77 |
+
Args:
|
78 |
+
domain: domain to investigate
|
79 |
+
record_type: record type
|
80 |
+
|
81 |
+
Returns:
|
82 |
+
Information about the dns record type for the domain.
|
83 |
+
"""
|
84 |
+
q = message.make_query(domain, record_type)
|
85 |
+
response = requests.post(
|
86 |
+
_DNS_SERVER,
|
87 |
+
headers={
|
88 |
+
"Content-Type": "application/dns-message",
|
89 |
+
"Accept": "application/dns-message",
|
90 |
+
},
|
91 |
+
data=q.to_wire(),
|
92 |
+
verify=True,
|
93 |
+
timeout=0.2,
|
94 |
+
)
|
95 |
+
dns_message = message.from_wire(response.content)
|
96 |
+
return [str(rdata) for rdata in dns_message.answer[0]] if dns_message.answer else []
|
97 |
+
|
98 |
+
# see: https://thepythoncode.com/article/dns-enumeration-with-python
|
99 |
+
# https://dnspython.readthedocs.io
|
100 |
+
def enumerate_dns(domain_name: str) -> dict[str, Any] | None:
|
101 |
+
r"""Enumerates information about a specific domain's DNS configuration.
|
102 |
+
|
103 |
+
Information collected about the domain name:
|
104 |
+
1. A records: the IPv4 associated with the domain
|
105 |
+
2. AAAA records: the IPv6 associated with the domain
|
106 |
+
3. CAA records: used by owners to specify which Certificate Authorities
|
107 |
+
are authorized to issue SSL/TLS certificates for their domains.
|
108 |
+
4. CNAME records: alias of one name to another - the DNS lookup will
|
109 |
+
continue by retrying the lookup with the new name.
|
110 |
+
5. LOC records: geographic location associated with a domain name.
|
111 |
+
6. MX records: associated email servers to the domain.
|
112 |
+
7. NS records: DNS servers that are authoritative for a particular domain.
|
113 |
+
These may be use to inquire information about the domain.
|
114 |
+
8. SOA records: defines authoritative information about a DNS zone,
|
115 |
+
including zone transfers and cache expiration.
|
116 |
+
9. TXT records: used for domain verification and email security.
|
117 |
+
10. RP records: the responsible person for a domain.
|
118 |
+
11. SPF records: defines authorized email servers.
|
119 |
+
12. SRV records: specifies location of specific services
|
120 |
+
(port and host) for the domain.
|
121 |
+
14. NSEC records: proves non-existence of DNS records
|
122 |
+
and prevents zone enumeration.
|
123 |
+
15. RRSIG records: contains cryptographic signatures for DNSSEC-signed
|
124 |
+
records, providing authentication and integrity.
|
125 |
+
|
126 |
+
Example:
|
127 |
+
>>> from pprint import pprint
|
128 |
+
>>> pprint(enumerate_dns("youtube.com"))
|
129 |
+
... {'A': 'youtube.com. 300 IN A 142.250.200.142',
|
130 |
+
'AAAA': 'youtube.com. 286 IN AAAA 2a00:1450:4003:80f::200e',
|
131 |
+
'CAA': 'youtube.com. 14352 IN CAA 0 issue "pki.goog"',
|
132 |
+
'CNAME': None,
|
133 |
+
'LOC': None,
|
134 |
+
'MX': 'youtube.com. 300 IN MX 0 smtp.google.com.',
|
135 |
+
'NS': 'youtube.com. 21600 IN NS ns4.google.com.\n'
|
136 |
+
'youtube.com. 21600 IN NS ns1.google.com.\n'
|
137 |
+
'youtube.com. 21600 IN NS ns2.google.com.\n'
|
138 |
+
'youtube.com. 21600 IN NS ns3.google.com.',
|
139 |
+
'NSEC': None,
|
140 |
+
'RP': None,
|
141 |
+
'RRSIG': None,
|
142 |
+
'SOA': 'youtube.com. 60 IN SOA ns1.google.com. dns-admin.google.com. '
|
143 |
+
'766113658 900 900 1800 60',
|
144 |
+
'SPF': None,
|
145 |
+
'SRV': None,
|
146 |
+
'TXT': 'youtube.com. 3586 IN TXT "v=spf1 include:google.com mx -all"\n'
|
147 |
+
'youtube.com. 3586 IN TXT '
|
148 |
+
'"facebook-domain-verification=64jdes7le4h7e7lfpi22rijygx58j1"\n'
|
149 |
+
'youtube.com. 3586 IN TXT '
|
150 |
+
'"google-site-verification=QtQWEwHWM8tHiJ4s-jJWzEQrD_fF3luPnpzNDH-Nw-w"'}
|
151 |
+
|
152 |
+
Args:
|
153 |
+
domain_name: domain name for which to
|
154 |
+
enumerate the DNS configuration.
|
155 |
+
|
156 |
+
Returns:
|
157 |
+
The domain's DNS configuration.
|
158 |
+
"""
|
159 |
+
enumeration = {}
|
160 |
+
for record_type in _DNS_RECORD_TYPES:
|
161 |
+
try:
|
162 |
+
record = _request_dns_record(domain_name, record_type)
|
163 |
+
if record:
|
164 |
+
enumeration[record_type] = record
|
165 |
+
except Exception as e: # noqa: BLE001, PERF203
|
166 |
+
enumeration[record_type] = str(e)
|
167 |
+
return enumeration if enumeration else None
|
168 |
+
|
169 |
+
def resolve_subdomain_ipv4(domain: str) -> str | None:
|
170 |
+
"""Resolve the IPv4 address of a domain.
|
171 |
+
|
172 |
+
Args:
|
173 |
+
domain: domain name
|
174 |
+
|
175 |
+
Returns:
|
176 |
+
The domain is returned provided
|
177 |
+
it was resolved. Otherwise nothing
|
178 |
+
is returned.
|
179 |
+
"""
|
180 |
+
try:
|
181 |
+
_request_dns_record(domain, "A")
|
182 |
+
return domain # noqa: TRY300
|
183 |
+
except Exception: # noqa: BLE001
|
184 |
+
return None
|
185 |
+
|
186 |
+
|
187 |
+
def scrap_subdomains_for_domain(domain_name: str) -> list[str]:
|
188 |
+
"""Retrieves subdomains associated to a domain if any.
|
189 |
+
|
190 |
+
The information retrieved from a domain is its subdomains
|
191 |
+
provided they are the top 1000 subdomain prefixes as
|
192 |
+
indicated by https://github.com/rbsec/dnscan/tree/master
|
193 |
+
|
194 |
+
Importantly, it finds subdomains only if their prefixes
|
195 |
+
are along the top 1000 most common. Hence, it may not
|
196 |
+
yield all the subdomains associated to the domain.
|
197 |
+
|
198 |
+
Example:
|
199 |
+
>>> scrap_subdomains_for_domain("github.com")
|
200 |
+
... ['www.github.com', 'smtp.github.com', 'ns1.github.com',
|
201 |
+
'ns2.github.com','autodiscover.github.com', 'test.github.com',
|
202 |
+
'blog.github.com', 'admin.github.com', 'support.github.com',
|
203 |
+
'docs.github.com', 'shop.github.com', 'wiki.github.com',
|
204 |
+
'api.github.com', 'live.github.com', 'help.github.com',
|
205 |
+
'jobs.github.com', 'services.github.com', 'de.github.com',
|
206 |
+
'cs.github.com', 'fr.github.com', 'ssh.github.com',
|
207 |
+
'partner.github.com', 'community.github.com',
|
208 |
+
'mailer.github.com', 'training.github.com', ...]
|
209 |
+
|
210 |
+
Args:
|
211 |
+
domain_name: domain name for which to retrieve a
|
212 |
+
list of subdomains
|
213 |
+
|
214 |
+
Returns:
|
215 |
+
List of subdomains if any.
|
216 |
+
"""
|
217 |
+
try:
|
218 |
+
with open(_COMMON_SUBDOMAINS_TXT_PATH) as file: # noqa: PTH123
|
219 |
+
subdomains = [line.strip() for line in file if line.strip()]
|
220 |
+
except FileNotFoundError:
|
221 |
+
return []
|
222 |
+
|
223 |
+
potential_subdomains = [f"{subdomain}.{domain_name}" for subdomain in subdomains]
|
224 |
+
with ThreadPoolExecutor(max_workers=5) as executor:
|
225 |
+
results = executor.map(resolve_subdomain_ipv4, potential_subdomains)
|
226 |
+
return [domain for domain in results if domain]
|
227 |
+
|
228 |
+
def retrieve_ioc_from_threatfox(potentially_ioc: str) -> str:
|
229 |
+
r"""Retrieves information about a potential IoC from ThreatFox.
|
230 |
+
|
231 |
+
It may be used to retrieve information of indicators of compromise
|
232 |
+
(IOCs) associated with malware, with the infosec community, AV
|
233 |
+
vendors and cyber threat intelligence providers.
|
234 |
+
|
235 |
+
Examples:
|
236 |
+
>>> retrieve_ioc_from_threatfox("139.180.203.104")
|
237 |
+
... {
|
238 |
+
"query_status": "ok",
|
239 |
+
"data": [
|
240 |
+
{
|
241 |
+
"id": "12",
|
242 |
+
"ioc": "139.180.203.104:443",
|
243 |
+
"threat_type": "botnet_cc",
|
244 |
+
"threat_type_desc": "Indicator that identifies a botnet command&control...",
|
245 |
+
"ioc_type": "ip:port",
|
246 |
+
"ioc_type_desc": "ip:port combination that is used for botnet Command&...,
|
247 |
+
"malware": "win.cobalt_strike",
|
248 |
+
"malware_printable": "Cobalt Strike",
|
249 |
+
"malware_alias": "Agentemis,BEACON,CobaltStrike",
|
250 |
+
"malware_malpedia": "https:\/\/malpedia.caad.fkie.fraunhofer.de\/...",
|
251 |
+
"confidence_level": 75,
|
252 |
+
"first_seen": "2020-12-06 09:10:23 UTC",
|
253 |
+
"last_seen": null,
|
254 |
+
"reference": null,
|
255 |
+
"reporter": "abuse_ch",
|
256 |
+
"tags": null,
|
257 |
+
"malware_samples": [
|
258 |
+
{
|
259 |
+
"time_stamp": "2021-03-23 08:18:06 UTC",
|
260 |
+
"md5_hash": "5b7e82e051ade4b14d163eea2a17bf8b",
|
261 |
+
"sha256_hash": "b325c92fa540edeb89b95dbfd4400c1cb33599c66859....",
|
262 |
+
"malware_bazaar": "https:\/\/bazaar.abuse.ch\/sample\/b325c...\/"
|
263 |
+
},
|
264 |
+
]
|
265 |
+
|
266 |
+
}
|
267 |
+
]
|
268 |
+
}
|
269 |
+
|
270 |
+
Args:
|
271 |
+
potentially_ioc: this can be a url, a domain, a hash,
|
272 |
+
or any other type of IoC.
|
273 |
+
|
274 |
+
Returns:
|
275 |
+
Information of the input as an IoC: threat type, malware type andsamples,
|
276 |
+
confidence level, first/last seen dates, and more IoC information.
|
277 |
+
"""
|
278 |
+
headers = {"Auth-Key": os.environ["THREATFOX_APIKEY"]}
|
279 |
+
pool = urllib3.HTTPSConnectionPool(
|
280 |
+
"threatfox-api.abuse.ch",
|
281 |
+
port=443,
|
282 |
+
maxsize=50,
|
283 |
+
headers=headers,
|
284 |
+
)
|
285 |
+
data = {
|
286 |
+
"query": "search_ioc",
|
287 |
+
"search_term": potentially_ioc,
|
288 |
+
}
|
289 |
+
json_data = json.dumps(data)
|
290 |
+
try:
|
291 |
+
response = pool.request("POST", "/api/v1/", body=json_data)
|
292 |
+
return response.data.decode("utf-8", "ignore")
|
293 |
+
except Exception as e: # noqa: BLE001
|
294 |
+
return str(e)
|
295 |
+
|
296 |
+
|
297 |
+
geo_location_tool = gr.Interface(
|
298 |
+
fn=get_geolocation,
|
299 |
+
inputs=["text"],
|
300 |
+
outputs=["text"],
|
301 |
+
title="Domain Associated Geolocation Finder",
|
302 |
+
description="Retrieves the geolocation associated to an input ip address",
|
303 |
+
theme="default",
|
304 |
+
)
|
305 |
+
|
306 |
+
dns_enumeration_tool = gr.Interface(
|
307 |
+
fn=enumerate_dns,
|
308 |
+
inputs=["text"],
|
309 |
+
outputs=["text"],
|
310 |
+
title="DNS record enumerator of domains",
|
311 |
+
description="Retrieves several dns record types for the input domain names",
|
312 |
+
theme="default",
|
313 |
+
)
|
314 |
+
|
315 |
+
scrap_subdomains_tool = gr.Interface(
|
316 |
+
fn=scrap_subdomains_for_domain,
|
317 |
+
inputs=["text"],
|
318 |
+
outputs=["text"],
|
319 |
+
title="Subdomains Extractor of domains",
|
320 |
+
description="Retrieves the subdomains for the input domain if they are common",
|
321 |
+
theme="default",
|
322 |
+
)
|
323 |
+
|
324 |
+
extractor_of_ioc_from_threatfox_tool = gr.Interface(
|
325 |
+
fn=retrieve_ioc_from_threatfox,
|
326 |
+
inputs=["text"],
|
327 |
+
outputs=["text"],
|
328 |
+
title="IoC information extractor associated to particular entities",
|
329 |
+
description=(
|
330 |
+
"If information as an Indicator of Compromise (IoC) exists"
|
331 |
+
"for the input url, domain or hash, it retrieves it"
|
332 |
+
),
|
333 |
+
theme="default",
|
334 |
+
)
|
uv.lock
CHANGED
@@ -28,7 +28,7 @@ wheels = [
|
|
28 |
|
29 |
[[package]]
|
30 |
name = "aiohttp"
|
31 |
-
version = "3.12.
|
32 |
source = { registry = "https://pypi.org/simple" }
|
33 |
dependencies = [
|
34 |
{ name = "aiohappyeyeballs" },
|
@@ -40,76 +40,76 @@ dependencies = [
|
|
40 |
{ name = "propcache" },
|
41 |
{ name = "yarl" },
|
42 |
]
|
43 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
44 |
-
wheels = [
|
45 |
-
{ url = "https://files.pythonhosted.org/packages/
|
46 |
-
{ url = "https://files.pythonhosted.org/packages/
|
47 |
-
{ url = "https://files.pythonhosted.org/packages/
|
48 |
-
{ url = "https://files.pythonhosted.org/packages/
|
49 |
-
{ url = "https://files.pythonhosted.org/packages/
|
50 |
-
{ url = "https://files.pythonhosted.org/packages/
|
51 |
-
{ url = "https://files.pythonhosted.org/packages/
|
52 |
-
{ url = "https://files.pythonhosted.org/packages/
|
53 |
-
{ url = "https://files.pythonhosted.org/packages/
|
54 |
-
{ url = "https://files.pythonhosted.org/packages/
|
55 |
-
{ url = "https://files.pythonhosted.org/packages/
|
56 |
-
{ url = "https://files.pythonhosted.org/packages/
|
57 |
-
{ url = "https://files.pythonhosted.org/packages/
|
58 |
-
{ url = "https://files.pythonhosted.org/packages/
|
59 |
-
{ url = "https://files.pythonhosted.org/packages/
|
60 |
-
{ url = "https://files.pythonhosted.org/packages/
|
61 |
-
{ url = "https://files.pythonhosted.org/packages/
|
62 |
-
{ url = "https://files.pythonhosted.org/packages/
|
63 |
-
{ url = "https://files.pythonhosted.org/packages/
|
64 |
-
{ url = "https://files.pythonhosted.org/packages/
|
65 |
-
{ url = "https://files.pythonhosted.org/packages/
|
66 |
-
{ url = "https://files.pythonhosted.org/packages/
|
67 |
-
{ url = "https://files.pythonhosted.org/packages/
|
68 |
-
{ url = "https://files.pythonhosted.org/packages/
|
69 |
-
{ url = "https://files.pythonhosted.org/packages/
|
70 |
-
{ url = "https://files.pythonhosted.org/packages/
|
71 |
-
{ url = "https://files.pythonhosted.org/packages/
|
72 |
-
{ url = "https://files.pythonhosted.org/packages/
|
73 |
-
{ url = "https://files.pythonhosted.org/packages/
|
74 |
-
{ url = "https://files.pythonhosted.org/packages/
|
75 |
-
{ url = "https://files.pythonhosted.org/packages/
|
76 |
-
{ url = "https://files.pythonhosted.org/packages/
|
77 |
-
{ url = "https://files.pythonhosted.org/packages/
|
78 |
-
{ url = "https://files.pythonhosted.org/packages/
|
79 |
-
{ url = "https://files.pythonhosted.org/packages/
|
80 |
-
{ url = "https://files.pythonhosted.org/packages/
|
81 |
-
{ url = "https://files.pythonhosted.org/packages/
|
82 |
-
{ url = "https://files.pythonhosted.org/packages/
|
83 |
-
{ url = "https://files.pythonhosted.org/packages/
|
84 |
-
{ url = "https://files.pythonhosted.org/packages/
|
85 |
-
{ url = "https://files.pythonhosted.org/packages/
|
86 |
-
{ url = "https://files.pythonhosted.org/packages/
|
87 |
-
{ url = "https://files.pythonhosted.org/packages/
|
88 |
-
{ url = "https://files.pythonhosted.org/packages/
|
89 |
-
{ url = "https://files.pythonhosted.org/packages/
|
90 |
-
{ url = "https://files.pythonhosted.org/packages/
|
91 |
-
{ url = "https://files.pythonhosted.org/packages/
|
92 |
-
{ url = "https://files.pythonhosted.org/packages/
|
93 |
-
{ url = "https://files.pythonhosted.org/packages/
|
94 |
-
{ url = "https://files.pythonhosted.org/packages/
|
95 |
-
{ url = "https://files.pythonhosted.org/packages/
|
96 |
-
{ url = "https://files.pythonhosted.org/packages/
|
97 |
-
{ url = "https://files.pythonhosted.org/packages/
|
98 |
-
{ url = "https://files.pythonhosted.org/packages/
|
99 |
-
{ url = "https://files.pythonhosted.org/packages/
|
100 |
-
{ url = "https://files.pythonhosted.org/packages/
|
101 |
-
{ url = "https://files.pythonhosted.org/packages/
|
102 |
-
{ url = "https://files.pythonhosted.org/packages/
|
103 |
-
{ url = "https://files.pythonhosted.org/packages/
|
104 |
-
{ url = "https://files.pythonhosted.org/packages/
|
105 |
-
{ url = "https://files.pythonhosted.org/packages/
|
106 |
-
{ url = "https://files.pythonhosted.org/packages/
|
107 |
-
{ url = "https://files.pythonhosted.org/packages/
|
108 |
-
{ url = "https://files.pythonhosted.org/packages/
|
109 |
-
{ url = "https://files.pythonhosted.org/packages/
|
110 |
-
{ url = "https://files.pythonhosted.org/packages/
|
111 |
-
{ url = "https://files.pythonhosted.org/packages/
|
112 |
-
{ url = "https://files.pythonhosted.org/packages/
|
113 |
]
|
114 |
|
115 |
[[package]]
|
@@ -498,12 +498,21 @@ wheels = [
|
|
498 |
{ url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" },
|
499 |
]
|
500 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
501 |
[[package]]
|
502 |
name = "exceptiongroup"
|
503 |
version = "1.3.0"
|
504 |
source = { registry = "https://pypi.org/simple" }
|
505 |
dependencies = [
|
506 |
-
{ name = "typing-extensions", marker = "python_full_version < '3.
|
507 |
]
|
508 |
sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" }
|
509 |
wheels = [
|
@@ -647,7 +656,7 @@ wheels = [
|
|
647 |
|
648 |
[[package]]
|
649 |
name = "gradio"
|
650 |
-
version = "5.
|
651 |
source = { registry = "https://pypi.org/simple" }
|
652 |
dependencies = [
|
653 |
{ name = "aiofiles" },
|
@@ -680,9 +689,9 @@ dependencies = [
|
|
680 |
{ name = "urllib3", marker = "sys_platform == 'emscripten'" },
|
681 |
{ name = "uvicorn", marker = "sys_platform != 'emscripten'" },
|
682 |
]
|
683 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
684 |
wheels = [
|
685 |
-
{ url = "https://files.pythonhosted.org/packages/
|
686 |
]
|
687 |
|
688 |
[package.optional-dependencies]
|
@@ -728,17 +737,17 @@ wheels = [
|
|
728 |
|
729 |
[[package]]
|
730 |
name = "hf-xet"
|
731 |
-
version = "1.1.
|
732 |
source = { registry = "https://pypi.org/simple" }
|
733 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
734 |
wheels = [
|
735 |
-
{ url = "https://files.pythonhosted.org/packages/
|
736 |
-
{ url = "https://files.pythonhosted.org/packages/
|
737 |
-
{ url = "https://files.pythonhosted.org/packages/
|
738 |
-
{ url = "https://files.pythonhosted.org/packages/
|
739 |
-
{ url = "https://files.pythonhosted.org/packages/
|
740 |
-
{ url = "https://files.pythonhosted.org/packages/
|
741 |
-
{ url = "https://files.pythonhosted.org/packages/
|
742 |
]
|
743 |
|
744 |
[[package]]
|
@@ -1283,11 +1292,11 @@ wheels = [
|
|
1283 |
|
1284 |
[[package]]
|
1285 |
name = "packageurl-python"
|
1286 |
-
version = "0.
|
1287 |
source = { registry = "https://pypi.org/simple" }
|
1288 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1289 |
wheels = [
|
1290 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1291 |
]
|
1292 |
|
1293 |
[[package]]
|
@@ -1301,7 +1310,7 @@ wheels = [
|
|
1301 |
|
1302 |
[[package]]
|
1303 |
name = "pandas"
|
1304 |
-
version = "2.
|
1305 |
source = { registry = "https://pypi.org/simple" }
|
1306 |
dependencies = [
|
1307 |
{ name = "numpy" },
|
@@ -1309,42 +1318,33 @@ dependencies = [
|
|
1309 |
{ name = "pytz" },
|
1310 |
{ name = "tzdata" },
|
1311 |
]
|
1312 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1313 |
-
wheels = [
|
1314 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1315 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1316 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1317 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1318 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1319 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1320 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1321 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1322 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1323 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1324 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1325 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1326 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1327 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1328 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1329 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1330 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1331 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1332 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1333 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1334 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1335 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1336 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1337 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1338 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1339 |
-
{ url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" },
|
1340 |
-
{ url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" },
|
1341 |
-
{ url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" },
|
1342 |
-
{ url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" },
|
1343 |
-
{ url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" },
|
1344 |
-
{ url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" },
|
1345 |
-
{ url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" },
|
1346 |
-
{ url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" },
|
1347 |
-
{ url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" },
|
1348 |
]
|
1349 |
|
1350 |
[[package]]
|
@@ -2148,6 +2148,7 @@ dependencies = [
|
|
2148 |
{ name = "attackcti" },
|
2149 |
{ name = "black" },
|
2150 |
{ name = "cachetools" },
|
|
|
2151 |
{ name = "gradio", extra = ["mcp"] },
|
2152 |
{ name = "python-whois" },
|
2153 |
{ name = "requests" },
|
@@ -2173,6 +2174,7 @@ requires-dist = [
|
|
2173 |
{ name = "attackcti", specifier = ">=0.5.4" },
|
2174 |
{ name = "black", specifier = ">=25.1.0" },
|
2175 |
{ name = "cachetools", specifier = ">=6.0.0" },
|
|
|
2176 |
{ name = "gradio", extras = ["mcp"], specifier = ">=5.32.1" },
|
2177 |
{ name = "python-whois", specifier = ">=0.9.5" },
|
2178 |
{ name = "requests", specifier = ">=2.32.3" },
|
@@ -2243,11 +2245,11 @@ wheels = [
|
|
2243 |
|
2244 |
[[package]]
|
2245 |
name = "tomlkit"
|
2246 |
-
version = "0.13.
|
2247 |
source = { registry = "https://pypi.org/simple" }
|
2248 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
2249 |
wheels = [
|
2250 |
-
{ url = "https://files.pythonhosted.org/packages/
|
2251 |
]
|
2252 |
|
2253 |
[[package]]
|
|
|
28 |
|
29 |
[[package]]
|
30 |
name = "aiohttp"
|
31 |
+
version = "3.12.9"
|
32 |
source = { registry = "https://pypi.org/simple" }
|
33 |
dependencies = [
|
34 |
{ name = "aiohappyeyeballs" },
|
|
|
40 |
{ name = "propcache" },
|
41 |
{ name = "yarl" },
|
42 |
]
|
43 |
+
sdist = { url = "https://files.pythonhosted.org/packages/4b/ad/5b0f3451c2275af09966f1d7c0965facd4729a5b7efdc2eb728654679f85/aiohttp-3.12.9.tar.gz", hash = "sha256:2c9914c8914ff40b68c6e4ed5da33e88d4e8f368fddd03ceb0eb3175905ca782", size = 7810207, upload-time = "2025-06-04T16:26:40.157Z" }
|
44 |
+
wheels = [
|
45 |
+
{ url = "https://files.pythonhosted.org/packages/e1/fa/a843c04c15287d5c0abbfe6e2996e9a74fa4dd0470f280ae893357640fac/aiohttp-3.12.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:abb01935bb606bbc080424799bfda358d38374c45a7cbbc89f9bb330deb1db26", size = 700518, upload-time = "2025-06-04T16:23:09.783Z" },
|
46 |
+
{ url = "https://files.pythonhosted.org/packages/dc/9f/79feb65d4e8c193e56fe2fca5d352cc1e98548b43462f9ceb8c9fb740484/aiohttp-3.12.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e2337516411cd15b7257736484dfd5101fa0e6b11ef2086b4bb6db9365373dcb", size = 476888, upload-time = "2025-06-04T16:23:14.205Z" },
|
47 |
+
{ url = "https://files.pythonhosted.org/packages/cc/b4/136399c69fef6c412ef5b7a24fa5adf5b07965f686aa52ecb2d494b8bfe5/aiohttp-3.12.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:26874b2c61ab5d1e05d942d7254a565eeec11750bf8f1a8995c33d6d772f5015", size = 464660, upload-time = "2025-06-04T16:23:16.374Z" },
|
48 |
+
{ url = "https://files.pythonhosted.org/packages/cc/f4/9245dd38d760d92504fdc1a1cdaa3468b8642e0692875badc509312728a4/aiohttp-3.12.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:43dbedb626c6bb03cc8e9ab27b9da4414bc5540d3fe1bce0e687e50c20553689", size = 1646712, upload-time = "2025-06-04T16:23:19.012Z" },
|
49 |
+
{ url = "https://files.pythonhosted.org/packages/f7/52/907028e57dd34d89424f9adc03bdf2dcbf8ca66b1799a4b0362b3291adf3/aiohttp-3.12.9-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:18897f24e80bac4e7df5d37375ab22391f8b7beedfe617f8de064dbfd76ca36b", size = 1620767, upload-time = "2025-06-04T16:23:21.016Z" },
|
50 |
+
{ url = "https://files.pythonhosted.org/packages/d8/71/615d3f8fcbec363c998856726daeb8d7a1de348618ddbebf2799694d3f46/aiohttp-3.12.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2466804eaa42bf6340de28fba7254709db788989b891a7c5bd57a84f5a11c04b", size = 1693176, upload-time = "2025-06-04T16:23:23.465Z" },
|
51 |
+
{ url = "https://files.pythonhosted.org/packages/6d/f1/c815a3e91b89f678bbbd053e199438067c554d669f00b5d3a3ddcd4e31e9/aiohttp-3.12.9-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85ddf89da86915ab327fafe9059540707b9deac7cfad1dfda4621eac6590aa16", size = 1735490, upload-time = "2025-06-04T16:23:25.418Z" },
|
52 |
+
{ url = "https://files.pythonhosted.org/packages/d2/55/ff9a6951fb8aa04d95d4c206f189a62bf616a9ab7a325c8e72f1bd817f84/aiohttp-3.12.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8d89c0ea455b8e8e386db8b82a55671703d4868c7c1e38cca0d643232f50f8d", size = 1640156, upload-time = "2025-06-04T16:23:27.788Z" },
|
53 |
+
{ url = "https://files.pythonhosted.org/packages/22/97/c7d8d8ac53862a612dc06574f591d30b64326ef910c43bc5c0cbeffb9210/aiohttp-3.12.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ee5ca28436b9203d020924c6dacc1cca4e77acf5f8f5c5d236b123c0158a012", size = 1580277, upload-time = "2025-06-04T16:23:29.813Z" },
|
54 |
+
{ url = "https://files.pythonhosted.org/packages/d2/e8/6cdfe6f65713c4957311a4fad1b343bc93eb3a87b84ef8e5c18f06c77a69/aiohttp-3.12.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7ca2ad779958e1beb2f139e7d45f84c13f94f6c0f63025e435e31f3247cb5a05", size = 1624126, upload-time = "2025-06-04T16:23:31.756Z" },
|
55 |
+
{ url = "https://files.pythonhosted.org/packages/10/1d/9a63f309928ff6494626659c68bb4e0c8e2678dd5aa9e7a22a47305f297c/aiohttp-3.12.9-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:daae5ea9c06daacb056351273a38d4465446fbb5c8c8107a6f93db3e1d5bc4e8", size = 1634913, upload-time = "2025-06-04T16:23:35.171Z" },
|
56 |
+
{ url = "https://files.pythonhosted.org/packages/92/be/9a90641bc61777d9fbd037b12cafa0208726172c22decfdfbea5b82b931d/aiohttp-3.12.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:52cec94fa76e488b0ebc6586507421116d7993c7984ea020529107796b206117", size = 1610367, upload-time = "2025-06-04T16:23:37.519Z" },
|
57 |
+
{ url = "https://files.pythonhosted.org/packages/0f/63/16730d255cd92bf8f834b0199a7faf850989628129b6fa3684d541a4effe/aiohttp-3.12.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:db2aef30d877f44716c8ce4adb2162c7ccb9c58d6153bc68bd2cfb3fbd7d6a95", size = 1689952, upload-time = "2025-06-04T16:23:39.497Z" },
|
58 |
+
{ url = "https://files.pythonhosted.org/packages/35/aa/e7410f300a66b6db014873e0efcc277206433c89b60502e7434efccde43a/aiohttp-3.12.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1d205549f965bc69c377206643b06fd78d77ed20b8735765c54153cf00a51465", size = 1713189, upload-time = "2025-06-04T16:23:41.528Z" },
|
59 |
+
{ url = "https://files.pythonhosted.org/packages/69/18/d36db9ae9ae972310abbfbd8ebcf53e434e4973a017c9f5677efeb36f31f/aiohttp-3.12.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3fdaaf63a778ae020b9bf8a7ae4a80f87deb88152aad259764e994b3efe44d38", size = 1641531, upload-time = "2025-06-04T16:23:43.458Z" },
|
60 |
+
{ url = "https://files.pythonhosted.org/packages/ea/49/f4b6d7ada60b40328cf4b6430fc7677045cef4262cfb87818fb7f706964a/aiohttp-3.12.9-cp310-cp310-win32.whl", hash = "sha256:7aecd5546e5c65e4904fc697806a4830c2a4870cb7bae28a7f483db008bba3dc", size = 425901, upload-time = "2025-06-04T16:23:45.329Z" },
|
61 |
+
{ url = "https://files.pythonhosted.org/packages/df/5d/69701dee7c6a5248baea27df1609b8ecb3d0789969cf6e32424afb688824/aiohttp-3.12.9-cp310-cp310-win_amd64.whl", hash = "sha256:5cf338d75be82709bf1c8d8404f347661819c1cc9f34798d5b762377fd70ccd6", size = 449109, upload-time = "2025-06-04T16:23:47.686Z" },
|
62 |
+
{ url = "https://files.pythonhosted.org/packages/b8/6a/9df1a8463e19d1ad2f349c81c0a05a1d5762f42855fec3aae3bd88f9eefe/aiohttp-3.12.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:301eebd8e1134a8457151b451841a47d3440ce79fa9a0d1c70650bda624cbd69", size = 707827, upload-time = "2025-06-04T16:23:49.629Z" },
|
63 |
+
{ url = "https://files.pythonhosted.org/packages/44/a4/080e5aa0aabcd2cf75320169727b5ef0ffadd1774d1b07a27903b513f972/aiohttp-3.12.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0d8ba7652d815bd5b99189d5b685db5509a08f1282e047a849b7f4353df8a95c", size = 480110, upload-time = "2025-06-04T16:23:51.414Z" },
|
64 |
+
{ url = "https://files.pythonhosted.org/packages/ec/3e/d2e3f6864ca88f8b91afb20558fdcd43e11224fc4b4aad2103f05f37c98f/aiohttp-3.12.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:998a6e143b2a4ffee14fb2c2ff5a3338d70d811be3f5d4a13a305ee0f4c6ac42", size = 468371, upload-time = "2025-06-04T16:23:53.817Z" },
|
65 |
+
{ url = "https://files.pythonhosted.org/packages/83/c0/3347524ee435e13a9bfa54ae59a9e479f7cd05bf5062bee8471a6b39d933/aiohttp-3.12.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d011b13f3bfcf711ce9007ea08305a582135ee2105dc3202b011c055c1ac6f1", size = 1738567, upload-time = "2025-06-04T16:23:56.431Z" },
|
66 |
+
{ url = "https://files.pythonhosted.org/packages/98/af/96f10bc9f71aa806cdb1e4af3aa00352e20dc0e70b53a7147526b2f95e81/aiohttp-3.12.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3c7b314d565e235051893a46e14ea14ab05bb17fe99bdb2cf85e9adc62b4836c", size = 1687239, upload-time = "2025-06-04T16:23:58.428Z" },
|
67 |
+
{ url = "https://files.pythonhosted.org/packages/c7/f8/049a08282f9e5a45e903cc81ded19de718133daf21924c715ef0435038b3/aiohttp-3.12.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2bb6408bc2cb8ee5be4efb18bcfcfce4d76448f62237074917e146a425daf425", size = 1786031, upload-time = "2025-06-04T16:24:00.988Z" },
|
68 |
+
{ url = "https://files.pythonhosted.org/packages/26/3a/dc6ce1731d6a116d927c6c47e9f8dab283582d2e8fb31f49615ea2447b4c/aiohttp-3.12.9-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9ad4fe8d068544ba5d77500ea2d450f130109a4b0caf6d9197167303250f683", size = 1825076, upload-time = "2025-06-04T16:24:03.072Z" },
|
69 |
+
{ url = "https://files.pythonhosted.org/packages/d6/49/9e635c2f0a4d296e204ef87858ec2d6c590c944d5c3166c01d19813d3dc1/aiohttp-3.12.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55721245164191ac92808ad39f3b2876195b1e6521ead0aad7f1c9ae69568b1a", size = 1727537, upload-time = "2025-06-04T16:24:05.062Z" },
|
70 |
+
{ url = "https://files.pythonhosted.org/packages/67/92/64cbc47a73282eefca62e44ca44d771ccd40441e295b6b33531eed2d9f8f/aiohttp-3.12.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b5c5fbc9217578f5c9b5a65f27dfb044283b437cfa9cf52531f3ce94dca1e912", size = 1664613, upload-time = "2025-06-04T16:24:08.56Z" },
|
71 |
+
{ url = "https://files.pythonhosted.org/packages/11/52/8e78137d1145f5bc5e77d39a4072da3bbe4216ddc13624a91d4061913846/aiohttp-3.12.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5c7e03f6dd8210b76587cb17088b3e5e0dabfc6787d42db58bc933da932230b7", size = 1712887, upload-time = "2025-06-04T16:24:10.806Z" },
|
72 |
+
{ url = "https://files.pythonhosted.org/packages/07/e9/beb9b75a38be8746242d76d5d4671d5467e54e53208d654ee921cb331fc5/aiohttp-3.12.9-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c892b2400c0795bbf00303282029c66e8ba912dc9fabf4728ba69a63046c8020", size = 1708045, upload-time = "2025-06-04T16:24:14.321Z" },
|
73 |
+
{ url = "https://files.pythonhosted.org/packages/f9/14/91da26fd19abf723b61f0861a73a917b15f25b6473191a5d597b67ff9c4e/aiohttp-3.12.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4de97019fec6f236671ee5d5831cebf67fbd52ee6bd47e2b8c9941cd39698db1", size = 1688229, upload-time = "2025-06-04T16:24:16.459Z" },
|
74 |
+
{ url = "https://files.pythonhosted.org/packages/c6/a4/d8a68c5c3f618e29ae978497c93d05718a98614659336672bbac37d227d9/aiohttp-3.12.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:941cd1ce3d1f605fd062857b339f7c3cde5ce83392bfb1029c3de782b8f98b52", size = 1781830, upload-time = "2025-06-04T16:24:19.363Z" },
|
75 |
+
{ url = "https://files.pythonhosted.org/packages/bb/4a/2e526757885e0d69ef796c470b470084073d2f9286784f34457139a8c2a5/aiohttp-3.12.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:43f3d4d6264629d97d44a6d75603923c2c63dad6aff2f72b172635c43db739db", size = 1802292, upload-time = "2025-06-04T16:24:21.63Z" },
|
76 |
+
{ url = "https://files.pythonhosted.org/packages/77/92/5269deb655ee3ec8b48551b228ceccaa21e4fd61d44e7b6720618f09b958/aiohttp-3.12.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bbe5ab33a6810e9839270b3673eba683b9f91ed011be66feb4823f9fecf1bb73", size = 1715349, upload-time = "2025-06-04T16:24:23.873Z" },
|
77 |
+
{ url = "https://files.pythonhosted.org/packages/5b/a6/6be201fbeee6d80d4e84e7eae04a55a5b4ecce25aab012427094144bab26/aiohttp-3.12.9-cp311-cp311-win32.whl", hash = "sha256:9ec207177e0adc694ed4a41ca8ebdb4008edb8d475a8b94d71d73414fc4707b6", size = 425412, upload-time = "2025-06-04T16:24:25.882Z" },
|
78 |
+
{ url = "https://files.pythonhosted.org/packages/12/a3/8419c2493d19acba6fb13f4618ba71fb22ddd6178303f565aa8814792f87/aiohttp-3.12.9-cp311-cp311-win_amd64.whl", hash = "sha256:965d93b08eed59359721a324b998ebf5354c9049b17cd93d9de50c14092b6ace", size = 449801, upload-time = "2025-06-04T16:24:27.92Z" },
|
79 |
+
{ url = "https://files.pythonhosted.org/packages/45/2d/3234b91245a6f6cd0445c02604ac46c9e1d97cf50cfe421219533f061092/aiohttp-3.12.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7ae744b61b395e04b3d1acbbd301d98249397333f49419039517226ff32f3aa7", size = 698923, upload-time = "2025-06-04T16:24:30.016Z" },
|
80 |
+
{ url = "https://files.pythonhosted.org/packages/63/d0/a81d09aea9d1aef10582c4d8fbc0158898ce2247f326a9c9922c9556212c/aiohttp-3.12.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d467a2049c4405853799dea41474b0ea9852fd465e7e2df819d3a33ac53214e8", size = 473547, upload-time = "2025-06-04T16:24:32.131Z" },
|
81 |
+
{ url = "https://files.pythonhosted.org/packages/3b/ab/a282806eac098ddbd922038b1c2c5711ea4bb10fdb282f65986ae59c9096/aiohttp-3.12.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ba7a8b5f02c2826eb29e8d6c38f1bc509efb506a2862131079b5b8d880ed4b62", size = 466383, upload-time = "2025-06-04T16:24:34.201Z" },
|
82 |
+
{ url = "https://files.pythonhosted.org/packages/4d/2d/c6e796e6d7e57a3935772333d80e0407d66e551e2c7c2b930b7e18f527a4/aiohttp-3.12.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bfe590ddb0dca3cdb601787079276545f00cfb9493f73f00fa011e71dae6f5fd", size = 1713182, upload-time = "2025-06-04T16:24:36.314Z" },
|
83 |
+
{ url = "https://files.pythonhosted.org/packages/93/b7/bf9010f6dfe633147d74e93d41ec982b2538bfebcb6521a4139d187d07e3/aiohttp-3.12.9-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fc441aba05efec5c72127393f56206d0f3fb113aadcd1685033c10da1ff582ad", size = 1695833, upload-time = "2025-06-04T16:24:38.599Z" },
|
84 |
+
{ url = "https://files.pythonhosted.org/packages/9e/b9/fe87b305d1a0272cb5c499402525c06571840349f2b2a4ffdc20e2996ac2/aiohttp-3.12.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a3f20a1b72643a0be5c9fcb97eb22607fcca32f1ca497f09a88d1ec3109daae", size = 1750928, upload-time = "2025-06-04T16:24:41.319Z" },
|
85 |
+
{ url = "https://files.pythonhosted.org/packages/37/24/3ece3ca9c43b95a5836675c11f3be295fb65068ffffaad0e99a7a5b93c84/aiohttp-3.12.9-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3647dd1da43d595a52c5071b68fd8d39c0fd25b80f2cdd83eaabd9d59cd1f139", size = 1797083, upload-time = "2025-06-04T16:24:43.583Z" },
|
86 |
+
{ url = "https://files.pythonhosted.org/packages/1c/d2/c153f7858d9c6db578b495b15f533182bd95f24c62ab125cc039d97bf588/aiohttp-3.12.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:970bae350cedbabb7c9d0fc8564b004a547d4a27cf12dc986be0abf7d8cc8d81", size = 1716522, upload-time = "2025-06-04T16:24:46.356Z" },
|
87 |
+
{ url = "https://files.pythonhosted.org/packages/1a/a9/ecfffc1659d8e3f02e109afec4df58a600128a2f48819af7e76a398a1ad3/aiohttp-3.12.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ccc5a5a4ccfa0ef0191dad2926e9752c37f368d846a70e40095a8529c5fb6eb", size = 1632325, upload-time = "2025-06-04T16:24:48.639Z" },
|
88 |
+
{ url = "https://files.pythonhosted.org/packages/aa/07/69889c2e598661418f646038fc344769712a6dbc625c4b16f2d0191d872b/aiohttp-3.12.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:55197e86994682a332e8943eb01b462ae25630b10f245812e517251d7a922f25", size = 1693386, upload-time = "2025-06-04T16:24:51.032Z" },
|
89 |
+
{ url = "https://files.pythonhosted.org/packages/c3/fb/23e292231a5d6d7413c998d096ed7dae049e7fb2c3406019eb04cb93c5b7/aiohttp-3.12.9-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:94d0cf6606ed9f2373565b8d0005bb070afbb81525ef6fa6e0725b8aec0c0843", size = 1714841, upload-time = "2025-06-04T16:24:53.227Z" },
|
90 |
+
{ url = "https://files.pythonhosted.org/packages/80/bf/4d12162630ac2a39025c67bfeae94fdaeaec3b0438e65122f0012a570667/aiohttp-3.12.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0575d7ae9a9c206276a6aaa3ce364b467f29f0497c0db4449de060dc341d88d6", size = 1655490, upload-time = "2025-06-04T16:24:56Z" },
|
91 |
+
{ url = "https://files.pythonhosted.org/packages/bc/a0/6c4f84197d9d04f548405d89d504afaef4c94dfea3842c52fa852f7f4c28/aiohttp-3.12.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9f44a4ebd717cc39796c4647495bc2901d0c168c71cd0132691ae3d0312215a9", size = 1735055, upload-time = "2025-06-04T16:24:59.458Z" },
|
92 |
+
{ url = "https://files.pythonhosted.org/packages/aa/ae/6a9f1863e5d4b210890fb85b4b33e383351cc0588f1f30ea6866faef2141/aiohttp-3.12.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f9cdadfe84beb8ceafa98ab676e8c0caf1e5d60e8b33c385c11259ee0f7f2587", size = 1763027, upload-time = "2025-06-04T16:25:01.841Z" },
|
93 |
+
{ url = "https://files.pythonhosted.org/packages/5e/8c/7c0ca97b65f38d3453cee496da8d465a7b0b44d302c6b5c1da4d83b62f1b/aiohttp-3.12.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:995b5640969b1250e37be6fc92d185e523e8df446f8bfa723b347e52d7ae80f9", size = 1722637, upload-time = "2025-06-04T16:25:04.119Z" },
|
94 |
+
{ url = "https://files.pythonhosted.org/packages/4e/7b/9220a3c8d18398fa5195ece36970f71d8c5ba0b601c819b128dfe5171885/aiohttp-3.12.9-cp312-cp312-win32.whl", hash = "sha256:4cfa37e0797510fdb20ab0ee3ad483ae7cfacb27c6fb8de872a998705ad2286a", size = 420144, upload-time = "2025-06-04T16:25:06.369Z" },
|
95 |
+
{ url = "https://files.pythonhosted.org/packages/f2/7e/adc99e6dd37bb2d762f4d78df3abd4635531e36bf489b4b580decb7166a1/aiohttp-3.12.9-cp312-cp312-win_amd64.whl", hash = "sha256:fdbd04e9b05885eaaefdb81c163b6dc1431eb13ee2da16d82ee980d4dd123890", size = 446243, upload-time = "2025-06-04T16:25:08.554Z" },
|
96 |
+
{ url = "https://files.pythonhosted.org/packages/2b/5e/e7ee4927e72d65b68f612ca2013800c91aab38fd1f487926c2a8e4f1c8ea/aiohttp-3.12.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bf6fac88666d7e4c6cfe649d133fcedbc68e37a4472e8662d98a7cf576207303", size = 693344, upload-time = "2025-06-04T16:25:11.187Z" },
|
97 |
+
{ url = "https://files.pythonhosted.org/packages/65/b5/f1dfda86a66913bfa9b7c3fe30d13f4d5a3642d3176ad0019968cda35d97/aiohttp-3.12.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:74e87ea6c832311b18a32b06baa6fee90a83dd630de951cca1aa175c3c9fa1ce", size = 471005, upload-time = "2025-06-04T16:25:13.924Z" },
|
98 |
+
{ url = "https://files.pythonhosted.org/packages/09/e2/1502272a6e98665c71f9e996f126b64598c6e1660804eb4d78cad7ab3106/aiohttp-3.12.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16627b4caf6a36b605e3e1c4847e6d14af8e8d6b7dad322935be43237d4eb10d", size = 463304, upload-time = "2025-06-04T16:25:16.171Z" },
|
99 |
+
{ url = "https://files.pythonhosted.org/packages/88/38/5c308d02754e346ca9eae63a086f438aae9a4fc36cdd1708fe41588b3883/aiohttp-3.12.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:998e323c107c3f6396c1f9de72289009057c611942771f24114ae78a76af0af5", size = 1702124, upload-time = "2025-06-04T16:25:18.701Z" },
|
100 |
+
{ url = "https://files.pythonhosted.org/packages/ad/25/ab0af26f80c1b6035794d1c769d5671f7ecb59c93b64ea7dfced28df0dca/aiohttp-3.12.9-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:20f8a6d3af13f043a09726add6d096b533f180cf8b43970a8d9c9ca978bf45c5", size = 1683390, upload-time = "2025-06-04T16:25:20.98Z" },
|
101 |
+
{ url = "https://files.pythonhosted.org/packages/23/fa/9a510d5ec8e1a75008a1c0e985e1db2ce339b9f82d838c7598b85f8f16d4/aiohttp-3.12.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bd0e06c8626361027f69df510c8484e17568ba2f91b2de51ea055f86ed3b071", size = 1735458, upload-time = "2025-06-04T16:25:23.864Z" },
|
102 |
+
{ url = "https://files.pythonhosted.org/packages/0b/b2/870cabf883512f0f2cd9505bd7bce1e4574d137f132ab8d597ac5367b0ee/aiohttp-3.12.9-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64e22f12dd940a6e7b923637b10b611b752f6117bc3a780b7e61cc43c9e04892", size = 1784830, upload-time = "2025-06-04T16:25:26.212Z" },
|
103 |
+
{ url = "https://files.pythonhosted.org/packages/68/cd/ab572264f5efbb8059f40d92d411918215bc4e669a7684bfa1ea0617745d/aiohttp-3.12.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11b5bf453056b6ac4924ede1188d01e8b8d4801a6aa5351da3a7dbdbc03cb44e", size = 1707162, upload-time = "2025-06-04T16:25:28.663Z" },
|
104 |
+
{ url = "https://files.pythonhosted.org/packages/19/6f/8a6a1dedb8ee5a4034e49bb3cb81ced4fe239d4d047f6bab538320fcb5bc/aiohttp-3.12.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00369db59f09860e0e26c75035f80f92881103e90f5858c18f29eb4f8cb8970f", size = 1620865, upload-time = "2025-06-04T16:25:31.092Z" },
|
105 |
+
{ url = "https://files.pythonhosted.org/packages/ed/cf/6b7ab3b221a900a62e8cf26a47476377278675191aa2ea28327ba105c5c9/aiohttp-3.12.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:80fa1efc71d423be25db9dddefe8dcd90e487fbc9351a59549521b66405e71de", size = 1673887, upload-time = "2025-06-04T16:25:33.577Z" },
|
106 |
+
{ url = "https://files.pythonhosted.org/packages/16/5c/aaa1fe022e86291c34a4e15e41d7cad589b4bdd66d473d6d537420763ab2/aiohttp-3.12.9-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:5cade22a0f0a4665003ded2bc4d43bb69fde790e5a287187569509c33333a3ab", size = 1705551, upload-time = "2025-06-04T16:25:36.053Z" },
|
107 |
+
{ url = "https://files.pythonhosted.org/packages/86/bf/0f7393a2ef0df4464945c3081d0629a9cb9bfaefaaa922dba225f7c47824/aiohttp-3.12.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d4a0fe3cd45cf6fb18222deef92af1c3efe090b7f43d477de61b2360c90a4b32", size = 1648148, upload-time = "2025-06-04T16:25:38.961Z" },
|
108 |
+
{ url = "https://files.pythonhosted.org/packages/f9/71/286923ff54ae69c54e84bfbcc741b5833d980f192a93438f8d6cf153dae8/aiohttp-3.12.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:97b036ce251825fd5ab69d302ca8a99d3352af1c616cf40b2306fdb734cd6d30", size = 1724280, upload-time = "2025-06-04T16:25:41.423Z" },
|
109 |
+
{ url = "https://files.pythonhosted.org/packages/58/48/808167d6f115165da3fcc6b7bb49bce6cc648471aa30634bcd47a7c96a32/aiohttp-3.12.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eeac3a965552dbf79bcc0b9b963b5f7d6364b1542eb609937278d70d27ae997f", size = 1757753, upload-time = "2025-06-04T16:25:43.893Z" },
|
110 |
+
{ url = "https://files.pythonhosted.org/packages/c9/1b/949e7965d642cdd82c7d9576fd27c24b27f4e0e35586fceb81057a99f617/aiohttp-3.12.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a1f72b2560beaa949b5d3b324fc07b66846d39a8e7cc106ca450312a5771e3e", size = 1706642, upload-time = "2025-06-04T16:25:46.299Z" },
|
111 |
+
{ url = "https://files.pythonhosted.org/packages/90/43/ea621cb45fc0e3e0a7906a1fdfd7a3176892c29e4e3d9d4dfa05159ac485/aiohttp-3.12.9-cp313-cp313-win32.whl", hash = "sha256:e429fce99ac3fd6423622713d2474a5911f24816ccdaf9a74c3ece854b7375c1", size = 419167, upload-time = "2025-06-04T16:25:49.178Z" },
|
112 |
+
{ url = "https://files.pythonhosted.org/packages/ff/02/452bfb8285b980e463ca35c9d57b333a4defbb603983709dacfd27ca49a1/aiohttp-3.12.9-cp313-cp313-win_amd64.whl", hash = "sha256:ccb1931cc8b4dc6d7a2d83db39db18c3f9ac3d46a59289cea301acbad57f3d12", size = 445108, upload-time = "2025-06-04T16:25:51.544Z" },
|
113 |
]
|
114 |
|
115 |
[[package]]
|
|
|
498 |
{ url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" },
|
499 |
]
|
500 |
|
501 |
+
[[package]]
|
502 |
+
name = "dnspython"
|
503 |
+
version = "2.7.0"
|
504 |
+
source = { registry = "https://pypi.org/simple" }
|
505 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" }
|
506 |
+
wheels = [
|
507 |
+
{ url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" },
|
508 |
+
]
|
509 |
+
|
510 |
[[package]]
|
511 |
name = "exceptiongroup"
|
512 |
version = "1.3.0"
|
513 |
source = { registry = "https://pypi.org/simple" }
|
514 |
dependencies = [
|
515 |
+
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
516 |
]
|
517 |
sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" }
|
518 |
wheels = [
|
|
|
656 |
|
657 |
[[package]]
|
658 |
name = "gradio"
|
659 |
+
version = "5.33.0"
|
660 |
source = { registry = "https://pypi.org/simple" }
|
661 |
dependencies = [
|
662 |
{ name = "aiofiles" },
|
|
|
689 |
{ name = "urllib3", marker = "sys_platform == 'emscripten'" },
|
690 |
{ name = "uvicorn", marker = "sys_platform != 'emscripten'" },
|
691 |
]
|
692 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b0/97/908eb543fbce7c69250d6fbe87b6ccf4ce397d31bceb360b40316357c68c/gradio-5.33.0.tar.gz", hash = "sha256:0cba3a1596fda6cb0048dd7ddc2d57e6238a047c0df9dee5a4a0e5c2a74e8e50", size = 64888401, upload-time = "2025-06-04T21:47:57.431Z" }
|
693 |
wheels = [
|
694 |
+
{ url = "https://files.pythonhosted.org/packages/4f/c3/c9b09b8d7efd63d83a9c8d9c53b02e1b77238e14305a7ee561e0a8990465/gradio-5.33.0-py3-none-any.whl", hash = "sha256:165e412e1510a22471901744722f99a52cb56465a7e9609f1e400cac9999e9d8", size = 54208887, upload-time = "2025-06-04T21:47:52.002Z" },
|
695 |
]
|
696 |
|
697 |
[package.optional-dependencies]
|
|
|
737 |
|
738 |
[[package]]
|
739 |
name = "hf-xet"
|
740 |
+
version = "1.1.3"
|
741 |
source = { registry = "https://pypi.org/simple" }
|
742 |
+
sdist = { url = "https://files.pythonhosted.org/packages/75/dc/dc091aeeb671e71cbec30e84963f9c0202c17337b24b0a800e7d205543e8/hf_xet-1.1.3.tar.gz", hash = "sha256:a5f09b1dd24e6ff6bcedb4b0ddab2d81824098bb002cf8b4ffa780545fa348c3", size = 488127, upload-time = "2025-06-04T00:47:27.456Z" }
|
743 |
wheels = [
|
744 |
+
{ url = "https://files.pythonhosted.org/packages/9b/1f/bc01a4c0894973adebbcd4aa338a06815c76333ebb3921d94dcbd40dae6a/hf_xet-1.1.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c3b508b5f583a75641aebf732853deb058953370ce8184f5dabc49f803b0819b", size = 2256929, upload-time = "2025-06-04T00:47:21.206Z" },
|
745 |
+
{ url = "https://files.pythonhosted.org/packages/78/07/6ef50851b5c6b45b77a6e018fa299c69a2db3b8bbd0d5af594c0238b1ceb/hf_xet-1.1.3-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:b788a61977fbe6b5186e66239e2a329a3f0b7e7ff50dad38984c0c74f44aeca1", size = 2153719, upload-time = "2025-06-04T00:47:19.302Z" },
|
746 |
+
{ url = "https://files.pythonhosted.org/packages/52/48/e929e6e3db6e4758c2adf0f2ca2c59287f1b76229d8bdc1a4c9cfc05212e/hf_xet-1.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd2da210856444a34aad8ada2fc12f70dabed7cc20f37e90754d1d9b43bc0534", size = 4820519, upload-time = "2025-06-04T00:47:17.244Z" },
|
747 |
+
{ url = "https://files.pythonhosted.org/packages/28/2e/03f89c5014a5aafaa9b150655f811798a317036646623bdaace25f485ae8/hf_xet-1.1.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8203f52827e3df65981984936654a5b390566336956f65765a8aa58c362bb841", size = 4964121, upload-time = "2025-06-04T00:47:15.17Z" },
|
748 |
+
{ url = "https://files.pythonhosted.org/packages/47/8b/5cd399a92b47d98086f55fc72d69bc9ea5e5c6f27a9ed3e0cdd6be4e58a3/hf_xet-1.1.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:30c575a5306f8e6fda37edb866762140a435037365eba7a17ce7bd0bc0216a8b", size = 5283017, upload-time = "2025-06-04T00:47:23.239Z" },
|
749 |
+
{ url = "https://files.pythonhosted.org/packages/53/e3/2fcec58d2fcfd25ff07feb876f466cfa11f8dcf9d3b742c07fe9dd51ee0a/hf_xet-1.1.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7c1a6aa6abed1f696f8099aa9796ca04c9ee778a58728a115607de9cc4638ff1", size = 4970349, upload-time = "2025-06-04T00:47:25.383Z" },
|
750 |
+
{ url = "https://files.pythonhosted.org/packages/53/bf/10ca917e335861101017ff46044c90e517b574fbb37219347b83be1952f6/hf_xet-1.1.3-cp37-abi3-win_amd64.whl", hash = "sha256:b578ae5ac9c056296bb0df9d018e597c8dc6390c5266f35b5c44696003cde9f3", size = 2310934, upload-time = "2025-06-04T00:47:29.632Z" },
|
751 |
]
|
752 |
|
753 |
[[package]]
|
|
|
1292 |
|
1293 |
[[package]]
|
1294 |
name = "packageurl-python"
|
1295 |
+
version = "0.17.0"
|
1296 |
source = { registry = "https://pypi.org/simple" }
|
1297 |
+
sdist = { url = "https://files.pythonhosted.org/packages/12/d4/9d61ab5d98abbe8c70a87d26a605548a69346bcf318aa932299d83259812/packageurl_python-0.17.0.tar.gz", hash = "sha256:3cc44a01c9549c237f14c34981bae1008eb57c858c0af9039f4f13091807e1f3", size = 40767, upload-time = "2025-06-04T15:58:16.124Z" }
|
1298 |
wheels = [
|
1299 |
+
{ url = "https://files.pythonhosted.org/packages/64/e2/54b0b1fe702952c74f594f69634a8611ed6ebc20f87eeac97e26db8a0151/packageurl_python-0.17.0-py3-none-any.whl", hash = "sha256:c2a8e48d7b393b18806fd096abe326260b3aed82a07eda6c6628689b36ba52c4", size = 28518, upload-time = "2025-06-04T15:58:14.78Z" },
|
1300 |
]
|
1301 |
|
1302 |
[[package]]
|
|
|
1310 |
|
1311 |
[[package]]
|
1312 |
name = "pandas"
|
1313 |
+
version = "2.3.0"
|
1314 |
source = { registry = "https://pypi.org/simple" }
|
1315 |
dependencies = [
|
1316 |
{ name = "numpy" },
|
|
|
1318 |
{ name = "pytz" },
|
1319 |
{ name = "tzdata" },
|
1320 |
]
|
1321 |
+
sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload-time = "2025-06-05T03:27:54.133Z" }
|
1322 |
+
wheels = [
|
1323 |
+
{ url = "https://files.pythonhosted.org/packages/e2/2d/df6b98c736ba51b8eaa71229e8fcd91233a831ec00ab520e1e23090cc072/pandas-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:625466edd01d43b75b1883a64d859168e4556261a5035b32f9d743b67ef44634", size = 11527531, upload-time = "2025-06-05T03:25:48.648Z" },
|
1324 |
+
{ url = "https://files.pythonhosted.org/packages/77/1c/3f8c331d223f86ba1d0ed7d3ed7fcf1501c6f250882489cc820d2567ddbf/pandas-2.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a6872d695c896f00df46b71648eea332279ef4077a409e2fe94220208b6bb675", size = 10774764, upload-time = "2025-06-05T03:25:53.228Z" },
|
1325 |
+
{ url = "https://files.pythonhosted.org/packages/1b/45/d2599400fad7fe06b849bd40b52c65684bc88fbe5f0a474d0513d057a377/pandas-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4dd97c19bd06bc557ad787a15b6489d2614ddaab5d104a0310eb314c724b2d2", size = 11711963, upload-time = "2025-06-05T03:25:56.855Z" },
|
1326 |
+
{ url = "https://files.pythonhosted.org/packages/66/f8/5508bc45e994e698dbc93607ee6b9b6eb67df978dc10ee2b09df80103d9e/pandas-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:034abd6f3db8b9880aaee98f4f5d4dbec7c4829938463ec046517220b2f8574e", size = 12349446, upload-time = "2025-06-05T03:26:01.292Z" },
|
1327 |
+
{ url = "https://files.pythonhosted.org/packages/a1/9b/8743be105989c81fa33f8e2a4e9822ac0ad4aaf812c00fee6bb09fc814f9/pandas-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:39ff73ec07be5e90330cc6ff5705c651ace83374189dcdcb46e6ff54b4a72cd6", size = 13651218, upload-time = "2025-06-05T03:26:09.731Z" },
|
1328 |
+
{ url = "https://files.pythonhosted.org/packages/26/fa/8eeb2353f6d40974a6a9fd4081ad1700e2386cf4264a8f28542fd10b3e38/pandas-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:40cecc4ea5abd2921682b57532baea5588cc5f80f0231c624056b146887274d2", size = 11082485, upload-time = "2025-06-05T03:26:17.572Z" },
|
1329 |
+
{ url = "https://files.pythonhosted.org/packages/96/1e/ba313812a699fe37bf62e6194265a4621be11833f5fce46d9eae22acb5d7/pandas-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8adff9f138fc614347ff33812046787f7d43b3cef7c0f0171b3340cae333f6ca", size = 11551836, upload-time = "2025-06-05T03:26:22.784Z" },
|
1330 |
+
{ url = "https://files.pythonhosted.org/packages/ee/3e/8c0fb7e2cf4a55198466ced1ca6a9054ae3b7e7630df7757031df10001fd/pandas-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa35c266c8cd1a67d75971a1912b185b492d257092bdd2709bbdebe574ed228d", size = 11788230, upload-time = "2025-06-05T03:26:27.417Z" },
|
1331 |
+
{ url = "https://files.pythonhosted.org/packages/14/22/b493ec614582307faf3f94989be0f7f0a71932ed6f56c9a80c0bb4a3b51e/pandas-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a0cc77b0f089d2d2ffe3007db58f170dae9b9f54e569b299db871a3ab5bf46", size = 12370423, upload-time = "2025-06-05T03:26:34.142Z" },
|
1332 |
+
{ url = "https://files.pythonhosted.org/packages/95/81/b310e60d033ab64b08e66c635b94076488f0b6ce6a674379dd5b224fc51c/pandas-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ed16339bc354a73e0a609df36d256672c7d296f3f767ac07257801aa064ff73c", size = 13745952, upload-time = "2025-06-05T03:26:39.475Z" },
|
1333 |
+
{ url = "https://files.pythonhosted.org/packages/25/ac/f6ee5250a8881b55bd3aecde9b8cfddea2f2b43e3588bca68a4e9aaf46c8/pandas-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fa07e138b3f6c04addfeaf56cc7fdb96c3b68a3fe5e5401251f231fce40a0d7a", size = 11094534, upload-time = "2025-06-05T03:26:43.23Z" },
|
1334 |
+
{ url = "https://files.pythonhosted.org/packages/94/46/24192607058dd607dbfacdd060a2370f6afb19c2ccb617406469b9aeb8e7/pandas-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2eb4728a18dcd2908c7fccf74a982e241b467d178724545a48d0caf534b38ebf", size = 11573865, upload-time = "2025-06-05T03:26:46.774Z" },
|
1335 |
+
{ url = "https://files.pythonhosted.org/packages/01/a5/931fc3ad333d9d87b10107d948d757d67ebcfc33b1988d5faccc39c6845c/pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba24af48643b12ffe49b27065d3babd52702d95ab70f50e1b34f71ca703e2c0d", size = 11991493, upload-time = "2025-06-05T03:26:51.813Z" },
|
1336 |
+
{ url = "https://files.pythonhosted.org/packages/a4/0e/21eb48a3a34a7d4bac982afc2c4eb5ab09f2d988bdf29d92ba9ae8e90a79/pandas-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6021910b086b3ca756755e86ddc64e0ddafd5e58e076c72cb1585162e5ad259b", size = 13212406, upload-time = "2025-06-05T03:26:55.992Z" },
|
1337 |
+
{ url = "https://files.pythonhosted.org/packages/1f/d9/74017c4eec7a28892d8d6e31ae9de3baef71f5a5286e74e6b7aad7f8c837/pandas-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:094e271a15b579650ebf4c5155c05dcd2a14fd4fdd72cf4854b2f7ad31ea30be", size = 10976199, upload-time = "2025-06-05T03:26:59.594Z" },
|
1338 |
+
{ url = "https://files.pythonhosted.org/packages/d3/57/5cb75a56a4842bbd0511c3d1c79186d8315b82dac802118322b2de1194fe/pandas-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c7e2fc25f89a49a11599ec1e76821322439d90820108309bf42130d2f36c983", size = 11518913, upload-time = "2025-06-05T03:27:02.757Z" },
|
1339 |
+
{ url = "https://files.pythonhosted.org/packages/e8/6a/47fd7517cd8abe72a58706aab2b99e9438360d36dcdb052cf917b7bf3bdc/pandas-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb32dc743b52467d488e7a7c8039b821da2826a9ba4f85b89ea95274f863280f", size = 11328359, upload-time = "2025-06-05T03:27:06.431Z" },
|
1340 |
+
{ url = "https://files.pythonhosted.org/packages/2a/b3/463bfe819ed60fb7e7ddffb4ae2ee04b887b3444feee6c19437b8f834837/pandas-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:213cd63c43263dbb522c1f8a7c9d072e25900f6975596f883f4bebd77295d4f3", size = 12024789, upload-time = "2025-06-05T03:27:09.875Z" },
|
1341 |
+
{ url = "https://files.pythonhosted.org/packages/e9/df/815d6583967001153bb27f5cf075653d69d51ad887ebbf4cfe1173a1ac58/pandas-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:430a63bae10b5086995db1b02694996336e5a8ac9a96b4200572b413dfdfccb9", size = 13223381, upload-time = "2025-06-05T03:27:15.641Z" },
|
1342 |
+
{ url = "https://files.pythonhosted.org/packages/79/88/ca5973ed07b7f484c493e941dbff990861ca55291ff7ac67c815ce347395/pandas-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4930255e28ff5545e2ca404637bcc56f031893142773b3468dc021c6c32a1390", size = 10970135, upload-time = "2025-06-05T03:27:24.131Z" },
|
1343 |
+
{ url = "https://files.pythonhosted.org/packages/24/fb/0994c14d1f7909ce83f0b1fb27958135513c4f3f2528bde216180aa73bfc/pandas-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f925f1ef673b4bd0271b1809b72b3270384f2b7d9d14a189b12b7fc02574d575", size = 12141356, upload-time = "2025-06-05T03:27:34.547Z" },
|
1344 |
+
{ url = "https://files.pythonhosted.org/packages/9d/a2/9b903e5962134497ac4f8a96f862ee3081cb2506f69f8e4778ce3d9c9d82/pandas-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78ad363ddb873a631e92a3c063ade1ecfb34cae71e9a2be6ad100f875ac1042", size = 11474674, upload-time = "2025-06-05T03:27:39.448Z" },
|
1345 |
+
{ url = "https://files.pythonhosted.org/packages/81/3a/3806d041bce032f8de44380f866059437fb79e36d6b22c82c187e65f765b/pandas-2.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951805d146922aed8357e4cc5671b8b0b9be1027f0619cea132a9f3f65f2f09c", size = 11439876, upload-time = "2025-06-05T03:27:43.652Z" },
|
1346 |
+
{ url = "https://files.pythonhosted.org/packages/15/aa/3fc3181d12b95da71f5c2537c3e3b3af6ab3a8c392ab41ebb766e0929bc6/pandas-2.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a881bc1309f3fce34696d07b00f13335c41f5f5a8770a33b09ebe23261cfc67", size = 11966182, upload-time = "2025-06-05T03:27:47.652Z" },
|
1347 |
+
{ url = "https://files.pythonhosted.org/packages/39/c2/646d2e93e0af70f4e5359d870a63584dacbc324b54d73e6b3267920ff117/pandas-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bb3be958022198531eb7ec2008cfc78c5b1eed51af8600c6c5d9160d89d8d249", size = 13231847, upload-time = "2025-06-05T03:27:51.465Z" },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1348 |
]
|
1349 |
|
1350 |
[[package]]
|
|
|
2148 |
{ name = "attackcti" },
|
2149 |
{ name = "black" },
|
2150 |
{ name = "cachetools" },
|
2151 |
+
{ name = "dnspython" },
|
2152 |
{ name = "gradio", extra = ["mcp"] },
|
2153 |
{ name = "python-whois" },
|
2154 |
{ name = "requests" },
|
|
|
2174 |
{ name = "attackcti", specifier = ">=0.5.4" },
|
2175 |
{ name = "black", specifier = ">=25.1.0" },
|
2176 |
{ name = "cachetools", specifier = ">=6.0.0" },
|
2177 |
+
{ name = "dnspython", specifier = ">=2.7.0" },
|
2178 |
{ name = "gradio", extras = ["mcp"], specifier = ">=5.32.1" },
|
2179 |
{ name = "python-whois", specifier = ">=0.9.5" },
|
2180 |
{ name = "requests", specifier = ">=2.32.3" },
|
|
|
2245 |
|
2246 |
[[package]]
|
2247 |
name = "tomlkit"
|
2248 |
+
version = "0.13.3"
|
2249 |
source = { registry = "https://pypi.org/simple" }
|
2250 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" }
|
2251 |
wheels = [
|
2252 |
+
{ url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" },
|
2253 |
]
|
2254 |
|
2255 |
[[package]]
|