You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to get the HLS URL from their https://gdtv-api.gdtv.cn/api/tvColumn/v1/tvColumn/CHANNEL-ID HTTP API endpoint, the node query string parameter is required. Its value appears to be the base64 encoded value of a wsnode response value from the wss://tcdn-ws.itouchtv.cn:3800/connect websocket API when sending a {"route":"getwsparam","message":"..."} message. The message part is the node response value from the https://tcdn-api.itouchtv.cn/getParam API.
The big problem however are the X-Itouchtv-... HTTP headers. I can't find the code where the X-Itouchtv-Ca-Signature header gets calculated and set, so I don't know what data they are signing with the key they include. Finding and debugging the code is really tedious and annoying, considering that everything's minified/obfuscated and lots of JS-polyfill code (like generators) is included too, which makes it extra annoying.
Considering that this is already rather complex, I'm giving up. If someone figures it out and wants to open a pull request, please go ahead.
The newer methods seem to talk about a mix of WebAssembly decryption and signature calculation that should be around the same trick. I've found a WASM file while browsing gdtv.cn, encoded in base64. Though i'll have to test the method.
Checklist
Description
It provided:
广东卫视广东珠江广东新闻广东民生广东体育大湾区卫视大湾区卫视(海外版)经济科教广东影视4K超高清广东少儿嘉佳卡通南方购物岭南戏曲现代教育广东移动荔枝台纪录片GRTN健康频道GRTN文化频道GRTN生活频道GRTN教育频道
There is no any region lock.
API: https://gdtv-api.gdtv.cn/api/tvColumn/v1/tvColumn/43
x-itouchtv-ca-key: 89541443007807288657755311869534 (FIXED)
x-itouchtv-ca-signature: s0ejgTWVIIUC3X+5A0fFVUGtBAB7hJSb8yPPKtHRDfs= (NON STATIC)
x-itouchtv-ca-timestamp: 1658974287663 (TIME STAMP CURRENT)
x-itouchtv-client: WEB_PC (FIXED)
x-itouchtv-device-id: WEB_f7461cd0-fde8-11ec-b3cc-c120738f1955 (FIXED)
Input URLs
https://www.gdtv.cn/tvChannelDetail/43
https://tcdn.itouchtv.cn/live/gdws.m3u8?t_token=4a15518b3850b4a03a864e9bf3d98900-7flPSXtTTGv3fVNmoSaB78b3pomRK2%2F2i7Vhs2%2BMlq%2FAFxWD%2FuaQR7FN8R2vQCyKFbXa0CWLlsgsH9dTbEIzD1W8VAMLMDEFkLF1vbUj4HjYPuRGdVZmAAlb%2F1jjm1BdX3pwLrUqqkeBxpnoLfqUHUMdgPm584PlLmTHp%2BgCjDmEqlx%2BZXYl7cO9KqVv1k4HLHsKdIz3RNI565RqsR4uW5fn5DF7WReywREpQWrZbkm%2BIWgune4DlNKt4V5y0xbkJjQUTUnRd5W5%2Bm%2BZeZV
The text was updated successfully, but these errors were encountered: