Compliance status for hmm.st

100%
Specifications compliant


Server is running ejabberd 23.01-1

Results

RFC 6121: Roster Versioning
XEP-0215: External Service Discovery (STUN)
XEP-0215: External Service Discovery (TURN)
XEP-0153: vCard-Based Avatar (MUC)
XEP-0045: Multi-User Chat
XEP-0065: SOCKS5 Bytestreams (Proxy)
XEP-0115: Entity Capabilities
XEP-0160: Best Practices for Handling Offline Messages
XEP-0163: Personal Eventing Protocol
XEP-0191: Blocking Command
XEP-0198: Stream Management
XEP-0280: Message Carbons
XEP-0313: Message Archive Management
XEP-0313: Message Archive Management (Multi-User Chat)
XEP-0352: Client State Indication
XEP-0357: Push Notifications
XEP-0363: HTTP File Upload
XEP-0368: SRV records for XMPP over TLS
XEP-0384: OMEMO Encryption
XEP-0398: User Avatar to vCard-Based Avatars Conversion

Results for informational tests

XEP-0157: Contact Addresses for XMPP Services (Abuse)
XEP-0077: In-Band Registration
XEP-0156: Discovering Alternative XMPP Connection Methods (HTTP)
XEP-0280: Message Carbons - Recommended Rules
XEP-0313: Message Archive Management (extended usage)
XEP-0363: HTTP File Upload (CORS Headers)
XEP-0402: PEP Native Bookmarks
Tests last ran 52 days ago

NOTE: If you are the server admin/maintainer, click on the failing tests to get some help for passing those tests

Subscribe to periodic reports for this server

Subscribing to results for hmm.st

Add badge to your website



<a href='https://compliance.conversations.im/server/hmm.st'><img src='https://compliance.conversations.im/badge/hmm.st'></a>
×

For XEP-0045: Multi-User Chat* :

  • Make sure your server is v0.3+
  • Add mod_muc in the modules block
  • Configure it as per your requirements
modules:
    ...
    mod_muc: 
        ## Configuration here

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0398: User Avatar to vCard-Based Avatars Conversion* :

  • Add modules mod_avatar and mod_vcard_xupdate to modules list
modules:
    ...
    mod_avatar: {}
    mod_vcard_xupdate: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0156: Discovering Alternative XMPP Connection Methods (HTTP)* :

Look at the Examples Section of XEP-0156 and create appropriate files for your server. Only one of host-meta and host-meta.json is required to pass this test. However it is recommended to create both.

To pass this test the host-meta files should additionally have Access-Control-Allow-Origin: * response header so that the file contents can be read by web clients.

Nginx: Example code to add to server block:

location /.well-known/host-meta {
    default_type 'application/xrd+xml';
    add_header Access-Control-Allow-Origin '*' always;
}

location /.well-known/host-meta.json {
    default_type 'application/jrd+json';
    add_header Access-Control-Allow-Origin '*' always;
}

Apache: Example code to add to conf/httpd.conf file:

<Location ~ "/\.well-known/host-meta(\.json)?">
    Header set Access-Control-Allow-Origin "*"
</Location>

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0065: SOCKS5 Bytestreams (Proxy)* :

  • Make sure your server is v2.0+
  • Add mod_proxy65 to modules list
modules:
    ...
    mod_proxy65: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0384: OMEMO Encryption* :

  • Make sure your server is v17.12+
  • Add mod_pubsub, mod_caps to your modules list
  • In mod_pubsub, add pep plugin.
modules:
    ...
    mod_caps: {}
    mod_pubsub:
        plugins:
            - "pep"
  • Change from "whitelist" to "open" to enable OMEMO support
        force_node_config:
          "eu.siacs.conversations.axolotl.*":
          access_model: whitelist

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0363: HTTP File Upload* :

  • Make sure your server is v0.9+
  • Add mod_http_upload to modules list
modules:
    ...
    mod_http_upload: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0077: In-Band Registration* :

Enable it only if you want anyone to create an account directly from a client

  • Make sure your server is v0.1+
  • Add mod_register to modules list
modules:
    ...
    mod_register:
        ...
        access_from: allow
        access: register
  • Set the access rules for register to allow, if you want to allow anyone to make an account
access_rules:
  register:
    - allow

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0198: Stream Management* :

  • Add mod_stream_mgmt to modules list
modules:
    ...
    mod_stream_mgmt: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0352: Client State Indication* :

  • Add mod_client_state to modules list
modules:
    ...
    mod_client_state: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0163: Personal Eventing Protocol* :

  • Make sure your server is v1.1.2+
  • Add mod_pubsub and mod_caps to modules list
  • In mod_pubsub, add pep plugin.
modules:
    ...
    mod_caps: {}
    mod_pubsub:
     ...
     plugins:
        - "pep"
     ...

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0215: External Service Discovery (TURN)* :

Ejabberd 20.04 has support for XEP-0215 and has also a STUN and TURN server build in. Take a look a the new sample config (Particularly the module: ejabberd_stun section in the listen section and mod_stun_disco.)

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0215: External Service Discovery (STUN)* :

Ejabberd 20.04 has support for XEP-0215 and has also a STUN and TURN server build in. Take a look a the new sample config (Particularly the module: ejabberd_stun section in the listen section and mod_stun_disco.)

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0115: Entity Capabilities* :

  • Make sure your server is v1.1.2+
  • Add mod_caps to modules list
modules:
    ...
    mod_caps: {}
  • Make sure your server is v1.1.2+

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0357: Push Notifications* :

  • Make sure your server is v17.08+
  • Add mod_push to modules list
modules:
    ...
    mod_push: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0313: Message Archive Management* :

  • Add mod_mam to modules list
modules:
    ...
    mod_mam: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0368: SRV records for XMPP over TLS* :

  • Set up your DNS to have an appropriate SRV record. For more information go here

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0157: Contact Addresses for XMPP Services (Abuse)* :

  • In mod_disco, add server_info with email for reporting abuse:
modules:
    ...
    mod_disco:
        server_info:
        -
            modules: all
            name: "abuse-addresses"
            urls: ["mailto:abusecontact@yourserver.com"]

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0153: vCard-Based Avatar (MUC)* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For RFC 6121: Roster Versioning* :

In mod_roster, set versioning to true.

modules:
    ...
    mod_roster:
        versioning: true

Make sure your server is running v0.4+

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0160: Best Practices for Handling Offline Messages* :

  • Add mod_offline to modules list
  • Set configuration for mod_offline. Read more about it from here
modules:
    ...
    mod_offline: 
     ## Configuration here

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0363: HTTP File Upload (CORS Headers)* :

If you are using a reverse proxy or an HTTP Upload external script make sure you are setting the correct CORS headers:

modules:
  ...
  mod_http_upload:
    ...
    custom_headers:
      "Access-Control-Allow-Origin": "https://domain.tld"
      "Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS"
      "Access-Control-Allow-Headers": "Content-Type"

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0191: Blocking Command* :

  • Add mod_blocking, mod_privacy to modules list
modules:
   ...
   mod_blocking: {}
   mod_privacy: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0280: Message Carbons* :

modules:
    ...
    mod_carboncopy: {}

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0313: Message Archive Management (Multi-User Chat)* :

  • Make sure your ejabberd is at least v15.06+
  • Add mod_mam to your configuration
  • Set default to always in mod_mam.
modules:
    ...
    mod_mam:
        default: always
    mod_muc:
        ...
        default_room_options:
            mam: true
    ...

Note: These instructions are valid only for this particular server, because of the software running on it.