Разница между свободным и проприетарным ПО

Недавно мне на глаза попалась статья о разнице между проприетарным и открытым ПО. Статья была опубликована на BBC, от чего читать её было особенно тошно. Там было много букв, но смысл сводился к следующему: свободно ПО – ПО с открытым исходным кодом, и любой может его использовать. По той же причине качество такого ПО гарантировать никто не обязан. А также на него не распространяется авторское право. Проприетарное же ПО является объектом интеллектуальной собственности, и получить его можно только путём покупки лицензии. Основные тезисы даже выделены в рамочки. И оно не бросилось бы в глаза, если бы это был блог Васи Пупкина из начальной школы. Но тут пройти мимо было нельзя. Статья выглядит как сочинение первоклассника, который не выучил тему, по которой вынужден писать. “Трава зелёная, небо синее, а в Китае живут китайцы”. Но статья не просто не о чём. Она вводит в заблуждение рассуждениями автора, который не в зуб ногой ни в юридической части, ни в практической. И так, чем же отличается проприетарное ПО от свободного? Исходным кодом. В проприетарном он закрыт, в свободном он открыт. Других различий в нём нет. Всё остальное – нюансы, зависящие от разных факторов. И вообще, сам термин “свободное ПО” не совсем корректен. Red Hat Enterprise Linux – операционная система с открытым исходным кодом, лицензия на которую, в большинстве случаев, стоит дороже, чем лицензия на Microsoft Windows 10 Pro. При этом последняя – стопроцентный проприетарный продукт. Проприетарное и ПО с открытым исходным кодом может распространяться как бесплатно, так и за деньги. Например, Skype распространяется бесплатно, но это проприетарное ПО. Упомянутая же выше ОС от Red Hat стоит денег несмотря на открытый исходный код. Здесь уже в силу вступают различные лицензии, коих множество, и перечисление их особенностей заняло бы слишком много времени. Понятие “Свободное ПО” – это больше философия, нежели чёткая модель. Для обывателя “свободное” – часто синоним “бесплатного”, что в корне неверно. Так называемая ShareWare модель подразумевает бесплатное распространение проприетарного ПО, защищённого копирайтом. Его нельзя использовать каким-либо другим способом, не оговоренным в лицензионном соглашении. Тогда как понятие “свободное ПО” подразумевает отсутствие вообще каких-либо ограничений, что так же закреплено в лицензии на это ПО (так называемый copyleft). Яркий пример – лицензия BSD, под которой выходит операционная система FreeBSD. Код FreeBSD открыт и его использование не накладывает практически никаких обязательств. Лицензия всего лишь обязывает к упоминанию первоисточника в производных продуктах. Свободное ПО – не синоним понятия “Open Source” (открытый исходный код). Варианты лицензии GPL, под которой выходит Linux и большая часть компонентов операционных систем на его основе, обязывает к публикации любого производного ПО под той же лицензией. Другими словами, нельзя взять код Linux и на его основе выпустить проприетарный продукт. То есть это не совсем “свободное ПО”. Существует ряд лицензионных ограничений.Microsoft в своё время вела настоящую войну против Open Source продуктов, что сводилось, в основном, к дискредитации. Их бывший генеральный директор, Стив Балмер, при каждом удобном случае, как мантры повторял пророчества о неминуемой скорой смерти подобного ПО и невозможности его широкого применения. На самом деле открытый исходный код просто угрожает их моделе распространения собственного ПО. На момент выхода Windows XP на серверах Microsoft использовалась ОС FreeBSD. И по сей день львиная доля серверного ПО по всему миру – это Open Source. Связано это с тем, что в мире Open Source невозможно возникновение монополий, а Microsoft – первое, что приходит на ум в связке со словом “монополия”. Потребитель не зависит от отдельно взятой корпорации. Если кто-то начинает выпускать некачественный продукт и просить за него несоизмеримые деньги в мире открытого кода, на его место тут же придёт другой и предложит тот же инструмент, но надёжнее и дешевле. Отсюда же следует, что качество готового решения – одна из основных определяющих при выборе. Как бы выглядел Интернет сегодня, если бы какая-нибудь корпорация владела правами на всё серверное ПО? Для конечного потребителя контента доступ в Интернет был бы событием. Стоило бы это не дёшево. С точки зрения развития технологий, Open Source так же является двигателем. Проприетарное ПО – это всегда сложные лицензии и патенты. Проще написать что-то с нуля, чем исправить чужой продукт. Да и сами владельцы прав не очень-то спешат, когда дело касается новшеств и исправления некритических багов. Особенно если прямых конкурентов на рынке нет. Никто не ждал бы несколько лет, пока Microsoft исправит систему обновлений Windows, будь исходный код открыт. Тут же бы возникло несколько форков, да и сама Microsoft всё бы исправила в кратчайшие сроки, дабы остаться на рынке. С коммерческой точки зрения открытый код тоже работает, но не приносит миллиардов с продаж копий. Деньги зарабатываются в основном на сопровождении продукта, а не на выпуске. Если сравнивать модели, то тут не всё однозначно. Для конечного потребителя высокий уровень конкуренции всегда на пользу, так как больше выбор и ниже цены. Большинству не важно, открыт исходный код продукта, или закрыт, так как разобраться в нём неспециалисту практически невозможно. Но при открытом коде всегда возможен независимый аудит. Если готовый продукт делает что-то, согласно заверениям разработчиков, делать не должен, то об этом сразу станет известно. Тогда как в случае использования проприетарного ПО, отношения разработчика и потребителя строятся исключительно на доверии, так как никто, кроме самого разработчика, не скажет, что именно содержится в коде. Что именно делает программа в ваше системе, куда и какие данные она передаёт – всё на совести производителя. Если разработчик продукта выпускает что-то инновационное, но не знает как на нём заработать, кроме как брать деньги за копии, то проприетарная модель для него предпочтительнее. В случае открытого исходного кода продукт тут же уйдёт “в народ” и зарабатывать на нём будет тот, кто первый придумает как. Факт разработки будет красиво смотреться в резюме, но денег не принесёт. Если разработчик знает как заработать на продукте, у продукта большие перспективы развития, но хромает реализация, то модель “Open Source” поможет добиться большего. Например, Линус Торвальдс в 2020-ом году внёс вклад в код текущего ядра Linux на 3,19 процента. То есть, это его правки, а всё остальное – частные сторонние разработчики и корпорации. Я не хочу сказать, что его реализация изначально хромала, но он был один. И где был бы Linux сейчас, если бы Линус изначально выбрал проприетарную модель? Однако и в мире открытого исходного кода развитие тоже не всегда стремительное. На сегодня из мира Open Source именно Linux со своей “ShareAlike-подобной” лицензией доминирует на настольных ПК, а не FreeBSD с практически “копилефтной”. Как уже было сказано выше, BSD не обязывает публиковать исходный код производных продуктов. Имеется в виду, что без лишней пляски вокруг лицензий, разработчики будут брать код и в равной степени вкладывать в него свои наработки, которые так же будут доступны всем. На практике же мало кто знает, что в MacOS используется кодовая база BSD (предок FreeBSD), а операционная система в Playstation от Sony основана на FreeBSD, тогда как в самой FreeBSD дела с играми, мягко говоря, не безоблачны. Лицензия же Linux обязывает публиковать исходный код, от чего развивается всё это очень стремительно. Ядро Linux писалось как свободная альтернатива Unix, и первый релиз состоялся в 1991-ом году. Тогда же и состоялся первый релиз ОС на этом ядре. Старейший из ныне живущих дистрибутивов – Slackware, вышел в 1993-ем. BSD же увидела свет аж в 1977-ом и была ответвлением уже существовавшей на тот момент, Unix. FreeBSD вышла тогда же, когда и Slackware – в 1993-ем. И на сегодня разница между FreeBSD и Linux для домашнего, повседневного использования очевидна. И она не в пользу FreeBSD. И так, как видно из всего вышесказанного, существует два основных типа программного обеспечения: проприетарное и ПО с открытым исходным кодом. В этом и их принципиальная разница. Речь не о том, что лучше или хуже. Оба типа имеют как свои плюсы, так и свои минусы, что в свою очередь зависит от множества факторов. Оба типа имеют право на существование и совсем не очевидно, что какой-то тип рано или поздно победит. На мой сугубо личный взгляд, Open Source будет доминировать в будущем, но в конечных продуктах будут применяться гибридные решения. Проприетарное ПО может занять какие-то определённые ниши, но всегда будет на рынке в том или ином виде, если не произойдет какого-то революционного изменения в мире ПО в целом. Например, Skynet вряд ли будет руководствоваться различиями между этими двумя типами ПО при конвейерной штамповке терминаторов. Но пока этого не произошло, речь будет идти только о процентах, а не победе одного над другим.

Go to Source
Author: Tatyana

Google анонсировала отключение ряда API в Chromium

Кроме того, что компания Google – поисковый гигант и крупнейшая транснациональная корпорация, она так же знаменита спорыми решениями по поводу своих продуктов и сервисов. Одно из таких решений было озвучено совсем недавно. Google объявила об удалении ряда API из проекта Chromium и ChromiumOS. Список API, доступ к которым будет прекращён с 15-го марта 2021-го года: Google account sync, Geolocation, Click to Call, Chrome spelling API, Contacts API, Chrome translate element, Safe browsing. Для тех, кто не знает, Chromium – кодовая база, из которой впоследствии собирается браузер Google Chrome. Конечный продукт выпускается под собственной лицензией, тогда как Chromium — это Open Source. Несмотря на то, что львиная доля финансирования Chromium поступает от Google, открытый исходный код проекта позволяет сторонним компаниям использовать его для сборки собственных браузеров. Таких браузеров множество. Кто-то берёт код Chromium за основу, добавляя ряд собственных наработок и сервисов, кто-то просто переписывает логотипы. На текущий момент Chromium – основа для всех крупных игроков на рынке. Это и Microsoft со своим Edge, Mozilla со своим Firefox, Opera с одноимённым браузером и так далее. В России так же есть множество примеров “отечественных” браузеров с разной степенью жизнеспособности. В разное время пересборкой Chromium занимались Rambler, Mail Ru, Ростелеком и список можно продолжить. Один из самых удачных и жизнеспособных примеров — это Яндекс Браузер, так же основанный на Chromium, но использующий инфраструктуру Яндекс (перевод страниц, интеграция аккаунтов, синхронизация с серверами Яндекса и так далее). В Google своё решение объяснили соображениями безопасности. Но всем понятно, что дело не только в этом, так как около семи лет проблемы в этом никто не видел. Дело в том, что ряд браузеров на основе Chromium используют инфраструктуру Google. Это и синхронизация данных (таких как закладки, пароли и прочее) и ряд других функций, связанных с вышеперечисленными API. Крупные компании заменяли всё это своими сервисами, тогда как “на коленке писанные” решения от игроков поменьше, выходили с собственным логотипом, но в связке с аккаунтом Google. В Google решили положить этому конец. Как это решение повлияет на обычного пользователя? На пользователей Mac и Windows почти никак, если пользователь не использует малоизвестный браузер со вшитой авторизацией в Google. Имеется ввиду авторизация в настройках самого браузера. Если там используется Google аккаунт, то с 15-го марта у таких пользователей начнутся проблемы. Для пользователей же десктопных операционных систем на ядре Linux дела обстоят сложнее. Несмотря на то, что официально Chromium не имеет готовых сборок для повседневного использования, репозитории всех крупных дистрибутивов содержат таковые. Это опять же связано с тем, что Chromium — это Open Source. Для большинства дистрибутивов это тот же Chrome со всеми его возможностями, но с другим логотипом. Отследить аудиторию Chromium практически невозможно, так как user-agent у Chrome и Chromium один и тот же, но подавляющее большинство пользователей Linux используют именно Chromium. И это проблема. Те, кто не следит за новостями в мире ПО, столкнутся с невозможностью авторизации в Google. Выглядеть это будет как сбой на стороне Google, или баг на стороне дистрибутива. При этом “шатдаун” затронет не только новые версии браузера, но и старые. То есть даунгрейд не поможет, даже если абстрагироваться от всех других очевидных негативных последствий подобного решения. Очевидно, что Google таким образом пытается убить двух зайцев одним выстрелом: перевести всех пользователей Chromium на официальный Google Chrome и избавится от паразитирующих на их инфраструктуре сторонних производителей браузеров. Но на самом деле дальнейшее предсказать трудно. Скорее всего аудитория Google Chrome сократится. По крайней мере в мире Linux. Для большинства дистрибутивов установка Google Chrome – не проблема. Но закрытый код не даёт возможности произвести более тонкую оптимизацию на стороне отдельно взятого дистрибутива, кроме простой переупаковки пакета. Так же политика многих дистрибутивов не позволяет им иметь проприетарное ПО в основных репозиториях. Google же не может гарантировать стабильность на всех дистрибутивах из-за их множества. Официально в Google поддерживают только Debian, Ubuntu, Fedora и openSUSE. Пользователям других дистрибутивов предлагается Chromium. Таким образом, для большинства пользователей Linux пришла пора либо менять браузер, либо искать сторонние сервисы по синхронизации закладок и паролей, если закладки и пароли — это единственное, что будет проблемой после отключения API. Также хочу заметить, что отключение API не повлечёт за собой удаление всей информации. Все данные по-прежнему будут храниться в Google, и доступ к ним будет возможен через Google Chrome.

