Skip to content

Commit 39a014e

Browse files
authored
Develop (#458)
* New test download DASH * v1 * v2 * v3 * v4 * v5 * v6 * v7 * Bump v3.5.0 * v8 * Update domains.json * Fix conflict * 3.4.8
1 parent 2c08d71 commit 39a014e

File tree

154 files changed

+3618
-6200
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+3618
-6200
lines changed

.github/.domain/domain_update.py

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import os
44
import json
55
from datetime import datetime
6-
from urllib.parse import urlparse, unquote
6+
from urllib.parse import urlparse
77

88

99
# External libraries
@@ -22,34 +22,6 @@
2222
def get_headers():
2323
return ua.headers.get()
2424

25-
def get_tld(url_str):
26-
try:
27-
parsed = urlparse(unquote(url_str))
28-
domain = parsed.netloc.lower()
29-
parts = domain.split('.')
30-
return parts[-1] if len(parts) >= 2 else None
31-
32-
except Exception:
33-
return None
34-
35-
def get_base_domain(url_str):
36-
try:
37-
parsed = urlparse(url_str)
38-
domain = parsed.netloc.lower()
39-
parts = domain.split('.')
40-
return '.'.join(parts[:-1]) if len(parts) > 2 else parts[0]
41-
42-
except Exception:
43-
return None
44-
45-
def get_base_url(url_str):
46-
try:
47-
parsed = urlparse(url_str)
48-
return f"{parsed.scheme}://{parsed.netloc}"
49-
50-
except Exception:
51-
return None
52-
5325
def log(msg, level='INFO'):
5426
levels = {
5527
'INFO': '[ ]',

.github/.domain/domains.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@
3535
"old_domain": "cam",
3636
"time_change": "2025-12-18 15:25:18"
3737
}
38-
}
38+
}

.github/.domain/loc-badge.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/build.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,8 @@ jobs:
109109
shell: bash
110110
run: |
111111
pyinstaller --onefile --hidden-import=pycryptodomex --hidden-import=ua_generator \
112-
--hidden-import=qbittorrentapi --hidden-import=qbittorrent \
113112
--hidden-import=bs4 --hidden-import=httpx --hidden-import=rich --hidden-import=tqdm \
114113
--hidden-import=m3u8 --hidden-import=psutil --hidden-import=unidecode \
115-
--hidden-import=python-dotenv --hidden-import=dotenv \
116114
--hidden-import=jsbeautifier --hidden-import=jsbeautifier.core \
117115
--hidden-import=jsbeautifier.javascript --hidden-import=jsbeautifier.javascript.beautifier \
118116
--hidden-import=jsbeautifier.unpackers --hidden-import=jsbeautifier.unpackers.packer \
@@ -127,7 +125,6 @@ jobs:
127125
--hidden-import=Cryptodome.Cipher --hidden-import=Cryptodome.Cipher.AES \
128126
--hidden-import=Cryptodome.Util --hidden-import=Cryptodome.Util.Padding \
129127
--hidden-import=Cryptodome.Random \
130-
--hidden-import=telebot \
131128
--hidden-import=curl_cffi --hidden-import=_cffi_backend \
132129
--collect-all curl_cffi \
133130
--additional-hooks-dir=pyinstaller/hooks \

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,9 @@ downloaded_files/
5050
Video
5151
note.txt
5252
cmd.txt
53-
bot_config.json
5453
scripts.json
5554
active_requests.json
5655
working_proxies.json
5756
start.sh
5857
.DS_Store
59-
GUI/db.sqlite3
58+
GUI/db.sqlite3

GUI/searchapp/api/animeunity.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010

1111

1212
# External utilities
13-
from StreamingCommunity.Util.config_json import config_manager
14-
from StreamingCommunity.Api.Site.animeunity.util.ScrapeSerie import ScrapeSerieAnime
13+
from StreamingCommunity.Util import config_manager
14+
from StreamingCommunity.Api.Template.loader import get_folder_name
15+
from StreamingCommunity.Api.Service.animeunity.util.ScrapeSerie import ScrapeSerieAnime
1516

1617

1718

@@ -29,7 +30,7 @@ def _load_config(self):
2930
def _get_search_fn(self):
3031
"""Lazy load the search function."""
3132
if self._search_fn is None:
32-
module = importlib.import_module("StreamingCommunity.Api.Site.animeunity")
33+
module = importlib.import_module(f"StreamingCommunity.Api.{get_folder_name()}.animeunity")
3334
self._search_fn = getattr(module, "search")
3435
return self._search_fn
3536

GUI/searchapp/api/streamingcommunity.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010

1111

1212
# External utilities
13-
from StreamingCommunity.Util.config_json import config_manager
14-
from StreamingCommunity.Api.Site.streamingcommunity.util.ScrapeSerie import GetSerieInfo
13+
from StreamingCommunity.Util import config_manager
14+
from StreamingCommunity.Api.Template.loader import get_folder_name
15+
from StreamingCommunity.Api.Service.streamingcommunity.util.ScrapeSerie import GetSerieInfo
1516

1617

