Skip to content

Réseau P2P avec PeerJS — machines à états, sécurité, synchronisation

License

Notifications You must be signed in to change notification settings

thipages/pacpam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@thipages/pacpam

version tests node license modules locales

Réseau P2P avec PeerJS — machines à états, sécurité, synchronisation.

Installation

npm install @thipages/pacpam

Usage

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 _ -

Sans bundler (ES modules natifs)

<script type="importmap">
{ "imports": { "@thipages/pacpam": "https://esm.sh/@thipages/pacpam@0.9.1" } }
</script>
<script type="module">
  import { loadLocale, NetworkManager } from '@thipages/pacpam';
</script>

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

About

Réseau P2P avec PeerJS — machines à états, sécurité, synchronisation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •