修复安全问题

This commit is contained in:
gfdgd xi 2024-11-17 15:43:17 +08:00
parent 7138c6fbb9
commit 676d52c964
5 changed files with 42 additions and 12 deletions

@ -71,7 +71,7 @@ jobs:
cd .. cd ..
xz -T $cpu spark-deepin-wine-runner-off-line.tar xz -T $cpu spark-deepin-wine-runner-off-line.tar
- name: upload result - name: upload result
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v3
with: with:
name: spark-deepin-wine-runner-off-line.tar.xz name: spark-deepin-wine-runner-off-line.tar.xz
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz

@ -13,8 +13,8 @@ programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
# 优先为深度终端 # 优先为深度终端
terminal = "" terminal = ""
terminalList = [ terminalList = [
"deepin-terminal",
"gxde-terminal", "gxde-terminal",
"deepin-terminal",
"mate-terminal", "mate-terminal",
"gnome-terminal", "gnome-terminal",
"xfce4-terminal" "xfce4-terminal"

@ -19,12 +19,14 @@ python3 -m pip install --upgrade xpinyin --trusted-host https://repo.huaweicloud
python3 -m pip install --upgrade pynput --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true python3 -m pip install --upgrade pynput --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true
python3 -m pip install --upgrade xpinyin --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true python3 -m pip install --upgrade xpinyin --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true
# 修改 box86/64 国内源错误数据 # 修改 box86/64 国内源错误数据
if [ -f /etc/apt/sources.list.d/box64.list ]; then sudo rm /etc/apt/sources.list.d/box64.list -rfv
sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box64.list sudo rm /etc/apt/sources.list.d/box86.list -rfv
fi #if [ -f /etc/apt/sources.list.d/box64.list ]; then
if [ -f /etc/apt/sources.list.d/box86.list ]; then # sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box64.list
sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box86.list #fi
fi #if [ -f /etc/apt/sources.list.d/box86.list ]; then
# sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box86.list
#fi
echo 执行完成 echo 执行完成
echo 移除旧组件 echo 移除旧组件
if [ -d /opt/apps/deepin-wine-runner/arm-package ]; then if [ -d /opt/apps/deepin-wine-runner/arm-package ]; then
@ -60,6 +62,6 @@ if [[ `arch` != "x86_64" ]]; then
rm -rf /opt/apps/deepin-wine-runner/InstallNewWineHQ.sh rm -rf /opt/apps/deepin-wine-runner/InstallNewWineHQ.sh
fi fi
# 设置目录权限,让用户可读可写,方便后续删除组件 # 设置目录权限,让用户可读可写,方便后续删除组件
chmod 777 -R /opt/apps/deepin-wine-runner > /dev/null 2>&1 | true #chmod 777 -R /opt/apps/deepin-wine-runner > /dev/null 2>&1 | true
# 向服务器返回安装数加1不显示内容且忽略错误 # 向服务器返回安装数加1不显示内容且忽略错误
python3 /opt/apps/deepin-wine-runner/Download.py $version > /dev/null 2>&1 | true python3 /opt/apps/deepin-wine-runner/Download.py $version > /dev/null 2>&1 | true

@ -1356,6 +1356,15 @@ try:
wine[f"{programPath}/wine/{i}"] = f"{programPath}/wine/{i}" wine[f"{programPath}/wine/{i}"] = f"{programPath}/wine/{i}"
except: except:
pass pass
try:
for i in json.loads(readtxt(f"{get_home()}/.deepwinerunner/wine/winelist.json")):
if os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}.7z"):
wine[f"{get_home()}/.deepwinerunner/wine/{i}.7z"] = f"{get_home()}/.deepwinerunner/wine/{i}.7z"
continue
if os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}"):
wine[f"{get_home()}/.deepwinerunner/wine/{i}"] = f"{get_home()}/.deepwinerunner/wine/{i}"
except:
pass
os.chdir("/") os.chdir("/")
iconUiList = [] iconUiList = []
helperConfigPath = None helperConfigPath = None

@ -2162,6 +2162,20 @@ def TransLog():
# 加载配置 # 加载配置
########################### ###########################
if not os.path.exists(get_home() + "/.deepwinerunner/wine/"): # 如果没有配置文件夹
os.makedirs(get_home() + "/.deepwinerunner/wine/") # 创建配置文件夹
try:
shutil.copy(f"{programPath}/wine/installwine.py", get_home() + "/.deepwinerunner/wine/installwine.py")
shutil.copy(f"{programPath}/globalenv.py", get_home() + "/.deepwinerunner/globalenv.py")
shutil.copy(f"{programPath}/launch.sh", get_home() + "/.deepwinerunner/launch.sh")
if os.path.exists(get_home() + "/.deepwinerunner/Model"):
shutil.rmtree(get_home() + "/.deepwinerunner/Model")
shutil.copytree(f"{programPath}/Model", get_home() + "/.deepwinerunner/Model")
os.system(f"chmod 777 -Rv '{get_home()}/.deepwinerunner/launch.sh'")
except:
traceback.print_exc()
exit()
if not os.path.exists(get_home() + "/.config/"): # 如果没有配置文件夹 if not os.path.exists(get_home() + "/.config/"): # 如果没有配置文件夹
os.mkdir(get_home() + "/.config/") # 创建配置文件夹 os.mkdir(get_home() + "/.config/") # 创建配置文件夹
if not os.path.exists(get_home() + "/.config/deepin-wine-runner"): # 如果没有配置文件夹 if not os.path.exists(get_home() + "/.config/deepin-wine-runner"): # 如果没有配置文件夹
@ -2304,9 +2318,10 @@ def CheckWine():
traceback.print_exc() traceback.print_exc()
# 不再从列表读取,直接读目录 # 不再从列表读取,直接读目录
for i in os.listdir(f"{programPath}/wine/"): for i in os.listdir(f"{programPath}/wine/") + os.listdir(f"{get_home()}/.deepwinerunner/wine/"):
#for i in json.loads(readtxt(f"{programPath}/wine/winelist.json")): #for i in json.loads(readtxt(f"{programPath}/wine/winelist.json")):
if os.path.exists(f"{programPath}/wine/{i}") and os.path.isdir(f"{programPath}/wine/{i}"): if ((os.path.exists(f"{programPath}/wine/{i}") and os.path.isdir(f"{programPath}/wine/{i}")) or
(os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}") and os.path.isdir(f"{get_home()}/.deepwinerunner/wine/{i}"))):
name = "" name = ""
qemuInstall = False qemuInstall = False
nameValue = [["", ""]] nameValue = [["", ""]]
@ -2394,6 +2409,10 @@ def CheckWine():
wine[f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}"] = f"{k[1]}{chrootProgramPath}/wine/{i}/bin/{j}" wine[f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}"] = f"{k[1]}{chrootProgramPath}/wine/{i}/bin/{j}"
canUseWine.append(f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}") canUseWine.append(f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}")
untipsWine.append(f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}") untipsWine.append(f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}")
if os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}/bin/{j}"):
wine[f"{k[0]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}"] = f"{k[1]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}"
canUseWine.append(f"{k[0]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}")
untipsWine.append(f"{k[0]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}")
except: except:
traceback.print_exc() traceback.print_exc()
@ -2836,7 +2855,7 @@ installWineHQ.triggered.connect(InstallWineHQ)
installWineHQOrg.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQOrg.sh"]).start()) installWineHQOrg.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQOrg.sh"]).start())
installLat.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallLat.sh"]).start()) installLat.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallLat.sh"]).start())
def InstallMoreWine(): def InstallMoreWine():
os.system(f"'{programPath}/wine/installwine'") os.system(get_home() + "/.deepwinerunner/wine/installwine.py")
# 更新 Wine 列表 # 更新 Wine 列表
CheckWine() CheckWine()
o1.clear() o1.clear()