У меня новая порция вопросов по шароварению под Mac. Я скорее всего не смогу продвигать свою программу официально через AppStore, по разным причинам. Есть варианты установки непроверенных приложений под Mac:
Тут всё просто, но наверно если уж так распространять программу, надо дать юзерам какие-то гарантии, что в моём дистрибутиве нет вирусов. Хотелось бы иметь возможность прогнать программу через Virustotal или аналоги, и показать юзерам скриншоты что вирусов нет. Но когда я попытался нагуглить конкретику про Virustotal, я ничего не понял:
Тут написано что надо скачать какие-то аплоадеры, отдельно для Windows и отдельно для Mac. Вроде раньше можно было для Windows программы просто прислать им email с екзешником, теперь иначе? И непонятно — если у меня есть дистрибутив Mac программы (который мне скомпилировал другой человек), но нет собственно Mac-а, как мне быть?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен
Re: Распространение программы на Mac без стора и Virustotal
Здравствуйте, Khimik, Вы писали:
K> https://support.virustotal.com/hc/en-us/articles/115002179065-Desktop-Apps
K> Тут написано что надо скачать какие-то аплоадеры, отдельно для Windows и отдельно для Mac. Вроде раньше можно было для Windows программы просто прислать им email с екзешником, теперь иначе? И непонятно — если у меня есть дистрибутив Mac программы (который мне скомпилировал другой человек), но нет собственно Mac-а, как мне быть?
А просто скормить вирустоталу url на исполняемый модуль со своего сайта не вариант?
Здравствуйте, Khimik, Вы писали:
K>И непонятно — если у меня есть дистрибутив Mac программы (который мне скомпилировал другой человек), но нет собственно Mac-а, как мне быть?
Я раньше запускал хакинтош на виртуалке на процессоре Intel. Если сможешь войти на rutracker через антизапрет или ещё как, вот ссылка.
У меня процессор Intel i7-4790K и это работало. А вообще у Apple же сейчас процессоры M1 и так далее. И одно дело выпускать в обход Mac App Store, другое дело не иметь сертификатов. Плюс там куча версий MacOSX.
Попробуй на виртуалке какой-нибудь хакинтош. Это конечно ни о чём, но всё таки какой-то старт, если нет Mac чего-то там.
Re[2]: Распространение программы на Mac без стора и Virustotal
Здравствуйте, velkin, Вы писали:
V>У меня процессор Intel i7-4790K и это работало. А вообще у Apple же сейчас процессоры M1 и так далее. И одно дело выпускать в обход Mac App Store, другое дело не иметь сертификатов. Плюс там куча версий MacOSX.
Можно подробнее, что такое сертификаты? Я думал, сертификаты есть для сайтов, а не для исполняемых файлов.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен
Re: Распространение программы на Mac без стора и Virustotal
Здравствуйте, Khimik, Вы писали:
K>Тут всё просто, но наверно если уж так распространять программу, надо дать юзерам какие-то гарантии, что в моём дистрибутиве нет вирусов. Хотелось бы иметь возможность прогнать программу через Virustotal или аналоги, и показать юзерам скриншоты что вирусов нет. Но когда я попытался нагуглить конкретику про Virustotal, я ничего не понял:
Не совсем ответ о virustotal, на маках обычно достаточно подписать приложение и нотаризовать (удовольствие стоит $100 в год), и тогда на вирустотал не загружают.
Re[2]: Распространение программы на Mac без стора и Virustotal
Здравствуйте, rudzuk, Вы писали:
K>> https://support.virustotal.com/hc/en-us/articles/115002179065-Desktop-Apps
K>> Тут написано что надо скачать какие-то аплоадеры, отдельно для Windows и отдельно для Mac. Вроде раньше можно было для Windows программы просто прислать им email с екзешником, теперь иначе? И непонятно — если у меня есть дистрибутив Mac программы (который мне скомпилировал другой человек), но нет собственно Mac-а, как мне быть?
R>А просто скормить вирустоталу url на исполняемый модуль со своего сайта не вариант?
Ну я посмотрел — там можно закачать файл с компьютера, мне так сейчас проще. Но хочется проверить, сорри если глупые вопросы — Virustotal точно распознаёт, где закачан Windows файл а где Mac? Я имею в виду, что если я закачал ему дистрибутив Mac-программы, он не проверяет её только на Windows-вирусы?
Вообще хотелось бы разобраться, в каком формате распространяются дистрибутивы программ под Mac. Мне показалось, что обычно создаётся архив program.app.zip, в нём есть каталог program.app (а в нём есть Contents/MacOS/program — исполняемый файл без расширения), и когда Mac автоматически распаковывает этот архив, он вытаскивает файл program.app и этот файл является дистрибутивом, аналогичным .apk файлу в Android. Всё так? Я закачал этот файл program.app.zip в Virustotal, он всё правильно должен проверить? А если я хочу добавить а архив дополнительные файлы для юзера, их лучше разместить в верхнем каталоге, рядом с каталогом program.app?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен
Re[3]: Распространение программы на Mac без стора и Virustotal
В новой версии macOS Apple сделала обязательными некоторые требования к приложениям, которые раньше были рекомендациями: 64-битные исполняемые файлы, подписывание и нотаризация. Не удовлетворяющие этим требованиям приложения больше запускаться не будут.
...
Особенно актуально это для разработчиков игр, публикующих игры для Mac в Steam. До недавних изменений игры, запущенные из Steam, не нужно было подписывать и подвергать нотаризации, но теперь они должны подчиняться тем же правилам, что и все остальные.
У тебя в ссылке в топике как раз запуск приложения без сертификации.
Что необходимо для подписывания и нотаризации приложения:
1. Компьютер Mac, достаточно новый, чтобы на нём можно было запустить Xcode 11, то есть достаточно новый, чтобы запустить macOS 10.14.3. Если вы ещё не установили Xcode, то потребуется 25 ГБ свободного места для установки.
2. Если вы пока не являетесь официальным разработчиком Apple, то для членства необходим логин Apple ID и примерно 110 долларов США. -> (99$/год)
В Windows, кстати, тоже есть заморочки, но можно и забить на сертификацию. Но посмотри даже на RSDN в раздел "Shareware и бизнес", там часто всплывают темы по сертификации приложений. Особенно "весело" стало российским разработчикам после СВО и санкций. Платить теперь с иностранных карт, изворачиваться.
Как я выше уже написал для разработки для начала сойдёт какая-нибудь готовая виртуалка с рутрекера. Можно брать и образы для установки, но у меня они что-то не ставились. А там уже можно попробовать скомпилировать приложение. Но в целом сдаётся мне, что те кто разрабатывают для MacOSX всё же покупают членство разработчика Apple и имеют хоть какое-то Mac железо от Apple.
Просто смотри, распространять можно, что угодно. Можно даже iPhone взломать и для таких людей делать сборки. Но если не хочешь лишних сообщений для пользователей, то даже в MacOSX придётся идти на поклон к Apple и платить. Разработчики то как бы уходят от Apple, некоторые старички со стабильным оправдывающим себя доходом остаются, а вот приходят только те, у кого есть деньги на такие разработки.
Это как бы сказать, есть коммерческие компании или предприниматели, которые готовы рисковать деньгами чтобы получить прибыль с Apple. А если не готов, вон есть Windows, там при установке просто игнорируй сообщение о неизвестном происхождении приложения. И то люди заморачиваются, башляют центрам сертификации, хотя казалось бы это явное надувательство со стороны компаний США.
А вот в типичном популярном дистрибутиве GNU/Linux, для примера Debian и так далее, такого нет. Захотел и поставил приложение. Захотел и загрузил драйвер, или даже скомпилировал. Всё работает, никто никому мозги по поводу "безопасности" отбашляй компании США не компостирует. Но, конечно, кто-то скажет в гробу я видел ваш 1-2% от аудитории.
Re[4]: Распространение программы на Mac без стора и Virustotal
Здравствуйте, velkin, Вы писали:
K>>Можно подробнее, что такое сертификаты? Я думал, сертификаты есть для сайтов, а не для исполняемых файлов.
V>Сам я не покупал сертификаты ни для MacOSX, ни для Windows. Но ссылок на эту тему полно.
V>Как подписывать приложения для macOS Catalina 10.15 V>
V>В новой версии macOS Apple сделала обязательными некоторые требования к приложениям, которые раньше были рекомендациями: 64-битные исполняемые файлы, подписывание и нотаризация. Не удовлетворяющие этим требованиям приложения больше запускаться не будут.
V>...
V>Особенно актуально это для разработчиков игр, публикующих игры для Mac в Steam. До недавних изменений игры, запущенные из Steam, не нужно было подписывать и подвергать нотаризации, но теперь они должны подчиняться тем же правилам, что и все остальные.
V>У тебя в ссылке в топике как раз запуск приложения без сертификации.
А Apple не запрещает россиянам сертифицировать свои программы за то, что они россияне?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен
Re: Распространение программы на Mac без стора и Virustotal
Здравствуйте, Khimik, Вы писали:
K>У меня новая порция вопросов по шароварению под Mac. Я скорее всего не смогу продвигать свою программу официально через AppStore, по разным причинам. Есть варианты установки непроверенных приложений под Mac:
Не совсем по теме, просто несколько соображений как человека перешедшего на мак когда это было модно — в 2006 году
Есть распространенное мнение что вирусы и трояны на маках если и есть то такие, которые при установке спрашивают владельца разрешение на установку и просят ввести пароль. Таким образом любой неожиданный диалог когда программа просит вас ввести что нибудь вызывает настороженность и желание эту программу прибить.
Так что способы запустить неподписанную есть но вот ожидать что пользователи побегут их использовать для запуска программы из интернета не стоит.
Яблочный народ любит тратить деньги на программы но они любят когда эти программы работают без плясок с бубнами.
Похоже путь только один — покупать Apple Developer Program Membership (как обсуждают в соседней ветке) и подписывать и нотаризировать свою программу. Пока весь процесс подписей и нотаризаций работает.
Re[5]: Распространение программы на Mac без стора и Virustotal
А про Apple я пока только читал, что люди мучаются с оплатой из-за санкций. Но в соседних темах пока ещё ходят довольные, значит их ещё окончательно не забанили за принадлежность к России. Так только российские покупатели не будут ничего покупать через Apple. А вывод денег от мировых покупателей в Россию через кучу ухищрений, которые постепенно отваливаются. А в остальном всё хорошо.
Здравствуйте, Khimik, Вы писали:
K> R>А просто скормить вирустоталу url на исполняемый модуль со своего сайта не вариант?
K> Ну я посмотрел — там можно закачать файл с компьютера, мне так сейчас проще. Но хочется проверить, сорри если глупые вопросы — Virustotal точно распознаёт, где закачан Windows файл а где Mac? Я имею в виду, что если я закачал ему дистрибутив Mac-программы, он не проверяет её только на Windows-вирусы?
Он совершенно точно умеет отличать исполняемые модули разных систем.
K> Вообще хотелось бы разобраться, в каком формате распространяются дистрибутивы программ под Mac. Мне показалось, что обычно создаётся архив program.app.zip, в нём есть каталог program.app (а в нём есть Contents/MacOS/program — исполняемый файл без расширения), и когда Mac автоматически распаковывает этот архив, он вытаскивает файл program.app и этот файл является дистрибутивом, аналогичным .apk файлу в Android. Всё так?
Обычно, софт для маков распростаняют в формате dmg.
K> Я закачал этот файл program.app.zip в Virustotal, он всё правильно должен проверить?
Антивирусы давно умеют архивы проверять. Тут беспокоиться не о чем.
Moжно даже и на торренты не ходить — хрен его знает, что в эту сборку способны запихнуть шаловливые ручки её анонимного автора — а поставить вирт. макось самостоятельно. Вот скрипты для автоматизированной установки: https://github.com/myspaghetti/macos-virtualbox
V>Попробуй на виртуалке какой-нибудь хакинтош. Это конечно ни о чём, но всё таки какой-то старт, если нет Mac чего-то там.
Еще один вариант — арендовать физический M1 Mac Mini. У Amazon и прочих зажравшихся монополистов цены на такие услуги неоправданно высоки ($0.6 в час), а у, например, французского провайдера Scaleway — вполне божеские (€0.11 в час, минимум — сутки). Самое то, если пишешь кросс-платформу, повседневно используя для этого другую систему, а мак для тестов и сборок нужен лишь эпизодически.