hydra-crawler 1.4.6 → 2.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.
- package/dist/apis/autocomplete.api.d.ts +7 -0
- package/dist/apis/autocomplete.api.js +15 -9
- package/dist/apis/autocomplete.api.js.map +1 -0
- package/dist/apis/bugs.api.d.ts +7 -0
- package/dist/apis/bugs.api.js +21 -15
- package/dist/apis/bugs.api.js.map +1 -0
- package/dist/apis/crawl.api.d.ts +7 -0
- package/dist/apis/crawl.api.js +15 -9
- package/dist/apis/crawl.api.js.map +1 -0
- package/dist/apis/domains.api.d.ts +7 -0
- package/dist/apis/domains.api.js +24 -19
- package/dist/apis/domains.api.js.map +1 -0
- package/dist/apis/images.api.d.ts +7 -0
- package/dist/apis/images.api.js +20 -14
- package/dist/apis/images.api.js.map +1 -0
- package/dist/apis/statistics.api.d.ts +8 -0
- package/dist/apis/statistics.api.js +27 -20
- package/dist/apis/statistics.api.js.map +1 -0
- package/dist/apis/test.api.d.ts +5 -0
- package/dist/apis/test.api.js +15 -9
- package/dist/apis/test.api.js.map +1 -0
- package/dist/apis/urls.api.d.ts +7 -0
- package/dist/apis/urls.api.js +21 -15
- package/dist/apis/urls.api.js.map +1 -0
- package/dist/apps/cleanup.app.d.ts +19 -0
- package/dist/apps/cleanup.app.js +118 -100
- package/dist/apps/cleanup.app.js.map +1 -0
- package/dist/apps/cross-populate-export.app.d.ts +12 -0
- package/dist/apps/cross-populate-export.app.js +60 -47
- package/dist/apps/cross-populate-export.app.js.map +1 -0
- package/dist/apps/cross-populate-import.app.d.ts +12 -0
- package/dist/apps/cross-populate-import.app.js +64 -51
- package/dist/apps/cross-populate-import.app.js.map +1 -0
- package/dist/apps/denylist.app.d.ts +17 -0
- package/dist/apps/denylist.app.js +115 -98
- package/dist/apps/denylist.app.js.map +1 -0
- package/dist/apps/expire.app.d.ts +19 -0
- package/dist/apps/expire.app.js +44 -31
- package/dist/apps/expire.app.js.map +1 -0
- package/dist/apps/extract-text.app.d.ts +8 -0
- package/dist/apps/extract-text.app.js +43 -35
- package/dist/apps/extract-text.app.js.map +1 -0
- package/dist/apps/hydra.app.d.ts +34 -0
- package/dist/apps/hydra.app.js +150 -137
- package/dist/apps/hydra.app.js.map +1 -0
- package/dist/apps/import.app.d.ts +11 -0
- package/dist/apps/import.app.js +44 -32
- package/dist/apps/import.app.js.map +1 -0
- package/dist/apps/internal-hydra-common.app.d.ts +28 -0
- package/dist/apps/internal-hydra-common.app.js +5 -11
- package/dist/apps/internal-hydra-common.app.js.map +1 -0
- package/dist/apps/query.app.d.ts +20 -0
- package/dist/apps/query.app.js +63 -49
- package/dist/apps/query.app.js.map +1 -0
- package/dist/apps/reattempt.app.d.ts +17 -0
- package/dist/apps/reattempt.app.js +66 -53
- package/dist/apps/reattempt.app.js.map +1 -0
- package/dist/apps/requeue-domain.app.d.ts +13 -0
- package/dist/apps/requeue-domain.app.js +50 -37
- package/dist/apps/requeue-domain.app.js.map +1 -0
- package/dist/apps/seed.app.d.ts +15 -0
- package/dist/apps/seed.app.js +53 -40
- package/dist/apps/seed.app.js.map +1 -0
- package/dist/apps/startup.app.d.ts +11 -0
- package/dist/apps/startup.app.js +51 -38
- package/dist/apps/startup.app.js.map +1 -0
- package/dist/apps/unarchive.app.d.ts +15 -0
- package/dist/apps/unarchive.app.js +67 -54
- package/dist/apps/unarchive.app.js.map +1 -0
- package/dist/classes/cleaner.d.ts +12 -0
- package/dist/classes/cleaner.js +227 -207
- package/dist/classes/cleaner.js.map +1 -0
- package/dist/classes/crawler.d.ts +34 -0
- package/dist/classes/crawler.js +248 -241
- package/dist/classes/crawler.js.map +1 -0
- package/dist/classes/dns.d.ts +3 -0
- package/dist/classes/dns.js +10 -13
- package/dist/classes/dns.js.map +1 -0
- package/dist/classes/expirer.d.ts +10 -0
- package/dist/classes/expirer.js +107 -94
- package/dist/classes/expirer.js.map +1 -0
- package/dist/classes/expiry.d.ts +8 -0
- package/dist/classes/expiry.js +16 -19
- package/dist/classes/expiry.js.map +1 -0
- package/dist/classes/lists.d.ts +9 -0
- package/dist/classes/lists.js +13 -18
- package/dist/classes/lists.js.map +1 -0
- package/dist/classes/robot.d.ts +15 -0
- package/dist/classes/robot.js +40 -30
- package/dist/classes/robot.js.map +1 -0
- package/dist/classes/tracker.d.ts +25 -0
- package/dist/classes/tracker.js +82 -64
- package/dist/classes/tracker.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +72 -65
- package/dist/cli.js.map +1 -0
- package/dist/enums/eavailable-strategy.d.ts +4 -0
- package/dist/enums/eavailable-strategy.js +3 -5
- package/dist/enums/eavailable-strategy.js.map +1 -0
- package/dist/enums/elist.d.ts +7 -0
- package/dist/enums/elist.js +7 -11
- package/dist/enums/elist.js.map +1 -0
- package/dist/enums/eserver.d.ts +8 -0
- package/dist/enums/eserver.js +3 -5
- package/dist/enums/eserver.js.map +1 -0
- package/dist/enums/ex-powered-by.d.ts +6 -0
- package/dist/enums/ex-powered-by.js +3 -5
- package/dist/enums/ex-powered-by.js.map +1 -0
- package/dist/helpers/matcher.d.ts +5 -0
- package/dist/helpers/matcher.js +2 -5
- package/dist/helpers/matcher.js.map +1 -0
- package/dist/helpers/random.d.ts +4 -0
- package/dist/helpers/random.js +2 -5
- package/dist/helpers/random.js.map +1 -0
- package/dist/helpers/utf-decoder.d.ts +4 -0
- package/dist/helpers/utf-decoder.js +3 -6
- package/dist/helpers/utf-decoder.js.map +1 -0
- package/dist/interfaces/iexpiry.d.ts +7 -0
- package/dist/interfaces/iexpiry.js +9 -13
- package/dist/interfaces/iexpiry.js.map +1 -0
- package/dist/interfaces/imatch.d.ts +6 -0
- package/dist/interfaces/imatch.js +6 -9
- package/dist/interfaces/imatch.js.map +1 -0
- package/dist/interfaces/iparser-config.d.ts +4 -0
- package/dist/interfaces/iparser-config.js +4 -7
- package/dist/interfaces/iparser-config.js.map +1 -0
- package/dist/interfaces/iparser.d.ts +8 -0
- package/dist/interfaces/iparser.js +2 -2
- package/dist/interfaces/iparser.js.map +1 -0
- package/dist/interfaces/irequest-outcome.d.ts +11 -0
- package/dist/interfaces/irequest-outcome.js +2 -2
- package/dist/interfaces/irequest-outcome.js.map +1 -0
- package/dist/interfaces/iserver.d.ts +4 -0
- package/dist/interfaces/iserver.js +2 -2
- package/dist/interfaces/iserver.js.map +1 -0
- package/dist/parsers/accessibility-metrics.parser.d.ts +11 -0
- package/dist/parsers/accessibility-metrics.parser.js +34 -26
- package/dist/parsers/accessibility-metrics.parser.js.map +1 -0
- package/dist/parsers/asp-error.parser.d.ts +12 -0
- package/dist/parsers/asp-error.parser.js +36 -28
- package/dist/parsers/asp-error.parser.js.map +1 -0
- package/dist/parsers/bad-words.parser.d.ts +10 -0
- package/dist/parsers/bad-words.parser.js +21 -13
- package/dist/parsers/bad-words.parser.js.map +1 -0
- package/dist/parsers/complex-english.parser.d.ts +15 -0
- package/dist/parsers/complex-english.parser.js +33 -25
- package/dist/parsers/complex-english.parser.js.map +1 -0
- package/dist/parsers/data.parser.d.ts +14 -0
- package/dist/parsers/data.parser.js +12 -16
- package/dist/parsers/data.parser.js.map +1 -0
- package/dist/parsers/dictionary.parser.d.ts +19 -0
- package/dist/parsers/dictionary.parser.js +47 -39
- package/dist/parsers/dictionary.parser.js.map +1 -0
- package/dist/parsers/html.parser.d.ts +13 -0
- package/dist/parsers/html.parser.js +4 -8
- package/dist/parsers/html.parser.js.map +1 -0
- package/dist/parsers/hyperlinks.parser.d.ts +20 -0
- package/dist/parsers/hyperlinks.parser.js +82 -77
- package/dist/parsers/hyperlinks.parser.js.map +1 -0
- package/dist/parsers/image-tags.parser.d.ts +19 -0
- package/dist/parsers/image-tags.parser.js +31 -35
- package/dist/parsers/image-tags.parser.js.map +1 -0
- package/dist/parsers/jpeg.parser.d.ts +11 -0
- package/dist/parsers/jpeg.parser.js +28 -20
- package/dist/parsers/jpeg.parser.js.map +1 -0
- package/dist/parsers/paragraphs.parser.d.ts +13 -0
- package/dist/parsers/paragraphs.parser.js +33 -40
- package/dist/parsers/paragraphs.parser.js.map +1 -0
- package/dist/parsers/parser.d.ts +19 -0
- package/dist/parsers/parser.js +30 -17
- package/dist/parsers/parser.js.map +1 -0
- package/dist/parsers/php-error.parser.d.ts +12 -0
- package/dist/parsers/php-error.parser.js +42 -34
- package/dist/parsers/php-error.parser.js.map +1 -0
- package/dist/parsers/phrase.parser.d.ts +8 -0
- package/dist/parsers/phrase.parser.js +16 -11
- package/dist/parsers/phrase.parser.js.map +1 -0
- package/dist/parsers/regex.parser.d.ts +10 -0
- package/dist/parsers/regex.parser.js +30 -22
- package/dist/parsers/regex.parser.js.map +1 -0
- package/dist/parsers/server.parser.d.ts +11 -0
- package/dist/parsers/server.parser.js +58 -57
- package/dist/parsers/server.parser.js.map +1 -0
- package/dist/parsers/spelling.parser.d.ts +10 -0
- package/dist/parsers/spelling.parser.js +21 -13
- package/dist/parsers/spelling.parser.js.map +1 -0
- package/dist/parsers/string.parser.d.ts +8 -0
- package/dist/parsers/string.parser.js +5 -8
- package/dist/parsers/string.parser.js.map +1 -0
- package/dist/parsers/text.parser.d.ts +8 -0
- package/dist/parsers/text.parser.js +24 -18
- package/dist/parsers/text.parser.js.map +1 -0
- package/dist/parsers/words.parser.d.ts +11 -0
- package/dist/parsers/words.parser.js +32 -28
- package/dist/parsers/words.parser.js.map +1 -0
- package/dist/queries/complex-english.query.d.ts +2 -0
- package/dist/queries/complex-english.query.js +37 -38
- package/dist/queries/complex-english.query.js.map +1 -0
- package/dist/queries/flash-content.query.d.ts +2 -0
- package/dist/queries/flash-content.query.js +39 -30
- package/dist/queries/flash-content.query.js.map +1 -0
- package/dist/queries/linking-to-domains.query.d.ts +2 -0
- package/dist/queries/linking-to-domains.query.js +35 -27
- package/dist/queries/linking-to-domains.query.js.map +1 -0
- package/dist/queries/readability-score.query.d.ts +2 -0
- package/dist/queries/readability-score.query.js +21 -13
- package/dist/queries/readability-score.query.js.map +1 -0
- package/dist/servers/crawl.server.d.ts +35 -0
- package/dist/servers/crawl.server.js +133 -121
- package/dist/servers/crawl.server.js.map +1 -0
- package/dist/servers/express.server.d.ts +8 -0
- package/dist/servers/express.server.js +7 -10
- package/dist/servers/express.server.js.map +1 -0
- package/dist/servers/maintenance.server.d.ts +22 -0
- package/dist/servers/maintenance.server.js +42 -36
- package/dist/servers/maintenance.server.js.map +1 -0
- package/dist/servers/rest.server.d.ts +7 -0
- package/dist/servers/rest.server.js +40 -51
- package/dist/servers/rest.server.js.map +1 -0
- package/dist/servers/socket-io.server.d.ts +12 -0
- package/dist/servers/socket-io.server.js +48 -15
- package/dist/servers/socket-io.server.js.map +1 -0
- package/dist/services/database.service.d.ts +68 -0
- package/dist/services/database.service.js +527 -462
- package/dist/services/database.service.js.map +1 -0
- package/dist/types/tcrawl-config.d.ts +14 -0
- package/dist/types/tcrawl-config.js +14 -17
- package/dist/types/tcrawl-config.js.map +1 -0
- package/dist/types/thydra-config.d.ts +4 -0
- package/dist/types/thydra-config.js +4 -7
- package/dist/types/thydra-config.js.map +1 -0
- package/dist/types/tparser-ctor.d.ts +7 -0
- package/dist/types/tparser-ctor.js +2 -2
- package/dist/types/tparser-ctor.js.map +1 -0
- package/dist/types/tquery.d.ts +7 -0
- package/dist/types/tquery.js +2 -2
- package/dist/types/tquery.js.map +1 -0
- package/dist/types/trobots-config.d.ts +4 -0
- package/dist/types/trobots-config.js +4 -7
- package/dist/types/trobots-config.js.map +1 -0
- package/package.json +41 -29
- package/angular/10-es2015.bacd4ae5dd7913ce55f0.js +0 -1
- package/angular/10-es5.bacd4ae5dd7913ce55f0.js +0 -1
- package/angular/11-es2015.0f031dcf752d1e8eda6b.js +0 -1
- package/angular/11-es5.0f031dcf752d1e8eda6b.js +0 -1
- package/angular/3rdpartylicenses.txt +0 -1127
- package/angular/5-es2015.951498ca9c1bc74e57bf.js +0 -1
- package/angular/5-es5.951498ca9c1bc74e57bf.js +0 -1
- package/angular/6-es2015.65f680261a3506b88381.js +0 -1
- package/angular/6-es5.65f680261a3506b88381.js +0 -1
- package/angular/7-es2015.625197f3af1dbf3e805d.js +0 -1
- package/angular/7-es5.625197f3af1dbf3e805d.js +0 -1
- package/angular/8-es2015.55518901987a5b834309.js +0 -1
- package/angular/8-es5.55518901987a5b834309.js +0 -1
- package/angular/9-es2015.6cc9bde262564e7836f2.js +0 -1
- package/angular/9-es5.6cc9bde262564e7836f2.js +0 -1
- package/angular/Roboto-Black.41ed1105a6ebb8ffe34e.woff2 +0 -0
- package/angular/Roboto-Black.937491dfcbe64ca9a9f1.woff +0 -0
- package/angular/Roboto-BlackItalic.2e1ee657996854c6f427.woff +0 -0
- package/angular/Roboto-BlackItalic.50ca4c51ebc27e7e7d2f.woff2 +0 -0
- package/angular/Roboto-Bold.73288d91c325e82a5b92.woff +0 -0
- package/angular/Roboto-Bold.92fbd4e93cf0a5dbebaa.woff2 +0 -0
- package/angular/Roboto-BoldItalic.5f600d98a73d800ae575.woff2 +0 -0
- package/angular/Roboto-BoldItalic.6d89acbd21d7e3fbecb2.woff +0 -0
- package/angular/Roboto-Light.c27d89ac77468ae18f28.woff2 +0 -0
- package/angular/Roboto-Light.d923dfafc0c5183b59aa.woff +0 -0
- package/angular/Roboto-LightItalic.506274c7228cf81cae4d.woff2 +0 -0
- package/angular/Roboto-LightItalic.d4b8c137518d9d92bb28.woff +0 -0
- package/angular/Roboto-Medium.092c6130df8fd2199888.woff +0 -0
- package/angular/Roboto-Medium.1d3bced88509b0838984.woff2 +0 -0
- package/angular/Roboto-MediumItalic.18ff1628c628080166c1.woff +0 -0
- package/angular/Roboto-MediumItalic.d620b8f53f75966fe42e.woff2 +0 -0
- package/angular/Roboto-Regular.64cfb66c866ea50cad47.woff2 +0 -0
- package/angular/Roboto-Regular.e02e9d6ff5547f7e9962.woff +0 -0
- package/angular/Roboto-RegularItalic.4dd2af1e8df532f41db8.woff2 +0 -0
- package/angular/Roboto-RegularItalic.5ea38fff9eebef99c5df.woff +0 -0
- package/angular/Roboto-Thin.dbd56bd3357dc3617fe5.woff2 +0 -0
- package/angular/Roboto-Thin.e7f7c82374bd0ebef14b.woff +0 -0
- package/angular/Roboto-ThinItalic.5dd9349c940073834e9a.woff +0 -0
- package/angular/Roboto-ThinItalic.a8cef84f735ef887abdc.woff2 +0 -0
- package/angular/assets/config/app-config.json +0 -16
- package/angular/assets/images/splashbg.jpg +0 -0
- package/angular/assets/web-app-commons/fonts/material-icons/MaterialDesignIcons-Community-2.7.94.woff +0 -0
- package/angular/assets/web-app-commons/fonts/material-icons/MaterialDesignIcons-Community-2.7.94.woff2 +0 -0
- package/angular/assets/web-app-commons/fonts/material-icons/material-design-icons-community.css +0 -11293
- package/angular/favicon.ico +0 -0
- package/angular/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.f2a0933406f783065152.woff +0 -0
- package/angular/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.6467d9a24f234e8e8e07.woff2 +0 -0
- package/angular/index.html +0 -16
- package/angular/main-es2015.3a582572476c7f292e52.js +0 -1
- package/angular/main-es5.3a582572476c7f292e52.js +0 -1
- package/angular/polyfills-es2015.7df68534018bc2f6cb09.js +0 -1
- package/angular/polyfills-es5.e79468f406fae2989221.js +0 -1
- package/angular/runtime-es2015.6d2cff76cdb2790d3308.js +0 -1
- package/angular/runtime-es5.6d2cff76cdb2790d3308.js +0 -1
- package/angular/styles.c5c6c2534225b85c4ff0.css +0 -1
- package/config/bad-words.json +0 -1
- package/config/complex-english.json +0 -400
- package/config/hydra-auth.json +0 -8
- package/config/hydra-crawler.json +0 -84
- package/config/list-allow.json +0 -171
- package/config/list-deny.json +0 -248
- package/config/list-expiry.json +0 -7
- package/config/schedule.json +0 -25
- package/config/spelling.json +0 -1
package/dist/classes/tracker.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { commonsAsyncAbortInterval, commonsAsyncInterval } from 'tscommons-es-async';
|
|
11
|
+
import { ECommonsInvocation } from 'tscommons-es-async';
|
|
12
|
+
import { commonsGracefulAbortAddCallback } from 'nodecommons-es-process';
|
|
13
|
+
import { commonsOutputAlert } from 'nodecommons-es-cli';
|
|
14
|
+
export class Tracker {
|
|
9
15
|
constructor(databaseService, socketIoServer) {
|
|
10
16
|
this.databaseService = databaseService;
|
|
11
17
|
this.socketIoServer = socketIoServer;
|
|
@@ -15,43 +21,51 @@ class Tracker {
|
|
|
15
21
|
this.fetches = [];
|
|
16
22
|
this.linkTallies = 0;
|
|
17
23
|
this.domainTallies = 0;
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
commonsGracefulAbortAddCallback(() => {
|
|
25
|
+
commonsOutputAlert('SIGINT abort flag is set. Aborting bandwidth.');
|
|
20
26
|
this.abort();
|
|
21
27
|
});
|
|
22
28
|
}
|
|
23
29
|
fetching(url) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.index
|
|
31
|
-
|
|
32
|
-
this.fetches.
|
|
33
|
-
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const fetch = {
|
|
32
|
+
index: ++this.index,
|
|
33
|
+
url: url
|
|
34
|
+
};
|
|
35
|
+
this.fetches.push(fetch);
|
|
36
|
+
if (this.index > 1000)
|
|
37
|
+
this.index = 0;
|
|
38
|
+
while (this.fetches.length > 999)
|
|
39
|
+
this.fetches.shift();
|
|
40
|
+
yield this.socketIoServer.fetching(fetch);
|
|
41
|
+
});
|
|
34
42
|
}
|
|
35
43
|
outcome(url, failed, statusCode) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const fetch = this.fetches
|
|
46
|
+
.find((f) => f.url === url);
|
|
47
|
+
if (!fetch)
|
|
48
|
+
return;
|
|
49
|
+
this.fetches = this.fetches
|
|
50
|
+
.filter((f) => f.index !== fetch.index);
|
|
51
|
+
const outcome = {
|
|
52
|
+
index: fetch.index,
|
|
53
|
+
failed: failed
|
|
54
|
+
};
|
|
55
|
+
if (statusCode !== undefined)
|
|
56
|
+
outcome.statusCode = statusCode;
|
|
57
|
+
yield this.socketIoServer.outcome(outcome);
|
|
58
|
+
});
|
|
49
59
|
}
|
|
50
60
|
done(url, statusCode) {
|
|
51
|
-
this
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
yield this.outcome(url, false, statusCode);
|
|
63
|
+
});
|
|
52
64
|
}
|
|
53
65
|
failed(url) {
|
|
54
|
-
this
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
yield this.outcome(url, true);
|
|
68
|
+
});
|
|
55
69
|
}
|
|
56
70
|
bandwidth(size) {
|
|
57
71
|
this.current += size;
|
|
@@ -61,9 +75,9 @@ class Tracker {
|
|
|
61
75
|
this.map.set(status, existing + delta);
|
|
62
76
|
}
|
|
63
77
|
abort() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
78
|
+
commonsAsyncAbortInterval('sync');
|
|
79
|
+
commonsAsyncAbortInterval('bandwidth');
|
|
80
|
+
commonsAsyncAbortInterval('tally');
|
|
67
81
|
}
|
|
68
82
|
link(count = 1) {
|
|
69
83
|
this.linkTallies += count;
|
|
@@ -71,32 +85,36 @@ class Tracker {
|
|
|
71
85
|
domain() {
|
|
72
86
|
this.domainTallies++;
|
|
73
87
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.linkTallies = await this.databaseService.getLinkTalliesCount();
|
|
80
|
-
this.domainTallies = await this.databaseService.getDomainTalliesCount();
|
|
81
|
-
}
|
|
82
|
-
async start() {
|
|
83
|
-
await this.sync();
|
|
84
|
-
tscommons_async_1.CommonsAsync.interval(1000, tscommons_async_2.ECommonsInvocation.IF, async () => {
|
|
85
|
-
this.socketIoServer.bandwidth(this.current);
|
|
86
|
-
this.current = 0;
|
|
87
|
-
}, 'bandwidth');
|
|
88
|
-
tscommons_async_1.CommonsAsync.interval(250, tscommons_async_2.ECommonsInvocation.IF, async () => {
|
|
89
|
-
const tallies = {};
|
|
90
|
-
for (const status of this.map.keys()) {
|
|
91
|
-
tallies[status] = this.map.get(status);
|
|
88
|
+
sync() {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const initial = yield this.databaseService.listStatusTallies();
|
|
91
|
+
for (const status of initial.keys()) {
|
|
92
|
+
this.map.set(status, initial.get(status));
|
|
92
93
|
}
|
|
93
|
-
this.
|
|
94
|
-
this.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
this.linkTallies = yield this.databaseService.getLinkTalliesCount();
|
|
95
|
+
this.domainTallies = yield this.databaseService.getDomainTalliesCount();
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
start() {
|
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
yield this.sync();
|
|
101
|
+
commonsAsyncInterval(1000, ECommonsInvocation.IF, () => __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
yield this.socketIoServer.bandwidth(this.current);
|
|
103
|
+
this.current = 0;
|
|
104
|
+
}), 'bandwidth');
|
|
105
|
+
commonsAsyncInterval(250, ECommonsInvocation.IF, () => __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const tallies = {};
|
|
107
|
+
for (const status of this.map.keys()) {
|
|
108
|
+
tallies[status] = this.map.get(status);
|
|
109
|
+
}
|
|
110
|
+
yield this.socketIoServer.statusTallies(tallies);
|
|
111
|
+
yield this.socketIoServer.linkTallies(this.linkTallies);
|
|
112
|
+
yield this.socketIoServer.domainTallies(this.domainTallies);
|
|
113
|
+
}), 'tally');
|
|
114
|
+
commonsAsyncInterval(60000, ECommonsInvocation.WHEN, () => __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
yield this.sync();
|
|
116
|
+
}), 'sync');
|
|
117
|
+
});
|
|
100
118
|
}
|
|
101
119
|
}
|
|
102
|
-
|
|
120
|
+
//# sourceMappingURL=tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/classes/tracker.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,OAAO,OAAO;IAWnB,YACU,eAAgC,EAChC,cAA8B;QAD9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAZhC,QAAG,GAAyB,IAAI,GAAG,EAAmB,CAAC;QAEvD,YAAO,GAAW,CAAC,CAAC;QAEpB,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAa,EAAE,CAAC;QAEvB,gBAAW,GAAW,CAAC,CAAC;QACxB,kBAAa,GAAW,CAAC,CAAC;QAMjC,+BAA+B,CAAC,GAAS,EAAE;YAC1C,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;YAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAEY,QAAQ,CAAC,GAAW;;YAChC,MAAM,KAAK,GAAW;gBACpB,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK;gBACnB,GAAG,EAAE,GAAG;aACT,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;gBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAEvD,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;KAAA;IAEa,OAAO,CAAC,GAAW,EAAE,MAAe,EAAE,UAAmB;;YACtE,MAAM,KAAK,GAAqB,IAAI,CAAC,OAAO;iBACzC,IAAI,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAE/C,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;iBACxB,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;YAE3D,MAAM,OAAO,GAAa;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,MAAM;aACf,CAAC;YACF,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YAE9D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEY,IAAI,CAAC,GAAW,EAAE,UAAkB;;YAChD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEY,MAAM,CAAC,GAAW;;YAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;KAAA;IAEM,SAAS,CAAC,IAAY;QAC5B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,MAAe,EAAE,KAAa;QAC1C,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK;QACX,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAClC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACvC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,IAAI,CAAC,QAAgB,CAAC;QAC5B,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;IAC3B,CAAC;IAEM,MAAM;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEa,IAAI;;YACjB,MAAM,OAAO,GAAyB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACrF,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;gBACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;YACpE,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;QACzE,CAAC;KAAA;IAEY,KAAK;;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,oBAAoB,CAClB,IAAI,EACJ,kBAAkB,CAAC,EAAE,EACrB,GAAwB,EAAE;gBACzB,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAClB,CAAC,CAAA,EACD,WAAW,CACZ,CAAC;YAEF,oBAAoB,CAClB,GAAG,EACH,kBAAkB,CAAC,EAAE,EACrB,GAAwB,EAAE;gBACzB,MAAM,OAAO,GAAmB,EAAE,CAAC;gBAEnC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;oBACrC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;iBACxC;gBAED,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC,CAAA,EACD,OAAO,CACR,CAAC;YAEF,oBAAoB,CAClB,KAAK,EACL,kBAAkB,CAAC,IAAI,EACvB,GAAwB,EAAE;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC,CAAA,EACD,MAAM,CACP,CAAC;QACH,CAAC;KAAA;CACD"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/cli.js
CHANGED
|
@@ -1,44 +1,50 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//const log = require('why-is-node-running');
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
import { commonsTypeIsObjectArray, commonsTypeIsTArray } from 'tscommons-es-core';
|
|
12
|
+
import { isTCommonsScheduleTime } from 'tscommons-es-async';
|
|
13
|
+
import { EStatus } from 'hydra-crawler-ts-assets';
|
|
14
|
+
import { CommonsArgs, commonsOutputInfo, commonsOutputSetDaemon, commonsOutputSetDebugging } from 'nodecommons-es-cli';
|
|
15
|
+
import { isICommonsCredentials } from 'nodecommons-es-database';
|
|
16
|
+
import { isIInternalHydraCommonDbApp, isIInternalHydraCommonListApp, isIInternalHydraCommonExpiryApp, isIInternalHydraCommonMaintenanceApp } from './apps/internal-hydra-common.app';
|
|
17
|
+
import { HydraApp } from './apps/hydra.app';
|
|
18
|
+
import { DenylistApp } from './apps/denylist.app';
|
|
19
|
+
import { CleanupApp } from './apps/cleanup.app';
|
|
20
|
+
import { ExpireApp } from './apps/expire.app';
|
|
21
|
+
import { ImportApp } from './apps/import.app';
|
|
22
|
+
import { ReattemptApp } from './apps/reattempt.app';
|
|
23
|
+
import { SeedApp } from './apps/seed.app';
|
|
24
|
+
import { StartupApp } from './apps/startup.app';
|
|
25
|
+
import { RequeueDomainApp } from './apps/requeue-domain.app';
|
|
26
|
+
import { UnarchiveApp } from './apps/unarchive.app';
|
|
27
|
+
import { QueryApp } from './apps/query.app';
|
|
28
|
+
import { CrossPopulateExportApp } from './apps/cross-populate-export.app';
|
|
29
|
+
import { CrossPopulateImportApp } from './apps/cross-populate-import.app';
|
|
30
|
+
import { ExtractTextApp } from './apps/extract-text.app';
|
|
31
|
+
import { DatabaseService } from './services/database.service';
|
|
32
|
+
import { isIMatch } from './interfaces/imatch';
|
|
33
|
+
import { isIExpiry, toIExpiry } from './interfaces/iexpiry';
|
|
34
|
+
import { filenameFromEList, ELISTS } from './enums/elist';
|
|
35
|
+
const args = new CommonsArgs();
|
|
30
36
|
if (args.hasAttribute('debug'))
|
|
31
|
-
|
|
37
|
+
commonsOutputSetDebugging(true);
|
|
32
38
|
if (args.hasAttribute('daemon'))
|
|
33
|
-
|
|
39
|
+
commonsOutputSetDaemon(true);
|
|
34
40
|
let app;
|
|
35
41
|
if (args.hasAttribute('denylist')) {
|
|
36
|
-
app = new
|
|
42
|
+
app = new DenylistApp();
|
|
37
43
|
}
|
|
38
44
|
else if (args.hasAttribute('cleanup')) {
|
|
39
45
|
const includeReset = args.hasAttribute('reset');
|
|
40
46
|
const includeLinks = args.hasAttribute('links');
|
|
41
|
-
app = new
|
|
47
|
+
app = new CleanupApp(includeReset, includeLinks);
|
|
42
48
|
}
|
|
43
49
|
else if (args.hasAttribute('expire')) {
|
|
44
50
|
let threshold;
|
|
@@ -49,94 +55,95 @@ else if (args.hasAttribute('expire')) {
|
|
|
49
55
|
if (args.hasAttribute('date')) {
|
|
50
56
|
threshold = args.getDate('date');
|
|
51
57
|
}
|
|
52
|
-
app = new
|
|
58
|
+
app = new ExpireApp(threshold);
|
|
53
59
|
}
|
|
54
60
|
else if (args.hasAttribute('import')) {
|
|
55
|
-
app = new
|
|
61
|
+
app = new ImportApp();
|
|
56
62
|
}
|
|
57
63
|
else if (args.hasAttribute('reattempt')) {
|
|
58
64
|
const include = [];
|
|
59
65
|
if (args.hasAttribute('failed'))
|
|
60
|
-
include.push(
|
|
66
|
+
include.push(EStatus.FAILED);
|
|
61
67
|
if (args.hasAttribute('dead'))
|
|
62
|
-
include.push(
|
|
63
|
-
app = new
|
|
68
|
+
include.push(EStatus.DEAD);
|
|
69
|
+
app = new ReattemptApp(include);
|
|
64
70
|
}
|
|
65
71
|
else if (args.hasAttribute('seed')) {
|
|
66
|
-
app = new
|
|
72
|
+
app = new SeedApp();
|
|
67
73
|
}
|
|
68
74
|
else if (args.hasAttribute('startup')) {
|
|
69
|
-
app = new
|
|
75
|
+
app = new StartupApp();
|
|
70
76
|
}
|
|
71
77
|
else if (args.hasAttribute('requeue-domain')) {
|
|
72
78
|
if (!args.hasProperty('domain', 'string'))
|
|
73
79
|
throw new Error('No domain supplied');
|
|
74
80
|
const domain = args.getString('domain');
|
|
75
|
-
app = new
|
|
81
|
+
app = new RequeueDomainApp(domain, args.hasProperty('done-200-only'));
|
|
76
82
|
}
|
|
77
83
|
else if (args.hasAttribute('unarchive')) {
|
|
78
|
-
app = new
|
|
84
|
+
app = new UnarchiveApp();
|
|
79
85
|
}
|
|
80
86
|
else if (args.hasAttribute('cross-populate-export')) {
|
|
81
87
|
const filename = args.getString('filename');
|
|
82
|
-
app = new
|
|
88
|
+
app = new CrossPopulateExportApp(filename);
|
|
83
89
|
}
|
|
84
90
|
else if (args.hasAttribute('cross-populate-import')) {
|
|
85
91
|
const filename = args.getString('filename');
|
|
86
|
-
app = new
|
|
92
|
+
app = new CrossPopulateImportApp(filename);
|
|
87
93
|
}
|
|
88
94
|
else if (args.hasProperty('query', 'string')) {
|
|
89
95
|
const query = args.getString('query');
|
|
90
|
-
app = new
|
|
96
|
+
app = new QueryApp(query);
|
|
91
97
|
}
|
|
92
98
|
else if (args.hasAttribute('extract-text')) {
|
|
93
99
|
const url = args.getString('url');
|
|
94
|
-
app = new
|
|
100
|
+
app = new ExtractTextApp(url);
|
|
95
101
|
}
|
|
96
102
|
else {
|
|
97
|
-
app = new
|
|
103
|
+
app = new HydraApp();
|
|
98
104
|
}
|
|
99
105
|
if (!app)
|
|
100
106
|
throw new Error('No app created. This should not be possible');
|
|
101
107
|
const configAuth = app.loadConfigFile('hydra-auth.json');
|
|
102
108
|
const credentials = configAuth.getObject('database');
|
|
103
|
-
if (!
|
|
109
|
+
if (!isICommonsCredentials(credentials))
|
|
104
110
|
throw new Error('Database credentials are not valid');
|
|
105
|
-
if (
|
|
106
|
-
const databaseService = new
|
|
111
|
+
if (isIInternalHydraCommonDbApp(app)) {
|
|
112
|
+
const databaseService = new DatabaseService(credentials);
|
|
107
113
|
app.setDatabaseService(databaseService);
|
|
108
114
|
}
|
|
109
|
-
if (
|
|
110
|
-
for (const list of
|
|
111
|
-
const filename =
|
|
115
|
+
if (isIInternalHydraCommonListApp(app)) {
|
|
116
|
+
for (const list of ELISTS) {
|
|
117
|
+
const filename = filenameFromEList(list);
|
|
112
118
|
const entries = app.loadRawJsonConfigFile(filename);
|
|
113
|
-
if (!
|
|
119
|
+
if (!commonsTypeIsTArray(entries, isIMatch))
|
|
114
120
|
throw new Error(`Invalid JSON list for ${list}`);
|
|
115
121
|
app.addToList(list, entries);
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
|
-
if (
|
|
124
|
+
if (isIInternalHydraCommonExpiryApp(app)) {
|
|
119
125
|
const data = app.loadRawJsonConfigFile('list-expiry.json');
|
|
120
|
-
if (!
|
|
126
|
+
if (!commonsTypeIsObjectArray(data))
|
|
121
127
|
throw new Error('Invalid expiry list');
|
|
122
128
|
const expiries = data
|
|
123
|
-
.map((expiry) =>
|
|
124
|
-
if (!
|
|
125
|
-
throw new Error(
|
|
129
|
+
.map((expiry) => toIExpiry(expiry));
|
|
130
|
+
if (!commonsTypeIsTArray(expiries, isIExpiry))
|
|
131
|
+
throw new Error('Invalid JSON list for expiry');
|
|
126
132
|
app.addToExpiry(expiries);
|
|
127
133
|
}
|
|
128
|
-
if (
|
|
134
|
+
if (isIInternalHydraCommonMaintenanceApp(app)) {
|
|
129
135
|
const data = app.loadRawJsonConfigFile('schedule.json');
|
|
130
|
-
if (!
|
|
136
|
+
if (!commonsTypeIsTArray(data, isTCommonsScheduleTime))
|
|
131
137
|
throw new Error('Invalid schedule list');
|
|
132
138
|
app.setMaintenanceSchedule(data);
|
|
133
139
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
140
|
+
void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
141
|
+
commonsOutputInfo(`Starting application: ${app.getAppName()}`);
|
|
142
|
+
yield app.start();
|
|
143
|
+
commonsOutputInfo('Application completed');
|
|
138
144
|
setTimeout(() => {
|
|
139
145
|
//log() // logs out active handles that are keeping node running
|
|
140
146
|
process.exit(0);
|
|
141
147
|
}, 100);
|
|
142
|
-
})();
|
|
148
|
+
}))();
|
|
149
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EAvailableStrategy = void 0;
|
|
4
|
-
var EAvailableStrategy;
|
|
1
|
+
export var EAvailableStrategy;
|
|
5
2
|
(function (EAvailableStrategy) {
|
|
6
3
|
EAvailableStrategy["LARGEST"] = "largest";
|
|
7
4
|
EAvailableStrategy["SMALLEST"] = "smallest";
|
|
8
|
-
})(EAvailableStrategy
|
|
5
|
+
})(EAvailableStrategy || (EAvailableStrategy = {}));
|
|
6
|
+
//# sourceMappingURL=eavailable-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eavailable-strategy.js","sourceRoot":"","sources":["../../src/enums/eavailable-strategy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;AACvB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B"}
|
package/dist/enums/elist.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ELISTS = exports.filenameFromEList = exports.keyToEList = exports.EList = void 0;
|
|
4
|
-
var EList;
|
|
1
|
+
export var EList;
|
|
5
2
|
(function (EList) {
|
|
6
3
|
EList["DENY"] = "deny";
|
|
7
4
|
EList["ALLOW"] = "allow";
|
|
8
|
-
})(EList
|
|
9
|
-
function keyToEList(key) {
|
|
5
|
+
})(EList || (EList = {}));
|
|
6
|
+
export function keyToEList(key) {
|
|
10
7
|
switch (key) {
|
|
11
8
|
case 'DENY':
|
|
12
9
|
return EList.DENY;
|
|
@@ -15,16 +12,15 @@ function keyToEList(key) {
|
|
|
15
12
|
}
|
|
16
13
|
throw new Error(`Unable to obtain EList for key: ${key}`);
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
function filenameFromEList(list) {
|
|
15
|
+
export function filenameFromEList(list) {
|
|
20
16
|
switch (list) {
|
|
21
17
|
case EList.DENY:
|
|
22
18
|
return 'list-deny.json';
|
|
23
19
|
case EList.ALLOW:
|
|
24
20
|
return 'list-allow.json';
|
|
25
21
|
}
|
|
26
|
-
throw new Error(
|
|
22
|
+
throw new Error('Unknown list entry');
|
|
27
23
|
}
|
|
28
|
-
|
|
29
|
-
exports.ELISTS = Object.keys(EList)
|
|
24
|
+
export const ELISTS = Object.keys(EList)
|
|
30
25
|
.map((key) => keyToEList(key));
|
|
26
|
+
//# sourceMappingURL=elist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elist.js","sourceRoot":"","sources":["../../src/enums/elist.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,wBAAe,CAAA;AACjB,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,QAAQ,GAAG,EAAE;QACZ,KAAK,MAAM;YACV,OAAO,KAAK,CAAC,IAAI,CAAC;QACnB,KAAK,OAAO;YACX,OAAO,KAAK,CAAC,KAAK,CAAC;KACpB;IAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAW;IAC5C,QAAQ,IAAI,EAAE;QACb,KAAK,KAAK,CAAC,IAAI;YACd,OAAO,gBAAgB,CAAC;QACzB,KAAK,KAAK,CAAC,KAAK;YACf,OAAO,iBAAiB,CAAC;KAC1B;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KAC9C,GAAG,CAAC,CAAC,GAAW,EAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
package/dist/enums/eserver.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EServer = void 0;
|
|
4
|
-
var EServer;
|
|
1
|
+
export var EServer;
|
|
5
2
|
(function (EServer) {
|
|
6
3
|
EServer["APACHE"] = "apache";
|
|
7
4
|
EServer["IIS"] = "iis";
|
|
@@ -9,4 +6,5 @@ var EServer;
|
|
|
9
6
|
EServer["CLOUDFLARE"] = "cloudflare";
|
|
10
7
|
EServer["AMAZONS3"] = "amazons3";
|
|
11
8
|
EServer["JETTY"] = "jetty";
|
|
12
|
-
})(EServer
|
|
9
|
+
})(EServer || (EServer = {}));
|
|
10
|
+
//# sourceMappingURL=eserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eserver.js","sourceRoot":"","sources":["../../src/enums/eserver.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,sBAAW,CAAA;IACX,0BAAe,CAAA;IACf,oCAAyB,CAAA;IACzB,gCAAqB,CAAA;IACrB,0BAAe,CAAA;AACjB,CAAC,EAPW,OAAO,KAAP,OAAO,QAOlB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EXPoweredBy = void 0;
|
|
4
|
-
var EXPoweredBy;
|
|
1
|
+
export var EXPoweredBy;
|
|
5
2
|
(function (EXPoweredBy) {
|
|
6
3
|
EXPoweredBy["PHP"] = "php";
|
|
7
4
|
EXPoweredBy["ASPNET"] = "asp.net";
|
|
8
5
|
EXPoweredBy["EXPRESS"] = "express";
|
|
9
6
|
EXPoweredBy["ZOPE"] = "zope";
|
|
10
|
-
})(EXPoweredBy
|
|
7
|
+
})(EXPoweredBy || (EXPoweredBy = {}));
|
|
8
|
+
//# sourceMappingURL=ex-powered-by.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ex-powered-by.js","sourceRoot":"","sources":["../../src/enums/ex-powered-by.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,iCAAkB,CAAA;IAClB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;AACf,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
|
package/dist/helpers/matcher.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Matcher = void 0;
|
|
4
|
-
class Matcher {
|
|
1
|
+
export class Matcher {
|
|
5
2
|
static matches(url, test) {
|
|
6
3
|
for (const key of Object.keys(test)) {
|
|
7
4
|
const regex = new RegExp(test[key]);
|
|
@@ -19,4 +16,4 @@ class Matcher {
|
|
|
19
16
|
return false;
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
|
-
|
|
19
|
+
//# sourceMappingURL=matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/helpers/matcher.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,OAAO;IACrB,MAAM,CAAC,OAAO,CAAC,GAAQ,EAAE,IAAY;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpC,MAAM,KAAK,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAW,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAW,CAAC;gBAAE,OAAO,KAAK,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,IAAc;QACnD,MAAM,MAAM,GAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,KAAK,MAAM,WAAW,IAAI,IAAI,EAAE;YAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;SACtD;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
|
package/dist/helpers/random.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Random = void 0;
|
|
4
|
-
class Random {
|
|
1
|
+
export class Random {
|
|
5
2
|
static randomise(value, crawlConfig) {
|
|
6
3
|
const delta = (Math.random() - 0.5) * 2;
|
|
7
4
|
const ratio = crawlConfig.randomisation * delta;
|
|
8
5
|
return value * (1 + ratio);
|
|
9
6
|
}
|
|
10
7
|
}
|
|
11
|
-
|
|
8
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/helpers/random.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,MAAM;IACpB,MAAM,CAAC,SAAS,CAAC,KAAa,EAAE,WAAyB;QAC/D,MAAM,KAAK,GAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,KAAK,GAAW,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC;QAExD,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC5B,CAAC;CACD"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.UtfDecoder = void 0;
|
|
4
|
-
const chardet = require("chardet");
|
|
5
|
-
class UtfDecoder {
|
|
1
|
+
import * as chardet from 'chardet';
|
|
2
|
+
export class UtfDecoder {
|
|
6
3
|
static fromBuffer(incoming) {
|
|
7
4
|
if (incoming === undefined)
|
|
8
5
|
return undefined;
|
|
@@ -33,4 +30,4 @@ class UtfDecoder {
|
|
|
33
30
|
return undefined;
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
|
|
33
|
+
//# sourceMappingURL=utf-decoder.js.map
|