From 73858e7f62fa944d14de1db651b7a3a41ca8f9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 23 Feb 2021 09:26:59 +0100 Subject: [PATCH 01/45] Upgrade to 1.2.14 (#14) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/armv5.src | 4 ++-- conf/armv6.src | 4 ++-- conf/armv7.src | 4 ++-- conf/i386.src | 4 ++-- conf/systemd.service | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- scripts/install | 2 +- scripts/upgrade | 2 +- 12 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 2fe1d21..195abd7 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.13 +**Shipped version:** 1.2.14 ## Screenshots diff --git a/README_fr.md b/README_fr.md index dd28087..8022f8a 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.13 +**Version incluse :** 1.2.14 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index 05ea6bc..876dd2a 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.13/cloud-torrent_linux_arm64.gz -SOURCE_SUM=4fa31de45eb211a983631a86937d6eb0a23d66b650e0cfdf2b729bee526fc989 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm64.gz +SOURCE_SUM=0b883f5109b2fd193bb8cf088718830ab0738693df2df81b3c32323c4b701cda SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv5.src b/conf/armv5.src index 2d1e9eb..479d1d6 100644 --- a/conf/armv5.src +++ b/conf/armv5.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.13/cloud-torrent_linux_arm_armv5.gz -SOURCE_SUM=7b599a43f8812c334b4e4351f5ee25a3b997461e23ee3645b9761a86513e2317 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm_armv5.gz +SOURCE_SUM=2e0cab39b9ba5b5ff1b4548efd96fc91f242df2d66202497026b9ac85d682bb5 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv6.src b/conf/armv6.src index cffd088..76dbf42 100644 --- a/conf/armv6.src +++ b/conf/armv6.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.13/cloud-torrent_linux_arm_armv6.gz -SOURCE_SUM=b70622874babf36502015f95e07673d213833bae00b669c83f94a4d6a8382962 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm_armv6.gz +SOURCE_SUM=34a013b363a16d03d553c2be873534f83bfab3f09d4809338e97877dfaa00519 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv7.src b/conf/armv7.src index ae14532..a059fb8 100644 --- a/conf/armv7.src +++ b/conf/armv7.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.13/cloud-torrent_linux_arm_armv7.gz -SOURCE_SUM=bdf08ef52379ce9a5f3a90374905dd2058bbbbfe49f4ab09388373a5cf204dba +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm_armv7.gz +SOURCE_SUM=6b3bc93b58cc4ac2fb740304d0148105aa8e899c6af94c9df1c8814bf984ed84 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 38f5c0d..a4c26e0 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.13/cloud-torrent_linux_386.gz -SOURCE_SUM=645030137bc028a649f09a5878001cd3144032773f1f461beb79323ebc322218 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_386.gz +SOURCE_SUM=c436dbac6ef006ceabe1975a392a77d23f60a6414929e66e8a46240a2557314d SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/systemd.service b/conf/systemd.service index d1c6743..23fb665 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -7,8 +7,8 @@ Type=simple User=__APP__ Group=__APP__ Environment=PORT=__PORT__ -WorkingDirectory=__FINAL_PATH__ -ExecStart=__FINAL_PATH__/__APP__ -c __FINAL_PATH__/config.json --host 127.0.0.1 +WorkingDirectory=__FINALPATH__ +ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.json --host 127.0.0.1 Restart=always RestartSec=3 diff --git a/conf/x86_64.src b/conf/x86_64.src index 07948ec..fbb4706 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.13/cloud-torrent_linux_amd64.gz -SOURCE_SUM=34e0a7c7f6ce91ae30eddac27358fe3085524d37da0349fd916e2f4f046bfa46 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_amd64.gz +SOURCE_SUM=d486a8e8fe1f8fd8126c98724477f4e563916a026a5f91940d6d6dac018ce476 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index e6b3334..b3ac207 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.13~ynh1", + "version": "1.2.14~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { diff --git a/scripts/install b/scripts/install index 2caec23..325f2ce 100644 --- a/scripts/install +++ b/scripts/install @@ -120,7 +120,7 @@ ynh_store_file_checksum --file="$final_path/config.json" ynh_script_progression --message="Configuring a systemd service..." --weight=1 ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="../conf/systemd.service" -ynh_replace_string --match_string="__FINAL_PATH__" --replace_string="$final_path" --target_file="../conf/systemd.service" +ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="../conf/systemd.service" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" ynh_add_systemd_config diff --git a/scripts/upgrade b/scripts/upgrade index 98be45c..549a8dc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -110,7 +110,7 @@ ynh_store_file_checksum --file="$final_path/config.json" ynh_script_progression --message="Configuring a systemd service..." --weight=2 ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="../conf/systemd.service" -ynh_replace_string --match_string="__FINAL_PATH__" --replace_string="$final_path" --target_file="../conf/systemd.service" +ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="../conf/systemd.service" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" ynh_add_systemd_config From 05bf96e8c925a24d9bb4ce1ce5851c2d998ef27d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 5 Mar 2021 09:20:09 +0100 Subject: [PATCH 02/45] Upgrade to version 1.2.15 (#16) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/armv5.src | 4 ++-- conf/armv6.src | 4 ++-- conf/armv7.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 195abd7..87b1b10 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.14 +**Shipped version:** 1.2.15 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 8022f8a..1ec3c80 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.14 +**Version incluse :** 1.2.15 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index 876dd2a..f452db7 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm64.gz -SOURCE_SUM=0b883f5109b2fd193bb8cf088718830ab0738693df2df81b3c32323c4b701cda +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm64.gz +SOURCE_SUM=e0dccf7e1abbba502cf93cd67623ca495c9c42b379bd8007a60750a5a0fcae86 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv5.src b/conf/armv5.src index 479d1d6..a671aa4 100644 --- a/conf/armv5.src +++ b/conf/armv5.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm_armv5.gz -SOURCE_SUM=2e0cab39b9ba5b5ff1b4548efd96fc91f242df2d66202497026b9ac85d682bb5 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm_armv5.gz +SOURCE_SUM=a41067c4530e7ffc80f4f3378fb27bd9b51f3452bc3edda05378a67bbb0b3bb8 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv6.src b/conf/armv6.src index 76dbf42..3a2e013 100644 --- a/conf/armv6.src +++ b/conf/armv6.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm_armv6.gz -SOURCE_SUM=34a013b363a16d03d553c2be873534f83bfab3f09d4809338e97877dfaa00519 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm_armv6.gz +SOURCE_SUM=57729347785e7bf555c3aa3ecbc0368779ca24f276e934f9bdc03c0ae13ad566 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv7.src b/conf/armv7.src index a059fb8..49fe41e 100644 --- a/conf/armv7.src +++ b/conf/armv7.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_arm_armv7.gz -SOURCE_SUM=6b3bc93b58cc4ac2fb740304d0148105aa8e899c6af94c9df1c8814bf984ed84 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm_armv7.gz +SOURCE_SUM=6b8eb4577011c65a14a03042317ec6c892880b8c6de6d55db96c16bb3c114d91 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index a4c26e0..e103d60 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_386.gz -SOURCE_SUM=c436dbac6ef006ceabe1975a392a77d23f60a6414929e66e8a46240a2557314d +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_386.gz +SOURCE_SUM=1a6782b263e0f08cb70b0bd93904b9b3721a2acb4b7cb39776440c5084d22e13 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index fbb4706..de37768 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.14/cloud-torrent_linux_amd64.gz -SOURCE_SUM=d486a8e8fe1f8fd8126c98724477f4e563916a026a5f91940d6d6dac018ce476 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_amd64.gz +SOURCE_SUM=c51d2c7ff9f7711c71de649dd81ea5146d35147e35c50102126b5d2523d24060 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index b3ac207..3d8326e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.14~ynh1", + "version": "1.2.15~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From f96151b260567bf4087dd4f0c65efdbba31c39ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 9 Mar 2021 12:18:12 +0100 Subject: [PATCH 03/45] Preserver config file (#19) * Preserve config file on upgrade --- README.md | 2 +- README_fr.md | 2 +- manifest.json | 2 +- scripts/install | 7 ++----- scripts/upgrade | 31 ++++++++++++------------------- 5 files changed, 17 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 87b1b10..895209d 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ You can also configure Simple Torrent by editing this file `/var/www/simple-torr ## Documentation * Official documentation: https://github.com/boypt/simple-torrent/wiki - * YunoHost documentation: https://yunohost.org/#/app_simple-torrent + * YunoHost documentation: https://yunohost.org/en/app_simple-torrent ## YunoHost specific features diff --git a/README_fr.md b/README_fr.md index 1ec3c80..a486232 100644 --- a/README_fr.md +++ b/README_fr.md @@ -27,7 +27,7 @@ Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-t ## Documentation * Documentation officielle : https://github.com/boypt/simple-torrent/wiki - * Documentation YunoHost : https://yunohost.org/#/app_simple-torrent_fr + * Documentation YunoHost : https://yunohost.org/fr/app_simple-torrent ## Caractéristiques spécifiques YunoHost diff --git a/manifest.json b/manifest.json index 3d8326e..74b6383 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.15~ynh1", + "version": "1.2.15~ynh2", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { diff --git a/scripts/install b/scripts/install index 325f2ce..e5730cd 100644 --- a/scripts/install +++ b/scripts/install @@ -43,9 +43,8 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url #================================================= ynh_script_progression --message="Storing installation settings..." --weight=2 -ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=is_public --value=$is_public +ynh_app_setting_set --app=$app --key=domain --value=$domain +ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= # STANDARD MODIFICATIONS @@ -119,8 +118,6 @@ ynh_store_file_checksum --file="$final_path/config.json" #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="../conf/systemd.service" -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="../conf/systemd.service" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" ynh_add_systemd_config diff --git a/scripts/upgrade b/scripts/upgrade index 549a8dc..546983a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -18,7 +18,6 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) port=$(ynh_app_setting_get --app=$app --key=port) peer_port=$(ynh_app_setting_get --app=$app --key=peer_port) @@ -52,7 +51,7 @@ ynh_abort_if_errors #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=1 -ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" +ynh_systemd_action --service_name=$app --action=stop --log_path=systemd #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -61,7 +60,12 @@ ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=5 + + tmpdir="$(mktemp -d)" + # Backup the config file in the temp dir + cp -a "$final_path/config.json" "$tmpdir/config.json" + # Remove the app directory securely ynh_secure_remove --file=$final_path @@ -71,6 +75,12 @@ then gzip --decompress $(ynh_detect_arch).gz mv $(ynh_detect_arch) $app popd + + # Copy the admin saved settings from tmp directory to final path + cp -a "$tmpdir/config.json" "$final_path/config.json" + + # Remove the tmp directory securely + ynh_secure_remove --file="$tmpdir" fi #================================================= @@ -89,28 +99,11 @@ ynh_script_progression --message="Making sure dedicated system user exists..." - # Create a dedicated user (if not existing) ynh_system_user_create --username=$app -#================================================= -# MODIFY A CONFIG FILE -#================================================= -ynh_script_progression --message="Modifying a config file..." --weight=1 - -ynh_backup_if_checksum_is_different --file="$final_path/config.json" - -cp ../conf/config.default.json "$final_path/config.json" - -# Main config File -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/config.json" -ynh_replace_string --match_string="__PEER_PORT__" --replace_string="$peer_port" --target_file="$final_path/config.json" - -ynh_store_file_checksum --file="$final_path/config.json" - #================================================= # SETUP SYSTEMD #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="../conf/systemd.service" -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="../conf/systemd.service" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" ynh_add_systemd_config From 1599d000718da128040d60f620cf1363b7a20471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 12 Mar 2021 22:37:08 +0100 Subject: [PATCH 04/45] Change storage path (#21) * Set new storage path --- conf/config.default.json | 4 ++-- manifest.json | 4 ++-- scripts/backup | 2 +- scripts/change_url | 2 +- scripts/install | 9 +++++---- scripts/restore | 6 +++--- scripts/upgrade | 22 ++++++++++++++++++++-- 7 files changed, 34 insertions(+), 15 deletions(-) diff --git a/conf/config.default.json b/conf/config.default.json index fe73148..20be7cc 100644 --- a/conf/config.default.json +++ b/conf/config.default.json @@ -6,8 +6,8 @@ "SeedRatio": "", "uploadrate": "", "donecmdthreshold": "30s", - "watchdirectory": "/home/yunohost.__APP__/torrents", - "downloaddirectory": "/home/yunohost.__APP__/downloads", + "watchdirectory": "/home/yunohost.app/__APP__/torrents", + "downloaddirectory": "/home/yunohost.app/__APP__/downloads", "enableseeding": true, "enableupload": true, "incomingport": "__PEER_PORT__", diff --git a/manifest.json b/manifest.json index 74b6383..3b42031 100644 --- a/manifest.json +++ b/manifest.json @@ -6,14 +6,14 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.15~ynh2", + "version": "1.2.15~ynh3", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.0.0" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ diff --git a/scripts/backup b/scripts/backup index 50cf3c9..00bf0d9 100644 --- a/scripts/backup +++ b/scripts/backup @@ -41,7 +41,7 @@ ynh_backup --src_path="$final_path" # BACKUP DATA #================================================= -ynh_backup --src_path="/home/yunohost.$app" --is_big +ynh_backup --src_path="/home/yunohost.app/$app" --is_big #================================================= # BACKUP THE NGINX CONFIGURATION diff --git a/scripts/change_url b/scripts/change_url index f843b20..391f4b0 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -70,7 +70,7 @@ fi #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=1 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log" #================================================= # MODIFY URL IN NGINX CONF diff --git a/scripts/install b/scripts/install index e5730cd..7e7a3ff 100644 --- a/scripts/install +++ b/scripts/install @@ -51,7 +51,7 @@ ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Configuring firewall..." --weight=0 +ynh_script_progression --message="Finding an available port..." --weight=0 # Find an available port port=$(ynh_find_port --port=3000) @@ -60,6 +60,7 @@ ynh_app_setting_set --app=$app --key=port --value=$port # Find incoming port peers connect to peer_port=$(ynh_find_port --port=50007) # Open this port +ynh_script_progression --message="Configuring firewall..." --weight=1 ynh_exec_warn_less yunohost firewall allow Both $peer_port ynh_app_setting_set --app=$app --key=peer_port --value=$peer_port @@ -98,7 +99,7 @@ ynh_add_nginx_config # CREATE DIRECTORIES #================================================= -mkdir -p /home/yunohost.${app}/{torrents,downloads} +mkdir -p /home/yunohost.app/$app/{torrents,downloads} #================================================= # MODIFY A CONFIG FILE @@ -131,9 +132,9 @@ ynh_script_progression --message="Securing files and directories..." --weight=1 # Set permissions to app files chown -R $app: $final_path -chown -R $app: /home/yunohost.$app +chown -R $app: /home/yunohost.app chmod +x $final_path/$app -chmod -R 755 /home/yunohost.$app/{torrents,downloads} +chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= # INTEGRATE SERVICE IN YUNOHOST diff --git a/scripts/restore b/scripts/restore index fb13577..0c07e67 100644 --- a/scripts/restore +++ b/scripts/restore @@ -67,7 +67,7 @@ ynh_restore_file --origin_path="$final_path" #================================================= ynh_script_progression --message="Restoring $app data..." --weight=10 -ynh_restore_file --origin_path="/home/yunohost.$app" --not_mandatory +ynh_restore_file --origin_path="/home/yunohost.app/$app" --not_mandatory #================================================= # RECREATE THE DEDICATED USER @@ -84,9 +84,9 @@ ynh_script_progression --message="Restoring user rights..." # Set permissions to app files chown -R $app: $final_path -chown -R $app: /home/yunohost.$app +chown -R $app: /home/yunohost.app/$app chmod +x $final_path/$app -chmod -R 755 /home/yunohost.$app/{torrents,downloads} +chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index 546983a..fe09aa9 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -30,6 +30,18 @@ ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= +ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 + +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + + ynh_app_setting_delete --app=$app --key=is_public +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= @@ -91,6 +103,12 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." - # Create a dedicated NGINX config ynh_add_nginx_config +#================================================= +# CREATE DIRECTORIES +#================================================= + +mkdir -p /home/yunohost.app/$app/{torrents,downloads} + #================================================= # CREATE DEDICATED USER #================================================= @@ -116,9 +134,9 @@ ynh_add_systemd_config ynh_script_progression --message="Securing files and directories..." chown -R $app: $final_path -chown -R $app: /home/yunohost.$app +chown -R $app: /home/yunohost.app/$app chmod +x $final_path/$app -chmod -R 755 /home/yunohost.$app/{torrents,downloads} +chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= # INTEGRATE SERVICE IN YUNOHOST From 5e03ad1f0cae5e814544254dc6093a2b9bfadc5a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 12 Mar 2021 22:38:46 +0100 Subject: [PATCH 05/45] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 3b42031..829e007 100644 --- a/manifest.json +++ b/manifest.json @@ -13,7 +13,7 @@ "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.0.0" }, "multi_instance": true, "services": [ From dec7612239bf84309008137a09f81827195c1b4e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 15 Mar 2021 09:20:18 +0100 Subject: [PATCH 06/45] Update manifest.json --- manifest.json | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/manifest.json b/manifest.json index 829e007..130c66d 100644 --- a/manifest.json +++ b/manifest.json @@ -13,7 +13,7 @@ "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.0.0" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ @@ -24,29 +24,17 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain name for Simple Torrent", - "fr": "Choisissez un nom de domaine pour Simple Torrent" - }, "example": "domain.org" }, { "name": "path", "type": "path", - "ask": { - "en": "Choose a path for Simple Torrent", - "fr": "Choisissez un chemin pour Simple Torrent" - }, "example": "/simple-torrent", "default": "/simple-torrent" }, { "name": "is_public", "type": "boolean", - "ask": { - "en": "Is it a public site?", - "fr": "Est-ce un site public ?" - }, "help": { "en": "If enabled, Simple Torrent will be accessible by people who do not have an account. This can be changed later via the webadmin.", "fr": "Si cette case est cochée, Simple Torrent sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin." From 61714b0e2dfd7b360aa3e4e9a8310af8918be196 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 15 Mar 2021 10:36:15 +0100 Subject: [PATCH 07/45] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 130c66d..94b86bc 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.15~ynh3", + "version": "1.2.15~ynh4", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From 7941230ecf882b72277d98a6f57b72901407779e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:57:47 +0100 Subject: [PATCH 08/45] Upgrade to 1.2.16 (#24) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/armv5.src | 7 ------- conf/armv6.src | 7 ------- conf/armv7.src | 7 ------- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- scripts/_common.sh | 6 ------ scripts/install | 12 +++++++----- 11 files changed, 16 insertions(+), 41 deletions(-) delete mode 100644 conf/armv5.src delete mode 100644 conf/armv6.src delete mode 100644 conf/armv7.src diff --git a/README.md b/README.md index 895209d..6ae9824 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.15 +**Shipped version:** 1.2.16 ## Screenshots diff --git a/README_fr.md b/README_fr.md index a486232..e18af23 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.15 +**Version incluse :** 1.2.16 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index f452db7..bde04fb 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm64.gz -SOURCE_SUM=e0dccf7e1abbba502cf93cd67623ca495c9c42b379bd8007a60750a5a0fcae86 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.16/cloud-torrent_linux_arm64.gz +SOURCE_SUM=58f5c04066e3a959f6e272fdab966045ebabf77895b14af914efb972ccc479cf SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/armv5.src b/conf/armv5.src deleted file mode 100644 index a671aa4..0000000 --- a/conf/armv5.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm_armv5.gz -SOURCE_SUM=a41067c4530e7ffc80f4f3378fb27bd9b51f3452bc3edda05378a67bbb0b3bb8 -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=gz -SOURCE_IN_SUBDIR=false -SOURCE_FILENAME= -SOURCE_EXTRACT=false \ No newline at end of file diff --git a/conf/armv6.src b/conf/armv6.src deleted file mode 100644 index 3a2e013..0000000 --- a/conf/armv6.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm_armv6.gz -SOURCE_SUM=57729347785e7bf555c3aa3ecbc0368779ca24f276e934f9bdc03c0ae13ad566 -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=gz -SOURCE_IN_SUBDIR=false -SOURCE_FILENAME= -SOURCE_EXTRACT=false \ No newline at end of file diff --git a/conf/armv7.src b/conf/armv7.src deleted file mode 100644 index 49fe41e..0000000 --- a/conf/armv7.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_arm_armv7.gz -SOURCE_SUM=6b8eb4577011c65a14a03042317ec6c892880b8c6de6d55db96c16bb3c114d91 -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=gz -SOURCE_IN_SUBDIR=false -SOURCE_FILENAME= -SOURCE_EXTRACT=false \ No newline at end of file diff --git a/conf/i386.src b/conf/i386.src index e103d60..fc5e1ec 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_386.gz -SOURCE_SUM=1a6782b263e0f08cb70b0bd93904b9b3721a2acb4b7cb39776440c5084d22e13 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.16/cloud-torrent_linux_386.gz +SOURCE_SUM=37de8ebc2dc20637f067e5225e4fca5fc2838c817a17f691c329370966c518c6 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index de37768..953adf4 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.15/cloud-torrent_linux_amd64.gz -SOURCE_SUM=c51d2c7ff9f7711c71de649dd81ea5146d35147e35c50102126b5d2523d24060 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.16/cloud-torrent_linux_amd64.gz +SOURCE_SUM=b8aea61e916bf0c5e6db17373b638993edf9ce418d06c741879760ca91373447 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 94b86bc..ca68de8 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.15~ynh4", + "version": "1.2.16~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { diff --git a/scripts/_common.sh b/scripts/_common.sh index 9d4fcae..3424326 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -31,12 +31,6 @@ ynh_detect_arch() { architecture="i386" elif [ -n "$(uname -m | grep 64)" ]; then architecture="x86_64" - elif [ -n "$(uname -m | grep armv7)" ]; then - architecture="armv7" - elif [ -n "$(uname -m | grep armv6)" ]; then - architecture="armv6" - elif [ -n "$(uname -m | grep armv5)" ]; then - architecture="armv5" else architecture="unknown" fi diff --git a/scripts/install b/scripts/install index 7e7a3ff..2b61004 100644 --- a/scripts/install +++ b/scripts/install @@ -106,13 +106,15 @@ mkdir -p /home/yunohost.app/$app/{torrents,downloads} #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 -cp ../conf/config.default.json "$final_path/config.json" +# cp ../conf/config.default.json "$final_path/config.json" -# Main config File -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/config.json" -ynh_replace_string --match_string="__PEER_PORT__" --replace_string="$peer_port" --target_file="$final_path/config.json" +# # Main config File +# ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/config.json" +# ynh_replace_string --match_string="__PEER_PORT__" --replace_string="$peer_port" --target_file="$final_path/config.json" -ynh_store_file_checksum --file="$final_path/config.json" +# ynh_store_file_checksum --file="$final_path/config.json" + +ynh_add_config --template="../conf/config.default.json" --destination="$final_path/config.json" #================================================= # SETUP SYSTEMD From 20bbec0c0051a77148ad896516e2777aad9010b1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 25 Mar 2021 11:45:21 +0100 Subject: [PATCH 09/45] Update install --- scripts/install | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/scripts/install b/scripts/install index 2b61004..a0bd77a 100644 --- a/scripts/install +++ b/scripts/install @@ -106,14 +106,6 @@ mkdir -p /home/yunohost.app/$app/{torrents,downloads} #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 -# cp ../conf/config.default.json "$final_path/config.json" - -# # Main config File -# ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/config.json" -# ynh_replace_string --match_string="__PEER_PORT__" --replace_string="$peer_port" --target_file="$final_path/config.json" - -# ynh_store_file_checksum --file="$final_path/config.json" - ynh_add_config --template="../conf/config.default.json" --destination="$final_path/config.json" #================================================= @@ -134,7 +126,7 @@ ynh_script_progression --message="Securing files and directories..." --weight=1 # Set permissions to app files chown -R $app: $final_path -chown -R $app: /home/yunohost.app +chown -R $app: /home/yunohost.app/$app chmod +x $final_path/$app chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} From b89545a5715cd984bdfdb2b9aa6d412dab847871 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 25 Mar 2021 11:46:47 +0100 Subject: [PATCH 10/45] Upgrade version --- check_process | 1 - manifest.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/check_process b/check_process index 660246a..6cefd19 100644 --- a/check_process +++ b/check_process @@ -17,7 +17,6 @@ upgrade=1 from_commit=295026023fdb74f5bf210093f5b0622bae2982f3 backup_restore=1 multi_instance=1 - port_already_use=1 change_url=1 ;;; Options Email= diff --git a/manifest.json b/manifest.json index ca68de8..c894ea5 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.16~ynh1", + "version": "1.2.16~ynh2", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From 2a04380586b5fac79ebe2dc8216832900f24b89a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 12 Apr 2021 08:55:05 +0200 Subject: [PATCH 11/45] Patch (#27) * Upgrade to version 1.2.17 --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6ae9824..860bd5c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.16 +**Shipped version:** 1.2.17 ## Screenshots diff --git a/README_fr.md b/README_fr.md index e18af23..0cf7c96 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.16 +**Version incluse :** 1.2.17 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index bde04fb..43e89ea 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.16/cloud-torrent_linux_arm64.gz -SOURCE_SUM=58f5c04066e3a959f6e272fdab966045ebabf77895b14af914efb972ccc479cf +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.17/cloud-torrent_linux_arm64.gz +SOURCE_SUM=6e4f10b77049d2758f639003323f2ddc1455a8bdc1c253048256aa85d5cf49bf SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index fc5e1ec..8a6849f 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.16/cloud-torrent_linux_386.gz -SOURCE_SUM=37de8ebc2dc20637f067e5225e4fca5fc2838c817a17f691c329370966c518c6 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.17/cloud-torrent_linux_386.gz +SOURCE_SUM=9725affd9f98e0feb0612969e387137e62dbac2d23fd669e9f8656d3715f09dd SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index 953adf4..960c76b 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.16/cloud-torrent_linux_amd64.gz -SOURCE_SUM=b8aea61e916bf0c5e6db17373b638993edf9ce418d06c741879760ca91373447 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.17/cloud-torrent_linux_amd64.gz +SOURCE_SUM=5581a2e52fd083fdabe389761383417ab039ddab671de33571ed47ba560a97ff SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index c894ea5..8a32832 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.16~ynh2", + "version": "1.2.17~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From ea58cd176609760a95dc609ad75111458f6bde62 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 12 Apr 2021 22:55:10 +0200 Subject: [PATCH 12/45] Warn on 32 bit processor --- README.md | 8 ++++++-- README_fr.md | 8 ++++++-- scripts/install | 6 ++++++ scripts/restore | 2 +- scripts/upgrade | 6 ++++++ 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 860bd5c..24bea08 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,12 @@ You can also configure Simple Torrent by editing this file `/var/www/simple-torr #### Supported architectures -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/simple-torrent%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/simple-torrent/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/simple-torrent%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/simple-torrent/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps.yunohost.org/ci/apps/simple-torrent/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps-arm.yunohost.org/ci/apps/simple-torrent/) + +## Limitations + +* Sorry, this app cannot be installed on a 32-bit ARM machine. ## Links diff --git a/README_fr.md b/README_fr.md index 0cf7c96..78dfb1d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -38,8 +38,12 @@ Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-t #### Architectures supportées -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/simple-torrent%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/simple-torrent/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/simple-torrent%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/simple-torrent/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps.yunohost.org/ci/apps/simple-torrent/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps-arm.yunohost.org/ci/apps/simple-torrent/) + +## Limitations + +* Désolé, cette application ne peut pas être installée sur une machine ARM 32 bits. ## Liens diff --git a/scripts/install b/scripts/install index a0bd77a..adda725 100644 --- a/scripts/install +++ b/scripts/install @@ -32,6 +32,12 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." --weight=1 +# Check machine architecture (in particular, we don't support ARM 32bit machines) +if [ $architecture == "unknown" ] +then + ynh_die --message="Sorry, this app cannot be installed on a 32-bit ARM machine." +fi + final_path=/var/www/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" diff --git a/scripts/restore b/scripts/restore index 0c07e67..9565f98 100644 --- a/scripts/restore +++ b/scripts/restore @@ -65,7 +65,7 @@ ynh_restore_file --origin_path="$final_path" #================================================= # RESTORE DATA #================================================= -ynh_script_progression --message="Restoring $app data..." --weight=10 +ynh_script_progression --message="Restoring $app data..." --weight=10 ynh_restore_file --origin_path="/home/yunohost.app/$app" --not_mandatory diff --git a/scripts/upgrade b/scripts/upgrade index fe09aa9..7812eac 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -35,6 +35,12 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 +# Check machine architecture (in particular, we don't support ARM 32bit machines) +if [ $architecture == "unknown" ] +then + ynh_die --message="Sorry, this app cannot be installed on a 32-bit ARM machine." +fi + # Cleaning legacy permissions if ynh_legacy_permissions_exists; then ynh_legacy_permissions_delete_all From b52ecbc8b1489aa9ee5444b9e13da64ff3961e16 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 15 Apr 2021 08:33:39 +0200 Subject: [PATCH 13/45] Upgrade to version 1.2.18 --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 24bea08..8f81470 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.17 +**Shipped version:** 1.2.18 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 78dfb1d..ed7a022 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.17 +**Version incluse :** 1.2.18 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index 43e89ea..a855f1c 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.17/cloud-torrent_linux_arm64.gz -SOURCE_SUM=6e4f10b77049d2758f639003323f2ddc1455a8bdc1c253048256aa85d5cf49bf +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.18/cloud-torrent_linux_arm64.gz +SOURCE_SUM=ed93f6a878fafec0a3ff7110a80517bf81682aa66e085a7f99b9898661ac84f1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 8a6849f..15f2db6 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.17/cloud-torrent_linux_386.gz -SOURCE_SUM=9725affd9f98e0feb0612969e387137e62dbac2d23fd669e9f8656d3715f09dd +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.18/cloud-torrent_linux_386.gz +SOURCE_SUM=313387bb4a424714d74dccfba834325d9d9c18b8a86ed81313f974cf46898ff4 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index 960c76b..c964edc 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.17/cloud-torrent_linux_amd64.gz -SOURCE_SUM=5581a2e52fd083fdabe389761383417ab039ddab671de33571ed47ba560a97ff +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.18/cloud-torrent_linux_amd64.gz +SOURCE_SUM=3240338063385ddaa38e1a6d0a3457605b4b3d2ad830c09a955823a859922f4f SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 8a32832..1152da4 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.17~ynh1", + "version": "1.2.18~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From a6731d338bbe7b3005905487783249ca8383cbd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 19 Apr 2021 08:36:49 +0200 Subject: [PATCH 14/45] Upgrade to version 1.2.19 (#30) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8f81470..07ae9ce 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.18 +**Shipped version:** 1.2.19 ## Screenshots diff --git a/README_fr.md b/README_fr.md index ed7a022..ef89c91 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.18 +**Version incluse :** 1.2.19 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index a855f1c..911d88c 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.18/cloud-torrent_linux_arm64.gz -SOURCE_SUM=ed93f6a878fafec0a3ff7110a80517bf81682aa66e085a7f99b9898661ac84f1 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.19/cloud-torrent_linux_arm64.gz +SOURCE_SUM= SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 15f2db6..9cac178 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.18/cloud-torrent_linux_386.gz -SOURCE_SUM=313387bb4a424714d74dccfba834325d9d9c18b8a86ed81313f974cf46898ff4 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.19/cloud-torrent_linux_386.gz +SOURCE_SUM=635f939132c7b0bf1d26e3906768ff3d48abf3f7555a04eadb964e44a5749430 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index c964edc..5560a7b 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.18/cloud-torrent_linux_amd64.gz -SOURCE_SUM=3240338063385ddaa38e1a6d0a3457605b4b3d2ad830c09a955823a859922f4f +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.19/cloud-torrent_linux_amd64.gz +SOURCE_SUM=6f36d728a242e483aebf152483c076569252c2bf6876f3fda5f8b2dae0492b0d SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 1152da4..44ae556 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.18~ynh1", + "version": "1.2.19~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From 4d3637fbab2c9de20a7600115353a27d041b2847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Wed, 21 Apr 2021 09:22:48 +0200 Subject: [PATCH 15/45] 1.2.20 (#32) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 07ae9ce..9af5d75 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.19 +**Shipped version:** 1.2.20 ## Screenshots diff --git a/README_fr.md b/README_fr.md index ef89c91..fe61835 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.19 +**Version incluse :** 1.2.20 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index 911d88c..e8ae6f5 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.19/cloud-torrent_linux_arm64.gz -SOURCE_SUM= +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.20/cloud-torrent_linux_arm64.gz +SOURCE_SUM=5eb31c2a42ac3e7d22968c4ba71a237f44344f8282c988fa1dc714f14a7ea491 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 9cac178..ab4348d 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.19/cloud-torrent_linux_386.gz -SOURCE_SUM=635f939132c7b0bf1d26e3906768ff3d48abf3f7555a04eadb964e44a5749430 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.20/cloud-torrent_linux_386.gz +SOURCE_SUM=115ef1e04adddb32db3d44ba2f4b2084d59fdd2882b2dce1f053f08c9fdbba6c SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index 5560a7b..df95b3e 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.19/cloud-torrent_linux_amd64.gz -SOURCE_SUM=6f36d728a242e483aebf152483c076569252c2bf6876f3fda5f8b2dae0492b0d +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.20/cloud-torrent_linux_amd64.gz +SOURCE_SUM=072d6c802719addc7d55df9755614e513f00d055a88b13d0cfa832a305b31ff1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 44ae556..f50cb60 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.19~ynh1", + "version": "1.2.20~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From dfafc2c79d1c678ea51597a5820c77d470bca8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 26 Apr 2021 08:29:24 +0200 Subject: [PATCH 16/45] Upgrade to 1.2.21 (#34) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9af5d75..5725a9f 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.20 +**Shipped version:** 1.2.21 ## Screenshots diff --git a/README_fr.md b/README_fr.md index fe61835..2cfc840 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.20 +**Version incluse :** 1.2.21 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index e8ae6f5..968cac3 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.20/cloud-torrent_linux_arm64.gz -SOURCE_SUM=5eb31c2a42ac3e7d22968c4ba71a237f44344f8282c988fa1dc714f14a7ea491 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.21/cloud-torrent_linux_arm64.gz +SOURCE_SUM=a432b2933d4266c66b11cae4cb0d43b3a5075e740365978d5a4e3fe91834b563 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index ab4348d..28ac635 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.20/cloud-torrent_linux_386.gz -SOURCE_SUM=115ef1e04adddb32db3d44ba2f4b2084d59fdd2882b2dce1f053f08c9fdbba6c +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.21/cloud-torrent_linux_386.gz +SOURCE_SUM=9dca24b1fedfffa37cca4207c4eb7611a54ebf1847ec088e054933a710f64da3 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index df95b3e..348154f 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.20/cloud-torrent_linux_amd64.gz -SOURCE_SUM=072d6c802719addc7d55df9755614e513f00d055a88b13d0cfa832a305b31ff1 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.21/cloud-torrent_linux_amd64.gz +SOURCE_SUM=597f20dec30bc814dec65fdccf74be964ce48cf50d6bf466f1efba798b9de4bc SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index f50cb60..6d7026b 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.20~ynh1", + "version": "1.2.21~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { From 19585e8db92e19c2e4e67a0e0e7aaa9d3bc8ed25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 6 May 2021 17:20:10 +0200 Subject: [PATCH 17/45] Upgrade to version 1.2.22 (#36) * Upgrade to version 1.2.22 --- README.md | 4 ++-- README_fr.md | 4 ++-- conf/arm64.src | 4 ++-- conf/i386.src | 7 ------- conf/x86_64.src | 4 ++-- manifest.json | 2 +- scripts/_common.sh | 4 +--- 7 files changed, 10 insertions(+), 19 deletions(-) delete mode 100644 conf/i386.src diff --git a/README.md b/README.md index 5725a9f..22534bb 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,13 @@ *[Lire ce readme en français.](./README_fr.md)* > *This package allows you to install Simple Torrent quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* +If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* ## Overview Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.21 +**Shipped version:** 1.2.22 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 2cfc840..c7bddb3 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,13 +6,13 @@ *[Read this readme in english.](./README.md)* > *Ce package vous permet d'installer Simple Torrent rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* ## Vue d'ensemble Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.21 +**Version incluse :** 1.2.22 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index 968cac3..7570884 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.21/cloud-torrent_linux_arm64.gz -SOURCE_SUM=a432b2933d4266c66b11cae4cb0d43b3a5075e740365978d5a4e3fe91834b563 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.22/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=27e5a408a6efc25a672b5b03f3522268d29b5181ab4880b393b4ae904bec73a3 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src deleted file mode 100644 index 28ac635..0000000 --- a/conf/i386.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.21/cloud-torrent_linux_386.gz -SOURCE_SUM=9dca24b1fedfffa37cca4207c4eb7611a54ebf1847ec088e054933a710f64da3 -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=gz -SOURCE_IN_SUBDIR=false -SOURCE_FILENAME= -SOURCE_EXTRACT=false \ No newline at end of file diff --git a/conf/x86_64.src b/conf/x86_64.src index 348154f..3829f2a 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.21/cloud-torrent_linux_amd64.gz -SOURCE_SUM=597f20dec30bc814dec65fdccf74be964ce48cf50d6bf466f1efba798b9de4bc +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.22/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=8bc0bc3fe2a1e0d3c284dca868fe869588fece96562ef67f361fa6e53382b6b6 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 6d7026b..54c659d 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.21~ynh1", + "version": "1.2.22~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { diff --git a/scripts/_common.sh b/scripts/_common.sh index 3424326..318d9dd 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -26,9 +26,7 @@ ynh_detect_arch() { local architecture if [ -n "$(uname -m | grep arm64)" ] || [ -n "$(uname -m | grep aarch64)" ]; then - architecture="arm64" - elif [ -n "$(uname -m | grep 86)" ]; then - architecture="i386" + architecture="arm64" elif [ -n "$(uname -m | grep 64)" ]; then architecture="x86_64" else From c466e454a2398fd022a83a435b1125b790f8476f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 10 May 2021 08:37:51 +0200 Subject: [PATCH 18/45] 1.2.23 (#38) --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- scripts/install | 9 +++++---- scripts/restore | 7 ++++--- scripts/upgrade | 9 +++++---- 8 files changed, 21 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 22534bb..bfb6046 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/inst Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. -**Shipped version:** 1.2.22 +**Shipped version:** 1.2.23 ## Screenshots diff --git a/README_fr.md b/README_fr.md index c7bddb3..e3e7fb8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. -**Version incluse :** 1.2.22 +**Version incluse :** 1.2.23 ## Captures d'écran diff --git a/conf/arm64.src b/conf/arm64.src index 7570884..7001de8 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.22/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=27e5a408a6efc25a672b5b03f3522268d29b5181ab4880b393b4ae904bec73a3 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.23/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=28a752920f03a18e5830d4d1e2b2eff15cf6872fed6b83c56232c72acee05f12 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index 3829f2a..2fca0bd 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.22/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=8bc0bc3fe2a1e0d3c284dca868fe869588fece96562ef67f361fa6e53382b6b6 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.23/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=4df4987bf027d6f72b8e54062eda35b34c9af15ea73cbde0c4940aa843a7e280 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 54c659d..e547507 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.22~ynh1", + "version": "1.2.23~ynh1", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { diff --git a/scripts/install b/scripts/install index adda725..bd3e53f 100644 --- a/scripts/install +++ b/scripts/install @@ -119,7 +119,7 @@ ynh_add_config --template="../conf/config.default.json" --destination="$final_pa #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" +#ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" ynh_add_systemd_config @@ -131,10 +131,11 @@ ynh_add_systemd_config ynh_script_progression --message="Securing files and directories..." --weight=1 # Set permissions to app files -chown -R $app: $final_path -chown -R $app: /home/yunohost.app/$app +chown -R $app:www-data $final_path +chmod -R o-rwx $final_path +chown -R $app:www-data /home/yunohost.app/$app chmod +x $final_path/$app -chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} +chmod 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= # INTEGRATE SERVICE IN YUNOHOST diff --git a/scripts/restore b/scripts/restore index 9565f98..79bec8c 100644 --- a/scripts/restore +++ b/scripts/restore @@ -83,10 +83,11 @@ ynh_system_user_create --username=$app ynh_script_progression --message="Restoring user rights..." # Set permissions to app files -chown -R $app: $final_path -chown -R $app: /home/yunohost.app/$app +chown -R $app:www-data $final_path +chmod -R o-rwx $final_path +chown -R $app:www-data /home/yunohost.app/$app chmod +x $final_path/$app -chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} +chmod 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index 7812eac..fd08f8e 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -128,7 +128,7 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" +#ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" ynh_add_systemd_config @@ -139,10 +139,11 @@ ynh_add_systemd_config #================================================= ynh_script_progression --message="Securing files and directories..." -chown -R $app: $final_path -chown -R $app: /home/yunohost.app/$app +chown -R $app:www-data $final_path +chmod -R o-rwx $final_path +chown -R $app:www-data /home/yunohost.app/$app chmod +x $final_path/$app -chmod -R 755 /home/yunohost.app/$app/{torrents,downloads} +chmod 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= # INTEGRATE SERVICE IN YUNOHOST From f49469c139494fd98ec08793615538a3d764c238 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 10 May 2021 08:42:17 +0200 Subject: [PATCH 19/45] Cleaning up --- scripts/install | 4 +--- scripts/upgrade | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/install b/scripts/install index bd3e53f..a5a9dcc 100644 --- a/scripts/install +++ b/scripts/install @@ -50,7 +50,7 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url ynh_script_progression --message="Storing installation settings..." --weight=2 ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url +ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= # STANDARD MODIFICATIONS @@ -119,8 +119,6 @@ ynh_add_config --template="../conf/config.default.json" --destination="$final_pa #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 -#ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" - ynh_add_systemd_config #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index fd08f8e..86475bf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -128,8 +128,6 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 -#ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" - ynh_add_systemd_config #================================================= From 75319ad58970a135b3cc57704ee7684b12442c72 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 11 May 2021 07:37:43 +0200 Subject: [PATCH 20/45] [autopatch] Update issue and PR templates (#40) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Testing (#39) * Upgrade to version 1.2.23 * [autopatch] Update issue and PR templates Co-authored-by: Éric Gaspar <46165813+ericgaspar@users.noreply.github.com> Co-authored-by: Yunohost-Bot <> --- issue_template.md | 46 ---------------------------------------- pull_request_template.md | 16 -------------- 2 files changed, 62 deletions(-) delete mode 100644 issue_template.md delete mode 100644 pull_request_template.md diff --git a/issue_template.md b/issue_template.md deleted file mode 100644 index 352c67a..0000000 --- a/issue_template.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -name: Bug report -about: Create a report to help us debug, it would be nice to fill the template as much as you can to help us, help you and help us all. - ---- - -**How to post a meaningful bug report** -1. *Read this whole template first.* -2. *Determine if you are on the right place:* - - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* - - *Otherwise, the issue may be due to Simple Torrent itself. Refer to its documentation or repository for help.* - - *If you have a doubt, post here, we will figure it out together.* -3. *Delete the italic comments as you write over them below, and remove this guide.* ---- - -**Describe the bug** -*A clear and concise description of what the bug is.* - -**Versions** -- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* -- YunoHost version: x.x.x -- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* -- Are you in a special context or did you perform some particular tweaking on your YunoHost instance ?: *no / yes* - - If yes, please explain: -- Using, or trying to install package version/branch: -- If upgrading, current package version: *can be found in the admin, or with `yunohost app info simple-torrent`* - -**To Reproduce** -*Steps to reproduce the behavior.* -- *If you performed a command from the CLI, the command itself is enough. For example:* - ```sh - sudo yunohost app install simple-torrent - ``` -- *If you used the webadmin, please perform the equivalent command from the CLI first.* -- *If the error occurs in your browser, explain what you did:* - 1. *Go to '...'* - 2. *Click on '...'* - 3. *Scroll down to '...'* - 4. *See error* - -**Expected behavior** -*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* - -**Logs** -*After a failed command, YunoHost makes the log available to you, but also to others, thanks to `yunohost log display [log name] --share`. The actual command, with the correct log name, is displayed at the end of the failed attempt in the CLI. Execute it and copy here the share link it outputs.* -*If applicable and useful, add screenshots to help explain your problem.* diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 6c28fc5..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,16 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how do you fix that problem* - -## PR Status -- [ ] Code finished. -- [ ] Tested with Package_check. -- [ ] Fix or enhancement tested. -- [ ] Upgrade from last version tested. -- [ ] Can be reviewed and tested. - -## Package_check results ---- -* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* From fd7ef581dfc8752c1f28f8660d91881106b556ee Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 11 May 2021 10:29:57 +0200 Subject: [PATCH 21/45] Add templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) From d1845d804ba13c3ff803606f0a19251d909af061 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 13 May 2021 17:28:10 +0200 Subject: [PATCH 22/45] Update install --- scripts/install | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/install b/scripts/install index a5a9dcc..762d11a 100644 --- a/scripts/install +++ b/scripts/install @@ -119,6 +119,8 @@ ynh_add_config --template="../conf/config.default.json" --destination="$final_pa #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 +ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" + ynh_add_systemd_config #================================================= From ad3bafcd6c7338f7b3bc73cfd0ae1ffdde4b9341 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 13 May 2021 18:06:59 +0200 Subject: [PATCH 23/45] Update upgrade --- scripts/upgrade | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 86475bf..6c35fa6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -128,6 +128,8 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 +ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" + ynh_add_systemd_config #================================================= From 2b00cad86f6837aae854a5cb0cd56cb7490222bf Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 13 May 2021 20:13:52 +0200 Subject: [PATCH 25/45] Fix --- scripts/install | 2 ++ scripts/upgrade | 2 ++ 2 files changed, 4 insertions(+) diff --git a/scripts/install b/scripts/install index a5a9dcc..762d11a 100644 --- a/scripts/install +++ b/scripts/install @@ -119,6 +119,8 @@ ynh_add_config --template="../conf/config.default.json" --destination="$final_pa #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 +ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" + ynh_add_systemd_config #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 86475bf..6c35fa6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -128,6 +128,8 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 +ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" + ynh_add_systemd_config #================================================= From 59d5aa3418e3a12df924f5697cf2a067e59a1c70 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 14 May 2021 09:12:31 +0200 Subject: [PATCH 26/45] Set requirements to 4.2.4 --- check_process | 10 +++++----- manifest.json | 4 ++-- scripts/install | 2 -- scripts/upgrade | 2 -- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/check_process b/check_process index 6cefd19..04f2a4b 100644 --- a/check_process +++ b/check_process @@ -1,11 +1,11 @@ ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - is_public=1 (PUBLIC|public=1|private=0) - admin="john" (USER) + domain="domain.tld" + path="/path" + is_public=1 + admin="john" password="pass" - port="4533" (PORT) + port="4533" ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/manifest.json b/manifest.json index e547507..71ffddb 100644 --- a/manifest.json +++ b/manifest.json @@ -6,14 +6,14 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.23~ynh1", + "version": "1.2.23~ynh2", "url": "https://github.com/boypt/simple-torrent", "license": "AGPL-3.0-only", "maintainer": { "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.4" }, "multi_instance": true, "services": [ diff --git a/scripts/install b/scripts/install index 762d11a..a5a9dcc 100644 --- a/scripts/install +++ b/scripts/install @@ -119,8 +119,6 @@ ynh_add_config --template="../conf/config.default.json" --destination="$final_pa #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" - ynh_add_systemd_config #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 6c35fa6..86475bf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -128,8 +128,6 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="../conf/systemd.service" - ynh_add_systemd_config #================================================= From 8628e73ecf695ea68fbb56d05d70f6ec8ab7265c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 29 May 2021 09:13:47 +0200 Subject: [PATCH 27/45] Patch (#43) * Add template --- .DS_Store | Bin 0 -> 6148 bytes README.md | 55 ++++++++---------- README_fr.md | 55 ++++++++---------- check_process | 1 - doc/.DS_Store | Bin 0 -> 6148 bytes doc/DISCLAIMER.md | 9 +++ doc/DISCLAIMER_fr.md | 9 +++ doc/screenshots/.DS_Store | Bin 0 -> 6148 bytes ...3-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png | Bin 0 -> 45357 bytes manifest.json | 6 ++ scripts/install | 22 +++---- scripts/restore | 30 +++++----- scripts/upgrade | 51 +++++----------- 13 files changed, 109 insertions(+), 129 deletions(-) create mode 100644 .DS_Store create mode 100644 doc/.DS_Store create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 doc/screenshots/.DS_Store create mode 100644 doc/screenshots/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..145651ddf37dd0eae5fb377facacdeb2a2c56f1a GIT binary patch literal 6148 zcmeHK%}&BV5Z(pU5@Y0GBFDXW;{Ykj$)rI%cr&TdgBoZpktVfEph&dV^fmO2d;(v` zncc0C$ib5_GDCL1nVp&4&X=%1j4|Gw1ue#Ej4=xuB1dJ3;P6sc$pj;EoMSrnBk6uqH@QUX)JsOb z(a)reK6TGO4~O%9ZRbeFi5JGhiAoNGA%t9AgmEC}T{(+`shY>t4qT_&uhrAkw)Y#t zZnv|BNIRWoL$vLKEUQ|(d#%Hh!QI1S`jkDtXnr}+uVmX`0k5E#^6uS99Le|=MvCYn zijWu}28aP-V5Jx^$AGoDQdLv2!~iky69#a95YP}EgSkevbwG#LXY^MPQ9#GH1fnqL z7|b<-2ZZZXK%L6X6NBq?7#AkaF_>%A>5QwDVIH$`@p$2Cbr=^aoN-4Z^~3-%u*g7J zn>9TDkKr$~^pU@qLKZPV4E!?&c%|p|x=@rkTfdcuXRUxXfQEu`IVvEaFI)n^z + # Simple Torrent for YunoHost [![Integration level](https://dash.yunohost.org/integration/simple-torrent.svg)](https://dash.yunohost.org/appci/app/simple-torrent) ![](https://ci-apps.yunohost.org/ci/badges/simple-torrent.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/simple-torrent.maintain.svg) -[![Install Simple Torrent with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=simple-torrent/) +[![Install Simple Torrent with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=simple-torrent) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Simple Torrent quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* +> *This package allows you to install Simple Torrent quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Simple Torrent is a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. +Self-hosted remote torrent client + +**Shipped version:** 1.2.23~ynh2 + -**Shipped version:** 1.2.23 ## Screenshots -![](https://user-images.githubusercontent.com/1033514/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png) +![](./doc/screenshots/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png) +![](./doc/screenshots/.DS_Store) + +## Disclaimers / important information ## Configuration @@ -24,34 +34,17 @@ Most of the items can be edited in Web-UI on the fly in the config board. You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.json` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). -## Documentation - - * Official documentation: https://github.com/boypt/simple-torrent/wiki - * YunoHost documentation: https://yunohost.org/en/app_simple-torrent - -## YunoHost specific features - -#### Multi-user support - -* Is LDAP supported? **No** -* Can the app be used by multiple users? **No** - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps.yunohost.org/ci/apps/simple-torrent/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps-arm.yunohost.org/ci/apps/simple-torrent/) - ## Limitations -* Sorry, this app cannot be installed on a 32-bit ARM machine. +- This app cannot be installed on a 32-bit ARM machine. -## Links +## Documentation and resources - * Report a bug: https://github.com/YunoHost-Apps/simple-torrent_ynh/issues - * Upstream app repository: https://github.com/boypt/simple-torrent - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: https://github.com/boypt/simple-torrent +* Official admin documentation: https://github.com/boypt/simple-torrent/wiki +* Upstream app code repository: https://github.com/boypt/simple-torrent +* YunoHost documentation for this app: https://yunohost.org/app_simple-torrent +* Report a bug: https://github.com/YunoHost-Apps/simple-torrent_ynh/issues ## Developer info @@ -63,3 +56,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/simple-torrent_ynh/tr or sudo yunohost app upgrade simple-torrent -u https://github.com/YunoHost-Apps/simple-torrent_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index e3e7fb8..2daef56 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,22 +1,28 @@ # Simple Torrent pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/simple-torrent.svg)](https://dash.yunohost.org/appci/app/simpletorrent) ![](https://ci-apps.yunohost.org/ci/badges/simple-torrent.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/simple-torrent.maintain.svg) +[![Niveau d'intégration](https://dash.yunohost.org/integration/simple-torrent.svg)](https://dash.yunohost.org/appci/app/simple-torrent) ![](https://ci-apps.yunohost.org/ci/badges/simple-torrent.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/simple-torrent.maintain.svg) [![Installer Simple Torrent avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=simple-torrent) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Simple Torrent rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* +> *This package allows you to install Simple Torrent quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Vue d'ensemble -Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP. +Client torrent distant auto-hébergé + +**Version incluse:** 1.2.23~ynh2 + -**Version incluse :** 1.2.23 ## Captures d'écran -![](https://user-images.githubusercontent.com/1033514/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png) +![](./doc/screenshots/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png) +![](./doc/screenshots/.DS_Store) + +## Avertissements / informations importantes ## Configuration @@ -24,34 +30,17 @@ La plupart des éléments peuvent être modifiés à la volée dans Web-UI dans Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.json` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). -## Documentation - - * Documentation officielle : https://github.com/boypt/simple-torrent/wiki - * Documentation YunoHost : https://yunohost.org/fr/app_simple-torrent - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateur - -* L'authentification LDAP est-elle prise en charge ? **Non** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Non** - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps.yunohost.org/ci/apps/simple-torrent/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/simple-torrent.svg)](https://ci-apps-arm.yunohost.org/ci/apps/simple-torrent/) - ## Limitations -* Désolé, cette application ne peut pas être installée sur une machine ARM 32 bits. +- Cette application ne peut pas être installée sur une machine ARM 32 bits. -## Liens +## Documentations et ressources - * Signaler un bug : https://github.com/YunoHost-Apps/simple-torrent_ynh/issues - * Dépôt de l'application principale : https://github.com/boypt/simple-torrent - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : https://github.com/boypt/simple-torrent +* Documentation officielle de l'admin : https://github.com/boypt/simple-torrent/wiki +* Dépôt de code officiel de l'app : https://github.com/boypt/simple-torrent +* Documentation YunoHost pour cette app : https://yunohost.org/app_simple-torrent +* Signaler un bug: https://github.com/YunoHost-Apps/simple-torrent_ynh/issues ## Informations pour les développeurs @@ -60,6 +49,8 @@ Merci de faire vos pull request sur la [branche testing](https://github.com/Yuno Pour essayer la branche testing, procédez comme suit. ``` sudo yunohost app install https://github.com/YunoHost-Apps/simple-torrent_ynh/tree/testing --debug -ou +or sudo yunohost app upgrade simple-torrent -u https://github.com/YunoHost-Apps/simple-torrent_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index 04f2a4b..f7fbeaa 100644 --- a/check_process +++ b/check_process @@ -5,7 +5,6 @@ is_public=1 admin="john" password="pass" - port="4533" ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/doc/.DS_Store b/doc/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fc7b8a40949f5488c93362acd831b939baeb97b0 GIT binary patch literal 6148 zcmeHK%}(4f5FRhvHZG_NQV$?;u*9L4J#4kxa*ejYsS>C`a479IX{>If$VN$)J*-xW z`T%`^a_!H1ls*J6!kro0TZFb;QK>x9_?wJp#>wZ%jsbuT#@Ta#5C8&H!WPHoFGBsK z3(|5PLS|}6P*A}LG}H^x-tjLoKy$Z@bM_HRka%6sUzJX(leEw&MqH*RMPAk2?geWt zwI4iu6!6D!gC&TdRE3N7zSF$wqY>nfiTxEJP&|{TVCf*e{_I^^2unymhWMi1+0Uw5I z(`m2wq9c0!{;VUWTU*_Z==WaEW;_VipY6VRKmPpX>)E&OKYso?H(9{&(>1c{a1OuG zxP_Y2xKxE!pD<#cJVBNAwJM2JV&tS|0=|VdSu}XqFCa z==YKO+k_-&(^-O0IE)-N7O@9~*;GWE%G?oy*>v;^7Z*8fEZTHnW@N16MrQ7W!p!LC z7bYB7WYM>t0nflq2A1q?Nc;cJ?dSiSN&e0=;2HR@7+~$~czb}a=^gL=TGp5im6P#xroI3|s*i)MY*Z literal 0 HcmV?d00001 diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..9cc9c9b --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,9 @@ +## Configuration + +Most of the items can be edited in Web-UI on the fly in the config board. + +You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.json` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). + +## Limitations + +- This app cannot be installed on a 32-bit ARM machine. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..3246c1b --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,9 @@ +## Configuration + +La plupart des éléments peuvent être modifiés à la volée dans Web-UI dans la page de configuration. + +Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.json` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). + +## Limitations + +- Cette application ne peut pas être installée sur une machine ARM 32 bits. diff --git a/doc/screenshots/.DS_Store b/doc/screenshots/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 LzDC(?+pzxyOk Date: Fri, 4 Jun 2021 10:37:15 +0200 Subject: [PATCH 28/45] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 1e7220a..da6147c 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.23~ynh2", + "version": "1.2.23~ynh3", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", From 79d0ef784b24b0a81ccbe50280a654bdca2cab1e Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 4 Jun 2021 08:37:24 +0000 Subject: [PATCH 29/45] Auto-update README --- README.md | 4 ++-- README_fr.md | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0ff1a1a..97556bf 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.2.23~ynh2 +**Shipped version:** 1.2.23~ynh3 @@ -42,7 +42,7 @@ You can also configure Simple Torrent by editing this file `/var/www/simple-torr * Official app website: https://github.com/boypt/simple-torrent * Official admin documentation: https://github.com/boypt/simple-torrent/wiki -* Upstream app code repository: https://github.com/boypt/simple-torrent +* Upstream app code repository: https://github.com/boypt/simple-torrent * YunoHost documentation for this app: https://yunohost.org/app_simple-torrent * Report a bug: https://github.com/YunoHost-Apps/simple-torrent_ynh/issues diff --git a/README_fr.md b/README_fr.md index 2daef56..b94d3ea 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,14 +6,14 @@ *[Read this readme in english.](./README.md)* *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Simple Torrent quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* +> *Ce package vous permet d'installer Simple Torrent 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 Client torrent distant auto-hébergé -**Version incluse:** 1.2.23~ynh2 +**Version incluse :** 1.2.23~ynh3 @@ -36,11 +36,11 @@ Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-t ## Documentations et ressources -* Site officiel de l'app : https://github.com/boypt/simple-torrent -* Documentation officielle de l'admin : https://github.com/boypt/simple-torrent/wiki -* Dépôt de code officiel de l'app : https://github.com/boypt/simple-torrent -* Documentation YunoHost pour cette app : https://yunohost.org/app_simple-torrent -* Signaler un bug: https://github.com/YunoHost-Apps/simple-torrent_ynh/issues +* Site officiel de l'app : https://github.com/boypt/simple-torrent +* Documentation officielle de l'admin : https://github.com/boypt/simple-torrent/wiki +* Dépôt de code officiel de l'app : https://github.com/boypt/simple-torrent +* Documentation YunoHost pour cette app : https://yunohost.org/app_simple-torrent +* Signaler un bug : https://github.com/YunoHost-Apps/simple-torrent_ynh/issues ## Informations pour les développeurs @@ -49,8 +49,8 @@ Merci de faire vos pull request sur la [branche testing](https://github.com/Yuno Pour essayer la branche testing, procédez comme suit. ``` sudo yunohost app install https://github.com/YunoHost-Apps/simple-torrent_ynh/tree/testing --debug -or +ou sudo yunohost app upgrade simple-torrent -u https://github.com/YunoHost-Apps/simple-torrent_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 :** https://yunohost.org/packaging_apps \ No newline at end of file From 8993dbe1dd7927798d75e2115cca45d7ff840003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 13 Jul 2021 18:47:03 +0200 Subject: [PATCH 30/45] 1.3.0 (#45) * Upgrade to 1.3.0 --- README.md | 4 +- README_fr.md | 4 +- conf/arm64.src | 6 +-- conf/config.default.yaml | 81 ++++++++++++++++++++++++++++++++++++++++ conf/i386.src | 7 ++++ conf/systemd.service | 2 +- conf/x86_64.src | 4 +- doc/DISCLAIMER.md | 2 +- doc/DISCLAIMER_fr.md | 2 +- manifest.json | 2 +- scripts/_common.sh | 4 +- scripts/install | 2 +- scripts/upgrade | 13 ++++++- 13 files changed, 117 insertions(+), 16 deletions(-) create mode 100644 conf/config.default.yaml create mode 100644 conf/i386.src diff --git a/README.md b/README.md index 97556bf..b4a34d5 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.2.23~ynh3 +**Shipped version:** 1.3.0~ynh1 @@ -32,7 +32,7 @@ Self-hosted remote torrent client Most of the items can be edited in Web-UI on the fly in the config board. -You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.json` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.yaml` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/README_fr.md b/README_fr.md index b94d3ea..bff89ee 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.2.23~ynh3 +**Version incluse :** 1.3.0~ynh1 @@ -28,7 +28,7 @@ Client torrent distant auto-hébergé La plupart des éléments peuvent être modifiés à la volée dans Web-UI dans la page de configuration. -Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.json` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.yaml` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/conf/arm64.src b/conf/arm64.src index 7001de8..af471e5 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.23/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=28a752920f03a18e5830d4d1e2b2eff15cf6872fed6b83c56232c72acee05f12 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.0/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=16835738f35ebfa69a6d6a687f4f17917fa9019c07228da7cee62b16829b7a00 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false SOURCE_FILENAME= -SOURCE_EXTRACT=false \ No newline at end of file +SOURCE_EXTRACT=false diff --git a/conf/config.default.yaml b/conf/config.default.yaml new file mode 100644 index 0000000..c9949db --- /dev/null +++ b/conf/config.default.yaml @@ -0,0 +1,81 @@ +AutoStart: true +# AutoStart Whether start torrent task on added Magnet/Torrent. + +AllowRuntimeConfigure: true +# AllowRuntimeConfigure is the switch whether to offer the WEB UI configuration to users. + +EngineDebug: false +# EngineDebug Print debug log from anacrolix/torrent engine (lots of them) + +MuteEngineLog: true +# MuteEngineLog anacrolix/torrent engine prints chunks exchanging logs, normal user can just mute them. + +ObfsPreferred: true +# ObfsPreferred Whether torrent header obfuscation is preferred. + +ObfsRequirePreferred: false +# ObfsRequirePreferred Whether the value of ObfsPreferred is a strict requirement. This hides torrent traffic from being censored. + +DisableTrackers: false +# DisableTrackers Don't announce to trackers. This only leaves DHT to discover peers. + +DisableIPv6: false +# DisableIPv6 Don't connect to IPv6 peers. + +DisableUTP: false +# Disable UTP in the torrent protocol. +# In recent versions, the UTP process cause quite high CPU usage. Set to true can ease the situation. + +NoDefaultPortForwarding: true +# Don't broadcast the UPNP request for gateway port forwarding, which is unnecessary in machines that has public IP (of which this program is mean for?) + +DownloadDirectory: /home/yunohost.app/__APP__/downloads +# DisableEncryption A switch disables [BitTorrent protocol encryption](https://en.wikipedia.org/wiki/BitTorrent_protocol_encryption) + +WatchDirectory: /home/yunohost.app/__APP__/torrents +# DownloadDirectory The directory where downloaded file saves. + +EnableUpload: true +# EnableUpload Whether send chunks to peers + +EnableSeeding: true +# EnableSeeding Whether upload even after there's nothing further for us. By default uploading is not altruistic, we'll only upload to encourage the peer to reciprocate. + +IncomingPort: __PEER_PORT__ +# IncomingPort The port SimpleTorrent listens to. + +DoneCmd: "" +# DoneCmd is An external program to call on task finished. See [DoneCmd Usage](https://github.com/boypt/simple-torrent/wiki/DoneCmdUsage). + +SeedRatio: 1.5 +# SeedRatio The ratio of task Upload/Download data when reached, the task will be stop. + +SeedTime: "0s" +# SeedTime is the time to seed after a task is done downloading, during which if `SeedRatio` is reached, the tasks will stop and deleted; after the duration, the tasks will also stop and removed. But if the waiting queue is empty, will not remove. + +UploadRate: High +DownloadRate: Unlimited +# UploadRate/DownloadRate The global speed limiter, +# a fixed level amoung Low(~50k/s), Medium(~500k/s) and High(~1500k/s) is accepted , Unlimited / 0 +# or empty result in unlimited rate, or a customed value eg: 850k/720kb/2.85MB. + +TrackerListURL: https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt +# TrackerListURL A https URL to a trackers list, this option is design to retrive public trackers from https://github.com/ngosang/trackerslist. + +AlwaysAddTrackers: true +# Always add tracers from TrackerListURL wheather the torrent/magnet link has it's own trackers already + +MaxConcurrentTask: 0 +# MaxConcurrentTask the the maximum tasks concurrently running. Too many task consumes CPU a lot, use this option to limit and queue up download task. + +ProxyURL: "" +# ProxyURL Socks5 Proxy to torrent engine. Authentication should be included in the url if needed. +# Eg. socks5://demo:demo@192.168.99.100:1080 + +# ScraperURL: "https://raw.githubusercontent.com/boypt/simple-torrent/master/scraper-config.json" +# The magnet search engine configuration file. Don't set this option (leave it commented) if not intended to. + +RSSUrl: |- + http://domian./rss.xml + http://some-other-site/rss.xml +# The RSS superscription list. diff --git a/conf/i386.src b/conf/i386.src new file mode 100644 index 0000000..dda3f42 --- /dev/null +++ b/conf/i386.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.0/cloud-torrent_linux_386_static.gz +SOURCE_SUM=56fa0b4ef9dbd3d06c531786cad2e095afd4556722e4ef8b7f9f65cb1853b4cc +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= +SOURCE_EXTRACT=false diff --git a/conf/systemd.service b/conf/systemd.service index 23fb665..26151be 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,7 @@ User=__APP__ Group=__APP__ Environment=PORT=__PORT__ WorkingDirectory=__FINALPATH__ -ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.json --host 127.0.0.1 +ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.yaml --host 127.0.0.1 Restart=always RestartSec=3 diff --git a/conf/x86_64.src b/conf/x86_64.src index 2fca0bd..f39fb26 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.2.23/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=4df4987bf027d6f72b8e54062eda35b34c9af15ea73cbde0c4940aa843a7e280 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.0/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=91f3f8538d90cf2fd4f5899d1ebd8c7820578fdc1947047d1cf0e5f53e99e81e SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 9cc9c9b..4d586e9 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -2,7 +2,7 @@ Most of the items can be edited in Web-UI on the fly in the config board. -You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.json` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.yaml` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 3246c1b..16261a3 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -2,7 +2,7 @@ La plupart des éléments peuvent être modifiés à la volée dans Web-UI dans la page de configuration. -Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.json` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.yaml` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/manifest.json b/manifest.json index da6147c..4f11a9e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.2.23~ynh3", + "version": "1.3.0~ynh1", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", diff --git a/scripts/_common.sh b/scripts/_common.sh index 318d9dd..8fc49a5 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -26,7 +26,9 @@ ynh_detect_arch() { local architecture if [ -n "$(uname -m | grep arm64)" ] || [ -n "$(uname -m | grep aarch64)" ]; then - architecture="arm64" + architecture="arm64" + elif [ -n "$(uname -m | grep 86)" ]; then + architecture="i386" elif [ -n "$(uname -m | grep 64)" ]; then architecture="x86_64" else diff --git a/scripts/install b/scripts/install index 58fbac0..d99620a 100644 --- a/scripts/install +++ b/scripts/install @@ -120,7 +120,7 @@ chmod 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 -ynh_add_config --template="../conf/config.default.json" --destination="$final_path/config.json" +ynh_add_config --template="../conf/config.default.yaml" --destination="$final_path/config.yaml" #================================================= # SETUP SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index 504ae90..f2d0f31 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -87,8 +87,12 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=5 + # Remove the app directory securely + ynh_secure_remove --file="$final_path" + # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir=$final_path --source_id="$architecture" --keep="$final_path/config.json" + ynh_setup_source --dest_dir=$final_path --source_id="$architecture" + pushd "$final_path" gzip --decompress $(ynh_detect_arch).gz mv $(ynh_detect_arch) $app @@ -108,6 +112,13 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." - # Create a dedicated NGINX config ynh_add_nginx_config +#================================================= +# MODIFY A CONFIG FILE +#================================================= +ynh_script_progression --message="Modifying a config file..." --weight=1 + +ynh_add_config --template="../conf/config.default.yaml" --destination="$final_path/config.yaml" + #================================================= # CREATE DIRECTORIES #================================================= From 0a5359ba8481ec251b7a994382422d2308840dca Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 13 Jul 2021 18:49:23 +0200 Subject: [PATCH 31/45] cleaning up --- conf/config.default.json | 20 -------------------- conf/systemd.service | 2 +- 2 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 conf/config.default.json diff --git a/conf/config.default.json b/conf/config.default.json deleted file mode 100644 index 20be7cc..0000000 --- a/conf/config.default.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "autostart": true, - "enginedebug": false, - "MuteEngineLog": true, - "donecmd": "", - "SeedRatio": "", - "uploadrate": "", - "donecmdthreshold": "30s", - "watchdirectory": "/home/yunohost.app/__APP__/torrents", - "downloaddirectory": "/home/yunohost.app/__APP__/downloads", - "enableseeding": true, - "enableupload": true, - "incomingport": "__PEER_PORT__", - "obfspreferred": true, - "obfsrequirepreferred": false, - "proxyurl": "", - "scraperurl": "https://raw.githubusercontent.com/boypt/simple-torrent/master/scraper-config.json", - "seedratio": 0, - "trackerlisturl": "https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt" -} \ No newline at end of file diff --git a/conf/systemd.service b/conf/systemd.service index 26151be..039be03 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,7 @@ User=__APP__ Group=__APP__ Environment=PORT=__PORT__ WorkingDirectory=__FINALPATH__ -ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.yaml --host 127.0.0.1 +ExecStart=__FINALPATH__/__APP__ --host 127.0.0.1 Restart=always RestartSec=3 From e13eaeffe2d779551f7ad3600eb8202a333f3a7d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 14 Jul 2021 08:14:05 +0200 Subject: [PATCH 32/45] Update systemd.service --- conf/systemd.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/systemd.service b/conf/systemd.service index 039be03..26151be 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,7 @@ User=__APP__ Group=__APP__ Environment=PORT=__PORT__ WorkingDirectory=__FINALPATH__ -ExecStart=__FINALPATH__/__APP__ --host 127.0.0.1 +ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.yaml --host 127.0.0.1 Restart=always RestartSec=3 From 55cb0ee91ad6ae10edc14ae51daafec35f3feb9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 16 Jul 2021 09:39:29 +0200 Subject: [PATCH 33/45] 1.3.1 (#47) * 1.3.1 --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b4a34d5..7bb204f 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.3.0~ynh1 +**Shipped version:** 1.3.1~ynh1 diff --git a/README_fr.md b/README_fr.md index bff89ee..ea956fb 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.3.0~ynh1 +**Version incluse :** 1.3.1~ynh1 diff --git a/conf/arm64.src b/conf/arm64.src index af471e5..556b74b 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.0/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=16835738f35ebfa69a6d6a687f4f17917fa9019c07228da7cee62b16829b7a00 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.1/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=0348fbf541c97dcefac1f925a5372c0889b815bf4447f065b696aca16a3eb8b9 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index dda3f42..0027297 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.0/cloud-torrent_linux_386_static.gz -SOURCE_SUM=56fa0b4ef9dbd3d06c531786cad2e095afd4556722e4ef8b7f9f65cb1853b4cc +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.1/cloud-torrent_linux_386_static.gz +SOURCE_SUM=0bc59e5e04ef87d7e55c47553d4487da6d3b5dd707fade167acbdd63a300b249 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index f39fb26..c198b05 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.0/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=91f3f8538d90cf2fd4f5899d1ebd8c7820578fdc1947047d1cf0e5f53e99e81e +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.1/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=de6e9fd068639cfe25082bf642ac8d526351361722de6b27b70d0585c58e670d SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 4f11a9e..873e34e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.3.0~ynh1", + "version": "1.3.1~ynh1", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", From 6dd34c24e0d95b35e4b4f15abea634dc3a2a2f62 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 16 Jul 2021 07:41:08 +0000 Subject: [PATCH 34/45] Auto-update README --- README.md | 2 ++ README_fr.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 796dc88..7bb204f 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ Self-hosted remote torrent client **Shipped version:** 1.3.1~ynh1 + + ## Screenshots ![](./doc/screenshots/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png) diff --git a/README_fr.md b/README_fr.md index 3b4095a..ea956fb 100644 --- a/README_fr.md +++ b/README_fr.md @@ -15,6 +15,8 @@ Client torrent distant auto-hébergé **Version incluse :** 1.3.1~ynh1 + + ## Captures d'écran ![](./doc/screenshots/64239393-bdbb6480-cf32-11e9-9269-d8d10e7c0dc7.png) From 17fcd220f055d026920b11a3be8d49ed2c105737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 19 Jul 2021 11:27:16 +0200 Subject: [PATCH 35/45] 1.3.2 (#49) * 1.3.2 --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7bb204f..ec24c3c 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.3.1~ynh1 +**Shipped version:** 1.3.2~ynh1 diff --git a/README_fr.md b/README_fr.md index ea956fb..5a0bc6c 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.3.1~ynh1 +**Version incluse :** 1.3.2~ynh1 diff --git a/conf/arm64.src b/conf/arm64.src index 556b74b..29790e6 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.1/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=0348fbf541c97dcefac1f925a5372c0889b815bf4447f065b696aca16a3eb8b9 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.2/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=9d489c3e511d248c584120136eb02fb74aa2c59ce137e16e59d178b5ce9cc334 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 0027297..8256970 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.1/cloud-torrent_linux_386_static.gz -SOURCE_SUM=0bc59e5e04ef87d7e55c47553d4487da6d3b5dd707fade167acbdd63a300b249 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.2/cloud-torrent_linux_386_static.gz +SOURCE_SUM=ec0c7a17df854a11d505e3d7d95bcf3f9f90c87d70d467f44e084ba3c6d628f8 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index c198b05..5a812ab 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.1/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=de6e9fd068639cfe25082bf642ac8d526351361722de6b27b70d0585c58e670d +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.2/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=f0bbae637193d9c690841fa686f50aff68081a000b8618cda0e2c195bfdda607 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 873e34e..25eca3c 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.3.1~ynh1", + "version": "1.3.2~ynh1", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", From a761eaa755ed556b828fc5cffb2854b51fff3b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 26 Jul 2021 13:08:11 +0200 Subject: [PATCH 36/45] 1.3.3 (#51) * 1.3.3 --- README.md | 2 +- README_fr.md | 2 +- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ec24c3c..175e018 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.3.2~ynh1 +**Shipped version:** 1.3.3~ynh1 diff --git a/README_fr.md b/README_fr.md index 5a0bc6c..63a2717 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.3.2~ynh1 +**Version incluse :** 1.3.3~ynh1 diff --git a/conf/arm64.src b/conf/arm64.src index 29790e6..77c4691 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.2/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=9d489c3e511d248c584120136eb02fb74aa2c59ce137e16e59d178b5ce9cc334 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.3/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=b696c6d2e5d33cd81dd21a9b593fbf2fcb40279465bbacc1b31a5cbb51acae49 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 8256970..60313be 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.2/cloud-torrent_linux_386_static.gz -SOURCE_SUM=ec0c7a17df854a11d505e3d7d95bcf3f9f90c87d70d467f44e084ba3c6d628f8 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.3/cloud-torrent_linux_386_static.gz +SOURCE_SUM=6b924d0a12ac0ad7b8b9cddf1d65e1f4e9b1974e34dd52946afd0a4a9d9b0302 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index 5a812ab..00f44eb 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.2/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=f0bbae637193d9c690841fa686f50aff68081a000b8618cda0e2c195bfdda607 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.3/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=4fc6c7ddfa35045b0604e38bbf8fd0ea2e9716b8ba468149da63ce977028fec1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index 25eca3c..ac74692 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.3.2~ynh1", + "version": "1.3.3~ynh1", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", From 03a0bacdcda5c9f273a0881265b1bc3564af9772 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 28 Jul 2021 07:02:21 +0200 Subject: [PATCH 37/45] 1.3.4 --- conf/arm64.src | 4 ++-- conf/i386.src | 4 ++-- conf/x86_64.src | 4 ++-- manifest.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/conf/arm64.src b/conf/arm64.src index 77c4691..e92cbdb 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.3/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=b696c6d2e5d33cd81dd21a9b593fbf2fcb40279465bbacc1b31a5cbb51acae49 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.4/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=81995fcf6a409a47b7316967e65f2faeba0d16b80f3913cc91d402d7f37642a3 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 60313be..340b9ba 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.3/cloud-torrent_linux_386_static.gz -SOURCE_SUM=6b924d0a12ac0ad7b8b9cddf1d65e1f4e9b1974e34dd52946afd0a4a9d9b0302 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.4/cloud-torrent_linux_386_static.gz +SOURCE_SUM=ab92c751f918d944072093f5abe7ebbd1f8d1dd138e12019b1bffe9d8b645c65 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/x86_64.src b/conf/x86_64.src index 00f44eb..84d2773 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.3/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=4fc6c7ddfa35045b0604e38bbf8fd0ea2e9716b8ba468149da63ce977028fec1 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.4/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=2ca5e4ddc42275f2448a391b3aa4a55ddc33bb561d418498a48510b609865f9f SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index ac74692..99d9c45 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.3.3~ynh1", + "version": "1.3.4~ynh1", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", From 50f60b1aa8ff19df6ee51e23c69d993ffa81b9d8 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Wed, 28 Jul 2021 05:02:27 +0000 Subject: [PATCH 38/45] 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 175e018..69da200 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.3.3~ynh1 +**Shipped version:** 1.3.4~ynh1 diff --git a/README_fr.md b/README_fr.md index 63a2717..f22ccb1 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.3.3~ynh1 +**Version incluse :** 1.3.4~ynh1 From 0ab163539156b3674bb9f972ebad950ca0dc3f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 16 Aug 2021 20:17:22 +0200 Subject: [PATCH 39/45] 1.3.6 (#54) * 1.3.6 --- README.md | 4 ++-- README_fr.md | 4 ++-- conf/arm64.src | 4 ++-- conf/{config.default.yaml => config.default.yml} | 0 conf/i386.src | 4 ++-- conf/systemd.service | 2 +- conf/x86_64.src | 4 ++-- doc/DISCLAIMER.md | 2 +- doc/DISCLAIMER_fr.md | 2 +- manifest.json | 2 +- scripts/install | 2 +- scripts/upgrade | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) rename conf/{config.default.yaml => config.default.yml} (100%) diff --git a/README.md b/README.md index 69da200..2b8a0d0 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.3.4~ynh1 +**Shipped version:** 1.3.6~ynh1 @@ -32,7 +32,7 @@ Self-hosted remote torrent client Most of the items can be edited in Web-UI on the fly in the config board. -You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.yaml` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.yml` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/README_fr.md b/README_fr.md index f22ccb1..c50307c 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.3.4~ynh1 +**Version incluse :** 1.3.6~ynh1 @@ -28,7 +28,7 @@ Client torrent distant auto-hébergé La plupart des éléments peuvent être modifiés à la volée dans Web-UI dans la page de configuration. -Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.yaml` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.yml` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/conf/arm64.src b/conf/arm64.src index e92cbdb..855cd5e 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.4/cloud-torrent_linux_arm64_static.gz -SOURCE_SUM=81995fcf6a409a47b7316967e65f2faeba0d16b80f3913cc91d402d7f37642a3 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.6/cloud-torrent_linux_arm64_static.gz +SOURCE_SUM=05ce23e5a653eef8c9e4e3a187a21c5e21fb45606a924fdef744a60102baabe7 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/config.default.yaml b/conf/config.default.yml similarity index 100% rename from conf/config.default.yaml rename to conf/config.default.yml diff --git a/conf/i386.src b/conf/i386.src index 340b9ba..10c5bfe 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.4/cloud-torrent_linux_386_static.gz -SOURCE_SUM=ab92c751f918d944072093f5abe7ebbd1f8d1dd138e12019b1bffe9d8b645c65 +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.6/cloud-torrent_linux_386_static.gz +SOURCE_SUM=4ea80bccb38fae6b97c88b2e4c3bcb5173e38f546034b30fcec00c704a3a4b56 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/conf/systemd.service b/conf/systemd.service index 26151be..7f02700 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,7 @@ User=__APP__ Group=__APP__ Environment=PORT=__PORT__ WorkingDirectory=__FINALPATH__ -ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.yaml --host 127.0.0.1 +ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.yml --host 127.0.0.1 Restart=always RestartSec=3 diff --git a/conf/x86_64.src b/conf/x86_64.src index 84d2773..6aee445 100644 --- a/conf/x86_64.src +++ b/conf/x86_64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.4/cloud-torrent_linux_amd64_static.gz -SOURCE_SUM=2ca5e4ddc42275f2448a391b3aa4a55ddc33bb561d418498a48510b609865f9f +SOURCE_URL=https://github.com/boypt/simple-torrent/releases/download/1.3.6/cloud-torrent_linux_amd64_static.gz +SOURCE_SUM=57fff18227be6528873d9827fc6fe50ead1329701dbf4966428518d0a0f2b101 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=gz SOURCE_IN_SUBDIR=false diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 4d586e9..79173d1 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -2,7 +2,7 @@ Most of the items can be edited in Web-UI on the fly in the config board. -You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.yaml` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +You can also configure Simple Torrent by editing this file `/var/www/simple-torrent/config.yml` using the [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 16261a3..eca4d56 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -2,7 +2,7 @@ La plupart des éléments peuvent être modifiés à la volée dans Web-UI dans la page de configuration. -Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.yaml` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). +Vous pouvez configurer Simple Torrent en modifiant le fichier `/var/www/simple-torrent/config.yml` en vous aidant de la [documentation](https://github.com/boypt/simple-torrent/wiki/Config-File). ## Limitations diff --git a/manifest.json b/manifest.json index 99d9c45..24358ca 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.3.4~ynh1", + "version": "1.3.6~ynh1", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", diff --git a/scripts/install b/scripts/install index d99620a..de93230 100644 --- a/scripts/install +++ b/scripts/install @@ -120,7 +120,7 @@ chmod 755 /home/yunohost.app/$app/{torrents,downloads} #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 -ynh_add_config --template="../conf/config.default.yaml" --destination="$final_path/config.yaml" +ynh_add_config --template="../conf/config.default.yml" --destination="$final_path/config.yml" #================================================= # SETUP SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index f2d0f31..d19bb5f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -117,7 +117,7 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 -ynh_add_config --template="../conf/config.default.yaml" --destination="$final_path/config.yaml" +ynh_add_config --template="../conf/config.default.yml" --destination="$final_path/config.yml" #================================================= # CREATE DIRECTORIES From 04f8617d0b8bbb718e5c6110b8a620029a1b21a2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 20 Aug 2021 20:11:07 +0200 Subject: [PATCH 40/45] Add sanboxing --- conf/systemd.service | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/conf/systemd.service b/conf/systemd.service index 7f02700..aa6f6c5 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -12,5 +12,35 @@ ExecStart=__FINALPATH__/__APP__ -c __FINALPATH__/config.yml --host 127.0.0.1 Restart=always RestartSec=3 +# Sandboxing options to harden security +# Depending on specificities of your service/app, you may need to tweak these +# .. but this should be a good baseline +# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html +NoNewPrivileges=yes +PrivateTmp=yes +PrivateDevices=yes +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=yes +RestrictRealtime=yes +DevicePolicy=closed +ProtectSystem=full +ProtectControlGroups=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +LockPersonality=yes +SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap + +# Denying access to capabilities that should not be relevant for webapps +# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html +CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD +CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE +CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT +CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK +CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM +CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG +CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE +CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW +CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG + [Install] WantedBy=multi-user.target From 5dc26538fc6967d2db12ee2b6593210f7e67ddc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 22 Aug 2021 08:32:50 +0200 Subject: [PATCH 41/45] Add purge data directory from cli (#56) * Remove data dir with --purge function --- scripts/backup | 3 ++- scripts/install | 14 ++++++++++---- scripts/remove | 12 ++++++++++++ scripts/restore | 11 +++++++---- scripts/upgrade | 38 ++++++++++++++------------------------ 5 files changed, 45 insertions(+), 33 deletions(-) diff --git a/scripts/backup b/scripts/backup index 00bf0d9..a4ec5ef 100644 --- a/scripts/backup +++ b/scripts/backup @@ -25,6 +25,7 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP @@ -41,7 +42,7 @@ ynh_backup --src_path="$final_path" # BACKUP DATA #================================================= -ynh_backup --src_path="/home/yunohost.app/$app" --is_big +ynh_backup --src_path="$datadir" --is_big #================================================= # BACKUP THE NGINX CONFIGURATION diff --git a/scripts/install b/scripts/install index de93230..12beb0c 100644 --- a/scripts/install +++ b/scripts/install @@ -107,13 +107,19 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=3 ynh_add_nginx_config #================================================= -# CREATE DIRECTORIES +# CREATE DATA DIRECTORY #================================================= +ynh_script_progression --message="Creating a data directory..." --weight=1 + +datadir=/home/yunohost.app/$app +ynh_app_setting_set --app=$app --key=datadir --value=$datadir + +mkdir -p $datadir/{torrents,downloads} -mkdir -p /home/yunohost.app/$app/{torrents,downloads} # Set permissions to app files -chown -R $app:www-data /home/yunohost.app/$app -chmod 755 /home/yunohost.app/$app/{torrents,downloads} +chmod 755 $datadir/{torrents,downloads} +chmod -R o-rwx $datadir +chown -R $app:www-data $datadir #================================================= # MODIFY A CONFIG FILE diff --git a/scripts/remove b/scripts/remove index 1e7b474..04be542 100644 --- a/scripts/remove +++ b/scripts/remove @@ -20,6 +20,7 @@ domain=$(ynh_app_setting_get --app=$app --key=domain) port=$(ynh_app_setting_get --app=$app --key=port) final_path=$(ynh_app_setting_get --app=$app --key=final_path) peer_port=$(ynh_app_setting_get --app=$app --key=peer_port) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # STANDARD REMOVE @@ -50,6 +51,17 @@ ynh_script_progression --message="Removing $app main directory..." --weight=6 # Remove the app directory securely ynh_secure_remove --file="$final_path" +#================================================= +# REMOVE DATA DIR +#================================================= + +# Remove the app data directory with the command `yunohost app remove --purge` +if [ "$YNH_APP_PURGE" == true ] +then + ynh_script_progression --message="Removing $app data directory..." --weight=2 + ynh_secure_remove --file="$datadir" +fi + #================================================= # REMOVE NGINX CONFIGURATION #================================================= diff --git a/scripts/restore b/scripts/restore index 01820b9..18fbbdd 100644 --- a/scripts/restore +++ b/scripts/restore @@ -27,6 +27,7 @@ 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) peer_port=$(ynh_app_setting_get --app=$app --key=peer_port) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -52,7 +53,6 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= ynh_script_progression --message="Configuring firewall..." --weight=3 -#ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port ynh_exec_warn_less yunohost firewall allow Both $peer_port #================================================= @@ -80,10 +80,13 @@ chmod +x $final_path/$app #================================================= ynh_script_progression --message="Restoring $app data..." --weight=10 -ynh_restore_file --origin_path="/home/yunohost.app/$app" --not_mandatory +ynh_restore_file --origin_path="$datadir" --not_mandatory -chown -R $app:www-data /home/yunohost.app/$app -chmod 755 /home/yunohost.app/$app/{torrents,downloads} +mkdir -p $datadir/{torrents,downloads} + +chmod 755 $datadir/{torrents,downloads} +chmod -R o-rwx $datadir +chown -R $app:www-data $datadir #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index d19bb5f..af6a90b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -26,10 +26,23 @@ architecture=$(ynh_detect_arch) #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=4 + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= @@ -48,20 +61,6 @@ if ynh_legacy_permissions_exists; then ynh_app_setting_delete --app=$app --key=is_public fi -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=4 - -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - # restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -119,15 +118,6 @@ ynh_script_progression --message="Modifying a config file..." --weight=1 ynh_add_config --template="../conf/config.default.yml" --destination="$final_path/config.yml" -#================================================= -# CREATE DIRECTORIES -#================================================= - -mkdir -p /home/yunohost.app/$app/{torrents,downloads} - -chown -R $app:www-data /home/yunohost.app/$app -chmod 755 /home/yunohost.app/$app/{torrents,downloads} - #================================================= # SETUP SYSTEMD #================================================= From d184a706be7a2be8f1afff01182da53ba4257606 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 22 Aug 2021 12:45:42 +0200 Subject: [PATCH 42/45] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 24358ca..298c179 100644 --- a/manifest.json +++ b/manifest.json @@ -19,7 +19,7 @@ "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.2.4" + "yunohost": ">= 4.2.8" }, "multi_instance": true, "services": [ From cba79f709bfe62c3fed278fa9dcd4d2485a44c1a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 22 Aug 2021 13:52:02 +0200 Subject: [PATCH 43/45] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 298c179..33da147 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted remote torrent client", "fr": "Client torrent distant auto-hébergé" }, - "version": "1.3.6~ynh1", + "version": "1.3.6~ynh2", "url": "https://github.com/boypt/simple-torrent", "upstream": { "license": "AGPL-3.0-only", From ffb09c6e29a4d2dd03dfb66d71f12820dea2c212 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sun, 22 Aug 2021 11:52:05 +0000 Subject: [PATCH 44/45] 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 2b8a0d0..e825628 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted remote torrent client -**Shipped version:** 1.3.6~ynh1 +**Shipped version:** 1.3.6~ynh2 diff --git a/README_fr.md b/README_fr.md index c50307c..3ce1b17 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Client torrent distant auto-hébergé -**Version incluse :** 1.3.6~ynh1 +**Version incluse :** 1.3.6~ynh2 From f349ae8d4e4f18f5ee97dfe67a263a12594525ad Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 22 Aug 2021 15:20:26 +0200 Subject: [PATCH 45/45] Fix --- manifest.json | 2 +- scripts/remove | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json b/manifest.json index 33da147..785b3a4 100644 --- a/manifest.json +++ b/manifest.json @@ -19,7 +19,7 @@ "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.2.8" + "yunohost": ">= 4.2.7" }, "multi_instance": true, "services": [ diff --git a/scripts/remove b/scripts/remove index 04be542..c154d2d 100644 --- a/scripts/remove +++ b/scripts/remove @@ -55,12 +55,12 @@ ynh_secure_remove --file="$final_path" # REMOVE DATA DIR #================================================= -# Remove the app data directory with the command `yunohost app remove --purge` -if [ "$YNH_APP_PURGE" == true ] -then - ynh_script_progression --message="Removing $app data directory..." --weight=2 - ynh_secure_remove --file="$datadir" -fi +# # Remove the app data directory with the command `yunohost app remove --purge` +# if [ "$YNH_APP_PURGE" == true ] +# then +# ynh_script_progression --message="Removing $app data directory..." --weight=2 +# ynh_secure_remove --file="$datadir" +# fi #================================================= # REMOVE NGINX CONFIGURATION