README
¶

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
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
- Run Commands on the system hosting
- 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
- You can place a
- Embed files on compile time
Installation
Release
You can download the executable from the release section
Go
go get -u github.com/ASoggySandal/gosps
go install github.com/ASoggySandal/gosps@latest
Build yourself
Building requirements are ugilfy-js and sass. After installing this packages you can easily just:
git clone https://github.com/ASoggySandal/gosps.git
cd goshs
make build-all
Credits
A special thank you goes to sc0tfree for inspiring this project with his project updog written in Python.
Documentation
¶
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 |
Click to show internal directories.
Click to hide internal directories.