Added Mile High Media scraper.
| After Width: | Height: | Size: 4.3 KiB | 
| After Width: | Height: | Size: 2.5 KiB | 
| After Width: | Height: | Size: 4.5 KiB | 
| After Width: | Height: | Size: 4.2 KiB | 
| After Width: | Height: | Size: 4.5 KiB | 
| After Width: | Height: | Size: 2.8 KiB | 
| After Width: | Height: | Size: 18 KiB | 
| After Width: | Height: | Size: 27 KiB | 
|  | @ -101,6 +101,12 @@ const networks = [ | ||||||
|         url: null, |         url: null, | ||||||
|         description: null, |         description: null, | ||||||
|     }, |     }, | ||||||
|  |     { | ||||||
|  |         slug: 'milehighmedia', | ||||||
|  |         name: 'Mile High Media', | ||||||
|  |         url: 'https://www.milehighmedia.com', | ||||||
|  |         description: 'MileHighMedia.com is the only niche porn network you need! Watch lesbian sex, hardcore fucking and family porn stories with the hottest teens & MILFs!', | ||||||
|  |     }, | ||||||
|     { |     { | ||||||
|         slug: 'mofos', |         slug: 'mofos', | ||||||
|         name: 'MOFOS', |         name: 'MOFOS', | ||||||
|  |  | ||||||
|  | @ -1630,6 +1630,41 @@ function getSites(networksMap) { | ||||||
|             description: 'Swallowed is a Premium adult website for the hottest Blowjobs content online with only the most popular pornstars swallowing cock!', |             description: 'Swallowed is a Premium adult website for the hottest Blowjobs content online with only the most popular pornstars swallowing cock!', | ||||||
|             network_id: networksMap.mikeadriano, |             network_id: networksMap.mikeadriano, | ||||||
|         }, |         }, | ||||||
|  |         // MILE HIGH MEDIA
 | ||||||
|  |         { | ||||||
|  |             slug: 'doghousedigital', | ||||||
|  |             name: 'Doghouse Digital', | ||||||
|  |             url: 'https://www.doghousedigital.com', | ||||||
|  |             parameters: JSON.stringify({ siteId: 321 }), | ||||||
|  |             network_id: networksMap.milehighmedia, | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             slug: 'milehighmedia', | ||||||
|  |             name: 'Mile High Media', | ||||||
|  |             url: 'https://www.milehighmedia.com/scenes?site=323', | ||||||
|  |             network_id: networksMap.milehighmedia, | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             slug: 'realityjunkies', | ||||||
|  |             name: 'Reality Junkies', | ||||||
|  |             url: 'https://www.realityjunkies.com', | ||||||
|  |             parameters: JSON.stringify({ siteId: 324 }), | ||||||
|  |             network_id: networksMap.milehighmedia, | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             slug: 'sweetheartvideo', | ||||||
|  |             name: 'Sweetheart Video', | ||||||
|  |             url: 'https://www.sweetheartvideo.com', | ||||||
|  |             parameters: JSON.stringify({ siteId: 325 }), | ||||||
|  |             network_id: networksMap.milehighmedia, | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             slug: 'sweetsinner', | ||||||
|  |             name: 'Sweet Sinner', | ||||||
|  |             url: 'https://www.sweetsinner.com', | ||||||
|  |             parameters: JSON.stringify({ siteId: 326 }), | ||||||
|  |             network_id: networksMap.milehighmedia, | ||||||
|  |         }, | ||||||
|         // MOFOS
 |         // MOFOS
 | ||||||
|         { |         { | ||||||
|             slug: 'girlsgonepink', |             slug: 'girlsgonepink', | ||||||
|  |  | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | 'use strict'; | ||||||
|  | 
 | ||||||
|  | const { fetchScene, fetchLatest } = require('./mindgeek'); | ||||||
|  | 
 | ||||||
|  | module.exports = { | ||||||
|  |     fetchLatest, | ||||||
|  |     fetchScene, | ||||||
|  | }; | ||||||
|  | @ -13,6 +13,7 @@ const fakehub = require('./fakehub'); | ||||||
| const jayrock = require('./jayrock'); | const jayrock = require('./jayrock'); | ||||||
| const kink = require('./kink'); | const kink = require('./kink'); | ||||||
| const mikeadriano = require('./mikeadriano'); | const mikeadriano = require('./mikeadriano'); | ||||||
|  | const milehighmedia = require('./milehighmedia'); | ||||||
| const mofos = require('./mofos'); | const mofos = require('./mofos'); | ||||||
| const perfectgonzo = require('./perfectgonzo'); | const perfectgonzo = require('./perfectgonzo'); | ||||||
| const pervcity = require('./pervcity'); | const pervcity = require('./pervcity'); | ||||||
|  | @ -56,6 +57,7 @@ module.exports = { | ||||||
|         kink, |         kink, | ||||||
|         legalporno, |         legalporno, | ||||||
|         mikeadriano, |         mikeadriano, | ||||||
|  |         milehighmedia, | ||||||
|         mofos, |         mofos, | ||||||
|         perfectgonzo, |         perfectgonzo, | ||||||
|         pervcity, |         pervcity, | ||||||
|  |  | ||||||
|  | @ -80,7 +80,7 @@ const funcs = { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| function ctx(element) { | function ctx(element) { | ||||||
|     const contextFuncs = Object.entries(funcs) |     const contextFuncs = Object.entries(funcs) // dynamically attach methods with context
 | ||||||
|         .reduce((acc, [key, func]) => ({ ...acc, [key]: (...args) => func(element, ...args) }), {}); |         .reduce((acc, [key, func]) => ({ ...acc, [key]: (...args) => func(element, ...args) }), {}); | ||||||
| 
 | 
 | ||||||
|     return { |     return { | ||||||
|  |  | ||||||