StreamingCommunity 2.6.1__py3-none-any.whl → 2.8.0__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.

Potentially problematic release.


This version of StreamingCommunity might be problematic. Click here for more details.

Files changed (76) hide show
  1. StreamingCommunity/Api/Player/ddl.py +4 -4
  2. StreamingCommunity/Api/Player/maxstream.py +10 -16
  3. StreamingCommunity/Api/Player/supervideo.py +9 -35
  4. StreamingCommunity/Api/Player/vixcloud.py +18 -92
  5. StreamingCommunity/Api/Site/1337xx/__init__.py +8 -1
  6. StreamingCommunity/Api/Site/1337xx/site.py +16 -15
  7. StreamingCommunity/Api/Site/1337xx/title.py +7 -5
  8. StreamingCommunity/Api/Site/animeunity/__init__.py +9 -2
  9. StreamingCommunity/Api/Site/animeunity/film_serie.py +12 -5
  10. StreamingCommunity/Api/Site/animeunity/site.py +14 -10
  11. StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +9 -10
  12. StreamingCommunity/Api/Site/cb01new/__init__.py +8 -1
  13. StreamingCommunity/Api/Site/cb01new/film.py +7 -1
  14. StreamingCommunity/Api/Site/cb01new/site.py +24 -15
  15. StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +9 -2
  16. StreamingCommunity/Api/Site/ddlstreamitaly/series.py +7 -1
  17. StreamingCommunity/Api/Site/ddlstreamitaly/site.py +16 -15
  18. StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +3 -3
  19. StreamingCommunity/Api/Site/guardaserie/__init__.py +9 -2
  20. StreamingCommunity/Api/Site/guardaserie/series.py +9 -1
  21. StreamingCommunity/Api/Site/guardaserie/site.py +23 -22
  22. StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +5 -4
  23. StreamingCommunity/Api/Site/mostraguarda/__init__.py +6 -2
  24. StreamingCommunity/Api/Site/mostraguarda/film.py +10 -6
  25. StreamingCommunity/Api/Site/streamingcommunity/__init__.py +9 -2
  26. StreamingCommunity/Api/Site/streamingcommunity/film.py +9 -2
  27. StreamingCommunity/Api/Site/streamingcommunity/series.py +15 -6
  28. StreamingCommunity/Api/Site/streamingcommunity/site.py +16 -14
  29. StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +10 -11
  30. StreamingCommunity/Api/Template/Util/__init__.py +0 -1
  31. StreamingCommunity/Api/Template/Util/get_domain.py +31 -134
  32. StreamingCommunity/Api/Template/Util/manage_ep.py +10 -5
  33. StreamingCommunity/Api/Template/config_loader.py +14 -10
  34. StreamingCommunity/Api/Template/site.py +3 -6
  35. StreamingCommunity/Lib/Downloader/HLS/downloader.py +12 -15
  36. StreamingCommunity/Lib/Downloader/HLS/segments.py +14 -34
  37. StreamingCommunity/Lib/Downloader/MP4/downloader.py +14 -11
  38. StreamingCommunity/Lib/Downloader/TOR/downloader.py +109 -101
  39. StreamingCommunity/Lib/FFmpeg/__init__.py +1 -1
  40. StreamingCommunity/Lib/FFmpeg/capture.py +10 -12
  41. StreamingCommunity/Lib/FFmpeg/command.py +15 -14
  42. StreamingCommunity/Lib/FFmpeg/util.py +9 -38
  43. StreamingCommunity/Lib/M3U8/decryptor.py +72 -146
  44. StreamingCommunity/Lib/M3U8/estimator.py +8 -16
  45. StreamingCommunity/Lib/M3U8/parser.py +1 -17
  46. StreamingCommunity/Lib/M3U8/url_fixer.py +1 -4
  47. StreamingCommunity/Lib/TMBD/__init__.py +2 -0
  48. StreamingCommunity/Lib/TMBD/obj_tmbd.py +3 -17
  49. StreamingCommunity/Lib/TMBD/tmdb.py +4 -9
  50. StreamingCommunity/TelegramHelp/telegram_bot.py +50 -50
  51. StreamingCommunity/Upload/update.py +6 -5
  52. StreamingCommunity/Upload/version.py +1 -1
  53. StreamingCommunity/Util/color.py +1 -1
  54. StreamingCommunity/Util/config_json.py +435 -0
  55. StreamingCommunity/Util/headers.py +7 -36
  56. StreamingCommunity/Util/logger.py +72 -42
  57. StreamingCommunity/Util/message.py +8 -3
  58. StreamingCommunity/Util/os.py +41 -93
  59. StreamingCommunity/Util/table.py +8 -17
  60. StreamingCommunity/run.py +39 -43
  61. {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/METADATA +203 -114
  62. StreamingCommunity-2.8.0.dist-info/RECORD +75 -0
  63. StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +0 -53
  64. StreamingCommunity/Api/Site/ilcorsaronero/site.py +0 -64
  65. StreamingCommunity/Api/Site/ilcorsaronero/title.py +0 -42
  66. StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +0 -149
  67. StreamingCommunity/Api/Template/Util/recall_search.py +0 -37
  68. StreamingCommunity/Lib/Downloader/HLS/proxyes.py +0 -110
  69. StreamingCommunity/Util/_jsonConfig.py +0 -241
  70. StreamingCommunity/Util/call_stack.py +0 -42
  71. StreamingCommunity/Util/console.py +0 -12
  72. StreamingCommunity-2.6.1.dist-info/RECORD +0 -83
  73. {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/LICENSE +0 -0
  74. {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/WHEEL +0 -0
  75. {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/entry_points.txt +0 -0
  76. {StreamingCommunity-2.6.1.dist-info → StreamingCommunity-2.8.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: StreamingCommunity
3
- Version: 2.6.1
3
+ Version: 2.8.0
4
4
  Home-page: https://github.com/Lovi-0/StreamingCommunity
5
5
  Author: Lovi-0
6
6
  Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
@@ -14,16 +14,14 @@ Requires-Dist: bs4
14
14
  Requires-Dist: rich
15
15
  Requires-Dist: tqdm
16
16
  Requires-Dist: m3u8
17
+ Requires-Dist: certifi
17
18
  Requires-Dist: psutil
18
19
  Requires-Dist: unidecode
19
20
  Requires-Dist: jsbeautifier
20
21
  Requires-Dist: pathvalidate
21
22
  Requires-Dist: pycryptodomex
22
- Requires-Dist: googlesearch-python
23
23
  Requires-Dist: ua-generator
24
24
  Requires-Dist: qbittorrent-api
25
- Requires-Dist: python-qbittorrent
26
- Requires-Dist: Pillow
27
25
  Requires-Dist: pyTelegramBotAPI
28
26
 
29
27
  <p align="center">
@@ -59,7 +57,7 @@ Requires-Dist: pyTelegramBotAPI
59
57
 
60
58
  # 📋 Table of Contents
61
59
 
62
- - 🌐 [Website available](#website-status)
60
+ - 🔄 [Update Domains](#update-domains)
63
61
  - 🛠️ [Installation](#installation)
64
62
  - 📦 [PyPI Installation](#1-pypi-installation)
65
63
  - 🔄 [Automatic Installation](#2-automatic-installation)
@@ -86,18 +84,15 @@ Requires-Dist: pyTelegramBotAPI
86
84
  # Installation
87
85
 
88
86
  <p align="center">
89
- <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_win.exe">
87
+ <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_win.exe" style="margin: 0 20px;">
90
88
  <img src="https://img.shields.io/badge/-Windows-blue.svg?style=for-the-badge&logo=windows" alt="Windows">
91
89
  </a>
92
- <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_mac">
90
+ <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_mac" style="margin: 0 20px;">
93
91
  <img src="https://img.shields.io/badge/-macOS-black.svg?style=for-the-badge&logo=apple" alt="macOS">
94
92
  </a>
95
- <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_linux">
93
+ <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity_linux" style="margin: 0 20px;">
96
94
  <img src="https://img.shields.io/badge/-Linux-orange.svg?style=for-the-badge&logo=linux" alt="Linux">
97
95
  </a>
98
- <a href="https://github.com/Arrowar/StreamingCommunity/releases">
99
- <img src="https://img.shields.io/badge/-All_Versions-lightgrey.svg?style=for-the-badge" alt="All Versions">
100
- </a>
101
96
  </p>
102
97
 
103
98
 
@@ -299,13 +294,39 @@ The configuration file is divided into several main sections:
299
294
 
300
295
  ```json
301
296
  {
302
- "root_path": "Video",
303
- "movie_folder_name": "Movie",
304
- "serie_folder_name": "TV",
305
- "map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
306
- "add_siteName": false,
307
- "disable_searchDomain": false,
308
- "not_close": false
297
+ "DEFAULT": {
298
+ "debug": false,
299
+ "show_message": true,
300
+ "clean_console": true,
301
+ "show_trending": true,
302
+ "use_api": true,
303
+ "not_close": false,
304
+ "telegram_bot": false
305
+ }
306
+ }
307
+ ```
308
+
309
+ - `debug`: Enables debug logging
310
+ - `show_message`: Displays informational messages
311
+ - `clean_console`: Clears the console between operations
312
+ - `show_trending`: Shows trending content
313
+ - `use_api`: Uses API for domain updates instead of local configuration
314
+ - `not_close`: If set to true, keeps the program running after download is complete
315
+ * Can be changed from terminal with `--not_close true/false`
316
+ - `telegram_bot`: Enables Telegram bot integration
317
+
318
+ ## OUT_FOLDER Settings
319
+
320
+ ```json
321
+ {
322
+ "OUT_FOLDER": {
323
+ "root_path": "Video",
324
+ "movie_folder_name": "Movie",
325
+ "serie_folder_name": "Serie",
326
+ "anime_folder_name": "Anime",
327
+ "map_episode_name": "E%(episode)_%(episode_name)",
328
+ "add_siteName": false
329
+ }
309
330
  }
310
331
  ```
311
332
 
@@ -314,17 +335,21 @@ The configuration file is divided into several main sections:
314
335
  ### Path examples:
315
336
  * Windows: `C:\\MyLibrary\\Folder` or `\\\\MyServer\\MyLibrary` (if you want to use a network folder)
316
337
  * Linux/MacOS: `Desktop/MyLibrary/Folder`
317
- `<br/><br/>`
338
+ <br/><br/>
318
339
 
319
- - `movie_folder_name`: The name of the subdirectory where movies will be stored.
340
+ - `movie_folder_name`: The name of the subdirectory where movies will be stored
320
341
  * Can be changed from terminal with `--movie_folder_name`
321
342
  <br/><br/>
322
343
 
323
- - `serie_folder_name`: The name of the subdirectory where TV series will be stored.
344
+ - `serie_folder_name`: The name of the subdirectory where TV series will be stored
324
345
  * Can be changed from terminal with `--serie_folder_name`
325
346
  <br/><br/>
326
347
 
327
- - `map_episode_name`: Template for TV series episode filenames
348
+ - `anime_folder_name`: The name of the subdirectory where anime will be stored
349
+ * Can be changed from terminal with `--anime_folder_name`
350
+ <br/><br/>
351
+
352
+ - `map_episode_name`: Template for episode filenames
328
353
 
329
354
  ### Episode name usage:
330
355
 
@@ -333,59 +358,66 @@ The configuration file is divided into several main sections:
333
358
  * `%(season)` : Is the number of the season
334
359
  * `%(episode)` : Is the number of the episode
335
360
  * `%(episode_name)` : Is the name of the episode
336
- `<br/><br/>`
337
361
  * Can be changed from terminal with `--map_episode_name`
338
- <br/><br/>
362
+ <br><br>
339
363
 
340
- - `add_siteName`: If set to true, appends the site_name to the root path before the movie and serie folders.
364
+ - `add_siteName`: If set to true, appends the site_name to the root path before the movie and serie folders
341
365
  * Can be changed from terminal with `--add_siteName true/false`
342
366
  <br/><br/>
343
367
 
344
- - `disable_searchDomain`: If set to true, disables the search for a new domain for all sites.
345
- * Can be changed from terminal with `--disable_searchDomain true/false`
346
- <br/><br/>
347
-
348
- - `not_close`: If set to true, keeps the program running after the download is complete.
349
- * Can be changed from terminal with `--not_close true/false`
350
- <br/><br/>
351
-
352
- ### qBittorrent Configuration
368
+ ## QBIT_CONFIG Settings
353
369
 
354
- ```json
355
- {
356
- "config_qbit_tor": {
357
- "host": "192.168.1.59",
358
- "port": "8080",
359
- "user": "admin",
360
- "pass": "adminadmin"
361
- }
370
+ ```json
371
+ {
372
+ "QBIT_CONFIG": {
373
+ "host": "192.168.1.51",
374
+ "port": "6666",
375
+ "user": "admin",
376
+ "pass": "adminadmin"
362
377
  }
363
- ```
364
-
365
- To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
378
+ }
379
+ ```
366
380
 
381
+ To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
367
382
 
368
383
  ## REQUESTS Settings
369
384
 
370
385
  ```json
371
386
  {
372
- "timeout": 20,
373
- "max_retry": 3
387
+ "REQUESTS": {
388
+ "verify": false,
389
+ "timeout": 20,
390
+ "max_retry": 8
391
+ }
374
392
  }
375
393
  ```
376
394
 
395
+ - `verify`: Verifies SSL certificates
377
396
  - `timeout`: Maximum timeout (in seconds) for each request
378
397
  - `max_retry`: Number of retry attempts per segment during M3U8 index download
379
398
 
380
-
381
399
  ## M3U8_DOWNLOAD Settings
382
400
 
383
401
  ```json
384
402
  {
385
- "tqdm_delay": 0.01,
386
- "default_video_workser": 12,
387
- "default_audio_workser": 12,
388
- "cleanup_tmp_folder": true
403
+ "M3U8_DOWNLOAD": {
404
+ "tqdm_delay": 0.01,
405
+ "default_video_workser": 12,
406
+ "default_audio_workser": 12,
407
+ "segment_timeout": 8,
408
+ "download_audio": true,
409
+ "merge_audio": true,
410
+ "specific_list_audio": [
411
+ "ita"
412
+ ],
413
+ "download_subtitle": true,
414
+ "merge_subs": true,
415
+ "specific_list_subtitles": [
416
+ "ita",
417
+ "eng"
418
+ ],
419
+ "cleanup_tmp_folder": true
420
+ }
389
421
  }
390
422
  ```
391
423
 
@@ -398,66 +430,88 @@ The configuration file is divided into several main sections:
398
430
  * Can be changed from terminal with `--default_audio_worker <number>`
399
431
  <br/><br/>
400
432
 
401
- - `cleanup_tmp_folder`: Remove temporary .ts files after download
433
+ - `segment_timeout`: Timeout for downloading individual segments
434
+ - `download_audio`: Whether to download audio tracks
435
+ - `merge_audio`: Whether to merge audio with video
436
+ - `specific_list_audio`: List of audio languages to download
437
+ * Can be changed from terminal with `--specific_list_audio ita,eng`
438
+ <br/><br/>
402
439
 
440
+ - `download_subtitle`: Whether to download subtitles
441
+ - `merge_subs`: Whether to merge subtitles with video
442
+ - `specific_list_subtitles`: List of subtitle languages to download
443
+ * Can be changed from terminal with `--specific_list_subtitles ita,eng`
444
+ <br/><br/>
403
445
 
446
+ - `cleanup_tmp_folder`: Remove temporary .ts files after download
404
447
 
405
- ### Language Settings
448
+ ## Available Language Codes
406
449
 
407
- The following codes can be used for `specific_list_audio` and `specific_list_subtitles`:
408
- * Can be changed from terminal with `--specific_list_audio ita,eng` for audio
409
- * Can be changed from terminal with `--specific_list_subtitles eng,spa` for subtitles
450
+ | European | Asian | Middle Eastern | Others |
451
+ |-----------------|-----------------|-----------------|-----------------|
452
+ | ita - Italian | chi - Chinese | ara - Arabic | eng - English |
453
+ | spa - Spanish | jpn - Japanese | heb - Hebrew | por - Portuguese|
454
+ | fre - French | kor - Korean | tur - Turkish | fil - Filipino |
455
+ | ger - German | hin - Hindi | | ind - Indonesian|
456
+ | rus - Russian | mal - Malayalam | | may - Malay |
457
+ | swe - Swedish | tam - Tamil | | vie - Vietnamese|
458
+ | pol - Polish | tel - Telugu | | |
459
+ | ukr - Ukrainian | tha - Thai | | |
410
460
 
461
+ ## M3U8_CONVERSION Settings
411
462
 
412
- ```
413
- ara - Arabic eng - English ita - Italian por - Portuguese
414
- baq - Basque fil - Filipino jpn - Japanese rum - Romanian
415
- cat - Catalan fin - Finnish kan - Kannada rus - Russian
416
- chi - Chinese fre - French kor - Korean spa - Spanish
417
- cze - Czech ger - German mal - Malayalam swe - Swedish
418
- dan - Danish glg - Galician may - Malay tam - Tamil
419
- dut - Dutch gre - Greek nob - Norw. Bokm tel - Telugu
420
- heb - Hebrew nor - Norwegian tha - Thai
421
- forced-ita hin - Hindi pol - Polish tur - Turkish
422
- hun - Hungarian ukr - Ukrainian
423
- ind - Indonesian vie - Vietnamese
463
+ ```json
464
+ {
465
+ "M3U8_CONVERSION": {
466
+ "use_codec": false,
467
+ "use_vcodec": true,
468
+ "use_acodec": true,
469
+ "use_bitrate": true,
470
+ "use_gpu": false,
471
+ "default_preset": "ultrafast"
472
+ }
473
+ }
424
474
  ```
425
475
 
426
- > [!NOTE]
427
- > When using subtitles on Windows, please note that the default Windows Media Player may not display them correctly. We recommend using VLC Media Player for proper subtitle display and optimal playback experience.
476
+ - `use_codec`: Use specific codec settings
477
+ - `use_vcodec`: Use specific video codec
478
+ - `use_acodec`: Use specific audio codec
479
+ - `use_bitrate`: Apply bitrate settings
480
+ - `use_gpu`: Enable GPU acceleration (if available)
481
+ - `default_preset`: FFmpeg encoding preset (ultrafast, fast, medium, slow, etc.)
428
482
 
483
+ ### Advanced M3U8 Conversion Options
429
484
 
430
- > [!IMPORTANT]
431
- > Language code availability may vary by site. Some platforms might:
432
- >
433
- > - Use different language codes
434
- > - Support only a subset of these languages
435
- > - Offer additional languages not listed here
436
- >
437
- > Check the specific site's available options if downloads fail.
438
-
439
- > [!TIP]
440
- > You can configure multiple languages by adding them to the lists:
441
- >
442
- > ```json
443
- > "specific_list_audio": ["ita", "eng", "spa"],
444
- > "specific_list_subtitles": ["ita", "eng", "spa"]
445
- > ```
446
-
447
- For the best viewing experience, we recommend using VLC Media Player:
448
- - Supports all video formats and codecs
449
- - Properly displays embedded subtitles
450
- - Available for all major operating systems
451
- - Free and open-source
452
-
453
- You can download VLC Media Player from the [official website](https://www.videolan.org/vlc/).
485
+ The software supports various advanced encoding options via FFmpeg:
486
+
487
+ #### Encoding Presets
488
+ The `default_preset` configuration can be set to one of the following values:
489
+ - `ultrafast`: Extremely fast conversion but larger file size
490
+ - `superfast`: Very fast with good quality/size ratio
491
+ - `veryfast`: Fast with good compression
492
+ - `faster`: Optimal balance for most users
493
+ - `fast`: Good compression, moderate time
494
+ - `medium`: FFmpeg default setting
495
+ - `slow`: High quality, slower process
496
+ - `slower`: Very high quality, slow process
497
+ - `veryslow`: Maximum quality, very slow process
498
+
499
+ #### GPU Acceleration
500
+ When `use_gpu` is enabled, the system will use available hardware acceleration:
501
+ - NVIDIA: NVENC
502
+ - AMD: AMF
503
+ - Intel: QSV
504
+
505
+ You need to have updated drivers and FFmpeg compiled with hardware acceleration support.
454
506
 
455
507
  ## M3U8_PARSER Settings
456
508
 
457
509
  ```json
458
510
  {
459
- "force_resolution": "1080p",
460
- "get_only_link": false
511
+ "M3U8_PARSER": {
512
+ "force_resolution": "Best",
513
+ "get_only_link": false
514
+ }
461
515
  }
462
516
  ```
463
517
 
@@ -477,6 +531,58 @@ You can download VLC Media Player from the [official website](https://www.videol
477
531
 
478
532
  - `get_only_link`: Return M3U8 playlist/index URL instead of downloading
479
533
 
534
+ ## SITE_EXTRA Settings
535
+
536
+ ```json
537
+ {
538
+ "SITE_EXTRA": {
539
+ "ddlstreamitaly": {
540
+ "ips4_device_key": "",
541
+ "ips4_member_id": "",
542
+ "ips4_login_key": ""
543
+ }
544
+ }
545
+ }
546
+ ```
547
+
548
+ - Site-specific configuration for `ddlstreamitaly`:
549
+ - `ips4_device_key`: Device key for authentication
550
+ - `ips4_member_id`: Member ID for authentication
551
+ - `ips4_login_key`: Login key for authentication
552
+
553
+ ## Update Domains
554
+
555
+ There are two ways to update the domains for the supported websites:
556
+
557
+ ### 1. Using Local Configuration
558
+
559
+ 1. Create a `domains.json` file in the root directory of the project
560
+
561
+ 2. Add your domain configuration in the following format:
562
+ ```json
563
+ {
564
+ "altadefinizione": {
565
+ "domain": "si",
566
+ "full_url": "https://altadefinizione.si/"
567
+ },
568
+ ...
569
+ }
570
+ ```
571
+
572
+ 3. Set `use_api` to `false` in the `DEFAULT` section of your `config.json`:
573
+ ```json
574
+ {
575
+ "DEFAULT": {
576
+ "use_api": false
577
+ }
578
+ }
579
+ ```
580
+
581
+ ### 2. Using API (Legacy)
582
+
583
+ The API-based domain updates are currently deprecated. To use it anyway, set `use_api` to `true` in your `config.json` file.
584
+
585
+ Note: If `use_api` is set to `false` and no `domains.json` file is found, the script will raise an error.
480
586
 
481
587
  # COMMAND
482
588
 
@@ -503,9 +609,6 @@ python test_run.py --specific_list_audio ita,eng --specific_list_subtitles eng,s
503
609
 
504
610
  # Keep console open after download
505
611
  python test_run.py --not_close true
506
-
507
- # Disable domain search and add site name
508
- python test_run.py --disable_searchDomain true --add_siteName true
509
612
  ```
510
613
 
511
614
  # Docker
@@ -587,20 +690,6 @@ Start the bot from the folder /StreamingCommunity/TelegramHelp
587
690
  python3 telegram_bot.py
588
691
  ```
589
692
 
590
- # Website Status
591
-
592
- | Website | Status | Command |
593
- |:-------------------|:------:|:--------:|
594
- | [1337xx](https://1337xx.to/) | ✅ | -133 |
595
- | [AnimeUnity](https://animeunity.so/) | ✅ | -ANI |
596
- | [Ilcorsaronero](https://ilcorsaronero.link/) | ✅ | `-ILC` |
597
- | [CB01New](https://cb01new.gold/) | ✅ | -CB0 |
598
- | [DDLStreamItaly](https://ddlstreamitaly.co/) | ✅ | -DDL |
599
- | [GuardaSerie](https://guardaserie.now/) | ✅ | -GUA |
600
- | [MostraGuarda](https://mostraguarda.stream/) | ✅ | -MOS |
601
- | [StreamingCommunity](https://streamingcommunity.lu/) | ✅ | -STR |
602
-
603
-
604
693
  # Tutorials
605
694
 
606
695
  - [Windows Tutorial](https://www.youtube.com/watch?v=mZGqK4wdN-k)
@@ -0,0 +1,75 @@
1
+ StreamingCommunity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ StreamingCommunity/run.py,sha256=AbEL0cyAaRgaG5qE1c7Z6SVZ4Wu7WIH9pZmwC4FDWW8,12076
3
+ StreamingCommunity/Api/Player/ddl.py,sha256=M_ePETCMBpIHr5K5Yb7EML5VXwqkR7vJHQcGIv4AEQw,2261
4
+ StreamingCommunity/Api/Player/maxstream.py,sha256=lQ6sbhBqMR9e6N-03nWZ3qsUlRT9l68d8dTA0th1XVQ,4984
5
+ StreamingCommunity/Api/Player/supervideo.py,sha256=OLbT8GNOT87ZSuBC5PbtbW8tiXzHK-Uttijqqp_Y06k,5297
6
+ StreamingCommunity/Api/Player/vixcloud.py,sha256=NOZhW59hyBnG5FfmppcnIudAztr7seWzQBzAN3KC_3M,6317
7
+ StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py,sha256=U-8QlD5kGzIk3-4t4D6QyYmiDe8UBrSuVi1YHRQb7AU,4295
8
+ StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=xt96JIbfE5W4Y59W888Cp-baRwnQVEDQO_x7Wq5iyNQ,5492
9
+ StreamingCommunity/Api/Site/1337xx/__init__.py,sha256=r0K84qeonGnk9bgbKklF6rJ1qhT1Si1MH2hnXnH_SIE,1378
10
+ StreamingCommunity/Api/Site/1337xx/site.py,sha256=-XFLF7k5SXPnh07Jv4KxmSW4w8OSl4ci4oQeU_WTJoE,2672
11
+ StreamingCommunity/Api/Site/1337xx/title.py,sha256=lGb-IbWEIfg9Eu3XIu6IfxTOjvXkFL_NO9UEZcxOAfE,1831
12
+ StreamingCommunity/Api/Site/animeunity/__init__.py,sha256=Lz9trBzQZL11wGyIT2Y4CWe3JxOkDUPzTQXXO76s0oQ,2278
13
+ StreamingCommunity/Api/Site/animeunity/film_serie.py,sha256=noYqH5NHUk_JO6GeqN7-PQy3tplDRKYWYI_cgT1SzqI,5771
14
+ StreamingCommunity/Api/Site/animeunity/site.py,sha256=TtInV7gV6sZBWooiihKWdXogV_AjqfB-bo3ymbRt1S0,5937
15
+ StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py,sha256=6Vbw5KVwUbgooGjUIRAuXr9cWSkHDkAFP7EiXF2T4OM,2709
16
+ StreamingCommunity/Api/Site/cb01new/__init__.py,sha256=yOfCNYZU5M5rCvNtwvyTgGjJv7qGmNWRAzk0AtAgbhU,1393
17
+ StreamingCommunity/Api/Site/cb01new/film.py,sha256=Pqyu4jq3264JzKfSGiHqibBgF29LriDjS752PYbsoIo,1649
18
+ StreamingCommunity/Api/Site/cb01new/site.py,sha256=PaBBkydddvajDesutjLZPmk5zWs_EDhg6uZnq8TIO5U,2548
19
+ StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py,sha256=_tQbsAJgZufjszrFZ0Om3ia6oYJHMjiHfXAMScqf4yQ,1533
20
+ StreamingCommunity/Api/Site/ddlstreamitaly/series.py,sha256=z3te51do5C_O77rDTR1N01aQ76BIGe5pm5i_PWJepQ4,3369
21
+ StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=N-SF9nr09tBVVbzigwijTSr4ffRmuKOyNak6vy4g3cw,2938
22
+ StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py,sha256=HY8YEvzWp3sy1q07rFLXLZhGYvapA1amMZByYvs0iJM,2553
23
+ StreamingCommunity/Api/Site/guardaserie/__init__.py,sha256=ZR9Fz6v2cS2Ve8BfAlvTNK-d5_Xwp5_eqrnFupgxj5Q,1385
24
+ StreamingCommunity/Api/Site/guardaserie/series.py,sha256=YNCr8ywqW1dmH8hkAQbYDMbwWB-i8CZSx2glXDxs18o,5694
25
+ StreamingCommunity/Api/Site/guardaserie/site.py,sha256=nXqpYyWQVAZlGtwfR_IL9T2DO-APCkZ-clYIEip9_bc,2563
26
+ StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py,sha256=4sZRWm8r5X80q285hemRf7MAWeaN5yfOU6i1SjKU4Tg,3268
27
+ StreamingCommunity/Api/Site/mostraguarda/__init__.py,sha256=rsM2_7FmwyV3ibUbpcflk-eyH8ouBv0ZdCA5tCCVB70,1234
28
+ StreamingCommunity/Api/Site/mostraguarda/film.py,sha256=UvhAoU6NHhgpETqbLiQlw4GTbc_fK7_2FwMxEhrWUf0,2740
29
+ StreamingCommunity/Api/Site/streamingcommunity/__init__.py,sha256=FV3ch-farw3tN_-Ay3JV_-TIoHzgQzxEJWPlFibE62Y,2351
30
+ StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=qeNj542UvuOH4ucZ1wuGOLAO8zOUV1okZTZKh1xjQ1c,2551
31
+ StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=Z1CQpue963yfkr7sDQm-8yCS7jISJiSYJCsuk0Em-Qs,7942
32
+ StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=o_xhIxG23Q8klL0o6Yk2DOuJNDKTJGd2EOsPWOwR6Pc,2998
33
+ StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=YYetljW4yr6eoiLe6nDUuFZ9NI8K85tF6859ikITmsY,3571
34
+ StreamingCommunity/Api/Template/__init__.py,sha256=oyfd_4_g5p5q6mxb_rKwSsudZnTM3W3kg1tLwxg-v-Q,46
35
+ StreamingCommunity/Api/Template/config_loader.py,sha256=seJjLi05_8xrs4tdt4zXNCPa9TLp7n5FufFM2XErokI,2166
36
+ StreamingCommunity/Api/Template/site.py,sha256=MJF8oc4iW29nU8SF_J94UaSjanTVBMhKiRl3xrA0qBA,2849
37
+ StreamingCommunity/Api/Template/Class/SearchType.py,sha256=FtO8xDUGEeJgMWsK2Ab7ZzAFsncalTYL2oEYi8uCnuk,2531
38
+ StreamingCommunity/Api/Template/Util/__init__.py,sha256=GZZgT816VwTYekPOwLExHenpak0gO-V3LLGTYIElt3A,234
39
+ StreamingCommunity/Api/Template/Util/get_domain.py,sha256=VmBtv419J96qgceLlEecIG7Sw2EsPNM_YPcUMhxGXcE,2775
40
+ StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=xYDC3tlx6gjQqCqcyKCfQVQeE6aWU5sdrovj8uuvbd8,8118
41
+ StreamingCommunity/Lib/Downloader/__init__.py,sha256=JhbBh5hOnSM7VmtkxJ7zZ_FtWEC1JdnKThsSBjLV5FY,140
42
+ StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=I5YaQvLPsTmyYIjQaSftNN7Ybnz6Z881-y2aTKvU3XM,21046
43
+ StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=4D-B_KfwiQq6suMgJxL_aMrOqqX5RVc4Vy0Ktc7tFKM,17609
44
+ StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=MNiWiG0-KcYpc1oth6kr5EOM8pyfbOZrLGXW9FsQzGE,7617
45
+ StreamingCommunity/Lib/Downloader/TOR/downloader.py,sha256=KVZxCl1VB1-OuTjUhVS5Ycog_P0vCGTfRzhZPv8O7Ps,11267
46
+ StreamingCommunity/Lib/FFmpeg/__init__.py,sha256=6PBsZdE1jrD2EKOVyx3JEHnyDZzVeKlPkH5T0zyfOgU,130
47
+ StreamingCommunity/Lib/FFmpeg/capture.py,sha256=73BEpTijksErZOu46iRxwl3idKzZ-sVXXRr4nocIGY0,5168
48
+ StreamingCommunity/Lib/FFmpeg/command.py,sha256=hHMLOmb6I3VvuztxcRCFxhYgeGaqHNA78qYERJr5NXs,10640
49
+ StreamingCommunity/Lib/FFmpeg/util.py,sha256=Yyo-z9TOPGFdD_VscWi35Kcw88y4loGNLpNOzy7ADm8,7063
50
+ StreamingCommunity/Lib/M3U8/__init__.py,sha256=H_KS2eDd3kVXMziFJnD0FCPvPHEizaqfoA36ElTv_r8,170
51
+ StreamingCommunity/Lib/M3U8/decryptor.py,sha256=kuxxsd3eN0VGRrMJWXzHo8gCpT0u3fSZs_lwxlE5Fqs,2948
52
+ StreamingCommunity/Lib/M3U8/estimator.py,sha256=5Qevboxu1h5Q-72bkHy0-Vess9pOIaUrpFYfBVWNDN8,5709
53
+ StreamingCommunity/Lib/M3U8/parser.py,sha256=VmYgMF6d3Jr2ucuiRzv8NUJ79oPGc3cgp2VB19-dh0Y,20990
54
+ StreamingCommunity/Lib/M3U8/url_fixer.py,sha256=zldE4yOuNBV6AAvL1KI6p7XdRI_R5YZRscbDgT1564M,1735
55
+ StreamingCommunity/Lib/TMBD/__init__.py,sha256=XzE42tw3Ws59DD1PF8WmGtZ0D4D7Hk3Af8QthNE-22U,66
56
+ StreamingCommunity/Lib/TMBD/obj_tmbd.py,sha256=dRSvJFS5yqmsBZcw2wqbStcBtXNjU_3n5czMyremAtU,1187
57
+ StreamingCommunity/Lib/TMBD/tmdb.py,sha256=LjO21d7iexnSwKBYjgXFECojVSE8WCspQszJJcaZexU,10692
58
+ StreamingCommunity/TelegramHelp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ StreamingCommunity/TelegramHelp/telegram_bot.py,sha256=Qe1__aoK4PpDuing8JtWgdHzLee8LuYYyfeLNA7yADU,26307
60
+ StreamingCommunity/Upload/update.py,sha256=TXWAOfvZr1So_oME11YvX_L5zRy2tM-ijF-_g1jf87o,2548
61
+ StreamingCommunity/Upload/version.py,sha256=7JR_YWMxvHLgem5ngwXtwhWFFHvfG9zxK5Y3CpJVHTU,171
62
+ StreamingCommunity/Util/color.py,sha256=NvD0Eni-25oOOkY-szCEoc0lGvzQxyL7xhM0RE4EvUM,458
63
+ StreamingCommunity/Util/config_json.py,sha256=dmo7FTboEuEs1nYf17RYaTyT03qRvOLJzGgBitYHXs4,19379
64
+ StreamingCommunity/Util/ffmpeg_installer.py,sha256=q5yb_ZXKe9PhcG7JbKLfo1AZa8DNukgHqymPbudDuAY,13585
65
+ StreamingCommunity/Util/headers.py,sha256=TItkaFMx1GqsVNEIS3Tr0BGU5EHyF-HkZVliHORT3P8,308
66
+ StreamingCommunity/Util/logger.py,sha256=9kGD6GmWj2pM8ADpJc85o7jm8DD0c5Aguqnq-9kmxos,3314
67
+ StreamingCommunity/Util/message.py,sha256=SJaIPLvWeQqsIODVUKw3TgYRmBChovmlbcF6OUxqMI8,1425
68
+ StreamingCommunity/Util/os.py,sha256=MUGJKQbNMWeoUrnJ2Ug3hoyYlrPDqU9BY94UmiUbxfA,14858
69
+ StreamingCommunity/Util/table.py,sha256=X1t9VPYl9GemLMk_-x_WfpysQ-3Iv8vh0aTIJKm0fK0,8565
70
+ StreamingCommunity-2.8.0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
71
+ StreamingCommunity-2.8.0.dist-info/METADATA,sha256=qyKRC4btZchkSAPdZDkuL0jU-PiGzpykRNpDMBg7Xu4,21498
72
+ StreamingCommunity-2.8.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
73
+ StreamingCommunity-2.8.0.dist-info/entry_points.txt,sha256=Qph9XYfDC8n4LfDLOSl6gJGlkb9eFb5f-JOr_Wb_5rk,67
74
+ StreamingCommunity-2.8.0.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
75
+ StreamingCommunity-2.8.0.dist-info/RECORD,,
@@ -1,53 +0,0 @@
1
- # 02.07.24
2
-
3
- import asyncio
4
- from urllib.parse import quote_plus
5
-
6
-
7
- # Internal utilities
8
- from StreamingCommunity.Util.console import console, msg
9
- from StreamingCommunity.Api.Template import get_select_title
10
-
11
-
12
- # Logic class
13
- from StreamingCommunity.Api.Template.config_loader import site_constant
14
- from .site import title_search, media_search_manager, table_show_manager
15
- from .title import download_title
16
-
17
-
18
- # Variable
19
- indice = 9
20
- _useFor = "film_serie"
21
- _deprecate = False
22
- _priority = 2
23
- _engineDownload = "tor"
24
-
25
-
26
- def search(string_to_search: str = None, get_onylDatabase: bool = False):
27
- """
28
- Main function of the application for film and series.
29
- """
30
-
31
- if string_to_search is None:
32
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{site_constant.SITE_NAME}").strip()
33
-
34
- # Search on database
35
- len_database = asyncio.run(title_search(quote_plus(string_to_search)))
36
-
37
- # Return list of elements
38
- if get_onylDatabase:
39
- return media_search_manager
40
-
41
- if len_database > 0:
42
-
43
- # Select title from list
44
- select_title = get_select_title(table_show_manager, media_search_manager)
45
-
46
- # Download title
47
- download_title(select_title)
48
-
49
- else:
50
- console.print(f"\n[red]Nothing matching was found for[white]: [purple]{string_to_search}")
51
-
52
- # Retry
53
- search()
@@ -1,64 +0,0 @@
1
- # 02.07.24
2
-
3
-
4
- # Internal utilities
5
- from StreamingCommunity.Util._jsonConfig import config_manager
6
- from StreamingCommunity.Util.table import TVShowManager
7
-
8
-
9
- # Logic class
10
- from StreamingCommunity.Api.Template.config_loader import site_constant
11
- from StreamingCommunity.Api.Template.Util import search_domain
12
- from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
13
- from .util.ilCorsarScraper import IlCorsaroNeroScraper
14
-
15
-
16
- # Variable
17
- media_search_manager = MediaManager()
18
- table_show_manager = TVShowManager()
19
- max_timeout = config_manager.get_int("REQUESTS", "timeout")
20
- disable_searchDomain = config_manager.get_bool("DEFAULT", "disable_searchDomain")
21
-
22
-
23
- async def title_search(word_to_search: str) -> int:
24
- """
25
- Search for titles based on a search query.
26
-
27
- Parameters:
28
- - title_search (str): The title to search for.
29
-
30
- Returns:
31
- - int: The number of titles found.
32
- """
33
- media_search_manager.clear()
34
- table_show_manager.clear()
35
-
36
- # Find new domain if prev dont work
37
- domain_to_use = site_constant.DOMAIN_NOW
38
-
39
- if not disable_searchDomain:
40
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, f"https://{site_constant.SITE_NAME}.{site_constant.DOMAIN_NOW}")
41
-
42
- # Create scraper and collect result
43
- print("\n")
44
- scraper = IlCorsaroNeroScraper(f"https://{site_constant.SITE_NAME}.{domain_to_use}/", 1)
45
- results = await scraper.search(word_to_search)
46
-
47
- for i, torrent in enumerate(results):
48
- try:
49
-
50
- media_search_manager.add_media({
51
- 'name': torrent['name'],
52
- 'type': torrent['type'],
53
- 'seed': torrent['seed'],
54
- 'leech': torrent['leech'],
55
- 'size': torrent['size'],
56
- 'date': torrent['date'],
57
- 'url': torrent['url']
58
- })
59
-
60
- except Exception as e:
61
- print(f"Error parsing a film entry: {e}")
62
-
63
- # Return the number of titles found
64
- return media_search_manager.get_length()