How merlino91/streamsport works
StreamSport is a FastAPI Stremio addon. Users configure an EasyProxy URL and timezone, install the generated addon link, browse genre-filtered sporting events, then request metadata and streams: events are gathered and reconciled into a catalog, time rules determine live versus post-event options, and stream results include live sources or highlights/replays. The README documents Italian and international channels, DoH support, and SQLite retention. Sampled excerpts are partial, so some provider wiring and route details are not represented as edges.
Main entry points: stream_service.py Stream assembly · catalog_service.py Catalog assembly · main.py FastAPI routes · youtube_service.py YouTube highlights
Components 22
Addon API
- FastAPI routes
app/main.py
Event catalog
- Addon settings
app/config.py - Catalog assembly
app/services/catalog_service.py - Genre classification
app/services/genre_classifier.py - ESPN events
app/services/espn_service.py - Motorsport sessions
app/services/ocblacktop_service.py - Official calendar
app/services/thesportsdb_service.py
Playback
- Stream assembly
app/services/stream_service.py - Streamed sources
app/services/streamed_api.py - DaddyLive sources
app/services/daddylive_api.py - TV channel sources
app/services/tvvoo_service.py - YouTube highlights
app/services/youtube_service.py - Dailymotion highlights
app/services/dailymotion_service.py - Sport replays
app/services/sportvideo_service.py
Assets and state
- Match database
app/services/db_service.py - Poster rendering
app/services/banner_service.py - Tennis posters
app/services/tennis_poster_service.py - DoH client
app/services/doh_client.py
External services
- EasyProxy
- Sports data feeds
- Video providers
Other components
- Stremio user
Connections 27
- Stremio user → FastAPI routes: requests addon
- FastAPI routes → Catalog assembly: fetches catalog/meta
- FastAPI routes → Stream assembly: requests streams
- FastAPI routes → Poster rendering: requests poster
- FastAPI routes → Dailymotion highlights: resolves video
- FastAPI routes → Addon settings: reads settings
- Catalog assembly → Genre classification: classifies events
- Catalog assembly → ESPN events: reconciles events
- Catalog assembly → Motorsport sessions: verifies motorsport
- Catalog assembly → Official calendar: enriches events
- Catalog assembly → Match database: persists matches
- Stream assembly → Match database: reads matches
- Stream assembly → Streamed sources: resolves sources
- Stream assembly → DaddyLive sources: looks up fallback
- Stream assembly → TV channel sources: uses channel sources
- Stream assembly → YouTube highlights: gets highlights
- Stream assembly → Dailymotion highlights: gets highlights
- Stream assembly → Sport replays: gets replays
- Stream assembly → EasyProxy: builds proxy links
- ESPN events → Sports data feeds: fetches schedules
- Motorsport sessions → Sports data feeds: fetches sessions
- Official calendar → Sports data feeds: fetches calendar
- YouTube highlights → DoH client: fetches metadata
- YouTube highlights → Video providers: extracts media
- Dailymotion highlights → Video providers: resolves media
- Poster rendering → Catalog assembly: reads cached match
- Tennis posters → Sports data feeds: looks up player art