Difference between revisions of "Migration:irc2jabber"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Проблемы и решения: Исправление раздела про роли и типы членства)
m (Reverted edits by 46.161.9.50 (talk) to last revision by 178.218.50.63)
 
(18 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
== Общие сведения ==
 
== Общие сведения ==
 
Протокол [[IRC]] создавался в первую очередь для организации многопользовательских чатов, приватные беседы в нем вторичны. Поэтому здесь будут рассмотрены вопросы миграции в [[Конференции|конференции Jabber]].
 
Протокол [[IRC]] создавался в первую очередь для организации многопользовательских чатов, приватные беседы в нем вторичны. Поэтому здесь будут рассмотрены вопросы миграции в [[Конференции|конференции Jabber]].
 +
 +
Если вы хотите попробовать те программы, которые написаны с целью облегчить работу бывшим пользователям IRC, то познакомьтесь, к примеру, с [[Poezio]].
 +
 +
А если вы совсем не хотите мигрировать на Jabber, то можете остаться на IRC и в этом вам помогут [[BitlBee]] и [[Minbif]].
  
 
На первый взгляд между Jabber и IRC сети схожи между собой - и там и там сеть состоит из множества равноправных серверов. Тем не менее, есть и существенные различия.
 
На первый взгляд между Jabber и IRC сети схожи между собой - и там и там сеть состоит из множества равноправных серверов. Тем не менее, есть и существенные различия.
Line 7: Line 11:
 
: Обычно это считается сильной стороной Jabber, но в случае с конференциями это спорно - ведь отключение сервера приводит к полной недоступности конференции.
 
: Обычно это считается сильной стороной Jabber, но в случае с конференциями это спорно - ведь отключение сервера приводит к полной недоступности конференции.
 
: Кроме того, IRC-серверы линкуются друг с другом в определенном порядке. Так что, если в цепи выпадает один сервер, то образуется две «подсети». В Jabber все серверы взаимодействуют напрямую, и нарушение работы одного сервера сказывается только на его пользователях.
 
: Кроме того, IRC-серверы линкуются друг с другом в определенном порядке. Так что, если в цепи выпадает один сервер, то образуется две «подсети». В Jabber все серверы взаимодействуют напрямую, и нарушение работы одного сервера сказывается только на его пользователях.
; [[Nickname|Никнеймы]]
+
; Псевдоним
: В IRC сети ник пользователя и его учетная запись ([[Login|логин]]) — одно и то же. В Jabber это не так. Вы можете иметь разные ники в разных конференциях, а один и тот же ник в разных конференциях могут одновременно использовать разные пользователи (если ник не зарегистрирован, см. далее).
+
: В IRC сети псевдоним ([[Nickname|никнейм]]) пользователя и его учетная запись ([[Login|логин]]) — одно и то же. В Jabber это не так. Вы можете иметь разные псевдонимы в разных конференциях, а один и тот же псевдоним в разных конференциях могут одновременно использовать разные пользователи (если псевдоним не зарегистрирован, см. далее).
 
; Регистрация пользователей и конференций
 
; Регистрация пользователей и конференций
 
: В стандарте {{rfc|1459}}, описывающем IRC чат, регистрация не была предусмотрена. Чтобы исправить этот факт, были разработаны дополнительные сервисы, такие как {{w|NickServ}} и {{w|ChanServ}}. Однако эти сервисы не были стандартизированы, что вызывает сложности и по сей день.
 
: В стандарте {{rfc|1459}}, описывающем IRC чат, регистрация не была предусмотрена. Чтобы исправить этот факт, были разработаны дополнительные сервисы, такие как {{w|NickServ}} и {{w|ChanServ}}. Однако эти сервисы не были стандартизированы, что вызывает сложности и по сей день.
 
: В случае с Jabber регистрация предусмотрена изначально. При необходимости, конкретную конференцию можно настроить так, чтобы пользователь не мог узнать реальный [[JID]] другого без его на то согласия (или без поддержки модераторов конференции).
 
: В случае с Jabber регистрация предусмотрена изначально. При необходимости, конкретную конференцию можно настроить так, чтобы пользователь не мог узнать реальный [[JID]] другого без его на то согласия (или без поддержки модераторов конференции).
: Также некоторые серверы конференций (например conference.jabber.ru) позволяют зарегистрировать ник за определенным [[JID]]'ом, но не более одного в руки.
+
: Также некоторые серверы конференций (например conference.jabber.ru) позволяют зарегистрировать псевдоним за определенным [[JID]]'ом, но не более одного в руки.
 
; Чувствительнось к регистру
 
; Чувствительнось к регистру
: Конференции Jabber, в отличие от IRC, чувствительны к регистру [[Nickname|ников]]. В одной конференции могут сосуществовать "User" и "user".
+
: Конференции Jabber, в отличие от IRC, чувствительны к регистру [[Nickname|псевдонимов]]. В одной конференции могут сосуществовать "User" и "user".
  
 
== Проблемы и решения ==
 
== Проблемы и решения ==
Line 154: Line 158:
 
[http://jabberworld.info/Управляющие_команды_в_Jabber Источник]
 
[http://jabberworld.info/Управляющие_команды_в_Jabber Источник]
 
----
 
----
'''Q''': Как соотносятся права в конференции и на канале{{ref|channels}}? <br />
+
'''Q''': Как соотносятся права в конференции и на канале<ref>Здесь и далее речь о каналах, зарегистрированных через [[w:IRC-сервисы|ChanServ]] или аналог.</ref>? <br />
 
'''A''': В Jabber права делятся на две категории: роли, действующие только в течении одного сеанса (в IRC - установка режимов пользователя командой /mode), и типы членства, действующие постоянно (в IRC установка режимов b, e, I для канала и/или внесение в AOP/HOP/VOP списки сервиса ChanServ).
 
'''A''': В Jabber права делятся на две категории: роли, действующие только в течении одного сеанса (в IRC - установка режимов пользователя командой /mode), и типы членства, действующие постоянно (в IRC установка режимов b, e, I для канала и/или внесение в AOP/HOP/VOP списки сервиса ChanServ).
  
Line 165: Line 169:
  
 
Примерное соответствие для ролей таково:
 
Примерное соответствие для ролей таково:
* '''moderator''' - модератор. Если имеет членство '''admin''' то аналог оператора-админа (+ao), если членство '''owner''' аналог оператора-владельца (+qo), иначе (без членства) аналог полуоператора (+h).
+
* '''moderator''' - модератор. Если имеет членство '''admin''', то аналог оператора-админа (+ao), если членство '''owner''' аналог оператора-владельца (+qo), иначе аналог полуоператора (+h).<ref>Пользователь с ролью '''moderator''' и с членством ниже '''admin'''&nbsp;— это пользователь, имеющий временные, не закреплённые права (роль). При выходе из конференции он потеряет свою роль '''moderator''' и станет '''participant''' (как и в IRC без сервиса ChanServ). <!--Кроме того, в IRC можно дать любые права во временное пользование, а в джаббере они (членство-принадлежности) прописываются сразу как постоянные, то есть при выходе не сбрасываются. Хотя это может зависеть от сервера {{fixme|а может ли? ксеп позволяет?}}. --></ref>
 
* '''participant''' - участник. Аналог пользователя с войсом (+v).
 
* '''participant''' - участник. Аналог пользователя с войсом (+v).
 
* '''visitor''' - гость. Аналог пользователя без войса.
 
* '''visitor''' - гость. Аналог пользователя без войса.
Line 172: Line 176:
 
----
 
----
 
'''Q''': Как соотносятся настройки конференции и канала? <br />
 
'''Q''': Как соотносятся настройки конференции и канала? <br />
'''A''': Примерное соотношение некоторых настроек{{ref|names}} и режимов каналов таково:
+
'''A''': Примерное соотношение некоторых настроек<ref>Названия параметров могут отличаться.</ref> и режимов каналов таково:
 
* '''постоянная''' - аналог регистрации канала у [[w:IRC-сервисы|ChanServ]]. Если флаг снят, при выходе последнего пользователя все настройки комнаты сбросятся, а сама она исчезнет.
 
* '''постоянная''' - аналог регистрации канала у [[w:IRC-сервисы|ChanServ]]. Если флаг снят, при выходе последнего пользователя все настройки комнаты сбросятся, а сама она исчезнет.
 
* '''публичная''' - антипод режима секретности канала (+s). Скрытая комната не будет видна в общем списке комнат.
 
* '''публичная''' - антипод режима секретности канала (+s). Скрытая комната не будет видна в общем списке комнат.
Line 188: Line 192:
 
   /nickserv /msg nickserv@*.rusnet
 
   /nickserv /msg nickserv@*.rusnet
 
   /ушел /away %||/nick ВашНик[away]
 
   /ушел /away %||/nick ВашНик[away]
и тому подобное. Возможно, аналогичный плагин есть и для [[Miranda]].
+
и тому подобное. Возможно, аналогичный плагин есть и для [[Miranda]].<ref>Есть [http://addons.miranda-im.org/details.php?id=1584 mBot], он громоздкий, сложный и неуклюжий, но ничего проще и удобнее не известно.</ref>
 
{{todo|написать, какие еще клиенты обладают достаточным скриптовым функционалом}}
 
{{todo|написать, какие еще клиенты обладают достаточным скриптовым функционалом}}
 +
 +
Некоторой простой функциональностью обладает [[Psi]] ([[Psi/MUC#Команды|описание]])
 
----
 
----
 
'''Q''': Я использую [[w:mIRC|mIRC]] и привык использовать цветовые коды. Что мне делать? <br />
 
'''Q''': Я использую [[w:mIRC|mIRC]] и привык использовать цветовые коды. Что мне делать? <br />
 
'''A''': В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.
 
'''A''': В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.
 
----
 
----
'''Q''': Jabber позволяет очень вольно обращаться с никами. Как мне понять что участник не тот, за кого себя выдает? <br />
+
'''Q''': Jabber позволяет очень вольно обращаться с никами. Как мне понять, что участник не тот, за кого себя выдает? <br />
 
'''A''': Тут есть три способа.
 
'''A''': Тут есть три способа.
 
# можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном [[JID]] пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
 
# можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном [[JID]] пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
 
# можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации ([[Bot|бот]] с соответствующей функцией {{fixme|какой бот это умеет?}}).
 
# можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации ([[Bot|бот]] с соответствующей функцией {{fixme|какой бот это умеет?}}).
 
# можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний, зашедший в конференцию, сможет увидеть реальные JID'ы всех участников.
 
# можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний, зашедший в конференцию, сможет увидеть реальные JID'ы всех участников.
----
 
  
==Примечания==
+
== Примечания ==
  
#{{note|channels}} здесь и далее речь о каналах, зарегистрированных через [[w:IRC-сервисы|ChanServ]] или аналог.
+
<references/>
#{{note|names}} названия настроек могут отличаться
+

Latest revision as of 13:18, 13 June 2017

Общие сведения[edit]

Протокол IRC создавался в первую очередь для организации многопользовательских чатов, приватные беседы в нем вторичны. Поэтому здесь будут рассмотрены вопросы миграции в конференции Jabber.

Если вы хотите попробовать те программы, которые написаны с целью облегчить работу бывшим пользователям IRC, то познакомьтесь, к примеру, с Poezio.

А если вы совсем не хотите мигрировать на Jabber, то можете остаться на IRC и в этом вам помогут BitlBee и Minbif.

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

Распределенность
В типичной IRC сети существует единое пространство каналов и единое пространство пользователей. Если на двух серверах одной сети есть каналы с одинаковым именем, они окажутся слиты в один. В случае с Jabber конференциями, сервера конференций не линкуются между собой. На разных серверах могут быть комнаты с одним именем.
Обычно это считается сильной стороной Jabber, но в случае с конференциями это спорно - ведь отключение сервера приводит к полной недоступности конференции.
Кроме того, IRC-серверы линкуются друг с другом в определенном порядке. Так что, если в цепи выпадает один сервер, то образуется две «подсети». В Jabber все серверы взаимодействуют напрямую, и нарушение работы одного сервера сказывается только на его пользователях.
Псевдоним
В IRC сети псевдоним (никнейм) пользователя и его учетная запись (логин) — одно и то же. В Jabber это не так. Вы можете иметь разные псевдонимы в разных конференциях, а один и тот же псевдоним в разных конференциях могут одновременно использовать разные пользователи (если псевдоним не зарегистрирован, см. далее).
Регистрация пользователей и конференций
В стандарте RFC 1459, описывающем IRC чат, регистрация не была предусмотрена. Чтобы исправить этот факт, были разработаны дополнительные сервисы, такие как NickServ и ChanServ. Однако эти сервисы не были стандартизированы, что вызывает сложности и по сей день.
В случае с Jabber регистрация предусмотрена изначально. При необходимости, конкретную конференцию можно настроить так, чтобы пользователь не мог узнать реальный JID другого без его на то согласия (или без поддержки модераторов конференции).
Также некоторые серверы конференций (например conference.jabber.ru) позволяют зарегистрировать псевдоним за определенным JID'ом, но не более одного в руки.
Чувствительнось к регистру
Конференции Jabber, в отличие от IRC, чувствительны к регистру псевдонимов. В одной конференции могут сосуществовать "User" и "user".

Проблемы и решения[edit]

Q: Как продолжить общение на IRC-каналах?
A: Используйте соответствующий транспорт.


Q: Как сделать автоматический вход на канал?
A: Для автоматического входа в конференцию добавьте её JID в закладки и установите флаг автоматического входа.

Чтобы сделать автовход на канал IRC через транспорт, действуйте так же. При этом JID обычно имеет вид "канал%irc_сервер@irc_транспорт".


Q: Какие есть аналоги команд IRC в конференциях?
A: Многие Jabber-клиенты позволяют использовать IRC-подобные команды для управления.

Клиент↓ \ Команда→ /me /nick /clear /ban /kick /leave /say /topic /names
Psi да да да
Gajim да да да да да да да да да
Tkabber да да да да да да да
Kopete
Adium да да да да да
Miranda да
Pidgin да да да да да да да
QIP Infium да да да да /quit да
Jabbim да да да да
Coccinella да да да да

Источник


Q: Как соотносятся права в конференции и на канале[1]?
A: В Jabber права делятся на две категории: роли, действующие только в течении одного сеанса (в IRC - установка режимов пользователя командой /mode), и типы членства, действующие постоянно (в IRC установка режимов b, e, I для канала и/или внесение в AOP/HOP/VOP списки сервиса ChanServ).

Примерное соответствие для типов членства таково:

  • owner - владелец конференции. Аналог владельца канала (owner).
  • admin - администратор. Аналог автооператора (aop).
  • member - постоянный участник. Аналог приглашенного пользователя (+i).
  • none - обычный пользователь.
  • outcast - изгой. Аналог забаненного пользователя (+b).

Примерное соответствие для ролей таково:

  • moderator - модератор. Если имеет членство admin, то аналог оператора-админа (+ao), если членство owner аналог оператора-владельца (+qo), иначе аналог полуоператора (+h).[2]
  • participant - участник. Аналог пользователя с войсом (+v).
  • visitor - гость. Аналог пользователя без войса.

Подробнее о ролях и типах членства читайте в статье Конференции.


Q: Как соотносятся настройки конференции и канала?
A: Примерное соотношение некоторых настроек[3] и режимов каналов таково:

  • постоянная - аналог регистрации канала у ChanServ. Если флаг снят, при выходе последнего пользователя все настройки комнаты сбросятся, а сама она исчезнет.
  • публичная - антипод режима секретности канала (+s). Скрытая комната не будет видна в общем списке комнат.
  • защита паролем - аналог режима с ключом (+k). При входе в комнату у пользователя потребуют пароль.
  • число пользователей - аналог режима ограниченной вместимости (+l). В комнату смогут войти не более указанного числа пользователей.
  • режим анонимности - не имеет аналога в обычном IRC, но отчасти выполняет функции HostServ. Определяет, кому будет виден настоящий JID пользователя.
  • только для зарегистрированных - аналог режима "по приглашениям" (+i). Только пользователи с членством member или выше смогут войти в комнату.
  • модерируемая - аналог режима модерации (+m). Только пользователи с ролью participant и выше смогут писать в конференцию.
  • участники по умолчанию - аналог функции ChanServ. По умолчанию входящие пользователи будут получать роль participant.
  • пользователи меняют тему - антипод режима "только операторы меняют тему канала" (+t).

Q: Я использую mIRC и привык использовать скрипты. Что мне делать?
A: Вам придется найти подходящий клиент. Минимальную функциональность предоставляет QIP Infium с плагином "Aliases MOD". В частности, он позволяет задать такие полезные алиасы:

 /я /me
 /nickserv /msg nickserv@*.rusnet
 /ушел /away %||/nick ВашНик[away]

и тому подобное. Возможно, аналогичный плагин есть и для Miranda.[4]

ToDo: написать, какие еще клиенты обладают достаточным скриптовым функционалом

Некоторой простой функциональностью обладает Psi (описание)


Q: Я использую mIRC и привык использовать цветовые коды. Что мне делать?
A: В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.


Q: Jabber позволяет очень вольно обращаться с никами. Как мне понять, что участник не тот, за кого себя выдает?
A: Тут есть три способа.

  1. можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном JID пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
  2. можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации (бот с соответствующей функциейQuestion.gifПроверить: какой бот это умеет?).
  3. можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний, зашедший в конференцию, сможет увидеть реальные JID'ы всех участников.

Примечания[edit]

  1. Здесь и далее речь о каналах, зарегистрированных через ChanServ или аналог.
  2. Пользователь с ролью moderator и с членством ниже admin — это пользователь, имеющий временные, не закреплённые права (роль). При выходе из конференции он потеряет свою роль moderator и станет participant (как и в IRC без сервиса ChanServ).
  3. Названия параметров могут отличаться.
  4. Есть mBot, он громоздкий, сложный и неуклюжий, но ничего проще и удобнее не известно.