From 94943dd438e2b4cdb767e57e41168a89dc3d6778 Mon Sep 17 00:00:00 2001 From: shenmo Date: Wed, 10 Apr 2024 11:35:13 +0800 Subject: [PATCH] add: package verify --- tool/aptss | 4 +-- tool/ssinstall | 47 +++++++++++++++++++++++++++++-- translations/spark-store_en.ts | 6 ++-- translations/spark-store_es.ts | 6 ++-- translations/spark-store_fr.ts | 6 ++-- translations/spark-store_zh_CN.ts | 6 ++-- translations/spark-store_zh_TW.ts | 6 ++-- 7 files changed, 62 insertions(+), 19 deletions(-) diff --git a/tool/aptss b/tool/aptss index bfeeb8e..c98c00f 100755 --- a/tool/aptss +++ b/tool/aptss @@ -1,7 +1,7 @@ #!/bin/bash SPARK_DOWNLOAD_SERVER_URL="http://127.0.0.1:8000" - +SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="127.0.0.1:8000" source /opt/durapps/spark-store/bin/bashimport/transhell.amber load_transhell @@ -52,7 +52,7 @@ chmod -R 755 /tmp/aptss-conf fi -if [ ! -e "/var/lib/aptss/lists/127.0.0.1_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ];then +if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ];then mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" diff --git a/tool/ssinstall b/tool/ssinstall index c5e601c..6ad4672 100755 --- a/tool/ssinstall +++ b/tool/ssinstall @@ -1,5 +1,6 @@ #!/bin/bash - +SPARK_DOWNLOAD_SERVER_URL="http://127.0.0.1:8000" +SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="127.0.0.1:8000" source /opt/durapps/spark-store/bin/bashimport/transhell.amber load_transhell_debug @@ -56,6 +57,33 @@ function zenity() { sudo -u "$user" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$uid"/bus zenity "$@" } +function hash_check() { + if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" ] && \ + [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \ + [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ]; then + echo "接收星火仓库软件信息中..." + aptss ssupdate + fi + + if [ -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" ]; then + PACKAGES_DATA_PATH="/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" + echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名仓库配置" + elif [ -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ]; then + PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" + echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是d域名单目录仓库配置" + else + PACKAGES_DATA_PATH="/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" + echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是SDU镜像仓库配置" + fi + + echo "正在运行包验证..." + echo "Running Spark Package Verify..." + + DEB_SHA512SUM=$(sha512sum "$1" | cut -d ' ' -f 1) + unset IS_SHA512SUM_CHECKED + IS_SHA512SUM_CHECKED=$(cat "$PACKAGES_DATA_PATH" | grep "$DEB_SHA512SUM") +} + #################################### @@ -81,9 +109,22 @@ fi DEBPATH=$(realpath "$1") +hash_check "$DEBPATH" +if [ -z "$IS_SHA512SUM_CHECKED" ]; then + echo "尝试更新仓库信息重新校验" + aptss ssupdate + hash_check "$DEBPATH" + if [ -z "$IS_SHA512SUM_CHECKED" ]; then + echo -e "$TRANSHELL_CONTENT_HASH_CHECK_FAILED" + zenity --info --icon-name=spark-store --height 270 --width 500 --text "$TRANSHELL_CONTENT_HASH_CHECK_FAILED" + echo "OMG-IT-GOES-WRONG" + exit 1 + fi +fi - echo "定制版跳过校验,开始安装" +if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then + echo "校验成功,开始安装" echo "----------------------------------------------------------------------------------" package_name=$(dpkg-deb -f "$DEBPATH" Package) echo "Package name is $package_name" @@ -126,3 +167,5 @@ DEBPATH=$(realpath "$1") echo "OMG-IT-GOES-WRONG" fi fi +fi + diff --git a/translations/spark-store_en.ts b/translations/spark-store_en.ts index 1a1f778..6741f05 100644 --- a/translations/spark-store_en.ts +++ b/translations/spark-store_en.ts @@ -611,17 +611,17 @@ - + Updating, please wait... - + Spark Store - + Temporary cache was cleaned diff --git a/translations/spark-store_es.ts b/translations/spark-store_es.ts index b0ded92..c25ad12 100644 --- a/translations/spark-store_es.ts +++ b/translations/spark-store_es.ts @@ -611,17 +611,17 @@ - + Updating, please wait... Se está actualizando, por favor Espere... - + Spark Store SPARK Store - + Temporary cache was cleaned Se ha limpiado la caché temporal diff --git a/translations/spark-store_fr.ts b/translations/spark-store_fr.ts index ffe580a..5568867 100644 --- a/translations/spark-store_fr.ts +++ b/translations/spark-store_fr.ts @@ -611,17 +611,17 @@ - + Updating, please wait... Mise à jour en cours, veuillez patienter... - + Spark Store Le Spark store - + Temporary cache was cleaned Cache temporaire nettoyé diff --git a/translations/spark-store_zh_CN.ts b/translations/spark-store_zh_CN.ts index 6002c99..a770530 100644 --- a/translations/spark-store_zh_CN.ts +++ b/translations/spark-store_zh_CN.ts @@ -611,17 +611,17 @@ <html><head/><body><p>我们的服务和软件免费供个人和非营利组织使用、交流和学习,但您在使用过程中必须遵守当地的法律法规,否则出现的任何问题与我们无关。</p><p>我们不从社区版本商店中获利,我们的大部分运营费用依靠社区的捐赠,我们很感激这让我们可以花更少的精力担心钱。但是,为了更好地提供持续的服务,Spark只对个人用户免费开放服务仓库,如果您或您的组织需要提供商业服务或者您的组织是营利性组织,请联系我们获取商业授权。</p><p>严禁用户或组织在使用本软件时从事任何形式的恶意行为,包括但不限于恶意攻击、滥用、破坏、批量抓取软件仓库等。恶意行为的定义由Spark社区判断,违规者将承担法律责任。Spark Community保留发布其生成的软件包的权利。</p><p>未经Spark Community明确授权,禁止任何个人或组织将Spark Community软件包用于商业目的或重新分发。该条款旨在确保开源精神,同时保护Spark社区的知识产权。除此之外,如果您使用Spark Store主程序或其部分代码,则必须遵守GPL v3的所有其他条款和要求。<span style=" font - family:宋体;" <span style=" font - family:宋体;color:#0082fa;">jifengshenmo@outlook.com</span></a>我们会尽快删除侵权内容。</p><p>如果你也想加入我们,无论你是参与开发、设计、推销还是提交作品,我们都欢迎你加入我们。<br/></span>我们的联系方法可以在<a href="https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/"><span style=" text-decoration: underline; color:#0082fa;">找到</span></a></p></body></html> - + Updating, please wait... 正在更新,请稍候…… - + Spark Store 星火应用商店 - + Temporary cache was cleaned 缓存目录已清空 diff --git a/translations/spark-store_zh_TW.ts b/translations/spark-store_zh_TW.ts index ddf80d1..a6e7efd 100644 --- a/translations/spark-store_zh_TW.ts +++ b/translations/spark-store_zh_TW.ts @@ -611,17 +611,17 @@ <html><head/><body><p>我们的服务和软件免费供个人和非营利组织使用、交流和学习,但您在使用过程中必须遵守当地的法律法规,否则出现的任何问题与我们无关。</p><p>我们不从社区版本商店中获利,我们的大部分运营费用依靠社区的捐赠,我们很感激这让我们可以花更少的精力担心钱。但是,为了更好地提供持续的服务,Spark只对个人用户免费开放服务仓库,如果您或您的组织需要提供商业服务或者您的组织是营利性组织,请联系我们获取商业授权。</p><p>严禁用户或组织在使用本软件时从事任何形式的恶意行为,包括但不限于恶意攻击、滥用、破坏、批量抓取软件仓库等。恶意行为的定义由Spark社区判断,违规者将承担法律责任。Spark Community保留发布其生成的软件包的权利。</p><p>未经Spark Community明确授权,禁止任何个人或组织将Spark Community软件包用于商业目的或重新分发。该条款旨在确保开源精神,同时保护Spark社区的知识产权。除此之外,如果您使用Spark Store主程序或其部分代码,则必须遵守GPL v3的所有其他条款和要求。<span style=" font - family:宋体;" <span style=" font - family:宋体;color:#0082fa;">jifengshenmo@outlook.com</span></a>我们会尽快删除侵权内容。</p><p>如果你也想加入我们,无论你是参与开发、设计、推销还是提交作品,我们都欢迎你加入我们。<br/></span>我们的联系方法可以在<a href="https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/"><span style=" text-decoration: underline; color:#0082fa;">找到</span></a></p></body></html> - + Updating, please wait... 正在更新,请稍候…… - + Spark Store 星火应用商店 - + Temporary cache was cleaned 缓存目录已清空