tgarl, просто использовать register_next_step_handle в зависимости от введённого текста и следующий ввод пользователя попадёт в другой обработчик. После получения имени вызвать cancel_step_handler и обработчик следующего сообщения будет тот, что по умолчанию.
Komrus, да, тоже иногда ловим нюансы и даже обсуждали несколько раз переход на что-нибудь коммерческое. Но эти неприятности мелкие и мешают редко. Не сравнится с Rocket.Chat, который своими глюками и вытеканиями памяти уже порядком достал (уже даже было две провалившихся попытки с него перейти на что-нибудь ещё)
2. Имеет мобильные приложения и работает из браузеров на десктопах
3. Ничего не требует. Но можно накрутить, например, приделать логин через юзеров в AD. В нашей компании его настроили так, что организатор встречи должен для её начала быть залогинен, а при его присутствии можно к встрече присоединиться и гостем.
4. Пункт 4 съели рептилоиды.
5. Да, Jitsi в браузере позволяет транслировать экран
Подводные камни бывают, конечно, например:
1. Несколько десятков юзеров ещё потянет, несколько сотен уже вряд ли (смотрите сколько у вас там народу планируется). На официальном публичном сервере вроде бы лимит 75 юзеров на комнату.
2. Бывают проблемы со звуком, когда одного человека не слышат, которые обычно решаются перезаходом говорящего. В частности, есть случаи, когда именно первому зашедшему во встречу потом приходилось перезаходить, так как его не слышал никто.
3. Лет 5 назад были какие-то хроничекие проблемы с браузером Safari, может сейчас нет. Тогда решалось использованием на маке другого браузера.
AuthorOfTheQuestion, даже если сегодня утром ещё нет вируса, который умеет понимать, что что он запущен wine, и затем внедрять в систему вирус для Linux со своим запуском через systemd - нельзя уверенно сказать, что сегодня же вечером его всё ещё не появится.
Контора в Израиле тут ни при чём. Можно много гадостей пользователю сделать, вообще не используя никаких уязвимостей. Вирус-шифровальщик успешно изгадит даже из wine, ничего в систеем не взлмаывая.
Плюс CHR чаще всего запускают в виртуалке. Если надо прям очень производительный Linux-роутер, то Linux поднимают на железе, в том числе в контейнере, позволяя использовать остальные ресурсы сервера для чего-то ещё. А с CHR не очень это получится, будет целый сервер только под роутер.
AuthorOfTheQuestion,
1. Будут доступны другие хосты в сети. В том числе и хост-система, с которой запущена эта виртуалка. В случае установки guest additions, также домашний каталог пользователя на хост-системе будет доступен в виртуалке (по крайней мере в конфигурации по умолчанию).
2. Вирус сможет вести деструктивную деятельность с IP-адреса пользователя, например, рассылать спам, подбирать пароли итд. В том числе пользователь тоже может испытать от этого проблемы. Например, его выкинет из любимых мессенджеров и возможно не даст так просто залогиниться заново.
Есть например fosscord и spacebarchat, которые пилят совместимый протокол. Но да, смысла нет повторять протокол, потому что и сервер, и клиент нужны свои собственные.
Никита, запретить скачивать по прямой ссылке не проблема. Это часто делают, например, для картинок - чтоб их не вставляли на суперпопулярные сайты и не создавали нагрузку миллионами запросов. Но помешать интересующемуся скачать файл это не помешает: он просто передаст в запросе все нужные параметры вручную и получит файл.
sysupgrade это прошива для обновления уже установленного openwrt изнутри openwrt. Как правило, её нельзя заливать никак иначе (хотя вроде в каких-то моделях роутеров через штатный механизм обновления в штатной прошивке даже прокатывает, но это редкие исключения).
Заливать надо firmware и при этом внимательно читать readme. Иногда бывают нюансы. Например, мне попадался роутер, в который надо было накатить новую штатную прошивку не ниже какой-то версии и только после этого лить openwrt, иначе - кирпич. Ещё бывает надо прошивать нестандартный загрузчик, потому что штатный не поддерживает нормально загрузку openwrt либо с ним любое неосторожное движение знаит кирпич, а продвинутый загрузчик позволяет это решить.
Также надо понимать, что конкретная сборка делается под конкретное устройство с его наличием и параметрами конкретных портов. На официально неподдерживаемую конфигурацию чаще всего получается фигня, с которой придётся разбираться, прицепившись к сериальной консоли. У меня есть один такой старый роутер, на него есть левая старая сборка LEDE, я пытался бэкпортировать патч от неё в новую версию openwrt, но сеть так и не поднималась, и до консоли я так и не добрался.
historydev, список юзеров со статусами захардкожен прямо в коде расширения. Мне тоже было когда-то интересно и я это выяснил. Скорее всего, автор расширения не очень активно обновляет этот список.
В UNIX-системах давным-давно есть утилита file, которая на основе библиотеки libmagic умеет по началу файла определять его тип. У неё большая база сигнатур, помогает при массовом разборе файлов. Например, я однажды разбирал lost+found, в который неудачно улетели сотни файлов, по сигнатурам разделил по каталогам и дальше уже думал как разбираться с контентом разных типов файлов.