goshs

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2024 License: MIT Imports: 13 Imported by: 0

README

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
  • 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

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

Credits

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package ca will handle the creation of certificates for TSL encrypted communication Credits: Shane Utt https://shaneutt.com/blog/golang-ca-and-signed-cert-go/
Package ca will handle the creation of certificates for TSL encrypted communication Credits: Shane Utt https://shaneutt.com/blog/golang-ca-and-signed-cert-go/
Package clipboard will provide the functionality of a clipboard
Package clipboard will provide the functionality of a clipboard
Package httpserver will contain the main httpserver functionality of goshs
Package httpserver will contain the main httpserver functionality of goshs
Package logger will take care of all logging messages using logrus
Package logger will take care of all logging messages using logrus
Package utils has general utility functions
Package utils has general utility functions
Package ws will provide websocket functionality to keep the browser windows in sync
Package ws will provide websocket functionality to keep the browser windows in sync

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL