安全获取
该项目使用FastMCP实现了一个安全的URL获取工具。
先决条件
- Python 3.7+
- uv(Python包安装程序和环境管理器)
安装
- 如果您还没有安装uv:
pip install uv- 创建新的虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate
uv pip install fastmcp requests用法
- 设置allowlist环境变量(可选):
export SECURE_FETCH_ALLOWLIST="example.com,trusted-domain.org"- 运行脚本:
uv run main.py特性
- 安全地获取URL
- 将域解析为IP
- 检查私有/内部IP
- 处理重定向(最多3个)
- 支持自定义HTTP方法和标头
- 对受信任的域/IP使用分配列表
安全考虑
- 除非明确允许,否则该工具会阻止访问私有/内部IP
- 只允许使用HTTP和HTTPS方案
- SNI设置为与HTTPS连接的主机名匹配
示例用法
脚本运行后,您可以使用 fetch_url 函数用于安全地获取URL。该函数将返回一个字典,其中包含状态代码、响应正文和内容长度。
备注
此工具专为安全的URL获取而设计。在您的环境中使用代码之前,请务必检查并理解代码。
