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.
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 visiteArchitecture animée
Parcourez chaque trajet ; chaque point d'API est vérifié contre le code.
Suivre une requêteDémarrage rapide
- 01Installer
npm installNode 20 ou plus, Docker démarré.
- 02Tout configurer
npm run setupÉcrit .env, démarre PostgreSQL 16 + Redis 7, migre et peuple — idempotent.
- 03Lancer
npm run devhttp://localhost:3000 · db:status, db:reset, db:studio pour la base.
Modules d'architecture
packages/mediaTus resumable upload sessions · HMAC-signed HLS URLs (300 s) · Signed Bunny webhooks
packages/paymentsPayment intents recorded before checkout · CCBill · Segpay · NowPayments · Stripe adapters · Constant-time webhook signatures, no lenient mode
packages/db23 tables
apps/web/app/api/legal/report18+ 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.