Go to Source
Author: Tatyana

Трансгендеры, принявшие участие в опросе, хотели бы сделать пересадку женских половых органов

Женщины — это людиОригинальное исследование “восприятия и мотивации трансгендерных женщин к трансплантации матки” было опубликовано на сайте Журнала Американской медицинской ассоциации (JAMA Network™) 20 января 2021 года. Среди полученных результатов следует отметить, что 90% респондентов “твердо согласились или согласились с тем, что трансплантация функционирующего влагалища улучшит их сексуальный опыт” и “99% полагают, что трансплантация матки приведет к большему счастью у трансгендерных женщин”. 88% респондентов сказали, что менструация подтвердит их чувство “гендерной идентичности”, а 94% респондентов сказали, что они достигнут такой “гендерной” валидации (соответствия требованию клиента — примечание переводчицы), если смогут “вынашивать и рожать детей”.”Лишь немногие из опрошенных решили завести детей до прохождения процедур “гендерного подтверждения”. 77% указали, что они были бы “более склонны к криоконсервации спермы, если бы трансплантация матки стала реалистичным вариантом.” Взятые вместе, эти два фактора, по-видимому, предполагают, что респондентами движет в первую очередь не желание быть родителями детей, а желание испытать процесс вынашивания и родов сами по себе. В прошлом месяце журналистка Дженнифер Билек, наиболее известная своей работой по отслеживанию богатых спонсоров, которые финансируют трансгендерное движение, отметила рост числа мужчин, “фантазирующих о своей собственной беременности и менструации.” Журнал Mel опубликовал опыт мужчин, таких как Джордж из Сакраменто, штат Калифорния, которому “было 7 лет, когда он понял, что хочет выносить ребенка другого мужчины. Он с завистью смотрел на женщин, ковыляющих в автобусы с опухшими и розовыми от чрезмерного веса лодыжками.” Прежде чем романтизировать “мужественные беременные тела с накачанными протеиновым коктейлем руками, сжимающими детские попки”, журнал делится бурными эмоциями мужчины: “Мне определенно нравится идея человека, придавленного массивным животом, таким тяжелым и громоздким, что он не может двигаться. Иногда мне самому хочется быть большим, беспомощным телом для производства младенцев!” Mel поэтично пишет о мужчинах, “которые мечтают об огромных грудях, колышущихся от молока, и, в частности, о непроизвольной лактации. ”Один такой мужчина заявляет: “Если бы я мог, я бы с удовольствием попробовал с удовольствием. Я представляю, как прекрасно, когда ребёнок сосет мою грудь”. Женевьева Глюк, написавшая ”Влияние порнографии на трансгендеризм: Распространение сисси-гипно в социальных сетях“, подразумевает ”сиссификационный гипноз“ в явном росте тоски мужчин по женскому телу и связанной с ним репродуктивной системе и процессам. Известная как “сисси-гипно”, порнография ориентирована на мужчин и “обычно включает мужчин, носящих нижнее белье и занимающихся “принудительной феминизацией” – эротизацией иллюзии того, что их заставляют стать женщинами через одежду, макияж и сексуальную покорность, а также фетишизацией унижения.” В докладе JAMA делается вывод, что “желание и готовность трансгендерных женщин подвергнуться трансплантации матки могут обосновать необходимость дальнейших исследований на животных и на женских трупах, которые необходимы для оценки целесообразности выполнения этой процедуры у трансгендерных женщин.” JAMA пишет, что целью трансплантации матки мужчинам, которые идентифицируют себя как женщины, является “облегчение дисфорических симптомов, усиление чувства женственности и потенциальное улучшение ощущения счастья и качества жизни, несмотря на значительные связанные с этим риски”.Призывы к исследованиям для оценки возможности пересадки матки в мужские тела достигли апогея в 2019 году после публикации Британским медицинским журналом статьи “Трансплантация матки у женщин, генетически являющихся XY”. Первая известная трансплантация матки мужчине, идентифицирующему себя как женщину, состоялась в 1931 году. Это был датский художник Эйнар Вегенер, который также был известен как Лили Ильзе Эльвенес или Лили Эльбе, и чья жизнь была описана в фильме Тома Хупера “Датская девушка” (2015 год), пациент умер от осложнений через три месяца после процедуры трансплантации.Существуют и другие факторы, которые могут создать проблемы для жизнеспособной трансплантации матки, которая позволила бы мужчинам вынашивать и рожать. Например, организм женщины вырабатывает идеальный баланс гормонов для поддержания беременности. Гены, унаследованные от матери, GDF1 и GDF3, необходимы для развития эмбриона. Во время беременности у женщины развивается плацента, которая снабжает кислородом и питательными веществами будущего ребенка. Женщины имеют определенное строение костей таза, которые вмещают растущий плод. Поскольку пересадка матки от одной женщины к другой приводит к большему риску выкидышей и смерти новорожденных, неясно, как ученые собираются воспроизводить сложные физиологические и гомеостатические механизмы, необходимые для обеспечения доношенной беременности и родов у людей с мужской биологией. Источник: Женщины — это ЛюдиПеревод: Наташа Биттен

