Как стать автором
Обновить
0
0
VladIs @xTCry

Multi-programmer

Отправить сообщение

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров47K

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →
Всего голосов 113: ↑105 и ↓8+126
Комментарии41

Go: жарим общие данные. Атомно, быстро и без мьютексов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.6K


Как правило, в Go для безопасного доступа к общим данным используются мьютексы. Да, каналы тоже можно приспособить для изменения общих данных, так как они потокобезопасны, но это усложняет и замедляет логику.

Но в этой статье мы поговорим о другом. Современные процессоры имеют поддержку атомарных операций, что позволяет на основе них организовывать работу с общими данными до нескольких раз быстрее, чем с помощью общепринятых вариантов. Так как мьютексы реализованы на основе ОС, каналы сделаны на основе внутреннего кода Go с использованием тех же мьютексов из ОС под капотом, а атомарные операции делает сам процессор аппаратно за существенно меньшее количество тактов.
Пожарим омлет по атомному?
Всего голосов 41: ↑40 и ↓1+52
Комментарии29

Как самому собрать дата-центр: навыки гибкого мышления, 5000+ деталей и 80 часов работы

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6K

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

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

А чтобы пойти ещё дальше, мы решили провести простой эксперимент с DIY дата-центром из конструктора.

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии0

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Время на прочтение4 мин
Количество просмотров117K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее
Всего голосов 151: ↑147 и ↓4+166
Комментарии134

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров564K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 360: ↑357 и ↓3+412
Комментарии1017

Сложно о простом. Сетевой уровень (L3) модели OSI

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров11K


Приветствую, коллеги! Меня зовут ProstoKirReal, и сегодня мы продолжим наше путешествие по модели OSI, обсудив сетевой уровень (L3). Этот уровень отвечает за маршрутизацию данных между различными сетями.
Читать дальше →
Всего голосов 24: ↑20 и ↓4+26
Комментарии3

Командуем Алисой и ее Умным Домом с Apple Watch и других устройств Apple

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.6K

Всем привет! Долгие годы меня посещала идея, что управлять Алисой с устройств Apple должно быть намного проще, чем то, что для нас предусмотрел Яндекс. Почему бы просто не активировать встроенного голосового ассистента, а он бы передавал голосовые команды Алисе. Звучит удобно, не так ли? 😀

Мой сценарий использования. Подъезжаю вечером на мотоцикле домой, надо включить свет на парковке и в саду. На руке apple watch, доставать телефон неудобно. Эх, вот бы давать команды Алисе, просто проговаривая их вслух, используя для этого только часы…

Способ найден. 😎

Читать далее
Всего голосов 9: ↑8 и ↓1+11
Комментарии13

Разработка игр под Apple Vision Pro: ARKit, realityKit, Reality Composer Pro

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.3K

Меня зовут Илья Проскуряков, я — iOS-разработчик компании Effective и в статье расскажу о разработке игр под Apple Vision Pro.

Мы с коллегами разработали две мини-игры в рамках хакатона Ludum Dare в Омске, а затем я сам немного поработал с Apple Vision Pro. Теперь хочу поделиться опытом с примерами и кодом, рассказать о плюсах и минусах Apple Vision Pro с точки зрения разработчика, и в целом, с какими сложностями столкнулся и как их решал.

Читать далее
Всего голосов 8: ↑6 и ↓2+5
Комментарии1

Настройка OpenVPN для CTF

Время на прочтение9 мин
Количество просмотров3.1K

Однажды была поставлена задача создать собственный стенд для проведения CTF-соревнований. Задачи были подготовлены в формате Docker-контейнеров, но для них была необходима сеть.

Возникает логичный вопрос «Зачем?». Сеть позволит выделить отдельный IP адрес каждой задаче. В принципе, конечно, можно обойтись и без сети, однако такой подход имеет несколько минусов, а именно:

Читать далее
Всего голосов 2: ↑2 и ↓0+4
Комментарии4

Домашний сервер на базе Proxmox

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров37K

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps‑инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии.

И здесь сразу появляется главная проблема — для развития DevOps нужна среда, где можно запускать ПО для исследования. Разработчикам проще: открыл документацию, скачал IDE, начал пробовать и изучать новую технологию. А вот DevOps‑инженеру одной только IDE будет мало, так как часть его работы как минимум завязана на Linux серверах. Поэтому важно не просто знать, как использовать готовые решения, но и понимать, как они функционируют на уровне инфраструктуры.

Чтобы получить это понимание, нужно уметь разворачивать и настраивать серверы самостоятельно. В этом поможет работа с домашним сервером. Она позволит глубже погрузиться в процессы, увидеть, как все устроено изнутри, и набраться практического опыта для решения реальных задач. На мой взгляд, такой подход гораздо эффективнее, чем просто взаимодействие с облачными сервисами.

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

