PageSourceSearch

https://disue.com/

html disue.com collected 2026-10-06 13:14:42 UTC 104,917 bytes, 2,580 lines download raw bytes

1<!doctype html>
2<html
3  lang="en"
4>
5  <head>
6    <title>Disue · 迪素</title>
7
8    <meta charset="utf-8" />
9    <meta name="renderer" content="webkit" />
10    
11    <meta name="format-detection" content="telephone=no" />
12    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
13    <meta http-equiv="Cache-Control" content="no-siteapp" />
14    <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
15    <meta
16      name="viewport"
17      content="width=device-width, user-scalable=no, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover"
18    />
19    
20    <meta http-equiv="x-dns-prefetch-control" content="on" />
21    <meta name="site" content="https://disue.com" />
22    <!-- OG -->
23    <meta property="og:image" content="/upload/favicon.png" />
24    <meta property="og:description" content="site.seo.description" />
25    <meta property="og:type" content="website" />
26    <meta property="og:locale" content="zh_CN" />
27    <meta property="og:site_name" content="Disue · 迪素-Dynamic Internet Security Utility Engine" />
28    <meta property="og:url" content="https://disue.com" />
29    <meta property="og:title" content="Disue · 迪素" />
30    <meta property="twitter:partner" content="ogwp" />
31    <!-- /OG -->
32
33    
34    
35    
35<script id="theme-config-getter">
36      const ThemeConfig = {
37        theme_mode: "user",
38        enable_loading_bar: true,
39        enable_footer: true,
40        footer_position: "none",
41        check_baidu_collect: false,
42        baidu_token: "",
43        enable_back2top: true,
44        enable_back2top_smooth: true,
45        enable_weather: false,
46        weather_key: "",
47        link_behavior: "current",
48        enable_tag_cloud: true,
49        tag_cloud_type: document.getElementById('tags-3d') ? '3d' : 'list',
50        enable_fixed_header: true,
51        enable_clean_mode: false,
52        cursor_effect: "off",
53        enable_offscreen_tip: false,
54        enable_birthday: false,
55        birthday: "2021\/11\/11 06:30",
56        light_time_scope: "5:00~19:00",
57        enable_console_theme: false,
58        version: "1.4.0",
59
60        enable_big_banner: false,
61        enable_banner: false,
62        banner_direction: "horizontal",
63        enable_banner_loop: true,
64        banner_effect: "slide",
65        banner_speed: 500,
66        enable_banner_handle: true,
67        enable_banner_autoplay: true,
68        banner_delay: "3500",
69        enable_banner_switch_button: true,
70        enable_banner_pagination: true,
71        enable_index_list_ajax: false,
72        post_index_page_size: false,
73        backdrop: "off",
74        favicon: "\/upload\/favicon.png",
75        enable_index_list_effect: true,
76        index_list_effect_class: "fadeInUp",
77        show_loaded_time: false,
78        enable_debug: false,
79        access_key: false,
80        enable_copy: true,
81        enable_share: true,
82        enable_share_link: true,
83        enable_share_weixin: true,
84        enable_like: true,
85        enable_toc: true,
86        enable_progress_bar: true,
87        enable_code_expander: false,
88        enable_fold_long_code: false,
89        enable_comment: true,
90        toc_depth: "0",
91        enable_code_title: true,
92        enable_code_hr: true,
93        enable_code_macdot: true,
94        enable_code_line_number: false,
95        enable_code_newline: false,
96        show_tools_when_hover: true,
97        enable_code_copy: true,
98        enable_copy_right_text: false,
99        copy_right_text: "",
100        offscreen_title_leave: "\u6B6A\uFF0C\u4F60\u53BB\u54EA\u91CC\u4E86\uFF1F",
101        offscreen_title_back: "(\u3064\u30A7\u2282)\u54A6\uFF0C\u53C8\u56DE\u6765\u4E86!",
102        enable_journal_effect: true,
103        enable_friend_effect: true,
104        // prettier-ignore
105        journal_list_effect_class: "fadeInUp",
106        friend_list_effect_class: "fadeInUp",
107        enable_like_journal: true,
108        enable_comment_journal: true,
109        journal_block_height: "300",
110        long_code_height: "800",
111        lazyload_avatar: "\/upload\/photo_2025-09-26_13-23-33.jpg",
112        photos_layout: 'waterfall',
113        // prettier-ignore
114        blog_url: "https:\/\/disue.com",
115        blog_title: "Disue \u00B7 \u8FEA\u7D20",
116        // prettier-ignore
117        BASE_RES_URL: "\/themes\/theme-Joe3",
118        BASE_URL: 'https://bbchin.com',
119      };
120      //转数字
121      ThemeConfig.banner_speed = parseInt(ThemeConfig.banner_speed);
122      ThemeConfig.banner_delay = parseInt(ThemeConfig.banner_delay);
123      ThemeConfig.toc_depth = parseInt(ThemeConfig.toc_depth);
124      ThemeConfig.journal_block_height = parseInt(ThemeConfig.journal_block_height);
125      ThemeConfig.long_code_height = parseInt(ThemeConfig.long_code_height);
126      ThemeConfig.photos_gap = 10;
127      ThemeConfig.enable_photos_effect = true;
128    </script>
128
129  
130    
131    
132    
132<script id="compatiable-checker">
133      // 兼容性检查
134      function detectIE() {
135        var n = window.navigator.userAgent,
136          e = n.indexOf('MSIE ');
137        if (e > 0) {
138          return parseInt(n.substring(e + 5, n.indexOf('.', e)), 10);
139        }
140        if (n.indexOf('Trident/') > 0) {
141          var r = n.indexOf('rv:');
142          return parseInt(n.substring(r + 3, n.indexOf('.', r)), 10);
143        }
144        var i = n.indexOf('Edge/');
145        return i > 0 && parseInt(n.substring(i + 5, n.indexOf('.', i)), 10);
146      }
147      detectIE() &&
148        (alert('当前站点不支持IE浏览器或您开启了兼容模式,请使用其他浏览器访问或关闭兼容模式。'),
149        (location.href = 'https://www.baidu.com'));
150    </script>
150
151
152    
152<script id="theme-config-getter" type="text/javascript">
153      if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
154        ThemeConfig['mode'] = 'development';
155        console.log(ThemeConfig.mode);
156      }
157
158      if (ThemeConfig.mode === 'development') {
159        console.log('Joe3主题配置:', ThemeConfig);
160        console.log('资源根路径:', ThemeConfig.BASE_RES_URL);
161      }
162      // 读取主题模式
163      var initThemeMode = function () {
164        try {
165          var curMode = '';
166          if (ThemeConfig.theme_mode === 'auto') {
167            var light_scope = ThemeConfig.light_time_scope.split('~');
168            var now = new Date();
169            var today = now.toLocaleString().split(' ')[0];
170            var curMode =
171              now >= new Date(today + ' ' + light_scope[0]) &&
172              now <= new Date(today + ' ' + light_scope[1])
173                ? 'light'
174                : 'dark';
175            localStorage.removeItem('data-mode');
176          } else if (ThemeConfig.theme_mode === 'user') {
177            // 用户模式下优先从本地取主题模式,默认为浅色
178            curMode = localStorage.getItem('data-mode') || 'light';
179            localStorage.setItem('data-mode', curMode);
180          } else {
181            // 非用户模式下直接取后台配置的模式
182            curMode = ThemeConfig.theme_mode;
183            localStorage.removeItem('data-mode');
184          }
185          document.querySelector('html').setAttribute('data-mode', curMode);
186        } catch (e) {
187          console.log(e);
188        }
189      };
190      initThemeMode();
191      window.Joe = {
192        BASE_API: '',
193        isMobile: /windows phone|iphone|android/gi.test(window.navigator.userAgent),
194        bloggerGenerateAvatarOpts: (function () {
195          let generateAvatarOpts = {};
196          let generate_avatar_opts_str = '{bgColor:&#39;&#39;,textColor:&#39;&#39;,useTextGradient:false}';
197          if (generate_avatar_opts_str) {
198            // generate_avatar_opts_str 示例:{bgColor:'',textColor:'',useTextGradient:false}, 解析 generate_avatar_opts 配置
199            try {
200              // 防止 &#39; 等特殊字符导致 JSON 解析失败
201              const eleTmp = document.createElement('div');
202              eleTmp.innerHTML = generate_avatar_opts_str;
203              // key 自动加上 "" 防止报错,’ 自动转成 “
204              generate_avatar_opts_str = eleTmp.innerHTML
205                .replace(/'/g, '"')
206                .replace(/([\w]+):/g, '"$1":');
207              generateAvatarOpts = JSON.parse(generate_avatar_opts_str);
208            } catch (e) {
209              console.error(
210                'Joe3主题配置:生成文字性头像的配置解析失败,使用默认配置。generate_avatar_opts_str:',
211                generate_avatar_opts_str,
212                ' ,error:',
213                e
214              );
215            }
216          }
217          return generateAvatarOpts;
218        })(),
219        errorImg: function (target, src) {
220          const targetSrc = target.getAttribute('src');
221          console.log(
222            '加载图片失败',
223            ' ,srcArg:',
224            src,
225            ' .target.src:',
226            targetSrc,
227            ' ,target.alt:',
228            target.getAttribute('alt'),
229            ' ,target.dataset.errSrc:',
230            target.dataset.errSrc,
231            ' ,target.dataset.textAvatar:',
232            target.dataset.textAvatar
233          );
234
235          let generatedTextAvatar;
236          let generatedTextAvatarBase64;
237
238          switch (src) {
239            case 'HomeErrImg': {
240              // 如果 src 是 HomeErrImg 则使用首页配置里配置的文章错误缺省图
241              src = '/themes/theme-Joe3/assets/img/default_thumbnail.png';
242              break;
243            }
244            case 'LinksErrImg': {
245              // 如果 src 是 LinksErrImg 则使用友链配置里配置的友链默认 logo
246              src = target.dataset.errSrc || '/themes/theme-Joe3/assets/img/default_links_logo.png';
247              if (
248                !src ||
249                src === targetSrc ||
250                (targetSrc && targetSrc.indexOf('/assets/img/transparent-placeholder.png') !== -1)
251              ) {
252                if (target.dataset.textAvatar || target.getAttribute('alt')) {
253                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
254                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
255                  src = generatedTextAvatarBase64;
256                } else {
257                  src = '/themes/theme-Joe3/assets/img/default_links_logo.png';
258                }
259              }
260              break;
261            }
262            case 'ErrAvatarImg': {
263              // 如果 src 是 ErrAvatarImg 则使用博主配置里配置的默认头像
264              src = target.dataset.errSrc || '/upload/photo_2025-09-26_13-23-33.jpg';
265              if (
266                !src ||
267                src === targetSrc ||
268                (targetSrc && targetSrc.indexOf('/assets/img/transparent-placeholder.png') !== -1)
269              ) {
270                if (target.dataset.textAvatar || target.getAttribute('alt')) {
271                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
272                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
273                  src = generatedTextAvatarBase64;
274                } else {
275                  src = '/themes/theme-Joe3/assets/img/peeps-avatar.png';
276                }
277              }
278              break;
279            }
280            case 'LoadFailedImg': {
281              // 如果 src 是 LoadFailedImg 则使用加载失败的图片
282              src = target.dataset.errSrc || '/themes/theme-Joe3/assets/img/img_load_failed.jpg';
283              break;
284            }
285          }
286
287          const nowSrc = src || target.dataset.errSrc || '/themes/theme-Joe3/assets/img/Joe3.png';
288          if (targetSrc === nowSrc) return;
289
290          if (
291            generatedTextAvatarBase64 &&
292            generatedTextAvatar &&
293            nowSrc === generatedTextAvatarBase64
294          ) {
295            target.setAttribute('data-generated-text-avatar', generatedTextAvatar);
296          } else if (target.getAttribute('data-generated-text-avatar')) {
297            target.removeAttribute('data-generated-text-avatar');
298          }
299
300          console.log(
301            '加载图片失败,使用默认图片:',
302            nowSrc,
303            ' ,oldSrc:',
304            targetSrc,
305            ' ,target.alt:',
306            target.getAttribute('alt')
307          );
308          target.setAttribute('onerror', null);
309          target.setAttribute('src', nowSrc);
310        },
311        // 已经加载 transparent-placeholder.png 后替换图片
312        loadedPlaceholderReplaceImg: function (target, src) {
313          const targetSrc = target.getAttribute('src');
314          if (
315            !targetSrc ||
316            src === targetSrc ||
317            targetSrc.indexOf('/assets/img/transparent-placeholder.png') === -1
318          ) {
319            return;
320          }
321
322          console.log(
323            '加载图片 transparent-placeholder.png 后替换图片',
324            ' ,srcArg:',
325            src,
326            ' ,target.alt:',
327            target.getAttribute('alt'),
328            ' ,target.dataset.replaceSrc:',
329            target.dataset.replaceSrc,
330            ' ,target.dataset.textAvatar:',
331            target.dataset.textAvatar
332          );
333
334          let generatedTextAvatar;
335          let generatedTextAvatarBase64;
336
337          switch (src) {
338            case 'LinksImg': {
339              // 如果 src 是 LinksImg 则使用友链配置里配置的友链默认 logo
340              src = target.dataset.replaceSrc || '/themes/theme-Joe3/assets/img/default_links_logo.png';
341              if (!src || src === targetSrc) {
342                if (target.dataset.textAvatar || target.getAttribute('alt')) {
343                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
344                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
345                  src = generatedTextAvatarBase64;
346                } else {
347                  src = '/themes/theme-Joe3/assets/img/default_links_logo.png';
348                }
349              }
350              break;
351            }
352            case 'AvatarImg': {
353              // 如果 src 是 AvatarImg 则使用博主配置里配置的默认头像
354              src = target.dataset.replaceSrc || '/upload/photo_2025-09-26_13-23-33.jpg';
355              if (!src || src === targetSrc) {
356                if (target.dataset.textAvatar || target.getAttribute('alt')) {
357                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
358                  target.setAttribute('data-generated-text-avatar', generatedTextAvatar);
359                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
360                  src = generatedTextAvatarBase64;
361                } else {
362                  src = '/themes/theme-Joe3/assets/img/peeps-avatar.png';
363                }
364              }
365              break;
366            }
367          }
368
369          const nowSrc =
370            src || target.dataset.replaceSrc || '/themes/theme-Joe3/assets/img/Joe3.png';
371          if (targetSrc === nowSrc) return;
372
373          if (
374            generatedTextAvatarBase64 &&
375            generatedTextAvatar &&
376            nowSrc === generatedTextAvatarBase64
377          ) {
378            target.setAttribute('data-generated-text-avatar', generatedTextAvatar);
379          } else if (target.getAttribute('data-generated-text-avatar')) {
380            target.removeAttribute('data-generated-text-avatar');
381          }
382
383          console.log('加载替换后的图片:', nowSrc, ' ,target.alt:', target.getAttribute('alt'));
384          target.setAttribute('onload', null);
385          target.setAttribute('src', nowSrc);
386        },
387        replaceAllTextAvatarImage: function () {
388          console.log('call replaceAllTextAvatarImage');
389          const generatedEles = document.querySelectorAll('img[data-generated-text-avatar]');
390          generatedEles.forEach(function (ele) {
391            const generatedTextAvatar = ele.getAttribute('data-generated-text-avatar');
392            const generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
393            ele.setAttribute('src', generatedTextAvatarBase64);
394          });
395        },
396        // 生成随机颜色函数
397        getRandomColor: function (alpha) {
398          const letters = '0123456789ABCDEF';
399          let color = '#';
400          for (let i = 0; i < 6; i++) {
401            color += letters[Math.floor(Math.random() * 16)];
402          }
403          if (alpha !== undefined) {
404            return color + (alpha >= 0 && alpha <= 1 ? Math.round(alpha * 255).toString(16) : 'FF');
405          }
406          return color;
407        },
408        // 生成随机颜色的文字性头像
409        generateTextAvatarImage: function (text, opts) {
410          opts = Object.assign({}, Joe.bloggerGenerateAvatarOpts, opts || {});
411          opts.fontSize = opts.fontSize || 50;
412          opts.font = opts.font || 'Great Vibes';
413          opts.canvasRadius = opts.canvasWidth || 1.5 * opts.fontSize;
414
415          // 如果是 var(--xxxx),则说明是 css 配置的变量,需要从html样式中解析成具体值
416          if (opts.textColor && /var\(--([\w-]+)\)/.test(opts.textColor)) {
417            const match = opts.textColor.match(/var\(--([\w-]+)\)/);
418            if (match) {
419              let cssVar =
420                getComputedStyle(document.documentElement)
421                  .getPropertyValue('--' + match[1])
422                  .trim() ||
423                getComputedStyle(document.body)
424                  .getPropertyValue('--' + match[1])
425                  .trim();
426              if (cssVar) {
427                opts.textColor = cssVar;
428              }
429            }
430          }
431
432          // 如果是 var(--xxxx),则说明是 css 配置的变量,需要从html样式中解析成具体值
433          if (opts.bgColor && /var\(--([\w-]+)\)/.test(opts.bgColor)) {
434            const match = opts.bgColor.match(/var\(--([\w-]+)\)/);
435            if (match) {
436              let cssVar =
437                getComputedStyle(document.documentElement)
438                  .getPropertyValue('--' + match[1])
439                  .trim() ||
440                getComputedStyle(document.body)
441                  .getPropertyValue('--' + match[1])
442                  .trim();
443              if (cssVar) {
444                opts.bgColor = cssVar;
445              }
446            }
447          }
448
449          // 创建一个新的 Canvas 元素
450          const canvas = document.createElement('canvas');
451          const ctx = canvas.getContext('2d');
452
453          // 设置 Canvas 的尺寸
454          canvas.width = opts.canvasRadius;
455          canvas.height = opts.canvasRadius;
456
457          if (opts.bgColor) {
458            ctx.fillStyle = opts.bgColor;
459          } else {
460            // 生成随机颜色的渐变背景
461            const gradient = ctx.createRadialGradient(
462              canvas.width / 2,
463              canvas.height / 2,
464              0,
465              canvas.width / 2,
466              canvas.height / 2,
467              canvas.width / 2
468            );
469            gradient.addColorStop(0, Joe.getRandomColor(0.7));
470            gradient.addColorStop(1, Joe.getRandomColor(0.7));
471
472            // 绘制渐变背景
473            ctx.fillStyle = gradient;
474          }
475
476          ctx.beginPath();
477          ctx.arc(canvas.width / 2, canvas.height / 2, canvas.width / 2, 0, Math.PI * 2);
478          ctx.fill();
479
480          // 设置文本样式
481          ctx.font = `${opts.fontSize}px ${opts.font}`;
482
483          if (opts.textColor) {
484            ctx.fillStyle = opts.textColor;
485          } else if (opts.useTextGradient) {
486            // 生成文字的线性渐变
487            const textGradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height);
488            textGradient.addColorStop(0, Joe.getRandomColor(0.9)); // 文字的渐变色
489            textGradient.addColorStop(1, Joe.getRandomColor(0.9)); // 文字的渐变色
490            ctx.fillStyle = textGradient;
491          } else if (opts.bgColor) {
492            // 设置了背景色,但是没有设置文字颜色,则需要设置默认文字颜色为黑色,防止文字颜色和背景色一致【注;背景色为渐变色,文字能显示出来,因此不需要设置文字颜色】
493            // 如果 bgColor 为黑色,则文字颜色设置为白色,否则设置为黑色
494            ctx.fillStyle = /(#000000|#000|black)/.test(opts.bgColor) ? '#fff' : '#000';
495          }
496
497          ctx.textAlign = 'center';
498          ctx.textBaseline = 'middle';
499
500          // 在 Canvas 上绘制文本
501          ctx.fillText(text.charAt(0), canvas.width / 2, canvas.height / 2);
502
503          // 返回生成的图片对象 base64 编码
504          return canvas.toDataURL();
505        },
506      };
507      ThemeConfig.enable_console_theme &&
508        console.log(
509          '%cTheme By  Jiewen' + ' | 版本 V' + ThemeConfig.version,
510          'padding: 8px 15px;color:#fff;background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3);border-radius: 0 15px 0 15px;'
511        );
512    </script>
512
513  
514    
515    <!--    <th:block th:replace="~{modules/themeSettingVariable :: themeSetting}" />-->
516    <!--    <th:block th:if="${htmlType == 'post'}">-->
517    <!--    <th:block th:replace="~{modules/postMetaVariable :: postSetting}" />-->
518    <!--    </th:block>-->
519    <link rel="shortcut icon" size="32x32" href="/upload/favicon.png" />
520    <link rel="canonical" href="https://disue.com" />
521    <link rel="apple-touch-icon" sizes="180x180" href="/upload/favicon.png" />
522    
523    <style>
524      
525      @font-face {
526          font-family: "Joe Font";
527          font-weight: 400;
528          font-style: normal;
529          font-display: swap;
530          
531          
532
533      }
534      html body {
535          --waline-avatar-size: 2.25rem;
536          --waline-m-avatar-size: calc(var(--waline-avatar-size) * 9 / 13);
537          --waline-theme-color:#1A73E8;
538          --waline-active-color: #1A73E8;
539
540          --theme: #1A73E8;
541          --wave-color: #fff;
542          --scroll-bar: #c0c4cc;
543          --loading-bar:  var(--theme);
544          --img-max-width: 100%;
545          font-family: "Joe Font", "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, "sans-serif";
546          --halo-comment-widget-base-font-family: "Joe Font", "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, "sans-serif";
547          --halo-search-widget-base-font-family: "Joe Font", "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, "sans-serif";
548          --halo-comment-widget-base-color: var(--main);
549          --halo-comment-widget-base-info-color:var(--routine);
550
551
552
553      }
554      html[data-mode='dark'] body {
555
556          --waline-theme-color:#9999ff;
557          --waline-active-color: #9999ff;
558          --theme: #9999ff;
559          --wave-color: #fff;
560          --scroll-bar: #c0c4cc;
561          --loading-bar: var(--theme);
562          --halo-search-widget-color-modal-layer: rgba(10, 11, 12, 0.8);
563          --halo-search-widget-color-modal-content-bg: rgb(27, 27, 30);
564          --halo-search-widget-color-form-input: rgb(255, 255, 255);
565          --halo-search-widget-color-form-input-placeholder: #868686;
566          --halo-search-widget-color-form-input-bg: rgb(27, 27, 30);
567          --halo-search-widget-color-form-divider: #292929;
568          --halo-search-widget-color-result-item-bg: #232323;
569          --halo-search-widget-color-result-item-hover-bg: #2b3033;
570          --halo-search-widget-color-result-item-title: rgb(255 255 255);
571          --halo-search-widget-color-result-item-content: #868686;
572          --halo-search-widget-color-command-kbd-item: #868686;
573          --halo-search-widget-color-command-kbd-border: #868686;
574          --halo-search-widget-color-result-empty: #868686;
575          --halo-comment-widget-component-form-input-bg-color: #475569;
576          --halo-comment-widget-component-form-input-color: #ffffff;
577          --halo-comment-widget-component-form-input-border-color: #495056;
578          --halo-comment-widget-component-form-input-border-color-focus: #65a3ff;
579          --halo-comment-widget-component-form-input-box-shadow-focus: 0 0 0 0.15em #1c3966;
580          --halo-comment-widget-component-form-button-login-bg-color: #334155;
581          --halo-comment-widget-component-form-button-login-bg-color-hover: #475569;
582          --halo-comment-widget-component-form-button-login-border-color: #475569;
583          --halo-comment-widget-component-form-button-submit-border-color: #475569;
584          --halo-comment-widget-component-form-button-submit-border-color-hover: #64748b;
585          --halo-comment-widget-component-form-button-emoji-color: #cbd5e1;
586
587          --halo-comment-widget-component-comment-item-action-bg-color-hover: #475569;
588          --halo-comment-widget-component-comment-item-action-color: #64748b;
589          --halo-comment-widget-component-comment-item-action-color-hover: #94a3b8;
590
591          --halo-comment-widget-component-pagination-button-bg-color-hover: #475569;
592          --halo-comment-widget-component-pagination-button-bg-color-active: #475569;
593          --halo-comment-widget-component-pagination-button-border-color-active: #475569;
594
595          --halo-comment-widget-component-emoji-picker-rgb-color: 222, 222, 221;
596          --halo-comment-widget-component-emoji-picker-rgb-accent: 58, 130, 247;
597          --halo-comment-widget-component-emoji-picker-rgb-background: 21, 22, 23;
598          --halo-comment-widget-component-emoji-picker-rgb-input: 0, 0, 0;
599          --halo-comment-widget-component-emoji-picker-color-border: rgba(255, 255, 255, 0.1);
600          --halo-comment-widget-component-emoji-picker-color-border-over: rgba(255, 255, 255, 0.2);
601
602
603      }
604      ::-webkit-scrollbar {
605          width: 8px;
606      }
607      ::-webkit-scrollbar-thumb {
608          background: var(--scroll-bar);
609      }
610      
611      
612      html[data-mode="dark"] body {
613        background-repeat: no-repeat;
614        background-size: cover;
615        position: relative;
616      }
617
618      html[data-mode="dark"] body::before {
619        content: "";
620        position: fixed;
621        top: 0;
622        left: 0;
623        width: 100%;
624        height: 100%;
625        background-image: url("");
626        background-position: top center;
627        background-size: cover;
628        background-repeat: no-repeat;
629        z-index: -1; /* 保证内容层在背景之上 */
630      }
631
632      
633      
634      html[data-mode="dark"] body {
635          background-image: none;
636      }
637      
638    </style>
639  
640    
641      <!-- 加载条 -->
642      <link rel="stylesheet" href="/themes/theme-Joe3/assets/lib/nprogress/nprogress.min.css" />
643      <style>
644        #nprogress .bar {
645          height: 3px;
646          background: var(--loading-bar);
647        }
648        #nprogress .peg {
649          display: none;
650        }
651      </style>
652      
652<script src="/themes/theme-Joe3/assets/lib/nprogress/nprogress.min.js"></script>
652
653    
654    <link
655      rel="preload stylesheet"
656      as="style"
657      href="/themes/theme-Joe3/assets/css/min/normalize.min.css?v=1.4.0"
658    />
659    <link
660      rel="preload stylesheet"
661      as="style"
662      href="/themes/theme-Joe3/assets/lib/font-awesome/css/font-awesome.min.css"
663    />
664    <link
665      rel="preload stylesheet"
666      as="style"
667      href="//at.alicdn.com/t/font_2788564_crkap1ed9j5.css"
668    />
669    <link
670      rel="preload stylesheet"
671      as="style"
672      href="//at.alicdn.com/t/c/font_4198339_jcoci5bgy7.css"
673    />
674    
675    <link
676      rel="preload stylesheet"
677      as="style"
678      href="/themes/theme-Joe3/assets/css/min/theme.min.css?v=1.4.0"
679    />
680    <style>
681      #Joe .joe_container {
682        max-width: 1320px !important;
683      }
684
685      @media (max-width: 1360px) {
686        #Joe .joe_container {
687          max-width: initial !important;
688        }
689      }
690      @media (max-width: 768px) {
691        #Joe .joe_container {
692          max-width: initial !important;
693        }
694      }
695    </style>
696    <link rel="stylesheet" href="/themes/theme-Joe3/assets/lib/qmsg/qmsg.css" />
697    <link
698      rel="preload stylesheet"
699      as="style"
700      href="/themes/theme-Joe3/assets/lib/animate/animate.min.css"
701    />
702    
703    
704    <link
705      rel="preload stylesheet"
706      as="style"
707      href="/themes/theme-Joe3/assets/css/min/global.min.css?v=1.4.0"
708    />
709    
710      <link
711        rel="preload stylesheet"
712        as="style"
713        href="/themes/theme-Joe3/assets/css/min/index.min.css?v=1.4.0"
714      />
715    
716    
717    
718    
719    
720    
721    <link
722      rel="preload stylesheet"
723      as="style"
724      href="/themes/theme-Joe3/assets/css/min/responsive.min.css?v=1.4.0"
725    />
726    <link
727      rel="stylesheet"
728      href="/themes/theme-Joe3/assets/lib/fancybox/jquery.fancybox.min.css"
729    />
730    
731    
732    <link
733      rel="preload stylesheet"
734      as="style"
735      href="/themes/theme-Joe3/assets/css/min/beauty.min.css?v=1.4.0"
736    />
737    
738  
739    
739<script src="/themes/theme-Joe3/assets/lib/[email protected]/jquery.min.js?v=1.4.0"></script>
739
740    
741  <meta name="generator" content="Halo 2.26.1"/><!-- plugin-comment-widget start -->
742<link rel="modulepreload" href="/plugins/PluginCommentWidget/assets/static/comment-widget.js?version=3.0.0">
743<link rel="stylesheet" href="/plugins/PluginCommentWidget/assets/static/index.css?version=3.0.0" />
744<!-- plugin-comment-widget end -->
745<!-- PluginSearchWidget start -->
746<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js?version=1.7.1" defer></script>
746
747<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css?version=1.7.1" />
748<!-- PluginSearchWidget end -->
749<link rel="icon" href="/upload/favicon.png" />
750<meta name="keywords" content="VPS,云服务器,域名,Cloudflare,esim,银行卡,VPS 服务器常用脚本,服务器运维指南,全球 eSIM 购买,搬瓦工 CN2 GIA 评测" />
751<meta name="description" content="Dynamic Internet Security Utility Engine" />
752</head>
753  <!-- /OG -->
754  
755    <body>
756      <div id="Joe">
757        <!--          navbar-->
758        
759    <header class="joe_header">
760      <div
761        class="joe_header__above topInDown fixed "
762      >
763        <div
764          class="joe_container joe_header_container"
765        >
766          <i class="joe-font joe-icon-caidan joe_header__above-slideicon"></i>
767          
768            <a
769              title="Disue · 迪素"
770              class="joe_header__above-logo"
771              href="https://disue.com"
772            >
773              <img
774                style="border-radius:4px"
775                src="/upload/favicon.png"
776                alt="Disue · 迪素"
777                onerror="Joe.errorImg(this, 'ErrAvatarImg')" sizes="(max-width: 640px) 94vw, (max-width: 768px) 92vw, (max-width: 1024px) 88vw, min(800px, 85vw)" srcset="/upload/favicon.png?width=1600 1600w, /upload/favicon.png?width=400 400w, /upload/favicon.png?width=800 800w, /upload/favicon.png?width=1200 1200w"
778              />
779            </a>
780          
781          <nav
782            class="joe_header__above-nav  "
783          >
784            
785            <!--        自选导航-->
786            
787              
788                
789                  
790                    
791                      
792    <a
793      class="item"
794      href="/"
795      title="首页"
796    >
797      
798      首页
799    </a>
800  
801                    
802                    
803                  
804                    
805                      
806    <a
807      class="item"
808      href="//img.disue.com"
809      target="_blank"
810      title="图床"
811    >
812      
813      图床
814    </a>
815  
816                    
817                    
818                  
819                    
820                      
821    <a
822      class="item"
823      href="/about"
824      target="_self"
825      title="关于"
826    >
827      
828      关于
829    </a>
830  
831                    
832                    
833                  
834                    
835                      
836    <a
837      class="item"
838      href="/links"
839      target="_self"
840      title="友链"
841    >
842      
843      友链
844    </a>
845  
846                    
847                    
848                  
849                
850              
851            
852          </nav>
853
854          <div class="joe_header__above-search">
855            <!--        <div class="nav_login">-->
856            <!--          <th:block th:if="${#authentication.name == 'anonymousUser'}">-->
857            <!--          <a href="/console" title="搜索"><i class="jiewen joe-icon-zhanghao"></i></a>-->
858            <!--          </th:block>-->
859            <!--          <th:block th:if="${#authentication.name != 'anonymousUser'}">-->
860            <!--            <th:block th:with="contributor = ${contributorFinder.getContributor(#authentication.name)}">-->
861            <!--            <img th:src="${contributor.avatar}" th:title="${contributor.displayName}" th:alt="${contributor.displayName}" onerror="Joe.errorImg(this, 'ErrAvatarImg')" >-->
862            <!--            </th:block>-->
863            <!--          </th:block>-->
864            <!--        </div>-->
865            <!--        <input maxlength="16" autocomplete="off" placeholder="请输入关键字..." name="keyword" value="" class="input" type="text">-->
866            <button
867              type="submit"
868              id="halo-search"
869              class="submit"
870              style="border-radius: 17px 17px 17px 17px"
871              aria-label="搜索按钮"
872            >
873              <i class="joe-font joe-icon-search"></i>
874            </button>
875            <!--        <span class="icon"></span>-->
876            
877            <!--        <nav class="result">-->
878            <!--          <a href="archives/ce-shi-wen-zhang.html" title="测试文章" class="item">-->
879            <!--            <span class="sort">1</span>-->
880            <!--            <span class="text">测试文章</span>-->
881            <!--          </a>-->
882            <!--          <a href="archives/hello-halo.html" title="Hello Halo" class="item">-->
883            <!--            <span class="sort">2</span>-->
884            <!--            <span class="text">Hello Halo</span>-->
885            <!--          </a>-->
886            <!--        </nav>-->
887          </div>
888
889          <a href="javascript:SearchWidget.open()" title="搜索"
890            ><i class="joe-font joe-icon-search joe_header__above-searchicon"></i
891          ></a>
892        </div>
893      </div>
894
895      <div class="joe_header__slideout">
896        <div class="joe_header__slideout-wrap">
897          <img
898            width="100%"
899            height="150"
900            class="joe_header__slideout-image"
901            src="/themes/theme-Joe3/assets/img/author_bg.jpg?v=1.4.0"
902            alt="侧边栏壁纸"
903            onerror="Joe.errorImg(this)" sizes="(max-width: 640px) 94vw, (max-width: 768px) 92vw, (max-width: 1024px) 88vw, min(800px, 85vw)" srcset="/themes/theme-Joe3/assets/img/author_bg.jpg?v=1.4.0&width=1600 1600w, /themes/theme-Joe3/assets/img/author_bg.jpg?v=1.4.0&width=400 400w, /themes/theme-Joe3/assets/img/author_bg.jpg?v=1.4.0&width=800 800w, /themes/theme-Joe3/assets/img/author_bg.jpg?v=1.4.0&width=1200 1200w"
904          />
905          <div class="joe_header__slideout-author">
906            <img
907              width="50"
908              height="50"
909              class="avatar ls-is-cached lazyloaded"
910              data-src="/upload/photo_2025-09-26_13-23-33.jpg"
911              src="/upload/photo_2025-09-26_13-23-33.jpg"
912              alt="博主头像"
913              data-text-avatar="Disue · 迪素"
914              onload="Joe.loadedPlaceholderReplaceImg(this, 'AvatarImg')"
915              onerror="Joe.errorImg(this, 'ErrAvatarImg')" sizes="(max-width: 640px) 94vw, (max-width: 768px) 92vw, (max-width: 1024px) 88vw, min(800px, 85vw)" srcset="/upload/photo_2025-09-26_13-23-33.jpg?width=1600 1600w, /upload/photo_2025-09-26_13-23-33.jpg?width=400 400w, /upload/photo_2025-09-26_13-23-33.jpg?width=800 800w, /upload/photo_2025-09-26_13-23-33.jpg?width=1200 1200w"
916            />
917            <div class="info">
918              <a
919                class="link"
920                href="https://disue.com"
921                target="_blank"
922                rel="noopener noreferrer nofollow"
923                >Disue · 迪素
924                
925              </a>
926              <p class="motto joe_motto">Carpe diem</p>
927            </div>
928          </div>
929          
930          <ul class="joe_header__slideout-count">
931            <li class="item">
932              <i class="joe-font joe-icon-danganguanli"></i>
933              <span>累计撰写 <strong>16</strong> 篇文章</span>
934            </li>
935            
936              <li class="item">
937                <i class="joe-font joe-icon-remen"></i>
938                <span>累计创建 <strong>16</strong> 个标签</span>
939              </li>
940            
941            
942              <li class="item">
943                <i class="joe-font joe-icon-message"></i>
944                <span>累计收到 <strong>2</strong> 条评论</span>
945              </li>
946            
947            
948          </ul>
949          <ul class="joe_header__slideout-menu panel-box">
950            <li>
951              <a class="link panel in" href="#" rel="nofollow">
952                <span>栏目</span>
953                <i class="joe-font joe-icon-arrow-right"></i>
954              </a>
955              <ul class="slides panel-body panel-box panel-side-menu" style="display: block">
956                
957                
958                  
959                    
960                      
961                        
962                          <li>
963                            <a
964                              class="link"
965                              href="/"
966                              title="首页"
967                              >首页</a
968                            >
969                          </li>
970                        
971                        
972                      
973                        
974                          <li>
975                            <a
976                              class="link"
977                              href="//img.disue.com"
978                              target="_blank"
979                              title="图床"
980                              >图床</a
981                            >
982                          </li>
983                        
984                        
985                      
986                        
987                          <li>
988                            <a
989                              class="link"
990                              href="/about"
991                              target="_self"
992                              title="关于"
993                              >关于</a
994                            >
995                          </li>
996                        
997                        
998                      
999                        
1000                          <li>
1001                            <a
1002                              class="link"
1003                              href="/links"
1004                              target="_self"
1005                              title="友链"
1006                              >友链</a
1007                            >
1008                          </li>
1009                        
1010                        
1011                      
1012                    
1013                  
1014                
1015              </ul>
1016            </li>
1017          </ul>
1018        </div>
1019      </div>
1020
1021      <div class="joe_header__searchout">
1022        <a href="javascript:SearchWidget.open()" title="搜索"></a>
1023        <!--    <div class="joe_container">-->
1024
1025        <!--      <div class="joe_header__searchout-inner">-->
1026        <!--        <form class="joe_header__above-search-mobile" method="get" action="http://localhost:8093/search">-->
1027        <!--          <input maxlength="16" autocomplete="off" placeholder="请输入关键字..." name="keyword" value="" class="input" type="text">-->
1028        <!--          <button type="submit" class="submit">搜索</button>-->
1029        <!--        </form>-->
1030        <!--      </div>-->
1031        <!--    </div>-->
1032      </div>
1033
1034      <div class="joe_header__toc">
1035        <div class="joe_header__toc-wrap">
1036          <div class="toc_top">
1037            <h3>目 录<span>CONTENT</span></h3>
1038            <img
1039              width="100%"
1040              height="150"
1041              src="/themes/theme-Joe3/assets/img/context_bg.png"
1042              alt="文章目录"
1043              onerror="Joe.errorImg(this)" sizes="(max-width: 640px) 94vw, (max-width: 768px) 92vw, (max-width: 1024px) 88vw, min(800px, 85vw)" srcset="/themes/theme-Joe3/assets/img/context_bg.png?width=1600 1600w, /themes/theme-Joe3/assets/img/context_bg.png?width=400 400w, /themes/theme-Joe3/assets/img/context_bg.png?width=800 800w, /themes/theme-Joe3/assets/img/context_bg.png?width=1200 1200w"
1044            />
1045          </div>
1046          <div id="js-toc-mobile" class="toc"></div>
1047        </div>
1048      </div>
1049
1050      <div class="joe_header__mask"></div>
1051    </header>
1052  
1053        <!--          首页大图-->
1054        
1055
1056        <div
1057          class="joe_container joe_main_container page-index animated showInUp "
1058        >
1059          <div class="joe_main">
1060            <div class="joe_index">
1061              <!--                      轮播图-->
1062              
1063              <!--                      热门模块-->
1064
1065              
1066
1067              <div class="joe_index__article">
1068                <div class="joe_index__title">
1069                  <ul class="joe_index__title-title passage-list-tabs default">
1070                    <li class="item active" data-type="1">最新文章</li>
1071                  </ul>
1072                  
1073                </div>
1074                <div class="joe_index__list">
1075                  <ul class="joe_list">
1076                    
1077                      
1078    <li
1079      class="joe_list__item default animated wow data-wow-delay=&quot;0.0s&quot;"
1080      style="animation-delay: 0.0s;"
1081    >
1082      
1083        <a
1084          href="/archives/esimgg"
1085          class="thumbnail"
1086          title="告别漫游烦恼,拥抱自由连接:eSIM.gg"
1087          target="_blank"
1088          rel="noopener noreferrer"
1089        >
1090          
1091            <img
1092              width="100%"
1093              height="100%"
1094              class="lazyload"
1095              data-src="/upload/image-WrDk.png"
1096              srcset="/upload/image-WrDk.png?width=400 400w,
1097              /upload/image-WrDk.png?width=800 800w,
1098              /upload/image-WrDk.png?width=1200 1200w,
1099              /upload/image-WrDk.png?width=1600 1600w"
1100              sizes="(max-width: 1600px) 100vw, 1600px"
1101              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1102              alt="告别漫游烦恼,拥抱自由连接:eSIM.gg"
1103              onerror="Joe.errorImg(this, 'HomeErrImg')"
1104            />
1105          
1106          <time datetime="2025-09-22"
1107            >2025-09-22</time
1108          >
1109          <i class="joe-font joe-icon-picture"></i>
1110        </a>
1111      
1112      <div class="information">
1113        <a
1114          href="/archives/esimgg"
1115          class="title"
1116          title="告别漫游烦恼,拥抱自由连接:eSIM.gg"
1117          target="_blank"
1118          rel="noopener noreferrer"
1119        >
1120          
1121            <span class="badge" style="display: inline-block">置顶</span>
1122          
1123          告别漫游烦恼,拥抱自由连接:eSIM.gg
1124        </a>
1125        <a
1126          class="abstract"
1127          href="/archives/esimgg"
1128          title="您是否厌倦了昂贵的国际漫游费、繁琐的实体 SIM 卡更换,以及到达目的地后寻找本地卡的麻烦? 现在,是时候加入数千名信赖 eSIM.gg 的旅行者,体验由社区力量催生的全球无缝连接解决方案! 源于社区的连接革新:eSIM.gg 的诞生故事"
1129          target="_blank"
1130          rel="noopener noreferrer"
1131          >您是否厌倦了昂贵的国际漫游费、繁琐的实体 SIM 卡更换,以及到达目的地后寻找本地卡的麻烦? 现在,是时候加入数千名信赖 eSIM.gg 的旅行者,体验由社区力量催生的全球无缝连接解决方案! 源于社区的连接革新:eSIM.gg 的诞生故事</a
1132        >
1133        <div class="meta">
1134          <ul class="items">
1135            <li>2025-09-22</li>
1136            <li><i class="joe-font joe-icon-eye"></i>601</li>
1137            
1138              <li><i class="joe-font joe-icon-message"></i>0</li>
1139            
1140            
1141            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1142          </ul>
1143          
1144            <ul class="categories">
1145              <li class="pcate">
1146                <svg
1147                  class="icon"
1148                  viewBox="0 0 1024 1024"
1149                  xmlns="http://www.w3.org/2000/svg"
1150                  width="15"
1151                  height="15"
1152                >
1153                  <path
1154                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1155                    fill="var(--minor)"
1156                  ></path>
1157                  <path
1158                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1159                    fill="#ff6a18"
1160                  ></path>
1161                </svg>
1162                <a
1163                  class="link"
1164                  target="_blank"
1165                  rel="noopener noreferrer"
1166                  href="/categories/digitalnomad"
1167                  >数字生活</a
1168                >
1169              </li>
1170            </ul>
1171          
1172        </div>
1173      </div>
1174    </li>
1175  
1176                    
1177                      
1178    <li
1179      class="joe_list__item default animated wow data-wow-delay=&quot;0.1s&quot;"
1180      style="animation-delay: 0.1s;"
1181    >
1182      
1183        <a
1184          href="/archives/hk-vps-line"
1185          class="thumbnail"
1186          title="香港 VPS 线路全解析:NetLab、XNNet、VH Global、Cloudie 等上游与热门商家大整理"
1187          target="_blank"
1188          rel="noopener noreferrer"
1189        >
1190          
1191            <img
1192              width="100%"
1193              height="100%"
1194              class="lazyload"
1195              data-src="/upload/VPS.png"
1196              srcset="/upload/VPS.png?width=400 400w,
1197              /upload/VPS.png?width=800 800w,
1198              /upload/VPS.png?width=1200 1200w,
1199              /upload/VPS.png?width=1600 1600w"
1200              sizes="(max-width: 1600px) 100vw, 1600px"
1201              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1202              alt="香港 VPS 线路全解析:NetLab、XNNet、VH Global、Cloudie 等上游与热门商家大整理"
1203              onerror="Joe.errorImg(this, 'HomeErrImg')"
1204            />
1205          
1206          <time datetime="2026-09-20"
1207            >2026-09-20</time
1208          >
1209          <i class="joe-font joe-icon-picture"></i>
1210        </a>
1211      
1212      <div class="information">
1213        <a
1214          href="/archives/hk-vps-line"
1215          class="title"
1216          title="香港 VPS 线路全解析:NetLab、XNNet、VH Global、Cloudie 等上游与热门商家大整理"
1217          target="_blank"
1218          rel="noopener noreferrer"
1219        >
1220          
1221          香港 VPS 线路全解析:NetLab、XNNet、VH Global、Cloudie 等上游与热门商家大整理
1222        </a>
1223        <a
1224          class="abstract"
1225          href="/archives/hk-vps-line"
1226          title="香港 VPS 一直是国内用户选择海外服务器时比较特殊的一类产品。 一方面,香港距离中国大陆较近,延迟通常明显低于欧美、日本等地区;另一方面,香港国际带宽资源丰富,运营商和 IDC 众多,同样标注“香港优化”“三网直连”“CMI”“CN2”的 VPS,实际体验却可能完全不同。 尤其是近几年,大量低价香"
1227          target="_blank"
1228          rel="noopener noreferrer"
1229          >香港 VPS 一直是国内用户选择海外服务器时比较特殊的一类产品。 一方面,香港距离中国大陆较近,延迟通常明显低于欧美、日本等地区;另一方面,香港国际带宽资源丰富,运营商和 IDC 众多,同样标注“香港优化”“三网直连”“CMI”“CN2”的 VPS,实际体验却可能完全不同。 尤其是近几年,大量低价香</a
1230        >
1231        <div class="meta">
1232          <ul class="items">
1233            <li>2026-09-20</li>
1234            <li>
1234<i class="joe-font joe-icon-eye"></i>61</li>
1235            
1236              <li><i class="joe-font joe-icon-message"></i>0</li>
1237            
1238            
1239            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1240          </ul>
1241          
1242            <ul class="categories">
1243              <li class="pcate">
1244                <svg
1245                  class="icon"
1246                  viewBox="0 0 1024 1024"
1247                  xmlns="http://www.w3.org/2000/svg"
1248                  width="15"
1249                  height="15"
1250                >
1251                  <path
1252                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1253                    fill="var(--minor)"
1254                  ></path>
1255                  <path
1256                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1257                    fill="#ff6a18"
1258                  ></path>
1259                </svg>
1260                <a
1261                  class="link"
1262                  target="_blank"
1263                  rel="noopener noreferrer"
1264                  href="/categories/digitalnomad"
1265                  >数字生活</a
1266                >
1267              </li>
1268            </ul>
1269          
1270        </div>
1271      </div>
1272    </li>
1273  
1274                    
1275                      
1276    <li
1277      class="joe_list__item default animated wow data-wow-delay=&quot;0.2s&quot;"
1278      style="animation-delay: 0.2s;"
1279    >
1280      
1281        <a
1282          href="/archives/hermesai"
1283          class="thumbnail"
1284          title="从聊天机器人到 AI 工作伙伴:我使用 Hermes 与 AI 的一段实践"
1285          target="_blank"
1286          rel="noopener noreferrer"
1287        >
1288          
1289            <img
1290              width="100%"
1291              height="100%"
1292              class="lazyload"
1293              data-src="/upload/hermes.jpg"
1294              srcset="/upload/hermes.jpg?width=400 400w,
1295              /upload/hermes.jpg?width=800 800w,
1296              /upload/hermes.jpg?width=1200 1200w,
1297              /upload/hermes.jpg?width=1600 1600w"
1298              sizes="(max-width: 1600px) 100vw, 1600px"
1299              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1300              alt="从聊天机器人到 AI 工作伙伴:我使用 Hermes 与 AI 的一段实践"
1301              onerror="Joe.errorImg(this, 'HomeErrImg')"
1302            />
1303          
1304          <time datetime="2026-08-19"
1305            >2026-08-19</time
1306          >
1307          <i class="joe-font joe-icon-picture"></i>
1308        </a>
1309      
1310      <div class="information">
1311        <a
1312          href="/archives/hermesai"
1313          class="title"
1314          title="从聊天机器人到 AI 工作伙伴:我使用 Hermes 与 AI 的一段实践"
1315          target="_blank"
1316          rel="noopener noreferrer"
1317        >
1318          
1319          从聊天机器人到 AI 工作伙伴:我使用 Hermes 与 AI 的一段实践
1320        </a>
1321        <a
1322          class="abstract"
1323          href="/archives/hermesai"
1324          title="这段时间,我一直在折腾 AI。 严格来说,也不是单纯“用 AI”。 我更感兴趣的是:能不能把 AI 真正接进自己的电脑、服务器、数据和日常工作里。 所以这段时间,我折腾了不少东西:不同的大模型、OpenRouter、Telegram、Hermes Agent、Docker、数据库、Excel、OCR"
1325          target="_blank"
1326          rel="noopener noreferrer"
1327          >这段时间,我一直在折腾 AI。 严格来说,也不是单纯“用 AI”。 我更感兴趣的是:能不能把 AI 真正接进自己的电脑、服务器、数据和日常工作里。 所以这段时间,我折腾了不少东西:不同的大模型、OpenRouter、Telegram、Hermes Agent、Docker、数据库、Excel、OCR</a
1328        >
1329        <div class="meta">
1330          <ul class="items">
1331            <li>2026-08-19</li>
1332            <li>
1332<i class="joe-font joe-icon-eye"></i>46</li>
1333            
1334              <li><i class="joe-font joe-icon-message"></i>0</li>
1335            
1336            
1337            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1338          </ul>
1339          
1340            <ul class="categories">
1341              <li class="pcate">
1342                <svg
1343                  class="icon"
1344                  viewBox="0 0 1024 1024"
1345                  xmlns="http://www.w3.org/2000/svg"
1346                  width="15"
1347                  height="15"
1348                >
1349                  <path
1350                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1351                    fill="var(--minor)"
1352                  ></path>
1353                  <path
1354                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1355                    fill="#ff6a18"
1356                  ></path>
1357                </svg>
1358                <a
1359                  class="link"
1360                  target="_blank"
1361                  rel="noopener noreferrer"
1362                  href="/categories/digitalnomad"
1363                  >数字生活</a
1364                >
1365              </li>
1366            </ul>
1367          
1368        </div>
1369      </div>
1370    </li>
1371  
1372                    
1373                      
1374    <li
1375      class="joe_list__item default animated wow data-wow-delay=&quot;0.3s&quot;"
1376      style="animation-delay: 0.3s;"
1377    >
1378      
1379        <a
1380          href="/archives/ikuai-openwrt-agh-guide"
1381          class="thumbnail"
1382          title="iKuai + OpenWrt + AdGuard Home 最佳网络架构与 DNS 优化配置与指南"
1383          target="_blank"
1384          rel="noopener noreferrer"
1385        >
1386          
1387            <img
1388              width="100%"
1389              height="100%"
1390              class="lazyload"
1391              data-src="/upload/ik+op+dns.jpg"
1392              srcset="/upload/ik+op+dns.jpg?width=400 400w,
1393              /upload/ik+op+dns.jpg?width=800 800w,
1394              /upload/ik+op+dns.jpg?width=1200 1200w,
1395              /upload/ik+op+dns.jpg?width=1600 1600w"
1396              sizes="(max-width: 1600px) 100vw, 1600px"
1397              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1398              alt="iKuai + OpenWrt + AdGuard Home 最佳网络架构与 DNS 优化配置与指南"
1399              onerror="Joe.errorImg(this, 'HomeErrImg')"
1400            />
1401          
1402          <time datetime="2026-07-25"
1403            >2026-07-25</time
1404          >
1405          <i class="joe-font joe-icon-picture"></i>
1406        </a>
1407      
1408      <div class="information">
1409        <a
1410          href="/archives/ikuai-openwrt-agh-guide"
1411          class="title"
1412          title="iKuai + OpenWrt + AdGuard Home 最佳网络架构与 DNS 优化配置与指南"
1413          target="_blank"
1414          rel="noopener noreferrer"
1415        >
1416          
1417          iKuai + OpenWrt + AdGuard Home 最佳网络架构与 DNS 优化配置与指南
1418        </a>
1419        <a
1420          class="abstract"
1421          href="/archives/ikuai-openwrt-agh-guide"
1422          title="1. 核心架构设计思路 这套架构的核心理念是:分工明确、高可用优先、全网去广告、按需智能分流。 iKuai(主路由):负责运营商拨号、DHCP 地址分配、多 WAN 负载均衡及整体网络稳
1422定性。普通设备流量直连主路由,确保辅助设备维护或重启时,全家基础网络不受任何影响。 AdGuard Home (A"
1423          target="_blank"
1424          rel="noopener noreferrer"
1425          >1. 核心架构设计思路 这套架构的核心理念是:分工明确、高可用优先、全网去广告、按需智能分流。 iKuai(主路由):负责运营商拨号、DHCP 地址分配、多 WAN 负载均衡及整体网络稳定性。普通设备流量直连主路由,确保辅助设备维护或重启时,全家基础网络不受任何影响。 AdGuard Home (A</a
1426        >
1427        <div class="meta">
1428          <ul class="items">
1429            <li>2026-07-25</li>
1430            <li><i class="joe-font joe-icon-eye"></i>88</li>
1431            
1432              <li><i class="joe-font joe-icon-message"></i>0</li>
1433            
1434            
1435            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1436          </ul>
1437          
1438            <ul class="categories">
1439              <li class="pcate">
1440                <svg
1441                  class="icon"
1442                  viewBox="0 0 1024 1024"
1443                  xmlns="http://www.w3.org/2000/svg"
1444                  width="15"
1445                  height="15"
1446                >
1447                  <path
1448                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1449                    fill="var(--minor)"
1450                  ></path>
1451                  <path
1452                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1453                    fill="#ff6a18"
1454                  ></path>
1455                </svg>
1456                <a
1457                  class="link"
1458                  target="_blank"
1459                  rel="noopener noreferrer"
1460                  href="/categories/digitalnomad"
1461                  >数字生活</a
1462                >
1463              </li>
1464            </ul>
1465          
1466        </div>
1467      </div>
1468    </li>
1469  
1470                    
1471                      
1472    <li
1473      class="joe_list__item default animated wow data-wow-delay=&quot;0.4s&quot;"
1474      style="animation-delay: 0.4s;"
1475    >
1476      
1477        <a
1478          href="/archives/network-routing-guide"
1479          class="thumbnail"
1480          title="跨境网络线路科普:从 163/CN2 GIA 到 IEPL/IX 专线与国际互联指南"
1481          target="_blank"
1482          rel="noopener noreferrer"
1483        >
1484          
1485            <img
1486              width="100%"
1487              height="100%"
1488              class="lazyload"
1489              data-src="/upload/images"
1490              srcset="/upload/images 400w,
1491              /upload/images 800w,
1492              /upload/images 1200w,
1493              /upload/images 1600w"
1494              sizes="(max-width: 1600px) 100vw, 1600px"
1495              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1496              alt="跨境网络线路科普:从 163/CN2 GIA 到 IEPL/IX 专线与国际互联指南"
1497              onerror="Joe.errorImg(this, 'HomeErrImg')"
1498            />
1499          
1500          <time datetime="2026-07-15"
1501            >2026-07-15</time
1502          >
1503          <i class="joe-font joe-icon-picture"></i>
1504        </a>
1505      
1506      <div class="information">
1507        <a
1508          href="/archives/network-routing-guide"
1509          class="title"
1510          title="跨境网络线路科普:从 163/CN2 GIA 到 IEPL/IX 专线与国际互联指南"
1511          target="_blank"
1512          rel="noopener noreferrer"
1513        >
1514          
1515          跨境网络线路科普:从 163/CN2 GIA 到 IEPL/IX 专线与国际互联指南
1516        </a>
1517        <a
1518          class="abstract"
1519          href="/archives/network-routing-guide"
1520          title="本文是一篇全面系统、通俗易懂的全球跨境网络线路科普指南。从网络线路的定义出发,深度解析 AS 与 BGP 协议、中国三大运营商(电信、联通、移动)的骨干与精品网(CN2 GIA/9929/CMIN2)、IEPL/IPLC/IX 专线架构,以及海外 Tier 1 运营商的国际互联机制,并提供常用的网络测试工具,助你彻底告别网络延迟与拥堵。"
1521          target="_blank"
1522          rel="noopener noreferrer"
1523          >本文是一篇全面系统、通俗易懂的全球跨境网络线路科普指南。从网络线路的定义出发,深度解析 AS 与 BGP 协议、中国三大运营商(电信、联通、移动)的骨干与精品网(CN2 GIA/9929/CMIN2)、IEPL/IPLC/IX 专线架构,以及海外 Tier 1 运营商的国际互联机制,并提供常用的网络测试工具,助你彻底告别网络延迟与拥堵。</a
1524        >
1525        <div class="meta">
1526          <ul class="items">
1527            <li>2026-07-15</li>
1528            <li>
1528<i class="joe-font joe-icon-eye"></i>82</li>
1529            
1530              <li><i class="joe-font joe-icon-message"></i>0</li>
1531            
1532            
1533            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1534          </ul>
1535          
1536            <ul class="categories">
1537              <li class="pcate">
1538                <svg
1539                  class="icon"
1540                  viewBox="0 0 1024 1024"
1541                  xmlns="http://www.w3.org/2000/svg"
1542                  width="15"
1543                  height="15"
1544                >
1545                  <path
1546                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1547                    fill="var(--minor)"
1548                  ></path>
1549                  <path
1550                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1551                    fill="#ff6a18"
1552                  ></path>
1553                </svg>
1554                <a
1555                  class="link"
1556                  target="_blank"
1557                  rel="noopener noreferrer"
1558                  href="/categories/cloudtech"
1559                  >云端折腾</a
1560                >
1561              </li>
1562            </ul>
1563          
1564        </div>
1565      </div>
1566    </li>
1567  
1568                    
1569                      
1570    <li
1571      class="joe_list__item default animated wow data-wow-delay=&quot;0.5s&quot;"
1572      style="animation-delay: 0.5s;"
1573    >
1574      
1575        <a
1576          href="/archives/halosq"
1577          class="thumbnail"
1578          title="1Panel 与 Halo 博客安全加固实战指南"
1579          target="_blank"
1580          rel="noopener noreferrer"
1581        >
1582          
1583            <img
1584              width="100%"
1585              height="100%"
1586              class="lazyload"
1587              data-src="https://img.disue.com/image/71df72889d113e9627ebec21e2394e5d"
1588              srcset="https://img.disue.com/image/71df72889d113e9627ebec21e2394e5d 400w,
1589              https://img.disue.com/image/71df72889d113e9627ebec21e2394e5d 800w,
1590              https://img.disue.com/image/71df72889d113e9627ebec21e2394e5d 1200w,
1591              https://img.disue.com/image/71df72889d113e9627ebec21e2394e5d 1600w"
1592              sizes="(max-width: 1600px) 100vw, 1600px"
1593              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1594              alt="1Panel 与 Halo 博客安全加固实战指南"
1595              onerror="Joe.errorImg(this, 'HomeErrImg')"
1596            />
1597          
1598          <time datetime="2026-04-08"
1599            >2026-04-08</time
1600          >
1601          <i class="joe-font joe-icon-picture"></i>
1602        </a>
1603      
1604      <div class="information">
1605        <a
1606          href="/archives/halosq"
1607          class="title"
1608          title="1Panel 与 Halo 博客安全加固实战指南"
1609          target="_blank"
1610          rel="noopener noreferrer"
1611        >
1612          
1613          1Panel 与 Halo 博客安全加固实战指南
1614        </a>
1615        <a
1616          class="abstract"
1617          href="/archives/halosq"
1618          title="在公网环境下运行博客,安全是第一要务。本文将从面板、传输、防火墙、应用及系统五个维度,详细介绍如何构建一个“堡垒级”的 Halo 博客。 1. 1Panel 面板层:锁死“后台大门” 1Panel 是服务器的管理中枢,必须优先采取“物理隔离”策略,防止非法探测。 修改默认端口: 默认端口(如 888"
1619          target="_blank"
1620          rel="noopener noreferrer"
1621          >在公网环境下运行博客,安全是第一要务。本文将从面板、传输、防火墙、应用及系统五个维度,详细介绍如何构建一个“堡垒级”的 Halo 博客。 1. 1Panel 面板层:锁死“后台大门” 1Panel 是服务器的管理中枢,必须优先采取“物理隔离”策略,防止非法探测。 修改默认端口: 默认端口(如 888</a
1622        >
1623        <div class="meta">
1624          <ul class="items">
1625            <li>2026-04-08</li>
1626            <li>
1626<i class="joe-font joe-icon-eye"></i>104</li>
1627            
1628              <li><i class="joe-font joe-icon-message"></i>1</li>
1629            
1630            
1631            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1632          </ul>
1633          
1634            <ul class="categories">
1635              <li class="pcate">
1636                <svg
1637                  class="icon"
1638                  viewBox="0 0 1024 1024"
1639                  xmlns="http://www.w3.org/2000/svg"
1640                  width="15"
1641                  height="15"
1642                >
1643                  <path
1644                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1645                    fill="var(--minor)"
1646                  ></path>
1647                  <path
1648                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1649                    fill="#ff6a18"
1650                  ></path>
1651                </svg>
1652                <a
1653                  class="link"
1654                  target="_blank"
1655                  rel="noopener noreferrer"
1656                  href="/categories/cloudtech"
1657                  >云端折腾</a
1658                >
1659              </li>
1660            </ul>
1661          
1662        </div>
1663      </div>
1664    </li>
1665  
1666                    
1667                      
1668    <li
1669      class="joe_list__item default animated wow data-wow-delay=&quot;0.6s&quot;"
1670      style="animation-delay: 0.6s;"
1671    >
1672      
1673        <a
1674          href="/archives/bwh-to-zgo"
1675          class="thumbnail"
1676          title="halo博客提速 90%:利用搬瓦工做中转,实现动态内容与静态资源的极致加速"
1677          target="_blank"
1678          rel="noopener noreferrer"
1679        >
1680          
1681            <img
1682              width="100%"
1683              height="100%"
1684              class="lazyload"
1685              data-src="/upload/bwh-zgo.png"
1686              srcset="/upload/bwh-zgo.png?width=400 400w,
1687              /upload/bwh-zgo.png?width=800 800w,
1688              /upload/bwh-zgo.png?width=1200 1200w,
1689              /upload/bwh-zgo.png?width=1600 1600w"
1690              sizes="(max-width: 1600px) 100vw, 1600px"
1691              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1692              alt="halo博客提速 90%:利用搬瓦工做中转,实现动态内容与静态资源的极致加速"
1693              onerror="Joe.errorImg(this, 'HomeErrImg')"
1694            />
1695          
1696          <time datetime="2026-04-05"
1697            >2026-04-05</time
1698          >
1699          <i class="joe-font joe-icon-picture"></i>
1700        </a>
1701      
1702      <div class="information">
1703        <a
1704          href="/archives/bwh-to-zgo"
1705          class="title"
1706          title="halo博客提速 90%:利用搬瓦工做中转,实现动态内容与静态资源的极致加速"
1707          target="_blank"
1708          rel="noopener noreferrer"
1709        >
1710          
1711          halo博客提速 90%:利用搬瓦工做中转,实现动态内容与静态资源的极致加速
1712        </a>
1713        <a
1714          class="abstract"
1715          href="/archives/bwh-to-zgo"
1716          title="0. 前言:你是否也在为博客加载速度头疼? 很多博主将 Halo 部署在海外落地机上,虽然性价比高,但国内访客在晚高峰加载资源时常感“尿急”。虽然 1Panel 面板自带了“服务器缓存”开关,但传统的“一刀切”缓存往往会导致后台保存失败、评论不实时、甚至登录掉线。 今天分享一套单域名双机加速”终极方"
1717          target="_blank"
1718          rel="noopener noreferrer"
1719          >0. 前言:你是否也在为博客加载速度头疼? 很多博主将 Halo 部署在海外落地机上,虽然性价比高,但国内访客在晚高峰加载资源时常感“尿急”。虽然 1Panel 面板自带了“服务器缓存”开关,但传统的“一刀切”缓存往往会导致后台保存失败、评论不实时、甚至登录掉线。 今天分享一套单域名双机加速”终极方<
1719/a
1720        >
1721        <div class="meta">
1722          <ul class="items">
1723            <li>2026-04-05</li>
1724            <li><i class="joe-font joe-icon-eye"></i>74</li>
1725            
1726              <li><i class="joe-font joe-icon-message"></i>0</li>
1727            
1728            
1729            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1730          </ul>
1731          
1732            <ul class="categories">
1733              <li class="pcate">
1734                <svg
1735                  class="icon"
1736                  viewBox="0 0 1024 1024"
1737                  xmlns="http://www.w3.org/2000/svg"
1738                  width="15"
1739                  height="15"
1740                >
1741                  <path
1742                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1743                    fill="var(--minor)"
1744                  ></path>
1745                  <path
1746                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1747                    fill="#ff6a18"
1748                  ></path>
1749                </svg>
1750                <a
1751                  class="link"
1752                  target="_blank"
1753                  rel="noopener noreferrer"
1754                  href="/categories/cloudtech"
1755                  >云端折腾</a
1756                >
1757              </li>
1758            </ul>
1759          
1760        </div>
1761      </div>
1762    </li>
1763  
1764                    
1765                      
1766    <li
1767      class="joe_list__item default animated wow data-wow-delay=&quot;0.7s&quot;"
1768      style="animation-delay: 0.7s;"
1769    >
1770      
1771        <a
1772          href="/archives/esim-global"
1773          class="thumbnail"
1774          title="全球 eSIM 选购与长效保号全攻略"
1775          target="_blank"
1776          rel="noopener noreferrer"
1777        >
1778          
1779            <img
1780              width="100%"
1781              height="100%"
1782              class="lazyload"
1783              data-src="/upload/image.png"
1784              srcset="/upload/image.png?width=400 400w,
1785              /upload/image.png?width=800 800w,
1786              /upload/image.png?width=1200 1200w,
1787              /upload/image.png?width=1600 1600w"
1788              sizes="(max-width: 1600px) 100vw, 1600px"
1789              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1790              alt="全球 eSIM 选购与长效保号全攻略"
1791              onerror="Joe.errorImg(this, 'HomeErrImg')"
1792            />
1793          
1794          <time datetime="2025-12-28"
1795            >2025-12-28</time
1796          >
1797          <i class="joe-font joe-icon-picture"></i>
1798        </a>
1799      
1800      <div class="information">
1801        <a
1802          href="/archives/esim-global"
1803          class="title"
1804          title="全球 eSIM 选购与长效保号全攻略"
1805          target="_blank"
1806          rel="noopener noreferrer"
1807        >
1808          
1809          全球 eSIM 选购与长效保号全攻略
1810        </a>
1811        <a
1812          class="abstract"
1813          href="/archives/esim-global"
1814          title="在数字化生存的今天,拥有一张境外电话卡不仅是为了出境旅游,更是为了注册海外社交软件、保护隐私、绑定支付网关。本文深度汇总了全球 20+ 主流 eSIM,涵盖亚洲、欧洲、美洲、非洲及大洋洲,助你一站式避坑。 📑 核心对照表(按地区分类) 1. ä
1814ºšæ´²ç¯‡ (Asia) —— 权重与速度"
1815          target="_blank"
1816          rel="noopener noreferrer"
1817          >在数字化生存的今天,拥有一张境外电话卡不仅是为了出境旅游,更是为了注册海外社交软件、保护隐私、绑定支付网关。本文深度汇总了全球 20+ 主流 eSIM,涵盖亚洲、欧洲、美洲、非洲及大洋洲,助你一站式避坑。 📑 核心对照表(按地区分类) 1. 亚洲篇 (Asia) —— 权重与速度</a
1818        >
1819        <div class="meta">
1820          <ul class="items">
1821            <li>2025-12-28</li>
1822            <li><i class="joe-font joe-icon-eye"></i>8875</li>
1823            
1824              <li><i class="joe-font joe-icon-message"></i>1</li>
1825            
1826            
1827            <li><i class="joe-font joe-icon-dianzan"></i>6</li>
1828          </ul>
1829          
1830            <ul class="categories">
1831              <li class="pcate">
1832                <svg
1833                  class="icon"
1834                  viewBox="0 0 1024 1024"
1835                  xmlns="http://www.w3.org/2000/svg"
1836                  width="15"
1837                  height="15"
1838                >
1839                  <path
1840                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1841                    fill="var(--minor)"
1842                  ></path>
1843                  <path
1844                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1845                    fill="#ff6a18"
1846                  ></path>
1847                </svg>
1848                <a
1849                  class="link"
1850                  target="_blank"
1851                  rel="noopener noreferrer"
1852                  href="/categories/digitalnomad"
1853                  >数字生活</a
1854                >
1855              </li>
1856            </ul>
1857          
1858        </div>
1859      </div>
1860    </li>
1861  
1862                    
1863                      
1864    <li
1865      class="joe_list__item default animated wow data-wow-delay=&quot;0.8s&quot;"
1866      style="animation-delay: 0.8s;"
1867    >
1868      
1869        <a
1870          href="/archives/dockerself"
1871          class="thumbnail"
1872          title="精选 Docker 自托管项目清单,打造你的全能家庭服务器"
1873          target="_blank"
1874          rel="noopener noreferrer"
1875        >
1876          
1877            <img
1878              width="100%"
1879              height="100%"
1880              class="lazyload"
1881              data-src="/upload/Docker.png"
1882              srcset="/upload/Docker.png?width=400 400w,
1883              /upload/Docker.png?width=800 800w,
1884              /upload/Docker.png?width=1200 1200w,
1885              /upload/Docker.png?width=1600 1600w"
1886              sizes="(max-width: 1600px) 100vw, 1600px"
1887              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1888              alt="精选 Docker 自托管项目清单,打造你的全能家庭服务器"
1889              onerror="Joe.errorImg(this, 'HomeErrImg')"
1890            />
1891          
1892          <time datetime="2025-12-27"
1893            >2025-12-27</time
1894          >
1895          <i class="joe-font joe-icon-picture"></i>
1896        </a>
1897      
1898      <div class="information">
1899        <a
1900          href="/archives/dockerself"
1901          class="title"
1902          title="精选 Docker 自托管项目清单,打造你的全能家庭服务器"
1903          target="_blank"
1904          rel="noopener noreferrer"
1905        >
1906          
1907          精选 Docker 自托管项目清单,打造你的全能家庭服务器
1908        </a>
1909        <a
1910          class="abstract"
1911          href="/archives/dockerself"
1912          title="在自托管(Self-hosted)的世界里,Docker 让一切变得简单。无论是想要摆脱商业软件的订阅费,还是想实现数据自主,或者是单纯享受折腾服务器的乐趣,这份清单都能为你提供灵感。 我整理了涵盖安全、存储、影音、生产力、运维等多个维度的热门 Docker 项目,建议收藏备用! 🔐 安全与隐私:你"
1913          target="_blank"
1914          rel="noopener noreferrer"
1915          >在自托管(Self-hosted)的世界里,Docker 让一切变得简单。无论是想要摆脱商业软件的订阅费,还是想实现数据自主,或者是单纯享受折腾服务器的乐趣,这份清单都能为你提供灵感。 我整理了涵盖安全、存储、影音、生产力、运维等多个维度的热门 Docker 项目,建议收藏备用! 🔐 安全与隐私:你</a
1916        >
1917        <div class="meta">
1918          <ul class="items">
1919            <li>2025-12-27</li>
1920            <li>
1920<i class="joe-font joe-icon-eye"></i>258</li>
1921            
1922              <li><i class="joe-font joe-icon-message"></i>0</li>
1923            
1924            
1925            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
1926          </ul>
1927          
1928            <ul class="categories">
1929              <li class="pcate">
1930                <svg
1931                  class="icon"
1932                  viewBox="0 0 1024 1024"
1933                  xmlns="http://www.w3.org/2000/svg"
1934                  width="15"
1935                  height="15"
1936                >
1937                  <path
1938                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
1939                    fill="var(--minor)"
1940                  ></path>
1941                  <path
1942                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
1943                    fill="#ff6a18"
1944                  ></path>
1945                </svg>
1946                <a
1947                  class="link"
1948                  target="_blank"
1949                  rel="noopener noreferrer"
1950                  href="/categories/cloudtech"
1951                  >云端折腾</a
1952                >
1953              </li>
1954            </ul>
1955          
1956        </div>
1957      </div>
1958    </li>
1959  
1960                    
1961                      
1962    <li
1963      class="joe_list__item default animated wow data-wow-delay=&quot;0.9s&quot;"
1964      style="animation-delay: 0.9s;"
1965    >
1966      
1967        <a
1968          href="/archives/short-links"
1969          class="thumbnail"
1970          title="基于 Cloudflare Workers 的全功能短链接生成器教程"
1971          target="_blank"
1972          rel="noopener noreferrer"
1973        >
1974          
1975            <img
1976              width="100%"
1977              height="100%"
1978              class="lazyload"
1979              data-src="/upload/ssurl.png"
1980              srcset="/upload/ssurl.png?width=400 400w,
1981              /upload/ssurl.png?width=800 800w,
1982              /upload/ssurl.png?width=1200 1200w,
1983              /upload/ssurl.png?width=1600 1600w"
1984              sizes="(max-width: 1600px) 100vw, 1600px"
1985              src="/themes/theme-Joe3/assets/img/lazyload.gif"
1986              alt="基于 Cloudflare Workers 的全功能短链接生成器教程"
1987              onerror="Joe.errorImg(this, 'HomeErrImg')"
1988            />
1989          
1990          <time datetime="2025-12-17"
1991            >2025-12-17</time
1992          >
1993          <i class="joe-font joe-icon-picture"></i>
1994        </a>
1995      
1996      <div class="information">
1997        <a
1998          href="/archives/short-links"
1999          class="title"
2000          title="基于 Cloudflare Workers 的全功能短链接生成器教程"
2001          target="_blank"
2002          rel="noopener noreferrer"
2003        >
2004          
2005          基于 Cloudflare Workers 的全功能短链接生成器教程
2006        </a>
2007        <a
2008          class="abstract"
2009          href="/archives/short-links"
2010          title="本教程将指导你部署一个稳定、安全且自带管理后台的短链接生成系统。 核心功能 内置 UI:无需托管网页,代码自带响应式生成页面。 管理后台:支持查看所有链接、动态修改验证码配置、一键删除。 安全防护:集成 Cloudflare Turnstile 验证码,有效防止机器人刷量。 自定义后缀:支持手动输入"
2011          target="_blank"
2012          rel="noopener noreferrer"
2013          >本教程将指导你部署一个稳定、安全且自带管理后台的短链接生成系统。 核心功能 内置 UI:无需托管网页,代码自带响应式生成页面。 管理后台:支持查看所有链接、动态修改验证码配置、一键删除。 安全防护:集成 Cloudflare Turnstile 验证码,有效防止机器人刷量。 自定义后缀:支持手动输入</a
2014        >
2015        <div class="meta">
2016          <ul class="items">
2017            <li>2025-12-17</li>
2018            <li>
2018<i class="joe-font joe-icon-eye"></i>213</li>
2019            
2020              <li><i class="joe-font joe-icon-message"></i>0</li>
2021            
2022            
2023            <li><i class="joe-font joe-icon-dianzan"></i>0</li>
2024          </ul>
2025          
2026            <ul class="categories">
2027              <li class="pcate">
2028                <svg
2029                  class="icon"
2030                  viewBox="0 0 1024 1024"
2031                  xmlns="http://www.w3.org/2000/svg"
2032                  width="15"
2033                  height="15"
2034                >
2035                  <path
2036                    d="M512.2 564.743a76.818 76.818 0 0 1-30.973-6.508L108.224 393.877c-26.105-11.508-42.56-35.755-42.927-63.272-.384-27.44 15.356-52.053 41.042-64.232l373.004-176.74c20.591-9.737 45.16-9.755 65.75.017L917.68 266.39c25.668 12.188 41.39 36.792 41.024 64.231-.384 27.5-16.821 51.73-42.908 63.237l-372.57 164.377a77.18 77.18 0 0 1-31.025 6.508zM139.843 329.592l370.213 163.241c1.291.56 3.018.567 4.345-.009l369.758-163.128-369.706-175.464v-.01c-1.326-.628-3.158-.636-4.502 0l-370.108 175.37zm748.015 1.858h.175-.175zM512.376 941.674c-10.348 0-20.8-2.32-30.537-6.997L121.05 778.624c-18.113-7.834-26.454-28.87-18.62-46.983 7.835-18.112 28.862-26.488 46.993-18.61l362.08 156.629 345.26-156.366c17.939-8.166 39.14-.253 47.324 17.746 8.166 17.964.227 39.157-17.729 47.324l-344.51 156.61c-9.196 4.449-19.281 6.7-29.471 6.7z"
2037                    fill="var(--minor)"
2038                  ></path>
2039                  <path
2040                    d="M871.563 515.449L511.81 671.775 152.358 515.787v73.578a34.248 34.248 0 0 0 20.76 31.48l301.518 129.19c11.806 5.703 24.499 8.546 37.175 8.546s25.367-2.843 37.174-8.546L850.82 620.534a34.248 34.248 0 0 0 20.744-31.474V515.45z"
2041                    fill="#ff6a18"
2042                  ></path>
2043                </svg>
2044                <a
2045                  class="link"
2046                  target="_blank"
2047                  rel="noopener noreferrer"
2048                  href="/categories/cloudtech"
2049                  >云端折腾</a
2050                >
2051              </li>
2052            </ul>
2053          
2054        </div>
2055      </div>
2056    </li>
2057  
2058                    
2059                  </ul>
2060                </div>
2061              </div>
2062            </div>
2063            <!--                  pagination-->
2064            
2065              
2066    
2067      
2068        <!--        页面总数小于等于7-->
2069        <ul class="joe_pagination">
2070          <li class="prev  disabled">
2071            <a href="/">
2072              <i class="joe-font joe-icon-prev"></i>
2073            </a>
2074          </li>
2075          <li class="active"
2076          >
2077            <a href="/page/1">1</a>
2078          </li>
2079          <li
2080          >
2081            <a href="/page/2">2</a>
2082          </li>
2083          <li
2084            class="next"
2085          >
2086            <a href="/page/2">
2087              <i class="joe-font joe-icon-next"></i>
2088            </a>
2089          </li>
2090        </ul>
2091        <!--        页面总数大于7-->
2092        
2093      
2094    
2095    
2096    
2097    
2098        
2099
2100    
2101
2102    
2103
2104  
2105            
2106            
2107          </div>
2108          <!--              aside-->
2109          
2110            
2111    <aside
2112      class="joe_aside"
2113    >
2114      
2115        
2116          
2117          
2118          
2119          
2120          
2121          
2122          
2123            <!--        热门文章-->
2124            
2125    
2126    <section class="joe_aside__item newest">
2127      <div class="joe_aside__item-title">
2128        <i class="joe-font joe-icon-huo"></i>
2129        <span class="text">热门文章</span>
2130      </div>
2131      <div class="joe_aside__item-contain">
2132        <ul class="list">
2133          
2134            <li class="item">
2135              <a class="link" href="/archives/esim-global"
2136                >全球 eSIM 选购与长效保号全攻略</a
2137              >
2138              <i class="joe-font joe-icon-link"></i>
2139            </li>
2140            <li class="item">
2141              <a class="link" href="/archives/cf-api-ns"
2142                >Cloudflare API 修改域名 NS 服务器指南</a
2143              >
2144              <i class="joe-font joe-icon-link"></i>
2145            </li>
2146            <li class="item">
2147              <a class="link" href="/archives/esimgg"
2148                >告别漫游烦恼,拥抱自由连接:eSIM.gg</a
2149              >
2150              <i class="joe-font joe-icon-link"></i>
2151            </li>
2152            <li class="item">
2153              <a class="link" href="/archives/free-domain"
2154                >免费域名/低价域名汇总</a
2155              >
2156              <i class="joe-font joe-icon-link"></i>
2157            </li>
2158            <li class="item">
2159              <a class="link" href="/archives/vpscommand"
2160                >VPS/Linux 服务器常用脚本和命令</a
2161              >
2162              <i class="joe-font joe-icon-link"></i>
2163            </li>
2164          
2165        </ul>
2166      </div>
2167    </section>
2168  
2169  
2170          
2171          
2172          
2173          
2174          
2175          
2176          
2177        
2178      
2179        
2180          
2181          
2182          
2183          
2184          
2185          
2186          
2187          
2188          
2189          
2190            <!--        标签云-->
2191            
2192    <section class="joe_aside__item tags-cloud" id="tags-cloud">
2193      <div class="joe_aside__item-title">
2194        <i class="joe-font joe-icon-tag"></i>
2195        <span class="text">标签云</span>
2196        <a class="tags_more" href="/tags">更多<i class="joe-font joe-icon-more-right"></i></a>
2197      </div>
2198      <div class="joe_aside__item-contain">
2199        <div
2200          class="tags-cloud-list static"
2201          style="display:none"
2202        >
2203          
2204            
2205              <a
2206                data-label="短网址"
2207                data-url="/tags/duan-wang-zhi"
2208                href="/tags/duan-wang-zhi"
2209                title="短网址"
2210                >短网址</a
2211              ><a
2212                data-label="Fail2Ban"
2213                data-url="/tags/fail2ban"
2214                href="/tags/fail2ban"
2215                title="Fail2Ban"
2216                >Fail2Ban</a
2217              ><a
2218                data-label="国际互联"
2219                data-url="/tags/guo-ji-hu-lian"
2220                href="/tags/guo-ji-hu-lian"
2221                title="国际互联"
2222                >国际互联</a
2223              ><a
2224                data-label="跨境网络优化"
2225                data-url="/tags/kua-jing-wang-luo-you-hua"
2226                href="/tags/kua-jing-wang-luo-you-hua"
2227                title="跨境网络优化"
2228                >跨境网络优化</a
2229              ><a
2230                data-label="Hermes"
2231                data-url="/tags/hermes"
2232                href="/tags/hermes"
2233                title="Hermes"
2234                >Hermes</a
2235              ><a
2236                data-label="域名"
2237                data-url="/tags/yu-ming"
2238                href="/tags/yu-ming"
2239                title="域名"
2240                >域名</a
2241              ><a
2242                data-label="香港"
2243                data-url="/tags/xiang-gang"
2244                href="/tags/xiang-gang"
2245                title="香港"
2246                >香港</a
2247              ><a
2248                data-label="Docker"
2249                data-url="/tags/docker"
2250                href="/tags/docker"
2251                title="Docker"
2252                >Docker</a
2253              ><a
2254                data-label="CN2 GIA"
2255                data-url="/tags/cn2-gia"
2256                href="/tags/cn2-gia"
2257                title="CN2 GIA"
2258                >CN2 GIA</a
2259              ><a
2260                data-label="VPS"
2261                data-url="/tags/vps"
2262                href="/tags/vps"
2263                title="VPS"
2264                >VPS</a
2265              ><a
2266                data-label="eSIM"
2267                data-url="/tags/esim"
2268                href="/tags/esim"
2269                title="eSIM"
2270                >eSIM</a
2271              ><a
2272                data-label="AI"
2273                data-url="/tags/ai"
2274                href="/tags/ai"
2275                title="AI"
2276                >AI</a
2277              ><a
2278                data-label="Nginx"
2279                data-url="/tags/nginx"
2280                href="/tags/nginx"
2281                title="Nginx"
2282                >Nginx</a
2283              ><a
2284                data-label="Cloudflare"
2285                data-url="/tags/cloudflare"
2286                href="/tags/cloudflare"
2287                title="Cloudflare"
2288                >Cloudflare</a
2289              ><a
2290                data-label="Halo博客"
2291                data-url="/tags/halobo-ke"
2292                href="/tags/halobo-ke"
2293                title="Halo博客"
2294                >Halo博客</a
2295              >
2296            
2297          
2298          
2299        </div>
2300        
2301          <div id="tags-3d">
2302            <div class="empty">加载中…</div>
2303          </div>
2304        
2305      </div>
2306    </section>
2307  
2308          
2309          
2310          
2311          
2312        
2313      
2314        
2315          
2316          
2317          
2318          
2319          
2320          
2321          
2322          
2323          
2324          
2325          
2326          
2327          
2328        
2329      
2330        
2331          
2332          
2333          
2334          
2335          
2336          
2337          
2338          
2339          
2340          
2341          
2342            <!--        分类云-->
2343            
2344    <section class="joe_aside__item tags-cloud" id="categories-cloud">
2345      <div class="joe_aside__item-title">
2346        <i class="joe-font joe-icon-tag"></i>
2347        <span class="text">分类云</span>
2348        <a class="tags_more" href="/categories"
2349          >更多<i class="joe-font joe-icon-more-right"></i
2350        ></a>
2351      </div>
2352      <div class="joe_aside__item-contain">
2353        <div
2354          class="categories-cloud-list static"
2355        >
2356          
2357          
2358            
2359              <a
2360                data-label="岁月拾遗"
2361                data-url="/categories/life"
2362                href="/categories/life"
2363                title="岁月拾遗"
2364                >岁月拾遗</a
2365              ><a
2366                data-label="数字生活"
2367                data-url="/categories/digitalnomad"
2368                href="/categories/digitalnomad"
2369                title="数字生活"
2370                >数字生活</a
2371              ><a
2372                data-label="云端折腾"
2373                data-url="/categories/cloudtech"
2374                href="/categories/cloudtech"
2375                title="云端折腾"
2376                >云端折腾</a
2377              >
2378            
2379          
2380        </div>
2381        
2382      </div>
2383    </section>
2384  
2385          
2386          
2387          
2388        
2389      
2390    </aside>
2391  
2392          
2393        </div>
2394
2395        <!--悬浮按钮-->
2396        
2397          
2398    <div class="joe_action">
2399      
2400      
2401      
2402      
2403        <div class="joe_action_item mode">
2404          <svg
2405            class="mode-light"
2406            height="25"
2407            viewBox="0 0 1024 1024"
2408            width="25"
2409            xmlns="http://www.w3.org/2000/svg"
2410          >
2411            <path
2412              d="M234.24 512a277.76 277.76 0 1 0 555.52 0 277.76 277.76 0 1 0-555.52 0zM512 187.733a42.667 42.667 0 0 1-42.667-42.666v-102.4a42.667 42.667 0 0 1 85.334 0v102.826A42.667 42.667 0 0 1 512 187.733zm-258.987 107.52a42.667 42.667 0 0 1-29.866-12.373l-72.96-73.387a42.667 42.667 0 0 1 59.306-59.306l73.387 72.96a42.667 42.667 0 0 1 0 59.733 42.667 42.667 0 0 1-29.867 12.373zm-107.52 259.414H42.667a42.667 42.667 0 0 1 0-85.334h102.826a42.667 42.667 0 0 1 0 85.334zm34.134 331.946a42.667 42.667 0 0 1-29.44-72.106l72.96-73.387a42.667 42.667 0 0 1 59.733 59.733l-73.387 73.387a42.667 42.667 0 0 1-29.866 12.373zM512 1024a42.667 42.667 0 0 1-42.667-42.667V878.507a42.667 42.667 0 0 1 85.334 0v102.826A42.667 42.667 0 0 1 512 1024zm332.373-137.387a42.667 42.667 0 0 1-29.866-12.373l-73.387-73.387a42.667 42.667 0 0 1 0-59.733 42.667 42.667 0 0 1 59.733 0l72.96 73.387a42.667 42.667 0 0 1-29.44 72.106zm136.96-331.946H878.507a42.667 42.667 0 1 1 0-85.334h102.826a42.667 42.667 0 0 1 0 85.334zM770.987 295.253a42.667 42.667 0 0 1-29.867-12.373 42.667 42.667 0 0 1 0-59.733l73.387-72.96a42.667 42.667 0 1 1 59.306 59.306l-72.96 73.387a42.667 42.667 0 0 1-29.866 12.373z"
2413            />
2414          </svg>
2415          <svg
2416            class="mode-dark"
2417            height="25"
2418            viewBox="0 0 1024 1024"
2419            width="25"
2420            xmlns="http://www.w3.org/2000/svg"
2421          >
2422            <path
2423              d="M587.264 104.96c33.28 57.856 52.224 124.928 52.224 196.608 0 218.112-176.128 394.752-393.728 394.752-29.696 0-58.368-3.584-86.528-9.728C223.744 832.512 369.152 934.4 538.624 934.4c229.376 0 414.72-186.368 414.72-416.256 1.024-212.992-159.744-389.12-366.08-413.184z"
2424            />
2425            <path
2426              d="M340.48 567.808l-23.552-70.144-70.144-23.552 70.144-23.552 23.552-70.144 23.552 70.144 70.144 23.552-70.144 23.552-23.552 70.144zM168.96 361.472l-30.208-91.136-91.648-30.208 91.136-30.208 30.72-91.648 30.208 91.136 91.136 30.208-91.136 30.208-30.208 91.648z"
2427            />
2428          </svg>
2429        </div>
2430      
2431      
2432        <div class="joe_action_item back2top">
2433          <svg height="25" viewBox="0 0 1024 1024" width="25" xmlns="http://www.w3.org/2000/svg">
2434            <path
2435              d="M725.902 498.916c18.205-251.45-93.298-410.738-205.369-475.592l-6.257-3.982-6.258 3.414c-111.502 64.853-224.711 224.142-204.8 475.59-55.751 53.476-80.214 116.623-80.214 204.8v15.36l179.2-35.27c11.378 40.39 58.596 69.973 113.21 69.973 54.613 0 101.262-29.582 112.64-68.836l180.337 36.41v-15.36c-.569-89.885-25.031-153.6-82.489-206.507zM571.733 392.533c-33.564 31.29-87.04 28.445-118.329-5.12s-28.444-87.04 5.12-117.76c33.565-31.289 87.04-28.444 118.33 5.12s28.444 86.471-5.12 117.76zm-56.32 368.64c-35.84 0-64.284 29.014-64.284 64.285 0 35.84 54.044 182.613 64.284 182.613s64.285-146.773 64.285-182.613c0-35.271-29.014-64.285-64.285-64.285z"
2436            />
2437          </svg>
2438        </div>
2439      
2440    </div>
2441  
2442        
2443        
2444          
2445    <footer
2446      class="joe_footer   "
2447    >
2448      <div
2449        class="joe_container"
2450      >
2451        <div class="item">
2452          <p>
2453            © 2021 - 2026<a
2454              href="https://disue.com"
2455              target="_blank"
2456              rel="noopener noreferrer"
2457            >
2458              Disue · 迪素
2459            </a>
2460            
2461          </p>
2462          
2463
2464          
2465            
2466            
2467            
2468            
2469            
2470            
2471            
2472
2473            
2474              <p class="site_driven">
2475                本站点由
2476                <a
2477                  href="https://go.ms.ci/bwh"
2478                  target="_blank"
2479                  rel="noopener noreferrer nofollow"
2480                >
2481                  <img
2482                    class="custom"
2483                    src="/upload/logo1.png"
2484                    alt="云服务商"
2485                    onerror="Joe.errorImg(this, 'LoadFailedImg')" sizes="(max-width: 640px) 94vw, (max-width: 768px) 92vw, (max-width: 1024px) 88vw, min(800px, 85vw)" srcset="/upload/logo1.png?width=1600 1600w, /upload/logo1.png?width=400 400w, /upload/logo1.png?width=800 800w, /upload/logo1.png?width=1200 1200w"
2486                  /> </a
2487                >提供云服务
2488              </p>
2489            
2490          
2491          
2492          
2493        </div>
2494        <div class="side-col">
2495          
2496            <div class="item">
2497              
2498                <a class="rss" href="/rss.xml" target="_blank" rel="noopener noreferrer"
2499                  ><i class="joe-font joe-icon-rss-fill"></i>&nbsp;RSS</a
2500                >
2501              
2502              
2503                <a href="/sitemap.xml" target="_blank" rel="noopener noreferrer">
2504                  站点地图
2505                </a>
2506              
2507            </div>
2508          
2509          
2510        </div>
2511      </div>
2512    </footer>
2513  
2514        
2515      </div>
2516      
2517    <!--    ===== 引入脚本 start ===== -->
2518    <!--    <th:block th:if="${htmlType == 'index' && theme.config.home.enable_index_list_effect == true} or ${htmlType == 'journals' && theme.config.journals.enable_journal_effect == true} or ${htmlType == 'photos' && theme.config.photos.enable_photos_effect == true}">-->
2519    
2519<script src="/themes/theme-Joe3/assets/lib/wowjs/wow.min.js"></script>
2519
2520    <!--    </th:block>-->
2521    
2521<script src="/themes/theme-Joe3/assets/lib/lazysizes/lazysizes.min.js"></script>
2521
2522    
2522<script src="/themes/theme-Joe3/assets/lib/qmsg/qmsg.js"></script>
2522
2523    
2524    
2524<script src="/themes/theme-Joe3/assets/js/min/utils.min.js"></script>
2524
2525
2526    
2527    
2528    
2529    
2529<script src="/themes/theme-Joe3/assets/lib/fancybox/jquery.fancybox.min.js"></script>
2529
2530    
2531    
2531<script src="/themes/theme-Joe3/assets/js/min/custom.min.js?v=1.4.0"></script>
2531
2532    
2533    
2534      
2534<script src="/themes/theme-Joe3/assets/lib/favico/favico.min.js"></script>
2534
2535    
2536    
2537    <!--相册-->
2538    
2539
2540    <!--===== 引入页面级js start =====-->
2541    
2541<script src="/themes/theme-Joe3/assets/js/min/common.min.js?v=1.4.0"></script>
2541
2542    
2543    
2544      
2544<script src="/themes/theme-Joe3/assets/js/min/index.min.js?v=1.4.0"></script>
2544
2545    
2546    
2547    
2548        
2549    
2550    
2551    
2552    
2553
2554    <!-- ===== 引入页面级js end ===== -->
2555
2556    <!-- ===== 引入脚本 start ===== -->
2557
2558    
2559
2560    <!-- ===== 引入脚本 end =====-->
2561
2562    
2563    
2564    
2565
2566    <!--搜索点击-->
2567    
2567<script>
2568      const searchButton = document.getElementById('halo-search');
2569      searchButton.addEventListener('click', function () {
2570        SearchWidget.open();
2571      });
2572    </script>
2572
2573    <!--    大图配置-->
2574    
2575    
2576    
2577  
2578    </body>
2579  
2580</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.