通过限制访问,实现纯私有Docker镜像
创始人
2024-12-13 00:37:13
0

怎么会不过审呢?没有敏感信息呀。

For obvious reasons,Many Docker image repositories are inaccessible,The official warehouse has also been filtered by the firewall,So write about how to build a self use Docker image using CloudFlare's Workers and Pages.

其实已经有很多篇这样的教程了,但镜像搭建完基本就是所有人所有时间都能访问,这样就有两个问题:

  • 第一是访问的人太多,流程太高,CF会封号。
  • 第二是很多人都访问的话,域名容易被wall。

所以我写了个可以定时开放的脚本,这样就可以在规定的时间段内打开,或者只在自己想用的时候手动去打开。

下面是实现步骤:

1. 登录CF平台

https://dash.cloudflare.com/

2. 创建Worker

点击Workers 和 Pages -->创建

创建Worker

给Worker命名(随意起个英文名),点击【部署】

3. 部署代码

进入到部署成功页面后,再点击【编辑代码】

把如下代码粘贴进去

// Docker镜像仓库主机地址 let hub_host = 'registry-1.docker.io'; // Docker认证服务器地址 const auth_url = 'https://auth.docker.io'; // 自定义的工作服务器地址 let workers_url = 'https://docker.yourdomain.com';  let 屏蔽爬虫UA = ['netcraft'];  // 根据主机名选择对应的上游地址 function routeByHosts(host) {     // 定义路由表     const routes = {         // 生产环境         "quay": "quay.io",         "gcr": "gcr.io",         "k8s-gcr": "k8s.gcr.io",         "k8s": "registry.k8s.io",         "ghcr": "ghcr.io",         "cloudsmith": "docker.cloudsmith.io",          // 测试环境         "test": "registry-1.docker.io",     };      if (host in routes) return [routes[host], false];     else return [hub_host, true]; }  /** @type {RequestInit} */ const PREFLIGHT_INIT = {     // 预检请求配置     headers: new Headers({         'access-control-allow-origin': '*', // 允许所有来源         'access-control-allow-methods': 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS', // 允许的HTTP方法         'access-control-max-age': '1728000', // 预检请求的缓存时间     }), };  /**  * 构造响应  * @param {any} body 响应体  * @param {number} status 响应状态码  * @param {Object} headers 响应头  */ function makeRes(body, status = 200, headers = {}) {     headers['access-control-allow-origin'] = '*'; // 允许所有来源     return new Response(body, { status, headers }); // 返回新构造的响应 }  /**  * 构造新的URL对象  * @param {string} urlStr URL字符串  */ function newUrl(urlStr) {     try {         return new URL(urlStr); // 尝试构造新的URL对象     } catch (err) {         return null; // 构造失败返回null     } }  function isUUID(uu

相关内容

热门资讯

据权威媒体报道!哈狗脚本辅助!... 据权威媒体报道!哈狗脚本辅助!确实是有辅助修改器(有挂头条)-哔哩哔哩1、玩家可以在哈狗脚本辅助透视...
透视真的!哈糖大菠萝万能挂(透... 透视真的!哈糖大菠萝万能挂(透视)辅助平台(真的有挂)-哔哩哔哩1、全新机制【哈糖大菠萝万能挂ai辅...
此事迅速冲上热搜!随意玩挂!切... 此事迅速冲上热搜!随意玩挂!切实存在有辅助下载(了解有挂)-哔哩哔哩随意玩挂辅助器是一种具有地方特色...
出现新变化!德普之星透视辅助软... 出现新变化!德普之星透视辅助软件激活码(透视)辅助app(有挂讲解)-哔哩哔哩1、德普之星透视辅助软...
更值得关注的是!茶馆儿破解教程... 更值得关注的是!茶馆儿破解教程!好像存在有辅助下载(有挂细节)-哔哩哔哩1、茶馆儿破解教程免费辅助多...
今日!wepoker可以免费玩... 今日!wepoker可以免费玩吗(透视)辅助工具(发现有挂)-哔哩哔哩暗藏猫腻,小编详细说明wepo...
这一问题亟待解决!越乡游辅助器... 这一问题亟待解决!越乡游辅助器下载免费!原来是有辅助软件(真的有挂)-哔哩哔哩1、游戏颠覆性的策略玩...
出乎意料的是!xpoker辅助... 出乎意料的是!xpoker辅助(透视)辅助插件(的确有挂)-哔哩哔哩1、xpoker辅助有没有辅助教...
现有说明如下!微信老友广东辅助... 现有说明如下!微信老友广东辅助!竟然真的是有辅助脚本(今日头条)-哔哩哔哩1、微信老友广东辅助模拟器...
据公告内容!poker wor... 据公告内容!poker world辅助器(透视)辅助下载(果真有挂)-哔哩哔哩1、据公告内容!pok...