How batchping/teleflix works
TeleFlix turns a submitted video URL into an HLS catalog entry, then serves its segments through a Cloudflare Worker. The documented path runs from the dashboard through a GitHub Actions ingest runner, which segments and uploads to Telegram while recording metadata in D1. Playback uses signed URLs and an edge cache before fetching uncached segments from Telegram. The README also describes license checks, catalog management, and BYOI configuration; source excerpts were not available to verify internal call details, so these links reflect documented behavior.
Main entry points: dist/index.js Segment proxy · ingest-video.yml GitHub Actions runner · dist/index.js Ingest engine · schema.sql D1 metadata
Components 16
Video ingestion
- GitHub Actions runner
.github/workflows/ingest-video.yml - Ingest engine
ingest/dist/index.js - HLS segmentation
ingest/dist/index.js - Upload rate limiter
ingest/dist/index.js
Edge playback
- Worker API
worker/dist/index.js - License validation
worker/dist/core.wasm - Playback signing
worker/dist/index.js - Segment proxy
worker/dist/index.js - Cloudflare edge cache
Metadata and storage
- D1 metadata
worker/schema.sql - Telegram channels
User experience
- TeleFlix dashboard
- HLS.js player
Other components
- Video operator
- Remote video URL
- GitHub workflow dispatch
Connections 19
- Video operator → TeleFlix dashboard: submits URL
README.md - TeleFlix dashboard → GitHub workflow dispatch: dispatches job
README.md - GitHub workflow dispatch → GitHub Actions runner: starts workflow
README.md - GitHub Actions runner → Ingest engine: runs
README.md - Ingest engine → Remote video URL: downloads video
README.md - Ingest engine → HLS segmentation: segments video
README.md - HLS segmentation → Upload rate limiter: limits uploads
README.md - Upload rate limiter → Telegram channels: uploads segments
README.md - GitHub Actions runner → D1 metadata: records metadata
README.md - TeleFlix dashboard → Worker API: tests and configures
README.md - TeleFlix dashboard → Worker API: requests playback
README.md - Worker API → License validation: validates license
README.md - Worker API → D1 metadata: reads catalog
README.md - Worker API → Playback signing: signs URLs
README.md - HLS.js player → Segment proxy: requests segments
README.md - Segment proxy → Cloudflare edge cache: checks cache
README.md - Segment proxy → Telegram channels: fetches misses
README.md - Segment proxy → Cloudflare edge cache: caches segments
README.md - Segment proxy → HLS.js player: streams segments
README.md