StreamingCommunity 1.9.90__tar.gz → 2.0.5__tar.gz

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 (110) hide show
  1. StreamingCommunity-2.0.5/MANIFEST.in +4 -0
  2. StreamingCommunity-2.0.5/PKG-INFO +440 -0
  3. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/README.md +65 -38
  4. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/__init__.py +1 -1
  5. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/__init__.py +1 -1
  6. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/__init__.py +1 -1
  7. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/__init__.py +1 -1
  8. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +1 -3
  9. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/series.py +1 -1
  10. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/__init__.py +1 -3
  11. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/series.py +2 -2
  12. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +1 -1
  13. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +14 -6
  14. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/mostraguarda/__init__.py +1 -1
  15. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/mostraguarda/film.py +5 -3
  16. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/__init__.py +1 -1
  17. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/film.py +1 -1
  18. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/series.py +1 -1
  19. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/site.py +8 -7
  20. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/get_domain.py +12 -11
  21. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/HLS/downloader.py +42 -34
  22. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/HLS/segments.py +10 -11
  23. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/capture.py +1 -1
  24. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/util.py +1 -1
  25. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/decryptor.py +2 -2
  26. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/estimator.py +53 -25
  27. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Upload/update.py +2 -3
  28. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Upload/version.py +1 -1
  29. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/ffmpeg_installer.py +65 -28
  30. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/os.py +16 -25
  31. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/run.py +2 -3
  32. StreamingCommunity-2.0.5/StreamingCommunity.egg-info/PKG-INFO +440 -0
  33. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/SOURCES.txt +10 -2
  34. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/entry_points.txt +1 -0
  35. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/requires.txt +0 -1
  36. StreamingCommunity-2.0.5/Test/Download/HLS.py +25 -0
  37. StreamingCommunity-2.0.5/Test/Download/MP4.py +23 -0
  38. StreamingCommunity-2.0.5/Test/Download/TOR.py +27 -0
  39. StreamingCommunity-2.0.5/Test/Player/helper/vixcloud.py +40 -0
  40. StreamingCommunity-2.0.5/Test/Player/maxtream.py +22 -0
  41. StreamingCommunity-2.0.5/Test/Player/supervideo.py +22 -0
  42. StreamingCommunity-2.0.5/Test/Player/vixcloud.py +26 -0
  43. StreamingCommunity-2.0.5/Test/big_search.py +116 -0
  44. StreamingCommunity-2.0.5/Test/call_updateDomain.py +90 -0
  45. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/setup.py +6 -6
  46. streamingcommunity-1.9.90/LICENSE +0 -674
  47. streamingcommunity-1.9.90/MANIFEST.in +0 -1
  48. streamingcommunity-1.9.90/PKG-INFO +0 -427
  49. streamingcommunity-1.9.90/StreamingCommunity.egg-info/PKG-INFO +0 -427
  50. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py +0 -0
  51. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +0 -0
  52. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/ddl.py +0 -0
  53. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/maxstream.py +0 -0
  54. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/supervideo.py +0 -0
  55. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Player/vixcloud.py +0 -0
  56. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/costant.py +0 -0
  57. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/site.py +0 -0
  58. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/1337xx/title.py +0 -0
  59. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/costant.py +0 -0
  60. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/film.py +0 -0
  61. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/altadefinizione/site.py +0 -0
  62. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/costant.py +0 -0
  63. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/film_serie.py +0 -0
  64. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/site.py +0 -0
  65. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +0 -0
  66. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/costant.py +0 -0
  67. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/film.py +0 -0
  68. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/cb01new/site.py +0 -0
  69. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/costant.py +0 -0
  70. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/site.py +0 -0
  71. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +0 -0
  72. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/costant.py +0 -0
  73. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/site.py +0 -0
  74. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +0 -0
  75. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/costant.py +0 -0
  76. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/site.py +0 -0
  77. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/ilcorsaronero/title.py +0 -0
  78. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/mostraguarda/costant.py +0 -0
  79. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/costant.py +0 -0
  80. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +0 -0
  81. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Class/SearchType.py +0 -0
  82. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/__init__.py +0 -0
  83. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/manage_ep.py +0 -0
  84. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/Util/recall_search.py +0 -0
  85. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/__init__.py +0 -0
  86. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Api/Template/site.py +0 -0
  87. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/HLS/proxyes.py +0 -0
  88. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/MP4/downloader.py +0 -0
  89. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/TOR/downloader.py +0 -0
  90. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/Downloader/__init__.py +0 -0
  91. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/__init__.py +0 -0
  92. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/FFmpeg/command.py +0 -0
  93. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/__init__.py +0 -0
  94. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/parser.py +0 -0
  95. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/M3U8/url_fixer.py +0 -0
  96. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/TMBD/__init__.py +0 -0
  97. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/TMBD/obj_tmbd.py +0 -0
  98. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Lib/TMBD/tmdb.py +0 -0
  99. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/_jsonConfig.py +0 -0
  100. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/call_stack.py +0 -0
  101. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/color.py +0 -0
  102. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/console.py +0 -0
  103. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/headers.py +0 -0
  104. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/logger.py +0 -0
  105. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/message.py +0 -0
  106. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/Util/table.py +0 -0
  107. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity/__init__.py +0 -0
  108. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/dependency_links.txt +0 -0
  109. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/StreamingCommunity.egg-info/top_level.txt +0 -0
  110. {streamingcommunity-1.9.90 → StreamingCommunity-2.0.5}/setup.cfg +0 -0
