我在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
预览:
这东西功能挺丰富,比 Caddy 内置的文件浏览好多了。
自从caddy出了v2之后就没用过这货了。。
萌咔大佬也写了一个golang的.为了给2o用的.cpu太莱.只不过没有上上传
我就是nginx扔给root跑。。。
或者编个脚本定时给某目录777