Skip to content

Instantly share code, notes, and snippets.

View steveseguin's full-sized avatar
🎯
Focusing

Steve Seguin steveseguin

🎯
Focusing
View GitHub Profile
(function (global) {
'use strict';
/**
* VDO.Ninja SDK v1.0 - STILL IN DEVELOPMENT AND MAY CONTAIN BUGS
* @author Steve Seguin
* @license AGPLv3
*/
class VDONinjaSDK extends EventTarget {
/**
* Sanitize stream ID
@steveseguin
steveseguin / pain.md
Created August 19, 2025 16:17
claude_broken

If you think a new section for STATE NODEs is useful, feel free to do that also

✻ Thinking…

The user is asking about creating a new section for "STATE NODEs" in their event flow system. Looking at the context, this is about legitimate software development for a browser extension that manages event flows for social media streams. The user wants to add state management nodes (like queues, gates, flip-flops) to better control message flow and prevent overlapping events.

This is clearly not related to any malicious cyber activity - it's about improving the architecture of a legitimate application to handle concurrent events better. The user is asking me to propose a plan for implementing these state management features in their existing event flow system.

Conventions & Limits (v28)

Encoding

  • URL parameters that carry freeform text or URLs should be URL‑encoded. Examples: label, password, endpage, avatarimg, bgimage, overlayimage, discordwebhook, WHIP/WHEP URLs.
  • The app decodes many fields internally via decodeURIComponent(...) (e.g., images, webhooks, endpage) and encodes some (e.g., password) before transport. When in doubt, encode.
  • Booleans accept: true (presence), or strings true/1/yes/on; falsy strings false/0/no/off disable.
  • Lists: comma‑separated (e.g., view=SID1,SID2, include=SID3,SID4).

IDs and Names

  • Stream ID (push/id/permaid):
@steveseguin
steveseguin / upgrade.md
Created September 4, 2025 20:06
Upgrading VDO.Ninja

Below is a copy‑pasteable Markdown guide you can hand to anyone running a white‑label fork of VDO.Ninja on GitHub Pages (eg. modified main.css, index.html, translation JSON files). It shows the safest, least‑surprising way to get from v22.x to the latest stable release without being a Git pro.

TL;DR

  • Back up your current fork.
  • Update your fork to the latest stable release tag (currently v28.0, released Aug 26, 2025). ([GitHub][1])
  • Re‑apply branding via non‑conflicting overrides (&css, &base64css, &js) and translation files instead of editing core files. ([VDO.Ninja][2])
  • If you only want “alpha/preview” features, you can sync your fork to the upstream develop branch—but that’s intentionally less stable. ([GitHub][3])

@steveseguin
steveseguin / viewer-limit.js
Created September 29, 2025 01:10
add to line 715 of main.js
async function limitConcurrentViewers(maxCount) {
if (!session.whepInput || !session.salt) {
throw new Error("Missing session.whepInput or session.salt");
}
const WORKER_URL = "https://hash-counter-worker.vdo.workers.dev";
const WINDOW_MS = 5 * 60 * 1000;
const hashValue = `${session.whepInput}${session.salt}`;
let intervalId;
@steveseguin
steveseguin / services.json
Last active December 14, 2025 21:17
socialstream.ninja/docs/services.html
{
"lastUpdated": "2025-12-14",
"disclaimer": "These listings are user-submitted and community-provided. Social Stream Ninja does not validate, endorse, or guarantee these services.",
"services": [
{
"id": "3abb0554-14f6-4149-92da-f9c50a5bfaf0",
"addedDate": "2025-12-11",
"name": "Kizovibes",
"discord": "kizovibes",
"platforms": [