kv-tube/frontend/frontend.log
KV-Tube Deployer 40f7276086
Some checks failed
Build & Push Docker Image / build (push) Failing after 11s
ci: use inline credentials, remove test workflows
2026-03-28 08:58:29 +07:00

1938 lines
70 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> frontend@0.1.0 dev
> next dev
▲ Next.js 16.1.6 (Turbopack)
- Local: http://localhost:3000
- Network: http://192.168.31.138:3000
- Environments: .env.local
✓ Starting...
✓ Ready in 1188ms
GET /watch?v=krbtaBr9jNc 200 in 572ms (compile: 273ms, render: 299ms)
GET / 200 in 59ms (compile: 35ms, render: 24ms)
GET /feed/subscriptions 200 in 61ms (compile: 41ms, render: 20ms)
GET /feed/library 200 in 416ms (compile: 349ms, render: 67ms)
GET /feed/library 200 in 51ms (compile: 8ms, render: 43ms)
GET /feed/library 200 in 127ms (compile: 4ms, render: 122ms)
GET /watch?v=sZrIbpwjTwk 200 in 25ms (compile: 6ms, render: 19ms)
GET /feed/subscriptions 200 in 81ms (compile: 14ms, render: 68ms)
GET /feed/subscriptions 200 in 195ms (compile: 8ms, render: 188ms)
GET /feed/subscriptions 200 in 64ms (compile: 9ms, render: 55ms)
GET /watch?v=X8dM9elNhAM 200 in 149ms (compile: 122ms, render: 27ms)
✓ Compiled in 62ms
✓ Compiled in 42ms
✓ Compiled in 37ms
✓ Compiled in 93ms
GET /watch?v=X8dM9elNhAM 200 in 441ms (compile: 124ms, render: 316ms)
GET / 200 in 30ms (compile: 6ms, render: 24ms)
GET / 200 in 39ms (compile: 7ms, render: 32ms)
GET /watch?v=OsfAnsMY21M 200 in 34ms (compile: 6ms, render: 28ms)
✓ Compiled in 53ms
GET /watch?v=OsfAnsMY21M 200 in 431ms (compile: 86ms, render: 345ms)
GET /watch?v=OsfAnsMY21M 200 in 186ms (compile: 11ms, render: 175ms)
GET / 200 in 36ms (compile: 6ms, render: 30ms)
GET /feed/subscriptions 200 in 128ms (compile: 98ms, render: 30ms)
GET / 200 in 21ms (compile: 4ms, render: 16ms)
✓ Compiled in 110ms
✓ Compiled in 49ms
✓ Compiled in 81ms
✓ Compiled in 28ms
GET /watch?v=KKFubczfTOs 200 in 141ms (compile: 93ms, render: 48ms)
✓ Compiled in 455ms
✓ Compiled in 88ms
GET /watch?v=KKFubczfTOs 200 in 972ms (compile: 216ms, render: 756ms)
GET /watch?v=KKFubczfTOs 200 in 409ms (compile: 106ms, render: 303ms)
GET /watch?v=KKFubczfTOs 200 in 184ms (compile: 4ms, render: 180ms)
GET /watch?v=KKFubczfTOs 200 in 136ms (compile: 12ms, render: 124ms)
GET /watch?v=KKFubczfTOs 200 in 120ms (compile: 5ms, render: 115ms)
GET /watch?v=KKFubczfTOs 200 in 102ms (compile: 3ms, render: 99ms)
GET /watch?v=KKFubczfTOs 200 in 103ms (compile: 2ms, render: 101ms)
GET /watch?v=KKFubczfTOs 200 in 105ms (compile: 3ms, render: 102ms)
GET /watch?v=KKFubczfTOs 200 in 105ms (compile: 3ms, render: 101ms)
GET /watch?v=KKFubczfTOs 200 in 108ms (compile: 3ms, render: 105ms)
GET /watch?v=KKFubczfTOs 200 in 109ms (compile: 3ms, render: 106ms)
GET /watch?v=KKFubczfTOs 200 in 106ms (compile: 3ms, render: 103ms)
GET /watch?v=KKFubczfTOs 200 in 109ms (compile: 5ms, render: 104ms)
GET /watch?v=KKFubczfTOs 200 in 108ms (compile: 5ms, render: 104ms)
GET /watch?v=KKFubczfTOs 200 in 117ms (compile: 5ms, render: 112ms)
GET /watch?v=KKFubczfTOs 200 in 113ms (compile: 4ms, render: 109ms)
GET /watch?v=KKFubczfTOs 200 in 114ms (compile: 4ms, render: 110ms)
GET /watch?v=KKFubczfTOs 200 in 114ms (compile: 4ms, render: 110ms)
GET /watch?v=KKFubczfTOs 200 in 114ms (compile: 3ms, render: 112ms)
GET /watch?v=KKFubczfTOs 200 in 108ms (compile: 4ms, render: 104ms)
GET /watch?v=KKFubczfTOs 200 in 106ms (compile: 3ms, render: 103ms)
GET /watch?v=KKFubczfTOs 200 in 90ms (compile: 5ms, render: 85ms)
GET /watch?v=KKFubczfTOs 200 in 64ms (compile: 3ms, render: 62ms)
GET /watch?v=KKFubczfTOs 200 in 47ms (compile: 3ms, render: 44ms)
GET /watch?v=KKFubczfTOs 200 in 31ms (compile: 4ms, render: 27ms)
GET /watch?v=KKFubczfTOs 200 in 197ms (compile: 79ms, render: 118ms)
GET /watch?v=KKFubczfTOs 200 in 107ms (compile: 2ms, render: 105ms)
GET /watch?v=KKFubczfTOs 200 in 127ms (compile: 2ms, render: 125ms)
GET /watch?v=KKFubczfTOs 200 in 144ms (compile: 3ms, render: 142ms)
GET /watch?v=KKFubczfTOs 200 in 168ms (compile: 3ms, render: 166ms)
GET /watch?v=KKFubczfTOs 200 in 202ms (compile: 5ms, render: 197ms)
GET /watch?v=KKFubczfTOs 200 in 232ms (compile: 5ms, render: 227ms)
GET /watch?v=KKFubczfTOs 200 in 522ms (compile: 9ms, render: 514ms)
GET /watch?v=KKFubczfTOs 200 in 548ms (compile: 4ms, render: 544ms)
GET /watch?v=KKFubczfTOs 200 in 546ms (compile: 8ms, render: 538ms)
GET /watch?v=KKFubczfTOs 200 in 527ms (compile: 5ms, render: 522ms)
GET /watch?v=KKFubczfTOs 200 in 533ms (compile: 12ms, render: 521ms)
GET /watch?v=KKFubczfTOs 200 in 300ms (compile: 50ms, render: 249ms)
GET /watch?v=KKFubczfTOs 200 in 258ms (compile: 9ms, render: 248ms)
GET /watch?v=KKFubczfTOs 200 in 263ms (compile: 4ms, render: 259ms)
GET /watch?v=KKFubczfTOs 200 in 276ms (compile: 7ms, render: 268ms)
GET /watch?v=KKFubczfTOs 200 in 275ms (compile: 16ms, render: 259ms)
GET /watch?v=KKFubczfTOs 200 in 225ms (compile: 5ms, render: 221ms)
GET /watch?v=KKFubczfTOs 200 in 260ms (compile: 8ms, render: 252ms)
GET /watch?v=KKFubczfTOs 200 in 216ms (compile: 7ms, render: 208ms)
GET /watch?v=KKFubczfTOs 200 in 202ms (compile: 6ms, render: 196ms)
GET /watch?v=KKFubczfTOs 200 in 196ms (compile: 8ms, render: 188ms)
GET /watch?v=KKFubczfTOs 200 in 167ms (compile: 10ms, render: 157ms)
GET /watch?v=KKFubczfTOs 200 in 126ms (compile: 5ms, render: 121ms)
GET /watch?v=KKFubczfTOs 200 in 95ms (compile: 7ms, render: 88ms)
GET /watch?v=KKFubczfTOs 200 in 58ms (compile: 7ms, render: 51ms)
GET /watch?v=KKFubczfTOs 200 in 303ms (compile: 3ms, render: 300ms)
✓ Compiled in 23ms
GET /api/proxy/invidious?path=comments&videoId=KKFubczfTOs&limit=50 200 in 15.0s (compile: 951ms, render: 14.0s)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
✓ Compiled in 40ms
GET /watch?v=KKFubczfTOs 200 in 885ms (compile: 97ms, render: 788ms)
GET /api/proxy/invidious?path=video&videoId=KKFubczfTOs 200 in 14.9s (compile: 18ms, render: 14.9s)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Piped instances failed: [
Error: HTTP 502
at GET (app/api/proxy/piped/route.ts:42:15)
40 |
41 | if (!response.ok) {
> 42 | throw new Error(`HTTP ${response.status}`);
| ^
43 | }
44 |
45 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/piped/route.ts:34:24)
32 | for (const instance of PIPED_INSTANCES) {
33 | try {
> 34 | const response = await fetch(`${instance}${apiPath}`, {
| ^
35 | signal: AbortSignal.timeout(10000),
36 | headers: {
37 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND adminforge.destreams
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'adminforge.destreams'
}
},
SyntaxError: Unexpected token 'P', "Piped has shutdown" is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/piped/route.ts:45:20)
43 | }
44 |
> 45 | const data = await response.json();
| ^
46 | return NextResponse.json(data);
47 | } catch (error: any) {
48 | errors.push(error);
]
GET /api/proxy/piped?path=streams&videoId=KKFubczfTOs 502 in 3.0s (compile: 148ms, render: 2.9s)
GET / 200 in 133ms (compile: 98ms, render: 35ms)
GET /api/proxy/invidious?path=trending&region=VN 200 in 2.7s (compile: 11ms, render: 2.7s)
GET /api/proxy/invidious?path=search&q=+music&type=video&limit=20 200 in 14.6s (compile: 2ms, render: 14.6s)
GET /api/proxy/invidious?path=search&q=music+mix+compilation&type=video&limit=20 200 in 14.6s (compile: 1986µs, render: 14.6s)
GET / 200 in 307ms (compile: 3ms, render: 304ms)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
GET /api/proxy/invidious?path=trending&region=VN 502 in 15.5s (compile: 11ms, render: 15.5s)
GET /api/proxy/invidious?path=trending&region=VN 200 in 10.7s (compile: 3ms, render: 10.7s)
GET / 200 in 61ms (compile: 7ms, render: 55ms)
GET /feed/subscriptions 200 in 123ms (compile: 88ms, render: 35ms)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
GET / 200 in 13ms (compile: 2ms, render: 11ms)
GET /feed/library 200 in 50ms (compile: 29ms, render: 21ms)
GET /watch?v=HXkh7EOqcQ4 200 in 32ms (compile: 5ms, render: 28ms)
GET /api/proxy/invidious?path=trending&region=VN 200 in 14.9s (compile: 104ms, render: 14.8s)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
GET /api/proxy/invidious?path=trending&region=VN 200 in 5.7s (compile: 3ms, render: 5.7s)
GET /api/proxy/invidious?path=video&videoId=HXkh7EOqcQ4 200 in 15.0s (compile: 1945µs, render: 15.0s)
GET /api/proxy/invidious?path=video&videoId=HXkh7EOqcQ4 200 in 5ms (compile: 1598µs, render: 4ms)
All Piped instances failed: [
Error: HTTP 502
at GET (app/api/proxy/piped/route.ts:42:15)
40 |
41 | if (!response.ok) {
> 42 | throw new Error(`HTTP ${response.status}`);
| ^
43 | }
44 |
45 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/piped/route.ts:34:24)
32 | for (const instance of PIPED_INSTANCES) {
33 | try {
> 34 | const response = await fetch(`${instance}${apiPath}`, {
| ^
35 | signal: AbortSignal.timeout(10000),
36 | headers: {
37 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND adminforge.destreams
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'adminforge.destreams'
}
},
SyntaxError: Unexpected token 'P', "Piped has shutdown" is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/piped/route.ts:45:20)
43 | }
44 |
> 45 | const data = await response.json();
| ^
46 | return NextResponse.json(data);
47 | } catch (error: any) {
48 | errors.push(error);
]
GET /api/proxy/piped?path=streams&videoId=HXkh7EOqcQ4 502 in 2.2s (compile: 1589µs, render: 2.2s)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Piped instances failed: [
Error: HTTP 502
at GET (app/api/proxy/piped/route.ts:42:15)
40 |
41 | if (!response.ok) {
> 42 | throw new Error(`HTTP ${response.status}`);
| ^
43 | }
44 |
45 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/piped/route.ts:34:24)
32 | for (const instance of PIPED_INSTANCES) {
33 | try {
> 34 | const response = await fetch(`${instance}${apiPath}`, {
| ^
35 | signal: AbortSignal.timeout(10000),
36 | headers: {
37 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND adminforge.destreams
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'adminforge.destreams'
}
},
SyntaxError: Unexpected token 'P', "Piped has shutdown" is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/piped/route.ts:45:20)
43 | }
44 |
> 45 | const data = await response.json();
| ^
46 | return NextResponse.json(data);
47 | } catch (error: any) {
48 | errors.push(error);
]
GET /api/proxy/piped?path=streams&videoId=HXkh7EOqcQ4 502 in 1891ms (compile: 5ms, render: 1886ms)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
GET / 200 in 24ms (compile: 5ms, render: 19ms)
GET / 200 in 459ms (compile: 154ms, render: 304ms)
GET / 200 in 327ms (compile: 11ms, render: 316ms)
GET / 200 in 259ms (compile: 38ms, render: 221ms)
GET / 200 in 154ms (compile: 5ms, render: 150ms)
GET / 200 in 135ms (compile: 6ms, render: 129ms)
GET / 200 in 141ms (compile: 6ms, render: 135ms)
GET / 200 in 149ms (compile: 5ms, render: 143ms)
GET / 200 in 135ms (compile: 5ms, render: 130ms)
GET / 200 in 117ms (compile: 12ms, render: 105ms)
GET / 200 in 98ms (compile: 6ms, render: 91ms)
GET / 200 in 96ms (compile: 5ms, render: 91ms)
GET / 200 in 98ms (compile: 5ms, render: 94ms)
GET / 200 in 103ms (compile: 4ms, render: 99ms)
GET / 200 in 112ms (compile: 7ms, render: 105ms)
GET / 200 in 147ms (compile: 4ms, render: 143ms)
GET / 200 in 176ms (compile: 6ms, render: 170ms)
GET / 200 in 184ms (compile: 7ms, render: 177ms)
GET / 200 in 161ms (compile: 8ms, render: 154ms)
GET / 200 in 133ms (compile: 4ms, render: 129ms)
GET / 200 in 112ms (compile: 8ms, render: 103ms)
GET / 200 in 113ms (compile: 3ms, render: 110ms)
GET / 200 in 108ms (compile: 8ms, render: 101ms)
GET / 200 in 104ms (compile: 4ms, render: 100ms)
GET / 200 in 73ms (compile: 4ms, render: 69ms)
GET / 200 in 52ms (compile: 4ms, render: 48ms)
GET /api/proxy/invidious?path=search&q=+music&type=video&limit=20 200 in 15.0s (compile: 3ms, render: 15.0s)
GET /api/proxy/invidious?path=search&q=music+mix+compilation&type=video&limit=20 200 in 15.0s (compile: 4ms, render: 15.0s)
(node:17664) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
GET /api/proxy/invidious?path=trending&region=VN 200 in 15.0s (compile: 7ms, render: 15.0s)
All Invidious instances failed: [
Error: HTTP 502
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at JSON.parse (<anonymous>)
at async GET (app/api/proxy/invidious/route.ts:67:20)
65 | }
66 |
> 67 | const data = await response.json();
| ^
68 | return NextResponse.json(data);
69 | } catch (error: any) {
70 | errors.push(error);,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
Error: HTTP 403
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();,
TypeError: fetch failed
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
[cause]: Error: getaddrinfo ENOTFOUND invidious.fdn.fr
at ignore-listed frames {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'invidious.fdn.fr'
}
},
Error [TimeoutError]: The operation was aborted due to timeout
at async GET (app/api/proxy/invidious/route.ts:56:24)
54 | for (const instance of INVIDIOUS_INSTANCES) {
55 | try {
> 56 | const response = await fetch(`${instance}${apiPath}`, {
| ^
57 | signal: AbortSignal.timeout(10000),
58 | headers: {
59 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', {
code: 23,
INDEX_SIZE_ERR: 1,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
WRONG_DOCUMENT_ERR: 4,
INVALID_CHARACTER_ERR: 5,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_STATE_ERR: 11,
SYNTAX_ERR: 12,
INVALID_MODIFICATION_ERR: 13,
NAMESPACE_ERR: 14,
INVALID_ACCESS_ERR: 15,
VALIDATION_ERR: 16,
TYPE_MISMATCH_ERR: 17,
SECURITY_ERR: 18,
NETWORK_ERR: 19,
ABORT_ERR: 20,
URL_MISMATCH_ERR: 21,
QUOTA_EXCEEDED_ERR: 22,
TIMEOUT_ERR: 23,
INVALID_NODE_TYPE_ERR: 24,
DATA_CLONE_ERR: 25
},
Error: HTTP 404
at GET (app/api/proxy/invidious/route.ts:64:15)
62 |
63 | if (!response.ok) {
> 64 | throw new Error(`HTTP ${response.status}`);
| ^
65 | }
66 |
67 | const data = await response.json();
]
GET / 200 in 658ms (compile: 42ms, render: 616ms)
✓ Compiled in 197ms
GET / 200 in 854ms (compile: 466ms, render: 388ms)
GET / 200 in 317ms (compile: 19ms, render: 298ms)
GET / 200 in 338ms (compile: 8ms, render: 329ms)
GET / 200 in 310ms (compile: 4ms, render: 306ms)
GET / 200 in 327ms (compile: 10ms, render: 317ms)
GET / 200 in 314ms (compile: 4ms, render: 309ms)
GET / 200 in 345ms (compile: 15ms, render: 329ms)
GET / 200 in 336ms (compile: 7ms, render: 330ms)
GET / 200 in 402ms (compile: 5ms, render: 397ms)
GET / 200 in 442ms (compile: 7ms, render: 435ms)
GET / 200 in 506ms (compile: 12ms, render: 494ms)
GET / 200 in 567ms (compile: 11ms, render: 556ms)
GET / 200 in 567ms (compile: 20ms, render: 547ms)
GET / 200 in 515ms (compile: 8ms, render: 508ms)
GET / 200 in 441ms (compile: 8ms, render: 433ms)
GET / 200 in 388ms (compile: 12ms, render: 376ms)
GET / 200 in 285ms (compile: 39ms, render: 247ms)
GET / 200 in 214ms (compile: 4ms, render: 210ms)
GET / 200 in 154ms (compile: 7ms, render: 147ms)
GET / 200 in 124ms (compile: 7ms, render: 118ms)
GET / 200 in 76ms (compile: 6ms, render: 69ms)
GET / 200 in 687ms (compile: 18ms, render: 670ms)
GET / 200 in 467ms (compile: 22ms, render: 445ms)
Reload env: .env.local
GET / 200 in 395ms (compile: 290ms, render: 106ms)
✓ Compiled in 4ms
GET / 200 in 345ms (compile: 9ms, render: 336ms)
GET /feed/subscriptions 200 in 263ms (compile: 199ms, render: 64ms)
GET /feed/library 200 in 175ms (compile: 138ms, render: 37ms)
GET / 200 in 44ms (compile: 9ms, render: 35ms)
✓ Compiled in 94ms
GET / 200 in 501ms (compile: 104ms, render: 397ms)
GET / 200 in 121ms (compile: 35ms, render: 87ms)
GET /feed/subscriptions 200 in 111ms (compile: 95ms, render: 16ms)
GET /feed/library 200 in 32ms (compile: 7ms, render: 24ms)
✓ Compiled in 91ms
GET /feed/library 200 in 345ms (compile: 96ms, render: 249ms)
GET /feed/subscriptions 200 in 23ms (compile: 4ms, render: 19ms)
GET /feed/subscriptions 200 in 67ms (compile: 7ms, render: 60ms)
GET / 200 in 34ms (compile: 6ms, render: 28ms)
GET /feed/subscriptions 200 in 27ms (compile: 3ms, render: 24ms)
GET / 200 in 18ms (compile: 6ms, render: 12ms)
GET /feed/subscriptions 200 in 26ms (compile: 7ms, render: 19ms)
✓ Compiled in 56ms
✓ Compiled in 22ms
✓ Compiled in 19ms
✓ Compiled in 18ms
✓ Compiled in 24ms
✓ Compiled in 74ms
GET /feed/subscriptions 200 in 152ms (compile: 106ms, render: 46ms)
GET /feed/subscriptions 200 in 300ms (compile: 3ms, render: 296ms)
GET /feed/J 404 in 661ms (compile: 611ms, render: 50ms)
GET /feed/subscriptions 200 in 15ms (compile: 4ms, render: 12ms)
GET /feed/library 200 in 26ms (compile: 3ms, render: 23ms)
✓ Compiled in 14ms
✓ Compiled in 22ms
✓ Compiled in 81ms
✓ Compiled in 30ms
GET / 200 in 40ms (compile: 10ms, render: 30ms)
GET / 200 in 617ms (compile: 32ms, render: 586ms)
GET /feed/subscriptions 200 in 43ms (compile: 10ms, render: 32ms)
GET /feed/subscriptions 200 in 91ms (compile: 5ms, render: 86ms)
GET /feed/J 404 in 180ms (compile: 42ms, render: 137ms)
GET /feed/library 200 in 174ms (compile: 113ms, render: 61ms)
GET /feed/library 200 in 529ms (compile: 4ms, render: 526ms)
GET /feed/subscriptions 200 in 26ms (compile: 4ms, render: 21ms)
GET /feed/library 200 in 35ms (compile: 8ms, render: 27ms)
GET /feed/library 200 in 29ms (compile: 3ms, render: 25ms)
GET /watch?v=HX3UcwUYMjM 200 in 234ms (compile: 178ms, render: 56ms)
✓ Compiled in 48ms
GET /watch?v=CytWHfUVhXs 200 in 216ms (compile: 127ms, render: 89ms)
✓ Compiled in 71ms
✓ Compiled in 39ms
✓ Compiled in 38ms
✓ Compiled in 27ms
✓ Compiled in 56ms
✓ Compiled in 75ms
GET /watch?v=CytWHfUVhXs 200 in 313ms (compile: 240ms, render: 73ms)
GET /watch?v=CytWHfUVhXs 200 in 434ms (compile: 8ms, render: 426ms)
✓ Compiled in 34ms
GET / 200 in 198ms (compile: 21ms, render: 177ms)
GET / 200 in 76ms (compile: 16ms, render: 61ms)
✓ Compiled in 190ms
✓ Compiled in 46ms
✓ Compiled in 80ms
✓ Compiled in 46ms
✓ Compiled in 83ms
✓ Compiled in 48ms
✓ Compiled in 42ms
GET /?category=All 200 in 193ms (compile: 138ms, render: 54ms)
✓ Compiled in 88ms
GET /?category=All 200 in 73ms (compile: 20ms, render: 53ms)
✓ Compiled in 57ms
⚠ Fast Refresh had to perform a full reload due to a runtime error.
✓ Compiled in 78ms
GET /?category=All 200 in 1505ms (compile: 383ms, render: 1122ms)
✓ Compiled in 98ms
✓ Compiled in 65ms
✓ Compiled in 51ms
✓ Compiled in 48ms
GET /?category=All 200 in 434ms (compile: 122ms, render: 312ms)
GET /watch?v=XBPoRUlgD-0 200 in 152ms (compile: 119ms, render: 33ms)
GET /feed/subscriptions 200 in 223ms (compile: 178ms, render: 45ms)
GET /feed/J 404 in 287ms (compile: 125ms, render: 162ms)
GET /feed/library 200 in 122ms (compile: 95ms, render: 27ms)
GET /watch?v=cX-Oqdt7gmc 200 in 30ms (compile: 9ms, render: 21ms)
GET / 200 in 31ms (compile: 5ms, render: 26ms)
GET /search?q=Xreal 200 in 488ms (compile: 471ms, render: 17ms)
GET /search?q=Xreal 200 in 1132ms (compile: 945ms, render: 187ms)
GET /search?q=Xreal 200 in 426ms (compile: 12ms, render: 414ms)
✓ Compiled in 502ms
✓ Compiled in 259ms
✓ Compiled in 74ms
✓ Compiled in 93ms
GET /search?q=Xreal 200 in 508ms (compile: 119ms, render: 390ms)
GET / 200 in 19ms (compile: 6ms, render: 13ms)
✓ Compiled in 53ms
GET / 200 in 345ms (compile: 126ms, render: 219ms)
✓ Compiled in 66ms
⚠ Fast Refresh had to perform a full reload due to a runtime error.
✓ Compiled in 31ms
GET / 200 in 1721ms (compile: 312ms, render: 1409ms)
✓ Compiled in 28ms
✓ Compiled in 35ms
GET / 200 in 798ms (compile: 239ms, render: 558ms)
GET / 200 in 78ms (compile: 10ms, render: 68ms)
✓ Compiled in 45ms
GET / 200 in 396ms (compile: 119ms, render: 277ms)
✓ Compiled in 49ms
GET / 200 in 362ms (compile: 92ms, render: 271ms)
✓ Compiled in 55ms
✓ Compiled in 57ms
GET / 200 in 309ms (compile: 73ms, render: 236ms)
GET / 200 in 33ms (compile: 6ms, render: 27ms)
GET / 200 in 30ms (compile: 3ms, render: 27ms)
✓ Compiled in 36ms
✓ Compiled in 27ms
GET / 200 in 320ms (compile: 88ms, render: 232ms)
GET /watch?v=XBPoRUlgD-0 200 in 79ms (compile: 63ms, render: 16ms)
GET / 200 in 438ms (compile: 117ms, render: 320ms)
GET /watch?v=kgkNd4l3OpU 200 in 36ms (compile: 12ms, render: 23ms)
GET / 200 in 70ms (compile: 8ms, render: 62ms)
GET / 200 in 55ms (compile: 19ms, render: 36ms)
GET / 200 in 85ms (compile: 14ms, render: 71ms)
✓ Compiled in 213ms
⚠ Found a change in next.config.mjs. Restarting the server to apply the changes...
▲ Next.js 16.1.6 (Turbopack)
- Local: http://localhost:3000
- Network: http://192.168.1.73:3000
- Environments: .env.local
✓ Starting...
✓ Ready in 603ms
GET / 200 in 762ms (compile: 562ms, render: 200ms)
(node:32033) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[?25h