Removed unused scripts using bhttp and removed dependency.
This commit is contained in:
Generated
+1
-352
@@ -17,7 +17,6 @@
|
|||||||
"@tensorflow/tfjs-core": "4.22.0",
|
"@tensorflow/tfjs-core": "4.22.0",
|
||||||
"@tensorflow/tfjs-node": "^4.22.0",
|
"@tensorflow/tfjs-node": "^4.22.0",
|
||||||
"@vladmandic/human": "^3.3.6",
|
"@vladmandic/human": "^3.3.6",
|
||||||
"bhttp": "^1.2.8",
|
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"bottleneck": "^2.19.5",
|
"bottleneck": "^2.19.5",
|
||||||
"casual": "^1.6.2",
|
"casual": "^1.6.2",
|
||||||
@@ -718,9 +717,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -737,9 +733,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -756,9 +749,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -775,9 +765,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -794,9 +781,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -813,9 +797,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -832,9 +813,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -851,9 +829,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -870,9 +845,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -895,9 +867,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -920,9 +889,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -945,9 +911,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -970,9 +933,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -995,9 +955,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -1020,9 +977,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -1045,9 +999,6 @@
|
|||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -2648,34 +2599,6 @@
|
|||||||
"url": "https://github.com/sponsors/wooorm"
|
"url": "https://github.com/sponsors/wooorm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/bhttp": {
|
|
||||||
"version": "1.2.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/bhttp/-/bhttp-1.2.8.tgz",
|
|
||||||
"integrity": "sha512-ZwEA5FKEUhc98EHRX+BkNmUOs48RTnglvfze2+p0HrMPwhQBtVw1aAYyylnCtRl6x6vltCkzGo2+twQ6LVfm6Q==",
|
|
||||||
"license": "WTFPL OR CC0-1.0",
|
|
||||||
"dependencies": {
|
|
||||||
"bluebird": "^2.8.2",
|
|
||||||
"concat-stream": "^1.4.7",
|
|
||||||
"debug": "^2.1.1",
|
|
||||||
"dev-null": "^0.1.1",
|
|
||||||
"errors": "^0.2.0",
|
|
||||||
"extend": "^2.0.0",
|
|
||||||
"form-data2": "^1.0.0",
|
|
||||||
"form-fix-array": "^1.0.0",
|
|
||||||
"lodash.clonedeep": "^4.5.0",
|
|
||||||
"lodash.merge": "^4.6.2",
|
|
||||||
"stream-length": "^1.0.2",
|
|
||||||
"through2-sink": "^1.0.0",
|
|
||||||
"through2-spy": "^1.2.0",
|
|
||||||
"tough-cookie": "^2.3.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/bhttp/node_modules/bluebird": {
|
|
||||||
"version": "2.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
|
|
||||||
"integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/binary-extensions": {
|
"node_modules/binary-extensions": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
|
||||||
@@ -3074,23 +2997,6 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/combined-stream2": {
|
|
||||||
"version": "1.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream2/-/combined-stream2-1.1.2.tgz",
|
|
||||||
"integrity": "sha512-sVqUHJmbdVm+HZWy4l34BPLczxI4fltN4Bm2vcvASsqBIXW4xFb4TRkwM8bw/UUXK9/OdHdAwi2cRYVEKrxzbg==",
|
|
||||||
"license": "WTFPL",
|
|
||||||
"dependencies": {
|
|
||||||
"bluebird": "^2.8.1",
|
|
||||||
"debug": "^2.1.1",
|
|
||||||
"stream-length": "^1.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/combined-stream2/node_modules/bluebird": {
|
|
||||||
"version": "2.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
|
|
||||||
"integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/commander": {
|
"node_modules/commander": {
|
||||||
"version": "10.0.1",
|
"version": "10.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
|
||||||
@@ -3106,21 +3012,6 @@
|
|||||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/concat-stream": {
|
|
||||||
"version": "1.6.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
|
||||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
|
||||||
"engines": [
|
|
||||||
"node >= 0.8"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"buffer-from": "^1.0.0",
|
|
||||||
"inherits": "^2.0.3",
|
|
||||||
"readable-stream": "^2.2.2",
|
|
||||||
"typedarray": "^0.0.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/config": {
|
"node_modules/config": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/config/-/config-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/config/-/config-5.0.1.tgz",
|
||||||
@@ -3203,12 +3094,6 @@
|
|||||||
"url": "https://opencollective.com/core-js"
|
"url": "https://opencollective.com/core-js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/core-util-is": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
|
|
||||||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/create-error": {
|
"node_modules/create-error": {
|
||||||
"version": "0.3.1",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/create-error/-/create-error-0.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/create-error/-/create-error-0.3.1.tgz",
|
||||||
@@ -3433,12 +3318,6 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dev-null": {
|
|
||||||
"version": "0.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz",
|
|
||||||
"integrity": "sha512-nMNZG0zfMgmdv8S5O0TM5cpwNbGKRGPCxVsr0SmA3NZZy9CYBbuNLL0PD3Acx9e5LIUgwONXtM9kM6RlawPxEQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/doctrine": {
|
"node_modules/doctrine": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||||
@@ -3533,15 +3412,6 @@
|
|||||||
"url": "https://github.com/fb55/entities?sponsor=1"
|
"url": "https://github.com/fb55/entities?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/errors": {
|
|
||||||
"version": "0.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/errors/-/errors-0.2.0.tgz",
|
|
||||||
"integrity": "sha512-W0w4yTo+twP/wGTF25kBGAXroAHzvxZvEDHJsCixlWS8lf8li0aZDhT+hz0mHQwsSW5esD5jyTQkaqA0ZHF83A==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/es-abstract": {
|
"node_modules/es-abstract": {
|
||||||
"version": "1.24.2",
|
"version": "1.24.2",
|
||||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz",
|
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz",
|
||||||
@@ -4295,12 +4165,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/extend": {
|
|
||||||
"version": "2.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/extend/-/extend-2.0.2.tgz",
|
|
||||||
"integrity": "sha512-AgFD4VU+lVLP6vjnlNfF7OeInLTyeyckCNPEsuxz1vi786UuK/nk6ynPuhn/h+Ju9++TQyr5EpLRI14fc1QtTQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/fast-deep-equal": {
|
"node_modules/fast-deep-equal": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||||
@@ -4559,43 +4423,6 @@
|
|||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/form-data2": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data2/-/form-data2-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-buz4C3F6/7Vpdxt7dNU/tSfjQO/5z9Pyjfb43VhlVvSos5zVhCcMuW9sF1yJ2FdxZRCD2sWQ9WhqUiYLt+AUVQ==",
|
|
||||||
"license": "WTFPL",
|
|
||||||
"dependencies": {
|
|
||||||
"bluebird": "^2.8.2",
|
|
||||||
"combined-stream2": "^1.0.2",
|
|
||||||
"debug": "^2.1.1",
|
|
||||||
"mime": "^1.3.4",
|
|
||||||
"uuid": "^2.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/form-data2/node_modules/bluebird": {
|
|
||||||
"version": "2.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
|
|
||||||
"integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/form-data2/node_modules/mime": {
|
|
||||||
"version": "1.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
|
||||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"bin": {
|
|
||||||
"mime": "cli.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/form-fix-array": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-fix-array/-/form-fix-array-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-f3qXI4CcvW7/6vqTKwCftcrFgfEBfWYPQTfvXrHYevHbJVfc107/SVvXvwUAYMaUAHdvu9ENQvLufJKphQI14w==",
|
|
||||||
"license": "WTFPL"
|
|
||||||
},
|
|
||||||
"node_modules/formdata-polyfill": {
|
"node_modules/formdata-polyfill": {
|
||||||
"version": "4.0.10",
|
"version": "4.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
|
||||||
@@ -5842,12 +5669,6 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/isarray": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/isexe": {
|
"node_modules/isexe": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||||
@@ -6175,12 +5996,6 @@
|
|||||||
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/lodash.clonedeep": {
|
|
||||||
"version": "4.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
|
||||||
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/lodash.debounce": {
|
"node_modules/lodash.debounce": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
||||||
@@ -6214,6 +6029,7 @@
|
|||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/lodash.unionwith": {
|
"node_modules/lodash.unionwith": {
|
||||||
@@ -7251,12 +7067,6 @@
|
|||||||
"prettyjson": "bin/prettyjson"
|
"prettyjson": "bin/prettyjson"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/process-nextick-args": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/progress": {
|
"node_modules/progress": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||||
@@ -7301,18 +7111,6 @@
|
|||||||
"url": "https://opencollective.com/express"
|
"url": "https://opencollective.com/express"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/psl": {
|
|
||||||
"version": "1.15.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
|
|
||||||
"integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"punycode": "^2.3.1"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/lupomontero"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/punycode": {
|
"node_modules/punycode": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
||||||
@@ -7384,36 +7182,6 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/readable-stream": {
|
|
||||||
"version": "2.3.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
|
||||||
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"core-util-is": "~1.0.0",
|
|
||||||
"inherits": "~2.0.3",
|
|
||||||
"isarray": "~1.0.0",
|
|
||||||
"process-nextick-args": "~2.0.0",
|
|
||||||
"safe-buffer": "~5.1.1",
|
|
||||||
"string_decoder": "~1.1.1",
|
|
||||||
"util-deprecate": "~1.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/readable-stream/node_modules/safe-buffer": {
|
|
||||||
"version": "5.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
|
||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/readable-stream/node_modules/string_decoder": {
|
|
||||||
"version": "1.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
|
||||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"safe-buffer": "~5.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/readdirp": {
|
"node_modules/readdirp": {
|
||||||
"version": "3.6.0",
|
"version": "3.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||||
@@ -8214,21 +7982,6 @@
|
|||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/stream-length": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-aI+qKFiwoDV4rsXiS7WRoCt+v2RX1nUj17+KJC5r2gfh5xoSJIfP6Y3Do/HtvesFcTSWthIuJ3l1cvKQY/+nZg==",
|
|
||||||
"license": "WTFPL",
|
|
||||||
"dependencies": {
|
|
||||||
"bluebird": "^2.6.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/stream-length/node_modules/bluebird": {
|
|
||||||
"version": "2.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
|
|
||||||
"integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/string_decoder": {
|
"node_modules/string_decoder": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||||
@@ -8439,84 +8192,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/through2": {
|
|
||||||
"version": "0.5.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
|
|
||||||
"integrity": "sha512-zexCrAOTbjkBCXGyozn7hhS3aEaqdrc59mAD2E3dKYzV1vFuEGQ1hEDJN2oQMQFwy4he2zyLqPZV+AlfS8ZWJA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"readable-stream": "~1.0.17",
|
|
||||||
"xtend": "~3.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/through2-sink": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/through2-sink/-/through2-sink-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-9HvIHIEXZ5YgstQx3vsu4U/QQ/n7X5RHlXf8MsfSEnEzeUFbX9BHBWmlwdQ1b6CzDlUEDwjFnkSIxpJZ6qP+0Q==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"through2": "~0.5.1",
|
|
||||||
"xtend": "~3.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/through2-sink/node_modules/xtend": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/through2-spy": {
|
|
||||||
"version": "1.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/through2-spy/-/through2-spy-1.2.0.tgz",
|
|
||||||
"integrity": "sha512-QJ/32YGXA8K/PlkT/7kJOfWZREdlwoCcdVOL/wZHhV0JQJlwUQeDi4QZrEUEAdIL6Kjb9BRdHHz65zg+rzFxuA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"through2": "~0.5.1",
|
|
||||||
"xtend": "~3.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/through2-spy/node_modules/xtend": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/through2/node_modules/isarray": {
|
|
||||||
"version": "0.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
|
||||||
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/through2/node_modules/readable-stream": {
|
|
||||||
"version": "1.0.34",
|
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
|
|
||||||
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"core-util-is": "~1.0.0",
|
|
||||||
"inherits": "~2.0.1",
|
|
||||||
"isarray": "0.0.1",
|
|
||||||
"string_decoder": "~0.10.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/through2/node_modules/string_decoder": {
|
|
||||||
"version": "0.10.31",
|
|
||||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
|
||||||
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/through2/node_modules/xtend": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/tildify": {
|
"node_modules/tildify": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz",
|
||||||
@@ -8566,19 +8241,6 @@
|
|||||||
"node": ">=0.6"
|
"node": ">=0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tough-cookie": {
|
|
||||||
"version": "2.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
|
||||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"dependencies": {
|
|
||||||
"psl": "^1.1.28",
|
|
||||||
"punycode": "^2.1.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/tr46": {
|
"node_modules/tr46": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-7.0.0.tgz",
|
||||||
@@ -8758,12 +8420,6 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typedarray": {
|
|
||||||
"version": "0.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
|
||||||
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/umzug": {
|
"node_modules/umzug": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz",
|
||||||
@@ -9265,13 +8921,6 @@
|
|||||||
"node": ">= 0.4.0"
|
"node": ">= 0.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/uuid": {
|
|
||||||
"version": "2.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
|
|
||||||
"integrity": "sha512-FULf7fayPdpASncVy4DLh3xydlXEJJpvIELjYjNeQWYUZ9pclcpvCZSr2gkmN2FrrGcI7G/cJsIEwk5/8vfXpg==",
|
|
||||||
"deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/vary": {
|
"node_modules/vary": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||||
|
|||||||
@@ -49,7 +49,6 @@
|
|||||||
"@tensorflow/tfjs-core": "4.22.0",
|
"@tensorflow/tfjs-core": "4.22.0",
|
||||||
"@tensorflow/tfjs-node": "^4.22.0",
|
"@tensorflow/tfjs-node": "^4.22.0",
|
||||||
"@vladmandic/human": "^3.3.6",
|
"@vladmandic/human": "^3.3.6",
|
||||||
"bhttp": "^1.2.8",
|
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"bottleneck": "^2.19.5",
|
"bottleneck": "^2.19.5",
|
||||||
"casual": "^1.6.2",
|
"casual": "^1.6.2",
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ const { fetchEntityReleaseIds } = require('./entity-releases');
|
|||||||
const streamQueue = taskQueue();
|
const streamQueue = taskQueue();
|
||||||
|
|
||||||
// carried over from the legacy HTTP module, unprint's raw request interface would identify as traxxx
|
// carried over from the legacy HTTP module, unprint's raw request interface would identify as traxxx
|
||||||
const mediaUserAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36';
|
const mediaUserAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36';
|
||||||
|
|
||||||
const s3 = new S3Client({
|
const s3 = new S3Client({
|
||||||
region: 'eu-central-1',
|
region: 'eu-central-1',
|
||||||
|
|||||||
@@ -1,84 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const fs = require('fs').promises;
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
const slugify = require('../utils/slugify');
|
|
||||||
const { studios: oldStudios } = require('../../seeds/03_studios');
|
|
||||||
|
|
||||||
/*
|
|
||||||
const slugMap = {
|
|
||||||
thay_ksada: 'thayksada2',
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
async function init() {
|
|
||||||
const res = await bhttp.get('https://pornbox.com/studio/list');
|
|
||||||
|
|
||||||
if (!res.statusCode === 200) {
|
|
||||||
throw new Error(`Failed to retrieve studios (${res.statusCode}): ${res.body.toString()}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const newStudios = res.body.map((studio) => {
|
|
||||||
const slug = slugify(studio.name, '');
|
|
||||||
const oldStudio = oldStudios.find((oldStudioX) => oldStudioX.slug === slug);
|
|
||||||
|
|
||||||
const tags = oldStudio?.tags || [];
|
|
||||||
|
|
||||||
const newStudio = {
|
|
||||||
name: studio.name,
|
|
||||||
slug,
|
|
||||||
originalSlug: slugify(studio.alias, ''),
|
|
||||||
url: `https://www.analvids.com/studios/${studio.alias}`,
|
|
||||||
parent: 'analvids',
|
|
||||||
};
|
|
||||||
|
|
||||||
if (oldStudio?.alias) {
|
|
||||||
newStudio.alias = oldStudio.alias;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (studio.description && studio.description.toLowerCase() !== studio.name.toLowerCase()) {
|
|
||||||
newStudio.description = studio.description;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (studio.directions?.includes('gay')) {
|
|
||||||
tags.push('gay');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (studio.directions?.includes('lesbian')) {
|
|
||||||
tags.push('lesbian');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (studio.directions?.includes('trans')) {
|
|
||||||
tags.push('transsexual');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tags.length > 0) {
|
|
||||||
newStudio.tags = Array.from(new Set(tags));
|
|
||||||
}
|
|
||||||
|
|
||||||
return newStudio;
|
|
||||||
});
|
|
||||||
|
|
||||||
await fs.writeFile('./analvids-studios.json', JSON.stringify(newStudios, null, 4));
|
|
||||||
|
|
||||||
newStudios.reduce((acc, studio) => {
|
|
||||||
const existingStudio = acc.get(studio.slug);
|
|
||||||
|
|
||||||
if (existingStudio) {
|
|
||||||
if (!acc.has(studio.originalSlug)) {
|
|
||||||
console.log('REWRITE', studio.slug, studio.originalSlug);
|
|
||||||
studio.slug = studio.originalSlug; // eslint-disable-line
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log('slug already exists!', existingStudio, studio, studio.originalSlug, studio.slug);
|
|
||||||
}
|
|
||||||
|
|
||||||
acc.set(studio.slug, studio);
|
|
||||||
|
|
||||||
return acc;
|
|
||||||
}, new Map());
|
|
||||||
|
|
||||||
// console.log(newStudios);
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
|
|
||||||
async function init() {
|
|
||||||
const res = await bhttp.head('https://www.kink.com/consent', {
|
|
||||||
headers: {
|
|
||||||
Host: 'www.kink.com',
|
|
||||||
'User-Agent': 'HTTPie/2.6.0',
|
|
||||||
Accept: '*/*',
|
|
||||||
Connection: 'keep-alive',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(res.body.toString(), res.headers, res.statusCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
const Promise = require('bluebird');
|
|
||||||
const fsPromises = require('fs').promises;
|
|
||||||
const fs = require('fs');
|
|
||||||
const { PassThrough } = require('stream');
|
|
||||||
const crypto = require('crypto');
|
|
||||||
const argv = require('yargs')(require('yargs/helpers').hideBin(process.argv)).argv;
|
|
||||||
|
|
||||||
const file = 'https://speed.hetzner.de/100MB.bin';
|
|
||||||
// const file = 'https://speed.hetzner.de/1GB.bin';
|
|
||||||
// const file = 'https://speed.hetzner.de/10GB.bin';
|
|
||||||
|
|
||||||
function getMemoryUsage() {
|
|
||||||
return process.memoryUsage().rss / (10 ** 6);
|
|
||||||
}
|
|
||||||
|
|
||||||
const stats = {
|
|
||||||
peakMemoryUsage: getMemoryUsage(),
|
|
||||||
done: false,
|
|
||||||
downloads: {},
|
|
||||||
};
|
|
||||||
|
|
||||||
function render() {
|
|
||||||
const downloads = Object.entries(stats.downloads);
|
|
||||||
|
|
||||||
process.stdout.clearScreenDown();
|
|
||||||
|
|
||||||
process.stdout.write(`peak memory: ${stats.peakMemoryUsage.toFixed(2)} MB\n`);
|
|
||||||
|
|
||||||
downloads.forEach(([download, progress]) => {
|
|
||||||
process.stdout.write(`${download}: ${progress}${typeof progress === 'string' ? '' : '%'}\n`);
|
|
||||||
});
|
|
||||||
|
|
||||||
process.stdout.moveCursor(0, -(downloads.length + 1));
|
|
||||||
process.stdout.cursorTo(0);
|
|
||||||
|
|
||||||
if (downloads.length === 0 || !downloads.every(([_label, download]) => typeof download === 'string')) {
|
|
||||||
setTimeout(() => render(), 1000);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
process.stdout.moveCursor(0, downloads.length + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
function setProgress(label, completedBytes, totalBytes, hash) {
|
|
||||||
const memory = getMemoryUsage();
|
|
||||||
|
|
||||||
stats.peakMemoryUsage = Math.max(memory, stats.peakMemoryUsage);
|
|
||||||
stats.downloads[label] = hash || Math.round((completedBytes / totalBytes) * 100);
|
|
||||||
}
|
|
||||||
|
|
||||||
async function buffered(label) {
|
|
||||||
const hash = crypto.createHash('blake2b512');
|
|
||||||
|
|
||||||
const imageRes = await bhttp.get(file, {
|
|
||||||
onDownloadProgress(completedBytes, totalBytes) {
|
|
||||||
setProgress(label, completedBytes, totalBytes);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
hash.update(imageRes.body);
|
|
||||||
setProgress(label, null, null, hash.digest('hex'));
|
|
||||||
|
|
||||||
await fsPromises.writeFile(`/mnt/stor/Pictures/traxxx/temp/buffered-${label}.bin`, imageRes.body);
|
|
||||||
}
|
|
||||||
|
|
||||||
async function streamed(label) {
|
|
||||||
const hash = crypto.createHash('blake2b512');
|
|
||||||
hash.setEncoding('hex');
|
|
||||||
|
|
||||||
const hashStream = new PassThrough();
|
|
||||||
const targetStream = fs.createWriteStream(`/mnt/stor/Pictures/traxxx/temp/streamed-${label}.bin`);
|
|
||||||
|
|
||||||
const imageRes = await bhttp.get(file, {
|
|
||||||
stream: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
const stream = imageRes
|
|
||||||
.pipe(hashStream)
|
|
||||||
.pipe(targetStream);
|
|
||||||
|
|
||||||
imageRes.on('progress', (completedBytes, totalBytes) => {
|
|
||||||
setProgress(label, completedBytes, totalBytes);
|
|
||||||
});
|
|
||||||
|
|
||||||
hashStream.on('data', (chunk) => {
|
|
||||||
hash.write(chunk);
|
|
||||||
});
|
|
||||||
|
|
||||||
stream.on('finish', () => {
|
|
||||||
hash.end();
|
|
||||||
setProgress(label, null, null, hash.read());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
async function init() {
|
|
||||||
const n = argv.n || 1;
|
|
||||||
|
|
||||||
if (argv._.includes('stream')) {
|
|
||||||
console.log('using streams');
|
|
||||||
render();
|
|
||||||
|
|
||||||
await Promise.map(Array.from({ length: n }), async (value, index) => streamed(index + 1));
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (argv._.includes('buffer')) {
|
|
||||||
console.log('using buffers');
|
|
||||||
render();
|
|
||||||
|
|
||||||
await Promise.map(Array.from({ length: n }), async (value, index) => buffered(index + 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
const sharp = require('sharp');
|
|
||||||
const { argv } = require('yargs')(require('yargs/helpers').hideBin(process.argv));
|
|
||||||
|
|
||||||
const url = argv.url || 'http://localhost:5000/media/actors/tommy-pistol/1580341442712.jpeg';
|
|
||||||
|
|
||||||
async function scan() {
|
|
||||||
console.log(url);
|
|
||||||
|
|
||||||
const res = await bhttp.get(url);
|
|
||||||
const stats = await sharp(res.body).stats();
|
|
||||||
|
|
||||||
console.log(stats);
|
|
||||||
}
|
|
||||||
|
|
||||||
scan();
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const Promise = require('bluebird');
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
|
|
||||||
const knex = require('../knex');
|
|
||||||
|
|
||||||
async function run() {
|
|
||||||
const network = await knex('networks').where('slug', 'mofos').first();
|
|
||||||
const sites = await knex('sites').where('network_id', network.id);
|
|
||||||
|
|
||||||
await Promise.map(sites, async (site) => {
|
|
||||||
const res = await bhttp.get(site.url);
|
|
||||||
|
|
||||||
console.log(site.url, res.statusCode);
|
|
||||||
}, {
|
|
||||||
concurrency: 5,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
run();
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const Promise = require('bluebird');
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
const fs = require('fs-extra');
|
|
||||||
const knex = require('../knex');
|
|
||||||
|
|
||||||
async function init() {
|
|
||||||
const sites = await knex('sites')
|
|
||||||
.select('networks.name', 'sites.slug')
|
|
||||||
.join('networks', 'networks.id', 'sites.network_id')
|
|
||||||
.where('networks.slug', 'score');
|
|
||||||
|
|
||||||
await Promise.map(sites, async (site) => {
|
|
||||||
const url = `https://cdn77.scoreuniverse.com/${site.slug}/images/logo.png`;
|
|
||||||
|
|
||||||
console.log(url);
|
|
||||||
|
|
||||||
const res = await bhttp.get(url, {
|
|
||||||
responseTimeout: 5000,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (res.statusCode === 200) {
|
|
||||||
console.log(`Saving logo for ${site.slug}`);
|
|
||||||
|
|
||||||
await fs.writeFile(`./score/${site.slug}.png`, res.body);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(`No logo found for ${site.slug}`);
|
|
||||||
}, {
|
|
||||||
concurrency: 10,
|
|
||||||
});
|
|
||||||
|
|
||||||
knex.destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const config = require('config');
|
|
||||||
const { PassThrough } = require('stream');
|
|
||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
const crypto = require('crypto');
|
|
||||||
const sharp = require('sharp');
|
|
||||||
|
|
||||||
const url = 'https://thumbs.julesjordan.com/trial/content//upload/dl03/julesjordan/oil_overload_16_scene2//photos/alina_lopez_jules_jordan_com_77.jpg';
|
|
||||||
|
|
||||||
async function init() {
|
|
||||||
const hash = crypto.createHash('blake2b512');
|
|
||||||
hash.setEncoding('hex');
|
|
||||||
|
|
||||||
const res = await bhttp.get(url, {
|
|
||||||
stream: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
const metaStream = sharp();
|
|
||||||
const hashStream = new PassThrough();
|
|
||||||
const target = fs.createWriteStream(path.join(config.media.path, 'temp', 'alina.jpg'));
|
|
||||||
const thumbTarget = fs.createWriteStream(path.join(config.media.path, 'temp', 'alina_thumb.jpg'));
|
|
||||||
|
|
||||||
hashStream.on('data', (chunk) => {
|
|
||||||
hash.write(chunk);
|
|
||||||
});
|
|
||||||
|
|
||||||
metaStream.clone()
|
|
||||||
.resize(320)
|
|
||||||
.pipe(thumbTarget);
|
|
||||||
|
|
||||||
const stream = res
|
|
||||||
.pipe(metaStream)
|
|
||||||
.pipe(hashStream)
|
|
||||||
.pipe(target);
|
|
||||||
|
|
||||||
stream.on('finish', () => {
|
|
||||||
hash.end();
|
|
||||||
const digest = hash.read();
|
|
||||||
|
|
||||||
console.log('stream', digest);
|
|
||||||
});
|
|
||||||
|
|
||||||
metaStream.on('info', (info) => {
|
|
||||||
console.log('info', info);
|
|
||||||
});
|
|
||||||
|
|
||||||
const stats = await metaStream.stats();
|
|
||||||
|
|
||||||
console.log('stats', stats);
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
@@ -1,827 +0,0 @@
|
|||||||
const Promise = require('bluebird');
|
|
||||||
const bhttp = require('bhttp');
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
const channels = [{
|
|
||||||
name: 'Analyzed Girls',
|
|
||||||
slug: 'analyzedgirls',
|
|
||||||
url: 'https://analyzedgirls.com',
|
|
||||||
alias: ['ag',
|
|
||||||
],
|
|
||||||
tags: ['anal',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 178,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Archived Updates',
|
|
||||||
slug: 'archivedupdates',
|
|
||||||
url: 'https://archivedupdates.com',
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 482,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Ass Teen Mouth',
|
|
||||||
slug: 'assteenmouth',
|
|
||||||
url: 'https://assteenmouth.com',
|
|
||||||
alias: ['atm',
|
|
||||||
],
|
|
||||||
tags: ['anal',
|
|
||||||
'atm',
|
|
||||||
'teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 180,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Bang Teen Pussy',
|
|
||||||
slug: 'bangteenpussy',
|
|
||||||
url: 'https://bangteenpussy.com',
|
|
||||||
alias: ['btp',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 182,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Brutal Invasion',
|
|
||||||
slug: 'brutalinvasion',
|
|
||||||
url: 'https://brutalinvasion.com',
|
|
||||||
alias: ['bin',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 184,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Clean My Ass',
|
|
||||||
slug: 'cleanmyass',
|
|
||||||
url: 'https://cleanmyass.com',
|
|
||||||
tags: ['ass-eating'],
|
|
||||||
alias: ['cma',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 362,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'College Party Time',
|
|
||||||
slug: 'collegepartytime',
|
|
||||||
url: 'https://collegepartytime.com',
|
|
||||||
alias: ['cpt',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 278,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Cumaholic Teens',
|
|
||||||
slug: 'cumaholicteens',
|
|
||||||
url: 'https://cumaholicteens.com',
|
|
||||||
alias: ['ct',
|
|
||||||
'cumoholic teens',
|
|
||||||
'cumoholicteens',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 186,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Cum Filled Throat',
|
|
||||||
slug: 'cumfilledthroat',
|
|
||||||
url: 'https://cumfilledthroat.com',
|
|
||||||
alias: ['cft',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 280,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Cum Sumption Cocktail',
|
|
||||||
slug: 'cumsumptioncocktail',
|
|
||||||
url: 'https://cumsumptioncocktail.com',
|
|
||||||
alias: ['csc',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 282,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Defiled18',
|
|
||||||
slug: 'defiled18',
|
|
||||||
url: 'https://defiled18.com',
|
|
||||||
alias: ['d18',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 188,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Dirty Baby Sitter',
|
|
||||||
slug: 'dirtybabysitter',
|
|
||||||
url: 'https://dirtybabysitter.com',
|
|
||||||
alias: ['dbs',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 284,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Double Teamed Teens',
|
|
||||||
slug: 'doubleteamedteens',
|
|
||||||
url: 'https://doubleteamedteens.com',
|
|
||||||
alias: ['dtt',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
'dp',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 190,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Dreamteens HD',
|
|
||||||
slug: 'dreamteenshd',
|
|
||||||
url: 'https://dreamteenshd.com',
|
|
||||||
alias: ['dhd',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 192,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Drill Her Butt',
|
|
||||||
slug: 'drillherbutt',
|
|
||||||
url: 'https://drillherbutt.com',
|
|
||||||
tags: ['anal'],
|
|
||||||
alias: ['dhb',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 288,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Dual Throat',
|
|
||||||
slug: 'dualthroat',
|
|
||||||
url: 'https://dualthroat.com',
|
|
||||||
alias: ['dt',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 290,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Gang Land Victims',
|
|
||||||
slug: 'ganglandvictims',
|
|
||||||
url: 'https://ganglandvictims.com',
|
|
||||||
alias: ['glv',
|
|
||||||
],
|
|
||||||
tags: ['gangbang',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 292,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Girls Got Cream',
|
|
||||||
slug: 'girlsgotcream',
|
|
||||||
url: 'https://girlsgotcream.com',
|
|
||||||
alias: ['ggc',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 194,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Hardcore Youth',
|
|
||||||
slug: 'hardcoreyouth',
|
|
||||||
url: 'https://hardcoreyouth.com',
|
|
||||||
alias: ['hcy',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 196,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Little Hellcat',
|
|
||||||
slug: 'littlehellcat',
|
|
||||||
url: 'https://littlehellcat.com',
|
|
||||||
alias: ['lhc',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 198,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Little Teen Suckers',
|
|
||||||
slug: 'littleteensuckers',
|
|
||||||
url: 'https://littleteensuckers.com',
|
|
||||||
alias: ['lts',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 294,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'MAIKO',
|
|
||||||
slug: 'maiko',
|
|
||||||
url: 'https://maiko.com',
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 566,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Make Teen Gape',
|
|
||||||
slug: 'maketeengape',
|
|
||||||
url: 'https://maketeengape.com',
|
|
||||||
alias: ['mtg',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
'gaping',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 200,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Make Teen Moan',
|
|
||||||
slug: 'maketeenmoan',
|
|
||||||
url: 'https://maketeenmoan.com',
|
|
||||||
alias: ['mtm',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 296,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Mega Penetrations',
|
|
||||||
slug: 'megapenetrations',
|
|
||||||
url: 'https://megapenetrations.com',
|
|
||||||
alias: ['mp',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 298,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Messy Gang Bangs',
|
|
||||||
slug: 'messygangbangs',
|
|
||||||
url: 'https://messygangbangs.com',
|
|
||||||
alias: ['mgb',
|
|
||||||
],
|
|
||||||
tags: ['gangbang',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 300,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'My Black Coeds',
|
|
||||||
slug: 'myblackcoeds',
|
|
||||||
url: 'https://myblackcoeds.com',
|
|
||||||
alias: ['mbc',
|
|
||||||
],
|
|
||||||
tags: ['ebony',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 302,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'My Latina Teen',
|
|
||||||
slug: 'mylatinateen',
|
|
||||||
url: 'https://mylatinateen.com',
|
|
||||||
alias: ['mlt',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
'latina',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 304,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Nasty Ass Lickers',
|
|
||||||
slug: 'nastyasslickers',
|
|
||||||
url: 'https://nastyasslickers.com',
|
|
||||||
tags: ['ass-eating'],
|
|
||||||
alias: ['nal',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 306,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Naughty Little Nymphs',
|
|
||||||
slug: 'naughtylittlenymphs',
|
|
||||||
url: 'https://naughtylittlenymphs.com',
|
|
||||||
alias: ['nln',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 308,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'NC UK Sinners',
|
|
||||||
slug: 'ncuksinners',
|
|
||||||
url: 'https://ncuksinners.com',
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 568,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'NC Verso Cinema',
|
|
||||||
slug: 'ncversocinema',
|
|
||||||
url: 'https://ncversocinema.com',
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 570,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Network Mixed',
|
|
||||||
slug: 'networkmixed',
|
|
||||||
url: 'https://networkmixed.com',
|
|
||||||
alias: ['anc',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 360,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Never Done That Before',
|
|
||||||
slug: 'neverdonethatbefore',
|
|
||||||
url: 'https://neverdonethatbefore.com',
|
|
||||||
alias: ['ndt',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 310,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Nylon Sweeties',
|
|
||||||
slug: 'nylonsweeties',
|
|
||||||
url: 'https://nylonsweeties.com',
|
|
||||||
alias: ['nsw',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 202,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Pink Eye Sluts',
|
|
||||||
slug: 'pinkeyesluts',
|
|
||||||
url: 'https://pinkeyesluts.com',
|
|
||||||
alias: ['pes',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 312,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Plug2 Holes',
|
|
||||||
slug: 'plug2holes',
|
|
||||||
url: 'https://plug2holes.com',
|
|
||||||
alias: ['p2h',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 314,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Pussy Babes',
|
|
||||||
slug: 'pussybabes',
|
|
||||||
url: 'https://pussybabes.com',
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 556,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Road Gang Bangs',
|
|
||||||
slug: 'roadgangbangs',
|
|
||||||
url: 'https://roadgangbangs.com',
|
|
||||||
alias: ['rgb',
|
|
||||||
],
|
|
||||||
tags: ['gangbang',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 316,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Russian Teen Updates',
|
|
||||||
slug: 'russianteenupdates',
|
|
||||||
url: 'https://russianteenupdates.com',
|
|
||||||
tags: ['teen',
|
|
||||||
'russian',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 418,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'School Bus Chicks',
|
|
||||||
slug: 'schoolbuschicks',
|
|
||||||
url: 'https://schoolbuschicks.com',
|
|
||||||
alias: ['sbc',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 318,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Seductive18',
|
|
||||||
slug: 'seductive18',
|
|
||||||
url: 'https://seductive18.com',
|
|
||||||
alias: ['s18',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 204,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Show Me Gape',
|
|
||||||
slug: 'showmegape',
|
|
||||||
url: 'https://showmegape.com',
|
|
||||||
tags: ['gaping'],
|
|
||||||
alias: ['smg',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 320,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Shy Teachers Pet',
|
|
||||||
slug: 'shyteacherspet',
|
|
||||||
url: 'https://shyteacherspet.com',
|
|
||||||
alias: ['stp',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 322,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Small Tits Hunter',
|
|
||||||
slug: 'smalltitshunter',
|
|
||||||
url: 'https://smalltitshunter.com',
|
|
||||||
alias: ['sth',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 324,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Spermantino',
|
|
||||||
slug: 'spermantino',
|
|
||||||
url: 'https://spermantino.com',
|
|
||||||
alias: ['spe',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 366,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'TCC Network Archives',
|
|
||||||
slug: 'tccnetworkarchives',
|
|
||||||
url: 'https://tccnetworkarchives.com',
|
|
||||||
alias: ['all',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 176,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teach My Ass',
|
|
||||||
slug: 'teachmyass',
|
|
||||||
url: 'https://teachmyass.com',
|
|
||||||
tags: ['anal'],
|
|
||||||
alias: ['tma',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 368,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teenagers Going Wild',
|
|
||||||
slug: 'teenagersgoingwild',
|
|
||||||
url: 'https://teenagersgoingwild.com',
|
|
||||||
alias: ['tgw',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 326,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teen Anal Casting',
|
|
||||||
slug: 'teenanalcasting',
|
|
||||||
url: 'https://teenanalcasting.com',
|
|
||||||
alias: ['tac',
|
|
||||||
],
|
|
||||||
tags: ['anal',
|
|
||||||
'teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 206,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teen Drillers',
|
|
||||||
slug: 'teendrillers',
|
|
||||||
url: 'https://teendrillers.com',
|
|
||||||
alias: ['td',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 208,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teen Gina',
|
|
||||||
slug: 'teengina',
|
|
||||||
url: 'https://teengina.com',
|
|
||||||
alias: ['tg',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 210,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teens Love Blacks',
|
|
||||||
slug: 'teensloveblacks',
|
|
||||||
url: 'https://teensloveblacks.com',
|
|
||||||
alias: ['tlb',
|
|
||||||
],
|
|
||||||
tags: ['interracial',
|
|
||||||
'bbc',
|
|
||||||
'teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 328,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teens Natural Way',
|
|
||||||
slug: 'teensnaturalway',
|
|
||||||
url: 'https://teensnaturalway.com',
|
|
||||||
alias: ['tnw',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 212,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teens Try Anal',
|
|
||||||
slug: 'teenstryanal',
|
|
||||||
url: 'https://teenstryanal.com',
|
|
||||||
alias: ['tta',
|
|
||||||
],
|
|
||||||
tags: ['anal',
|
|
||||||
'teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 330,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teens Try Blacks',
|
|
||||||
slug: 'teenstryblacks',
|
|
||||||
url: 'https://teenstryblacks.com',
|
|
||||||
alias: ['ttb',
|
|
||||||
],
|
|
||||||
tags: ['interracial',
|
|
||||||
'bbc',
|
|
||||||
'teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 214,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Teens Want Orgies',
|
|
||||||
slug: 'teenswantorgies',
|
|
||||||
url: 'https://teenswantorgies.com',
|
|
||||||
alias: ['two',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
'threesome',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 332,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Try Teens',
|
|
||||||
slug: 'tryteens',
|
|
||||||
url: 'https://tryteens.com',
|
|
||||||
alias: ['tt',
|
|
||||||
],
|
|
||||||
tags: ['teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 216,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Tug Job Queens',
|
|
||||||
slug: 'tugjobqueens',
|
|
||||||
url: 'https://tugjobqueens.com',
|
|
||||||
tags: ['handjob'],
|
|
||||||
alias: ['tjq',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 334,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'UK Sinners',
|
|
||||||
slug: 'uksinners',
|
|
||||||
url: 'https://uksinners.com',
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 558,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'White Box Black Cocks',
|
|
||||||
slug: 'whiteboxblackcocks',
|
|
||||||
url: 'https://whiteboxblackcocks.com',
|
|
||||||
alias: ['wbc',
|
|
||||||
],
|
|
||||||
tags: ['interracial',
|
|
||||||
'bbc',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 336,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'White Teens Black Cocks',
|
|
||||||
slug: 'whiteteensblackcocks',
|
|
||||||
url: 'https://whiteteensblackcocks.com',
|
|
||||||
alias: ['wbc',
|
|
||||||
],
|
|
||||||
tags: ['interracial',
|
|
||||||
'bbc',
|
|
||||||
'teen',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
hasLogo: false,
|
|
||||||
parameters: {
|
|
||||||
siteId: 218,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Young Throats',
|
|
||||||
slug: 'youngthroats',
|
|
||||||
url: 'https://youngthroats.com',
|
|
||||||
tags: ['blowjob', 'deepthroat', 'facefucking'],
|
|
||||||
alias: ['yt',
|
|
||||||
],
|
|
||||||
parent: 'teencoreclub',
|
|
||||||
parameters: {
|
|
||||||
siteId: 220,
|
|
||||||
},
|
|
||||||
}];
|
|
||||||
|
|
||||||
async function init() {
|
|
||||||
const results = await Promise.map(channels, async (channel) => {
|
|
||||||
try {
|
|
||||||
const res = await bhttp.head(channel.url, {
|
|
||||||
followRedirects: false,
|
|
||||||
responseTimeout: 30000,
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(res.statusCode, channel.url);
|
|
||||||
|
|
||||||
if (res.statusCode === 200) {
|
|
||||||
return channel;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error(`${channel.url} no longer available: ${res.statusCode}`);
|
|
||||||
} catch (error) {
|
|
||||||
console.error(channel.url, error.message);
|
|
||||||
|
|
||||||
return {
|
|
||||||
name: channel.name,
|
|
||||||
slug: channel.slug,
|
|
||||||
url: `https://teencoreclub.com/browsevideos/site/${channel.parameters.siteId}/${channel.name.replace(/\s+/g, '')}`,
|
|
||||||
...(channel.tags && { tags: channel.tags }),
|
|
||||||
...(channel.alias && { alias: channel.alias }),
|
|
||||||
parent: channel.parent,
|
|
||||||
...(channel.hasLogo !== undefined && { hasLogo: channel.hasLogo }),
|
|
||||||
parameters: channel.parameters,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}, { concurrency: 5 });
|
|
||||||
|
|
||||||
await fs.promises.writeFile('./tcc.json', JSON.stringify(results, null, 4));
|
|
||||||
|
|
||||||
console.log('done!');
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
Reference in New Issue
Block a user