logo
8
6
Login
更新 README.md 文档,精简项目特色与性能指标章节

去水印服务 - 双版本架构

一个高度模块化的去水印服务,支持 Cloudflare WorkerNode.js + Docker 两种部署方式,通过共用代码库实现 85% 代码复用率,确保功能完全一致。

📁 项目结构

watermark-remover/ ├── shared/ # 共用代码库 (85% 复用) │ ├── core/ # 核心去水印逻辑 │ ├── utils/ # 工具函数 (随机化、加密、图像) │ └── constants/ # 常量定义 ├── worker/ # Cloudflare Worker 版本 │ ├── src/index.js # Worker 适配层 │ └── wrangler.toml # Worker 配置 ├── nodejs/ # Node.js + Docker 版本 │ ├── src/ # Express 服务器 │ ├── public/test.html # 内置测试页面 │ ├── Dockerfile # Docker 配置 │ └── docker-compose.yml ├── tests/ # 统一测试套件 │ ├── test-suite.js # 跨平台测试 │ ├── test-page.html # 可视化测试 │ └── run-tests.js # 测试运行器 └── scripts/ └── deploy.sh # 统一部署脚本

🚀 快速开始

1. 克隆项目

git clone <repository-url> cd watermark-remover

2. 选择部署方式

🌐 Cloudflare Worker 版本

# 部署到开发环境 ./scripts/deploy.sh worker --env dev # 部署到生产环境 ./scripts/deploy.sh worker --env prod

🐳 Node.js Docker 版本

# 构建并运行 Docker 容器 ./scripts/deploy.sh docker --port 3000 # 访问服务 curl http://localhost:3000/health # 访问内置测试页面 open http://localhost:3000/test

🔄 部署所有版本

./scripts/deploy.sh all --env prod

📡 API 接口

两个版本提供完全相同的 API 接口:

健康检查

GET /health

URL 去水印

POST /v1/remove-watermark Content-Type: application/json { "image_url": "https://example.com/image.jpg" }

文件上传去水印

POST /v1/remove-watermark/upload Content-Type: multipart/form-data image: <file>

响应格式

{ "success": true, "original_url": "https://example.com/image.jpg", "watermark_removed_url": "https://result.com/processed.jpg" }

🧪 测试

统一测试套件

# 测试 Node.js 版本 cd tests && node run-tests.js --env nodejs # 测试 Worker 版本 node run-tests.js --env worker # 测试所有版本 node run-tests.js --all

可视化测试

  • Node.js 版本: http://localhost:3000/test
  • 统一测试页面: tests/test-page.html
  • Worker 测试页面: worker/test-upload.html

🔧 开发指南

本地开发

Node.js 版本

cd nodejs npm install npm start # 访问 http://localhost:3000

Worker 版本

cd worker npm install npm run dev # 访问 http://localhost:8787

📊 版本对比

特性Cloudflare WorkerNode.js + Docker
部署复杂度简单中等
扩展性自动全球扩展手动扩展
成本模式按请求计费固定成本
冷启动~100ms无冷启动
运行环境V8 沙箱完整 Node.js
适用场景低频使用,全球分发高频使用,私有部署

🔒 安全特性

  • 反检测机制 - 14种随机 User-Agent,随机延迟
  • 输入验证 - 文件类型、大小、格式检查
  • 错误处理 - 统一错误响应格式
  • CORS 支持 - 跨域请求处理
  • 健康检查 - 服务状态监控

🛠️ 部署选项

生产环境推荐

低频使用 → Cloudflare Worker

  • 全球 CDN 边缘节点
  • 按请求计费,成本低
  • 零运维,自动扩展

高频使用 → Node.js Docker

  • 固定成本,可预测
  • 完全控制运行环境
  • 支持私有云部署

📚 文档

📄 许可证

MIT License - 详见 LICENSE 文件