烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
阅读:2303回复:9

到底怎么完美实现下载X文件类型自动调用外部程序?

楼主#
更多 发布于:2017-08-15 13:35
众所周知Firefox有个问题就是,即使你对某个类型的文件选过“下次自动选用此选项”,Firefox也会记不住,原因是因为Firefox对于设成content-disposition: attachment的链接,不允许记住“自动用X程序打开”(但是选成默认下载就可以记住)
介于关于这个的辩论已经持续了十几年,且开发者没有解决的意愿 (https://bugzilla.mozilla.org/show_bug.cgi?id=453455,说是有安全隐患blabla),那只能指望靠第三方组件

前一段一直用InlineDisposition,下个种子直接调用UT/迅雷倒是可以,但是这玩意副作用太大了:第一不能白/黑名单文件类型,导致所有设置了content-disposition: attachment的图片、PDF之类全部都会在浏览器内打开而不是触发下载;
另外一个问题就是会导致网站下载非ascii文件名乱码

所以这个解决方案不行了,还有其他解决方案么?
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
1楼#
发布于:2018-01-07 12:08
顶一下自己的老帖,自己搞定了,用国产的Header Editor把有这个问题的BT网站手动修改response header为“content-disposition: inline”

代码如下


Rule type: 修改response header
match type: All


Excute type:custom function


Code:

for (let a of val) {
    if (a.name.toLowerCase() === 'content-disposition' && a.value.match(/\.torrent"?$'/iu)) {
        a.value = "inline;";
    }
}
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
2楼#
发布于:2018-01-07 16:58
kidzgy:不知能否将Header Editor的配置文件贴出来呢?这个是解决点击下载保存文件时的乱码的吧?回到原帖
额,不是…虽然也能实现

但是你用 https://addons.mozilla.org/en-US/firefox/addon/download-filename-encoding/?src=userprofile

这个就好了吧?
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
3楼#
发布于:2018-01-08 17:37
fang5566:https://addons.mozilla.org/en-US/firefox/addon/bypass-forced-download/ 这个扩展有帮助么?回到原帖


这个不错,应该也能用。

不过其实原理都一样,用header editor的自定义性更强一些,也少装个插件了
游客

返回顶部