{"id":13714132,"url":"https://github.com/patrickhener/goshs","last_synced_at":"2026-04-09T20:18:06.708Z","repository":{"id":43262907,"uuid":"300549409","full_name":"patrickhener/goshs","owner":"patrickhener","description":"A SimpleHTTPServer written in Go, enhanced with features and with a nice design","archived":false,"fork":false,"pushed_at":"2024-04-19T12:28:20.000Z","size":8395,"stargazers_count":197,"open_issues_count":1,"forks_count":19,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-04-19T13:43:51.564Z","etag":null,"topics":["go","golang","http","http-server","javascript","server","webserver"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrickhener.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-10-02T08:24:17.000Z","updated_at":"2024-04-19T13:43:59.816Z","dependencies_parsed_at":"2024-04-19T13:43:52.032Z","dependency_job_id":null,"html_url":"https://github.com/patrickhener/goshs","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhener%2Fgoshs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhener%2Fgoshs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhener%2Fgoshs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhener%2Fgoshs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrickhener","download_url":"https://codeload.github.com/patrickhener/goshs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224551167,"owners_count":17330089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["go","golang","http","http-server","javascript","server","webserver"],"created_at":"2024-08-02T23:01:52.945Z","updated_at":"2026-04-09T20:18:06.703Z","avatar_url":"https://github.com/patrickhener.png","language":"Go","readme":"![Version](https://img.shields.io/badge/Version-v1.1.4-green)\n[![GitHub](https://img.shields.io/github/license/patrickhener/goshs)](https://github.com/patrickhener/goshs/blob/master/LICENSE)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/patrickhener/goshs)\n[![GitHub issues](https://img.shields.io/github/issues-raw/patrickhener/goshs)](https://github.com/patrickhener/goshs/issues)\n![goreleaser](https://github.com/patrickhener/goshs/workflows/goreleaser/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/patrickhener/goshs)](https://goreportcard.com/report/github.com/patrickhener/goshs)\n\n\u003cimg src=\"https://github.com/patrickhener/image-cdn/blob/main/goshs-banner-light.png\" alt=\"goshs-logo\" height=\"100\"\u003e\n\ngoshs is a replacement for Python's `SimpleHTTPServer`. It allows uploading and downloading via HTTP/S with either self-signed certificate or user provided certificate and you can use HTTP basic auth.\n\n![intro](https://github.com/patrickhener/image-cdn/blob/main/goshs.gif)\n\n\u003ckbd\u003e\u003cimg src=\"https://github.com/patrickhener/image-cdn/blob/main/goshs-screenshot.png\" alt=\"goshs-screenshot-light\"\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://github.com/patrickhener/image-cdn/blob/main/goshs-screenshot-dark.png\" alt=\"goshs-screenshot-dark\"\u003e\u003c/kbd\u003e\n\n\n# Documentation\n\nFor a detailed documentation go to [goshs.de](https://goshs.de)\n\n# Features\n* Download or view files\n  * Bulk download as .zip file\n  * QRCode\n* Upload files\n  * POST request\n  * PUT request\n  * Drag \u0026 Drop in web interface\n* Delete files\n  * Individually\n  * Bulk delete\n* Authentication\n  * Basic Authentication\n  * Certificate Based Authentication via Client Certificate\n* Transport Layer Security (HTTPS)\n  * self-signed\n  * let's encrypt\n  * provide own certificate\n* Non persistent clipboard\n  * Download clipboard entries as .json file\n* WebDAV support\n* Read-Only and Upload-Only mode\n* SFTP support\n  * Read-Only\n  * Upload-Only\n  * Key Auth\n  * Password Auth\n* Silent mode (no webserver output)\n* Invisible mode (no output whatsoever)\n* Retrieve json on cli\n* Drop user privileges before execution (Unix only)\n  * Example: Run on port 80, but process is \"www-data\"\n* Themes\n  * Dark Mode\n  * Light Mode\n* Command Line\n  * Run Commands on the system hosting `goshs`\n* File Based ACLs\n  * You can place a `.goshs` in any folder to apply custom ACLs\n  * You can apply custom basic auth per folder\n  * You can restrict access to specific files completely\n* Embed files on compile time\n* Self updating binary\n* Write output to a log file\n* Control via config file\n* Send notifications via webhook\n  * HTTP Server\n  * Webdav\n  * SFTP\n* Access control via IP Whitelist\n  * Proxy Aware\n* Share Links\n  * Share files without authentication\n  * Use Download Limit\n  * Use Time Limit\n* Tunnel connection via localhost.run\n  * Expose your local goshs to the internet via localhost.run\n\n# Installation\n\n## Release\nYou can download the executable from the [release section](https://github.com/patrickhener/goshs/releases)\n\n## Go\n\n```bash\ngo get -u github.com/patrickhener/goshs\ngo install github.com/patrickhener/goshs@latest\n```\n\n## Build yourself\n\nBuilding requirements are [ugilfy-js](https://www.npmjs.com/package/uglify-js) and [sass](https://sass-lang.com/install). After installing this packages you can easily just:\n\n```bash\ngit clone https://github.com/patrickhener/goshs.git\ncd goshs\nmake build-all\n```\n\n## Kali repositories\n\nWhen using kali you can easily just install it via cli, if it is not already installed:\n\n```\nsudo apt install goshs\n```\n\n## Windows scoop package\n\nIf you are using the [scoop package manager](https://scoop.sh/) under Windows, you can install goshs this way:\n\n```\nscoop bucket add extras\nscoop install extras/goshs\n```\n\n## macOS homebrew\n\n```\nbrew install goshs\n```\n\n## Run with docker\n\n```\ndocker run --rm -it -p 8000:8000 -v \"$PWD:/pwd\" patrickhener/goshs:latest -d /pwd\n```\n\n# Code Contributors\n\nThese are the awesome code contributors of `goshs`:\n\n[![](https://github.com/aWZHY0yQH81uOYvH.png?size=50)](https://github.com/aWZHY0yQH81uOYvH)\n[![](https://github.com/Hazegard.png?size=50)](https://github.com/Hazegard)\n[![](https://github.com/closehandle.png?size=50)](https://github.com/closehandle)\n[![](https://github.com/abgordon.png?size=50)](https://github.com/abgordon)\n\n- [parzel](https://github.com/parzel)\n- [ty3gx](https://github.com/ty3gx) \n\n# Security issues shout out\n\nThese are the awesome contributors that made `goshs` even more secure :heart:\n\n- [Guilhem7](https://github.com/Guilhem7)\n\n# Community\n\nJoin the Discord Community and start connecting.\n\n[![Join Discord](https://invidget.switchblade.xyz/3ZnskY8HcJ)](https://discord.gg/3ZnskY8HcJ)\n\n# Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=patrickhener/goshs\u0026type=date\u0026legend=top-left)](https://www.star-history.com/#patrickhener/goshs\u0026type=date\u0026legend=top-left)\n\n# Credits\n\nA special thank you goes to *sc0tfree* for inspiring this project with his project [updog](https://github.com/sc0tfree/updog) written in Python.\n","funding_links":[],"categories":["Go","Server Applications","Repositories"],"sub_categories":["HTTP Clients"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickhener%2Fgoshs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrickhener%2Fgoshs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickhener%2Fgoshs/lists"}