Страницы

четверг, 29 октября 2015 г.

Запись интернет-радио в консоли, с помощью Streamripper

Утилита командной строки, для записи интернет-радио-вещания streamripper.

Установка в Ubuntu server (или в консоли Ubuntu Desktop):

$ sudo apt-get install streamripper

Пример запустить на 60 секунд (-l 60), поток вывести в файл testfile (-a testfile), поток - Радио Бизнес-FM:

$ streamripper http://bfm.hostingradio.ru:8004/fm -a testfile -l 60 -s
Выходной файл: testfile.mp3

Рядом создаются несколько служебных файлов и папок: BFM, testfile.cue



Использовать в скриптах, по расписанию.


※※※

Быстрая установка Docker в Ubuntu server 15.10

После установки Ubuntu Server 15.10 в один из разделов на микросервере, пришло время установить контейнерную виртуализацию, в рамках идеи переноса сервисных служб в контейнеры, на новой основе - Docker.

Инструкция по установке в Ubuntu есть на сайте docker - http://docs.docker.com/installation/ubuntulinux/ .

Здесь только команды, для быстрого запуска, под пользователем root:
Смена комплектного репозитория ubuntu на новейший репозиторий от Docker. Команды все в одной строке.

root@microserver# apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

root@microserver# touch /etc/apt/sources.list.d/docker.list

root@microserver# nano /etc/apt/sources.list.d/docker.list

root@microserver# cat /etc/apt/sources.list.d/docker.list

# Docker.IO - пакеты контейнерной виртуализации
# сервер: microserver
# 29.10.2015
deb https://apt.dockerproject.org/repo ubuntu-wily main


root@microserver# apt-get update

root@microserver# apt-cache policy docker-engine

Установка Docker и проверка работоспособности:

root@microserver# apt-get install docker-engine

root@microserver# docker run hello-world

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

root@microserver# usermod -aG docker iam


Настройку сети, для контейнеров - это специфическая задача, в зависимости от сетевого окружения.



пятница, 16 октября 2015 г.

Интернет неприятности

Провайдер посадил мой домашний компьютер за NAT и DPI.
По сути, провайдер реализовал известный принцип атаки - "man-in-the-middle".

Эффекты


Долго думает, пока подключается к страницам. 3g модем работает быстрее.
Снижено качество интернет-подключения.
Отсутствует "белый" ip-адрес.
Невозможно подключиться по VPN.
Стала глючить телефония.
Пропускная способность линии снизилась и находится ниже договорной.
Нельзя раздать собственный файл по протоколу BitTorrent.


Так по-тихоньку и угробят Интернет. Уже тестируют рубильник. Трафик уходит "неизвестно куда".


Памятка по установке OpenVPN в Linux Mint 17.2 Mate (Gnome 2 fork).


$ sudo apt-get install network-manager-openvpn network-manager network-manager-gnome network-manager-openvpn-gnome

После этого настройка из графического интерфейса Network-Manager.
При наличии данных провайдеров VPN.





среда, 14 октября 2015 г.

Вещи с подключением, с платой Intel Edison Internet of Thins. Часть I


Первоначальная настройка прошивки Intel Edison


Для операций используется настольная операционная система Linux Mint MATE 17.2 64-bit, установленная на плате Intel DN2800MT. Данная связка нивелировала, для пользователя, проблемы материнской платы с производительностью видеоподсистемы, за счёт использования переработанной среды Gnome 2 - MATE.

Итак, после аккуратной (не нажимая на модуль) механической сборки платы Intel Edison, нужно обновить встроенное программное обеспечение платы Intel Edison.

Пошаговый мастер установки Intel Edison. https://software.intel.com/ru-ru/iot/library/edison-getting-started


Установка Flash Tool Lite


Действуем в соответствии с https://software.intel.com/en-us/get-started-edison-linux-step2


1. После подсоединения платы Intel Edison к порту USB, она представлена в системе как обычный flash-накопитель (usb-mass-storage),  с меткой Edison.

