All Projects → LinkinStars → sgfs

LinkinStars / sgfs

Licence: other
🚀Simple http file server. A open source file server, implement by golang that can be used to upload and download files. Simple to deploy, simple to use. 中文介绍:

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to sgfs

kodbox
kodbox is a file manager for web. It is a newly designed product based on kodexplorer. It is also a web code editor, which allows you to develop websites directly within the web browser.You can run kodbox either online or locally,on Linux, Windows or Mac based platforms
Stars: ✭ 1,188 (+2229.41%)
Mutual labels:  filesystem, file-upload
Django-WebApp
This is a web-app created using Python, Django. By using this user can login, upload files and also can view and download files uploaded by other users.
Stars: ✭ 285 (+458.82%)
Mutual labels:  filesystem, file-upload
ksmbd
ksmbd kernel server(SMB/CIFS server)
Stars: ✭ 98 (+92.16%)
Mutual labels:  filesystem, file-server
ksmbd
ksmbd kernel server(SMB/CIFS server)
Stars: ✭ 181 (+254.9%)
Mutual labels:  filesystem, file-server
Shrine
File Attachment toolkit for Ruby applications
Stars: ✭ 2,903 (+5592.16%)
Mutual labels:  filesystem, file-upload
Gotenksfs
A file system on top of your file system
Stars: ✭ 203 (+298.04%)
Mutual labels:  filesystem
Backup And Recovery Howtos
Guides to setting up a media storage system, backing it up, and recovering from failures
Stars: ✭ 235 (+360.78%)
Mutual labels:  filesystem
Fatcat
FAT filesystems explore, extract, repair, and forensic tool
Stars: ✭ 201 (+294.12%)
Mutual labels:  filesystem
Fileicon
macOS CLI for managing custom icons for files and folders
Stars: ✭ 196 (+284.31%)
Mutual labels:  filesystem
Advanced-xv6
Modern improvements for MIT's xv6 OS
Stars: ✭ 26 (-49.02%)
Mutual labels:  filesystem
android-file-manager
A File Manager for Android
Stars: ✭ 19 (-62.75%)
Mutual labels:  filesystem
Filewatcher
A simple auditing utility for macOS
Stars: ✭ 233 (+356.86%)
Mutual labels:  filesystem
Supertag
A tag-based filesystem
Stars: ✭ 207 (+305.88%)
Mutual labels:  filesystem
Sparsebundlefs
FUSE filesystem for reading macOS sparse-bundle disk images
Stars: ✭ 238 (+366.67%)
Mutual labels:  filesystem
Autarky
Liberating disk space from 📁 node_modules
Stars: ✭ 203 (+298.04%)
Mutual labels:  filesystem
Sekura
Encryption tool that's heavily inspired by the Rubberhose file system (https://en.wikipedia.org/wiki/Rubberhose_(file_system)).
Stars: ✭ 51 (+0%)
Mutual labels:  filesystem
Vscode Remote Workspace
Multi protocol support for handling remote files like local ones in Visual Studio Code.
Stars: ✭ 197 (+286.27%)
Mutual labels:  filesystem
Go Fastdfs
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic r…
Stars: ✭ 2,923 (+5631.37%)
Mutual labels:  filesystem
Tagsistant
Semantic filesystem for Linux, with relation reasoner, autotagging plugins and a deduplication service
Stars: ✭ 244 (+378.43%)
Mutual labels:  filesystem
Aiofile
Real asynchronous file operations with asyncio support.
Stars: ✭ 214 (+319.61%)
Mutual labels:  filesystem

SGFS

Simple Golang File Server

SGFS, a open source file server, implement by golang that can be used to upload and download files. Simple to deploy, simple to use.

Advantage

  • SGFS is easy to configure and deploy. (use yaml config and have no runtime dependencies)

  • SGFS is easy to start and stop. (use ./startup.sh to start and use ./shutdown.sh to stop)

  • SGFS is easy to use. (use HTTP to upload and delete file)

  • SGFS use fasthttp to implement. (strong ability to deal with concurrent problems and fast speed. [https://github.com/valyala/fasthttp])

Quick Start

PS: Note that the default file operation port is 9001, and the default file access port is 9002, which is different.

HTTP

Upload file

Url : "http://127.0.0.1:9001/upload-file"
Method : "http + post + multipart/form-data"

Request

key value
file upload file
uploadSubPath file save path,like “pic”
token operation_token,like “654321”

Response

{
    "code": 1,
    "message": "Save file success.",
    "data": "/pic/2019-02-22/20190222151902_7848902316.jpg"
}

code = 1 means success
code != 1 means fail


Delete file

Url : "http://127.0.0.1:9001/delete-file"
Method : "http + post + multipart/form-data"

Request

key value
fileUrl like "/pic/2019-02-22/20190222151902_7848902316.jpg"
token operation_token,like "654321"

Response

{
    "code": 1,
    "message": "Delete file success.",
    "data": null
}

code = 1 means success
code != 1 means fail

About Update

When you want to update the sgfs, please note the following points.

  1. Do not delete upload folder because it saved files.
  2. If you modify the conf.yml about old version please backup it before update.
  3. Download release version and decompression to update. Easy.

TODO

  • remove startup and shutdown scripts
  • add cli commands to start server and shutdown
  • code cleanup
  • add unit tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].