返回首页
一周热榜
嗨,HN!<p>我开发了ChronoGuard,这是一个开源的零信任代理,提供网络强制授权用于浏览器自动化。<p>## 问题<p>如果您在大规模运行Playwright、Puppeteer或Selenium代理(CI/CD、K8s、虚拟机集群),您将面临两个挑战:<p><pre><code> 1. **访问控制**:如何确保代理仅访问经过批准的域名?
2. **审计性**:如何证明您的自动化在何时何地访问了外部资源?
</code></pre>
传统方法(SDK限制、代码审查、监控)容易被绕过或缺乏时间证明。审计员和合规团队希望获得加密可验证、不可篡改的日志。<p>## 解决方案<p>ChronoGuard是一个强制性的前向代理,位于您的代理与互联网之间。每个请求都经过以下流程:<p><pre><code> 代理 → Envoy (mTLS) → OPA (策略检查) → 目标域名
↓
不可变审计日志(哈希链,时间序列)
</code></pre>
*关键特性:*
- mTLS身份验证用于代理身份验证
- 带有时间窗口限制的域名白名单/黑名单
- 用于审计日志完整性的加密哈希链
- OPA集成以实现代码即策略
- 多租户隔离
- 96%以上的测试覆盖率<p>## 立即尝试<p>无需设置 - 只需点击:
[](<a href="https://codespaces.new/j-raghavan/ChronoGuard?quickstart=1" rel="nofollow">https://codespaces.new/j-raghavan/ChronoGuard?quickstart=1</a>)<p>或者本地运行:
```bash
git clone <a href="https://github.com/j-raghavan/chronoguard" rel="nofollow">https://github.com/j-raghavan/chronoguard</a>
cd chronoguard
./scripts/generate_secrets.sh
docker compose up -d
```<p><pre><code> 仪表板: http://localhost:3000
API文档: http://localhost:8000/docs
</code></pre>
架构<p>采用领域驱动设计 + 清晰架构构建:
- 6个服务:Envoy代理、OPA策略引擎、FastAPI后端、React仪表板、PostgreSQL+TimescaleDB、Redis
- 技术栈:Python 3.11+、FastAPI、Envoy、Open Policy Agent、TimescaleDB
- 部署:Docker Compose(MVP),Kubernetes就绪(路线图)<p>用例<p><pre><code> - 电子商务竞争情报
- 金融科技市场研究
- 医疗数据操作(符合HIPAA要求)
- 具有审计要求的质量保证/测试提供商
- 任何有合规义务的组织运行浏览器代理
</code></pre>
接下来<p><pre><code> 这是v0.1.0的MVP。我希望获得关于以下方面的反馈:
- 我未考虑的实际用例
- 与现有自动化堆栈的集成痛点
- 功能优先级(WebSocket流、gRPC、高级速率限制)
</code></pre>
贡献<p><pre><code> 该项目遵循严格的质量标准(95%以上的测试覆盖率要求,DRY原则,mypy + ruff)。寻找对以下方面感兴趣的贡献者:
- 安全测试和威胁建模
- Kubernetes/Helm部署
- 性能优化
- 客户端SDK(Python、JS、Go)
GitHub: https://github.com/j-raghavan/ChronoGuard
许可证:Apache 2.0
</code></pre>
欢迎就架构、设计决策或路线图提出问题!<p>最诚挚的问候!