修改了 DNS 的 Apple TV 的視頻界面如何做到的?

apple tv3修改dns後,在預告片可以看到各大網站信息,這個是如何做到的?想做源的話還有界面,需要如何做?


之前研究過這個 DNS hack,最早是 http://ottnt.com 論壇的 ttvast 發現的。其實 Apple TV 那個 Trailer 【預告片】功能是個基於 XML 和 JavaScript 的瀏覽器程序,使用 HTTP 協議訪問蘋果伺服器上的特殊 XML 格式文件從而決定展示的內容。

之前版本的 Apple TV 打開 Trailer 後訪問的 XML 文件是 http://trailers.apple.com/appletv/index.xml,你可以下載回來研究一下,格式非常簡單。不過最近一次版本升級後似乎做過改動,首先訪問的是 http://trailers.apple.com/appletv/us/js/application.js 這個 JavaScript 腳本,然後通過這個腳本載入 http://trailers.apple.com/appletv/us/nav.xml 這個 XML 文檔。代碼非常簡單明了,花點時間逆向工程一下就可以實現自定義的用戶界面了。

因為這個 hack 並不改動 Apple TV 本身,所以對設備非常安全可靠,不存在越獄失敗變磚的風險【Apple TV 3 的越獄到現在為止都還沒有實現,導致只支持 720p 但可以越獄裝 Plex/XMBC 的二手 Apple TV 2 價格被炒得老高】。不過就是對媒體格式有要求,只支持 MPEG 標準的 MP4/H.264/AAC/AC3 格式,如果要播 MKV 容器的視頻需要自己 remux 或者 transcode,稍微費勁。

我本來想自己弄個界面播放區域網 NAS 上的視頻,這樣就不用把所有視頻都放在 iTunes 裡面還得保持 Mac 開機才能用 Apple TV 看。後來發現其實用 iPhone 通過 HTTP 訪問 NAS 的的視頻然後 AirPlay 到 Apple TV 簡單得多,而且顯然 iPhone 控制起來比那個破紅外遙控器好使多了,就懶得弄了。哪天蘋果發現這個問題把 Trailer 改成 HTTPS 協議訪問了這個 DNS hack 就不好使了。這個風險確保了這個 hack 只能用來玩票,沒法基於這個做商用。不少人都盼星星盼月亮盼蘋果趕快出 app store for Apple TV 呢?


你可以在區域網里先抓包,看看人家訪問了哪些域名。

然後在區域網里找台電腦做DNS和伺服器,把上面那些域名定向到自己,然後模範人家伺服器下行數據的格式該幹啥幹啥。


https://github.com/shaohua/AppleTVdns


那麼,我的問題是,如果通過修改過的DNS伺服器訪問迅雷或者百度雲盤,是否所有的賬號和密碼信息都會在DNS端被隨便拿到呢?


推薦閱讀:

蘋果手機需要刪掉安裝包嗎?之前用安卓所以老是有強迫症刪安裝包?

TAG:蘋果產品 | 智能電視 | AppleTV |