Skip to content

自动保活

很多 Emby 服务器有每隔一定时间需要登录观看一定时间的要求, 该模块通过自动模拟播放实现自动保活.

支持站点

该模块可用于任何 Emby 或 Jellyfin 服务器. 部分服务器可能由于配置问题无法使用, 请反馈.

开启条件

该功能开启的条件为:

  1. 命令行没有禁用自动保活:

    bash
    # 启用全部功能
    embykeeper
    
    # 启用自动保活
    embykeeper -e
    
    # 禁用自动保活, 启用其他功能
    embykeeper -c -m -s
  2. 配置文件有至少一个 Emby 账户配置.

配置选项

配置指南

Embykeeper 需要输入一个 toml 格式的配置文件, 默认为 config.toml.

当首次运行时, 一个模板 config.toml 文件将被生成 (您也可以从这里下载).

请您根据模板文件中的注释 (以#开头), 配置您的账户信息.

您也可以使用最小配置, 例如:

toml
[[telegram]]
phone = "+8612109347899"

[[emby]]
url = "https://weiss-griffin.com:443"
username = "carrie19"
password = "s*D7MMCpS$"
只进行机器人签到的配置

您可以只使用 telegram 标签:

toml
[[telegram]]
phone = "+8612109347899"
只进行 Emby 模拟观看的配置

您可以只使用 emby 标签:

toml
[[emby]]
url = "https://weiss-griffin.com:443"
username = "carrie19"
password = "s*D7MMCpS$"
使用多个账号的配置

您可以使用多个 telegramemby 标签来定义多个账户:

toml
[[telegram]]
phone = "+8618323433500"

[[telegram]]
phone = "+8615635499568"

[[emby]]
url = "https://jensen.biz/"
username = "nbernard"
password = "*%NO1K^tr#"

[[emby]]
url = "https://barnett.org/"
username = "danielmartin"
password = "2!8Mn9tpRT"
连接代理的配置

若您需要连接代理, 还需要增加代理配置:

toml
[proxy] 
hostname = "127.0.0.1"
port = 1080
scheme = "socks5"

[[telegram]]
phone = "+8612109347899"

[[emby]]
url = "https://weiss-griffin.com:443"
username = "carrie19"
password = "s*D7MMCpS$"
使用群组监控和自动水群的配置

若您是 👑 高级用户 并希望开启 👀 群组监控💬 自动水群 功能, 请调节 monitorsend 选项:

toml
[[telegram]]
phone = "+8612109347899"
monitor = true # 开启群组监控
messager = true # 开启自动水群
仅开启某些站点的配置

你可以仅开启某些站点的 签到 (checkiner) / 监控 (monitor) / 水群 (messager).

请按格式填入🎬 支持的站点:

toml
[service]
checkiner = ["charon", "embyhub", "jms", "judog", "ljyy", "magic", "peach", "pornemby", "sssq", "temby", "terminus"] # 自定义多个签到站点
monitor = ["bgk"] # 仅开启一个监控站点
# messager 将保持默认值

[[telegram]]
phone = "+8612109347899"

更多配置

更多配置项详见 🔧 配置文件.

更多配置项详见模板文件注释及下文详细说明.

配置项目

顶级项目

设置项值类型简介默认值
timestrTelegram 机器人签到时间范围"<8:00AM,10:00AM>"
timeoutintTelegram 机器人签到超时 (秒)120
retriesintTelegram 机器人签到错误重试次数4
concurrentintTelegram 机器人签到最大并发1
randomintTelegram 机器人签到各站点间时间随机量 (分钟)60
intervalint/strEmby 保活间隔天数, 或间隔天数范围"<3,12>"
notifierint/bool/str发送通知到 Telegram 账号 (序号/手机号), 默认第一个true
servicedict签到/水群/监视功能开启站点设置子项
proxydict代理设置子项
telegramlistTelegram 账号设置子项 (支持多账号)
embylistEmby 账号设置子项 (支持多账号)

service 子项

该子项用于配置签到/水群/监视功能启用的站点.

设置项值类型简介默认值
checkinerlist启用的签到站点(当前默认启用的站点)
monitorlist启用的监视站点(当前默认启用的站点)
messagerlist启用的水群站点(当前默认启用的站点)

例如:

toml
[service]
checkiner = ["charon", "embyhub", "jms", "ljyy", "magic", "peach", "pornemby", "sssq", "terminus"]
monitor = ["bgk", "embyhub", "pornemby_answer", "pornemby_double", "pornemby_dragon_rain", "pornemby_nohp", "viper"]
messager = ["pornemby"]

提示

如果你需要禁用一个站点, 请使用 "默认站点去掉需禁用的站点".

如果你需要增加一个站点, 请使用 "默认站点加上需禁用的站点".

当前支持的站点请见 🎬 支持的站点.

站点尚未被支持时使用模板创建

如果您的站点尚未被支持, 但是符合以下通用模板格式, 即可通过模板创建:

  1. templ_a:

templ_a

可以使用 templ_a<xxx> 格式启用, xxx 为机器人的用户名.

  1. templ_b:

仅发送 /checkin, 并检测签到成功等文字.

可以使用 templ_b<xxx> 格式启用, xxx 为机器人的用户名.

proxy 子项

该子项用于配置用于连接 Telegram 和 Emby 服务器的代理. 默认不使用代理.

设置项值类型简介默认值
hostnamestr代理服务器地址
portint代理端口号
schemestr代理协议, 可以为 "socks5" 或 "http"
usernamestr代理服务器认证用户名, 不填不使用认证
passwordstr代理服务器认证密码, 不填不使用认证

例如:

toml
[proxy]
hostname = "127.0.0.1"
port = 1080
scheme = "socks5"

telegram 子项

该子项用于配置一个或多个 Telegram 账户.

设置项值类型简介默认值
phonestr带国家区号的账户手机号, 一般为 "+86..."
checkinbool启用机器人签到系列功能true
monitorbool启用群组监控系列功能false
sendbool启用自动水群系列功能false
api_idstrTelegram 官网申请的 Application ID
api_hashstrTelegram 官网申请的 Application Hash

其中, monitorsend 是各账户的群组监控和自动水群开关, 与命令行参数中的全局开关有差异.

api_idapi_hash 不是必填项, 仅当程序出错并提示您需要该参数时, 才需要填入该参数.

例如:

toml
[[telegram]]
phone = "+8616401875896"
send = false # 禁用该账号的自动水群功能
monitor = false # 禁用该账号的自动监控功能
toml
[[telegram]]
phone = "+8616401875896"
send = true # 启用该账号的自动水群功能 (需要高级账号, 谨慎使用)
monitor = true # 启用该账号的自动监控功能 (需要高级账号)

注意

telegram 组标题由两个中括号围起.

emby 子项

该子项用于配置一个或多个 Emby 账户.

设置项值类型简介默认值
urlstrEmby 服务器地址
一般为 "https://...:443" 或 "https://...:8096"
usernamestrEmby 服务器用户名
passwordstrEmby 服务器密码
timelist模拟观看的随机时间范围 (秒)[120, 240]
jellyfinbool是否是 jellyfin 站点而非 emby 站点false
continuousbool是否执行长运行模式, 详见 🎬 功能说明false
allow_multiplebooltrue: 允许播放多个视频直到达到时间要求
false: 寻找单个时间达标视频进行播放
true
allow_streambooltrue: 允许模拟播放没有时长信息的视频
false: 重选没有时长信息的视频
false
devicestr自定义的设备名称 (默认模拟 Fileball)
clientstr自定义的用户代理 (默认模拟 Fileball)
uastr自定义的用户代理 (默认模拟 Fileball)

由于每个服务器的活跃检测机制不同, 请自行设定参数. 默认参数已适应大部分服的保活要求.

例如:

toml
[[emby]]
url = "https://richards.info/"
username = "lisaharrington"
password = "VN3Uznu4*B"
time = [120, 240] # 模拟观看的时长 (秒)

注意

emby 组标题由两个中括号围起.

其他的特定站点配置子项

如果您需要在某些站点每隔几天签到一次, 您需要在配置文件末尾追加:

toml
[monitor.terminus] # 支持任何签到站
skip = 5 # 每隔 5 天签到 1 天, 即 6 天签到一次

如果您需要在自动抢注时自定义用户名, 您需要在配置文件末尾追加:

toml
[monitor.bgk] # 支持 bgk, embyhub, future, infinity_fly, judog, misty, polo, viper
unique_name = "your_username_for_registeration" # 自动抢注时使用的用户名

如果您需要在 Pornemby 自动回答问题时, 仅当问题历史中找到答案时自动回答, 保证百分百准确率, 您需要在配置文件末尾追加:

toml
[monitor.pornemby_answer]
only_history = true # 仅当问题历史中找到答案时自动回答

如果您需要在 Pornemby 自动回答问题时, 一定概率不回答, 您需要在配置文件末尾追加:

toml
[monitor.pornemby_answer]
possibility = 0.7 # 70% 概率回答, 30% 概率不回答

如果您需要在 Pornemby 抢龙王雨红包时, 一定概率不抢, 您需要在配置文件末尾追加:

toml
[monitor.pornemby_dragon_rain]
possibility = 0.3 # 30% 概率抢, 70% 概率不抢

如果您需要在 Pornemby 自动水群时, 自定义条数, 您需要在配置文件末尾追加:

toml
[messager.pornemby]
messages = ["pornemby-common-wl@latest.yaml * 100"]
interval = 1800 # 两次水群之间最小间隔 (s)

运行细节

备注

  1. 启动时首次运行的关键消息不会发送到您设置的 Telegram 账号.

  2. 会以非常慢的速度串流视频媒体, 不会导致服务器大量入站流量.

  3. 默认使用随机的 Fileball 的 UA 发起请求.

长运行模式

您可以模拟特定 Emby 站点一直播放视频, 从而刷播放时长数据. 您需要打开该站点的 continuous 选项:

toml
[[emby]]
url = "https://example.com:443"
username = "xxxxx"
password = "xxxxx"
continuous = true
time = [7200, 14400]

您依然可以通过 time 选项调整长运行时间, 而且长运行将每日自动启动.

上述配置将每天播放 2-4 小时.

Released under the GPLv3 License.