Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
An event driven OSC message receiver for the Muse Brainwave Band made with Node.JS.
An NPM module which provides an event driven OSC message receiver for the Muse Brainwave Band.
This NPM module will create a server which automatically connects to the Muse, keeps the connection open and reconnects if necessary. During the open connection the server will receive all of the signals the Muse has to offer and translates them to neat little strings and objects. The open server offers an observer type pattern, allowing the user to subscribe to these signals in an event driven way.
$ npm install node-muse
As any other node module you can hereafter require it inside your node application. This will give you access to the two parts of which the module exists. The OSC receiver and the Muse message event system.
var nodeMuse = require("node-muse");
var Muse = nodeMuse.Muse;
var OSC = nodeMuse.OSC;
// Opens a muse server and waits for the muse to interact with it.
// Optionally it's possible to use the parameters connect( [HOST] , [PORT] );
// These default to 127.0.0.1 , 5002
nodeMuse.connect();
Most of the time, you won't be needing the OSC receiver and you will be talking directly to the Muse message event system. Therefore, you can also chain the connect function.
// Opens a muse server and waits for the muse to interact with it.
// Optionally it's possible to use the parameters connect( [HOST] , [PORT] );
// These default to 127.0.0.1 , 5002
// Returns the Muse object for easy use.
var Muse = nodeMuse.connect().Muse;
Once the server is waiting for the Muse to connect, it's probably wise to connect your Muse via Bluetooth. Whenever the Muse establishes a connection via Bluetooth, the Node Muse server will automatically pick it up and start to receive events from it.
The entire thing is event driven and all you need to do from here is subscribe to these events.
Muse.on('connected', function(){
// There's definitely a muse connected right now!
});
Muse.on('uncertain', function(){
// For some reason, i'm not detecting the muse anymore at the moment...
// Waiting for new signals to arrive...
})
Muse.on('disconnected', function(){
// Nope, it's definitely not connected anymore...
});
Receiving data from the paths the Muse provides works the same way. You can find all the paths the Muse has to offer on Muse's developer resources page.
E.G.:
Muse.on('/muse/batt', function(){
// I'm getting battery information every 10 seconds!
});
Muse.on('/muse/elements/blink', function(){
// Staring contest getting serious...
});
Muse.on('/muse/eeg', function(){
// Receiving EEG signals!
});
Etc...
Even though you can receive configurations through a path (/muse/config) as well, this module also provides a simple config object.
// A configuration object containing information about the Muse connected.
Muse.config;
And that's about it really...
Examples are included in the examples folder.
For my research on virtual reality sickness I needed some form of assurance whether the person I was testing with wasn't holding feelings back and acting tough. So I tried to use the Muse Headband to track down a disturbance in the force (brainwaves) on stressful moments.
Turns out, the default support and tools for the Muse Headband wasn't that great at that point. So I decided to build a simple node server capable of connecting to the muse and delivering messages from the muse in a friendly way.
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
As seen here: GPLv3 License
FAQs
An event driven OSC message receiver for the Muse Brainwave Band made with Node.JS.
We found that node-muse 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
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.