下载钉钉禁止下载的直播回放 |
您所在的位置:网站首页 › 钉钉回放设置 › 下载钉钉禁止下载的直播回放 |
钉钉有些群的直播回放会设置为不可下载,如果我们要下载的话,就需要使用秘密武器-抓包 (其实我本来是想要下载个直播回放的,可是一不小心整了个脚本出来…) Github地址(开源)(Python):https://github.com/lilac-milena/Dingtalk-playback-download 0.更新日志2023/7/20 版本更新移除了对 wget 的依赖 增加了对手机客户端抓包的支持 2022/7/2 版本更新适配linux系统 自动检测下载错误的ts片段并重新下载 优化错误日至的写出 优化逻辑 1.软件及依赖环境1.1 抓包软件这里我提供一个Fiddler的安装包,如果想要最新版可以自行去官网下载 安装包:https://raw.githubusercontent.com/lilac-milena/Dingtalk-playback-download/main/exes/FiddlerSetup.exe 安装完Fiddler之后可以在”开始”菜单中找到,我们需要打开Fiddler 点击Fiddler顶栏中的Tools,再点击Options 点击HTTPS,并将Decrypt HTTPS traffic打勾 之后会提示安装证书,点同意就好 1.2 配置ffmpeg该脚本使用ffmpeg合并ts,所以需要安装这个玩意 这里就贴个教程,不浪费篇幅了 Windows10安装 ffmpeg 教程 https://zhuanlan.zhihu.com/p/118362010 Linux 安装 ffmpeg 教程 https://cloud.tencent.com/developer/article/1711770 2 抓取及准备这一步分为两个分支,可以根据个人的要求选择使用什么平台的客户端进行抓包 手机客户端抓包不需要切换钉钉版本,可以直接抓取,比较方便;而 Windows 客户端抓取较稳定,受钉钉 API 改版的影响小。 使用Windows客户端抓包 使用手机客户端抓包 2C.A 更换钉钉版本最新版本的钉钉做了非常多的修改,导致无法获取完整的m3u8文件,也就造成了回放无法下载 2C.A.1 下载老版本这个还是比较简单的,我使用的是 5.1.39.10 版本 官方下载链接:https://dtapp-pub.dingtalk.com/dingtalk-desktop/win_installer/Release/DingTalk_v5.1.39.10.exe 2C.A.2 使用老版本钉钉对老版本的使用做出了限制,但是可以通过修改本地文件的方法跳过,具体教程见: 特别注意:安装老版本后第一时间不要启动钉钉,请打开老版本钉钉所在位置并删除安装目录的 update.exe 文件以防止自动更新 2C.B 设置代理修改完成后登录的时候要注意一下设置代理连接,这一步是让钉钉与Fiddler建立连接 2C.B.1 点击右上角的小箭头 2C.B.2 照如下填写好后点击左下角的”测试”如果成功,则点击保存,如果失败,请检查是否打开了Fiddler 如果操作后聊天乱码,请仔细看一下上面的教程,最后的步骤如果不做就会导致乱码 注意:本方法要求电脑和手机在同一网络环境下并且可以互相访问,如路由器开启了设备隔离(如校园网络,公司网络)则无法使用该方式抓包,请改用 Windows 客户端抓包 2M.A 获取本机 IP 地址在打开 Fiddler 后,主页面的右上角会出现一个小地球标志,代表抓包服务可以供局域网的其他设备使用,将鼠标悬至此标志上方可以查看到本机可用于连接的 IP 地址 通常会显示很多条 IP,我们需要使用 IPv4 协议的内网地址(格式为 192.168.-.- 或 10.-.-.-) 所以我这里就记录下 192.168.31.218 这条 IP 以备后续使用 2M.B 在手机上安装 CA 证书以用于 HTTPS 抓包同 Windows 端一样,任何抓取 HTTPS 数据包的行为都需要安装来自抓包工具的 CA 证书以获取 HTTPS 请求体 因为 Fiddler 默认是不支持其他设备抓包的,所以需要设置允许远程设备连接 打开设置菜单 勾选此选项后点击 OK 完成后需要 重启该软件,再次打开后 Windows 防火墙可能会弹出提示,如弹出,请选择 “公共网络”。 然后在手机浏览器中输入刚刚所记录的 “IP 地址 + :8888” (例:192.168.31.218:8888) (注意冒号是英文的) 打开证书安装页面 如果一切正常,会看到如下页面,然后点击下图所标注的链接下载 CA 证书文件 下载完成后单击 cer 文件可以直接使用安卓自带的证书安装程序打开 这一步有些手机可能要求输入锁屏密码,需要自己给证书起一个名字,验证手机密码后就可以成功安装证书了 2M.C 设置代理钉钉手机版不同于 PC 版,并没有提供设置代理的选项,故我们需要借助手机自带的 WIFI 高级选项以进行配置。 因为手机系统差异较大,故这个步骤就不在本文中体现了,您可以前往以下链接了解详细的操作步骤: 对于 Android 设备:https://www.wikihow.com/Change-Proxy-Settings#Android对于 IOS 设备:https://www.wikihow.com/Change-Proxy-Settings#iPhone 您可能需要以下信息: Server(服务器地址):上文中所获得的IP地址Port(端口号):8888 示例: Server: 192.168.31.218 Port:8888 3.抓包3.1 抓取这么多记录,我们需要精确定位到我们需要的,其实很容易,首先,我们先要使用ctrl+a全选,再按delete删除全部记录,这样做是为了防止其他记录干扰我们,接下来,我们随意找一个直播回放,并打开,等待加载完毕后(不是等视频播放完,而是只要出现了视频画面并开始播放就可以关掉了)再关掉,这时看向Fiddler,就会发现Fiddler中出现了很多钉钉的记录 然后,我们使用ctrl+f进行搜索,搜索”m3u8”这个关键字 就会发现有很多记录被标黄了,我们现在需要从中找到钉钉的记录,大概长这样 这条记录前面是一个纸的图标,然后url里面会有”dingtalk.com”这个字串,一般同时符合这两点就是我们要找的数据 3.2 获取下载域名然后右键这条数据,选择Copy→Just Url 现在,我们复制了一条URL,它的格式是这样的: 12345格式:下载域名/直播号_merge.m3u8?app_type=客户端类型&cid=CID&token=Tokey&token2=Tokey2&version=钉钉版本例子:https://dtliving-sz.dingtalk.com/live_hp/************_merge.m3u8?app_type=win&auth_key=********************&cid=*******************&token=****************&token2=******************&version=5.1.39-Release.10请不要访问这个url,因为它的生命周期只有一次,已经被钉钉访问过了,所以我们再去访问会返回403错误 那为什么要复制这个url呢,因为我们需要下载域名,钉钉会每隔一段时间更换一次视频的下载域名(很奇怪,应该是为了防止视频下载),这可能导致你的直播回放的下载域名都是不一样的,所以我们需要这个域名才能下载 下载域名就是如下部分: 最后不要忘记加/ 3.3 获取m3u8内容前面说过,抓包获取的m3u8链接不能直接打开,所以我们需要从请求记录中找到m3u8文件的内容 还是找到m3u8的那条记录 按照下面这张图操作: 然后我们需要复制右下方那个文本框中的内容 这就是m3u8文件的内容,保存备用 4.下载现在,就可以去Github下载我的Python脚本了~ 脚本地址:https://github.com/lilac-milena/Dingtalk-playback-download/blob/main/ding.py 运行此脚本请自备Python环境 首先,把我们下载的ding.py文件放在一个文件夹中(最好是空文件夹) 然后在路径栏输入cmd,打开cmd 4.1 在cmd或终端中输入 python ding.py 运行脚本如您使用linux运行脚本,请使用 python3 ding.py 运行 4.2.根据之前的下载域名选择下载通道脚本内置了3个下载域名,请根据上面获取到的域名选择,如果都不是,请选择自定义 以下内容由2022/7/2更新 4.3.写入m3u8打开脚本运行目录下的m3u8.txt文件 写入m3u8内容 写入完毕后,在脚本中输入y并按回车 4.4.选择m3u8来源不同来源的m3u8文件需要使用不同的格式化方法,如m3u8通过windows端的钉钉抓包而来,就选择Windows端群直播 我的m3u8来源于ubuntu客户端,所以我就需要选择3(Linux端群直播) 4.5.下载&合并下载: 下载ts分段 合并: 将ts分段合并为mp4 下载,合并完成后,python脚本运行目录会出现 output.mp4 这个文件,这就是下载完成的视频 文件/文件夹名 作用 tss(文件夹) 存放ts缓存文件(可在下载完成后删除) tss.txt ts文件列表(可在下载完成后删除) m3u8.txt m3u8文件,用户需将m3u8文件写入至此文件(可在下载完成后删除) output.mp4 最终下载的视频文件 err.log 错误日至(如有错误则会生成) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |