惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

atpX

自建 S3 兼容对象存储服务 Garage 听风的歌 偶尔是深夜就好了 新玩具 AirPods Pro 3 公交车上的时间 从 WHOIS 到 RDAP 通过 WireGuard 访问 NFS 共享文件 自建音乐串流服务探索 我停止了探索 Fediverse 互联网背景噪音 我的数字生活降级 小城与确定性的墙 一只特立独行的猪 Fediverse 与社交 承认的勇气 mediaX - 轻量书影音记录管理工具 我的博客写作流程 网站新增 Misc 页面 擅长对线的鲍勃 在 Chroot 环境下使用 Rsync 同步 再见 JavaScript 当我玩博客时我在玩什么 为什么我的博客没有友链页面 小熊猫与大熊猫 (HDR 照片测试) 是时候为网站开启 HTTP/3 支持了吗 使用 AdGuard Home 搭建自用 DoH 服务 谈谈读书与消遣 2023 年终总结 西安两日游 从 AirPods「升级」到 EarPods Docker 搭建去中心化的微博客平台 Mastodon 聊聊 iPhone 15 Pro 使用感受 能否将 TOTP 二次验证存放在密码管理器里 认识史蒂夫·乔布斯 与“锤哥”克里斯·海姆斯沃斯一起养生 逃离爆炸的信息 你想活出怎样的人生 重温《龙珠》动画 为什么关闭评论 从域名注册商到 DNS 服务,找到自己的组合 如何提高用户网页阅读体验 从 Typecho 迁移到 Hugo 个人博客的最终归宿是静态网站吗 我选择了放弃 jQuery 关于我的小破站折腾速度优化这件事 记一次家庭网络折腾 贴一些 SmokePing 记录 我的域名邮箱选择 不存在的语录 Typecho 评论验证插件 CaptchaPlus 谈谈写字这件事 新的网站 Logo 探索 曲线解决 Typecho 图片占位抖动问题 自建 vaultwarden / bitwarden_rs 密码管理器 使用 Plausible 自建网站流量统计分析工具 如何优雅地徒手剥开火腿肠 简单的集中隔离生活记录 新玩具 M2 MacBook Air 使用 acme.sh 申请 Google 公共证书 Docker 搭建去中心化的微博客平台 Misskey 搭建 Lsky Pro 兰空图床 折腾树莓派系统的一天 我的吉卜力之旅 使用 Uptime Kuma 自建服务器/网站在线率监控 Spartan Host Review - Best Hosting & Service Support Debian 下 Nginx 配合 Fail2Ban 减少恶意扫描和攻击 升级 Typecho 到最新开发版本 v1.2.0 Linux rm 命令详解 Debian 系统安装 Docker 教程 BandwagonHost - Reliable Blog and Business VPS Hosting 使用 Isso 为 Hugo/Hexo 等静态网站添加评论功能 推荐 5 款免费开源的网站流量分析统计工具 搭建 Shynet 网站流量统计分析工具 聊聊 DDoS 攻击那些事 Hugo 使用 Fancybox 实现图片灯箱/放大功能 从 Debian 10 升级到 Debian 11 教程 使用 Umami 自建网站流量统计分析工具 Linux 一次执行多个命令的 3 种方式 Typecho 修改永久链接后旧链接 301 跳转到新链接 从不同需求推荐几家稳定可靠的 VPS 服务商 Build EchoIP service with Docker 浅谈一下这些年折腾过的 VPS 单线复用解决一根网线同时 IPTV 和宽带问题 不完全吃灰的树莓派 开发一个自己的 Telegram Bot 使用 Nginx 实现 TCP 四层反向代理 画画真难 我读村上春树 使用 acme.sh 自动签发和更新证书 卡拉马佐夫式悲剧 新玩具树莓派到手 Linux 定时自动备份数据到 OneDrive/Google Drive 记一次服务器崩溃 使用 rsync 同步文件 短信的消失 幻灭的艺术家 新玩具戴尔 S2721DGF 开箱 蝴蝶 用 Docker 整合 SeafilePro 搭建私人云盘 搭建自己的 kms 服务器
安装 File Browser 轻量网盘工具
ATP · 2020-12-11 · via atpX

乘着黑五打折,买了一个大盘鸡,准备再次搭建个人网盘,上次用 Seafile 搭建的网盘由于独服太贵,GIA 带宽又太小,没用多久就挂了。同时也发现 Seafile 虽然好,但并不适合自己,其实自己的需求很简单,甚至前段时间都是直接一个 http 单页浏览文件的,然而有时候也需要在线看一下文档,因此更需要一款轻量化的网盘工具,无意中发现了 File Browser,从介绍来看很不错,最近也对 Go 语言颇有好感,便安装来试一试。

官方有脚本安装,但个人喜欢自定义安装,同时本就是 Go 语言编写的程序,直接下载编译好的可执行文件运行即可。因此下面介绍在 Linux 上直接运行和使用 Docker 安装两种方式。

直接使用

首先去 release 页面,根据你的系统和处理器架构选择下载最新的版本,比如这里下载 amd64(X86-64) 2.18.0 版本:

wget https://github.com/filebrowser/filebrowser/releases/download/v2.18.0/linux-amd64-filebrowser.tar.gz

解压到你指定的目录,比如这里的 /home/filebrowser

tar -xvf linux-amd64-filebrowser.tar.gz -C /home/filebrowser

进入到你的目录为 filebrowser 添加可执行权限:

chmod +x filebrowser

接下来就直接运行了:

./filebrowser -p 2222

配置参数运行

在上面的直接运行命令中你可以加上一些自定义参数,在官方文档中可以看到完整的命令使用,下面是部分常用的的参数:

  • -a, –address string:监听的地址(默认为 127.0.0.1)
  • -p, –port string:监听端口(默认为 8080)
  • -b, –baseurl string:网站路径
  • -t, –cert string:SSL 证书
  • -k, –key string:SSL 证书密钥
  • -l, –log string:日志默认为标准输出,如果要记录到文件的话可以直接指定文件,例如 /home/filebrowser/filebrowser.log
  • -c, –config string:配置文件路径
  • -d, –database string:数据库路径(默认值 “./filebrowser.db”)
  • -r, –root string:数据存放路径

这里我为了方便,选择自己写一个配置文件,vim filebrowser.json

{
  "port": 2222,
  "baseURL": "",
  "address": "127.0.0.1",
  "log": "stdout",
  "database": "/home/filebrowser/database.db",
  "root": "/data/filebrowser"
}

之后直接在程序目录执行:

./filebrowser -c filebrowser.json

然后在浏览器中打开你的网站登录即可,默认管理员用户和密码都为 admin,建议登录后先重新设置密码。

使用 SSL

File Browser 本身支持直接在运行时使用 tk 参数或者在配置文件中使用 certkey 参数设置 SSL 证书和密钥。但我这里选择使用 Nginx 前端反代:

server {
    listen ...;
    server_name ...;
    ssl_certificate ...; 
    ssl_certificate_key ...;
    ...
    location / {
        proxy_pass  http://127.0.0.1:2222;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

如果你想使用二级目录,例如 yourdomain.com/file 的形式,需要修改前面配置文件中 "baseURL": "/file",以及 Nginx 配置文件中 location /file

后台持续化运行

可以简单使用直接 nohup:

nohup filebrowser -c filebrowser.json &

但我更推荐通过 systemd 控制:

vim /etc/systemd/system/filebrowser.service

输入以下内容:

[Unit]
Description=File Browser
After=network.target

[Service]
ExecStart=/home/filebrowser/filebrowser -c /home/filebrowser/filebrowser.json

[Install]
WantedBy=multi-user.target

记得修改 ExecStart 后面为你自己的文件路径,之后执行:

systemctl daemon-reload
  • 运行:systemctl start filebrowser.service
  • 停止运行:systemctl stop filebrowser.service
  • 开机启动:systemctl enable filebrowser.service
  • 取消开机启动:systemctl disable filebrowser.service

使用 Docker

如果你想使用 Docker 运行的话,也是比较方便的。

安装Docker

详情参见官网文档

apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

添加Docker密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

添加Docker稳定版仓库:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

安装Docker:

apt update
apt install docker-ce docker-ce-cli containerd.io

安装File Browser

详情参见官网文档

在适合的路径下创建数据库文件,例如:

touch /home/filebrowser/database.db

如果你需要自定义参数设置的话可以创建一个配置文件,具体的内容和我上面在直接使用方式中提到的配置文件写法一致,也可以直接在容器启动命令中设置。执行:

docker run \
    -v /path/to/root:/srv \
    -v /home/filebrowser/filebrowser.db:/database.db \
    -v /home/filebrowser/filebrowser.json:/.filebrowser.json \
    -v /path/to/yourssl.pem:/ssl.pem \
    -v /path/to/yourssl.key:/ssl.key \
    -p 2222:80 \
    --name filebrowser \
    --restart=always \
    -d filebrowser/filebrowser

上面是带有配置文件的写法,不需要可以去掉第四行,而第二行的 /path/to/root 是你的数据存放目录,第五行和第六行是 SSL 证书路径,不需要的话也可以直接去掉。

运行之后就可以直接在浏览器中访问 http://yourdomain.com:2222 登录了,也可以通过上面提到的 Nginx 代理访问

总结

登录后可以在 Settings -> Profile Settings -> Language 中修改语言,支持中文。添加管理多用户,分享文件可以设置时效和密码,以及设置一些自定义操作命令。

File Browser
File Browser 后台网页界面。

整体体验下来界面 UI 一目了然,操作逻辑很简单,性能应该不差,功能不多但刚好满足自己的需求,支持简单的在线文档查看,以及音视频播放,可以配合 Aria2 下载在线观看学习资料,总体感觉不错,值得推荐。