annotate mod_pastebin/README.md @ 6551:556d9584c65b

mod_firewall: Remove outdated "early stages" comment in readme
author Matthew Wild <mwild1@gmail.com>
date Sun, 24 May 2026 18:52:47 +0100
parents c819b1b5a775
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
1 ---
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
2 labels:
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
3 - Stage-Stable
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
4 summary: Redirect long messages to built-in pastebin
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
5 ---
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
7 # Introduction
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
9 Pastebins are used very often in IM, especially in chat rooms. You have
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
10 a long log or command output which you need to send to someone over IM,
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
11 and don't want to fill their message window with it. Put it on a
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
12 pastebin site, and give them the URL instead, simple.
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
14 Not for everyone... no matter how hard you try, people will be unaware,
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
15 or not care. They may also be too lazy to visit a pastebin. This is
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
16 where mod_pastebin comes in!
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
18 # Details
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
20 When someone posts to a room a "large" (the actual limit is
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
21 configurable) message, Prosody will intercept the message and convert it
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
22 to a URL pointing to a built-in pastebin server. The URLs are randomly
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
23 generated, so they can be considered for most purposes to be private,
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
24 and cannot be discovered by people who are not in the room.
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25
6336
c819b1b5a775 mod_pastebin: Clarify that mod_pastebin cannot process encrypted messages
Matthew Wild <mwild1@gmail.com>
parents: 6335
diff changeset
26 **Note:** mod_pastebin cannot read, and therefore does not act on, end-to-end
c819b1b5a775 mod_pastebin: Clarify that mod_pastebin cannot process encrypted messages
Matthew Wild <mwild1@gmail.com>
parents: 6335
diff changeset
27 encrypted messages (e.g. messages using OMEMO).
c819b1b5a775 mod_pastebin: Clarify that mod_pastebin cannot process encrypted messages
Matthew Wild <mwild1@gmail.com>
parents: 6335
diff changeset
28
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
29 # Usage
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
31 To set up mod_pastebin for MUC rooms it **must** be explicitly loaded,
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
32 as in the example below - it won't work when loaded globally, as that
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
33 will only load it onto normal virtual hosts.
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 For example:
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
36
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
37 Component "conference.example.com" "muc"
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
38 modules_enabled = { "pastebin" }
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
40 Pastes will be available by default at
1834
7bb2f149f8ec mod_pastebin/README: Try to clarify the config differences in 0.9+
Kim Alvefur <zash@zash.se>
parents: 1803
diff changeset
41 `http://<your-prosody>:5280/pastebin/` by default.
7bb2f149f8ec mod_pastebin/README: Try to clarify the config differences in 0.9+
Kim Alvefur <zash@zash.se>
parents: 1803
diff changeset
42
6261
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
43 Ports and path can be changed with [HTTP
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
44 settings](https://prosody.im/doc/http), for example like:
1834
7bb2f149f8ec mod_pastebin/README: Try to clarify the config differences in 0.9+
Kim Alvefur <zash@zash.se>
parents: 1803
diff changeset
45
6261
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
46 ``` {.lua}
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
47 http_paths = {
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
48 pastebin = "/$host-paste";
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
49 }
1c62edeb9147 mod_pastebin: Update Readme
Menel <menel@snikket.de>
parents: 5972
diff changeset
50 ```
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
51
4316
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
52 # Discovery
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
53
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
54 The line and character tresholds are advertised in
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
55 [service discovery][xep-0030] like this:
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
56
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
57 ``` {.xml}
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
58 <iq id="791d37e8-86d8-45df-adc2-9bcb17c45cb7" type="result" xml:lang="en" from="prosody@conference.prosody.im">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
59 <query xmlns="http://jabber.org/protocol/disco#info">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
60 <identity type="text" name="Prosŏdy IM Chatroom" category="conference"/>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
61 <feature var="http://jabber.org/protocol/muc"/>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
62 <feature var="https://modules.prosody.im/mod_pastebin"/>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
63 <x xmlns="jabber:x:data" type="result">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
64 <field type="hidden" var="FORM_TYPE">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
65 <value>http://jabber.org/protocol/muc#roominfo</value>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
66 </field>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
67 <field label="Title" type="text-single" var="muc#roomconfig_roomname">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
68 <value>Prosŏdy IM Chatroom</value>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
69 </field>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
70 <!-- etc... -->
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
71 <field type="text-single" var="{https://modules.prosody.im/mod_pastebin}max_lines">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
72 <value>12</value>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
73 </field>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
74 <field type="text-single" var="{https://modules.prosody.im/mod_pastebin}max_characters">
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
75 <value>1584</value>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
76 </field>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
77 </x>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
78 </query>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
79 </iq>
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
80 ```
4bba01ce2f98 mod_pastebin: Document tresholds inclusion in disco#info
Kim Alvefur <zash@zash.se>
parents: 4315
diff changeset
81
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
82 # Configuration
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
83
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
84 Option Description
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
85 ------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
86 pastebin_threshold Maximum length (in characters) of a message that is allowed to skip the pastebin. (default 500 characters)
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
87 pastebin_line_threshold The maximum number of lines a message may have before it is sent to the pastebin. (default 4 lines)
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
88 pastebin_trigger A string of characters (e.g. "!paste ") which if detected at the start of a message, always sends the message to the pastebin, regardless of length. (default: not set)
6334
ad9026b6a714 mod_pastebin: Add pastebin_ignore option, to allow suppressing pastebin behaviour (thanks Zaak)
Matthew Wild <mwild1@gmail.com>
parents: 6262
diff changeset
89 pastebin_ignore A string of characters (e.g. "!nopaste") which if detected **anywhere** within a message, won't send the message to the pastebin
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
90 pastebin_expire_after Number of hours after which to expire (remove) a paste, defaults to 24. Set to 0 to store pastes permanently on disk.
6335
1f00618ad3be mod_pastebin: Document pastebin_html_preview setting (thanks Zaak)
Matthew Wild <mwild1@gmail.com>
parents: 6334
diff changeset
91 pastebin_html_preview Whether to include a formatted preview in pastes (default: true)
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
92
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
93 # Compatibility
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
94
6262
fe0a58b863db READMEs: fixup compat tables
Kim Alvefur <zash@zash.se>
parents: 6261
diff changeset
95 ------- ----------------------
fe0a58b863db READMEs: fixup compat tables
Kim Alvefur <zash@zash.se>
parents: 6261
diff changeset
96 trunk Works as of 25-06-13
fe0a58b863db READMEs: fixup compat tables
Kim Alvefur <zash@zash.se>
parents: 6261
diff changeset
97 13.0 Works
fe0a58b863db READMEs: fixup compat tables
Kim Alvefur <zash@zash.se>
parents: 6261
diff changeset
98 0.12 Works
fe0a58b863db READMEs: fixup compat tables
Kim Alvefur <zash@zash.se>
parents: 6261
diff changeset
99 ------- ----------------------
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
100
4315
87e250409998 mod_pastebin: Normalize markdown
Kim Alvefur <zash@zash.se>
parents: 3484
diff changeset
101 # Todo
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
102
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
103 - Maximum paste length
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
104 - Web interface to submit pastes?