CDN_bestIP icon indicating copy to clipboard operation
CDN_bestIP copied to clipboard

通过对CloudFront IP测速更新域名解析,实现对CloudFront CDN网络的优化。通过aws官方获取 CloudFront 的 IP 地址,实现CloudFront IP优选,获取最快IP。调用 Cloudflare API 更新域名解析。By updating domain reso...

AWS CloudFront AutoUpdate

中文版本 | English Version

AWS CloudFront AutoUpdate 是一个使用 Python 编写的项目,旨在通过官方链接实现自动获取 AWS CloudFront 的所有 IP 地址,并根据当前网络对其进行CloudFront优选,获取最快IP。后通过 Cloudflare 更新域名解析,优化当前网络下CloudFront的网络优化。

该项目使用 CloudflareSpeedTest 项目来进行IP测速。

功能

img.png

  • 自动获取所有 AWS CloudFront IP 地址(使用maxmind地址库排除大陆备案IP地址段,测速IP包含'JP', 'KR', 'SG', 'US')。
  • 基于当前网络对 IP 地址进行速度测试。
  • 更新 Cloudflare 域名解析为最快的 IP 地址。
  • 通过 python cron 定期自动更新记录,默认为一天运行一次
  • 可使用自建服务器,指定测速链接,stURL 变量设置自定义 url 测速 设置系统环境变量

stUrl(可选,可通过dd if=/dev/zero of=100MB.test bs=1M count=100在网站根目录生成测试文件)

测试Url连接为:https://xxxxxxx.cloudfront.net/100MB.test

如服务测速信息与cloudflare配置如下:

域名为:cdn.example.com

cloudflare邮箱地址为:[email protected]

Global API Key:ccccccccccccccccccccccccccccccc


使用方法- Docker 环境

docker安装 https://docs.docker.com/engine/install/

docker compose安装 https://docs.docker.com/compose/install/

该项目可以在 Docker 环境中运行。你可以使用提供的 Dockerfile 构建镜像,并通过 Docker 或 Docker Compose 运行。

首先,使用以下命令构建 Docker 镜像:

docker build -t cloudfront_autoupdate .

然后,运行容器(stUrl参数可选):

docker run -d --name awsCloudFront_AutoUpdate \
  --restart always \
  -e domain='example.com' \
  -e record_name='cdn' \
  -e api_key='ccccccccccccccccccccccccccccccc' \
  -e email='[email protected]' \
  -e stUrl='https://xxxxxxx.cloudfront.net/100MB.test' \
  cloudfront_autoupdate

或者,使用 Docker Compose 运行,需先设置.env文件: img.png .env

domain = 'example.com'
record_name = 'cdn'
api_key = 'ccccccccccccccccccccccccccccccc'
email = '[email protected]'
stUrl = 'https://xxxxxxx.cloudfront.net/100MB.test'
docker compose build
docker compose up -d

使用方法-本地运行

1. 克隆项目

使用以下命令克隆项目到本地:

git clone https://github.com/qetesh/awsCloudFront_AutoUpdate.git

2. 安装依赖

安装python3、pip3:

apt install python3 python3-pip

进入项目目录,并安装所需的 Python 依赖:

cd awsCloudFront_AutoUpdate
pip3 install -r requirements.txt

3. 配置 Cloudflare API

环境变量设置的值对应如下:

export domain='example.com' record_name='cdn' api_key='ccccccccccccccccccccccccccccccc' email='[email protected]' stUrl='https://xxxxxxx.cloudfront.net/100MB.test'

确保替换上述值为你自己的 Cloudflare 域名、A记录域名、Global API Key 、邮箱地址、测速URL(可选)。

4. 运行项目

运行以下命令启动项目(默认将一直保持前台运行,可使用nohup python3 main.py &保持后台运行):

python3 main.py

感谢项目

  • https://github.com/XIU2/CloudflareSpeedTest

贡献

欢迎贡献代码、报告问题或提出改进建议。请在 GitHub 上提交 Issue 或 Pull Request。

许可证

本项目基于 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。

免责声明

本项目仅供学习和参考,使用本项目所产生的一切后果由使用者自行承担。请谨慎使用,并遵守相关法律法规和服务提供商的条款。