Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Arc RPC allows you to remotely call functions on other processes or even other hardware using these few main concepts
Here is a basic example of using RPC with node-ipc
Server.js
// Include library for IPC-RPC clients
let ClientIpcRpc = require("arc-rpc").ClientIpcRpc
// Define `serverIpc` in higher scope for testing purposes
let serverRpc = null
// Example remotely-callable class (this can be anything)
class ClientClass {
// Example method
clientTest() {
console.log("Remotely called by server, calling server method.")
// Call remote as if it was a local class instance
await rpc.class.serverTest()
// This is garuanteed to be afterwards, as ES7 awaits are used
console.log("Called remote server method!")
}
}
// Create RPC to server, on IPC channel testing, predefined encryption key, with an instance of the example client class
serverRpc = new ClientIpcRpc ("testing", Buffer.from ('flbd+mTz8bIWl2DQxFMKHYAA1+PFxpEKmVNsZpFP5xQ=', 'base64'), new ClientClass())
Client.js
// Include library for IPC-RPC servers
let ServerIpcRpcMaster = require("arc-rpc").ServerIpcRpcMaster
// Example remotely-callable class (this can be anything)
class ServerClass {
serverTest() {
console.log("Remotely called by client.")
}
}
// Create RPC master/listener, on IPC channel testing, predefined encryption key, with an instance of the example server class
let rpcMaster = new ServerIpcRpcMaster ("testing", Buffer.from ('flbd+mTz8bIWl2DQxFMKHYAA1+PFxpEKmVNsZpFP5xQ=', 'base64'), new ServerClass())
// Listen for new clients
rpcMaster.on("client", (clientRpc) => {
console.log("Got new client, remotely calling client test.")
// Call remote as if it was a local class instance
await clientRpc.class.clientTest()
// This is garuanteed to be afterwards, as ES7 awaits are used
console.log("Remotely called client test!")
})
This is made for a specific project, soon the node-ipc connections will be replaced with net sockets, or be replaced with a net library. I know, it's silly this way.
I'll get to completing this later
FAQs
Asynchronous Remote Classes make RPC simple
The npm package arc-rpc receives a total of 1 weekly downloads. As such, arc-rpc popularity was classified as not popular.
We found that arc-rpc 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.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.