Как стать автором
Обновить
96
0

Пользователь

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

Релиз неофициального MTProto прокси на Python, особенности протокола

Время на прочтение6 мин
Количество просмотров25K
image

Недавно разработчики Telegram выложили исходные тексты прокси-сервера, работающего по протоколу MTProto. На хабре вышли статьи об особенностях его сборки и перепаковке докер-контейнера с ним. Официальный прокси сервер, написанный на С, удивляет объемом кода — примерно 23 тысячи строк. Одновременно с этим, а иногда и чуть раньше, вышло несколько альтернативных реализаций, но ни одна из них не поддерживала возможность рекламы своего канала.

В данной статье хотелось бы, во-первых, рассказать о малоизвестных особенностях протокола общения прокси-сервера с внешними серверами и, во-вторых, рассказать о собственной разработке — реализации прокси-сервера на Python, которая только что достигла релиза и доступна всем желающим под свободной лицензией MIT.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии86

Создание игры Tower Defense в Unity — Часть 1

Время на прочтение16 мин
Количество просмотров56K
image

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

Вы узнаете, как сделать следующее:

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

В конце мы получим каркас игры, который можно развивать дальше!
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии6

Работа с массивами в bash

Время на прочтение8 мин
Количество просмотров110K
Программисты регулярно пользуются bash для решения множества задач, сопутствующих разработке ПО. При этом bash-массивы нередко считаются одной из самых непонятных возможностей этой командной оболочки (вероятно, массивы уступают в этом плане лишь регулярным выражениям). Автор материала, перевод которого мы сегодня публикуем, приглашает всех желающих в удивительный мир bash-массивов, которые, если привыкнуть к их необычному синтаксису, могут принести немало пользы.

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

Полный цикл разработки IoT устройства управления подогревом бассейна на ESP8266 в среде Arduino

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

В данной публикации я поделюсь опытом о создании IoT устройства с ноля: от появления идеи и воплощении ее в «железе» до создания микропрограммы для контроллера и web-интерфейса для управления созданным устройством через сеть интернет.


До создания этого устройства я:


  • Почти не разбирался схемотехнике. Только на уровне принципов работы
    резистора/транзистора… Я не имел никакого опыта в создании сколь-нибудь сложных схем.
  • Никогда не проектировал печатных плат.
  • Никогда не паял SMD компонент. Уровень владения паяльником был на уровне припаивания проводов и какого-нибудь реле.
  • Никогда не писал таких сложных программ для микроконтроллера. Весь опыт был на уровне «зажги светодиод в Arduino», а контроллер ESP8266 я встретил впервые.
  • Совсем немного писал на C++ для «большого брата», но это было более десятка лет назад и все давно забылось.

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

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

Взлом дешёвого фитнес-браслета

Время на прочтение10 мин
Количество просмотров88K
Это перевод. Статья опубликована 27 мая 2018 года


Фитнес-трекер до и после разборки

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

  • действительно маленький форм-фактор (примерно 15×40 мм);
  • Bluetooth low energy (BLE);
  • OLED-дисплей (96×32 пикселя);
  • аккумулятор;
  • USB-зарядка;
  • акселерометр;
  • вибромотор;
  • цена около $10 (!).
Читать дальше →
Всего голосов 128: ↑126 и ↓2+124
Комментарии78

Запуск LAMP и сотен других веб-приложений в несколько кликов

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

image В прошлой публикации я рассказал как SSHeller помогает быстро и легко развернуть OpenVPN сервер. В версии 1.1.0 был добавлен еще один плагин — Docker.
Хочу сразу предупредить, что если у вас руки заточены под консоль, а управление Docker через командную строку кажется удобным и интуитивно понятным, — не нужно читать дальше, не нужно писать ничего в комментариях, я и так знаю, что SSHeller вам не нужен.


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


Как это работает


Нужен сервер с практически любым современным Linux дистрибутивом. Но, в отличии от OpenVPN, для Docker я бы порекомендовал Debian 9 либо Ubuntu 18.04. С Fedora и Centos дела обстоят чуть хуже, так как требуется ставить больше пакетов, дополнительно настраивать автозапуск, немного иначе построена работа с хранилищем.


