Koyeb 账号自动化保活
Koyeb 是一个免费的 PaaS 容器
,支持部署多种服务,且支持 docker 镜像
的部署方式。但是它的免费版有一个问题:账户必须在 两周内登录 1 次
,否则会被 删号
。本文教大家借助 github action
的 定时
功能实现 koyeb 账号 保活
(支持保活多个账号)
📌Fork 我的仓库
仓库地址
代码在 koyeb-alive 文件夹
中,文件名:koyeb-alive.py
,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| import os import requests import json import time
KOYEB_ACCOUNTS = json.loads(os.getenv("KOYEB_ACCOUNTS"))
def send_tg_message(message): bot_token = os.getenv("TG_BOT_TOKEN") chat_id = os.getenv("TG_CHAT_ID") url = f"https://api.telegram.org/bot{bot_token}/sendMessage" data = { "chat_id": chat_id, "text": message, "parse_mode": "Markdown" } response = requests.post(url, data=data) return response.json()
def login_koyeb(email, password): login_url = "https://app.koyeb.com/v1/account/login" headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } data = { "email": email, "password": password } try: response = requests.post(login_url, headers=headers, json=data) response.raise_for_status() if response.status_code == 200: return True, "登录成功" else: return False, f"登录失败: HTTP状态码 {response.status_code}" except requests.RequestException as e: return False, f"登录失败: {str(e)}"
results = [] for account in KOYEB_ACCOUNTS: email = account['email'] password = account['password'] time.sleep(5) success, message = login_koyeb(email, password) results.append(f"账户: {email}\n状态: {'成功' if success else '失败'}\n消息: {message}\n")
tg_message = "Koyeb 登录报告\n\n" + "\n".join(results) send_tg_message(tg_message)
|
为了避免触发 koyeb 的 反刷
机制,我在代码中设定了登录多个账号时,中间 间隔 5 秒
📌设置 Action 机密变量
按图设置
填写三个变量:
变量名 |
变量值 |
KOYEB_ACCOUNTS |
json 格式储存账户信息,见下文示例 |
TG_BOT_TOKEN |
TG 机器人的 token,用于发送 TG 通知 |
TG_CHAT_ID |
TG 机器人的 chatid,用于发送 TG 通知 |
KOYEB_ACCOUNTS
储存多个账户信息,其格式如下(注意 缩进
,最后一行最后面没有 ,
):
1 2 3 4 5 6
| [ {"email": "account1@example.com", "password": "password1"}, {"email": "account2@example.com", "password": "password2"}, {"email": "account3@example.com", "password": "password3"}, {"email": "account4@example.com", "password": "password4"} ]
|
📌运行 Action
第一次先 手动运行
一下 action:
之后,action 会在每周日的 0 点自动运行
✅ 题外话:可以将上面的 py
脚本转化为 js
脚本,部署到 cf worker
(点击查看代码),利用 worker 的 corn 触发器
功能实现同样的效果。需要在 worker 项目中设置上述三个变量
#koyeb #保活 #github #cloudflare