Архив рубрики: ИТшное

поездка к Мансуру 21-22 марта 2020 года

Снова немного поработал на благо медведя. Автомобиля на ходу сейчас нет, по этому, спасибо папе Мансура, ехал пассажиром 🙂

Всем рекомендую мерседесы в 124 кузове 🙂 на заднем сиденье удобно, даже когда на коленях ноут и работаешь всю дорогу.

Отдельно замечу: покрытие сотовой сети у #мегафон на Киевском шоссе оставляет желать лучшего… На трети дороги связи не хватает для стабильного ВПН-соединения

Повесили шкафчик, который будет центром сети для транляций. Маленький такой, 80х60см 🙂 Всё задуманное, по идее должно влезть. Щкаф IP64, ДКС. Отскакивая в сторону, шкафы офиегенные, хотя и не дешёвые.

Вот такой шкаф

Внутри пока бардак: просто убрали туда новый кабель и затащили временные UTP к камерам, через которые вы сейчас смотрите на #медведьмансур.

Выглядит жутковато, но работает

внутренности шкафа

Как потеплеет, облагорожу всё, будет красота и порядок. Сейчас UTP ломается, стяжки рвутся — холодно.

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

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

Сделал временный щиток кухни медведя. Временный он потому что

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

При этом, щиток обеспечит безопасность проводки, отключения всего, кроме холодильника. Жить можно 🙂

Домик светится (и греется):

Работы там ещё вал, конечно, так что будет о чём писать 🙂

Два телеграм-аккаунта на linux десктопе

У меня убунта, но наверняка будет работать в любой другой системе с гномом

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

ВАЖНО: telegram.org из России недоступен. Используйте Tor, i2p или что-то подобное…

Итак, оно у нас есть — это монолитный исполняемый файл, который мы просто положили куда-то в /opt или папку в домашнем каталоге.

Я, у себя, положил просто в 
/home/%username%/telegram/

По умолчанию, современный телеграм хранит данные профиля в

/home/%username%/home/.local/share/TelegramDesktop

Чтобы эта папка создалась сама, надо один раз запустить/закрыть телегу, не вводя аккаунта, чтобы получилось типа так:

После закрытия, переходим в папку (/home/%username%/home/.local/share/TelegramDesktop), удаляем содержимое.

Создаём папки, по количеству аккаунтов, можно называть как угодно, у меня

Telegram%имя_аккаунта1%
Telegram%имя_аккаунта2%

Осталось создать ярлыки для запуска. Ярлыки в линукс — просто текстовые файлы, по этому открываем любимый текстовый редактор и пишем туда:

[Desktop Entry]
Name=Telegram%имя_аккаунтаХ%
Comment=Official desktop application for the Telegram messaging service
TryExec=/home/%username%/telegram/Telegram
Exec=/home/%username%/telegram/Telegram -many -workdir /home/%username%/.local/share/TelegramDesktop/Telegram%имя_аккаунтаХ -- %u
Type=Application
StartupNotify=true
Icon=telegram
Terminal=false
StartupWMClass=TelegramDesktop
Type=Application
Categories=Network;InstantMessaging;Qt;
MimeType=x-scheme-handler/tg;
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;
X-GNOME-UsesNotifications=true
X-Desktop-File-Install-Version=0.23
Name[ru_RU]=Telegram%имя_аккаунтаХ%

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

Настройка связки Eltex SMG-2 и Asterisk

Рылся в интернете, но так полной инструкции не нашёл. Пришлось придумать свою 🙂

Итак у нас есть

  • поток Е1 с сигнализацией Q.931-U (подробность не существенная, если будет ОКС7 ничего глобально не изменится),
  • Шлюз Eltex SMG-2, который превращает Е1 в SIP качественно и недорого 🙂
  • FreePBX 14, с Asterisk 13 внутри.

Надо заставить всё это работать вместе.

//За кадром остаётся настройка маршрутизации в Астериске, внутренние номера, ИВР, и вот это вот всё

//Так же предполагается, что шлюз уже подключен к сети и Е1.

Шаг 1. Настройка Eltex SMG-2

Сначала надо создать два интерфейса: Е1 и SIP

E1 Создаётся в разделе «Потоки Е1» полностью по данным предоставленным оператором связи. В моём случае настройки выглядели вот так:

SIP настраивается вот так:

Параметр транковая группа обновится сам, при создании это самой транковой группы
Имя хоста/IP-адрес — это адрес вашего Астериска
Порт назначения SIP сигнализации — SIP-порт вашего Астериска

Не забудьте отметить используемые на Астериске кодеки

Дальше начинается магия: создаём планы набора и транковые группы

В разделе Планы нумерации, уже будет «План нумерации 0». В него надо добавить направления

Вот так для входящих:

Тип префикса — транковая группа.
На этом этапе саму транковую группу оставляем пустой, она добавиться при выборе плана набора в свойствах транковой группы 🙂 Вот так вот всё лихо закручено.

Обратите внимание. Часть операторов требуют указать DID-номера для обработки звонков, а часть нет. Если ваш требует, их надо добавить в План набора. Для этого, переходим в его свойства и давим сюда:

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

Обратите внимание: для входящих тип Called

И вот так для исходящих:

Обратите внимание. Часть операторов требуют указать DID-номера для обработки звонков, а часть нет. Если ваш требует, их надо добавить в План набора. Для этого, переходим в его свойства и давим сюда:

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

Обратите внимание. Для исходящих Тип Calling

В разделе маршрутизация — транковые группы необходимо создать две группы: одну для входящих звонков и одну для исходящих

Для входящих:

Обратите внимание! Префиксы кажутся наоборот. Чтобы понять это, надо понимать логику телефонии: префикс нужен чтобы из этого канала попасть в другой. То есть направление из SIP в Е1 — это направление из Астериска к оператору и наоборот.

И для исходящих:

с префиксами тоже самое 🙂

В общем всё. Осталось только настроить транк в астериске, и должно заработать.

Шаг 2. Настройка FreePBX

Указываете название, исходящий CallerID, и переходите в раздел SIP. В разделе SIP всё что необходимо добавляется на вкладке «Исходящие». Вкладка «Входящие» остаётся пустой. Результат вот такой:

host — ip-адрес вашего SMG-2

Вот тоже самое текстом:

type=friend
 qualify=yes
 nat=no
 host=%IP-адрес SMG-2
 disallow=all
 allow=ulaw,alaw ;кодеки перечислены те же что настроены у интерфейса SIP SMG2

Теперь добавляем транк во входящий и исходящий маршруты и звонки пойдут. Если входящий маршрут выглядит вот так:

Входящие пойдут сразу 🙂

Быстрое преобразование фото в Linux

Для удобного и быстрого преобразования нужен пакет imagemagick. В Ubuntu/Debian его можно установить при помощи команды

sudo apt update
sudo apt install imagemagick

После этого, для изменения размера выполняем

mogrify -resize 1280x *.jpg

в каталоге с нашими файлами. Где

  • 1280х — изменение по ширине с сохранинием пропорций (х1280 — изменение по высоте с сохранением пропорций)
  • *.jpg — маска файлов. В таком виде изменятся все jpg в каталоге.

Обратите внимание — изменятся оригинальные файлы!

Для поворота картинки выполняем:

mogrify -rotate "90" *.jpg

Где:

  • «90» — повернуть на 90° по часовой стрелке («-90» — против часовой)

Обратите внимание — изменятся оригинальные файлы!

Мегаквест: root и Leanageos 14.1 на Xiaomi Mi4c

Телефон уже не поддерживается сяоми, и из-за этого у меня возникла куча проблем:

Главная — я не смог разблокировать загрузчик при помощь MiUnlock, Постоянно получал «не удаётся верифицировать устройство»

Досадно, что в последней официальной прошивке, нет пункта «Device Unlock Status» в меню «Средства разработки», и не смотря на то, что заявка проходит, MiUnlock не работает.

Итак, итоговый квест по шагам:

Шаг 1: разблокировать загрузчик

Шаг 2: установить TWRP

Шаг 3: Найти и прошить LeanageOS 14.1

Разблокировать загрузчик

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

Итак, как и в исходниках, нам понадобится

