Pull to refresh
3
0
Роман Артоболевский @webserfer

Вечный студент

Send message

Локальный NPM репозиторий за 5 минут со своими пакетами и кэширование

Reading time2 min
Views53K
Доброго времени суток!

Рано или поздно в организациях возникают проблемы с распространением js модулей между проектами, настало то время когда в нашей компании встал этот вопрос.

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

Поиск бесплатных, частных npm репозиториев завел в тупик, а использование частных репозиториев на npm требует платы (а это не наш менталитет).

Поскольку в офисе есть сервер, который работает всегда(почти), было решено развернуть локальный npm.

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments11

Cockpit – упрощение типичных административных задач в ОС Linux через удобный веб-интерфейс

Reading time4 min
Views73K
В этой статье я расскажу про возможности инструмента Cockpit. Cockpit создан с целью облегчения администрирования ОС Linux. Если говорить кратко, то он позволяет выполнять наиболее типичные задачи администратора Linux через приятный веб-интерфейс. Возможности Cockpit: установка и проверка обновление для системы и включение автообновления (процесс патчинга), управление пользователями (создание\удаление\смена паролей\блокировка\выдача прав суперпользователя), управление дисками (создание\редактирование lvm, создание\монтирования файловых систем), настройка сети (team, bonding, ip managing и т. д.), управление systemd-юнитами\таймерами.


Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments28

Пряморукий DNS: делаем правильно

Reading time16 min
Views149K
Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит.

Статья будет состоять из трех частей:

1. Как сделать резольвер (unbound, bind)

Резольвер — это та штука, которую вы прописываете в настройках своей операционной системы, чтобы можно было превращать понятные человеку адреса типа ya.ru в непонятное 87.250.250.242.

2. Как держать зоны (PowerDNS)

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

3. Как взболтать, но не смешивать (PowerDNS + unbound)


Total votes 45: ↑43 and ↓2+41
Comments38

Шпаргалка по переходу на UTF-8

Reading time2 min
Views3.2K
Узелок по UTF-8: есть сайт в кодировке X, нужно перевести в UTF-8
Излогаю краткий список того, что нада переводить в UTF-8, чтоб сайт работал корректно.
  1. База MySQL в часности
  2. Инсталляция mbstring
  3. Конфигурация mbstring
  4. Дело с небезопасными мультибайтовыми функциями в PHP
  5. htmlentities() для мультибайтных строк
  6. Проверка content-type хэдэров
  7. Проверте бинарные файлы и строки

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

Сверхбыстрое распознавание речи без серверов на реальном примере

Reading time10 min
Views331K

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду
Total votes 185: ↑182 and ↓3+179
Comments87

rssh, или Как разрешить SCP, но запретить SSH

Reading time2 min
Views19K
Вполне адекватная ситуация: у вас есть удалённая Linux-машина с доступом по SSH, и вам срочно нужно дать кому-то из знакомых возможность загрузить на эту машину файл. Разумеется, нам абсолютно лениво разворачивать ради этого FTP-сервер. Да и зачем, когда есть SCP?

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

Выход вроде как всплывает: надо заменить пользователю shell по умолчанию (/bin/sh) на что-нибудь другое. Вот только что?
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments22

Vulkan. Руководство разработчика. Пересоздание swap chain

Reading time7 min
Views2.9K


Привет! Я технический переводчик из ижевской IT-компании CGTribe, и я продолжаю делиться с вами переводами уроков Vulkan Tutorial.

Эта публикация посвящена переводу главы Swap chain recreation — последней главы раздела Drawing a triangle. Оригинальную статью вы можете найти здесь.

Содержание
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

SMS и SIP шлюз — Мультифон, Asterisk, Kannel

Reading time5 min
Views85K
В данной статье дается описание того, каким образом можно объединить достоинства Asterisk как PBX или IVR, Kannel как SMS-шлюза используя один телефонный номер.

Для этого я использовал Freebsd 8.2 на сервере, модем Huawei E171, но можно использовать любой модем МТС или Мегафон производства huawei (так же было проверено на модеме E1551), сим-карту Мегафона. В качестве софтфонов использовались Telephone и SJphone.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments23

Защищаем удаленный сервер на Windows как можем

Reading time7 min
Views47K


Тема безопасности сервера Windows не раз поднималась, в том числе и в этом блоге. Тем не менее мне хотелось бы еще раз освежить в памяти старые методы защиты и рассказать о малоизвестных новых. Разумеется, будем использовать по максимуму встроенные средства.


Итак, предположим, что у нас есть небольшая компания, которая арендует терминальный сервер в удаленном дата-центре.

Давайте его защищать.
Total votes 15: ↑15 and ↓0+15
Comments5

Бессчётное количество персонажей для игры? О том, как я сделал это через процедурную генерацию

Reading time7 min
Views7.2K
Игра, которую мы разрабатываем, подразумевает огромное количество персонажей. Главный герой будет постоянно сталкиваться с ними и чтобы игроку не наскучили одинаковые лица, мы придумали как их генерировать из частей.

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



А прежде чем я расскажу всё, попробуйте этот генератор в действии. Мы выложили его web версию тут: galaxypassstation.com/character-creator (для ПК и Планшетов)
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments3

Делаем сервер из Android-телефона

Reading time8 min
Views119K

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Total votes 99: ↑98 and ↓1+128
Comments97

SMS через SIP messaging в Asterisk

Reading time7 min
Views12K

По немногочисленным просьбам трудящихся я расскажу как заворачивать GSM SMS из sip_dongle модуля для Asterisk в sip messaging с последующей маршрутизацией.

