cross-seed 6.13.6 → 7.0.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 (247) hide show
  1. package/README.md +12 -13
  2. package/dist/Result.d.ts +27 -0
  3. package/dist/action.d.ts +34 -0
  4. package/dist/action.js +2 -1
  5. package/dist/action.js.map +1 -1
  6. package/dist/arr.d.ts +31 -0
  7. package/dist/arr.js +107 -39
  8. package/dist/arr.js.map +1 -1
  9. package/dist/auth.d.ts +3 -0
  10. package/dist/auth.js +9 -6
  11. package/dist/auth.js.map +1 -1
  12. package/dist/clients/Deluge.d.ts +153 -0
  13. package/dist/clients/Deluge.js +6 -6
  14. package/dist/clients/Deluge.js.map +1 -1
  15. package/dist/clients/QBittorrent.d.ts +218 -0
  16. package/dist/clients/RTorrent.d.ts +43 -0
  17. package/dist/clients/RTorrent.js +6 -3
  18. package/dist/clients/RTorrent.js.map +1 -1
  19. package/dist/clients/TorrentClient.d.ts +108 -0
  20. package/dist/clients/TorrentClient.js +136 -67
  21. package/dist/clients/TorrentClient.js.map +1 -1
  22. package/dist/clients/Transmission.d.ts +43 -0
  23. package/dist/clients/Transmission.js +2 -2
  24. package/dist/clients/Transmission.js.map +1 -1
  25. package/dist/cmd.d.ts +2 -0
  26. package/dist/cmd.js +42 -110
  27. package/dist/cmd.js.map +1 -1
  28. package/dist/configSchema.d.ts +1 -0
  29. package/dist/configSchema.js +1 -666
  30. package/dist/configSchema.js.map +1 -1
  31. package/dist/configuration.d.ts +63 -0
  32. package/dist/configuration.js +263 -24
  33. package/dist/configuration.js.map +1 -1
  34. package/dist/constants.d.ts +108 -0
  35. package/dist/constants.js +2 -32
  36. package/dist/constants.js.map +1 -1
  37. package/dist/dataFiles.d.ts +8 -0
  38. package/dist/dataFiles.js +21 -6
  39. package/dist/dataFiles.js.map +1 -1
  40. package/dist/db.d.ts +3 -0
  41. package/dist/dbConfig.d.ts +4 -0
  42. package/dist/dbConfig.js +67 -0
  43. package/dist/dbConfig.js.map +1 -0
  44. package/dist/decide.d.ts +25 -0
  45. package/dist/decide.js +4 -4
  46. package/dist/decide.js.map +1 -1
  47. package/dist/diff.d.ts +1 -0
  48. package/dist/errors.d.ts +3 -0
  49. package/dist/errors.js +0 -9
  50. package/dist/errors.js.map +1 -1
  51. package/dist/indexers.d.ts +105 -0
  52. package/dist/indexers.js +82 -14
  53. package/dist/indexers.js.map +1 -1
  54. package/dist/inject.d.ts +2 -0
  55. package/dist/jobs.d.ts +29 -0
  56. package/dist/jobs.js +14 -9
  57. package/dist/jobs.js.map +1 -1
  58. package/dist/logger.d.ts +29 -0
  59. package/dist/logger.js +18 -4
  60. package/dist/logger.js.map +1 -1
  61. package/dist/migrations/00-initialSchema.d.ts +9 -0
  62. package/dist/migrations/01-jobs.d.ts +9 -0
  63. package/dist/migrations/02-timestamps.d.ts +9 -0
  64. package/dist/migrations/03-rateLimits.d.ts +9 -0
  65. package/dist/migrations/04-auth.d.ts +9 -0
  66. package/dist/migrations/04-auth.js +1 -1
  67. package/dist/migrations/04-auth.js.map +1 -1
  68. package/dist/migrations/05-caps.d.ts +9 -0
  69. package/dist/migrations/06-uniqueDecisions.d.ts +9 -0
  70. package/dist/migrations/07-limits.d.ts +9 -0
  71. package/dist/migrations/08-rss.d.ts +9 -0
  72. package/dist/migrations/09-clientAndDataSearchees.d.ts +9 -0
  73. package/dist/migrations/10-indexerNameAudioBookCaps.d.ts +9 -0
  74. package/dist/migrations/11-trackers.d.ts +9 -0
  75. package/dist/migrations/12-user-auth.d.ts +9 -0
  76. package/dist/migrations/12-user-auth.js +22 -0
  77. package/dist/migrations/12-user-auth.js.map +1 -0
  78. package/dist/migrations/13-settings.d.ts +9 -0
  79. package/dist/migrations/13-settings.js +23 -0
  80. package/dist/migrations/13-settings.js.map +1 -0
  81. package/dist/migrations/14-indexer-enabled-flag.d.ts +9 -0
  82. package/dist/migrations/14-indexer-enabled-flag.js +12 -0
  83. package/dist/migrations/14-indexer-enabled-flag.js.map +1 -0
  84. package/dist/migrations/15-remove-url-unique-constraint.d.ts +9 -0
  85. package/dist/migrations/15-remove-url-unique-constraint.js +14 -0
  86. package/dist/migrations/15-remove-url-unique-constraint.js.map +1 -0
  87. package/dist/migrations/16-prune-inactive-indexers.d.ts +9 -0
  88. package/dist/migrations/16-prune-inactive-indexers.js +17 -0
  89. package/dist/migrations/16-prune-inactive-indexers.js.map +1 -0
  90. package/dist/migrations/migrations.d.ts +13 -0
  91. package/dist/migrations/migrations.js +10 -0
  92. package/dist/migrations/migrations.js.map +1 -1
  93. package/dist/parseTorrent.d.ts +53 -0
  94. package/dist/pipeline.d.ts +41 -0
  95. package/dist/pipeline.js +57 -10
  96. package/dist/pipeline.js.map +1 -1
  97. package/dist/preFilter.d.ts +25 -0
  98. package/dist/preFilter.js +15 -15
  99. package/dist/preFilter.js.map +1 -1
  100. package/dist/problems/linking.d.ts +2 -0
  101. package/dist/problems/linking.js +80 -0
  102. package/dist/problems/linking.js.map +1 -0
  103. package/dist/problems/path.d.ts +22 -0
  104. package/dist/problems/path.js +96 -0
  105. package/dist/problems/path.js.map +1 -0
  106. package/dist/problems.d.ts +13 -0
  107. package/dist/problems.js +48 -0
  108. package/dist/problems.js.map +1 -0
  109. package/dist/pushNotifier.d.ts +19 -0
  110. package/dist/routes/baseApi.d.ts +2 -0
  111. package/dist/routes/baseApi.js +354 -0
  112. package/dist/routes/baseApi.js.map +1 -0
  113. package/dist/routes/indexerApi.d.ts +6 -0
  114. package/dist/routes/indexerApi.js +165 -0
  115. package/dist/routes/indexerApi.js.map +1 -0
  116. package/dist/routes/staticFrontendPlugin.d.ts +4 -0
  117. package/dist/routes/staticFrontendPlugin.js +61 -0
  118. package/dist/routes/staticFrontendPlugin.js.map +1 -0
  119. package/dist/runtimeConfig.d.ts +6 -0
  120. package/dist/runtimeConfig.js +17 -1
  121. package/dist/runtimeConfig.js.map +1 -1
  122. package/dist/searchee.d.ts +108 -0
  123. package/dist/searchee.js +36 -5
  124. package/dist/searchee.js.map +1 -1
  125. package/dist/server.d.ts +4 -0
  126. package/dist/server.js +38 -429
  127. package/dist/server.js.map +1 -1
  128. package/dist/services/indexerService.d.ts +96 -0
  129. package/dist/services/indexerService.js +287 -0
  130. package/dist/services/indexerService.js.map +1 -0
  131. package/dist/sessionCookies.d.ts +5 -0
  132. package/dist/sessionCookies.js +27 -0
  133. package/dist/sessionCookies.js.map +1 -0
  134. package/dist/startup.d.ts +25 -0
  135. package/dist/startup.js +105 -151
  136. package/dist/startup.js.map +1 -1
  137. package/dist/torrent.d.ts +69 -0
  138. package/dist/torrent.js +17 -13
  139. package/dist/torrent.js.map +1 -1
  140. package/dist/torznab.d.ts +60 -0
  141. package/dist/torznab.js +14 -89
  142. package/dist/torznab.js.map +1 -1
  143. package/dist/trpc/fastifyAdapter.d.ts +2 -0
  144. package/dist/trpc/fastifyAdapter.js +9 -0
  145. package/dist/trpc/fastifyAdapter.js.map +1 -0
  146. package/dist/trpc/index.d.ts +49 -0
  147. package/dist/trpc/index.js +53 -0
  148. package/dist/trpc/index.js.map +1 -0
  149. package/dist/trpc/routers/auth.d.ts +43 -0
  150. package/dist/trpc/routers/auth.js +116 -0
  151. package/dist/trpc/routers/auth.js.map +1 -0
  152. package/dist/trpc/routers/clients.d.ts +21 -0
  153. package/dist/trpc/routers/clients.js +65 -0
  154. package/dist/trpc/routers/clients.js.map +1 -0
  155. package/dist/trpc/routers/health.d.ts +14 -0
  156. package/dist/trpc/routers/health.js +20 -0
  157. package/dist/trpc/routers/health.js.map +1 -0
  158. package/dist/trpc/routers/index.d.ts +391 -0
  159. package/dist/trpc/routers/index.js +23 -0
  160. package/dist/trpc/routers/index.js.map +1 -0
  161. package/dist/trpc/routers/indexers.d.ts +75 -0
  162. package/dist/trpc/routers/indexers.js +79 -0
  163. package/dist/trpc/routers/indexers.js.map +1 -0
  164. package/dist/trpc/routers/jobs.d.ts +33 -0
  165. package/dist/trpc/routers/jobs.js +84 -0
  166. package/dist/trpc/routers/jobs.js.map +1 -0
  167. package/dist/trpc/routers/logs.d.ts +27 -0
  168. package/dist/trpc/routers/logs.js +91 -0
  169. package/dist/trpc/routers/logs.js.map +1 -0
  170. package/dist/trpc/routers/searchees.d.ts +51 -0
  171. package/dist/trpc/routers/searchees.js +156 -0
  172. package/dist/trpc/routers/searchees.js.map +1 -0
  173. package/dist/trpc/routers/settings.d.ts +83 -0
  174. package/dist/trpc/routers/settings.js +92 -0
  175. package/dist/trpc/routers/settings.js.map +1 -0
  176. package/dist/trpc/routers/stats.d.ts +42 -0
  177. package/dist/trpc/routers/stats.js +102 -0
  178. package/dist/trpc/routers/stats.js.map +1 -0
  179. package/dist/userAuth.d.ts +21 -0
  180. package/dist/userAuth.js +86 -0
  181. package/dist/userAuth.js.map +1 -0
  182. package/dist/utils/authUtils.d.ts +10 -0
  183. package/dist/utils/authUtils.js +24 -0
  184. package/dist/utils/authUtils.js.map +1 -0
  185. package/dist/utils/logWatcher.d.ts +28 -0
  186. package/dist/utils/logWatcher.js +218 -0
  187. package/dist/utils/logWatcher.js.map +1 -0
  188. package/dist/utils/object.d.ts +1 -0
  189. package/dist/utils/object.js +4 -0
  190. package/dist/utils/object.js.map +1 -0
  191. package/dist/utils.d.ts +175 -0
  192. package/dist/utils.js +61 -38
  193. package/dist/utils.js.map +1 -1
  194. package/dist/webui/assets/FieldInfo-Bxj_j8SJ.js +1 -0
  195. package/dist/webui/assets/Page-C3rteCZt.js +1 -0
  196. package/dist/webui/assets/array-field-DVSC6nHP.js +1 -0
  197. package/dist/webui/assets/badge-DTZMtS0e.js +1 -0
  198. package/dist/webui/assets/check-Bu3ldi63.js +1 -0
  199. package/dist/webui/assets/chevron-down-CRy8M0kJ.js +1 -0
  200. package/dist/webui/assets/clients-CW8oEZoQ.js +1 -0
  201. package/dist/webui/assets/connect-YBNsnjWT.js +1 -0
  202. package/dist/webui/assets/debug-mz8-WYZj.js +1 -0
  203. package/dist/webui/assets/directories-BSK28RgR.js +1 -0
  204. package/dist/webui/assets/duration-field-C6xoSlJg.js +1 -0
  205. package/dist/webui/assets/general-lJJxZhH7.js +1 -0
  206. package/dist/webui/assets/health-CXbsVrie.js +1 -0
  207. package/dist/webui/assets/index-Bi48hI2z.js +54 -0
  208. package/dist/webui/assets/index-C-Ul7GNg.css +1 -0
  209. package/dist/webui/assets/index-C2cH1Gst.js +1 -0
  210. package/dist/webui/assets/index-Cc5bDmJr.js +1 -0
  211. package/dist/webui/assets/jobs-CxmNab9w.js +1 -0
  212. package/dist/webui/assets/library-vaj2W8sE.js +1 -0
  213. package/dist/webui/assets/loader-circle-M0gu1gZ-.js +1 -0
  214. package/dist/webui/assets/logs-Cu9RyKS0.js +1 -0
  215. package/dist/webui/assets/search-2R5sIdT8.js +1 -0
  216. package/dist/webui/assets/select-field-BCqNLDrJ.js +1 -0
  217. package/dist/webui/assets/select-zHgqMzLj.js +1 -0
  218. package/dist/webui/assets/settings-CMYjpTbZ.js +1 -0
  219. package/dist/webui/assets/submit-button-BtcnyggQ.js +1 -0
  220. package/dist/webui/assets/switch-G0W3uJVN.js +1 -0
  221. package/dist/webui/assets/switch-field-IBd9ORNq.js +1 -0
  222. package/dist/webui/assets/table-DvgJU7Gh.js +1 -0
  223. package/dist/webui/assets/test-tube-BIwmoM45.js +1 -0
  224. package/dist/webui/assets/text-field-DruSbGhy.js +1 -0
  225. package/dist/webui/assets/time-BSMZjmyW.js +1 -0
  226. package/dist/webui/assets/trackers-D-OpAe63.js +7 -0
  227. package/dist/webui/assets/use-form-validation-context-BkAfWAh0.js +1 -0
  228. package/dist/webui/assets/use-settings-form-submit-CDRh-E9U.js +2 -0
  229. package/dist/webui/assets/useQuery-A4Hv_4uX.js +1 -0
  230. package/dist/webui/index.html +13 -0
  231. package/node_modules/@cross-seed/shared/dist/configSchema.d.ts +261 -0
  232. package/node_modules/@cross-seed/shared/dist/configSchema.d.ts.map +1 -0
  233. package/node_modules/@cross-seed/shared/dist/configSchema.js +53 -0
  234. package/node_modules/@cross-seed/shared/dist/configSchema.js.map +1 -0
  235. package/node_modules/@cross-seed/shared/dist/constants.d.ts +122 -0
  236. package/node_modules/@cross-seed/shared/dist/constants.d.ts.map +1 -0
  237. package/node_modules/@cross-seed/shared/dist/constants.js +127 -0
  238. package/node_modules/@cross-seed/shared/dist/constants.js.map +1 -0
  239. package/node_modules/@cross-seed/shared/dist/tsconfig.tsbuildinfo +1 -0
  240. package/node_modules/@cross-seed/shared/dist/utils.d.ts +6 -0
  241. package/node_modules/@cross-seed/shared/dist/utils.d.ts.map +1 -0
  242. package/node_modules/@cross-seed/shared/dist/utils.js +9 -0
  243. package/node_modules/@cross-seed/shared/dist/utils.js.map +1 -0
  244. package/node_modules/@cross-seed/shared/package.json +22 -0
  245. package/package.json +35 -11
  246. package/dist/config.template.cjs +0 -353
  247. package/dist/config.template.cjs.map +0 -1
