Как стать автором
Обновить
0
@senogmread⁠-⁠only

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

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

Роутер + GPRS модем = mini VoIP АТС или GSM шлюз своими руками

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

На днях появилась необходимость поднять в удаленном, маленьком, офисе телефонию.
Стабильного канала Интернет, как и в большинстве удаленных регионов, в городке не нашлось, по этому задача свелась к созданию бюджетной АТС с локальным GSM каналом + VoIP связь с центральной (корпоративной) АТС.
Читать дальше →
Всего голосов 62: ↑59 и ↓3+56
Комментарии29

Виды цифровых генераторов

Время на прочтение6 мин
Количество просмотров36K
В данной статье я хочу сделать краткий обзор разных методов генерации частоты, но сначала я расскажу пару слов о себе. Это моя первая статья. Я аспирант Московского Энергетического Института. Обучался по специальности «Метрология стандартизация и сертификация». Эта статья писалась в первую очередь для себя, с целью разобраться какие есть доступные методы генерации сигнала, и так как я не нашел выжимку информации в одном месте, то решил сделать ее сам и опубликовать ее здесь. Все это делается в самообразовательных целях. С радостью приму в личной почте замечания по тексту, по сути и по стилю, и отвечу на все интересующие вас вопросы в комментариях. Статью пробовал писать максимально доступным и простым языком. Итак виды, а скорее даже методы генерации синусоидального (и вообще аналогового) сигнала. Первый из них называется прямой цифровой синтез, или Direct Digital Synthesis.
image

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

Проектирование программной платформы защищённого NAS

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


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


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

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

Хроники ремонта: как мы делали новый умный офис Madrobots. Часть вторая, умная

Время на прочтение17 мин
Количество просмотров44K
У нас в компании есть отличная традиция. Раз в полгода мы собираемся вместе и что-нибудь строим. Год назад это была горбушка, полгода назад — мега. А в этот раз мы сделали наш новый офис!
Под катом вас ожидает большое количество картинок, 5 заключительных глав про то, как из склада женских сапог мы сделали высокотехнологичный офис в стиле «лофт», описание того, как мы делали этот офис умным и некоторое количество смешных картинок. Не переключайтесь!

Часть первая

Часть вторая

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

Asterisk: Приоритезация VoIP трафика и резервирование доступа в Интернет двух провайдеров на MikroTik

Время на прочтение11 мин
Количество просмотров47K
Казалось бы вещи, вынесенные в заголовок, достаточно тривиальны и описаны во множестве мест глобальной сети, но это только на первый взгляд. Опробовав наиболее часто встречающиеся советы я обнаружил несколько «подводных камней», глыб и даже скальных образований.

Но это все слова, ближе к делу.
Достаточно распространенная ситуация — Asterisk внутри ЛКС, за маршрутизатором MikroTik.
Дабы выделить трафик сервера, где установлена PBX, администратор отрезает часть канала провайдера выделяя его исключительно для конкретного IP.
Или другая реализация, когда нужный трафик определяется не только по IP-адресу PBX, но и по размеру пакетов и протоколу.
Попробовали — работает. Можно забыть? А вот и нет.

Что если администратору захочется слить что-то из Интернет находясь в консольке сервера, или наоборот отправить куда-либо в Интернет большое количество траффика? Правильно — он приоритезируется на MikroTik так же как и полезный трафик от PBX, что в итоге приведет к проблемам с IP-телефонией.

Решение здесь старо как сам IPv4 — метить трафик на сервере с Asterisk генерируемый только ею, и так, чтобы MikroTik это мог «увидеть», отматчить(простите за столь грубый англицизм) и приоритезировать только его.

Следующим пунктом у нас идет резервирование каналов от двух интернет-провайдеров.
Думаю что каждому системному администратору, использующему в своем хозяйстве маршрутизаторы MikroTik, знаком скрипт из wiki — wiki.mikrotik.com/wiki/Failover_Scripting
Он всем хорош, но как и в предыдущей ситуации есть ряд «но».
Наиболее весомому из них имя «Connection tracking» и заключается оно вот в чем:
когда наш основной ISP изволит отдохнуть от трудов праведных, траффик переключается на резервного.

