Неужели твой код так быстро работает? Быстрее, чем существующие популярные аналоги?)
Как я понял, основной подход, описанный в данной статье, в ускорении работы программы, заключается в распараллеливании. Честно говоря, это очень сомнительная идея, учитывая, что Python - плохое решение для использования многопоточности с целью решение задач по ускорению выполнения. Причем многие комментарии, а также огромное количество статей в интернете от мастодонтов программирования, говорят об обратном эффекте использования многопоточности в Python проектах)
В основном, если опускаться до привитивизма, многопоточность используется для решения двух задач:
- Ускорение вычислений путём распараллеливания выполнения, задействуя вычислительные ресурсы ЭВМ;
- Абстрагирование действий пользователя и внутренних процессов программы. Примером решения подобной задачи является любое GUI-приложение.
Многопоточность в Python годится только для выполнения второй задачи, но никак не для ускорения работы выполнения (вычислений, в том числе сканирования). Конечно, есть хитрости, к примеру, некоторые библиотеки для Python вроде PyTorch (если не ошибаюсь с примером) скомпилированна JIT'ом, что позволяет ей работать, не обращая внимания на GIL. Однако в твоём коде никаких подобных хитростей я не заметил)
И так подведу вывод! При всем уважении к стараниям автора, мне статья совсем не понравилась. Вообще не понятно для чего она написана? Какую задачу/проблему решает или освещает? В чем реальные плюсы твоего подхода? Где результаты сравнений с другими сканерами? И самое главное - а почему пользователи должны скачивать именно твою программу, а не тот же самый NMAP?)
На эти вопросы я не нашел ответов в статье, более того у меня еще больше вопросов по самому коду

Автору удачи в начинаниях!