vitus_wagner: My photo 2005 (Default)
Вот интересно, а кто-нибудь из моих френдов свой собственный сервер Firefox sync уже поднимал?

Оно вроде как под это заточено. Более того, судя по тому что по умолчанию использует sqlite, оно очень заточено под инсталляции с небольшим числом юзеров.

Upd: На Firefox Sync собственно, свет клином не сошелся. Устроит любой способ синхронизации букмарок и паролей, который обладает следющими двумя свойствами:

1. Поддерживается в десктопном firefox (для Linux) и Firefox for Android
2. Позволяет хранить эту информацию на своем собственном сервере.

Попробовал addon Xmarks-sync - все замечательно, можно на обычном WebDav-е все хранить. Но облом, в андроиде не работает.
vitus_wagner: My photo 2005 (Default)
Ну вот почему современаня молодежь так любит посоздавать в проекте пятиуровневые деревяья каталогов по три файла в каждом?

Их Гослинг что ли покусал?

Это С, а не java. И это проект с большими и толстым configure (но без auutomake, libtool-а и прочих новомодных извращений) который умеет конфигуряться в separate build tree. А вы, господа, добавляете -I $(CURDIR)/src/include к CFLAGS вместо -I$(top_srcdir)/$(subdir)/src/include и думаете, что это у всех будет работать.

У всех не будет а только у тех кто компилирует прямо в дереве исходников. А это, на минуточку, всего половина поддерживамых дистрибутивов.

(я уж молчу про извращенный набор перловых скриптов, генерирующий файлы проектов для visual studio куда эти люди, естественно и не подумали дописать ничего. Это же на перле, это ниже их достоинства. Они даже тесты на питоне пишут вместо перла).
vitus_wagner: My photo 2005 (Default)
Тут, посколькуо в Debian stable пришла openssl 1.1, из которой ГОСТ-ы из дистрибутива выкинули, [personal profile] beldmit сподвиг меня собрать gost-engine в отдельный пакет

Поэтому теперь на github в организации gost-engine завелись два новых репозитория debpkg и rpm где содержится все необходимое чтобы собрать deb- или rpm- пакеты с gost-engine для систем, где в комплекте идет openssl 1.1.0

Пробовалость пока только под Debian stretch и Fedora 26. Ну и всякие мелочи типа аккуратного заполнения файла copyright еще предстоят.

GNU Ring

Jul. 25th, 2017 11:17 am
vitus_wagner: My photo 2005 (Default)
Попробовал поставить себе GNU Ring - это такой мессенджер с поддержкой аудио-видео, у которого вообще нет никаких центральных серверов, а для поиска пользователей используется блокчейн и OpenDHT.

В отличие от ToX там предусмотрена штатная возможнсоть подключения к аккаунту нескольких устройств. У меня, правда, не получилось - андроидный Ring после импорта туда аккаунта, созданного на десктопе, стал падать.

Попробовать с кем-то пообщаться пока не получилось потому что не с кем. Не знаю никого, кто бы из знакомых имел там аккаунт.
vitus_wagner: My photo 2005 (Default)
Подкинули ссылку на проект http://www.nncpgo.org (см тажке статью на хабре.

Подкинули под соусом "это же почти чеширнет". Нет, не чеширнет, и рядом не стояло (и ровно поэтому есть надежда что окажется более жизнеспособным).

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

Аналогичным образом я в чеширнете рассматривал проблему блокирования информации на государственных серверах или файрволлах как частный случай нарушения сетевой коннективити. И предполагал переход от прямого получения информации с некоего ее "источника" на получение ее от ближайшего доступного узла у которого она откуда-то взялась. То есть там была цель - исключить понятие сеанса связи вообще. Даже если есть личные сообщения, они отличаются от публичных только тем, что никто кроме адресата не может их прочитать. А распоh-hлзаются они по всем узлам точно так же, как и новости, пока не будут получены адресатом.

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

Автор NNCP так далеко не заходит. Он предполагает сохранение парадигмы "передачи файлов" и "сообщений", требуюущих установления чего-то типа канала. Только у него этот канал может быть не реалтаймовым (флоппинетом).

Предполагается что отправитель и адресат знают друг друга на уровне "прописали себе в файлы конфигурации ключи друг друга".

При этом про UUCP автор знает (в статье на хабре упоминал), но похоже не слишком интересовался тем как это работало, что такое UUCP maps и что умела uucp кроме доставки почты и ньюсов. То есть что-то я не уверен, что в том виде как оно написано, оно масштабируется за пределы небольшой тусовки друзей.

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

Зато это у него уже работает как транспорт для электронной почты.

Но вообще, похоже сама идея "отправить файл" порочна. Она не даст возможности построить полноценную сеть.
Если уходить от чеширнетовской парадигмы "любая информация должна быть скопирована всем, кому не жалко ее хранить", то нужна система вида publish-request. Вроде фидошных FREQ. В принципе, предлагаемая автором идея хранения зеркал сайтов в виде архивов сюда вполне ложится.
vitus_wagner: My photo 2005 (Default)
После апгрейда debian-а почему-то вдруг всякие разные програмы вплоть до fossil стали при попытке открыть из них URL запускать ублюдство от гугля (плевать что в данном случае опенсурсное - все равно ублюдское и с проксями работать не умеет по-человечески), вместо нормального файрфокса. Хотя у меня вроде альтернатива x-www-browser была выставлена правильно.

Расследование показало, что большая часть современных программ, когда им надо открыть URL-ку запускают не Debian-specific x-www-browser, а "универсальный" и "стандартный" xdg-open. Который настройку альтернатив игнорирует и пользуется своей базой настроек.

Как выяснилось, искать нужную настройку нужно не в xdg-settings, а в xdg-mime.
Если у этой программы спросить а кто у нас умолчательный обработчик mime-типа
x-scheme-handler/http, то тут-то и выяснится, откуда берется chromium. И в этом месте как раз и можно поменять то что вызывается по xdg-open. Кстати, обработчики для http и https нужно менять отдельно. А то http-урл-ки будут открываться правильно, а https в том, что в голову freedesktop.org взбрело.

Заодно с помощью xdg-mime можно оторвать привычку файлменеджеров открывать постскрипт гимпом, а не evince.

Насколько я понимаю, работа через командно-строчную утилиту xdg-mime - универсальна и десктопно-независима (хотя xdg-open делает попытки выбирать браузер в зависимости от десктопа).

Кроме того xdg-mime имеет полезную функцию query filetype. Она позволяет узнать, какому именно типу mime нужно поменять дефлотный обработчик, если у вас типичным не тем открывается конкретный файл. К сожалению, на url-ку это не срабатывает.

P.S. А вообще в современных линуксах сильно не хватает профайла all users. Поскольку изменения, связанные с эволюцией софта приходится вносить куда чаще, чем заводятся новые пользователи, и вносить именно пользовательскую конфигурацию. Все же локальное "all users" данной машины и /usr/share, находящееся под управлением пакетного менеджера, это сильно разные вещи. Надо покопаться, может быть xdg умеет что-то из /usr/local читать.
vitus_wagner: My photo 2005 (Default)
Тут уже несколько дней назад сделал на ноутбуке dist-upgrade на stretch.

Это был самый беспроблемный dist-upgrade со времен пожалуй что, hamm ( а раньше я просто Debian-ом не пользовался).

То есть даже не пришлось перезапускать apt-get dist-upgrade несколько раз. Все с одного раза отконфигурировалось.

Правда, все хитрое и сложное у меня версии не изменило - ядро из бэкпортов, либреофис из бэкпортов и т.д.
vitus_wagner: My photo 2005 (Default)
А systemd делает, и поэтому его можно удаленно уронить.
vitus_wagner: My photo 2005 (Default)
Тут вот [personal profile] nataraj рассказывает о своем опыте приобретения коммерческих сертификатов для https сайтов.

Все потому что источников бесплатных сертификатов кроме letsencrypt.org не осталось, а letsencrypt он не доверяет. Я тоже этому сайту не доверяю, но, увы в наше время играет роль не то, кому доверяешь ты, а то, кому доверяют производители браузеров.

Поэтому я использую letsencrypt. В качестве клиента я использую acme-tiny, которую обвязал своими скриптами с тем, чтобы процесс был полностью автоматизирован и сертификаты перевыпускались автоматически.

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

Второй - от специального непривилегированного юзера и выполняет собственно взаимодействие с letsencrypt.
Можно было бы в контейнер какой засунутЬ, но я счел это лишним. acme-tiny я доверяю, потому что я ее читал. (там всего 200 строк на питоне).

Третий - опять от рута, его задача ввести в эксплуатацию выпущенные сертификаты, т.е. перезаписать приватные ключи и сертификаты в тех файлах, на которые указывает конфигурация различных сервисов и перезапустить эти сервисы.

