Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@recordreplay/recordings-cli
Advanced tools
CLI tool for uploading and managing recordings
CLI tool and node module for managing and uploading Replay recordings.
When using the Replay versions of node, playwright, or puppeteer, recordings which are created are saved to disk, by default in $HOME/.replay
. This package is used to manage these recordings and upload them to the record/replay web service so that they can be viewed.
npm i @recordreplay/recordings-cli --global
replay-recordings <command>
Possible commands are given below. These may be used with the --directory <dir>
option to override the default recording directory, or --server <address>
to override the default server address. When uploading, an API key is required, which can be passed via --api-key <key>
or by setting the RECORD_REPLAY_API_KEY
environment variable.
View information about all known recordings. Prints a JSON array with one descriptor element for each recording. Recording descriptors have the following required properties:
id
: ID used to refer to this recording in other commands.createTime
: Time when the recording was created.runtime
: Runtime used to create the recording: either gecko
, chromium
, or node
.metadata
: Any information the runtime associated with this recording. For gecko/chromium recordings this is the URI of the first page loaded, and for node recordings this is the original command line arguments.status
: Status of the recording, see below for possible values.The possible status values for a recording are as follows:
onDisk
: The recording was fully written out to disk.uploaded
: The recording was fully uploaded to the record/replay web service.startedWrite
: The recording started being written to disk but wasn't finished. Either the recording process is still running, or the recording process was killed and didn't shut down normally.startedUpload
: The recording started being uploaded but didn't finish.unusable
: The recording was marked as unusable for some reason, such as a stack overflow occurring.crashed
: The recording process crashed before finishing.crashUploaded
: The recording process crashed and the crash data was uploaded to the record/replay web service for analysis.Depending on the status the recording descriptor can have some of the following additional properties:
path
: If the recording started being written to disk (including before being uploaded), the path to the recording file.server
: If the recording started being uploaded, the address of the server it was uploaded to.recordingId
: If the recording started being uploaded, the server-assigned ID for this recording which can be used to view it.unusableReason
: If the recording is unusable, the reason it was marked unusable.Upload the recording with the given ID to the web service.
Upload a recording, and then process it to ensure it can be replayed successfully.
Upload all recordings to the web service which can be uploaded.
View the the given recording in the system's default browser, uploading it first if necessary.
View the most recently created recording in the system's default browser, uploading it first if necessary.
Remove the recording with the given ID and any on disk file for it.
Remove all recordings and on disk recording files.
Updates any installed browsers used for recording in automation: playwright, puppeteer, and cypress.
This package can be used as a node module to directly access its functionality rather than going through the CLI tool.
Installation:
npm i @recordreplay/recordings-cli
Usage:
const interface = require("@recordreplay/recordings-cli");
The interface includes the following members. Options objects can include directory
, server
, and apiKey
properties which behave the same as --directory
, --server
, and --api-key
arguments to the CLI tool, and a verbose
property which can be set to log the same output as the CLI tool. Any of these properties or the options object themselves can be omitted to use default values.
Equivalent to replay-recordings ls
, returns the JSON object for the recordings.
Equivalent to replay-recordings upload <id>
, returns a promise that resolves with a recording ID if the upload succeeded, or null if uploading failed.
Equivalent to replay-recordings process <id>
, returns a promise that resolves with a recording ID if the upload and processing succeeded, or null if either failed.
Equivalent to replay-recordings upload-all
, returns a promise that resolves with whether all uploads succeeded.
Equivalent to replay-recordings view <id>
, returns a promise that resolves with whether the recording is being viewed.
Equivalent to replay-recordings view-latest
, returns a promise that resolves with whether the latest recording is being viewed.
Equivalent to replay-recordings rm <id>
, returns whether the recording was removed.
Equivalent to replay-recordings rm-all
.
Equivalent to replay-recordings update-browsers
.
FAQs
CLI tool for uploading and managing recordings
We found that @recordreplay/recordings-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 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
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.