Difference between revisions of "Migration:irc2jabber"
m (→Проблемы и решения) |
m (Reverted edits by 46.161.9.50 (talk) to last revision by 178.218.50.63) |
||
(27 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
== Общие сведения == | == Общие сведения == | ||
− | Протокол | + | Протокол [[IRC]] создавался в первую очередь для организации многопользовательских чатов, приватные беседы в нем вторичны. Поэтому здесь будут рассмотрены вопросы миграции в [[Конференции|конференции Jabber]]. |
+ | |||
+ | Если вы хотите попробовать те программы, которые написаны с целью облегчить работу бывшим пользователям IRC, то познакомьтесь, к примеру, с [[Poezio]]. | ||
+ | |||
+ | А если вы совсем не хотите мигрировать на Jabber, то можете остаться на IRC и в этом вам помогут [[BitlBee]] и [[Minbif]]. | ||
На первый взгляд между Jabber и IRC сети схожи между собой - и там и там сеть состоит из множества равноправных серверов. Тем не менее, есть и существенные различия. | На первый взгляд между Jabber и IRC сети схожи между собой - и там и там сеть состоит из множества равноправных серверов. Тем не менее, есть и существенные различия. | ||
Line 7: | Line 11: | ||
: Обычно это считается сильной стороной Jabber, но в случае с конференциями это спорно - ведь отключение сервера приводит к полной недоступности конференции. | : Обычно это считается сильной стороной Jabber, но в случае с конференциями это спорно - ведь отключение сервера приводит к полной недоступности конференции. | ||
: Кроме того, IRC-серверы линкуются друг с другом в определенном порядке. Так что, если в цепи выпадает один сервер, то образуется две «подсети». В Jabber все серверы взаимодействуют напрямую, и нарушение работы одного сервера сказывается только на его пользователях. | : Кроме того, IRC-серверы линкуются друг с другом в определенном порядке. Так что, если в цепи выпадает один сервер, то образуется две «подсети». В Jabber все серверы взаимодействуют напрямую, и нарушение работы одного сервера сказывается только на его пользователях. | ||
− | ; [[Nickname| | + | ; Псевдоним |
− | + | : В 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) позволяют зарегистрировать | + | : Также некоторые серверы конференций (например conference.jabber.ru) позволяют зарегистрировать псевдоним за определенным [[JID]]'ом, но не более одного в руки. |
; Чувствительнось к регистру | ; Чувствительнось к регистру | ||
− | : Конференции Jabber, в отличие от IRC, чувствительны к регистру [[Nickname| | + | : Конференции Jabber, в отличие от IRC, чувствительны к регистру [[Nickname|псевдонимов]]. В одной конференции могут сосуществовать "User" и "user". |
== Проблемы и решения == | == Проблемы и решения == | ||
Line 21: | Line 25: | ||
---- | ---- | ||
'''Q''': Как сделать автоматический вход на канал? <br /> | '''Q''': Как сделать автоматический вход на канал? <br /> | ||
− | '''A''': | + | '''A''': Для автоматического входа в конференцию добавьте её [[JID]] в [[закладки]] и установите флаг автоматического входа. |
+ | |||
+ | Чтобы сделать автовход на канал IRC через транспорт, действуйте так же. При этом JID обычно имеет вид "канал%irc_сервер@irc_транспорт". | ||
---- | ---- | ||
'''Q''': Какие есть аналоги команд IRC в конференциях? <br /> | '''Q''': Какие есть аналоги команд IRC в конференциях? <br /> | ||
− | '''A''': Многие | + | '''A''': Многие Jabber-[[Клиент|клиенты]] позволяют использовать IRC-подобные команды для управления. |
− | + | ||
− | + | {| class='standart' | |
− | + | |- | |
− | + | ! Клиент↓ \ Команда→ | |
− | + | ! /me | |
− | + | ! /nick | |
− | {{ | + | ! /clear |
+ | ! /ban | ||
+ | ! /kick | ||
+ | ! /leave | ||
+ | ! /say | ||
+ | ! /topic | ||
+ | ! /names | ||
+ | |- | ||
+ | ! [[Psi]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | ! [[Gajim]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | |- | ||
+ | ! [[Tkabber]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | {{да}} | ||
+ | | | ||
+ | |- | ||
+ | ! [[Kopete]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | ! [[Adium]] | ||
+ | | | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | | ||
+ | | {{да}} | ||
+ | | | ||
+ | |- | ||
+ | ! [[Miranda]] | ||
+ | | {{да}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | ! [[Pidgin]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | |- | ||
+ | ! [[QIP Infium]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | {{да|/quit}} | ||
+ | | | ||
+ | | {{да}} | ||
+ | | | ||
+ | |- | ||
+ | ! [[Jabbim]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | ! [[Coccinella]] | ||
+ | | {{да}} | ||
+ | | {{да}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{да}} | ||
+ | | | ||
+ | | {{да}} | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | [http://jabberworld.info/Управляющие_команды_в_Jabber Источник] | ||
---- | ---- | ||
− | '''Q''': Как соотносятся права в конференции и на канале | + | '''Q''': Как соотносятся права в конференции и на канале<ref>Здесь и далее речь о каналах, зарегистрированных через [[w:IRC-сервисы|ChanServ]] или аналог.</ref>? <br /> |
− | '''A''': В Jabber права делятся на две категории: роли, действующие только в течении одного сеанса (в IRC - установка режимов командой /mode), и типы членства, действующие постоянно (в IRC | + | '''A''': В Jabber права делятся на две категории: роли, действующие только в течении одного сеанса (в IRC - установка режимов пользователя командой /mode), и типы членства, действующие постоянно (в IRC установка режимов b, e, I для канала и/или внесение в AOP/HOP/VOP списки сервиса ChanServ). |
Примерное соответствие для типов членства таково: | Примерное соответствие для типов членства таково: | ||
Line 44: | Line 169: | ||
Примерное соответствие для ролей таково: | Примерное соответствие для ролей таково: | ||
− | * '''moderator''' - модератор. Если имеет членство '''admin''' | + | * '''moderator''' - модератор. Если имеет членство '''admin''', то аналог оператора-админа (+ao), если членство '''owner''' аналог оператора-владельца (+qo), иначе аналог полуоператора (+h).<ref>Пользователь с ролью '''moderator''' и с членством ниже '''admin''' — это пользователь, имеющий временные, не закреплённые права (роль). При выходе из конференции он потеряет свою роль '''moderator''' и станет '''participant''' (как и в IRC без сервиса ChanServ). <!--Кроме того, в IRC можно дать любые права во временное пользование, а в джаббере они (членство-принадлежности) прописываются сразу как постоянные, то есть при выходе не сбрасываются. Хотя это может зависеть от сервера {{fixme|а может ли? ксеп позволяет?}}. --></ref> |
* '''participant''' - участник. Аналог пользователя с войсом (+v). | * '''participant''' - участник. Аналог пользователя с войсом (+v). | ||
* '''visitor''' - гость. Аналог пользователя без войса. | * '''visitor''' - гость. Аналог пользователя без войса. | ||
Line 51: | Line 176: | ||
---- | ---- | ||
'''Q''': Как соотносятся настройки конференции и канала? <br /> | '''Q''': Как соотносятся настройки конференции и канала? <br /> | ||
− | '''A''': Примерное соотношение некоторых настроек | + | '''A''': Примерное соотношение некоторых настроек<ref>Названия параметров могут отличаться.</ref> и режимов каналов таково: |
* '''постоянная''' - аналог регистрации канала у [[w:IRC-сервисы|ChanServ]]. Если флаг снят, при выходе последнего пользователя все настройки комнаты сбросятся, а сама она исчезнет. | * '''постоянная''' - аналог регистрации канала у [[w:IRC-сервисы|ChanServ]]. Если флаг снят, при выходе последнего пользователя все настройки комнаты сбросятся, а сама она исчезнет. | ||
* '''публичная''' - антипод режима секретности канала (+s). Скрытая комната не будет видна в общем списке комнат. | * '''публичная''' - антипод режима секретности канала (+s). Скрытая комната не будет видна в общем списке комнат. | ||
Line 67: | 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'ы всех участников. | ||
− | |||
− | ==Примечания== | + | == Примечания == |
− | + | <references/> | |
− | + |
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]
Некоторой простой функциональностью обладает Psi (описание)
Q: Я использую mIRC и привык использовать цветовые коды. Что мне делать?
A: В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.
Q: Jabber позволяет очень вольно обращаться с никами. Как мне понять, что участник не тот, за кого себя выдает?
A: Тут есть три способа.
- можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном JID пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
- можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации (бот с соответствующей функциейПроверить: какой бот это умеет?).
- можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний, зашедший в конференцию, сможет увидеть реальные JID'ы всех участников.
Примечания[edit]
- ↑ Здесь и далее речь о каналах, зарегистрированных через ChanServ или аналог.
- ↑ Пользователь с ролью moderator и с членством ниже admin — это пользователь, имеющий временные, не закреплённые права (роль). При выходе из конференции он потеряет свою роль moderator и станет participant (как и в IRC без сервиса ChanServ).
- ↑ Названия параметров могут отличаться.
- ↑ Есть mBot, он громоздкий, сложный и неуклюжий, но ничего проще и удобнее не известно.