自动保活
很多 Emby 服务器有每隔一定时间需要登录观看一定时间的要求, 该模块通过自动模拟播放实现自动保活.
支持站点
该模块可用于任何 Emby 或 Jellyfin 服务器. 部分服务器可能由于配置问题无法使用, 请反馈.
开启条件
该功能开启的条件为:
命令行没有禁用自动保活:
bash# 启用全部功能 embykeeper # 启用自动保活 embykeeper -e # 禁用自动保活, 启用其他功能 embykeeper -c -m -s
配置文件有至少一个 Emby 账户配置.
配置选项
配置指南
Embykeeper 需要输入一个 toml
格式的配置文件, 默认为 config.toml
.
当首次运行时, 一个模板 config.toml
文件将被生成 (您也可以从这里下载).
请您根据模板文件中的注释 (以#
开头), 配置您的账户信息.
您也可以使用最小配置, 例如:
[[telegram]]
phone = "+8612109347899"
[[emby]]
url = "https://weiss-griffin.com:443"
username = "carrie19"
password = "s*D7MMCpS$"
只进行机器人签到的配置
您可以只使用 telegram
标签:
[[telegram]]
phone = "+8612109347899"
只进行 Emby 模拟观看的配置
您可以只使用 emby
标签:
[[emby]]
url = "https://weiss-griffin.com:443"
username = "carrie19"
password = "s*D7MMCpS$"
使用多个账号的配置
您可以使用多个 telegram
或 emby
标签来定义多个账户:
[[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"
连接代理的配置
若您需要连接代理, 还需要增加代理配置:
[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$"
使用群组监控和自动水群的配置
若您是 👑 高级用户 并希望开启 👀 群组监控 与 💬 自动水群 功能, 请调节 monitor
和 send
选项:
[[telegram]]
phone = "+8612109347899"
monitor = true # 开启群组监控
messager = true # 开启自动水群
仅开启某些站点的配置
你可以仅开启某些站点的 签到 (checkiner
) / 监控 (monitor
) / 水群 (messager
).
请按格式填入🎬 支持的站点:
[service]
checkiner = ["charon", "embyhub", "jms", "judog", "ljyy", "magic", "peach", "pornemby", "sssq", "temby", "terminus"] # 自定义多个签到站点
monitor = ["bgk"] # 仅开启一个监控站点
# messager 将保持默认值
[[telegram]]
phone = "+8612109347899"
更多配置
更多配置项详见 🔧 配置文件.
更多配置项详见模板文件注释及下文详细说明.
配置项目
顶级项目
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
time | str | Telegram 机器人签到时间范围 | "<8:00AM,10:00AM>" |
timeout | int | Telegram 机器人签到超时 (秒) | 120 |
retries | int | Telegram 机器人签到错误重试次数 | 4 |
concurrent | int | Telegram 机器人签到最大并发 | 1 |
random | int | Telegram 机器人签到各站点间时间随机量 (分钟) | 60 |
interval | int /str | Emby 保活间隔天数, 或间隔天数范围 | "<3,12>" |
notifier | int /bool /str | 发送通知到 Telegram 账号 (序号/手机号), 默认第一个 | true |
service | dict | 签到/水群/监视功能开启站点设置子项 | |
proxy | dict | 代理设置子项 | |
telegram | list | Telegram 账号设置子项 (支持多账号) | |
emby | list | Emby 账号设置子项 (支持多账号) |
service
子项
该子项用于配置签到/水群/监视功能启用的站点.
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
checkiner | list | 启用的签到站点 | (当前默认启用的站点) |
monitor | list | 启用的监视站点 | (当前默认启用的站点) |
messager | list | 启用的水群站点 | (当前默认启用的站点) |
例如:
[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"]
提示
如果你需要禁用一个站点, 请使用 "默认站点去掉需禁用的站点".
如果你需要增加一个站点, 请使用 "默认站点加上需禁用的站点".
当前支持的站点请见 🎬 支持的站点.
站点尚未被支持时使用模板创建
如果您的站点尚未被支持, 但是符合以下通用模板格式, 即可通过模板创建:
templ_a
:
可以使用 templ_a<xxx>
格式启用, xxx
为机器人的用户名.
templ_b
:
仅发送 /checkin, 并检测签到成功等文字.
可以使用 templ_b<xxx>
格式启用, xxx
为机器人的用户名.
proxy
子项
该子项用于配置用于连接 Telegram 和 Emby 服务器的代理. 默认不使用代理.
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
hostname | str | 代理服务器地址 | |
port | int | 代理端口号 | |
scheme | str | 代理协议, 可以为 "socks5 " 或 "http " | |
username | str | 代理服务器认证用户名, 不填不使用认证 | |
password | str | 代理服务器认证密码, 不填不使用认证 |
例如:
[proxy]
hostname = "127.0.0.1"
port = 1080
scheme = "socks5"
telegram
子项
该子项用于配置一个或多个 Telegram 账户.
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
phone | str | 带国家区号的账户手机号, 一般为 "+86... " | |
checkin | bool | 启用机器人签到系列功能 | true |
monitor | bool | 启用群组监控系列功能 | false |
send | bool | 启用自动水群系列功能 | false |
api_id | str | 从Telegram 官网申请的 Application ID | |
api_hash | str | 从Telegram 官网申请的 Application Hash |
其中, monitor
和 send
是各账户的群组监控和自动水群开关, 与命令行参数中的全局开关有差异.
api_id
和 api_hash
不是必填项, 仅当程序出错并提示您需要该参数时, 才需要填入该参数.
例如:
[[telegram]]
phone = "+8616401875896"
send = false # 禁用该账号的自动水群功能
monitor = false # 禁用该账号的自动监控功能
[[telegram]]
phone = "+8616401875896"
send = true # 启用该账号的自动水群功能 (需要高级账号, 谨慎使用)
monitor = true # 启用该账号的自动监控功能 (需要高级账号)
注意
telegram
组标题由两个中括号围起.
emby
子项
该子项用于配置一个或多个 Emby 账户.
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
url | str | Emby 服务器地址 一般为 " https://...:443 " 或 "https://...:8096 " | |
username | str | Emby 服务器用户名 | |
password | str | Emby 服务器密码 | |
time | list | 模拟观看的随机时间范围 (秒) | [120, 240] |
jellyfin | bool | 是否是 jellyfin 站点而非 emby 站点 | false |
continuous | bool | 是否执行长运行模式, 详见 🎬 功能说明 | false |
allow_multiple | bool | true : 允许播放多个视频直到达到时间要求 false : 寻找单个时间达标视频进行播放 | true |
allow_stream | bool | true : 允许模拟播放没有时长信息的视频 false : 重选没有时长信息的视频 | false |
device | str | 自定义的设备名称 (默认模拟 Fileball) | |
client | str | 自定义的用户代理 (默认模拟 Fileball) | |
ua | str | 自定义的用户代理 (默认模拟 Fileball) |
由于每个服务器的活跃检测机制不同, 请自行设定参数. 默认参数已适应大部分服的保活要求.
例如:
[[emby]]
url = "https://richards.info/"
username = "lisaharrington"
password = "VN3Uznu4*B"
time = [120, 240] # 模拟观看的时长 (秒)
注意
emby
组标题由两个中括号围起.
其他的特定站点配置子项
如果您需要在某些站点每隔几天签到一次, 您需要在配置文件末尾追加:
[monitor.terminus] # 支持任何签到站
skip = 5 # 每隔 5 天签到 1 天, 即 6 天签到一次
如果您需要在自动抢注时自定义用户名, 您需要在配置文件末尾追加:
[monitor.bgk] # 支持 bgk, embyhub, future, infinity_fly, judog, misty, polo, viper
unique_name = "your_username_for_registeration" # 自动抢注时使用的用户名
如果您需要在 Pornemby
自动回答问题时, 仅当问题历史中找到答案时自动回答, 保证百分百准确率, 您需要在配置文件末尾追加:
[monitor.pornemby_answer]
only_history = true # 仅当问题历史中找到答案时自动回答
如果您需要在 Pornemby
自动回答问题时, 一定概率不回答, 您需要在配置文件末尾追加:
[monitor.pornemby_answer]
possibility = 0.7 # 70% 概率回答, 30% 概率不回答
如果您需要在 Pornemby
抢龙王雨红包时, 一定概率不抢, 您需要在配置文件末尾追加:
[monitor.pornemby_dragon_rain]
possibility = 0.3 # 30% 概率抢, 70% 概率不抢
如果您需要在 Pornemby
自动水群时, 自定义条数, 您需要在配置文件末尾追加:
[messager.pornemby]
messages = ["pornemby-common-wl@latest.yaml * 100"]
interval = 1800 # 两次水群之间最小间隔 (s)
运行细节
备注
启动时首次运行的关键消息不会发送到您设置的 Telegram 账号.
会以非常慢的速度串流视频媒体, 不会导致服务器大量入站流量.
默认使用随机的 Fileball 的 UA 发起请求.
长运行模式
您可以模拟特定 Emby 站点一直播放视频, 从而刷播放时长数据. 您需要打开该站点的 continuous
选项:
[[emby]]
url = "https://example.com:443"
username = "xxxxx"
password = "xxxxx"
continuous = true
time = [7200, 14400]
您依然可以通过 time
选项调整长运行时间, 而且长运行将每日自动启动.
上述配置将每天播放 2-4 小时.