package/dist/cmd.js CHANGED
@@ -2,12 +2,10 @@
2
2
  import chalk from "chalk";
3
3
  import { Option, program } from "commander";
4
4
  import { getApiKey, resetApiKey } from "./auth.js";
5
- import { generateConfig, getFileConfig } from "./configuration.js";
6
- import { Action, LinkType, MatchMode, PROGRAM_NAME, PROGRAM_VERSION, } from "./constants.js";
5
+ import { PROGRAM_NAME, PROGRAM_VERSION } from "./constants.js";
7
6
  import { db } from "./db.js";
8
7
  import { updateTorrentCache } from "./decide.js";
9
8
  import { diffCmd } from "./diff.js";
10
- import { CrossSeedError } from "./errors.js";
11
9
  import { clearIndexerFailures } from "./indexers.js";
12
10
  import { injectSavedTorrents, restoreFromTorrentCache } from "./inject.js";
13
11
  import { jobsLoop } from "./jobs.js";
@@ -16,99 +14,11 @@ import { sendTestNotification } from "./pushNotifier.js";
16
14
  import { serve } from "./server.js";
17
15
  import { withFullRuntime, withMinimalRuntime } from "./startup.js";
18
16
  import { indexTorrentsAndDataDirs, parseTorrentFromPath } from "./torrent.js";
