diff --git a/assets/components/releases/tile-details.vue b/assets/components/releases/tile-details.vue index 21ba76a6..a5540db1 100644 --- a/assets/components/releases/tile-details.vue +++ b/assets/components/releases/tile-details.vue @@ -79,7 +79,7 @@ export default { box-shadow: 0 0 3px var(--darken); .favicon { - height: 1rem; + width: 1rem; margin: 0 .25rem 0 0; } diff --git a/config/default.js b/config/default.js index f24afa7d..734752a4 100644 --- a/config/default.js +++ b/config/default.js @@ -121,6 +121,8 @@ module.exports = { ], '21sextury', 'julesjordan', + 'bang', + 'pervcity', 'peternorth', 'naughtyamerica', 'cherrypimps', diff --git a/migrations/20190325001339_releases.js b/migrations/20190325001339_releases.js index be4e2302..94dddacc 100644 --- a/migrations/20190325001339_releases.js +++ b/migrations/20190325001339_releases.js @@ -174,7 +174,7 @@ exports.up = knex => Promise.resolve() table.unique(['slug', 'type']); - table.text('alias'); + table.specificType('alias', 'text[]'); table.text('url'); table.text('description'); @@ -820,6 +820,8 @@ exports.up = knex => Promise.resolve() WHERE name ILIKE ('%' || search || '%') OR slug ILIKE ('%' || search || '%') OR + array_to_string(alias, '') ILIKE ('%' || search || '%') OR + replace(array_to_string(alias, ''), ' ', '') ILIKE ('%' || search || '%') OR url ILIKE ('%' || search || '%') $$ LANGUAGE SQL STABLE; diff --git a/public/img/logos/ddfnetwork/bustylover.png b/public/img/logos/ddfnetwork/bustylover.png deleted file mode 100644 index fc240e8d..00000000 Binary files a/public/img/logos/ddfnetwork/bustylover.png and /dev/null differ diff --git a/public/img/logos/ddfnetwork/favicon.png b/public/img/logos/ddfnetwork/favicon.png deleted file mode 100644 index 3019bb9a..00000000 Binary files a/public/img/logos/ddfnetwork/favicon.png and /dev/null differ diff --git a/public/img/logos/ddfnetwork/fuckinhd.png b/public/img/logos/ddfnetwork/fuckinhd.png deleted file mode 100644 index 57907e15..00000000 Binary files a/public/img/logos/ddfnetwork/fuckinhd.png and /dev/null differ diff --git a/public/img/logos/ddfnetwork/lazy/favicon.png b/public/img/logos/ddfnetwork/lazy/favicon.png deleted file mode 100644 index 49e323bb..00000000 Binary files a/public/img/logos/ddfnetwork/lazy/favicon.png and /dev/null differ diff --git a/public/img/logos/ddfnetwork/thumbs/favicon.png b/public/img/logos/ddfnetwork/thumbs/favicon.png deleted file mode 100644 index cdf9fd7a..00000000 Binary files a/public/img/logos/ddfnetwork/thumbs/favicon.png and /dev/null differ diff --git a/public/img/logos/ddfnetwork/1byday.png b/public/img/logos/pornworld/1byday.png similarity index 95% rename from public/img/logos/ddfnetwork/1byday.png rename to public/img/logos/pornworld/1byday.png index 3eacb60e..89922771 100644 Binary files a/public/img/logos/ddfnetwork/1byday.png and b/public/img/logos/pornworld/1byday.png differ diff --git a/public/img/logos/pornworld/bustylover.png b/public/img/logos/pornworld/bustylover.png new file mode 100644 index 00000000..ca9e3597 Binary files /dev/null and b/public/img/logos/pornworld/bustylover.png differ diff --git a/public/img/logos/ddfnetwork/ddfbusty.png b/public/img/logos/pornworld/ddfbusty.png similarity index 95% rename from public/img/logos/ddfnetwork/ddfbusty.png rename to public/img/logos/pornworld/ddfbusty.png index 2ac6cd96..ac1329b8 100644 Binary files a/public/img/logos/ddfnetwork/ddfbusty.png and b/public/img/logos/pornworld/ddfbusty.png differ diff --git a/public/img/logos/ddfnetwork/network.png b/public/img/logos/pornworld/ddfnetwork.png similarity index 98% rename from public/img/logos/ddfnetwork/network.png rename to public/img/logos/pornworld/ddfnetwork.png index 02a5a2b4..72501929 100644 Binary files a/public/img/logos/ddfnetwork/network.png and b/public/img/logos/pornworld/ddfnetwork.png differ diff --git a/public/img/logos/ddfnetwork/ddfnetworkvr.png b/public/img/logos/pornworld/ddfnetworkvr.png similarity index 97% rename from public/img/logos/ddfnetwork/ddfnetworkvr.png rename to public/img/logos/pornworld/ddfnetworkvr.png index c3c02734..7f359500 100644 Binary files a/public/img/logos/ddfnetwork/ddfnetworkvr.png and b/public/img/logos/pornworld/ddfnetworkvr.png differ diff --git a/public/img/logos/ddfnetwork/eurogirlsongirls.png b/public/img/logos/pornworld/eurogirlsongirls.png similarity index 96% rename from public/img/logos/ddfnetwork/eurogirlsongirls.png rename to public/img/logos/pornworld/eurogirlsongirls.png index 6439e49f..ffaaca27 100644 Binary files a/public/img/logos/ddfnetwork/eurogirlsongirls.png and b/public/img/logos/pornworld/eurogirlsongirls.png differ diff --git a/public/img/logos/ddfnetwork/euroteenerotica.png b/public/img/logos/pornworld/euroteenerotica.png similarity index 96% rename from public/img/logos/ddfnetwork/euroteenerotica.png rename to public/img/logos/pornworld/euroteenerotica.png index 1d96431a..9dbd56ed 100644 Binary files a/public/img/logos/ddfnetwork/euroteenerotica.png and b/public/img/logos/pornworld/euroteenerotica.png differ diff --git a/public/img/logos/pornworld/favicon.png b/public/img/logos/pornworld/favicon.png new file mode 100644 index 00000000..74693d34 Binary files /dev/null and b/public/img/logos/pornworld/favicon.png differ diff --git a/public/img/logos/pornworld/fuckinhd.png b/public/img/logos/pornworld/fuckinhd.png new file mode 100644 index 00000000..45263b05 Binary files /dev/null and b/public/img/logos/pornworld/fuckinhd.png differ diff --git a/public/img/logos/ddfnetwork/handsonhardcore.png b/public/img/logos/pornworld/handsonhardcore.png similarity index 97% rename from public/img/logos/ddfnetwork/handsonhardcore.png rename to public/img/logos/pornworld/handsonhardcore.png index a77d49b0..2d9d96f1 100644 Binary files a/public/img/logos/ddfnetwork/handsonhardcore.png and b/public/img/logos/pornworld/handsonhardcore.png differ diff --git a/public/img/logos/ddfnetwork/hotlegsandfeet.png b/public/img/logos/pornworld/hotlegsandfeet.png similarity index 96% rename from public/img/logos/ddfnetwork/hotlegsandfeet.png rename to public/img/logos/pornworld/hotlegsandfeet.png index db7d05cc..cc025fff 100644 Binary files a/public/img/logos/ddfnetwork/hotlegsandfeet.png and b/public/img/logos/pornworld/hotlegsandfeet.png differ diff --git a/public/img/logos/ddfnetwork/houseoftaboo.png b/public/img/logos/pornworld/houseoftaboo.png similarity index 96% rename from public/img/logos/ddfnetwork/houseoftaboo.png rename to public/img/logos/pornworld/houseoftaboo.png index d4780fab..87ad85b3 100644 Binary files a/public/img/logos/ddfnetwork/houseoftaboo.png and b/public/img/logos/pornworld/houseoftaboo.png differ diff --git a/public/img/logos/ddfnetwork/lazy/1byday.png b/public/img/logos/pornworld/lazy/1byday.png similarity index 92% rename from public/img/logos/ddfnetwork/lazy/1byday.png rename to public/img/logos/pornworld/lazy/1byday.png index 4d1991b0..f0421a88 100644 Binary files a/public/img/logos/ddfnetwork/lazy/1byday.png and b/public/img/logos/pornworld/lazy/1byday.png differ diff --git a/public/img/logos/ddfnetwork/lazy/bustylover.png b/public/img/logos/pornworld/lazy/bustylover.png similarity index 92% rename from public/img/logos/ddfnetwork/lazy/bustylover.png rename to public/img/logos/pornworld/lazy/bustylover.png index 022c8946..9bc76260 100644 Binary files a/public/img/logos/ddfnetwork/lazy/bustylover.png and b/public/img/logos/pornworld/lazy/bustylover.png differ diff --git a/public/img/logos/ddfnetwork/lazy/ddfbusty.png b/public/img/logos/pornworld/lazy/ddfbusty.png similarity index 91% rename from public/img/logos/ddfnetwork/lazy/ddfbusty.png rename to public/img/logos/pornworld/lazy/ddfbusty.png index bb568e35..f03ea9e1 100644 Binary files a/public/img/logos/ddfnetwork/lazy/ddfbusty.png and b/public/img/logos/pornworld/lazy/ddfbusty.png differ diff --git a/public/img/logos/ddfnetwork/lazy/network.png b/public/img/logos/pornworld/lazy/ddfnetwork.png similarity index 89% rename from public/img/logos/ddfnetwork/lazy/network.png rename to public/img/logos/pornworld/lazy/ddfnetwork.png index cbf50aa1..06effa1b 100644 Binary files a/public/img/logos/ddfnetwork/lazy/network.png and b/public/img/logos/pornworld/lazy/ddfnetwork.png differ diff --git a/public/img/logos/ddfnetwork/lazy/ddfnetworkvr.png b/public/img/logos/pornworld/lazy/ddfnetworkvr.png similarity index 92% rename from public/img/logos/ddfnetwork/lazy/ddfnetworkvr.png rename to public/img/logos/pornworld/lazy/ddfnetworkvr.png index d8107057..a4e1629d 100644 Binary files a/public/img/logos/ddfnetwork/lazy/ddfnetworkvr.png and b/public/img/logos/pornworld/lazy/ddfnetworkvr.png differ diff --git a/public/img/logos/ddfnetwork/lazy/eurogirlsongirls.png b/public/img/logos/pornworld/lazy/eurogirlsongirls.png similarity index 92% rename from public/img/logos/ddfnetwork/lazy/eurogirlsongirls.png rename to public/img/logos/pornworld/lazy/eurogirlsongirls.png index 3a7bc6d5..72006b77 100644 Binary files a/public/img/logos/ddfnetwork/lazy/eurogirlsongirls.png and b/public/img/logos/pornworld/lazy/eurogirlsongirls.png differ diff --git a/public/img/logos/ddfnetwork/lazy/euroteenerotica.png b/public/img/logos/pornworld/lazy/euroteenerotica.png similarity index 91% rename from public/img/logos/ddfnetwork/lazy/euroteenerotica.png rename to public/img/logos/pornworld/lazy/euroteenerotica.png index 272b63db..3d5f462b 100644 Binary files a/public/img/logos/ddfnetwork/lazy/euroteenerotica.png and b/public/img/logos/pornworld/lazy/euroteenerotica.png differ diff --git a/public/img/logos/pornworld/lazy/favicon.png b/public/img/logos/pornworld/lazy/favicon.png new file mode 100644 index 00000000..9561177a Binary files /dev/null and b/public/img/logos/pornworld/lazy/favicon.png differ diff --git a/public/img/logos/ddfnetwork/lazy/fuckinhd.png b/public/img/logos/pornworld/lazy/fuckinhd.png similarity index 91% rename from public/img/logos/ddfnetwork/lazy/fuckinhd.png rename to public/img/logos/pornworld/lazy/fuckinhd.png index 89f76ffc..2d75c9bc 100644 Binary files a/public/img/logos/ddfnetwork/lazy/fuckinhd.png and b/public/img/logos/pornworld/lazy/fuckinhd.png differ diff --git a/public/img/logos/ddfnetwork/lazy/handsonhardcore.png b/public/img/logos/pornworld/lazy/handsonhardcore.png similarity index 91% rename from public/img/logos/ddfnetwork/lazy/handsonhardcore.png rename to public/img/logos/pornworld/lazy/handsonhardcore.png index 815ba633..f593a3b7 100644 Binary files a/public/img/logos/ddfnetwork/lazy/handsonhardcore.png and b/public/img/logos/pornworld/lazy/handsonhardcore.png differ diff --git a/public/img/logos/ddfnetwork/lazy/hotlegsandfeet.png b/public/img/logos/pornworld/lazy/hotlegsandfeet.png similarity index 89% rename from public/img/logos/ddfnetwork/lazy/hotlegsandfeet.png rename to public/img/logos/pornworld/lazy/hotlegsandfeet.png index abc2f323..9806ff15 100644 Binary files a/public/img/logos/ddfnetwork/lazy/hotlegsandfeet.png and b/public/img/logos/pornworld/lazy/hotlegsandfeet.png differ diff --git a/public/img/logos/ddfnetwork/lazy/houseoftaboo.png b/public/img/logos/pornworld/lazy/houseoftaboo.png similarity index 92% rename from public/img/logos/ddfnetwork/lazy/houseoftaboo.png rename to public/img/logos/pornworld/lazy/houseoftaboo.png index abebc9f1..9973283c 100644 Binary files a/public/img/logos/ddfnetwork/lazy/houseoftaboo.png and b/public/img/logos/pornworld/lazy/houseoftaboo.png differ diff --git a/public/img/logos/pornworld/lazy/network.png b/public/img/logos/pornworld/lazy/network.png new file mode 100644 index 00000000..185634e8 Binary files /dev/null and b/public/img/logos/pornworld/lazy/network.png differ diff --git a/public/img/logos/ddfnetwork/lazy/onlyblowjob.png b/public/img/logos/pornworld/lazy/onlyblowjob.png similarity index 92% rename from public/img/logos/ddfnetwork/lazy/onlyblowjob.png rename to public/img/logos/pornworld/lazy/onlyblowjob.png index 1c30586c..e2076dd3 100644 Binary files a/public/img/logos/ddfnetwork/lazy/onlyblowjob.png and b/public/img/logos/pornworld/lazy/onlyblowjob.png differ diff --git a/public/img/logos/pornworld/lazy/pornworld.png b/public/img/logos/pornworld/lazy/pornworld.png new file mode 100644 index 00000000..7cea14ac Binary files /dev/null and b/public/img/logos/pornworld/lazy/pornworld.png differ diff --git a/public/img/logos/ddfnetwork/misc/busty-lover.png b/public/img/logos/pornworld/misc/busty-lover.png similarity index 100% rename from public/img/logos/ddfnetwork/misc/busty-lover.png rename to public/img/logos/pornworld/misc/busty-lover.png diff --git a/public/img/logos/ddfnetwork/misc/busty-lover.svg b/public/img/logos/pornworld/misc/busty-lover.svg similarity index 100% rename from public/img/logos/ddfnetwork/misc/busty-lover.svg rename to public/img/logos/pornworld/misc/busty-lover.svg diff --git a/public/img/logos/ddfnetwork/misc/fuck-in-hd.png b/public/img/logos/pornworld/misc/fuck-in-hd.png similarity index 100% rename from public/img/logos/ddfnetwork/misc/fuck-in-hd.png rename to public/img/logos/pornworld/misc/fuck-in-hd.png diff --git a/public/img/logos/ddfnetwork/misc/fuck-in-hd.svg b/public/img/logos/pornworld/misc/fuck-in-hd.svg similarity index 100% rename from public/img/logos/ddfnetwork/misc/fuck-in-hd.svg rename to public/img/logos/pornworld/misc/fuck-in-hd.svg diff --git a/public/img/logos/ddfnetwork/misc/porn-world.png b/public/img/logos/pornworld/misc/porn-world.png similarity index 100% rename from public/img/logos/ddfnetwork/misc/porn-world.png rename to public/img/logos/pornworld/misc/porn-world.png diff --git a/public/img/logos/ddfnetwork/misc/porn-world_basic.png b/public/img/logos/pornworld/misc/porn-world_basic.png similarity index 100% rename from public/img/logos/ddfnetwork/misc/porn-world_basic.png rename to public/img/logos/pornworld/misc/porn-world_basic.png diff --git a/public/img/logos/ddfnetwork/misc/porn-world_basic.svg b/public/img/logos/pornworld/misc/porn-world_basic.svg similarity index 100% rename from public/img/logos/ddfnetwork/misc/porn-world_basic.svg rename to public/img/logos/pornworld/misc/porn-world_basic.svg diff --git a/public/img/logos/pornworld/network.png b/public/img/logos/pornworld/network.png new file mode 100644 index 00000000..f9bd2881 Binary files /dev/null and b/public/img/logos/pornworld/network.png differ diff --git a/public/img/logos/ddfnetwork/onlyblowjob.png b/public/img/logos/pornworld/onlyblowjob.png similarity index 97% rename from public/img/logos/ddfnetwork/onlyblowjob.png rename to public/img/logos/pornworld/onlyblowjob.png index 1e39e367..dd8bf114 100644 Binary files a/public/img/logos/ddfnetwork/onlyblowjob.png and b/public/img/logos/pornworld/onlyblowjob.png differ diff --git a/public/img/logos/pornworld/pornworld.png b/public/img/logos/pornworld/pornworld.png new file mode 100644 index 00000000..546e9927 Binary files /dev/null and b/public/img/logos/pornworld/pornworld.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/1byday.png b/public/img/logos/pornworld/thumbs/1byday.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/1byday.png rename to public/img/logos/pornworld/thumbs/1byday.png index f507ced3..06df96cb 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/1byday.png and b/public/img/logos/pornworld/thumbs/1byday.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/bustylover.png b/public/img/logos/pornworld/thumbs/bustylover.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/bustylover.png rename to public/img/logos/pornworld/thumbs/bustylover.png index de10a47f..20a504ff 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/bustylover.png and b/public/img/logos/pornworld/thumbs/bustylover.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/ddfbusty.png b/public/img/logos/pornworld/thumbs/ddfbusty.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/ddfbusty.png rename to public/img/logos/pornworld/thumbs/ddfbusty.png index f35af1af..8823ef6c 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/ddfbusty.png and b/public/img/logos/pornworld/thumbs/ddfbusty.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/network.png b/public/img/logos/pornworld/thumbs/ddfnetwork.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/network.png rename to public/img/logos/pornworld/thumbs/ddfnetwork.png index 9e9f845c..e9134421 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/network.png and b/public/img/logos/pornworld/thumbs/ddfnetwork.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/ddfnetworkvr.png b/public/img/logos/pornworld/thumbs/ddfnetworkvr.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/ddfnetworkvr.png rename to public/img/logos/pornworld/thumbs/ddfnetworkvr.png index 719ac94d..e7508835 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/ddfnetworkvr.png and b/public/img/logos/pornworld/thumbs/ddfnetworkvr.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/eurogirlsongirls.png b/public/img/logos/pornworld/thumbs/eurogirlsongirls.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/eurogirlsongirls.png rename to public/img/logos/pornworld/thumbs/eurogirlsongirls.png index bd0af7e9..5e167f5a 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/eurogirlsongirls.png and b/public/img/logos/pornworld/thumbs/eurogirlsongirls.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/euroteenerotica.png b/public/img/logos/pornworld/thumbs/euroteenerotica.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/euroteenerotica.png rename to public/img/logos/pornworld/thumbs/euroteenerotica.png index d6e58f4d..19c8100e 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/euroteenerotica.png and b/public/img/logos/pornworld/thumbs/euroteenerotica.png differ diff --git a/public/img/logos/pornworld/thumbs/favicon.png b/public/img/logos/pornworld/thumbs/favicon.png new file mode 100644 index 00000000..df7d1e41 Binary files /dev/null and b/public/img/logos/pornworld/thumbs/favicon.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/fuckinhd.png b/public/img/logos/pornworld/thumbs/fuckinhd.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/fuckinhd.png rename to public/img/logos/pornworld/thumbs/fuckinhd.png index 0ea5966d..b2b6c948 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/fuckinhd.png and b/public/img/logos/pornworld/thumbs/fuckinhd.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/handsonhardcore.png b/public/img/logos/pornworld/thumbs/handsonhardcore.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/handsonhardcore.png rename to public/img/logos/pornworld/thumbs/handsonhardcore.png index ba0964d7..41c6582b 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/handsonhardcore.png and b/public/img/logos/pornworld/thumbs/handsonhardcore.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/hotlegsandfeet.png b/public/img/logos/pornworld/thumbs/hotlegsandfeet.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/hotlegsandfeet.png rename to public/img/logos/pornworld/thumbs/hotlegsandfeet.png index 92f2b5ee..5df4d5a2 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/hotlegsandfeet.png and b/public/img/logos/pornworld/thumbs/hotlegsandfeet.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/houseoftaboo.png b/public/img/logos/pornworld/thumbs/houseoftaboo.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/houseoftaboo.png rename to public/img/logos/pornworld/thumbs/houseoftaboo.png index 64c76d1a..728aa84b 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/houseoftaboo.png and b/public/img/logos/pornworld/thumbs/houseoftaboo.png differ diff --git a/public/img/logos/pornworld/thumbs/network.png b/public/img/logos/pornworld/thumbs/network.png new file mode 100644 index 00000000..97dd90e2 Binary files /dev/null and b/public/img/logos/pornworld/thumbs/network.png differ diff --git a/public/img/logos/ddfnetwork/thumbs/onlyblowjob.png b/public/img/logos/pornworld/thumbs/onlyblowjob.png similarity index 97% rename from public/img/logos/ddfnetwork/thumbs/onlyblowjob.png rename to public/img/logos/pornworld/thumbs/onlyblowjob.png index 07727847..46508689 100644 Binary files a/public/img/logos/ddfnetwork/thumbs/onlyblowjob.png and b/public/img/logos/pornworld/thumbs/onlyblowjob.png differ diff --git a/public/img/logos/pornworld/thumbs/pornworld.png b/public/img/logos/pornworld/thumbs/pornworld.png new file mode 100644 index 00000000..3d2ddd59 Binary files /dev/null and b/public/img/logos/pornworld/thumbs/pornworld.png differ diff --git a/seeds/01_networks.js b/seeds/01_networks.js index 1b8e420c..f538acce 100644 --- a/seeds/01_networks.js +++ b/seeds/01_networks.js @@ -136,9 +136,13 @@ const networks = [ type: 'info', }, { - slug: 'ddfnetwork', - name: 'DDF Network', - url: 'https://ddfnetwork.com', + slug: 'pornworld', + name: 'Porn World', + alias: [ + 'ddf network', + 'denys defrancesco', + ], + url: 'https://pornworld.com', description: 'European porn videos hub with exclusive VR, 4K and full HD XXX videos and hot sex photos of Europes finest porn star babes.', parent: 'wgcz', }, @@ -417,7 +421,7 @@ exports.seed = knex => Promise.resolve() slug: network.slug, name: network.name, type: network.type || 'network', - alias: network.alias ? network.alias.join(',') : null, + alias: network.alias, url: network.url, description: network.description, parameters: network.parameters, diff --git a/seeds/02_sites.js b/seeds/02_sites.js index c141581d..665e45b4 100644 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -1455,7 +1455,7 @@ const sites = [ alias: ['ddfb'], url: 'https://ddfbusty.com', description: 'Gorgeous Babes with big tits and Euro pornstars with huge natural boobs filmed in Exclusive Full HD, 4K, & VR porn videos.', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'handsonhardcore', @@ -1463,7 +1463,7 @@ const sites = [ alias: ['hoh'], url: 'https://handsonhardcore.com', description: 'Hardcore Sex & Anal Fucking Exclusive XXX Videos in VR, 4K and full HD with Hot European Pornstars', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'houseoftaboo', @@ -1471,7 +1471,7 @@ const sites = [ alias: ['hotb', 'hotab'], url: 'https://houseoftaboo.com', description: 'Exclusive BDSM Porn & Extreme Sex Videos Produced in VR, 4K and full HD with The Hottest European Fetish Pornstars', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'ddfnetworkvr', @@ -1479,21 +1479,24 @@ const sites = [ alias: ['ddfvr'], url: 'https://ddfnetworkvr.com', description: 'VR Porn Videos shot Exclusively in 180 3D 4K Virtual Reality featuring the Hottest European & American VR Pornstar Babes', - parent: 'ddfnetwork', + parent: 'pornworld', + parameters: { + latest: 'https://ddfnetworkvr.com/home/tagfiltered/keywords/-/', + }, }, { slug: 'eurogirlsongirls', name: 'Euro Girls on Girls', url: 'https://eurogirlsongirls.com', description: 'Hot Lesbian Sex & Glamour Lesbian Porn Videos and Photos Starring Gorgeous European Pornstars in 4K and Full HD VR.', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: '1byday', name: '1By-Day', url: 'https://1by-day.com', description: 'Ultra Sexy Exclusive Solo Masturbation Videos in VR, 4K and full HD showcasing Glamour Babes & Intense Orgasms', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'euroteenerotica', @@ -1501,14 +1504,14 @@ const sites = [ alias: ['ete'], url: 'https://euroteenerotica.com', description: 'Teen Threesomes & Barely Legal Porn Videos in 4K, VR and FULL HD with Hot Nymphomaniac Teen Babes', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'hotlegsandfeet', name: 'Hot Legs and Feet', url: 'https://hotlegsandfeet.com', description: 'Foot Fetish & Sexy Legs Porn Videos with Hot and Sexy Euro Pornstars', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'onlyblowjob', @@ -1516,22 +1519,24 @@ const sites = [ alias: ['obj'], url: 'https://onlyblowjob.com', description: 'Fantasy Blowjobs & POV Cock Sucking Videos and Photos Produced in VR, 4K and full HD featuring Sexy European Pornstars', - parent: 'ddfnetwork', + parent: 'pornworld', }, { slug: 'fuckinhd', name: 'Fuck in HD', url: 'https://fuckinhd.com', description: 'HD Hardcore Sex & XXX Fantasy Porn Videos and Photos Produced in full HD featuring a Variety of Hardcore Porn Niches.', - parent: 'ddfnetwork', - parameters: { native: true }, + parent: 'pornworld', }, { slug: 'bustylover', name: 'Busty Lover', url: 'https://bustylover.com', - parent: 'ddfnetwork', - parameters: { native: true }, + parent: 'pornworld', + parameters: { + latest: 'https://bustylover.com/videos/', + blockLayout: true, + }, }, // DIGITAL PLAYGROUND { @@ -7434,7 +7439,7 @@ exports.seed = knex => Promise.resolve() slug: site.slug, name: site.name, type: site.type || 'channel', - alias: (site.alias || []).join(','), + alias: site.alias, description: site.description, url: site.url, parameters: site.parameters, diff --git a/src/scrapers/ddfnetwork.js b/src/scrapers/ddfnetwork.js index 00d64fac..79dcb6e1 100644 --- a/src/scrapers/ddfnetwork.js +++ b/src/scrapers/ddfnetwork.js @@ -2,53 +2,60 @@ const bhttp = require('bhttp'); -const { ed, ex, exa, get } = require('../utils/q'); +const qu = require('../utils/qu'); const slugify = require('../utils/slugify'); -/* eslint-disable newline-per-chained-call */ -function scrapeAll(html, site, origin) { - return exa(html, '.card.m-1:not(.pornstar-card)').map(({ q, qa, qd }) => { +function scrapeAll(scenes, site, origin) { + return scenes.map(({ query }) => { const release = {}; - release.title = q('a', 'title'); - release.url = `${site?.url || origin || 'https://ddfnetwork.com'}${q('a', 'href')}`; - [release.entryId] = release.url.split('/').slice(-1); + release.title = query.q('.card-title a, .videoContent h4 a', 'title'); + release.url = `${site?.url || origin || 'https://pornworld.com'}${query.q('a', 'href')}`; + release.entryId = release.url.match(/\/(\d+)$/)[1]; - release.date = qd('small[datetime]', 'YYYY-MM-DD HH:mm:ss', null, 'datetime'); - release.actors = qa('.card-subtitle a', true).filter(Boolean); + release.date = query.date('small[datetime]', 'YYYY-MM-DD HH:mm:ss', null, 'datetime'); + release.actors = query.all('.card-subtitle a, .featuring a', true).filter(Boolean); - const duration = parseInt(q('.card-info div:nth-child(2) .card-text', true), 10) * 60; + release.description = query.q('h4 + p', true); + + const duration = parseInt(query.q('.card-info div:nth-child(2) .card-text', true), 10) * 60; if (duration) release.duration = duration; + else release.duration = query.dur('.time'); - release.poster = q('img').dataset.src; + release.poster = query.img(); return release; }); } -async function scrapeScene(html, url, _site) { - const { qu } = ex(html); +async function scrapeScene({ query }, url, _site) { const release = {}; - [release.entryId] = url.split('/').slice(-1); + release.entryId = url.match(/\/(\d+)$/)[1]; - release.title = qu.meta('itemprop=name'); - release.description = qu.q('.descr-box p', true); - release.date = qu.date('meta[itemprop=uploadDate]', 'YYYY-MM-DD', null, 'content') - || qu.date('.title-border:nth-child(2) p', 'MM.DD.YYYY'); + release.title = query.meta('itemprop=name') || query.q('.video-title h1', true) || query.q('.about-text .story-title') || query.q('h3', true); + release.description = query.q('.descr-box p', true) || query.q('.about-text p:not(.story-title)', true) || query.text('.description p'); - release.actors = qu.all('.pornstar-card > a', 'title'); - release.tags = qu.all('.tags-tab .tags a', true); + release.date = query.date('meta[itemprop=uploadDate]', 'YYYY-MM-DD', null, 'content') + || query.date('.actors time', 'MMMM DD, YYYY') + || query.date('.title-border:nth-child(2) p', 'MM.DD.YYYY') + || query.date('.length', 'MMMM DD, YYYY', /\w+ \d{2}, \d{4}/); - release.duration = parseInt(qu.q('.icon-video-red + span', true), 10) * 60; - release.likes = Number(qu.q('.icon-like-red + span', true)); + if (query.exists('.pornstar-card > a')) release.actors = query.all('.pornstar-card > a', 'title'); + else if (query.exists('.actors a')) release.actors = query.all('.actors a', true); - release.poster = qu.poster(); - release.photos = qu.urls('.photo-slider-guest .card a'); + if (query.exists('.tags-tab')) release.tags = query.all('.tags-tab .tags a', true); + else if (query.exists('.tags-box')) release.tags = query.all('.tags-box .tags li', true); - release.trailer = qu.all('source[type="video/mp4"]').map(trailer => ({ + release.duration = parseInt(query.q('.icon-video-red + span', true), 10) * 60 || query.dur('.length') || null; + release.likes = Number(query.q('.icon-like-red + span', true)) || null; + + release.poster = query.poster() || query.poster('dl8-video'); + release.photos = query.urls('.photo-slider-guest .card a'); + + release.trailer = query.all('source[type="video/mp4"]').map(trailer => ({ src: trailer.src, - quality: Number(trailer.attributes.res.value), + quality: Number(trailer.attributes.res?.value || trailer.attributes.quality?.value.slice(0, -1)) || null, })); return release; @@ -59,9 +66,9 @@ async function fetchActorReleases(urls) { const sources = urls.filter(url => !/ddfnetwork/.test(url)); const releases = await Promise.all(sources.map(async (url) => { - const { html } = await get(url); + const res = await qu.getAll(url, '.card.m-1:not(.pornstar-card)'); - return scrapeAll(html, null, new URL(url).origin); + return res.ok ? scrapeAll(res.items, null, new URL(url).origin) : null; })); // DDF cross-releases scenes between sites, filter duplicates by entryId @@ -71,11 +78,9 @@ async function fetchActorReleases(urls) { .reduce((acc, release) => ({ ...acc, [release.entryId]: release }), {})); } -async function scrapeProfile(html, _url, actorName) { - const { qu } = ex(html); - - const keys = qu.all('.about-title', true).map(key => slugify(key, '_')); - const values = qu.all('.about-info').map((el) => { +async function scrapeProfile({ query }, _url, actorName) { + const keys = query.all('.about-title', true).map(key => slugify(key, '_')); + const values = query.all('.about-info').map((el) => { if (el.children.length > 0) { return Array.from(el.children, child => child.textContent.trim()).join(', '); } @@ -96,8 +101,8 @@ async function scrapeProfile(html, _url, actorName) { name: actorName, }; - profile.description = qu.q('.description-box', true); - profile.birthdate = ed(bio.birthday, 'MMMM DD, YYYY'); + profile.description = query.q('.description-box', true); + profile.birthdate = qu.extractDate(bio.birthday, 'MMMM DD, YYYY'); if (bio.nationality) profile.nationality = bio.nationality; @@ -118,34 +123,37 @@ async function scrapeProfile(html, _url, actorName) { if (bio.shoe_size) profile.shoes = Number(bio.shoe_size.split('|')[1]); - const avatarEl = qu.q('.pornstar-details .card-img-top'); + const avatarEl = query.q('.pornstar-details .card-img-top'); if (avatarEl && avatarEl.dataset.src.match('^//')) profile.avatar = `https:${avatarEl.dataset.src}`; - profile.releases = await fetchActorReleases(qu.urls('.find-me-tab li a')); + profile.releases = await fetchActorReleases(query.urls('.find-me-tab li a')); return profile; } -async function fetchLatest(site, page = 1) { +async function fetchLatest(channel, page = 1) { + /* ddfnetwork.com redirects to pornworld.com const url = site.parameters?.native ? `${site.url}/videos/search/latest/ever/allsite/-/${page}` : `https://ddfnetwork.com/videos/search/latest/ever/${new URL(site.url).hostname}/-/${page}`; + */ - const res = await bhttp.get(url); + const url = channel.parameters?.latest || `${channel.url}/videos/search/latest/ever/allsite/-/${page}`; + const res = await qu.getAll(url, '.card.m-1:not(.pornstar-card), .allVideos .videoBlock'); - if (res.statusCode === 200) { - return scrapeAll(res.body.toString(), site); + if (res.ok) { + return scrapeAll(res.items, channel); } - return res.statusCode; + return res.status; } async function fetchScene(url, site) { // DDF's main site moved to Porn World // const res = await bhttp.get(`https://ddfnetwork.com${new URL(url).pathname}`); - const res = await bhttp.get(url); + const res = await qu.get(url, '.content, #content, .taspVideoPage'); - return scrapeScene(res.body.toString(), url, site); + return res.ok ? scrapeScene(res.item, url, site) : res.status; } async function fetchProfile(actorName) { @@ -155,7 +163,7 @@ async function fetchProfile(actorName) { word: actorName, }, { - decodeJSON: true, + decodeJSON: false, headers: { 'x-requested-with': 'XMLHttpRequest', }, diff --git a/src/scrapers/scrapers.js b/src/scrapers/scrapers.js index 9aed7412..6bba5aed 100644 --- a/src/scrapers/scrapers.js +++ b/src/scrapers/scrapers.js @@ -83,7 +83,7 @@ module.exports = { brazzers, burningangel, cherrypimps, - ddfnetwork, + pornworld: ddfnetwork, digitalplayground, dogfart, dogfartnetwork: dogfart, @@ -155,7 +155,7 @@ module.exports = { brazzers, burningangel, cherrypimps, - ddfnetwork, + pornworld: ddfnetwork, deeper: vixen, deeplush: nubiles, devilsfilm: famedigital, diff --git a/src/store-releases.js b/src/store-releases.js index c313539b..dcba2b00 100644 --- a/src/store-releases.js +++ b/src/store-releases.js @@ -184,10 +184,10 @@ async function updateReleasesSearch(releaseIds) { COALESCE(releases.title, '') || ' ' || entities.name || ' ' || entities.slug || ' ' || - COALESCE(entities.alias, '') || ' ' || + COALESCE(array_to_string(entities.alias, ' '), '') || ' ' || COALESCE(parents.name, '') || ' ' || COALESCE(parents.slug, '') || ' ' || - COALESCE(parents.alias, '') || ' ' || + COALESCE(array_to_string(parents.alias, ' '), '') || ' ' || COALESCE(releases.shoot_id, '') || ' ' || COALESCE(TO_CHAR(releases.date, 'YYYY YY MM FMMM FMmonth mon DD FMDD'), '') || ' ' || STRING_AGG(COALESCE(actors.name, ''), ' ') || ' ' || diff --git a/src/utils/qu.js b/src/utils/qu.js index b5bc1906..faad26ec 100644 --- a/src/utils/qu.js +++ b/src/utils/qu.js @@ -127,16 +127,16 @@ function date(context, selector, format, match, attr = 'textContent') { function image(context, selector = 'img', attr, origin, protocol = 'https') { const imageEl = (attr && q(context, selector, attr)) - || q(context, selector, 'src') - || q(context, selector, 'data-src'); + || q(context, selector, 'data-src') + || q(context, selector, 'src'); return prefixUrl(imageEl, origin, protocol); } function images(context, selector = 'img', attr, origin, protocol = 'https') { const attribute = attr - || (q(context, selector, 'src') && 'src') - || (q(context, selector, 'data-src') && 'data-src'); + || (q(context, selector, 'data-src') && 'data-src') + || (q(context, selector, 'src') && 'src'); const imageEls = all(context, selector, attribute);