Bug 38473

Summary: Добавить название дистрибутива в строку User-Agent браузера
Product: Sisyphus Reporter: Andrey Cherepanov <cas>
Component: firefoxAssignee: Alexey Gladkov <legion>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aen, andropolon, glebfm, klark, ldv, legion, melnikov_eu, mike, rauty, rider, sbolshakov
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 38474, 38475    

Description Andrey Cherepanov 2020-05-13 09:28:30 MSK
Прошу добавить название дистрибутива в строку User-Agent браузера:
Было:
Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0

Хотелось бы:
Mozilla/5.0 (X11; ALT; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
Comment 1 Andrey Cherepanov 2020-05-13 09:42:58 MSK
В Fedora это делается патчем: https://src.fedoraproject.org/rpms/firefox/blob/master/f/firefox-fedora-ua.patch
Comment 2 Leonid Krivoshein 2020-05-13 13:55:08 MSK
ALT p9, ALT c8.1, может тогда уж? А то как определить, что за ALT?
Comment 3 Andrey Cherepanov 2020-05-13 14:10:55 MSK
(Ответ для Leonid Krivoshein на комментарий #2)
> ALT p9, ALT c8.1, может тогда уж? А то как определить, что за ALT?

Fedora версию не пишет.
Comment 4 Dmitry V. Levin 2020-05-13 14:15:15 MSK
(In reply to Andrey Cherepanov from comment #0)
> Прошу добавить название дистрибутива в строку User-Agent браузера:
> Было:
> Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
> 
> Хотелось бы:
> Mozilla/5.0 (X11; ALT; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0

А зачем?
Comment 5 Alexey Gladkov 2020-05-13 14:16:49 MSK
Отвечу тут сразу про chromium и firefox.

Я понимаю зачем это в бранче, объясните пожалуйста зачем это в сизифе ?

Вы же знаете, что есть планы по отказу от хэдера [1] ? Поэтому аргумента "потому что в федоре так" мне не хватает. Плюс мне нужно обоснование зачем противостоять желанию разработчиков как раз выкинуть из user-agent всякую фигню, которую туда пихают.

[1] https://en.wikipedia.org/wiki/User_agent#Deprecation_of_User-Agent_header
Comment 6 Alexey Gladkov 2020-05-13 14:20:16 MSK
Ну и вдогонку. Такой патч может нарушить приватность пользователя. Нужно посмотреть позволяет патч федоры всё-таки переписать user-agent, иначе этот хардкод неприемлем.
Comment 7 Leonid Krivoshein 2020-05-13 14:23:02 MSK
Чтобы знали наших! :-) Чтобы можно было предлагать клиенту более подходящий RPM-пакет. Чтобы более правильно учитывать в статистике посещаемости. У других крупных дистростроителей это распространено для удобства пользователей. Те же, кто заботятся о приватности, обычно сами меняют свой UserAgent. Тут речь о дефолте.
Comment 8 Dmitry V. Levin 2020-05-13 14:37:57 MSK
(In reply to Leonid Krivoshein from comment #7)
> Чтобы знали наших! :-) Чтобы можно было предлагать клиенту более подходящий
> RPM-пакет. Чтобы более правильно учитывать в статистике посещаемости. У
> других крупных дистростроителей это распространено для удобства
> пользователей. Те же, кто заботятся о приватности, обычно сами меняют свой
> UserAgent. Тут речь о дефолте.

Я думаю, что большинство пользователей в той или иной степени заботится о своей приватности.
Я считаю, что не следует предпринимать действия, вынуждающие пользователей самостоятельно менять свой UserAgent на более безопасный.
Comment 9 Dmitry V. Levin 2020-05-13 14:45:46 MSK
В общем, вы просите реализовать уязвимость под названием information leak.
Я против.
Comment 10 Alexey Gladkov 2020-05-13 14:57:53 MSK
(Ответ для Leonid Krivoshein на комментарий #7)
> Чтобы знали наших! :-) Чтобы можно было предлагать клиенту более подходящий
> RPM-пакет.

Ты серьёзно ? Скачивание RPM-пакетов через браузер ? Ради сомнительной схемы дистрибуции проприетарного ПО я не буду ставить под угрозу приватность пользователей.

> Чтобы более правильно учитывать в статистике посещаемости.

Что значит "более правильно" ?

> У других крупных дистростроителей это распространено для удобства
> пользователей.

Опять. В чём удобство, кроме раскрытия дистрибутива и его версии ?
Вы себя где хотите увидеть ?

> Те же, кто заботятся о приватности, обычно сами меняют свой
> UserAgent. Тут речь о дефолте.

Пользователь доверяет мантейнерам, что его приватность не будет нарушена, иначе тогда пользователю нужно ревьювить все изменения в пакете при каждом обновлении. Предложенный патч меняет даже не настройки по умолчанию, а вкорячивает это в код и пока не прочитаешь этот патч не поймёшь что произошло. Мне, например, не видно по патчу можно ли это чудо выключить.
Comment 11 blangel 2020-05-13 15:05:39 MSK
(Ответ для Dmitry V. Levin на комментарий #8)
> Я думаю, что большинство пользователей в той или иной степени заботится о
> своей приватности.

На чем основано данное предположение? 
Например, согласно Linuxhw Trends (https://github.com/linuxhw/Trends) самый популярный дистрибутив - Ubuntu, и в нем в UserAgent есть слово "Ubuntu". Аналогично с Debian, Fedora, openSUSE

Это помогает дать правильный выбор дистрибутива для скачивания.
Например, так делает Skype - https://www.skype.com/ru/get-skype/
(если зайти с Ubuntu - предложит DEB-пакет)

Причина появления этой задачи - в некорректном поведении AltLinux.
В 9 платформе при скачивании DEB-пакета открывается "Центр приложений", который говорит, что пакет неверно сформирован.
При этом на Linux Fedora при скачивании DEB открывается архиватор, что более правильно на мой взгляд.

Однако, мы хотим решить не следствие, а причину - т.е. сразу дать пользователю(!) (не сис.админу и не безопаснику, а именно пользователю) правильную ссылку на скачивание RPM-пакета, а для этого нам надо определить, что это AltLinux.
Comment 12 Alexey Gladkov 2020-05-13 15:44:18 MSK
(Ответ для blangel на комментарий #11)
> (Ответ для Dmitry V. Levin на комментарий #8)
> > Я думаю, что большинство пользователей в той или иной степени заботится о
> > своей приватности.
> 
> На чем основано данное предположение? 

Это обосновано здравым смыслом. Пользователи всё-таки не хотят быть мишенью атак. Если для какого-то пользователя это не так, то он волен изменить User-Agent и добавить туда хоть свои паспортные данные.

> Например, согласно Linuxhw Trends (https://github.com/linuxhw/Trends) самый
> популярный дистрибутив - Ubuntu, и в нем в UserAgent есть слово "Ubuntu".
> Аналогично с Debian, Fedora, openSUSE

Это одно слово даёт довольно много информации о пользовательской системе.
Зачем это раскрывать ?

> Это помогает дать правильный выбор дистрибутива для скачивания.
> Например, так делает Skype - https://www.skype.com/ru/get-skype/
> (если зайти с Ubuntu - предложит DEB-пакет)

Ах вот оно что. Я писал про это выше. Распространение ПО таким ущербно by design. Это ставит крест на своевременных обновлениях такого пакета. В том же openSUSE сделаны специальные mime, чтобы добавлять в yum сторонние репозитории, которые поддерживаются разработчиками ПО.

> Причина появления этой задачи - в некорректном поведении AltLinux.

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

> При этом на Linux Fedora при скачивании DEB открывается архиватор, что более
> правильно на мой взгляд.

Это такое же некорректное поведение. DEB пакет это пакет, а не архив. С таким же успехом можно предлагать открывать архиватор для RPM-пакета. Это же тоже всего лишь сжатый cpio архив.

> Однако, мы хотим решить не следствие, а причину - т.е. сразу дать
> пользователю(!) (не сис.админу и не безопаснику, а именно пользователю)
> правильную ссылку на скачивание RPM-пакета, а для этого нам надо определить,
> что это AltLinux.

Для установки rpm-пакета нужны права администратора. Поэтому "не сис.админу и не безопаснику" не подойдёт. А раз пользователь всё равно будет пользоваться привилегиями рута, то логичнее дать ему ссылку на репозиторий, который вы, конечно, будете поддерживать и обновлять пакет там и исправлять уязвимости. В этом случае вы не бросаете пользователя с устаревшей версией. Плюс это даёт контроль над тем откуда появился в системе пакет.
Comment 13 Andrey Cherepanov 2020-05-13 15:45:15 MSK
(Ответ для Dmitry V. Levin на комментарий #4)
> (In reply to Andrey Cherepanov from comment #0)
> > Прошу добавить название дистрибутива в строку User-Agent браузера:
> > Было:
> > Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
> > 
> > Хотелось бы:
> > Mozilla/5.0 (X11; ALT; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
> 
> А зачем?

Запрос одного из российских разработчиков сдачи отчётности для адаптации их системы через браузер.
Comment 14 blangel 2020-05-13 16:06:41 MSK
(Ответ для Alexey Gladkov на комментарий #12)
> Это обосновано здравым смыслом. Пользователи всё-таки не хотят быть мишенью
> атак. Если для какого-то пользователя это не так, то он волен изменить
> User-Agent и добавить туда хоть свои паспортные данные.
Во все времена удобство и безопасность всегда находятся на противоположных чашах весов.

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

Android-устройствам доверяют доступ к банковским картам,
к документам типа паспорта, по которому сейчас можно через ГосУслуги продать квартиру за 1 клик.

> Это одно слово даёт довольно много информации о пользовательской системе.
> Зачем это раскрывать ?
Хорошо, встречное предложение - давайте вы хотя бы добавите что-то типа "RPM-based" в User-Agent?

> Дистрибуция через браузер никогда не сможет быть корректной. Поэтому нельзя
> говорить о некорректном поведении.
Яндекс.браузер - контрпример, подробности ниже.

> Это такое же некорректное поведение. DEB пакет это пакет, а не архив. С
> таким же успехом можно предлагать открывать архиватор для RPM-пакета. Это же
> тоже всего лишь сжатый cpio архив.
А вы не ответите, почему на Alt Linux вылазит Центр приложений с ошибкой DEB-пакета?
И собираетесь ли вы это исправить?

> Для установки rpm-пакета нужны права администратора. Поэтому "не сис.админу
> и не безопаснику" не подойдёт. 
Речь про другое. Безопасники не занимаются установкой ПО.
Сис.админы все перенастроят групповыми политиками в соответствии с требованиями своей компании.
А вот обычные пользователи, знающие пароль root, страдают, жрут кактусы и звонят нам.
А мы пришли к вам.

> А раз пользователь всё равно будет
> пользоваться привилегиями рута, то логичнее дать ему ссылку на репозиторий,
> который вы, конечно, будете поддерживать и обновлять пакет там и исправлять
> уязвимости. В этом случае вы не бросаете пользователя с устаревшей версией.
> Плюс это даёт контроль над тем откуда появился в системе пакет.

Мы не бросаем пользователя. Это уже на усмотрение пакета.
К примеру, Яндекс.Браузер при скачивании с сайта и установке добавляет себя в репозитории и дальше корректно обновляется.

Нам важно правильно установить контакт с пользователем.
Поставить ему первое наше приложение,
которое после своей установки сможет сделать все по правилам,
например, установить свою правильную копию из репозитория (а сама потом удалится),
и далее все остальные программы установить тоже из репозитория.
Comment 15 Alexey Gladkov 2020-05-13 16:13:05 MSK
(Ответ для Andrey Cherepanov на комментарий #13)
> Запрос одного из российских разработчиков сдачи отчётности для адаптации их
> системы через браузер.

Пожалуйста, поясни свой ответ. Я ничего не понял.

"сдачи отчётности для адаптации их системы через браузер"

Это вообще что ?

Хотя это и не важно. Я всё ещё хочу услышать веские аргументы, почему в сизифе я должен уменьшить приватность пользователей. Приведённый аргумент не подходит, потому что он не технический, а коммерческий (кто-то у кого-то за сколько-то что-то попросил).

И отдельная просьба. Пока не вынесено другое решение в процессе обсуждения перестаньте переоткрывать багу. На результат это не повлияет.
Comment 16 Andrey Cherepanov 2020-05-13 16:27:09 MSK
(Ответ для Alexey Gladkov на комментарий #15)
> (Ответ для Andrey Cherepanov на комментарий #13)
> > Запрос одного из российских разработчиков сдачи отчётности для адаптации их
> > системы через браузер.
> 
> Пожалуйста, поясни свой ответ. Я ничего не понял.
> 
> "сдачи отчётности для адаптации их системы через браузер"
> 
> Это вообще что ?
> 
> Хотя это и не важно. Я всё ещё хочу услышать веские аргументы, почему в
> сизифе я должен уменьшить приватность пользователей. Приведённый аргумент не
> подходит, потому что он не технический, а коммерческий (кто-то у кого-то за
> сколько-то что-то попросил).
> 
> И отдельная просьба. Пока не вынесено другое решение в процессе обсуждения
> перестаньте переоткрывать багу. На результат это не повлияет.

Хорошо. У меня два вопроса:
1. Почему остальная информация в User-Agent (включая платформу, битность, тип ОС и версия браузера) не является нарушением приватности? По указанной выше логике Вы много лет противоречите собственной позиции. И эта информация более чувствительна, чем название дистрибутива.
2. Почему остальные указанные выше дистрибутивостроители не считают включение в User-Agent нарушением приватности?
Comment 17 Leonid Krivoshein 2020-05-13 17:02:32 MSK
Отвечу проще Дмитрию и Алексею.
UserAgent не для приватности, а как раз наоборот! ;-)
А если эта штука нарушает приватность и является дырой, её давно пора прикрыть.
Comment 18 Leonid Krivoshein 2020-05-13 17:17:56 MSK
(In reply to Alexey Gladkov from comment #12)
> Распространение ПО таким ущербно by design.

С этим я согласен. Но если исходить из того, что распространители ПО цепляются за любые каналы распространения, в том числе, проявля таким своеобразным способом заботу о пользователях, в данном случае к нам возникает резнноный вопрос: почему другие так могут и не боятся, а вы боитесь и не можете? У вас больше дыр или вы их долго закрываете?

(In reply to Alexey Gladkov from comment #15)
> Я всё ещё хочу услышать веские аргументы, почему в
> сизифе я должен уменьшить приватность пользователей.

Лично моё мнение: нужно раскрывать информацию не о вендоре, а о бранче. Потому что пакет от одного бранча к другому может не подойти. В другие бранчи такие принципиальные измения тем более должны попадать только после обкатки на Сизифе.
Comment 19 Alexey Gladkov 2020-05-13 17:19:28 MSK
(Ответ для blangel на комментарий #14)
> Например, самый популярный Линукс - это конечно же Android, 
> и даже если его пользователям рассказать, сколько в нем дыр
> (я в курсе, как оно работает под капотом), то они все равно не перестанут им
> пользоваться.

Как здорово, что вы его вспомнили. В Android нельзя скачивать и устанавливать приложения откуда угодно и сделано это из-за того, что такие пакеты не прошли верификацию.

> Android-устройствам доверяют доступ к банковским картам,
> к документам типа паспорта, по которому сейчас можно через ГосУслуги продать
> квартиру за 1 клик.

Вы оправдываете предложение сделать дыру другой дырой в иной системе ? :)
"А вот в системе X так можно", "Все так делают" или "Бывает и хуже" не является аргументом.

> Хорошо, встречное предложение - давайте вы хотя бы добавите что-то типа
> "RPM-based" в User-Agent?

Ответ на этот вопрос ниже.

> А вы не ответите, почему на Alt Linux вылазит Центр приложений с ошибкой
> DEB-пакета?

Этот вопрос нужно задавать не мне и не здесь, а в рассылке. Там мы сможем обсудить и решить, что по данному mime-type лучше запускать.

> И собираетесь ли вы это исправить?

Лично я это исправлять не собираюсь, но исправить это возможно. Не собираюсь, потому что я уже написал, что считаю запуск архиватора в этом случае бесполезным действием. Решение этого вопроса зависит не от меня.

> Мы не бросаем пользователя. Это уже на усмотрение пакета.
> К примеру, Яндекс.Браузер при скачивании с сайта и установке добавляет себя
> в репозитории и дальше корректно обновляется.
> 
> Нам важно правильно установить контакт с пользователем.
> Поставить ему первое наше приложение,
> которое после своей установки сможет сделать все по правилам,
> например, установить свою правильную копию из репозитория (а сама потом
> удалится),
> и далее все остальные программы установить тоже из репозитория.

Давайте называть вещи своими именами. Подсовывание пользователю DEB или RPM является просто уловкой для выполнения произвольного шелл-кода с правами рута. Вы очень хорошо тут вспомнили Яндекс.Браузер. Да и сами подтвердили намерение поступать также. Яндекс.Браузер несёт с собой скрипт в 19kb, которые делает действия с правами рута. Он _неявно_ для пользователя прописывается в cron, он _неявно_ добавляет сторонний репозиторий и gpg ключ(!). Всего этого пользователь не ожидает от установки _браузера_. Такое поведение называется иначе - malware.

Я сначала хотел у вас спросить, что мешает распространять ПО в zip-архиве и попросить пользователя распаковать его в домашнем каталоге (как это делает mozilla с их tar.gz), но теперь вопросы отпали. В этом случае вы не получите срытого доступа к руту.

Извините, но я в этом участвовать не буду.
Comment 20 Alexey Gladkov 2020-05-13 17:47:15 MSK
(Ответ для Andrey Cherepanov на комментарий #16)
> 1. Почему остальная информация в User-Agent (включая платформу, битность,
> тип ОС и версия браузера) не является нарушением приватности? По указанной
> выше логике Вы много лет противоречите собственной позиции. И эта информация
> более чувствительна, чем название дистрибутива.

Указание конкретного дистрибутива явно чувствительнее, чем указание, что это просто Linux.

> 2. Почему остальные указанные выше дистрибутивостроители не считают
> включение в User-Agent нарушением приватности?

Это аргумент из серии "миллионы мух не могут ошибаться". Я не могу отвечать за других. Если нужен ответ на этот вопрос, то можете задать его им.

(Ответ для Leonid Krivoshein на комментарий #17)
> UserAgent не для приватности, а как раз наоборот! ;-)
> А если эта штука нарушает приватность и является дырой, её давно пора
> прикрыть.

Я уже говорил и приводил ссылку. Это является дырой, уже есть планы по отказу от User-Agent в chrome. Вот цитата и ещё одна ссылка, если по ссылкам никто не ходит:

"On top of those privacy issues, User-Agent sniffing is an abundant source of compatibility issues, in particular for minority browsers, resulting in browsers lying about themselves (generally or to specific sites), and sites (including Google properties) being broken in some browsers for no good reason," said Yoav Weiss, a Google engineer working on the Chrome browser.

https://www.zdnet.com/article/google-to-phase-out-user-agent-strings-in-chrome/

(Ответ для Leonid Krivoshein на комментарий #18)
> почему другие так могут и не боятся, а вы
> боитесь и не можете?

Я уже на это ответил.

> У вас больше дыр или вы их долго закрываете?

Вопрос не корректный.
Comment 21 Leonid Krivoshein 2020-05-13 17:49:52 MSK
(In reply to Alexey Gladkov from comment #19)
> Давайте называть вещи своими именами. Подсовывание пользователю DEB или RPM
> является просто уловкой для выполнения произвольного шелл-кода с правами
> рута. Вы очень хорошо тут вспомнили Яндекс.Браузер. Да и сами подтвердили
> намерение поступать также. Яндекс.Браузер несёт с собой скрипт в 19kb,
> которые делает действия с правами рута. Он _неявно_ для пользователя
> прописывается в cron, он _неявно_ добавляет сторонний репозиторий и gpg
> ключ(!). Всего этого пользователь не ожидает от установки _браузера_. Такое
> поведение называется иначе - malware.

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

Мне кажется, это не техническая аргументация. Malware здесь никто не просит создавать. Даже не надо менять _исполняемый_ код.
Comment 22 Anton Farygin 2020-05-13 17:51:45 MSK
Как вариант можно сделать общесистемную настойку, в которой указывать нужную OS в user-agent.

Было бы удобно не только для случаев установки пакетов.
Comment 23 Anton Farygin 2020-05-13 18:08:26 MSK
@legion - но при этом сами разработчики пока ещё не удалили user agent и вовсю его используют для определения OS. И да, что по мне, так версия и имя браузера намного более неприятная информация, чем ветка и имя операционной системы.
https://developer.chrome.com/multidevice/user-agent
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent

Что касается замены, то она пока поддерживается только хромом и не получила широкого распространения среди других браузеров:
https://www.keycdn.com/blog/client-hints


И независимо от этого в Client-Hints тоже будет поддержка OS detection, которой вполне очевидно будут пользоваться браузеры:
https://51degrees.com/blog/user-agent-client-hints

https://wicg.github.io/ua-client-hints/#sec-ch-platform
Comment 24 Anton Farygin 2020-05-13 18:16:50 MSK
И ещё для истории - позиция Mozilla по поводу Client Hints:
https://github.com/mozilla/standards-positions/issues/202
Comment 25 Anton Farygin 2020-05-13 18:17:44 MSK
браузеры и сайты.
> которой вполне очевидно будут пользоваться браузеры:
> https://51degrees.com/blog/user-agent-client-hints
Comment 26 Alexey Gladkov 2020-05-13 18:19:27 MSK
(Ответ для Leonid Krivoshein на комментарий #21)
> (In reply to Alexey Gladkov from comment #19)
> > Давайте называть вещи своими именами. Подсовывание пользователю DEB или RPM
> > является просто уловкой для выполнения произвольного шелл-кода с правами
> > рута. Вы очень хорошо тут вспомнили Яндекс.Браузер. Да и сами подтвердили
> > намерение поступать также. Яндекс.Браузер несёт с собой скрипт в 19kb,
> > которые делает действия с правами рута. Он _неявно_ для пользователя
> > прописывается в cron, он _неявно_ добавляет сторонний репозиторий и gpg
> > ключ(!). Всего этого пользователь не ожидает от установки _браузера_. Такое
> > поведение называется иначе - malware.
> 
> С тем же успехом можно сказать, что открытие любой страницы в Интернете --
> это подсовывание пользователю заведомо ложной информации, а ещё попытка
> воспользоваться его банковским счётом. Поэтому ты уже в этом учавствуешь,
> собирая браузер, который используют для фишинга и прочих махинаций. :-)

Я не понял твоей аналогии.

> Мне кажется, это не техническая аргументация.

Не техническая ? Я перечислил некоторые вещи, которые делает пакет глядя в его POSTIN. Я подчеркнул, что это браузер, который руками меняет твою систему. Пользователь не оповещён, что у него _новый_ _доверенный_ источник пакетов, из которого может приехать _любой_ системный пакет.

Мне нужно тебе объяснять, что какие возможности это открывает ?
Прости, но это был чисто технический комментарий.

> Malware здесь никто не просит создавать.

Ещё бы вы попросили. Вы просто просите помочь её распространять :)

> Даже не надо менять _исполняемый_ код.

Ты открывал ссылку на предложенный патч из федоры ?
Comment 27 Anton Farygin 2020-05-13 18:21:22 MSK
не понимаю, чем это отличается от того, что пользователь выберет ОС на сайте и скачает + установить rpm пакет ?

Вся разница только в детекте ОС. Ну скачает он вручную и так же поставит (чем успешно пользуется). С этим бороться практически невозможно.
Comment 28 Alexey Gladkov 2020-05-13 18:40:42 MSK
(Ответ для Anton Farygin на комментарий #22)
> Как вариант можно сделать общесистемную настойку, в которой указывать нужную
> OS в user-agent.

Это противоречит позиции разработчиков firefox и chromium.

> Было бы удобно не только для случаев установки пакетов.

Настройка такая пока есть: `general.useragent.override`. Есть и другие настройки, но насколько я знаю некоторые из них уже сломаны и не оказывают влияния на User-Agent.

(Ответ для Anton Farygin на комментарий #23)
> @legion - но при этом сами разработчики пока ещё не удалили user agent и
> вовсю его используют для определения OS.

Мне приводят в пример странный usecase и ПО, которое можно приводить в пример как _НЕ_ нужно делать. Я всё ещё хочу услышать нормальный аргумент _зачем_ кому-то нужно определять именно дистрибутив. Если единственная причина это дать подсунуть RPM вместо DEB, то я уже много написал на эту тему.

> Что касается замены, то она пока поддерживается только хромом и не получила
> широкого распространения среди других браузеров:
> https://www.keycdn.com/blog/client-hints

Я уже приводил ссылку, что это начали делать в chrome и как следствие это будет во всех chome-based браузерах.

> И независимо от этого в Client-Hints тоже будет поддержка OS detection,
> которой вполне очевидно будут пользоваться браузеры:

OS detection уже представлена в User-Agent. Это Linux.
Comment 29 Alexey Gladkov 2020-05-13 18:46:09 MSK
(Ответ для Anton Farygin на комментарий #27)
> не понимаю, чем это отличается от того, что пользователь выберет ОС на сайте
> и скачает + установить rpm пакет ?
> 
> Вся разница только в детекте ОС. Ну скачает он вручную и так же поставит
> (чем успешно пользуется). С этим бороться практически невозможно.

Антон, вот именно. Это вообще не проблема и не повод модифицировать чего-либо. Вместе с тем после такой модификации ты создаешь information leak для вообще любого сайта, а не для вот этого конкретного сайта. Именно поэтому WONTFIX.
Comment 30 Melnikov_EU 2020-05-13 19:10:14 MSK
Добрый день! 
Какой жаркой становится дискуссия =) Постараюсь добавить контекста, чтобы было понятно почему мы пришли с такой просьбой.

Мы много лет разрабатываем онлайн и десктоп сервисы, пользователи которых, в силу своей специальности, зачастую не обладают высокой технической грамотностью (бухгалтера и другие смежные профессии). Сразу оговорюсь. Возможно показалось, что мы кому-то пытаемся навязаться (как бесчисленные компоненты Яндекса). Это не так. Практически все наши сервисы платные. И пользователь осознанно идет на установку необходимых компонентов (более того, мы стараемся ограничить доступ тем, кто пришел к нам, не приобретая наши продукты). Задача нашей команды разработки –сделать максимально удобной настройку рабочего места. 

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

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

Чтобы воспользоваться нашим веб-сервисом автонастройки необходимо установить плагин, с помощью которого и можно будет производить настройку. По такому алгоритму мы работаем с пользователями без малого 10 лет. Он привычен для них и имеет массу положительных отзывов.

Думаю, вы лучше меня знаете, что в связи с международной обстановкой есть тенденция перехода на отечественные разработки у гос. организаций. Опыт внедрения Линукса на примере моего хорошего знакомого показал, что конечный пользователь системы не являются гуру по ней (проще говоря способны работать только с установленными программами и выполнять совсем нехитрые манипуляции). В данном конкретном случае была нанята подрядная организация, которая производила установку и настройку и отдавала пользователю его «как есть». Понятно, что история выше - это лишь единичный пример, но когда выбор ОС это не осознанное решение пользователя, а установка от руководства, есть все основания полагать, что количество пользователей с невысоким уровнем технической грамотности может возрасти.

Итак, наша цель помочь как можно большему количеству наших клиентов максимально быстро и удобно настроить рабочее место. Желательно, чтобы это можно было сделать без привлечения «технических спецов» (тут имеется ввиду не формальное наличие root-прав, а умение делать что-то больше, чем скачать-запустить).

Первое, с чем сталкивается пользователь на странице веб-сервиса – предложение скачать наш плагин. Задача с который мы пришли к вам – найти способ находясь на странице браузера понять какой тип пакета предложить скачать пользователю: DEB или RPM (напомню, что речь даже близко не идет о MailWare, пользователь заплатил и настраивает компьютер для работы). UserAgent в данном случае нам доступен, и он в подавляющем большинстве случаев позволяет определить тип ОС, и отдать нужный пакет, написать инструкцию именно для данной ОС, если у нее есть какие-то особенности и пр. Именно поэтому мы предложили коллегам из техподдержки внести данные об ОС в UserAgent. Если честно, мы не ожидали, что такая, как нам казалось, банальная задача вызовет такую жаркую дискуссию. =)

Отдельно хотел бы поделиться своим личным видением ситуации относительно «миллиона мух, которые не могут ошибаться», что «все так делают» не является аргументом и прочем. Подчеркну, что даже близко не претендую, на истину в конечной инстанции. Это лишь мое частное мнение.
Критический взгляд на любые даже общепринятые вещи безусловно полезен. Но кажется, что в любом подходе можно дойти до крайности. В обсуждаемой ситуации мы говорим, о том, что существует способ скачивания ПО через браузер. Он существует абсолютно на всех ОС и привычен для пользователя. Да, в распространении через репозиторий есть ряд преимуществ. Да, для вашей ОС он идеологически правильный. И, наверное, если пользователь осознанно сам выбрал ОС, он будет пользоваться именно этим способом. Но неужели это повод усложнять (или не облегчать) жизнь пользователям, которым работа на данной операционной системе в новинку, или навязана руководством/ситуацией, которые никогда не станут экспертами в ОС, потому что завалены профильной работой и т.д.? Я думаю им можо пойти на встречу. 
На счет того, что типа пакета упростит распространение MailWare. Разве пользователю не нужно будет в любом случае руками скачать и запустить файл? Что помешает ему сделать то же самое поочередно запуская оба типа пакетов? Тому кто захочет себе навредить, как мне кажется это преградой не будет =)

Подчеркну, что мы не претендуем на то, чтобы как-то серьезно понижать уровень приватности, если он для вас критически важен. Нам всего лишь хотелось бы решить прикладную задачу. Может быть вы предложите альтернативный вариант, учитывая алгоритм работы наших пользователей. 

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

И да, я понимаю, что особенно разработчику сложно представить, что такая банальная процедура может вызвать вопросы, но к сожалению крутой спец в бухгалтерии, который в уме может рассчитать зарплату 1000 сотрудников со всеми налогами, может упереться в 2 набора непонятных ему букв и начать звонить в техподдержку =)
Comment 31 Alexey Gladkov 2020-05-13 22:37:23 MSK
(Ответ для Melnikov_EU на комментарий #30)
> Какой жаркой становится дискуссия =)

Ой, вы ещё жарких дискуссий (назовём их так) не видели :) Это так, обмен мнениями.

> Короче говоря, мы используем способ распространения ПО с помощью браузера,
> потому что это позволяет получить представление о текущем состоянии ПК
> пользователя, и гибко реагировать на ситуацию: поставить/переустановить
> только необходимое ПО и сделать настройки системы, предложить фиксы типа
> банальной чистки временных файлов (иногда помогает).

Спасибо за контекст, но в нём вы нигде не использовали слова "altlinux". Поэтому я предположу, что вашей системе всё равно какой дистрибутив настраивать.

> Чтобы воспользоваться нашим веб-сервисом автонастройки необходимо установить
> плагин, с помощью которого и можно будет производить настройку. По такому
> алгоритму мы работаем с пользователями без малого 10 лет. Он привычен для
> них и имеет массу положительных отзывов.

Так значит браузерный плагин. Для firefox они распространяются не в виде DEB, RPM, etc., а в виде xpi-архива. Более того, если вы ставите плагин для браузера через сторонний пакет, то этот путь против которого выступают не я, а разработчики браузеров. Поддержка этого уже процессе удаления.

https://blog.mozilla.org/addons/2019/10/31/firefox-to-discontinue-sideloaded-extensions/

Я не хочу учить вас как делать свой бизнес. Я лишь слушаю, то что пишут тут комментаторы в качестве аргументов и это ни разу не решит ваших проблем в долгосрочной перспективе. Даже если бы я принял аргументы и добавил неважно что в User-Agent, то скоро chromium всё равно вырубит его и я не буду возвращать этот хэдер в альте.

Кроме того, вы всё время говорите о своих клиентах, но ничего не говорите о других пользователях, которые вашими клиентами не являются. Я согласен с Дмитрием Левиным для них это information leak.

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

Увы, я ничего об этом не знаю. Я не слежу за тенденциями в гос. организациях РФ.

Я ничего про это не знаю, но предполагаю, что в гос. органах используется не firefox из этого пакета, а firefox-gost или chromium-gost, в который можно добавить всё что угодно. Хуже этим пользователям уже не будет.

> Итак, наша цель помочь как можно большему количеству наших клиентов
> максимально быстро и удобно настроить рабочее место.

Конечно. Это же вас бизнес.

> Первое, с чем сталкивается пользователь на странице веб-сервиса –
> предложение скачать наш плагин. Задача с который мы пришли к вам – найти
> способ находясь на странице браузера понять какой тип пакета предложить
> скачать пользователю: DEB или RPM

Формат называется xpi. Он един для любых дистрибутивов.

> Именно поэтому мы предложили коллегам из техподдержки внести данные об ОС в
> UserAgent. Если честно, мы не ожидали, что такая, как нам казалось,
> банальная задача вызовет такую жаркую дискуссию. =)

Мне тут озвучивали довод, что сейчас firefox анонсирует User-Agent, в котором уже есть информация о системе. Я отвечу да, есть. Но она ровно такая же какая предоставляет firefox скачанный с официального сайта. Если это не так, то это ошибка. Я специально не вносил изменений в UA, чтобы пользователь дистрибутива не был отличим от пользователя с официальной сборкой.

На что вы собственно и жалуетесь :)

Я вам больше скажу, если поставить пакет firefox-config-privacy, то пользователь получит фиксированный UA.

> Да, для вашей ОС
> он идеологически правильный. И, наверное, если пользователь осознанно сам
> выбрал ОС, он будет пользоваться именно этим способом. Но неужели это повод
> усложнять (или не облегчать) жизнь пользователям, которым работа на данной
> операционной системе в новинку, или навязана руководством/ситуацией, которые
> никогда не станут экспертами в ОС, потому что завалены профильной работой и
> т.д.? Я думаю им можо пойти на встречу. 

Давайте я чуть-чуть утрирую, чтобы показать моё отношение к данной позиции:

На windows98 пользователи работали из-под администратора, чтобы было удобно устанавливать ПО, скачанное через браузер. Почему бы не пойти на встречу удобству и не наделить пользователей в дистрибутивах альтлинукс правами рута ?

Я понимаю, что некоторые могут написать, что это нельзя сравнивать с безобидным изменением какого-то там UA. Но это всего лишь разные системы ценностей. Для кого-то важнее удобство, для кого-то приватность и безопасность. Последнее это сильная сторона дистрибутивов альтлинукс.

> На счет того, что типа пакета упростит распространение MailWare. Разве
> пользователю не нужно будет в любом случае руками скачать и запустить файл?

Во-первых, я не утверждал, что ваш софт malware. Мне в качестве аргумента был приведён яндекс.браузер, который является скорее антипримером, который использует пакет в корыстных целях.

Во-вторых, я уже писал, что с моей точки зрения такой способ устанавливать ПО ущербен, потому что не безопасен. Да, это ничем не отличается.

> Подчеркну, что мы не претендуем на то, чтобы как-то серьезно понижать
> уровень приватности, если он для вас критически важен. Нам всего лишь
> хотелось бы решить прикладную задачу. Может быть вы предложите
> альтернативный вариант, учитывая алгоритм работы наших пользователей. 

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

Посмотрите на xpi.

https://extensionworkshop.com/documentation/publish/package-your-extension/
Comment 32 Leonid Krivoshein 2020-05-13 23:07:10 MSK
(In reply to Alexey Gladkov from comment #31)
> Даже если бы я принял аргументы и добавил неважно
> что в User-Agent, то скоро chromium всё равно вырубит его и я не буду
> возвращать этот хэдер в альте.

Это 100% блаж. Другой монополист на рынке агентов (только поисковых) тоже много лет пытался внедрить свой тег "noindex", даже в стандарт HTTP прописать. Не вышло. Это слово "UserAgenet" со всем его смысловым значением не вырубить никакими топорами даже в ближайшие 15 лет, чего бы не хотелось нынешнему монополисту в области браузерных агентов. Монополии вообще не вечны.

> вы всё время говорите о своих клиентах, но ничего не говорите о других
> пользователях, которые вашими клиентами не являются. Я согласен с
> Дмитрием Левиным для них это information leak.

При этом упущено замечание Антона о том, что название и версия браузера является куда более чувствительной information leak.

Чтобы сказать, что прав ты, Дима Левин и Google, убедите консорциум W3C вынести эту "уязвимость" из стандарта. Навсегда. А пока этого нет, Google (тоже частная лавочка со своей инициативой) и другие компании может писать статьи вокруг да около сколько угодно. Что самое смешное, что да, это information leak. Оно так задумывалось изначально, поэтому спор вообще ни о чём.

На уровне выпускаемых дистрибутивов этим можно управлять каким-нибудь control. И ещё control верхнего уровня, чтобы при установке закручивать сразу все гайки по-максимуму или наоборот, создавать максимум свободы.
Comment 33 Alexey Gladkov 2020-05-14 00:56:51 MSK
(Ответ для Leonid Krivoshein на комментарий #32)
> (In reply to Alexey Gladkov from comment #31)
> > Даже если бы я принял аргументы и добавил неважно
> > что в User-Agent, то скоро chromium всё равно вырубит его и я не буду
> > возвращать этот хэдер в альте.
> 
> Это 100% блаж. Другой монополист на рынке агентов (только поисковых) тоже
> много лет пытался внедрить свой тег "noindex", даже в стандарт HTTP
> прописать. Не вышло. Это слово "UserAgenet" со всем его смысловым значением
> не вырубить никакими топорами даже в ближайшие 15 лет, чего бы не хотелось
> нынешнему монополисту в области браузерных агентов. Монополии вообще не
> вечны.

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

Этот монополист со своей блажью вынудил mozilla изменить стек технологий для разработки аддонов. Они оба стандартизовали WebExtensions. При этом mozilla убила все свои старые API за год где-то. Я также хочу напомнить, что на blink основывается и упомянутый яндекс.браузер, и microsoft edge, и новая опера. Сейчас новые фичи делаются иначе, чем во времена HTTP/1.1. К слову ты же в курсе, что браузеростроители сделали HTTP/3 и его уже даже в curl добавили ? Подход поменялся.

То что ты видишь и есть новый подход. Собирается рабочая группа, делается rfc, браузеры делают реализацию и вот тебе новый стандарт. Они так сделали кучу API.

> > вы всё время говорите о своих клиентах, но ничего не говорите о других
> > пользователях, которые вашими клиентами не являются. Я согласен с
> > Дмитрием Левиным для них это information leak.
> 
> При этом упущено замечание Антона о том, что название и версия браузера
> является куда более чувствительной information leak.

С одной стороны да, с другой если я уберу оттуда версию, то альт можно будет идентифицировать по отсутствию этой самой версии. Именно поэтому в firefox-config-privacy эта информация остаётся, но фейкается.

В идеале версия браузера говорит о том, какие уязвимости у тебя могут быть открыты, но не ясно какие библиотеки ты используешь и какие патчи наложены на сам firefox. Знание дистрибутива проясняет часть этих вопросов.

> Чтобы сказать, что прав ты, Дима Левин и Google, убедите консорциум W3C
> вынести эту "уязвимость" из стандарта.

Это они и сейчас делают. У тебя какое-то устарелое представление о том, как сейчас принимаются стандарты. Как они делают новые протоколы, API и сам Javascript.

> Что самое смешное, что да, это
> information leak. Оно так задумывалось изначально, поэтому спор вообще ни о
> чём.

Когда это придумывалось не было другой возможности понять возможности браузера. Сейчас на User-Agent нет смысла смотреть от слова совсем.

> На уровне выпускаемых дистрибутивов этим можно управлять каким-нибудь
> control. И ещё control верхнего уровня, чтобы при установке закручивать
> сразу все гайки по-максимуму или наоборот, создавать максимум свободы.

Получить разрешение от mozilla на модификацию поведение, получить от них фидбэк о том, что они об этом думают и посадить человека на ЗП, чтобы это поддерживал :)
Comment 34 blangel 2020-05-14 09:32:52 MSK
(Ответ для Alexey Gladkov на комментарий #31)
> Спасибо за контекст, но в нём вы нигде не использовали слова "altlinux".
> Поэтому я предположу, что вашей системе всё равно какой дистрибутив
> настраивать.
Мы учитываем особенности каждой ОС и стараемся сделать установку для пользователей максимально удобной для них.
Если бы нам было все равно - мы бы не пришли к вам с просьбой.

> Так значит браузерный плагин. Для firefox они распространяются не в виде
> DEB, RPM, etc., а в виде xpi-архива. 
Одного XPI недостаточно. XPI не имеет доступа к локальной криптографии (например, если у меня стоит КриптоПро CSP и ключи на флешке или на токене)
Но XPI может взаимодействовать с NativeClient-приложением (ранее упоминали про WebExtensions). А это приложение надо тоже как-то установить на компьютер. И когда даешь выбор, что скачать - DEB или RPM - пользователи звонят и спрашивают "А что мне выбирать? Мне некогда думать, что у вас там надо выбрать, мне надо свою работу делать, а не копаться в вашем Linux!"

> Более того, если вы ставите плагин для
> браузера через сторонний пакет, то этот путь против которого выступают не я,
> а разработчики браузеров. Поддержка этого уже процессе удаления.
> 
> https://blog.mozilla.org/addons/2019/10/31/firefox-to-discontinue-sideloaded-
> extensions/
У меня сейчас Firefox 76, и все отлично работает. Попробуйте сами:
https://help.kontur.ru/plugin/beta

> Кроме того, вы всё время говорите о своих клиентах, но ничего не говорите о
> других пользователях, которые вашими клиентами не являются. Я согласен с
> Дмитрием Левиным для них это information leak.
Именно поэтому я и предлагал сделать расширением как "Fedora User Agent"
Не захотел - удалил расширение (с этим пользователи справляются).
И я так и не услышал примеры использования этого information leak.

> Я ничего про это не знаю, но предполагаю, что в гос. органах используется не
> firefox из этого пакета, а firefox-gost или chromium-gost, в который можно
> добавить всё что угодно. Хуже этим пользователям уже не будет.
Речь не только про гос.органы. Давайте вспомним банальные ГосУслуги или nalog.ru (речь про ежегодный налоговый вычет физическим лицам или налоговый вычет при покупке квартиры, что особенно стало актуальным уметь делать онлайн при самоизоляции во время пандемии) - таких людей миллионы по всей стране.

firefox-gost и chromium-gost только добавляют HTTPS-ГОСТ, а этого недостаточно для работы на ГосУслугах и nalog.ru

> Я вам больше скажу, если поставить пакет firefox-config-privacy, то
> пользователь получит фиксированный UA.
Такие пользователи технически подкованы и не звонят в нашу техподдержку.

> Я понимаю, что вы решаете свою коммерческую прикладную задачу. Я же не ваш
> клиент и отстаиваю интересны других пользователей.

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

(Ответ для Alexey Gladkov на комментарий #33)
> Когда это придумывалось не было другой возможности понять возможности
> браузера. Сейчас на User-Agent нет смысла смотреть от слова совсем.
Не соглашусь. И повторюсь.
Если не смотреть на UserAgent - мы оказываемся в ситуации условно 50/50
Если смотреть - то угадаем 80% пользователей, а других 20% не угадаем.
Что лучше - когда в техподдержку обращаются 50% или 20% пользователей?
Comment 35 Anton Farygin 2020-05-14 10:03:03 MSK
В конкретном случае можно пойти по другому пути, и если пришёл кто-то с Linux в UserAgent, то с вероятностью 90% это какой-то ALT и можно выдать ему RPM.
Comment 36 Michael Shigorin 2020-05-14 11:00:57 MSK
(Ответ для blangel на комментарий #11)
> Причина появления этой задачи - в некорректном поведении AltLinux.
> В 9 платформе при скачивании DEB-пакета открывается "Центр приложений",
> который говорит, что пакет неверно сформирован.
Это вообще не о браузере, а о базе MIME-типов и, может быть, xdg-open.

> При этом на Linux Fedora при скачивании DEB открывается архиватор,
> что более правильно на мой взгляд.
Это да.
Comment 37 Melnikov_EU 2020-05-14 11:06:46 MSK
(Ответ для Alexey Gladkov на комментарий #31)
> (Ответ для Melnikov_EU на комментарий #30)
Спасибо за развернутый ответ. Я действительно я под вечер допустил несколько неточностей в формулировках, постараюсь прояснить ситуацию. 
> Спасибо за контекст, но в нём вы нигде не использовали слова "altlinux".
> Поэтому я предположу, что вашей системе всё равно какой дистрибутив
> настраивать.
Верно лишь отчасти: да, мы стараемся настраивать максимально возможное количество дистрибутивов, но нам не все равно. Например, на Windows, где мы работаем очень давно, зная особенности каждой версии мы предлагаем разный набор фиксов, и специфические настройки для конкретной версии. Делается это на основании обратной связи пользователей. Могу быть баги и в самой ОС, в стороннем ПО, которые мы ставим для работы, ну и в нашем конечно же бывают =) Если в наших силах сделать так, чтобы несмотря на баг пользователь после доп настроек мог работать – мы стараемся это сделать.
> > Чтобы воспользоваться нашим веб-сервисом автонастройки необходимо установить
> > плагин, с помощью которого и можно будет производить настройку. По такому
> > алгоритму мы работаем с пользователями без малого 10 лет. Он привычен для
> > них и имеет массу положительных отзывов.
> 
> Так значит браузерный плагин. Для firefox они распространяются не в виде
> DEB, RPM, etc., а в виде xpi-архива. Более того, если вы ставите плагин для
> браузера через сторонний пакет, то этот путь против которого выступают не я,
> а разработчики браузеров. Поддержка этого уже процессе удаления.
> https://blog.mozilla.org/addons/2019/10/31/firefox-to-discontinue-sideloaded-
> extensions/

Вот тут я допустил неточность, прошу прощения. Помимо браузерного плагина необходимо установить локальное приложение (далее в комменте имелось ввиду именно оно). 
По браузерному плагину. По ссылке описан процесс установки сторонним софтом. Мы его рассматривали еще давно, и он нам как раз не понравился, т.к. непрозрачен для пользователя, и вызывает окошки в браузере «Тебе что-то тут поставили». Поэтому мы ставим расширение в открытую, с подтверждением установки пользователем.
 
> Я не хочу учить вас как делать свой бизнес. Я лишь слушаю, то что пишут тут
> комментаторы в качестве аргументов и это ни разу не решит ваших проблем в
> долгосрочной перспективе. Даже если бы я принял аргументы и добавил неважно
> что в User-Agent, то скоро chromium всё равно вырубит его и я не буду
> возвращать этот хэдер в альте.
Бесспорно, технологии всегда меняются. Но на эти изменения порой уходят годы, а работать надо и сейчас и в долгосрочной перспективе =) Там может появиться еще какой-то способ, который поможет решать наши задачи.

> Кроме того, вы всё время говорите о своих клиентах, но ничего не говорите о
> других пользователях, которые вашими клиентами не являются. Я согласен с
> Дмитрием Левиным для них это information leak.
Все верно писал о наших клиентах, я же пояснял почему мы к вам пришли. О других пользователях: могу накидать скринов, где видно, что на дистрибутивах Линукса, где есть информация в UA, различные продукты (Skype, LibreOffice) предлагают сразу нужный пакет. 
По поводу information leak… Учитывая тезисы про «миллион мух» и «у всех сделано – не аргумент», я не представляю, как мог бы убедить вас в обратном =) Я попытался написать про свое видение и крайние подходы. Так можно дойти до того, что и выход в интернет считать information leak… С моей точки зрения знание типа пакета не содержит в себе критической уязвимости. Его же все равно не получится установить без ручных действий пользователя? И сейчас можно подсовывать пару (об этом написано в прошлом сообщении)… Я не вижу радикальной разницы, правда. Может быть я чего-то не знаю и есть возможность зная тип пакета ставить его автоматом? Но при этом нельзя попробовать запустить оба типа пакетов? Если поделитесь этой информацией буду благодарен.

> Давайте я чуть-чуть утрирую, чтобы показать моё отношение к данной позиции:
> 
> На windows98 пользователи работали из-под администратора, чтобы было удобно
> устанавливать ПО, скачанное через браузер. Почему бы не пойти на встречу
> удобству и не наделить пользователей в дистрибутивах альтлинукс правами рута
> ?
> 
> Я понимаю, что некоторые могут написать, что это нельзя сравнивать с
> безобидным изменением какого-то там UA. Но это всего лишь разные системы
> ценностей. Для кого-то важнее удобство, для кого-то приватность и
> безопасность. Последнее это сильная сторона дистрибутивов альтлинукс.

Мне кажется в данном примере играет роль именно то, что он утрирован =) Между удобством и приватностью в любой системе есть баланс. Вы же не запретили вообще выход в сеть? И, да понятно, что он у вас смещен в сторону приватности. Просто, когда мы говорим о типе пакета, по нашей оценке из шкалы в условные 10000 баллов - это понижение приватности на 1 балл, а по вашей видимо на пару тысяч =)
> Во-первых, я не утверждал, что ваш софт malware. Мне в качестве аргумента
> был приведён яндекс.браузер, который является скорее антипримером, который
> использует пакет в корыстных целях.
Я тоже, мягко говоря, не восторге от метода распространениях их браузера и сопутствующих компонентов, но все-таки не рискнул бы обзывать их malware =)
> Во-вторых, я уже писал, что с моей точки зрения такой способ устанавливать
> ПО ущербен, потому что не безопасен. Да, это ничем не отличается.
Ага, ваша точка зрения понятна. Я для этого и писал длинный пост выше со сценарием работы нашего пользователя, чтобы было понятно, почему нами выбран именно этот способ. Суть в едином алгоритме для нашего пользователя на большинстве ОС.

> Мне тут озвучивали довод, что сейчас firefox анонсирует User-Agent, в
> котором уже есть информация о системе. Я отвечу да, есть. Но она ровно такая
> же какая предоставляет firefox скачанный с официального сайта. Если это не
> так, то это ошибка. Я специально не вносил изменений в UA, чтобы
> пользователь дистрибутива не был отличим от пользователя с официальной
> сборкой.
> 
> На что вы собственно и жалуетесь :)
> 
> Я вам больше скажу, если поставить пакет firefox-config-privacy, то
> пользователь получит фиксированный UA.

> Я понимаю, что вы решаете свою коммерческую прикладную задачу. Я же не ваш
> клиент и отстаиваю интересны других пользователей.

Хотел бы все же прояснить ситуацию. Мы не то чтобы жалуемся =) Мы пришли к вам с предложением сделать доработку, которая с нашей точки зрения могла бы быть полезна и нам, и другим пользователям и вам. Логика была в том, что повышение удобства использования ОС повысит лояльность пользователя в частности и к ОС.
Сейчас понятно, что вы считаете, что вам она может принести вред и умышленно не добавляли информацию в UA, говоря о сильном снижении приватности. Ваша позиция понятна. Просто она не совпадает с нашим представлением об уровне снижения, поэтому мы и ведем диалог. 
Само собой, вы нам ничем не обязаны, поэтому мы не планируем упираться до последнего и продавливать свою точку зрения. Просто хочется по максимуму понять ваши позиции, поскольку возможно мы придем еще с какими-нибудь вопросами в перспективе, а часть после прояснения позиций может и не возникнуть =)
В любом случае спасибо за уделенное время и конструктивный диалог.
Comment 38 Melnikov_EU 2020-05-14 11:16:19 MSK
(Ответ для Anton Farygin на комментарий #35)
> В конкретном случае можно пойти по другому пути, и если пришёл кто-то с
> Linux в UserAgent, то с вероятностью 90% это какой-то ALT и можно выдать ему
> RPM.

Ага, видимо так-то так и придется костылить, если не договоримся. Просто сначала казалось, что несложно будет сделать однозначный выбор...
Comment 39 Michael Shigorin 2020-05-14 22:34:17 MSK
Коллеги, дочитав всю переписку, решил спросить: не хотите ли поддерживать свой пакет в нашем репозитории в качестве долгосрочного решения?

Думаю, если он небольшой, можно обсудить и "галку" в установщике, куда всяко давно просится пункт "Партнёрское ПО" и пункты для существующих *-preinstall.

Возможно, такая модернизация процесса доставки ПО со временем пригодится и при работе с другими дистрибутивами, по крайней мере отечественными -- и главное, сделает его более простым для ваших же пользователей (сейчас, так понимаю, для установки _пакета_ пользователю браузера надо либо знать рутовый пароль на localhost, либо звать кого-то, кто знает).  В смысле после выпуска обновления установочных образов и их выхода "в массы" должно стать проще, на существующих версиях и системах это предложение выливается в apt-get install или synaptic.

Такой подход может пригодиться и при создании специализированных изкоробочных решений -- будь это "тонкий клиент для бухгалтера" или образ ОС для VDI (понимаю, что это уже то, с чем _мы_ сталкиваемся, но на всякий упомяну).
Comment 40 Leonid Krivoshein 2020-05-15 05:35:33 MSK
(In reply to Melnikov_EU from comment #38)
> (Ответ для Anton Farygin на комментарий #35)
> > В конкретном случае можно пойти по другому пути, и если пришёл кто-то с
> > Linux в UserAgent, то с вероятностью 90% это какой-то ALT и можно выдать ему
> > RPM.
> 
> Ага, видимо так-то так и придется костылить, если не договоримся. Просто
> сначала казалось, что несложно будет сделать однозначный выбор...

С добалением схемы "apt:" для современных браузеров будет самое оно.

Но я также разделяю ни раз высказанные предложение всё же стараться распространять своё ПО более доверенным способом (на самом деле для любого линукса), а именно через репозиторий. С точке зрения самого безграмотного пользователя это самый простой, безопасный и дружелюбный вариант установки ПО. Всё прочее -- зло и повод для дискуссий. :-)