2. Удалить все файлы на томе Edison
cd /media/iam/Edison
rm –rf Edison/*
rm –rf Edison/\.*
Проверить всё ли удалилось
ls -lag Edison
Можно для безопасности перенести файлы куда-либо.
У меня при подключении Intel Edison, том был пустой.

3. Установить требуемые библиотеки в настольной системе

$ sudo apt-get install gdebi libncurses5:i386 libstdc++6:i386

4. Загрузить и установить сам инструмент Flash Tool Lite

http://downloadmirror.intel.com/24910/eng/phoneflashtoollite_5.2.4.0_linux_x86_64.deb

Можно установить полученный файл двойным щелчком, через Менеджер пакетов или Ubuntu Software Center.

Запускается обычно командой:
$ phoneflashtoollite

либо через меню.


5. Просмотр описания графического интерфейса утилиты Flash Tool Lite, если возникают трудности, то можно попробовать ручной режим
https://software.intel.com/ru-ru/articles/flash-tool-lite-user-manual
Я начал с прошивки утилитой.

※※※

Прошивка Intel Edison с помощью Flash Tool Lite


При прошивке встроенного ПО, плата Intel Edison должна быть специфическим образом подсоединена к настольной системе. Это зависит от версии платы, в данном случае это Intel Edison Breakout Kit (самая простая и начальная система для запуска).

1. Верхний usb-порт, должен быть присоединён к usb-порту настольной системы, кабелем micro-usb--usb.
2. Нижний usb-порт, должен быть присоединён к micro-usb кабелю, второй конец которого свободен. Его нужно будет потом оперативно подсоединить, после нажатия кнопки "Start Flash". Если программа прошивки определит правильно подключение, то начнётся прошивка.

3. Надо скачать zip-файл с образом прошивки с сайта Intel
4. Открыть zip-файл с образом прошивки в программе, нажав Browse и выбрав zip-файл.
5. Json файл будет выбран автоматически. Но для системы Linux надо выбрать CDC на вкладке, вместо RNDIS.
6. Программа Flash Tool Lite, готова к прошивке. Не прерывайте питание, не отключайте устройство Intel Edison, до завершения и не менее 2-3 минут после завершения прошивки.
7. Нажав кнопку "Start flash" надо быть готовым к подключению нижнего кабеля usb к порту компьютера. Если программа определила правильно подключение, то прошивка начнётся автоматически и продлится несколько минут.

※※※

Подключение к плате Intel Edison в терминальном режиме


Верхний micro-usb разъём используется мостом USB-Serial FTDI, через него и осуществляется терминальное подключение.

1. Для первоначальной настройки платы Intel Edison нужно установить терминальное подключение используя устройство /dev/ttyUSB0, предварительно установив программу screen на настольный компьютер.
$ sudo apt-get install screen

Подключаться так:
$ sudo screen /dev/ttyUSB0 115200

Должно появиться приветствие встроенного Linux Poky (Yocto Project Reference Distro)
Войти пользователю root, без пароля первоначально (потом можно будет задать пароль.

2. Сконфигурировать wi-fi подключение к домашней сети wi-fi
Убедится что включен передатчик на домашнем роутере.

# configure_edison --wifi
Найти домашнюю сеть (пересканировать при необходимости), выбрать, ввести пароль. Система сконфигурируется как клиент wi-fi (Station mode).

Полученный режим можно просмотреть командой:
# configure_edison --showWiFiMode
Присвоенный IP-адрес, в домашней сети
# configure_edison --showWiFiIP

3. Сконфигурировать пароль пользователя root и одновременно ssh-доступ к устройству через wi-fi
# configure_edison --password

4. Проверить подключение по ssh
На настольном компьютере
$ ssh root@192.168.1.43
Ответить yes на незнакомый пока хост и ввести пароль пользователя root.

5. Плата готова к отключению от настольного компьютера и подключению к источнику питания. Она автоматически подключиться к домашней сети и можно будет присоединиться по ssh.
Чтобы корректно отключить можно выполнить команду:
$ shutdown -h
Это задаст отключение через минуту.
Можно нажать Enter
и набрать
$ exit
чтобы выйти из сессии.

6. Плата выключиться, останется гореть 1 светодиод.

※※※

Прошивка Intel Edison в ручном режиме


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

1. Распаковать образ системы Yocto на том Edison.
2. Подключиться терминалом minicom или putty, пользователем root.
3. Выполнить прошивку набортными средствами
$ reboot ota
После перезагрузки будет выполнена прошивка.


※※※

Ресурсы


1.https://software.intel.com/ru-ru/iot/library/edison-getting-started
2. https://software.intel.com/ru-ru/articles/flash-tool-lite-user-manual


※※※

понедельник, 12 октября 2015 г.

Microserver. Syncthing синхронизация файлов Android, Windows, Linux

Замечательная открытая программа Syncthing, позволяющая пользователю поддерживать файлы в актуальном состоянии на нескольких компьютерах, под управлением Linux, Android, Windows.

Под капотом, собственный протокол передачи блоков содержимого файлов с шифрованием. Открытое ПО.

Типичное использование синхронизации файлов Syncthing


1. Автоматическая загрузка фотографий с телефона Android на сервер (в моем случае, микросервер под управлением Ubuntu LTS).
2. Автоматическое формирование копии файлов с настольного компьютера, на другом компьютере (в моем случае, микросервер  под управлением Ubuntu LTS).
3. Распределённая папка хранения или обмена.
4. Собственный облачный сервис, на собственном оборудовании.


Простые возможности, но позволяют реализовать собственную поддержку резервирования ценных данных (фотографий, видеороликов) на удалённом (домашнем, постоянно включенном) компьютере, без особых проблем. Сфотографировал - минута (период опроса) - файл лежит на сервере в далёком городе. Передача файлов через Интернет, с прохождением шлюза, с помощью UPnP (в серых сотовых сетях). Также можно сделать версии файлов (File versioning), чтобы случайное удаление на устройстве телефоне, не повлияло на наличие данных. Есть возможность защиты источника файлов (синхронизируемой папки), от изменений сделанных на других устройствах.

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

※※※

Настройка Syncthing для сервера Ubuntu LTS 12.04.5


Для Debian & Ubuntu есть репозиторий. http://apt.syncthing.net/

Для стабильной ветки Syncthing надо выполнить команды:

$ curl -s https://syncthing.net/release-key.txt | sudo apt-key add -

# Добавление источника стабильной версии Syncthing в список источников APT

$ echo deb http://apt.syncthing.net/ syncthing release | sudo tee /etc/apt/sources.list.d/syncthing-release.list

# Обновление списка пакетов
$ sudo apt-get update
# Установка пакета Syncthing
$ sudo apt-get install syncthing


Команда запуска (можно под обычным пользователем):
$ syncthing

При первом запуске, генерируется начальная конфигурация для компьютера config.xml, сертификат компьютера cert.pem, ключи шифрования key.pem и https-key.pem.
Device ID формируется как HASH-сумма от содержимого сертификата.

Конфигурация сохраняется в: ~/.config/syncthing/
Конфигурационный файл Syncthing config.xml: ~/.config/syncthing/config.xml

Сервер-посредник для анонсирования подключения: udp4://announce.syncthing.net:22026
Также поддерживается IPv6. Т.е. каждое устройство анонсирует себя на этом сервере и таким образом находит свои конечные точки синхронизации (другие устройства).
Можно запустить собственный сервер анонсирования (Discovery server) для большей конфиденциальности, например на собственном хостинге и отвязаться от неконтролируемого сервера-посредника.
Можно также избежать глобального анонсирования (global announce & discovery), строго прописав статические IP, DNS-имена.
В локальной сети действует локальное анонсирование, в пределах подсети, что позволяет файлам домашних компьютеров находится в актуальном состоянии.


Из-за файрвола, у меня не работал веб-интерфейс на адресе: 127.0.0.1:8384, пришлось поправить в config.xml на конкретный IP-адрес интерфейса. После этого, всё запустилось и дальнейшее связывание устройств проходило в графическом интерфейсе пользователя.

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

※※※

Выводы


1. Почти идеальная программа.
2. Нет возможности раздачи неавторизованным пользователям. Ну вот есть у меня файлы проектов, которые хотелось бы раздавать с собственного сервера (без поднятия FTP, HTTP и пр.). Syncthing почти приближается к такой возможности, но пока не даёт.

※※※

Ресурсы


1. Официальный сайт Syncthing. https://syncthing.net/
2. Репозиторий для Ubuntu. http://apt.syncthing.net/
3. Документация (en). http://docs.syncthing.net/index.html



※※※