Все вроде бы довольны, ютуб работает, яп тоже, но сколько бы мы не кричали экспекто потронум
sip reload

и в отчаянии не пытались применить магию высших порядков
core restart now

SIP-регистрации не поднимаются.

А дело в том, что в механизме «Connection tracking» остались висеть записи от «старого»(основного) интернет-канала и их нужно удалить, после чего регистрации успешно поднимутся и звонки начнут проходить.

Если вам интересно как доказать MikroTik'у кто все-таки верблюд, а так же как автоматизировать в скрипте сброс «старых» соединений, то вам прямо под кат.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии16

Особенности синхронизации в Android-приложении

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

При разработке многих Android-приложений требуется организовать процесс синхронизации данных с данными на сервере. Есть два основных способа как данную синхронизацию можно реализовать.
Первый способ — классический (наиболее популярный и наиболее простой) — с помощью AlarmManager и Service. Например, как описано в этой статье.
Второй способ — «правильный» (но пока что, видимо, редко кем используемый) — с помощью SyncAdapter.

Разрабатывая своё приложение, изначально я попытался реализовать «правильный» (т.е. второй способ).
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии24

Docker для самых маленьких автоматизаторов

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

Привет, меня зовут Руслан, я руковожу тестированием в Максилекте. Сегодня поговорим о базовых понятиях Devops, которые пригодятся автоматизатору. Расскажу про CI/CD в целом - что это такое и для чего оно нужно, а также про Docker. Объясню на пальцах, как развернуть тестируемый сервис в Docker-контейнере и пробросить к нему порты, как запустить тесты снаружи или внутри контейнера.

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

О звуках, спектрах и обманутых ожиданиях

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

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

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

Сборник диаграмм классификаций баз данных

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

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

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

Замечания и предложения приветствуются.

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

OpenLinux в составе модулей SIM7600E-H

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


Механизм разработки пользовательского приложения и загрузки его в модуль доступен как под операционной системой Linux, так и Windows. В данной статье мы подробно рассмотрим то, как воспользовавшись примерами из SDK предоставляемого SIMCom Wireless Solutions скомпилировать и загрузить пользовательское приложение в модуль.

Перед написанием статьи один мой знакомый, далекий от разработки под Linux, попросил максимально детально подойти к вопросу описания процесса разработки собственного приложения под модуль SIM7600E-H. Критерием оценки доступности подачи материала стала фраза «так чтобы Я понял».

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

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

Личный IM-мессенджер со сквозным шифрованием только для своих

Время на прочтение10 мин
Количество просмотров40K
В этой статье я рассказал, как сделать собственный безопасный мессенджер только для своей тусовки параноиков.

Сейчас есть много IM-мессенджеров с end-to-end шифрованием, но вариантов, которые можно быстро развернуть на своем сервере гораздо меньше.



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

Среди преимуществ этого подхода можно отметить:

  • Вы сами управляете своей информацией, в том числе ключами шифрования.
  • Вы не отдаете свою адресную книгу никому.
  • Нет необходимости использовать телефонный номер для регистрации.
  • Наличие клиентов под все популярные системы: Windows, Linux, Android, MacOS, iPhone.
  • Дополнительное шифрование STARTTLS/SSL при передаче сообщений, обеспечиваемое почтовым сервером.
  • Возможность настроить удаление старых сообщений с устройства (исчезающие сообщения).
  • Возможность настроить удаление сообщений с сервера, при получении.
  • Быстрая доставка, благодаря IMAP push.
  • Групповые защищенные чаты.
  • Поддержка передачи файлов, фото и видео.
  • Сервер и клиент относятся к открытому ПО и совершенно бесплатны.

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

Интересный факт: Роскомнадзор уже требовал от разработчиков Delta Chat предоставить доступ к пользовательским данным, ключам шифрования и зарегистрироваться в государственном реестре провайдеров, на что Delta Chat ответили отказом, т.к. не имеют собственных серверов и не имеют доступа к ключам шифрования.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии41

Шифрование данных на виртуальном сервере

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


