This repository provide a simple script designed to downloading films and series from a variety of supported streaming platforms. SITE
Join us 🌟
You can chat, help improve this repo, or just hang around for some fun in the Git_StreamingCommunity Discord Server
Table of Contents
INSTALLATION
Automatic Installation
<a id="automatic-installation-os"></a>
Supported OSs for Automatic Installation 💿
- Supported ✔️
- Not tested ⏳
- Not supported ❌
OS | Automatic Installation Support |
---|---|
Windows 10/11 | ✔️ |
Windows 7 | ❌ |
Debian Linux | ✔️ |
Arch Linux | ✔️ |
CentOS Stream 9 | ✔️ |
FreeBSD | ⏳ |
MacOS | ✔️ |
Termux | ❌ |
Installation ⚙️
Run the following command inside the main directory:
On Windows:
.\win_install.bat
On Linux/MacOS/BSD:
sudo chmod +x unix_install.sh && ./unix_install.sh
<a id="usage-automatic"></a>
Usage 📚
Run the script with the following command:
On Windows:
python .\run.py
or
source .venv/bin/activate && python run.py && deactivate
On Linux/MacOS/BSD:
./run.py
Manual Installation
<a id="requirement"></a>
Requirement 📋
Make sure you have the following prerequisites installed on your system:
- python > 3.8
- ffmpeg
- openssl or pycryptodome
Installation ⚙️
Install the required Python libraries using the following command:
pip install -r requirements.txt
Usage 📚
Run the script with the following command:
On Windows:
python run.py
On Linux/MacOS:
python3 run.py
Update
Keep your script up to date with the latest features by running:
On Windows:
python update_version.py
On Linux/MacOS:
python3 update_version.py
Configuration ⚙️
You can change some behaviors by tweaking the configuration file.
The configuration file is divided into several main sections:
DEFAULT Settings
{
"root_path": "Video",
"map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
"special_chars_to_remove": "!@#$%^&*()[]{}<>|`~'\";:,?=+\u00e2\u20ac\u00a6",
"not_close": false,
"show_trending": false
}
-
root_path
: Directory where all videos will be savedPath examples:
- Windows:
C:\\MyLibrary\\Folder
or\\\\MyServer\\MyLibrary
(if you want to use a network folder) - Linux/MacOS:
Desktop/MyLibrary/Folder
<br/><br/>
- Windows:
-
map_episode_name
: Template for TV series episode filenamesEpisode name usage:
You can choose different vars:
%(tv_name)
: Is the name of TV Show%(season)
: Is the number of the season%(episode)
: Is the number of the episode%(episode_name)
: Is the name of the episode<br/><br/>
-
special_chars_to_remove
: Special characters to be removed from filenames -
not_close
: If true, continues running after downloading -
show_trending
: Display trending content on startup
qBittorrent Configuration
{
"config_qbit_tor": {
"host": "192.168.1.59",
"port": "8080",
"user": "admin",
"pass": "adminadmin"
}
}
To enable qBittorrent integration, follow the setup guide here.
REQUESTS Settings
{
"timeout": 20,
"max_retry": 3
}
timeout
: Maximum timeout (in seconds) for each requestmax_retry
: Number of retry attempts per segment during M3U8 index download
BROWSER Settings
{
"headless": false
}
headless
: Controls whether to run browser in headless mode
M3U8_DOWNLOAD Settings
{
"tqdm_delay": 0.01,
"tqdm_use_large_bar": true,
"default_video_workser": 12,
"default_audio_workser": 12,
"cleanup_tmp_folder": true
}
tqdm_delay
: Delay between progress bar updatestqdm_use_large_bar
: Use detailed progress bar (recommended for desktop) set to false for mobiledefault_video_workser
: Number of threads for video downloaddefault_audio_workser
: Number of threads for audio downloadcleanup_tmp_folder
: Remove temporary .ts files after download
Language Settings
The following codes can be used for specific_list_audio
and specific_list_subtitles
:
ara - Arabic eng - English ita - Italian por - Portuguese
baq - Basque fil - Filipino jpn - Japanese rum - Romanian
cat - Catalan fin - Finnish kan - Kannada rus - Russian
chi - Chinese fre - French kor - Korean spa - Spanish
cze - Czech ger - German mal - Malayalam swe - Swedish
dan - Danish glg - Galician may - Malay tam - Tamil
dut - Dutch gre - Greek nob - Norw. Bokm tel - Telugu
heb - Hebrew nor - Norwegian tha - Thai
forced-ita hin - Hindi pol - Polish tur - Turkish
hun - Hungarian ukr - Ukrainian
ind - Indonesian vie - Vietnamese
Important
Language code availability may vary by site. Some platforms might:
- Use different language codes
- Support only a subset of these languages
- Offer additional languages not listed here
Check the specific site's available options if downloads fail.
Tip
You can configure multiple languages by adding them to the lists:
"specific_list_audio": ["ita", "eng", "spa"], "specific_list_subtitles": ["ita", "eng", "spa"]
M3U8_PARSER Settings
{
"force_resolution": -1,
"get_only_link": false
}
force_resolution
: Force specific resolution (-1 for best available, or specify 1080, 720, 360)get_only_link
: Return M3U8 playlist/index URL instead of downloading
Docker 🐳
You can run the script in a docker container, to build the image just run
docker build -t streaming-community-api .
and to run it use
docker run -it -p 8000:8000 streaming-community-api
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
docker run -it -p 8000:8000 -v /path/to/download:/app/Video streaming-community-api
Docker quick setup with Make
Inside the Makefile (install make
) are already configured two commands to build and run the container:
make build-container
# set your download directory as ENV variable
make LOCAL_DIR=/path/to/download run-container
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.
Website Status 🌐
- Working ✅
- Not Working ❌
Website | Status |
---|---|
1337xx | ✅ |
Altadefinizione | ❌ |
AnimeUnity | ✅ |
BitSearch | ✅ |
CB01New | ✅ |
DDLStreamItaly | ✅ |
GuardaSerie | ✅ |
MostraGuarda | ✅ |
PirateBays | ✅ |
StreamingCommunity | ✅ |
Tutorial 📖
To do 📝
- GUI
- Website api
- Add other site