业务部的小李下楼梯的时候差点摔了一跤,我见状忙上去搀扶了一把。
一看他这着急忙慌一头的汗的样子,我就知道这小子肯定有事!
我拉起小李,示意他悠着点,“我说你这班上的,这工伤率噌噌往上涨啊!不要命啦!”
小李却不以为然,瞪了我一眼急着要走,“你别管,我去买个网盘,急用!”
突然他又回过身来,“唉,对了!你有网盘吗?有就先借我用用!快,着急!”
我笑了笑,好端端的,小李要网盘做什么,还这么着急?
细问之下,我才知道了事情的来龙去脉。
原来他们业务部有一台公用电脑,平时一些部门的公共资料就都放在里边,部门内部用起来也倒挺方便,时间久了也没啥大问题。
可就在今天,大老板突然要求将电脑资料同时也要分享给其他部门,并且强调要做好用户访问管理,不能匿名谁都可以访问,限当天搞定,下班前来验收。
大伙一瞅时间马上就快到4点60了,这下业务部门里就炸开了锅,几个小年轻都不知道怎么办了,为了几个问题就开始争论了起来。
有的说,那得建立多用户共享,管理起来是相当的麻烦,就这点时间根本不够用啊!
又有的说,这台电脑是 Win10
系统,其他部门有的是 Win7
系统,访问起来非常不方便,根本没法搞定。
总之是你一言我一语,七嘴八舌没一个定论。
最后,部门领导心一横,干脆买一台网盘得了,于是就出现了文章开头小李那一幕。
我一把将小李拉到一旁,说这事还用买网盘,你们部门钱真多!
小李一听来劲了,不服气地瞟了一眼我,扬言要是我能帮忙搞定,下次他们部门团建免费算我一个。
我心想,他们部门可都是土财主,那团建项目都是高规格的,游乐场吃大餐啥的就不用说了,机不可失啊!
好,要的就是这句话,于是我拍了拍他的肩膀,一边安慰他一边将神器 filebrowser
拿了出来。
filebrowser
是啥?
这个 filebrowser
是一款非常棒的文件管理工具,使用 GO
语言编写。
虽说是文件管理工具,但它完全可以当作网盘程序来使用,并且可以跨平台。
简单地说,就是它可以让你随时随地建立一个网盘系统,随时随地与他们分享电脑里的文件。
它的最大的优点是,拉起来就用,就一个文件,什么都不用配置就能投入使用,方便得你都不知道怎么夸它好了。
真有这么神奇吗?
我为了让小李信服,花了几分钟给他演示了一番......
下载
filebrowser各平台打包(含校验)
** Windows
、Linux
、MacOS
以及 FreeBSD
**
下载链接:https://pan.baidu.com/s/1dLKxCeZP3sZnrsZoRxIHFA
提取码:
★扫码关注公众号, 发送【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:
By:
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 \
-v /path/to/filebrowser.db:/database/filebrowser.db \
-v /path/to/settings.json:/config/settings.json \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-p 8080:80 \
filebrowser/filebrowser:s6
默认情况下 filebrowser
已经自带了一个有默认参数的配置文件,因此我们可以只挂载根目录和数据库即可。
当然了,你也可以自定义一个配置文件,里面放上你希望的一些参数。
此外,即使你没有数据库文件(比如 filebrowser.db
)也务必给它指定一个空白的数据库文件,否则的话会导致程序出错。
原因是此 Docker
镜像会在没有被指定数据库文件的情况下自行创建一个空目录而不是一个空文件,这个 BUG
似乎有点奇怪!
基于前面的介绍,相信小伙伴们自行折腾 Docker
镜像应该问题不大吧!
写在最后
作为抛砖引玉,今天带给小伙伴们拉起来就能用,而且还挺好用的这么一款网盘系统 filebrowser
。
前面介绍的这些内容,是基于简单、最基本的操作和使用,如果小伙伴们想深入了解和学习它的应用呢,就需要大家到官网上找一找资料了。
比如加密访问,比如如何让 filebrowser
访问更加安全等等课题,都可以在官网上找到。
限于本文篇幅,我就不在这里过多的介绍了,如果小伙伴们有需要,可以评论留言给我。
有机会的话在之后的文章中再继续为大家介绍演示一些高级用法。
最后,毋庸置疑,我很顺利地帮小李他们部门搞定了共享网盘,前后一共就花了三八十五分钟。
总之活干得很漂亮,领导很满意!
嘿嘿,我已经看到法国大餐正在向我招手啦(擦口水)......
扫码关注@网管小贾,个人微信:sysadmcc
网管小贾 / sysadm.cc