Skip to content

patrickhener/goshs

Repository files navigation

Version GitHub GitHub go.mod Go version GitHub issues goreleaser Go Report Card

goshs-logo

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

goshs-screenshot-light goshs-screenshot-dark

Documentation

For a detailed documentation go to goshs.de

Features

  • Download or view files
    • Bulk download as .zip file
  • Upload files
    • POST request
    • PUT request
    • Drag & Drop in web interface
  • 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
  • SFTP support
    • Read-Only
    • Upload-Only
    • Key Auth
    • Password Auth
  • 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
  • Write output to a log file
  • Control via config file
  • Send notifications via webhook
    • HTTP Server
    • Webdav
    • SFTP
  • Access control via IP Whitelist
    • Proxy Aware

Installation

Release

You can download the executable from the release section

Go

go get -u github.com/patrickhener/goshs
go install github.com/patrickhener/goshs@latest

Build yourself

Building requirements are ugilfy-js and sass. After installing this packages you can easily just:

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 under Windows, you can install goshs this way:

scoop bucket add extras
scoop install extras/goshs

macOS homebrew

brew install goshs

Run with docker

docker run --rm -it -p 8000:8000 -v "$PWD:/pwd" patrickhener/goshs:latest -d /pwd

Code Contributors

These are the awesome code contributors of goshs:

Security issues shout out

These are the awesome contributors that made goshs even more secure ❤️

Community

Join the Discord Community and start connecting.

Join Discord

Credits

A special thank you goes to sc0tfree for inspiring this project with his project updog written in Python.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy