本站将不再提供免翻镜像域名,有能力的请访问:[doub.io],该域名永不更换。[直连访问方法]
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程

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

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

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


Caddy FileBrowser扩展介绍

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

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

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

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

Github 项目:https://github.com/filebrowser/filebrowser

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

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

注意:因为自从该扩展 v1.5.0 开始,就从 FileManager 改名为 FileBrowser 了,但是其作为 Caddy 扩展的使用代码没区别,所以我只修改了本文章里的部分名称,代码什么的都不变。

安装 Caddy

wget -N --no-check-certificate https://softs.loan/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

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

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.pw

IP HTTP

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

点击展开 查看内容

域名 HTTP

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

点击展开 查看内容

域名 HTTPS

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

点击展开 查看内容

域名 HTTP重定向 HTTPS(仅手动指定SSL证书和密匙)

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

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

点击展开 查看内容

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

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

FileBrowser 使用说明

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

切换中文

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

使用技巧

一些按键有对应的作用:

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

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

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

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

升级FileBrowser

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

wget -N --no-check-certificate https://softs.loan/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

卸载

只需要把安装命令 install 改成 uninstall 就是卸载了,因为扩展是集成于Caddy中的,所以无法单独卸载某个扩展。

wget -N --no-check-certificate https://softs.loan/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh uninstall

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

其他说明

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

因为 服务脚本判断的问题,只判断了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后,无法访问

点击展开 查看更多

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

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

点击展开 查看更多


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

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

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

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(292)个小伙伴在吐槽
  1. 好奇怪啊,我绑定已有域名,查看日记发现直接给我个https://域名:2015端口,这时自动分配的?
    蓝爵薇2018-07-21 17:28 (2天前)回复
    • 一般是 Caddy 检测不到配置文件,或者配置文件为空,就会自动监听 0.0.0.0:2015 ,你需要检查一下配置文件。
      Toyo2018-07-22 01:06 (1天前)回复
  2. 官方版本1.80,可以更新一下吗?
    蓝爵薇2018-07-21 17:17 (2天前)回复
    • 本文章是用 Caddy 扩展的方式安装的FileBrowser。
      更新速度取决于作者提交扩展文件到 Caddy官方的速度(和Caddy审核速度),所以往往通过 Caddy扩展的方式安装,版本更新是慢于独立版的,但是独立版HTTP服务方面太简陋,还是Caddy简单,顶多多等几天就会跟进到最新版本的。
      Toyo2018-07-22 01:08 (1天前)回复
  3. 博主好 我有点好奇 能不能换一下 访问域名时进入filemanager 访问域名/Download时进入aria2管理面板? 该怎么配置 请指教
    xyh1012018-06-29 23:23 回复
    • 我记得以前我试过,访问域名/Download 似乎 filemanager 会产生反应。。。
      不过你可以再试试:
      echo -e "http://toyoo.pw {
       timeouts none
       gzip
       filemanager / /usr/local/caddy/www/aria2/Download {
        database /usr/local/caddy/filemanager.db
       }
      }
      http://toyoo.pw/download {
       root /usr/local/caddy/www/aria2
       timeouts none
       gzip
      }" > /usr/local/caddy/Caddyfile
      
      Toyo2018-07-01 10:04 回复
      • 多谢回复 好像又出现问题了 ariaNG用域名/download 访问时好像只有一个html文件加载出来...只能显示出一排排文字...
        xyh1012018-07-01 19:51 回复
        • 浏览器F12 看看是CSS没有加载出来还是什么报错。
          Toyo2018-07-02 10:06 回复
  4. 遇到一个比较奇怪的问题,我的Caddyfile是将xxxx.cf redir 到 www.xxxx.cf,然后在www.xxxx.cf{}里写各种gzip、tls、filemanager的配置。通过浏览器访问xxxx.cf默认admin无法登陆,删除filemanager.db也没用,而www.xxxx.cf就可以,然后在不退出登陆的情况下重新打开www.xxxx.cf网页是直接进入文件夹界面不用登陆,而不退出登陆打开xxxx.cf网页就是登录界面
    TonyYung2018-06-14 10:03 回复
    • 访问域名 xxxx.cf 没有自动转发到 www.xxxx.cf ?
      Toyo2018-06-14 10:20 回复
      • 有,刚刚试了一下从www.xxxx.cf那边登录创建新用户,xxxx.cf那边也是不能登录的
        TonyYung2018-06-14 10:28 回复
        • 你访问 xxxx.cf 自动重定向到了 www.xxxx.cf,那何来的 “从www.xxxx.cf那边登录创建新用户,xxxx.cf那边也是不能登录的”?
          Toyo2018-06-14 10:51 回复
          • 噢我可能理解错了,就是xxxx.cf是可以打开的,地址栏后面会多一串/login之类的东西,没有转到www.xxxx.cf,是登录前的状态
            TonyYung2018-06-14 10:54 回复
            • 请贴出完整配置文件内容。
              Toyo2018-06-14 11:08 回复
              • 基本上没有自己加东西 xxxx.cf { redir https://www.yips.cf{uri} } www.xxxx.cf { root /usr/local/caddy/www/file timeouts none tls [email protected] gzip filemanager / /usr/local/caddy/www/file { database /usr/local/caddy/filemanager.db } }
                TonyYung2018-06-14 11:14 回复
              • 另外,我的dns设置是:裸域名A记录指向ip,www CNAME指向裸域名
                TonyYung2018-06-14 11:18 回复
                • www 也直接指向IP。
                  Toyo2018-06-14 18:34 回复
  5. 大佬,还有一个挺不错的项目minio,感觉扩展性比较强,如果没教程写可以试试看
    freefarm2018-06-08 15:01 回复
1 2 3