vysion 2.0.8__py3-none-any.whl → 2.0.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vysion/client/client.py +47 -7
- vysion/dto/dto.py +58 -3
- vysion/version.py +1 -1
- {vysion-2.0.8.dist-info → vysion-2.0.10.dist-info}/METADATA +3 -3
- {vysion-2.0.8.dist-info → vysion-2.0.10.dist-info}/RECORD +7 -7
- {vysion-2.0.8.dist-info → vysion-2.0.10.dist-info}/LICENSE +0 -0
- {vysion-2.0.8.dist-info → vysion-2.0.10.dist-info}/WHEEL +0 -0
vysion/client/client.py
CHANGED
|
@@ -205,27 +205,59 @@ class Client(BaseClient):
|
|
|
205
205
|
self,
|
|
206
206
|
url: str,
|
|
207
207
|
page: int = 1,
|
|
208
|
+
page_size: int = 10,
|
|
208
209
|
lte: datetime = None,
|
|
209
210
|
gte: datetime = None,
|
|
210
211
|
) -> VysionResponse[DocumentHit]:
|
|
211
|
-
url = self._build_api_url__(
|
|
212
|
+
url = self._build_api_url__(
|
|
213
|
+
"document/url",
|
|
214
|
+
url,
|
|
215
|
+
page=page,
|
|
216
|
+
page_size=page_size,
|
|
217
|
+
lte=lte,
|
|
218
|
+
gte=gte,
|
|
219
|
+
)
|
|
212
220
|
|
|
213
221
|
result = VysionResponse[DocumentHit].model_validate(self._make_request(url))
|
|
214
222
|
return result.data
|
|
215
223
|
|
|
216
224
|
@vysion_error_manager
|
|
217
|
-
def get_tag(
|
|
218
|
-
|
|
225
|
+
def get_tag(
|
|
226
|
+
self,
|
|
227
|
+
tag: str,
|
|
228
|
+
gte: datetime = None,
|
|
229
|
+
lte: datetime = None,
|
|
230
|
+
page: int = 1,
|
|
231
|
+
page_size: int = 10,
|
|
232
|
+
) -> VysionResponse[DocumentHit]:
|
|
233
|
+
url = self._build_api_url__(
|
|
234
|
+
"document/tag",
|
|
235
|
+
tag,
|
|
236
|
+
gte=gte,
|
|
237
|
+
lte=lte,
|
|
238
|
+
page=page,
|
|
239
|
+
page_size=page_size,
|
|
240
|
+
)
|
|
219
241
|
|
|
220
242
|
result = VysionResponse[DocumentHit].model_validate(self._make_request(url))
|
|
221
243
|
return result.data
|
|
222
244
|
|
|
223
245
|
@vysion_error_manager
|
|
224
246
|
def find_email(
|
|
225
|
-
self,
|
|
247
|
+
self,
|
|
248
|
+
email: str,
|
|
249
|
+
page: int = 1,
|
|
250
|
+
page_size: int = 10,
|
|
251
|
+
lte: datetime = None,
|
|
252
|
+
gte: datetime = None
|
|
226
253
|
) -> VysionResponse[DocumentHit]:
|
|
227
254
|
url = self._build_api_url__(
|
|
228
|
-
"document/email",
|
|
255
|
+
"document/email",
|
|
256
|
+
email,
|
|
257
|
+
page=page,
|
|
258
|
+
page_size=page_size,
|
|
259
|
+
lte=lte,
|
|
260
|
+
gte=gte
|
|
229
261
|
)
|
|
230
262
|
|
|
231
263
|
result = VysionResponse[DocumentHit].model_validate(self._make_request(url))
|
|
@@ -237,6 +269,7 @@ class Client(BaseClient):
|
|
|
237
269
|
country_code: str,
|
|
238
270
|
phone_number: str,
|
|
239
271
|
page: int = 1,
|
|
272
|
+
page_size: int = 10,
|
|
240
273
|
lte: datetime = None,
|
|
241
274
|
gte: datetime = None,
|
|
242
275
|
) -> VysionResponse[DocumentHit]:
|
|
@@ -244,6 +277,7 @@ class Client(BaseClient):
|
|
|
244
277
|
"document/phone/" + country_code,
|
|
245
278
|
phone_number,
|
|
246
279
|
page=page,
|
|
280
|
+
page_size=page_size,
|
|
247
281
|
lte=lte,
|
|
248
282
|
gte=gte,
|
|
249
283
|
)
|
|
@@ -257,11 +291,17 @@ class Client(BaseClient):
|
|
|
257
291
|
chain: str,
|
|
258
292
|
address: str,
|
|
259
293
|
page: int = 1,
|
|
294
|
+
page_size: int = 10,
|
|
260
295
|
lte: datetime = None,
|
|
261
296
|
gte: datetime = None,
|
|
262
297
|
) -> VysionResponse[DocumentHit]:
|
|
263
298
|
url = self._build_api_url__(
|
|
264
|
-
"document/wallet/" + chain,
|
|
299
|
+
"document/wallet/" + chain,
|
|
300
|
+
address,
|
|
301
|
+
page=page,
|
|
302
|
+
page_size=page_size,
|
|
303
|
+
lte=lte,
|
|
304
|
+
gte=gte
|
|
265
305
|
)
|
|
266
306
|
|
|
267
307
|
result = VysionResponse[DocumentHit].model_validate(self._make_request(url))
|
|
@@ -440,4 +480,4 @@ class RansomwareFeed(DaylyFeed):
|
|
|
440
480
|
yield self._make_request(url)
|
|
441
481
|
|
|
442
482
|
|
|
443
|
-
# TODO /api/v1/feeds
|
|
483
|
+
# TODO /api/v1/feeds
|
vysion/dto/dto.py
CHANGED
|
@@ -212,6 +212,9 @@ class Page(BaseModel):
|
|
|
212
212
|
ssdeep: Optional[str] = None
|
|
213
213
|
detectionDate: datetime = None
|
|
214
214
|
chunk: bool = False
|
|
215
|
+
htmlOversize: Optional[bool] = False
|
|
216
|
+
docType: Optional[str] = None
|
|
217
|
+
|
|
215
218
|
|
|
216
219
|
|
|
217
220
|
class RansomwareHit(BaseModel):
|
|
@@ -223,7 +226,6 @@ class RansomwareHit(BaseModel):
|
|
|
223
226
|
companyLink: Optional[str] = None
|
|
224
227
|
country: Optional[str] = None
|
|
225
228
|
|
|
226
|
-
|
|
227
229
|
class DocumentHit(BaseModel):
|
|
228
230
|
page: Page
|
|
229
231
|
tag: List[Tag] = Field(default_factory=lambda: [])
|
|
@@ -296,6 +298,28 @@ class ImMessageHit(BaseModel):
|
|
|
296
298
|
sha256sum: Optional[str] = None
|
|
297
299
|
media: Optional[str] = Field(default_factory=lambda: None)
|
|
298
300
|
detectionDate: datetime
|
|
301
|
+
serverId: Optional[int] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
302
|
+
serverTitle: Optional[str] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
303
|
+
platform: Optional[str] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
304
|
+
|
|
305
|
+
@field_validator("messageId")
|
|
306
|
+
def validate_messageId(cls, v: int) -> int:
|
|
307
|
+
if not v:
|
|
308
|
+
raise ValueError("MessageId field cannot be empty")
|
|
309
|
+
return v
|
|
310
|
+
|
|
311
|
+
class ImMessageCardHit(BaseModel):
|
|
312
|
+
userId: Optional[int] = Field(default_factory=lambda: None)
|
|
313
|
+
username: Optional[str] = Field(default_factory=lambda: None)
|
|
314
|
+
channelId: Optional[int] = Field(default_factory=lambda: None)
|
|
315
|
+
messageId: str
|
|
316
|
+
message: Optional[str] = Field(default_factory=lambda: None)
|
|
317
|
+
channelTitle: Optional[str] = Field(default_factory=lambda: None)
|
|
318
|
+
languages: Optional[List[LanguagePair]] = Field(default_factory=lambda: None)
|
|
319
|
+
detectionDate: datetime
|
|
320
|
+
serverId: Optional[int] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
321
|
+
serverTitle: Optional[str] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
322
|
+
platform: Optional[str] = Field(default_factory=lambda: None)
|
|
299
323
|
|
|
300
324
|
@field_validator("messageId")
|
|
301
325
|
def validate_messageId(cls, v: int) -> int:
|
|
@@ -311,7 +335,10 @@ class ImProfileHit(BaseModel):
|
|
|
311
335
|
lastName: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
312
336
|
detectionDate: datetime
|
|
313
337
|
profilePhoto: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
314
|
-
|
|
338
|
+
bot: Optional[bool] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
339
|
+
discordLink: Optional[List[str]] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
340
|
+
discriminator: Optional[List[int]] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
341
|
+
|
|
315
342
|
@field_validator("userId")
|
|
316
343
|
def validate_userId(cls, v: int) -> int:
|
|
317
344
|
if not v:
|
|
@@ -330,7 +357,9 @@ class ImChannelHit(BaseModel):
|
|
|
330
357
|
channelTitles: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
331
358
|
detectionDate: datetime
|
|
332
359
|
creationDate: datetime
|
|
333
|
-
channelPhoto: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
360
|
+
channelPhoto: Optional[List[str]] = Field(default_factory=lambda: None) #Telegram Exclusive
|
|
361
|
+
serverId: Optional[int] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
362
|
+
serverTitle: Optional[List[str]] = Field(default_factory=lambda: None) #Discord Exclusive
|
|
334
363
|
|
|
335
364
|
@field_validator("channelId")
|
|
336
365
|
def validate_channelId(cls, v: int) -> int:
|
|
@@ -350,6 +379,32 @@ class ImChannelHit(BaseModel):
|
|
|
350
379
|
raise ValueError("creationDate field cannot be empty")
|
|
351
380
|
return v
|
|
352
381
|
|
|
382
|
+
class ImServerHit(BaseModel):
|
|
383
|
+
serverId: int
|
|
384
|
+
serverTitles: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
385
|
+
detectionDate: datetime
|
|
386
|
+
creationDate: datetime
|
|
387
|
+
serverPhoto: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
388
|
+
memberCount: Optional[int] = Field(default_factory=lambda: None)
|
|
389
|
+
discordLink: Optional[List[str]] = Field(default_factory=lambda: None)
|
|
390
|
+
|
|
391
|
+
@field_validator("serverId")
|
|
392
|
+
def validate_channelId(cls, v: int) -> int:
|
|
393
|
+
if not v:
|
|
394
|
+
raise ValueError("serverId field cannot be empty")
|
|
395
|
+
return v
|
|
396
|
+
|
|
397
|
+
@field_validator("detectionDate")
|
|
398
|
+
def validate_detectionDate(cls, v: datetime) -> datetime:
|
|
399
|
+
if not v:
|
|
400
|
+
raise ValueError("DetectionDate field cannot be empty")
|
|
401
|
+
return v
|
|
402
|
+
|
|
403
|
+
@field_validator("creationDate")
|
|
404
|
+
def validate_creationDate(cls, v: datetime) -> datetime:
|
|
405
|
+
if not v:
|
|
406
|
+
raise ValueError("creationDate field cannot be empty")
|
|
407
|
+
return v
|
|
353
408
|
|
|
354
409
|
class ImFeedHit(BaseModel):
|
|
355
410
|
id: str
|
vysion/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vysion
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.10
|
|
4
4
|
Summary: The official Python client library for Vysion
|
|
5
5
|
Home-page: https://vysion.ai
|
|
6
6
|
License: Apache-2.0
|
|
@@ -25,11 +25,11 @@ Description-Content-Type: text/markdown
|
|
|
25
25
|
|
|
26
26
|
# Vysion-PY
|
|
27
27
|
|
|
28
|
-
Welcome to the
|
|
28
|
+
Welcome to the open source repository for vysion-py, our implementation as a Python library to use the Vysion tool. Vysion is a dark web intelligence tool that provides information collected from web pages from Tor, I2P, cybercrime forums on the clearnet, etc. Vysion API also provides a feed of information on ransomware attacks published by the various ransomware groups currently active.
|
|
29
29
|
|
|
30
30
|
You can request a demo for the web app or an API-key to use in this library at [vysion.ai](https://vysion.ai).
|
|
31
31
|
|
|
32
|
-
Latest version: [2.0.
|
|
32
|
+
Latest version: [2.0.10](https://pypi.org/project/vysion/)
|
|
33
33
|
|
|
34
34
|
You can visit [the documentation](https://developers.vysion.ai/?python) for more information on the searches and requests performed with the library or directly on the API.
|
|
35
35
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
vysion/__init__.py,sha256=yxJiM-S29q8GB3PBff9tV70P2nvydd8aKLEprLkXw5o,664
|
|
2
2
|
vysion/client/__init__.py,sha256=aVHmBuetPdybp7TgcNzUx4HkxTjEuXYzSdDYiYfFQd0,630
|
|
3
|
-
vysion/client/client.py,sha256=
|
|
3
|
+
vysion/client/client.py,sha256=kBWCDXh2fJZWBTVQ5jPLL9tGL-1W5U1belWuLRxjkLM,13388
|
|
4
4
|
vysion/client/error.py,sha256=-3NGr9ngTGSy-ctqk6S9eMBAvtY3lnjv9i0KiuRjd5g,1158
|
|
5
5
|
vysion/dto/__init__.py,sha256=ct8JxVMfJ0APiOTgr9ju-JIuBlXOrPkx7n2qISSXUts,605
|
|
6
|
-
vysion/dto/dto.py,sha256=
|
|
6
|
+
vysion/dto/dto.py,sha256=WO66TqdCX1DQK9eogUjS0Qkw2puiWiv2TuFUDbL7VMk,15770
|
|
7
7
|
vysion/dto/tag.py,sha256=whGPsdasgYm8oijrL7MRSMmapzaoCmKNeaJ5ih0aBIk,1503
|
|
8
8
|
vysion/dto/util.py,sha256=yIooNK3TsbjSsla6JFLvnKBbahUymx87qpH3VKalKV0,4491
|
|
9
9
|
vysion/model/__init__.py,sha256=rJX9eNW9-jQGTgwm97W04jhZa-dV_dSTTTFcbWg73w0,606
|
|
@@ -15,8 +15,8 @@ vysion/model/enum/services.py,sha256=fUfZEO0RNNctU4Gzae5TV3c7BU5A_cEwaEb1tzqgcr0
|
|
|
15
15
|
vysion/taxonomy/__init__.py,sha256=Bc364AYxRCyjIn26-XBPeEDCPe3Hma4r5RAI8R8eblU,635
|
|
16
16
|
vysion/taxonomy/flavours.py,sha256=ubImHBE8v0zhzFy_2YozAQk2SzN1XDQwHAxb2RebtCo,2347
|
|
17
17
|
vysion/taxonomy/taxonomy.py,sha256=mG6vHX5Eyp38AKyJBgfBDqdpEmDMbkv8TA8YUBzko54,12227
|
|
18
|
-
vysion/version.py,sha256=
|
|
19
|
-
vysion-2.0.
|
|
20
|
-
vysion-2.0.
|
|
21
|
-
vysion-2.0.
|
|
22
|
-
vysion-2.0.
|
|
18
|
+
vysion/version.py,sha256=Xdhe9b17_dbpIMf7nWYeq2yIy4gslHyYQcarHteCl9Y,611
|
|
19
|
+
vysion-2.0.10.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
20
|
+
vysion-2.0.10.dist-info/METADATA,sha256=nLKGS1xTgG7CAwH71HeWrg4NuPZWHEyf__ficSjXu0c,1973
|
|
21
|
+
vysion-2.0.10.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
22
|
+
vysion-2.0.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|