{"id":13562455,"url":"https://github.com/antsankov/go-live","last_synced_at":"2026-02-07T23:30:52.571Z","repository":{"id":43079548,"uuid":"296512446","full_name":"antsankov/go-live","owner":"antsankov","description":"🗂️ go-live is an ultra-light server utility that serves files, HTML or anything else, over HTTP.","archived":false,"fork":false,"pushed_at":"2023-12-21T15:11:30.000Z","size":11543,"stargazers_count":27,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T18:41:54.290Z","etag":null,"topics":["arm","arm64","dev-server","file-server","go","jam","jamstack","live-server","localhost","m1","network-fileserver","server","static","static-site"],"latest_commit_sha":null,"homepage":"https://antsankov.gitbook.io/go-live/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antsankov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-09-18T04:22:41.000Z","updated_at":"2024-12-23T18:32:41.000Z","dependencies_parsed_at":"2024-01-14T03:46:09.852Z","dependency_job_id":"311c1eaf-c841-45f3-9263-b5978f168b27","html_url":"https://github.com/antsankov/go-live","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/antsankov/go-live","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antsankov%2Fgo-live","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antsankov%2Fgo-live/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antsankov%2Fgo-live/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antsankov%2Fgo-live/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antsankov","download_url":"https://codeload.github.com/antsankov/go-live/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antsankov%2Fgo-live/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29212561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T23:14:30.912Z","status":"ssl_error","status_checked_at":"2026-02-07T23:14:17.253Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arm","arm64","dev-server","file-server","go","jam","jamstack","live-server","localhost","m1","network-fileserver","server","static","static-site"],"created_at":"2024-08-01T13:01:08.817Z","updated_at":"2026-02-07T23:30:52.549Z","avatar_url":"https://github.com/antsankov.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003cimg src=\"./logo.png\" alt=\"drawing\" width=\"75\"/\u003e\n\n# go-live\n[![Go Report](https://goreportcard.com/badge/github.com/antsankov/go-live)](https://goreportcard.com/report/github.com/antsankov/go-live)\n[![GoDoc](https://godoc.org/github.com/antsankov/go-live?status.svg)](https://pkg.go.dev/github.com/antsankov/go-live@v1.2.1?tab=overview)\n[![Snap Package](https://snapcraft.io/go-live/badge.svg)](https://snapcraft.io/go-live)\n\n\nA 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.\n\nBased on JavaScript's famous `live-server` utility. Supports Linux, Windows, and Mac, as well as ARM. See TODO list if interested in helping.\n\n*To use*: Run `go-live` in your terminal while in directory you want to serve.\n\n## Use-Cases\n* Local development of an HTML/JS project (can serve any frontend code).\n* Host a production static site yourself as a GitHub Pages alternative. [See tutorial here](https://antsankov.medium.com/how-to-host-your-own-github-pages-server-on-digital-ocean-in-less-than-15-minutes-using-go-live-82300a16e23a)\n* A lightweight network file host that can serve over a LAN or the whole Internet.\n* 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). \n\n## Example\n\n![go-live-demo](https://user-images.githubusercontent.com/2533512/94636832-5554c900-0293-11eb-8aea-585f8d007fab.gif)\n\n## Install\n\n### MacOS Intel (with Brew)\n`brew tap antsankov/go-live \u0026\u0026 brew install go-live` \n\n### MacOS Apple Silicon/M1/M2 (with Brew)\n* 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 the [`homebrew` github releases page](https://github.com/Homebrew/brew/releases). \n  \n`brew tap antsankov/go-live \u0026\u0026 arch -arm64 brew install go-live`\n\n### MacOS x64 (without Brew)\n\n`curl -LJO https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-mac-x64.zip \u0026\u0026 unzip go-live-mac-x64.zip \u0026\u0026 mv go-live /usr/local/bin/go-live \u0026\u0026 chmod +x /usr/local/bin/go-live \u0026\u0026 go-live`\n\n### MacOS Apple Silicon/M1/M2 (without Brew)\n\n`curl -LJO https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-mac-arm64.zip \u0026\u0026 unzip go-live-mac-arm64.zip \u0026\u0026 mv go-live /usr/local/bin/go-live \u0026\u0026 chmod +x /usr/local/bin/go-live \u0026\u0026 go-live`\n\n### Linux (using Snapcraft)\n`snap install go-live`\n\n### Linux x32 (Ubuntu/RHEL/etc.):\n`sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-x32 -O /usr/bin/go-live \u0026\u0026 sudo chmod +x /usr/bin/go-live`\n\n### Linux x64 (Ubuntu/RHEL/etc.):\n`sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-x64 -O /usr/bin/go-live \u0026\u0026 sudo chmod +x /usr/bin/go-live`\n\n### Linux ARM32 (Ubuntu/RHEL/etc.):\n`sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-arm32 -O /usr/bin/go-live \u0026\u0026 sudo chmod +x /usr/bin/go-live`\n\n### Linux ARM64 (Ubuntu/RHEL/etc.):\n`sudo wget https://github.com/antsankov/go-live/releases/download/v1.2.1/go-live-linux-arm64 -O /usr/bin/go-live \u0026\u0026 sudo chmod +x /usr/bin/go-live`\n\n### Docker\n`docker pull antsankov/go-live`\n\nTo run (will serve current directory on port 9000):\n\n`docker run --rm -v \"${PWD}\":/workdir -p 9000:9000 antsankov/go-live go-live`\n\n### Windows\n\n[Download Here and Execute](https://github.com/antsankov/go-live/releases/tag/v1.2.1)\n\n- Chocolatey coming soon! (Help wanted)\n- Make sure when running that all necessary ports are open and user has permissions (Help wanted)\n- QT based front-end? (Help wanted)\n\n### Go Get (must have Go installed)\n`GO111MODULE=on go get github.com/antsankov/go-live`\n\n### Install From Source (must have Go installed)\n```\ngit clone https://github.com/antsankov/go-live.git \u0026\u0026 cd go-live\nmake build \u0026\u0026 ./bin/go-live\n```\n### Cross Compile for multiple systems\n```\ngit clone https://github.com/antsankov/go-live.git \u0026\u0026 cd go-live\nmake cross-compile \u0026\u0026 ls release/\n```\n\n## To Release\n- For snapcraft it builds automatically when you push it\n- For Mac and Homebrew, see https://github.com/mitchellh/gon\n  - `gon gon.json`\n  - Make sure to have XTools installed, and opened already.\n  - You need to have a valid developer certficate - check `security find-identity -p codesigning`. If it is not valid, see https://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.\n  - For gon to work, you need to use the hacked version https://github.com/mitchellh/gon/issues/64#issuecomment-1336311570 to release on Apple Silicon\n  - The \"ac-password\" in gon is an App specfic password for your Apple ID.\n- For docker (remember for version and for latest): `sudo docker build -t antsankov/go-live:v1.2.1 .` and `sudo docker push antsankov/go-live:v1.2.1`\n## Flags\n```\n  -h  Print help message for go-live \n  --help\n\n  -c\tAllow browser caching of pages. Can lead to stale results, off by default.\n  --cache\n\n  -d string\n    \tSelect the directory you want to serve. Serves all subpaths that user has read permissions for. (default \"./\")\n  --dir string\n    \t (default \"./\")\n  -p string\n    \tSet port to serve on. (default \"9000\")\n  --port string\n    \t (default \"9000\")\n  -q\tQuiet stops go-live from opening the browser when started.\n  --quiet\n\n  -s\tStart in server mode on port 80 and in quiet.\n  --serve\n\n  -v\tPrint the version of go-live.\n  --version\n```\n\nNote: `index.html` is displayed automatically at the root of a directory.\n\n**Example**: Serve a static site over Port 80\n\n`sudo go-live --dir ~/example.com/ --serve`\n\n## TODO (Help Wanted)\n- [ ] Android Support\n- [x] Docker Support\n- [ ] Benchmarking and performance tests. Large files, and concurrent connections.\n- [x] Gif and Screenshots of it in use. \n- [x] Tutorial Use as Github Pages Alternative\n- [x] Copy Paste from Terminal fix.\n- [x] Finish Gitbook documentation. \n- [ ] HTTPS support.\n- [x] Publish as a Go package.\n- [x] Setup Unit tests.\n- [x] Requests Counter\n- [x] Ability to download as a binary.\n- [x] Browser Opening\n- [x] Finish Go Deps\n- [x] Run as shell utility.\n- [x] Figure out rotating print message.\n- [x] Get local server going.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantsankov%2Fgo-live","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantsankov%2Fgo-live","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantsankov%2Fgo-live/lists"}