New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

cors-sp

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cors-sp

> 一个现代化、基于 ESM 的 CORS 代理服务,重构自 [cors-anywhere](https://github.com/Rob--W/cors-anywhere)。

latest
npmnpm
Version
0.1.5
Version published
Weekly downloads
2
100%
Maintainers
1
Weekly downloads
 
Created
Source

cors-sp

一个现代化、基于 ESM 的 CORS 代理服务,重构自 cors-anywhere

✨ 功能特性

  • 现代架构:完全基于 ES Modules (ESM) 和最新的 Node.js 实践,无 CommonJS 依赖。
  • 核心代理功能:保持 cors-anywhere 的核心代理能力,解决跨域资源访问问题。
  • 清晰的模块化:项目结构经过精心设计,分为服务、代理处理、URL 解析、CORS 逻辑等模块,易于维护和扩展。
  • 开发友好:集成 nodemon 实现热重载,vitest 提供快速的单元测试体验。
  • 代码规范:使用 eslintprettier 保证代码风格一致性和高质量。

🚀 快速开始

  • 安装依赖

    pnpm install
    
  • 启动开发服务器

    pnpm dev
    

服务将默认启动在 http://localhost:4399

� Docker 支持

本项目提供了 Dockerfile,支持通过 Docker 进行构建和部署。

生产环境

构建并运行生产环境镜像:

# 构建镜像
docker build -t cors-sp:latest --target prod .

# 运行容器
docker run -d --name cors-sp -p 4399:4399 cors-sp:latest

开发与测试

你也可以使用 Docker 来运行测试:

# 构建开发环境镜像并运行测试
docker build -t cors-sp-dev --target dev .

�📁 目录结构

cors-sp/
├── src/
│   ├── server.js        # 服务器入口
│   ├── proxyHandler.js  # 核心代理逻辑
│   ├── urlParser.js     # URL 解析
│   ├── cors.js          # CORS 请求处理
│   └── utils.js         # 工具函数
├── test/
│   └── api.test.js      # API 测试
├── package.json
└── README.md

🛠️ 配置选项

  • originBlacklist / originWhitelist:来源黑/白名单,用于控制允许访问的来源。
  • requireHeader:要求请求中必须包含的头部字段。
  • removeHeaders / setHeaders:在转发请求前移除或设置特定的请求头。
  • checkRateLimit:自定义函数,用于实现速率限制。
  • redirectSameOrigin:当请求目标与代理同源时,执行重定向。

📜 产品迭代日志

v0.1.5 (2025-10-06)

  • 新增:根路径 http://localhost:4399/ 返回说明页。
  • 文档:更新 README.mddocs/quick-start.mddocs/server-usage.mddocs/api-reference.md
  • 兼容性:不影响代理路由与错误处理。

v0.1.0 (2025-09-04)

  • 项目初始化与重构
    • 使用 ESM 模块系统搭建项目基础架构。
    • 从原版 cors-anywhere 迁移核心逻辑,并进行现代化改造。
  • 核心功能实现
    • server.js: 创建并启动 HTTP 服务器。
    • proxyHandler.js: 实现核心反向代理功能,使用 http-proxy 转发请求。
    • cors.js: 增加 CORS 头部处理逻辑,以允许跨域请求。
    • urlParser.js: 添加 URL 解析和验证逻辑。
  • 开发与测试环境
    • 配置 nodemon 用于开发环境下的文件监听和服务器自动重启。
    • 集成 vitest 测试框架,并编写了基础的 API 测试用例 (api.test.js)。
  • 依赖现代化
    • 使用 tldjs 替代过时的 regexp-tld 用于顶级域名解析。
    • 引入 eslintprettier 来规范代码风格。

✅ 测试

运行以下命令来执行单元测试:

pnpm test

📄 许可证

MIT

提示:直接访问根路径 http://localhost:4399/ 将返回一页简要说明(文档页),用于快速检查服务运行状态与了解基本用法。

快速验证:

GET http://localhost:4399/                # 返回说明页
GET http://localhost:4399/https://api.github.com/users/octocat

变更摘要

  • 新增:访问根路径 http://localhost:4399/ 返回简要说明页,便于快速验证与了解用法。
  • 文档更新:同步 README.mddocs/quick-start.mddocs/server-usage.mddocs/api-reference.md

FAQs

Package last updated on 06 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts