Про корпорации, FOSS и как сделать лучшую экосистему у себя дома. Библия цифроанархиста - Том 1.
Преамбула
Вы когда-нибудь задумывались, что конкретно вы используете и что конкретно за этим стоит? Я вот например начал не просто задумываться, а осознал, что оказывается всё мою сознательную деятельность в Интернете/Диджитале я делал неправильно. С помощью этого поста я хочу, чтобы задумались над этим и вы.
Введу вас в краткий экскурс, как часто вы слышали такую песню: «Ну-у-у я пользуюсь экосистемой Apple, поэтому вот взял в кредит новый iPhone и MacBook чтобы пользоваться всем возможностями этого г…» и т.п.? Над такими “людьми” потешаются пользователи Android и Windows, говорят, что они рабы Тима Кука и Джонни Айва и конечно же они правы. Но они тоже допускают огромную ошибку, ведь тоже являются рабами «экосистем» Google, Microsoft и прочих корпораций.
Это начинается безобидно, но вас всё больше и больше утягивают многомиллиардные корпорации в свои сети. Я знаю о чем вы подумали: «Ну вот сейчас автор начнет нам затирать про то, что нужно пересаживаться на Linux, нужно пересаживаться на аналоги офиса, срочно удалять все приложения которые так или иначе собирают данные, занимаются рекламой и прочее». Нет, я не буду вас отговаривать пользоваться этими сервисами, пользуйтесь, я и сам ими пользуюсь и я прекрасно вас понимаю, что в одночасье нельзя перестать пользоваться теми или иными сервисами, я лишь хочу предложить вам настоящую экосистему, не то что вам предлагают те же самые Apple.
После начала СВО доступ к зарубежным «экосистемам» начал стремительно сокращаться и вот-вот схлопнется, первые звоночки уже появляются, но большинство пользователей вместо того, чтобы взять и построить свои собственные уголки, просто перебегают к другим корпорациям. Проще говоря Apple и Google сменяются на Яндекс и Xiaomi, и, честно говоря, меня это очень огорчает, но видимо большинство людей действительно не умеют учиться на своих ошибках.
Что нам предлагают «экосистемы» Корпораций?
Что же нам предлагают Корпорации? Ну на самом деле очень скудный набор сомнительных технологий, например облако. На самом деле облако в IT это не просто склад для ваших файлов, это нечто большее - это инфраструктура, это удаленные вычисления, это автоматизация процессов. Но вместо всего этого многообразия вам подсунули банальную файлопомойку и еще будь добр платить за нее, а еще мы будет краулить твои файлы и собирать данные из них для таргетированной рекламы или для продажи. А ну и ещё, не дай бог твой файл будет больше 4-х гигабайт, мы его не положим.
Извините, не хотел вас напугать, но то, чего раньше не было в лицензионном соглашении может там появится очень просто и в одностороннем порядке, а при сливе их будет защищать целая свора юристов, так что вы бессильны.
Google Play или тень его былого величия, который, казалось бы, должен был бороться со злом, давно примкнул к нему. Вы например знаете, что относительно недавно всем приложениям, кроме горстки исключений, был поставлен запрет1 на установку сторонних APK? Доходит до смешного, с помощью скачанного в Google Play Total Commander (это такой файловый менеджер) мы банально потеряли возможность устанавливать сторонние приложения. Файловый менеджер, который даже не распространяет эти APK просто потерял возможность их устанавливать, как и все другие файловые менеджеры, кроме Google Files. А представьте, что Google прикроет и эту лавочку? А ведь в некоторых устройствах, кроме него, нет других файловых менеджеров. Чувствуйте это? Google Play хочет монополию на этот рынок и забрать у пользователей сторонние приложения, а у разработчиков этих сторонних приложений возможность их использования пользователями.
А как же сливы? Все же помнят, как Яндекс.Еда слила2 данные миллионов пользователей, да ещё и понесла за это несправедливо мягкое наказание3. Это просто не нуждается в объяснении, мне очень жаль людей, которые стали жертвами этого слива
Итого, что мы имеем? Негибкие, неконфиденциальные, небезопасные и платные сервисы. Покажи любой и я вам назову несколько причин почему этим ни в коем случае нельзя пользоваться и в большинстве случаях назову FOSS-аналог.
Что такое FOSS?
FOSS – это аббревиатура которая расшифровывается как «Free/libre and open-source software», что в переводе на русский: «Свободное программное обеспечение с открытым исходным кодом».4
Это не просто термин, это целая идеология, которой придерживаются разработчики из самых разных сфер и создают программное обеспечение не прося при этом ни копейки.
Если программный продукт придерживается FOSS, то в большинстве случаев это означает, что он:
- безопасный, ведь разработчик открыто говорит нам о том, что у него под капотом, а это значит, что он открыто борется с уязвимостями и никуда не сливает наши данные;
- гибкий, так как вы можете попросить или самостоятельно добавить тот или иной функционал в его продукт, в обоих случаях вас ещё и поблагодарят за то что вы помогаете сделать этот продукт лучше;
- стабильный и функциональный – из-за того что исходный код этого программного продукта открыт, к проекту могут присоединятся самые разные разработчики, которые обладают разными навыками, тем самым дополняя друг-друга и буквально «вылизывая» код друг-друга, доводя продукт до совершенства;
- независимый, ведь он сделан людьми для людей, не учитывая мнение корпораций;
- бесплатный – вы можете пользоваться этим программным продуктом совершенно бесплатно, но всё же я вам советую по возможности финансово помогать проектам, которыми вы пользуетесь, ведь это действительно поможет их разработчикам.
В общем, что мы имеем? Нам по возможности следует использовать и развивать именно такие проекты. Сделать свою экосистему на основе FOSS – значит сделать безопасную, гибкую, стабильную, функциональную, независимую и бесплатную экосистему. Разве не об этом вы думаете, когда представляете себе идеальную инфраструктуру у себя дома или на работе? Ну что же, давайте я вам помогу окунуться в этот чудесный современный мир открытого программного обеспечения. Взамен требуется лишь время, силы и терпение, но эта цена, уж поверьте мне, оправдана.
Экосистема по версии NukDokPlex
Сразу оговорюсь, что я не буду писать подробную инструкцию по настройке каждого элемента программного стека. Возможно это будет, но в виде отдельных постов, а в этом посте я буду оставлять ссылки на них, в любом случае никто не запрещает вам пользоваться поиском по профильным запросам, там за меня всё уже подробно разжевали. Также попрошу заметить, что хоть тут и не будет профильной математики на высшем эльфийском, но данный материал может быть сложен для восприятия неискушенным пользователям, кто-то вообще может подумать, что всё что я здесь говорю это какой-то продукт для сверхразумов с высшим техническим образованием. Я не хочу чтобы вы испугались, я лишь хочу задать вашему разуму направление, чтобы вы в его сторону хоть на шажочек, но продвинулись.
Связь
Основа любой системы – это коммуникация между его элементами. В этом деле нам поможет роутер. Я например использую Keenetic Hopper. Нет вы не подумайте, это не реклама, у него есть свои недостатки, но я скажу так, что это устройство за свои деньги предлагает невиданный функционал и стабильность. Грубо говоря из коробки он умеет в очень крутые вещи, как например DoH/DoT5, расширенная настройка маршрутизации, возможность настройки WireGuard (о чем мы поговорим чуть позже) и это ещё не всё, но если вам чего-то не хватит, можно легко установить OPKG и превратить свой роутер в полноценную Linux-железку.
Роутер поможет создать нам локальную сеть, которая будет очень полезна для общения устройств дома, но что если нам понадобиться общаться с устройствами извне? На этот случай человечество придумало VPN.
VPN – (аббр. Virtual Private Network) это программное обеспечение и протокол передачи данных, которые способны создавать виртуальную локальную сеть, при этом устройства это локальной сети могут находится в разных точках земного шара.
Многие ошибочно полагают, что VPN создан для того, чтобы обходить блокировки ресурсов и скрывать свой IP-адрес, но это все равно что говорить, что сковородка нужна для того, чтобы готовить на ней яичницу, но мы прекрасно понимаем, что с помощью сковороды можно приготовить бесконечное множество вкусных блюд. Так же и здесь – с помощью VPN специалисты связывают устройства внутри своих инфраструктур.
Существует большое множество реализаций, но я считаю, что больше всех подходит для нужд нашей экосистемы WireGuard. Это решение обладает крайне удачным набором достоинств и практически лишен недостатков для нас, поэтому смело берём на вооружение. Он FOSS, стабильный, безопасный и крайне производительный6.
Устанавливаем и настраиваем WireGuard на наш роутер и устройства, которые выходят «погулять» из нашего дома и мы получаем доступ к нашей домашней сети, где бы мы не находились.
Файлообмен
Теперь давайте поговорим о второй по значимости вещи в нашей экосистеме – о файлообмене. Благодаря этому вы наконец сможете отказаться от Google Drive или его аналогов, хранить ВАШИ файлы на ВАШИХ устройствах и синхронизировать файлы между вашими устройствами с максимальной скоростью без посредников. Я конечно же говорю о Syncthing.
Syncthing — это программа непрерывной синхронизации файлов. Она синхронизирует файлы между двумя и более компьютерами в режиме реального времени, надежно защищая от посторонних глаз. Ваши данные — это только ваши данные, и вы имеете право выбирать, где они будут храниться, будут ли они переданы третьим лицам и как они будут передаваться через Интернет.
– Описание с официального сайта в переводе.
Скажу вам одно - эта программа перевернула мое представление о файлообмене и заставила по-новому посмотреть на организацию моей файловой системы и таксономию. Я пользуюсь ей каждый день и она работает буквально по волшебству. Единственный минус - для её правильной работу необходимо грамотно организовать свои файлы и настроить программу, но, поверьте оно того стоит. Фотография, сделанная на мой телефон где бы я не находился в момент летит на мой компьютер.
Syncthing’у для лучшей работы необходимы два сервера - Syncthing Discovery Server (сервер помогающий в обнаружении устройств) и Syncthing Relay Server (сервер-релей, который является посредником при синхронизации файлов, если нет варианта подключения устройств напрямую). Я развернул оба этих сервера на своём роутере и всё работает как часы. Это на самом деле не обязательно, ведь Syncthing создал свою сеть этих серверов и вы можете воспользоваться одним из них, но я решил, что лучше я сделаю эти сервера частью своей экосистемы для того, чтобы быть более независимым, но это в высшей степени необязательно. При использовании этих сервер вы можете не бояться за свои данные, ведь Syncthing всё шифрует современной криптографией.
Syncthing доступен на Windows, Linux, MacOS и Android под множество архитектур, так что для вашего устройства наверняка найдется билд. Я ещё не раз упомяну эту программу в статье, так что я крайне советую попробовать её.
Десктоп и Лэптоп
Если вы всё ещё не знакомы с Linux – я крайне рекомендую вам ознакомиться с этой операционной системой и начать ей пользоваться хотя бы второй системой. Я помню что я говорил в начале статьи, но опять же напомню вам, что то что я вам описываю - это по сути то, как устроена моя экосистема, а операционная система на моём десктопе и лэптопе (на рус. «на настольном компьютере и ноутбуке») тоже является частью этой экосистемы. Это именно основная операционная система, на которой я работаю и произвожу контент. Windows у меня стоит именно второй системой и используется исключительно для гейминга и совсем специфического софта и по сути отрезана от моей экосистемы.
Существует огромное множество дистрибутивов7 данной операционной системы. Новичкам рекомендуется начинать знакомство c дистрибутивов семейства Ubuntu. В целом скажу, что это современный и стабильный дистрибутив, который приятен в использовании, но я как более-менее продвинутый пользователь Linux предпочитаю Manjaro Linux. Он даёт свободу сопоставимую со своим прародителем - Arch Linux, достаточную стабильность и одновременно простоту в установки и использовании. Если вы находитесь в поиске своего дистрибутива – обратите внимание на него, возможно это именно то, что вы ищите.
Возможности Linux ограничиваются только вашей фантазией: фантастическая работа с разделами и файлами, визитная карточка - симлинки8. Поддерживается целая куча файловых систем, я например использую btrfs
для основного диска и ext4
для своих архивных дисков. Куча софта, аналогов некоторых программ просто нет в Windows.
Я использую KDE Plasma в качестве основного оконного окружения, собственно Manjaro с ним изначально и поставляется. Это окружение интуитивно понятно любому пользователю Windows, кем я раньше и являлся и вопреки устоявшимся стереотипам, KDE Plasma сейчас очень стабильное окружение, баги встречаются намного реже чем в Windows.
Эх, я могу очень долго петь дифирамбы это прекрасной операционной системе, которая, заметьте, тоже придерживается FOSS, но не хочу долго заострять на этом внимание. Скажу только то, что после перехода с Windows на Linux для меня открылся целый новый мир, вселенная. И я искренне надеюсь, что со временем мы все будем пользоваться этой замечательно операционной системой.
Смартфон
Скажу прямо: если у вас iPhone – выкиньте его в мусорку. Или продайте его какому-нибудь «яблочному рабу». Таким проприетарным закрытым устройствам не место в нашей прекрасной, открытой и гибкой экосистеме. Я не буду распинаться на тему того почему iPhone – это откровенно плохое устройство, пусть за меня это сделает сноска. 9
Итак у нас есть нормальное Android-устройство. Вроде бы Android, вроде бы это Linux, открытая операционная система, тут нам делать нечего, а нет, не тут то было!
Для того чтобы ваша мобильная операционная система стала по истине открытой и гибкой, прозрачной для вас, как для пользователя нужно провести деблоатификацию10 и дегуглофикацию11, а в идеале найти кастомную прошивку, например LineageOS, crDroid или другую без предустановленного мусора от Google и производителя и установить её на своё устройство.
Понимаю, что вам может показаться что используя Android без сервисов Google – это все равно что отстрелить себе ногу, но это не так. Удаление сервисов Google – это ключ к отрытию для себя сторонних магазинов приложений. Я крайне советую вам попробовать F-Droid – это магазин приложений состоящий полностью из FOSS-приложений. В нём вы можете скачать Aurora Store, который является FOSS-альтернативой Google Play. Aurora Store предлагает скачивать приложения из Google Play не имея при этом сервисов Google.
Бэкапы приложений
Так, а что насчет бэкапов? В F-Droid вы можете скачать NeoBackup, это приложение, в отличии от бэкапов от Google работает гораздо лучше и прозрачнее, а благодаря Syncthing вы можете легко синхронизировать резервные копии прямо на ваш компьютер и держать их под рукой. NeoBackup копирует сами приложения в виде APK-файлов, их данные, кэш, а также зашифрованные данные аккаунтов, так что вы можете легко и просто восстановить это всё на ваш новом/отформатированном смартфоне и даже не придется перезаходить в аккаунты.
Прокачиваем YouTube
Так же от себя добавлю, что если вы любите смотреть YouTube - крайне рекомендую ознакомиться с проектом ReVanced - продолжателем ныне отмененного проекта Vanced. Это система патчей для официального приложения YouTube и не только, которая прокачивает ваш ютуб до нельзя: включает режим Picture-in-Picture бесплатно, возвращает под ролики дизлайки (ReturnYouTubeDislike) убирает рекламу и пропускает спонсорские вставки в самих роликах (SponsorBlock).
Самоидентификация
Ну и напоследок хочу поговорить про «секретницы». Секретницей в жаргоне называется программа, которая занимается управлением, шифрованием и хранением ваших данных для аутентификации.
Менеджер паролей
В качестве пароля я безоговорочно выбираю KeePassXC (для компьютеров, поддерживается Linux, Windows MacOS) и KeePassDX (для Android). KeePassXC/DX занимается безопасным хранением ваших логинов и паролей от аккаунтов, а также поддерживает хранение ваших TOTP (Time-based One-time Password Algorithm) - алгоритм создания одноразовых паролей для двуфакторной аутентификации12. Если вам не понятно, что это, то простыми словами – это алгоритм который создает короткие, в большинстве случаях шестизначные, коды для двуфакторной аутентификации. Такие коды делают таки приложения, как Google Authenticator или Authy, но на самом деле этот алгоритм является открытым стандартом RFC6238, так что любая программа, используя этот стандарт может генерировать такие же коды, и наш KeePassXC/DX – не исключение.
KeePassXC/DX хранит ваши пароли в зашифрованном виде, а чтобы расшифровать их, необходимо ввести мастер-пароль, который открывает ваши базу данных KeePass. Пока база данных открыта вы можете не только копировать от туда ваши учетные данные, но и использовать автозаполнение, которое доступно на компьютере и смартфоне и работает как магия. Так же, чтобы разблокировать базу данных не обязательно вводить мастер-пароль. На компьютере вы можете использовать аппаратный ключ, а на смартфоне – сканер отпечатков пальцев.
Prot Tip: Так как в нашей экосистеме всё взаимосвязано, мы можем использовать Syncthing для синхронизации базы данных KeePass между устройствами, где он нужен.
Менеджер ключей шифрования
В качестве менеджера ключей я использую GnuPG/OpenPGP в сочетании с Kleopatra. Про GPG/OpenPGP особо ничего говорить не буду, ведь рядовому пользователю это не нужно, а искушенный пользователь про это все и так знает.
Помимо GPG/OpenPGP мне еще периодически приходится генерировать самоподписанные TLS-сертификаты и для этого я использую программу XCA. Крайне удобно в этой программе генерировать сертификаты и она так же, как и KeePass шифрует свои базы данных с помощью мастер-пароля. Крайне удобный и понятный интерфейс программы. Всем кто периодически сталкивается с X.509 крайне советую.
Заключение
Ну что же, по итогу хочется опять напомнить вам, что я никого не призываю строить точно такую же экосистему. Я лишь описал то, чем пользуюсь сам каждый день, конечно я многое упустил, не упомянул например божественный KDE Connect, что такие вещи должны послужить личным открытием человека, который захочет сам окунуться в мир FOSS, должен научиться искать для себя софт самостоятельно. Я только показал то, как это может быть.
Спасибо, что прочитали этот огромный пост, я надеюсь, что вы сделали для себя какие-то выводы.
В Total Commander убрали установку APK-файлов. Из-за давления Google - Trashbox (пользовательский пост) (18.05.22) ↩
Кто-то опубликовал карту с данными клиентов «Яндекс-еды» и других сервисов - Тинькофф Журнал (23.03.22) ↩
Cуд постановил выплатить 13 пользователям сервиса доставки «Яндекс Еда» по 5 тыс. рублей за утечку персональных данных - Хабр (пользовательский пост) (09.11.2022) ↩
DNS поверх TLS и DNS поверх HTTPS - Безопасный DNS - Cloudflare ↩
Что лучше выбрать: Wireguard или OpenVPN? Любимый VPN Линуса Торвальдса - RuVDS для Хабр (12.01.2021) ↩
Символические и жесткие ссылки в Linux. Команда ln - Pingvinus ↩
20 причин почему iOS говно и одна почему нет - EFNEZ (06.2019) ↩
Clearing Misconceptions and Some Tips on Debloating Android Phones - Physics Forums Insights (27.08.2019) ↩
Comments powered by Disqus.