• 1.前言
  • 2.安装
  • 3.启动
  • 4.配置
  • 5.设置服务自启动
    • 1) 将开机命令写入termux-login.sh
    • 2) Termux-services

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/nullthenecho "filebrowser服务运行中..."elsenohup ~/.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网络文件管理器——filebrowser相关推荐

  1. Android10文件管理,10款优秀的Android文件管理器

    本文将介绍10款Android文件管理器,包括:ES File Explorer.Dual File Manager XT.ASTRO File Manager,Ghost Commander,Fil ...

  2. android使用es文件管理器,功能强大的 Android ES文件管理器 v4.1.9.9.31 内部版

    亲,我能问你一个问题吗?你知道安卓文件管理是谁会在百度上说自己是第一品牌吗? 于是我百度了一下[文件浏览器],发现了一个不要脸的东西!如图,不信的自己是搜索!对于这种软件是我没有好感的,这世界还会有人 ...

  3. es文件管理器 web服务器,ES文件管理器曝出漏洞 文件会泄露给本地网络上的任何人...

    在早期的Android手机上,ES文件管理器是管理手机存储的最好方法之一.但是,现在它被曝出了漏洞.据外媒新闻,安全研究员Elliot Alderson在推特上指出,该应用程序不仅使手机存储更加混乱和 ...

  4. 【Android工具】Cx文件管理器,Cx File Explorer安卓samba客户端

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天需要用个samba客户端,把手机上的视频传到服务器上,(别问我为啥用samba,同 ...

  5. 2打开md文件_File Cabinet Pro for Mac(菜单栏文件管理器)

    File Cabinet Pro for Mac是运行在菜单栏的文件管理器,File Cabinet Pro mac版支持打开.重命名.标记.压缩文件等功能,使用非常便捷,同时File Cabinet ...

  6. win7怎么看服务器文件管理,Win7库文件管理器怎么用 Win7库功能及其使用方法详解...

    使用window7的用户都会注意到,系统里有一个极具特色的功能--"库",库是win7系统借鉴Ubuntu操作系统而推出的文件管理模式.库的概念并非传统意义上的存放用户文件的文件夹 ...

  7. md文件编辑器_File Cabinet Pro for Mac(菜单栏文件管理器)

    File Cabinet Pro for Mac是运行在菜单栏的文件管理器,File Cabinet Pro mac版支持打开.重命名.标记.压缩文件等功能,使用非常便捷,同时File Cabinet ...

  8. JavaFX仿windows文件管理器目录树

    一.windows文件管理器目录树 二.代码 /** To change this license header, choose License Headers in Project Properti ...

  9. linux文件管理器添加项目,LXQt 0.14 发布,文件管理器添加拆分视图

    LXQt团队已经发布了他们的轻量级Qt5支持的Linux桌面环境的0.14.0版本. LXQt 0.14为PCManFM-Qt文件管理器添加了一个拆分视图,其桌面图标角色现在支持计算机/网络/垃圾箱图 ...

最新文章

  1. mysql servicebroker_阿里云Kubernetes服务 - Service Broker快速入门指南
  2. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和不能接收数据问题讨论
  3. Unity之计时器功能(转)
  4. 10拨号拒绝远程连接_ADLS动态拨号vps常见的问题
  5. 安卓7.0拍照遇到 Uri暴露错误
  6. 牛客 - 求函数(线段树+区间合并/线段树+矩阵维护)
  7. 机器学习笔记(十):机器学习系统的设计
  8. mac下编译hadoop-2.7.4
  9. linux系统监控命令
  10. GRASP设计原则(职责分配原则)
  11. Markdow简单介绍
  12. QString字符串拼接【转载】
  13. 基于Ntrip的实时多线程RTCM数据流接收及解码
  14. 易基因|脂多糖诱导的仔猪肝脏损伤模型中m6A RNA甲基化介导了NOD1/NF-kB信号激活
  15. 【综述】A Comprehensive Survey on Graph NeuralNetworks(2)
  16. 智能体重秤方案/案列/APP/小程序
  17. 计算机派位志愿填报技巧,海淀小升初哪些入学途径采取电脑派位 志愿又怎么填报 2021家长了解...
  18. 企业微信2020年翻倍增长背后:更新27个版本、迭代1000多次
  19. Wordcount()--ASP字数计算函数
  20. 技术期刊 · 路尘终见泰山平 | 微前端及插件化架构在 Wix 的实践;编辑器架构的第二路径;业务中的前端组件化体系……

热门文章

  1. 如何去区分IP地址的网络位和主机位?
  2. js中isNaN和Number.isNaN的区别
  3. 网络基础之计算机网络参考模型(OSI参考模型与TCP/IP协议簇)
  4. Windows10企业英文版下载 2022-2-17更新
  5. C++实现Python变量
  6. python无法启动0xc0000022_无法正常启动0xc0000022?0xc0000022一键修复教程
  7. 数字孪生教程大全之 我们如何构建数字孪生?数字孪生的五个级别都是什么
  8. DjangoUeditor添加与配置
  9. 消息称勒索软件可逃避PC防御、Office漏洞补丁能被攻击者绕过|12月24日全球网络安全热点
  10. MariaDB二进制安装步骤以及数据库的基本操作