Sign inSign up

liveinaus/bemby-pro

By liveinaus

•Updated about 6 hours ago

Self-hosted Telegram check-in and Emby watch session automation with web admin portal

Image
0

10K+

liveinaus/bemby-pro repository overview

Bemby

⁠Bemby Pro

Docker Pulls 更新日志 Telegram

English⁠ | 简体中文

如果 Bemby 为你节省了时间,欢迎在 GitHub 上给它点个 Star,帮助更多人发现这个项目。

一款自托管的自动化工具,用于管理每日 Telegram 机器人签到和 Emby 视频观看会话。内置 Web 管理门户,支持多账号和多任务管理。

⁠功能一览

Bemby 的主要功能如下;下方「功能特性」有逐项说明,各版本的改动见更新日志⁠。

四种任务

  • 签到 -- 在每天随机的时间向机器人发送命令并点击按钮;按钮可按文字、多个关键词、置顶消息或赔率选择,写 {aiBtn} 则交给 AI 识别(含图片验证码)
  • Emby 观看 -- 模拟播放会话并上报进度;可真实拉流、顺序续播、限定媒体库、选择客户端 UA,支持需要播放会话的网关与无效 SSL 证书
  • 自定义 -- 用多步骤流程操作任意机器人、群组、网页与小程序:发命令、等回复、点按钮、入群与退群、输入验证码、条件分支(if / else)、循环、提前结束、移交给另一个模板
  • 自动注册 -- 监听群内发布的注册码(前缀、通配或正则,可交给 AI 修正)并抢注

网页与小程序自动化

  • 内置指纹修补浏览器(CloakBrowser),可过 Cloudflare 与 Turnstile;子步骤包括点击、填写、键盘输入、按键、长按、拖动滑块或拼图、下拉选择、跳转与后退、滚动、读取文字、收集元素、在页面运行脚本,支持 iframe 内的页面
  • 邮件验证码与验证链接、邮箱池、msOauth2api 邮箱登录、两步验证密钥与动态码(TOTP)、通行密钥(虚拟安全密钥,无需硬件)
  • AI 识别 hCaptcha 一类的选图验证码,可一次点击多个位置;回复键盘里的小程序按钮也能打开
  • 通过 VNC 实时查看或手动操作浏览器,管理浏览器配置文件;浏览器自检打分(BrowserScan、CreepJS、FingerprintJS、Cloudflare 验证页),可伪装系统、上传字体,时区跟随出口 IP

变量与数据

  • 随机占位符、设置变量、AI 撰写并输入、运行中途发送通知
  • 数据仓库 -- 跨运行保存注册出的账号、邀请码等,任务中用 {data.文件夹.键} 读取,也可写入和删除;支持导入导出,可按数据文件夹逐条循环

Telegram 账户

  • 多账号 MTProto 登录;管理两步验证密码、活跃会话、恢复邮箱、通行密钥、个人资料与备注
  • 导入卡密(session)账户,导入前检查存活,之后批量接管所有权
  • 批量操作:重命名、修改资料、随机头像(头像图库)、用户名、隐私、登录邮箱、凭据、提取消息
  • 会话备份导出与导入(可加密)

消息页(Messenger)

  • 内置 Telegram 客户端:私聊、群组、频道与评论、频道私信、投票与测验、表情回应、文件、贴纸、小程序;Telegram 第 229 层,可显示机器人发来的富文本页面消息

模板与任务

  • 模板与模板商店:一键安装、更新、自动更新、切换回旧版本;模板可为任务提供选项
  • 从模板为多个账户批量创建任务;复制、归档、批量运行、单个任务覆盖代理
  • 一次性任务、每 X 天运行一次、任务图标与筛选、手动标记成功或失败

调度与日志

  • 在时间窗口内随机执行、自动错峰、同时运行上限可调、失败重试;升级后保持原定时间,当天错过的运行当天补上
  • 实时日志、仿 Telegram 气泡对话、观看摘要、AI 调试面板、日志大小统计与精简

代理

  • HTTP / SOCKS 代理、随机代理池、健康检查与测试;节点订阅(VLESS / VMess / Trojan / Shadowsocks,Xray 内核);全局代理(适合中国大陆使用)

系统

  • 通知机器人(可发到群组话题)、云备份到 Cloudflare R2、版本更新检查、浅色 / 深色主题、移动端布局、系统日志与重启、忘记密码时的重置方式
  • 激活码分两个版本:基础版(签到与 Emby 观看)与 Pro 版(全部功能)

⁠快速开始

docker run -d \
  --name bemby \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /docker/bemby-data:/app/data \
  -e ADMIN_USERNAME=admin \
  -e ADMIN_PASSWORD=changeme \
  -e JWT_SECRET="$(openssl rand -hex 32)" \
  liveinaus/bemby-pro:latest

镜像发布在 Docker Hub:liveinaus/bemby-pro⁠。

镜像标签::latest(同 :pro)为 Pro 稳定版(推荐);:beta 为测试版;:dev 为开发版。旧镜像 liveinaus/bemby 已停止更新:从 liveinaus/bemby:pro 或 liveinaus/bemby:latest 迁移,只需把镜像改为 liveinaus/bemby-pro:latest,数据目录可直接沿用。

JWT_SECRET 为必填项,且不能使用公开的占位值(如 change-me-in-production),否则应用将拒绝启动。请用 openssl rand -hex 32 生成。

默认值:端口 3000,数据库 /app/data/bemby.db,时区 UTC。如需指定时区,追加 -e TZ=Asia/Shanghai。

