Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请教如何抓取官方EPG #23

Open
caixiaohaier opened this issue Nov 25, 2022 · 7 comments
Open

请教如何抓取官方EPG #23

caixiaohaier opened this issue Nov 25, 2022 · 7 comments

Comments

@caixiaohaier
Copy link

想请教下作者有没有办法抓取IPTV内网的EPG电子节目单出来,因为网上公共的EPG还是有很多地方台没有。

@Tzwcard
Copy link
Owner

Tzwcard commented Nov 25, 2022

这个我也想知道
这之前需要获取服务器给的cookies 是要通过/EPG/jsp/ValidAuthenticationHWCTC.jsp请求获得的
而里面有个Authenticator我不知道算法 也可能是直接从设备内获取的
如果你有这个的算法或者知道怎么获取的话我可以写脚本每天更新IPTV的EPG

@ubitsp
Copy link

ubitsp commented Nov 27, 2022

这个我也想知道 这之前需要获取服务器给的cookies 是要通过/EPG/jsp/ValidAuthenticationHWCTC.jsp请求获得的 而里面有个Authenticator我不知道算法 也可能是直接从设备内获取的 如果你有这个的算法或者知道怎么获取的话我可以写脚本每天更新IPTV的EPG

https://www.right.com.cn/forum/thread-4059959-1-1.html 这里有个up主提供了算法取密钥,作者可否试一下,我不太懂加密,跑了一晚上跑不出密钥来

@Tzwcard
Copy link
Owner

Tzwcard commented Nov 27, 2022

按他说的跑了一下php,我也没找出来他说的8位密钥

$encrypted = ''; // Authenticator string
foreach (range(0, 99999999) as $i) {
    $key = sprintf("%08d", $i);
    $result = openssl_decrypt(hex2bin($encrypted), 'des-ede3', $key . str_repeat('0', 24 - strlen($key)), OPENSSL_RAW_DATA);

    if ($result !== false) {
        printf("%08d: %s\n", $i, var_export($result, true));
    }

}

上面这个php脚本跑出来不少结果,但是没有一个是正常字符串而且符合特征的
python脚本也直接跑了一次,没有发现(另外说一句它这个py效率实在是有点低,开个多线程应该会好一点)
有可能广东电信有不一样,也有可能代码有问题

ed: 搜索验证页面的endpoint找到一个叫tellyget的git,里面验证用的是des而不是3des,可以试试换成DES-ECB能不能解密

@sKyissKy
Copy link

按他说的跑了一下php,我也没找出来他说的8位密钥

$encrypted = ''; // Authenticator string
foreach (range(0, 99999999) as $i) {
    $key = sprintf("%08d", $i);
    $result = openssl_decrypt(hex2bin($encrypted), 'des-ede3', $key . str_repeat('0', 24 - strlen($key)), OPENSSL_RAW_DATA);

    if ($result !== false) {
        printf("%08d: %s\n", $i, var_export($result, true));
    }

}

上面这个php脚本跑出来不少结果,但是没有一个是正常字符串而且符合特征的 python脚本也直接跑了一次,没有发现(另外说一句它这个py效率实在是有点低,开个多线程应该会好一点) 有可能广东电信有不一样,也有可能代码有问题

ed: 搜索验证页面的endpoint找到一个叫tellyget的git,里面验证用的是des而不是3des,可以试试换成DES-ECB能不能解密

大佬可以提供一下用ffprobe盲扫生成分辨率列表的批处理吗?想扫扫移动的组播段

@qingxbl
Copy link

qingxbl commented Dec 21, 2022

这个我也想知道 这之前需要获取服务器给的cookies 是要通过/EPG/jsp/ValidAuthenticationHWCTC.jsp请求获得的 而里面有个Authenticator我不知道算法 也可能是直接从设备内获取的 如果你有这个的算法或者知道怎么获取的话我可以写脚本每天更新IPTV的EPG

image

老哥是不是仲元的?

@YCCCCCCCCC
Copy link

cookies cookies是 /epg/jsp/jsp/valideationalicationhwctc.jsp 请求请求算法或者知道怎么获取的话我可以每天写脚更新IPTV的EPG

https://www.right.com.cn/forum/thread-8280221-1-1.html 这里大佬提供了思路,作者可尝试下

@fs20sc
Copy link

fs20sc commented Jul 16, 2024

https://github.com/yujincheng08/rust-iptv-proxy
这个项目已经实现了,我现在就是用这个抓官方的epg(虽然也是乱得1B……)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants