Чуть причесал mod_fcgid

С момента установки хостинг-панели ISP CP Omega не трогал настройки mod_fcgid, через который веб-сервер работал с PHP. Уже сменилось несколько серверов, уже даже избавился от хостинг-панели, а софт уехал на VPS’ку, а конфиги так и кочевали с одного места на другое. Однако на VPS’ке не так много памяти, поэтому решил оптимизировать один из самых ресурсоемких компонентов – PHP.

Читать далее Чуть причесал mod_fcgid

Несколько полезных проектов из сети

XMPP:

Мод давно известного sendxmpp, написанного на Perl:

Бегло глянул код – что-то сходу не видно привычных опций для написания в конференцию, например. Возможно, как полная замена оно не пойдет, максимум – для отдельных уведомлений. Но есть – и ладно. И, кстати, помнится мне, вроде был sendxmpp2 (не помню, в насколько законченном состоянии), позволявший не только отправлять, а еще и принимать сообщения – и не могу найти сейчас.

  • https://github.com/itspriddle/php-jabber – PHP Jabber Library. Форк того, который используется в Jabber Roster Utility – правда, уже несовместимый с ним (пробовал подменить файлы – не заработало).
  • https://github.com/WPPlugins/jabberbenachrichtigung – в ту же степь, нашлось попутно: тоже форк той же библиотеки; адаптация под нотификации о комментариях в WordPress’e.
  • https://github.com/horazont/xmpp-echo-bot – XMPP Echo-bot. Просто забавный проект, “jabber-клиент”, выполненный на базе bash+sed.
  • https://github.com/msantos/xmppipe – а вот это уже интересный современный вариант замены sendxmpp. Тут даже есть возможность постить картинки через HTTP Upload.
  • https://github.com/gjedeer/xmpp-youtube-dl-bot – тоже полезный бот для работы с youtube-dl через jabber.

RSS:

  • https://kill-the-newsletter.com – сервис email->rss. Обратных хватает – в том числе в дистрибутиве. А тут такое – еще и с “боевой” реализацией. Опробовал – работает. Можно использовать в качестве каких-нибудь временных адресов или для “получения” нежелательных рекламных рассылок. Код проекта на github. Можно скрестить при необходимости с Jabber RSS-ботом и получить такой себе Email2jabber.
  • https://github.com/xl7dev/LastRSS – парсер RSS на PHP. Пример использования.

Привел в порядок сертификаты от Letsencrypt

Небольшая заметка на тему. Давненько уже перешел на использование сертификатов от Letsencrypt. В общем-то, сразу после того, как случайно просрочил сертификат от cacert.org, после чего не смог больше залогиниться у них на сайте – сертификат для логина, понятное дело, больше не подходил, а “обычный” логин выдавал ошибку. Пошел искать альтернативу и успешно ее нашел. По какому-то мануалу создал нужные сертификаты, с тех пор так и пользуюсь – правда, с обновлением только вручную. Пробовал найденные команды для автоматического обновления, получал ошибку, в подробности не вник – так и забросил, а раз в 3 месяца при получении письма от LE просто выполнял несколько команд.

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

Читать далее Привел в порядок сертификаты от Letsencrypt

RSS для Youtube

Поднял тут себе инстанс RSS Bridge. Неплохая штука, смог отказаться от rss.app (там в бесплатном варианте только 2 ленты – теперь при необходимости можно будет использовать для чего-то более полезного). К сожалению, из полезных бриджей бридж для Facebook не работает и в целом с ним все грустно.

Но речь не об этом сейчас – просто хотел внести в заметки штатную RSS-ленту для youtube-каналов: https://www.youtube.com/feeds/videos.xml?channel_id=КАНАЛ. Например, https://www.youtube.com/feeds/videos.xml?channel_id=UCH6vXjt-BA7QHl0KnfL-7RQ для канала Simon’s Cat.

Чтобы получить ID канала – жмем “еще” в описании, там в разделе “О канале” ищем внизу “Поделиться каналом”, а в появившемся меню нажимаем “Скопировать идентификатор канала”

Баг в WP?

Только что случайно заметил — посъедались “тире” в текстах. Причем, в том числе в старых постах. При этом при правке они есть. Если используется как дефис (т.е., вплотную к “-” есть какие-то слова) — то все ок. Если поставить 2 “минуса” — то движок преобразовывает их в нормальное тире и нормально его отображает. А вот то, как я привык делать — использовать “минус” в любом случае — так больше не работает и тексты стали выглядеть странно 🙁

Надо будет попробовать перетрусить плагины, возможно, где-то что-то перехватывает нормальное отображение.

Тестовый пример на сейчас:

  • минус -> –
  • 2 минуса -> —
  • минус с обрамлением -> “-“
  • минус с буквой до -> a-
  • минус с буквой после -> -a

Quicksy – Conversations для блондинок

Нет, не розовый :)).

В общем, нашел клон Conversations для блондинок – Quicksy. Тот же автор. Аккаунт заводится на quicksy.im, JID вида “номер_телефона@quicksy.im”, есть синхронизация с адресной книгой. Пароль придумывать не надо, авторизация по коду из СМС, дальше пароль автоматом прописывается в клиенте (если что – его можно посмотреть и использовать где-то еще). Восстановление аккаунта делается так же – для номера телефона снова присылается СМС, дальше существующий аккаунт подтягивается в клиент. Пока в голову приходили разные тесты – запросил 2 СМСки. 3-ю не присылает, таймаут в 8 часов.

Только что в голову еще один тест пришел – как обстоит дело с использованием одного аккаунта с нескольких телефонов, где только в одном СИМка? Т.е., не сбросится ли пароль для первого телефона при запросе СМС на втором? Можно будет проверить. Update: проверил, да – пароль перестает быть валидным; на каждую СМС к аккаунту привязывается новый пароль и на старых устройствах он не обновляется, так что многодевайсность – только вручную.

В GP клиент, в отличие от Conversations, бесплатен, что тоже играет на руку новичкам. Для людей со своим аккаунтом на другом сервере – при желании можно внести себя в адресную книгу на quicksy.im (сопоставление “номер – JID”, чтобы у контактов автоматом подтягивался JID) – правда, за скромную разовую плату в 5 евро. И да, использование сервера quicksy.im вроде как бесплатно (в отличие от conversations.im) – как минимум, я не нашел никаких упоминаний об оплате.

Шифрование с OMEMO в Jabber-конференциях

Сегодня наконец-то нашел условия, при которых возможно шифрование в конференции – как минимум, в Conversations и, как я понимаю, в ConverseJS (видел там такую фичу). Помог README на странице Conversations’а: “OMEMO is only available in 1:1 chats and private (members-only, non-anonymous) group chats”. Вот, собственно, 2 опции в скобках и надо было проверить в настройках конференции – “Только для зарегистрированных” и “JID виден всем” – без этого даже значка шифрования не было. В Conversations, похоже, на момент теста баг с отображением опций конференции – показываются только две и в разных конференциях разные, так что преобразовать произвольную конференцию в шифрованную через него не выйдет (но можно с помощью другого клиента). Зато среди вариантов чатов есть “Создать закрытую конференцию”, которая сходу сконфигурирована так, как надо.

При старте переписки Conversations выдает список JID’ов с OMEMO-отпечатками и галочками для включения/выключения нужных участников. Интересно, кстати, что будет, если включить журналирование? Update: протестировал. В чатлогах есть только нешифрованные сообщения, на все шифрованные только добавляется запись “I sent you an OMEMO encrypted message…”. Проверил еще и message archive – шифрованные сообщения нельзя подгрузить с сервера – т.е., все хранение переписки лишь на усмотрение клиентов.

Из минусов – у конференции установлена опция “Сделать комнату постоянной” – т.е., сервер постепенно будет заполняться пустыми временными конференциями.

Snikket, Jabber и все остальные

Забрел как-то случайно (хотя нет, не случайно – интересен был короткий симпатичный домен для Jabber-сервера, плюс у меня уже есть один *.in) на xmpp.in, в ответ увидел веб-интерфейс для логина в некоем Snikket. Так как с XMPP ассоциация только одна, а про Snikket слышал первый раз в жизни – полез гуглить.

Читать далее Snikket, Jabber и все остальные

Заметки обо всем