All Projects → briandowns → Simple Httpd

briandowns / Simple Httpd

Licence: apache-2.0
Drop-in replacement for Python SimpleHTTPServer. Provides TLS via Let's Encrypt over HTTP2, and auto generated self-signed certificates.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Simple Httpd

Cowboy
Small, fast, modern HTTP server for Erlang/OTP.
Stars: ✭ 6,533 (+2910.6%)
Mutual labels:  http2, http-server
Unipi
Serving content from a git repository via HTTPS (including let's encrypt provisioning) as MirageOS unikernel
Stars: ✭ 46 (-78.8%)
Mutual labels:  letsencrypt, http-server
Farwest
Framework for building RESTful HATEOAS-driven applications.
Stars: ✭ 18 (-91.71%)
Mutual labels:  http2, http-server
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+1463.13%)
Mutual labels:  http2, http-server
Raxx kit
Get started with Raxx + Elixir
Stars: ✭ 120 (-44.7%)
Mutual labels:  http2, http-server
Jetty.project
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Stars: ✭ 3,260 (+1402.3%)
Mutual labels:  http2, http-server
Nico
A HTTP2 web server for reverse proxy and single page application, automatically apply for ssl certificate, Zero-Configuration.
Stars: ✭ 43 (-80.18%)
Mutual labels:  http2, http-server
static-web-server
A blazing fast and asynchronous web server for static files-serving. ⚡
Stars: ✭ 230 (+5.99%)
Mutual labels:  http2, http-server
Restbed
Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.
Stars: ✭ 1,551 (+614.75%)
Mutual labels:  http2, http-server
Violetear
Go HTTP router
Stars: ✭ 100 (-53.92%)
Mutual labels:  http2, http-server
Firefly
Firefly is an asynchronous web framework for rapid development of high-performance web application.
Stars: ✭ 277 (+27.65%)
Mutual labels:  http2, http-server
Nginxconfig.io
⚙️ NGINX config generator on steroids 💉
Stars: ✭ 14,983 (+6804.61%)
Mutual labels:  http2, letsencrypt
Http
Host These Things Please - a basic http server for hosting a folder fast and simply
Stars: ✭ 275 (+26.73%)
Mutual labels:  http2, http-server
Echo
High performance, minimalist Go web framework
Stars: ✭ 21,297 (+9714.29%)
Mutual labels:  http2, letsencrypt
s3www
Serve static files from any S3 compatible object storage services (Let's Encrypt ready)
Stars: ✭ 86 (-60.37%)
Mutual labels:  letsencrypt, http-server
Go Bootstrap
Easy way to bootstrap a web server in Go (Routing|Middleware|Https)
Stars: ✭ 27 (-87.56%)
Mutual labels:  letsencrypt, http-server
hunt-http
http library for D, support http 1.1 / http 2.0 (http2) / websocket server and client.
Stars: ✭ 29 (-86.64%)
Mutual labels:  http2, http-server
ssltun
simple secure http proxy server with automic https
Stars: ✭ 33 (-84.79%)
Mutual labels:  letsencrypt, http2
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (+435.94%)
Mutual labels:  http2, http-server
Armor
Uncomplicated, modern HTTP server
Stars: ✭ 1,629 (+650.69%)
Mutual labels:  http2, letsencrypt

simple-httpd

Build Status

simple-httpd is aimed to be a simple replacement for using python -m SimpleHTTPServer to serve local files. Like SimpleHTTPServer, simple-httpd supports HTTP GET and HEAD requests and adheres to the HTTP/1.1 RFC 2616 guidelines.

The HTML output is a mix of the Python module layout and of an Apache directory listing layout.

If you're looking for a full featured or even just more capable web server, take a look at Caddy.

Features

  • HTTP2 with Let's Encrypt integration for automatic TLS, if enabled.
  • Automatic self signed certificate generation and use, if enabled.
  • Multiple language support: English, Italian, Spanish, Irish. ISO 639-1 are given on the CLI.

Certificates are cached in ${HOME}/.autocert for reuse.

Installation

go get github.com/briandowns/simple-httpd

or

make install

or, on BSD

gmake install

Examples

HTTP/1.1 on default port (8000)

simple-httpd

HTTP/1.1 on the given port

simple-httpd -p 8181

HTTP/2 with Let's Encrypt on the default port

simple-httpd -l some.valid.domain

The port assignment is for the HTTP server. The TLS port will be 8081 and both will respond to requests.

simple-httpd -p 8080 -t some.valid.domain

Generate a self signed certificate and run the server

simple-httpd -g

Run server in Spanish

simple-httpd -l es

## Contributions

* File Issue with details of the problem, feature request, etc.
* Submit a pull request and include details of what problem or feature the code is solving or implementing.
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].