A simple file server written in Go. Allows files to be uploaded, downloaded, or deleted.

Go File Server

This is a simple file server written in Go. Have you ever wanted to transfer files between computers on the same LAN? Simply run this program, give it a directory of files to serve, and navigate to the IP address and port number in the other computer's web browser to download, upload, or delete files.

Note, folders can only be deleted if empty.

WARNING

This program does not have TLS or authentication yet so anyone on the LAN or network can download, delete, or manipulate your files as well as upload malicious files to the computer running this program. Only use on a secure or trusted network. Adding TLS and simple authentication are in the works.

Defaults

Default settings are to serve on all public IP's (0.0.0.0) on port 8080. Can be changed with command line arguments

Usage

Install Go and download this repository

Unzip the files and change into the cmd directory

cd ./cmd

Build the program

go build main.go

Run the program with --help to see available options

./main --help

Serve up a directory of files

./main /home/user/files

Mini

The mini directory contains a simplified version of this program that is a single Go file. The mini version does not depend on templates or CSS files. It operates the same way, it is just more portable.

cd into mini directory

cd ./mini

Build it

go build ./mini.go

Get help

./mini --help

Or start serving files

./mini /home/user/files

Contributing

Pull requests, new feature suggestions, and bug reports/issues are welcome.

License

This project is licensed under the 3-Clause BSD License also known as the "New BSD License" or the "Modified BSD License". A copy of the license can be found in the LICENSE file. A copy can also be found at the Open Source Institute

Similar Resources

Go web server - A web server that can accept a GET request and serve a response.

go_web_server A web server that can accept a GET request and serve a response. Go is a great language for creating simple yet efficient web servers an

Jan 3, 2022

An XMPP server written in Go (Golang).

jackal An XMPP server written in Go. About jackal is a free, open-source, high performance XMPP server which aims to be known for its stability, simpl

Dec 29, 2022

High-performance PHP application server, load-balancer and process manager written in Golang

High-performance PHP application server, load-balancer and process manager written in Golang

[RR2-BETA] RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports runnin

Jan 4, 2023

A push notification server written in Go (Golang).

A push notification server written in Go (Golang).

A push notification micro server using Gin framework written in Go (Golang)

Jan 9, 2023

⚡ A fast, lightweight, and secure chat protocol, client and server, written in Go.

⚡ A fast, lightweight, and secure chat protocol, client and server, written in Go.

Oct 27, 2022

Ciak is a lightweight media server written in go

 Ciak is a lightweight media server written in go

Ciak allows you to show and stream your personal media tv series, movies, etc with a simple and clean web ui. The server also provide on the fly video encoding in order to stream non standard formats such as avi, mkv...

Jan 3, 2023

A simple SHOUTcast server.

DudelDu DudelDu is a simple audio/video streaming server using the SHOUTcast protocol. Features Supports various streaming clients: VLC, ServeStream,

Nov 20, 2022

Heart 💜A high performance Lua web server with a simple, powerful API

Heart 💜A high performance Lua web server with a simple, powerful API

Heart 💜 A high performance Lua web server with a simple, powerful API. See the full documentation here. Overview Heart combines Go's fasthttp with Lu

Aug 31, 2022

KissLists is a very simple shared lists server

KissLists is a very simple shared lists server

KissLists is a very simple shared lists server. with mobile optimised design basic theme support websockets messages sqlite database but no

Nov 30, 2022
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams

rtsp-simple-server is a simple, ready-to-use and zero-dependency RTSP / RTMP server and proxy, a software that allows users to publish, read and proxy live video and audio streams. RTSP is a specification that describes how to perform these operations with the help of a server, that is contacted by both publishers and readers and relays the publisher's streams to the readers.

Dec 31, 2022
Minimal HTTP File Server for pentesting written in Go
Minimal HTTP File Server for pentesting written in Go

Golang implementation of simple HTTP server with upload feature.

Aug 4, 2022
A simple HTTP Server to share files over WiFi via Qr Code
A simple HTTP Server to share files over WiFi via Qr Code

go-fileserver A simple HTTP server to share files over WiFi via QRCode Installation You can download compressed version from

Oct 8, 2022
a simple http server as replacement of python -m http.server

ser a simple http server as replacement of python -m http.server

Dec 5, 2022
Simple HTTP server written in golang

Simple HTTP server written in golang Simple webserver in golang, to demonstrate basic functionalities like e.g. sending back some request header info,

Aug 31, 2022
Go-simplehttp - Simple HTTP server written in golang

Simple HTTP server written in golang Simple webserver in golang, to demonstrate

Jan 1, 2022
A simple http-web server logging incoming requests to stdout with simple http-interface.
A simple http-web server logging incoming requests to stdout with simple http-interface.

http-cli-echo-logger A simple http-web server logging incoming requests to stdout with simple http-interface. Run locally go run ./cmd/main.go Default

Jul 18, 2022
OpenAPI specs for your Go server, generated at server runtime. No CLI, no code generation, and no HTTP

Overview "oas" is short for "OpenAPI Spec". Go package for generating OpenAPI docs at runtime. Non-features: No code generation. No CLI. No magic comm

Dec 3, 2021
A Language Server Protocol (LSP) server for Jsonnet

Jsonnet Language Server A Language Server Protocol (LSP) server for Jsonnet. Features Jump to definition self-support.mp4 dollar-support.mp4 Error/War

Dec 14, 2022