v10.6收紧: 平台阻碍碰到即终态停止(当日不恢复不跳过); stop-tasks.sh start增加当日platform_blocked拒绝启动保护(误判可删状态文件解除)
This commit is contained in:
@@ -290,18 +290,15 @@ async function verifyBlockedPage() {
|
||||
maybeSendReport('login_expired', lastChatLeft);
|
||||
needRelogin = true;
|
||||
}
|
||||
// 阻碍即停(v10.6 通用):弹窗无有效简历(限额/提示页等)→ 二次核查确认 → 私聊告警,停止
|
||||
// 注意:与风控/验证码分开处理——这种是平台功能限制(如日浏览1000份上限),不是风控
|
||||
// 阻碍即停(v10.6 通用,2026-08-27 收紧:碰到即终态停止,当日不再恢复):
|
||||
// 弹窗无有效简历(日浏览限额/提示页等)→ 私聊告警(附弹窗原文)→ 立即停止
|
||||
// 二次核查仅用于给告警补充确认信息,不影响"停止"这个结果
|
||||
else if (/弹窗无有效简历数据/.test(out)) {
|
||||
log('弹窗无有效数据,二次核查中...');
|
||||
const confirmed = await verifyBlockedPage();
|
||||
if (confirmed) {
|
||||
send(DM, `🚨 ${ACCT} 碰到平台阻碍(${confirmed}),已核查确认,任务停止。请人工查看任务机浏览器确认后再启动\n日志: ${out.match(/弹窗内容: [^\n]*/)?.[0] || ''}`);
|
||||
const detail = await verifyBlockedPage();
|
||||
send(DM, `🚨 ${ACCT} 碰到平台阻碍${detail ? `(${detail})` : ''},任务已停止,当日不再重新启动。请人工查看任务机浏览器确认\n日志: ${out.match(/弹窗内容: [^\n]*/)?.[0] || ''}`);
|
||||
maybeSendReport('platform_blocked', lastChatLeft);
|
||||
break;
|
||||
}
|
||||
log('核查未复现(可能是瞬时异常页),跳过继续下一批');
|
||||
}
|
||||
// 风控/验证码 → 私聊告警,结束(不监听,风控需人工评估)
|
||||
else if (/ALERT.*(风控|验证|频繁|受限)/.test(out)) {
|
||||
send(DM, `🚨 ${ACCT} 触发风控/验证码(${(out.match(/ALERT[::][^\n]*/) || ['未知原因'])[0]}),今日筛选中止`);
|
||||
|
||||
@@ -77,6 +77,19 @@ do_stop() {
|
||||
do_start() { # $1=acct
|
||||
local acct="$1" port label
|
||||
[ "$acct" = "hr1" ] && { port=9223; label=Chrome; } || { port=9225; label=Edge; }
|
||||
# v10.6 当日平台阻碍保护:已 platform_blocked 的账号当日拒绝启动(限额等不会当日恢复)
|
||||
local st
|
||||
st=$(python3 -c "
|
||||
import json,datetime
|
||||
try:
|
||||
s=json.load(open('$STATE_DIR/state-$acct.json'))
|
||||
bj=datetime.datetime.utcnow()+datetime.timedelta(hours=8)
|
||||
print(s.get('status','') if s.get('date')==bj.strftime('%Y-%m-%d') else '')
|
||||
except Exception: print('')" 2>/dev/null)
|
||||
if [ "$st" = "platform_blocked" ]; then
|
||||
echo "⛔ $acct 今日已碰到平台阻碍(限额类),按规则当日不再启动。如确认误判,删除 $STATE_DIR/state-$acct.json 后重试"
|
||||
return 1
|
||||
fi
|
||||
# 启动前防重
|
||||
local existing; existing=$(find_pids "$acct")
|
||||
if [ -n "$existing" ]; then
|
||||
|
||||
Reference in New Issue
Block a user