tor-dl 1.0.2 → 1.0.4
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.
- package/README.md +85 -192
- package/dist/cli/display.d.ts.map +1 -1
- package/dist/cli/display.js +13 -7
- package/dist/cli/display.js.map +1 -1
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +59 -37
- package/dist/cli/parser.js.map +1 -1
- package/dist/commands/download.d.ts +1 -1
- package/dist/commands/download.d.ts.map +1 -1
- package/dist/commands/download.js +55 -49
- package/dist/commands/download.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +29 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/download/engine.d.ts +1 -3
- package/dist/download/engine.d.ts.map +1 -1
- package/dist/download/engine.js +0 -129
- package/dist/download/engine.js.map +1 -1
- package/dist/filters/seeds.d.ts +1 -1
- package/dist/filters/seeds.d.ts.map +1 -1
- package/dist/filters/seeds.js +4 -1
- package/dist/filters/seeds.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/sources/nyaa.d.ts.map +1 -1
- package/dist/sources/nyaa.js +3 -0
- package/dist/sources/nyaa.js.map +1 -1
- package/dist/sources/thepiratebay.d.ts.map +1 -1
- package/dist/sources/thepiratebay.js +1 -0
- package/dist/sources/thepiratebay.js.map +1 -1
- package/dist/sources/yts.d.ts.map +1 -1
- package/dist/sources/yts.js +1 -0
- package/dist/sources/yts.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/help.txt +30 -0
- package/package.json +3 -5
- package/src/cli/display.ts +15 -7
- package/src/cli/parser.ts +62 -40
- package/src/commands/download.ts +48 -15
- package/src/commands/search.ts +84 -52
- package/src/download/engine.ts +1 -144
- package/src/filters/seeds.ts +4 -1
- package/src/index.ts +0 -1
- package/src/sources/nyaa.ts +3 -0
- package/src/sources/thepiratebay.ts +1 -0
- package/src/sources/yts.ts +1 -0
- package/src/types.ts +2 -0
- package/src/cli/progress.ts +0 -78
package/README.md
CHANGED
|
@@ -1,39 +1,6 @@
|
|
|
1
1
|
# tor-dl
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<img src="https://img.shields.io/npm/v/tor-dl" alt="npm version">
|
|
5
|
-
<img src="https://img.shields.io/node-version/tor-dl" alt="node version">
|
|
6
|
-
<img src="https://img.shields.io/github/license/tor-dl" alt="license">
|
|
7
|
-
</p>
|
|
8
|
-
|
|
9
|
-
> A powerful CLI torrent search and download tool. Search across multiple torrent sources, filter results, and download directly to your current directory - all from the terminal.
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- 🔍 **Multi-Source Search** - Search across 9 popular torrent sources simultaneously
|
|
14
|
-
- 🎯 **Smart Filters** - Filter by category, seeders, size with customizable defaults
|
|
15
|
-
- 📊 **Sort Options** - Sort by seeds, size, or date (ascending/descending)
|
|
16
|
-
- ⬇️ **Direct Downloads** - Download torrents directly using WebTorrent
|
|
17
|
-
- 📈 **Rich Progress** - Beautiful CLI progress bar with speed and ETA
|
|
18
|
-
- 🔄 **Easy Updates** - Update source configurations via `-u` flag
|
|
19
|
-
- ⚙️ **JSON Config** - Fully configurable via `filters.json` and `sources.json`
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Clone the repository
|
|
25
|
-
git clone https://github.com/eaeoz/tor-dl.git
|
|
26
|
-
cd tor-dl
|
|
27
|
-
|
|
28
|
-
# Install dependencies
|
|
29
|
-
npm install
|
|
30
|
-
|
|
31
|
-
# Build the project
|
|
32
|
-
npm run build
|
|
33
|
-
|
|
34
|
-
# Link for global use (optional)
|
|
35
|
-
npm link
|
|
36
|
-
```
|
|
3
|
+
A CLI torrent search tool. Search across multiple sources, open .torrent in browser, or copy magnet links to clipboard.
|
|
37
4
|
|
|
38
5
|
## Quick Start
|
|
39
6
|
|
|
@@ -41,30 +8,17 @@ npm link
|
|
|
41
8
|
# Search for torrents
|
|
42
9
|
tor-dl search "movie title"
|
|
43
10
|
|
|
44
|
-
#
|
|
45
|
-
tor-dl 3
|
|
11
|
+
# Copy magnet link to clipboard
|
|
12
|
+
tor-dl o 3
|
|
46
13
|
|
|
47
|
-
#
|
|
48
|
-
tor-dl
|
|
14
|
+
# Show version
|
|
15
|
+
tor-dl --version
|
|
49
16
|
```
|
|
50
17
|
|
|
51
|
-
##
|
|
52
|
-
|
|
53
|
-
| Source | Categories | Status |
|
|
54
|
-
|--------|------------|--------|
|
|
55
|
-
| 1337x | All | ✅ Enabled |
|
|
56
|
-
| EZTV | TV | ✅ Enabled |
|
|
57
|
-
| The Pirate Bay | All | ✅ Enabled |
|
|
58
|
-
| RarBG | Movie, TV | ✅ Enabled |
|
|
59
|
-
| Limetorrents | All | ✅ Enabled |
|
|
60
|
-
| TorLock | All | ✅ Enabled |
|
|
61
|
-
| TorrentProject | All | ✅ Enabled |
|
|
62
|
-
| SolidTorrents | All | ✅ Enabled |
|
|
63
|
-
| torrents-csv | All | ✅ Enabled |
|
|
18
|
+
## Commands
|
|
64
19
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### Search Command
|
|
20
|
+
### search <query>
|
|
21
|
+
Search for torrents across multiple sources.
|
|
68
22
|
|
|
69
23
|
```bash
|
|
70
24
|
tor-dl search <query> [options]
|
|
@@ -72,184 +26,123 @@ tor-dl search <query> [options]
|
|
|
72
26
|
|
|
73
27
|
**Options:**
|
|
74
28
|
|
|
75
|
-
| Flag | Description |
|
|
29
|
+
| Flag | Description | Example |
|
|
76
30
|
|------|-------------|---------|
|
|
77
|
-
| `-c, --cat <category>` | Category
|
|
78
|
-
| `-s, --min-seeds <number>` | Minimum seeders |
|
|
79
|
-
| `--
|
|
80
|
-
| `--
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
|
|
|
31
|
+
| `-c, --cat <category>` | Category to filter results | `all`, `movie`, `tv`, `anime`, `music`, `games`, `apps` |
|
|
32
|
+
| `-s, --min-seeds <number>` | Minimum number of seeders | `100` |
|
|
33
|
+
| `--max-seeds <number>` | Maximum number of seeders | `1000` |
|
|
34
|
+
| `--min-size <size>` | Minimum file size | `500MB`, `1GB`, `2GB` |
|
|
35
|
+
| `--max-size <size>` | Maximum file size | `5GB`, `10GB` |
|
|
36
|
+
| `-o, --sort <field>` | Sort results by field | `seeds`, `size`, `date` |
|
|
37
|
+
| `--order <order>` | Sort order | `asc` (low to high), `desc` (high to low) |
|
|
38
|
+
| `-l, --limit <number>` | Maximum results to return | `10`, `50`, `100` |
|
|
39
|
+
| `--sources <sources>` | Sources to search (comma-separated) | `yts,thepiratebay,nyaa` |
|
|
40
|
+
|
|
41
|
+
**Available Categories:**
|
|
42
|
+
- `all` - Search all categories
|
|
43
|
+
- `movie` - Movies
|
|
44
|
+
- `tv` - TV shows
|
|
45
|
+
- `anime` - Anime (mainly Nyaa)
|
|
46
|
+
- `music` - Music
|
|
47
|
+
- `games` - Games
|
|
48
|
+
- `apps` - Applications
|
|
49
|
+
|
|
50
|
+
**Available Sources:**
|
|
51
|
+
- `yts` - YTS (Movies only)
|
|
52
|
+
- `eztv` - EZTV (TV shows)
|
|
53
|
+
- `thepiratebay` - The Pirate Bay (All categories)
|
|
54
|
+
- `nyaa` - Nyaa.si (Anime, Software)
|
|
84
55
|
|
|
85
56
|
**Examples:**
|
|
86
57
|
|
|
87
58
|
```bash
|
|
88
|
-
# Basic search
|
|
59
|
+
# Basic search
|
|
89
60
|
tor-dl search "Blade Runner 2049"
|
|
90
61
|
|
|
91
|
-
# Search with
|
|
92
|
-
tor-dl search "
|
|
62
|
+
# Search movies with minimum seeds
|
|
63
|
+
tor-dl search "movie" --cat movie --min-seeds 100
|
|
93
64
|
|
|
94
|
-
#
|
|
95
|
-
tor-dl search "
|
|
65
|
+
# Search with size limits
|
|
66
|
+
tor-dl search "linux" --min-size 500MB --max-size 2GB
|
|
96
67
|
|
|
97
|
-
#
|
|
98
|
-
tor-dl search "
|
|
99
|
-
```
|
|
68
|
+
# Search specific sources only
|
|
69
|
+
tor-dl search "game" --sources yts,thepiratebay
|
|
100
70
|
|
|
101
|
-
|
|
71
|
+
# Sort by size (smallest first)
|
|
72
|
+
tor-dl search "documentary" --sort size --order asc
|
|
102
73
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
tor-dl <number>
|
|
106
|
-
|
|
107
|
-
# Or use explicit download command
|
|
108
|
-
tor-dl download <number> [options]
|
|
74
|
+
# Limit results to top 10
|
|
75
|
+
tor-dl search "podcast" -l 10
|
|
109
76
|
```
|
|
110
77
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
| Flag | Description |
|
|
114
|
-
|------|-------------|
|
|
115
|
-
| `-p, --path <path>` | Custom download path |
|
|
116
|
-
|
|
117
|
-
**Example:**
|
|
78
|
+
### o <number>
|
|
79
|
+
Copy .torrent URL or magnet link to clipboard for the selected result number.
|
|
118
80
|
|
|
119
81
|
```bash
|
|
120
|
-
|
|
121
|
-
tor-dl 3
|
|
82
|
+
tor-dl o <number>
|
|
122
83
|
```
|
|
123
84
|
|
|
124
|
-
|
|
85
|
+
After running a search, enter the result number to copy the link to your clipboard.
|
|
125
86
|
|
|
87
|
+
**Example:**
|
|
126
88
|
```bash
|
|
127
|
-
tor-dl
|
|
128
|
-
#
|
|
129
|
-
tor-dl
|
|
89
|
+
tor-dl search "python tutorial"
|
|
90
|
+
# Results displayed...
|
|
91
|
+
tor-dl o 5
|
|
92
|
+
# Magnet link copied to clipboard!
|
|
130
93
|
```
|
|
131
94
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
### Version
|
|
95
|
+
### open <number>
|
|
96
|
+
Same as `o` command - opens .torrent in browser or copies magnet link.
|
|
135
97
|
|
|
136
98
|
```bash
|
|
137
|
-
tor-dl
|
|
138
|
-
# or
|
|
139
|
-
tor-dl -v
|
|
99
|
+
tor-dl open <number>
|
|
140
100
|
```
|
|
141
101
|
|
|
142
|
-
|
|
102
|
+
### Options
|
|
143
103
|
|
|
144
|
-
|
|
104
|
+
| Flag | Description |
|
|
105
|
+
|------|-------------|
|
|
106
|
+
| `-v, --version` | Show version number |
|
|
107
|
+
| `-h, --help` | Show help information |
|
|
145
108
|
|
|
146
|
-
|
|
109
|
+
## Supported Sources
|
|
147
110
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
"sortBy": "seeds",
|
|
155
|
-
"order": "desc",
|
|
156
|
-
"limit": 50
|
|
157
|
-
}
|
|
158
|
-
```
|
|
111
|
+
| Source | Categories | Description |
|
|
112
|
+
|--------|------------|-------------|
|
|
113
|
+
| YTS | movie | Movie torrents with direct .torrent download |
|
|
114
|
+
| The Pirate Bay | all | General torrent search |
|
|
115
|
+
| Nyaa | anime, tv | Anime and Japanese media |
|
|
116
|
+
| EZTV | tv | TV show torrents |
|
|
159
117
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
Source configurations with remote update URL:
|
|
163
|
-
|
|
164
|
-
```json
|
|
165
|
-
{
|
|
166
|
-
"updateUrl": "https://raw.githubusercontent.com/eaeoz/tor-dl/main/sources.json",
|
|
167
|
-
"version": "1.0.0",
|
|
168
|
-
"sources": {
|
|
169
|
-
"1337x": {
|
|
170
|
-
"enabled": true,
|
|
171
|
-
"name": "1337x",
|
|
172
|
-
"baseUrl": "https://1337x.to",
|
|
173
|
-
"searchUrl": "https://1337x.to/category-search",
|
|
174
|
-
"categories": ["all", "movie", "tv", "music", "games", "apps"],
|
|
175
|
-
"searchParam": "search",
|
|
176
|
-
"hasMagnet": true
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
```
|
|
118
|
+
## Size Format
|
|
181
119
|
|
|
182
|
-
|
|
120
|
+
Size can be specified in various formats:
|
|
121
|
+
- `KB` - Kilobytes
|
|
122
|
+
- `MB` - Megabytes
|
|
123
|
+
- `GB` - Gigabytes
|
|
124
|
+
- `TB` - Terabytes
|
|
183
125
|
|
|
184
|
-
|
|
185
|
-
┌─────┬─────────────────────────────────────────┬───────────┬────────┬──────────┐
|
|
186
|
-
│ Num │ Name │ Size │ Seeds │ Source │
|
|
187
|
-
├─────┼─────────────────────────────────────────┼───────────┼────────┼──────────┤
|
|
188
|
-
│ 1 │ Blade.Runner.2049.2017.720p.BluRay │ 1.2GB │ 5,000 │ 1337x │
|
|
189
|
-
│ 2 │ Blade.Runner.2049.2017.1080p.BluRay │ 2.1GB │ 3,200 │ limetorrent │
|
|
190
|
-
│ 3 │ Blade.Runner.2049.2017.4K.BluRay │ 4.5GB │ 1,800 │ rarbg │
|
|
191
|
-
└─────┴─────────────────────────────────────────┴───────────┴────────┴──────────┘
|
|
192
|
-
|
|
193
|
-
To download: tor-dl <number>
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## Project Structure
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
tor-dl/
|
|
200
|
-
├── bin/
|
|
201
|
-
│ └── tor-dl.js # CLI entry point
|
|
202
|
-
├── src/
|
|
203
|
-
│ ├── cli/
|
|
204
|
-
│ │ ├── parser.ts # Commander.js CLI parser
|
|
205
|
-
│ │ ├── display.ts # Terminal output formatting
|
|
206
|
-
│ │ └── progress.ts # Download progress bar
|
|
207
|
-
│ ├── commands/
|
|
208
|
-
│ │ ├── search.ts # Search command
|
|
209
|
-
│ │ ├── download.ts # Download command
|
|
210
|
-
│ │ └── update.ts # Update sources command
|
|
211
|
-
│ ├── sources/
|
|
212
|
-
│ │ ├── _1337x.ts # 1337x scraper
|
|
213
|
-
│ │ ├── eztv.ts # EZTV scraper
|
|
214
|
-
│ │ ├── limetorrent.ts # Limetorrents scraper
|
|
215
|
-
│ │ ├── rarbg.ts # RarBG scraper
|
|
216
|
-
│ │ └── ... # More source scrapers
|
|
217
|
-
│ ├── filters/
|
|
218
|
-
│ │ ├── category.ts # Category filter
|
|
219
|
-
│ │ ├── size.ts # Size filter
|
|
220
|
-
│ │ ├── seeds.ts # Seeds filter
|
|
221
|
-
│ │ └── sort.ts # Sort functionality
|
|
222
|
-
│ ├── download/
|
|
223
|
-
│ │ └── engine.ts # WebTorrent download engine
|
|
224
|
-
│ └── types.ts # TypeScript interfaces
|
|
225
|
-
├── sources.json # Source configurations
|
|
226
|
-
├── filters.json # Default filters
|
|
227
|
-
└── package.json
|
|
228
|
-
```
|
|
126
|
+
Examples: `500MB`, `1.5GB`, `2GB`
|
|
229
127
|
|
|
230
128
|
## Requirements
|
|
231
129
|
|
|
232
130
|
- Node.js >= 18.0.0
|
|
233
|
-
- npm
|
|
131
|
+
- npm
|
|
234
132
|
|
|
235
|
-
##
|
|
133
|
+
## Local Installation
|
|
236
134
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
- **Ora** - Loading spinners
|
|
135
|
+
```bash
|
|
136
|
+
git clone https://github.com/eaeoz/tor-dl.git
|
|
137
|
+
cd tor-dl
|
|
138
|
+
npm install
|
|
139
|
+
npm run build
|
|
140
|
+
```
|
|
244
141
|
|
|
245
142
|
## License
|
|
246
143
|
|
|
247
|
-
MIT License
|
|
144
|
+
MIT License
|
|
248
145
|
|
|
249
146
|
## Disclaimer
|
|
250
147
|
|
|
251
|
-
This tool is for educational purposes. Always respect copyright laws and the terms of service of torrent sites.
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
<p align="center">Made with ❤️ for the CLI community</p>
|
|
148
|
+
This tool is for educational purposes. Always respect copyright laws and the terms of service of torrent sites.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/cli/display.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/cli/display.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAiC7D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAYhE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD"}
|
package/dist/cli/display.js
CHANGED
|
@@ -10,6 +10,9 @@ exports.displaySuccess = displaySuccess;
|
|
|
10
10
|
exports.displayInfo = displayInfo;
|
|
11
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
12
12
|
chalk_1.default.level = 1;
|
|
13
|
+
function makeClickable(url, text) {
|
|
14
|
+
return `\u001b]8;;${url}\u0007${text}\u001b]8;;\u0007`;
|
|
15
|
+
}
|
|
13
16
|
function displayResults(results) {
|
|
14
17
|
if (results.length === 0) {
|
|
15
18
|
console.log(chalk_1.default.yellow('No results found.'));
|
|
@@ -17,9 +20,9 @@ function displayResults(results) {
|
|
|
17
20
|
}
|
|
18
21
|
const out = (s) => process.stdout.write(s + '\n');
|
|
19
22
|
out('\n' + [
|
|
20
|
-
'
|
|
21
|
-
'│ Num │ Name │ Size │ Seeds │ Leech │ Source │',
|
|
22
|
-
'
|
|
23
|
+
'┌─────┬───┬────────────────────────────────────────┬────────┬───────┬───────┬────────┐',
|
|
24
|
+
'│ Num │ L │ Name │ Size │ Seeds │ Leech │ Source │',
|
|
25
|
+
'├─────┼───┼────────────────────────────────────────┼────────┼───────┼───────┼────────┤'
|
|
23
26
|
].join('\n'));
|
|
24
27
|
for (const r of results) {
|
|
25
28
|
const name = r.name.length > 38 ? r.name.substring(0, 35) + '...' : r.name;
|
|
@@ -28,12 +31,15 @@ function displayResults(results) {
|
|
|
28
31
|
const peers = r.peers > 50 ? chalk_1.default.cyan(r.peers.toString().padStart(5)) : r.peers.toString().padStart(5);
|
|
29
32
|
const source = (r.source || 'unknown').slice(0, 6).padEnd(6);
|
|
30
33
|
const num = chalk_1.default.cyan(r.num.toString().padStart(3));
|
|
31
|
-
|
|
34
|
+
const link = r.torrentUrl || r.magnet ? chalk_1.default.green('✓') : ' ';
|
|
35
|
+
const url = r.torrentUrl || r.magnet || '';
|
|
36
|
+
const clickableName = url ? makeClickable(url, name.padEnd(38)) : name.padEnd(38);
|
|
37
|
+
out(`│ ${num} │ ${link} │ ${clickableName} │ ${size} │ ${seeds} │ ${peers} │ ${source} │`);
|
|
32
38
|
}
|
|
33
|
-
out('
|
|
34
|
-
out('
|
|
39
|
+
out('├─────┼───┼────────────────────────────────────────┼────────┼───────┼───────┼────────┤');
|
|
40
|
+
out('└─────┴───┴────────────────────────────────────────┴────────┴───────┴───────┴────────┘');
|
|
35
41
|
out('');
|
|
36
|
-
out('
|
|
42
|
+
out(chalk_1.default.gray('Use: tor-dl o <number> to copy link to clipboard'));
|
|
37
43
|
}
|
|
38
44
|
function displayResultDetails(result) {
|
|
39
45
|
console.log(chalk_1.default.bold('\n--- Torrent Details ---'));
|
package/dist/cli/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/cli/display.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/cli/display.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAiB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAiB,MAAM,UAAU,CAAC;AAWvD,wBAAgB,WAAW,IAAI,YAAY,CAc1C;AAED,wBAAgB,YAAY,IAAI,OAAO,CAuFtC"}
|
package/dist/cli/parser.js
CHANGED
|
@@ -38,6 +38,15 @@ exports.createParser = createParser;
|
|
|
38
38
|
const commander_1 = require("commander");
|
|
39
39
|
const fs_1 = require("fs");
|
|
40
40
|
const path_1 = require("path");
|
|
41
|
+
function getVersion() {
|
|
42
|
+
try {
|
|
43
|
+
const pkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../../package.json'), 'utf-8'));
|
|
44
|
+
return pkg.version || '1.0.0';
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return '1.0.0';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
41
50
|
function loadFilters() {
|
|
42
51
|
const filtersPath = (0, path_1.join)(process.cwd(), 'filters.json');
|
|
43
52
|
if ((0, fs_1.existsSync)(filtersPath)) {
|
|
@@ -55,32 +64,55 @@ function loadFilters() {
|
|
|
55
64
|
}
|
|
56
65
|
function createParser() {
|
|
57
66
|
const program = new commander_1.Command();
|
|
67
|
+
const filters = loadFilters();
|
|
68
|
+
const mainHelp = `
|
|
69
|
+
Categories: all, movie, tv, anime, music, games, apps
|
|
70
|
+
Sources:
|
|
71
|
+
yts - YTS (Movies) | eztv - EZTV (TV) | thepiratebay - The Pirate Bay | nyaa - Nyaa.si (Anime)`;
|
|
58
72
|
program
|
|
59
73
|
.name('tor-dl')
|
|
60
|
-
.description('CLI torrent search
|
|
61
|
-
.version('
|
|
62
|
-
.
|
|
63
|
-
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
74
|
+
.description('CLI torrent search tool - search, open in browser, copy magnet links' + mainHelp)
|
|
75
|
+
.version(getVersion(), '-v, --version')
|
|
76
|
+
.showHelpAfterError()
|
|
77
|
+
.showSuggestionAfterError();
|
|
67
78
|
program
|
|
68
79
|
.command('search <query>')
|
|
69
|
-
.description('Search for torrents')
|
|
70
|
-
.option('-c, --cat <category>', 'Category
|
|
71
|
-
.option('-s, --min-seeds <number>', 'Minimum
|
|
72
|
-
.option('--
|
|
73
|
-
.option('--
|
|
74
|
-
.option('-
|
|
75
|
-
.option('--
|
|
76
|
-
.option('
|
|
77
|
-
.option('--
|
|
80
|
+
.description('Search for torrents. Use -h after search term for examples: tor-dl search "movie" -h')
|
|
81
|
+
.option('-c, --cat <category>', 'Category (all|movie|tv|anime|music|games|apps)')
|
|
82
|
+
.option('-s, --min-seeds <number>', 'Minimum seeders', parseInt)
|
|
83
|
+
.option('--max-seeds <number>', 'Maximum seeders', parseInt)
|
|
84
|
+
.option('--min-size <size>', 'Min size (e.g. 500MB, 1GB)')
|
|
85
|
+
.option('--max-size <size>', 'Max size (e.g. 5GB)')
|
|
86
|
+
.option('-o, --sort <sortBy>', 'Sort by (seeds|size|date)')
|
|
87
|
+
.option('--order <order>', 'Order (asc|desc)')
|
|
88
|
+
.option('-l, --limit <number>', 'Max results (default: 50)', parseInt)
|
|
89
|
+
.option('--sources <sources>', 'Sources (yts,eztv,thepiratebay,nyaa)')
|
|
90
|
+
.option('-h, --help', 'Show help with examples')
|
|
91
|
+
.allowUnknownOption()
|
|
92
|
+
.hook('preAction', (thisCommand) => {
|
|
93
|
+
const opts = thisCommand.opts();
|
|
94
|
+
if (opts.help || thisCommand.args.includes('-h')) {
|
|
95
|
+
console.log('');
|
|
96
|
+
console.log('Categories: all, movie, tv, anime, music, games, apps');
|
|
97
|
+
console.log('Sources:');
|
|
98
|
+
console.log(' yts - YTS (Movies)');
|
|
99
|
+
console.log(' eztv - EZTV (TV)');
|
|
100
|
+
console.log(' thepiratebay - The Pirate Bay');
|
|
101
|
+
console.log(' nyaa - Nyaa.si (Anime)');
|
|
102
|
+
console.log('');
|
|
103
|
+
console.log('Examples:');
|
|
104
|
+
console.log(' tor-dl search "movie" -c movie -s 100');
|
|
105
|
+
console.log(' tor-dl search "anime" --sources nyaa --max-size 2GB');
|
|
106
|
+
console.log(' tor-dl search "linux" --min-size 500MB -l 10');
|
|
107
|
+
process.exit(0);
|
|
108
|
+
}
|
|
109
|
+
})
|
|
78
110
|
.action(async (query, options) => {
|
|
79
|
-
const filters = loadFilters();
|
|
80
111
|
const searchOptions = {
|
|
81
112
|
query,
|
|
82
113
|
category: options.cat || filters.category,
|
|
83
114
|
minSeeds: options.minSeeds ?? filters.minSeeds,
|
|
115
|
+
maxSeeds: options.maxSeeds,
|
|
84
116
|
minSize: options.minSize || filters.minSize,
|
|
85
117
|
maxSize: options.maxSize || filters.maxSize,
|
|
86
118
|
sortBy: options.sort || filters.sortBy,
|
|
@@ -91,27 +123,17 @@ function createParser() {
|
|
|
91
123
|
const { searchCommand } = await Promise.resolve().then(() => __importStar(require('../commands/search')));
|
|
92
124
|
await searchCommand(searchOptions);
|
|
93
125
|
});
|
|
94
|
-
program
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
.
|
|
98
|
-
|
|
99
|
-
const { downloadCommand } = await Promise.resolve().then(() => __importStar(require('../commands/download')));
|
|
100
|
-
await downloadCommand(parseInt(number), options.path);
|
|
101
|
-
});
|
|
102
|
-
program
|
|
103
|
-
.command('update')
|
|
104
|
-
.description('Update sources from remote config')
|
|
105
|
-
.alias('u')
|
|
106
|
-
.action(async () => {
|
|
107
|
-
const { updateCommand } = await Promise.resolve().then(() => __importStar(require('../commands/update')));
|
|
108
|
-
await updateCommand();
|
|
126
|
+
const openCmd = program.command('open <number>', { hidden: true });
|
|
127
|
+
openCmd.description('Open .torrent in browser or copy magnet to clipboard');
|
|
128
|
+
openCmd.action(async (number) => {
|
|
129
|
+
const { openInBrowser } = await Promise.resolve().then(() => __importStar(require('../commands/download')));
|
|
130
|
+
await openInBrowser(parseInt(number));
|
|
109
131
|
});
|
|
110
|
-
program
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const {
|
|
114
|
-
await
|
|
132
|
+
const oCmd = program.command('o <number>');
|
|
133
|
+
oCmd.description('Open .torrent in browser or copy magnet to clipboard');
|
|
134
|
+
oCmd.action(async (number) => {
|
|
135
|
+
const { openInBrowser } = await Promise.resolve().then(() => __importStar(require('../commands/download')));
|
|
136
|
+
await openInBrowser(parseInt(number));
|
|
115
137
|
});
|
|
116
138
|
program.on('command:*', () => {
|
|
117
139
|
console.error('Invalid command: %s\nSee --help for a list of available commands.', program.args[0]);
|
package/dist/cli/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function openInBrowser(number: number): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=download.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/commands/download.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/commands/download.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DjE"}
|