Pull to refresh
0
0
Артём @elchako

Python разработчик

Send message

Тестирование лучших self-hosted аналогов Notion

Level of difficultyEasy
Reading time6 min
Views20K

image


Хабр, в связи с уходом Notion выросла потребность в аналогичном решении, которое бы было сопоставимо удобной Wiki, Task Manager — платформе. 


Я испробовал десять self-hosted решений и нашел несколько почти идеальных! Вы можете развернуть их у себя на сервере, при работе над совместными проектами с командой или для ведения личных записей.

Читать дальше →
Total votes 46: ↑44 and ↓2+57
Comments35

150+ хакерских поисковых систем и инструментов

Reading time11 min
Views93K

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

Пост состоит из 8 объемных разделов:

1. метапоисковики и поисковые комбайны;

2. инструменты для работы с дорками;

3. поиск по электронной почте и логинам;

4. поиск по номерам телефонов;

5. поиск в сети TOR;

6. поиск по интернету вещей, IP, доменам и поддоменам;

7. поиск данных об уязвимостях и индикаторов компрометации;

8. поиск по исходному коду.

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

Читать далее
Total votes 54: ↑51 and ↓3+58
Comments6

Обход блокировок на OpenWRT с помощью v2rayA (xray-core) и баз GeoIP, Geosite Re:filter, Antifilter

Level of difficultyEasy
Reading time6 min
Views57K

В данном гайде будем устанавливать пакет v2rayA на OpenWRT на примере стабильной 23.05.0. Рекомендуется роутер минимум с 128 МБ RAM (256 предпочтительно) и памятью более 16 Мб (установка занимает около 30МБ памяти)

v2rayA — это простой в использовании и мощный клиент ориентированный на Linux. Несмотря на название актуальная версия использует xray-core, хотя есть возможность использовать и v2ray-core. Имеет веб-интерфейс для управления настройками и импорта конфигураций, подписок. Поддерживает всё, что поддерживает xray-core:

Shadowsocks (в т.ч. 2022), ShadowsocksR, Trojan, Vless (включая XTLS-Reality), Vmess, Juicity, Tuic

Руководство будет включать:

1. Установку из репозитория

2. Настройку v2rayA и обход блокировок с помощью Re:filter, Antifilter GeoIP, Geosite

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments23

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

Level of difficultyMedium
Reading time6 min
Views642K

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

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

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

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

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

Долой рутину расшифровки дисков, или использование сетевой разблокировки с помощью tang/clevis

Reading time3 min
Views4.6K

Все мы наверное сталкивались с такой неинтересной штукой как расшифровка дисков после ребута, или после краша сервера. Недавно столкнулся с замечательной фичей tang/clevis, и жизнь моя улучшилась.

Читать далее
Total votes 2: ↑1 and ↓10
Comments2

Security Week 2428: уязвимость в OpenSSH и поддельный эксплойт

Reading time3 min
Views3.9K
Важная новость прошлой недели: в библиотеке OpenSSH обнаружена и закрыта уязвимость, получившая название RegreSSHion. Проблему нашли специалисты компании Qualys (общее описание, подробная техническая информация, новость на Хабре). Уязвимость получила идентификатор CVE-2024-6387 и является вариантом совсем древней проблемы в OpenSSH, CVE-2006-5051, закрытой в OpenSSH 4.4 в сентябре 2006 года. Исправление, внесенное 16 сентября 2020 года и попавшее в релиз OpenSSH 8.5 в марте 2021 года, по сути сделало старую уязвимость снова актуальной, отсюда и название: RegreSSHion.



Особенности уязвимости представляют собой набор хороших и плохих новостей. Плохая новость: по оценке Qualys на 1 июня, примерно 14 миллионов доступных из сети SSH-серверов были уязвимы. Впрочем, практическую атаку можно провести примерно в отношении 700 тысяч из них. Хорошая новость: уязвимость не так-то просто эксплуатировать. Уязвимость актуальна для дистрибутивов, использующих стандартную библиотеку glibc. Для успешной атаки потребуется выполнить примерно 10 тысяч подключений к уязвимому серверу, что при стандартных ограничениях на количество одновременных подключений и их длительность потребует 6–8 часов. Плохая новость номер два: если атака все же успешна, то она может дать атакующему права суперпользователя. Реальная атака была продемонстрирована только на 32-разрядном дистрибутиве, в то время как для 64-разрядных систем практического метода эксплуатации пока не существует. Осложняют потенциальную атаку и стандартные средства защиты, такие как ASLR.
Читать дальше →
Total votes 4: ↑4 and ↓0+9
Comments1

Установка и настройка сервера Matrix Synapse + PostgreSQL + Admin UI + Element WEB. Ubuntu 20 LTS / Ubuntu 22 LTS

Level of difficultyMedium
Reading time11 min
Views51K

Всем привет. В данном гайде я постарался пошагово, подробно и доступно описать процесс установки на свой сервер Matrix Synapse + Element WEB + Admin UI на базе Ubuntu 20 LTS / Ubuntu 22 LTS.

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

Разобравшись с данным вопросом и затратив не мало усилий я решил поделиться своими результатами с сообществом habr.

Читать далее
Total votes 20: ↑19 and ↓1+26
Comments37

Как падает и поднимается Proxmox

Level of difficultyMedium
Reading time11 min
Views28K

Proxmox — это специализированный дистрибутив для виртуализации и контейнеризации на базе Debian Linux.


Когда потребности перерастают один, ответственный за все, железный сервер, но еще не настолько велики, чтобы использовать Kubernetes, на помощь приходят разные решения, позволяющие управлять кластером из нескольких хостов, организовать High Availability, репликацию и централизованный бэкап контейнеров и виртуалок. Proxmox — одно из них.


С ним мы уже больше двух лет, и очень довольны: он сильно упрощает очень многое: нарезку и резервирование ресурсов, живую миграцию (qemu VM's only), централизованный сбор метрик (без необходимости впихивать экспортер/агент в каждого гостя), управление (через WebUI, api и ssh).


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

Взять щепотку лунного сахара и продолжить
Total votes 22: ↑21 and ↓1+22
Comments25

Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived

Reading time15 min
Views74K

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

Читать дальше →
Total votes 13: ↑12 and ↓1+16
Comments40

Маленькие хитрости SSH

Reading time6 min
Views42K
В этой статье собраны наши лучшие приемы для более эффективного использования SSH. Из нее вы узнаете как:

  • Добавить второй фактор к логину SSH
  • Безопасно пользоваться agent forwarding
  • Выйти из вставшей SSH сессии
  • Сохранить постоянный терминал открытым
  • Поделиться удаленной сессией терминала с другом (без Zoom!)

Добавление второго фактора к своему SSH


Второй фактор аутентификации к своим SSH соединениям можно добавить пятью разными способами:

  1. Обновить свой OpenSSH и использовать ключ шифрования. В феврале 2020 года в OpenSSH была добавлена поддержка ключей шифрования FIDO U2F (Universal Second Factor). Это отличная новая функция, но есть нюанс: только те клиенты и серверы, которые обновились до версии OpenSSH 8.2 и выше смогут пользоваться ключами шифрования, так как февральское обновление вводит для них новые типы ключей. Командой ssh –V можно проверить клиентскую версию SSH, а серверную — командой nc [servername] 22
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments22

Основы правил проектирования базы данных

Reading time11 min
Views249K

Введение


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

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

Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
Читать дальше →
Total votes 52: ↑42 and ↓10+39
Comments89

XRay (с VLESS/XTLS): проброс портов, реверс-прокси, и псевдо-VPN

Level of difficultyMedium
Reading time10 min
Views90K

Я уже написал тут много статей на тему установки и настройки прокси‑серверов XRay с недетектируемыми протоколами Shadowsocks-2022, VLESS (с XTLS), и т. п. И один из очень часто поднимаемых в комментариях вопросов звучит так: можно ли с использованием XRay как‑то организовать проброс портов или получать доступ к внутренностям корпоративной сети? Можно, и сейчас я расскажу как.

Итак, что же можно сделать с помощью реверс‑проксирования?

Можно получать доступ к каким‑либо сервисам на хосте за NAT'ом или строгим фаерволом, и даже более того — можно получать доступ к сервисам на других устройствах в локальной сети, к которой имеет доступ этот самый хост за NAT'ом файерволом.

Можно маршрутизировать весь (или некоторый в зависимости от настроенных правил) трафик на хост за NAT'ом или фаерволом и выпускать его оттуда в Интернет.
Например, вы проживаете за границей, хотите оплачивать счета за ЖКХ вашей недвижимости оставшейся России, но сервис оплаты не пускает вас с забугорных IP и не пускает вас с IP‑адресов даже российских VPS‑хостеров. Тогда можно поставить у кого‑нибудь из друзей или родственников в РФ преднастроенный роутер или одноплатник типа Raspberry Pi, который подключится к вашему прокси‑серверу, а вы, в свою очередь, через прокси‑сервер сможете достучаться до этого роутера/р‑пишки и выйти через него во внешний интернет как обычный пользователь, находящийся в России — и всем ресурсам будет виден IP‑адрес российского домашнего интернет‑провайдера.

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

Можно даже в теории соорудить псевдо‑VPN, чтобы подключенные клиенты прокси‑сервера могли достукиваться друг до друга.

Читать далее
Total votes 52: ↑51 and ↓1+67
Comments93

Rclone: rsync для облаков

Reading time5 min
Views77K
PR-2358

В предыдущих публикациях мы уже не раз рассказывали о полезных утилитах для работы с нашим облачным хранилищем. Сегодня мы поговорим ещё об одном интересном, простом в обращении и — не побоимся этого слова — уникальном инструменте. Знакомьтесь: rclone. Разработчики описывают его краткой и ёмкой фразой «rsync для облачных хранилищ».

Основная функция rclone — это синхронизация данных в хранилище и на локальной машине. Утилита несомненна окажется полезной для широкого круга пользователей облачного хранилища. Её можно использовать и для резервного копирования, и в работе со статическими сайтами…

Есть у rclone и опции, которых нет ни у одного другого инструмента аналогичного плана. Подробнее обо всём этом мы расскажем ниже.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments14

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views50K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее
Total votes 91: ↑89 and ↓2+107
Comments48

Деплоим сайт в облако за рубль в месяц

Reading time10 min
Views14K

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

Может быть и другой сценарий. Порой нужно опубликовать в интернете страничку, например, с примерами работ по фотографии или дизайну. В подобных ситуациях есть статистические HTML-страницы, которые должны быть просто доступны для просмотра. И не всегда целесообразно арендовать полноценный сервер, чтобы закрыть столь мелкие задачи.

Привет, Хабр! Меня зовут Саша, в этой статье я расскажу, как задеплоить в облако статический веб-сайт с помощью объектного хранилища стоимостью около 1₽/мес. А также — настроить красивый домен. Подробности под катом.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments37

Как быстро и эффективно выгореть на работе: опыт выжившего

Reading time9 min
Views36K

Привет! Меня зовут Татьяна Белова и я автор нового DIY-медиа вАЙТИ от beeline cloud. Я руковожу управлением консультирования и обучения клиентов, и это та самая сфера «человек — человек», где сотрудники очень быстро выгорают. Однажды я боролась с профессиональным выгоранием: всё зашло очень далеко, и я чуть было не уволилась, но справилась.

Вы наверняка что-нибудь слышали о профессиональном выгорании или даже переживали его. По данным исследования hh, в сфере IT с выгоранием лично сталкивались 78% человек. Это очень высокий показатель. Выгорание ухудшает качество нашей жизни, делает работу неинтересной, а задачи, которые раньше приносили удовольствие и драйв, становятся в тягость. Есть и хорошая новость: с выгоранием можно бороться и даже сделать так, чтобы оно не наступило. Что для этого нужно — расскажу в этой статье.

Читать далее
Total votes 27: ↑20 and ↓7+18
Comments24

Базовая гигиена серверов Linux (часть 1)

Reading time8 min
Views23K

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

Читать далее
Total votes 27: ↑21 and ↓6+19
Comments24

Борьба с рутиной при написании сопроводительных писем с использованием Python

Level of difficultyMedium
Reading time8 min
Views5K

Всем привет! 

Не секрет, что сейчас очень сложно устроиться Python backend разработчиком. 1000 и более откликов на одну вакансию уже стало нормой. Не от 2000 как на тестировщика, но тем не менее.

Сейчас уже мало на отлично знать сам Python (в том числе ООП, итераторы/генераторы и прочее), базы данных, фреймворки Django или FastAPI, Docker, git и много чего еще. Требования к кандидатам становятся все более высокими.

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

И даже если это всё есть, то можно попасть под фильтр "высшее IT образование" и\или "возраст до 30 лет".

Всё это всем известно, и только некоторые чиновники и курсы по обучению программированию рассказывают про "дефицит айтишников 700_000 человек".

Претендентов на вакансии стало настолько много, что включается еще один фильтр — Сопроводительное письмо. Без которого твой отклик скорее всего потеряется среди сотен\тысяч других. Потому что конкуренция.

После очередного получасового написания одного сопроводительного письма, которое скорее всего даже не прочтут, я решил сократить время его написания.

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

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

Создание telegram-ботов с интерактивным меню

Level of difficultyMedium
Reading time15 min
Views49K

Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog

В этой статье я бы хотел обратить внимание на некоторые проблемы, которые мы встречаем при создании таких меню, предложить варианты их решения. А во второй половине статьи показать как это решается с помощью aiogram-dialog.

Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.

Примеры выбраны так, чтобы проще было показать определенные проблемы, но это не единственные сценарии приводящие к ним.

Читать далее
Total votes 22: ↑21 and ↓1+23
Comments4

Векторизация изображений. Как создать алгоритм поиска похожих изображений на Python

Level of difficultyMedium
Reading time8 min
Views13K

Многочисленные исследования ученых доказывают, что около 90% информации человек воспринимает через зрение. Изображения являются одним из самых богатых источников информации, которую можно использовать для разнообразных задач, включая классификацию, детекцию объектов, ранжирование изображений, поиск по изображениям и генерацию текстовых описаний. 

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

В мире есть много вещей, которые интуитивно понятны и очевидны для нас. Например, если перед нами два похожих цветка, мы можем определить их принадлежность одному виду, даже не зная названий этих растений. Этот навык позволяет нам распознавать объекты и определять их в группы. Разумеется, подобные алгоритмы уже давно существуют в современных поисковиках Google, Яндекс и прочих. Но что, если вы проектируете обособленную систему с собственной базой изображений одной или нескольких конкретных тематик и вам необходим функционал поиска похожих изображений?

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

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

Information

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