StreamingCommunity 2.5.2__py3-none-any.whl → 2.5.6__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 (268) hide show
  1. StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py +143 -143
  2. StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +136 -136
  3. StreamingCommunity/Api/Player/ddl.py +89 -89
  4. StreamingCommunity/Api/Player/maxstream.py +151 -151
  5. StreamingCommunity/Api/Player/supervideo.py +193 -193
  6. StreamingCommunity/Api/Player/vixcloud.py +272 -272
  7. StreamingCommunity/Api/Site/1337xx/__init__.py +51 -50
  8. StreamingCommunity/Api/Site/1337xx/costant.py +14 -14
  9. StreamingCommunity/Api/Site/1337xx/site.py +87 -89
  10. StreamingCommunity/Api/Site/1337xx/title.py +63 -64
  11. StreamingCommunity/Api/Site/altadefinizionegratis/__init__.py +74 -50
  12. StreamingCommunity/Api/Site/altadefinizionegratis/costant.py +21 -19
  13. StreamingCommunity/Api/Site/altadefinizionegratis/film.py +81 -72
  14. StreamingCommunity/Api/Site/altadefinizionegratis/site.py +116 -94
  15. StreamingCommunity/Api/Site/animeunity/__init__.py +75 -50
  16. StreamingCommunity/Api/Site/animeunity/costant.py +21 -19
  17. StreamingCommunity/Api/Site/animeunity/film_serie.py +172 -134
  18. StreamingCommunity/Api/Site/animeunity/site.py +191 -174
  19. StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +97 -97
  20. StreamingCommunity/Api/Site/cb01new/__init__.py +51 -51
  21. StreamingCommunity/Api/Site/cb01new/costant.py +19 -19
  22. StreamingCommunity/Api/Site/cb01new/film.py +61 -71
  23. StreamingCommunity/Api/Site/cb01new/site.py +82 -82
  24. StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +55 -55
  25. StreamingCommunity/Api/Site/ddlstreamitaly/costant.py +20 -20
  26. StreamingCommunity/Api/Site/ddlstreamitaly/series.py +150 -145
  27. StreamingCommunity/Api/Site/ddlstreamitaly/site.py +98 -98
  28. StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +84 -84
  29. StreamingCommunity/Api/Site/guardaserie/__init__.py +50 -50
  30. StreamingCommunity/Api/Site/guardaserie/costant.py +19 -19
  31. StreamingCommunity/Api/Site/guardaserie/series.py +200 -198
  32. StreamingCommunity/Api/Site/guardaserie/site.py +89 -89
  33. StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +110 -110
  34. StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +51 -51
  35. StreamingCommunity/Api/Site/ilcorsaronero/costant.py +18 -18
  36. StreamingCommunity/Api/Site/ilcorsaronero/site.py +71 -71
  37. StreamingCommunity/Api/Site/ilcorsaronero/title.py +44 -44
  38. StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +149 -149
  39. StreamingCommunity/Api/Site/mostraguarda/__init__.py +48 -48
  40. StreamingCommunity/Api/Site/mostraguarda/costant.py +18 -18
  41. StreamingCommunity/Api/Site/mostraguarda/film.py +90 -101
  42. StreamingCommunity/Api/Site/streamingcommunity/__init__.py +79 -55
  43. StreamingCommunity/Api/Site/streamingcommunity/costant.py +21 -19
  44. StreamingCommunity/Api/Site/streamingcommunity/film.py +86 -75
  45. StreamingCommunity/Api/Site/streamingcommunity/series.py +260 -207
  46. StreamingCommunity/Api/Site/streamingcommunity/site.py +156 -142
  47. StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +124 -124
  48. StreamingCommunity/Api/Template/Class/SearchType.py +101 -101
  49. StreamingCommunity/Api/Template/Util/__init__.py +4 -4
  50. StreamingCommunity/Api/Template/Util/get_domain.py +201 -201
  51. StreamingCommunity/Api/Template/Util/manage_ep.py +178 -178
  52. StreamingCommunity/Api/Template/Util/recall_search.py +37 -37
  53. StreamingCommunity/Api/Template/__init__.py +2 -2
  54. StreamingCommunity/Api/Template/site.py +87 -87
  55. StreamingCommunity/Lib/Downloader/HLS/downloader.py +529 -1008
  56. StreamingCommunity/Lib/Downloader/HLS/proxyes.py +110 -110
  57. StreamingCommunity/Lib/Downloader/HLS/segments.py +446 -573
  58. StreamingCommunity/Lib/Downloader/MP4/downloader.py +181 -155
  59. StreamingCommunity/Lib/Downloader/TOR/downloader.py +297 -295
  60. StreamingCommunity/Lib/Downloader/__init__.py +4 -4
  61. StreamingCommunity/Lib/FFmpeg/__init__.py +4 -4
  62. StreamingCommunity/Lib/FFmpeg/capture.py +170 -170
  63. StreamingCommunity/Lib/FFmpeg/command.py +264 -296
  64. StreamingCommunity/Lib/FFmpeg/util.py +248 -248
  65. StreamingCommunity/Lib/M3U8/__init__.py +5 -5
  66. StreamingCommunity/Lib/M3U8/decryptor.py +164 -164
  67. StreamingCommunity/Lib/M3U8/estimator.py +146 -228
  68. StreamingCommunity/Lib/M3U8/parser.py +666 -666
  69. StreamingCommunity/Lib/M3U8/url_fixer.py +57 -57
  70. StreamingCommunity/Lib/TMBD/__init__.py +1 -1
  71. StreamingCommunity/Lib/TMBD/obj_tmbd.py +39 -39
  72. StreamingCommunity/Lib/TMBD/tmdb.py +345 -345
  73. StreamingCommunity/TelegramHelp/__init__.py +0 -0
  74. StreamingCommunity/TelegramHelp/request_manager.py +82 -0
  75. StreamingCommunity/TelegramHelp/session.py +56 -0
  76. StreamingCommunity/TelegramHelp/telegram_bot.py +561 -0
  77. StreamingCommunity/Upload/update.py +75 -67
  78. StreamingCommunity/Upload/version.py +5 -5
  79. StreamingCommunity/Util/_jsonConfig.py +227 -228
  80. StreamingCommunity/Util/call_stack.py +42 -42
  81. StreamingCommunity/Util/color.py +20 -20
  82. StreamingCommunity/Util/console.py +12 -12
  83. StreamingCommunity/Util/ffmpeg_installer.py +342 -370
  84. StreamingCommunity/Util/headers.py +159 -159
  85. StreamingCommunity/Util/logger.py +61 -61
  86. StreamingCommunity/Util/message.py +36 -64
  87. StreamingCommunity/Util/os.py +500 -507
  88. StreamingCommunity/Util/table.py +271 -228
  89. StreamingCommunity/run.py +352 -245
  90. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.6.dist-info}/LICENSE +674 -674
  91. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.6.dist-info}/METADATA +601 -543
  92. StreamingCommunity-2.5.6.dist-info/RECORD +96 -0
  93. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.6.dist-info}/entry_points.txt +0 -1
  94. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/js_parser.cpython-313.pyc +0 -0
  95. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/js_parser.cpython-39.pyc +0 -0
  96. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/util.cpython-313.pyc +0 -0
  97. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/util.cpython-39.pyc +0 -0
  98. StreamingCommunity/Api/Player/__pycache__/ddl.cpython-313.pyc +0 -0
  99. StreamingCommunity/Api/Player/__pycache__/ddl.cpython-39.pyc +0 -0
  100. StreamingCommunity/Api/Player/__pycache__/maxstream.cpython-313.pyc +0 -0
  101. StreamingCommunity/Api/Player/__pycache__/maxstream.cpython-39.pyc +0 -0
  102. StreamingCommunity/Api/Player/__pycache__/supervideo.cpython-313.pyc +0 -0
  103. StreamingCommunity/Api/Player/__pycache__/supervideo.cpython-39.pyc +0 -0
  104. StreamingCommunity/Api/Player/__pycache__/vixcloud.cpython-313.pyc +0 -0
  105. StreamingCommunity/Api/Player/__pycache__/vixcloud.cpython-39.pyc +0 -0
  106. StreamingCommunity/Api/Site/1337xx/__pycache__/__init__.cpython-313.pyc +0 -0
  107. StreamingCommunity/Api/Site/1337xx/__pycache__/__init__.cpython-39.pyc +0 -0
  108. StreamingCommunity/Api/Site/1337xx/__pycache__/costant.cpython-313.pyc +0 -0
  109. StreamingCommunity/Api/Site/1337xx/__pycache__/costant.cpython-39.pyc +0 -0
  110. StreamingCommunity/Api/Site/1337xx/__pycache__/site.cpython-313.pyc +0 -0
  111. StreamingCommunity/Api/Site/1337xx/__pycache__/site.cpython-39.pyc +0 -0
  112. StreamingCommunity/Api/Site/1337xx/__pycache__/title.cpython-313.pyc +0 -0
  113. StreamingCommunity/Api/Site/1337xx/__pycache__/title.cpython-39.pyc +0 -0
  114. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/__init__.cpython-313.pyc +0 -0
  115. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/__init__.cpython-39.pyc +0 -0
  116. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/costant.cpython-313.pyc +0 -0
  117. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/costant.cpython-39.pyc +0 -0
  118. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/film.cpython-313.pyc +0 -0
  119. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/film.cpython-39.pyc +0 -0
  120. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/site.cpython-313.pyc +0 -0
  121. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/site.cpython-39.pyc +0 -0
  122. StreamingCommunity/Api/Site/animeunity/__pycache__/__init__.cpython-313.pyc +0 -0
  123. StreamingCommunity/Api/Site/animeunity/__pycache__/__init__.cpython-39.pyc +0 -0
  124. StreamingCommunity/Api/Site/animeunity/__pycache__/costant.cpython-313.pyc +0 -0
  125. StreamingCommunity/Api/Site/animeunity/__pycache__/costant.cpython-39.pyc +0 -0
  126. StreamingCommunity/Api/Site/animeunity/__pycache__/film_serie.cpython-313.pyc +0 -0
  127. StreamingCommunity/Api/Site/animeunity/__pycache__/film_serie.cpython-39.pyc +0 -0
  128. StreamingCommunity/Api/Site/animeunity/__pycache__/site.cpython-313.pyc +0 -0
  129. StreamingCommunity/Api/Site/animeunity/__pycache__/site.cpython-39.pyc +0 -0
  130. StreamingCommunity/Api/Site/animeunity/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  131. StreamingCommunity/Api/Site/animeunity/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  132. StreamingCommunity/Api/Site/cb01new/__pycache__/__init__.cpython-313.pyc +0 -0
  133. StreamingCommunity/Api/Site/cb01new/__pycache__/__init__.cpython-39.pyc +0 -0
  134. StreamingCommunity/Api/Site/cb01new/__pycache__/costant.cpython-313.pyc +0 -0
  135. StreamingCommunity/Api/Site/cb01new/__pycache__/costant.cpython-39.pyc +0 -0
  136. StreamingCommunity/Api/Site/cb01new/__pycache__/film.cpython-313.pyc +0 -0
  137. StreamingCommunity/Api/Site/cb01new/__pycache__/film.cpython-39.pyc +0 -0
  138. StreamingCommunity/Api/Site/cb01new/__pycache__/site.cpython-313.pyc +0 -0
  139. StreamingCommunity/Api/Site/cb01new/__pycache__/site.cpython-39.pyc +0 -0
  140. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/__init__.cpython-313.pyc +0 -0
  141. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/__init__.cpython-39.pyc +0 -0
  142. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/costant.cpython-313.pyc +0 -0
  143. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/costant.cpython-39.pyc +0 -0
  144. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/series.cpython-313.pyc +0 -0
  145. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/series.cpython-39.pyc +0 -0
  146. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/site.cpython-313.pyc +0 -0
  147. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/site.cpython-39.pyc +0 -0
  148. StreamingCommunity/Api/Site/ddlstreamitaly/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  149. StreamingCommunity/Api/Site/ddlstreamitaly/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  150. StreamingCommunity/Api/Site/guardaserie/__pycache__/__init__.cpython-313.pyc +0 -0
  151. StreamingCommunity/Api/Site/guardaserie/__pycache__/__init__.cpython-39.pyc +0 -0
  152. StreamingCommunity/Api/Site/guardaserie/__pycache__/costant.cpython-313.pyc +0 -0
  153. StreamingCommunity/Api/Site/guardaserie/__pycache__/costant.cpython-39.pyc +0 -0
  154. StreamingCommunity/Api/Site/guardaserie/__pycache__/series.cpython-313.pyc +0 -0
  155. StreamingCommunity/Api/Site/guardaserie/__pycache__/series.cpython-39.pyc +0 -0
  156. StreamingCommunity/Api/Site/guardaserie/__pycache__/site.cpython-313.pyc +0 -0
  157. StreamingCommunity/Api/Site/guardaserie/__pycache__/site.cpython-39.pyc +0 -0
  158. StreamingCommunity/Api/Site/guardaserie/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  159. StreamingCommunity/Api/Site/guardaserie/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  160. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/__init__.cpython-313.pyc +0 -0
  161. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/__init__.cpython-39.pyc +0 -0
  162. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/costant.cpython-313.pyc +0 -0
  163. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/costant.cpython-39.pyc +0 -0
  164. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/site.cpython-313.pyc +0 -0
  165. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/site.cpython-39.pyc +0 -0
  166. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/title.cpython-313.pyc +0 -0
  167. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/title.cpython-39.pyc +0 -0
  168. StreamingCommunity/Api/Site/ilcorsaronero/util/__pycache__/ilCorsarScraper.cpython-313.pyc +0 -0
  169. StreamingCommunity/Api/Site/ilcorsaronero/util/__pycache__/ilCorsarScraper.cpython-39.pyc +0 -0
  170. StreamingCommunity/Api/Site/mostraguarda/__pycache__/__init__.cpython-313.pyc +0 -0
  171. StreamingCommunity/Api/Site/mostraguarda/__pycache__/__init__.cpython-39.pyc +0 -0
  172. StreamingCommunity/Api/Site/mostraguarda/__pycache__/costant.cpython-313.pyc +0 -0
  173. StreamingCommunity/Api/Site/mostraguarda/__pycache__/costant.cpython-39.pyc +0 -0
  174. StreamingCommunity/Api/Site/mostraguarda/__pycache__/film.cpython-313.pyc +0 -0
  175. StreamingCommunity/Api/Site/mostraguarda/__pycache__/film.cpython-39.pyc +0 -0
  176. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/__init__.cpython-313.pyc +0 -0
  177. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/__init__.cpython-39.pyc +0 -0
  178. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/costant.cpython-313.pyc +0 -0
  179. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/costant.cpython-39.pyc +0 -0
  180. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/film.cpython-313.pyc +0 -0
  181. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/film.cpython-39.pyc +0 -0
  182. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/series.cpython-313.pyc +0 -0
  183. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/series.cpython-39.pyc +0 -0
  184. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/site.cpython-313.pyc +0 -0
  185. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/site.cpython-39.pyc +0 -0
  186. StreamingCommunity/Api/Site/streamingcommunity/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  187. StreamingCommunity/Api/Site/streamingcommunity/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  188. StreamingCommunity/Api/Template/Class/__pycache__/SearchType.cpython-313.pyc +0 -0
  189. StreamingCommunity/Api/Template/Class/__pycache__/SearchType.cpython-39.pyc +0 -0
  190. StreamingCommunity/Api/Template/Util/__pycache__/__init__.cpython-313.pyc +0 -0
  191. StreamingCommunity/Api/Template/Util/__pycache__/__init__.cpython-39.pyc +0 -0
  192. StreamingCommunity/Api/Template/Util/__pycache__/get_domain.cpython-313.pyc +0 -0
  193. StreamingCommunity/Api/Template/Util/__pycache__/get_domain.cpython-39.pyc +0 -0
  194. StreamingCommunity/Api/Template/Util/__pycache__/manage_ep.cpython-313.pyc +0 -0
  195. StreamingCommunity/Api/Template/Util/__pycache__/manage_ep.cpython-39.pyc +0 -0
  196. StreamingCommunity/Api/Template/Util/__pycache__/recall_search.cpython-313.pyc +0 -0
  197. StreamingCommunity/Api/Template/Util/__pycache__/recall_search.cpython-39.pyc +0 -0
  198. StreamingCommunity/Api/Template/__pycache__/__init__.cpython-313.pyc +0 -0
  199. StreamingCommunity/Api/Template/__pycache__/__init__.cpython-39.pyc +0 -0
  200. StreamingCommunity/Api/Template/__pycache__/site.cpython-313.pyc +0 -0
  201. StreamingCommunity/Api/Template/__pycache__/site.cpython-39.pyc +0 -0
  202. StreamingCommunity/Lib/Downloader/HLS/__pycache__/downloader.cpython-313.pyc +0 -0
  203. StreamingCommunity/Lib/Downloader/HLS/__pycache__/downloader.cpython-39.pyc +0 -0
  204. StreamingCommunity/Lib/Downloader/HLS/__pycache__/proxyes.cpython-313.pyc +0 -0
  205. StreamingCommunity/Lib/Downloader/HLS/__pycache__/proxyes.cpython-39.pyc +0 -0
  206. StreamingCommunity/Lib/Downloader/HLS/__pycache__/segments.cpython-313.pyc +0 -0
  207. StreamingCommunity/Lib/Downloader/HLS/__pycache__/segments.cpython-39.pyc +0 -0
  208. StreamingCommunity/Lib/Downloader/MP4/__pycache__/downloader.cpython-313.pyc +0 -0
  209. StreamingCommunity/Lib/Downloader/MP4/__pycache__/downloader.cpython-39.pyc +0 -0
  210. StreamingCommunity/Lib/Downloader/TOR/__pycache__/downloader.cpython-313.pyc +0 -0
  211. StreamingCommunity/Lib/Downloader/TOR/__pycache__/downloader.cpython-39.pyc +0 -0
  212. StreamingCommunity/Lib/Downloader/__pycache__/__init__.cpython-313.pyc +0 -0
  213. StreamingCommunity/Lib/Downloader/__pycache__/__init__.cpython-39.pyc +0 -0
  214. StreamingCommunity/Lib/FFmpeg/__pycache__/__init__.cpython-313.pyc +0 -0
  215. StreamingCommunity/Lib/FFmpeg/__pycache__/__init__.cpython-39.pyc +0 -0
  216. StreamingCommunity/Lib/FFmpeg/__pycache__/capture.cpython-313.pyc +0 -0
  217. StreamingCommunity/Lib/FFmpeg/__pycache__/capture.cpython-39.pyc +0 -0
  218. StreamingCommunity/Lib/FFmpeg/__pycache__/command.cpython-313.pyc +0 -0
  219. StreamingCommunity/Lib/FFmpeg/__pycache__/command.cpython-39.pyc +0 -0
  220. StreamingCommunity/Lib/FFmpeg/__pycache__/util.cpython-313.pyc +0 -0
  221. StreamingCommunity/Lib/FFmpeg/__pycache__/util.cpython-39.pyc +0 -0
  222. StreamingCommunity/Lib/M3U8/__pycache__/__init__.cpython-313.pyc +0 -0
  223. StreamingCommunity/Lib/M3U8/__pycache__/__init__.cpython-39.pyc +0 -0
  224. StreamingCommunity/Lib/M3U8/__pycache__/decryptor.cpython-313.pyc +0 -0
  225. StreamingCommunity/Lib/M3U8/__pycache__/decryptor.cpython-39.pyc +0 -0
  226. StreamingCommunity/Lib/M3U8/__pycache__/estimator.cpython-313.pyc +0 -0
  227. StreamingCommunity/Lib/M3U8/__pycache__/estimator.cpython-39.pyc +0 -0
  228. StreamingCommunity/Lib/M3U8/__pycache__/parser.cpython-313.pyc +0 -0
  229. StreamingCommunity/Lib/M3U8/__pycache__/parser.cpython-39.pyc +0 -0
  230. StreamingCommunity/Lib/M3U8/__pycache__/url_fixer.cpython-313.pyc +0 -0
  231. StreamingCommunity/Lib/M3U8/__pycache__/url_fixer.cpython-39.pyc +0 -0
  232. StreamingCommunity/Lib/TMBD/__pycache__/__init__.cpython-313.pyc +0 -0
  233. StreamingCommunity/Lib/TMBD/__pycache__/__init__.cpython-39.pyc +0 -0
  234. StreamingCommunity/Lib/TMBD/__pycache__/obj_tmbd.cpython-313.pyc +0 -0
  235. StreamingCommunity/Lib/TMBD/__pycache__/obj_tmbd.cpython-39.pyc +0 -0
  236. StreamingCommunity/Lib/TMBD/__pycache__/tmdb.cpython-313.pyc +0 -0
  237. StreamingCommunity/Lib/TMBD/__pycache__/tmdb.cpython-39.pyc +0 -0
  238. StreamingCommunity/Upload/__pycache__/update.cpython-313.pyc +0 -0
  239. StreamingCommunity/Upload/__pycache__/update.cpython-39.pyc +0 -0
  240. StreamingCommunity/Upload/__pycache__/version.cpython-313.pyc +0 -0
  241. StreamingCommunity/Upload/__pycache__/version.cpython-39.pyc +0 -0
  242. StreamingCommunity/Util/__pycache__/_jsonConfig.cpython-313.pyc +0 -0
  243. StreamingCommunity/Util/__pycache__/_jsonConfig.cpython-39.pyc +0 -0
  244. StreamingCommunity/Util/__pycache__/call_stack.cpython-313.pyc +0 -0
  245. StreamingCommunity/Util/__pycache__/call_stack.cpython-39.pyc +0 -0
  246. StreamingCommunity/Util/__pycache__/color.cpython-313.pyc +0 -0
  247. StreamingCommunity/Util/__pycache__/color.cpython-39.pyc +0 -0
  248. StreamingCommunity/Util/__pycache__/console.cpython-313.pyc +0 -0
  249. StreamingCommunity/Util/__pycache__/console.cpython-39.pyc +0 -0
  250. StreamingCommunity/Util/__pycache__/ffmpeg_installer.cpython-313.pyc +0 -0
  251. StreamingCommunity/Util/__pycache__/ffmpeg_installer.cpython-39.pyc +0 -0
  252. StreamingCommunity/Util/__pycache__/headers.cpython-313.pyc +0 -0
  253. StreamingCommunity/Util/__pycache__/headers.cpython-39.pyc +0 -0
  254. StreamingCommunity/Util/__pycache__/logger.cpython-313.pyc +0 -0
  255. StreamingCommunity/Util/__pycache__/logger.cpython-39.pyc +0 -0
  256. StreamingCommunity/Util/__pycache__/message.cpython-313.pyc +0 -0
  257. StreamingCommunity/Util/__pycache__/message.cpython-39.pyc +0 -0
  258. StreamingCommunity/Util/__pycache__/os.cpython-313.pyc +0 -0
  259. StreamingCommunity/Util/__pycache__/os.cpython-39.pyc +0 -0
  260. StreamingCommunity/Util/__pycache__/table.cpython-313.pyc +0 -0
  261. StreamingCommunity/Util/__pycache__/table.cpython-39.pyc +0 -0
  262. StreamingCommunity/__pycache__/__init__.cpython-313.pyc +0 -0
  263. StreamingCommunity/__pycache__/__init__.cpython-39.pyc +0 -0
  264. StreamingCommunity/__pycache__/run.cpython-313.pyc +0 -0
  265. StreamingCommunity/__pycache__/run.cpython-39.pyc +0 -0
  266. StreamingCommunity-2.5.2.dist-info/RECORD +0 -264
  267. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.6.dist-info}/WHEEL +0 -0
  268. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.6.dist-info}/top_level.txt +0 -0