Немного ТЗ

Есть центральный узел Asterisk, на котором живет логика и пользователи (extensions). К нему подключаются через PJSIP другие оконечные Asterisk`и на которых висит по несколько GSM модемов.

- Одна из задач: принимать и отправлять GSM SMS сообщения правильно маршрутизируя их по номеру получателя.

- Вторая подзадача: дать нашим пользователям (extensions) возможность слать друг другу текстовые сообщения.

Итак. Что тут сложного и в чем подвох?

Когда у вас 1 модем и 1 extension все очень просто. Когда у вас 2 модема и 1 extension задача все еще простая.

Когда у вас “многое ко многим” — вот тут и кроется основна сложность. Т.е. нам нужно не просто понимать на какой конкретно модем какому конкретно Asterisk`у передать исходящее SMS, но и куда направить входящее из GSM сети сообщение. А так же что делать, если мы внутри себя не можем сообщения доставить.

Обозначения:

- gsmru 10.8.0.11 — оконечный сервер Asterisk на котором живут модемы
- 10.8.0.10 — центральный сервер Asterisk на котором крутится вся логика
- 101;102;103 - пользователи (extensions)
- sip - протокол ходит по 80му порту (так исторически сложилось)

Начнем разворачивать цепочку от оконечного Asterisk (gsmru) с модемами в сторону центрального сервера. Это канал приема сообщений и проще его объяснять именно так.

Работать с SMS можно по разному, но в моем случае я использую sqlite, который у меня /var/lib/asterisk/smsdb.sqlite3. Это сделано так чтобы можно было легко оперировать сообщениями, создавать очереди доставки в обе стороны и не переживать за всякие проблемы вида «я записал что-то в файл и мне нужно успеть это вычитать пока туда не записалось следующее, а заодно проверить что там нет «патча Бармина».

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

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Reading time12 min
Views448K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!
Total votes 141: ↑138 and ↓3+135
Comments82

Список известных SMR дисков

Reading time7 min
Views120K
Англоязычный оригинал опубликован в форуме ixsystems и вряд ли широко известен всем, кто может столкнуться с проблемой. Хотя оригинал датирован 16 апреля 2020, он ссылается в том числе на более поздние публикации, то есть обновлялся.

Жесткие диски, которые записывают данные в перекрывающихся,
Читать дальше →
Total votes 28: ↑27 and ↓1+40
Comments104

Б/у серверы: разоблачение покупки с рук

Reading time15 min
Views36K
Рано или поздно многие интернет-проекты оказываются в ситуации, когда по тем или иным причинам виртуальный хостинг (виртуальный выделенный сервер) по различным критериям уже не удовлетворяет потребностям проекта. Либо команда принимает обусловленное особенностями технологии решение запускаться на отдельных физических серверах, либо возникает необходимость повысить степень конфиденциальности данных.

Разумеется, при наличии необходимого финансирования компании, часто покупают новые серверы и сетевое оборудование. Только вот, к сожалению, такие счастливчики сейчас в меньшинстве. Большинство — это проекты с весьма скромными бюджетами, в которых не заложены статьи на приобретение нового оборудования. И перед этим большинством в данной ситуации встает вопрос, что же делать…
Читать дальше →
Total votes 21: ↑12 and ↓9+3
Comments24

Лог файлы Linux по порядку

Reading time6 min
Views472K

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




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

Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments28

Основы ZFS: система хранения и производительность

Reading time17 min
Views91K


Этой весной мы уже обсудили некоторые вводные темы, например, как проверить скорость ваших дисков и что такое RAID. Во второй из них мы даже пообещали продолжить изучение производительности различных многодисковых топологий в ZFS. Это файловая система следующего поколения, которая сейчас внедряется повсюду: от Apple до Ubuntu.
Читать дальше →
Total votes 34: ↑33 and ↓1+39
Comments33

MTA-STS для Postfix

Reading time5 min
Views11K
MTA-STS — это предложенный стандарт RFC8461, вышедший из статуса черновика и официально опубликованный 26 сентября 2018 года. Этот стандарт предлагает механизм обнаружения возможности для использования полноценного TLS между почтовыми серверами, с шифрованием данных и аутентификацией сервера. То есть, этот стандарт практически полностью защищает от вмешательства в почтовый трафик между серверами.

Упрощённо, суть стандарта в следующем:

  1. Поддерживающие его почтовые сервисы публикуют политику (1 TXT-запись и 1 HTTPS-ресурс для каждого домена).
  2. Почтовые сервисы при отправке почты в другие домены производят обнаружение политики домена-получателя.
  3. Почтовые сервисы соединяются с почтовым сервером домена-получателя, применяя ограничения к TLS, задаваемые обнаруженной политикой, если таковая нашлась.

Существуют неплохие статьи (например), рассказывающие про сам стандарт и для чего он нужен, сравнивающие MTA-STS с другими аналогичными инициативами, и даже показывающие как составить и опубликовать политику. Но найти, как продвинуться дальше первого шага, оказалось не так-то просто.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments22

Раскрываем возможности map в nginx

Reading time6 min
Views132K
map — мощная директива, которая может сделать ваши конфиги простыми и понятными.
Возможно, это самая недооцененная директива, из за того, что не все знают всех её возможностей.
Она в компактной форме помогает обрабатывать переменные, GET параметры, заголовки, куки и наборы бекендов (upstream).
Попробую раскрыть её возможности хабрапользователям.
Раскрыть возможности map
Total votes 91: ↑91 and ↓0+91
Comments11

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity