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 © 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.