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',
		],
	},
	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',
		],
		[
			// Adult DVD Empire
			'elegantangel',
			'westcoastproductions',
		],
		'21sextury',
		'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',
		'ddfnetwork',
		'bangbros',
		'hitzefrei',
		'porncz',
		'czechav',
		'littlecapricedreams',
		'gangbangcreampie',
		'gloryholesecrets',
		'aziani',
		[
			'firstanalquest',
			'doubleviewcasting',
		],
		[
			'silverstonedvd',
			'silviasaint',
		],
		'legalporno',
		'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,
};