Бонжур, примите файл!

На «Маке» есть «Бонжур» — протокол, позволяющий регистрировать сервисы и смотреть какие сервисы зарегистрированы в локальной сети. Удобная штука, через неё «Айтюнс» делится музыкой с соседями по локалке, через неё работает «Эйрдроп» — служба для быстрого обмена файлами на «Маке».

В общем, пришла мне в голову идея — нельзя ли как-то сделать подобие «Эйрдропа» на bash. Попробовал — получилась утилита «bonfile», состоящая из двух частей и использующая «Бонжур» для анонса и поиска.

Если её запустить без параметров, то она ждёт анонса специальной службы и, если находит, коннектится на указанный IP по порту 1111 и выдаёт переданный файл на экран. Если запустить с параметром, ожидается, что это имя файла для передачи, далее анонсируется служба, ожидается соединение на порт 1111 и туда выдаётся файл.

При передаче контролируется контрольная сумма (md5), а файл сжимается утилитой gzip. Для анонса и получения анонсированных служб используется утилита dns-sd, для передачи файла — netcat.
bash bonfile.sh > somefile # запуск клиента (ожидаем приём файла)
# или
bash bonfile.sh somefile # запуск сервера (ожидаем подключения клиента)
5 июля 2012 10:29

Lex Rivera (lex.io)
5 июля 2012, 16:43

"Bonjour" - не протокол. Это технология. Протокол - Zeroconf, который кстати помимо Mac OS X есть еще в Linux, BSD и Solaris. В общем почти во всех никсах (там софт Avahi называется)
А идея интересная.

bolk (bolknote.ru)
5 июля 2012, 17:06, ответ предназначен Lex Rivera (lex.io):

Bonjour is Apple Inc.'s trade name for its implementation of Zero configuration networking (Zeroconf)
Говорит нам Википедия: http://en.wikipedia.org/wiki/Bonjour_(software)
Зероконф — протокол, Бонжур — его реализация, отсюда: Бонжур — протокол.

Вот из русской Википедии (http://ru.wikipedia.org/wiki/Bonjour):
Bonjour (ранее: Rendezvous) — технология (и одноимённый программный модуль) Apple, применяемая, в частности, в Zeroconf, и представляющая собою протокол автоматического обнаружения сервисов (служб)

silent (инкогнито)
6 июля 2012, 01:15

В лапках только русское, так что «Бонфайл»!

bolk (bolknote.ru)
6 июля 2012, 06:12, ответ предназначен silent

Нет, в лапках не только русское, с чего бы.

Denis Ibaev (dionys.myopenid.com)
6 июля 2012, 09:14, ответ предназначен bolk (bolknote.ru):

Кавычки служат для смыслового выделения названия, в случае латиницы, это не обязательно, она и так выделяется. (Особенно если ещё и курсивом её писать, как это так же принято.)

bolk (bolknote.ru)
6 июля 2012, 11:02, ответ предназначен Denis Ibaev (dionys.myopenid.com):

Именно *не* *обязательно*, т.е. это допускается.

Denis Ibaev (dionys.myopenid.com)
7 июля 2012, 00:16, ответ предназначен bolk (bolknote.ru):

«Не обязательно» относилось к смысловому выделению, а не к простановке кавычек. А так, конечно, допускается, типографика достаточно гибкая.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)