Mercurial > prosody-modules
view mod_dnsbl/README.markdown @ 6258:06fbbd45ba75
mod_cloud_notify: Readme: fix links and labels that were removed in the last commit
diff --git a/mod_cloud_notify/README.md b/mod_cloud_notify/README.md
--- a/mod_cloud_notify/README.md
+++ b/mod_cloud_notify/README.md
@@ -1,3 +1,9 @@
+----
+-labels:
+-- 'Stage-Beta'
+-summary: 'XEP-0357: Cloud push notifications'
+----
+
# Introduction
This module enables support for sending "push notifications" to clients
@@ -32,15 +38,15 @@ notification to your device. When your d
it will display it or wake up the app so it can connect to XMPP and
receive any pending messages.
-This protocol is described for developers in \[XEP-0357: Push
-Notifications\].
+This protocol is described for developers in [XEP-0357: Push
+Notifications].
-For this module to work reliably, you must have \[mod_smacks\],
-\[mod_mam\] and \[mod_carbons\] also enabled on your server.
+For this module to work reliably, you must have [mod_smacks],
+[mod_mam] and [mod_carbons] also enabled on your server.
Some clients, notably Siskin and Snikket iOS need some additional
extensions that are not currently defined in a standard XEP. To support
-these clients, see \[mod_cloud_notify_extensions\].
+these clients, see [mod_cloud_notify_extensions].
# Configuration
@@ -58,18 +64,18 @@ these clients, see \[mod_cloud_notify_ex
# Internal design notes
App servers are notified about offline messages, messages stored by
-\[mod_mam\] or messages waiting in the smacks queue. The business rules
+[mod_mam] or messages waiting in the smacks queue. The business rules
outlined
[here](//mail.jabber.org/pipermail/standards/2016-February/030925.html)
are all honored[^2].
-To cooperate with \[mod_smacks\] this module consumes some events:
+To cooperate with [mod_smacks] this module consumes some events:
`smacks-ack-delayed`, `smacks-hibernation-start` and
`smacks-hibernation-end`. These events allow this module to send out
notifications for messages received while the session is hibernated by
-\[mod_smacks\] or even when smacks acknowledgements for messages are
+[mod_smacks] or even when smacks acknowledgements for messages are
delayed by a certain amount of seconds configurable with the
-\[mod_smacks\] setting `smacks_max_ack_delay`.
+[mod_smacks] setting `smacks_max_ack_delay`.
The `smacks_max_ack_delay` setting allows to send out notifications to
clients which aren't already in smacks hibernation state (because the
| author | Menel <menel@snikket.de> |
|---|---|
| date | Fri, 13 Jun 2025 10:44:37 +0200 |
| parents | 99860e1b817d |
| children |
line wrap: on
line source
--- labels: - 'Stage-Alpha' summary: 'Flag accounts registered by IPs matching blocklists' depends: - mod_anti_spam --- This module is designed for servers with public registration enabled, and makes it easier to identify accounts that have been registered by potentially "bad" IP addresses, e.g. those that are likely to be used by spam bots. **Note:** Running a Prosody instance with public registration enabled opens up your server as a potential relay for spam and abuse, which can have a negative impact on your server and the network as a whole. We do not recommended it unless you have prior experience operating public internet services and are prepared for the time and effort necessary to tackle any issues. For other advice, see the Prosody documentation on [public servers](https://prosody.im/doc/public_servers). ## How does it work? When a user account is registered on your server, this module checks the user's IP address against a list of configured blocklists. If a match is found, it flags the account using [mod_flags]. Flags can be reviewed and managed by using the mod_flags commands and flagged accounts can be automatically restricted, e.g. by mod_firewall or similar. This module supports two kinds of block lists: - DNS blocklists (DNSBLs) - Text files, with one IP/subnet per line ## Configuration **Note:** mod_dnsbl requires mod_anti_spam to be installed, but it does not need to be enabled or loaded (only some code is shared). mod_flags is also required, and this will be automatically loaded if not specified in the config file. The main configuration option is `dnsbls`, a list of DNSBL addresses: ```lua dnsbls = { "dnsbl.dronebl.org"; "cbl.abuseat.org"; } ``` You can set a message to be sent to users who register from a matched IP address: ```lua dnsbl_message = "Your IP address has been detected on a block list. Some functionality may be restricted." ``` You can change the default flag that is applied to accounts: ```lua dnsbl_flag = "dnsbl_hit" ``` ### File-based blocklists As well as real DNSBLs, you can also put file-based blocklists here, by prefixing `@` to a filesystem path (Prosody must have read permission to access the file): ```lua dnsbls = { "dnsbl.dronebl.org"; "@/etc/prosody/ip_blocklist.txt"; } ``` The file must contain a single IP address or subnet on each line, though blank lines and comments are ignored. For example: ``` # This is a comment 203.0.113.0/24 2001:db8:7894::/64 ``` File-based lists are automatically reloaded when you reload Prosody's configuration. ### Advanced configuration You can override the flag and message on a per-blocklist basis with a slightly more detailed configuration syntax: ```lua dnsbls = { ["dnsbl.dronebl.org"] = { flag = "dnsbl_hit"; message = "Your account is restricted because your IP address has been detected as running an open proxy. For more information see https://dronebl.org/lookup?ip={registration.ip}"; }; ["@/etc/prosody/ip_blocklist.txt"] = { flag = "local_blocklist"; message = "Your account is restricted"; }; } ``` ## Compatibility Compatible with Prosody 0.12 and later. If you are using Prosody 0.12, make sure you install mod_flags from the community module repository. If you are using a later version, mod_flags is already included with Prosody.
