Skip to content

Commit 012ca5f

Browse files
committed
Release Update 1.0.240804, 解决跨域时Firefox、Edge等浏览器直接访问ACME服务地址(json页面)无法在控制台执行代码的问题,直接跳转到服务根目录就能正常执行了(404html页面)
1 parent 0400941 commit 012ca5f

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

ACME-HTML-Web-Browser-Client.html

+21-9
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<body>
1212
<script>
13-
var Version="1.0.230820";
13+
var Version="1.0.240804";
1414
console.log("LICENSE: GPL-3.0, https://github.com/xiangyuecn/ACME-HTML-Web-Browser-Client/blob/main/LICENSE");
1515
/***********************************
1616
中英对照翻译主要来自:Chrome自带翻译+百度翻译,由中文翻译成English(作者英文很菜)。
@@ -174,13 +174,26 @@
174174
+"\nvar PageRawHTML=`"
175175
+PageRawHTML.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"$\\{")
176176
+"`;";
177+
codes+="\nvar PageErrs="+JSON.stringify({
178+
e0:Lang("运行失败,可能是此浏览器阻止了代码执行,请尝试换个浏览器。","Run failed, may be because the browser blocked the code execution, please try another browser.",true)
179+
,e1:Lang("运行失败,解决办法:即将自动跳转到此站点的首页或404页,然后请再次粘贴代码运行","Run failed, solution: automatically jump to the homepage or 404 page of this site, then paste the code again to run",true)
180+
})+";";
177181
codes+="\n("+(function(){
178182
console.clear();
179-
document.head.innerHTML=/<head[^>]*>([\S\s]+?)<\/head>/i.exec(PageRawHTML)[1];
180-
document.body.innerHTML=/<body[^>]*>([\S\s]+)<\/body>/i.exec(PageRawHTML)[1];
181-
var js=/<script[^>]*>([\S\s]+?)<\/script>/ig,m;
182-
while(m=js.exec(PageRawHTML)) eval.call(window, m[1]);
183-
}).toString()+")()";
183+
try{
184+
document.head.innerHTML=/<head[^>]*>([\S\s]+?)<\/head>/i.exec(PageRawHTML)[1];
185+
document.body.innerHTML=/<body[^>]*>([\S\s]+)<\/body>/i.exec(PageRawHTML)[1];
186+
var js=/<script[^>]*>([\S\s]+?)<\/script>/ig,m;
187+
while(m=js.exec(PageRawHTML)) eval.call(window, m[1]);
188+
ACME.Directory.toString(); //保证js已正确执行
189+
}catch(e){ setTimeout(function(){ //部分浏览器json页面无法显示,跳转到根目录重试
190+
console.error(e);
191+
var url0=location.href, url=/^(.+\/\/[^\/\?#]+)/.exec(url0)[1];
192+
if(url==url0 || url+"/"==url0) return console.error(PageErrs.e0);
193+
console.log(PageErrs.e1); console.warn(PageErrs.e1); console.error(PageErrs.e1);
194+
alert(PageErrs.e1); location.href=url;
195+
}); }
196+
}).toString()+")();\n";
184197
$(".gotoCORSBox").hide();
185198
var stateEl=$(".acmeReadDirState").append(`
186199
<div class="gotoCORSBox" style="padding-top:15px">
@@ -1678,8 +1691,7 @@
16781691

16791692
var logTitle='/********** '+Lang($(".clientNameCN").html(),$(".clientNameEN").html(),true)+' *********/';
16801693
logTxts.push(logTitle);
1681-
logTxts.push(Lang("在线网址(GitHub):","Online website (GitHub): ", true)+'https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html');
1682-
logTxts.push(Lang("在线网址(Gitee):","Online website (Gitee): ", true)+'https://xiangyuecn.gitee.io/acme-html-web-browser-client/ACME-HTML-Web-Browser-Client.html');
1694+
logTxts.push(Lang("在线网址:","Online website: ", true)+'https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html');
16831695
logTxts.push("");
16841696
logTxts.push('GitHub: https://github.com/xiangyuecn/ACME-HTML-Web-Browser-Client');
16851697
logTxts.push('Gitee: https://gitee.com/xiangyuecn/ACME-HTML-Web-Browser-Client');
@@ -2760,7 +2772,7 @@
27602772
"use strict";
27612773

27622774
/************** Language **************/
2763-
window.LangCur=/\b(zh|cn)\b/i.test(navigator.language)?"cn":"en";
2775+
window.LangCur=/\b(zh|cn)\b/i.test((""+navigator.language).replace(/_/g," "))?"cn":"en";
27642776
window.Lang=function(cn,en,txt){
27652777
if((cn||en) && (!cn||!en))throw new Error("Lang bad args");
27662778
if(txt)return LangCur=="cn"?cn:en;

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
**本网页客户端(仅一个静态HTML网页文件)用于**:向 [Let's Encrypt](https://letsencrypt.org/)[ZeroSSL](https://zerossl.com/)[Google](https://pki.goog/) 等支持 ACME 协议的证书颁发机构,免费申请获得用于 HTTPS 的 SSL/TLS 域名证书(`RSA``ECC/ECDSA`),支持多域名和通配符泛域名;只需在现代浏览器上操作即可获得 PEM 格式纯文本的域名证书,不依赖操作系统环境(Windows、macOS都能用),无需下载和安装软件,无需注册登录,纯手动操作,**只专注于申请获得证书这一件事,简单易用,非常适用于希望手动快捷申请获得证书的使用场景**
66

7-
**在线使用网址(GitHub):** [https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html](https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html) / [Gitee镜像](https://xiangyuecn.gitee.io/acme-html-web-browser-client/ACME-HTML-Web-Browser-Client.html)
7+
**在线使用网址(GitHub):** [https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html](https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html)
88

99
**交流与支持:欢迎加QQ群 `421882406`,纯小写口令 `xiangyuecn`。如需功能定制,网站、App、小程序、前端和后端等开发需求,请加此QQ群,联系群主(即作者),谢谢~**
1010

@@ -62,7 +62,7 @@
6262

6363
## 使用方法 | Usage
6464

65-
1. **打开本网页客户端**:可以直接双击打开保存在本地的HTML文件,或者直接打开[在线网页](https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html)[gitee镜像](https://xiangyuecn.gitee.io/acme-html-web-browser-client/ACME-HTML-Web-Browser-Client.html)使用;
65+
1. **打开本网页客户端**:可以直接双击打开保存在本地的HTML文件,或者直接打开[在线网页](https://xiangyuecn.github.io/ACME-HTML-Web-Browser-Client/ACME-HTML-Web-Browser-Client.html)使用;
6666
2. **步骤一**:在网页内选择证书颁发机构,或填写支持的ACME服务地址;不同证书颁发机构需要的操作不一定相同,请根据提示进行操作;
6767
3. **步骤二**:在网页内填写需要申请证书的域名(支持多域名、通配符),和密钥等信息配置;不同证书颁发机构需要填写的配置不一定相同,请根据提示进行操作;
6868
4. **步骤三**:根据网页内显示的第三步内容,给每个域名配置好合适的域名所有权验证方式;常见的验证方式有:DNS解析中配置TXT记录进行验证、上传文件到服务器进行验证,通配符域名一般仅支持DNS验证;等全部配置完成后开始验证;

0 commit comments

Comments
 (0)