每日随机时间执行nodeseek自动签到脚本
项目地址: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=http://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 执行一次,不出意外即可成功实现签到。

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

至此签到已经可以正确运行。
但是我需要的是随机时间签到,而不是每天同一个时间准点签到。这样做,可以让我们看起来更像是一个真人,而不是一个定时定量准时签到的无情机器。
2、随机时间签到
我的做法是在目录下新建一个 sh 脚本,每天定时执行这个脚本,然后这个脚本每天随机等待一定的时间才开始运行自动签到程序。脚本如下:脚本是gemini写的,每天的7点执行
#!/bin/bash这里我也想到还有一个问题的存在,就是我目前使用2个账号,这2个账号的签到间隔没有隔开,若是真的打击自动签到,那2个账号天天都是相差不到几秒钟一起签到,而且还用的是同一个IP地址,是个人都能看出问题。定义要执行的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 fidone
同时也是在赌,毕竟是一个打发闲暇时间的vps论坛而已,自是不必较真。
才发现,scheduler.py 作者本来就考虑到随机时间签到了,是我多次一举了。
但都差不多,我就这么用了。
正文结束
还没有评论,来坐沙发吧。