Termux网络文件管理器——filebrowser

本文详细介绍了如何在Termux上安装和配置开源文件服务器filebrowser,包括安装步骤、启动方法、服务自启动设置,并提供了语言、用户管理和分享管理的配置说明。此外,还讨论了使用Termux-services实现服务开机自启动的两种方法。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.前言

filebrowser,轻量级文件服务器,一个开源的基于go的web文件管理器,支持Windows,Linux,docker以及安卓termux。开源地址: https://github.com/filebrowser/filebrowser
支持下载上传,支持用户注册多用户,支持链接分享。能进行简单的文件编辑,支持图片音乐视频浏览。和同类产品同类比较,比chfs操作方便(chfs不支持批量操作),相比kodbox功能较少,但胜在开箱即用的方便,毕竟主要拿来做文件管理器的,要啥子自行车。

2.安装

filebrowser依赖极少,基本上你系统能安装上,它就能在上面运行了。
hone目录(~)下新建filebrowser安装目录:

cd ~ &&mkdir .filebrowser

在安装目录里下载filebrowser压缩安装包:

cd .filebrowser
wget -O filebrowser.tar.gz https://github.com/filebrowser/filebrowser/releases/download/v2.22.4/linux-arm64-filebrowser.tar.gz

下载的时候可以去项目仓库https://github.com/filebrowser/filebrowser/releases查看最新版本:
在这里插入图片描述
选择这里的arm64版本,右键复制下载链接替换上面的wget链接就好。
解压安装,赋予执行权限,最后删除无用压缩包:

tar -zxvf filebrowser.tar.gz
chmod +x filebrowser
rm filebrowser.tar.gz

3.启动

常规启动命令:

~/.filebroswer/filebrowser -a [address] -p [port] -r [RootDirectory]

其中参数意义为:

参数意义默认值
address可访问IP名单0.0.0.0 任意地址可访问
port监听端口8080
RootDirectory管理器根目录起点/data/data/com.termux/files

启动后会在启动路径下生成配置文件: ,第一次带参数启动后,默认值会随之更改

~/.filebrowser/filebrowser -a 0.0.0.0 -p 18650 -r /data/data/com.termux/files

同局域网下就可以通过Termux_IP:port访问了:
在这里插入图片描述初始用户名和密码都为admin
在这里插入图片描述
filebrowser默认是前台启动的,使用nohup大法来实现服务后台启动,后台启动命令:

nohup ~/.filebrowser/filebrowser -a 0.0.0.0 -p 18650 -r /data/data/com.termux/files > /dev/null 2>&1 &

不懂后台操作命令的参考这两篇文章:《nohup & ——Linux后台运行命令》 《commond >/dev/null 2>&1 命令详解》

4.配置

filebrowser提供两种配置修改方法:一是命令行操作,二是登录网页后在web端设置里修改。
命令行能做到的,启动命令+web端设置都能做到,这里不再啰嗦命令行操作了,毕竟安装filebrowser为的不就是摆脱文件命令行操作吗。

语言设置

登录后依次Settings->Profile Settings->Language,选择中文(简体)后点击UPDATE即可生效。
在这里插入图片描述
修改完之后就看见在这个页面下还有一些个人配置,显示设置还有密码设置之类的。

用户管理

使用管理员账户登陆后可以看见用户管理标签卡,在里面可以操作用户的增删操作及用户名、密码、可访问目录范围等分项配置。
在这里插入图片描述在这里插入图片描述
分享管理

filebrowser支持文件分享功能。
在这里插入图片描述
在这里插入图片描述
点击分享则分享创建成功,然后想对历史分享进行管理或者查找,点击设置的分享管理标签页就能看到了:
在这里插入图片描述

5.设置服务自启动

Termux是一个及其特殊的Linux系统,它并没有常规Linux发行版的服务开机自启动功能,这里提供两种方法来将filebrowser设置为随着Termux软件同时启动。

