Added redirect management when checking URLs

pull/10/head
MillenniumEarl 2020-10-09 16:42:13 +02:00
parent ac3f0e8acf
commit 12a3ff2ffd
5 changed files with 421 additions and 405 deletions

View File

@ -3,14 +3,11 @@
// Core modules // Core modules
const fs = require("fs"); const fs = require("fs");
// Public modules from npm
const urlExist = require("url-exist");
// Modules from file // Modules from file
const shared = require("./scripts/shared.js"); const shared = require("./scripts/shared.js");
const constURLs = require("./scripts/constants/urls.js"); const constURLs = require("./scripts/constants/urls.js");
const selectors = require("./scripts/constants/css-selectors.js"); const selectors = require("./scripts/constants/css-selectors.js");
const { isStringAValidURL } = require("./scripts/urls-helper.js"); const { isStringAValidURL, urlExists } = require("./scripts/urls-helper.js");
const gameScraper = require("./scripts/game-scraper.js"); const gameScraper = require("./scripts/game-scraper.js");
const { const {
prepareBrowser, prepareBrowser,
@ -195,10 +192,10 @@ module.exports.getGameVersion = async function (info) {
return info.version; return info.version;
} }
let urlExists = await urlExist(info.f95url); let exists = await urlExists(info.f95url);
// F95 change URL at every game update, so if the URL is the same no update is available // F95 change URL at every game update, so if the URL is the same no update is available
if (urlExists) return info.version; if (exists) return info.version;
else return await module.exports.getGameData(info.name, info.isMod).version; else return await module.exports.getGameData(info.name, info.isMod).version;
}; };
/** /**

View File

@ -1,5 +1,11 @@
'use strict'; 'use strict';
// Public modules from npm
const isUrl = require("is-url-superb");
const ky = require("ky-universal").create({
throwHttpErrors: false
});
// Modules from file // Modules from file
const { const {
F95_BASE_URL F95_BASE_URL
@ -29,4 +35,29 @@ module.exports.isStringAValidURL = function(url) {
} catch (err) { } catch (err) {
return false; return false;
} }
}
/**
* @public
* Check if a particular URL is valid and reachable on the web.
* @param {String} url URL to check
* @param {Boolean} checkRedirect If true, the function will consider redirects a violation and return false
* @returns {Promise<Boolean>} true if the URL exists, false otherwise
*/
module.exports.urlExists = async function(url, checkRedirect) {
if (!isUrl(url)) {
return false
}
const response = await ky.head(url);
let valid = response !== undefined && !/4\d\d/.test(response.status);
if(!valid) return false;
if(checkRedirect) {
if (response.url === url) valid = true;
else valid = false;
}
return valid;
} }

View File

