author | Kim Alvefur <zash@zash.se> |
Tue, 02 Mar 2021 14:17:51 +0100 | |
changeset 4488 | 6813a00878ea |
parent 4487 | c4f11a4b5ac7 |
child 4489 | 2c4b65bfac62 |
permissions | -rw-r--r-- |
4464 | 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 |
||
4488
6813a00878ea
mod_ogp/README: Annotate example as XML to enable syntax highlighting
Kim Alvefur <zash@zash.se>
parents:
4487
diff
changeset
|
8 |
```xml |
4487
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
9 |
<message id="example" from="chatroom@muc.example.org" to="chatroom@muc.example.org"> |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
10 |
<apply-to xmlns="urn:xmpp:fasten:0" id="origin-id-X"> |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
11 |
<meta xmlns="http://www.w3.org/1999/xhtml" property="og:title" content="The Rock"/> |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
12 |
<meta xmlns="http://www.w3.org/1999/xhtml" property="og:url" content="https://www.imdb.com/title/tt0117500/"/> |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
13 |
<meta xmlns="http://www.w3.org/1999/xhtml" property="og:image" content="https://ia.media-imdb.com/images/rock.jpg"/> |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
14 |
</apply-to> |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
15 |
</message> |
4464 | 16 |
``` |
17 |
||
18 |
The module is intentionally simple in the sense that it is basically a transport for https://ogp.me/ |
|
4487
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
19 |
|
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
20 |
Configuration |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
21 |
------------- |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
22 |
|
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
23 |
You can present a whitelist of domains for which OGP metadata will be fetched |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
24 |
via the `ogp_domain_whitelist` setting. |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
25 |
|
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
26 |
For example: |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
27 |
|
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
28 |
Component "muc.example.org" "muc" |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
29 |
modules_enabled = { "ogp" } |
c4f11a4b5ac7
mod_ogp: Add the ability to whitelist domains
JC Brand <jc@opkode.com>
parents:
4464
diff
changeset
|
30 |
ogp_domain_whitelist = { "prosody.im" } |