漂亮的文件服务器,miniserve 简单美观的文件服务器

如果想建立一个简单静态文件或目录服务器,通常可以用 Python 实现,而且非常简单

# Python 2

python -m SimpleHTTPServer

# Python 3

python3 -m http.server

一般情况下,这就够用了,但如果这样的服务器在浏览器提供的界面有些简陋,而且不提供认证服务。更复杂 的实现方法是使用 Nginx,但 Nginx 的配置相对繁琐,这里推荐一个使用 Rust 基于 Actix 框架实现静态文件或文件夹服务器 miniserve,demo如下

e0b370c50ea2b190da8aa15a3ddd7ad5.png

除了更加漂亮的界面和基本用户认证外 miniserve 还支持如下功能

将当前文件夹压缩后下载

界面上传文件(可配置)

支持监听多网卡

自动更改 MIME

超级快(powered by Rust and Actix)

下载

在发行版界面找到操作系统对应的版本,文件很小,最大的 osx 也仅有 3.2MB。

Linux

sudo curl -L https://github.com/svenstaro/miniserve/releases/download/v0.4.1/miniserve-linux-x86_64 -o /usr/local/bin/miniserve

sudo chmod +x /usr/local/bin/miniserve

OSX

sudo curl -L https://github.com/svenstaro/miniserve/releases/download/v0.4.1/miniserve-osx-x86_64 -o /usr/local/bin/miniserve

sudo chmod +x /usr/local/bin/miniserve

Windows

windows 下载好 exe 文件可直接运行

Cargo

如果电脑上安装了 Rust 和 Cargo,也可以通过 Cargo 安装,但由于 miniserve 仅支持 nightly channel,所以你得先切换到 nightly channel

rustup toolchain add nightly

rustup default nightly

cargo install miniserve

Docker

miniserve 在 docker hub 上的镜像名为 svenstaro/miniserve

docker pull svenstaro/miniserve

使用

全部参数如下

miniserve --help

miniserve 0.4.1

Sven-Hendrik Haase , Boastful Squirrel

For when you really just want to serve some files over HTTP right now!

USAGE:

miniserve [FLAGS] [OPTIONS] [--] [PATH]

FLAGS:

-u, --upload-files Enable file uploading

-h, --help Prints help information

-P, --no-symlinks Do not follow symbolic links

-o, --overwrite-files Enable overriding existing files during file upload

--random-route Generate a random 6-hexdigit route

-V, --version Prints version information

-v, --verbose Be verbose, includes emitting access logs

OPTIONS:

-a, --auth Set authentication (username:password)

-c, --color-scheme Default color scheme [default: Squirrel] [possible values:

Archlinux, Zenburn, Monokai, Squirrel]

-i, --if ... Interface to listen on

-p, --port Port to use [default: 8080]

ARGS:

Which path to serve

服务某个文件夹

miniserve some_dir

服务单个文件

miniserve file

启用用户认证

--auth user:passwd 可以提供简单用户认证服务

miniserve --auth joe:123 some_dir

在根目录后添加随机6位URL

miniserve -i 192.168.0.1 --random-route some_dir

# 服务器URL为 http://192.168.0.1/c78b6

绑定多张网卡

miniserve -i 192.168.0.1 -i 10.13.37.10 -i ::1 some_dir

使用容器

# 后台运行

docker run -d --name miniserve -p 8080:8080 --rm svenstaro/miniserve some_dir

# 前台运行

docker run --it --name miniserve -p 8080:8080 --rm svenstaro/miniserve some_dir

/boastful.squirrel@gmail.com/svenstaro@gmail.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值