Интересный проект, написанный на Go Minecraft Scanner , который серфит Интернет на наличие открытых серверов Minecraft.
Библиотека-оболочка masscan, используемая в этом проекте в настоящее время, не поддерживает исключение IP-адресов и, следовательно, не поддерживает сканирование диапазона 0.0.0.0/0.
Переменные среды
Кроме адресов, все остальные значения можно настроить в .env.
Для начала просто переименуйте .env.example в .env и измените значения.
Докер
Самый простой способ запустить этот проект — использовать Docker:
docker compose up
Компиляция и запуск вручную
Компиляция и запуск вручную
Простой способ
Этот проект содержит жестко закодированные IP-адреса, которые Go позволяет нам изменять во время компиляции.
Если вы используете Redis и Mongo на локальном хосте и порте по умолчанию, вы можете запустить make all, чтобы скомпилировать все.
Чтобы скомпилировать только сканер или только воркер, вы можете запустить make scan или make server соответственно.
Более сложный способ
Если вам нужно изменить какие-либо адреса сканнирования, вы можете использовать следующие команды для компиляции:
go build -o worker -ldflags='-X main.redisAddr=<redis_address>:<redis_port> -X main.mongoAddr=<mongo_address>:<mongo_port>' worker/worker.go
Сканер
go build -o scan -ldflags='-X main.redisAddr=<redis_address>:<redis_port>' main.go
Код main: