
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@exxili/dmxnet
Advanced tools
dmxnet is an ArtNet-DMX-sender and receiver for nodejs
See https://github.com/margau/dmxnet/graphs/contributors
Work in Progress Redesigned error handling (@bannsaenger)
v0.9.0 Dependency Updates, added ESTA manufacturer ID (@bannsaenger)
v0.8.0 Dependency Updates, constructor improvement (@soimon)
v0.7.0 Improve logging (thanks to @Patrick-Remy)
v0.6.0 Add typescript definitions (thanks to @she11sh0cked)
v0.5.0 Dependency Updates, add hosts option (thanks to @gaelhuot)
v0.4.0 Added support for receiving ArtDMX packets.
v0.3.0 Added support for base_refresh_interval, add sender.reset()
v0.2.0
Added support for receiving ArtPoll and sending ArtPollReply.
v0.1.3 Improved logging trough use of simple-node-logger
v0.1.2 Added subuni option to sender
v0.1.1 Added prepare channel
v0.1.0 Initital Release, sending ArtDMX working
How to install latest release:
npm install dmxnet
How to install current development version:
npm install git+https://git@github.com/margau/dmxnet.git
See example_rx.js and example_tx.js
Include dmxnet lib:
var dmxlib=require('dmxnet');
Create new dmxnet object:
var dmxnet = new dmxlib.dmxnet(options);
Options:
{
log: { level: 'info' }, // Winston logger options
oem: 0, // OEM Code from artisticlicense, default to dmxnet OEM.
esta: 0, // ESTA Manufacturer ID from https://tsp.esta.org, default to ESTA/PLASA (0x0000)
sName: "Text", // 17 char long node description, default to "dmxnet"
lName: "Long description", // 63 char long node description, default to "dmxnet - OpenSource ArtNet Transceiver"
hosts: ["127.0.0.1"], // Interfaces to listen to, all by default
errFunc: function(err) {
this.error(`Do some error handling or throw it: ${err.message}, stack: ${err.stack}`);
}.bind(this) // optional function to handle errors from the library by yourself. If omitted the errors will be thrown by the library
}
dmxnet works with objects: You can create a new Sender or Receiver-instance at any time, each transmitting or receiving data for a single ArtNet-Universe.
Each combination of net, subnet and universe is possible.
dmxnet can propagate max. 255 Sender/Receiver-Objects to other nodes. This is a limitation based on the internal structure of ArtPollReply-Packages. You can of course use more Sender/Receiver-Objects, but they won't propagate trough ArtPoll.
Create new sender object:
var sender=dmxnet.newSender(options);
Options:
{
ip: "127.0.0.1", //IP to send to, default 255.255.255.255
subnet: 0, //Destination subnet, default 0
universe: 0, //Destination universe, default 0
net: 0, //Destination net, default 0
port: 6454, //Destination UDP Port, default 6454
base_refresh_interval: 1000 // Default interval for sending unchanged ArtDmx
}
Set Channel:
sender.setChannel(channel,value);
Sets channel (0-511) to value (0-255) and transmits the changed values .
Fill Channels
sender.fillChannels(min,max,value);
Sets all channels between min and max (including these) to value and transmits the values.
Prepare Channel:
sender.prepChannel(channel,value);
Prepares channel (0-511) to value (0-255) without transmitting.
Change is transmitted with next
sender.transmit();
call, or the next periodically transmit. Useful for changing lots of channels at once/in parallel from device view.
Transmit:
sender.transmit();
Transmits a new ArtDMX Frame manually.
Reset:
sender.reset();
Resets all channels of this sender object to zero.
Please Note: dmxnet transmits a dmx-frame every 1000ms even if no channel has changed its value!
Create a new receiver-instance:
var receiver=dmxnet.newReceiver(options);
Options:
{
subnet: 0, //Destination subnet, default 0
universe: 0, //Destination universe, default 0
net: 0, //Destination net, default 0
}
Wait for a new frame:
receiver.on('data', function(data) {
console.log('DMX data:', data);
});
The receiver is emits an "data"-event each time new values have arrived.
The current values are stored inside the receiver.values
-array for polling.
Art-Net™ Designed by and Copyright Artistic Licence Holdings Ltd
FAQs
ArtNet-DMX-sender and receiver for nodejs (forked from margau/dmxnet)
We found that @exxili/dmxnet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.