feat: 프린터실 카메라 웹코덱(WebRTC/MSE) 전환 + K2 콤보 카메라 프록시, 옛 3D프린터 앱 제거
- go2rtc가 CORS/Origin 체크로 브라우저 직접접속을 막던 문제 해결: 클라이언트 스크립트를 벤더링해 같은 오리진으로 서빙하고, WS는 게이트웨이 프록시 (attachGo2rtcWsProxy)가 Origin을 다시 써서 우회. CCTV 앱의 프린터실 카메라 라이브뷰가 MJPEG 대신 WebRTC/MSE를 쓰도록 전환(대역폭 절감). - go2rtc mjpeg 트랜스코더가 멈추는 경우를 감지해 자동 재기동하는 /api/nvr/mjpeg-health 엔드포인트 추가. - 신규 3D프린터(K2 콤보, Klipper 스탠드얼론)의 내장 WebRTC 카메라 시그널링을 프록시하는 /api/k2/webrtc-signal 추가 — 홈클로가 HTTPS로 서빙되는데 카메라가 평문 HTTP만 지원해 브라우저 mixed-content 차단을 우회하기 위함. - 옛 3D프린터(단종된 Anet A8 Plus, OctoPrint) 앱과 홈 드롭다운 링크 제거. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PppKcQmeTJDQCpfcgKietu
This commit is contained in:
@@ -131,7 +131,8 @@ import { summarizeSkillForApi } from '../tools/skills.js';
|
||||
import { getToolRegistry } from '../tools/registry.js';
|
||||
import { registerSettingsRoutes } from './routes/settings.js';
|
||||
import { registerImagegenRoutes } from './routes/imagegen.js';
|
||||
import { registerNvrRoutes } from './routes/nvr.js';
|
||||
import { registerNvrRoutes, attachGo2rtcWsProxy } from './routes/nvr.js';
|
||||
import { registerK2Routes } from './routes/routes-k2.js';
|
||||
import {
|
||||
browserOpen,
|
||||
browserSnapshot,
|
||||
@@ -3561,6 +3562,7 @@ async function runTaskHeartbeat(): Promise<void> {
|
||||
registerSettingsRoutes(app);
|
||||
registerImagegenRoutes(app);
|
||||
registerNvrRoutes(app);
|
||||
registerK2Routes(app);
|
||||
|
||||
// Fetch available Ollama models (proxies Ollama /api/tags), with vision capability flag
|
||||
app.get('/api/ollama/models', async (_req, res) => {
|
||||
@@ -4646,6 +4648,7 @@ attachAndroidWsProxy(server, getSessionUser);
|
||||
attachAndroidConsoleWsProxy(server, getSessionUser);
|
||||
attachComfyUIWsProxy(server, getSessionUserFromUpgradeReq);
|
||||
attachVoiceRealtimeWsProxy(server, getSessionUserFromUpgradeReq);
|
||||
attachGo2rtcWsProxy(server, getSessionUserFromUpgradeReq);
|
||||
wss.on('error', (err: any) => {
|
||||
if (err?.code === 'EADDRINUSE') {
|
||||
console.error(`[Gateway] Port ${HOST}:${PORT} is already in use.`);
|
||||
|
||||
Reference in New Issue
Block a user