From 3545e72c686ff1725bbdfd8d16d693e2f4aa75a3 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 12 Oct 2022 16:09:02 +0200 Subject: Put private videos under a specific subdirectory --- server/initializers/constants.ts | 37 ++++++++++++++++++++++++++++++------- server/initializers/installer.ts | 10 ++++++---- 2 files changed, 36 insertions(+), 11 deletions(-) (limited to 'server/initializers') diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index cab61948a..88bdd07fe 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -662,10 +662,15 @@ const NSFW_POLICY_TYPES: { [ id: string ]: NSFWPolicyType } = { // Express static paths (router) const STATIC_PATHS = { THUMBNAILS: '/static/thumbnails/', + WEBSEED: '/static/webseed/', + PRIVATE_WEBSEED: '/static/webseed/private/', + REDUNDANCY: '/static/redundancy/', + STREAMING_PLAYLISTS: { - HLS: '/static/streaming-playlists/hls' + HLS: '/static/streaming-playlists/hls', + PRIVATE_HLS: '/static/streaming-playlists/hls/private/' } } const STATIC_DOWNLOAD_PATHS = { @@ -745,12 +750,32 @@ const LRU_CACHE = { }, ACTOR_IMAGE_STATIC: { MAX_SIZE: 500 + }, + STATIC_VIDEO_FILES_RIGHTS_CHECK: { + MAX_SIZE: 5000, + TTL: parseDurationToMs('10 seconds') + }, + VIDEO_TOKENS: { + MAX_SIZE: 100_000, + TTL: parseDurationToMs('8 hours') } } -const RESUMABLE_UPLOAD_DIRECTORY = join(CONFIG.STORAGE.TMP_DIR, 'resumable-uploads') -const HLS_STREAMING_PLAYLIST_DIRECTORY = join(CONFIG.STORAGE.STREAMING_PLAYLISTS_DIR, 'hls') -const HLS_REDUNDANCY_DIRECTORY = join(CONFIG.STORAGE.REDUNDANCY_DIR, 'hls') +const DIRECTORIES = { + RESUMABLE_UPLOAD: join(CONFIG.STORAGE.TMP_DIR, 'resumable-uploads'), + + HLS_STREAMING_PLAYLIST: { + PUBLIC: join(CONFIG.STORAGE.STREAMING_PLAYLISTS_DIR, 'hls'), + PRIVATE: join(CONFIG.STORAGE.STREAMING_PLAYLISTS_DIR, 'hls', 'private') + }, + + VIDEOS: { + PUBLIC: CONFIG.STORAGE.VIDEOS_DIR, + PRIVATE: join(CONFIG.STORAGE.VIDEOS_DIR, 'private') + }, + + HLS_REDUNDANCY: join(CONFIG.STORAGE.REDUNDANCY_DIR, 'hls') +} const RESUMABLE_UPLOAD_SESSION_LIFETIME = SCHEDULER_INTERVALS_MS.REMOVE_DANGLING_RESUMABLE_UPLOADS @@ -971,9 +996,8 @@ export { PEERTUBE_VERSION, LAZY_STATIC_PATHS, SEARCH_INDEX, - RESUMABLE_UPLOAD_DIRECTORY, + DIRECTORIES, RESUMABLE_UPLOAD_SESSION_LIFETIME, - HLS_REDUNDANCY_DIRECTORY, P2P_MEDIA_LOADER_PEER_VERSION, ACTOR_IMAGES_SIZE, ACCEPT_HEADERS, @@ -1007,7 +1031,6 @@ export { VIDEO_FILTERS, ROUTE_CACHE_LIFETIME, SORTABLE_COLUMNS, - HLS_STREAMING_PLAYLIST_DIRECTORY, JOB_TTL, DEFAULT_THEME_NAME, NSFW_POLICY_TYPES, diff --git a/server/initializers/installer.ts b/server/initializers/installer.ts index b02be9567..f5d8eedf1 100644 --- a/server/initializers/installer.ts +++ b/server/initializers/installer.ts @@ -10,7 +10,7 @@ import { ApplicationModel } from '../models/application/application' import { OAuthClientModel } from '../models/oauth/oauth-client' import { applicationExist, clientsExist, usersExist } from './checker-after-init' import { CONFIG } from './config' -import { FILES_CACHE, HLS_STREAMING_PLAYLIST_DIRECTORY, LAST_MIGRATION_VERSION, RESUMABLE_UPLOAD_DIRECTORY } from './constants' +import { DIRECTORIES, FILES_CACHE, LAST_MIGRATION_VERSION } from './constants' import { sequelizeTypescript } from './database' async function installApplication () { @@ -92,11 +92,13 @@ function createDirectoriesIfNotExist () { tasks.push(ensureDir(dir)) } - // Playlist directories - tasks.push(ensureDir(HLS_STREAMING_PLAYLIST_DIRECTORY)) + tasks.push(ensureDir(DIRECTORIES.HLS_STREAMING_PLAYLIST.PRIVATE)) + tasks.push(ensureDir(DIRECTORIES.HLS_STREAMING_PLAYLIST.PUBLIC)) + tasks.push(ensureDir(DIRECTORIES.VIDEOS.PUBLIC)) + tasks.push(ensureDir(DIRECTORIES.VIDEOS.PRIVATE)) // Resumable upload directory - tasks.push(ensureDir(RESUMABLE_UPLOAD_DIRECTORY)) + tasks.push(ensureDir(DIRECTORIES.RESUMABLE_UPLOAD)) return Promise.all(tasks) } -- cgit v1.2.3