12 Commits

Author SHA1 Message Date
DebaucheryLibrarian
33a327a04b Merge branch 'master' into experimental 2022-03-30 23:00:29 +02:00
DebaucheryLibrarian
a46061e247 1.212.9 2022-03-30 16:11:09 +02:00
DebaucheryLibrarian
94e07ff23d Added Bang! Podcast channel. 2022-03-30 16:11:07 +02:00
DebaucheryLibrarian
4811befcf6 1.212.8 2022-03-30 15:45:51 +02:00
DebaucheryLibrarian
c455f02c66 Updated Men URLs. 2022-03-30 15:45:41 +02:00
DebaucheryLibrarian
efc5620a28 1.212.7 2022-03-30 01:17:56 +02:00
DebaucheryLibrarian
61123fdb6a Added Accept-Language header to MindGeek requests, seems to help with acquiring sessions. 2022-03-30 01:17:54 +02:00
DebaucheryLibrarian
3ec6911d46 1.212.6 2022-03-29 23:24:58 +02:00
DebaucheryLibrarian
2021093645 Marked Dane Jones and Lesbea as native sites. 2022-03-29 23:24:55 +02:00
DebaucheryLibrarian
1c72dc202f 1.212.5 2022-03-28 23:44:44 +02:00
DebaucheryLibrarian
1ef946fa77 Marked Mile High sites as native. 2022-03-28 23:44:42 +02:00
DebaucheryLibrarian
ccb99e278c Added periodic memory logger. 2021-11-20 23:59:15 +01:00
46 changed files with 97 additions and 19 deletions

View File

@@ -81,6 +81,7 @@ function curateRelease(release, type = 'scene') {
curatedRelease.photos = release.photos?.filter(Boolean).map((photo) => photo.media || photo) || []; curatedRelease.photos = release.photos?.filter(Boolean).map((photo) => photo.media || photo) || [];
curatedRelease.scenesPhotos = release.scenesPhotos?.filter(Boolean).map((photo) => photo.media || photo) || []; curatedRelease.scenesPhotos = release.scenesPhotos?.filter(Boolean).map((photo) => photo.media || photo) || [];
curatedRelease.covers = release.covers?.filter(Boolean).map(({ media }) => media) || []; curatedRelease.covers = release.covers?.filter(Boolean).map(({ media }) => media) || [];
if (release.trailer) curatedRelease.trailer = release.trailer.media; if (release.trailer) curatedRelease.trailer = release.trailer.media;
if (release.teaser) curatedRelease.teaser = release.teaser.media; if (release.teaser) curatedRelease.teaser = release.teaser.media;
if (release.actors) curatedRelease.actors = release.actors.filter(Boolean).map((actor) => curateActor(actor.actor || actor, curatedRelease)); if (release.actors) curatedRelease.actors = release.actors.filter(Boolean).map((actor) => curateActor(actor.actor || actor, curatedRelease));

23
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.212.4", "version": "1.212.9",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.212.4", "version": "1.212.9",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@casl/ability": "^5.2.2", "@casl/ability": "^5.2.2",
@@ -11650,6 +11650,25 @@
"webidl-conversions": "^3.0.0" "webidl-conversions": "^3.0.0"
} }
}, },
"node_modules/node-fetch/node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"node_modules/node-fetch/node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/node-gyp": { "node_modules/node-gyp": {
"version": "7.1.2", "version": "7.1.2",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",

View File

