Reverting usage of RE2 (WIP):

**Breaking changes**

The livechat v13 introduced a new library to handle regular expressions in forbidden words, to avoid
[ReDOS](https://en.wikipedia.org/wiki/ReDoS) attacks.
Unfortunately, this library was not able to install itself properly on some systems, and some admins were not able
to install the livechat plugin.

That's why we have disabled this library in v14, and introduce a new settings to enable regexp in forbidden words.
By default this settings is disabled, and your users won't be able to use regexp in their forbidden words.

The risk by enabling this feature is that a malicious user could cause a denial of service for the chat bot, by using a
special crafted regular expression in their channel options, and sending a special crafter message in one of their
rooms. If you trust your users (those who have rights to livestream), you can enable the settings. Otherwise it is not
recommanded. See the documentation for more informations.

**Minor changes and fixes**

* Channel's forbidden words: new "enable" column.
* New settings to enable regular expressions for channel forbidden words.
* "Channel advanced configuration" settings: removing the "experimental feature" label.
This commit is contained in:
John Livingston
2025-06-19 12:07:39 +02:00
parent e41529b61f
commit 3624dd5c3c
65 changed files with 343 additions and 2145 deletions

View File

@ -77,7 +77,7 @@ action_import: استيراد
action_export: تصدير
token_date: التاريخ
poll_question: سؤال
prosody_firewall_file_enabled: مفعّل
enabled: مفعّل
prosody_firewall_name: الاسم
invalid_value: القيمة غير صالحة.
task_delete: حذف المهمة

View File

@ -565,7 +565,7 @@ poll_vote_ok: S'ha tingut en compte el vostre vot, els comptadors s'actualitzara
en breu.
moderator_note_original_nick: Àlies de la participant en el moment de la creació de
la nota
prosody_firewall_file_enabled: Activat
enabled: Activat
prosody_firewall_name: Nom
prosody_firewall_name_desc: "Només pot contenir caràcters alfanumèrics, guions baixos
i guions.\nEls scripts es carregaran per ordre alfabètic.\n"

View File

@ -488,7 +488,7 @@ prosody_firewall_configuration: Konfigurace mod_firewall Prosody
prosody_firewall_disabled_warning: "Varování: mod_firewall je zakázán v nastavení
<a href=\"/admin/plugins/show/peertube-plugin-livechat\" target=\"_blank\">pluginu</a>,
pokud chcete, aby byla tato konfigurace zohledněna, musíte ji povolit.\n"
prosody_firewall_file_enabled: Povoleno
enabled: Povoleno
prosody_firewall_name: Název
prosody_firewall_name_desc: "Může obsahovat pouze: alfanumerické znaky, podtržítka
a pomlčky.\nSkripty se načítají v abecedním pořadí.\n"

View File

@ -588,7 +588,7 @@ prosody_firewall_disabled_warning: "Warnung: mod_firewall ist in den livechat <a
/admin/plugins/show/peertube-plugin-livechat\" target=\"_blank\">Plugin-Einstellungen
</a> deaktiviert, du musst es aktivieren, wenn du willst, dass diese Konfiguration
beachtet wird.\n"
prosody_firewall_file_enabled: Aktiviert
enabled: Aktiviert
prosody_firewall_name: Name
prosody_firewall_name_desc: "Darf nur folgende Zeichen enthalten: alphanumerische
Zeichen, Unterstriche und Bindestriche.\nDie Skripte werden in alphabetischer Reihenfolge

View File

@ -627,7 +627,7 @@ prosody_firewall_configuration_help: |
Don't hesitate to share your configurations with the community (for example by adding some examples in the plugin documentation).
prosody_firewall_disabled_warning: |
Warning: mod_firewall is disabled in the livechat <a href="/admin/plugins/show/peertube-plugin-livechat" target="_blank">plugin settings</a>, you have to enable it if you want this configuration to be taken into account.
prosody_firewall_file_enabled: Enabled
enabled: Enabled
prosody_firewall_name: Name
prosody_firewall_name_desc: |
Can only contain: alphanumerical characters, underscores and hyphens.
@ -681,3 +681,8 @@ converse_theme_warning_description: |
Otherwise some user may experience issues depending on the Peertube theme they use.
</span>
back_to_last_msg: Go back to last message
enable_users_regexp: Enable regular expressions for channel's forbidden words
enable_users_regexp_description: |
When enabling this feature, streamers will be able to use Regular Expressions when configuring the chat bot.
You should not enable this feature if you don't trust your users (those who can create chat rooms, in other words: those who can create live streams).
A malicious user could create a specially crafted regular expression, and cause a bot denial of service.

View File

@ -611,7 +611,7 @@ prosody_firewall_disabled_warning: "Attention: mod_firewall est désactivé d
<a href=\"/admin/plugins/show/peertube-plugin-livechat\" target=\"_blank\">paramètres
du plugin livechat</a> , vous devez l'activer si vous voulez que cette configuration
soit prise en compte.\n"
prosody_firewall_file_enabled: Activé
enabled: Activé
prosody_firewall_name: Nom
prosody_firewall_name_desc: "Ne peut contenir que des caractères alphanumériques,
des traits de soulignement et des traits d'union.\nLes scripts seront chargés par

View File

@ -415,7 +415,7 @@ prosody_firewall_configuration_help: "Ovdje možeš konfigurirati modul Prosody
U nastavku možeš stvoriti više konfiguracijskih datoteka i promijeniti njihov redoslijed.\n
Nemoj se ustručavati dijeliti svoje konfiguracije sa zajednicom (na primjer dodavanjem
nekih primjera u dokumentaciju dodatka).\n"
prosody_firewall_file_enabled: Aktivirano
enabled: Aktivirano
prosody_firewall_name: Ime
prosody_firewall_content: Sadržaj datoteke
share_chat_dock: Dock

View File

@ -328,7 +328,7 @@ message_search_original_nick: メッセージ送信時の参加者のニック
prosody_firewall_label: Prosody mod_firewallを有効にする
prosody_firewall_configure_button: "<a class=\"peertube-button-link orange-button
secondary-button\" href=\"/p/livechat/admin/firewall\" target=\"_blank\">mod_firewallを設定</a>\n"
prosody_firewall_file_enabled: 有効
enabled: 有効
prosody_firewall_name: 名前
prosody_firewall_name_desc: "次の値のみ利用可能: 英数字、アンダーバー、ハイフン。\nスクリプトは、英字順で読み込まれます。\n"
prosody_firewall_content: ファイルコンテンツ

View File

@ -631,7 +631,7 @@ prosody_firewall_configuration_help: |
Não hesite em compartilhar suas configurações com a comunidade (por exemplo, adicionando alguns exemplos na documentação do plugin).
prosody_firewall_disabled_warning: |
Aviso: o mod_firewall está desabilitado nas configurações do plugin &lt;a href="/admin/plugins/show/peertube-plugin-livechat" target="_blank"&gt;do livechat&lt;/a&gt;, você precisa habilitá-lo se quiser que essa configuração seja levada em consideração.
prosody_firewall_file_enabled: 'Habilitado'
enabled: 'Habilitado'
prosody_firewall_name: 'Nome'
prosody_firewall_name_desc: |
Pode conter apenas: caracteres alfanuméricos, sublinhaso e hífens.

View File

@ -99,7 +99,7 @@ livechat_configuration_channel_slow_mode_label: 限速模式
livechat_configuration_channel_slow_mode_desc: "限速模式預設值:\n<ul>\n <li>0停用限速模式</li>\n
<li>任何正整數:使用者可以每 X 秒發送一條訊息(審核者不受限制)</li>\n</ul>\n"
prosody_firewall_name: 名字
prosody_firewall_file_enabled: 啟用
enabled: 啟用
livechat_configuration_channel_emojis_desc: "您可以為您的頻道組態自訂表情符號。\n這些表情符號將在表情符號選擇器中提供。\n\
使用者也可以透過其短名稱來使用它們(例如透過編寫“:shortname:”)。\n"
livechat_emojis_shortname: 簡稱