/emby-server-checkin

Terminus 终点站/卷毛鼠 Emby 公益服 自动签到

Primary LanguagePythonMIT LicenseMIT

Terminus 终点站卷毛鼠 Emby 公益服自动签到

参考Orzlee telegram-自动签到,利用python-telegram 库实现

博客地址: https://www.sheyilin.com/2023/02/emby-server-checkin

Github: https://github.com/gqbre/emby-server-checkin

DockerHub: https://hub.docker.com/r/gqbre/emby-server-checkin

docker 版本

登录信息使用环境变量配置

docker pull gqbre/emby-server-checkin
docker run -d --name emby-server-checkin -e api_id="your api id" -e api_hash="your api hash" -e phone="your phone number" gqbre/emby-server-checkin

指定代理配置示例:

-e proxy_type="proxyTypeHttp" -e proxy_server="192.168.1.1" -e proxy_port="1080"

可使用宿主网络模式 --network host 启动,更多细节参考 https://github.com/gqbre/docker-rclone-proxy#troubleshooting

首次启动容器后需要进行一次登录,下次启动容器时会自动读取 session 文件夹,无需再次登录。

docker exec -it emby-server-checkin /bin/bash
python cm.py
# 输入验证码,等待首次签到完成

自动签到程序将在 UTC+8 的 10:00, 10:05 分自动签到

以下手动挡

0x00 系统环境准备

在 Ubuntu 20.04 LTS 上测试成功,其余环境自行测试。

从 GitHub clone 本 repo:

cd ~
git clone https://github.com/gqbre/emby-server-checkin.git

0x01 Python 环境

要求 Python >= 3.6, pip3, 推荐使用 Python 3.10.10

python3 -V

安装 python-telegram 以及 验证码识别 ddddocr

cd emby-server-checkin
pip3 install -r requirements.txt

0x02 Telegram 账号登陆

首先前往Telegram 官网申请 Application API。

登陆后选择 API development tools,自行填写信息后提交后即可获取 api_id 和 api_hash。若显示 error 可能为代理问题,根据环境决定是否启用代理配置代码。

cm.py 为 Terminus 终点站签到脚本,jms.py 为卷毛鼠公益服签到脚本。libtdjson_*.so 为编译好的 tdlib 文件。x86_64 架构使用 libtdjson_amd64.so; arm64 架构使用 libtdjson_arm64.so;MacOS 使用 libtdjson.dylib 文件; 其他系统架构请自行编译。 由于 python-telegram 限制,项目不支持 windows 系统。

编辑 cm.py 脚本输入上一步获取的 api_id 和 api_hash。支持多账号,多账号配置根据脚本中提示自行配置。

vim cm.py

自行替换脚本以下章节中 api_id, api_hash, Phone number。

tg_args = {
    api_id='your api id', # 填入api id
    api_hash='your api hash', # 填入 api hash
    phone='your phone number', # Telegram 账号
    ...
    library_path=f"{os.getcwd()}/libtdjson\_\*.so", #  根据系统架构选择对应的 libtdjson 文件
}

编辑后保存退出。

0x03 运行脚本签到

运行脚本,第一次登陆需要输入两步验证码,根据提示输入。

python3 cm.py

约 15s 后脚本自动退出,检查 Telegram 中应自动签到成功。

0x04 定时执行

将该程序加入 cron 定时执行

crontab -e

在末行输入

0 2 * * * cd /root/emby-server-checkin && python3 cm.py >> /root/emby-server-checkin/cm.log 2>&1
5 2 * * * cd /root/emby-server-checkin && python3 jms.py >> /root/emby-server-checkin/jms.log 2>&1

替换为你的项目路径,保存退出后自动签到程序将在 UTC+8 的 10:00, 10:05 分自动签到