Go to Source
Author: Wander_Woman

Android: Удаление вшитых приложений без Root

Так называемое Bloatware – беда любого устройства, купленного в ритейле. Если на устройстве есть операционная система и предусмотрен выход в Интернет, производитель обязательно напихает туда кучу всякого “жизненно необходимого” дерьма, в лучшем случае о существовании которого пользователь может и не знать. Иначе же оно постоянно предлагает купить “полную версию”, дать ему разрешение на всё для “улучшения качества” и “удобства использования”. “Мы передаём данные партнёрам (далее идёт список) для предоставления Вам персонализированного доступа, с учётом Ваших интересов и предпочтений”. Далее требуется разрешить приложению доступ к геолокации, списку контактов, отмечать лица на фото, читать текст с экрана и так далее. И единственное, для чего это приложение существует – навязывать вам игры, разработчики которых заплатили производителю вашего устройства и предлагать рестораны, которые так же не за “спасибо” рекламируются всем, кто по стечению обстоятельств оказался в той же части города. Вы участвуете в похоронной процессии, а смартфон в кармане блямкает, так как за углом есть замечательный стрип-клуб. Microsoft просит за лицензию на Windows $200 и первое, что вы увидите после нажатия кнопки “Пуск” — это Candy Crush и Bubble Witch. И периодически этот список будет пополняться сам, даже если ничего из этого вы никогда не откроете. Другими словами, Microsoft удостоила вас чести за ваши 200 баксов получить цифровой рекламный буклет. Им уже заплатили все, кто в этом буклете представлен, а теперь платите вы, покупая лицензию на Windows. Вообще, для того чтобы брать деньги с пользователя за Adware нужен талант. У маркетологов Microsoft он определённо есть. Когда начинаешь настраивать только что купленный гаджет от Samsung, удивляешься: почему они вообще берут за них деньги? Ведь за стоимость производства и даже доставки к вам под дверь, давно заплатили Facebook и Verizon. А учитывая то, сколько “предложений” ещё будет продано в явной и завуалированной форме, за время эксплуатации этого гаджета, Samsung должна платить потребителю, а не наоборот. Основная проблема на устройствах с Android в том, что Bloatware обычно “вшито” в систему. У пользователя нет прав доступа к системному разделу ОС. А Facebook платит не за то, чтобы приложение можно было взять и удалить в один клик сразу после покупки гаджета. Все эти “жизненно важные” приложения установлены именно в системный раздел. Максимум, что может сделать пользователь – “заглушить” приложение, удалив все его обновления и сделав его “неактивным”. Практика показывает, что “неактивные” приложения нередко “просыпаются” после системных обновлений. Я видела китайский смартфон со вшитыми приложениями Yandex, Yandex Browser и Yandex Launcher, где этот самый Launcher вообще никак нельзя убить. То есть Самсунговский One UI можно просто отключить, предварительно поставив сторонний Launcher. Вы делаете сторонний Launcher приложением по умолчанию, перезапускаете смартфон и далее пользуетесь тем, к чему привыкли и что вам больше нравится. Yandex же подстраховался на этот случай. При отключении у приложения от Yandex всех прав на изменения системных настроек и установке галки “по умолчанию” на другой продукт, Yandex делает вид, что всё в порядке. После перезагрузки смартфона все снятые галки опять на месте и Алиса издевательски: “Чем Вам помочь”? Та же беда с браузером. Его можно отключить, но когда он включен, он всегда “по умолчанию”. Забавно, когда в Yandex начинают рассуждать о честной конкуренции, показывая пальцем в сторону Google. Вообще, идея с системными разделами – идея правильна. То, что происходит на рынке со вшитыми приложениями — это юрисдикция антимонопольных ведомств. С технической же точки зрения — это система защиты. И это не только защита “от дурака”, не позволяющая пользователю удалить “звонилку” с телефона. В Linux существует достаточно продвинутая система прав доступа и в Android, как в ОС на ядре Linux, она используется именно для защиты данных. Всё, что ставит пользователь со своими пользовательскими правами, не может получить права на запись в системных разделах. По той же причине устройства на Android практически неубиваемые. Если там нет физических и аппаратных повреждений, то как бы не был загажен смартфон пользователем, простой сброс “к заводским настройкам” приведёт его в то состояние, в котором он был при покупке. Да, телефон может заглючить из-за косого обновления от производителя или несовместимых приложений, но пользователь не имеет возможности что-то сломать без возможности восстановления. Многие слышали о “рутировании”. Root-доступ — это права администратора в Linux. Как на ПК пользователь с root-доступом может сделать что угодно, так и на “рутированном” гаджете. Официально Google осуждает подобные практики, но на деле серьёзно этому не противостоит. В Google Play море всяких приложений, для работы которых нужен root-доступ. Вы не найдёте там приложений, предоставляющих этот доступ, но поиск в Google покажет всё, что для этого нужно. Если всё так просто, то почему root-доступ не предоставляется как на ПК, например? Потому что в реальности не всё так просто. Если не брать во внимание защиту “от дурака”, что немаловажно для тех же гарантийных центров, наличие в смартфоне возможности повышения прав до администраторских приведёт к резкому появлению вирусов и прочего ПО, ворующего данные и включающие устройства в бот-неты. Смартфон на Android, в плане безопасности станет тем же, чем являются ПК на Windows XP. В связи с тем, что официальных инструментов “рутирования” не существует, доступны только кустарные, что несёт в себе дополнительные риски. Даже если вы безоговорочно доверяете команде, которая предоставила вам инструмент для “рутирования” и они действительно не вшили туда что-либо мерзкое, то это всё равно ещё одна лишняя дверь для эксплойтов и шанс “окирпичить” ваше устройство, даже если вы очень осторожны. По той же причине банковские приложения либо отказываются работать на “рутированных” устройствах, либо путём оферты и предупреждений о возможных рисках снимают с себя всю ответственность. Root-доступ – не абсолютное зло, и при определённых условиях, и с определёнными навыками пользователя имеет право на существование. Но “рутировать” смартфон только для того, чтобы вычистить bloatware – идея плохая. Рассмотрим вариант удаления хлама без root-доступа… Android – система многопользовательская, как бы глупо это не звучало. Это мы и будем эксплуатировать в дальнейшем. Нам понадобится ПК на Linux, Windows или Mac. Я приведу пример установки соответствующего ПО на Mac, но не смогу объяснить возможные нюансы, так как лично никогда этого не делала на Маках. На ПК нам нужно поставить ADB-инструменты для доступа к гаджету через консоль с ПК. Самый простой способ поставить ADB на Windows — это Chocolatey. Посмотрите соответствующую статью о Chocolatey, если не знаете, что это такое. Для установки через Chocolatey используйте следующую команду в PowerShell: choco install adbТак же ADB — это часть Android Studio, со всеми вытекающими. Установка этого набора только для ADB мне кажется излишней. Для Mac используйте следующее: ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”brew cask install android-platform-toolsВ репозиториях вашего дистрибутива Linux также должно быть всё необходимое. Например, для Arch это пакеты “android-tools” и “android-udev”, для Ubuntu “android-tools-adb” и “android-tools-fastboot”. На стороне устройства нужно включить режим разработчика. В этом нет ничего страшного и на некоторых устройствах он уже включен. Режим даёт доступ к некоторым настройкам, которые в повседневном использовании устройства не нужны. В настройках вашего устройства, в самом низу, в разделе “об устройстве” нажмите семь раз на номер сборки. Пункт так же может быть спрятан в подразделе “Информация о ПО”. После чего вы увидите сообщение о том, что режим разработчика включен. Убедитесь, что в корне раздела с настройками появился пункт “опции разработчика”, также, в самом низу. Зайдите в него и найдите пункт, связанный с отладкой по USB (в разделе “отладка”). Включите его. Убедитесь, что сам режим “разработчика” включен в этом меню. Самый верхний пункт. Далее возьмите кабель от вашего зарядника и с его помощью подключите устройство к ПК. Далее, в терминале ПК введите следующую команду: adb devicesВыдача будет примерно следующей: * daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
RE6D13KSX7K deviceТо есть всё работает и внизу список устройств. Оно одно, и мы видим его серийный номер. При первом подключении устройство будет “неизвестным” (unknown). Это защита устройства. На нём вы увидите всплывающее окно с предложением запретить или разрешить отладку. Разрешите отладку и поставьте соответствующую галку, которая добавит ваш ПК в “доверенные”, дабы этот промт не появлялся при каждом подключении. После чего введите вышеуказанную команду снова. Если всё в порядке, то можно удалять bloatware. Введите следующую команду: adb shell pm list packagesЭта команда выдаст весь список установленных приложений, включая “системные” навязанные, а также реально системны, удаление которых нарушит работу вашего устройства. Список будет длинным. Строки в нём выглядят следующим образом: package:com.whatsapp
package:com.explusalpha.Snes9xPlus
package:com.android.companiondevicemanager
package:com.android.mms.service
package:com.samsung.android.rubin.app
package:com.android.providers.downloads
package:com.google.android.apps.enterprise.cpanelИ так далее. Ещё раз повторю, если вы снесёте что-то реально нужное, то тем самым повредите свой аппарат. Как отличить реально системные приложения от bloatware, если тут не всегда понятно, что к чему? В первую очередь, не трогайте то, в чём сомневаетесь. Например, я знаю, что без Яндекса телефон точно сможет работать, и я не буду страдать без Алисы и того факта, что “в целях улучшения качества обслуживания” список моих контактов окажется на серверах Яндекс со всеми последующими “чудесами”, которым подвержена любая персональная информация в России. Я уже не говорю о том, что приложения, котором всё запрещено и они уважают эти настройки, просто болтаются на устройстве и потребляют системные ресурсы без какой-либо пользы. И так, если вы хотите удалить тот же Яндекс, указанный здесь для примера, то самым безопасным способом будет уточнение его системного имени. Для этого идём в Google Play через браузер, на ПК. Ищем там нужное приложение, переходим к нему и смотрим на ссылку в адресной строке. В конце всегда указано системное имя приложения. Мы видим, что этот пакет с Алисой и прочим, занимающий на устройстве более полутора гигов места, в системе скромно называется “плагин”, а именно “ru.yandex.searchplugin”. Для удаления этого приложения введите следующее: adb shell pm uninstall -k –user 0 ru.yandex.searchpluginДолжно появиться сообщение об успешном удалении. Таким образом, командой “adb shell pm uninstall -k –user 0” можно удалить любое приложение, не важно, насколько “намертво” оно вшито. Обратите внимание на параметр “–user 0”. Как было сказано выше, Android, как и любая другая ОС на ядре Linux – многопользовательская система. Вряд ли вы практикуете коммунизм со своими гаджетами, поэтому скорее всего у вас один реальный пользователь в смартфоне. Он же номер “0”. Вышеприведённой командой мы убили приложение для конкретного пользователя. В системе оно осталось, но никак не задействовано. Это не то же самое, что “выключено”. Для текущего пользователя оно больше не существует. В Google Play мы не видим предложения “удалить обновления”, так как приложение удалено. Если вы передумали и хотите снова поставить это приложение, то установите его через Google Play и оно встанет как нормальное приложение, перестав быть “системным”. Но если вы всё же снесли что-то, что удалять не следовало (например, сам Google Play), и гаджет ещё не умер, то приложение можно восстановить. Воспользовавшись тем, что у нас есть “бэкап”, на примере того же Яндекса вводим следующее: adb shell cmd package install-existing ru.yandex.searchpluginЭто вернёт удалённое приложение. Для поиска конкретного приложения используйте опцию “grep”. Пример: adb shell pm list packages | grep facebookДанная команда покажет всё, что связано с Facebook. С Facebook вообще интересно в ряде случаев, так как вшитое приложение имеет собственный установщик, способный, судя по всему, обходить Google Play при скачивании других прелестей от Facebook, например при установке мессенджера, инициированной из основного приложения Facebook. Всё это безболезненно можно удалить. Обратите внимание, что здесь мы используем “adb shell”. Это подразумевает то, что само устройство у нас подключено и работает. Но есть так же “fastboot”. Эту команду можно использовать, когда устройство не совсем “кирпич”, но уже почти присмерти. fastboot devices
fastboot rebootПервая команда покажет список устройств, вторая сделает попытку устройство перезагрузить и так далее… Это отдельная тема и имеет нюансы для разных устройств. И так, из всего вышесказанного можно понять, что для удаления мусора root-доступ не нужен. Но удалять что-либо нужно с пониманием процесса и с осторожностью. Например, я знаю, что теоретически с устройств от Samsung можно удалить их фирменный One UI, предварительно установив другой Launcher, но на сколько это безопасно? Версия One UI указана в списке “основного” ПО в описании прошивки. При следующем системном обновлении могут возникнуть неприятности. В нормальных устройствах на Android существует два типа обновлений: Обновления приложений через Google Play или другой магазин, а также системные обновления. Патчи безопасности ядра, заплатки на известные эксплойты других системных компонентов и прочее. Если у вас дешёвый китайский смартфон, который никогда не видел и не увидит системных обновлений, то с него можно относительно безболезненно удалить практически всё, заменив это аналогами из Google Play. Но если разработчик вашего устройства периодически выпускает системные обновления, то слишком “вычищенная” система может сильно усложнить процесс обновления, или вовсе привести к тому, что обновления устанавливаться не будут. Как и во всём другом, что связано с гаджетами и компьютерами, осторожность и внимательность поможет вам избежать непредвиденных финансовых расходов и прочих неприятностей.

