Yellow Leaf
41 subscribers
242 photos
118 links
Всякое около IT-шное.

Связь с автором: @moose_kazan
Download Telegram
Заблокирован ли известный мессенджер?

В новостях обсуждают блокировку Telegram. Время от времени кто-то из депутатов предлагает его разблокировать из чего можно сделать вывод что он действительно заблокирован на территории РФ (и реально есть проблемы с доступом к нему). Однако в списке заблокированных ресурсов на сайте РКН не значатся домены и IP-адреса мессенджера.

Вобщем решил поинтересоваться статусом мессенджера и отправил в РКН запрос через госуслуги. Неделю назад получи ответ:

На Ваше обращение об ограничении доступа к мессенджеру «Telegram», поступившее в Управление Роскомнадзора по Республике Татарстан (Татарстан) с Платформы обратной связи Единого портала государственных и муниципальных услуг, сообщаем следующее.

На основании Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» и Федерального закона от 07.07.2003 № 126-ФЗ «О связи» меры принимаются в соответствии с решениями уполномоченных государственных органов.

Просмотреть актуальную информацию оснований ограничения доступа возможно по ссылкам: http://eais.rkn.gov.ru/feedback/, https://blocklist.rkn.gov.ru/.


Т.е. по существу не ответили и предлагают смотреть список, в котором Telegram не значится. Что интересно не значится там и IP-адрес, к которому я потерял доступ в июне и блокировку которого РКН подтвердил.

Т.е. получается что реестр блокировок не полный. А полного публичного нет. По-моему всё это создаёт некоторую правовую неопределённость.
💯1
Вернуть 2008-й год

В Свердловской и Курганской областях, а так же в ХМАО и ЯНАО присутствует и вполне успешно работает оператор мобильной связи МОТИВ. Такое же региональное явление как Летай в Татарстане и Вайнах-Телеком в Чечне.

Дизайн сайта и приложения возвращает нас лет на пятнадцать назад и в этом есть что-то тёплое и уютное. А ещё есть опция "Безлимит на соцсети", дающая безлимитный трафик на VK, OK, Мой Мир и Livejournal. Всё как в далёком 2008-м, только старик ICQ немного не дотянул до своего ренессанса.
🔥1
Интеграция Yakuake и Dolphin

Активно использую в качестве эмулятора термина Yakuake, а для управления файлами - Dolphin (да, я фанат KDE). И вот захотелось мне в меню действий Dolphin добавить опцию "Открыть в Yakuake", чтобы открывать новую вкладку и сразу переходить в нужную директорию.

По быстрому набросал скрипт:

#!/bin/bash

GOTO=${1:-$HOME}

# Создаём новую вкладку
qdbus6 org.kde.yakuake /yakuake/sessions addSession

# Переходим в директорию
qdbus6 org.kde.yakuake /yakuake/sessions runCommand "cd \"${GOTO}\" && clear"

# Делаем окно видимым
qdbus6 org.kde.yakuake /yakuake/window toggleWindowState


Его нужно закинуть куда удобно и сделать исполняемым. И дальше в /home/moose/.local/share/kio/servicemenus создать файлик с расширением .desktop:

[Desktop Entry]
Actions=openInYakuake
Type=Service
MimeType=inode/directory;
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,inode/directory

[Desktop Action openInYakuake]
Name=Open in Yakuake
Name[ru]=Открыть в Yakuake
Icon=yakuake
Exec=/path/to/script %u


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

Ну и уже закончив нагуглил несколько готовых решений от других разработчиков. Так что я по сути изобрёл велосипед.
👍3
Файловый менеджер Dolphin

Многие из нас "Дети командира Нортона" и я в том числе. На Windows очень люблю Far и Total Commander, в Linux - Krusader/Far2l/Midnight Commander. Но время от времени всё равно сталкиваюсь с родным для KDE Dolphin'ом. И он всегда мне не нравился своим перегруженным интерфейсом: при всей его функциональности обилие кнопок и панелей отвлекало и запутывало.

Вобщем весной я-таки взял и скрыл вообще все панели и кнопки, оставив только меню. И начал пользоваться и анализировать свои действия. Если замечал что какое-то действие выполняется часто то вытаскивал соответствующую кнопку на видное место или добавлял/настраивал соответствующую панель.

И в итоге пришёл к тому что на скриншоте. И так же на скриншоте можно видеть очень крутую фичу: фильтрация по маске. Не выделение, а именно фильтрация. После фильтрации дальше уже можно выделять нужное.

А какой файловый менеджер используете вы? И настраивали ли вы его под себя?
👍2
Суперпозиция и парковки

В Перми для оплаты парковки используется приложение RuParking и я нашёл в нём любопытную фичу: автомобиль может одновременно находиться сразу в нескольких местах. На скрине видно что мой Жорик находится сразу в трёх местах: на одном парковочном месте у вокзала и сразу на двух - у ЦУМа.

А если серьёзно то я не знаю кто и зачем это сделал, но повторная оплата парковки в той же зоне для той же машины не продлевает сессию, а создаёт ещё одну. А оплата парковки в другой зоне не завершает сессию в текущей.

Возможность продлить сессию кстати тоже есть. Т.е. как будто возможность иметь больше одной сессии задумана специально. Но не понятно зачем.
Wireguard и подключение по доменному имени

Wireguard резолвит доменное имя пира только один раз - при подключении. Если потом у пира сменится IP-адрес то подключение по сути "зависнет".

Чтобы этого избежать набросал небольшой скрипт. Он считывает конфигурацию соединения, резолвит доменное имя, и если IP сменился - перезапускает соединение. Если вдруг кому надо:

#!/bin/bash

if [ -z "$1" ]; then
echo "Usage: $0 cfgname"
exit 1
fi

CFG=$1

if [ ! -f "/etc/wireguard/$CFG.conf" ]; then
echo "Configuration for $CFG not found!"
exit 1
fi

ENDPOINT1_HOST=$(grep Endpoint /etc/wireguard/$CFG.conf | cut -d '=' -f2 | cut -d ':' -f1)
ENDPOINT1=$(host $ENDPOINT1_HOST | cut -d ' ' -f4 | sed 's/ //g')
ENDPOINT2=$(wg showconf $CFG | grep Endpoint | cut -d '=' -f2 | cut -d ':' -f1 | sed 's/ //g')

if [ -z "$ENDPOINT1" ] || [ -z "$ENDPOINT2" ]; then
echo "Something wrong"
exit 1
fi

if [ "$ENDPOINT1" != "$ENDPOINT2" ]; then
echo "Reconnecting..."
wg-quick down $CFG
wg-quick up $CFG
fi


Скрипту надо передавать имя конфигурации (так же как команде wg-quick). Вызов скрипта надо добавить в crontab. Интервал запуска - по вкусу.
👍1
И ещё про парковки

Уж извините что я опять про парковки, но я продолжаю ходить по граблям и получать новые ощущения. На этот раз я споткнулся о приложение ГорПарковки, используемое в частности в Казани и Екатеринбурге.

Начиналось всё хорошо: приехав в Екатеринбург я сначала обрадовался что смогу использовать те деньги, что держу на балансе для оплаты парковок в Казани. Но не тут-то было: сначала приложение убеждало меня что на Челюскинцев парковка бесплатная. Потом до меня дошло что надо в приложении сменить город с Казани на Екатеринбург. Далее выясниллось что при смене города в приложении надо заново регистрироваться и баланс в каждом городе свой, а не один общий.

Понимаю почему так, но всё равно считаю это неудобным. Гораздо удобнее было бы иметь общий баланс, а город определять по GPS. Хотя зоопарк приложений уже намекает что просто не будет.
Про GigaCode

Недавно у моих знакомых в админке сайта (написанного на PHP) вылезла XSS-уязвимость. Меня попросили помочь. Вобщем-то проблема простая и известно как лечить. Решил что мне лень это делать руками, потому взял VSCode с плагином GigaCode и ввёл следующий промпт:

В директории admin/pages надо все выводимые переменные обернуть в htmlspecialchars


Результат меня удовлетворил, но вся работа заняла 83 минуты, что для полусотни файлов - многовато. Списал на то что использую бесплатную версию и отправил разработчикам запрос:

Использую GigaIDE плагин для VSCode. Бесплатную версию. Качество работы в целом устраивает, но скорость не совсем) Относительно простой промпт обрабатывается сорок минут. Вопрос: если перехожу на платный тариф - это как-то повлияет на скорость обработки запросов?


Сегодня получил ответ:

На текущий момент платный тариф (GigaCode Business) - это облачный (SaaS) корпоративный тариф предоставляемые только для юридических лиц


Для меня это выглядит как "продолжай использовать Cursors/Claude/Gemini и не парься".

Немного разочарован.
🤔1
Проблемы с VoWiFi

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

Если кратко, то смартфон устанавливает IPSec-соединение с хостом "epdg.epc.mncXXX.mccYYY.pub.3gppnetwork.org". Например для билайн это будет "epdg.epc.mnc099.mcc250.pub.3gppnetwork.org". И дальше внутри IPSec-тоннеля уже ходит весь необходимый трафик.

В последнее время постоянно сталкиваюсь с тем что звонки через VoWiFi по качеству сильно хуже чем через VoLTE. Причём не только дома, а вообще в любых WiFi-сетях: на работе, в гостиницах, в общепите.

Попробовал у себя на роутере во время звонка посмотреть трафик с помощью tcpdump. Явного криминала не увидел. Пока даже не знаю куда дальше копать.
Web-прокси в Telegram

В Telegram появилась начальная поддержка web-прокси. Судя по коду работает довольно просто: MTProxy-трафик инкапсулируется в https.

Возможность пока доступна только в настольном приложении, как минимум с версии 7.1.1. Код web-прокси сервера открыт и опубликован на github.

Для себя поднял и посмотрел. Поднимается три компонента: Caddy, который слушает входящие соединения, tproxy-server, на который пересылается трафик с Caddy, и MTProxy-сервер, на который tproxy-server пересылает подходящий трафик.

Выглядит громоздко, но работает. Ждём поддержки на остальных платформах.
CT-логи от минцифры

Обнаружил что оказывается УЦ от минцифры ведёт публичные CT-логи (Certificate Transparency Log). По какой-то злой иронии сам сервис имеет сертификат, выданный каким-то "TCI ECDSA B1 16-280" и который даже Яндекс Браузер не считает доверенным.

Но в любом случае штука интересная. Если кому надо то вот ссылка: https://ct.tlscc.ru
🤔1
git-индекс в корне веб-сервера

Сколько раз говорили людям что оставлять git-индекс (папка .git) в корневой директории хоста на веб-сервере плохая идея. Но новости об утечках, случившихся благодаря доступу к git-индексу, продолжают появляться.

Всё понимаю. По быстрому задеплоить что-то через "git clone" / "git pull" хочется. Вобщем если подобного совсем не удаётся избежать то можно вынести git-индекс за пределы директории DocumentRoot. Примерно так:

cd /path/to/document_root
mv .git ../git-index
echo "gitdir: ../git-index" > .git


Теперь злоумышленник при попытке доступа к git-индексу узнает что он есть где-то рядом, но доступ к нему уже не получит. Ну по крайней мере не через веб.
Cadaver GUI

Около года назад искал webdav-клиент с графическим интерфейсом. В какой-то момент наткнулся на Cadaver-GUI. Написано на Lazarus и выглядит как что-то сделанное на коленке. Мою задачу оно решило и я подумал что если немного причесать код то приложение вполне может быть довольно годным.

Долгое время у меня не доходили руки и вот на днях я заслал автору первый pull-реквест. Теперь оно хотя бы не портит ~/.netrc. Код вроде бы не большой, но он оказался чуть хуже чем я думал. Так что пока не знаю что буду исправлять дальше и буду ли вообще. Посмотрим.

Ну и напоследок небольшой лайфхак (собственно его я и реализовал в своём PR): Cadaver всегда использует креды из ~/.netrc и возможности указать другой файл нет. Но если очень хочется то можно переопределить переменную окружения HOME примерно так:

env HOME=/home/user/.config/cadaver cadaver http://webdab.host


И в этом случае cadaver будет искать креды в файле /home/user/.config/cadaver/.netrc.
Планшет с клавиатурой

Имею на хозяйстве планшtт Samsung Tab A9 LTE в качестве "прикроватного" устройства: книги читать, фильмы перед сном смотреть. Так же на хозяйстве есть клавиатура A4Tech FBK26C, используемая для временного подключения ко всякому разному. В какой-то момент я сопряг второе с первым и неожиданно получилось удобно.

Экран конечно маленький, но для "по быстрому что-то сделать" подходит. Раскладка переключается и по Alt+Shift и по Ctrl+Space. Termux вполне пригоден для запуска ssh-клиента. В нём же можно использовать git и редакторы вроде tilde и micro. Кроме того можно установить GoCode IDE или что-то подобное если не удобно редактировать код в терминале.

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

Тут прошла информация что в нашей стране стали подменять ответы крупных DNS-сервисов (Google, Cloudflare). У некоторых пользователей есть проблемы с доступом к DOH (DNS over https) сервисам этих же провайдеров.

Проверить наличие проблемы достаточно просто: НСДИ (Национальня Система Доменных Имён, на ответы которой по слухам подменяют трафик) не резолвит некоторые доменные имена. Например видеохостинг с "устаревшими и деградировавшими серверами".

Для себя поднял свой DOH-сервер. Оказывается уже довольно давно BIND9 поддерживает всё необходимое. Достаточно добавить в начало файла /etc/bind/named.conf.options строки:

tls local-tls {
key-file "/etc/acme.sh/[CENSORED]_ecc/[CENSORED].key";
cert-file "/etc/acme.sh/[CENSORED]_ecc/fullchain.cer";
};


И в секцию "options" в том же файле:

  listen-on-v6 port 5380 tls local-tls http default { any; };
listen-on port 5380 tls local-tls http default { any; };
http-port 5380;


