All Projects β†’ patrickhener β†’ Goshs

patrickhener / Goshs

Licence: mit
A SimpleHTTPServer written in Go, enhanced with features and with a nice design

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Goshs

Plant
🌳 JS web server charged with WebAPI and neat HTTP2 support
Stars: ✭ 59 (-19.18%)
Mutual labels:  server
Mbtiles Server
Provides a compatible WMTS Tile Server from MBTiles.
Stars: ✭ 64 (-12.33%)
Mutual labels:  server
Cross Platform Node Guide
πŸ“— How to write cross-platform Node.js code
Stars: ✭ 1,161 (+1490.41%)
Mutual labels:  server
Ins sandstorm
[INS] Config setting for our sandstorm server
Stars: ✭ 61 (-16.44%)
Mutual labels:  server
Oicq
🐧 一款使用 Java θ―­θ¨€ηΌ–ε†™ηš„δ»Ώ QQ 聊倩ε·₯ε…·
Stars: ✭ 64 (-12.33%)
Mutual labels:  server
Featureserver
An open source Geoservices Implementation
Stars: ✭ 66 (-9.59%)
Mutual labels:  server
Hedwig
Send email to any SMTP server like a boss, in Swift and cross-platform
Stars: ✭ 1,096 (+1401.37%)
Mutual labels:  server
Socketcluster Server
Minimal server module for SocketCluster
Stars: ✭ 70 (-4.11%)
Mutual labels:  server
Generator Swiftserver
WARNING: This repository is no longer maintained
Stars: ✭ 64 (-12.33%)
Mutual labels:  server
Caddy V1 Service
⬛️ Run Caddy as a service
Stars: ✭ 69 (-5.48%)
Mutual labels:  server
Gophergameserver
πŸ† Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (-16.44%)
Mutual labels:  server
Webpack Serve
Repository has moved:
Stars: ✭ 1,125 (+1441.1%)
Mutual labels:  server
Phoss Smp
phoss SMP - a PEPPOL and OASIS BDXR SMP Server, CEF eDelivery compliant
Stars: ✭ 66 (-9.59%)
Mutual labels:  server
Zinc
Zinc HTTP Components is an open-source Smalltalk framework to deal with the HTTP networking protocol.
Stars: ✭ 60 (-17.81%)
Mutual labels:  server
Rboxlo
Roblox private server
Stars: ✭ 69 (-5.48%)
Mutual labels:  server
Rnl
RNL - Realtime Network Library - The opensource reliable UDP network library
Stars: ✭ 59 (-19.18%)
Mutual labels:  server
React
Smart Server Performance
Stars: ✭ 65 (-10.96%)
Mutual labels:  server
Oragono
A modern IRC server (daemon/ircd) written in Go.
Stars: ✭ 1,171 (+1504.11%)
Mutual labels:  server
Welder
πŸ‘¨β€πŸ­Set up your Linux server with plain shell scripts
Stars: ✭ 1,167 (+1498.63%)
Mutual labels:  server
Spring Server
A framework that enables the swift creation of client-server applications.
Stars: ✭ 68 (-6.85%)
Mutual labels:  server

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.

goshs-screenshot

Features

  • Download or view files
    • Bulk download as .zip file
  • Upload files
  • Basic Authentication
  • Transport Layer Security (HTTPS)
    • self-signed
    • provide own certificate
  • Non persistent clipboard
    • Download clipboard entries as .json 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

Build yourself

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

Usage

Usage: goshs [options]

Web server options:
	-i	The ip to listen on	(default: 0.0.0.0)
	-p	The port to listen on	(default: 8000)
	-d	The web root directory	(default: current working path)

TLS options:
	-s	Use TLS
	-ss	Use a self-signed certificate
	-sk	Path to server key
	-sc	Path to server certificate

Authentication options:
	-P	Use basic authentication password (user: gopher)

Misc options:
	-v	Print the current goshs version

Usage examples:
	Start with default values:		./goshs
	Start with different port:		./goshs -p 8080
	Start with self-signed cert:	./goshs -s -ss
	Start with custom cert:			./goshs -s -sk <path to key> -sc <path to cert>
	Start with basic auth:			./goshs -P $up3r$3cur3

Examples

Serve from your current directory

goshs

Serve from another directory

goshs -d /path/to/directory

Serve from port 1337

goshs -p 1337

Password protect the service

goshs -P VeryS3cureP4$$w0rd

Please note: goshs uses HTTP basic authentication. It is recommended to use SSL option with basic authentication to prevent from credentials beeing transfered in cleartext over the line. User is gopher.

Use TLS connection

Self-Signed

goshs -s -ss

Provide own certificate

goshs -s -sk server.key -sc server.crt

Credits

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

Tutorial Series

I wrote several blog posts how and why I implemented all of this. You can find it here if you are interested about the technical background.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].