权限

备注

"XEP-0356: 特权实体" 仅对使用与 slidgeqq 相同服务器的 XMPP 用户有效,例如,在 slidgeqq.example.org 上的 eve@example.org

将 slidgeqq 设置为特权实体 (XEP-0356) 是可选的,但拥有它会更好。它通过一些"锦上添花"的功能改善了用户体验。通过配置您的 XMPP 服务器,使 slidgeqq 成为特权实体,slidgeqq 可以:

  • 自动在 slidgeqq 用户的 XMPP 花名册中添加/删除"傀儡联系人",

  • 在 XMPP 端反映用户通过官方腾讯 QQ 应用发送的消息,

  • (如果使用 HTTP 上传 从腾讯 QQ 向 XMPP 传输附件)代表 slidgeqq 用户请求上传槽位,并遵守上传组件级别设置的任何配额、保留、权限或其他策略,

  • 同步通过官方腾讯 QQ 应用执行的其他操作,例如将消息标记为已读、使用表情反应、撤回消息、发送文件…

  • 自动为 MUC (XEP-0045) 添加 XMPP 书签 (XEP-0402)。

服务器特定说明

Prosŏdy

使用以下命令安装 mod_privilege 社区模块:

prosodyctl install --server=https://modules.prosody.im/rocks/ mod_privilege

prosody.cfg.lua 中,将 mod_privilege 添加到 modules_enabled 列表,并在相应的虚拟主机块中声明 slidgeqq 的权限:

local _privileges = {
  roster = "both";       -- for adding/removing contacts from the users' rosters
  message = "outgoing";  -- for reflecting messages sent by the user themselve from official Tencent QQ apps
  iq = {
    ["http://jabber.org/protocol/pubsub"] = "both";      -- for PEP Bookmarks
    ["http://jabber.org/protocol/pubsub#owner"] = "set"; -- for Message Display Synchronization
    ["urn:xmpp:http:upload:0"] = "get";                  -- for HTTP Upload on behalf of users
  }
};

VirtualHost "example.org"
  privileged_entities = {
    ["slidgeqq.example.org"] = _privileges;
  }

然后重启 prosody 服务器,或重新加载配置。您可能需要使用 mod_reload_component,并激活/停用主机以使所有更改生效(重启 prosody 是最简单的方法)。

ejabberd

acl:
  slidge_acl:
    server:
      - "slidgeqq.example.org"

access_rules:
  slidge_rule:
    - allow: slidge_acl

modules:
  mod_privilege:
    roster:
      both: slidge_rule
    message:
      outgoing: slidge_rule
    iq:
      "http://jabber.org/protocol/pubsub":
        both: slidge_rule
      "http://jabber.org/protocol/pubsub#owner":
        set: slidge_rule
      "urn:xmpp:http:upload:0":
        get: slidge_rule
  mod_roster:
    versioning: true

下一步

了解 slidgeqq 的 配置,以根据您的喜好调整其行为。