<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>All Posts - MrJun&#39;s Blog</title>
        <link>http://localhost:1313/posts/</link>
        <description>All Posts | MrJun&#39;s Blog</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>admin@mrjun.cn (MrJun)</managingEditor>
            <webMaster>admin@mrjun.cn (MrJun)</webMaster><lastBuildDate>Fri, 30 May 2025 10:59:30 &#43;0800</lastBuildDate><atom:link href="http://localhost:1313/posts/" rel="self" type="application/rss+xml" /><item>
    <title>Echarts简单封装配置</title>
    <link>http://localhost:1313/posts/echarts%E7%AE%80%E5%8D%95%E5%B0%81%E8%A3%85%E9%85%8D%E7%BD%AE/</link>
    <pubDate>Fri, 30 May 2025 10:59:30 &#43;0800</pubDate>
    <author>MrJun</author>
    <guid>http://localhost:1313/posts/echarts%E7%AE%80%E5%8D%95%E5%B0%81%E8%A3%85%E9%85%8D%E7%BD%AE/</guid>
    <description><![CDATA[<h1 id="问题引入">1 问题引入</h1>
<p>Echarts是常用的前端开源图表库，但是其配置项实在太多了，对于一个小型简单的应用场景，数据更新起来代码显得非常冗余。为了使得模板文件代码的清晰简洁，可对Echarts进行简单封装。</p>
<h1 id="解决方案">2 解决方案</h1>
<p>针对主要的数据引入Series进行链式调用封装，其他的样式接口可直接进行初始化设置。</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode javascript"><code class="sourceCode javascript"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">export</span> <span class="kw">class</span> BuildSeries {</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>    <span class="fu">constructor</span>() {</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>        <span class="kw">this</span><span class="op">.</span><span class="at">series</span> <span class="op">=</span> []<span class="op">;</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a>    <span class="fu">confidence_band</span>(id<span class="op">,</span> data<span class="op">,</span> color <span class="op">=</span> <span class="st">&#39;#ccc&#39;</span>) {</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a>        <span class="kw">this</span><span class="op">.</span><span class="at">series</span><span class="op">.</span><span class="fu">push</span>({</span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a>            <span class="dt">id</span><span class="op">:</span> <span class="vs">`</span><span class="sc">${</span>id<span class="sc">}</span><span class="vs">-L`</span><span class="op">,</span></span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a>            <span class="dt">name</span><span class="op">:</span> <span class="st">&#39;L&#39;</span><span class="op">,</span></span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a>            <span class="dt">type</span><span class="op">:</span> <span class="st">&#39;line&#39;</span><span class="op">,</span></span>
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a>            <span class="dt">data</span><span class="op">:</span> data<span class="op">.</span><span class="fu">map</span>(<span class="kw">function</span> (item) {</span>
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a>                <span class="cf">return</span> [item<span class="op">.</span><span class="at">date</span><span class="op">,</span> item<span class="op">.</span><span class="at">value</span> <span class="op">-</span> item<span class="op">.</span><span class="at">l</span>]<span class="op">;</span></span>
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a>            })<span class="op">,</span></span>
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a>            <span class="dt">lineStyle</span><span class="op">:</span> {</span>
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a>                <span class="dt">opacity</span><span class="op">:</span> <span class="dv">0</span></span>
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a>            }<span class="op">,</span></span>
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a>            <span class="dt">stack</span><span class="op">:</span> <span class="st">&#39;confidence-band&#39;</span><span class="op">,</span></span>
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a>            <span class="dt">symbol</span><span class="op">:</span> <span class="st">&#39;none&#39;</span></span>
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a>        })</span>
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a>        <span class="kw">this</span><span class="op">.</span><span class="at">series</span><span class="op">.</span><span class="fu">push</span>({</span>
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a>            <span class="dt">id</span><span class="op">:</span> <span class="vs">`</span><span class="sc">${</span>id<span class="sc">}</span><span class="vs">-U`</span><span class="op">,</span></span>
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a>            <span class="dt">name</span><span class="op">:</span> <span class="st">&#39;U&#39;</span><span class="op">,</span></span>
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a>            <span class="dt">type</span><span class="op">:</span> <span class="st">&#39;line&#39;</span><span class="op">,</span></span>
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a>            <span class="dt">data</span><span class="op">:</span> data<span class="op">.</span><span class="fu">map</span>(<span class="kw">function</span> (item) {</span>
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a>                <span class="cf">return</span> [item<span class="op">.</span><span class="at">date</span><span class="op">,</span> item<span class="op">.</span><span class="at">u</span> <span class="op">+</span> item<span class="op">.</span><span class="at">l</span>]<span class="op">;</span></span>
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a>            })<span class="op">,</span></span>
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a>            <span class="dt">lineStyle</span><span class="op">:</span> {</span>
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a>                <span class="dt">opacity</span><span class="op">:</span> <span class="dv">0</span></span>
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a>            }<span class="op">,</span></span>
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a>            <span class="dt">areaStyle</span><span class="op">:</span> {</span>
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a>                <span class="dt">color</span><span class="op">:</span> color<span class="op">,</span></span>
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a>                <span class="dt">opacity</span><span class="op">:</span> <span class="fl">0.5</span></span>
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a>            }<span class="op">,</span></span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a>            <span class="dt">stack</span><span class="op">:</span> <span class="st">&#39;confidence-band&#39;</span><span class="op">,</span></span>
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a>            <span class="dt">symbol</span><span class="op">:</span> <span class="st">&#39;none&#39;</span></span>
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a>        })</span>
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a>        <span class="kw">this</span><span class="op">.</span><span class="at">series</span><span class="op">.</span><span class="fu">push</span>({</span>
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a>            <span class="dt">id</span><span class="op">:</span> <span class="vs">`</span><span class="sc">${</span>id<span class="sc">}</span><span class="vs">-line`</span><span class="op">,</span></span>
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a>            <span class="dt">type</span><span class="op">:</span> <span class="st">&#39;line&#39;</span><span class="op">,</span></span>
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a>            <span class="dt">data</span><span class="op">:</span> data<span class="op">.</span><span class="fu">map</span>(<span class="kw">function</span> (item) {</span>
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a>                <span class="cf">return</span> [item<span class="op">.</span><span class="at">date</span><span class="op">,</span> item<span class="op">.</span><span class="at">value</span>]<span class="op">;</span></span>
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a>            })<span class="op">,</span></span>
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a>            <span class="dt">lineStyle</span><span class="op">:</span> {</span>
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a>                <span class="dt">opacity</span><span class="op">:</span> <span class="dv">1</span></span>
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a>            }<span class="op">,</span></span>
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a>            <span class="dt">showSymbol</span><span class="op">:</span> <span class="kw">false</span></span>
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a>        })</span>
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a>        <span class="cf">return</span> <span class="kw">this</span><span class="op">;</span></span>
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a>    <span class="fu">line</span>(id<span class="op">,</span> data<span class="op">,</span> color <span class="op">=</span> <span class="st">&#39;#ccc&#39;</span>) {</span>
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a>        <span class="kw">this</span><span class="op">.</span><span class="at">series</span><span class="op">.</span><span class="fu">push</span>({</span>
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a>            <span class="dt">id</span><span class="op">:</span> <span class="vs">`</span><span class="sc">${</span>id<span class="sc">}</span><span class="vs">-line`</span><span class="op">,</span></span>
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a>            <span class="dt">type</span><span class="op">:</span> <span class="st">&#39;line&#39;</span><span class="op">,</span></span>
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a>            <span class="dt">data</span><span class="op">:</span> data<span class="op">.</span><span class="fu">map</span>(<span class="kw">function</span> (item) {</span>
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a>                <span class="cf">return</span> [item<span class="op">.</span><span class="at">date</span><span class="op">,</span> item<span class="op">.</span><span class="at">value</span>]<span class="op">;</span></span>
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a>            })<span class="op">,</span></span>
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a>            <span class="dt">lineStyle</span><span class="op">:</span> {</span>
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a>                <span class="dt">opacity</span><span class="op">:</span> <span class="dv">1</span><span class="op">,</span></span>
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a>                <span class="dt">color</span><span class="op">:</span> color</span>
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a>            }<span class="op">,</span></span>
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a>            <span class="dt">showSymbol</span><span class="op">:</span> <span class="kw">false</span></span>
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a>        })</span>
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a>        <span class="cf">return</span> <span class="kw">this</span><span class="op">;</span></span>
<span id="cb1-66"><a href="#cb1-66" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-67"><a href="#cb1-67" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-68"><a href="#cb1-68" aria-hidden="true" tabindex="-1"></a>    <span class="fu">markline</span>(id<span class="op">,</span> name<span class="op">,</span> y<span class="op">,</span> color <span class="op">=</span> <span class="st">&#39;#ccc&#39;</span>) {</span>
<span id="cb1-69"><a href="#cb1-69" aria-hidden="true" tabindex="-1"></a>        <span class="kw">this</span><span class="op">.</span><span class="at">series</span><span class="op">.</span><span class="fu">push</span>({</span>
<span id="cb1-70"><a href="#cb1-70" aria-hidden="true" tabindex="-1"></a>            <span class="dt">id</span><span class="op">:</span> <span class="vs">`</span><span class="sc">${</span>id<span class="sc">}</span><span class="vs">-markLine`</span><span class="op">,</span></span>
<span id="cb1-71"><a href="#cb1-71" aria-hidden="true" tabindex="-1"></a>            <span class="dt">type</span><span class="op">:</span> <span class="st">&#39;line&#39;</span><span class="op">,</span></span>
<span id="cb1-72"><a href="#cb1-72" aria-hidden="true" tabindex="-1"></a>            <span class="dt">data</span><span class="op">:</span> []<span class="op">,</span></span>
<span id="cb1-73"><a href="#cb1-73" aria-hidden="true" tabindex="-1"></a>            <span class="dt">markLine</span><span class="op">:</span> {</span>
<span id="cb1-74"><a href="#cb1-74" aria-hidden="true" tabindex="-1"></a>                <span class="dt">data</span><span class="op">:</span> [{</span>
<span id="cb1-75"><a href="#cb1-75" aria-hidden="true" tabindex="-1"></a>                    <span class="dt">name</span><span class="op">:</span> name<span class="op">,</span></span>
<span id="cb1-76"><a href="#cb1-76" aria-hidden="true" tabindex="-1"></a>                    <span class="dt">yAxis</span><span class="op">:</span> y<span class="op">,</span></span>
<span id="cb1-77"><a href="#cb1-77" aria-hidden="true" tabindex="-1"></a>                    <span class="dt">label</span><span class="op">:</span> {</span>
<span id="cb1-78"><a href="#cb1-78" aria-hidden="true" tabindex="-1"></a>                        <span class="dt">formatter</span><span class="op">:</span> <span class="st">&#39;{b}&#39;</span><span class="op">,</span></span>
<span id="cb1-79"><a href="#cb1-79" aria-hidden="true" tabindex="-1"></a>                        <span class="dt">position</span><span class="op">:</span> <span class="st">&#39;insideStartTop&#39;</span></span>
<span id="cb1-80"><a href="#cb1-80" aria-hidden="true" tabindex="-1"></a>                    }</span>
<span id="cb1-81"><a href="#cb1-81" aria-hidden="true" tabindex="-1"></a>                }]</span>
<span id="cb1-82"><a href="#cb1-82" aria-hidden="true" tabindex="-1"></a>            }</span>
<span id="cb1-83"><a href="#cb1-83" aria-hidden="true" tabindex="-1"></a>        })</span>
<span id="cb1-84"><a href="#cb1-84" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-85"><a href="#cb1-85" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-86"><a href="#cb1-86" aria-hidden="true" tabindex="-1"></a>    <span class="fu">getSeries</span>() {</span>
<span id="cb1-87"><a href="#cb1-87" aria-hidden="true" tabindex="-1"></a>        <span class="cf">return</span> <span class="kw">this</span><span class="op">.</span><span class="at">series</span><span class="op">;</span></span>
<span id="cb1-88"><a href="#cb1-88" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-89"><a href="#cb1-89" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-90"><a href="#cb1-90" aria-hidden="true" tabindex="-1"></a>    <span class="fu">getOption</span>() {</span>
<span id="cb1-91"><a href="#cb1-91" aria-hidden="true" tabindex="-1"></a>        <span class="cf">return</span> {</span>
<span id="cb1-92"><a href="#cb1-92" aria-hidden="true" tabindex="-1"></a>            <span class="dt">series</span><span class="op">:</span> <span class="kw">this</span><span class="op">.</span><span class="at">series</span></span>
<span id="cb1-93"><a href="#cb1-93" aria-hidden="true" tabindex="-1"></a>        }<span class="op">;</span></span>
<span id="cb1-94"><a href="#cb1-94" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-95"><a href="#cb1-95" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-96"><a href="#cb1-96" aria-hidden="true" tabindex="-1"></a>    <span class="fu">setOption</span>(chart){</span>
<span id="cb1-97"><a href="#cb1-97" aria-hidden="true" tabindex="-1"></a>        <span class="kw">const</span> option <span class="op">=</span> <span class="kw">this</span><span class="op">.</span><span class="fu">getOption</span>()</span>
<span id="cb1-98"><a href="#cb1-98" aria-hidden="true" tabindex="-1"></a>        chart<span class="op">.</span><span class="at">value</span><span class="op">.</span><span class="fu">setOption</span>(option)</span>
<span id="cb1-99"><a href="#cb1-99" aria-hidden="true" tabindex="-1"></a>    }</span>
<span id="cb1-100"><a href="#cb1-100" aria-hidden="true" tabindex="-1"></a>}</span>
<span id="cb1-101"><a href="#cb1-101" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-102"><a href="#cb1-102" aria-hidden="true" tabindex="-1"></a><span class="co">// 创建配置类</span></span>
<span id="cb1-103"><a href="#cb1-103" aria-hidden="true" tabindex="-1"></a><span class="kw">const</span> series_obj <span class="op">=</span> <span class="kw">new</span> <span class="fu">BuildSeries</span>()</span>
<span id="cb1-104"><a href="#cb1-104" aria-hidden="true" tabindex="-1"></a><span class="co">// 链式调用</span></span>
<span id="cb1-105"><a href="#cb1-105" aria-hidden="true" tabindex="-1"></a>series_obj<span class="op">.</span><span class="fu">confidence_band</span>(id<span class="op">,</span> data<span class="op">,</span> color)<span class="op">.</span><span class="fu">line</span>(id<span class="op">,</span> data<span class="op">,</span> color)</span>
<span id="cb1-106"><a href="#cb1-106" aria-hidden="true" tabindex="-1"></a>series_obj<span class="op">.</span><span class="fu">setOption</span>(chart)</span></code></pre></div>]]></description>
</item>
<item>
    <title>vscode远程连接使用frp内网穿透安全配置</title>
    <link>http://localhost:1313/posts/vscode%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E4%BD%BF%E7%94%A8frp%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE/</link>
    <pubDate>Sat, 19 Apr 2025 09:34:16 &#43;0800</pubDate>
    <author>MrJun</author>
    <guid>http://localhost:1313/posts/vscode%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E4%BD%BF%E7%94%A8frp%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE/</guid>
    <description><![CDATA[<h1 id="1-问题引入">1 问题引入</h1>
<p>由于经常使用vscode连接组里服务器进行远程操作，为了方便远程开发遂使用自己搭建的frp内网穿透将服务器的ssh服务穿透到公网上，导致服务器的ssh端口常常被扫描爆破。</p>
<p>网上查询到常使用的方案有：</p>
<p>1、设置密钥等里等方式增加破解门槛，但是由于服务器具有其他账户，部分账户账号密码简单容易被爆破；</p>
<p>2、使用<em>fail2ban</em>限制IP登陆次数，由于该软件是直接读取日志进行操作，且FRP穿透后的流量均为统一IP，封锁IP直接把自己封了，不可取；</p>
<p>这些操作均不能解决使用frp内网穿透时的安全保护问题，或者解决方案不够优雅。</p>
<h1 id="2-解决方案">2 解决方案</h1>
<p>针对内网穿透的特殊性，为了便捷操作，我们可以直接在运行内网穿透的服务端（frps）的服务器上进行操作，具体采取以下两种方案解决问题：</p>
<p><strong>1、直接限制IP段入站白名单</strong></p>
<p><strong>2、通过内网穿透服务器做跳板</strong></p>
<p>首先限制frp穿透的端口白名单为本地127.0.0.1；</p>
<p>VSCode remote ssh配置：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#ae81ff">Host XXX</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">HostName 127.0.0.1</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">User xxx</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">Port 2323</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">PreferredAuthentications publickey</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">IdentityFile ~/.ssh/xx</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">ProxyJump FrpServer</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">Host FrpServer</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">HostName xx.xx.xx.xx</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">User root</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">PreferredAuthentications publickey</span>
</span></span><span style="display:flex;"><span>   <span style="color:#ae81ff">IdentityFile ~/.ssh/xx</span>
</span></span></code></pre></div><p>说明：</p>
<p>HostName：跳板机（frps服务器）本地ip，直接填写127.0.0.1；</p>
<p>Port：frp穿透的端口</p>
<p>ProxyJump FrpServer：FrpServer配置为跳板机（frps服务器）信息。</p>]]></description>
</item>
</channel>
</rss>
