Pull to refresh
0
0
VladIs @xTCry

Multi-programmer

Send message

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

Level of difficultyMedium
Reading time6 min
Views47K

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

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

Давайте рассмотрим несколько примеров.
Читать дальше →
Total votes 113: ↑105 and ↓8+126
Comments41

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

Level of difficultyMedium
Reading time8 min
Views8.6K


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

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

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

Level of difficultyEasy
Reading time3 min
Views6K

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

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

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

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments0

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

Reading time4 min
Views117K

Всем привет! Это команда 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.

Читать далее
Total votes 151: ↑147 and ↓4+166
Comments134

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

Level of difficultyMedium
Reading time6 min
Views564K

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

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

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

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

Читать далее
Total votes 360: ↑357 and ↓3+412
Comments1017

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

Level of difficultyEasy
Reading time7 min
Views11K


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

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

Level of difficultyEasy
Reading time3 min
Views3.6K

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

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

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

Читать далее
Total votes 9: ↑8 and ↓1+11
Comments13

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

Level of difficultyEasy
Reading time12 min
Views1.3K

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

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

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments1

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

Reading time9 min
Views3.1K

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

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

Читать далее
Total votes 2: ↑2 and ↓0+4
Comments4

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

Level of difficultyEasy
Reading time9 min
Views37K

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

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

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

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

Читать далее
Total votes 54: ↑52 and ↓2+58
Comments139

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

Level of difficultyEasy
Reading time9 min
Views31K

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

Читать далее
Total votes 106: ↑83 and ↓23+82
Comments62

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

Level of difficultyEasy
Reading time6 min
Views13K

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

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

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

Читать далее
Total votes 22: ↑18 and ↓4+19
Comments66

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

Level of difficultyEasy
Reading time7 min
Views9.9K

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

Читать далее
Total votes 92: ↑91 and ↓1+105
Comments84

От Firebase к Self-Hosted

Level of difficultyMedium
Reading time9 min
Views4.6K

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

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

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments4

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

Reading time5 min
Views24K

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

Не одним CORS едины
Total votes 10: ↑9 and ↓1+9
Comments13

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

Level of difficultyMedium
Reading time5 min
Views4.8K

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

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

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments13

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

Level of difficultyEasy
Reading time2 min
Views24K

Всем привет!

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

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

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

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

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

Читать далее
Total votes 13: ↑13 and ↓0+14
Comments11

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

Level of difficultyEasy
Reading time18 min
Views18K

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

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

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

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

Читать далее
Total votes 18: ↑16 and ↓2+16
Comments54

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

Level of difficultyMedium
Reading time9 min
Views70K

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

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

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

Читать далее
Total votes 81: ↑77 and ↓4+93
Comments47

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

Level of difficultyEasy
Reading time3 min
Views22K

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

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

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

Читать далее
Total votes 56: ↑38 and ↓18+26
Comments64
1
23 ...

Information

Rating
Does not participate
Location
Ярославская обл., Россия
Date of birth
Registered
Activity