Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 28 days 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 (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T12:28:20.000Z (8 months ago)
- Last Synced: 2024-04-19T13:43:51.564Z (8 months 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
![Version](https://img.shields.io/badge/Version-v0.4.2-green)
[![GitHub](https://img.shields.io/github/license/patrickhener/goshs)](https://github.com/patrickhener/goshs/blob/master/LICENSE)
![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/patrickhener/goshs)
[![GitHub issues](https://img.shields.io/github/issues-raw/patrickhener/goshs)](https://github.com/patrickhener/goshs/issues)
![goreleaser](https://github.com/patrickhener/goshs/workflows/goreleaser/badge.svg)
[![Go Report Card](https://goreportcard.com/badge/github.com/patrickhener/goshs)](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.
![intro](https://github.com/patrickhener/image-cdn/blob/main/goshs.gif)
# 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.