V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
miniers
V2EX  ›  分享创造

safari2aria,用 aria2c 来替代你的 safari 默认下载

  •  2
     
  •   miniers ·
    miniers · 2017-06-12 23:24:29 +08:00 · 13150 次点击
    这是一个创建于 2722 天前的主题,其中的信息可能已经有所发展或是发生改变。

    safari2aria

    先放链接,欢迎 star

    GitHub - miniers/safari2aria

    暂时实现了一些基础功能:

    1. 自动拦截指定后缀文件的下载事件并通过 aria2c 来下载该文件
    2. 可配置多个 aria2c 地址
    3. 右键链接后可选择指定 aria2c 服务进行下载

    设置: image

    下载: image

    已知问题:

    1. 自动拦截功能暂时只能下载至第一个 aria2c 服务器(正在考虑如何优化)
    2. 如果 aria2c 端没有配置 ssl 证书,则 https 网站的下载请求无法发送至 aria2c

    该问题为 safari 的安全策略,暂时没有思路修复

    请在 aria2c 的配置文件中添加如下配置引入证书

    rpc-secure=true
    rpc-certificate=path/to/you/cert
    rpc-private-key=path/to/you/key
    

    如果你的 aria2c 运行于 macos 下,

    则需要通过钥匙串访问程序将证书先行导入

    并在证书简介页面的最低部找到 SHA-1 指纹,填写入 aria2c 的配置文件

    rpc-secure=true
    rpc-certificate=01 01 01 01 01 01 01
    

    ~~PS:配合 baidupan 直连脚本超级舒爽~~

    第 1 条附言  ·  2017-06-14 08:45:08 +08:00

    版本已经升级至1.2并且添加了自动更新,有需求的请重新下载最新版,以后的更新就可以自动升级啦

    v1.2:

    1. 优化代码结构,修复包含iframe页面下载重复问题
    2. 图片下载
    3. 自动更新

    v1.1:

    1. 增加快捷键来切换默认aria2c服务 (option+shift+[123456789])
    2. 增加快捷键展示当前默认aria2c服务(option+shift+`)
    3. 设置界面可以设置默认aria2c服务
    4. 增加快捷键临时禁制拦截 (按着cmd点击链接)
    第 2 条附言  ·  2017-06-15 08:42:19 +08:00

    v1.3 已经更新,加入了人见人爱的百度云和迅雷离线支持

    v1.3:

    1. 增加工具栏图标和快捷键(option + shift + ,),快速打开设置界面
    2. 全局拦截模式,按着 shift 会拦截所有请求,此模式非常适合百度云和迅雷离线,可以不用任何其他插件直接导入至aria2
    3. cmd可以临时禁用或启用自动拦截模式
      • 关闭自动拦截配置后可按住cmd点击链接来临时启用自动拦截模式
      • 开启自动拦截模式可以按住cmd来临时禁用自动拦截
      • 可以配合全局拦截快捷键一起使用
    4. 增加配置项来控制是否传递cookie
    5. 增加配置项控制是否拦截iframe模式的下载(主要在百度云使用)
      • 如需在百度云快捷下载,请关闭cookie选项并打开iframe拦截
    6. 增加user-agent设置项

    注意事项

    请在aria2c的配置文件中加入如下配置,用以开启百度云和迅雷离线导出时自动更改下载文件名

    content-disposition-default-utf8=true
    
    

    迅雷离线导出:

    • 开启cookie传递选项
    • 选择需要导出的文件
    • 如当前为自动拦截模式,长按shift并点击取回本地按钮即可导出下载至默认rpc服务器
    • 如当前关闭了自动拦截默认,需长按shift+cmd并点击取回本地按钮即可导出下载至默认rpc服务器

    百度云分享页导出:

    • 关闭cookie传递选项
    • 点击下载,打开文件下载窗口
    • 如当前为自动拦截模式,长按shift并点击普通下载按钮即可导出下载至默认rpc服务器
    • 如当前关闭了自动拦截默认,需长按shift+cmd并点击普通下载按钮即可导出下载至默认rpc服务器
    28 条回复    2017-06-17 20:24:33 +08:00
    helloSwift
        1
    helloSwift  
       2017-06-12 23:32:42 +08:00 via iPhone
    能配合百度云更好了
    yipeng
        2
    yipeng  
       2017-06-12 23:32:50 +08:00
    似乎 Get 到了处 Star
    miniers
        3
    miniers  
    OP
       2017-06-12 23:52:13 +08:00 via iPhone   ❤️ 1
    @helloSwift 确实可以配合百度云的直连插件,会自动附带 cookie
    steveshi
        4
    steveshi  
       2017-06-13 10:52:44 +08:00
    这想法很棒啊
    qianguozheng
        5
    qianguozheng  
       2017-06-13 11:23:26 +08:00
    可以配合迅雷种子不?
    miniers
        6
    miniers  
    OP
       2017-06-13 11:36:29 +08:00
    @qianguozheng #5 暂时只支持链接
    另外已经更新 v1.1:

    1. 增加快捷键来切换默认 rpc 服务 ( option+shift+[123456789])
    2. 增加快捷键展示当前默认 rpc 服务( option+shift+`)
    3. 设置界面可以设置默认 rpc 服务
    4. 增加快捷键临时禁制拦截 (按着 cmd 点击链接)
    miniers
        7
    miniers  
    OP
       2017-06-13 11:45:48 +08:00
    @qianguozheng #5 迅雷离线导出有专门的 userscript,并不需要用到这个插件
    插件在此 ,我修改增加了多服务器的支持
    [GitHub - miniers/ThunderLixianExporter: export thunder lixian url to aria2/wget]( https://github.com/miniers/ThunderLixianExporter)
    ashfinal
        8
    ashfinal  
       2017-06-13 12:40:13 +08:00   ❤️ 1
    不错,一会尝试一下。
    顺便推荐个 aria2 管理前端: https://github.com/ashfinal/awesome-hammerspoon#6-aria2-gui---d
    livc
        9
    livc  
       2017-06-13 12:42:14 +08:00
    赞,先 star 了,有空试试
    wc0517
        10
    wc0517  
       2017-06-13 13:50:47 +08:00
    太棒了,等了好久,之前一直用 Chrome 的
    miniers
        11
    miniers  
    OP
       2017-06-13 16:13:18 +08:00
    1.1.2 增加了自动更新,以后就不用手动下载啦
    ashfinal
        12
    ashfinal  
       2017-06-13 20:39:52 +08:00
    感谢楼主帮助!本机 https 终于好使了!👏

    好像又发现俩个新问题需要确认下:
    1. 貌似只要不属于当前访问网站的内容(譬如你帖子里的图片),就无法发送到 aria2 ?
    2. https://krita.org/en/download/krita-desktop/ 这个网址点击按钮直接创建了 3*2=6 个新下载项,而实际只应该有 2 个。有 4 个下载项是完全多余的。
    miniers
        13
    miniers  
    OP
       2017-06-13 21:12:16 +08:00 via iPhone
    @ashfinal 抽空瞅瞅😂 测试的太少了
    ashfinal
        14
    ashfinal  
       2017-06-13 22:22:52 +08:00
    @miniers 好的!
    miniers
        15
    miniers  
    OP
       2017-06-14 00:06:12 +08:00   ❤️ 1
    @ashfinal #14 1.2 版已经解决这俩问题,第一个问题是原来就没处理图片的下载😂,第二个是这个网站嵌套了好几个 iframe,插件的逻辑也有点问题,导致启动了多个事件接收器接收了多次相同事件
    ashfinal
        16
    ashfinal  
       2017-06-14 12:51:20 +08:00
    @miniers cool!
    miniers
        17
    miniers  
    OP
       2017-06-15 08:37:39 +08:00
    1.3 更新啦!加入了两个特性,现在可以支持百度云和迅雷离线啦!
    miniers
        18
    miniers  
    OP
       2017-06-15 17:05:56 +08:00
    又又又又更新啦! 1.4 已经发布,优化了发送至 aria2 请求的思路,现在 aria2 已经不用部署证书啦,这下方便多啦!!
    witcherhope
        19
    witcherhope  
       2017-06-16 19:36:33 +08:00
    点击 google 链接会显示添加到 localhost 失败, 请问怎么解决
    miniers
        20
    miniers  
    OP
       2017-06-16 22:03:33 +08:00
    @witcherhope #19 能否提供一个链接我看看问题出在哪
    miniers
        21
    miniers  
    OP
       2017-06-16 22:06:17 +08:00
    @witcherhope #19 可以现在设置中关闭自动拦截之后试试,有可能是链接中包含了配置的自动拦截后缀名
    witcherhope
        22
    witcherhope  
       2017-06-16 22:13:02 +08:00
    @miniers 只要是 google 搜索的链接就会自动下载, 我尝试把拦截类型清空还是会下载 (所以应该不是里面包含类型) , 下载的文件是 url, 只有完全勾选关闭拦截才不会出现问题, 感觉应该是 Bug
    miniers
        23
    miniers  
    OP
       2017-06-16 22:43:15 +08:00 via iPhone
    @witcherhope 有没有升级到最新版本 1.4 试试,初期版本确实有一个快捷键引发的全局都拦截的 bug,新版这个问题已经修复了
    witcherhope
        24
    witcherhope  
       2017-06-16 23:04:55 +08:00
    @miniers 就是最新的, 除了 google 搜索的链接, 其他链接 (例如百度搜索结果) 点击没问题目前没问题
    witcherhope
        25
    witcherhope  
       2017-06-16 23:05:14 +08:00
    @miniers 不知道你那边测试有没有问题
    miniers
        26
    miniers  
    OP
       2017-06-16 23:46:29 +08:00
    @witcherhope #25 测试了一圈,没法重现这个 bug,是不是不小心或者有其他插件触发了 shift 这个按键呢? 如果按着 shift 的话,是会强行拦截所有地址栏变更并转发至 aria2 的
    实在不行的话,可以关闭自动拦截,需要下载的可以按着 cmd 点击链接
    miniers
        27
    miniers  
    OP
       2017-06-17 00:20:29 +08:00
    又又又又又更新啦,1.5 啦,下载成功可以推送啦!
    miniers
        28
    miniers  
    OP
       2017-06-17 20:24:33 +08:00
    话说不知道要加啥功能了,本来筹划加个浮窗展示当前下载列表,可是又觉得对一个插件来说优点重了,各种 web 端和原生程序都很好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1469 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 16:59 · PVG 00:59 · LAX 08:59 · JFK 11:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.