Software /
code /
prosody-modules
Diff
mod_ogp/README.md @ 6003:fe081789f7b5
All community modules: Unify file extention of Markdown files to .md
author | Menel <menel@snikket.de> |
---|---|
date | Tue, 22 Oct 2024 10:26:01 +0200 |
parent | 4598:09f0911c735d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_ogp/README.md Tue Oct 22 10:26:01 2024 +0200 @@ -0,0 +1,32 @@ +# mod_ogp + +This module adds [Open Graph Protocol](https://ogp.me) metadata to URLs sent inside a MUC. + +With mod_ogp enabled, when a user sends a URL in a MUC (where the message has its `id` equal to its `origin-id`), the module calls the URL and parses the result for `<meta>` html tags that have any `og:...` properties. +If it finds any, it sends a [XEP-0422 fastening](https://xmpp.org/extensions/xep-0422.html) applied to the original message that looks like: + +```xml +<message id="example" from="chatroom@muc.example.org" to="user@chat.example.org/resource"> +<apply-to xmlns="urn:xmpp:fasten:0" id="origin-id-X"> +<meta xmlns="http://www.w3.org/1999/xhtml" property="og:title" content="The Rock"/> +<meta xmlns="http://www.w3.org/1999/xhtml" property="og:url" content="https://www.imdb.com/title/tt0117500/"/> +<meta xmlns="http://www.w3.org/1999/xhtml" property="og:image" content="https://ia.media-imdb.com/images/rock.jpg"/> +</apply-to> +</message> +``` + +The module is intentionally simple in the sense that it is basically a transport for https://ogp.me/ + +Configuration +------------- + +You can present an allowlist or denylist of domains for which OGP metadata will be fetched +via the `ogp_domain_allowlist` and `ogp_domain_denylist` settings repectively. + +For example: + +```lua +Component "muc.example.org" "muc" + modules_enabled = { "ogp" } + ogp_domain_allowlist = { "prosody.im" } +```