Порядок действий, которым я пользовался, почти соответствует исходной инструкции, с некоторыми поправками и дополнениями:

  1. Установить ADB, драйверы и Fastboot
  2. Установить MiFlash
  3. Распаковать образ прошивки так, чтобы увидеть папку images
  4. Перезапустить телефон в Fasboot («Громкость -» + «Вкл»). На экране появится заяц и надпись «FASTBOOT»
  5. Запустить командную строку и выполнить «fastboot oem edl». У меня этот пункт не сработал, но я продолжал двигаться дальше, и всё закончилось хорошо.
  6. Прошить образ с разблокированным загрузчиком при помощи MiFlash (Запустить MiFlash, выбрать распакованную на шаге 3 папку images, выбрать «Flash all» внизу окна и запустить прошивку)
  7. Когда прошивка успешно закончится, снова перезапустить телефон в Fastboot и в командной строке выполнить «fastboot oem unlock»

Всё. Мы получили телефон с разблокированным загрузчиком и китайской прошивкой без Play Market, которой невозможно пользоваться 🙂

Проверить статус анлока можно из Fastboot, введя в командной строке

fastboot oem device-info

Осталось сделать телефон комфортным для использования 🙂

Установить TWRP

  • Сохранить img-файл twrp в каталог без пробелов и русских букв в пути, или рядом с исполняемым файлом fastboot
  • Запустить командную строку и перейти в папку с сохранённым файлом img
  • Так как fastboot у нас уже установлен, просто перевести телефон в FASTBOOT (на выключенном телефоне нажимаем «Громкость -» + «Вкл»)
  • Выполнить последовательно:

fastboot flash recovery %recovery%.img

fastboot boot %recovery%.img

Где %recovery% — имя скаченного файла.

После выполнения второй команды телефон должен перезапуститься в TWRP. Можно устанавливать LeanageOS

Установить LeanageOS 14.1

На самом деле, можно ставить и 15.1 и 14.1.

14.1 уже довольно сложно найти, с официального сайта его уже убрали. Я взял образ здесь. (локально: образ, хэш)

По этому, в большинстве случаев, вам подойдёт 15.1 из вот этой темы на XDA (локальная копия). Единственное, что мне помешало ей воспользоваться — нормально не работает многопользовательский режим. У второго пользователя постоянно падает приложение «первоначальная настройка телефона».

Так мне необходимо использовать многопользовательский режим, чтобы разделять рабочие и личные аккаунты, мне пришлось найти и поставить 14.1, в котором всё супер. Базовая инструкция в этой теме на XDA

Так как TWRP уже поставлен и работает из предыдущего шага, осталось сделать следующее:

Подготовить следующее:

  1. Нужный образ LeanageOS
  2. OpenGApps подходящие именно вам
    1. Для 14.1 ARM64, 7.1, pico (nano)
    2. Для 15.1 ARM64, 8.1, pico (nano)
  3. AddonSU, если вам понадобится рут в LeanageOS (ARM64, версия дополнения должна соответствовать версии ОС) (локально)
  4. Firmware от 8.5.1.0 от XIAOMI (локально)

Маленькое отступление. Я предпочитаю pico GApps, потому что в качестве системного ставится только необходимый минимум, необходимый для запуска PlayMarket, но вы можете выбрать любой другой доступный вариант.

Перезагрузиться в TWRP («Громкость +» + «Вкл»)

Подключить телефон к компьютеру, в TWRP, перейти в Advanced WIPE, установить все галочки и выполнить Wipe (System, Data, Cache, Dalvik Cache, Internal Storage)

После этого шага вы получаете кирпич, который не загрузится 🙂 Хорошо, что TWRP обеспечивает подключение Internal Storage, как съёмного устройства.

По этому:

Скопировать подготовленные файлы (образ, GApps, AddonSU, firmware) на телефон, подключенный к компьютеру

Последовательно установить все образы, не перезагружая устройство

  • firmware
  • образ
  • OpenGApps
  • addonsu

Как ни странно, последовательность важна.

Всё! Система стоит, телефон работает. Быстро, надёжно, ничего лишнего.

Установка freeswitch в ubuntu 16.04, нюансы

В официальном руководстве пропущен важный пункт:

после первого шага надо выполнить

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1FDDF413C2B201E5

Чтобы добавить открытый ключ. Без этого apt будет считать репозиторий недоверенным, и не даст установить freeswitch