Compare commits

..

No commits in common. "19f46d4d86c0e896c1e9adbddbceea227cf45abc" and "3f30f80d348fa27dd06bb2de3fcfa1e734fa87a0" have entirely different histories.

6 changed files with 14 additions and 31 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.107.1",
"version": "1.107.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

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

View File

@ -29,9 +29,6 @@ const networks = [
name: '21Sextury',
url: 'https://www.21sextury.com',
description: 'Watch all the latest scenes and porn video updates on 21Sextury.com, the best European porn site with the hottest pornstars from all over the world! Watch porn videos from the large network here.',
parameters: {
mobile: 'https://m.dpfanatics.com/en/video',
},
parent: 'gamma',
},
{

View File

@ -156,7 +156,7 @@ const sites = [
network: '21sextury',
parameters: {
referer: 'https://www.21sextury.com',
mobile: 'https://m.analteenangels.com/en/video',
mobile: 'https://m.analteenangels.com/',
},
},
{
@ -167,7 +167,7 @@ const sites = [
network: '21sextury',
parameters: {
networkReferer: true,
mobile: 'https://m.assholefever.com/en/video',
mobile: 'https://m.assholefever.com/',
},
},
{
@ -177,7 +177,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -188,7 +187,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -199,7 +197,7 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
mobile: 'https://m.dpfanatics.com',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -211,7 +209,7 @@ const sites = [
network: '21sextury',
parameters: {
referer: 'https://www.21sextury.com',
mobile: 'https://m.dpfanatics.com/en/video',
mobile: 'https://m.dpfanatics.com/',
},
},
{
@ -223,7 +221,7 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.footsiebabes.com/en/video',
mobile: 'https://m.footsiebabes.com',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -234,7 +232,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -246,7 +243,6 @@ const sites = [
network: '21sextury',
parameters: {
referer: 'https://www.21sextury.com',
mobile: 'https://m.lezcuties.com/en/video',
},
},
{
@ -256,7 +252,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -267,7 +262,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -278,7 +272,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -289,7 +282,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -300,7 +292,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -311,7 +302,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -322,7 +312,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -333,7 +322,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -344,7 +332,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -355,7 +342,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -366,7 +352,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},
@ -377,7 +362,6 @@ const sites = [
parameters: {
referer: 'https://www.21sextury.com',
scene: 'https://www.21sextury.com/en/video',
mobile: 'https://m.dpfanatics.com/en/video',
photos: 'https://www.21sextury.com/en/photo',
},
},

View File

@ -229,7 +229,7 @@ async function scrapeScene(html, url, site, scrapedRelease, mobileHtml) {
}
const hasTrans = release.actors?.some(actor => actor.gender === 'shemale');
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ') || [];
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ');
release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags;
const channel = data?.productionCompany?.name || $('.studioLink a, .siteLink a').attr('title')?.trim();
@ -471,7 +471,7 @@ function getDeepUrl(url, site, release, mobile = false) {
const pathname = release?.path || new URL(url).pathname;
if (mobile) {
return `${site.parameters.mobile}${pathname.replace('/en/video', '')}`;
return `${site.parameters.mobile}${pathname}`;
}
if (site.parameters?.deep === 'network') {
@ -479,7 +479,7 @@ function getDeepUrl(url, site, release, mobile = false) {
}
if (site.parameters?.deep) {
return `${site.parameters.deep}${pathname.replace('/en/video', '')}`;
return `${site.parameters.deep}${pathname}`;
}
return url;
@ -493,6 +493,8 @@ async function fetchScene(url, site, release) {
const deepUrl = getDeepUrl(url, site, release);
const mobileUrl = site.parameters?.mobile && getDeepUrl(url, site, release, true);
console.log(mobileUrl);
if (deepUrl) {
const [res, mobileRes] = await Promise.all([
bhttp.get(deepUrl),
@ -505,7 +507,7 @@ async function fetchScene(url, site, release) {
]);
if (res.statusCode === 200) {
const mobileBody = mobileRes?.statusCode === 200 ? mobileRes.body.toString() : null;
const mobileBody = mobileRes.statusCode === 200 ? mobileRes.body.toString() : null;
const scene = await scrapeScene(res.body.toString(), url, site, release, mobileBody);
return { ...scene, deepUrl };
}

View File

@ -62,7 +62,7 @@ async function matchTags(rawTags) {
async function associateTags(release, releaseId) {
const siteTags = release.site?.tags?.filter(tag => tag.inherit === true).map(tag => tag.id) || [];
const rawReleaseTags = release.tags.filter(Boolean) || [];
const rawReleaseTags = release.tags || [];
const releaseTags = rawReleaseTags.some(tag => typeof tag === 'string')
? await matchTags(release.tags) // scraper returned raw tags
: rawReleaseTags; // tags already matched by (outdated) scraper