Like Server --

Likes
0
Viewers
0
Peak Likes
0
Peak Viewers
0

YouTube

Twitch

Settings

Refresh every sec
Gateway  :7777
GET
/api/stats
Aggregated stats snapshot — likes, viewers, peaks, per-channel breakdown.
{
  "currentLikes": 0,
  "currentTarget": 1000,
  "previousTarget": 0,
  "isTestMode": false,
  "status": "Live" | "All Channels Offline" | "No channels configured",
  "apiData": { "title": "...", "viewers": 0, "likes": 0 },
  "totalPeakViews": 0,
  "totalPeakLikes": 0,
  "youtubeChannels": {
    "@x": { "isLive": true, "viewers": 0, "likes": 0, "peakViews": 0, "peakLikes": 0, "title": "...", "streamUrl": "..." }
  },
  "twitchChannels": {
    "x": { "isLive": false, "viewers": 0, "likes": 0, "peakViews": 0, "peakLikes": 0, "title": null, "streamUrl": null }
  },
  "providers": { "youtube": { ... }, "twitch": { ... } }
}
GET
/api/config
Current configuration.
{ "youtubeChannels": [], "twitchChannels": [], "youtubeEnabled": true, "twitchEnabled": true, "refreshRate": 1000 }
POST
/api/config/toggle
Enable or disable a platform.
{ "platform": "youtube" | "twitch", "enabled": true | false }
POST
/api/config/refresh
Set poll interval. Min 1000ms.
{ "refreshRate": 2000 }  // milliseconds
POST
/api/channels
Add a channel to the dashboard.
{ "platform": "youtube" | "twitch", "channel": "@ChannelName" }
DEL
/api/channels
Remove a channel from the dashboard.
{ "platform": "youtube" | "twitch", "channel": "@ChannelName" }
YouTube service  :7777 or :7801
GET
/stats/:channel
On-demand scrape. No dashboard config needed. CORS open. Also available directly on :7801.
// Live → 200
{ "provider": "youtube", "channel": "@x", "isLive": true, "viewers": 0, "likes": 0, "title": "...", "streamUrl": "..." }
// Offline → 200
{ "provider": "youtube", "channel": "@x", "isLive": false }
// Not found → 404
{ "provider": "youtube", "channel": "@x", "error": "Channel not found" }
GET
/stats?channels=@a,@b
Batch scrape, all channels in parallel.
{ "provider": "youtube", "channels": { "@a": { "isLive": true, ... }, "@b": { "isLive": false } } }
YouTube Chat  :7803
WS
ws://<host>:7803/?channel=@LofiGirl
Live chat stream. One poller per channel, shared across subscribers.
// Send to subscribe / unsubscribe after connect:
{ "action": "subscribe",   "channel": "@x" }
{ "action": "unsubscribe", "channel": "@x" }

// Server pushes:
{ "type": "status", "status": "live" | "offline" | "error" | "subscribed", ... }
{ "type": "chat", "channel": "@x", "author": "...", "message": "...", "timestamp": "...",
  "isOwner": false, "isModerator": false, "isMember": false }