goshs

command module
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2026 License: MIT Imports: 9 Imported by: 0

README ΒΆ

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

goshs-logo

goshs is a replacement for Python's SimpleHTTPServer. It is a feature-rich file server supporting HTTP/S, WebDAV, SFTP, and SMB β€” with built-in authentication, share links, webhooks, and collaboration features for penetration testing and CTF challenges.

intro

goshs-screenshot-light goshs-screenshot-dark

Quick Start

# Serve the current directory on port 8000
goshs

# Serve with HTTPS (self-signed) and basic auth
goshs -s -ss -b user:password

# Capture SMB hashes
goshs -smb -smb-domain CORP

# Catch DNS callbacks and receive emails
goshs -dns -dns-ip 1.2.3.4 -smtp -smtp-domain your-domain.com

Documentation

For a detailed documentation go to goshs.de

Features

πŸ“ File Operations Download, upload (drag & drop, POST/PUT), delete, bulk ZIP, QR codes
πŸ”Œ Protocols HTTP/S, WebDAV, SFTP, SMB
πŸ”’ Auth & Security Basic auth, certificate auth, TLS (self-signed, Let's Encrypt, custom cert), IP whitelist, file-based ACLs
βš™οΈ Server Modes Read-only, upload-only, no-delete, silent, invisible, CLI command execution
πŸ”— Share Links Token-based sharing, download limit, time limit
🎯 Collaboration / CTF DNS server, SMTP server, SMB NTLM hash capture + cracking, redirect endpoint
πŸ”” Integration Webhooks, tunnel via localhost.run, config file, JSON API, mDNS
πŸ› οΈ Misc Dark/light themes, clipboard, self-update, log output, embed files, drop privileges

Installation

Method
🦫 Go go install github.com/patrickhener/goshs/v2@latest
πŸ‰ Kali sudo apt install goshs
🍺 Homebrew brew install goshs
πŸͺŸ Scoop scoop bucket add extras && scoop install extras/goshs
🐳 Docker docker run --rm -it -p 8000:8000 -v "$PWD:/pwd" patrickhener/goshs:latest -d /pwd
πŸ“¦ Release Download from GitHub Releases
πŸ”§ Build yourself

Building requirements are uglify-js and sass. After installing these packages run:

git clone https://github.com/patrickhener/goshs.git
cd goshs
make build-all

Code Contributors

Contributors

Security Contributors

These are the awesome contributors that made goshs even more secure ❀

Guilhem7

Community

Join the Discord Community and start connecting.

Join Discord

Star History

Star History Chart

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
smtpattach/store.go
smtpattach/store.go
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