Обновить
7
0
Алексей Козлов@zzzzzzzzzzzz

Подниматель пингвинов

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

Хватит бороться с ошибками CORS: разберемся, как они работают раз и навсегда

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

Вы когда-нибудь видели в консоли сообщение вроде: «Access to fetch at '…' from origin '…' has been blocked by CORS policy»? Это как в том фильме: «Суслика видишь? — А он есть». CORS не бросается в глаза, пока все работает, но в нужный момент пресекает недопустимые действия. Например, чтение ответа на кросс-запрос без разрешения сервера.

Меня зовут Баир, я разработчик в команде fuse8. В этой статье я отвечу на вопросы о том, зачем была создана CORS политика, как она устроена под капотом, почему простого действия типа «поставить заголовок на бэке» может быть мало, и какие безопасные паттерны стоит выбирать во фронтенде.

Читать далее

Разблокируем бесплатный WiFi на рейсах British Airways

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели18K

Недавно я летел из Гонконга в Хитроу рейсом British Airways. Тот же самый маршрут я проделал в 2023 году, и помню, как в 14-часовом путешествии понадеялся на развлечения в самолёте. Однако на этот раз по дороге в Лондон у компании появилось интересное предложение: бесплатный WiFi для «мессенджеров» участникам «The British Airways Club».

Я был практически уверен, что не состою ни в каком подобном клубе (да и летел я эконом-классом), но оказалось, то это всего лишь название программы для часто пользующихся услугами компании. Довольно удобно было то, что можно зарегистрироваться в программе через портал авторизации, находясь прямо в воздухе; и хотя он требует адрес электронной почты, его не нужно верифицировать (то есть можно завершить регистрацию без доступа к Интернету).

После входа портал предложил мне «Начать сессию», и это действительно позволило мне общаться текстом. Я попробовал Whatsapp, Signal, Wechat и Discord. Первые три работали (но без поддержки изображений); Discord, как и ожидалось, не заработал. Совсем неплохо для бесплатного WiFi!

Откуда он знает?

Это первый вопрос, который возник у меня после проверки работы мессенджеров. На дворе 2025 год, всё должно шифроваться при передаче. Почему же система знает, что я использую Whatsapp или Discord? Поначалу я решил, что соединение как-то ограничивает ширину канала/передачу данных отдельных TCP-соединений, поэтому при отправке одного-двух сообщений они проходят, но что-то большее отклоняется.

Чтобы проверить эту гипотезу, я попробовал открыть на телефоне классический example.com. К сожалению, он не загрузился; значит, всё это устроено немного сложнее…

Читать далее

Все тонкости GPG подписей

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.8K

Всем привет! В этой серии статей я бы хотел разобрать тонкости работы с GPG, которые по моему недостаточно освещены в интернете. Сегодня я вам расскажу про подписи (и немного затронем модель Web of trust). Я бы их поделил на 2 вида: подписи файлов и подписи ключей.

Читать далее

От теории к практике: как использовать Proxy с пользой

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели7.7K

Прокси-сервер является промежуточным звеном при общении двух узлов в сети. Обычно прокси используют для контроля исходящего и входящего трафика, скрытия белого адреса узла или получения доступа к закрытому сегменту сети.

Чаще всего для проксирования трафика используются два протокола: SOCKS и HTTP. Для их реализации существует множество инструментов, а благодаря спецификациям их легко интегрировать с различными системами. Оба протокола имеют свои плюсы и минусы, поэтому для понимания принципов проксирования мы подробно разберем их работу. Хотя в статье мы местами рассматриваем прокси с точки зрения пентестера, она будет полезна всем, кто хочет разобраться в этой теме.

Читать далее

Я написал свой VPN-клиент для Android. Зачем, если их сотни, и что скрывается под капотом?

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели45K

Каждый раз, нажимая кнопку «Connect» в очередном VPN-приложении, я ловил себя на мысли: а что там, под капотом? Как эта магия на самом деле работает на уровне Android? Вокруг сотни готовых решений, но простое пользовательское любопытство переросло в профессиональное: мне захотелось не просто использовать, а понять. Понять, какие подводные камни скрывает VpnService, как реализовать весь цикл от авторизации до поднятия защищённого туннеля и что на этом пути может пойти не так.

Эта статья — мой личный "бортовой журнал". Я не претендую на создание самого безопасного решения, это скорее история о пути, граблях и открытиях для тех, кто тоже решит заглянуть под капот VPN-технологий на Android.

Так родилась идея этого проекта — создать свой, пусть и простой, VPN-клиент. Это не попытка сделать коммерческий продукт, а скорее исследовательское погружение, мой личный "челлендж" и способ разложить всё по полочкам.

Заглянуть под капот

Умный принт-сервер: печать и скан без драйверов на старых принтерах + финансирование опенсорса

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

