Git Product home page Git Product logo

ef2's Issues

ef2文件不支持utf-8编码的格式

您好:试用了您发布的工具,非常方便,特别是filename这个扩展很有效的解决了一些下载的问题,但是使用过程中发现如果导出的ef2格式文件为utf-8编码的话,解析到idm中会出现乱码,能否考虑后续对应utf-8编码的文件?

有两个BUG!

第一个就是 -O 设置下载路径 中文会显示???乱码

第二个就是 -a 设置指定ua 会无效!神奇的是用 -u 设置ua ,下载地址也是-u ,虽然ua会被识别成到下载链接后面 但是IDM可以识别到指定ua 什么时候可以修复这些问题呢!!

How to compile the project?

Hi,

I have Visual Studio 2022 installed and followed your compilation instructions on the front page. However, I found that VSCode is not able to compile the project. I don't remember the exact error message, but it seems like some VSCode extension is required. So, I installed this one:

image

After that, when I press F5, I get this:

image

Have I missed anything?

特殊链接(可能是跳转)会导入失败提示:未找到有效链接

一些特殊的链接,如: https://www.screenscraper.fr/api2/mediaGroup.php?devid=jelos&devpassword=jelos&softname=zzz&crc=&md5=&sha1=&groupid=2917&media=logo-monochrome&mediaformat=png

看上去不是个文件,是重定向到某个文件的,会在解析的时候失败,但是用 IDM 直接导入是可以,能否修复不要提示能导入,谢谢

sample.ef2:

<
https://www.screenscraper.fr/api2/mediaGroup.php?devid=jelos&devpassword=jelos&softname=zzz&crc=&md5=&sha1=&groupid=2917&media=logo-monochrome&mediaformat=png
referer: https://www.screenscraper.fr/api2/
User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
>

安装后还是无法下载ef2

安装后还是显示IDM目前不支持ef2数据传输协议。或许这是个拼写错误,请检查拼写后重试。IDM版本6.4.1version3

开发扩展(Manifest V3)版本

exe文件天然旧具有不安全感,Windows用户天然就抵触运行来历不明的exe文件,而且本人学习C++实在浅陋,WindowsAPI更是学了点皮毛,虽有精进之心,却没那个精力和能力。
于是我就想既然IDM官方有浏览器扩展文件,我们也可以逆向着写一个,浏览器扩展而已,不像exe那样有病毒之虑。
其实之前就研究过IDM官方扩展与IDM的通信机制,总共三条信道:

  1. websocket:这是全双工的网络通信,IDM后台程序有web服务器,扩展访问本地端口来交流信息,这是官方的首选方案。
  2. http POST:这是单向web通信,用来发送单条下载数据。
  3. Native Message:扩展专属与本机程序通信的机制,类似于websocket。

作为第三方,首选当然是websocket,毕竟在js环境中有开箱即用的支持,唯一的问题是IDM后台web服务器有白名单机制,来自第三方的web请求直接pass(http POST也一样pass)!根本无法建立连接。实际上是通过referer,这在Manifest V3时代通过declarativeNetRequestAPI似乎可以伪装一下解决?没试过🤣
次选方案Native Message,这在扩展环境是也是开箱即用的支持,不过这个也有白名单机制,不过这个白名单判定权在浏览器一方,而不是IDM本身,所以绕过方式非常简单,生成一份伪·白名单覆盖IDM安装目录下的json文件即可。

目前选择还是通过Native Message,扩展负责与IDM建立连接,然后暴露接口到页面上下文中,实现页面js直接拉起IDM进行下载的目的,相比于原exe方案,有以下优势:

  1. 无须写入注册表关联,对于讨厌别人乱动注册表的人来说是好事。
  2. 可以直接批量下载无须通过ef2文件。
  3. 未来或许可以实现主动呼出IDM浮动条。

唯一的劣势是第一次安装需要覆盖白名单,相比写入注册表完全由exe代劳,白名单可得用户自己去放,毕竟每个人IDM安装路径不尽相同——未来或许可以使用批处理(bat文件)处理,双击一下也很快🤣

其实选择扩展,主要还是为了第3点,拉出IDM浮动条,这个浮动条相比直接下载数据强大太多:

  1. 可以用来解析m3u8文件,这以往只能靠IDM自己捕获,本地想主动解析都没门!
  2. 可以用来自动封装DASH流媒体,再也不用分别下载一条视频轨一条音频轨了!
  3. 只要IDM官方浮动条支持的功能,大概都可以主动呼出……

目前虽然有了些进展,但只能通过Manifest V2扩展,因为拉出浮动条的很多参数只有MV2的API才获取的到。如何以MV3的API实现,还是得看IDM官方的扩展样品放出代码,毕竟那些参数究竟有何意义只有IDM官方才知道。
Google已于2022年6月禁止新MV2扩展上架,并将在2023年6月彻底禁止chorme运行MV2扩展,留给IDM的时间已经不多了,所以符合新标准扩展什么时候上架,快点端上来吧IDM🤣

当前进度并未推送上来,毕竟第3点不实现扩展相比于exe优势实在不大,这个feature可能要长期放着了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.