• Stars
    star
    67
  • Rank 446,856 (Top 10 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 5 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run "curl -L lama.sh | sh" to start a web server

Getting started

curl lama.sh | sh

Introduction

lama.sh

lama is a simple HTTP server that serves files, directories and verbosely logs requests. This project has two main qualities:

  1. Easy to use: lama allows one to start a web server on any Linux/MacOSX using 25 characters, with no requirements (not even libc).
  2. Trustworthy: lama's code and download script are as simple as they can be, thus can be inspected and verified. We have a very shallow dependency tree (just two dependencies other than the Go standard library).

Configuration

server sports a few command-line flags which configure its behaviour. To pass those flags use

$ curl lama.sh | sh -s -- <flags>

For example to print the list of available flags

$ curl lama.sh | sh -s -- --help
Usage of lama:
  -d, --directory string   the directory to serve (default ".")
  -N, --dont-dump          be less verbose and don't dump requests
  -D, --dont-serve         don't serve any directy (ignores --directory)
  -l, --localhost          serve on localhost only
  -p, --port string        port to serve on, respects LAMA_PORT envvar (default "8080")
  -v, --version            prints the version

Some flags can be set as environment variables, like so:

curl lama.sh | LAMA_PORT=8888 sh

How to contribute

All contributions/PR/issue/beer are welcome ❤️.

It's easiest to develop lama using Gitpod, a free one-click online IDE (who I happen to be working on):

Open in Gitpod

Credits

Logo based on work from Vectors by Vecteezy.