Скрипты можно посмотреть здесь.
vitus_wagner: My photo 2005 (Default)
Что-то я не нашел очевидного (казалось бы) решения по защите хранящегося на (хостинговом, доступном всяким нехорошим людям) сервере почтового архива, которое бы работало так:

1. В распоряжении MDA есть открытый ключ gpg/сертификат X,509 для каждого пользователя.
2. Любое письмо, прилетающее по SMTP (в наше время в норме защищенное TLS по дороге) шифруется этим ключом конечного получателя перед тем, как сложиться в его maildir (но после того как оно прошло через фильтры sieve). Ну да, сеансовый ключ придется каждый раз генерировать. Ну и что?
3. В распоряжении IMAP-сервера есть зашифрованный приватный ключ. Когда пользователь логинится на IMAP-сервер, его аутентификация производится путем расшифровки этого ключа. После этого можно любую хранящуюся почту расшифровывать и пользователю выдавать.


Причем шифровать письма совершенно спокойно можно вместе с заголовками.
То есть и метаинформацию without user consent хрен достанешь.

Модификации требуемые для IMAP-сервера достаточно тривиальные.


Но почему-то никто так не сделал. Во всяком случае я такого не нашел.

Вместо этого предлагаются решения на базе двух мейлбоксов секьюрного и несекьюрного. С тем чтобы складывать в секьюрный мейлбокс можно было тоже только при наличии активной сессии.

Видиом, идея full-disk encryption (каковая есть зло) людям глаза застит. В то время как никто не мешает maildir шифровать пофайлово.

Правда, немножко непонятно как быть с тренировкой байесовского антиспама в такой ситуации. Ну ладно, допустим ham мы будем в sa-learn скармливать непосредственно в ходе сессии, когда мы его можем расширфровать (а спам и шифровать не обязательно). Но не явится ли байесовская база, которая должна быть доступна на чтение MDA каналом утечки информации?
vitus_wagner: My photo 2005 (Default)
https://devuan.org/

Проект Devuan выпустил первый официальный стабильный релиз systemd-free дистрибутива.
vitus_wagner: My photo 2005 (Default)
https://betanews.com/2017/05/04/google-open-source-raspberry-pi-diy-voice-kit/

Гугль начал торговать набором на базе Raspberry PI для встраивания голосового управления во всякие самоделки. Правда, хотя в новостях на слешдоте и утверждается что "it can run completely on-device" я более детальных ссылок как это сделать без обращения к гугловским API не нашел.

Ну в общем-то хрен с ним с гуглом. В любом случае использованипе отдельного интерфейса из микрофона и динамика и отдельного процессора на каждом устройстве, куда прогрессивнее чем управление устройством со смартфона через внешний сервер.
vitus_wagner: My photo 2005 (Default)
Вот тут: https://github.com/citp/ad-blocking
лежат proof of concept расширения к браузерам, демонстрирующие что можно написать абсолютно недетектируемый скриптами блокировщик рекламы.

А также еще и расширение (только для chrome) которое распознает sponsored content в фейсбуке.
vitus_wagner: My photo 2005 (Default)
Задумался над идеей назначать клиентам OpenVPN ip-адреса по значению поля subjectAltName в их сертификатах.
RFC 5280 предусматривает тип поля IP в SubjectAltName, и OpenSSL его вполне поддерживает.

Идея хороша тем, что при подключении нового клиента не нужно вообще ничего делать на сервере. Удостоверяющий центр, выписывая клиенту сертификат (что все равно надо сделать) выделяет ему IP и DNS-имя и прописывает иъ в этот сертификат. А задача сервера - просто согласиться с тем что подписано удостоверяющим центром.

Правда, похоже просто так не получится. Что-то я не вижу там, чтобы client-connect скрипто получил доступ ко всему сертификату или хотя бы к subjectAltName.

Upd Благодаря [personal profile] dzz родилось более простое решение:
Сейчас у меня в скрипте client-connect соответствие CN сертификата клиента и выданного ему IP записывается в динамическую зону DNS. Чтобы на того клиента логиниться по имени.

Так вот - сначала надо в DNS посмотреть, и если там это CN есть, то сказать openvpn-у "этому дай вот этот адрес". А вот уж если адреса такого в DNS нет - назначать первый свободный.
Это, конечно, не гарантирует от того что адрес будет переисиользован пока клиент будет в оффлайне. но все же.
vitus_wagner: My photo 2005 (Default)
Почему-то злые дуровцы в очередном релизе Telegram Desktop поменяли раскладку файлов, в которые оно пишет.