Ну и вопрос к тем кто добавил сертификат минцифры в основной браузер: вот эта ситуация как-то повлияет на ваше отношение к государственным сертификатам?
Ethernet-розетка

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

Решил подключить то что ясно, а дальше используя LAN-тестер разбираться с остальным. Но план быстро пошёл не туда. Даже те четыре провода оказались подключены не правильно.

В итоге взял обычный тестер и просто прозванивая контакты разъёма и зажимы выяснил что цвета вообще ничего не значат, а надо просто повернуть розетку гнездом к себе и разложить провода обычным образом против часовой стрелки (не уверен что понятно объяснил). Зато кроссировочный нож не понадобился.

P.S. Инструкции в комплекте с розеткой не было. Так бы я конечно ей воспользовался.
🤔1
Есть обычай на Руси: ночью слушать Би-Би-Си.

В СССР глушили передачи Би-Би-Си, но наши люди всё равно слушали в том числе "Программу поп-музыки из Лондона" Севы Новгородцева. Программа вообще не про политику, а про то что объединяет людей: про музыку.

"Эпоха Радио" (Привет, Вуди Аллен!) прошла. Настала эра интернета. И снова в медийное пространство врывается государство и пытается его модерировать. Но наши люди всё равно обходят блокировки и получают доступ к зарубежному контенту. Изменились технологии, но не изменилась суть.

И вот я подумал: было бы очень забавно если бы сейчас Сева Новгородцев начал вести подкаст про музыку, который публиковал бы исключительно на тех платформах, доступ к которым в РФ ограничен. Чтобы спустя полвека уже внуки первых слушателей Новгородцева преодолевая трудности слушали музыкальные передачи. Будет в этом какая-то преемственность поколений.
Repka OS на Repka Pi4

Уже вышла Repka Pi5. Регулярно выходят обновления Repka OS, но последняя по прежнему основана на Ubuntu 22.04 и по сути ей и является, только к ней подключены ещё репозитории:

* ppa:mozillateam/ppa
* ppa:kisak/kisak-mesa

По всяким вопросам официальная документация отсылает пользоваться утилитой repka-config, но при этом в repka-config до сих пор половина опций "В разработке".

То что система не самая современная это ещё не так критично, а вот невозможность в официальной ОС нормально конфигурировать компьютер - очень разочаровывает.
💯1
Про бэкапы

Как известно админы делятся на два типа: одни ещё не делают бэкапы, а другие уже делают. Буквально на днях, записывая на SD-карту образ для одноплатника, я ошибся и вместо /dev/sdb записал его на /dev/sda: mSATA-накопитель, смонтированный как /home.

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

Для бэкапов на внешний HDD использую timeshift. Штука не быстрая, но удобная. Бэкап примерно 700GB занимает более десяти часов. На раскатывание тех же 700GB с внешнего HDD ушло около восьми часов. Но зато потом я спокойно продолжил работу.

А что вы используете для полного бэкапа системы?
NFC-метки

Нашёл у себя дома некоторое количество NFC-меток. Лежат давно и ничего путного с ними я так и не придумал. Вобщем прилепил одну в машину напротив пассажира и записал на неё данные WiFi-точки в машине. На этом моя фантазия кончилась.

Вопрос к подписчикам: а вы использовали NFC-метки? Какие сценарии? А если не использовали но имеете какие идеи: какие? Что полезного и/или интересного с ними можно сделать?
5G в России

В России начали включать 5G. В некоторых тестовых зонах это 5G NR SA в n79, но в большинстве мест это 5G NR NSA в band 1.

Для тех кто не в теме:
* SA это "настоящий" 5G, а NSA это скорее "LTE на стероидах".
* n79 это частотный диапазон 4.9ГГц, который в РФ выделили под этот самый 5G SA, в то время почти весь мир выбрал диапазон n78 (3.5ГГц). Соответственно далеко не все телефоны с 5G этот самый n79 поддерживают.
* band 1: диапазон 2.1ГГц, который изначально использовался под 3G и потом активно рефармился всеми операторами в LTE. Ну и теперь там ещё 5G NR NSA.

В родной мне Казани 5G формально есть у Мегафона и у МТС. Но карту покрытия пока публикует только МТС. На карте покрытие очень мелкими пятнами, но мой дом на восточной окраине формально входит в одно из таких пятен. В реальности поймать 5G не удалось.

Ещё одно пятно есть примерно в десяти километрах уже за городом - в Старом Кощаково. Доехал туда и там поймать 5G получилось. Результаты на скриншотах. Скорости даже ниже чем в LTE. Начал понимать что 150мбит/с в 5G в Беларуси это даже хорошо.

И да: утилита для диагностики сети почему-то показывает 5G в band 3. Глюк это или реально там ещё и band 3 задействован - пока не ясно.