2021-06-08

Перенос почты между imap почтовыми ящиками

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

Стал думать как это сделать. Перенос папки с почтой на локальном диске оказался не самым рабочим вариантом - все файлы копировать было стремно а по папкам скопировать не удалось. 

Ни одной полезной linux утилиты я не нашел, зато попались несколько платных, не внушающих доверия.

В результате проблема решилась банальнейшим образом - поскольку оба сервера у меня живые - просто выделил папки в Thunderbird которые нужно было перенести на новый сервер и перетащил их на новый аккаунт! Вот так просто!

Все благополучно перенеслось! Это был последний шаг, необходимый мне для завершения процесса переезда, теперь старый сервер можно благополучно погасить и не платить в два раза больше за хостинг!

Кстати, очень рекомендую linode - пользуюсь этим хостинг провайдером уже много лет и мне у них все нравится! За пять долларов в месяц вы получите полноценный виртуальный выделенный сервер для своих проектов, с 1 GB RAM и 32 GB дискового пространства, для небольшого пет проекта вполне достаточно.

 

Оставить комментарий

 
  2021-03-27

Мониторинг серверов c Grafana и Influxdb

Есть меня несколько серверов которые бы мне хотелось постоянно мониторить на предмет оперативной памяти, диского пространства и т.п. Хотя сами сервера расположены в разных местах все они объединены между собой по openvpn. Для того чтобы решить задачку мой выбор пал на связку influxdb+grafana.

Influxdb это так называемая timeseries база данных, в которой мы можем хранить данные которые изменяются во времени. Grafana - это универсальный UI который удобно использовать для визуального представления таких данных. InfuxDB и Grafana поднимаются на при помощи docker-compose. К при этом для того, чтобы послать данные состояния сервера используется баш скрипт который периодически запускается через cron и при помощи curl посылает данные на сервер

Таким образом я всегда могу видеть состояние того или иного сервера. Все системы будем подымать в докере для этого достаточно склонировать репозиторий с docker-compose который содержит в себе 3 образа - influxdb, grafana и chronograph.

git clone git@github.com:maxistar/docker-compose-influxdb-grafana.git
cd docker-compose-influxdb-grafana
git checkout influx1_8
docker-compose up -d

Influxdb версии 2.x требует авторизации и поэтому я использовал версию 1.8. Исправленный docker-compose.yaml живет в ветке influx1_8 где я использую именно эту версию, возможно в будущем разберусь как использовать и последнюю версию.

После того как InfluxDB и Grafana запущены, на сервере, который будем мониторить, создаем bash скрипт (script.sh).

#!/bin/bash

dbName="db0"

stat=`free | awk -v RS="" '{print "memory,host=acentauri used=" $9 "\nmemory,host=acentauri total=" $8 "\nmemory,host=acentauri swap=" $15 "\nmemory,host=acentauri swapused=" $16}'`

curl -s -i -XPOST "http://10.8.0.100:8086/write?db=db0" \
	--data-binary "$stat" 
 

делаем файл исполнимым и добавляем команду для запуска скрипта в cron:

chmod +x script.sh
contab -e

в открывшимся файле добавляем следующую строчку:

* * * * * /home/maxim/infrastructure/utils/memusage/script.sh

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

После того как начал мониторить состояние asterisk сервера он волшебным образом перестал зависать! Возможно его зависания были связаны с тем что зависает wifi модуль и я его перестаю видеть по сети.

 

Оставить комментарий

 
  2021-02-25

Как войти в кошёк IOTA если у вас короткий...

...Seed.

Есть такая криптовалюта IOTA. У них в кошельке для авторизации используется так называемый seed - просто случайная последовательность символов некоторой длинны. И эта длинна имеет значение!

Сейчас для авторизации используется seed длинной 81 символ. Когда я заводил кошелек мой seed был длинной 79 символов. 

Старый сид новый кошелек не понимает - говорит - хочу чтобы был не короче 81 символа!

Оказывается для преобразования старого сида к новому нужно дописать к старому сиду девятки до длинны 81 символ.

Вдруг кому нибудь тоже понадобится.

 

Оставить комментарий

 
  2020-04-07

Как сконфигугировать FreePBX на Raspberry Pi

Сделал небольшую статейку про то как сконфигурировать Free PBX для работы в качестве мини-АТС - вдруг кому-то будет интересно...

Статейка пока сырая, дополнения и исправления будут позже.

 

Оставить комментарий

 
  2015-08-08

Скринкаст на Linux

Часто бывает нужно записать скринкаст. Пробовал разные утилиты, но лучшей оказался обычный ffmpeg.

На своем лаптопе я запускаю это вот так:


ffmpeg -video_size 1366x767 -framerate 25 -f \
x11grab -i :0.0 -f pulse -ac 2 -i default output.mp4

Может кому-то будет полезно...

 

Оставить комментарий

 
  2018-04-28

Docker контейнер c GUI на удаленном компьютере

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

Обнаружил замечательный docker образ, который позволяет запускать графическое окружение и обращаться к нему через брауезер или через VNC viewer. 