@ -11,15 +11,16 @@ FN:192,(anonymous_7)
FN:213,(anonymous_8) FN:213,(anonymous_8)
FN:252,(anonymous_9) FN:252,(anonymous_9)
FN:302,(anonymous_10) FN:302,(anonymous_10)
FN:320,loadCookies FN:312,(anonymous_11)
FN:342,isCookieExpired FN:326,loadCookies
FN:378,loadValuesFromLatestPage FN:348,isCookieExpired
FN:412,getValuesFromLatestPage FN:384,loadValuesFromLatestPage
FN:439,loginF95 FN:418,getValuesFromLatestPage
FN:503,getUserWatchedGameThreads FN:445,loginF95
FN:569,getSearchGameResults FN:509,getUserWatchedGameThreads
FN:614,getOnlyGameThreads FN:575,getSearchGameResults
FNF:19 FN:620,getOnlyGameThreads
FNF:20
FNH:15 FNH:15
FNDA:0,(anonymous_0) FNDA:0,(anonymous_0)
FNDA:0,(anonymous_1) FNDA:0,(anonymous_1)
@ -32,11 +33,12 @@ FNDA:1,(anonymous_7)
FNDA:3,(anonymous_8) FNDA:3,(anonymous_8)
FNDA:2,(anonymous_9) FNDA:2,(anonymous_9)
FNDA:9,(anonymous_10) FNDA:9,(anonymous_10)
FNDA:12,loadCookies FNDA:0,(anonymous_11)
FNDA:13,loadCookies
FNDA:49,isCookieExpired FNDA:49,isCookieExpired
FNDA:6,loadValuesFromLatestPage FNDA:6,loadValuesFromLatestPage
FNDA:2,getValuesFromLatestPage FNDA:2,getValuesFromLatestPage
FNDA:5,loginF95 FNDA:6,loginF95
FNDA:1,getUserWatchedGameThreads FNDA:1,getUserWatchedGameThreads
FNDA:2,getSearchGameResults FNDA:2,getSearchGameResults
FNDA:12,getOnlyGameThreads FNDA:12,getOnlyGameThreads
@ -75,26 +77,26 @@ DA:93,1
DA:94,1 DA:94,1
DA:98,10 DA:98,10
DA:99,10 DA:99,10
DA:100,5 DA:100,4
DA:101,5 DA:101,4
DA:102,5 DA:102,4
DA:103,5 DA:103,4
DA:104,5 DA:104,4
DA:105,5 DA:105,4
DA:109,5 DA:109,6
DA:110,0 DA:110,0
DA:112,5 DA:112,6
DA:113,5 DA:113,6
DA:115,0 DA:115,0
DA:116,0 DA:116,0
DA:119,5 DA:119,6
DA:120,5 DA:120,6
DA:122,5 DA:122,6
DA:124,2 DA:124,3
DA:125,2 DA:125,3
DA:127,3 DA:127,3
DA:129,5 DA:129,6
DA:130,5 DA:130,6
DA:139,1 DA:139,1
DA:140,5 DA:140,5
DA:141,1 DA:141,1
@ -164,141 +166,144 @@ DA:293,1
DA:295,1 DA:295,1
DA:302,1 DA:302,1
DA:303,9 DA:303,9
DA:304,3 DA:304,4
DA:305,3 DA:305,4
DA:307,6 DA:307,5
DA:322,12 DA:310,5
DA:324,7 DA:311,0
DA:325,7 DA:312,0
DA:328,7 DA:328,13
DA:329,49 DA:330,7
DA:333,7 DA:331,7
DA:334,5 DA:334,7
DA:344,49 DA:335,49
DA:347,49 DA:339,7
DA:349,49 DA:340,6
DA:351,49 DA:350,49
DA:353,49 DA:353,49
DA:354,0 DA:355,49
DA:355,0 DA:357,49
DA:358,0 DA:359,49
DA:362,49 DA:360,0
DA:385,6 DA:361,0
DA:386,6 DA:364,0
DA:387,4 DA:368,49
DA:388,4 DA:391,6
DA:392,2 DA:392,6
DA:393,0 DA:393,4
DA:394,2 DA:394,4
DA:399,2 DA:398,2
DA:399,0
DA:400,2 DA:400,2
DA:413,2 DA:405,2
DA:415,2 DA:406,2
DA:416,2 DA:419,2
DA:418,2 DA:421,2
DA:419,17 DA:422,2
DA:424,17 DA:424,2
DA:426,2 DA:425,17
DA:440,5 DA:430,17
DA:441,5 DA:432,2
DA:444,5 DA:446,6
DA:445,5 DA:447,6
DA:446,5 DA:450,6
DA:447,5 DA:451,6
DA:448,5 DA:452,6
DA:449,5 DA:453,6
DA:450,5 DA:454,6
DA:455,5 DA:455,6
DA:458,5 DA:456,6
DA:465,5 DA:461,6
DA:466,2 DA:464,6
DA:467,2 DA:471,6
DA:468,2 DA:472,3
DA:471,3 DA:473,3
DA:478,3 DA:474,3
DA:477,3
DA:484,3 DA:484,3
DA:485,1 DA:490,3
DA:486,2 DA:491,1
DA:490,2 DA:492,2
DA:491,0 DA:496,2
DA:492,0 DA:497,0
DA:494,5 DA:498,0
DA:495,5 DA:500,6
DA:504,1 DA:501,6
DA:505,1 DA:510,1
DA:508,1
DA:511,1 DA:511,1
DA:512,1
DA:513,1
DA:514,1 DA:514,1
DA:517,1 DA:517,1
DA:518,1
DA:519,1
DA:520,1
DA:523,1 DA:523,1
DA:526,1 DA:529,1
DA:527,1
DA:530,1
DA:531,1
DA:532,1 DA:532,1
DA:534,3 DA:533,1
DA:535,46 DA:536,1
DA:540,46 DA:537,1
DA:541,46 DA:538,1
DA:544,3 DA:540,3
DA:541,47
DA:546,47
DA:547,47
DA:550,3 DA:550,3
DA:551,2 DA:556,3
DA:552,2 DA:557,2
DA:556,1 DA:558,2
DA:557,1 DA:562,1
DA:570,2 DA:563,1
DA:572,2 DA:576,2
DA:573,2 DA:578,2
DA:574,2
DA:579,2 DA:579,2
DA:580,2 DA:580,2
DA:581,2
DA:583,2
DA:584,2
DA:585,2 DA:585,2
DA:586,2 DA:586,2
DA:587,2
DA:589,2
DA:590,2
DA:591,2 DA:591,2
DA:594,2 DA:592,2
DA:595,2 DA:597,2
DA:596,2 DA:600,2
DA:597,12 DA:601,2
DA:600,12
DA:602,2 DA:602,2
DA:603,2 DA:603,12
DA:605,2 DA:606,12
DA:615,12 DA:608,2
DA:618,12 DA:609,2
DA:622,12 DA:611,2
DA:625,12 DA:621,12
DA:627,16 DA:624,12
DA:631,16 DA:628,12
DA:634,16 DA:631,12
DA:636,4 DA:633,16
LF:236 DA:637,16
LH:213 DA:640,16
DA:642,4
LF:239
LH:214
BRDA:71,0,0,0 BRDA:71,0,0,0
BRDA:71,0,1,0 BRDA:71,0,1,0
BRDA:89,1,0,1 BRDA:89,1,0,1
BRDA:89,1,1,10 BRDA:89,1,1,10
BRDA:90,2,0,0 BRDA:90,2,0,0
BRDA:90,2,1,1 BRDA:90,2,1,1
BRDA:99,3,0,5 BRDA:99,3,0,4
BRDA:99,3,1,5 BRDA:99,3,1,6
BRDA:100,4,0,0 BRDA:100,4,0,0
BRDA:100,4,1,5 BRDA:100,4,1,4
BRDA:109,5,0,0 BRDA:109,5,0,0
BRDA:109,5,1,5 BRDA:109,5,1,6
BRDA:113,6,0,5 BRDA:113,6,0,6
BRDA:113,6,1,0 BRDA:113,6,1,0
BRDA:115,7,0,0 BRDA:115,7,0,0
BRDA:115,7,1,0 BRDA:115,7,1,0
BRDA:122,8,0,2 BRDA:122,8,0,3
BRDA:122,8,1,3 BRDA:122,8,1,3
BRDA:125,9,0,0 BRDA:125,9,0,0
BRDA:125,9,1,2 BRDA:125,9,1,3
BRDA:129,10,0,5 BRDA:129,10,0,6
BRDA:129,10,1,0 BRDA:129,10,1,0
BRDA:140,11,0,1 BRDA:140,11,0,1
BRDA:140,11,1,4 BRDA:140,11,1,4
@ -338,62 +343,66 @@ BRDA:289,28,0,1
BRDA:289,28,1,0 BRDA:289,28,1,0
BRDA:293,29,0,1 BRDA:293,29,0,1
BRDA:293,29,1,0 BRDA:293,29,1,0
BRDA:303,30,0,3 BRDA:303,30,0,4
BRDA:303,30,1,6 BRDA:303,30,1,5
BRDA:322,31,0,7 BRDA:310,31,0,0
BRDA:322,31,1,5 BRDA:310,31,1,5
BRDA:329,32,0,0 BRDA:310,32,0,5
BRDA:329,32,1,49 BRDA:310,32,1,0
BRDA:349,33,0,49 BRDA:328,33,0,7
BRDA:349,33,1,0 BRDA:328,33,1,6
BRDA:353,34,0,0 BRDA:335,34,0,0
BRDA:353,34,1,49 BRDA:335,34,1,49
BRDA:354,35,0,0 BRDA:355,35,0,49
BRDA:354,35,1,0 BRDA:355,35,1,0
BRDA:385,36,0,0 BRDA:359,36,0,0
BRDA:385,36,1,6 BRDA:359,36,1,49
BRDA:386,37,0,4 BRDA:360,37,0,0
BRDA:386,37,1,2 BRDA:360,37,1,0
BRDA:392,38,0,0 BRDA:391,38,0,0
BRDA:392,38,1,2 BRDA:391,38,1,6
BRDA:413,39,0,0 BRDA:392,39,0,4
BRDA:413,39,1,2 BRDA:392,39,1,2
BRDA:465,40,0,2 BRDA:398,40,0,0
BRDA:465,40,1,3 BRDA:398,40,1,2
BRDA:471,41,0,3 BRDA:419,41,0,0
BRDA:471,41,1,0 BRDA:419,41,1,2
BRDA:484,42,0,1 BRDA:471,42,0,3
BRDA:484,42,1,2 BRDA:471,42,1,3
BRDA:486,43,0,2 BRDA:477,43,0,3
BRDA:486,43,1,0 BRDA:477,43,1,0
BRDA:550,44,0,2 BRDA:490,44,0,1
BRDA:550,44,1,1 BRDA:490,44,1,2
BRDA:570,45,0,0 BRDA:492,45,0,2
BRDA:570,45,1,2 BRDA:492,45,1,0
BRDA:594,46,0,0 BRDA:556,46,0,2
BRDA:594,46,1,2 BRDA:556,46,1,1
BRDA:600,47,0,4 BRDA:576,47,0,0
BRDA:600,47,1,8 BRDA:576,47,1,2
BRDA:602,48,0,0 BRDA:600,48,0,0
BRDA:602,48,1,2 BRDA:600,48,1,2
BRDA:634,49,0,8 BRDA:606,49,0,4
BRDA:634,49,1,8 BRDA:606,49,1,8
BRF:100 BRDA:608,50,0,0
BRH:60 BRDA:608,50,1,2
BRDA:640,51,0,8
BRDA:640,51,1,8
BRF:104
BRH:62
end_of_record end_of_record
TN: TN:
SF:app\scripts\game-scraper.js SF:app\scripts\game-scraper.js
FN:23,(anonymous_0) FN:23,(anonymous_0)
FN:75,getOverview FN:79,getOverview
FN:90,getMainPostStructuredText FN:94,getMainPostStructuredText
FN:105,getGameAuthor FN:112,getGameAuthor
FN:127,parseConversationPage FN:136,parseConversationPage
FN:154,getGamePreviewSource FN:162,getGamePreviewSource
FN:173,getGameTitle FN:184,getGameTitle
FN:192,getGameTags FN:205,getGameTags
FN:211,parsePrefixes FN:227,parsePrefixes
FN:238,getGameDownloadLink FN:256,getGameDownloadLink
FN:287,extractGameHostingData FN:323,extractGameHostingData
FNF:11 FNF:11
FNH:11 FNH:11
FNDA:4,(anonymous_0) FNDA:4,(anonymous_0)
@ -440,103 +449,104 @@ DA:53,4
DA:54,4 DA:54,4
DA:55,4 DA:55,4
DA:56,4 DA:56,4
DA:57,4
DA:58,4
DA:59,4 DA:59,4
DA:61,4
DA:62,4 DA:62,4
DA:63,4 DA:63,4
DA:78,4 DA:65,4
DA:79,2 DA:66,4
DA:80,4 DA:67,4
DA:92,4 DA:82,4
DA:95,4 DA:83,2
DA:84,4
DA:96,4 DA:96,4
DA:107,4 DA:99,4
DA:110,4 DA:103,4
DA:113,4 DA:114,4
DA:116,4 DA:119,4
DA:117,4 DA:122,4
DA:128,4 DA:125,4
DA:131,4 DA:126,4
DA:132,4 DA:137,4
DA:134,838 DA:140,4
DA:137,228 DA:141,4
DA:138,228 DA:142,838
DA:139,228 DA:145,228
DA:142,228 DA:146,228
DA:145,4 DA:147,228
DA:155,4 DA:150,228
DA:164,4 DA:153,4
DA:163,4
DA:175,4 DA:175,4
DA:178,4 DA:186,4
DA:181,4 DA:191,4
DA:182,4 DA:194,4
DA:183,4 DA:195,4
DA:193,4
DA:196,4 DA:196,4
DA:197,28 DA:206,4
DA:198,28 DA:209,4
DA:200,4 DA:210,28
DA:212,4 DA:214,28
DA:215,4
DA:216,4 DA:216,4
DA:217,8 DA:228,4
DA:220,8 DA:231,4
DA:223,8 DA:232,4
DA:224,8 DA:233,8
DA:227,4 DA:239,8
DA:229,4 DA:242,8
DA:240,4 DA:243,8
DA:243,4 DA:245,4
DA:246,4
DA:247,4 DA:247,4
DA:252,4 DA:258,4
DA:253,4 DA:269,4
DA:254,16 DA:272,4
DA:255,14 DA:273,4
DA:258,14 DA:278,4
DA:259,86 DA:279,4
DA:260,2 DA:280,16
DA:261,2 DA:281,14
DA:265,4 DA:289,14
DA:268,2 DA:290,86
DA:271,2 DA:291,2
DA:272,2 DA:292,2
DA:273,8 DA:296,4
DA:274,8 DA:299,2
DA:276,2 DA:307,2
DA:288,8 DA:308,2
DA:289,8 DA:309,8
DA:290,8 DA:310,8
DA:291,8 DA:312,2
DA:292,8 DA:324,8
DA:293,8 DA:325,8
DA:294,8 DA:326,8
DA:297,8 DA:327,8
DA:298,8 DA:328,8
DA:299,6 DA:329,8
DA:302,6 DA:330,8
DA:307,6 DA:333,8
DA:311,6 DA:334,8
DA:313,6 DA:335,6
DA:314,6 DA:339,6
DA:315,6 DA:342,6
DA:317,30 DA:343,0
DA:320,24 DA:346,6
DA:321,24 DA:348,6
DA:322,24 DA:349,6
DA:325,24 DA:350,6
DA:326,24 DA:352,30
DA:327,24 DA:355,24
DA:329,24 DA:356,24
DA:330,24 DA:357,24
DA:331,24 DA:360,24
DA:332,24 DA:361,24
DA:333,24 DA:362,24
DA:335,24 DA:364,24
DA:338,6 DA:365,24
LF:129 DA:366,24
DA:367,24
DA:368,24
DA:370,24
DA:373,6
LF:130
LH:129 LH:129
BRDA:24,0,0,0 BRDA:24,0,0,0
BRDA:24,0,1,4 BRDA:24,0,1,4
@ -546,40 +556,40 @@ BRDA:29,2,0,0
BRDA:29,2,1,4 BRDA:29,2,1,4
BRDA:56,3,0,2 BRDA:56,3,0,2
BRDA:56,3,1,2 BRDA:56,3,1,2
BRDA:57,4,0,2 BRDA:59,4,0,2
BRDA:57,4,1,2 BRDA:59,4,1,2
BRDA:62,5,0,0 BRDA:66,5,0,0
BRDA:62,5,1,4 BRDA:66,5,1,4
BRDA:78,6,0,2 BRDA:82,6,0,2
BRDA:78,6,1,2 BRDA:82,6,1,2
BRDA:134,7,0,610 BRDA:142,7,0,610
BRDA:134,7,1,228 BRDA:142,7,1,228
BRDA:142,8,0,124 BRDA:150,8,0,124
BRDA:142,8,1,104 BRDA:150,8,1,104
BRDA:164,9,0,3 BRDA:175,9,0,2
BRDA:164,9,1,1 BRDA:175,9,1,2
BRDA:223,10,0,0 BRDA:242,10,0,0
BRDA:223,10,1,8 BRDA:242,10,1,8
BRDA:224,11,0,4 BRDA:243,11,0,4
BRDA:224,11,1,4 BRDA:243,11,1,4
BRDA:227,12,0,2 BRDA:245,12,0,2
BRDA:227,12,1,2 BRDA:245,12,1,2
BRDA:247,13,0,0 BRDA:273,13,0,0
BRDA:247,13,1,4 BRDA:273,13,1,4
BRDA:254,14,0,2 BRDA:280,14,0,2
BRDA:254,14,1,14 BRDA:280,14,1,14
BRDA:259,15,0,2 BRDA:290,15,0,2
BRDA:259,15,1,84 BRDA:290,15,1,84
BRDA:265,16,0,2 BRDA:296,16,0,2
BRDA:265,16,1,2 BRDA:296,16,1,2
BRDA:298,17,0,2 BRDA:334,17,0,2
BRDA:298,17,1,6 BRDA:334,17,1,6
BRDA:307,18,0,0 BRDA:342,18,0,0
BRDA:307,18,1,6 BRDA:342,18,1,6
BRDA:317,19,0,6 BRDA:352,19,0,6
BRDA:317,19,1,24 BRDA:352,19,1,24
BRDA:329,20,0,24 BRDA:364,20,0,24
BRDA:329,20,1,0 BRDA:364,20,1,0
BRF:42 BRF:42
BRH:34 BRH:34
end_of_record end_of_record
@ -590,27 +600,27 @@ FN:31,(anonymous_1)
FN:37,(anonymous_2) FN:37,(anonymous_2)
FNF:3 FNF:3
FNH:3 FNH:3
FNDA:12,(anonymous_0) FNDA:13,(anonymous_0)
FNDA:17,(anonymous_1) FNDA:18,(anonymous_1)
FNDA:1962,(anonymous_2) FNDA:2117,(anonymous_2)
DA:4,1 DA:4,1
DA:7,1 DA:7,1
DA:15,1 DA:15,1
DA:17,12 DA:17,13
DA:21,12 DA:21,13
DA:31,1 DA:31,1
DA:33,17 DA:33,18
DA:36,17 DA:36,18
DA:37,17 DA:37,18
DA:38,1962 DA:38,2117
DA:41,1247 DA:41,1331
DA:45,17 DA:45,18
DA:47,17 DA:47,18
DA:49,17 DA:49,18
LF:14 LF:14
LH:14 LH:14
BRDA:38,0,0,715 BRDA:38,0,0,786
BRDA:38,0,1,1247 BRDA:38,0,1,1331
BRF:2 BRF:2
BRH:2 BRH:2
end_of_record end_of_record
@ -635,22 +645,22 @@ FN:149,(anonymous_15)
FN:153,(anonymous_16) FN:153,(anonymous_16)
FNF:17 FNF:17
FNH:14 FNH:14
FNDA:56,(anonymous_0) FNDA:58,(anonymous_0)
FNDA:31,(anonymous_1) FNDA:31,(anonymous_1)
FNDA:21,(anonymous_2) FNDA:21,(anonymous_2)
FNDA:8,(anonymous_3) FNDA:8,(anonymous_3)
FNDA:8,(anonymous_4) FNDA:8,(anonymous_4)
FNDA:0,(anonymous_5) FNDA:0,(anonymous_5)
FNDA:21,(anonymous_6) FNDA:23,(anonymous_6)
FNDA:3,(anonymous_7) FNDA:3,(anonymous_7)
FNDA:3,(anonymous_8) FNDA:3,(anonymous_8)
FNDA:23,(anonymous_9) FNDA:30,(anonymous_9)
FNDA:12,(anonymous_10) FNDA:13,(anonymous_10)
FNDA:3,(anonymous_11) FNDA:3,(anonymous_11)
FNDA:3,(anonymous_12) FNDA:3,(anonymous_12)
FNDA:0,(anonymous_13) FNDA:0,(anonymous_13)
FNDA:0,(anonymous_14) FNDA:0,(anonymous_14)
FNDA:16,(anonymous_15) FNDA:15,(anonymous_15)
FNDA:1,(anonymous_16) FNDA:1,(anonymous_16)
DA:4,1 DA:4,1
DA:15,1 DA:15,1
@ -661,22 +671,22 @@ DA:35,1
DA:40,1 DA:40,1
DA:45,1 DA:45,1
DA:51,1 DA:51,1
DA:60,56 DA:60,58
DA:67,31 DA:67,31
DA:74,21 DA:74,21
DA:81,8 DA:81,8
DA:88,8 DA:88,8
DA:95,0 DA:95,0
DA:102,21 DA:102,23
DA:109,3 DA:109,3
DA:116,3 DA:116,3
DA:124,23 DA:124,30
DA:130,12 DA:130,13
DA:134,3 DA:134,3
DA:138,3 DA:138,3
DA:142,0 DA:142,0
DA:146,0 DA:146,0
DA:150,16 DA:150,15
DA:154,1 DA:154,1
DA:159,1 DA:159,1
LF:27 LF:27
@ -686,25 +696,25 @@ BRH:0
end_of_record end_of_record
TN: TN:
SF:app\scripts\urls-helper.js SF:app\scripts\urls-helper.js
FN:12,(anonymous_0) FN:14,(anonymous_0)
FN:23,(anonymous_1) FN:25,(anonymous_1)
FNF:2 FNF:2
FNH:2 FNH:2
FNDA:4,(anonymous_0) FNDA:4,(anonymous_0)
FNDA:29,(anonymous_1) FNDA:29,(anonymous_1)
DA:4,1 DA:6,1
DA:12,1 DA:14,1
DA:13,4 DA:15,4
DA:14,0 DA:16,0
DA:23,1 DA:25,1
DA:24,29 DA:26,29
DA:25,29 DA:27,29
DA:26,28 DA:28,27
DA:28,1 DA:30,2
LF:9 LF:9
LH:8 LH:8
BRDA:13,0,0,4 BRDA:15,0,0,4
BRDA:13,0,1,0 BRDA:15,0,1,0
BRF:2 BRF:2
BRH:1 BRH:1
end_of_record end_of_record
@ -792,7 +802,7 @@ BRF:0
BRH:0 BRH:0
end_of_record end_of_record
TN: TN:
SF:app\scripts\costants\css-selectors.js SF:app\scripts\constants\css-selectors.js
FNF:0 FNF:0
FNH:0 FNH:0
DA:1,1 DA:1,1
@ -802,7 +812,7 @@ BRF:0
BRH:0 BRH:0
end_of_record end_of_record
TN: TN:
SF:app\scripts\costants\urls.js SF:app\scripts\constants\urls.js
FNF:0 FNF:0
FNH:0 FNH:0
DA:1,1 DA:1,1

