天下熙熙,皆为利来
天下攘攘,皆为利去

申请Symantec免费SSL证书时无法签发的问题详解

inxk阅读(141)

此前Symantec国内代理商联合阿里云和腾讯云为用户签发免费证书,对中小网站来说这算是个非常好的福利。

在HTTPS日渐普及的时代自然也应该为自己的网站部署HTTPS来提高安全性,但以前的SSL证书可不算便宜。

好了言归正传还是说说签发证书时的域名DNS验证问题,最近已经有非常多的网友通过蓝点网微信进行咨询。

如果你还不知道阿里云和腾讯云现在可以免费申请Symantec的SSL证书那么可以点击这里查看详细的教程

上图是我们绑定的测试域名来演示如何添加DNS解析记录,从主机记录可以看出来我们绑定的是二级域名。

这里演示特别强调二级域名是因为很多网友在二级域名绑定的时候出现了问题,从而导致DNS解析值错误。

1、主机记录:s7g7ok71j6upeeduqbcmtwjdhk9kmuno.ad.ldstu.com

2、记录值:s20170109150100.ad.ldstu.com

出现错误的绝大多数是将红色内容作为主机记录添加的,但既然是二级域名自然也要将紫色内容给添加上。

错误的主机类型:
s7g7ok71j6upeeduqbcmtwjdhk9kmuno ==> CNAME ==> s20170109150100.ad.ldstu.com
s7g7ok71j6upeeduqbcmtwjdhk9kmuno.ad.ldstu.com ==> CNAME ==> s20170109150100.ad.ldstu.com
正确的主机类型:
s7g7ok71j6upeeduqbcmtwjdhk9kmuno.ad ==> CNAME ==> s20170109150100.ad.ldstu.com

正如前面的截图那样阿里云提供的主机记录是全域名型,如果你直接复制完整的全域名粘贴到主机记录中那么就会可能出现错误的情况。

但这实际上取决的是DNS托管商那里了,因为有的DNS面板里你直接输入全域名人家会自动识别,但就小编经验来看大部分DNS面板都会将全域名视作错误记录或者是三四级域名来处理。

好了DNS解析记录的添加就说到这里了,下面说下为何出现我明明添加正确了而没有给我签发SSL证书呢?

首先需要说的是Symantec的证书签发系统采用的是自动化验证,也就是说当Symantec服务器扫描到你添加的DNS解析记录了没问题的话就会给你签发证书。

如果你确定自己添加的是正确的但又没有给你自动签发证书,那么我们可以来测试下DNS记录是否正确。

打开此地址:

http://tool.chinaz.com/dns/?type=5&host=s7g7ok71j6upeeduqbcmtwjdhk9kmuno.ad.ldstu.com&ip=

将紫色标记部分改成你自己的主机记录或者在那个页面手动输入你的主机记录然后进行查询,大概这样:

如果看到上图基本可以说明你添加的是没有问题的,但DNS生效需要些时间,尤其是Symantec位于海外。

所以服务器对你的解析记录扫描需要先生效后才能扫描到,因此你可以放心的去玩会儿再来看看签发没。

除了上述情况外阿里云强调了当你的域名里有Pay、Bank等关键词时可能会触发人工审核,届时人家会主动打电话给你进行确认(如果没有接通那自然不会给你签发)。

Mozilla旗下免费证书项目将从明年开始提供通配符证书

inxk阅读(149)

Mozilla旗下的免费数字证书项目让我们加密吧日前已经宣布将会在 2018年1月 开始向网站提供通配符证书。

网站管理员届时可以直接在服务器上配置申请可以自动续期的数字证书来部署到自己网站所使用的子域名中。

通配符证书解释:

所谓域名通配符证书也就是类似DNS解析的泛域名概念,主域名签发的通配符证书可以在所有子域名中使用。

例如蓝点网目前使用的由TrustAsia赞助的就是通配符证书,该证书可以在*.landiannews.com所有域名使用。

通配符证书的优势:

域名通配符证书最大的特点就是申请之后可以部署在子域名使用, 因此子域名方面没有必要再次申请新证书。

价格方面通配符域名证书通常会比单域名证书高几倍, 能够把价格推高的主要原因自然也就是使用的便利性。

Mozilla的自动部署签发:

基于安全性考虑Mozilla称通配符证书仅支持 DNS 验证,这样防止可能会出现申请子域名签发主域名的问题。

同时为了方便起见通配符证书依然支持自动签发续期, 对运维人员来说只要部署好了后续就基本不需要管了。

WordPress链接自动添加Noopener Noreferrer的解决办法

inxk阅读(143)

