cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.33.19:80 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 6124
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Dq2NCs9%2FSRCji6YHMbiNa2TQk9WQdhGjl8Jaq4pzGBQxLwop3P8aNRACbOuDVYPLmgKDvDXmSgjNQ%2BXQ35VSUTAUW9LvnGpJPTMJP12VQqo%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba4909e98a-FRA
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 172.67.157.153:8443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 6124
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=0MVVD22%2FPKAj9FRLv8rGzXKAQH%2BZSOIJPqB%2BzROYpA5PUUPI00UPjFmvrXeHoQClneUb9QTdil2M66msOwv56%2BOqfmJMD3mTaRxK4l1heUU%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8bacc839404-LHR
alt-svc: h3=":8443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 2606:4700:3035::ac43:9d99:8443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=42,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=CWTPLaiJPzCt9g7G317EcSCp8J%2BwMn50eYSkf%2BeXR9y3HL94dREQYxI%2BH%2F9YWqsJsYHpNmO4mtcUU9p5C8amZojpUZ6tZ77wMrFN7O9TO2oKXYr5Yrf5rMo4WKM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba8e2736c9-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 104.21.33.19:443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 6124
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=G%2BkJchqVda7ECbLRMgrkFxvRmcY7K75C6PBnwQfkpIiuwdcFkHuUCW3dDb%2Fbzzi%2BJ%2F3RFfd5ofXrIRGHj8go7OIPhjM7YR8DiPN3mTYveL4%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba38c6916c-LHR
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 2606:4700:3035::6815:2113:443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gAPeBO6rqLnvryc8nZIVajvMCeAIQkL2cF7AFT6SwMUSwcHdbqu2jsNM0m7FhyqcFRqN46MWooJDMu%2BHh4NRiRLOnQbOQ8ZxNzWp17Z7JAqv9QXq6A89BdyLhKg%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8babd1d8208-SIN
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 172.67.157.153:80 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=17,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mcJoXO2neqfr56hnJSXRldijwkM70lGLYbjgKB2xDFAUwK42mzzt2ezpzxrIX2TCTTdbPeEp1xhnVyBkzR%2Fsv%2BxuuCwETapJ7C2GXxWE4iQ%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba3cd8ab36-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 2606:4700:3035::ac43:9d99:80 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=85,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gTojTx0jMB2QKPTBSgORtxaDYux1o2bVMBHamIg8v7JtccHGv%2B53lSEhQh8UdeJrCiuuuxWDug%2BqN%2F2q04POM8Fh8xTj1Cj%2F6i7E%2Bopi2aDYvCBnHgQRi3nr6XQ%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba9afe7143-BOM
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 104.21.33.19:8443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=15,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=xzdIaUqBVL61OL%2Bx405Q0yWgYwn8Cc5ZTiano760Tr0byNJaTMMRg5pPSOQp5G69JYAB7DM%2BPcltO7Awr6FZH%2B76EhEyb3dtHDz1FXl7DBs%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba1fc8a0b1-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 2606:4700:3035::6815:2113:8443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=4,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=VhJXKskXSvPTNX%2FQsBU57B%2BOD98fT0c2F0pfLCDeoVZ%2FqBAPQ2CHFWQreGYr4KQ7GKGSE3ACVHjxbYB2lc3K09lOJlnhRZTaOwLLiAH8KIjrQo6EEq3sUmXO%2FHE%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8b9dc54f41f-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 172.67.157.153:443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=7,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=sVYcH0Vf2fiNV7bNdyL50D11fFZS5EH%2F9OFMOOGj2jHz%2F7mSj7LIDuyBDjDkQMTY6YqBNVo5e0mSAtp%2FZSnwO7GUy9B%2FjlusJsJrnQqW%2Fu8%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8b9cd14ab64-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 2606:4700:3035::6815:2113:80 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=11,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2BTmpuo2ioOoEWllTFQ5nyC3Jkf9fmKAvUgb4eI7ey9b4SBXd7h18bzJv8zgPramxejHLWHsf94WvT%2BiP38INiDdacuef9m9j4TlheEo8Nx%2FU2c9quCYPuNQq5Ro%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8ba98e378a5-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�
Open service 2606:4700:3035::ac43:9d99:443 · docker.theysh.cn
2026-01-23 08:16
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 08:16:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Server-Timing: cfEdge;dur=5,cfOrigin;dur=0
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=spUKcNfs7kPkA45HjHWWigYDhwGBYkEztciVU8qMRTRW6FTEaTp6GAZG1Xkwqq9101xFcFz20A1UOGcQkZRah%2F4xztAJO%2Fxm2zWix8dLq2%2BmORFTZxRjV6%2FmJ5c%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c25d8b9cd2719cf-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Docker 镜像代理服务
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker 镜像代理服务</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { background: rgba(255, 255, 255, 0.95); border-radius: 16px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; text-align: center; }
h1 { color: #2d3748; margin-bottom: 10px; font-size: 2.2em; }
.subtitle { color: #4a5568; margin-bottom: 20px; font-size: 1.1em; }
.input-group { margin: 20px 0; }
.input-group input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em; margin-bottom: 12px; }
.input-group input:focus { outline: none; border-color: #4299e1; }
.btn { background: #48bb78; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; cursor: pointer; margin: 5px; }
.btn:hover { background: #38a169; }
.copy-btn { background: #4299e1; }
.copy-btn:hover { background: #3182ce; }
.result-section { margin-top: 20px; padding: 20px; background: #f7fafc; border-radius: 8px; display: none; }
.result-output { display: flex; gap: 8px; margin-bottom: 10px; }
.result-output input { flex: 1; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: monospace; background: white; }
.examples { margin: 20px 0; }
.example-btn { background: rgba(66, 153, 225, 0.1); color: #4299e1; border: 1px solid #4299e1; padding: 6px 12px; border-radius: 16px; font-size: 0.9em; cursor: pointer; margin: 2px; }
.example-btn:hover { background: #4299e1; color: white; }
.footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); color: #718096; font-size: 0.9em; }
.footer a { color: #4299e1; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.success { color: #38a169; font-weight: 600; margin-top: 8px; display: none; }
</style>
</head>
<body>
<div class="container">
<h1>🐳 Docker 镜像代理服务</h1>
<div class="subtitle">高速稳定的 Docker 镜像拉取加速服务</div>
<div class="input-group">
<input type="text" id="imageInput" placeholder="输入镜像名称,如:nginx、mysql:8.0、ghcr.io/user/repo" />
<button onclick="generateLink()" class="btn">生成加速链接</button>
</div>
<div id="resultSection" class="result-section">
<div class="result-output">
<input type="text" id="resultOutput" readonly />
<button onclick="copyResult()" class="btn copy-btn">📋 复制</button>
</div>
<div class="success" id="successMessage">✅ 已复制到剪贴板!</div>
</div>
<div class="examples">
<div style="margin-bottom: 10px; color: #4a5568; font-weight: 600;">常用示例:</div>
<button onclick="fillExample('nginx')" class="example-btn">nginx</button>
<button onclick="fillExample('mysql:8.0')" class="example-btn">mysql:8.0</button>
<button onclick="fillExample('redis:alpine')" class="example-btn">redis:alpine</button>
<button onclick="fillExample('ghcr.io/user/repo')" class="example-btn">GitHub镜像</button>
</div>
<div class="footer">
<p><strong>作者:陈不丢</strong></p>
<p>GitHub: <a href="https://github.com/niehaoran/docker-cloudflare" target="_blank">niehaoran/docker-cloudflare</a></p>
<p style="margin-top: 10px;">🌟 基于 Cloudflare Workers 的全球加速服务</p>
<div style="margin-top: 20px; padding: 15px; background: rgba(66, 153, 225, 0.1); border-radius: 8px; border: 1px solid rgba(66, 153, 225, 0.3);">
<h3 style="color: #2d3748; margin-bottom: 10px; font-size: 1.1em;">🚀 推荐