Go to file
2016-07-30 11:00:04 +08:00
Godeps update dep 2016-07-28 17:17:05 +08:00
res reload file when complele 2016-07-30 10:57:12 +08:00
scripts add proxyserver 2016-07-27 16:26:18 +08:00
testdata add test zip 2016-07-28 15:58:01 +08:00
vendor update dep 2016-07-28 17:17:05 +08:00
.fsw.yml add upload support 2016-07-29 16:04:11 +08:00
.gitignore update vendor 2016-07-28 16:30:39 +08:00
.travis.yml rmeove dev 2016-07-30 09:36:21 +08:00
build.sh update vendor 2016-07-28 16:30:39 +08:00
httpstaticserver.go remove useless code 2016-07-28 19:27:23 +08:00
ipa.go add ipa qrcode generate support 2016-07-28 15:24:41 +08:00
LICENSE Initial commit 2016-07-21 16:41:10 +08:00
main.go little icon modify 2016-07-29 10:49:31 +08:00
Procfile fix procfile 2016-07-30 10:47:40 +08:00
README.md add demo site 2016-07-30 11:00:04 +08:00
res.go add ipa qrcode generate support 2016-07-28 15:24:41 +08:00
res_bindata.go add ipa qrcode generate support 2016-07-28 15:24:41 +08:00
res_nobindata.go fix tests 2016-07-30 09:31:00 +08:00
screenshot.png add screenshot 2016-07-29 20:37:39 +08:00
utils.go fix tests 2016-07-30 09:31:00 +08:00
utils_test.go fix tests 2016-07-30 09:31:00 +08:00
zip.go add ipa qrcode generate support 2016-07-28 15:24:41 +08:00
zip_test.go fix tests 2016-07-30 09:31:00 +08:00

gohttpserver

Build Status

Make the best HTTP File Server. Better UI, upload support, apple&android install package qrcode generate.

Demo site

  • 目标: 做最好的HTTP文件服务器
  • 功能: 人性化的UI体验文件的上传支持安卓和苹果安装包的二维码直接生成。

Notes

If using go1.5, ensure you set GO15VENDOREXPERIMENT=1

Upload size now limited to 1G

Screenshots

screen

Features

  1. Support QRCode code generate
  2. Breadcrumb path quick change
  3. All assets package to Standalone binary
  4. Different file type different icon
  5. Support show or hide hidden files
  6. Upload support (for security reason, you need enabled it by option --upload)
  7. README.md preview
  8. HTTP Basic Auth
  9. Partial reload pages when directory change
  10. When only one dir under dir, path will combine two together
  11. Directory zip download
  12. Apple ipa auto generate .plist file, qrcode can be recognized by iphone (Require https)
  13. Plist proxy
  14. Download count statistics
  15. CORS enabled
  16. Offline download
  17. Code file preview
  18. Edit file support
  19. Global file search
  20. Hidden work download and qrcode in small screen
  21. Theme select support
  22. OK to working behide Nginx
  23. .htaccess support
  24. Calculate md5sum and sha
  25. Folder upload
  26. Support sort by size or modified time
  27. Add version info into index page
  28. Add api /-/stat/some.(apk|ipa) to get detail info

Installation

go get -v github.com/codeskyblue/gohttpserver
cd $GOPATH/src/github.com/codeskyblue/gohttpserver
go build && ./gohttpserver

Usage

Listen port 8000 on all interface, and enable upload

./gohttpserver -r ./ --addr :8000 --upload

ipa plist proxy

This is used for server which not https enabled.

./gohttpserver --plistproxy=https://someproxyhost.com/

Proxy web site should have ability, when request https://proxyhost.com/www.github.com return the same page as request from http://www.github.com

Upload with CURL

For example, upload a file named foo.txt to directory somedir

PS: max upload size limited to 1G (hard coded)

$ curl -F file=@foo.txt localhost:8000/somedir

FAQ

Developer Guide

Depdencies are managed by godep

go get -v github.com/tools/godep
go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...

Theme are all defined in res/themes directory. Now only two, black and green.

How to build single binary release

go-bindata-assetfs -tags bindata res/...
go build -tags bindata

That's all. ^_^

Reference Web sites

History

The first version is https://github.com/codeskyblue/gohttp

LICENSE

This project is under license MIT