本教程已不再适用!WordPress最新版已经移除Noreferrer参数,至于Noopener 参数不对网站造成影响。


WordPress在最近的版本更新中为所有需要新窗口打开的链接都自动添加了新的Noopener Noreferrer属性。

Noopener Noreferrer 属性并不是新发布的标准,但v4.7.4版开始WordPress的编辑器默认都会添加该属性。

该属性主要是用来防范新窗口打开链接时可能存在的钓鱼攻击, 因此作为安全性内容WordPress就给添加了。

但添加后新标签页面将无法通过常规方法追踪到来源页面,这在属性的字段中已经可以看出来:No Refer 。

在升级到WordPress v4.7.4版之后原先发布的内容附带的新窗口链接并不会自动添加Noopener Noreferrer

但是如果是新发布的文章或者是你修改了之前发布的内容,那么新窗口链接全部会加 Noopener Noreferrer

解决办法:

// 这是WordPress v4.7.4版的新安全性功能,除非必要否则不建议添加此段代码
// 请将此段代码添加到你的主题的function.php底部,然后保存并上传即可 by 蓝点网
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
$mceInit['allow_unsafe_link_target']=true;
return $mceInit;
}

注意事项:

添加之后新发布的内容附带的链接如果设置为新窗口打开那么将不会再自动添加Noopener Noreferrer属性。

如果之前发布的文章已经附带了该属性即使添加之后也不会自动去除,你需要手动编辑然后依次删除新属性。

即手动编辑文章并将编辑器切换到文本模式然后将rel ="noopener noreferrer"删除掉然后保存更新就行了。

浏览器恶意脚本之下载炸弹概念验证代码(PoC)测试页

inxk阅读(147)

下载炸弹即通过网页脚本调用浏览器函数在网页加载瞬间启动数千个下载线程达到阻塞和卡死浏览器的目的。

这种恶意脚本目前主要在诈骗网站中使用,通过将用户浏览器卡死诱导用户点击或拨打诈骗团伙的诈骗电话。

下载炸弹恶意脚本目前影响多个主流浏览器,用户遭遇下载炸弹时可通过任务管理器结束浏览器进程来恢复。

本测试页通过 window.navigator.msSaveOrOpenBlob 函数不断地启动下载进程达到耗尽处理器资源目的。

请在打开本页面时务必提前打开任务管理器以便在卡死时结束浏览器进程,当然直接重启电脑也可解决问题。

下载炸弹测试页:https://dl.lancdn.com/landian/Script/dlboom_re.html (不影响IE / Edge等少数浏览器)

诈骗团伙利用下载炸弹制作的恶意网页如下效果:

百度自然搜索链接主动推送工具升级版代码

inxk阅读(141)

尽管百度搜索的口碑好像并不怎么好但毕竟百度搜索依然还是国内用户量和搜索量都是最大的网页搜索引擎。

所以对于网页开发者和网站管理员来说如何提高百度搜索的排名以及链接收录效率始终是个至关重要的问题。

因为收录太差或者排名太差的话那么可能就不会有更多的读者,网站的自然搜索流量自然也会持续低迷状态。

而百度为了解决网站的收录问题以前上线了主动推送代码,当网页被访问时网页的地址会推送至百度服务器。

百度站长工具里提供的主动推送代码:

// 当前在百度站长工具中的主动推送代码
<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

在上述推送代码中访问时会加载两个JavaScript脚本, 如果你查看脚本内容的话会发现其实也只是加载Gif图。

加载的同时会将窗口所在地址提交给百度搜索服务器, 但追求极致的开发者可以继续优化推送代码减少加载。

于是百度站长社区给出了升级版的代码:(代码来源见标题下的来源地址)

