Yayın durdurma, kanal duraklat/devam (tekli+toplu), şimdi kontrol et, manuel URL ile zorla kayıt başlatma, canlı player+log önizleme, oturum süre sayacı, başarısız/takılı render için tekrar dene ve iptal, poll aralığı + ham segment TTL'yi panelden canlı değiştirme, cookie bayatlık uyarısı, Telegram bildirim aç/kapa, ve kullanım/maliyet özeti (/stats). api-daemon'ın yeni state-değiştiren endpoint'leri (stop/force-start/ render/cancel) INTERNAL_API_TOKEN ile korunuyor — bu daemon'ın portu Coolify'de public'e açık olduğu için korumasız bırakmak güvenlik açığı olurdu. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
12 lines
670 B
TypeScript
12 lines
670 B
TypeScript
import { NextResponse } from "next/server";
|
|
import { API_DAEMON_URL } from "../../../../../lib/apiDaemon";
|
|
|
|
/** Client components can't reach api-daemon's internal Docker hostname directly — this proxies the (auth-free, read-only) debug endpoint through the frontend's own origin. */
|
|
export async function GET(_req: Request, { params }: { params: Promise<{ sessionId: string }> }) {
|
|
const { sessionId } = await params;
|
|
const res = await fetch(`${API_DAEMON_URL}/debug/capture/${sessionId}`, { cache: "no-store" });
|
|
if (!res.ok) return NextResponse.json({ lines: [] }, { status: res.status });
|
|
const data = await res.json();
|
|
return NextResponse.json(data);
|
|
}
|