Pull to refresh
23
19
Ренат Ескенин @3draven

Программист Java Spring/Java/Kotlin

Send message

Личное облако на Proxmox

Level of difficulty Medium
Reading time 8 min
Views 18K

В прошлой статье (https://habr.com/ru/articles/794508/) я писал как поставить Proxmox 8 на Orange Pi 5(b). Это даже получилось, но я уперся в то, что производитель железки не выпускает свежие ядра под нее. Для железки есть 5.10.160 и оно устарело для Proxmox 8. Виртуалки работают, но есть проблемы с фаерволом. Производитель обещает вот-вот выпустить новое, но ждать я не стал и решил сделать инфраструктуру по другому. О чем и напишу. Получается уже цикл статей. Эта будет описывать цель и первые шаги к ней.

Читать далее
Total votes 26: ↑23 and ↓3 +20
Comments 59

OrangePi 5 с Proxmox 8

Level of difficulty Medium
Reading time 7 min
Views 8.1K

В прошлой статье я описал начальную настройку загрузчика для OrangePI 5b (для OrangePI 5 тоже сработает), а так же настройку и запуск Proxmox 7 до состояния "оно запустилось". Виртуалки там я не пробовал и оказалось, что они и не работают без дополнительных телодвижений. В этой статье я опишу как настроить уже Proxmox 8.1.3 и довести до полностью работоспособного состояния.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 7

EDK II UEFI + Debian + Proxmox 7 на Orange Pi 5

Level of difficulty Medium
Reading time 5 min
Views 6.2K

Купил я себе пару Orange PI 5B. Показалось, что вайфай это очень хорошо. Памяти много, хочу на них накатить разного. Но не хочется постоянно все переставлять и вообще жажду удобства. В итоге поискал и нашел, что Proxmox позволяет сделать фермочку с виртуалками и потом их сносить. Мне идея сразу понравилась, памяти на девайсе много, можно порезать на виртуалки и куда поставить k3s, куда еще что. Собственно порядок установки я и опишу.

Для начала на этой версия железки нет m2 слота для подключения ssd, так что он подключен снаружи в usb3 порт. Просто купил портативный ссд диск, попутно пожалев, что не дождался выхода версии где и вафля есть и m2, но пойдет для моих скромных задачек. То есть мне нужно что бы загрузка была с emmc (впаян в плату), там должен загрузчик стоять, а ОС должна быть на SSD, который воткнут в USB3 порт. Потому как износить emmc впаянный не хотелось бы.

Поставить ОС на SD карточку и грузить, и даже поставить на SD карту и грузить с USB-SSD не сложно вроде бы, это дефолтные установщики умеют (не вышло, но я не старался), мы не ищем легких путей. Значит надо поставить загрузчик, который умеет сразу с emmc зацепить USB-SSD. Такой загрузчик называется EDK II (мне он понравился среди альтернатив тем, что позволяет свободно грузится откуда угодно). Далее порядок установки загрузкичка, который из всех сработал. На основе вот этой доки я собрал rkdeveloptool это прошивалка emmc, который распаян на борту orangepi 5b.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 3

Jackson ObjectMapper Streaming API без возни

Level of difficulty Easy
Reading time 2 min
Views 4.5K

Маппинг джейсонов или еще чего в модели чаще всего головная боль. Много мелочей, модели сделай, все подгони, аннотации расставь и прочее. Далее код примерно наколеночный, кому надо идею, поймет. Маппинг еще и памяти ест очень много, так как обычно ObjectMapper применяют примерно так:

mapper.readValue(inputStream,Model.class)

В итоге если модель большая маппер ее всю в памяти построит за раз, прочитав опять же весь json из стрима. Хуже когда даже json сначала в строку читают конечно. Потом приходит очередной ругатель и заявляет, что это java виновата. Что бы этого не делать, придумали ObjectMapper Streaming API. Что то вроде такого:

while (jParser.nextToken() != JsonToken.END_OBJECT) {
String fieldname = jParser.getCurrentName();
if ("name".equals(fieldname)) {
jParser.nextToken();
parsedName = jParser.getText();
}

Но фактически руками парсить json это тоже головняк. Есть хак, который позволяет и модели сразу получать и стриминг использовать. Может кому пригодится.

Читать далее
Total votes 11: ↑1 and ↓10 -9
Comments 22

Как продлить время автономной работы телефона (VPN+DNS)

Level of difficulty Easy
Reading time 3 min
Views 12K

Надо было мне разобраться получше с iptables и ansible, а для этого нужна задачка. Задачка была выбрана такая: поднять свой VPN сервер с возможностью резки рекламы и прочего spyware.

Суть происходящего при резке рекламы с помощью DNS сервера состоит в том, что когда клиент спрашивает сервер какой IP адрес сопоставлен имени хоста, то DNS сервер отвечает ему 0.0.0.0 В итоге клиент ходит сам к себе и быстро получает отказ, так что не пользуется для этого модемом связи в случае с телефоном. Что экономит батарейку не просто на процент, а при моем режиме использования телефона время автономной работы выросло с 8-10 часов до 23.5. Специально засекал и был мягко говоря удивлен. Как показала практика 85% запросов от телефона это spyware.

Ansible был выбран потому, что для настройки всего даже на настраиваемый сервер заходить не надо, просто нужен доступ по ssh к нему. После настройки конфиги для подключения к VPN будут лежать в папке с плейбуком. Да и сам запуск это одна команда. Не люблю я запоминать, что я там пять лет назад настроил и Ansible для того что бы этого не делать идеален, не говоря уже о прочих его достоинствах. Запустил у себя на ноуте плейбук, он все тебе на сервере настроил, потом отсканил QR код на телефоне, работает.

В качестве DNS сервера с возможностью резать телеметрию и прочую гадость был выбран Pi-hole DNS. Просто потому, что он очень не требователен к ресурсам и мне хватает на амазоне t3.nano ноды, которую мне дали бесплатно на год. При этом я видел на DigitalOcean готовый дрополет Pi-hole VPN, но он прибит к этому провадйеру, а мой плейбук я пробовал уже на двух разных и он просто пашет, плюс там видно все, что он делает. Плюс ко всему при установке он закачивает более 5млн бан записей в DNS что бы не искать их потом.

Читать далее
Total votes 24: ↑19 and ↓5 +14
Comments 63

Как поднять инстанс Mastodon (аналог Twitter)

Reading time 8 min
Views 4.2K

Прошло уже месяца два как я начал миграцию из Twitter в Mastodon (далее прописью). Мастодон это полный аналог твиттера, только ты можешь поднять свой сервер и все сервера соединены между собой, так что ты можешь общаться со всей сетью. Контента, особенно англоязычного, в мастодоне море, журналисты, NASA, все крупные новостные издания уже там и среди моих подписок. Если не хочется возни, то можно на любом сервере завести себе аккаунт где открыта регистрация. Есть веб клиенты и приложения для android и ios. Все это называется федеративная сеть. Не нравится модератор сервера, заводишь свой или мигрируешь на другой. Все реже появляюсь в твиттере теперь. Но просто создать аккаунт в мастодоне было не интересно так что я поднял себе инстанс (так называют сервера мастодона обычно), о чем и напишу.

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

Читать далее
Total votes 9: ↑6 and ↓3 +3
Comments 7

Чиним резолвинг адресов в VPN-локалке (openconnect) для docker и systemd-resolved

Reading time 4 min
Views 15K
Для подключения к корпоративной сети у нас используется CiscoAnyConnect, работает хорошо, но не с докером. Как только докер пытается приподнять свою сеть, утилитка тут же отрубает VPN и переподключает. От этого докер себя плохо чувствует. Поэтому я решил использовать обычный линуксовый openconnect соместно с NetworkManager.
Читать дальше →
Total votes 6: ↑3 and ↓3 0
Comments 12

Публикуем либку в maven central

Reading time 7 min
Views 5.4K

Предисловие


Решил я что то сделать полезное. Был проект в котором мы должны были вместо старого сервиса сделать новый, но лучше. Сервис большой получился, 10к строк бизнесс-правил+код на джаве 15к строк. Сейчас уже раза в два больше. Но так как логики много и никто толком уже многого не помнит (за тем нас и призвали, что бы были тесты, доки и минимум багов) надо было сравнить старый сервис и новый. Что бы наши тестеры не умерли от старости, пытаясь все проверить я подумал и написал сервис, который дергал апи старого и нового, сравнивал и сливал разницу ответов в базу, что бы тестеры проверили и мы пофиксили разницу. Но вот проблема, на входе у нас много параметров и возможных их значений, это же миллиарды комбинаций будут, проверять несколько месяцев с полной нагрузкой, да и похожих много.
В итоге сначала была рождена идея взять и сократить возможные изменения параметров и вообще выкинуть некоторые из перебора, а потом была взята на вооружение Pairwise testing теория и она позволила закинуть все параметры и все значенеия и все проверить целиком.

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 12

Что стоит выбрать вместо обычных подвижных видов спорта гику

Reading time 4 min
Views 22K
Прочитал статью «Какой спорт выбрать, или как войти в IT и остаться здоровым» и подумал себе, а не написать ли и мне пост, но о своем опыте? Пишу вот.
Читать дальше →
Total votes 35: ↑29 and ↓6 +23
Comments 78

Переключение раскладки с помощью CapsLock в Ubuntu 14.04

Reading time 1 min
Views 33K
Есть проблема в ubuntu 14.04, если назначить в качестве переключалки раскалдки клавиатуры кнопку CapsLock, то со временем (не сразу) при попытке переключить раскладку она бдет скакать как рулетка между языками и остановится непонятно на каком. Баг в общем.
Найдено простое решение.
Читать дальше →
Total votes 15: ↑7 and ↓8 -1
Comments 20

Виртуалки VirtualBox на btrfs

Reading time 2 min
Views 13K
Много времени прошло с момента когда появилась btrfs. Она еще в разработке. Плюсов заявлено и уже реализовано море. Тут тебе и сжатие прозрачное и снимки одной командой и еще множество плюшек. Пока нет онлайн дефрагментации, но все же хочется попользовать. На root своего ноута-десктопа давно пользую, уже наверно год. Снапшоты спасают от ломаных пакетов и прочего подобного. У одного знакомого на мининоуте еще дольше, так как на его SSD встроенный ничего толком не влазит, а тут сжатие прозрачное. В общем довольно стабильна эта ФС сегодня.
Читать дальше →
Total votes 21: ↑13 and ↓8 +5
Comments 29

Настройка e-mu 0204 usb в ubuntu GNU/linux

Reading time 9 min
Views 39K
Пару дней назад купил я себе внешнюю звуковую карту e-mu 0204. Купил с рук, за 2 т.р. Владелец был счастлив, я то же. Оба думали, что надули друг друга. Стоит железка в магазине 4,5 т.р. Принес домой подрубил, звук сказочный. Но, обнаружился косяк. В непредсказуемые моменты времени слышны были тихие пощелкивания и перерывы звука. У меня отличные наушники ATH-SJ55. Соответствуют карточке по уровню, непонятно почему это вдруг началось. Разбираемся как исправить. Да, сразу отмечу, все эти проблемы описаны в инструкции!!! Так что весь ор вокруг карточки говорит лишь о том, что орущие просто ее не открывали. Инструкции у меня в комплекте не было, я в интернете ее позже нашел. Все настройки в статье все равно понадобятся.
Читать дальше →
Total votes 52: ↑43 and ↓9 +34
Comments 25

Reverse tethering (получаем интернет на android с ПК linux)

Reading time 2 min
Views 24K
Так как 3g интернет в месте использования телефона у меня медленный, то решено было попытаться использовать интернет от компьютера, на телефоне. Я был удивлен тем, что это стандартными средствами невозможно. Решил сделать нестандартными.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Comments 17

Information

Rating
280-th
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity