安卓Termux安装filebrowser

LG5 2023-9-12 154 9/12

一、安装

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查看最新版本:

安卓Termux安装filebrowser

选择这里的arm64版本,右键复制下载链接替换上面的wget链接就好。
解压安装,赋予执行权限,最后删除无用压缩包:

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

二、启动

常规启动命令:

~/.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访问了:

安卓Termux安装filebrowser

初始用户名和密码都为admin

安卓Termux安装filebrowser

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 命令详解》

三、配置

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

1、语言设置

登录后依次Settings->Profile Settings->Language,选择中文(简体)后点击UPDATE即可生效。

安卓Termux安装filebrowser

修改完之后就看见在这个页面下还有一些个人配置,显示设置还有密码设置之类的。

2、用户管理

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

安卓Termux安装filebrowser

安卓Termux安装filebrowser

3、分享管理

filebrowser支持文件分享功能。

安卓Termux安装filebrowser

安卓Termux安装filebrowser

点击分享则分享创建成功,然后想对历史分享进行管理或者查找,点击设置的分享管理标签页就能看到了:

安卓Termux安装filebrowser

四、设置服务自启动

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安装filebrowser

转载自:Termux网络文件管理器——filebrowser_易冰亦寒的博客-CSDN博客

- THE END -
Tag:

LG5

12月09日10:44

最后修改:2023年12月9日
0

非特殊说明,本博所有文章均为博主原创。