mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-19 00:11:45 +00:00
3.2 KiB
3.2 KiB
Torrent Engine Research (2026-02-19)
Scope
- Android torrent streaming engine choice and viability.
- iOS/tvOS torrent engine choice and integration strategy.
- Check requested references (
Stremio,vlc-bittorrent) and pick lowest-risk modern path.
Android Findings
Selected
frostwire/frostwire-jlibtorrent- GitHub: 498 stars, recently updated.
- Works directly from Android/Kotlin, stable JVM binding around libtorrent.
- Current branch now uses
2.0.12.7artifacts from FrostWire Maven.
Why
- Native Android integration is straightforward compared to desktop-plugin or Node-sidecar designs.
- Mature dependency chain and direct access to session/piece priority APIs.
iOS Findings
Core Engine
arvidn/libtorrentremains the strongest base core.
Real-World iOS References
XITRIX/iTorrent- 2,953 stars, actively maintained.
- Uses
libtorrent-rasterbarand local HTTP serving for playback.
XITRIX/LibTorrent-Swift- Active Swift wrapper used by iTorrent.
danylokos/SwiftyTorrent- Useful reference, but older push cadence and older toolchain approach.
siuying/peerflix-ios- Archived and stale; not suitable for modern production path.
Local HTTP Layer
swisspol/GCDWebServeris archived.swhitty/FlyingFoxis active and supports range-friendly file serving patterns.
Requested Check: johang/vlc-bittorrent
- Valuable as VLC plugin reference, but not a direct RN iOS integration path.
- Architecture is plugin-for-VLC, not embedded app-native bridge for Nuvio.
Stremio Research Summary
stremio-shelldesktop runtime expects a separate streaming server flow.stremio-servicepackaging is desktop-oriented.- This confirms Nuvio mobile should use embedded native torrent engine modules per platform, not desktop service porting.
Decision
- Android: stay on jlibtorrent-based native module (already integrated).
- iOS/tvOS: use libtorrent core + Swift bridge + local HTTP range bridge (prefer active server stack like FlyingFox or equivalent custom).
- Keep one JS contract across platforms (
prepareStream/stopStream/stopAllStreams) with platform-native implementations.
Data Points (GitHub API, 2026-02-19)
frostwire/frostwire-jlibtorrent: stars 498, pushed 2026-02-14arvidn/libtorrent: stars 5,847, pushed 2026-02-18XITRIX/iTorrent: stars 2,953, pushed 2026-01-29XITRIX/LibTorrent-Swift: stars 8, pushed 2026-02-03danylokos/SwiftyTorrent: stars 128, pushed 2024-04-20siuying/peerflix-ios: stars 84, archived, pushed 2017-03-18swisspol/GCDWebServer: stars 6,615, archived, pushed 2022-10-05swhitty/FlyingFox: stars 626, pushed 2026-01-23johang/vlc-bittorrent: stars 472, pushed 2026-02-04
Links
- https://github.com/frostwire/frostwire-jlibtorrent
- https://github.com/arvidn/libtorrent
- https://github.com/XITRIX/iTorrent
- https://github.com/XITRIX/LibTorrent-Swift
- https://github.com/danylokos/SwiftyTorrent
- https://github.com/siuying/peerflix-ios
- https://github.com/swhitty/FlyingFox
- https://github.com/swisspol/GCDWebServer
- https://github.com/johang/vlc-bittorrent
- https://github.com/Stremio/stremio-shell
- https://github.com/Stremio/stremio-service