每日随机时间执行nodeseek自动签到脚本

2025-08-13
126次阅读
没有评论

项目地址:https://github.com/yowiv/NodeSeek-Signin

这篇文章是如何使用这个脚本,并且每天随机一个时间执行签到,不至于天天签到同一个时间,容易被人逮着跑自动签到。

1、部署自动签到

例如我习惯使用宝塔,所以在宝塔下面新建文件夹

cd 到这个文件夹,例如:cd /www/wwwroot/auto

之后下载项目完整文件,例如 wget https://github.com/yowiv/NodeSeek-Signin/archive/refs/heads/main.zip

解压文件,在执行脚本 test_run.py 同级创建一个 .env 文件,权限改成 755 www 即可。

文件内填写内容:

NS_COOKIE=1&2&3

# 账户配置
# USER1=your_username2
# PASS1=your_username2
# USER2=your_username2
# PASS2=your_password2

# --- 验证码配置 (二选一) ---

# 方案A: 自建 CloudFreed 服务
SOLVER_TYPE=turnstile
API_BASE_URL=https://your_cloudflare_service_ip:3000
CLIENTT_KEY=your_cloudfreed_client_key

# 方案B: YesCaptcha 服务
# SOLVER_TYPE=yescaptcha
# # YesCaptcha 国内节点: https://cn.yescaptcha.com, 国际节点: https://api.yescaptcha.com
# API_BASE_URL=https://api.yescaptcha.com
# CLIENTT_KEY=your_yescaptcha_client_key

# 功能配置
# NS_RANDOM=true

# 每日运行时间配置
# 支持固定时间 (例如 '09:00') 或随机时间范围 (例如 '08:00-10:59')
# 如果不设置,默认为 '08:00-10:59'
# RUN_AT=09:00
RUN_AT=08:00-10:59

# 通知配置
# TG_BOT_TOKEN="TG"
# TG_USER_ID="ID"
# TG_THREAD_ID="1"

# 模拟Docker环境,用于本地测试
# IN_DOCKER=true

我这边是使用的cookies的方式,若是想使用账号密码方式请自行摸索。

注意:cookie模式大概有效期一个月,当cookie过期就无法签到,到时候需要进入 .env 文件更新账号新的cookie才行

填写完毕后,可以在本级目录下,使用 python3 test_run.py 执行一次,不出意外即可成功实现签到。

每日随机时间执行nodeseek自动签到脚本

若使用宝塔定时签到需要修改文件test_run.py中的引用为完整地址。

每日随机时间执行nodeseek自动签到脚本

至此签到已经可以正确运行。

但是我需要的是随机时间签到,而不是每天同一个时间准点签到。这样做,可以让我们看起来更像是一个真人,而不是一个定时定量准时签到的无情机器。

2、随机时间签到

我的做法是在目录下新建一个 sh 脚本,每天定时执行这个脚本,然后这个脚本每天随机等待一定的时间才开始运行自动签到程序。

脚本如下:脚本是gemini写的,每天的7点执行

#!/bin/bash

# 定义要执行的Python脚本路径
TARGET_SCRIPT="/www/wwwroot/moren.com/nodeseek/test_run.py"

echo "已进入sh脚本!"

# 使用一个无限循环来确保脚本在目标时间已过时能重新计算
while true; do
    # 生成一个 7:00 到 22:00 之间的随机秒数
    # 15 小时 (22-7) = 54000 秒,随机范围 0-54000
    random_seconds=$(( RANDOM % 54001 ))

    # 计算目标执行时间(今天的 7:00 + 随机秒数)
    # 使用 date 命令的 +%s 格式化,将时间转换为时间戳
    target_time=$(date -d "7:00 today + $random_seconds seconds" +%s)
    
    # 获取当前时间的时间戳
    current_time=$(date +%s)

    # 如果目标时间已过,输出提示并重新进入循环
    if [ "$target_time" -lt "$current_time" ]; then
        echo "目标时间已过,重新计算中..."
        continue
    fi

    # 计算需要等待的秒数
    delay_seconds=$(( target_time - current_time ))

    # 将目标时间戳格式化为可读的时间
    readable_time=$(date -d "@$target_time" +"%H:%M:%S")

    echo "将在 $delay_seconds 秒后 ($readable_time) 执行脚本。"
    sleep "$delay_seconds"

    # 执行你的 Python 脚本
    echo "正在执行 $TARGET_SCRIPT ..."
    
    # 使用 if/else 结构来检查脚本是否成功执行
    if python3 "$TARGET_SCRIPT"; then
        echo "脚本执行成功!"
        # 成功后退出循环
        break
    else
        # 失败后输出错误信息并退出
        echo "执行脚本时出错,退出。"
        break
    fi
done

这里我也想到还有一个问题的存在,就是我目前使用2个账号,这2个账号的签到间隔没有隔开,若是真的打击自动签到,那2个账号天天都是相差不到几秒钟一起签到,而且还用的是同一个IP地址,是个人都能看出问题。

同时也是在赌,毕竟是一个打发闲暇时间的vps论坛而已,自是不必较真。


才发现,scheduler.py 作者本来就考虑到随机时间签到了,是我多次一举了。

但都差不多,我就这么用了。

正文结束
自由书生
版权声明:本站原创文章,由 自由书生 于2025-08-13发表,共计2306字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码