An open API service indexing awesome lists of open source software.

https://github.com/fabiosantoscode/powproxy


https://github.com/fabiosantoscode/powproxy

Last synced: 10 months ago
JSON representation

Awesome Lists containing this project

README

          

# powproxy

Experimental reverse proxy that demands proof-of-work (in the form of an HTML file with a script tag that computes hashes) before it lets a request through.

The purpose is to deter DOS attacks by making them computationally expensive.

## How to run

- Start your server on localhost:8080. Requests that pass the challenge will be proxied there.
- Start `cargo run`, which will bind to localhost:3000
- Visit localhost:3000. The challenge page is blank but after a second or two, the challenge is solved by your browser and you can go through.

## Roadmap

- Only demand proof-of-work if enough requests per second are coming in
- Dynamically adjust difficulty according to how many requests did go through
- Research if it's possible to cheaply rate-limit requests after they're through the proxy
- Actually compute something useful