Skip to main content


Register Domain

Register your domain to activate P2P service.


Localhost is always whitelisted. This means that you do not have to configure anything to perform tests locally.

Integrate to HTML5 Players

See Player Integration



<script src=""></script>


Click me

Browserify / Webpack

npm install --save @swarmcloud/shaka

To include cdnbye you need to require it in the player module:

var P2PEngineShaka = require('@swarmcloud/shaka');

If you are using ES6's import syntax:

import P2PEngineShaka from '@swarmcloud/shaka';


var player = new shaka.Player(video);
if (P2PEngineShaka.isSupported()) {
new P2PEngineShaka(player, {
live: false, // set to true in live mode
// trackerZone: 'hk', // if using Hongkong tracker
// trackerZone: 'us', // if using USA tracker
// token: YOUR_TOKEN

File Explanation


├── dist/
├── shaka-p2p-engine.min.d.ts # Typescript type information
├── shaka-p2p-engine.min.js # P2pEngine that supports both Dash and Hls
└── shaka-p2p-engine.hls.min.js # P2pEngine that supports Hls only
└── shaka-p2p-engine.dash.min.js # P2pEngine that supports Dash only


CDNBye also supports Electron, you just need to register AppId and get a token from CDNBye console:

new P2PEngineShaka(player, {
token: YOUR_TOKEN,
appName: YOUR_APP_NAME, // 应用的名称
appId: YOUR_APP_ID, // 需要与控制台输入的保持一致
// Other p2pConfig options if applicable

Learn more here