О Zoom в вебинарах Discourse (и плагинах)

Продолжаем обсуждение из Вебинар: Познакомьтесь с командой проектов клиентов Discourse:

Я просто хотел поделиться тем, что, к сожалению, эта проблема не прекратилась, а, напротив, усугубляется с каждым днем. Я согласен, что торговые соглашения должны существовать, и моя цель здесь не в том, чтобы обсуждать их, так как я не тот человек, который должен это делать, а скорее в том, чтобы скромно попросить о поддержке безопасных платформ в основной разработке Discourse.

Интеграция Zoom в Livestream и другие плагины действительно необходима для проведения регулярных встреч между пользователями, и сегодня она ограничена и является эксклюзивной для платформы, которую многие не используют из-за бесчисленных инцидентов, делающих ее небезопасной и нежизнеспособной опцией.

Я заметил сегодня, что обновление Linux-клиента Zoom привело к тому, что он начал проактивно читать все, что записывается в буфер обмена X11.

Если вы храните в буфере обмена интересные секреты — особенно если менеджер паролей использует его как средство передачи пароля туда, где он нужен, — это может быть то, о чем вам нужно знать!

Это Linux Zoom 7.1.5. Раньше у меня был установлен 6.6, который так не делал.

Кажется, он обращает внимание только на выборку CLIPBOARD — ту, с UX в стиле Windows, в которую вы обычно явно копируете с помощью сочетания клавиш, такого как ^C, и вставляете из нее с помощью ^V (или аналогичного). Он не смотрит на PRIMARY, выборку, используемую для традиционного копирования-вставки X11 «просто выделить в этом окне, затем щелкнуть средней кнопкой мыши в другом».

Похоже, он отслеживает изменения буфера обмена через расширение XFIXES, и каждый раз, когда буфер обмена захватывается новым владельцем, он немедленно отправляет этому клиенту запрос на вставку.

Я заметил это, потому что активно использую инструмент «одноразовой вставки», который выполняет один запрос на вставку, а затем завершает работу. Удобно для заполнения множества полей веб-формы — выстраиваете очередь вставок нескольких разных вещей, затем переходите к каждому полю формы по очереди и просто нажимаете вставку, бам, бам, бам. Но сегодня, после apt update, это не работает: мой инструмент одноразовой вставки завершается сразу после запуска, потому что (я выяснил после некоторой отладки) Zoom всегда запрашивает вставку немедленно.

(Постоянные читатели могут помнить, что примерно в это время прошлого года я поймал Slack за чем-то похожим, но только когда фокус переходил в окно Slack, и, кроме того, у них была опция конфигурации для отключения этого. Инструмент одноразовой вставки кажется хорошим способом заметить странные вещи, происходящие в X-сервере!)

Механизм выбора X11 работает так, что каждый раз, когда приложение хочет вставить, оно связывается с текущим владельцем выбора и просит его отправить данные.

Это позволяет выполнять некоторые забавные трюки, например, писать клиент выбора, который всегда вставляет текущее время, а не время, когда буфер обмена был (логически говоря) записан. Но это также означает, что приложение, владеющее выбором, знает, когда кто-то вставляет из него, и может делать что-то в ответ.

Инструмент одноразовой вставки — это вещь, которая запускается, заявляет права на буфер обмена, ждет, пока получит и выполнит один запрос на вставку, а затем немедленно завершает работу.

Как выясняется, я использую один, который написал сам. Но другие тоже существуют. Один из них уже доступен в Debian и Ubuntu — это ‘xclip’. Если вы сделаете это …

sudo apt install xclip # если у вас еще не установлен
echo -n foo | xclip -selection primary -loop 1 -verbose

… Тогда щелчок средней кнопкой мыши в другом окне должен вызвать две вещи. Во-первых, он вставит ‘foo’. Но также инструмент xclip завершится, и приглашение вашей оболочки вернется в первом терминале.

Если вы используете ‘-selection clipboard’ вместо ‘-selection primary’, то он запишет в другой буфер обмена, тот, из которого обычно вставляют с помощью ^V или аналогичного. За исключением того, что если вы запускаете Zoom 7.1.5 на том же X-сервере, он не будет ждать, пока вы намеренно вставите что-то — он завершится немедленно, потому что уже получил запрос на вставку от Zoom!