73
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "f95api", "name": "f95api",
"version": "1.0.0", "version": "1.0.1",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -555,6 +555,11 @@
"which": "^2.0.1" "which": "^2.0.1"
} }
}, },
"data-uri-to-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz",
"integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og=="
},
"debug": { "debug": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
@ -714,6 +719,11 @@
"pend": "~1.2.0" "pend": "~1.2.0"
} }
}, },
"fetch-blob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-2.1.1.tgz",
"integrity": "sha512-Uf+gxPCe1hTOFXwkxYyckn8iUSk6CFXGy5VENZKifovUTZC9eUODWSBhOBS7zICGrAetKzdwLMr85KhIcePMAQ=="
},
"fill-range": { "fill-range": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@ -945,11 +955,6 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
}, },
"ip-regex": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.2.0.tgz",
"integrity": "sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A=="
},
"is-arguments": { "is-arguments": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
@ -1065,12 +1070,9 @@
"dev": true "dev": true
}, },
"is-url-superb": { "is-url-superb": {
"version": "3.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz",
"integrity": "sha512-3faQP+wHCGDQT1qReM5zCPx2mxoal6DzbzquFlCYJLWyy4WPTved33ea2xFbX37z4NoriEwZGIYhFtx8RUB5wQ==", "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA=="
"requires": {
"url-regex": "^5.0.0"
}
}, },
"is-windows": { "is-windows": {
"version": "1.0.2", "version": "1.0.2",
@ -1236,18 +1238,13 @@
"minimist": "^1.2.5" "minimist": "^1.2.5"
} }
}, },
"ky": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/ky/-/ky-0.19.1.tgz",
"integrity": "sha512-ZwciYrfaWpDI72U2HAruuGYGFW3PCfGNdWWSANGGssg9BGm4rRJ9s/sApiiRpj+8Y245/hlZW9c60zudLr6iwA=="
},
"ky-universal": { "ky-universal": {
"version": "0.5.0", "version": "0.8.2",
"resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.5.0.tgz", "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.8.2.tgz",
"integrity": "sha512-O+0wjCua5i45lYBZrBy8TyRDRVodtsmzVC/MlE5FN7ZMFu/Icz7ekbZ85sdFw0F/JwGhXZTaKjXq9IgUGwGedQ==", "integrity": "sha512-xe0JaOH9QeYxdyGLnzUOVGK4Z6FGvDVzcXFTdrYA1f33MZdEa45sUDaMBy98xQMcsd2XIBrTXRrRYnegcSdgVQ==",
"requires": { "requires": {
"abort-controller": "^3.0.0", "abort-controller": "^3.0.0",
"node-fetch": "^2.6.0" "node-fetch": "3.0.0-beta.9"
} }
}, },
"locate-path": { "locate-path": {
@ -1600,9 +1597,13 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}, },
"node-fetch": { "node-fetch": {
"version": "2.6.1", "version": "3.0.0-beta.9",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0-beta.9.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" "integrity": "sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg==",
"requires": {
"data-uri-to-buffer": "^3.0.1",
"fetch-blob": "^2.1.1"
}
}, },
"node-html-parser": { "node-html-parser": {
"version": "1.2.21", "version": "1.2.21",
@ -2103,11 +2104,6 @@
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
}, },
"tlds": {
"version": "1.210.0",
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.210.0.tgz",
"integrity": "sha512-5bzt4JE+NlnwiKpVW9yzWxuc44m+t2opmPG+eSKDp5V5qdyGvjMngKgBb5ZK8GiheQMbRTCKpRwFJeIEO6pV7Q=="
},
"to-fast-properties": { "to-fast-properties": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@ -2153,25 +2149,6 @@
"through": "^2.3.8" "through": "^2.3.8"
} }
}, },
"url-exist": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/url-exist/-/url-exist-2.0.2.tgz",
"integrity": "sha512-JqLjYS8pU9xZtY3ro4c54CztoP5R8qRyMlg2Cxr4M9YD1NCe57MOsZHF1rP3y+qQcc7cqiZBBd4Cu5oehcJRlQ==",
"requires": {
"is-url-superb": "^3.0.0",
"ky": "^0.19.0",
"ky-universal": "^0.5.0"
}
},
"url-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/url-regex/-/url-regex-5.0.0.tgz",
"integrity": "sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g==",
"requires": {
"ip-regex": "^4.1.0",
"tlds": "^1.203.0"
}
},
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View File

@ -31,9 +31,10 @@
"node": ">=10.0" "node": ">=10.0"
}, },
"dependencies": { "dependencies": {
"is-url-superb": "^4.0.0",
"ky-universal": "^0.8.2",
"node-html-parser": "^1.2.21", "node-html-parser": "^1.2.21",
"puppeteer": "^5.3.1", "puppeteer": "^5.3.1"
"url-exist": "^2.0.2"
}, },
"devDependencies": { "devDependencies": {
"chai": "^4.2.0", "chai": "^4.2.0",