logo
2
1
Login
docs: 添加LICENSE文件并更新README中的引用

EdgeOne 回源 IP 导出脚本

项目简介

这是一个用于从腾讯云 EdgeOne 服务导出回源 IP 列表的 Bash 脚本。脚本支持直连腾讯云 API(teo.tencentcloudapi.com),无需依赖远程代理,并提供了灵活的配置选项。

功能说明

  • 导出回源 IP 列表:支持将回源 IP 列表输出到标准输出或指定文件/目录。
  • 签名方式:使用 TC3-HMAC-SHA256 签名算法,确保请求安全性。
  • 可选功能:支持调用 ConfirmOriginACLUpdate 接口确认最新回源 IP 列表。
  • 灵活配置:可通过命令行参数或环境变量配置 API 密钥、Zone ID 等关键信息。

依赖安装

运行此脚本需要以下依赖工具:

  • bash
  • curl
  • jq
  • openssl
  • xxd

在 Ubuntu/Debian 系统中,可以通过以下命令安装依赖:

sudo apt-get update && sudo apt-get install -y curl jq openssl xxd

在 macOS 系统中,可以通过以下命令安装依赖:

brew install curl jq openssl xxd

使用方法

基本命令

./edgeone.sh --ak <SecretId> --sk <SecretKey> --zone <ZoneId>

常用选项

  • --stdout:仅输出到标准输出(不写文件)。
  • -o, --out, --output PATH:指定输出位置;若为目录或以 / 结尾,则写入 PATH/edgeone_all.txt
  • --ak SECRET_ID:腾讯云 SecretId(也可用环境变量 SECRET_ID)。
  • --sk SECRET_KEY:腾讯云 SecretKey(也可用环境变量 SECRET_KEY)。
  • --zone ZONE_ID:TEO 的 ZoneId(也可用环境变量 ZONE_ID)。
  • --confirm:额外调用 ConfirmOriginACLUpdate 确认最新回源 IP 列表。
  • --verbose:输出签名调试信息。
  • -h, --help:显示帮助信息。

示例

  1. 打印到标准输出
./edgeone.sh --ak AKIDxxx --sk SKyyy --zone zone-abc --stdout
  1. 保存到自定义目录
./edgeone.sh --ak AKIDxxx --sk SKyyy --zone zone-123 -o /tmp/edgeone/

注意事项

  • 确保提供的 SecretIdSecretKey 具有足够的权限访问 EdgeOne 服务,至少需要授权以下 API 接口
    • DescribeOriginACL:用于获取回源 IP 列表。
    • ConfirmOriginACLUpdate:用于确认最新回源 IP 列表(使用 --confirm 选项时)。
  • 在腾讯云控制台开启源站防护,否则 API 调用可能失败。
  • 脚本默认输出文件名为 edgeone_all.txt,可通过 -o 选项自定义。
  • 如需调试签名过程,可使用 --verbose 选项。

许可证

此脚本遵循 MIT 许可证。详情请参阅项目根目录下的 LICENSE