<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>boring_student</title><description>blog</description><link>https://blog.chmlfrp.com/</link><language>zh_CN</language><item><title>EdgeOne+github=无限容量随机图api？</title><link>https://blog.chmlfrp.com/posts/edgeonegithub%E6%97%A0%E9%99%90%E5%AE%B9%E9%87%8F%E9%9A%8F%E6%9C%BA%E5%9B%BEapi/</link><guid isPermaLink="true">https://blog.chmlfrp.com/posts/edgeonegithub%E6%97%A0%E9%99%90%E5%AE%B9%E9%87%8F%E9%9A%8F%E6%9C%BA%E5%9B%BEapi/</guid><description>使用EdgeOne+github搭建随机图片api</description><pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;咋想的（&lt;/h1&gt;
&lt;p&gt;想必你也曾看过使用CF-R2搭建随机图api吧&lt;/p&gt;
&lt;p&gt;而实际使用下来会出现以下问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;容量有限？&lt;/li&gt;
&lt;li&gt;CF慢？&lt;/li&gt;
&lt;li&gt;10w请求数太少？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;突然我想了想，欸！github仓库好像没有容量限制！&lt;/p&gt;
&lt;p&gt;欸！最近的EdgeOne有免费计划！&lt;/p&gt;
&lt;p&gt;原先想直接使用github page来直接搭建api。最终发现github page好像不执行js代码。嘶那该咋办呢？&lt;/p&gt;
&lt;p&gt;某天，在看EdgeOne的数据时发现了边缘函数。可以执行js！&lt;/p&gt;
&lt;p&gt;在我不断的超那超这，终于整好了（&lt;/p&gt;
&lt;h1&gt;部署教程！&lt;/h1&gt;
&lt;p&gt;准备工作：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;整一个有免费套餐的EdgeOne账号&lt;/li&gt;
&lt;li&gt;搞一个github账号&lt;/li&gt;
&lt;li&gt;搞到一个域名和一堆瑟瑟图片（&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;第一步：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;github创建一个仓库&lt;/li&gt;
&lt;li&gt;创建一个名为&lt;code&gt;jpg&lt;/code&gt;的文件夹和  &lt;code&gt;index.html&lt;/code&gt; &lt;code&gt;num.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;将所有图片名称从&lt;code&gt;1&lt;/code&gt;开始命名，并且所有格式改为png（这一步的批量命名可以找ai给一个bat代码。而转换格式也是一样，但是这里推荐使用python。）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;py转换&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import os
import random
import string
from PIL import Image

def random_string(length=24):
    &quot;&quot;&quot;生成指定长度的随机字符串，包含数字和字母&quot;&quot;&quot;
    characters = string.ascii_letters + string.digits
    return &apos;&apos;.join(random.choice(characters) for _ in range(length))

def convert_images_to_png(directory):
    &quot;&quot;&quot;将指定目录下的所有图片文件转换为PNG格式，并删除原文件&quot;&quot;&quot;
    supported_formats = (&apos;.jpg&apos;, &apos;.jpeg&apos;, &apos;.bmp&apos;, &apos;.gif&apos;, &apos;.tiff&apos;, &apos;.webp&apos;)
    for filename in os.listdir(directory):
        if filename.lower().endswith(supported_formats):
            input_path = os.path.join(directory, filename)
            output_path = os.path.join(directory, os.path.splitext(filename)[0] + &apos;.png&apos;)
            try:
                with Image.open(input_path) as img:
                    img.save(output_path, &apos;PNG&apos;)
                os.remove(input_path)  # 删除原文件
                print(f&quot;Converted and deleted: {filename}&quot;)
            except Exception as e:
                print(f&quot;Failed to convert {filename}: {e}&quot;)

def rename_files_with_random_names(directory):
    &quot;&quot;&quot;将指定目录下的所有PNG文件用随机数字字母重命名&quot;&quot;&quot;
    for filename in os.listdir(directory):
        if filename.lower().endswith(&apos;.png&apos;):
            random_name = random_string() + &apos;.png&apos;
            old_path = os.path.join(directory, filename)
            new_path = os.path.join(directory, random_name)
            os.rename(old_path, new_path)
            print(f&quot;Renamed {filename} to {random_name}&quot;)

def rename_files_sequentially(directory):
    &quot;&quot;&quot;将指定目录下的所有PNG文件按1.2.3到n的顺序重命名&quot;&quot;&quot;
    png_files = [f for f in os.listdir(directory) if f.lower().endswith(&apos;.png&apos;)]
    png_files.sort()  # 按文件名排序
    for index, filename in enumerate(png_files, start=1):
        new_name = f&quot;{index}.png&quot;
        old_path = os.path.join(directory, filename)
        new_path = os.path.join(directory, new_name)
        os.rename(old_path, new_path)
        print(f&quot;Renamed {filename} to {new_name}&quot;)

if __name__ == &quot;__main__&quot;:
    current_directory = os.getcwd()  # 获取当前目录
    print(&quot;Converting images to PNG...&quot;)
    convert_images_to_png(current_directory)
    print(&quot;Renaming PNG files with random names...&quot;)
    rename_files_with_random_names(current_directory)
    print(&quot;Renaming PNG files sequentially...&quot;)
    rename_files_sequentially(current_directory)
    print(&quot;All operations completed.&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;index.html&lt;/code&gt;写入以下内容&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Random Image&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;script&amp;gt;
        // 生成1到x之间的随机数，这里818改为你命名到的图片名称数值
        const randomNumber = Math.floor(Math.random() * 818) + 1;
        // 跳转到随机图片
        window.location.href = `/jpg/${randomNumber}.png`;
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;num.json&lt;/code&gt;写入以下内容&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    &quot;num&quot;:818
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中&lt;code&gt;818&lt;/code&gt;为照片数量&lt;/p&gt;
&lt;p&gt;示例仓库：&lt;a href=&quot;https://github.com/boringstudent/jpg&quot;&gt;https://github.com/boringstudent/jpg&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;将准备好的图片一股脑上传到所建仓库的jpg文件夹中&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开仓库的设置（settings） -&amp;gt; 页面（page） -&amp;gt; 生成和部署（Build and deployment）下面的分支（Branch）改为主要（main）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;然后点击保存&lt;/p&gt;
&lt;p&gt;如果需要绑定域名等则在自定义域（Custom domain）中进行修改&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将github.io的资源绑定到eo cdn&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;第一步：打开eo的域名管理点击添加域名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;加速域名&lt;/code&gt;填写绑定的域名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;源站配置&lt;/code&gt;为 &lt;code&gt;你的github用户名.github.io&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;第二步：打开你域名提供商的管理面板，添加cname解析&lt;/p&gt;
&lt;p&gt;&lt;code&gt;主机记录&lt;/code&gt;为你要所绑定的域名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;记录值&lt;/code&gt;为eo在部署cdn给你的	CNAME&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;eo-tc/img.png&quot; alt=&quot;img.png&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开eo的&lt;code&gt;高级能力&lt;/code&gt; -&amp;gt; &lt;code&gt;边缘函数&lt;/code&gt; -&amp;gt; &lt;code&gt;函数管理&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;点击&lt;code&gt;新建函数&lt;/code&gt;，随便选择一个模板。函数名称 随意&lt;/p&gt;
&lt;p&gt;输入以下代码：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;addEventListener(&apos;fetch&apos;, event =&amp;gt; {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  const url = new URL(request.url);
  const path = url.pathname;
  const origin = url.origin;

  if (path === &apos;/jpg&apos;) {
    return getRandomImageResponse();
  } else if (path === &apos;/json&apos;) {
    const num = parseInt(url.searchParams.get(&apos;num&apos;), 10);
    if (!isNaN(num) &amp;amp;&amp;amp; num &amp;gt; 0) {
      return getMultipleImageUrlsResponse(num, origin);
    } else {
      return new Response(JSON.stringify({ error: &quot;Invalid &apos;num&apos; parameter. Please provide a positive integer.&quot; }), {
        status: 400,
        headers: { &apos;Content-Type&apos;: &apos;application/json&apos; }
      });
    }
  } else if (path === &apos;/url&apos;) {
    const num = parseInt(url.searchParams.get(&apos;num&apos;), 10);
    if (!isNaN(num) &amp;amp;&amp;amp; num &amp;gt; 0) {
      return getSingleImageContentResponse(num);
    } else {
      return new Response(JSON.stringify({ error: &quot;Invalid &apos;num&apos; parameter. Please provide a positive integer.&quot; }), {
        status: 400,
        headers: { &apos;Content-Type&apos;: &apos;application/json&apos; }
      });
    }
  } else {
    return new Response(&apos;Not Found&apos;, { status: 404 });
  }
}

async function getPhotoCount() {
  const response = await fetch(&apos;https://xxxx.chmlfrp.com/num.json&apos;);
  const data = await response.json();
  return data.num;
}

function getOriginalImageUrl(num) {
  return `http://xxxx.chmlfrp.com/jpg/${num}.png`;
}

async function getRandomImageResponse() {
  const totalImages = await getPhotoCount();
  const num = Math.floor(Math.random() * totalImages) + 1;
  const imageUrl = getOriginalImageUrl(num);
  const response = await fetch(imageUrl);
  if (!response.ok) {
    return new Response(&apos;Failed to fetch image&apos;, { status: 500 });
  }
  return new Response(response.body, {
    status: response.status,
    headers: response.headers
  });
}

async function getSingleImageContentResponse(num) {
  const imageUrl = getOriginalImageUrl(num);
  try {
    const response = await fetch(imageUrl);
    if (!response.ok) {
      return new Response(&apos;Failed to fetch image&apos;, { status: 500 });
    }
    return new Response(response.body, {
      status: response.status,
      headers: response.headers
    });
  } catch (error) {
    return new Response(&apos;Failed to fetch image&apos;, { status: 500 });
  }
}

async function getMultipleImageUrlsResponse(num, origin) {
  const totalImages = await getPhotoCount();
  const urls = [];
  for (let i = 0; i &amp;lt; num; i++) {
    const randomNum = Math.floor(Math.random() * totalImages) + 1;
    const fullUrl = `${origin}/url?num=${randomNum}`;
    urls.push(fullUrl);
  }
  return new Response(JSON.stringify({ urls }), {
    status: 200,
    headers: { &apos;Content-Type&apos;: &apos;application/json&apos; }
  });
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中&lt;code&gt;http://xxxx.chmlfrp.com/jpg/${num}.jpg&lt;/code&gt; 的&lt;code&gt;xxxx.chmlfrp.com&lt;/code&gt;改为你绑定的域名&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;点击部署，等待部署完成&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;eo-tc/img1.png&quot; alt=&quot;img1.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击触发规则,分别为&lt;code&gt;host 等于 你api部署的域名&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开eo的域名管理，添加域名&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;源站为 边缘函数的默认访问域名&lt;/p&gt;
&lt;p&gt;记录为 你api部署的域名&lt;/p&gt;
&lt;p&gt;同样的，把eo所给的	CNAME 添加到域名的解析中&lt;/p&gt;
&lt;p&gt;这样就完成了随机图api的搭建咯！&lt;/p&gt;
&lt;h1&gt;更新手法！&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;按序添加照片至仓库的jpg文件夹&lt;/li&gt;
&lt;li&gt;修改仓库的num.json文件中的数量&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;api文档&lt;/h1&gt;
&lt;p&gt;直接调用：&lt;code&gt;你的域名/jpg&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;返回json：&lt;code&gt;你的域名/json?num=3&lt;/code&gt; （其中num为返回链接的数量[必填！]）&lt;/p&gt;
&lt;p&gt;非随机直接调用&lt;code&gt;你的域名/url?num=3&lt;/code&gt; （其中num为图片的序列号）&lt;/p&gt;
&lt;h1&gt;api示例&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;http://xxx.chmlfrp.com/jpg&quot;&gt;http://xxx.chmlfrp.com/jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://xxx.chmlfrp.com/json?num=3&quot;&gt;http://xxx.chmlfrp.com/json?num=3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://xxx.chmlfrp.com/url?num=3&quot;&gt;http://xxx.chmlfrp.com/url?num=3&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>chmlfrp.com资源</title><link>https://blog.chmlfrp.com/posts/chmlfrpcom%E8%B5%84%E6%BA%90/</link><guid isPermaLink="true">https://blog.chmlfrp.com/posts/chmlfrpcom%E8%B5%84%E6%BA%90/</guid><description>chmlfrp.com的域名解析</description><pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;code&gt;cloud.chmlfrp.com&lt;/code&gt; -&amp;gt; git网盘&lt;/p&gt;
&lt;p&gt;&lt;code&gt;all.chmlfrp.com&lt;/code&gt; -&amp;gt; chmlfrp第三方联盟网站&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chmlfrp.com&lt;/code&gt; -&amp;gt; 星桥小栈&lt;/p&gt;
&lt;p&gt;&lt;code&gt;blog.chmlfrp.com&lt;/code&gt; -&amp;gt; 本人博客&lt;/p&gt;
&lt;p&gt;&lt;code&gt;speedtest-git.chmlfrp.com&lt;/code&gt; -&amp;gt; github测速&lt;/p&gt;
&lt;p&gt;&lt;code&gt;speedtest.chmlfrp.com&lt;/code&gt; -&amp;gt; eo测速&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mirror.xcl.chmlfrp.com&lt;/code&gt; -&amp;gt; xcl作者的git网盘&lt;/p&gt;
&lt;p&gt;&lt;code&gt;dev.chmlfrp.com&lt;/code&gt; -&amp;gt; chmlfrp第三方启动器预览&lt;/p&gt;
&lt;p&gt;&lt;code&gt;api.chmlfrp.com&lt;/code&gt; -&amp;gt; chmlfrp第三方api文档&lt;/p&gt;
&lt;p&gt;&lt;code&gt;docs.chmlfrp.com&lt;/code&gt; -&amp;gt; chmlfrp第三方文档&lt;/p&gt;
&lt;p&gt;&lt;code&gt;bug.chmlfrp.com&lt;/code&gt; -&amp;gt; chmlfrp第三方对官方的bug收集&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chmlfrp-panel-mitbaoyu.edgeone.run/?eo_token=d9de71f661596ed99d07aaa646b5ec95&amp;amp;eo_time=1754745599&quot;&gt;&lt;code&gt;chmlfrp-panel-mitbaoyu.edgeone.run&lt;/code&gt;&lt;/a&gt; -&amp;gt; eo测速&lt;/p&gt;
&lt;p&gt;&lt;code&gt;docs.chmlfrp.com&lt;/code&gt; -&amp;gt; chmlfrp第三方文档&lt;/p&gt;
</content:encoded></item><item><title>一个好用的内网穿透推荐</title><link>https://blog.chmlfrp.com/posts/%E4%B8%80%E4%B8%AA%E5%A5%BD%E7%94%A8%E7%9A%84%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E6%8E%A8%E8%8D%90/</link><guid isPermaLink="true">https://blog.chmlfrp.com/posts/%E4%B8%80%E4%B8%AA%E5%A5%BD%E7%94%A8%E7%9A%84%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E6%8E%A8%E8%8D%90/</guid><description>推荐一个免费无限流量的内网穿透（frp）</description><pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;在和朋友mc联机的时候经常用到frp（主要是花生壳免费no 樱花限流量no）&lt;/p&gt;
&lt;p&gt;翻来翻去找到了一个“好东西”&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;chmlfrp/img.png&quot; alt=&quot;img.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chmlfrp.cn/&quot;&gt;https://www.chmlfrp.cn/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;进入管理面板注册账号&lt;/p&gt;
&lt;p&gt;若官网无法访问时&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://v2-cf.milkymay.top/&quot;&gt;v2镜像站（不推荐使用）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://panel-cf.milkymay.top/&quot;&gt;v3镜像站&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://panel--cf.milkymay.top/&quot;&gt;v3镜像站-cf（较慢）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chmlfrp-panel-mitbaoyu.edgeone.run/?eo_token=5cacda08b67dfac23f2cb748778e6c34&amp;amp;eo_time=1754743037&quot;&gt;v3镜像站-eo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;注册完账号后最好进行实名验证（不然用不了国内节点）&lt;/p&gt;
&lt;p&gt;这里配置相关教程网上很多&lt;/p&gt;
&lt;p&gt;如：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/MC_chaoji/article/details/135036174&quot;&gt;csdn 文档&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.bilibili.com/video/BV1KK421k7WX/&quot;&gt;bilibili 视频教程&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以上均为v2版本教程（以后回考虑自己写v3教程滴）&lt;/p&gt;
&lt;p&gt;免费账号的限额是（现在）：&lt;/p&gt;
&lt;p&gt;国内节点限速：8m&lt;/p&gt;
&lt;p&gt;国外节点限速：32m&lt;/p&gt;
&lt;p&gt;流量限制：无限制&lt;/p&gt;
&lt;p&gt;隧道数量：4条&lt;/p&gt;
&lt;p&gt;感觉还不错，就是最好用一些比较稳定的节点（比如：湖北十堰 实测挺稳定的）&lt;/p&gt;
&lt;p&gt;以下为付费内容：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;chmlfrp/img_1.png&quot; alt=&quot;img_1.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;感觉还好积分可以白嫖嘿嘿&lt;/p&gt;
&lt;p&gt;永久超级会员往后还可以进行定制：&lt;/p&gt;
&lt;p&gt;隧道：10元/条   带宽：10元/mbps&lt;/p&gt;
&lt;p&gt;均为永久&lt;/p&gt;
</content:encoded></item><item><title>随记</title><link>https://blog.chmlfrp.com/posts/%E9%9A%8F%E8%AE%B0/</link><guid isPermaLink="true">https://blog.chmlfrp.com/posts/%E9%9A%8F%E8%AE%B0/</guid><description>记录一点东西awa</description><pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;code&gt;pnpm new-post &amp;lt;这里填写你的文章标题&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://us.umami.is/websites/a99dda2f-7392-4382-92b8-a58f4a776ffb&quot;&gt;umami统计&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>使用EdgeOne搭建自己的测速网站</title><link>https://blog.chmlfrp.com/posts/%E4%BD%BF%E7%94%A8edgeone%E6%90%AD%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E6%B5%8B%E9%80%9F%E7%BD%91%E7%AB%99/</link><guid isPermaLink="true">https://blog.chmlfrp.com/posts/%E4%BD%BF%E7%94%A8edgeone%E6%90%AD%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E6%B5%8B%E9%80%9F%E7%BD%91%E7%AB%99/</guid><description>使用eo搭建测速网站</description><pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;使用EdgeOne搭建自己的测速网站&lt;/h1&gt;
&lt;p&gt;最近，腾讯云旗下的EdgeOne发布了免费套餐的获取方式&lt;/p&gt;
&lt;p&gt;既然是免费的，那就不得不白嫖了 嘿嘿&lt;/p&gt;
&lt;h2&gt;咋用上EdgeOne？&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;使用浏览器访问： https://edgeone.ai 进行注册账号&lt;/li&gt;
&lt;li&gt;获取EdgeOne的免费资格（网上已经有很多教程，这里我就不多赘述了）&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;部署测速网页到eo page&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://cloud.chmlfrp.com/speedtest.7z&quot;&gt;下载代码文件&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;然后在浏览器打开 &lt;a href=&quot;https://console.cloud.tencent.com/edgeone/pages&quot;&gt;https://console.cloud.tencent.com/edgeone/pages&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;登录完成后&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;eo-cs/img.png&quot; alt=&quot;img.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击&quot;创建项目&quot; 选择直接上传&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;eo-cs/img_1.png&quot; alt=&quot;img_1.png&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;项目名称随意&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;加速地区&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这里如果没有绑定自己域名的需求&lt;/p&gt;
&lt;p&gt;可以随意选择  推荐: 全球可用区（含中国大陆）&lt;/p&gt;
&lt;p&gt;如果需要绑定自己的域名&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if &quot;域名icp备案&quot; == False:
    print(&quot;请选择 全球可用区（不含中国大陆）&quot;)
else:
    print(&quot;请在下载的代码文件中 index.html 末尾添加自己的备案号&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;部署完成后点击项目设置&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;eo-cs/img_2.png&quot; alt=&quot;img_2.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在域名管理这一栏中eo会默认分配一个域名供我们使用&lt;/p&gt;
&lt;p&gt;若需绑定域名请选择 添加自定义域名 按照指引进行配置即可&lt;/p&gt;
&lt;h2&gt;测试咯！&lt;/h2&gt;
&lt;p&gt;在浏览器打开绑定的域名
&lt;img src=&quot;eo-cs/img_3.png&quot; alt=&quot;img_3.png&quot; /&gt;
点击开始测试即可&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;eo-cs/img_4.png&quot; alt=&quot;img_4.png&quot; /&gt;
实测下来可以跑满我家的家宽&lt;/p&gt;
&lt;p&gt;还是非常不错的nice！&lt;/p&gt;
&lt;p&gt;测速链接 &lt;a href=&quot;https://fvdfgf-g4lpkvob.edgeone.run/&quot;&gt;https://fvdfgf-g4lpkvob.edgeone.run/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item></channel></rss>