?

Log in

No account? Create an account
Cat-light

klink0v


Блохи в свитере деда Сергеича


Entries by category: компьютеры

[sticky post]О блоге (самый верхний псто)
Cat-light
klink0v

Hello, alone wonderer!


Reverse Tethering
Cat-light
klink0v

Я вот тут внезапно задумался. Если Android-ный телефон умеет раздавать интернет на компьютер по USB-шнуру, то возможно ли обратное? То есть PC или ноутбук уже подключены к интернету, а хочется этот же линк использовать и на телефоне посредством USB-шланга. Бывает полезно, когда сигнал сотовой сети крайне нестабилен, а вай-фая нет (привет, donz_ru).

Оказалось, таки да. Велосипеда изобретать не требуется. Reverse Tethering существует. Но из-за каких-то странных особенностей архитектуры Android-а, его реализация в последних версиях возможна почему-то только с танцами и бубнами, хоть и не требует рутования телефона. Наиболее распространенный способ: на стороне "андрюши" создается VPN-соединение, а на стороне PC оно "разбирается" либо при помощи tun-устройства (Linux), либо самописной софтиной-ретранслятором (Windows).

Интересно то, что в телефонах Xiaomi такая фича присутствует "из коробки", но нужно устанавливать его "родной" Mi PC Suite, который есть только под винду. Еще есть вот такая интересная софтинка, но мне по некоторым причинам она не очень понравилась.

Хороший обзор различных вариантов исполнения этого самого Reverse Tethering есть вот у этого товарища, одного из разработчиков Geny Motion. У него же есть ссылки на проекты, которые ему по каким-то причинам не подошли (объясняется почему). И он написал собственный ретранслятор для PC под названием gnirehtet сначала на Java, который потом переписал на Rust-е.

Но поскольку я линуксоид и user-space не очень жалую, то мне больше приглянулся проект нашего соотечественника Константина Меняева под названием SimpleRT. И действительно, проще уже некуда. Минимальная APK-шка для телефона, которая сама настраивает VPN соединение и заворачивает поток данных из него на типа "USB-аксессуар", в роли которого выступает комп. Где оный разворачивается мелкой сишной приблудой на пару десятков строк кода и выпускается в ядро Linux-а через tun-интерфейс.

Единственное, автор зачем-то жестко зашил в исходники название исходящего ethernet-интерфейса, поэтому на современных дистрибутивах оно "из коробки" не взлетит. С другой стороны, найти место где надо поменять нужные буковки, вообще не составит никакого труда даже незнакомому с синтаксисом человеку. Там реально полтора файла с кодом.

Я себе собрал, работает. Прикольно. Можно слушать Яндекс.Музыку и не загаживать Wi-Fi эфир. :) Всякие там eMotion через это дело тоже работают. Так что вот вам пища к размышлению. На случай, если вы сидите за компом в каком-нибудь подвале, а точки доступа либо нет, либо она анально огорожена. Вполне себе вариант.


Ещё про менеджеры паролей
Cat-light
klink0v

Поисследовал я ещё немного на тему хранения и синхронизации списка паролей между разными устройствами. Внезапно всё оказалось очень грустно.

Мои требования.


  1. OpenSource.

  2. Self-Hosted.

  3. Наличие приложений для iOS, Android, плагины для FireFox, Chrome.

  4. Прозрачная синхронизация между ними.

  5. Шифрование всей инфы, а не только паролей.

Так вот, данный список почему-то оказался на момент написания этого поста практически невыполнимым. Большинство производителей софта не дают серверную часть, многие хотят денег, причем ещё и по подписЬке. Кто-то клянчит за саму возможность синхронизации отдельное бабло, и так далее.

Ближе всего к тому, что мне хотелось бы, подходят следующие продукты.


  • BitWarden. Но какой же он, сцуко, тяжелый и жирный (смотри предыдущий псто). Склоняюсь к мысли, что я его всё-таки снесу на хрен с такими системными требованиями.

  • Как ни странно, самый обычный KeePass и его клоны типа KepassXC. Единственное неудобство заключается в том, что для синхронизации паролей с яблоками (iPhone, iPad), требуется каждый раз их подключать проводом к компу. Я в курсе про SyncPass, но реально он не работает.

  • Относительно молодой, но весьма интересный и перспективный проект под названием "PassBolt". Обещают до конца года запилить мобильные приложения. Посмотрим. Надо будет вспомнить про него попозже и поглядеть. Если действительно сделают, должно получиться очень круто. Жаль, его не существовало в те далекие времена, когда мы с коллегами коно****ись с TeamPass-ом (вот чего точно никому не посоветую).

  • Самое главное и ну совсем внезапное. Народ тупо хранит зашифрованные GPG-ой текстовые файлы и синхронизирует их между устройствами через Git. Причём под это дело написано какое-то огромное количество утилит, приложений и прочей обвязки на любой вкус. Unix-way, так сказать. Приложения под Android и iOS тоже есть. Настройка подо всё кроме винды совершенно не сложная. Больше инфы есть на сайте Passwordstore.org. Оттуда можно походить по ссылкам и посмотреть что как делается в зависимости от конкретной платформы.

Вот последний способ меня люто порадовал. Благодаря Git-у "из коробки" идёт даже "командная работа". Можно тупо создать отдельный репозиторий и расшарить его с тем, с кем считаешь нужным. Для удовлетворения паранойи репозиторий можно положить поверх eCryptFS. А синхронизация идёт поверх SSH, куда можно логиниться в том числе и SSH-ключами.

Единственное, как я уже упомянул, под виндой возникает некоторый трах-тибидох, связанный с настройкой и запуском GPG2-агента. А в остальном, всё то же самое.

Ещё беспокоит момент, что у меня, например, уже около 1000 разных паролей. Философия хранения рекомендует на каждый сервис заводить отдельную папочку, логин-пароль класть в один файлик, а сопутствующую инфу — в другой. Я вот думаю, файловой системе от такого плохо не станет? По идее, конечно, не должно. Еще плохо, что по понятным причинам нельзя проводить поиск по содержимому этих файлов. То есть, требуется очень аккуратно и вдумчиво придумывать имена файлам и папкам при их создании. И то, всё равно может оказаться неудобным. Потому что я, например, дюже привык в том же KeePass-е искать нужный пароль по комментариям.

Короче, буду пробовать постепенно переползать с KeePass-а на вот эту "убер-технологию". Посмотрим что из этого получится. Или не получится. Потом расскажу. Если доживу.


OpenWRT + Wireguard производительность
Cat-light
klink0v

Наконец-то добрались лапки замерить пропускную способность между двумя одинаковыми OpenWRT-роутерами в тоннеле, построенном на WireGuard.

У меня получилось на Mikrotik 951G-2HnD (процессор Atheros AR9344 rev 2, 560 MHz) выжать из P2P-линка примерно 40 Мбит/с. Дальше оно упёрлось в загрузку CPU.

Вполне неплохо, я считаю, для таких слабеньких машинок. rustedowl, а сколько у тебя получалось через такие же аппаратики OpenVPN-ом прокачивать, не помнишь случаем?


Видеонаблюдение: софт
Cat-light
klink0v

Не прошло и года, таки запустил пока что в тестовом режиме у себя в химкинской квартире видеонаблюдение. Чтобы за дядей присматривать. Начну "сзаду наперёд". Сперва поделюсь своими впечатлениями от софта.

Тыц!Collapse )

Бессвязного дыбра псто #41
Cat-light
klink0v

... Трактористы (МТС) ужесточили требования к сложности паролей от личного кабинета. Заодно взяли и без предупреждения всем сбросили / заблокировали оные. Теперь они будут такое проделывать раз в полгода. У вас есть автосигнализации и прочие "умные" устройства с МТСовскими симками внутри? Я вам не завидую.

