@thipages/pacpam
v0.9.1
Published
Réseau P2P avec PeerJS — machines à états, sécurité, synchronisation
Maintainers
Readme
@thipages/pacpam
Réseau P2P avec PeerJS — machines à états, sécurité, synchronisation.
Installation
npm install @thipages/pacpamUsage
import { loadLocale, NetworkManager } from '@thipages/pacpam';
await loadLocale();
const network = new NetworkManager({ debug: true });
network.onIdReady = (id) => console.log('Mon ID:', id);
network.onConnected = () => console.log('Connecté');
network.onData = (data) => console.log('Reçu:', data);
network.onError = (err) => console.error(err.message);
network.init('P01', 'a1b2c3d4e5f6'); // pseudo : 3-10 chars, A-Z 0-9 _ -Démo
Chat Pacpam — ouvrir dans deux onglets pour tester.
Documentation
Sécurité
- Chiffrement : WebRTC chiffre nativement les données (DTLS). Les échanges entre pairs sont protégés de bout en bout.
- Authentification : Mot de passe optionnel vérifié par hash SHA-256 mutuel. Sans le bon mot de passe, la connexion est refusée. Chaque tentative nécessite un handshake WebRTC complet (plusieurs secondes), ce qui limite naturellement le brute-force. L'hôte est notifié de chaque échec via le callback
onAuthFailed(peerId). - Serveur de signalisation : Le serveur PeerJS (
0.peerjs.com) ne sert qu'au rendez-vous initial (échange SDP/ICE). Il ne voit pas les données. Ce serveur gratuit est maintenu par la communauté PeerJS, sans garantie de disponibilité. En production, préférer un serveur auto-hébergé (npx peerjs --port 9000).
License
MIT
