IRC

维基教科书,自由的教学读本
跳转至: 导航搜索

因特网中继聊天(英语:Internet Relay Chat,缩写即IRC)是一种历史悠久、应用广泛、成熟稳定的网络即时通讯协议,被广泛地应用于在线通讯和网络聊天中。IRC最早由芬兰人雅尔口·欧伊卡林恁(Jarkko Oikarinen)于1988年8月创造以取代一个叫做MUT的程序,随后便一直在互联网中扮演重要角色。凡是支持互联网的操作系统,几乎都可以使用IRC。虽然在2003年以后,许多功能更加丰富的聊天程序和服务取代了只能进行纯文字交流的IRC,许多曾经的大型IRC服务器日渐式微,失去了60%的使用者。但对于许多应用来说,依然是一种方便可靠的通讯方式。

简介[编辑]

IRC是一种RFC标准公开规定的,分布式的主从式架构——即服务端对客户端进行服务的网络即时通讯协议,采用TCPSSL协议。在IRC协议中,不同的独立服务器可以互相进行中继,组成一个整体,提供更加大型聊天网络服务,这也是IRC名字中“中继”的由来。

IRC是一种协议,或者说仅仅是提供了聊天的一种方式,而不是指单一具体的某个聊天电脑程序、软件或者网络服务器。换句话说,只要有服务器和客户端软件实现了IRC协议,就能够以IRC设计的方式进行在线聊天。例如,IRC服务器可以是某个组织公开所运营的大型网络,不需要客户注册和登录即可使用;也可以是私自架设的内部IRC服务器,公司内部使用IRC进行交流。

可见,如果要使用IRC聊天,那么必须选择一款IRC客户端软件,并登录到IRC服务器上。而可供选择的IRC客户端和服务器则非常多,一般认为,mIRC是Windows平台上历史最久和功能非常强大的客户端,但它是付费的私有软件;如果您希望使用一款免费的自由软件,可以阅读后文中的Pidgin和XChat安装使用说明。除了选择一款IRC软件,IRC服务器也是不可或缺的。IRC服务器是由不同的机构和个人运行的聊天网络,就好比是不同的在线网站,是互相之间彼此独立,毫不相关的。例如说,目前的三大IRC服务器分别是:

  • freenode – 9.9万用户同时在线
  • IRCNet – 4.4万用户同时在线
  • QuakeNet – 3.6万用户同时在线

如果你是IRC新手,那么请加入Freenode,Freenode是世界上最大的IRC服务器,而且它是一个为了支持自由和开源软件项目的聊天网络,有很多著名的项目都在此服务器上进行讨论,例如维基百科。此外,Freenode还是中文用户最多的IRC服务器。Freenode的服务器是irc.freenode.net

IRC上有许多不同的频道来讨论不同的主题 —— 这类似于聊天室,不同聊天室的用户可以在各自的聊天室中互相畅所欲言。通常,IRC的频道是以主题划分的,这是为了便于在IRC上进行对特定某个主题的讨论和交流,而不同于很多汉语使用者的网络通讯模式:“聊天”,即目的性较弱的生活交流。IRC广泛用于对特定主题进行非正式的或者非会议式的群体交流,特别是哪些集体项目,尽管它同样也可以实现个人对个人交流。

在连接IRC服务器后,你需要加入一个”频道“来参与讨论或聊天,你可以同时加入多个频道。一般来说,IRC的频道以井号(#)开头,井号提醒用户某个单词是一个IRC频道的名字。在Freenode的规定中,单个井号开头的频道表明这是一个和自由和开源软件项目有关的正式交流频道,例如,#wikipedia-zh 是中文维基百科交流使用的官方正式频道;两个井号开头的频道表明这是一个非官方、非正式,或和某个项目无关的自由讨论频道。

想要加入IRC频道,你可以输入IRC命令/join #频道名,或者点击IRC软件的对话框来完成,这在后文中Pidgin和XChat使用说明中有具体解说。加入一个IRC频道后,你应该可以在IRC软件上看到这个频道的”主题“,”主题“是频道的说明,一则”头条“,通常不超过两行字,包含了管理人员设置的频道自我介绍,可能还包括一些频道规则,应该阅读一遍。

IRC入门和礼仪[编辑]

交流方式[编辑]

IRC倾向于进行技术支持和交流,交流方式为直奔主题。如果你想获得寻求帮助,可以立刻开门见山的进行问候,并说明你的问题,而不需要发表客套言论。很多频道都在头条写明这一点。

昵称[编辑]

IRC的昵称,或者用户的名字,一般是随意起名使用且无需注册登记的,可以自由使用。但这也会带来一些问题:没有人阻止别人在你离线时使用你的名字冒充你,因此,一些IRC服务器提供昵称注册和登录服务,通常由IRC的自动帐号(机器人)NickServ用户完成。另外,如果你随意选择的昵称正好是别人注册过的昵称,你则会收到NickServ的提醒,且无法进行发言。在少数频道中,为了防止垃圾信息,未经注册登录的昵称是不允许发言的。另外,你不能使用别人正在用的昵称。

但通常,如果你只是为了寻求帮助,则无需注册昵称,随意起名即可。

点名或提及用户[编辑]

在IRC客户端软件上,可以看到所有频道中的在线用户。如果你在IRC消息的任何位置提到了一个在线用户的名字,常见的聊天客户端都会显示一个未读提醒,表明有人给你带话了。然而,如果你要对某个用户说一句话,那么按照IRC的习惯,你应该在消息开头输入他的名字,并加一个冒号和一个空格(英文书写规范)。有时候,也可以用逗号,但一般习惯把人名放在前面。例如要提及用户expuser

<聊天者> expuser: 请问你解决昨天的那个问题了吗?

(这时,expuser 通常可以收到信息提示)

<expuser> 聊天者,我搞定了!

为了避免手工输入昵称的繁琐,许多IRC客户端支持昵称补全功能,使用方法是,输入昵称的一部分,比如e,按下Tab按键,屏幕上即刻出现expuser字样。如果缩写有歧义,例如expuser和esr都以e开头,则再输入一个字母,例如s,消除歧义,再按下Tab键,即可补全为esr。

聊天记录[编辑]

多数IRC客户端具备信息记录功能。但IRC服务器是即时聊天软件,不会帮你对聊天记录进行保存。换句话说,如果你离开了IRC服务器,或者掉线了,那么你将无法在事后收到这段时间的任何信息。因此,在一个IRC频道里的对话通常被认为是非正式的私下对话,在未经允许的情况下对频道内的信息记录公开发表是具有冒犯性的。然而,一些IRC频道通过机器人来进行公开的日志记录,作为一项频道服务,并提供随时可供查阅的存档,你可以阅读频道的头条消息,或询问频道内的成员来得知是否存在这类记录。

挂机者[编辑]

由于IRC并没有在用户离线时为用户保存聊天记录随后查看的功能,因此许多用户喜欢长期开启电脑并登录IRC,而无论他是否在电脑前,更有甚者专门使用服务器挂机 —— 因此,看似在线的用户不一定能回应您的发言。你可以通过提及用户的方法,给挂机的用户留言,通常,待他回到电脑前检查信息时,即可看到。

机器人[编辑]

由于IRC协议非常简单,因此通过编写程序制作的机器人在IRC上非常盛行。IRC机器人是一些运行在后台或者服务器上的程序,像正常用户一样登录某一个频道,并根据频道内的消息自动发言,使用者可以与 IRC 机器人进行互动。 这些机器人可以提供许多有益的功能,例如,有些机器人可以查询世界日期,另一些则能提供天气预报,还有一些机器人可以自动讲笑话,记录聊天日志,或者组织一场扑克牌游戏。你可以观察频道里是否有自动发言的机器人,或者打听它们的功能和使用方法。另外,许多IRC服务器上,作为一项功能,服务器自带一些机器人,比如ChanServ用于频道管理;NickServ用于昵称注册;MemoServ用于给注册用户留言。这些自带的机器人被称为”IRC服务“

不要刷屏和骚扰他人[编辑]

IRC是人们进行交流与聊天的公共聊天室,每个人都会收到你发送的信息,因此,滥用发言功能可能会干扰到他人的正常聊天。

快速发表大量信息,导致刹那间整个屏幕上充满了你发送的消息,这样行为叫做flooding,即洪水或泛洪;在中国大陆称为刷屏,港台又称为洗版。刷屏行为会严重影响IRC频道的讨论,这好比在会议室使用高音喇叭,因此应该避免。通常认为,一次性发表超过3行或者80个字符的信息就有刷屏的嫌疑。比如,一次性发送10行的信息,或者发送一行300个字的信息都是刷屏;但如果是有每一句之间有停顿的正常发言讲话,就算你发表了10行消息,也不属于刷屏。许多频道禁止刷屏,刷屏可能会被导致封禁

另外,请不要毫无理由的点名别人。不断进行点名的行为本身是刷屏,但更严重的是,每次点名时,对应的用户都会收到消息提醒,这会造成骚扰。

IRC不是网络剪贴板[编辑]

IRC不是网络剪贴板:如果你尝试运行一个程序,却只能得到许多的错误提示,你可能会尝试去IRC获得帮助。但要注意,IRC不是网络剪贴板,不允许把几十行的错误信息,或者你的程序代码直接粘贴在IRC聊天框中发出去,否则这种刷屏行为会严重干扰正常聊天。如果你瞬间发送了大量的信息,那么你可能会立刻被自动踢出服务器。

如果你需要发布大量信息,你可以使用真正的网络剪贴板(Pastebin)而不是IRC。你可以把你的信息发表到Pastebin上,然后把对应的网站链接发表在IRC频道内,解决刷屏问题。有些Pastebin还支持程序代码高亮,或者张贴图片,这样就可以解决IRC分享图片的问题。最流行的Pastebin是Pastebin.com,但因为网络剪贴板有助于匿名分享言论,因此许多已经被中国大陆的防火长城屏蔽。幸运的是,许多自由和开源软件项目都有自己公开的网络剪切板,例如paste.ubuntu.com和paste.opensuse.com。

机器人政策[编辑]

机器人本身,或频繁呼叫机器人进行互动也会造成刷屏,影响讨论。不同的IRC网络和频道都对机器人的时候有自己的政策,例如,有些IRC服务器或频道完全禁止机器人,但这样极端严格的政策实际并不多见。更多的频道在不刷屏的前提下,允许或者欢迎IRC机器人。如果你是一般用户,请不要在有讨论进行时因好奇大量呼叫机器人;如果你想自己开发一个IRC机器人,则要注意,一般而言,如果没有人提及(点名)呼叫你的机器人,那么机器人则不应该主动发送信息,否则则有刷屏的嫌疑。

初步指导[编辑]

以连接到 FreeNode (chat.freenode.net) 上的 #wikipedia-zh 频道为例:

IRC 的链接[编辑]

类似于网页使用的http,IRC 协议的浏览器地址超链接,显示如:irc://irc.freenode.net/wikipedia-zh ,若浏览器设置IRC客户端,点击即可转到 freenode.net 的 wikipedia-zh 频道。

编码[编辑]

 错误的编码设置,将导致文字破碎 

IRC频道通常使用 UTF-8 ,而微软的操作系统(Windows)实行地区差异化,默认读取系统编码信息(比如GBKBig5)的客户端设置可能导致编码错误。请自行将配置变更为 UTF-8。

 Linux和Mac用户一般不需设置,若罕见的针对Windows设置的中文IRC服务器或频道,则要选择指定编码——请联系其管理员获取。

登录需要的软件[编辑]

可以直接经由一些网站使用IRC,

  • FreeNode.net 提供2种网页浏览器用客户端,其中一种需要安装java,另一种 https://webchat.freenode.net 直接联系到 Freenode 的网络。
  • 一个基于网页浏览器的 IRC 客户端是 http://www.mibbit.com。如果你在 mibbit 注册了一个帐号并且设置 "Network: FreeNode (irc.freenode.net)" 上的 #wikipedia-zh 为自动登入的频道,那么每次你点击浏览器收藏条上的 mibbit,就能自动进入 #wikipedia-zh 聊天。
  • 另一个基于网页浏览器的 IRC 客户端是 http://irc.sourpuss.net/freenode/。在上面输入你的昵称(Nickname),选择服务器(Server)为 irc.freenode.net,在频道(Channel)中输入:#wikipedia-zh 即可。

或者,可以使用一个支持 IRC协议 的软件(作为客户端)登录 IRC 服务器网络,由每个网络通常全世界很多服务器组成的,但各个服务器并不相同 irc.freenode.net 不同于 ;IRC客户端数量很多,这不同于大家用 QQ/MSN/Skype 通常只需要官方软件登录服务器。图形界面 IRC 客户端软件举例:PidginX-ChatChatZillaQuassel IRCMiranda IM

使用图形界面的 IRC 客户端软件,通常已经预设很多自动执行的脚本(同时支持手动脚本),仍然建议初学者了解一下三个基本的 IRC 命令以及后面的行为补充:

/nick your_nick (给您自己取一个昵称。把这个 your_nick 替换成你自己的昵称)
/serv irc.freenode.net (进入 FreeNode 聊天网络。irc.freenode.net 是全球IRC网络的重要一环,也是多数汉语频道所在)
/join #wikipedia-zh (进入 #wikipedia-zh 频道)

频道内包含任何昵称的发信息,都会提醒昵称使用者,因此对某人发信息要求注意仅需要同时提及其昵称,通常放在开头
tab键补齐昵称
/me 拥抱aron (若使用昵称 Nn进入频道,则频道内显示为 * Nn拥抱aron)

Pidgin 示例[编辑]

(1) 到 www.pidgin.im 下载安装 Pidgin。
(2) 在 Accounts 的 Manage Accounts 里,Add 一个 account,Protocol 为 "IRC",Username 为 给自己取一个昵称,如 "big_fat_cat",Server 是 irc.freenode.net,Password 是一项高级功能,等你进了频道再教你。。然后点击 Save 搞定。
(3) 在 Buddies 的 Add Chat 里,Account 选你刚才建立的那个 yourname@irc.freenode.net,Channel 写 #wikipedia-zh (注意前面要有 #),然后直接点击 Add 搞定。
(4) 好,现在你的 Pidgin 里出现了 #wikipedia-zh 这一项,只要双击它,就可以进入 #wikipedia-zh 频道聊天了!
(5) 鼠标右键单击 Pidgin 里的 #wikipedia-zh 项,勾上 Auto-Join。然后把 Pidgin 的快捷方式放到你的 Windows 的“启动”菜单或”快速启动栏“里。
(6) 某些 Windows 用户在第一次退出 Pidgin 时可能会遇到困难,重新启动计算机以后即可解决。

X-Chat 示例[编辑]

(1) Linux 请看发行版自己仓库, Mac 用户可到 http://www.xchat.org/ 下载安装 X-Chat。Windows 用户请从以下地址下载 X-Chat:

选择 1: http://www.silverex.info/download/xchat-2.8.6-1.exe
选择 2: http://www.zerostress.org/dls/xchat-win-2.8.6.7z

Windows 用户在安装时,必须选择“最小安装”(Compact installation)!
(2) 一开始会出现一个 X-Chat Network List 的窗口,让你输入 Nickname(昵称),随便取一个。然后在 Networks 列表里选 FreeNode,然后点击右边的 Edit,然后勾上 "Auto connect to this network at startup",在 Favorite Channels 里写 #wikipedia-zh,然后点击 Close 回到先前的窗口,勾上 ”Skip network list on startup",然后点击 Connect.
(3) 好!现在您已经自动进入 #wikipedia-zh 频道了!而且以后每次启动 X-Chat,都会自动进入该频道,而不会再有那个 X-Chat Network List 窗口的纠缠。
(4) Windows 用户需要到“设置”菜单的“首选项”把字体设置成某个能显示中文的字体,如 Tahoma。
(5) 如有需要,可将 X-Chat 放到你的 Windows 的“启动”菜单或“快速启动栏”里。

Chatzilla 独立版本 - 同时也可以作为Firefox 扩展插件[编辑]

  1. 安装完成后。
  2. 点击 freenode.net 连接服务器
  3. 输入命令 /join #wikipedia-zh 即可进入频道。
* 若从 IRC 菜单选择 Open this channel at Startup 日后启动chatzilla即自动进入此频道。
  • Opera 内建 IRC 功能

IRC结构[编辑]

IRC频道[编辑]

频道存在于一个IRC服务器上。一个频道类似于一个聊天室,频道名称必须以#符号开始,例如#irchelp

客户端软件列[编辑]

  • ChatZilla
  • ThunderBird内建IRC功能
  • Opera浏览器有内建的IRC功能
  • Pidgin支持IRC在内的多种通讯协议
  • X-Chat
  • HydraIRC
  • KVIrc
  • Irssi 文本界面的 IRC 客户端
  • Quassel IRC
  • Colloquy (仅Mac OS X
  • mIRC(仅Windows)
  • Empathy(Linux/*BSD)支持IRC在内的多种通讯协议。
Wikipedia-logo.png
维基百科中的相关条目: