gohttp断点续传文件服务器,gohttp: gohttp 是一个 http 的文件服务器

gohttp

A http file server written by golang and reactjs.

Binary can be download from gobuild.io

Usage

# basic usage

gohttp --port 8000 --root /your/workdir

Usage: gohttp []

Flags:

-h, --help Show context-sensitive help (also try --help-long and --help-man).

--version Show application version.

--port=8000 Port to listen

--root="." File root directory

--private Only listen on loopback address

--httpauth=HTTPAUTH HTTP basic auth (ex: user:pass)

--cert=CERT TLS cert.pem

--key=KEY TLS key.pem

--gzip Enable Gzip support

--upload Enable upload support

--zipable Enable archieve folder into zip

Warning

ftp feature has a serious cpu usage problem. Be careful with that.

There are python scripts of which use pyftpdlib can do ftp server job.

8453838779d330df2c461674c34199fb.png

af07e9d13f172b0b61c2d7e31ac4631c.png

Features

Support QRCode code generate

All assets package to Standalone binary

Different file type different icon

Support show or hide hidden files

Upload support

README.md preview

HTTP Basic Auth

Gzip support

When only one dir under dir, path will combine two together

Directory zip download

Code preview

Apple ipa auto generate .plist file, qrcode can be recognized by iphone (Require https)

Add ftp support(beta)

Support modify the index page

Download count statistics

CORS enabled

About https

If there is a directory templates exists. The program will use templates under this dir instead use html resource inside the binary file.

Build

Suggest install node through nvm

go get -u github.com/jteeuwen/go-bindata/...

npm install -g webpack

npm install

make prod

Develop

Your need to know what is react, and golang.

In develop mode, Support react hot reload

npm install

make dev

Open another terminal

go build && ./gohttp

API

Upload

POST /upload-dir

upload-dir is just a name which you can change it easily.

Field name

Description

Example

file

Upload file

file=@upload.txt

path

Upload path(optional)

path=/tmp/

name

Save name (optional, need version set)

name=foo

version

Upload version

version=1.2.0

Use CURL

# Normal upload

curl -F file=@upload.txt ${SERVER}

# Versioned upload

curl -F file=@foo-windows.txt -F file=@foo-mac.txt -F name=foo -F version=1.0.1 ${SERVER}

# will create dir structure

foo/

|- foo-latest(symlink) -> foo-1.0.1

`- foo-1.0.1/

|- foo-windows.txt

`- foo-mac.txt

Thanks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值