静看光阴荏苒
不管不顾不问不说也不念

miniserve:一个实用的列目录工具

我在buyvm有一台archlinux的小鸡,平时专门用来下载一些迅雷下不动的资源拖回本地。

之前就随便搭了个nginx用来列目录方便idm拖回本地,只到发现了这个miniserve,我就用它替代掉了nginx。

就和它的名字一样,这个小工具非常轻量,支持的功能还很多:身份验证/文件上传/打包下载/二维码扫描等等。

我之前就是偷懒用的nginx列目录,因为配置起来很简单:

server {
   listen 80;
   server_name example.com;
   charset utf-8;
   root /storage;
   autoindex on;
}

但是后面用了一段时间就发现经常因为目录权限不对导致访问不到文件的问题。总不可能把nginx放到root下面跑吧。。所以也就一直这样凑合着用。。

当然列目录的工具还有很多,最懒的方法是用python自带的http服务器:

python3 -m http.server

但是这个东西性能不咋地,idm多线程100M带宽都跑不满,也只能偶尔应下急。

还有一些其他的列目录程序,比如h5ai,这东西是php写的,搭建起来就不是很方便了。

哎,不多废话了,总之我就是来安利miniserve的,这里我使用supervisor来守护miniserve进程:

pacman -S supervisor wget 
systemctl start supervisord
systemctl enable supervisord

由于我这个是archlinux的系统,所以supervisor的配置和其他系统有点差异,如果你会配置的话,可以用systemd来代替supervisor。

下载miniserve二进制文件:

mkdir -p /opt/miniserve && cd /opt/miniserve
wget https://github.com/svenstaro/miniserve/releases/download/v0.9.0/miniserve-v0.9.0-linux-x86_64 -O miniserve

新建一个supervisor的配置文件:

nano /etc/supervisor.d/miniserve.ini

写入如下配置:

[program:miniserve]
priority=1
directory=/opt/miniserve
command=/opt/miniserve/miniserve -r -z -u -q -p 8080 -a imlala:password /storage
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/miniserve.log

后面的/storage是你要列的目录路径,也可以是单个文件的路径,miniserve一些可配置的参数:

-r # 开启tar打包
-z # 开启zip打包
-u # 允许上传文件
-q # 二维码支持
-p # 指定端口号
-a # 身份验证

还有一些参数可以参考官方的介绍:

https://github.com/svenstaro/miniserve

更新supervisor配置即可完成配置:

supervisorctl update

预览:

赞(4)
未经允许不得转载:荒岛 » miniserve:一个实用的列目录工具
分享到: 更多 (0)

评论 5

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    这东西功能挺丰富,比 Caddy 内置的文件浏览好多了。

    Daniel4年前 (2020-09-30) Google Chrome 85.0.4183.127 Google Chrome 85.0.4183.127 Android 9 Android 9回复
    • 自从caddy出了v2之后就没用过这货了。。

      LALA4年前 (2020-09-30) Google Chrome 80.0.3987.163 Google Chrome 80.0.3987.163 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    萌咔大佬也写了一个golang的.为了给2o用的.cpu太莱.只不过没有上上传

    loeveo4年前 (2020-10-03) UC Browser 13.1.3.1093 UC Browser 13.1.3.1093 Android 10 Android 10回复
  3. #3

    我就是nginx扔给root跑。。。
    或者编个脚本定时给某目录777

    MiaoSKY4年前 (2021-03-21) Google Chrome 89.0.4389.90 Google Chrome 89.0.4389.90 Android 10 Android 10回复

分享创造快乐

广告合作资源投稿