PageSourceSearch

https://111586.xyz/

html 111586.xyz collected 2026-10-09 04:33:56 UTC 20,899 bytes, 723 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    <meta charset="utf-8">
6    <meta http-equiv="X-UA-Compatible" content="IE=edge">
7    <meta name="google-site-verification" content="xBT4GhYoi5qRD5tr338pgPM5OWHHIDR6mNg1a3euekI" />
8    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
9    <meta name="description" content="这里是 @OLDK 的个人博客,与你一起发现更大的世界 | 不断学习 無限進步">
10    <meta name="keywords" content=" oldk Blog, 博客, 个人网站, 互联网, Web, NAS, 软路由">
11    <meta name="theme-color" content="#000000">
12
13    <!-- Open Graph -->
14    <meta property="og:title"
15        content="老K的博客 | OLDK Blog">
16    
17    <meta property="og:type" content="website">
18    <meta property="og:description"
19        content="「离开世界之前 一切都是过程」">
20    
21    <meta property="og:image" content="https://111586.xyz/https://github.com/KEVINJ1E.png">
22    <meta property="og:url" content="https://111586.xyz//">
23    <meta property="og:site_name" content="老K的博客 | OLDK Blog">
24
25    <title>老K的博客 | OLDK Blog</title>
26
27    <!-- Web App Manifest -->
28    <link rel="manifest" href="/pwa/manifest.json">
29
30    <!-- Favicon -->
31    <link rel="shortcut icon" href="/img/favicon.ico">
32
33    <!-- Canonical URL -->
34    <link rel="canonical" href="https://111586.xyz//">
35
36    <!-- Bootstrap Core CSS -->
37    <link rel="stylesheet" href=" /css/bootstrap.min.css">
38
39    <!-- Custom CSS -->
40    <link rel="stylesheet" href=" /css/hux-blog.min.css">
41
42    <!-- Custom Fonts -->
43    <!-- <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
44    <!-- Hux change font-awesome CDN to qiniu -->
45    <link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"
46        type="text/css">
47
48
49    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
50    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
51    <!--[if lt IE 9]>
52        
52<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
52
53        
53<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
53
54    <![endif]-->
55
56    <!-- ga & ba script hoook -->
57    
57<script></script>
57
58
59    <!-- Google AdSense -->
60    
60<script data-ad-client="ca-pub-6487568398225121" async
61        src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
61
62</head>
63
64
65<!-- hack iOS CSS :active style -->
66<body ontouchstart="">
67
68    <!-- Navigation -->
69
70    <nav class="navbar navbar-default navbar-custom navbar-fixed-top">
71        
72        <div class="container-fluid">
73            <!-- Brand and toggle get grouped for better mobile display -->
74            <div class="navbar-header page-scroll">
75                <button type="button" class="navbar-toggle">
76                    <span class="sr-only">Toggle navigation</span>
77                    <span class="icon-bar"></span>
78                    <span class="icon-bar"></span>
79                    <span class="icon-bar"></span>
80                </button>
81                <a class="navbar-brand" href="/">OLDK Blog</a>
82            </div>
83
84            <!-- Collect the nav links, forms, and other content for toggling -->
85            <div id="huxblog_navbar">
86                <div class="navbar-collapse">
87                    <ul class="nav navbar-nav navbar-right">
88                        <li>
89                            <a href="/">Home</a>
90                        </li>
91                        
92                        
93                        
94                        
95                        <li>
96                            <a href="/about/">About</a>
97                        </li>
98                        
99                        
100                        
101                        <li>
102                            <a href="/archive/">Archive</a>
103                        </li>
104                        
105                        
106                        
107                        
108                        
109                        
110                        
111                        
112                        
113                        
114                        
115                        
116                        <li class="search-icon">
117                            <a href="javascript:void(0)">
118                                <i class="fa fa-search"></i>
119                            </a>
120                        </li>
121                    </ul>
122                </div>
123            </div>
124            <!-- /.navbar-collapse -->
125        </div>
126        <!-- /.container -->
127    </nav>
128
129    
129<script>
130        // Drop Bootstarp low-performance Navbar
131        // Use customize navbar with high-quality material design animation
132        // in high-perf jank-free CSS3 implementation
133        var $body = document.body;
134        var $toggle = document.querySelector('.navbar-toggle');
135        var $navbar = document.querySelector('#huxblog_navbar');
136        var $collapse = document.querySelector('.navbar-collapse');
137
138        var __HuxNav__ = {
139            close: function () {
140                $navbar.className = " ";
141                // wait until animation end.
142                setTimeout(function () {
143                    // prevent frequently toggle
144                    if ($navbar.className.indexOf('in') < 0) {
145                        $collapse.style.height = "0px"
146                    }
147                }, 400)
148            },
149            open: function () {
150                $collapse.style.height = "auto"
151                $navbar.className += " in";
152            }
153        }
154
155        // Bind Event
156        $toggle.addEventListener('click', function (e) {
157            if ($navbar.className.indexOf('in') > 0) {
158                __HuxNav__.close()
159            } else {
160                __HuxNav__.open()
161            }
162        })
163
164        /**
165         * Since Fastclick is used to delegate 'touchstart' globally
166         * to hack 300ms delay in iOS by performing a fake 'click',
167         * Using 'e.stopPropagation' to stop 'touchstart' event from 
168         * $toggle/$collapse will break global delegation.
169         * 
170         * Instead, we use a 'e.target' filter to prevent handler
171         * added to document close HuxNav.  
172         *
173         * Also, we use 'click' instead of 'touchstart' as compromise
174         */
175        document.addEventListener('click', function (e) {
176            if (e.target == $toggle) return;
177            if (e.target.className == 'icon-bar') return;
178            __HuxNav__.close();
179        })
180    </script>
180
181    <!-- Search -->
182<div class="search-page">
183  <div class="search-icon-close-container">
184    <span class="search-icon-close">
185      <i class="fa fa-chevron-down"></i>
186    </span>
187  </div>
188  <div class="search-main container">
189    <div class="row">
190      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
191        <form></form>
192        <input type="text" id="search-input" placeholder="$ grep...">
193        </form>
194        <div id="search-results" class="mini-post-list"></div>
195      </div>
196    </div>
197  </div>
198</div>
199
200    <!-- Page Header -->
201
202
203
204<style type="text/css">
205    header.intro-header{
206        position: relative;
207        background-image: url('/img/home-bg.jpg');
208        background: ;
209    }
210
211    
212</style>
213
214
215
216
217
218
219
220<header class="intro-header" style="background-image: url('/img/home-bg.jpg')">
221  <div class="header-mask"></div>
222  <div class="container">
223    <div class="row">
224      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
225        
226        <div class="site-heading">
227        
228          <h1>OLDK Blog</h1>
229          <span class="subheading">「离开世界之前 一切都是过程」</span>
230        </div>
231      </div>
232    </div>
233  </div>
234</header>
235
236
237
238<!-- Main Content -->
239<div class="container">
240  <div class="row">
241    
242
243    <!-- USE SIDEBAR -->
244    <!-- PostList Container -->
245    <div class="col-lg-8 col-lg-offset-1 col-md-8 col-md-offset-1 col-sm-12
246      col-xs-12 postlist-container">
247      
248<div class="post-preview">
249    <a href="/2025/04/12/%E4%B8%AD%E5%85%B4-F7015-%E5%85%89%E7%8C%AB-%E5%BC%80Telnet-%E4%BF%AE%E6%94%B9%E6%95%B0%E6%8D%AE/">
250        <h2 class="post-title">
251            中兴F7015光猫开Telnet修改数据
252        </h2>
253        
254        <h3 class="post-subtitle">
255             "让联通用上电信2.5G网口光猫突破千兆瓶颈"
256        </h3>
257        
258        <div class="post-content-preview">
259            
260                视频教程
261
262
263
264前言
265
266随着 10G-EPON / XGPON 光纤线路的普及,千兆宽带价格越来越低,更多的伙伴办理了千兆宽带,但往往运营商提供的光猫没有 2.5GE 网口,成为限制外部网速超过 1000Mbps 无法跨越的瓶颈。
267
268针对这种情况,同时避免和运营商费力扯皮,最直接有效的办法就是自行购买一款带有 2.5GE 网口的万兆光猫,现在中兴直接把万兆双模光猫价格打到 120 元左右,性...
269            
270        </div>
271    </a>
272    <p class="post-meta">
273        Posted by OLDK on April 12, 2025
274    </p>
275</div>
276<hr>
277
278<div class="post-preview">
279    <a href="/2025/03/15/immortalwrt%E5%9B%BA%E4%BB%B6%E6%9E%84%E5%BB%BA/">
280        <h2 class="post-title">
281            immortalwrt固件构建
282        </h2>
283        
284        <h3 class="post-subtitle">
285             "快速构建属于自己的immortalwrt固件"
286        </h3>
287        
288        <div class="post-content-preview">
289            
290                方法一
291
292官方网站构建
293
294地址链接
295
2961
297https://firmware-selector.immortalwrt.org/?version=24.10.0&amp;target=x86%2F64&amp;id=generic
298
299
300预安装的软件包
301
3021
303autocore automount base-files block-mount ca-bundle default-settings-...
304            
305        </div>
306    </a>
307    <p class="post-meta">
308        Posted by OLDK on March 15, 2025
309    </p>
310</div>
311<hr>
312
313<div class="post-preview">
314    <a href="/2025/01/01/hello-2015/">
315        <h2 class="post-title">
316            Hello 2025
317        </h2>
318        
319        <h3 class="post-subtitle">
320             "Hello World, Hello Blog"
321        </h3>
322        
323        <div class="post-content-preview">
324            
325                
326  “Yeah It’s on. ”
327
328
329OLDK 的 Blog 就这么开通了。
330
331跳过废话,直接看技术实现 
332
333
334
335正文
336
337接下来说说搭建这个博客的技术细节。
338
339正好之前就有关注过 GitHub Pages + Jekyll 快速 Building Blog 的技术方案,非常轻松时尚。
340
341其优点非常明显:
342
343
344  Markdown 带来的优雅写作体验
345  非常熟悉的 Git workfl...
346            
347        </div>
348    </a>
349    <p class="post-meta">
350        Posted by OLDK on January 1, 2025
351    </p>
352</div>
353<hr>
354
355
356<!-- Pager -->
357
358
359    </div>
360    <!-- Sidebar Container -->
361    <div class="col-lg-3 col-lg-offset-0 col-md-3 col-md-offset-0 col-sm-12
362      col-xs-12 sidebar-container">
363      <!-- Featured Tags -->
364      
365
366
367<section>
368    
369    <h5><a href="/archive/">FEATURED TAGS</a></h5>
370    <div class="tags">
371        
372        
373        
374        
375        
376        
377                <a data-sort="0002" 
378                    href="/archive/?tag=Meta"
379                    title="Meta"
380                    rel="1">Meta</a>
381        
382                <a data-sort="0001" 
383                    href="/archive/?tag=%E7%BD%91%E7%BB%9C%E6%8A%80%E6%9C%AF"
384                    title="网络技术"
385                    rel="2">网络技术</a>
386        
387                <a data-sort="0002" 
388                    href="/archive/?tag=Telnet"
389                    title="Telnet"
390                    rel="1">Telnet</a>
391        
392                <a data-sort="0002" 
393                    href="/archive/?tag=immortalwrt"
394                    title="immortalwrt"
395                    rel="1">immortalwrt</a>
396        
397                <a data-sort="0002" 
398                    href="/archive/?tag=modem"
399                    title="modem"
400                    rel="1">modem</a>
401        
402                <a data-sort="0002" 
403                    href="/archive/?tag=openwrt"
404                    title="openwrt"
405                    rel="1">openwrt</a>
406    </div>
407</section>
408
409
410      <!-- Short About -->
411      <section class="visible-md visible-lg">
412  <hr>
413  <h5><a href="/about/">ABOUT ME</a></h5>
414  <div class="short-about">
415    
416    <img src="https://github.com/KEVINJ1E.png" />
417    
418    
419    <p>不断学习 無限進步 <br> [Keep Learning, Infinite Progress]</p>
420    
421    <!-- SNS Link -->
422    
423
424
425<ul class="list-inline">
426
427
428  
429  
430  
431  
432  
433  
434  
435</ul>
436  </div>
437</section>
438
439      <!-- Friends Blog -->
440      
441<hr>
442<h5>FRIENDS</h5>
443<ul class="list-inline">
444  
445  <li><a href="https://github.com/huxpro">Hux pro</a></li>
446  
447</ul>
448
449
450      <!-- Ads -->
451      
451<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
451
452<!-- first shot -->
453<!-- <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6487568398225121" data-ad-slot="4814308751"
454     data-ad-format="auto" data-full-width-responsive="true"></ins> -->
455<script>
456     (adsbygoogle = window.adsbygoogle || []).push({});
457</script>
457
458
459    </div>
460    
461  </div>
462</div>
463
464
465
466
467    <!-- Footer -->
468<footer>
469    <div class="container">
470        <div class="row">
471            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
472                <!-- SNS Link -->
473                
474
475
476<ul class="list-inline text-center">
477
478
479  
480  
481  
482  
483  
484  
485  
486</ul>
487
488                <p class="copyright text-muted">
489                    Copyright &copy; OLDK Blog 2026
490                    <br>
491                    <!-- Powered by <a href="http://huangxuan.me">Hux Blog</a> | -->
492                    <!-- <iframe style="margin-left: 2px; margin-bottom:-5px;" frameborder="0" scrolling="0" width="100px"
493                        height="20px"
494                        src="https://ghbtns.com/github-btn.html?user=huxpro&repo=huxpro.github.io&type=star&count=true"> -->
495                    </iframe>
496                </p>
497            </div>
498        </div>
499    </div>
500</footer>
501
502<!-- jQuery -->
503<script src="/js/jquery.min.js "></script>
503
504
505<!-- Bootstrap Core JavaScript -->
506<!-- Currently, only navbar scroll-down effect at desktop still depends on this -->
507<script src="/js/bootstrap.min.js "></script>
507
508
509<!-- Custom Theme JavaScript -->
510<script src="/js/hux-blog.min.js "></script>
510
511
512<!-- Simple Jekyll Search -->
513<script src="/js/simple-jekyll-search.min.js"></script>
513
514
515<!-- Service Worker -->
516
517<script src="/js/snackbar.js "></script>
vendor: 1 bytes, line 517
517
518<script src="/js/sw-registration.js "></script>
518
519
520
521<!-- async load function -->
522<script>
523    function async(u, c) {
524        var d = document, t = 'script',
525            o = d.createElement(t),
526            s = d.getElementsByTagName(t)[0];
527        o.src = u;
528        if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
529        s.parentNode.insertBefore(o, s);
530    }
531</script>
531
532
533<!--
534     Because of the native support for backtick-style fenced code blocks
535     right within the Markdown is landed in Github Pages,
536     From V1.6, There is no need for Highlight.js,
537     so Huxblog drops it officially.
538
539     - https://github.com/blog/2100-github-pages-now-faster-and-simpler-with-jekyll-3-0
540     - https://help.github.com/articles/creating-and-highlighting-code-blocks/
541     - https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers
542-->
543<!--
544    
544<script>
545        async("http://cdn.bootcss.com/highlight.js/8.6/highlight.min.js", function(){
546            hljs.initHighlightingOnLoad();
547        })
548    </script>
548
549    <link href="http://cdn.bootcss.com/highlight.js/8.6/styles/github.min.css" rel="stylesheet">
550-->
551
552
553
554
555
556
557
558<!--fastClick.js -->
559<script>
560    async("//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js", function () {
561        var $nav = document.querySelector("nav");
562        if ($nav) FastClick.attach($nav);
563    })
564</script>
564
565
566
567<!-- Google Analytics -->
568
569<script>
570    // dynamic User by Hux
571    var _gaId = 'G-90DP1D7ER8';
572    var _gaDomain = 'oldk.us.kg';
573
574    // Originial
575    (function (i, s, o, g, r, a, m) {
576        i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
577            (i[r].q = i[r].q || []).push(arguments)
578        }, i[r].l = 1 * new Date(); a = s.createElement(o),
579            m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
580    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
581
582    ga('create', _gaId, _gaDomain);
583    ga('send', 'pageview');
584</script>
584
585
586
587
588<!-- Baidu Tongji -->
589
590
591
592<!-- Side Catalog -->
593
594<script type="text/javascript">
595    function generateCatalog(selector) {
596
597        // interop with multilangual 
598        if ('' == 'true') {
599            _containerSelector = 'div.post-container.active'
600        } else {
601            _containerSelector = 'div.post-container'
602        }
603
604        // init
605        var P = $(_containerSelector), a, n, t, l, i, c;
606        a = P.find('h1,h2,h3,h4,h5,h6');
607
608        // clean
609        $(selector).html('')
610
611        // appending
612        a.each(function () {
613            n = $(this).prop('tagName').toLowerCase();
614            i = "#" + $(this).prop('id');
615            t = $(this).text();
616            c = $('<a href="' + i + '" rel="nofollow">' + t + '</a>');
617            l = $('<li class="' + n + '_nav"></li>').append(c);
618            $(selector).append(l);
619        });
620        return true;
621    }
622
623    generateCatalog(".catalog-body");
624
625    // toggle side catalog
626    $(".catalog-toggle").click((function (e) {
627        e.preventDefault();
628        $('.side-catalog').toggleClass("fold")
629    }))
630
631    /*
632     * Doc: https://github.com/davist11/jQuery-One-Page-Nav
633     * Fork by Hux to support padding
634     */
635    async("/js/jquery.nav.js", function () {
636        $('.catalog-body').onePageNav({
637            currentClass: "active",
638            changeHash: !1,
639            easing: "swing",
640            filter: "",
641            scrollSpeed: 700,
642            scrollOffset: 0,
643            scrollThreshold: .2,
644            begin: null,
645            end: null,
646            scrollChange: null,
647            padding: 80
648        });
649    });
650</script>
650
651
652
653
654<!-- Multi-Lingual -->
655
656
657<!-- Simple Jekyll Search -->
658<script>
659    // https://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript
660    function htmlDecode(input) {
661        var e = document.createElement('textarea');
662        e.innerHTML = input;
663        // handle case of empty input
664        return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
665    }
666
667    SimpleJekyllSearch({
668        searchInput: document.getElementById('search-input'),
669        resultsContainer: document.getElementById('search-results'),
670        json: '/search.json',
671        searchResultTemplate: '<div class="post-preview item"><a href="{url}"><h2 class="post-title">{title}</h2><h3 class="post-subtitle">{subtitle}</h3><hr></a></div>',
672        noResultsText: 'No results',
673        limit: 50,
674        fuzzy: false,
675        // a hack to get escaped subtitle unescaped. for some reason, 
676        // post.subtitle w/o escape filter nuke entire search.
677        templateMiddleware: function (prop, value, template) {
678            if (prop === 'subtitle' || prop === 'title') {
679                if (value.indexOf("code")) {
680                    return htmlDecode(value);
681                } else {
682                    return value;
683                }
684            }
685        }
686    });
687
688    $(document).ready(function () {
689        var $searchPage = $('.search-page');
690        var $searchOpen = $('.search-icon');
691        var $searchClose = $('.search-icon-close');
692        var $searchInput = $('#search-input');
693        var $body = $('body');
694
695        $searchOpen.on('click', function (e) {
696            e.preventDefault();
697            $searchPage.toggleClass('search-active');
698            var prevClasses = $body.attr('class') || '';
699            setTimeout(function () {
700                $body.addClass('no-scroll');
701            }, 400)
702
703            if ($searchPage.hasClass('search-active')) {
704                $searchClose.on('click', function (e) {
705                    e.preventDefault();
706                    $searchPage.removeClass('search-active');
707                    $body.attr('class', prevClasses);  // from closure 
708                });
709                $searchInput.focus();
710            }
711        });
712    });
713</script>
713
714
715
716<!-- Image to hack wechat -->
717<img src="/img/icon_wechat.png" width="0" height="0" />
718<!-- Migrate from head to bottom, no longer block render and still work -->
719
720<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"e9469b82953841bb8e96b9609e8e9efe","r":1,"spa":2}' crossorigin="anonymous"></script>
720
721</body>
722
723</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.