专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
目录
相关文章推荐
程序员的那些事  ·  北京大学出的第二份 DeepSeek ... ·  16 小时前  
OSC开源社区  ·  Bun ... ·  昨天  
程序员的那些事  ·  印度把 DeepSeek ... ·  3 天前  
程序员小灰  ·  3个令人惊艳的DeepSeek项目,诞生了! ·  2 天前  
程序猿  ·  “我真的受够了Ubuntu!” ·  4 天前  
51好读  ›  专栏  ›  SegmentFault思否

从放弃迅雷和 IDM 到自己开发下载工具

SegmentFault思否  · 公众号  · 程序员  · 2017-12-14 08:00

正文

前言

在这个网络带宽飞速增长的年代,下载文件要充分利用好网速就得用到下载工具,比如迅雷、IDM。然而贫穷限制了下载速度,这两个下载软件不花钱毫无体验可言。本人两年迅雷年费会员在离线下载越来越形如虚设的情况下,选择投入了IDM的怀抱,然而IDM丑陋的界面和破解版的无限弹框让我产生了开发一款属于自己下载器的想法。

成果

没图说个xx,下图是在20M带宽的情况下载网盘文件的过程,可以看到网速基本跑满。

下载( https://pan.baidu.com/s/1eRDVYPc )试用,需要JAVA8+运行环境。 启动:

  1. java -jar proxyee-down-1.0-SNAPSHOT.jar

  2. 访问http://127.0.0.1:9999,点击ProxyeeRoot ca.crt下载证书并安装到受信任的根证书颁发机构中

  3. 设置浏览器http代理为127.0.0.1:9999即可

更新个exe版本的,把JRE打包进去了,体积会稍微大点。下载( https://pan.baidu.com/s/1eROfzDw )。

介绍

本下载器开源,代码托管在proxyee-down( https://github.com/monkeyWie/proxyee-down ),是一款基于http代理服务器嗅探http下载请求的下载工具,支持插件化开发,目前内置 百度云大文件下载限制插件 百度云合并下载限制插件

技术简介

本项目使用java+netty+spring boot+vue.js+element ui编写,这里只谈一谈核心的技术点,细节请参考源码。

1.http代理

基于http代理服务器来实现下载请求的嗅探,实现了https的报文解密,在代理服务器嗅探到下载请求头时,进行拦截处理。

  1.    //例如Content-Disposition请求头拦截

  2.    Content-Disposition,attachment;filename=FileName.txt

之后修改响应体跳转到前端下载页面

  1.    HTTP/1.1 200 OK

  2.    Conten-type:text/html

  3.    Conten-length:129

  4.    







请到「今天看啥」查看全文