Orochia
Documentation
GitHub

Orochia

Plateforme vidéo pour créateurs

Diffuser en 4K, vendre l'accès, payer les créateurs — avec la rigueur d'une infrastructure financière. Open source, Apache-2.0.

Next.js 16 App Router Drizzle ORM PostgreSQL 16 Bunny.net Stream

70 points d'API, extraits du code

Paiements & confiance

Le client ne dit jamais qu'il a payé.

Chaque déblocage commence par une intention de paiement et ne se termine qu'à l'arrivée du webhook signé de la passerelle — vérifié en temps constant, réglé une seule fois, inscrit dans un grand livre en partie double.

Le raccourci habituel

  • Le navigateur annonce « paiement OK » et obtient la vidéo
  • Un webhook rejoué crédite deux fois
  • Les soldes dérivent de ce qui a vraiment été payé

La garantie Orochia

  • Accès accordé uniquement par le webhook signé de la passerelle
  • Règlement idempotent : une intention, un crédit
  • Soldes calculés depuis le grand livre, jamais un compteur

Conformité

Les obligations deviennent des invariants.

Certification 18+ à l'inscription, vérification des créateurs (18 U.S.C. § 2257) avant tout téléversement, signalements persistés et traités — appliqués sur le serveur, revus dans la console d'administration.

Vérifié avant l'envoi

Les sessions de téléversement ne s'ouvrent qu'aux créateurs dont un opérateur a approuvé les registres.

Les signalements sont des données

Mineur présumé, contenu non consenti, DMCA : enregistrés avant d'être acquittés.

En action

Voyez le vrai produit, puis suivez une requête.

Des enregistrements de la dernière version, et un parcours animé de la lecture, du déblocage payant et du téléversement.

Visite vidéo

Fil, pourboires, studio créateur et console d'administration, enregistrés sur l'application réelle.

Voir la visite

Architecture animée

Parcourez chaque trajet ; chaque point d'API est vérifié contre le code.

Suivre une requête

Démarrage rapide

  1. 01
    Installernpm install

    Node 20 ou plus, Docker démarré.

  2. 02
    Tout configurernpm run setup

    Écrit .env, démarre PostgreSQL 16 + Redis 7, migre et peuple — idempotent.

  3. 03
    Lancernpm run dev

    http://localhost:3000 · db:status, db:reset, db:studio pour la base.

Modules d'architecture

Media ingest & deliverypackages/media

Tus resumable upload sessions · HMAC-signed HLS URLs (300 s) · Signed Bunny webhooks

Payments & ledgerpackages/payments

Payment intents recorded before checkout · CCBill · Segpay · NowPayments · Stripe adapters · Constant-time webhook signatures, no lenient mode

Data persistencepackages/db

23 tables

Complianceapps/web/app/api/legal/report

18+ certification at registration · Creator verification before upload · Persisted content reports

Documentation

Principes de conception

Lecture zéro confiance

Aucune URL média brute n'atteint un client : chaque lecture est autorisée, puis signée pour 300 secondes.

Médias directs sur CDN

Envois et segments passent directement par Bunny Stream ; les serveurs web ne portent jamais de vidéo.

Configuration fail-closed

Un secret manquant empêche le démarrage en production ; le mode démo n'y existe pas.