diff --git a/debian/changelog b/debian/changelog
index f115a35..cd87366 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+spark-store (3.1.5-4) stable; urgency=medium
+
+  * 更改ss-apt-fast策略,现在只会在update,ssupdate和没有检测到配置文件的时候更新配置文件
+  * 新增ss-apt-fast别名:aptss 
+  * 更新检测服务优化:从分体改为一体
+  * aptss 支持自动补全
+
+-- shenmo <shenmo@spark-app.store>  Fri, 30 Jan 2022 00:00:00 +0800
+
 spark-store (3.1.5-3) stable; urgency=medium
 
   * 包内自带密钥
diff --git a/debian/spark-store.postinst b/debian/spark-store.postinst
index 723d775..d561a6d 100755
--- a/debian/spark-store.postinst
+++ b/debian/spark-store.postinst
@@ -2,6 +2,12 @@
 
 case "$1" in
 	configure)
+
+        # config for aptss
+        mkdir -p /etc/aptss/sources.list.d
+        ln -s -f /etc/apt/sources.list /etc/aptss/sources.list
+        
+
 		# Check if /usr/local/bin existed
 		mkdir -p /usr/local/bin
 
@@ -11,7 +17,9 @@ case "$1" in
 		ln -s -f /opt/durapps/spark-store/bin/spark-store /usr/local/bin/spark-store
 		ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/local/bin/ssinstall
 		ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/local/bin/spark-dstore-patch
-		ln -s -f /opt/durapps/spark-store/bin/ss-apt-fast /usr/local/bin/ss-apt-fast
+		ln -s -f /opt/durapps/spark-store/bin/aptss /usr/local/bin/ss-apt-fast
+		
+        ln -s -f /opt/durapps/spark-store/bin/aptss /usr/bin/aptss
 
 
 
@@ -22,21 +30,12 @@ case "$1" in
 		cp -f /tmp/spark-store-install/spark-store.asc.gpg /etc/apt/trusted.gpg.d/spark-store.gpg
 
 
-		# Remove existing source file
-		rm -f /etc/apt/preferences.d/sparkstore
-
 
         	# Run apt update to avoid users being fucked up by the non-exist dependency problem
 
-		curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list"
-		# 下载源列表
-        	bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list"     -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
-		# 更新
+		aptss ssupdate
 
 
-		# Create symbo links to start upgrade detect
-		ln -s /opt/durapps/spark-store/bin/update-upgrade/autostart/spark-update-notifier.desktop /etc/xdg/autostart/spark-update-notifier.desktop
-
 		# Start upgrade detect service
 		systemctl enable spark-update-notifier
 		service spark-update-notifier start
diff --git a/debian/spark-store.prerm b/debian/spark-store.prerm
index 6998d1a..2d7f696 100755
--- a/debian/spark-store.prerm
+++ b/debian/spark-store.prerm
@@ -7,10 +7,12 @@ rm /usr/local/bin/spark-dstore-patch
 rm /usr/local/bin/ussinstall
 rm /usr/local/bin/ussremove
 rm /usr/local/bin/ss-apt-fast
+rm /usr/bin/aptss
 
+rm -rf /etc/aptss/
 
 # Remove residual symbol links to stop upgrade detect if exist
-if [ -f /etc/xdg/autostart/spark-update-notifier.desktop ];then
+if [ -e /etc/xdg/autostart/spark-update-notifier.desktop ];then
 rm /etc/xdg/autostart/spark-update-notifier.desktop
 fi
 
@@ -22,11 +24,6 @@ systemctl disable spark-update-notifier
 
 
 
-# Clean the update-number service place file if exist
-if [ -d "/tmp/spark-store-updatenum/" ] ; then
-	rm -rf /tmp/spark-store-updatenum/
-fi
-
 # Clean the auto install polkit file if exist
 if [ -f "/usr/share/polkit-1/actions/store.spark-app.ssinstall.policy" ] ; then
 	rm /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
diff --git a/pkg/etc/apt/sources.list.d/sparkstore.list b/pkg/etc/aptss/sources.list.d/sparkstore.list
similarity index 100%
rename from pkg/etc/apt/sources.list.d/sparkstore.list
rename to pkg/etc/aptss/sources.list.d/sparkstore.list
diff --git a/pkg/usr/lib/systemd/system/spark-update-notifier.service b/pkg/usr/lib/systemd/system/spark-update-notifier.service
index 90f6841..de8f8fa 100644
--- a/pkg/usr/lib/systemd/system/spark-update-notifier.service
+++ b/pkg/usr/lib/systemd/system/spark-update-notifier.service
@@ -6,7 +6,7 @@ After=apt-daily.service network.target network-online.target systemd-networkd.se
 [Service]
 Type=simple
 RemainAfterExit=yes 
-ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notify-placer.sh
+ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notifier.sh
 Restart=on-failure
 RestartSec=10
 
