Compare commits

..

No commits in common. "defe45c396be4fe9af999e16e18b6be5291b9fc9" and "718771ea64690c8e23290baefa8d4394d110fe1c" have entirely different histories.

8 changed files with 7 additions and 151 deletions

View File

@ -1,14 +0,0 @@
exports.up = async (knex) => {
await knex.raw(`
/* allow scenes without dates to be mixed inbetween scenes with dates */
ALTER TABLE series
ADD COLUMN effective_date timestamptz
GENERATED ALWAYS AS (COALESCE(date, created_at)) STORED;
`);
};
exports.down = async (knex) => {
await knex.schema.alterTable('series', (table) => {
table.dropColumn('effective_date');
});
};

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "traxxx",
"version": "1.246.18",
"version": "1.246.17",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "traxxx",
"version": "1.246.18",
"version": "1.246.17",
"license": "ISC",
"dependencies": {
"@aws-sdk/client-s3": "^3.458.0",

View File

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

View File

@ -10389,29 +10389,6 @@ const sites = [
endpoint: 'K9_0ysd-cpgwtSaZ8_nPT',
},
},
{
name: 'Lucid Flix',
slug: 'lucidflix',
url: 'https://lucidflix.com',
independent: true,
parent: 'radical',
parameters: {
endpoint: 'QAE38FkosM6l24CzC5eIG',
videos: 'episodes',
forceDeep: true, // has serie data
},
},
{
name: 'Tough Love X',
slug: 'toughlovex',
url: 'https://tour.toughlovex.com',
independent: true,
parent: 'radical',
parameters: {
endpoint: 'OvRVNkuj_-wDFLBYcSm_M',
siteAsSerie: true,
},
},
// REALITY KINGS
{
name: 'Look At Her Now',

View File

@ -221,92 +221,6 @@ const affiliates = [
scene: false,
},
},
// radical
{
id: 'radical',
network: 'radical',
url: 'http://radicalcash.com/track/MzAwMDA5NzkuNy42LjYuMC4wLjAuMC4w',
comment: 'webmaster referral',
},
{
id: 'lucidflix',
channel: 'lucidflix',
url: 'https://register.lucidflix.com/track/MzAwMDA5NzkuMy4xNDcuMzMzLjAuMC4wLjAuMA',
comment: 'rev share',
},
{
id: 'bjraw',
channel: 'bjraw',
url: 'https://register.bjraw.com/track/MzAwMDA5NzkuMy45Ny4yNTguMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'gotfilled',
channel: 'gotfilled',
url: 'https://register.gotfilled.com/track/MzAwMDA5NzkuMy4xMDEuMjY0LjAuMC4wLjAuMA',
comment: 'rev share',
},
{
id: 'inserted',
channel: 'inserted',
url: 'https://register.inserted.com/track/MzAwMDA5NzkuMy4xMDIuMjY1LjAuMC4wLjAuMA',
comment: 'rev share',
},
{
id: 'purgatoryx',
channel: 'purgatoryx',
url: 'https://register.purgatoryx.com/track/MzAwMDA5NzkuMy44OC4yNDUuMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'toughlovex',
channel: 'toughlovex',
url: 'https://register.join-toughlovex.com/track/MzAwMDA5NzkuMy43Ni4xOTcuMC4wLjAuMC4w',
comment: 'rev share',
},
// radical > topwebmodels
{
id: 'topwebmodels',
network: 'topwebmodels',
url: 'https://register.topwebmodels.com/track/MzAwMDA5NzkuMy41NS4xNjguMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'deepthroatsirens',
channel: 'deepthroatsirens',
url: 'https://register.deepthroatsirens.com/track/MzAwMDA5NzkuMy42MS4xNzQuMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'biggulpgirls',
channel: 'biggulpgirls',
url: 'https://register.biggulpgirls.com/track/MzAwMDA5NzkuMy42Mi4xNzUuMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'cougarseason',
channel: 'cougarseason',
url: 'https://register.cougarseason.com/track/MzAwMDA5NzkuMy41Ny4xNzAuMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'facialsforever',
channel: 'facialsforever',
url: 'https://register.facialsforever.com/track/MzAwMDA5NzkuMy41OC4xNzEuMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'poundedpetite',
channel: 'poundedpetite',
url: 'https://register.poundedpetite.com/track/MzAwMDA5NzkuMy41OS4xNzIuMC4wLjAuMC4w',
comment: 'rev share',
},
{
id: 'shesbrandnew',
channel: 'shesbrandnew',
url: 'https://register.shesbrandnew.com/track/MzAwMDA5NzkuMy42MC4xNzMuMC4wLjAuMC4w',
comment: 'rev share',
},
// etc
{
id: 'kink',

View File

@ -140,7 +140,6 @@ module.exports = {
inserted: radical,
purgatoryx: radical,
topwebmodels: radical,
lucidflix: radical,
// hush / hussiepass
eyeontheguy: hush,
hushpass: hush,

View File

@ -78,27 +78,11 @@ function scrapeScene(data, channel, parameters) {
release.tags = data.tags;
release.channel = slugify(data.site, '');
release.qualities = Object.values(data.videos || []).map((video) => video.height);
release.photoCount = Number(data.photos_duration) || null;
if (data.serie) {
release.channel = slugify(data.site, '');
release.serie = {
entryId: data.serie.id,
title: data.serie.title,
date: unprint.extractDate(data.serie.publish_date, 'YYYY/MM/DD HH:mm:ss'),
poster: data.serie.thumb,
};
} else if (parameters.siteAsSerie && data.site) {
release.serie = {
entryId: data.site_domain?.split('.')[0] || slugify(data.site, ''),
title: data.site,
};
} else {
release.channel = slugify(data.site, '');
}
return release;
}
@ -163,7 +147,7 @@ async function fetchUpcoming(channel, _page, { parameters }) {
}
async function fetchScene(url, channel, baseScene, { parameters }) {
if (baseScene.entryId && !parameters.forceDeep) {
if (baseScene.entryId) {
// identical data
return baseScene;
}
@ -173,10 +157,7 @@ async function fetchScene(url, channel, baseScene, { parameters }) {
const res = await http.get(`${channel.url}/_next/data/${endpoint}/${parameters.videos || 'videos'}/${slug}.json?slug=${slug}`);
if (res.ok && res.body.pageProps?.content) {
return scrapeScene({
...res.body.pageProps.content,
serie: res.body.pageProps.playlist?.data[0],
}, channel, parameters);
return scrapeScene(res.body.pageProps.content, channel, parameters);
}
return res.status;

View File

@ -137,7 +137,6 @@ const actors = [
{ entity: 'inserted', name: 'Anissa Kate', fields: ['avatar', 'description', 'gender', 'dateOfBirth', 'birthPlace', 'measurements', 'height', 'weight', 'eyes', 'hairColor'] },
{ entity: 'topwebmodels', name: 'Lexi Belle', fields: ['avatar', 'gender', 'dateOfBirth', 'birthPlace', 'measurements', 'height', 'weight', 'eyes', 'hairColor'] },
{ entity: 'purgatoryx', name: 'Kenzie Reeves', fields: ['avatar', 'description', 'gender', 'dateOfBirth', 'birthPlace', 'measurements', 'height', 'weight', 'eyes', 'hairColor'] },
{ entity: 'lucidflix', name: 'Ava Amira', fields: ['avatar', 'description', 'gender'] },
// wankz
{ entity: 'wankzvr', name: 'Melody Marks', fields: ['avatar', 'gender', 'description', 'birthPlace', 'height', 'measurements', 'age'] },
{ entity: 'milfvr', name: 'Ember Snow', fields: ['avatar', 'gender', 'description', 'measurements', 'birthPlace', 'height', 'age'] },