19
- import { fallback } from "./utils.js";
20
- let fileConfig;
21
- try {
22
- fileConfig = await getFileConfig();
23
- }
24
- catch (e) {
25
- if (e instanceof CrossSeedError) {
26
- console.error(e.message);
27
- process.exit(1);
28
- }
29
- throw e;
30
- }
31
- const apiKeyOption = new Option("--api-key <key>", "Provide your own API key to override the autogenerated one.").default(fileConfig.apiKey);
32
- function createCommandWithSharedOptions(name, description) {
33
- return program
34
- .command(name)
35
- .description(description)
36
- .option("-T, --torznab <urls...>", "Torznab urls with apikey included (separated by spaces)",
37
- // @ts-expect-error commander supports non-string defaults
38
- fallback(fileConfig.torznab))
39
- .option("--use-client-torrents", "Use torrents from your client for matching", fallback(fileConfig.useClientTorrents, false))
40
- .option("--no-use-client-torrents", "Don't use torrents from your client for matching")
41
- .option("--ignore-non-relevant-files-to-resume", "Ignore certain known irrelevant files when calculating resume size", fallback(fileConfig.ignoreNonRelevantFilesToResume, false))
42
- .option("--no-ignore-non-relevant-files-to-resume", "Don't ignore certain known irrelevant files when calculating resume size")
43
- .option("--data-dirs <dirs...>", "Directories to use if searching by data instead of torrents (separated by spaces)",
44
- // @ts-expect-error commander supports non-string defaults
45
- fallback(fileConfig.dataDirs))
46
- .addOption(new Option("--match-mode <mode>", `"strict" will require all file names to match exactly. "flexible" allows for file renames. "partial" is like "flexible" but it ignores small files like .nfo/.srt if missing.`)
47
- .default(fallback(fileConfig.matchMode, MatchMode.STRICT))
48
- .choices(Object.values(MatchMode))
49
- .makeOptionMandatory())
50
- .option("--skip-recheck", "Skip rechecking torrents before resuming, unless necessary.", fallback(fileConfig.skipRecheck, true))
51
- .option("--no-skip-recheck", "Recheck every torrent before resuming, even if unnecessary.")
52
- .option("--auto-resume-max-download <number>", "The maximum size in bytes remaining for a torrent to be resumed", parseInt, fallback(fileConfig.autoResumeMaxDownload, 52428800))
53
- .option("--link-category <cat>", "Torrent client category to set on linked torrents", fallback(fileConfig.linkCategory, "cross-seed-link"))
54
- .option("--link-dir <dir>", "Directory to link the data for matches to", fileConfig.linkDir)
55
- .option("--link-dirs <dirs...>", "Directories to link the data for matches to",
56
- // @ts-expect-error commander supports non-string defaults
57
- fallback(fileConfig.linkDirs))
58
- .option("--flat-linking", "Use flat linking directory structure (without individual tracker folders)", fallback(fileConfig.flatLinking, false))
59
- .addOption(new Option("--link-type <type>", "Use links of this type to inject data-based matches into your client")
60
- .default(fallback(fileConfig.linkType, LinkType.SYMLINK))
61
- .choices(Object.values(LinkType))
62
- .makeOptionMandatory())
63
- .option("--max-data-depth <depth>", "Max depth to look for searchees in dataDirs", (n) => parseInt(n), fallback(fileConfig.maxDataDepth, 2))
64
- .option("-i, --torrent-dir <dir>", "Directory with torrent files", fileConfig.torrentDir)
65
- .option("-s, --output-dir <dir>", "Directory to save results in", fileConfig.outputDir)
66
- .option("--include-non-videos", "Include torrents which contain non-video files", fallback(fileConfig.includeNonVideos, false))
67
- .option("--no-include-non-videos", "Don't include torrents which contain non-videos")
68
- .option("--include-single-episodes", "Include single episode torrents in the search", fallback(fileConfig.includeSingleEpisodes, false))
69
- .option("--no-include-single-episodes", "Don't include single episode torrents in the search")
70
- .option("--season-from-episodes <decimal>", "Match season packs from episode torrents", parseFloat, fallback(fileConfig.seasonFromEpisodes, null))
71
- .option("--no-season-from-episodes", "Don't match season packs from episode torrents")
72
- .option("--fuzzy-size-threshold <decimal>", "The size difference allowed to be considered a match.", parseFloat, fallback(fileConfig.fuzzySizeThreshold, 0.02))
73
- .option("-x, --exclude-older <cutoff>", "Exclude torrents first seen more than n minutes ago. Bypasses the -a flag.", fileConfig.excludeOlder)
74
- .option("-r, --exclude-recent-search <cutoff>", "Exclude torrents which have been searched more recently than n minutes ago. Bypasses the -a flag.", fileConfig.excludeRecentSearch)
75
- .option("-v, --verbose", "Log verbose output", false)
76
- .addOption(new Option("-A, --action <action>", "If set to 'inject', cross-seed will attempt to add the found torrents to your torrent client.")
77
- .default(fallback(fileConfig.action, Action.SAVE))
78
- .choices(Object.values(Action)))
79
- .option("--torrent-clients <clients...>", "The the client prefix, readonly status, and urls of your torrent clients.",
80
- // @ts-expect-error commander supports non-string defaults
81
- fallback(fileConfig.torrentClients, []))
82
- .option("--rtorrent-rpc-url <url>", "The url of your rtorrent XMLRPC interface.", fileConfig.rtorrentRpcUrl)
83
- .option("--qbittorrent-url <url>", "The url of your qBittorrent webui.", fileConfig.qbittorrentUrl)
84
- .option("--transmission-rpc-url <url>", "The url of your Transmission RPC interface.", fileConfig.transmissionRpcUrl)
85
- .option("--deluge-rpc-url <url>", "The url of your Deluge JSON-RPC interface.", fileConfig.delugeRpcUrl)
86
- .option("--duplicate-categories", "Create and inject using categories with the same save paths as your normal categories", fallback(fileConfig.duplicateCategories, false))
87
- .option("--notification-webhook-urls <urls...>", "cross-seed will send POST requests to these urls with a JSON payload of { title, body, extra }",
88
- // @ts-expect-error commander supports non-string defaults
89
- fileConfig.notificationWebhookUrls)
90
- .option("--notification-webhook-url <url>", "cross-seed will send POST requests to this url with a JSON payload of { title, body, extra }", fileConfig.notificationWebhookUrl)
91
- .option("-d, --delay <delay>", "Pause duration (seconds) between searches", parseFloat, fallback(fileConfig.delay, 30))
92
- .option("--snatch-timeout <timeout>", "Timeout for unresponsive snatches", fallback(fileConfig.snatchTimeout, "30 seconds"))
93
- .option("--search-timeout <timeout>", "Timeout for unresponsive searches", fallback(fileConfig.searchTimeout, "2 minutes"))
94
- .option("--search-limit <number>", "The number of searches before stops", (n) => parseInt(n), fallback(fileConfig.searchLimit, 0))
95
- .option("--block-list <strings...>", "The infohashes and/or strings in torrent name to block from cross-seed",
96
- // @ts-expect-error commander supports non-string defaults
97
- fallback(fileConfig.blockList, []))
98
- .option("--sonarr <urls...>", "Sonarr API URL(s)",
99
- // @ts-expect-error commander supports non-string defaults
100
- fileConfig.sonarr)
101
- .option("--radarr <urls...>", "Radarr API URL(s)",
102
- // @ts-expect-error commander supports non-string defaults
103
- fileConfig.radarr);
104
- }
17
+ import { resetUsers } from "./userAuth.js";
18
+ const verboseOption = new Option("-v, --verbose", "Log verbose output").default(false);
105
19
  program.name(PROGRAM_NAME);
