PREVIEWS_DIR: buildPath(config.get<string>('storage.previews')),
CAPTIONS_DIR: buildPath(config.get<string>('storage.captions')),
TORRENTS_DIR: buildPath(config.get<string>('storage.torrents')),
PREVIEWS_DIR: buildPath(config.get<string>('storage.previews')),
CAPTIONS_DIR: buildPath(config.get<string>('storage.captions')),
TORRENTS_DIR: buildPath(config.get<string>('storage.torrents')),
+ API: {
+ WINDOW_MS: parseDurationToMs(config.get<string>('rates_limit.api.window')),
+ MAX: config.get<number>('rates_limit.api.max')
+ },
+ SIGNUP: {
+ WINDOW_MS: parseDurationToMs(config.get<string>('rates_limit.signup.window')),
+ MAX: config.get<number>('rates_limit.signup.max')
+ },
LOGIN: {
WINDOW_MS: parseDurationToMs(config.get<string>('rates_limit.login.window')),
MAX: config.get<number>('rates_limit.login.max')
LOGIN: {
WINDOW_MS: parseDurationToMs(config.get<string>('rates_limit.login.window')),
MAX: config.get<number>('rates_limit.login.max')
+ PLUGINS: {
+ INDEX: {
+ ENABLED: config.get<boolean>('plugins.index.enabled'),
+ CHECK_LATEST_VERSIONS_INTERVAL: parseDurationToMs(config.get<string>('plugins.index.check_latest_versions_interval')),
+ URL: config.get<string>('plugins.index.url')
+ }
+ },
TRANSCODING: {
get ENABLED () { return config.get<boolean>('transcoding.enabled') },
get ALLOW_ADDITIONAL_EXTENSIONS () { return config.get<boolean>('transcoding.allow_additional_extensions') },
TRANSCODING: {
get ENABLED () { return config.get<boolean>('transcoding.enabled') },
get ALLOW_ADDITIONAL_EXTENSIONS () { return config.get<boolean>('transcoding.allow_additional_extensions') },
get THREADS () { return config.get<number>('transcoding.threads') },
RESOLUTIONS: {
get '240p' () { return config.get<boolean>('transcoding.resolutions.240p') },
get '360p' () { return config.get<boolean>('transcoding.resolutions.360p') },
get '480p' () { return config.get<boolean>('transcoding.resolutions.480p') },
get '720p' () { return config.get<boolean>('transcoding.resolutions.720p') },
get THREADS () { return config.get<number>('transcoding.threads') },
RESOLUTIONS: {
get '240p' () { return config.get<boolean>('transcoding.resolutions.240p') },
get '360p' () { return config.get<boolean>('transcoding.resolutions.360p') },
get '480p' () { return config.get<boolean>('transcoding.resolutions.480p') },
get '720p' () { return config.get<boolean>('transcoding.resolutions.720p') },
get ENABLED () { return config.get<boolean>('followers.instance.enabled') },
get MANUAL_APPROVAL () { return config.get<boolean>('followers.instance.manual_approval') }
}
get ENABLED () { return config.get<boolean>('followers.instance.enabled') },
get MANUAL_APPROVAL () { return config.get<boolean>('followers.instance.manual_approval') }
}
+ },
+ FOLLOWINGS: {
+ INSTANCE: {
+ AUTO_FOLLOW_BACK: {
+ get ENABLED () {
+ return config.get<boolean>('followings.instance.auto_follow_back.enabled')
+ }
+ },
+ AUTO_FOLLOW_INDEX: {
+ get ENABLED () {
+ return config.get<boolean>('followings.instance.auto_follow_index.enabled')
+ },
+ get INDEX_URL () {
+ return config.get<string>('followings.instance.auto_follow_index.index_url')
+ }
+ }
+ }
+ },
+ THEME: {
+ get DEFAULT () { return config.get<string>('theme.default') }