Немного здоровой паранойи еще никому не вредило. Помимо мессенджеров с оконечным шифрованием, шифрованием файлов на смартфонах «из коробки» и обязательным использованием SSL на сайтах, не лишним будет защитить данные на виртуальных серверах. Тем более, современные технологии сделали это простым и доступным любому пользователю. Крупные провайдеры, предоставляющие услуги хостинга VPS, предлагают шифровать данные пользователей используя стандартные средства операционных систем. Например, Microsoft, в своем облаке Azure, использует для серверов на Windows — BitLocker, а для виртуальных машин на Linux — DM-Crypt. Эти средства позволяют сохранить приватность ваших данных, даже если злоумышленник получит доступ к ЦОДу, где находятся сервер или вашему локальному компьютеру.

 Можно доверять свои данные хостерам предоставляющим VPS, можно не доверять, но никто не запретит вам использовать те же самые способы у любого VPS-провайдера, настроенные самостоятельно. В этой статье я расскажу вам как это сделать.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии16

Удаленная работа в офисе. RDP, Port Knocking, Mikrotik: просто и безопасно

Время на прочтение7 мин
Количество просмотров60K
В связи с пандемией вируса covid-19 и всеобщим карантином во многих странах единственным выходом многих компаний, чтобы продолжать работу — удаленный доступ к рабочим местам через интернет. Есть много относительно безопасных методов для удаленной работы — но учитывая масштаб проблемы, необходим простой для любых пользователей метод удаленного подключения к офису и без необходимости дополнительных настроек, объяснений, утомительных консультаций и длинных инструкций. Таким методом есть любимый многими админами RDP (Remote Desktop Protocol). Подключение напрямую к рабочему месту по RDP идеально решает нашу задачу, кроме одной большой ложки дегтя — держать отрытым для интернета порт RDP очень небезопасно. Поэтому ниже предлагаю простой, но надежный метод защиты.image
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии127

Легкий способ защитить свой Mikrotik от атак

Время на прочтение4 мин
Количество просмотров122K
upd-2020-03-16. В свете последних событий метод остается актуальным, вырезал из статьи все лишнее, оставил только про honeypot и port-scanners.

Хочу поделиться с сообществом простым и рабочим способом, как при помощи Mikrotik защитить свою сеть и «выглядывающие» из-за него сервисы от внешних атак. А именно всего тремя правилами организовать на Микротике honeypot.

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

Другая ситуация, у Вас за Mikrotik спрятан asterisk, естественно не на 5060 udp порту, и через пару дней также начинается перебор паролей… да да, знаю, fail2ban наше вcё, но над ним еще попыхтеть придется… вот я например недавно поднял его на ubuntu 18.04 и с удивлением обнаружил, что из коробки fail2ban не содержит актуальных настроек для asterisk из той же коробки того же ubuntu дистрибутива… а гуглить быстрые настройки готовых «рецептов» уже не получается, цифры у релизов с годами растут, а статьи с «рецептами» для старых версий уже не работают, а новых почти не появляется… Но что-то я отвлекся…
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии85

Цикл статей: построение защищённого NAS, либо домашнего мини-сервера

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


Статьи цикла:


  1. Обзор материалов и литературы по NAS. По предложениям пользователей ссылки на материалы будут сведены в отдельную статью.
  2. Выбор железа. Описан один из вариантов выбора железа и дан краткий обзор рынка домашних и офисных NAS систем.
  3. Установка ОС, на которой будет строиться NAS. В отдельной статье описано дополнение, позволяющее отказаться ото всех файловых систем, кроме ZFS.
  4. Проектирование поддерживающей инфраструктуры, которая будет лежать в основе всех сервисов NAS.
  5. Реализация поддерживающей инфраструктуры.
  6. Механизм аварийной удалённой разблокировки. Требуется для того, чтобы разблокировать систему, не имея к ней физического доступа.
  7. Повышение защищённости NAS. Исправление ошибок, допущенных в предыдущих статьях и описание Hardening процесса.
  8. Система контроля версий на базе Git. Установка Gitlab в контейнере.
  9. Система резервного копирования. От регламента до установки ПО, где в качестве примера используется UrBackup.
  10. Персональное облако. Обеспечивает хранение персональных файлов пользователя, обмен файлами между пользователями, а также интеграцию различных сервисов между собой.
  11. Сквозная аутентификация контейнеров.
  12. Управление файлами.
  13. Библиотека.
  14. Мультимедийная система 1: музыка.
  15. Мультимедийная система 2: медиа сервер.
  16. Фронтенд. Интерфейс, позволяющий быстро обращаться к сервисам.
  17. Заметки про управление контейнерами.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии141

