修复安全问题

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

View File

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

View File

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

View File

@ -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 xpinyin --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true
# 修改 box86/64 国内源错误数据
if [ -f /etc/apt/sources.list.d/box64.list ]; then
sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box64.list
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
sudo rm /etc/apt/sources.list.d/box64.list -rfv
sudo rm /etc/apt/sources.list.d/box86.list -rfv
#if [ -f /etc/apt/sources.list.d/box64.list ]; then
# sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box64.list
#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 移除旧组件
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
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不显示内容且忽略错误
python3 /opt/apps/deepin-wine-runner/Download.py $version > /dev/null 2>&1 | true

View File

@ -1356,6 +1356,15 @@ try:
wine[f"{programPath}/wine/{i}"] = f"{programPath}/wine/{i}"
except:
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("/")
iconUiList = []
helperConfigPath = None

View File

@ -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/"): # 如果没有配置文件夹
os.mkdir(get_home() + "/.config/") # 创建配置文件夹
if not os.path.exists(get_home() + "/.config/deepin-wine-runner"): # 如果没有配置文件夹
@ -2304,9 +2318,10 @@ def CheckWine():
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")):
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 = ""
qemuInstall = False
nameValue = [["", ""]]
@ -2394,6 +2409,10 @@ def CheckWine():
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}")
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:
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())
installLat.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallLat.sh"]).start())
def InstallMoreWine():
os.system(f"'{programPath}/wine/installwine'")
os.system(get_home() + "/.deepwinerunner/wine/installwine.py")
# 更新 Wine 列表
CheckWine()
o1.clear()