Software / code / prosody-modules
Comparison
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:mod_ogp/README.markdown@09f0911c735d |
comparison
equal
deleted
inserted
replaced
| 6002:5a65a632d5b9 | 6003:fe081789f7b5 |
|---|---|
| 1 # mod_ogp | |
| 2 | |
| 3 This module adds [Open Graph Protocol](https://ogp.me) metadata to URLs sent inside a MUC. | |
| 4 | |
| 5 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. | |
| 6 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: | |
| 7 | |
| 8 ```xml | |
| 9 <message id="example" from="chatroom@muc.example.org" to="user@chat.example.org/resource"> | |
| 10 <apply-to xmlns="urn:xmpp:fasten:0" id="origin-id-X"> | |
| 11 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:title" content="The Rock"/> | |
| 12 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:url" content="https://www.imdb.com/title/tt0117500/"/> | |
| 13 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:image" content="https://ia.media-imdb.com/images/rock.jpg"/> | |
| 14 </apply-to> | |
| 15 </message> | |
| 16 ``` | |
| 17 | |
| 18 The module is intentionally simple in the sense that it is basically a transport for https://ogp.me/ | |
| 19 | |
| 20 Configuration | |
| 21 ------------- | |
| 22 | |
| 23 You can present an allowlist or denylist of domains for which OGP metadata will be fetched | |
| 24 via the `ogp_domain_allowlist` and `ogp_domain_denylist` settings repectively. | |
| 25 | |
| 26 For example: | |
| 27 | |
| 28 ```lua | |
| 29 Component "muc.example.org" "muc" | |
| 30 modules_enabled = { "ogp" } | |
| 31 ogp_domain_allowlist = { "prosody.im" } | |
| 32 ``` |