nothingofvalue

package module
v0.0.0-...-f1e5982 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2025 License: GPL-2.0 Imports: 22 Imported by: 0

README

nothingofvalue - a webserver of least possible value

Nothing of value is here.

A self-contained webserver which strives to be of as little use as possible, as a musing on the modern zombie internet, where any webserver sees a constant background noise of malicious traffic punctuated by aggressive scrapers.

Serves a single homepage of no great value, a /robots.txt forbidding all robotic crawls other than that homepage, and on all other possible URLs serves content of the least productive value possible, while keeping locally-consumed resources modest.

Not an infinitely-recursrive content tarpit (I wrote one of those too for spambots many years ago if you need one, and there are many more now aimed at poisoning abusive AIs); nothing the server offers encourages more requests, but it does aim to respond to every request in the least helpful way possible.

Notable valueless offerings include decompression bombs for common image codecs and transport encodings, exponentially self-expanding markup language documents, made-up credentials, and similar.

Usage:

  go run main/main.go --listen=localhost:8080

Demo:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler struct {

	// Limit to how many slow responses can be outstanding at a time.  Beyond
	// this limit, requests eligible for slow responses will receive fast empty
	// ones instead.
	SlowResponseLimit int32

	// How long to spend issuing a slow response.
	SlowResponseDeadline time.Duration
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler() *Handler

func (*Handler) AddReporter

func (h *Handler) AddReporter(r reporter.Reporter)

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type TarpitWriter

type TarpitWriter struct {
	// contains filtered or unexported fields
}

func (*TarpitWriter) Write

func (tw *TarpitWriter) Write(p []byte) (n int, err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL