首页 文章

IRC Server配置可能性

提问于
浏览
1

我需要知道一些关于IRC服务器的事情,我无法通过谷歌直接找到(或者我不确定它是否真的有效)

我在一个更大的社区网站工作,并希望提供一个页内聊天 . 因为让人们从外部访问它,而不是通过他们自己的客户端访问它是一个很好的功能,我认为实现IRC服务器将是最好的解决方案(可能是专用的,我必须自己教一些东西)

我打算在APE客户端/服务器上包含基于Web的IRC客户端 . 问题是,我想删除用户权限,禁止IRC提供的许多功能:

  • 更改昵称:用户通过Page登录进行登录,我将使用该密码自动为该用户创建IRC身份验证 . 所以基本上,他会通过一个按钮连接到IRC客户端 . 连接后,他根本不能改变他的绰号

  • 创建 Channels :我希望有可能创建 Channels ,但不是来自'normal'用户 . 基本上,我更愿意设置公共的基本 Channels ,如果用户真的创建了一个自己的 Channels ,那个 Channels 应该是私密的并通过邀请(这可能吗?)

  • 私人谈话:私人谈话应该从allaround IRC客户端过滤到我在JS上创建的单独的'in-browser-windows' . 我想我只需要过滤来自IRC的东西 - 或者有更好的解决方案吗?

  • 只有'registered'用户才能访问:就像我说的,如果有人在页面上注册,我想为他创建一个IRC 'account' . 未在页面上注册的用户,根本无法访问IRC服务器(或被抛弃) . 主要是为了避免外面的垃圾邮件发送者或机器人 .

这些东西可以通过IRC解决吗?我已经阅读了一些关于IRC OP和服务器的常见问题解答和说明,但我找不到一个明确的答案 - 似乎每个人都可以做很多事情 - 我想以一种用户可能性更多的方式进行配置 . 基本上,为用户提供聊天的可能性,但不是更多 .

所以问题基本上是,这个问题是如何可能/可解决的,或者我是否必须为此找到其他解决方案 .

1 回答

  • 1

    看看不同的IRC services,例如ChanServ . 使用Channel and User modes to set specific flags .

    您很可能会执行以下服务器端:

    • 强迫绰号(NickServ

    • 仅允许某些用户类型创建 Channels

    • 允许任何用户在创建后加入 Channels

    • Channels 只能有邀请标志 +i

    • 私人谈话只是发给不同用户的私人消息 . 如果您需要私人对话以拥有多个用户,则需要实现一些私有使用渠道的逻辑

    • 应该可以创建注册用户,并且可能由例如NickServ之类的IRC服务强制执行 .

    考虑使用CGI:IRC . 它是浏览器中的聊天客户端,通过网络服务器连接到IRC . 您可以限制用户可以执行的操作,也可以限制服务器端 .

    对不同的IRCd做一些研究,看看你是否找到了支持你需要的东西 . Dancer-IRCd似乎是一个受欢迎的选择,并包含在Ubuntu apt-get 存储库中,但我不确定它是否支持您所需的所有功能 .


    另一个选择是将IRC的整个想法全部放在一起,并使用WebSocket APIComet实现您自己的聊天客户端 . 此外,还有完整的解决方案 .

    这方面的例子:

相关问题