Files
traxxx-web/config/default.cjs

195 lines
3.8 KiB
JavaScript
Executable File

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
},
};