V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lyc8503
V2EX  ›  程序员

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

  •  1
     
  •   lyc8503 · 192 天前 · 2029 次点击
    这是一个创建于 192 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几天发帖说这个项目在 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 接入自己的域名, 无需信用卡认证

    放两张图:

    第 1 条附言  ·  192 天前
    如果觉得好用的话, 也可以顺便说说你在用什么文件分享 / 图床?

    图床如果跑路的话更换链接还是挺麻烦的... 目前我主要在用这个项目作文件共享: https://pan.lyc8503.site

    类似于个人网盘的分享前端, 可以分享一些比较大的、公开的二进制文件
    21 条回复    2023-10-21 03:01:12 +08:00
    csznet2023
        1
    csznet2023  
       192 天前
    前端写的很漂亮,看看我的,丑的一批:
    https://github.com/csznet/tgState
    kloudmuka
        2
    kloudmuka  
       192 天前
    不错,已 star
    ljsh093
        3
    ljsh093  
       192 天前   ❤️ 1
    alist 还不轻吗,而且功能很完善,完成度已经很高了
    lyc8503
        4
    lyc8503  
    OP
       192 天前   ❤️ 2
    @csznet2023 不是我写的, 我目前的主要做的是 fork 之后移植到了 cloudflare workers~ 目前的 UI 是 spencerwoo 大佬写的~

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

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

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

    不过请不要使用环境变量设置 title, 可能导致 NextJs SSR 出现问题(你说的标题闪一下就是客户端和服务端不一致导致的).
    xianzheng
        17
    xianzheng  
       191 天前
    userPrincipalName 、baseDirectory 这两个该填什么内容呢
    lyc8503
        18
    lyc8503  
    OP
       191 天前
    @xianzheng 文档和注释中都有, 前者是你登录 Onedrive 的邮箱, 后者是需要共享的路径
    xianzheng
        19
    xianzheng  
       191 天前
    @lyc8503 好的谢谢
    neil99
        20
    neil99  
       190 天前
    跑起来了,已 star 。
    protectedRoutes 设置的时候还是折腾了几次。最后才发现,这个路径应该是 baseDirectory 的相对路径。
    lyc8503
        21
    lyc8503  
    OP
       190 天前 via Android
    @neil99 感谢,我明天去更新下文档和注释,说得更清楚点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5853 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 06:20 · PVG 14:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.