DevilXD/TwitchDropsMiner
GitHub: DevilXD/TwitchDropsMiner
一款通过模拟观看行为来自动收集Twitch掉落奖励的跨平台桌面工具。
Stars: 2798 | Forks: 279
# Twitch Drops Miner
此应用程序允许您挂机挖掘定时的 Twitch drops,无需担心当您观看的频道下线时切换频道、领取 drops,甚至无需接收流数据本身。这有助于节省带宽并减少麻烦。
### 工作原理:
每隔几秒钟,应用程序通过获取流元数据来假装观看特定的直播——这足以推进 drops 进度。请注意,这完全绕过了下载任何实际直播视频和声音的需求。为了保持频道状态(ONLINE 或 OFFLINE)的更新,程序会建立一个 websocket 连接,用于接收关于直播上下线的事件,或有关当前观众人数的更新。
### 功能:
- 无流挖掘 drops —— 节省带宽。
- 游戏优先级和排除列表,允许您按想要的顺序专注于挖掘您想要的内容,并忽略您不想要的内容。
- 分片 websocket 连接,允许同时追踪多达 `199` 个频道。
- 基于已关联账户的自动 drop 活动发现(不过需要您自己进行[账户关联](https://www.twitch.tv/drops/campaigns))。
- 直播标签和 drop 活动验证,以确保您不会挖掘到无法获得 drop 的直播。
- 自动切换直播频道,当您当前观看的频道下线时,以及当有更高优先级游戏的频道上线时。
- 登录会话保存在 cookies 文件中,因此您无需每次都登录。
- 当新活动出现时自动开始挖掘,并在所有可用的 drops 挖掘完毕后停止。
### 用法:
- 下载并解压[最新版本](https://github.com/DevilXD/TwitchDropsMiner/releases) —— 建议保留在其所在的文件夹中。
- 运行程序,通过应用内的登录表单将挖掘器登录/连接到您的 Twitch 账户。
- 登录成功后,应用程序应获取所有可用活动和您可以挖掘 drops 的游戏列表 —— 然后您可以选择并将选择的游戏添加到设置选项卡中的优先级列表,然后按 `Reload`(重载)按钮开始处理。它将获取所有可以观看的适用直播列表,并立即开始挖掘。您也可以根据需要手动切换到不同的频道。
- 如果您希望挖掘器在优先级列表选择之外,继续挖掘任何可挖掘的内容,可以使用优先级模式设置来指定其余游戏的挖掘顺序。
- 确保将您的 Twitch 账户与[活动页面](https://www.twitch.tv/drops/campaigns)上的游戏账户关联,以启用更多可挖掘的游戏。
### 图片:



### 注意事项:
### 关于 Windows 版本的说明:
- 为了实现便携式可执行格式,应用程序使用 PyInstaller 打包成 `EXE`。某些杀毒引擎(包括 Windows Defender)可能会将打包的可执行文件报告为木马,因为过去其他人曾使用 PyInstaller 打包恶意 Python 代码。这些报告可以安全地忽略。如果您绝对不信任该可执行文件,则需要自行安装 Python 并从源代码运行所有内容。
- 该可执行文件使用 `%TEMP%` 目录来临时存储不需要向用户公开的运行时文件(如编译后的代码和翻译文件)。对于持久化存储,则使用可执行文件所在的目录。
- 自动启动功能是作为注册表条目实现的,指向当前用户(`HKCU`)的自动启动键。仅在切换相应选项时才会更改。如果您将应用程序移动到其他目录,自动启动功能将停止工作,直到您关闭再重新打开该选项。
### 关于 Linux 版本的说明:
- Linux 应用程序使用两种不同的便携式可执行格式构建和分发:[AppImage](https://appimage.org/) 和 [PyInstaller](https://pyinstaller.org/)。
- 这两种格式之间没有重大区别,但如果您需要推荐,请使用 AppImage。
- Linux 应用程序应该可以在任何现代发行版上开箱即用,只要它具有 `glibc>=2.35` 和一个正常工作的显示服务器。
- 该应用程序的每个功能都应像在 Windows 上一样在 Linux 上正常工作。如果您发现损坏的内容,请[开启一个新 issue](https://github.com/DevilXD/TwitchDropsMiner/issues/new)。
- Linux 应用程序的大小明显大于 Windows 应用程序,因为包含了 `gtk3` 库(及其依赖项),这是支持系统托盘/通知所必需的。
- 作为原生 Linux 应用程序的替代方案,您可以通过 [Wine](https://www.winehq.org/) 运行 Windows 应用程序。效果非常好!
### 关于 macOS 版本的说明:
- macOS 版本使用 PyInstaller 打包成独立的 `.app` 包,并作为 ZIP 存档分发。
- 由于此应用程序未使用付费的 Apple Developer Certificate 签名,**macOS Gatekeeper 将在首次运行时阻止它**(提示“应用程序已损坏,无法打开”)。
- **解决方法**:在应用程序所在的文件夹中打开终端(或使用 `cd path/to/folder` 导航),然后输入 `xattr -cr Twitch Drops Miner (by DevilXD).app`;或者只输入 `xattr -cr `(确保末尾有一个空格),然后将 `Twitch Drops Miner (by DevilXD).app` 文件拖放到终端窗口中(这将自动填充路径)并回车。
- 持久化文件(如 `cookies.jar`、`settings.json`、`lock.file` 和 `cache` 文件夹)存储在应用程序包内的 `Twitch Drops Miner (by DevilXD).app/Contents/MacOS` 中(要访问它们,请右键单击应用程序并选择 `Show Package Contents`(显示包内容))。
### 高级用法:
如果您有兴趣从源代码运行最新的 master 分支或构建自己的可执行文件,请参阅解释如何操作的 wiki 页面:https://github.com/DevilXD/TwitchDropsMiner/wiki/Setting-up-the-environment,-building-and-running
### 项目目标:
Twitch Drops Miner(简称 TDM)的设计初衷包含几个简单的目标。具体如下:
- 面向 Twitch Drops —— 名字就说明了这一点。这就是我制作它的目的。
- 易于普通人使用。包含一个漂亮的 GUI,并打包为即用型可执行文件,无需现有的 Python 安装即可工作。
- 旨在作为辅助工具,随您的 PC 一起启动,全天在后台运行,然后在一天结束时随 PC 关机一起关闭。如果它能连续运行至少 24 小时而不出现任何错误,我认为这就已经足够好了。
- 运行期间需要最少的关注 —— 每天检查一两次以查看一切是否正常。
- 对底层服务友好 —— 与 Twitch 站点的交互保持在可靠运行所需的最低限度,处于一个勤奋的站点用户可达到的水平。
TDM 不适用于/不作为:
- 挖掘频道点数 —— 再次强调,只关于 drops。
- 挖掘 Twitch drops 以外的任何东西 —— 不,我不会添加对碰巧也依赖观看 Twitch 直播的随机第三方网站的支持。
- 无人值守操作:在最坏的情况下,它会停止工作,您最好能在某个时候注意到这一点。
- 100% 正常运行时间的应用程序,由于其底层性质,预计偶尔会发生致命错误。
- 作为 24/7 挖掘器托管在远程服务器上。
- 与多个托管账户一起使用。
- 挖掘托管账户未关联的活动。
这意味着以下功能:
- 无 GUI 或仅连接控制台运行。
- 发生错误时的任何形式的自动重启。
- Docker 或任何其他形式的远程部署。
- 与多个托管账户一起使用。
- 使挖掘托管账户未关联的活动成为可能。
- 任何增加应用程序造成的站点处理负载的事情。
- 任何形式的额外通知系统(电子邮件、webhook 等),超出已实现的范围。
...,这些很有可能永远不会成为功能。欢迎您在相关问题下的现有 issue 中搜索并发表您的观点(如适用)。否则,大多数违反这些目标的新 issue 将被关闭,用户将被指向本段落。
有关这些目标的更多背景信息,请查看这些 issue:[#161](https://github.com/DevilXD/TwitchDropsMiner/issues/161)、[#105](https://github.com/DevilXD/TwitchDropsMiner/issues/105)、[#84](https://github.com/DevilXD/TwitchDropsMiner/issues/84)
### 致谢: