Software / code / prosody-modules
Annotate
mod_compression_unsafe/README.md @ 6344:eb834f754f57 draft default tip
Merge update
| author | Trần H. Trung <xmpp:trần.h.trung@trung.fun> |
|---|---|
| date | Fri, 18 Jul 2025 20:45:38 +0700 |
| parent | 6211:750d64c47ec6 |
| rev | line source |
|---|---|
|
6006
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
1 --- |
|
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
2 labels: |
|
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
3 - 'Stage-Deprecated' |
|
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
4 summary: 'Implementation of XEP-0138' |
|
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
5 ... |
|
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
6 |
|
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
7 ::: {.alert .alert-warning} |
|
2776
3092ae96c1f0
mod_compression: Rename to mod_compression_unsafe and add security note
Matthew Wild <mwild1@gmail.com>
parents:
2486
diff
changeset
|
8 **NOTE:** XMPP compression has unresolved [security concerns](https://mail.jabber.org/pipermail/standards/2014-October/029215.html), |
|
3092ae96c1f0
mod_compression: Rename to mod_compression_unsafe and add security note
Matthew Wild <mwild1@gmail.com>
parents:
2486
diff
changeset
|
9 and this module has been removed from Prosody and renamed. |
|
6006
b4ad7fa6b205
mod_compression_unsafe: Add Stage-Deprecated and warning highlight
Menel <menel@snikket.de>
parents:
6003
diff
changeset
|
10 ::: |
|
2776
3092ae96c1f0
mod_compression: Rename to mod_compression_unsafe and add security note
Matthew Wild <mwild1@gmail.com>
parents:
2486
diff
changeset
|
11 |
|
2483
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
12 While the bandwidth usage of XMPP isn't that much, compressing the data |
|
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
13 sent to/from your server can give significant benefits to those on slow |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 connections, such as dial-up or mobile networks. Prosody supports |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 compression for client-to-server (if your client supports it) and |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 server-to-server streams using the mod\_compression plugin. |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 # Details |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
|
2483
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
20 mod\_compression implements [XEP-0138], and supports the zlib compression |
|
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
21 algorithm. |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 ## Dependencies |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 The XMPP protocol specifies that all clients and servers supporting |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 compression must support the "zlib" compression method, and this is what |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 Prosody uses. However you will need to install zlib support for Lua on |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 your system. There are different ways of doing this depending on your |
|
2484
560378965b82
mod_compression/README: Fix formatting
Kim Alvefur <zash@zash.se>
parents:
2483
diff
changeset
|
29 system. If in doubt whether it is installed correctly, the command |
|
2486
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
30 `lua -lzlib` in a console should open a Lua prompt with no errors. |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
31 |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
32 Debian/Ubuntu |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
33 : `apt-get install lua-zlib` |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 |
|
2486
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
35 LuaRocks |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
36 : `luarocks install lua-zlib` |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
37 |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
38 Source |
|
a5d4a78c7619
mod_compression/README: Include lua-zlib installation instructions and link to source
Kim Alvefur <zash@zash.se>
parents:
2484
diff
changeset
|
39 : <https://github.com/brimworks/lua-zlib> |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
41 # Usage |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
42 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
43 ``` lua |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 modules_enabled = { |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 -- Other modules |
|
2793
4b7e6c01aa1c
mod_compression_unsafe README: Fix module name (thanks Flow)
Matthew Wild <mwild1@gmail.com>
parents:
2776
diff
changeset
|
46 "compression_unsafe"; -- Enable mod_compression_unsafe |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 } |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
48 ``` |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
49 |
|
2483
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
50 ## Configuration |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
51 |
|
2483
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
52 The compression level can be set using the `compression_level` option |
|
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
53 which can be a number from 1 to 9. Higher compression levels will use |
|
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
54 more resources but less bandwidth. |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
55 |
|
2483
b3097323278f
mod_compression/README: Some cleanup and rewording
Kim Alvefur <zash@zash.se>
parents:
2482
diff
changeset
|
56 ## Example |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
57 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
58 ``` lua |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
59 modules_enabled = { |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
60 -- Other modules |
|
2793
4b7e6c01aa1c
mod_compression_unsafe README: Fix module name (thanks Flow)
Matthew Wild <mwild1@gmail.com>
parents:
2776
diff
changeset
|
61 "compression_unsafe"; -- Enable mod_compression_unsafe |
|
2482
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
62 } |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
63 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
64 compression_level = 5 |
|
c96a53b0b820
mod_compression: Import from Prosody, revision 0c69305ab525
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
65 ``` |