GenGen RMJ
liyifan202201 · · 科技·工程
我爱洛谷
省流:洛谷官方 RMJ 到来前的临时替代,仅供学习使用,禁止商业。
:::align{center}
\quad\huge\text{GenGen RMJ 3.1}
:::
:::info[必读]{open} 本脚本仅作为洛谷官方付费 RMJ 功能空窗期的临时替代方案,将持续维护至 2026 年暑期洛谷官方 RMJ 稳定上线为止。
(以前的)洛谷 RMJ 采用中心化服务端代理,保障安全性、隐私性与合规性;
VJudge 也采用中心化的服务端代理,但是比洛谷激进一些,但也依旧无法绕过 CF 盾的限制,并且无法提交 AtCoder 和 CodeForces 的未评级用户。
而本脚本依赖用户本地环境,权限更高、风险更大、稳定性更低,但能完整且合法的通过 CF 盾等人机验证操作。
二者不可简单比较,更不应因本脚本的存在而质疑洛谷的技术能力,
请不要向管理员或者工单中发送此脚本的相关建议或者错误,以免浪费管理员的时间,
我们坚决反对任何贬低洛谷开发团队的言论。
:::
GenGen RMJ 是一款基于用户脚本(UserScript)的浏览器插件,专为统一 OIer 在 Codeforces 与 AtCoder 平台上的做题效率而设计。
本插件由 GenGen 队 开发,真实的发送提交请求或者人模拟提交,并且获取评测结果。
:::warning[重要声明]{open}
- 本工具仅为辅助手段,仍需你拥有并登录自己的 CF / AT 账号。
- 本插件与洛谷官方无任何关联。
- 通过 GenGen RMJ 提交的题目不会计入洛谷的做题记录,也不会在洛谷服务器上认证通过状态。
- 本脚本仅作为洛谷官方付费 RMJ 功能空窗期的临时替代方案,将持续维护至 2026 年暑期洛谷官方 RMJ 稳定上线为止。
:::
对于 RemoteJudge 的定义
对于此关键问题,我们选自了官方的解释: RemoteJudge 功能帮助用户打破不同 Online Judge 之间的壁垒,可以在洛谷里提交全网的题目,并且可以使用洛谷其他的配套功能,例如讨论、查看和提交题解、收藏题目、管理代码、团队作业等等。使用这项功能非常便利,也会有更好的体验,可以极大的提升学习效率。
背景说明
自 2024 年起,随着 Codeforces 全面启用 Cloudflare Turnstile 人机验证机制(“CF 盾”),洛谷原有的 RemoteJudge(后文简写为 RMJ) 服务因架构限制无法穿透该验证层,导致对 CF 平台的提交彻底失效。AtCoder 等平台亦逐步加强前端反自动化策略,使得传统集中式代理方案难以维持。
在此背景下,社区出现大量跳转类脚本(如 VJudge 跳转),但其仅实现页面跳转,无法完成自动提交与结果拉取,用户体验割裂。GenGen RMJ 应运而生,采用纯前端自动化方案,在用户本地浏览器中完成代码填充、Cloudflare 交互、提交触发与结果轮询,真正复现了原 RMJ 的核心流程。
需要特别强调的是:洛谷的官方付费 RMJ 也即将发布,本插件只是临时过渡。洛谷采用中心化服务端代理,保障安全性、隐私性与合规性;而本脚本依赖用户本地环境,权限更高、风险更大、稳定性更低。二者不可简单比较,更不应因本脚本的存在而质疑洛谷的技术能力。我们坚决反对任何贬低洛谷开发团队的言论。
安装指南
第一步:安装用户脚本管理器
请选择以下任一浏览器扩展:
- [x] 暴力猴
- [x] 脚本猫
- [ ] 篡改猴
:::warning[切记]{open} 我们对篡改猴仅保留兼容态度,如果有 Bug,请更换脚本管理器,不接受任何篡改猴的 Bug 反馈。 :::
:::error[关于 Chrome 用户]
由于 Chrome 商店限制,普通用户难以直接安装扩展。如你坚持使用 Chrome,请按以下步骤操作:
- 从镜像站下载暴力猴:Chrome 镜像站链接
- 下载
.zip文件并解压,得到.crx文件 - 进入 Chrome
chrome://extensions/ - 开启右上角 “开发者模式”
- 将
.crx文件拖入扩展页面完成安装
我们仍强烈建议你换用 Microsoft Edge,以获得更稳定、便捷的使用体验。 :::
第二步:安装 GenGen RMJ
- 打开网页:GenGen RMJ
- 点击 “安装”按钮
- 安装成功后,进入洛谷主页,可以看到一个面板的按钮。
使用说明
1. 绑定账号与查看状态
安装成功后,进入洛谷主页,点击右上角 GenGen 图标,可查看当前绑定的 Codeforces 与 AtCoder 账号状态。若未绑定,点击“绑定”按钮跳转至对应平台登录页。
先按照步骤绑定账号。
2. 提交代码至远程 OJ
在洛谷题目页面(CF 或 AT 前缀)点击 “提交”按钮,脚本将根据用户类型自动选择提交路径:
- Codeforces 评分用户:直接通过
fetch提交,绕过 Cloudflare; - Codeforces 未评分用户:跳转至带
RMJ=1参数的提交页,自动填充代码并等待用户完成 Cloudflare 验证后提交; - AtCoder 用户:跳转至带
RMJ=1参数的提交页,自动填充代码、设置语言为 C++23 并提交。
提交时通过 Cloudflare 盾的演示(AtCoder)
提交时通过 Cloudflare 盾的演示(CodeForces 未评分用户)
提交时的演示(CodeForces 评分用户)
:::info[当前限制]{open}
无论你在洛谷编辑器中选择何种语言,实际提交语言固定为 C++23(CF: G++23, ID=91;AT: C++23, ID=6017)。此为工程简化决策,未来可能支持映射。
:::
3. 查看提交记录
本脚本支持自动轮询刷新评测结果,并聚合展示历史记录:
- Codeforces 记录:通过自建代理调用 CF 官方 API 获取提交列表,解析 verdict 与
passedTestCount,在右上角显示通过测试点数(如“3”表示通过第 4 个点前的所有点); - AtCoder 记录:结合 KenKoooo API 获取全量历史提交,并对新提交通过本地 DOM 爬取(访问
/submissions/me)实现实时轮询; - 题单/题库标记:在
/problem/list与训练题单页面,自动识别 CF/AT 题目,根据本地缓存的提交结果,在题号前添加 ✅ 或 ❌ 图标。
AtCoder 记录(基于 kenkoooo 和脚本的本地爬取):
CodeForces 记录(基于 CF 官方 API)
视频展示
问题反馈与更新
- 工单进度:查看进度板
- 未来规划:
- 支持 Bot 提交(公益账号General00826~General0000000826,禁止滥用,
GenGen 队要出动了!) - 重新重构提交记录界面,增加测试点详情
- 探索语言映射支持
- 支持 Bot 提交(公益账号General00826~General0000000826,禁止滥用,
- 终止条件:本脚本将持续更新维护,直至 2026 年暑期洛谷官方付费 RMJ 服务稳定上线后正式停止维护。
欢迎在 讨论区 或私信提交建议与反馈!
:::::success[关于我们]{open}
We are GenGen
了解 GenGen 队
我们是一支致力于为 OIer 提供优质工具体验的学生开发团队。
- 吉祥物:General0826
- 开发组:liyifan202201、GCSG01
- 后勤组:yangyafan
所有项目均利用课余时间开发,你的认可与传播是我们最大的动力!
欢迎转发、推荐、安利我们的项目
:::info[你们的支持是我们前进的燃料]{open}
:::
:::::