OpenWrt (Open Wireless RouTer) — это основанная на Linux открытая прошивка для беспроводных роутеров. В этой заметке будет рассмотрена установка OpenWrt на роутер TP-Link TL-WDR3600, также известный, как TP-Link N600. Роутер этот не новый, но довольно неплохой. К тому же, он числится среди рекомендуемых устройств для установки OpenWrt. Ставить OpenWrt на роутер интересно как минимум из соображений безопасности (в официальных прошивках часто много багов, не говоря уже о бэкдорах). Плюс к этому OpenWrt фактически превращает ваш роутер в маленький VDS, на котором можно выполнять какие-то задачи по cron’у, запустить rtorrent в screen, поднять Nginx, IRC-баунсер, и так далее.

Как вам может быть известно, современные браузеры помечают в адресной строке сайты, работающие по HTTP, как небезопасные. Есть также информация (мне, впрочем, неизвестно, насколько она достоверна) о том, что поисковые системы пессимизируют такие сайты в выдаче. Плюс к этому были выявлены случаи, когда операторы мобильной связи подмешивали рекламу в HTTP-трафик своих абонентов — естественно, на весь экран мобильного устройства и с поломанной версткой сайта. В общем, как ни крути, времена меняются, и мир переходит на HTTPS. Если у вас один домен, обычно не проблема купить сертификат для него прямо у вашего хостинг-провайдера. Но если сайтов много, или сайт один, но с большим числом поддоменов, цена на сертификаты или один wildcard сертификат выйдет просто неразумной. На помощь приходит сертификационный центр Let’s Encrypt, существующий за счет спонсоров и выдающий сертификаты бесплатно.

Вы можете помнить, как когда-то я рассказывал про установку и настройку OpenVPN за 5 минут. А знаете ли вы, что абсолютно любой SSH-сервер можно использовать в качестве совершенно полноценного VPN вообще без какой-либо настройки? Такую добрую магию нам дает замечательная утилита под названием sshuttle, о которой и пойдет речь далее. Вдруг кто-то про нее еще не знает.

Недавно у меня наконец-то дошли руки поиграться с eBPF. Если вдруг вы все пропустили, eBPF — это очередная реализация идеи «а давайте сделаем DTrace для Linux». Другой реализацией этой идеи является SystemTap. Только SystemTap трудно устанавливается, пользоваться им не очень удобно, и его страшно запускать на проде. В отличие от него, eBPF прямо-таки похож на нормальный инструмент. Давайте же поскорее с ним познакомимся!

Поскольку теперь мы читаем электронную почту из консоли при помощи Mutt и сидим в IRC также из консоли благодаря Irssi, не говоря уже об использовании классики вроде Vim или Git, было бы неплохо обзавестись и консольным аудиоплеером. Соображения те же — удобно все делать хоткеями, одинаковые шрифты и тона для всех приложений, можно переживать перезапуск иксов в screen, и так далее. Консольных аудиоплееров существует много, но рассмотрим мы только один из них, cmus.

После перехода на Arch Linux у меня возникла проблема выбора решения для шифрования домашнего каталога. Отсутствие шифрования — не вариант, потому что как минимум ноутбук могут украсть. Мне не хочется потом в панике бегать менять пароли и сбрасывать сессии на всех сайтах, от которых утекли куки. Сначала я попробовал encfs. Но это решение быстро потеряло все мои данные (не говоря уже про известную проблему с длинными именами файлов), поэтому от него пришлось отказаться. На Reddit многие посоветовали dm-crypt, на нем я в итоге и остановился.

Не то, чтобы мне часто приходилось что-то там дизассемблировать. Но время от времени возникает желание посмотреть, в какой ассемблерный код превратился твой код на C. Для решения этой задачи зачастую хватает objdump, но только если ты заранее знаешь, где и что именно ищешь. Для более сложных случаев возникает потребность в чем-то вроде IDA Pro, да вот только стоит эта IDA Pro как вне себя (минимум 589$). К счастью, есть не менее функциональная альтернатива с вменяемой стоимостью (99$) в лице дизассемблера Hopper.

В уже довольно не новом посте, посвященном Raspberry Pi, это устройство рассматривалось исключительно, как маленький и очень дешевый компьютер. Бесспорно, Raspberry Pi им и является. Но, помимо этого, у Raspberry Pi есть еще и 26 пинов GPIO (General Purpose Input Output), что очень кстати в свете моего недавнего увлечения электроникой. Почему? Давайте разберемся.

Сегодня я расскажу, как настраивал десктоп-окружение в Arch Linux на своем ноутбуке Fujitsu Lifebook E733. Вышло очень похоже на окружение, описанное в рамках более ранней заметки Использование FreeBSD на десктопе, версия 2.0. Поэтому на сей раз я постараюсь сосредоточится именно на специфике Arch Linux, опуская прочие, предположительно уже знакомые читателям, детали. Отмечу, что десктоп-окружение с Arch Linux можно получить и намного проще, установив Manjaro Linux.

Такие решения, как LXC и KVM, не всегда удобны, потому что они работают только под Linux. Используя их, вы не можете передать виртуалки пользователям каких-нибудь MacOS или Windows. По этой причине, а также потому что на практике у меня еще не возникало необходимости запускать больше пяти ВМ одновременно, я все еще предпочитаю VirtualBox. Им можно управлять из консоли при помощи Vagrant, но Vagrant всегда делал чуть-чуть не то, что мне на самом деле было нужно. Например, я хочу, чтобы по дэфолту все виртуалки всегда были в одной NAT-сети, без какой-либо правки Vagrantfile’ов. Все это сподвигло меня к изучению «родных» утилит VirtualBox, в частности, vboxmanage.