Читать далее
Всего голосов 54: ↑52 и ↓2+58
Комментарии139

Я не контролирую разработчиков, а они приносят мне миллион в месяц

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров31K

Я открыл кубышку жены (700 000 ₽), чтобы открыть свой первый VR-клуб. Игры покупал в Steam, а виар шлем висел на проводе.

Читать далее
Всего голосов 106: ↑83 и ↓23+82
Комментарии62

Как жить в загородной бане, пока строится умный дом

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров13K

Многие покупают загородные участки, чтобы построить на них свой дом и не жить в «человейниках». Обычно этот процесс растягивается на несколько лет. Что делать, если хочется наслаждаться природой прямо сейчас?

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

В статье мы расскажем о подобном временном жилье под Вологдой. Конечно, баня специалиста по автоматизации должна быть умной, как и строящийся дом. Интересно? Ныряйте под кат.

Читать далее
Всего голосов 22: ↑18 и ↓4+19
Комментарии66

Аппаратный DIY аудиомикшер

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров9.9K

Меня это задолбало - управлять громкостью, если источников звука больше одного, особенно больно, когда это надо сделать быстро, за пару секунд. Если играете в динамичные игры с дискордом, да ещё и музыку фоном включаете, думаю вы прекрасно знаете эти неудобства. И вот, в один прекрасный день я наткнулся на deej...

Читать далее
Всего голосов 92: ↑91 и ↓1+105
Комментарии84

От Firebase к Self-Hosted

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.6K

Приложению cara.app пришёл счет от Vercel на 96280$. Многие стартапы начинают с Vercel и Firebase, затем из нежелания платить гуглу уходят на свои сервера

Поговорим с нюансами про стэк технологий и оценим усилия на миграцию на свои сервера. Разберём на примере Go с k8s и инфраструктурой мониторинга, но без Firebase (Github)

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии4

cors-anywhere на чистом конфиге nginx

Время на прочтение5 мин
Количество просмотров24K

Если вы сталкивались с CORS, то знаете всю ту боль, которую испытывает разработчик, когда нужно сходить к API на другом домене. Если конфигурация сервера не доступна для настройки, то использовали какое-нибудь решение на основе не менее популярного решения cors-anywhere.

Не одним CORS едины
Всего голосов 10: ↑9 и ↓1+9
Комментарии13

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.8K

Попробуем собрать свой идеальный boilerplate для full-stack разработки в 2024 году. В этой статье мы будем постепенно собирать свой шаблон для быстрого запуска стартапов.

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

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии13

Deep Live Cam — нейросеть для дипфейков в реальном времени

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров24K

Всем привет!

В этой статье познакомимся с Deep-Live-Cam - это инструмент для замены лиц в реальном времени и создания видеодипфейков с использованием всего одного изображения.

Софт включает встроенную проверку на недопустимые материалы и поддерживает GPU ускорение для улучшенной производительности.

Также расскажу, как не париться с установкой и запустить Deep Live Cam в один клик.

Всё, что нам понадобится, чтобы завести Deep Live Cam - это веб-камера и видеокарта Nvidia или AMD с более чем 6-ью Гб видеопамяти.

P. S. Если вы используете смартфон как веб-камеру то, к сожалению, программа просто не будет распознавать устройство. Возможно, в будущем это пофиксят, было бы очень удобно!

Читать далее
Всего голосов 13: ↑13 и ↓0+14
Комментарии11

То ли дом, то ли лаборатория: как устроен умный дом профессионала

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров18K

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

Но можно ли доверять интегратору? Может быть, они навязывают выгодное для себя, но не лучшее для клиента решение?

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

Интересно? Ныряйте под кат

Читать далее
Всего голосов 18: ↑16 и ↓2+16
Комментарии54

Блокировка Docker Hub для России. Без паники разбираемся как работать дальше

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров70K

Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.

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

В статье три проверенных мною способа, как получить доступ к ресурсу.

Читать далее
Всего голосов 81: ↑77 и ↓4+93
Комментарии47

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров22K

Разрабатывая различные приложения, я часто сталкиваюсь с тем, как после очередного коммита, в репозитории я вижу один из важнейших файлов, когда я работаю с переменными окружениями, оказалась на странице репозитория на Github. Речь идет о файле .env, чья общедоступность может быть очень опасным. И для того, чтобы обезопасить хранение конфигурационных переменных и настроек моего приложения, используется данный текстовый файл.

Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore "не игнорирует" .env. Причем спокойно "игнорирует" другие файлы, директории.

Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env, то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?

Читать далее
Всего голосов 56: ↑38 и ↓18+26
Комментарии64
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность