diff --git a/assets/components/actors/actors.vue b/assets/components/actors/actors.vue index 22b55de1b..a99f033b6 100644 --- a/assets/components/actors/actors.vue +++ b/assets/components/actors/actors.vue @@ -272,7 +272,7 @@ import Pagination from '../pagination/pagination.vue'; const toggleValues = [true, null, false]; const boobSizes = 'ABCDEFGHIJKZ'.split(''); -const topCountries = ['AU', 'BR', 'DE', 'RU', 'GB', 'US']; +const topCountries = ['AU', 'BR', 'DE', 'JP', 'RU', 'GB', 'US']; function updateFilters() { this.$router.push({ diff --git a/assets/components/releases/movies.vue b/assets/components/releases/movies.vue index 1e1857550..3ff57609a 100644 --- a/assets/components/releases/movies.vue +++ b/assets/components/releases/movies.vue @@ -78,7 +78,7 @@ export default { return { movies: [], totalCount: 0, - limit: 5, + limit: 20, }; }, watch: { diff --git a/assets/js/actors/actions.js b/assets/js/actors/actions.js index 8baf5c6fc..539c726bf 100644 --- a/assets/js/actors/actions.js +++ b/assets/js/actors/actions.js @@ -410,7 +410,9 @@ function initActorActions(store, router) { ${actorStashesFields} } } - countries { + countries( + orderBy: NAME_ASC, + ) { alpha2 name alias diff --git a/config/default.js b/config/default.js index 0a463d422..1431c7b5a 100644 --- a/config/default.js +++ b/config/default.js @@ -142,6 +142,11 @@ module.exports = { 'hotcrazymess', 'thatsitcomshow', ], + [ + // Adult DVD Empire + 'elegantangel', + 'westcoastproductions', + ], '21sextury', 'julesjordan', 'dorcelclub', @@ -267,6 +272,14 @@ module.exports = { interval: 1000, concurrency: 1, }, + 'westcoastproductions.com': { + interval: 100, + concurrency: 1, + }, + 'images.mylfcdn.net': { + interval: 50, + concurrency: 1, + }, }, fetchAfter: [1, 'week'], missingDateLimit: 3, diff --git a/public/img/logos/westcoastproductions/favicon.png b/public/img/logos/westcoastproductions/favicon.png new file mode 100644 index 000000000..687cc9dd9 Binary files /dev/null and b/public/img/logos/westcoastproductions/favicon.png differ diff --git a/public/img/logos/westcoastproductions/favicon_dark.png b/public/img/logos/westcoastproductions/favicon_dark.png new file mode 100644 index 000000000..e7d45cd79 Binary files /dev/null and b/public/img/logos/westcoastproductions/favicon_dark.png differ diff --git a/public/img/logos/westcoastproductions/favicon_light.png b/public/img/logos/westcoastproductions/favicon_light.png new file mode 100644 index 000000000..4f8ad874f Binary files /dev/null and b/public/img/logos/westcoastproductions/favicon_light.png differ diff --git a/public/img/logos/westcoastproductions/lazy/network.png b/public/img/logos/westcoastproductions/lazy/network.png new file mode 100644 index 000000000..9d085de00 Binary files /dev/null and b/public/img/logos/westcoastproductions/lazy/network.png differ diff --git a/public/img/logos/westcoastproductions/lazy/westcoastproductions.png b/public/img/logos/westcoastproductions/lazy/westcoastproductions.png new file mode 100644 index 000000000..9d085de00 Binary files /dev/null and b/public/img/logos/westcoastproductions/lazy/westcoastproductions.png differ diff --git a/public/img/logos/westcoastproductions/misc/west-coast-productions_dark.png b/public/img/logos/westcoastproductions/misc/west-coast-productions_dark.png new file mode 100644 index 000000000..8cc915412 Binary files /dev/null and b/public/img/logos/westcoastproductions/misc/west-coast-productions_dark.png differ diff --git a/public/img/logos/westcoastproductions/network.png b/public/img/logos/westcoastproductions/network.png new file mode 100644 index 000000000..c8ca165b8 Binary files /dev/null and b/public/img/logos/westcoastproductions/network.png differ diff --git a/public/img/logos/westcoastproductions/thumbs/network.png b/public/img/logos/westcoastproductions/thumbs/network.png new file mode 100644 index 000000000..1c9ac3154 Binary files /dev/null and b/public/img/logos/westcoastproductions/thumbs/network.png differ diff --git a/public/img/logos/westcoastproductions/thumbs/westcoastproductions.png b/public/img/logos/westcoastproductions/thumbs/westcoastproductions.png new file mode 100644 index 000000000..1c9ac3154 Binary files /dev/null and b/public/img/logos/westcoastproductions/thumbs/westcoastproductions.png differ diff --git a/public/img/logos/westcoastproductions/westcoastproductions.png b/public/img/logos/westcoastproductions/westcoastproductions.png new file mode 100644 index 000000000..6a70088f2 Binary files /dev/null and b/public/img/logos/westcoastproductions/westcoastproductions.png differ diff --git a/public/img/tags/anal/courtney_taylor_brazzers.jpeg b/public/img/tags/anal/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..ad4ac44ed Binary files /dev/null and b/public/img/tags/anal/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/anal/lazy/courtney_taylor_brazzers.jpeg b/public/img/tags/anal/lazy/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..632a45600 Binary files /dev/null and b/public/img/tags/anal/lazy/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/anal/thumbs/courtney_taylor_brazzers.jpeg b/public/img/tags/anal/thumbs/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..d0f1486c5 Binary files /dev/null and b/public/img/tags/anal/thumbs/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/blowjob/juelz_ventura_babygotboobs.jpeg b/public/img/tags/blowjob/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..ec623145d Binary files /dev/null and b/public/img/tags/blowjob/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/blowjob/lazy/juelz_ventura_babygotboobs.jpeg b/public/img/tags/blowjob/lazy/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..d1cb5556b Binary files /dev/null and b/public/img/tags/blowjob/lazy/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/blowjob/thumbs/juelz_ventura_babygotboobs.jpeg b/public/img/tags/blowjob/thumbs/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..6821c4305 Binary files /dev/null and b/public/img/tags/blowjob/thumbs/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/creampie/katrina_moreno_bangbros.jpeg b/public/img/tags/creampie/katrina_moreno_bangbros.jpeg new file mode 100644 index 000000000..c6cd2a8fe Binary files /dev/null and b/public/img/tags/creampie/katrina_moreno_bangbros.jpeg differ diff --git a/public/img/tags/creampie/lazy/katrina_moreno_bangbros.jpeg b/public/img/tags/creampie/lazy/katrina_moreno_bangbros.jpeg new file mode 100644 index 000000000..3b24d882b Binary files /dev/null and b/public/img/tags/creampie/lazy/katrina_moreno_bangbros.jpeg differ diff --git a/public/img/tags/creampie/thumbs/katrina_moreno_bangbros.jpeg b/public/img/tags/creampie/thumbs/katrina_moreno_bangbros.jpeg new file mode 100644 index 000000000..15e62bfb3 Binary files /dev/null and b/public/img/tags/creampie/thumbs/katrina_moreno_bangbros.jpeg differ diff --git a/public/img/tags/cum-in-mouth/courtney_taylor_brazzers.jpeg b/public/img/tags/cum-in-mouth/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..8036e737b Binary files /dev/null and b/public/img/tags/cum-in-mouth/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/cum-in-mouth/lazy/courtney_taylor_brazzers.jpeg b/public/img/tags/cum-in-mouth/lazy/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..9195f5106 Binary files /dev/null and b/public/img/tags/cum-in-mouth/lazy/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/cum-in-mouth/thumbs/courtney_taylor_brazzers.jpeg b/public/img/tags/cum-in-mouth/thumbs/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..400bfa4b5 Binary files /dev/null and b/public/img/tags/cum-in-mouth/thumbs/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/cum-on-boobs/gogo_fukme_devilsfilm.jpeg b/public/img/tags/cum-on-boobs/gogo_fukme_devilsfilm.jpeg new file mode 100644 index 000000000..af2c95f6d Binary files /dev/null and b/public/img/tags/cum-on-boobs/gogo_fukme_devilsfilm.jpeg differ diff --git a/public/img/tags/cum-on-boobs/lazy/gogo_fukme_devilsfilm.jpeg b/public/img/tags/cum-on-boobs/lazy/gogo_fukme_devilsfilm.jpeg new file mode 100644 index 000000000..eaaea3397 Binary files /dev/null and b/public/img/tags/cum-on-boobs/lazy/gogo_fukme_devilsfilm.jpeg differ diff --git a/public/img/tags/cum-on-boobs/thumbs/gogo_fukme_devilsfilm.jpeg b/public/img/tags/cum-on-boobs/thumbs/gogo_fukme_devilsfilm.jpeg new file mode 100644 index 000000000..876080c82 Binary files /dev/null and b/public/img/tags/cum-on-boobs/thumbs/gogo_fukme_devilsfilm.jpeg differ diff --git a/public/img/tags/cum-on-pussy/katrina_moreno_elegantraw.jpeg b/public/img/tags/cum-on-pussy/katrina_moreno_elegantraw.jpeg new file mode 100644 index 000000000..52222e7ce Binary files /dev/null and b/public/img/tags/cum-on-pussy/katrina_moreno_elegantraw.jpeg differ diff --git a/public/img/tags/cum-on-pussy/lazy/katrina_moreno_elegantraw.jpeg b/public/img/tags/cum-on-pussy/lazy/katrina_moreno_elegantraw.jpeg new file mode 100644 index 000000000..1e32dca75 Binary files /dev/null and b/public/img/tags/cum-on-pussy/lazy/katrina_moreno_elegantraw.jpeg differ diff --git a/public/img/tags/cum-on-pussy/thumbs/katrina_moreno_elegantraw.jpeg b/public/img/tags/cum-on-pussy/thumbs/katrina_moreno_elegantraw.jpeg new file mode 100644 index 000000000..ca176336d Binary files /dev/null and b/public/img/tags/cum-on-pussy/thumbs/katrina_moreno_elegantraw.jpeg differ diff --git a/public/img/tags/dp/courtney_taylor_realwifestories.jpeg b/public/img/tags/dp/courtney_taylor_realwifestories.jpeg new file mode 100644 index 000000000..9caa82063 Binary files /dev/null and b/public/img/tags/dp/courtney_taylor_realwifestories.jpeg differ diff --git a/public/img/tags/dp/juelz_ventura_babygotboobs.jpeg b/public/img/tags/dp/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..58d3eb171 Binary files /dev/null and b/public/img/tags/dp/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/dp/juelz_ventura_babygotboobs_1.jpeg b/public/img/tags/dp/juelz_ventura_babygotboobs_1.jpeg new file mode 100644 index 000000000..3628872a2 Binary files /dev/null and b/public/img/tags/dp/juelz_ventura_babygotboobs_1.jpeg differ diff --git a/public/img/tags/dp/lazy/courtney_taylor_realwifestories.jpeg b/public/img/tags/dp/lazy/courtney_taylor_realwifestories.jpeg new file mode 100644 index 000000000..79ee8a526 Binary files /dev/null and b/public/img/tags/dp/lazy/courtney_taylor_realwifestories.jpeg differ diff --git a/public/img/tags/dp/lazy/juelz_ventura_babygotboobs.jpeg b/public/img/tags/dp/lazy/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..52eb2f044 Binary files /dev/null and b/public/img/tags/dp/lazy/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/dp/lazy/juelz_ventura_babygotboobs_1.jpeg b/public/img/tags/dp/lazy/juelz_ventura_babygotboobs_1.jpeg new file mode 100644 index 000000000..5e0e8ca60 Binary files /dev/null and b/public/img/tags/dp/lazy/juelz_ventura_babygotboobs_1.jpeg differ diff --git a/public/img/tags/dp/thumbs/courtney_taylor_realwifestories.jpeg b/public/img/tags/dp/thumbs/courtney_taylor_realwifestories.jpeg new file mode 100644 index 000000000..d076ef852 Binary files /dev/null and b/public/img/tags/dp/thumbs/courtney_taylor_realwifestories.jpeg differ diff --git a/public/img/tags/dp/thumbs/juelz_ventura_babygotboobs.jpeg b/public/img/tags/dp/thumbs/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..be875e966 Binary files /dev/null and b/public/img/tags/dp/thumbs/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/dp/thumbs/juelz_ventura_babygotboobs_1.jpeg b/public/img/tags/dp/thumbs/juelz_ventura_babygotboobs_1.jpeg new file mode 100644 index 000000000..165ee864b Binary files /dev/null and b/public/img/tags/dp/thumbs/juelz_ventura_babygotboobs_1.jpeg differ diff --git a/public/img/tags/dv-tp/lazy/veronica_avluv_brazzers.jpeg b/public/img/tags/dv-tp/lazy/veronica_avluv_brazzers.jpeg new file mode 100644 index 000000000..bb5236a31 Binary files /dev/null and b/public/img/tags/dv-tp/lazy/veronica_avluv_brazzers.jpeg differ diff --git a/public/img/tags/dv-tp/thumbs/0.jpeg b/public/img/tags/dv-tp/thumbs/0.jpeg index 8e5525982..2be1562e8 100644 Binary files a/public/img/tags/dv-tp/thumbs/0.jpeg and b/public/img/tags/dv-tp/thumbs/0.jpeg differ diff --git a/public/img/tags/dv-tp/thumbs/1.jpeg b/public/img/tags/dv-tp/thumbs/1.jpeg index f202b5a1c..2f78ffbc6 100644 Binary files a/public/img/tags/dv-tp/thumbs/1.jpeg and b/public/img/tags/dv-tp/thumbs/1.jpeg differ diff --git a/public/img/tags/dv-tp/thumbs/poster.jpeg b/public/img/tags/dv-tp/thumbs/poster.jpeg index 70db22578..6ea304cc9 100644 Binary files a/public/img/tags/dv-tp/thumbs/poster.jpeg and b/public/img/tags/dv-tp/thumbs/poster.jpeg differ diff --git a/public/img/tags/dv-tp/thumbs/veronica_avluv_brazzers.jpeg b/public/img/tags/dv-tp/thumbs/veronica_avluv_brazzers.jpeg new file mode 100644 index 000000000..81b3374e3 Binary files /dev/null and b/public/img/tags/dv-tp/thumbs/veronica_avluv_brazzers.jpeg differ diff --git a/public/img/tags/dv-tp/veronica_avluv_brazzers.jpeg b/public/img/tags/dv-tp/veronica_avluv_brazzers.jpeg new file mode 100644 index 000000000..a55f43218 Binary files /dev/null and b/public/img/tags/dv-tp/veronica_avluv_brazzers.jpeg differ diff --git a/public/img/tags/dvp/jaclyn_case_digitalsin.jpeg b/public/img/tags/dvp/jaclyn_case_digitalsin.jpeg new file mode 100644 index 000000000..b96574a7e Binary files /dev/null and b/public/img/tags/dvp/jaclyn_case_digitalsin.jpeg differ diff --git a/public/img/tags/dvp/lazy/jaclyn_case_digitalsin.jpeg b/public/img/tags/dvp/lazy/jaclyn_case_digitalsin.jpeg new file mode 100644 index 000000000..dc12412ed Binary files /dev/null and b/public/img/tags/dvp/lazy/jaclyn_case_digitalsin.jpeg differ diff --git a/public/img/tags/dvp/thumbs/jaclyn_case_digitalsin.jpeg b/public/img/tags/dvp/thumbs/jaclyn_case_digitalsin.jpeg new file mode 100644 index 000000000..db5d34be5 Binary files /dev/null and b/public/img/tags/dvp/thumbs/jaclyn_case_digitalsin.jpeg differ diff --git a/public/img/tags/enhanced-boobs/courtney_taylor_brazzers.jpeg b/public/img/tags/enhanced-boobs/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..0b3b916fb Binary files /dev/null and b/public/img/tags/enhanced-boobs/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/enhanced-boobs/courtney_taylor_brazzers_1.jpeg b/public/img/tags/enhanced-boobs/courtney_taylor_brazzers_1.jpeg new file mode 100644 index 000000000..9209dc8cc Binary files /dev/null and b/public/img/tags/enhanced-boobs/courtney_taylor_brazzers_1.jpeg differ diff --git a/public/img/tags/enhanced-boobs/courtney_taylor_brazzers_2.jpeg b/public/img/tags/enhanced-boobs/courtney_taylor_brazzers_2.jpeg new file mode 100644 index 000000000..53b8c326e Binary files /dev/null and b/public/img/tags/enhanced-boobs/courtney_taylor_brazzers_2.jpeg differ diff --git a/public/img/tags/enhanced-boobs/katrina_moreno_bangbros.jpeg b/public/img/tags/enhanced-boobs/katrina_moreno_bangbros.jpeg new file mode 100644 index 000000000..172ac4d2f Binary files /dev/null and b/public/img/tags/enhanced-boobs/katrina_moreno_bangbros.jpeg differ diff --git a/public/img/tags/enhanced-boobs/katrina_moreno_bangbros_1.jpeg b/public/img/tags/enhanced-boobs/katrina_moreno_bangbros_1.jpeg new file mode 100644 index 000000000..f77eb2931 Binary files /dev/null and b/public/img/tags/enhanced-boobs/katrina_moreno_bangbros_1.jpeg differ diff --git a/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers.jpeg b/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..6a70ec1a0 Binary files /dev/null and b/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers_1.jpeg b/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers_1.jpeg new file mode 100644 index 000000000..4cdb8fcb6 Binary files /dev/null and b/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers_1.jpeg differ diff --git a/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers_2.jpeg b/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers_2.jpeg new file mode 100644 index 000000000..fd9c7f40d Binary files /dev/null and b/public/img/tags/enhanced-boobs/lazy/courtney_taylor_brazzers_2.jpeg differ diff --git a/public/img/tags/enhanced-boobs/lazy/katrina_moreno_bangbros.jpeg b/public/img/tags/enhanced-boobs/lazy/katrina_moreno_bangbros.jpeg new file mode 100644 index 000000000..82c15c3eb Binary files /dev/null and b/public/img/tags/enhanced-boobs/lazy/katrina_moreno_bangbros.jpeg differ diff --git a/public/img/tags/enhanced-boobs/lazy/katrina_moreno_bangbros_1.jpeg b/public/img/tags/enhanced-boobs/lazy/katrina_moreno_bangbros_1.jpeg new file mode 100644 index 000000000..788d45697 Binary files /dev/null and b/public/img/tags/enhanced-boobs/lazy/katrina_moreno_bangbros_1.jpeg differ diff --git a/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers.jpeg b/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers.jpeg new file mode 100644 index 000000000..e246416e7 Binary files /dev/null and b/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers.jpeg differ diff --git a/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers_1.jpeg b/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers_1.jpeg new file mode 100644 index 000000000..a0adf1360 Binary files /dev/null and b/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers_1.jpeg differ diff --git a/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers_2.jpeg b/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers_2.jpeg new file mode 100644 index 000000000..500fb1da3 Binary files /dev/null and b/public/img/tags/enhanced-boobs/thumbs/courtney_taylor_brazzers_2.jpeg differ diff --git a/public/img/tags/enhanced-boobs/thumbs/katrina_moreno_bangbros.jpeg b/public/img/tags/enhanced-boobs/thumbs/katrina_moreno_bangbros.jpeg new file mode 100644 index 000000000..ba8fe1c1d Binary files /dev/null and b/public/img/tags/enhanced-boobs/thumbs/katrina_moreno_bangbros.jpeg differ diff --git a/public/img/tags/enhanced-boobs/thumbs/katrina_moreno_bangbros_1.jpeg b/public/img/tags/enhanced-boobs/thumbs/katrina_moreno_bangbros_1.jpeg new file mode 100644 index 000000000..ed1ef5863 Binary files /dev/null and b/public/img/tags/enhanced-boobs/thumbs/katrina_moreno_bangbros_1.jpeg differ diff --git a/public/img/tags/jaclyn_case_digitalsin.jpeg b/public/img/tags/jaclyn_case_digitalsin.jpeg new file mode 100644 index 000000000..b96574a7e Binary files /dev/null and b/public/img/tags/jaclyn_case_digitalsin.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..e3dfbc020 Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs_1.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs_1.jpeg new file mode 100644 index 000000000..c011f1d87 Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs_1.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs_2.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs_2.jpeg new file mode 100644 index 000000000..0c2b8cadc Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs_2.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs_3.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs_3.jpeg new file mode 100644 index 000000000..1d8762bff Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs_3.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs_3a.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs_3a.jpeg new file mode 100644 index 000000000..13f6e6993 Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs_3a.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs_4.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs_4.jpeg new file mode 100644 index 000000000..bb2cf1e37 Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs_4.jpeg differ diff --git a/public/img/tags/mfm/juelz_ventura_babygotboobs_5.jpeg b/public/img/tags/mfm/juelz_ventura_babygotboobs_5.jpeg new file mode 100644 index 000000000..ab1224c67 Binary files /dev/null and b/public/img/tags/mfm/juelz_ventura_babygotboobs_5.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..3f11a9ab2 Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_1.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_1.jpeg new file mode 100644 index 000000000..81ed77512 Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_1.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_2.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_2.jpeg new file mode 100644 index 000000000..b66d03cc1 Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_2.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_3.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_3.jpeg new file mode 100644 index 000000000..3c6b742cf Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_3.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_3a.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_3a.jpeg new file mode 100644 index 000000000..eebfd6a8c Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_3a.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_4.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_4.jpeg new file mode 100644 index 000000000..18dd854f7 Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_4.jpeg differ diff --git a/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_5.jpeg b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_5.jpeg new file mode 100644 index 000000000..bb64eb231 Binary files /dev/null and b/public/img/tags/mfm/lazy/juelz_ventura_babygotboobs_5.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs.jpeg new file mode 100644 index 000000000..6f574481c Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_1.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_1.jpeg new file mode 100644 index 000000000..991e560da Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_1.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_2.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_2.jpeg new file mode 100644 index 000000000..ad442a6dd Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_2.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_3.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_3.jpeg new file mode 100644 index 000000000..b4615ebe4 Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_3.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_3a.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_3a.jpeg new file mode 100644 index 000000000..8d8882742 Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_3a.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_4.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_4.jpeg new file mode 100644 index 000000000..c23da4460 Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_4.jpeg differ diff --git a/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_5.jpeg b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_5.jpeg new file mode 100644 index 000000000..fe13dd443 Binary files /dev/null and b/public/img/tags/mfm/thumbs/juelz_ventura_babygotboobs_5.jpeg differ diff --git a/public/img/tags/oil/asia_rae_massagerooms.jpeg b/public/img/tags/oil/asia_rae_massagerooms.jpeg new file mode 100644 index 000000000..b66913429 Binary files /dev/null and b/public/img/tags/oil/asia_rae_massagerooms.jpeg differ diff --git a/public/img/tags/oil/lazy/asia_rae_massagerooms.jpeg b/public/img/tags/oil/lazy/asia_rae_massagerooms.jpeg new file mode 100644 index 000000000..153bbeb40 Binary files /dev/null and b/public/img/tags/oil/lazy/asia_rae_massagerooms.jpeg differ diff --git a/public/img/tags/oil/thumbs/asia_rae_massagerooms.jpeg b/public/img/tags/oil/thumbs/asia_rae_massagerooms.jpeg new file mode 100644 index 000000000..acc1d05bc Binary files /dev/null and b/public/img/tags/oil/thumbs/asia_rae_massagerooms.jpeg differ diff --git a/seeds/02_sites.js b/seeds/02_sites.js index 118b602b2..fda5cf0fc 100644 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -10104,6 +10104,18 @@ const sites = [ tags: ['vr', 'transsexual'], parent: 'wankzvr', }, + // WEST COAST PRODUCTIONS + { + name: 'West Coast Productions', + slug: 'westcoastproductions', + url: 'https://westcoastproductions.com', + alias: ['wcp'], + tags: ['black-cock'], + parameters: { + studio: false, + layout: 'grid', + }, + }, // WHALE MEMBER { name: 'Cum 4K', diff --git a/seeds/04_media.js b/seeds/04_media.js index f83d14d25..354abb071 100644 --- a/seeds/04_media.js +++ b/seeds/04_media.js @@ -611,6 +611,7 @@ const tagMedia = [ ['airtight', 9, 'Cindy Shine in GP1658'], ['anal', 5, 'Abella Danger', 'hardx'], ['anal', 'kira_noir_julesjordan', 'Kira Noir in "Kira Noir Opens Her Ass For Manuel"', 'julesjordan'], + ['anal', 'courtney_taylor_brazzers', 'Courtney Taylor in "Pounding That Pussy By The Pool"', 'brazzers'], ['anal', 'kelly_oliveira_teenfidelity_1', 'Kelly Oliveira in "Keep It Going"', 'teenfidelity'], ['anal', 'jane_wilde_evilangel_2', 'Jane Wilde and Brock Cooper in "The Cock Hungry Chronicles"', 'evilangel'], ['anal', 'jynx_maze_evilangel', 'Jynx Maze in "Gape Me"', 'evilangel'], @@ -668,6 +669,7 @@ const tagMedia = [ ['blowbang', 'gina_gerson_assholefever', 'Gina Gerson in "Oppa Gangbang Style"', 'assholefever'], ['blowbang', 1, 'Nicole Black in GIO1680', 'legalporno'], ['blowjob', 'clanddi_jinkcego_ddfbusty_1', 'Clanddi Jinkcego', 'ddfbusty'], + ['blowjob', 'juelz_ventura_babygotboobs', 'Juelz Ventura in "A Deep DP For Dessert"', 'babygotboobs'], ['blowjob', 4, 'Chloe Cherry in "Chloe\'s Big Anal"', 'darkx'], ['blowjob', 'anissa_kate_vixen_1', 'Anissa Kate in "Power Moves"', 'vixen'], ['blowjob', 'maddy_may_cherrypimps', 'Maddy May', 'cherrypimps'], @@ -692,11 +694,13 @@ const tagMedia = [ ['bukkake', 'jasmine_byrne_julesjordan', 'Jasmine Byrne in "Flesh Hunter 10"', 'julesjordan'], ['bukkake', 'megan_rain_julesjordan', 'Megan Rain in "Slutty Teen In A 10 Cock Blowbang! It\'s RAINING Cum!"', 'julesjordan'], ['creampie', 1, 'Eveline Dellai', 'nubiles'], + ['creampie', 'katrina_moreno_bangbros', 'Katrina Moreno in "Stripper Cream Pie"', 'bangbros'], ['creampie', 3, 'Silvia Soprina in "Satisfaction"', '5kteens'], ['creampie', 2, 'Natasha Lapiedra in "New and Ready"', '5kporn'], ['creampie', 'poster', 'Alina Lopez in "Making Yourself Unforgettable"', 'blacked'], ['cum-drunk', 0, 'Ashly Anderson in "Rough Love"', 'hookuphotshot'], ['cum-in-mouth', 1, 'Sarah Vandella in "Blow Bang Vandella"', 'hardx'], + ['cum-in-mouth', 'courtney_taylor_brazzers', 'Courtney Taylor in "Nostalgic Nympho Finally Fucks"', 'brazzers'], ['cum-in-mouth', 3, 'Kira Noir', 'hardx'], ['cum-in-mouth', 5, 'Emma Hix in "A Big Dick"', 'darkx'], ['cum-in-mouth', 4, 'Vanna Bardot and Isiah Maxwell in "Vanna Craves Isiah\'s Cock!"', 'darkx'], @@ -705,11 +709,13 @@ const tagMedia = [ ['cum-in-mouth', 'lara_frost_legalporno', 'Lara Frost in NRX059', 'legalporno'], ['cum-in-mouth', 0, 'Vina Sky and Avi Love', 'hardx'], ['cum-on-boobs', 'september_reign_penthouse', 'September Reign in "Sensual Ride"', 'penthouse'], + ['cum-on-boobs', 'gogo_fukme_devilsfilm', 'GoGo FukMe in "BAD Relatives"', 'devilsfilm'], ['cum-on-boobs', 1, 'Kylie Page in "Melt In Your Mouth"', 'twistyshard'], ['cum-on-boobs', 0, 'Alessandra Jane', 'private'], ['cum-on-boobs', 2, 'Blake Blossom in "Naturally Stacked Cutie"', 'hardx'], ['cum-on-butt', 'chloe_temple_macy_meadows_brattysis', 'Chloe Temple and Macy Meadows', 'brattysis'], ['cum-on-butt', 0, 'Jynx Maze in "Don\'t Make Me Beg 4"', 'evilangel'], + ['cum-on-pussy', 'katrina_moreno_elegantraw', 'Katrina Moreno in "Pump My Ass Raw!"', 'elegantraw'], ['cum-on-pussy', 0, 'Talinka A', 'sexart'], ['da-tp', 7, 'Polly Petrova in YE069', 'legalporno'], ['da-tp', 5, 'Venera Maxima in GIO1287'], @@ -780,12 +786,14 @@ const tagMedia = [ ['double-dildo-kiss', 1, 'Bonnie Rotten and Gina Valentina in "Scared Un-Straight"', 'brazzers'], ['double-dildo-kiss', 3, 'Kiki Daire and Brittany', 'kenmarcus'], ['double-dildo-kiss', 2, 'Adriana Chechik and Vicki Chase in "Anal Savages"', 'julesjordan'], - ['dp', 3, 'Hime Marie in AA047', 'legalporno'], - ['dp', 'kenna_james_tushy_1', 'Kenna James in "Yoga Retreat', 'tushy'], ['dp', 2, 'Megan Rain in "DP Masters 4"', 'julesjordan'], ['dp', 'lara_frost_legalporno', 'Lara Frost in NRX070', 'legalporno'], + ['dp', 'juelz_ventura_babygotboobs_1', 'Juelz Ventura in "A Deep DP For Dessert"', 'babygotboobs'], ['dp', 6, 'Kira Noir', 'hardx'], + ['dp', 'kenna_james_tushy_1', 'Kenna James in "Yoga Retreat', 'tushy'], ['dp', 5, 'Lana Rhoades in "Gangbang Me 3"', 'hardx'], + ['dp', 'courtney_taylor_realwifestories', 'Courtney Taylor in "Divorce Me Please"', 'realwifewstories'], + ['dp', 3, 'Hime Marie in AA047', 'legalporno'], ['dp', 'silvia_dellai_dpfanatics', 'Silvia Dellai in "Tempting Promises"', 'dpfanatics'], ['dp', 'diamond_foxxx_milfslikeitbig', 'Diamond Foxxx in "Deep Cover...Deeper Throat"', 'milfslikeitbig'], ['dp', 'zaawaadi_roccosiffredi', 'Zaawaadi in "My Name Is Zaawaadi"', 'roccosiffredi'], @@ -793,9 +801,11 @@ const tagMedia = [ ['dp', 'poster', 'Mia Malkova in "DP Me 8"', 'hardx'], ['dp', 4, 'Rebecca Volpetti', 'handsonhardcore'], ['dvp', 'poster', 'Riley Reid in "Pizza That Ass"', 'reidmylips'], + ['dvp', 'jaclyn_case_digitalsin', 'Jaclyn Case in "2 Heads R Better Than 1 Volume Two"', 'digitalsin'], ['dvp', 'vina_sky_julesjordan', 'Vina Sky in "Asian Goddess Vina Sky Demands Two Cocks Inside Her At Once"', 'julesjordan'], ['dvp', 0, 'Aaliyah Hadid in "Squirting From Double Penetration With Anal"', 'bangbros'], ['dv-tp', 'poster', 'Juelz Ventura in "Gangbanged 5"', 'elegantangel'], + ['dv-tp', 'veronica_avluv_brazzers', 'Veronica Avluv in "The Secret Soiree: Six-Man Gang Bang"', 'brazzers'], ['dv-tp', 1, 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"'], ['dv-tp', 0, 'Luna Rival in SZ1490'], ['facefucking', 5, 'Mia Moore B', 'throated'], @@ -828,7 +838,9 @@ const tagMedia = [ ['enhanced-boobs', 'hunter_bryce_penthouse', 'Hunter Bryce in "On The Bed"', 'penthouse'], ['enhanced-boobs', '18a', 'Ebony Godess', 'actiongirls'], ['enhanced-boobs', 1, 'Lela Star in "Thick"', 'julesjordan'], + ['enhanced-boobs', 'courtney_taylor_brazzers', 'Courtney Taylor in "Pounding That Pussy By The Pool"', 'brazzers'], ['enhanced-boobs', 'september_reign_spizoo', 'September Rain in "September Reign Loves Jessica"', 'spizoo'], + ['enhanced-boobs', 'katrina_moreno_bangbros', 'Katrina Moreno in "Stripper Cream Pie"', 'bangbros'], ['enhanced-boobs', 'sadie_santana_newsensations', 'Sadie Santana in "Backdoor Beauties"', 'newsensations'], ['enhanced-boobs', 'diana_prince_penthouse_2', 'Diana Prince in "It Is What It Seems"', 'penthouse'], ['enhanced-boobs', 'chessie_kay_chelsey_lanette_eurogirlsongirls', 'Chelsey Lanette and Chessie Kay', 'eurogirlsongirls'], @@ -923,6 +935,7 @@ const tagMedia = [ ['mff', 1, 'Anikka Albrite, Kelsi Monroe and Mick Blue', 'hardx'], ['mff', 'azul_hermosa_isis_love_pornstarslikeitbig', 'Azul Hermosa, Isis Love and Zac Wild in "She Likes Rough Quickies"', 'pornstarslikeitbig'], ['mfm', 'kyra_black_21sextury', 'Kyra Black', '21sextury'], + ['mfm', 'juelz_ventura_babygotboobs_3a', 'Juelz Ventura in "A Deep DP For Dessert"', 'babygotboobs'], ['mfm', 0, 'Vina Sky in "Jules Jordan\'s Three Ways"', 'julesjordan'], ['mfm', 'anne_amari_wefuckblackgirls', 'Anne Amari', 'wefuckblackgirls'], ['mfm', 8, 'Ariana Marie in "DP Masters 7"', 'julesjordan'], @@ -951,9 +964,10 @@ const tagMedia = [ ['nurse', 3, 'Lullu Gun in "Hot Nurse Addicted to Anal"', 'private'], ['nurse', 'hunter_bryce_realityjunkies', 'Hunter Bryce', 'realityjunkies'], ['nurse', 1, 'Mia Malkova in "Always Think Happy Thoughts"', 'brazzers'], - ['oil', 2, 'Jade Kush', 'passionhd'], - ['oil', 1, 'Kissa Sins in "Oil Overload 14"', 'julesjordan'], ['oil', 3, 'Vina Sky', 'lubed'], + ['oil', 1, 'Kissa Sins in "Oil Overload 14"', 'julesjordan'], + ['oil', 'asia_rae_massagerooms', 'Asia Rae', 'massagerooms'], + ['oil', 2, 'Jade Kush', 'passionhd'], ['oil', 0, 'Jada Stevens in "Jada Stevens Anal Ass Oiled Up\'s Cock"', 'julesjordan'], ['oral-creampie', 1, 'Valentina Nappi', 'herlimit'], ['oral-creampie', 0, 'Henessy in "B(ass)t Friends"', 'assholefever'], diff --git a/src/deep.js b/src/deep.js index 58814cd6b..d7d3d25dc 100644 --- a/src/deep.js +++ b/src/deep.js @@ -58,7 +58,12 @@ async function fetchScene(scraper, url, entity, baseRelease, options) { if (scraper.scrapeScene) { const session = qu.session(); - const res = await qu.get(url, null, null, { session }); + + const res = await qu.get(url, null, null, { + session, + rejectUnauthorized: false, + }); + const cookie = await session._sessionOptions.cookieJar.get(url); if (res.ok) { diff --git a/src/media.js b/src/media.js index 92895d4a6..341bf3fcf 100644 --- a/src/media.js +++ b/src/media.js @@ -242,7 +242,7 @@ async function findSourceDuplicates(baseMedias) { const existingSourceMediaByUrl = itemsByKey(existingSourceMedia, 'source'); const existingExtractMediaByUrl = itemsByKey(existingExtractMedia, 'source_page'); - return [existingSourceMediaByUrl, existingExtractMediaByUrl]; + return { existingSourceMediaByUrl, existingExtractMediaByUrl }; } async function findHashDuplicates(medias) { @@ -285,7 +285,7 @@ async function findHashDuplicates(medias) { })) .concat(selfDuplicateMedias); - return [selfUniqueHashMedias, existingHashMedias]; + return { uniqueHashMedias: selfUniqueHashMedias, existingHashMedias }; } async function extractSource(baseSource, { existingExtractMediaByUrl }) { @@ -741,7 +741,7 @@ function curateMediaEntry(media, index) { async function storeMedias(baseMedias, options) { await fsPromises.mkdir(path.join(config.media.path, 'temp'), { recursive: true }); - const [existingSourceMediaByUrl, existingExtractMediaByUrl] = await findSourceDuplicates(baseMedias); + const { existingSourceMediaByUrl, existingExtractMediaByUrl } = await findSourceDuplicates(baseMedias); const fetchedMedias = await Promise.map( baseMedias, @@ -749,7 +749,7 @@ async function storeMedias(baseMedias, options) { { concurrency: 100 }, // don't overload disk (or network, although this has its own throttling) ); - const [uniqueHashMedias, existingHashMedias] = await findHashDuplicates(fetchedMedias); + const { uniqueHashMedias, existingHashMedias } = await findHashDuplicates(fetchedMedias); const savedMedias = await Promise.map( uniqueHashMedias, @@ -770,7 +770,7 @@ async function storeMedias(baseMedias, options) { const newMediaEntries = newMediaWithEntries.filter(media => media.newEntry).map(media => media.entry); try { - await bulkInsert('media', newMediaEntries); + await bulkInsert('media', newMediaEntries, false); return [...newMediaWithEntries, ...existingHashMedias]; } catch (error) { diff --git a/src/scrapers/elegantangel.js b/src/scrapers/adultempire.js similarity index 65% rename from src/scrapers/elegantangel.js rename to src/scrapers/adultempire.js index dc6533ac5..781d0c4b4 100644 --- a/src/scrapers/elegantangel.js +++ b/src/scrapers/adultempire.js @@ -1,10 +1,21 @@ 'use strict'; -const qu = require('../utils/q'); +const qu = require('../utils/qu'); +const http = require('../utils/http'); const slugify = require('../utils/slugify'); const { feetInchesToCm, lbsToKg } = require('../utils/convert'); -function scrapeAll(scenes, channel) { +async function getPhotos(entryId, channel) { + const res = await http.get(`${channel.url}/Membership/GetScreenshots?sceneID=scene_${entryId}`); + + if (res.ok) { + return res.body.split(/[\s,]+/).filter(Boolean); + } + + return []; +} + +function scrapeAllTour(scenes, channel) { return scenes.map(({ query }) => { const release = {}; @@ -29,6 +40,26 @@ function scrapeAll(scenes, channel) { }); } +async function scrapeAllGrid(scenes, channel, options) { + return Promise.all(scenes.map(async ({ query, el }) => { + const release = {}; + const uri = query.url('.grid-item-title') || query.url('a.animated-screen'); + + release.entryId = el.id.match(/\d+/)?.[0] || uri.match(/^(\d+)\//)?.[1]; + + release.title = query.cnt('.grid-item-title'); + release.url = qu.prefixUrl(uri, channel.url); + + release.poster = query.img('.screenshot'); + + if (options.includePhotos) { + release.photos = await getPhotos(release.entryId, channel); + } + + return release; + })); +} + function scrapeMovieScenes(scenes) { return scenes.map(({ query }) => { const release = {}; @@ -46,8 +77,9 @@ function scrapeMovieScenes(scenes) { }); } -async function scrapeRelease({ query, html }, url, channel, baseRelease, type = 'scene') { +async function scrapeRelease({ query, html }, url, channel, baseRelease, options) { const release = {}; + const type = query.exists('.scene-list-header') ? 'movie' : 'scene'; release.entryId = new URL(url).pathname.match(/\/(\d+)/)[1]; @@ -68,7 +100,7 @@ async function scrapeRelease({ query, html }, url, channel, baseRelease, type = }); release.tags = query.cnts('.tags a, .categories a'); - release.studio = slugify(query.cnt('.studio span:last-child'), ''); + release.studio = options?.parameters.studio === false ? null : slugify(query.cnt('.studio span:last-child'), ''); if (type === 'scene') { release.director = query.text('.director'); @@ -83,6 +115,15 @@ async function scrapeRelease({ query, html }, url, channel, baseRelease, type = release.scenes = scrapeMovieScenes(qu.initAll(query.all('#scenes .grid-item')), channel); } + if (query.exists('.video-title .movie-title')) { + release.movie = { + title: query.cnt('#viewLargeBoxcover .modal-title a'), + url: query.url('#viewLargeBoxcover .modal-title a', 'href', { origin: channel.url }), + entryId: query.url('#viewLargeBoxcover .modal-title a')?.match(/(\d+)\//)[1], + covers: query.imgs('#viewLargeBoxcover #viewLargeBoxcoverCarousel .carousel-item > img'), + }; + } + release.photos = query.imgs('#dv_frames a > img').map(photo => [ photo.replace(/(\/p\/\d+\/)\d+/, (match, path) => `${path}1920`), photo.replace(/(\/p\/\d+\/)\d+/, (match, path) => `${path}1600`), @@ -174,7 +215,7 @@ async function scrapeProfile({ query }, url, channel, include) { if (include) { const actorId = new URL(url).pathname.match(/\/(\d+)/)[1]; - const res = await qu.getAll(`https://www.elegantangel.com/streaming-video-by-scene.html?cast=${actorId}`, '.grid-item', null, { + const res = await qu.getAll(`${channel.url}/www.elegantangel.com/streaming-video-by-scene.html?cast=${actorId}`, '.grid-item', null, { rejectUnauthorized: false, }); @@ -186,7 +227,7 @@ async function scrapeProfile({ query }, url, channel, include) { return profile; } -async function fetchLatest(channel, page = 1) { +async function fetchLatestTour(channel, page = 1) { const url = `${channel.url}/tour?page=${page}`; const res = await qu.getAll(url, '.scene-update', null, { // invalid certificate @@ -194,33 +235,30 @@ async function fetchLatest(channel, page = 1) { }); if (res.ok) { - return scrapeAll(res.items, channel); + return scrapeAllTour(res.items, channel); } return res.status; } -async function fetchScene(url, channel, baseRelease) { +async function fetchLatestGrid(channel, page, options) { + const res = await qu.getAll(`${channel.url}/watch-newest-clips-and-scenes.html?page=${page}&hybridview=member`, '.item-grid-scene .grid-item'); + + if (res.ok) { + return scrapeAllGrid(res.items, channel, options); + } + + return res.status; +} + +async function fetchMovie(url, channel, baseRelease, options) { const res = await qu.get(url, null, null, { // invalid certificate rejectUnauthorized: false, }); if (res.ok) { - return scrapeRelease(res.item, url, channel, baseRelease); - } - - return res.status; -} - -async function fetchMovie(url, channel, baseRelease) { - const res = await qu.get(url, null, null, { - // invalid certificate - rejectUnauthorized: false, - }); - - if (res.ok) { - return scrapeRelease(res.item, url, channel, baseRelease, 'movie'); + return scrapeRelease(res.item, url, channel, baseRelease, options); } return res.status; @@ -239,26 +277,53 @@ async function fetchMovies(channel, page = 1) { return res.status; } -async function fetchProfile(baseActor, channel, include) { - if (!baseActor.url) { - return null; - } - - const res = await qu.get(baseActor.url, '.performer-page', null, { +async function fetchProfilePage(actorUrl, channel, include) { + const res = await qu.get(actorUrl, '.performer-page', null, { rejectUnauthorized: false, }); if (res.ok) { - return scrapeProfile(res.item, baseActor.url, channel, include); + return scrapeProfile(res.item, actorUrl, channel, include); } return res.status; } +async function fetchProfile(baseActor, channel, include) { + if (baseActor.url) { + const profile = await fetchProfilePage(baseActor, channel, include); + + if (typeof profile === 'object') { + return profile; + } + } + + const searchRes = await http.get(`${channel.url}/search/SearchAutoComplete_Agg_ByMedia?rows=9&name_startsWith=${slugify(baseActor.name, '+')}`); + + if (searchRes.ok) { + const actorResult = searchRes.body.Results.find(result => /performer/i.test(result.BasicResponseGroup?.displaytype) && new RegExp(baseActor.name, 'i').test(result.BasicResponseGroup?.description)); + + if (actorResult) { + return fetchProfilePage(`${channel.url}${actorResult.BasicResponseGroup.id}`, channel, include); + } + + return null; + } + + return searchRes.status; +} + module.exports = { - fetchLatest, - fetchScene, + fetchLatest: fetchLatestTour, fetchMovies, fetchMovie, fetchProfile, + scrapeScene: scrapeRelease, + scrapeMovie: scrapeRelease, + grid: { + fetchLatest: fetchLatestGrid, + scrapeScene: scrapeRelease, + fetchMovie, + fetchProfile, + }, }; diff --git a/src/scrapers/scrapers.js b/src/scrapers/scrapers.js index 1d3e994b9..1761f32aa 100644 --- a/src/scrapers/scrapers.js +++ b/src/scrapers/scrapers.js @@ -1,5 +1,6 @@ 'use strict'; +const adultempire = require('./adultempire'); const adulttime = require('./adulttime'); const assylum = require('./assylum'); const aziani = require('./aziani'); @@ -16,7 +17,6 @@ const czechav = require('./czechav'); const ddfnetwork = require('./ddfnetwork'); const dogfart = require('./dogfart'); const dorcel = require('./dorcel'); -const elegantangel = require('./elegantangel'); const famedigital = require('./famedigital'); const firstanalquest = require('./firstanalquest'); const elevatedx = require('./elevatedx'); @@ -88,7 +88,7 @@ const scrapers = { dogfart, dogfartnetwork: dogfart, dorcel, - elegantangel, + elegantangel: adultempire, famedigital, exploitedx: elevatedx, firstanalquest, @@ -145,6 +145,7 @@ const scrapers = { vixen, vogov, wankzvr, + westcoastproductions: adultempire, whalemember, xempire, }, @@ -186,7 +187,7 @@ const scrapers = { dorcelclub: dorcel, doubleviewcasting: firstanalquest, dtfsluts: fullpornnetwork, - elegantangel, + elegantangel: adultempire, evilangel: gamma, exploitedcollegegirls: elevatedx, eyeontheguy: hush, @@ -271,6 +272,7 @@ const scrapers = { vixen, vrcosplayx: badoink, wankzvr, + westcoastproductions: adultempire, wicked: gamma, wildoncam: cherrypimps, xempire, diff --git a/src/utils/qu.js b/src/utils/qu.js index 314f425c6..043a1799b 100644 --- a/src/utils/qu.js +++ b/src/utils/qu.js @@ -570,6 +570,7 @@ module.exports = { formatDate, get, getAll, + http, fetch: get, fetchAll: getAll, context: init,