diff --git a/assets/components/actors/actor.vue b/assets/components/actors/actor.vue
index 3f983288..4225a419 100644
--- a/assets/components/actors/actor.vue
+++ b/assets/components/actors/actor.vue
@@ -57,6 +57,14 @@
>
+ -
+ Real name
+ {{ actor.realName }}
+
+
-
-
diff --git a/assets/components/tags/tags.vue b/assets/components/tags/tags.vue
index 84bc2061..5a0774ad 100644
--- a/assets/components/tags/tags.vue
+++ b/assets/components/tags/tags.vue
@@ -1,125 +1,126 @@
-
diff --git a/assets/js/actors/actions.js b/assets/js/actors/actions.js
index 2350052c..ad73bef1 100644
--- a/assets/js/actors/actions.js
+++ b/assets/js/actors/actions.js
@@ -31,6 +31,7 @@ function initActorActions(store, _router) {
id
name
slug
+ realName
gender
dateOfBirth
dateOfDeath
diff --git a/config/default.js b/config/default.js
index 1f5aff98..7f00d735 100644
--- a/config/default.js
+++ b/config/default.js
@@ -67,6 +67,8 @@ module.exports = {
[
'evilangel',
'famedigital',
+ 'devilsfilm',
+ 'roccosiffredi',
],
[
// Gamma; Evil Angel + Devil's Film, Pure Taboo (unavailable), (sometimes) Burning Angel and Wicked have their own assets
@@ -91,10 +93,6 @@ module.exports = {
'burningangel',
'brazzers',
'milehighmedia',
- [
- 'devilsfilm',
- 'roccosiffredi',
- ],
[
'vixen',
'tushy',
diff --git a/migrations/20190325001339_releases.js b/migrations/20190325001339_releases.js
index 13ce67e8..fc059840 100644
--- a/migrations/20190325001339_releases.js
+++ b/migrations/20190325001339_releases.js
@@ -264,7 +264,10 @@ exports.up = knex => Promise.resolve()
table.string('name')
.notNullable();
- table.string('slug', 32);
+ table.string('slug', 32)
+ .notNullable();
+
+ table.string('real_name');
table.integer('network_id', 12)
.references('id')
@@ -342,6 +345,8 @@ exports.up = knex => Promise.resolve()
table.unique(['actor_id', 'network_id', 'site_id']);
+ table.string('real_name');
+
table.date('date_of_birth');
table.date('date_of_death');
diff --git a/package.json b/package.json
index 667c7413..bacd4174 100644
--- a/package.json
+++ b/package.json
@@ -21,14 +21,14 @@
"seed-make": "knex seed:make",
"seed": "knex seed:run",
"flush": "cli-confirm \"This completely purges the database, are you sure?\" && knex-migrate down --to 0 && knex-migrate up && knex seed:run",
- "thumbs-tag": "mogrify -path \"public/img/tags/$TAG/thumbs\" -resize x240 -quality 90% \"public/img/tags/$TAG/*.jpeg\"",
- "thumbs-tags": "for dir in public/img/tags/*; do mogrify -path \"$dir/thumbs\" -resize x240 -quality 90% \"$dir/*.jpeg\"; done",
- "thumbs-logo": "mogrify -path \"public/img/logos/$LOGO/thumbs\" -resize x80 \"public/img/logos/$LOGO/*.png\"",
- "thumbs-logos": "for dir in public/img/logos/*; do mogrify -path \"$dir/thumbs\" -resize x80 \"$dir/*.png\"; done",
- "lazy-tag": "mogrify -path \"public/img/tags/$TAG/lazy\" -resize x90 -quality 90% \"public/img/tags/$TAG/*.jpeg\"",
- "lazy-tags": "for dir in public/img/tags/*; do mogrify -path \"$dir/lazy\" -resize x90 -quality 90% \"$dir/*.jpeg\"; done",
- "lazy-logo": "mogrify -path \"public/img/logos/$LOGO/lazy\" -resize x25 \"public/img/logos/$LOGO/*.png\"",
- "lazy-logos": "for dir in public/img/logos/*; do mogrify -path \"$dir/lazy\" -resize x25 \"$dir/*.png\"; done"
+ "thumbs-tag": "mkdir -p \"public/img/tags/$TAG/thumbs\"; mogrify -path \"public/img/tags/$TAG/thumbs\" -resize x240 -quality 90% \"public/img/tags/$TAG/*.jpeg\"",
+ "thumbs-tags": "for dir in public/img/tags/*; do mkdir -p \"$dir/thumbs\"; mogrify -path \"$dir/thumbs\" -resize x240 -quality 90% \"$dir/*.jpeg\"; done",
+ "thumbs-logo": "mkdir -p \"public/img/logos/$LOGO/thumbs\"; mogrify -path \"public/img/logos/$LOGO/thumbs\" -resize x80 \"public/img/logos/$LOGO/*.png\"",
+ "thumbs-logos": "for dir in public/img/logos/*; do mkdir -p \"$dir/thumbs\"; mogrify -path \"$dir/thumbs\" -resize x80 \"$dir/*.png\"; done",
+ "lazy-tag": "mkdir -p \"public/img/tags/$TAG/lazy\"; mogrify -path \"public/img/tags/$TAG/lazy\" -resize x90 -quality 90% \"public/img/tags/$TAG/*.jpeg\"",
+ "lazy-tags": "for dir in public/img/tags/*; do mkdir -p \"$dir/lazy\"; mogrify -path \"$dir/lazy\" -resize x90 -quality 90% \"$dir/*.jpeg\"; done",
+ "lazy-logo": "mkdir -p \"public/img/logos/$LOGO/lazy\"; mogrify -path \"public/img/logos/$LOGO/lazy\" -resize x25 \"public/img/logos/$LOGO/*.png\"",
+ "lazy-logos": "for dir in public/img/logos/*; do mkdir -p \"$dir/lazy\"; mogrify -path \"$dir/lazy\" -resize x25 \"$dir/*.png\"; done"
},
"repository": {
"type": "git",
diff --git a/public/img/tags/oil/0.jpeg b/public/img/tags/oil/0.jpeg
new file mode 100644
index 00000000..4c3418d2
Binary files /dev/null and b/public/img/tags/oil/0.jpeg differ
diff --git a/public/img/tags/oil/1.jpeg b/public/img/tags/oil/1.jpeg
new file mode 100644
index 00000000..725dad4f
Binary files /dev/null and b/public/img/tags/oil/1.jpeg differ
diff --git a/public/img/tags/oil/lazy/0.jpeg b/public/img/tags/oil/lazy/0.jpeg
new file mode 100644
index 00000000..f31ff12d
Binary files /dev/null and b/public/img/tags/oil/lazy/0.jpeg differ
diff --git a/public/img/tags/oil/lazy/1.jpeg b/public/img/tags/oil/lazy/1.jpeg
new file mode 100644
index 00000000..b6f3f2fb
Binary files /dev/null and b/public/img/tags/oil/lazy/1.jpeg differ
diff --git a/public/img/tags/oil/thumbs/0.jpeg b/public/img/tags/oil/thumbs/0.jpeg
new file mode 100644
index 00000000..f4592a37
Binary files /dev/null and b/public/img/tags/oil/thumbs/0.jpeg differ
diff --git a/public/img/tags/oil/thumbs/1.jpeg b/public/img/tags/oil/thumbs/1.jpeg
new file mode 100644
index 00000000..e8c907c9
Binary files /dev/null and b/public/img/tags/oil/thumbs/1.jpeg differ
diff --git a/seeds/00_tags.js b/seeds/00_tags.js
index ef5854c4..54ecda59 100644
--- a/seeds/00_tags.js
+++ b/seeds/00_tags.js
@@ -2,1666 +2,1666 @@ const upsert = require('../src/utils/upsert');
const slugify = require('../src/utils/slugify');
const groups = [
- {
- slug: 'age',
- name: 'Age',
- },
- {
- slug: 'body',
- name: 'Body',
- },
- {
- slug: 'clothing',
- name: 'Clothing',
- },
- {
- slug: 'ethnicity',
- name: 'Ethnicity',
- },
- {
- slug: 'finish',
- name: 'Finish',
- },
- {
- slug: 'group',
- name: 'Group sex',
- },
- {
- slug: 'hair',
- name: 'Hair',
- },
- {
- slug: 'location',
- name: 'Location',
- },
- {
- slug: 'oral',
- name: 'Oral',
- },
- {
- slug: 'orientation',
- name: 'Orientation',
- },
- {
- slug: 'penetration',
- name: 'Penetration',
- },
- {
- slug: 'position',
- name: 'Position',
- },
- {
- slug: 'roleplay',
- name: 'Roleplay',
- },
+ {
+ slug: 'age',
+ name: 'Age',
+ },
+ {
+ slug: 'body',
+ name: 'Body',
+ },
+ {
+ slug: 'clothing',
+ name: 'Clothing',
+ },
+ {
+ slug: 'ethnicity',
+ name: 'Ethnicity',
+ },
+ {
+ slug: 'finish',
+ name: 'Finish',
+ },
+ {
+ slug: 'group',
+ name: 'Group sex',
+ },
+ {
+ slug: 'hair',
+ name: 'Hair',
+ },
+ {
+ slug: 'location',
+ name: 'Location',
+ },
+ {
+ slug: 'oral',
+ name: 'Oral',
+ },
+ {
+ slug: 'orientation',
+ name: 'Orientation',
+ },
+ {
+ slug: 'penetration',
+ name: 'Penetration',
+ },
+ {
+ slug: 'position',
+ name: 'Position',
+ },
+ {
+ slug: 'roleplay',
+ name: 'Roleplay',
+ },
];
const tags = [
- {
- name: '4K',
- slug: '4k',
- description: 'Available in high quality 4K resolution.',
- },
- {
- name: '69',
- slug: '69',
- group: 'position',
- },
- {
- name: 'airtight',
- slug: 'airtight',
- description: 'Stuffing one cock in her ass, one in her pussy, and one in her mouth, filling all of her penetrable holes and sealing her airtight like a figurative balloon. In other words, simultaneously getting [double penetrated](/tag/double-penetration), and giving a [blowjob](/tag/blowjob) or getting [facefucked](/tag/facefuck). Being airtight implies being [gangbanged](/tag/gangbang).', /* eslint-disable-line max-len */
- priority: 9,
- group: 'penetration',
- },
- {
- name: 'amateur',
- slug: 'amateur',
- },
- {
- name: 'anal creampie',
- slug: 'anal-creampie',
- priority: 7,
- description: 'Ejaculating into the asshole.',
- group: 'finish',
- },
- {
- name: 'anal',
- slug: 'anal',
- description: 'Getting fucked in the asshole.',
- priority: 9,
- group: 'penetration',
- },
- {
- name: 'ass fingering',
- slug: 'ass-fingering',
- description: 'Inserting one or multiple fingers into the asshole.',
- },
- {
- name: 'anal fisting',
- slug: 'anal-fisting',
- description: 'Shoving an entire hand into the asshole.',
- },
- {
- name: 'anal prolapse',
- slug: 'anal-prolapse',
- },
- {
- name: 'anal toys',
- slug: 'anal-toys',
- description: 'Stuffing a toy, such as a dildo or buttplug, into the ass',
- },
- {
- name: 'animated',
- slug: 'animated',
- },
- {
- name: 'asian',
- slug: 'asian',
- priority: 5,
- group: 'ethnicity',
- },
- {
- name: 'athletic',
- slug: 'athletic',
- group: 'body',
- },
- {
- name: 'ass to mouth',
- slug: 'ass-to-mouth',
- priority: 6,
- description: 'Sucking off a cock right after anal, giving your own or someone else\'s asshole a second hand taste.',
- group: 'oral',
- },
- {
- name: 'ass eating',
- slug: 'ass-eating',
- group: 'oral',
- priority: 6,
- },
- {
- name: 'ball licking',
- slug: 'ball-licking',
- group: 'oral',
- },
- {
- name: 'ballerina',
- slug: 'ballerina',
- group: 'roleplay',
- },
- {
- name: 'bathroom',
- slug: 'bathroom',
- group: 'location',
- },
- {
- name: 'BDSM',
- slug: 'bdsm',
- priority: 8,
- },
- {
- name: 'BBC',
- slug: 'bbc',
- group: 'body',
- },
- {
- name: 'behind the scenes',
- slug: 'behind-the-scenes',
- },
- {
- name: 'big dick',
- slug: 'big-dick',
- group: 'body',
- },
- {
- name: 'big butt',
- slug: 'big-butt',
- group: 'body',
- },
- {
- name: 'big boobs',
- slug: 'big-boobs',
- group: 'body',
- },
- {
- name: 'bisexual',
- slug: 'bisexual',
- priority: 10,
- },
- {
- name: 'black hair',
- slug: 'black-hair',
- group: 'hair',
- },
- {
- name: 'blonde',
- slug: 'blonde',
- group: 'hair',
- },
- {
- name: 'blowjob',
- slug: 'blowjob',
- priority: 5,
- group: 'oral',
- },
- {
- name: 'blowbang',
- slug: 'blowbang',
- priority: 9,
- description: 'Pleasuring a gang of three or more cocks by sucking and jerking off as many cocks as they can, often getting [facefucked](/tag/facefuck), groped and rubbed out, and followed by a [bukkake](/tag/bukkake). If they are getting fucked, it is a [gangbang](/tag/gangbang).',
- group: 'group',
- },
- {
- name: 'bondage',
- slug: 'bondage',
- },
- {
- name: 'brunette',
- slug: 'brunette',
- group: 'hair',
- },
- {
- name: 'bukkake',
- slug: 'bukkake',
- priority: 8,
- description: 'Getting ejaculated on the face by a group of three or more men, often following a [blowbang](/tag/blowbang) or [gangbang](/tag/gangbang).',
- group: 'finish',
- },
- {
- name: 'casting',
- slug: 'casting',
- },
- {
- name: 'cheerleader',
- slug: 'cheerleader',
- group: 'roleplay',
- },
- {
- name: 'choking',
- slug: 'choking',
- },
- {
- name: 'corporal punishment',
- slug: 'corporal-punishment',
- },
- {
- name: 'couples',
- slug: 'couples',
- },
- {
- name: 'cowgirl',
- slug: 'cowgirl',
- },
- {
- name: 'creampie',
- slug: 'creampie',
- priority: 8,
- description: 'Ejaculalating into her pussy, often shown visibly dripping out afterwards.',
- group: 'finish',
- },
- {
- name: 'cuckold',
- slug: 'cuckold',
- },
- {
- name: 'cum licking',
- slug: 'cum-licking',
- },
- {
- name: 'cum on butt',
- slug: 'cum-on-butt',
- },
- {
- name: 'cum on boobs',
- slug: 'cum-on-boobs',
- },
- {
- name: 'cum swapping',
- slug: 'cum-swapping',
- },
- {
- name: 'cumshot',
- slug: 'cumshot',
- },
- {
- name: 'curvy',
- slug: 'curvy',
- },
- {
- name: 'double anal',
- slug: 'double-anal',
- description: 'Two cocks in the ass at the same time. If there\'s a third cock in her pussy, it is [double anal TP](/tag/da-tp).',
- priority: 8,
- group: 'penetration',
- },
- {
- name: 'double dildo',
- slug: 'double-dildo',
- description: 'Two girls fucking eachother using either end of a double-sided dildo.',
- priority: 4,
- },
- {
- name: 'double dildo anal',
- slug: 'double-dildo-anal',
- description: 'Two people ass-fucking eachother with either end of a [double-sided dildo](/tag/double-dildo), "ass to ass".',
- priority: 4,
- },
- {
- name: 'double dildo DP',
- slug: 'double-dildo-dp',
- description: 'A girl using a [double-sided dildo](/tag/double-dildo) on both her ass and pussy.',
- priority: 4,
- },
- {
- name: 'double dildo blowjob',
- slug: 'double-dildo-blowjob',
- description: 'Two people sucking and gagging on either end of a [double-sided dildo](/tag/double-dildo). They may deepthroat the dildo for a [double dildo kiss](/tag/double-dildo-kiss).',
- priority: 4,
- },
- {
- name: 'double dildo kiss',
- slug: 'double-dildo-kiss',
- description: 'Two people deepthroating a [double-sided dildo](/tag/double-dildo) from either end during a [double dildo blowjob](/tag/double-dildo-blowjob), all the way until they can kiss eachother\'s lips.',
- priority: 4,
- },
- {
- name: 'triple anal',
- slug: 'triple-anal',
- description: 'Getting fucked in the ass by not one, two, but *three* cocks at the same time.',
- priority: 7,
- group: 'penetration',
- },
- {
- name: 'deepthroat',
- slug: 'deepthroat',
- priority: 6,
- group: 'oral',
- },
- {
- name: 'double penetration',
- slug: 'double-penetration',
- priority: 9,
- description: 'Fucking two cocks at once, with one in her ass, and one in her pussy. If she has another cock in her mouth, she is [airtight](/tag/airtight).',
- group: 'penetration',
- },
- {
- name: 'dungeon',
- slug: 'dungeon',
- },
- {
- name: 'double vaginal',
- slug: 'double-vaginal',
- description: 'Fucking her pussy with two cocks at the same time. If there\'s a third cock in her asshole, it is [double vaginal TP](/tag/dv-tp).',
- priority: 8,
- group: 'penetration',
- },
- {
- name: 'double blowjob',
- slug: 'double-blowjob',
- group: 'oral',
- },
- {
- name: 'doggy style',
- slug: 'doggy-style',
- group: 'position',
- },
- {
- name: 'dress',
- slug: 'dress',
- group: 'clothing',
- },
- {
- name: 'ebony',
- slug: 'ebony',
- priority: 5,
- group: 'ethnicity',
- },
- {
- name: 'electric shock',
- slug: 'electric-shock',
- },
- {
- name: 'fake boobs',
- slug: 'fake-boobs',
- },
- {
- name: 'facefucking',
- slug: 'facefucking',
- priority: 9,
- group: 'oral',
- },
- {
- name: 'facesitting',
- slug: 'facesitting',
- group: 'position',
- },
- {
- name: 'facial',
- slug: 'facial',
- group: 'finish',
- },
- {
- name: 'family taboo',
- slug: 'family',
- },
- {
- name: 'feet',
- slug: 'feet',
- },
- {
- name: 'femdom',
- slug: 'femdom',
- },
- {
- name: 'fingering',
- slug: 'fingering',
- },
- {
- name: 'fisting',
- slug: 'fisting',
- },
- {
- name: 'MFF threesome',
- slug: 'mff',
- priority: 9,
- description: 'A threesome with two women and one guy, in which the women have sex with eachother.',
- group: 'group',
- },
- {
- name: 'gag',
- slug: 'gag',
- },
- {
- name: 'gangbang',
- slug: 'gangbang',
- description: 'A group of three or more guys fucking a woman, at least two at the same time, often but not necessarily involving a [blowbang](/tag/blowbang), [spitroast](/tag/mfm), [double penetration](/tag/double-penetration) and [airtight](/tag/airtight). If she only gets fucked by one guy at a time, it might be considered a [trainbang](/tag/trainbang) instead. In a reverse gangbang, multiple women fuck one man.', /* eslint-disable-line max-len */
- priority: 9,
- group: 'group',
- },
- {
- name: 'glasses',
- slug: 'glasses',
- group: 'clothing',
- },
- {
- name: 'fake cum',
- slug: 'fake-cum',
- group: 'finish',
- },
- {
- name: 'trainbang',
- slug: 'trainbang',
- description: 'A group of three or more guys fucking a woman as in a [gangbang](/tag/gangbang), but one after the other, and never at the same time.',
- priority: 7,
- group: 'group',
- },
- {
- name: 'gaping',
- slug: 'gaping',
- priority: 6,
- },
- {
- name: 'gay',
- slug: 'gay',
- priority: 10,
- },
- {
- name: 'gloryhole',
- slug: 'gloryhole',
- },
- {
- name: 'gonzo',
- slug: 'gonzo',
- },
- {
- name: 'hairy',
- slug: 'hairy',
- group: 'body',
- },
- {
- name: 'handjob',
- slug: 'handjob',
- },
- {
- name: 'hardcore',
- slug: 'hardcore',
- },
- {
- name: 'high heels',
- slug: 'high-heels',
- group: 'clothing',
- },
- {
- name: 'humiliation',
- slug: 'humiliation',
- },
- {
- name: 'innie pussy',
- slug: 'innie-pussy',
- },
- {
- name: 'interracial',
- slug: 'interracial',
- priority: 7,
- group: 'ethnicity',
- },
- {
- name: 'kissing',
- slug: 'kissing',
- },
- {
- name: 'latex',
- slug: 'latex',
- },
- {
- name: 'Latina',
- slug: 'latina',
- priority: 5,
- group: 'ethnicity',
- },
- {
- name: 'leather',
- slug: 'leather',
- },
- {
- name: 'lesbian',
- slug: 'lesbian',
- priority: 9,
- },
- {
- name: 'machine dildo',
- slug: 'machine-dildo',
- },
- {
- name: 'lingerie',
- slug: 'lingerie',
- group: 'clothing',
- },
- {
- name: 'live',
- slug: 'live',
- },
- {
- name: 'maid',
- slug: 'maid',
- group: 'roleplay',
- },
- {
- name: 'massage',
- slug: 'massage',
- },
- {
- name: 'male focus',
- slug: 'male-focus',
- priority: 7,
- description: 'Straight porn highlighting the male talent.',
- },
- {
- name: 'masturbation',
- slug: 'masturbation',
- },
- {
- name: 'MILF',
- slug: 'milf',
- priority: 7,
- group: 'age',
- },
- {
- name: 'MFM threesome',
- slug: 'mfm',
- priority: 9,
- description: 'Two men fucking one woman, but not eachother. Typically involves a \'spitroast\', where one guy gets a blowjob and the other fucks her pussy.',
- group: 'group',
- },
- {
- name: 'miniskirt',
- slug: 'miniskirt',
- group: 'clothing',
- },
- {
- name: 'missionary',
- slug: 'missionary',
- group: 'position',
- },
- {
- name: 'natural boobs',
- slug: 'natural-boobs',
- group: 'body',
- },
- {
- name: 'nipple clamps',
- slug: 'nipple-clamps',
- },
- {
- name: 'oil',
- slug: 'oil',
- },
- {
- name: 'nurse',
- slug: 'nurse',
- group: 'roleplay',
- },
- {
- name: 'cum in mouth',
- slug: 'cum-in-mouth',
- priority: 7,
- group: 'finish',
- },
- {
- name: 'orgy',
- slug: 'orgy',
- priority: 9,
- description: 'A group of (at least four) people having sex with eachother. If only one person is getting fucked, it is probably a [gangbang](/tag/gangbang).',
- group: 'group',
- },
- {
- name: 'outdoors',
- slug: 'outdoors',
- group: 'location',
- },
- {
- name: 'outie pussy',
- slug: 'outie-pussy',
- },
- {
- name: 'pain',
- slug: 'pain',
- },
- {
- name: 'parody',
- slug: 'parody',
- },
- {
- name: 'pegging',
- slug: 'pegging',
- },
- {
- name: 'petite',
- slug: 'petite',
- },
- {
- name: 'piercings',
- slug: 'piercings',
- },
- {
- name: 'POV',
- slug: 'pov',
- },
- {
- name: 'pussy eating',
- slug: 'pussy-eating',
- group: 'oral',
- },
- {
- name: 'redhead',
- slug: 'redhead',
- group: 'hair',
- },
- {
- name: 'reverse cowgirl',
- slug: 'reverse-cowgirl',
- },
- {
- name: 'roleplay',
- slug: 'roleplay',
- },
- {
- name: 'rough',
- slug: 'rough',
- priority: 7,
- },
- {
- name: 'saliva',
- slug: 'saliva',
- },
- {
- name: 'schoolgirl',
- slug: 'schoolgirl',
- group: 'roleplay',
- },
- {
- name: 'shaved',
- slug: 'shaved',
- },
- {
- name: 'shoes on',
- slug: 'shoes-on',
- group: 'clothing',
- },
- {
- name: 'short hair',
- slug: 'short-hair',
- group: 'hair',
- },
- {
- name: 'skirt',
- slug: 'skirt',
- group: 'clothing',
- },
- {
- name: 'slapping',
- slug: 'slapping',
- },
- {
- name: 'sloppy blowjob',
- slug: 'sloppy-blowjob',
- },
- {
- name: 'socks',
- slug: 'socks',
- group: 'clothing',
- },
- {
- name: 'solo',
- slug: 'solo',
- },
- {
- name: 'spanking',
- slug: 'spanking',
- },
- {
- name: 'spooning',
- slug: 'spooning',
- group: 'position',
- },
- {
- name: 'strapon',
- slug: 'strapon',
- },
- {
- name: 'small boobs',
- slug: 'small-boobs',
- },
- {
- name: 'small butt',
- slug: 'small-butt',
- },
- {
- name: 'speculum',
- slug: 'speculum',
- },
- {
- name: 'squirting',
- slug: 'squirting',
- },
- {
- name: 'standing doggy style',
- slug: 'standing-doggy-style',
- },
- {
- name: 'stockings',
- slug: 'stockings',
- group: 'clothing',
- },
- {
- name: 'strap-on dildo',
- slug: 'strap-on-dildo',
- },
- {
- name: 'suspension',
- slug: 'suspension',
- },
- {
- name: 'swallowing',
- slug: 'swallowing',
- group: 'finish',
- priority: 6,
- },
- {
- name: 'tattoo',
- slug: 'tattoo',
- group: 'body',
- },
- {
- name: 'teacher',
- slug: 'teacher',
- group: 'roleplay',
- },
- {
- name: 'threesome',
- slug: 'threesome',
- group: 'group',
- },
- {
- name: 'teen',
- slug: 'teen',
- group: 'age',
- },
- {
- name: 'titty fuck',
- slug: 'titty-fuck',
- },
- {
- name: 'toys',
- slug: 'toys',
- },
- {
- name: 'transsexual',
- slug: 'transsexual',
- priority: 10,
- },
- {
- name: 'DA triple penetration',
- slug: 'da-tp',
- priority: 7,
- description: 'Triple penetration with two cocks in the ass, and one in the pussy. Also see [double vaginal TP](/tag/dv-tp).',
- group: 'penetration',
- },
- {
- name: 'DV triple penetration',
- slug: 'dv-tp',
- priority: 7,
- description: 'Triple penetration with two cocks in the pussy, and one in the ass. Also see [double anal TP](/tag/da-tp).',
- group: 'penetration',
- },
- {
- name: 'triple penetration',
- slug: 'triple-penetration',
- priority: 7,
- description: 'Three cocks fucking her from behind at the same time. This can be either [double anal TP](/tag/da-tp), or [double vaginal TP](/tag/dv-tp).',
- },
- {
- name: 'trimmed',
- slug: 'trimmed',
- },
- {
- name: 'uniform',
- slug: 'uniform',
- },
- {
- name: 'vibrator',
- slug: 'vibrator',
- },
- {
- name: 'voyeur',
- slug: 'voyeur',
- },
- {
- name: 'virtual reality',
- slug: 'virtual-reality',
- },
- {
- name: 'wet',
- slug: 'wet',
- },
- {
- name: 'caucasian',
- slug: 'caucasian',
- priority: 7,
- group: 'ethnicity',
- },
- {
- name: 'wife',
- slug: 'wife',
- },
- {
- name: 'office',
- slug: 'office',
- group: 'location',
- },
+ {
+ name: '4K',
+ slug: '4k',
+ description: 'Available in high quality 4K resolution.',
+ },
+ {
+ name: '69',
+ slug: '69',
+ group: 'position',
+ },
+ {
+ name: 'airtight',
+ slug: 'airtight',
+ description: 'Stuffing one cock in her ass, one in her pussy, and one in her mouth, filling all of her penetrable holes and sealing her airtight like a figurative balloon. In other words, simultaneously getting [double penetrated](/tag/double-penetration), and giving a [blowjob](/tag/blowjob) or getting [facefucked](/tag/facefuck). Being airtight implies being [gangbanged](/tag/gangbang).', /* eslint-disable-line max-len */
+ priority: 9,
+ group: 'penetration',
+ },
+ {
+ name: 'amateur',
+ slug: 'amateur',
+ },
+ {
+ name: 'anal creampie',
+ slug: 'anal-creampie',
+ priority: 7,
+ description: 'Ejaculating into the asshole.',
+ group: 'finish',
+ },
+ {
+ name: 'anal',
+ slug: 'anal',
+ description: 'Getting fucked in the asshole.',
+ priority: 9,
+ group: 'penetration',
+ },
+ {
+ name: 'ass fingering',
+ slug: 'ass-fingering',
+ description: 'Inserting one or multiple fingers into the asshole.',
+ },
+ {
+ name: 'anal fisting',
+ slug: 'anal-fisting',
+ description: 'Shoving an entire hand into the asshole.',
+ },
+ {
+ name: 'anal prolapse',
+ slug: 'anal-prolapse',
+ },
+ {
+ name: 'anal toys',
+ slug: 'anal-toys',
+ description: 'Stuffing a toy, such as a dildo or buttplug, into the ass',
+ },
+ {
+ name: 'animated',
+ slug: 'animated',
+ },
+ {
+ name: 'asian',
+ slug: 'asian',
+ priority: 5,
+ group: 'ethnicity',
+ },
+ {
+ name: 'athletic',
+ slug: 'athletic',
+ group: 'body',
+ },
+ {
+ name: 'ass to mouth',
+ slug: 'ass-to-mouth',
+ priority: 6,
+ description: 'Sucking off a cock right after anal, giving your own or someone else\'s asshole a second hand taste.',
+ group: 'oral',
+ },
+ {
+ name: 'ass eating',
+ slug: 'ass-eating',
+ group: 'oral',
+ priority: 6,
+ },
+ {
+ name: 'ball licking',
+ slug: 'ball-licking',
+ group: 'oral',
+ },
+ {
+ name: 'ballerina',
+ slug: 'ballerina',
+ group: 'roleplay',
+ },
+ {
+ name: 'bathroom',
+ slug: 'bathroom',
+ group: 'location',
+ },
+ {
+ name: 'BDSM',
+ slug: 'bdsm',
+ priority: 8,
+ },
+ {
+ name: 'BBC',
+ slug: 'bbc',
+ group: 'body',
+ },
+ {
+ name: 'behind the scenes',
+ slug: 'behind-the-scenes',
+ },
+ {
+ name: 'big dick',
+ slug: 'big-dick',
+ group: 'body',
+ },
+ {
+ name: 'big butt',
+ slug: 'big-butt',
+ group: 'body',
+ },
+ {
+ name: 'big boobs',
+ slug: 'big-boobs',
+ group: 'body',
+ },
+ {
+ name: 'bisexual',
+ slug: 'bisexual',
+ priority: 10,
+ },
+ {
+ name: 'black hair',
+ slug: 'black-hair',
+ group: 'hair',
+ },
+ {
+ name: 'blonde',
+ slug: 'blonde',
+ group: 'hair',
+ },
+ {
+ name: 'blowjob',
+ slug: 'blowjob',
+ priority: 5,
+ group: 'oral',
+ },
+ {
+ name: 'blowbang',
+ slug: 'blowbang',
+ priority: 9,
+ description: 'Pleasuring a gang of three or more cocks by sucking and jerking off as many cocks as they can, often getting [facefucked](/tag/facefuck), groped and rubbed out, and followed by a [bukkake](/tag/bukkake). If they are getting fucked, it is a [gangbang](/tag/gangbang).',
+ group: 'group',
+ },
+ {
+ name: 'bondage',
+ slug: 'bondage',
+ },
+ {
+ name: 'brunette',
+ slug: 'brunette',
+ group: 'hair',
+ },
+ {
+ name: 'bukkake',
+ slug: 'bukkake',
+ priority: 8,
+ description: 'Getting ejaculated on the face by a group of three or more men, often following a [blowbang](/tag/blowbang) or [gangbang](/tag/gangbang).',
+ group: 'finish',
+ },
+ {
+ name: 'casting',
+ slug: 'casting',
+ },
+ {
+ name: 'cheerleader',
+ slug: 'cheerleader',
+ group: 'roleplay',
+ },
+ {
+ name: 'choking',
+ slug: 'choking',
+ },
+ {
+ name: 'corporal punishment',
+ slug: 'corporal-punishment',
+ },
+ {
+ name: 'couples',
+ slug: 'couples',
+ },
+ {
+ name: 'cowgirl',
+ slug: 'cowgirl',
+ },
+ {
+ name: 'creampie',
+ slug: 'creampie',
+ priority: 8,
+ description: 'Ejaculalating into her pussy, often shown visibly dripping out afterwards.',
+ group: 'finish',
+ },
+ {
+ name: 'cuckold',
+ slug: 'cuckold',
+ },
+ {
+ name: 'cum licking',
+ slug: 'cum-licking',
+ },
+ {
+ name: 'cum on butt',
+ slug: 'cum-on-butt',
+ },
+ {
+ name: 'cum on boobs',
+ slug: 'cum-on-boobs',
+ },
+ {
+ name: 'cum swapping',
+ slug: 'cum-swapping',
+ },
+ {
+ name: 'cumshot',
+ slug: 'cumshot',
+ },
+ {
+ name: 'curvy',
+ slug: 'curvy',
+ },
+ {
+ name: 'double anal',
+ slug: 'double-anal',
+ description: 'Two cocks in the ass at the same time. If there\'s a third cock in her pussy, it is [double anal TP](/tag/da-tp).',
+ priority: 8,
+ group: 'penetration',
+ },
+ {
+ name: 'double dildo',
+ slug: 'double-dildo',
+ description: 'Two girls fucking eachother using either end of a double-sided dildo.',
+ priority: 4,
+ },
+ {
+ name: 'double dildo anal',
+ slug: 'double-dildo-anal',
+ description: 'Two people ass-fucking eachother with either end of a [double-sided dildo](/tag/double-dildo), "ass to ass".',
+ priority: 4,
+ },
+ {
+ name: 'double dildo DP',
+ slug: 'double-dildo-dp',
+ description: 'A girl using a [double-sided dildo](/tag/double-dildo) on both her ass and pussy.',
+ priority: 4,
+ },
+ {
+ name: 'double dildo blowjob',
+ slug: 'double-dildo-blowjob',
+ description: 'Two people sucking and gagging on either end of a [double-sided dildo](/tag/double-dildo). They may deepthroat the dildo for a [double dildo kiss](/tag/double-dildo-kiss).',
+ priority: 4,
+ },
+ {
+ name: 'double dildo kiss',
+ slug: 'double-dildo-kiss',
+ description: 'Two people deepthroating a [double-sided dildo](/tag/double-dildo) from either end during a [double dildo blowjob](/tag/double-dildo-blowjob), all the way until they can kiss eachother\'s lips.',
+ priority: 4,
+ },
+ {
+ name: 'triple anal',
+ slug: 'triple-anal',
+ description: 'Getting fucked in the ass by not one, two, but *three* cocks at the same time.',
+ priority: 7,
+ group: 'penetration',
+ },
+ {
+ name: 'deepthroat',
+ slug: 'deepthroat',
+ priority: 6,
+ group: 'oral',
+ },
+ {
+ name: 'double penetration',
+ slug: 'double-penetration',
+ priority: 9,
+ description: 'Fucking two cocks at once, with one in her ass, and one in her pussy. If she has another cock in her mouth, she is [airtight](/tag/airtight).',
+ group: 'penetration',
+ },
+ {
+ name: 'dungeon',
+ slug: 'dungeon',
+ },
+ {
+ name: 'double vaginal',
+ slug: 'double-vaginal',
+ description: 'Fucking her pussy with two cocks at the same time. If there\'s a third cock in her asshole, it is [double vaginal TP](/tag/dv-tp).',
+ priority: 8,
+ group: 'penetration',
+ },
+ {
+ name: 'double blowjob',
+ slug: 'double-blowjob',
+ group: 'oral',
+ },
+ {
+ name: 'doggy style',
+ slug: 'doggy-style',
+ group: 'position',
+ },
+ {
+ name: 'dress',
+ slug: 'dress',
+ group: 'clothing',
+ },
+ {
+ name: 'ebony',
+ slug: 'ebony',
+ priority: 5,
+ group: 'ethnicity',
+ },
+ {
+ name: 'electric shock',
+ slug: 'electric-shock',
+ },
+ {
+ name: 'fake boobs',
+ slug: 'fake-boobs',
+ },
+ {
+ name: 'facefucking',
+ slug: 'facefucking',
+ priority: 9,
+ group: 'oral',
+ },
+ {
+ name: 'facesitting',
+ slug: 'facesitting',
+ group: 'position',
+ },
+ {
+ name: 'facial',
+ slug: 'facial',
+ group: 'finish',
+ },
+ {
+ name: 'family taboo',
+ slug: 'family',
+ },
+ {
+ name: 'feet',
+ slug: 'feet',
+ },
+ {
+ name: 'femdom',
+ slug: 'femdom',
+ },
+ {
+ name: 'fingering',
+ slug: 'fingering',
+ },
+ {
+ name: 'fisting',
+ slug: 'fisting',
+ },
+ {
+ name: 'MFF threesome',
+ slug: 'mff',
+ priority: 9,
+ description: 'A threesome with two women and one guy, in which the women have sex with eachother.',
+ group: 'group',
+ },
+ {
+ name: 'gag',
+ slug: 'gag',
+ },
+ {
+ name: 'gangbang',
+ slug: 'gangbang',
+ description: 'A group of three or more guys fucking a woman, at least two at the same time, often but not necessarily involving a [blowbang](/tag/blowbang), [spitroast](/tag/mfm), [double penetration](/tag/double-penetration) and [airtight](/tag/airtight). If she only gets fucked by one guy at a time, it might be considered a [trainbang](/tag/trainbang) instead. In a reverse gangbang, multiple women fuck one man.', /* eslint-disable-line max-len */
+ priority: 9,
+ group: 'group',
+ },
+ {
+ name: 'glasses',
+ slug: 'glasses',
+ group: 'clothing',
+ },
+ {
+ name: 'fake cum',
+ slug: 'fake-cum',
+ group: 'finish',
+ },
+ {
+ name: 'trainbang',
+ slug: 'trainbang',
+ description: 'A group of three or more guys fucking a woman as in a [gangbang](/tag/gangbang), but one after the other, and never at the same time.',
+ priority: 7,
+ group: 'group',
+ },
+ {
+ name: 'gaping',
+ slug: 'gaping',
+ priority: 6,
+ },
+ {
+ name: 'gay',
+ slug: 'gay',
+ priority: 10,
+ },
+ {
+ name: 'gloryhole',
+ slug: 'gloryhole',
+ },
+ {
+ name: 'gonzo',
+ slug: 'gonzo',
+ },
+ {
+ name: 'hairy',
+ slug: 'hairy',
+ group: 'body',
+ },
+ {
+ name: 'handjob',
+ slug: 'handjob',
+ },
+ {
+ name: 'hardcore',
+ slug: 'hardcore',
+ },
+ {
+ name: 'high heels',
+ slug: 'high-heels',
+ group: 'clothing',
+ },
+ {
+ name: 'humiliation',
+ slug: 'humiliation',
+ },
+ {
+ name: 'innie pussy',
+ slug: 'innie-pussy',
+ },
+ {
+ name: 'interracial',
+ slug: 'interracial',
+ priority: 7,
+ group: 'ethnicity',
+ },
+ {
+ name: 'kissing',
+ slug: 'kissing',
+ },
+ {
+ name: 'latex',
+ slug: 'latex',
+ },
+ {
+ name: 'Latina',
+ slug: 'latina',
+ priority: 5,
+ group: 'ethnicity',
+ },
+ {
+ name: 'leather',
+ slug: 'leather',
+ },
+ {
+ name: 'lesbian',
+ slug: 'lesbian',
+ priority: 9,
+ },
+ {
+ name: 'machine dildo',
+ slug: 'machine-dildo',
+ },
+ {
+ name: 'lingerie',
+ slug: 'lingerie',
+ group: 'clothing',
+ },
+ {
+ name: 'live',
+ slug: 'live',
+ },
+ {
+ name: 'maid',
+ slug: 'maid',
+ group: 'roleplay',
+ },
+ {
+ name: 'massage',
+ slug: 'massage',
+ },
+ {
+ name: 'male focus',
+ slug: 'male-focus',
+ priority: 7,
+ description: 'Straight porn highlighting the male talent.',
+ },
+ {
+ name: 'masturbation',
+ slug: 'masturbation',
+ },
+ {
+ name: 'MILF',
+ slug: 'milf',
+ priority: 7,
+ group: 'age',
+ },
+ {
+ name: 'MFM threesome',
+ slug: 'mfm',
+ priority: 9,
+ description: 'Two men fucking one woman, but not eachother. Typically involves a \'spitroast\', where one guy gets a blowjob and the other fucks her pussy.',
+ group: 'group',
+ },
+ {
+ name: 'miniskirt',
+ slug: 'miniskirt',
+ group: 'clothing',
+ },
+ {
+ name: 'missionary',
+ slug: 'missionary',
+ group: 'position',
+ },
+ {
+ name: 'natural boobs',
+ slug: 'natural-boobs',
+ group: 'body',
+ },
+ {
+ name: 'nipple clamps',
+ slug: 'nipple-clamps',
+ },
+ {
+ name: 'oil',
+ slug: 'oil',
+ },
+ {
+ name: 'nurse',
+ slug: 'nurse',
+ group: 'roleplay',
+ },
+ {
+ name: 'cum in mouth',
+ slug: 'cum-in-mouth',
+ priority: 7,
+ group: 'finish',
+ },
+ {
+ name: 'orgy',
+ slug: 'orgy',
+ priority: 9,
+ description: 'A group of (at least four) people having sex with eachother. If only one person is getting fucked, it is probably a [gangbang](/tag/gangbang).',
+ group: 'group',
+ },
+ {
+ name: 'outdoors',
+ slug: 'outdoors',
+ group: 'location',
+ },
+ {
+ name: 'outie pussy',
+ slug: 'outie-pussy',
+ },
+ {
+ name: 'pain',
+ slug: 'pain',
+ },
+ {
+ name: 'parody',
+ slug: 'parody',
+ },
+ {
+ name: 'pegging',
+ slug: 'pegging',
+ },
+ {
+ name: 'petite',
+ slug: 'petite',
+ },
+ {
+ name: 'piercings',
+ slug: 'piercings',
+ },
+ {
+ name: 'POV',
+ slug: 'pov',
+ },
+ {
+ name: 'pussy eating',
+ slug: 'pussy-eating',
+ group: 'oral',
+ },
+ {
+ name: 'redhead',
+ slug: 'redhead',
+ group: 'hair',
+ },
+ {
+ name: 'reverse cowgirl',
+ slug: 'reverse-cowgirl',
+ },
+ {
+ name: 'roleplay',
+ slug: 'roleplay',
+ },
+ {
+ name: 'rough',
+ slug: 'rough',
+ priority: 7,
+ },
+ {
+ name: 'saliva',
+ slug: 'saliva',
+ },
+ {
+ name: 'schoolgirl',
+ slug: 'schoolgirl',
+ group: 'roleplay',
+ },
+ {
+ name: 'shaved',
+ slug: 'shaved',
+ },
+ {
+ name: 'shoes on',
+ slug: 'shoes-on',
+ group: 'clothing',
+ },
+ {
+ name: 'short hair',
+ slug: 'short-hair',
+ group: 'hair',
+ },
+ {
+ name: 'skirt',
+ slug: 'skirt',
+ group: 'clothing',
+ },
+ {
+ name: 'slapping',
+ slug: 'slapping',
+ },
+ {
+ name: 'sloppy blowjob',
+ slug: 'sloppy-blowjob',
+ },
+ {
+ name: 'socks',
+ slug: 'socks',
+ group: 'clothing',
+ },
+ {
+ name: 'solo',
+ slug: 'solo',
+ },
+ {
+ name: 'spanking',
+ slug: 'spanking',
+ },
+ {
+ name: 'spooning',
+ slug: 'spooning',
+ group: 'position',
+ },
+ {
+ name: 'strapon',
+ slug: 'strapon',
+ },
+ {
+ name: 'small boobs',
+ slug: 'small-boobs',
+ },
+ {
+ name: 'small butt',
+ slug: 'small-butt',
+ },
+ {
+ name: 'speculum',
+ slug: 'speculum',
+ },
+ {
+ name: 'squirting',
+ slug: 'squirting',
+ },
+ {
+ name: 'standing doggy style',
+ slug: 'standing-doggy-style',
+ },
+ {
+ name: 'stockings',
+ slug: 'stockings',
+ group: 'clothing',
+ },
+ {
+ name: 'strap-on dildo',
+ slug: 'strap-on-dildo',
+ },
+ {
+ name: 'suspension',
+ slug: 'suspension',
+ },
+ {
+ name: 'swallowing',
+ slug: 'swallowing',
+ group: 'finish',
+ priority: 6,
+ },
+ {
+ name: 'tattoo',
+ slug: 'tattoo',
+ group: 'body',
+ },
+ {
+ name: 'teacher',
+ slug: 'teacher',
+ group: 'roleplay',
+ },
+ {
+ name: 'threesome',
+ slug: 'threesome',
+ group: 'group',
+ },
+ {
+ name: 'teen',
+ slug: 'teen',
+ group: 'age',
+ },
+ {
+ name: 'titty fuck',
+ slug: 'titty-fuck',
+ },
+ {
+ name: 'toys',
+ slug: 'toys',
+ },
+ {
+ name: 'transsexual',
+ slug: 'transsexual',
+ priority: 10,
+ },
+ {
+ name: 'DA triple penetration',
+ slug: 'da-tp',
+ priority: 7,
+ description: 'Triple penetration with two cocks in the ass, and one in the pussy. Also see [double vaginal TP](/tag/dv-tp).',
+ group: 'penetration',
+ },
+ {
+ name: 'DV triple penetration',
+ slug: 'dv-tp',
+ priority: 7,
+ description: 'Triple penetration with two cocks in the pussy, and one in the ass. Also see [double anal TP](/tag/da-tp).',
+ group: 'penetration',
+ },
+ {
+ name: 'triple penetration',
+ slug: 'triple-penetration',
+ priority: 7,
+ description: 'Three cocks fucking her from behind at the same time. This can be either [double anal TP](/tag/da-tp), or [double vaginal TP](/tag/dv-tp).',
+ },
+ {
+ name: 'trimmed',
+ slug: 'trimmed',
+ },
+ {
+ name: 'uniform',
+ slug: 'uniform',
+ },
+ {
+ name: 'vibrator',
+ slug: 'vibrator',
+ },
+ {
+ name: 'voyeur',
+ slug: 'voyeur',
+ },
+ {
+ name: 'virtual reality',
+ slug: 'virtual-reality',
+ },
+ {
+ name: 'wet',
+ slug: 'wet',
+ },
+ {
+ name: 'caucasian',
+ slug: 'caucasian',
+ priority: 7,
+ group: 'ethnicity',
+ },
+ {
+ name: 'wife',
+ slug: 'wife',
+ },
+ {
+ name: 'office',
+ slug: 'office',
+ group: 'location',
+ },
];
const aliases = [
- {
- name: '2on1',
- for: 'threesome',
- },
- {
- name: '2-on-1',
- for: 'threesome',
- },
- {
- name: '2 on 1',
- for: 'threesome',
- },
- {
- name: '3+ on 1',
- for: 'gangbang',
- },
- {
- name: 'anal sex',
- for: 'anal',
- },
- {
- name: 'anal gape',
- for: 'gaping',
- },
- {
- name: 'anilingus',
- for: 'ass-eating',
- },
- {
- name: 'analingus',
- for: 'ass-eating',
- },
- {
- name: 'analingus male',
- for: 'ass-eating',
- },
- {
- name: 'asians',
- for: 'asian',
- },
- {
- name: 'asian female',
- for: 'asian',
- },
- {
- name: 'anal fingering',
- for: 'ass-fingering',
- },
- {
- name: 'ass licking',
- for: 'ass-eating',
- },
- {
- name: 'asslicking',
- for: 'ass-eating',
- },
- {
- name: 'ass fucking',
- for: 'anal',
- },
- {
- name: 'atm',
- for: 'ass-to-mouth',
- secondary: true,
- },
- {
- name: 'a2m',
- for: 'ass-to-mouth',
- secondary: true,
- },
- {
- name: 'bald pussy',
- for: 'shaved',
- },
- {
- name: 'ball gag',
- for: 'gag',
- },
- {
- name: 'ball lick',
- for: 'ball-licking',
- },
- {
- name: 'ball suck',
- for: 'ball-licking',
- },
- {
- name: 'ball sucking',
- for: 'ball-licking',
- },
- {
- name: 'boob fucking',
- for: 'titty-fuck',
- },
- {
- name: 'bts',
- for: 'behind-the-scenes',
- secondary: true,
- },
- {
- name: 'mfm',
- for: 'mmf',
- },
- {
- name: 'fmf',
- for: 'mff',
- },
- {
- name: 'mff',
- for: 'mff',
- },
- {
- name: 'ffm',
- for: 'mff',
- },
- {
- name: 'bgb',
- for: 'mfm',
- },
- {
- name: 'big ass',
- for: 'big-butt',
- },
- {
- name: 'big black cock',
- for: 'bbc',
- },
- {
- name: 'big black cocks',
- for: 'bbc',
- },
- {
- name: 'big cocks',
- for: 'big-dick',
- },
- {
- name: 'big cock',
- for: 'big-dick',
- },
- {
- name: 'big booty',
- for: 'big-butt',
- },
- {
- name: 'big butts',
- for: 'big-butt',
- },
- {
- name: 'big tits',
- for: 'big-boobs',
- },
- {
- name: 'busty - big boobs',
- for: 'big-boobs',
- },
- {
- name: 'busty: big beautiful breast',
- for: 'big-boobs',
- },
- {
- name: 'bi',
- for: 'bisexual',
- },
- {
- name: 'black',
- for: 'ebony',
- },
- {
- name: 'blonde hair',
- for: 'blonde',
- },
- {
- name: 'blonde female',
- for: 'blonde',
- },
- {
- name: 'blondes',
- for: 'blonde',
- },
- {
- name: 'blow job',
- for: 'blowjob',
- },
- {
- name: 'blowjobs',
- for: 'blowjob',
- },
- {
- name: 'blowjob pov',
- for: 'blowjob',
- },
- {
- name: 'blowjob (double)',
- for: 'double-blowjob',
- },
- {
- name: 'blowjob - double',
- for: 'double-blowjob',
- },
- {
- name: 'blowjob (pov)',
- for: 'blowjob',
- },
- {
- name: 'blowjob - pov',
- for: 'blowjob',
- },
- {
- name: 'boob job',
- for: 'fake-boobs',
- },
- {
- name: 'boobjob',
- for: 'fake-boobs',
- },
- {
- name: 'brown hair',
- for: 'brunette',
- },
- {
- name: 'brunettes',
- for: 'brunette',
- },
- {
- name: 'buttplug',
- for: 'anal-toys',
- secondary: true,
- },
- {
- name: 'butt plug',
- for: 'anal-toys',
- },
- {
- name: 'caning',
- for: 'corporal-punishment',
- },
- {
- name: 'cattle prod',
- for: 'electric-shock',
- },
- {
- name: 'cheer leader',
- for: 'cheerleader',
- },
- {
- name: 'clover clamps',
- for: 'nipple-clamps',
- },
- {
- name: 'couples fantasies',
- for: 'couples',
- },
- {
- name: 'creampies',
- for: 'creampie',
- },
- {
- name: 'creampie - anal',
- for: 'anal-creampie',
- },
- {
- name: 'crop', // a type of whip, not [sic] short for corporal
- for: 'corporal-punishment',
- },
- {
- name: 'cum cleaning',
- for: 'cum-licking',
- },
- {
- name: 'cuck',
- for: 'cuckold',
- },
- {
- name: 'oral creampie',
- for: 'cum-in-mouth',
- secondary: true,
- },
- {
- name: 'cum on ass',
- for: 'cum-on-butt',
- },
- {
- name: 'cum on tits',
- for: 'cum-on-boobs',
- },
- {
- name: 'cum swallowing',
- for: 'swallowing',
- },
- {
- name: 'cum shot',
- for: 'cumshot',
- },
- {
- name: 'cunnilingus',
- for: 'pussy-eating',
- },
- {
- name: 'pussy licking',
- for: 'pussy-eating',
- },
- {
- name: 'deep throat',
- for: 'deepthroat',
- secondary: true,
- },
- {
- name: 'deepthroating',
- for: 'deepthroat',
- },
- {
- name: 'dildo',
- for: 'toys',
- },
- {
- name: 'doggystyle',
- for: 'doggy-style',
- secondary: true,
- },
- {
- name: 'doggy style - pov',
- for: 'doggy-style',
- },
- {
- name: 'doggie style',
- for: 'doggy-style',
- },
- {
- name: 'doggystyle (standing)',
- for: 'standing-doggy-style',
- },
- {
- name: 'doggystyle - standing',
- for: 'standing-doggy-style',
- },
- {
- name: 'doggystyle regular',
- for: 'doggy-style',
- },
- {
- name: 'dom',
- for: 'bdsm',
- },
- {
- name: 'domination',
- for: 'bdsm',
- },
- {
- name: 'dominatrix',
- for: 'femdom',
- secondary: true,
- },
- {
- name: 'dp',
- for: 'double-penetration',
- secondary: true,
- },
- {
- name: 'first dp',
- for: 'double-penetration',
- },
- {
- name: 'double penetration (dp)',
- for: 'double-penetration',
- },
- {
- name: 'double penetration - dp',
- for: 'double-penetration',
- },
- {
- name: 'dap',
- for: 'double-anal',
- secondary: true,
- },
- {
- name: 'double anal (dap)',
- for: 'double-anal',
- },
- {
- name: 'double anal penetration (dap)',
- for: 'double-anal',
- },
- {
- name: 'tap',
- for: 'triple-anal',
- secondary: true,
- },
- {
- name: 'dpp',
- for: 'double-vaginal',
- secondary: true,
- },
- {
- name: 'dvp',
- for: 'double-vaginal',
- secondary: true,
- },
- {
- name: 'double vaginal (dvp)',
- for: 'double-vaginal',
- },
- {
- name: 'double vaginal penetration (dvp)',
- for: 'double-vaginal',
- },
- {
- name: 'double vaginal (dpp)',
- for: 'double-vaginal',
- },
- {
- name: 'double pussy penetration',
- for: 'double-vaginal',
- },
- {
- name: 'double pussy penetration (dpp)',
- for: 'double-vaginal',
- },
- {
- name: 'drool',
- for: 'saliva',
- },
- {
- name: 'enhanced',
- for: 'fake-boobs',
- },
- {
- name: 'enhanced tits',
- for: 'fake-boobs',
- },
- {
- name: 'facefuck',
- for: 'facefucking',
- },
- {
- name: 'face fuck',
- for: 'facefucking',
- },
- {
- name: 'face fucking',
- for: 'facefucking',
- },
- {
- name: 'face sitting',
- for: 'facesitting',
- },
- {
- name: 'facial cumshot',
- for: 'facial',
- },
- {
- name: 'facials',
- for: 'facial',
- },
- {
- name: 'facial - multiple',
- for: 'facial',
- },
- {
- name: 'fake tits',
- for: 'fake-boobs',
- secondary: true,
- },
- {
- name: 'enhanced boobs',
- for: 'fake-boobs',
- secondary: true,
- },
- {
- name: 'flogging',
- for: 'corporal-punishment',
- },
- {
- name: 'foot fetish',
- for: 'feet',
- },
- {
- name: 'french kissing',
- for: 'kissing',
- },
- {
- name: 'gape',
- for: 'gaping',
- secondary: true,
- },
- {
- name: 'gapes',
- for: 'gaping',
- secondary: true,
- },
- {
- name: 'gapes (gaping asshole)',
- for: 'gaping',
- },
- {
- name: 'glory hole',
- for: 'gloryhole',
- },
- {
- name: 'group sex',
- for: 'orgy',
- },
- {
- name: 'flagellation',
- for: 'corporal-punishment',
- },
- {
- name: 'huge tits',
- for: 'big-boobs',
- },
- {
- name: 'huge toys',
- for: 'toys',
- },
- {
- name: 'incest',
- for: 'family',
- secondary: true,
- },
- {
- name: 'incest fantasy',
- for: 'family',
- },
- {
- name: 'innie',
- for: 'innie-pussy',
- },
- {
- name: 'lashing',
- for: 'corporal-punishment',
- },
- {
- name: 'lezdom',
- for: 'lesbian',
- },
- {
- name: 'mini-skirt',
- for: 'miniskirt',
- },
- {
- name: 'mmf',
- for: 'mfm',
- },
- {
- name: 'mature & milf',
- for: 'milf',
- },
- {
- name: 'natural',
- for: 'natural-boobs',
- },
- {
- name: 'natural tits',
- for: 'natural-boobs',
- },
- {
- name: 'oral',
- for: 'blowjob',
- },
- {
- name: 'outie',
- for: 'outie-pussy',
- },
- {
- name: 'piercing',
- for: 'piercings',
- },
- {
- name: 'pierced',
- for: 'piercings',
- },
- {
- name: 'prolapse',
- for: 'anal-prolapse',
- },
- {
- name: 'prolapsing',
- for: 'anal-prolapse',
- },
- {
- name: 'raven',
- for: 'black-hair',
- },
- {
- name: 'raven hair',
- for: 'black-hair',
- },
- {
- name: 'red hair',
- for: 'redhead',
- },
- {
- name: 'red head',
- for: 'redhead',
- },
- {
- name: 'redhead babes',
- for: 'redhead',
- },
- {
- name: 'rimming',
- for: 'ass-eating',
- secondary: true,
- },
- {
- name: 'rimjob',
- for: 'ass-eating',
- secondary: true,
- },
- {
- name: 'role play',
- for: 'roleplay',
- },
- {
- name: 'rope bondage',
- for: 'bondage',
- },
- {
- name: 'rough sex',
- for: 'rough',
- },
- {
- name: 'school girl',
- for: 'schoolgirl',
- },
- {
- name: 'sadomasochism',
- for: 'bdsm',
- },
- {
- name: 'sadism',
- for: 'bdsm',
- },
- {
- name: 'scissoring',
- for: 'lesbian',
- },
- {
- name: 'sex toys',
- for: 'toys',
- },
- {
- name: 'shaved pussy',
- for: 'shaved',
- },
- {
- name: 'shoes',
- for: 'shoes-on',
- },
- {
- name: 'slave',
- for: 'bdsm',
- },
- {
- name: 'small ass',
- for: 'small-butt',
- },
- {
- name: 'small tits',
- for: 'small-boobs',
- },
- {
- name: 'spit',
- for: 'saliva',
- },
- {
- name: 'spitroast',
- for: 'mfm',
- secondary: true,
- },
- {
- name: 'sex toy',
- for: 'toys',
- },
- {
- name: 'standing doggystyle',
- for: 'standing-doggy-style',
- },
- {
- name: 'swallow',
- for: 'swallowing',
- },
- {
- name: 'strap-on',
- for: 'strap-on-dildo',
- },
- {
- name: 'strap on',
- for: 'strap-on-dildo',
- },
- {
- name: 'strap on dildo',
- for: 'strap-on-dildo',
- },
- {
- name: 'sub',
- for: 'bdsm',
- },
- {
- name: 'submission',
- for: 'bdsm',
- },
- {
- name: 'tattoos',
- for: 'tattoo',
- secondary: true,
- },
- {
- name: 'teens',
- for: 'teen',
- },
- {
- name: 'throat fucking',
- for: 'facefucking',
- },
- {
- name: 'tiny boobs',
- for: 'small-boobs',
- },
- {
- name: 'tiny tits',
- for: 'small-boobs',
- },
- {
- name: 'tittyfuck',
- for: 'titty-fuck',
- secondary: true,
- },
- {
- name: 'tp',
- for: 'triple-penetration',
- },
- {
- name: 'trans',
- for: 'transsexual',
- },
- {
- name: 'transgender',
- for: 'transsexual',
- secondary: true,
- },
- {
- name: 'trimmed pussy',
- for: 'trimmed',
- },
- {
- name: 'ts',
- for: 'transsexual',
- },
- {
- name: 'vr',
- for: 'virtual reality',
- },
- {
- name: 'whipping',
- for: 'corporal-punishment',
- },
- {
- name: 'white',
- for: 'caucasian',
- },
- {
- name: 'work',
- for: 'office',
- },
- {
- name: 'workplace',
- for: 'office',
- },
- {
- name: 'zapper',
- for: 'electric-shock',
- },
+ {
+ name: '2on1',
+ for: 'threesome',
+ },
+ {
+ name: '2-on-1',
+ for: 'threesome',
+ },
+ {
+ name: '2 on 1',
+ for: 'threesome',
+ },
+ {
+ name: '3+ on 1',
+ for: 'gangbang',
+ },
+ {
+ name: 'anal sex',
+ for: 'anal',
+ },
+ {
+ name: 'anal gape',
+ for: 'gaping',
+ },
+ {
+ name: 'anilingus',
+ for: 'ass-eating',
+ },
+ {
+ name: 'analingus',
+ for: 'ass-eating',
+ },
+ {
+ name: 'analingus male',
+ for: 'ass-eating',
+ },
+ {
+ name: 'asians',
+ for: 'asian',
+ },
+ {
+ name: 'asian female',
+ for: 'asian',
+ },
+ {
+ name: 'anal fingering',
+ for: 'ass-fingering',
+ },
+ {
+ name: 'ass licking',
+ for: 'ass-eating',
+ },
+ {
+ name: 'asslicking',
+ for: 'ass-eating',
+ },
+ {
+ name: 'ass fucking',
+ for: 'anal',
+ },
+ {
+ name: 'atm',
+ for: 'ass-to-mouth',
+ secondary: true,
+ },
+ {
+ name: 'a2m',
+ for: 'ass-to-mouth',
+ secondary: true,
+ },
+ {
+ name: 'bald pussy',
+ for: 'shaved',
+ },
+ {
+ name: 'ball gag',
+ for: 'gag',
+ },
+ {
+ name: 'ball lick',
+ for: 'ball-licking',
+ },
+ {
+ name: 'ball suck',
+ for: 'ball-licking',
+ },
+ {
+ name: 'ball sucking',
+ for: 'ball-licking',
+ },
+ {
+ name: 'boob fucking',
+ for: 'titty-fuck',
+ },
+ {
+ name: 'bts',
+ for: 'behind-the-scenes',
+ secondary: true,
+ },
+ {
+ name: 'mfm',
+ for: 'mmf',
+ },
+ {
+ name: 'fmf',
+ for: 'mff',
+ },
+ {
+ name: 'mff',
+ for: 'mff',
+ },
+ {
+ name: 'ffm',
+ for: 'mff',
+ },
+ {
+ name: 'bgb',
+ for: 'mfm',
+ },
+ {
+ name: 'big ass',
+ for: 'big-butt',
+ },
+ {
+ name: 'big black cock',
+ for: 'bbc',
+ },
+ {
+ name: 'big black cocks',
+ for: 'bbc',
+ },
+ {
+ name: 'big cocks',
+ for: 'big-dick',
+ },
+ {
+ name: 'big cock',
+ for: 'big-dick',
+ },
+ {
+ name: 'big booty',
+ for: 'big-butt',
+ },
+ {
+ name: 'big butts',
+ for: 'big-butt',
+ },
+ {
+ name: 'big tits',
+ for: 'big-boobs',
+ },
+ {
+ name: 'busty - big boobs',
+ for: 'big-boobs',
+ },
+ {
+ name: 'busty: big beautiful breast',
+ for: 'big-boobs',
+ },
+ {
+ name: 'bi',
+ for: 'bisexual',
+ },
+ {
+ name: 'black',
+ for: 'ebony',
+ },
+ {
+ name: 'blonde hair',
+ for: 'blonde',
+ },
+ {
+ name: 'blonde female',
+ for: 'blonde',
+ },
+ {
+ name: 'blondes',
+ for: 'blonde',
+ },
+ {
+ name: 'blow job',
+ for: 'blowjob',
+ },
+ {
+ name: 'blowjobs',
+ for: 'blowjob',
+ },
+ {
+ name: 'blowjob pov',
+ for: 'blowjob',
+ },
+ {
+ name: 'blowjob (double)',
+ for: 'double-blowjob',
+ },
+ {
+ name: 'blowjob - double',
+ for: 'double-blowjob',
+ },
+ {
+ name: 'blowjob (pov)',
+ for: 'blowjob',
+ },
+ {
+ name: 'blowjob - pov',
+ for: 'blowjob',
+ },
+ {
+ name: 'boob job',
+ for: 'fake-boobs',
+ },
+ {
+ name: 'boobjob',
+ for: 'fake-boobs',
+ },
+ {
+ name: 'brown hair',
+ for: 'brunette',
+ },
+ {
+ name: 'brunettes',
+ for: 'brunette',
+ },
+ {
+ name: 'buttplug',
+ for: 'anal-toys',
+ secondary: true,
+ },
+ {
+ name: 'butt plug',
+ for: 'anal-toys',
+ },
+ {
+ name: 'caning',
+ for: 'corporal-punishment',
+ },
+ {
+ name: 'cattle prod',
+ for: 'electric-shock',
+ },
+ {
+ name: 'cheer leader',
+ for: 'cheerleader',
+ },
+ {
+ name: 'clover clamps',
+ for: 'nipple-clamps',
+ },
+ {
+ name: 'couples fantasies',
+ for: 'couples',
+ },
+ {
+ name: 'creampies',
+ for: 'creampie',
+ },
+ {
+ name: 'creampie - anal',
+ for: 'anal-creampie',
+ },
+ {
+ name: 'crop', // a type of whip, not [sic] short for corporal
+ for: 'corporal-punishment',
+ },
+ {
+ name: 'cum cleaning',
+ for: 'cum-licking',
+ },
+ {
+ name: 'cuck',
+ for: 'cuckold',
+ },
+ {
+ name: 'oral creampie',
+ for: 'cum-in-mouth',
+ secondary: true,
+ },
+ {
+ name: 'cum on ass',
+ for: 'cum-on-butt',
+ },
+ {
+ name: 'cum on tits',
+ for: 'cum-on-boobs',
+ },
+ {
+ name: 'cum swallowing',
+ for: 'swallowing',
+ },
+ {
+ name: 'cum shot',
+ for: 'cumshot',
+ },
+ {
+ name: 'cunnilingus',
+ for: 'pussy-eating',
+ },
+ {
+ name: 'pussy licking',
+ for: 'pussy-eating',
+ },
+ {
+ name: 'deep throat',
+ for: 'deepthroat',
+ secondary: true,
+ },
+ {
+ name: 'deepthroating',
+ for: 'deepthroat',
+ },
+ {
+ name: 'dildo',
+ for: 'toys',
+ },
+ {
+ name: 'doggystyle',
+ for: 'doggy-style',
+ secondary: true,
+ },
+ {
+ name: 'doggy style - pov',
+ for: 'doggy-style',
+ },
+ {
+ name: 'doggie style',
+ for: 'doggy-style',
+ },
+ {
+ name: 'doggystyle (standing)',
+ for: 'standing-doggy-style',
+ },
+ {
+ name: 'doggystyle - standing',
+ for: 'standing-doggy-style',
+ },
+ {
+ name: 'doggystyle regular',
+ for: 'doggy-style',
+ },
+ {
+ name: 'dom',
+ for: 'bdsm',
+ },
+ {
+ name: 'domination',
+ for: 'bdsm',
+ },
+ {
+ name: 'dominatrix',
+ for: 'femdom',
+ secondary: true,
+ },
+ {
+ name: 'dp',
+ for: 'double-penetration',
+ secondary: true,
+ },
+ {
+ name: 'first dp',
+ for: 'double-penetration',
+ },
+ {
+ name: 'double penetration (dp)',
+ for: 'double-penetration',
+ },
+ {
+ name: 'double penetration - dp',
+ for: 'double-penetration',
+ },
+ {
+ name: 'dap',
+ for: 'double-anal',
+ secondary: true,
+ },
+ {
+ name: 'double anal (dap)',
+ for: 'double-anal',
+ },
+ {
+ name: 'double anal penetration (dap)',
+ for: 'double-anal',
+ },
+ {
+ name: 'tap',
+ for: 'triple-anal',
+ secondary: true,
+ },
+ {
+ name: 'dpp',
+ for: 'double-vaginal',
+ secondary: true,
+ },
+ {
+ name: 'dvp',
+ for: 'double-vaginal',
+ secondary: true,
+ },
+ {
+ name: 'double vaginal (dvp)',
+ for: 'double-vaginal',
+ },
+ {
+ name: 'double vaginal penetration (dvp)',
+ for: 'double-vaginal',
+ },
+ {
+ name: 'double vaginal (dpp)',
+ for: 'double-vaginal',
+ },
+ {
+ name: 'double pussy penetration',
+ for: 'double-vaginal',
+ },
+ {
+ name: 'double pussy penetration (dpp)',
+ for: 'double-vaginal',
+ },
+ {
+ name: 'drool',
+ for: 'saliva',
+ },
+ {
+ name: 'enhanced',
+ for: 'fake-boobs',
+ },
+ {
+ name: 'enhanced tits',
+ for: 'fake-boobs',
+ },
+ {
+ name: 'facefuck',
+ for: 'facefucking',
+ },
+ {
+ name: 'face fuck',
+ for: 'facefucking',
+ },
+ {
+ name: 'face fucking',
+ for: 'facefucking',
+ },
+ {
+ name: 'face sitting',
+ for: 'facesitting',
+ },
+ {
+ name: 'facial cumshot',
+ for: 'facial',
+ },
+ {
+ name: 'facials',
+ for: 'facial',
+ },
+ {
+ name: 'facial - multiple',
+ for: 'facial',
+ },
+ {
+ name: 'fake tits',
+ for: 'fake-boobs',
+ secondary: true,
+ },
+ {
+ name: 'enhanced boobs',
+ for: 'fake-boobs',
+ secondary: true,
+ },
+ {
+ name: 'flogging',
+ for: 'corporal-punishment',
+ },
+ {
+ name: 'foot fetish',
+ for: 'feet',
+ },
+ {
+ name: 'french kissing',
+ for: 'kissing',
+ },
+ {
+ name: 'gape',
+ for: 'gaping',
+ secondary: true,
+ },
+ {
+ name: 'gapes',
+ for: 'gaping',
+ secondary: true,
+ },
+ {
+ name: 'gapes (gaping asshole)',
+ for: 'gaping',
+ },
+ {
+ name: 'glory hole',
+ for: 'gloryhole',
+ },
+ {
+ name: 'group sex',
+ for: 'orgy',
+ },
+ {
+ name: 'flagellation',
+ for: 'corporal-punishment',
+ },
+ {
+ name: 'huge tits',
+ for: 'big-boobs',
+ },
+ {
+ name: 'huge toys',
+ for: 'toys',
+ },
+ {
+ name: 'incest',
+ for: 'family',
+ secondary: true,
+ },
+ {
+ name: 'incest fantasy',
+ for: 'family',
+ },
+ {
+ name: 'innie',
+ for: 'innie-pussy',
+ },
+ {
+ name: 'lashing',
+ for: 'corporal-punishment',
+ },
+ {
+ name: 'lezdom',
+ for: 'lesbian',
+ },
+ {
+ name: 'mini-skirt',
+ for: 'miniskirt',
+ },
+ {
+ name: 'mmf',
+ for: 'mfm',
+ },
+ {
+ name: 'mature & milf',
+ for: 'milf',
+ },
+ {
+ name: 'natural',
+ for: 'natural-boobs',
+ },
+ {
+ name: 'natural tits',
+ for: 'natural-boobs',
+ },
+ {
+ name: 'oral',
+ for: 'blowjob',
+ },
+ {
+ name: 'outie',
+ for: 'outie-pussy',
+ },
+ {
+ name: 'piercing',
+ for: 'piercings',
+ },
+ {
+ name: 'pierced',
+ for: 'piercings',
+ },
+ {
+ name: 'prolapse',
+ for: 'anal-prolapse',
+ },
+ {
+ name: 'prolapsing',
+ for: 'anal-prolapse',
+ },
+ {
+ name: 'raven',
+ for: 'black-hair',
+ },
+ {
+ name: 'raven hair',
+ for: 'black-hair',
+ },
+ {
+ name: 'red hair',
+ for: 'redhead',
+ },
+ {
+ name: 'red head',
+ for: 'redhead',
+ },
+ {
+ name: 'redhead babes',
+ for: 'redhead',
+ },
+ {
+ name: 'rimming',
+ for: 'ass-eating',
+ secondary: true,
+ },
+ {
+ name: 'rimjob',
+ for: 'ass-eating',
+ secondary: true,
+ },
+ {
+ name: 'role play',
+ for: 'roleplay',
+ },
+ {
+ name: 'rope bondage',
+ for: 'bondage',
+ },
+ {
+ name: 'rough sex',
+ for: 'rough',
+ },
+ {
+ name: 'school girl',
+ for: 'schoolgirl',
+ },
+ {
+ name: 'sadomasochism',
+ for: 'bdsm',
+ },
+ {
+ name: 'sadism',
+ for: 'bdsm',
+ },
+ {
+ name: 'scissoring',
+ for: 'lesbian',
+ },
+ {
+ name: 'sex toys',
+ for: 'toys',
+ },
+ {
+ name: 'shaved pussy',
+ for: 'shaved',
+ },
+ {
+ name: 'shoes',
+ for: 'shoes-on',
+ },
+ {
+ name: 'slave',
+ for: 'bdsm',
+ },
+ {
+ name: 'small ass',
+ for: 'small-butt',
+ },
+ {
+ name: 'small tits',
+ for: 'small-boobs',
+ },
+ {
+ name: 'spit',
+ for: 'saliva',
+ },
+ {
+ name: 'spitroast',
+ for: 'mfm',
+ secondary: true,
+ },
+ {
+ name: 'sex toy',
+ for: 'toys',
+ },
+ {
+ name: 'standing doggystyle',
+ for: 'standing-doggy-style',
+ },
+ {
+ name: 'swallow',
+ for: 'swallowing',
+ },
+ {
+ name: 'strap-on',
+ for: 'strap-on-dildo',
+ },
+ {
+ name: 'strap on',
+ for: 'strap-on-dildo',
+ },
+ {
+ name: 'strap on dildo',
+ for: 'strap-on-dildo',
+ },
+ {
+ name: 'sub',
+ for: 'bdsm',
+ },
+ {
+ name: 'submission',
+ for: 'bdsm',
+ },
+ {
+ name: 'tattoos',
+ for: 'tattoo',
+ secondary: true,
+ },
+ {
+ name: 'teens',
+ for: 'teen',
+ },
+ {
+ name: 'throat fucking',
+ for: 'facefucking',
+ },
+ {
+ name: 'tiny boobs',
+ for: 'small-boobs',
+ },
+ {
+ name: 'tiny tits',
+ for: 'small-boobs',
+ },
+ {
+ name: 'tittyfuck',
+ for: 'titty-fuck',
+ secondary: true,
+ },
+ {
+ name: 'tp',
+ for: 'triple-penetration',
+ },
+ {
+ name: 'trans',
+ for: 'transsexual',
+ },
+ {
+ name: 'transgender',
+ for: 'transsexual',
+ secondary: true,
+ },
+ {
+ name: 'trimmed pussy',
+ for: 'trimmed',
+ },
+ {
+ name: 'ts',
+ for: 'transsexual',
+ },
+ {
+ name: 'vr',
+ for: 'virtual reality',
+ },
+ {
+ name: 'whipping',
+ for: 'corporal-punishment',
+ },
+ {
+ name: 'white',
+ for: 'caucasian',
+ },
+ {
+ name: 'work',
+ for: 'office',
+ },
+ {
+ name: 'workplace',
+ for: 'office',
+ },
+ {
+ name: 'zapper',
+ for: 'electric-shock',
+ },
];
exports.seed = knex => Promise.resolve()
- .then(async () => upsert('tags_groups', groups, 'slug', knex))
- .then(async () => {
- const groupEntries = await knex('tags_groups').select('*');
- const groupsMap = groupEntries.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {});
+ .then(async () => upsert('tags_groups', groups, 'slug', knex))
+ .then(async () => {
+ const groupEntries = await knex('tags_groups').select('*');
+ const groupsMap = groupEntries.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {});
- const tagsWithGroups = tags.map(tag => ({
- name: tag.name,
- slug: tag.slug || slugify(tag.name),
- description: tag.description,
- priority: tag.priority || 0,
- group_id: tag.group ? groupsMap[tag.group] : null,
- alias_for: null,
- }));
+ const tagsWithGroups = tags.map(tag => ({
+ name: tag.name,
+ slug: tag.slug || slugify(tag.name),
+ description: tag.description,
+ priority: tag.priority || 0,
+ group_id: tag.group ? groupsMap[tag.group] : null,
+ alias_for: null,
+ }));
- return upsert('tags', tagsWithGroups, 'slug');
- })
- .then(async () => {
- const tagEntries = await knex('tags').select('*').where({ alias_for: null });
- const tagsMap = tagEntries.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {});
+ return upsert('tags', tagsWithGroups, 'slug');
+ })
+ .then(async () => {
+ const tagEntries = await knex('tags').select('*').where({ alias_for: null });
+ const tagsMap = tagEntries.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {});
- const tagAliases = aliases.map(alias => ({
- name: alias.name,
- alias_for: tagsMap[alias.for],
- secondary: !!alias.secondary,
- }));
+ const tagAliases = aliases.map(alias => ({
+ name: alias.name,
+ alias_for: tagsMap[alias.for],
+ secondary: !!alias.secondary,
+ }));
- return upsert('tags', tagAliases, 'name');
- });
+ return upsert('tags', tagAliases, 'name');
+ });
diff --git a/seeds/04_media.js b/seeds/04_media.js
index c5eb17cc..694be2fc 100644
--- a/seeds/04_media.js
+++ b/seeds/04_media.js
@@ -42,6 +42,7 @@ const tagPosters = [
['mfm', 5, 'Vina Sky in "Slut Puppies 15" for Jules Jordan'],
['natural-boobs', 0, 'Autumn Falls in "Manuel Ferrara\'s Ripe 7" for Jules Jordan'],
['nurse', 0, 'Sarah Vandella in "Cum For Nurse Sarah" for Brazzers'],
+ ['oil', 0, 'Jada Stevens in "Jada Stevens Anal Ass Oiled Up For James Deen\'s Cock" for Jules Jordan'],
['orgy', 1, 'Megan Rain (DP), Morgan Lee (anal), Jessa Rhodes, Melissa Moore and Kimmy Granger in "Orgy Masters 8" for Jules Jordan'],
['pussy-eating', 0, 'Kali Roses licking Emily Willis\' pussy in "Peeping On My Neighbor" for Girl Girl'],
['redhead', 0, 'Penny Pax in "The Submission of Emma Marx: Boundaries" for New Sensations'],
@@ -110,6 +111,7 @@ const tagPhotos = [
['latina', 0, 'Abby Lee Brazil for Bang Bros'],
// ['mfm', 0, 'Vina Sky in "Jules Jordan\'s Three Ways" for Jules Jordan'],
['mfm', 1, 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel'],
+ ['oil', 1, 'Emily Willis in "Emily Willis Has A Squirting Anal Orgasm" for Jules Jordan'],
['orgy', 'poster', 'Zoey Mornoe (DP), Jillian Janson (sex), Frida Sante, Katerina Kay and Natasha Starr in "Orgy Masters 6" for Jules Jordan'],
['trainbang', 0, 'Nicole Black in GIO971 for LegalPorno'],
['triple-anal', 1, 'Natasha Teen in SZ2098 for LegalPorno'],
diff --git a/src/deep.js b/src/deep.js
index e50c5189..13f30345 100644
--- a/src/deep.js
+++ b/src/deep.js
@@ -130,6 +130,10 @@ async function scrapeRelease(baseRelease, sites, type = 'scene') {
site,
};
+ if (!mergedRelease.entryId) {
+ throw new Error('No entry ID supplied');
+ }
+
if (scrapedRelease && baseRelease?.tags) {
// accumulate all available tags
mergedRelease.tags = baseRelease.tags.concat(scrapedRelease.tags);
diff --git a/src/scrapers/julesjordan.js b/src/scrapers/julesjordan.js
index fde85ea3..90b66cf2 100644
--- a/src/scrapers/julesjordan.js
+++ b/src/scrapers/julesjordan.js
@@ -119,6 +119,7 @@ async function getPhotos(entryId, site, type = 'highres', page = 1) {
}
function getEntryId(html) {
+ // TODO: not working for https://www.julesjordan.com/members/scenes/jada-stevens-anal-ass-gets-oiled-up-for-james-deens-cock_vids.html
const entryId = html.match(/showtagform\((\d+)\)/);
if (entryId) {
@@ -128,7 +129,7 @@ function getEntryId(html) {
const setIdIndex = html.indexOf('setid:"');
if (setIdIndex) {
- return html.slice(setIdIndex, html.indexOf(',', setIdIndex)).match(/\d+/)[0];
+ return html.slice(setIdIndex, html.indexOf(',', setIdIndex)).match(/\d+/)?.[0];
}
return null;