Впрочем, есть две ложки мёда в бочке дёгтя. Во-первых, можно запросить новый пароль SMSкой на номер 3339. Во-вторых, через их кал-центр можно создать / получить пароль на какой-нибудь другой МТСовский номер, оформленный на тот же паспорт. Но вообще, конечно, западло. И лишний аргумент в пользу применения посредников / агрегаторов вместо "родных" SIMок оператора для unattended-устройств.

... Снёс я к чертям Mi Fit и поставил вместо него GadgetBridge. Блин, почему я не сделал этого раньше?! Не требует создавать этот дурацкий Mi Account, нет рекламы, не глючит, не тормозит, работает стабильно. Субъективно почти не жрёт почём зря батарейку, в отличие от Mi Fit. Более вменяемый интерфейс и понятные настройки. Браслет, правда, всё равно иногда "отваливается". Но тут по крайней мере программа об этом тебе сразу сообщает в шторке. Можно вовремя заметить и "спарить" их заново. В общем, рекомендую.

... На предыдущей работе собираются выкидывать наименее ценные запасы и закромов of Rодина: негде хранить. В основном там системные блоки в форм-факторе "MidiTower" на 775м сокете, Celeron-ы и всякие Pentium B. Кажется, еще парочка HPшных серваков 5го поколения валялась, но это не точно. UPSы промышленные, вроде, ещё были. Если кому-то что-нибудь нужно из подобной офисной и околоофисной техники, можете оставить тут в комментах заявку. Коллеги прочтут, вполне возможно, что выкинут вам, а не на свалку.

Всем стабильного софта и вменяемых ОПСОСов.


IPv6 от МТС в OpenWRT 18.06.2 (памятка)
Cat-light
klink0v

Не секрет, что при подключении через 4G (LTE) МТС умеет выдавать IPv6-адреса и даже (страшно сказать) вполне себе маршрутизирует их. Правда, выдает он сиё богатство блоками длиной "/64", что делает применение оных в роутерах несколько проблематичным. Ибо для штатной делегации части адресов на устройства за роутером встроенными средствами протокола/ядра (SLAAC) требуется иметь на внешнем интерфейсе блок длиной не меньше "/60". В противном случае приходится городить костыли в виде NDP-Proxy.

В OpenWRT такие костыли присутствуют "из коробки", но для их активации необходимо засунуть свои грязные ручки непосредственно в конфиги. Потому что через веб-морду сделать соответствующие настройки в случае, когда внешний аплинк не есть Ethernet, не удастся. В моём примере я использую LTE-модем имени Sierra Wireless в режиме Direct IP, в котором он прикидывается сетевой картой, но несколько своеобразной.

Итак, конфиг "/etc/config/dhcp".

Проверить, что в секции "lan" помимо прочего присутствуют строки:

Эти параметры можно настроить и через веб-морду.

А вот секцию "wan6" целиком нужно уже дописывать только руками:

В финале не забыть сделать "/etc/init.d/network restart" на роутере, передёрнуть интерфейсы на клиентах и можно работать через IPv6.

Но! Там есть ещё две засады. Первая. При "холодном" старте роутера демон "odhcp6c" успевает стартовать раньше, чем модем поднимет линк. Соответственно, его надо перезапускать "как только, так сразу". Можно это делать, например, вот таким скриптом в "/etc/hotplug.d/iface/".

Со второй засадой я пока не разобрался. Если модем слишком долго "стоит без дела", то при попытке заслать в него ip6-пакет ядро ругается словами "connect: Permission denied". Перезапуск odhcpd, опять же, помогает. Но по какому событию его лучше осуществлять, непонятно. Что интересно, IP6-адрес на интерфейсе после перезапуска не меняется. Но пакеты начинают ходить. Если у кого есть мысли на эту тему, добро пожаловать в комменты.

P.S. Ковырялся исключительно из спортивного интереса. Реальной осмысленной цели в использовании именно IPv6 на сегодняшний день у меня пока нет. Хотя если мой проводной провайдер предложил бы, обязательно ввязался бы в тестирование. Но ему это нафиг не впёрлось.


EDID твою налево! (про мониторы)
Cat-angry
klink0v

