tor-dl 1.0.0 → 1.0.2

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.
Files changed (130) hide show
  1. package/AGENTS.md +7 -7
  2. package/README.md +25 -25
  3. package/dist/bin/{tordl.js → tor-dl.js} +2 -3
  4. package/dist/cli/display.d.ts.map +1 -1
  5. package/dist/cli/display.js +10 -8
  6. package/dist/cli/display.js.map +1 -1
  7. package/dist/cli/parser.js +1 -1
  8. package/dist/cli/parser.js.map +1 -1
  9. package/dist/commands/download.js +1 -1
  10. package/dist/commands/download.js.map +1 -1
  11. package/dist/download/engine.js +1 -1
  12. package/dist/download/engine.js.map +1 -1
  13. package/dist/src/cli/display.d.ts +7 -0
  14. package/dist/src/cli/display.d.ts.map +1 -0
  15. package/dist/src/cli/display.js +59 -0
  16. package/dist/src/cli/display.js.map +1 -0
  17. package/dist/src/cli/parser.d.ts +5 -0
  18. package/dist/src/cli/parser.d.ts.map +1 -0
  19. package/dist/src/cli/parser.js +122 -0
  20. package/dist/src/cli/parser.js.map +1 -0
  21. package/dist/src/cli/progress.d.ts +15 -0
  22. package/dist/src/cli/progress.d.ts.map +1 -0
  23. package/dist/src/cli/progress.js +76 -0
  24. package/dist/src/cli/progress.js.map +1 -0
  25. package/dist/src/commands/download.d.ts +2 -0
  26. package/dist/src/commands/download.d.ts.map +1 -0
  27. package/dist/src/commands/download.js +70 -0
  28. package/dist/src/commands/download.js.map +1 -0
  29. package/dist/src/commands/search.d.ts +3 -0
  30. package/dist/src/commands/search.d.ts.map +1 -0
  31. package/dist/src/commands/search.js +46 -0
  32. package/dist/src/commands/search.js.map +1 -0
  33. package/dist/src/commands/update.d.ts +2 -0
  34. package/dist/src/commands/update.d.ts.map +1 -0
  35. package/dist/src/commands/update.js +32 -0
  36. package/dist/src/commands/update.js.map +1 -0
  37. package/dist/src/download/engine.d.ts +6 -0
  38. package/dist/src/download/engine.d.ts.map +1 -0
  39. package/dist/src/download/engine.js +163 -0
  40. package/dist/src/download/engine.js.map +1 -0
  41. package/dist/src/filters/category.d.ts +3 -0
  42. package/dist/src/filters/category.d.ts.map +1 -0
  43. package/dist/src/filters/category.js +24 -0
  44. package/dist/src/filters/category.js.map +1 -0
  45. package/dist/src/filters/index.d.ts +5 -0
  46. package/dist/src/filters/index.d.ts.map +1 -0
  47. package/dist/src/filters/index.js +13 -0
  48. package/dist/src/filters/index.js.map +1 -0
  49. package/dist/src/filters/seeds.d.ts +3 -0
  50. package/dist/src/filters/seeds.d.ts.map +1 -0
  51. package/dist/src/filters/seeds.js +7 -0
  52. package/dist/src/filters/seeds.js.map +1 -0
  53. package/dist/src/filters/size.d.ts +4 -0
  54. package/dist/src/filters/size.d.ts.map +1 -0
  55. package/dist/src/filters/size.js +36 -0
  56. package/dist/src/filters/size.js.map +1 -0
  57. package/dist/src/filters/sort.d.ts +5 -0
  58. package/dist/src/filters/sort.d.ts.map +1 -0
  59. package/dist/src/filters/sort.js +25 -0
  60. package/dist/src/filters/sort.js.map +1 -0
  61. package/dist/src/index.d.ts +11 -0
  62. package/dist/src/index.d.ts.map +1 -0
  63. package/dist/src/index.js +30 -0
  64. package/dist/src/index.js.map +1 -0
  65. package/dist/src/sources/1337x.d.ts +11 -0
  66. package/dist/src/sources/1337x.d.ts.map +1 -0
  67. package/dist/src/sources/1337x.js +121 -0
  68. package/dist/src/sources/1337x.js.map +1 -0
  69. package/dist/src/sources/eztv.d.ts +11 -0
  70. package/dist/src/sources/eztv.d.ts.map +1 -0
  71. package/dist/src/sources/eztv.js +104 -0
  72. package/dist/src/sources/eztv.js.map +1 -0
  73. package/dist/src/sources/httpClient.d.ts +24 -0
  74. package/dist/src/sources/httpClient.d.ts.map +1 -0
  75. package/dist/src/sources/httpClient.js +42 -0
  76. package/dist/src/sources/httpClient.js.map +1 -0
  77. package/dist/src/sources/limetorrent.d.ts +11 -0
  78. package/dist/src/sources/limetorrent.d.ts.map +1 -0
  79. package/dist/src/sources/limetorrent.js +113 -0
  80. package/dist/src/sources/limetorrent.js.map +1 -0
  81. package/dist/src/sources/nyaa.d.ts +11 -0
  82. package/dist/src/sources/nyaa.d.ts.map +1 -0
  83. package/dist/src/sources/nyaa.js +119 -0
  84. package/dist/src/sources/nyaa.js.map +1 -0
  85. package/dist/src/sources/rarbg.d.ts +11 -0
  86. package/dist/src/sources/rarbg.d.ts.map +1 -0
  87. package/dist/src/sources/rarbg.js +122 -0
  88. package/dist/src/sources/rarbg.js.map +1 -0
  89. package/dist/src/sources/registry.d.ts +9 -0
  90. package/dist/src/sources/registry.d.ts.map +1 -0
  91. package/dist/src/sources/registry.js +70 -0
  92. package/dist/src/sources/registry.js.map +1 -0
  93. package/dist/src/sources/solidtorrents.d.ts +11 -0
  94. package/dist/src/sources/solidtorrents.d.ts.map +1 -0
  95. package/dist/src/sources/solidtorrents.js +105 -0
  96. package/dist/src/sources/solidtorrents.js.map +1 -0
  97. package/dist/src/sources/thepiratebay.d.ts +11 -0
  98. package/dist/src/sources/thepiratebay.d.ts.map +1 -0
  99. package/dist/src/sources/thepiratebay.js +67 -0
  100. package/dist/src/sources/thepiratebay.js.map +1 -0
  101. package/dist/src/sources/torlock.d.ts +11 -0
  102. package/dist/src/sources/torlock.d.ts.map +1 -0
  103. package/dist/src/sources/torlock.js +116 -0
  104. package/dist/src/sources/torlock.js.map +1 -0
  105. package/dist/src/sources/torrentproject.d.ts +11 -0
  106. package/dist/src/sources/torrentproject.d.ts.map +1 -0
  107. package/dist/src/sources/torrentproject.js +105 -0
  108. package/dist/src/sources/torrentproject.js.map +1 -0
  109. package/dist/src/sources/torrentscsv.d.ts +11 -0
  110. package/dist/src/sources/torrentscsv.d.ts.map +1 -0
  111. package/dist/src/sources/torrentscsv.js +62 -0
  112. package/dist/src/sources/torrentscsv.js.map +1 -0
  113. package/dist/src/sources/yts.d.ts +12 -0
  114. package/dist/src/sources/yts.d.ts.map +1 -0
  115. package/dist/src/sources/yts.js +88 -0
  116. package/dist/src/sources/yts.js.map +1 -0
  117. package/dist/src/types.d.ts +60 -0
  118. package/dist/src/types.d.ts.map +1 -0
  119. package/dist/src/types.js +3 -0
  120. package/dist/src/types.js.map +1 -0
  121. package/output.txt +0 -0
  122. package/package.json +6 -7
  123. package/scripts/build.js +9 -0
  124. package/sources.json +1 -1
  125. package/src/cli/display.ts +60 -57
  126. package/src/cli/parser.ts +1 -1
  127. package/src/commands/download.ts +1 -1
  128. package/src/download/engine.ts +1 -1
  129. package/bin/tordl.js +0 -5
  130. package/dist/bin/torrent-cli.js +0 -5
