comproxity

Crates.iocomproxity
lib.rscomproxity
version0.1.0-alpha.2
sourcesrc
created_at2022-10-30 04:08:34.561502
updated_at2022-10-30 15:22:52.895685
descriptionSimple Proof of Work (PoW) HTTP proxy
homepagehttps://progrm-jarvis.ru/comproxity
repositoryhttps://github.com/JarvisCraft/comproxity/
max_upload_size
id701340
size71,596
Petr Portnov | PROgrm_JARvis (JarvisCraft)

documentation

README

comproxity

Simple Proof of Work (PoW) HTTP proxy

         __
 _(\    |@@|
(__/\__ \--/ __
   \___|----|  |   __
       \ }{ /\ )_ / _\
       /\__/\ \__O (__
      (--/\--)    \__/
      _)(  )(_
     `---''---`

Algorithm

Request attempt:

sequenceDiagram
    Client ->>+ Comproxity: request
    alt Has token
        Comproxity ->>+ Server: Request
        Server ->>- Comproxity: Response
        Comproxity ->> Client: Response
    else
        Comproxity ->>- Client: Redirect to verification, put nonce and request ID into Cookies
    end

Verification process:

sequenceDiagram
    Client ->>+ Verifier: Initial request
    Verifier ->>- Client: Verification UI
    Note right of Client: Performs computationally complex task
    Client ->>+ Verifier: Answer
    alt Correct Answer
        Verifier ->> Client: Redirect by request ID with signed token put into Cookies
    else
        Verifier ->>- Client: Retry verification
    end

Credits

ASCII arts for this README and default HTML pages are taken from ASCII Art Archive.

Commit count: 6

cargo fmt