Гибрид компьютера и IP-телефона. Анатомия аппаратной платформы GM-Box. Часть 1 – прототипирование

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

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

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

Наш продукт – это программно-аппаратный комплекс (ПАК), его центральная часть – гибридная док-станция GM-Box G1. Это устройство нового поколения «все в одном» (all-in-one) объединяет в себе: «тонкий клиент», IP-телефон, систему аутентификации с использованием смартфона как ключа, считыватель бесконтактных карт, набор основных модулей беспроводной связи и даже несколько видов зарядки для смартфона.

В серии статей вас ждет описание кейсов промышленного дизайна и прототипирования, разработки электроники и пластиковых корпусов, испытаний и запуска собственного производства в России. Будет много фоток рабочего процесса и откровений инженера, который принял в этом активное участие (т.е. меня). Поехали!

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

Как заставить Arduino петь как ZX Spectrum. Часть 1: исторический экскурс

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

ZX Spectrum 128 и его многочисленные клоны имели встроенный звукогенератор AY-3-8912, благодаря чему как зарубежные музыканты, так и наши соотечественники успели написать огромное количество музыки под этот компьютер.

В двух частях этой статьи, приправленных щепоткой ностальгии, мы вспомним основные способы звукоизвлечения на ZX Spectrum 128, обозначим характеристики “музыкального сопроцессора” AY-3-8912, перечислим наиболее известные музыкальные редакторы, продизассемблируем музыкальный модуль от популярной игры Dizzy IV и воссоздадим его на Arduino. Приглашаем под кат всех любителей компьютерной музыки, DIY, а также тех, кто заинтересовался, почему словосочетание “музыкальный сопроцессор” мы взяли в кавычки.

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

Как заставить Arduino петь как ZX Spectrum. Часть 2: музыка Dizzy IV на Arduino Nano

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

В этой части статьи мы перейдем к самому интересному - будем разбирать музыкальный модуль Dizzy IV по винтиками и воспроизводить мелодию сначала на Windows, а потом и на Arduino Nano. За подробностями добро пожаловать под кат.

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

Хостинг статических сайтов на AWS

Время на прочтение7 мин
Количество просмотров12K
В данной статье я хочу подробно разобрать тему хостинга статических сайтов на AWS. Тему нельзя назвать сильно сложной, но нюансов хватает. Для настройки вручную потребуется организовать взаимодействие 4-5 сервисов, а по дороге порой можно встретить весьма интересные грабли.

Некоторое время назад существовал официальный туториал по такой ручной настройке. Местами он мог показаться сложным, местами странным. Скорее всего, это была дань универсальности и необходимости продемонстрировать разные варианты хостинга. Однако сейчас туториал кардинально обновлен, и предлагает использовать сервис AWS Amplify для решения такой задачи. С одной стороны, это удобно, но с другой стороны, иногда необходимо разобраться, что же именно происходит “под капотом”. Поэтому здесь мы разберем, как все настроить руками.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии9

Книга «Android. Программирование для профессионалов. 4-е издание»

Время на прочтение13 мин
Количество просмотров12K
image Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах.

Эта книга посвящена прикладным методам разработки приложений на Kotlin, и подойдет для всех версий Android от 5.0 (Lollipop) до 8.1 (Oreo) и выше. Используйте Android Studio для создания приложений, чтобы проверять код на каждом этапе, интегрировать его с другими приложениями, работать с изображениями, воспроизводить аудио и делать многое другое. Каждая глава продумана (и протестирована) так, чтобы вы смогли получить максимум опыта и знания, необходимые для разработки под Android.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии4
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность