添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首发于 系统运维

可以让你在一分钟内快速建立网盘的神器 filebrowser !

网管小贾 / sysadm.cc

业务部的小李下楼梯的时候差点摔了一跤,我见状忙上去搀扶了一把。

一看他这着急忙慌一头的汗的样子,我就知道这小子肯定有事!


我拉起小李,示意他悠着点,“我说你这班上的,这工伤率噌噌往上涨啊!不要命啦!”

小李却不以为然,瞪了我一眼急着要走,“你别管,我去买个网盘,急用!”

突然他又回过身来,“唉,对了!你有网盘吗?有就先借我用用!快,着急!”

我笑了笑,好端端的,小李要网盘做什么,还这么着急?

细问之下,我才知道了事情的来龙去脉。


原来他们业务部有一台公用电脑,平时一些部门的公共资料就都放在里边,部门内部用起来也倒挺方便,时间久了也没啥大问题。

可就在今天,大老板突然要求将电脑资料同时也要分享给其他部门,并且强调要做好用户访问管理,不能匿名谁都可以访问,限当天搞定,下班前来验收。

大伙一瞅时间马上就快到4点60了,这下业务部门里就炸开了锅,几个小年轻都不知道怎么办了,为了几个问题就开始争论了起来。

有的说,那得建立多用户共享,管理起来是相当的麻烦,就这点时间根本不够用啊!

又有的说,这台电脑是 Win10 系统,其他部门有的是 Win7 系统,访问起来非常不方便,根本没法搞定。

总之是你一言我一语,七嘴八舌没一个定论。

最后,部门领导心一横,干脆买一台网盘得了,于是就出现了文章开头小李那一幕。


我一把将小李拉到一旁,说这事还用买网盘,你们部门钱真多!

小李一听来劲了,不服气地瞟了一眼我,扬言要是我能帮忙搞定,下次他们部门团建免费算我一个。

我心想,他们部门可都是土财主,那团建项目都是高规格的,游乐场吃大餐啥的就不用说了,机不可失啊!

好,要的就是这句话,于是我拍了拍他的肩膀,一边安慰他一边将神器 filebrowser 拿了出来。


filebrowser 是啥?

这个 filebrowser 是一款非常棒的文件管理工具,使用 GO 语言编写。

虽说是文件管理工具,但它完全可以当作网盘程序来使用,并且可以跨平台。

简单地说,就是它可以让你随时随地建立一个网盘系统,随时随地与他们分享电脑里的文件。

它的最大的优点是,拉起来就用,就一个文件,什么都不用配置就能投入使用,方便得你都不知道怎么夸它好了。

真有这么神奇吗?

我为了让小李信服,花了几分钟给他演示了一番......


下载

filebrowser各平台打包(含校验)

Windows Linux MacOS 以及 FreeBSD

下载链接: pan.baidu.com/s/1dLKxCe

提取码:<关注公众号,发送000944>



安装

虽说 filebrowser 是跨平台奔跑的,但为了便于理解,同时也方便给小伙伴们演示,我们就以 Windows 平台为例。


如果你不打算下载压缩包安装程序,那么也可以直接用 PowerShell 来下载。

打开 PowerShell ,输入以下命令。

# 下载 filebrowser
iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex
# 启动 filebrowser
filebrowser -r /path/to/your/files


启动完毕后,程序会给出访问地址,比如 127.0.0.1:8080


初次使用 filebrowser 是以默认配置运行的,因此最初登录时我们需要用到以下默认用户名和密码。

  • 用户名: admin
  • 密码: admin


为了保证系统安全,我们会习惯性地将默认登录密码改掉。

光密码改掉还不保险,那就连用户名也一起改掉,这样就不好猜更安全一点了吧?

实际上官方建议除此之外,最好参考一下命令行配置内容,可以让 filebrowser 使用起来更加安全。

具体怎么配置呢?

我们往下看!



配置

filebrowser 是基于 CLI 的方式来管理运用参数的,具体可以用下面命令行来查看帮助信息。

filebrowser.exe --help


我们不带任何参数,直接启动看看。

filebrowser.exe


它会提示没有指定配置文件,并且服务在 127.0.0.1:8080 上侦听。

我们打开浏览器来试试看能不能访问,猜测 filebrowser 本质上就是一个 Web 服务器。

http://127.0.0.1:8080


果然顺利打开了 filebrowser 的登录页面,接着我们输入用户名和密码(都是 admin )。

OK,看到了 filebrowser 所在当前目录的文件了。


细心的小伙伴可能会发现,好像多出来一个文件 filebrowser.db

没错,这就是数据库文件,在我们没有特别指定它的时候, filebrowser 就会自动创建一个。

但是吧,从页面上看,怎么时间好像不对劲啊,不知道是不是 BUG

从文件管理器中查看是正常的,的确是刚刚服务启动时创建的。


接下来我们应该做点什么呢?

这个界面是英文的,总感觉不舒服啊,改了吧!

点击左侧导航栏的 Settings ,然后找到 Language 一项将其改成中文,最后点击 Update 按钮使之生效。


界面一下子清爽多了,那么紧接着别忘记修改密码哦!

依次找到左侧导航栏的 设置 > 个人设置 > 更改密码


前面我们只能用本地回环地址在本机上访问 filebrowser ,要想让其他人访问到,那么我们需要加一个参数。

filebrowser.exe -a 0.0.0.0


好了,赶快另找一台电脑打开浏览器,试试能不能访问。

这里请注意哈,端口仍然是 8080 哦!

