逗比云还是逃不过被墙的命运,既然如此那以后逗比云也就一直用被墙的旧域名 [softs.wtf] 算了。
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

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

建站资源 Toyo 324评论
广告
本文最后更新于 2018年11月5日 14:23 可能会因为没有更新而失效。如已失效或需要修正,请留言!

今天在评论里看到一个逗比 @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://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

# 如果你要同时安装多个 Caddy 插件,那么请修改下面的命令格式为:
# bash caddy_install.sh install http.filemanager,http.xxx,http.xxx
# 英文半角逗号分隔多个插件名称
# 注意并不能单独安装一个扩展,所以如果你要新安装扩展,请执行上面的命令安装 Caddy 并加上你要安装的所有扩展的名称。

安装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-v02.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://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://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扩展 非常简单的部署 私人网盘/在线文件管理器
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (58)
发表我的评论
取消评论
表情

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(324)个小伙伴在吐槽
  1. 我最近重装后发现账号密码在重启后会变成默认,简单看了下发现filemanager不在/usr/local/caddy/文件夹下,请问这是怎么回事,我搞错了什么吗?
    Arkulus2018-10-28 15:24 回复
    • 你指的是 filemanager.db?不在这个文件夹下在哪个文件夹下?重启后该文件丢失了?我测试了下正常。
      Toyo2018-10-28 15:57 回复
      • 目前解决了这个问题,虽然没搞懂。我之前使用了acme申请了Let's encrypt证书,在Caddyfile里添加了tls xxx.crt xxx.key这一行,然后登陆总是密码错误。当我删除了这一行之后,能正常登陆访问,却发现有了https,觉得有点奇怪。
        Arkulus2018-10-28 18:13 回复
  2. 请问站长怎么设置其他端口跳转到https,如toyoo.pw:8888跳转到https://toyoo.pw:8888,因为我的vps设置了ssr的伪装网站,这个网盘只能设置为其他的端口,但试过了直接输入toyoo.pw:8888不会跳转到https://toyoo.pw:8888,求解答
    alex2018-10-18 17:39 回复
    • 按文章中的示例应该这样写,你试试。
      echo "http://toyoo.pw:8888 {
       timeouts none
       redir https://toyoo.pw:8888{url}
      }
      https://toyoo.pw:8888 {
       root /usr/local/caddy/www/file
       timeouts none
       tls /root/xxx.crt /root/xxx.key
       gzip
       filemanager / /usr/local/caddy/www/file {
        database /usr/local/caddy/filemanager.db
       }
      }" > /usr/local/caddy/Caddyfile
      
      Toyo2018-10-18 18:21 回复
  3. 大佬,绑定IP,http都试过了,过程没报错,但是用IP 、或者域名都打不开. 日志是这个2018/09/30 13:10:21 listen tcp :80: bind: address already in use
    mmqwe2018-09-30 13:23 回复
    • 80 端口被占用,请更换端口(Caddy配置内容的IP或域名后面加上端口,例如 :888{ 或 xxx.xx:888{ )或者查看是哪个程序占用了: netstat -lntp
      Toyo2018-09-30 19:18 回复
  4. File Browse版本显示为v(untracked),不知道是不是个例
    ws2018-09-29 22:51 回复
    • 这个程序所有文件都是内置到一个二进制可执行文件里的,所以多半不是个例,你去 Github 向作者反馈下吧。
      Toyo2018-09-30 19:17 回复
  5. Caddy无法开机自启,重启服务器又要手动启动caddy
    Liuben2018-09-23 15:28 回复
  6. 博主你好,你现在遇到一个问,就是有时重启服务器,caddy不会自动运行,要手动命令才会运行。不是配置文件出错之类,因为手动运行后,所有建站都可正常访问
    wztx2018-09-23 02:12 回复
    • Caddy 安装的时候已经注册为系统服务并配置开机启动了,如果没有正常运行,请开机后查看日志,如果日志文件不存在或者为空,那么说明根本没有启动 Caddy。如果配置文件有报错内容,那么说明是启动失败。
      配置文件位于系统临时目录,每次重启都会清空该目录:cat /tmp/caddy.log
      解决方法有两种:
      一:手动添加启动Caddy代码。
      # Centos系统:
      chmod +x /etc/rc.d/rc.local && vi /etc/rc.d/rc.local
      
      # Ubuntu/Debian系统:
      chmod +x /etc/rc.local && vi /etc/rc.local
      
      # vi 打开后,点击 I键 进入编辑模式,添加代码后点击 ESC键 退出编辑模式,并输入 :wq (英文小写 包括引号)保存并退出。
      #在最后一行加入以下代码,如果最后一行是 exit 0,那么请加在这一行上边。
      /etc/inid.t/caddy start
      
      二:我给你写个定时检测 Caddy 是否在运行的脚本,你放在定时任务中,你先试试上面的解决方法1是否有效,无效我再给你写脚本。
      Toyo2018-09-23 13:52 回复
      • 我也遇到这样的问题了,服务器重启后Caddy无法自启,需要手动启动就一切正常了,服务器测试重启好几次都出现这样的问题。
        Liuben2018-09-23 15:55 回复
  7. 大佬,这个扩展可以配合cloudflare用吗?能的话可以麻烦讲讲吗?
    Q2018-09-22 20:23 回复
    • 没试过,应该是可以的,CF CDN套其他网站怎么套就怎么套。
      Toyo2018-09-22 22:59 回复
  8. 大佬,配置 Caddy 第一步输入filemanager [url] [scope] {后,提示-bash: filemanager: command not found,请问怎么解决
    Kmiku012018-09-18 19:09 回复
    • 请仔细看文章,你输入的代码只是本文章写的格式示例解释。我可没让你输入这些代码。
      Toyo2018-09-18 21:52 回复
      • 哦哦,那配置示例里是不是只要选用一种就行了?我现在已经安装好了Caddy,但接下来的“FileBrowser 使用说明”中 “打开网站”是指在SSH还是浏览器中打开?又是打开那个网站呢?(问题很蠢,还望不吝赐教)
        Kmiku012018-09-20 21:34 回复
        • 问题1,根据需求选择一种示例修改下就可以直接用了。
          问题2,浏览器打开。
          问题3,打开你配置文件里配置的网页(IP、域名、端口取决于你怎么配置的)
          Toyo2018-09-20 22:14 回复
          • 已完成,感谢指导
            Kmiku012018-09-21 13:36 回复
  9. 逗比大佬请问一下上传的文件是储存在自己的服务器吗?
    Liuben2018-09-15 19:15 回复
    • 当然啊。
      Toyo2018-09-15 20:59 回复
      • 那有什么办法可以挂载硬盘吗?服务器自带硬盘太小了。
        Liuben2018-09-19 16:01 回复
        • 可以的,用google-drive-ocamlfuse挂载无限谷歌网盘,但是必须要服务器稳定,最起码CPU和网速要有保证,内存最低512MB(之前有一个256MB的挂载会经常掉线,各种连接错误),便宜没好货。自己撸的无限google drive用不了(没法调用api,那些学校有自己的规则限制),要么花钱买官方的,要么在淘宝找找,主要是stream谷歌网盘上的电影看着贼爽(不占空间,相当于中继,和m3u8效果很像,所以一定要服务器稳定),下载东西到google drive上会在本地上缓存,下载完自动删除
          JACK LEE2018-09-27 15:02 回复
  10. 大神,什么时候可以支持一下mkv的在线播放啊?好像没有声音的样子。。还有就是能不能出一个自定义样式表的教程(stylesheets那个),我改了后没有反应啊
    匿名2018-09-13 10:34 回复
    • 这个扩展目前不支持 mkv 格式视频在线播放,目前只支持 mp4 webm 格式的视频播放(因为目前HTML5只支持这两种视频格式,所以只要浏览器支持HTML5就能播放这两种格式)。
      至于自定义样式表,我没研究过。。。
      Toyo2018-09-13 11:34 回复
      • 大神,你的网站好像教育网能直接打开了
        JACK LEE2018-09-27 15:04 回复
        • 如果你 ping doub.io 得到的是 CF CDN的IP,那么说明你的DNS是无污染的(或者间歇性污染)。
          Toyo2018-09-27 18:10 回复
  11. 运行命令死活都跑不起来……做了下尝试之后发现,要在命令前加$[空格]才能运行 还有,运行比较快的命令可能没什么事,像我运行了个7za直接让网页未响应了……大家要注意一点哦
    yako07552018-08-20 17:00 回复
  12. 今天更新了一下 感觉新logo有点丑 哈哈
    tan2018-08-20 12:09 回复
    • 一个优秀的软件开发者,多半不是都会在设计方面有所欠缺,至少我见到很多软件程序、代理软件的LOGO都有点。。。
      Toyo2018-08-20 16:10 回复
  13. 大佬,如何修改默认登录页面?
    paleur2018-08-18 08:23 回复
  14. 好奇怪啊,我绑定已有域名,查看日记发现直接给我个https://域名:2015端口,这时自动分配的?
    蓝爵薇2018-07-21 17:28 回复
    • 一般是 Caddy 检测不到配置文件,或者配置文件为空,就会自动监听 0.0.0.0:2015 ,你需要检查一下配置文件。
      Toyo2018-07-22 01:06 回复
  15. 官方版本1.80,可以更新一下吗?
    蓝爵薇2018-07-21 17:17 回复
    • 本文章是用 Caddy 扩展的方式安装的FileBrowser。
      更新速度取决于作者提交扩展文件到 Caddy官方的速度(和Caddy审核速度),所以往往通过 Caddy扩展的方式安装,版本更新是慢于独立版的,但是独立版HTTP服务方面太简陋,还是Caddy简单,顶多多等几天就会跟进到最新版本的。
      Toyo2018-07-22 01:08 回复
  16. 博主好 我有点好奇 能不能换一下 访问域名时进入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 回复
  17. 遇到一个比较奇怪的问题,我的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 回复
  18. 大佬,还有一个挺不错的项目minio,感觉扩展性比较强,如果没教程写可以试试看
    freefarm2018-06-08 15:01 回复
1 2 3