PageSourceSearch

https://knktc.com/

html knktc.com collected 2026-09-24 10:34:37 UTC 34,915 bytes, 1,052 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4  <meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
6<meta name="theme-color" content="#222">
7<meta name="generator" content="Hexo 5.4.0">
8  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
9  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
10  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
11  <link rel="mask-icon" href="/images/logo.svg" color="#222">
12
13<link rel="stylesheet" href="/css/main.css">
14
15
16<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
17
18<script id="hexo-configurations">
19    var NexT = window.NexT || {};
20    var CONFIG = {"hostname":"knktc.com","root":"/","scheme":"Pisces","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":false,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
21  </script>
21
22
23  <meta name="description" content="关注linux,云计算,python,杂乱之地...">
24<meta property="og:type" content="website">
25<meta property="og:title" content="knktc的杂乱空间">
26<meta property="og:url" content="https://knktc.com/">
27<meta property="og:site_name" content="knktc的杂乱空间">
28<meta property="og:description" content="关注linux,云计算,python,杂乱之地...">
29<meta property="og:locale" content="zh_CN">
30<meta property="article:author" content="knktc">
31<meta property="article:tag" content="python,linux">
32<meta name="twitter:card" content="summary">
33
34<link rel="canonical" href="https://knktc.com/">
35
36
37<script id="page-configurations">
38  // https://hexo.io/docs/variables.html
39  CONFIG.page = {
40    sidebar: "",
41    isHome : true,
42    isPost : false,
43    lang   : 'zh-CN'
44  };
45</script>
45
46<link rel="alternate" hreflang="zh-CN" href="&#x2F;">
47<link rel="alternate" hreflang="en" href="&#x2F;en&#x2F;">
48<link rel="alternate" hreflang="x-default" href="&#x2F;">
49
50  <title>knktc的杂乱空间</title>
51  
52
53
54  
54<script>
55    var _hmt = _hmt || [];
56    (function() {
57      var hm = document.createElement("script");
58      hm.src = "https://hm.baidu.com/hm.js?a23b2d1c6159a3a6c798edbc7f9211f9";
59      var s = document.getElementsByTagName("script")[0];
60      s.parentNode.insertBefore(hm, s);
61    })();
62  </script>
62
63
64
65
66
67  <noscript>
68  <style>
69  .use-motion .brand,
70  .use-motion .menu-item,
71  .sidebar-inner,
72  .use-motion .post-block,
73  .use-motion .pagination,
74  .use-motion .comments,
75  .use-motion .post-header,
76  .use-motion .post-body,
77  .use-motion .collection-header { opacity: initial; }
78
79  .use-motion .site-title,
80  .use-motion .site-subtitle {
81    opacity: initial;
82    top: initial;
83  }
84
85  .use-motion .logo-line-before i { left: initial; }
86  .use-motion .logo-line-after i { right: initial; }
87  </style>
88</noscript>
89
90<link rel="alternate" href="/atom.xml" title="knktc的杂乱空间" type="application/atom+xml">
91</head>
92
93<body itemscope itemtype="http://schema.org/WebPage">
94  <div class="container">
95    <div class="headband"></div>
96
97    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
98      <div class="header-inner"><div class="site-brand-container">
99  <div class="site-nav-toggle">
100    <div class="toggle" aria-label="切换导航栏">
101      <span class="toggle-line toggle-line-first"></span>
102      <span class="toggle-line toggle-line-middle"></span>
103      <span class="toggle-line toggle-line-last"></span>
104    </div>
105  </div>
106
107  <div class="site-meta">
108
109    <a href="/" class="brand" rel="start">
110      <span class="logo-line-before"><i></i></span>
111      <h1 class="site-title">knktc的杂乱空间</h1>
112      <span class="logo-line-after"><i></i></span>
113    </a>
114      <p class="site-subtitle" itemprop="description">python,cloud,linux...</p>
115  </div>
116
117  <div class="site-nav-right">
118    <div class="toggle popup-trigger">
119    </div>
120  </div>
121</div>
122
123
124
125
126<nav class="site-nav">
127  <ul id="menu" class="main-menu menu">
128        <li class="menu-item menu-item-home">
129
130    <a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>
131
132  </li>
133        <li class="menu-item menu-item-about">
134
135    <a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a>
136
137  </li>
138        <li class="menu-item menu-item-archives">
139
140    <a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a>
141
142  </li>
143  </ul>
144</nav>
145
146
147
148
149  <div class="site-home-links" aria-label="Featured links">
150    <div class="site-lang-switch" aria-label="Language switcher">
151        <a class="site-lang-switch-link" href="/en/">
152          <span class="site-lang-switch-eyebrow">Language</span>
153          <span class="site-lang-switch-label">View English Version</span>
154        </a>
155    </div>
156    <div class="site-lang-switch" aria-label="Tools site">
157      <a class="site-lang-switch-link" href="https://tools.knktc.com" target="_blank" rel="noopener noreferrer">
158        <span class="site-lang-switch-eyebrow">Tools</span>
159          <span class="site-lang-switch-label">我的工具站</span>
160      </a>
161    </div>
162  </div>
163
164</div>
165    </header>
166
167    
168  <div class="back-to-top">
169    <i class="fa fa-arrow-up"></i>
170    <span>0%</span>
171  </div>
172
173
174    <main class="main">
175      <div class="main-inner">
176        <div class="content-wrap">
177          
178
179          <div class="content index posts-expand">
180            
181      
182  
183  
184  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
185    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/09/02/ciaforge-introduction/">
186
187    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
188      <meta itemprop="image" content="/images/sonic_avatar.png">
189      <meta itemprop="name" content="knktc">
190      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
191    </span>
192
193    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
194      <meta itemprop="name" content="knktc的杂乱空间">
195    </span>
196      <header class="post-header">
197        <h2 class="post-title" itemprop="name headline">
198          
199            <a href="/2026/09/02/ciaforge-introduction/" class="post-title-link" itemprop="url">我用 Codex 写了一个 3DS 镜像转换工具:CiaForge</a>
200        </h2>
201
202        <div class="post-meta">
203            <span class="post-meta-item">
204              <span class="post-meta-item-icon">
205                <i class="far fa-calendar"></i>
206              </span>
207              <span class="post-meta-item-text">发表于</span>
208              
209
210              <time title="创建时间:2026-09-02 10:30:00 / 修改时间:08:49:55" itemprop="dateCreated datePublished" datetime="2026-09-02T10:30:00+08:00">2026-09-02</time>
211            </span>
212
213          
214
215        </div>
216      </header>
217
218    
219    
220    
221    <div class="post-body" itemprop="articleBody">
222
223      
224          <p>从 Vimm's Lair 下载 3DS 游戏后,面对 .cci 和 .3ds 镜像、却只有命令行工具可用时,我用 Codex、Tauri 和 Rust 做了一个跨平台桌面转换器 CiaForge。</p>
225          <!--noindex-->
226            <div class="post-button">
227              <a class="btn" href="/2026/09/02/ciaforge-introduction/">
228                阅读全文 &raquo;
229              </a>
230            </div>
231          <!--/noindex-->
232        
233      
234    </div>
235
236    
237    
238    
239      <footer class="post-footer">
240        <div class="post-eof"></div>
241      </footer>
242  </article>
243  
244  
245  
246
247      
248  
249  
250  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
251    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/08/19/kftray-manage-kubernetes-port-forwards/">
252
253    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
254      <meta itemprop="image" content="/images/sonic_avatar.png">
255      <meta itemprop="name" content="knktc">
256      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
257    </span>
258
259    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
260      <meta itemprop="name" content="knktc的杂乱空间">
261    </span>
262      <header class="post-header">
263        <h2 class="post-title" itemprop="name headline">
264          
265            <a href="/2026/08/19/kftray-manage-kubernetes-port-forwards/" class="post-title-link" itemprop="url">我开始用 kftray 管理 Kubernetes port-forward 了</a>
266        </h2>
267
268        <div class="post-meta">
269            <span class="post-meta-item">
270              <span class="post-meta-item-icon">
271                <i class="far fa-calendar"></i>
272              </span>
273              <span class="post-meta-item-text">发表于</span>
274              
275
276              <time title="创建时间:2026-08-19 10:00:00 / 修改时间:14:07:23" itemprop="dateCreated datePublished" datetime="2026-08-19T10:00:00+08:00">2026-08-19</time>
277            </span>
278
279          
280
281        </div>
282      </header>
283
284    
285    
286    
287    <div class="post-body" itemprop="articleBody">
288
289      
290          <p>记录一下我最近在用的 Kubernetes port-forward 工具 kftray。</p>
291          <!--noindex-->
292            <div class="post-button">
293              <a class="btn" href="/2026/08/19/kftray-manage-kubernetes-port-forwards/">
294                阅读全文 &raquo;
295              </a>
296            </div>
297          <!--/noindex-->
298        
299      
300    </div>
301
302    
303    
304    
305      <footer class="post-footer">
306        <div class="post-eof"></div>
307      </footer>
308  </article>
309  
310  
311  
312
313      
314  
315  
316  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
317    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/07/29/headlamp-global-fuzzy-search/">
318
319    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
320      <meta itemprop="image" content="/images/sonic_avatar.png">
321      <meta itemprop="name" content="knktc">
322      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
323    </span>
324
325    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
326      <meta itemprop="name" content="knktc的杂乱空间">
327    </span>
328      <header class="post-header">
329        <h2 class="post-title" itemprop="name headline">
330          
331            <a href="/2026/07/29/headlamp-global-fuzzy-search/" class="post-title-link" itemprop="url">Headlamp 顶部的模糊搜索,是怎么实现的?</a>
332        </h2>
333
334        <div class="post-meta">
335            <span class="post-meta-item">
336              <span class="post-meta-item-icon">
337                <i class="far fa-calendar"></i>
338              </span>
339              <span class="post-meta-item-text">发表于</span>
340              
341
342              <time title="创建时间:2026-07-29 22:00:00 / 修改时间:09:03:58" itemprop="dateCreated datePublished" datetime="2026-07-29T22:00:00+08:00">2026-07-29</time>
343            </span>
344
345          
346
347        </div>
348      </header>
349
350    
351    
352    
353    <div class="post-body" itemprop="articleBody">
354
355      
356          <p>最近在用 <a target="_blank" rel="noopener" href="https://headlamp.dev/">Headlamp</a> 管理 Kubernetes 集群时,注意到页面顶部有一个全局搜索框。</p>
357<p>输入 Pod 名称、namespace,甚至是资源类型,都能很快跳到目标资源。第一眼看上去,它很像是接入了某种集群搜索服务:把搜索词发给 Kubernetes API,然后由后端返回模糊匹配的结果。</p>
358<p>出于好奇翻了一下实现,发现它的思路其实很直接:<strong>先把资源列表拉到前端,再在浏览器里做模糊搜索。</strong></p>
359          <!--noindex-->
360            <div class="post-button">
361              <a class="btn" href="/2026/07/29/headlamp-global-fuzzy-search/#more" rel="contents">
362                阅读全文 &raquo;
363              </a>
364            </div>
365          <!--/noindex-->
366        
367      
368    </div>
369
370    
371    
372    
373      <footer class="post-footer">
374        <div class="post-eof"></div>
375      </footer>
376  </article>
377  
378  
379  
380
381      
382  
383  
384  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
385    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/06/12/envmate-chrome-extension/">
386
387    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
388      <meta itemprop="image" content="/images/sonic_avatar.png">
389      <meta itemprop="name" content="knktc">
390      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
391    </span>
392
393    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
394      <meta itemprop="name" content="knktc的杂乱空间">
395    </span>
396      <header class="post-header">
397        <h2 class="post-title" itemprop="name headline">
398          
399            <a href="/2026/06/12/envmate-chrome-extension/" class="post-title-link" itemprop="url">我用 Codex vibe coding 搓了一个 Chrome 插件:EnvMate</a>
400        </h2>
401
402        <div class="post-meta">
403            <span class="post-meta-item">
404              <span class="post-meta-item-icon">
405                <i class="far fa-calendar"></i>
406              </span>
407              <span class="post-meta-item-text">发表于</span>
408
409              <time title="创建时间:2026-06-12 11:20:00" itemprop="dateCreated datePublished" datetime="2026-06-12T11:20:00+08:00">2026-06-12</time>
410            </span>
411              <span class="post-meta-item">
412                <span class="post-meta-item-icon">
413                  <i class="far fa-calendar-check"></i>
414                </span>
415                <span class="post-meta-item-text">更新于</span>
416                <time title="修改时间:2026-06-15 08:48:21" itemprop="dateModified" datetime="2026-06-15T08:48:21+08:00">2026-06-15</time>
417              </span>
418
419          
420
421        </div>
422      </header>
423
424    
425    
426    
427    <div class="post-body" itemprop="articleBody">
428
429      
430          <p>记录我为什么做 EnvMate,以及这个 Chrome 插件是怎么帮我在开发、测试、预发和生产环境之间少犯错的。</p>
431          <!--noindex-->
432            <div class="post-button">
433              <a class="btn" href="/2026/06/12/envmate-chrome-extension/">
434                阅读全文 &raquo;
435              </a>
436            </div>
437          <!--/noindex-->
438        
439      
440    </div>
441
442    
443    
444    
445      <footer class="post-footer">
446        <div class="post-eof"></div>
447      </footer>
448  </article>
449  
450  
451  
452
453      
454  
455  
456  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
457    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/06/01/psp-3000-upgrade-to-6-61-and-install-ark-4/">
458
459    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
460      <meta itemprop="image" content="/images/sonic_avatar.png">
461      <meta itemprop="name" content="knktc">
462      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
463    </span>
464
465    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
466      <meta itemprop="name" content="knktc的杂乱空间">
467    </span>
468      <header class="post-header">
469        <h2 class="post-title" itemprop="name headline">
470          
471            <a href="/2026/06/01/psp-3000-upgrade-to-6-61-and-install-ark-4/" class="post-title-link" itemprop="url">给 PSP 3000 升级 6.61,并刷入 ARK-4 永久破解</a>
472        </h2>
473
474        <div class="post-meta">
475            <span class="post-meta-item">
476              <span class="post-meta-item-icon">
477                <i class="far fa-calendar"></i>
478              </span>
479              <span class="post-meta-item-text">发表于</span>
480
481              <time title="创建时间:2026-06-01 22:51:27" itemprop="dateCreated datePublished" datetime="2026-06-01T22:51:27+08:00">2026-06-01</time>
482            </span>
483              <span class="post-meta-item">
484                <span class="post-meta-item-icon">
485                  <i class="far fa-calendar-check"></i>
486                </span>
487                <span class="post-meta-item-text">更新于</span>
488                <time title="修改时间:2026-08-03 10:00:04" itemprop="dateModified" datetime="2026-08-03T10:00:04+08:00">2026-08-03</time>
489              </span>
490
491          
492
493        </div>
494      </header>
495
496    
497    
498    
499    <div class="post-body" itemprop="articleBody">
500
501      
502          <p>记录一次把老 PSP 3000 从 6.35 升级到官方 6.61,再安装 ARK-4 并完成永久破解的实际过程。</p>
503          <!--noindex-->
504            <div class="post-button">
505              <a class="btn" href="/2026/06/01/psp-3000-upgrade-to-6-61-and-install-ark-4/">
506                阅读全文 &raquo;
507              </a>
508            </div>
509          <!--/noindex-->
510        
511      
512    </div>
513
514    
515    
516    
517      <footer class="post-footer">
518        <div class="post-eof"></div>
519      </footer>
520  </article>
521  
522  
523  
524
525      
526  
527  
528  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
529    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/05/27/nginx-in-real-projects/">
530
531    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
532      <meta itemprop="image" content="/images/sonic_avatar.png">
533      <meta itemprop="name" content="knktc">
534      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
535    </span>
536
537    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
538      <meta itemprop="name" content="knktc的杂乱空间">
539    </span>
540      <header class="post-header">
541        <h2 class="post-title" itemprop="name headline">
542          
543            <a href="/2026/05/27/nginx-in-real-projects/" class="post-title-link" itemprop="url">我在实际项目中是怎么用 Nginx 的</a>
544        </h2>
545
546        <div class="post-meta">
547            <span class="post-meta-item">
548              <span class="post-meta-item-icon">
549                <i class="far fa-calendar"></i>
550              </span>
551              <span class="post-meta-item-text">发表于</span>
552              
553
554              <time title="创建时间:2026-05-27 13:25:25 / 修改时间:13:33:02" itemprop="dateCreated datePublished" datetime="2026-05-27T13:25:25+08:00">2026-05-27</time>
555            </span>
556
557          
558
559        </div>
560      </header>
561
562    
563    
564    
565    <div class="post-body" itemprop="articleBody">
566
567      
568          <p>结合几个真实项目场景,记录 Nginx 在代理外网服务、统一认证和简化单点登录上的一些实用做法。</p>
569          <!--noindex-->
570            <div class="post-button">
571              <a class="btn" href="/2026/05/27/nginx-in-real-projects/">
572                阅读全文 &raquo;
573              </a>
574            </div>
575          <!--/noindex-->
576        
577      
578    </div>
579
580    
581    
582    
583      <footer class="post-footer">
584        <div class="post-eof"></div>
585      </footer>
586  </article>
587  
588  
589  
590
591      
592  
593  
594  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
595    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/05/22/register-us-apple-id/">
596
597    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
598      <meta itemprop="image" content="/images/sonic_avatar.png">
599      <meta itemprop="name" content="knktc">
600      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
601    </span>
602
603    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
604      <meta itemprop="name" content="knktc的杂乱空间">
605    </span>
606      <header class="post-header">
607        <h2 class="post-title" itemprop="name headline">
608          
609            <a href="/2026/05/22/register-us-apple-id/" class="post-title-link" itemprop="url">如何注册一个可用的美区 Apple 账号</a>
610        </h2>
611
612        <div class="post-meta">
613            <span class="post-meta-item">
614              <span class="post-meta-item-icon">
615                <i class="far fa-calendar"></i>
616              </span>
617              <span class="post-meta-item-text">发表于</span>
618              
619
620              <time title="创建时间:2026-05-22 11:30:00 / 修改时间:22:54:00" itemprop="dateCreated datePublished" datetime="2026-05-22T11:30:00+08:00">2026-05-22</time>
621            </span>
622
623          
624
625        </div>
626      </header>
627
628    
629    
630    
631    <div class="post-body" itemprop="articleBody">
632
633      
634          <p>最近 Codex 已经支持远程控制了,但 ChatGPT App 在国区还是没有上架。类似 Gemini 这种应用,在国区 App Store 里也不太好下。</p>
635<p>如果你用的是 iPhone,那准备一个美区 Apple 账号,基本就成了绕不过去的事。</p>
636<p>我这次用下来,比较省事的一条路不是直接注册美区账号,而是先搞一个全新的国区账号,再把地区切到美国。这样至少不用一上来就想办法找美国手机号接码,整体会顺不少。</p>
637          <!--noindex-->
638            <div class="post-button">
639              <a class="btn" href="/2026/05/22/register-us-apple-id/#more" rel="contents">
640                阅读全文 &raquo;
641              </a>
642            </div>
643          <!--/noindex-->
644        
645      
646    </div>
647
648    
649    
650    
651      <footer class="post-footer">
652        <div class="post-eof"></div>
653      </footer>
654  </article>
655  
656  
657  
658
659      
660  
661  
662  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
663    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/05/21/tools-knktc-codex-vibe-coding-intro/">
664
665    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
666      <meta itemprop="image" content="/images/sonic_avatar.png">
667      <meta itemprop="name" content="knktc">
668      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
669    </span>
670
671    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
672      <meta itemprop="name" content="knktc的杂乱空间">
673    </span>
674      <header class="post-header">
675        <h2 class="post-title" itemprop="name headline">
676          
677            <a href="/2026/05/21/tools-knktc-codex-vibe-coding-intro/" class="post-title-link" itemprop="url">我用 Codex vibe coding 搓了一个顺手的工具站:tools.knktc.com</a>
678        </h2>
679
680        <div class="post-meta">
681            <span class="post-meta-item">
682              <span class="post-meta-item-icon">
683                <i class="far fa-calendar"></i>
684              </span>
685              <span class="post-meta-item-text">发表于</span>
686              
687
688              <time title="创建时间:2026-05-21 14:05:00 / 修改时间:13:58:46" itemprop="dateCreated datePublished" datetime="2026-05-21T14:05:00+08:00">2026-05-21</time>
689            </span>
690
691          
692
693        </div>
694      </header>
695
696    
697    
698    
699    <div class="post-body" itemprop="articleBody">
700
701      
702          <p>前段时间我一直有个很朴素的念头:平时排查问题时,总会反复打开一堆“小而碎”的在线工具。查一下出口 IP,转一下时间戳,看一下浏览器时区,顺手再格式化一段 JSON。每个需求都不大,但凑在一起,就很像在浏览器里打零工。</p>
703<p>于是这次我换了个思路:不如直接用 Codex 来一把 vibe coding,把这些高频小工具收拢成一个自己看着顺眼、用起来顺手的小站。</p>
704<p>它现在就在这里:</p>
705<p><a target="_blank" rel="noopener" href="https://tools.knktc.com/">https://tools.knktc.com</a></p>
706          <!--noindex-->
707            <div class="post-button">
708              <a class="btn" href="/2026/05/21/tools-knktc-codex-vibe-coding-intro/#more" rel="contents">
709                阅读全文 &raquo;
710              </a>
711            </div>
712          <!--/noindex-->
713        
714      
715    </div>
716
717    
718    
719    
720      <footer class="post-footer">
721        <div class="post-eof"></div>
722      </footer>
723  </article>
724  
725  
726  
727
728      
729  
730  
731  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
732    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/05/06/disable-vscode-copilot-ai-coauthor/">
733
734    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
735      <meta itemprop="image" content="/images/sonic_avatar.png">
736      <meta itemprop="name" content="knktc">
737      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
738    </span>
739
740    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
741      <meta itemprop="name" content="knktc的杂乱空间">
742    </span>
743      <header class="post-header">
744        <h2 class="post-title" itemprop="name headline">
745          
746            <a href="/2026/05/06/disable-vscode-copilot-ai-coauthor/" class="post-title-link" itemprop="url">关闭 VS Code 中 GitHub Copilot 自动添加 Co-authored-by</a>
747        </h2>
748
749        <div class="post-meta">
750            <span class="post-meta-item">
751              <span class="post-meta-item-icon">
752                <i class="far fa-calendar"></i>
753              </span>
754              <span class="post-meta-item-text">发表于</span>
755              
756
757              <time title="创建时间:2026-05-06 22:00:00 / 修改时间:12:16:22" itemprop="dateCreated datePublished" datetime="2026-05-06T22:00:00+08:00">2026-05-06</time>
758            </span>
759
760          
761
762        </div>
763      </header>
764
765    
766    
767    
768    <div class="post-body" itemprop="articleBody">
769
770      
771          <p>最近发现一个有点微妙的小变化:通过 VS Code + GitHub Copilot 提交代码以后,提交信息里多了一行:</p>
772<figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Co-authored-by: Copilot &lt;[email protected]&gt;</span><br></pre></td></tr></table></figure>
773          <!--noindex-->
774            <div class="post-button">
775              <a class="btn" href="/2026/05/06/disable-vscode-copilot-ai-coauthor/#more" rel="contents">
776                阅读全文 &raquo;
777              </a>
778            </div>
779          <!--/noindex-->
780        
781      
782    </div>
783
784    
785    
786    
787      <footer class="post-footer">
788        <div class="post-eof"></div>
789      </footer>
790  </article>
791  
792  
793  
794
795      
796  
797  
798  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
799    <link itemprop="mainEntityOfPage" href="https://knktc.com/2026/03/07/tiny-requestbin-introduction/">
800
801    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
802      <meta itemprop="image" content="/images/sonic_avatar.png">
803      <meta itemprop="name" content="knktc">
804      <meta itemprop="description" content="关注linux,云计算,python,杂乱之地...">
805    </span>
806
807    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
808      <meta itemprop="name" content="knktc的杂乱空间">
809    </span>
810      <header class="post-header">
811        <h2 class="post-title" itemprop="name headline">
812          
813            <a href="/2026/03/07/tiny-requestbin-introduction/" class="post-title-link" itemprop="url">tiny-requestbin:一个用 Go 编写的轻量级 HTTP 请求调试工具</a>
814        </h2>
815
816        <div class="post-meta">
817            <span class="post-meta-item">
818              <span class="post-meta-item-icon">
819                <i class="far fa-calendar"></i>
820              </span>
821              <span class="post-meta-item-text">发表于</span>
822
823              <time title="创建时间:2026-03-07 12:25:23" itemprop="dateCreated datePublished" datetime="2026-03-07T12:25:23+08:00">2026-03-07</time>
824            </span>
825              <span class="post-meta-item">
826                <span class="post-meta-item-icon">
827                  <i class="far fa-calendar-check"></i>
828                </span>
829                <span class="post-meta-item-text">更新于</span>
830                <time title="修改时间:2026-04-22 09:14:27" itemprop="dateModified" datetime="2026-04-22T09:14:27+08:00">2026-04-22</time>
831              </span>
832
833          
834
835        </div>
836      </header>
837
838    
839    
840    
841    <div class="post-body" itemprop="articleBody">
842
843      
844          <p>一个适合本地调试、Webhook 联调和临时排查 HTTP 请求问题的轻量级 Go 工具,支持 Web 界面和 CLI 两种查看方式。</p>
845          <!--noindex-->
846            <div class="post-button">
847              <a class="btn" href="/2026/03/07/tiny-requestbin-introduction/">
848                阅读全文 &raquo;
849              </a>
850            </div>
851          <!--/noindex-->
852        
853      
854    </div>
855
856    
857    
858    
859      <footer class="post-footer">
860        <div class="post-eof"></div>
861      </footer>
862  </article>
863  
864  
865  
866
867
868  
869  <nav class="pagination">
870    <span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><span class="space">&hellip;</span><a class="page-number" href="/page/8/">8</a><a class="extend next" rel="next" href="/page/2/"><i class="fa fa-angle-right" aria-label="下一页"></i></a>
871  </nav>
872
873
874
875          </div>
876          
877
878<script>
879  window.addEventListener('tabs:register', () => {
880    let { activeClass } = CONFIG.comments;
881    if (CONFIG.comments.storage) {
882      activeClass = localStorage.getItem('comments_active') || activeClass;
883    }
884    if (activeClass) {
885      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
886      if (activeTab) {
887        activeTab.click();
888      }
889    }
890  });
891  if (CONFIG.comments.storage) {
892    window.addEventListener('tabs:click', event => {
893      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
894      let commentClass = event.target.classList[1];
895      localStorage.setItem('comments_active', commentClass);
896    });
897  }
898</script>
898
899
900        </div>
901          
902  
903  <div class="toggle sidebar-toggle">
904    <span class="toggle-line toggle-line-first"></span>
905    <span class="toggle-line toggle-line-middle"></span>
906    <span class="toggle-line toggle-line-last"></span>
907  </div>
908
909  <aside class="sidebar">
910    <div class="sidebar-inner">
911
912      <ul class="sidebar-nav motion-element">
913        <li class="sidebar-nav-toc">
914          文章目录
915        </li>
916        <li class="sidebar-nav-overview">
917          站点概览
918        </li>
919      </ul>
920
921      <!--noindex-->
922      <div class="post-toc-wrap sidebar-panel">
923      </div>
924      <!--/noindex-->
925
926      <div class="site-overview-wrap sidebar-panel">
927        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
928    <img class="site-author-image" itemprop="image" alt="knktc"
929      src="/images/sonic_avatar.png">
930  <p class="site-author-name" itemprop="name">knktc</p>
931  <div class="site-description" itemprop="description">关注linux,云计算,python,杂乱之地...</div>
932</div>
933<div class="site-state-wrap motion-element">
934  <nav class="site-state">
935      <div class="site-state-item site-state-posts">
936          <a href="/archives/">
937        
938          <span class="site-state-item-count">80</span>
939          <span class="site-state-item-name">日志</span>
940        </a>
941      </div>
942      <div class="site-state-item site-state-tags">
943        <span class="site-state-item-count">247</span>
944        <span class="site-state-item-name">标签</span>
945      </div>
946  </nav>
947</div>
948  <div class="links-of-author motion-element">
949      <span class="links-of-author-item">
950        <a href="https://github.com/knktc" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;knktc" rel="noopener" target="_blank"><i class="fab fa-github fa-fw"></i>GitHub</a>
951      </span>
952      <span class="links-of-author-item">
953        <a href="https://twitter.com/knktc" title="Twitter → https:&#x2F;&#x2F;twitter.com&#x2F;knktc" rel="noopener" target="_blank"><i class="fab fa-twitter fa-fw"></i>Twitter</a>
954      </span>
955  </div>
956
957<div class="wechat-mp-widget motion-element">
958  <img
959    class="wechat-mp-widget-image"
960    src="/images/wechat-mp-qrcode.png"
961    alt="微信扫码关注我的公众号"
962    loading="lazy"
963  >
964  <p class="wechat-mp-widget-name">中年工程师苟活指南</p>
965  <p class="wechat-mp-widget-desc">微信扫码关注,第一时间看到新文章和折腾记录。</p>
966</div>
967  <div class="cc-license motion-element" itemprop="license">
968    <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" class="cc-opacity" rel="noopener" target="_blank"><img src="/images/cc-by-nc-sa.svg" alt="Creative Commons"></a>
969  </div>
970
971
972
973      </div>
974
975    </div>
976  </aside>
977  <div id="sidebar-dimmer"></div>
978
979
980      </div>
981    </main>
982
983    <footer class="footer">
984      <div class="footer-inner">
985        
986
987        
988  <div class="beian"><a href="https://beian.miit.gov.cn/" rel="noopener" target="_blank">鄂ICP备2021019593号-1 </a>
989      <img src="/images/beian.png" style="display: inline-block;"><a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=42018502005554" rel="noopener" target="_blank">鄂公网安备 42018502005554号 </a>
990  </div>
991
992<div class="copyright">
993  
994  &copy; 
995  <span itemprop="copyrightYear">2026</span>
996  <span class="with-love">
997    <i class="fa fa-heart"></i>
998  </span>
999  <span class="author" itemprop="copyrightHolder">knktc</span>
1000</div>
1001  <div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://pisces.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> 强力驱动
1002  </div>
1003
1004        
1005
1006
1007
1008
1009
1010
1011
1012
1013      </div>
1014    </footer>
1015  </div>
1016
1017  
1018  
1018<script src="/lib/anime.min.js"></script>
1018
1019
1020<script src="/js/utils.js"></script>
1020
1021
1022
1023<script src="/js/schemes/pisces.js"></script>
1023
1024
1025
1026<script src="/js/next-boot.js"></script>
1026
1027
1028
1029
1030
1031  
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047  
1048
1049  
1050
1051</body>
1052</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.