1 2 3<!DOCTYPE html> 4<html lang="zh-CN" data-default-color-scheme=auto> 5 6 7 8<head> 9 <meta charset="UTF-8"> 10<!-- This site is hosted on Netlify. Anyone can build and deploy a site 11 like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=e151cf67-115f-4447-971b-f8e30eb99c45 12 Netlify hosting facts for this site: static/SSR served via Netlify Edge. --> 13 <link rel="apple-touch-icon" sizes="76x76" href="/img/favicon.ico"> 14 <link rel="icon" href="/img/favicon.ico"> 15 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no"> 16 <meta http-equiv="x-ua-compatible" content="ie=edge"> 17 18 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 19 20 <meta name="theme-color" content="#8c9ae6"> 21 <meta name="author" content="HackerTerry"> 22 <meta name="keywords" content=""> 23 24 <meta name="description" content="A Rookie Hacker Studying Cyber Security"> 25<meta property="og:type" content="website"> 26<meta property="og:title" content="彿¡£"> 27<meta property="og:url" content="https://rookieterry.github.io/archives/index.html"> 28<meta property="og:site_name" content="HackerTerry's Blog"> 29<meta property="og:description" content="A Rookie Hacker Studying Cyber Security"> 30<meta property="og:locale" content="zh_CN"> 31<meta property="article:author" content="HackerTerry"> 32<meta name="twitter:card" content="summary_large_image"> 33 34 35 <meta name="referrer" content="no-referrer-when-downgrade"> 36 37 38 <title>彿¡£ - HackerTerry's Blog</title> 39 40 <link rel="stylesheet" href="https://lib.baomitu.com/twitter-bootstrap/4.6.1/css/bootstrap.min.css" /> 41 42 43 44 45 46<!-- 主é¢ä¾èµç徿 åºï¼ä¸è¦èªè¡ä¿®æ¹ --> 47<!-- Do not modify the link that theme dependent icons --> 48 49<link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_hj8rtnfg7um.css"> 50 51 52 53<link rel="stylesheet" href="//at.alicdn.com/t/font_1736178_lbnruvf0jn.css"> 54 55 56<link rel="stylesheet" href="/css/main.css" /> 57 58 59 <link id="highlight-css" rel="stylesheet" href="/css/highlight.css" /> 60 61 <link id="highlight-css-dark" rel="stylesheet" href="/css/highlight-dark.css" /> 62 63 64 65 66 67
67<script id="fluid-configs"> 68 var Fluid = window.Fluid || {}; 69 Fluid.ctx = Object.assign({}, Fluid.ctx) 70 var CONFIG = {"hostname":"rookieterry.github.io","root":"/","version":"1.9.3","typing":{"enable":true,"typeSpeed":70,"cursorChar":"_","loop":false,"scope":[]},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"left","visible":"hover","icon":""},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":true,"follow_dnt":false,"baidu":null,"google":"UA-241125581-1","gtag":null,"tencent":{"sid":null,"cid":null},"woyaola":null,"cnzz":null,"leancloud":{"app_id":null,"app_key":null,"server_url":null,"path":"window.location.pathname","ignore_local":false}},"search_path":"/local-search.xml"}; 71 72 if (CONFIG.web_analytics.follow_dnt) { 73 var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack; 74 Fluid.ctx.dnt = dntVal && (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on')); 75 } 76 </script>
76 77
77<script src="/js/utils.js" ></script>
77 78
78<script src="/js/color-schema.js" ></script>
78 79 80 81 82 83 84 <!-- Google Analytics --> 85
85<script async> 86 if (!Fluid.ctx.dnt) { 87 Fluid.utils.createScript('https://www.google-analytics.com/analytics.js', function() { 88 window.ga = window.ga || function() { (ga.q = ga.q || []).push(arguments) }; 89 ga.l = +new Date; 90 ga('create', 'UA-241125581-1', 'auto'); 91 ga('send', 'pageview'); 92 }); 93 } 94 </script>
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110<meta name="generator" content="Hexo 6.3.0"></head> 111 112 113<body> 114 115 116 <header> 117 118 119<div class="header-inner" style="height: 60vh;"> 120 <nav id="navbar" class="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar"> 121 <div class="container"> 122 <a class="navbar-brand" href="/"> 123 <strong>HackerTerry's Blog</strong> 124 </a> 125 126 <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse" 127 data-target="#navbarSupportedContent" 128 aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 129 <div class="animated-icon"><span></span><span></span><span></span></div> 130 </button> 131 132 <!-- Collapsible content --> 133 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 134 <ul class="navbar-nav ml-auto text-center"> 135 136 137 138 139 140 <li class="nav-item"> 141 <a class="nav-link" href="/"> 142 <i class="iconfont icon-home-fill"></i> 143 é¦é¡µ 144 </a> 145 </li> 146 147 148 149 150 151 152 <li class="nav-item"> 153 <a class="nav-link" href="/archives/"> 154 <i class="iconfont icon-archive-fill"></i> 155 彿¡£ 156 </a> 157 </li> 158 159 160 161 162 163 164 <li class="nav-item"> 165 <a class="nav-link" href="/categories/"> 166 <i class="iconfont icon-category-fill"></i> 167 åç±» 168 </a> 169 </li> 170 171 172 173 174 175 176 <li class="nav-item"> 177 <a class="nav-link" href="/tags/"> 178 <i class="iconfont icon-tags-fill"></i> 179 æ ç¾ 180 </a> 181 </li> 182 183 184 185 186 187 188 <li class="nav-item"> 189 <a class="nav-link" href="/about/"> 190 <i class="iconfont icon-user-fill"></i> 191 å ³äº 192 </a> 193 </li> 194 195 196 197 198 199 200 <li class="nav-item"> 201 <a class="nav-link" href="/links/"> 202 <i class="iconfont icon-link-fill"></i> 203 åé¾ 204 </a> 205 </li> 206 207 208 209 <li class="nav-item" id="search-btn"> 210 <a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search"> 211 <i class="iconfont icon-search"></i> 212 </a> 213 </li> 214 215 216 217 <li class="nav-item" id="color-toggle-btn"> 218 <a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle"> <i 219 class="iconfont icon-dark" id="color-toggle-icon"></i> </a> 220 </li> 221 222 </ul> 223 </div> 224 </div> 225</nav> 226 227 228 229<div id="banner" class="banner" parallax=true 230 style="background: url('/img/hacker.png') no-repeat center center; background-size: cover;"> 231 <div class="full-bg-img"> 232 <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)"> 233 <div class="banner-text text-center fade-in-up"> 234 <div class="h2"> 235 236 <span id="subtitle" data-typed-text="彿¡£"></span> 237 238 </div> 239 240 241 </div> 242 243 244 </div> 245 </div> 246</div> 247 248</div> 249 250 </header> 251 252 <main> 253 254 <div class="container nopadding-x-md"> 255 <div id="board" 256 > 257 258 <div class="container"> 259 <div class="row"> 260 <div class="col-12 col-md-10 m-auto"> 261 262 263<div class="list-group"> 264 <p class="h4">å ±è®¡ 46 ç¯æç« </p> 265 <hr> 266 267 268 269 270 <p class="h5">2025</p> 271 272 <a href="/2025/11/12/Klook2025%E4%BA%A7%E7%A0%94%E5%AE%9E%E4%B9%A0%E7%94%9F%EF%BC%88%E6%8A%80%E6%9C%AF%E7%A0%94%E5%8F%91%EF%BC%89%E4%B8%80%E9%9D%A2%E9%9D%A2%E7%BB%8F/" class="list-group-item list-group-item-action"> 273 <time>11-12</time> 274 <div class="list-group-item-title">Klook2025产ç å®ä¹ çï¼ææ¯ç åï¼ä¸é¢é¢ç»</div> 275 </a> 276 277 278 <a href="/2025/07/20/ImmortalWrt%E7%B3%BB%E7%BB%9FCPE%E8%B7%AF%E7%94%B1%E5%99%A8%E8%9C%82%E7%AA%9D%E6%A8%A1%E7%BB%84%E5%AE%8C%E6%95%B4%E6%8E%92%E9%9A%9C%E8%AE%B0%E5%BD%95/" class="list-group-item list-group-item-action"> 279 <time>07-20</time> 280 <div class="list-group-item-title">ImmortalWrtç³»ç»CPEè·¯ç±å¨èçªæ¨¡ç»å®æ´æéè®°å½</div> 281 </a> 282 283 284 285 <p class="h5">2023</p> 286 287 <a href="/2023/10/22/360%E5%AE%89%E5%85%A8%E7%A0%94%E7%A9%B6%E5%91%98%EF%BC%88Web%E6%96%B9%E5%90%91%EF%BC%89%E7%A7%8B%E6%8B%9B%E9%9D%A2%E7%BB%8F/" class="list-group-item list-group-item-action"> 288 <time>10-22</time> 289 <div class="list-group-item-title">360å®å ¨ç ç©¶åï¼Webæ¹åï¼ç§æé¢ç»</div> 290 </a> 291 292 293 <a href="/2023/05/13/AWD%E6%94%BB%E9%98%B2%E8%B5%9B%E5%A4%87%E6%88%98%E7%AC%94%E8%AE%B0/" class="list-group-item list-group-item-action"> 294 <time>05-13</time> 295 <div class="list-group-item-title">AWDæ»é²èµå¤æç¬è®°</div> 296 </a> 297 298 299 <a href="/2023/03/31/%E5%85%B3%E4%BA%8EPHP%E4%BC%AA%E5%8D%8F%E8%AE%AE%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B/" class="list-group-item list-group-item-action"> 300 <time>03-31</time> 301 <div class="list-group-item-title">å ³äºPHP伪åè®®çé£äºäº</div> 302 </a> 303 304 305 <a href="/2023/03/30/Upload-Labs%E9%80%9A%E5%85%B3%E7%AC%94%E8%AE%B0/" class="list-group-item list-group-item-action"> 306 <time>03-30</time> 307 <div class="list-group-item-title">Upload-Labséå ³ç¬è®°</div> 308 </a> 309 310 311 <a href="/2023/03/30/Java%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" class="list-group-item list-group-item-action"> 312 <time>03-30</time> 313 <div class="list-group-item-title">
313Javaåºç¡å¦ä¹ ç¬è®°</div> 314 </a> 315 316 317 <a href="/2023/03/07/%E7%AC%AC%E4%BA%8C%E5%B1%8A%E2%80%9C%E6%B9%96%E5%8C%97%E7%9C%81%E5%A4%A7%E5%AD%A6%E7%94%9F%E4%BF%A1%E5%88%9B%E5%A4%A7%E8%B5%9B%E2%80%9C%E5%A4%8D%E8%B5%9BWrite-up/" class="list-group-item list-group-item-action"> 318 <time>03-07</time> 319 <div class="list-group-item-title">第äºå±âæ¹åç大å¦çä¿¡å大èµâå¤èµWrite-up</div> 320 </a> 321 322 323 <a href="/2023/01/09/%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BAvaultwarden%EF%BC%88%E4%BA%8C%EF%BC%89/" class="list-group-item list-group-item-action"> 324 <time>01-09</time> 325 <div class="list-group-item-title">å®¶åºæå¡å¨æå»ºvaultwardenï¼äºï¼</div> 326 </a> 327 328 329 <a href="/2023/01/04/%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BAvaultwarden%EF%BC%88%E4%B8%80%EF%BC%89/" class="list-group-item list-group-item-action"> 330 <time>01-04</time> 331 <div class="list-group-item-title">å®¶åºæå¡å¨æå»ºvaultwardenï¼ä¸ï¼</div> 332 </a> 333 334</div> 335 336 337 <nav aria-label="navigation"> 338 <span class="pagination" id="pagination"> 339 <span class="page-number current">1</span><a class="page-number" href="/archives/page/2/#board">2</a><a class="page-number" href="/archives/page/3/#board">3</a><span class="space">…</span><a class="page-number" href="/archives/page/5/#board">5</a><a class="extend next" rel="next" href="/archives/page/2/#board"><i class="iconfont icon-arrowright"></i></a> 340 </span> 341 </nav> 342 343 344 345 346 </div> 347 </div> 348 </div> 349 </div> 350 </div> 351 352 353 354 <a id="scroll-top-button" aria-label="TOP" href="#" role="button"> 355 <i class="iconfont icon-arrowup" aria-hidden="true"></i> 356 </a> 357 358 359 360 <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" 361 aria-hidden="true"> 362 <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document"> 363 <div class="modal-content"> 364 <div class="modal-header text-center"> 365 <h4 class="modal-title w-100 font-weight-bold">æç´¢</h4> 366 <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close"> 367 <span aria-hidden="true">×</span> 368 </button> 369 </div> 370 <div class="modal-body mx-3"> 371 <div class="md-form mb-5"> 372 <input type="text" id="local-search-input" class="form-control validate"> 373 <label data-error="x" data-success="v" for="local-search-input">å ³é®è¯</label> 374 </div> 375 <div class="list-group" id="local-search-result"></div> 376 </div> 377 </div> 378 </div> 379</div> 380 381 382 383 384 </main> 385 386 <footer> 387 <div class="footer-inner"> 388 389 <div class="footer-content"> 390 <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a> <i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a><br> <a href="https://ipw.cn/ipv6webcheck/?site=hackerterry.netlify.app" title="æ¬ç«æ¯æIPv6访é®" target="_blank"><img style="display:inline-block;vertical-align:middle" alt="æ¬ç«æ¯æIPv6访é®" src="https://static.ipw.cn/icon/ipv6-s5.svg" srcset="/img/loading.gif" lazyload></a> <div style="font-size: 0.85rem"> <span id="timeDate">è½½å ¥å¤©æ°...</span> <span id="times">è½½å ¥æ¶åç§...</span>
390<script src="/js/duration.js"></script>
390 </div> 391 </div> 392 393 394 <div class="statistics"> 395 396 397 398 399 400 <span id="busuanzi_container_site_pv" style="display: none"> 401 æ»è®¿é®é 402 <span id="busuanzi_value_site_pv"></span> 403 次 404 </span> 405 406 407 <span id="busuanzi_container_site_uv" style="display: none"> 408 æ»è®¿å®¢æ° 409 <span id="busuanzi_value_site_uv"></span> 410 人 411 </span> 412 413 414 415</div> 416 417 418 419 420</div> 421 422 </footer> 423 424 <!-- Scripts --> 425 426
426<script src="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.js" ></script>
426 427 <link rel="stylesheet" href="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.css" /> 428 429
429<script> 430 NProgress.configure({"showSpinner":false,"trickleSpeed":100}) 431 NProgress.start() 432 window.addEventListener('load', function() { 433 NProgress.done(); 434 }) 435 </script>
435 436 437
438<script src="https://lib.baomitu.com/jquery/3.6.0/jquery.min.js" ></script>
vendor: 1 bytes, line 438
438
439<script src="https://lib.baomitu.com/twitter-bootstrap/4.6.1/js/bootstrap.min.js" ></script>
vendor: 1 bytes, line 439
439
440<script src="/js/events.js" ></script>
vendor: 1 bytes, line 440
440
441<script src="/js/plugins.js" ></script>
441 442 443 444
444<script src="https://lib.baomitu.com/typed.js/2.0.12/typed.min.js" ></script>
444 445
445<script> 446 (function (window, document) { 447 var typing = Fluid.plugins.typing; 448 var subtitle = document.getElementById('subtitle'); 449 if (!subtitle || !typing) { 450 return; 451 } 452 var text = subtitle.getAttribute('data-typed-text'); 453 454 typing(text); 455 456 })(window, document); 457 </script>
457 458 459 460 461 462 463
463<script src="/js/img-lazyload.js" ></script>
463 464 465 466 467 468 469
469<script src="/js/local-search.js" ></script>
469 470 471
471<script defer src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" ></script>
471 472 473 474 475 476 477<!-- 主é¢çå¯å¨é¡¹ï¼å°å®ä¿æå¨æåºé¨ --> 478<!-- the boot of the theme, keep it at the bottom -->
479<script src="/js/boot.js" ></script>
479 480 481 482 483 484 <noscript> 485 <div class="noscript-warning">å客å¨å 许 JavaScript è¿è¡çç¯å¢ä¸æµè§æææ´ä½³</div> 486 </noscript> 487</body> 488</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.