106
20
  program.description(chalk.yellow.bold(`${PROGRAM_NAME} v${PROGRAM_VERSION}`));
107
21
  program.version(PROGRAM_VERSION, "-V, --version", "output the current version");
108
- program
109
- .command("gen-config")
110
- .description("Generate a config file")
111
- .action(withMinimalRuntime(generateConfig));
112
22
  program
113
23
  .command("update-torrent-cache-trackers")
114
24
  .description("Update announce urls in the torrent cache")
@@ -157,40 +67,62 @@ program
157
67
  program
158
68
  .command("api-key")
159
69
  .description("Show the api key")
160
- .addOption(apiKeyOption)
70
+ .addOption(new Option("--api-key <key>", "Provide your own API key to override the autogenerated one."))
161
71
  .action(withMinimalRuntime(getApiKey));
162
72
  program
163
73
  .command("reset-api-key")
164
74
  .description("Reset the api key")
165
75
  .action(withMinimalRuntime(resetApiKey));
166
- createCommandWithSharedOptions("daemon", "Start the cross-seed daemon")
167
- .option("-p, --port <port>", "Listen on a custom port", (n) => parseInt(n), fallback(fileConfig.port, 2468))
168
- .option("--host <host>", "Bind to a specific IP address", fileConfig.host)
76
+ program
77
+ .command("reset-user")
78
+ .description("Delete all users and sessions")
79
+ .action(withMinimalRuntime(resetUsers));
80
+ program
81
+ .command("daemon")
82
+ .description("Start the cross-seed daemon")
83
+ .option("-p, --port <port>", "Listen on a custom port", (n) => parseInt(n))
84
+ .option("--host <host>", "Bind to a specific IP address")
85
+ .option("--base-path <path>", "Serve cross-seed behind this base path", "")
169
86
  .option("--no-port", "Do not listen on any port")
