Как стать автором
Обновить
40
0
Алексей Станкевич @AlexeyStn

Инженер

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

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

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

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 506: ↑498 и ↓8+490
Комментарии351

Самый простой способ обхода блокировок доступа к сайтам любых стран

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

Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать?

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

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

Так же, этот способ - достаточно дешевый (меньше чашки кофе в день) и очень быстрый с точки зрения реализации (буквально 5 минут).

Интересно?

Читать далее
Всего голосов 107: ↑78 и ↓29+49
Комментарии412

Работа с СОМ-портом на Си в linux

Время на прочтение18 мин
Количество просмотров65K
Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с чем его едят" спустя 11 лет после выпуска набирает просмотры и комментарии.

Для разработчиков чаще всего появляется задача сопрячь какой-то датчик, либо удалённое устройство с одноплатником. Да что греха таить, сейчас в 2021 году UART, наверное, самый распространённый интерфейс для обмена данными, несмотря на всю его архаичность. Далеко за примером ходить не надо, внутри смартфона, лежащего у вас в кармане, будет с десяток UART интерфейсов, самый известный из которых — это подключение SIM-карты.

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А непонимание того, что там происходит и приводит к различным трудноуловимым багам.
Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии24

Какова вероятность найти слово fuck в случайной последовательности из 20 букв?

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


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


Я решил всерьёз выяснить, чему равна эта вероятность в зависимости от длины случайной строки? Можно ли получить явную математическую формулу для ответа? Что, если взять другое слово? Что, если взять другой алфавит?


Обо всём по порядку.

Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии79

Роскомнадзор: c 1 декабря в России запрещается писать про VPN

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

С 1 декабря правительство разрешило Роскомнадзору блокировать сайты с информацией о VPN и иных способах обхода блокировок. Точная формулировка: сведения «о способах, методах обеспечения доступа» к запрещённым ресурсам и сетям (таким, как VPN). По принятым критериям под блокировку могут попасть любые сайты со списками VPN или с инструкциями по созданию собственных VPN и прокси-серверов, позволяющих обходить блокировки сайтов и сервисов в стране.

Читать далее
Всего голосов 124: ↑112 и ↓12+100
Комментарии316

Моя любимая задача для собеседований по программированию

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

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии170

OpenConnect: недетектируемый VPN, который вам понравится

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

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Всего голосов 325: ↑324 и ↓1+323
Комментарии342

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

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

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

Читать далее
Всего голосов 159: ↑157 и ↓2+155
Комментарии49

Экстремальный дисторшн Krank Distortus Maximus

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

Привет, Хабр! Сегодняшний модерновый дисторшн с полным трёхполосным тонстеком очень порадует любителей прогрессивного звучания и низкого строя. А вместо операционного усилителя здесь применяется, как ни странно, микросхема LM386.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии3

Прививка от ошибки выбора: что спросить работодателя «на берегу»

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

Меня зовут Настя, я руководитель службы инструментов репозитория в Yandex Infrastructure. Больше 15 лет я проработала в IT-индустрии: сначала как разработчик, потом тимлид, техлид, менеджер проектов и руководитель службы. За это время несколько сотен человек рассказали мне о своём карьерном пути: кто-то собеседовался со мной как с нанимающим менеджером, кто-то приходил ко мне на менторинг, кто-то расширял свой нетворк, как теперь модно говорить. Из этих разговоров можно выделить причины недовольства работой, которые я вижу у людей чаще остальных. Одна из главных причин — ошибка выбора вакансии.  

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

Читать далее
Всего голосов 50: ↑47 и ↓3+44
Комментарии49

Жирный гитарный дисторшн ProCo RAT

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

