From 3a1d1a4ca350ef64f9ceae2165e56f0de69938fc Mon Sep 17 00:00:00 2001 From: tituspijean Date: Thu, 23 Feb 2023 23:38:30 +0100 Subject: [PATCH 01/18] [autopatch] Upgrade auto-updater --- .github/workflows/updater.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/updater.yml b/.github/workflows/updater.yml index fb72ba0..a56d7cb 100644 --- a/.github/workflows/updater.yml +++ b/.github/workflows/updater.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Fetch the source code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Run the updater script @@ -33,7 +33,7 @@ jobs: - name: Create Pull Request id: cpr if: ${{ env.PROCEED == 'true' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v4 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: Update to version ${{ env.VERSION }} From 112dbd5040880b8c25e079a22916712e7b03d8ef Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 23 Feb 2023 22:38:34 +0000 Subject: [PATCH 02/18] Auto-update README --- README.md | 3 ++- README_fr.md | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 002df90..0ed4b70 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ It shall NOT be edited by hand. # Pi-hole for YunoHost -[![Integration level](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) ![Working status](https://ci-apps.yunohost.org/ci/badges/pihole.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/pihole.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) ![Working status](https://ci-apps.yunohost.org/ci/badges/pihole.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/pihole.maintain.svg) + [![Install Pi-hole with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=pihole) *[Lire ce readme en français.](./README_fr.md)* diff --git a/README_fr.md b/README_fr.md index 0f2fdb0..d5a7158 100644 --- a/README_fr.md +++ b/README_fr.md @@ -5,24 +5,25 @@ It shall NOT be edited by hand. # Pi-hole pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/pihole.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/pihole.maintain.svg) +[![Niveau d’intégration](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/pihole.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/pihole.maintain.svg) + [![Installer Pi-hole avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=pihole) *[Read this readme in english.](./README.md)* -> *Ce package vous permet d'installer Pi-hole rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* +> *Ce package vous permet d’installer Pi-hole rapidement et simplement sur un serveur YunoHost. +Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l’installer et en profiter.* -## Vue d'ensemble +## Vue d’ensemble Pi-hole® est un puits DNS qui protège vos appareils des contenus indésirables sans installer de logiciel côté client. **Version incluse :** 5.14.2~ynh1 -## Captures d'écran +## Captures d’écran -![Capture d'écran de Pi-hole](./doc/screenshots/dashboard.png) +![Capture d’écran de Pi-hole](./doc/screenshots/dashboard.png) ## Avertissements / informations importantes @@ -90,9 +91,9 @@ sudo ifconfig eth0 0.0.0.0 && sudo dhclient eth0 ## Documentations et ressources -* Site officiel de l'app : -* Documentation officielle de l'admin : -* Dépôt de code officiel de l'app : +* Site officiel de l’app : +* Documentation officielle de l’admin : +* Dépôt de code officiel de l’app : * Documentation YunoHost pour cette app : * Signaler un bug : @@ -108,4 +109,4 @@ ou sudo yunohost app upgrade pihole -u https://github.com/YunoHost-Apps/pihole_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** +**Plus d’infos sur le packaging d’applications :** \ No newline at end of file From 295986b654896513f443a25a57f3958967b7ad63 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 26 Aug 2023 08:09:50 +0200 Subject: [PATCH 03/18] Update _common.sh --- scripts/_common.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 2e40376..aff7007 100755 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,9 @@ # COMMON VARIABLES #================================================= -php_dependencies="php$YNH_DEFAULT_PHP_VERSION-common php$YNH_DEFAULT_PHP_VERSION-cgi php$YNH_DEFAULT_PHP_VERSION-sqlite3 php$YNH_DEFAULT_PHP_VERSION-xml php$YNH_DEFAULT_PHP_VERSION-intl" +YNH_PHP_VERSION="7.4" + +php_dependencies="php$YNH_PHP_VERSION-common php$YNH_PHP_VERSION-cgi php$YNH_PHP_VERSION-sqlite3 php$YNH_PHP_VERSION-xml php$YNH_PHP_VERSION-intl" # dependencies used by the app (must be on a single line) pkg_dependencies="cmake build-essential libgmp-dev libidn11-dev nettle-dev libreadline-dev sqlite3 cron curl iputils-ping psmisc unzip idn2 libcap2-bin dns-root-data libcap2 netcat-openbsd procps jq $php_dependencies" From 26e229014649cbee3c51badebc26afcb61dbf5e3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 26 Aug 2023 08:10:10 +0200 Subject: [PATCH 04/18] Update manifest.json --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 7b5e248..132b10d 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Network-wide ad blocking via your own DNS server", "fr": "Filtrage publicitaire via votre propre serveur DNS" }, - "version": "5.14.2~ynh1", + "version": "5.14.2~ynh2", "url": "https://pi-hole.net/", "upstream": { "license": "EUPL-1.2", @@ -26,7 +26,7 @@ } ], "requirements": { - "yunohost": ">= 11.0.9" + "yunohost": ">= 11.2" }, "multi_instance": false, "services": [ From bb24e38668ac591dc1034d109dfdb2036a91209c Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 26 Aug 2023 06:10:16 +0000 Subject: [PATCH 05/18] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0ed4b70..567ea84 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software. -**Shipped version:** 5.14.2~ynh1 +**Shipped version:** 5.14.2~ynh2 ## Screenshots diff --git a/README_fr.md b/README_fr.md index d5a7158..a21d3f7 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Pi-hole® est un puits DNS qui protège vos appareils des contenus indésirables sans installer de logiciel côté client. -**Version incluse :** 5.14.2~ynh1 +**Version incluse :** 5.14.2~ynh2 ## Captures d’écran From 81e482f6ed4d88a5a2f147d1e49c86f43e595ff8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 26 Aug 2023 08:12:31 +0200 Subject: [PATCH 06/18] Update restore --- scripts/restore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index 04f3281..5d468dc 100644 --- a/scripts/restore +++ b/scripts/restore @@ -115,7 +115,7 @@ ynh_restore_file --origin_path="$fpm_config_dir/php-fpm-$app.conf" ynh_restore_file --origin_path="$fpm_config_dir/pool.d/$app.conf" # Recreate a dedicated php-fpm config -ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint --dedicated_service +ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint #================================================= # RESTORE THE NGINX CONFIGURATION From db59fb55176dbfa3a1c93a0bb3be311c0648b612 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 26 Aug 2023 08:13:14 +0200 Subject: [PATCH 07/18] Update restore --- scripts/restore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index 5d468dc..bc048a5 100644 --- a/scripts/restore +++ b/scripts/restore @@ -115,7 +115,7 @@ ynh_restore_file --origin_path="$fpm_config_dir/php-fpm-$app.conf" ynh_restore_file --origin_path="$fpm_config_dir/pool.d/$app.conf" # Recreate a dedicated php-fpm config -ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint +#ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint #================================================= # RESTORE THE NGINX CONFIGURATION From 45da149eaae498b96d539837a7ccdd967af7ef95 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 10:42:33 +0200 Subject: [PATCH 08/18] Fix restore --- CHANGELOG.md | 44 ---------- actions.toml | 45 ---------- config_panel.toml.example | 70 --------------- scripts/config | 174 -------------------------------------- scripts/restore | 3 +- 5 files changed, 1 insertion(+), 335 deletions(-) delete mode 100644 CHANGELOG.md delete mode 100644 actions.toml delete mode 100644 config_panel.toml.example delete mode 100644 scripts/config diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index d840552..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,44 +0,0 @@ -Changelog -========= - -## Unreleased -- Nothing for now... - -## [3.3.1~ynh6](https://github.com/YunoHost-Apps/pihole_ynh/pull/51) - 2020-03-29 - -#### Added -* [Add a changelog](https://github.com/YunoHost-Apps/pihole_ynh/pull/51/commits/7299718e45d115a9b22b1eeb59b37028a731b616) - -#### Changed -- [Update to last standard](https://github.com/YunoHost-Apps/pihole_ynh/pull/51/commits/9294176a2d243d68b3095d0037466814d8efdcd5) -- [Update helpers](https://github.com/YunoHost-Apps/pihole_ynh/pull/51/commits/3be3dbca2fb0ec2887b7962aa5dcce4276ab31ce) -- [Use toml for actions and config-panel](https://github.com/YunoHost-Apps/pihole_ynh/pull/51/commits/b1ec989d2a74f6cefaf97eb1ed59dd6b9fc82bcf) -* [use scalable phpfpm](https://github.com/YunoHost-Apps/pihole_ynh/pull/51/commits/1bf6783e334cd1260f418d641d29e8e11c7e6edc) -- [Update to last standard](https://github.com/YunoHost-Apps/pihole_ynh/pull/51/commits/a719095dc51c8c7af8a6f34f75c92a08f45e0012) - - -## [3.3.1~ynh5](https://github.com/YunoHost-Apps/pihole_ynh/pull/39) - 2019-02-03 - -#### Added -- [Add progression bar](https://github.com/YunoHost-Apps/pihole_ynh/pull/39/commits/887e6fcc79bfd71fbd8a97b59f912ef029f90cdf) -* [Changelog & html email](https://github.com/YunoHost-Apps/pihole_ynh/pull/39/commits/2229f7817327ceb2d2ca41310493a5483fb94ef9) - -#### Changed -- [Update php and nginx conf files to php7](https://github.com/YunoHost-Apps/pihole_ynh/pull/39/commits/65d1ba63fcaffba347ab01d690d9ced08837a69b) - - -## [3.3.1~ynh4](https://github.com/YunoHost-Apps/pihole_ynh/pull/36) - 2019-01-24 - -#### Fixed -- [Fix #37 for post_domain_add](https://github.com/YunoHost-Apps/pihole_ynh/pull/38/commits/d34d953efbc93e3d3e4547e3d8585a35c1eb8751) - -## [3.3.1~ynh4](https://github.com/YunoHost-Apps/pihole_ynh/pull/36) - 2019-01-21 - -#### Added -- [Advertise config-panel and actions](https://github.com/YunoHost-Apps/pihole_ynh/pull/36/commits/a4a720a9e8bae6a6d4e43a860c71c9e8947fafea) - -#### Fixed -- [Fix install issue](https://github.com/YunoHost-Apps/pihole_ynh/pull/36/commits/3b7e0608c42402433888f9129e8c9dacbb9f4797) - -#### Changed -- [Update to last standart](https://github.com/YunoHost-Apps/pihole_ynh/pull/36/commits/0478648b332e312d980becea48e8381b01133c7b) diff --git a/actions.toml b/actions.toml deleted file mode 100644 index 71fd449..0000000 --- a/actions.toml +++ /dev/null @@ -1,45 +0,0 @@ -[reset_default_setupvars] -name = "Reset the config file and restore a default one." -command = "/bin/bash scripts/actions/reset_default_config \"setupVars.conf\"" -# user = "root" # optional -# cwd = "/" # optional -# accepted_return_codes = [0, 1, 2, 3] # optional -accepted_return_codes = [0] -description = "Reset the config file setupVars.conf." - -[reset_default_ftl] -name = "Reset the config file and restore a default one." -command = "/bin/bash scripts/actions/reset_default_config \"pihole-FTL.conf\"" -# user = "root" # optional -# cwd = "/" # optional -# accepted_return_codes = [0, 1, 2, 3] # optional -accepted_return_codes = [0] -description = "Reset the config file pihole-FTL.conf." - -[reset_default_nginx] -name = "Reset the nginx config for this app." -command = "/bin/bash scripts/actions/reset_default_system nginx" -# user = "root" # optional -# cwd = "/" # optional -# accepted_return_codes = [0, 1, 2, 3] # optional -accepted_return_codes = [0] -description = "Reset the nginx config for this app." - -[reset_default_phpfpm] -name = "Reset the php-fpm config for this app." -command = "/bin/bash scripts/actions/reset_default_system phpfpm" -# user = "root" # optional -# cwd = "/" # optional -# accepted_return_codes = [0, 1, 2, 3] # optional -accepted_return_codes = [0] -description = "Reset the php-fpm config for this app." - - -[reset_default_app] -name = "Reset the app with a default configuration." -command = "/bin/bash scripts/actions/reset_default_app" -# user = "root" # optional -# cwd = "/" # optional -# accepted_return_codes = [0, 1, 2, 3] # optional -accepted_return_codes = [0] -description = "Reset the app to its default configuration to try to fix potential issues.
This action won't remove any data added to the app.
However, if you have modified any configuration, it will be overwritten." diff --git a/config_panel.toml.example b/config_panel.toml.example deleted file mode 100644 index 1c3cfad..0000000 --- a/config_panel.toml.example +++ /dev/null @@ -1,70 +0,0 @@ -version = "1.0" -name = "PiHole configuration panel" - -[main] -name = "PiHole configuration" - - [main.overwrite_files] - name = "Overwriting config files" - - [main.overwrite_files.overwrite_setupvars] - ask = "Overwrite the config file setupVars.conf?" - type = "boolean" - default = true - help = "If the file is overwritten, a backup will be created." - - [main.overwrite_files.overwrite_ftl] - ask = "Overwrite the config file pihole-FTL.conf?" - type = "boolean" - default = true - help = "If the file is overwritten, a backup will be created." - - [main.overwrite_files.overwrite_nginx] - ask = "Overwrite the nginx config file?" - type = "boolean" - default = true - help = "If the file is overwritten, a backup will be created." - - [main.overwrite_files.overwrite_phpfpm] - ask = "Overwrite the php-fpm config file?" - type = "boolean" - default = true - help = "If the file is overwritten, a backup will be created." - - - [main.global_config] - name = "Global configuration" - - [main.global_config.email_type] - ask = "Send HTML email to admin?" - type = "boolean" - default = true - help = "Allow app scripts to send HTML mails instead of plain text." - - - [main.php_fpm_config] - name = "PHP-FPM configuration" - - [main.php_fpm_config.footprint] - ask = "Memory footprint of the service?" - choices = ["low", "medium", "high", "specific"] - default = "low" - help = "low <= 20Mb per pool. medium between 20Mb and 40Mb per pool. high > 40Mb per pool.
Use specific to set a value with the following option." - - [main.php_fpm_config.free_footprint] - ask = "Memory footprint of the service?" - type = "number" - default = "0" - help = "Free field to specify exactly the footprint in Mb if you don't want to use one of the three previous values." - - [main.php_fpm_config.usage] - ask = "Expected usage of the service?" - choices = ["low", "medium", "high"] - default = "low" - help = "low: Personal usage, behind the sso. No RAM footprint when not used, but the impact on the processor can be high if many users are using the service.
medium: Low usage, few people or/and publicly accessible. Low RAM footprint, medium processor footprint when used.
high: High usage, frequently visited website. High RAM footprint, but lower on processor usage and quickly responding." - - [main.php_fpm_config.force_max_children] - ask = "Force the value of pm.max_children?" - type = "number" - default = "0" - help = "Do not change this value unless you're sure about what you're doing !
pm.max_children is automatically defined by this formula: $max_ram / 2 / $footprint
You can force that value, and ignore the formula by changing the value here.
To reset to the default value, set to 0." diff --git a/scripts/config b/scripts/config deleted file mode 100644 index 6493162..0000000 --- a/scripts/config +++ /dev/null @@ -1,174 +0,0 @@ -#!/bin/bash - -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -source _common.sh -source /usr/share/yunohost/helpers - -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -app=$YNH_APP_INSTANCE_NAME - -fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) - -#================================================= -# SPECIFIC CODE -#================================================= -# LOAD VALUES -#================================================= - -# Load the real value from the app config or elsewhere. -# Then get the value from the form. -# If the form has a value for a variable, take the value from the form, -# Otherwise, keep the value from the app config. - -# Overwrite setupVars.conf file -old_overwrite_setupvars="$(ynh_app_setting_get --app=$app --key=overwrite_setupvars)" -overwrite_setupvars="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_SETUPVARS:-$old_overwrite_setupvars}" - -# Overwrite pihole-FTL.conf file -old_overwrite_ftl="$(ynh_app_setting_get --app=$app --key=overwrite_ftl)" -overwrite_ftl="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_FTL:-$old_overwrite_ftl}" - -# Overwrite nginx configuration -old_overwrite_nginx="$(ynh_app_setting_get --app=$app --key=overwrite_nginx)" -overwrite_nginx="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX:-$old_overwrite_nginx}" - -# Overwrite php-fpm configuration -old_overwrite_phpfpm="$(ynh_app_setting_get --app=$app --key=overwrite_phpfpm)" -overwrite_phpfpm="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_PHPFPM:-$old_overwrite_phpfpm}" - - -# Type of admin mail configuration -old_admin_mail_html="$(ynh_app_setting_get --app=$app --key=admin_mail_html)" -admin_mail_html="${YNH_CONFIG_MAIN_GLOBAL_CONFIG_EMAIL_TYPE:-$old_admin_mail_html}" - - -# Footprint for php-fpm -old_fpm_footprint="$(ynh_app_setting_get --app=$app --key=fpm_footprint)" -fpm_footprint="${YNH_CONFIG_MAIN_PHP_FPM_CONFIG_FOOTPRINT:-$old_fpm_footprint}" - -# Free footprint value for php-fpm -# Check if fpm_footprint is an integer -if [ "$fpm_footprint" -eq "$fpm_footprint" ] 2> /dev/null -then - # If fpm_footprint is an integer, that's a numeric value for the footprint - old_free_footprint=$fpm_footprint - fpm_footprint=specific -else - old_free_footprint=0 -fi -free_footprint="${YNH_CONFIG_MAIN_PHP_FPM_CONFIG_FREE_FOOTPRINT:-$old_free_footprint}" - -# Usage for php-fpm -old_fpm_usage="$(ynh_app_setting_get --app=$app --key=fpm_usage)" -fpm_usage="${YNH_CONFIG_MAIN_PHP_FPM_CONFIG_USAGE:-$old_fpm_usage}" - -# php_forced_max_children for php-fpm -old_php_forced_max_children="$(ynh_app_setting_get --app=$app --key=php_forced_max_children)" -# If php_forced_max_children isn't into settings.yml, get the current value from the fpm config -if [ -z "$old_php_forced_max_children" ]; then - old_php_forced_max_children="$(grep "^pm.max_children" "$fpm_config_dir/pool.d/$app.conf" | awk '{print $3}')" -fi -php_forced_max_children="${YNH_CONFIG_MAIN_PHP_FPM_CONFIG_FORCE_MAX_CHILDREN:-$old_php_forced_max_children}" - -#================================================= -# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND -#================================================= - -show_config() { - # here you are supposed to read some config file/database/other then print the values - # ynh_return "YNH_CONFIG_${PANEL_ID}_${SECTION_ID}_${OPTION_ID}=value" - - ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_SETUPVARS=$overwrite_setupvars" - ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_FTL=$overwrite_ftl" - ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX=$overwrite_nginx" - ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_PHPFPM=$overwrite_phpfpm" - - ynh_return "YNH_CONFIG_MAIN_GLOBAL_CONFIG_EMAIL_TYPE=$admin_mail_html" - - ynh_return "YNH_CONFIG_MAIN_PHP_FPM_CONFIG_FOOTPRINT=$fpm_footprint" - ynh_return "YNH_CONFIG_MAIN_PHP_FPM_CONFIG_FREE_FOOTPRINT=$free_footprint" - ynh_return "YNH_CONFIG_MAIN_PHP_FPM_CONFIG_USAGE=$fpm_usage" - ynh_return "YNH_CONFIG_MAIN_PHP_FPM_CONFIG_FORCE_MAX_CHILDREN=$php_forced_max_children" -} - -#================================================= -# MODIFY THE CONFIGURATION -#================================================= - -apply_config() { - - #================================================= - # MODIFY OVERWRITTING SETTINGS - #================================================= - - # Set overwrite_setupvars - ynh_app_setting_set --app=$app --key=overwrite_setupvars --value="$overwrite_setupvars" - # Set overwrite_ftl - ynh_app_setting_set --app=$app --key=overwrite_ftl --value="$overwrite_ftl" - # Set overwrite_nginx - ynh_app_setting_set --app=$app --key=overwrite_nginx --value="$overwrite_nginx" - # Set overwrite_phpfpm - ynh_app_setting_set --app=$app --key=overwrite_phpfpm --value="$overwrite_phpfpm" - - #================================================= - # MODIFY EMAIL SETTING - #================================================= - - # Set admin_mail_html - ynh_app_setting_set --app=$app --key=admin_mail_html --value="$admin_mail_html" - - #================================================= - # RECONFIGURE PHP-FPM - #================================================= - - if [ "$fpm_usage" != "$old_fpm_usage" ] || \ - [ "$fpm_footprint" != "$old_fpm_footprint" ] || \ - [ "$free_footprint" != "$old_free_footprint" ] || \ - [ "$php_forced_max_children" != "$old_php_forced_max_children" ] - then - # If fpm_footprint is set to 'specific', use $free_footprint value. - if [ "$fpm_footprint" = "specific" ] - then - fpm_footprint=$free_footprint - fi - - if [ "$php_forced_max_children" != "$old_php_forced_max_children" ] - then - # Set php_forced_max_children - if [ $php_forced_max_children -ne 0 ] - then - ynh_app_setting_set --app=$app --key=php_forced_max_children --value="$php_forced_max_children" - else - # If the value is set to 0, remove the setting - ynh_app_setting_delete --app=$app --key=php_forced_max_children - fi - fi - - if [ "$fpm_footprint" != "0" ] - then - ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint --dedicated_service - else - ynh_print_err --message="When selecting 'specific', you have to set a footprint value into the field below." - fi - fi -} - -#================================================= -# GENERIC FINALIZATION -#================================================= -# SELECT THE ACTION FOLLOWING THE GIVEN ARGUMENT -#================================================= - -case $1 in - show) show_config;; - apply) apply_config;; -esac diff --git a/scripts/restore b/scripts/restore index bc048a5..9b67a70 100644 --- a/scripts/restore +++ b/scripts/restore @@ -37,7 +37,6 @@ admin=$(ynh_app_setting_get --app=$app --key=admin) fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage) fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir) -fpm_service=$(ynh_app_setting_get --app=$app --key=fpm_service) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -260,7 +259,7 @@ ynh_systemd_action --service_name=pihole-FTL --action=restart --log_path="/var/l #================================================= ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=1 -ynh_systemd_action --service_name=$fpm_service --action=reload +ynh_systemd_action --service_name=php$phpversion-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= From 26e68019f1997800e171d149f478faef779de522 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 11:58:33 +0200 Subject: [PATCH 09/18] More boring legacy/unused stuff --- scripts/_common.sh | 138 --------------------------------------------- scripts/install | 1 - scripts/upgrade | 9 --- 3 files changed, 148 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index aff7007..8556a88 100755 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -247,144 +247,6 @@ ynh_maintenance_mode_OFF () { systemctl reload nginx } -#================================================= - -# Create a changelog for an app after an upgrade from the file CHANGELOG.md. -# -# usage: ynh_app_changelog [--format=markdown/html/plain] [--output=changelog_file] --changelog=changelog_source] -# | arg: -f --format= - Format in which the changelog will be printed -# markdown: Default format. -# html: Turn urls into html format. -# plain: Plain text changelog -# | arg: -o --output= - Output file for the changelog file (Default ./changelog) -# | arg: -c --changelog= - CHANGELOG.md source (Default ../CHANGELOG.md) -# -# The changelog is printed into the file ./changelog and ./changelog_lite -ynh_app_changelog () { - # Declare an array to define the options of this helper. - local legacy_args=foc - declare -Ar args_array=( [f]=format= [o]=output= [c]=changelog= ) - local format - local output - local changelog - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - format=${format:-markdown} - output=${output:-changelog} - changelog=${changelog:-../CHANGELOG.md} - - local original_changelog="$changelog" - local temp_changelog="changelog_temp" - local final_changelog="$output" - - if [ ! -n "$original_changelog" ] - then - echo "No changelog available..." > "$final_changelog" - echo "No changelog available..." > "${final_changelog}_lite" - return 0 - fi - - local current_version=$(ynh_read_manifest --manifest="/etc/yunohost/apps/$YNH_APP_INSTANCE_NAME/manifest.json" --manifest_key="version") - local update_version=$(ynh_read_manifest --manifest="../manifest.json" --manifest_key="version") - - # Get the line of the version to update to into the changelog - local update_version_line=$(grep --max-count=1 --line-number "^## \[$update_version" "$original_changelog" | cut -d':' -f1) - # If there's no entry for this version yet into the changelog - # Get the first available version - if [ -z "$update_version_line" ] - then - update_version_line=$(grep --max-count=1 --line-number "^##" "$original_changelog" | cut -d':' -f1) - fi - - # Get the length of the complete changelog. - local changelog_length=$(wc --lines "$original_changelog" | awk '{print $1}') - # Cut the file before the version to update to. - tail --lines=$(( $changelog_length - $update_version_line + 1 )) "$original_changelog" > "$temp_changelog" - - # Get the length of the troncated changelog. - changelog_length=$(wc --lines "$temp_changelog" | awk '{print $1}') - # Get the line of the current version into the changelog - # Keep only the last line found - local current_version_line=$(grep --line-number "^## \[$current_version" "$temp_changelog" | cut -d':' -f1 | tail --lines=1) - # If there's no entry for this version into the changelog - # Get the last available version - if [ -z "$current_version_line" ] - then - current_version_line=$(grep --line-number "^##" "$original_changelog" | cut -d':' -f1 | tail --lines=1) - fi - # Cut the file before the current version. - # Then grep the previous version into the changelog to get the line number of the previous version - local previous_version_line=$(tail --lines=$(( $changelog_length - $current_version_line )) \ - "$temp_changelog" | grep --max-count=1 --line-number "^## " | cut -d':' -f1) - # If there's no previous version into the changelog - # Go until the end of the changelog - if [ -z "$previous_version_line" ] - then - previous_version_line=$changelog_length - fi - - # Cut the file after the previous version to keep only the changelog between the current version and the version to update to. - head --lines=$(( $current_version_line + $previous_version_line - 1 )) "$temp_changelog" | tee "$final_changelog" - - if [ "$format" = "html" ] - then - # Replace markdown links by html links - ynh_replace_string --match_string="\[\(.*\)\](\(.*\)))" --replace_string="\1)" --target_file="$final_changelog" - ynh_replace_string --match_string="\[\(.*\)\](\(.*\))" --replace_string="\1" --target_file="$final_changelog" - elif [ "$format" = "plain" ] - then - # Change title format. - ynh_replace_string --match_string="^##.*\[\(.*\)\](\(.*\)) - \(.*\)$" --replace_string="## \1 (\3) - \2" --target_file="$final_changelog" - # Change modifications lines format. - ynh_replace_string --match_string="^\([-*]\).*\[\(.*\)\]\(.*\)" --replace_string="\1 \2 \3" --target_file="$final_changelog" - fi - # else markdown. As the file is already in markdown, nothing to do. - - # Keep only important changes into the changelog - # Remove all minor changes - sed '/^-/d' "$final_changelog" > "${final_changelog}_lite" - # Remove all blank lines (to keep a clear workspace) - sed --in-place '/^$/d' "${final_changelog}_lite" - # Add a blank line at the end - echo "" >> "${final_changelog}_lite" - - # Clean titles if there's no significative changes - local line - local previous_line="" - while read line <&3 - do - if [ -n "$previous_line" ] - then - # Remove the line if it's a title or a blank line, and the previous one was a title as well. - if ( [ "${line:0:1}" = "#" ] || [ ${#line} -eq 0 ] ) && [ "${previous_line:0:1}" = "#" ] - then - ynh_replace_special_string --match_string="${previous_line//[/.}" --replace_string="" --target_file="${final_changelog}_lite" - fi - fi - previous_line="$line" - done 3< "${final_changelog}_lite" - - # Remove all blank lines again - sed --in-place '/^$/d' "${final_changelog}_lite" - - # Restore changelog format with blank lines - ynh_replace_string --match_string="^##.*" --replace_string="\n\n&\n" --target_file="${final_changelog}_lite" - # Remove the 2 first blank lines - sed --in-place '1,2d' "${final_changelog}_lite" - # Add a blank line at the end - echo "" >> "${final_changelog}_lite" - - # If changelog are empty, add an info - if [ $(wc --words "$final_changelog" | awk '{print $1}') -eq 0 ] - then - echo "No changes from the changelog..." > "$final_changelog" - fi - if [ $(wc --words "${final_changelog}_lite" | awk '{print $1}') -eq 0 ] - then - echo "No significative changes from the changelog..." > "${final_changelog}_lite" - fi -} - #================================================= # FUTURE OFFICIAL HELPERS #================================================= diff --git a/scripts/install b/scripts/install index c1a968c..f70634a 100644 --- a/scripts/install +++ b/scripts/install @@ -57,7 +57,6 @@ ynh_app_setting_set --app=$app --key=overwrite_setupvars --value=1 ynh_app_setting_set --app=$app --key=overwrite_ftl --value=1 ynh_app_setting_set --app=$app --key=overwrite_nginx --value=1 ynh_app_setting_set --app=$app --key=overwrite_phpfpm --value=1 -ynh_app_setting_set --app=$app --key=admin_mail_html --value=1 #================================================= # STANDARD MODIFICATIONS diff --git a/scripts/upgrade b/scripts/upgrade index adbed2c..ec42e59 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -29,7 +29,6 @@ overwrite_setupvars=$(ynh_app_setting_get --app=$app --key=overwrite_setupvars) overwrite_ftl=$(ynh_app_setting_get --app=$app --key=overwrite_ftl) overwrite_nginx=$(ynh_app_setting_get --app=$app --key=overwrite_nginx) overwrite_phpfpm=$(ynh_app_setting_get --app=$app --key=overwrite_phpfpm) -admin_mail_html=$(ynh_app_setting_get --app=$app --key=admin_mail_html) fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage) @@ -418,14 +417,6 @@ ynh_maintenance_mode_OFF # Get main domain and buid the url of the admin panel of the app. admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app" -# If a HTML email is required. Apply HTML to the changelog. -if [ "$admin_mail_html" -eq 1 ]; then - format=html -else - format=plain -fi -ynh_app_changelog --format=$format - if [ $enable_dhcp -eq 1 ] then dhcp_alert="You asked to use the internal DHCP server of dnsmasq with Pi-hole. From 5d1d0a3745fdeb23d545e00bf87bc10edd2ba612 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 11:59:23 +0200 Subject: [PATCH 10/18] More restore fixing.. --- scripts/restore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index 9b67a70..5bd6d36 100644 --- a/scripts/restore +++ b/scripts/restore @@ -259,7 +259,7 @@ ynh_systemd_action --service_name=pihole-FTL --action=restart --log_path="/var/l #================================================= ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=1 -ynh_systemd_action --service_name=php$phpversion-fpm --action=reload +ynh_systemd_action --service_name=php$YNH_PHP_VERSION-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= From 703208bef26f4a3ceeef1058ba7d107a9f264872 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 14:42:57 +0200 Subject: [PATCH 11/18] More cleanup / trying to fix php during restore --- manifest.json | 2 +- scripts/_common.sh | 0 scripts/actions/reset_default_app | 224 --------------------------- scripts/actions/reset_default_config | 87 ----------- scripts/actions/reset_default_system | 64 -------- scripts/backup | 1 - scripts/install | 4 +- scripts/remove | 0 scripts/restore | 11 +- scripts/upgrade | 48 +----- 10 files changed, 9 insertions(+), 432 deletions(-) mode change 100755 => 100644 scripts/_common.sh delete mode 100755 scripts/actions/reset_default_app delete mode 100755 scripts/actions/reset_default_config delete mode 100755 scripts/actions/reset_default_system mode change 100755 => 100644 scripts/remove diff --git a/manifest.json b/manifest.json index 132b10d..3822c07 100644 --- a/manifest.json +++ b/manifest.json @@ -26,7 +26,7 @@ } ], "requirements": { - "yunohost": ">= 11.2" + "yunohost": ">= 11.2.4" }, "multi_instance": false, "services": [ diff --git a/scripts/_common.sh b/scripts/_common.sh old mode 100755 new mode 100644 diff --git a/scripts/actions/reset_default_app b/scripts/actions/reset_default_app deleted file mode 100755 index 4bcce48..0000000 --- a/scripts/actions/reset_default_app +++ /dev/null @@ -1,224 +0,0 @@ -#!/bin/bash - -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -# Load common variables for all scripts. -source scripts/_common.sh -source /usr/share/yunohost/helpers - -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { -# Clean installation remaining that are not handle by the remove script. - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -app=$YNH_APP_INSTANCE_NAME - -path_url=$(ynh_app_setting_get --app=$app --key=path) -domain=$(ynh_app_setting_get --app=$app --key=domain) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) - -#================================================= -# SPECIFIC ACTION -#================================================= -# ACTIVATE MAINTENANCE MODE -#================================================= -ynh_script_progression --message="Activating maintenance mode..." --weight=1 - -ynh_maintenance_mode_ON - -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 - -# Create a dedicated user (if not existing) -ynh_system_user_create --username=$app - -#================================================= -# DOWNLOAD, CHECK AND UNPACK SOURCE -#================================================= -ynh_script_progression --message="Resetting source files..." --weight=1 - -# Download, check integrity, uncompress and patch the source from app.src -( - cd scripts - # Overwrite the last version available - YNH_CWD=$PWD ynh_setup_source --dest_dir="$PI_HOLE_LOCAL_REPO" --source_id="pi-hole_Core" - # Overwrite admin dashboard - YNH_CWD=$PWD ynh_setup_source --dest_dir="$final_path" --source_id=pi-hole_AdminLTE - - chown $app:www-data "$final_path" - -) - -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Resetting NGINX web server configuration..." --weight=1 - -# Create a dedicated nginx config -yunohost app action run $app reset_default_nginx - -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Resetting PHP-FPM configuration..." --weight=1 - -# Create a dedicated php-fpm config -yunohost app action run $app reset_default_phpfpm - -#================================================= -# RECREATE DIRECTORIES -#================================================= -ynh_script_progression --message="Recreating and populating directories..." --weight=1 - -mkdir -p "$PI_HOLE_CONFIG_DIR" -chown $app: -R "$PI_HOLE_CONFIG_DIR" - -mkdir -p "$PI_HOLE_INSTALL_DIR" - -# Make a copy of Pi-Hole scripts -cp -a "$PI_HOLE_LOCAL_REPO/gravity.sh" "$PI_HOLE_INSTALL_DIR/" -cp -a $PI_HOLE_LOCAL_REPO/advanced/Scripts/*.sh "$PI_HOLE_INSTALL_DIR/" - -# And copy this fucking COL_TABLE file... -cp -a "$PI_HOLE_LOCAL_REPO/advanced/Scripts/COL_TABLE" "$PI_HOLE_INSTALL_DIR/" - -#================================================= -# COPY PI-HOLE MAIN SCRIPT -#================================================= -ynh_script_progression --message="Copying Pi-Hole main script..." - -cp -a "$PI_HOLE_LOCAL_REPO/pihole" $PI_HOLE_BIN_DIR/ -cp -a "$PI_HOLE_LOCAL_REPO/advanced/bash-completion/pihole" /etc/bash_completion.d/pihole - -#================================================= -# RECREATE LOG FILES -#================================================= - -touch /var/log/{pihole,pihole-FTL}.log -chmod 644 /var/log/{pihole,pihole-FTL}.log -dnsmasq_user=$(grep DNSMASQ_USER= /etc/init.d/dnsmasq | cut -d'"' -f2) -chown $dnsmasq_user:root /var/log/{pihole,pihole-FTL}.log - -#================================================= -# RECREATE SUDOER FILE -#================================================= - -# This sudoers config allow pihole to execute $PI_HOLE_BIN_DIR/pihole as root without password. Nothing more. -cp "$PI_HOLE_LOCAL_REPO/advanced/Templates/pihole.sudo" /etc/sudoers.d/pihole -echo "$app ALL=NOPASSWD: $PI_HOLE_BIN_DIR/pihole" >> /etc/sudoers.d/pihole -# echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:$PI_HOLE_BIN_DIR" >> /etc/sudoers.d/pihole -chmod 0440 /etc/sudoers.d/pihole - -#================================================= -# REINSTALL LOGROTATE SCRIPT FOR PI-HOLE -#================================================= - -cp "$PI_HOLE_LOCAL_REPO/advanced/Templates/logrotate" "$PI_HOLE_CONFIG_DIR/logrotate" -sed -i "/# su #/d;" "$PI_HOLE_CONFIG_DIR/logrotate" - -#================================================= -# REINSTALLATION OF PIHOLE-FTL -#================================================= -ynh_script_progression --message="Reinstalling PiHole-FTL..." --weight=30 - -# Get the source of Pi-Hole-FTL -FTL_temp_path=$(mktemp -d) -# Install the last version available -ynh_setup_source --dest_dir="$FTL_temp_path" --source_id="pi-hole_FTL" - -# Instead of downloading a binary file, we're going to compile it -( - cd "$FTL_temp_path" - ynh_exec_warn_less make - ynh_exec_warn_less make install -) -ynh_secure_remove --file="$FTL_temp_path" - -cp "../conf/dns-servers.conf" "$PI_HOLE_CONFIG_DIR" - -# Restore the default pihole-FTL.conf -yunohost app action run $app reset_default_ftl - -cp -a $PI_HOLE_LOCAL_REPO/advanced/Templates/pihole-FTL.service /etc/init.d/pihole-FTL -chmod +x /etc/init.d/pihole-FTL -ynh_exec_warn_less systemctl enable pihole-FTL - -# Reload systemd config -systemctl daemon-reload - -#================================================= -# RESET THE VARIABLES FILE -#================================================= - -# Restore the default setupVars.conf -yunohost app action run $app reset_default_setupvars - -#================================================= -# RESET DNSMASQ CONFIG -#================================================= - -# Restore the default setupVars.conf -yunohost app action run $app reset_default_dnsmasq - -#================================================= -# REINSTALL CRON JOB -#================================================= - -cp $PI_HOLE_LOCAL_REPO/advanced/Templates/pihole.cron /etc/cron.d/pihole - -# Remove git usage for version. Which fails because we use here a release instead of master. -ynh_replace_string --match_string=".*updatechecker.*" --replace_string="#&" --target_file=/etc/cron.d/pihole - -#================================================= -# REINSTALL CONF_REGEN HOOK -#================================================= - -( - cd scripts - cp ../conf/dnsmasq_regenconf_hook /usr/share/yunohost/hooks/conf_regen/50-dnsmasq_$app - ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="/usr/share/yunohost/hooks/conf_regen/50-dnsmasq_$app" -) - -#================================================= -# RESTART PIHOLE-FTL -#================================================= - -ynh_script_progression --message="Restarting PiHole-FTL..." --weight=2 - -ynh_systemd_action --service_name=pihole-FTL --action=restart --log_path="/var/log/pihole-FTL.log" - -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 - -ynh_systemd_action --service_name=nginx --action=reload - -#================================================= -# DEACTIVE MAINTENANCE MODE -#================================================= -ynh_script_progression --message="Disabling maintenance mode..." --weight=1 - -ynh_maintenance_mode_OFF - -#================================================= -# END OF SCRIPT -#================================================= - -ynh_script_progression --message="Execution completed" --last diff --git a/scripts/actions/reset_default_config b/scripts/actions/reset_default_config deleted file mode 100755 index 2360ee3..0000000 --- a/scripts/actions/reset_default_config +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash - -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -source scripts/_common.sh -source /usr/share/yunohost/helpers - -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -app=$YNH_APP_INSTANCE_NAME - -query_logging=$(ynh_app_setting_get --app=$app --key=query_logging) - -#================================================= -# SORT OUT THE CONFIG FILE TO HANDLE -#================================================= - -file="$1" - -if [ "$file" = "setupVars.conf" ]; then - config_file="$PI_HOLE_CONFIG_DIR/setupVars.conf" -elif [ "$file" = "pihole-FTL.conf" ]; then - config_file="$PI_HOLE_CONFIG_DIR/pihole-FTL.conf" -fi - -#================================================= -# SPECIFIC ACTION -#================================================= -# RESET THE CONFIG FILE -#================================================= -ynh_script_progression --message="Resetting the config file $config_file..." --weight=9 - -# Verify the checksum and backup the file if it's different -ynh_backup_if_checksum_is_different --file="$config_file" - -main_iface=$(ip route | grep --max-count=1 default | awk '{print $5;}') - -if [ "$file" = "setupVars.conf" ] -then - # Recreate the default config - # Trouve l'interface réseau par défaut - echo "PIHOLE_INTERFACE=$main_iface" > "$config_file" - echo "IPV4_ADDRESS=127.0.0.1" >> "$config_file" - echo "IPV6_ADDRESS=::1" >> "$config_file" - echo "PIHOLE_DNS_1=" >> "$config_file" - echo "PIHOLE_DNS_2=" >> "$config_file" - if [ $query_logging -eq 1 ]; then - query_logging=true - else - query_logging=false - fi - echo "QUERY_LOGGING=$query_logging" >> "$config_file" - echo "INSTALL_WEB=true" >> "$config_file" - -elif [ "$file" = "pihole-FTL.conf" ] -then - # Get the default file and overwrite the current config - port=$(ynh_app_setting_get --app=$app --key=port) - ynh_add_config --template="/etc/yunohost/apps/$app/conf/pihole-FTL.conf" --destination="$config_file" - - ynh_script_progression --message="Restarting Pi-Hole..." --weight=2 - - # Restart pihole-FTL - ynh_systemd_action --service_name=pihole-FTL --action=restart --log_path="/var/log/pihole-FTL.log" -fi - -# Calculate and store the config file checksum into the app settings -ynh_store_file_checksum --file="$config_file" - -#================================================= -# END OF SCRIPT -#================================================= - -ynh_script_progression --message="Execution completed" --last diff --git a/scripts/actions/reset_default_system b/scripts/actions/reset_default_system deleted file mode 100755 index 46de6a4..0000000 --- a/scripts/actions/reset_default_system +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -source scripts/_common.sh -source /usr/share/yunohost/helpers - -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { -# Clean installation remaining that are not handle by the remove script. - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -app=$YNH_APP_INSTANCE_NAME - -type=$1 - -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) - -#================================================= -# SPECIFIC ACTION -#================================================= -# RESET THE CONFIG FILE -#================================================= - -if [ $type == nginx ]; then - name=Nginx -elif [ $type == phpfpm ]; then - name=PHP-FPM -else - ynh_die --message="The type $type is not recognized" -fi - -ynh_script_progression --message="Resetting the specific configuration of $name for the app $app..." --weight=3 - -if [ $type == nginx ] -then - (cd scripts; ynh_add_nginx_config) - -elif [ $type == phpfpm ] -then - (cd scripts; ynh_add_fpm_config --usage=low --footprint=low --dedicated_service) -fi - -#================================================= -# END OF SCRIPT -#================================================= - -ynh_script_progression --message="Execution completed" --last diff --git a/scripts/backup b/scripts/backup index 00a4d71..286bc4d 100644 --- a/scripts/backup +++ b/scripts/backup @@ -53,7 +53,6 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" # BACKUP THE PHP-FPM CONFIGURATION #================================================= -ynh_backup --src_path="$fpm_config_dir/php-fpm-$app.conf" ynh_backup --src_path="$fpm_config_dir/pool.d/$app.conf" #================================================= diff --git a/scripts/install b/scripts/install index f70634a..1769d83 100644 --- a/scripts/install +++ b/scripts/install @@ -55,8 +55,6 @@ ynh_app_setting_set --app=$app --key=enable_dhcp --value=$enable_dhcp ynh_app_setting_set --app=$app --key=overwrite_setupvars --value=1 ynh_app_setting_set --app=$app --key=overwrite_ftl --value=1 -ynh_app_setting_set --app=$app --key=overwrite_nginx --value=1 -ynh_app_setting_set --app=$app --key=overwrite_phpfpm --value=1 #================================================= # STANDARD MODIFICATIONS @@ -117,7 +115,7 @@ chown -R $app:www-data "$final_path" ynh_script_progression --message="Configuring PHP-FPM..." --weight=2 # Create a dedicated PHP-FPM config -ynh_add_fpm_config --usage=low --footprint=low --dedicated_service +ynh_add_fpm_config #================================================= # NGINX CONFIGURATION diff --git a/scripts/remove b/scripts/remove old mode 100755 new mode 100644 diff --git a/scripts/restore b/scripts/restore index 5bd6d36..68b75fb 100644 --- a/scripts/restore +++ b/scripts/restore @@ -33,11 +33,6 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) enable_dhcp=$(ynh_app_setting_get --app=$app --key=enable_dhcp) admin=$(ynh_app_setting_get --app=$app --key=admin) -# Get variables from ynh_add_fpm_config -fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) -fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage) -fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir) - #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= @@ -110,11 +105,7 @@ ynh_install_app_dependencies $pkg_dependencies ynh_script_progression --message="Restoring the PHP-FPM configuration..." --weight=7 # Restore the file first, so it can have a backup if different -ynh_restore_file --origin_path="$fpm_config_dir/php-fpm-$app.conf" -ynh_restore_file --origin_path="$fpm_config_dir/pool.d/$app.conf" - -# Recreate a dedicated php-fpm config -#ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint +ynh_add_fpm_config #================================================= # RESTORE THE NGINX CONFIGURATION diff --git a/scripts/upgrade b/scripts/upgrade index ec42e59..adf5ec9 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -27,10 +27,6 @@ pihole_version="$(ynh_app_setting_get --app=$app --key=pihole_version)" overwrite_setupvars=$(ynh_app_setting_get --app=$app --key=overwrite_setupvars) overwrite_ftl=$(ynh_app_setting_get --app=$app --key=overwrite_ftl) -overwrite_nginx=$(ynh_app_setting_get --app=$app --key=overwrite_nginx) -overwrite_phpfpm=$(ynh_app_setting_get --app=$app --key=overwrite_phpfpm) -fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) -fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage) #================================================= # CHECK VERSION @@ -79,36 +75,12 @@ if [ -z "$overwrite_ftl" ]; then ynh_app_setting_set --app=$app --key=overwrite_ftl --value=$overwrite_ftl fi -# If overwrite_nginx doesn't exist, create it -if [ -z "$overwrite_nginx" ]; then - overwrite_nginx=1 - ynh_app_setting_set --app=$app --key=overwrite_nginx --value=$overwrite_nginx -fi - -# If overwrite_phpfpm doesn't exist, create it -if [ -z "$overwrite_phpfpm" ]; then - overwrite_phpfpm=1 - ynh_app_setting_set --app=$app --key=overwrite_phpfpm --value=$overwrite_phpfpm -fi - # If admin_mail_html doesn't exist, create it if [ -z "$admin_mail_html" ]; then admin_mail_html=1 ynh_app_setting_set --app=$app --key=admin_mail_html --value=$admin_mail_html fi -# If fpm_footprint doesn't exist, create it -if [ -z "$fpm_footprint" ]; then - fpm_footprint=low - ynh_app_setting_set --app=$app --key=fpm_footprint --value=$fpm_footprint -fi - -# If fpm_usage doesn't exist, create it -if [ -z "$fpm_usage" ]; then - fpm_usage=low - ynh_app_setting_set --app=$app --key=fpm_usage --value=$fpm_usage -fi - # If pihole_version doesn't exist, create it if [ -z "$pihole_version" ]; then pihole_version="Last 3.X" @@ -151,25 +123,17 @@ ynh_install_app_dependencies $pkg_dependencies # PHP-FPM CONFIGURATION #================================================= -# Overwrite the PHP-FPM configuration only if it's allowed -if [ $overwrite_phpfpm -eq 1 ] -then - ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=3 - # Create a dedicated PHP-FPM config - ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint --dedicated_service -fi +ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=3 +# Create a dedicated PHP-FPM config +ynh_add_fpm_config #================================================= # NGINX CONFIGURATION #================================================= -# Overwrite the NGINX configuration only if it's allowed -if [ $overwrite_nginx -eq 1 ] -then - ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=2 - # Create a dedicated NGINX config - ynh_add_nginx_config -fi +ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=2 +# Create a dedicated NGINX config +ynh_add_nginx_config #================================================= # SPECIFIC UPGRADE From 786db470ab6729fd6b9d54572f47c6c5716cbf0d Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 14:49:26 +0200 Subject: [PATCH 12/18] Maybe we need an empty extra_php-fpm.conf .. --- conf/extra_php-fpm.conf | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 conf/extra_php-fpm.conf diff --git a/conf/extra_php-fpm.conf b/conf/extra_php-fpm.conf new file mode 100644 index 0000000..e69de29 From 6a57a14dae8f2a3a35f142f3f1a3082ee610544a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 15:27:33 +0200 Subject: [PATCH 13/18] @_@ --- scripts/upgrade | 6 ------ 1 file changed, 6 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index adf5ec9..5ae62fc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -75,12 +75,6 @@ if [ -z "$overwrite_ftl" ]; then ynh_app_setting_set --app=$app --key=overwrite_ftl --value=$overwrite_ftl fi -# If admin_mail_html doesn't exist, create it -if [ -z "$admin_mail_html" ]; then - admin_mail_html=1 - ynh_app_setting_set --app=$app --key=admin_mail_html --value=$admin_mail_html -fi - # If pihole_version doesn't exist, create it if [ -z "$pihole_version" ]; then pihole_version="Last 3.X" From 3a9e8b356f2161e06d193921b3beef3ff14ad368 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 3 Sep 2023 17:21:59 +0200 Subject: [PATCH 14/18] Unecessary send_readme_to_admin ... --- scripts/_common.sh | 141 --------------------------------------------- scripts/install | 24 -------- scripts/restore | 24 -------- scripts/upgrade | 29 ---------- 4 files changed, 218 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 8556a88..985c30f 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -27,147 +27,6 @@ PI_HOLE_BIN_DIR="/usr/local/bin" # EXPERIMENTAL HELPERS #================================================= -# Send an email to inform the administrator -# -# usage: ynh_send_readme_to_admin --app_message=app_message [--recipients=recipients] [--type=type] -# | arg: -m --app_message= - The file with the content to send to the administrator. -# | arg: -r, --recipients= - The recipients of this email. Use spaces to separate multiples recipients. - default: root -# example: "root admin@domain" -# If you give the name of a YunoHost user, ynh_send_readme_to_admin will find its email adress for you -# example: "root admin@domain user1 user2" -# | arg: -t, --type= - Type of mail, could be 'backup', 'change_url', 'install', 'remove', 'restore', 'upgrade' -ynh_send_readme_to_admin() { - # Declare an array to define the options of this helper. - declare -Ar args_array=( [m]=app_message= [r]=recipients= [t]=type= ) - local app_message - local recipients - local type - # Manage arguments with getopts - - ynh_handle_getopts_args "$@" - app_message="${app_message:-}" - recipients="${recipients:-root}" - type="${type:-install}" - - # Get the value of admin_mail_html - admin_mail_html=$(ynh_app_setting_get $app admin_mail_html) - admin_mail_html="${admin_mail_html:-0}" - - # Retrieve the email of users - find_mails () { - local list_mails="$1" - local mail - local recipients=" " - # Read each mail in argument - for mail in $list_mails - do - # Keep root or a real email address as it is - if [ "$mail" = "root" ] || echo "$mail" | grep --quiet "@" - then - recipients="$recipients $mail" - else - # But replace an user name without a domain after by its email - if mail=$(ynh_user_get_info "$mail" "mail" 2> /dev/null) - then - recipients="$recipients $mail" - fi - fi - done - echo "$recipients" - } - recipients=$(find_mails "$recipients") - - # Subject base - local mail_subject="☁️🆈🅽🅷☁️: \`$app\`" - - # Adapt the subject according to the type of mail required. - if [ "$type" = "backup" ]; then - mail_subject="$mail_subject has just been backup." - elif [ "$type" = "change_url" ]; then - mail_subject="$mail_subject has just been moved to a new URL!" - elif [ "$type" = "remove" ]; then - mail_subject="$mail_subject has just been removed!" - elif [ "$type" = "restore" ]; then - mail_subject="$mail_subject has just been restored!" - elif [ "$type" = "upgrade" ]; then - mail_subject="$mail_subject has just been upgraded!" - else # install - mail_subject="$mail_subject has just been installed!" - fi - - local mail_message="This is an automated message from your beloved YunoHost server. - -Specific information for the application $app. - -$(if [ -n "$app_message" ] -then - cat "$app_message" -else - echo "...No specific information..." -fi) - ---- -Automatic diagnosis data from YunoHost - -__PRE_TAG1__$(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')__PRE_TAG2__" - - # Store the message into a file for further modifications. - echo "$mail_message" > mail_to_send - - # If a html email is required. Apply html tags to the message. - if [ "$admin_mail_html" -eq 1 ] - then - # Insert 'br' tags at each ending of lines. - ynh_replace_string "$" "
" mail_to_send - - # Insert starting HTML tags - sed --in-place '1s@^@\n\n\n\n@' mail_to_send - - # Keep tabulations - ynh_replace_string " " "\ \ " mail_to_send - ynh_replace_string "\t" "\ \ " mail_to_send - - # Insert url links tags - ynh_replace_string "__URL_TAG1__\(.*\)__URL_TAG2__\(.*\)__URL_TAG3__" "\1" mail_to_send - - # Insert pre tags - ynh_replace_string "__PRE_TAG1__" "
" mail_to_send
-		ynh_replace_string "__PRE_TAG2__" "<\pre>" mail_to_send
-
-		# Insert finishing HTML tags
-		echo -e "\n\n" >> mail_to_send
-
-	# Otherwise, remove tags to keep a plain text.
-	else
-		# Remove URL tags
-		ynh_replace_string "__URL_TAG[1,3]__" "" mail_to_send
-		ynh_replace_string "__URL_TAG2__" ": " mail_to_send
-
-		# Remove PRE tags
-		ynh_replace_string "__PRE_TAG[1-2]__" "" mail_to_send
-	fi
-
-	# Define binary to use for mail command
-	if [ -e /usr/bin/bsd-mailx ]
-	then
-		local mail_bin=/usr/bin/bsd-mailx
-	else
-		local mail_bin=/usr/bin/mail.mailutils
-	fi
-
-	if [ "$admin_mail_html" -eq 1 ]
-	then
-		content_type="text/html"
-	else
-		content_type="text/plain"
-	fi
-
-	# Send the email to the recipients
-	cat mail_to_send | $mail_bin -a "Content-Type: $content_type; charset=UTF-8" -s "$mail_subject" "$recipients"
-}
-
-#=================================================
-
 ynh_maintenance_mode_ON () {
 	# Load value of $path_url and $domain from the config if their not set
 	if [ -z $path_url ]; then
diff --git a/scripts/install b/scripts/install
index 1769d83..3bddf00 100644
--- a/scripts/install
+++ b/scripts/install
@@ -341,30 +341,6 @@ ynh_script_progression --message="Reloading NGINX web server..." --weight=3
 
 ynh_systemd_action --service_name=nginx --action=reload
 
-#=================================================
-# SEND A README FOR THE ADMIN
-#=================================================
-
-# Get main domain and buid the url of the admin panel of the app.
-admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
-
-if [ $enable_dhcp -eq 1 ]
-then
-	dhcp_alert="You asked to use the internal DHCP server of dnsmasq with Pi-hole.
-You should really read the __URL_TAG1__documentation about that__URL_TAG2__https://github.com/YunoHost-Apps/pihole_ynh/blob/master/dhcp.md__URL_TAG3__
-
-"
-else
-	dhcp_alert=""
-fi
-
-echo "${dhcp_alert}You can configure this app easily by using the experimental __URL_TAG1__config-panel feature__URL_TAG2__$admin_panel/config-panel__URL_TAG3__.
-You can also find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__.
-
-If you're facing an issue or want to improve this app, please open a new issue in this __URL_TAG1__project__URL_TAG2__https://github.com/YunoHost-Apps/pihole_ynh__URL_TAG3__." > mail_to_send
-
-ynh_send_readme_to_admin --app_message="mail_to_send" --recipients="$admin" --type=install
-
 #=================================================
 # END OF SCRIPT
 #=================================================
diff --git a/scripts/restore b/scripts/restore
index 68b75fb..84f71c6 100644
--- a/scripts/restore
+++ b/scripts/restore
@@ -260,30 +260,6 @@ ynh_script_progression --message="Disabling maintenance mode..." --weight=4
 
 ynh_maintenance_mode_OFF
 
-#=================================================
-# SEND A README FOR THE ADMIN
-#=================================================
-
-# Get main domain and buid the URL of the admin panel of the app.
-admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
-
-if [ $enable_dhcp -eq 1 ]
-then
-	dhcp_alert="You asked to use the internal DHCP server of Dnsmasq with Pi-hole.
-You should really read the __URL_TAG1__documentation about that__URL_TAG2__https://github.com/YunoHost-Apps/pihole_ynh/blob/master/dhcp.md__URL_TAG3__
-
-"
-else
-	dhcp_alert=""
-fi
-
-echo "${dhcp_alert}You can configure this app easily by using the experimental __URL_TAG1__config-panel feature__URL_TAG2__$admin_panel/config-panel__URL_TAG3__.
-You can also find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__.
-
-If you're facing an issue or want to improve this app, please open a new issue in this __URL_TAG1__project__URL_TAG2__https://github.com/YunoHost-Apps/pihole_ynh__URL_TAG3__." > mail_to_send
-
-ynh_send_readme_to_admin --app_message="mail_to_send" --recipients="$admin" --type=restore
-
 #=================================================
 # END OF SCRIPT
 #=================================================
diff --git a/scripts/upgrade b/scripts/upgrade
index 5ae62fc..93e2218 100644
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -368,35 +368,6 @@ ynh_script_progression --message="Disabling maintenance mode..." --weight=5
 
 ynh_maintenance_mode_OFF
 
-#=================================================
-# SEND A README FOR THE ADMIN
-#=================================================
-
-# Get main domain and buid the url of the admin panel of the app.
-admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
-
-if [ $enable_dhcp -eq 1 ]
-then
-	dhcp_alert="You asked to use the internal DHCP server of dnsmasq with Pi-hole.
-You should really read the documentation about that, https://github.com/YunoHost-Apps/pihole_ynh/blob/master/dhcp.md
-
-"
-else
-	dhcp_alert=""
-fi
-
-echo "${dhcp_alert}You can configure this app easily by using the experimental __URL_TAG1__config-panel feature__URL_TAG2__$admin_panel/config-panel__URL_TAG3__.
-You can also find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__.
-
-If you're facing an issue or want to improve this app, please open a new issue in this __URL_TAG1__project__URL_TAG2__https://github.com/YunoHost-Apps/pihole_ynh__URL_TAG3__.
-
----
-
-Changelog since your last upgrade:
-$(cat changelog)" > mail_to_send
-
-ynh_send_readme_to_admin --app_message="mail_to_send" --recipients="$admin" --type=upgrade
-
 #=================================================
 # END OF SCRIPT
 #=================================================

From 69b0597c979f6bc2473756cf7ea0af34ed4dd759 Mon Sep 17 00:00:00 2001
From: Alexandre Aubin 
Date: Sun, 3 Sep 2023 17:23:50 +0200
Subject: [PATCH 15/18] Fix inconsistent config between install and upgrade

---
 scripts/install | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install b/scripts/install
index 3bddf00..00071f5 100644
--- a/scripts/install
+++ b/scripts/install
@@ -236,6 +236,7 @@ else
 fi
 echo "QUERY_LOGGING=$query_logging" >> $setupVars
 echo "INSTALL_WEB=true" >> $setupVars
+echo "BLOCKING_ENABLED=true" >> $setupVars
 
 # Calculate and store the config file checksum into the app settings
 ynh_store_file_checksum --file="$setupVars"

From 4955a02591156cefdabb62e006294eb5d75b2762 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?E=CC=81ric=20Gaspar?=
 <46165813+ericgaspar@users.noreply.github.com>
Date: Sun, 3 Sep 2023 19:01:44 +0200
Subject: [PATCH 16/18] Update check_process

---
 check_process | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/check_process b/check_process
index e817edc..b1ee9c2 100644
--- a/check_process
+++ b/check_process
@@ -23,14 +23,12 @@
         setup_private=1
         setup_public=0
         upgrade=1
-        # 5.4~ynh1
-        upgrade=1   from_commit=cfa9c5a3dbcfb765dcca3b2e7d179756afe26def
         # 5.11.4~ynh1
         upgrade=1   from_commit=3d2f68c4e19f335e63f8ffa259708b38a58c8f67
         upgrade=1   from_commit=4999654987af8b1427a6c72f8af482b235bb46db
         backup_restore=1
         multi_instance=0
-        port_already_use=1
+        port_already_use=0
         change_url=1
         actions=0
         config_panel=0

From 5352012b343a8c412ff8ada494ecda8f87798c1f Mon Sep 17 00:00:00 2001
From: Alexandre Aubin 
Date: Sun, 3 Sep 2023 20:14:51 +0200
Subject: [PATCH 17/18] Bump version in manifest

---
 manifest.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/manifest.json b/manifest.json
index 3822c07..ad64516 100644
--- a/manifest.json
+++ b/manifest.json
@@ -6,7 +6,7 @@
         "en": "Network-wide ad blocking via your own DNS server",
         "fr": "Filtrage publicitaire via votre propre serveur DNS"
     },
-    "version": "5.14.2~ynh2",
+    "version": "5.14.2~ynh3",
     "url": "https://pi-hole.net/",
     "upstream": {
         "license": "EUPL-1.2",

From 859698aa0088b02cf62c4242fc9b8510198322e6 Mon Sep 17 00:00:00 2001
From: yunohost-bot 
Date: Sun, 3 Sep 2023 18:14:55 +0000
Subject: [PATCH 18/18] Auto-update README

---
 README.md    | 2 +-
 README_fr.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 567ea84..6b16758 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
 
 The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.
 
-**Shipped version:** 5.14.2~ynh2
+**Shipped version:** 5.14.2~ynh3
 
 ## Screenshots
 
diff --git a/README_fr.md b/README_fr.md
index a21d3f7..07941d4 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
 Pi-hole® est un puits DNS qui protège vos appareils des contenus indésirables sans installer de logiciel côté client.
 
 
-**Version incluse :** 5.14.2~ynh2
+**Version incluse :** 5.14.2~ynh3
 
 ## Captures d’écran