Запускаем на удаленном сервере:

> docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword dorowu/ubuntu-desktop-lxde-vnc

И заходим на ваш новый компьютер через браузер:

http://yourremoteserver:6080

Получается вполне сносный рабочий копьютер на котором нормально открываются google и amazon сервисы.

 

Оставить комментарий

 
  2018-04-23

Зачем рeдактировать /etc/hosts для создания локального сайта?

Добавил новую DNS запись вида *.local на домен maxistar.ru ссылающуюся на 127.0.0.1 - теперь для локальной разработки не обязателно добавлять имя локального сайта в /etc/hosts - просто создаем локальный виртуальный домен, например newproject.local.maxistar.ru - и вуаля - я могу видеть его по этому адресу!

Кстали, в сети полно таких DNS записей более короткого вида - например fuf.me ссылается на локалхост, можно, например, сделать newproject.fuf.me.

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

 

Оставить комментарий

 
  2016-10-28

Как записать видео с экрана в linux

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

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

Все просто, в моем случае это:

> ffmpeg -video_size 1366x767 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default output.mp4

Где 1366x767 - это разрешение экрана минус единица. При этом захват получается еще и со звуком!
 
Вот здесь можно найти примеры для других ОС: https://trac.ffmpeg.org/wiki/Capture/Desktop
 

Оставить комментарий

 
  2016-08-29

Как открыть на docx на юбунту

Одному человеку потреботвалось отредактировать несколько анкет в формате docx для одного банка. Про то что не у всех есть Microsoft Office в этом банке видимо не знали - поэтому анкеты в docx.

Сначала этот человек попытался открыть файлы в Open Office - так файлы оказались с поломанной разметкой, часть символов не отобразилась вообще, часть строчек съехали. В принципе можно было бы исправить кривую разметку, найти похожие символы и переформатировать текст, но овчинка выделки не стоила. Так что, решил этот человек искать другие варианты.

Загрузил это человек docx анкету в Google Drive и открыл фалики в Google Docs. Но видимо, толи Google Docs не совсем хорошо понимает формат docx, толи тексты были настолько кривыми, но они корректно в Google Docs тоже не открылись.

Решил тогда этот человек сконвертировать документы в pdf при помощи одного из многочисленных online конветеров. PDF вышел замечательный, разметка отобразилась как надо, вот только отредактировать его не получилось не одним из известных этому человеку способов.

В конце концов, когда все известные способы были перепробованы, этот человек зашёл на один популярный торрент трекер и скачал оттуда Microsoft Office 2007 да поставил его под Wine. Документы открылись в том виде, в каком они и должны были открыться.  

Вывод - самый простой способ отредактировать docx в ubuntu - поставить на Ubuntu Microsoft Office. Больше никак. И это, когда на дворе двадцать первый век, когда космические корабли бороздят просторы большого театра. Печаль...

 

Коментариев: 3

 
  2015-10-22

Резервная копия для Google Authenticator

Двухфакторная аутентификация сейчас пользуется заслуженной популярностью. Аутентификация с использованием Google Authenticator - отличная альтернатива аутентификации на основе SMS сообщений. 

Но вот вопрос - что делать если устройство потеряется? А как просто будет перенести данные для авторизации если у вас новое устройство? 

Сейчас для того чтобы перенести авторизацию с одного устройства на другое нужно обнулить токены авторизации на одном устройстве и настроить их на другом. Хорошо если у вас только один аккаунт под управлением Google Authernticator - а если десять? У меня сейчас пять таких аккаунтов и их перенос для меня сильно проблематичен.

Не так давно я решил вопрос с потерей устройства регистрируя ключ на двух устройствах одновременно. Но вот у меня появился новый телефон. Проблема встала с новой остротой.

Хочется иметь возможность в любое время развернуть токены с одного телефона на другом. Желательно также, чтобы в любое время я бы имел возможность снести Google Authenticator и заменить его на любой другой, например, на FreeOTP.

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

Оказалось, что задача резервного копирования решается не просто просто а очень просто! Значит, чтобы получить на двух телефонах одинаковые коды, нам всего лишь нужно знать этот "секретный" код. А ведь когда мы настраиваем аккаунт нам этот код показывают на экране! Дополнительно, его можно скопипастить в виде текста и сохранить в надежном месте! Далее, просто вводим этот код в ДРУГОЙ телефон и вуаля! Мы имеем ДВА телефона с одинаковыми кодами! Более того, теперь, в случае, если мы сбросили наш телефон до заводских настроек, мы всегда можем восстановить наш Google Authenticator как было!

Таким образом, алгоритм подключения телефона дополняется дополнительным шагом - а именно - сохранением секретного ключа в секретном же месте. После чего, данный секретный ключ может быть введен на любом устройстве, в любое время! Кроме того, вы можете попробовать использовать любые другие OTP программы, например FreeOTP.  Который, в отличие от Google Authenticator - полностью открытый и не имеет разрешений ходить в интернет. Да я теперь даже смогу использовать Pebble для авторизации!

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

 

Коментариев: 5