From 084ea8e412e21374c86527bd51cc2c9d53900815 Mon Sep 17 00:00:00 2001 From: William Petit Date: Mon, 24 Apr 2023 20:52:12 +0200 Subject: [PATCH] feat: initial commit --- README.md | 7 +++++++ misc/logo/bouncer.png | Bin 0 -> 32475 bytes misc/logo/bouncer.svg | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 README.md create mode 100644 misc/logo/bouncer.png create mode 100644 misc/logo/bouncer.svg diff --git a/README.md b/README.md new file mode 100644 index 0000000..c846ae6 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +

+ +

+ +# Bouncer + +Serveur mandataire inverse (_"reverse proxy"_) filtrant avec gestion de files d'attente dynamiques. diff --git a/misc/logo/bouncer.png b/misc/logo/bouncer.png new file mode 100644 index 0000000000000000000000000000000000000000..7134d3c000a58977efad87dfb3257bacd58b697d GIT binary patch literal 32475 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 + + +