1) 将开机命令写入termux-login.sh

$PREFIX/etc/termux-login.sh文件会在每个shell会话启动时被执行一次,我们只需要将filebrowser后台启动命令追加到$PREFIX/etc/termux-login.sh中即可:

echo "nohup ~/.filebrowser/filebrowser -a 0.0.0.0 -p 18650 -r/data/data/com.termux/files > /dev/null 2>&1 &" >> $PREFIX/etc/termux-login.sh

但是这样做会有一个问题,那就是filebrowser服务同时只能存在一个,新开shell会话会导致filebrowser服务重启,如果此时有下载或者在线观看请求正在被处理,那么这个请求就会被打断,造成下载失败,为了解决这个问题,我们可以加一个简单的判断,手动修改termux-login.sh文件,将刚刚追加的命令修改为:

if pgrep -x "nohup ~/.filebrowser/filebrowser -a 0.0.0.0 -p 18650 -r/data/data/com.termux/files" >/dev/null
  then
    echo "filebrowser服务运行中..."
  else
    nohup ~/.filebrowser/filebrowser -a 0.0.0.0 -p 18650 -r/data/data/com.termux/files > /dev/null 2>&1 &
    echo "filebrowser服务已开启..."
fi

这样就解决被迫重启的问题了。
但是还有一个问题,如果暂时不想使用,手动关闭了filebrowser服务,此时先开启shell会话,filebrowser服务依旧会被唤起,怎么解决呢?继续增加判断条件一定能够解决这个问题,但如果每个服务都这么做,工作量不是一般的大。。。
后来官方针对这个问题,封装了一个Termux-services工具来解决这个问题,这就是我们要说的第二个方法。

2) Termux-services

安装Termux-services:

pkg install termux-services -y

配置Termux-services下的filebrowser服务启动文件:

mkdir -p $PREFIX/var/service/filebrowser
vim $PREFIX/var/service/filebrowser/run

将下面命令粘贴进$PREFIX/var/service/filebrowser/run文件:

#!/data/data/com.termux/files/usr/bin/sh
exec ~/.filebrowser/filebrowser -a 0.0.0.0 -p 18650 -r /data/data/com.termux/files &

配置Termux-services下的filebrowser服务日志文件:

mkdir -p $PREFIX/var/service/filebrowser/log
vim $PREFIX/var/service/filebrowser/log/run

将下面命令粘贴进$PREFIX/var/service/filebrowser/log/run文件:

#!/data/data/com.termux/files/usr/bin/sh
svlogger="/data/data/com.termux/files/usr/share/termux-services/svlogger"
exec "${svlogger}" "$@"

保存,赋予脚本执行权限:

chmod +x $PREFIX/var/service/filebrowser/run &&chmod +x $PREFIX/var/service/filebrowser/log/run

相关命令:

sv-enable filebrowser		#filebrowser服务设为自启动
sv-disable filebrowser		#取消自启动
sv down filebrowser			#临时关闭filebrowser自启动服务,本次Termux运行过程中将不再重启
							#但不会关闭正在运行的filebrowser服务
pkill filebrowser			#杀死filebrowser服务,但如果自启动为生效状态,filebrowser服务会立即重启
sv up filebrowser			#启动filebrowser服务,同时使自启动设置生效
sv start filebrowser		#临时启动filebrowser服务,但不改变自启动设置状态
sv status filebrowser		#查看filebrowser服务运行状态

日志文件在$PREFIX/var/log/sv/filebrowser/current中:
在这里插入图片描述

关于 Termux-services
后面我会专门写一篇文章,说说 Termux-services的实现原理,分享如何编写配置文件来搭建一个自启动服务的方法,有兴趣的可以到时候去看一看: 《Termux设置——服务自启动》

 


你长得这么好看,给个关注不过分吧?
 
快速导航
         👈 一些看起来很酷的事儿 Termux个人云盘搭建——kodbox 👉        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值