Самое главное — это должна быть либо физическая либо виртуальная машина, но никак не контейнер (LXC, OpenVZ не подойдут). И нужен доступ по SSH. В прошлой публикации есть подробное описание, как зарегистрироваться и запустить сервер в DigitalOcean, а в конце — чуть менее подробная инструкция для Linode. Оба этих сервиса предлагают простые машины за $5/месяц и бонусы при регистрации по реферальной ссылке. Для начала этого будет вполне достаточно.


Как только у нас есть IP, логин и пароль к серверу, можно устанавливать SSHeller. Скачать его можно из релизов на GitHub, есть версии для macOS, Windows и Linux. После запуска добавляем наш сервер, подключаемся к нему и переходим к плагину Docker.

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии3

BricsCAD Shape — бесплатная 3D САПР от Bricsys

Время на прочтение1 мин
Количество просмотров15K
На днях под Linux тихо и почти незаметно вышел новый CAD продукт от компании Bricsys, таким образом Linux пополнился еще одним must-have инструментом для виртуального прототипирования.


Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии19

Стрелочные LED-часы для обучения пайке SMD компонентов

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

В этой статье я расскажу об одной такой интересной штуковине, которую мы сделали некоторое время назад. Это набор для обучения SMD пайке — LED часы. Под катом подробное описание набора, причины появления, и видеоурок по SMD пайке!

image
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии134

Разработка умных устройств на примере контроллера теплого пола на ESP8266

Время на прочтение11 мин
Количество просмотров23K
Хочу поделиться своим опытом разработки умного устройства. В этой публикации я опишу аппаратное (кратко) и программное (более подробно) обеспечение.

Контроллер предназначен анализировать показания датчиков (проводных и беспроводных) и поддерживать заданную (с учетом расписания, в т.ч. по дням недели) температуру в каждой отдельной зоне, путем включения/выключения котла и управления петлями водяного теплого пола с помощью термоголовок на коллекторе.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии53

Взламываем Windows Server через 1С

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

Сегодня мы расскажем, как можно получить права локального администратора на сервере MS Windows Server 2016 через незащищенную базу 1С: Предприятие 8. Мы уверены в том, что данный кейс будет интересен, как специалистам по информационной безопасности, так и системным администраторам. В конце Вас ждет бонус.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии66

Веб менеджер OpenVPN клиентских ключей VPNFace Lite

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

Интро


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


Привет, а ты же с компьютерами разбираешься? поможешь мне про впн?
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Mikrotik RoS, полезные мелочи

Время на прочтение5 мин
Количество просмотров173K
Распространенность оборудования Mikrotik растет с каждым днем, все больше устройств, а значит и RoS, появляется не только в корпоративном секторе, но и у обычных, домашних пользователей.
К сожалению, не смотря на вполне нормальные настройки по умолчанию, которые можно сделать через Quick Set, в интернете можно встретить множество советов очистить конфигурацию, и сделать как-то по «особому», с «нуля». В этой статье я хочу поделится своим опытом и дать рекомендации, как изменить конфигурацию из Quick Set под свои нужды, при этом сохранив достаточный уровень защищенности.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии28

Firefox Gecko, «который мы потеряли»

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

Эволюция идёт, и более слабые, медленные и неэффективные организмы вымирают. Не так давно мы проводили в пучину истории Оперу-12, глядя куда-то вдаль, молча слушая за спиной всхлипывания сочувствующих. В отличие от трупа последнего животного из Красной Книги, ею можно было ещё пользоваться 2-3 года, да и на некрофилов пользователи не смахивали. Похожая ситуация повторяется с Firefox на движке Gecko с последней наиболее удобной версией 56.0.2. Есть много полезной и привычной функциональности, не только встроенной, но и в аддонах (расширениях). Даже пониженное быстродействие — не основание для перехода к новой версии, если с ней теряется несколько полезных функций. А со старым движком есть, что терять...