@@ -1,58 +1,61 @@
1
- import chalk from 'chalk';
2
- import { TorrentResult } from '../types';
3
-
4
- export function displayResults(results: TorrentResult[]): void {
5
- if (results.length === 0) {
6
- console.log(chalk.yellow('No results found.'));
7
- return;
8
- }
9
-
10
- const out = (s: string) => process.stdout.write(s + '\n');
11
-
12
- out('\n' + [
13
- '┌─────┬───────────────────────────────────────┬────────┬───────┬───────┬────────┐',
14
- ' Num │ Name │ Size │ Seeds │ Leech │ Source │',
15
- '├─────┼───────────────────────────────────────┼────────┼───────┼───────┼────────┤'
16
- ].join('\n'));
17
-
18
- for (const r of results) {
19
- const name = r.name.length > 38 ? r.name.substring(0, 35) + '...' : r.name;
20
- const size = r.size ? r.size.slice(0, 6).padEnd(6) : 'N/A ';
21
- const seeds = r.seeds.toString().padStart(5);
22
- const peers = r.peers.toString().padStart(5);
23
- const source = (r.source || 'unknown').slice(0, 6).padEnd(6);
24
- const num = r.num.toString().padStart(3);
25
-
26
- out(`│ ${num} ${name.padEnd(38)} │ ${size} │ ${seeds} │ ${peers} │ ${source} │`);
27
- }
28
-
29
- out('└─────┴───────────────────────────────────────┴────────┴───────┴───────┴────────┘');
30
- out('');
31
- out('To download: tordl <number>');
32
- }
33
-
34
- export function displayResultDetails(result: TorrentResult): void {
35
- console.log(chalk.bold('\n--- Torrent Details ---'));
36
- console.log(chalk.white('Name: ') + result.name);
37
- console.log(chalk.white('Size: ') + result.size);
38
- console.log(chalk.white('Seeds: ') + chalk.green(result.seeds.toString()));
39
- console.log(chalk.white('Peers: ') + result.peers.toString());
40
- console.log(chalk.white('Source: ') + result.source);
41
- console.log(chalk.white('URL: ') + result.url);
42
- if (result.magnet) {
43
- console.log(chalk.white('Magnet: ') + chalk.cyan(result.magnet.substring(0, 60) + '...'));
44
- }
45
- console.log(chalk.bold('----------------------\n'));
46
- }
47
-
48
- export function displayError(message: string): void {
49
- console.error(chalk.red('Error: ') + message);
50
- }
51
-
52
- export function displaySuccess(message: string): void {
53
- console.log(chalk.green('✓ ') + message);
54
- }
55
-
56
- export function displayInfo(message: string): void {
57
- console.log(chalk.blue('ℹ ') + message);
1
+ import chalk from 'chalk';
2
+ import { TorrentResult } from '../types';
3
+
4
+ (chalk as any).level = 1;
5
+
6
+ export function displayResults(results: TorrentResult[]): void {
7
+ if (results.length === 0) {
8
+ console.log(chalk.yellow('No results found.'));
9
+ return;
10
+ }
11
+
12
+ const out = (s: string) => process.stdout.write(s + '\n');
13
+
14
+ out('\n' + [
15
+ '┌─────┬────────────────────────────────────────┬────────┬───────┬───────┬────────┐',
16
+ '│ Num │ Name │ Size │ Seeds │ Leech │ Source │',
17
+ '├─────┼────────────────────────────────────────┼────────┼───────┼───────┼────────┤'
18
+ ].join('\n'));
19
+
20
+ for (const r of results) {
21
+ const name = r.name.length > 38 ? r.name.substring(0, 35) + '...' : r.name;
22
+ const size = r.size ? r.size.slice(0, 6).padEnd(6) : 'N/A ';
23
+ const seeds = r.seeds > 100 ? chalk.green(r.seeds.toString().padStart(5)) : r.seeds > 50 ? chalk.yellow(r.seeds.toString().padStart(5)) : r.seeds.toString().padStart(5);
24
+ const peers = r.peers > 50 ? chalk.cyan(r.peers.toString().padStart(5)) : r.peers.toString().padStart(5);
25
+ const source = (r.source || 'unknown').slice(0, 6).padEnd(6);
26
+ const num = chalk.cyan(r.num.toString().padStart(3));
27
+
28
+ out(`│ ${num} │ ${name.padEnd(38)} │ ${size} │ ${seeds} │ ${peers} │ ${source} │`);
29
+ }
30
+
31
+ out('├─────┼────────────────────────────────────────┼────────┼───────┼───────┼────────┤');
32
+ out('└─────┴────────────────────────────────────────┴────────┴───────┴───────┴────────┘');
33
+ out('');
34
+ out('To download: tor-dl <number>');
35
+ }
36
+
37
+ export function displayResultDetails(result: TorrentResult): void {
38
+ console.log(chalk.bold('\n--- Torrent Details ---'));
39
+ console.log(chalk.white('Name: ') + result.name);
40
+ console.log(chalk.white('Size: ') + result.size);
41
+ console.log(chalk.white('Seeds: ') + chalk.green(result.seeds.toString()));
42
+ console.log(chalk.white('Peers: ') + result.peers.toString());
43
+ console.log(chalk.white('Source: ') + result.source);
44
+ console.log(chalk.white('URL: ') + result.url);
45
+ if (result.magnet) {
46
+ console.log(chalk.white('Magnet: ') + chalk.cyan(result.magnet.substring(0, 60) + '...'));
47
+ }
48
+ console.log(chalk.bold('----------------------\n'));
49
+ }
50
+
51
+ export function displayError(message: string): void {
52
+ console.error(chalk.red('Error: ') + message);
53
+ }
54
+
55
+ export function displaySuccess(message: string): void {
56
+ console.log(chalk.green('✓ ') + message);
57
+ }
58
+
59
+ export function displayInfo(message: string): void {
60
+ console.log(chalk.blue('ℹ ') + message);
58
61
  }
package/src/cli/parser.ts CHANGED
@@ -23,7 +23,7 @@ export function createParser(): Command {
23
23
  const program = new Command();
24
24
 
25
25
  program
26
- .name('tordl')
26
+ .name('tor-dl')
27
27
  .description('CLI torrent search and download tool')
28
28
  .version('1.0.0')
29
29
  .hook('preAction', (thisCommand) => {
@@ -6,7 +6,7 @@ export async function downloadCommand(number: number, savePath?: string): Promis
6
6
  const results = getCachedResults();
7
7
 
8
8
  if (results.length === 0) {
9
- displayError('No search results found. Run "tordl search <query>" first.');
9
+ displayError('No search results found. Run "tor-dl search <query>" first.');
10
10
  process.exit(1);
11
11
  }
12
12
 
@@ -165,7 +165,7 @@ export async function downloadByNumber(
165
165
  const results = getCachedResults();
166
166
 
167
167
  if (results.length === 0) {
168
- throw new Error('No search results. Run "tordl search" first.');
168
+ throw new Error('No search results. Run "tor-dl search" first.');
169
169
  }
170
170
 
171
171
  if (number < 1 || number > results.length) {
package/bin/tordl.js DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
- const { createParser } = require('../dist/cli/parser');
3
-
4
- const program = createParser();
5
- program.parse(process.argv);
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
- const { createParser } = require('../cli/parser');
3
-
4
- const program = createParser();
5
- program.parse(process.argv);