// ==UserScript== // @name Beyond-HD BHD汉化\\一键下载助手 // @namespace https://greasyfork.org/zh-CN/users/1413398-babalala // @version 1.8 // @description 下载 Beyond-HD 当前页面的所有种子,并进行更精确的汉化,并修改 Rules 页面内容 // @author BABAlala // @match https://beyond-hd.me/* // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // -------------------- 下载种子部分 (保持不变) -------------------- let downloadInterval = null; let dlButtons = []; let currentIndex = 0; // 创建“下载当前页面所有种子”按钮 const startButton = document.createElement('button'); startButton.textContent = '下载当前页面所有种子'; startButton.style.position = 'fixed'; startButton.style.top = '10px'; startButton.style.right = '10px'; startButton.style.zIndex = '9999'; document.body.appendChild(startButton); // 创建“立即停止”按钮 const stopButton = document.createElement('button'); stopButton.textContent = '立即停止'; stopButton.style.position = 'fixed'; stopButton.style.top = '40px'; // 放在开始按钮下方 stopButton.style.right = '10px'; stopButton.style.zIndex = '9999'; stopButton.disabled = true; // 初始禁用停止按钮 document.body.appendChild(stopButton); // 查找符合条件的 DL 按钮 function findDLButtons() { const allLinks = document.querySelectorAll('a'); dlButtons = []; currentIndex = 0; allLinks.forEach(link => { // 使用 title 属性和 href 属性的开头部分进行判断 if (link.title === "Download Torrent" && link.href.startsWith("https://beyond-hd.me/download/")) { dlButtons.push(link); } }); console.log("找到符合条件的 DL 按钮数量:", dlButtons.length); } // 下载种子的函数 function downloadTorrents() { if (currentIndex < dlButtons.length) { const dlButton = dlButtons[currentIndex]; console.log("正在下载第", currentIndex + 1, "个种子,链接:", dlButton.href); dlButton.click(); currentIndex++; } else { clearInterval(downloadInterval); downloadInterval = null; startButton.disabled = false; stopButton.disabled = true; alert('当前页面所有种子下载完成!'); } } // 开始按钮的点击事件 startButton.addEventListener('click', () => { findDLButtons(); if (dlButtons.length > 0) { startButton.disabled = true; stopButton.disabled = false; downloadInterval = setInterval(downloadTorrents, 3000); } else { alert('没有找到符合条件的 DL 按钮!'); } }); // 停止按钮的点击事件 stopButton.addEventListener('click', () => { clearInterval(downloadInterval); downloadInterval = null; startButton.disabled = false; stopButton.disabled = true; console.log("下载已停止"); alert('下载已停止!'); }); // -------------------- 下载种子部分结束 -------------------- // -------------------- 汉化部分 -------------------- const translations = { "Words": { "Donate": "捐赠", "Refunds": "退款", "Viewed": "已阅", "Accept": "同意", "ACCOUNT": "账号", "Activity": "活跃度", "Age": "上传时长", "All": "全部", "Announcements": "公告", "Anything Goes": "随意", "Archive": "归档", "Audios": "音轨", "Available": "可用的", "Average": "平均", "Badges": "徽章", "Battles": "战斗", "Bets": "打赌", "Birthdays": "生日", "BitTorrent": "BT", "Blackmarket": "黑市", "Blockbusters": "大片", "BM": "收藏", "Bonus Points": "奖励积分", "Bookmarks": "收藏", "Bounty": "悬赏", "Buffer": "缓冲", "By": "发布", "Cancelled": "已取消", "Capped FL": "限制的免费", "Category": "分类", "Claimed": "已认领", "Classes": "等级", "Client Blocklist": "客户端黑名单", "Closed": "已关闭", "Codec": "编码", "Collectibles": "收藏品", "Community": "社区", "Completed": "已完成", "Comparisons": "对比", "Countries": "国家", "Covers": "封面", "Currencies": "货币", "Current": "当前的", "Descending": "降序", "Direction": "排序方向", "Discount": "折扣", "Donate": "捐赠", "Download": "下载", "Drafts": "草稿", "Encoding": "编码", "FAQ": "常见问题", "Features": "特性", "Film Club": "电影俱乐部", "Filtered": "已筛选", "FL Tokens": "免费令牌", "Forum Contests": "论坛竞赛", "Forum Games": "论坛游戏", "Forums": "论坛", "Freeleech": "免费", "Games": "游戏", "Genres": "类型", "Gift": "礼物", "Gifted": "赠送", "Golden": "金色", "Health": "健康度", "Heists": "抢劫", "Help": "帮助", "Helpdesk": "帮助中心", "Home": "首页", "ID": "编号", "IMDB": "IMDB评分", "In": "发布于", "Info": "信息", "Internal": "内种", "Internals": "内种", "Introductions": "介绍", "Invite": "邀请", "LABS": "实验室", "Languages": "语言", "Last": "上次", "Latest Posts": "最新帖子", "Latest Topics": "最新话题", "Leechers": "下载者", "Library": "资源库", "Lists": "列表", "Log": "日志", "Logout": "退出", "Manual": "手动", "Mediahub": "媒体中心", "Min. BHD rating": "最低BHD评分", "Min. IMDB rating": "最小IMDB评分", "Min. TMDB rating": "最小TMDB评分", "Min. votes": "最小投票数", "Missing": "待补", "Movies": "电影", "My Badges": "我的勋章", "My Bookmarks": "我的书签", "My Collectibles": "我的收藏品", "My Harvests": "我的收获", "My Notifications": "我的通知", "My Posts": "我的帖子", "My Privacy": "隐私设置", "My Profile": "我的资料", "My Ratings": "我的评分", "My Security": "安全设置", "My Settings": "账号设置", "My Theme": "我的主题", "My Topics": "我的话题", "My Uploads": "我的上传", "My Viewed": "我的已阅", "My Watchlist": "我的想看", "Name": "名称", "Networking": "网络", "New Request": "发布新求种", "None": "无", "Official": "官方的", "Open": "开启", "Other": "其他", "Overview": "概览", "Peers": "用户", "People": "影人", "Permanent": "永久的", "Polls": "投票", "Poster": "海报", "Private": "私有的", "Promos": "促销", "Quantity": "数量", "Rain Drops": "雨滴", "Ratio": "分享率", "Ratings": "评分", "Read": "阅读", "Received": "收到", "Refunded": "已退款", "Release Date": "发布日期", "Remuxing": "重混", "Requested": "已求种", "Requests": "求种", "Rescue Points": "救援积分", "Rescues": "拯救", "Reseed": "补种", "Reset": "重置", "Restrictions": "限制", "Returns": "返回", "Rewards": "奖励", "Rewinds": "回顾", "Rules": "规则", "RT": "烂番茄评分", "Sandbox": "沙盒", "SD": "标清", "Search": "搜索", "Seed Help": "请求协助", "Seeders": "做种者", "Silver": "银色", "Size": "大小", "Snatched": "已下载", "Sort": "排序", "Source": "来源", "Special": "特别版块", "Spent": "花费", "Staff": "管理组", "Stats": "统计信息", "Store": "商店", "Subtitles": "字幕", "Superbads": "超级坏蛋", "Support": "技术支持", "Swaps": "交换", "Tasks": "任务", "Television": "电视剧", "Theatre": "剧院", "The Art Gallery": "艺术馆", "The Laugh Factory": "笑料工厂", "Ticket": "工单", "Tips": "小费", "Title": "标题", "Torrents": "种子", "Tracker Codes": "站点代码", "Trending": "流行趋势", "TV Shows": "剧集", "TV Packs": "剧包", "Type": "类型", "Unaccepted": "未接受的", "Upcoming Releases": "即将发布", "Upload": "上传", "Uploader": "上传者", "Unsatisfied": "不满意的", "Vault": "金库", "Voted": "已投票", "Warnings": "警告", "Watchlist": "想看", "Workhouse": "工作坊", "Year": "年份", "Site Contests": "站点竞赛", "Site Features": "站点功能", "Site Games": "站点游戏", "Site Suggestions": "站点建议", "Staff Approved Tutorials": "管理员批准的教程", "User Submitted Tutorials": "用户提交的教程", "Site & Tracker Discussions": "站点和追踪器讨论", "Site Bugs/Issues": "站点错误/问题", "News & Current Events": "新闻和时事" }, "Phrases": { "Active Topics": "活跃话题", "Active Warnings": "当前警告", "Additional Perks": "额外福利", "All Time Warnings": "所有警告", "Available Invites": "可用邀请", "Average Seedtime": "平均做种时间", "BeyondHD has a Discord server": "BeyondHD 有一个 Discord 服务器", "Bonus Points": "奖励积分", "Bypass Upload Check": "绕过上传检查", "Can Accept Gifts": "可接受礼物", "Can Comment": "可以评论", "Can Download": "可以下载", "Can Post": "可以发帖", "Can Request": "可以求种", "Closed Tickets": "已关闭工单", "Edit Movie / TV Details": "编辑影视详情", "Enable Filters": "启用过滤", "Exchange BP for Buffer": "用BP兑换缓冲", "Forum Contests": "论坛竞赛", "Forum Games": "论坛游戏", "Gift Received": "收到礼物", "Gift Sent": "送出礼物", "IMDB Top 250": "IMDB Top 250榜单", "IMPORTANT NOTICE": "重要通知", "Largest Pot Won": "赢得最大彩池", "Latest Posts": "最新帖子", "Latest Topics": "最新话题", "Min. BHD rating": "最低BHD评分", "Min. IMDB rating": "最小IMDB评分", "Min. TMDB rating": "最小TMDB评分", "Min. votes": "最小投票数", "Network Node": "网络节点", "New Request": "发布新求种", "Official Upload Rules Guide": "官方上传规则指南", "Open Tickets": "待处理工单", "Poster": "海报", "Rain Drops": "雨滴", "Read Rules": "阅读规则", "Real Seedtime": "实际做种时间", "Rescue Points": "救援积分", "Reseed": "请求补种", "RSS feed": "RSS订阅", "Search & Hide": "搜索和隐藏", "Search & Save": "搜索和保存", "Seed Help": "请求协助", "Site Contests": "站点竞赛", "Site Features": "站点功能", "Site Games": "站点游戏", "Site Suggestions": "站点建议", "Snatched": "已下载", "START NEW TICKET": "发起新工单", "Staff Approved Tutorials": "管理员批准的教程", "Subtitles (comma-separated)": "字幕 (逗号分隔)", "Support": "技术支持", "Temporary Freeleech Tokens": "临时免费令牌", "The Art Gallery": "艺术馆", "The Laugh Factory": "笑料工厂", "TMDB Top 250": "TMDB Top 250榜单", "Total Seedtime": "总做种时间", "Tracker Codes": "站点代码", "Unaccepted Invites": "未接受的邀请", "User Submitted Tutorials": "用户提交的教程", "View Torrent Changes": "查看种子更改", "View Torrent History": "查看种子历史", "Warned On": "警告于", "Site & Tracker Discussions": "站点与PT站讨论", "Site Bugs/Issues": "站点错误/问题", "News & Current Events": "新闻和时事", "Upcoming Internal Releases": "即将发布的内种" }, "Short Sentences": { "Advent Calendar": "降临节日历", "Christmas Raffle": "圣诞抽奖", "New Year Raffle": "新年抽奖", "Accept Gifts": "接受礼物", "Anything Goes": "随意", "Bounty Given": "给出悬赏", "Bounty Received": "收到悬赏", "Can Chat": "可以聊天", "Can Upload": "可以上传", "Documentarian": "纪录片制作者", "Exchange BP for Buffer": "BP兑换缓冲", "How Can I Join the BHD IRC?": "如何加入 BHD IRC?", "Toggle": "切换", "Where does the donated money go?": "捐赠的钱去哪儿了?", "You can find additional information in SalmonAct's Unofficial BHD FAQ": "你可以在 SalmonAct 的非官方 BHD FAQ 中找到更多信息" } }; // 预先创建正则表达式对象 (如果 translations 是固定的) const wordsRegex = {}; for (const key in translations.Words) { wordsRegex[key] = new RegExp("\\b" + key + "\\b", 'g'); } function translatePage() { const elements = document.querySelectorAll('body *:not(script):not(style)'); elements.forEach(element => { if (element.children.length === 0) { let textContent = element.textContent; // 缓存 textContent // 使用一个循环处理所有类型的翻译 for (const type in translations) { for (const key in translations[type]) { if (type === "Words"){ const regex = wordsRegex[key]; if (regex.test(textContent)) { textContent = textContent.replace(regex, translations.Words[key]); } } else { if (textContent.includes(key)) { textContent = textContent.replace(new RegExp(key, 'g'), translations[type][key]); } } } } element.textContent = textContent; // 更新 textContent } }); } // -------------------- 汉化部分结束 -------------------- // -------------------- 修改 FAQ 页面内容 -------------------- if (window.location.href === 'https://beyond-hd.me/faq') { const targetElementStart = document.querySelector('a[href="/faq"].beta-link-blend'); const targetElementEnd = document.querySelector('div.text-center'); if (targetElementStart && targetElementEnd) { let nextSibling = targetElementStart.nextSibling; const nodesToRemove = []; while (nextSibling && nextSibling !== targetElementEnd) { nodesToRemove.push(nextSibling); nextSibling = nextSibling.nextSibling; } nodesToRemove.forEach(node => { node.remove(); }); // 添加样式 const style = document.createElement('style'); style.textContent = ` .faq-section { border: 1px solid #ccc; margin-bottom: 20px; padding: 10px; border-radius: 5px; } .faq-section h2 { font-size: 24px; margin-top: 0; } .faq-section h3 { font-size: 18px; } .faq-section p { font-size: 14px; line-height: 1.5; } `; document.head.appendChild(style); // 插入新的HTML内容 const replacementHTML = `

站点信息

这到底是个啥 BT 玩意儿?

请查阅 种子 101:种子下载如何工作

捐赠的钱都去哪儿了?

BeyondHD 的所有工作人员都是志愿者,组织内没有有偿职位。因此,所有捐款都用于支付网站每个月的运营成本。

我该如何加入 BHD IRC?

最简单的方法是使用网站上的网页客户端,点此访问。如果您希望使用自己的客户端,则可以使用以下信息进行连接:

服务器:irc.beyond-hd.me

SSL 端口:6697

非 SSL 端口:6667

您必须使用您的网站用户名作为您的昵称,否则您将被踢出频道,并且无法使用支持频道。

当前公共频道:

有关使用 IRC 或设置您自己的客户端的说明超出了本常见问题解答的范围。IRC 教程可以在论坛中找到。

在哪里可以找到有关 BHD 上可用功能的更多信息?

您可以在 SalmonAct 的非官方 BHD 常见问题解答中找到更多信息:Salmon 的非官方 BHD 常见问题解答

`; targetElementStart.insertAdjacentHTML('afterend', replacementHTML); } } // -------------------- 修改 FAQ 页面内容结束 -------------------- // -------------------- 修改 Rules 页面内容 -------------------- if (window.location.href === 'https://beyond-hd.me/rules') { const targetElementStart = document.querySelector('a[href="/rules"].beta-link-blend'); const targetElementEnd = document.querySelector('div[class="rule-line"]'); if (targetElementStart && targetElementEnd) { let nextSibling = targetElementStart.nextSibling; const nodesToRemove = []; while (nextSibling && nextSibling !== targetElementEnd) { nodesToRemove.push(nextSibling); nextSibling = nextSibling.nextSibling; } nodesToRemove.forEach(node => { node.remove(); }); // 添加样式 const style = document.createElement('style'); style.textContent = ` .rule-section { border: 1px solid #ccc; margin-bottom: 20px; padding: 10px; border-radius: 5px; } .rule-section h2 { font-size: 24px; margin-top: 0; } .rule-section h3 { font-size: 18px; } .rule-section p { font-size: 14px; line-height: 1.5; } `; document.head.appendChild(style); // 插入新的HTML内容 const replacementHTML = `

上传

关于上传的规则位于另一个页面。如果您希望上传,请务必阅读我们的上传规则,请访问官方上传规则指南

基本规则

违反任何这些规则将导致您的帐户被封禁。

所有新成员必须在加入后的 30 天内产生一些活跃度。这意味着成员必须上传、下载或辅种。未能满足这些标准的成员可能会被自动禁用。

所有种子必须做种 120 小时(5 天)或达到 1:1 的分享率。只有在您完成 100% 的种子下载后才开始计算做种时间。如果您在完成下载后连续 48 小时未做种,您将收到预警。收到预警后,如果您在 3 天内仍未做种,您将累积一个 跑路 (H&R) 记录。如果您的帐户累积 3 个 H&R,您将失去下载权限。只有在您将 H&R 的种子补种完毕后,您的帐户才会恢复这些权限。您可以重新下载 .torrent 文件和数据(如果缓冲足够)。

成员必须保持大于 0.25 的分享率。分享率低于 0.25 的成员将自动失去下载能力。只有当成员通过上传、辅种或补种过去的下载将分享率提高到最低限额时,下载权限才会恢复。

不活跃的帐户将在 90 天后被禁用。(更多详细信息请参阅不活动规则)

不允许拥有多个或“重复”帐户。每个家庭只允许 1 个帐户,例如,每个 IP 地址 1 个帐户。(如有例外,请提交帮助中心工单)

管理组可以对他们认为适合且公正的成员采取任何行动,以处理网站上的活动或行为。

重要提示:

120 小时(5 天)或 1:1 的做种要求只是避免 H&R 的绝对最低限度。 希望成员保持健康的总体平均做种时间。

主要规则

违反任何这些规则将导致您的帐户被封禁。

您必须使用家庭 IP 地址注册。如果您使用 VPN/代理注册,您的帐户将被自动禁用。此外,管理组可能随时要求您使用家庭 IP 登录以确认您的帐户详细信息。

在任何情况下都不得交易或出售邀请。您将被永久封禁,并且您邀请树中的所有成员都将被禁用。

不要交易、出售、公开赠送或公开提供邀请。这包括在其他站点/论坛上发布“非官方邀请”帖子。您将被永久封禁,并且您邀请树中的所有成员都将被禁用。

Seedbox/VPN/代理/IP 地址

违反任何这些规则将导致您的帐户收到警告、失去下载权限或被封禁。

Seedbox 在本站上被视为任何其他客户端(没有处罚或注册要求),但是,如果您计划与其他成员共享 Seedbox,最好通知管理组,但这目前不是强制性的。

如果您计划通过 VPN 浏览网站或下载,建议您提交一份帮助中心工单,说明您的提供商名称。如果需要,您可能需要提供其他信息。

不鼓励通过代理浏览网站或下载。如果系统检测到您通过代理浏览或下载,您的帐户将来可能会被自动禁用。

不活跃规则

违反任何这些规则将导致您的帐户因不活跃而被禁用。

所有成员都必须在社区内保持活跃。成员必须至少每 90 天登录一次网站,否则他们的帐户将因不活跃而被禁用。(唯一的例外是您是活跃的捐赠者或您正在积极做种)。

下载

违反任何这些规则将导致您的帐户收到警告、跑路记录或被封禁。

所有种子必须做种 120 小时(5 天)或达到 1:1 的分享率。只有在您完成 100% 的种子下载后才开始计算做种时间。如果您在完成下载后连续 48 小时未做种,您将收到预警。收到预警后,如果您在 3 天内仍未做种,您将累积一个 跑路 (H&R) 记录。如果您的帐户累积 3 个 H&R,您将失去下载权限。只有在您将 H&R 的种子补种完毕后,您的帐户才会恢复这些权限。您可以重新下载 .torrent 文件和数据(如果缓冲足够)。

如果您下载的种子不足 30%,然后停止种子,则不会累积 H&R。

如果您下载的种子达到或超过 30%,您必须完成 100% 的下载并正常做种以避免 H&R。

分享率低于 0.25 的用户将自动被移除下载权限,直到他们的分享率高于 0.25。

用户必须拥有下载的任何文件的合法权利。

重要提示:

管理组成员可以对累积大量 H&R 的成员采取手动操作(包括封禁),无论其 H&R 是否处于活动状态。

将种子上传到其他站点

违反任何这些规则将导致您的帐户被封禁。

请理解,BeyondHD 的安全依赖于成员遵守以下规则。内种发布者投入时间和精力来帮助大家分享资源,但是当他们的发布出现在公共站点上时,往往会引起不必要的关注。请遵守这套规则,尊重他们的安全和其他成员的安全。

站点上不允许存在下载/上传机器人帐户。

禁止将我们的内种大量上传到任何站点(手动或自动)。

将我们的内种上传到 IPT 将导致立即封禁。

将我们的内种上传到公共站点将导致立即封禁。

禁止将我们的内种上传到任何文件共享或 DDL 站点。(例如,托管在 Rapidshare 或类似站点上)

禁止将我们的内种上传到 Usenet 或 NZB 索引器。

在任何情况下都不应重新标记/重命名内种。向内种添加字幕并不会使其成为您自己的作品;如果您添加字幕并在其他地方上传,则发布名称应类似于 "The.Hitmans.Bodyguard.2017.BluRay.1080p.TrueHD.Atmos.7.1.AVC.REMUX.RoSubbed-FraMeSToR"。

最后,如果特定种子被标记为独家(无论是否具有到期日期),请不要在其保持独家期间上传或辅种到任何其他站点。独家期结束后,您可以自由地在其他地方上传/辅种(只要是 приват 站点)。此规则旨在让上传者有机会在其他地方上传自己的作品,而不必担心与他人竞争首发,因此请尊重他们。发现违反此规则的成员将被立即封禁。

转载者:如果您想将大量来自 BeyondHD 的内容上传到其他站点,或希望获得任何这些规则的豁免,请提交帮助中心工单,寻求高级管理组的批准。

上传者:如果您希望能够将您的种子标记为独家,请提交帮助中心工单,申请解锁该功能的徽章。

最后说明:由于过去发生的事件,除了上述规则外,管理组保留对任何被认为在批量下载或转载内种时行为不端的成员采取行动的权利。此规则并非阻止成员下载或共享内容,仅用于涵盖极端情况(由管理组确定何为极端情况)。

站点与通用规则

违反任何这些规则将导致您的帐户收到警告、暂停或被封禁。

不要违抗管理组明确表达的意愿。

不要在闲聊框或论坛上链接或宣传其他站点(公共或 приват),官方邀请论坛除外。

不允许出现攻击性和破坏性行为。

请在本站使用英语。

请尽量减少污言秽语和可能令人反感的材料:色情内容、宗教材料、虐待动物/人类以及任何其他品味不佳的话题。

禁止请求或发布 варез, 序列号, CD 密钥, 密码或破解程序。

不要在其他地方上传我们的 .torrent 文件,它们包含链接到您帐户的密钥。这样做会导致您的帐户被禁用。

拥有捐赠者身份的成员仍然会累积 H&R 警告,但在身份保持激活状态时,他们可以免于失去下载权限。(如果 H&R 未被补种,则在捐赠者身份结束后,权限可能会自动丢失)

论坛

违反任何这些规则将导致您的帐户收到警告。

确保所有主题都发布在正确的版块!(游戏问题发布在游戏版块,应用程序问题发布在应用程序版块等)

禁止重复发帖。

每 24 小时只允许提升帖子一次。

请仅发布经过网页优化的图片 - 单击后可展开为完整分辨率的缩略图;或者只使用非巨型图片。

在提出任何问题之前,请务必阅读 FAQ 和置顶论坛帖子。

闲聊框/IRC

违反任何这些规则将导致您的帐户收到警告或失去聊天/IRC 权限。

不要在聊天框中报告与站点相关的功能中的错误或故障。请使用帮助中心。

不要剧透最近的电影、电视剧或体育赛事。

请在闲聊框和 IRC 中使用英语。

在您发出正式的新种子/补种请求之前,不要讨论新的种子或补种请求。

尊重社区其他成员的观点。

如果链接到“不适合工作场所”的内容,请通过说“NSFW”告知他人。

不要索要或提供其他站点的邀请,也不要进行关于其他站点的冗长对话。

请尽可能使用其他站点的缩写名称。例如:BeyondHD = BHD,TrackerNameHere = TNH 等。

`; targetElementStart.insertAdjacentHTML('afterend', replacementHTML); } } // -------------------- 修改 Rules 页面内容结束 -------------------- // 页面加载完成后执行汉化和 Rules 页面修改 window.addEventListener('load', () => { translatePage(); }); })();