pixivflow 2.0.38 → 2.0.40
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/dist/cli/ArgumentParser.d.ts +2 -20
- package/dist/cli/ArgumentParser.d.ts.map +1 -1
- package/dist/cli/ArgumentParser.js +16 -29
- package/dist/cli/ArgumentParser.js.map +1 -1
- package/dist/commands/BackupCommand.d.ts +6 -0
- package/dist/commands/BackupCommand.d.ts.map +1 -1
- package/dist/commands/BackupCommand.js +6 -0
- package/dist/commands/BackupCommand.js.map +1 -1
- package/dist/commands/Command.d.ts +16 -0
- package/dist/commands/Command.d.ts.map +1 -1
- package/dist/commands/Command.js +9 -0
- package/dist/commands/Command.js.map +1 -1
- package/dist/commands/CommandRegistry.d.ts +24 -0
- package/dist/commands/CommandRegistry.d.ts.map +1 -1
- package/dist/commands/CommandRegistry.js +48 -0
- package/dist/commands/CommandRegistry.js.map +1 -1
- package/dist/commands/ConfigCommand.d.ts +6 -0
- package/dist/commands/ConfigCommand.d.ts.map +1 -1
- package/dist/commands/ConfigCommand.js +6 -0
- package/dist/commands/ConfigCommand.js.map +1 -1
- package/dist/commands/DirsCommand.d.ts +6 -0
- package/dist/commands/DirsCommand.d.ts.map +1 -1
- package/dist/commands/DirsCommand.js +6 -0
- package/dist/commands/DirsCommand.js.map +1 -1
- package/dist/commands/DownloadCommand.d.ts +6 -0
- package/dist/commands/DownloadCommand.d.ts.map +1 -1
- package/dist/commands/DownloadCommand.js +57 -3
- package/dist/commands/DownloadCommand.js.map +1 -1
- package/dist/commands/HealthCommand.d.ts +7 -0
- package/dist/commands/HealthCommand.d.ts.map +1 -1
- package/dist/commands/HealthCommand.js +7 -0
- package/dist/commands/HealthCommand.js.map +1 -1
- package/dist/commands/HelpCommand.d.ts +7 -0
- package/dist/commands/HelpCommand.d.ts.map +1 -1
- package/dist/commands/HelpCommand.js +22 -29
- package/dist/commands/HelpCommand.js.map +1 -1
- package/dist/commands/LoginCommand.d.ts +7 -0
- package/dist/commands/LoginCommand.d.ts.map +1 -1
- package/dist/commands/LoginCommand.js +7 -0
- package/dist/commands/LoginCommand.js.map +1 -1
- package/dist/commands/LoginHeadlessCommand.d.ts +7 -0
- package/dist/commands/LoginHeadlessCommand.d.ts.map +1 -1
- package/dist/commands/LoginHeadlessCommand.js +7 -0
- package/dist/commands/LoginHeadlessCommand.js.map +1 -1
- package/dist/commands/LogsCommand.d.ts +6 -0
- package/dist/commands/LogsCommand.d.ts.map +1 -1
- package/dist/commands/LogsCommand.js +6 -0
- package/dist/commands/LogsCommand.js.map +1 -1
- package/dist/commands/MaintainCommand.d.ts +6 -0
- package/dist/commands/MaintainCommand.d.ts.map +1 -1
- package/dist/commands/MaintainCommand.js +6 -0
- package/dist/commands/MaintainCommand.js.map +1 -1
- package/dist/commands/MigrateConfigCommand.d.ts +6 -0
- package/dist/commands/MigrateConfigCommand.d.ts.map +1 -1
- package/dist/commands/MigrateConfigCommand.js +6 -0
- package/dist/commands/MigrateConfigCommand.js.map +1 -1
- package/dist/commands/MonitorCommand.d.ts +6 -0
- package/dist/commands/MonitorCommand.d.ts.map +1 -1
- package/dist/commands/MonitorCommand.js +6 -0
- package/dist/commands/MonitorCommand.js.map +1 -1
- package/dist/commands/NormalizeCommand.d.ts +6 -0
- package/dist/commands/NormalizeCommand.d.ts.map +1 -1
- package/dist/commands/NormalizeCommand.js +6 -0
- package/dist/commands/NormalizeCommand.js.map +1 -1
- package/dist/commands/RandomDownloadCommand.d.ts +7 -1
- package/dist/commands/RandomDownloadCommand.d.ts.map +1 -1
- package/dist/commands/RandomDownloadCommand.js +7 -1
- package/dist/commands/RandomDownloadCommand.js.map +1 -1
- package/dist/commands/RefreshCommand.d.ts +12 -0
- package/dist/commands/RefreshCommand.d.ts.map +1 -1
- package/dist/commands/RefreshCommand.js +82 -0
- package/dist/commands/RefreshCommand.js.map +1 -1
- package/dist/commands/SchedulerCommand.d.ts +6 -0
- package/dist/commands/SchedulerCommand.d.ts.map +1 -1
- package/dist/commands/SchedulerCommand.js +7 -1
- package/dist/commands/SchedulerCommand.js.map +1 -1
- package/dist/commands/SetupCommand.d.ts +6 -0
- package/dist/commands/SetupCommand.d.ts.map +1 -1
- package/dist/commands/SetupCommand.js +6 -0
- package/dist/commands/SetupCommand.js.map +1 -1
- package/dist/commands/StatusCommand.d.ts +6 -0
- package/dist/commands/StatusCommand.d.ts.map +1 -1
- package/dist/commands/StatusCommand.js +6 -0
- package/dist/commands/StatusCommand.js.map +1 -1
- package/dist/commands/VersionCommand.d.ts +21 -0
- package/dist/commands/VersionCommand.d.ts.map +1 -0
- package/dist/commands/VersionCommand.js +81 -0
- package/dist/commands/VersionCommand.js.map +1 -0
- package/dist/commands/WebUICommand.d.ts +6 -0
- package/dist/commands/WebUICommand.d.ts.map +1 -1
- package/dist/commands/WebUICommand.js +6 -0
- package/dist/commands/WebUICommand.js.map +1 -1
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/metadata.d.ts +38 -0
- package/dist/commands/metadata.d.ts.map +1 -0
- package/dist/commands/metadata.js +42 -0
- package/dist/commands/metadata.js.map +1 -0
- package/dist/commands/suggestions.d.ts +22 -0
- package/dist/commands/suggestions.d.ts.map +1 -0
- package/dist/commands/suggestions.js +85 -0
- package/dist/commands/suggestions.js.map +1 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +11 -3
- package/dist/config/validation.js.map +1 -1
- package/dist/index.js +126 -320
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/pixiv/AuthClient.d.ts.map +1 -1
- package/dist/pixiv/AuthClient.js +56 -7
- package/dist/pixiv/AuthClient.js.map +1 -1
- package/dist/storage/Database.d.ts +22 -0
- package/dist/storage/Database.d.ts.map +1 -1
- package/dist/storage/Database.js +19 -0
- package/dist/storage/Database.js.map +1 -1
- package/dist/storage/DatabaseMigration.d.ts.map +1 -1
- package/dist/storage/DatabaseMigration.js +29 -0
- package/dist/storage/DatabaseMigration.js.map +1 -1
- package/dist/storage/repositories/TaskHistoryRepository.d.ts +61 -0
- package/dist/storage/repositories/TaskHistoryRepository.d.ts.map +1 -0
- package/dist/storage/repositories/TaskHistoryRepository.js +171 -0
- package/dist/storage/repositories/TaskHistoryRepository.js.map +1 -0
- package/dist/utils/errors.d.ts +14 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +35 -12
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/pixiv-url-parser.d.ts +7 -1
- package/dist/utils/pixiv-url-parser.d.ts.map +1 -1
- package/dist/utils/pixiv-url-parser.js +75 -8
- package/dist/utils/pixiv-url-parser.js.map +1 -1
- package/dist/utils/token-manager.d.ts.map +1 -1
- package/dist/utils/token-manager.js +73 -5
- package/dist/utils/token-manager.js.map +1 -1
- package/dist/webui/package.json +1 -1
- package/dist/webui/routes/download.d.ts.map +1 -1
- package/dist/webui/routes/download.js +2 -0
- package/dist/webui/routes/download.js.map +1 -1
- package/dist/webui/routes/handlers/download-basic-handlers.d.ts +11 -0
- package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
- package/dist/webui/routes/handlers/download-basic-handlers.js +199 -8
- package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
- package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
- package/dist/webui/services/DownloadTaskManager.js +75 -3
- package/dist/webui/services/DownloadTaskManager.js.map +1 -1
- package/package.json +1 -1
- package/dist/webui/assets/ActionButton-DWq-fh3_.js +0 -2
- package/dist/webui/assets/ActionButton-DWq-fh3_.js.map +0 -1
- package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js +0 -2
- package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js.map +0 -1
- package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js +0 -2
- package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js.map +0 -1
- package/dist/webui/assets/Config-D9TWUGQR.js +0 -16
- package/dist/webui/assets/Config-D9TWUGQR.js.map +0 -1
- package/dist/webui/assets/Dashboard-CaGAH0y2.js +0 -2
- package/dist/webui/assets/Dashboard-CaGAH0y2.js.map +0 -1
- package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js +0 -2
- package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js.map +0 -1
- package/dist/webui/assets/Download-D9E4xrnM.js +0 -2
- package/dist/webui/assets/Download-D9E4xrnM.js.map +0 -1
- package/dist/webui/assets/Files-CKyc_PdW.js +0 -5
- package/dist/webui/assets/Files-CKyc_PdW.js.map +0 -1
- package/dist/webui/assets/PictureOutlined-C8Lbucj1.js +0 -2
- package/dist/webui/assets/PictureOutlined-C8Lbucj1.js.map +0 -1
- package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js +0 -2
- package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js.map +0 -1
- package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js +0 -2
- package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js.map +0 -1
- package/dist/webui/assets/UrlDownload-ClkUOXN_.js +0 -3
- package/dist/webui/assets/UrlDownload-ClkUOXN_.js.map +0 -1
- package/dist/webui/assets/dateUtils-CBk8bEa_.js +0 -2
- package/dist/webui/assets/dateUtils-CBk8bEa_.js.map +0 -1
- package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js +0 -3
- package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js.map +0 -1
- package/dist/webui/assets/index-BFgUdwJv.js +0 -214
- package/dist/webui/assets/index-BFgUdwJv.js.map +0 -1
- package/dist/webui/assets/index-CN3FylAF.js +0 -2
- package/dist/webui/assets/index-CN3FylAF.js.map +0 -1
- package/dist/webui/assets/index-CSoUPZat.js +0 -2
- package/dist/webui/assets/index-CSoUPZat.js.map +0 -1
- package/dist/webui/assets/index-CiHwNwrk.js +0 -19
- package/dist/webui/assets/index-CiHwNwrk.js.map +0 -1
- package/dist/webui/assets/index-DHwJxrFi.css +0 -1
- package/dist/webui/assets/index-DTU-FGA4.js +0 -2
- package/dist/webui/assets/index-DTU-FGA4.js.map +0 -1
- package/dist/webui/assets/index-DjpD0HQ5.js +0 -2
- package/dist/webui/assets/index-DjpD0HQ5.js.map +0 -1
- package/dist/webui/assets/index-Dycn6xoz.js +0 -2
- package/dist/webui/assets/index-Dycn6xoz.js.map +0 -1
- package/dist/webui/assets/index-G0EJCamt.js +0 -22
- package/dist/webui/assets/index-G0EJCamt.js.map +0 -1
- package/dist/webui/assets/index-WaraZQH0.js +0 -2
- package/dist/webui/assets/index-WaraZQH0.js.map +0 -1
- package/dist/webui/assets/index-k2rGFxEM.js +0 -8
- package/dist/webui/assets/index-k2rGFxEM.js.map +0 -1
- package/dist/webui/assets/index-lwTtspUb.js +0 -14
- package/dist/webui/assets/index-lwTtspUb.js.map +0 -1
- package/dist/webui/assets/index-pT0W4KjK.js +0 -47
- package/dist/webui/assets/index-pT0W4KjK.js.map +0 -1
- package/dist/webui/assets/index-wvielV9A.js +0 -2
- package/dist/webui/assets/index-wvielV9A.js.map +0 -1
- package/dist/webui/assets/row-FRqVdQDX.js +0 -20
- package/dist/webui/assets/row-FRqVdQDX.js.map +0 -1
- package/dist/webui/assets/useAuth-BMt6dHSB.js +0 -9
- package/dist/webui/assets/useAuth-BMt6dHSB.js.map +0 -1
- package/dist/webui/assets/useConfig-29Ugtjk4.js +0 -9
- package/dist/webui/assets/useConfig-29Ugtjk4.js.map +0 -1
- package/dist/webui/assets/useDownload-Dt6lsP8S.js +0 -2
- package/dist/webui/assets/useDownload-Dt6lsP8S.js.map +0 -1
- package/dist/webui/assets/useErrorHandler-DWHs3RlU.js +0 -84
- package/dist/webui/assets/useErrorHandler-DWHs3RlU.js.map +0 -1
- package/dist/webui/index.html +0 -15
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,18 @@ export interface ParsedPixivUrl {
|
|
|
13
13
|
*
|
|
14
14
|
* Supported URL formats:
|
|
15
15
|
* - https://www.pixiv.net/artworks/{illustId}
|
|
16
|
+
* - https://www.pixiv.net/en/artworks/{illustId} (with language code)
|
|
17
|
+
* - https://www.pixiv.net/member_illust.php?mode=medium&illust_id={illustId} (legacy)
|
|
18
|
+
* - https://www.pixiv.net/i/{illustId} (short format)
|
|
16
19
|
* - https://www.pixiv.net/novel/show.php?id={novelId}
|
|
17
20
|
* - https://www.pixiv.net/novel/series/{seriesId}
|
|
18
21
|
* - https://www.pixiv.net/users/{userId}
|
|
22
|
+
* - https://www.pixiv.net/users/{userId}/artworks/{illustId}
|
|
23
|
+
* - https://www.pixiv.net/users/{userId}/novels/{novelId}
|
|
19
24
|
* - https://pixiv.net/artworks/{illustId} (without www)
|
|
25
|
+
* - Direct ID: {id} (treated as illustration)
|
|
20
26
|
*
|
|
21
|
-
* @param url Pixiv URL
|
|
27
|
+
* @param url Pixiv URL or direct ID
|
|
22
28
|
* @returns Parsed URL information or null if URL is invalid
|
|
23
29
|
*/
|
|
24
30
|
export declare function parsePixivUrl(url: string): ParsedPixivUrl | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixiv-url-parser.d.ts","sourceRoot":"","sources":["../../src/utils/pixiv-url-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"pixiv-url-parser.d.ts","sourceRoot":"","sources":["../../src/utils/pixiv-url-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAmJhE;AAuED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,YAAY,CAAC,EAAE,cAAc,GAAG,OAAO,GACtC;IAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CA+C3H"}
|
|
@@ -11,12 +11,18 @@ exports.parsedUrlToTargetConfig = parsedUrlToTargetConfig;
|
|
|
11
11
|
*
|
|
12
12
|
* Supported URL formats:
|
|
13
13
|
* - https://www.pixiv.net/artworks/{illustId}
|
|
14
|
+
* - https://www.pixiv.net/en/artworks/{illustId} (with language code)
|
|
15
|
+
* - https://www.pixiv.net/member_illust.php?mode=medium&illust_id={illustId} (legacy)
|
|
16
|
+
* - https://www.pixiv.net/i/{illustId} (short format)
|
|
14
17
|
* - https://www.pixiv.net/novel/show.php?id={novelId}
|
|
15
18
|
* - https://www.pixiv.net/novel/series/{seriesId}
|
|
16
19
|
* - https://www.pixiv.net/users/{userId}
|
|
20
|
+
* - https://www.pixiv.net/users/{userId}/artworks/{illustId}
|
|
21
|
+
* - https://www.pixiv.net/users/{userId}/novels/{novelId}
|
|
17
22
|
* - https://pixiv.net/artworks/{illustId} (without www)
|
|
23
|
+
* - Direct ID: {id} (treated as illustration)
|
|
18
24
|
*
|
|
19
|
-
* @param url Pixiv URL
|
|
25
|
+
* @param url Pixiv URL or direct ID
|
|
20
26
|
* @returns Parsed URL information or null if URL is invalid
|
|
21
27
|
*/
|
|
22
28
|
function parsePixivUrl(url) {
|
|
@@ -26,23 +32,40 @@ function parsePixivUrl(url) {
|
|
|
26
32
|
try {
|
|
27
33
|
// Normalize URL: remove trailing slashes and whitespace
|
|
28
34
|
const normalizedUrl = url.trim().replace(/\/+$/, '');
|
|
35
|
+
// Check if it's just a numeric ID (treat as illustration)
|
|
36
|
+
if (/^\d+$/.test(normalizedUrl)) {
|
|
37
|
+
const id = parseInt(normalizedUrl, 10);
|
|
38
|
+
if (!isNaN(id)) {
|
|
39
|
+
return {
|
|
40
|
+
type: 'illustration',
|
|
41
|
+
id: id,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
29
45
|
// Try to parse as URL
|
|
30
46
|
let urlObj;
|
|
31
47
|
try {
|
|
32
48
|
urlObj = new URL(normalizedUrl);
|
|
33
49
|
}
|
|
34
50
|
catch {
|
|
35
|
-
//
|
|
36
|
-
|
|
51
|
+
// Try adding https:// prefix
|
|
52
|
+
try {
|
|
53
|
+
urlObj = new URL(`https://${normalizedUrl}`);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// If still fails, try to extract ID from string directly
|
|
57
|
+
return parseIdFromString(normalizedUrl);
|
|
58
|
+
}
|
|
37
59
|
}
|
|
38
60
|
const hostname = urlObj.hostname.toLowerCase();
|
|
39
61
|
const pathname = urlObj.pathname;
|
|
40
|
-
|
|
41
|
-
if (
|
|
62
|
+
const searchParams = urlObj.searchParams;
|
|
63
|
+
// Check if it's a Pixiv domain (support pixiv.net and pixiv.org)
|
|
64
|
+
if (!hostname.includes('pixiv.net') && !hostname.includes('pixiv.org')) {
|
|
42
65
|
return null;
|
|
43
66
|
}
|
|
44
|
-
// Parse illustration URL: /artworks/{id}
|
|
45
|
-
const illustMatch = pathname.match(
|
|
67
|
+
// Parse illustration URL: /artworks/{id} or /en/artworks/{id} or /zh-cn/artworks/{id}
|
|
68
|
+
const illustMatch = pathname.match(/\/artworks\/(\d+)/);
|
|
46
69
|
if (illustMatch) {
|
|
47
70
|
const illustId = parseInt(illustMatch[1], 10);
|
|
48
71
|
if (!isNaN(illustId)) {
|
|
@@ -52,6 +75,28 @@ function parsePixivUrl(url) {
|
|
|
52
75
|
};
|
|
53
76
|
}
|
|
54
77
|
}
|
|
78
|
+
// Parse short illustration URL: /i/{id}
|
|
79
|
+
const shortIllustMatch = pathname.match(/^\/i\/(\d+)$/);
|
|
80
|
+
if (shortIllustMatch) {
|
|
81
|
+
const illustId = parseInt(shortIllustMatch[1], 10);
|
|
82
|
+
if (!isNaN(illustId)) {
|
|
83
|
+
return {
|
|
84
|
+
type: 'illustration',
|
|
85
|
+
id: illustId,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Parse legacy illustration URL: /member_illust.php?illust_id={id}
|
|
90
|
+
const illustIdParam = searchParams.get('illust_id');
|
|
91
|
+
if (illustIdParam) {
|
|
92
|
+
const illustId = parseInt(illustIdParam, 10);
|
|
93
|
+
if (!isNaN(illustId)) {
|
|
94
|
+
return {
|
|
95
|
+
type: 'illustration',
|
|
96
|
+
id: illustId,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
55
100
|
// Parse novel URL: /novel/show.php?id={id}
|
|
56
101
|
const novelMatch = pathname.match(/^\/novel\/show\.php$/);
|
|
57
102
|
if (novelMatch) {
|
|
@@ -77,7 +122,29 @@ function parsePixivUrl(url) {
|
|
|
77
122
|
};
|
|
78
123
|
}
|
|
79
124
|
}
|
|
80
|
-
// Parse user URL: /users/{userId}
|
|
125
|
+
// Parse user's artwork URL: /users/{userId}/artworks/{illustId}
|
|
126
|
+
const userArtworkMatch = pathname.match(/\/users\/(\d+)\/artworks\/(\d+)/);
|
|
127
|
+
if (userArtworkMatch) {
|
|
128
|
+
const illustId = parseInt(userArtworkMatch[2], 10);
|
|
129
|
+
if (!isNaN(illustId)) {
|
|
130
|
+
return {
|
|
131
|
+
type: 'illustration',
|
|
132
|
+
id: illustId,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Parse user's novel URL: /users/{userId}/novels/{novelId}
|
|
137
|
+
const userNovelMatch = pathname.match(/\/users\/(\d+)\/novels\/(\d+)/);
|
|
138
|
+
if (userNovelMatch) {
|
|
139
|
+
const novelId = parseInt(userNovelMatch[2], 10);
|
|
140
|
+
if (!isNaN(novelId)) {
|
|
141
|
+
return {
|
|
142
|
+
type: 'novel',
|
|
143
|
+
id: novelId,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Parse user URL: /users/{userId} (only user profile, no specific work)
|
|
81
148
|
const userMatch = pathname.match(/^\/users\/(\d+)$/);
|
|
82
149
|
if (userMatch) {
|
|
83
150
|
const userId = userMatch[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixiv-url-parser.js","sourceRoot":"","sources":["../../src/utils/pixiv-url-parser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"pixiv-url-parser.js","sourceRoot":"","sources":["../../src/utils/pixiv-url-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAK5E;AA0DD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAwCpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BzE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQlH"}
|
|
@@ -16,6 +16,7 @@ const node_fs_1 = require("node:fs");
|
|
|
16
16
|
const node_path_1 = require("node:path");
|
|
17
17
|
const logger_1 = require("../logger");
|
|
18
18
|
const TOKEN_FILE_NAME = '.pixiv-refresh-token';
|
|
19
|
+
const TOKEN_BACKUP_FILE_NAME = '.pixiv-refresh-token.backup';
|
|
19
20
|
const PLACEHOLDER_TOKEN = 'YOUR_REFRESH_TOKEN';
|
|
20
21
|
/**
|
|
21
22
|
* Get the token storage directory based on database path
|
|
@@ -46,6 +47,55 @@ function isPlaceholderToken(token) {
|
|
|
46
47
|
}
|
|
47
48
|
return token.trim() === '' || token === PLACEHOLDER_TOKEN || token.length < 10;
|
|
48
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Create a backup of the current token file
|
|
52
|
+
* @param databasePath Optional database path to determine storage location
|
|
53
|
+
*/
|
|
54
|
+
function backupToken(databasePath) {
|
|
55
|
+
try {
|
|
56
|
+
const tokenPath = getTokenFilePath(databasePath);
|
|
57
|
+
if (!(0, node_fs_1.existsSync)(tokenPath)) {
|
|
58
|
+
return; // No token to backup
|
|
59
|
+
}
|
|
60
|
+
const backupPath = (0, node_path_1.join)((0, node_path_1.dirname)(tokenPath), TOKEN_BACKUP_FILE_NAME);
|
|
61
|
+
(0, node_fs_1.copyFileSync)(tokenPath, backupPath);
|
|
62
|
+
logger_1.logger.debug('Token backup created', { backupPath });
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
logger_1.logger.warn('Failed to create token backup', {
|
|
66
|
+
error: error instanceof Error ? error.message : String(error),
|
|
67
|
+
});
|
|
68
|
+
// Don't throw - backup is optional
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Restore token from backup if main token file is missing or corrupted
|
|
73
|
+
* @param databasePath Optional database path to determine storage location
|
|
74
|
+
* @returns The restored token, or null if restoration failed
|
|
75
|
+
*/
|
|
76
|
+
function restoreTokenFromBackup(databasePath) {
|
|
77
|
+
try {
|
|
78
|
+
const backupPath = (0, node_path_1.join)(getTokenStorageDir(databasePath), TOKEN_BACKUP_FILE_NAME);
|
|
79
|
+
if (!(0, node_fs_1.existsSync)(backupPath)) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
const token = (0, node_fs_1.readFileSync)(backupPath, 'utf-8').trim();
|
|
83
|
+
if (isPlaceholderToken(token)) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
logger_1.logger.info('Token restored from backup', { backupPath });
|
|
87
|
+
// Restore the main token file
|
|
88
|
+
const tokenPath = getTokenFilePath(databasePath);
|
|
89
|
+
(0, node_fs_1.writeFileSync)(tokenPath, token, 'utf-8');
|
|
90
|
+
return token;
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
logger_1.logger.warn('Failed to restore token from backup', {
|
|
94
|
+
error: error instanceof Error ? error.message : String(error),
|
|
95
|
+
});
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
49
99
|
/**
|
|
50
100
|
* Save refresh token to unified storage
|
|
51
101
|
* @param refreshToken The refresh token to save
|
|
@@ -63,15 +113,28 @@ function saveTokenToStorage(refreshToken, databasePath) {
|
|
|
63
113
|
if (!(0, node_fs_1.existsSync)(storageDir)) {
|
|
64
114
|
(0, node_fs_1.mkdirSync)(storageDir, { recursive: true });
|
|
65
115
|
}
|
|
116
|
+
// Create backup of existing token before overwriting
|
|
117
|
+
if ((0, node_fs_1.existsSync)(tokenPath)) {
|
|
118
|
+
backupToken(databasePath);
|
|
119
|
+
}
|
|
66
120
|
// Save token to file (simple text file, no JSON wrapper needed)
|
|
67
121
|
(0, node_fs_1.writeFileSync)(tokenPath, refreshToken.trim(), 'utf-8');
|
|
68
122
|
logger_1.logger.debug('Token saved to unified storage', { tokenPath });
|
|
123
|
+
// Verify the write was successful
|
|
124
|
+
if (!(0, node_fs_1.existsSync)(tokenPath)) {
|
|
125
|
+
throw new Error('Token file was not created successfully');
|
|
126
|
+
}
|
|
127
|
+
// Double-check the content
|
|
128
|
+
const savedToken = (0, node_fs_1.readFileSync)(tokenPath, 'utf-8').trim();
|
|
129
|
+
if (savedToken !== refreshToken.trim()) {
|
|
130
|
+
throw new Error('Saved token does not match input token');
|
|
131
|
+
}
|
|
69
132
|
}
|
|
70
133
|
catch (error) {
|
|
71
|
-
logger_1.logger.
|
|
134
|
+
logger_1.logger.error('Failed to save token to unified storage', {
|
|
72
135
|
error: error instanceof Error ? error.message : String(error),
|
|
73
136
|
});
|
|
74
|
-
// Don't throw - this is a non-critical operation
|
|
137
|
+
// Don't throw - this is a non-critical operation, but log as error
|
|
75
138
|
}
|
|
76
139
|
}
|
|
77
140
|
/**
|
|
@@ -83,11 +146,15 @@ function loadTokenFromStorage(databasePath) {
|
|
|
83
146
|
try {
|
|
84
147
|
const tokenPath = getTokenFilePath(databasePath);
|
|
85
148
|
if (!(0, node_fs_1.existsSync)(tokenPath)) {
|
|
86
|
-
|
|
149
|
+
// Try to restore from backup
|
|
150
|
+
logger_1.logger.debug('Token file not found, attempting to restore from backup');
|
|
151
|
+
return restoreTokenFromBackup(databasePath);
|
|
87
152
|
}
|
|
88
153
|
const token = (0, node_fs_1.readFileSync)(tokenPath, 'utf-8').trim();
|
|
89
154
|
if (isPlaceholderToken(token)) {
|
|
90
|
-
|
|
155
|
+
// Token is invalid, try backup
|
|
156
|
+
logger_1.logger.debug('Token file contains placeholder, attempting to restore from backup');
|
|
157
|
+
return restoreTokenFromBackup(databasePath);
|
|
91
158
|
}
|
|
92
159
|
logger_1.logger.debug('Token loaded from unified storage', { tokenPath });
|
|
93
160
|
return token;
|
|
@@ -96,7 +163,8 @@ function loadTokenFromStorage(databasePath) {
|
|
|
96
163
|
logger_1.logger.warn('Failed to load token from unified storage', {
|
|
97
164
|
error: error instanceof Error ? error.message : String(error),
|
|
98
165
|
});
|
|
99
|
-
|
|
166
|
+
// Try backup as last resort
|
|
167
|
+
return restoreTokenFromBackup(databasePath);
|
|
100
168
|
}
|
|
101
169
|
}
|
|
102
170
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/webui/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,4CAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA2BxB,eAAe,MAAM,CAAC"}
|
|
@@ -45,6 +45,8 @@ router.post('/stop', basicHandlers.stopDownload);
|
|
|
45
45
|
router.get('/status', basicHandlers.getDownloadStatus);
|
|
46
46
|
router.get('/logs', basicHandlers.getDownloadLogs);
|
|
47
47
|
router.get('/history', basicHandlers.getDownloadHistory);
|
|
48
|
+
router.delete('/history/:taskId', basicHandlers.deleteTaskHistory);
|
|
49
|
+
router.delete('/history', basicHandlers.deleteAllTaskHistory);
|
|
48
50
|
// Batch download operations
|
|
49
51
|
router.post('/run-all', batchHandlers.runAllDownloads);
|
|
50
52
|
router.post('/random', batchHandlers.randomDownload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAiC;AACjC,kFAAoE;AACpE,4FAA8E;AAC9E,kFAAoE;AACpE,8EAAgE;AAEhE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAiC;AACjC,kFAAoE;AACpE,4FAA8E;AAC9E,kFAAoE;AACpE,8EAAgE;AAEhE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE9D,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;AAErD,0BAA0B;AAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;AACjD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEhD,8BAA8B;AAC9B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AAC1E,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AACvE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAE1D,kBAAe,MAAM,CAAC"}
|
|
@@ -13,6 +13,7 @@ export declare function stopDownload(req: Request, res: Response): Promise<void>
|
|
|
13
13
|
/**
|
|
14
14
|
* GET /api/download/status
|
|
15
15
|
* Get download task status
|
|
16
|
+
* Includes both in-memory tasks and database history
|
|
16
17
|
*/
|
|
17
18
|
export declare function getDownloadStatus(req: Request, res: Response): Promise<void>;
|
|
18
19
|
/**
|
|
@@ -20,6 +21,16 @@ export declare function getDownloadStatus(req: Request, res: Response): Promise<
|
|
|
20
21
|
* Get logs for a specific task
|
|
21
22
|
*/
|
|
22
23
|
export declare function getDownloadLogs(req: Request, res: Response): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* DELETE /api/download/history/:taskId
|
|
26
|
+
* Delete a task history record by task ID
|
|
27
|
+
*/
|
|
28
|
+
export declare function deleteTaskHistory(req: Request, res: Response): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* DELETE /api/download/history
|
|
31
|
+
* Delete all task history records
|
|
32
|
+
*/
|
|
33
|
+
export declare function deleteAllTaskHistory(req: Request, res: Response): Promise<void>;
|
|
23
34
|
/**
|
|
24
35
|
* GET /api/download/history
|
|
25
36
|
* Get download history from database
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-basic-handlers.d.ts","sourceRoot":"","sources":["../../../../src/webui/routes/handlers/download-basic-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"download-basic-handlers.d.ts","sourceRoot":"","sources":["../../../../src/webui/routes/handlers/download-basic-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAsBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGlF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DlF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDrF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DnF"}
|