1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/swarmcloud-sw-p2p-engine

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

SW P2P Engine создаёт общую распределённую CDN с новейшими HTML5 API — WebRTC для соединения браузеров, ServiceWorker для выполнения запросов, IndexedDB для кэширования данных и WebCrypto для обеспечения безопасности. И это никак не влияет на пользовательский опыт. Никогда. Эта лёгкая библиотека использует лишь небольшую часть свободной пропускной способности, незаметный объём ресурсов процессора, 150 МБ кэша браузера.

Функции

  • Каналы данных WebRTC для облегчённой одноранговой коммуникации без плагинов.
  • Поддержка большинства популярных статических активов, таких как JS, CSS, изображения и аудио.
  • Плавное переключение на обычное использование сервера, если браузер не поддерживает WebRTC.
  • Совместимость со всеми CDN. Никаких изменений на стороне сервиса не требуется.
  • Эффективные политики планирования для повышения производительности потоковой передачи P2P.
  • Использование IP-базы данных для группировки пиров по интернет-провайдеру и регионам.

Поддержка браузерами

WebRTC уже включён в стандарт HTML5 и широко используется в современных браузерах. Совместимость SwarmCloud зависит от поддержки браузерами WebRTC, Service Worker и IndexedDB. | Совместимость | Chrome | Firefox | Mac Safari | Android Wechat/QQ | Opera | Edge | iOS Safari | IE | |:--:|:--:|:--:|:--:|:--:|:--:|:--:| :--:|:--:**** | WebRTC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | | Service Worker | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | | IndexedDB | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | | SwarmCloud | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ |

Подготовка

Зарегистрируйте свой домен

Зарегистрируйте свой домен на сайте https://oms.cdnbye.com.

Защитите свой сайт с помощью HTTPS

Защитите свой сайт с помощью HTTPS, если это ещё не сделано. HTTPS требуется для Service Worker, который мы настроим на следующем шаге. Чтобы защитить свой сайт с помощью HTTPS, вы можете использовать Let's Encrypt для бесплатного сертификата и простой интеграции. Инструкции по началу работы с Let's Encrypt можно найти здесь, чтобы защитить ваш сайт.

Разместите Service Worker

Service Worker от SwarmCloud — это волшебный соус, который управляет P2P-движком. Разместите Service Worker SwarmCloud sw.js в корне вашего домена, то есть https://yourwebsite.com/sw.js. После того как актив будет кэширован, каждое устройство отслеживает будущие запросы на этот актив и автоматически извлекает его из одноранговой сети SwarmCloud вместо более дорогого и медленного исходного сервера (через WebRTC вместо HTTP). Вы можете настроить конфигурацию или использовать стандартную.

Базовое использование

Скопируйте sw.js (./dist/) на свой сервер и сделайте его доступным по адресу https://yourwebsite.com/sw.js.

Расширенное использование

Создайте файл с именем sw.js в корне своего домена, затем импортируйте PeerWorker и добавьте настраиваемые конфигурации:

// import peer-worker into service worker
self.importScripts('https://cdn.jsdelivr.net/npm/swarmcloud-sw@latest/dist/peer-worker.min.js');

var worker = new PeerWorker({
    version: 1,
    logLevel: 'warn',
    allowOrigins: ['https://third-party-site.com'],    // Allow some third party origins to request from p2p, see https://www.cdnbye.com/en/views/sw/API.html#handle-third-party-requests
});
worker.register();

После добавления импортированный Service Worker от SwarmCloud будет обрабатывать события CDN «fetch» для ускорения работы вашего сайта. Все события «fetch», которые не были «поражены» сетью P2P, будут проходить через сеть CDN.

Установите P2P Engine

Добавьте скрипт P2P Engine в элемент <head> домашней страницы. Опять же, вы можете настроить конфигурацию или использовать... Использование SwarmCloud

Базовое использование

Добавьте одну строку скрипта на домашнюю страницу вашего веб-сайта index.html, это автоматически настроит движок P2P с конфигурацией по умолчанию.

<head>
    <script src="https://cdn.jsdelivr.net/npm/swarmcloud-sw@latest?auto=true"></script>
    ...
</head>

Обратите внимание, что параметр скрипта должен быть «auto = true».

Расширенное использование

Создайте экземпляр P2PEngineSW явно, чтобы настроить конфигурацию.

<head>
    <script src="https://cdn.jsdelivr.net/npm/swarmcloud-sw@latest"></script>
    ...
</head>
<script>
var engine = new P2PEngineSW({
    logLevel: 'debug',
    swFile: 'sw.js',          // service worker file name
    swScope: './',            // service worker scope
    swEnabled: true,          // enable or disable service worker
});

engine.registerServiceWorker().then(function (registration) {
    console.info('ServiceWorker registration successful with scope: ', registration.scope);
    if (P2PEngineSW.isSupported()) {
        engine.start();
    }
}).catch(function(err) {
    console.info('ServiceWorker registration failed ', err)
})
</script>

Или через npm

$ npm install swarmcloud-sw
import P2PEngineSW from 'swarmcloud-sw';

// Create P2PEngineSW instance...

Проверьте, правильно ли работает SwarmCloud

Откройте консоль Chrome. Если она выводит сообщение типа «Регистрация ServiceWorker прошла успешно со сферой действия», это означает, что SwarmCloud уже работает.

API и конфигурация

См. API.md.

Спонсорство открытого исходного кода

Все некоммерческие сайты, такие как проекты с открытым исходным кодом и блоги, могут подать заявку на постоянное бесплатное использование. Пожалуйста, свяжитесь со службой поддержки клиентов для активации.

Связанные проекты

  • hlsjs-p2p-engine — технология доставки веб-видео без плагинов для hls.js.
  • dashjs-p2p-engine — технология доставки веб-видео без плагинов для MPEG-dash.
  • mp4-p2p-engine — технология доставки веб-видео без плагинов для MP4.

Часто задаваемые вопросы

Мы собрали некоторые часто задаваемые вопросы. Прежде чем сообщать о проблеме, пожалуйста, поищите, есть ли в FAQ ответ на вашу проблему.

Свяжитесь с нами

Электронная почта: service@cdnbye.com
Telegram: @cdnbye
Skype: live:86755838

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/swarmcloud-sw-p2p-engine.git
git@api.gitlife.ru:oschina-mirror/swarmcloud-sw-p2p-engine.git
oschina-mirror
swarmcloud-sw-p2p-engine
swarmcloud-sw-p2p-engine
master