<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
            <title type="text">思悟博客</title>
            <subtitle type="text">前端菜鸡一枚</subtitle>
    <updated>2025-07-09T11:00:49+08:00</updated>
        <id>http://blog.chaolucky.com</id>
        <link rel="alternate" type="text/html" href="http://blog.chaolucky.com" />
        <link rel="self" type="application/atom+xml" href="http://blog.chaolucky.com/atom.xml" />
    <rights>Copyright © 2026, 思悟博客</rights>
    <generator uri="https://halo.run/" version="1.5.4">Halo</generator>
            <entry>
                <title><![CDATA[18位身份证校验码算法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/18-wei-shen-fen-zheng-xiao-yan-ma-suan-fa" />
                <id>tag:http://blog.chaolucky.com,2025-02-17:18-wei-shen-fen-zheng-xiao-yan-ma-suan-fa</id>
                <published>2025-02-17T12:35:27+08:00</published>
                <updated>2025-02-17T12:35:27+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>18位数身份证校验位校验码获取，或校验是否为合法身份证号：</p><pre><code class="language-javascript">function idNumChecker(base) {    let mutiplier = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];    if (base.length != 17) {        return false;    } else {        let sum = 0;        for (let i = 0; i &lt; 17; i++) {            sum += parseInt(base[i]) * mutiplier[i];        }        let mod = sum % 11;        let check = [&#39;1&#39;,&#39;0&#39;,&#39;X&#39;,&#39;9&#39;,&#39;8&#39;,&#39;7&#39;,&#39;6&#39;,&#39;5&#39;,&#39;4&#39;,&#39;3&#39;,&#39;2&#39;];        return check[mod];        if (base[17] == check[mod]) {            return true;        } else {            return false;        }    }}</code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[HTTP报文与TCP连接数据传送研究 ]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/http报文与tcp连接数据传送研究" />
                <id>tag:http://blog.chaolucky.com,2024-07-26:http报文与tcp连接数据传送研究</id>
                <published>2024-07-26T16:10:13+08:00</published>
                <updated>2024-07-26T17:01:20+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h3 id="%E5%89%8D%E8%A8%80" tabindex="-1">前言</h3><p>都知道超文本传输协议（http）是承载于tcp连接之上的，并且一个http请求至少要发起一次tcp链接，那么，他们之间的数据交换究竟是怎么样的呢？</p><h3 id="http%E6%8A%A5%E6%96%87" tabindex="-1">HTTP报文</h3><p>常见的就是浏览器作为一个TCP客户端，HTTP服务器其实就是一个TCP服务端，比如nginx，在运行之后，nginx会监听指定的端口，一般是80端口，https则默认是443；<br />TCP上是可以发送任意数据的，最底层就是二进制，就像串口一样，之后根据编码解析成数据，比如UTF-8，再深入可以去了解网络的7层模型；<br />发起一个请求，其实就是传输了一段文本至HTTP（TCP）的服务端，而请求什么，请求条件，请求之后要怎么样，都是在HTTP报文头部来确定，下面就是一个HTTP报文，它发起了一个GET请求，请求网站的根目录：/</p><pre><code class="language-plaintext">GET / HTTP/1.1Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Accept-Encoding: deflateCache-Control: no-cacheDNT: 1Host: www.baidu.comPragma: no-cacheProxy-Connection: keep-aliveUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36（注意：1）</code></pre><p><em>注意点1：此处结尾一定要有回车换行符，否则服务器会一直处于接收状态，视为未发送完整内容</em></p><p>可见HTTP报文头部内容是类似key：value的键值对，key为设置项，或者也叫配置项，后面的内容为值，http server在得到这一串数据之后，就会进行解析，比如开头的GET，表示这是一个GET请求，使用http1.1版本，Accept告诉了服务器允许接收的数据类型，下面约定了语言，是否压缩，缓存与否，用户标识，是否保持链接等等等等，服务器会根据请求的内容进行响应。</p><p><strong>下面是HTTP报文格式</strong></p><p><img src="/upload/2024/07/baowengeshi.png" alt="baowengeshi" /></p><p><strong>下面是常见的HTTP报文含义</strong></p><table><thead><tr><th>请求头</th><th>含义</th></tr></thead><tbody><tr><td>User-Agent</td><td>产生请求的浏览器类型，User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器</td></tr><tr><td>Accept</td><td>客户端可识别的响应内容类型列表。eg：Accept：image/gif，表明客户端希望接受GIF图象格式的资源；Accept：text/html，表明客户端希望接受html文本。</td></tr><tr><td>Accept-Language</td><td>客户端可接受的自然语言</td></tr><tr><td>Accept-chartset</td><td>客户端可接受应答的字符集。eg：Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域，缺省是任何字符集都可以接受。</td></tr><tr><td>Accept-Encoding</td><td>客户端可接受的编码压缩格式</td></tr><tr><td>HOST</td><td>请求的主机名称，允许多个域名同处一个IP之地，即虚拟主机</td></tr><tr><td>Connection</td><td>连接方式（close或keep-alive）</td></tr><tr><td>Cookie</td><td>存储于客户端扩展字段，向同一域名的服务端发送该域的cookie</td></tr><tr><td>Authorization</td><td>Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问一个页面时，如果收到服务器的响应代码为401（未授权），可以发送一个包含Authorization请求报头域的请求，要求服务器对其进行验证。</td></tr></tbody></table><h3 id="%E5%AE%9E%E8%B7%B5" tabindex="-1">实践</h3><p>使用上面的内容HTTP报文请求百度首页：</p><p><img src="/upload/2024/07/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-07-26%20163853.png" alt="屏幕截图 2024-07-26 163853" /></p><p>根据上图可发现，百度服务器响应了一段HTTP报文，以及HTML内容，其中HTTP状态码为302，说明需要切换地址，因为这里请求的是80段口的http，而百度默认使用的是https进行对外服务，https与http相比，前者更加安全，传输过程中为加密传输，而http为明文，所以我们能看到具体内容。</p><p><strong>GZIP</strong><br />上面请求的是普通页面，那是否可以请求文件呢？比如css文件？当然是可以的。我们来试试，这次使用bpic.chaolucky.com下的css文件：</p><pre><code class="language-plaintext">GET /static/css/vue.css HTTP/1.1Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Accept-Encoding: gzip, deflateCache-Control: no-cacheDNT: 1Host: bpic.chaolucky.comPragma: no-cacheProxy-Connection: keep-aliveUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36</code></pre><p>这个请求头请求了一个/static/css/vue.css文件，我们来看响应：</p><p><img src="/upload/2024/07/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-07-26%20164345.png" alt="屏幕截图 2024-07-26 164345" /></p><p>服务器的响应头没有问题，但是，，嗯。。？好像内容是乱码？这是怎么回事？<br />其实这是因为请求头中<code>Accept-Encoding: gzip, deflate</code>的gzip导致的。由于传输时一些文件比较大，会影响传输的时间，所以一般会默认开启gzip压缩，来保证传输的内容相对减少一点，我们给gzip去掉试试：</p><p><img src="/upload/2024/07/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-07-26%20164714.png" alt="屏幕截图 2024-07-26 164714" /></p><p>好了，这次就是返回了我们平时见到的一模一样的css内容了，js文件同理。</p><h3 id="%E6%9C%8D%E5%8A%A1%E7%AB%AF%EF%BC%9F" tabindex="-1">服务端？</h3><p>如果我们来当服务端会怎么样？是不是就可以对外提供HTTP服务了？答案是当然可以。将软件修改成TCP Server模式，地址为本机地址，端口我们使用8080：</p><p><img src="/upload/2024/07/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-07-26%20164932.png" alt="屏幕截图 2024-07-26 164932" /></p><p>之后打开浏览器，输入网址 <a href="http://127.0.0.1:8080/%E4%B9%8B%E5%90%8E%E5%9B%9E%E8%BD%A6%EF%BC%8C%E4%BC%9A%E5%8F%91%E7%8E%B0%E6%B5%8F%E8%A7%88%E5%99%A8%E5%A4%84%E4%BA%8E%E5%8A%A0%E8%BD%BD%E5%8D%A1%E6%AD%BB%E7%8A%B6%E6%80%81%EF%BC%8C%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%94%B6%E5%88%B0%E4%BA%86%E6%9D%A5%E8%87%AA%E6%B5%8F%E8%A7%88%E5%99%A8%E7%9A%84%E8%AF%B7%E6%B1%82%E6%8A%A5%E6%96%87%EF%BC%9A" target="_blank">http://127.0.0.1:8080/之后回车，会发现浏览器处于加载卡死状态，然后我们的服务端收到了来自浏览器的请求报文：</a></p><p><img src="/upload/2024/07/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-07-26%20165115.png" alt="屏幕截图 2024-07-26 165115" /></p><p>我们复制一份响应头，然后发送出去：</p><pre><code class="language-plaintext">HTTP/1.1 200 OKServer: nginxDate: Fri, 26 Jul 2024 08:02:09 GMTContent-Type: text/html; charset=UTF-8Content-Length: 710Connection: closeX-Powered-By: ExpressAccess-Control-Allow-Origin: *Access-Control-Allow-Methods: *Access-Control-Allow-Headers: Content-TypeAccept-Ranges: bytesCache-Control: public, max-age=0Last-Modified: Sun, 13 Nov 2022 07:55:22 GMTETag: W/&quot;2c6-1846ffc6210&quot;X-Cache: MISS&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;TCP测试&lt;/title&gt;    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge,chrome=1&quot; /&gt;    &lt;meta name=&quot;description&quot; content=&quot;Description&quot;&gt;    &lt;meta name=&quot;viewport&quot;        content=&quot;width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0&quot;&gt;&lt;/head&gt;&lt;body&gt;    &lt;h1&gt;这是一个TCP服务端手动发送来的请求&lt;/h1&gt;    &lt;div id=&quot;app&quot;&gt;这是一个TCP服务端手动发动来的请求&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><p><img src="/upload/2024/07/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-07-26%20165155.png" alt="屏幕截图 2024-07-26 165155" /></p><p>发现浏览器获取到了我们发送的内容，并且正确解析了其中的html代码</p><p>如果这时打开浏览器的F12,找到对应请求的timing，会发现大部分时间都是在Waiting For Server Resopnse.所以以后在前端加载优化的时候，可以根据这个来判断是前端加载还是后端加载问题，具体是哪一环出了问题。</p><hr /><p>请求头中有一个<code>Connection</code>，可以选择为Keep-Alive，在一次性有很多请求的时候，一定要选择这个，这样可以复用TCP链接，否则每一次请求都需要建立一次TCP链接，每次都需要三次握手四次挥手，虽然手不累，但是时间会变久，这也是可优化项之一。</p><hr /><p>就酱！可以自己动手研究一下，这里没有提到POST以及HTTPS。</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[chatGPT升级Plus订阅或充值API Key的方法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/chatgpt-sheng-ji-plus-ding-yue-huo-chong-zhi-apikey-de-fang-fa" />
                <id>tag:http://blog.chaolucky.com,2023-05-01:chatgpt-sheng-ji-plus-ding-yue-huo-chong-zhi-apikey-de-fang-fa</id>
                <published>2023-05-01T12:46:00+08:00</published>
                <updated>2023-05-01T13:01:45+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E9%9C%80%E8%A6%81%E5%87%86%E5%A4%87%E7%9A%84" tabindex="-1">需要准备的</h2><p>这次要准备的东西有点多，步骤也不少，害怕的小老弟小老妹可以先撤了</p><ul><li>高级网络环境</li><li>chatGPT账号</li><li>加密货币USDT</li><li>国外信用卡或借记卡（可以是虚拟的，后面有路子）</li><li>老美的住宅网络环境（住宅IP）</li><li>支持代理链的网络工具</li></ul><h2 id="%E5%BC%80%E5%A7%8B" tabindex="-1">开始</h2><p>由于OpenAI刚注册的账号是会送18美元的，所以刚申请的账号的API可以使用一阵子，但是这18美元的免费额度是有时间限制，而且Plus订阅是无法使用这18美元的额度的，所以只能绑定支付方式，来进行使用：</p><h3 id="1.%E9%A6%96%E5%85%88%E5%87%86%E5%A4%87%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F" tabindex="-1">1.首先准备支付方式</h3><p><strong>OpenAI不支持国内银行发行的VISA卡或者MasterCard</strong>，如果是在美留学或者是手里有美国本土的信用卡或者借记卡的大佬，可以直接跳过这一步<br />人在国内，目前可通过申请虚拟银行卡的方式：</p><h4 id="%E6%B3%A8%E5%86%8C%E7%99%BB%E5%BD%95depay" tabindex="-1">注册登录Depay</h4><p>目前相对成本低廉且靠谱的平台是Depay，平台是合法合规的，可以使用我的邀请码注册（感谢）：<a href="https://depay.depay.one/web-app/register-h5?invitCode=861744&amp;lang=zh-cn" target="_blank">https://depay.depay.one/web-app/register-h5?invitCode=861744&amp;lang=zh-cn</a></p><p><img src="/upload/2023/05/image.png" alt="image" /></p><p>注册之后，有两个选择<br /><strong>1：花10美元申请一个匿名卡，不需要实名认证，保证匿名性，需要先看下面的充值方法</strong><br /><strong>2：KYC实名认证后免费使用标准卡开卡并获得卡号</strong><br />在完成开卡之后，需要进行充值，你会发现不能只用美元或欧元的方式进行充值，因为目前只支持使用加密货币USDT</p><h4 id="%E6%B3%A8%E5%86%8Cokx%E6%88%96%E7%81%AB%E5%B8%81%E4%BB%A5%E8%B4%AD%E4%B9%B0usdt%EF%BC%88%E5%8A%A0%E5%AF%86%E8%B4%A7%E5%B8%81%E6%9C%89%E9%A3%8E%E9%99%A9%EF%BC%8C%E8%AF%B7%E6%85%8E%E9%87%8D%EF%BC%89" tabindex="-1">注册OKX或火币以购买USDT（加密货币有风险，请慎重）</h4><p>平台任意选一个，这里以OKX为例：<a href="https://www.okx.com/cn" target="_blank">https://www.okx.com/cn</a><br />下载注册该平台，然后需要实名认证，之后选择充币，选择法币充值，1USDT等于一美元，至少购买10美元，后期会扣一定的手续费。<br /><strong>注意：购买时一定走平台指定的支付方式</strong></p><h4 id="%E9%93%BE%E4%B8%8A%E6%8F%90%E5%B8%81" tabindex="-1">链上提币</h4><p>在OKX平台有虚拟货币之后，需要在Depay中找到“钱包” → “充币” → USDT，选择一个主网，Polygon的手续费便宜，但是速度慢，TRC20速度快但是手续费高，酌情考虑选择。<br />选择之后获取到一串字符，这个就是你的Debay钱包地址，需要在OKX中选择提币，<strong>注意：提币网络和Depay中选择的网络必须一致！是一致到名字完全一样的一致！否则你的钱就没了</strong>，输入Depay的提币地址，然后输入你需要转出的数量，等待即可。</p><p><img src="/upload/2023/05/image-1682945024759.png" alt="image-1682945024759" /></p><h4 id="%E5%85%85%E5%80%BC%E8%87%B3depay" tabindex="-1">充值至Depay</h4><p>在区块链网络确认提币到账之后，你可以在depay的钱包中看到你的USDT数量，一般提币时间不超过5分钟；<br />在depay中选择<code>实时兑换</code>，将USDT兑换成美元USD，过程中depay会收取1USD的手续费（说实话，有点贵）<br />至此，一个虚拟银行卡就搞定了。</p><p><em>depay除了支持OpenAI之外，很多国外的平台其实都支持，比如注册美服的AppleID后，可以绑定这张卡为支付方式，其他一些网站也可以走depay支付，并且支持绑定国内的支付宝与微信京东等平台，但是由于充值手续费不低，暂时不建议国内平台使用。</em></p><h3 id="2.%E4%BD%8F%E5%AE%85ip%E7%8E%AF%E5%A2%83" tabindex="-1">2.住宅IP环境</h3><p>OpenAI绑定支付方式时的网络环境比较苛刻，否则会提示<code>your payment method was declined</code>。有很小的概率是你的depay卡有问题，不过99%的问题是网络环境不对。如果你当前的网络环境出口ip类型中国大陆，或机房ip，或其他商业ip，又或者是高风险黑名单IP，那一定是绑定不上的。具体的可以在这里查看你的类型：<br /><a href="https://ipinfo.io/" target="_blank">https://ipinfo.io/</a><br />如下图：<br /><img src="/upload/2023/05/image-1682945034858.png" alt="image-1682945034858" /></p><p>如果<code>type</code>是<code>isp</code>，那么恭喜你，可以使用，代表是普通家用环境，如果是<code>hosting</code>或者<code>business</code>， 那么你需要使用代理。</p><h4 id="%E5%AE%B6%E7%94%A8%E4%BB%A3%E7%90%86" tabindex="-1">家用代理</h4><p>可以在这个平台上购买Socket5协议的代理：<a href="https://www.ip2world.com/" target="_blank">https://www.ip2world.com/</a><br />注册之后，选择家用ISP，酌情买一天的或者一周的就行，地区尽量选美国，然后在红线的地方输入优惠码：<code>UFnrTxOMGzobVyi2</code><br /><img src="/upload/2023/05/image-1682945052819.png" alt="image-1682945052819" /><br />付完款之后，需要创建用户：<br /><img src="/upload/2023/05/image-1682945060519.png" alt="image-1682945060519" /><br />之后在 <strong><code>Static ISP Panel</code></strong> 中找到你的刚刚买的IP地址，具体代理怎么使用这里就不教了，推荐使用工具<code>Proxifier</code>，注意一定要使用代理链。<br /><img src="/upload/2023/05/image-1682945067563.png" alt="image-1682945067563" /><br />具体使用请自行上网搜索教程。另外可参考文章：<a href="https://mailberry.com.cn/2023/03/socks5-staic-isp-ip/" target="_blank">https://mailberry.com.cn/2023/03/socks5-staic-isp-ip/</a></p><h3 id="3.%E7%BB%91%E5%AE%9Aopenai" tabindex="-1">3.绑定OpenAI</h3><p>网络环境处理好了之后，使用正确的环境打开OpenAI的地址：<a href="https://platform.openai.com/login" target="_blank">https://platform.openai.com/login</a><br />点击右上角的头像选择<code>Manage Account</code>，之后找到<code>Billing</code>， 选择<code>Payment Method</code>，然后新增一个支付方式</p><p><strong><span style="color:red">如果你是开通chatGPT Plus， 此处是登录后进入到你开通填写支付方式的页面。</span></strong></p><h4 id="%E6%9F%A5%E7%9C%8B%E4%BD%A0ip%E7%9A%84%E5%9C%B0%E5%8C%BA" tabindex="-1">查看你IP的地区</h4><p>在 <a href="https://ipinfo.io/" target="_blank">https://ipinfo.io/</a> 上查看具体的地区，然后<strong>地址尽量填写和你IP地区相近的地方</strong><br />具体的信息可以使用美国地址生成之后来填写：<a href="https://www.meiguodizhi.com/" target="_blank">https://www.meiguodizhi.com/</a></p><p>之后应该就绑定成功了。<br /><img src="/upload/2023/05/image-1682945077197.png" alt="image-1682945077197" /></p><hr /><p>至此，你应该拥有了一个有支付方式的OpenAI账号，如果你还没有注册，你可以参考之前的文章先去手动注册，不推荐购买账号，或有较大的概率被封禁，因为都是批量注册的。</p><hr /><p>搬运自自己的博客：<a href="https://www.cnblogs.com/chaolucky/p/17366946.html" target="_blank">https://www.cnblogs.com/chaolucky/p/17366946.html</a><br />欢迎关注。</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[在命令行使用chatGPT]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/usechatgptincli" />
                <id>tag:http://blog.chaolucky.com,2022-12-07:usechatgptincli</id>
                <published>2022-12-07T11:01:17+08:00</published>
                <updated>2022-12-07T11:40:23+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>首先感谢该开源项目： <a href="https://github.com/acheong08/ChatGPT" target="_blank">https://github.com/acheong08/ChatGPT</a></p></blockquote><p>废话不多说，直接开始：</p><h2 id="%E9%9C%80%E8%A6%81%E5%87%86%E5%A4%87%E7%9A%84" tabindex="-1">需要准备的</h2><ol><li>网络：能稳定访问github</li><li>python环境：<a href="https://www.python.org/downloads/" target="_blank">https://www.python.org/downloads/</a></li><li>代码编辑工具：推荐vscode，pycharm亦可，不推荐使用记事本😬</li><li>openAI chatGPT账号（如何注册可参考上一篇文章）</li></ol><h2 id="%E6%AD%A5%E9%AA%A4" tabindex="-1">步骤</h2><ol><li>（假设你的电脑上已经正确安装了git，没安装的话直接download zip也可）首先克隆项目，<code>git clone  https://github.com/acheong08/ChatGPT</code>，如果原作者给删除了项目，可以从我备份的这一份克隆：<a href="https://github.com/chengjunchao/ChatGPT" target="_blank">https://github.com/chengjunchao/ChatGPT</a></li><li>安装python，安装了的跳过这一步</li><li>在项目路径下打开命令行，可以输入<code>python .\setup.py --help</code>来查看使用帮助(下图)，我们执行<code>python .\setup.py build</code>来构建lib包<br /><img src="/upload/2022/12/image-1670411733205.png" alt="help" /><br /><img src="/upload/2022/12/image-1670411796517.png" alt="build" /></li><li>之后执行命令<code>python .\setup.py install</code>进行安装<br /><img src="/upload/2022/12/image-1670411909372.png" alt="install" /></li><li>安装成功之后，需要在项目的<code>config.json</code>文件中，添加你的账号信息，或者web页面的token:</li></ol><pre><code class="language-json">{    &quot;email&quot;: &quot;&lt;YOUR_EMAIL&gt;&quot;,    &quot;password&quot;: &quot;&lt;YOUR_PASSWORD&gt;&quot;}</code></pre><p>使用token的话，打开https://chat.openai.com/chat，登录，之后按F12打开开发者工具，点击上面的<code>application</code>，然后找到<code>cookie</code>中的<code>__Secure-next-auth.session-token</code>，将你的token放到<code>config.json</code>中：</p><pre><code class="language-json">{    &quot;session_token&quot;: &lt;YOUR TOKEN&gt;}</code></pre><p>这一部分的配置，可以参考：<br /><a href="https://github.com/acheong08/ChatGPT/wiki/Setup#install" target="_blank">https://github.com/acheong08/ChatGPT/wiki/Setup</a><br />6. 完成后，在命令行中继续输入<code>python -m resChatGPT</code>就可以使用了</p><h2 id="%E5%85%B6%E4%BB%96" tabindex="-1">其他</h2><p>可以对该项目进行二次开发，<code>__main__.py</code>中实例化了一个<code>Chatbot</code>对象，该对象原型在<code>resChatGTP.py</code>中，参考<code>__main__.py</code>的代码可以将其作为其他用途，比如自己开发一个新的Web界面，哈哈~<br /><img src="/upload/2022/12/image-1670413000360.png" alt="code" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[注册OpenAI账号，体验ChatGPT]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/redisteropenaichatgpt" />
                <id>tag:http://blog.chaolucky.com,2022-12-06:redisteropenaichatgpt</id>
                <published>2022-12-06T08:12:33+08:00</published>
                <updated>2022-12-06T08:13:40+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E9%9C%80%E8%A6%81%E5%87%86%E5%A4%87%E7%9A%84" tabindex="-1">需要准备的</h2><ul><li>邮箱</li><li>科学上网</li><li>1~2 RMB</li></ul><h2 id="%E6%AD%A5%E9%AA%A4" tabindex="-1">步骤</h2><ol><li>打开<a href="https://chat.openai.com/auth/login" target="_blank">https://chat.openai.com/auth/login</a>，使用自己的邮箱注册一个账号</li><li>科学上网，开全局模式，使用非我国的节点，推荐日本、漂亮国、新加坡、印度</li><li>在你的邮箱点击注册的时候给你发的验证链接地址，在输入手机号的页面停下</li><li>打开<a href="https://sms-activate.org/cn" target="_blank">https://sms-activate.org/cn</a>，注册一个账号，然后选择首页的左边的搜索框，搜索openAI： 如下图<br /><img src="/upload/2022/12/image.png" alt="sms-openai" /></li><li>选择一个国家的进行购买，购买前先充值，我选的印度，0.2美元都有多的</li><li>输入你买的手机号，然后点击获取验证码，等待</li><li>找到你的验证码，然后填写进去，完成！<br /><img src="/upload/2022/12/sms-sctivate.com_buy.png" alt="sms-sctivate.com_buy" /></li></ol><h2 id="%E6%B3%A8%E6%84%8F" tabindex="-1">注意</h2><p>注册成功之后，使用的时候也需要开科学上网，否则：<br /><img src="/upload/2022/12/image-1670314054819.png" alt="image-1670314054819" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Typora免费使用方法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/typoramd" />
                <id>tag:http://blog.chaolucky.com,2022-11-26:typoramd</id>
                <published>2022-11-26T14:51:44+08:00</published>
                <updated>2025-07-09T11:00:49+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>中文网：<a href="https://typoraio.cn/" target="_blank">https://typoraio.cn/</a></p><p>官网：<a href="https://typora.io/" target="_blank">https://typora.io/</a></p><p>众所周知，typora在更新到新版本之后会变成收费版本，89元三台设备，并且如果是以前的，并且如果是以前的老版本，也会弹出提示让你去升级到最新的版本，关闭提示就会退出软件，是无法正常使用的。</p><p><img src="/upload/2022/11/image-1669474484102.png" alt="image-1669474484102" /></p><h3 id="%E5%AE%89%E8%A3%85" tabindex="-1">安装</h3><p>不废话，直入主题：要正常使用还是得装旧版本的才行，官网下载的最新版无法进行修改；</p><blockquote><p><strong>官网下载：</strong> <a href="https://typoraio.cn/releases/all" target="_blank">https://typoraio.cn/releases/all</a> （所有版本中找低版本的）</p><p><strong>本站下载：</strong> <a href="http://file.chaolucky.com/?dir=blog/Typora" target="_blank">http://file.chaolucky.com/?dir=blog/Typora</a><br /><strong>蓝奏云：</strong> <a href="https://yxmiaoyu.lanzouo.com/b01cyja5c" target="_blank">https://yxmiaoyu.lanzouo.com/b01cyja5c</a> （密码：windows）</p></blockquote><p>下载完毕后安装，随便安装到哪里都行，看自己心情😏</p><h3 id="%E2%80%9D%E4%BF%AE%E6%94%B9%E2%80%9C" tabindex="-1">”修改“</h3><hr /><h4 id="%E6%80%9D%E8%B7%AF" tabindex="-1">思路</h4><p><em>等不及想要解决办法的可以直接跳过这一节，感兴趣的可以看看</em></p><p>打开软件的安装文件夹，仔细观察其实不难发现软件是用electron做的，（对，就是内置了个chrome渲染的html页面，微软的vscode也是这个东西做的），但是解包了app.asar之后也很难去解决打开软件之后提示的问题，其实这个判断并不在web项目里面。</p><p>网上搜索了资料之后，有人说修改了电脑的日期之后可以，但是又有些人说不行，经过我的实测发现不行。之后发现了注册表中的项目，<code>IDate</code>，修改了之后，每次打开软件会被自动纠正，那么肯定是根据本机的当前时间计算之后被修改了，导致修改了值无效，也就是我亲测无效的原因，那么…不给权限就好了！</p><h4 id="%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95" tabindex="-1">解决办法</h4><p>win+r 输入regedit打开注册表，根据这个路径找到typora的注册表项：<code>\HKEY_CURRENT_USER\Software\Typora</code> 你会发现一个叫<code>IDate</code>的字符串值，修改值为离你目前最近的日期（注意格式），或者直接进行下一步；</p><p><img src="/upload/2022/11/2022-11-26_224451.png" alt="注册表" /></p><p>在typora项上直接右键，点击<code>权限</code>，然后吧所有的用户的权限的读取权限都设置为<code>拒绝</code>，之后确定，关掉注册表编辑器即可。</p><p><img src="/upload/2022/11/2022-11-26_224550.png" alt="权限设置" /></p><hr /><p>如果对你有帮助，希望可以分享一下，感谢，希望你看的开心 : )</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[sstap：简单快速的全局代理（游戏加速）免费加速器]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/sstapuse" />
                <id>tag:http://blog.chaolucky.com,2022-11-23:sstapuse</id>
                <published>2022-11-23T05:12:16+08:00</published>
                <updated>2022-11-23T05:38:59+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>SSTap支持SS/SSR全局代理，设置简单，简单快速的将SSR变成游戏加速器。 这个软件的作者同时也是SSCAP、SocksCap64这两个软件的作者，SocksCap64是通过钩子来到达让指定软件/游戏走代理的，在某些软件/游戏中大概会不可用，<strong>甚至部分游戏会有封禁风险（当成外挂之类的）</strong>，以是作者就根据大家的需求，开发一个更好的 代理转全局软件给大家，那就是SSTAP。</p><p><img src="/upload/2022/11/657603249b1.jpg" alt="SSTap" /></p><h2 id="stap%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D" tabindex="-1">STAP简单介绍</h2><p>SSTap全称<strong>SOCKSTap</strong>, 是一款使用虚拟网卡在网络层实现代理的工具。 SSTap能在网络层拦截全部连接并转发给HTTP、SOCKS4/5、Shadowsocks、ShadowsocksR代理。 而无需对被代理的应用程序做任何修改或设置。 它能同时转发TCP、UDP数据包。 它非常合适于游戏玩家使用。</p><blockquote><p>SSTAP本站下载： <a href="https://down.chaolucky.com/?dir=blog/SSTap" target="_blank">https://down.chaolucky.com/?dir=blog/SSTap</a><br />SSTAP 全版本备份下载地址（gitee也有）（<strong>推荐本地址</strong>）：<a href="https://github.com/solikethis/SSTap-backup" target="_blank">https://github.com/solikethis/SSTap-backup</a><br />SSTAP官方网站： <a href="https://www.sockscap64.com/sstap/" target="_blank">https://www.sockscap64.com/sstap/</a><br />SSTAP动态订阅： <a href="https://www.sockscap64.com/newsletters-subscribe/" target="_blank">https://www.sockscap64.com/newsletters-subscribe/</a> SSTAP Telegram群组： <a href="https://t.me/tarolab" target="_blank">https://t.me/tarolab</a> （SocksCap64/SStap/SScap相关问题讨论）<br />SSTAP Telegram频道： <a href="https://t.me/taronews" target="_blank">https://t.me/taronews</a> （SocksCap64/SStap/SScap相关问题讨论）<br /><em>额外代理规则下载 <strong>（请先阅读其说明）</strong>：<a href="https://github.com/FQrabbit/SSTap-Rule" target="_blank">https://github.com/FQrabbit/SSTap-Rule</a></em></p></blockquote><ul><li><strong>注意：</strong><br /><span style="color:red">在使用这个软件代理转全局之前，请先拥有一个 可用的Shadowsocks、ShadowsocksR订阅地址，或者节点，而且假如你要玩游戏，那么你的节点需要支持UDP转发 ，不然部分游戏大概会无法链接。</span>留意：SSTAP并不需要配合Shadowsocks、ShadowsocksR客户端使用。</li></ul><h2 id="sstap-%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85" tabindex="-1">SSTAP 下载安装</h2><p>一开始自然是下载安装啦。 <strong>SSTAP官方网站：</strong> <a href="https://www.sockscap64.com/sstap/" target="_blank">https://www.sockscap64.com/sstap/</a><br />SSTAP Telegram频道： <a href="https://t.me/taronews" target="_blank">https://t.me/taronews</a> （SocksCap64/SStap/SScap相关问题讨论）<br />大家从上面的官网或者TG频道中下载 SSTAP的压缩包，如 SSTap-beta-setup-x.x.x.x.exe.7z 文件，使用压缩软件解压这个压缩包，得到一个名为 SSTap-beta-setup-x.x.x.x.exe 的文件。 我们 以管理员身份运行这个文件 ，会提示你选择安装语言，默认中文，直接下一步即可（ 选择安装目次的步骤建议改一下，不建议安装到C盘 ），然后就会进入安装进度条步骤，安装过程中会提示你需要安装一个网络设备， <span style="color:gray"><em>由于SSTAP想要拦截网络上的全部流量，就必须创建一个虚拟网卡 ，以此让全部网络流量都经过虚拟网卡， 这样才能实现“真 · 全局代理”</em></span>。假如不出意外，很快就会安装完毕，然后会自动运行SSTAP。</p><h2 id="sstap-%E8%AE%BE%E7%BD%AE%E6%AD%A5%E9%AA%A4" tabindex="-1">SSTAP 设置步骤</h2><p>下面就是SSTAP的主界面了，很简便，接下来我们就是添加 Shadowsocks/ShadowsocksR代理了。<br />点击下图红框所圈中的 + 号按钮 ，然后可以看到三个选项： 添加SOCKS代理… 添加SS/SSR代理… 通过SS/SSR链接批量添加代理…</p><p><img src="/upload/2022/11/0c0153.jpg" alt="添加节点" /></p><p>根据自己的需求选择添加方法，这里以第三个： 添加SS/SSR链接批量代理… 为例。 选择 添加SS/SSR链接批量代理… 选项后，就会看到如下界面（固然都是空的），然后我们可以通过 ss://链接 或 ssr://链接 的方法添加。</p><p><img src="/upload/2022/11/04bd789ba76.jpg" alt="添加节点" /></p><p>在这里粘贴你的SSR节点的代码，然后你就可以看到一串节点了。<br />除此方法以外，另有一个<strong>添加订阅链接的方法</strong>。这个方法更轻便，而且以后更新了节点也不需要手动更新。</p><p><img src="/upload/2022/11/c80555458dec69.jpg" alt="添加订阅地址" /></p><p>点击连接旁边的齿轮（设置）按钮，然后选择添加SSR订阅  之后将运营商提供的节点订阅链接粘贴进去，完成！它会主动更新全部节点。</p><p><img src="/upload/2022/11/97af6504e6ca312e2.jpg" alt="订阅地址" /></p><p>添加好SS/SSR节点之后，选择一个你想使用的节点，并点击最右边的 闪电按钮 ，就会主动开始 测试该SS/SSR账号TCP和UDP是否可用，<br />选好之后，下面另有一个 “模式” 选项。为什么说SSTap支持全局代理呢？传统的SS/SSR只能给浏览器或者一些其他可以设置代理服务器的程序使用，但是有些程序没有这个选项，就比如你需要git clone一个项目，但是github又被和谐了的情况，<br />由于这个程序虚拟了一个网卡，整台电脑就通过虚拟网卡连接网络，这样就解决了这个问题。 假如上面测试步骤之后，你的节点可用（TCP与UDP），那么继续向下看吧~ （经过本人的测试，1.0.9.7版本现在可正常使用。）</p><p>该版本支持以下五个模式：</p><ul><li><strong>全局：</strong> 顾名思义，整个电脑网络全部流量全部都走代理， 如果想让所有的数据都走代理，就选这个</li><li><strong>仅网页浏览器（全局）：</strong> 所有的HTTP请求通过代理进行连接，网页的数据都会被代理</li><li><strong>仅网页浏览器（跳过中国站点）：</strong> HTTP请求会被拦截，但是目标地址如果是国内的，则直接连接，国外的则通过代理连接。（平时推荐使用这个）</li><li><strong>仅代理中国IP：</strong> 在全局的基础下 仅代理目标地址是中国IP的连接请求，也就是只有访问国歪IP的网络流量才会走代理， 这种是国外用户想要返回国内用的（如人在外国想玩国服游戏）。</li><li><strong>不代理中国IP：</strong> 与上面相反，这个是在全局的底子上 代理全部访问国外IP的网络流量，而国内IP的都直连， 假如你是专玩外服游戏，那么选这个就行。</li></ul><h2 id="sstap-%E5%85%B6%E4%BB%96%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E" tabindex="-1">SSTAP 其他功能说明</h2><p>在SSTAP的右下角可以看到一个 齿轮图标按钮 ，点击后会表现一个菜单（如下图所示）。<br /><img src="/upload/2022/11/image-1669181217559.png" alt="示意图" /><br />其中 事件管理、重置流量统计、支持、关于、退出 这些就不需要我讲明了吧，我重要讲明别的几个。<br />首先第一个 设置 选项：<br />打开后会看到如下图界面，<br /><img src="/upload/2022/11/2906057084b.png" alt="设置" /></p><p><strong>不转发UDP：</strong> 指的是SSTAP会让UDP数据直连，而不是走代理。<br /><strong>预选DNS：</strong> 这里有很多互联网上公共免费的DNS， 默认即可，也可以挑一个自己看的顺眼的<br /><strong>首选DNS：</strong> 同上，默认即可，具体可以百度搜索DNS是什么<br /><strong>备选DNS：</strong> 同上，默认即可。<br /><strong>代理DNS服务器：</strong> 指的是你电脑发出的域名剖析DNS请求全部走代理（无视代理模式规矩）。<br /><strong>开机自启动：</strong> 勾选后开机后，会自动启动SSTAP。<br /><strong>运行后自动连接：</strong> 运行SSTAP后，会主动连接上一次封闭SSTAP时所用的SS/SSR代理。<br /><strong>延时链接：</strong> 针对上面选项的扩展选项， 如设置 10秒 ，那就是运行SSTAP后， 等候10秒 再主动连接SS/SSR代理。<br /><strong>连接后主动隐藏窗体：</strong> SSTAP连接SS/SSR账号成功后，主动隐藏窗口。</p><h2 id="sstap-%E9%99%84%E5%8A%A0%E8%B7%AF%E7%94%B1%E7%AE%A1%E7%90%86" tabindex="-1">SSTAP 附加路由管理</h2><p>平常你假如想要 某些IP走代理 某些IP直连 ，并不需要纠结于选哪种代理模式，而是直接在 <strong>附加路由管理</strong>中 添加相关记录即可。<br />比方： 我玩的外服游戏的服务器 IP是 2.2.2.2 ，我开启了网络代理，但是不想让这个IP地址走代理，那我就可以填写 IP：2.2.2.2，反之一样，选另一个就好了。<br />留意： 此功能在 连接 SSTAP后是无法操作的。</p><hr /><p>本文章部分参考自: <a href="https://www.i5seo.com/sstap-supports-ss-ssr-global-proxy.html" target="_blank">https://www.i5seo.com/sstap-supports-ss-ssr-global-proxy.html</a></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Chrome调试之XHR/Fetch断点]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/chromedebuggerfetch" />
                <id>tag:http://blog.chaolucky.com,2022-11-21:chromedebuggerfetch</id>
                <published>2022-11-21T14:05:45+08:00</published>
                <updated>2022-11-21T14:07:48+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h4 id="chromexhr%2Ffetch%E6%96%AD%E7%82%B9" tabindex="-1">ChromeXHR/Fetch断点</h4><blockquote><p>chrome开发工具有很多种打断点的方法，可以在source中点击行号，也可以在代码中写<code>debugger</code>，刚学到了一种新的断点方法：</p></blockquote><p>在chrome的source面板中，右侧找到<code>XHR/fetch Breapoints</code>，点击右边的+号，然后输入调用接口的地址<br />，下次只要请求到改地址，就会自动进入断点，</p><p><img src="/upload/2022/11/image-1669039288527.png" alt="breakpoints" /></p><p>但是，这种情况会有一个问题，假如封装好的调用方法，会断点在最后调用的地方，这个也有解决办法：<br />找到右侧的callstack来找调用栈，去找到发起的地方。</p><p><img src="/upload/2022/11/image-1669039497554.png" alt="" /></p><p>具体的项目寻找方式可能有所不同，还需要结合具体的项目灵活的寻找。</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[安卓冻结应用方法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/androiddisabledapp" />
                <id>tag:http://blog.chaolucky.com,2022-11-21:androiddisabledapp</id>
                <published>2022-11-21T10:35:38+08:00</published>
                <updated>2022-11-21T10:39:20+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<ul><li></li></ul><h3 id="%E6%B3%A8%E6%84%8F%EF%BC%81%E6%B3%A8%E6%84%8F%EF%BC%81%E6%B3%A8%E6%84%8F%EF%BC%81" tabindex="-1">注意！注意！注意！</h3><p><strong>在冻结前，你一定要知道你这是在做什么，你冻结的这个APP是干什么用的，会不会导致手机无法启动或者带来其他一系列的问题！</strong></p><hr /><h3 id="%E4%B8%8B%E8%BD%BDadb" tabindex="-1">下载adb</h3><p>官方地址：<a href="https://developer.android.com/studio/releases/platform-tools" target="_blank">https://developer.android.com/studio/releases/platform-tools</a><br />上面的访问不了或者下载速度太慢的话可以点这里：<br /><a href="http://h.chaolucky.com/upload/2022/03/platform-tools_r33.0.1-windows-f1a5349c0c9f4a0f9cfc5c68982bf47c.zip" target="_blank">http://h.chaolucky.com/upload/2022/03/platform-tools_r33.0.1-windows-f1a5349c0c9f4a0f9cfc5c68982bf47c.zip</a></p><p>下载之后解压到你喜欢的地方就可以了，建议放在桌面。</p><h3 id="%E8%BF%9E%E6%8E%A5%E6%89%8B%E6%9C%BA" tabindex="-1">连接手机</h3><p>手机通过USB数据线连接上电脑，然后打开开发者选项，启用USB调试模式（这个应该都会吧），然后打开USB调试（安全设置）；</p><p>接下来就是在adb解压完的文件夹下按住shift然后右键，打开powershell，或者打开cmd然后使用cd命令切换到你解压的文件夹下</p><p><img src="/upload/2022/03/image-b24ca8adef55465ca854be01c68071f3.png" alt="image.png" /></p><p>如果你输入adb之后能展示很多东西，而不是提示 “adb”不是内部命令，也不是可运行的程序的话，那说明你做对了，否则你重新读一下这段话，找到你解压的adb的位置。</p><p>下图表示adb可以使用：</p><p><img src="/upload/2022/03/image-1cceab2be9a64fecbc49e475bfbcdf02.png" alt="image.png" /></p><p>接下来使用adb联机手机（确保当前电脑只连接了你的一部手机）：</p><p><img src="/upload/2022/03/image-4dc55323a3eb40e4abc905d489c13ac6.png" alt="image.png" /></p><p>上图这种情况就表示连接成功了。</p><p>之后我们继续进行下一步操作：</p><h3 id="%E5%81%9C%E7%94%A8app" tabindex="-1">停用app</h3><p>首先使用<code>adb shell</code>命令，来进入命令行模式：</p><p><img src="/upload/2022/03/image-92f7c031c54a4f21938b449d95740166.png" alt="image.png" /></p><p>没有任何报错就代表对了，截下来要确认你停用的app的包名，一般安卓app的包名都是<code>com.</code>开头，类似 <code>com.xiaomi.joyose</code>、<code>com.tencent.qq</code>这种，如果实在不确定可以下一个第三方的app来查看，小米12推荐使用<code>LibChecker</code>来查看，因为还可以看到APP是不是64位的。</p><p>冻结app输入命令：<code>pm disable-user com.xxx.xxx</code>,例如冻结joyose：<code>pm disabl-user com.xiaomi.joyose</code></p><p><img src="/upload/2022/03/image-83ee6fd0c2b94fd7b6def21f5b8d60ad.png" alt="image.png" /></p><p>如果出现了：<code>new state: disabled-user</code>字样，就代表成功了。</p><p><img src="/upload/2022/03/Screenshot_2022-03-23-20-52-11-731_com.miui.secur-6fe356403d4a41f9a7ddb80b6f860a5d.jpg" alt="Screenshot_20220323205211731_com.miui.secur.jpg" /></p><p>冻结其他app同理。</p><hr /><h3 id="%E5%86%8D%E6%AC%A1%E6%B3%A8%E6%84%8F%EF%BC%81%E6%B3%A8%E6%84%8F%EF%BC%81%E6%B3%A8%E6%84%8F%EF%BC%81" tabindex="-1">再次注意！注意！注意！</h3><p><strong>在冻结前，你一定要知道你现在正在做什么，你冻结的这个APP是干什么用的，会不会导致手机无法启动或者带来其他一系列的问题！</strong></p><p>若有疑问，请联系我。</p><p>这篇文章如果帮到你了，欢迎评论点赞转发！</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[暗影精灵7外接显示器后帧率不稳定处理办法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/anyjl7moniter" />
                <id>tag:http://blog.chaolucky.com,2022-11-21:anyjl7moniter</id>
                <published>2022-11-21T10:35:28+08:00</published>
                <updated>2022-11-21T10:40:29+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<ul><li></li></ul><p>暗影精灵在外接显示器之后，如果按下win+p，然后选择复制的话，效果其实没有大问题，但是正常情况下一般都是合上笔记本的盖子然后使用外接显示的（不然没意义，除了开会投屏），可是合上盖子之后问题就出现了（win+p之后选择仅外接显示器是同样的问题）：这个时候你会发现，一旦只有外接显示屏显示的时候，显示的帧率会及其不稳定，一卡一卡的，而且完全达不到显示器的标准刷新率，一旦打开笔记本自带的显示器之后，问题就消失了。</p><h3 id="%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90" tabindex="-1">问题分析</h3><hr /><p>首先怀疑是电源选项的问题。于是我打开笔记本的电源管理，然后选择“高性能”方案，之后发现问题依旧，而且游戏显示的帧率与平常无异，说明并不是电源限制的问题，性能还是完全释放了的。<br />其次打开任务管理器，发现一个不对劲的地方：<br /><img src="/upload/2021/10/monitoron-cd6c72164ea54bb296f4d6afda610550.png" alt="monitoron.png" /></p><p>在平常，这种双显卡的笔记本（核显+独显），如果不是打开了游戏，一般的程序都是运行在集显之上的，也就是GPU引擎会是“GPU 0”，但是现在全部变成了GPU 1，<br />而且点开性能，查看显卡的占用率，并且晃动任意一个窗口：<br /><img src="/upload/2021/10/monitorontskmgr-c94f6ad81ff04ee0b4e399e4fe0327bc.png" alt="monitorontskmgr.png" /></p><p>会发现GPU0（核显）自始至终都是空载的状态。这不正常啊！</p><p>突然想起来，这个笔记本的3060版本以及3070版本都支持独显直通，虽然我这个3050的版本不支持，但是看这个GPU占用率应该是接在独显上了，那是不是说虽然3050版本不支持直通，但是这个笔记本的外接接口：HDMI，Mini DP接口，是直接连接到独显的？看了下NVIDIA控制面板，似乎真的是直接接在独显上了，而且还多出来了“显示”以及“视频”这两个菜单（这两个是直连独显才会有的，一般在集显上的话只会有一个“3D”设置：</p><p><img src="/upload/2021/10/nvidiapanel-21e724d7c74840629d2e1a35baf0d12c.png" alt="nvidiapanel.png" /></p><p>所以会不会是集显兼容性的问题呢？于是我抱着试一试的心态，打开了设备管理器，将集显给禁用了：</p><p><img src="/upload/2021/10/dvmg-bb1379c5c0454bbeab096cc3951a1de9.png" alt="dvmg.png" /></p><p>禁用之后，一切都变的正常了。<br />问题解决。<br /><img src="/upload/2021/10/dvoff-35de8cfaadd4406ca778dded7ea93b80.png" alt="dvoff.png" /><br />（记得不用外接显示器的时候，再回来把集显给启用，没启用也不会黑屏，只不过不能调节亮度，显示也会有点卡顿）</p><h3 id="%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95" tabindex="-1">解决办法</h3><hr /><p>禁用集显</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[GitLens无侧边栏图标解决办法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/gitlens-wu-ce-bian-lan-tu-biao-jie-jue-ban-fa" />
                <id>tag:http://blog.chaolucky.com,2022-11-21:gitlens-wu-ce-bian-lan-tu-biao-jie-jue-ban-fa</id>
                <published>2022-11-21T10:35:22+08:00</published>
                <updated>2022-11-21T14:08:17+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E6%91%98%E8%A6%81" tabindex="-1">摘要</h2><p>VsCode安装后，GitLens几乎是必备的插件了，依稀记得以前安装之后侧边栏会多一个图标，然后git相关操作都在图标点击之后的选项卡里面，不知道什么时候起，安装完默认是和VsCode自带的git选项卡一起了。</p><h2 id="%E6%81%A2%E5%A4%8D%E5%8A%9E%E6%B3%95" tabindex="-1">恢复办法</h2><ol><li>首先按下键盘上的<code>Ctrl</code>+<code>Alt</code>+<code>P</code>键，打开命令界面，</li><li>然后输入：<code>GitLens:Set</code>，找到下方的：<code>GitLens: Set View Layout</code></li><li>回车，新的页面中选择<code>Git Lens Layout</code>，再次回车即可。</li></ol><p><img src="/upload/2022/11/2022-11-21184326.png" alt="步骤二图" /></p><p><img src="/upload/2022/11/2022-11-21184417.png" alt="步骤三图" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Vmware虚拟机开机就蓝屏解决办法]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/vmwarelanpingmd" />
                <id>tag:http://blog.chaolucky.com,2022-11-21:vmwarelanpingmd</id>
                <published>2022-11-21T10:35:12+08:00</published>
                <updated>2022-11-21T14:08:28+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E6%A6%82%E8%A6%81" tabindex="-1">概要</h2><p>在升级到了Windows10 21H1之后，Vmware开启虚拟机电源的瞬间一定会蓝屏，虽然没有试过vituralBox之类的，但是应该情况一样。</p><h2 id="%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95" tabindex="-1">解决办法</h2><p>解决办法其实很简单，首先打开控制面板，找到卸载程序，然后点击左侧的“启用或关闭Windows功能”，找到最下面的“虚拟机平台”，勾选重启后即可。</p><p><img src="/upload/2022/11/2022-11-21184134.png" alt="2022-11-21184134" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Hello Halo]]></title>
                <link rel="alternate" type="text/html" href="http://blog.chaolucky.com/archives/hello-halo" />
                <id>tag:http://blog.chaolucky.com,2022-11-18:hello-halo</id>
                <published>2022-11-18T08:30:17+08:00</published>
                <updated>2022-11-18T08:30:17+08:00</updated>
                <author>
                    <name>chaoLucky</name>
                    <uri>http://blog.chaolucky.com</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="hello-halo">Hello Halo</h2><p>如果你看到了这一篇文章，那么证明你已经安装成功了，感谢使用 <a href="https://halo.run">Halo</a> 进行创作，希望能够使用愉快。</p><h2 id="相关链接">相关链接</h2><ul><li>官网：<a href="https://halo.run">https://halo.run</a></li><li>文档：<a href="https://docs.halo.run">https://docs.halo.run</a></li><li>社区：<a href="https://bbs.halo.run">https://bbs.halo.run</a></li><li>主题仓库：<a href="https://halo.run/themes.html">https://halo.run/themes.html</a></li><li>开源地址：<a href="https://github.com/halo-dev/halo">https://github.com/halo-dev/halo</a></li></ul><p>在使用过程中，有任何问题都可以通过以上链接找寻答案，或者联系我们。</p><blockquote><p>这是一篇自动生成的文章，请删除这篇文章之后开始你的创作吧！</p></blockquote>]]>
                </content>
            </entry>
</feed>
