About Blog PGP Key

All articles, tagged with “muc”

Всякие отчетики

Захотелось мне посмотреть распределение своего флуда в конфах по времени. Получилось нечто типа следующего:

!muc stat day

Message statistic for "Гадский демон":
Mon  |#################### (75)  
Tue  |# (4)                      
Wed  |## (10)                    
Thu  | (0)                       
Fri  |################# (64)     
Sat  |##### (21)                 
Sun  |##### (20)

!muc stat hour

Message statistic for "Гадский демон":
00:00  |#################### (43)  
01:00  |########## (23)            
02:00  |### (7)                    
03:00  | (0)                       
04:00  | (0)                       
05:00  | (0)                       
06:00  | (0)                       
07:00  | (1)                       
08:00  | (0)                       
09:00  |### (8)                    
10:00  | (0)                       
11:00  | (0)                       
12:00  | (0)                       
13:00  |# (4)                      
14:00  |################ (36)      
15:00  |######## (18)              
16:00  | (0)                       
17:00  | (0)                       
18:00  | (2)                       
19:00  |# (3)                      
20:00  |####### (17)               
21:00  | (0)                       
22:00  |######## (19)              
23:00  |###### (14)

Плохо, что инфа есть в базе только с 03.06.2009 ;)

Индусы на Jabber.ru. Все гораздо опаснее

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

Для текущей структуры базы, такую информацию можно вытащить запросом:

select conferences.name, (select count(distinct jid) 
from conference_nicks
where conference_nicks.conference_id=conferences.id and lastaction > '2008-07-01') as cnt 
from conferences where autojoin=true and online=true and autoleave=true order by cnt;

Вот что вышло (больше — конференция популярнее)

 continue reading

Количество конференций per JID

mysql> select count(*) from conferences where online=1 and name like "%@conference.jabber.ru";
+----------+
| count(*) |
+----------+
|       51 |
+----------+
1 row in set (0.09 sec)

Все. Напоролся на ограничение в количество заджойненых конференций для одного JID-а на conference.jabber.ru.

Jabber MUC и спамеры

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

Как минимум нехватает бана по IP. Или режима модерирования всех сообщений (это вполне можно было бы поручить боту). Бан по IP фиг реализуешь, т.к. его знает только сервер юзера. Либо какого-то способа получить уникальный id-к _клиента_. Хотя такое тоже можно было бы обойти буквально однострочным патчем.

Режим Members only тоже не спасает, т.к. новый участники зайти не могут. Требование наличия VCard — вообще фигня полная.. Просто чуть затрудняет процесс регистрации новых аккаунтов. Можно пытаться анализировать скорость канала, типа время пингов или еще что-то.. Но это все кажется малореальным.

Децентрализация имеет свои негативные стороны…

Есть кстати вариант сделать что-то типа muc_proxy. Чтобы “обернуть” conference.jabber.tld во что-то и получить другой сервер (aka proxy.domain2.tld), который должен будет выполнять все необходимые премодераторские проверки станзы и, в случае корректности содежимого, перенаправлять её на оригинальный conference.jabber.tld. Обертка не должна получиться слишком сложной, т.к. там по сути нужно только атрибуты “from” и “to” у станз менять… Надо будет подумать по этому поводу…

users…

Всякая технология с приходом огромной толпы юзеров попсеет и превращается в помойку… Jabber-овский MUC не исключение…