// 升级版的百度主动推送代码
<script>
	(function(){
		var canonicalURL, curProtocol;
		//Get the  tag
		var x=document.getElementsByTagName("link");
		//Find the last canonical URL
		if(x.length > 0){
			for (i=0;i<x.length;i++){
				if(x[i].rel.toLowerCase() == 'canonical' && x[i].href){
					canonicalURL=x[i].href;
				}
			}
		}
		//Get protocol
	    if (!canonicalURL){
	    	curProtocol = window.location.protocol.split(':')[0];
	    }
	    else{
	    	curProtocol = canonicalURL.split(':')[0];
	    }
	    //Get current URL if the canonical URL does not exist
	    if (!canonicalURL) canonicalURL = window.location.href;
	    //Assign script content. Replace current URL with the canonical URL
    	!function(){var e=/([http|https]://[a-zA-Z0-9_.]+.baidu.com)/gi,r=canonicalURL,t=document.referrer;if(!e.test(r)){var n=(String(curProtocol).toLowerCase() === 'https')?"https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif":"//api.share.baidu.com/s.gif";t?(n+="?r="+encodeURIComponent(document.referrer),r&&(n+="&l="+r)):r&&(n+="?l="+r);var i=new Image;i.src=n}}(window);})();
</script>

升级版的推送代码直接将原本调用的脚本内容拿了出来,因为本身这两部分内容就是静态的没必要分别调用。

同时如果网页头部带有Canonical属性的话那么会强调该属性, 也就是将指向的网址提交百度搜索的服务器。

这种情况下即使网页存在多个不同形式的地址也只会推送原地址,避免因重复推送和重复内容导致被降权了。

因为网站管理员和开发者可以直接将原推送代码换成新版, 新版加载更优秀同时可避免可能存在的重复问题。

利用智能DNS解决百度HTTPS认证不支持CDN加速域名

inxk阅读(135)

正如谷歌等其他主流搜索引擎那样国内的百度搜索目前也明确说明使用HTTPS加密协议的网站享有优先排名

同时不少地区的网络运营商即ISP会使用流量劫持的方式强行在用户访问网站时加载第三方广告代码提高收入。

因此对于网站所有者和管理员来说尽快将自己的网站部署HTTPS 加密协议强制使用该协议访问已经迫在眉睫。

百度搜索目前已经在站长工具中推广网站HTTPS 认证,稍显遗憾的是目前HTTPS认证必须全站使用301跳转。

百度搜索HTTPS认证概述:

通过HTTPS 认证的网站百度会在搜索结果中替换所有HTTP链接,即搜索结果中展现的链接均以HTTPS开头。

如果你的网站当前已经使用 HTTP 强制跳转 HTTPS,那么应该尽快前往百度站长平台进行 HTTPS 认证工作。

需要注意的是必须是HTTP使用301重定向协议跳转到HTTPS,如果你的跳转代码是302等那么无法通过认证。

认证问题:使用CDN的网站不支持认证

国内外所有主流的CDN供应商均支持强制HTTPS访问, 但这些供应商也无一例外的全部使用302临时重定向。

就连百度自家的百度云CDN也是不支持301重定向的,因此如果你的网站使用 CDN 那么将无缘HTTPS 认证

没法通过HTTPS认证也就没法享有HTTPS优先排名,显然这对于广大使用CDN的网站来说实在是比较不公平。

PS:此问题已经联系百度站长的官方工作人员进行沟通, 目前确认只要不是301跳转均无法通过HTTPS认证。

利用CloudXNS建立搜索引擎通道:

对于网站所有者和网站管理员来说搜索引擎通道应该不陌生,不过当前百度也明确了CDN不会影响网站排名。

因为前几年我们习惯于建立搜索引擎通道现在可能用不上了, 但在HTTPS认证问题中我们还真可以再次利用。

推荐使用CloudXNS 的原因在于该DNS服务器支持免费分区解析及直接建立搜索引擎专用通道引导搜索爬虫。

虽然还有不少老牌的DNS 服务器支持此类功能但基本免费版都有功能的限制需要交钱开通付费版才可以使用。

服务器上直接HTTP 301 重定向至 HTTPS

光为百度等搜索引擎建立专用的通道是不够的, 为了能够顺利完成HTTPS认证我们还需要在服务器上修改下。

具体Apache以及Nginx等服务端如果将 HTTP 301 重定向至 HTTPS 在网上教程很多在此我们就不详细说了。

最后前往百度站长工具进行HTTPS认证:

百度分享不支持HTTPS加密连接的解决方案

inxk阅读(155)

百度分享在百度公司内部应该是已经被边缘化的产品了,毕竟分享类和评论类的产品盈利方面都比较麻烦。

百度分享到目前为止估计也已经有两三年没有更新过了,其官方网站的资讯更新至今还停留在2012年的时候。

这么长时间未更新以至于现在百度系很多产品都HTTPS化了百度分享仍然还是不支持,对开发者来说很麻烦。

如果网站已经启用全站HTTPS则使用百度分享后会出现加载问题,百度分享的核心JavaScript会被拦截掉。

已经有站长在GitHub上分享了HTTPS版的解决方案,就是直接将所有代码和资源托管在自己的服务器上。

以下是百度分享HTTPS版的解决方案:

1、首先前往GitHub下载百度分享的全部资源文件:https://github.com/hrwhisper/baiduShare

2、将资源文件上传至本地服务器如蓝点网的:https://www.landiannews.com/static/api/

3、前往百度分享主页定制化你自己需要的分享内容以及排序等,然后获得的代码类型如下:

<div class="bdsharebuttonbox">
<a href="#" class="bds_more" data-cmd="more"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
</div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

4、将其中的百度分享核心JavaScript修改本地服务器中的地址,如蓝点网的:

https://www.landiannews.com/static/api/js/share.js

5、到这里绝大部分未针对百度分享代码进行修改的网站应该都是可以正常使用了。

6、Share.js中所包含的其他JavaScript、CSS以及图片等使用的是绝对路径,如果你进行定制化的修改则需要同步进行修改。

7、以下是蓝点网的百度分享完整代码,除了修改Share.js外也引入了自定义的CSS样式文件:

<div class="bdsharebuttonbox">
<span>分享到:</span>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
<a href="#" class="bds_sqq" data-cmd="sqq" title="分享到QQ好友"></a>
<a href="#" class="bds_douban" data-cmd="douban" title="分享到豆瓣网">
</a><a href="#" class="bds_twi" data-cmd="twi" title="分享到Twitter"></a>
<a href="#" class="bds_fbook" data-cmd="fbook" title="分享到Facebook"></a>
<a href="#" class="bds_youdao" data-cmd="youdao" title="分享到有道云笔记"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a>
<a href="#" class="bds_kaixin001" data-cmd="kaixin001" title="分享到开心网"></a>
<a href="#" class="bds_mail" data-cmd="mail" title="分享到邮件分享"></a>
<a href="#" class="bds_more" data-cmd="more"></a> <span>(</span><a class="bds_count" data-cmd="count" title="累计分享0次">0</a><span>)</span>
</div>
<script>
window._bd_share_config = {
common: {
"bdText" : "",
"bdMini" : "2",
"bdMiniList" : false,
"bdPic" : "",
"bdStyle" : "0",
"bdSize" : "24"
},
share: [{
bdCustomStyle: "//www.landiannews.com/static/api/css/share.css" ===>自定义样式表
}]
}
with(document)0[(getElementsByTagName("head")[0]||body).appendChild(createElement("script")).src="//www.landiannews.com/static/api/js/share.js?cdnversion="+~(-new Date()/36e5)]; ===>将本地的Share.js引入
</script>

[HTML 5] 辐射式伞状网页背景特效代码下载与使用

inxk阅读(147)

蓝点网近期在网页背景上增加了各HTML 5特效,就是你现在可以看到的网页左右两侧的蓝色的运动像素点。

这个HTML 5特效的作者和名字具体是什么就不清楚了,因此我只能将它描述为辐射式伞状网页背景特效了。

更新:人多力量大感谢网友Ladder提供的原作者链接:https://github.com/VincentGarreau/particles.js

要想在网页是上使用这个特效是非常非常简单的,只需要将以下代码加入到网站的头部中进行加载就可以了。

<script type='text/javascript' color='102,185,255' zIndex='-10' opacity='50' count='99' src='JS'><script>
//dl.lancdn.com/landian/dev/h5/canvas/canvas-nest.min.js ===>将此文件在你服务器的地址替换掉上面的JS地址

其中核心的JavaScript建议转存到你自己的服务器上进行调用,蓝点网的下载服务器指定什么时候就会挂掉。

102.185.255代表的是线条的颜色,如果你想换颜色那么直接找个颜色类工具对应颜色找到RGB值替换即可。

该特效使用的前提是网页背景必须位于特效的下方,不然效果被网页背景遮挡了那么在前台看不到任何东西。

例如本页面正文内容就不会看到这个特效,原因是基于用户反馈效果影响阅读因此我们在正文加白色的浮层。

这样子特效是被白色的浮层遮挡在下方的,因此鼠标划过特效依然还在正常运行但经过正文时看不到效果的。

WordPress可下载该插件启用:https://github.com/aTool-org/canvas-nest-for-wp/archive/master.zip

使用Go和Lets Encrypt证书系统自动化部署HTTPS加密连接

inxk阅读(139)

HTTPS 连接主要可以帮助我们加密浏览器与服务器之间的流量来确保用户的私密信息不会遭到第三方的窃取。

尤其是在国内各个地区基本都存在运营商劫持用户的访问, 并在服务器返回的流量里插入第三方的广告内容。

因此对于网站来说保持安全良好的用户体验及时部署HTTPS是必须的, 如果你还未部署那么来看本文教程吧。

使用第三方提供的HTTPS加密服务:

诸如CloudFlare等加速与防护服务会为用户提供HTTPS加密,这些服务使用通配符证书确保可被浏览器信任。

如果想要使用 CloudFlare 提供的CDN和HTTPS服务那么需要切换DNS服务器, 下面介绍的是简要操作流程。

1、前往CloudFlare注册账号然后添加你的域名信息, 添加之后会返回DNS服务器信息需要你切换DNS服务。

2、前往你的域名注册商那里找到对应域名的解析管理, 请务必先将当前存在的所有解析记录导出或者保存

3、返回CloudFlare核对自动检测的记录值是否与当前解析一致,如果不一致请务必先在CloudFlare上修改

4、保存所有的解析记录后请点击域名的DNS服务器管理,然后删除原有的DNS服务器换上CloudFlare DNS。

5、修改DNS服务器后返回CloudFlare等待DNS服务器生效,此时你可以检查CloudFlare自动检测的记录值。

6、在DNS服务器生效后请在 HTTPS 加密设置选项里将SSL设置为Full,设置之后即可开启HTTPS加密连接;

7、在Web管理界面还需要向CloudFlare提供你的服务器IP地址,设置完成后等待片刻后CDN就会开始生效;

8、作为安全建议你应该在HTTPS选项里设置总是使用HTTPS选项,设置后所有HTTP连接将重定向至HTTPS

在该解决方案中 CloudFlare 负责提供SSL证书并与浏览器进行会话,同时通过代理向网站的服务器进行通信。

由于额外的通信量可能会降低用户打开网站时的加载速度, 也可能由于CloudFlare服务器比你的服务器更快。

诸如亚马逊的AWS以及谷歌的GCP平台也同样会提供此类HTTPS服务,不过有的可能会向你收取额外的费用。

注意:因网络问题国内网站使用CloudFlare可能会降低加载速度,同时使用CloudFlare必须切换DNS服务器。

直接支持HTTPS加密连接:

在很久之前如果你想要获得SSL证书那么必须每年为证书进行付费, 然而现在 Lets Encrypt 项目改变了这点。

Lets Encrypt是 Mozilla 发起的免费的非盈利组织,该项目可为全球所有用户提供免费的SSL证书提高安全性。

在LetsEncrypt出现之前你可能需要购买证书,然后将证书存放在某处并配置你的网络服务器来启用这个证书。

有了Lets Encrypt之后你就可以直接用该项目的API获得证书,而这个过程是在你的服务器启动后自动完成的。

值得庆幸的是现在所有与 API 进行对话的艰苦工作都由其他人完成了,我们只需安装插件通过插件部署即可。

VPS安装BYPY实现百度云文件上传/下载/同步

inxk阅读(102)

简介

BYPY一个百度云/百度网盘的Python客户端。主要的目的就是在Linux环境下(Windows下应该也可用,但没有仔细测试过)通过命令行来使用百度云盘的2TB的巨大空间。它提供文件列表、下载、上传、比较、向上同步、向下同步,等操作。

由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。

据说百度PCS API最多返回目录下1000个文件(#306),如果属实,百度云盘上若有超过1000个文件的目录,将有一部分文件无法被看到/下载。

Github地址:https://github.com/houtianze/bypy

百度云PCS API地址:点击进入

安装

系统要求:Python版本要求2.7+3.3+。可以使用命令python -V查看Python版本。当然建议系统越新越好,这样Python版本自然就高了。

1、安装pip或pip3
pippip3随便选择一个安装即可。

安装pip

#CentOS 6.x 32位
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install -y python-pip

#CentOS 6.x 64位
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y python-pip

#CentOS 7.x
yum install -y epel-release
yum install -y python-pip
#如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

#Debian/Ubuntu系统
apt-get -y update
apt-get -y install python-pip

安装pip3

#CentOS系统
wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh

#查看是否安装成功
pip3 -V

2、安装bypy

#pip安装
pip install bypy

#pip3安装
pip3 install bypy

授权

执行bypy info命令,然后会给一个链接,用浏览器打开,将授权码复制过来即可。

安装完成后可以看到,在你的百度网盘的【我的应用数据】下面已经多了一个【bypy】目录,你以后通过VPS所上传的文件都会在这个目录下面,你也只能下载这个目录里面的文件。

操作命令

1、显示网盘根目录(bypy)的文件列表:

bypy list

2、比较当前目录和网站根目录文件:

bypy compare

3、上传单个文件的命令如下:

bypy upload 文件名

4、把当前目录上传到云盘:

bypy syncup 目录地址
or
bypy upload 目录地址

5、下载单个文件的命令如下:

bypy downfile 下载文件名

6、把云盘内容下载到本地来:

bypy syncdown 目录地址
or
bypy downdir 目录地址

更多命令和详细解释请运行bypy命令。