使用 Docker Compose(支持设置页一键升级):下载仓库中的 docker-compose.yml 和 env.example(另存为 .env),在 .env 中填写 JWT_SECRET 和 WATCHTOWER_TOKEN(均可用 openssl rand -hex 32 生成),然后执行 docker compose up -d。详见 一键升级⁠。

Bemby

⁠English

Docker Pulls Changelog Telegram

简体中文⁠ | English

If Bemby saves you time, please consider giving it a star on GitHub. It helps others find the project and keeps development going.

A self-hosted automation tool for managing daily Telegram bot check-ins (签到) and Emby video-watch sessions. Includes a web admin portal for managing multiple accounts and jobs.

⁠At a glance

Bemby's main features are below; the Features section further down covers each in detail, and the changelog⁠ has what changed in each version.

Four job types

  • Check-in -- send a command to a bot at a random time each day and click a button; pick the button by text, several keywords, the pinned message or its odds, or write {aiBtn} to let the AI choose (picture captchas included)
  • Emby Watch -- simulate a playback session and report progress; real streaming, sequential play from where you left off, library limits, client UA presets, play-session gateways and invalid SSL certificates
  • Custom -- multi-step flows against any bot, group, web page or Mini App: send commands, wait for replies, click buttons, join and leave groups, enter captchas, if / else branches, loops, end early, hand the job over to another template
  • Auto registration -- watch a group for posted registration codes (prefix, wildcard or regex, optionally cleaned up by the AI) and claim them first

Web and Mini App automation

  • A built-in fingerprint-patched browser (CloakBrowser) that passes Cloudflare and Turnstile; page steps to click, fill, type, press keys, press and hold, drag a slider or puzzle piece, pick a dropdown option, go to a URL and back, scroll, read text, collect elements and run a script, pages inside iframes included
  • Email verification codes and links, mailbox pools, msOauth2api mailbox sign-in, two-factor secrets and their codes (TOTP), and passkeys on a virtual security key with no hardware
  • The AI solves hCaptcha-style picture grids and can click several positions at once; Mini App buttons on the reply keyboard open too
  • Watch or drive the browser live over VNC and manage its profiles; score it on BrowserScan, CreepJS, FingerprintJS and real Cloudflare pages, give it another OS, your own fonts, and the exit IP's timezone

Variables and data

  • Random placeholders, variables, AI-written input, and notifications sent mid-run
  • Data store -- records that outlive a run (accounts a signup made, invite codes), read in any field as {data.folder.key}, written or deleted from a job, imported and exported, and looped over one record at a time

Telegram accounts

  • Many accounts, each signed in over MTProto; manage the 2FA password, active sessions, recovery email, passkeys, profile and notes
  • Import session (card) accounts, check they are alive first, then take ownership of them in bulk
  • Bulk rename, profile, random avatars (from an avatar pool), usernames, privacy, login email, credentials and message extraction
  • Session backup export and import (password-protected if you like)

Messenger

  • A built-in Telegram client: private chats, groups, channels and comments, channel DMs, polls and quizzes, reactions, files, stickers and Mini Apps; Telegram layer 229, so a bot's rich page messages render

Templates and jobs

  • Templates and the template store: install, update, auto-update or roll back in a click; templates can offer options to their jobs
  • Create jobs from templates for many accounts at once; copy, archive, run in bulk, and override the proxy per job
  • One-time jobs, run every X days, job icons and filters, and marking a run successful or failed by hand

Scheduling and logs

  • Random times inside each job's window, automatic spacing, an adjustable simultaneous-run cap and retries; planned times survive an upgrade and runs missed today are caught up today
  • Live logs, Telegram-style chat bubbles, watch summaries, an AI debugging console, and log sizes with compaction

Proxies

  • HTTP / SOCKS proxies, random proxy pools, health checks and testing; node subscriptions (VLESS / VMess / Trojan / Shadowsocks, with the Xray core); a global proxy for censored networks such as mainland China

System

  • A notification bot (group topics included), cloud backup to Cloudflare R2, update check, light / dark theme, mobile layout, system log and reboot, and a way back in from a forgotten password
  • Activation codes in two editions: Basic (check-in and Emby Watch) and Pro (everything)
⁠Quick Start
docker run -d \
  --name bemby \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /docker/bemby-data:/app/data \
  -e ADMIN_USERNAME=admin \
  -e ADMIN_PASSWORD=changeme \
  -e JWT_SECRET="$(openssl rand -hex 32)" \
  liveinaus/bemby-pro:latest

Images are published on Docker Hub: liveinaus/bemby-pro⁠.

Image tags: :latest (the same as :pro) is the stable Pro build (recommended); :beta is the beta; :dev is the development build. The old liveinaus/bemby image no longer gets updates: to move from liveinaus/bemby:pro or liveinaus/bemby:latest, change the image to liveinaus/bemby-pro:latest; the data directory carries over as it is.

JWT_SECRET is required and must not be a publicly known placeholder (e.g. change-me-in-production), or the app refuses to start. Generate one with openssl rand -hex 32.

Defaults: port 3000, database at /app/data/bemby.db, timezone UTC. To set a timezone add -e TZ=Australia/Sydney.

With Docker Compose (one-click upgrade from Settings): take the repository's docker-compose.yml and env.example (saved as .env), fill in JWT_SECRET and WATCHTOWER_TOKEN in .env (both from openssl rand -hex 32), then run docker compose up -d. See One-click upgrade⁠.


完整说明 / Full documentation: https://github.com/liveinaus/BembyPro#readme⁠

Tag summary

Content type

Image

Digest

sha256:4dd249b14…

Size

215.2 MB

Last updated

about 20 hours ago

docker pull liveinaus/bemby-pro