app.set('trust proxy', CONFIG.TRUST_PROXY)
app.use((_req, res, next) => {
+ // OpenTelemetry
res.locals.requestStart = Date.now()
+ if (CONFIG.SECURITY.POWERED_BY_HEADER.ENABLED === true) {
+ res.setHeader('x-powered-by', 'PeerTube')
+ }
+
return next()
})
wellKnownRouter,
lazyStaticRouter,
servicesRouter,
+ objectStorageProxyRouter,
pluginsRouter,
- webfingerRouter,
trackerRouter,
createWebsocketTrackerServer,
botsRouter,
app.use('/', activityPubRouter)
app.use('/', feedsRouter)
-app.use('/', webfingerRouter)
app.use('/', trackerRouter)
app.use('/', botsRouter)
app.use('/', miscRouter)
app.use('/', downloadRouter)
app.use('/', lazyStaticRouter)
+app.use('/', objectStorageProxyRouter)
// Client files, last valid routes!
const cliOptions = cli.opts<{ client: boolean, plugins: boolean }>()
})
})
-const server = createWebsocketTrackerServer(app)
+const { server, trackerServer } = createWebsocketTrackerServer(app)
// ----------- Run -----------
VideoChannelSyncLatestScheduler.Instance.enable()
VideoViewsBufferScheduler.Instance.enable()
GeoIPUpdateScheduler.Instance.enable()
- OpenTelemetryMetrics.Instance.registerMetrics()
+
+ OpenTelemetryMetrics.Instance.registerMetrics({ trackerServer })
+
+ PluginManager.Instance.init(server)
+ // Before PeerTubeSocket init
+ PluginManager.Instance.registerWebSocketRouter()
PeerTubeSocket.Instance.init(server)
VideoViewsManager.Instance.init()