Go to Source
Author: Tatyana

Pritunl – собственный VPN сервис

Pritunl – Корпоративно ориентированный OpenVPN, IPsec и WireGuard VPN сервер. Звучит жутко, но вполне подходит для частного использования в личных целях. По сути, это GUI, позволяющий легко развернуть VPN сервер любому желающему. Если автоматическое развёртывание OpenVPN не удовлетворяет ваших требований, а ручная настройка утомляет, или просто хочется чего-то более профессионального, то этот материал для вас. Ближайший по характеристикам продукт – OpenVPN Access Server от OpenVPN Inc, но в отличии от Access Server, Pritunl в бесплатной версии поддерживает работу не только с OpenVPN, может работать с IPv6 “из коробки” и не имеет ограничений на количество аккаунтов и одновременно подключенных устройств. Так же это Open Source. С тарифами на платную версию можно ознакомиться в нижней части главной страницы проекта. Там же расписаны различия в версиях. Для частного же использования вполне достаточно бесплатной версии Pritunl. Так же доступно демо сервера. Это корпоративная версия, но по ней можно составить впечатление о работе любой версии продукта. Например, в бесплатной версии вы не можете объединять сервера в кластеры и использовать перенаправление портов. И так приступим к установке. Как и в остальных подобных материалах, я рекомендую DigitalOcean в качестве хостинг-провайдера за их соотношение цены и качества. Низкие цены, отличное качество. Ссылка реферальная, но ни к чему вас не обязывает. Однако, регистрация по ней окажет поддержку данному сайту. Так же вы получите $100 на месяц, что позволит вам экспериментальным путём подобрать себе нужную конфигурацию VPS. Для “домашнего” VPN на 5-10 устройств вполне достаточно минимальной конфигурации с 1 GB оперативной памяти и 1 TB трафика в месяц, что обойдётся вам в $5 (+ НДС вашего региона). На серверах DigitalOcean используется KVM-виртуализация, что означает, что оплачиваемые ресурсы полностью ваши, а не делятся между клиентами. Оплата почасовая, но счёт выставляется раз в месяц, первого числа. Если же у вас уже есть сервер, то следующий абзац можно пропустить. После регистрации и активации аккаунта, вы попадёте в контрольную панель вашей учётной записи. Виртуальные сервера (VPS) в DigitalOcean называют “Droplets” (капли). В соответствующем раздела нажмите “Create” для создания нового дроплета. Выберите конфигурацию (ОС и её версию, локацию, тарифный план и прочее). Вся документация для Pritunl ориентирована на Red Hat, клоном которой до недавнего времени являлась CentOS. Лично для меня это проблема и в данном материале я использую Debian 10. Но также приведу команды из официальной документации, которые применимы к CentOS. Локации доступны в Северной Америке, Европе и в Юго-Восточной Азии. Выберите наиболее предпочтительную. Так же я рекомендую включить поддержку IPv6 и мониторинг. Дополнительной оплаты это не требует, но связано с некоторым геморроем, если добавлять эти опции после создания VPS. Так же будет добавлен локальный сетевой интерфейс, что раньше было опцией. Это означает, что если у вас более одного сервера в одном дата центре, то связь между ними может осуществляться по локальной сети. Все остальные опции на ваше усмотрение. После установки всех параметров своего VPS нажмите “Create Droplet” для применения. Создание VPS займёт около минуты, после чего вы получите письмо с подтверждением. В разделе “Droplets” теперь отображается созданный VPS. Здесь можно посмотреть все данные и характеристики. Используйте ssh-ключ, или Root пароль для доступа к серверу через консоль. Я использую пароль, так как закрываю 22-й порт файрволом. Вы можете использовать стандартный файрвол на стороне ОС, или воспользоваться внешним, в разделе “Networking”. Опция так же не требует дополнительных расходов. Я рекомендую внешний, так как он элементарно прост и позволит вам восстановить доступ к серверу в случае ошибок с настройками Iptables. Кроме всего прочего, в панели управления доступна внутренняя консоль для каждого дроплета, которая работает в отдельном окне браузера. Она локальна, что так же позволит получить доступ к серверу, если что-то пошло не так. Обратите внимание, что для удобства лучше подключить к нашему серверу домен. Подойдёт любой домен любого уровня. Если у вас нет домена, его можно купить. Так же можно зарегистрировать домен бесплатно в определённых зонах (в основном национальные зоны некоторых африканских стран). Не забудьте настроить DNS для вашего домена. И так, после того как мы разобрались с сервером, приступим к установке нужного ПО. Имеется в виду, что ОС у нас настроена и находится в актуальном состоянии. Как уже было сказано выше, я использую Debian 10, но дублирую все действия командами для CentOS 8. Если вы так же хотите использовать WireGuard, то нужные пакеты нужно установить отдельно. Можно пропустить, если хотите использовать только OnenVPN. sudo apt install wireguardУбедитесь, что пакеты wireguard-dkms и wireguard-tools так же установились. Должны установиться автоматически как зависимости. sudo dkms status
uname -rПервая команда покажет, всё ли установлено. Обратите внимание, что ядро на VPS как правило имеет в своём имени что-то типа “cloud-amd64”. Для этого вторая команда. Убедитесь, что dkms-модуль установлен именно для текущего ядра.Для CentOS и производных используйте следующее: sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
sudo yum -y install kernel-devel kernel-uek-devel wireguard-dkms wireguard-tools
sudo dkms autoinstall
sudo dkms status
sudo rebootОбратите внимание, что для подключения клиентских устройств, на них так же должна быть поддержка WireGuard. В случае с Linux, нужно установить соответствующие пакеты для вашего дистрибутива. Ядро так же должно иметь соответствующую поддержку, что для стандартных ядер всех крупных дистрибутивов не должно быть проблемой. То есть нужно выполнить вышеприведённые действия на клиентской машине тоже. Убедитесь, что на стороне сервера фаервол настроен и работает. Для корректной работы Pritunl нужны открытые tcp-порты 80 и 443 для web-интерфейса, а также любой незанятый udp-порт для OpenVPN. Откройте также любой udp-порт для WireGuard, если собираетесь его использовать. Добавляем нужные репозитории, устанавливаем сам Pritunl и всё необходимое. Обратите внимание, что данные Pritunl хранятся в MongoDB.
sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list << EOF
deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main
EOF

sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt buster main
EOF

wget -qO – https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add –
sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com –recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo apt update
sudo apt install pritunl mongodb-org-server
sudo systemctl start mongodb-org-server
sudo systemctl start pritunl
sudo systemctl enable mongodb-org-server
sudo systemctl enable pritunl
Для CentOS:sudo tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1
EOF

sudo tee /etc/yum.repos.d/mongodb.repo << EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
gpg –keyserver hkp://keyserver.ubuntu.com –recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg –armor –export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm –import key.tmp; rm -f key.tmp
sudo yum install -y mongodb-org pritunl
sudo systemctl start mongod
sudo systemctl start pritunl
sudo systemctl enable mongod
sudo systemctl enable pritunlПосле того, как всё установлено и работает, откройте браузер и введите IP-адрес или доменное имя вашего сервера. Вам потребуется ключ установки. Для его генерации введите следующую команду в терминале: sudo pritunl setup-key Скопируйте результат и введите его в соответствующее поле запроса. Сохраните. На следующем экране вам будет нужен пароль по умолчанию, который генерируется следующей командой: sudo pritunl default-passwordДалее потребуется создать пользователя и указать другие необходимые данные. В соответствующе поля введи имя первого пользователя и придумайте для него пароль. Укажите адреса (IPv4 и IPv6) вашего сервера и порт web-интерфейса. “Lets Encrypt Domain” – доменное имя вашего сервера для сертификата Lets Encrypt. Сертификат будет выписан автоматически. Используется только для https-доступа к web-интерфейсу. Если у вас нет домена и к web-интерфейсу вы обращаетесь по ip-адресу, то оставьте поле пустым. ПО Lets Encrypt должно быть установлено на сервер отдельно. Вы всегда сможете вернуться в это меню по вкладке “Settings”.После этого вы попадёте в контрольную панель вашего сервера. Панель работающего сервера вы видели в демо. Здесь всё будет несколько победнее. Для начала нам потребуется создать “организацию”. Каждый пользователь должен входить в одну из них. Это те же “группы”, но разработчики решили, что корпоративщикам так будет понятнее. Нажмите “Add Organization”. После создания группы добавьте в неё созданного ранее пользователя. Теперь нужно создать “сервер”. Нажмите “Add Server” и заполните соответствующие поля. Поставьте соответствующие галки, если используется IPv6 и WireGuard. Укажите номера портов для OpenVPN и WireGuard. Укажите маски локальных сетей для OpenVPN и WireGuard. Например “10.20.1.0/24” позволит подключить 253 устройства по определённому протоколу. Этим самым вы создаёте эти виртуальные сети. Они не должны совпадать с уже существующими сетями как на стороне сервера, так и на стороне клиента. Существует три, выделенные под локальные нужды подсети, и “десятка” редко используется по умолчанию в домашних маршрутизаторах, но часто используется провайдерами. “Advanced” вкладку в большинстве случаев можно не трогать, за исключением параметра “Allow Multiple Devices”, включение которого разрешит одновременное подключение нескольких устройств одного пользователя. Если вы не хотите под каждое устройство создавать нового пользователя, то включите этот параметр. DNS-сервер. По умолчанию здесь прописаны адреса Google. Если у вас паранойя по поводу Google (хотя они не скрывают, что используют эти данные для показа релевантной рекламы), то рассмотрите другие варианты. Из бесплатных могу порекомендовать публичные DNS CloudFlare. Первый блок пропускает весь трафик; второй блокирует известные сайты со всяким вредоносным кодом; третий делает тоже самое, что и второй, но также блокирует контент для взрослых. CloudFlare клянутся, что не используют логи в коммерческих целях и не хранят их более суток. И их DNS в большинстве случаев быстрее DNS от Google. В первую очередь из-за того, что CloudFlare – лидер на рынке систем распределения контента, и в случае с DNS используется множество серверов по всему миру.После создания “сервера” нажмите “Attach Organization” для подключения к нему ранее созданной группы (организации). На этом сервер настроен и готов к использованию. Нажмите кнопку “Start Server”. Если всё настроено верно, то в окне логов появятся соответствующие строки. Опять же, как выглядит рабочий сервер можно посмотреть в демо. Если в логах вы видите ошибки, то что-то настроено неверно. Самое распространённое, что может прийти на ум в такой ситуации – неверно настроены локальные сети. Так же отсутствие вообще каких-либо логов может говорить о том, что WireGuard не запущен, если он используется в конфигурации. То же касается и OpenVPN. Убедитесь, что процессы обоих запущены и работают без ошибок на стороне операционной системы сервера. Команда “ip a” покажет все поднятые сетевые интерфейсы. Убедитесь, что “tun” (OpenVPN) и “wg” (WireGuard) подняты. Если всё работает, то можно подключаться. Из профиля пользователя скачайте архив с сертификатом (для каждого пользователя). Это tar-архив с OpenVPN сертификатом. На соответствующей странице проекта скачайте клиент для Mac или Windows. Для Linux дистрибутивов подключите соответствующий вашему дистрибутиву репозиторий и установите клиент. Для мобильных устройств официального клиента нет, но для OpenVPN вполне достаточно официального клиента “OpenVPN Connect” от OpenVPN Inc. Он существует как для iOS, так и для Android. Просто скормите ему сертификат и введите логин и пароль клиента вашего сервера. Если вы используете WireGuard на десктопе и соответствующая вкладка не отображается, то это значит, что клиент не видит запущенного WireGuard на вашем ПК. Убедитесь, что при установке WireGuard dkms-модуль был установлен для текущего ядра ОС. Нажмите “Import Profile” и добавьте сертификат из скаченного tar-архива. Выберите протокол (например OpenVPN), введите “пин” (пароль, указанный при создании профиля) и нажмите “ОК”. Соединение должно быть установлено. Настройки самого же клиента минимальны. Реконнект при разрывах связи, автостарт при запуске системы и т. д. Пароль при каждом старте вводить не нужно. Но если вы отключили соединение вручную, то клиент запросит пароль. Стоит также обратить внимание на то, что если вы используете двухфакторную авторизацию от Google, то код придётся вводить каждый раз, что настоящий геморрой. Даже при разрывах связи. Поэтому я не рекомендую эту опцию, если на той нет веских причин. На этом всё. Теперь вы знаете, как поднять свой собственный VPN-сервис.

Go to Source
Author: Tatyana