LINUX.ORG.RU

Сообщения AngryElf

 

Множестенные домены-альясы на главный домен - как проще?

Форум — Admin

Добрый день.

Есть задача - поддерживать N (N - до 10) доменов.

Есть основной домен, например, example.com

Есть сайт, висящий на нём. Например, http://www.example.com редиректит на example.com, т.е. example.com - основной домен.

Кроме этого домена есть еще несколько, типа example2.com (с http://www.example2.com), example3.com (тоже с www), exampleN.com (может с www, а может и без). Проблема в том, что доменов много и список их постепенно увеличивается. Отказаться от них нельзя, потому что есть миллионы ссылок, ведущих на них.

Все зоны имеют свои A-записи, ведущие на один хост, например, HOST.

Суть в том, что сервер, где держат example.com, иногда переезжает. И, соответственно, все А-записи всех доменов приходится менять.

В начале была мысль, что CNAME всех спасёт, но оказалось, что CNAME не может быть для основного домена, только для поддоменов. Т.е. я могу прописать

www.example2.com CNAME example.com

Но не могу

example2.com CNAME example.com

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

 

AngryElf
()

Отправка процессам разных сигналов, с веб-интерфейсом

Форум — Admin

Допустим, имеется система, где запущено N сервисов. Часть запущена через инит-скрипты (не systemd, скорее openrc). Часть - из-под supervisord'а или аналогов (runit).

Есть потребность иметь на ними некий внешний контроль.

Чаще всего, просто reload, но иногда бывает и что-то более хитрое. Например, [g]unicorn управляется через сигналы - добавляя/убавляя воркеры. Понятно, что подавляющее большинство умеет по сигналу переоткрывать логи, релоадить конфигурацию.

Вот хотелось бы иметь к этому внешний ручной и автоматический контроль.

Впринципе, всё что мне надо - специальная кнопка внутри админки supervisord'а или monit. Сейчас же там, к сожалению, только start/stop, никаких больше нету. Можно, конечно, настроить тот же monit, что б по каким-то внешним событиям (типа таймстемпов где-то) творил то что мне нужно, но это совсем уж кривой костыль.

Или может я не туда смотрю?

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

 , ,

AngryElf
()

Правила хорошего тона при настройке ipv6

Форум — Admin

Есть где-то сабжевая подборка?

Применительно к SOHO, скажем так, т.е. мелкий офис или домашняя сеть, то есть до 10-15 машин в доверенной сети.

В v4-сетях всё было как-то проще - брали серый диапазон /24, раздавали с помощью dhcp и горя не знали. Все хосты знали свой шлюз по-умолчанию, могли достучаться друг до друга напрямую, просто и понятно.

В v6-же всё как-то странно, скажем так.

Пример конфига dnsmasq:

port=53
domain-needed
interface=br0 (eth0 + wlan0)
dhcp-range=192.168.2.13, 192.168.2.200, 10h
dhcp-range=2001:xxxx:xxxx:xxxx::dead:10, 2001:xxxx:xxxx:xxxx::dead:fff0, 64
enable-ra
dhcp-host=id:00:01:00:01:xx:xx:xx:xx:xx:6c:8f:37:d6:1e, laptop, [2001:xxxx:xxxx:xxxx::dead:beef]
dhcp-authoritative

В итоге с v4 всё как ожидалось, а вот v6 приходит таким (на laptop):

# ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:xxxx:xxxx:xxxx::dead:beef/128 scope global dynamic 
       valid_lft 2663sec preferred_lft 2663sec
    inet6 fe80::xxxx:xxxx:xxxx:d61e/64 scope link 
       valid_lft forever preferred_lft forever
# ip -6 r
2001:xxxx:xxxx:xxxx::dead:beef dev eth0  proto kernel  metric 256  expires 2622sec
fe80::/64 dev eth0  proto kernel  metric 256 
ff00::/8 dev eth0  metric 256 

На роутере:

# ip -6 addr show dev br0
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
    inet6 2001:xxxx:xxxx:xxxx::2/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::xxxx:xxxx:xxxx:35bc/64 scope link 
       valid_lft forever preferred_lft forever

Почему выдаёт /128 при наличии /64? Почему не роутить через 2001:xxxx:xxxx:xxxx::2? Почему, в конце концов, дефолтный роут отваливается раз в N часов (пока пытаюсь отловить ситуацию, но, с виду, RA не отправляется почему-то постоянно, а только по запросу с клиента (dhcpcd -n eth0)?

Вроде никаких суровых политик ipv6 не включал (на роутере - дефолтный распбиан), а оно так злобно со мной.

 ,

AngryElf
()

Мониторинг части окна с настраиваемым алертом

Форум — Desktop

Хочется странного (tm).

Часто нужно мониторить изменения в окне. Причём, нужны тривиальные изменения.

Например, запустил скрипт в консольке, он работает долго, но мне надо знать, когда он завершится, что б не лазить туда постоянно, заниматься другими делами.

Понятно, что такие задачи можно запускать через враппер, который потом меня проинформирует, но вопрос касается не только shell-команд, а хотелось бы иметь в любой утилите такую опцию (например, поменялся вывод watch ls, изменился ip-адрес в первой строке iftop и т.п.), т.е. возможность мониторинга должна быть просто на уровне эмулятора терминала.

Примерный юскейс - выделяю блок в терминале, выбираю в меню «алертить при смене цвета» или «алертить при смене текстового содержимого».

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

Важно, что б можно было мониторить и свёрнутые окна. Я так понимаю, что иксы не отрисовывают свёрнутые и перекрытые части окон, так что возможность, видимо, будет работать только как опция эмулятора терминала, а не на уровне window-manager'а, но лично мне хватит и так :)

Есть что-то такое в природе?

 ,

AngryElf
()

Датчик наличия напряжения в слаботочной цепи

Форум — Linux-hardware

Добрый день.

Не совсем линукс, но про опенсурс.

Делаю некую поделку на Raspberry Pi для автомобиля. Конкретно сейчас занимаюсь блоком питания.

Блок питания будет следущий (на пальцах):

Вход 12V от аккумулятора (через замок зажигания), стабилизатор (трехногий такой) 12 V.

Потом блок из трёх батарей 18650 последовательно.

Потом ещё один стабизатор на 5V, оттуда выход на RPI.

Хочу, для красоты, сделать детекцию включенного зажигания. Цель - выключать компьютер не по ключу зажигания, а по внешней команде вида «питания нет уже Н минут, пора бы выключаться».

Отсюда вопрос - как мне его сделать?

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

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

Реле использовать не хочется. Громоздкое, да и щёлкать будет.

Можно как-то остаться на транзисторе? Что я упустил?

Набросал схему, для наглядности: http://elfov.net/tmp/rpi-power.png

Теперь про opensource.

Ко всему этому я хочу нарисовать и напечатать корпус на 3d-принтере. Корпус будет сразу под RPI с периферией (с опциональными открытыми-закрытыми портами на usb/hdmi), и держалкой для элементов 18650. Т.е. одна такая универсальная коробочка.

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

Советы приветствуются, критика и направление в бан, в сад, в матчасть - не очень. То что я делаю - уже работает, хочется просто финтифлюшек.

 ,

AngryElf
()

Открытая точка доступа с домашней страницей как сайтом по-умолчанию

Форум — Admin

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

Вопрос - как это принято делать? Есть ли хотя б какие-то RFC на тему? Может быть можно передавать в каком-то параметре dhcp адрес, на который браузер пользователя направлялся бы? Пусть не всеми платформами поддерживающийся, но всё же.

Я знаю, что для ios/osx, если подменить DNS-запросы к apple.com (если не ошибаюсь), то клиент считает полученный адрес «страницей логина», которая открывается в специальном окне браузера. Подразумевается, что юзер там чё-то накликает и DNS начнёт возвращать нормальные записи, после чего «страница логина» закрывается и можно работать обычным браузером.

Что касается Андроидов - тут я ничего не знаю, как принято и как работает.

Как обычно делаются такие вещи? Неужели каждый раз городят самописанные костыли для squid/iptables/dns?

 , , web splash, ,

AngryElf
()

Снимки диска как бэкапы - панацея?

Форум — Admin

Хотел обсудить с уважаемым сообществом (неуважаемых просьба пройти в толксы) тему бэкапов с помощью снимков на уровне логических дисков (lvm snapshots) или их аналог в zfs (не изучал, знаю только примерно).

Суть в чём. Обычно, снэпшоты позиционируются как универсальное решение для любого (ну почти) случая. Типа, заморозил, скопировал дамп неспешно, отморозил. Но ведь в большинстве случаев нельзя уверенно сказать, что в момент заморозки данные на диске актуальные. При чём, для каждого сервиса способ сброса и приведения своих файлов данных в непротиворечивое целостное состояние - различный. Для mysql - flush & lock, для mcedit - save & sync и так далее. Кому-то достаточно sigusrN, а кто-то в принципе не умеет морозить файлы данных.

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

Отсюда вопрос. Я прав? Снэпшоты не панацея и надо в любом случае делать всё аккуратно и согласованно с сервисами?

Я просто всю жизнь бэкапился rsync'ом. Обычно этого хватало. Всякие mysql старался бэкапить стандартными средствами (условно, mysqldump), когда это позволяли объемы баз данных. В общем-то, если я прав в предыдущих абзацах, то особой разницы с несогласованными снэпшотами нету. rsync даже выгоднее, потому что сильно экономит на передаче данных (бинарные дельты и вообще, файлы меньше дисков).

P.S. Речь идёт только о снимках дисков. Снимки виртуальных машин (единое согласование состояние процессора, памяти и дисков заведомо можно записать, это понятно) я не беру во внимание.

 ,

AngryElf
()

Автоконфигурация ipv6 в сети с суброутером

Форум — Admin

Разбираюсь с ipv6, есть затык.

Вводная: куплен блок /48. Имеется сеть с роутером на базе linux. В сети имеется подсеть со своим роутером на базе apple time capsule (аналог airport express и аналогичных).

По сети адреса раздаются с помощью radvd.

Подсеть висит на отдельном вилане (кроме того роутера там еще несколько хостов и субсетей есть). На этом вилане запущен radvd (для RA) и dhcpdv6 (для отдачи нужных блоков определённым хостам и выдачи субпрефиксов).

Конфиги:

/etc/radvd.conf:

interface eth0.53
{
	AdvSendAdvert on;
	AdvManagedFlag on;
	AdvOtherConfigFlag on;

	## (IPv6 subnet prefix we've been assigned by our PoP)
	prefix 2001:XXX:1738:beb8::/61 {};
	RDNSS 2001:XXX:1738:7::1 {};
};

/etc/dhcp/dhcpd6.vlan53.conf:

# тут ничего интересного, дефолтные значения лимитов, доменные суффиксы, логи
include «/etc/dhcp/shared.conf»;

subnet6 2001:XXX:1738:beb8::/61 {
    
    # for clients
    range6 2001:XXX:1738:beb8:0000:0000:0000:0005 2001:XXX:1738:beb8:0000:0000:0000:1000;
    prefix6 2001:XXX:1738:bebc:: 2001:XXX:1738:bebf:: /64;
    option dhcp6.name-servers 2001:XXX:1738:7::1;
}

Т.е. на vlan53 я обычным клиентам отдаю сеть /61, а роутерам - 4 сети /64 в том же диапазоне.

Дальше получается следущее. Суброутер (time capsule) настроена на работу с ipv6 в автоматическом режиме. Он получает себе ipv6 адрес 2001:XXX:1738:beb8::1000.

Дальше, суброутер по своей сети раздаёт адреса ipv6, но не в диапазоне beb8, а в диапазоне bebf, например, 2001:XXX:1738:bebf:a004:1369:XXXX:XXXX

Соответственно, по логике обычных ip-сетей, эти адреса не роутабельны (главный роутер сети не знает, что :bebf: выдаются суброутером и пытается их искать просто на vlan53).

Если добавить запись ip route add 2001:XXX:1738:bebf::/64 via 2001:XXX:1738:beb8::1000, то хосты за роутером начинают нормально работать.

Отсюда вопрос - должен ли я руками дописывать роутинг на главном роутере сети, как если бы делал для ipv4?

Или в случае ipv6 должна была случится какая-то магия? Например, суброутер должен был заявить, что он теперь роутит диапазон :bebf: и главный роутер должен был с этим согласится - например, какой-то ключ в sysctl включить? О том, что магия имеет возможность быть мне говорит загадочное поле «router» в выхлопе

# ip -6 neigh show dev eth0.53
2001:XXX:1738:beb8::1000 lladdr 88:1f:a1:XX:XX:74 router REACHABLE

Для обычных хостов поля «router» в выхлопе нету. Отсюда и сомнения.

 ,

AngryElf
()

Входящая SMS на телефон одновременно с входящим звонком - звонок не доходит

Форум — Linux-hardware

Не совсем связано с линуксом, но может кто-то в курсе и подскажет.

Есть gsm-шлюзы (от 2n, если что), с которых идут звонки на обычные телефоны (сотовые).

Одновременно со звонком отправляется смс с информацией о звонке. И в почти 100% случаев смс доходит, а звонок нет «абонент вне зоны доступа, перезвоните позже» (сообщение сотового оператора, а не gsm-шлюза или PBX). Разные телефонные аппараты, операторы, gsm-шлюзы (но все от 2n) и даже страны, но одинаковые симптомы.

Причем, смс уходит левыми каналами, не через gsm-шлюзы, т.е. вариант «шлюз занят отправкой смс» не проканывает.

Кто-то знает, есть ли подобный косяк на уровне протокола gsm? Типа, телефон занят приемом SMS и отбрасывает звонок как будто он вне зоны доступа.

Потому что все другие варианты решения проблемы уже испробованы и безрезультатно.

 ,

AngryElf
()

RabbitMQ - отправка сообщений в exhange/queue без consumer'ов

Форум — Development

Ковыряюсь с rabbitmq.

Согласно заявленному в документации (и наблюдаемому), если сообщение отправляется в exchange/queue, у которого нету consumer'ов - оно отбрасывается (уходит в /dev/null).

Допустим, для штатной ситуации (аккуратно запустил всех consumer'ов, потом начал в них че-то писать) всё хорошо.

А что делать в нештатной ситуации.

Например, сообщения генерируются юзерами, кликающими на странички.

Веб-сервер поднимается автоматически при старте системы или при падении.

А consumer'ы, например, поднимаются нетривиально. Например, запускаются банально позже апача. Или запустились, но умерли и не поднимаются - мало ли. И пока они поднимутся - пройдет N времени и M сообщений будет отправлено в никуда.

С этим можно как-то бороться?

dead-letter не помогает, как я понимаю, потому что эта логика срабатывает только если сообщение не было обработано за N времени. Если же consumer'а тупо не было запущено - все сообщения протухнут мгновенно, без ожидания x-message-ttl.

Даже, фактически, если consumer'ы упадут по дороге (например, надо будет перезапустить), rabbitmq тут же начнет отбрасывать все входящие сообщения, не пытаясь и секунды дождаться consumer'ов.

Соответственно вопрос - как нужно себя вести с кроликом, что б не терять сообщения ни при каких условиях?

Вообще, не очень понимаю, зачем нужны disc-nodes и прочие пляски для хранения сообщений, если, например, при рестарте последней ноды, до появления первого consumer'а кролик сбросит все сообщения.

Или всё-таки я что-то глобально не понимаю?

AngryElf
()

Self-hosted сервис для хранения фотографий

Форум — Talks

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

Всякие фликры, пикасы и прочие имежхостинги - вариант плохой. Хоть и фичасто, но ограничения обычно жесткие, а за платные аккаунты стоят реально много и ни за что.

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

Но тут проблема - какой софт поставить на этот сервер.

Посему ищется софт со следущими фичами (можно выкидывать некоторые, всё-равно не верю, что найдется софт моей мечты):

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

2. Легий импорт/экспорт гигабайтов фотографий. Т.е. я втыкаю в комп флешку из камеры и хочу минимумом телодвижений получить её на сервере, с проверкой на дубликаты, с генерацией тумбнейлов и нормальных размеров, с сохранением оригинальной фотографии, с сохранением оригинального jpg при наличии того же в raw.

3. Совместимость с линуксом и макосью. Это может быть плагин/стандартный протокол или полноценная софтина - не важно. Или плагин к файловой системе (см. дропбокс).

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

5. Шаринг - простой и незамутнённый. Есть публичные фотки, есть публичные альбомы, есть то же - но приватное. Есть приватное,но с паролем, приватное - со спецссылкой (фактически, то же, что и предыдущее), или несколько паролей и проверкой - какими когда откуда воспользовались. Для большинства действий хотелось бы однокликовую доступность.

6. Не php

7. Удобство в администрировании с точки зрения сервера - логичное и понятное хранилище, удобство бэкапов/восстановления

8. Удобство в администрировании с точки зрения юзера - экспорт одной/альбома/всех фотографий, например, в виде архива, например, с html-кой-индексом.

9. Мультиюзерность и межюзерное взаимодействие по модели «семья». Сейчас есть коллекция у меня, коллекция у жены, коллекция у брата, у родителей. Никаких нормальных инструментов для обмена фотками нету. «ты меня там сфоткал - пришли фотографию» - и начинается обмен письмами, линками, хз чем, а равку вообще не получишь - на фотохостинги их не заливают - слишком дорого. Хочется тыкнуть в альбом и нажать «дать доступ брату». Или сделать общий альбом с женой - заливаем фотки каждый со своего девайса - видим все в одном месте. Т.е. один альбом, а не копия у каждого своя. Но другие альбомы разные (не приватные, а просто не мешают друг другу. У нее куклы, у меня коты, например)

Нумерация не соответствует приоритету. В каком порядке вспоминал, в таком и записывал.

AngryElf
()

Распределённый логгер

Форум — Admin

Ищу распределённую систему сбора логов.

Что от неё надо:

1. Возможность интеграции с различным самописанным софтом на разных языках (php/python/shell).

2. Кастомный (или достаточно гибкий) формат содержимого. Т.е. кроме стандартных hostname, date, level, message, я хочу, например, имя процесса, pid, группа, тэг, еще какой-нить признак.

3. Сбор логов с кучи машин (десятки) на одну-две центральные.

4. Возможность в реальном времени смотреть на логи

5. Возможность фильтровать логи по различным тэгам (домены, тэги и прочие специальные признаки, описанные выше).

6. Фильтр по регекспам по телу сообщения

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

В свое время на том же ЛОРе, вроде бы, проскакивала новость о подобной системе, вроде бы даже на erlang'е, но что-то никак не могу найти.

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

AngryElf
()

mysql slave - лагает при нулевой нагрузке на проц/диск/память

Форум — Admin

Поднимаю репликацию в mysql.

Заметил странную ситуацию, когда репликация начинает отставать (иногда на часы) от мастера. Сейчас вот прямо сижу и мониторю.

Нагрузка на slave нулевая, mysqld в top почти не видно. Пишет на диск 200-300кб/с. По сети гонит примерно столько же.

Но репликация конкретно отстает.

Мониторю репликацию с помощью своего скрипта, раз в секунду пишущего в специальную таблицу timestamp.

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

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

Куда можно покопать?

AngryElf
()

Raid1 - чтение идёт только с одного диска

Форум — Admin

Обратил внимание, что при чтении с raid1-диска, реальное чтение идёт только с одного из устройств. Причём устройства меняются, где-то раз в минуту, т.е. с минуту чтение идёт с sda, потом - sdb, потом меняются и по-новой.

Как-то странно. Логично же, что при raid1, система может читать данные с двух дисков одновременно, потому что на обоих полная копия данных, таким образом, скорость чтения должна была удвоится, а в реальности этого не происходит.

Это баг или фича?

Linux-3.2, mdadm 3.1.4.

# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] 
md127 : active raid1 sdb2[1] sda2[0]
      1454644427 blocks super 1.2 [2/2] [UU]

Вывод iostat в разные моменты времени:

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             298,00     75264,00        11,00      75264         11
sdb               3,00         0,00        10,00          0         10
md1               0,00         0,00         0,00          0          0
md127          1177,00     75264,00         8,00      75264          8
dm-0              0,00         0,00         0,00          0          0
dm-1              0,00         0,00         0,00          0          0
dm-2              0,00         0,00         0,00          0          0
dm-3              0,00         0,00         0,00          0          0
dm-4           1177,00     75264,00         8,00      75264          8
dm-6              0,00         0,00         0,00          0          0
dm-5              0,00         0,00         0,00          0          0



Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2,00         0,00         9,00          0          9
sdb             399,00    101632,00         9,00     101632          9
md1               0,00         0,00         0,00          0          0
md127          1589,00    101632,00         8,00     101632          8
dm-0              0,00         0,00         0,00          0          0
dm-1              0,00         0,00         0,00          0          0
dm-2              0,00         0,00         0,00          0          0
dm-3              0,00         0,00         0,00          0          0
dm-4           1588,00    101632,00         0,00     101632          0
dm-6              1,00         0,00         8,00          0          8
dm-5              0,00         0,00         0,00          0          0



AngryElf
()

4.8.0 валится при первом запуске, если есть _файл_ ~/.config

Форум — General

Типа лежал у меня в ~ конфиг ядра (.config), а каталога .config не было вообще. При старте mc просто сегфолтнулся при попытке создать каталог ~/.config/mc.


Повторяемость - всегда.
Версия - 4.8.0
Система - gentoo

AngryElf
()

python mp3/ogg stream encoding

Форум — Development

Нужна библиотека (враппер над библиотекой) для кодирования сырого потока в mp3/ogg (хотя бы во что-нибудь).

Все что попадается - умеет максимум кодировать в файл. Т.е. stringio ему не скормить - требует именно полноценный файловый объект с открытым дескриптором. А мне мало того что не в файл надо, так еще и поток, т.е. временными файлами я не обойдусь - мне 24/7 надо.

Раньше был хороший проект - pymedia, но успешно загнулся.

Гугль безуспешен.

AngryElf
()

Полезные одно/двухбуквенные названия альясов/скриптов

Форум — Talks

Так как я с консолью на «ты, бля, какого хрена», то естественно, что за годы использования линукса накопилась куча удобняшек. Особенно интересны короткие, одно-двухбуквенные сокращения, т.е. те, которые используются наиболее часто (или были созданы один раз для какой-то конкретной задачи, а потом были забыты в дебрях ~/.bashrc). В общем, делимся:

$ alias|egrep 'alias .{1,2}='|sort
alias bc='bc -l'
alias ..='cd ..' # офигенно удобно
alias cp='cp -i' # безопасность!
alias df='pydf' # красота!
alias d='ls --color'
alias du='du -h'
alias g='gqview'
alias l='less'
alias ll='ls --color -l'
alias ls='ls --color=auto'
alias mf='mplayer -input file=~/.mplayer/fifo'
alias mi='mplayer -vf lavcdeint' # смотреть интерлейснутые фильмы
alias mm='mplayer -idx' # смотреть битые файлы
alias m='mplayer'
alias ms='mplayer -ao pulse:yaht' # выводить звук на колонки на домашнем сервере
alias mv='mv -i'
alias p='play -c2 -r44100 -sw' # когда-то надо было лазить по толпе звуковых raw-файлов
alias rm='rm -i'
alias tf='tail -f' # это вообще юзаю стопицот раз в день
alias ь='m' # раскладки лень переключать
alias ьс='mc'
alias ьь='mm'
AngryElf
()

Посоветуйте вендора железа (ухожу с cisco/linksys)

Форум — Admin

Наша небольшая контора с несколькими филиалами юзает, в основном, свичи cisco (в бытность linksys). Всякие на 24-48 портов, с POE и без, с возможностью стэка и без. Свичи только второго уровня. Вся интеллектуальная часть - на обычных серверах под линуксом (доморощенный говноадмин, да).

Чем надоели линксисы:

1. Глючный, угребищный веб-интерфейс. Каких-то централизованных тулз для настроек не юзаю. То не дает залогинится (сразу после логина выбрасывает по таймауту), то страницы открывает по 20-30 минут (!). Да и сам подход дебильный - вместо простых страниц массово юзаются тяжелые скрипты и весь интерфейс вместо упрощения наворочен ненужными контролами и меню. Я уж молчу, что не в каждом браузере оно вообще работает.

2. Затейливые глюки самого железа (хоть и не часто, да). Свежий пример - на slm2048 заглючили неиспользуемые порты. Т.е. те что были - работали нрмально, а все новые никаких признаков жизни не показывали. При этом индикаторы на них горели, а в админке - нет. После рестарта железки отвалились вообще все порты. Собственно, это и было последней каплей.

Что нужно:

1. Компания, производящая свичи второго уровня, с (и без) POE, VLAN, на 8-24-48 портов, с возможностью объединения в стэк (не принципиально).

2. С надежным, простым веб-интерфейсом для управления, работающим из любого браузера, включая links. Централизованная программа управления не катит, хлебнул этого говна еще с цисками.

3. Просто надежные сами по себе. Что б поставить и забыть об их существовании до момента реконфигурации.

AngryElf
()

Два exim-сервера. Прием почты на одном и отправка через другой - помогите разрулить.

Форум — Admin

Имеется корпоративная сеть с сервером exim1

Имеется наружний сервер для приема входящей почты exim2 (обслуживает домен company.com, там же висит pop3/imap). На нем прописаны всякие SPF, что б почта сотрудников, уходящая нашим клиентам, не попадала в спам.

В корпоративной сети есть куча серверов, некоторым из которых хочется иногда отправлять почту наружним клиентам, с красивыми заголовками (см. SPF).

Так как отправлять с внуренних серверов на внешний с помощью SMTP плохо (иногда инет лежит и часть SMTP-запросов могут тупо отваливаться), есть мысль сделать это через внутренний сервер exim1.

Т.е. условно, один из внутренних серверов генерирует письмо

From: info@company.com

To: user@example.com

и отправляет его на exim1.

Exim1 берет это письмо и не доставляет на example.com, а отправляет на внешний exim2 (если канал лежит, попытка повторяется согласно настройкам исходящей почты). А уже exim2 берет доставляет это письмо на example.com, а тот, в свою очередь, проверяет SPF, убеждается, что все нормально и всем становится хорошо.

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

В качестве MTA, соответственно, стоит Exim.

AngryElf
()

Решение для хелпдеска

Форум — General

Ищу решение для хелпдеска. Основное что надо - прозрачная работа с входящей от клиентов почтой, минимализм и надежность (типа кодировок, аттачей и т.п.)

Если подробно, система должна уметь:

1. Прозрачно работать с почтой, т.е. приходят письма с абстрактных адресов (т.е. заранее не известных), система их хавает и создает под каждое письмо тикет. Наш саппорт обрабатывает этот тикет и коммент по нему уходит пользователю (мылом). Если пользователь отвечает на это мыло, то тикет переоткрывается (а не создается новый) и саппорт снова может им заниматься. Тикеты должно быть возможно пинать внутри по людям. Т.е. письмо пришло на support@, его кто-то спихнул на vasia@, тот спихнул на petia@, тот закрыл тикет с резолюцией «нафиг». Резолюция ушла исходному юзеру с info@, что б он вообще не был в курсе про васю с петей (а может и в курсе, только что б следущие письма на петю попадали тоже в систему).

2. Поддержка нескольких адресов входящей почты со своими настройками. Условно говоря, есть support@, sales@, info@, на которые приходят письма разной тематики. Тикеты должны создаваться в трех разных категориях.

3. Исходя из №2, нужны права доступа, т.е. кто-то занимается только sales@, кто-то только info@.

4. Нужно стабильно уметь работать с письмами в самых затейливых форматах, не говоря уже о кодировках. Иврит и кирилица в одном письме, в формате HTML, который был отправлен с мака в ответ на html-письмо из ворда, с аттачами с русскими буквами - нормальное явление.

AngryElf
()

RSS подписка на новые темы