TL;DR: из-за отсутствия «умных» принт-серверов на рынке сделал собственное устройство, позволяющее печатать и сканировать на старых USB-принтерах через Wi-Fi и Ethernet, с любого смартфона и компьютера под любой ОС, без установки драйверов (AirPrint/Mopria). Девайс включает не только распространённые открытые драйверы, но и проприетарные, в режиме эмуляции x86-кода, plug&play.

Особенностью проекта является со-финансирование открытого ПО: разработчики сервера печати CUPS и сканирования SANE/AirSane получают по $2 с каждого проданного устройства, а оставшиеся деньги формируются в пул, для улучшения существующих открытых драйверов и написания новых.

Читать далее

Делаем правильный анаглиф своими руками

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


Всем привет. Сегодня я поделюсь методом создания высококачественных анаглифических изображений с минимальными трудозатратами. Динозавров делать не будем: возьмем любую фотографию из семейного архива и получим полноценное трехмерное изображение. Сразу скажу, что концепция не новая, но мы будем использовать современные наработки и даже напишем простейший плагин для GIMP, от которого, впрочем, придется отказаться…
Читать дальше →

P2P общего назначения

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели2.3K

IT-индустрия совершила интересный виток развития в последние десятилетия. На заре IT-революции, когда компьютеры были дорогими, их ресурсы, хоть и скромные по нынешним временам, нужно было использовать эффективно. Это привело к появлению многопользовательских OS, например, семейства UNIX, созданию компьютерных сетей и появлению протоколов удаленного доступа. 

Стремительное развитие производительности чипов и удешевление железа привело к революции персональных компьютеров. Однако опережающий рост вычислительных потребностей запустил развитие на новый круг. Сейчас найдется немного компаний и организаций, которые обходятся исключительно персональными компьютерами и сервисами в локальной сети. Когда-то диковинные IaaS, PaaS, SaaS, распределенные вычислительные технологии плотно вошли в жизнь. Доступ к удаленным системам — обыденная потребность не только для администраторов и программистов. Все знают о протоколах ssh, rdp, vnc, многие пользуются TeamViewer, AnyDesk, Remmina, X2Go и т. п. Ввиду того, что IPv4 сети и порожденный ими NAT пока еще более чем актуальны, не каждое из перечисленных средств позволяет подключиться к машине, находящейся за NAT, если у вас нет возможности пробросить порты.

Читать далее

Раздача файлов на смартфоны без интернета. Опенсорсные альтернативы AirDrop

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели20K


Формулировка задачи. У нас есть настольный компьютер и мобильные устройства под Android. Задача простая — как быстро перебросить файлы с компьютера на телефоны и планшеты. Например, скачанные подкасты и HD-фильмы 1080p, файлы apk для установки, рабочие файлы с персоналки, бэкапы. Хранилище телефона можно использовать как резервный внешний диск или как «беспроводную» флешку, которая работает по Wi-Fi.

Конечно, можно это сделать через веб-сервисы Wormhole/PairDrop/FilePizza, через телеграм/вайбер или инструменты синхронизации ПК и смартфона, такие как syncthing. Да, это удобно и привычно. Но процесс можно 1) ускорить; 2) избавиться от подключения к интернету. То есть файлы будут передаваться напрямую между устройствами, как Apple AirDrop, только лучше.
Читать дальше →

Libre/OpenPGP vs OpenSSH/age

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5K
Я использую GnuPG (реализацию OpenPGP и LibrePGP) каждый день на протяжении более чем десяти лет. У меня накопилось почти две сотни публичных ключей разных людей с которыми я общался и общаюсь по почте. Почти три сотни публичных ключей для проверки дистрибутивов операционных систем и архивов исходного кода программ. И это не считая более чем полутора тысяч публичных ключей из ключниц GNU, Linux, Debian, FreeBSD и других проектов. Я был постоянным популяризатором OpenPGP экосистемы и рекомендовал её использовать для массы задач, возникающих даже в банальных домашних условиях. Но за последние пару лет я ощутимо поменял своё мнение насчёт её рекомендации. Перестал всё это использовать почти везде где можно.
Читать дальше →

Тайная жизнь COM: погружение в методы Hijacking

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.3K

Привет, хабр!


Сегодня я продолжу рассказывать о Component Object Model (COM). В прошлой статье мы разобрали различные аспекты хранения COM-объектов в реестре, а также изучили стратегии, которыми может пользоваться злоумышленник для выбора объекта с целью последующей атаки COM Hijacking.

COM Hijacking - это атака, позволяющая атакующему перехватить выполнение легитимного COM-объекта и заменить его на свой вредоносный, например на шелл, который будет устанавливать связь с C2 сервером. Атакующий выбирает, как правило, часто выполняющийся COM-объект, таким образом, осуществляется закрепление в системе.

Сегодня мы рассмотрим основной этап атаки - это способы перехвата и подмены COM-объекта на вредоносный.