Рассмотрим список того, чем ещё можно пользоваться в старой версии Firefox и с какими успехами идёт замена и восстановление этого в новых версиях. Что имеется совершенно нового, ради чего стоит всё бросить и забыть. (На самом деле — не обязательно. Ведь можно одновременно открывать старую и новую версии.)

Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии219

Управляем копированием атрибутов Active Directory при дублировании пользовательских аккаунтов

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


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

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

Централизованное обновление сертификатов Let's Encrypt

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

letsencrupt server


Всем привет!


В этой статье я опишу как мы решали проблему централизованного обновления сертификатов Let's Encrypt и управления инфраструктурой с помощью ansible.


В нашем решении мы будем использовать:


  • ansible
  • rsync, rsyncd
  • inotify, incron
  • certbot
  • nginx
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии16

Ansible не так прост

Время на прочтение8 мин
Количество просмотров55K
У меня есть три сервера, но я не профессиональный сисадмин. Это означает, что несмотря на четыре базы данных и стопяцот приложений, бэкапы нигде не ведутся, к любой проблеме на сервере я подхожу, шумно вздохнув и бросив тарелку в стену, а операционные системы там достигли EOL два года назад. Я бы рад обновить, но на это нужно выделить, наверное, неделю, чтобы всё забэкапить и переставить. Проще забыть про yum update и apt-get upgrade.

Конечно, это неправильно. Я давно присматривался к chef и Puppet, которые, как я думал, решат все мои проблемы. Но я смотрел на конфиги знакомых проектов и откладывал. Это же нужно изучать, разбираться с ruby, бороться с многочисленными, по отзывам, косяками и ограничениями. Две недели назад статья Георгия amarao стала животворящим пинком. Даже не сама статья, а перечисление систем управления конфигурацией. После чтения комментариев и лёгкого гугления решил: возьму Ansible. Потому что питон, и на проблемы никто не жалуется.



Что ж, тогда я первым буду.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии52

Resolve IP адресов в Linux: понятное и детальное описание

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

Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным поведением вебсервера: он пытался присоединиться к сервису по IPv6, а сервис же слушал только IPv4 адрес. Стандартный совет в такой ситуации — отключить поддержку IPv6. Но это не поможет в ряде случаев. Каких? В этой статье я задался целью собрать и детально объяснить как приложения resolve'ят адреса.

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

Вертим логи как хотим ― анализ журналов в системах Windows

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


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


В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.

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

Hyperpilot открыл исходный код своих продуктов на 100%

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


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


Последний год Hyperpilot работал в скрытом режиме, поэтому позвольте объяснить, что мы собирались делать. Наша миссия – дать интеллект инфраструктуре, чтобы увеличить эффективность и производительность. DevOps и системные инженеры постоянно сталкиваются с необходимостью принимать множество решений, связанных с контейнерной инфраструктурой и процессами, требующими ручной работы. Эти решения включают в себя весь путь от конфигурации виртуальных машин (тип инстанса, регион и т.д.), конфигурации контейнеров (запрос ресурсов, количество экземпляров контейнера и т.д.) до вариантов конфигурации уровня приложения (jvm и т.д). Операторы и разработчики часто делают статический выбор, и эксплуатационный персонал понятия не имеет, почему было принято такое решение. Хуже всего, что операторы склонны к переусердствованию, а это приводит к неэффективному использованию инфраструктуры. Мы работали над тремя продуктами, которые могли бы помочь операторам находить инструменты для лучших решений и автоматизации рекомендаций в будущем. Далее я расскажу о высокоуровневых продуктах, находящихся в открытом доступе.

Всего голосов 20: ↑15 и ↓5+10
Комментарии1

Глупый метеокороб на E-Ink

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


Уже как полтора года назад я купил пару E-Ink экранов с eBay на базе драйвера SSD1606, как раз для метеостанции. И вот 4 месяца назад, перед новыми годом, появился он.
Внимание внизу есть Х изображений общей массой 3,2МБ
Всего голосов 55: ↑54 и ↓1+53
Комментарии108

Информация

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