Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

zaz600/brute-force-protector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tests Go Report Card

Проектная работа - Bruteforce Protector Service

Сборка и тестирование

  • make run - сборка и запуск докер образа с сервером. Запуск осуществляется в фоне.
  • make run-log - сборка и запуск докер образа с сервером. Не отсоединяется от консоли.
  • make stop - остановка докер образа
  • make build - сборка сервера и клиента
  • make build-server - сборка сервера
  • make build-cli - сборка клиента
  • make lint - запуск линтера
  • make test - запуск юнит-тестов
  • make release - сборка клиента, сервера, запуск тестов и линтера
  • make generate - генерация protobuf/grpc
  • make itest - запуск интеграционных тестов в докере.
  • make itest-stop - удаление контейнеров, используемых для запуска интеграционных тестов.

Проверить работу сервиса можно запуском интеграционных тестов:

  • Убедиться, что у вас установлен docker и docker-compose
  • Убедиться, что у вас MacOS/Linux
  • Запустить make itest

bp-cli

bp-cli - CLI для Bruteforce Protector.

Адрес сервера (опционально) указывается при помощи ключа -server 127.0.0.1:50051, который можно добавить к командам.

Список команд

  • bp-cli help - справка по использованию.
  • bp-cli blacklist add <network> - добавление подсети в черный список.
  • bp-cli blacklist remove <network> - удаление подсети из черного списка.
  • bp-cli blacklist show - вывод содержимого черного списка.
  • bp-cli whitelist add <network> - добавление подсети в белый список.
  • bp-cli whitelist remove <network> - удаление подсети из белого списка.
  • bp-cli whitelist show - вывод содержимого белого списка.
  • bp-cli reset login <login> - сброс лимита для логина.
  • bp-cli reset ip <ip> - сброс лимита для IP.

Roadmap

  • IP access list
  • sliding window rate limiter
  • bruteforce protector service methods
  • persistent storage (MongoDB/Redis)
  • grpc api .proto
  • grpc server
  • bruteforce protector cli (grpc)
  • ctx
  • logger
  • tests
  • Makefile
  • Docker