diff --git a/public/img/logos/fcuk/afterhoursexposed.png b/public/img/logos/exploitedx/afterhoursexposed.png similarity index 100% rename from public/img/logos/fcuk/afterhoursexposed.png rename to public/img/logos/exploitedx/afterhoursexposed.png diff --git a/public/img/logos/fcuk/backroomcastingcouch.png b/public/img/logos/exploitedx/backroomcastingcouch.png similarity index 100% rename from public/img/logos/fcuk/backroomcastingcouch.png rename to public/img/logos/exploitedx/backroomcastingcouch.png diff --git a/public/img/logos/fcuk/blackambush.png b/public/img/logos/exploitedx/blackambush.png similarity index 100% rename from public/img/logos/fcuk/blackambush.png rename to public/img/logos/exploitedx/blackambush.png diff --git a/public/img/logos/fcuk/eurocoeds.png b/public/img/logos/exploitedx/eurocoeds.png similarity index 100% rename from public/img/logos/fcuk/eurocoeds.png rename to public/img/logos/exploitedx/eurocoeds.png diff --git a/public/img/logos/exploitedx/exploitedcollegegirls.png b/public/img/logos/exploitedx/exploitedcollegegirls.png new file mode 100644 index 00000000..387cd699 Binary files /dev/null and b/public/img/logos/exploitedx/exploitedcollegegirls.png differ diff --git a/public/img/logos/exploitedx/exploitedx.png b/public/img/logos/exploitedx/exploitedx.png new file mode 100644 index 00000000..3a96bf1c Binary files /dev/null and b/public/img/logos/exploitedx/exploitedx.png differ diff --git a/public/img/logos/exploitedx/favicon.png b/public/img/logos/exploitedx/favicon.png new file mode 100644 index 00000000..4f798e81 Binary files /dev/null and b/public/img/logos/exploitedx/favicon.png differ diff --git a/public/img/logos/exploitedx/favicon_dark.png b/public/img/logos/exploitedx/favicon_dark.png new file mode 100644 index 00000000..774bbec3 Binary files /dev/null and b/public/img/logos/exploitedx/favicon_dark.png differ diff --git a/public/img/logos/exploitedx/favicon_light.png b/public/img/logos/exploitedx/favicon_light.png new file mode 100644 index 00000000..1ef053c4 Binary files /dev/null and b/public/img/logos/exploitedx/favicon_light.png differ diff --git a/public/img/logos/fcuk/lazy/afterhoursexposed.png b/public/img/logos/exploitedx/lazy/afterhoursexposed.png similarity index 93% rename from public/img/logos/fcuk/lazy/afterhoursexposed.png rename to public/img/logos/exploitedx/lazy/afterhoursexposed.png index 2ead74f7..80a9ee87 100644 Binary files a/public/img/logos/fcuk/lazy/afterhoursexposed.png and b/public/img/logos/exploitedx/lazy/afterhoursexposed.png differ diff --git a/public/img/logos/fcuk/lazy/backroomcastingcouch.png b/public/img/logos/exploitedx/lazy/backroomcastingcouch.png similarity index 88% rename from public/img/logos/fcuk/lazy/backroomcastingcouch.png rename to public/img/logos/exploitedx/lazy/backroomcastingcouch.png index 3fe4f6eb..d3afb321 100644 Binary files a/public/img/logos/fcuk/lazy/backroomcastingcouch.png and b/public/img/logos/exploitedx/lazy/backroomcastingcouch.png differ diff --git a/public/img/logos/fcuk/lazy/blackambush.png b/public/img/logos/exploitedx/lazy/blackambush.png similarity index 92% rename from public/img/logos/fcuk/lazy/blackambush.png rename to public/img/logos/exploitedx/lazy/blackambush.png index 63df9128..b7279956 100644 Binary files a/public/img/logos/fcuk/lazy/blackambush.png and b/public/img/logos/exploitedx/lazy/blackambush.png differ diff --git a/public/img/logos/fcuk/lazy/eurocoeds.png b/public/img/logos/exploitedx/lazy/eurocoeds.png similarity index 97% rename from public/img/logos/fcuk/lazy/eurocoeds.png rename to public/img/logos/exploitedx/lazy/eurocoeds.png index fce66aaf..d19c50f7 100644 Binary files a/public/img/logos/fcuk/lazy/eurocoeds.png and b/public/img/logos/exploitedx/lazy/eurocoeds.png differ diff --git a/public/img/logos/exploitedx/lazy/exploitedcollegegirls.png b/public/img/logos/exploitedx/lazy/exploitedcollegegirls.png new file mode 100644 index 00000000..79355c1f Binary files /dev/null and b/public/img/logos/exploitedx/lazy/exploitedcollegegirls.png differ diff --git a/public/img/logos/exploitedx/lazy/exploitedx.png b/public/img/logos/exploitedx/lazy/exploitedx.png new file mode 100644 index 00000000..51d2a1b1 Binary files /dev/null and b/public/img/logos/exploitedx/lazy/exploitedx.png differ diff --git a/public/img/logos/exploitedx/lazy/favicon.png b/public/img/logos/exploitedx/lazy/favicon.png new file mode 100644 index 00000000..a0393692 Binary files /dev/null and b/public/img/logos/exploitedx/lazy/favicon.png differ diff --git a/public/img/logos/exploitedx/lazy/favicon_dark.png b/public/img/logos/exploitedx/lazy/favicon_dark.png new file mode 100644 index 00000000..786ad7b3 Binary files /dev/null and b/public/img/logos/exploitedx/lazy/favicon_dark.png differ diff --git a/public/img/logos/exploitedx/lazy/favicon_light.png b/public/img/logos/exploitedx/lazy/favicon_light.png new file mode 100644 index 00000000..143a2b5e Binary files /dev/null and b/public/img/logos/exploitedx/lazy/favicon_light.png differ diff --git a/public/img/logos/fcuk/lazy/fcuk.png b/public/img/logos/exploitedx/lazy/fcuk.png similarity index 100% rename from public/img/logos/fcuk/lazy/fcuk.png rename to public/img/logos/exploitedx/lazy/fcuk.png diff --git a/public/img/logos/fcuk/lazy/nebraskacoeds.png b/public/img/logos/exploitedx/lazy/nebraskacoeds.png similarity index 94% rename from public/img/logos/fcuk/lazy/nebraskacoeds.png rename to public/img/logos/exploitedx/lazy/nebraskacoeds.png index f6773aa2..6ea0e5eb 100644 Binary files a/public/img/logos/fcuk/lazy/nebraskacoeds.png and b/public/img/logos/exploitedx/lazy/nebraskacoeds.png differ diff --git a/public/img/logos/exploitedx/lazy/network.png b/public/img/logos/exploitedx/lazy/network.png new file mode 100644 index 00000000..22a67ff1 Binary files /dev/null and b/public/img/logos/exploitedx/lazy/network.png differ diff --git a/public/img/logos/fcuk/lazy/southbeachcoeds.png b/public/img/logos/exploitedx/lazy/southbeachcoeds.png similarity index 95% rename from public/img/logos/fcuk/lazy/southbeachcoeds.png rename to public/img/logos/exploitedx/lazy/southbeachcoeds.png index 01fb59c6..15998441 100644 Binary files a/public/img/logos/fcuk/lazy/southbeachcoeds.png and b/public/img/logos/exploitedx/lazy/southbeachcoeds.png differ diff --git a/public/img/logos/fcuk/lazy/springbreaklife.png b/public/img/logos/exploitedx/lazy/springbreaklife.png similarity index 87% rename from public/img/logos/fcuk/lazy/springbreaklife.png rename to public/img/logos/exploitedx/lazy/springbreaklife.png index 14e05e47..ad4648a8 100644 Binary files a/public/img/logos/fcuk/lazy/springbreaklife.png and b/public/img/logos/exploitedx/lazy/springbreaklife.png differ diff --git a/public/img/logos/fcuk/misc/after-hours-exposed_dark.png b/public/img/logos/exploitedx/misc/after-hours-exposed_dark.png similarity index 100% rename from public/img/logos/fcuk/misc/after-hours-exposed_dark.png rename to public/img/logos/exploitedx/misc/after-hours-exposed_dark.png diff --git a/public/img/logos/fcuk/misc/after-hours-exposed_light.png b/public/img/logos/exploitedx/misc/after-hours-exposed_light.png similarity index 100% rename from public/img/logos/fcuk/misc/after-hours-exposed_light.png rename to public/img/logos/exploitedx/misc/after-hours-exposed_light.png diff --git a/public/img/logos/fcuk/misc/backroom-casting-couch_tld.png b/public/img/logos/exploitedx/misc/backroom-casting-couch_tld.png similarity index 100% rename from public/img/logos/fcuk/misc/backroom-casting-couch_tld.png rename to public/img/logos/exploitedx/misc/backroom-casting-couch_tld.png diff --git a/public/img/logos/fcuk/misc/euro-coeds.png b/public/img/logos/exploitedx/misc/euro-coeds.png similarity index 100% rename from public/img/logos/fcuk/misc/euro-coeds.png rename to public/img/logos/exploitedx/misc/euro-coeds.png diff --git a/public/img/logos/fcuk/misc/euro-coeds_border.png b/public/img/logos/exploitedx/misc/euro-coeds_border.png similarity index 100% rename from public/img/logos/fcuk/misc/euro-coeds_border.png rename to public/img/logos/exploitedx/misc/euro-coeds_border.png diff --git a/public/img/logos/exploitedx/misc/excogi.png b/public/img/logos/exploitedx/misc/excogi.png new file mode 100644 index 00000000..74099871 Binary files /dev/null and b/public/img/logos/exploitedx/misc/excogi.png differ diff --git a/public/img/logos/fcuk/exploitedcollegegirls.png b/public/img/logos/exploitedx/misc/exploited-college-girls_old.png similarity index 100% rename from public/img/logos/fcuk/exploitedcollegegirls.png rename to public/img/logos/exploitedx/misc/exploited-college-girls_old.png diff --git a/public/img/logos/fcuk/misc/exploited-college-girls_original.png b/public/img/logos/exploitedx/misc/exploited-college-girls_original.png similarity index 100% rename from public/img/logos/fcuk/misc/exploited-college-girls_original.png rename to public/img/logos/exploitedx/misc/exploited-college-girls_original.png diff --git a/public/img/logos/exploitedx/misc/exploited-x.png b/public/img/logos/exploitedx/misc/exploited-x.png new file mode 100644 index 00000000..80e7e029 Binary files /dev/null and b/public/img/logos/exploitedx/misc/exploited-x.png differ diff --git a/public/img/logos/exploitedx/misc/exploited-x_banner.png b/public/img/logos/exploitedx/misc/exploited-x_banner.png new file mode 100644 index 00000000..d8656259 Binary files /dev/null and b/public/img/logos/exploitedx/misc/exploited-x_banner.png differ diff --git a/public/img/logos/fcuk/fcuk.png b/public/img/logos/exploitedx/misc/fcuk.png similarity index 100% rename from public/img/logos/fcuk/fcuk.png rename to public/img/logos/exploitedx/misc/fcuk.png diff --git a/public/img/logos/fcuk/favicon.png b/public/img/logos/exploitedx/misc/fcuk_favicon.png similarity index 100% rename from public/img/logos/fcuk/favicon.png rename to public/img/logos/exploitedx/misc/fcuk_favicon.png diff --git a/public/img/logos/fcuk/favicon_dark.png b/public/img/logos/exploitedx/misc/fcuk_favicon_dark.png similarity index 100% rename from public/img/logos/fcuk/favicon_dark.png rename to public/img/logos/exploitedx/misc/fcuk_favicon_dark.png diff --git a/public/img/logos/fcuk/favicon_light.png b/public/img/logos/exploitedx/misc/fcuk_favicon_light.png similarity index 100% rename from public/img/logos/fcuk/favicon_light.png rename to public/img/logos/exploitedx/misc/fcuk_favicon_light.png diff --git a/public/img/logos/exploitedx/misc/oswald.ttf b/public/img/logos/exploitedx/misc/oswald.ttf new file mode 100644 index 00000000..0bd74189 Binary files /dev/null and b/public/img/logos/exploitedx/misc/oswald.ttf differ diff --git a/public/img/logos/fcuk/misc/south-beach-coeds.xcf b/public/img/logos/exploitedx/misc/south-beach-coeds.xcf similarity index 100% rename from public/img/logos/fcuk/misc/south-beach-coeds.xcf rename to public/img/logos/exploitedx/misc/south-beach-coeds.xcf diff --git a/public/img/logos/fcuk/misc/spring-break-life_dark.png b/public/img/logos/exploitedx/misc/spring-break-life_dark.png similarity index 100% rename from public/img/logos/fcuk/misc/spring-break-life_dark.png rename to public/img/logos/exploitedx/misc/spring-break-life_dark.png diff --git a/public/img/logos/fcuk/misc/spring-break-life_light.png b/public/img/logos/exploitedx/misc/spring-break-life_light.png similarity index 100% rename from public/img/logos/fcuk/misc/spring-break-life_light.png rename to public/img/logos/exploitedx/misc/spring-break-life_light.png diff --git a/public/img/logos/fcuk/nebraskacoeds.png b/public/img/logos/exploitedx/nebraskacoeds.png similarity index 100% rename from public/img/logos/fcuk/nebraskacoeds.png rename to public/img/logos/exploitedx/nebraskacoeds.png diff --git a/public/img/logos/exploitedx/network.png b/public/img/logos/exploitedx/network.png new file mode 100644 index 00000000..d83679c5 Binary files /dev/null and b/public/img/logos/exploitedx/network.png differ diff --git a/public/img/logos/fcuk/southbeachcoeds.png b/public/img/logos/exploitedx/southbeachcoeds.png similarity index 100% rename from public/img/logos/fcuk/southbeachcoeds.png rename to public/img/logos/exploitedx/southbeachcoeds.png diff --git a/public/img/logos/fcuk/springbreaklife.png b/public/img/logos/exploitedx/springbreaklife.png similarity index 100% rename from public/img/logos/fcuk/springbreaklife.png rename to public/img/logos/exploitedx/springbreaklife.png diff --git a/public/img/logos/fcuk/thumbs/afterhoursexposed.png b/public/img/logos/exploitedx/thumbs/afterhoursexposed.png similarity index 99% rename from public/img/logos/fcuk/thumbs/afterhoursexposed.png rename to public/img/logos/exploitedx/thumbs/afterhoursexposed.png index 33ac1189..b8b6e5e6 100644 Binary files a/public/img/logos/fcuk/thumbs/afterhoursexposed.png and b/public/img/logos/exploitedx/thumbs/afterhoursexposed.png differ diff --git a/public/img/logos/fcuk/thumbs/backroomcastingcouch.png b/public/img/logos/exploitedx/thumbs/backroomcastingcouch.png similarity index 97% rename from public/img/logos/fcuk/thumbs/backroomcastingcouch.png rename to public/img/logos/exploitedx/thumbs/backroomcastingcouch.png index 6542d227..90b30572 100644 Binary files a/public/img/logos/fcuk/thumbs/backroomcastingcouch.png and b/public/img/logos/exploitedx/thumbs/backroomcastingcouch.png differ diff --git a/public/img/logos/fcuk/thumbs/blackambush.png b/public/img/logos/exploitedx/thumbs/blackambush.png similarity index 99% rename from public/img/logos/fcuk/thumbs/blackambush.png rename to public/img/logos/exploitedx/thumbs/blackambush.png index 66dc8dad..2e50b13a 100644 Binary files a/public/img/logos/fcuk/thumbs/blackambush.png and b/public/img/logos/exploitedx/thumbs/blackambush.png differ diff --git a/public/img/logos/fcuk/thumbs/eurocoeds.png b/public/img/logos/exploitedx/thumbs/eurocoeds.png similarity index 99% rename from public/img/logos/fcuk/thumbs/eurocoeds.png rename to public/img/logos/exploitedx/thumbs/eurocoeds.png index 42027c0b..214f3b35 100644 Binary files a/public/img/logos/fcuk/thumbs/eurocoeds.png and b/public/img/logos/exploitedx/thumbs/eurocoeds.png differ diff --git a/public/img/logos/exploitedx/thumbs/exploitedcollegegirls.png b/public/img/logos/exploitedx/thumbs/exploitedcollegegirls.png new file mode 100644 index 00000000..7188d83a Binary files /dev/null and b/public/img/logos/exploitedx/thumbs/exploitedcollegegirls.png differ diff --git a/public/img/logos/exploitedx/thumbs/exploitedx.png b/public/img/logos/exploitedx/thumbs/exploitedx.png new file mode 100644 index 00000000..bba2b4d8 Binary files /dev/null and b/public/img/logos/exploitedx/thumbs/exploitedx.png differ diff --git a/public/img/logos/exploitedx/thumbs/favicon.png b/public/img/logos/exploitedx/thumbs/favicon.png new file mode 100644 index 00000000..29a13999 Binary files /dev/null and b/public/img/logos/exploitedx/thumbs/favicon.png differ diff --git a/public/img/logos/exploitedx/thumbs/favicon_dark.png b/public/img/logos/exploitedx/thumbs/favicon_dark.png new file mode 100644 index 00000000..4e3ed162 Binary files /dev/null and b/public/img/logos/exploitedx/thumbs/favicon_dark.png differ diff --git a/public/img/logos/exploitedx/thumbs/favicon_light.png b/public/img/logos/exploitedx/thumbs/favicon_light.png new file mode 100644 index 00000000..faa6960b Binary files /dev/null and b/public/img/logos/exploitedx/thumbs/favicon_light.png differ diff --git a/public/img/logos/fcuk/thumbs/fcuk.png b/public/img/logos/exploitedx/thumbs/fcuk.png similarity index 100% rename from public/img/logos/fcuk/thumbs/fcuk.png rename to public/img/logos/exploitedx/thumbs/fcuk.png diff --git a/public/img/logos/fcuk/thumbs/nebraskacoeds.png b/public/img/logos/exploitedx/thumbs/nebraskacoeds.png similarity index 99% rename from public/img/logos/fcuk/thumbs/nebraskacoeds.png rename to public/img/logos/exploitedx/thumbs/nebraskacoeds.png index e62d3f9a..eed767ef 100644 Binary files a/public/img/logos/fcuk/thumbs/nebraskacoeds.png and b/public/img/logos/exploitedx/thumbs/nebraskacoeds.png differ diff --git a/public/img/logos/exploitedx/thumbs/network.png b/public/img/logos/exploitedx/thumbs/network.png new file mode 100644 index 00000000..3cebbc0b Binary files /dev/null and b/public/img/logos/exploitedx/thumbs/network.png differ diff --git a/public/img/logos/fcuk/thumbs/southbeachcoeds.png b/public/img/logos/exploitedx/thumbs/southbeachcoeds.png similarity index 99% rename from public/img/logos/fcuk/thumbs/southbeachcoeds.png rename to public/img/logos/exploitedx/thumbs/southbeachcoeds.png index 1a07bedd..214f1ef1 100644 Binary files a/public/img/logos/fcuk/thumbs/southbeachcoeds.png and b/public/img/logos/exploitedx/thumbs/southbeachcoeds.png differ diff --git a/public/img/logos/fcuk/thumbs/springbreaklife.png b/public/img/logos/exploitedx/thumbs/springbreaklife.png similarity index 98% rename from public/img/logos/fcuk/thumbs/springbreaklife.png rename to public/img/logos/exploitedx/thumbs/springbreaklife.png index feaad941..bc330954 100644 Binary files a/public/img/logos/fcuk/thumbs/springbreaklife.png and b/public/img/logos/exploitedx/thumbs/springbreaklife.png differ diff --git a/public/img/logos/fcuk/lazy/exploitedcollegegirls.png b/public/img/logos/fcuk/lazy/exploitedcollegegirls.png deleted file mode 100644 index 73bc64a6..00000000 Binary files a/public/img/logos/fcuk/lazy/exploitedcollegegirls.png and /dev/null differ diff --git a/public/img/logos/fcuk/lazy/favicon.png b/public/img/logos/fcuk/lazy/favicon.png deleted file mode 100644 index 213758bf..00000000 Binary files a/public/img/logos/fcuk/lazy/favicon.png and /dev/null differ diff --git a/public/img/logos/fcuk/lazy/network.png b/public/img/logos/fcuk/lazy/network.png deleted file mode 100644 index 62c53aaf..00000000 Binary files a/public/img/logos/fcuk/lazy/network.png and /dev/null differ diff --git a/public/img/logos/fcuk/misc/exploited-college-girls_light.png b/public/img/logos/fcuk/misc/exploited-college-girls_light.png deleted file mode 100644 index ecffcd43..00000000 Binary files a/public/img/logos/fcuk/misc/exploited-college-girls_light.png and /dev/null differ diff --git a/public/img/logos/fcuk/network.png b/public/img/logos/fcuk/network.png deleted file mode 100644 index 239bfc7e..00000000 Binary files a/public/img/logos/fcuk/network.png and /dev/null differ diff --git a/public/img/logos/fcuk/thumbs/exploitedcollegegirls.png b/public/img/logos/fcuk/thumbs/exploitedcollegegirls.png deleted file mode 100644 index 70aa6ab4..00000000 Binary files a/public/img/logos/fcuk/thumbs/exploitedcollegegirls.png and /dev/null differ diff --git a/public/img/logos/fcuk/thumbs/favicon.png b/public/img/logos/fcuk/thumbs/favicon.png deleted file mode 100644 index 213758bf..00000000 Binary files a/public/img/logos/fcuk/thumbs/favicon.png and /dev/null differ diff --git a/public/img/logos/fcuk/thumbs/network.png b/public/img/logos/fcuk/thumbs/network.png deleted file mode 100644 index f2dbf4c9..00000000 Binary files a/public/img/logos/fcuk/thumbs/network.png and /dev/null differ diff --git a/seeds/01_networks.js b/seeds/01_networks.js index 79ed17ab..04cf62f9 100644 --- a/seeds/01_networks.js +++ b/seeds/01_networks.js @@ -174,8 +174,8 @@ const networks = [ url: 'https://www.dorcel.com', }, { - slug: 'fcuk', - name: 'Fcuk', + slug: 'exploitedx', + name: 'ExpoitedX', }, { slug: 'freeones', diff --git a/seeds/02_sites.js b/seeds/02_sites.js index ea3eb6b4..71dcef71 100644 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -2760,18 +2760,20 @@ const sites = [ slug: 'exploitedcollegegirls', alias: ['excogi', 'ecg'], url: 'https://exploitedcollegegirls.com', - parent: 'fcuk', + parent: 'exploitedx', parameters: { - blog: true, + layout: 'blog', + latest: 'https://www.exploitedcollegegirls.com/site/categories/movies_{page}_d.html', }, }, { name: 'Backroom Casting Couch', slug: 'backroomcastingcouch', url: 'https://backroomcastingcouch.com', - parent: 'fcuk', + parent: 'exploitedx', parameters: { - blog: true, + layout: 'blog', + latest: 'https://www.backroomcastingcouch.com/site/categories/movies_{page}_d.html', }, }, { @@ -2779,40 +2781,40 @@ const sites = [ slug: 'blackambush', alias: ['interracial', 'bbc'], url: 'https://blackambush.com', - parent: 'fcuk', + parent: 'exploitedx', parameters: { - blog: true, + layout: 'blog', }, }, { name: 'Nebraska Coeds', slug: 'nebraskacoeds', url: 'https://nebraskacoeds.com', - parent: 'fcuk', + parent: 'exploitedx', }, { name: 'South Beach Coeds', slug: 'southbeachcoeds', url: 'https://southbeachcoeds.com', - parent: 'fcuk', + parent: 'exploitedx', }, { name: 'Spring Break Life', slug: 'springbreaklife', url: 'https://springbreaklife.com', - parent: 'fcuk', + parent: 'exploitedx', }, { name: 'Euro Coeds', slug: 'eurocoeds', url: 'https://eurocoeds.com', - parent: 'fcuk', + parent: 'exploitedx', }, { name: 'After Hours Exposed', slug: 'afterhoursexposed', url: 'https://afterhoursexposed.com', - parent: 'fcuk', + parent: 'exploitedx', }, // FIRST ANAL QUEST { diff --git a/src/media.js b/src/media.js index f0cd2f09..0b5de790 100644 --- a/src/media.js +++ b/src/media.js @@ -435,6 +435,10 @@ async function storeFile(media, options) { return storeImageFile(media, hashDir, hashSubDir, filename, filedir, filepath, options); } + if (['posters', 'photos', 'covers'].includes(media.role)) { + throw new Error(`Media for '${media.role}' must be an image, but '${media.meta.mimetype}' was detected`); + } + const [stat] = await Promise.all([ fsPromises.stat(media.file.path), fsPromises.mkdir(path.join(config.media.path, filedir), { recursive: true }), diff --git a/src/scrapers/elevatedx.js b/src/scrapers/elevatedx.js new file mode 100644 index 00000000..17c23d72 --- /dev/null +++ b/src/scrapers/elevatedx.js @@ -0,0 +1,112 @@ +'use strict'; + +const format = require('template-format'); + +const qu = require('../utils/q'); +const slugify = require('../utils/slugify'); + +function deriveEntryId(release) { + if (release.date && release.url) { + const slug = new URL(release.url).pathname.match(/\/trailers\/(.*).html/)[1]; + + return `${slugify(qu.formatDate(release.date, 'YYYY-MM-DD'))}-${slugify(slug)}`; + } + + if (release.date && release.title) { + return `${slugify(qu.formatDate(release.date, 'YYYY-MM-DD'))}-${slugify(release.title)}`; + } + + return null; +} + +function scrapeAllClassic(scenes, channel) { + return scenes.map(({ query }) => { + const release = {}; + + release.url = query.url('.updateInfo h5 a:not([href*="content/"]):not([href*="#coming"])'); + release.entryId = query.url('.updateThumb img', 'alt'); + + release.title = query.cnt('.updateInfo h5 a'); + + release.actors = query.cnts('.tour_update_models a'); + release.date = query.date('.availdate, .updateInfo p span:nth-child(2)', 'MM/DD/YYYY'); + + release.poster = query.img('.updateThumb img'); + + const trailer = query.q('.updateInfo h5 a', 'onclick')?.match(/'(.+)'/)?.[1]; + + if (trailer) { + release.trailer = `${channel.url}${trailer}`; + } + + return release; + }); +} + +function scrapeAllTubular(scenes, channel, accNetworkReleases) { + return scenes.map(({ query }) => { + const release = {}; + + release.title = query.q('h4 a', 'title') || query.q('h4 a', true); + release.url = query.url('h4 a'); + + release.date = query.date('.more-info-div', 'MMM D, YYYY'); + release.duration = query.dur('.more-info-div'); + + const posterPath = query.q('.img-div img', 'src0_1x') || query.img('img.video_placeholder'); + + if (posterPath) { + const poster = /^http/.test(posterPath) ? posterPath : `${channel.parameters?.media || channel.url}${posterPath}`; + + release.poster = [ + poster.replace('-1x', '-3x'), + poster.replace('-1x', '-2x'), + poster, + ]; + } + + release.teaser = query.video(); + + // release.entryId = q('.img-div img', 'id')?.match(/set-target-(\d+)/)[1]; + release.entryId = deriveEntryId(release); + + if (channel.parameters?.accFilter && accNetworkReleases?.map(accRelease => accRelease.entryId).includes(release.entryId)) { + // filter out releases that were already scraped from a categorized site, requeryires sequeryential site scraping + return null; + } + + return release; + }); +} + +async function fetchLatest(site, page = 1, options, preData, allScraper) { + const url = (site.parameters?.latest && format(site.parameters.latest, { page })) + || `${site.url}/categories/movies_${page}_d.html`; + + const res = await qu.getAll(url, '.modelfeature, .item-video, .bodyArea .updateItem'); + + if (!res.ok) { + return res.status; + } + + return allScraper(res.items, site, preData?.uniqueReleases); +} + +async function fetchLatestClassic(channel, page, options, preData) { + return fetchLatest(channel, page, options, preData, scrapeAllClassic); +} + +async function fetchLatestTubular(channel, page, options, preData) { + return fetchLatest(channel, page, options, preData, scrapeAllTubular); +} + +module.exports = { + classic: { + fetchLatest: fetchLatestClassic, + scrapeAll: scrapeAllClassic, + }, + tubular: { + fetchLatest: fetchLatestTubular, + scrapeAll: scrapeAllTubular, + }, +}; diff --git a/src/scrapers/fcuk.js b/src/scrapers/exploitedx.js similarity index 90% rename from src/scrapers/fcuk.js rename to src/scrapers/exploitedx.js index b34fee62..3191ff94 100644 --- a/src/scrapers/fcuk.js +++ b/src/scrapers/exploitedx.js @@ -4,6 +4,8 @@ const qu = require('../utils/qu'); const slugify = require('../utils/slugify'); const { feetInchesToCm } = require('../utils/convert'); +const elevatedx = require('./elevatedx'); + function scrapeLatestBlog(scenes, channel) { return scenes.map(({ query }) => { const release = {}; @@ -134,52 +136,41 @@ function scrapeProfile({ query }, entity) { } async function fetchLatestBlog(channel, page) { + /* const url = `${channel.url}/free/updates/videos/${(page - 1) * 10}`; - const res = await qu.getAll(url, '.videos'); + const url = `${channel.parameters?.latest || channel.url}/movies_${page}_d.html`; + const res = await qu.getAll(url, '.item-update'); + */ - return res.ok ? scrapeLatestBlog(res.items, channel) : res.status; + const scenes = await elevatedx.tubular.fetchLatest(channel, page); + + console.log(scenes); + + // return res.ok ? scrapeLatestBlog(res.items, channel) : res.status; } async function fetchLatest(channel, page = 1) { - if (channel.parameters?.blog) { - return fetchLatestBlog(channel, page); - } - + /* const url = `${channel.url}/categories/Movies_${page}_d.html`; const res = await qu.getAll(url, '.bodyArea .updateItem'); return res.ok ? scrapeAll(res.items, channel) : res.status; + */ + + const scenes = await elevatedx.classic.fetchLatest(channel, page); + + return scenes; } async function fetchUpcoming(channel) { - if (channel.parameters?.blog) { - return []; - } - const res = await qu.getAll(channel.url, '#owl-upcomingScenes .updateItem'); return res.ok ? scrapeAll(res.items, channel) : res.status; } -async function fetchScene(url, channel) { - const res = await qu.get(url); - - if (res.ok) { - if (channel.parameters?.blog) { - return scrapeSceneBlog(res.item, url, channel); - } - - return scrapeScene(res.item, url, channel); - } - - return res.status; -} - async function fetchProfile(baseActor, entity) { const modelsRes = await qu.getAll(`${entity.url}/free/girls.php?alpha=${baseActor.name.slice(0, 1)}`, '.model'); - console.log(baseActor); - if (modelsRes.ok) { const models = modelsRes.items.filter(({ query }) => query.cnt('strong') === baseActor.name); @@ -199,8 +190,12 @@ async function fetchProfile(baseActor, entity) { } module.exports = { - fetchLatest, - fetchScene, + fetchLatest: elevatedx.classic.fetchLatest, fetchUpcoming, fetchProfile, + scrapeScene, + blog: { + fetchLatest: elevatedx.tubular.fetchLatest, + scrapeScene: scrapeSceneBlog, + }, }; diff --git a/src/scrapers/hush.js b/src/scrapers/hush.js index fb012bfe..038df367 100644 --- a/src/scrapers/hush.js +++ b/src/scrapers/hush.js @@ -368,4 +368,5 @@ module.exports = { fetchLatest, fetchScene, fetchProfile, + scrapeAllT1, }; diff --git a/src/scrapers/scrapers.js b/src/scrapers/scrapers.js index 4cd518b1..59dcf660 100644 --- a/src/scrapers/scrapers.js +++ b/src/scrapers/scrapers.js @@ -18,7 +18,7 @@ const dorcel = require('./dorcel'); const elegantangel = require('./elegantangel'); const famedigital = require('./famedigital'); const firstanalquest = require('./firstanalquest'); -const fcuk = require('./fcuk'); +const exploitedx = require('./exploitedx'); const fullpornnetwork = require('./fullpornnetwork'); const gamma = require('./gamma'); const hitzefrei = require('./hitzefrei'); @@ -87,7 +87,7 @@ const scrapers = { dorcel, elegantangel, famedigital, - fcuk, + exploitedx, firstanalquest, forbondage: porndoe, fullpornnetwork, @@ -179,7 +179,7 @@ const scrapers = { dtfsluts: fullpornnetwork, elegantangel, evilangel: gamma, - exploitedcollegegirls: fcuk, + exploitedcollegegirls: exploitedx, eyeontheguy: hush, fakehub: mindgeek, firstanalquest,