@@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.212.4", "version": "1.212.9",
"description": "All the latest porn releases in one place", "description": "All the latest porn releases in one place",
"main": "src/app.js", "main": "src/app.js",
"scripts": { "scripts": {

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -412,6 +412,9 @@ const networks = [
url: 'https://www.milehighmedia.com', url: 'https://www.milehighmedia.com',
description: 'MileHighMedia.com is the only niche porn network you need! Watch lesbian sex, hardcore fucking and family porn stories with the hottest teens & MILFs!', description: 'MileHighMedia.com is the only niche porn network you need! Watch lesbian sex, hardcore fucking and family porn stories with the hottest teens & MILFs!',
parent: 'mindgeek', parent: 'mindgeek',
parameters: {
forceDeep: true, // Mile High Media has movie and series information not available in the latest updates API
},
}, },
{ {
slug: 'mofos', slug: 'mofos',

View File

@@ -810,6 +810,13 @@ const sites = [
parameters: { siteId: 3261 }, parameters: { siteId: 3261 },
parent: 'bang', parent: 'bang',
}, },
{
name: 'Bang! Podcast',
slug: 'bangpodcast',
url: 'https://www.bang.com/videos?in=bang!%20podcast',
parameters: { siteId: 6305 },
parent: 'bang',
},
// BANGBROS // BANGBROS
{ {
name: 'Ass Parade', name: 'Ass Parade',
@@ -5271,7 +5278,7 @@ const sites = [
{ {
slug: 'bigdicksatschool', slug: 'bigdicksatschool',
name: 'Big Dicks At School', name: 'Big Dicks At School',
url: 'https://www.bigdicksatschool.com', url: 'https://www.men.com/scenes?site=252',
description: '', description: '',
parameters: { siteId: 252 }, parameters: { siteId: 252 },
tags: ['gay'], tags: ['gay'],
@@ -5280,7 +5287,7 @@ const sites = [
{ {
slug: 'drillmyhole', slug: 'drillmyhole',
name: 'Drill My Hole', name: 'Drill My Hole',
url: 'https://www.drillmyhole.com', url: 'https://www.men.com/scenes?site=253',
description: '', description: '',
parameters: { siteId: 253 }, parameters: { siteId: 253 },
tags: ['gay'], tags: ['gay'],
@@ -5289,7 +5296,7 @@ const sites = [
{ {
slug: 'str8togay', slug: 'str8togay',
name: 'Str8 to Gay', name: 'Str8 to Gay',
url: 'https://www.str8togay.com', url: 'https://www.men.com/scenes?site=254',
tags: ['gay'], tags: ['gay'],
parameters: { siteId: 254 }, parameters: { siteId: 254 },
parent: 'men', parent: 'men',
@@ -5297,7 +5304,7 @@ const sites = [
{ {
slug: 'thegayoffice', slug: 'thegayoffice',
name: 'The Gay Office', name: 'The Gay Office',
url: 'https://www.thegayoffice.com', url: 'https://www.men.com/scenes?site=255',
tags: ['gay'], tags: ['gay'],
parameters: { siteId: 255 }, parameters: { siteId: 255 },
parent: 'men', parent: 'men',
@@ -5305,7 +5312,7 @@ const sites = [
{ {
slug: 'jizzorgy', slug: 'jizzorgy',
name: 'Jizz Orgy', name: 'Jizz Orgy',
url: 'https://www.jizzorgy.com', url: 'https://www.men.com/scenes?site=256',
tags: ['gay'], tags: ['gay'],
parameters: { siteId: 256 }, parameters: { siteId: 256 },
parent: 'men', parent: 'men',
@@ -5313,7 +5320,7 @@ const sites = [
{ {
slug: 'menofuk', slug: 'menofuk',
name: 'Men of UK', name: 'Men of UK',
url: 'https://www.menofuk.com', url: 'https://www.men.com/scenes?site=258',
tags: ['gay'], tags: ['gay'],
parameters: { siteId: 258 }, parameters: { siteId: 258 },
parent: 'men', parent: 'men',
@@ -5321,7 +5328,7 @@ const sites = [
{ {
slug: 'toptobottom', slug: 'toptobottom',
name: 'Top to Bottom', name: 'Top to Bottom',
url: 'https://www.toptobottom.com', url: 'https://www.men.com/scenes?site=259',
tags: ['gay'], tags: ['gay'],
parameters: { siteId: 259 }, parameters: { siteId: 259 },
parent: 'men', parent: 'men',
@@ -5329,7 +5336,7 @@ const sites = [
{ {
slug: 'godsofmen', slug: 'godsofmen',
name: 'Gods of Men', name: 'Gods of Men',
url: 'https://www.godsofmen.com', url: 'https://www.men.com/scenes?site=260',
tags: ['gay'], tags: ['gay'],
parameters: { siteId: 260 }, parameters: { siteId: 260 },
parent: 'men', parent: 'men',
@@ -5420,7 +5427,10 @@ const sites = [
name: 'Doghouse Digital', name: 'Doghouse Digital',
url: 'https://www.doghousedigital.com', url: 'https://www.doghousedigital.com',
alias: ['dhd'], alias: ['dhd'],
parameters: { siteId: 321 }, parameters: {
siteId: 321,
native: true,
},
parent: 'milehighmedia', parent: 'milehighmedia',
}, },
{ {
@@ -5436,7 +5446,10 @@ const sites = [
name: 'Reality Junkies', name: 'Reality Junkies',
url: 'https://www.realityjunkies.com', url: 'https://www.realityjunkies.com',
alias: ['rj'], alias: ['rj'],
parameters: { siteId: 324 }, parameters: {
siteId: 324,
native: true,
},
parent: 'milehighmedia', parent: 'milehighmedia',
}, },
{ {
@@ -5444,7 +5457,10 @@ const sites = [
name: 'Sweetheart Video', name: 'Sweetheart Video',
url: 'https://www.sweetheartvideo.com', url: 'https://www.sweetheartvideo.com',
alias: ['shv'], alias: ['shv'],
parameters: { siteId: 325 }, parameters: {
siteId: 325,
native: true,
},
parent: 'milehighmedia', parent: 'milehighmedia',
}, },
{ {
@@ -5452,7 +5468,10 @@ const sites = [
name: 'Sweet Sinner', name: 'Sweet Sinner',
url: 'https://www.sweetsinner.com', url: 'https://www.sweetsinner.com',
alias: ['ss'], alias: ['ss'],
parameters: { siteId: 326 }, parameters: {
siteId: 326,
native: true,
},
parent: 'milehighmedia', parent: 'milehighmedia',
}, },
{ {
@@ -5461,7 +5480,10 @@ const sites = [
alias: ['fs'], alias: ['fs'],
tags: ['family'], tags: ['family'],
url: 'https://www.familysinners.com', url: 'https://www.familysinners.com',
parameters: { siteId: 317 }, parameters: {
siteId: 317,
native: true,
},
parent: 'milehighmedia', parent: 'milehighmedia',
}, },
{ {
@@ -5470,7 +5492,10 @@ const sites = [
url: 'https://www.iconmale.com', url: 'https://www.iconmale.com',
alias: ['im'], alias: ['im'],
tags: ['gay'], tags: ['gay'],
parameters: { native: true, siteId: 328 }, parameters: {
siteId: 328,
native: true,
},
parent: 'milehighmedia', parent: 'milehighmedia',
}, },
// MOFOS // MOFOS
@@ -8586,7 +8611,10 @@ const sites = [
name: 'Dane Jones', name: 'Dane Jones',
alias: ['dnj'], alias: ['dnj'],
url: 'https://www.danejones.com/', url: 'https://www.danejones.com/',
parameters: { siteId: 290 }, parameters: {
siteId: 290,
native: true,
},
parent: 'sexyhub', parent: 'sexyhub',
}, },
{ {
@@ -8594,7 +8622,10 @@ const sites = [
name: 'Lesbea', name: 'Lesbea',
alias: ['lsb'], alias: ['lsb'],
url: 'https://www.lesbea.com', url: 'https://www.lesbea.com',
parameters: { siteId: 291 }, parameters: {
siteId: 291,
native: true,
},
tags: ['lesbian'], tags: ['lesbian'],
parent: 'sexyhub', parent: 'sexyhub',
}, },

View File

@@ -85,6 +85,23 @@ async function startMemorySample(snapshotTriggers = []) {
}, config.memorySampling.sampleDuration); }, config.memorySampling.sampleDuration);
} }
async function startMemorySample() {
await inspector.heap.enable();
await inspector.heap.startSampling();
// monitorMemory();
logger.info(`Start heap sampling, memory usage: ${process.memoryUsage.rss() / 1000000} MB`);
setTimeout(async () => {
await stopMemorySample();
if (!done) {
await startMemorySample();
}
}, 30000);
}
async function init() { async function init() {
try { try {
if (argv.server) { if (argv.server) {

View File

@@ -222,6 +222,9 @@ async function getSession(site, parameters, url) {
const res = await http.get(sessionUrl, { const res = await http.get(sessionUrl, {
session, session,
headers: {
'Accept-Language': 'en-US,en;', // somehow seems essential for some MG sites
},
interval: parameters?.interval, interval: parameters?.interval,
concurrency: parameters?.concurrency, concurrency: parameters?.concurrency,
parse: false, parse: false,
@@ -310,6 +313,7 @@ async function fetchLatest(site, page = 1, options) {
Instance: instanceToken, Instance: instanceToken,
Origin: site.url, Origin: site.url,
Referer: url, Referer: url,
'Accept-Language': 'en-US,en;', // somehow seems essential for some MG sites
}, },
}); });
@@ -334,6 +338,7 @@ async function fetchUpcoming(site, page, options) {
Instance: instanceToken, Instance: instanceToken,
Origin: site.url, Origin: site.url,
Referer: url, Referer: url,
'Accept-Language': 'en-US,en;', // somehow seems essential for some MG sites
}, },
}); });
@@ -359,6 +364,7 @@ async function fetchRelease(url, site, baseScene, options) {
concurrency: options.parameters.concurrency, concurrency: options.parameters.concurrency,
headers: { headers: {
Instance: instanceToken, Instance: instanceToken,
'Accept-Language': 'en-US,en;', // somehow seems essential for some MG sites
}, },
}); });
@@ -381,6 +387,7 @@ async function fetchProfile({ name: actorName, slug: actorSlug }, { entity, para
concurrency: parameters.concurrency, concurrency: parameters.concurrency,
headers: { headers: {
Instance: instanceToken, Instance: instanceToken,
'Accept-Language': 'en-US,en;', // somehow seems essential for some MG sites
}, },
}); });