
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
find-peers
Advanced tools
A module to find nodes on a network, establish secure communication channels, execute code and much much more.
A module to find nodes on a network, establish secure communication channels, execute code and much much more.
Communication channels after node discovery
Node monitoring via a local web server
Complete control over node & remote access terminals
Scale and execute code on connected peers (Javascript through Node.js VM or binary executables through Child Process)
File transfers & file synchronisation
Sync with a node list on a server
Automatically refresh node status every N seconds
Interact through emitted events, RXJS or promises
Communication through TCP, HTTP, TLS, HTTPS or socket.io
Definable master-slave sub networks / nodes
6 Authentication levels:
No authentication (0)
Hashed key exchange (1)
Encrypted key (2)
Generated key exchange (RSA, ec, x448) etc. (3)
End to end encryption (4)
Middle man server communication (5)
npm i find-peers --save
To use find-peers in Socket.io mode install it first.
npm i socket.io-client
npm i socket.io
To automatically generate self signed SSL certificates at runtime node-forge must be installed.
npm i node-forge
const { FindPeers } = require('find-peers');
const options = { autoGenId: true };
const find = new FindPeers(options);
find.on('found-nodes', (data) => {
// new discovered nodes
});
find.on('server_up', () => {
console.log('server is up!');
});
find.on('server_err', (err) => {
console.log(err);
});
find.on('multicast_err', (err) => {
console.log(err);
});
find.on('echo', (data) => {
console.log(data.message, 'from', data.from.id);
});
| Property | Description | Default value |
|---|---|---|
| autoGenId | Automatically generate a 32 word random id | false |
| identity | Set node details: id, bind to ip etc. | undefined |
| securityLevel | Security mode of the library to be used | 4 |
| verifyTries | Number of times to attempt to verify a node during initial pairing | 3 |
| tryTime | Timeout limit | 10000 |
| hashOptions | Options passed to argon 2 as per argon2.Options from node-argon2 ( 1 ) | { hashLength: 32, memoryCost: 2**16, parallelism: 1, type: argon2.argon2i } |
| modLength | Length of generated RSA key ( 3 ) | 2048 |
| keyGenGroup | Algorithm for key generation ( 3 ) | rsa |
| aesVersion | Type of aes-256 to be used ( 2 - 4 ) | aes-256-cbc |
| oaepHash | Hash to use alongside pbkdf2 | sha-256 |
| groupName | Mod group to use in Diffie - Hellman exchange | modp15 |
| autoStartSearch | Automatically start searching for nodes as soon as object is created | true |
| serverType | Server type to be used for communication after node discovery | tcp |
| serverPort | Server port | 19235 |
| multicastPort | Multicast port | 18235 |
| broadCastInterval | Interval at which to send out multicast | 500 |
| multiCastTimeout | Duration of node search | 60000 |
| multiCastReSearch | Automatically re - search for nodes | 300000 |
| shouldReSearch | Enable re - search | false |
| searchForever | Disable multiCastTimeout and re - search | false |
| shouldPing | Ping nodes to veriy if still active | false |
| pingInterval | Interval to ping nodes at | 1000 |
| pingCount | Number of failed ping attempts before marked as disconnect | 20 |
| temporaryDisconnect | Number of failed ping attempts before marked as temporary disconnect | 10 |
| pingMIA | Number of seconds between ping reponses to be marked as temporary disconnect | 25000 |
| pingLimit | Number of failed ping attempts before reconnection attempts are stopped | 100 |
| whiteList | Array of nodes (by ip or id) to be whitelisted from ping | undefined |
| blackList | Array of nodes (by ip or id) to be blacklisted from connections | undefined |
| privateServerKey | Private key for https, tls server or Socket.io https server | undefined |
| certificate | Certificate / public key for https, tls server or Socket.io https server | undefined |
| genKeypair | Automatically generate an SSL key pair (private key, certificate) for use with https, tls or Socket.io https server using node-forge | false |
| attrs | Attributes passed for SSL key pair generation (country name, address, organization name, etc...) | [{ name : 'commonName' , value : 'example.org' } , |
| socketIOOptions | Options to be used with Socket.io server | { path:'/', mode:'http' } |
| Function | Description | Arguments |
|---|---|---|
| getClients | Get entire list of verified nodes | void |
| echo | Send a message to all nodes | message: string, omit ?: string[] |
| messageClient | Send message to a specific node | id: string, message: string |
| getIdentity | Get identity object of current node | void |
FAQs
A module to find nodes on a network, establish secure communication channels, execute code and much much more.
The npm package find-peers receives a total of 3 weekly downloads. As such, find-peers popularity was classified as not popular.
We found that find-peers demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.