惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
G
Google Developers Blog
爱范儿
爱范儿
博客园 - 司徒正美
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
J
Java Code Geeks
The Cloudflare Blog
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
宝玉的分享
宝玉的分享
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
B
Blog
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
T
Troy Hunt's Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
H
Hacker News: Front Page
H
Help Net Security
S
Security @ Cisco Blogs
V
V2EX
Security Archives - TechRepublic
Security Archives - TechRepublic
Stack Overflow Blog
Stack Overflow Blog
O
OpenAI News
L
LINUX DO - 最新话题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
S
Secure Thoughts
Help Net Security
Help Net Security
F
Full Disclosure
博客园 - 叶小钗
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Jina AI
Jina AI
K
Kaspersky official blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
Scott Helme
Scott Helme

qlAD 的技术笔记

2026 年 6 月 7 日 -- 我有社交恐惧症,恐惧外面到处雷电风雨声(大学生活记录) 手把手带你实现哈希表(C/C++ 数据结构) 手把手带你实现图结构(C/C++ 数据结构) 手把手带你实现二叉树(C/C++ 数据结构) 手把手带你实现栈和队列(C/C++ 数据结构) 手把手带你实现单/双链表(C/C++ 数据结构) 手把手带你实现动态数组(C/C++ 数据结构) 2026 年 1 月 2 日 -- 我不怕冷,因为我内心炽热 【2025 年度总结】(大学生活记录) 2025 年 12 月 2 日 -- 省电模式:大一 100 天耗电日志(大学生活记录) 蓝桥杯备赛第一期 —— 枚举与模拟 2025 年 11 月 3 日 -- 用爱发电、大爱无私(大学生活记录) 使用循环嵌套输出规则图形找规律讲解(嵌套循环-图形输出) 2025 年 10 月 1 日 -- 二字开头第一年的生日记录及感悟随笔(大学生活记录) Python 初级 04 -- 目前为止 Python 中你们做题可能会遇到的问题以及七七八八 2025 年 9 月 24 日 -- 开学后的第一课及军训汇演(大学生活记录) Python 初级 03 -- 程序设计的三种结构之选择结构和循环结构 Python 初级 02 -- 基础的数据类型和输入输出 2025 年 9 月 17 日 -- 大连 2025 国际大体联足球世界杯(大学生活记录) Python 初级 01 -- 初识编程、理解计算机语言及程序运行方式 适合大一新生学习编程的前一课 -- 编程先导(编程的本质) 2025 年 9 月 12 日 -- 三天军训感受以及一些七七八八(大学生活记录) 2025 年 9 月 9 日 -- 体检、军训前的准备(大学生活记录) 适合大一新生的计算机基础知识 -- 个人认为足够版 2025 年 9 月 7 日 -- 既来之、则安之(大学生活记录) C++ 程序的内存布局 —— 代码区、全局/静态区、栈区和堆区 联想小新 pro 16 2025 开箱记录:跳过联网、office 激活、更换 win 11 专业版 R 语言中的数学函数 计算机软件著作权申请过程记录 从聚类到回归:用 Python 解析鸢尾花数据集的完整数据科学流程 条件概率、全概率与贝叶斯公式 —— 一篇文章带你死磕概率公式 高中化学物质反应规则表 —— 方程式之间也有规律可循 集合元素性质、关系、子集公式、基本运算 —— 一篇文章带你全方面死磕集合 如何为你的项目选择合适的许可证 -- 全方位指南 解释 3:1 和 9:3:3:1 的详细来源 —— 建立减数分裂与孟德尔遗传学定律之间的联系 重新设置磁盘分区以及 Btrfs 子卷(subvolume)布局的无损方案 零基础实战:用 Docker 启动 dockermailserver 绕过 25 端口封锁搭建个人邮箱服务器 基于 GitHub Actions + OSS 的自托管 APT 仓库全面指南 如何在安装 Debian 时配置 Btrfs 子卷 | 详细分步指南 一个合格的个人网站站长应该知道哪些事? CSS 基础入门教程 —— 选择器、样式声明 HTML 基础入门 —— 基本结构和语法 给博客添加一个文章数据统计的页面 Git 学习笔记(命令备忘表) Anki 牌组选项详细解释与设置 手动编译带有 KernelSU 的 OnePlus 6 内核 安卓类原生系统补全计划 —— PixelExperience(一加 OnePlus) 如何使用 use-sound 为 React 应用添加声音效果 标准化项目的 GitHub Flow 工作流 如何搭建设计自己的博客网站? 使用安知鱼主题同款的 Twikoo 评论组件 配置 GitHub Actions 实现自动化提交百度收录 第00期 | 环境搭建 & 递归 (一) | 基本数列递归 逐字符讲解 C 语言 HelloWorld 程序 2023 年回顾 🤟 Anki:记忆神器,助你高效学习 Gentoo 学习笔记 美化你的 PixelExperience OS Markdown 语法指南 为什么用 65 表示大写字母 A
搭建 OneDrive 目录索引
qlAD · 2021-08-24 · via qlAD 的技术笔记

cover

我的 OneDrive 目录索引目前依赖两个项目

onedrive-cf-index 部署在 CloudFlare Workers 上

onedrive-vercel-index 部署在 Vercel 上

vercel 的速度没有 cf 的快,但是 vercel 部署简单,预览文件功能轻量快速。

部署指南

参考 README.md

cf-index 部署

准备工作(CloudFlare Workers 设置)

1、导入并 clone 仓库

onedrive-cf-index/README-CN.md at main · spencerwooo/onedrive-cf-index

复制仓库的 url 地址,并导入成你的 GitHub 私人仓库(不要直接 fork 仓库),在你的电脑上使用 git clone https://github.com/你的仓库地址 命令来下载到本地

2、npm 安装依赖

进入到刚刚拉取的文件夹,使用 npm 安装依赖

# 安装 CloudFlare Workers 官方编译部署工具
npm i @cloudflare/wrangler -g
# 使用 npm 安装依赖
npm install
# 使用 wrangler 登录 CloudFlare 账户
wrangler login
# 使用这一命令检查自己的登录状态
wrangler whoami

打开 https://dash.cloudflare.com/login 登录 CloudFlare,选择自己的域名,再向下滚动一点,我们就能看到右侧栏处我们的 account_id 以及 zone_id 了。 同时,在 Workers -> Manage Workers -> Create a Worker 处创建一个 DRAFT worker。

修改我们的 wrangler.toml

  • name:就是我们刚刚创建的 draft worker 名称
  • account_id:我们的 Cloudflare Account ID;
  • zone_id:我们的 Cloudflare Zone ID

3、创建叫做 BUCKET 的 Cloudflare Workers KV bucket

# 创建 KV
bucketwrangler kv:namespace create "BUCKET"
# ... 或者,创建包括预览功能的 KV
bucketwrangler kv:namespace create "BUCKET" --preview

修改 wrangler.toml 里面的 kv_namespaces

  • kv_namespaces:我们的 Cloudflare KV namespace,仅需替换 id 和(或者)preview_id 即可。如果不需要预览功能,那么移除 preview_id 即可。

生成 OneDrive API 令牌

1、访问此 URL 创建新的 Blade app:Microsoft Azure App registrations(普通版 OneDrive) 或 Microsoft Azure.cn App registrations(OneDrive 世纪互联版本)

https://i.loli.net/2021/08/23/MDop8V6vTn3tmfr.png

  • 名称可以自定义
  • 受支持的帐户类型选择 “任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)”
  • 重定向 URI 填写 http://localhost

确认无误后点击 “注册”

2、配置 API 权限

https://i.loli.net/2021/08/23/O56FoChEyjT3QGl.png

打开 “API 权限” 面板,选择 “Microsoft Graph”,选择 “委托的权限”,并搜索 offline_access, Files.Read, Files.Read.All 这三个权限,选择这三个权限,并点击 “添加权限”

3、查看 “应用程序客户端 ID

https://i.loli.net/2021/08/23/WIx9kXBVzOtF2jN.jpg

4、生成 “客户端密码

https://i.loli.net/2021/08/23/UsLX2Rib7QhYJeW.png

打开 “证书和密码” 面板,点击 新客户端密码,点击 “添加” 并复制 “值” 并保存下来 (仅有此一次机会)

5、生成 refresh_token

确保你已经知道以下凭证:

  • client_id应用程序客户端 ID
  • client_secret客户端密码

在本机(需要 Node.js 和 npm 环境)上面执行如下命令:

npx @beetcb/ms-graph-cli@next -s -l CN

根据你自己的情况选择合适的选项,并输入我们上面查看复制的一系列令牌配置等,其中 redirect_url 可以直接回车。

6、最后,在我们的 OneDrive 中创建一个公共分享文件夹,比如 /Public 即可。

将应用部署到 CloudFlare Workers 上

进入到准备工作时拉取的文件夹

1、修改 src/config/default.js

  • client_id:刚刚获取的 OneDrive 应用客户端 ID;
  • base:之前创建的公共分享文件夹 即 /Public;

2、使用 wrangler 添加 Cloudflare Workers 环境变量(有关认证密码的介绍请见 🔒 私有文件夹):

在文件夹所在终端中输入:

# 添加我们的 refresh_token 和 client_secret
wrangler secret put REFRESH_TOKEN # ... 并在这里粘贴我们的 refresh_token
wrangler secret put CLIENT_SECRET # ... 并在这里粘贴我们的 应用客户端ID
wrangler secret put AUTH_PASSWORD(可选) # ... 在这里输入我们自己设置的认证密码

3、编译与部署

我们可以使用 wrangler 预览部署:

如果一切顺利,我们即可使用如下命令发布 Cloudflare Worker:

我们也可以创建一个 GitHub Actions 来在每次 push 到 GitHub 仓库时自动发布新的 Worker,详情参考:main.yml

如果想在自己的域名下部署 Cloudflare Worker,请参考:How to Setup Cloudflare Workers on a Custom Domain

4、样式、内容的自定义

  • 我们可以更改默认「着落页面」,直接修改 src/folderView.jsintro 的 HTML 即可;
  • 我们也可以更改页面的 header,直接修改 src/render/htmlWrapper.js 即可;
  • 样式 CSS 文件位于 themes/spencer.css,可以根据自己需要自定义此文件,同时也需要更新 src/render/htmlWrapper.js 文件中的 commit HASH;
  • 我们还可以自定义 Markdown 渲染 CSS 样式、PrismJS 代码高亮样式,等等等。