# x.x.x.x为filebrowser所在电脑的IP地址
http://x.x.x.x:8080


要想修改成自己想要的端口吗,那么再加上一个参数 -p

filebrowser.exe -a 0.0.0.0 -p 8888


嗯,还算简单吧。

不过可能有的小伙伴比我懒得多,这每天都要打参数多麻烦啊!

好的宝贝,我懂了!

来吧,我们在 filebrowser 的根目录下新建一个文本文件,然后输入以下代码,并给它起个好看又好听的名字 .filebrowser.json

{
    "address": "0.0.0.0",
    "port": "8888"
}


注意哦,有两点!

一是这是个 json 文件格式,每行参数最后别忘记加上一个逗号(最后一行可省略)。

二是文件名最前面可是有一个英文句号(就是一个点)的哦, .filebrowser.json ,这样的写法实际上在 Linux 系统中是指隐藏文件的意思。

好了,启动服务看看效果,哈哈,再也不用手输参数啦,棒棒哒!


好,我们再来看看,在 filebrowser 根目录中新生成的 filebrowser.db 文件一看就是一个数据库文件。

这个文件好像不是我们常见的比如 SQLite 之类的文件格式,而且直接用文本编辑器打开也会乱码无法查看。

不过我们可以使用如下命令来查看这个数据库文件。

filebrowser.exe config cat

输出结果可能是这样的。

Sign up:          false
Create User Dir:  false
Auth method:      json
Shell:              
Branding:
  Name:                    
  Files override:          
  Disable external links:  false
  Color:                   
Server:
  Log:           stdout
  Port:          8080
  Base URL:      
  Root:          .
  Socket:        
  Address:       127.0.0.1
  TLS Cert:      
  TLS Key:       
  Exec Enabled:  false
Defaults:
  Scope:         .
  Locale:        en
  View mode:     mosaic
  Single Click:  false
  Commands:      
  Sorting:
    Asc:  false
  Permissions:
    Admin:     false
    Execute:   true
    Create:    true
    Rename:    true
    Modify:    true
    Delete:    true
    Share:     true
    Download:  true
Auther configuration (raw):
  "recaptcha": null
}


细心的小伙伴可能会发现,哎,怎么输出结果中的地址和端口仍然是默认值呢?

实际上它就是包含默认值的一个数据库文件,如果想要改变这些默认值,那么就要用到下面的命令了。

filebrowser.exe config set [flags]

比如,我们想将侦听地址修改为 0.0.0.0 ,那么我们应该这样做。

filebrowser.exe config set -a 0.0.0.0

命令执行成功后直接输出 filebrowser.db 的内容结果。


那么,修改端口怎么做呢?

filebrowser.exe config set -p 8888

很简单,对吧!

当然你完全可以将想要修改的参数都放在一条命令行上。

filebrowser.exe config set -a 0.0.0.0 -p 8888


所以你看,其他参数也是以此类推,具体可以查看帮助信息。

filebrowser.exe config set --help


有一点需要小伙伴们注意,在执行修改默认配置命令时,必须先退出正在运行的 filebrowser 服务,否则会报错失败的哦!


OK,我们将 filebrowser.json 这个前面我们手动设定的配置文件移动到其他地方,或者重命名它,或者干脆删除它,总之就是要让它消失无效。

通过修改 filebrowser.db 之后,接下来我们就直接运行 filebrowser 并且不带任何参数看看。

filebrowser.exe

果然,看到 No config file used 字样没?

我们修改过的数据库文件 filebrowser.db 生效了,我们不再需要手动指定参数,也不再需要手动撸一个 json 配置文件,就可以做到在 0.0.0.0:8888 这个地址上跑服务了。


还有哪些参数可以省略并让你更懒,请按照前面的方法自行研究吧!


用户管理

故事的开头有说过,一款棒棒的网盘系统总归是支持多用户的, filebrowser 自然也不例外。

依次找到左侧导航栏 设置 > 用户管理 > 新建


然后根据实际情况填写内容并生成新用户即可。


新用户的目录总是作为 filebrowser 根目录中的子目录存在,因此在最初挑选根目录时务必要考虑好。


文件操作

我们通过普通用户帐户登录,发现 我的文件 是空的,没有任何文件。

接下来我们就新建一个新文件夹和新文件试试吧!

点击左侧导航栏的 新建文件夹 ,然后起个好听又好看的名字,点击 创建


新文件夹创建完成后自动进入些文件夹内,我们接着创建一个新文件。

点击左侧导航栏的 新建文件 ,然后起个好听又好看的名字,点击 创建


这个时候我们需要填充文件内容,写上你喜欢的文字,最后点击右上角的保存图标并关闭当前窗口。


就这样一个新文件就建好了。


我们在服务端也能看到,在以用户名为文件夹名的文件夹下面,建立了这些新建的子文件夹和子文件。


右上角有一些文件夹/文件的操作快捷图标,其含义基本上不难理解,具体的也就不多演示了。


还有一些上传下载的操作,我想是地球人应该都会玩吧,说多了就有点啰嗦了。


Docker 下使用 filebrowser

好消息、好消息, filebrowser 不仅支持跨平台,而且还支持 Docker 镜像部署。

这下可好了,有了镜像支持就不一定非要在某个系统上玩 filebrowser 了,还可以比如说在路由器上安装它,并共享连接在路由器上的硬盘资料。

总之手中有 Docker ,怎么玩都爽啊!

赶快看看怎么玩吧!


拉取镜像:

docker pull filebrowser/filebrowser


运行容器:

docker run \
    -v /path/to/root:/srv \