Раньше у меня телеграм пускался

firejail --profile /etc/firejail/telegram.profile --private-home=.TelegramDesktop  /usr/local/lib/Telgram/Telegram


и все работало. Потому что не дам я некту, своих файлов из ${HOME}, хоть он дерись.

После апгрейда - работать перестало - при каждом запуске заново просит ввести код из SMS-ки.

Создал каталог .telegram-home, передвинул ~/.TelgramDesktop туда, запустил

firejail --profile /etc/firejail/telegram.profile --private-=.telegram-home  /usr/local/lib/Telgram/Telegram


Заработало. Но выяснилось что в .telegram-home оно создало не только .TelgramDesktop

Оно теперь еще .local/share/TelegramDesktop создает, и, похоже, в нем все и держит.

Но вообще, похоже, надо сильнее эту гадость от системы изолировать. Примерно как я skype изолирую.
vitus_wagner: My photo 2005 (Default)
https://www.theregister.co.uk/2017/04/06/canonical_cuts_jobs_with_unity_bullet/

https://www.theregister.co.uk/2017/04/05/ubuntu_euthanizes_unity/

Unity отменили, Ubuntu phone отменили, сокращают от 30 до 60 процентов сотрудников, причем в первую очередь режут отделы разработки продукты, инвестиции в них медленнее окупаются, а сохраняют поддержку и сейлзов - то что приносит в компанию быстрые деньги.

Интересно, дистрибутивы-то они по прежнему раз в полгода клепать будут или как?

А то убунта замечательно держала нашу релизную группу в тонусе - каждые полгода нужно по всей цепочке от pgbuildfarm до выходного тестирования заводить новые виртуалки, править spec-и, но самое главное - не забывать ВЫКИДЫВАТЬ из всего этого хозяйства снятые с поддержки релизы.

И сисадмины у нас в компании очень Trusty Tahr любят. Что, теперь их всех на Stretch переучивать?

В общем, мучивший всех вопрос "Как будет называть убунта свои дистрибутивы, когда латинский алфавит кончится (а кончится он уже с тем релизом, который в этом месяце)" похоже, разрешится несколько неожиданным образом.

Тэг rip пока не ставлю, может еще побарахтается.
vitus_wagner: My photo 2005 (Default)
http://esr.ibiblio.org/?p=7421

Раймонд умный пост написал по поводу концепций, которые лежат под Unix way. Я эту мысль про семантическую локальность три дня думать буду.

Oh, yes!

Mar. 11th, 2017 11:17 pm
vitus_wagner: My photo 2005 (Default)
Том Лейн закоммитил мой патч!

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

Вот в PL/Python был контекст-менеджер, позволявший выполнять кусок кода в субтранзацкции, а в PL/Tcl почему-то нет. Хотя создавать собственные управляющие конструкции в Tcl гораздо проще, чем контекст-менеджеры в python (особенно если речь идет о Postgres. где python поддерживатеся начиная с 2.3 и до 3.6)

TTS

Mar. 8th, 2017 06:25 pm
vitus_wagner: My photo 2005 (Default)
Попробовал тут tts на десктопе. Тупо и в лоб

apt-get install festival festvox-ru
festival --tts somefile.txt

Вроде работает не хуже, чем это делает андродиный svox.
Правда, обнаружилось что оно ломется на m-тире и кавычках-ёлочках. Пришлось немножко попатчить файл msu_ru_nsh_lexicon.scm из пакета festvox-ru.

В итоге, правда, маркдауновские файлы все равно приходится проигрывать посредством

pandoc -t plain -o - filename.mkd|festival --tts

А то на звездочках, использованных для выделения курсивом, оно ломается.

Теперь осталось придумать какую-нибудь обертку вокруг FB2ToTxt.xslt чтоб можно было вперед-назад абзацы проматывать.
vitus_wagner: My photo 2005 (Default)
https://www.technologyreview.com/s/603637/how-a-college-kid-made-his-honda-civic-self-driving-for-700/

Студент сделал себе автопилот для машины из смартфона и свободного ПО.

Оно правда только для поездок по трассе (но это самое нудное и клонящее в сон). И HCL пока не впечатляет.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

September 2017

S M T W T F S
     1 2
3 4 5 6 789
1011 121314 1516
171819 20 2122 23
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 04:56 pm
Powered by Dreamwidth Studios