The Abrawkin

Простые заметки про IT
Помогаю за деньги на http://showconfig.ru

Настройка и получение TLS/SSL-сертификата

Настройка и получение TLS/SSL-сертификата от Let’s Encrypt

Let’s Encrypt обеспечивает простой способ получить и установить доверенные сертификаты бесплатно на 90 дней.
Устанавливать будем на Ubuntu Linux с веб-сервером Apache. Первым делом обновим кэш менеджера пакетов:

sudo apt-get update

Установка клиента Let’s Encrypt

Устанавливать будем через через Git.
Чтобы создать локальную копию клиента Let’s Encrypt необходимо выполнить следующую команду:

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

/opt/letsencrypt — необязательно использоваться директорию /opt, можете использовать любую другую.

Установка SSL-сертификата

Получить SSL-сертификата для Apache очень легко. Let’s Encrypt автоматически генерирует и устанавливает SSL-сертификат для домена:

cd /opt/letsencrypt
./letsencrypt-auto --apache -d example.com

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

sudo a2enmod alias
sudo service apache2 restart

Затем изменяем файл /etc/apache2/sites-enabled/default, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем:

Redirect / https://brmkn.ru/

Сертификаты будут доступны в директории /etc/letsencrypt/live.
Статус сертификата можно проверить на https://www.ssllabs.com/ssltest/analyze.html?d=brmkn.ru

Продлеваем срок действия сертификата автоматически

sudo crontab -e

В открывшемся файле пишем (обновляем сертификат и пишем в лог):

00 3 * * 1 /opt/letsencrypt/letsencrypt renew >> /var/log/letsencrypt-renew.log

Всё, у вас настроен доступ к сайту по HTTPS.

SmartTV курильщика

Делаем медиацентр из Raspberry Pi + OSMC

  1. Образ OSMC
  2. Raspberry Pi
  3. USB HDD
  4. Wi-Fi адаптер

Образ скачиваем с официального сайта https://osmc.tv/download, или же программу-инсталятор, что сэкономит время. Визард достаточно простой, просто следовать по шагам, всё само скачается и упакуется на SD-карту. После чего останется только переключить её в Raspberry.

После того, как установили OSMC на SD-карту, подключили её к Raspberry Pi, необходимо будет дождаться загрузки ОС на одноплатном компьютере. Система предложить установить родной язык, настроить время и подключение к сети Интернет, обязательно оставьте включенным службу SSH. Управление в OSMC работаем стандартным пультом от телевизора прямо «из коробки».

Всё красиво, но чего-то не хватает. Правильно! Надо настроить Samba и Transmission, чтобы качать торренты на внешний жесткий диск. И немного разгоним наш SmartTV.

Подключаемся по SSH

Открываем Kitty или Putty, указываем IP-адрес, который заранее надо посмотреть прямо на ТВ в разделе «Система — Сведения о системе — Сеть». Порт 22, логин и пароль osmc. После первого подключения смените пароль root на любой свой, мало ли:

sudo passwd root

Разгоняемся

После смены пароля введите следующую команду:

sudo apt-get update

Далее переходим в раздел boot и правим файл config.txt, или же просто:

sudo /boot/nano config.txt

Вносим в файл следующие значения:

arm_freq=950
gpu_freq=400
sdram_freq=450
over_voltage=2
force_turbo=0
gpu_mem_512=128
gpu_mem_256=112
hdmi_ignore_cec_init=1
disable_overscan=1
start_x=1
disable_splash=1

Для того, чтобы сохранить изменения, нажмите Ctrl+O, далее Ctrl+X.

Монтируем раздел

Я заметил, что мой внешний жесткий диск монтируется автоматически, т. к. был заранее отформатирован в Ext3. Это можно сделать из-под Windows через программу Acronis. Чтобы посмотреть, в какой раздел монтируемся, достаточно ввести команду df:

osmc@osmc:~$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          184084       0    184084   0% /dev
tmpfs             189096    4728    184368   3% /run
/dev/mmcblk0p2   3524656  785404   2540496  24% /
tmpfs             189096       0    189096   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             189096       0    189096   0% /sys/fs/cgroup
/dev/mmcblk0p1    244988   20832    224157   9% /boot
/dev/sda1      151358500 3831080 139957860   3% /media/HDDusb
tmpfs              37820       0     37820   0% /run/user/1000
osmc@osmc:~$

Я вижу, что это /media/HDDusb. Запоминаем, туда мы будем складывать скаченные торренты.

Настраиваем Samba

Чтобы иметь доступ по сети к файлам на внешнем жестком диске Raspberry, необходимо установить Samba. Делается это так:

sudo apt-get install samba samba-common-bin

После установки правим настройки. Вам надо поменять только значение /media/HDDusb, которое было отображено у вас после выполнения команды df.

[global] 
workgroup = WORKGROUP 
netbios name = RaspberryPi 
server string = share 
security = user 
map to guest = bad user 
browseable = yes

[torrent] 
path = /media/HDDusb 
writeable = yes 
browseable = yes 
guest ok = yes

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

sudo /etc/init.d/samba restart

На своем компьютере откройте раздел сеть, где сразу же увидите свой Raspberry и расшаренный раздел torrents.

Устанавливаем Transmission

Чтобы закачивать фильмы и музыку в централизованное домашнее хранилище, необходимо установить torrent-клиент.

sudo apt-get install transmission-daemon

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

sudo /etc/init.d/transmission-daemon stop

Отлично! Работаем дальше. Правим файл настроек Transmission.

sudo nano /etc/transmission-daemon/settings.json

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

"bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "download-dir": "/media/HDDusb",
    "rpc-password": "ваш_пароль",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "ваш_логин",
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": false,
     "speed-limit-down": 3000,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 1000,

Нажимаем Ctrl+X, сохраняем изменения в файле. После чего стартуем Transmisson. Он будет доступен вам через веб-интерфейс http://адрес_малины:9091, логин и пароль из пункта выше. Всё, можете качать торренты через «малину» удалённо. Можете пробросить порт на роутере, и с работы закачивать нужные вам фильмы к вечеру, главное, чтобы IP-адрес от провайдера был публичный «белый».
И последний штрих:

sudo reboot
2016   Debian   IPTV   Linux   Media Center   OSMC   Raspberry Pi   Samba   SmartTV

Hospot из ноутбука

Схема получения интернета на смартфоне

Как быстро получить доступ к интернету со смартфона, имея под рукой только ноутбук и патчкорд, на котором имеется этот злосчастный интернет?
Достаточно открыть блокнот, скопировать текст ниже, и сохранить файл с расширение .bat

@echo off
CLS
:MENU
ECHO ######
ECHO Группа в ВК https://vk.com/showconfig/
ECHO Наш сайт http://showconfig.ru
ECHO ######
ECHO Нажмите 1, 2, 3 чтобы приступить к запуску WiFi сети.
ECHO ------
ECHO 1 - Применить настройки: ShowConfig, пароль 123698754
ECHO 2 - Запустить хотспот WiFi
ECHO 3 - Остановить хотспот WiFi
ECHO 4 - Выход
ECHO.
SET /P M=Выберете необходимый пункт и нажмите ENTER:
IF %M%==1 GOTO SET
IF %M%==2 GOTO START
IF %M%==3 GOTO STOP
IF %M%==4 GOTO EOF
:SET
netsh wlan set hostednetwork mode=allow ssid=ShowConfig key=123698754 keyusage=persistent
GOTO MENU
:START
netsh wlan start hostednetwork
GOTO MENU
:STOP
netsh wlan stop hostednetwork
GOTO MENU

Сеть ShowConfig, пароль 123698754
P.S. Готовый bat-файл https://yadi.sk/d/GDXh1DpiyM8JQ

Замер скорости интернета

Для реализации утилиты по замеру скорости интернет соединения нам понадобятся:
1) Notepad++ https://notepad-plus-plus.org
2) BAT to EXE Converter http://www.f2ko.de/en/b2e.php
3) The Unofficial Speedtest CLI https://github.com/zpeters/speedtest

Ниже я приведу пример утилиты для абонентского обслуживания, в случае обращения по низкой скорости:

@echo off
title SpeedTools Utilities #Заголовок окна
COLOR 02 #Цвет текста
echo ООО "Провайдер Интернета" #Любой текст
echo Random text #Любой текст
echo vasha@pochta.ru #Любой текст
echo -----------------------------
set /p id="Введите номер Вашего договора: "
set /p clientname="Введите Ваше имя: "
set /p numberphone="Введите номер мобильного телефона: "
echo Client ID: %id% > [%id%]_speedtest_report.txt
echo Client Name: %clientname% >> [%id%]_speedtest_report.txt
echo Client Phone: %numberphone% >> [%id%]_speedtest_report.txt
echo ----------------------------- >> [%id%]_speedtest_report.txt
echo Идет тестирование скорости... 
speedtest.exe -s 3515 >> [%id%]_speedtest_report.txt #3515 — это идентификатор сервера, подберите для себя наиболее оптимальный
echo Тестирование скорости завершено!
echo ----------------------------- >> [%id%]_speedtest_report.txt
netstat -a >> [%id%]_speedtest_report.txt #Смотрим количество текущих соединений
echo Просмотр всех активных соединений... 
echo Потребуется некоторое время, пожалуйста, не закрывайте это окно!
ipconfig /all >> [%id%]_speedtest_report.txt #Смотрим на сетевой интерфейс клиента
echo Выполняется трассировка маршрута...
tracert -d rbc.ru >> [%id%]_speedtest_report.txt #делаем трассировку
echo Идёт формирование отчета...
ping vk.com -n 30 >> [%id%]_speedtest_report.txt #пингуем
echo +------------------+ >> [%id%]_speedtest_report.txt
echo Create date report: >> [%id%]_speedtest_report.txt
echo %id% >> [%id%]_speedtest_report.txt
echo %date% >> [%id%]_speedtest_report.txt
echo %time% >> [%id%]_speedtest_report.txt
echo +------------------+ >> [%id%]_speedtest_report.txt
echo ЗАМЕР СКОРОСТИ ЗАВЕРШЕН! 
echo Отчет сформирован в файл [%id%]_speedtest_report.txt
echo Отправьте файл [%id%]_speedtest_report.txt в Техническую службу поддержки
PAUSE

Через Notepad++ сохраняем данный файл с расширением .bat, далее через BAT Converter делаем .exe, попутно прикрутив бесплатную иконку c https://iconfinder.com для придания эстетичного вида. В следующей статье, я расскажу, как реализовать отправку e-mail прямо из данного bat-файла на почту саппорта.

Hotspot MikroTik и Apple iPhone

На iOS версии выше 8-ой, продукция фирмы Apple отказывается корректно работать с hotspot, который организован на роутерах Mikrotik, вместо странички авторизации, пользователь получает в браузере «белый лист». Решение данного недоразумения, достаточно простое.

Переходим в IP → Hotspot, далее нам нужна вкладка Server Profiles.
Выбираем наш профиль, и меняет hotspot.local на hotspot.mt

У меня на сриншоте вы видите другой домен, в принципе, вы можете указать, что душа пожелает, не обязательно писать «mt», как в рекомендации выше.

И добавляем адреса для Wallet Garden, некоторые, возможно, и лишние, но я буду уверен, что всё работает, как надо:

*.akaimaiedge.mt
*.akaimaiedge.net
*.akamaitechnologies.com
*.apple.com
*.msftncsi.com
airport.us
apple.com.edgekey.net
appleiphonecell.com
captive.apple.com
clients3.google.com
ess.apple.com
gsp1.apple.com
ibook.info
itools.info
thinkdifferent.us

Банально. Просто. TFTP.

Подразумевается, что у вас уже есть Ubuntu Server 14.04.3.
Как установить?!

sudo apt-get install atftpd

Этой командой установится TFTP-сервер. Ставить клиента не вижу смысла, лезьте сразу на коммутатор и шлите, шлите конфиги!
Выбираем, куда хочется сохранять всё то, что хочется сохранить.

sudo mkdir -p /srv/tftp
sudo chown nobody:nogroup /srv/tftp

Ни root, ни ваш ник, ни имя учётной записи. Пишите nobody.
Открываем с помощью текстового редактора файлик /etc/inetd.conf:

sudo nano /etc/inetd.conf

Ставим # перед строчкой, которая начинается с tftp dgram udp, чтобы предотвратить автоматический запуск TFTP-сервера. Если же вам всё-таки нужен автоматический запуск, то приводим параметр к следующему виду:

tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftpd

Обязательно (!) udp4. Чтобы сохранить изменения в файле, открытом в nano, нажмите Ctrl+O, чтобы закрыть Ctrl+X. Если было принято решение не запускать сервер автоматически, правьте файлик:

sudo nano /etc/default/atftpd

Значение переменной USE_INETD измените на false. Строчка ниже, будет ключом запуска. Более детально про параметры можно прочитать → man atfrpd, или просто оставьте так:

OPTIONS="--user nobody --bind-address 0.0.0.0 --no-multicast --logfile /var/log/atftpd.log --verbose=6 /srv/tftp"

Ошибки и прочие события будут писать в лог /var/log/atftpd.log, ну, мало ли чего.
Готово. Теперь ребутните:

sudo /etc/init.d/atftpd restart

P.S. Коммутатор и TFTP-сервер должны находиться в одной подсети (!!!), для сохранения конфига, иначе будете получать пустые файлы. Коммутаторы-маршрутизаторы Cisco любят, чтобы файл конфига был заранее создан на TFTP, chmod 777 само собой.
P.P.S.

iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 69 -j ACCEPT

Приставка Смотрёшка BOX

Всё плотнее в гаджет-парках наших квартир появляются такие устройства, как ТВ-приствки, USB-стик приставки на платформе Android. Они удобные, компактные и доступные. Про одну такую модель и пойдет речь. Брендированая приставка «Смотрёшка BOX» от одноименного сервиса http://smotreshka.tv

Характеристики ТВ-приставки «Смотрёшка BOX»

Размеры:

Толщина: 23.6 мм — Длина: 101.6 мм — Ширина: 101.6 мм

Аппаратные характеристики:

Процессор: 4-ядерный Cortex-A7, H3 QuadCore @ 1,2 GHz
Графический процессор: ARM Mali-400MP2 @ 600MHz
RAM: 1GB DDR3
Flash: 8GB eMMC
Платформа: Android 4.4.2

На борту:

Wi-Fi (802.11 b/g/n 2.4GHz, Realtek 8189), Ethernet 10/100 Mbps, HDMI 1.4, USB 2.0 x 2, AV output, Micro SD

В комплект поставки входит сама приставка с предустановленным лаунчером «Смотрёшка», пульт ДУ (чем-то похож на пульт от Xiaomi Mi Box), адаптер питания на 5V, кабель HDMI, кабель RCA (для тех, у кого телевизор времен динозавров). Патчкорда почему-то опять в комплекте нет, как это было с Eltex-NV102, но для Смотрёшка BOX простительно — есть Wi-Fi. Упаковано всё это дело в простую картонную коробку с логотипами сервиса цифрового телевидения.

Запуск. Просмотр. Тест AnTuTu

После включения приставки и запуска лаунчера, вы уведите вот такую заставку, анимированную.

Android сообщает нам следующую информацию о приставке «Смотрёшка BOX»

Интерфейс приложения после ввода логина и пароля. Приставка легко подцепилась к моей bluetoth-клавиатуре, мышка тоже сразу же завелась после подключения к USB-порту, поэтому на скриншотах ниже, вы можете видеть курсор.
У кого возникают проблемы с навигацией в новых приложениях, Смотрёшка подготовила инструкцию http://smotreshka.tv/static/smotreshka/instruction-android-stb.html

AnTuTu Benchmark приставка «Сморёшка BOX»

Тест я запускал три раза, в среднем получилось 12240 очков (у Nexus 5x ~52000 очков :) В целом такого результата для просто цифрового телевидения (IPTV) будет более чем достаточно для нетребовательного пользователя. На новых телевизорах приставка отлично работает в разрешении Full HD. Кстати, в настройках есть поддержка 4K, но увы я не обладаю моделью телевизора, который умеет такое. Ниже результаты теста и технические характеристик приставки:

Это проблема не приставки!

Если после подключения приставки к телевизору по HDMI-кабелю, вы видите инвертированные цвета, не огорчайтесь, просто ваш телевизор не поддерживает FullHD разрешение. Зайдите в Настройки приставки и выставите разрешение 720p. На функционал приставки это никак не повлияет.

Продолжение следует...

Ctrl + ↓ Ранее