170
- .option("--search-cadence <cadence>", "Run searches on a schedule. Format: https://github.com/vercel/ms", fileConfig.searchCadence)
171
- .option("--rss-cadence <cadence>", "Run an rss scan on a schedule. Format: https://github.com/vercel/ms", fileConfig.rssCadence)
172
- .addOption(apiKeyOption)
87
+ .addOption(verboseOption)
173
88
  .action(withFullRuntime(async (options) => {
89
+ const serverPromise = serve(options.port, options.host, options.basePath);
174
90
  await indexTorrentsAndDataDirs({ startup: true });
175
91
  // technically this will never resolve, but it's necessary to keep the process running
176
- await Promise.all([serve(options.port, options.host), jobsLoop()]);
92
+ await Promise.all([serverPromise, jobsLoop()]);
177
93
  }));
178
- createCommandWithSharedOptions("rss", "Run an rss scan").action(withFullRuntime(async () => {
94
+ program
95
+ .command("rss")
96
+ .description("Run an rss scan")
97
+ .addOption(verboseOption)
98
+ .action(withFullRuntime(async () => {
179
99
  await indexTorrentsAndDataDirs({ startup: true });
180
100
  await scanRssFeeds();
181
101
  }));
182
- createCommandWithSharedOptions("search", "Search for cross-seeds")
102
+ program
103
+ .command("search")
104
+ .description("Search for cross-seeds")
183
105
  .addOption(new Option("--torrents <torrents...>", "torrent files separated by spaces").hideHelp())
184
- .option("--no-exclude-older", "Don't Exclude torrents based on when they were first seen.")
185
- .option("--no-exclude-recent-search", "Don't Exclude torrents based on when they were last searched.")
106
+ .addOption(verboseOption)
186
107
  .action(withFullRuntime(() => bulkSearch()));
187
- createCommandWithSharedOptions("inject", "Inject saved cross-seeds into your client (without filtering, see docs)")
188
- .option("--inject-dir <dir>", "Directory of torrent files to try to inject", fallback(fileConfig.injectDir, fileConfig.outputDir))
189
- .option("--ignore-titles", "Searchee and candidate titles do not need to pass the fuzzy matching check (useful if `cross-seed inject` erroneously rejects by title)", fallback(fileConfig.ignoreTitles, false))
108
+ program
109
+ .command("inject")
110
+ .description("Inject saved cross-seeds into your client (without filtering, see docs)")
111
+ .option("--inject-dir <dir>", "Directory of torrent files to try to inject")
112
+ .option("--ignore-titles", "Searchee and candidate titles do not need to pass the fuzzy matching check (useful if `cross-seed inject` erroneously rejects by title)")
190
113
  .option("--no-ignore-titles", "Searchee and candidate titles need to pass the fuzzy matching check (default)")
114
+ .addOption(verboseOption)
191
115
  .action(withFullRuntime(injectSavedTorrents));
192
- createCommandWithSharedOptions("restore", "Use snatched torrents from torrent_cache to attempt to restore cross seeds. Will need to run `cross-seed inject` afterwards with dataDirs configured.").action(withFullRuntime(restoreFromTorrentCache));
193
- createCommandWithSharedOptions("test-notification", "Send a test notification").action(withFullRuntime(sendTestNotification));
116
+ program
117
+ .command("restore")
118
+ .description("Use snatched torrents from torrent_cache to attempt to restore cross seeds. Will need to run `cross-seed inject` afterwards with dataDirs configured.")
119
+ .addOption(verboseOption)
120
+ .action(withFullRuntime(restoreFromTorrentCache));
121
+ program
122
+ .command("test-notification")
123
+ .description("Send a test notification")
124
+ .addOption(verboseOption)
125
+ .action(withFullRuntime(sendTestNotification));
194
126
  program.showHelpAfterError("(add --help for additional information)");
195
127
  await program.parseAsync();
196
128
  //# sourceMappingURL=cmd.js.map
package/dist/cmd.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { RUNTIME_CONFIG_SCHEMA, RUNTIME_CONFIG_OVERRIDES_SCHEMA, parseRuntimeConfig, parseRuntimeConfigOverrides, } from "@cross-seed/shared/configSchema";