module.exports = { database: { owner: { host: '127.0.0.1', user: 'traxxx', password: 'password', database: 'traxxx', }, query: { host: '127.0.0.1', user: 'visitor', password: 'password', database: 'traxxx', }, manticore: { host: '127.0.0.1', sqlPort: 9306, httpPort: 9308, }, timeout: 5000, graphiql: false, pool: { min: 0, max: 20, acquireTimeoutMillis: 300000, createTimeoutMillis: 300000, destroyTimeoutMillis: 300000, }, }, web: { host: '0.0.0.0', port: 5000, sfwHost: '0.0.0.0', sfwPort: 5001, session: { secret: '12345678abcdefghij', resave: false, saveUninitialized: false, cookie: { secure: true, maxAge: 2629800000, // 1 month }, }, }, redis: { host: 'localhost', port: 6379, username: null, password: null, }, location: { userAgent: 'contact via https://traxxx.me/', }, analytics: { enabled: false, address: 'http://localhost:3000/script.js', siteId: '1b28ac3b-d229-43bf-aec9-75cf0a72a466', }, s3: { enabled: false, bucket: 'traxxx', accessKey: 'ABCDEFGHIJ1234567890', secretKey: 'abcdefghijklmnopqrstuvwxyz1234567890ABCD', }, auth: { login: true, signup: true, usernameLength: [2, 24], usernamePattern: /^[a-zA-Z0-9_-]+$/, }, stashes: { viewRefreshCooldown: 60, // minutes }, exclude: { channels: [ // 21sextreme, no longer updated 'mightymistress', 'dominatedgirls', 'homepornreality', 'peeandblow', 'cummingmatures', 'mandyiskinky', 'speculumplays', 'creampiereality', // aziani 'amberathome', 'marycarey', 'racqueldevonshire', 'aziani', // blowpass 'sunlustxxx', // ddfnetwork 'fuckinhd', 'bustylover', // famedigital 'daringsex', 'lowartfilms', // freeones 'freeones', // new sesations 'tabutales', 'talesfromtheedge', 'shanedieselsbangingbabes', // pornpros 'milfhumiliation', 'humiliated', 'amateurviolations', 'cumdisgrace', 'webcamhackers', 'collegeteens', // score 'bigboobbundle', 'milfbundle', 'pornmegaload', 'scorelandtv', 'scoretv', // spizoo 'intimatelesbians', 'porngoespro', 'pornstartease', 'thestripperexperience', // teenscoreclub 'maiko', 'ncuksinners', 'ncversocinema', 'pussybabes', 'uksinners', // mindgeek 'pornhub', // insex 'paintoy', 'aganmedon', 'sensualpain', ], networks: [ // dummy network for testing 'traxxx', // porn doe 'forbondage', 'score', // porn world 'pornworld', // porncz 'porncz', ], }, include: { channels: ['pornworld'], // only include new Porn World website, not old redirected DDF sites }, profiles: [ [ 'evilangel', 'famedigital', 'devilsfilm', 'roccosiffredi', ], [ // Gamma; Evil Angel + Devil's Film, Pure Taboo (unavailable), (sometimes) Burning Angel and Wicked have their own assets 'xempire', 'blowpass', ], [ // MindGeek; Mile High Media has its own assets 'brazzers', 'realitykings', 'mofos', 'digitalplayground', 'twistys', 'babes', 'fakehub', 'sexyhub', 'metrohd', 'iconmale', 'men', 'transangels', ], 'wicked', 'burningangel', 'milehighmedia', [ 'vixen', 'tushy', 'blacked', 'tushyraw', 'blackedraw', 'deeper', ], [ // Nubiles 'nubiles', 'nubilesporn', 'deeplush', 'brattysis', 'nfbusty', 'anilos', 'hotcrazymess', 'thatsitcomshow', ], '21sextury', 'adultempire', 'julesjordan', 'dorcelclub', 'bang', 'pervcity', 'kink', 'peternorth', 'naughtyamerica', 'cherrypimps', 'pimpxxx', '18vr', 'babevr', 'badoinkvr', 'realvr', 'vrcosplayx', 'teamskeet', 'mylf', [ 'letsdoeit', 'mamacitaz', 'forbondage', 'amateureuro', 'vipsexvault', 'transbella', ], [ 'hussiepass', 'hushpass', 'interracialpass', 'interracialpovs', 'povpornstars', 'seehimfuck', 'eyeontheguy', ], [ // Full Porn Network 'analized', 'hergape', 'jamesdeen', 'dtfsluts', 'analbbc', 'analviolation', 'baddaddypov', 'girlfaction', 'homemadeanalwhores', 'mugfucked', 'onlyprince', 'pervertgallery', 'povperverts', ], 'wankzvr', 'milfvr', 'tranzvr', 'topwebmodels', 'pascalssubsluts', 'kellymadison', 'private', 'bangbros', 'hitzefrei', 'porncz', 'czechav', 'angelogodshackoriginal', 'littlecapricedreams', 'missyx', 'gangbangcreampie', 'gloryholesecrets', 'aziani', [ 'firstanalquest', 'doubleviewcasting', ], [ 'silverstonedvd', 'silviasaint', ], [ 'analvids', 'pornworld', ], 'pierrewoodman', 'score', 'boobpedia', 'pornhub', 'freeones', ], options: { traxxx: { // source: 'http://nsfw.unknown.name/random', }, }, proxy: { enable: false, host: '', port: 8888, hostnames: [ 'www.vixen.com', 'www.blacked.com', 'www.blackedraw.com', 'www.tushy.com', 'www.tushyraw.com', 'www.deeper.com', 'www.slayed.com', 'www.milfy.com', 'sthw-trailer-vixen.ssl-cdn.com', 'sthw-trailer-tushy.ssl-cdn.com', 'sthw-trailer-tushyraw.ssl-cdn.com', 'sthw-trailer-blacked.ssl-cdn.com', 'sthw-trailer-blackedraw.ssl-cdn.com', 'sthw-trailer-deeper.ssl-cdn.com', 'sthw-trailer-milfy.ssl-cdn.com', 'streamhw-trailer-vixen.ssl-cdn.com', 'streamhw-trailer-tushy.ssl-cdn.com', 'streamhw-trailer-tushyraw.ssl-cdn.com', 'streamhw-trailer-blacked.ssl-cdn.com', 'streamhw-trailer-blackedraw.ssl-cdn.com', 'streamhw-trailer-deeper.ssl-cdn.com', 'streamhw-trailer-milfy.ssl-cdn.com', 'cdn.vixen.com', 'cdn.tushy.com', 'cdn.blacked.com', 'cdn.deeper.com', 'cdn.blackedraw.com', 'cdn.tushyraw.com', 'cdn.slayed.com', 'cdn.milfy.com', 'www.vogov.com', 'www.vogov.com', 'www.nubiles.net', 'www.brattysis.com', 'www.deeplush.com', 'www.detentiongirls.com', 'www.daddyslilangel.com', 'www.myfamilypies.com', 'www.bountyhunterporn.com', 'www.anilos.com', 'www.thatsitcomshow.com', 'www.nubileset.com', 'www.nubilesunscripted.com', 'www.nubilefilms.com', 'www.badteenspunished.com', 'www.cumlouder.com', 'im0.imgcm.com', ], }, bypass: { browser: { enable: false, hostnames: [ // these can run in the same browser session 'www.kink.com', 'store2.psmcdn.net', // Team Skeet API ], }, cloudflare: { enable: false, auto: true, // try bypass when CF challenge is detected path: 'http://localhost:8191/v1', sharedHostnames: [ // these can run in the same browser session 'store2.psmcdn.net', // Team Skeet API ], independentHostnames: [], // these must run in their own browser session }, }, limits: { default: { interval: 50, concurrency: 20, }, 'www.deeper.com': { enable: false, // can be omitted to enable interval: 1000, concurrency: 1, }, 'westcoastproductions.com': { interval: 100, concurrency: 1, }, 'images.mylfcdn.net': { interval: 50, concurrency: 1, }, }, fetchAfter: [1, 'week'], missingDateLimit: 3, memorySampling: { enabled: false, sampleDuration: 300000, // 5 minutes snapshotIntervals: [], }, media: { path: './media', transferSources: { local: 'http://localhost:5000/media', s3: 'https://cdn.traxxx.me', }, maxSize: 1000, quality: 80, thumbnailSize: 320, // width for 16:9 will be exactly 576px thumbnailQuality: 100, lazySize: 90, lazyQuality: 90, trailerQuality: [540, 720, 480, 360, 960, 1080, 320, 1440, 1600, 1920, 2160, 270, 240, 180], limit: 25, // max number of photos per release attempts: 2, fetchStreams: true, streamConcurrency: 2, // max number of video streams (m3u8 etc.) to fetch and process at once }, titleSlugLength: 50, };