diff --git a/pkg/usr/share/bash-completion/completions/aptss b/pkg/usr/share/bash-completion/completions/aptss
new file mode 100644
index 0000000..4afc938
--- /dev/null
+++ b/pkg/usr/share/bash-completion/completions/aptss
@@ -0,0 +1,228 @@
+# Debian apt(8) completion                             -*- shell-script -*-
+
+_aptss()
+{
+    local sourcesdir="/etc/apt/sources.list.d"
+    local cur prev words cword
+    _init_completion || return
+
+    local GENERIC_APT_GET_OPTIONS='
+        -d --download-only
+        -y --assume-yes
+        --assume-no
+        -u --show-upgraded
+        -m --ignore-missing
+        -t --target-release
+        --download
+        --fix-missing
+        --ignore-hold
+        --upgrade
+        --only-upgrade
+        --allow-change-held-packages
+        --allow-remove-essential
+        --allow-downgrades
+        --print-uris
+        --trivial-only
+        --remove
+        --arch-only
+        --allow-unauthenticated
+        --allow-insecure-repositories
+        --install-recommends
+        --install-suggests
+        --no-install-recommends
+        --no-install-suggests
+        --fix-policy
+    '
+
+    # see if the user selected a command already
+    local COMMANDS=(
+        "ssupdate"
+        "list"
+        "search"
+        "show" "showsrc"
+        "install" "remove" "purge" "autoremove"
+        "update"
+        "upgrade" "full-upgrade" "dist-upgrade"
+        "edit-sources"
+        "help"
+        "source" "build-dep"
+        "clean" "autoclean"
+        "download" "changelog"
+        "moo"
+        "depends" "rdepends"
+        "policy")
+
+    local command i
+    for (( i=0; i < ${#words[@]}-1; i++ )); do
+        if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then
+            command=${words[i]}
+            break
+        fi
+    done
+
+    # Complete a -t<SPACE><TAB>
+    case $prev in
+        -t|--target-release)
+            COMPREPLY=( $( compgen -W "$( apt-cache policy -o Dir::Cache="/etc/aptss/" | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    # supported options per command
+    if [[ "$cur" == -* ]]; then
+        case $command in
+            install|remove|purge|upgrade|dist-upgrade|full-upgrade|autoremove)
+                COMPREPLY=( $( compgen -W '--show-progress
+                  --fix-broken --purge --verbose-versions --auto-remove
+                  -s --simulate --dry-run
+                  --download
+                  --fix-missing
+                  --fix-policy
+                  --ignore-hold
+                  --force-yes
+                  --trivial-only
+                  --reinstall --solver
+                  -t --target-release'"$GENERIC_APT_GET_OPTIONS" -- "$cur" ) )
+                return 0
+                ;;
+            update)
+                COMPREPLY=( $( compgen -W '--list-cleanup
+                  --print-uris
+                  --allow-insecure-repositories
+                  ' -- "$cur" ) )
+                return 0
+                ;;
+            list)
+                COMPREPLY=( $( compgen -W '--installed --upgradable 
+                  --manual-installed
+                  -v --verbose
+                  -a --all-versions
+                  -t --target-release
+                  ' -- "$cur" ) )
+                return 0
+                ;;
+            show)
+                COMPREPLY=( $( compgen -W '-a --all-versions
+                  ' -- "$cur" ) )
+                return 0
+                ;;
+            depends|rdepends)
+                COMPREPLY=( $( compgen -W '-i
+                    --important
+                    --installed
+                    --pre-depends
+                    --depends
+                    --recommends
+                    --suggests
+                    --replaces
+                    --breaks
+                    --conflicts
+                    --enhances
+                    --recurse
+                    --implicit' -- "$cur" ) )
+                return 0
+                ;;
+            search)
+                COMPREPLY=( $( compgen -W '
+                    -n --names-only
+                    -f --full' -- "$cur" ) )
+                return 0
+                ;;
+            showsrc)
+                COMPREPLY=( $( compgen -W '
+                    --only-source' -- "$cur" ) )
+                return 0
+                ;;
+            source)
+                COMPREPLY=( $( compgen -W '
+                    -s --simulate --dry-run
+                    -b --compile --build
+                    -P --build-profiles
+                    --diff-only --debian-only
+                    --tar-only
+                    --dsc-only
+                    -t --target-release
+                    '"$GENERIC_APT_GET_OPTIONS" -- "$cur" ) )
+                return 0
+                ;;
+            build-dep)
+                COMPREPLY=( $( compgen -W '
+                    -a --host-architecture
+                    -s --simulate --dry-run
+                    -P --build-profiles
+                    -t --target-release
+                    --purge --solver
+                    '"$GENERIC_APT_GET_OPTIONS" -- "$cur" ) )
+                return 0
+                ;;
+            moo)
+                COMPREPLY=( $( compgen -W '
+                    --color
+                    ' -- "$cur" ) )
+                return 0
+                ;;
+            clean|autoclean)
+                COMPREPLY=( $( compgen -W '
+                    -s --simulate --dry-run
+                    ' -- "$cur" ) )
+                return 0
+                ;;
+        esac
+    fi
+
+    # specific command arguments
+    if [[ -n $command ]]; then
+        case $command in
+            remove|purge|autoremove)
+                if [[ -f /etc/debian_version ]]; then
+                    # Debian system
+                    COMPREPLY=( $( \
+                        _xfunc dpkg _comp_dpkg_installed_packages $cur ) )
+                else
+                    # assume RPM based
+                    _xfunc rpm _rpm_installed_packages
+                fi
+                return 0
+                ;;
+            show|list|download|changelog|depends|rdepends)
+                    COMPREPLY=( $(  apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/"  \
+                    2> /dev/null ) )
+                return 0
+                ;;
+            install)
+                COMPREPLY=( $(  apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/"  \
+                    2> /dev/null ) )
+                if [[ "$cur" == ./* || "$cur" == /* ]]; then
+                    _filedir "deb"
+                fi
+                return 0
+                ;;
+            source|build-dep|showsrc|policy)
+                COMPREPLY=( $(  apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/"  \
+                    2> /dev/null ) $(  apt-cache dumpavail -o Dir::Cache="/etc/aptss/"  | \
+                    command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) )
+                return 0
+                ;;
+            edit-sources)
+                COMPREPLY=( $( compgen -W '$( command ls $sourcesdir )' \
+                    -- "$cur" ) )
+                return 0
+                ;;
+            moo)
+                COMPREPLY=( $( compgen -W 'moo' \
+                    -- "$cur" ) )
+                return 0
+                ;;
+        esac
+    fi
+
+    # no command yet, show what commands we have
+    if [ "$command" = "" ]; then
+        COMPREPLY=( $( compgen -W '${COMMANDS[@]}' -- "$cur" ) )
+    fi
+
+    return 0
+} &&
+complete -F _aptss aptss
+
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/spark-store-project.pro b/spark-store-project.pro
index 59a3657..b3d5916 100644
--- a/spark-store-project.pro
+++ b/spark-store-project.pro
@@ -21,11 +21,14 @@ tool.path = /opt/durapps/$${TARGET}/bin
 qm.files += translations/*.qm
 qm.path = /usr/share/spark-store/translations
 
-preferences.files += pkg/etc/apt/preferences.d/sparkstore
-preferences.path = /etc/apt/preferences.d
+#preferences.files += pkg/etc/apt/preferences.d/sparkstore
+#preferences.path = /etc/apt/preferences.d
 
-sourceslist.files += pkg/etc/apt/sources.list.d/sparkstore.list
-sourceslist.path = /etc/apt/sources.list.d
+#sourceslist.files += pkg/etc/apt/sources.list.d/sparkstore.list
+#sourceslist.path = /etc/apt/sources.list.d
+
+bash_completion.files += pkg/usr/share/bash-completion/completions/aptss
+bash_completion.path = /usr/share/bash-completion/completions
 
 desktop.files += pkg/usr/share/applications/spark-store.desktop
 desktop.path = /usr/share/applications
@@ -49,9 +52,9 @@ INSTALLS += \
     qm \
     desktop \
     icon \
-    sourceslist \
     preferences \
     tmp \
-    service 
+    service \
+    bash_completion
 #	polkit-1 
 #   暂时不添加
diff --git a/src/main.cpp b/src/main.cpp
index ca51496..044cc9d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -30,7 +30,7 @@ int main(int argc, char *argv[])
      DAboutDialog dialog;
       a.setAboutDialog(&dialog);
       dialog.setLicense(QObject::tr("We publish this program under GPL V3"));
-      dialog.setVersion(DApplication::buildVersion("Version 3.1.5-3"));
+      dialog.setVersion(DApplication::buildVersion("Version 3.1.5-4"));
       dialog.setProductIcon(QIcon::fromTheme("spark-store"));  // 设置Logo
       dialog.setProductName(QLabel::tr("Spark Store"));
       dialog.setDescription(
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
     a.setOrganizationName("spark-union");
     a.setOrganizationDomain("https://www.deepinos.org/");
     a.setApplicationName("Spark Store");    //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文
-    a.setApplicationVersion(DApplication::buildVersion("3.1.5-3"));
+    a.setApplicationVersion(DApplication::buildVersion("3.1.5-4"));
     a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store");
     a.setApplicationDescription(
                 QObject::tr(
diff --git a/tool/aptss b/tool/aptss
new file mode 100755
index 0000000..a485080
--- /dev/null
+++ b/tool/aptss
@@ -0,0 +1,73 @@
+#/bin/bash
+
+
+
+
+
+if  [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" = "full-upgrade" ] || [ "$1" = "download" ] ; then
+
+if [ ! -e "/tmp/aptss-conf/apt-fast.conf" ];then
+###刷新apt-fast配置
+mkdir -p /tmp/aptss-conf/
+echo "从服务器获取配置和镜像列表..."
+echo "Getting server and mirror lists..."
+echo
+curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/apt-fast.conf"
+chmod -R 755 /tmp/aptss-conf
+
+fi
+
+DEPEND=`which  apt-fast`
+if [ "$DEPEND" = "" ] ; then 
+echo "未安装依赖:apt-fast 开始安装"
+sudo aptss ssupdate && sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install apt-fast -y
+fi
+
+###执行
+bwrap --dev-bind / / \
+                   --bind '/tmp/aptss-conf/apt-fast.conf' /etc/apt-fast.conf \
+                   --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
+                apt-fast "$@" --allow-downgrades 
+
+
+elif [ "$1" = "ssupdate" ];then
+
+mkdir -p /tmp/aptss-conf/
+echo "从服务器获取配置和镜像列表..."
+echo "Getting server and mirror lists..."
+echo
+curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/apt-fast.conf"
+chmod -R 755 /tmp/aptss-conf    
+
+sudo curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list"
+### 额外一份拿来给aptss自动补全用
+sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list"  -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
+sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list"  -o Dir::Etc::sourceparts="-" -o Dir::Cache="/etc/aptss/" -o APT::Get::List-Cleanup="0"
+#只更新星火源
+
+elif [ "$1" = "update" ];then
+sudo curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list"
+
+
+mkdir -p /tmp/aptss-conf/
+echo "从服务器获取配置和镜像列表..."
+echo "Getting server and mirror lists..."
+echo
+curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/apt-fast.conf"
+chmod -R 755 /tmp/aptss-conf    
+### 额外一份拿来给aptss自动补全用
+bwrap --dev-bind / / \
+		   --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
+                apt "$@" -o APT::Get::List-Cleanup="0" 
+
+bwrap --dev-bind / / \
+		   --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
+                apt "$@" -o APT::Get::List-Cleanup="0"  -o Dir::Cache="/etc/aptss/" 
+
+else
+	bwrap --dev-bind / / \
+		   --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
+                apt "$@"
+fi
+
+
diff --git a/tool/ss-apt-fast b/tool/ss-apt-fast
deleted file mode 100755
index 8e3299f..0000000
--- a/tool/ss-apt-fast
+++ /dev/null
@@ -1,42 +0,0 @@
-#/bin/bash
-
-
-
-
-if  [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" = "full-upgrade" ] || [ "$1" = "download" ] ; then
-
-###刷新apt-fast配置
-mkdir -p /tmp/ss-apt-fast-conf/sources.list.d
-# 创建文件夹
-echo "从服务器获取配置和镜像列表..."
-echo "Getting server and mirror lists..."
-echo
-curl --progress-bar -o /tmp/ss-apt-fast-conf/apt-fast.conf "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/apt-fast.conf"
-chmod -R 755 /tmp/ss-apt-fast-conf
-
-
-DEPEND=`which  apt-fast`
-if [ "$DEPEND" = "" ] ; then 
-echo "未安装依赖:apt-fast 开始安装"
-sudo ss-apt-fast ssupdate && sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install apt-fast -y
-fi
-###执行安装
-bwrap --dev-bind / / \
-                   --bind '/tmp/ss-apt-fast-conf/apt-fast.conf' /etc/apt-fast.conf \
-                   --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
-                apt-fast "$@" --allow-downgrades
-
-rm -rf  /tmp/ss-apt-fast-conf
-
-elif [ "$1" = "ssupdate" ];then
-sudo curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list"
-sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list"     -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
-#只更新星火源
-
-else
-	bwrap --dev-bind / / \
-		   --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
-                apt "$@"
-fi
-
-
diff --git a/tool/ssinstall b/tool/ssinstall
index 34d0932..db7ee0a 100755
--- a/tool/ssinstall
+++ b/tool/ssinstall
@@ -50,22 +50,22 @@ if [ "$(id -u)" != "0" ];then
 IS_INSTALLED=`which apt-fast`
 if [ "$IS_INSTALLED" = "" ] ; then 
 echo "未安装依赖:apt-fast 开始安装"
-echo "$upass" | sudo -S /usr/local/bin/ss-apt-fast ssupdate && echo "$upass" | sudo -S bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install apt-fast -y
+echo "$upass" | sudo -S aptss ssupdate && echo "$upass" | sudo -S bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install apt-fast -y 
 
 fi
 
 if [ "$DEPEND" != "" ]  && [ "$isuos" != "" ]; then
 echo "UOS中系统依赖无法使用第三方下载工具,放弃使用apt-fast"
 echo ----------------------------------------------------------------------------------
-echo "$upass" | sudo -S dpkg -i $1 || sudo /usr/local/bin/ss-apt-fast ssupdate && sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install -yf
+echo "$upass" | sudo -S dpkg -i $1 || sudo aptss ssupdate && sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install -yf
 
 
 fi
 
 if  [ "$DEPEND" != "" ]  && [ "$isuos" = "" ]; then
-echo "检测到apt-fast,使用/usr/local/bin/ss-apt-fast进行多线程下载加速"
+echo "检测到apt-fast,使用aptss进行多线程下载加速"
 echo ----------------------------------------------------------------------------------
-echo "$upass" | sudo -S dpkg -i $1 || sudo /usr/local/bin/ss-apt-fast ssupdate && sudo /usr/local/bin/ss-apt-fast install -yf 
+echo "$upass" | sudo -S dpkg -i $1 || sudo aptss ssupdate && sudo aptss install -yf 
 fi
 
 
@@ -78,19 +78,19 @@ else
 IS_INSTALLED=`which apt-fast`
 if [ "$IS_INSTALLED" = "" ] ; then 
 echo "未安装依赖:apt-fast 开始安装"
-/usr/local/bin/ss-apt-fast ssupdate && bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install apt-fast -y
+aptss ssupdate && bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install apt-fast -y 
 fi
 
 if [ "$DEPEND" != "" ]  && [ "$isuos" != "" ]; then
 echo "UOS中系统依赖无法使用第三方下载工具,放弃使用apt-fast"
 echo ----------------------------------------------------------------------------------
-dpkg -i $1 || /usr/local/bin/ss-apt-fast ssupdate && bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update && sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install -yf
+dpkg -i $1 || aptss ssupdate && sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install -yf
 fi
 
 if  [ "$DEPEND" != "" ]  && [ "$isuos" = "" ]; then
-echo "检测到apt-fast,使用/usr/local/bin/ss-apt-fast进行多线程下载加速"
+echo "检测到apt-fast,使用aptss进行多线程下载加速"
 echo ----------------------------------------------------------------------------------
-dpkg -i $1 || /usr/local/bin/ss-apt-fast ssupdate && /usr/local/bin/ss-apt-fast install -yf 
+dpkg -i $1 || aptss ssupdate && aptss install -yf 
 fi
 
 
diff --git a/tool/update-upgrade/autostart/spark-update-notifier.desktop b/tool/update-upgrade/autostart/spark-update-notifier.desktop
deleted file mode 100644
index d458c3b..0000000
--- a/tool/update-upgrade/autostart/spark-update-notifier.desktop
+++ /dev/null
@@ -1,5 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Exec=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notify.sh
-Name=spark-update-notifier
diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh
index e599646..3e10b0c 100755
--- a/tool/update-upgrade/ss-do-upgrade.sh
+++ b/tool/update-upgrade/ss-do-upgrade.sh
@@ -16,14 +16,14 @@ echo "UOS中系统依赖无法使用第三方下载工具,使用apt-fast下载
   for PKG_NAME in $PKG_LIST;
   do
     echo "$PKG_NAME 正在下载..."
-  sudo /usr/local/bin/ss-apt-fast download "$PKG_NAME" -y >/dev/null 2>&1;
+  sudo aptss download "$PKG_NAME" -y >/dev/null 2>&1;
   done
    
   echo "----开始安装"
   for PKG_NAME in $PKG_LIST;
   do
     echo "$PKG_NAME 正在准备更新..."
-    if sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install "$PKG_NAME" -y >/dev/null 2>&1;
+    if sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt install "$PKG_NAME" -y   >/dev/null 2>&1;
     then
       echo "$PKG_NAME 已更新"
     else
@@ -38,7 +38,7 @@ else ###这是确定是否为UOS
   for PKG_NAME in $PKG_LIST;
   do
     echo "$PKG_NAME 正在准备更新..."
-    if sudo /usr/local/bin/ss-apt-fast install "$PKG_NAME" -y >/dev/null 2>&1;
+    if sudo aptss install "$PKG_NAME" -y >/dev/null 2>&1;
     then
       echo "$PKG_NAME 已更新"
     else
diff --git a/tool/update-upgrade/ss-update-controler.sh b/tool/update-upgrade/ss-update-controler.sh
index bcd8c46..3bc5134 100755
--- a/tool/update-upgrade/ss-update-controler.sh
+++ b/tool/update-upgrade/ss-update-controler.sh
@@ -51,20 +51,15 @@ case $option in
 	;;
 	1)
 	echo "执行以下操作需要授权..."
-	if [  -f /etc/xdg/autostart/spark-update-notifier.desktop ];then 
+	if [  -e /etc/systemd/system/multi-user.target.wants/spark-update-notifier.service ];then 
 	echo "---检测到已经启动了自动更新检测,执行关闭"
 	sudo systemctl disable spark-update-notifier
-	sudo rm /etc/xdg/autostart/spark-update-notifier.desktop
 	sleep 3
 	reset
 	else
 	echo "---未检测到自动更新检测,执行启动"
 	sudo systemctl enable spark-update-notifier
 	sudo service spark-update-notifier start
-#	ln -s /opt/durapps/spark-store/bin/update-upgrade/autostart/spark-update-notifier.desktop $XDG_CONFIG_HOME/autostart
-#	
-	sudo ln -s /opt/durapps/spark-store/bin/update-upgrade/autostart/spark-update-notifier.desktop /etc/xdg/autostart
-	/opt/durapps/spark-store/bin/update-upgrade/ss-update-notify.sh now
 	sleep 3
 	reset
 	fi
@@ -72,8 +67,8 @@ case $option in
 
 	2)
 	echo "执行以下操作需要授权..."
-	sudo ss-apt-fast ssupdate
-       /opt/durapps/spark-store/bin/update-upgrade/ss-upgrade-list.sh
+	sudo aptss ssupdate
+    /opt/durapps/spark-store/bin/update-upgrade/ss-upgrade-list.sh
 	/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh
 	echo "---请按回车返回"
 	read
diff --git a/tool/update-upgrade/ss-update-notify-placer.sh b/tool/update-upgrade/ss-update-notifier.sh
similarity index 65%
rename from tool/update-upgrade/ss-update-notify-placer.sh
rename to tool/update-upgrade/ss-update-notifier.sh
index 4cd29f4..9850b19 100755
--- a/tool/update-upgrade/ss-update-notify-placer.sh
+++ b/tool/update-upgrade/ss-update-notifier.sh
@@ -1,9 +1,19 @@
 #!/bin/bash
 set -e
-rm -rf /tmp/spark-store-updatenum/number
 LANG=en.US
 
-#!/bin/bash
+function notify-send() {
+    #Detect the name of the display in use
+    local display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)"
+
+    #Detect the user using such display
+    local user=$(who | grep '('$display')' | awk '{print $1}' | head -n 1)
+
+    #Detect the id of the user
+    local uid=$(id -u $user)
+
+    sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send "$@"
+}
 
 #检测网络链接畅通
 function network()
@@ -39,7 +49,7 @@ fi
 curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list"
 # 每日更新星火源文件
 
-updatetext=`ss-apt-fast ssupdate`
+updatetext=`aptss ssupdate`
 
 
 mkdir -p /tmp/spark-store-updatenum/
@@ -47,14 +57,14 @@ mkdir -p /tmp/spark-store-updatenum/
 
 isupdate=`echo ${updatetext: -5}`
 if [ "$isupdate" = "date." ];then
-sudo echo "0" > /tmp/spark-store-updatenum/number
 exit 0 
 fi
 
 
 update_app_number=`echo ${updatetext%package*} #从右向左截取第一个 src 后的字符串`
 update_app_number=`echo ${update_app_number##*information...}`
-sudo echo "$update_app_number" > /tmp/spark-store-updatenum/number
 
-	
+
+notify-send -i spark-store "星火更新提醒" "星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理"
+
 
diff --git a/tool/update-upgrade/ss-update-notify.sh b/tool/update-upgrade/ss-update-notify.sh
deleted file mode 100755
index ab8d13c..0000000
--- a/tool/update-upgrade/ss-update-notify.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-set -e
-isexistnumber=0
-if [ "$1" = "now" ];then
-	if [  -f /tmp/spark-store-updatenum/number ];then
-	update_app_number=`cat /tmp/spark-store-updatenum/number`
-	echo "$update_app_number"
-		if [ "$update_app_number" = "0" ];then
-		exit 0
-		fi
-	notify-send -i spark-store "星火更新提醒" "星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理"
-	fi
-exit 0
-fi
-
-until [  $isexistnumber -eq 1 ];do
-if [  -f /tmp/spark-store-updatenum/number ];then
-	sleep 10
-	update_app_number=`cat /tmp/spark-store-updatenum/number`
-	echo "$update_app_number"
-		if [ "$update_app_number" = "0" ];then
-		exit 0
-		fi
-	notify-send -i spark-store "星火更新提醒" "星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理"
-	isexistnumber=1
-fi
-sleep 10
-done
diff --git a/tool/update-upgrade/ss-upgrade-list.sh b/tool/update-upgrade/ss-upgrade-list.sh
index d708adc..83d62a8 100755
--- a/tool/update-upgrade/ss-upgrade-list.sh
+++ b/tool/update-upgrade/ss-upgrade-list.sh
@@ -3,4 +3,4 @@ set -e
 
 
 echo "---可更新的应用有:"
-bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list"     -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
+bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list"     -o Dir::Etc::sourceparts="-"   -o APT::Get::List-Cleanup="0" 
diff --git a/tool/ussinstall b/tool/ussinstall
deleted file mode 100755
index 600c97e..0000000
--- a/tool/ussinstall
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/bash
-
-reset
-
-echo "Copyright (c) 2019-2021 The Spark Project"
-
-if [ -x "/usr/bin/deepin-deb-installer" ] ; then 
-	echo "深度软件包安装器已安装,开始检测证书"
-else
-	echo "未安装深度软件包安装器,拒绝执行"
-	echo "UOS需要深度软件包安装器来认证签名"
-	echo "如果你用的是UOS,你能卸载这玩意说明你已经开了开发者模式......悄悄告诉你,放屁是不用脱裤子的!"
-	echo "如果你用的不是统信系发行版......所以你为什么要打开这个脚本?"
-	exit 1
-fi
-
-if [ -f "/usr/share/ca-certificates/deepin/private/priv.crt" ] ; then 
-	echo "检测到已经生成过证书,直接跳过询问"
-else
-	until [ -f "/usr/bin/cert-tool" ] ; do
-	#强制未安装证书工具的不通过
-		echo "该工具的原理是利用UOS的自签名安装包免开发者的特性,需要您的UOS ID账号和密码,请在使用工具前确保在应用商店中已安装过“证书工具”这个应用"
-		echo "如果没有安装,则无法使用。请确认安装后再进行下一步操作"
-		sleep 3
-		echo "如果你确认已经安装了该应用,请按回车"
-		read renyijian
-
-		#检测是否在说谎签名文件
-		if [ -f "/usr/bin/cert-tool" ] ; then
-			echo "成功检测到cert-tool存在,开始检测证书\n"
-		else
-			echo "没有检测到该应用,请您再次确认“证书工具”已经安装!"
-			sleep 3
-			clear
-		fi
-	done
-
-	until [ -f "/usr/share/ca-certificates/deepin/private/priv.crt" ] ; do 
-		echo "没有检测到证书,准备调用证书工具生成证书,请输入您的UOS账号/密码。本脚本不会上传任何信息"
-		echo "请在此行输入您的UOS账号用户名/电话号/邮箱"
-		read -e account
-		echo "请在此行输入您的UOS账号密码"
-		read -e passwd
-		echo "即将安装证书,请在弹出的窗口安装"
-		cert-tool -username="$account" -password="$passwd"
-	done
-	echo "检测到已经生成过证书,准备签名"
-fi
-#这个if是判断是否已经有证书
-
-unset account
-unset passwd
-unset renyijian
-
-debpath=""
-cd /tmp
-
-until [ -f "$debpath" ] ; do
-	if [ ! $1 ] ; then 
-		echo "没有检测到参数,以交互式安装运行"
-		echo "请输入deb文件的绝对路径或直接拖入deb文件(仅限支持的文件管理器,比如深度文管),结束后回车"
-		echo "生成的签名过的deb将保存在/tmp/signed_deb"
-		read debpath
-	else
-		echo "参数存在,直接开始签名\n生成的签名过的deb保存在/tmp/signed_deb"
-		debpath="$1"
-		echo "读取到的deb路径为:$debpath"
-	fi
-	debpath=`echo "$debpath" | sed $'s/\'//g'`
-	echo "去除可能的单引号后得到:$debpath"
-
-	if [ -f $debpath ] ; then
-		echo "文件有效,开始签名"
-		echo "------------以下为签名工具输出------------"
-		deepin-elf-sign-deb "$debpath"
-		echo "------------签名工具输出已结束------------"
-		echo "签名结束,启动深度软件包管理器"
-	else
-		echo "路径出错,请确认你输入了正确的路径!"
-		sleep 3
-		clear
-	fi
-done
-
-file_name=$(basename "$debpath")
-
-echo "--------以下为深度软件包安装器输出--------"
-deepin-deb-installer "/tmp/signed_deb/$file_name"
-echo "--------深度软件包安装器输出已结束--------"
-echo "删除临时文件"
-rm /tmp/signed_deb/$file_name
\ No newline at end of file
diff --git a/tool/ussremove b/tool/ussremove
deleted file mode 100755
index 3f5ce26..0000000
--- a/tool/ussremove
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/bin/bash
-
-reset
-
-echo "Copyright (c) 2019-2021 The Spark Project"
-
-if [ -x "/usr/bin/deepin-deb-installer" ] ; then 
-	echo "深度软件包安装器已安装,开始检测证书"
-else
-	echo "未安装深度软件包安装器,拒绝执行"
-	echo "UOS需要深度软件包安装器来认证签名"
-	echo "如果你用的是UOS,你能卸载这玩意说明你已经开了开发者模式......悄悄告诉你,放屁是不用脱裤子的!"
-	echo "如果你用的不是统信系发行版......所以你为什么要打开这个脚本?"
-	exit 1
-fi
-
-if [ -f "/usr/share/ca-certificates/deepin/private/priv.crt" ] ; then 
-	echo "检测到已经生成过证书,直接跳过询问"
-else
-	until [ -f "/usr/bin/cert-tool" ] ; do
-	#强制未安装证书工具的不通过
-		echo "该工具的原理是利用UOS的自签名安装包免开发者的特性,需要您的UOS ID账号和密码,请在使用工具前确保在应用商店中已安装过“证书工具”这个应用"
-		echo "如果没有安装,则无法使用。请确认安装后再进行下一步操作"
-		echo "如果你确认已经安装了该应用,请按回车"
-		read renyijian
-
-		#检测是否在说谎签名文件
-		if [ -f "/usr/bin/cert-tool" ] ; then
-			echo "成功检测到cert-tool存在,开始检测证书\n"
-		else
-			echo "没有检测到该应用,请您再次确认“证书工具”已经安装!"
-			sleep 3
-			clear
-		fi
-	done
-
-	until [ -f "/usr/share/ca-certificates/deepin/private/priv.crt" ] ; do 
-		echo "没有检测到证书,准备调用证书工具生成证书,请输入您的UOS账号/密码。本脚本不会上传任何信息"
-		echo "请在此行输入您的UOS账号用户名/电话号/邮箱"
-		read account
-		echo "请在此行输入您的UOS账号密码"
-		read passwd
-		echo "即将安装证书,请在弹出的窗口安装"
-		cert-tool -username="$account" -password="$passwd"
-	done
-	echo "检测到已经生成过证书,准备签名"
-fi
-#这个if是判断是否已经有证书
-
-unset account
-unset passwd
-unset renyijian
-
-mkdir -p /tmp/spark-store-appremover
-cd /tmp/spark-store-appremover
-#工作目录应当为 /tmp/spark-store-appremover
-
-while [ ! $pkgname ] ; do
-	if [ ! $1 ] ; then 
-		echo "没有检测到包名,以交互式模式运行"
-		echo "请输入你要卸载的软件包名,输入结束后回车"
-		read pkgname
-	else
-		echo "检测到包名,跳过获取"
-		pkgname="$1"
-		echo "读取到的包名为:$pkgname"
-	fi
-
-	if [ ! $pkgname ] ; then
-		echo "没有检测到包名,请重新输入!"
-		sleep 3
-		clear
-	else 
-		echo "包名读取成功,进入下一步"
-	fi
-done
-
-#while [ ! $version ] ; do
-#	if [ ! $2 ] ; then 
-#    		echo "没有检测到版本号,以交互式模式运行"
-#    		echo "请输入你要卸载的软件包版本号,输入结束后回车"
-#    		read version
-#	else
-#    		echo "检测到包名,跳过获取"
-#    		version="$2"
-#    		echo "读取到的版本号为:$version"
-#	fi
-#
-#	if [ ! $version ] ; then
-#		echo "没有检测到版本号,请重新输入!"
-#		sleep 3
-#		clear
-#	else
-#		echo "版本号读取成功,进入下一步"
-#	fi
-#done
-
-#发现版本号不一定一致也可以卸载
-version="1.0"
-echo "开始生成deb包"
-echo "输出的control文件为"
-echo ""
-echo "Package: $pkgname"
-echo "Version: $version"
-echo "Depends: "
-echo "Maintainer: spark-store"
-echo "Description: 这是一个假软件包,请点击卸载"
-echo "Architecture: $(arch)"
-echo "-----------------------开始生成-----------------------"
-workdir=$(pwd)
-echo "工作目录为$workdir"
-mkdir DEBIAN
-cd DEBIAN
-touch control
-echo "Package: $pkgname" >> ./control 
-echo "Version: $version" >> ./control 
-echo "Depends: "  >> ./control 
-echo "Maintainer: spark-store" >> ./control 
-echo "Description: 这是一个假软件包,请点击卸载" >> ./control 
-echo "Architecture: $(arch)" >> ./control
-
-echo "-----------------------开始打包-----------------------"
-cd ..
-workdir=$(pwd)
-echo "回退到工作目录,当前目录位于$workdir"
-fakeroot dpkg -b . ./uninstall.deb
-echo "-----------------------打包结束-----------------------"
-
-cd /tmp
-
-echo "-----------------------开始签名-----------------------"
-deepin-elf-sign-deb "/tmp/spark-store-appremover/uninstall.deb"
-echo "-----------------------签名结束-----------------------"
-echo "-----------------启动深度软件包管理器-------------------"
-
-deepin-deb-installer "/tmp/signed_deb/uninstall.deb"
-
-file_name=$(basename "/tmp/signed_deb/uninstall.deb")
-echo "---------------以上为深度软件包管理器输出----------------"
-echo "删除临时包"
-rm  "/tmp/signed_deb/$file_name"
-rm -r /tmp/spark-store-appremover