利用 OneIndex 在 VPS 部署 OneDrive 网盘

OneIndex logo

OneIndex 是针对 OneDrive 网盘的一个开源程序,可以将 OneDrive 存储的文件展示、直链下载、在线播放视频,且不占用服务器空间,不走服务器流量

部署步骤

需要 PHP 5.6+ 并打开 curl 支持

1
2
wget https://github.com/donwa/oneindex/releases/download/3.1/oneindex.zip
unzip oneindex.zip -d oneindex

如上从 GitHub Releases 中下载好 oneindex.zip 后,解压到网站服务器目录,浏览器访问 your_domain/oneindex/,然后根据提示操作即可。

如果访问时提示 Access denied 这样的权限错误,需要用 chmod 让 config 和 cache 目录可读写。

默认的后台管理页面是 your_domain/oneindex/?/admin

动图演示

demo

计划任务自动刷新 token 和缓存

oneindex 访问 OneDrive 的 token 在一段时间后会自动失效;oneindex 页面所展示的目录也并非实时更新,而需要定时从 OneDrive 抓取。可以修改以下命令,写入 /etc/crontab,即可实现定时刷新 token 和 文件/目录缓存。

1
2
3
4
5
# 每小时刷新一次token
0 * * * * /具体路径/php /程序具体路径/one.php token:refresh

# 每十分钟后台刷新一遍缓存
*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh

功能

特殊文件实现功能

  • 在 OneDrive 的文件夹中添加 README.md 文件,会将内容直接展示在相应的文件夹页面底部

  • 在 OneDrive 的文件夹中添加 HEAD.md 文件,会将内容直接展示在相应的文件夹页面头部

  • 在 OneDrive 的文件夹中添加 index.html 文件,程序会直接输出网页而不列目录

  • 文件夹加密:在 OneDrive 的文件夹中添加.password 文件,填入密码,密码不能为空。

    Windows 下可能无法在资源管理器中新建没有文件名的文件,因此可以使用命令行:

    1
    cd.>.password
    

    然后使用文本编辑器填入密码即可。

    更新于 2020-04-29:Windows 1903 已支持在资源管理器直接新建仅有扩展名的文件了。

命令行功能

  • 清除缓存:

    1
    php one.php cache:clear
    
  • 刷新缓存:

    1
    php one.php cache:refresh
    
  • 刷新令牌:

    1
    php one.php token:refresh
    
  • 上传文件:

    1
    php one.php upload:file 本地文件 [OneDrive文件]
    
  • 上传文件夹:

    1
    php one.php upload:folder 本地文件夹 [OneDrive文件夹]
    

    例如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 上传 demo.zip 到 OneDrive 根目录  
    php one.php upload:file demo.zip  
    
    # 上传 demo.zip 到 OneDrive /test/ 目录  
    php one.php upload:file demo.zip /test/  
    
    # 上传 demo.zip 到 OneDrive /test/ 目录并将其命名为 d.zip  
    php one.php upload:file demo.zip /test/d.zip  
    
    # 上传 up/ 到 OneDrive /test/ 目录  
    php one.php upload:file up/ /test/
    

    正因为直接部署能够方便地上传服务器文件到 OneDrive,我才没有选择部署更加便捷的 Docker 方式

密码重置

如果忘记了后台管理密码,可以去 oneindex 目录下修改 config/base.php 文件第三行的 password 字段。

参考链接

-------------本文结束    感谢您的阅读-------------
0%