Hello,
Depuis ce matin, j’ai des spammers qui créer des comptes sur l’une de mes instances Peertube pour vendre de la w**d.
Habituellement, je me protège de ces pénibles avec mon plugin georegister , qui me permet de bloquer les IPs en fonction de leurs pays. Sauf que ce coup-ci, les IPs ne sont pas associées à un pays que je peux facilement bloquer.
Je vous présente donc un nouveau plugin, codé à la va vite: filterregistrations.
L’idée: on peut configurer des chaînes de texte interdites dans le nom affiché, le nom d’utilisateur ou l’email.
Voilà comment se présente l’écran de configuration du plugin:
On trouve un champs par entrée de formulaire (display name, username, email).
Tous ces champs acceptent les mêmes syntaxes:
- une ligne commençant par
#
est considérée comme un commentaire, et sera ignorée - une ligne de la forme
/test/
ou/test/i
sera considérée comme une expression régulière (avec ou sans modificateurs) - les lignes vides (ou avec uniquement des espaces) sont ignorées
- pour les autres lignes, on regarde si la valeur contient cette ligne (on compare après avoir mis en minuscule, ce qui veut dire que le test est non sensible à la casse - du moins pour les caractères latins)
On a enfin un dernier champs, dans lequel on peut choisir le message à afficher aux utilisateur⋅rice⋅s dont l’inscription a été bloquée par le plugin.
C’est vraiment fait à l’arrache, pour dépanner rapidement. Je suis conscient qu’il va falloir:
- nettoyer un peu le code, et le passer en typescript
- ajouter des tests unitaires
- traduire les écrans de paramétrages
- ajouter de la documentation
- valider la configuration pour éviter les fautes de frappe, ou signifier les expressions régulières invalides
- permettre de filtrer aussi sur le nom de la chaîne par défaut
- un peu plus de finesse dans les messages de refus affichés
- gérer la sensibilité à la casse pour les alphabets non latins
Dans mon cas, pour bloquer la vague de spam que je subit, je vais par exemple ajouter ceci comme règle pour le champ username
: /weed.*delivery/i
.
Pour installer le plugin, il va falloir attendre quelques heures qu’il soit référencé par Peertube.
Si le plugin vous plait, et que ça vous dit de lâcher un petit pourboire, il y a des liens de sponsoring sur le dépot: GitHub - JohnXLivingston/peertube-plugin-filterregistrations: Peertube plugin for blocking registration depending on forbidden keywords or patterns in nickname, mail, ...