惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

秋澪的博客

MediaWarp说明文档 | 秋澪的博客 MacBook Air M1 2025年211工科本科生体验报告 | 秋澪的博客 Conda安装以及基础使用方法 | 秋澪的博客 利用CloudFlare搭建测速网站 | 秋澪的博客 Fcricle踩坑记录 | 秋澪的博客 利用CloudFlare搭建镜像站 | 秋澪的博客 Docker入门教程 | 秋澪的博客 UnlockMusic音乐解锁搭建教程 | 秋澪的博客 Excalidraw搭建教程 | 秋澪的博客 AutoFilm说明文档 | 秋澪的博客 利用CDN加速并保护站点 | 秋澪的博客 校园网碎碎念 | 秋澪的博客 三朝元老再就业——百元机装机体验暨P104-100快速上手 将M.2固态硬盘设为群晖存储池 | 秋澪的博客 Git快速上手指南 | 秋澪的博客 利用Ventoy打造最强硬盘 | 秋澪的博客 为Hexo博客添加后台管理系统 MarkDown笔记软件推荐 | 秋澪的博客 免费的云数据库推荐 | 秋澪的博客 Armbian手把手玩机指南01-系统刷入并安装可视化桌面 | 秋澪的博客 使用BetterNCM美化网易云 | 秋澪的博客 IOS旧版本应用推荐 | 秋澪的博客 51单片机学习记录-01 | 秋澪的博客 51单片机学习记录-00 | 秋澪的博客 免费域名注册 | 秋澪的博客 Hexo重装记录 | 秋澪的博客 利用CloudFlare创建域名邮箱 | 秋澪的博客 在Render上部署Alist | 秋澪的博客 利用Replit搭建Alist | 秋澪的博客 Docker命令大全 | 秋澪的博客 MariaDB数据库搭建及基础用指南 | 秋澪的博客 Nginx-Proxy-Manager问题补充:DNSPod证书申请错误、NPM端口丢失 | 秋澪的博客 VPS基础配置 | 秋澪的博客 Ubuntu安装及ROS安装教程 | 秋澪的博客 个人图床搭建之Github篇 | 秋澪的博客 利用Replit搭建个人博客Halo | 秋澪的博客 AI工具网站推荐 | 秋澪的博客 MarkDown入门教程 | 秋澪的博客 利用FRP 和 Nginx-Proxy-Manager 为内网设备提供内外穿透服务 | 秋澪的博客 基于Ubuntu安装docker | 秋澪的博客 Hello World | 秋澪的博客
FastCDN说明文档 | 秋澪的博客
2024-01-20 · via 秋澪的博客

文章摘要

GPT 4

此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

前言

最近几天一直再写一个小程序(其实去年11月就有想法了,但是这两天才有时间真真完善了一下),这两天终于写完了v0.1版本了,并且也达到了一个正常使用的范围

一款自动优选CloudFlare的Anycast IP以及第三方反代IP或亚马逊CDN服务器IP并自动DDNS到CLoudFlare托管的域名上的工具,并且可根据地区选择同步到对应域名

使用文档

当前文档适用版本:v0.1.1
若版本不同,具体功能实现可能会有差异

准备工作

  1. FastCDN项目地址:https://github.com/AkimioJR/FastCDN,可以通过Git Clone或者打包下载的方式下载到本地
  2. 安装Python,推荐使用Python3.10及以上版本
  3. 安装依赖库:
        - 手动安装以下依赖:
            - pandas == 2.1.4
            - requests == 2.31.0
            - PyYAML == 6.0.1
        - 通过Pip安装:
           
    1
            pip install -r requirements.txt

下载CloudFlareSpeedTest

回到FastCDN的文件夹中,运行以下命令

1
python start.py

获取账户信息以及DomainID

CloudFlare网站部分

如果你熟悉CloudFlare可以查看大致步骤,详细步骤可以跳过

大致步骤

  1. 获取CloudFlare邮箱
  2. 获取Global API Key
  3. 获取对应一级域名的区域ID也就是zone_id
  4. 解析需要的子域名的A记录,值任意

详细步骤

首先需要去CloudFlare注册一个账号,并托管域名到CloudFlare(这一步大家应该都做好了吧)
假设我需要把优选的IP解析到a.com这个一级域名的子域名下,可以进入管理域名a.com的页面—>侧边栏点击概述->右下方的API页面可以找到a.com区域ID也就是zone_id,记录该值备用;再点击下方的获取您的API令牌,查看全局API令牌,即Global API Key,记录该值备用
然后回到DNS解析部分,解析两个域名(也可以更多),我这里解析了hk.a.comus.a.com,均为A记录,值可以任意,我这里就填1.1.1.1

获取DomainID

v0.1.1以上版本无需获取
~~回到FastCDN的文件夹中,运行以下命令

1
python get_zone_id.py

按要求依次填入CloudFlare账户邮箱、全局API令牌、区域ID以及域名,这样就能获取该域名的域名ID
如有多个域名,请重新执行以上操作,分别获取域名对应的域名ID~~

配置Config文件

FastCDN/config目录下创建一个文件config.yaml
以下是内容模板,按照要求填写

  • setting
        - account这部分的三个值已经在之前的步骤中获取过
        - CFST:这几个参数已经有简单的描述,详细描述可见XIU2/CloudflareSpeedTest: 🌩「自选优选 IP」(github.com)
  • SpeedTest
        - 标识名1(任意,自己看得懂就好)
            - domain:需要解析的子域名,我这里就是hk.a.com
            - cfcolo:机场三字码(具体值可以自行搜索),填写此值可以获取到对应地区的IP(可以填写多个值,用英文逗号间隔)
        - 标识名2
        - 标识名3
    下面是参考的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
setting:
  account:
    email: [email protected]
    global_api_key: 56e4xxxxxxxxxxxxxxxxxxxxxxxeexxx59a8
    zone_id: 7af6xxxxxxxxxxxxxxxxxxxxx6a6c
  CFST:
    n: 200  
    t: 4    
    dn: 20  
    dt: 10  
    tp: 443
    url: https://cf.xiu2.xyz/url  
    tl: 300
    tll: 20
    tlr: 0.3  
    sl: 3  

SpeedTest:
  HK:
    domain: hk.a.com
    cfcolo: HKG
  US:
    domain: us.a.com
    cfcolo: LAX,SEA,SJC

YAML对缩进要求严格,请正确对齐

运行FastCDN

回到FastCDN的文件夹中,运行以下命令

1
python main.py

可能会遇到的问题

问题 解决方法
无法获取CloudFlare域名ID(v0.1.1及以上现象可能是无法更新DNS) 大概率是未解析初始值,需要先去网页端解析一个初始A记录
如何优选亚马逊CDN 需手动替换IP集FastCDN/temp/ipv4.txt
如何优选IPv6并解析到域名 目前只支持IPv4,お楽しみに

致谢

XIU2/CloudflareSpeedTest 为本项目提供测试程序
snowfall9/CloudflareST_auto_selector 为本项目提供思路
https://zip.baipiao.eu.org 为本项目提供反代IP