All Projects → siadat → gofile

siadat / gofile

Licence: other
HTTP/1.1 directory listing and file server using TCP sockets for fun

Programming Languages

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

Projects that are alternatives of or similar to gofile

static-web-server
A blazing fast and asynchronous web server for static files-serving. ⚡
Stars: ✭ 230 (+289.83%)
Mutual labels:  http-server, file-server
simple-file-server
Transfer and browse files as simple as possiable via HTTP. Supported Windows, Linux, Mac OS...(Support QRCode output)
Stars: ✭ 43 (-27.12%)
Mutual labels:  file-server
Evpp
A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols.
Stars: ✭ 2,850 (+4730.51%)
Mutual labels:  http-server
sudden.js
A high-level API framework built on top of express.
Stars: ✭ 14 (-76.27%)
Mutual labels:  http-server
Mongols
C++ high performance networking with TCP/UDP/RESP/HTTP/WebSocket protocols
Stars: ✭ 250 (+323.73%)
Mutual labels:  http-server
Crow
A Fast and Easy to use microframework for the web.
Stars: ✭ 1,718 (+2811.86%)
Mutual labels:  http-server
Serve
a static http server anywhere you need one.
Stars: ✭ 233 (+294.92%)
Mutual labels:  http-server
pico
This is a very simple HTTP server for Unix, using fork(). It's very easy to use.
Stars: ✭ 83 (+40.68%)
Mutual labels:  http-server
httpfs
Go 编写的静态文件服务器,支持文件拖拽上传,无第三方包依赖, 支持 Windows, Linux , Darwin。
Stars: ✭ 28 (-52.54%)
Mutual labels:  http-server
sgfs
🚀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. 中文介绍:
Stars: ✭ 51 (-13.56%)
Mutual labels:  file-server
EthernetWebServer SSL
Simple TLS/SSL Ethernet WebServer, HTTP Client and WebSocket Client library for for AVR, Portenta_H7, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52 and RASPBERRY_PI_PICO boards using Ethernet shields W5100, W5200, W5500, ENC28J60 or Teensy 4.1 NativeEthernet/QNEthernet. It now supports Ethernet TLS/SSL Client. The library supports …
Stars: ✭ 40 (-32.2%)
Mutual labels:  http-server
Http Fake Backend
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 253 (+328.81%)
Mutual labels:  http-server
ValaSimpleHTTPServer
Simple HTTP server made in vala
Stars: ✭ 49 (-16.95%)
Mutual labels:  http-server
Andserver
🍒 Web server and web framework of Android platform.
Stars: ✭ 2,932 (+4869.49%)
Mutual labels:  http-server
Kvantum
An intellectual (HTTP/HTTPS) web server with support for server side templating (Crush, Apache Velocity and JTwig)
Stars: ✭ 17 (-71.19%)
Mutual labels:  http-server
App Servers
App Servers benchmarked for: Ruby, Python, JavaScript, Dart, Elixir, Java, Crystal, Nim, GO, Rust
Stars: ✭ 238 (+303.39%)
Mutual labels:  http-server
cpphttpstack
c++ api for http client & server
Stars: ✭ 30 (-49.15%)
Mutual labels:  http-server
reqres
Powerful classes for http requests and responses
Stars: ✭ 36 (-38.98%)
Mutual labels:  http-server
waycup
A minimal tool that hides your online assets from online security scanners, researchers and hackers.
Stars: ✭ 100 (+69.49%)
Mutual labels:  http-server
denoliver
A simple, dependency free static file server for Deno with possibly the worst name ever.
Stars: ✭ 94 (+59.32%)
Mutual labels:  file-server

Gofile

GoDoc Build Status

A non-blocking directory listing and file server. It implementats HTTP/1.1 keepalive, chunked transfer, and byte range.

The HTTP server implementation provides a channel for writing chunked response. It could be used as a library. Read the API.

gofile

Usage

Usage: gofile port [dir]

Examples:

gofile 8080
gofile 8080 ~/public

Install

go get -u github.com/siadat/gofile

HTTP/1.1 implementation checklist

  • GET and HEAD methods
  • Support keep-alive connections
  • Support chunked transfer encoding
  • Requests must include a Host header
  • Requests with Connection: close should be closed
  • Support for requests with absolute URLs
  • If-Modified-Since support
  • Byte range support
  • Transparent response compression

Hacking

Submit an issue or send a pull request. Make sure you ./run-tests.bash to test your patch.

Thanks

Thanks @valyala for his feature suggestions. Thanks @maruel for reviewing the http package.

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].