Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
iWant — Инструмент командной строки для поиска и скачивания файлов в локальной сети без какого-либо центрального сервера | Kitploit
Инструменты/GitHubGitHub/nirvik/iwant
Утилиты общего назначения
GitHubnirvik/iwant

iWant

Инструмент командной строки для поиска и скачивания файлов в локальной сети без какого-либо центрального сервера

Репозиторий
295206 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

iWant

CLI-инструмент для децентрализованного обмена файлами между пирами

Статус сборки

Build Status

Что это?

Инструмент командной строки для поиска и загрузки файлов в локальной сети без центрального сервера.

Возможности

  • Децентрализация: Нет центрального сервера, хранящего файлы. Следовательно, нет единой точки отказа.
  • Простой поиск файлов: Так же легко, как искать что-то в Google.
  • Загрузка файлов от нескольких пиров: Если сидер выходит из группы, личер продолжит загрузку от другого сидера в сети.
  • Загрузка каталогов: Поддерживается загрузка каталогов.
  • Докачка: Возможность продолжить загрузку с места остановки.
  • Согласованность данных: Любые изменения (изменение, удаление, добавление) файлов в общей папке мгновенно отражаются в сети.
  • Кроссплатформенность: Работает на Linux/Windows/Mac. Требуется дополнительное тестирование на Mac.

Зачем я это сделал?

  • Мне нравится идея ввести имя файла в терминале и скачать его, если у других он есть.
  • Никакой регистрации у третьих лиц.
  • Никаких безумных настроек.
  • Хотел, чтобы это было кроссплатформенно.
  • Ноль времени простоя.
  • Никакого браузера... только терминал.
  • Ради развлечения ¯\(ツ)/¯

Установка

root@kitploit:~
pip install iwant

Или, если скачиваете из исходников:

root@kitploit:~
python setup.py install --user

Системные зависимости

Убедитесь, что у вас установлены следующие системные зависимости:

  • libffi-dev
  • libssl-dev

Использование

root@kitploit:~
iWant.

    Инструмент командной строки для поиска и загрузки файлов в локальной сети без центрального сервера.


Использование:
    iwanto start
    iwanto search <name>
    iwanto download <hash>
    iwanto share <path>
    iwanto download to <destination>
    iwanto view config
    iwanto --version

Параметры:
    -h --help                           Показать этот экран.
    --version                           Показать версию.
    start                               Запускает сервер iwant в вашей системе.
    search <name>                       Поиск файлов в сети. Пример: iwanto search batman
    download <hash>                     Загружает файл из сети.
    share <path>                        Изменить общую папку.
    view config                         Просмотр общей папки и папки загрузки.
    download to <destination>           Изменить папку загрузки.

Примечание: общая папка и папка загрузки не могут совпадать.

Как запустить

Запустите iwanto start (это запускает службу iwant).

Запуск клиента

Чтобы использовать такие функции, как поиск, загрузка, просмотр конфигурации и изменение конфигурации, откройте другой терминал и убедитесь, что сервер iwant запущен.

Запуск сервера

В Windows для запуска сервера требуются права администратора.

root@kitploit:~
iwanto start

alt text

Поиск файлов

Введите имя файла ;) (P.S. Точное имя не требуется)

root@kitploit:~
iwanto search <filename>

Пример:

root@kitploit:~
iwanto search "slicon valey"

alt text

Загрузка файлов

Чтобы загрузить файл, просто введите хеш файла, полученный после поиска.

root@kitploit:~
iwanto download <hash of the file>

Пример:

root@kitploit:~
iwanto download b8f67e90097c7501cc0a9f1bb59e6443

alt text

Изменение общей папки

Измените общую папку в любое время (даже когда служба iwant запущена).

root@kitploit:~
iwanto share <path>

Пример:

root@kitploit:~
iwanto share /home/User/Movies/

В Windows используйте кавычки:

root@kitploit:~
iwanto share "C:\Users\xyz\books\"

alt text

Изменение папки загрузки

Измените папку загрузки в любое время.

root@kitploit:~
iwanto download to <path>

Пример:

root@kitploit:~
iwanto download to /home/User/Downloads

В Windows используйте кавычки:

root@kitploit:~
iwanto download to "C:\User\Downloads"

Просмотр общей папки и папки загрузки

root@kitploit:~
iwanto view config

Как это работает?

Как только программа запускается, она порождает демон выборов, демон мониторинга папок и демон сервера.

  1. Демон выборов отвечает за следующие действия:

    • Управляет консенсусом.
    • Уведомляет демона сервера о смене лидера.
    • Координирует действия с другими пирами в сети по вопросам выборов, недоступности лидера, сбоев сети, ситуации «split brain» и т.д.
    • Использует multicast для обнаружения пиров. Описание консенсуса приведено здесь.
  2. При запуске демона мониторинга папок выполняются следующие шаги:

    • Индексируются все файлы в общей папке.
    • Обновляются записи в базе данных.
    • Сервер уведомляется о проиндексированных файлах и папках.
    • Любые изменения в общей папке запускают демон мониторинга папок для индексации изменённых файлов, обновления базы данных и последующего уведомления сервера об изменениях.
  3. Клиент iwant взаимодействует с демоном сервера, когда пользователь хочет:

    • искать файлы;
    • загружать файлы;
    • изменить общую папку;
    • изменить папку загрузки.
  4. Демон сервера получает команды от клиента iwant и обновления от демона мониторинга файлов и демона выборов:

    • Обновления, полученные от демона мониторинга папок, передаются лидеру. Например, информация о проиндексированных файлах/папках.
    • Обновления, полученные от демона выборов, такие как событие leader change, инициируют отправку сервером информации о проиндексированных файлах/папках новому лидеру.
    • Запросы, полученные от клиента iwant, такие как file search, передаются лидеру, который выполняет нечёткий поиск по метаданным, полученным от других пиров, и возвращает список, содержащий (имя файла, размер, контрольную сумму).
    • Запросы, полученные от клиента iwant, такие как file download, передаются лидеру, который передаёт корневой хеш файла/папки вместе со списком пиров, у которых есть этот файл. затем инициирует процесс загрузки с пирами, указанными в списке.

Список задач

  • Внедрить жёсткие механизмы безопасности.
  • Добавить поддержку Python3.
  • Добавить предварительный просмотр видео.
  • Добавить функцию потоковой передачи.
  • Добавить базовую поддержку NAT traversal.
  • Создать тестовые модули.
  • Улучшить пользовательский интерфейс индикатора прогресса загрузки файлов/папок.

Почему это может не работать?

  • Брандмауэр.
  • В вашем маршрутизаторе не поддерживается multicast.

Ошибки

Все журналы находятся в ~/.iwant/.iwant.log или AppData\Roaming\.iwant\.iwant.log.

Понравился проект?

Say Thanks! Если есть идеи, ошибки или нужны доработки, смело отправляйте мне PR :)

Скачать инструмент
Демон сервера
  • Обновления, полученные от клиента iwant, такие как changing shared folder, инициируют демона сервера убедиться, что демон мониторинга папок проиндексировал новую папку, и после завершения индексации демон сервера обновляет лидера новой информацией о проиндексированных файлах/папках.