- Castor एक terminal tool है जो web page या direct stream URL से असली video stream खोजकर उसे TV के लिए convert करता है, और screen mirroring के बिना original quality में real-time भेजता है
- यह headless Chrome और Chrome DevTools Protocol से network traffic observe करता है, और page click, सबसे बड़े iframe में entry, फिर re-click के जरिए stream extract करता है; लेकिन जिन pages में autoplay allowed नहीं है, वहाँ यह काम नहीं कर सकता
- इसे DLNA/UPnP support करने वाले smart TV और Kodi, VLC, Plex में इस्तेमाल किया जा सकता है; Chromecast support implement किया गया है, लेकिन अभी experimental है और test नहीं हुआ है
- playable H.264 video को re-encode किए बिना pass करता है, और जरूरत पड़ने पर hardware encoder या
libx264 से convert करता है; whisper से बनाए गए subtitles को video में embed भी कर सकता है
- यह video, catalog या sources provide नहीं करता और DRM bypass नहीं करता; इसे केवल वे pages और streams transmit करने के लिए design किया गया है जिन्हें user खुद specify करता है और जिनका use करने का अधिकार रखता है
Web video को असली stream के रूप में भेजना
- Castor arbitrary web video को directly transmit न कर पाने वाले smart TV और latency व resolution loss वाली screen mirroring के विकल्प के रूप में, actual video stream को full quality में transmit करता है
- Web page या direct stream URL डालने पर यह video खोजता है, stream extract करता है, फिर TV के मुताबिक transcode करके real-time में भेजता है
- User-configured sources से IMDB/TMDB ID lookup कर सकता है या auto-generated subtitles को video में embed कर सकता है
castor cast चलाने पर terminal-based interactive browser में titles browse करके transmit किए जा सकते हैं
Stream extraction का तरीका और limitations
- Headless Chrome चलाकर Chrome DevTools Protocol से network traffic observe करता है और stream खोजता है
- Playback start करने के लिए एक छोटा action pipeline perform करता है
- Page click
- सबसे बड़े iframe में जाना
- fallback action के रूप में फिर से click
- Autoplay allow करने वाले pages पर काम करता है, और सभी sites support नहीं करता
Installation और runtime requirements
- Recommended तरीका TV के same network पर चलने वाला native binary है
- Runtime environment के
PATH में ये tools चाहिए
- Chrome या Chromium: headless stream extraction
ffmpeg: transcoding
ffprobe: media format detection
- macOS पर इसे Homebrew से install किया जा सकता है
brew install --cask stupside/tap/castor
- Source build के लिए Go 1.26+ और CMake चाहिए
- whisper.cpp binding cgo use करती है और locally built
libwhisper.a से link होती है
- local
replace और prebuilt static library चाहिए, इसलिए go install काम नहीं करता
git clone --recurse-submodules https://github.com/stupside/castor.git
cd castor
make
Basic usage flow
castor scan से TV का नाम खोजें और config.yaml के device में exact name और device type specify करें
device:
name: "Living Room TV"
type: dlna
- Web page या direct stream URL को
cast player से transmit करें
castor cast player https://example.com/watch/some-video
- Interactive title search के लिए TMDB API key और user-configured sources चाहिए; पूरा command और flags
castor --help में देखे जा सकते हैं
Configuration और user-provided sources
config.yaml current directory या --config से specified path से read होता है, और required item केवल transmission target की device setting है
- Timeouts, discovery, capture, transcoding, network interface, Chrome navigation के default values provided हैं
- Secret values को Git से excluded
config.local.yaml से override किया जा सकता है, या CASTOR_SECTION__FIELD format के environment variables से specify किया जा सकता है
cast movie, cast episode, interactive browser user-configured sources में title ID substitute करते हैं
- Castor में खुद sources, catalog या lookup functionality शामिल नहीं है
- User-written
templates में ID substitute करता है, हर proxies को prefix करके page खोलता है, फिर cast player जैसे तरीके से stream extract करता है
- Multiple proxies specified order में try किए जाते हैं
sources:
- proxies: ["https://your-source.example"]
templates:
movie: "/embed/movie/{itemID}"
episode: "/embed/tv/{itemID}/{season}-{episode}"
TMDB search और automatic subtitles
- Interactive browser title search के लिए TMDB API key use करता है
- Key themoviedb.org से मिल सकती है
cast movie <id> जैसे direct commands के लिए TMDB key की जरूरत नहीं है
- Automatic subtitles whisper से audio transcribe करके video में embed करते हैं और default रूप से disabled रहते हैं
- Default language English है
- Default model करीब 75MB का
ggml-tiny.en है और automatically download होता है
Supported devices
- DLNA/UPnP
MediaRenderer:1 profile implement करने वाले TV support करता है
- Samsung test किया गया है, और LG, Sony Bravia, Panasonic Viera, Philips, Hisense, TCL, VIZIO, Sharp target support में हैं
- Kodi, VLC, Plex जैसे network players भी use किए जा सकते हैं
castor scan से same network के devices query करता है
- Chromecast support implement किया गया है, लेकिन experimental है और test नहीं हुआ है
Docker constraints और network configuration
- Linux-only Docker image Chrome,
ffmpeg, ffprobe के साथ आती है
- Docker में TV के same LAN पर Linux host चाहिए, और SSDP multicast discovery व Castor playback server connection के लिए
--network host use करना होगा
- Docker Desktop के macOS और Windows में
--network host LAN से connect नहीं होता
- Container Docker Desktop internal VM subnet में रखा जाता है, जिससे
scan devices नहीं खोज पाता और transmission भी fail होता है
- macOS और Windows में native binary use करें या Linux VM को LAN में bridge करें
/config.yaml mount करके settings provide की जा सकती हैं, और volume में automatically downloaded whisper model preserve किया जा सकता है
latest के बजाय release tag use करने से version pin किया जा सकता है
Media passthrough और encoding
- अगर TV allowed profile और level वाला H.264 video पहले से play कर सकता है, तो stream copy use करके CPU usage लगभग 0 तक घटा देता है
- अगर TV codec reject करता है या subtitles embed करने हैं, तो re-encoding करता है
- Linux के VA-API या native macOS binary के VideoToolbox जैसे सच में काम करने वाले hardware H.264 encoder को पहले चुनता है
- उपलब्ध न होने पर software
libx264 पर fallback करता है
- Docker container में Intel GPU का VA-API use करने के लिए
--device /dev/dri चाहिए; केवल --network host से GPU expose नहीं होता
Use cases और limitations
- Castor किसी specific site से जुड़ी service नहीं, बल्कि general-purpose transmission tool है
- यह videos, catalogs या sources host या bundle नहीं करता; केवल user-specified pages, streams और sources process करता है जिनका use करने का user के पास अधिकार है
- यह DRM decrypt या bypass नहीं करता और DRM-protected services transmit नहीं कर सकता
- Site terms of service और local laws का पालन करने की जिम्मेदारी user की है, और इसे legal personal व educational use के लिए as-is provide किया गया है
2 टिप्पणियां
वाह, नीचे वाले comment में दिया https://tvexplorer.live/channel/EBS1TV.kr.SD/country/KR यह बहुत सुविधाजनक है। हाहा
लगता है Korea में यह blocked है, लेकिन क्या विदेश में इसे सीधे देखा जा सकता है?
Hacker News की राय
बिना किसी अलग bypass के, channels द्वारा public किए गए HLS streams को सीधे browser में चलाने वाला TV Explorer बनाया। इसमें 10,000 से ज़्यादा free channels वाली public GitHub list का उपयोग किया गया है
https://tvexplorer.live
सोच रहा हूं कि दूसरे TV services ऐसा क्या करते हैं जो यहां नहीं किया जा रहा
Bots को हर बार नए profile वाला headless browser चलाना पड़े, यह स्थिति बेतुकी है। Cloudflare bots को रोक नहीं पाता, बस दोनों तरफ के resources बर्बाद कराता है, और access logs व passwords NSA को सौंपने जैसा है; पुराने internet पर लौटना चाहता हूं
Explanation कहता है, “Chromecast या AirPlay नहीं था, इसलिए laptop के web video को TV पर भेजने के लिए बनाया,” लेकिन यह Claude द्वारा बनाया हुआ लगता है
मुझे लगा था Turnstile का core headless browsers को detect करके bypass मुश्किल बनाना है, इसलिए संदेह है कि सिर्फ check mark click की नकल करके वाकई pass हो सकता है या नहीं
वास्तविक security से ज़्यादा Cloudflare के लिए humans और bots में फर्क किए बिना aggregate किए गए blocked users count को marketing में इस्तेमाल करने वाली fake security अहम लगती है
Checkbox सिर्फ एक हिस्सा है; उससे पहले browser के सभी actions और event responses को observe करके bot होने की संभावना के आधार पर decide किया जाता है कि extra verification चाहिए या नहीं
आमतौर पर piracy tools कम से कम plausible deniability छोड़ते हैं, लेकिन यहां तो यह claim करता है कि इस weekend release होने वाली 250 million dollar budget वाली blockbuster तक stream कराने में मदद करेगा
Emulator Azahar और games को automatically decrypt करने वाला illegal fork Azahar Plus भी वैसा ही है, लेकिन फिर से देखने पर यह project illegal streaming sites को built-in रखता है
15 साल से भी पुराने साधारण Samsung TV पर तुरंत काम कर गया। सोच रहा हूं कि https://vsembed.ru/movies/latest/page-1.json जैसी सभी JSON pages को analyze करने के लिए खुद search function लिखना सबसे बेहतर होगा या नहीं
Description में context कम है, इसलिए यह किस काम का tool है और piracy के लिए है या नहीं, समझना मुश्किल है
Torrent इस्तेमाल करने जितनी ही मेहनत लगती है, इसलिए इसे इस्तेमाल करने की खास वजह समझ नहीं आती
macOS के Docker version में TV नहीं मिल सकता
“random fingerprints और stealth scripts से automation छिपाने वाला headless Chrome चलाता है” वाले हिस्से पर भरोसा उठ गया
navigator, Audio API, Canvas API को modify करता है। यह बहुत basic level है, इसलिए आसानी से detect होने की संभावना बड़ी है