mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 16:02:26 +00:00
- Create `PROTOCOL_INVENTORY.md` to track non-NIP dependencies (BitTorrent, HLS, LNURL, HTTP Auth). - Generate `reports/protocol/protocol-report-2026-02-25.md` with findings and recommendations. - Fix linting false positives by excluding `torch/` and `dev/` directories from design system checks. - Add `protocol-research-agent` task log. Co-authored-by: PR0M3TH3AN <[email protected]>
3.6 KiB
3.6 KiB
Protocol Inventory
This document tracks external protocol and specification dependencies used by the codebase. It complements NIP_INVENTORY.md which specifically tracks Nostr Implementation Possibilities.
1. Nostr (NIPs)
For a detailed inventory of supported NIPs (Nostr Implementation Possibilities), please refer to NIP_INVENTORY.md.
Summary of Key NIPs:
- NIP-01: Basic Protocol Flow (Compliant)
- NIP-71: Video Events (Partial/Compliant)
- NIP-94: File Metadata (Compliant)
- NIP-44: Encrypted Payloads (Compliant)
2. BitTorrent / WebTorrent
| Protocol | Spec | Source URL | Implementation | Status |
|---|---|---|---|---|
| BitTorrent | BEP-0003 | bittorrent.org | js/services/playbackService.js |
Compliant (via WebTorrent) |
| Magnet URI | BEP-0009 | bittorrent.org | js/magnetUtils.js |
Compliant |
| WebSeed | BEP-0019 | bittorrent.org | js/magnetUtils.js |
Compliant |
| WebTorrent | WebRTC-based BitTorrent | webtorrent.io | js/services/playbackService.js |
Compliant |
Notes:
js/magnetUtils.jsimplements parsing and normalization of magnet links, ensuringxt,ws, andxsparameters are handled correctly.js/services/playbackService.jshandles the fallback logic between HTTP and WebTorrent playback.
3. Media Streaming
| Protocol | Spec | Source URL | Implementation | Status |
|---|---|---|---|---|
| HLS | RFC 8216 | rfc-editor.org | Native Browser / video tag |
Compliant |
Notes:
- The application supports
.m3u8(HLS) playback natively via the browser's video element (Safari) or via HLS.js if integrated (currently relies on browser/device native support or passthrough). - Inputs in
components/upload-modal.htmlaccept.m3u8and.tsfiles.
4. Lightning Network (LNURL)
| Protocol | Spec | Source URL | Implementation | Status |
|---|---|---|---|---|
| LNURL | LUD-01, LUD-06, LUD-16 | github.com/lnurl | js/payments/lnurl.js |
Compliant |
| Zap Requests | NIP-57 | nips.be | js/payments/zapRequests.js |
Compliant |
Notes:
js/payments/lnurl.jsimplements Bech32 decoding/encoding and LNURL resolution.js/payments/zapReceiptValidator.jsvalidates receipts against the LNURL server's public key.
5. HTTP & Authentication
| Protocol | Spec | Source URL | Implementation | Status |
|---|---|---|---|---|
| Nostr HTTP Auth | NIP-98 / Kind 27235 | nips.be | js/services/r2Service.js |
Compliant |
| S3 / R2 API | AWS S3 Compat | aws.amazon.com | js/services/r2Service.js |
Compliant |
Notes:
js/services/r2Service.jsuses NIP-98 style authentication for uploads to compatible storage services (Cloudflare R2).
Compliance & Remediation
- NIP-42 (Auth): Marked as
Non-compliantinNIP_INVENTORY.md. Remediation involves implementingAUTHcommand handling injs/nostr/client.js. - HLS: Reliance on native browser support might limit compatibility on some desktop browsers (Firefox/Chrome on Windows without extensions). Consider integrating
hls.jsif not already present.