Запускаем собственный ngrok

ngrok действительно очень удобное решение, хотите ли вы показать запущенный локально сайт коллеге, или сделать локальный сервис доступным из сети интернет. Но бесплатный ngrok имеет существенные ограничения, а за цену платной версии $5 / месяц, можно арендовать целый сервер, запустить на нем бог знает что и использовать все его ресурсы.
Альтернативу ngrok я искал давно, пробовал localtunnel и другие варианты, но не так давно в дебрях lowendtalk.com наткнулся на упоминание идеального со всех сторон решения — FRP (fast reverse proxy).
Что нам потребуется:

  • Найденный на lowendbox.com VPS с белым IP (несколько долларов в год) или быстрый дроплет от DigitalOcean за $5 и бонус $100 при регистрации по ссылке
  • Любая ОС и архитектура, хотя я проверял на Debian 9 amd64
  • FRP (fast reverse proxy)
  • Traefik опционально, чтобы иметь бесплатный HTTPS от Let’s Encrypt
  • Домен, опционально, и желательно управляемый через CloudFlare или другого провайдера, для https

Читать далее »

Патчим пакеты brew для macOS

Для примера, будем накладывать изменения на эмулятор xhyve вот из этого не слитого на момент написания Pull Request: https://github.com/mist64/xhyve/pull/119

Нужно получить сам патч

На GitHub.com для этого необходимо в конец адреса добавить .diff и посмотреть какой адрес откроется:

https://patch-diff.githubusercontent.com/raw/mist64/xhyve/pull/119.diff

Загрузить исходники

brew install -s xhyve

Brew загрузит исходные коды и соберет из них приложение
Читать далее »

osimg.ru — автоматически собираемые образы Linux

linux tux penguinНа osimg.ru можно скачать свежие минималистичные образы последних версий самых популярных Linux-дистрибутивов:

  • Arch Linux
  • CentOS 7
  • Debian 9
  • Ubuntu 18.04

В форматах всех самых распространенных средств визуализации:

  • QEMU Qcow2
  • VirtualBox VDI
  • Hyper-V VHDX
  • VMware VMDK

Экспресс-тест RaspberryPi 3, Orange Pi Zero Plus и ODROID-HC2


RaspberryPi 3 vs Orange Pi Zero Plus vs ODROID-HC2 benchmark
Читать далее »

Проблемы PostgreSQL на GlusterFS

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

Но при попытке записать довольно большой объем данных, например 100-200 тысяч строк за раз, вываливается ошибка ERROR: unexpected data beyond EOF in block 14917 of relation. Это связано с тем, что используемые оптимизации в PostgreSQL накладываются на оптимизации GlusterFS и в итоге все ломается. Соответствующий баг GlusterFS: https://bugzilla.redhat.com/show_bug.cgi?id=1512691

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

SSHeller — собственный VPN сервер в несколько кликов

Чтобы максимально упростить процесс запуска и настройки собственного VPN сервера на базе OpenVPN, была написана и выложена на GitHub утилита SSHeller.

Запускается под Windows, Linux, macOS и удобно, через графический интерфейс, позволяет подключиться к облачному или виртуальному серверу, нажатием большой зеленой кнопки установить и настроить собственный VPN сервер.

Обсуждение на Reddit: https://www.reddit.com/…
Подробная инструкция на geektimes: от регистрации у облачного провайдера до установки клиента на телефон : https://geektimes.com/post/300487/

Если хотите поддержать проект:

Для Linode можно в Google найти промо коды на $10 или $20. Я, например, нашел рабочий здесь.

Linux Format — все?

Нигде в интернет я не нашел информации или обсуждения журнала Linux Format. В связи с этим хочу в двух словах описать, что я увидел, оформив подписку на первое полугодие 2018 года.

Стоит отметить, что прежде чем подписаться, я выбирал между журналами Хакер и Linux Format. Последним аргументом стало наличие у LF печатной версии — так приятно вечером полистать глянцевый журнал…

Что же есть на самом деле, на начало мая:

  • электронная версия есть только за февраль
  • печатной версии нет даже за январь
  • на сайте какой-то левый самоподписанный истекший SSL сертификат

Linux Format — все?

Читать далее »

Полезные веб-микросервисы

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

Можно было бы обойтись набором из nginx и других уже написанных программ, но я нашел более изящное решение — написать микросервисы. И постараться их более менее унифицировать.

Читать далее »

Выбираем самый быстрый DNS сервер

С появлением DNS 1.1.1.1 от CloudFlare стало интересно, а действительно ли он самый быстрый? Был собран список публичных DNS и написан простой DNS benchmark с использованием утилиты dig (bind-utils).

Я повторил скрипт несколько раз для доменов, которые чаще всего посещаю.

Читать далее »

Kubernetes и GlusterFS

Docker friends gang linux tux go gopherЕсть множество правильных способов развернуть Kubernetes поверх существующей инфраструктуры. Разворачивая поверх OpenStack и vSphere я столкнулся с множеством багов, и в первую очередь, с подсистемой хранения. В результате родилась мысль, что должен быть унифицированный слой инфраструктуры, который бы не зависел от того, на какой именно платформе производится запуск.

Ниже я опишу как производится установка в полу-ручном режиме с ссылками на документацию, чтобы не дублировать текст. По мотивам можно написать Ansible скрипты и использовать их, например, с Terraform, как это делается в Kubespray. С той лишь разницей, что в Kubespray очень уж все усложнили по сравнению с kubeadm.

В связке Kubernetes-GlusterFS есть только одна большая проблема — нужно вручную создавать разделы. Но для решения этой проблемы существует фреймворк Heketi.

Файлы на GitHub.

Читать далее »