PageSourceSearch

https://111586.xyz/archive/

html 111586.xyz collected 2026-10-09 04:33:58 UTC 18,753 bytes, 616 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="Archive - 老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//archive/">
23    <meta property="og:site_name" content="老K的博客 | OLDK Blog">
24
25    <title>Archive - 老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//archive/">
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    <!--
201Credits: this page shamelessly borrowed a lot from:
202https://github.com/kitian616/jekyll-TeXt-theme
203-->
204<!-- Page Header -->
205
206
207
208<style type="text/css">
209    header.intro-header{
210        position: relative;
211        background-image: url('/img/bg-little-universe.jpg');
212        background: ;
213    }
214
215    
216</style>
217
218
219
220
221
222
223
224<header class="intro-header" style="background-image: url('/img/bg-little-universe.jpg')">
225  <div class="header-mask"></div>
226  <div class="container">
227    <div class="row">
228      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
229        
230        <div class="site-heading" id="tag-heading">
231        
232          <h1>Archive</h1>
233          <span class="subheading">「我干了什么 究竟拿了时间换了什么」</span>
234        </div>
235      </div>
236    </div>
237  </div>
238</header>
239
240
241
242<!-- Main Content -->
243<div class="container">
244	<div class="row">
245		<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
246			<!-- Tags (as filter) -->
247			<div id='tag_cloud' class="tags tags-sup js-tags">
248				<a class="tag-button--all" data-encode="">
249					Show All
250					<sup>3</sup>
251				</a>
252
253				
254				
255				
256				
257				
258				<a data-sort="0001"
259					data-encode="%E7%BD%91%E7%BB%9C%E6%8A%80%E6%9C%AF" class="tag-button" title="网络技术"
260					rel="2">
261					网络技术
262					<sup>2</sup>
263				</a>
264				
265				<a data-sort="0002"
266					data-encode="Meta" class="tag-button" title="Meta"
267					rel="1">
268					Meta
269					<sup>1</sup>
270				</a>
271				
272				<a data-sort="0002"
273					data-encode="Telnet" class="tag-button" title="Telnet"
274					rel="1">
275					Telnet
276					<sup>1</sup>
277				</a>
278				
279				<a data-sort="0002"
280					data-encode="immortalwrt" class="tag-button" title="immortalwrt"
281					rel="1">
282					immortalwrt
283					<sup>1</sup>
284				</a>
285				
286				<a data-sort="0002"
287					data-encode="modem" class="tag-button" title="modem"
288					rel="1">
289					modem
290					<sup>1</sup>
291				</a>
292				
293				<a data-sort="0002"
294					data-encode="openwrt" class="tag-button" title="openwrt"
295					rel="1">
296					openwrt
297					<sup>1</sup>
298				</a>
299			</div>
300
301			<!-- Article List -->
302			<div class="mini-post-list js-result d-none"><section>
303					<span class="fa listing-seperator">
304						<span class="tag-text">2025</span>
305					</span><div class="post-preview item" data-tags="%E7%BD%91%E7%BB%9C%E6%8A%80%E6%9C%AF,modem,Telnet">
306						<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/">
307							<h2 class="post-title">
308								中兴F7015光猫开Telnet修改数据
309							</h2>
310							
311							<h3 class="post-subtitle">
312								 "让联通用上电信2.5G网口光猫突破千兆瓶颈"
313							</h3>
314							
315						</a>
316						<hr>
317					</div><div class="post-preview item" data-tags="%E7%BD%91%E7%BB%9C%E6%8A%80%E6%9C%AF,openwrt,immortalwrt">
318						<a href="/2025/03/15/immortalwrt%E5%9B%BA%E4%BB%B6%E6%9E%84%E5%BB%BA/">
319							<h2 class="post-title">
320								immortalwrt固件构建
321							</h2>
322							
323							<h3 class="post-subtitle">
324								 "快速构建属于自己的immortalwrt固件"
325							</h3>
326							
327						</a>
328						<hr>
329					</div><div class="post-preview item" data-tags="Meta">
330						<a href="/2025/01/01/hello-2015/">
331							<h2 class="post-title">
332								Hello 2025
333							</h2>
334							
335							<h3 class="post-subtitle">
336								 "Hello World, Hello Blog"
337							</h3>
338							
339						</a>
340						<hr>
341					</div></section>
342			</div>
343		</div>
344	</div>
345</div>
346
347
348    <!-- Footer -->
349<footer>
350    <div class="container">
351        <div class="row">
352            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
353                <!-- SNS Link -->
354                
355
356
357<ul class="list-inline text-center">
358
359
360  
361  
362  
363  
364  
365  
366  
367</ul>
368
369                <p class="copyright text-muted">
370                    Copyright &copy; OLDK Blog 2026
371                    <br>
372                    <!-- Powered by <a href="http://huangxuan.me">Hux Blog</a> | -->
373                    <!-- <iframe style="margin-left: 2px; margin-bottom:-5px;" frameborder="0" scrolling="0" width="100px"
374                        height="20px"
375                        src="https://ghbtns.com/github-btn.html?user=huxpro&repo=huxpro.github.io&type=star&count=true"> -->
376                    </iframe>
377                </p>
378            </div>
379        </div>
380    </div>
381</footer>
382
383<!-- jQuery -->
384<script src="/js/jquery.min.js "></script>
384
385
386<!-- Bootstrap Core JavaScript -->
387<!-- Currently, only navbar scroll-down effect at desktop still depends on this -->
388<script src="/js/bootstrap.min.js "></script>
388
389
390<!-- Custom Theme JavaScript -->
391<script src="/js/hux-blog.min.js "></script>
391
392
393<!-- Simple Jekyll Search -->
394<script src="/js/simple-jekyll-search.min.js"></script>
394
395
396<!-- Service Worker -->
397
398<script src="/js/snackbar.js "></script>
vendor: 1 bytes, line 398
398
399<script src="/js/sw-registration.js "></script>
399
400
401
402<!-- async load function -->
403<script>
404    function async(u, c) {
405        var d = document, t = 'script',
406            o = d.createElement(t),
407            s = d.getElementsByTagName(t)[0];
408        o.src = u;
409        if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
410        s.parentNode.insertBefore(o, s);
411    }
412</script>
412
413
414<!--
415     Because of the native support for backtick-style fenced code blocks
416     right within the Markdown is landed in Github Pages,
417     From V1.6, There is no need for Highlight.js,
418     so Huxblog drops it officially.
419
420     - https://github.com/blog/2100-github-pages-now-faster-and-simpler-with-jekyll-3-0
421     - https://help.github.com/articles/creating-and-highlighting-code-blocks/
422     - https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers
423-->
424<!--
425    
425<script>
426        async("http://cdn.bootcss.com/highlight.js/8.6/highlight.min.js", function(){
427            hljs.initHighlightingOnLoad();
428        })
429    </script>
429
430    <link href="http://cdn.bootcss.com/highlight.js/8.6/styles/github.min.css" rel="stylesheet">
431-->
432
433
434
435
436
437
438<!-- jquery.tagcloud.js -->
439<script>
440    async('/js/jquery.tagcloud.js', function () {
441        $.fn.tagcloud.defaults = {
442            //size: {start: 1, end: 1, unit: 'em'},
443            color: { start: '#bbbbee', end: '#2f93b4' },
444        };
445        $('#tag_cloud a').tagcloud();
446    })
447</script>
vendor: 1 bytes, line 447
447
448<script src='/js/archive.js '></script>
448
449
450
451<!--fastClick.js -->
452<script>
453    async("//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js", function () {
454        var $nav = document.querySelector("nav");
455        if ($nav) FastClick.attach($nav);
456    })
457</script>
457
458
459
460<!-- Google Analytics -->
461
462<script>
463    // dynamic User by Hux
464    var _gaId = 'G-90DP1D7ER8';
465    var _gaDomain = 'oldk.us.kg';
466
467    // Originial
468    (function (i, s, o, g, r, a, m) {
469        i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
470            (i[r].q = i[r].q || []).push(arguments)
471        }, i[r].l = 1 * new Date(); a = s.createElement(o),
472            m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
473    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
474
475    ga('create', _gaId, _gaDomain);
476    ga('send', 'pageview');
477</script>
477
478
479
480
481<!-- Baidu Tongji -->
482
483
484
485<!-- Side Catalog -->
486
487<script type="text/javascript">
488    function generateCatalog(selector) {
489
490        // interop with multilangual 
491        if ('' == 'true') {
492            _containerSelector = 'div.post-container.active'
493        } else {
494            _containerSelector = 'div.post-container'
495        }
496
497        // init
498        var P = $(_containerSelector), a, n, t, l, i, c;
499        a = P.find('h1,h2,h3,h4,h5,h6');
500
501        // clean
502        $(selector).html('')
503
504        // appending
505        a.each(function () {
506            n = $(this).prop('tagName').toLowerCase();
507            i = "#" + $(this).prop('id');
508            t = $(this).text();
509            c = $('<a href="' + i + '" rel="nofollow">' + t + '</a>');
510            l = $('<li class="' + n + '_nav"></li>').append(c);
511            $(selector).append(l);
512        });
513        return true;
514    }
515
516    generateCatalog(".catalog-body");
517
518    // toggle side catalog
519    $(".catalog-toggle").click((function (e) {
520        e.preventDefault();
521        $('.side-catalog').toggleClass("fold")
522    }))
523
524    /*
525     * Doc: https://github.com/davist11/jQuery-One-Page-Nav
526     * Fork by Hux to support padding
527     */
528    async("/js/jquery.nav.js", function () {
529        $('.catalog-body').onePageNav({
530            currentClass: "active",
531            changeHash: !1,
532            easing: "swing",
533            filter: "",
534            scrollSpeed: 700,
535            scrollOffset: 0,
536            scrollThreshold: .2,
537            begin: null,
538            end: null,
539            scrollChange: null,
540            padding: 80
541        });
542    });
543</script>
543
544
545
546
547<!-- Multi-Lingual -->
548
549
550<!-- Simple Jekyll Search -->
551<script>
552    // https://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript
553    function htmlDecode(input) {
554        var e = document.createElement('textarea');
555        e.innerHTML = input;
556        // handle case of empty input
557        return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
558    }
559
560    SimpleJekyllSearch({
561        searchInput: document.getElementById('search-input'),
562        resultsContainer: document.getElementById('search-results'),
563        json: '/search.json',
564        searchResultTemplate: '<div class="post-preview item"><a href="{url}"><h2 class="post-title">{title}</h2><h3 class="post-subtitle">{subtitle}</h3><hr></a></div>',
565        noResultsText: 'No results',
566        limit: 50,
567        fuzzy: false,
568        // a hack to get escaped subtitle unescaped. for some reason, 
569        // post.subtitle w/o escape filter nuke entire search.
570        templateMiddleware: function (prop, value, template) {
571            if (prop === 'subtitle' || prop === 'title') {
572                if (value.indexOf("code")) {
573                    return htmlDecode(value);
574                } else {
575                    return value;
576                }
577            }
578        }
579    });
580
581    $(document).ready(function () {
582        var $searchPage = $('.search-page');
583        var $searchOpen = $('.search-icon');
584        var $searchClose = $('.search-icon-close');
585        var $searchInput = $('#search-input');
586        var $body = $('body');
587
588        $searchOpen.on('click', function (e) {
589            e.preventDefault();
590            $searchPage.toggleClass('search-active');
591            var prevClasses = $body.attr('class') || '';
592            setTimeout(function () {
593                $body.addClass('no-scroll');
594            }, 400)
595
596            if ($searchPage.hasClass('search-active')) {
597                $searchClose.on('click', function (e) {
598                    e.preventDefault();
599                    $searchPage.removeClass('search-active');
600                    $body.attr('class', prevClasses);  // from closure 
601                });
602                $searchInput.focus();
603            }
604        });
605    });
606</script>
606
607
608
609<!-- Image to hack wechat -->
610<img src="/img/icon_wechat.png" width="0" height="0" />
611<!-- Migrate from head to bottom, no longer block render and still work -->
612
613<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>
613
614</body>
615
616</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.