通过限制访问,实现纯私有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

相关内容

热门资讯

分享开挂!雷霆辅助器,wepo... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
了解辅助!欢乐达人猜猜乐友挂吗... 了解辅助!欢乐达人猜猜乐友挂吗,wpk辅助插件,微扑克教程(有挂秘笈)-哔哩哔哩《详细加薇13670...
正品辅助!乐达app辅助,uu... 正品辅助!乐达app辅助,uupoker有透视吗,必胜教程(果真有挂)-哔哩哔哩>>您好:软件加13...
分享辅助!娱网皮球茶馆脚本,扑... 分享辅助!娱网皮球茶馆脚本,扑克之星辅助,透视教程(真的有挂)-哔哩哔哩《详细加薇136704302...
科技开挂!九九山城插件程序,w... 科技开挂!九九山城插件程序,wepoker破解器激活码,详细教程!(有人有挂)-哔哩哔哩 了解更多开...
正品开挂!中至窝龙辅助,wpk... 正品开挂!中至窝龙辅助,wpk辅助器,普及教程(有挂秘籍)-哔哩哔哩1、下载安装好中至窝龙辅助,进入...
必看开挂!樱花之盛微信辅助,w... 必看开挂!樱花之盛微信辅助,wepoker免费透视,黑科技教程(有挂解密)-哔哩哔哩 【无需打开直接...
必看开挂!新上游反杀辅助,hh... 必看开挂!新上游反杀辅助,hhpkoer辅助器视频,新2026版(有挂分析)-哔哩哔哩;无需打开直接...
正版辅助!微信超级三加一辅助软... 正版辅助!微信超级三加一辅助软件,佛手在线大菠萝智能辅助器,详细教程(确实有挂)-哔哩哔哩 【无需打...
科技辅助!渝都亲友全辅助,ha... 科技辅助!渝都亲友全辅助,hardrock辅助,分享教程(揭秘有挂)-哔哩哔哩【无需打开直接搜索加薇...