txa-m 2.0.1__py3-none-any.whl → 2.0.3__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.
- txa_m-2.0.3.dist-info/METADATA +119 -0
- txa_m-2.0.3.dist-info/RECORD +8 -0
- txa_mediafire/cli.py +39 -8
- txa_m-2.0.1.dist-info/METADATA +0 -113
- txa_m-2.0.1.dist-info/RECORD +0 -8
- {txa_m-2.0.1.dist-info → txa_m-2.0.3.dist-info}/WHEEL +0 -0
- {txa_m-2.0.1.dist-info → txa_m-2.0.3.dist-info}/entry_points.txt +0 -0
- {txa_m-2.0.1.dist-info → txa_m-2.0.3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: txa-m
|
|
3
|
+
Version: 2.0.3
|
|
4
|
+
Summary: A modern, high-speed downloader for MediaFire files and folders
|
|
5
|
+
Author: TXA
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: Operating System :: OS Independent
|
|
8
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
10
|
+
Classifier: Operating System :: MacOS
|
|
11
|
+
Classifier: Operating System :: Android
|
|
12
|
+
Requires-Python: >=3.10, <=3.14.3
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
Requires-Dist: requests
|
|
15
|
+
Requires-Dist: gazpacho
|
|
16
|
+
Requires-Dist: rich
|
|
17
|
+
Dynamic: author
|
|
18
|
+
Dynamic: classifier
|
|
19
|
+
Dynamic: description
|
|
20
|
+
Dynamic: description-content-type
|
|
21
|
+
Dynamic: requires-dist
|
|
22
|
+
Dynamic: requires-python
|
|
23
|
+
Dynamic: summary
|
|
24
|
+
|
|
25
|
+
# TXA MediaFire Bulk Downloader
|
|
26
|
+
|
|
27
|
+
**A modern, high-speed, and cross-platform CLI tool for downloading files and folders from MediaFire.**
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+

|
|
31
|
+

|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
## 🚀 Key Features
|
|
35
|
+
|
|
36
|
+
* **Bulk Downloading**: Recursively download entire folders or single files.
|
|
37
|
+
* **Smart Extraction**: Handles dynamic links using HTML parsing and Regex fallback.
|
|
38
|
+
* **Multi-threaded**: Blazing fast downloads with configurable threading.
|
|
39
|
+
* **Resumable**: Automatically skips files that already exist (hash check).
|
|
40
|
+
* **Cross-Platform**: Optimized for **Windows**, **Linux**, **macOS**, and **Android (Termux)**.
|
|
41
|
+
* **Beautiful UI**: Rich terminal interface with progress bars, statistics, and themes.
|
|
42
|
+
* **Multi-language**: Built-in support for **English** and **Vietnamese**.
|
|
43
|
+
|
|
44
|
+
## 📥 Installation
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pip install txa-m
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
> **Note**: Requires Python 3.10 or newer.
|
|
51
|
+
|
|
52
|
+
## 💻 Usage
|
|
53
|
+
|
|
54
|
+
Run the tool using the command `txa-m`.
|
|
55
|
+
|
|
56
|
+
**IMPORTANT**: Always wrap your **URLs** and **Paths** in double quotes (`"`)!
|
|
57
|
+
|
|
58
|
+
### 1. Basic Download
|
|
59
|
+
```bash
|
|
60
|
+
txa-m "https://www.mediafire.com/file/example.zip"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 2. Download Folder to Specific Path
|
|
64
|
+
```bash
|
|
65
|
+
txa-m "https://www.mediafire.com/folder/example" -o "C:/MyDownloads"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 3. Change Language 🇻🇳 / 🇺🇸
|
|
69
|
+
Switch between English and Vietnamese easily. The setting is saved globally.
|
|
70
|
+
```bash
|
|
71
|
+
# Switch to Vietnamese
|
|
72
|
+
txa-m --sl vi
|
|
73
|
+
|
|
74
|
+
# Switch to English
|
|
75
|
+
txa-m --sl en
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Advanced Options
|
|
79
|
+
```bash
|
|
80
|
+
# 20 threads, ignore video files
|
|
81
|
+
txa-m "https://mediafire.com/..." -t 20 -ie ".mp4,.mkv"
|
|
82
|
+
|
|
83
|
+
# Check for updates
|
|
84
|
+
txa-m --u
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## ⚙️ Command Options
|
|
88
|
+
|
|
89
|
+
| Option | Description |
|
|
90
|
+
| :--- | :--- |
|
|
91
|
+
| `mediafire_url` | The URL of the file or folder (Required for download). |
|
|
92
|
+
| `-o`, `--output` | Output directory (Supports `%USERPROFILE%`, `~`). |
|
|
93
|
+
| `-t`, `--threads` | Number of download threads (Default: 10). |
|
|
94
|
+
| `-u`, `--update` | Check for updates and auto-install via pip. |
|
|
95
|
+
| `--sl`, `--set-lang`| Set language (`en` or `vi`). |
|
|
96
|
+
| `-ie` | Ignore extensions (e.g. `.mp4,.mkv`). |
|
|
97
|
+
| `-in` | Ignore specific filenames. |
|
|
98
|
+
| `-v`, `--version` | Show version information. |
|
|
99
|
+
| `-h`, `--help` | Show the beautiful help menu. |
|
|
100
|
+
|
|
101
|
+
## 📱 Android (Termux) Guide
|
|
102
|
+
|
|
103
|
+
1. Install **Termux** from F-Droid.
|
|
104
|
+
2. Run the following commands:
|
|
105
|
+
```bash
|
|
106
|
+
pkg update && pkg upgrade
|
|
107
|
+
pkg install python
|
|
108
|
+
pip install txa-m
|
|
109
|
+
termux-setup-storage
|
|
110
|
+
```
|
|
111
|
+
3. Download file to your internal storage:
|
|
112
|
+
```bash
|
|
113
|
+
txa-m "LINK" -o "/sdcard/Download"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## 📜 Copyright
|
|
117
|
+
|
|
118
|
+
Copyright © TXA.
|
|
119
|
+
_This tool is for educational purposes only._
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
txa_mediafire/__init__.py,sha256=vJfxJh8-WpzNM9GvoKORSBDfF1UdJb6sHUmP2KjAQ98,28
|
|
2
|
+
txa_mediafire/cli.py,sha256=OJJDDCQSd_556KBb9icasVvkTmBEp0g6XBpCFeQXswo,28687
|
|
3
|
+
txa_mediafire/translations.json,sha256=WlSa55TS4AVN2P1ackM3-GVK5hOQFszxllGwFwvzG48,4242
|
|
4
|
+
txa_m-2.0.3.dist-info/METADATA,sha256=IOwqqzkoHkP7Mj4TdvBtj4uvAJuePEIhS3BGJWg_iVs,3736
|
|
5
|
+
txa_m-2.0.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
6
|
+
txa_m-2.0.3.dist-info/entry_points.txt,sha256=cDQgfUn0g87jECRW-pi0P4nAhZ5iWf7OUrkt3oklnyw,49
|
|
7
|
+
txa_m-2.0.3.dist-info/top_level.txt,sha256=-xUoP0BsB9fBFX_zBvgJ6vjkqMkoFCyG498DgBJCm6M,14
|
|
8
|
+
txa_m-2.0.3.dist-info/RECORD,,
|
txa_mediafire/cli.py
CHANGED
|
@@ -41,7 +41,7 @@ from rich.theme import Theme
|
|
|
41
41
|
from rich import box
|
|
42
42
|
|
|
43
43
|
# --- Configuration ---
|
|
44
|
-
APP_VERSION = "2.0.
|
|
44
|
+
APP_VERSION = "2.0.3"
|
|
45
45
|
|
|
46
46
|
# Default ignore lists
|
|
47
47
|
IGNORE_EXTENSIONS = {".pyc", ".pyo", ".pyd", ".DS_Store", "Thumbs.db"}
|
|
@@ -238,13 +238,44 @@ def perform_update():
|
|
|
238
238
|
console.print(f"[bold green]{T['no_update']}[/bold green]")
|
|
239
239
|
return
|
|
240
240
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
console.
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
241
|
+
cmd = [sys.executable, "-m", "pip", "install", "--upgrade", "txa-m"]
|
|
242
|
+
|
|
243
|
+
with console.status(f"[bold info]{T['updating']} {latest}...[/bold info]", spinner="dots") as status:
|
|
244
|
+
process = subprocess.Popen(
|
|
245
|
+
cmd,
|
|
246
|
+
stdout=subprocess.PIPE,
|
|
247
|
+
stderr=subprocess.STDOUT,
|
|
248
|
+
text=True,
|
|
249
|
+
encoding='utf-8',
|
|
250
|
+
errors='replace'
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
while True:
|
|
254
|
+
line = process.stdout.readline()
|
|
255
|
+
if not line and process.poll() is not None:
|
|
256
|
+
break
|
|
257
|
+
if line:
|
|
258
|
+
line = line.strip()
|
|
259
|
+
if not line: continue
|
|
260
|
+
|
|
261
|
+
# Filter output for cleaner log
|
|
262
|
+
if "Requirement already satisfied" in line:
|
|
263
|
+
# Show as transient status (overwrites previous status)
|
|
264
|
+
status.update(f"[dim]{line}[/dim]")
|
|
265
|
+
elif "txa-m" in line.lower() or "successfully" in line.lower():
|
|
266
|
+
# Important info: Print strictly
|
|
267
|
+
console.print(f" [green]>> {line}[/green]")
|
|
268
|
+
else:
|
|
269
|
+
# Other intermediate steps
|
|
270
|
+
status.update(f"[dim]{line}[/dim]")
|
|
271
|
+
|
|
272
|
+
if process.returncode == 0:
|
|
273
|
+
console.print(f"[bold success]{T['update_success']}[/bold success]")
|
|
274
|
+
sys.exit(0)
|
|
275
|
+
else:
|
|
276
|
+
console.print(f"[bold red]Update failed with code {process.returncode}[/bold red]")
|
|
277
|
+
sys.exit(1)
|
|
278
|
+
|
|
248
279
|
except Exception as e:
|
|
249
280
|
console.print(f"[bold red]An error occurred:[/bold red] {e}")
|
|
250
281
|
sys.exit(1)
|
txa_m-2.0.1.dist-info/METADATA
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: txa-m
|
|
3
|
-
Version: 2.0.1
|
|
4
|
-
Summary: A modern, high-speed downloader for MediaFire files and folders
|
|
5
|
-
Author: TXA
|
|
6
|
-
Classifier: Programming Language :: Python :: 3
|
|
7
|
-
Classifier: Operating System :: OS Independent
|
|
8
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
10
|
-
Classifier: Operating System :: MacOS
|
|
11
|
-
Requires-Python: >=3.10, <=3.14.3
|
|
12
|
-
Description-Content-Type: text/markdown
|
|
13
|
-
Requires-Dist: requests
|
|
14
|
-
Requires-Dist: gazpacho
|
|
15
|
-
Requires-Dist: rich
|
|
16
|
-
Dynamic: author
|
|
17
|
-
Dynamic: classifier
|
|
18
|
-
Dynamic: description
|
|
19
|
-
Dynamic: description-content-type
|
|
20
|
-
Dynamic: requires-dist
|
|
21
|
-
Dynamic: requires-python
|
|
22
|
-
Dynamic: summary
|
|
23
|
-
|
|
24
|
-
# TXA MediaFire Bulk Downloader
|
|
25
|
-
|
|
26
|
-
**A modern, high-speed, and cross-platform CLI tool for downloading files and folders from MediaFire.**
|
|
27
|
-
|
|
28
|
-

|
|
29
|
-

|
|
30
|
-

|
|
31
|
-
|
|
32
|
-
## 🚀 Key Features
|
|
33
|
-
|
|
34
|
-
* **Bulk Downloading**: Download entire folders recursively or single files.
|
|
35
|
-
* **Cross-Platform**: Fully compatible with **Windows**, **Linux**, **macOS**, and **Android (Termux)**.
|
|
36
|
-
* **Resumable**: Automatically skips files that already exist (verified by hash).
|
|
37
|
-
* **Multi-threaded**: Blazing fast downloads with configurable threading.
|
|
38
|
-
* **Smart Extraction**: Handles dynamic MediaFire links using HTML parsing and Regex fallback.
|
|
39
|
-
* **Beautiful UI**: Rich terminal interface with progress bars, panels, and colors.
|
|
40
|
-
* **Multi-language**: Supports English and Vietnamese (`--sl en/vi`).
|
|
41
|
-
|
|
42
|
-
## 📥 Installation
|
|
43
|
-
|
|
44
|
-
You can easily install the tool via pip:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
pip install txa-m
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
_Note: On some systems (like Linux/Mac), you might need to use `pip3`._
|
|
51
|
-
|
|
52
|
-
## 💻 Usage
|
|
53
|
-
|
|
54
|
-
Run the tool using the command `txa-m`.
|
|
55
|
-
|
|
56
|
-
**IMPORTANT**: Always wrap your **URLs** and **Paths** in double quotes (`"`) to ensure special characters don't break the command.
|
|
57
|
-
|
|
58
|
-
### Basic Download
|
|
59
|
-
```bash
|
|
60
|
-
txa-m "https://www.mediafire.com/file/example/file.zip"
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Download to Specific Folder
|
|
64
|
-
```bash
|
|
65
|
-
txa-m "https://www.mediafire.com/folder/example/folder" -o "C:/MyDownloads/Mediafire"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Advanced Usage
|
|
69
|
-
```bash
|
|
70
|
-
# Download with 20 threads and ignore video files
|
|
71
|
-
txa-m "https://www.mediafire.com/folder/..." -t 20 -ie ".mp4,.mkv,.avi"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Check for Updates
|
|
75
|
-
```bash
|
|
76
|
-
txa-m --u
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## ⚙️ Options
|
|
80
|
-
|
|
81
|
-
| Option | Alias | Description |
|
|
82
|
-
| :--- | :--- | :--- |
|
|
83
|
-
| `--output` | `-o` | Output directory path (supports env vars like `%USERPROFILE%`). |
|
|
84
|
-
| `--threads` | `-t` | Number of concurrent download threads (Default: 10). |
|
|
85
|
-
| `--ignore-extensions` | `-ie` | Comma-separated list of extensions to skip (e.g., `.mp4,.mkv`). |
|
|
86
|
-
| `--ignore-names` | `-in` | Comma-separated list of filenames to skip. |
|
|
87
|
-
| `--set-lang` | `--sl` | Set application language (`en` or `vi`). |
|
|
88
|
-
| `--update` | `-u` | Check for updates and auto-install via pip. |
|
|
89
|
-
| `--help` | `-h` | Show the help message. |
|
|
90
|
-
| `--version` | `-v` | Show version information. |
|
|
91
|
-
|
|
92
|
-
## 📱 Running on Android (Termux)
|
|
93
|
-
|
|
94
|
-
1. Install Termux from F-Droid or Google Play.
|
|
95
|
-
2. Run these commands:
|
|
96
|
-
```bash
|
|
97
|
-
pkg update && pkg upgrade
|
|
98
|
-
pkg install python
|
|
99
|
-
pip install txa-m
|
|
100
|
-
```
|
|
101
|
-
3. Grant storage permission (optional, if saving to internal storage):
|
|
102
|
-
```bash
|
|
103
|
-
termux-setup-storage
|
|
104
|
-
```
|
|
105
|
-
4. Run the tool:
|
|
106
|
-
```bash
|
|
107
|
-
txa-m "YOUR_LINK" -o "/sdcard/Download"
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## 📜 Copyright
|
|
111
|
-
|
|
112
|
-
Copyright © TXA.
|
|
113
|
-
This tool is for educational purposes.
|
txa_m-2.0.1.dist-info/RECORD
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
txa_mediafire/__init__.py,sha256=vJfxJh8-WpzNM9GvoKORSBDfF1UdJb6sHUmP2KjAQ98,28
|
|
2
|
-
txa_mediafire/cli.py,sha256=hXcqFeC7z29XjUYMiiFMezIqZWlwQYNhRkpuJFB8gOc,27411
|
|
3
|
-
txa_mediafire/translations.json,sha256=WlSa55TS4AVN2P1ackM3-GVK5hOQFszxllGwFwvzG48,4242
|
|
4
|
-
txa_m-2.0.1.dist-info/METADATA,sha256=SPIosFkc-SGwN-jQpEhqvf80gmDf30_zUh7vQrIasTQ,3674
|
|
5
|
-
txa_m-2.0.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
6
|
-
txa_m-2.0.1.dist-info/entry_points.txt,sha256=cDQgfUn0g87jECRW-pi0P4nAhZ5iWf7OUrkt3oklnyw,49
|
|
7
|
-
txa_m-2.0.1.dist-info/top_level.txt,sha256=-xUoP0BsB9fBFX_zBvgJ6vjkqMkoFCyG498DgBJCm6M,14
|
|
8
|
-
txa_m-2.0.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|