Разобрался я с глюком, когда монитор уходил в спячку и не возвращался из неё. Начало здесь, продолжение здесь. Напомню вкратце. После того, как монитор засыпает по тайм-ауту, проснуться ему уже не судьба. Не помогает даже перезагрузка компа. А винда в это время пишет что-то совершенно неинформативное про перемещение устройства.

Собака порылась в EDID. Точнее в том, что он почему-то оказался побитым у сабжевого монитора. Обнаружил я это следующим образом. Взял проблемный дисплей и подключил его к своему Linux-овому десктопу. Пингвин во время загрузки молчать не стал, сразу высказал всё что думает:

Читать дальшеCollapse )

Прошивка Mikrotik-ов в LEDE (часть 2)
Cat-light
klink0v

Продолжение предыдущего псто.

Напомню, что если мы используем, например RB951Ui-2HnD, то можно его просто прошивать образом прямо с сайта LEDE и не париться. Но у модификации RB951G-2HnD с гигабитными портами после такой операции "отвалится" Ethernet. Нужно патчить модуль "mach-rb95x.c" и пересобирать заново.

Читать много нипанятных букафCollapse )

Очередные лучи поноса в сторону ВТБ24
Lozhkin
klink0v

До сих пор не могу для себя определить, что хуже: Сбер или ВТБ. Видимо, придётся им поделить пальму первенства.

Рассмотрим простейший случай. Условный Вася Пупкин только что получил новую банковскую карту в рамках зарплатного проекта и хочет её активировать. Алгоритм его действий согласно официальной инструкции банка должен быть таким.


  1. Зайти на страницу входа в личный кабинет. Ввести там свой логин, он же УНК (уникальный номер клиента) и временный пароль, который присылается SMSкой.

  2. Временный пароль имеет ограниченный срок действия. Не успел залогиниться в личный кабинет за этот промежуток — инициируй процедуру восстановления пароля.

  3. Поменять временный пароль на постоянный. Требования к новому паролю: от 6 до 20 цифр. Зашибись, почему буквы-то не катят?

  4. Позвонить по телефону сервис-центра с номера, который привязан к карте.

  5. Продраться через IVR-меню.

  6. Набрать на клавиатуре телефона свой УНК (см. выше, восемь цифр).

  7. Набрать на клавиатуре телефона последние четыре цифры номера карты.

  8. Не отбивая вызова, получить подтверждающую SMSку. Срок действия этой SMSки — три (!) минуты (!).

  9. Опять же, не отбивая вызова, умудриться прочесть и запомнить шесть цифр из подтверждающей SMSки.

  10. Вернуться в активный вызов, набрать на клавиатуре телефона цифры из упомянутой SMSки.

  11. Прослушать пин-код. При этом проговаривают его ровно два раза, без возможности повторить. Не успел запомнить или записать — твои проблемы.

  12. Подтвердить получение пин-кода, нажав цифру "1". Больше ничего не предлагают. Либо нажимай "1", либо... не знаю, что будет, если ничего не нажимать.

  13. Пойти к ближайшему банкомату ВТБ24 и запросить баланс для того, чтобы наконец активировать (!) карту.

Кто-нибудь может объяснить, на х** так сложно? Тринадцать (!) пунктов. А кто-нибудь подумал, что SMSка может и не придти за три минуты? Кто-нибудь подумал, что не на всех телефонах и не всякому пациенту удастся прочитать SMSку не отбивая вызова? Кто-нибудь подумал, что у пациента может не оказаться под рукой чего-нибудь такого, при помощи чего можно записать цифры из подтверждающей SMSки и надиктованный пин-код? И на х** после всего этого ещё идти куда-то не знаю куда чтобы искать там банкомат?

А самое главное, что с точки зрения безопасности такое усложнение процедуры получения пин-кода вообще ничем не оправдано. От мошенников, которые перевыпускают чужую SIMку, дополнительные шаги никак не защищают. От потери телефона — тоже. Почему нельзя просто позвонить клиенту голосом и надиктовать ему пин-код — непонятно.

У меня нет слов, один мат. Те, кто проектировал эту систему — редкостные дебилы.