镜像域名 doub.bid 提供给无翻墙能力的人访问,有能力的建议访问主域名:doub点io(防镜像替换 自己改点)
投稿文章 | 广告投放 | Telegram 群组 / 公告频道

利用 Caddy FileManager扩展 非常简单的部署 私人网盘/在线文件管理器

建站资源 Toyo 185评论
文章目录
[显示]
本文最后更新于 2017年12月24日 18:09 可能会因为没有更新而失效。如已失效或需要修正,请留言!

今天在评论里看到一个逗比 @kurokutomoko 告诉我,Caddy有一个 FileManager扩展,可以非常简单的部署一个私人网盘或者在线文件管理工具,我试了试的确很简单很好用,所以写一个简单教程。


Caddy FileManager扩展介绍

FileManager 是基于Caddy 的扩展。它提供文件管理界面,可用于 上传/下载/删除/预览和重命名 等该目录中的文件。

  1. 支持 上传文件
  2. 支持 按类型 搜索文件
  3. 支持 批量压缩 文件下载
  4. 支持 多用户管理(权限可控)
  5. 支持 在网页执行 Linux命令
  6. 支持 创建 共享链接(限时/永久)
  7. 支持 在线编辑 各类文本文件
  8. 支持 在线浏览 图片/文本/视频等
  9. 支持 新建/重命名/移动/删除 文件和文件夹等
  10. 部署简单,几步完成,无需任何依赖环境
  11. 等等 ...

目前这个扩展新版本已经支持中文, 简体中文语言文件 由本人制作维护!

Caddy 文档:https://caddyserver.com/docs/http.filemanager

Github 项目:https://github.com/hacdias/filemanager

前面的几篇教程,我都用到了Caddy,大家应该都能看出来Caddy的易用性,所以本篇教程也很简单,我会提供一些示例,不懂的也可以留言。

其他私人网盘教程:https://doub.io/all-one/#私有网盘 相关教程

安装 Caddy

wget -N --no-check-certificate https://softs.fun/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

安装Caddy成功后,继续新建一个用于使用的虚拟主机文件夹,例如 file(可以自己改):

mkdir /usr/local/caddy/www && mkdir /usr/local/caddy/www/file

配置 Caddy

首先,我们先讲一下,FileManager扩展各个参数。

