
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
@ekolabs/eko-js-sdk
Advanced tools
A lightweight SDK that allows for easy integration of eko videos into webpages.
A lightweight SDK that allows for easy integration of eko videos into webpages
From your favorite CLI tool:
npm install @ekolabs/eko-js-sdk
Initialize an instance of the EkoPlayer
to play an eko video.
Will return true if playing eko projects is supported in your current web browser.
Example
if (!EkoPlayer.isSupported()) {
alert('Eko is not supported on current environment');
}
Creates an instance of an EkoPlayer.
Param | Type | Description |
---|---|---|
el | Element, String | The container element to be used by the player, or a DOM selector string for the container element. |
Will load and display an eko project. The EkoPlayerView will display the loading animation while it prepares the project for playback. Returns a promise that will fail if the project id is invalid.
Param | Type | Description |
---|---|---|
id | String | The eko video id to load and display. |
options | Object | Options for project delivery. |
options.params | Object | A dictionary of embed params that will affect the delivery. Default includes {autoplay: true} . |
options.events | String[] | A list of events that should be forwarded. |
options.cover | Element, string, function | An element or the query selector string for a loading cover. When loading happens a eko-player-loading class will be added to the element. When loading completes, the eko-player-loading class will be removed and replaced with eko-player-loaded . Once video begins playback, the eko-player-loaded class will be removed and replaced by eko-player-started . If a function is passed, it will be invoked with a string argument (state) whenever the state changes. Some states may also include a 2nd object argument which contains properties pertaining to the state. The possible state values are loading (cover should be shown), loaded (cover should be hidden and play button shown) and started (both cover and play button should be hidden). If no cover is provided, the default eko loading cover will be shown. |
options.iframeAttributes | Object | standard attributes of iframe HTML element. |
options.excludePropagatedParams | String[] | By default, all query string params present on the page will be forwarded onto the video iframe. In order to exclude params from being forwarded, you can supply an array of query param keys (strings or regexes) to list the params that should not be propagated. |
Example
let ekoPlayer = new EkoPlayer('#myContainer', '1.0');
ekoPlayer.load('AWLLK1', {
params: {
autoplay: false,
clearcheckpoints: true,
debug: true
},
events: ['nodestart', 'nodeend', 'playing', 'pause'],
cover: '#myCoverId',
iframeAttributes: { title: 'My Eko Player' }
});
Will play/resume eko video project.
Will pause eko video project.
Will call any player function defined on the eko developer site. Can also be used to set properties.
Param | Type | Description |
---|---|---|
method | String | The player method to call. |
args | Any | Any arguments that should be passed into the method (must be serializable to json) |
Example
ekoPlayer.invoke('play'); // Plays the eko project
ekoPlayer.invoke('audio.play', 'ping'); // Plays the "ping" sound effect via the audio plugin
ekoPlayer.invoke('seek', 'myNodeId', 10); // Seeks 10s into myNodeId
The args array is serialized using the structured clone algorithm. This means that functions cannot be sent as args.
The eko player triggers a number of events. The app can listen to these events by providing the event name in the load call. The callbackFn will be invoked with the arguments passed by the triggered event.
Will dispose EkoPlayer instance
Example
const ekoPlayer = new EkoPlayer('#myContainer');
ekoPlayer.dispose();
Triggered when the player has buffered enough media to begin playback.
Triggered when playback has begun.
If you wish to handle opening urls or social sharing yourself, simply add the following events
to the options in the load call:
urls.intent
share.intent
Example
let ekoPlayer = new EkoPlayer('#myContainer');
// Handle opening URLs in parent frame
ekoPlayer.on('urls.intent', ({ url }) => {
window.open(url, '_blank');
});
// Must pass the 'urls.intent' event at load() time
// in order to be able to listen to this event
ekoPlayer.load('AWLLK1', {
events: ['urls.intent']
});
FAQs
A lightweight SDK that allows for easy integration of eko videos into webpages.
The npm package @ekolabs/eko-js-sdk receives a total of 154 weekly downloads. As such, @ekolabs/eko-js-sdk popularity was classified as not popular.
We found that @ekolabs/eko-js-sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.