PageSourceSearch

https://goforcex.top/friends

html goforcex.top collected 2026-10-08 17:06:18 UTC 17,077 bytes, 620 lines download raw bytes

1<!DOCTYPE html>
2<html
3  lang="en"
4>
5<head>
6    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7    
8    <meta
9      content="#1b1b1e"
10      media="(prefers-color-scheme: dark)"
11      name="theme-color"
12    />
13    <meta content="yes" name="apple-mobile-web-app-capable" />
14    <meta
15      content="black-translucent"
16      name="apple-mobile-web-app-status-bar-style"
17    />
18    <meta
19      content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover"
20      name="viewport"
21    />
22
23    
24    <title
25    >朋友们 - GoForceX&#39;s Blog</title>
26
27    
28   <link
29      rel="stylesheet"
30      href="/themes/halo-theme-chirpy/assets/dist/main.css?v=1.4.6"
31    />
32    
32<script
33      src="/themes/halo-theme-chirpy/assets/dist/main.js?v=1.4.6"
34      type="module"
35    ></script>
35
36  
37
38    
38<script type="text/javascript">
39    class ModeToggle {
40      static get MODE_KEY() {
41        return "mode";
42      }
43
44      static get MODE_ATTR() {
45        return "data-mode";
46      }
47
48      static get DARK_MODE() {
49        return "dark";
50      }
51
52      static get LIGHT_MODE() {
53        return "light";
54      }
55
56      static get ID() {
57        return "mode-toggle";
58      }
59
60      constructor() {
61        if (this.hasMode) {
62          if (this.isDarkMode) {
63            if (!this.isSysDarkPrefer) {
64              this.setDark();
65            }
66          } else {
67            if (this.isSysDarkPrefer) {
68              this.setLight();
69            }
70          }
71        }
72
73        let self = this;
74
75        /* always follow the system prefers */
76        this.sysDarkPrefers.addEventListener("change", () => {
77          if (self.hasMode) {
78            if (self.isDarkMode) {
79              if (!self.isSysDarkPrefer) {
80                self.setDark();
81              }
82            } else {
83              if (self.isSysDarkPrefer) {
84                self.setLight();
85              }
86            }
87
88            self.clearMode();
89          }
90
91          self.notify();
92        });
93      } /* constructor() */
94
95      get sysDarkPrefers() {
96        return window.matchMedia("(prefers-color-scheme: dark)");
97      }
98
99      get isSysDarkPrefer() {
100        return this.sysDarkPrefers.matches;
101      }
102
103      get isDarkMode() {
104        return this.mode === ModeToggle.DARK_MODE;
105      }
106
107      get isLightMode() {
108        return this.mode === ModeToggle.LIGHT_MODE;
109      }
110
111      get hasMode() {
112        return this.mode != null;
113      }
114
115      get mode() {
116        return sessionStorage.getItem(ModeToggle.MODE_KEY);
117      }
118
119      /* get the current mode on screen */
120      get modeStatus() {
121        if (this.isDarkMode || (!this.hasMode && this.isSysDarkPrefer)) {
122          return ModeToggle.DARK_MODE;
123        } else {
124          return ModeToggle.LIGHT_MODE;
125        }
126      }
127
128      setDark() {
129        document.documentElement.setAttribute(
130          ModeToggle.MODE_ATTR,
131          ModeToggle.DARK_MODE
132        );
133        sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.DARK_MODE);
134      }
135
136      setLight() {
137        document.documentElement.setAttribute(
138          ModeToggle.MODE_ATTR,
139          ModeToggle.LIGHT_MODE
140        );
141        sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.LIGHT_MODE);
142      }
143
144      clearMode() {
145        document.documentElement.removeAttribute(ModeToggle.MODE_ATTR);
146        sessionStorage.removeItem(ModeToggle.MODE_KEY);
147      }
148
149      /* Notify another plugins that the theme mode has changed */
150      notify() {
151        window.postMessage(
152          {
153            direction: ModeToggle.ID,
154            message: this.modeStatus
155          },
156          "*"
157        );
158      }
159
160      flipMode() {
161        if (this.hasMode) {
162          if (this.isSysDarkPrefer) {
163            if (this.isLightMode) {
164              this.clearMode();
165            } else {
166              this.setLight();
167            }
168          } else {
169            if (this.isDarkMode) {
170              this.clearMode();
171            } else {
172              this.setDark();
173            }
174          }
175        } else {
176          if (this.isSysDarkPrefer) {
177            this.setLight();
178          } else {
179            this.setDark();
180          }
181        }
182        halo.flipMode();
183        this.notify();
184      } /* flipMode() */
185    } /* ModeToggle */
186
187    const modeToggle = new ModeToggle();
188  </script>
188
189  
189<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4509250084165942"
190     crossorigin="anonymous"></script>
190
191<meta name="baidu-site-verification" content="codeva-Q8Eysovmp8" />
192<meta name="abuseipdb-verification" content="ih8HAyIN" />
193<meta content="Halo 2.21.0-beta.1" name="generator"/><meta name="description" content="看看你的友链&hellip;&hellip; YiNNx: https://just-plain.fun/ Hamster5295: https://hamster5295.github.io/ jyi2ya: https://jyi2"/><!-- plugin-comment-widget start -->
194<script src="/plugins/PluginCommentWidget/assets/static/comment-widget.iife.js?version=2.6.0"></script>
194
195<link rel="stylesheet" href="/plugins/PluginCommentWidget/assets/static/style.css?version=2.6.0" />
196<!-- plugin-comment-widget end -->
197<!-- PluginSearchWidget start -->
198<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js?version=1.7.0" defer></script>
198
199<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css?version=1.7.0" />
200<!-- PluginSearchWidget end -->
201<!-- plugin-shiki start -->
202<script type="module" src="/plugins/shiki/assets/static/shiki-code.js?version=1.0.11"></script>
202
203<!-- plugin-shiki end -->
204<script async defer data-website-id="cdbdf1ea-9eb2-480d-96f1-3a511028902d" src="https://umami.goforcex.top//script.js"></script>
204
205<!-- plugin-pangu start -->
206<script defer src="/plugins/halo-plugin-pangu/assets/static/pangu.min.js"></script>
vendor: 1 bytes, line 206
206
207<script>
208    document.addEventListener('DOMContentLoaded', () => {
209      const selector = "";
210      if (selector === "" || selector === "null") {
211        pangu.spacingPageBody();
212      } else {
213        document.querySelectorAll(selector).forEach((contentNode) => {
214          pangu.spacingNode(contentNode);
215        });
216      }
217    });
218</script>
218
219<!-- plugin-pangu end -->
220<script async defer src="/halo-tracker.js" data-group="content.halo.run" data-plural="singlepages" data-name="e7c2150f-00a3-4f67-8eae-a38e36d9eeb2"></script>
220
221<link rel="icon" href="/upload/67143590.jpeg" />
222</head>
223
224<body>
225<aside
226    aria-label="Sidebar"
227    id="sidebar"
228    class="d-flex flex-column align-items-end"
229  >
230    <header class="profile-wrapper">
231      <a class="rounded-circle" href="/" id="avatar">
232        
233          <img src="/upload/67143590.jpeg" width="112" height="112" alt="avatar" />
234        
235        
236      </a>
237
238      <h1 class="site-title">
239        <a href="/">GoForceX&#39;s Blog</a>
240      </h1>
241      <p class="site-subtitle fst-italic">
242        摆烂的小站
243      </p>
244    </header>
245    <!-- .profile-wrapper -->
246
247    <nav
248      class="nav flex-column flex-grow-1 w-100 ps-0"
249    >
250      <ul class="nav">
251        <li class="nav-item">
252          <a
253            class="nav-link"
254            href="/"
255          >
256            <i
257              class="fa-fw fas fa-bars-staggered"
258            ></i>
259            
260            <span>首页</span>
261          </a>
262        </li>
263        <li class="nav-item">
264          <a
265            class="nav-link"
266            href="/about"
267          >
268            <i
269              class="fa-fw fas fa-bars-staggered"
270            ></i>
271            
272            <span>关于</span>
273          </a>
274        </li>
275        <li class="nav-item">
276          <a
277            class="nav-link"
278            href="/friends"
279            target="_self"
280          >
281            <i
282              class="fa-fw fas fa-bars-staggered"
283            ></i>
284            
285            <span>朋友们</span>
286          </a>
287        </li>
288        <li class="nav-item">
289          <a
290            class="nav-link"
291            href="/peering"
292            target="_self"
293          >
294            <i
295              class="fa-fw fas fa-bars-staggered"
296            ></i>
297            
298            <span>Peering Info</span>
299          </a>
300        </li>
301        <li class="nav-item">
302          <a
303            class="nav-link"
304            href="/dn42-peering"
305            target="_self"
306          >
307            <i
308              class="fa-fw fas fa-bars-staggered"
309            ></i>
310            
311            <span>DN42 Info</span>
312          </a>
313        </li>
314
315        <!-- .nav-item -->
316      </ul>
317    </nav>
318    <!-- ul.nav.flex-column -->
319
320    <div class="sidebar-bottom d-flex flex-wrap align-items-center w-100">
321      <!--    {% unless site.theme_mode %}-->
322      <button class="mode-toggle btn" aria-label="Switch Mode">
323        <i class="fas fa-adjust"></i>
324      </button>
325
326      
327        <span class="icon-border"></span>
328        
329          <a href="https://github.com/GoForceX">
330            <i class="fab fa-github"></i>
331          </a>
332        
333          <a href="https://twitter.com/CN_GoForceX">
334            <i class="fab fa-x-twitter"></i>
335          </a>
336        
337          <a href="mailto:[email protected]">
338            <i class="fas fa-envelope"></i>
339          </a>
340        
341          <a href="https://goforcex.top/feed.xml">
342            <i class="fas fa-rss"></i>
343          </a>
344        
345      
346    </div>
347    <!-- .sidebar-bottom -->
348  </aside>
349<div id="main-wrapper" class="d-flex justify-content-center">
350  <div class="container d-flex flex-column px-xxl-5">
351    
352      
353      
354      
355      
356      
357      
358      
359      
360        <header id="topbar-wrapper">
361	<div
362		id="topbar"
363		class="d-flex align-items-center justify-content-between px-lg-3 h-100"
364	>
365		<nav id="breadcrumb" aria-label="Breadcrumb">
366			
367    <span>
368      <a href="/">Home</a>
369    </span>
370    <span>朋友们</span>
371  
372		</nav>
373		<!--      display none-->
374		<button type="button" id="sidebar-trigger" class="btn btn-link">
375			<i class="fas fa-bars fa-fw"></i>
376		</button>
377
378    <div id="topbar-title"> </div>
379		<!--     .display none-->
380
381    
382
383		
384			<button type="button" id="search-trigger" class="btn btn-link">
385				<i class="fas fa-search fa-fw"></i>
386			</button>
387			<search class="align-items-center ms-3 ms-lg-0">
388				<i class="fas fa-search fa-fw"></i>
389				<a href="javascript:SearchWidget.open()" title="Search">
390					<input
391						class="form-control"
392						id="search-input"
393						type="search"
394						aria-label="search"
395						autocomplete="off"
396						placeholder="Search"
397					>
398				</a>
399			</search>
400			<button type="button" class="btn btn-link text-decoration-none" id="search-cancel">
401				Cancel
402			</button>
403		
404	</div>
405</header>
406      
407    
408    <div class="row flex-grow-1">
409      <main
410        aria-label="Main Content"
411        class="col-12 col-lg-11 col-xl-9 px-md-4 pb-5"
412      >
413        
414        
415        
416          <article class="px-1">
417            
418    <h1 data-toc-skip>朋友们</h1>
419    <div class="post-content">
420          <style class="pjax" data-pjax>
421    pre:has(code) {
422        filter: blur(10px) !important;
423        padding: 1rem !important;
424    }
425    </style>
426<p style="">看看你的友链……</p><p style=""><a href="https://github.com/YiNNx" target="_blank">YiNNx</a>: <a href="https://just-plain.fun/" target="_blank">https://just-plain.fun/</a></p><p style=""><a href="https://github.com/Hamster5295" target="_blank">Hamster5295</a>: <a href="https://hamster5295.github.io/" target="_blank">https://hamster5295.github.io/</a></p><p style=""><a href="https://github.com/jyi2ya" target="_blank">jyi2ya</a>: <a href="https://jyi2ya.github.io/" target="_blank">https://jyi2ya.github.io/</a></p><p style=""><a href="https://github.com/ligen131" target="_blank">ligen131</a>: <a href="https://ligen.life/" target="_blank">https://ligen.life/</a></p><p style=""><a href="https://github.com/HomeArchbishop" target="_blank">HomeArchbishop</a>: <a href="https://buuug.top/" target="_blank">https://buuug.top/</a></p><p style=""><a href="https://github.com/Mengbooo" target="_blank">Mengbooo</a>: <a href="https://bemosite.fun/" target="_self">https://bemosite.fun/</a></p><p style="">晨叶梦春的小屋: <a href="https://www.yumeharu.top/" target="_blank" rel="">https://www.yumeharu.top/</a></p>
427    </div>
428    <div id="comment">
429      <div id="comment-content-halo-run-SinglePage-e7c2150f-00a3-4f67-8eae-a38e36d9eeb2"></div>
430<script>
431  CommentWidget.init(
432    "#comment-content-halo-run-SinglePage-e7c2150f-00a3-4f67-8eae-a38e36d9eeb2",
433    {
434      group: "content.halo.run",
435      kind: "SinglePage",
436      name: "e7c2150f-00a3-4f67-8eae-a38e36d9eeb2",
437      size: 20,
438      replySize: 10,
439      withReplies: false,
440      withReplySize: 5,
441      useAvatarProvider: false,
442      avatarProvider: "gravatar",
443      avatarProviderMirror: "",
444      avatarPolicy: "anonymousUser",
445      captchaEnabled: false,
446    }
447  );
448</script>
448
449
450    </div>
451  
452          </article>
453        
454      </main>
455
456      <!-- panel -->
457      <aside
458        aria-label="Panel"
459        id="panel-wrapper"
460        class="col-xl-3 ps-2 text-muted"
461      >
462        <html
463  lang="en"
464>
465  <div class="access">
466    <section id="access-lastmod" class="post">
467    <h2 class="panel-heading">Recently Updated</h2>
468    <ul
469      class="post-content list-unstyled ps-0 pb-1 ms-1 mt-2"
470    >
471      <li class="text-truncate lh-lg">
472        <a href="/archives/what-a-pigeon">待更新文章小本本</a>
473      </li>
474      <li class="text-truncate lh-lg">
475        <a href="/archives/things-todo-and-things-forgotten">灵感聚集地</a>
476      </li>
477      <li class="text-truncate lh-lg">
478        <a href="/archives/cve-2025-55182-recap">CVE-2025-55182 是怎么让 Next.js 大爆的?</a>
479      </li>
480      <li class="text-truncate lh-lg">
481        <a href="/archives/nat64-dns64-wtf">NAT64 / DNS64?尝一下</a>
482      </li>
483      <li class="text-truncate lh-lg">
484        <a href="/archives/configuring-ipv6-on-docker">记一次尝试在 Docker 上启用 IPv6 访问的顶级折磨</a>
485      </li>
486    </ul>
487  </section>
488    <section>
489    <h2 class="panel-heading">Trending Tags</h2>
490    <div
491      class="d-flex flex-wrap mt-3 mb-1 me-3"
492    >
493      
494        <a
495          class="post-tag btn btn-outline-primary"
496          href="/tags/halo"
497          >Halo</a
498        >
499      
500        <a
501          class="post-tag btn btn-outline-primary"
502          href="/tags/kai-fa"
503          >开发</a
504        >
505      
506        <a
507          class="post-tag btn btn-outline-primary"
508          href="/tags/you-zheng"
509          >邮政</a
510        >
511      
512        <a
513          class="post-tag btn btn-outline-primary"
514          href="/tags/yin-shi"
515          >饮食</a
516        >
517      
518        <a
519          class="post-tag btn btn-outline-primary"
520          href="/tags/qian-duan"
521          >前端</a
522        >
523      
524        <a
525          class="post-tag btn btn-outline-primary"
526          href="/tags/bgp"
527          >BGP</a
528        >
529      
530        <a
531          class="post-tag btn btn-outline-primary"
532          href="/tags/github"
533          >GitHub</a
534        >
535      
536        <a
537          class="post-tag btn btn-outline-primary"
538          href="/tags/chuang-yi"
539          >创意</a
540        >
541      
542        <a
543          class="post-tag btn btn-outline-primary"
544          href="/tags/lu-you"
545          >路由</a
546        >
547      
548        <a
549          class="post-tag btn btn-outline-primary"
550          href="/tags/bing-yan"
551          >冰岩</a
552        >
553      
554    </div>
555  </section>
556  </div>
557  <div class="access-sticky">
558    
559    <section
560      class="access-links"
561    >
562      <h2 class="panel-heading">Site Info</h2>
563      <ul class="post-content pl-0 pb-1 ml-1 mt-2">
564        <p>
565      <a href="https://beian.miit.gov.cn/" target="_blank">京ICP备2024071302号-1</a>
566</p>
567      </ul>
568    </section>
569  </div>
570</html>
571      </aside>
572    </div>
573    <div class="row">
574      <!-- tail -->
575      <div id="tail-wrapper" class="col-12 col-lg-11 col-xl-9 px-md-4">
576        <footer
577    aria-label="Site Info"
578    class="d-flex flex-column justify-content-center text-muted flex-lg-row justify-content-lg-between align-items-lg-center pb-lg-3"
579  >
580    <p>
581      ©2026
582      <a href="https://goforcex.top/">GoForceX&#39;s Blog</a>.
583      <!-- copyright-->
584      <span
585        data-bs-toggle="tooltip"
586        data-bs-placement="top"
587        title="Except where otherwise noted, the blog posts on this site are licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) License by the author."
588      >
589        Some rights reserved.
590      </span>
591    </p>
592    <p>
593      Using the
594      <a href="https://halo.run" target="_blank" rel="noopener">Halo</a>
595      theme
596      <a
597        href="https://github.com/airbozh/halo-theme-chirpy"
598        target="_blank"
599        rel="noopener"
600        >Chirpy</a
601      >
602    </p>
603  </footer>
604      </div>
605    </div>
606  </div>
607
608  <aside aria-label="Scroll to Top">
609    <button
610      id="back-to-top"
611      type="button"
612      class="btn btn-lg btn-box-shadow"
613    >
614      <i class="fas fa-angle-up"></i>
615    </button>
616  </aside>
617</div>
618<div id="mask"></div>
619</body>
620</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.