mirror of
https://github.com/rachelos/we-mp-rss.git
synced 2026-09-24 16:02:42 +08:00
1.4.8-Fix
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
|
||||
FROM --platform=$BUILDPLATFORM ghcr.io/rachelos/base-mini:latest as werss-base
|
||||
#
|
||||
|
||||
ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
# ENV PIP_INDEX_URL=https://mirrors.huaweicloud.com/repository/pypi/simple
|
||||
|
||||
# 复制Python依赖文件
|
||||
FROM werss-base
|
||||
# 安装系统依赖
|
||||
WORKDIR /app
|
||||
# 复制后端代码
|
||||
ADD ./install.sh ./install.sh
|
||||
ENV INSTALL=True BROWSER_TYPE=webkit PLANT_PATH=/app/env/
|
||||
RUN chmod +x ./install.sh
|
||||
RUN ./install.sh
|
||||
RUN source /etc/profile
|
||||
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
plantform="$(uname -m)"
|
||||
PLANT_PATH=${PLANT_PATH:-/app/data/}
|
||||
plant=$PLANT_PATH_$plantform
|
||||
python3 -m venv $plant
|
||||
source $plant/bin/activate
|
||||
echo "使用虚拟环境: $plant"
|
||||
|
||||
|
||||
# 检查函数:检查包是否已安装
|
||||
check_package() {
|
||||
if command -v "$1" >/dev/null 2>&1; then
|
||||
echo "$1 已安装"
|
||||
return 0
|
||||
elif dpkg -l "$1" 2>/dev/null | grep -q "^ii"; then
|
||||
echo "$1 已安装"
|
||||
return 0
|
||||
else
|
||||
echo "$1 未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
# 检查所有需要的包
|
||||
packages=("wget" "git" "build-essential" "zlib1g-dev"
|
||||
"libgdbm-dev" "libnss3-dev" "libssl-dev" "libreadline-dev"
|
||||
"libffi-dev" "libsqlite3-dev" "procps" )
|
||||
|
||||
|
||||
|
||||
if [ "$EXPORT_PDF" = "True" ]; then
|
||||
echo "添加libreoffice依赖包..."
|
||||
packages+=("fonts-noto-cjk" "libreoffice")
|
||||
fi
|
||||
|
||||
echo "检查依赖包安装状态..."
|
||||
for package in "${packages[@]}"; do
|
||||
if ! check_package "$package"; then
|
||||
missing_packages+=("$package")
|
||||
fi
|
||||
done
|
||||
echo "${missing_packages[*]}"
|
||||
if [ ${#missing_packages[@]} -eq 0 ]; then
|
||||
echo "所有依赖都已安装,无需重复安装。"
|
||||
else
|
||||
echo "需要安装的包: ${missing_packages[*]}"
|
||||
echo "开始安装..."
|
||||
apt update && apt install -y ${missing_packages[*]} --no-install-recommends\
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "安装完成!"
|
||||
else
|
||||
echo "安装失败!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
PLAYWRIGHT_BROWSERS_PATH=${PLAYWRIGHT_BROWSERS_PATH:-$PLANT_PATH/driver/_$plantform}
|
||||
BROWSER_TYPE=${BROWSER_TYPE:-webkit}
|
||||
echo "export PLAYWRIGHT_BROWSERS_PATH=${PLAYWRIGHT_BROWSERS_PATH}
|
||||
export TZ=Asia/Shanghai
|
||||
export BROWSER_TYPE=${BROWSER_TYPE}">/app/environment.sh
|
||||
echo "环境变量已设置"
|
||||
chmod +x /app/environment.sh
|
||||
cat /app/environment.sh
|
||||
source /app/environment.sh
|
||||
echo "source /app/environment.sh
|
||||
source $plant/bin/activate">/etc/profile
|
||||
# pip3 install --upgrade pip
|
||||
pip3 install playwright
|
||||
# 检查requirements.txt更新
|
||||
if [ -f "requirements.txt" ]; then
|
||||
CURRENT_MD5=$(md5sum requirements.txt | cut -d' ' -f1)
|
||||
OLD_MD5_FILE="/app/data/requirements.txt.md5"
|
||||
|
||||
if [ -f "$OLD_MD5_FILE" ] && [ "$CURRENT_MD5" = "$(cat $OLD_MD5_FILE)" ]; then
|
||||
echo "requirements.txt未更新,跳过安装"
|
||||
else
|
||||
echo "安装requirements.txt依赖..."
|
||||
pip3 install -r requirements.txt
|
||||
echo $CURRENT_MD5 > $OLD_MD5_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
INSTALL=${INSTALL:-False}
|
||||
# 根据环境变量决定是否安装浏览器
|
||||
if [ "$INSTALL" = True ]; then
|
||||
echo "INSTALL环境变量为$INSTALL,开始安装playwright浏览器..."
|
||||
playwright install $BROWSER_TYPE --with-deps
|
||||
else
|
||||
echo "INSTALL环境变量为$INSTALL,跳过playwright浏览器安装"
|
||||
fi
|
||||
+6
-4
@@ -18,7 +18,7 @@ from .cookies import expire
|
||||
import json
|
||||
from core.print import print_error,print_warning,print_info,print_success
|
||||
class Wx:
|
||||
HasLogin=False
|
||||
_haslogin=False
|
||||
SESSION=None
|
||||
HasCode=False
|
||||
isLOCK=False
|
||||
@@ -134,8 +134,10 @@ class Wx:
|
||||
random_index = random.randint(0, account_count - 1)
|
||||
time.sleep(1)
|
||||
p=accounts.nth(random_index).locator("p")
|
||||
account_name=p.text_content()
|
||||
print(f"切换账号: {account_name}")
|
||||
nick_name=accounts.nth(random_index).locator(".section-item__nickname")
|
||||
account_id=p.text_content()
|
||||
account_name=nick_name.text_content()
|
||||
print(f"账号: {account_name} ID:{account_id}")
|
||||
p.click()
|
||||
# 等待页面加载并验证切换成功
|
||||
page.wait_for_load_state("networkidle", timeout=10000)
|
||||
@@ -146,7 +148,7 @@ class Wx:
|
||||
print_success("账号切换成功")
|
||||
from jobs.notice import sys_notice
|
||||
from core.config import cfg
|
||||
sys_notice(f"账号切换成功\n- 账号名称: {account_name}", str(cfg.get("server.code_title","WeRss账号切换成功")))
|
||||
sys_notice(f"账号切换成功\n- 账号名称: {account_name} \n- 账号ID: {account_id} \n- 过期时间: {self.SESSION.get('expire_time')}", str(cfg.get("server.code_title","WeRss账号切换成功")))
|
||||
return True
|
||||
else:
|
||||
print_warning("没有找到可切换的账号")
|
||||
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
plantform="$(uname -m)"
|
||||
plant=/app/data/venv_$plantform
|
||||
PLANT_PATH=${PLANT_PATH:-/app/data/}
|
||||
plant=$PLANT_PATH_$plantform
|
||||
python3 -m venv $plant
|
||||
source $plant/bin/activate
|
||||
echo "使用虚拟环境: $plant"
|
||||
@@ -55,7 +56,7 @@ fi
|
||||
|
||||
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
PLAYWRIGHT_BROWSERS_PATH=${PLAYWRIGHT_BROWSERS_PATH:-/app/data/driver/_$plantform}
|
||||
PLAYWRIGHT_BROWSERS_PATH=${PLAYWRIGHT_BROWSERS_PATH:-$PLANT_PATH/driver/_$plantform}
|
||||
BROWSER_TYPE=${BROWSER_TYPE:-webkit}
|
||||
echo "export PLAYWRIGHT_BROWSERS_PATH=${PLAYWRIGHT_BROWSERS_PATH}
|
||||
export TZ=Asia/Shanghai
|
||||
|
||||
+2
-2
@@ -155,7 +155,7 @@ if __name__=="__main__":
|
||||
# testWeb()
|
||||
# testNotice()
|
||||
# testMd2Doc()
|
||||
# testLogin()
|
||||
testCheckAuth()
|
||||
testLogin()
|
||||
# testCheckAuth()
|
||||
# testToken() # 注释掉避免线程冲突
|
||||
# testMarkDown()
|
||||
|
||||
Reference in New Issue
Block a user