1718
class StreamingCommunityAPI(BaseStreamingAPI):
@@ -28,7 +29,7 @@ def _load_config(self):
2829
def _get_search_fn(self):
2930
"""Lazy load the search function."""
3031
if self._search_fn is None:
31-
module = importlib.import_module("StreamingCommunity.Api.Site.streamingcommunity")
32+
module = importlib.import_module(f"StreamingCommunity.Api.{get_folder_name()}.streamingcommunity")
3233
self._search_fn = getattr(module, "search")
3334
return self._search_fn
3435

README.md

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -129,21 +129,6 @@ downloader.download()
129129

130130
See [MP4 example](./Test/Downloads/MP4.py) for complete usage.
131131

132-
<summary>🧲 TOR</summary>
133-
134-
Download content via torrent magnet links.
135-
136-
```python
137-
from StreamingCommunity import TOR_downloader
138-
139-
client = TOR_downloader()
140-
141-
client.add_magnet_link("magnet:?xt=urn:btih:example_hash&dn=example_name", save_path=".")
142-
client.start_download()
143-
```
144-
145-
See [Torrent example](./Test/Downloads/TOR.py) for complete usage.
146-
147132
<summary>🎞️ DASH</summary>
148133

149134
```python
@@ -223,21 +208,6 @@ You can change some behaviors by tweaking the configuration file. The configurat
223208
#### Additional Options
224209
- `add_siteName`: Appends site_name to root path (can be changed with `--add_siteName true/false`)
225210

226-
<summary>🔄 QBIT_CONFIG Settings</summary>
227-
228-
```json
229-
{
230-
"QBIT_CONFIG": {
231-
"host": "192.168.1.51",
232-
"port": "6666",
233-
"user": "admin",
234-
"pass": "adminadmin"
235-
}
236-
}
237-
```
238-
239-
To enable qBittorrent integration, follow the setup guide [here](https://github.com/lgallard/qBittorrent-Controller/wiki/How-to-enable-the-qBittorrent-Web-UI).
240-
241211
<summary>📥 M3U8_DOWNLOAD Settings</summary>
242212

243213
```json
@@ -440,7 +410,6 @@ python test_run.py --global -s "cars"
440410
python test_run.py --category 1 # Search in anime category
441411
python test_run.py --category 2 # Search in movies & series
442412
python test_run.py --category 3 # Search in series
443-
python test_run.py --category 4 # Search in torrent category
444413
```
445414

446415
### PyPI Installation Usage
@@ -590,78 +559,6 @@ make LOCAL_DIR=/path/to/download run-container
590559
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.
591560

592561

593-
# Telegram Usage
594-
595-
<summary>⚙️ Basic Configuration</summary>
596-
597-
The bot was created to replace terminal commands and allow interaction via Telegram. Each download runs within a screen session, enabling multiple downloads to run simultaneously.
598-
599-
To run the bot in the background, simply start it inside a screen session and then press Ctrl + A, followed by D, to detach from the session without stopping the bot.
600-
601-
Command Functions:
602-
603-
🔹 /start – Starts a new search for a download. This command performs the same operations as manually running the script in the terminal with test_run.py.
604-
605-
🔹 /list – Displays the status of active downloads, with options to:
606-
607-
Stop an incorrect download using /stop <ID>.
608-
609-
View the real-time output of a download using /screen <ID>.
610-
611-
⚠ Warning: If a download is interrupted, incomplete files may remain in the folder specified in config.json. These files must be deleted manually to avoid storage or management issues.
612-
613-
🛠 Configuration: Currently, the bot's settings are stored in the config.json file, which is located in the same directory as the telegram_bot.py script.
614-
615-
## .env Example:
616-
617-
You need to create an .env file and enter your Telegram token and user ID to authorize only one user to use it
618-
619-
```
620-
TOKEN_TELEGRAM=IlTuo2131TOKEN$12D3Telegram
621-
AUTHORIZED_USER_ID=12345678
622-
DEBUG=False
623-
```
624-
625-
<summary>📥 Dependencies & Launch</summary>
626-
627-
Install dependencies:
628-
```bash
629-
pip install -r requirements.txt
630-
```
631-
632-
Start the bot (from /StreamingCommunity/TelegramHelp):
633-
```bash
634-
python3 telegram_bot.py
635-
```d
636-
- 🔹 `/list` – Displays the status of active downloads, with options to:
637-
- Stop an incorrect download using `/stop <ID>`
638-
- View the real-time output of a download using `/screen <ID>`
639-
640-
⚠️ **Warning:** If a download is interrupted, incomplete files may remain in the folder specified in config.json. These files must be deleted manually.
641-
642-
#### Setup
643-
1. Create an `.env` file with your Telegram token and user ID:
644-
```env
645-
TOKEN_TELEGRAM=IlTuo2131TOKEN$12D3Telegram
646-
AUTHORIZED_USER_ID=12345678
647-
DEBUG=False
648-
```
649-
650-
2. Install dependencies:
651-
```bash
652-
pip install -r requirements.txt
653-
```
654-
655-
3. Start the bot (from `/StreamingCommunity/TelegramHelp`):
656-
```bash
657-
python3 telegram_bot.py
658-
```
659-
660-
**Running in background:**
661-
Start the bot inside a screen session and press Ctrl + A, followed by D, to detach from the session without stopping the bot.
662-
663-
---
664-
665562
# Tutorials
666563

667564
- [Windows](https://www.youtube.com/watch?v=mZGqK4wdN-k)

0 commit comments

Comments
 (0)