iWant — приложение командной строки для децентрализованного однорангового обмена файлами
Некоторое время назад мы рассмотрели две утилиты для обмена файлами: transfer.sh — бесплатную веб-службу, позволяющую легко и быстро обмениваться файлами через Интернет, и PSiTransfer простое решение для совместного использования файлов с открытым исходным кодом. Сегодня мы увидим еще одну утилиту для обмена файлами под названием "iWant". Это бесплатное децентрализованное одноранговое приложение для обмена файлами на основе CLI с открытым исходным кодом.
Что отличает его от других приложений для обмена файлами? Вы можете задаться вопросом. Вот некоторые характерные особенности iWant.
- Это приложение командной строки. Вам не нужны никакие утилиты с графическим интерфейсом, потребляющие память. Вам нужен только Терминал.
- Он децентрализован. Это означает, что ваши данные не будут храниться в каком-либо центральном месте. Таким образом, центральной точки отказа не существует.
- iWant позволяет вам приостановить загрузку и возобновить ее позже, когда захотите. Вам не нужно загружать его с самого начала, он просто возобновляет загрузку с того места, где вы остановились.
- Любые изменения, внесенные в файлы в общем каталоге (например, удаление, добавление, изменение), будут мгновенно отражены в сети.
- Как и торренты, iWant загружает файлы с нескольких узлов. Если какой-либо сидатор покинул группу или не ответил, он продолжит загрузку с другого сидера.
- Он кроссплатформенный, поэтому вы можете использовать его в GNU/Linux, MS Windows и Mac OS X.
Установите iWant, приложение для однорангового обмена файлами
iWant можно легко установить с помощью менеджера пакетов PIP. Убедитесь, что в вашем дистрибутиве Linux установлен pip. если он еще не установлен, обратитесь к следующему руководству.
- Как управлять пакетами Python с помощью Pip
После установки PIP убедитесь, что вы установили следующие зависимости:
- libffi-dev
- libssl-dev
Скажем, например, в Ubuntu вы можете установить эти зависимости с помощью команды:
sudo apt-get install libffi-dev libssl-dev
После установки всех зависимостей установите iWant, используя следующую команду:
sudo pip install iwant
Теперь в нашей системе есть iWant. Давайте продолжим и посмотрим, как использовать его для передачи файлов по сети.
Делитесь файлами с помощью iWant
Сначала запустите сервер iWant с помощью команды:
iwanto start
В первый раз iWant спросит расположение папок «Общий доступ» и «Загрузки». Введите фактическое расположение обеих папок. Затем выберите, какой сетевой интерфейс вы хотите использовать.
Пример вывода будет:
Shared/Download folder details looks empty..
Note: Shared and Download folder cannot be the same
SHARED FOLDER(absolute path):/home/sk/myshare
DOWNLOAD FOLDER(absolute path):/home/sk/mydownloads
Network interface available
1. lo => 127.0.0.1
2. enp0s3 => 192.168.43.2
Enter index of the interface:2
now scanning /home/sk/myshare
[Adding] /home/sk/myshare 0.0
Updating Leader 56f6d5e8-654e-11e7-93c8-08002712f8c1
[Adding] /home/sk/myshare 0.0
connecting to 192.168.43.2:1235 for hashdump
Если вы видите результат, подобный приведенному выше, вы можете сразу начать использовать iWant.
Аналогичным образом запустите службу iWant на всех системах в сети, назначьте допустимое расположение папок «Общий доступ» и «Загрузки» и выберите сетевую карту.
Служба iWant будет работать в текущем окне терминала до тех пор, пока вы не нажмете CTRL+C, чтобы закрыть ее. Чтобы использовать iWant, вам нужно открыть новую вкладку или новое окно терминала.
Использование iWant очень просто. Он имеет несколько команд, перечисленных ниже.
- iwanto start - запускает сервер iWant.
- iwanto search
- поиск файлов. - iwanto download
- скачать файл. - iwanto поделиться
- изменить расположение общей папки. - iwanto download to
- измените местоположение папки загрузки. - iwanto view config - просмотр общих папок и папок загрузки.
- iwanto --version - отображает версию iWant.
- iwanto -h - отображает раздел справки.
Позвольте мне показать вам несколько примеров.
Поиск файлов
Чтобы найти файл, запустите:
iwanto search <filename>
Обратите внимание, что точное имя указывать не нужно.
Пример :
iwanto search command
Приведенная выше команда будет искать любые файлы, содержащие строку «команда».
Пример вывода из моей системы Ubuntu:
Filename Size Checksum
------------------------------------------- ------- --------------------------------
/home/sk/myshare/THE LINUX COMMAND LINE.pdf 3.85757 efded6cc6f34a3d107c67c2300459911
Загрузить файлы
Вы можете загружать файлы из любой системы в вашей сети. Чтобы загрузить файл, просто укажите хэш (контрольную сумму) файла, как показано ниже. Вы можете получить хэш-значение общего ресурса, используя команду «iwanto search».
iwanto download efded6cc6f34a3d107c67c2300459911
Файл будет сохранен в папке для загрузки (в моем случае /home/sk/mydownloads/).
Filename: /home/sk/mydownloads/THE LINUX COMMAND LINE.pdf
Size: 3.857569 MB
Просмотр конфигурации
Чтобы просмотреть конфигурацию, то есть папки «Общие» и «Загрузки», запустите:
iwanto view config
Пример вывода:
Shared folder:/home/sk/myshare
Download folder:/home/sk/mydownloads
Изменить расположение общих папок и папок загрузки
Вы можете изменить расположение общей папки и папки загрузки на другой путь, как показано ниже.
iwanto share /home/sk/ostechnix
Теперь общее местоположение изменено на /home/sk/ostechnix location.
Также вы можете изменить местоположение загрузок с помощью команды:
iwanto download to /home/sk/Downloads
Чтобы просмотреть внесенные изменения, выполните команду config:
iwanto view config
Остановить iWant
Закончив работу с iWant, вы можете выйти из него, нажав CTRL+C.
Если он случайно не работает, возможно, это связано с брандмауэром или вашим маршрутизатором, который не поддерживает многоадресную рассылку. Вы можете просмотреть все журналы в файле ~/.iwant/.iwant.log. Более подробную информацию можно найти на странице проекта на GitHub, представленной ниже.
Ресурс:
- Репозиторий iWant на GitHub