statiks

package module
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2020 License: MIT Imports: 1 Imported by: 0

README

Statiks

Fast, zero-configuration, static HTTP filer server. Like Python's SimpleHTTPServer but scalable.

GitHub Releases GoDoc Go Report Card Build Status codecov

Features

  • HTTP and HTTPS (TLS/SSL)
  • Support directory list
  • Cache control and "Last-Modified"
  • Delay response
  • CORS support
  • Content compression (gzip)
  • Request logging

Installation

Via Binaries
Via Homebrew (macOS)
brew tap janiltonmaciel/homebrew-tap
brew install statiks
Via Docker

The official janilton/statiks image is available on Docker Hub.

docker container run -p 9080:9080 -v .:/var/www --rm janilton/statiks

Volume dir: /var/www

Expose port: 9080

Use

statiks [options] <path>

OPTIONS:
  --host value, -h value  host address to bind to (default: "0.0.0.0") [$HOST]
  --port value, -p value  port number (default: "9080") [$PORT]
  --quiet, -q             enable quiet mode, do not output each incoming request (default: false)
  --add-delay value       add delay to responses (in milliseconds) (default: 0)
  --cache value           set cache time (in seconds) for cache-control max-age header (default: 0)
  --no-index              disable directory listings (default: false)
  --compression           enable gzip compression (default: false)
  --include-hidden        enable hidden files as normal (default: false)
  --cors                  enable CORS allowing all origins with all standard methods with any header and credentials. (default: false)
  --ssl                   enable https (default: false)
  --cert value            path to the ssl cert file (default: "cert.pem")
  --key value             path to the ssl key file (default: "key.pem")
  --help                  show help (default: false)
  --version, -v           print the version (default: false)

<path> defaults to . (relative path to the current directory)

Examples

statiks -port 9000
statiks --cors /home
statiks --host 192.168.1.100 --compression /tmp
statiks --ssl --cert cert.pem --key key.pem
statiks --add-delay 100 /tmp

Credits

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewServer

func NewServer(config http.Config) *http.Server

NewServer return server implements the static http server.

Example
package main

import (
	"log"

	"github.com/janiltonmaciel/statiks"
	"github.com/janiltonmaciel/statiks/pkg/http"
)

func main() {
	config := http.Config{}
	server := statiks.NewServer(config)

	if err := server.Run(); err != nil {
		log.Fatal(err)
	}
}
Output:

Types

This section is empty.

Directories

Path Synopsis
Package main implements the runtime CLI application.
Package main implements the runtime CLI application.
pkg
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL