From 075ad2cfd7683fdea078632bdb6fbfd73987ec30 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 12 Sep 2022 21:26:40 +0200 Subject: [PATCH 1/4] Apply example_ynh --- conf/app.src | 1 + conf/nginx.conf | 2 +- doc/DISCLAIMER.md | 2 +- doc/DISCLAIMER_fr.md | 8 +++++--- manifest.json | 6 +++++- scripts/change_url | 6 +++--- scripts/install | 24 ++++++++++++------------ scripts/remove | 4 ++-- scripts/restore | 16 ++++++++-------- scripts/upgrade | 32 +++++++++++++++++--------------- 10 files changed, 55 insertions(+), 46 deletions(-) diff --git a/conf/app.src b/conf/app.src index 6568041..90a9c9e 100644 --- a/conf/app.src +++ b/conf/app.src @@ -3,4 +3,5 @@ SOURCE_SUM=cbee0a8c5ef58ae98cd77982619190356f657e8bbc9e3f429307c65a411bfb80 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true +SOURCE_FILENAME= SOURCE_EXTRACT=true diff --git a/conf/nginx.conf b/conf/nginx.conf index 549b52a..d9fdc4e 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -2,7 +2,7 @@ location __PATH__/ { # Path to source - alias __FINALPATH__/ ; + alias __FINALPATH__/; index index.php; diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 0d7a31d..239536a 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,6 +1,6 @@ ## Additional information -In the [update documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) of Parsebin, it is specified that: +In the [update documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) of PrivateBin, it is specified that: For full compatibility with ZeroBin and to be able to decrypt old pastes, you would enable this option. However this is not recommend for new installations as it weakens the security of your PrivateBin instance. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 69f17f5..230205f 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,5 +1,7 @@ ## Informations additionnelles -Dans la [documentation de mise à jour](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) de Privatebin, il est précisé que : -* Pour une compatibilité complète avec Zerobin et le déchiffrement de tous les vieux "paste", vous devriez activer cette option. Cependant, ce n'est pas recommandé pour les nouvelles installations car cela affaiblit la sécurité de votre instance PrivateBin. -* Ceci signifie que nous avons décidé de supprimer ce répertoire pour permettre la sécurisation des données. Vous pouvez sauvegarder le répertoire 'data', si vous voulez conservez vos données. Mais vous devriez savoir que cela réduit la sécurité de votre application. +Dans la [documentation de mise à jour](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) de PrivateBin, il est précisé que : + +Pour une compatibilité complète avec Zerobin et le déchiffrement de tous les vieux "paste", vous devriez activer cette option. Cependant, ce n'est pas recommandé pour les nouvelles installations car cela affaiblit la sécurité de votre instance PrivateBin. + +Ceci signifie que nous avons décidé de supprimer ce répertoire pour permettre la sécurisation des données. Vous pouvez sauvegarder le répertoire 'data', si vous voulez conservez vos données. Mais vous devriez savoir que cela réduit la sécurité de votre application. diff --git a/manifest.json b/manifest.json index 15b37df..141d84d 100644 --- a/manifest.json +++ b/manifest.json @@ -29,7 +29,7 @@ "php7.3-fpm" ], "arguments": { - "install" : [ + "install": [ { "name": "domain", "type": "domain" @@ -43,6 +43,10 @@ { "name": "is_public", "type": "boolean", + "help": { + "en": "If private, only YunoHost users can create a paste, but everyone can read it.", + "fr": "Si privé, seul les utilisateurs YunoHost peuvent créer un paste, mais tout le monde peut lire." + }, "default": true } ] diff --git a/scripts/change_url b/scripts/change_url index 23f788d..f7a7f11 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -24,7 +24,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) @@ -32,7 +32,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." +ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1 # Backup the current version of the app ynh_backup_before_upgrade @@ -98,7 +98,7 @@ fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/install b/scripts/install index cc7b2ad..ffa5d0e 100644 --- a/scripts/install +++ b/scripts/install @@ -53,7 +53,7 @@ ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_script_progression --message="Configuring system user..." --weight=3 # Create a system user -ynh_system_user_create --username=$app --home_dir=$final_path +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -63,14 +63,21 @@ ynh_script_progression --message="Setting up source files..." --weight=3 ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" - -# Except for data and tmp subdir, where the user must have write permissions mkdir -p $final_path/{data,tmp} chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" +#================================================= +# PHP-FPM CONFIGURATION +#================================================= +ynh_script_progression --message="Configuring PHP-FPM..." --weight=2 + +# Create a dedicated PHP-FPM config +ynh_add_fpm_config +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) + #================================================= # NGINX CONFIGURATION #================================================= @@ -79,15 +86,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=2 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring PHP-FPM..." --weight=2 - -# Create a dedicated PHP-FPM config -ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) - #================================================= # GENERIC FINALIZATION #================================================= @@ -98,6 +96,8 @@ ynh_script_progression --message="Configuring permissions..." --weight=1 # Make app public if necessary if [ $is_public -eq 1 ] then + # Everyone can access the app. + # The "main" permission is automatically created before the install script. ynh_permission_update --permission="main" --add="visitors" fi diff --git a/scripts/remove b/scripts/remove index 80201d7..5a201e7 100644 --- a/scripts/remove +++ b/scripts/remove @@ -40,7 +40,7 @@ ynh_remove_nginx_config #================================================= # REMOVE PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Removing PHP-FPM configuration..." +ynh_script_progression --message="Removing PHP-FPM configuration..." --weight=1 # Remove the dedicated PHP-FPM config ynh_remove_fpm_config @@ -50,7 +50,7 @@ ynh_remove_fpm_config #================================================= # REMOVE DEDICATED USER #================================================= -ynh_script_progression --message="Removing the dedicated system user..." --weight=1 +ynh_script_progression --message="Removing the dedicated system user..." --weight=2 # Delete a system user ynh_system_user_delete --username=$app diff --git a/scripts/restore b/scripts/restore index ecd964d..bfa9784 100644 --- a/scripts/restore +++ b/scripts/restore @@ -39,20 +39,13 @@ test ! -d $final_path \ #================================================= # STANDARD RESTORATION STEPS -#================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the NGINX configuration..." - -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" - #================================================= # RECREATE THE DEDICATED USER #================================================= ynh_script_progression --message="Recreating the dedicated system user..." --weight=4 # Create the dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir=$final_path +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # RESTORE THE APP MAIN DIR @@ -72,6 +65,13 @@ ynh_script_progression --message="Restoring the PHP-FPM configuration..." --weig ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the NGINX web server configuration..." --weight=1 + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index a740366..f817ee3 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -8,6 +8,7 @@ source _common.sh source /usr/share/yunohost/helpers + #================================================= # LOAD SETTINGS #================================================= @@ -23,6 +24,7 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # CHECK VERSION #================================================= +ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) @@ -47,12 +49,6 @@ ynh_abort_if_errors #================================================= ynh_script_progression --message="Ensuring downward compatibility..." --weight=3 -# If final_path doesn't exist, create it -if [ -z "$final_path" ]; then - final_path=/var/www/$app - ynh_app_setting_set --app=$app --key=final_path --value=$final_path -fi - # Cleaning legacy permissions if ynh_legacy_permissions_exists; then ynh_legacy_permissions_delete_all @@ -60,13 +56,19 @@ if ynh_legacy_permissions_exists; then ynh_app_setting_delete --app=$app --key=is_public fi +# If final_path doesn't exist, create it +if [ -z "$final_path" ]; then + final_path=/var/www/$app + ynh_app_setting_set --app=$app --key=final_path --value=$final_path +fi + #================================================= # CREATE DEDICATED USER #================================================= ynh_script_progression --message="Making sure dedicated system user exists..." --weight=2 # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir=$final_path +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -87,6 +89,14 @@ chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" +#================================================= +# PHP-FPM CONFIGURATION +#================================================= +ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=3 + +# Create a dedicated PHP-FPM config +ynh_add_fpm_config + #================================================= # NGINX CONFIGURATION #================================================= @@ -95,14 +105,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." - # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=3 - -# Create a dedicated PHP-FPM config -ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION - #================================================= # GENERIC FINALIZATION #================================================= From 2522f185253ea767b5e6e64bcfb17090017f9af7 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 12 Sep 2022 19:26:46 +0000 Subject: [PATCH 2/4] Auto-update README --- README.md | 22 ++++++++++++---------- README_fr.md | 36 ++++++++++++++++++++++-------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index fd32d9b..4d76a35 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ It shall NOT be edited by hand. # Zerobin for YunoHost -[![Integration level](https://dash.yunohost.org/integration/zerobin.svg)](https://dash.yunohost.org/appci/app/zerobin) ![](https://ci-apps.yunohost.org/ci/badges/zerobin.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/zerobin.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/zerobin.svg)](https://dash.yunohost.org/appci/app/zerobin) ![Working status](https://ci-apps.yunohost.org/ci/badges/zerobin.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/zerobin.maintain.svg) [![Install Zerobin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=zerobin) *[Lire ce readme en français.](./README_fr.md)* @@ -24,17 +24,18 @@ This is a fork of ZeroBin, originally developed by Sébastien Sauvage. It was re **Shipped version:** 1.3.5~ynh2 + **Demo:** https://privatebin.net/ ## Screenshots -![](./doc/screenshots/screenshot.png) +![Screenshot of Zerobin](./doc/screenshots/screenshot.png) ## Disclaimers / important information ## Additional information -In the [update documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) of Parsebin, it is specified that: +In the [update documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) of PrivateBin, it is specified that: For full compatibility with ZeroBin and to be able to decrypt old pastes, you would enable this option. However this is not recommend for new installations as it weakens the security of your PrivateBin instance. @@ -42,21 +43,22 @@ This means that we have decided to delete the directory that allows us to save t ## Documentation and resources -* Official app website: https://privatebin.info/ -* Official admin documentation: https://github.com/PrivateBin/PrivateBin/wiki -* Upstream app code repository: https://github.com/PrivateBin/PrivateBin -* YunoHost documentation for this app: https://yunohost.org/app_zerobin -* Report a bug: https://github.com/YunoHost-Apps/zerobin_ynh/issues +* Official app website: +* Official admin documentation: +* Upstream app code repository: +* YunoHost documentation for this app: +* Report a bug: ## Developer info Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing). To try the testing branch, please proceed like that. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing --debug or sudo yunohost app upgrade zerobin -u https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing --debug ``` -**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file +**More info regarding app packaging:** diff --git a/README_fr.md b/README_fr.md index da2eefc..b4b21dc 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,10 +1,14 @@ + + # Zerobin pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/zerobin.svg)](https://dash.yunohost.org/appci/app/zerobin) ![](https://ci-apps.yunohost.org/ci/badges/zerobin.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/zerobin.maintain.svg) +[![Niveau d'intégration](https://dash.yunohost.org/integration/zerobin.svg)](https://dash.yunohost.org/appci/app/zerobin) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/zerobin.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/zerobin.maintain.svg) [![Installer Zerobin avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=zerobin) *[Read this readme in english.](./README.md)* -*[Lire ce readme en français.](./README_fr.md)* > *Ce package vous permet d'installer Zerobin 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.* @@ -19,39 +23,43 @@ Ce projet est un fork de ZeroBin, développé à l'origine par Sébastien Sauvag Il reste cependant compatible avec le schéma original de stockage des données Zerobin 0.19. Ainsi toutes les installations peuvent être mises à jour vers ce projet, sans perte de données. -**Version incluse :** 1.3.5~ynh2 +**Version incluse :** 1.3.5~ynh2 + **Démo :** https://privatebin.net/ ## Captures d'écran -![](./doc/screenshots/screenshot.png) +![Capture d'écran de Zerobin](./doc/screenshots/screenshot.png) ## Avertissements / informations importantes ## Informations additionnelles -Dans la [documentation de mise à jour](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) de Privatebin, il est précisé que : -* Pour une compatibilité complète avec Zerobin et le déchiffrement de tous les vieux "paste", vous devriez activer cette option. Cependant, ce n'est pas recommandé pour les nouvelles installations car cela affaiblit la sécurité de votre instance PrivateBin. -* Ceci signifie que nous avons décidé de supprimer ce répertoire pour permettre la sécurisation des données. Vous pouvez sauvegarder le répertoire 'data', si vous voulez conservez vos données. Mais vous devriez savoir que cela réduit la sécurité de votre application. +Dans la [documentation de mise à jour](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) de PrivateBin, il est précisé que : + +Pour une compatibilité complète avec Zerobin et le déchiffrement de tous les vieux "paste", vous devriez activer cette option. Cependant, ce n'est pas recommandé pour les nouvelles installations car cela affaiblit la sécurité de votre instance PrivateBin. + +Ceci signifie que nous avons décidé de supprimer ce répertoire pour permettre la sécurisation des données. Vous pouvez sauvegarder le répertoire 'data', si vous voulez conservez vos données. Mais vous devriez savoir que cela réduit la sécurité de votre application. ## Documentations et ressources -* Site officiel de l'app : https://privatebin.info/ -* Documentation officielle de l'admin : https://github.com/PrivateBin/PrivateBin/wiki -* Dépôt de code officiel de l'app : https://github.com/PrivateBin/PrivateBin -* Documentation YunoHost pour cette app : https://yunohost.org/app_zerobin -* Signaler un bug : https://github.com/YunoHost-Apps/zerobin_ynh/issues +* 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 : ## Informations pour les développeurs Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing --debug ou sudo yunohost app upgrade zerobin -u https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file +**Plus d'infos sur le packaging d'applications :** From ac37f331c06539453b8a6417a8ce21ce10b29471 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 12 Sep 2022 23:22:25 +0200 Subject: [PATCH 3/4] Upgrade to 1.3.5~ynh3 --- check_process | 7 ++----- manifest.json | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/check_process b/check_process index 5ff7082..71372db 100644 --- a/check_process +++ b/check_process @@ -11,7 +11,8 @@ setup_private=1 setup_public=1 upgrade=1 - upgrade=1 from_commit=42913fc917c98766b0cbba47a3b40148dffaac58 + 1.3.5~ynh2 + upgrade=1 from_commit=eb58fc627169cd9e68b77b8aa61bb35ebaf6048f backup_restore=1 multi_instance=1 port_already_use=0 @@ -19,7 +20,3 @@ ;;; Options Email= Notification=none -;;; Upgrade options - ; commit=42913fc917c98766b0cbba47a3b40148dffaac58 - name=Refactoring - manifest_arg=domain=DOMAIN&path=PATH&is_public=1& diff --git a/manifest.json b/manifest.json index 141d84d..92aa301 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Minimalist pastebin where the server has zero knowledge of pasted data", "fr": "Pastebin minimaliste où le serveur n'a aucune connaissance des données copiées" }, - "version": "1.3.5~ynh2", + "version": "1.3.5~ynh3", "url": "https://privatebin.info/", "upstream": { "license": "Zlib", From 8b8c36743f444aa24309cf2e974b8e7d144205fd Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 12 Sep 2022 21:22:30 +0000 Subject: [PATCH 4/4] 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 4d76a35..75fe36e 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Data is encrypted/decrypted in the browser using 256bit AES in Galois Counter mo This is a fork of ZeroBin, originally developed by Sébastien Sauvage. It was refactored to allow easier and cleaner extensions and has now much more features than the original. It is however still fully compatible to the original ZeroBin 0.19 data storage scheme. Therefore such installations can be upgraded to this fork without loosing any data. -**Shipped version:** 1.3.5~ynh2 +**Shipped version:** 1.3.5~ynh3 **Demo:** https://privatebin.net/ diff --git a/README_fr.md b/README_fr.md index b4b21dc..58662a8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,7 +23,7 @@ Ce projet est un fork de ZeroBin, développé à l'origine par Sébastien Sauvag Il reste cependant compatible avec le schéma original de stockage des données Zerobin 0.19. Ainsi toutes les installations peuvent être mises à jour vers ce projet, sans perte de données. -**Version incluse :** 1.3.5~ynh2 +**Version incluse :** 1.3.5~ynh3 **Démo :** https://privatebin.net/