Skip to content

Instantly share code, notes, and snippets.

@kicumkicum
Last active May 17, 2024 14:43
Show Gist options
  • Save kicumkicum/d658b84025e80e750d6365b076433221 to your computer and use it in GitHub Desktop.
Save kicumkicum/d658b84025e80e750d6365b076433221 to your computer and use it in GitHub Desktop.

Interesting projects

Warning: весь код был написан преимущественно ночью 💤

React TV Player

https://github.com/kicumkicum/react-tv-player

Маленький и визуально не красивый видео-плеер под Tizen и WebOS. Проэкт-челендж. Хотелось быстро создать кросс-платформенное приложение на React/WebPack используя zombiebox-platforms в качестве абстракций над платформами.

TorrentProxy

https://github.com/torrent-proxy

Проект по загрузки торрентов на устройствах их не поддерживающих. Например, скачивание торрента в браузере; просмотр видео с торрентов на ТВ.

Компоненты проекта

RestAPI

https://github.com/torrent-proxy/torrent-proxy

Ручки для получения метаданных раздачи по хешу, загрузки и получения потока для использования в браузере.

BTStream

https://github.com/torrent-proxy/bt-stream/

Библиотека для потокового скачивания файла раздачи на нодовских стримах. Ранее вместо нее использовался peerflix, но желание оптимальнее расходовать ресурсы побудили написать собственное решение.

Ничего не хранит на диске, последовательно скачивает байтики и отдает их потребителю. В контексте всей системы потребитель - это браузер или тег video. Есть нерешенные проблемы со стабильностью и многозадачностью, но в целом можно пользоваться. Код грязноват, так как разработка велась преимущественно ночью.

Сущности
  • swarm, wire - абстракции на peer-wire-protocol
  • bt-stream - точка входа для получения метаданных и старта загрузки
  • pie - абстракция над загружаемым файлом раздачи и контроллер для последовательной загрузки "кусков" файла
  • piece-loader - загрузчик "куска"

WebApp

https://github.com/torrent-proxy/web-app/

Веб-интерфейс для API. Разрабатывался моим товарищем на Angular. Моего кода там вроде бы нет. Указал для целостности

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment