趣小组
[ MAKE ]
首页
节点
分享
创造
问与答
二手交易
编程
电子
树莓派
Arduino
手工
小玩意
ACG 二次元
科学
文化
电影
宠物
旅行
技术支持
登录
注册
首页
分享
使用 Vercel 无成本搭建 OneDrive 索引
Tony
219m
•
2021-07-13
•
4921 次点击
•
1 人收藏
•
1 人感谢
GitHub:https://github.com/spencerwooo/onedrive-vercel-index (还有个 CloudFlare Workers 版本,但搭建步骤比较复杂且容易出错,故不建议使用。) **** ## 白嫖 Microsoft 365 E5 申请[Microsoft 365 开发人员计划](https://developer.microsoft.com/zh-cn/microsoft-365/dev-program),90 天有效期。经常调用 API 就可以自动续期,也可以用网上的开源[E5 自动订阅程序](https://qyi.io/archives/687.html)。 **** ## DEMO https://drive.spencerwoo.com/ 我自己搭建的:https://drive.iamsjy.com/ ![a57e666407f62171c3000010b8154489.png](https://ppmm.org/images/2021/07/13/a57e666407f62171c3000010b8154489.png) ## 功能 ### 🚀 功能一览 - 全新「面包屑」导航栏; - 支持由世纪互联运营的 OneDrive 版本; - 支持 SharePoint 部署; ### 🗃️ 目录索引显示 - 全新支持自定义的设计风格:spencer.css; - 支持使用 Emoji 作为文件夹图标(如果文件夹名称第一位是 Emoji 则自动开启该功能); - 渲染 `README.md` 如果当前目录下包含此文件,使用 [github-markdown-css](https://github.com/sindresorhus/github-markdown-css) 渲染样式; - 支持「分页」,没有一个目录仅限显示 200 个项目的限制了! ### 📁 文件在线预览 - 根据文件类型渲染文件图标,图标使用 [Font Awesome icons](https://fontawesome.com/); - 支持预览: - 纯文本:`.txt`. - Markdown 格式文本:`.md`, `.mdown`, `.markdown`. - 图片(支持 Medium 风格的图片缩放):`.png`, `.jpg`, and `.gif`. - 代码高亮:`.js`, `.py`, `.c`, `.json`... - PDF(支持懒加载、加载进度、Chrome 内置 PDF 阅读器):`.pdf`. - 视频:`.mp4`, `.flv`, `.webm`, `.m3u8`. - Office:`.doc`, `.docx`, `.ppt`, `.pptx`, `.xls`, `.xlsx`. ## 部署 [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fspencerwooo%2Fonedrive-vercel-index&env=REFRESH_TOKEN,ACCESS_TOKEN,CLIENT_SECRET&envDescription=Required%20API%20tokens%20for%20this%20project.&project-name=onedrive-vercel-index&repo-name=onedrive-vercel-index&demo-title=onedrive-vercel-index&demo-description=Probably%20the%20best%20looking%20OneDrive%20Index%20around!%20Powered%20by%20Vercel%20and%20Next.js.&demo-url=http%3A%2F%2Fonedrive-vercel-index.vercel.app&demo-image=https%3A%2F%2Fraw.githubusercontent.com%2Fspencerwooo%2Fonedrive-vercel-index%2Fmain%2Fpublic%2Fdemo.png) - 使用上面的按钮将项目部署到 Vercel。 Vercel 会自动将项目分叉并克隆到您的 GitHub 帐户。 - 在 Vercel 中定义环境变量:`REFRESH_TOKEN`、`ACCESS_TOKEN`、`CLIENT_SECRET`。 - 最后,可以更改配置文件 [`config/api.json`](config/api.json) 和 [`config/site.json`](config/site.json) 来自定义网页的样式和内容。 配置 OneDrive 身份验证令牌和变量的步骤与 [`onedrive-cf-index`](https://github.com/spencerwooo/onedrive-cf-index/blob/main/README-CN.md#生成-onedrive-api-令牌) 项目中相同。也可以在那里找到详细的文档。 **** ![bbb0dcd9f5ae10865682a5c0c580a7ff.jpg](https://ppmm.org/images/2021/07/13/bbb0dcd9f5ae10865682a5c0c580a7ff.jpg) 可能会遇到环境变量的总大小超过 4KB 导致无法部署的问题 临时解决办法:把[pages/api/index.ts ](https://github.com/spencerwooo/onedrive-vercel-index/blob/main/pages/api/index.ts)中的5-20行 ``` let _access_token = '' const getAccessToken = async () => { if (_access_token) { console.log('Fetch token from memory.') return _access_token } ``` 改为 ``` let _access_token = '改为你的access_token' const getAccessToken = async () => { // if (_access_token) { // console.log('Fetch token from memory.') // return _access_token // } ``` 即可。同时要把 GitHub 仓库设为私有,防止access_token泄漏。
GitHub:https://github.com/spencerwooo/onedrive-vercel-index
(还有个 CloudFlare Workers 版本,但搭建步骤比较复杂且容易出错,故不建议使用。)
****
## 白嫖 Microsoft 365 E5
申请[Microsoft 365 开发人员计划](https://developer.microsoft.com/zh-cn/microsoft-365/dev-program),90 天有效期。经常调用 API 就可以自动续期,也可以用网上的开源[E5 自动订阅程序](https://qyi.io/archives/687.html)。
****
## DEMO
https://drive.spencerwoo.com/
我自己搭建的:https://drive.iamsjy.com/
![a57e666407f62171c3000010b8154489.png](https://ppmm.org/images/2021/07/13/a57e666407f62171c3000010b8154489.png)
## 功能
### 🚀 功能一览
- 全新「面包屑」导航栏;
- 支持由世纪互联运营的 OneDrive 版本;
- 支持 SharePoint 部署;
### 🗃️ 目录索引显示
- 全新支持自定义的设计风格:spencer.css;
- 支持使用 Emoji 作为文件夹图标(如果文件夹名称第一位是 Emoji 则自动开启该功能);
- 渲染 `README.md` 如果当前目录下包含此文件,使用 [github-markdown-css](https://github.com/sindresorhus/github-markdown-css) 渲染样式;
- 支持「分页」,没有一个目录仅限显示 200 个项目的限制了!
### 📁 文件在线预览
- 根据文件类型渲染文件图标,图标使用 [Font Awesome icons](https://fontawesome.com/);
- 支持预览:
- 纯文本:`.txt`.
- Markdown 格式文本:`.md`, `.mdown`, `.markdown`.
- 图片(支持 Medium 风格的图片缩放):`.png`, `.jpg`, and `.gif`.
- 代码高亮:`.js`, `.py`, `.c`, `.json`...
- PDF(支持懒加载、加载进度、Chrome 内置 PDF 阅读器):`.pdf`.
- 视频:`.mp4`, `.flv`, `.webm`, `.m3u8`.
- Office:`.doc`, `.docx`, `.ppt`, `.pptx`, `.xls`, `.xlsx`.
## 部署
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fspencerwooo%2Fonedrive-vercel-index&env=REFRESH_TOKEN,ACCESS_TOKEN,CLIENT_SECRET&envDescription=Required%20API%20tokens%20for%20this%20project.&project-name=onedrive-vercel-index&repo-name=onedrive-vercel-index&demo-title=onedrive-vercel-index&demo-description=Probably%20the%20best%20looking%20OneDrive%20Index%20around!%20Powered%20by%20Vercel%20and%20Next.js.&demo-url=http%3A%2F%2Fonedrive-vercel-index.vercel.app&demo-image=https%3A%2F%2Fraw.githubusercontent.com%2Fspencerwooo%2Fonedrive-vercel-index%2Fmain%2Fpublic%2Fdemo.png)
- 使用上面的按钮将项目部署到 Vercel。 Vercel 会自动将项目分叉并克隆到您的 GitHub 帐户。
- 在 Vercel 中定义环境变量:`REFRESH_TOKEN`、`ACCESS_TOKEN`、`CLIENT_SECRET`。
- 最后,可以更改配置文件 [`config/api.json`](config/api.json) 和 [`config/site.json`](config/site.json) 来自定义网页的样式和内容。
配置 OneDrive 身份验证令牌和变量的步骤与 [`onedrive-cf-index`](https://github.com/spencerwooo/onedrive-cf-index/blob/main/README-CN.md#生成-onedrive-api-令牌) 项目中相同。也可以在那里找到详细的文档。
****
![bbb0dcd9f5ae10865682a5c0c580a7ff.jpg](https://ppmm.org/images/2021/07/13/bbb0dcd9f5ae10865682a5c0c580a7ff.jpg)
可能会遇到环境变量的总大小超过 4KB 导致无法部署的问题
临时解决办法:把[pages/api/index.ts
](https://github.com/spencerwooo/onedrive-vercel-index/blob/main/pages/api/index.ts)中的5-20行
```
let _access_token = ''
const getAccessToken = async () => {
if (_access_token) {
console.log('Fetch token from memory.')
return _access_token
}
```
改为
```
let _access_token = '改为你的access_token'
const getAccessToken = async () => {
// if (_access_token) {
// console.log('Fetch token from memory.')
// return _access_token
// }
```
即可。同时要把 GitHub 仓库设为私有,防止access_token泄漏。
收藏
♥ 感谢
Tony
219m
2021-07-13
应该是15-20行
可以给趣小组搭一个,简便无成本,SharePoint 下载速度还可以。
Spoony
小组长
2021-07-13
@Tony 可以可以
Tony
219m
2021-07-14
♥ 1
@Spoony OneManager 也可以。除了 OneDrive,还支持 Google Drive 和阿里网盘,有后台管理界面,功能更加强大,部署方式多样且简便。
只不过后台界面连 CSS 都没有...预览功能也不如 onedrive-vercel-index
https://github.com/qkqpttgf/OneManager-php
可以换主题,还不错
(过于粗糙的后台管理.....)
自建的:
https://my-onemanager.glitch.me/
Tony
219m
2021-07-15
用 Netlify 部署 onedrive-vercel-index 的方法可以参考:
https://github.com/spencerwooo/onedrive-vercel-index/issues/19#issuecomment-880484406
没有环境变量大小的限制,但不知道为什么,有些时候部署会特别慢。
DEMO:
https://onedrive-index.netlify.app/
Tony
219m
2021-07-19
经测试,OneManager-php 也可以用 railway.app 部署,加载速度更快且不会自动休眠。
部署方式:在 GitHub 上 Fork OneManager-php 源码并在 Railway 中导入即可
自建的:
https://onemanager.up.railway.app/
Tony
219m
2021-07-19
FODI 也是一个不错的 OneDrive 索引。
FODI,Fast OneDrive Index 的缩写,意为 OneDrive 快速列表。相较于其他程序,此版列表速度极快,且无需服务器,部署极为简单。另外,此列表还支持图片/音频/视频/Markdown/TXT 预览。
DEMO:
https://logi.im/fodi.html
部署方式:
https://logi.im/back-end/fodi-on-cloudflare.html
自建的:
https://drive.iamsjy.eu.org/
真·秒开
(加载网页需要几秒钟,但加载完切换目录速度很快)
登录
或
注册
后可回复。
›
创客百宝箱