X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconstants.ts;h=f4a2b358b4f048e1da746ae44fa9c920509c104c;hb=ddc07312b041c1c533b68a919681fc9bce83430d;hp=be4a664889b9f7bcf2937d2c75349e08b6133fb8;hpb=8c559fad1e1c4c2ab7f1388c73200aa4c6256d74;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index be4a66488..f4a2b358b 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -14,7 +14,7 @@ import { CONFIG, registerConfigChangedHandler } from './config' // --------------------------------------------------------------------------- -const LAST_MIGRATION_VERSION = 435 +const LAST_MIGRATION_VERSION = 465 // --------------------------------------------------------------------------- @@ -46,11 +46,11 @@ const SORTABLE_COLUMNS = { VIDEO_ABUSES: [ 'id', 'createdAt', 'state' ], VIDEO_CHANNELS: [ 'id', 'name', 'updatedAt', 'createdAt' ], VIDEO_IMPORTS: [ 'createdAt' ], - VIDEO_COMMENT_THREADS: [ 'createdAt' ], + VIDEO_COMMENT_THREADS: [ 'createdAt', 'totalReplies' ], VIDEO_RATES: [ 'createdAt' ], BLACKLISTS: [ 'id', 'name', 'duration', 'views', 'likes', 'dislikes', 'uuid', 'createdAt' ], - FOLLOWERS: [ 'createdAt' ], - FOLLOWING: [ 'createdAt' ], + FOLLOWERS: [ 'createdAt', 'state', 'score' ], + FOLLOWING: [ 'createdAt', 'redundancyAllowed', 'state' ], VIDEOS: [ 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes', 'trending' ], @@ -291,6 +291,9 @@ const CONSTRAINTS_FIELDS = { PLUGINS: { NAME: { min: 1, max: 214 }, // Length DESCRIPTION: { min: 1, max: 20000 } // Length + }, + COMMONS: { + URL: { min: 5, max: 2000 } // Length } } @@ -353,7 +356,8 @@ let VIDEO_LANGUAGES: { [id: string]: string } = {} const VIDEO_PRIVACIES = { [ VideoPrivacy.PUBLIC ]: 'Public', [ VideoPrivacy.UNLISTED ]: 'Unlisted', - [ VideoPrivacy.PRIVATE ]: 'Private' + [ VideoPrivacy.PRIVATE ]: 'Private', + [ VideoPrivacy.INTERNAL ]: 'Internal' } const VIDEO_STATES = { @@ -410,7 +414,8 @@ const MIMETYPES = { VIDEO_CAPTIONS: { MIMETYPE_EXT: { 'text/vtt': '.vtt', - 'application/x-subrip': '.srt' + 'application/x-subrip': '.srt', + 'text/plain': '.srt' } }, TORRENT: { @@ -430,6 +435,10 @@ const OVERVIEWS = { } } +const VIDEO_CHANNELS = { + MAX_PER_USER: 20 +} + // --------------------------------------------------------------------------- const SERVER_ACTOR_NAME = 'peertube' @@ -458,13 +467,16 @@ const ACTIVITY_PUB = { const ACTIVITY_PUB_ACTOR_TYPES: { [ id: string ]: ActivityPubActorType } = { GROUP: 'Group', PERSON: 'Person', - APPLICATION: 'Application' + APPLICATION: 'Application', + ORGANIZATION: 'Organization', + SERVICE: 'Service' } const HTTP_SIGNATURE = { HEADER_NAME: 'signature', ALGORITHM: 'rsa-sha256', - HEADERS_TO_SIGN: [ '(request-target)', 'host', 'date', 'digest' ] + HEADERS_TO_SIGN: [ '(request-target)', 'host', 'date', 'digest' ], + CLOCK_SKEW_SECONDS: 1800 } // --------------------------------------------------------------------------- @@ -474,7 +486,7 @@ let PRIVATE_RSA_KEY_SIZE = 2048 // Password encryption const BCRYPT_SALT_SIZE = 10 -const USER_PASSWORD_RESET_LIFETIME = 60000 * 5 // 5 minutes +const USER_PASSWORD_RESET_LIFETIME = 60000 * 60 // 60 minutes const USER_EMAIL_VERIFY_LIFETIME = 60000 * 60 // 60 minutes @@ -501,7 +513,8 @@ const STATIC_PATHS = { } const STATIC_DOWNLOAD_PATHS = { TORRENTS: '/download/torrents/', - VIDEOS: '/download/videos/' + VIDEOS: '/download/videos/', + HLS_VIDEOS: '/download/streaming-playlists/hls/videos/' } const LAZY_STATIC_PATHS = { AVATARS: '/lazy-static/avatars/', @@ -559,7 +572,12 @@ const HLS_STREAMING_PLAYLIST_DIRECTORY = join(CONFIG.STORAGE.STREAMING_PLAYLISTS const HLS_REDUNDANCY_DIRECTORY = join(CONFIG.STORAGE.REDUNDANCY_DIR, 'hls') const MEMOIZE_TTL = { - OVERVIEWS_SAMPLE: 1000 * 3600 * 4 // 4 hours + OVERVIEWS_SAMPLE: 1000 * 3600 * 4, // 4 hours + INFO_HASH_EXISTS: 1000 * 3600 * 12 // 12 hours +} + +const MEMOIZE_LENGTH = { + INFO_HASH_EXISTS: 200 } const QUEUE_CONCURRENCY = { @@ -575,7 +593,7 @@ const REDUNDANCY = { const ACCEPT_HEADERS = [ 'html', 'application/json' ].concat(ACTIVITY_PUB.POTENTIAL_ACCEPT_HEADERS) const ASSETS_PATH = { - DEFAULT_AUDIO_BACKGROUND: join(root(), 'server', 'assets', 'default-audio-background.jpg') + DEFAULT_AUDIO_BACKGROUND: join(root(), 'dist', 'server', 'assets', 'default-audio-background.jpg') } // --------------------------------------------------------------------------- @@ -594,6 +612,8 @@ const FEEDS = { } const MAX_LOGS_OUTPUT_CHARACTERS = 10 * 1000 * 1000 +const LOG_FILENAME = 'peertube.log' +const AUDIT_LOG_FILENAME = 'peertube-audit.log' // --------------------------------------------------------------------------- @@ -675,6 +695,7 @@ export { BCRYPT_SALT_SIZE, TRACKER_RATE_LIMITS, FILES_CACHE, + LOG_FILENAME, CONSTRAINTS_FIELDS, EMBED_SIZE, REDUNDANCY, @@ -684,6 +705,7 @@ export { OAUTH_LIFETIME, CUSTOM_HTML_TAG_COMMENTS, BROADCAST_CONCURRENCY, + AUDIT_LOG_FILENAME, PAGINATION, ACTOR_FOLLOW_SCORE, PREVIEWS_SIZE, @@ -711,6 +733,7 @@ export { ACTIVITY_PUB_ACTOR_TYPES, THUMBNAILS_SIZE, VIDEO_CATEGORIES, + MEMOIZE_LENGTH, VIDEO_LANGUAGES, VIDEO_PRIVACIES, VIDEO_LICENCES, @@ -720,6 +743,7 @@ export { VIDEO_TRANSCODING_FPS, FFMPEG_NICE, VIDEO_ABUSE_STATES, + VIDEO_CHANNELS, LRU_CACHE, JOB_REQUEST_TIMEOUT, USER_PASSWORD_RESET_LIFETIME, @@ -760,7 +784,9 @@ function buildVideoMimetypeExt () { 'video/x-flv': '.flv', 'video/x-matroska': '.mkv', 'application/octet-stream': '.mkv', - 'video/avi': '.avi' + 'video/avi': '.avi', + 'video/x-m4v': '.m4v', + 'video/m4v': '.m4v' }) }