Domain me.qs5.org
China
China Unicom IP network China169 Guangdong province
Software information

nginx nginx 1.26.2

tcp/443 tcp/80

  • Git configuration and history exposed
    First seen 2022-08-15 07:01
    Last seen 2026-01-26 07:55
    Open for 1260 days
    • Severity: medium
      Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a65220c145d4a

      [core]
      	repositoryformatversion = 0
      	filemode = true
      	bare = false
      	logallrefupdates = true
      [remote "origin"]
      	url = git@codeup.aliyun.com:ido/resume.md.git
      	fetch = +refs/heads/*:refs/remotes/origin/*
      [branch "my"]
      	remote = origin
      	merge = refs/heads/my
      
      Found on 2026-01-26 07:55
      256 Bytes
    • Severity: medium
      Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a65225196f59d

      [core]
      	repositoryformatversion = 0
      	filemode = true
      	bare = false
      	logallrefupdates = true
      [remote "origin"]
      	url = git@github.com:imdong/resume.md.git
      	fetch = +refs/heads/*:refs/remotes/origin/*
      [branch "master"]
      	remote = origin
      	merge = refs/heads/master
      
      Found on 2024-08-13 05:25
      260 Bytes
  • Git configuration and history exposed
    First seen 2022-08-15 07:01
    Last seen 2026-01-26 07:55
    Open for 1260 days
    • Severity: medium
      Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a65220c145d4a

      [core]
      	repositoryformatversion = 0
      	filemode = true
      	bare = false
      	logallrefupdates = true
      [remote "origin"]
      	url = git@codeup.aliyun.com:ido/resume.md.git
      	fetch = +refs/heads/*:refs/remotes/origin/*
      [branch "my"]
      	remote = origin
      	merge = refs/heads/my
      
      Found on 2026-01-26 07:55
      256 Bytes
    • Severity: medium
      Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a65225196f59d

      [core]
      	repositoryformatversion = 0
      	filemode = true
      	bare = false
      	logallrefupdates = true
      [remote "origin"]
      	url = git@github.com:imdong/resume.md.git
      	fetch = +refs/heads/*:refs/remotes/origin/*
      [branch "master"]
      	remote = origin
      	merge = refs/heads/master
      
      Found on 2024-08-13 05:25
      260 Bytes
  • Open service 2408:8722:4100:1:62:::443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 8064474328312862342
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8726:1800:31:6c::13:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 85823968533811762
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8722:4100:1:62:::80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 11265105210593226757
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8738:b000:d:38::11:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 111002906487966672
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8738:b000:d:38::11:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 8591627877548185209
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8726:1800:31:6c::13:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 1250214757381850
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8720:806:311:37::8:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 18403494055949754286
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8720:806:311:37::8:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 9579103438528692225
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:871a:c800:e:40::15:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 10426134935279214304
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:871a:c800:e:40::15:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 17536416395347683208
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8735:2:0:48::18:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 6587673201210210443
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:874c:0:28:38::2e:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Sun, 27 Apr 2025 02:14:19 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 700469217674118416
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:8735:2:0:48::18:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 12867686554259319962
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:874c:0:28:38::2e:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Sun, 27 Apr 2025 02:14:19 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 7784831648202504838
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:872f:700:7:38::11:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 228825600410192479
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 2408:872f:700:7:38::11:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 2617458914085122464
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 116.153.4.244:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Sun, 27 Apr 2025 02:14:19 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 4689912518088442824
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 211.93.211.158:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 3434761411229293501
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 211.93.211.158:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 6445220345537895012
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 116.153.4.244:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Sun, 27 Apr 2025 02:14:19 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 3921553673836221584
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 60.13.97.57:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Fri, 10 Oct 2025 10:23:34 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 18427923805828001832
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 221.204.15.51:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 14211471178332039147
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 1.62.64.79:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 12445643823331673696
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 1.62.64.79:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 13996494596706341426
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 221.204.15.51:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 7385480899586593579
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 42.56.64.131:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 10855112143584038808
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 42.56.64.131:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 18303792538962018694
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 116.163.31.218:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Sun, 27 Apr 2025 02:14:19 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 4316508371446821015
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 1.56.98.184:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 3886564915384013975
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 221.204.209.225:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 3918838569959932813
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 42.56.81.77:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 1531332302696027376
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 116.163.31.218:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Sun, 27 Apr 2025 02:14:19 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 9492500862512733733
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 116.131.57.65:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 14091296245224378374
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 1.56.98.184:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Wed, 07 Jan 2026 16:51:29 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 17274122548000832293
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 116.131.57.65:443 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 9762517143714287750
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 221.204.209.225:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Tue, 12 Aug 2025 10:02:08 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 3932578771997829983
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
  • Open service 60.13.97.57:80 · me.qs5.org

    2026-01-26 07:55

    HTTP/1.1 200 OK
    Last-Modified: Thu, 22 Aug 2024 14:55:47 GMT
    Etag: "66c75173-14bf"
    Server: nginx/1.26.2
    Date: Fri, 10 Oct 2025 10:23:34 GMT
    Content-Type: text/html
    Content-Length: 5311
    Accept-Ranges: bytes
    X-NWS-LOG-UUID: 12966891408605472401
    Connection: close
    X-Cache-Lookup: Cache Hit
    alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
    
    Page title: 王东-PHP开发-简历
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>王东-PHP开发-简历</title>
        <link rel="stylesheet" href="/assets/style.css" />
        <base target="_blank" />
        <style>
            .subtitle {
                font-size: 16px;
            }
    
            .sub-info,
            .sub-down {
                font-size: small;
                font-weight: normal;
                float: right;
                margin-top: 18px;
            }
    
            .qrcode {
                display: none;
                width: 50px;
                position: absolute;
                right: 0;
                bottom: -55px;
            }
    
            .split-tag span+span {
                margin-left: 10px;
            }
        </style>
    </head>
    
    <body>
        <div class="print-btn">
            <a href="javascript:window.print();" target="_self">打印(Print)</a>
        </div>
    
        <div id="content" class="markdown-body">
            <span class="loading">Loading...</span>
        </div>
    
        <template style="display: none;" id="tpl-page-number">
            <p class="page_number ">本简历使用 Markdown 书写,使用 <a href="https://github.com/markedjs/marked">Marked.js</a> 渲染,托管于
                <a href="https://github.com/imdong/resume.md">Github</a>,使用 MIT 协议开源。<span>{page}/{total}</span>
            </p>
        </template>
    
        <script src="/assets/qrcode.min.js"></script>
        <script src="/assets/marked.min.js"></script>
        <script>
            (function () {
                // 出于安全考虑,可以使用 base64 对隐私信息编码,防止爬虫骚扰。
                let base_names = ['mobile', 'wechat', 'email'];
    
                /**
                 * 对文档中 $class_name{text} 内容替换为 <span class="{class_name}">{text}</span>
                 * @param {string} Markdown 原文
                 * return {string} 替换后的内容
                 */
                function replaceClassMark(md_text) {
                    md_text = md_text.replace(/[\$\@]([a-z\-]+){([^}]+)?}/g, function (full, class_name, match_text) {
                        try {
                            match_text = base_names.indexOf(class_name) >= 0 ? atob(match_text) : match_text;
                        } catch (error) { }
    
                        // 分割 tag
                        if (class_name == 'split-tag') {
                            let tags = [];
                            match_text.split(',').forEach(tag_name => {
                                tags.push('<span>' + tag_name.trim() + '</span>')
                            });
                            match_text = tags.join('');
                        }
    
                        return '<span class="' + class_name + '">' + match_text + '</span>';
                    });
    
                    // 页脚 分页
                    let page_index = 0;
                    md_text = md_text.replace(/^[\-]{4,}$/mg, function () {
                        return document.getElementById('tpl-page-number').innerHTML.trim().replace('{page}', ++page_index)
                    }).replace(/{total}/g, page_index);
    
                    // 修改工作年限
                    workYear = getWorkExperience(2015);
                    md_text = md_text.replace(/\$workYear\$?/g, workYear);
    
                    return md_text;
                }
    
                /**
                 * 计算工作年限
                 * @param {int} startYear 开始年份
                 * return {int} 工作年数(仅计算公历年)
                 */
                function getWorkExperience(startYear) {
                    return (new Date()).getFullYear() - startYear
                }
    
                // 远程加载 Markdown 文档回来处理
                let md_file = (location.hash.substr(1) || './resume.md'),// + '?_' + (new Date().getTime()),
                    xhr = new XMLHttpRequest();
    
                // 如果是调试模式
                if (location.search.indexOf('debug') > 0) {
                    md_file += '?_' + (new Date().getTime())
                }
    
                xhr.open("GET", md_file, true);
                xhr.onreadystatechange = function (event) {
                    if (this.readyState != 4) {
                        return;
      
    Found 2026-01-26 by HttpPlugin
    Create report
www.qs5.orgcdn.qs5.orgip.qs5.orgme.qs5.org
CN:
www.qs5.org
Not before:
2026-01-26 00:00
Not after:
2026-04-26 23:59