Files
wing 47114f4afb docs: 更新本地代理文档,说明仅支持本地使用
- 添加重要提示:说明 HTTP 代理无法从 HTTPS 网站访问
- 更新快速开始指南:包含启动本地前端的步骤
- 添加使用场景对比表
- 解释为什么不支持 HTTPS 网站(Mixed Content、杀毒软件拦截等)
2025-11-25 22:05:51 +08:00
..

Paper Burner 本地代理服务器

轻量级本地代理服务器,功能完全等同于 Cloudflare Worker,让你无需部署到云端即可使用。

重要提示:此本地代理仅支持 HTTP 协议,必须配合本地运行的 Paper Burner 前端使用。 如果你从 HTTPS 网站(如 https://paperburner.viwoplus.site)访问,由于浏览器安全限制(Mixed Content),无法连接到本地 HTTP 服务。 请使用我们提供的 Cloudflare Worker 或自行部署 HTTPS 代理。

功能

  • OCR 代理: MinerU / Doc2X
  • 学术搜索代理: Semantic Scholar / PubMed / CrossRef / OpenAlex / arXiv
  • 文件下载代理: PDF / ZIP(解决跨域问题)

快速开始

1. 启动本地代理

cd local-proxy
npm install
npm start

2. 启动本地前端

在项目根目录启动一个本地服务器:

# 方式一:使用 npx serve
npx serve -p 8080

# 方式二:使用 Python
python -m http.server 8080

# 方式三:使用 VS Code Live Server 插件

3. 配置使用

  1. 访问 http://localhost:8080
  2. 进入设置页面
  3. 将代理地址设置为:http://localhost:3456
  4. 保存设置

配置

  1. 复制配置文件:

    cp .env.example .env
    
  2. 编辑 .env 文件,填入你的 API Token(可选):

    MINERU_API_TOKEN=your_mineru_token
    DOC2X_API_TOKEN=your_doc2x_token
    
  3. 启动服务器:

    npm start
    

API 路由

OCR 服务

路由 方法 说明
/mineru/upload POST MinerU 文件上传
/mineru/result/:batchId GET 获取 MinerU 处理结果
/doc2x/upload POST Doc2X 文件上传
/doc2x/status/:uid GET 查询 Doc2X 状态
/doc2x/convert POST Doc2X 格式转换
/doc2x/convert/result/:uid GET 获取转换结果
/mineru/zip?url= GET MinerU ZIP 代理下载
/doc2x/zip?url= GET Doc2X ZIP 代理下载

学术搜索

路由 方法 说明
/api/semanticscholar/* GET Semantic Scholar 代理
/api/pubmed/* GET PubMed 代理
/api/crossref/* GET CrossRef 代理
/api/openalex/* GET OpenAlex 代理
/api/arxiv/* GET arXiv 代理
/api/pdf/download?url= GET PDF 下载代理

其他

路由 方法 说明
/health GET 健康检查

请求头

可以通过请求头传递 API Token(优先级高于环境变量):

  • X-MinerU-Key: MinerU API Token
  • X-Doc2X-Key: Doc2X API Token
  • X-Api-Key: Semantic Scholar / PubMed API Key

系统要求

  • Node.js >= 18.0.0

使用场景对比

场景 推荐方案
本地开发/测试 本地代理 + 本地前端
日常使用(线上) Cloudflare Worker
私有部署 自建 HTTPS 代理服务器

为什么不支持 HTTPS 网站?

浏览器的 Mixed Content 安全策略禁止 HTTPS 页面请求 HTTP 资源。虽然可以通过自签名证书启用 HTTPS,但:

  1. 自签名证书需要手动信任,用户体验差
  2. 杀毒软件(如卡巴斯基)可能拦截自签名 HTTPS 流量
  3. 每次证书过期都需要重新配置

因此,本地代理仅推荐用于本地开发和测试场景。

License

GPL-2.0