• 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. 扩展系统功能--装饰模式
  2. 在Windows Vista中使用符号链接
  3. LINQ语句的两种语法实现方式
  4. Java8系列之重新认识HashMap
  5. Qt笔记——添加菜单图片/添加资源文件
  6. 算法概论第八章课后习题8.3
  7. Android自定义view之measure、layout、draw三大流程
  8. ICT技术成熟度曲线:零信任、数据安全、云原生安全的兴起
  9. NOI Linux 2.0的安装
  10. cc2530:<3>ADC采集光照度案例
  11. 什么是失血模型和充血模型?(DDD)
  12. R 中将图表导出成文件
  13. 华为鸿蒙宣传图,VIVO 联动华为?官方宣传图出现华为智联,为鸿蒙合作埋下伏笔...
  14. 利用3D-DNA流程组装基因组
  15. GNN(一)走进GNN
  16. syx278250658
  17. Tornado笔记——用Tornado搭建假单统计考勤系统(九)
  18. 安装hmc会依赖bios时间吗_Vmware 5.5下安装HMC7.3.2并安装Vmware tools
  19. JS中常见的 “Uncaught TypeError: XXXX is not a function” 错误解析
  20. masked_softmax掩蔽softmax操作实现

热门文章

  1. 【手机端测试的关注点】Android 和 IOS 两大主流系统测试点
  2. 深度Deepin系统关机或重启的时候提示unattended upgrades shutdown的解决办法
  3. 有了这个sku分析!老板再也不用担心我不会选款备货了
  4. ubuntu更改更新源
  5. POJ 2395 Out of Hay 最小生成树 Kruskal
  6. https攻击工具详解(arp欺骗、中间人攻击)(openssl+sslscan+sslsplit )
  7. 毕业五年,从月薪3000到年薪百万,我掌握了哪些核心技能?(建议收藏)
  8. (12)筋斗云案例(导航栏醒目显示跟随)
  9. 如何系统学习一门编程语言? | 黑马程序员
  10. 当前NBIoT设备的省电技术之PSM/DRX/eDRX