@@ -1,543 +1,601 @@
1
- Metadata-Version: 2.1
2
- Name: StreamingCommunity
3
- Version: 2.5.2
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
- Keywords: streaming community
11
- Platform: UNKNOWN
12
- Requires-Python: >=3.8
13
- Description-Content-Type: text/markdown
14
- Requires-Dist: httpx
15
- Requires-Dist: bs4
16
- Requires-Dist: rich
17
- Requires-Dist: tqdm
18
- Requires-Dist: m3u8
19
- Requires-Dist: psutil
20
- Requires-Dist: unidecode
21
- Requires-Dist: jsbeautifier
22
- Requires-Dist: pathvalidate
23
- Requires-Dist: pycryptodomex
24
- Requires-Dist: googlesearch-python
25
- Requires-Dist: fake-useragent
26
- Requires-Dist: qbittorrent-api
27
- Requires-Dist: python-qbittorrent
28
-
29
- <p align="center">
30
- <img src="https://i.ibb.co/PFnjvBc/immagine-2024-12-26-180318047.png" alt="Project Logo" width="700"/>
31
- </p>
32
-
33
- <p align="center">
34
- <a href="https://pypi.org/project/streamingcommunity">
35
- <img src="https://img.shields.io/pypi/v/streamingcommunity?logo=pypi&labelColor=555555&style=for-the-badge" alt="PyPI"/>
36
- </a>
37
- <a href="https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C">
38
- <img src="https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors&labelColor=555555&style=for-the-badge" alt="Donate"/>
39
- </a>
40
- <a href="https://github.com/Lovi-0/StreamingCommunity/commits">
41
- <img src="https://img.shields.io/github/commit-activity/m/Lovi-0/StreamingCommunity?label=commits&style=for-the-badge" alt="Commits"/>
42
- </a>
43
- <a href="https://github.com/Lovi-0/StreamingCommunity/commits">
44
- <img src="https://img.shields.io/github/last-commit/Lovi-0/StreamingCommunity/main?label=&style=for-the-badge&display_timestamp=committer" alt="Last Commit"/>
45
- </a>
46
- </p>
47
-
48
- <p align="center">
49
- <a href="https://github.com/Lovi-0/StreamingCommunity/blob/main/LICENSE">
50
- <img src="https://img.shields.io/badge/License-GPL_3.0-blue.svg?style=for-the-badge" alt="License"/>
51
- </a>
52
- <a href="https://pypi.org/project/streamingcommunity">
53
- <img src="https://img.shields.io/pypi/dm/streamingcommunity?style=for-the-badge" alt="PyPI Downloads"/>
54
- </a>
55
- <a href="https://github.com/Lovi-0/StreamingCommunity">
56
- <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Lovi-0/StreamingCommunity/main/Test/Util/loc-badge.json&style=for-the-badge" alt="Lines of Code"/>
57
- </a>
58
- </p>
59
-
60
- # 📋 Table of Contents
61
-
62
- - 🌐 [Website available](#website-status)
63
- - 🛠️ [Installation](#installation)
64
- - 📦 [PyPI Installation](#1-pypi-installation)
65
- - 🔄 [Automatic Installation](#2-automatic-installation)
66
- - 🔧 [Binary Location](#binary-location)
67
- - 📝 [Manual Installation](#3-manual-installation)
68
- - 💻 [Win 7](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Installation#win-7)
69
- - 📱 [Termux](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Termux)
70
- - ⚙️ [Configuration](#configuration)
71
- - 🔧 [Default](#default-settings)
72
- - 📩 [Request](#requests-settings)
73
- - 📥 [Download](#m3u8_download-settings)
74
- - 🔍 [Parser](#m3u8_parser-settings)
75
- - 🐳 [Docker](#docker)
76
- - 🎓 [Tutorial](#tutorials)
77
- - 📝 [To do](#to-do)
78
- - 💬 [Support](#support)
79
- - 🤝 [Contribute](#contributing)
80
- - ⚠️ [Disclaimer](#disclaimer)
81
- - [Contributors](#contributors)
82
-
83
- # Installation
84
-
85
- <p align="center">
86
- <a href="https://github.com/Lovi-0/StreamingCommunity/releases/latest/download/StreamingCommunity.exe">
87
- <img src="https://img.shields.io/badge/-Windows_x64-blue.svg?style=for-the-badge&logo=windows" alt="Windows">
88
- </a>
89
- <a href="https://pypi.org/project/StreamingCommunity">
90
- <img src="https://img.shields.io/badge/-PyPI-blue.svg?logo=pypi&labelColor=555555&style=for-the-badge" alt="PyPI">
91
- </a>
92
- <a href="https://github.com/Lovi-0/StreamingCommunity/releases/latest/download/StreamingCommunity.zip">
93
- <img src="https://img.shields.io/badge/-Source_tar-green.svg?style=for-the-badge" alt="Source Tarball">
94
- </a>
95
- <a href="https://github.com/Lovi-0/StreamingCommunity/releases">
96
- <img src="https://img.shields.io/badge/-All_Versions-lightgrey.svg?style=for-the-badge" alt="All Versions">
97
- </a>
98
- </p>
99
-
100
-
101
- ## 1. PyPI Installation
102
-
103
- Install directly from PyPI:
104
-
105
- ```bash
106
- pip install StreamingCommunity
107
- ```
108
-
109
- ### Creating a Run Script
110
-
111
- Create `run_streaming.py`:
112
-
113
- ```python
114
- from StreamingCommunity.run import main
115
-
116
- if __name__ == "__main__":
117
- main()
118
- ```
119
-
120
- Run the script:
121
- ```bash
122
- python run_streaming.py
123
- ```
124
-
125
- ### Updating via PyPI
126
-
127
- ```bash
128
- pip install --upgrade StreamingCommunity
129
- ```
130
-
131
- ## 2. Automatic Installation
132
-
133
- ### Supported Operating Systems 💿
134
-
135
- | OS | Automatic Installation Support |
136
- |:----------------|:------------------------------:|
137
- | Windows 10/11 | ✔️ |
138
- | Windows 7 | ❌ |
139
- | Debian Linux | ✔️ |
140
- | Arch Linux | ✔️ |
141
- | CentOS Stream 9 | ✔️ |
142
- | FreeBSD | ⏳ |
143
- | MacOS | ✔️ |
144
- | Termux | ❌ |
145
-
146
- ### Installation Steps
147
-
148
- #### On Windows:
149
-
150
- ```powershell
151
- .\Installer\win_install.bat
152
- ```
153
-
154
- #### On Linux/MacOS/BSD:
155
-
156
- ```bash
157
- sudo chmod +x Installer/unix_install.sh && ./Installer/unix_install.sh
158
- ```
159
-
160
- ### Usage
161
-
162
- #### On Windows:
163
-
164
- ```powershell
165
- python .\test_run.py
166
- ```
167
-
168
- or
169
-
170
- ```powershell
171
- source .venv/bin/activate && python test_run.py && deactivate
172
- ```
173
-
174
- #### On Linux/MacOS/BSD:
175
-
176
- ```bash
177
- ./test_run.py
178
- ```
179
-
180
- ## Binary Location
181
-
182
- ### Default Locations
183
- - **Windows**: `C:\binary`
184
- - **MacOS**: `~/Applications/binary`
185
- - **Linux**: `~/.local/bin/binary`
186
-
187
- You can customize these locations by following these steps for your operating system:
188
-
189
- #### Windows
190
- 1. Move the binary folder from `C:\binary` to your desired location
191
- 2. Add the new path to Windows environment variables:
192
- - Open Start menu and search for "Environment Variables"
193
- - Click "Edit the system environment variables"
194
- - Click "Environment Variables" button
195
- - Under "System Variables", find and select "Path"
196
- - Click "Edit"
197
- - Add the new binary folder path
198
- - Click "OK" to save changes
199
-
200
- For detailed Windows PATH instructions, see the [Windows PATH guide](https://www.eukhost.com/kb/how-to-add-to-the-path-on-windows-10-and-windows-11/).
201
-
202
- #### MacOS
203
- 1. Move the binary folder from `~/Applications/binary` to your desired location
204
- 2. Add the new path to your shell's configuration file:
205
- ```bash
206
- # For bash (edit ~/.bash_profile)
207
- export PATH="/your/custom/path:$PATH"
208
-
209
- # For zsh (edit ~/.zshrc)
210
- export PATH="/your/custom/path:$PATH"
211
- ```
212
- 3. Reload your shell configuration:
213
- ```bash
214
- # For bash
215
- source ~/.bash_profile
216
-
217
- # For zsh
218
- source ~/.zshrc
219
- ```
220
-
221
- #### Linux
222
- 1. Move the binary folder from `~/.local/bin/binary` to your desired location
223
- 2. Add the new path to your shell's configuration file:
224
- ```bash
225
- # For bash (edit ~/.bashrc)
226
- export PATH="/your/custom/path:$PATH"
227
-
228
- # For zsh (edit ~/.zshrc)
229
- export PATH="/your/custom/path:$PATH"
230
- ```
231
- 3. Apply the changes:
232
- ```bash
233
- source ~/.bashrc # for bash
234
- # or
235
- source ~/.zshrc # for zsh
236
- ```
237
-
238
- > [!IMPORTANT]
239
- > After moving the binary folder, ensure that all executables (ffmpeg, ffprobe, ffplay) are present in the new location and have the correct permissions:
240
- > - Windows: `.exe` extensions required
241
- > - MacOS/Linux: Ensure files have execute permissions (`chmod +x filename`)
242
-
243
- ## 3. Manual Installation
244
-
245
- ### Requirements 📋
246
-
247
- Prerequisites:
248
- * [Python](https://www.python.org/downloads/) > 3.8
249
- * [FFmpeg](https://www.gyan.dev/ffmpeg/builds/)
250
-
251
- ### Install Python Dependencies
252
-
253
- ```bash
254
- pip install -r requirements.txt
255
- ```
256
-
257
- ### Usage
258
-
259
- #### On Windows:
260
-
261
- ```powershell
262
- python test_run.py
263
- ```
264
-
265
- #### On Linux/MacOS:
266
-
267
- ```bash
268
- python3 test_run.py
269
- ```
270
-
271
- ## Update
272
-
273
- Keep your script up to date with the latest features by running:
274
-
275
- ### On Windows:
276
-
277
- ```powershell
278
- python update.py
279
- ```
280
-
281
- ### On Linux/MacOS:
282
-
283
- ```bash
284
- python3 update.py
285
- ```
286
-
287
- <br>
288
-
289
- # Configuration
290
-
291
- You can change some behaviors by tweaking the configuration file.
292
-
293
- The configuration file is divided into several main sections:
294
-
295
- ## DEFAULT Settings
296
-
297
- ```json
298
- {
299
- "root_path": "Video",
300
- "movie_folder_name": "Movie",
301
- "serie_folder_name": "TV",
302
- "map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
303
- "add_siteName": false,
304
- "disable_searchDomain": false,
305
- "not_close": false
306
- }
307
- ```
308
-
309
- - `root_path`: Directory where all videos will be saved
310
-
311
- ### Path examples:
312
- * Windows: `C:\\MyLibrary\\Folder` or `\\\\MyServer\\MyLibrary` (if you want to use a network folder)
313
- * Linux/MacOS: `Desktop/MyLibrary/Folder`
314
- `<br/><br/>`
315
-
316
- - `movie_folder_name`: The name of the subdirectory where movies will be stored.
317
- - `serie_folder_name`: The name of the subdirectory where TV series will be stored.
318
-
319
- - `map_episode_name`: Template for TV series episode filenames
320
-
321
- ### Episode name usage:
322
-
323
- You can choose different vars:
324
-
325
-
326
- * `%(tv_name)` : Is the name of TV Show
327
- * `%(season)` : Is the number of the season
328
- * `%(episode)` : Is the number of the episode
329
- * `%(episode_name)` : Is the name of the episode
330
- `<br/><br/>`
331
-
332
- - `add_siteName`: If set to true, appends the site_name to the root path before the movie and serie folders.
333
- - `disable_searchDomain`: If set to true, disables the search for a new domain for all sites.
334
- - `not_close`: If set to true, keeps the program running after the download is complete.
335
-
336
-
337
- ### qBittorrent Configuration
338
-
339
- ```json
340
- {
341
- "config_qbit_tor": {
342
- "host": "192.168.1.59",
343
- "port": "8080",
344
- "user": "admin",
345
- "pass": "adminadmin"
346
- }
347
- }
348
- ```
349
-
350
- To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
351
-
352
-
353
- ## REQUESTS Settings
354
-
355
- ```json
356
- {
357
- "timeout": 20,
358
- "max_retry": 3
359
- }
360
- ```
361
-
362
- - `timeout`: Maximum timeout (in seconds) for each request
363
- - `max_retry`: Number of retry attempts per segment during M3U8 index download
364
-
365
-
366
- ## M3U8_DOWNLOAD Settings
367
-
368
- ```json
369
- {
370
- "tqdm_delay": 0.01,
371
- "tqdm_use_large_bar": true,
372
- "default_video_workser": 12,
373
- "default_audio_workser": 12,
374
- "cleanup_tmp_folder": true
375
- }
376
- ```
377
-
378
- - `tqdm_delay`: Delay between progress bar updates
379
- - `tqdm_use_large_bar`: Use detailed progress bar (recommended for desktop) set to false for mobile
380
- - `default_video_workser`: Number of threads for video download
381
- - `default_audio_workser`: Number of threads for audio download
382
- - `cleanup_tmp_folder`: Remove temporary .ts files after download
383
-
384
- > [!IMPORTANT]
385
- > Set `tqdm_use_large_bar` to `false` when using Termux or terminals with limited width to prevent network monitoring issues
386
-
387
-
388
-
389
- ### Language Settings
390
-
391
- The following codes can be used for `specific_list_audio` and `specific_list_subtitles`:
392
-
393
- ```
394
- ara - Arabic eng - English ita - Italian por - Portuguese
395
- baq - Basque fil - Filipino jpn - Japanese rum - Romanian
396
- cat - Catalan fin - Finnish kan - Kannada rus - Russian
397
- chi - Chinese fre - French kor - Korean spa - Spanish
398
- cze - Czech ger - German mal - Malayalam swe - Swedish
399
- dan - Danish glg - Galician may - Malay tam - Tamil
400
- dut - Dutch gre - Greek nob - Norw. Bokm tel - Telugu
401
- heb - Hebrew nor - Norwegian tha - Thai
402
- forced-ita hin - Hindi pol - Polish tur - Turkish
403
- hun - Hungarian ukr - Ukrainian
404
- ind - Indonesian vie - Vietnamese
405
- ```
406
-
407
- > [!NOTE]
408
- > 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.
409
-
410
-
411
- > [!IMPORTANT]
412
- > Language code availability may vary by site. Some platforms might:
413
- >
414
- > - Use different language codes
415
- > - Support only a subset of these languages
416
- > - Offer additional languages not listed here
417
- >
418
- > Check the specific site's available options if downloads fail.
419
-
420
- > [!TIP]
421
- > You can configure multiple languages by adding them to the lists:
422
- >
423
- > ```json
424
- > "specific_list_audio": ["ita", "eng", "spa"],
425
- > "specific_list_subtitles": ["ita", "eng", "spa"]
426
- > ```
427
-
428
- For the best viewing experience, we recommend using VLC Media Player:
429
- - Supports all video formats and codecs
430
- - Properly displays embedded subtitles
431
- - Available for all major operating systems
432
- - Free and open-source
433
-
434
- You can download VLC Media Player from the [official website](https://www.videolan.org/vlc/).
435
-
436
- ## M3U8_PARSER Settings
437
-
438
- ```json
439
- {
440
- "force_resolution": -1,
441
- "get_only_link": false
442
- }
443
- ```
444
-
445
- - `force_resolution`: Force specific resolution (-1 for best available, or specify 1080, 720, 360)
446
- - `get_only_link`: Return M3U8 playlist/index URL instead of downloading
447
-
448
-
449
- # COMMAND
450
-
451
- - Download a specific season by entering its number.
452
- * **Example:** `1` will download *Season 1* only.
453
-
454
- - Use the wildcard `*` to download every available season.
455
- * **Example:** `*` will download all seasons in the series.
456
-
457
- - Specify a range of seasons using a hyphen `-`.
458
- * **Example:** `1-2` will download *Seasons 1 and 2*.
459
-
460
- - Enter a season number followed by `-*` to download from that season to the end.
461
- * **Example:** `3-*` will download from *Season 3* to the final season.
462
-
463
-
464
- # Docker
465
-
466
- You can run the script in a docker container, to build the image just run
467
-
468
- ```
469
- docker build -t streaming-community-api .
470
- ```
471
-
472
- and to run it use
473
-
474
- ```
475
- docker run -it -p 8000:8000 streaming-community-api
476
- ```
477
-
478
- 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
479
-
480
- ```
481
- docker run -it -p 8000:8000 -v /path/to/download:/app/Video streaming-community-api
482
- ```
483
-
484
- ### Docker quick setup with Make
485
-
486
- Inside the Makefile (install `make`) are already configured two commands to build and run the container:
487
-
488
- ```
489
- make build-container
490
-
491
- # set your download directory as ENV variable
492
- make LOCAL_DIR=/path/to/download run-container
493
- ```
494
-
495
- 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.
496
-
497
- # Website Status
498
-
499
- | Website | Status |
500
- |:-------------------|:------:|
501
- | [1337xx](https://1337xx.to/) | ✅ |
502
- | [AltadefinizioneGratis](https://altadefinizionegratis.site/) | ✅ |
503
- | [AnimeUnity](https://animeunity.so/) | ✅ |
504
- | [Ilcorsaronero](https://ilcorsaronero.link/) | ✅ |
505
- | [CB01New](https://cb01new.video/) | ✅ |
506
- | [DDLStreamItaly](https://ddlstreamitaly.co/) | ✅ |
507
- | [GuardaSerie](https://guardaserie.meme/) | ✅ |
508
- | [MostraGuarda](https://mostraguarda.stream/) | ✅ |
509
- | [StreamingCommunity](https://streamingcommunity.paris/) | ✅ |
510
-
511
-
512
- # Tutorials
513
-
514
- - [Windows Tutorial](https://www.youtube.com/watch?v=mZGqK4wdN-k)
515
- - [Linux Tutorial](https://www.youtube.com/watch?v=0qUNXPE_mTg)
516
- - [Pypy Tutorial](https://www.youtube.com/watch?v=C6m9ZKOK0p4)
517
- - [Compiled .exe Tutorial](https://www.youtube.com/watch?v=pm4lqsxkTVo)
518
-
519
- # To Do
520
-
521
- - Finish [website API](https://github.com/Lovi-0/StreamingCommunity/tree/test_gui_1)
522
-
523
- # Contributing
524
-
525
- Contributions are welcome! Steps:
526
- 1. Fork the repository
527
- 2. Create feature branch (`git checkout -b feature/AmazingFeature`)
528
- 3. Commit changes (`git commit -m 'Add some AmazingFeature'`)
529
- 4. Push to branch (`git push origin feature/AmazingFeature`)
530
- 5. Open Pull Request
531
-
532
-
533
- # Disclaimer
534
-
535
- 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.
536
-
537
- ## Contributors
538
-
539
- <a href="https://github.com/Lovi-0/StreamingCommunity/graphs/contributors" alt="View Contributors">
540
- <img src="https://contrib.rocks/image?repo=Lovi-0/StreamingCommunity&max=1000&columns=10" alt="Contributors" />
541
- </a>
542
-
543
-
1
+ Metadata-Version: 2.1
2
+ Name: StreamingCommunity
3
+ Version: 2.5.6
4
+ Home-page: https://github.com/Lovi-0/StreamingCommunity
5
+ Author: Lovi-0
6
+ Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
7
+ Project-URL: Source, https://github.com/Lovi-0/StreamingCommunity
8
+ Keywords: streaming community
9
+ Requires-Python: >=3.8
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Requires-Dist: httpx
13
+ Requires-Dist: bs4
14
+ Requires-Dist: rich
15
+ Requires-Dist: tqdm
16
+ Requires-Dist: m3u8
17
+ Requires-Dist: psutil
18
+ Requires-Dist: unidecode
19
+ Requires-Dist: jsbeautifier
20
+ Requires-Dist: pathvalidate
21
+ Requires-Dist: pycryptodomex
22
+ Requires-Dist: googlesearch-python
23
+ Requires-Dist: fake-useragent<2.0.0
24
+ Requires-Dist: qbittorrent-api
25
+ Requires-Dist: python-qbittorrent
26
+ Requires-Dist: Pillow
27
+ Requires-Dist: pyTelegramBotAPI
28
+
29
+ <p align="center">
30
+ <img src="https://i.ibb.co/v6RnT0wY/s2.jpg" alt="Project Logo" width="700"/>
31
+ </p>
32
+
33
+ <p align="center">
34
+ <a href="https://pypi.org/project/streamingcommunity">
35
+ <img src="https://img.shields.io/pypi/v/streamingcommunity?logo=pypi&labelColor=555555&style=for-the-badge" alt="PyPI"/>
36
+ </a>
37
+ <a href="https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C">
38
+ <img src="https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors&labelColor=555555&style=for-the-badge" alt="Donate"/>
39
+ </a>
40
+ <a href="https://github.com/Arrowar/StreamingCommunity/commits">
41
+ <img src="https://img.shields.io/github/commit-activity/m/Arrowar/StreamingCommunity?label=commits&style=for-the-badge" alt="Commits"/>
42
+ </a>
43
+ <a href="https://github.com/Arrowar/StreamingCommunity/commits">
44
+ <img src="https://img.shields.io/github/last-commit/Arrowar/StreamingCommunity/main?label=&style=for-the-badge&display_timestamp=committer" alt="Last Commit"/>
45
+ </a>
46
+ </p>
47
+
48
+ <p align="center">
49
+ <a href="https://github.com/Arrowar/StreamingCommunity/blob/main/LICENSE">
50
+ <img src="https://img.shields.io/badge/License-GPL_3.0-blue.svg?style=for-the-badge" alt="License"/>
51
+ </a>
52
+ <a href="https://pypi.org/project/streamingcommunity">
53
+ <img src="https://img.shields.io/pypi/dm/streamingcommunity?style=for-the-badge" alt="PyPI Downloads"/>
54
+ </a>
55
+ <a href="https://github.com/Arrowar/StreamingCommunity">
56
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Arrowar/StreamingCommunity/main/Test/Media/loc-badge.json&style=for-the-badge" alt="Lines of Code"/>
57
+ </a>
58
+ </p>
59
+
60
+ # 📋 Table of Contents
61
+
62
+ - 🌐 [Website available](#website-status)
63
+ - 🛠️ [Installation](#installation)
64
+ - 📦 [PyPI Installation](#1-pypi-installation)
65
+ - 🔄 [Automatic Installation](#2-automatic-installation)
66
+ - 🔧 [Binary Location](#binary-location)
67
+ - 📝 [Manual Installation](#3-manual-installation)
68
+ - 💻 [Win 7](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Installation#win-7)
69
+ - 📱 [Termux](https://github.com/Ghost6446/StreamingCommunity_api/wiki/Termux)
70
+ - ⚙️ [Configuration](#configuration)
71
+ - 🔧 [Default](#default-settings)
72
+ - 📩 [Request](#requests-settings)
73
+ - 📥 [Download](#m3u8_download-settings)
74
+ - 🔍 [Parser](#m3u8_parser-settings)
75
+ - 📝 [Command](#command)
76
+ - 💻 [Examples of terminal](#examples-of-terminal-usage)
77
+ - 🐳 [Docker](#docker)
78
+ - 📝 [Telegram Usage](#telegram-usage)
79
+ - 🎓 [Tutorial](#tutorials)
80
+ - 📝 [To do](#to-do)
81
+ - 💬 [Support](#support)
82
+ - 🤝 [Contribute](#contributing)
83
+ - ⚠️ [Disclaimer](#disclaimer)
84
+ - ⚡ [Contributors](#contributors)
85
+
86
+ # Installation
87
+
88
+ <p align="center">
89
+ <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity.exe">
90
+ <img src="https://img.shields.io/badge/-Windows_x64-blue.svg?style=for-the-badge&logo=windows" alt="Windows">
91
+ </a>
92
+ <a href="https://github.com/Arrowar/StreamingCommunity/releases/latest/download/StreamingCommunity.zip">
93
+ <img src="https://img.shields.io/badge/-Source_tar-green.svg?style=for-the-badge" alt="Source Tarball">
94
+ </a>
95
+ <a href="https://github.com/Arrowar/StreamingCommunity/releases">
96
+ <img src="https://img.shields.io/badge/-All_Versions-lightgrey.svg?style=for-the-badge" alt="All Versions">
97
+ </a>
98
+ </p>
99
+
100
+
101
+ ## 1. PyPI Installation
102
+
103
+ Install directly from PyPI:
104
+
105
+ ```bash
106
+ pip install StreamingCommunity
107
+ ```
108
+
109
+ ### Creating a Run Script
110
+
111
+ Create `run_streaming.py`:
112
+
113
+ ```python
114
+ from StreamingCommunity.run import main
115
+
116
+ if __name__ == "__main__":
117
+ main()
118
+ ```
119
+
120
+ Run the script:
121
+ ```bash
122
+ python run_streaming.py
123
+ ```
124
+
125
+ ### Updating via PyPI
126
+
127
+ ```bash
128
+ pip install --upgrade StreamingCommunity
129
+ ```
130
+
131
+ ## 2. Automatic Installation
132
+
133
+ ### Supported Operating Systems 💿
134
+
135
+ | OS | Automatic Installation Support |
136
+ |:----------------|:------------------------------:|
137
+ | Windows 10/11 | ✔️ |
138
+ | Windows 7 | ❌ |
139
+ | Debian Linux | ✔️ |
140
+ | Arch Linux | ✔️ |
141
+ | CentOS Stream 9 | ✔️ |
142
+ | FreeBSD | ⏳ |
143
+ | MacOS | ✔️ |
144
+ | Termux | ❌ |
145
+
146
+ ### Installation Steps
147
+
148
+ #### On Windows:
149
+
150
+ ```powershell
151
+ .\Installer\win_install.bat
152
+ ```
153
+
154
+ #### On Linux/MacOS/BSD:
155
+
156
+ ```bash
157
+ sudo chmod +x Installer/unix_install.sh && ./Installer/unix_install.sh
158
+ ```
159
+
160
+ ### Usage
161
+
162
+ #### On Windows:
163
+
164
+ ```powershell
165
+ python .\test_run.py
166
+ ```
167
+
168
+ or
169
+
170
+ ```powershell
171
+ source .venv/bin/activate && python test_run.py && deactivate
172
+ ```
173
+
174
+ #### On Linux/MacOS/BSD:
175
+
176
+ ```bash
177
+ ./test_run.py
178
+ ```
179
+
180
+ ## Binary Location
181
+
182
+ ### Default Locations
183
+ - **Windows**: `C:\binary`
184
+ - **MacOS**: `~/Applications/binary`
185
+ - **Linux**: `~/.local/bin/binary`
186
+
187
+ You can customize these locations by following these steps for your operating system:
188
+
189
+ #### Windows
190
+ 1. Move the binary folder from `C:\binary` to your desired location
191
+ 2. Add the new path to Windows environment variables:
192
+ - Open Start menu and search for "Environment Variables"
193
+ - Click "Edit the system environment variables"
194
+ - Click "Environment Variables" button
195
+ - Under "System Variables", find and select "Path"
196
+ - Click "Edit"
197
+ - Add the new binary folder path
198
+ - Click "OK" to save changes
199
+
200
+ For detailed Windows PATH instructions, see the [Windows PATH guide](https://www.eukhost.com/kb/how-to-add-to-the-path-on-windows-10-and-windows-11/).
201
+
202
+ #### MacOS
203
+ 1. Move the binary folder from `~/Applications/binary` to your desired location
204
+ 2. Add the new path to your shell's configuration file:
205
+ ```bash
206
+ # For bash (edit ~/.bash_profile)
207
+ export PATH="/your/custom/path:$PATH"
208
+
209
+ # For zsh (edit ~/.zshrc)
210
+ export PATH="/your/custom/path:$PATH"
211
+ ```
212
+ 3. Reload your shell configuration:
213
+ ```bash
214
+ # For bash
215
+ source ~/.bash_profile
216
+
217
+ # For zsh
218
+ source ~/.zshrc
219
+ ```
220
+
221
+ #### Linux
222
+ 1. Move the binary folder from `~/.local/bin/binary` to your desired location
223
+ 2. Add the new path to your shell's configuration file:
224
+ ```bash
225
+ # For bash (edit ~/.bashrc)
226
+ export PATH="/your/custom/path:$PATH"
227
+
228
+ # For zsh (edit ~/.zshrc)
229
+ export PATH="/your/custom/path:$PATH"
230
+ ```
231
+ 3. Apply the changes:
232
+ ```bash
233
+ source ~/.bashrc # for bash
234
+ # or
235
+ source ~/.zshrc # for zsh
236
+ ```
237
+
238
+ > [!IMPORTANT]
239
+ > After moving the binary folder, ensure that all executables (ffmpeg, ffprobe, ffplay) are present in the new location and have the correct permissions:
240
+ > - Windows: `.exe` extensions required
241
+ > - MacOS/Linux: Ensure files have execute permissions (`chmod +x filename`)
242
+
243
+ ## 3. Manual Installation
244
+
245
+ ### Requirements 📋
246
+
247
+ Prerequisites:
248
+ * [Python](https://www.python.org/downloads/) > 3.8
249
+ * [FFmpeg](https://www.gyan.dev/ffmpeg/builds/)
250
+
251
+ ### Install Python Dependencies
252
+
253
+ ```bash
254
+ pip install -r requirements.txt
255
+ ```
256
+
257
+ ### Usage
258
+
259
+ #### On Windows:
260
+
261
+ ```powershell
262
+ python test_run.py
263
+ ```
264
+
265
+ #### On Linux/MacOS:
266
+
267
+ ```bash
268
+ python3 test_run.py
269
+ ```
270
+
271
+ ## Update
272
+
273
+ Keep your script up to date with the latest features by running:
274
+
275
+ ### On Windows:
276
+
277
+ ```powershell
278
+ python update.py
279
+ ```
280
+
281
+ ### On Linux/MacOS:
282
+
283
+ ```bash
284
+ python3 update.py
285
+ ```
286
+
287
+ <br>
288
+
289
+ # Configuration
290
+
291
+ You can change some behaviors by tweaking the configuration file.
292
+
293
+ The configuration file is divided into several main sections:
294
+
295
+ ## DEFAULT Settings
296
+
297
+ ```json
298
+ {
299
+ "root_path": "Video",
300
+ "movie_folder_name": "Movie",
301
+ "serie_folder_name": "TV",
302
+ "map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
303
+ "add_siteName": false,
304
+ "disable_searchDomain": false,
305
+ "not_close": false
306
+ }
307
+ ```
308
+
309
+ - `root_path`: Directory where all videos will be saved
310
+
311
+ ### Path examples:
312
+ * Windows: `C:\\MyLibrary\\Folder` or `\\\\MyServer\\MyLibrary` (if you want to use a network folder)
313
+ * Linux/MacOS: `Desktop/MyLibrary/Folder`
314
+ `<br/><br/>`
315
+
316
+ - `movie_folder_name`: The name of the subdirectory where movies will be stored.
317
+ * Can be changed from terminal with `--movie_folder_name`
318
+ <br/><br/>
319
+
320
+ - `serie_folder_name`: The name of the subdirectory where TV series will be stored.
321
+ * Can be changed from terminal with `--serie_folder_name`
322
+ <br/><br/>
323
+
324
+ - `map_episode_name`: Template for TV series episode filenames
325
+
326
+ ### Episode name usage:
327
+
328
+ You can choose different vars:
329
+ * `%(tv_name)` : Is the name of TV Show
330
+ * `%(season)` : Is the number of the season
331
+ * `%(episode)` : Is the number of the episode
332
+ * `%(episode_name)` : Is the name of the episode
333
+ `<br/><br/>`
334
+ * Can be changed from terminal with `--map_episode_name`
335
+ <br/><br/>
336
+
337
+ - `add_siteName`: If set to true, appends the site_name to the root path before the movie and serie folders.
338
+ * Can be changed from terminal with `--add_siteName true/false`
339
+ <br/><br/>
340
+
341
+ - `disable_searchDomain`: If set to true, disables the search for a new domain for all sites.
342
+ * Can be changed from terminal with `--disable_searchDomain true/false`
343
+ <br/><br/>
344
+
345
+ - `not_close`: If set to true, keeps the program running after the download is complete.
346
+ * Can be changed from terminal with `--not_close true/false`
347
+ <br/><br/>
348
+
349
+ ### qBittorrent Configuration
350
+
351
+ ```json
352
+ {
353
+ "config_qbit_tor": {
354
+ "host": "192.168.1.59",
355
+ "port": "8080",
356
+ "user": "admin",
357
+ "pass": "adminadmin"
358
+ }
359
+ }
360
+ ```
361
+
362
+ To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
363
+
364
+
365
+ ## REQUESTS Settings
366
+
367
+ ```json
368
+ {
369
+ "timeout": 20,
370
+ "max_retry": 3
371
+ }
372
+ ```
373
+
374
+ - `timeout`: Maximum timeout (in seconds) for each request
375
+ - `max_retry`: Number of retry attempts per segment during M3U8 index download
376
+
377
+
378
+ ## M3U8_DOWNLOAD Settings
379
+
380
+ ```json
381
+ {
382
+ "tqdm_delay": 0.01,
383
+ "default_video_workser": 12,
384
+ "default_audio_workser": 12,
385
+ "cleanup_tmp_folder": true
386
+ }
387
+ ```
388
+
389
+ - `tqdm_delay`: Delay between progress bar updates
390
+ - `default_video_workser`: Number of threads for video download
391
+ * Can be changed from terminal with `--default_video_worker <number>`
392
+ <br/><br/>
393
+
394
+ - `default_audio_workser`: Number of threads for audio download
395
+ * Can be changed from terminal with `--default_audio_worker <number>`
396
+ <br/><br/>
397
+
398
+ - `cleanup_tmp_folder`: Remove temporary .ts files after download
399
+
400
+
401
+
402
+ ### Language Settings
403
+
404
+ The following codes can be used for `specific_list_audio` and `specific_list_subtitles`:
405
+ * Can be changed from terminal with `--specific_list_audio ita,eng` for audio
406
+ * Can be changed from terminal with `--specific_list_subtitles eng,spa` for subtitles
407
+
408
+
409
+ ```
410
+ ara - Arabic eng - English ita - Italian por - Portuguese
411
+ baq - Basque fil - Filipino jpn - Japanese rum - Romanian
412
+ cat - Catalan fin - Finnish kan - Kannada rus - Russian
413
+ chi - Chinese fre - French kor - Korean spa - Spanish
414
+ cze - Czech ger - German mal - Malayalam swe - Swedish
415
+ dan - Danish glg - Galician may - Malay tam - Tamil
416
+ dut - Dutch gre - Greek nob - Norw. Bokm tel - Telugu
417
+ heb - Hebrew nor - Norwegian tha - Thai
418
+ forced-ita hin - Hindi pol - Polish tur - Turkish
419
+ hun - Hungarian ukr - Ukrainian
420
+ ind - Indonesian vie - Vietnamese
421
+ ```
422
+
423
+ > [!NOTE]
424
+ > 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.
425
+
426
+
427
+ > [!IMPORTANT]
428
+ > Language code availability may vary by site. Some platforms might:
429
+ >
430
+ > - Use different language codes
431
+ > - Support only a subset of these languages
432
+ > - Offer additional languages not listed here
433
+ >
434
+ > Check the specific site's available options if downloads fail.
435
+
436
+ > [!TIP]
437
+ > You can configure multiple languages by adding them to the lists:
438
+ >
439
+ > ```json
440
+ > "specific_list_audio": ["ita", "eng", "spa"],
441
+ > "specific_list_subtitles": ["ita", "eng", "spa"]
442
+ > ```
443
+
444
+ For the best viewing experience, we recommend using VLC Media Player:
445
+ - Supports all video formats and codecs
446
+ - Properly displays embedded subtitles
447
+ - Available for all major operating systems
448
+ - Free and open-source
449
+
450
+ You can download VLC Media Player from the [official website](https://www.videolan.org/vlc/).
451
+
452
+ ## M3U8_PARSER Settings
453
+
454
+ ```json
455
+ {
456
+ "force_resolution": -1,
457
+ "get_only_link": false
458
+ }
459
+ ```
460
+
461
+ - `force_resolution`: Force specific resolution (-1 for best available, or specify 1080, 720, 360)
462
+ - `get_only_link`: Return M3U8 playlist/index URL instead of downloading
463
+
464
+
465
+ # COMMAND
466
+
467
+ - Download a specific season by entering its number.
468
+ * **Example:** `1` will download *Season 1* only.
469
+
470
+ - Use the wildcard `*` to download every available season.
471
+ * **Example:** `*` will download all seasons in the series.
472
+
473
+ - Specify a range of seasons using a hyphen `-`.
474
+ * **Example:** `1-2` will download *Seasons 1 and 2*.
475
+
476
+ - Enter a season number followed by `-*` to download from that season to the end.
477
+ * **Example:** `3-*` will download from *Season 3* to the final season.
478
+
479
+ # Examples of terminal usage
480
+
481
+ ```bash
482
+ # Change video and audio workers
483
+ python test_run.py --default_video_worker 8 --default_audio_worker 8
484
+
485
+ # Set specific languages
486
+ python test_run.py --specific_list_audio ita,eng --specific_list_subtitles eng,spa
487
+
488
+ # Keep console open after download
489
+ python test_run.py --not_close true
490
+
491
+ # Disable domain search and add site name
492
+ python test_run.py --disable_searchDomain true --add_siteName true
493
+ ```
494
+
495
+ # Docker
496
+
497
+ You can run the script in a docker container, to build the image just run
498
+
499
+ ```
500
+ docker build -t streaming-community-api .
501
+ ```
502
+
503
+ and to run it use
504
+
505
+ ```
506
+ docker run -it -p 8000:8000 streaming-community-api
507
+ ```
508
+
509
+ 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
510
+
511
+ ```
512
+ docker run -it -p 8000:8000 -v /path/to/download:/app/Video streaming-community-api
513
+ ```
514
+
515
+ ### Docker quick setup with Make
516
+
517
+ Inside the Makefile (install `make`) are already configured two commands to build and run the container:
518
+
519
+ ```
520
+ make build-container
521
+
522
+ # set your download directory as ENV variable
523
+ make LOCAL_DIR=/path/to/download run-container
524
+ ```
525
+
526
+ 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.
527
+
528
+ # Telegram Usage
529
+
530
+ ## Configuration
531
+
532
+ You need to create an .env file and enter your Telegram token
533
+
534
+ and user ID to authorize only one user to use it
535
+
536
+ ## .env Example:
537
+
538
+ ```
539
+ TOKEN_TELEGRAM=IlTuo2131TOKEN$12D3Telegram
540
+ AUTHORIZED_USER_ID=12345678
541
+ DEBUG=False
542
+ ```
543
+
544
+ ## Install Python Dependencies
545
+
546
+ ```bash
547
+ pip install -r requirements.txt
548
+ ```
549
+
550
+ ## On Linux/MacOS:
551
+
552
+ ```bash
553
+ python3 telegram_bot.py
554
+ ```
555
+
556
+ # Website Status
557
+
558
+ | Website | Status | Command |
559
+ |:-------------------|:------:|:--------:|
560
+ | [1337xx](https://1337xx.to/) | ✅ | -133 |
561
+ | [AltadefinizioneGratis](https://altadefinizionegratis.pro/) | ✅ | -ALT |
562
+ | [AnimeUnity](https://animeunity.so/) | ✅ | -ANI |
563
+ | [Ilcorsaronero](https://ilcorsaronero.link/) | ✅ | `-ILC` |
564
+ | [CB01New](https://cb01new.media/) | ✅ | -CB0 |
565
+ | [DDLStreamItaly](https://ddlstreamitaly.co/) | ✅ | -DDL |
566
+ | [GuardaSerie](https://guardaserie.meme/) | ✅ | -GUA |
567
+ | [MostraGuarda](https://mostraguarda.stream/) | ✅ | -MOS |
568
+ | [StreamingCommunity](https://streamingcommunity.paris/) | ✅ | -STR |
569
+
570
+
571
+ # Tutorials
572
+
573
+ - [Windows Tutorial](https://www.youtube.com/watch?v=mZGqK4wdN-k)
574
+ - [Linux Tutorial](https://www.youtube.com/watch?v=0qUNXPE_mTg)
575
+ - [Pypy Tutorial](https://www.youtube.com/watch?v=C6m9ZKOK0p4)
576
+ - [Compiled .exe Tutorial](https://www.youtube.com/watch?v=pm4lqsxkTVo)
577
+
578
+ # To Do
579
+
580
+ - To Finish [website API](https://github.com/Arrowar/StreamingCommunity/tree/test_gui_1)
581
+ - To finish [website API 2](https://github.com/hydrosh/StreamingCommunity/tree/test_gui_1)
582
+
583
+ # Contributing
584
+
585
+ Contributions are welcome! Steps:
586
+ 1. Fork the repository
587
+ 2. Create feature branch (`git checkout -b feature/AmazingFeature`)
588
+ 3. Commit changes (`git commit -m 'Add some AmazingFeature'`)
589
+ 4. Push to branch (`git push origin feature/AmazingFeature`)
590
+ 5. Open Pull Request
591
+
592
+
593
+ # Disclaimer
594
+
595
+ 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.
596
+
597
+ ## Contributors
598
+
599
+ <a href="https://github.com/Arrowar/StreamingCommunity/graphs/contributors" alt="View Contributors">
600
+ <img src="https://contrib.rocks/image?repo=Arrowar/StreamingCommunity&max=1000&columns=10" alt="Contributors" />
601
+ </a>