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: [ // aylo 'pornhub', 'spicevids', // 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', // insex 'paintoy', 'aganmedon', 'sensualpain', // porn world '1byday', 'bustylover', 'ddfbusty', 'ddfnetworkvr', 'eurogirlsongirls', 'euroteenerotica', 'fuckinhd', 'handsonhardcore', 'hotlegsandfeet', 'houseoftaboo', 'onlyblowjob', // letsdoeit 'xchimera', 'scamangels', 'bitchesabroad', 'pornoacademie', 'bumsbus', 'kinkyinlaws', // killergram, no longer available on new Aylo site 'analrehab', 'bitchfunkers', 'bootypackers', 'brownsugar', 'burlesquexxx', 'chainsmokers', 'clubbabes', 'collegebabes', 'creammycunt', 'cumpartysluts', 'doggingmissions', 'fetishsexclinic', 'getshafted', 'girlyriders', 'gloryholegirls', 'hardfisex', 'killergramcuts', 'killergramplatinum', 'kinkycouples', 'letsgetslippy', 'nyloncumsluts', 'officeantics', 'pornostatic', 'pornstarsutd', 'rockchicks', 'ru4hire', 'spacehoppers', 'streetwalkers', 'tattooedsluts', 'thehandyman', 'theladypimp', 'voyeurcams', 'wifesluts', 'wishescumtrue', ], networks: [ // dummy network for testing 'traxxx', // porn doe 'forbondage', 'score', // porncz 'porncz', ], }, 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', 'dogfartnetwork', 'adultempire', 'julesjordan', 'dorcelclub', 'bang', 'pervcity', 'kink', 'peternorth', 'naughtyamerica', 'cherrypimps', 'pimpxxx', '18vr', 'babevr', 'badoinkvr', 'realvr', 'vrcosplayx', 'teamskeet', 'mylf', 'spermmania', [ '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', '5kporn', '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: [], }, 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, }, browser: { interval: 20, concurrency: 5, }, media: { interval: 50, concurrency: 20, }, }, apiKeys: { kellyCash: null, fiveKCash: null, }, fetchAfter: [1, 'week'], missingDateLimit: 3, upcomingMissingDateLimit: 20, 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, 960, 480, 1080, 360, 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 flushOrphaned: true, flushWindow: 1000, }, titleSlugLength: 50, };