Total Pageviews

Monday, 22 July 2019

基于go的一个文件服务器程序:file_server


Portable filebrowser with html5 mobile ui.

Portable file server throught http. Uses:
  • Share videos/audios on your local network.
  • Expose docker volumes to http.
  • Share private server folders online
Run with docker:
docker run --rm -v /home/jordi:/tmp -p 8080:8080 jordic/file_server:1.0
without docker:
wget https://github.com/jordic/file_server/blob/master/builds/file_server_linux_amd64?raw=true
chmod +x file_server_linux_amd64
./file_server_linux_amd64 -dir $HOME  

The docker image, can receive env variables:
FILESERVER_AUTH = username:password for handling basic auth
FILESERVER_COMMAND = allow running shell commands from the UI
FILESERVER_DIR = dir to expose
FILESERVER_PORT = port for the service

Features

  • Mobile UI with almost all "usable displays", android and ios ( on ios, can't upload files)
  • Fast UI. Json + angular
  • Directory fuzzy search / Acces ( style textmate command+T)
  • Inline search ( current list )
  • Upload mutliple files.
  • Big uploads. Tested with 5G files. ( Uploads are streamed to disk )
  • File delete / remove / copy / compress
  • Dir creation
  • File editor with Codemirror ( javascript, html, css, php.. )
  • Filesystem json server
    • POST /dir action=createFolder source=name > Will create a folder in dir with name source
    • POST /dir action=delete source=name > will delete ... see commands.go
    • GET /dir &format=json
  • Download dirs as zip
  • File and video stream.
  • Basic http auth as param
  • Exec system commands ( enable with param )

Install

Donwload a binary build: (Stable)
Or compile it:
go get github.com/jordic/file_server

go build or go install

Browser compatibility

  • Firefox, safari, Chrome.
  • Perpahs ie10 but not tested

No comments:

Post a Comment