module.exports = { title: 'traxxx', origin: 'http://localhost:5100', // only used for absolute links 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, forceSql: true, maxMatches: 2000, // high match count needed primarily for actor aggregations maxAggregateSize: 2000, // must be lower or equal to maxMatches maxQueryTime: 10000, }, timeout: 5000, 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, }, analytics: { enabled: false, address: 'http://localhost:3000/script.js', siteId: '1b28ac3b-d229-43bf-aec9-75cf0a72a466', }, restrictions: { enabled: false, modes: [ null, // easier for 0 to mean disabled 'block', // 1 'censor', // 2 ], regions: { // Europe DE: 1, // Germany FR: 1, // France GB: 1, // Great Britain / United Kingdom IT: 1, // Italy // Asia & Oceania AU: 1, // Australia CN: 1, // China // Americas US: { AL: 1, // Alabama AR: 1, // Arkansas AZ: 1, // Arizona FL: 1, // Florida GA: 1, // Georgia ID: 1, // Idaho IN: 1, // Indiana KS: 1, // Kansas KY: 1, // Kentucky LA: 1, // Louisiana MO: 1, // Missouri MS: 1, // Mississippi MT: 1, // Montana NC: 1, // North Carolina ND: 1, // North Dakota NE: 1, // Nebraska OH: 1, // Ohio OK: 1, // Oklahoma SC: 1, // South Carolina SD: 1, // South Dakota TN: 1, // Tennessee TX: 1, // Texas UT: 1, // Utah VA: 1, // Virginia WY: 1, // Wyoming }, // only Florida }, noVpn: [ 'AE', // United Arab Emirates 'BY', // Belarus 'CN', // China 'IQ', // Iraq 'IR', // Iran 'KP', // North Korea 'OM', // Oman 'RU', // Russia 'TM', // Turkmenistan 'TR', // Turkey ], censors: [ // additional to default filter 'ball', 'bisexual', 'blow', 'blowbang', 'condom', 'cowgirl', 'creampie', 'doggy', 'facial', 'finger', 'gay', 'hole', 'horny', 'lesbian', 'masturbation', 'milf', 'missionary', 'prolapse', 'nymph', 'sex', 'swallowing', 'squirt', 'sucking', 'threesome', 'trans', ], }, auth: { login: true, signup: true, usernameLength: [2, 24], usernamePattern: /^[a-zA-Z0-9_-]+$/, captcha: { enabled: false, siteKey: '10000000-ffff-ffff-ffff-000000000001', secretKey: '0x0000000000000000000000000000000000000000', }, }, bans: { defaultExpiry: 60 * 24 * 3, // in minutes, 3 days }, apiAccess: { graphqlEnabled: true, keySize: 24, // bytes keyLimit: 5, // max keys per user keyCooldown: 1, // minutes between key generation }, revisions: { unapprovedLimit: 3, }, psa: { text: 'Welcome to traxxx!', // html enabled type: 'notice', // notice, alert enabled: false, }, links: { content: 'mailto:content@traxxx.me', discord: 'https://discord.gg/gY6fnq6jJV', }, stashes: { nameLength: [2, 24], namePattern: /^[a-zA-Z0-9!?$&\s_-]+$/, viewRefreshCron: '* * * * *', // every minute viewRefreshCooldowns: { actors: 60, // minutes stashes: 1, }, }, media: { path: './media', assetPath: '', mediaPath: '/media', s3Path: 'https://s3.wasabisys.com', videoRestrictions: [], // entity slugs, _ prefix for networks, hides trailer and teaser videos }, };