GNOME Commander 2
Некоторое время назад воскрес gnome-commander. Его переписали на rust, перенесли на GTK4, добавили плагинов. И неожиданно стало хорошо. Мне очень понравилось.
Обычно использую Krusader, но он выглядит как-то уж очень громоздко. Хотя конечно поддержка KIO и KPart это приятно. Но в GNOME Commander есть поддержка сетевых соединений в виде отдельного диалога с закладками. Мне этого достаточно. Ну и встроенный просмотрщик вполне функционален и без KPart.
Готовый пакет нашёл только в Сизифе (ребята из Базальт - молодцы), так что в Debian пришлось собирать из исходников. Но никаких проблем со сборкой не возникло и всё работает хорошо.
Вобщем рекомендую.
Некоторое время назад воскрес gnome-commander. Его переписали на rust, перенесли на GTK4, добавили плагинов. И неожиданно стало хорошо. Мне очень понравилось.
Обычно использую Krusader, но он выглядит как-то уж очень громоздко. Хотя конечно поддержка KIO и KPart это приятно. Но в GNOME Commander есть поддержка сетевых соединений в виде отдельного диалога с закладками. Мне этого достаточно. Ну и встроенный просмотрщик вполне функционален и без KPart.
Готовый пакет нашёл только в Сизифе (ребята из Базальт - молодцы), так что в Debian пришлось собирать из исходников. Но никаких проблем со сборкой не возникло и всё работает хорошо.
Вобщем рекомендую.
👀1
Midninght Commander и архивы
Я немного знаю как устроена работа с архивами в Midninght Commander. В разное время я добавлял поддержку форматов WIM и Brotli, а так же исправлял поддержку ARJ и ALZ. Так что думаю что могу рассказать про всё это.
За работу с архивами отвечают скрипты, которые на большинстве дистрибутивов расположены в /usr/lib/mc/extfs.d. Эти скрипты имеют довольно простой интерфейс:
Если какой-то метод не поддерживается то скрипт возвращает код возврата, отличный от нуля.
Хорошая новость в том что скрипты можно писать на любом языке. И сейчас есть скрипты на shell, python, perl, awk. Отсюда такой список зависимостей у mc.
Плохая: файлы в/из архива копируются по одному. Для solid-архивов (например rar, 7zip) на большом количестве файлов это приводит к заметному замедлению операций.
Ещё одна плохая новость: если архиватор запрашивает пароль или выдаёт ещё какой-то запрос - с большой долей вероятности получается дедлок.
Я немного знаю как устроена работа с архивами в Midninght Commander. В разное время я добавлял поддержку форматов WIM и Brotli, а так же исправлял поддержку ARJ и ALZ. Так что думаю что могу рассказать про всё это.
За работу с архивами отвечают скрипты, которые на большинстве дистрибутивов расположены в /usr/lib/mc/extfs.d. Эти скрипты имеют довольно простой интерфейс:
script list $arcname
script copyout $arcname $filename $dest
script copyin $arcname $filename $src
script rm $arcname $filename
script rmdir $arcname $dirname
script run $arcname $filename
script mkdir $arcname $dirname
Если какой-то метод не поддерживается то скрипт возвращает код возврата, отличный от нуля.
Хорошая новость в том что скрипты можно писать на любом языке. И сейчас есть скрипты на shell, python, perl, awk. Отсюда такой список зависимостей у mc.
Плохая: файлы в/из архива копируются по одному. Для solid-архивов (например rar, 7zip) на большом количестве файлов это приводит к заметному замедлению операций.
Ещё одна плохая новость: если архиватор запрашивает пароль или выдаёт ещё какой-то запрос - с большой долей вероятности получается дедлок.
❤2
Хитрые планы сотовых операторов
Есть у российского МТС такая довольно удобная штука: "Группа Семья". Идея в том что связь оплачивает один человек ("глава семьи"), а остальные участники ("члены семьи") пользуются услугами из пакета основного участника и сами ничего не оплачивают.
Случайно выяснил что если участник группы подаст заявление на перенос номера к другому оператору то он автоматически исключается из группы и переводится на тариф с помегабайтной(!) оплатой трафика.
Если вспомнить что процедура MNP занимает около восьми суток и требует чтобы в момент переноса баланс абонента был положительным получаем интересную историю: возможность отказать в переносе по техническим причинам (ноль или минус на балансе).
Восхищён находчивостью того кто это придумал.
Есть у российского МТС такая довольно удобная штука: "Группа Семья". Идея в том что связь оплачивает один человек ("глава семьи"), а остальные участники ("члены семьи") пользуются услугами из пакета основного участника и сами ничего не оплачивают.
Случайно выяснил что если участник группы подаст заявление на перенос номера к другому оператору то он автоматически исключается из группы и переводится на тариф с помегабайтной(!) оплатой трафика.
Если вспомнить что процедура MNP занимает около восьми суток и требует чтобы в момент переноса баланс абонента был положительным получаем интересную историю: возможность отказать в переносе по техническим причинам (ноль или минус на балансе).
Восхищён находчивостью того кто это придумал.
😁2
PWA это хорошо
Даже будучи тимлидом команды мобильных разработчиков я говорил что во многих случаях мобильные приложения - зло. Как минимум в тех случаях когда они являются по сути фронтендами для некоторого API: интернет-магазины, сервисы доставки и т.д. Их вполне можно заменить на PWA (Progressive Web App): по сути сайты в браузере, адаптированные к мобильным экранам.
При этом я считаю что удалять какие-либо приложения (ну кроме зловредных) из каких либо каталогов по политическим причинам - как минимум не правильно. И вот то что сейчас происходит - очень плохо. Даже не по тому что удалили какие-то приложения, а потому что создали прецедент и фактически признали приемлемость такой цензуры.
И вот тут снова на сцену выходят PWA. Для доставки их пользователям не нужны каталоги и значит и удаление из каталогов не так уж страшно. А ещё такие приложения не привязаны к конкретной ОС. И наши российские сервисы к этому приходят, хотя и не совсем по своей воле. Сначала веб-версии банковских приложений были адаптированы для мобильных браузеров. А теперь вот и наш национальный мессенджер стал работать в мобильных браузерах.
Даже будучи тимлидом команды мобильных разработчиков я говорил что во многих случаях мобильные приложения - зло. Как минимум в тех случаях когда они являются по сути фронтендами для некоторого API: интернет-магазины, сервисы доставки и т.д. Их вполне можно заменить на PWA (Progressive Web App): по сути сайты в браузере, адаптированные к мобильным экранам.
При этом я считаю что удалять какие-либо приложения (ну кроме зловредных) из каких либо каталогов по политическим причинам - как минимум не правильно. И вот то что сейчас происходит - очень плохо. Даже не по тому что удалили какие-то приложения, а потому что создали прецедент и фактически признали приемлемость такой цензуры.
И вот тут снова на сцену выходят PWA. Для доставки их пользователям не нужны каталоги и значит и удаление из каталогов не так уж страшно. А ещё такие приложения не привязаны к конкретной ОС. И наши российские сервисы к этому приходят, хотя и не совсем по своей воле. Сначала веб-версии банковских приложений были адаптированы для мобильных браузеров. А теперь вот и наш национальный мессенджер стал работать в мобильных браузерах.
👏1
Немного на злобу дня
Тут в чате родного жилого массива стали обсуждать то что 281-ФЗ запрещает рекламировать. Не удержался и высказался по этому поводу:
К сожалению все остальные варианты так или иначе со временем перестанут работать...
Тут в чате родного жилого массива стали обсуждать то что 281-ФЗ запрещает рекламировать. Не удержался и высказался по этому поводу:
Самый лучший VPN будут раздавать 20-го сентября на избирательных участках. По паспорту. Называется "Бюллетень". Если в нём ручкой проставить правильные настройки и опустить в урну то возможно все необходимые сервисы со временем заработают.
К сожалению все остальные варианты так или иначе со временем перестанут работать...
👍3😁1
WebDAV-сервер на коленке
Понадобился мне WebDAV-сервер и я опять столкнулся с тем что выбор готовых решений довольно ограничен. В итоге нагуглил dufs (название меня позабавило) и он мне понравился. Для себя увидел только один недостаток: отсутствие маппинга пользователей. Т.е. вот под каким uid/gid запустил - так под ним и будет читать/писать. Но в моих сценариях это не критично.
Запустил в контейнере. Если кому вдруг надо то вот мой docker-compose.yml:
И config.yaml:
Можно ещё добавить SSL, но в моём случае за это отвечает отдельный фронтенд.
Понадобился мне WebDAV-сервер и я опять столкнулся с тем что выбор готовых решений довольно ограничен. В итоге нагуглил dufs (название меня позабавило) и он мне понравился. Для себя увидел только один недостаток: отсутствие маппинга пользователей. Т.е. вот под каким uid/gid запустил - так под ним и будет читать/писать. Но в моих сценариях это не критично.
Запустил в контейнере. Если кому вдруг надо то вот мой docker-compose.yml:
services:
dufs:
image: sigoden/dufs
restart: always
ports:
- 5000:5000
environment:
DUFS_CONFIG: "/cfg/config.yaml"
user: "1999:1999"
volumes:
- "./logs:/logs"
- "./cfg:/cfg"
- "/volume1/Films:/data/Films"
И config.yaml:
serve-path: '/data'
bind: 0.0.0.0
port: 5000
path-prefix: /
hidden:
- 'tmp'
- '*.log'
- '*.lock'
- '.*'
auth:
- 'moose:[CENSORED]@/:rw'
allow-all: false
allow-upload: true
allow-delete: true
allow-search: true
allow-symlink: true
allow-archive: false
allow-hash: false
enable-cors: false
render-index: true
render-try-index: true
render-spa: true
log-format: '$remote_addr "$request" $status $http_user_agent'
log-file: /logs/dufs.log
compress: low
Можно ещё добавить SSL, но в моём случае за это отвечает отдельный фронтенд.
👍2🔥1
Простой мониторинг
Есть у меня потребность мониторить доступность всяких личных железок. Буквально проверять доступность по ICMP. В ряде случаев проверять TCP-порт. Долго использовал Zabbix, но для моих задач он казался слишком громоздким.
В итоге нашёл Uptime Kuma. Проект открытый. Написан преимущественно на JS. Можно скачать пакет для популярных дистрибутивов или docker-compose.yml. Я выбрал последнее.
Сам сервис умеет проверять доступность TCP-порта, отправлять HTTP/HTTPS-запросы и проверять ответы, и многое другое. Оповещения о доступности/недоступности так же может отправлять самыми разными способами. Есть даже поддержка нашего национального мессенджера. Я для себя настроил отправку сообщений в VK Messenger. Хосты можно объединять в группы, назначать им тэги.
Вобщем если требуется что-то простое то стоит попробовать.
Есть у меня потребность мониторить доступность всяких личных железок. Буквально проверять доступность по ICMP. В ряде случаев проверять TCP-порт. Долго использовал Zabbix, но для моих задач он казался слишком громоздким.
В итоге нашёл Uptime Kuma. Проект открытый. Написан преимущественно на JS. Можно скачать пакет для популярных дистрибутивов или docker-compose.yml. Я выбрал последнее.
Сам сервис умеет проверять доступность TCP-порта, отправлять HTTP/HTTPS-запросы и проверять ответы, и многое другое. Оповещения о доступности/недоступности так же может отправлять самыми разными способами. Есть даже поддержка нашего национального мессенджера. Я для себя настроил отправку сообщений в VK Messenger. Хосты можно объединять в группы, назначать им тэги.
Вобщем если требуется что-то простое то стоит попробовать.
👍1🔥1
Exclave Proxy client
Захотелось мне странного: аналог ocproxy на телефон. Морально приготовился писать своё решение, но в недрах F-Droid нашёл Exclave Proxy client. Это ровно то что нужно: умеет подключаться к различным серверам, поддерживая множество протоколов.
При этом умеет работать в режиме "Только SOCKS5-прокси", без перенаправления всего трафика устройства в туннель. Порт можно указать в настройках.
Т.е. можно подключаться к офисному серверу через какой-нибудь wireguard, указывать в настройках браузера локальный SOCKS5-прокси и ходить на внутренние ресурсы браузером, а весь остальной трафик будет ходить напрямую. При этом приложения, которые почему-то просят выключить VPN, не будут этого делать, так как он по сути не включен.
Захотелось мне странного: аналог ocproxy на телефон. Морально приготовился писать своё решение, но в недрах F-Droid нашёл Exclave Proxy client. Это ровно то что нужно: умеет подключаться к различным серверам, поддерживая множество протоколов.
При этом умеет работать в режиме "Только SOCKS5-прокси", без перенаправления всего трафика устройства в туннель. Порт можно указать в настройках.
Т.е. можно подключаться к офисному серверу через какой-нибудь wireguard, указывать в настройках браузера локальный SOCKS5-прокси и ходить на внутренние ресурсы браузером, а весь остальной трафик будет ходить напрямую. При этом приложения, которые почему-то просят выключить VPN, не будут этого делать, так как он по сути не включен.
👍1
IPv6 и будущее
Прошла новость что Китай к 2030-му году планирует 38% своего трафика гнать через IPv6. Беглый поиск в интернет дал такие результаты: в целом по миру 40-60% трафика идёт через IPv6. При этом в РФ на IPv6 приходится по разным оценкам от 10 до 15%.
Насколько я знаю в РФ из крупных провайдеров "из коробки" IPv6-адреса предоставляет только МТС и только на мобильном интернете. Протокол teredo в РФ не работает: соединение устанавливается, но трафик не ходит.
Впервые с IPv6-only сервисами я столкнулся ещё лет десять назад, когда наш сервис не мог доставить письмо пользователю из-за того что его сервер работал только по IPv6. С тех пор время от времени сталкиваюсь с подобным и в последнее время всё чаще.
Это я к чему: если смотреть в будущее то возможен такой сценарий: весь мир переходит на IPv6, а отдельная страна остаётся на IPv4 и оказывается в изоляции, формально имея доступ к глобальному интернету, но не имея доступа к IPv6-only ресурсам. И даже всякие блокировки не нужны.
Очень хочется чтобы этот сценарий не случился.
Прошла новость что Китай к 2030-му году планирует 38% своего трафика гнать через IPv6. Беглый поиск в интернет дал такие результаты: в целом по миру 40-60% трафика идёт через IPv6. При этом в РФ на IPv6 приходится по разным оценкам от 10 до 15%.
Насколько я знаю в РФ из крупных провайдеров "из коробки" IPv6-адреса предоставляет только МТС и только на мобильном интернете. Протокол teredo в РФ не работает: соединение устанавливается, но трафик не ходит.
Впервые с IPv6-only сервисами я столкнулся ещё лет десять назад, когда наш сервис не мог доставить письмо пользователю из-за того что его сервер работал только по IPv6. С тех пор время от времени сталкиваюсь с подобным и в последнее время всё чаще.
Это я к чему: если смотреть в будущее то возможен такой сценарий: весь мир переходит на IPv6, а отдельная страна остаётся на IPv4 и оказывается в изоляции, формально имея доступ к глобальному интернету, но не имея доступа к IPv6-only ресурсам. И даже всякие блокировки не нужны.
Очень хочется чтобы этот сценарий не случился.
Некоторые нюансы внедрения IPv6
Иногда кажется что IPv6 внедрить легко: получаем адреса, поднимаем у себя на сервере и добавляем AAAA-записи в DNS. Но это только начало.
В процессе внедрения IPv6 вылезает много всякого интересного. Например задача: рейт-лимиты в API с привязкой к IP-адресу. Для IPv4 тут проблем особых нет (ну кроме боли у тех кто сидит через провайдерский NAT). В случае IPv6 как минимум следует учитывать что:
- Teredo: не просто позволяет получить IPv6-адрес, но и на каждый IPv4-адрес предоставляет подсеть /96, которую разумно считать за один адрес.
- 6to4: так же позволяет получить IPv6-адрес, предоставляет сеть /48 на каждый IPv4. И здесь так же разумно будет при расчёте лимитов считать всю подсеть как один адрес.
Хранение в БД:
- В MySQL функция INET_ATON не поддерживает IPv6, вместо неё можно использовать INET6_ATON, которая поддерживает и IPv4 и IPv6, но возвращает уже не INT, а VARBINARY(16).
- В PostrgreSQL к счастью есть тип inet, созданный как раз для хранения сетевых адресов
Ну и отдельный привет тем кто хранит адреса как строки. У этих людей свой путь)
Иногда кажется что IPv6 внедрить легко: получаем адреса, поднимаем у себя на сервере и добавляем AAAA-записи в DNS. Но это только начало.
В процессе внедрения IPv6 вылезает много всякого интересного. Например задача: рейт-лимиты в API с привязкой к IP-адресу. Для IPv4 тут проблем особых нет (ну кроме боли у тех кто сидит через провайдерский NAT). В случае IPv6 как минимум следует учитывать что:
- Teredo: не просто позволяет получить IPv6-адрес, но и на каждый IPv4-адрес предоставляет подсеть /96, которую разумно считать за один адрес.
- 6to4: так же позволяет получить IPv6-адрес, предоставляет сеть /48 на каждый IPv4. И здесь так же разумно будет при расчёте лимитов считать всю подсеть как один адрес.
Хранение в БД:
- В MySQL функция INET_ATON не поддерживает IPv6, вместо неё можно использовать INET6_ATON, которая поддерживает и IPv4 и IPv6, но возвращает уже не INT, а VARBINARY(16).
- В PostrgreSQL к счастью есть тип inet, созданный как раз для хранения сетевых адресов
Ну и отдельный привет тем кто хранит адреса как строки. У этих людей свой путь)
🤓1
Полезная утилита: zswap-cli
При использовании zswap рано или поздно становится интересно оценить эффективность работы zswap. При использовании debugfs какую-то информацию можно получить командой:
Но как минимум не хватает информации о степени сжатия.
Вобщем поиск в интернет привёл меня к zswap-cli. В репозиториях Debian и AltLinux не нашёл, но сборка из исходников не вызвала каких либо проблем. Утилита позволяет настраивать zswap и смотреть статистику. В том числе о степени сжатия, реальном размере не сжатых данных в пуле и т.д.
Ссылка на github: https://github.com/xvitaly/zswap-cli
При использовании zswap рано или поздно становится интересно оценить эффективность работы zswap. При использовании debugfs какую-то информацию можно получить командой:
grep -r . /sys/kernel/debug/zswap
Но как минимум не хватает информации о степени сжатия.
Вобщем поиск в интернет привёл меня к zswap-cli. В репозиториях Debian и AltLinux не нашёл, но сборка из исходников не вызвала каких либо проблем. Утилита позволяет настраивать zswap и смотреть статистику. В том числе о степени сжатия, реальном размере не сжатых данных в пуле и т.д.
Ссылка на github: https://github.com/xvitaly/zswap-cli
👍1
Qt Book Reader 0.1.1
Опубликовал небольшое обновление своего пет-проекта. Это баг-фикс релиз. Из изменений могу отметить:
* Поправлены баги с оглавлением для некоторых FB2 и EPUB-файлов
* Небольшие исправления в диалоге настроек
* Корректное отображение версии приложения при сборке из пакетов
* Исправлено несколько утечек памяти
* Добавлена поддержка Qt 6.10+
* По просьбам пользователей с Ubuntu Forum изображения выравниваются по центру
* Небольшие оптимизации
Ссылки:
* github: https://github.com/moose-kazan/qbr
* PPA для LTS-версий Ubuntu: https://launchpad.net/~bulvinkl/+archive/ubuntu/ppa
Опубликовал небольшое обновление своего пет-проекта. Это баг-фикс релиз. Из изменений могу отметить:
* Поправлены баги с оглавлением для некоторых FB2 и EPUB-файлов
* Небольшие исправления в диалоге настроек
* Корректное отображение версии приложения при сборке из пакетов
* Исправлено несколько утечек памяти
* Добавлена поддержка Qt 6.10+
* По просьбам пользователей с Ubuntu Forum изображения выравниваются по центру
* Небольшие оптимизации
Ссылки:
* github: https://github.com/moose-kazan/qbr
* PPA для LTS-версий Ubuntu: https://launchpad.net/~bulvinkl/+archive/ubuntu/ppa
👍4
Книги для взрослых
Подарили мне сертификат в один книжный магазин. В числе моих приобретений есть книга по React.JS. Я хоть и неизлечимый бэкендщик, но давно хочу попробовать себя в разработке фронтенда.
Сильно повеселила метка "18+" на книге. Что этим хочет сказать цензор? Что разработка фронтенда полна наркомании? Или что фронтенд - удел содомитов? Или что React.JS это не православно и вообще бездуховно?
Теряюсь в догадках...
Подарили мне сертификат в один книжный магазин. В числе моих приобретений есть книга по React.JS. Я хоть и неизлечимый бэкендщик, но давно хочу попробовать себя в разработке фронтенда.
Сильно повеселила метка "18+" на книге. Что этим хочет сказать цензор? Что разработка фронтенда полна наркомании? Или что фронтенд - удел содомитов? Или что React.JS это не православно и вообще бездуховно?
Теряюсь в догадках...
😁1
451 градус по Фаренгейту
Обнаружил что если зайти из РФ на сайт каталога свободного ПО для Android F-Droid и попробовать открыть страницу приложения Outline или Tinc Mesh VPN то страница не открывается с ошибкой 451.
При желании можно найти и другие подобные страницы в этом каталоге. Но в мобильном приложении F-Droid такой цензуры нет и всё можно вполне успешно скачать и установить.
В 21-м веке книги не жгут. Пожароопасно и не экологично. Поэтому теперь просто блокируют доступ к ним.
Обнаружил что если зайти из РФ на сайт каталога свободного ПО для Android F-Droid и попробовать открыть страницу приложения Outline или Tinc Mesh VPN то страница не открывается с ошибкой 451.
При желании можно найти и другие подобные страницы в этом каталоге. Но в мобильном приложении F-Droid такой цензуры нет и всё можно вполне успешно скачать и установить.
В 21-м веке книги не жгут. Пожароопасно и не экологично. Поэтому теперь просто блокируют доступ к ним.
🔥1😁1👀1
Интересная идея
Понадобилось мне тут для себя написать небольшую утилиту. Надо было запустить демона с правами суперпользователя и время от времени посылать ему команды от простого пользователя.
Сначала стал думать над разделением инструмента на два бинарника: собственно демон и клиент, и организовывать взаимодействие между ними через D-Bus. Но моя лень очень настаивала что я не хочу разбираться с D-Bus и вообще делать его зависимостью.
В итоге переспав с задачей я пришёл к очень хорошему на мой взгляд решению: прикрутить веб-интерфейс к демону и слать команды через него. Не надо тянуть D-Bus, не надо писать отдельный UI. Сначала я подумал "чего ж никто раньше так не делал?", а потом вспомнил CUPS, который управляется через веб-интерфейс.
Вобщем на мой взгляд хорошая идея. Запомню и буду использовать.
Понадобилось мне тут для себя написать небольшую утилиту. Надо было запустить демона с правами суперпользователя и время от времени посылать ему команды от простого пользователя.
Сначала стал думать над разделением инструмента на два бинарника: собственно демон и клиент, и организовывать взаимодействие между ними через D-Bus. Но моя лень очень настаивала что я не хочу разбираться с D-Bus и вообще делать его зависимостью.
В итоге переспав с задачей я пришёл к очень хорошему на мой взгляд решению: прикрутить веб-интерфейс к демону и слать команды через него. Не надо тянуть D-Bus, не надо писать отдельный UI. Сначала я подумал "чего ж никто раньше так не делал?", а потом вспомнил CUPS, который управляется через веб-интерфейс.
Вобщем на мой взгляд хорошая идея. Запомню и буду использовать.
👍2🔥1
Ещё один облом с ReactOS
Попробовал использовать ReactOS для сборки кода на Go. Формально Go поддерживает кросс-компиляцию, но только чистый Go. А при использовании CGO возникают проблемы. Решения есть, но самое простое это не использовать кросс-компиляцию и сразу собирать на целевой платформе.
Попробовал вместо Windows использовать ReactOS для сборки и споткнулся на том что go.exe не запускается из-за отсутствия функции WerSetFlags в kernel32.dll. Что не удивительно, так как эта функция появилась в Windows Vista, а ReactOS всё-таки пока нацелена на совместимость с XP/2003.
Но я не отчаиваюсь и надеюсь что смогу найти практическое применение для ReactOS.
Попробовал использовать ReactOS для сборки кода на Go. Формально Go поддерживает кросс-компиляцию, но только чистый Go. А при использовании CGO возникают проблемы. Решения есть, но самое простое это не использовать кросс-компиляцию и сразу собирать на целевой платформе.
Попробовал вместо Windows использовать ReactOS для сборки и споткнулся на том что go.exe не запускается из-за отсутствия функции WerSetFlags в kernel32.dll. Что не удивительно, так как эта функция появилась в Windows Vista, а ReactOS всё-таки пока нацелена на совместимость с XP/2003.
Но я не отчаиваюсь и надеюсь что смогу найти практическое применение для ReactOS.
😭1👀1
Простой почтовый сервер
Уже год использую бесплатную версию Axigen Mail Server. Бесплатная лицензия даётся на год и её можно так же бесплатно продлевать каждый год. Из ограничений бесплатной версии:
* До десяти доменов (но можно добавлять алиасы)
* До десяти аккаунтов (алиасы - без ограничений)
* Ограничена интеграция с внешними сервисами (LDAP, Outlook)
Запустил на NAS в докере. Для фильтрации спама добавил spamassassin, которого в купе со встроенным в Axigen грейлистингом вполне хватает. Есть ещё и мобильное приложение. По итогам почти года использования могу сказать что для персонального использования очень хорошо. Рекомендую.
Уже год использую бесплатную версию Axigen Mail Server. Бесплатная лицензия даётся на год и её можно так же бесплатно продлевать каждый год. Из ограничений бесплатной версии:
* До десяти доменов (но можно добавлять алиасы)
* До десяти аккаунтов (алиасы - без ограничений)
* Ограничена интеграция с внешними сервисами (LDAP, Outlook)
Запустил на NAS в докере. Для фильтрации спама добавил spamassassin, которого в купе со встроенным в Axigen грейлистингом вполне хватает. Есть ещё и мобильное приложение. По итогам почти года использования могу сказать что для персонального использования очень хорошо. Рекомендую.
❤🔥2
Снова отпуск
Приехал в Пермь. Ближайшие две недели буду тут. Ехал из Казани через Елабугу, Можгу, Агрыз, Воткинск, Очёр и Нытву. Интересно было посмотреть как работает связь вдоль дороги. Тест довольно простой: в дороге слушаем музыку через стриминговый сервис.
В Татарстане всё было идеально. В Удмуртии до Воткинска тоже. А после Воткинска связь кончилась. Совсем. И сразу у всех операторов. И дальше время от времени появлялась, но до самого Краснокамска ехал практически в тишине. В Краснокамске связь снова появилась и в Перми работает нормально.
Ну и не могу обойти стороной вопрос топлива: чем дальше от Казани - тем хуже. Но в целом ДТ и 92-й найти проблемы нет. 95-й пришлось поискать. Под Очёром заправился по 92.29р/л. И в целом в Пермском крае цена где-то на этом уровне. Понял что 75р/л в Казани это очень хорошая цена)
Приехал в Пермь. Ближайшие две недели буду тут. Ехал из Казани через Елабугу, Можгу, Агрыз, Воткинск, Очёр и Нытву. Интересно было посмотреть как работает связь вдоль дороги. Тест довольно простой: в дороге слушаем музыку через стриминговый сервис.
В Татарстане всё было идеально. В Удмуртии до Воткинска тоже. А после Воткинска связь кончилась. Совсем. И сразу у всех операторов. И дальше время от времени появлялась, но до самого Краснокамска ехал практически в тишине. В Краснокамске связь снова появилась и в Перми работает нормально.
Ну и не могу обойти стороной вопрос топлива: чем дальше от Казани - тем хуже. Но в целом ДТ и 92-й найти проблемы нет. 95-й пришлось поискать. Под Очёром заправился по 92.29р/л. И в целом в Пермском крае цена где-то на этом уровне. Понял что 75р/л в Казани это очень хорошая цена)
💯1
Linux и WiFi Captive Portal
Есть RFC 8910 описывающий механизм Captive Portal. Идея довольно простая: при получении адреса по DHCP в ответе прилетает дополнительный параметр с типом 114 (DHCP Option 114), содержащий URL страницы авторизации. Пользователь должен открыть этот URL в браузере и авторизоваться (способ авторизации в спецификации не описан, так что всё ограничивается полётом фантазии владельца точки доступа и локальным законодательством).
И вот в Linux до сих пор это дело не работает как надо. Казалось бы чего проще: в том же Network Manager при виде 114-й опции пихни этот URL куда-нибудь в D-Bus, а на другом конце поставь обработчик, который при получении URL запустит x-www-browser, передав ему этот URL. Но похоже что не просто.
На Arch Linux Wiki есть целый раздел с костылями для Captive Portal. Я уже подумываю для себя написать свой ещё один. ИМХО вот такие мелочи как раз и стоят на пути Linux к десктопам.
Есть RFC 8910 описывающий механизм Captive Portal. Идея довольно простая: при получении адреса по DHCP в ответе прилетает дополнительный параметр с типом 114 (DHCP Option 114), содержащий URL страницы авторизации. Пользователь должен открыть этот URL в браузере и авторизоваться (способ авторизации в спецификации не описан, так что всё ограничивается полётом фантазии владельца точки доступа и локальным законодательством).
И вот в Linux до сих пор это дело не работает как надо. Казалось бы чего проще: в том же Network Manager при виде 114-й опции пихни этот URL куда-нибудь в D-Bus, а на другом конце поставь обработчик, который при получении URL запустит x-www-browser, передав ему этот URL. Но похоже что не просто.
На Arch Linux Wiki есть целый раздел с костылями для Captive Portal. Я уже подумываю для себя написать свой ещё один. ИМХО вот такие мелочи как раз и стоят на пути Linux к десктопам.
😭1
Белкарт Pay с российским номером телефона
Имея на руках карту Белкарт было интересно попробовать Белкарт Pay. Однако оказалось что это не так просто. Для добавления карты приложению нужен интернет, причём экспериментально установлено что именно с IP-адресом РБ. Т.е. если беларус уедет в другую страну и попробует добавить карточку в Белкарт Pay его ждёт небольшое разочарование.
Следующим шагом необходимо подтвердить добавление карты введя код из СМС. И если белорусский IP я ещё смог обеспечить, то вот на этом шаге у меня возникли проблемы: в банке указан мой российский номер телефона и именно на него должно отправиться СМС. Но оно не приходит.
В итоге списался с поддержкой Белкарт. Ответили буквально в течении десяти минут:
Почему нельзя при добавлении карты это сообщить - вопрос открытый. А ещё на обратной стороне белкарт есть логотип карты МИР. Насколько я понимаю белкарт буквально клон системы мир. Теперь мой пытливый ум хочет попробовать добавить карту мир в Мир Pay с не российского IP-адреса и сравнить ощущения.
Имея на руках карту Белкарт было интересно попробовать Белкарт Pay. Однако оказалось что это не так просто. Для добавления карты приложению нужен интернет, причём экспериментально установлено что именно с IP-адресом РБ. Т.е. если беларус уедет в другую страну и попробует добавить карточку в Белкарт Pay его ждёт небольшое разочарование.
Следующим шагом необходимо подтвердить добавление карты введя код из СМС. И если белорусский IP я ещё смог обеспечить, то вот на этом шаге у меня возникли проблемы: в банке указан мой российский номер телефона и именно на него должно отправиться СМС. Но оно не приходит.
В итоге списался с поддержкой Белкарт. Ответили буквально в течении десяти минут:
При добавлении карточки в Белкарт Pay номер телефона для досылки кода подтверждения должен быть оператора-резидента РБ. То есть в системе банка должен быть указан телефон белорусского мобильного оператора.
Почему нельзя при добавлении карты это сообщить - вопрос открытый. А ещё на обратной стороне белкарт есть логотип карты МИР. Насколько я понимаю белкарт буквально клон системы мир. Теперь мой пытливый ум хочет попробовать добавить карту мир в Мир Pay с не российского IP-адреса и сравнить ощущения.