X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconstants.ts;h=032f63c8f7bc5b64f760e2925f6acf6ec163edec;hb=93905586ee198d4ac0a0fd5141a9fcbb10a94652;hp=be4a664889b9f7bcf2937d2c75349e08b6133fb8;hpb=5faed166535b34bde56bda7c123654cf655a0541;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index be4a66488..032f63c8f 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 = 470 // --------------------------------------------------------------------------- @@ -22,9 +22,16 @@ const API_VERSION = 'v1' const PEERTUBE_VERSION = require(join(root(), 'package.json')).version const PAGINATION = { - COUNT: { - DEFAULT: 15, - MAX: 100 + GLOBAL: { + COUNT: { + DEFAULT: 15, + MAX: 100 + } + }, + OUTBOX: { + COUNT: { + MAX: 50 + } } } @@ -46,11 +53,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' ], @@ -128,7 +135,7 @@ const JOB_CONCURRENCY: { [id in (JobType | 'video-file')]: number } = { 'activitypub-http-broadcast': 1, 'activitypub-http-unicast': 5, 'activitypub-http-fetcher': 1, - 'activitypub-follow': 3, + 'activitypub-follow': 1, 'video-file-import': 1, 'video-transcoding': 1, 'video-file': 1, @@ -291,6 +298,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 +363,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 +421,8 @@ const MIMETYPES = { VIDEO_CAPTIONS: { MIMETYPE_EXT: { 'text/vtt': '.vtt', - 'application/x-subrip': '.srt' + 'application/x-subrip': '.srt', + 'text/plain': '.srt' } }, TORRENT: { @@ -430,6 +442,10 @@ const OVERVIEWS = { } } +const VIDEO_CHANNELS = { + MAX_PER_USER: 20 +} + // --------------------------------------------------------------------------- const SERVER_ACTOR_NAME = 'peertube' @@ -458,13 +474,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 +493,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 +520,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 +579,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 +600,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 +619,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 +702,7 @@ export { BCRYPT_SALT_SIZE, TRACKER_RATE_LIMITS, FILES_CACHE, + LOG_FILENAME, CONSTRAINTS_FIELDS, EMBED_SIZE, REDUNDANCY, @@ -684,6 +712,7 @@ export { OAUTH_LIFETIME, CUSTOM_HTML_TAG_COMMENTS, BROADCAST_CONCURRENCY, + AUDIT_LOG_FILENAME, PAGINATION, ACTOR_FOLLOW_SCORE, PREVIEWS_SIZE, @@ -711,6 +740,7 @@ export { ACTIVITY_PUB_ACTOR_TYPES, THUMBNAILS_SIZE, VIDEO_CATEGORIES, + MEMOIZE_LENGTH, VIDEO_LANGUAGES, VIDEO_PRIVACIES, VIDEO_LICENCES, @@ -720,6 +750,7 @@ export { VIDEO_TRANSCODING_FPS, FFMPEG_NICE, VIDEO_ABUSE_STATES, + VIDEO_CHANNELS, LRU_CACHE, JOB_REQUEST_TIMEOUT, USER_PASSWORD_RESET_LIFETIME, @@ -760,7 +791,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' }) }