44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
"""抖音养号命令行入口。
|
||
|
||
直接运行:python main.py
|
||
- 单设备跑一次养号,不走 web/调度
|
||
- 任务参数默认值在 tasks/douyin_nurture.py 顶部,可通过环境变量 WATCH_COUNT 覆盖视频数
|
||
|
||
web 管理后台请运行:python web_server.py
|
||
清理 STF 残留占用:python scripts/cleanup.py
|
||
|
||
目录结构:
|
||
config.py — 项目根配置(STF 地址/token、adb 路径、web 端口、数据目录)
|
||
bin/adb/ — adb.exe 及依赖 dll
|
||
core/ — 核心程序(STF 客户端、adb 工具、BaseWorker 基类、任务管理器)
|
||
tasks/ — 任务定义(每个任务一个 .py,自带参数默认值,继承 BaseTask + @register_task)
|
||
web/ — 前端页面(index.html)
|
||
data/ — 持久化数据(分组、任务计划)
|
||
scripts/ — 实用脚本
|
||
"""
|
||
import os
|
||
|
||
from core.stf_client import STFClient
|
||
from tasks import get_task_class
|
||
|
||
|
||
def run_once(serial=None, **overrides):
|
||
"""单设备跑一次养号(命令行入口,不启动 web)。
|
||
|
||
走任务框架:取 douyin_nurture 任务类 → create_worker → 直接 run(当前线程)。
|
||
overrides 可传任务参数覆盖默认值,如 run_once(watch_count=20, like_enabled=False)。
|
||
"""
|
||
stf = STFClient()
|
||
task_cls = get_task_class("douyin_nurture")
|
||
task = task_cls()
|
||
params = dict(overrides)
|
||
# 命令行友好:环境变量 WATCH_COUNT 覆盖视频数
|
||
if "WATCH_COUNT" in os.environ and "watch_count" not in params:
|
||
params["watch_count"] = int(os.environ["WATCH_COUNT"])
|
||
worker = task.create_worker(stf, serial, params)
|
||
worker.run() # 直接在当前线程跑,不起子线程
|
||
|
||
|
||
if __name__ == "__main__":
|
||
run_once()
|