filemanager [url] [scope] {
 database path
}
  1. url 是要设置的网站URL。默认是 / (比如 /doubi 那么访问入口就是 http://ip/doubi )。
  2. scope 是要浏览的服务器文件目录路径,可以使相对或绝对路径。默认是 ./ (服务器上面文件的绝对或相对路径)。
  3. database path 是 filemanager 的数据库路径(如果不写这个参数,则默认就是 /usr/local/caddy/filemanager.db)。

配置示例

以下示例中,虚拟主机文件夹皆为 /usr/local/caddy/www/file

示例域名皆为 toyoo.ml

IP HTTP

本示例是,绑定虚拟主机为IP(即通过IP访问),HTTP协议(80端口)。

点击展开 查看内容

域名 HTTP

本示例是,绑定虚拟主机为域名(即通过域名访问),HTTP协议(80端口)。

点击展开 查看内容

域名 HTTPS

本示例是,绑定虚拟主机为域名(即通过域名访问),HTTPS协议(443端口)。

点击展开 查看内容

域名 HTTP重定向 HTTPS

本示例是,域名HTTP重定向为HTTPS。

当你是手动指定 SSL证书和密匙 来配置的话,Caddy只会监听 443端口(https),并不会自动设置 80端口(http)的重定向,如果要做重定向的话,可以这样做:

点击展开 查看内容

当你已经配置完上面步骤后,那就需要启动Caddy了。

/etc/init.d/caddy start
# 如果启动失败可以看Caddy日志: tail -f /tmp/caddy.log

FileManager 使用说明

配置并打开网站后,默认账号和密码都是 admin,可以登陆后修改。[Settings]

切换中文

进入后可以点击左边侧栏 [Settings] 进入设置页面,然后选择 [language - Chinese (Simplified)] ,并点击右下角第一个 [Update] 按钮更新。

使用技巧

一些按键有对应的作用:

  1. F1 - 查看帮助
  2. F2 - 重命名 文件/文件夹
  3. DEL - 删除所选 文件/文件夹
  4. ESC - 清除当前选择 或 关闭提示
  5. CTRL + S - 保存下载 文件/文件夹(zip压缩)
  6. CTRL + 鼠标左键 单击 - 选择多个文件/文件夹
  7. 鼠标左键 双击 - 打开文件/文件夹
  8. 鼠标左键 单击 - 选择文件/文件夹

暂时不能用的按键:

  1. Alt + 鼠标左键 单击 - 选择一组文件

Caddy 使用说明

启动:/etc/init.d/caddy start

停止:/etc/init.d/caddy stop

重启:/etc/init.d/caddy restart

查看状态:/etc/init.d/caddy status

查看Caddy启动日志: tail -f /tmp/caddy.log

Caddy配置文件位置:/usr/local/caddy/Caddyfile

Filemanager数据库位置:/usr/local/caddy/filemanager.db

Caddy自动申请SSL证书位置:/.caddy/acme/acme-v01.api.letsencrypt.org/sites/xxx.xxx(域名)/

升级Filemanager

因为Filemanager是Caddy的扩展,是融合成一个文件的,升级Filemanager=升级Caddy(加扩展),所以只需要重新执行下面的命令覆盖安装Caddy即可(只会覆盖 Caddy自身,不影响配置文件),覆盖安装后启动Caddy即可( /etc/init.d/caddy start )。

wget -N --no-check-certificate https://softs.fun/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

其他说明

启动显示成功,但是实际未运行

因为 服务脚本判断的问题,只判断了nohub是否运行 Caddy成功,但没有判断 Caddy 是否保持正常运行。

你可以理解为,nohub成功启动了 Caddy,但是 Caddy因为配置文件错误等原因,启动后又退出了。

所以这种情况下,你应该去查看启动日志:

tail -f /tmp/caddy.log

单网站/多网站

当然,上面的几个示例,实际上都算是单网站。

点击展开 查看更多

Caddy下载文件频繁中断

可能是因为 Caddy的超时时间机制导致的,可以在配置文件中加入这句代码 timeouts none ,例如这样:

点击展开 查看更多

Caddy启动失败,打开 http://ip 显示的是 It works !

一些系统会自带 apache2 ,而 apache2 会占用80端口,导致Caddy无法绑定端口,所以只要关掉就好了。

点击展开 查看更多

如果你是 Aria2 教程里过来的,那么请看这个示例和说明

使用这个扩展的时候,请先确定你的caddy安装了这个扩展(2017/03/23 17:50 以前通过我网站其他教程安装的皆没有),否则请卸载重装!

点击展开 查看更多

启动 Caddy后,无法访问

点击展开 查看更多

Filemanager账号密码忘了或想要重置账号信息

Filemanager没有找回密码功能,所以一旦你忘记了密码,那么GG,不过没事 有办法重置。

点击展开 查看更多


其他私人网盘教程:https://doub.io/all-one/#私有网盘 相关教程

转载请超链接注明:逗比根据地 » 利用 Caddy FileManager扩展 非常简单的部署 私人网盘/在线文件管理器
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (28)or打赏
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(185)个小伙伴在吐槽
  1. 最新v1.4.5已经解决了mp4播放和idm下载问题
    23332018-01-15 16:24 (2天前)回复
    • 有没有 直接升级的方法或命令,还是得重新下载部署
      sarf2018-01-15 20:53 (2天前)回复
  2. 如何实现 匿名登陆,就是免用户名密码的 查看和下载。
    sarf2018-01-13 23:01 (3天前)回复
    • 没有这个功能,但是管理员可以在后台用户管理中添加游客账号,只有查看和下载的权限。
      Toyo2018-01-14 13:16 (3天前)回复
      • 谢谢
        sarf2018-01-15 20:02 (2天前)回复
  3. 重装了一下发现mp4视频在线播放的时候无法拖动,一拖动进度条就自动回到正在播放的时间,原来没事,chrome和edge浏览器都这样,debian8
    23332018-01-10 13:29 (7天前)回复
    • 用idm下文件也不显示文件大小了,最新版是不是屏蔽了什么东西导致的。。。就算复制链接用potplayer播也无法快进或者拖动进度条(直接卡死,但是看监控后台一直在跑流量)
      23332018-01-10 15:38 (7天前)回复
    • FileManager扩展出问题了,同一台vps上用caddy新建了个虚拟主机用自带的目录浏览可以播mp4视频并拖动。
      23332018-01-10 16:36 (7天前)回复
    • 最新版是1.4.4了,希望大佬更新下。https://github.com/hacdias/filemanager/releases
      23332018-01-10 17:56 (7天前)回复
      • filemanager 是 一个独立的程序同时也是 Caddy 的一个插件,本教程里的安装方式是直接安装 Caddy 并附带安装 filemanager 插件,而 filemanager 独立版的程序(就是你给的链接)比 Caddy插件版的更新更快。
        在独立版更新后,不出意外,作者会把 新版本制作成Caddy插件的方式去 Caddy 提交更新插件文件,然后你用本文章的安装方式才会得到最新版本的 filemanager。
        如果你只想要即刻体验 filemanager 最新版本,那么请自行安装 独立版(安装方法见filemanager官网,Github有写官网地址)。
        Toyo2018-01-10 20:45 (7天前)回复
  4. 大佬,不知道是不是我的特例,我这边最近出现了filemanager在线播放视频时候,拖动进度条就会提示视屏无法播放的情况,以前没有这种情况的。视屏是mp4格式的
    黄鱼鱼2018-01-05 22:13 回复
    • 我用 v1.4.3 最新版本测试,拖拉视频进度条,无论是拖拉到已缓存的 还是未缓存到的进度,都能正常播放。
      不管 HTML5的视频播放控件 并不支持分段缓存,所以如果你拉到最后,那么他也是慢慢缓存,直到缓存到 你拉到最后的进度条处 才会继续播放。
      Toyo2018-01-06 14:12 回复
  5. 你好,我想问一下,我从服务器上filemanager 下载文件,每个文件都是到1m/s左右,这个要怎么设置,让它全速下载
    NIKO2018-01-05 17:10 回复
    • 最近发现 FileManager IDM去多线程下载,会因为无法获取文件大小而无法多线程下载+断点续传,导致速度受限,当然影响速度的因素还有很多,比如你与服务器之间的网络质量。
      Toyo2018-01-06 14:18 回复
  6. 博主你好,我用你的方法安装了caddy并启用了filemanager,但是使用IDM下载filemanager内的文件时提示不支持断点续传和多线程,请问有解决办法吗?非常感谢!
    yhsiao2018-01-04 14:40 回复
    • 不要重复提问,你的问题我已经在上个文章回复你了。
      Toyo2018-01-04 15:07 回复
  7. 博主,你好,用你的方法有个BUG,就是如果下载的文件带有中文名,在Filemanager中无法直接播放,无法缓存。不能直接观看,而下载的如果是全英文名的,那就可以直接缓存播放,在线不放。如果不用Filemanager插件,直接browse配置,那就可以,无论英文名还是中文名。还有下载的时候是中文名,在Filemanager中重新命名成全英文名也是不行的,这个应该是在开发时没考虑过中文名的情况。
    XXyinying2018-01-02 17:56 回复
    • 测试无这个问题,我的逗比云的服务器上面也装了这个插件,就是为了方便上传更新逗比云里的文件,我去这个插件里播放 video 文件夹内的几个中文文件名视频都是正常播放、缓冲的。
      支持中文并不是很麻烦的事情,因为国际编码早就订好了,只要支持 UTF-8格式编码,就支持全世界绝大部分语言。
      Toyo2018-01-03 12:42 回复
      • 嗯,我在看了一下,大文件无法播放,无限缓存。这是什么原因?
        xxyinying2018-01-03 16:49 回复
        • 大文件多大?我逗比云里的都是几十MB大小的,如果是 几百MB 或者 几GB 的,我目前无法测试,不管我记得去年的时候我曾经用 逗比云中转过几个 几GB的电影,当时测试好像没问题。
          而且最重要的是, mp4 等视频格式在线播放并不是由 filemanager 实现的,而是靠浏览器的HTML5实现的,只要浏览器支持 HTML5,那么你在服务器上面无论用什么 HTTP Web服务中访问mp4文件,都会在线播放。
          这也是为什么 你直接browse配置,也能在线播放的原因,你就是用 nginx apache 也一样,因为这些程序不会帮你在线播放mp4视频,而只是建立一个HTTP服务,让你可以在线访问该 mp4视频,然后浏览器的HTML5就会开始播放,这也是为什么无论什么方式,他们的视频播放控件(就是开始、暂停、进度条、全屏)都长一个样子的原因。
          Toyo2018-01-04 15:02 回复
      • 难道是没用域名的原因? 还是vps是openvz的原因?
        xxyinying2018-01-03 16:55 回复
        • 和域名与服务器虚拟化构架都没关系,八竿子打不着。
          Toyo2018-01-04 14:56 回复
  8. 感谢博主。有个问题需要请教,之前没有添加filemanager插件,可以实现云播。但是加了插件之后,反而双击打开视频文件会一直缓冲,目测是要把整个文件下载到本地后才会开始云播。请问有什么方法可以解决吗
    iammsf2017-12-31 11:59 回复
    • 这种问题你应该联系 filemanager 作者,我用我的 filemanager 网站看视频的话没这个问题,也是一点一点缓冲播放的。
      Toyo2018-01-01 09:46 回复
    • 我也是这个问题,你解决了吗?
      xxyinying2018-01-02 10:24 回复
  9. 博主你好 这个能和AriaNg共存吗
    lin2017-12-25 21:52 回复
    • 可以。
      Toyo2017-12-26 12:39 回复
      • 比如准备把80端口给FileManager 把81端口给 AriaNg restart Caddy后FileManager 和 AriaNg 只有一个能够运行 怎么给Caddy命令才能让这两个同时运行不同的端口? :lol:
        lin2017-12-26 21:42 回复
        • 以 toyoo.ml 域名为例,你要的配置文件应该如下所示:
          http://toyoo.ml:80 {
           root /usr/local/caddy/www/file
           timeouts none
           gzip
           filemanager / /usr/local/caddy/www/file {
            database /usr/local/caddy/filemanager.db
           }
          }
          http://toyoo.ml:81 {
           root /usr/local/caddy/www/aria2
           timeouts none
           gzip
          }
          
          Caddy 是HTTP服务程序,支持多个虚拟主机的。
          Toyo2017-12-27 11:44 回复
  10. 很不错的文章!比seafile貌似更geek一些
    @Debian2017-12-24 10:25 回复
  11. Toyo大佬,请问Caddy 自动申请的 Let's Encrypt SSL证书的文件路径在哪里呢
    GSON2017-12-23 20:38 回复
    • Caddy自动申请SSL证书位置:/.caddy/acme/acme-v01.api.letsencrypt.org/sites/xxx.xxx(域名)/
      Toyo2017-12-24 18:09 回复
  12. 本人下载40g+的文件夹时,选择使用zip文件下载到本地,然而就一直加载中,是不是这时正在压缩文件,如果是的话压缩的文件路径在哪?
    shadowlyin2017-12-20 15:33 回复
    • 40GB+的文件的话,可能会压缩很慢,建议SSH中用命令行压缩好,或者用该软件的搜索栏执行压缩代码(需要再用户配置里添加 压缩命令运行权限),压缩代码教程
      压缩的文件应该是在 /tmp/ 这个临时文件夹里,但是我也不清楚具体文件夹。
      Toyo2017-12-21 13:16 回复
  13. 请问:128M小内存你推荐哪一个程序:VFM2、File manager、H5ai还是Directory Lister?因为搭建LNMP环境,内存就快占用满了。就想用一个省内存的程序,谢谢!
    Chilsion2017-12-04 23:33 回复
    • VFM2 没用过不清楚,H5ai 和 Directory Lister 都需要PHP环境,而你的内存太小,安装PHP环境后可能就满了。省内存还是 Caddy 的 FileManager扩展,小内存方面Go语言优势很大。
      Toyo2017-12-05 12:40 回复
  14. 无法更改访问目录
    chx8182017-12-01 13:49 回复
  15. 安装一切顺利,就是选择多个下载的时候,选任意格式都会出现错误: This site can’t be reached The web page at http://192.168.94.210:8080/api/download/?files=%2FTio_12577_2016-08-18T02_56_09_level1%2B.fits%2C%2FTio_12577_2016-08-18T02_55_39_level1%2B.fits%2C%2FTio_12577_2016-08-18T02_55_09_level1%2B.fits%2C%2FTio_12577_2016-08-18T02_54_39_level1%2B.fits&&format=targz might be temporarily down or it may have moved permanently to a new web address. ERR_INVALID_RESPONSE /tmp/caddy.log无信息 不知何故。。。。
    chd19982017-12-01 11:19 回复
  16. 你好~请问自动申请的 SSl 证书有效期有多久?到期后会自动续期吗?谢谢!
    王大锤2017-12-01 00:50 回复
    • Caddy 是自动申请的 Let's Encrypt SSL证书,这个免费证书最多签3个月,Caddy会自动续期的(只要Caddy在运行,就会每天检查一次证书)。
      Toyo2017-12-01 15:17 回复
      • 谢谢博主!
        王大锤2017-12-02 21:54 回复
  17. 博主你好,想问一下如何添加其他插件?
    oha2017-11-29 22:25 回复
    • 在运行脚本命令的后面追加 插件名称(去Caddy官网获得),每个插件名字直接用空格分隔。
      wget -N --no-check-certificate https://softs.fun/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager xxx xxx
      
      Toyo2017-12-01 15:34 回复
1 2