How karayel90/cloudplug works
Cloudplug is a Cloudstream 3 extension repository for Turkish content. The user adds its repository to Cloudstream, then browses channel catalogs and selects a stream: separate providers expose tabii live channels and a community-M3U-based Turkish TV catalog, alongside Ace Stream and direct-HLS sports capabilities. The graph distinguishes catalog acquisition/normalization from provider-facing playback and shared parsing/assets. Some source is unsampled, so links to those capabilities are marked unverified rather than inferred as definite calls.
Main entry points: TabiiProvider.kt tabii provider · TrLiveProvider.kt TR Channels provider · TrLiveChannels.kt M3U catalog · TabiiProviderPlugin.kt Provider registration
Components 15
Cloudstream integration
- Provider registration
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProviderPlugin.kt
tabii live TV
- tabii provider
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProvider.kt - tabii channel models
TabiiProvider/src/main/kotlin/tr/tabii/TabiiModels.kt
Turkish live catalog
- TR Channels provider
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveProvider.kt - M3U catalog
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveChannels.kt - Dead stream filter
TabiiProvider/src/main/kotlin/tr/tabii/DeadStreams.kt - Extra channels
TabiiProvider/src/main/kotlin/tr/tabii/ExtraChannels.kt
Playback and shared utilities
- Next.js data parser
common/src/main/kotlin/tr/common/NextData.kt - M3U parser
common/src/main/kotlin/tr/common/M3u.kt - Channel logos
TabiiProvider/src/main/kotlin/tr/tabii/LogoAssets.kt - Direct HLS streams
TabiiProvider/src/main/kotlin/tr/tabii/DirectStreams.kt - Ace Stream channels
TabiiProvider/src/main/kotlin/tr/tabii/AceStreamChannels.kt - Ace Stream handling
TabiiProvider/src/main/kotlin/tr/tabii/AceStream.kt - Ace Stream app handoff
TabiiProvider/src/main/kotlin/tr/tabii/AceStreamApp.kt
Other components
- Cloudstream user
Connections 16
- Cloudstream user → Provider registration: adds repository
README.md - Provider registration → tabii provider: registers
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProviderPlugin.kt - Provider registration → TR Channels provider: registers
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProviderPlugin.kt - tabii provider → Next.js data parser: parses embedded data
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProvider.kt - tabii provider → tabii channel models: maps channel data
- tabii provider → Channel logos: selects logos
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProvider.kt - TR Channels provider → M3U catalog: loads catalog
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveProvider.kt - TR Channels provider → M3U parser: normalizes search
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveProvider.kt - M3U catalog → M3U parser: parses playlist
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveChannels.kt - M3U catalog → Dead stream filter: filters dead URLs
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveChannels.kt - M3U catalog → Extra channels: adds entries
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveChannels.kt - TR Channels provider → Channel logos: selects logos
TabiiProvider/src/main/kotlin/tr/tabii/TrLiveProvider.kt - tabii provider → Direct HLS streams: resolves direct playback
TabiiProvider/src/main/kotlin/tr/tabii/TabiiProvider.kt - tabii provider → Ace Stream channels: offers Ace channels
- Ace Stream channels → Ace Stream handling: uses stream handling
TabiiProvider/src/main/kotlin/tr/tabii/AceStreamChannels.kt - Ace Stream handling → Ace Stream app handoff: hands off playback
TabiiProvider/src/main/kotlin/tr/tabii/AceStreamApp.kt