Привет, Хабр! Знаете, какую педаль перегруза использовали Джеймс Хетфилд и Кирк Хэмметт в дебютном альбоме Металлики «Kill `Em All»? Пользовались ею и Дэвид Гилмор, и Крист Новоселич из группы Нирвана, да и сам Курт Кобейн. И многие другие.

Сегодня мы изучим и соберём педаль, которая успешно продаётся в течение 46 лет. Не только по той причине, что через неё играли знаменитости, но и потому, что она действительно создаёт настоящий классический дисторшн.
И всё-таки, чем дистршн отличается от овердрайва?
Всего голосов 46: ↑45 и ↓1+44
Комментарии6

Где бы вы точно не жили и не остановились даже на время, если бы знали и выбирали на основе фактов

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

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

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

Что общего во всех этих факторах, кроме того что я сгустил краски StableDiffusion? В описаном примере для многих людей есть не только экологическая, но психологически дискомфортная составляющая. В студенчестве, в части диплома, связанной с экологией, были расчеты уровня шума в жилых помещениях от трассы/индустриальных объектов. Главный параметр был - расстояние по прямой от жилья.

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

Проксируем OpenVPN через Shadowsocks или чиним OpenVPN во время блокировок

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

В данной статье рассмотрим как настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через shadowsocks (Outline VPN) туннель на OpenWRT любых версий с помощью openvpn-openssl и shadowsocks-libev.

Понадобятся:

Существующий сервер OpenVPN и настроенный клиент на OpenWRT

Конфиг shadowsocks (Outline) вашего либо чужого сервера.

Свободные 650кб памяти в роутере

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

Пора улучшать согласование

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


Я работаю в фирме, которая разрабатывает устройства для умных домов на частотах 869, 915 МГц. Это маломощные устройства с антеннами из провода, PCB-антеннами и внешними штыревыми антеннами. Для работы в квартире антенна должна быть всенаправленной. Заранее не известно, где будет расположено устройство и как сориентировано. Некоторые ключевые устройства мы относили к сторонним специалистам для настройки антенны, потом использовали эти согласования в других устройствах. Какое-то время этого хватало. У нас большой парк устройств, плюс одни и те же устройства работают в разных корпусах. Это требует настройки антенны для каждого типа продукта. Обращаться каждый раз к специалистам слишком дорого, поэтому несколько лет пытаемся научиться делать сами. Далее расскажу о процессе настройки антенны для одного из наших устройств с антенной из провода (ground plane).
Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии14

Только консоль. Почему текстовый интерфейс настолько эффективен

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

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

Почему так?

Во-первых, консоль потребляет меньше ресурсов. Поэтому быстрее реагирует на команды (меньше задержка на ввод), быстрее выполняет задачи (меньше циклов CPU). Во-вторых, запускать команды с клавиатуры можно практически вслепую, не глядя на экран, с мышечной памятью горячих клавиш и автодополнением. Ты практически сливаешься с компьютером в единое целое, когда вводишь команды одну за другой, ждёшь ответа от удалённого сервера, парсишь результаты или запускаешь скрипты с цепочками из программ, где следующая берёт результат выполнения предыдущей.
Читать дальше →
Всего голосов 70: ↑57 и ↓13+44
Комментарии107

Как поднять OpenVPN сервер на Ubuntu 22.04?

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

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

Присоеденится
Всего голосов 11: ↑4 и ↓7-3
Комментарии27

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

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

Известная шутка программистов гласит, что если решение вашей проблемы включает в себя парсинг текста при помощи регулярного выражения, то теперь у вас есть две проблемы. Некоторые программисты, прочитав шутку, решают попробовать иной подход. Возможно, регулярные выражения не так уж нужны. Возможно, задачу можно решить простым split строки или чем-то подобным. Однако другие могут задуматься немного глубже и задаться вопросом: «А если я сделаю нечто настолько дерзкое, что в результате получу три проблемы?» Мой пост написан в таком духе!

В нём используется код на Python, однако его легко можно адаптировать под любой язык с поддержкой функций высшего порядка.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии70

Интернет-цензура и обход блокировок: не время расслабляться

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

Disclaimer: практически всё описанное в статье, не является чем-то принципиально новым или инновационным - оно давно известно и придумано, используется в разных странах мира, реализовано в коде и описано в научных и технических публикациях, поэтому никакого ящика Пандоры я не открываю.

Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.

Читать далее
Всего голосов 329: ↑324 и ↓5+319
Комментарии518

Лучшие open-source инструменты для Python проектов

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

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

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

Читать далее
Всего голосов 41: ↑38 и ↓3+35
Комментарии9

Создаем личное файловое облако легко и просто (и дешево)

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

А сегодня мы с вами быстро и решительно легко и просто поднимем свое личное файловое облако типа Google Drive или Яндекс.Диск, а если повезет, то еще и очень дешево.

Зачем? Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности. Или просто потому что можем. А бонусом на нашем сервере вы потом сможете еще установить VPN или прокси для доступа к запрещенным сайтам, или поднять простенький веб-сайтик.

Я специально будут рассказывать все максимально подробно и пошагово, чтобы даже люди без большого опыта системного администрирования смогли все повторить. В наше время, благодаря развитому инструментарию, такому как docker и snap, установить и настроить все что нужно можно очень быстро всего лишь несколькими командами.

Читать далее
Всего голосов 101: ↑93 и ↓8+85
Комментарии233
1
23 ...

Информация

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