@@ -0,0 +1,4 @@
1
+ recursive-include StreamingCommunity *.py
2
+ recursive-include StreamingCommunity *.md
3
+ recursive-include StreamingCommunity *.txt
4
+ recursive-include Test *
@@ -0,0 +1,440 @@
1
+ Metadata-Version: 2.1
2
+ Name: StreamingCommunity
3
+ Version: 2.0.5
4
+ Summary: UNKNOWN
5
+ Home-page: https://github.com/Lovi-0/StreamingCommunity
6
+ Author: Lovi-0
7
+ License: UNKNOWN
8
+ Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
9
+ Project-URL: Source, https://github.com/Lovi-0/StreamingCommunity
10
+ Description: <p align="center">
11
+ <img src="https://i.ibb.co/PFnjvBc/immagine-2024-12-26-180318047.png" alt="Project Logo" width="700"/>
12
+ </p>
13
+
14
+ <p align="center">
15
+ <a href="https://pypi.org/project/streamingcommunity">
16
+ <img src="https://img.shields.io/pypi/v/streamingcommunity?logo=pypi&labelColor=555555&style=for-the-badge" alt="PyPI"/>
17
+ </a>
18
+ <a href="https://www.python.org">
19
+ <img src="https://img.shields.io/badge/Python->=3.8-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python"/>
20
+ </a>
21
+ <a href="https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C">
22
+ <img src="https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors&labelColor=555555&style=for-the-badge" alt="Donate"/>
23
+ </a>
24
+ <a href="https://github.com/Lovi-0/StreamingCommunity/blob/main/LICENSE">
25
+ <img src="https://img.shields.io/badge/License-GPL_3.0-blue.svg?style=for-the-badge" alt="License"/>
26
+ </a>
27
+ <a href="https://github.com/Lovi-0/StreamingCommunity/commits">
28
+ <img src="https://img.shields.io/github/commit-activity/m/Lovi-0/StreamingCommunity?label=commits&style=for-the-badge" alt="Commits"/>
29
+ </a>
30
+ <a href="https://github.com/Lovi-0/StreamingCommunity/commits">
31
+ <img src="https://img.shields.io/github/last-commit/Lovi-0/StreamingCommunity/main?label=&style=for-the-badge&display_timestamp=committer" alt="Last Commit"/>
32
+ </a>
33
+ </p>
34
+
35
+ <p align="center">
36
+ <a href="https://pypi.org/project/streamingcommunity">
37
+ <img src="https://img.shields.io/pypi/dm/streamingcommunity?style=for-the-badge" alt="PyPI Downloads"/>
38
+ </a>
39
+ <a href="https://github.com/Lovi-0/StreamingCommunity/network/members">
40
+ <img src="https://img.shields.io/github/forks/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Forks"/>
41
+ </a>
42
+ <a href="https://github.com/Lovi-0/StreamingCommunity">
43
+ <img src="https://img.shields.io/github/languages/code-size/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Code Size"/>
44
+ </a>
45
+ <a href="https://github.com/Lovi-0/StreamingCommunity">
46
+ <img src="https://img.shields.io/github/repo-size/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Repo Size"/>
47
+ </a>
48
+ </p>
49
+
50
+ # 📋 Table of Contents
51
+
52
+ - 🌐 [Website available](#website-status)
53
+ - 🛠️ [Installation](#installation)
54
+ - 📦 [PyPI Installation](#1-pypi-installation)
55
+ - 🔄 [Automatic Installation](#2-automatic-installation)
56
+ - 📝 [Manual Installation](#3-manual-installation)
57
+ - 💻 [Win 7](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Installation#win-7)
58
+ - 📱 [Termux](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Termux)
59
+ - ⚙️ [Configuration](#configuration)
60
+ - 🔧 [Default](#default-settings)
61
+ - 📩 [Request](#requests-settings)
62
+ - 📥 [Download](#m3u8_download-settings)
63
+ - 🔍 [Parser](#m3u8_parser-settings)
64
+ - 🐳 [Docker](#docker)
65
+ - 🎓 [Tutorial](#tutorials)
66
+ - 📝 [To do](#to-do)
67
+ - 💬 [Support](#support)
68
+ - 🤝 [Contribute](#contributing)
69
+ - ⚠️ [Disclaimer](#disclaimer)
70
+ - ⚡ [Contributors](#contributors)
71
+
72
+ # Installation
73
+
74
+ ## 1. PyPI Installation
75
+
76
+ Install directly from PyPI:
77
+
78
+ ```bash
79
+ pip install StreamingCommunity
80
+ ```
81
+
82
+ ### Creating a Run Script
83
+
84
+ Create `run_streaming.py`:
85
+
86
+ ```python
87
+ from StreamingCommunity.run import main
88
+
89
+ if __name__ == "__main__":
90
+ main()
91
+ ```
92
+
93
+ Run the script:
94
+ ```bash
95
+ python run_streaming.py
96
+ ```
97
+
98
+ ## Updating via PyPI
99
+
100
+ ```bash
101
+ pip install --upgrade StreamingCommunity
102
+ ```
103
+
104
+ ## 2. Automatic Installation
105
+
106
+ ### Supported Operating Systems 💿
107
+
108
+ | OS | Automatic Installation Support |
109
+ |:----------------|:------------------------------:|
110
+ | Windows 10/11 | ✔️ |
111
+ | Windows 7 | ❌ |
112
+ | Debian Linux | ✔️ |
113
+ | Arch Linux | ✔️ |
114
+ | CentOS Stream 9 | ✔️ |
115
+ | FreeBSD | ⏳ |
116
+ | MacOS | ✔️ |
117
+ | Termux | ❌ |
118
+
119
+ ### Installation Steps
120
+
121
+ #### On Windows:
122
+
123
+ ```powershell
124
+ .\Installer\win_install.bat
125
+ ```
126
+
127
+ #### On Linux/MacOS/BSD:
128
+
129
+ ```bash
130
+ sudo chmod +x Installer/unix_install.sh && ./Installer/unix_install.sh
131
+ ```
132
+
133
+ ### Usage
134
+
135
+ #### On Windows:
136
+
137
+ ```powershell
138
+ python .\test_run.py
139
+ ```
140
+
141
+ or
142
+
143
+ ```powershell
144
+ source .venv/bin/activate && python test_run.py && deactivate
145
+ ```
146
+
147
+ #### On Linux/MacOS/BSD:
148
+
149
+ ```bash
150
+ ./test_run.py
151
+ ```
152
+
153
+ ## 3. Manual Installation
154
+
155
+ ### Requirements 📋
156
+
157
+ Prerequisites:
158
+ * [Python](https://www.python.org/downloads/) > 3.8
159
+ * [FFmpeg](https://www.gyan.dev/ffmpeg/builds/)
160
+
161
+ ### Install Python Dependencies
162
+
163
+ ```bash
164
+ pip install -r requirements.txt
165
+ ```
166
+
167
+ ### Usage
168
+
169
+ #### On Windows:
170
+
171
+ ```powershell
172
+ python test_run.py
173
+ ```
174
+
175
+ #### On Linux/MacOS:
176
+
177
+ ```bash
178
+ python3 test_run.py
179
+ ```
180
+
181
+ ## Update
182
+
183
+ Keep your script up to date with the latest features by running:
184
+
185
+ ### On Windows:
186
+
187
+ ```powershell
188
+ python update.py
189
+ ```
190
+
191
+ ### On Linux/MacOS:
192
+
193
+ ```bash
194
+ python3 update.py
195
+ ```
196
+
197
+ <br>
198
+
199
+ # Configuration
200
+
201
+ You can change some behaviors by tweaking the configuration file.
202
+
203
+ The configuration file is divided into several main sections:
204
+
205
+ ## DEFAULT Settings
206
+
207
+ ```json
208
+ {
209
+ "root_path": "Video",
210
+ "movie_folder_name": "Movie",
211
+ "serie_folder_name": "TV",
212
+ "map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
213
+ "not_close": false
214
+ }
215
+ ```
216
+
217
+ - `root_path`: Directory where all videos will be saved
218
+
219
+ ### Path examples:
220
+ * Windows: `C:\\MyLibrary\\Folder` or `\\\\MyServer\\MyLibrary` (if you want to use a network folder)
221
+ * Linux/MacOS: `Desktop/MyLibrary/Folder`
222
+ `<br/><br/>`
223
+
224
+ - `movie_folder_name`: The name of the subdirectory where movies will be stored.
225
+ - `serie_folder_name`: The name of the subdirectory where TV series will be stored.
226
+
227
+ - `map_episode_name`: Template for TV series episode filenames
228
+
229
+ ### Episode name usage:
230
+
231
+ You can choose different vars:
232
+
233
+
234
+ * `%(tv_name)` : Is the name of TV Show
235
+ * `%(season)` : Is the number of the season
236
+ * `%(episode)` : Is the number of the episode
237
+ * `%(episode_name)` : Is the name of the episode
238
+ `<br/><br/>`
239
+
240
+ - `not_close`: If true, continues running after downloading
241
+
242
+ ### qBittorrent Configuration
243
+
244
+ ```json
245
+ {
246
+ "config_qbit_tor": {
247
+ "host": "192.168.1.59",
248
+ "port": "8080",
249
+ "user": "admin",
250
+ "pass": "adminadmin"
251
+ }
252
+ }
253
+ ```
254
+
255
+ To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
256
+
257
+ <br>
258
+
259
+ ## REQUESTS Settings
260
+
261
+ ```json
262
+ {
263
+ "timeout": 20,
264
+ "max_retry": 3
265
+ }
266
+ ```
267
+
268
+ - `timeout`: Maximum timeout (in seconds) for each request
269
+ - `max_retry`: Number of retry attempts per segment during M3U8 index download
270
+
271
+ <br>
272
+
273
+ ## M3U8_DOWNLOAD Settings
274
+
275
+ ```json
276
+ {
277
+ "tqdm_delay": 0.01,
278
+ "tqdm_use_large_bar": true,
279
+ "default_video_workser": 12,
280
+ "default_audio_workser": 12,
281
+ "cleanup_tmp_folder": true
282
+ }
283
+ ```
284
+
285
+ - `tqdm_delay`: Delay between progress bar updates
286
+ - `tqdm_use_large_bar`: Use detailed progress bar (recommended for desktop) set to false for mobile
287
+ - `default_video_workser`: Number of threads for video download
288
+ - `default_audio_workser`: Number of threads for audio download
289
+ - `cleanup_tmp_folder`: Remove temporary .ts files after download
290
+
291
+
292
+ <br>
293
+
294
+ ### Language Settings
295
+
296
+ The following codes can be used for `specific_list_audio` and `specific_list_subtitles`:
297
+
298
+ ```
299
+ ara - Arabic eng - English ita - Italian por - Portuguese
300
+ baq - Basque fil - Filipino jpn - Japanese rum - Romanian
301
+ cat - Catalan fin - Finnish kan - Kannada rus - Russian
302
+ chi - Chinese fre - French kor - Korean spa - Spanish
303
+ cze - Czech ger - German mal - Malayalam swe - Swedish
304
+ dan - Danish glg - Galician may - Malay tam - Tamil
305
+ dut - Dutch gre - Greek nob - Norw. Bokm tel - Telugu
306
+ heb - Hebrew nor - Norwegian tha - Thai
307
+ forced-ita hin - Hindi pol - Polish tur - Turkish
308
+ hun - Hungarian ukr - Ukrainian
309
+ ind - Indonesian vie - Vietnamese
310
+ ```
311
+
312
+ > [!IMPORTANT]
313
+ > Language code availability may vary by site. Some platforms might:
314
+ >
315
+ > - Use different language codes
316
+ > - Support only a subset of these languages
317
+ > - Offer additional languages not listed here
318
+ >
319
+ > Check the specific site's available options if downloads fail.
320
+
321
+ > [!TIP]
322
+ > You can configure multiple languages by adding them to the lists:
323
+ >
324
+ > ```json
325
+ > "specific_list_audio": ["ita", "eng", "spa"],
326
+ > "specific_list_subtitles": ["ita", "eng", "spa"]
327
+ > ```
328
+
329
+ ## M3U8_PARSER Settings
330
+
331
+ ```json
332
+ {
333
+ "force_resolution": -1,
334
+ "get_only_link": false
335
+ }
336
+ ```
337
+
338
+ - `force_resolution`: Force specific resolution (-1 for best available, or specify 1080, 720, 360)
339
+ - `get_only_link`: Return M3U8 playlist/index URL instead of downloading
340
+
341
+ <br>
342
+
343
+ # COMMAND
344
+
345
+ - Download a specific season by entering its number.
346
+ * **Example:** `1` will download *Season 1* only.
347
+
348
+ - Use the wildcard `*` to download every available season.
349
+ * **Example:** `*` will download all seasons in the series.
350
+
351
+ - Specify a range of seasons using a hyphen `-`.
352
+ * **Example:** `1-2` will download *Seasons 1 and 2*.
353
+
354
+ - Enter a season number followed by `-*` to download from that season to the end.
355
+ * **Example:** `3-*` will download from *Season 3* to the final season.
356
+
357
+ <br>
358
+
359
+ # Docker
360
+
361
+ You can run the script in a docker container, to build the image just run
362
+
363
+ ```
364
+ docker build -t streaming-community-api .
365
+ ```
366
+
367
+ and to run it use
368
+
369
+ ```
370
+ docker run -it -p 8000:8000 streaming-community-api
371
+ ```
372
+
373
+ By default the videos will be saved in `/app/Video` inside the container, if you want to to save them in your machine instead of the container just run
374
+
375
+ ```
376
+ docker run -it -p 8000:8000 -v /path/to/download:/app/Video streaming-community-api
377
+ ```
378
+
379
+ ### Docker quick setup with Make
380
+
381
+ Inside the Makefile (install `make`) are already configured two commands to build and run the container:
382
+
383
+ ```
384
+ make build-container
385
+
386
+ # set your download directory as ENV variable
387
+ make LOCAL_DIR=/path/to/download run-container
388
+ ```
389
+
390
+ The `run-container` command mounts also the `config.json` file, so any change to the configuration file is reflected immediately without having to rebuild the image.
391
+
392
+ # Website Status
393
+
394
+ | Website | Status |
395
+ |:-------------------|:------:|
396
+ | 1337xx | ✅ |
397
+ | Altadefinizione | ✅ |
398
+ | AnimeUnity | ✅ |
399
+ | Ilcorsaronero | ✅ |
400
+ | CB01New | ✅ |
401
+ | DDLStreamItaly | ✅ |
402
+ | GuardaSerie | ✅ |
403
+ | MostraGuarda | ✅ |
404
+ | StreamingCommunity | ✅ |
405
+
406
+ # Tutorials
407
+
408
+ - [Windows Tutorial](https://www.youtube.com/watch?v=mZGqK4wdN-k)
409
+ - [Linux Tutorial](https://www.youtube.com/watch?v=0qUNXPE_mTg)
410
+ - [Pypy Tutorial](https://www.youtube.com/watch?v=C6m9ZKOK0p4)
411
+ - [Compiled .exe Tutorial](https://www.youtube.com/watch?v=pm4lqsxkTVo)
412
+
413
+ # To Do
414
+
415
+ - Finish [website API](https://github.com/Lovi-0/StreamingCommunity/tree/test_gui_1)
416
+
417
+ # Contributing
418
+
419
+ Contributions are welcome! Steps:
420
+ 1. Fork the repository
421
+ 2. Create feature branch (`git checkout -b feature/AmazingFeature`)
422
+ 3. Commit changes (`git commit -m 'Add some AmazingFeature'`)
423
+ 4. Push to branch (`git push origin feature/AmazingFeature`)
424
+ 5. Open Pull Request
425
+
426
+
427
+ # Disclaimer
428
+
429
+ This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
430
+
431
+ ## Contributors
432
+
433
+ <a href="https://github.com/Lovi-0/StreamingCommunity/graphs/contributors" alt="View Contributors">
434
+ <img src="https://contrib.rocks/image?repo=Lovi-0/StreamingCommunity&max=1000&columns=10" alt="Contributors" />
435
+ </a>
436
+
437
+ Keywords: streaming community
438
+ Platform: UNKNOWN
439
+ Requires-Python: >=3.8
440
+ Description-Content-Type: text/markdown
@@ -1,35 +1,64 @@
1
- # StreamingCommunity Downloader
2
-
3
- ![Project Logo](https://i.ibb.co/f4h5Y2m/min-logo.png)
4
-
5
- A versatile script designed to download films and series from various supported streaming platforms.
6
-
7
- # 🤝 Join our Community
8
-
9
- Chat, contribute, and have fun in our **Git_StreamingCommunity** Discord [Server](https://discord.com/invite/8vV68UGRc7)
1
+ <p align="center">
2
+ <img src="https://i.ibb.co/PFnjvBc/immagine-2024-12-26-180318047.png" alt="Project Logo" width="700"/>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="https://pypi.org/project/streamingcommunity">
7
+ <img src="https://img.shields.io/pypi/v/streamingcommunity?logo=pypi&labelColor=555555&style=for-the-badge" alt="PyPI"/>
8
+ </a>
9
+ <a href="https://www.python.org">
10
+ <img src="https://img.shields.io/badge/Python->=3.8-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python"/>
11
+ </a>
12
+ <a href="https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C">
13
+ <img src="https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors&labelColor=555555&style=for-the-badge" alt="Donate"/>
14
+ </a>
15
+ <a href="https://github.com/Lovi-0/StreamingCommunity/blob/main/LICENSE">
16
+ <img src="https://img.shields.io/badge/License-GPL_3.0-blue.svg?style=for-the-badge" alt="License"/>
17
+ </a>
18
+ <a href="https://github.com/Lovi-0/StreamingCommunity/commits">
19
+ <img src="https://img.shields.io/github/commit-activity/m/Lovi-0/StreamingCommunity?label=commits&style=for-the-badge" alt="Commits"/>
20
+ </a>
21
+ <a href="https://github.com/Lovi-0/StreamingCommunity/commits">
22
+ <img src="https://img.shields.io/github/last-commit/Lovi-0/StreamingCommunity/main?label=&style=for-the-badge&display_timestamp=committer" alt="Last Commit"/>
23
+ </a>
24
+ </p>
25
+
26
+ <p align="center">
27
+ <a href="https://pypi.org/project/streamingcommunity">
28
+ <img src="https://img.shields.io/pypi/dm/streamingcommunity?style=for-the-badge" alt="PyPI Downloads"/>
29
+ </a>
30
+ <a href="https://github.com/Lovi-0/StreamingCommunity/network/members">
31
+ <img src="https://img.shields.io/github/forks/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Forks"/>
32
+ </a>
33
+ <a href="https://github.com/Lovi-0/StreamingCommunity">
34
+ <img src="https://img.shields.io/github/languages/code-size/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Code Size"/>
35
+ </a>
36
+ <a href="https://github.com/Lovi-0/StreamingCommunity">
37
+ <img src="https://img.shields.io/github/repo-size/Lovi-0/StreamingCommunity?style=for-the-badge" alt="Repo Size"/>
38
+ </a>
39
+ </p>
10
40
 
11
41
  # 📋 Table of Contents
12
42
 
13
- - [Website available](#website-status)
14
- - [Installation](#installation)
15
- - [PyPI Installation](#1-pypi-installation)
16
- - [Automatic Installation](#2-automatic-installation)
17
- - [Manual Installation](#3-manual-installation)
18
- - [Win 7](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Installation#win-7)
19
- - [Termux](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Termux)
20
- - [Configuration](#configuration)
21
- - [Default](#default-settings)
22
- - [Request](#requests-settings)
23
- - [Download](#m3u8_download-settings)
24
- - [Parser](#m3u8_parser-settings)
25
- - [Docker](#docker)
26
- - [Tutorial](#tutorials)
27
- - [To Do](#to-do)
28
- - [Support](#support)
29
- - [Contribute](#contributing)
30
- - [Disclamer](#disclaimer)
31
-
32
-
43
+ - 🌐 [Website available](#website-status)
44
+ - 🛠️ [Installation](#installation)
45
+ - 📦 [PyPI Installation](#1-pypi-installation)
46
+ - 🔄 [Automatic Installation](#2-automatic-installation)
47
+ - 📝 [Manual Installation](#3-manual-installation)
48
+ - 💻 [Win 7](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Installation#win-7)
49
+ - 📱 [Termux](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Termux)
50
+ - ⚙️ [Configuration](#configuration)
51
+ - 🔧 [Default](#default-settings)
52
+ - 📩 [Request](#requests-settings)
53
+ - 📥 [Download](#m3u8_download-settings)
54
+ - 🔍 [Parser](#m3u8_parser-settings)
55
+ - 🐳 [Docker](#docker)
56
+ - 🎓 [Tutorial](#tutorials)
57
+ - 📝 [To do](#to-do)
58
+ - 💬 [Support](#support)
59
+ - 🤝 [Contribute](#contributing)
60
+ - ⚠️ [Disclaimer](#disclaimer)
61
+ - ⚡ [Contributors](#contributors)
33
62
 
34
63
  # Installation
35
64
 
@@ -302,10 +331,8 @@ forced-ita hin - Hindi pol - Polish tur - Turkish
302
331
 
303
332
  <br>
304
333
 
305
-
306
334
  # COMMAND
307
335
 
308
-
309
336
  - Download a specific season by entering its number.
310
337
  * **Example:** `1` will download *Season 1* only.
311
338
 
@@ -376,13 +403,7 @@ The `run-container` command mounts also the `config.json` file, so any change to
376
403
 
377
404
  # To Do
378
405
 
379
- - Create website API -> https://github.com/Lovi-0/StreamingCommunity/tree/test_gui_1
380
-
381
- # Support
382
-
383
- If you'd like to support this project, consider making a donation!
384
-
385
- [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C)
406
+ - Finish [website API](https://github.com/Lovi-0/StreamingCommunity/tree/test_gui_1)
386
407
 
387
408
  # Contributing
388
409
 
@@ -397,3 +418,9 @@ Contributions are welcome! Steps:
397
418
  # Disclaimer
398
419
 
399
420
  This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
421
+
422
+ ## Contributors
423
+
424
+ <a href="https://github.com/Lovi-0/StreamingCommunity/graphs/contributors" alt="View Contributors">
425
+ <img src="https://contrib.rocks/image?repo=Lovi-0/StreamingCommunity&max=1000&columns=10" alt="Contributors" />
426
+ </a>
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
27
27
  """
28
28
 
29
29
  if string_to_search is None:
30
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
30
+ string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
31
31
 
32
32
  # Search on database
33
33
  len_database = title_search(quote_plus(string_to_search))
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
27
27
  """
28
28
 
29
29
  if string_to_search is None:
30
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
30
+ string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
31
31
 
32
32
  # Search on database
33
33
  len_database = title_search(quote_plus(string_to_search))
@@ -24,7 +24,7 @@ from .costant import SITE_NAME
24
24
  def search(string_to_search: str = None, get_onylDatabase: bool = False):
25
25
 
26
26
  if string_to_search is None:
27
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
27
+ string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
28
28
 
29
29
  # Search on database
30
30
  len_database = title_search(quote_plus(string_to_search))
@@ -27,7 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
27
27
  """
28
28
 
29
29
  if string_to_search is None:
30
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
30
+ string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
31
31
 
32
32
  # Search on database
33
33
  len_database = title_search(quote_plus(string_to_search))
@@ -28,9 +28,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
28
28
  """
29
29
 
30
30
  if string_to_search is None:
31
-
32
- # Make request to site to get content that corrsisponde to that string
33
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
31
+ string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
34
32
 
35
33
  # Search on database
36
34
  len_database = title_search(quote_plus(string_to_search))
@@ -25,7 +25,6 @@ from StreamingCommunity.Api.Player.ddl import VideoSource
25
25
 
26
26
  # Variable
27
27
  from .costant import ROOT_PATH, SERIES_FOLDER
28
- table_show_manager = TVShowManager()
29
28
 
30
29
 
31
30
 
@@ -120,6 +119,7 @@ def display_episodes_list(obj_episode_manager) -> str:
120
119
  """
121
120
 
122
121
  # Set up table for displaying episodes
122
+ table_show_manager = TVShowManager()
123
123
  table_show_manager.set_slice_end(10)
124
124
 
125
125
  # Add columns to the table
@@ -27,9 +27,7 @@ def search(string_to_search: str = None, get_onylDatabase: bool = False):
27
27
  """
28
28
 
29
29
  if string_to_search is None:
30
-
31
- # Make request to site to get content that corrsisponde to that string
32
- string_to_search = msg.ask(f"\n[purple]Insert word to search in [red]{SITE_NAME}").strip()
30
+ string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{SITE_NAME}").strip()
33
31
 
34
32
  # Search on database
35
33
  len_database = title_search(quote_plus(string_to_search))
@@ -25,7 +25,6 @@ from StreamingCommunity.Api.Player.supervideo import VideoSource
25
25
 
26
26
  # Variable
27
27
  from .costant import ROOT_PATH, SERIES_FOLDER
28
- table_show_manager = TVShowManager()
29
28
 
30
29
 
31
30
 
@@ -171,8 +170,9 @@ def display_episodes_list(obj_episode_manager) -> str:
171
170
  Returns:
172
171
  last_command (str): Last command entered by the user.
173
172
  """
174
-
173
+
175
174
  # Set up table for displaying episodes
175
+ table_show_manager = TVShowManager()
176
176
  table_show_manager.set_slice_end(10)
177
177
 
178
178
  # Add columns to the table