
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.
This is a module to interact with BlackVue dashcams over their local Wi-Fi interface. It cannot use the BlackVue Cloud to connect to a camera over the Internet. Consequently, the machine using this module needs to be connected to the Wi-Fi signal broadcast by the camera, or otherwise able to connect to it.
This requires Node.js v8 or later. All applicable methods are async
.
opts
- An object containing zero or more of the following properties
ip
- The IP address of the camera. You probably don't need to set this. Defaults to 10.99.77.1
.port
The HTTP port. You almost definitely don't need to set this. Defaults to 80
.Constructs a new instance of the BlackVue client. Example:
const BlackVue = require('blackvue');
let bv = new BlackVue();
Returns a Promise which is resolved by an object with these properties:
mp4
- An array of video filesgps
- An array of GPS data files3gf
- An array of accelerometer data filesEach element in each array is a string containing the path relative to the camera's root where the file can be downloaded.
path
- The string path to the file (from getDownloadableFiles
)Returns a Promise which is resolved by an object with these properties:
size
- The file size in byteslength
- The approximate length of time covered by this file, in seconds. This is measured by taking the difference of the timestamp in the filename and the Last-Modified
header, so it's usually off by a second or two.path
- The string path to the file (from getDownloadableFiles
)Returns a Promise which is resolved by an object with these properties:
metadata
- The metadata for the file, in the same format as getFileMetadata
stream
- The stream of the fileThe stream may hang if the camera reboots or disconnects in the middle of the transfer. You're responsible for handling this event on your own if you use this method.
If the file exists on the camera but is empty, the promise will be rejected with error message "Empty file".
remotePath
- The string path to the file (from getDownloadableFiles
)localPath
- The string path where the file should be written (the directory must exist)progressListener
- An optional function which will be called periodically with progress updates. It takes a single object argument with these properties:
metadata
- The metadata for the file, in the same format as getFileMetadata
bytesDownloaded
- The number of bytes downloadedelapsed
- The elapsed time of the download, in secondseta
- The estimated time to completion, in secondsspeed
- The average download rate for this entire download, in bytes per secondReturns a Promise which is resolved with no data when the download is complete.
options
- An optional object with the following options:
camera
- Optional. Which camera you want to view. Specify either BlackVue.Camera.Front
or BlackVue.Camera.Rear
fps
- Optional. You can cap the number of frames emitted per second using this option. This has no effect on
network activity between the camera and your application, it merely causes the module to drop frames received such
that we only emit approximately this many frames per second. This might be useful if you are re-broadcasting the
video stream over a limited data connection. The camera only sends approximately 10 frames per second and setting
this higher than the camera's framerate has no effect.Returns a Promise which is resolved with a VideoStream
instance. VideoStream
is an EventEmitter that emits frame
events for each JPEG frame it receives, and end
when the stream ends. You can call end()
on the stream object to
stop the stream.
Example:
const BlackVue = require('blackvue');
let bv = new BlackVue();
bv.startStream({"camera": BlackVue.Camera.Rear}).then((stream) => {
stream.on('frame', (jpeg) => {
console.log("Got frame of size " + jpeg.length + " bytes");
});
stream.on('end', () => {
console.log("Camera feed ended");
});
setTimeout(() => {
stream.end();
}, 10000);
});
Some caveats:
end
end
if you start downloading a recorded video
from the camera.FAQs
Allows interfacing with Blackvue dashcams over local Wi-Fi connection
The npm package blackvue receives a total of 4 weekly downloads. As such, blackvue popularity was classified as not popular.
We found that blackvue 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
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.