- Notifications
You must be signed in to change notification settings - Fork2
🗂️ go-live is an ultra-light server utility that serves files, HTML or anything else, over HTTP.
License
antsankov/go-live
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A fast, portable Go command line utility that serves a file directory over HTTP. Can be used for local web development, production static-site serving, or as a network file host. By default,go-live
serves the directory it is executed in.
Based on JavaScript's famouslive-server
utility. Supports Linux, Windows, and Mac, as well as ARM. See TODO list if interested in helping.
To use: Rungo-live
in your terminal while in directory you want to serve.
- Local development of an HTML/JS project (can serve any frontend code).
- Host a production static site yourself as a GitHub Pages alternative.See tutorial here
- A lightweight network file host that can serve over a LAN or the whole Internet.
- Run on an embedded system or Kubernetes cluster to share files and host a static website on a network (full binary is less than 5MB).
brew tap antsankov/go-live && brew install go-live
- For ARM (Mac M1 / M2) - make sure your Brew is istalled to
opt/homebrew
. Brew does not do this by default, easiest way to do this is to install homebrew via the .pkg from thehomebrew
github releases page.
brew tap antsankov/go-live && arch -arm64 brew install go-live
curl -LJO https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-mac-x64.zip && unzip go-live-mac-x64.zip && mv go-live /usr/local/bin/go-live && chmod +x /usr/local/bin/go-live && go-live
curl -LJO https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-mac-arm64.zip && unzip go-live-mac-arm64.zip && mv go-live /usr/local/bin/go-live && chmod +x /usr/local/bin/go-live && go-live
snap install go-live
sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-x32 -O /usr/bin/go-live && sudo chmod +x /usr/bin/go-live
sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-x64 -O /usr/bin/go-live && sudo chmod +x /usr/bin/go-live
sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-arm32 -O /usr/bin/go-live && sudo chmod +x /usr/bin/go-live
sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-arm64 -O /usr/bin/go-live && sudo chmod +x /usr/bin/go-live
docker pull antsankov/go-live
To run (will serve current directory on port 9000):
docker run --rm -v "${PWD}":/workdir -p 9000:9000 antsankov/go-live go-live
- Chocolatey coming soon! (Help wanted)
- Make sure when running that all necessary ports are open and user has permissions (Help wanted)
- QT based front-end? (Help wanted)
GO111MODULE=on go get github.com/antsankov/go-live
git clone https://github.com/antsankov/go-live.git && cd go-livemake build && ./bin/go-live
git clone https://github.com/antsankov/go-live.git && cd go-livemake cross-compile && ls release/
- For snapcraft it builds automatically when you push it
- For Mac and Homebrew, seehttps://github.com/mitchellh/gon
gon gon.json
- Make sure to have XTools installed, and opened already.
- You need to have a valid developer certficate - check
security find-identity -p codesigning
. If it is not valid, seehttps://developer.apple.com/forums/thread/86161 -- you need to check the info of the developer cert to see if the "Organizational Unit" certificate is installed. - For gon to work, you need to use the hacked versionmitchellh/gon#64 (comment) to release on Apple Silicon
- The "ac-password" in gon is an App specfic password for your Apple ID.
- For docker (remember for version and for latest):
sudo docker build -t antsankov/go-live:v1.2.1 .
andsudo docker push antsankov/go-live:v1.2.1
-h Print help message for go-live --help -cAllow browser caching of pages. Can lead to stale results, off by default. --cache -d string Select the directory you want to serve. Serves all subpaths that user has read permissions for. (default "./") --dir string (default "./") -p string Set port to serve on. (default "9000") --port string (default "9000") -qQuiet stops go-live from opening the browser when started. --quiet -sStart in server mode on port 80 and in quiet. --serve -vPrint the version of go-live. --version
Note:index.html
is displayed automatically at the root of a directory.
Example: Serve a static site over Port 80
sudo go-live --dir ~/example.com/ --serve
- Android Support
- Docker Support
- Benchmarking and performance tests. Large files, and concurrent connections.
- Gif and Screenshots of it in use.
- Tutorial Use as Github Pages Alternative
- Copy Paste from Terminal fix.
- Finish Gitbook documentation.
- HTTPS support.
- Publish as a Go package.
- Setup Unit tests.
- Requests Counter
- Ability to download as a binary.
- Browser Opening
- Finish Go Deps
- Run as shell utility.
- Figure out rotating print message.
- Get local server going.
About
🗂️ go-live is an ultra-light server utility that serves files, HTML or anything else, over HTTP.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.