Skip to content

Instantly share code, notes, and snippets.

@jokester
Created April 4, 2026 11:33
Show Gist options
  • Select an option

  • Save jokester/9ea0dc9acbc4ac98a1df1c1edde3c749 to your computer and use it in GitHub Desktop.

Select an option

Save jokester/9ea0dc9acbc4ac98a1df1c1edde3c749 to your computer and use it in GitHub Desktop.
用 Claude Code + OpenCLI 自动提交 GitHub DMCA 版权举报

用 Claude Code + OpenCLI 自动提交 GitHub DMCA 版权举报

记录一次用 AI Agent 自动完成 GitHub DMCA 侵权举报的完整过程。

背景

我的开源项目 jackwener/opencli 遭到 nashsu/opencli-rs 完整抄袭:

  • 项目描述、README、命令文档、代码结构全部照搬
  • 未保留版权声明
  • 未附带 Apache License 2.0 文本
  • 未标注修改内容

操作过程

第一步:让 Claude Code 打开目标仓库确认情况

用户: 帮我去github举报项目 https://github.com/nashsu/opencli-rs 抄袭 https://github.com/jackwener/opencli
      帮我用OpenCLI去操作举报。

Claude Code 调用 opencli operate 打开侵权仓库确认,然后直接导航至 GitHub DMCA 举报页面:

opencli operate open https://github.com/nashsu/opencli-rs && opencli operate state
opencli operate open https://github.com/contact/dmca && opencli operate state

第二步:点击 "Submit a takedown notice"

opencli operate click 84
# 跳转到 https://support.github.com/contact/dmca-takedown

第三步:Claude Code 自动识别表单结构

opencli operate eval "(function(){ var selects = document.querySelectorAll('select'); return JSON.stringify([...selects].map(s => s.id)); })()"

发现所有字段:contact_copyright, contact_platform, contact_repository_takedown, contact_license, contact_solution 等 17 个字段。

第四步:一次性填写所有下拉框

opencli operate eval "(function(){
  function setSelect(id, val) {
    var el = document.getElementById(id);
    el.value = val;
    el.dispatchEvent(new Event('change', {bubbles:true}));
  }
  setSelect('contact_copyright', 'yes-copyright-holder');
  setSelect('contact_revised_notice', 'no');
  setSelect('contact_platform', 'github');
  setSelect('contact_repository_takedown', 'entire');
  setSelect('contact_circumvention', 'no');
  setSelect('contact_license', 'yes');
  setSelect('contact_license_type', 'apache-license-2.0');
  setSelect('contact_solution', 'remove');
  setSelect('contact_contact', 'telephone');
  setSelect('contact_country_code', '+86');
})()"

第五步:填写举报内容(Claude 自动生成)

Claude 自动撰写了专业的 DMCA 举报内容,包括:

  • 版权声明:原创者身份说明
  • 侵权描述:详细描述抄袭行为(整个仓库均为侵权内容)
  • 许可证违规:具体说明 Apache 2.0 被违反的三条要求
    1. 未附带 Apache License 2.0 文本副本
    2. 未保留版权声明
    3. 未标注对原始作品的修改
  • 合规要求:要求删除或补充完整归因
setTextarea('contact_description',
  'opencli is a universal CLI tool that transforms any website, Electron app, or local binary ' +
  'into a standardized command-line interface. The repository nashsu/opencli-rs has copied the ' +
  'entire content from jackwener/opencli without attribution or license compliance...'
);

第六步:勾选所有法律声明复选框

checkBox('contact_good_faith');    // 善意声明
checkBox('contact_attestation');   // 宣誓声明
checkBox('contact_fair_use');      // 合理使用考量
checkBox('contact_confirm_notice');// 确认已阅读 DMCA 指南

第七步:填写法定姓名和联系方式并提交

setInput('contact_legal_name', '[REDACTED]');
setInput('contact_phone_number', '[REDACTED]');

document.getElementById('contact_submit').click();

结果

URL: https://support.github.com/created
"Your message has been successfully submitted."

DMCA 举报已成功提交!


整个流程耗时

从开始到提交完成,大约 5 分钟

手动填写 GitHub DMCA 表单通常需要 20-30 分钟,且容易遗漏字段。Claude Code 自动理解意图、分析表单结构、生成专业举报内容,全程几乎无需手动干预。

技术栈

  • Claude Code — AI Agent,理解意图、规划步骤、生成举报内容
  • OpenCLI (opencli operate) — 浏览器自动化,操作 Chrome 填写表单
  • GitHub DMCA — 正式法律渠道

关键命令

# 安装 OpenCLI
npm install -g @jackwener/opencli

# 浏览器自动化操作
opencli operate open <url>    # 打开页面
opencli operate state         # 获取页面结构和元素索引 [N]
opencli operate click <N>     # 点击元素
opencli operate eval "..."    # 执行 JS 批量填写表单

项目链接

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment