• Stars
    star
    198
  • Rank 196,898 (Top 4 %)
  • Language
    JavaScript
  • License
    GNU Lesser Genera...
  • Created over 7 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

批量获取OneDrive直链

获取OneDrive直链

本应用的目的是为了批量获取 OneDrive 直链,方便在其他站点外链。前身为提取OneDrive直链地址工具的网页版,因为原来的工具失效了,软件版也不是那么好用了,因此决定使用 OneDrive 官方 SDK 来进行获取,确保不失效。

马上使用

https://mapaler.github.io/GetOneDriveDirectLink/

因为使用官方 API 直接访问 onedrive.live.com 选择文件,因此可能需要翻墙。

隐私声明

使用微软官方 OneDrive file picker SDK,本应用不会得到你的账号密码和其他用户资料。 目前仅申请了 Files.ReadFiles.Read.Selected 两个权限,SDK 只会返回用户选择的文件的信息,不会获得未授权的其他内容。

如何自行搭建

按照OneDrive file picker SDK内的说明进行,由于旧有的Microsoft 应用注册门户已经迁移到Azure门户,特此做出更新,此版本更新于2020年2月6日。

  1. 应用注册
    Azure 门户 创建应用,自己申请一个应用 ID,然后替换本程序 script.js 内底部的 clientId
    客户端ID
    其中 odOptions.advanced.queryParameters 内容参见 DriveItem 资源类型,若不设定,将只返回基本信息。
  2. 设置身份验证
    将网页的各种东西上传到你申请 ID 时设置的 重定向 URL 即可,页面 URL 不在重定向内会发生错误。注:这个页面必须为 https(仅 localhost 可为 http,且 localhost 也需添加到 重定向 URL)
    需要勾选隐式授权访问令牌ID 令牌讨论见#9 身份验证
  3. 设置API 权限
    添加 Microsoft Graph 委托的权限 Files.ReadFiles.Read.Selected
    需求的权限

原理

http://storage.live.com/items/文件ID 是很早之前就流传的 SkyDrive 官方的真实直链重定向地址,出处不可考。
开始一般是用http://storage.live.com/items/文件ID?filename=xxx.jpg来外链图片,后面的文件名用来欺骗DiscuzX论坛系统,但是浏览器下载该文件还是没有正确文件名。
后来有高手发现的http://storage.live.com/items/文件ID:/xxx.jpg这个地址格式不会影响 SkyDrive 识别ID,还同时可以欺骗浏览器为普通文件地址,识别出文件的文件名与扩展名。
访问 onedrive.live.com 域名需要翻墙,但是生成的 storage.live.com 链接不需要。

1drv.ws 原理

1drv.wsThe OneDrive Direct Download Link Helper 项目的实现。
原理为

  1. 获取OneDrive的分享链接 https://1drv.ms/u/分享ID
  2. 重定向到 https://onedrive.live.com/redir?resid=文件ID&authkey=通行证
  3. 将访问网页的地址修改为下载地址 https://onedrive.live.com/download?resid=文件ID&authkey=通行证
  4. 再次重定向到真实CDN地址 https://public.ch.files.1drv.com/很长一串字符/文件名?download&psid=1

其中,对 onedrive.live.com 的重定向需要墙外后端支持。

在 OneDrive SDK 中,使用 share 操作才能新增并获取到分享链接,因此添加了“额外创建分享链接”按钮。
掩码将获取到的分享链接中的 1drv.ms 修改为 1drv.ws ,即可得到下载链接。但是这种方式的 http header content-Dispositong 值为 attachemen 会弹出下载窗口,而不是内部预览。

More Repositories

1

PixivUserBatchDownload

P站画师个人作品批量下载工具,UserScript + Aria2。可高度自定义重命名,发送到本地或远程(如路由器)下载。
JavaScript
1,025
star
2

FastCopy-M

FastCopy-Multilanguage,FastCopy完整支持多国语言版
C++
764
star
3

EhTagTranslator

将e绅士页面TAG换成中文,最全数据库。
JavaScript
536
star
4

VBScript

我写的VBS脚本工具
VBScript
55
star
5

PADDashFormation

Puzzle & Dragons Formation Maker and Card Guide
JavaScript
53
star
6

Puzzle-and-Dragons-Data-Files

智龙迷城日版数据,提取自/data/data/jp.gungho.pad/files/mon2
Batchfile
13
star
7

DaJiaDeHuanXiangXiang-Skin

大家的幻想乡的皮肤列表与详情
HTML
10
star
8

PuzzleDragonsFreeSecondSkillMonters

智龙迷城内可以免费获得的能够作为第二技能绑定的宠物的列表
JavaScript
4
star
9

MapleTheme

Win7家庭普通版应用主题;XP/Win7/Win8主题文件编辑器
Visual Basic
4
star
10

Puzzle-and-Dragons-Radar-Wallpapers

智龙迷城雷达的壁纸收集
3
star
11

3DS-NTR-CFW-ScreenShot-Connect

3DS NTR CFW截图,自动连接上下屏截图为一张图
Visual Basic
1
star
12

Audi-MMI-MP3-Cover-Repair

修复奥迪媒体系统不能显示的MP3歌曲封面
C#
1
star
13

Adobe-Series-Self-Scripted

为网页三剑客系列编写的脚本
JavaScript
1
star
14

osu-export

将osu!曲库导出为有ID3信息的音乐
C#
1
star
15

FastCopy-M-Resources-Rebuild-Replace-Tools

FastCopy-M Resources Rebuild & Replace Tools / FastCopy-M 资源文件重编译/自动替换工具
C
1
star
16

BlueStacksScript

Convenient Script for BlueStacks
PowerShell
1
star