https://github.com/patrickhener/goshs
A SimpleHTTPServer written in Go, enhanced with features and with a nice design
https://github.com/patrickhener/goshs
go golang http http-server javascript server webserver
Last synced: 5 months ago
JSON representation
A SimpleHTTPServer written in Go, enhanced with features and with a nice design
- Host: GitHub
- URL: https://github.com/patrickhener/goshs
- Owner: patrickhener
- License: mit
- Created: 2020-10-02T08:24:17.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T12:28:20.000Z (about 1 year ago)
- Last Synced: 2024-04-19T13:43:51.564Z (about 1 year ago)
- Topics: go, golang, http, http-server, javascript, server, webserver
- Language: Go
- Homepage:
- Size: 8.01 MB
- Stars: 197
- Watchers: 5
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-golang-repositories - goshs
README

[](https://github.com/patrickhener/goshs/blob/master/LICENSE)

[](https://github.com/patrickhener/goshs/issues)

[](https://goreportcard.com/report/github.com/patrickhener/goshs)
goshs 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.

![]()
# Documentation
For a detailed documentation go to [goshs.de](https://goshs.de)
# Features
* Download or view files
* Bulk download as .zip file
* Upload files (Drag & Drop)
* Delete files
* Individually
* Bulk delete
* Authentication
* Basic Authentication
* Certificate Based Authentication via Client Certificate
* Transport Layer Security (HTTPS)
* self-signed
* let's encrypt
* provide own certificate
* Non persistent clipboard
* Download clipboard entries as .json file
* WebDAV support
* Read-Only and Upload-Only mode
* Silent mode (no webserver output)
* Retrieve json on cli
* Drop user privileges before execution (Unix only)
* Example: Run on port 80, but process is "www-data"
* Themes
* Dark Mode
* Light Mode
* Command Line
* Run Commands on the system hosting `goshs`
* File Based ACLs
* You can place a `.goshs` in any folder to apply custom ACLs
* You can apply custom basic auth per folder
* You can restrict access to specific files completely
* Embed files on compile time
* Self updating binary# Installation
## Release
You can download the executable from the [release section](https://github.com/patrickhener/goshs/releases)## Go
```bash
go get -u github.com/patrickhener/goshs
go install github.com/patrickhener/goshs@latest
```## Build yourself
Building 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:
```bash
git clone https://github.com/patrickhener/goshs.git
cd goshs
make build-all
```## Kali repositories
When using kali you can easily just install it via cli, if it is not already installed:
```
sudo apt install goshs
```## Windows scoop package
If you are using the [scoop package manager](https://scoop.sh/) under Windows, you can install goshs this way:
```
scoop bucket add extras
scoop install extras/goshs
```# Credits
A special thank you goes to *sc0tfree* for inspiring this project with his project [updog](https://github.com/sc0tfree/updog) written in Python.