Читать далее

Много нас, а GPU один. Как делиться?

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

Нет, этот пост не про то, как на простом ноуте без NVIDIA гонять Stable Diffusion с вполне вменяемой скоростью.

Да, этот пост про то, как на простом ноуте без NVIDIA гонять Stable Diffusion с вполне вменяемой скоростью.

Но только если карточка у вас все-таки где-то есть. Пост не про халяву :)

Часто задают вопрос: «У нас маленькое агентство, как бы сделать, чтобы 4 человека работали на одной видеокарте?». То же самое относится и к «мама-папа-я – дружная семья, и все мы любим Stable Diffusion».

Это становится еще более актуальным в связи с появившимися сложностями при попытках бесплатно гонять SD в Google Colab (а Kaggle и другие заменители не такие щедрые).

В этом посте я опишу несколько вариантов «совместной работы с одним GPU», их плюсы и минусы. В основном, на примере Stable Diffusion, хотя Vicuna я тоже гонял параллельно.

Узнать нюансы

Как вернуть деньги за технически сложный товар ненадлежащего качества

Время на прочтение15 мин
Охват и читатели161K

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

Читать далее

Хватит использовать [a-zа-яё]: правильная работа с символами и категориями Unicode в регулярных выражениях

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели13K

Unicode – это набор символов, целью которого является определение всех символов и глифов всех человеческих языков, живых и мертвых. Поскольку всё больше и больше программ должны поддерживать несколько языков или просто любой язык, юникод в последние годы приобретает всё большую популярность. Использование различных наборов символов для разных языков может быть слишком обременительным для программистов и пользователей.

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

?

Капля здравого смысла для Windows-разработки на C и C++

Время на прочтение8 мин
Охват и читатели26K
Суровая действительность разработки на C и C++ для Windows такова: для этой платформы никогда не существовало качественной, нативной реализации стандартной библиотеки этих языков. Стандартная библиотека должна абстрагировать механизмы базовой системы ради упрощения разработки переносимого программного обеспечения. С и C++ на Windows очень плохо состыкованы с интерфейсами операционной системы. В результате большая часть переносимых, или, так сказать, «почти всегда переносимых» программ, которые отлично работают практически везде, в Windows оказываются едва заметно «поломанными», в особенности — за пределами англоговорящего мира. Причины этого почти наверняка связаны с политикой тех или иных компаний, с искусственными ограничениями, а не с техническими особенностями систем, что лишь усугубляет положение. Эта статья посвящена рассказу о проблемах Windows-разработки на C и C++ и о том, как они выражаются. Здесь же будут представлены некоторые простые методы борьбы с этими проблемами при разработке переносимого ПО.


Читать дальше →

10 инструментов ИИ с бесплатным тестовым доступом, которые пригодятся в работе

Время на прочтение3 мин
Охват и читатели25K

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

Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.

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

Первую часть с инструментами можно почитать тут.

Читать далее

Полноценный x86 нетбук за ~100 рублей (1.5$). Оживляем старичка в 2022 и находим ему применение

Время на прочтение12 мин
Охват и читатели29K
Рубрика с копеечным компьютингом вам очень зашла: судя по количеству плюсов и комментариев, в наше время тематика бюджетных девайсов становится всё более актуальной. В прошлые разы мы с вами купили игровую консоль за 500 рублей и смартфон за те же 500 рублей, из которого сделали миниатюрный домашний веб-сервер. Недавно я искал интересные объявления на онлайн-барахолках и нашёл интересное объявление о продаже смартфонов, аккумуляторов, зарядников и Asus EeePC 1011px менее чем за 1.000 рублей. Интересно? Тогда добро пожаловать в статью!

image
Читать дальше →

Как быстро растут сети: прогресс Midjourney спустя полгода

Время на прочтение11 мин
Охват и читатели63K
Запрос stars world time 27 июня и спустя полгода.

«100500-ый текст про Midjourney», — подумал сейчас кто-то. Справедливости ради, шумиха вокруг нейросети немного поутихла, а работа над Midjourney — нет. Сейчас доступна четвертая версия генератора картинок, и если вы еще его не тестировали — самое время.

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

Если и это вам бесполезно, то под катом много красивых и смешных картинок — котов и «горячих собак».
Читать дальше →

Midjourney — нейросеть генерирующая картинки по текстовому описанию

Время на прочтение3 мин
Охват и читатели582K

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

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

Получаются вот такие картинки.

Читать далее

4,2 гигабайта, или как нарисовать что угодно

Время на прочтение9 мин
Охват и читатели44K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

Однажды, когда я наблюдал за ярким закатом в Сиэтле, внезапно включилось моё воображение. Потусторонний оттенок неба пробудил воспоминания о чём-то из научной фантастики. Дымчатый оранжево-сиреневый завораживал.

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

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

Информация

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