alist 轻量替代, 自建免费 Onedrive 文件共享/直链分享/图床 - onedrive-cf-index-ng

205 天前
 lyc8503

前几天发帖说这个项目在 working ip progress, 不过好像没什么人看到, 又来水一贴~

原本一直在用 @spencerwooo 作者的 onedrive-vercel-index 项目. 不过最近原作者 archive 仓库不维护了(加上 vercel 被墙了), 于是我 fork 并将它迁移到了 Cloudflare Pages 上.

原理就是通过 Onedrive 相关的 API 获取你 Onedrive 里的文件并提供 UI 展示和直链, Onedrive 下载不限速且 microsoftonline (E5 Onedrive) 的域名没被墙

项目: https://github.com/lyc8503/onedrive-cf-index-ng

UI 还是比较美观和舒适的, 有多种文件格式的在线预览, 可以方便地免费部署在 Cloudflare 上, 可 CNAME 接入自己的域名, 无需信用卡认证

放两张图:

2091 次点击
所在节点    程序员
21 条回复
csznet2023
205 天前
前端写的很漂亮,看看我的,丑的一批:
https://github.com/csznet/tgState
kloudmuka
205 天前
不错,已 star
ljsh093
205 天前
alist 还不轻吗,而且功能很完善,完成度已经很高了
lyc8503
205 天前
@csznet2023 不是我写的, 我目前的主要做的是 fork 之后移植到了 cloudflare workers~ 目前的 UI 是 spencerwoo 大佬写的~

@ljsh093 需要部署在独立的服务器上, 这个可以部署在 edge 上, 还是有点区别的. 当然 alist 也不需要很多资源就是了. (而且我个人觉得 alist 的 UI 没这个好看)
Lentin
205 天前
点到最后一步按钮提示 Do not pretend to be the site owner 不知道什么原因……
wu529778790
205 天前
图床用 github ,大文件肯定用网盘啊,自己搭建占用空间,而且无法保存别人的
lyc8503
205 天前
@Lentin 大概率是 config/site 那个文件中的用户名忘记修改或者打错了, 再检查一下?
Lentin
205 天前
@lyc8503 https://github.com/lyc8503/onedrive-cf-index-ng/wiki/Getting-Started 这里面好像没有写相关步骤 折腾半天 一会我再试试
lyc8503
205 天前
@Lentin 第二步加粗部分: All you need to change is userPrincipalName and baseDirectory for this to work.
Lentin
205 天前
@lyc8503 #9 试了一下在环境变量里面加了用户名没有生效似乎对变量处理有些问题
Lentin
205 天前
@Lentin #10 后面的 title 和目录是我手动加上去的 标题会闪一下我变量里面的内容 然后又变成默认值了..
lyc8503
205 天前
@Lentin hmm 我去看看,你可以先在配置文件中修改,直接修改了 cloudflare 会自动重新部署的
skiy
204 天前
之前文档不全,本地跑起来出错。另外,你把 config 变量都写死在里面了。
总之,跑不起来。
lyc8503
204 天前
@Lentin 目前对邮箱的环境变量处理还有些问题,但直接修改你仓库中的 site.config.js 修改标题即可,没必要用环境变量?

@skiy 本地本来就跑不起来,用了 Cloudflare 的 KV api ,config 变量从来没有"写死"一说,文档里已经说明了,请在自己 fork 的仓库中修改 site.config.js 文件,这个文件就是让你修改用的配置文件

如果你有问题,可以在仓库中发 issue 或者提供详细的问题描述
lyc8503
204 天前
@Lentin 大概 debug 出来了, 应该是原作者挖的坑被我 fork 过来了, 原作者这个校验是在前端做的, 我修改下
lyc8503
204 天前
@Lentin 感谢你的反馈, 现在 bug 修好了, 直接 GitHub 网页上拉去一下上游应该就可以了

不过请不要使用环境变量设置 title, 可能导致 NextJs SSR 出现问题(你说的标题闪一下就是客户端和服务端不一致导致的).
xianzheng
204 天前
userPrincipalName 、baseDirectory 这两个该填什么内容呢
lyc8503
204 天前
@xianzheng 文档和注释中都有, 前者是你登录 Onedrive 的邮箱, 后者是需要共享的路径
xianzheng
204 天前
@lyc8503 好的谢谢
neil99
203 天前
跑起来了,已 star 。
protectedRoutes 设置的时候还是折腾了几次。最后才发现,这个路径应该是 baseDirectory 的相对路径。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/983306

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX